From 94e7d363b63d07d086ce31862ce20905b6af2e9a Mon Sep 17 00:00:00 2001 From: zhugengyu Date: Fri, 26 Aug 2022 07:58:38 +0000 Subject: [PATCH 1/5] =?UTF-8?q?!16=20E2000D=E6=94=AF=E6=8C=81PWM/SPI/GPIO/?= =?UTF-8?q?DMA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../PULL_REQUEST_TEMPLATE.md | 75 +- README.md | 36 +- configs/d2000_aarch32_defconfig | 112 +- configs/d2000_aarch64_defconfig | 108 +- configs/e2000d_aarch32_defconfig | 166 + configs/e2000d_aarch64_defconfig | 162 + configs/e2000q_aarch32_defconfig | 160 + configs/e2000q_aarch64_defconfig | 156 + configs/ft2004_aarch32_defconfig | 112 +- configs/ft2004_aarch64_defconfig | 108 +- docs/ChangeLog.md | 35 + drivers/Kconfig | 47 +- drivers/dma/fddma/fddma_os.c | 376 + drivers/dma/fddma/fddma_os.h | 106 + drivers/dma/fgdma/fgdma_os.c | 294 + drivers/dma/fgdma/fgdma_os.h | 109 + drivers/drivers.mk | 30 +- drivers/gpio/fgpio/fgpio_os.c | 371 + drivers/gpio/fgpio/fgpio_os.h | 117 + drivers/mmc/fsdio/fsdio_os.c | 633 + drivers/mmc/fsdio/fsdio_os.h | 115 + drivers/pwm/fpwm_os.c | 292 + drivers/pwm/fpwm_os.h | 86 + drivers/spi/fspim/fspim_os.c | 362 + drivers/spi/fspim/fspim_os.h | 101 + drivers/wdt/fwdt_os.c | 5 +- drivers/wdt/fwdt_os.h | 2 - .../configs/d2000_aarch32_eg_configs | 34 + .../configs/d2000_aarch64_eg_configs | 34 + .../configs/e2000d_aarch32_eg_configs | 34 + .../configs/e2000d_aarch64_eg_configs | 34 + .../configs/ft2004_aarch32_eg_configs | 34 + .../configs/ft2004_aarch64_eg_configs | 34 + example/freertos_feature/eventgroup/sdkconfig | 34 + .../freertos_feature/eventgroup/sdkconfig.h | 28 + .../configs/d2000_aarch32_eg_configs | 34 + .../configs/d2000_aarch64_eg_configs | 34 + .../configs/e2000d_aarch32_eg_configs | 34 + .../configs/e2000d_aarch64_eg_configs | 34 + .../configs/ft2004_aarch32_eg_configs | 34 + .../configs/ft2004_aarch64_eg_configs | 34 + example/freertos_feature/interrupt/sdkconfig | 34 + .../freertos_feature/interrupt/sdkconfig.h | 28 + .../queue/configs/d2000_aarch32_eg_configs | 34 + .../queue/configs/d2000_aarch64_eg_configs | 34 + .../queue/configs/e2000d_aarch32_eg_configs | 34 + .../queue/configs/e2000d_aarch64_eg_configs | 34 + .../queue/configs/ft2004_aarch32_eg_configs | 34 + .../queue/configs/ft2004_aarch64_eg_configs | 34 + example/freertos_feature/queue/sdkconfig | 34 + example/freertos_feature/queue/sdkconfig.h | 28 + .../resource/configs/d2000_aarch32_eg_configs | 34 + .../resource/configs/d2000_aarch64_eg_configs | 34 + .../configs/e2000d_aarch32_eg_configs | 34 + .../configs/e2000d_aarch64_eg_configs | 34 + .../configs/ft2004_aarch32_eg_configs | 34 + .../configs/ft2004_aarch64_eg_configs | 34 + example/freertos_feature/resource/sdkconfig | 34 + example/freertos_feature/resource/sdkconfig.h | 28 + .../configs/d2000_aarch32_eg_configs | 34 + .../configs/d2000_aarch64_eg_configs | 34 + .../configs/e2000d_aarch32_eg_configs | 34 + .../configs/e2000d_aarch64_eg_configs | 34 + .../configs/ft2004_aarch32_eg_configs | 34 + .../configs/ft2004_aarch64_eg_configs | 34 + .../freertos_feature/software_timer/sdkconfig | 34 + .../software_timer/sdkconfig.h | 28 + .../task/configs/d2000_aarch32_eg_configs | 34 + .../task/configs/d2000_aarch64_eg_configs | 34 + .../task/configs/e2000d_aarch32_eg_configs | 34 + .../task/configs/e2000d_aarch64_eg_configs | 34 + .../task/configs/ft2004_aarch32_eg_configs | 34 + .../task/configs/ft2004_aarch64_eg_configs | 34 + example/freertos_feature/task/sdkconfig | 34 + example/freertos_feature/task/sdkconfig.h | 28 + .../configs/d2000_aarch32_eg_configs | 34 + .../configs/d2000_aarch64_eg_configs | 34 + .../configs/e2000d_aarch32_eg_configs | 34 + .../configs/e2000d_aarch64_eg_configs | 34 + .../configs/ft2004_aarch32_eg_configs | 34 + .../configs/ft2004_aarch64_eg_configs | 34 + .../freertos_feature/task_notify/sdkconfig | 34 + .../freertos_feature/task_notify/sdkconfig.h | 28 + .../configs/d2000_aarch32_eg_configs | 34 + .../configs/d2000_aarch64_eg_configs | 34 + .../configs/ft2004_aarch32_eg_configs | 34 + .../configs/ft2004_aarch64_eg_configs | 34 + example/network/gmac_lwip_test/sdkconfig | 34 + example/network/gmac_lwip_test/sdkconfig.h | 28 + .../configs/e2000d_aarch32_eg_configs | 34 + .../configs/e2000d_aarch64_eg_configs | 34 + example/network/xmac_lwip_test/sdkconfig | 34 + example/network/xmac_lwip_test/sdkconfig.h | 28 + example/peripheral/dma/ddma/Kconfig | 19 + example/peripheral/dma/ddma/README.md | 119 + .../ddma/configs/e2000d_aarch32_eg_configs | 197 + .../ddma/configs/e2000d_aarch64_eg_configs | 193 + example/peripheral/dma/ddma/figs/loopback.png | Bin 0 -> 33561 bytes .../dma/ddma/inc/ddma_spi_loopback.h | 50 + example/peripheral/dma/ddma/main.c | 44 + example/peripheral/dma/ddma/makefile | 29 + example/peripheral/dma/ddma/sdkconfig | 197 + example/peripheral/dma/ddma/sdkconfig.h | 177 + example/peripheral/dma/ddma/src/cmd_ddma.c | 65 + .../dma/ddma/src/ddma_spi_loopback.c | 461 + example/peripheral/dma/gdma/Kconfig | 19 + example/peripheral/dma/gdma/README.md | 114 + .../gdma/configs/e2000d_aarch32_eg_configs | 196 + .../gdma/configs/e2000d_aarch64_eg_configs | 192 + example/peripheral/dma/gdma/figs/memcpy.png | Bin 0 -> 32648 bytes example/peripheral/dma/gdma/inc/gdma_memcpy.h | 48 + example/peripheral/dma/gdma/main.c | 44 + example/peripheral/dma/gdma/makefile | 29 + example/peripheral/dma/gdma/sdkconfig | 196 + example/peripheral/dma/gdma/sdkconfig.h | 176 + example/peripheral/dma/gdma/src/cmd_gdma.c | 54 + example/peripheral/dma/gdma/src/gdma_memcpy.c | 414 + example/peripheral/gpio/Kconfig | 19 + example/peripheral/gpio/README.md | 114 + .../gpio/configs/e2000d_aarch32_eg_configs | 201 + .../gpio/configs/e2000d_aarch64_eg_configs | 197 + example/peripheral/gpio/figs/gpio_io_irq.png | Bin 0 -> 33925 bytes example/peripheral/gpio/inc/gpio_io_irq.h | 48 + example/peripheral/gpio/main.c | 44 + example/peripheral/gpio/makefile | 29 + example/peripheral/gpio/sdkconfig | 197 + example/peripheral/gpio/sdkconfig.h | 176 + example/peripheral/gpio/src/cmd_gpio.c | 102 + example/peripheral/gpio/src/gpio_io_irq.c | 329 + example/peripheral/pwm/Kconfig | 19 + example/peripheral/pwm/README.md | 140 + .../pwm/configs/e2000d_aarch32_eg_configs | 207 + .../pwm/configs/e2000d_aarch64_eg_configs | 203 + .../pwm/configs/e2000q_aarch32_eg_configs | 207 + .../pwm/configs/e2000q_aarch64_eg_configs | 203 + example/peripheral/pwm/figs/create.png | Bin 0 -> 31971 bytes example/peripheral/pwm/figs/delete.png | Bin 0 -> 13527 bytes example/peripheral/pwm/inc/pwm_example.h | 30 + example/peripheral/pwm/main.c | 47 + example/peripheral/pwm/makefile | 31 + example/peripheral/pwm/sdkconfig | 203 + example/peripheral/pwm/sdkconfig.h | 180 + example/peripheral/pwm/src/pwm_example.c | 266 + .../qspi/configs/d2000_aarch32_eg_configs | 34 + .../qspi/configs/d2000_aarch64_eg_configs | 34 + .../qspi/configs/e2000d_aarch32_eg_configs | 34 + .../qspi/configs/e2000d_aarch64_eg_configs | 34 + .../qspi/configs/ft2004_aarch32_eg_configs | 34 + .../qspi/configs/ft2004_aarch64_eg_configs | 34 + example/peripheral/qspi/sdkconfig | 34 + example/peripheral/qspi/sdkconfig.h | 28 + example/peripheral/qspi/src/qspi_example.c | 4 + example/peripheral/sdio/Kconfig | 19 + example/peripheral/sdio/README.md | 128 + .../sdio/configs/e2000d_aarch32_eg_configs | 207 + .../sdio/configs/e2000d_aarch64_eg_configs | 203 + example/peripheral/sdio/figs/emmc_wr.png | Bin 0 -> 31730 bytes example/peripheral/sdio/figs/tf_wr.png | Bin 0 -> 30879 bytes example/peripheral/sdio/inc/sd_read_write.h | 48 + example/peripheral/sdio/main.c | 44 + example/peripheral/sdio/makefile | 29 + example/peripheral/sdio/sdkconfig | 203 + example/peripheral/sdio/sdkconfig.h | 181 + example/peripheral/sdio/src/cmd_sd.c | 102 + example/peripheral/sdio/src/sd_read_write.c | 316 + example/peripheral/spi/Kconfig | 19 + example/peripheral/spi/README.md | 139 + .../spi/configs/e2000d_aarch32_eg_configs | 209 + .../spi/configs/e2000d_aarch64_eg_configs | 205 + example/peripheral/spi/figs/probe.png | Bin 0 -> 7251 bytes example/peripheral/spi/figs/spi_mode.png | Bin 0 -> 54617 bytes example/peripheral/spi/figs/wr_rd.png | Bin 0 -> 20837 bytes example/peripheral/spi/inc/sfud_read_write.h | 50 + example/peripheral/spi/main.c | 58 + example/peripheral/spi/makefile | 29 + example/peripheral/spi/sdkconfig | 205 + example/peripheral/spi/sdkconfig.h | 182 + example/peripheral/spi/src/cmd_sf.c | 109 + example/peripheral/spi/src/sfud_read_write.c | 262 + example/peripheral/wdt/README.md | 2 +- .../wdt/configs/d2000_aarch32_eg_configs | 34 + .../wdt/configs/d2000_aarch64_eg_configs | 34 + .../wdt/configs/e2000d_aarch32_eg_configs | 34 + .../wdt/configs/e2000d_aarch64_eg_configs | 40 + .../wdt/configs/ft2004_aarch32_eg_configs | 34 + .../wdt/configs/ft2004_aarch64_eg_configs | 34 + example/peripheral/wdt/sdkconfig | 40 + example/peripheral/wdt/sdkconfig.h | 33 + example/peripheral/wdt/src/wdt_example.c | 7 + .../configs/d2000_aarch32_eg_configs | 34 + .../configs/d2000_aarch64_eg_configs | 34 + .../configs/e2000d_aarch32_eg_configs | 34 + .../configs/e2000d_aarch64_eg_configs | 34 + .../configs/ft2004_aarch32_eg_configs | 34 + .../configs/ft2004_aarch64_eg_configs | 34 + example/storage/qspi_spiffs/sdkconfig | 34 + example/storage/qspi_spiffs/sdkconfig.h | 28 + .../qspi_spiffs/src/qspi_spiffs_example.c | 6 +- .../configs/d2000_aarch32_eg_configs | 34 + .../configs/d2000_aarch64_eg_configs | 34 + .../configs/e2000d_aarch32_eg_configs | 34 + .../configs/e2000d_aarch64_eg_configs | 34 + .../configs/ft2004_aarch32_eg_configs | 34 + .../configs/ft2004_aarch64_eg_configs | 34 + example/storage/sata_fatfs/sdkconfig | 34 + example/storage/sata_fatfs/sdkconfig.h | 28 + .../sata_fatfs/src/sata_fatfs_example.c | 12 +- .../template/configs/d2000_aarch32_eg_configs | 34 + .../template/configs/d2000_aarch64_eg_configs | 34 + .../configs/e2000d_aarch32_eg_configs | 34 + .../configs/e2000d_aarch64_eg_configs | 34 + .../configs/ft2004_aarch32_eg_configs | 34 + .../configs/ft2004_aarch64_eg_configs | 34 + example/template/sdkconfig | 34 + example/template/sdkconfig.h | 28 + install.py | 4 +- make/complier.mk | 10 +- make/default_load.mk | 8 +- make/preconfig.mk | 25 +- third-party/FreeRTOS-Plus-CLI/FreeRTOS_CLI.c | 351 - third-party/FreeRTOS-Plus-CLI/FreeRTOS_CLI.h | 105 - third-party/FreeRTOS-Plus-CLI/History.txt | 32 - .../FreeRTOS-Plus-CLI/LICENSE_INFORMATION.txt | 19 - third-party/FreeRTOS-Plus-CLI/ReadMe.url | 5 - third-party/FreeRTOS-Plus-CLI/readme.txt | 4 - third-party/Kconfig | 18 + third-party/bootloader/bootloader.ld | 13 - third-party/bootloader/device/qemu_print.c | 241 - third-party/bootloader/device/sd_card.c | 198 - third-party/bootloader/driver/imx_uart.c | 46 - third-party/bootloader/driver/imx_usdhc.c | 298 - third-party/bootloader/entry.c | 85 - third-party/bootloader/fatfs/diskio.c | 158 - third-party/bootloader/fatfs/ff.c | 6849 ------- third-party/bootloader/fatfs/ffsystem.c | 170 - third-party/bootloader/fatfs/ffunicode.c | 15593 ---------------- third-party/bootloader/include/at24cxx.h | 29 - third-party/bootloader/include/diskio.h | 77 - third-party/bootloader/include/ff.h | 426 - third-party/bootloader/include/ffconf.h | 298 - .../bootloader/include/imx6ul_iomuxc.h | 56 - third-party/bootloader/include/imx_gpio.h | 43 - third-party/bootloader/include/imx_gpt.h | 128 - third-party/bootloader/include/imx_i2c.h | 94 - third-party/bootloader/include/imx_uart.h | 31 - third-party/bootloader/include/imx_usdhc.h | 802 - third-party/bootloader/include/mmc_card.h | 91 - third-party/bootloader/include/sd_card.h | 86 - third-party/bootloader/include/timer.h | 19 - third-party/bootloader/makefile | 35 - third-party/bootloader/start.s | 40 - third-party/sdmmc-1.0/Kconfig | 12 + third-party/sdmmc-1.0/inc/sdmmc_cmd.h | 312 + third-party/sdmmc-1.0/inc/sdmmc_common.h | 177 + third-party/sdmmc-1.0/inc/sdmmc_defs.h | 492 + third-party/sdmmc-1.0/inc/sdmmc_types.h | 212 + third-party/sdmmc-1.0/port/fsdio/sdmmc_port.c | 117 + third-party/sdmmc-1.0/port/fsdio/sdmmc_port.h | 86 + third-party/sdmmc-1.0/src/sdmmc_cmd.c | 676 + third-party/sdmmc-1.0/src/sdmmc_common.c | 400 + third-party/sdmmc-1.0/src/sdmmc_init.c | 262 + third-party/sdmmc-1.0/src/sdmmc_io.c | 725 + third-party/sdmmc-1.0/src/sdmmc_mmc.c | 299 + third-party/sdmmc-1.0/src/sdmmc_sd.c | 408 + third-party/sfud-1.1.0/Kconfig | 19 - .../sfud-1.1.0/ports/fspim/fspim_sfud_core.c | 131 + .../sfud-1.1.0/ports/fspim/fspim_sfud_core.h | 31 + third-party/sfud-1.1.0/ports/sfud_port.c | 5 + third-party/third-party.mk | 23 + third-party/tlsf-3.1.0/README.md | 142 + third-party/tlsf-3.1.0/port/fmemory_pool.c | 675 + third-party/tlsf-3.1.0/port/fmemory_pool.h | 149 + third-party/tlsf-3.1.0/src/tlsf.c | 1292 ++ third-party/tlsf-3.1.0/src/tlsf.h | 90 + 274 files changed, 23570 insertions(+), 26668 deletions(-) create mode 100644 configs/e2000d_aarch32_defconfig create mode 100644 configs/e2000d_aarch64_defconfig create mode 100644 configs/e2000q_aarch32_defconfig create mode 100644 configs/e2000q_aarch64_defconfig create mode 100644 drivers/dma/fddma/fddma_os.c create mode 100644 drivers/dma/fddma/fddma_os.h create mode 100644 drivers/dma/fgdma/fgdma_os.c create mode 100644 drivers/dma/fgdma/fgdma_os.h create mode 100644 drivers/gpio/fgpio/fgpio_os.c create mode 100644 drivers/gpio/fgpio/fgpio_os.h create mode 100644 drivers/mmc/fsdio/fsdio_os.c create mode 100644 drivers/mmc/fsdio/fsdio_os.h create mode 100644 drivers/pwm/fpwm_os.c create mode 100644 drivers/pwm/fpwm_os.h create mode 100644 drivers/spi/fspim/fspim_os.c create mode 100644 drivers/spi/fspim/fspim_os.h create mode 100644 example/peripheral/dma/ddma/Kconfig create mode 100644 example/peripheral/dma/ddma/README.md create mode 100644 example/peripheral/dma/ddma/configs/e2000d_aarch32_eg_configs create mode 100644 example/peripheral/dma/ddma/configs/e2000d_aarch64_eg_configs create mode 100644 example/peripheral/dma/ddma/figs/loopback.png create mode 100644 example/peripheral/dma/ddma/inc/ddma_spi_loopback.h create mode 100644 example/peripheral/dma/ddma/main.c create mode 100644 example/peripheral/dma/ddma/makefile create mode 100644 example/peripheral/dma/ddma/sdkconfig create mode 100644 example/peripheral/dma/ddma/sdkconfig.h create mode 100644 example/peripheral/dma/ddma/src/cmd_ddma.c create mode 100644 example/peripheral/dma/ddma/src/ddma_spi_loopback.c create mode 100644 example/peripheral/dma/gdma/Kconfig create mode 100644 example/peripheral/dma/gdma/README.md create mode 100644 example/peripheral/dma/gdma/configs/e2000d_aarch32_eg_configs create mode 100644 example/peripheral/dma/gdma/configs/e2000d_aarch64_eg_configs create mode 100644 example/peripheral/dma/gdma/figs/memcpy.png create mode 100644 example/peripheral/dma/gdma/inc/gdma_memcpy.h create mode 100644 example/peripheral/dma/gdma/main.c create mode 100644 example/peripheral/dma/gdma/makefile create mode 100644 example/peripheral/dma/gdma/sdkconfig create mode 100644 example/peripheral/dma/gdma/sdkconfig.h create mode 100644 example/peripheral/dma/gdma/src/cmd_gdma.c create mode 100644 example/peripheral/dma/gdma/src/gdma_memcpy.c create mode 100644 example/peripheral/gpio/Kconfig create mode 100644 example/peripheral/gpio/README.md create mode 100644 example/peripheral/gpio/configs/e2000d_aarch32_eg_configs create mode 100644 example/peripheral/gpio/configs/e2000d_aarch64_eg_configs create mode 100644 example/peripheral/gpio/figs/gpio_io_irq.png create mode 100644 example/peripheral/gpio/inc/gpio_io_irq.h create mode 100644 example/peripheral/gpio/main.c create mode 100644 example/peripheral/gpio/makefile create mode 100644 example/peripheral/gpio/sdkconfig create mode 100644 example/peripheral/gpio/sdkconfig.h create mode 100644 example/peripheral/gpio/src/cmd_gpio.c create mode 100644 example/peripheral/gpio/src/gpio_io_irq.c create mode 100644 example/peripheral/pwm/Kconfig create mode 100644 example/peripheral/pwm/README.md create mode 100644 example/peripheral/pwm/configs/e2000d_aarch32_eg_configs create mode 100644 example/peripheral/pwm/configs/e2000d_aarch64_eg_configs create mode 100644 example/peripheral/pwm/configs/e2000q_aarch32_eg_configs create mode 100644 example/peripheral/pwm/configs/e2000q_aarch64_eg_configs create mode 100644 example/peripheral/pwm/figs/create.png create mode 100644 example/peripheral/pwm/figs/delete.png create mode 100644 example/peripheral/pwm/inc/pwm_example.h create mode 100644 example/peripheral/pwm/main.c create mode 100644 example/peripheral/pwm/makefile create mode 100644 example/peripheral/pwm/sdkconfig create mode 100644 example/peripheral/pwm/sdkconfig.h create mode 100644 example/peripheral/pwm/src/pwm_example.c create mode 100644 example/peripheral/sdio/Kconfig create mode 100644 example/peripheral/sdio/README.md create mode 100644 example/peripheral/sdio/configs/e2000d_aarch32_eg_configs create mode 100644 example/peripheral/sdio/configs/e2000d_aarch64_eg_configs create mode 100644 example/peripheral/sdio/figs/emmc_wr.png create mode 100644 example/peripheral/sdio/figs/tf_wr.png create mode 100644 example/peripheral/sdio/inc/sd_read_write.h create mode 100644 example/peripheral/sdio/main.c create mode 100644 example/peripheral/sdio/makefile create mode 100644 example/peripheral/sdio/sdkconfig create mode 100644 example/peripheral/sdio/sdkconfig.h create mode 100644 example/peripheral/sdio/src/cmd_sd.c create mode 100644 example/peripheral/sdio/src/sd_read_write.c create mode 100644 example/peripheral/spi/Kconfig create mode 100644 example/peripheral/spi/README.md create mode 100644 example/peripheral/spi/configs/e2000d_aarch32_eg_configs create mode 100644 example/peripheral/spi/configs/e2000d_aarch64_eg_configs create mode 100644 example/peripheral/spi/figs/probe.png create mode 100644 example/peripheral/spi/figs/spi_mode.png create mode 100644 example/peripheral/spi/figs/wr_rd.png create mode 100644 example/peripheral/spi/inc/sfud_read_write.h create mode 100644 example/peripheral/spi/main.c create mode 100644 example/peripheral/spi/makefile create mode 100644 example/peripheral/spi/sdkconfig create mode 100644 example/peripheral/spi/sdkconfig.h create mode 100644 example/peripheral/spi/src/cmd_sf.c create mode 100644 example/peripheral/spi/src/sfud_read_write.c delete mode 100644 third-party/FreeRTOS-Plus-CLI/FreeRTOS_CLI.c delete mode 100644 third-party/FreeRTOS-Plus-CLI/FreeRTOS_CLI.h delete mode 100644 third-party/FreeRTOS-Plus-CLI/History.txt delete mode 100644 third-party/FreeRTOS-Plus-CLI/LICENSE_INFORMATION.txt delete mode 100644 third-party/FreeRTOS-Plus-CLI/ReadMe.url delete mode 100644 third-party/FreeRTOS-Plus-CLI/readme.txt delete mode 100644 third-party/bootloader/bootloader.ld delete mode 100644 third-party/bootloader/device/qemu_print.c delete mode 100644 third-party/bootloader/device/sd_card.c delete mode 100644 third-party/bootloader/driver/imx_uart.c delete mode 100644 third-party/bootloader/driver/imx_usdhc.c delete mode 100644 third-party/bootloader/entry.c delete mode 100644 third-party/bootloader/fatfs/diskio.c delete mode 100644 third-party/bootloader/fatfs/ff.c delete mode 100644 third-party/bootloader/fatfs/ffsystem.c delete mode 100644 third-party/bootloader/fatfs/ffunicode.c delete mode 100644 third-party/bootloader/include/at24cxx.h delete mode 100644 third-party/bootloader/include/diskio.h delete mode 100644 third-party/bootloader/include/ff.h delete mode 100644 third-party/bootloader/include/ffconf.h delete mode 100644 third-party/bootloader/include/imx6ul_iomuxc.h delete mode 100644 third-party/bootloader/include/imx_gpio.h delete mode 100644 third-party/bootloader/include/imx_gpt.h delete mode 100644 third-party/bootloader/include/imx_i2c.h delete mode 100644 third-party/bootloader/include/imx_uart.h delete mode 100644 third-party/bootloader/include/imx_usdhc.h delete mode 100644 third-party/bootloader/include/mmc_card.h delete mode 100644 third-party/bootloader/include/sd_card.h delete mode 100644 third-party/bootloader/include/timer.h delete mode 100644 third-party/bootloader/makefile delete mode 100644 third-party/bootloader/start.s create mode 100644 third-party/sdmmc-1.0/Kconfig create mode 100644 third-party/sdmmc-1.0/inc/sdmmc_cmd.h create mode 100644 third-party/sdmmc-1.0/inc/sdmmc_common.h create mode 100644 third-party/sdmmc-1.0/inc/sdmmc_defs.h create mode 100644 third-party/sdmmc-1.0/inc/sdmmc_types.h create mode 100644 third-party/sdmmc-1.0/port/fsdio/sdmmc_port.c create mode 100644 third-party/sdmmc-1.0/port/fsdio/sdmmc_port.h create mode 100644 third-party/sdmmc-1.0/src/sdmmc_cmd.c create mode 100644 third-party/sdmmc-1.0/src/sdmmc_common.c create mode 100644 third-party/sdmmc-1.0/src/sdmmc_init.c create mode 100644 third-party/sdmmc-1.0/src/sdmmc_io.c create mode 100644 third-party/sdmmc-1.0/src/sdmmc_mmc.c create mode 100644 third-party/sdmmc-1.0/src/sdmmc_sd.c create mode 100644 third-party/sfud-1.1.0/ports/fspim/fspim_sfud_core.c create mode 100644 third-party/sfud-1.1.0/ports/fspim/fspim_sfud_core.h create mode 100644 third-party/tlsf-3.1.0/README.md create mode 100644 third-party/tlsf-3.1.0/port/fmemory_pool.c create mode 100644 third-party/tlsf-3.1.0/port/fmemory_pool.h create mode 100644 third-party/tlsf-3.1.0/src/tlsf.c create mode 100644 third-party/tlsf-3.1.0/src/tlsf.h diff --git a/.gitlab/merge_request_templates/PULL_REQUEST_TEMPLATE.md b/.gitlab/merge_request_templates/PULL_REQUEST_TEMPLATE.md index 0c9823b5..ac90fc8e 100644 --- a/.gitlab/merge_request_templates/PULL_REQUEST_TEMPLATE.md +++ b/.gitlab/merge_request_templates/PULL_REQUEST_TEMPLATE.md @@ -1,32 +1,67 @@ -## 拉取/合并请求描述: -[ -这段方括号里的内容是您**必须填写并替换掉**的,否则PR不可能被合并。**方括号外面的内容不需要修改,但请仔细阅读。** -请在这里填写您的PR描述,可以包括以下之一的内容: -为什么提交这份PR;解决的问题是什么,你的解决方案是什么; -并确认并列出已经在什么情况或板卡上进行了测试; -并且附上测试结果于测试流程,如果代码存在耦合,则需要对耦合部分进行修改。 +# Pull Request (拉取/合并请求) v0.2 -] +- PR 发起人: +- PR 评审人: +## PR内容描述 -以下的内容不应该在提交PR时的message修改,修改下述message,PR会被直接关闭。请在提交PR后,浏览器查看PR并对以下检查项逐项check,没问题后逐条在页面上打钩。 +>简述本次PR的背景, 描述本次PR新增/修改的内容, 说明PR合入后功能的变更(PR发起人完成)
-### 当前拉取/合并请求的状态 +### PR关联模块 (必填) -必须选择一项 : +>描述本次PR修改关联耦合了哪些模块,关联耦合模块是否已经进行功能验证(PR发起人完成)
+ +### PR测试说明 (必填) + +>说明本次PR合入代码已经在哪些板卡上进行了测试,描述测试方法和流程,给出测试结果,并做简要说明(PR发起人完成)
+ +## PR当前状态 - [ ] 本拉取/合并请求是一个草稿版本 - [ ] 本拉取/合并请求是一个成熟版本 -### 代码质量 Code Quality: +## PR检查事项 + +>按照清单完成PR的自查(PR发起人完成)和审查(PR评审人完成)
+ +- [ ] 1. PR essential content is completed, PR的必填项是否已经完成 + + +> PR内容描述是否完成,写明了新增特性/解决的问题,关联模块和测试结果 + +- [ ] 2. PR content fits within project, changes are reflected in documentation, PR说明的修改是否与提交的代码符合,且变更已经同步到文档中 + +> PR说明的是A,B功能,合入的也是A,B功能 + +- [ ] 3. PR follows Module specification, PR符合组件接口规范 + +> 参考编码规范的组件接口规范进行了检查 + +- [ ] 4. PR follows nameing specification, PR符合命名规范 + +> 参考编码规范的命名规范检查了新增/修改的文件,目录,符号等 + +- [ ] 5. PR follows typesetting and comment specification,PR符合排版注释规范 + +> 参考编码规范的排版、注释、头文件规范检查了新增的代码 + +- [ ] 6. PR code in good fashion, PR代码考虑了编程实践中常见的问题 + +> 参考编码规范的宏、变量、表达式、分支、函数等规范进行了检查 + +- [ ] 7. PR code is portable for 32/64 bit, PR代码考虑了32/64位可移植性 + +> 参考编码规范的32/64位可移植性规范进行了检查 + +- [ ] 8. PR code is portable for supported platform, PR代码考虑了硬件平台可移植性 + +> 参考编码规范的平台可移植性规范进行了检查 + +- [ ] 9. PR code follows log specification, PR代码考虑了日志打印规范 + +> 参考编码规范的日志打印规范进行了检查 -我在这个拉取/合并请求中已经考虑了 As part of this pull request, I've considered the following: +- [ ] 10. PR does not cause build fail or unit test fail , 提交的代码是否通过编译,通过基本功能验证 -- [ ] 已经仔细查看过代码改动的对比 Already check the difference between PR and old code -- [ ] 代码风格正确,包括缩进空格,命名及其他风格 Style guide is adhered to, including spacing, naming and other styles -- [ ] 没有垃圾代码,代码尽量精简,不包含`#if 0`代码,不包含已经被注释了的代码 All redundant code is removed and cleaned up -- [ ] 所有变更均有原因及合理的,并且不会影响到其他软件组件代码或BSP All modifications are justified and not affect other components or BSP -- [ ] 对难懂代码均提供对应的注释 I've commented appropriately where code is tricky -- [ ] 本拉取/合并请求代码是高质量的 Code in this PR is of high quality -- [ ] 本拉取/合并符合[代码规范](../documentation/coding_style_cn.md) +> 已经使用test suite进行编译和功能验证 \ No newline at end of file diff --git a/README.md b/README.md index 534e6513..ec72b368 100644 --- a/README.md +++ b/README.md @@ -115,13 +115,41 @@ D2000 是一款面向桌面应用的高性能通用 8 核处理器。每 2 个 --- -## 4. 参考资料 +## 4. 外设驱动支持情况 + +| Hardware Interface | Platform Supported | Platform Developing | Component | +| ------------------------------ | -------------------------- | --------------------------- | ------------------------- | +| UART (PrimeCell PL011) | FT2000/4
E2000
D2000 | | serial/fpl011 | +| 10/100/1000MB-ETHERNET | E2000 | | eth/fxmac | +| QSPI (Nor Flash) | FT2000/4
E2000
D2000 | | qspi | +| PWM | E2000 | | pwm | +| WDT | FT2000/4
D2000
E2000 | | wdt | +| DDMA | E2000 | | dma/fddma | +| GDMA | E2000 | | dma/fgdma | +| GPIO | E2000 | | gpio | +| SDIO | E2000 | | mmc/fsdio | +| SPI | E2000 | | spi/fspim | + + +| Third-Party | Platform Supported | Platform Developing | Component | +| ------------------------------ | -------------------------- | --------------------------- | ------------------------- | +| LWIP 2.1.2 | FT2000/4
D2000
E2000 | | lwip-2.1.2 | +| Letter shell 3.1 | FT2000/4
D2000
E2000 | | letter-shell-3.1 | +| Sfud 1.1.0 | FT2000/4
D2000
E2000 | | sfud-1.1.0 | +| Fatfs (RAMSATA) | FT2000/4
D2000
E2000 | | fatfs-0.1.3 | +| OpenAMP | FT2000/4
D2000
E2000 | | openamp | +| SPIFFS-0.3.7 | FT2000/4
D2000
E2000 | | spiffs-0.3.7 | +| TLSF-3.1.0 | FT2000/4
D2000
E2000 | | tlsf-3.1.0 | +| Sdmmc-1.0 | E2000 | | sdmmc-1.0 | + +--- +## 5. 参考资料 - The FreeRTOS Reference Manual API Functions and Configuration Options - Mastering the FreeRTOS Real Time Kernel A Hands-On Tutorial Guide ---- -## 5. 贡献方法 +--- +## 6. 贡献方法 请联系飞腾嵌入式软件部 @@ -135,6 +163,6 @@ liushengming1118@phytium.com.cn --- -## 6. 许可协议 +## 7. 许可协议 Phytium Public License 1.0 (PPL-1.0) \ No newline at end of file diff --git a/configs/d2000_aarch32_defconfig b/configs/d2000_aarch32_defconfig index b20e08ce..97ca4820 100644 --- a/configs/d2000_aarch32_defconfig +++ b/configs/d2000_aarch32_defconfig @@ -2,7 +2,7 @@ # # Project Configuration # -CONFIG_TARGET_NAME="d2000_freertos" +CONFIG_TARGET_NAME="d2000_freertos_a32" # end of Project Configuration # @@ -15,11 +15,10 @@ CONFIG_USE_FREERTOS=y # CONFIG_TARGET_ARMV8_AARCH32=y # CONFIG_TARGET_ARMV8_AARCH64 is not set -# CONFIG_TARGET_ARMV7 is not set CONFIG_USE_CACHE=y CONFIG_USE_L3CACHE=y CONFIG_USE_MMU=y -# CONFIG_USE_SYS_TICK is not set +CONFIG_USE_SYS_TICK=y CONFIG_USE_AARCH64_L1_TO_AARCH32=y # end of Arch Configuration @@ -27,8 +26,13 @@ CONFIG_USE_AARCH64_L1_TO_AARCH32=y # Board Configuration # # CONFIG_TARGET_F2000_4 is not set -# CONFIG_TARGET_E2000 is not set CONFIG_TARGET_D2000=y +# CONFIG_TARGET_E2000Q is not set +# CONFIG_TARGET_E2000D is not set +# CONFIG_TARGET_E2000S is not set +CONFIG_DEFAULT_DEBUG_PRINT_UART1=y +# CONFIG_DEFAULT_DEBUG_PRINT_UART0 is not set +# CONFIG_DEFAULT_DEBUG_PRINT_UART2 is not set # end of Board Configuration # @@ -38,7 +42,7 @@ CONFIG_TARGET_D2000=y # CONFIG_USE_QSPI is not set CONFIG_USE_GIC=y CONFIG_ENABLE_GICV3=y -# CONFIG_USE_SERIAL is not set +CONFIG_USE_SERIAL=y # # Usart Configuration @@ -47,58 +51,44 @@ CONFIG_ENABLE_Pl011_UART=y # end of Usart Configuration # CONFIG_USE_GPIO is not set -# CONFIG_USE_IOMUX is not set -CONFIG_USE_ETH=y - -# -# Eth Configuration -# -# CONFIG_ENABLE_F_XMAC is not set -CONFIG_ENABLE_FGMAC=y - -# -# F_GMAC Configuration -# -# CONFIG_F_GMAC_PHY_COMMON is not set -# CONFIG_F_GMAC_PHY_AR803X is not set -# end of F_GMAC Configuration -# end of Eth Configuration - +# CONFIG_USE_ETH is not set # CONFIG_USE_CAN is not set # CONFIG_USE_I2C is not set # CONFIG_USE_TIMER is not set +# CONFIG_USE_MIO is not set # CONFIG_USE_SDMMC is not set # CONFIG_USE_PCIE is not set # CONFIG_USE_WDT is not set # CONFIG_USE_DMA is not set # CONFIG_USE_NAND is not set +# CONFIG_USE_RTC is not set +# CONFIG_USE_SATA is not set +# CONFIG_USE_USB is not set +# CONFIG_USE_ADC is not set +# CONFIG_USE_PWM is not set +# CONFIG_USE_IPC is not set # end of Components Configuration -CONFIG_USE_G_LIBC=y -# CONFIG_USE_NEW_LIBC is not set +CONFIG_USE_NEW_LIBC=y # end of Standalone Setting # # Building Option # -CONFIG_ENVI_UBUNTU_20_04=y - -# -# Cross-Compiler Setting -# -CONFIG_COMPILER_NO_STD_STARUP=y -# CONFIG_USE_EXT_COMPILER is not set -# end of Cross-Compiler Setting - # CONFIG_LOG_VERBOS is not set # CONFIG_LOG_DEBUG is not set CONFIG_LOG_INFO=y # CONFIG_LOG_WARN is not set # CONFIG_LOG_ERROR is not set # CONFIG_LOG_NONE is not set +CONFIG_USE_DEFAULT_INTERRUPT_CONFIG=y +CONFIG_INTERRUPT_ROLE_MASTER=y +# CONFIG_INTERRUPT_ROLE_SLAVE is not set +# CONFIG_LOG_EXTRA_INFO is not set +# CONFIG_BOOTUP_DEBUG_PRINTS is not set # -# GNU Linker Setting +# Linker Options # CONFIG_AARCH32_RAM_LD=y # CONFIG_AARCH64_RAM_LD is not set @@ -110,8 +100,19 @@ CONFIG_LINK_SCRIPT_RAM=y CONFIG_RAM_START_UP_ADDR=0x81000000 CONFIG_RAM_SIZE_MB=64 CONFIG_HEAP_SIZE=1 -CONFIG_STACK_SIZE=0x100000 -# end of GNU Linker Setting +CONFIG_SVC_STACK_SIZE=0x1000 +CONFIG_SYS_STACK_SIZE=0x1000 +CONFIG_IRQ_STACK_SIZE=0x1000 +CONFIG_ABORT_STACK_SIZE=0x1000 +CONFIG_FIQ_STACK_SIZE=0x1000 +CONFIG_UNDEF_STACK_SIZE=0x1000 +# end of Linker Options + +# +# Compiler Options +# +# CONFIG_OUTPUT_BINARY is not set +# end of Compiler Options # end of Building Option # @@ -119,20 +120,47 @@ CONFIG_STACK_SIZE=0x100000 # # -# Freertos Drivers +# Freertos Uart Drivers # CONFIG_FREERTOS_USE_UART=y -# end of Freertos Drivers +# end of Freertos Uart Drivers + +# +# Freertos Qspi Drivers +# +# CONFIG_FREERTOS_USE_QSPI is not set +# end of Freertos Qspi Drivers + +# +# Freertos Wdt Drivers +# +# CONFIG_FREERTOS_USE_WDT is not set +# end of Freertos Wdt Drivers + +# +# Freertos Eth Drivers +# +# CONFIG_FREERTOS_USE_XMAC is not set +# end of Freertos Eth Drivers # end of Component Configuration # # FreeRTOS Setting # -# CONFIG_USE_LWIP=y +# CONFIG_USE_LWIP is not set +CONFIG_USE_BACKTRACE=y +# CONFIG_USE_FATFS is not set +# CONFIG_USE_SFUD is not set +# CONFIG_USE_SPIFFS is not set +# CONFIG_USE_AMP is not set +CONFIG_USE_LETTER_SHELL=y # -# LWIP Configuration +# Letter Shell Configuration # -# CONFIG_LWIP_F_GMAC=y -# end of LWIP Configuration +CONFIG_LS_PL011_UART=y +CONFIG_DEFAULT_LETTER_SHELL_USE_UART1=y +# CONFIG_DEFAULT_LETTER_SHELL_USE_UART0 is not set +# CONFIG_DEFAULT_LETTER_SHELL_USE_UART2 is not set +# end of Letter Shell Configuration # end of FreeRTOS Setting diff --git a/configs/d2000_aarch64_defconfig b/configs/d2000_aarch64_defconfig index a1bffdcd..345dbfd1 100644 --- a/configs/d2000_aarch64_defconfig +++ b/configs/d2000_aarch64_defconfig @@ -2,9 +2,7 @@ # # Project Configuration # -CONFIG_TARGET_NAME="d2000_freertos" -# CONFIG_LWIP_POLL_TEST=y -# CONFIG_LWIP_INTRRUPT_TEST is not set +CONFIG_TARGET_NAME="d2000_freertos_a64" # end of Project Configuration # @@ -17,19 +15,24 @@ CONFIG_USE_FREERTOS=y # # CONFIG_TARGET_ARMV8_AARCH32 is not set CONFIG_TARGET_ARMV8_AARCH64=y -# CONFIG_TARGET_ARMV7 is not set CONFIG_USE_CACHE=y CONFIG_USE_L3CACHE=y CONFIG_USE_MMU=y CONFIG_USE_SYS_TICK=y +# CONFIG_MMU_DEBUG_PRINTS is not set # end of Arch Configuration # # Board Configuration # # CONFIG_TARGET_F2000_4 is not set -# CONFIG_TARGET_E2000 is not set CONFIG_TARGET_D2000=y +# CONFIG_TARGET_E2000Q is not set +# CONFIG_TARGET_E2000D is not set +# CONFIG_TARGET_E2000S is not set +CONFIG_DEFAULT_DEBUG_PRINT_UART1=y +# CONFIG_DEFAULT_DEBUG_PRINT_UART0 is not set +# CONFIG_DEFAULT_DEBUG_PRINT_UART2 is not set # end of Board Configuration # @@ -39,7 +42,7 @@ CONFIG_TARGET_D2000=y # CONFIG_USE_QSPI is not set CONFIG_USE_GIC=y CONFIG_ENABLE_GICV3=y -# CONFIG_USE_SERIAL is not set +CONFIG_USE_SERIAL=y # # Usart Configuration @@ -48,55 +51,44 @@ CONFIG_ENABLE_Pl011_UART=y # end of Usart Configuration # CONFIG_USE_GPIO is not set -# CONFIG_USE_IOMUX is not set -CONFIG_USE_ETH=y - -# -# Eth Configuration -# -# CONFIG_ENABLE_F_XMAC is not set -CONFIG_ENABLE_FGMAC=y - -# -# F_GMAC Configuration -# -CONFIG_F_GMAC_PHY_COMMON=y -# CONFIG_F_GMAC_PHY_AR803X is not set -# end of F_GMAC Configuration -# end of Eth Configuration - +# CONFIG_USE_ETH is not set # CONFIG_USE_CAN is not set # CONFIG_USE_I2C is not set # CONFIG_USE_TIMER is not set +# CONFIG_USE_MIO is not set # CONFIG_USE_SDMMC is not set # CONFIG_USE_PCIE is not set +# CONFIG_USE_WDT is not set # CONFIG_USE_DMA is not set +# CONFIG_USE_NAND is not set +# CONFIG_USE_RTC is not set +# CONFIG_USE_SATA is not set +# CONFIG_USE_USB is not set +# CONFIG_USE_ADC is not set +# CONFIG_USE_PWM is not set +# CONFIG_USE_IPC is not set # end of Components Configuration -CONFIG_USE_G_LIBC=y -# CONFIG_USE_NEW_LIBC is not set +CONFIG_USE_NEW_LIBC=y # end of Standalone Setting # # Building Option # - -# -# Cross-Compiler Setting -# -CONFIG_COMPILER_NO_STD_STARUP=y -# CONFIG_USE_EXT_COMPILER is not set -# end of Cross-Compiler Setting - # CONFIG_LOG_VERBOS is not set # CONFIG_LOG_DEBUG is not set CONFIG_LOG_INFO=y # CONFIG_LOG_WARN is not set # CONFIG_LOG_ERROR is not set # CONFIG_LOG_NONE is not set +CONFIG_USE_DEFAULT_INTERRUPT_CONFIG=y +CONFIG_INTERRUPT_ROLE_MASTER=y +# CONFIG_INTERRUPT_ROLE_SLAVE is not set +# CONFIG_LOG_EXTRA_INFO is not set +# CONFIG_BOOTUP_DEBUG_PRINTS is not set # -# GNU Linker Setting +# Linker Options # # CONFIG_AARCH32_RAM_LD is not set CONFIG_AARCH64_RAM_LD=y @@ -108,8 +100,15 @@ CONFIG_LINK_SCRIPT_RAM=y CONFIG_RAM_START_UP_ADDR=0x81000000 CONFIG_RAM_SIZE_MB=64 CONFIG_HEAP_SIZE=1 -CONFIG_STACK_TOP_ADDR=0x82000000 +CONFIG_STACK_SIZE=0x100000 +CONFIG_FPU_STACK_SIZE=0x1000 # end of Linker Options + +# +# Compiler Options +# +# CONFIG_OUTPUT_BINARY is not set +# end of Compiler Options # end of Building Option # @@ -117,20 +116,47 @@ CONFIG_STACK_TOP_ADDR=0x82000000 # # -# Freertos Drivers +# Freertos Uart Drivers # CONFIG_FREERTOS_USE_UART=y -# end of Freertos Drivers +# end of Freertos Uart Drivers + +# +# Freertos Qspi Drivers +# +# CONFIG_FREERTOS_USE_QSPI is not set +# end of Freertos Qspi Drivers + +# +# Freertos Wdt Drivers +# +# CONFIG_FREERTOS_USE_WDT is not set +# end of Freertos Wdt Drivers + +# +# Freertos Eth Drivers +# +# CONFIG_FREERTOS_USE_XMAC is not set +# end of Freertos Eth Drivers # end of Component Configuration # # FreeRTOS Setting # -# CONFIG_USE_LWIP=y +# CONFIG_USE_LWIP is not set +CONFIG_USE_BACKTRACE=y +# CONFIG_USE_FATFS is not set +# CONFIG_USE_SFUD is not set +# CONFIG_USE_SPIFFS is not set +# CONFIG_USE_AMP is not set +CONFIG_USE_LETTER_SHELL=y # -# LWIP Configuration +# Letter Shell Configuration # -# CONFIG_LWIP_F_GMAC=y -# end of LWIP Configuration +CONFIG_LS_PL011_UART=y +CONFIG_DEFAULT_LETTER_SHELL_USE_UART1=y +# CONFIG_DEFAULT_LETTER_SHELL_USE_UART0 is not set +# CONFIG_DEFAULT_LETTER_SHELL_USE_UART2 is not set +# end of Letter Shell Configuration # end of FreeRTOS Setting diff --git a/configs/e2000d_aarch32_defconfig b/configs/e2000d_aarch32_defconfig new file mode 100644 index 00000000..c7cb0bd7 --- /dev/null +++ b/configs/e2000d_aarch32_defconfig @@ -0,0 +1,166 @@ + +# +# Project Configuration +# +CONFIG_TARGET_NAME="e2000d_freertos_a32" +# end of Project Configuration + +# +# Standalone Setting +# +CONFIG_USE_FREERTOS=y + +# +# Arch Configuration +# +CONFIG_TARGET_ARMV8_AARCH32=y +# CONFIG_TARGET_ARMV8_AARCH64 is not set +CONFIG_USE_CACHE=y +CONFIG_USE_MMU=y +# CONFIG_USE_SYS_TICK is not set +CONFIG_USE_AARCH64_L1_TO_AARCH32=y +# end of Arch Configuration + +# +# Board Configuration +# +# CONFIG_TARGET_F2000_4 is not set +# CONFIG_TARGET_D2000 is not set +# CONFIG_TARGET_E2000Q is not set +CONFIG_TARGET_E2000D=y +# CONFIG_TARGET_E2000S is not set +CONFIG_TARGET_E2000=y +CONFIG_DEFAULT_DEBUG_PRINT_UART1=y +# CONFIG_DEFAULT_DEBUG_PRINT_UART0 is not set +# CONFIG_DEFAULT_DEBUG_PRINT_UART2 is not set +# end of Board Configuration + +# +# Components Configuration +# +# CONFIG_USE_SPI is not set +# CONFIG_USE_QSPI is not set +CONFIG_USE_GIC=y +CONFIG_ENABLE_GICV3=y +CONFIG_USE_SERIAL=y + +# +# Usart Configuration +# +CONFIG_ENABLE_Pl011_UART=y +# end of Usart Configuration + +# CONFIG_USE_GPIO is not set +# CONFIG_USE_ETH is not set +# CONFIG_USE_CAN is not set +# CONFIG_USE_I2C is not set +# CONFIG_USE_TIMER is not set +# CONFIG_USE_MIO is not set +# CONFIG_USE_SDMMC is not set +# CONFIG_USE_PCIE is not set +# CONFIG_USE_WDT is not set +# CONFIG_USE_DMA is not set +# CONFIG_USE_NAND is not set +# CONFIG_USE_RTC is not set +# CONFIG_USE_SATA is not set +# CONFIG_USE_USB is not set +# CONFIG_USE_ADC is not set +# CONFIG_USE_PWM is not set +# CONFIG_USE_IPC is not set +# end of Components Configuration + +CONFIG_USE_NEW_LIBC=y +# end of Standalone Setting + +# +# Building Option +# +# CONFIG_LOG_VERBOS is not set +# CONFIG_LOG_DEBUG is not set +# CONFIG_LOG_INFO is not set +# CONFIG_LOG_WARN is not set +CONFIG_LOG_ERROR=y +# CONFIG_LOG_NONE is not set +CONFIG_USE_DEFAULT_INTERRUPT_CONFIG=y +CONFIG_INTERRUPT_ROLE_MASTER=y +# CONFIG_INTERRUPT_ROLE_SLAVE is not set +# CONFIG_LOG_EXTRA_INFO is not set +# CONFIG_BOOTUP_DEBUG_PRINTS is not set + +# +# Linker Options +# +CONFIG_AARCH32_RAM_LD=y +# CONFIG_AARCH64_RAM_LD is not set +# CONFIG_USER_DEFINED_LD is not set +CONFIG_LINK_SCRIPT_ROM=y +CONFIG_ROM_START_UP_ADDR=0x80100000 +CONFIG_ROM_SIZE_MB=2 +CONFIG_LINK_SCRIPT_RAM=y +CONFIG_RAM_START_UP_ADDR=0x81000000 +CONFIG_RAM_SIZE_MB=64 +CONFIG_HEAP_SIZE=1 +CONFIG_SVC_STACK_SIZE=0x1000 +CONFIG_SYS_STACK_SIZE=0x1000 +CONFIG_IRQ_STACK_SIZE=0x1000 +CONFIG_ABORT_STACK_SIZE=0x1000 +CONFIG_FIQ_STACK_SIZE=0x1000 +CONFIG_UNDEF_STACK_SIZE=0x1000 +# end of Linker Options + +# +# Compiler Options +# +CONFIG_OUTPUT_BINARY=y +# end of Compiler Options +# end of Building Option + +# +# Component Configuration +# + +# +# Freertos Uart Drivers +# +CONFIG_FREERTOS_USE_UART=y +# end of Freertos Uart Drivers + +# +# Freertos Qspi Drivers +# +# CONFIG_FREERTOS_USE_QSPI is not set +# end of Freertos Qspi Drivers + +# +# Freertos Wdt Drivers +# +# CONFIG_FREERTOS_USE_WDT is not set +# end of Freertos Wdt Drivers + +# +# Freertos Eth Drivers +# +# CONFIG_FREERTOS_USE_XMAC is not set +# end of Freertos Eth Drivers +# end of Component Configuration + +# +# FreeRTOS Setting +# +# CONFIG_USE_LWIP is not set +CONFIG_USE_BACKTRACE=y +# CONFIG_USE_FATFS is not set +# CONFIG_USE_SFUD is not set +# CONFIG_USE_SPIFFS is not set +# CONFIG_USE_AMP is not set +CONFIG_USE_LETTER_SHELL=y + +# +# Letter Shell Configuration +# +CONFIG_LS_PL011_UART=y +CONFIG_DEFAULT_LETTER_SHELL_USE_UART1=y +# CONFIG_DEFAULT_LETTER_SHELL_USE_UART0 is not set +# CONFIG_DEFAULT_LETTER_SHELL_USE_UART2 is not set +# end of Letter Shell Configuration +# end of FreeRTOS Setting diff --git a/configs/e2000d_aarch64_defconfig b/configs/e2000d_aarch64_defconfig new file mode 100644 index 00000000..dc0eac60 --- /dev/null +++ b/configs/e2000d_aarch64_defconfig @@ -0,0 +1,162 @@ + +# +# Project Configuration +# +CONFIG_TARGET_NAME="e2000d_freertos_a64" +# end of Project Configuration + +# +# Standalone Setting +# +CONFIG_USE_FREERTOS=y + +# +# Arch Configuration +# +# CONFIG_TARGET_ARMV8_AARCH32 is not set +CONFIG_TARGET_ARMV8_AARCH64=y +CONFIG_USE_CACHE=y +CONFIG_USE_MMU=y +# CONFIG_USE_SYS_TICK is not set +# CONFIG_MMU_DEBUG_PRINTS is not set +# end of Arch Configuration + +# +# Board Configuration +# +# CONFIG_TARGET_F2000_4 is not set +# CONFIG_TARGET_D2000 is not set +# CONFIG_TARGET_E2000Q is not set +CONFIG_TARGET_E2000D=y +# CONFIG_TARGET_E2000S is not set +CONFIG_TARGET_E2000=y +CONFIG_DEFAULT_DEBUG_PRINT_UART1=y +# CONFIG_DEFAULT_DEBUG_PRINT_UART0 is not set +# CONFIG_DEFAULT_DEBUG_PRINT_UART2 is not set +# end of Board Configuration + +# +# Components Configuration +# +# CONFIG_USE_SPI is not set +# CONFIG_USE_QSPI is not set +CONFIG_USE_GIC=y +CONFIG_ENABLE_GICV3=y +CONFIG_USE_SERIAL=y + +# +# Usart Configuration +# +CONFIG_ENABLE_Pl011_UART=y +# end of Usart Configuration + +# CONFIG_USE_GPIO is not set +# CONFIG_USE_ETH is not set +# CONFIG_USE_CAN is not set +# CONFIG_USE_I2C is not set +# CONFIG_USE_TIMER is not set +# CONFIG_USE_MIO is not set +# CONFIG_USE_SDMMC is not set +# CONFIG_USE_PCIE is not set +# CONFIG_USE_WDT is not set +# CONFIG_USE_DMA is not set +# CONFIG_USE_NAND is not set +# CONFIG_USE_RTC is not set +# CONFIG_USE_SATA is not set +# CONFIG_USE_USB is not set +# CONFIG_USE_ADC is not set +# CONFIG_USE_PWM is not set +# CONFIG_USE_IPC is not set +# end of Components Configuration + +CONFIG_USE_NEW_LIBC=y +# end of Standalone Setting + +# +# Building Option +# +# CONFIG_LOG_VERBOS is not set +# CONFIG_LOG_DEBUG is not set +# CONFIG_LOG_INFO is not set +# CONFIG_LOG_WARN is not set +CONFIG_LOG_ERROR=y +# CONFIG_LOG_NONE is not set +CONFIG_USE_DEFAULT_INTERRUPT_CONFIG=y +CONFIG_INTERRUPT_ROLE_MASTER=y +# CONFIG_INTERRUPT_ROLE_SLAVE is not set +# CONFIG_LOG_EXTRA_INFO is not set +# CONFIG_BOOTUP_DEBUG_PRINTS is not set + +# +# Linker Options +# +# CONFIG_AARCH32_RAM_LD is not set +CONFIG_AARCH64_RAM_LD=y +# CONFIG_USER_DEFINED_LD is not set +CONFIG_LINK_SCRIPT_ROM=y +CONFIG_ROM_START_UP_ADDR=0x80100000 +CONFIG_ROM_SIZE_MB=2 +CONFIG_LINK_SCRIPT_RAM=y +CONFIG_RAM_START_UP_ADDR=0x81000000 +CONFIG_RAM_SIZE_MB=64 +CONFIG_HEAP_SIZE=1 +CONFIG_STACK_SIZE=0x100000 +CONFIG_FPU_STACK_SIZE=0x1000 +# end of Linker Options + +# +# Compiler Options +# +CONFIG_OUTPUT_BINARY=y +# end of Compiler Options +# end of Building Option + +# +# Component Configuration +# + +# +# Freertos Uart Drivers +# +CONFIG_FREERTOS_USE_UART=y +# end of Freertos Uart Drivers + +# +# Freertos Qspi Drivers +# +# CONFIG_FREERTOS_USE_QSPI is not set +# end of Freertos Qspi Drivers + +# +# Freertos Wdt Drivers +# +# CONFIG_FREERTOS_USE_WDT is not set +# end of Freertos Wdt Drivers + +# +# Freertos Eth Drivers +# +# CONFIG_FREERTOS_USE_XMAC is not set +# end of Freertos Eth Drivers +# end of Component Configuration + +# +# FreeRTOS Setting +# +# CONFIG_USE_LWIP is not set +CONFIG_USE_BACKTRACE=y +# CONFIG_USE_FATFS is not set +# CONFIG_USE_SFUD is not set +# CONFIG_USE_SPIFFS is not set +# CONFIG_USE_AMP is not set +CONFIG_USE_LETTER_SHELL=y + +# +# Letter Shell Configuration +# +CONFIG_LS_PL011_UART=y +CONFIG_DEFAULT_LETTER_SHELL_USE_UART1=y +# CONFIG_DEFAULT_LETTER_SHELL_USE_UART0 is not set +# CONFIG_DEFAULT_LETTER_SHELL_USE_UART2 is not set +# end of Letter Shell Configuration +# end of FreeRTOS Setting diff --git a/configs/e2000q_aarch32_defconfig b/configs/e2000q_aarch32_defconfig new file mode 100644 index 00000000..a318a068 --- /dev/null +++ b/configs/e2000q_aarch32_defconfig @@ -0,0 +1,160 @@ + +# +# Project Configuration +# +CONFIG_TARGET_NAME="e2000q_freertos_a32" +# end of Project Configuration + +# +# Standalone Setting +# +CONFIG_USE_FREERTOS=y + +# +# Arch Configuration +# +CONFIG_TARGET_ARMV8_AARCH32=y +# CONFIG_TARGET_ARMV8_AARCH64 is not set +CONFIG_USE_CACHE=y +CONFIG_USE_MMU=y +CONFIG_USE_SYS_TICK=y +CONFIG_USE_AARCH64_L1_TO_AARCH32=y +# end of Arch Configuration + +# +# Board Configuration +# +# CONFIG_TARGET_F2000_4 is not set +# CONFIG_TARGET_D2000 is not set +CONFIG_TARGET_E2000Q=y +# CONFIG_TARGET_E2000D is not set +# CONFIG_TARGET_E2000S is not set +CONFIG_TARGET_E2000=y +CONFIG_DEFAULT_DEBUG_PRINT_UART1=y +# CONFIG_DEFAULT_DEBUG_PRINT_UART0 is not set +# CONFIG_DEFAULT_DEBUG_PRINT_UART2 is not set +# end of Board Configuration + +# +# Components Configuration +# +# CONFIG_USE_SPI is not set +# CONFIG_USE_QSPI is not set +CONFIG_USE_GIC=y +CONFIG_ENABLE_GICV3=y +CONFIG_USE_SERIAL=y + +# +# Usart Configuration +# +CONFIG_ENABLE_Pl011_UART=y +# end of Usart Configuration + +# CONFIG_USE_GPIO is not set +# CONFIG_USE_ETH is not set +# CONFIG_USE_CAN is not set +# CONFIG_USE_I2C is not set +# CONFIG_USE_TIMER is not set +# CONFIG_USE_MIO is not set +# CONFIG_USE_SDMMC is not set +# CONFIG_USE_PCIE is not set +# CONFIG_USE_WDT is not set +# CONFIG_USE_DMA is not set +# CONFIG_USE_NAND is not set +# CONFIG_USE_RTC is not set +# CONFIG_USE_SATA is not set +# CONFIG_USE_USB is not set +# CONFIG_USE_ADC is not set +# CONFIG_USE_PWM is not set +# CONFIG_USE_IPC is not set +# end of Components Configuration + +CONFIG_USE_NEW_LIBC=y +# end of Standalone Setting + +# +# Building Option +# +# CONFIG_LOG_VERBOS is not set +# CONFIG_LOG_DEBUG is not set +CONFIG_LOG_INFO=y +# CONFIG_LOG_WARN is not set +# CONFIG_LOG_ERROR is not set +# CONFIG_LOG_NONE is not set +CONFIG_USE_DEFAULT_INTERRUPT_CONFIG=y +CONFIG_INTERRUPT_ROLE_MASTER=y +# CONFIG_INTERRUPT_ROLE_SLAVE is not set +# CONFIG_LOG_EXTRA_INFO is not set +# CONFIG_BOOTUP_DEBUG_PRINTS is not set + +# +# Linker Options +# +CONFIG_AARCH32_RAM_LD=y +# CONFIG_AARCH64_RAM_LD is not set +# CONFIG_USER_DEFINED_LD is not set +CONFIG_LINK_SCRIPT_ROM=y +CONFIG_ROM_START_UP_ADDR=0x80100000 +CONFIG_ROM_SIZE_MB=1 +CONFIG_LINK_SCRIPT_RAM=y +CONFIG_RAM_START_UP_ADDR=0x81000000 +CONFIG_RAM_SIZE_MB=64 +CONFIG_HEAP_SIZE=1 +CONFIG_SVC_STACK_SIZE=0x1000 +CONFIG_SYS_STACK_SIZE=0x1000 +CONFIG_IRQ_STACK_SIZE=0x1000 +CONFIG_ABORT_STACK_SIZE=0x1000 +CONFIG_FIQ_STACK_SIZE=0x1000 +CONFIG_UNDEF_STACK_SIZE=0x1000 +# end of Linker Options + +# +# Compiler Options +# +# CONFIG_OUTPUT_BINARY is not set +# end of Compiler Options +# end of Building Option + +# +# Component Configuration +# + +# +# Freertos Uart Drivers +# +CONFIG_FREERTOS_USE_UART=y +# end of Freertos Uart Drivers + +# +# Freertos Qspi Drivers +# +# CONFIG_FREERTOS_USE_QSPI is not set +# end of Freertos Qspi Drivers + +# +# Freertos Wdt Drivers +# +# CONFIG_FREERTOS_USE_WDT is not set +# end of Freertos Wdt Drivers +# end of Component Configuration + +# +# FreeRTOS Setting +# +# CONFIG_USE_LWIP is not set +CONFIG_USE_BACKTRACE=y +# CONFIG_USE_FATFS is not set +# CONFIG_USE_SFUD is not set +# CONFIG_USE_SPIFFS is not set +# CONFIG_USE_AMP is not set +CONFIG_USE_LETTER_SHELL=y + +# +# Letter Shell Configuration +# +CONFIG_LS_PL011_UART=y +CONFIG_DEFAULT_LETTER_SHELL_USE_UART1=y +# CONFIG_DEFAULT_LETTER_SHELL_USE_UART0 is not set +# CONFIG_DEFAULT_LETTER_SHELL_USE_UART2 is not set +# end of Letter Shell Configuration +# end of FreeRTOS Setting diff --git a/configs/e2000q_aarch64_defconfig b/configs/e2000q_aarch64_defconfig new file mode 100644 index 00000000..ce5c58ee --- /dev/null +++ b/configs/e2000q_aarch64_defconfig @@ -0,0 +1,156 @@ + +# +# Project Configuration +# +CONFIG_TARGET_NAME="e2000q_freertos_a64" +# end of Project Configuration + +# +# Standalone Setting +# +CONFIG_USE_FREERTOS=y + +# +# Arch Configuration +# +# CONFIG_TARGET_ARMV8_AARCH32 is not set +CONFIG_TARGET_ARMV8_AARCH64=y +CONFIG_USE_CACHE=y +CONFIG_USE_MMU=y +CONFIG_USE_SYS_TICK=y +# CONFIG_MMU_DEBUG_PRINTS is not set +# end of Arch Configuration + +# +# Board Configuration +# +# CONFIG_TARGET_F2000_4 is not set +# CONFIG_TARGET_D2000 is not set +CONFIG_TARGET_E2000Q=y +# CONFIG_TARGET_E2000D is not set +# CONFIG_TARGET_E2000S is not set +CONFIG_TARGET_E2000=y +CONFIG_DEFAULT_DEBUG_PRINT_UART1=y +# CONFIG_DEFAULT_DEBUG_PRINT_UART0 is not set +# CONFIG_DEFAULT_DEBUG_PRINT_UART2 is not set +# end of Board Configuration + +# +# Components Configuration +# +# CONFIG_USE_SPI is not set +# CONFIG_USE_QSPI is not set +CONFIG_USE_GIC=y +CONFIG_ENABLE_GICV3=y +CONFIG_USE_SERIAL=y + +# +# Usart Configuration +# +CONFIG_ENABLE_Pl011_UART=y +# end of Usart Configuration + +# CONFIG_USE_GPIO is not set +# CONFIG_USE_ETH is not set +# CONFIG_USE_CAN is not set +# CONFIG_USE_I2C is not set +# CONFIG_USE_TIMER is not set +# CONFIG_USE_MIO is not set +# CONFIG_USE_SDMMC is not set +# CONFIG_USE_PCIE is not set +# CONFIG_USE_WDT is not set +# CONFIG_USE_DMA is not set +# CONFIG_USE_NAND is not set +# CONFIG_USE_RTC is not set +# CONFIG_USE_SATA is not set +# CONFIG_USE_USB is not set +# CONFIG_USE_ADC is not set +# CONFIG_USE_PWM is not set +# CONFIG_USE_IPC is not set +# end of Components Configuration + +CONFIG_USE_NEW_LIBC=y +# end of Standalone Setting + +# +# Building Option +# +# CONFIG_LOG_VERBOS is not set +# CONFIG_LOG_DEBUG is not set +CONFIG_LOG_INFO=y +# CONFIG_LOG_WARN is not set +# CONFIG_LOG_ERROR is not set +# CONFIG_LOG_NONE is not set +CONFIG_USE_DEFAULT_INTERRUPT_CONFIG=y +CONFIG_INTERRUPT_ROLE_MASTER=y +# CONFIG_INTERRUPT_ROLE_SLAVE is not set +# CONFIG_LOG_EXTRA_INFO is not set +# CONFIG_BOOTUP_DEBUG_PRINTS is not set + +# +# Linker Options +# +# CONFIG_AARCH32_RAM_LD is not set +CONFIG_AARCH64_RAM_LD=y +# CONFIG_USER_DEFINED_LD is not set +CONFIG_LINK_SCRIPT_ROM=y +CONFIG_ROM_START_UP_ADDR=0x80100000 +CONFIG_ROM_SIZE_MB=1 +CONFIG_LINK_SCRIPT_RAM=y +CONFIG_RAM_START_UP_ADDR=0x81000000 +CONFIG_RAM_SIZE_MB=64 +CONFIG_HEAP_SIZE=1 +CONFIG_STACK_SIZE=0x100000 +CONFIG_FPU_STACK_SIZE=0x1000 +# end of Linker Options + +# +# Compiler Options +# +# CONFIG_OUTPUT_BINARY is not set +# end of Compiler Options +# end of Building Option + +# +# Component Configuration +# + +# +# Freertos Uart Drivers +# +CONFIG_FREERTOS_USE_UART=y +# end of Freertos Uart Drivers + +# +# Freertos Qspi Drivers +# +# CONFIG_FREERTOS_USE_QSPI is not set +# end of Freertos Qspi Drivers + +# +# Freertos Wdt Drivers +# +# CONFIG_FREERTOS_USE_WDT is not set +# end of Freertos Wdt Drivers +# end of Component Configuration + +# +# FreeRTOS Setting +# +# CONFIG_USE_LWIP is not set +CONFIG_USE_BACKTRACE=y +# CONFIG_USE_FATFS is not set +# CONFIG_USE_SFUD is not set +# CONFIG_USE_SPIFFS is not set +# CONFIG_USE_AMP is not set +CONFIG_USE_LETTER_SHELL=y + +# +# Letter Shell Configuration +# +CONFIG_LS_PL011_UART=y +CONFIG_DEFAULT_LETTER_SHELL_USE_UART1=y +# CONFIG_DEFAULT_LETTER_SHELL_USE_UART0 is not set +# CONFIG_DEFAULT_LETTER_SHELL_USE_UART2 is not set +# end of Letter Shell Configuration +# end of FreeRTOS Setting diff --git a/configs/ft2004_aarch32_defconfig b/configs/ft2004_aarch32_defconfig index ff482858..7a8630c9 100644 --- a/configs/ft2004_aarch32_defconfig +++ b/configs/ft2004_aarch32_defconfig @@ -2,9 +2,7 @@ # # Project Configuration # -CONFIG_TARGET_NAME="ft2004_freertos" -#CONFIG_LWIP_POLL_TEST=y -# CONFIG_LWIP_INTRRUPT_TEST is not set +CONFIG_TARGET_NAME="ft2004_freertos_a32" # end of Project Configuration # @@ -17,7 +15,6 @@ CONFIG_USE_FREERTOS=y # CONFIG_TARGET_ARMV8_AARCH32=y # CONFIG_TARGET_ARMV8_AARCH64 is not set -# CONFIG_TARGET_ARMV7 is not set CONFIG_USE_CACHE=y CONFIG_USE_L3CACHE=y CONFIG_USE_MMU=y @@ -29,8 +26,13 @@ CONFIG_USE_AARCH64_L1_TO_AARCH32=y # Board Configuration # CONFIG_TARGET_F2000_4=y -# CONFIG_TARGET_E2000 is not set # CONFIG_TARGET_D2000 is not set +# CONFIG_TARGET_E2000Q is not set +# CONFIG_TARGET_E2000D is not set +# CONFIG_TARGET_E2000S is not set +CONFIG_DEFAULT_DEBUG_PRINT_UART1=y +# CONFIG_DEFAULT_DEBUG_PRINT_UART0 is not set +# CONFIG_DEFAULT_DEBUG_PRINT_UART2 is not set # end of Board Configuration # @@ -40,7 +42,7 @@ CONFIG_TARGET_F2000_4=y # CONFIG_USE_QSPI is not set CONFIG_USE_GIC=y CONFIG_ENABLE_GICV3=y -# CONFIG_USE_SERIAL is not set +CONFIG_USE_SERIAL=y # # Usart Configuration @@ -49,56 +51,44 @@ CONFIG_ENABLE_Pl011_UART=y # end of Usart Configuration # CONFIG_USE_GPIO is not set -# CONFIG_USE_IOMUX is not set -CONFIG_USE_ETH=y - -# -# Eth Configuration -# -# CONFIG_ENABLE_F_XMAC is not set -CONFIG_ENABLE_FGMAC=y - -# -# F_GMAC Configuration -# -# CONFIG_F_GMAC_PHY_COMMON is not set -# CONFIG_F_GMAC_PHY_AR803X is not set -# end of F_GMAC Configuration -# end of Eth Configuration - +# CONFIG_USE_ETH is not set # CONFIG_USE_CAN is not set # CONFIG_USE_I2C is not set # CONFIG_USE_TIMER is not set +# CONFIG_USE_MIO is not set # CONFIG_USE_SDMMC is not set # CONFIG_USE_PCIE is not set # CONFIG_USE_WDT is not set # CONFIG_USE_DMA is not set +# CONFIG_USE_NAND is not set +# CONFIG_USE_RTC is not set +# CONFIG_USE_SATA is not set +# CONFIG_USE_USB is not set +# CONFIG_USE_ADC is not set +# CONFIG_USE_PWM is not set +# CONFIG_USE_IPC is not set # end of Components Configuration -CONFIG_USE_LIBC=y +CONFIG_USE_NEW_LIBC=y # end of Standalone Setting # # Building Option # -CONFIG_ENVI_UBUNTU_20_04=y - -# -# Cross-Compiler Setting -# -CONFIG_COMPILER_NO_STD_STARUP=y -# CONFIG_USE_EXT_COMPILER is not set -# end of Cross-Compiler Setting - # CONFIG_LOG_VERBOS is not set # CONFIG_LOG_DEBUG is not set CONFIG_LOG_INFO=y # CONFIG_LOG_WARN is not set # CONFIG_LOG_ERROR is not set # CONFIG_LOG_NONE is not set +CONFIG_USE_DEFAULT_INTERRUPT_CONFIG=y +CONFIG_INTERRUPT_ROLE_MASTER=y +# CONFIG_INTERRUPT_ROLE_SLAVE is not set +# CONFIG_LOG_EXTRA_INFO is not set +# CONFIG_BOOTUP_DEBUG_PRINTS is not set # -# GNU Linker Setting +# Linker Options # CONFIG_AARCH32_RAM_LD=y # CONFIG_AARCH64_RAM_LD is not set @@ -110,8 +100,19 @@ CONFIG_LINK_SCRIPT_RAM=y CONFIG_RAM_START_UP_ADDR=0x81000000 CONFIG_RAM_SIZE_MB=64 CONFIG_HEAP_SIZE=1 -CONFIG_STACK_SIZE=0x100000 -# end of GNU Linker Setting +CONFIG_SVC_STACK_SIZE=0x1000 +CONFIG_SYS_STACK_SIZE=0x1000 +CONFIG_IRQ_STACK_SIZE=0x1000 +CONFIG_ABORT_STACK_SIZE=0x1000 +CONFIG_FIQ_STACK_SIZE=0x1000 +CONFIG_UNDEF_STACK_SIZE=0x1000 +# end of Linker Options + +# +# Compiler Options +# +# CONFIG_OUTPUT_BINARY is not set +# end of Compiler Options # end of Building Option # @@ -119,20 +120,47 @@ CONFIG_STACK_SIZE=0x100000 # # -# Freertos Drivers +# Freertos Uart Drivers # CONFIG_FREERTOS_USE_UART=y -# end of Freertos Drivers +# end of Freertos Uart Drivers + +# +# Freertos Qspi Drivers +# +# CONFIG_FREERTOS_USE_QSPI is not set +# end of Freertos Qspi Drivers + +# +# Freertos Wdt Drivers +# +# CONFIG_FREERTOS_USE_WDT is not set +# end of Freertos Wdt Drivers + +# +# Freertos Eth Drivers +# +# CONFIG_FREERTOS_USE_XMAC is not set +# end of Freertos Eth Drivers # end of Component Configuration # # FreeRTOS Setting # -#CONFIG_USE_LWIP=y +# CONFIG_USE_LWIP is not set +CONFIG_USE_BACKTRACE=y +# CONFIG_USE_FATFS is not set +# CONFIG_USE_SFUD is not set +# CONFIG_USE_SPIFFS is not set +# CONFIG_USE_AMP is not set +CONFIG_USE_LETTER_SHELL=y # -# LWIP Configuration +# Letter Shell Configuration # -#CONFIG_LWIP_F_GMAC=y -# end of LWIP Configuration +CONFIG_LS_PL011_UART=y +CONFIG_DEFAULT_LETTER_SHELL_USE_UART1=y +# CONFIG_DEFAULT_LETTER_SHELL_USE_UART0 is not set +# CONFIG_DEFAULT_LETTER_SHELL_USE_UART2 is not set +# end of Letter Shell Configuration # end of FreeRTOS Setting diff --git a/configs/ft2004_aarch64_defconfig b/configs/ft2004_aarch64_defconfig index 9c842ff9..6becaf30 100644 --- a/configs/ft2004_aarch64_defconfig +++ b/configs/ft2004_aarch64_defconfig @@ -2,8 +2,7 @@ # # Project Configuration # -CONFIG_TARGET_NAME="ft2004_freertos" -# CONFIG_LWIP_INTRRUPT_TEST is not set +CONFIG_TARGET_NAME="ft2004_freertos_a64" # end of Project Configuration # @@ -16,19 +15,24 @@ CONFIG_USE_FREERTOS=y # # CONFIG_TARGET_ARMV8_AARCH32 is not set CONFIG_TARGET_ARMV8_AARCH64=y -# CONFIG_TARGET_ARMV7 is not set CONFIG_USE_CACHE=y CONFIG_USE_L3CACHE=y CONFIG_USE_MMU=y CONFIG_USE_SYS_TICK=y +# CONFIG_MMU_DEBUG_PRINTS is not set # end of Arch Configuration # # Board Configuration # CONFIG_TARGET_F2000_4=y -# CONFIG_TARGET_E2000 is not set # CONFIG_TARGET_D2000 is not set +# CONFIG_TARGET_E2000Q is not set +# CONFIG_TARGET_E2000D is not set +# CONFIG_TARGET_E2000S is not set +CONFIG_DEFAULT_DEBUG_PRINT_UART1=y +# CONFIG_DEFAULT_DEBUG_PRINT_UART0 is not set +# CONFIG_DEFAULT_DEBUG_PRINT_UART2 is not set # end of Board Configuration # @@ -38,7 +42,7 @@ CONFIG_TARGET_F2000_4=y # CONFIG_USE_QSPI is not set CONFIG_USE_GIC=y CONFIG_ENABLE_GICV3=y -# CONFIG_USE_SERIAL is not set +CONFIG_USE_SERIAL=y # # Usart Configuration @@ -47,56 +51,44 @@ CONFIG_ENABLE_Pl011_UART=y # end of Usart Configuration # CONFIG_USE_GPIO is not set -# CONFIG_USE_IOMUX is not set -CONFIG_USE_ETH=y - -# -# Eth Configuration -# -# CONFIG_ENABLE_F_XMAC is not set -CONFIG_ENABLE_FGMAC=y - -# -# F_GMAC Configuration -# -# CONFIG_F_GMAC_PHY_COMMON is not set -# CONFIG_F_GMAC_PHY_AR803X is not set -# end of F_GMAC Configuration -# end of Eth Configuration - +# CONFIG_USE_ETH is not set # CONFIG_USE_CAN is not set # CONFIG_USE_I2C is not set # CONFIG_USE_TIMER is not set +# CONFIG_USE_MIO is not set # CONFIG_USE_SDMMC is not set # CONFIG_USE_PCIE is not set # CONFIG_USE_WDT is not set # CONFIG_USE_DMA is not set +# CONFIG_USE_NAND is not set +# CONFIG_USE_RTC is not set +# CONFIG_USE_SATA is not set +# CONFIG_USE_USB is not set +# CONFIG_USE_ADC is not set +# CONFIG_USE_PWM is not set +# CONFIG_USE_IPC is not set # end of Components Configuration -CONFIG_USE_LIBC=y +CONFIG_USE_NEW_LIBC=y # end of Standalone Setting # # Building Option # -CONFIG_ENVI_UBUNTU_20_04=y - -# -# Cross-Compiler Setting -# -CONFIG_COMPILER_NO_STD_STARUP=y -# CONFIG_USE_EXT_COMPILER is not set -# end of Cross-Compiler Setting - # CONFIG_LOG_VERBOS is not set # CONFIG_LOG_DEBUG is not set CONFIG_LOG_INFO=y # CONFIG_LOG_WARN is not set # CONFIG_LOG_ERROR is not set # CONFIG_LOG_NONE is not set +CONFIG_USE_DEFAULT_INTERRUPT_CONFIG=y +CONFIG_INTERRUPT_ROLE_MASTER=y +# CONFIG_INTERRUPT_ROLE_SLAVE is not set +# CONFIG_LOG_EXTRA_INFO is not set +# CONFIG_BOOTUP_DEBUG_PRINTS is not set # -# GNU Linker Setting +# Linker Options # # CONFIG_AARCH32_RAM_LD is not set CONFIG_AARCH64_RAM_LD=y @@ -107,9 +99,16 @@ CONFIG_ROM_SIZE_MB=1 CONFIG_LINK_SCRIPT_RAM=y CONFIG_RAM_START_UP_ADDR=0x81000000 CONFIG_RAM_SIZE_MB=64 -CONFIG_HEAP_SIZE=0x100000 -CONFIG_STACK_TOP_ADDR=0x82000000 +CONFIG_HEAP_SIZE=1 +CONFIG_STACK_SIZE=0x100000 +CONFIG_FPU_STACK_SIZE=0x1000 # end of Linker Options + +# +# Compiler Options +# +# CONFIG_OUTPUT_BINARY is not set +# end of Compiler Options # end of Building Option # @@ -117,20 +116,47 @@ CONFIG_STACK_TOP_ADDR=0x82000000 # # -# Freertos Drivers +# Freertos Uart Drivers # CONFIG_FREERTOS_USE_UART=y -# end of Freertos Drivers +# end of Freertos Uart Drivers + +# +# Freertos Qspi Drivers +# +# CONFIG_FREERTOS_USE_QSPI is not set +# end of Freertos Qspi Drivers + +# +# Freertos Wdt Drivers +# +# CONFIG_FREERTOS_USE_WDT is not set +# end of Freertos Wdt Drivers + +# +# Freertos Eth Drivers +# +# CONFIG_FREERTOS_USE_XMAC is not set +# end of Freertos Eth Drivers # end of Component Configuration # # FreeRTOS Setting # -#CONFIG_USE_LWIP=y +# CONFIG_USE_LWIP is not set +CONFIG_USE_BACKTRACE=y +# CONFIG_USE_FATFS is not set +# CONFIG_USE_SFUD is not set +# CONFIG_USE_SPIFFS is not set +# CONFIG_USE_AMP is not set +CONFIG_USE_LETTER_SHELL=y # -# LWIP Configuration +# Letter Shell Configuration # -#CONFIG_LWIP_F_GMAC=y -# end of LWIP Configuration +CONFIG_LS_PL011_UART=y +CONFIG_DEFAULT_LETTER_SHELL_USE_UART1=y +# CONFIG_DEFAULT_LETTER_SHELL_USE_UART0 is not set +# CONFIG_DEFAULT_LETTER_SHELL_USE_UART2 is not set +# end of Letter Shell Configuration # end of FreeRTOS Setting diff --git a/docs/ChangeLog.md b/docs/ChangeLog.md index 5403a555..14f6c5a6 100644 --- a/docs/ChangeLog.md +++ b/docs/ChangeLog.md @@ -1,3 +1,38 @@ +# Phytium FreeRTOS SDK 2022-08-10 0.2.2 ChangeLog + +Change Log sinc 0.2.1 + +## driver + +- add gpio freertos driver +- add spi freertos driver +- add ddma freertos driver +- add gdma freertos driver +- add sdio freertos driver + +## example + +- add gpio, gdma, ddma example +- add spi nor flash, tf emmc example + +## third-party + +- add tlsf to implement memory pool +- add sfud to support nor flash +- add sdmmc to support tf/emmc + +# Phytium FreeRTOS SDK 2022-08-18 ChangeLog + +Change Log sinc 2022-08-16 + +## driver + +- add pwm driver + +## example + +- add pwm test example + # Phytium FreeRTOS SDK 2022-08-10 0.2.1 ChangeLog Change Log sinc 0.2.0 diff --git a/drivers/Kconfig b/drivers/Kconfig index 6d789a47..b625a8a3 100644 --- a/drivers/Kconfig +++ b/drivers/Kconfig @@ -5,6 +5,15 @@ menu "Freertos Uart Drivers" default n endmenu +menu "Freertos Pwm Drivers" + config FREERTOS_USE_PWM + bool + prompt "Use Freertos pwm driver" + default n + select USE_PWM + select USE_FPWM +endmenu + menu "Freertos Qspi Drivers" config FREERTOS_USE_QSPI bool @@ -19,10 +28,42 @@ menu "Freertos Wdt Drivers" default n endmenu - menu "Freertos Eth Drivers" -config FREERTOS_USE_XMAC + config FREERTOS_USE_XMAC + bool + prompt "Use Freertos xmac driver" + default n +endmenu + +menu "Freertos Gpio Drivers" + config FREERTOS_USE_GPIO bool - prompt "Use Freertos xmac driver" + prompt "Use Freertos gpio driver" default n +endmenu + +menu "Freertos Spim Drivers" + config FREERTOS_USE_FSPIM + bool + prompt "Use Freertos spim driver" + default n +endmenu + +menu "Freertos DMA Drivers" + config FREERTOS_USE_FDDMA + bool + prompt "Use Freertos ddma driver" + default n + + config FREERTOS_USE_FGDMA + bool + prompt "Use Freertos gdma driver" + default n +endmenu + +menu "Freertos MMC Drivers" + config FREERTOS_USE_FSDIO + bool + prompt "Use Freertos sdio driver" + default n endmenu \ No newline at end of file diff --git a/drivers/dma/fddma/fddma_os.c b/drivers/dma/fddma/fddma_os.c new file mode 100644 index 00000000..10d273aa --- /dev/null +++ b/drivers/dma/fddma/fddma_os.c @@ -0,0 +1,376 @@ +/* + * Copyright : (C) 2022 Phytium Information Technology, Inc. + * All Rights Reserved. + * + * This program is OPEN SOURCE software: you can redistribute it and/or modify it + * under the terms of the Phytium Public License as published by the Phytium Technology Co.,Ltd, + * either version 1.0 of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful,but WITHOUT ANY WARRANTY; + * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + * See the Phytium Public License for more details. + * + * + * FilePath: fddma_os.c + * Date: 2022-07-18 08:51:25 + * LastEditTime: 2022-07-18 08:51:25 + * Description:  This files is for + * + * Modify History: + * Ver   Who        Date         Changes + * ----- ------     --------    -------------------------------------- + * 1.0 zhugengyu 2022/7/27 init commit + */ + +/***************************** Include Files *********************************/ +#include + +#include "ft_assert.h" +#include "ft_debug.h" +#include "interrupt.h" +#include "cpu_info.h" +#include "fsleep.h" + +#include "fddma_os.h" + +/************************** Constant Definitions *****************************/ + +/**************************** Type Definitions *******************************/ + +/************************** Variable Definitions *****************************/ +static FFreeRTOSDdma ddma[FDDMA_INSTANCE_NUM]; + +/***************** Macros (Inline Functions) Definitions *********************/ +#define FDDMA_DEBUG_TAG "DDMA-OS" +#define FDDMA_ERROR(format, ...) FT_DEBUG_PRINT_E(FDDMA_DEBUG_TAG, format, ##__VA_ARGS__) +#define FDDMA_WARN(format, ...) FT_DEBUG_PRINT_W(FDDMA_DEBUG_TAG, format, ##__VA_ARGS__) +#define FDDMA_INFO(format, ...) FT_DEBUG_PRINT_I(FDDMA_DEBUG_TAG, format, ##__VA_ARGS__) +#define FDDMA_DEBUG(format, ...) FT_DEBUG_PRINT_D(FDDMA_DEBUG_TAG, format, ##__VA_ARGS__) + +/************************** Function Prototypes ******************************/ +static inline FError FDdmaOsTakeSema(SemaphoreHandle_t locker) +{ + FASSERT_MSG((NULL != locker), "locker not exists"); + if (pdFALSE == xSemaphoreTake(locker, portMAX_DELAY)) + { + FDDMA_ERROR("failed to give locker !!!"); + return FFREERTOS_DDMA_SEMA_ERR; + } + + return FFREERTOS_DDMA_OK; +} + +static inline void FDdmaOsGiveSema(SemaphoreHandle_t locker) +{ + FASSERT_MSG((NULL != locker), "locker not exists"); + if (pdFALSE == xSemaphoreGive(locker)) + { + FDDMA_ERROR("failed to give locker !!!"); + } + + return; +} + +/*****************************************************************************/ +static void FDdmaOsSetupInterrupt(FDdma *const instance) +{ + FASSERT(instance); + FDdmaConfig *config = &instance->config; + uintptr base_addr = config->base_addr; + u32 cpu_id = 0; + + GetCpuId(&cpu_id); + FDDMA_INFO("cpu_id is cpu_id %d", cpu_id); + InterruptSetTargetCpus(config->irq_num, cpu_id); + InterruptSetPriority(config->irq_num, config->irq_prority); + + /* register intr callback */ + InterruptInstall(config->irq_num, + FDdmaIrqHandler, + instance, + NULL); + + /* enable ddma0 irq */ + InterruptUmask(config->irq_num); + + FDDMA_INFO("ddma interrupt setup done !!!"); + return; +} + +/** + * @name: FFreeRTOSDdmaInit + * @msg: init and get ddma instance + * @return {FFreeRTOSDdma *} return NULL if failed, otherwise success and return instance + * @param {u32} id, ddma instance id + * @param {FFreeRTOSDdmaConfig} *input_config, freertos ddma config + */ +FFreeRTOSDdma *FFreeRTOSDdmaInit(u32 id, const FFreeRTOSDdmaConfig *input_config) +{ + FASSERT(id < FDDMA_INSTANCE_NUM); + FFreeRTOSDdma *instance = &ddma[id]; + FDdma *ctrl = &instance->ctrl; + FDdmaConfig config; + FError err = FT_SUCCESS; + + if (FT_COMPONENT_IS_READY == ctrl->is_ready) + { + FDDMA_WARN("ddma-%d already init", config.id); + return instance; + } + + /* no scheduler during init */ + taskENTER_CRITICAL(); + + instance->config = *input_config; + config = *FDdmaLookupConfig(id); + config.irq_prority = FFREERTOS_DDMA_IRQ_PRIORITY; + err = FDdmaCfgInitialization(ctrl, &config); + if (FDDMA_SUCCESS != err) + { + FDDMA_ERROR("init ddma-%d failed, err: 0x%x !!!", id, err); + goto err_exit; + } + + FASSERT_MSG(NULL == instance->locker, "locker exists !!!"); + FASSERT_MSG((instance->locker = xSemaphoreCreateMutex()) != NULL, "create mutex failed !!!"); + + FDdmaOsSetupInterrupt(ctrl); + +err_exit: + taskEXIT_CRITICAL(); /* allow schedule after init */ + return (FT_SUCCESS == err) ? instance : NULL; /* exit with NULL if failed */ +} + +/** + * @name: FFreeRTOSDdmaDeinit + * @msg: deinit ddma instance + * @return {FError} FT_SUCCESS if deinit success + * @param {FFreeRTOSDdma} *instance, freertos ddma instance + */ +FError FFreeRTOSDdmaDeinit(FFreeRTOSDdma *const instance) +{ + FASSERT(instance); + FDdma *ctrl = &instance->ctrl; + FDdmaConfig *config = &ctrl->config; + FError err = FT_SUCCESS; + + if (FT_COMPONENT_IS_READY != ctrl->is_ready) + { + FDDMA_ERROR("ddma-%d not yet init !!!", ctrl->config.id); + return FFREERTOS_DDMA_NOT_INIT; + } + + /* no scheduler during deinit */ + taskENTER_CRITICAL(); + + FASSERT_MSG(NULL != instance->locker, "locker not exists !!!"); + + /* disable ddma irq */ + FDdmaStop(ctrl); + + FDdmaDeInitialization(ctrl); + + vSemaphoreDelete(instance->locker); + instance->locker = NULL; + + taskEXIT_CRITICAL(); /* allow schedule after deinit */ + + memset(instance, 0U, sizeof(*instance)); + + return err; +} + +/** + * @name: FFreeRTOSDdmaSetupChannel + * @msg: setup ddma channel before transfer + * @return {FError} FT_SUCCESS if setup success + * @param {FFreeRTOSDdma} *instance, freertos ddma instance + * @param {FFreeRTOSRequest} *request, ddma request + */ +FError FFreeRTOSDdmaSetupChannel(FFreeRTOSDdma *const instance, u32 chan_id, const FFreeRTOSRequest *request) +{ + FASSERT(instance && request); + FASSERT(chan_id < FDDMA_NUM_OF_CHAN); + FDdma *ctrl = &instance->ctrl; + FDdmaConfig *config = &ctrl->config; + FDdmaChan *chan = &(instance->chan[chan_id]); + FDdmaChanConfig *chan_config = &(chan->config); + FError err = FT_SUCCESS; + + err = FDdmaOsTakeSema(instance->locker); + if (FFREERTOS_DDMA_OK != err) + return err; + + /* parpare channel configs */ + chan_config->id = chan_id; + chan_config->slave_id = request->slave_id; + FASSERT_MSG((0 != request->mem_addr), "invaild memory address"); + chan_config->ddr_addr = request->mem_addr; + chan_config->dev_addr = request->dev_addr; + chan_config->req_mode = request->is_rx ? FDDMA_CHAN_REQ_RX : FDDMA_CHAN_REQ_TX; + chan_config->timeout = 0xffff; + chan_config->trans_len = request->trans_len; + + FDDMA_INFO("channel: %d, slave id: %d, ddr: 0x%x, dev: 0x%x, req mode: %s, trans len: %d", + chan_config->id, + chan_config->slave_id, + chan_config->ddr_addr, + chan_config->dev_addr, + (FDDMA_CHAN_REQ_TX == chan_config->req_mode) ? "mem=>dev" : "dev=>mem", + chan_config->trans_len); + + /* allocate channel */ + err = FDdmaAllocateChan(ctrl, chan, chan_config); + if (FDDMA_SUCCESS != err) + { + FDDMA_ERROR("channel bind failed: 0x%x", err); + goto err_exit; + } + + FDdmaRegisterChanEvtHandler(chan, FDDMA_CHAN_EVT_REQ_DONE, + request->req_done_handler, request->req_done_args); + +err_exit: + FDdmaOsGiveSema(instance->locker); + return err; +} + +/** + * @name: FFreeRTOSDdmaRevokeChannel + * @msg: revoke channel setup + * @return {FError} FT_SUCCESS if revoke channel setting success + * @param {FFreeRTOSDdma} *instance, freertos ddma instance + * @param {u32} chan_id, id of ddma channel + */ +FError FFreeRTOSDdmaRevokeChannel(FFreeRTOSDdma *const instance, u32 chan_id) +{ + FASSERT(instance); + FASSERT(chan_id < FDDMA_NUM_OF_CHAN); + FDdma *ctrl = &instance->ctrl; + FDdmaChan *chan = &(instance->chan[chan_id]); + FError err = FT_SUCCESS; + + err = FDdmaOsTakeSema(instance->locker); + if (FFREERTOS_DDMA_OK != err) + return err; + + err = FDdmaDeactiveChan(chan); /* deactive channel in use */ + if (FDDMA_SUCCESS != err) + { + FDDMA_ERROR("channel deactive failed: 0x%x", err); + goto err_exit; + } + + err = FDdmaDellocateChan(chan); /* free channel resource */ + if (FDDMA_SUCCESS != err) + { + FDDMA_ERROR("channel deallocate failed: 0x%x", err); + goto err_exit; + } + +err_exit: + FDdmaOsGiveSema(instance->locker); + return err; +} + +/** + * @name: FFreeRTOSDdmaStartChannel + * @msg: start dma transfer + * @return {FError} FT_SUCCESS if start success + * @param {FFreeRTOSDdma} *instance, freertos ddma instance + */ +FError FFreeRTOSDdmaStartChannel(FFreeRTOSDdma *const instance, u32 chan_id) +{ + FASSERT(instance); + FDdma *ctrl = &instance->ctrl; + FDdmaConfig *config = &ctrl->config; + FError err = FT_SUCCESS; + FDdmaChan *chan; + + err = FDdmaOsTakeSema(instance->locker); + if (FFREERTOS_DDMA_OK != err) + return err; + + /* active all channel allocated */ + chan = ctrl->chan[chan_id]; + if (NULL != chan) /* skip if channel not in use */ + { + err = FDdmaActiveChan(chan); /* active channel if in use */ + if (FDDMA_SUCCESS != err) + { + FDDMA_ERROR("channel start failed: 0x%x", err); + goto err_exit; + } + } + + err = FDdmaStart(ctrl); /* start ddma controller */ + if (FDDMA_SUCCESS != err) + { + FDDMA_ERROR("start ddma failed: 0x%x", err); + goto err_exit; + } + +err_exit: + FDdmaOsGiveSema(instance->locker); + return err; +} + +FError FFreeRTOSDdmaStopChannel(FFreeRTOSDdma *const instance, u32 chan_id) +{ + FASSERT(instance); + FDdma *ctrl = &instance->ctrl; + FDdmaConfig *config = &ctrl->config; + FError err = FT_SUCCESS; + FDdmaChan *chan; + + err = FDdmaOsTakeSema(instance->locker); + if (FFREERTOS_DDMA_OK != err) + return err; + + /* deactive all channel allocated */ + chan = ctrl->chan[chan_id]; + if (NULL != chan) /* skip if channel not in use */ + { + err = FDdmaDeactiveChan(chan); /* deactive channel if in use */ + if (FDDMA_SUCCESS != err) + { + FDDMA_ERROR("channel start failed: 0x%x", err); + goto err_exit; + } + } + +err_exit: + FDdmaOsGiveSema(instance->locker); + return err; +} + +/** + * @name: FFreeRTOSDdmaStop + * @msg: stop current dma transfer + * @return {FError} FT_SUCCESS if stop success + * @param {FFreeRTOSDdma} *instance, freertos ddma instance + */ +FError FFreeRTOSDdmaStop(FFreeRTOSDdma *const instance) +{ + FASSERT(instance); + FDdma *ctrl = &instance->ctrl; + FDdmaConfig *config = &ctrl->config; + FError err = FT_SUCCESS; + FDdmaChan *chan; + u32 chan_id; + + err = FDdmaOsTakeSema(instance->locker); + if (FFREERTOS_DDMA_OK != err) + return err; + + err = FDdmaStop(ctrl); /* stop ddma controller */ + if (FDDMA_SUCCESS != err) + { + FDDMA_ERROR("stop ddma failed: 0x%x", err); + goto err_exit; + } + +err_exit: + FDdmaOsGiveSema(instance->locker); + return err; +} \ No newline at end of file diff --git a/drivers/dma/fddma/fddma_os.h b/drivers/dma/fddma/fddma_os.h new file mode 100644 index 00000000..c3a5ad42 --- /dev/null +++ b/drivers/dma/fddma/fddma_os.h @@ -0,0 +1,106 @@ +/* + * Copyright : (C) 2022 Phytium Information Technology, Inc. + * All Rights Reserved. + * + * This program is OPEN SOURCE software: you can redistribute it and/or modify it + * under the terms of the Phytium Public License as published by the Phytium Technology Co.,Ltd, + * either version 1.0 of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful,but WITHOUT ANY WARRANTY; + * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + * See the Phytium Public License for more details. + * + * + * FilePath: fddma_os.h + * Date: 2022-07-20 09:15:37 + * LastEditTime: 2022-07-20 09:15:38 + * Description:  This files is for + * + * Modify History: + * Ver   Who        Date         Changes + * ----- ------     --------    -------------------------------------- + * 1.0 zhugengyu 2022/7/27 init commit + */ +#ifndef DRIVERS_FDDMA_OS_H +#define DRIVERS_FDDMA_OS_H + +#ifdef __cplusplus +extern "C" +{ +#endif + +/***************************** Include Files *********************************/ +#include +#include +#include + +#include "parameters.h" +#include "fddma.h" + +/************************** Constant Definitions *****************************/ +#define FFREERTOS_DDMA_OK FT_SUCCESS +#define FFREERTOS_DDMA_NOT_INIT FT_CODE_ERR(ErrModPort, ErrDdma, 0) +#define FFREERTOS_DDMA_SEMA_ERR FT_CODE_ERR(ErrModPort, ErrDdma, 1) +#define FFREERTOS_DDMA_ALREADY_INIT FT_CODE_ERR(ErrModPort, ErrDdma, 2) +#define FFREERTOS_DDMA_EVT_TIMEOUT FT_CODE_ERR(ErrModPort, ErrDdma, 3) + + +#define FFREERTOS_DDMA_IRQ_PRIORITY IRQ_PRIORITY_VALUE_12 +/**************************** Type Definitions *******************************/ + +typedef struct +{ + +} FFreeRTOSDdmaConfig; /* freertos ddma config, reserved for future use */ + +typedef struct +{ + FDdma ctrl; + FFreeRTOSDdmaConfig config; + SemaphoreHandle_t locker; + FDdmaChan chan[FDDMA_NUM_OF_CHAN]; /* ddma channel of instance */ +} FFreeRTOSDdma; /* freertos ddma instance */ + +typedef struct +{ + u32 slave_id; /* slave id of periperal */ + uintptr mem_addr; /* memory address of transfer */ + uintptr dev_addr; /* periperal device address of transfer */ + uintptr trans_len; /* total bytes of transfer */ + boolean is_rx; /* TRUE: dev ==> mem, FALSE: mem ==> dev */ + FDdmaChanEvtHandler req_done_handler; /* callback when request done */ + void *req_done_args; +} FFreeRTOSRequest; /* freertos ddma transfer request */ + +/************************** Variable Definitions *****************************/ + +/***************** Macros (Inline Functions) Definitions *********************/ + +/************************** Function Prototypes ******************************/ + +/* init and get ddma instance */ +FFreeRTOSDdma *FFreeRTOSDdmaInit(u32 instance_id, const FFreeRTOSDdmaConfig *config); + +/* deinit ddma instance */ +FError FFreeRTOSDdmaDeinit(FFreeRTOSDdma *const instance); + +/* setup ddma channel before transfer */ +FError FFreeRTOSDdmaSetupChannel(FFreeRTOSDdma *const instance, u32 chan_id, const FFreeRTOSRequest *request); + +/* revoke channel setup */ +FError FFreeRTOSDdmaRevokeChannel(FFreeRTOSDdma *const instance, u32 chan_id); + +/* start dma transfer of channel */ +FError FFreeRTOSDdmaStartChannel(FFreeRTOSDdma *const instance, u32 chan_id); + +/* stop dma transfer of channel */ +FError FFreeRTOSDdmaStopChannel(FFreeRTOSDdma *const instance, u32 chan_id); + +/* stop all dma channel */ +FError FFreeRTOSDdmaStop(FFreeRTOSDdma *const instance); + +#ifdef __cplusplus +} +#endif + +#endif \ No newline at end of file diff --git a/drivers/dma/fgdma/fgdma_os.c b/drivers/dma/fgdma/fgdma_os.c new file mode 100644 index 00000000..f5e37ac1 --- /dev/null +++ b/drivers/dma/fgdma/fgdma_os.c @@ -0,0 +1,294 @@ +/* + * Copyright : (C) 2022 Phytium Information Technology, Inc. + * All Rights Reserved. + * + * This program is OPEN SOURCE software: you can redistribute it and/or modify it + * under the terms of the Phytium Public License as published by the Phytium Technology Co.,Ltd, + * either version 1.0 of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful,but WITHOUT ANY WARRANTY; + * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + * See the Phytium Public License for more details. + * + * + * FilePath: fgdma_os.c + * Date: 2022-07-20 10:54:31 + * LastEditTime: 2022-07-20 10:54:31 + * Description:  This files is for + * + * Modify History: + * Ver   Who        Date         Changes + * ----- ------     --------    -------------------------------------- + * 1.0 zhugengyu 2022/7/27 init commit + */ +/***************************** Include Files *********************************/ +#include +#include +#include + +#include "interrupt.h" +#include "parameters.h" +#include "ft_debug.h" +#include "fsleep.h" +#include "cpu_info.h" + +#include "fgdma.h" +#include "fgdma_hw.h" + +#include "fgdma_os.h" + +/************************** Constant Definitions *****************************/ + +/**************************** Type Definitions *******************************/ + +/************************** Variable Definitions *****************************/ +static FFreeRTOSGdma gdma[FGDMA_INSTANCE_NUM]; + +/***************** Macros (Inline Functions) Definitions *********************/ +#define FGDMA_DEBUG_TAG "GDMA-OS" +#define FGDMA_ERROR(format, ...) FT_DEBUG_PRINT_E(FGDMA_DEBUG_TAG, format, ##__VA_ARGS__) +#define FGDMA_WARN(format, ...) FT_DEBUG_PRINT_W(FGDMA_DEBUG_TAG, format, ##__VA_ARGS__) +#define FGDMA_INFO(format, ...) FT_DEBUG_PRINT_I(FGDMA_DEBUG_TAG, format, ##__VA_ARGS__) +#define FGDMA_DEBUG(format, ...) FT_DEBUG_PRINT_D(FGDMA_DEBUG_TAG, format, ##__VA_ARGS__) + +/************************** Function Prototypes ******************************/ + +/*****************************************************************************/ +static inline FError FGdmaOsTakeSema(SemaphoreHandle_t locker) +{ + FASSERT_MSG((NULL != locker), "locker not exists"); + if (pdFALSE == xSemaphoreTake(locker, portMAX_DELAY)) + { + FGDMA_ERROR("failed to take locker !!!"); + return FFREERTOS_GDMA_SEMA_ERR; + } + + return FFREERTOS_GDMA_OK; +} + +static inline void FGdmaOsGiveSema(SemaphoreHandle_t locker) +{ + FASSERT_MSG((NULL != locker), "locker not exists"); + if (pdFALSE == xSemaphoreGive(locker)) + { + FGDMA_ERROR("failed to give locker !!!"); + } + + return; +} + +static void FGdmaOsSetupInterrupt(FGdma *const ctrl) +{ + FASSERT(ctrl); + FGdmaConfig *config = &ctrl->config; + uintptr base_addr = config->base_addr; + u32 cpu_id = 0; + + GetCpuId(&cpu_id); + FGDMA_INFO("cpu_id is cpu_id %d", cpu_id); + FGDMA_INFO("interrupt_id is %d", config->irq_num); + InterruptSetTargetCpus(config->irq_num, cpu_id); + + InterruptSetPriority(config->irq_num, config->irq_prority); + + /* register intr callback */ + InterruptInstall(config->irq_num, + FGdmaIrqHandler, + ctrl, + NULL); + + /* enable gdma irq */ + InterruptUmask(config->irq_num); + + FGDMA_INFO("gdma interrupt setup done !!!"); + return; +} + +FFreeRTOSGdma *FFreeRTOSGdmaInit(u32 id) +{ + FASSERT_MSG(id < FGDMA_INSTANCE_NUM, "invalid gdma id"); + FFreeRTOSGdma *instance = &gdma[id]; + FGdma *const ctrl = &instance->ctrl; + FGdmaConfig config; + FMemp *memp = &instance->memp; + void *memp_buf_beg = (void *)instance->memp_buf; + void *memp_buf_end = (void *)instance->memp_buf + sizeof(instance->memp_buf); + FError err = FFREERTOS_GDMA_OK; + + if (FT_COMPONENT_IS_READY == ctrl->is_ready) + { + FGDMA_WARN("gdma ctrl %d already inited !!!", id); + return instance; + } + + /* no scheduler during init */ + taskENTER_CRITICAL(); + + config = *FGdmaLookupConfig(id); + config.irq_prority = FFREERTOS_GDMA_IRQ_PRIORITY; + err = FGdmaCfgInitialize(ctrl, &config); + if (FGDMA_SUCCESS != err) + { + FGDMA_ERROR("init gdma-%d failed, 0x%x", id, err); + goto err_exit; + } + + FGdmaOsSetupInterrupt(ctrl); + + err = FMempInit(memp, memp_buf_beg, memp_buf_end); + if (FMEMP_SUCCESS != err) + { + FGDMA_ERROR("init memp failed, 0x%x", err); + goto err_exit; + } + + FASSERT_MSG(NULL == instance->locker, "locker exists !!!"); + FASSERT_MSG((instance->locker = xSemaphoreCreateMutex()) != NULL, "create mutex failed !!!"); + + /* start gdma first, then config gdma channel */ + err = FGdmaStart(ctrl); + +err_exit: + taskEXIT_CRITICAL(); /* allow schedule after init */ + return (FT_SUCCESS == err) ? instance : NULL; /* exit with NULL if failed */ +} + +FError FFreeRTOSGdmaDeInit(FFreeRTOSGdma *const instance) +{ + FASSERT(instance); + FGdma *const ctrl = &instance->ctrl; + FGdmaConfig *config = &ctrl->config; + FMemp *memp = &instance->memp; + FError err = FFREERTOS_GDMA_OK; + + if (FT_COMPONENT_IS_READY != ctrl->is_ready) + { + FGDMA_ERROR("gdma ctrl %d not yet init !!!", ctrl->config.instance_id); + return FFREERTOS_GDMA_NOT_INIT; + } + + taskENTER_CRITICAL(); /* no schedule when deinit instance */ + + err = FGdmaStop(ctrl); + FMempDeinit(memp); + FGdmaDeInitialize(ctrl); + + vSemaphoreDelete(instance->locker); + instance->locker = NULL; + + taskEXIT_CRITICAL(); /* allow schedule after deinit */ + return err; +} + +FError FFreeRTOSGdmaSetupChannel(FFreeRTOSGdma *const instance, u32 chan_id, const FFreeRTOSGdmaRequest *req) +{ + FASSERT(instance); + FGdma *const ctrl = &instance->ctrl; + FMemp *memp = &instance->memp; + FError err = FFREERTOS_GDMA_OK; + FFreeRTOSGdmaChan *chan_os = &instance->chan[chan_id]; + FFreeRTOSGdmaTranscation *trans = NULL; + FGdmaChanConfig *chan_config = NULL; + u32 buf_idx; + + err = FGdmaOsTakeSema(instance->locker); + if (FFREERTOS_GDMA_OK != err) + return err; + + chan_os->bdl_list = FMempMallocAlign(memp, sizeof(FGdmaBdlDesc) * req->valid_trans_num, FGDMA_ADDR_ALIGMENT); + if (NULL == chan_os->bdl_list) + { + FGDMA_ERROR("allocate buffer failed !!!"); + err = FFREERTOS_GDMA_ALLOCATE_FAIL; + goto err_exit; + } + + chan_config = &chan_os->chan.config; + *chan_config = FGDMA_DEFAULT_BDL_CHAN_CONFIG(chan_id, chan_os->bdl_list, req->valid_trans_num); + err = FGdmaAllocateChan(ctrl, &chan_os->chan, chan_config); + if (FGDMA_SUCCESS != err) + { + FGDMA_ERROR("allocate chan failed !!!"); + goto err_exit; + } + + FGdmaChanRegisterEvtHandler(&chan_os->chan, + FGDMA_CHAN_EVT_TRANS_END, + req->req_done_handler, + req->req_done_args); + + /* assign bdl for each transaction buffer */ + for (buf_idx = 0; buf_idx < req->valid_trans_num; buf_idx++) + { + trans = &req->trans[buf_idx]; + + /* append bdl entry */ + err = FGdmaAppendBDLEntry(&chan_os->chan, (uintptr)trans->src_buf, + (uintptr)trans->dst_buf, trans->data_len); + if (FGDMA_SUCCESS != err) + { + FGDMA_ERROR("setup bdl entry failed !!!"); + goto err_exit; + } + } + +err_exit: + FGdmaOsGiveSema(instance->locker); + return err; +} + +FError FFreeRTOSGdmaRevokeChannel(FFreeRTOSGdma *const instance, u32 chan_id) +{ + FASSERT(instance); + FGdma *const ctrl = &instance->ctrl; + FError err = FFREERTOS_GDMA_OK; + FMemp *memp = &instance->memp; + u32 chan_idx; + FFreeRTOSGdmaChan *chan_os = &instance->chan[chan_id]; + + err = FGdmaOsTakeSema(instance->locker); + if (FFREERTOS_GDMA_OK != err) + return err; + + /* free dynamic memroy allocated for bdl */ + if (chan_os->bdl_list) + { + FMempFree(memp, chan_os->bdl_list); + chan_os->bdl_list = NULL; + } + + /* deallocate channel */ + err = FGdmaDellocateChan(&chan_os->chan); + if (FGDMA_SUCCESS != err) + { + FGDMA_ERROR("dellocate chan %d failed", chan_id); + } + +err_exit: + FGdmaOsGiveSema(instance->locker); + return err; +} + +FError FFreeRTOSGdmaStart(FFreeRTOSGdma *const instance, u32 chan_id) +{ + FASSERT(instance); + FGdma *const ctrl = &instance->ctrl; + FError err = FFREERTOS_GDMA_OK; + FFreeRTOSGdmaChan *chan_os = &instance->chan[chan_id]; + + err = FGdmaOsTakeSema(instance->locker); + if (FFREERTOS_GDMA_OK != err) + return err; + + err = FGdmaBDLTransfer(&chan_os->chan); /* start transfer of each channel */ + if (FGDMA_SUCCESS != err) + { + goto err_exit; + } + + /* you may wait memcpy end in other task */ + +err_exit: + FGdmaOsGiveSema(instance->locker); + return err; +} \ No newline at end of file diff --git a/drivers/dma/fgdma/fgdma_os.h b/drivers/dma/fgdma/fgdma_os.h new file mode 100644 index 00000000..c566f4e5 --- /dev/null +++ b/drivers/dma/fgdma/fgdma_os.h @@ -0,0 +1,109 @@ +/* + * Copyright : (C) 2022 Phytium Information Technology, Inc. + * All Rights Reserved. + * + * This program is OPEN SOURCE software: you can redistribute it and/or modify it + * under the terms of the Phytium Public License as published by the Phytium Technology Co.,Ltd, + * either version 1.0 of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful,but WITHOUT ANY WARRANTY; + * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + * See the Phytium Public License for more details. + * + * + * FilePath: fgdma_os.h + * Date: 2022-07-20 10:54:37 + * LastEditTime: 2022-07-20 10:54:37 + * Description:  This files is for + * + * Modify History: + * Ver   Who        Date         Changes + * ----- ------     --------    -------------------------------------- + * 1.0 zhugengyu 2022/7/27 init commit + */ +#ifndef DRIVERS_FGDMA_OS_H +#define DRIVERS_FGDMA_OS_H + +#ifdef __cplusplus +extern "C" +{ +#endif + +/***************************** Include Files *********************************/ +#include +#include +#include + +#include "parameters.h" +#include "fgdma.h" +#include "fmemory_pool.h" +/************************** Constant Definitions *****************************/ +#define FFREERTOS_GDMA_OK FT_SUCCESS +#define FFREERTOS_GDMA_NOT_INIT FT_CODE_ERR(ErrModPort, ErrGdma, 0) +#define FFREERTOS_GDMA_SEMA_ERR FT_CODE_ERR(ErrModPort, ErrGdma, 1) +#define FFREERTOS_GDMA_ALREADY_INIT FT_CODE_ERR(ErrModPort, ErrGdma, 2) +#define FFREERTOS_GDMA_ALLOCATE_FAIL FT_CODE_ERR(ErrModPort, ErrGdma, 3) +#define FFREERTOS_GDMA_MEMCPY_FAIL FT_CODE_ERR(ErrModPort, ErrGdma, 4) + +#define FFREERTOS_GDMA_IRQ_PRIORITY IRQ_PRIORITY_VALUE_12 +/**************************** Type Definitions *******************************/ + +typedef struct +{ + FGdmaChan chan; + FGdmaBdlDesc *bdl_list; /* descriptor of every chan, dynamic allocated */ +} FFreeRTOSGdmaChan; /* instance of gdma channel in FreeRTOS */ + +typedef struct +{ + FGdma ctrl; + SemaphoreHandle_t locker; + FFreeRTOSGdmaChan chan[FGDMA_NUM_OF_CHAN]; + FMemp memp; /* instance of memory pool */ + u8 memp_buf[SZ_16K]; /* buffer used to support dynamic memory */ +} FFreeRTOSGdma; /* instance of gdma in FreeRTOS */ + +typedef struct +{ + u8 *src_buf; /* src memory buffer */ + u8 *dst_buf; /* dst memory buffer */ + fsize_t data_len; /* length of src & dst memory buffer */ +} FFreeRTOSGdmaTranscation; /* config of one memcpy transaction */ + +typedef struct +{ + FFreeRTOSGdmaTranscation *trans; /* list of transcations */ + u32 valid_trans_num; /* num of transcations can be used in request */ + u32 total_trans_num; /* length of transcation buffer */ + FGdmaChanEvtHandler req_done_handler; /* callback for request done */ + void *req_done_args; +} FFreeRTOSGdmaRequest; /* config of one memcpy request, may include multiple transaction */ + +/************************** Variable Definitions *****************************/ + +/***************** Macros (Inline Functions) Definitions *********************/ + +/************************** Function Prototypes ******************************/ + +/*****************************************************************************/ +/* init and get gdma instance */ +FFreeRTOSGdma *FFreeRTOSGdmaInit(u32 instance_id); + +/* deinit gdma instance */ +FError FFreeRTOSGdmaDeInit(FFreeRTOSGdma *const instance); + +/* start gdma transfer by request */ +FError FFreeRTOSGdmaSetupChannel(FFreeRTOSGdma *const instance, u32 chan_id, const FFreeRTOSGdmaRequest *req); + +/* revoke setup of allocated channel */ +FError FFreeRTOSGdmaRevokeChannel(FFreeRTOSGdma *const instance, u32 chan_id); + +/* start up dma transfer */ +FError FFreeRTOSGdmaStart(FFreeRTOSGdma *const instance, u32 chan_id); + + +#ifdef __cplusplus +} +#endif + +#endif \ No newline at end of file diff --git a/drivers/drivers.mk b/drivers/drivers.mk index 65e3535b..46425407 100644 --- a/drivers/drivers.mk +++ b/drivers/drivers.mk @@ -5,6 +5,11 @@ ifdef CONFIG_FREERTOS_USE_UART INC_DIR += $(OS_DRIVER_CUR_DIR)/serial/fpl011 endif +ifdef CONFIG_FREERTOS_USE_PWM + SRC_DIR += $(OS_DRIVER_CUR_DIR)/pwm + INC_DIR += $(OS_DRIVER_CUR_DIR)/pwm +endif + ifdef CONFIG_FREERTOS_USE_QSPI SRC_DIR += $(OS_DRIVER_CUR_DIR)/qspi INC_DIR += $(OS_DRIVER_CUR_DIR)/qspi @@ -15,9 +20,32 @@ ifdef CONFIG_FREERTOS_USE_WDT INC_DIR += $(OS_DRIVER_CUR_DIR)/wdt endif - ifdef CONFIG_FREERTOS_USE_XMAC SRC_DIR += $(OS_DRIVER_CUR_DIR)/eth/xmac INC_DIR += $(OS_DRIVER_CUR_DIR)/eth/xmac endif +ifdef CONFIG_FREERTOS_USE_GPIO + SRC_DIR += $(OS_DRIVER_CUR_DIR)/gpio/fgpio + INC_DIR += $(OS_DRIVER_CUR_DIR)/gpio/fgpio +endif + +ifdef CONFIG_FREERTOS_USE_FSPIM + SRC_DIR += $(OS_DRIVER_CUR_DIR)/spi/fspim + INC_DIR += $(OS_DRIVER_CUR_DIR)/spi/fspim +endif + +ifdef CONFIG_FREERTOS_USE_FDDMA + SRC_DIR += $(OS_DRIVER_CUR_DIR)/dma/fddma + INC_DIR += $(OS_DRIVER_CUR_DIR)/dma/fddma +endif + +ifdef CONFIG_FREERTOS_USE_FGDMA + SRC_DIR += $(OS_DRIVER_CUR_DIR)/dma/fgdma + INC_DIR += $(OS_DRIVER_CUR_DIR)/dma/fgdma +endif + +ifdef CONFIG_FREERTOS_USE_FSDIO + SRC_DIR += $(OS_DRIVER_CUR_DIR)/mmc/fsdio + INC_DIR += $(OS_DRIVER_CUR_DIR)/mmc/fsdio +endif diff --git a/drivers/gpio/fgpio/fgpio_os.c b/drivers/gpio/fgpio/fgpio_os.c new file mode 100644 index 00000000..9d7d9ec4 --- /dev/null +++ b/drivers/gpio/fgpio/fgpio_os.c @@ -0,0 +1,371 @@ +/* + * Copyright : (C) 2022 Phytium Information Technology, Inc. + * All Rights Reserved. + * + * This program is OPEN SOURCE software: you can redistribute it and/or modify it + * under the terms of the Phytium Public License as published by the Phytium Technology Co.,Ltd, + * either version 1.0 of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful,but WITHOUT ANY WARRANTY; + * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + * See the Phytium Public License for more details. + * + * + * FilePath: fgpio_os.c + * Date: 2022-07-22 11:33:51 + * LastEditTime: 2022-07-22 11:33:51 + * Description:  This files is for + * + * Modify History: + * Ver   Who        Date         Changes + * ----- ------     --------    -------------------------------------- + * 1.0 zhugengyu 2022/7/27 init commit + */ +/***************************** Include Files *********************************/ +#include +#include +#include + +#include "interrupt.h" +#include "ft_debug.h" +#include "fsleep.h" +#include "cpu_info.h" +#include "fiopad.h" + +#include "fgpio_os.h" +/************************** Constant Definitions *****************************/ + +/**************************** Type Definitions *******************************/ + +/************************** Variable Definitions *****************************/ +static FFreeRTOSFGpio gpio[FGPIO_NUM]; /* instance of all gpio ctrl */ + +/***************** Macros (Inline Functions) Definitions *********************/ +#define FGPIO_DEBUG_TAG "FGPIO-OS" +#define FGPIO_ERROR(format, ...) FT_DEBUG_PRINT_E(FGPIO_DEBUG_TAG, format, ##__VA_ARGS__) +#define FGPIO_WARN(format, ...) FT_DEBUG_PRINT_W(FGPIO_DEBUG_TAG, format, ##__VA_ARGS__) +#define FGPIO_INFO(format, ...) FT_DEBUG_PRINT_I(FGPIO_DEBUG_TAG, format, ##__VA_ARGS__) +#define FGPIO_DEBUG(format, ...) FT_DEBUG_PRINT_D(FGPIO_DEBUG_TAG, format, ##__VA_ARGS__) + +/************************** Function Prototypes ******************************/ + +/*****************************************************************************/ +static inline FError FGpioOsTakeSema(SemaphoreHandle_t locker) +{ + FASSERT_MSG((NULL != locker), "locker not exists"); + if (pdFALSE == xSemaphoreTake(locker, portMAX_DELAY)) + { + FGPIO_ERROR("failed to give locker !!!"); + return FFREERTOS_GPIO_SEMA_ERR; + } + + return FFREERTOS_GPIO_OK; +} + +static inline void FGpioOsGiveSema(SemaphoreHandle_t locker) +{ + FASSERT_MSG((NULL != locker), "locker not exists"); + if (pdFALSE == xSemaphoreGive(locker)) + { + FGPIO_ERROR("failed to give locker !!!"); + } + + return; +} + +static inline void FGpioOsGetId(u32 pin_idx, FGpioPinId *pin_id) +{ + FASSERT(pin_id); + + /* convert u32 pin_idx to FGpioPinId pin_id */ + pin_id->ctrl = FFREERTOS_GPIO_PIN_CTRL_ID(pin_idx); + pin_id->port = FFREERTOS_GPIO_PIN_PORT_ID(pin_idx); + pin_id->pin = FFREERTOS_GPIO_PIN_ID(pin_idx); + FGPIO_INFO("pin index = 0x%x", pin_idx); + FGPIO_INFO("is gpio-%d-%d-%d", pin_id->ctrl, pin_id->port, pin_id->pin); +} + +/* setup gpio ctrl interrupt */ +static void FGpioOsSetupCtrlIRQ(FFreeRTOSFGpio *const instance) +{ + FGpio *ctrl = &instance->ctrl; + u32 cpu_id; + u32 irq_num = ctrl->config.irq_num[0]; + + GetCpuId(&cpu_id); + FGPIO_INFO("cpu_id is cpu_id %d", cpu_id); + InterruptSetTargetCpus(irq_num, cpu_id); + + /* setup interrupt */ + InterruptSetPriority(irq_num, FFREERTOS_GPIO_IRQ_PRIORITY); + + /* register intr handler */ + InterruptInstall(irq_num, + FGpioInterruptHandler, + ctrl, + NULL); + + InterruptUmask(irq_num); + + return; +} + +/** + * @name: FFreeRTOSGpioInit + * @msg: init and get gpio instance + * @return {*} + * @param {u32} id, gpio instance id + * @param {FFreeRTOSGpioConfig} *input_config, input configuration + */ +FFreeRTOSFGpio *FFreeRTOSGpioInit(u32 id, const FFreeRTOSGpioConfig *input_config) +{ + FASSERT_MSG(id < FGPIO_NUM, "invalid gpio id"); + FFreeRTOSFGpio *instance = &gpio[id]; + FGpio *ctrl = &instance->ctrl; + FGpioConfig *config = &ctrl->config; + FError err = FT_SUCCESS; + + if (FT_COMPONENT_IS_READY == ctrl->is_ready) + { + FGPIO_WARN("gpio-%d already init", config->instance_id); + return instance; + } + + /* no scheduler during init */ + taskENTER_CRITICAL(); + + *config = *FGpioLookupConfig(id); + err = FGpioCfgInitialize(ctrl, config); + if (FGPIO_SUCCESS != err) + { + goto err_exit; + } + + FGpioPinId pin_of_ctrl = + { + .ctrl = ctrl->config.instance_id, + .port = FGPIO_PORT_A, + .pin = FGPIO_PIN_0 + }; + + if (FGPIO_IRQ_BY_CONTROLLER == FGpioGetPinIrqSourceType(pin_of_ctrl)) /* setup for ctrl report interrupt */ + { + FGpioOsSetupCtrlIRQ(instance); + } + + FASSERT_MSG(NULL == instance->locker, "locker exists !!!"); + FASSERT_MSG((instance->locker = xSemaphoreCreateMutex()) != NULL, "create mutex failed !!!"); + +err_exit: + taskEXIT_CRITICAL(); /* allow schedule after init */ + return (FT_SUCCESS == err) ? instance : NULL; /* exit with NULL if failed */ +} + +/** + * @name: FFreeRTOSGpioDeInit + * @msg: deinit gpio instance + * @return {*} + * @param {FFreeRTOSFGpio} *instance, freertos gpio instance + */ +FError FFreeRTOSGpioDeInit(FFreeRTOSFGpio *const instance) +{ + FASSERT(instance); + FGpio *ctrl = &instance->ctrl; + FError err = FT_SUCCESS; + + if (FT_COMPONENT_IS_READY != ctrl->is_ready) + { + FGPIO_WARN("gpio-%d not yet init", ctrl->config.instance_id); + return FFREERTOS_GPIO_NOT_INIT; + } + + /* no scheduler during deinit */ + taskENTER_CRITICAL(); + + FGpioDeInitialize(ctrl); + + FASSERT_MSG(NULL != instance->locker, "locker not exists !!!"); + vSemaphoreDelete(instance->locker); + instance->locker = NULL; + + taskEXIT_CRITICAL(); /* allow schedule after init */ + return err; +} + +/* setup gpio pin interrupt */ +static void FGpioOSSetupPinIRQ(FFreeRTOSFGpio *const instance, FGpioPin *const pin, const FFreeRTOSGpioPinConfig *config) +{ + u32 cpu_id; + FGpio *ctrl = &instance->ctrl; + u32 irq_num = ctrl->config.irq_num[pin->index.pin]; + + GetCpuId(&cpu_id); + FGPIO_INFO("cpu_id is cpu_id %d", cpu_id); + + InterruptSetTargetCpus(irq_num, cpu_id); + + /* setup interrupt */ + InterruptSetPriority(irq_num, FFREERTOS_GPIO_IRQ_PRIORITY); + + /* register intr handler */ + InterruptInstall(irq_num, config->irq_handler, config->irq_args, NULL); + + InterruptUmask(irq_num); + + return; +} + +/** + * @name: FFreeRTOSSetupPin + * @msg: config and setup pin + * @return {*} + * @param {FFreeRTOSFGpio} *instance, freertos gpio instance + * @param {FFreeRTOSGpioPinConfig} *config, gpio pin configuration + */ +FError FFreeRTOSSetupPin(FFreeRTOSFGpio *const instance, const FFreeRTOSGpioPinConfig *config) +{ + FASSERT(instance && config); + FGpio *ctrl = &instance->ctrl; + FGpioPinId pin_id; + FGpioOsGetId(config->pin_idx, &pin_id); /* convert pin id */ + u32 ctrl_id = ctrl->config.instance_id; + FASSERT_MSG((ctrl_id == pin_id.ctrl), "invalid instance for pin"); + FGpioPin *const pin = &instance->pins[pin_id.port][pin_id.pin]; + FError err = FT_SUCCESS; + boolean irq_one_time = TRUE; + + err = FGpioOsTakeSema(instance->locker); + if (FFREERTOS_GPIO_OK != err) + return err; + + /* set io pad */ + FIOPadSetGpioMux(ctrl_id, pin_id.pin); + + /* de-init pin if setup */ + if (FT_COMPONENT_IS_READY == pin->is_ready) + { + FGpioPinDeInitialize(pin); + } + + /* init pin */ + err = FGpioPinInitialize(ctrl, pin, pin_id); + if (FGPIO_SUCCESS != err) + { + FGPIO_ERROR("init pin %d-%d failed, err: 0x%x", + pin_id.port, + pin_id.pin, + err); + goto err_exit; + } + + /* setup pin direction */ + FGpioSetDirection(pin, config->mode); + FGPIO_INFO("Set GPIO-%d-%c-%d direction %s", + pin_id.ctrl, + (FGPIO_PORT_A == pin_id.port) ? 'a' : 'b', + pin_id.pin, + (FGPIO_DIR_INPUT == config->mode) ? "IN" : "OUT"); + + /* setup input-pin irq */ + if (TRUE == config->en_irq) + { + FGpioSetInterruptMask(pin, FALSE); /* disable pin irq */ + if (FGPIO_IRQ_BY_PIN == FGpioGetPinIrqSourceType(pin_id)) /* setup for pin report interrupt */ + { + FGpioOSSetupPinIRQ(instance, pin, config); + } + + FGpioRegisterInterruptCB(pin, config->irq_handler, config->irq_args, irq_one_time); /* register intr callback */ + } + +err_exit: + FGpioOsGiveSema(instance->locker); + return err; +} + +/** + * @name: FFreeRTOSSetIRQ + * @msg: enable/disable interrupt of pin + * @return {*} + * @param {FFreeRTOSFGpio} *instance, freertos gpio instance + * @param {u32} pin_idx, index of pin, use FFREERTOS_GPIO_PIN_INDEX + * @param {boolean} en_irq, TRUE: enable interrupt, FALSE: disable + */ +FError FFreeRTOSSetIRQ(FFreeRTOSFGpio *const instance, u32 pin_idx, boolean en_irq) +{ + FASSERT(instance); + FGpioPinId pin_id; + FGpioOsGetId(pin_idx, &pin_id); /* convert pin id */ + FGpio *ctrl = &instance->ctrl; + u32 ctrl_id = ctrl->config.instance_id; + FASSERT_MSG((ctrl_id == pin_id.ctrl), "invalid instance for pin"); + FGpioPin *const pin = &instance->pins[pin_id.port][pin_id.pin]; + FError err = FT_SUCCESS; + + err = FGpioOsTakeSema(instance->locker); + if (FFREERTOS_GPIO_OK != err) + return err; + + FGpioSetInterruptMask(pin, en_irq); + + FGpioOsGiveSema(instance->locker); + return err; +} + +/** + * @name: FFreeRTOSPinWrite + * @msg: set output pin value + * @return {*} + * @param {FFreeRTOSFGpio} *instance, freertos gpio instance + * @param {u32} pin_idx, index of gpio pin + * @param {u32} value, level set to gpio pin + */ +FError FFreeRTOSPinWrite(FFreeRTOSFGpio *const instance, u32 pin_idx, u32 value) +{ + FASSERT(instance); + FGpioPinId pin_id; + FGpioOsGetId(pin_idx, &pin_id); /* convert pin id */ + FGpio *ctrl = &instance->ctrl; + u32 ctrl_id = ctrl->config.instance_id; + FASSERT_MSG((ctrl_id == pin_id.ctrl), "invalid instance for pin"); + FGpioPin *const pin = &instance->pins[pin_id.port][pin_id.pin]; + FError err = FT_SUCCESS; + + err = FGpioOsTakeSema(instance->locker); + if (FFREERTOS_GPIO_OK != err) + return err; + + err = FGpioSetOutputValue(pin, (FGpioPinVal)value); + + FGpioOsGiveSema(instance->locker); + return err; +} + +/** + * @name: FFreeRTOSPinRead + * @msg: get input pin value + * @return {u32} level input by pin + * @param {FFreeRTOSFGpio} *instance, freertos gpio instance + * @param {u32} pin_idx, index of gpio pin + */ +u32 FFreeRTOSPinRead(FFreeRTOSFGpio *const instance, u32 pin_idx) +{ + FASSERT(instance); + FGpio *ctrl = &instance->ctrl; + FGpioPinId pin_id; + FGpioOsGetId(pin_idx, &pin_id); /* convert pin id */ + u32 ctrl_id = ctrl->config.instance_id; + FASSERT_MSG((ctrl_id == pin_id.ctrl), "invalid instance for pin"); + FGpioPin *const pin = &instance->pins[pin_id.port][pin_id.pin]; + FError err = FT_SUCCESS; + FGpioPinVal val = FGPIO_PIN_LOW; + + err = FGpioOsTakeSema(instance->locker); + if (FFREERTOS_GPIO_OK != err) + return val; + + val = FGpioGetInputValue(pin); + + FGpioOsGiveSema(instance->locker); + return val; +} \ No newline at end of file diff --git a/drivers/gpio/fgpio/fgpio_os.h b/drivers/gpio/fgpio/fgpio_os.h new file mode 100644 index 00000000..86dcc85d --- /dev/null +++ b/drivers/gpio/fgpio/fgpio_os.h @@ -0,0 +1,117 @@ +/* + * Copyright : (C) 2022 Phytium Information Technology, Inc. + * All Rights Reserved. + * + * This program is OPEN SOURCE software: you can redistribute it and/or modify it + * under the terms of the Phytium Public License as published by the Phytium Technology Co.,Ltd, + * either version 1.0 of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful,but WITHOUT ANY WARRANTY; + * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + * See the Phytium Public License for more details. + * + * + * FilePath: fgpio_os.h + * Date: 2022-07-22 11:33:45 + * LastEditTime: 2022-07-22 11:33:45 + * Description:  This files is for + * + * Modify History: + * Ver   Who        Date         Changes + * ----- ------     --------    -------------------------------------- + * 1.0 zhugengyu 2022/7/27 init commit + */ +#ifndef DRIVERS_FGPIO_OS_H +#define DRIVERS_FGPIO_OS_H + +#ifdef __cplusplus +extern "C" +{ +#endif + +/***************************** Include Files *********************************/ +#include +#include +#include + +#include "kernel.h" +#include "parameters.h" +#include "fgpio.h" + +/************************** Constant Definitions *****************************/ +#define FFREERTOS_GPIO_OK FT_SUCCESS +#define FFREERTOS_GPIO_NOT_INIT FT_CODE_ERR(ErrModPort, ErrBspGpio, 0) +#define FFREERTOS_GPIO_SEMA_ERR FT_CODE_ERR(ErrModPort, ErrBspGpio, 1) +#define FFREERTOS_GPIO_ALREADY_INIT FT_CODE_ERR(ErrModPort, ErrBspGpio, 2) +#define FFREERTOS_GPIO_NOT_SUPPORT FT_CODE_ERR(ErrModPort, ErrBspGpio, 3) +#define FFREERTOS_GPIO_WAIT_EVT_TIMOUT FT_CODE_ERR(ErrModPort, ErrBspGpio, 4) + +#define FFREERTOS_GPIO_IRQ_PRIORITY IRQ_PRIORITY_VALUE_12 + +/* format gpio pin index */ +#define FFREERTOS_GPIO_PIN_INDEX(ctrl, port, pin) SET_REG32_BITS(ctrl, 31, 16) | \ + SET_REG32_BITS(port, 15, 12) | \ + SET_REG32_BITS(pin, 11, 0) +#define FFREERTOS_GPIO_PIN_CTRL_ID(pin_idx) GET_REG32_BITS(pin_idx, 31, 16) +#define FFREERTOS_GPIO_PIN_PORT_ID(pin_idx) GET_REG32_BITS(pin_idx, 15, 12) +#define FFREERTOS_GPIO_PIN_ID(pin_idx) GET_REG32_BITS(pin_idx, 11, 0) + + +#define FFREERTOS_GPIO_LEVEL_LOW 0U +#define FFREERTOS_GPIO_LEVEL_HIGH 1U +/**************************** Type Definitions *******************************/ + +typedef struct +{ + FGpio ctrl; /* driver instance */ + FGpioPin pins[FGPIO_PORT_NUM][FGPIO_PIN_NUM]; /* pin instance */ + SemaphoreHandle_t locker; /* locker of freertos instance */ +} FFreeRTOSFGpio; /* freertos gpio instance */ + +typedef void (*FFreeRTOSFGpioPinIrqHandler)(s32 vector, void *param); + +typedef struct +{ + +} FFreeRTOSGpioConfig; /* freertos gpio config, reserved for future use */ + +typedef struct +{ + u32 pin_idx; /* use FFREERTOS_GPIO_PIN_INDEX to define */ + FGpioDirection mode; /* pin direction */ + boolean en_irq; /* TRUE: enable irq */ + FGpioIrqType irq_type; /* pin irq type */ + FFreeRTOSFGpioPinIrqHandler irq_handler; + void *irq_args; +} FFreeRTOSGpioPinConfig; /* freertos pin config */ + +/************************** Variable Definitions *****************************/ + +/***************** Macros (Inline Functions) Definitions *********************/ + +/************************** Function Prototypes ******************************/ + +/*****************************************************************************/ +/* init and get gpio instance */ +FFreeRTOSFGpio *FFreeRTOSGpioInit(u32 instance_id, const FFreeRTOSGpioConfig *config); + +/* deinit gpio instance */ +FError FFreeRTOSGpioDeInit(FFreeRTOSFGpio *const instance); + +/* config and setup pin */ +FError FFreeRTOSSetupPin(FFreeRTOSFGpio *const instance, const FFreeRTOSGpioPinConfig *config); + +/* enable/disable interrupt of pin */ +FError FFreeRTOSSetIRQ(FFreeRTOSFGpio *const instance, u32 pin, boolean en_irq); + +/* set output pin value */ +FError FFreeRTOSPinWrite(FFreeRTOSFGpio *const instance, u32 pin, u32 value); + +/* get input pin value */ +u32 FFreeRTOSPinRead(FFreeRTOSFGpio *const instance, u32 pin); + +#ifdef __cplusplus +} +#endif + +#endif \ No newline at end of file diff --git a/drivers/mmc/fsdio/fsdio_os.c b/drivers/mmc/fsdio/fsdio_os.c new file mode 100644 index 00000000..1b00ebd9 --- /dev/null +++ b/drivers/mmc/fsdio/fsdio_os.c @@ -0,0 +1,633 @@ +/* + * Copyright : (C) 2022 Phytium Information Technology, Inc. + * All Rights Reserved. + * + * This program is OPEN SOURCE software: you can redistribute it and/or modify it + * under the terms of the Phytium Public License as published by the Phytium Technology Co.,Ltd, + * either version 1.0 of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful,but WITHOUT ANY WARRANTY; + * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + * See the Phytium Public License for more details. + * + * + * FilePath: fsdio_os.c + * Date: 2022-07-25 09:14:40 + * LastEditTime: 2022-07-25 09:14:40 + * Description:  This files is for + * + * Modify History: + * Ver   Who        Date         Changes + * ----- ------     --------    -------------------------------------- + * 1.0 zhugengyu 2022/7/27 init commit + */ + +/***************************** Include Files *********************************/ +#include +#include +#include + +#include "interrupt.h" +#include "parameters.h" +#include "ft_debug.h" +#include "ft_assert.h" +#include "fsleep.h" +#include "cpu_info.h" +#include "fiopad.h" + +#include "fsdio_os.h" +#include "fsdio_hw.h" +#include "sdmmc_cmd.h" +#include "sdmmc_defs.h" + +/************************** Constant Definitions *****************************/ + +/**************************** Type Definitions *******************************/ +typedef struct +{ + sdmmc_card_t card; /* instance of card in sdmmc */ + sdmmc_host_t host; /* instance of host in sdmmc */ +} FSdioOSHost; /* instance to support sdmmc commands */ + +/************************** Variable Definitions *****************************/ +static FFreeRTOSSdio sdio[FSDIO_HOST_INSTANCE_NUM]; +static FSdioOSHost sdmmc_host[FSDIO_HOST_INSTANCE_NUM]; + +/***************** Macros (Inline Functions) Definitions *********************/ +#define FSDIO_DEBUG_TAG "FSDIO-OS" +#define FSDIO_ERROR(format, ...) FT_DEBUG_PRINT_E(FSDIO_DEBUG_TAG, format, ##__VA_ARGS__) +#define FSDIO_WARN(format, ...) FT_DEBUG_PRINT_W(FSDIO_DEBUG_TAG, format, ##__VA_ARGS__) +#define FSDIO_INFO(format, ...) FT_DEBUG_PRINT_I(FSDIO_DEBUG_TAG, format, ##__VA_ARGS__) +#define FSDIO_DEBUG(format, ...) FT_DEBUG_PRINT_D(FSDIO_DEBUG_TAG, format, ##__VA_ARGS__) + +/************************** Function Prototypes ******************************/ + +/*****************************************************************************/ +static inline FError FSdioOsTakeSema(SemaphoreHandle_t locker) +{ + FASSERT_MSG((NULL != locker), "locker not exists"); + if (pdFALSE == xSemaphoreTake(locker, portMAX_DELAY)) + { + FSDIO_ERROR("failed to give locker !!!"); + return FFREERTOS_SDIO_SEMA_ERR; + } + + return FFREERTOS_SDIO_OK; +} + +static inline void FSdioOsGiveSema(SemaphoreHandle_t locker) +{ + FASSERT_MSG((NULL != locker), "locker not exists"); + if (pdFALSE == xSemaphoreGive(locker)) + { + FSDIO_ERROR("failed to give locker !!!"); + } + + return; +} + +static void FSdioOSSetupInterrupt(FSdio *ctrl) +{ + uintptr base_addr = ctrl->config.base_addr; + u32 cpu_id = 0; + + GetCpuId(&cpu_id); + FSDIO_INFO("cpu_id is cpu_id %d", cpu_id); + InterruptSetTargetCpus(ctrl->config.irq_num, cpu_id); + InterruptSetPriority(ctrl->config.irq_num, FFREERTOS_SDIO_IRQ_PRIORITY); + + /* register intr callback */ + InterruptInstall(ctrl->config.irq_num, + FSdioInterruptHandler, + ctrl, + NULL); + + /* enable sdio irq */ + InterruptUmask(ctrl->config.irq_num); + + FSDIO_INFO("sdio interrupt setup done !!!"); + return; +} + +/* init sdmmc host */ +static sdmmc_err_t FSdioOsHostInit(int slot) +{ + FASSERT((slot >= 0) && (slot < FSDIO_HOST_INSTANCE_NUM)); + return SDMMC_OK; +} + +/* sdmmc host set bus width */ +static sdmmc_err_t FSdioOsHostSetBusWidth(int slot, size_t width) +{ + FASSERT((slot >= 0) && (slot < FSDIO_HOST_INSTANCE_NUM)); + FFreeRTOSSdio *instance = &sdio[slot]; + FSdio *ctrl = &instance->ctrl; + uintptr base_addr = ctrl->config.base_addr; + FSDIO_INFO("set bus width as %d", width); + FSdioSetBusWidth(base_addr, width); + return SDMMC_OK; +} + +/* sdmmc host get bus width */ +static size_t FSdioOsHostGetBusWidth(int slot) +{ + FASSERT((slot >= 0) && (slot < FSDIO_HOST_INSTANCE_NUM)); + FFreeRTOSSdio *instance = &sdio[slot]; + FSdio *ctrl = &instance->ctrl; + uintptr base_addr = ctrl->config.base_addr; + size_t bus_width = (size_t)FSdioGetBusWidth(base_addr); + FSDIO_INFO("get bus width as %d", bus_width); + return bus_width; +} + +/* sdmmc host set ddr mode */ +static sdmmc_err_t FSdioOsHostSetDDRMode(int slot, bool ddr_enabled) +{ + FASSERT((slot >= 0) && (slot < FSDIO_HOST_INSTANCE_NUM)); + FSDIO_ERROR("sdio_host_set_bus_ddr_mode not supported !!!"); + return SDMMC_OK; +} + +/* sdmmc host change card clock freq */ +static sdmmc_err_t FSdioOsHostSetCardClock(int slot, u32 freq_khz) +{ + FASSERT((slot >= 0) && (slot < FSDIO_HOST_INSTANCE_NUM)); + FFreeRTOSSdio *instance = &sdio[slot]; + FSdio *ctrl = &instance->ctrl; + FSDIO_INFO("set clk rate as %dKHz", freq_khz); + FError err = FSdioSetClkFreq(ctrl, freq_khz * 1000); + return (FSDIO_SUCCESS == err) ? SDMMC_OK : SDMMC_FAIL; +} + +/* convert command info from sdmmc_command_t to FSdioCmdData */ +static void FSdioOsConvertCmdInfo(sdmmc_command_t *cmdinfo, FSdioCmdData *cmd_data) +{ + if (MMC_GO_IDLE_STATE == cmdinfo->opcode) + { + cmd_data->flag |= FSDIO_CMD_FLAG_NEED_INIT; + } + + if (SCF_RSP_CRC & cmdinfo->flags) + { + cmd_data->flag |= FSDIO_CMD_FLAG_NEED_RESP_CRC; + } + + if (SCF_RSP_PRESENT & cmdinfo->flags) + { + cmd_data->flag |= FSDIO_CMD_FLAG_EXP_RESP; + + if (SCF_RSP_136 & cmdinfo->flags) + { + cmd_data->flag |= FSDIO_CMD_FLAG_EXP_LONG_RESP; + } + } + + if (cmdinfo->data) + { + FASSERT_MSG(cmd_data->data_p, "data buffer shall be assigned"); + cmd_data->flag |= FSDIO_CMD_FLAG_EXP_DATA; + + if (SCF_CMD_READ & cmdinfo->flags) + { + cmd_data->flag |= FSDIO_CMD_FLAG_READ_DATA; + } + else + { + cmd_data->flag |= FSDIO_CMD_FLAG_WRITE_DATA; + } + + cmd_data->data_p->buf = cmdinfo->data; + cmd_data->data_p->blksz = cmdinfo->blklen; + cmd_data->data_p->datalen = cmdinfo->datalen; + FSDIO_INFO("buf@%p, blksz: %d, datalen: %d", + cmd_data->data_p->buf, + cmd_data->data_p->blksz, + cmd_data->data_p->datalen); + } + + cmd_data->cmdidx = cmdinfo->opcode; + cmd_data->cmdarg = cmdinfo->arg; + + return; +} + +/* send signal sdio error from interrupt */ +static void FSdioOsHandleError(FSdio *const ctrl, void *args) +{ + FASSERT(ctrl); + FSDIO_ERROR("sdio error occur ..."); + + FFreeRTOSSdio *instance = (FFreeRTOSSdio *)args; + BaseType_t xhigher_priority_task_woken = pdFALSE; + BaseType_t x_result = pdFALSE; + + FASSERT(instance->evt); + x_result = xEventGroupSetBitsFromISR(instance->evt, FFREERTOS_SDIO_ERROR_OCCURRED, + &xhigher_priority_task_woken); +} + +/* send signal sdio command done from interrupt */ +static void FSdioOsAckCmdDone(FSdio *const ctrl, void *args) +{ + FASSERT(args); + FFreeRTOSSdio *instance = (FFreeRTOSSdio *)args; + BaseType_t xhigher_priority_task_woken = pdFALSE; + BaseType_t x_result = pdFALSE; + + FSDIO_DEBUG("ack cmd and data trans done"); + FASSERT(instance->evt); + x_result = xEventGroupSetBitsFromISR(instance->evt, FFREERTOS_SDIO_CMD_TRANS_DONE, + &xhigher_priority_task_woken); + + return; +} + +/* send signal sdio data over from interrupt */ +static void FSdioOsAckDataDone(FSdio *const ctrl, void *args) +{ + FASSERT(args); + FFreeRTOSSdio *instance = (FFreeRTOSSdio *)args; + BaseType_t xhigher_priority_task_woken = pdFALSE; + BaseType_t x_result = pdFALSE; + + FSDIO_DEBUG("ack cmd and data trans done"); + FASSERT(instance->evt); + x_result = xEventGroupSetBitsFromISR(instance->evt, FFREERTOS_SDIO_DAT_TRANS_DONE, + &xhigher_priority_task_woken); + + return; +} + +/* wait sdio command done / data over / error occurred from task */ +static FError FSdioOsWaitCmdDataDone(FFreeRTOSSdio *const instance) +{ + const TickType_t wait_delay = pdMS_TO_TICKS(FFREERTOS_SDIO_CMD_TIMEOUT); /* wait for 5000 ms */ + EventBits_t ev; + FError err = FFREERTOS_SDIO_OK; + u32 evt_bits = FFREERTOS_SDIO_CMD_TRANS_DONE; /* command done */ + u32 err_bits = FFREERTOS_SDIO_ERROR_OCCURRED; /* error occurred */ + FSdioCmdData *cmd_data = &instance->cmd_data; + FSdio *ctrl = &instance->ctrl; + + if (cmd_data->data_p) + { + evt_bits |= FFREERTOS_SDIO_DAT_TRANS_DONE; /* need to wait data over */ + } + + /* block task to wait finish signal */ + FASSERT_MSG(instance->evt, "evt not exists"); + ev = xEventGroupWaitBits(instance->evt, evt_bits, + pdTRUE, pdTRUE, wait_delay); /* wait for cmd/data done */ + if (ev & evt_bits == evt_bits) + { + FSDIO_DEBUG("trans done"); + err = FSdioGetCmdResponse(ctrl, cmd_data); /* check for response data */ + } + else if (ev & err_bits) + { + /* restart controller in interrupt is not a good idea */ + FSdioDumpRegister(ctrl->config.base_addr); + FSDIO_WARN("restart controller from error state !!!"); + err = FSdioRestart(ctrl); /* update clock otherwise next command will also fail */ + } + else + { + FSDIO_ERROR("trans timeout, ev: 0x%x != 0x%x", ev, evt_bits); + err = FFREERTOS_SDIO_EVT_ERR; + } + + return err; +} + +/* sdmmc do cmd and data transaction */ +static sdmmc_err_t FSdioOsHostDoTransaction(int slot, sdmmc_command_t *cmdinfo) +{ + FASSERT((slot >= 0) && (slot < FSDIO_HOST_INSTANCE_NUM)); + FFreeRTOSSdio *instance = &sdio[slot]; + FSdio *ctrl = &instance->ctrl; + sdmmc_err_t ret = SDMMC_OK; + FSdioCmdData *cmd_data = &instance->cmd_data; + FSdioData *trans_data = &instance->trans_data; + FError err = FSDIO_SUCCESS; + + /* use static structure attached at instance to forward command & data */ + memset(cmd_data, 0, sizeof(*cmd_data)); + if (cmdinfo->data) + { + memset(trans_data, 0, sizeof(*trans_data)); + cmd_data->data_p = trans_data; + } + + FSdioOsConvertCmdInfo(cmdinfo, cmd_data); /* prepare command data */ + + if (instance->config.en_dma) /* DMA mode */ + { + err = FSdioDMATransfer(ctrl, cmd_data); + if (FSDIO_SUCCESS != err) + { + ret = SDMMC_FAIL; + goto err_exit; + } + } + else /* non-DMA, PIO mode */ + { + err = FSdioPIOTransfer(ctrl, cmd_data); + if (FSDIO_SUCCESS != err) + { + ret = SDMMC_FAIL; + goto err_exit; + } + } + + /* wait command / data over signal */ + err = FSdioOsWaitCmdDataDone(instance); + if (FSDIO_SUCCESS != err) + { + ret = SDMMC_FAIL; + goto err_exit; + } + + /* success, copy response out */ + if (SCF_RSP_PRESENT & cmdinfo->flags) + { + cmdinfo->response[0] = cmd_data->response[0]; + + if (SCF_RSP_136 & cmdinfo->flags) + { + cmdinfo->response[1] = cmd_data->response[1]; + cmdinfo->response[2] = cmd_data->response[2]; + cmdinfo->response[3] = cmd_data->response[3]; + } + } + +err_exit: + return ret; +} + +/* sdmmc host deinit */ +static sdmmc_err_t FSdioOsHostDeinit(void) +{ + sdmmc_err_t err = SDMMC_OK; + return err; +} + +static sdmmc_err_t FSdioOsHostEnableIOInt(int slot) +{ + FASSERT((slot >= 0) && (slot < FSDIO_HOST_INSTANCE_NUM)); + FSDIO_ERROR("sdio_host_io_int_enable not supported !!!"); + return SDMMC_OK; +} + +static sdmmc_err_t FSdioOsHostWaitIOInt(int slot, TickType_t timeout_ticks) +{ + FASSERT((slot >= 0) && (slot < FSDIO_HOST_INSTANCE_NUM)); + FSDIO_ERROR("sdio_host_io_int_wait not supported !!!"); + return SDMMC_OK; +} + +/* setup sdmmc host */ +static FError FSdioOsSetupHost(FFreeRTOSSdio *const instance) +{ + FSdio *ctrl = &instance->ctrl; + int slot = (int)ctrl->config.instance_id; + FSdioOSHost *const sdmmc = &sdmmc_host[slot]; + sdmmc_host_t *host_p = &sdmmc->host; /* host */ + sdmmc_card_t *card_p = &sdmmc->card; /* card */ + sdmmc_err_t sd_err = SDMMC_OK; + static boolean sdmmc_inited = FALSE; + + if (TRUE != sdmmc_inited) + { + /* init sdmmc, which is shared by all instance, and init only one time */ + sd_err = sdmmc_port_init(); + if (SDMMC_OK != sd_err) + goto err_exit; + + sdmmc_inited = TRUE; + } + + instance->host_data = sdmmc; + + /* set sdmmc host parameters */ + host_p->slot = slot; + host_p->flags |= SDMMC_HOST_FLAG_4BIT; /* bus width = 4 bit */ + host_p->flags &= ~SDMMC_HOST_FLAG_DDR; /* not support DDR mode */ + host_p->flags &= ~SDMMC_HOST_FLAG_SPI; /* not support SPI mode */ + host_p->max_freq_khz = SDMMC_FREQ_50M; /* max freq 50MHz */ + host_p->io_voltage = 3.3f; /* 3.3v */ + host_p->command_timeout_ms = FFREERTOS_SDIO_CMD_TIMEOUT; /* 5000ms timeout */ + + FSDIO_INFO("slot: %d, flags: 0x%x, freq: %dkHz", + host_p->slot, host_p->flags, host_p->max_freq_khz); + + /* register host ops */ + host_p->init = FSdioOsHostInit; + host_p->set_bus_width = FSdioOsHostSetBusWidth; + host_p->get_bus_width = FSdioOsHostGetBusWidth; + host_p->set_bus_ddr_mode = FSdioOsHostSetDDRMode; + host_p->set_card_clk = FSdioOsHostSetCardClock; + host_p->do_transaction = FSdioOsHostDoTransaction; + host_p->deinit = FSdioOsHostDeinit; + host_p->io_int_enable = FSdioOsHostEnableIOInt; + host_p->io_int_wait = FSdioOsHostWaitIOInt; + + /* set clock as 400kHz to probe card */ + sd_err = FSdioOsHostSetCardClock(slot, SDMMC_FREQ_PROBING); + if (SDMMC_OK != sd_err) + { + FSDIO_ERROR("sdio ctrl setup 400kHz clock failed"); + goto err_exit; + } + + /* probe eMMC or tf card */ + if (FFREERTOS_SDIO_MEDIUM_EMMC == instance->config.medium_type) + { + sd_err = sdmmc_init_emmc(host_p, card_p); + } + else if (FFREERTOS_SDIO_MEDIUM_TF == instance->config.medium_type) + { + sd_err = sdmmc_init_tf_card(host_p, card_p); + } + + if (SDMMC_OK == sd_err) + { + sdmmc_card_print_info(stdout, card_p); /* print card info is success */ + } + else + { + FSDIO_ERROR("card init failed: 0x%x", sd_err); + } + +err_exit: + return (SDMMC_OK != sd_err) ? FFREERTOS_SDIO_HOST_ERR : FFREERTOS_SDIO_OK; +} + +/** + * @name: FFreeRTOSSdioInit + * @msg: init and get sdio instance + * @return {FFreeRTOSSdio *} NULL if failed + * @param {u32} id, instance id of sdio + * @param {FFreeRTOSSdioConifg} *input_config, input config of sdio + */ +FFreeRTOSSdio *FFreeRTOSSdioInit(u32 id, const FFreeRTOSSdioConifg *input_config) +{ + FASSERT(input_config); + FASSERT_MSG(id < FSDIO_HOST_INSTANCE_NUM, "invalid sdio id"); + FFreeRTOSSdio *instance = &sdio[id]; + FSdio *ctrl = &instance->ctrl; + FSdioConfig sdio_config; + FError err = FFREERTOS_SDIO_OK; + sdmmc_err_t sd_err = SDMMC_OK; + + if (FT_COMPONENT_IS_READY == ctrl->is_ready) + { + FSDIO_ERROR("sdio-%d already init", id); + return instance; + } + + taskENTER_CRITICAL(); /* no scheduler during init */ + + instance->config = *input_config; + sdio_config = *FSdioLookupConfig(id); + sdio_config.trans_mode = (instance->config.en_dma) ? FSDIO_IDMA_TRANS_MODE : FSDIO_PIO_TRANS_MODE; + if (FFREERTOS_SDIO_MEDIUM_EMMC == instance->config.medium_type) + sdio_config.non_removable = TRUE; + else + sdio_config.non_removable = FALSE; + + err = FSdioCfgInitialize(ctrl, &sdio_config); + if (FSDIO_SUCCESS != err) + { + FSDIO_ERROR("init sdio-%d failed, err: 0x%x !!!", id, err); + taskEXIT_CRITICAL(); /* allow schedule after init */ + return NULL; + } + + if (instance->config.en_dma) + { + /* setup dma list */ + err = FSdioSetIDMAList(ctrl, instance->rw_desc, FFREERTOS_SDIO_MAX_TRANS_BLOCK); + if (FSDIO_SUCCESS != err) + { + FSDIO_ERROR("set sdio-%d dma list, err: 0x%x !!!", id, err); + taskEXIT_CRITICAL(); /* allow schedule after init */ + return NULL; + } + } + + FSdioOSSetupInterrupt(ctrl); + + if (instance->config.card_detect_handler) + { + FSdioRegisterEvtHandler(ctrl, FSDIO_EVT_CARD_DETECTED, + instance->config.card_detect_handler, + instance->config.card_detect_args); + } + + /* restart controller if error */ + FSdioRegisterEvtHandler(ctrl, FSDIO_EVT_ERR_OCCURE, FSdioOsHandleError, instance); + + /* transfer may end up with cmd over or cmd and data over */ + FSdioRegisterEvtHandler(ctrl, FSDIO_EVT_CMD_DONE, FSdioOsAckCmdDone, instance); + FSdioRegisterEvtHandler(ctrl, FSDIO_EVT_DATA_DONE, FSdioOsAckDataDone, instance); + + FASSERT_MSG(NULL == instance->locker, "locker exists !!!"); + FASSERT_MSG((instance->locker = xSemaphoreCreateMutex()) != NULL, "create mutex failed !!!"); + + FASSERT_MSG(NULL == instance->evt, "event group exists !!!"); + FASSERT_MSG((instance->evt = xEventGroupCreate()) != NULL, "create event group failed !!!"); + + taskEXIT_CRITICAL(); /* allow schedule after init */ + + /* take locker to protect instead disable scheduler, + since card probe is time-consuming */ + err = FSdioOsTakeSema(instance->locker); + if (FFREERTOS_SDIO_OK != err) + return NULL; + + /* including card probe process, which could be time consuming */ + err = FSdioOsSetupHost(instance); + +err_exit: + FSdioOsGiveSema(instance->locker); + return (FFREERTOS_SDIO_OK == err) ? instance : NULL; /* exit with NULL if failed */ +} + +/** + * @name: FFreeRTOSSdioDeInit + * @msg: deinit sdio instance + * @return {FError} FFREERTOS_SDIO_OK if success + * @param {FFreeRTOSSdio} *instance, freertos sdio instance + */ +FError FFreeRTOSSdioDeInit(FFreeRTOSSdio *const instance) +{ + FASSERT(instance); + FSdio *ctrl = &instance->ctrl; + FError err = FFREERTOS_SDIO_OK; + + /* no scheduler during deinit */ + taskENTER_CRITICAL(); + + /* disable sdio irq */ + InterruptMask(ctrl->config.irq_num); + + FSdioDeInitialize(ctrl); + + instance->host_data = NULL; + + FASSERT_MSG(NULL != instance->locker, "locker not exists !!!"); + vSemaphoreDelete(instance->locker); + instance->locker = NULL; + + FASSERT_MSG(NULL != instance->evt, "event group not exists !!!"); + vEventGroupDelete(instance->evt); + instance->evt = NULL; + + taskEXIT_CRITICAL(); /* allow schedule after deinit */ + + return err; +} + +/** + * @name: FFreeRTOSSdioTransfer + * @msg: start sdio transfer and wait transfer done in this function + * @return {FError} FFREERTOS_SDIO_OK if transfer success + * @param {FFreeRTOSSdio} *instance, freertos sdio instance + * @param {FFreeRTOSSdioMessage} *message, sdio transfer message + */ +FError FFreeRTOSSdioTransfer(FFreeRTOSSdio *const instance, const FFreeRTOSSdioMessage *message) +{ + FASSERT(instance); + FSdio *ctrl = &instance->ctrl; + sdmmc_err_t sd_err = SDMMC_OK; + FError err = FFREERTOS_SDIO_OK; + FSdioOSHost *sdmmc = (FSdioOSHost *)instance->host_data; + + err = FSdioOsTakeSema(instance->locker); + if (FFREERTOS_SDIO_OK != err) + return err; + + FASSERT_MSG(message->buf_len >= message->block_num * FSDIO_DEFAULT_BLOCK_SZ, "buffer not enough !!!"); + if (FFREERTOS_SDIO_TRANS_READ == message->trans_type) + { + sd_err = sdmmc_read_sectors(&sdmmc->card, (void *)message->buf, + message->start_block, message->block_num); + if (SDMMC_OK != sd_err) + { + err = FFREERTOS_SDIO_READ_ERR; + } + } + else + { + sd_err = sdmmc_write_sectors(&sdmmc->card, (const void *)message->buf, + message->start_block, message->block_num); + if (SDMMC_OK != sd_err) + { + err = FFREERTOS_SDIO_WRITE_ERR; + } + } + +err_exit: + FSdioOsGiveSema(instance->locker); + return err; +} \ No newline at end of file diff --git a/drivers/mmc/fsdio/fsdio_os.h b/drivers/mmc/fsdio/fsdio_os.h new file mode 100644 index 00000000..27b526ec --- /dev/null +++ b/drivers/mmc/fsdio/fsdio_os.h @@ -0,0 +1,115 @@ +/* + * Copyright : (C) 2022 Phytium Information Technology, Inc. + * All Rights Reserved. + * + * This program is OPEN SOURCE software: you can redistribute it and/or modify it + * under the terms of the Phytium Public License as published by the Phytium Technology Co.,Ltd, + * either version 1.0 of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful,but WITHOUT ANY WARRANTY; + * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + * See the Phytium Public License for more details. + * + * + * FilePath: fsdio_os.h + * Date: 2022-07-25 09:14:34 + * LastEditTime: 2022-07-25 09:14:34 + * Description:  This files is for + * + * Modify History: + * Ver   Who        Date         Changes + * ----- ------     --------    -------------------------------------- + * 1.0 zhugengyu 2022/7/27 init commit + */ +#ifndef DRIVERS_FSDIO_OS_H +#define DRIVERS_FSDIO_OS_H + +#ifdef __cplusplus +extern "C" +{ +#endif + +/***************************** Include Files *********************************/ +#include +#include +#include + +#include "kernel.h" +#include "parameters.h" +#include "fsdio.h" + +/************************** Constant Definitions *****************************/ +#define FFREERTOS_SDIO_OK FT_SUCCESS +#define FFREERTOS_SDIO_SEMA_ERR FT_CODE_ERR(ErrModPort, ErrBspMmc, 1) +#define FFREERTOS_SDIO_HOST_ERR FT_CODE_ERR(ErrModPort, ErrBspMmc, 2) +#define FFREERTOS_SDIO_EVT_ERR FT_CODE_ERR(ErrModPort, ErrBspMmc, 3) +#define FFREERTOS_SDIO_READ_ERR FT_CODE_ERR(ErrModPort, ErrBspMmc, 4) +#define FFREERTOS_SDIO_WRITE_ERR FT_CODE_ERR(ErrModPort, ErrBspMmc, 5) + +#define FFREERTOS_SDIO_IRQ_PRIORITY IRQ_PRIORITY_VALUE_12 + +#define FFREERTOS_SDIO_MEDIUM_TF 0U /* sdio medium is tf card */ +#define FFREERTOS_SDIO_MEDIUM_EMMC 1U /* sdio medium is emmc */ + +#define FFREERTOS_SDIO_TRANS_READ 0U /* sdio trans direction is read */ +#define FFREERTOS_SDIO_TRANS_WRITE 1U /* sdio trans direction is write */ + +#define FFREERTOS_SDIO_MAX_TRANS_BLOCK 64U /* max num of block involved in one transfer */ +#define FFREERTOS_SDIO_BLOCK_SIZE FSDIO_DEFAULT_BLOCK_SZ + +#define FFREERTOS_SDIO_CMD_TIMEOUT 5000U +/**************************** Type Definitions *******************************/ +typedef struct +{ + boolean en_dma; /* TRUE: data transfer in DMA mode, FALSE: PIO mode */ + u32 medium_type; /* use FFREERTOS_SDIO_MEDIUM_* */ + FSdioEvtHandler card_detect_handler; /* callback for card detect status change */ + void *card_detect_args; +} FFreeRTOSSdioConifg; /* freertos sdio config */ + +typedef struct +{ + FSdio ctrl; + FFreeRTOSSdioConifg config; + SemaphoreHandle_t locker; + EventGroupHandle_t evt; +#define FFREERTOS_SDIO_CMD_TRANS_DONE (0x1 << 0) /* evt bit when command / data finished */ +#define FFREERTOS_SDIO_DAT_TRANS_DONE (0x1 << 1) +#define FFREERTOS_SDIO_ERROR_OCCURRED (0x1 << 2) /* evt bit when ctrl in error occurred */ + void *host_data; /* store private data of card and host */ + volatile FSdioIDmaDesc rw_desc[FFREERTOS_SDIO_MAX_TRANS_BLOCK]; /* dma descriptor entry */ + FSdioCmdData cmd_data; /* command information */ + FSdioData trans_data; /* data information */ +} FFreeRTOSSdio; /* freertos sdio instance */ + +typedef struct +{ + uintptr start_block; /* block to start read/write */ + fsize_t block_num; /* num of block to read/write */ + u8 *buf; /* buffer read from / write to */ + fsize_t buf_len; /* bytes of buffer contents */ + u32 trans_type; /* use FFREERTOS_SDIO_TRANS_* */ +} FFreeRTOSSdioMessage; /* freertos sdio transfer message */ + +/************************** Variable Definitions *****************************/ + +/***************** Macros (Inline Functions) Definitions *********************/ + +/************************** Function Prototypes ******************************/ + +/*****************************************************************************/ +/* init and get sdio instance */ +FFreeRTOSSdio *FFreeRTOSSdioInit(u32 instance_id, const FFreeRTOSSdioConifg *config); + +/* deinit sdio instance */ +FError FFreeRTOSSdioDeInit(FFreeRTOSSdio *const instance); + +/* start sdio transfer and wait transfer done in this function */ +FError FFreeRTOSSdioTransfer(FFreeRTOSSdio *const instance, const FFreeRTOSSdioMessage *message); + + +#ifdef __cplusplus +} +#endif + +#endif \ No newline at end of file diff --git a/drivers/pwm/fpwm_os.c b/drivers/pwm/fpwm_os.c new file mode 100644 index 00000000..fba4a762 --- /dev/null +++ b/drivers/pwm/fpwm_os.c @@ -0,0 +1,292 @@ +/* + * Copyright : (C) 2022 Phytium Information Technology, Inc. + * All Rights Reserved. + * + * This program is OPEN SOURCE software: you can redistribute it and/or modify it + * under the terms of the Phytium Public License as published by the Phytium Technology Co.,Ltd, + * either version 1.0 of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful,but WITHOUT ANY WARRANTY; + * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + * See the Phytium Public License for more details. + * + * + * FilePath: fpwm_os.c + * Date: 2022-08-15 14:20:19 + * LastEditTime: 2022-08-25 16:59:51 + * Description:  This file is for + * + * Modify History: + * Ver   Who        Date         Changes + * ----- ------     --------    -------------------------------------- + */ +#include +#include +#include +#include +#include "task.h" +#include "ft_types.h" +#include "ft_assert.h" +#include "ft_debug.h" +#include "fpwm_os.h" +#include "fpwm.h" +#include "interrupt.h" +#include "fpwm_hw.h" + +#define FPWM_DEBUG_TAG "FFreeRTOSPwm" +#define FPWM_ERROR(format, ...) FT_DEBUG_PRINT_E(FPWM_DEBUG_TAG, format, ##__VA_ARGS__) +#define FPWM_WARN(format, ...) FT_DEBUG_PRINT_W(FPWM_DEBUG_TAG, format, ##__VA_ARGS__) +#define FPWM_INFO(format, ...) FT_DEBUG_PRINT_I(FPWM_DEBUG_TAG, format, ##__VA_ARGS__) +#define FPWM_DEBUG(format, ...) FT_DEBUG_PRINT_D(FPWM_DEBUG_TAG, format, ##__VA_ARGS__) + +static FFreeRTOSPwm os_pwm[FPWM_INSTANCE_NUM] = {0}; + +/** + * @name: FFreeRTOSPwmInit + * @msg: init freeRTOS pwm instance, include init pwm and create mutex + * @param {u32} instance_id, pwm instance id + * @return {FFreeRTOSPwm *} pointer to os pwm instance + */ +FFreeRTOSPwm *FFreeRTOSPwmInit(u32 instance_id) +{ + FASSERT(instance_id < FPWM_INSTANCE_NUM); + FASSERT(FT_COMPONENT_IS_READY != os_pwm[instance_id].pwm_ctrl.is_ready); + + FPwmConfig pconfig; + pconfig = *FPwmLookupConfig(instance_id); + pconfig.irq_prority[FPWM_CHANNEL_0] = FREERTOS_PWM_IRQ_PRIORITY; + pconfig.irq_prority[FPWM_CHANNEL_1] = FREERTOS_PWM_IRQ_PRIORITY; + + FASSERT(FPwmCfgInitialize(&os_pwm[instance_id].pwm_ctrl, &pconfig) == FT_SUCCESS); + FASSERT((os_pwm[instance_id].pwm_semaphore = xSemaphoreCreateMutex()) != NULL); + + return (&os_pwm[instance_id]); +} + +/** + * @name: FFreeRTOSPwmDeinit + * @msg: deinit freeRTOS pwm instance, include stop pwm, deinit pwm and delete mutex + * @param {FFreeRTOSPwm} *os_pwm_p, pointer to os pwm instance + * @return err code information, FPWM_SUCCESS indicates success,others indicates failed + */ +FError FFreeRTOSPwmDeinit(FFreeRTOSPwm *os_pwm_p) +{ + FASSERT(os_pwm_p); + FASSERT(os_pwm_p->pwm_semaphore != NULL); + + FPwmDeInitialize(&os_pwm_p->pwm_ctrl); + vSemaphoreDelete(os_pwm_p->pwm_semaphore); + memset(os_pwm_p, 0, sizeof(*os_pwm_p)); + + return FPWM_SUCCESS; +} + +/** + * @name: FFreeRTOSPwmControl + * @msg: control freeRTOS pwm instance + * @param {FFreeRTOSPwm} *os_pwm_p, pointer to os pwm instance + * @param {int} cmd, control cmd + * @param {void} *args, pointer to control cmd arguments + * @return err code information, FPWM_SUCCESS indicates success,others indicates failed + */ +static FError FFreeRTOSPwmControl(FFreeRTOSPwm *os_pwm_p, int cmd, void *arg) +{ + FFreeRTOSPwmConfig *configuration = (FFreeRTOSPwmConfig *)arg; + FError ret = FPWM_SUCCESS; + + /* New contrl can be performed only after current one is finished */ + if (pdFALSE == xSemaphoreTake(os_pwm_p->pwm_semaphore, portMAX_DELAY)) + { + FPWM_ERROR("Pwm xSemaphoreTake failed\r\n"); + /* We could not take the semaphore, exit with 0 data received */ + return FREERTOS_PWM_SEM_ERROR; + } + + switch (cmd) + { + case FREERTOS_PWM_CTRL_SET: + ret = FPwmVariableSet(&os_pwm_p->pwm_ctrl, configuration->channel, &configuration->pwm_cfg); + break; + + case FREERTOS_PWM_CTRL_GET: + ret = FPwmVariableGet(&os_pwm_p->pwm_ctrl, configuration->channel, &configuration->pwm_cfg); + break; + + case FREERTOS_PWM_CTRL_ENABLE: + FPwmEnable(&os_pwm_p->pwm_ctrl, configuration->channel); + break; + + case FREERTOS_PWM_CTRL_DISABLE: + FPwmDisable(&os_pwm_p->pwm_ctrl, configuration->channel); + break; + + case FREERTOS_PWM_CTRL_DB_SET: + ret = FPwmDbVariableSet(&os_pwm_p->pwm_ctrl, &configuration->db_cfg); + break; + + case FREERTOS_PWM_CTRL_DB_GET: + ret = FPwmDbVariableGet(&os_pwm_p->pwm_ctrl, &configuration->db_cfg); + break; + + case FREERTOS_PWM_CTRL_PULSE_SET: + ret = FPwmPulseSet(&os_pwm_p->pwm_ctrl, configuration->channel, configuration->pwm_cfg.pwm_pulse); + break; + + default: + FPWM_ERROR("invalid cmd."); + ret = FPWM_ERR_NOT_SUPPORT; + break; + } + + /* Enable next contrl. Current one is finished */ + if (pdFALSE == xSemaphoreGive(os_pwm_p->pwm_semaphore)) + { + /* We could not post the semaphore, exit with error */ + FPWM_ERROR("Pwm xSemaphoreGive failed\r\n"); + return FREERTOS_PWM_SEM_ERROR; + } + + return ret; +} + +/** + * @name: FFreeRTOSPwmSet + * @msg: set freeRTOS pwm channel config, include div, period and pulse. + * @param {FFreeRTOSPwm} *os_pwm_p, pointer to os pwm instance + * @param {FPwmChannel} channel, pwm channel + * @param {FPwmVariableConfig} pwm_cfg_p, pwm config parameters, include mode and duty + * @return err code information, FPWM_SUCCESS indicates success,others indicates failed + */ +FError FFreeRTOSPwmSet(FFreeRTOSPwm *os_pwm_p, FPwmChannel channel, FPwmVariableConfig *pwm_cfg_p) +{ + FASSERT(os_pwm_p); + FASSERT(os_pwm_p->pwm_semaphore != NULL); + FASSERT(channel < FPWM_CHANNEL_NUM); + FASSERT(pwm_cfg_p != NULL); + FError ret = FPWM_SUCCESS; + FFreeRTOSPwmConfig configuration = {0}; + configuration.pwm_cfg = *pwm_cfg_p; + configuration.channel = channel; + ret = FFreeRTOSPwmControl(os_pwm_p, FREERTOS_PWM_CTRL_SET, &configuration); + return ret; +} + +/** + * @name: FFreeRTOSPwmGet + * @msg: get freeRTOS pwm channel config, include div, period and pulse. + * @param {FFreeRTOSPwm} *os_pwm_p, pointer to os pwm instance + * @param {FPwmChannel} channel, pwm channel + * @param {FPwmVariableConfig} *pwm_cfg_p, pwm config parameters, include mode and duty + * @return err code information, FPWM_SUCCESS indicates success,others indicates failed + */ +FError FFreeRTOSPwmGet(FFreeRTOSPwm *os_pwm_p, FPwmChannel channel, FPwmVariableConfig *pwm_cfg_p) +{ + FASSERT(os_pwm_p); + FASSERT(os_pwm_p->pwm_semaphore != NULL); + FASSERT(channel < FPWM_CHANNEL_NUM); + FASSERT(pwm_cfg_p != NULL); + FError ret = FPWM_SUCCESS; + FFreeRTOSPwmConfig configuration = {0}; + configuration.channel = channel; + + ret = FFreeRTOSPwmControl(os_pwm_p, FREERTOS_PWM_CTRL_GET, &configuration); + if(ret == FPWM_SUCCESS) + { + *pwm_cfg_p = configuration.pwm_cfg; + } + return ret; +} + +/** + * @name: FFreeRTOSPwmEnable + * @msg: enable or disable freeRTOS pwm channel output + * @param {FFreeRTOSPwm} *os_pwm_p, pointer to os pwm instance + * @param {FPwmChannel} channel, pwm channel + * @param {boolean} state, TRUE-enable, FALSE-disable + * @return err code information, FPWM_SUCCESS indicates success,others indicates failed + */ +FError FFreeRTOSPwmEnable(FFreeRTOSPwm *os_pwm_p, FPwmChannel channel, boolean state) +{ + FASSERT(os_pwm_p); + FASSERT(os_pwm_p->pwm_semaphore != NULL); + FASSERT(channel < FPWM_CHANNEL_NUM); + + FError ret = FPWM_SUCCESS; + FFreeRTOSPwmConfig configuration = {0}; + configuration.channel = channel; + + if (state==TRUE) + { + ret = FFreeRTOSPwmControl(os_pwm_p, FREERTOS_PWM_CTRL_ENABLE, &configuration); + } + else + { + ret = FFreeRTOSPwmControl(os_pwm_p, FREERTOS_PWM_CTRL_DISABLE, &configuration); + } + + return ret; +} + +/** + * @name: FFreeRTOSPwmDbSet + * @msg: set pwm db config, include polarity, input source, delay time. + * @param {FFreeRTOSPwm} *os_pwm_p, pointer to os pwm instance + * @param {FPwmDbVariableConfig} db_cfg_p, pwm db config parameters + * @return err code information, FPWM_SUCCESS indicates success,others indicates failed + */ +FError FFreeRTOSPwmDbSet(FFreeRTOSPwm *os_pwm_p, FPwmDbVariableConfig *db_cfg_p) +{ + FASSERT(os_pwm_p); + FASSERT(os_pwm_p->pwm_semaphore != NULL); + FASSERT(db_cfg_p != NULL); + FError ret = FPWM_SUCCESS; + FFreeRTOSPwmConfig configuration = {0}; + configuration.db_cfg = *db_cfg_p; + ret = FFreeRTOSPwmControl(os_pwm_p, FREERTOS_PWM_CTRL_DB_SET, &configuration); + return ret; +} + +/** + * @name: FFreeRTOSPwmDbGet + * @msg: get pwm db config, include polarity, input source, delay time. + * @param {FFreeRTOSPwm} *os_pwm_p, pointer to os pwm instance + * @param {FPwmDbVariableConfig} db_cfg_p, pwm db config parameters + * @return err code information, FPWM_SUCCESS indicates success,others indicates failed + */ +FError FFreeRTOSPwmDbGet(FFreeRTOSPwm *os_pwm_p, FPwmDbVariableConfig *db_cfg_p) +{ + FASSERT(os_pwm_p); + FASSERT(os_pwm_p->pwm_semaphore != NULL); + FASSERT(db_cfg_p != NULL); + FError ret = FPWM_SUCCESS; + FFreeRTOSPwmConfig configuration = {0}; + + ret = FFreeRTOSPwmControl(os_pwm_p, FREERTOS_PWM_CTRL_DB_GET, &configuration); + if(ret == FPWM_SUCCESS) + { + *db_cfg_p = configuration.db_cfg; + } + return ret; +} + +/** + * @name: FFreeRTOSPwmPulseSet + * @msg: set freeRTOS pwm channel pulse. + * @param {FFreeRTOSPwm} *os_pwm_p, pointer to os pwm instance + * @param {FPwmChannel} channel, pwm channel + * @param {u16} pulse, pwm pulse to set + * @return err code information, FPWM_SUCCESS indicates success,others indicates failed + */ +FError FFreeRTOSPwmPulseSet(FFreeRTOSPwm *os_pwm_p, FPwmChannel channel, u16 pulse) +{ + FASSERT(os_pwm_p); + FASSERT(os_pwm_p->pwm_semaphore != NULL); + FASSERT(channel < FPWM_CHANNEL_NUM); + FError ret = FPWM_SUCCESS; + + FFreeRTOSPwmConfig configuration = {0}; + configuration.pwm_cfg.pwm_pulse = pulse; + + ret = FFreeRTOSPwmControl(os_pwm_p, FREERTOS_PWM_CTRL_PULSE_SET, &configuration); + return ret; +} diff --git a/drivers/pwm/fpwm_os.h b/drivers/pwm/fpwm_os.h new file mode 100644 index 00000000..e0a84cf4 --- /dev/null +++ b/drivers/pwm/fpwm_os.h @@ -0,0 +1,86 @@ +/* + * Copyright : (C) 2022 Phytium Information Technology, Inc. + * All Rights Reserved. + * + * This program is OPEN SOURCE software: you can redistribute it and/or modify it + * under the terms of the Phytium Public License as published by the Phytium Technology Co.,Ltd, + * either version 1.0 of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful,but WITHOUT ANY WARRANTY; + * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + * See the Phytium Public License for more details. + * + * + * FilePath: fpwm_os.h + * Date: 2022-02-24 13:42:19 + * LastEditTime: 2022-03-21 16:59:58 + * Description:  This file is for + * + * Modify History: + * Ver   Who        Date         Changes + * ----- ------     --------    -------------------------------------- + */ + +#ifndef DRIVERS_FPWM_OS_H +#define DRIVERS_FPWM_OS_H + +#include +#include +#include "ft_error_code.h" +#include "fpwm.h" +#include "ft_types.h" + +/* freertos pwm error */ +#define FREERTOS_PWM_SEM_ERROR FT_CODE_ERR(ErrModBsp, ErrBspPwm, 10) + +/* freertos pwm interrupt priority */ +#define FREERTOS_PWM_IRQ_PRIORITY IRQ_PRIORITY_VALUE_12 + +#define FREERTOS_PWM_CTRL_ENABLE (1) /* enable pwm channel */ +#define FREERTOS_PWM_CTRL_DISABLE (2) /* disable pwm channel */ +#define FREERTOS_PWM_CTRL_SET (3) /* set pwm channel configuration */ +#define FREERTOS_PWM_CTRL_GET (4) /* get pwm channel configuration */ +#define FREERTOS_PWM_CTRL_DB_SET (5) /* enable pwm dead band function */ +#define FREERTOS_PWM_CTRL_DB_GET (6) /* disable pwm dead band function */ +#define FREERTOS_PWM_CTRL_PULSE_SET (7) /* set pwm pulse */ + + +typedef struct +{ + u32 channel; /* 0-1 */ + FPwmVariableConfig pwm_cfg; + FPwmDbVariableConfig db_cfg; +}FFreeRTOSPwmConfig; + +typedef struct +{ + FPwmCtrl pwm_ctrl; /* pwm object */ + xSemaphoreHandle pwm_semaphore; /*!< pwm semaphore for resource sharing */ +} FFreeRTOSPwm; + +/* init freertos pwm instance */ +FFreeRTOSPwm *FFreeRTOSPwmInit(u32 instance_id); + +/* deinit freertos pwm instance */ +FError FFreeRTOSPwmDeinit(FFreeRTOSPwm *os_pwm_p); + +/* pwm channel enable or disable */ +FError FFreeRTOSPwmEnable(FFreeRTOSPwm *os_pwm_p, FPwmChannel channel, boolean state); + +/* set pwm channel config */ +FError FFreeRTOSPwmSet(FFreeRTOSPwm *os_pwm_p, FPwmChannel channel, FPwmVariableConfig *pwm_cfg_p); + +/* get pwm channel config */ +FError FFreeRTOSPwmGet(FFreeRTOSPwm *os_pwm_p, FPwmChannel channel, FPwmVariableConfig *pwm_cfg_p); + +/* set pwm db config */ +FError FFreeRTOSPwmDbSet(FFreeRTOSPwm *os_pwm_p, FPwmDbVariableConfig *db_cfg_p); + +/* get pwm db config */ +FError FFreeRTOSPwmDbGet(FFreeRTOSPwm *os_pwm_p, FPwmDbVariableConfig *db_cfg_p); + +/* set pwm channel pulse */ +FError FFreeRTOSPwmPulseSet(FFreeRTOSPwm *os_pwm_p, FPwmChannel channel, u16 pulse); + + +#endif // ! diff --git a/drivers/spi/fspim/fspim_os.c b/drivers/spi/fspim/fspim_os.c new file mode 100644 index 00000000..d18a550d --- /dev/null +++ b/drivers/spi/fspim/fspim_os.c @@ -0,0 +1,362 @@ +/* + * Copyright : (C) 2022 Phytium Information Technology, Inc. + * All Rights Reserved. + * + * This program is OPEN SOURCE software: you can redistribute it and/or modify it + * under the terms of the Phytium Public License as published by the Phytium Technology Co.,Ltd, + * either version 1.0 of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful,but WITHOUT ANY WARRANTY; + * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + * See the Phytium Public License for more details. + * + * + * FilePath: fspim_os.c + * Date: 2022-07-18 09:05:53 + * LastEditTime: 2022-07-18 09:05:53 + * Description:  This files is for + * + * Modify History: + * Ver   Who        Date         Changes + * ----- ------     --------    -------------------------------------- + * 1.0 zhugengyu 2022/7/27 init commit + */ +/***************************** Include Files *********************************/ +#include +#include +#include + +#include "interrupt.h" +#include "parameters.h" +#include "ft_debug.h" +#include "ft_assert.h" +#include "fsleep.h" +#include "cpu_info.h" +#include "fiopad.h" + +#include "fspim_os.h" +#include "fspim_hw.h" +/************************** Constant Definitions *****************************/ +#define FSPIM_OS_MAX_SPEED 12000000U + +/**************************** Type Definitions *******************************/ + +/************************** Variable Definitions *****************************/ +static FFreeRTOSSpim spim[FSPI_DEVICE_NUM]; + +/***************** Macros (Inline Functions) Definitions *********************/ +#define FSPIM_DEBUG_TAG "FSPIM-OS" +#define FSPIM_ERROR(format, ...) FT_DEBUG_PRINT_E(FSPIM_DEBUG_TAG, format, ##__VA_ARGS__) +#define FSPIM_WARN(format, ...) FT_DEBUG_PRINT_W(FSPIM_DEBUG_TAG, format, ##__VA_ARGS__) +#define FSPIM_INFO(format, ...) FT_DEBUG_PRINT_I(FSPIM_DEBUG_TAG, format, ##__VA_ARGS__) +#define FSPIM_DEBUG(format, ...) FT_DEBUG_PRINT_D(FSPIM_DEBUG_TAG, format, ##__VA_ARGS__) + +/************************** Function Prototypes ******************************/ +static void FSpimOsAckTransDone(void *instance_p, void *param); + +/*****************************************************************************/ + +static inline FError FSpimOsTakeSema(SemaphoreHandle_t locker) +{ + FASSERT_MSG((NULL != locker), "locker not exists"); + if (pdFALSE == xSemaphoreTake(locker, portMAX_DELAY)) + { + FSPIM_ERROR("failed to give locker !!!"); + return FFREERTOS_SPIM_SEMA_ERR; + } + + return FFREERTOS_SPIM_OK; +} + +static inline void FSpimOsGiveSema(SemaphoreHandle_t locker) +{ + FASSERT_MSG((NULL != locker), "locker not exists"); + if (pdFALSE == xSemaphoreGive(locker)) + { + FSPIM_ERROR("failed to give locker !!!"); + } + + return; +} + +static void FSpimOSSetupInterrupt(FSpim *ctrl) +{ + FSpimConfig *config_p = &ctrl->config; + uintptr base_addr = config_p->base_addr; + u32 evt; + u32 mask; + u32 cpu_id = 0; + + GetCpuId(&cpu_id); + FSPIM_INFO("cpu_id is cpu_id %d", cpu_id); + InterruptSetTargetCpus(config_p->irq_num, cpu_id); + + InterruptSetPriority(config_p->irq_num, config_p->irq_prority); + + /* register intr callback */ + InterruptInstall(config_p->irq_num, + FSpimInterruptHandler, + ctrl, + NULL); + + /* disable spi irq */ + FSpimMaskIrq(base_addr, FSPIM_IMR_ALL_BITS); + + /* enable irq */ + InterruptUmask(config_p->irq_num); + + return; +} + +/** + * @name: FFreeRTOSSpimInit + * @msg: init and get spi instance + * @return {FFreeRTOSSpim *} return + * @param {u32} id, spim instance id + * @param {FFreeRTOSSpimConifg} *input_config, freertos spim config + */ +FFreeRTOSSpim *FFreeRTOSSpimInit(u32 id, const FFreeRTOSSpimConifg *input_config) +{ + FASSERT(input_config); + FASSERT_MSG(id < FSPI_DEVICE_NUM, "invalid spim id"); + FFreeRTOSSpim *instance = &spim[id]; + FSpim *ctrl = &instance->ctrl; + FSpimConfig config; + FError err = FFREERTOS_SPIM_OK; + + if (FT_COMPONENT_IS_READY == ctrl->is_ready) + { + FSPIM_ERROR("spi-%d already init", id); + return instance; + } + + /* no scheduler during init */ + taskENTER_CRITICAL(); + + instance->config = *input_config; + config = *FSpimLookupConfig(id); + config.slave_dev_id = FSPIM_SLAVE_DEV_0; + + if (FFREERTOS_SPIM_MODE_0 == instance->config.spi_mode) /* mode 0 */ + { + config.cpha = FSPIM_CPHA_1_EDGE; + config.cpol = FSPIM_CPOL_LOW; + } + else if (FFREERTOS_SPIM_MODE_1 == instance->config.spi_mode) /* mode 1 */ + { + config.cpha = FSPIM_CPHA_2_EDGE; + config.cpol = FSPIM_CPOL_LOW; + } + else if (FFREERTOS_SPIM_MODE_2 == instance->config.spi_mode) /* mode 2 */ + { + config.cpha = FSPIM_CPHA_1_EDGE; + config.cpol = FSPIM_CPOL_HIGH; + } + else if (FFREERTOS_SPIM_MODE_3 == instance->config.spi_mode) /* mode 3 */ + { + config.cpha = FSPIM_CPHA_2_EDGE; + config.cpol = FSPIM_CPOL_HIGH; + } + + config.n_bytes = FSPIM_1_BYTE; + config.en_test = instance->config.inner_loopback; + config.en_dma = instance->config.en_dma; + config.irq_prority = FFREERTOS_SPIM_IRQ_PRIORITY; + config.max_freq_hz = FSPIM_OS_MAX_SPEED; + + FIOPadSetSpimMux(id); + + FSPIM_INFO("init spi-%d @ 0x%x", config.instance_id, config.base_addr); + err = FSpimCfgInitialize(ctrl, &config); + if (FSPIM_SUCCESS != err) + { + FSPIM_ERROR("init spim-%d failed, err: 0x%x !!!", id, err); + goto err_exit; + } + + FASSERT_MSG(NULL == instance->locker, "locker exists !!!"); + FASSERT_MSG((instance->locker = xSemaphoreCreateMutex()) != NULL, "create mutex failed !!!"); + + FASSERT_MSG(NULL == instance->evt, "event group exists !!!"); + FASSERT_MSG((instance->evt = xEventGroupCreate()) != NULL, "create event group failed !!!"); + + FSpimOSSetupInterrupt(ctrl); + FSpimRegisterIntrruptHandler(ctrl, FSPIM_INTR_EVT_RX_DONE, FSpimOsAckTransDone, instance); + + FSPIM_INFO("init spi-%d success !!!", id); + +err_exit: + taskEXIT_CRITICAL(); /* allow schedule after init */ + return (FSPIM_SUCCESS == err) ? instance : NULL; /* exit with NULL if failed */ +} + +/** + * @name: FFreeRTOSSpimDeInit + * @msg: deinit spi instance + * @return {FError} return FFREERTOS_SPIM_OK + * @param {FFreeRTOSSpim} *instance, spi instance + */ +FError FFreeRTOSSpimDeInit(FFreeRTOSSpim *const instance) +{ + FASSERT(instance); + FSpim *ctrl = &instance->ctrl; + FError err = FFREERTOS_SPIM_OK; + + if (FT_COMPONENT_IS_READY != ctrl->is_ready) + { + FSPIM_ERROR("ddma-%d already init"); + return FFREERTOS_SPIM_NOT_INIT; + } + + /* no scheduler during deinit */ + taskENTER_CRITICAL(); + + FSpimDeInitialize(ctrl); + + FASSERT_MSG(NULL != instance->locker, "locker not exists !!!"); + vSemaphoreDelete(instance->locker); + instance->locker = NULL; + + FASSERT_MSG(NULL != instance->evt, "event group not exists !!!"); + vEventGroupDelete(instance->evt); + instance->evt = NULL; + + taskEXIT_CRITICAL(); /* allow schedule after deinit */ + + return err; +} + +/* ack transfer finish from interrupt */ +static void FSpimOsAckTransDone(void *instance_p, void *param) +{ + FASSERT(param); + FFreeRTOSSpim *instance = (FFreeRTOSSpim *)param; + BaseType_t xhigher_priority_task_woken = pdFALSE; + BaseType_t x_result = pdFALSE; + + FSPIM_DEBUG("ack sfud trans done"); + FASSERT(instance->evt); + x_result = xEventGroupSetBitsFromISR(instance->evt, FFREERTOS_TRANS_DONE, + &xhigher_priority_task_woken); + + return; +} + +/* wait transfer finish ack from task */ +static FError FSpimOsWaitTransDone(FFreeRTOSSpim *const instance) +{ + const TickType_t wait_delay = pdMS_TO_TICKS(5000UL); /* wait for 5 seconds */ + EventBits_t ev; + FError err = FFREERTOS_SPIM_OK; + + /* block task to wait finish signal */ + FASSERT_MSG(instance->evt, "evt not exists"); + ev = xEventGroupWaitBits(instance->evt, FFREERTOS_TRANS_DONE, + pdTRUE, pdFALSE, wait_delay); /* wait for trans done */ + if ((ev & FFREERTOS_TRANS_DONE)) + { + FSPIM_DEBUG("trans done"); + } + else + { + FSPIM_ERROR("trans timeout"); + err = FFREERTOS_SPIM_WAIT_EVT_TIMOUT; + } + + return err; +} + +/* send bytes on spi */ +static FError FSpimOsTx(FFreeRTOSSpim *const instance, const u8 *tx_buf, fsize_t tx_len) +{ + FSpim *ctrl = &instance->ctrl; + FError err = FFREERTOS_SPIM_OK; + + err = FSpimTransferByInterrupt(ctrl, tx_buf, NULL, tx_len); /* start transfer */ + if (FSPIM_SUCCESS != err) + { + FSPIM_ERROR("spim transfer failed: 0x%x", err); + } + else + { + /* wait transfer completed */ + err = FSpimOsWaitTransDone(instance); + } + + return err; +} + +/* receive bytes on spi */ +static FError FSpimOsRx(FFreeRTOSSpim *const instance, u8 *rx_buf, fsize_t rx_len) +{ + FSpim *ctrl = &instance->ctrl; + FError err = FFREERTOS_SPIM_OK; + + err = FSpimTransferByInterrupt(ctrl, NULL, rx_buf, rx_len); /* start transfer */ + if (FSPIM_SUCCESS != err) + { + FSPIM_ERROR("spim transfer failed: 0x%x", err); + } + else + { + /* wait transfer completed */ + err = FSpimOsWaitTransDone(instance); + } + + return err; +} + +/** + * @name: FFreeRTOSSpimTransfer + * @msg: start spim transfer in Non-DMA/DMA mode + * @return {*} + * @param {FFreeRTOSSpim} *instance, freertos spim instance + * @param {FFreeRTOSSpiMessage} *message, spim transfer message + */ +FError FFreeRTOSSpimTransfer(FFreeRTOSSpim *const instance, const FFreeRTOSSpiMessage *message) +{ + FASSERT(instance); + FASSERT(message); + FSpim *ctrl = &instance->ctrl; + FError err = FFREERTOS_SPIM_OK; + + err = FSpimOsTakeSema(instance->locker); /* in case other tasks try to do transfer */ + if (FFREERTOS_SPIM_OK != err) + return err; + + FSpimSetChipSelection(ctrl, TRUE); /* toggle on chip selection */ + FSPIM_INFO("tx_buf@%p, len: %d, rx_buf@%p, len: %d", + message->tx_buf, message->tx_len, message->rx_buf, message->rx_len); + + if (instance->config.en_dma) /* dma-mode */ + { + FSPIM_INFO("start DMA tx: %d, rx: %d", message->tx_len, message->rx_len); + err = FSpimTransferDMA(ctrl, (0U != message->tx_len), (0U != message->rx_len)); + if (FSPIM_SUCCESS != err) + { + FSPIM_ERROR("spim DMA transfer failed: 0x%x", err); + } + + } + else /* no-dma mode */ + { + if (message->tx_buf) + { + err = FSpimOsTx(instance, message->tx_buf, message->tx_len); + } + + if (message->rx_buf) + { + if (FFREERTOS_SPIM_OK == err) + { + err = FSpimOsRx(instance, message->rx_buf, message->rx_len); + } + } + } + + FSpimSetChipSelection(ctrl, FALSE); /* toggle off chip selection */ + +err_exit: + FSpimOsGiveSema(instance->locker); + return err; +} \ No newline at end of file diff --git a/drivers/spi/fspim/fspim_os.h b/drivers/spi/fspim/fspim_os.h new file mode 100644 index 00000000..b4a82863 --- /dev/null +++ b/drivers/spi/fspim/fspim_os.h @@ -0,0 +1,101 @@ +/* + * Copyright : (C) 2022 Phytium Information Technology, Inc. + * All Rights Reserved. + * + * This program is OPEN SOURCE software: you can redistribute it and/or modify it + * under the terms of the Phytium Public License as published by the Phytium Technology Co.,Ltd, + * either version 1.0 of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful,but WITHOUT ANY WARRANTY; + * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + * See the Phytium Public License for more details. + * + * + * FilePath: fspim_os.h + * Date: 2022-07-18 09:05:48 + * LastEditTime: 2022-07-18 09:05:48 + * Description:  This files is for + * + * Modify History: + * Ver   Who        Date         Changes + * ----- ------     --------    -------------------------------------- + * 1.0 zhugengyu 2022/7/27 init commit + */ +#ifndef DRIVERS_FSPIM_OS_H +#define DRIVERS_FSPIM_OS_H + +#ifdef __cplusplus +extern "C" +{ +#endif + +/***************************** Include Files *********************************/ +#include +#include +#include + +#include "parameters.h" +#include "fspim.h" + +/************************** Constant Definitions *****************************/ +#define FFREERTOS_SPIM_OK FT_SUCCESS +#define FFREERTOS_SPIM_NOT_INIT FT_CODE_ERR(ErrModPort, ErrBspSpi, 0) +#define FFREERTOS_SPIM_SEMA_ERR FT_CODE_ERR(ErrModPort, ErrBspSpi, 1) +#define FFREERTOS_SPIM_ALREADY_INIT FT_CODE_ERR(ErrModPort, ErrBspSpi, 2) +#define FFREERTOS_SPIM_WAIT_EVT_TIMOUT FT_CODE_ERR(ErrModPort, ErrBspSpi, 3) +#define FFREERTOS_SPIM_DMA_RUNNING FT_CODE_ERR(ErrModPort, ErrBspSpi, 4) + +#define FFREERTOS_SPIM_IRQ_PRIORITY IRQ_PRIORITY_VALUE_12 + +#define FFREERTOS_SPIM_MODE_0 0U /* CPOL = 0, CPHA = 0 */ +#define FFREERTOS_SPIM_MODE_1 1U /* CPOL = 1, CPHA = 0 */ +#define FFREERTOS_SPIM_MODE_2 1U /* CPOL = 0, CPHA = 1 */ +#define FFREERTOS_SPIM_MODE_3 3U /* CPOL = 1, CPHA = 1 */ +/**************************** Type Definitions *******************************/ + +typedef struct +{ + u32 spi_mode; /* use FFREERTOS_SPIM_MODE_* */ + boolean en_dma; /* TRUE: data transfer in DMA mode */ + boolean inner_loopback; /* TRUE: enable internal loopback, ext pin no longer usable */ +} FFreeRTOSSpimConifg; /* freertos spim config */ + +typedef struct +{ + FSpim ctrl; + FFreeRTOSSpimConifg config; + SemaphoreHandle_t locker; + EventGroupHandle_t evt; +#define FFREERTOS_TRANS_DONE (0x1 << 0) +} FFreeRTOSSpim; /* freertos spim instance */ + +typedef struct +{ + const u8 *tx_buf; /* send buffer */ + u8 *rx_buf; /* receive buffer */ + fsize_t tx_len; + fsize_t rx_len; +} FFreeRTOSSpiMessage; /* freertos spim transfer message */ +/************************** Variable Definitions *****************************/ + +/***************** Macros (Inline Functions) Definitions *********************/ + +/************************** Function Prototypes ******************************/ + +/*****************************************************************************/ + +/* init and get spi instance */ +FFreeRTOSSpim *FFreeRTOSSpimInit(u32 instance_id, const FFreeRTOSSpimConifg *config); + +/* deinit spi instance */ +FError FFreeRTOSSpimDeInit(FFreeRTOSSpim *const instance); + +/* for NON-DMA transfer, start spi transfer and wait transfer done in this function, + for DMA transfer, start DMA channel first, then call this function and wait DMA channel end later */ +FError FFreeRTOSSpimTransfer(FFreeRTOSSpim *const instance, const FFreeRTOSSpiMessage *message); + +#ifdef __cplusplus +} +#endif + +#endif \ No newline at end of file diff --git a/drivers/wdt/fwdt_os.c b/drivers/wdt/fwdt_os.c index 6c1518d0..e94a6a87 100644 --- a/drivers/wdt/fwdt_os.c +++ b/drivers/wdt/fwdt_os.c @@ -101,7 +101,7 @@ FError FFreeRTOSWdtControl(FFreeRTOSWdt *os_wdt_p, int cmd, void *args) /* New contrl can be performed only after current one is finished */ if (pdFALSE == xSemaphoreTake(os_wdt_p->wdt_semaphore, portMAX_DELAY)) { - vPrintf("Wdt xSemaphoreTake failed\r\n"); + FWDT_ERROR("Wdt xSemaphoreTake failed\r\n"); /* We could not take the semaphore, exit with 0 data received */ return FREERTOS_WDT_SEM_ERROR; } @@ -114,7 +114,6 @@ FError FFreeRTOSWdtControl(FFreeRTOSWdt *os_wdt_p, int cmd, void *args) case FREERTOS_WDT_CTRL_SET_TIMEOUT: os_wdt_p->timeout_value = *((u32*)args); - printf("Wdt timeout value = %d\r\n", os_wdt_p->timeout_value); if(os_wdt_p->timeout_value >= FWDT_MAX_TIMEOUT) { goto control_exit; @@ -169,7 +168,7 @@ control_exit: if (pdFALSE == xSemaphoreGive(os_wdt_p->wdt_semaphore)) { /* We could not post the semaphore, exit with error */ - vPrintf("Wdt xSemaphoreGive failed\r\n"); + FWDT_ERROR("Wdt xSemaphoreGive failed\r\n"); return FREERTOS_WDT_SEM_ERROR; } diff --git a/drivers/wdt/fwdt_os.h b/drivers/wdt/fwdt_os.h index bf63fdd8..7bc033d2 100644 --- a/drivers/wdt/fwdt_os.h +++ b/drivers/wdt/fwdt_os.h @@ -59,6 +59,4 @@ FError FFreeRTOSWdtDeinit(FFreeRTOSWdt *os_wdt_p); /* control freertos wdt instance */ FError FFreeRTOSWdtControl(FFreeRTOSWdt *os_wdt_p, int cmd, void *args); -/* register wdt interrupt handler */ - #endif // ! diff --git a/example/freertos_feature/eventgroup/configs/d2000_aarch32_eg_configs b/example/freertos_feature/eventgroup/configs/d2000_aarch32_eg_configs index 1ebe2f2c..733560a0 100644 --- a/example/freertos_feature/eventgroup/configs/d2000_aarch32_eg_configs +++ b/example/freertos_feature/eventgroup/configs/d2000_aarch32_eg_configs @@ -125,6 +125,12 @@ CONFIG_OUTPUT_BINARY=y CONFIG_FREERTOS_USE_UART=y # end of Freertos Uart Drivers +# +# Freertos Pwm Drivers +# +# CONFIG_FREERTOS_USE_PWM is not set +# end of Freertos Pwm Drivers + # # Freertos Qspi Drivers # @@ -142,6 +148,31 @@ CONFIG_FREERTOS_USE_UART=y # # CONFIG_FREERTOS_USE_XMAC is not set # end of Freertos Eth Drivers + +# +# Freertos Gpio Drivers +# +# CONFIG_FREERTOS_USE_GPIO is not set +# end of Freertos Gpio Drivers + +# +# Freertos Spim Drivers +# +# CONFIG_FREERTOS_USE_FSPIM is not set +# end of Freertos Spim Drivers + +# +# Freertos DMA Drivers +# +# CONFIG_FREERTOS_USE_FDDMA is not set +# CONFIG_FREERTOS_USE_FGDMA is not set +# end of Freertos DMA Drivers + +# +# Freertos MMC Drivers +# +# CONFIG_FREERTOS_USE_FSDIO is not set +# end of Freertos MMC Drivers # end of Component Configuration # @@ -163,4 +194,7 @@ CONFIG_DEFAULT_LETTER_SHELL_USE_UART1=y # CONFIG_DEFAULT_LETTER_SHELL_USE_UART0 is not set # CONFIG_DEFAULT_LETTER_SHELL_USE_UART2 is not set # end of Letter Shell Configuration + +CONFIG_USE_TLSF=y +# CONFIG_USE_SDMMC_CMD is not set # end of FreeRTOS Setting diff --git a/example/freertos_feature/eventgroup/configs/d2000_aarch64_eg_configs b/example/freertos_feature/eventgroup/configs/d2000_aarch64_eg_configs index be766108..7b253320 100644 --- a/example/freertos_feature/eventgroup/configs/d2000_aarch64_eg_configs +++ b/example/freertos_feature/eventgroup/configs/d2000_aarch64_eg_configs @@ -121,6 +121,12 @@ CONFIG_OUTPUT_BINARY=y CONFIG_FREERTOS_USE_UART=y # end of Freertos Uart Drivers +# +# Freertos Pwm Drivers +# +# CONFIG_FREERTOS_USE_PWM is not set +# end of Freertos Pwm Drivers + # # Freertos Qspi Drivers # @@ -138,6 +144,31 @@ CONFIG_FREERTOS_USE_UART=y # # CONFIG_FREERTOS_USE_XMAC is not set # end of Freertos Eth Drivers + +# +# Freertos Gpio Drivers +# +# CONFIG_FREERTOS_USE_GPIO is not set +# end of Freertos Gpio Drivers + +# +# Freertos Spim Drivers +# +# CONFIG_FREERTOS_USE_FSPIM is not set +# end of Freertos Spim Drivers + +# +# Freertos DMA Drivers +# +# CONFIG_FREERTOS_USE_FDDMA is not set +# CONFIG_FREERTOS_USE_FGDMA is not set +# end of Freertos DMA Drivers + +# +# Freertos MMC Drivers +# +# CONFIG_FREERTOS_USE_FSDIO is not set +# end of Freertos MMC Drivers # end of Component Configuration # @@ -159,4 +190,7 @@ CONFIG_DEFAULT_LETTER_SHELL_USE_UART1=y # CONFIG_DEFAULT_LETTER_SHELL_USE_UART0 is not set # CONFIG_DEFAULT_LETTER_SHELL_USE_UART2 is not set # end of Letter Shell Configuration + +CONFIG_USE_TLSF=y +# CONFIG_USE_SDMMC_CMD is not set # end of FreeRTOS Setting diff --git a/example/freertos_feature/eventgroup/configs/e2000d_aarch32_eg_configs b/example/freertos_feature/eventgroup/configs/e2000d_aarch32_eg_configs index 5f82332d..3fcb7a6c 100644 --- a/example/freertos_feature/eventgroup/configs/e2000d_aarch32_eg_configs +++ b/example/freertos_feature/eventgroup/configs/e2000d_aarch32_eg_configs @@ -125,6 +125,12 @@ CONFIG_OUTPUT_BINARY=y CONFIG_FREERTOS_USE_UART=y # end of Freertos Uart Drivers +# +# Freertos Pwm Drivers +# +# CONFIG_FREERTOS_USE_PWM is not set +# end of Freertos Pwm Drivers + # # Freertos Qspi Drivers # @@ -142,6 +148,31 @@ CONFIG_FREERTOS_USE_UART=y # # CONFIG_FREERTOS_USE_XMAC is not set # end of Freertos Eth Drivers + +# +# Freertos Gpio Drivers +# +# CONFIG_FREERTOS_USE_GPIO is not set +# end of Freertos Gpio Drivers + +# +# Freertos Spim Drivers +# +# CONFIG_FREERTOS_USE_FSPIM is not set +# end of Freertos Spim Drivers + +# +# Freertos DMA Drivers +# +# CONFIG_FREERTOS_USE_FDDMA is not set +# CONFIG_FREERTOS_USE_FGDMA is not set +# end of Freertos DMA Drivers + +# +# Freertos MMC Drivers +# +# CONFIG_FREERTOS_USE_FSDIO is not set +# end of Freertos MMC Drivers # end of Component Configuration # @@ -163,4 +194,7 @@ CONFIG_DEFAULT_LETTER_SHELL_USE_UART1=y # CONFIG_DEFAULT_LETTER_SHELL_USE_UART0 is not set # CONFIG_DEFAULT_LETTER_SHELL_USE_UART2 is not set # end of Letter Shell Configuration + +CONFIG_USE_TLSF=y +# CONFIG_USE_SDMMC_CMD is not set # end of FreeRTOS Setting diff --git a/example/freertos_feature/eventgroup/configs/e2000d_aarch64_eg_configs b/example/freertos_feature/eventgroup/configs/e2000d_aarch64_eg_configs index 51eac424..0ffacca0 100644 --- a/example/freertos_feature/eventgroup/configs/e2000d_aarch64_eg_configs +++ b/example/freertos_feature/eventgroup/configs/e2000d_aarch64_eg_configs @@ -121,6 +121,12 @@ CONFIG_OUTPUT_BINARY=y CONFIG_FREERTOS_USE_UART=y # end of Freertos Uart Drivers +# +# Freertos Pwm Drivers +# +# CONFIG_FREERTOS_USE_PWM is not set +# end of Freertos Pwm Drivers + # # Freertos Qspi Drivers # @@ -138,6 +144,31 @@ CONFIG_FREERTOS_USE_UART=y # # CONFIG_FREERTOS_USE_XMAC is not set # end of Freertos Eth Drivers + +# +# Freertos Gpio Drivers +# +# CONFIG_FREERTOS_USE_GPIO is not set +# end of Freertos Gpio Drivers + +# +# Freertos Spim Drivers +# +# CONFIG_FREERTOS_USE_FSPIM is not set +# end of Freertos Spim Drivers + +# +# Freertos DMA Drivers +# +# CONFIG_FREERTOS_USE_FDDMA is not set +# CONFIG_FREERTOS_USE_FGDMA is not set +# end of Freertos DMA Drivers + +# +# Freertos MMC Drivers +# +# CONFIG_FREERTOS_USE_FSDIO is not set +# end of Freertos MMC Drivers # end of Component Configuration # @@ -159,4 +190,7 @@ CONFIG_DEFAULT_LETTER_SHELL_USE_UART1=y # CONFIG_DEFAULT_LETTER_SHELL_USE_UART0 is not set # CONFIG_DEFAULT_LETTER_SHELL_USE_UART2 is not set # end of Letter Shell Configuration + +CONFIG_USE_TLSF=y +# CONFIG_USE_SDMMC_CMD is not set # end of FreeRTOS Setting diff --git a/example/freertos_feature/eventgroup/configs/ft2004_aarch32_eg_configs b/example/freertos_feature/eventgroup/configs/ft2004_aarch32_eg_configs index 102dd6f4..f474b23c 100644 --- a/example/freertos_feature/eventgroup/configs/ft2004_aarch32_eg_configs +++ b/example/freertos_feature/eventgroup/configs/ft2004_aarch32_eg_configs @@ -125,6 +125,12 @@ CONFIG_OUTPUT_BINARY=y CONFIG_FREERTOS_USE_UART=y # end of Freertos Uart Drivers +# +# Freertos Pwm Drivers +# +# CONFIG_FREERTOS_USE_PWM is not set +# end of Freertos Pwm Drivers + # # Freertos Qspi Drivers # @@ -142,6 +148,31 @@ CONFIG_FREERTOS_USE_UART=y # # CONFIG_FREERTOS_USE_XMAC is not set # end of Freertos Eth Drivers + +# +# Freertos Gpio Drivers +# +# CONFIG_FREERTOS_USE_GPIO is not set +# end of Freertos Gpio Drivers + +# +# Freertos Spim Drivers +# +# CONFIG_FREERTOS_USE_FSPIM is not set +# end of Freertos Spim Drivers + +# +# Freertos DMA Drivers +# +# CONFIG_FREERTOS_USE_FDDMA is not set +# CONFIG_FREERTOS_USE_FGDMA is not set +# end of Freertos DMA Drivers + +# +# Freertos MMC Drivers +# +# CONFIG_FREERTOS_USE_FSDIO is not set +# end of Freertos MMC Drivers # end of Component Configuration # @@ -163,4 +194,7 @@ CONFIG_DEFAULT_LETTER_SHELL_USE_UART1=y # CONFIG_DEFAULT_LETTER_SHELL_USE_UART0 is not set # CONFIG_DEFAULT_LETTER_SHELL_USE_UART2 is not set # end of Letter Shell Configuration + +CONFIG_USE_TLSF=y +# CONFIG_USE_SDMMC_CMD is not set # end of FreeRTOS Setting diff --git a/example/freertos_feature/eventgroup/configs/ft2004_aarch64_eg_configs b/example/freertos_feature/eventgroup/configs/ft2004_aarch64_eg_configs index 08416dc4..0da5a72d 100644 --- a/example/freertos_feature/eventgroup/configs/ft2004_aarch64_eg_configs +++ b/example/freertos_feature/eventgroup/configs/ft2004_aarch64_eg_configs @@ -121,6 +121,12 @@ CONFIG_OUTPUT_BINARY=y CONFIG_FREERTOS_USE_UART=y # end of Freertos Uart Drivers +# +# Freertos Pwm Drivers +# +# CONFIG_FREERTOS_USE_PWM is not set +# end of Freertos Pwm Drivers + # # Freertos Qspi Drivers # @@ -138,6 +144,31 @@ CONFIG_FREERTOS_USE_UART=y # # CONFIG_FREERTOS_USE_XMAC is not set # end of Freertos Eth Drivers + +# +# Freertos Gpio Drivers +# +# CONFIG_FREERTOS_USE_GPIO is not set +# end of Freertos Gpio Drivers + +# +# Freertos Spim Drivers +# +# CONFIG_FREERTOS_USE_FSPIM is not set +# end of Freertos Spim Drivers + +# +# Freertos DMA Drivers +# +# CONFIG_FREERTOS_USE_FDDMA is not set +# CONFIG_FREERTOS_USE_FGDMA is not set +# end of Freertos DMA Drivers + +# +# Freertos MMC Drivers +# +# CONFIG_FREERTOS_USE_FSDIO is not set +# end of Freertos MMC Drivers # end of Component Configuration # @@ -159,4 +190,7 @@ CONFIG_DEFAULT_LETTER_SHELL_USE_UART1=y # CONFIG_DEFAULT_LETTER_SHELL_USE_UART0 is not set # CONFIG_DEFAULT_LETTER_SHELL_USE_UART2 is not set # end of Letter Shell Configuration + +CONFIG_USE_TLSF=y +# CONFIG_USE_SDMMC_CMD is not set # end of FreeRTOS Setting diff --git a/example/freertos_feature/eventgroup/sdkconfig b/example/freertos_feature/eventgroup/sdkconfig index 51eac424..0ffacca0 100644 --- a/example/freertos_feature/eventgroup/sdkconfig +++ b/example/freertos_feature/eventgroup/sdkconfig @@ -121,6 +121,12 @@ CONFIG_OUTPUT_BINARY=y CONFIG_FREERTOS_USE_UART=y # end of Freertos Uart Drivers +# +# Freertos Pwm Drivers +# +# CONFIG_FREERTOS_USE_PWM is not set +# end of Freertos Pwm Drivers + # # Freertos Qspi Drivers # @@ -138,6 +144,31 @@ CONFIG_FREERTOS_USE_UART=y # # CONFIG_FREERTOS_USE_XMAC is not set # end of Freertos Eth Drivers + +# +# Freertos Gpio Drivers +# +# CONFIG_FREERTOS_USE_GPIO is not set +# end of Freertos Gpio Drivers + +# +# Freertos Spim Drivers +# +# CONFIG_FREERTOS_USE_FSPIM is not set +# end of Freertos Spim Drivers + +# +# Freertos DMA Drivers +# +# CONFIG_FREERTOS_USE_FDDMA is not set +# CONFIG_FREERTOS_USE_FGDMA is not set +# end of Freertos DMA Drivers + +# +# Freertos MMC Drivers +# +# CONFIG_FREERTOS_USE_FSDIO is not set +# end of Freertos MMC Drivers # end of Component Configuration # @@ -159,4 +190,7 @@ CONFIG_DEFAULT_LETTER_SHELL_USE_UART1=y # CONFIG_DEFAULT_LETTER_SHELL_USE_UART0 is not set # CONFIG_DEFAULT_LETTER_SHELL_USE_UART2 is not set # end of Letter Shell Configuration + +CONFIG_USE_TLSF=y +# CONFIG_USE_SDMMC_CMD is not set # end of FreeRTOS Setting diff --git a/example/freertos_feature/eventgroup/sdkconfig.h b/example/freertos_feature/eventgroup/sdkconfig.h index 89c318db..8295a2af 100644 --- a/example/freertos_feature/eventgroup/sdkconfig.h +++ b/example/freertos_feature/eventgroup/sdkconfig.h @@ -109,6 +109,11 @@ #define CONFIG_FREERTOS_USE_UART /* end of Freertos Uart Drivers */ +/* Freertos Pwm Drivers */ + +/* CONFIG_FREERTOS_USE_PWM is not set */ +/* end of Freertos Pwm Drivers */ + /* Freertos Qspi Drivers */ /* CONFIG_FREERTOS_USE_QSPI is not set */ @@ -123,6 +128,27 @@ /* CONFIG_FREERTOS_USE_XMAC is not set */ /* end of Freertos Eth Drivers */ + +/* Freertos Gpio Drivers */ + +/* CONFIG_FREERTOS_USE_GPIO is not set */ +/* end of Freertos Gpio Drivers */ + +/* Freertos Spim Drivers */ + +/* CONFIG_FREERTOS_USE_FSPIM is not set */ +/* end of Freertos Spim Drivers */ + +/* Freertos DMA Drivers */ + +/* CONFIG_FREERTOS_USE_FDDMA is not set */ +/* CONFIG_FREERTOS_USE_FGDMA is not set */ +/* end of Freertos DMA Drivers */ + +/* Freertos MMC Drivers */ + +/* CONFIG_FREERTOS_USE_FSDIO is not set */ +/* end of Freertos MMC Drivers */ /* end of Component Configuration */ /* FreeRTOS Setting */ @@ -142,6 +168,8 @@ /* CONFIG_DEFAULT_LETTER_SHELL_USE_UART0 is not set */ /* CONFIG_DEFAULT_LETTER_SHELL_USE_UART2 is not set */ /* end of Letter Shell Configuration */ +#define CONFIG_USE_TLSF +/* CONFIG_USE_SDMMC_CMD is not set */ /* end of FreeRTOS Setting */ #endif diff --git a/example/freertos_feature/interrupt/configs/d2000_aarch32_eg_configs b/example/freertos_feature/interrupt/configs/d2000_aarch32_eg_configs index 1ebe2f2c..733560a0 100644 --- a/example/freertos_feature/interrupt/configs/d2000_aarch32_eg_configs +++ b/example/freertos_feature/interrupt/configs/d2000_aarch32_eg_configs @@ -125,6 +125,12 @@ CONFIG_OUTPUT_BINARY=y CONFIG_FREERTOS_USE_UART=y # end of Freertos Uart Drivers +# +# Freertos Pwm Drivers +# +# CONFIG_FREERTOS_USE_PWM is not set +# end of Freertos Pwm Drivers + # # Freertos Qspi Drivers # @@ -142,6 +148,31 @@ CONFIG_FREERTOS_USE_UART=y # # CONFIG_FREERTOS_USE_XMAC is not set # end of Freertos Eth Drivers + +# +# Freertos Gpio Drivers +# +# CONFIG_FREERTOS_USE_GPIO is not set +# end of Freertos Gpio Drivers + +# +# Freertos Spim Drivers +# +# CONFIG_FREERTOS_USE_FSPIM is not set +# end of Freertos Spim Drivers + +# +# Freertos DMA Drivers +# +# CONFIG_FREERTOS_USE_FDDMA is not set +# CONFIG_FREERTOS_USE_FGDMA is not set +# end of Freertos DMA Drivers + +# +# Freertos MMC Drivers +# +# CONFIG_FREERTOS_USE_FSDIO is not set +# end of Freertos MMC Drivers # end of Component Configuration # @@ -163,4 +194,7 @@ CONFIG_DEFAULT_LETTER_SHELL_USE_UART1=y # CONFIG_DEFAULT_LETTER_SHELL_USE_UART0 is not set # CONFIG_DEFAULT_LETTER_SHELL_USE_UART2 is not set # end of Letter Shell Configuration + +CONFIG_USE_TLSF=y +# CONFIG_USE_SDMMC_CMD is not set # end of FreeRTOS Setting diff --git a/example/freertos_feature/interrupt/configs/d2000_aarch64_eg_configs b/example/freertos_feature/interrupt/configs/d2000_aarch64_eg_configs index be766108..7b253320 100644 --- a/example/freertos_feature/interrupt/configs/d2000_aarch64_eg_configs +++ b/example/freertos_feature/interrupt/configs/d2000_aarch64_eg_configs @@ -121,6 +121,12 @@ CONFIG_OUTPUT_BINARY=y CONFIG_FREERTOS_USE_UART=y # end of Freertos Uart Drivers +# +# Freertos Pwm Drivers +# +# CONFIG_FREERTOS_USE_PWM is not set +# end of Freertos Pwm Drivers + # # Freertos Qspi Drivers # @@ -138,6 +144,31 @@ CONFIG_FREERTOS_USE_UART=y # # CONFIG_FREERTOS_USE_XMAC is not set # end of Freertos Eth Drivers + +# +# Freertos Gpio Drivers +# +# CONFIG_FREERTOS_USE_GPIO is not set +# end of Freertos Gpio Drivers + +# +# Freertos Spim Drivers +# +# CONFIG_FREERTOS_USE_FSPIM is not set +# end of Freertos Spim Drivers + +# +# Freertos DMA Drivers +# +# CONFIG_FREERTOS_USE_FDDMA is not set +# CONFIG_FREERTOS_USE_FGDMA is not set +# end of Freertos DMA Drivers + +# +# Freertos MMC Drivers +# +# CONFIG_FREERTOS_USE_FSDIO is not set +# end of Freertos MMC Drivers # end of Component Configuration # @@ -159,4 +190,7 @@ CONFIG_DEFAULT_LETTER_SHELL_USE_UART1=y # CONFIG_DEFAULT_LETTER_SHELL_USE_UART0 is not set # CONFIG_DEFAULT_LETTER_SHELL_USE_UART2 is not set # end of Letter Shell Configuration + +CONFIG_USE_TLSF=y +# CONFIG_USE_SDMMC_CMD is not set # end of FreeRTOS Setting diff --git a/example/freertos_feature/interrupt/configs/e2000d_aarch32_eg_configs b/example/freertos_feature/interrupt/configs/e2000d_aarch32_eg_configs index 5f82332d..3fcb7a6c 100644 --- a/example/freertos_feature/interrupt/configs/e2000d_aarch32_eg_configs +++ b/example/freertos_feature/interrupt/configs/e2000d_aarch32_eg_configs @@ -125,6 +125,12 @@ CONFIG_OUTPUT_BINARY=y CONFIG_FREERTOS_USE_UART=y # end of Freertos Uart Drivers +# +# Freertos Pwm Drivers +# +# CONFIG_FREERTOS_USE_PWM is not set +# end of Freertos Pwm Drivers + # # Freertos Qspi Drivers # @@ -142,6 +148,31 @@ CONFIG_FREERTOS_USE_UART=y # # CONFIG_FREERTOS_USE_XMAC is not set # end of Freertos Eth Drivers + +# +# Freertos Gpio Drivers +# +# CONFIG_FREERTOS_USE_GPIO is not set +# end of Freertos Gpio Drivers + +# +# Freertos Spim Drivers +# +# CONFIG_FREERTOS_USE_FSPIM is not set +# end of Freertos Spim Drivers + +# +# Freertos DMA Drivers +# +# CONFIG_FREERTOS_USE_FDDMA is not set +# CONFIG_FREERTOS_USE_FGDMA is not set +# end of Freertos DMA Drivers + +# +# Freertos MMC Drivers +# +# CONFIG_FREERTOS_USE_FSDIO is not set +# end of Freertos MMC Drivers # end of Component Configuration # @@ -163,4 +194,7 @@ CONFIG_DEFAULT_LETTER_SHELL_USE_UART1=y # CONFIG_DEFAULT_LETTER_SHELL_USE_UART0 is not set # CONFIG_DEFAULT_LETTER_SHELL_USE_UART2 is not set # end of Letter Shell Configuration + +CONFIG_USE_TLSF=y +# CONFIG_USE_SDMMC_CMD is not set # end of FreeRTOS Setting diff --git a/example/freertos_feature/interrupt/configs/e2000d_aarch64_eg_configs b/example/freertos_feature/interrupt/configs/e2000d_aarch64_eg_configs index 51eac424..0ffacca0 100644 --- a/example/freertos_feature/interrupt/configs/e2000d_aarch64_eg_configs +++ b/example/freertos_feature/interrupt/configs/e2000d_aarch64_eg_configs @@ -121,6 +121,12 @@ CONFIG_OUTPUT_BINARY=y CONFIG_FREERTOS_USE_UART=y # end of Freertos Uart Drivers +# +# Freertos Pwm Drivers +# +# CONFIG_FREERTOS_USE_PWM is not set +# end of Freertos Pwm Drivers + # # Freertos Qspi Drivers # @@ -138,6 +144,31 @@ CONFIG_FREERTOS_USE_UART=y # # CONFIG_FREERTOS_USE_XMAC is not set # end of Freertos Eth Drivers + +# +# Freertos Gpio Drivers +# +# CONFIG_FREERTOS_USE_GPIO is not set +# end of Freertos Gpio Drivers + +# +# Freertos Spim Drivers +# +# CONFIG_FREERTOS_USE_FSPIM is not set +# end of Freertos Spim Drivers + +# +# Freertos DMA Drivers +# +# CONFIG_FREERTOS_USE_FDDMA is not set +# CONFIG_FREERTOS_USE_FGDMA is not set +# end of Freertos DMA Drivers + +# +# Freertos MMC Drivers +# +# CONFIG_FREERTOS_USE_FSDIO is not set +# end of Freertos MMC Drivers # end of Component Configuration # @@ -159,4 +190,7 @@ CONFIG_DEFAULT_LETTER_SHELL_USE_UART1=y # CONFIG_DEFAULT_LETTER_SHELL_USE_UART0 is not set # CONFIG_DEFAULT_LETTER_SHELL_USE_UART2 is not set # end of Letter Shell Configuration + +CONFIG_USE_TLSF=y +# CONFIG_USE_SDMMC_CMD is not set # end of FreeRTOS Setting diff --git a/example/freertos_feature/interrupt/configs/ft2004_aarch32_eg_configs b/example/freertos_feature/interrupt/configs/ft2004_aarch32_eg_configs index 102dd6f4..f474b23c 100644 --- a/example/freertos_feature/interrupt/configs/ft2004_aarch32_eg_configs +++ b/example/freertos_feature/interrupt/configs/ft2004_aarch32_eg_configs @@ -125,6 +125,12 @@ CONFIG_OUTPUT_BINARY=y CONFIG_FREERTOS_USE_UART=y # end of Freertos Uart Drivers +# +# Freertos Pwm Drivers +# +# CONFIG_FREERTOS_USE_PWM is not set +# end of Freertos Pwm Drivers + # # Freertos Qspi Drivers # @@ -142,6 +148,31 @@ CONFIG_FREERTOS_USE_UART=y # # CONFIG_FREERTOS_USE_XMAC is not set # end of Freertos Eth Drivers + +# +# Freertos Gpio Drivers +# +# CONFIG_FREERTOS_USE_GPIO is not set +# end of Freertos Gpio Drivers + +# +# Freertos Spim Drivers +# +# CONFIG_FREERTOS_USE_FSPIM is not set +# end of Freertos Spim Drivers + +# +# Freertos DMA Drivers +# +# CONFIG_FREERTOS_USE_FDDMA is not set +# CONFIG_FREERTOS_USE_FGDMA is not set +# end of Freertos DMA Drivers + +# +# Freertos MMC Drivers +# +# CONFIG_FREERTOS_USE_FSDIO is not set +# end of Freertos MMC Drivers # end of Component Configuration # @@ -163,4 +194,7 @@ CONFIG_DEFAULT_LETTER_SHELL_USE_UART1=y # CONFIG_DEFAULT_LETTER_SHELL_USE_UART0 is not set # CONFIG_DEFAULT_LETTER_SHELL_USE_UART2 is not set # end of Letter Shell Configuration + +CONFIG_USE_TLSF=y +# CONFIG_USE_SDMMC_CMD is not set # end of FreeRTOS Setting diff --git a/example/freertos_feature/interrupt/configs/ft2004_aarch64_eg_configs b/example/freertos_feature/interrupt/configs/ft2004_aarch64_eg_configs index 08416dc4..0da5a72d 100644 --- a/example/freertos_feature/interrupt/configs/ft2004_aarch64_eg_configs +++ b/example/freertos_feature/interrupt/configs/ft2004_aarch64_eg_configs @@ -121,6 +121,12 @@ CONFIG_OUTPUT_BINARY=y CONFIG_FREERTOS_USE_UART=y # end of Freertos Uart Drivers +# +# Freertos Pwm Drivers +# +# CONFIG_FREERTOS_USE_PWM is not set +# end of Freertos Pwm Drivers + # # Freertos Qspi Drivers # @@ -138,6 +144,31 @@ CONFIG_FREERTOS_USE_UART=y # # CONFIG_FREERTOS_USE_XMAC is not set # end of Freertos Eth Drivers + +# +# Freertos Gpio Drivers +# +# CONFIG_FREERTOS_USE_GPIO is not set +# end of Freertos Gpio Drivers + +# +# Freertos Spim Drivers +# +# CONFIG_FREERTOS_USE_FSPIM is not set +# end of Freertos Spim Drivers + +# +# Freertos DMA Drivers +# +# CONFIG_FREERTOS_USE_FDDMA is not set +# CONFIG_FREERTOS_USE_FGDMA is not set +# end of Freertos DMA Drivers + +# +# Freertos MMC Drivers +# +# CONFIG_FREERTOS_USE_FSDIO is not set +# end of Freertos MMC Drivers # end of Component Configuration # @@ -159,4 +190,7 @@ CONFIG_DEFAULT_LETTER_SHELL_USE_UART1=y # CONFIG_DEFAULT_LETTER_SHELL_USE_UART0 is not set # CONFIG_DEFAULT_LETTER_SHELL_USE_UART2 is not set # end of Letter Shell Configuration + +CONFIG_USE_TLSF=y +# CONFIG_USE_SDMMC_CMD is not set # end of FreeRTOS Setting diff --git a/example/freertos_feature/interrupt/sdkconfig b/example/freertos_feature/interrupt/sdkconfig index 51eac424..0ffacca0 100644 --- a/example/freertos_feature/interrupt/sdkconfig +++ b/example/freertos_feature/interrupt/sdkconfig @@ -121,6 +121,12 @@ CONFIG_OUTPUT_BINARY=y CONFIG_FREERTOS_USE_UART=y # end of Freertos Uart Drivers +# +# Freertos Pwm Drivers +# +# CONFIG_FREERTOS_USE_PWM is not set +# end of Freertos Pwm Drivers + # # Freertos Qspi Drivers # @@ -138,6 +144,31 @@ CONFIG_FREERTOS_USE_UART=y # # CONFIG_FREERTOS_USE_XMAC is not set # end of Freertos Eth Drivers + +# +# Freertos Gpio Drivers +# +# CONFIG_FREERTOS_USE_GPIO is not set +# end of Freertos Gpio Drivers + +# +# Freertos Spim Drivers +# +# CONFIG_FREERTOS_USE_FSPIM is not set +# end of Freertos Spim Drivers + +# +# Freertos DMA Drivers +# +# CONFIG_FREERTOS_USE_FDDMA is not set +# CONFIG_FREERTOS_USE_FGDMA is not set +# end of Freertos DMA Drivers + +# +# Freertos MMC Drivers +# +# CONFIG_FREERTOS_USE_FSDIO is not set +# end of Freertos MMC Drivers # end of Component Configuration # @@ -159,4 +190,7 @@ CONFIG_DEFAULT_LETTER_SHELL_USE_UART1=y # CONFIG_DEFAULT_LETTER_SHELL_USE_UART0 is not set # CONFIG_DEFAULT_LETTER_SHELL_USE_UART2 is not set # end of Letter Shell Configuration + +CONFIG_USE_TLSF=y +# CONFIG_USE_SDMMC_CMD is not set # end of FreeRTOS Setting diff --git a/example/freertos_feature/interrupt/sdkconfig.h b/example/freertos_feature/interrupt/sdkconfig.h index 89c318db..8295a2af 100644 --- a/example/freertos_feature/interrupt/sdkconfig.h +++ b/example/freertos_feature/interrupt/sdkconfig.h @@ -109,6 +109,11 @@ #define CONFIG_FREERTOS_USE_UART /* end of Freertos Uart Drivers */ +/* Freertos Pwm Drivers */ + +/* CONFIG_FREERTOS_USE_PWM is not set */ +/* end of Freertos Pwm Drivers */ + /* Freertos Qspi Drivers */ /* CONFIG_FREERTOS_USE_QSPI is not set */ @@ -123,6 +128,27 @@ /* CONFIG_FREERTOS_USE_XMAC is not set */ /* end of Freertos Eth Drivers */ + +/* Freertos Gpio Drivers */ + +/* CONFIG_FREERTOS_USE_GPIO is not set */ +/* end of Freertos Gpio Drivers */ + +/* Freertos Spim Drivers */ + +/* CONFIG_FREERTOS_USE_FSPIM is not set */ +/* end of Freertos Spim Drivers */ + +/* Freertos DMA Drivers */ + +/* CONFIG_FREERTOS_USE_FDDMA is not set */ +/* CONFIG_FREERTOS_USE_FGDMA is not set */ +/* end of Freertos DMA Drivers */ + +/* Freertos MMC Drivers */ + +/* CONFIG_FREERTOS_USE_FSDIO is not set */ +/* end of Freertos MMC Drivers */ /* end of Component Configuration */ /* FreeRTOS Setting */ @@ -142,6 +168,8 @@ /* CONFIG_DEFAULT_LETTER_SHELL_USE_UART0 is not set */ /* CONFIG_DEFAULT_LETTER_SHELL_USE_UART2 is not set */ /* end of Letter Shell Configuration */ +#define CONFIG_USE_TLSF +/* CONFIG_USE_SDMMC_CMD is not set */ /* end of FreeRTOS Setting */ #endif diff --git a/example/freertos_feature/queue/configs/d2000_aarch32_eg_configs b/example/freertos_feature/queue/configs/d2000_aarch32_eg_configs index 1ebe2f2c..733560a0 100644 --- a/example/freertos_feature/queue/configs/d2000_aarch32_eg_configs +++ b/example/freertos_feature/queue/configs/d2000_aarch32_eg_configs @@ -125,6 +125,12 @@ CONFIG_OUTPUT_BINARY=y CONFIG_FREERTOS_USE_UART=y # end of Freertos Uart Drivers +# +# Freertos Pwm Drivers +# +# CONFIG_FREERTOS_USE_PWM is not set +# end of Freertos Pwm Drivers + # # Freertos Qspi Drivers # @@ -142,6 +148,31 @@ CONFIG_FREERTOS_USE_UART=y # # CONFIG_FREERTOS_USE_XMAC is not set # end of Freertos Eth Drivers + +# +# Freertos Gpio Drivers +# +# CONFIG_FREERTOS_USE_GPIO is not set +# end of Freertos Gpio Drivers + +# +# Freertos Spim Drivers +# +# CONFIG_FREERTOS_USE_FSPIM is not set +# end of Freertos Spim Drivers + +# +# Freertos DMA Drivers +# +# CONFIG_FREERTOS_USE_FDDMA is not set +# CONFIG_FREERTOS_USE_FGDMA is not set +# end of Freertos DMA Drivers + +# +# Freertos MMC Drivers +# +# CONFIG_FREERTOS_USE_FSDIO is not set +# end of Freertos MMC Drivers # end of Component Configuration # @@ -163,4 +194,7 @@ CONFIG_DEFAULT_LETTER_SHELL_USE_UART1=y # CONFIG_DEFAULT_LETTER_SHELL_USE_UART0 is not set # CONFIG_DEFAULT_LETTER_SHELL_USE_UART2 is not set # end of Letter Shell Configuration + +CONFIG_USE_TLSF=y +# CONFIG_USE_SDMMC_CMD is not set # end of FreeRTOS Setting diff --git a/example/freertos_feature/queue/configs/d2000_aarch64_eg_configs b/example/freertos_feature/queue/configs/d2000_aarch64_eg_configs index be766108..7b253320 100644 --- a/example/freertos_feature/queue/configs/d2000_aarch64_eg_configs +++ b/example/freertos_feature/queue/configs/d2000_aarch64_eg_configs @@ -121,6 +121,12 @@ CONFIG_OUTPUT_BINARY=y CONFIG_FREERTOS_USE_UART=y # end of Freertos Uart Drivers +# +# Freertos Pwm Drivers +# +# CONFIG_FREERTOS_USE_PWM is not set +# end of Freertos Pwm Drivers + # # Freertos Qspi Drivers # @@ -138,6 +144,31 @@ CONFIG_FREERTOS_USE_UART=y # # CONFIG_FREERTOS_USE_XMAC is not set # end of Freertos Eth Drivers + +# +# Freertos Gpio Drivers +# +# CONFIG_FREERTOS_USE_GPIO is not set +# end of Freertos Gpio Drivers + +# +# Freertos Spim Drivers +# +# CONFIG_FREERTOS_USE_FSPIM is not set +# end of Freertos Spim Drivers + +# +# Freertos DMA Drivers +# +# CONFIG_FREERTOS_USE_FDDMA is not set +# CONFIG_FREERTOS_USE_FGDMA is not set +# end of Freertos DMA Drivers + +# +# Freertos MMC Drivers +# +# CONFIG_FREERTOS_USE_FSDIO is not set +# end of Freertos MMC Drivers # end of Component Configuration # @@ -159,4 +190,7 @@ CONFIG_DEFAULT_LETTER_SHELL_USE_UART1=y # CONFIG_DEFAULT_LETTER_SHELL_USE_UART0 is not set # CONFIG_DEFAULT_LETTER_SHELL_USE_UART2 is not set # end of Letter Shell Configuration + +CONFIG_USE_TLSF=y +# CONFIG_USE_SDMMC_CMD is not set # end of FreeRTOS Setting diff --git a/example/freertos_feature/queue/configs/e2000d_aarch32_eg_configs b/example/freertos_feature/queue/configs/e2000d_aarch32_eg_configs index 5f82332d..3fcb7a6c 100644 --- a/example/freertos_feature/queue/configs/e2000d_aarch32_eg_configs +++ b/example/freertos_feature/queue/configs/e2000d_aarch32_eg_configs @@ -125,6 +125,12 @@ CONFIG_OUTPUT_BINARY=y CONFIG_FREERTOS_USE_UART=y # end of Freertos Uart Drivers +# +# Freertos Pwm Drivers +# +# CONFIG_FREERTOS_USE_PWM is not set +# end of Freertos Pwm Drivers + # # Freertos Qspi Drivers # @@ -142,6 +148,31 @@ CONFIG_FREERTOS_USE_UART=y # # CONFIG_FREERTOS_USE_XMAC is not set # end of Freertos Eth Drivers + +# +# Freertos Gpio Drivers +# +# CONFIG_FREERTOS_USE_GPIO is not set +# end of Freertos Gpio Drivers + +# +# Freertos Spim Drivers +# +# CONFIG_FREERTOS_USE_FSPIM is not set +# end of Freertos Spim Drivers + +# +# Freertos DMA Drivers +# +# CONFIG_FREERTOS_USE_FDDMA is not set +# CONFIG_FREERTOS_USE_FGDMA is not set +# end of Freertos DMA Drivers + +# +# Freertos MMC Drivers +# +# CONFIG_FREERTOS_USE_FSDIO is not set +# end of Freertos MMC Drivers # end of Component Configuration # @@ -163,4 +194,7 @@ CONFIG_DEFAULT_LETTER_SHELL_USE_UART1=y # CONFIG_DEFAULT_LETTER_SHELL_USE_UART0 is not set # CONFIG_DEFAULT_LETTER_SHELL_USE_UART2 is not set # end of Letter Shell Configuration + +CONFIG_USE_TLSF=y +# CONFIG_USE_SDMMC_CMD is not set # end of FreeRTOS Setting diff --git a/example/freertos_feature/queue/configs/e2000d_aarch64_eg_configs b/example/freertos_feature/queue/configs/e2000d_aarch64_eg_configs index 51eac424..0ffacca0 100644 --- a/example/freertos_feature/queue/configs/e2000d_aarch64_eg_configs +++ b/example/freertos_feature/queue/configs/e2000d_aarch64_eg_configs @@ -121,6 +121,12 @@ CONFIG_OUTPUT_BINARY=y CONFIG_FREERTOS_USE_UART=y # end of Freertos Uart Drivers +# +# Freertos Pwm Drivers +# +# CONFIG_FREERTOS_USE_PWM is not set +# end of Freertos Pwm Drivers + # # Freertos Qspi Drivers # @@ -138,6 +144,31 @@ CONFIG_FREERTOS_USE_UART=y # # CONFIG_FREERTOS_USE_XMAC is not set # end of Freertos Eth Drivers + +# +# Freertos Gpio Drivers +# +# CONFIG_FREERTOS_USE_GPIO is not set +# end of Freertos Gpio Drivers + +# +# Freertos Spim Drivers +# +# CONFIG_FREERTOS_USE_FSPIM is not set +# end of Freertos Spim Drivers + +# +# Freertos DMA Drivers +# +# CONFIG_FREERTOS_USE_FDDMA is not set +# CONFIG_FREERTOS_USE_FGDMA is not set +# end of Freertos DMA Drivers + +# +# Freertos MMC Drivers +# +# CONFIG_FREERTOS_USE_FSDIO is not set +# end of Freertos MMC Drivers # end of Component Configuration # @@ -159,4 +190,7 @@ CONFIG_DEFAULT_LETTER_SHELL_USE_UART1=y # CONFIG_DEFAULT_LETTER_SHELL_USE_UART0 is not set # CONFIG_DEFAULT_LETTER_SHELL_USE_UART2 is not set # end of Letter Shell Configuration + +CONFIG_USE_TLSF=y +# CONFIG_USE_SDMMC_CMD is not set # end of FreeRTOS Setting diff --git a/example/freertos_feature/queue/configs/ft2004_aarch32_eg_configs b/example/freertos_feature/queue/configs/ft2004_aarch32_eg_configs index 102dd6f4..f474b23c 100644 --- a/example/freertos_feature/queue/configs/ft2004_aarch32_eg_configs +++ b/example/freertos_feature/queue/configs/ft2004_aarch32_eg_configs @@ -125,6 +125,12 @@ CONFIG_OUTPUT_BINARY=y CONFIG_FREERTOS_USE_UART=y # end of Freertos Uart Drivers +# +# Freertos Pwm Drivers +# +# CONFIG_FREERTOS_USE_PWM is not set +# end of Freertos Pwm Drivers + # # Freertos Qspi Drivers # @@ -142,6 +148,31 @@ CONFIG_FREERTOS_USE_UART=y # # CONFIG_FREERTOS_USE_XMAC is not set # end of Freertos Eth Drivers + +# +# Freertos Gpio Drivers +# +# CONFIG_FREERTOS_USE_GPIO is not set +# end of Freertos Gpio Drivers + +# +# Freertos Spim Drivers +# +# CONFIG_FREERTOS_USE_FSPIM is not set +# end of Freertos Spim Drivers + +# +# Freertos DMA Drivers +# +# CONFIG_FREERTOS_USE_FDDMA is not set +# CONFIG_FREERTOS_USE_FGDMA is not set +# end of Freertos DMA Drivers + +# +# Freertos MMC Drivers +# +# CONFIG_FREERTOS_USE_FSDIO is not set +# end of Freertos MMC Drivers # end of Component Configuration # @@ -163,4 +194,7 @@ CONFIG_DEFAULT_LETTER_SHELL_USE_UART1=y # CONFIG_DEFAULT_LETTER_SHELL_USE_UART0 is not set # CONFIG_DEFAULT_LETTER_SHELL_USE_UART2 is not set # end of Letter Shell Configuration + +CONFIG_USE_TLSF=y +# CONFIG_USE_SDMMC_CMD is not set # end of FreeRTOS Setting diff --git a/example/freertos_feature/queue/configs/ft2004_aarch64_eg_configs b/example/freertos_feature/queue/configs/ft2004_aarch64_eg_configs index 08416dc4..0da5a72d 100644 --- a/example/freertos_feature/queue/configs/ft2004_aarch64_eg_configs +++ b/example/freertos_feature/queue/configs/ft2004_aarch64_eg_configs @@ -121,6 +121,12 @@ CONFIG_OUTPUT_BINARY=y CONFIG_FREERTOS_USE_UART=y # end of Freertos Uart Drivers +# +# Freertos Pwm Drivers +# +# CONFIG_FREERTOS_USE_PWM is not set +# end of Freertos Pwm Drivers + # # Freertos Qspi Drivers # @@ -138,6 +144,31 @@ CONFIG_FREERTOS_USE_UART=y # # CONFIG_FREERTOS_USE_XMAC is not set # end of Freertos Eth Drivers + +# +# Freertos Gpio Drivers +# +# CONFIG_FREERTOS_USE_GPIO is not set +# end of Freertos Gpio Drivers + +# +# Freertos Spim Drivers +# +# CONFIG_FREERTOS_USE_FSPIM is not set +# end of Freertos Spim Drivers + +# +# Freertos DMA Drivers +# +# CONFIG_FREERTOS_USE_FDDMA is not set +# CONFIG_FREERTOS_USE_FGDMA is not set +# end of Freertos DMA Drivers + +# +# Freertos MMC Drivers +# +# CONFIG_FREERTOS_USE_FSDIO is not set +# end of Freertos MMC Drivers # end of Component Configuration # @@ -159,4 +190,7 @@ CONFIG_DEFAULT_LETTER_SHELL_USE_UART1=y # CONFIG_DEFAULT_LETTER_SHELL_USE_UART0 is not set # CONFIG_DEFAULT_LETTER_SHELL_USE_UART2 is not set # end of Letter Shell Configuration + +CONFIG_USE_TLSF=y +# CONFIG_USE_SDMMC_CMD is not set # end of FreeRTOS Setting diff --git a/example/freertos_feature/queue/sdkconfig b/example/freertos_feature/queue/sdkconfig index 51eac424..0ffacca0 100644 --- a/example/freertos_feature/queue/sdkconfig +++ b/example/freertos_feature/queue/sdkconfig @@ -121,6 +121,12 @@ CONFIG_OUTPUT_BINARY=y CONFIG_FREERTOS_USE_UART=y # end of Freertos Uart Drivers +# +# Freertos Pwm Drivers +# +# CONFIG_FREERTOS_USE_PWM is not set +# end of Freertos Pwm Drivers + # # Freertos Qspi Drivers # @@ -138,6 +144,31 @@ CONFIG_FREERTOS_USE_UART=y # # CONFIG_FREERTOS_USE_XMAC is not set # end of Freertos Eth Drivers + +# +# Freertos Gpio Drivers +# +# CONFIG_FREERTOS_USE_GPIO is not set +# end of Freertos Gpio Drivers + +# +# Freertos Spim Drivers +# +# CONFIG_FREERTOS_USE_FSPIM is not set +# end of Freertos Spim Drivers + +# +# Freertos DMA Drivers +# +# CONFIG_FREERTOS_USE_FDDMA is not set +# CONFIG_FREERTOS_USE_FGDMA is not set +# end of Freertos DMA Drivers + +# +# Freertos MMC Drivers +# +# CONFIG_FREERTOS_USE_FSDIO is not set +# end of Freertos MMC Drivers # end of Component Configuration # @@ -159,4 +190,7 @@ CONFIG_DEFAULT_LETTER_SHELL_USE_UART1=y # CONFIG_DEFAULT_LETTER_SHELL_USE_UART0 is not set # CONFIG_DEFAULT_LETTER_SHELL_USE_UART2 is not set # end of Letter Shell Configuration + +CONFIG_USE_TLSF=y +# CONFIG_USE_SDMMC_CMD is not set # end of FreeRTOS Setting diff --git a/example/freertos_feature/queue/sdkconfig.h b/example/freertos_feature/queue/sdkconfig.h index 89c318db..8295a2af 100644 --- a/example/freertos_feature/queue/sdkconfig.h +++ b/example/freertos_feature/queue/sdkconfig.h @@ -109,6 +109,11 @@ #define CONFIG_FREERTOS_USE_UART /* end of Freertos Uart Drivers */ +/* Freertos Pwm Drivers */ + +/* CONFIG_FREERTOS_USE_PWM is not set */ +/* end of Freertos Pwm Drivers */ + /* Freertos Qspi Drivers */ /* CONFIG_FREERTOS_USE_QSPI is not set */ @@ -123,6 +128,27 @@ /* CONFIG_FREERTOS_USE_XMAC is not set */ /* end of Freertos Eth Drivers */ + +/* Freertos Gpio Drivers */ + +/* CONFIG_FREERTOS_USE_GPIO is not set */ +/* end of Freertos Gpio Drivers */ + +/* Freertos Spim Drivers */ + +/* CONFIG_FREERTOS_USE_FSPIM is not set */ +/* end of Freertos Spim Drivers */ + +/* Freertos DMA Drivers */ + +/* CONFIG_FREERTOS_USE_FDDMA is not set */ +/* CONFIG_FREERTOS_USE_FGDMA is not set */ +/* end of Freertos DMA Drivers */ + +/* Freertos MMC Drivers */ + +/* CONFIG_FREERTOS_USE_FSDIO is not set */ +/* end of Freertos MMC Drivers */ /* end of Component Configuration */ /* FreeRTOS Setting */ @@ -142,6 +168,8 @@ /* CONFIG_DEFAULT_LETTER_SHELL_USE_UART0 is not set */ /* CONFIG_DEFAULT_LETTER_SHELL_USE_UART2 is not set */ /* end of Letter Shell Configuration */ +#define CONFIG_USE_TLSF +/* CONFIG_USE_SDMMC_CMD is not set */ /* end of FreeRTOS Setting */ #endif diff --git a/example/freertos_feature/resource/configs/d2000_aarch32_eg_configs b/example/freertos_feature/resource/configs/d2000_aarch32_eg_configs index 1ebe2f2c..733560a0 100644 --- a/example/freertos_feature/resource/configs/d2000_aarch32_eg_configs +++ b/example/freertos_feature/resource/configs/d2000_aarch32_eg_configs @@ -125,6 +125,12 @@ CONFIG_OUTPUT_BINARY=y CONFIG_FREERTOS_USE_UART=y # end of Freertos Uart Drivers +# +# Freertos Pwm Drivers +# +# CONFIG_FREERTOS_USE_PWM is not set +# end of Freertos Pwm Drivers + # # Freertos Qspi Drivers # @@ -142,6 +148,31 @@ CONFIG_FREERTOS_USE_UART=y # # CONFIG_FREERTOS_USE_XMAC is not set # end of Freertos Eth Drivers + +# +# Freertos Gpio Drivers +# +# CONFIG_FREERTOS_USE_GPIO is not set +# end of Freertos Gpio Drivers + +# +# Freertos Spim Drivers +# +# CONFIG_FREERTOS_USE_FSPIM is not set +# end of Freertos Spim Drivers + +# +# Freertos DMA Drivers +# +# CONFIG_FREERTOS_USE_FDDMA is not set +# CONFIG_FREERTOS_USE_FGDMA is not set +# end of Freertos DMA Drivers + +# +# Freertos MMC Drivers +# +# CONFIG_FREERTOS_USE_FSDIO is not set +# end of Freertos MMC Drivers # end of Component Configuration # @@ -163,4 +194,7 @@ CONFIG_DEFAULT_LETTER_SHELL_USE_UART1=y # CONFIG_DEFAULT_LETTER_SHELL_USE_UART0 is not set # CONFIG_DEFAULT_LETTER_SHELL_USE_UART2 is not set # end of Letter Shell Configuration + +CONFIG_USE_TLSF=y +# CONFIG_USE_SDMMC_CMD is not set # end of FreeRTOS Setting diff --git a/example/freertos_feature/resource/configs/d2000_aarch64_eg_configs b/example/freertos_feature/resource/configs/d2000_aarch64_eg_configs index be766108..7b253320 100644 --- a/example/freertos_feature/resource/configs/d2000_aarch64_eg_configs +++ b/example/freertos_feature/resource/configs/d2000_aarch64_eg_configs @@ -121,6 +121,12 @@ CONFIG_OUTPUT_BINARY=y CONFIG_FREERTOS_USE_UART=y # end of Freertos Uart Drivers +# +# Freertos Pwm Drivers +# +# CONFIG_FREERTOS_USE_PWM is not set +# end of Freertos Pwm Drivers + # # Freertos Qspi Drivers # @@ -138,6 +144,31 @@ CONFIG_FREERTOS_USE_UART=y # # CONFIG_FREERTOS_USE_XMAC is not set # end of Freertos Eth Drivers + +# +# Freertos Gpio Drivers +# +# CONFIG_FREERTOS_USE_GPIO is not set +# end of Freertos Gpio Drivers + +# +# Freertos Spim Drivers +# +# CONFIG_FREERTOS_USE_FSPIM is not set +# end of Freertos Spim Drivers + +# +# Freertos DMA Drivers +# +# CONFIG_FREERTOS_USE_FDDMA is not set +# CONFIG_FREERTOS_USE_FGDMA is not set +# end of Freertos DMA Drivers + +# +# Freertos MMC Drivers +# +# CONFIG_FREERTOS_USE_FSDIO is not set +# end of Freertos MMC Drivers # end of Component Configuration # @@ -159,4 +190,7 @@ CONFIG_DEFAULT_LETTER_SHELL_USE_UART1=y # CONFIG_DEFAULT_LETTER_SHELL_USE_UART0 is not set # CONFIG_DEFAULT_LETTER_SHELL_USE_UART2 is not set # end of Letter Shell Configuration + +CONFIG_USE_TLSF=y +# CONFIG_USE_SDMMC_CMD is not set # end of FreeRTOS Setting diff --git a/example/freertos_feature/resource/configs/e2000d_aarch32_eg_configs b/example/freertos_feature/resource/configs/e2000d_aarch32_eg_configs index 5f82332d..3fcb7a6c 100644 --- a/example/freertos_feature/resource/configs/e2000d_aarch32_eg_configs +++ b/example/freertos_feature/resource/configs/e2000d_aarch32_eg_configs @@ -125,6 +125,12 @@ CONFIG_OUTPUT_BINARY=y CONFIG_FREERTOS_USE_UART=y # end of Freertos Uart Drivers +# +# Freertos Pwm Drivers +# +# CONFIG_FREERTOS_USE_PWM is not set +# end of Freertos Pwm Drivers + # # Freertos Qspi Drivers # @@ -142,6 +148,31 @@ CONFIG_FREERTOS_USE_UART=y # # CONFIG_FREERTOS_USE_XMAC is not set # end of Freertos Eth Drivers + +# +# Freertos Gpio Drivers +# +# CONFIG_FREERTOS_USE_GPIO is not set +# end of Freertos Gpio Drivers + +# +# Freertos Spim Drivers +# +# CONFIG_FREERTOS_USE_FSPIM is not set +# end of Freertos Spim Drivers + +# +# Freertos DMA Drivers +# +# CONFIG_FREERTOS_USE_FDDMA is not set +# CONFIG_FREERTOS_USE_FGDMA is not set +# end of Freertos DMA Drivers + +# +# Freertos MMC Drivers +# +# CONFIG_FREERTOS_USE_FSDIO is not set +# end of Freertos MMC Drivers # end of Component Configuration # @@ -163,4 +194,7 @@ CONFIG_DEFAULT_LETTER_SHELL_USE_UART1=y # CONFIG_DEFAULT_LETTER_SHELL_USE_UART0 is not set # CONFIG_DEFAULT_LETTER_SHELL_USE_UART2 is not set # end of Letter Shell Configuration + +CONFIG_USE_TLSF=y +# CONFIG_USE_SDMMC_CMD is not set # end of FreeRTOS Setting diff --git a/example/freertos_feature/resource/configs/e2000d_aarch64_eg_configs b/example/freertos_feature/resource/configs/e2000d_aarch64_eg_configs index 51eac424..0ffacca0 100644 --- a/example/freertos_feature/resource/configs/e2000d_aarch64_eg_configs +++ b/example/freertos_feature/resource/configs/e2000d_aarch64_eg_configs @@ -121,6 +121,12 @@ CONFIG_OUTPUT_BINARY=y CONFIG_FREERTOS_USE_UART=y # end of Freertos Uart Drivers +# +# Freertos Pwm Drivers +# +# CONFIG_FREERTOS_USE_PWM is not set +# end of Freertos Pwm Drivers + # # Freertos Qspi Drivers # @@ -138,6 +144,31 @@ CONFIG_FREERTOS_USE_UART=y # # CONFIG_FREERTOS_USE_XMAC is not set # end of Freertos Eth Drivers + +# +# Freertos Gpio Drivers +# +# CONFIG_FREERTOS_USE_GPIO is not set +# end of Freertos Gpio Drivers + +# +# Freertos Spim Drivers +# +# CONFIG_FREERTOS_USE_FSPIM is not set +# end of Freertos Spim Drivers + +# +# Freertos DMA Drivers +# +# CONFIG_FREERTOS_USE_FDDMA is not set +# CONFIG_FREERTOS_USE_FGDMA is not set +# end of Freertos DMA Drivers + +# +# Freertos MMC Drivers +# +# CONFIG_FREERTOS_USE_FSDIO is not set +# end of Freertos MMC Drivers # end of Component Configuration # @@ -159,4 +190,7 @@ CONFIG_DEFAULT_LETTER_SHELL_USE_UART1=y # CONFIG_DEFAULT_LETTER_SHELL_USE_UART0 is not set # CONFIG_DEFAULT_LETTER_SHELL_USE_UART2 is not set # end of Letter Shell Configuration + +CONFIG_USE_TLSF=y +# CONFIG_USE_SDMMC_CMD is not set # end of FreeRTOS Setting diff --git a/example/freertos_feature/resource/configs/ft2004_aarch32_eg_configs b/example/freertos_feature/resource/configs/ft2004_aarch32_eg_configs index 102dd6f4..f474b23c 100644 --- a/example/freertos_feature/resource/configs/ft2004_aarch32_eg_configs +++ b/example/freertos_feature/resource/configs/ft2004_aarch32_eg_configs @@ -125,6 +125,12 @@ CONFIG_OUTPUT_BINARY=y CONFIG_FREERTOS_USE_UART=y # end of Freertos Uart Drivers +# +# Freertos Pwm Drivers +# +# CONFIG_FREERTOS_USE_PWM is not set +# end of Freertos Pwm Drivers + # # Freertos Qspi Drivers # @@ -142,6 +148,31 @@ CONFIG_FREERTOS_USE_UART=y # # CONFIG_FREERTOS_USE_XMAC is not set # end of Freertos Eth Drivers + +# +# Freertos Gpio Drivers +# +# CONFIG_FREERTOS_USE_GPIO is not set +# end of Freertos Gpio Drivers + +# +# Freertos Spim Drivers +# +# CONFIG_FREERTOS_USE_FSPIM is not set +# end of Freertos Spim Drivers + +# +# Freertos DMA Drivers +# +# CONFIG_FREERTOS_USE_FDDMA is not set +# CONFIG_FREERTOS_USE_FGDMA is not set +# end of Freertos DMA Drivers + +# +# Freertos MMC Drivers +# +# CONFIG_FREERTOS_USE_FSDIO is not set +# end of Freertos MMC Drivers # end of Component Configuration # @@ -163,4 +194,7 @@ CONFIG_DEFAULT_LETTER_SHELL_USE_UART1=y # CONFIG_DEFAULT_LETTER_SHELL_USE_UART0 is not set # CONFIG_DEFAULT_LETTER_SHELL_USE_UART2 is not set # end of Letter Shell Configuration + +CONFIG_USE_TLSF=y +# CONFIG_USE_SDMMC_CMD is not set # end of FreeRTOS Setting diff --git a/example/freertos_feature/resource/configs/ft2004_aarch64_eg_configs b/example/freertos_feature/resource/configs/ft2004_aarch64_eg_configs index 08416dc4..0da5a72d 100644 --- a/example/freertos_feature/resource/configs/ft2004_aarch64_eg_configs +++ b/example/freertos_feature/resource/configs/ft2004_aarch64_eg_configs @@ -121,6 +121,12 @@ CONFIG_OUTPUT_BINARY=y CONFIG_FREERTOS_USE_UART=y # end of Freertos Uart Drivers +# +# Freertos Pwm Drivers +# +# CONFIG_FREERTOS_USE_PWM is not set +# end of Freertos Pwm Drivers + # # Freertos Qspi Drivers # @@ -138,6 +144,31 @@ CONFIG_FREERTOS_USE_UART=y # # CONFIG_FREERTOS_USE_XMAC is not set # end of Freertos Eth Drivers + +# +# Freertos Gpio Drivers +# +# CONFIG_FREERTOS_USE_GPIO is not set +# end of Freertos Gpio Drivers + +# +# Freertos Spim Drivers +# +# CONFIG_FREERTOS_USE_FSPIM is not set +# end of Freertos Spim Drivers + +# +# Freertos DMA Drivers +# +# CONFIG_FREERTOS_USE_FDDMA is not set +# CONFIG_FREERTOS_USE_FGDMA is not set +# end of Freertos DMA Drivers + +# +# Freertos MMC Drivers +# +# CONFIG_FREERTOS_USE_FSDIO is not set +# end of Freertos MMC Drivers # end of Component Configuration # @@ -159,4 +190,7 @@ CONFIG_DEFAULT_LETTER_SHELL_USE_UART1=y # CONFIG_DEFAULT_LETTER_SHELL_USE_UART0 is not set # CONFIG_DEFAULT_LETTER_SHELL_USE_UART2 is not set # end of Letter Shell Configuration + +CONFIG_USE_TLSF=y +# CONFIG_USE_SDMMC_CMD is not set # end of FreeRTOS Setting diff --git a/example/freertos_feature/resource/sdkconfig b/example/freertos_feature/resource/sdkconfig index 51eac424..0ffacca0 100644 --- a/example/freertos_feature/resource/sdkconfig +++ b/example/freertos_feature/resource/sdkconfig @@ -121,6 +121,12 @@ CONFIG_OUTPUT_BINARY=y CONFIG_FREERTOS_USE_UART=y # end of Freertos Uart Drivers +# +# Freertos Pwm Drivers +# +# CONFIG_FREERTOS_USE_PWM is not set +# end of Freertos Pwm Drivers + # # Freertos Qspi Drivers # @@ -138,6 +144,31 @@ CONFIG_FREERTOS_USE_UART=y # # CONFIG_FREERTOS_USE_XMAC is not set # end of Freertos Eth Drivers + +# +# Freertos Gpio Drivers +# +# CONFIG_FREERTOS_USE_GPIO is not set +# end of Freertos Gpio Drivers + +# +# Freertos Spim Drivers +# +# CONFIG_FREERTOS_USE_FSPIM is not set +# end of Freertos Spim Drivers + +# +# Freertos DMA Drivers +# +# CONFIG_FREERTOS_USE_FDDMA is not set +# CONFIG_FREERTOS_USE_FGDMA is not set +# end of Freertos DMA Drivers + +# +# Freertos MMC Drivers +# +# CONFIG_FREERTOS_USE_FSDIO is not set +# end of Freertos MMC Drivers # end of Component Configuration # @@ -159,4 +190,7 @@ CONFIG_DEFAULT_LETTER_SHELL_USE_UART1=y # CONFIG_DEFAULT_LETTER_SHELL_USE_UART0 is not set # CONFIG_DEFAULT_LETTER_SHELL_USE_UART2 is not set # end of Letter Shell Configuration + +CONFIG_USE_TLSF=y +# CONFIG_USE_SDMMC_CMD is not set # end of FreeRTOS Setting diff --git a/example/freertos_feature/resource/sdkconfig.h b/example/freertos_feature/resource/sdkconfig.h index 89c318db..8295a2af 100644 --- a/example/freertos_feature/resource/sdkconfig.h +++ b/example/freertos_feature/resource/sdkconfig.h @@ -109,6 +109,11 @@ #define CONFIG_FREERTOS_USE_UART /* end of Freertos Uart Drivers */ +/* Freertos Pwm Drivers */ + +/* CONFIG_FREERTOS_USE_PWM is not set */ +/* end of Freertos Pwm Drivers */ + /* Freertos Qspi Drivers */ /* CONFIG_FREERTOS_USE_QSPI is not set */ @@ -123,6 +128,27 @@ /* CONFIG_FREERTOS_USE_XMAC is not set */ /* end of Freertos Eth Drivers */ + +/* Freertos Gpio Drivers */ + +/* CONFIG_FREERTOS_USE_GPIO is not set */ +/* end of Freertos Gpio Drivers */ + +/* Freertos Spim Drivers */ + +/* CONFIG_FREERTOS_USE_FSPIM is not set */ +/* end of Freertos Spim Drivers */ + +/* Freertos DMA Drivers */ + +/* CONFIG_FREERTOS_USE_FDDMA is not set */ +/* CONFIG_FREERTOS_USE_FGDMA is not set */ +/* end of Freertos DMA Drivers */ + +/* Freertos MMC Drivers */ + +/* CONFIG_FREERTOS_USE_FSDIO is not set */ +/* end of Freertos MMC Drivers */ /* end of Component Configuration */ /* FreeRTOS Setting */ @@ -142,6 +168,8 @@ /* CONFIG_DEFAULT_LETTER_SHELL_USE_UART0 is not set */ /* CONFIG_DEFAULT_LETTER_SHELL_USE_UART2 is not set */ /* end of Letter Shell Configuration */ +#define CONFIG_USE_TLSF +/* CONFIG_USE_SDMMC_CMD is not set */ /* end of FreeRTOS Setting */ #endif diff --git a/example/freertos_feature/software_timer/configs/d2000_aarch32_eg_configs b/example/freertos_feature/software_timer/configs/d2000_aarch32_eg_configs index 1ebe2f2c..733560a0 100644 --- a/example/freertos_feature/software_timer/configs/d2000_aarch32_eg_configs +++ b/example/freertos_feature/software_timer/configs/d2000_aarch32_eg_configs @@ -125,6 +125,12 @@ CONFIG_OUTPUT_BINARY=y CONFIG_FREERTOS_USE_UART=y # end of Freertos Uart Drivers +# +# Freertos Pwm Drivers +# +# CONFIG_FREERTOS_USE_PWM is not set +# end of Freertos Pwm Drivers + # # Freertos Qspi Drivers # @@ -142,6 +148,31 @@ CONFIG_FREERTOS_USE_UART=y # # CONFIG_FREERTOS_USE_XMAC is not set # end of Freertos Eth Drivers + +# +# Freertos Gpio Drivers +# +# CONFIG_FREERTOS_USE_GPIO is not set +# end of Freertos Gpio Drivers + +# +# Freertos Spim Drivers +# +# CONFIG_FREERTOS_USE_FSPIM is not set +# end of Freertos Spim Drivers + +# +# Freertos DMA Drivers +# +# CONFIG_FREERTOS_USE_FDDMA is not set +# CONFIG_FREERTOS_USE_FGDMA is not set +# end of Freertos DMA Drivers + +# +# Freertos MMC Drivers +# +# CONFIG_FREERTOS_USE_FSDIO is not set +# end of Freertos MMC Drivers # end of Component Configuration # @@ -163,4 +194,7 @@ CONFIG_DEFAULT_LETTER_SHELL_USE_UART1=y # CONFIG_DEFAULT_LETTER_SHELL_USE_UART0 is not set # CONFIG_DEFAULT_LETTER_SHELL_USE_UART2 is not set # end of Letter Shell Configuration + +CONFIG_USE_TLSF=y +# CONFIG_USE_SDMMC_CMD is not set # end of FreeRTOS Setting diff --git a/example/freertos_feature/software_timer/configs/d2000_aarch64_eg_configs b/example/freertos_feature/software_timer/configs/d2000_aarch64_eg_configs index be766108..7b253320 100644 --- a/example/freertos_feature/software_timer/configs/d2000_aarch64_eg_configs +++ b/example/freertos_feature/software_timer/configs/d2000_aarch64_eg_configs @@ -121,6 +121,12 @@ CONFIG_OUTPUT_BINARY=y CONFIG_FREERTOS_USE_UART=y # end of Freertos Uart Drivers +# +# Freertos Pwm Drivers +# +# CONFIG_FREERTOS_USE_PWM is not set +# end of Freertos Pwm Drivers + # # Freertos Qspi Drivers # @@ -138,6 +144,31 @@ CONFIG_FREERTOS_USE_UART=y # # CONFIG_FREERTOS_USE_XMAC is not set # end of Freertos Eth Drivers + +# +# Freertos Gpio Drivers +# +# CONFIG_FREERTOS_USE_GPIO is not set +# end of Freertos Gpio Drivers + +# +# Freertos Spim Drivers +# +# CONFIG_FREERTOS_USE_FSPIM is not set +# end of Freertos Spim Drivers + +# +# Freertos DMA Drivers +# +# CONFIG_FREERTOS_USE_FDDMA is not set +# CONFIG_FREERTOS_USE_FGDMA is not set +# end of Freertos DMA Drivers + +# +# Freertos MMC Drivers +# +# CONFIG_FREERTOS_USE_FSDIO is not set +# end of Freertos MMC Drivers # end of Component Configuration # @@ -159,4 +190,7 @@ CONFIG_DEFAULT_LETTER_SHELL_USE_UART1=y # CONFIG_DEFAULT_LETTER_SHELL_USE_UART0 is not set # CONFIG_DEFAULT_LETTER_SHELL_USE_UART2 is not set # end of Letter Shell Configuration + +CONFIG_USE_TLSF=y +# CONFIG_USE_SDMMC_CMD is not set # end of FreeRTOS Setting diff --git a/example/freertos_feature/software_timer/configs/e2000d_aarch32_eg_configs b/example/freertos_feature/software_timer/configs/e2000d_aarch32_eg_configs index 5f82332d..3fcb7a6c 100644 --- a/example/freertos_feature/software_timer/configs/e2000d_aarch32_eg_configs +++ b/example/freertos_feature/software_timer/configs/e2000d_aarch32_eg_configs @@ -125,6 +125,12 @@ CONFIG_OUTPUT_BINARY=y CONFIG_FREERTOS_USE_UART=y # end of Freertos Uart Drivers +# +# Freertos Pwm Drivers +# +# CONFIG_FREERTOS_USE_PWM is not set +# end of Freertos Pwm Drivers + # # Freertos Qspi Drivers # @@ -142,6 +148,31 @@ CONFIG_FREERTOS_USE_UART=y # # CONFIG_FREERTOS_USE_XMAC is not set # end of Freertos Eth Drivers + +# +# Freertos Gpio Drivers +# +# CONFIG_FREERTOS_USE_GPIO is not set +# end of Freertos Gpio Drivers + +# +# Freertos Spim Drivers +# +# CONFIG_FREERTOS_USE_FSPIM is not set +# end of Freertos Spim Drivers + +# +# Freertos DMA Drivers +# +# CONFIG_FREERTOS_USE_FDDMA is not set +# CONFIG_FREERTOS_USE_FGDMA is not set +# end of Freertos DMA Drivers + +# +# Freertos MMC Drivers +# +# CONFIG_FREERTOS_USE_FSDIO is not set +# end of Freertos MMC Drivers # end of Component Configuration # @@ -163,4 +194,7 @@ CONFIG_DEFAULT_LETTER_SHELL_USE_UART1=y # CONFIG_DEFAULT_LETTER_SHELL_USE_UART0 is not set # CONFIG_DEFAULT_LETTER_SHELL_USE_UART2 is not set # end of Letter Shell Configuration + +CONFIG_USE_TLSF=y +# CONFIG_USE_SDMMC_CMD is not set # end of FreeRTOS Setting diff --git a/example/freertos_feature/software_timer/configs/e2000d_aarch64_eg_configs b/example/freertos_feature/software_timer/configs/e2000d_aarch64_eg_configs index 51eac424..0ffacca0 100644 --- a/example/freertos_feature/software_timer/configs/e2000d_aarch64_eg_configs +++ b/example/freertos_feature/software_timer/configs/e2000d_aarch64_eg_configs @@ -121,6 +121,12 @@ CONFIG_OUTPUT_BINARY=y CONFIG_FREERTOS_USE_UART=y # end of Freertos Uart Drivers +# +# Freertos Pwm Drivers +# +# CONFIG_FREERTOS_USE_PWM is not set +# end of Freertos Pwm Drivers + # # Freertos Qspi Drivers # @@ -138,6 +144,31 @@ CONFIG_FREERTOS_USE_UART=y # # CONFIG_FREERTOS_USE_XMAC is not set # end of Freertos Eth Drivers + +# +# Freertos Gpio Drivers +# +# CONFIG_FREERTOS_USE_GPIO is not set +# end of Freertos Gpio Drivers + +# +# Freertos Spim Drivers +# +# CONFIG_FREERTOS_USE_FSPIM is not set +# end of Freertos Spim Drivers + +# +# Freertos DMA Drivers +# +# CONFIG_FREERTOS_USE_FDDMA is not set +# CONFIG_FREERTOS_USE_FGDMA is not set +# end of Freertos DMA Drivers + +# +# Freertos MMC Drivers +# +# CONFIG_FREERTOS_USE_FSDIO is not set +# end of Freertos MMC Drivers # end of Component Configuration # @@ -159,4 +190,7 @@ CONFIG_DEFAULT_LETTER_SHELL_USE_UART1=y # CONFIG_DEFAULT_LETTER_SHELL_USE_UART0 is not set # CONFIG_DEFAULT_LETTER_SHELL_USE_UART2 is not set # end of Letter Shell Configuration + +CONFIG_USE_TLSF=y +# CONFIG_USE_SDMMC_CMD is not set # end of FreeRTOS Setting diff --git a/example/freertos_feature/software_timer/configs/ft2004_aarch32_eg_configs b/example/freertos_feature/software_timer/configs/ft2004_aarch32_eg_configs index 102dd6f4..f474b23c 100644 --- a/example/freertos_feature/software_timer/configs/ft2004_aarch32_eg_configs +++ b/example/freertos_feature/software_timer/configs/ft2004_aarch32_eg_configs @@ -125,6 +125,12 @@ CONFIG_OUTPUT_BINARY=y CONFIG_FREERTOS_USE_UART=y # end of Freertos Uart Drivers +# +# Freertos Pwm Drivers +# +# CONFIG_FREERTOS_USE_PWM is not set +# end of Freertos Pwm Drivers + # # Freertos Qspi Drivers # @@ -142,6 +148,31 @@ CONFIG_FREERTOS_USE_UART=y # # CONFIG_FREERTOS_USE_XMAC is not set # end of Freertos Eth Drivers + +# +# Freertos Gpio Drivers +# +# CONFIG_FREERTOS_USE_GPIO is not set +# end of Freertos Gpio Drivers + +# +# Freertos Spim Drivers +# +# CONFIG_FREERTOS_USE_FSPIM is not set +# end of Freertos Spim Drivers + +# +# Freertos DMA Drivers +# +# CONFIG_FREERTOS_USE_FDDMA is not set +# CONFIG_FREERTOS_USE_FGDMA is not set +# end of Freertos DMA Drivers + +# +# Freertos MMC Drivers +# +# CONFIG_FREERTOS_USE_FSDIO is not set +# end of Freertos MMC Drivers # end of Component Configuration # @@ -163,4 +194,7 @@ CONFIG_DEFAULT_LETTER_SHELL_USE_UART1=y # CONFIG_DEFAULT_LETTER_SHELL_USE_UART0 is not set # CONFIG_DEFAULT_LETTER_SHELL_USE_UART2 is not set # end of Letter Shell Configuration + +CONFIG_USE_TLSF=y +# CONFIG_USE_SDMMC_CMD is not set # end of FreeRTOS Setting diff --git a/example/freertos_feature/software_timer/configs/ft2004_aarch64_eg_configs b/example/freertos_feature/software_timer/configs/ft2004_aarch64_eg_configs index 08416dc4..0da5a72d 100644 --- a/example/freertos_feature/software_timer/configs/ft2004_aarch64_eg_configs +++ b/example/freertos_feature/software_timer/configs/ft2004_aarch64_eg_configs @@ -121,6 +121,12 @@ CONFIG_OUTPUT_BINARY=y CONFIG_FREERTOS_USE_UART=y # end of Freertos Uart Drivers +# +# Freertos Pwm Drivers +# +# CONFIG_FREERTOS_USE_PWM is not set +# end of Freertos Pwm Drivers + # # Freertos Qspi Drivers # @@ -138,6 +144,31 @@ CONFIG_FREERTOS_USE_UART=y # # CONFIG_FREERTOS_USE_XMAC is not set # end of Freertos Eth Drivers + +# +# Freertos Gpio Drivers +# +# CONFIG_FREERTOS_USE_GPIO is not set +# end of Freertos Gpio Drivers + +# +# Freertos Spim Drivers +# +# CONFIG_FREERTOS_USE_FSPIM is not set +# end of Freertos Spim Drivers + +# +# Freertos DMA Drivers +# +# CONFIG_FREERTOS_USE_FDDMA is not set +# CONFIG_FREERTOS_USE_FGDMA is not set +# end of Freertos DMA Drivers + +# +# Freertos MMC Drivers +# +# CONFIG_FREERTOS_USE_FSDIO is not set +# end of Freertos MMC Drivers # end of Component Configuration # @@ -159,4 +190,7 @@ CONFIG_DEFAULT_LETTER_SHELL_USE_UART1=y # CONFIG_DEFAULT_LETTER_SHELL_USE_UART0 is not set # CONFIG_DEFAULT_LETTER_SHELL_USE_UART2 is not set # end of Letter Shell Configuration + +CONFIG_USE_TLSF=y +# CONFIG_USE_SDMMC_CMD is not set # end of FreeRTOS Setting diff --git a/example/freertos_feature/software_timer/sdkconfig b/example/freertos_feature/software_timer/sdkconfig index 51eac424..0ffacca0 100644 --- a/example/freertos_feature/software_timer/sdkconfig +++ b/example/freertos_feature/software_timer/sdkconfig @@ -121,6 +121,12 @@ CONFIG_OUTPUT_BINARY=y CONFIG_FREERTOS_USE_UART=y # end of Freertos Uart Drivers +# +# Freertos Pwm Drivers +# +# CONFIG_FREERTOS_USE_PWM is not set +# end of Freertos Pwm Drivers + # # Freertos Qspi Drivers # @@ -138,6 +144,31 @@ CONFIG_FREERTOS_USE_UART=y # # CONFIG_FREERTOS_USE_XMAC is not set # end of Freertos Eth Drivers + +# +# Freertos Gpio Drivers +# +# CONFIG_FREERTOS_USE_GPIO is not set +# end of Freertos Gpio Drivers + +# +# Freertos Spim Drivers +# +# CONFIG_FREERTOS_USE_FSPIM is not set +# end of Freertos Spim Drivers + +# +# Freertos DMA Drivers +# +# CONFIG_FREERTOS_USE_FDDMA is not set +# CONFIG_FREERTOS_USE_FGDMA is not set +# end of Freertos DMA Drivers + +# +# Freertos MMC Drivers +# +# CONFIG_FREERTOS_USE_FSDIO is not set +# end of Freertos MMC Drivers # end of Component Configuration # @@ -159,4 +190,7 @@ CONFIG_DEFAULT_LETTER_SHELL_USE_UART1=y # CONFIG_DEFAULT_LETTER_SHELL_USE_UART0 is not set # CONFIG_DEFAULT_LETTER_SHELL_USE_UART2 is not set # end of Letter Shell Configuration + +CONFIG_USE_TLSF=y +# CONFIG_USE_SDMMC_CMD is not set # end of FreeRTOS Setting diff --git a/example/freertos_feature/software_timer/sdkconfig.h b/example/freertos_feature/software_timer/sdkconfig.h index 89c318db..8295a2af 100644 --- a/example/freertos_feature/software_timer/sdkconfig.h +++ b/example/freertos_feature/software_timer/sdkconfig.h @@ -109,6 +109,11 @@ #define CONFIG_FREERTOS_USE_UART /* end of Freertos Uart Drivers */ +/* Freertos Pwm Drivers */ + +/* CONFIG_FREERTOS_USE_PWM is not set */ +/* end of Freertos Pwm Drivers */ + /* Freertos Qspi Drivers */ /* CONFIG_FREERTOS_USE_QSPI is not set */ @@ -123,6 +128,27 @@ /* CONFIG_FREERTOS_USE_XMAC is not set */ /* end of Freertos Eth Drivers */ + +/* Freertos Gpio Drivers */ + +/* CONFIG_FREERTOS_USE_GPIO is not set */ +/* end of Freertos Gpio Drivers */ + +/* Freertos Spim Drivers */ + +/* CONFIG_FREERTOS_USE_FSPIM is not set */ +/* end of Freertos Spim Drivers */ + +/* Freertos DMA Drivers */ + +/* CONFIG_FREERTOS_USE_FDDMA is not set */ +/* CONFIG_FREERTOS_USE_FGDMA is not set */ +/* end of Freertos DMA Drivers */ + +/* Freertos MMC Drivers */ + +/* CONFIG_FREERTOS_USE_FSDIO is not set */ +/* end of Freertos MMC Drivers */ /* end of Component Configuration */ /* FreeRTOS Setting */ @@ -142,6 +168,8 @@ /* CONFIG_DEFAULT_LETTER_SHELL_USE_UART0 is not set */ /* CONFIG_DEFAULT_LETTER_SHELL_USE_UART2 is not set */ /* end of Letter Shell Configuration */ +#define CONFIG_USE_TLSF +/* CONFIG_USE_SDMMC_CMD is not set */ /* end of FreeRTOS Setting */ #endif diff --git a/example/freertos_feature/task/configs/d2000_aarch32_eg_configs b/example/freertos_feature/task/configs/d2000_aarch32_eg_configs index 1ebe2f2c..733560a0 100644 --- a/example/freertos_feature/task/configs/d2000_aarch32_eg_configs +++ b/example/freertos_feature/task/configs/d2000_aarch32_eg_configs @@ -125,6 +125,12 @@ CONFIG_OUTPUT_BINARY=y CONFIG_FREERTOS_USE_UART=y # end of Freertos Uart Drivers +# +# Freertos Pwm Drivers +# +# CONFIG_FREERTOS_USE_PWM is not set +# end of Freertos Pwm Drivers + # # Freertos Qspi Drivers # @@ -142,6 +148,31 @@ CONFIG_FREERTOS_USE_UART=y # # CONFIG_FREERTOS_USE_XMAC is not set # end of Freertos Eth Drivers + +# +# Freertos Gpio Drivers +# +# CONFIG_FREERTOS_USE_GPIO is not set +# end of Freertos Gpio Drivers + +# +# Freertos Spim Drivers +# +# CONFIG_FREERTOS_USE_FSPIM is not set +# end of Freertos Spim Drivers + +# +# Freertos DMA Drivers +# +# CONFIG_FREERTOS_USE_FDDMA is not set +# CONFIG_FREERTOS_USE_FGDMA is not set +# end of Freertos DMA Drivers + +# +# Freertos MMC Drivers +# +# CONFIG_FREERTOS_USE_FSDIO is not set +# end of Freertos MMC Drivers # end of Component Configuration # @@ -163,4 +194,7 @@ CONFIG_DEFAULT_LETTER_SHELL_USE_UART1=y # CONFIG_DEFAULT_LETTER_SHELL_USE_UART0 is not set # CONFIG_DEFAULT_LETTER_SHELL_USE_UART2 is not set # end of Letter Shell Configuration + +CONFIG_USE_TLSF=y +# CONFIG_USE_SDMMC_CMD is not set # end of FreeRTOS Setting diff --git a/example/freertos_feature/task/configs/d2000_aarch64_eg_configs b/example/freertos_feature/task/configs/d2000_aarch64_eg_configs index be766108..7b253320 100644 --- a/example/freertos_feature/task/configs/d2000_aarch64_eg_configs +++ b/example/freertos_feature/task/configs/d2000_aarch64_eg_configs @@ -121,6 +121,12 @@ CONFIG_OUTPUT_BINARY=y CONFIG_FREERTOS_USE_UART=y # end of Freertos Uart Drivers +# +# Freertos Pwm Drivers +# +# CONFIG_FREERTOS_USE_PWM is not set +# end of Freertos Pwm Drivers + # # Freertos Qspi Drivers # @@ -138,6 +144,31 @@ CONFIG_FREERTOS_USE_UART=y # # CONFIG_FREERTOS_USE_XMAC is not set # end of Freertos Eth Drivers + +# +# Freertos Gpio Drivers +# +# CONFIG_FREERTOS_USE_GPIO is not set +# end of Freertos Gpio Drivers + +# +# Freertos Spim Drivers +# +# CONFIG_FREERTOS_USE_FSPIM is not set +# end of Freertos Spim Drivers + +# +# Freertos DMA Drivers +# +# CONFIG_FREERTOS_USE_FDDMA is not set +# CONFIG_FREERTOS_USE_FGDMA is not set +# end of Freertos DMA Drivers + +# +# Freertos MMC Drivers +# +# CONFIG_FREERTOS_USE_FSDIO is not set +# end of Freertos MMC Drivers # end of Component Configuration # @@ -159,4 +190,7 @@ CONFIG_DEFAULT_LETTER_SHELL_USE_UART1=y # CONFIG_DEFAULT_LETTER_SHELL_USE_UART0 is not set # CONFIG_DEFAULT_LETTER_SHELL_USE_UART2 is not set # end of Letter Shell Configuration + +CONFIG_USE_TLSF=y +# CONFIG_USE_SDMMC_CMD is not set # end of FreeRTOS Setting diff --git a/example/freertos_feature/task/configs/e2000d_aarch32_eg_configs b/example/freertos_feature/task/configs/e2000d_aarch32_eg_configs index 5f82332d..3fcb7a6c 100644 --- a/example/freertos_feature/task/configs/e2000d_aarch32_eg_configs +++ b/example/freertos_feature/task/configs/e2000d_aarch32_eg_configs @@ -125,6 +125,12 @@ CONFIG_OUTPUT_BINARY=y CONFIG_FREERTOS_USE_UART=y # end of Freertos Uart Drivers +# +# Freertos Pwm Drivers +# +# CONFIG_FREERTOS_USE_PWM is not set +# end of Freertos Pwm Drivers + # # Freertos Qspi Drivers # @@ -142,6 +148,31 @@ CONFIG_FREERTOS_USE_UART=y # # CONFIG_FREERTOS_USE_XMAC is not set # end of Freertos Eth Drivers + +# +# Freertos Gpio Drivers +# +# CONFIG_FREERTOS_USE_GPIO is not set +# end of Freertos Gpio Drivers + +# +# Freertos Spim Drivers +# +# CONFIG_FREERTOS_USE_FSPIM is not set +# end of Freertos Spim Drivers + +# +# Freertos DMA Drivers +# +# CONFIG_FREERTOS_USE_FDDMA is not set +# CONFIG_FREERTOS_USE_FGDMA is not set +# end of Freertos DMA Drivers + +# +# Freertos MMC Drivers +# +# CONFIG_FREERTOS_USE_FSDIO is not set +# end of Freertos MMC Drivers # end of Component Configuration # @@ -163,4 +194,7 @@ CONFIG_DEFAULT_LETTER_SHELL_USE_UART1=y # CONFIG_DEFAULT_LETTER_SHELL_USE_UART0 is not set # CONFIG_DEFAULT_LETTER_SHELL_USE_UART2 is not set # end of Letter Shell Configuration + +CONFIG_USE_TLSF=y +# CONFIG_USE_SDMMC_CMD is not set # end of FreeRTOS Setting diff --git a/example/freertos_feature/task/configs/e2000d_aarch64_eg_configs b/example/freertos_feature/task/configs/e2000d_aarch64_eg_configs index 51eac424..0ffacca0 100644 --- a/example/freertos_feature/task/configs/e2000d_aarch64_eg_configs +++ b/example/freertos_feature/task/configs/e2000d_aarch64_eg_configs @@ -121,6 +121,12 @@ CONFIG_OUTPUT_BINARY=y CONFIG_FREERTOS_USE_UART=y # end of Freertos Uart Drivers +# +# Freertos Pwm Drivers +# +# CONFIG_FREERTOS_USE_PWM is not set +# end of Freertos Pwm Drivers + # # Freertos Qspi Drivers # @@ -138,6 +144,31 @@ CONFIG_FREERTOS_USE_UART=y # # CONFIG_FREERTOS_USE_XMAC is not set # end of Freertos Eth Drivers + +# +# Freertos Gpio Drivers +# +# CONFIG_FREERTOS_USE_GPIO is not set +# end of Freertos Gpio Drivers + +# +# Freertos Spim Drivers +# +# CONFIG_FREERTOS_USE_FSPIM is not set +# end of Freertos Spim Drivers + +# +# Freertos DMA Drivers +# +# CONFIG_FREERTOS_USE_FDDMA is not set +# CONFIG_FREERTOS_USE_FGDMA is not set +# end of Freertos DMA Drivers + +# +# Freertos MMC Drivers +# +# CONFIG_FREERTOS_USE_FSDIO is not set +# end of Freertos MMC Drivers # end of Component Configuration # @@ -159,4 +190,7 @@ CONFIG_DEFAULT_LETTER_SHELL_USE_UART1=y # CONFIG_DEFAULT_LETTER_SHELL_USE_UART0 is not set # CONFIG_DEFAULT_LETTER_SHELL_USE_UART2 is not set # end of Letter Shell Configuration + +CONFIG_USE_TLSF=y +# CONFIG_USE_SDMMC_CMD is not set # end of FreeRTOS Setting diff --git a/example/freertos_feature/task/configs/ft2004_aarch32_eg_configs b/example/freertos_feature/task/configs/ft2004_aarch32_eg_configs index 102dd6f4..f474b23c 100644 --- a/example/freertos_feature/task/configs/ft2004_aarch32_eg_configs +++ b/example/freertos_feature/task/configs/ft2004_aarch32_eg_configs @@ -125,6 +125,12 @@ CONFIG_OUTPUT_BINARY=y CONFIG_FREERTOS_USE_UART=y # end of Freertos Uart Drivers +# +# Freertos Pwm Drivers +# +# CONFIG_FREERTOS_USE_PWM is not set +# end of Freertos Pwm Drivers + # # Freertos Qspi Drivers # @@ -142,6 +148,31 @@ CONFIG_FREERTOS_USE_UART=y # # CONFIG_FREERTOS_USE_XMAC is not set # end of Freertos Eth Drivers + +# +# Freertos Gpio Drivers +# +# CONFIG_FREERTOS_USE_GPIO is not set +# end of Freertos Gpio Drivers + +# +# Freertos Spim Drivers +# +# CONFIG_FREERTOS_USE_FSPIM is not set +# end of Freertos Spim Drivers + +# +# Freertos DMA Drivers +# +# CONFIG_FREERTOS_USE_FDDMA is not set +# CONFIG_FREERTOS_USE_FGDMA is not set +# end of Freertos DMA Drivers + +# +# Freertos MMC Drivers +# +# CONFIG_FREERTOS_USE_FSDIO is not set +# end of Freertos MMC Drivers # end of Component Configuration # @@ -163,4 +194,7 @@ CONFIG_DEFAULT_LETTER_SHELL_USE_UART1=y # CONFIG_DEFAULT_LETTER_SHELL_USE_UART0 is not set # CONFIG_DEFAULT_LETTER_SHELL_USE_UART2 is not set # end of Letter Shell Configuration + +CONFIG_USE_TLSF=y +# CONFIG_USE_SDMMC_CMD is not set # end of FreeRTOS Setting diff --git a/example/freertos_feature/task/configs/ft2004_aarch64_eg_configs b/example/freertos_feature/task/configs/ft2004_aarch64_eg_configs index 08416dc4..0da5a72d 100644 --- a/example/freertos_feature/task/configs/ft2004_aarch64_eg_configs +++ b/example/freertos_feature/task/configs/ft2004_aarch64_eg_configs @@ -121,6 +121,12 @@ CONFIG_OUTPUT_BINARY=y CONFIG_FREERTOS_USE_UART=y # end of Freertos Uart Drivers +# +# Freertos Pwm Drivers +# +# CONFIG_FREERTOS_USE_PWM is not set +# end of Freertos Pwm Drivers + # # Freertos Qspi Drivers # @@ -138,6 +144,31 @@ CONFIG_FREERTOS_USE_UART=y # # CONFIG_FREERTOS_USE_XMAC is not set # end of Freertos Eth Drivers + +# +# Freertos Gpio Drivers +# +# CONFIG_FREERTOS_USE_GPIO is not set +# end of Freertos Gpio Drivers + +# +# Freertos Spim Drivers +# +# CONFIG_FREERTOS_USE_FSPIM is not set +# end of Freertos Spim Drivers + +# +# Freertos DMA Drivers +# +# CONFIG_FREERTOS_USE_FDDMA is not set +# CONFIG_FREERTOS_USE_FGDMA is not set +# end of Freertos DMA Drivers + +# +# Freertos MMC Drivers +# +# CONFIG_FREERTOS_USE_FSDIO is not set +# end of Freertos MMC Drivers # end of Component Configuration # @@ -159,4 +190,7 @@ CONFIG_DEFAULT_LETTER_SHELL_USE_UART1=y # CONFIG_DEFAULT_LETTER_SHELL_USE_UART0 is not set # CONFIG_DEFAULT_LETTER_SHELL_USE_UART2 is not set # end of Letter Shell Configuration + +CONFIG_USE_TLSF=y +# CONFIG_USE_SDMMC_CMD is not set # end of FreeRTOS Setting diff --git a/example/freertos_feature/task/sdkconfig b/example/freertos_feature/task/sdkconfig index 51eac424..0ffacca0 100644 --- a/example/freertos_feature/task/sdkconfig +++ b/example/freertos_feature/task/sdkconfig @@ -121,6 +121,12 @@ CONFIG_OUTPUT_BINARY=y CONFIG_FREERTOS_USE_UART=y # end of Freertos Uart Drivers +# +# Freertos Pwm Drivers +# +# CONFIG_FREERTOS_USE_PWM is not set +# end of Freertos Pwm Drivers + # # Freertos Qspi Drivers # @@ -138,6 +144,31 @@ CONFIG_FREERTOS_USE_UART=y # # CONFIG_FREERTOS_USE_XMAC is not set # end of Freertos Eth Drivers + +# +# Freertos Gpio Drivers +# +# CONFIG_FREERTOS_USE_GPIO is not set +# end of Freertos Gpio Drivers + +# +# Freertos Spim Drivers +# +# CONFIG_FREERTOS_USE_FSPIM is not set +# end of Freertos Spim Drivers + +# +# Freertos DMA Drivers +# +# CONFIG_FREERTOS_USE_FDDMA is not set +# CONFIG_FREERTOS_USE_FGDMA is not set +# end of Freertos DMA Drivers + +# +# Freertos MMC Drivers +# +# CONFIG_FREERTOS_USE_FSDIO is not set +# end of Freertos MMC Drivers # end of Component Configuration # @@ -159,4 +190,7 @@ CONFIG_DEFAULT_LETTER_SHELL_USE_UART1=y # CONFIG_DEFAULT_LETTER_SHELL_USE_UART0 is not set # CONFIG_DEFAULT_LETTER_SHELL_USE_UART2 is not set # end of Letter Shell Configuration + +CONFIG_USE_TLSF=y +# CONFIG_USE_SDMMC_CMD is not set # end of FreeRTOS Setting diff --git a/example/freertos_feature/task/sdkconfig.h b/example/freertos_feature/task/sdkconfig.h index 89c318db..8295a2af 100644 --- a/example/freertos_feature/task/sdkconfig.h +++ b/example/freertos_feature/task/sdkconfig.h @@ -109,6 +109,11 @@ #define CONFIG_FREERTOS_USE_UART /* end of Freertos Uart Drivers */ +/* Freertos Pwm Drivers */ + +/* CONFIG_FREERTOS_USE_PWM is not set */ +/* end of Freertos Pwm Drivers */ + /* Freertos Qspi Drivers */ /* CONFIG_FREERTOS_USE_QSPI is not set */ @@ -123,6 +128,27 @@ /* CONFIG_FREERTOS_USE_XMAC is not set */ /* end of Freertos Eth Drivers */ + +/* Freertos Gpio Drivers */ + +/* CONFIG_FREERTOS_USE_GPIO is not set */ +/* end of Freertos Gpio Drivers */ + +/* Freertos Spim Drivers */ + +/* CONFIG_FREERTOS_USE_FSPIM is not set */ +/* end of Freertos Spim Drivers */ + +/* Freertos DMA Drivers */ + +/* CONFIG_FREERTOS_USE_FDDMA is not set */ +/* CONFIG_FREERTOS_USE_FGDMA is not set */ +/* end of Freertos DMA Drivers */ + +/* Freertos MMC Drivers */ + +/* CONFIG_FREERTOS_USE_FSDIO is not set */ +/* end of Freertos MMC Drivers */ /* end of Component Configuration */ /* FreeRTOS Setting */ @@ -142,6 +168,8 @@ /* CONFIG_DEFAULT_LETTER_SHELL_USE_UART0 is not set */ /* CONFIG_DEFAULT_LETTER_SHELL_USE_UART2 is not set */ /* end of Letter Shell Configuration */ +#define CONFIG_USE_TLSF +/* CONFIG_USE_SDMMC_CMD is not set */ /* end of FreeRTOS Setting */ #endif diff --git a/example/freertos_feature/task_notify/configs/d2000_aarch32_eg_configs b/example/freertos_feature/task_notify/configs/d2000_aarch32_eg_configs index 1ebe2f2c..733560a0 100644 --- a/example/freertos_feature/task_notify/configs/d2000_aarch32_eg_configs +++ b/example/freertos_feature/task_notify/configs/d2000_aarch32_eg_configs @@ -125,6 +125,12 @@ CONFIG_OUTPUT_BINARY=y CONFIG_FREERTOS_USE_UART=y # end of Freertos Uart Drivers +# +# Freertos Pwm Drivers +# +# CONFIG_FREERTOS_USE_PWM is not set +# end of Freertos Pwm Drivers + # # Freertos Qspi Drivers # @@ -142,6 +148,31 @@ CONFIG_FREERTOS_USE_UART=y # # CONFIG_FREERTOS_USE_XMAC is not set # end of Freertos Eth Drivers + +# +# Freertos Gpio Drivers +# +# CONFIG_FREERTOS_USE_GPIO is not set +# end of Freertos Gpio Drivers + +# +# Freertos Spim Drivers +# +# CONFIG_FREERTOS_USE_FSPIM is not set +# end of Freertos Spim Drivers + +# +# Freertos DMA Drivers +# +# CONFIG_FREERTOS_USE_FDDMA is not set +# CONFIG_FREERTOS_USE_FGDMA is not set +# end of Freertos DMA Drivers + +# +# Freertos MMC Drivers +# +# CONFIG_FREERTOS_USE_FSDIO is not set +# end of Freertos MMC Drivers # end of Component Configuration # @@ -163,4 +194,7 @@ CONFIG_DEFAULT_LETTER_SHELL_USE_UART1=y # CONFIG_DEFAULT_LETTER_SHELL_USE_UART0 is not set # CONFIG_DEFAULT_LETTER_SHELL_USE_UART2 is not set # end of Letter Shell Configuration + +CONFIG_USE_TLSF=y +# CONFIG_USE_SDMMC_CMD is not set # end of FreeRTOS Setting diff --git a/example/freertos_feature/task_notify/configs/d2000_aarch64_eg_configs b/example/freertos_feature/task_notify/configs/d2000_aarch64_eg_configs index be766108..7b253320 100644 --- a/example/freertos_feature/task_notify/configs/d2000_aarch64_eg_configs +++ b/example/freertos_feature/task_notify/configs/d2000_aarch64_eg_configs @@ -121,6 +121,12 @@ CONFIG_OUTPUT_BINARY=y CONFIG_FREERTOS_USE_UART=y # end of Freertos Uart Drivers +# +# Freertos Pwm Drivers +# +# CONFIG_FREERTOS_USE_PWM is not set +# end of Freertos Pwm Drivers + # # Freertos Qspi Drivers # @@ -138,6 +144,31 @@ CONFIG_FREERTOS_USE_UART=y # # CONFIG_FREERTOS_USE_XMAC is not set # end of Freertos Eth Drivers + +# +# Freertos Gpio Drivers +# +# CONFIG_FREERTOS_USE_GPIO is not set +# end of Freertos Gpio Drivers + +# +# Freertos Spim Drivers +# +# CONFIG_FREERTOS_USE_FSPIM is not set +# end of Freertos Spim Drivers + +# +# Freertos DMA Drivers +# +# CONFIG_FREERTOS_USE_FDDMA is not set +# CONFIG_FREERTOS_USE_FGDMA is not set +# end of Freertos DMA Drivers + +# +# Freertos MMC Drivers +# +# CONFIG_FREERTOS_USE_FSDIO is not set +# end of Freertos MMC Drivers # end of Component Configuration # @@ -159,4 +190,7 @@ CONFIG_DEFAULT_LETTER_SHELL_USE_UART1=y # CONFIG_DEFAULT_LETTER_SHELL_USE_UART0 is not set # CONFIG_DEFAULT_LETTER_SHELL_USE_UART2 is not set # end of Letter Shell Configuration + +CONFIG_USE_TLSF=y +# CONFIG_USE_SDMMC_CMD is not set # end of FreeRTOS Setting diff --git a/example/freertos_feature/task_notify/configs/e2000d_aarch32_eg_configs b/example/freertos_feature/task_notify/configs/e2000d_aarch32_eg_configs index 5f82332d..3fcb7a6c 100644 --- a/example/freertos_feature/task_notify/configs/e2000d_aarch32_eg_configs +++ b/example/freertos_feature/task_notify/configs/e2000d_aarch32_eg_configs @@ -125,6 +125,12 @@ CONFIG_OUTPUT_BINARY=y CONFIG_FREERTOS_USE_UART=y # end of Freertos Uart Drivers +# +# Freertos Pwm Drivers +# +# CONFIG_FREERTOS_USE_PWM is not set +# end of Freertos Pwm Drivers + # # Freertos Qspi Drivers # @@ -142,6 +148,31 @@ CONFIG_FREERTOS_USE_UART=y # # CONFIG_FREERTOS_USE_XMAC is not set # end of Freertos Eth Drivers + +# +# Freertos Gpio Drivers +# +# CONFIG_FREERTOS_USE_GPIO is not set +# end of Freertos Gpio Drivers + +# +# Freertos Spim Drivers +# +# CONFIG_FREERTOS_USE_FSPIM is not set +# end of Freertos Spim Drivers + +# +# Freertos DMA Drivers +# +# CONFIG_FREERTOS_USE_FDDMA is not set +# CONFIG_FREERTOS_USE_FGDMA is not set +# end of Freertos DMA Drivers + +# +# Freertos MMC Drivers +# +# CONFIG_FREERTOS_USE_FSDIO is not set +# end of Freertos MMC Drivers # end of Component Configuration # @@ -163,4 +194,7 @@ CONFIG_DEFAULT_LETTER_SHELL_USE_UART1=y # CONFIG_DEFAULT_LETTER_SHELL_USE_UART0 is not set # CONFIG_DEFAULT_LETTER_SHELL_USE_UART2 is not set # end of Letter Shell Configuration + +CONFIG_USE_TLSF=y +# CONFIG_USE_SDMMC_CMD is not set # end of FreeRTOS Setting diff --git a/example/freertos_feature/task_notify/configs/e2000d_aarch64_eg_configs b/example/freertos_feature/task_notify/configs/e2000d_aarch64_eg_configs index 51eac424..0ffacca0 100644 --- a/example/freertos_feature/task_notify/configs/e2000d_aarch64_eg_configs +++ b/example/freertos_feature/task_notify/configs/e2000d_aarch64_eg_configs @@ -121,6 +121,12 @@ CONFIG_OUTPUT_BINARY=y CONFIG_FREERTOS_USE_UART=y # end of Freertos Uart Drivers +# +# Freertos Pwm Drivers +# +# CONFIG_FREERTOS_USE_PWM is not set +# end of Freertos Pwm Drivers + # # Freertos Qspi Drivers # @@ -138,6 +144,31 @@ CONFIG_FREERTOS_USE_UART=y # # CONFIG_FREERTOS_USE_XMAC is not set # end of Freertos Eth Drivers + +# +# Freertos Gpio Drivers +# +# CONFIG_FREERTOS_USE_GPIO is not set +# end of Freertos Gpio Drivers + +# +# Freertos Spim Drivers +# +# CONFIG_FREERTOS_USE_FSPIM is not set +# end of Freertos Spim Drivers + +# +# Freertos DMA Drivers +# +# CONFIG_FREERTOS_USE_FDDMA is not set +# CONFIG_FREERTOS_USE_FGDMA is not set +# end of Freertos DMA Drivers + +# +# Freertos MMC Drivers +# +# CONFIG_FREERTOS_USE_FSDIO is not set +# end of Freertos MMC Drivers # end of Component Configuration # @@ -159,4 +190,7 @@ CONFIG_DEFAULT_LETTER_SHELL_USE_UART1=y # CONFIG_DEFAULT_LETTER_SHELL_USE_UART0 is not set # CONFIG_DEFAULT_LETTER_SHELL_USE_UART2 is not set # end of Letter Shell Configuration + +CONFIG_USE_TLSF=y +# CONFIG_USE_SDMMC_CMD is not set # end of FreeRTOS Setting diff --git a/example/freertos_feature/task_notify/configs/ft2004_aarch32_eg_configs b/example/freertos_feature/task_notify/configs/ft2004_aarch32_eg_configs index 102dd6f4..f474b23c 100644 --- a/example/freertos_feature/task_notify/configs/ft2004_aarch32_eg_configs +++ b/example/freertos_feature/task_notify/configs/ft2004_aarch32_eg_configs @@ -125,6 +125,12 @@ CONFIG_OUTPUT_BINARY=y CONFIG_FREERTOS_USE_UART=y # end of Freertos Uart Drivers +# +# Freertos Pwm Drivers +# +# CONFIG_FREERTOS_USE_PWM is not set +# end of Freertos Pwm Drivers + # # Freertos Qspi Drivers # @@ -142,6 +148,31 @@ CONFIG_FREERTOS_USE_UART=y # # CONFIG_FREERTOS_USE_XMAC is not set # end of Freertos Eth Drivers + +# +# Freertos Gpio Drivers +# +# CONFIG_FREERTOS_USE_GPIO is not set +# end of Freertos Gpio Drivers + +# +# Freertos Spim Drivers +# +# CONFIG_FREERTOS_USE_FSPIM is not set +# end of Freertos Spim Drivers + +# +# Freertos DMA Drivers +# +# CONFIG_FREERTOS_USE_FDDMA is not set +# CONFIG_FREERTOS_USE_FGDMA is not set +# end of Freertos DMA Drivers + +# +# Freertos MMC Drivers +# +# CONFIG_FREERTOS_USE_FSDIO is not set +# end of Freertos MMC Drivers # end of Component Configuration # @@ -163,4 +194,7 @@ CONFIG_DEFAULT_LETTER_SHELL_USE_UART1=y # CONFIG_DEFAULT_LETTER_SHELL_USE_UART0 is not set # CONFIG_DEFAULT_LETTER_SHELL_USE_UART2 is not set # end of Letter Shell Configuration + +CONFIG_USE_TLSF=y +# CONFIG_USE_SDMMC_CMD is not set # end of FreeRTOS Setting diff --git a/example/freertos_feature/task_notify/configs/ft2004_aarch64_eg_configs b/example/freertos_feature/task_notify/configs/ft2004_aarch64_eg_configs index 08416dc4..0da5a72d 100644 --- a/example/freertos_feature/task_notify/configs/ft2004_aarch64_eg_configs +++ b/example/freertos_feature/task_notify/configs/ft2004_aarch64_eg_configs @@ -121,6 +121,12 @@ CONFIG_OUTPUT_BINARY=y CONFIG_FREERTOS_USE_UART=y # end of Freertos Uart Drivers +# +# Freertos Pwm Drivers +# +# CONFIG_FREERTOS_USE_PWM is not set +# end of Freertos Pwm Drivers + # # Freertos Qspi Drivers # @@ -138,6 +144,31 @@ CONFIG_FREERTOS_USE_UART=y # # CONFIG_FREERTOS_USE_XMAC is not set # end of Freertos Eth Drivers + +# +# Freertos Gpio Drivers +# +# CONFIG_FREERTOS_USE_GPIO is not set +# end of Freertos Gpio Drivers + +# +# Freertos Spim Drivers +# +# CONFIG_FREERTOS_USE_FSPIM is not set +# end of Freertos Spim Drivers + +# +# Freertos DMA Drivers +# +# CONFIG_FREERTOS_USE_FDDMA is not set +# CONFIG_FREERTOS_USE_FGDMA is not set +# end of Freertos DMA Drivers + +# +# Freertos MMC Drivers +# +# CONFIG_FREERTOS_USE_FSDIO is not set +# end of Freertos MMC Drivers # end of Component Configuration # @@ -159,4 +190,7 @@ CONFIG_DEFAULT_LETTER_SHELL_USE_UART1=y # CONFIG_DEFAULT_LETTER_SHELL_USE_UART0 is not set # CONFIG_DEFAULT_LETTER_SHELL_USE_UART2 is not set # end of Letter Shell Configuration + +CONFIG_USE_TLSF=y +# CONFIG_USE_SDMMC_CMD is not set # end of FreeRTOS Setting diff --git a/example/freertos_feature/task_notify/sdkconfig b/example/freertos_feature/task_notify/sdkconfig index 51eac424..0ffacca0 100644 --- a/example/freertos_feature/task_notify/sdkconfig +++ b/example/freertos_feature/task_notify/sdkconfig @@ -121,6 +121,12 @@ CONFIG_OUTPUT_BINARY=y CONFIG_FREERTOS_USE_UART=y # end of Freertos Uart Drivers +# +# Freertos Pwm Drivers +# +# CONFIG_FREERTOS_USE_PWM is not set +# end of Freertos Pwm Drivers + # # Freertos Qspi Drivers # @@ -138,6 +144,31 @@ CONFIG_FREERTOS_USE_UART=y # # CONFIG_FREERTOS_USE_XMAC is not set # end of Freertos Eth Drivers + +# +# Freertos Gpio Drivers +# +# CONFIG_FREERTOS_USE_GPIO is not set +# end of Freertos Gpio Drivers + +# +# Freertos Spim Drivers +# +# CONFIG_FREERTOS_USE_FSPIM is not set +# end of Freertos Spim Drivers + +# +# Freertos DMA Drivers +# +# CONFIG_FREERTOS_USE_FDDMA is not set +# CONFIG_FREERTOS_USE_FGDMA is not set +# end of Freertos DMA Drivers + +# +# Freertos MMC Drivers +# +# CONFIG_FREERTOS_USE_FSDIO is not set +# end of Freertos MMC Drivers # end of Component Configuration # @@ -159,4 +190,7 @@ CONFIG_DEFAULT_LETTER_SHELL_USE_UART1=y # CONFIG_DEFAULT_LETTER_SHELL_USE_UART0 is not set # CONFIG_DEFAULT_LETTER_SHELL_USE_UART2 is not set # end of Letter Shell Configuration + +CONFIG_USE_TLSF=y +# CONFIG_USE_SDMMC_CMD is not set # end of FreeRTOS Setting diff --git a/example/freertos_feature/task_notify/sdkconfig.h b/example/freertos_feature/task_notify/sdkconfig.h index 89c318db..8295a2af 100644 --- a/example/freertos_feature/task_notify/sdkconfig.h +++ b/example/freertos_feature/task_notify/sdkconfig.h @@ -109,6 +109,11 @@ #define CONFIG_FREERTOS_USE_UART /* end of Freertos Uart Drivers */ +/* Freertos Pwm Drivers */ + +/* CONFIG_FREERTOS_USE_PWM is not set */ +/* end of Freertos Pwm Drivers */ + /* Freertos Qspi Drivers */ /* CONFIG_FREERTOS_USE_QSPI is not set */ @@ -123,6 +128,27 @@ /* CONFIG_FREERTOS_USE_XMAC is not set */ /* end of Freertos Eth Drivers */ + +/* Freertos Gpio Drivers */ + +/* CONFIG_FREERTOS_USE_GPIO is not set */ +/* end of Freertos Gpio Drivers */ + +/* Freertos Spim Drivers */ + +/* CONFIG_FREERTOS_USE_FSPIM is not set */ +/* end of Freertos Spim Drivers */ + +/* Freertos DMA Drivers */ + +/* CONFIG_FREERTOS_USE_FDDMA is not set */ +/* CONFIG_FREERTOS_USE_FGDMA is not set */ +/* end of Freertos DMA Drivers */ + +/* Freertos MMC Drivers */ + +/* CONFIG_FREERTOS_USE_FSDIO is not set */ +/* end of Freertos MMC Drivers */ /* end of Component Configuration */ /* FreeRTOS Setting */ @@ -142,6 +168,8 @@ /* CONFIG_DEFAULT_LETTER_SHELL_USE_UART0 is not set */ /* CONFIG_DEFAULT_LETTER_SHELL_USE_UART2 is not set */ /* end of Letter Shell Configuration */ +#define CONFIG_USE_TLSF +/* CONFIG_USE_SDMMC_CMD is not set */ /* end of FreeRTOS Setting */ #endif diff --git a/example/network/gmac_lwip_test/configs/d2000_aarch32_eg_configs b/example/network/gmac_lwip_test/configs/d2000_aarch32_eg_configs index 6f64e5a4..52bb667b 100644 --- a/example/network/gmac_lwip_test/configs/d2000_aarch32_eg_configs +++ b/example/network/gmac_lwip_test/configs/d2000_aarch32_eg_configs @@ -141,6 +141,12 @@ CONFIG_UNDEF_STACK_SIZE=0x1000 CONFIG_FREERTOS_USE_UART=y # end of Freertos Uart Drivers +# +# Freertos Pwm Drivers +# +# CONFIG_FREERTOS_USE_PWM is not set +# end of Freertos Pwm Drivers + # # Freertos Qspi Drivers # @@ -158,6 +164,31 @@ CONFIG_FREERTOS_USE_UART=y # # CONFIG_FREERTOS_USE_XMAC is not set # end of Freertos Eth Drivers + +# +# Freertos Gpio Drivers +# +# CONFIG_FREERTOS_USE_GPIO is not set +# end of Freertos Gpio Drivers + +# +# Freertos Spim Drivers +# +# CONFIG_FREERTOS_USE_FSPIM is not set +# end of Freertos Spim Drivers + +# +# Freertos DMA Drivers +# +# CONFIG_FREERTOS_USE_FDDMA is not set +# CONFIG_FREERTOS_USE_FGDMA is not set +# end of Freertos DMA Drivers + +# +# Freertos MMC Drivers +# +# CONFIG_FREERTOS_USE_FSDIO is not set +# end of Freertos MMC Drivers # end of Component Configuration # @@ -187,4 +218,7 @@ CONFIG_DEFAULT_LETTER_SHELL_USE_UART1=y # CONFIG_DEFAULT_LETTER_SHELL_USE_UART0 is not set # CONFIG_DEFAULT_LETTER_SHELL_USE_UART2 is not set # end of Letter Shell Configuration + +CONFIG_USE_TLSF=y +# CONFIG_USE_SDMMC_CMD is not set # end of FreeRTOS Setting diff --git a/example/network/gmac_lwip_test/configs/d2000_aarch64_eg_configs b/example/network/gmac_lwip_test/configs/d2000_aarch64_eg_configs index a2aa05f4..fffef0dd 100644 --- a/example/network/gmac_lwip_test/configs/d2000_aarch64_eg_configs +++ b/example/network/gmac_lwip_test/configs/d2000_aarch64_eg_configs @@ -137,6 +137,12 @@ CONFIG_FPU_STACK_SIZE=0x1000 CONFIG_FREERTOS_USE_UART=y # end of Freertos Uart Drivers +# +# Freertos Pwm Drivers +# +# CONFIG_FREERTOS_USE_PWM is not set +# end of Freertos Pwm Drivers + # # Freertos Qspi Drivers # @@ -154,6 +160,31 @@ CONFIG_FREERTOS_USE_UART=y # # CONFIG_FREERTOS_USE_XMAC is not set # end of Freertos Eth Drivers + +# +# Freertos Gpio Drivers +# +# CONFIG_FREERTOS_USE_GPIO is not set +# end of Freertos Gpio Drivers + +# +# Freertos Spim Drivers +# +# CONFIG_FREERTOS_USE_FSPIM is not set +# end of Freertos Spim Drivers + +# +# Freertos DMA Drivers +# +# CONFIG_FREERTOS_USE_FDDMA is not set +# CONFIG_FREERTOS_USE_FGDMA is not set +# end of Freertos DMA Drivers + +# +# Freertos MMC Drivers +# +# CONFIG_FREERTOS_USE_FSDIO is not set +# end of Freertos MMC Drivers # end of Component Configuration # @@ -183,4 +214,7 @@ CONFIG_DEFAULT_LETTER_SHELL_USE_UART1=y # CONFIG_DEFAULT_LETTER_SHELL_USE_UART0 is not set # CONFIG_DEFAULT_LETTER_SHELL_USE_UART2 is not set # end of Letter Shell Configuration + +CONFIG_USE_TLSF=y +# CONFIG_USE_SDMMC_CMD is not set # end of FreeRTOS Setting diff --git a/example/network/gmac_lwip_test/configs/ft2004_aarch32_eg_configs b/example/network/gmac_lwip_test/configs/ft2004_aarch32_eg_configs index e41ccc4c..c86b6290 100644 --- a/example/network/gmac_lwip_test/configs/ft2004_aarch32_eg_configs +++ b/example/network/gmac_lwip_test/configs/ft2004_aarch32_eg_configs @@ -141,6 +141,12 @@ CONFIG_UNDEF_STACK_SIZE=0x1000 CONFIG_FREERTOS_USE_UART=y # end of Freertos Uart Drivers +# +# Freertos Pwm Drivers +# +# CONFIG_FREERTOS_USE_PWM is not set +# end of Freertos Pwm Drivers + # # Freertos Qspi Drivers # @@ -158,6 +164,31 @@ CONFIG_FREERTOS_USE_UART=y # # CONFIG_FREERTOS_USE_XMAC is not set # end of Freertos Eth Drivers + +# +# Freertos Gpio Drivers +# +# CONFIG_FREERTOS_USE_GPIO is not set +# end of Freertos Gpio Drivers + +# +# Freertos Spim Drivers +# +# CONFIG_FREERTOS_USE_FSPIM is not set +# end of Freertos Spim Drivers + +# +# Freertos DMA Drivers +# +# CONFIG_FREERTOS_USE_FDDMA is not set +# CONFIG_FREERTOS_USE_FGDMA is not set +# end of Freertos DMA Drivers + +# +# Freertos MMC Drivers +# +# CONFIG_FREERTOS_USE_FSDIO is not set +# end of Freertos MMC Drivers # end of Component Configuration # @@ -187,4 +218,7 @@ CONFIG_DEFAULT_LETTER_SHELL_USE_UART1=y # CONFIG_DEFAULT_LETTER_SHELL_USE_UART0 is not set # CONFIG_DEFAULT_LETTER_SHELL_USE_UART2 is not set # end of Letter Shell Configuration + +CONFIG_USE_TLSF=y +# CONFIG_USE_SDMMC_CMD is not set # end of FreeRTOS Setting diff --git a/example/network/gmac_lwip_test/configs/ft2004_aarch64_eg_configs b/example/network/gmac_lwip_test/configs/ft2004_aarch64_eg_configs index c316a1db..1a0a18cb 100644 --- a/example/network/gmac_lwip_test/configs/ft2004_aarch64_eg_configs +++ b/example/network/gmac_lwip_test/configs/ft2004_aarch64_eg_configs @@ -137,6 +137,12 @@ CONFIG_FPU_STACK_SIZE=0x1000 CONFIG_FREERTOS_USE_UART=y # end of Freertos Uart Drivers +# +# Freertos Pwm Drivers +# +# CONFIG_FREERTOS_USE_PWM is not set +# end of Freertos Pwm Drivers + # # Freertos Qspi Drivers # @@ -154,6 +160,31 @@ CONFIG_FREERTOS_USE_UART=y # # CONFIG_FREERTOS_USE_XMAC is not set # end of Freertos Eth Drivers + +# +# Freertos Gpio Drivers +# +# CONFIG_FREERTOS_USE_GPIO is not set +# end of Freertos Gpio Drivers + +# +# Freertos Spim Drivers +# +# CONFIG_FREERTOS_USE_FSPIM is not set +# end of Freertos Spim Drivers + +# +# Freertos DMA Drivers +# +# CONFIG_FREERTOS_USE_FDDMA is not set +# CONFIG_FREERTOS_USE_FGDMA is not set +# end of Freertos DMA Drivers + +# +# Freertos MMC Drivers +# +# CONFIG_FREERTOS_USE_FSDIO is not set +# end of Freertos MMC Drivers # end of Component Configuration # @@ -183,4 +214,7 @@ CONFIG_DEFAULT_LETTER_SHELL_USE_UART1=y # CONFIG_DEFAULT_LETTER_SHELL_USE_UART0 is not set # CONFIG_DEFAULT_LETTER_SHELL_USE_UART2 is not set # end of Letter Shell Configuration + +CONFIG_USE_TLSF=y +# CONFIG_USE_SDMMC_CMD is not set # end of FreeRTOS Setting diff --git a/example/network/gmac_lwip_test/sdkconfig b/example/network/gmac_lwip_test/sdkconfig index a2aa05f4..fffef0dd 100644 --- a/example/network/gmac_lwip_test/sdkconfig +++ b/example/network/gmac_lwip_test/sdkconfig @@ -137,6 +137,12 @@ CONFIG_FPU_STACK_SIZE=0x1000 CONFIG_FREERTOS_USE_UART=y # end of Freertos Uart Drivers +# +# Freertos Pwm Drivers +# +# CONFIG_FREERTOS_USE_PWM is not set +# end of Freertos Pwm Drivers + # # Freertos Qspi Drivers # @@ -154,6 +160,31 @@ CONFIG_FREERTOS_USE_UART=y # # CONFIG_FREERTOS_USE_XMAC is not set # end of Freertos Eth Drivers + +# +# Freertos Gpio Drivers +# +# CONFIG_FREERTOS_USE_GPIO is not set +# end of Freertos Gpio Drivers + +# +# Freertos Spim Drivers +# +# CONFIG_FREERTOS_USE_FSPIM is not set +# end of Freertos Spim Drivers + +# +# Freertos DMA Drivers +# +# CONFIG_FREERTOS_USE_FDDMA is not set +# CONFIG_FREERTOS_USE_FGDMA is not set +# end of Freertos DMA Drivers + +# +# Freertos MMC Drivers +# +# CONFIG_FREERTOS_USE_FSDIO is not set +# end of Freertos MMC Drivers # end of Component Configuration # @@ -183,4 +214,7 @@ CONFIG_DEFAULT_LETTER_SHELL_USE_UART1=y # CONFIG_DEFAULT_LETTER_SHELL_USE_UART0 is not set # CONFIG_DEFAULT_LETTER_SHELL_USE_UART2 is not set # end of Letter Shell Configuration + +CONFIG_USE_TLSF=y +# CONFIG_USE_SDMMC_CMD is not set # end of FreeRTOS Setting diff --git a/example/network/gmac_lwip_test/sdkconfig.h b/example/network/gmac_lwip_test/sdkconfig.h index 149ee567..bc82de2e 100644 --- a/example/network/gmac_lwip_test/sdkconfig.h +++ b/example/network/gmac_lwip_test/sdkconfig.h @@ -123,6 +123,11 @@ #define CONFIG_FREERTOS_USE_UART /* end of Freertos Uart Drivers */ +/* Freertos Pwm Drivers */ + +/* CONFIG_FREERTOS_USE_PWM is not set */ +/* end of Freertos Pwm Drivers */ + /* Freertos Qspi Drivers */ /* CONFIG_FREERTOS_USE_QSPI is not set */ @@ -137,6 +142,27 @@ /* CONFIG_FREERTOS_USE_XMAC is not set */ /* end of Freertos Eth Drivers */ + +/* Freertos Gpio Drivers */ + +/* CONFIG_FREERTOS_USE_GPIO is not set */ +/* end of Freertos Gpio Drivers */ + +/* Freertos Spim Drivers */ + +/* CONFIG_FREERTOS_USE_FSPIM is not set */ +/* end of Freertos Spim Drivers */ + +/* Freertos DMA Drivers */ + +/* CONFIG_FREERTOS_USE_FDDMA is not set */ +/* CONFIG_FREERTOS_USE_FGDMA is not set */ +/* end of Freertos DMA Drivers */ + +/* Freertos MMC Drivers */ + +/* CONFIG_FREERTOS_USE_FSDIO is not set */ +/* end of Freertos MMC Drivers */ /* end of Component Configuration */ /* FreeRTOS Setting */ @@ -162,6 +188,8 @@ /* CONFIG_DEFAULT_LETTER_SHELL_USE_UART0 is not set */ /* CONFIG_DEFAULT_LETTER_SHELL_USE_UART2 is not set */ /* end of Letter Shell Configuration */ +#define CONFIG_USE_TLSF +/* CONFIG_USE_SDMMC_CMD is not set */ /* end of FreeRTOS Setting */ #endif diff --git a/example/network/xmac_lwip_test/configs/e2000d_aarch32_eg_configs b/example/network/xmac_lwip_test/configs/e2000d_aarch32_eg_configs index b1aa8af2..02d98adf 100644 --- a/example/network/xmac_lwip_test/configs/e2000d_aarch32_eg_configs +++ b/example/network/xmac_lwip_test/configs/e2000d_aarch32_eg_configs @@ -149,6 +149,12 @@ CONFIG_OUTPUT_BINARY=y CONFIG_FREERTOS_USE_UART=y # end of Freertos Uart Drivers +# +# Freertos Pwm Drivers +# +# CONFIG_FREERTOS_USE_PWM is not set +# end of Freertos Pwm Drivers + # # Freertos Qspi Drivers # @@ -166,6 +172,31 @@ CONFIG_FREERTOS_USE_UART=y # CONFIG_FREERTOS_USE_XMAC=y # end of Freertos Eth Drivers + +# +# Freertos Gpio Drivers +# +# CONFIG_FREERTOS_USE_GPIO is not set +# end of Freertos Gpio Drivers + +# +# Freertos Spim Drivers +# +# CONFIG_FREERTOS_USE_FSPIM is not set +# end of Freertos Spim Drivers + +# +# Freertos DMA Drivers +# +# CONFIG_FREERTOS_USE_FDDMA is not set +# CONFIG_FREERTOS_USE_FGDMA is not set +# end of Freertos DMA Drivers + +# +# Freertos MMC Drivers +# +# CONFIG_FREERTOS_USE_FSDIO is not set +# end of Freertos MMC Drivers # end of Component Configuration # @@ -195,4 +226,7 @@ CONFIG_DEFAULT_LETTER_SHELL_USE_UART1=y # CONFIG_DEFAULT_LETTER_SHELL_USE_UART0 is not set # CONFIG_DEFAULT_LETTER_SHELL_USE_UART2 is not set # end of Letter Shell Configuration + +CONFIG_USE_TLSF=y +# CONFIG_USE_SDMMC_CMD is not set # end of FreeRTOS Setting diff --git a/example/network/xmac_lwip_test/configs/e2000d_aarch64_eg_configs b/example/network/xmac_lwip_test/configs/e2000d_aarch64_eg_configs index 7dfc2778..8b8f8b6e 100644 --- a/example/network/xmac_lwip_test/configs/e2000d_aarch64_eg_configs +++ b/example/network/xmac_lwip_test/configs/e2000d_aarch64_eg_configs @@ -145,6 +145,12 @@ CONFIG_OUTPUT_BINARY=y CONFIG_FREERTOS_USE_UART=y # end of Freertos Uart Drivers +# +# Freertos Pwm Drivers +# +# CONFIG_FREERTOS_USE_PWM is not set +# end of Freertos Pwm Drivers + # # Freertos Qspi Drivers # @@ -162,6 +168,31 @@ CONFIG_FREERTOS_USE_UART=y # CONFIG_FREERTOS_USE_XMAC=y # end of Freertos Eth Drivers + +# +# Freertos Gpio Drivers +# +# CONFIG_FREERTOS_USE_GPIO is not set +# end of Freertos Gpio Drivers + +# +# Freertos Spim Drivers +# +# CONFIG_FREERTOS_USE_FSPIM is not set +# end of Freertos Spim Drivers + +# +# Freertos DMA Drivers +# +# CONFIG_FREERTOS_USE_FDDMA is not set +# CONFIG_FREERTOS_USE_FGDMA is not set +# end of Freertos DMA Drivers + +# +# Freertos MMC Drivers +# +# CONFIG_FREERTOS_USE_FSDIO is not set +# end of Freertos MMC Drivers # end of Component Configuration # @@ -191,4 +222,7 @@ CONFIG_DEFAULT_LETTER_SHELL_USE_UART1=y # CONFIG_DEFAULT_LETTER_SHELL_USE_UART0 is not set # CONFIG_DEFAULT_LETTER_SHELL_USE_UART2 is not set # end of Letter Shell Configuration + +CONFIG_USE_TLSF=y +# CONFIG_USE_SDMMC_CMD is not set # end of FreeRTOS Setting diff --git a/example/network/xmac_lwip_test/sdkconfig b/example/network/xmac_lwip_test/sdkconfig index 7dfc2778..8b8f8b6e 100644 --- a/example/network/xmac_lwip_test/sdkconfig +++ b/example/network/xmac_lwip_test/sdkconfig @@ -145,6 +145,12 @@ CONFIG_OUTPUT_BINARY=y CONFIG_FREERTOS_USE_UART=y # end of Freertos Uart Drivers +# +# Freertos Pwm Drivers +# +# CONFIG_FREERTOS_USE_PWM is not set +# end of Freertos Pwm Drivers + # # Freertos Qspi Drivers # @@ -162,6 +168,31 @@ CONFIG_FREERTOS_USE_UART=y # CONFIG_FREERTOS_USE_XMAC=y # end of Freertos Eth Drivers + +# +# Freertos Gpio Drivers +# +# CONFIG_FREERTOS_USE_GPIO is not set +# end of Freertos Gpio Drivers + +# +# Freertos Spim Drivers +# +# CONFIG_FREERTOS_USE_FSPIM is not set +# end of Freertos Spim Drivers + +# +# Freertos DMA Drivers +# +# CONFIG_FREERTOS_USE_FDDMA is not set +# CONFIG_FREERTOS_USE_FGDMA is not set +# end of Freertos DMA Drivers + +# +# Freertos MMC Drivers +# +# CONFIG_FREERTOS_USE_FSDIO is not set +# end of Freertos MMC Drivers # end of Component Configuration # @@ -191,4 +222,7 @@ CONFIG_DEFAULT_LETTER_SHELL_USE_UART1=y # CONFIG_DEFAULT_LETTER_SHELL_USE_UART0 is not set # CONFIG_DEFAULT_LETTER_SHELL_USE_UART2 is not set # end of Letter Shell Configuration + +CONFIG_USE_TLSF=y +# CONFIG_USE_SDMMC_CMD is not set # end of FreeRTOS Setting diff --git a/example/network/xmac_lwip_test/sdkconfig.h b/example/network/xmac_lwip_test/sdkconfig.h index 55bf209e..6c915b60 100644 --- a/example/network/xmac_lwip_test/sdkconfig.h +++ b/example/network/xmac_lwip_test/sdkconfig.h @@ -130,6 +130,11 @@ #define CONFIG_FREERTOS_USE_UART /* end of Freertos Uart Drivers */ +/* Freertos Pwm Drivers */ + +/* CONFIG_FREERTOS_USE_PWM is not set */ +/* end of Freertos Pwm Drivers */ + /* Freertos Qspi Drivers */ /* CONFIG_FREERTOS_USE_QSPI is not set */ @@ -144,6 +149,27 @@ #define CONFIG_FREERTOS_USE_XMAC /* end of Freertos Eth Drivers */ + +/* Freertos Gpio Drivers */ + +/* CONFIG_FREERTOS_USE_GPIO is not set */ +/* end of Freertos Gpio Drivers */ + +/* Freertos Spim Drivers */ + +/* CONFIG_FREERTOS_USE_FSPIM is not set */ +/* end of Freertos Spim Drivers */ + +/* Freertos DMA Drivers */ + +/* CONFIG_FREERTOS_USE_FDDMA is not set */ +/* CONFIG_FREERTOS_USE_FGDMA is not set */ +/* end of Freertos DMA Drivers */ + +/* Freertos MMC Drivers */ + +/* CONFIG_FREERTOS_USE_FSDIO is not set */ +/* end of Freertos MMC Drivers */ /* end of Component Configuration */ /* FreeRTOS Setting */ @@ -169,6 +195,8 @@ /* CONFIG_DEFAULT_LETTER_SHELL_USE_UART0 is not set */ /* CONFIG_DEFAULT_LETTER_SHELL_USE_UART2 is not set */ /* end of Letter Shell Configuration */ +#define CONFIG_USE_TLSF +/* CONFIG_USE_SDMMC_CMD is not set */ /* end of FreeRTOS Setting */ #endif diff --git a/example/peripheral/dma/ddma/Kconfig b/example/peripheral/dma/ddma/Kconfig new file mode 100644 index 00000000..0277fb85 --- /dev/null +++ b/example/peripheral/dma/ddma/Kconfig @@ -0,0 +1,19 @@ +# +# For a description of the syntax of this configuration file, +# see tools/kconfiglib/kconfig-language.txt. +# + + +mainmenu "Phytium Freertos Configuration" + + menu "Freertos Configuration" + config TARGET_NAME + string "Build Target Name" + default "freertos" + help + Build Target name for the demo + +endmenu + +source "$(FREERTOS_SDK_ROOT)/Kconfig" + diff --git a/example/peripheral/dma/ddma/README.md b/example/peripheral/dma/ddma/README.md new file mode 100644 index 00000000..fcdbd25e --- /dev/null +++ b/example/peripheral/dma/ddma/README.md @@ -0,0 +1,119 @@ +# DDMA-SPI回环测试 + +## 1. 例程介绍 + +DDMA (Device Direct Memory Access) 用于配合外设,将数据从一个内存地址复制到外设Fifo进行发送,CPU 只初始化和发起这个发送传输过程,传输动作本身是由 DDMA 控制器来实行和完成, 这样的操作让 CPU 不被数据搬运工作拖延,可以被重新调度去处理其它工作。 + +本例程通过 SPI 主设备驱动和 DDMA 控制器驱动,完成 SPI 回环数据搬运。 + +## 2. 如何使用例程 + +本例程需要用到 +- Phytium开发板(E2000) +- [Phytium FreeRTOS SDK](https://gitee.com/phytium_embedded/phytium-free-rtos-sdk) +- [Phytium Standalone SDK](https://gitee.com/phytium_embedded/phytium-standalone-sdk) + +### 2.1 硬件配置方法 + +本例程支持的硬件平台包括 + +- E2000 + +对应的配置项是, + +- CONFIG_TARGET_E2000 + +本例程在 E2000-A测试板和B测试板完成测试 + +### 2.2 SDK配置方法 + +本例程需要, + +- 使能Shell +- 使能SPI +- 使能DDMA + +对应的配置项是, + +- CONFIG_USE_LETTER_SHELL +- CONFIG_USE_FSPIM +- CONFIG_ENABLE_FDDMA + +本例子已经提供好具体的编译指令,以下进行介绍: +- make 将目录下的工程进行编译 +- make clean 将目录下的工程进行清理 +- make boot 将目录下的工程进行编译,并将生成的elf 复制到目标地址 +- make load_e2000q_aarch64 将预设64bit e2000q 下的配置加载至工程中 +- make load_e2000q_aarch32 将预设32bit e2000q 下的配置加载至工程中 +- make menuconfig 配置目录下的参数变量 +- make backup_kconfig 将目录下的sdkconfig 备份到./configs下 + +具体使用方法为: +- 在当前目录下 +- 执行以上指令 + +### 2.3 构建和下载 + +#### 2.3.1 构建过程 + +- 在host侧完成配置 +> 配置成 e2000q,对于其它平台,使用对于的默认配置,如, + +- 选择目标平台 +``` +make load_e2000q_aarch64 +``` + +- 选择例程需要的配置 +``` +make menuconfig +``` + +- 进行编译 +``` +make +``` + +- 将编译出的镜像放置到tftp目录下 +``` +make boot +``` + +#### 2.3.2 下载过程 + +- host侧设置重启host侧tftp服务器 +``` +sudo service tftpd-hpa restart +``` + +- 开发板侧使用bootelf命令跳转 +``` +setenv ipaddr 192.168.4.20 +setenv serverip 192.168.4.50 +setenv gatewayip 192.168.4.1 +tftpboot 0x90100000 freertos.elf +bootelf -p 0x90100000 +``` + +### 2.4 输出与实验现象 + +- 系统进入后,创建任务初始化 SPI 和 DDMA,进行多次数据搬运 + +``` +ddma spi-loopback +``` + +![loopback](./figs/loopback.png) + + +## 3. 如何解决问题 + +- Q: SPI 回环如何连接引脚 +- A: 对于有 SPI 引脚接出的开发板, 使用外回环测试, 短接 SPI 的 TX 和 RX 引脚,在ddma_spi_loopback.c中将spim_config 的 inner_loopback 设置为 FALSE。对于没有 SPI 引脚的开发板,使用内回环测试,将 inner_loopback 设置为 TRUE,不需要连接 TX 和 RX 引脚 + + +## 4. 修改历史记录 + + + + diff --git a/example/peripheral/dma/ddma/configs/e2000d_aarch32_eg_configs b/example/peripheral/dma/ddma/configs/e2000d_aarch32_eg_configs new file mode 100644 index 00000000..6e8a644f --- /dev/null +++ b/example/peripheral/dma/ddma/configs/e2000d_aarch32_eg_configs @@ -0,0 +1,197 @@ + +# +# Freertos Configuration +# +CONFIG_TARGET_NAME="e2000d_freertos_a32" +# end of Freertos Configuration + +# +# Standalone Setting +# +CONFIG_USE_FREERTOS=y + +# +# Arch Configuration +# +CONFIG_TARGET_ARMV8_AARCH32=y +# CONFIG_TARGET_ARMV8_AARCH64 is not set +CONFIG_USE_CACHE=y +CONFIG_USE_MMU=y +CONFIG_USE_SYS_TICK=y +CONFIG_USE_AARCH64_L1_TO_AARCH32=y +# end of Arch Configuration + +# +# Board Configuration +# +# CONFIG_TARGET_F2000_4 is not set +# CONFIG_TARGET_D2000 is not set +# CONFIG_TARGET_E2000Q is not set +CONFIG_TARGET_E2000D=y +# CONFIG_TARGET_E2000S is not set +CONFIG_TARGET_E2000=y +CONFIG_DEFAULT_DEBUG_PRINT_UART1=y +# CONFIG_DEFAULT_DEBUG_PRINT_UART0 is not set +# CONFIG_DEFAULT_DEBUG_PRINT_UART2 is not set +# end of Board Configuration + +# +# Components Configuration +# +CONFIG_USE_SPI=y +CONFIG_USE_FSPIM=y +# CONFIG_USE_QSPI is not set +CONFIG_USE_GIC=y +CONFIG_ENABLE_GICV3=y +CONFIG_USE_SERIAL=y + +# +# Usart Configuration +# +CONFIG_ENABLE_Pl011_UART=y +# end of Usart Configuration + +# CONFIG_USE_GPIO is not set +# CONFIG_USE_ETH is not set +# CONFIG_USE_CAN is not set +# CONFIG_USE_I2C is not set +# CONFIG_USE_TIMER is not set +# CONFIG_USE_MIO is not set +# CONFIG_USE_SDMMC is not set +# CONFIG_USE_PCIE is not set +# CONFIG_USE_WDT is not set +CONFIG_USE_DMA=y +# CONFIG_ENABLE_FGDMA is not set +CONFIG_ENABLE_FDDMA=y +# CONFIG_USE_NAND is not set +# CONFIG_USE_RTC is not set +# CONFIG_USE_SATA is not set +# CONFIG_USE_USB is not set +# CONFIG_USE_ADC is not set +# CONFIG_USE_PWM is not set +# CONFIG_USE_IPC is not set +# end of Components Configuration + +CONFIG_USE_NEW_LIBC=y +# end of Standalone Setting + +# +# Building Option +# +# CONFIG_LOG_VERBOS is not set +# CONFIG_LOG_DEBUG is not set +# CONFIG_LOG_INFO is not set +# CONFIG_LOG_WARN is not set +CONFIG_LOG_ERROR=y +# CONFIG_LOG_NONE is not set +CONFIG_USE_DEFAULT_INTERRUPT_CONFIG=y +CONFIG_INTERRUPT_ROLE_MASTER=y +# CONFIG_INTERRUPT_ROLE_SLAVE is not set +# CONFIG_LOG_EXTRA_INFO is not set +# CONFIG_BOOTUP_DEBUG_PRINTS is not set + +# +# Linker Options +# +CONFIG_AARCH32_RAM_LD=y +# CONFIG_AARCH64_RAM_LD is not set +# CONFIG_USER_DEFINED_LD is not set +CONFIG_LINK_SCRIPT_ROM=y +CONFIG_ROM_START_UP_ADDR=0x80100000 +CONFIG_ROM_SIZE_MB=1 +CONFIG_LINK_SCRIPT_RAM=y +CONFIG_RAM_START_UP_ADDR=0x81000000 +CONFIG_RAM_SIZE_MB=64 +CONFIG_HEAP_SIZE=1 +CONFIG_SVC_STACK_SIZE=0x1000 +CONFIG_SYS_STACK_SIZE=0x1000 +CONFIG_IRQ_STACK_SIZE=0x1000 +CONFIG_ABORT_STACK_SIZE=0x1000 +CONFIG_FIQ_STACK_SIZE=0x1000 +CONFIG_UNDEF_STACK_SIZE=0x1000 +# end of Linker Options + +# +# Compiler Options +# +CONFIG_OUTPUT_BINARY=y +# end of Compiler Options +# end of Building Option + +# +# Component Configuration +# + +# +# Freertos Uart Drivers +# +CONFIG_FREERTOS_USE_UART=y +# end of Freertos Uart Drivers + +# +# Freertos Qspi Drivers +# +# CONFIG_FREERTOS_USE_QSPI is not set +# end of Freertos Qspi Drivers + +# +# Freertos Wdt Drivers +# +# CONFIG_FREERTOS_USE_WDT is not set +# end of Freertos Wdt Drivers + +# +# Freertos Eth Drivers +# +# CONFIG_FREERTOS_USE_XMAC is not set +# end of Freertos Eth Drivers + +# +# Freertos Gpio Drivers +# +# CONFIG_FREERTOS_USE_GPIO is not set +# end of Freertos Gpio Drivers + +# +# Freertos Spim Drivers +# +CONFIG_FREERTOS_USE_FSPIM=y +# end of Freertos Spim Drivers + +# +# Freertos DMA Drivers +# +CONFIG_FREERTOS_USE_FDDMA=y +# CONFIG_FREERTOS_USE_FGDMA is not set +# end of Freertos DMA Drivers + +# +# Freertos MMC Drivers +# +# CONFIG_FREERTOS_USE_FSDIO is not set +# end of Freertos MMC Drivers +# end of Component Configuration + +# +# FreeRTOS Setting +# +# CONFIG_USE_LWIP is not set +CONFIG_USE_BACKTRACE=y +# CONFIG_USE_FATFS is not set +# CONFIG_USE_SFUD is not set +# CONFIG_USE_SPIFFS is not set +# CONFIG_USE_AMP is not set +CONFIG_USE_LETTER_SHELL=y + +# +# Letter Shell Configuration +# +CONFIG_LS_PL011_UART=y +CONFIG_DEFAULT_LETTER_SHELL_USE_UART1=y +# CONFIG_DEFAULT_LETTER_SHELL_USE_UART0 is not set +# CONFIG_DEFAULT_LETTER_SHELL_USE_UART2 is not set +# end of Letter Shell Configuration + +CONFIG_USE_TLSF=y +# CONFIG_USE_SDMMC_CMD is not set +# end of FreeRTOS Setting diff --git a/example/peripheral/dma/ddma/configs/e2000d_aarch64_eg_configs b/example/peripheral/dma/ddma/configs/e2000d_aarch64_eg_configs new file mode 100644 index 00000000..adad5908 --- /dev/null +++ b/example/peripheral/dma/ddma/configs/e2000d_aarch64_eg_configs @@ -0,0 +1,193 @@ + +# +# Freertos Configuration +# +CONFIG_TARGET_NAME="e2000d_freertos_a64" +# end of Freertos Configuration + +# +# Standalone Setting +# +CONFIG_USE_FREERTOS=y + +# +# Arch Configuration +# +# CONFIG_TARGET_ARMV8_AARCH32 is not set +CONFIG_TARGET_ARMV8_AARCH64=y +CONFIG_USE_CACHE=y +CONFIG_USE_MMU=y +CONFIG_USE_SYS_TICK=y +# CONFIG_MMU_DEBUG_PRINTS is not set +# end of Arch Configuration + +# +# Board Configuration +# +# CONFIG_TARGET_F2000_4 is not set +# CONFIG_TARGET_D2000 is not set +# CONFIG_TARGET_E2000Q is not set +CONFIG_TARGET_E2000D=y +# CONFIG_TARGET_E2000S is not set +CONFIG_TARGET_E2000=y +CONFIG_DEFAULT_DEBUG_PRINT_UART1=y +# CONFIG_DEFAULT_DEBUG_PRINT_UART0 is not set +# CONFIG_DEFAULT_DEBUG_PRINT_UART2 is not set +# end of Board Configuration + +# +# Components Configuration +# +CONFIG_USE_SPI=y +CONFIG_USE_FSPIM=y +# CONFIG_USE_QSPI is not set +CONFIG_USE_GIC=y +CONFIG_ENABLE_GICV3=y +CONFIG_USE_SERIAL=y + +# +# Usart Configuration +# +CONFIG_ENABLE_Pl011_UART=y +# end of Usart Configuration + +# CONFIG_USE_GPIO is not set +# CONFIG_USE_ETH is not set +# CONFIG_USE_CAN is not set +# CONFIG_USE_I2C is not set +# CONFIG_USE_TIMER is not set +# CONFIG_USE_MIO is not set +# CONFIG_USE_SDMMC is not set +# CONFIG_USE_PCIE is not set +# CONFIG_USE_WDT is not set +CONFIG_USE_DMA=y +# CONFIG_ENABLE_FGDMA is not set +CONFIG_ENABLE_FDDMA=y +# CONFIG_USE_NAND is not set +# CONFIG_USE_RTC is not set +# CONFIG_USE_SATA is not set +# CONFIG_USE_USB is not set +# CONFIG_USE_ADC is not set +# CONFIG_USE_PWM is not set +# CONFIG_USE_IPC is not set +# end of Components Configuration + +CONFIG_USE_NEW_LIBC=y +# end of Standalone Setting + +# +# Building Option +# +# CONFIG_LOG_VERBOS is not set +# CONFIG_LOG_DEBUG is not set +# CONFIG_LOG_INFO is not set +# CONFIG_LOG_WARN is not set +CONFIG_LOG_ERROR=y +# CONFIG_LOG_NONE is not set +CONFIG_USE_DEFAULT_INTERRUPT_CONFIG=y +CONFIG_INTERRUPT_ROLE_MASTER=y +# CONFIG_INTERRUPT_ROLE_SLAVE is not set +# CONFIG_LOG_EXTRA_INFO is not set +# CONFIG_BOOTUP_DEBUG_PRINTS is not set + +# +# Linker Options +# +# CONFIG_AARCH32_RAM_LD is not set +CONFIG_AARCH64_RAM_LD=y +# CONFIG_USER_DEFINED_LD is not set +CONFIG_LINK_SCRIPT_ROM=y +CONFIG_ROM_START_UP_ADDR=0x80100000 +CONFIG_ROM_SIZE_MB=1 +CONFIG_LINK_SCRIPT_RAM=y +CONFIG_RAM_START_UP_ADDR=0x81000000 +CONFIG_RAM_SIZE_MB=64 +CONFIG_HEAP_SIZE=1 +CONFIG_STACK_SIZE=0x100000 +CONFIG_FPU_STACK_SIZE=0x1000 +# end of Linker Options + +# +# Compiler Options +# +CONFIG_OUTPUT_BINARY=y +# end of Compiler Options +# end of Building Option + +# +# Component Configuration +# + +# +# Freertos Uart Drivers +# +CONFIG_FREERTOS_USE_UART=y +# end of Freertos Uart Drivers + +# +# Freertos Qspi Drivers +# +# CONFIG_FREERTOS_USE_QSPI is not set +# end of Freertos Qspi Drivers + +# +# Freertos Wdt Drivers +# +# CONFIG_FREERTOS_USE_WDT is not set +# end of Freertos Wdt Drivers + +# +# Freertos Eth Drivers +# +# CONFIG_FREERTOS_USE_XMAC is not set +# end of Freertos Eth Drivers + +# +# Freertos Gpio Drivers +# +# CONFIG_FREERTOS_USE_GPIO is not set +# end of Freertos Gpio Drivers + +# +# Freertos Spim Drivers +# +CONFIG_FREERTOS_USE_FSPIM=y +# end of Freertos Spim Drivers + +# +# Freertos DMA Drivers +# +CONFIG_FREERTOS_USE_FDDMA=y +# CONFIG_FREERTOS_USE_FGDMA is not set +# end of Freertos DMA Drivers + +# +# Freertos MMC Drivers +# +# CONFIG_FREERTOS_USE_FSDIO is not set +# end of Freertos MMC Drivers +# end of Component Configuration + +# +# FreeRTOS Setting +# +# CONFIG_USE_LWIP is not set +CONFIG_USE_BACKTRACE=y +# CONFIG_USE_FATFS is not set +# CONFIG_USE_SFUD is not set +# CONFIG_USE_SPIFFS is not set +# CONFIG_USE_AMP is not set +CONFIG_USE_LETTER_SHELL=y + +# +# Letter Shell Configuration +# +CONFIG_LS_PL011_UART=y +CONFIG_DEFAULT_LETTER_SHELL_USE_UART1=y +# CONFIG_DEFAULT_LETTER_SHELL_USE_UART0 is not set +# CONFIG_DEFAULT_LETTER_SHELL_USE_UART2 is not set +# end of Letter Shell Configuration + +CONFIG_USE_TLSF=y +# CONFIG_USE_SDMMC_CMD is not set +# end of FreeRTOS Setting diff --git a/example/peripheral/dma/ddma/figs/loopback.png b/example/peripheral/dma/ddma/figs/loopback.png new file mode 100644 index 0000000000000000000000000000000000000000..038a3dba10d75eb1dce4fdb1adbaeef80518ea4a GIT binary patch literal 33561 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 literal 0 HcmV?d00001 diff --git a/example/peripheral/dma/ddma/inc/ddma_spi_loopback.h b/example/peripheral/dma/ddma/inc/ddma_spi_loopback.h new file mode 100644 index 00000000..64a4e5d5 --- /dev/null +++ b/example/peripheral/dma/ddma/inc/ddma_spi_loopback.h @@ -0,0 +1,50 @@ +/* + * Copyright : (C) 2022 Phytium Information Technology, Inc. + * All Rights Reserved. + * + * This program is OPEN SOURCE software: you can redistribute it and/or modify it + * under the terms of the Phytium Public License as published by the Phytium Technology Co.,Ltd, + * either version 1.0 of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful,but WITHOUT ANY WARRANTY; + * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + * See the Phytium Public License for more details. + * + * + * FilePath: ddma_spi_loopback.h + * Date: 2022-07-18 11:01:37 + * LastEditTime: 2022-07-18 11:01:37 + * Description:  This files is for + * + * Modify History: + * Ver   Who        Date         Changes + * ----- ------     --------    -------------------------------------- + */ +#ifndef EXAMPLE_DDMA_SPI_LOOPBACK_H +#define EXAMPLE_DDMA_SPI_LOOPBACK_H + +#ifdef __cplusplus +extern "C" +{ +#endif + +/***************************** Include Files *********************************/ + +/************************** Constant Definitions *****************************/ + +/**************************** Type Definitions *******************************/ + +/************************** Variable Definitions *****************************/ + +/***************** Macros (Inline Functions) Definitions *********************/ + +/************************** Function Prototypes ******************************/ + +/*****************************************************************************/ +BaseType_t FFreeRTOSRunDDMASpiLoopback(u32 spi_id, u32 bytes); + +#ifdef __cplusplus +} +#endif + +#endif \ No newline at end of file diff --git a/example/peripheral/dma/ddma/main.c b/example/peripheral/dma/ddma/main.c new file mode 100644 index 00000000..f97dc17a --- /dev/null +++ b/example/peripheral/dma/ddma/main.c @@ -0,0 +1,44 @@ +/* + * Copyright : (C) 2022 Phytium Information Technology, Inc. + * All Rights Reserved. + * + * This program is OPEN SOURCE software: you can redistribute it and/or modify it + * under the terms of the Phytium Public License as published by the Phytium Technology Co.,Ltd, + * either version 1.0 of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful,but WITHOUT ANY WARRANTY; + * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + * See the Phytium Public License for more details. + * + * + * FilePath: main.c + * Date: 2022-06-17 08:17:59 + * LastEditTime: 2022-06-17 08:17:59 + * Description: This file is for + * + * Modify History: + * Ver Who Date Changes + * ----- ------ -------- -------------------------------------- + */ + +#include "shell.h" +#include "shell_port.h" +#include + +int main(void) +{ + BaseType_t ret; + + ret = LSUserShellTask() ; + if(ret != pdPASS) + goto FAIL_EXIT; + + /* ret = FFreeRTOSRunDDMASpiLoopback(2U, 32U); */ + + vTaskStartScheduler(); /* 启动任务,开启调度 */ + while (1); /* 正常不会执行到这里 */ + +FAIL_EXIT: + printf("failed 0x%x \r\n", ret); + return 0; +} diff --git a/example/peripheral/dma/ddma/makefile b/example/peripheral/dma/ddma/makefile new file mode 100644 index 00000000..d5622739 --- /dev/null +++ b/example/peripheral/dma/ddma/makefile @@ -0,0 +1,29 @@ +export PROJECT_DIR ?= $(shell pwd) + +export USR_SRC_DIR = $(PROJECT_DIR) \ + ./src +export USR_INC_DIR = $(PROJECT_DIR) \ + ./inc + +# 用户定义的编译目标文件上传路径 +ifeq ($(OS),Windows_NT) + USR_BOOT_DIR ?= $(subst \,/, $(PHYTIUM_DEV_PATH))/tftp +else + USR_BOOT_DIR ?= /mnt/d/tftboot +endif + + +# 设置启动镜像名 +BOOT_IMG_NAME ?= freertos + +# 指定编译freertos项目使用的makefile +include $(FREERTOS_SDK_ROOT)/make/build_freertos.mk + +# 完成编译 +boot: + make -j + @cp ./$(CONFIG_TARGET_NAME).elf $(USR_BOOT_DIR)/$(BOOT_IMG_NAME).elf + @cp ./$(CONFIG_TARGET_NAME).bin $(USR_BOOT_DIR)/$(BOOT_IMG_NAME).bin + @ls -l $(USR_BOOT_DIR)/$(BOOT_IMG_NAME).* + + diff --git a/example/peripheral/dma/ddma/sdkconfig b/example/peripheral/dma/ddma/sdkconfig new file mode 100644 index 00000000..6e8a644f --- /dev/null +++ b/example/peripheral/dma/ddma/sdkconfig @@ -0,0 +1,197 @@ + +# +# Freertos Configuration +# +CONFIG_TARGET_NAME="e2000d_freertos_a32" +# end of Freertos Configuration + +# +# Standalone Setting +# +CONFIG_USE_FREERTOS=y + +# +# Arch Configuration +# +CONFIG_TARGET_ARMV8_AARCH32=y +# CONFIG_TARGET_ARMV8_AARCH64 is not set +CONFIG_USE_CACHE=y +CONFIG_USE_MMU=y +CONFIG_USE_SYS_TICK=y +CONFIG_USE_AARCH64_L1_TO_AARCH32=y +# end of Arch Configuration + +# +# Board Configuration +# +# CONFIG_TARGET_F2000_4 is not set +# CONFIG_TARGET_D2000 is not set +# CONFIG_TARGET_E2000Q is not set +CONFIG_TARGET_E2000D=y +# CONFIG_TARGET_E2000S is not set +CONFIG_TARGET_E2000=y +CONFIG_DEFAULT_DEBUG_PRINT_UART1=y +# CONFIG_DEFAULT_DEBUG_PRINT_UART0 is not set +# CONFIG_DEFAULT_DEBUG_PRINT_UART2 is not set +# end of Board Configuration + +# +# Components Configuration +# +CONFIG_USE_SPI=y +CONFIG_USE_FSPIM=y +# CONFIG_USE_QSPI is not set +CONFIG_USE_GIC=y +CONFIG_ENABLE_GICV3=y +CONFIG_USE_SERIAL=y + +# +# Usart Configuration +# +CONFIG_ENABLE_Pl011_UART=y +# end of Usart Configuration + +# CONFIG_USE_GPIO is not set +# CONFIG_USE_ETH is not set +# CONFIG_USE_CAN is not set +# CONFIG_USE_I2C is not set +# CONFIG_USE_TIMER is not set +# CONFIG_USE_MIO is not set +# CONFIG_USE_SDMMC is not set +# CONFIG_USE_PCIE is not set +# CONFIG_USE_WDT is not set +CONFIG_USE_DMA=y +# CONFIG_ENABLE_FGDMA is not set +CONFIG_ENABLE_FDDMA=y +# CONFIG_USE_NAND is not set +# CONFIG_USE_RTC is not set +# CONFIG_USE_SATA is not set +# CONFIG_USE_USB is not set +# CONFIG_USE_ADC is not set +# CONFIG_USE_PWM is not set +# CONFIG_USE_IPC is not set +# end of Components Configuration + +CONFIG_USE_NEW_LIBC=y +# end of Standalone Setting + +# +# Building Option +# +# CONFIG_LOG_VERBOS is not set +# CONFIG_LOG_DEBUG is not set +# CONFIG_LOG_INFO is not set +# CONFIG_LOG_WARN is not set +CONFIG_LOG_ERROR=y +# CONFIG_LOG_NONE is not set +CONFIG_USE_DEFAULT_INTERRUPT_CONFIG=y +CONFIG_INTERRUPT_ROLE_MASTER=y +# CONFIG_INTERRUPT_ROLE_SLAVE is not set +# CONFIG_LOG_EXTRA_INFO is not set +# CONFIG_BOOTUP_DEBUG_PRINTS is not set + +# +# Linker Options +# +CONFIG_AARCH32_RAM_LD=y +# CONFIG_AARCH64_RAM_LD is not set +# CONFIG_USER_DEFINED_LD is not set +CONFIG_LINK_SCRIPT_ROM=y +CONFIG_ROM_START_UP_ADDR=0x80100000 +CONFIG_ROM_SIZE_MB=1 +CONFIG_LINK_SCRIPT_RAM=y +CONFIG_RAM_START_UP_ADDR=0x81000000 +CONFIG_RAM_SIZE_MB=64 +CONFIG_HEAP_SIZE=1 +CONFIG_SVC_STACK_SIZE=0x1000 +CONFIG_SYS_STACK_SIZE=0x1000 +CONFIG_IRQ_STACK_SIZE=0x1000 +CONFIG_ABORT_STACK_SIZE=0x1000 +CONFIG_FIQ_STACK_SIZE=0x1000 +CONFIG_UNDEF_STACK_SIZE=0x1000 +# end of Linker Options + +# +# Compiler Options +# +CONFIG_OUTPUT_BINARY=y +# end of Compiler Options +# end of Building Option + +# +# Component Configuration +# + +# +# Freertos Uart Drivers +# +CONFIG_FREERTOS_USE_UART=y +# end of Freertos Uart Drivers + +# +# Freertos Qspi Drivers +# +# CONFIG_FREERTOS_USE_QSPI is not set +# end of Freertos Qspi Drivers + +# +# Freertos Wdt Drivers +# +# CONFIG_FREERTOS_USE_WDT is not set +# end of Freertos Wdt Drivers + +# +# Freertos Eth Drivers +# +# CONFIG_FREERTOS_USE_XMAC is not set +# end of Freertos Eth Drivers + +# +# Freertos Gpio Drivers +# +# CONFIG_FREERTOS_USE_GPIO is not set +# end of Freertos Gpio Drivers + +# +# Freertos Spim Drivers +# +CONFIG_FREERTOS_USE_FSPIM=y +# end of Freertos Spim Drivers + +# +# Freertos DMA Drivers +# +CONFIG_FREERTOS_USE_FDDMA=y +# CONFIG_FREERTOS_USE_FGDMA is not set +# end of Freertos DMA Drivers + +# +# Freertos MMC Drivers +# +# CONFIG_FREERTOS_USE_FSDIO is not set +# end of Freertos MMC Drivers +# end of Component Configuration + +# +# FreeRTOS Setting +# +# CONFIG_USE_LWIP is not set +CONFIG_USE_BACKTRACE=y +# CONFIG_USE_FATFS is not set +# CONFIG_USE_SFUD is not set +# CONFIG_USE_SPIFFS is not set +# CONFIG_USE_AMP is not set +CONFIG_USE_LETTER_SHELL=y + +# +# Letter Shell Configuration +# +CONFIG_LS_PL011_UART=y +CONFIG_DEFAULT_LETTER_SHELL_USE_UART1=y +# CONFIG_DEFAULT_LETTER_SHELL_USE_UART0 is not set +# CONFIG_DEFAULT_LETTER_SHELL_USE_UART2 is not set +# end of Letter Shell Configuration + +CONFIG_USE_TLSF=y +# CONFIG_USE_SDMMC_CMD is not set +# end of FreeRTOS Setting diff --git a/example/peripheral/dma/ddma/sdkconfig.h b/example/peripheral/dma/ddma/sdkconfig.h new file mode 100644 index 00000000..3f9939ca --- /dev/null +++ b/example/peripheral/dma/ddma/sdkconfig.h @@ -0,0 +1,177 @@ +#ifndef SDK_CONFIG_H__ +#define SDK_CONFIG_H__ + +/* Freertos Configuration */ + +#define CONFIG_TARGET_NAME "e2000d_freertos_a32" +/* end of Freertos Configuration */ + +/* Standalone Setting */ + +#define CONFIG_USE_FREERTOS + +/* Arch Configuration */ + +#define CONFIG_TARGET_ARMV8_AARCH32 +/* CONFIG_TARGET_ARMV8_AARCH64 is not set */ +#define CONFIG_USE_CACHE +#define CONFIG_USE_MMU +#define CONFIG_USE_SYS_TICK +#define CONFIG_USE_AARCH64_L1_TO_AARCH32 +/* end of Arch Configuration */ + +/* Board Configuration */ + +/* CONFIG_TARGET_F2000_4 is not set */ +/* CONFIG_TARGET_D2000 is not set */ +/* CONFIG_TARGET_E2000Q is not set */ +#define CONFIG_TARGET_E2000D +/* CONFIG_TARGET_E2000S is not set */ +#define CONFIG_TARGET_E2000 +#define CONFIG_DEFAULT_DEBUG_PRINT_UART1 +/* CONFIG_DEFAULT_DEBUG_PRINT_UART0 is not set */ +/* CONFIG_DEFAULT_DEBUG_PRINT_UART2 is not set */ +/* end of Board Configuration */ + +/* Components Configuration */ + +#define CONFIG_USE_SPI +#define CONFIG_USE_FSPIM +/* CONFIG_USE_QSPI is not set */ +#define CONFIG_USE_GIC +#define CONFIG_ENABLE_GICV3 +#define CONFIG_USE_SERIAL + +/* Usart Configuration */ + +#define CONFIG_ENABLE_Pl011_UART +/* end of Usart Configuration */ +/* CONFIG_USE_GPIO is not set */ +/* CONFIG_USE_ETH is not set */ +/* CONFIG_USE_CAN is not set */ +/* CONFIG_USE_I2C is not set */ +/* CONFIG_USE_TIMER is not set */ +/* CONFIG_USE_MIO is not set */ +/* CONFIG_USE_SDMMC is not set */ +/* CONFIG_USE_PCIE is not set */ +/* CONFIG_USE_WDT is not set */ +#define CONFIG_USE_DMA +/* CONFIG_ENABLE_FGDMA is not set */ +#define CONFIG_ENABLE_FDDMA +/* CONFIG_USE_NAND is not set */ +/* CONFIG_USE_RTC is not set */ +/* CONFIG_USE_SATA is not set */ +/* CONFIG_USE_USB is not set */ +/* CONFIG_USE_ADC is not set */ +/* CONFIG_USE_PWM is not set */ +/* CONFIG_USE_IPC is not set */ +/* end of Components Configuration */ +#define CONFIG_USE_NEW_LIBC +/* end of Standalone Setting */ + +/* Building Option */ + +/* CONFIG_LOG_VERBOS is not set */ +/* CONFIG_LOG_DEBUG is not set */ +/* CONFIG_LOG_INFO is not set */ +/* CONFIG_LOG_WARN is not set */ +#define CONFIG_LOG_ERROR +/* CONFIG_LOG_NONE is not set */ +#define CONFIG_USE_DEFAULT_INTERRUPT_CONFIG +#define CONFIG_INTERRUPT_ROLE_MASTER +/* CONFIG_INTERRUPT_ROLE_SLAVE is not set */ +/* CONFIG_LOG_EXTRA_INFO is not set */ +/* CONFIG_BOOTUP_DEBUG_PRINTS is not set */ + +/* Linker Options */ + +#define CONFIG_AARCH32_RAM_LD +/* CONFIG_AARCH64_RAM_LD is not set */ +/* CONFIG_USER_DEFINED_LD is not set */ +#define CONFIG_LINK_SCRIPT_ROM +#define CONFIG_ROM_START_UP_ADDR 0x80100000 +#define CONFIG_ROM_SIZE_MB 1 +#define CONFIG_LINK_SCRIPT_RAM +#define CONFIG_RAM_START_UP_ADDR 0x81000000 +#define CONFIG_RAM_SIZE_MB 64 +#define CONFIG_HEAP_SIZE 1 +#define CONFIG_SVC_STACK_SIZE 0x1000 +#define CONFIG_SYS_STACK_SIZE 0x1000 +#define CONFIG_IRQ_STACK_SIZE 0x1000 +#define CONFIG_ABORT_STACK_SIZE 0x1000 +#define CONFIG_FIQ_STACK_SIZE 0x1000 +#define CONFIG_UNDEF_STACK_SIZE 0x1000 +/* end of Linker Options */ + +/* Compiler Options */ + +#define CONFIG_OUTPUT_BINARY +/* end of Compiler Options */ +/* end of Building Option */ + +/* Component Configuration */ + +/* Freertos Uart Drivers */ + +#define CONFIG_FREERTOS_USE_UART +/* end of Freertos Uart Drivers */ + +/* Freertos Qspi Drivers */ + +/* CONFIG_FREERTOS_USE_QSPI is not set */ +/* end of Freertos Qspi Drivers */ + +/* Freertos Wdt Drivers */ + +/* CONFIG_FREERTOS_USE_WDT is not set */ +/* end of Freertos Wdt Drivers */ + +/* Freertos Eth Drivers */ + +/* CONFIG_FREERTOS_USE_XMAC is not set */ +/* end of Freertos Eth Drivers */ + +/* Freertos Gpio Drivers */ + +/* CONFIG_FREERTOS_USE_GPIO is not set */ +/* end of Freertos Gpio Drivers */ + +/* Freertos Spim Drivers */ + +#define CONFIG_FREERTOS_USE_FSPIM +/* end of Freertos Spim Drivers */ + +/* Freertos DMA Drivers */ + +#define CONFIG_FREERTOS_USE_FDDMA +/* CONFIG_FREERTOS_USE_FGDMA is not set */ +/* end of Freertos DMA Drivers */ + +/* Freertos MMC Drivers */ + +/* CONFIG_FREERTOS_USE_FSDIO is not set */ +/* end of Freertos MMC Drivers */ +/* end of Component Configuration */ + +/* FreeRTOS Setting */ + +/* CONFIG_USE_LWIP is not set */ +#define CONFIG_USE_BACKTRACE +/* CONFIG_USE_FATFS is not set */ +/* CONFIG_USE_SFUD is not set */ +/* CONFIG_USE_SPIFFS is not set */ +/* CONFIG_USE_AMP is not set */ +#define CONFIG_USE_LETTER_SHELL + +/* Letter Shell Configuration */ + +#define CONFIG_LS_PL011_UART +#define CONFIG_DEFAULT_LETTER_SHELL_USE_UART1 +/* CONFIG_DEFAULT_LETTER_SHELL_USE_UART0 is not set */ +/* CONFIG_DEFAULT_LETTER_SHELL_USE_UART2 is not set */ +/* end of Letter Shell Configuration */ +#define CONFIG_USE_TLSF +/* CONFIG_USE_SDMMC_CMD is not set */ +/* end of FreeRTOS Setting */ + +#endif diff --git a/example/peripheral/dma/ddma/src/cmd_ddma.c b/example/peripheral/dma/ddma/src/cmd_ddma.c new file mode 100644 index 00000000..d844e329 --- /dev/null +++ b/example/peripheral/dma/ddma/src/cmd_ddma.c @@ -0,0 +1,65 @@ +/* + * Copyright : (C) 2022 Phytium Information Technology, Inc. + * All Rights Reserved. + * + * This program is OPEN SOURCE software: you can redistribute it and/or modify it + * under the terms of the Phytium Public License as published by the Phytium Technology Co.,Ltd, + * either version 1.0 of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful,but WITHOUT ANY WARRANTY; + * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + * See the Phytium Public License for more details. + * + * + * FilePath: cmd_ddma.c + * Date: 2022-07-14 14:06:43 + * LastEditTime: 2022-07-14 14:06:43 + * Description:  This files is for + * + * Modify History: + * Ver   Who        Date         Changes + * ----- ------     --------    -------------------------------------- + */ +/***************************** Include Files *********************************/ +#include +#include +#include "strto.h" +#include "sdkconfig.h" + +#include "FreeRTOS.h" + +#include "../src/shell.h" +#include "ddma_spi_loopback.h" +/************************** Constant Definitions *****************************/ + +/************************** Variable Definitions *****************************/ + +/***************** Macros (Inline Functions) Definitions *********************/ + +/************************** Function Prototypes ******************************/ + +/*****************************************************************************/ +static int DdmaCmdEntry(int argc, char *argv[]) +{ + int ret = 0; + u32 bytes = 32; + u32 spi_id = FSPI2_ID; + + if (!strcmp(argv[1], "spi-loopback")) + { + if (argc >= 3) + { + spi_id = (u32)simple_strtoul(argv[2], NULL, 10); + } + + if (argc >= 4) + { + bytes = (u32)simple_strtoul(argv[3], NULL, 10); + } + + ret = FFreeRTOSRunDDMASpiLoopback(spi_id, bytes); + } + + return ret; +} +SHELL_EXPORT_CMD(SHELL_CMD_TYPE(SHELL_TYPE_CMD_MAIN), ddma, DdmaCmdEntry, test freertos ddma driver); \ No newline at end of file diff --git a/example/peripheral/dma/ddma/src/ddma_spi_loopback.c b/example/peripheral/dma/ddma/src/ddma_spi_loopback.c new file mode 100644 index 00000000..b1dfe68d --- /dev/null +++ b/example/peripheral/dma/ddma/src/ddma_spi_loopback.c @@ -0,0 +1,461 @@ +/* + * Copyright : (C) 2022 Phytium Information Technology, Inc. + * All Rights Reserved. + * + * This program is OPEN SOURCE software: you can redistribute it and/or modify it + * under the terms of the Phytium Public License as published by the Phytium Technology Co.,Ltd, + * either version 1.0 of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful,but WITHOUT ANY WARRANTY; + * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + * See the Phytium Public License for more details. + * + * + * FilePath: ddma_spi_loopback.c + * Date: 2022-07-20 09:24:39 + * LastEditTime: 2022-07-20 09:24:39 + * Description:  This files is for + * + * Modify History: + * Ver   Who        Date         Changes + * ----- ------     --------    -------------------------------------- + */ +/***************************** Include Files *********************************/ +#include + +#include "FreeRTOSConfig.h" +#include "FreeRTOS.h" +#include "task.h" +#include "queue.h" + +#include "cache.h" +#include "ft_assert.h" +#include "ft_debug.h" +#include "fpinctrl.h" + +#include "fspim_os.h" +#include "fddma_os.h" +#include "fspim_hw.h" + +/************************** Constant Definitions *****************************/ +#define TX_RX_BUF_LEN 128 +#define CHAN_REQ_DONE(chan) (0x1 << chan) /* if signal, chan req finished */ +/**************************** Type Definitions *******************************/ + +/************************** Variable Definitions *****************************/ +static FFreeRTOSSpim *spim = NULL; +static FFreeRTOSSpimConifg spim_config = +{ + .spi_mode = FFREERTOS_SPIM_MODE_0, + .en_dma = TRUE, + .inner_loopback = TRUE +}; +static FFreeRTOSSpiMessage spi_msg = +{ + .tx_buf = NULL, + .tx_len = 0U, + .rx_buf = NULL, + .rx_len = 0U +}; +static FFreeRTOSDdma *ddma = NULL; +static FFreeRTOSDdmaConfig ddma_config; +static QueueHandle_t sync = NULL; +static u32 spi_instance_id = 0U; +static u32 dma_trans_bytes = 32U; +static FDdmaChanIndex rx_chan_id = FDDMA_CHAN_0; +static FDdmaChanIndex tx_chan_id = FDDMA_CHAN_1; +static FFreeRTOSRequest rx_request = {0}; +static FFreeRTOSRequest tx_request = {0}; +static EventGroupHandle_t chan_evt = NULL; +static u8 rx_buf[TX_RX_BUF_LEN] __attribute__((aligned(FDDMA_DDR_ADDR_ALIGMENT))) = {0}; +static u8 tx_buf[TX_RX_BUF_LEN] __attribute__((aligned(FDDMA_DDR_ADDR_ALIGMENT))) = {0}; +static u32 trans_len = 32U; +static TaskHandle_t send_task = NULL; +static TaskHandle_t recv_task = NULL; +static TimerHandle_t exit_timer = NULL; +static u32 loopback_times = 3U; +static boolean is_running = FALSE; + +static const u32 spim_rx_slave_id[FSPI_DEVICE_NUM] = +{ + [FSPI0_ID] = FDDMA0_SPIM0_RX_SLAVE_ID, + [FSPI1_ID] = FDDMA0_SPIM1_RX_SLAVE_ID, + [FSPI2_ID] = FDDMA0_SPIM2_RX_SLAVE_ID, + [FSPI3_ID] = FDDMA0_SPIM3_RX_SLAVE_ID +}; + +static const u32 spim_tx_slave_id[FSPI_DEVICE_NUM] = +{ + [FSPI0_ID] = FDDMA0_SPIM0_TX_SLAVE_ID, + [FSPI1_ID] = FDDMA0_SPIM1_TX_SLAVE_ID, + [FSPI2_ID] = FDDMA0_SPIM2_TX_SLAVE_ID, + [FSPI3_ID] = FDDMA0_SPIM3_TX_SLAVE_ID +}; + +/***************** Macros (Inline Functions) Definitions *********************/ +#define FDDMA_DEBUG_TAG "DDMA-LP" +#define FDDMA_ERROR(format, ...) FT_DEBUG_PRINT_E(FDDMA_DEBUG_TAG, format, ##__VA_ARGS__) +#define FDDMA_WARN(format, ...) FT_DEBUG_PRINT_W(FDDMA_DEBUG_TAG, format, ##__VA_ARGS__) +#define FDDMA_INFO(format, ...) FT_DEBUG_PRINT_I(FDDMA_DEBUG_TAG, format, ##__VA_ARGS__) +#define FDDMA_DEBUG(format, ...) FT_DEBUG_PRINT_D(FDDMA_DEBUG_TAG, format, ##__VA_ARGS__) + +/************************** Function Prototypes ******************************/ + +static void DdmaSpiLoopbackExitCallback(TimerHandle_t timer) +{ + FError err = FT_SUCCESS; + printf("exiting....."); + + if (send_task) /* stop and delete send task */ + { + vTaskDelete(send_task); + send_task = NULL; + } + + if (recv_task) /* stop and delete recv task */ + { + vTaskDelete(recv_task); + recv_task = NULL; + } + + if (spim) + { + err = FFreeRTOSSpimDeInit(spim); + spim = NULL; + } + + if (ddma) + { + if (FT_SUCCESS != FFreeRTOSDdmaRevokeChannel(ddma, rx_chan_id)) + { + FDDMA_ERROR("delete rx chan failed !!!"); + } + + if (FT_SUCCESS != FFreeRTOSDdmaRevokeChannel(ddma, tx_chan_id)) + { + FDDMA_ERROR("delete tx chan failed !!!"); + } + + err = FFreeRTOSDdmaDeinit(ddma); + ddma = NULL; + } + + if (chan_evt) + { + vEventGroupDelete(chan_evt); + chan_evt = NULL; + } + + if (sync) + { + vQueueDelete(sync); + sync = NULL; + } + + if (pdPASS != xTimerDelete(timer, 0)) /* delete timer ifself */ + { + FDDMA_ERROR("delete exit timer failed !!!"); + exit_timer = NULL; + } + + is_running = FALSE; +} + +static void DdmaSpiLoopbackAckDMADone(FDdmaChan *const dma_chan, void *arg) +{ + FASSERT(dma_chan); + + BaseType_t xhigher_priority_task_woken = pdFALSE; + BaseType_t x_result = pdFALSE; + + FDDMA_INFO("ack chan-%d %s done for ddma", dma_chan->config.id, + (dma_chan->config.id == rx_chan_id) ? "rx" : "tx"); + FASSERT_MSG(chan_evt, "rx event group not exists !!!"); + x_result = xEventGroupSetBitsFromISR(chan_evt, + CHAN_REQ_DONE(dma_chan->config.id), + &xhigher_priority_task_woken); + + return; +} + +static boolean DdmaSpiLoopbackWaitDmaEnd(void) +{ + const TickType_t wait_delay = pdMS_TO_TICKS(10000UL); /* wait for 5 seconds */ + boolean ok = TRUE; + EventBits_t ev; + u32 wait_bits = CHAN_REQ_DONE(rx_chan_id) | CHAN_REQ_DONE(tx_chan_id); + + ev = xEventGroupWaitBits(chan_evt, + wait_bits, + pdTRUE, pdTRUE, wait_delay); + if ((ev & wait_bits) == wait_bits) + { + FDDMA_INFO("ddma transfer success !!!"); + } + else + { + if ((ev & CHAN_REQ_DONE(tx_chan_id)) == 0U) + { + FDDMA_ERROR("tx timeout !!!"); + } + + if ((ev & CHAN_REQ_DONE(rx_chan_id)) == 0U) + { + FDDMA_ERROR("rx timeout !!!"); + } + + if (ev & wait_bits == 0U) + { + FDDMA_ERROR("rx and tx timeout !!!"); + } + + ok = FALSE; + } + + return ok; +} + +static inline boolean DdmaSpiLoopbackGiveSync() +{ + boolean data = TRUE; + FASSERT_MSG((NULL != sync), "sync not exists"); + if (pdFALSE == xQueueSend(sync, &data, portMAX_DELAY)) + { + FDDMA_ERROR("failed to give locker !!!"); + return FALSE; + } + + return TRUE; +} + +static inline void DdmaSpiLoopbackTakeSync() +{ + boolean data = FALSE; + FASSERT_MSG((NULL != sync), "sync not exists"); + if (pdFALSE == xQueueReceive(sync, &data, portMAX_DELAY)) + { + FDDMA_ERROR("failed to give locker !!!"); + } + + return; +} + +static void DdmaInitTask(void *args) +{ + const u32 ddma_id = FDDMA0_ID; /* spi use ddma0 only */ + FError err = FT_SUCCESS; + uintptr spi_base; + + trans_len = dma_trans_bytes; + + spim = FFreeRTOSSpimInit(spi_instance_id, &spim_config); /* init spim */ + FASSERT_MSG(spim, "init spim failed"); + + ddma = FFreeRTOSDdmaInit(ddma_id, &ddma_config); /* deinit ddma */ + FASSERT_MSG(ddma, "init ddma failed"); + + spi_base = spim->ctrl.config.base_addr; + + rx_request.slave_id = spim_rx_slave_id[spi_instance_id]; + rx_request.mem_addr = (uintptr)(void *)rx_buf; + rx_request.dev_addr = spi_base + FSPIM_DR_OFFSET; + rx_request.trans_len = trans_len; + rx_request.is_rx = TRUE; + rx_request.req_done_handler = DdmaSpiLoopbackAckDMADone; + rx_request.req_done_args = NULL; + err = FFreeRTOSDdmaSetupChannel(ddma, rx_chan_id, &rx_request); + FASSERT_MSG(FT_SUCCESS == err, "init rx chan failed"); + + tx_request.slave_id = spim_tx_slave_id[spi_instance_id]; + tx_request.mem_addr = (uintptr)(void *)tx_buf; + tx_request.dev_addr = spi_base + FSPIM_DR_OFFSET; + tx_request.trans_len = trans_len; + tx_request.is_rx = FALSE; + tx_request.req_done_handler = DdmaSpiLoopbackAckDMADone; + tx_request.req_done_args = NULL; + err = FFreeRTOSDdmaSetupChannel(ddma, tx_chan_id, &tx_request); + FASSERT_MSG(FT_SUCCESS == err, "init tx chan failed"); + + DdmaSpiLoopbackGiveSync(); /* give sync and allow sending */ + + vTaskDelete(NULL); +} + +static void DdmaSpiLoopbackSendTask(void *args) +{ + u32 loop; + u32 times = 0U; + char ch = 'A'; + const TickType_t wait_delay = pdMS_TO_TICKS(2000UL); /* wait for 2 seconds */ + + for (;;) + { + FDDMA_INFO("waiting send data..."); + + DdmaSpiLoopbackTakeSync(); /* is sending, take send sync and cannot send again */ + + memset(tx_buf, 0, trans_len); + memset(rx_buf, 0, trans_len); + + for (loop = 0; loop < trans_len; loop += 4) + { + tx_buf[loop] = (u8)ch + (times % 10); + } + + FCacheDCacheInvalidateRange((uintptr)(void *)tx_buf, trans_len); + + printf("before loopback ..... \r\n"); + printf("tx buf ===> \r\n"); + FtDumpHexByte((u8 *)tx_buf, trans_len); + printf("rx buf <=== \r\n"); + FtDumpHexByte((u8 *)rx_buf, trans_len); + + spi_msg.rx_buf = rx_buf; + spi_msg.rx_len = trans_len; + spi_msg.tx_buf = tx_buf; + spi_msg.tx_len = trans_len; + + if ((FFREERTOS_DDMA_OK != FFreeRTOSDdmaStartChannel(ddma, rx_chan_id)) || + (FFREERTOS_DDMA_OK != FFreeRTOSDdmaStartChannel(ddma, tx_chan_id))) + { + FDDMA_ERROR("start dma failed !!!"); + break; + } + + vTaskDelay(200); + + /* setup spi transfer only for the first time */ + if ((0 == times) && (FFREERTOS_DDMA_OK != FFreeRTOSSpimTransfer(spim, &spi_msg))) + { + FDDMA_ERROR("start spi transfer failed !!!"); + break;; + } + + if (times++ > loopback_times) + break; + + vTaskDelay(wait_delay); + } + +task_err: + printf("send task finished !!!\r\n"); + FFreeRTOSDdmaStop(ddma); + vTaskSuspend(NULL); +} + +static void DdmaSpiLoopbackRecvTask(void *args) +{ + u32 times = 0U; + + for (;;) + { + FDDMA_INFO("waiting recv data..."); + + /* block recv task until rx done */ + if (!DdmaSpiLoopbackWaitDmaEnd()) + { + continue; + } + + if ((FFREERTOS_DDMA_OK != FFreeRTOSDdmaStopChannel(ddma, tx_chan_id)) || + (FFREERTOS_DDMA_OK != FFreeRTOSDdmaStopChannel(ddma, rx_chan_id))) + { + FDDMA_ERROR("stop dma transfer failed !!!"); + continue; + } + + FCacheDCacheInvalidateRange((uintptr)(void *)rx_buf, trans_len); + + printf("after loopback ..... \r\n"); + printf("tx buf ===> \r\n"); + FtDumpHexByte(tx_buf, trans_len); + printf("rx buf <=== \r\n"); + FtDumpHexByte(rx_buf, trans_len); + + /* compare if loopback success */ + if (0 == memcmp(rx_buf, tx_buf, trans_len)) + { + printf("loopback transfer success !!!\r\n"); + } + else + { + FDDMA_ERROR("rx != tx, loopback transfer failed !!!"); + } + + if (times++ > loopback_times) + break; + + DdmaSpiLoopbackGiveSync(); /* recv finished, give send sync and allow sending */ + } + + printf("recv task finished !!!\r\n"); + FFreeRTOSDdmaStop(ddma); + vTaskSuspend(NULL); +} + +BaseType_t FFreeRTOSRunDDMASpiLoopback(u32 spi_id, u32 bytes) +{ + BaseType_t ret = pdPASS; + const TickType_t total_run_time = pdMS_TO_TICKS(30000UL); /* loopback run for 10 secs deadline */ + + if (is_running) + { + FDDMA_ERROR("task is running !!!!"); + return pdPASS; + } + + is_running = TRUE; + spi_instance_id = spi_id; + dma_trans_bytes = bytes; + + FASSERT_MSG(NULL == chan_evt, "event group exists !!!"); + FASSERT_MSG((chan_evt = xEventGroupCreate()) != NULL, "create event group failed !!!"); + + FASSERT_MSG(NULL == sync, "sync exists !!!"); + FASSERT_MSG((sync = xQueueCreate(1, sizeof(boolean))) != NULL, "create sync failed !!!"); + + taskENTER_CRITICAL(); /* no schedule when create task */ + + ret = xTaskCreate((TaskFunction_t )DdmaInitTask, /* task entry */ + (const char* )"DdmaInitTask",/* task name */ + (uint16_t )4096, /* task stack size in words */ + NULL, /* task params */ + (UBaseType_t )configMAX_PRIORITIES - 1, /* task priority */ + NULL); /* task handler */ + + FASSERT_MSG(pdPASS == ret, "create task failed"); + + ret = xTaskCreate((TaskFunction_t )DdmaSpiLoopbackSendTask, /* task entry */ + (const char* )"DdmaSpiLoopbackSendTask",/* task name */ + (uint16_t )4096, /* task stack size in words */ + NULL, /* task params */ + (UBaseType_t )configMAX_PRIORITIES - 2, /* task priority */ + (TaskHandle_t* )&send_task); /* task handler */ + + FASSERT_MSG(pdPASS == ret, "create task failed"); + + ret = xTaskCreate((TaskFunction_t )DdmaSpiLoopbackRecvTask, /* task entry */ + (const char* )"DdmaSpiLoopbackRecvTask",/* task name */ + (uint16_t )4096, /* task stack size in words */ + NULL, /* task params */ + (UBaseType_t )configMAX_PRIORITIES - 1, /* task priority */ + (TaskHandle_t* )&recv_task); /* task handler */ + + FASSERT_MSG(pdPASS == ret, "create task failed"); + + exit_timer = xTimerCreate("Exit-Timer", /* Text name for the software timer - not used by FreeRTOS. */ + total_run_time, /* The software timer's period in ticks. */ + pdFALSE, /* Setting uxAutoRealod to pdFALSE creates a one-shot software timer. */ + NULL, /* use timer id to pass task data for reference. */ + DdmaSpiLoopbackExitCallback); /* The callback function to be used by the software timer being created. */ + + FASSERT_MSG(NULL != exit_timer, "create exit timer failed"); + + taskEXIT_CRITICAL(); /* allow schedule since task created */ + + ret = xTimerStart(exit_timer, 0); /* start */ + + FASSERT_MSG(pdPASS == ret, "start exit timer failed"); + + return ret; +} \ No newline at end of file diff --git a/example/peripheral/dma/gdma/Kconfig b/example/peripheral/dma/gdma/Kconfig new file mode 100644 index 00000000..0277fb85 --- /dev/null +++ b/example/peripheral/dma/gdma/Kconfig @@ -0,0 +1,19 @@ +# +# For a description of the syntax of this configuration file, +# see tools/kconfiglib/kconfig-language.txt. +# + + +mainmenu "Phytium Freertos Configuration" + + menu "Freertos Configuration" + config TARGET_NAME + string "Build Target Name" + default "freertos" + help + Build Target name for the demo + +endmenu + +source "$(FREERTOS_SDK_ROOT)/Kconfig" + diff --git a/example/peripheral/dma/gdma/README.md b/example/peripheral/dma/gdma/README.md new file mode 100644 index 00000000..78883bce --- /dev/null +++ b/example/peripheral/dma/gdma/README.md @@ -0,0 +1,114 @@ +# GDMA内存搬运测试 + +## 1. 例程介绍 + +GDMA (Generic Direct Memory Access) 用于将数据从一个内存地址复制到另一个内存地址,CPU 只初始化和发起这个发送传输过程,传输动作本身是由 GDMA 控制器来实行和完成, 这样的操作让 CPU 不被数据搬运工作拖延,可以被重新调度去处理其它工作。 + +本例程通过 GDMA 控制器驱动,完成内存数据搬运。 + +## 2. 如何使用例程 + +本例程需要用到 +- Phytium开发板(E2000) +- [Phytium FreeRTOS SDK](https://gitee.com/phytium_embedded/phytium-free-rtos-sdk) +- [Phytium Standalone SDK](https://gitee.com/phytium_embedded/phytium-standalone-sdk) + +### 2.1 硬件配置方法 + +本例程支持的硬件平台包括 + +- E2000 + +对应的配置项是, + +- CONFIG_TARGET_E2000 + +本例程在 E2000-A测试板和B测试板完成测试 + +### 2.2 SDK配置方法 + +本例程需要, + +- 使能Shell +- 使能GDMA + +对应的配置项是, + +- CONFIG_USE_LETTER_SHELL +- CONFIG_FREERTOS_USE_FGDMA + +本例子已经提供好具体的编译指令,以下进行介绍: +- make 将目录下的工程进行编译 +- make clean 将目录下的工程进行清理 +- make boot 将目录下的工程进行编译,并将生成的elf 复制到目标地址 +- make load_e2000q_aarch64 将预设64bit e2000q 下的配置加载至工程中 +- make load_e2000q_aarch32 将预设32bit e2000q 下的配置加载至工程中 +- make menuconfig 配置目录下的参数变量 +- make backup_kconfig 将目录下的sdkconfig 备份到./configs下 + +具体使用方法为: +- 在当前目录下 +- 执行以上指令 + +### 2.3 构建和下载 + +#### 2.3.1 构建过程 + +- 在host侧完成配置 +> 配置成 e2000q,对于其它平台,使用对于的默认配置,如, + +- 选择目标平台 +``` +make load_e2000q_aarch64 +``` + +- 选择例程需要的配置 +``` +make menuconfig +``` + +- 进行编译 +``` +make +``` + +- 将编译出的镜像放置到tftp目录下 +``` +make boot +``` + +#### 2.3.2 下载过程 + +- host侧设置重启host侧tftp服务器 +``` +sudo service tftpd-hpa restart +``` + +- 开发板侧使用bootelf命令跳转 +``` +setenv ipaddr 192.168.4.20 +setenv serverip 192.168.4.50 +setenv gatewayip 192.168.4.1 +tftpboot 0xa0100000 freertos.elf +bootelf -p 0xa0100000 +``` + +### 2.4 输出与实验现象 + +- 系统进入后,创建任务 GDMA,将启动任务A和任务B,分别搬运数据 + +``` +gdma memcpy +``` + +![memcpy](./figs/memcpy.png) + + +## 3. 如何解决问题 + + +## 4. 修改历史记录 + + + + diff --git a/example/peripheral/dma/gdma/configs/e2000d_aarch32_eg_configs b/example/peripheral/dma/gdma/configs/e2000d_aarch32_eg_configs new file mode 100644 index 00000000..44248689 --- /dev/null +++ b/example/peripheral/dma/gdma/configs/e2000d_aarch32_eg_configs @@ -0,0 +1,196 @@ + +# +# Freertos Configuration +# +CONFIG_TARGET_NAME="e2000d_freertos_a32" +# end of Freertos Configuration + +# +# Standalone Setting +# +CONFIG_USE_FREERTOS=y + +# +# Arch Configuration +# +CONFIG_TARGET_ARMV8_AARCH32=y +# CONFIG_TARGET_ARMV8_AARCH64 is not set +CONFIG_USE_CACHE=y +CONFIG_USE_MMU=y +# CONFIG_USE_SYS_TICK is not set +CONFIG_USE_AARCH64_L1_TO_AARCH32=y +# end of Arch Configuration + +# +# Board Configuration +# +# CONFIG_TARGET_F2000_4 is not set +# CONFIG_TARGET_D2000 is not set +# CONFIG_TARGET_E2000Q is not set +CONFIG_TARGET_E2000D=y +# CONFIG_TARGET_E2000S is not set +CONFIG_TARGET_E2000=y +CONFIG_DEFAULT_DEBUG_PRINT_UART1=y +# CONFIG_DEFAULT_DEBUG_PRINT_UART0 is not set +# CONFIG_DEFAULT_DEBUG_PRINT_UART2 is not set +# end of Board Configuration + +# +# Components Configuration +# +# CONFIG_USE_SPI is not set +# CONFIG_USE_QSPI is not set +CONFIG_USE_GIC=y +CONFIG_ENABLE_GICV3=y +CONFIG_USE_SERIAL=y + +# +# Usart Configuration +# +CONFIG_ENABLE_Pl011_UART=y +# end of Usart Configuration + +# CONFIG_USE_GPIO is not set +# CONFIG_USE_ETH is not set +# CONFIG_USE_CAN is not set +# CONFIG_USE_I2C is not set +# CONFIG_USE_TIMER is not set +# CONFIG_USE_MIO is not set +# CONFIG_USE_SDMMC is not set +# CONFIG_USE_PCIE is not set +# CONFIG_USE_WDT is not set +CONFIG_USE_DMA=y +CONFIG_ENABLE_FGDMA=y +# CONFIG_ENABLE_FDDMA is not set +# CONFIG_USE_NAND is not set +# CONFIG_USE_RTC is not set +# CONFIG_USE_SATA is not set +# CONFIG_USE_USB is not set +# CONFIG_USE_ADC is not set +# CONFIG_USE_PWM is not set +# CONFIG_USE_IPC is not set +# end of Components Configuration + +CONFIG_USE_NEW_LIBC=y +# end of Standalone Setting + +# +# Building Option +# +# CONFIG_LOG_VERBOS is not set +# CONFIG_LOG_DEBUG is not set +# CONFIG_LOG_INFO is not set +# CONFIG_LOG_WARN is not set +CONFIG_LOG_ERROR=y +# CONFIG_LOG_NONE is not set +CONFIG_USE_DEFAULT_INTERRUPT_CONFIG=y +CONFIG_INTERRUPT_ROLE_MASTER=y +# CONFIG_INTERRUPT_ROLE_SLAVE is not set +CONFIG_LOG_EXTRA_INFO=y +# CONFIG_BOOTUP_DEBUG_PRINTS is not set + +# +# Linker Options +# +CONFIG_AARCH32_RAM_LD=y +# CONFIG_AARCH64_RAM_LD is not set +# CONFIG_USER_DEFINED_LD is not set +CONFIG_LINK_SCRIPT_ROM=y +CONFIG_ROM_START_UP_ADDR=0x80100000 +CONFIG_ROM_SIZE_MB=1 +CONFIG_LINK_SCRIPT_RAM=y +CONFIG_RAM_START_UP_ADDR=0x81000000 +CONFIG_RAM_SIZE_MB=64 +CONFIG_HEAP_SIZE=1 +CONFIG_SVC_STACK_SIZE=0x1000 +CONFIG_SYS_STACK_SIZE=0x1000 +CONFIG_IRQ_STACK_SIZE=0x1000 +CONFIG_ABORT_STACK_SIZE=0x1000 +CONFIG_FIQ_STACK_SIZE=0x1000 +CONFIG_UNDEF_STACK_SIZE=0x1000 +# end of Linker Options + +# +# Compiler Options +# +CONFIG_OUTPUT_BINARY=y +# end of Compiler Options +# end of Building Option + +# +# Component Configuration +# + +# +# Freertos Uart Drivers +# +CONFIG_FREERTOS_USE_UART=y +# end of Freertos Uart Drivers + +# +# Freertos Qspi Drivers +# +# CONFIG_FREERTOS_USE_QSPI is not set +# end of Freertos Qspi Drivers + +# +# Freertos Wdt Drivers +# +# CONFIG_FREERTOS_USE_WDT is not set +# end of Freertos Wdt Drivers + +# +# Freertos Eth Drivers +# +# CONFIG_FREERTOS_USE_XMAC is not set +# end of Freertos Eth Drivers + +# +# Freertos Gpio Drivers +# +# CONFIG_FREERTOS_USE_GPIO is not set +# end of Freertos Gpio Drivers + +# +# Freertos Spim Drivers +# +# CONFIG_FREERTOS_USE_FSPIM is not set +# end of Freertos Spim Drivers + +# +# Freertos DMA Drivers +# +# CONFIG_FREERTOS_USE_FDDMA is not set +CONFIG_FREERTOS_USE_FGDMA=y +# end of Freertos DMA Drivers + +# +# Freertos MMC Drivers +# +# CONFIG_FREERTOS_USE_FSDIO is not set +# end of Freertos MMC Drivers +# end of Component Configuration + +# +# FreeRTOS Setting +# +# CONFIG_USE_LWIP is not set +CONFIG_USE_BACKTRACE=y +# CONFIG_USE_FATFS is not set +# CONFIG_USE_SFUD is not set +# CONFIG_USE_SPIFFS is not set +# CONFIG_USE_AMP is not set +CONFIG_USE_LETTER_SHELL=y + +# +# Letter Shell Configuration +# +CONFIG_LS_PL011_UART=y +CONFIG_DEFAULT_LETTER_SHELL_USE_UART1=y +# CONFIG_DEFAULT_LETTER_SHELL_USE_UART0 is not set +# CONFIG_DEFAULT_LETTER_SHELL_USE_UART2 is not set +# end of Letter Shell Configuration + +CONFIG_USE_TLSF=y +# CONFIG_USE_SDMMC_CMD is not set +# end of FreeRTOS Setting diff --git a/example/peripheral/dma/gdma/configs/e2000d_aarch64_eg_configs b/example/peripheral/dma/gdma/configs/e2000d_aarch64_eg_configs new file mode 100644 index 00000000..9bf2c1da --- /dev/null +++ b/example/peripheral/dma/gdma/configs/e2000d_aarch64_eg_configs @@ -0,0 +1,192 @@ + +# +# Freertos Configuration +# +CONFIG_TARGET_NAME="e2000d_freertos_a64" +# end of Freertos Configuration + +# +# Standalone Setting +# +CONFIG_USE_FREERTOS=y + +# +# Arch Configuration +# +# CONFIG_TARGET_ARMV8_AARCH32 is not set +CONFIG_TARGET_ARMV8_AARCH64=y +CONFIG_USE_CACHE=y +CONFIG_USE_MMU=y +CONFIG_USE_SYS_TICK=y +# CONFIG_MMU_DEBUG_PRINTS is not set +# end of Arch Configuration + +# +# Board Configuration +# +# CONFIG_TARGET_F2000_4 is not set +# CONFIG_TARGET_D2000 is not set +# CONFIG_TARGET_E2000Q is not set +CONFIG_TARGET_E2000D=y +# CONFIG_TARGET_E2000S is not set +CONFIG_TARGET_E2000=y +CONFIG_DEFAULT_DEBUG_PRINT_UART1=y +# CONFIG_DEFAULT_DEBUG_PRINT_UART0 is not set +# CONFIG_DEFAULT_DEBUG_PRINT_UART2 is not set +# end of Board Configuration + +# +# Components Configuration +# +# CONFIG_USE_SPI is not set +# CONFIG_USE_QSPI is not set +CONFIG_USE_GIC=y +CONFIG_ENABLE_GICV3=y +CONFIG_USE_SERIAL=y + +# +# Usart Configuration +# +CONFIG_ENABLE_Pl011_UART=y +# end of Usart Configuration + +# CONFIG_USE_GPIO is not set +# CONFIG_USE_ETH is not set +# CONFIG_USE_CAN is not set +# CONFIG_USE_I2C is not set +# CONFIG_USE_TIMER is not set +# CONFIG_USE_MIO is not set +# CONFIG_USE_SDMMC is not set +# CONFIG_USE_PCIE is not set +# CONFIG_USE_WDT is not set +CONFIG_USE_DMA=y +CONFIG_ENABLE_FGDMA=y +# CONFIG_ENABLE_FDDMA is not set +# CONFIG_USE_NAND is not set +# CONFIG_USE_RTC is not set +# CONFIG_USE_SATA is not set +# CONFIG_USE_USB is not set +# CONFIG_USE_ADC is not set +# CONFIG_USE_PWM is not set +# CONFIG_USE_IPC is not set +# end of Components Configuration + +CONFIG_USE_NEW_LIBC=y +# end of Standalone Setting + +# +# Building Option +# +# CONFIG_LOG_VERBOS is not set +# CONFIG_LOG_DEBUG is not set +# CONFIG_LOG_INFO is not set +# CONFIG_LOG_WARN is not set +CONFIG_LOG_ERROR=y +# CONFIG_LOG_NONE is not set +CONFIG_USE_DEFAULT_INTERRUPT_CONFIG=y +CONFIG_INTERRUPT_ROLE_MASTER=y +# CONFIG_INTERRUPT_ROLE_SLAVE is not set +CONFIG_LOG_EXTRA_INFO=y +# CONFIG_BOOTUP_DEBUG_PRINTS is not set + +# +# Linker Options +# +# CONFIG_AARCH32_RAM_LD is not set +CONFIG_AARCH64_RAM_LD=y +# CONFIG_USER_DEFINED_LD is not set +CONFIG_LINK_SCRIPT_ROM=y +CONFIG_ROM_START_UP_ADDR=0x80100000 +CONFIG_ROM_SIZE_MB=1 +CONFIG_LINK_SCRIPT_RAM=y +CONFIG_RAM_START_UP_ADDR=0x81000000 +CONFIG_RAM_SIZE_MB=64 +CONFIG_HEAP_SIZE=1 +CONFIG_STACK_SIZE=0x100000 +CONFIG_FPU_STACK_SIZE=0x1000 +# end of Linker Options + +# +# Compiler Options +# +CONFIG_OUTPUT_BINARY=y +# end of Compiler Options +# end of Building Option + +# +# Component Configuration +# + +# +# Freertos Uart Drivers +# +CONFIG_FREERTOS_USE_UART=y +# end of Freertos Uart Drivers + +# +# Freertos Qspi Drivers +# +# CONFIG_FREERTOS_USE_QSPI is not set +# end of Freertos Qspi Drivers + +# +# Freertos Wdt Drivers +# +# CONFIG_FREERTOS_USE_WDT is not set +# end of Freertos Wdt Drivers + +# +# Freertos Eth Drivers +# +# CONFIG_FREERTOS_USE_XMAC is not set +# end of Freertos Eth Drivers + +# +# Freertos Gpio Drivers +# +# CONFIG_FREERTOS_USE_GPIO is not set +# end of Freertos Gpio Drivers + +# +# Freertos Spim Drivers +# +# CONFIG_FREERTOS_USE_FSPIM is not set +# end of Freertos Spim Drivers + +# +# Freertos DMA Drivers +# +# CONFIG_FREERTOS_USE_FDDMA is not set +CONFIG_FREERTOS_USE_FGDMA=y +# end of Freertos DMA Drivers + +# +# Freertos MMC Drivers +# +# CONFIG_FREERTOS_USE_FSDIO is not set +# end of Freertos MMC Drivers +# end of Component Configuration + +# +# FreeRTOS Setting +# +# CONFIG_USE_LWIP is not set +CONFIG_USE_BACKTRACE=y +# CONFIG_USE_FATFS is not set +# CONFIG_USE_SFUD is not set +# CONFIG_USE_SPIFFS is not set +# CONFIG_USE_AMP is not set +CONFIG_USE_LETTER_SHELL=y + +# +# Letter Shell Configuration +# +CONFIG_LS_PL011_UART=y +CONFIG_DEFAULT_LETTER_SHELL_USE_UART1=y +# CONFIG_DEFAULT_LETTER_SHELL_USE_UART0 is not set +# CONFIG_DEFAULT_LETTER_SHELL_USE_UART2 is not set +# end of Letter Shell Configuration + +CONFIG_USE_TLSF=y +# CONFIG_USE_SDMMC_CMD is not set +# end of FreeRTOS Setting diff --git a/example/peripheral/dma/gdma/figs/memcpy.png b/example/peripheral/dma/gdma/figs/memcpy.png new file mode 100644 index 0000000000000000000000000000000000000000..f58a7a0e55d2eff7e6164c4aa8067075fc4ab4fc GIT binary patch literal 32648 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 J?l|(>{{U|TVnYA` literal 0 HcmV?d00001 diff --git a/example/peripheral/dma/gdma/inc/gdma_memcpy.h b/example/peripheral/dma/gdma/inc/gdma_memcpy.h new file mode 100644 index 00000000..7acbc277 --- /dev/null +++ b/example/peripheral/dma/gdma/inc/gdma_memcpy.h @@ -0,0 +1,48 @@ +/* + * Copyright : (C) 2022 Phytium Information Technology, Inc. + * All Rights Reserved. + * + * This program is OPEN SOURCE software: you can redistribute it and/or modify it + * under the terms of the Phytium Public License as published by the Phytium Technology Co.,Ltd, + * either version 1.0 of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful,but WITHOUT ANY WARRANTY; + * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + * See the Phytium Public License for more details. + * + * + * FilePath: gdma_memcpy.h + * Date: 2022-07-18 16:43:35 + * LastEditTime: 2022-07-18 16:43:35 + * Description:  This files is for + * + * Modify History: + * Ver   Who        Date         Changes + * ----- ------     --------    -------------------------------------- + */ +#ifndef EXAMPLE_GDMA_MEMCPY_H +#define EXAMPLE_GDMA_MEMCPY_H + +#ifdef __cplusplus +extern "C" +{ +#endif + +/***************************** Include Files *********************************/ + +/************************** Constant Definitions *****************************/ + +/************************** Variable Definitions *****************************/ + +/***************** Macros (Inline Functions) Definitions *********************/ + +/************************** Function Prototypes ******************************/ + +/*****************************************************************************/ +BaseType_t FFreeRTOSRunGdmaMemcpy(void); + +#ifdef __cplusplus +} +#endif + +#endif \ No newline at end of file diff --git a/example/peripheral/dma/gdma/main.c b/example/peripheral/dma/gdma/main.c new file mode 100644 index 00000000..c4ae2b0f --- /dev/null +++ b/example/peripheral/dma/gdma/main.c @@ -0,0 +1,44 @@ +/* + * Copyright : (C) 2022 Phytium Information Technology, Inc. + * All Rights Reserved. + * + * This program is OPEN SOURCE software: you can redistribute it and/or modify it + * under the terms of the Phytium Public License as published by the Phytium Technology Co.,Ltd, + * either version 1.0 of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful,but WITHOUT ANY WARRANTY; + * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + * See the Phytium Public License for more details. + * + * + * FilePath: main.c + * Date: 2022-06-17 08:17:59 + * LastEditTime: 2022-06-17 08:17:59 + * Description: This file is for + * + * Modify History: + * Ver Who Date Changes + * ----- ------ -------- -------------------------------------- + */ + +#include "shell.h" +#include "shell_port.h" +#include + +int main(void) +{ + BaseType_t ret; + + ret = LSUserShellTask() ; + if(ret != pdPASS) + goto FAIL_EXIT; + + /* ret = FFreeRTOSRunGdmaMemcpy(); */ + + vTaskStartScheduler(); /* 启动任务,开启调度 */ + while (1); /* 正常不会执行到这里 */ + +FAIL_EXIT: + printf("failed 0x%x \r\n", ret); + return 0; +} diff --git a/example/peripheral/dma/gdma/makefile b/example/peripheral/dma/gdma/makefile new file mode 100644 index 00000000..d5622739 --- /dev/null +++ b/example/peripheral/dma/gdma/makefile @@ -0,0 +1,29 @@ +export PROJECT_DIR ?= $(shell pwd) + +export USR_SRC_DIR = $(PROJECT_DIR) \ + ./src +export USR_INC_DIR = $(PROJECT_DIR) \ + ./inc + +# 用户定义的编译目标文件上传路径 +ifeq ($(OS),Windows_NT) + USR_BOOT_DIR ?= $(subst \,/, $(PHYTIUM_DEV_PATH))/tftp +else + USR_BOOT_DIR ?= /mnt/d/tftboot +endif + + +# 设置启动镜像名 +BOOT_IMG_NAME ?= freertos + +# 指定编译freertos项目使用的makefile +include $(FREERTOS_SDK_ROOT)/make/build_freertos.mk + +# 完成编译 +boot: + make -j + @cp ./$(CONFIG_TARGET_NAME).elf $(USR_BOOT_DIR)/$(BOOT_IMG_NAME).elf + @cp ./$(CONFIG_TARGET_NAME).bin $(USR_BOOT_DIR)/$(BOOT_IMG_NAME).bin + @ls -l $(USR_BOOT_DIR)/$(BOOT_IMG_NAME).* + + diff --git a/example/peripheral/dma/gdma/sdkconfig b/example/peripheral/dma/gdma/sdkconfig new file mode 100644 index 00000000..44248689 --- /dev/null +++ b/example/peripheral/dma/gdma/sdkconfig @@ -0,0 +1,196 @@ + +# +# Freertos Configuration +# +CONFIG_TARGET_NAME="e2000d_freertos_a32" +# end of Freertos Configuration + +# +# Standalone Setting +# +CONFIG_USE_FREERTOS=y + +# +# Arch Configuration +# +CONFIG_TARGET_ARMV8_AARCH32=y +# CONFIG_TARGET_ARMV8_AARCH64 is not set +CONFIG_USE_CACHE=y +CONFIG_USE_MMU=y +# CONFIG_USE_SYS_TICK is not set +CONFIG_USE_AARCH64_L1_TO_AARCH32=y +# end of Arch Configuration + +# +# Board Configuration +# +# CONFIG_TARGET_F2000_4 is not set +# CONFIG_TARGET_D2000 is not set +# CONFIG_TARGET_E2000Q is not set +CONFIG_TARGET_E2000D=y +# CONFIG_TARGET_E2000S is not set +CONFIG_TARGET_E2000=y +CONFIG_DEFAULT_DEBUG_PRINT_UART1=y +# CONFIG_DEFAULT_DEBUG_PRINT_UART0 is not set +# CONFIG_DEFAULT_DEBUG_PRINT_UART2 is not set +# end of Board Configuration + +# +# Components Configuration +# +# CONFIG_USE_SPI is not set +# CONFIG_USE_QSPI is not set +CONFIG_USE_GIC=y +CONFIG_ENABLE_GICV3=y +CONFIG_USE_SERIAL=y + +# +# Usart Configuration +# +CONFIG_ENABLE_Pl011_UART=y +# end of Usart Configuration + +# CONFIG_USE_GPIO is not set +# CONFIG_USE_ETH is not set +# CONFIG_USE_CAN is not set +# CONFIG_USE_I2C is not set +# CONFIG_USE_TIMER is not set +# CONFIG_USE_MIO is not set +# CONFIG_USE_SDMMC is not set +# CONFIG_USE_PCIE is not set +# CONFIG_USE_WDT is not set +CONFIG_USE_DMA=y +CONFIG_ENABLE_FGDMA=y +# CONFIG_ENABLE_FDDMA is not set +# CONFIG_USE_NAND is not set +# CONFIG_USE_RTC is not set +# CONFIG_USE_SATA is not set +# CONFIG_USE_USB is not set +# CONFIG_USE_ADC is not set +# CONFIG_USE_PWM is not set +# CONFIG_USE_IPC is not set +# end of Components Configuration + +CONFIG_USE_NEW_LIBC=y +# end of Standalone Setting + +# +# Building Option +# +# CONFIG_LOG_VERBOS is not set +# CONFIG_LOG_DEBUG is not set +# CONFIG_LOG_INFO is not set +# CONFIG_LOG_WARN is not set +CONFIG_LOG_ERROR=y +# CONFIG_LOG_NONE is not set +CONFIG_USE_DEFAULT_INTERRUPT_CONFIG=y +CONFIG_INTERRUPT_ROLE_MASTER=y +# CONFIG_INTERRUPT_ROLE_SLAVE is not set +CONFIG_LOG_EXTRA_INFO=y +# CONFIG_BOOTUP_DEBUG_PRINTS is not set + +# +# Linker Options +# +CONFIG_AARCH32_RAM_LD=y +# CONFIG_AARCH64_RAM_LD is not set +# CONFIG_USER_DEFINED_LD is not set +CONFIG_LINK_SCRIPT_ROM=y +CONFIG_ROM_START_UP_ADDR=0x80100000 +CONFIG_ROM_SIZE_MB=1 +CONFIG_LINK_SCRIPT_RAM=y +CONFIG_RAM_START_UP_ADDR=0x81000000 +CONFIG_RAM_SIZE_MB=64 +CONFIG_HEAP_SIZE=1 +CONFIG_SVC_STACK_SIZE=0x1000 +CONFIG_SYS_STACK_SIZE=0x1000 +CONFIG_IRQ_STACK_SIZE=0x1000 +CONFIG_ABORT_STACK_SIZE=0x1000 +CONFIG_FIQ_STACK_SIZE=0x1000 +CONFIG_UNDEF_STACK_SIZE=0x1000 +# end of Linker Options + +# +# Compiler Options +# +CONFIG_OUTPUT_BINARY=y +# end of Compiler Options +# end of Building Option + +# +# Component Configuration +# + +# +# Freertos Uart Drivers +# +CONFIG_FREERTOS_USE_UART=y +# end of Freertos Uart Drivers + +# +# Freertos Qspi Drivers +# +# CONFIG_FREERTOS_USE_QSPI is not set +# end of Freertos Qspi Drivers + +# +# Freertos Wdt Drivers +# +# CONFIG_FREERTOS_USE_WDT is not set +# end of Freertos Wdt Drivers + +# +# Freertos Eth Drivers +# +# CONFIG_FREERTOS_USE_XMAC is not set +# end of Freertos Eth Drivers + +# +# Freertos Gpio Drivers +# +# CONFIG_FREERTOS_USE_GPIO is not set +# end of Freertos Gpio Drivers + +# +# Freertos Spim Drivers +# +# CONFIG_FREERTOS_USE_FSPIM is not set +# end of Freertos Spim Drivers + +# +# Freertos DMA Drivers +# +# CONFIG_FREERTOS_USE_FDDMA is not set +CONFIG_FREERTOS_USE_FGDMA=y +# end of Freertos DMA Drivers + +# +# Freertos MMC Drivers +# +# CONFIG_FREERTOS_USE_FSDIO is not set +# end of Freertos MMC Drivers +# end of Component Configuration + +# +# FreeRTOS Setting +# +# CONFIG_USE_LWIP is not set +CONFIG_USE_BACKTRACE=y +# CONFIG_USE_FATFS is not set +# CONFIG_USE_SFUD is not set +# CONFIG_USE_SPIFFS is not set +# CONFIG_USE_AMP is not set +CONFIG_USE_LETTER_SHELL=y + +# +# Letter Shell Configuration +# +CONFIG_LS_PL011_UART=y +CONFIG_DEFAULT_LETTER_SHELL_USE_UART1=y +# CONFIG_DEFAULT_LETTER_SHELL_USE_UART0 is not set +# CONFIG_DEFAULT_LETTER_SHELL_USE_UART2 is not set +# end of Letter Shell Configuration + +CONFIG_USE_TLSF=y +# CONFIG_USE_SDMMC_CMD is not set +# end of FreeRTOS Setting diff --git a/example/peripheral/dma/gdma/sdkconfig.h b/example/peripheral/dma/gdma/sdkconfig.h new file mode 100644 index 00000000..49fd351e --- /dev/null +++ b/example/peripheral/dma/gdma/sdkconfig.h @@ -0,0 +1,176 @@ +#ifndef SDK_CONFIG_H__ +#define SDK_CONFIG_H__ + +/* Freertos Configuration */ + +#define CONFIG_TARGET_NAME "e2000d_freertos_a32" +/* end of Freertos Configuration */ + +/* Standalone Setting */ + +#define CONFIG_USE_FREERTOS + +/* Arch Configuration */ + +#define CONFIG_TARGET_ARMV8_AARCH32 +/* CONFIG_TARGET_ARMV8_AARCH64 is not set */ +#define CONFIG_USE_CACHE +#define CONFIG_USE_MMU +/* CONFIG_USE_SYS_TICK is not set */ +#define CONFIG_USE_AARCH64_L1_TO_AARCH32 +/* end of Arch Configuration */ + +/* Board Configuration */ + +/* CONFIG_TARGET_F2000_4 is not set */ +/* CONFIG_TARGET_D2000 is not set */ +/* CONFIG_TARGET_E2000Q is not set */ +#define CONFIG_TARGET_E2000D +/* CONFIG_TARGET_E2000S is not set */ +#define CONFIG_TARGET_E2000 +#define CONFIG_DEFAULT_DEBUG_PRINT_UART1 +/* CONFIG_DEFAULT_DEBUG_PRINT_UART0 is not set */ +/* CONFIG_DEFAULT_DEBUG_PRINT_UART2 is not set */ +/* end of Board Configuration */ + +/* Components Configuration */ + +/* CONFIG_USE_SPI is not set */ +/* CONFIG_USE_QSPI is not set */ +#define CONFIG_USE_GIC +#define CONFIG_ENABLE_GICV3 +#define CONFIG_USE_SERIAL + +/* Usart Configuration */ + +#define CONFIG_ENABLE_Pl011_UART +/* end of Usart Configuration */ +/* CONFIG_USE_GPIO is not set */ +/* CONFIG_USE_ETH is not set */ +/* CONFIG_USE_CAN is not set */ +/* CONFIG_USE_I2C is not set */ +/* CONFIG_USE_TIMER is not set */ +/* CONFIG_USE_MIO is not set */ +/* CONFIG_USE_SDMMC is not set */ +/* CONFIG_USE_PCIE is not set */ +/* CONFIG_USE_WDT is not set */ +#define CONFIG_USE_DMA +#define CONFIG_ENABLE_FGDMA +/* CONFIG_ENABLE_FDDMA is not set */ +/* CONFIG_USE_NAND is not set */ +/* CONFIG_USE_RTC is not set */ +/* CONFIG_USE_SATA is not set */ +/* CONFIG_USE_USB is not set */ +/* CONFIG_USE_ADC is not set */ +/* CONFIG_USE_PWM is not set */ +/* CONFIG_USE_IPC is not set */ +/* end of Components Configuration */ +#define CONFIG_USE_NEW_LIBC +/* end of Standalone Setting */ + +/* Building Option */ + +/* CONFIG_LOG_VERBOS is not set */ +/* CONFIG_LOG_DEBUG is not set */ +/* CONFIG_LOG_INFO is not set */ +/* CONFIG_LOG_WARN is not set */ +#define CONFIG_LOG_ERROR +/* CONFIG_LOG_NONE is not set */ +#define CONFIG_USE_DEFAULT_INTERRUPT_CONFIG +#define CONFIG_INTERRUPT_ROLE_MASTER +/* CONFIG_INTERRUPT_ROLE_SLAVE is not set */ +#define CONFIG_LOG_EXTRA_INFO +/* CONFIG_BOOTUP_DEBUG_PRINTS is not set */ + +/* Linker Options */ + +#define CONFIG_AARCH32_RAM_LD +/* CONFIG_AARCH64_RAM_LD is not set */ +/* CONFIG_USER_DEFINED_LD is not set */ +#define CONFIG_LINK_SCRIPT_ROM +#define CONFIG_ROM_START_UP_ADDR 0x80100000 +#define CONFIG_ROM_SIZE_MB 1 +#define CONFIG_LINK_SCRIPT_RAM +#define CONFIG_RAM_START_UP_ADDR 0x81000000 +#define CONFIG_RAM_SIZE_MB 64 +#define CONFIG_HEAP_SIZE 1 +#define CONFIG_SVC_STACK_SIZE 0x1000 +#define CONFIG_SYS_STACK_SIZE 0x1000 +#define CONFIG_IRQ_STACK_SIZE 0x1000 +#define CONFIG_ABORT_STACK_SIZE 0x1000 +#define CONFIG_FIQ_STACK_SIZE 0x1000 +#define CONFIG_UNDEF_STACK_SIZE 0x1000 +/* end of Linker Options */ + +/* Compiler Options */ + +#define CONFIG_OUTPUT_BINARY +/* end of Compiler Options */ +/* end of Building Option */ + +/* Component Configuration */ + +/* Freertos Uart Drivers */ + +#define CONFIG_FREERTOS_USE_UART +/* end of Freertos Uart Drivers */ + +/* Freertos Qspi Drivers */ + +/* CONFIG_FREERTOS_USE_QSPI is not set */ +/* end of Freertos Qspi Drivers */ + +/* Freertos Wdt Drivers */ + +/* CONFIG_FREERTOS_USE_WDT is not set */ +/* end of Freertos Wdt Drivers */ + +/* Freertos Eth Drivers */ + +/* CONFIG_FREERTOS_USE_XMAC is not set */ +/* end of Freertos Eth Drivers */ + +/* Freertos Gpio Drivers */ + +/* CONFIG_FREERTOS_USE_GPIO is not set */ +/* end of Freertos Gpio Drivers */ + +/* Freertos Spim Drivers */ + +/* CONFIG_FREERTOS_USE_FSPIM is not set */ +/* end of Freertos Spim Drivers */ + +/* Freertos DMA Drivers */ + +/* CONFIG_FREERTOS_USE_FDDMA is not set */ +#define CONFIG_FREERTOS_USE_FGDMA +/* end of Freertos DMA Drivers */ + +/* Freertos MMC Drivers */ + +/* CONFIG_FREERTOS_USE_FSDIO is not set */ +/* end of Freertos MMC Drivers */ +/* end of Component Configuration */ + +/* FreeRTOS Setting */ + +/* CONFIG_USE_LWIP is not set */ +#define CONFIG_USE_BACKTRACE +/* CONFIG_USE_FATFS is not set */ +/* CONFIG_USE_SFUD is not set */ +/* CONFIG_USE_SPIFFS is not set */ +/* CONFIG_USE_AMP is not set */ +#define CONFIG_USE_LETTER_SHELL + +/* Letter Shell Configuration */ + +#define CONFIG_LS_PL011_UART +#define CONFIG_DEFAULT_LETTER_SHELL_USE_UART1 +/* CONFIG_DEFAULT_LETTER_SHELL_USE_UART0 is not set */ +/* CONFIG_DEFAULT_LETTER_SHELL_USE_UART2 is not set */ +/* end of Letter Shell Configuration */ +#define CONFIG_USE_TLSF +/* CONFIG_USE_SDMMC_CMD is not set */ +/* end of FreeRTOS Setting */ + +#endif diff --git a/example/peripheral/dma/gdma/src/cmd_gdma.c b/example/peripheral/dma/gdma/src/cmd_gdma.c new file mode 100644 index 00000000..84ea8c1f --- /dev/null +++ b/example/peripheral/dma/gdma/src/cmd_gdma.c @@ -0,0 +1,54 @@ +/* + * Copyright : (C) 2022 Phytium Information Technology, Inc. + * All Rights Reserved. + * + * This program is OPEN SOURCE software: you can redistribute it and/or modify it + * under the terms of the Phytium Public License as published by the Phytium Technology Co.,Ltd, + * either version 1.0 of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful,but WITHOUT ANY WARRANTY; + * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + * See the Phytium Public License for more details. + * + * + * FilePath: cmd_gdma.c + * Date: 2022-07-14 14:06:43 + * LastEditTime: 2022-07-14 14:06:43 + * Description:  This files is for + * + * Modify History: + * Ver   Who        Date         Changes + * ----- ------     --------    -------------------------------------- + */ +/***************************** Include Files *********************************/ +#include +#include +#include "strto.h" +#include "sdkconfig.h" + +#include "FreeRTOS.h" + +#include "../src/shell.h" +#include "gdma_memcpy.h" +/************************** Constant Definitions *****************************/ + +/************************** Variable Definitions *****************************/ + +/***************** Macros (Inline Functions) Definitions *********************/ + +/************************** Function Prototypes ******************************/ + +/*****************************************************************************/ +static int GdmaCmdEntry(int argc, char *argv[]) +{ + int ret = 0; + + if (!strcmp(argv[1], "memcpy")) + { + + ret = FFreeRTOSRunGdmaMemcpy(); + } + + return ret; +} +SHELL_EXPORT_CMD(SHELL_CMD_TYPE(SHELL_TYPE_CMD_MAIN), gdma, GdmaCmdEntry, test freertos gdma driver); \ No newline at end of file diff --git a/example/peripheral/dma/gdma/src/gdma_memcpy.c b/example/peripheral/dma/gdma/src/gdma_memcpy.c new file mode 100644 index 00000000..f3ccb1aa --- /dev/null +++ b/example/peripheral/dma/gdma/src/gdma_memcpy.c @@ -0,0 +1,414 @@ +/* + * Copyright : (C) 2022 Phytium Information Technology, Inc. + * All Rights Reserved. + * + * This program is OPEN SOURCE software: you can redistribute it and/or modify it + * under the terms of the Phytium Public License as published by the Phytium Technology Co.,Ltd, + * either version 1.0 of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful,but WITHOUT ANY WARRANTY; + * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + * See the Phytium Public License for more details. + * + * + * FilePath: gdma_memcpy.c + * Date: 2022-07-20 11:07:42 + * LastEditTime: 2022-07-20 11:16:57 + * Description:  This files is for + * + * Modify History: + * Ver   Who        Date         Changes + * ----- ------     --------    -------------------------------------- + */ +/***************************** Include Files *********************************/ +#include + +#include "FreeRTOSConfig.h" +#include "FreeRTOS.h" +#include "task.h" +#include "queue.h" + +#include "kernel.h" +#include "cache.h" +#include "ft_assert.h" +#include "ft_debug.h" +#include "fpinctrl.h" + +#include "fgdma_os.h" +/************************** Constant Definitions *****************************/ +#define GDMA_CHAN_TRANS_END(chan) (0x1U << (chan)) +#define GDMA_BUF_A_LEN 200U +#define GDMA_BUF_B_LEN 1024U +#define GDMA_WORK_TASK_NUM 2U +/**************************** Type Definitions *******************************/ + +/************************** Variable Definitions *****************************/ +static FFreeRTOSGdma *gdma = NULL; +static TaskHandle_t task_a = NULL; +static TaskHandle_t task_b = NULL; +static TimerHandle_t exit_timer = NULL; +static EventGroupHandle_t chan_evt = NULL; +static xSemaphoreHandle init_locker = NULL; +static u8 src_a[GDMA_BUF_A_LEN] __attribute__((aligned(4))) = {0U}; +static u8 dst_a[GDMA_BUF_A_LEN] __attribute__((aligned(4))) = {0U}; +static u8 src_b[GDMA_BUF_B_LEN] __attribute__((aligned(4))) = {0U}; +static u8 dst_b[GDMA_BUF_B_LEN] __attribute__((aligned(4))) = {0U}; +static u32 chan_evt_bits = 0U; /* bits by GDMA_CHAN_TRANS_END */ +static u32 memcpy_times = 3U; +static boolean is_running = FALSE; + +/***************** Macros (Inline Functions) Definitions *********************/ +#define FGDMA_DEBUG_TAG "GDMA-MEM" +#define FGDMA_ERROR(format, ...) FT_DEBUG_PRINT_E(FGDMA_DEBUG_TAG, format, ##__VA_ARGS__) +#define FGDMA_WARN(format, ...) FT_DEBUG_PRINT_W(FGDMA_DEBUG_TAG, format, ##__VA_ARGS__) +#define FGDMA_INFO(format, ...) FT_DEBUG_PRINT_I(FGDMA_DEBUG_TAG, format, ##__VA_ARGS__) +#define FGDMA_DEBUG(format, ...) FT_DEBUG_PRINT_D(FGDMA_DEBUG_TAG, format, ##__VA_ARGS__) + +/************************** Function Prototypes ******************************/ + +/*****************************************************************************/ + +static void GdmaMemcpyExitCallback(TimerHandle_t timer) +{ + printf("exiting...\r\n"); + + if (task_a) /* stop and delete send task */ + { + vTaskDelete(task_a); + task_a = NULL; + } + + if (task_b) /* stop and delete recv task */ + { + vTaskDelete(task_b); + task_a = NULL; + } + + if (chan_evt) + { + vEventGroupDelete(chan_evt); + chan_evt = NULL; + chan_evt_bits = 0U; + } + + if (init_locker) + { + vSemaphoreDelete(init_locker); + init_locker = NULL; + } + + if (gdma) + { + if (FT_SUCCESS != FFreeRTOSGdmaDeInit(gdma)) + { + FGDMA_ERROR("delete gdma failed !!!"); + } + gdma = NULL; + } + + if (exit_timer) + { + if (pdPASS != xTimerDelete(exit_timer, 0)) + { + FGDMA_ERROR("delete exit timer failed !!!"); + } + exit_timer = NULL; + } + + is_running = FALSE; +} + +static FFreeRTOSGdmaRequest *GdmaPrepareRequest(u8 *src, u8 *dst, fsize_t buf_len, fsize_t trans_num) +{ + FASSERT_MSG(buf_len % trans_num == 0, "invalid transaction num"); + FFreeRTOSGdmaRequest *req = pvPortMalloc(sizeof(FFreeRTOSGdmaRequest)); + fsize_t loop; + fsize_t pre_buf_len = buf_len / trans_num; + + req->trans = pvPortMalloc(sizeof(FFreeRTOSGdmaTranscation) * trans_num); + req->valid_trans_num = 0U; + req->total_trans_num = trans_num; + for (loop = 0; loop < trans_num; loop++) + { + req->trans[loop].src_buf = src + pre_buf_len * loop; + req->trans[loop].dst_buf = dst + pre_buf_len * loop; + req->trans[loop].data_len = pre_buf_len; + FGDMA_INFO("src: %p, dst: %p, len: %d", req->trans[loop].src_buf, req->trans[loop].dst_buf, + req->trans[loop].data_len); + req->valid_trans_num++; + } + + return req; +} + +static void GdmaMemcpyAckChanXEnd(FGdmaChan *const chan, void *args) +{ + FASSERT(chan); + FGdmaChanIndex chan_id = chan->config.chan_id; + + BaseType_t xhigher_priority_task_woken = pdFALSE; + BaseType_t x_result = pdFALSE; + + FGDMA_INFO("ack gdma chan %d", chan_id); + x_result = xEventGroupSetBitsFromISR(chan_evt, GDMA_CHAN_TRANS_END(chan_id), + &xhigher_priority_task_woken); + + return; +} + +static boolean GdmaMemcpyWaitChanXEnd(u32 chan_id) +{ + const TickType_t wait_delay = pdMS_TO_TICKS(5000UL); /* wait for 5 seconds */ + EventBits_t ev; + boolean ok = FALSE; + + /* block task to wait memcpy finish signal */ + ev = xEventGroupWaitBits(chan_evt, GDMA_CHAN_TRANS_END(chan_id), + pdTRUE, pdTRUE, wait_delay); /* wait for all bits */ + if ((ev & GDMA_CHAN_TRANS_END(chan_id))) /* wait until channel finished memcpy */ + { + FGDMA_INFO("memcpy finished !! chan bits: 0x%x", chan_evt_bits); + ok = TRUE; + } + else + { + FGDMA_ERROR("wait memcpy timeout !!! 0x%x != 0x%x", ev, chan_evt_bits); + ok = FALSE; + } + + return ok; +} + +static void GdmaInitTask(void *args) +{ + u32 gdma_id = FGDMA0_ID; + + gdma = FFreeRTOSGdmaInit(gdma_id); + FASSERT_MSG(gdma, "init gdma failed"); + + FASSERT_MSG(init_locker, "init locker NULL"); + for (u32 loop = 0U; loop < GDMA_WORK_TASK_NUM; loop++) + { + xSemaphoreGive(init_locker); + } + + vTaskDelete(NULL); +} + +static void GdmaMemcpyTaskA(void *args) +{ + FASSERT(init_locker); + xSemaphoreTake(init_locker, portMAX_DELAY); + + char ch = 'A'; + u32 chan_id = 0U; + u8 times = 0U; + FError err = FT_SUCCESS; + const TickType_t wait_delay = pdMS_TO_TICKS(2000UL); /* wait for 2 seconds */ + FFreeRTOSGdmaRequest *req_a = GdmaPrepareRequest(src_a, dst_a, GDMA_BUF_A_LEN, 5); + + req_a->req_done_handler = GdmaMemcpyAckChanXEnd; + req_a->req_done_args = NULL; + + err = FFreeRTOSGdmaSetupChannel(gdma, chan_id, req_a); + if (FT_SUCCESS != err) + { + FGDMA_ERROR("setup chan-%d failed", chan_id); + goto task_err; + } + + for (;;) + { + FGDMA_INFO("[A]start memcpy data ..."); + + /* recv task has high priority, send task will not run before recv task blocked */ + ch = (char)('A' + (times) % 10); /* send different content each time */ + + memset(src_a, ch, GDMA_BUF_A_LEN); + memset(dst_a, 0, GDMA_BUF_A_LEN); + + FCacheDCacheInvalidateRange((uintptr)src_a, GDMA_BUF_A_LEN); + FCacheDCacheInvalidateRange((uintptr)dst_a, GDMA_BUF_A_LEN); + + if (FT_SUCCESS != FFreeRTOSGdmaStart(gdma, chan_id)) + { + FGDMA_ERROR("[A]start failed !!!"); + goto task_err; + } + + if (!GdmaMemcpyWaitChanXEnd(chan_id)) + { + goto task_err; + } + + FCacheDCacheInvalidateRange((uintptr)src_a, GDMA_BUF_A_LEN); + FCacheDCacheInvalidateRange((uintptr)dst_a, GDMA_BUF_A_LEN); + + /* compare if memcpy success */ + if (0 == memcmp(src_a, dst_a, GDMA_BUF_A_LEN)) + { + taskENTER_CRITICAL(); + printf("[A]memcpy success !!!\r\n"); + printf("[A]src buf...\r\n"); + FtDumpHexByte((const u8 *)src_a, min(GDMA_BUF_A_LEN, (fsize_t)64U)); + printf("[A]dst buf...\r\n"); + FtDumpHexByte((const u8 *)dst_a, min(GDMA_BUF_A_LEN, (fsize_t)64U)); + taskEXIT_CRITICAL(); + } + else + { + FGDMA_ERROR("[A]src != dst, memcpy failed !!!"); + goto task_err; + } + + if (times++ > memcpy_times) + break; + + vTaskDelay(wait_delay); + } + +task_err: + (void)FFreeRTOSGdmaRevokeChannel(gdma, chan_id); + printf("[A]exit from memcpy task !!!\r\n"); + vTaskSuspend(NULL); /* failed, not able to run, suspend task itself */ +} + +static void GdmaMemcpyTaskB(void *args) +{ + FASSERT(init_locker); + xSemaphoreTake(init_locker, portMAX_DELAY); + + char ch = '0'; + u8 times = 0U; + u32 chan_id = 1U; + FError err = FT_SUCCESS; + const TickType_t wait_delay = pdMS_TO_TICKS(2000UL); /* wait for 2 seconds */ + FFreeRTOSGdmaRequest *req_b = GdmaPrepareRequest(src_b, dst_b, GDMA_BUF_B_LEN, chan_id); + + req_b->req_done_handler = GdmaMemcpyAckChanXEnd; + req_b->req_done_args = NULL; + + err = FFreeRTOSGdmaSetupChannel(gdma, chan_id, req_b); + if (FT_SUCCESS != err) + { + FGDMA_ERROR("setup chan-%d failed", chan_id); + goto task_err; + } + + for (;;) + { + FGDMA_INFO("[B]start memcpy ..."); + + /* recv task has high priority, send task will not run before recv task blocked */ + ch = (char)('0' + (times) % 10); /* send different content each time */ + + memset(src_b, ch, GDMA_BUF_B_LEN); + memset(dst_b, 0, GDMA_BUF_B_LEN); + + FCacheDCacheInvalidateRange((uintptr)src_b, GDMA_BUF_B_LEN); + FCacheDCacheInvalidateRange((uintptr)dst_b, GDMA_BUF_B_LEN); + + if (FT_SUCCESS != FFreeRTOSGdmaStart(gdma, chan_id)) + { + FGDMA_ERROR("[B]start failed !!!"); + goto task_err; + } + + if (!GdmaMemcpyWaitChanXEnd(chan_id)) + { + goto task_err; + } + + /* compare if memcpy success */ + if (0 == memcmp(src_b, dst_b, GDMA_BUF_B_LEN)) + { + taskENTER_CRITICAL(); + printf("[B]memcpy success !!!\r\n"); + printf("[B]src buf...\r\n"); + FtDumpHexByte((const u8 *)src_b, min(GDMA_BUF_B_LEN, (fsize_t)64U)); + printf("[B]dst buf...\r\n"); + FtDumpHexByte((const u8 *)dst_b, min(GDMA_BUF_B_LEN, (fsize_t)64U)); + taskEXIT_CRITICAL(); + } + else + { + FGDMA_ERROR("[B]src != dst, memcpy failed !!!"); + goto task_err; + } + + if (times++ > memcpy_times) + break; + + vTaskDelay(wait_delay); + } + +task_err: + (void)FFreeRTOSGdmaRevokeChannel(gdma, chan_id); + printf("[B]exit from memcpy task !!!\r\n"); + vTaskSuspend(NULL); /* failed, not able to run, suspend task itself */ +} + +BaseType_t FFreeRTOSRunGdmaMemcpy(void) +{ + BaseType_t ret = pdPASS; + const TickType_t total_run_time = pdMS_TO_TICKS(30000UL); /* loopback run for 30 secs deadline */ + + if (is_running) + { + FGDMA_ERROR("task is running !!!!"); + return pdPASS; + } + + is_running = TRUE; + + FASSERT_MSG(NULL == chan_evt, "event group exists !!!"); + FASSERT_MSG((chan_evt = xEventGroupCreate()) != NULL, "create event group failed !!!"); + + FASSERT_MSG(NULL == init_locker, "init locker exists !!!"); + FASSERT_MSG((init_locker = xSemaphoreCreateCounting(GDMA_WORK_TASK_NUM, 0U)) != NULL, "create event group failed !!!"); + + taskENTER_CRITICAL(); /* no schedule when create task */ + + ret = xTaskCreate((TaskFunction_t )GdmaInitTask, /* task entry */ + (const char* )"GdmaInitTask",/* task name */ + (uint16_t )1024, /* task stack size in words */ + NULL, /* task params */ + (UBaseType_t )configMAX_PRIORITIES - 1, /* task priority */ + NULL); /* task handler */ + + FASSERT_MSG(pdPASS == ret, "create task failed"); + + ret = xTaskCreate((TaskFunction_t )GdmaMemcpyTaskA, /* task entry */ + (const char* )"GdmaMemcpyTaskA",/* task name */ + (uint16_t )4096, /* task stack size in words */ + NULL, /* task params */ + (UBaseType_t )configMAX_PRIORITIES - 1, /* task priority */ + (TaskHandle_t* )&task_a); /* task handler */ + + FASSERT_MSG(pdPASS == ret, "create task failed"); + + ret = xTaskCreate((TaskFunction_t )GdmaMemcpyTaskB, /* task entry */ + (const char* )"GdmaMemcpyTaskB",/* task name */ + (uint16_t )4096, /* task stack size in words */ + NULL, /* task params */ + (UBaseType_t )configMAX_PRIORITIES - 2, /* task priority */ + (TaskHandle_t* )&task_b); /* task handler */ + + FASSERT_MSG(pdPASS == ret, "create task failed"); + + exit_timer = xTimerCreate("Exit-Timer", /* Text name for the software timer - not used by FreeRTOS. */ + total_run_time, /* The software timer's period in ticks. */ + pdFALSE, /* Setting uxAutoRealod to pdFALSE creates a one-shot software timer. */ + NULL, /* use timer id to pass task data for reference. */ + GdmaMemcpyExitCallback); /* The callback function to be used by the software timer being created. */ + + FASSERT_MSG(NULL != exit_timer, "create exit timer failed"); + + taskEXIT_CRITICAL(); /* allow schedule since task created */ + + ret = xTimerStart(exit_timer, 0); /* start */ + + FASSERT_MSG(pdPASS == ret, "start exit timer failed"); + + return ret; +} \ No newline at end of file diff --git a/example/peripheral/gpio/Kconfig b/example/peripheral/gpio/Kconfig new file mode 100644 index 00000000..0277fb85 --- /dev/null +++ b/example/peripheral/gpio/Kconfig @@ -0,0 +1,19 @@ +# +# For a description of the syntax of this configuration file, +# see tools/kconfiglib/kconfig-language.txt. +# + + +mainmenu "Phytium Freertos Configuration" + + menu "Freertos Configuration" + config TARGET_NAME + string "Build Target Name" + default "freertos" + help + Build Target name for the demo + +endmenu + +source "$(FREERTOS_SDK_ROOT)/Kconfig" + diff --git a/example/peripheral/gpio/README.md b/example/peripheral/gpio/README.md new file mode 100644 index 00000000..19ec7c30 --- /dev/null +++ b/example/peripheral/gpio/README.md @@ -0,0 +1,114 @@ +# GDMA内存搬运测试 + +## 1. 例程介绍 + +GPIO (General-purpose input/output),即通用型输入输出,其引脚可以供使用者通过程序控制其输入、输出,常用于产生时钟,作为片选信号和模拟低速通信协议等场景 + +本例程通过 GPIO 控制器驱动,实现电平输出和电平输入功能,通过短接输出引脚和输入引脚,实现输入引脚中断触发功能 + +## 2. 如何使用例程 + +本例程需要用到 +- Phytium开发板(E2000) +- [Phytium FreeRTOS SDK](https://gitee.com/phytium_embedded/phytium-free-rtos-sdk) +- [Phytium Standalone SDK](https://gitee.com/phytium_embedded/phytium-standalone-sdk) + +### 2.1 硬件配置方法 + +本例程支持的硬件平台包括 + +- E2000 + +对应的配置项是, + +- CONFIG_TARGET_E2000 + +本例程在 E2000-A测试板和B测试板完成测试 + +### 2.2 SDK配置方法 + +本例程需要, + +- 使能Shell +- 使能GPIO + +对应的配置项是, + +- CONFIG_USE_LETTER_SHELL +- CONFIG_FREERTOS_USE_GPIO + +本例子已经提供好具体的编译指令,以下进行介绍: +- make 将目录下的工程进行编译 +- make clean 将目录下的工程进行清理 +- make boot 将目录下的工程进行编译,并将生成的elf 复制到目标地址 +- make load_e2000q_aarch64 将预设64bit e2000q 下的配置加载至工程中 +- make load_e2000q_aarch32 将预设32bit e2000q 下的配置加载至工程中 +- make menuconfig 配置目录下的参数变量 +- make backup_kconfig 将目录下的sdkconfig 备份到./configs下 + +具体使用方法为: +- 在当前目录下 +- 执行以上指令 + +### 2.3 构建和下载 + +#### 2.3.1 构建过程 + +- 在host侧完成配置 +> 配置成 e2000q,对于其它平台,使用对于的默认配置,如, + +- 选择目标平台 +``` +make load_e2000q_aarch64 +``` + +- 选择例程需要的配置 +``` +make menuconfig +``` + +- 进行编译 +``` +make +``` + +- 将编译出的镜像放置到tftp目录下 +``` +make boot +``` + +#### 2.3.2 下载过程 + +- host侧设置重启host侧tftp服务器 +``` +sudo service tftpd-hpa restart +``` + +- 开发板侧使用bootelf命令跳转 +``` +setenv ipaddr 192.168.4.20 +setenv serverip 192.168.4.50 +setenv gatewayip 192.168.4.1 +tftpboot 0xa0100000 freertos.elf +bootelf -p 0xa0100000 +``` + +### 2.4 输出与实验现象 + +- 系统进入后,创建两个任务,一个控制输出引脚电平,另一个检查输入引脚电平,同时等待中断触发 + +``` +gpio io-irq +``` + +![gpio_io_irq](./figs/gpio_io_irq.png) + + +## 3. 如何解决问题 + + +## 4. 修改历史记录 + + + + diff --git a/example/peripheral/gpio/configs/e2000d_aarch32_eg_configs b/example/peripheral/gpio/configs/e2000d_aarch32_eg_configs new file mode 100644 index 00000000..90e22ae7 --- /dev/null +++ b/example/peripheral/gpio/configs/e2000d_aarch32_eg_configs @@ -0,0 +1,201 @@ + +# +# Freertos Configuration +# +CONFIG_TARGET_NAME="e2000d_freertos_a32" +# end of Freertos Configuration + +# +# Standalone Setting +# +CONFIG_USE_FREERTOS=y + +# +# Arch Configuration +# +CONFIG_TARGET_ARMV8_AARCH32=y +# CONFIG_TARGET_ARMV8_AARCH64 is not set +CONFIG_USE_CACHE=y +CONFIG_USE_MMU=y +CONFIG_USE_SYS_TICK=y +CONFIG_USE_AARCH64_L1_TO_AARCH32=y +# end of Arch Configuration + +# +# Board Configuration +# +# CONFIG_TARGET_F2000_4 is not set +# CONFIG_TARGET_D2000 is not set +# CONFIG_TARGET_E2000Q is not set +CONFIG_TARGET_E2000D=y +# CONFIG_TARGET_E2000S is not set +CONFIG_TARGET_E2000=y +CONFIG_DEFAULT_DEBUG_PRINT_UART1=y +# CONFIG_DEFAULT_DEBUG_PRINT_UART0 is not set +# CONFIG_DEFAULT_DEBUG_PRINT_UART2 is not set +# end of Board Configuration + +# +# Components Configuration +# +# CONFIG_USE_SPI is not set +# CONFIG_USE_QSPI is not set +CONFIG_USE_GIC=y +CONFIG_ENABLE_GICV3=y +CONFIG_USE_SERIAL=y + +# +# Usart Configuration +# +CONFIG_ENABLE_Pl011_UART=y +# end of Usart Configuration + +CONFIG_USE_GPIO=y +CONFIG_ENABLE_FGPIO=y +# CONFIG_USE_ETH is not set +# CONFIG_USE_CAN is not set +# CONFIG_USE_I2C is not set +# CONFIG_USE_TIMER is not set +# CONFIG_USE_MIO is not set +# CONFIG_USE_SDMMC is not set +# CONFIG_USE_PCIE is not set +# CONFIG_USE_WDT is not set +# CONFIG_USE_DMA is not set +# CONFIG_USE_NAND is not set +# CONFIG_USE_RTC is not set +# CONFIG_USE_SATA is not set +# CONFIG_USE_USB is not set +# CONFIG_USE_ADC is not set +# CONFIG_USE_PWM is not set +# CONFIG_USE_IPC is not set +# end of Components Configuration + +CONFIG_USE_NEW_LIBC=y +# end of Standalone Setting + +# +# Building Option +# +# CONFIG_LOG_VERBOS is not set +# CONFIG_LOG_DEBUG is not set +CONFIG_LOG_INFO=y +# CONFIG_LOG_WARN is not set +# CONFIG_LOG_ERROR is not set +# CONFIG_LOG_NONE is not set +CONFIG_USE_DEFAULT_INTERRUPT_CONFIG=y +CONFIG_INTERRUPT_ROLE_MASTER=y +# CONFIG_INTERRUPT_ROLE_SLAVE is not set +# CONFIG_LOG_EXTRA_INFO is not set +# CONFIG_BOOTUP_DEBUG_PRINTS is not set + +# +# Linker Options +# +CONFIG_AARCH32_RAM_LD=y +# CONFIG_AARCH64_RAM_LD is not set +# CONFIG_USER_DEFINED_LD is not set +CONFIG_LINK_SCRIPT_ROM=y +CONFIG_ROM_START_UP_ADDR=0x80100000 +CONFIG_ROM_SIZE_MB=1 +CONFIG_LINK_SCRIPT_RAM=y +CONFIG_RAM_START_UP_ADDR=0x81000000 +CONFIG_RAM_SIZE_MB=64 +CONFIG_HEAP_SIZE=1 +CONFIG_SVC_STACK_SIZE=0x1000 +CONFIG_SYS_STACK_SIZE=0x1000 +CONFIG_IRQ_STACK_SIZE=0x1000 +CONFIG_ABORT_STACK_SIZE=0x1000 +CONFIG_FIQ_STACK_SIZE=0x1000 +CONFIG_UNDEF_STACK_SIZE=0x1000 +# end of Linker Options + +# +# Compiler Options +# +CONFIG_OUTPUT_BINARY=y +# end of Compiler Options +# end of Building Option + +# +# Component Configuration +# + +# +# Freertos Uart Drivers +# +CONFIG_FREERTOS_USE_UART=y +# end of Freertos Uart Drivers + +# +# Freertos Pwm Drivers +# +# CONFIG_FREERTOS_USE_PWM is not set +# end of Freertos Pwm Drivers + +# +# Freertos Qspi Drivers +# +# CONFIG_FREERTOS_USE_QSPI is not set +# end of Freertos Qspi Drivers + +# +# Freertos Wdt Drivers +# +# CONFIG_FREERTOS_USE_WDT is not set +# end of Freertos Wdt Drivers + +# +# Freertos Eth Drivers +# +# CONFIG_FREERTOS_USE_XMAC is not set +# end of Freertos Eth Drivers + +# +# Freertos Gpio Drivers +# +CONFIG_FREERTOS_USE_GPIO=y +# end of Freertos Gpio Drivers + +# +# Freertos Spim Drivers +# +# CONFIG_FREERTOS_USE_FSPIM is not set +# end of Freertos Spim Drivers + +# +# Freertos DMA Drivers +# +# CONFIG_FREERTOS_USE_FDDMA is not set +# CONFIG_FREERTOS_USE_FGDMA is not set +# end of Freertos DMA Drivers + +# +# Freertos MMC Drivers +# +# CONFIG_FREERTOS_USE_FSDIO is not set +# end of Freertos MMC Drivers +# end of Component Configuration + +# +# FreeRTOS Setting +# +# CONFIG_USE_LWIP is not set +CONFIG_USE_BACKTRACE=y +# CONFIG_USE_FATFS is not set +# CONFIG_USE_SFUD is not set +# CONFIG_USE_SPIFFS is not set +# CONFIG_USE_AMP is not set +CONFIG_USE_LETTER_SHELL=y + +# +# Letter Shell Configuration +# +CONFIG_LS_PL011_UART=y +CONFIG_DEFAULT_LETTER_SHELL_USE_UART1=y +# CONFIG_DEFAULT_LETTER_SHELL_USE_UART0 is not set +# CONFIG_DEFAULT_LETTER_SHELL_USE_UART2 is not set +# end of Letter Shell Configuration + +CONFIG_USE_TLSF=y +# CONFIG_USE_SDMMC_CMD is not set +# end of FreeRTOS Setting diff --git a/example/peripheral/gpio/configs/e2000d_aarch64_eg_configs b/example/peripheral/gpio/configs/e2000d_aarch64_eg_configs new file mode 100644 index 00000000..a6713f7d --- /dev/null +++ b/example/peripheral/gpio/configs/e2000d_aarch64_eg_configs @@ -0,0 +1,197 @@ + +# +# Freertos Configuration +# +CONFIG_TARGET_NAME="e2000d_freertos_a64" +# end of Freertos Configuration + +# +# Standalone Setting +# +CONFIG_USE_FREERTOS=y + +# +# Arch Configuration +# +# CONFIG_TARGET_ARMV8_AARCH32 is not set +CONFIG_TARGET_ARMV8_AARCH64=y +CONFIG_USE_CACHE=y +CONFIG_USE_MMU=y +CONFIG_USE_SYS_TICK=y +# CONFIG_MMU_DEBUG_PRINTS is not set +# end of Arch Configuration + +# +# Board Configuration +# +# CONFIG_TARGET_F2000_4 is not set +# CONFIG_TARGET_D2000 is not set +# CONFIG_TARGET_E2000Q is not set +CONFIG_TARGET_E2000D=y +# CONFIG_TARGET_E2000S is not set +CONFIG_TARGET_E2000=y +CONFIG_DEFAULT_DEBUG_PRINT_UART1=y +# CONFIG_DEFAULT_DEBUG_PRINT_UART0 is not set +# CONFIG_DEFAULT_DEBUG_PRINT_UART2 is not set +# end of Board Configuration + +# +# Components Configuration +# +# CONFIG_USE_SPI is not set +# CONFIG_USE_QSPI is not set +CONFIG_USE_GIC=y +CONFIG_ENABLE_GICV3=y +CONFIG_USE_SERIAL=y + +# +# Usart Configuration +# +CONFIG_ENABLE_Pl011_UART=y +# end of Usart Configuration + +CONFIG_USE_GPIO=y +CONFIG_ENABLE_FGPIO=y +# CONFIG_USE_ETH is not set +# CONFIG_USE_CAN is not set +# CONFIG_USE_I2C is not set +# CONFIG_USE_TIMER is not set +# CONFIG_USE_MIO is not set +# CONFIG_USE_SDMMC is not set +# CONFIG_USE_PCIE is not set +# CONFIG_USE_WDT is not set +# CONFIG_USE_DMA is not set +# CONFIG_USE_NAND is not set +# CONFIG_USE_RTC is not set +# CONFIG_USE_SATA is not set +# CONFIG_USE_USB is not set +# CONFIG_USE_ADC is not set +# CONFIG_USE_PWM is not set +# CONFIG_USE_IPC is not set +# end of Components Configuration + +CONFIG_USE_NEW_LIBC=y +# end of Standalone Setting + +# +# Building Option +# +# CONFIG_LOG_VERBOS is not set +# CONFIG_LOG_DEBUG is not set +# CONFIG_LOG_INFO is not set +# CONFIG_LOG_WARN is not set +CONFIG_LOG_ERROR=y +# CONFIG_LOG_NONE is not set +CONFIG_USE_DEFAULT_INTERRUPT_CONFIG=y +CONFIG_INTERRUPT_ROLE_MASTER=y +# CONFIG_INTERRUPT_ROLE_SLAVE is not set +CONFIG_LOG_EXTRA_INFO=y +# CONFIG_BOOTUP_DEBUG_PRINTS is not set + +# +# Linker Options +# +# CONFIG_AARCH32_RAM_LD is not set +CONFIG_AARCH64_RAM_LD=y +# CONFIG_USER_DEFINED_LD is not set +CONFIG_LINK_SCRIPT_ROM=y +CONFIG_ROM_START_UP_ADDR=0x80100000 +CONFIG_ROM_SIZE_MB=1 +CONFIG_LINK_SCRIPT_RAM=y +CONFIG_RAM_START_UP_ADDR=0x81000000 +CONFIG_RAM_SIZE_MB=64 +CONFIG_HEAP_SIZE=1 +CONFIG_STACK_SIZE=0x100000 +CONFIG_FPU_STACK_SIZE=0x1000 +# end of Linker Options + +# +# Compiler Options +# +CONFIG_OUTPUT_BINARY=y +# end of Compiler Options +# end of Building Option + +# +# Component Configuration +# + +# +# Freertos Uart Drivers +# +CONFIG_FREERTOS_USE_UART=y +# end of Freertos Uart Drivers + +# +# Freertos Pwm Drivers +# +# CONFIG_FREERTOS_USE_PWM is not set +# end of Freertos Pwm Drivers + +# +# Freertos Qspi Drivers +# +# CONFIG_FREERTOS_USE_QSPI is not set +# end of Freertos Qspi Drivers + +# +# Freertos Wdt Drivers +# +# CONFIG_FREERTOS_USE_WDT is not set +# end of Freertos Wdt Drivers + +# +# Freertos Eth Drivers +# +# CONFIG_FREERTOS_USE_XMAC is not set +# end of Freertos Eth Drivers + +# +# Freertos Gpio Drivers +# +CONFIG_FREERTOS_USE_GPIO=y +# end of Freertos Gpio Drivers + +# +# Freertos Spim Drivers +# +# CONFIG_FREERTOS_USE_FSPIM is not set +# end of Freertos Spim Drivers + +# +# Freertos DMA Drivers +# +# CONFIG_FREERTOS_USE_FDDMA is not set +# CONFIG_FREERTOS_USE_FGDMA is not set +# end of Freertos DMA Drivers + +# +# Freertos MMC Drivers +# +# CONFIG_FREERTOS_USE_FSDIO is not set +# end of Freertos MMC Drivers +# end of Component Configuration + +# +# FreeRTOS Setting +# +# CONFIG_USE_LWIP is not set +CONFIG_USE_BACKTRACE=y +# CONFIG_USE_FATFS is not set +# CONFIG_USE_SFUD is not set +# CONFIG_USE_SPIFFS is not set +# CONFIG_USE_AMP is not set +CONFIG_USE_LETTER_SHELL=y + +# +# Letter Shell Configuration +# +CONFIG_LS_PL011_UART=y +CONFIG_DEFAULT_LETTER_SHELL_USE_UART1=y +# CONFIG_DEFAULT_LETTER_SHELL_USE_UART0 is not set +# CONFIG_DEFAULT_LETTER_SHELL_USE_UART2 is not set +# end of Letter Shell Configuration + +CONFIG_USE_TLSF=y +# CONFIG_USE_SDMMC_CMD is not set +# end of FreeRTOS Setting diff --git a/example/peripheral/gpio/figs/gpio_io_irq.png b/example/peripheral/gpio/figs/gpio_io_irq.png new file mode 100644 index 0000000000000000000000000000000000000000..013eb5277b13ad421328b5a7f939d4005eefec7d GIT binary patch literal 33925 zcmeFZc|4T;-#0u`)?_V7Oh|TmUS%IBC;#Pgb>Oa zvX0%@w=o!I=AJsQ-}&3F=X&nvdhYx6y8bx-@bwzzSmrp6@8|t_FW-r{X{gJ_a)t!} z0I*%ZcJ(#@K<5tt9J$TJK>N%0niD3pUvy7z>p}q~U1t|*FOJ%2-p~X9%22F_*2ieC zncc6MJp}+xH2?acYjZ1j3;-a{T)(P$$Jc5#JtB7Y9hWxNvOBZduGqn@_09fAz{Bg_ zj>hBMS#M%Fn9sXwhTo>H0|9{G`}A3ifZ){sdQ^}gV5xA*E*1g7t`TAnDTfC*D&=5z zp;QeagoWsUDU|(PoblOPQ@xaZ&jUa(0NLUGt&-reCtRS zV)}tc@WV@>BRkvcyF=^%1eHu?tvUk0fRcLxIP(zHrwW5qxNz3?6ha%|rE>t`RBxEu zeL-Pme}rPy;B|KPU(YEo!-MJv#~tFGa69hBy0I`Ix7fo-S``w}XPF6g%ga4bOMb zePuOtg|t|t`gl+u#V()9KEIQ{?ez)_+2~ymi zw?SHuCf;mUf^}t3MWm_6NzUQg2PEWc0h4JdzxQ*@Q1&Zv4LxG%olD^#-{@BOS8$(T z>CWT`|FFk;%l|&KdwQfZ6KkhqZ-Sg4&|6z7Glps+7BEfl?!*L26qRo8_KK4KlEa9{ zoytZ3AhE{YtL7emiQcRrLIJsTu^E8mT^Udq%O=J0)#3;(bh!_QDG!{`D zQ;?4PWU?CkqrEf;|B*?}KaR<;2pX66=;+#BEcqUwO5b!b;$~0@&WeF{ zTv>Kb|KuBphYM<=6Ec)OTkx^w zARRkL0C=_|;YZdU3|3=})5<|kp9akp0DwS74pL1s^>k;-Ci^*%kCV}HgKo;A`?qR3 zU!`RzRU+_BPyV{HCmU`o;Z6vSZg14@1$(3m57v%)&6i{MP~a$F^5mUC{32{EQ(fx7 zZ9c~wOj#->AcM*|oA$Vm<@Si7`3xt-2*}Oey{(VNIvLJ^6ua#t*3CEM9rqihf+qmJ z$MSk$({0Z?7Q$Y=5%}3+_iShBy229ltj@hk^!yMzQ<4Cu4w$`HAuC=CU}r?3ex55l zySymU-F%foxe!2z$RLlqvq&tdGBW}&&pV0%d$acm0;Pcy$S9R+OMSra9gSaAyt z?UexnGz~g+cVoZHlNlc!SFNTpZYP!Y?yjtdvEBjp_6-C5-hJI>2l!qH%2Ga-w0A9Q zC?KH1$+By|SJPT}W>mqyC@>6YyCt?87T{0xX=d}E0tCN!RN8B7WMX#PTCwHJ%I7c+ zbz^+ap&lg?71k?Svyz4Q*~CdTS28qZhzP~FWeUS(f_UhSK?n~ss}IYqdemeJJs|$4 z0%;EAxP$b4e)r%!d_ra%;24pVReb&N)r~Dw z3LRh~+AE9712(|djq(Oy_Ht|i!Mi!-I!08T`#h!aVu8`_`K3{ysa=rRN?bHY7%C+f zs&0$WNPD&V-gNveaD>5;t#EL@pqHM0F!X ztlOf1!9JPtIX?LY6R{d>LWbIwY61Q(!J-FMhXHC~8>gppL+HScc?L-SYgUfW0Kxh0 zpsbp$6sC`@-P&)C$;kl6buV=ifKhVzpA_IXSc49(0?RLZGw5ok;}Zi@Fktfhzuc}y z-S5ak_Z?9Ff_@~Q2B5UfDu-QQXQ}p>6jZ(WHQB)4SEq9!Rsg&543*MuW{m);>!bR1 zcjy4V0>mgmpb{(o^Q(oK*h+7no$cKvREkG^Xtfsoa}v61#(*A>p@&$cA?at`e}uI- zX7agBRTbdWTv`rq*Vi+F)mpY;<9l@&)gS=i^kYqYXZmT0dUr--1C&%A2NTbCP~Wq0 z6ib6qtU%@a+}sW;WC9%^-;9GavDHl~5tVk7qeH+?QWl{ak(%BH&ZoUzEv1{I+KxMm}%VLSz~sL~JY` zTTUu;c|9jeWu}90taiQeX{L9*s0R|Pr0wDQ1%hOt^hyJ6+)1aqK!a1Fx=cRR&K$Zf z#5sfEd48|uYk)9P$M-c#_k}_%mBsKUBOvVpxBqH*OO*U-vW?vhe5l&D6Rs`kCrODM zmn|$ZynMFJn)T2)x5Gr>Nq!@(Z3@=@qfTOCwr5{%UU@O?oXXk=Z9n-IpM>a~ z5b;anp&8*F=jOzbS6!-)7U^r_;{@~-xk0L74_s`L$Y^^d(lu+LAO`jnS^6&^C*vR%aete|*J}l^4jaBfu zb-*MH@EN?U;J<=^OS5zNTU9sdwgdKLCvM^)WbMU(1t3tAe)8aAXv1FWyFpyEQfLFu zWzH}HbSDR9&8DIDq}O08skr8Va6P!G`0102jBkCCTsKTD zC@-CAZ9pfmi92p)m1|g`IOD$-N)MQLO)E@-ElJ3U@As~sUIvmKnR8>YR|CDZtCO%+ zq;IZ*XY+bcdu}{A(%&0HsiVJeKs33>$a6$A%jYZTn%BH#!#Afn&E}F^HpE__!7Nr= z2~kf-*7CELiBKdfABj{4>oI(;+1TI<+P_uFRNlCozgUGVPr_;mFH3AGPou?{>e~n~ zlnGxHMry%=b&II`g{Ny3sx%x8^Q%UH!qR>mx#g05&+UCV-)o#^Dl+*7!<#$IN zXQ01#M0FN>X-}LFfYTKs7?dryaxoa=nYqM)Nyn}rg}6vrD7f||O!^yn#QE?ioee#x z+0u-LoH(kGBow>btGLsB5{6Pl{M2RtJbp1$kXA;5f_vxzpT9r*J^DrWY`ex%v%MZJ z3j`P6;$H_CZrUG|GEnHz-&_w!@kEJrRUp=B^%xXVYfKNVVmxF7Cyx_%Bv!W@pxBQJ z^D~y|=FEOi4UzmIb2$F>hbapCV}d{yIihhB?Rk`4ts z=~5cPwu#WL<$@f4;{AP8^CHacMF-;hnGVCVZlG~0-V8(@-`e?ELES?QMu*iI3lCHH zn-*cs*t(se$nL4ZxV3~fZ;HAXmF-;TJJa!#n~^p{dEStY z3o)7W)C%TL0j<^@%wflS?L;5x-= zF#sJub(`}#vT-Yw(1*Gwi96a!yg#Qr0=tdXzmwl7`1&T_R7ASGdOD|E z$ei+GF0kxQ19RePO$W{a@xAt2pszVZ=P*01UeTX0tqY#4jBDGnqWDvmvo?o;6VPF} zNWr=XytO~|*U{w7X-DgJ30nMp5Q;z9WC*|N^+8^!9%uJ<=9=|~^6xKi-_H^Xiw&w2 z7B)HaoE59ulmHanVL#BZN;%KaA25&q^8`BAN73Y7l}@+;Nc~1#F`AQFy^XUw*RU;9 zvsx+r>y8d-t-iqAqUx<|lQf3es%xoA_CHUAIuS*1QBJc?p_E@S9PK8uI%>1 z-s7P7X&6%~~={|y05OMu-Tg!dwj`uoxx?B47 zIERjaj^qW9vnLAc7WIsvp+A@UpbegXXmgO`IeY5Yxuw|;c4s1zmb-hSOTkjG^60tJ zH7wmj>V|nO0i(yV?2Hq36wmLehplja((*8UKt~u;|S51Z=UeemM2{5T_ zk=})2f{K_x+ugX4H|C7aKXKjIZrBJz+p_NUYV;gMVni7!IEIGea}`3BDf_x!l_FN@ z`G*C!uOzx|op?*HiE+D!d{UdUGhGwvD^1Ofj?4(kJBdIV9%9vi=`UTD858D-!MiI8 z2m8DpNvSI8FpASC`)XrL>~;aXlPFLF1gz1T0v$0uK^Lc~R&$IfVZL6#I()Ge2l|MM397M?5<8qVFS?@X>8Cbp5U(sDTjp}*1Zu^4=Z+SBhs7ZNvf37bk zvPOhxV2vJbr-rYSh((>ZOb%k5IQ-q+%5zhTMZ%KrOA<_V>(@XR8H3A3I--1kU8MY} zvll>fP>RkLEYG9&KXzQY&u)DOa-HHwK2SDSSRmybl&-WaMDI!|eIh1DAByc4^%6^~ z8M(H7%_K3pJ+)bs%hW)cbfBE?%NL*oKSj3$XxH_!(6yixoYG21?$9Dch-3*^t+am)gF$>YbJt3g! zLTLBs1e~(+?c!aP+f%~U2RB>>!H%K_ts&u7ZBZu*qdn0?7}uSXLxCI~755(<2#-n} zedD9jQe6`|vSrFR3_s2G);OdfFKN%XL$NHVED4U$c%q8nyqlFT|7O%Dy4>&QsR22_ zdPkfc;e4QQle)1b=V62UBD-x#7ib}(Xa1r3vv4h`66-o)&)goT;g`ef#W!^hEr&%6 zLpnv%f)M$q=So=|Lv2YD@W;}_qL-c}mzHC)Go|H zgYyYEh3anh@@I;>iEwa9#$}Kc#kP+y{@@yM8F-if%U03ia*@?riYUl4+Ljc!!3Q&1 z<_g}Ou5u#$C~Gq6u{&V)^7K=67l7qB~Pd(j~z-`@$jkJsOCLKxAAGtA(wUoZ4jLyjRpK^C~QXkF? zUtw+N3K{m@2l#@~$~oQFRg2|vKm|-oOzC{Ms8w2r?5u=xe%Y;ZTdX;>erxjSg(mP> z+yhB!+~W4tEc^Q*_q>LSV9eD0-4}t93&MMcKdP-D0QHdW`#B4~x2|SbCR8{t6%Tlg z#WrTfFd1zf*@*AqzMUw(-Wr9`w-{X98zx8R=1c03W_r~Y`~9dnjv;Tdt*Y5vj2eO* z{HM}fzOs()32*?`+l)ggUrYG?xF);iW3GB8%pS4VqHTtyT+rLo5G_0~z18}F!yh1>HMD9oL{yqsn^$|ejwFEGq-Fvrk=QPLb?S8s zaPf)3iH5;EJKVxLX;A|>bgJ2k5>%@uIt@JAKB#J^0M^lV5C=2&lXUAl4m;WV@lCan z%f#Jn#DLLQD~75|zJFk!{<;Q6o8F;4`gW`kKrh;l7jl|8y)*Pai*k8^Xe})=r+A3FF5n?zKHAa}ijXhl})7 zbgwMHzF4|WZv^hYcY##$^6GZw5KXIbEyQD=qrW02@Q=^O&qY}o@-Qn8cE|`_T3=<- zjSlO{ufF3_WDD?T1cs}VjF9r3dqu&OHuHJ=NebL!4+}T*xL62iiq|}r5|7+ z!erg`&TtQbXcLi4oxXP3~7E&fEou~?immSgTipqY-#HppwnY)$d*!8b!nfJgG6 z#+k&QiOmDB8uF2i^cB{6iCU!Bc)8o~*{S#*G4GBIPn{0wdF7s$rG9e+Ok@W^(M1awjxwp@@yr!Xf^bUx>X{} zI;Wy*0jvvxrU87CF(#^Bl`-Lt(5ih=irvps(izC703>A%2agtU|?7xhIKWe{P zlm5$=6D5{o+|FO|d z@hBeBM*blt^Tz7fFsz|4zqGp9i`P3Ml(S1WK6xA>D!zU%kY_?$%RA5Kn2d0pbpeJH zbbhq0JW>KPHpEA$*it@5>r2Avp+*XdOFugibx*m5`MU%z-X>zt+i!x1PQd!U+BrE9 z(kfwF^UHUu=+$WFd=3?e{tgWX{57xH1U#&4dE&^iGYj81J(T+`XB4=do1mUigP1JL zk|e}4J`MOV|J_;NIdTL5D1E4fzdQL+VTIhd&ir=!u4>iStZmDy8;S z0(AYVv@%!}DS<)C*S|<(NYekw%fON~{b&=Gh<=ypeUY5K*b&z=02o{v{bss|>Y2b( zJ<>anpKH{*mOU8&Ds9huU`Np1@s+*H(vpy0pb+pSy`z;Q4{9+O+JJ`BFrfc81|+I< zF=vHG?J03#w7(2iR!G`7gl`9ODlorZ!Rsp9gWR zcBb=We( zkGwU;Li9%0;~ZHlA%YIPs(wGvp7ckJ-?C8$bU)U@Ye?>Ok9ajBSEKtP2;p&VaKg)} zJ&(P|6U&Q3#|$^2ul|$zt~Z!R`jW^b0CKR{m01n97DspU`iHF~*SW?Mn6LF`0LAH4 zI_YRr0I<>Zdv47CIqunx846*vYn5rO4sNSg7Ld{Sx(DT=dXJqkUyf!MNP0Z-(JFub;L88R}k>xQoLDd(PhT4yuy>}LBz_!YCf-FG06u@dGmwVjXs$r#($^v6U?W%(cyMh zQg8iTIvd@1Lu0QlN;KM_W zDP&WY9arBpWqmwobDA!?dnQ81fhHriZ?{`9d_0^w|kH%K33Q+ zsQ;5)Bm7n?r%JjBdYp|h-+`q*qo}}frYCH=w5(^)>QV^{S#-MBy2kNk(WMzr(q>_7 zsP2$_pfuUUtlTgzVVwuX>CYzB0o=m9>`Y@vRQEjfPl65jgrYx=mt_u(Ae1b&tJh$8 zUPf&V1E=0!8nrR~8Zb4f*xGl)iq50?j6=Ad#MKc8mfkUoX2a0Twtt!tsdGh}r)frp zeqDwY8O?6A+!hYot4Y#f9RiEPpIp@kGXH?7ynly%xnW6_e;=SqL@{gZDXt`y&9i17 zQe6ya7w9^hjP$v8_5RJu;X~^AGj_Yifr~%;-`(5|Ij-J&reJ&%lUeNZ!7Ixx@)@{A z+w03w^ib#fm9TujxM8JnG%H!@rW)h|!|0q7bT!UyQsP!dVg2E2*mIj93N+qIrECFa zn@^ENv|nC8bqf({@;Uq&fUD)bhO_-KF^^l7%TW_vwTmYPw@dFrQcRx66o%YZd~L~p zR*->GMuM@6O_Q<$Bf7PY@>0b|8Uf#XL}vfI8_Qe|K67ALAmBj^omv1}b-IR9M}RV; z+TO9AHL$_O7V7MV-5xO5?F$d7r*RBCS(_u@PJC~_oan5zJ(M%E^kMGYIRS{p#?*O$ z_25E{x4fyZo5|NBo5lwW{sPdn^aCwpEhf>1_6R?Mxg7*6qY=M)yL%0 zPvt_tRH{1g*)rFM*PZ{om;?nK#FZXDy;xt^(@B|nKSxG+9B0CdJioq==3{?-!qCdLgk!(< z8;VX^Hp>sWKLtEbNVI&ESk!3^dE$m~9z;^T}PJAQ(G)$zSX^uqTL?DK0iMFR~s8S zUXqu3OZZh^qb|sCiLs#6p768|<<2n9l%Di&kLp23-;WOfC-#4q_ri{e<-v6XUAk7k{D$UxUa9jkK+nr zJA5JkGH?Ti@P8=+@TFs4L{Qj?dovoOU1dPlx;2wOiMN`fK;aRrmBEr01nTc4AT*bI z56QbpTb~i?6KgN(u^UQXa}Lml$p%d13g2fv5RVTkSL9NYPHb$iC#lhV57h}=K-D1j zPAhdf*_4tmoVqgPrV&&nP*V4y2p;7Q&i)p@%0a|o(Pp_*Sky|+;Q%2+si*U32-O~w zYJU$bc#w*510X4dkD=>o669sIl-^i)!H`)+7!Fu>Yah$nIR!Qhv|zi0sO+R(C^EvO zb4^r#7B+}JM9oH1yWV%(O=L1q=ZmV;XZrRIDs%ZI>AhAQG|jIrhaaAlIDm0g`bz6( z*k@~I!mvRjiwisJOGA5cF}C+-KSjE@vF<#7b-QkVA2s@R+h`W+(E-o=)l#K<3!Yv@ zFlL;22Q~6LH%cYnOcjGzB2ebrw$-B5+Ae?}a-kH*K#Q!vHMQ5Q`7F~Nr)sD4=AM2S zDA;PXQ`CtRx}T=5q=L|#cCS6inJE!UNQWEXBZo1Qs>;euu0q~7pCv)QQS3H115Pal zu70|OB@w5(xU&R`VUez+u+^8Z?k=nUM@zPabGA5RfmsjCm}g9RiE2TZ!DmwjV$>8# zuqtZzgZUzYuDu(9T5HH{IgK&2o2)DNh98%RyAwX}x$+6YJU80}nc3SjUHcFRn^ci~ zzvn-^$T<1LRAJFhkrhR;lzrB1r#FKCn3KSmRLVP{HB*D^qCoghk-dN8LEflva!N%oq;7aWq#?Qy|agd@5v16idN3hV11#7}1+M zixjfW*;D?)4(CinJ~*Go+{3R92Od4pJ~N70m2{P`UiE;ZE$nwJv~O50Zke7fD`i+7 zdH^OrxkxDfjcK=}qRI&UD5D@@bK=+Lwm!E6(Pf1^-xC`wS?jrr2g>A5upMl3#}#&r z9*R~$yv^RRID;)c&6|DajDulmpFp47VW@b$OxA+VPg)G5O?u`;X=<;2GRv*-Ai)8b zgho=;?~bqd>93B@R*hfG)h?(+eJ@RP)#uG0{T}}cqQRhF`@_;FQz{o_d!2pXqDulr zB~Rsl+94gBqNPW+vPr7zXG2b|o{6YGX0X1_f*S7Ws~u~f&CN7I&Kzf^#YS@JD{Yyk zTFxn}mP3Ym?R*>0Xb3gMso#3*RT9FyF9x5TOc!6nrmbg@-uD>d91)jn(z*NcvN8M$ zTe2Qze?X$ci~iO8U;X06&7TFV6;!iD$20xf7q#oZl~yaG*>6D7D%kw21D<4i8LjY< z*;$XP#ivoY)jTS*cg(%=^rOXBMkW=D!|X393cu{!LkIC*Hd z`pFu~m&?7#DTb!R1P7*ql(fChPsRC_=EHbZT39u`uX1|Vm_8W>jm9gNYuE_sp^xcR zFK+qeeD}LU2ps8+B`8?+)vl#>pjigb8xr;KC@kxBy8Q&-h@>-9R&cc&@@#*a4B@K14zzb#-wy} zlic6(9V46aNPhAusSaRU);LYge`Abzn2GlUZYW~ZO6QXKc zPkw;SPmN;X<9zG4RZp%NMm#=nX39s9ubxk_k4h|M9pZCa)!&+bMdTjt9yJ1`-P>7* zljRCm(GV%9(WQbYFYH=aNdH?XC?}xkNJor#dXv3)E{DV1sfunkA`A-xHKPo}9I9NGPTr@w*@RPR+#^|B_|P}{c5WKk>i%uPS_UU8RiO_we={4_l7 zH)`tG&R+0oszkk$Vly)5H0oo+vH*v^sv4FZaa#gU(7MCxNU$Q8kJW3X@>bA+p3pnR zo?}AstxKv``wCBqt8FtSl)nivse4p%o0L@6*P(V-3gYkfP?-mqM)ahi8E zKS_tNdLi_pgjx>8I_r>a`Gwr0sbz|d`L6U&P>0Hq{QjkiU$@{!*3i?FcU{ho+&ok| zH8RrKdN&JuRb6$(^%HxEPQ;w1G49m==Tr{$of*4q18l=~jZ+f&`A z{0-N)iby3J3N>n{2<8W+VNMf+WSX44NQ*dS57^eNu=s(_rnTPt)Gl?-^_~dZEs4-; zYBz*ZQk{Mlau90&CchbPhj;{41S$!N5d7U7hWd-B+fxqY)0?bRVxRrg2xE&;jQyg> zGZJh5-5pcThUMSAE=4Yj5gkUB9}Lutr(&ZeuJ%b3W`!QRT4n0C$FP~Q;CZ+Le+d!@ zFh98jfAvhvoW4pegExNXM71ozMXo2mwjk!s!^DdMd) zfrM2dC{PG=oTgF<2EOeXf_%EvM45qrNwy+&8U>ir1N^8a&D_yB%i*7rb*nAo)LZSx zMf^UWuML-?N+jBe<@Ovs|0HOPEB%w8aeZ=PH^*(iPfxIW6teN-=1Kn!`e9jWUg5u~ z7>9>`eOtkv4SIG@@K(F}X?=X>jk&YvJ}shH%_InhU!KeuL*G1EMl~eEdp+l_;~fD` zJ1&1mNE_(nsKA1kDm@_WktQDW2l9EHN&t@0`A=y~8`?Z#G8U3uhT@DM6*saSUMk;W z3DQ5ifV_EC=kN^kgz!VB5wnDH#V>x~h+Frglf79x*KI8=9P|!eA@OHG)|<}gu07JV z1BS_4-)i`T!-?^lYna~Zk6EE%oX0}tmj_Y%gk|iQzV~@&) zT5Vf}=Sj%Ugm=GS4VY_OFhB;WG~~}S&X64U{j>R1#0mAJqzyCz@pa*e?DK9TujL)a z&&*(_=nRgj>lxyGUGGDfy;}ETMFM|B@bMjAs_d^pw&wBpL%&FM9CUR4tS#=}tT^D; zH*%p(1`_kS!KJ0?lTf!=)6vxK7kR+0;V{ex8CWa*hQTG|M9y<+v8A%X&k6DLYbcfd zdENBWF~Ao_^Ys~U%Sj&4(P2*QpW{~THdtrliLb=?P;v555Wxk|v9KMQArvrQ!Y>+h zq_1*;Q4i4da`j(Zt-d8lIZ)EDEawfI-h6llDPP>K$}${pRi zhdJ8EdBIWb?J}SzyhykOTR=~4ecDNUhm-PA|uZ^RajQyegt9o zPZ-8A1=*ip!<=_|91Sx}gx+z;WQB@H4|s*YHI}*QJ>q+Zyj z!0wk4lL9SWkbF0yQkk{qBwbmR6kP;GMEH9Ce4jG??z>7lJkas+RBzSs-x^(U|KmBe zmPbgd=9gP94r`|67n;#BgtUn{(;dqxJ69iRd=(MKHiUV9kmNAlU*=Y&UG&|1_~e$A zib`~uXPoJku@5?DvTw7*dZ$1Ym4`kU3*kNfX%^V-JF4s8cP9Eu@=d7=&HW^~Xx_|jJJTO&arQ{FtIeMc?21g%tkodBIvn77?VWyGCEn4VdVdsfd-IT+`WA7Wg z3s3~xk1kY1qxXKw&4XD!U%hxcM-X;4>A`RnmLr$faAiMfxDeY3d(yQ(^OT9aDuK*s z)U9)_9yWF=ePZq82U=o8IPV zY@tT1?aSGYrf&^QHuiVi_kG7<9W{Do5FRiU<3&|XTsAtAUfbU|lypha9$iTCQa*dO zjmLlEXhDTZ($OoSnnFhb=da*lN4m@RH%HQ+(@OepSO6ZS1%^-3>bt^JE(pHp>$%#A zRoiTHH~?T6n8@RMiKqsRt9X&wP$8PC9YPbwNxDNiKM{v*x;W>@HH-^(^W>VQ7evx!|iV(?x?53vpl*t}KQlS$O_gn+@n2cS?y~_QdloEAjOST8^8@>l7P?%PuDZrsZ1E#>b85)NI z1V5E#B8zV98(inF@5Mt*6`RFq{ zp|%fZp+yUljw7*_l$RoFX^E$!SFy$B z?B>3^bt#SDM0{Xx+x>C)zyc-%GxDTo3~l&3z0uy-FLbS^08|?7-uH3~tJ8AsBOkpk zW_6v0JVByV)4fTFJwM~2M&Z8NelR~i{vJj(x@ZQu?IxSKa;Hrg>m{iUpF)1l|o zvYF~er9Q4CxpeRkXOwf~Qa_;@*skmcHuNYw?xt~yw?#MQqg7g7 zcKbjA_to|^MpQ>j>Cs#ZTF!?h zoPY3|)*U^eK11X1`S~;6l1DXu(fmJW0Ztkg-NsZuaerioutfbMj@E>&S2V9BYHr4f zn3Jw$Qkop@lJ6qdNxu;YVSsPUx5h>(!8qoqZjV@EJ@p*zt?6#94)8ZVxQ9w6cn!AgY;@ZTAk~R z8_uZvn)|UDofMAp;Qu<}1{y0{gS9;&U(e+BQQaf;g)yuu-2FvmXWl^BGXP$LORoV1 z7sZi);G;}r{YkS+5UV=li?ovd8x}%n3ifX~`vQj00un%#1nv8XQB+)j!9##7EI-Xk zs(HZ_gv4A#_Jjm%#6n?I{0P$lin@nSjb0&UZZ)jsxG_HK3E}s+f_Dhhp|P%4r()l` zj?szOV8NgA&X0CxYhIa2Y>UFz^mj9IDhDWe4}D07P991Rj82?dIwmCgEC7dUnA4Z? zQ+K0&HrBd}mtcQfcbHn1qFfLsPK@wR5}8_g zC(PqZdOuf)+skiaWoTcLHQlLjO<%VtDYi`mS zRfPwdOJW#>;etq0rutZziyIi20#~u)-)gE3+)Fp1c)Y)%WwFJj2fTHCct)kYv}%RIsbAw|8hD1XSYpO@YJouufBHl5!cHFD%;?8 zUvzOxc-dsnfW@ydc?%o%LU7umqCwwxJ=@i#^^o%=O|dMz%%g6O3cp!I`He0ZDkeFm z@KRq;2Mu4^COR%xMOP*@AnQIX9`2J0U7mT-$JMyZr>-%3_??@to?l-crpa9DemX`1 zS5z5%UL~~Rcx7qS!3%!b2+n8R)3(r!>5N*sqQBdJU zDdRz?cUbZsx8}-b$D2R~r1H6s5CHCgRK|fjhT^U$Tb3XSPd#7PvfY z!5O49@E>n)AoqR{OhgUX#zKto(RjAX?+NJ@4P{8xt1W97oC)4%lPh( zaOC$DP>u}Hh^bx)55+e!ZulvX(%x=6f!6w>mLCb~u|(f=VmjkNZ$iFnCd{FGt` z+X=5UZ?ffWL6X4(j0bg=I5`ggjr72YGa7A?!dtQlPZDpW%fYW+8}z7}iH_8I`Trh* zT+gv~DLxQGPK@(22pghlF8<_qzjr;rVJ{J*BV!-OtXDqS!+%6%8Kxn-nIxW}8U`e` z(58kc6OwT8rtwTM;sWx`mNhuys7HRt=-sWRfF>}&XqFZx1q7<9pF{dw1<;;De}L`9 zL^@rxH!b-{dvW1fQXb_6Q0o~AKvM#^&9u6GuB<+MUuJqw4?)|U)~oyqiEY^^bYT^j z2XMMSpL>(T9itE7kZyLc|UM$P5aM6pTp~MyH>RcbQ4eNT0 zvfKHbd@o#=PD_T7d1=WovJwXKLut)!uCzNRbg!34_u=w6!Y5_;uTCgvMLq6iJegGR z<~b_G?-Vi~f&4)#_{pK9sZgSyOeTI2T${`9zR%e`3JY??x2)%O_h<;ovi}%6MGmUl zr+*OrtM!3wEf3zBH4RS;w!pLJ$^Kj8)Bd~h*@igI7w)O-pDffWk&$kEL(@>TACxj& zyoKZ5{Hy{p(->3NxjF_MO?8q$(8X-QVS5y)G zn-CZNGa=r%+R5@aLR?ED#OvY&6Em7b!M0bxS1-fjvCwPSUw!vqBvSkTR3fFR9LKlK zoCrwT!+15;TTsBDprQqJwzZV+1;eQjZ<2{_wM1wJ$7c9e!f*r)sB$%C5iakb%yt&deZHGvWSe@dW6>Z31WP~LMt&b;%m>>xcZ|RY`xk!ea_Rpdzr|bmN@|50E?A$#t}H+JPLT@rS61&z6(uD3ZU(n5Y+lW& zlw%#8-Fv7eH|qi`%&l|w|KD=QHDX z+kX`QQiP`qlH3)BY8d|N$}YLS3?@}~{=KFvYURXe$Xtv3YNDKRUAqGwYPUgifYRC07ZTjn`!-ADcf`&KWBZ9EZ-l^Foi z*e+tHFpC$P1lHO`)~erpdY`bnI?o=gbO~v7ECb=NOJloi1FKk>W3$lRPq69uu5-yL zOl&*DA>D`8Ka#yy z-$BH)Lt3(VCq%+))j)E{LXM=Dv|as!PbLaug%(UV>7Ez=XP)bjdb$F_iBKfJCI3FT zdE|tQXt74udK{~Zy1Tuu$G%j|J@NNlms$f!JFvAs0*!wQe>8E+NX`DC14YaA7!1(+ZR)b8HFK;$PBr)ozTM{7ZT_Gx|SE?}qfyU;OrWRnyOtrfQ!0L)9E93;X|7 z>d84ydfPdM$J;eM&=;R=#?NOM zk%EAmp^V7Kne>zUwCb)BQD&fmB^>)q12n+d^OpXj_fn2bo};0Qb}gSb$F%c{;{fGj zw8w6Ob`cgk2bC?+mufnWxEs;BXPZvgr@EY|fOV={2*>(Puj9F`=@;#raNyZdcXEzx ziq*7{L>$ga*~hwnKeB*DBjMT73Kr;CRPHr6s@ySeeg94y03&6T(YsFh`VM6A zDd}M8aFN~fjYX6ghlhQOlCvqYgvVdzzT83j$&PT^mpFVAN8G(BrP#kq6nWGxo5cJr zFky~uHG-zZCm-Kyu=Eg+Q4$AaG{^UtA~>`deS)p_Lc2VZj-pi)x(59Qcf?Y^^ZnN= zjr@ta-?`{KcfR?VZ7Rp*tuttqQ~3w;Pn8`yl1T4(3lZ(CmO05_U|{P||EHsq^}e(& z+N*ejdvh2L6|l@WVbL~(ACZ`$Yh|4nV3&HXdPSD7`8kicMew^=&RG6O;=wUgE)h=J zyl#+_ROq*75!g|qes^|yI6J-J^W1B1<6Spi{U6`+^9!t0(nil1T@n{QcwV~w;F1*> zkkP&H9sl(838!Cj{c}~QU90jVS^{19{&$hoX@!^{?SI$nmEUwwACuH?iH{7PGqEHt znf?($@Awr#uX<1WE~4(q?LquyE1p<8(>du>RVOb2ADR{;(iDdQsEZPi@uD4daw6+o ze`@tFV=2A_Ly{*&zrm~qX#LWE_)?|DJ~4MO^l7ya$a%)+3IGE%I!O|#bDg~&td^?A z)q8j2R)rLW(5DkmS<(IeMwm)lR$`yq-DKDh(^+#Ur(ule8)|)NsjT;3FC(Ho)PV}F zVw@B5W2v-gkMf>9FLgS8*JE^jvINLne*pn7_;*8B?S9m6L)YT(hAwXV))?{Au%$xL zS64yFb=2sMd=Oy86j!dW1U#j8kmLAQ5a_=b1e(_!@SpmUfk;j#)g6j1 zq(Q(hdT<#~JYQgCr;b{zk(%mjKHOKZ|Ik#P+P!Y93EAGfz3S}=z20lyF7Cdk_u7_d zUyl>M{9;QK%+6_Xh{g*pqfq~s!ssF0$fSn7+?n1g5OwVfFn^VP{H-W&Qir8_%I}@}V$0`k^+(l@<-1nY>M@FoD!sP?eY7gG7 z4CxNVKMpWcWU?RIdc#TfCheb_wk>U4J5z1Ul!ngrA036(pL=`Wef^-fCeT3?wXh2G zb)*5z+%xASgt5urGPl8|WkLkWjWIqVWpelEUn>6pjde?ZsrY}bRr+hK(qC(p{-4$= z{f~nOg@14B)>;_=so5j}u$LR)AtkH6T%kDC%g1|N5HaRylX zPh00bm4d5Cm$vVcL@Jd@2#b7qp^ep;ZPj!-Kv&s0Lel321yL7*YGeod8lZkd&?CS6 zH~alx?VWiv)P3K_M=B!O!-$DOvbCXXQax9 z+?tf9q7^v1UyH+PtmBQZoY_V#tI}i@uvOjZnJ_|_=`tt^40Dd6M$K*h)ECIyfuAM% zx(M^$nPW(nolnPq7(3m{JZ5v+q$^5lgvM2v7cryr2Hla#D{NyIsrghj9{JPg%yoAv zP;ly2)~9UKd{MjW9`%Sw5{OY`AfpRwh{oR)9XmrKlxVDa7HEYa79b}Fg2H|ts+w?9 zP)PYY5P}u;Eudfdyx>bRQtH`Oanz8F@JfRYM}-FhjD<8`Wa53RGg%pmorSrFkjm0U z#p%lV%!C7CSY}yQqG~aLgm+xgbbf-oRq)>ERJxLiK5x6rGaKf zGPLu9t=D=CiD?3>#d)b(@Ni-Y5wtrlkf%Fg4|+&zIf9GVed-NYaFmA3!Nns*1qUBb1-6KW_=9qz z{;k97y)2bR=-l+vYU8Q2>xk^x{cahb`dB?79RCVI(Dt_p0ui-;2!j7|g24FSAPC6H zD;wN7c+It&vx8Qn5(*ar4^`XlwJtBUuPH+FH7tpEYxYhI;?#Jdxs7_1M%sNd21VB` zZ5PwkwmhzU%(4Z-ws%p=+oF5J6|eaQocJjSs}J)Q1ak!g$f#mxTe!-d6pEHd2NG6C zz_Qka)|Ye(*`PW=5h%=8vH;Q18&w7r$jtUl!AT=2b~4#mpZaxB^W)o!V7^sFlZ@ek zZW4U?MGkZ!VD&ZrD8fc6csos~5&zLA1DbG{a_>}om+@O?2JeL&Jv$GhXI#FKTc=TQ zLX=d-r@0a$trind;wb!%pSP>N+5bMjD*qW1WcDC67nOh8m?R>>e0D6|NjPBoPI;B+ zFI5Nyr17{3E)9c3-^}eV^#^X0ok#mFtB}KRdcs@F`W#F!MLrpAn z*52?v2Jz^$o{aw?&f#pyMdIR7?EXh-uI#Bz1yv53^k=SDWrYt)251!m5%?QUG22+0b|wS(}#i*G7U_06kUL)}hpcjT1D*Gi(_ zvASrg?W~T`DknAc{TM)TrQ0NtlLu>CPo z$#k42+hV#%r$uD1hKJ|lt%Kr}a1~M^|GiL^vRaFCkoTM2J=FjG3Jsn=aYYdjM;wHg z=~Y4Pc?nHj(uk{_AGd;I6}8!39tWDjdC7eKB5fxzV}PzW;yE88v33+Ks4^e?$#ZjP$XXiN$F7-Wf$y-n5dX9T7{;$q8q#c~OYu(?GWTs*S;D)G<_ zabzE*dcSS`43Fxd(;kavJ(&x}fDR{o(++7A+>}sI<|IXq+(iyfDD&`PsSVu8B3d-TniX z+C}AC*Eh=Tv57VonDO&z9WbN!G#wGTVI-1KavWZCl?&{ zJ1Zw7o%_=3+43aQz+RJu`1?tHT63vpTIq;B<|DJp){mWQ7Vc*EzX7@wiR}aqu69;- zq={5PHgDo*jT@a#XvxLSllYAoZky<=9eG-b-WX*!kVC6^?uas82e$M7Xu6aLGt2K2 zHD%&g$SCo{FtAn^GF`_Pa7`PoWSPAt?QaT_=R=~bPWvp!KBss$9MqHPw7fv%d=8?= z&4GZN+~P|TniY?OW%Y@2gG)N~wr~n8HVkPfbqW*0aP)oE&a#bScJx>0PN?15IQF!! z62gQV)J+tD9(!|-R)a<^eo%4t&~~HL{J`q_P3ZBxi{CBLroFn=?Jd(WuJO~^Zp6~>kQ+jv6YXf?+7&}at?b@abki_?jI zT}=JJsAe3hZqb4(?J&!o3J;+2n8F_!X=AAzb={CcFb3T{HYHZ}vEeLG0}t+nNv9N? z5t#0+4k>#qh}Z{Sc7ZWN>E}`w4c*JttVzsV%k@5uvGnWqNUaad)l2R3OUknL+T$Ke zQbTYu>G#Ib%UhF@COdGxzsv{T9?=b%X za0z?hyOQ2}C=!b*L`~?k_uYG0TpH2f*_~Drju&OrAy5cKNMz#}qvGl1_mmCA)~8mD z%#o1zQHp&7;%Y&eBEEXgHWw5amVQC%g2Hail8ee7*U0d_2=Hl*LBO0J9)DGo&kikC z0c3UT72gHc_VMXVwr-{IUlc6*j@Z4H__lxW;IMpnKmQHKDC2iuFtQknY$#Cqjya) z)>S_Elo#Qmx=N${_bV1caBZA_@w_-dv7)nV2Of&XukSe3aiiF>{Eu~4aLpEGB{ZGw zbvxHl3oVZq_j}fIlFL^cnvP>Rhq?54>is^w`fIx`;qSjbKVe#ZUTj7$V`IEDsPFph znC}oP!*3wXL=?#hOPc$}?U3BBrk1Pdu}`J;_E574;ViGh ztD(n~0jq~U=4W{;^C||>H1flz;KO`7KooGLsm5Aaq{eS*UO#IX2mHj7)Ud6SQt|rj zre{_&DKrG%dJWjQLYEs17q;n;$TDf*5A@W3_imPUlhPsHD(gfFaVc8nG-Y+++4`yN ziIz-l)2=4k9r9g8O$F~xCJjH4yLPt`H>&UawzZ^g>d|zg9|`&_0mklwpO;Qvt~)v# zd7!b)#IsK7O|~^!;Jj3P*Md}zE;_pWQ~W~B7z+WbORwk?=G<*5GH<1-dSryRTXjaR z*NG0d*7+Q!A@(||?UX3AE|X~&GcDPWm=(b8K-4a)8WXr1OlI#}FngabKbro=2lKFC zR!^XkyTJPeak-KYN4g{4nY2|7RPC~)Y%QCVbeAZz?0wP2!5!Kb8In7^7<>@)kh5M* z#D7euDLAm9wmsi!i8}+Y-c}= z&0y%PU$8G;HZPVsMRW^~WvSMv*XZ$1D4B!%i<#YMe2+?xnrWqRmlFv|Y|F1G@~*?m zEND<#6)cWM3oA=gU<;C{kb>E@m(NGO_WZ~UV>B2Yj-xLCF)3FFfT0@ z>3c7XaDesQwyF-_obv*0GOvd1gf#}3{I3s?EDf0(YHsG#CW$VpY&=D2bkPk4l{kkc zTFCc0yiR$)Y&1DO?=&b^rqX$TH}fHrS;^$@Et-Et4ALyS1(=h98ymE9XfMd4yc>k@ zH z5CYzZijbq+4PGf)@{ke+@D2M@HC^)Cu;dC=3OOJ2B6&>yvGc2rE-~>`IQVh!#s)4~ zx3z4ZG1Es&lQa8lP8EA9=RJgjAAJiL`T%1oP4SL0mtjq=XI}+^-kSnJW7%x~sgy!| zKu+;J{qR0bJrg1+7;n~1f|{62LRWI;JI9(48DdH6ddvfCHl7~Wm{;ao$1(!P@L5XIi^D4|7UPL5(R4R&1%IjeP>w#ZwL7>2 z^J2Du57 z_5%!J{RN>^J`=@z+wG+xkOFRHbr}<)jK{yRCeskUL6o5Je2V_U<<-Eg=3m4zoAIfH zExXyW$Z%L%Qf@i5jr83_97?wfe}FO&Gp4q8Zw|z5KMusMPt5(k4#bziK1BGTMnMx@ks*Eh*u7?AvR4^t$6A)AuF^nF+=5vlwOB2vV; z57d^5J>H(IBaJ!IE4m*3J^~e2I+zA}JO&#Re0(~D9GG;v(kmgUw`ZkcuChk8t-#SStJQVo*lzfY^ zOsTy=qB;2pem)Ohe8kTYE>PQJ!-bc<1DgSVn*9hEG)P{m4$8C1Z~Zgk{xjnK+as>< z_K4KQ!`j|oIY`+r7k{ci#na;LcYr*0^xHN4JBLc+Q^6l0Nc9?POp?p>?;yzLO$hQK z-lci>n?Fvq>9QXiDT;J+@<bqN6mD>;ibv{O@R}(R2~sYbNBysU@1dY5&iTz8sLJ8$UiN;S@r-P6 zmgJrN!o#N|q}itbG|M*qa+W^OU_>a_l z6>FV&iz*uWbJf*=$&~zaQvH(*c)&GGr6Xto-~OzU7ICDBW)=yq?(tQI!tthrErZ~O z2H6!MS!ye;L1WJXPEvxsJLTye@=tH~irWJ4TRYI&TQtYTWopG4nbQri$j==qJ+g$L;nw2L=6k1W}nvQMb$LRb9bjup$GuL!k)fvOo-jq8$;7 zbJDjv}_>sZ93J@tbBFhgx<9syX zu^#^FdUV6q8)fzL{>#cBiC5o_9LOxZ9|Z+&u&d|C)8T>16j8$l!lFp+u2#Z%3!DOu z@ZiJeomV4v@dfu4HPs~a3j?o@Io0bUWSWCG7f62srnsJRBM4ID{<-AEYTUV27axIc zG80ZW*w9lNg=!COEC1w|*{q(#tTckNGTt(4LODgt>8}Q@+Q5_VOKQ<&j#xY4Bj+F^ z+h!&MI8X8IKt_ui$nL}KGcNVSSE`pLH3k|%$h5_H44R22(a=m4-k}7qW zliv&J55q7J!;NL<_g5r*;0qc*xcaP{6YXxb?>u@r<%W7Vx#YHcZi~fL5!0GcBT`JF z=wgVq**l8nr?ScWYMU%TvpX}JDH+Uh@J9a0^Yeh-j)&^`;YH>KqaEtk3-K=YongKv z58x2tzbp73>903}jv*_8;pAs6ee>wC{-cG(^vK^blF<|CUQ3+ME-!kb4mfdLD8(bY-fi{dnliF&zL{g}>{r6IOVdoe?-M7B?2B;!XF!~h zkjC=igY=Xhz58Xi*%RznVfSbLSbI}gcCic!tjMJWxwwgT^4e^!XUM7_+QTZ>9`7?O zqMExHev;_d`katXKd?lNgUB&WK3Z=*d92I!){_USIRqyn+nOr3Jn2c7Mf$jYa0L1j z_`B%)iWv-d;I$R(8Qwj7jg0l~bVgi+eC~1G%X+Hnvu>rm^|xFf$;KMD5??o&(&jCg zU3+O}4ef;5)D*CZN~A{;-$fH&VxOJH%QQjd8`LM?`muP(&y zI;<3D-^%x5%rxEeSjMMIztN>y?k|=(uCQ~%Y^j`Ivuf$|8e38Ty(CG?DQu~x=Km|E zv8Yrt-DsH`?}-X2se)Sxs@@;{ZgFT`CUUdhC|l`#?{5BIOw<24*fy;29_%8-FXs z+a{Z^{Ki(eLL4_L%Z;d6SY}p`1~-`bllcwhqUml&v255UGLVY&E*5uA*Xf-e=vj{~ z|D^c;r1<}&_&nF;`)4LRL%co}x}78^&pSU7NC{ z*Db;bLLaCeUiGdkqKg;H}3E7a|#Our39O)K9>_yM+>69OFJtmP_q3j(_yIqRp2GdUz`U2D@f zOY5tgFTTiS@Tf&;zd%v7nxO&~bF@sUrHsav#5 zl;YP}*bU6W;Nc>r$4c-$D`hLy75>QAt8G{eZeQOG0j|h%9g(1W#_9Ucb0I0 zqhQ1F;f0|}lOK*um&y{yx9?&=Ws!t7#s*;Xuj7LU7j*mFi8S_i8!x4ZD7!|8+{<;u zT|of9!zX&6?NQn8BZpsk(Pa$Wj~J2zj9KOfoG7{YtuiS_!_5jF3IZ{e$AWBD~CeXLm)Fd zDP5pjyS{$)va7~(R2unuEVv=a5-|LhK_2lP#I7`-C9w6=9e`&hxh>A5>kpWioE>VLquLjsle#7M8O&UOgKH!K%2hQhIz!+ygBhO zGFJ?<>6xzh;+ba1z|Pk;=&T>OY(pk2*_3RX(*w`Cx<0s*3wfM~6A^4yHp@jC7k+fb zU5}6r$W5yC?Dquij_2qVT-Z5V^2SA0_v};VFV=y)FnC|=(jpBRJjZW2`@vm{q0p&F*{-#xh zM9WB-8&~7@nA(W=m*Bq#4`HRUui|!^lxD{>N6YX?a?b@Xx2mPkViyoGkqJ8Fm)a!%rMEHv z3=aR+;LsqoCS>T0mr@48Sr3xA^W@BYbi5;Jbq@mV!H{e*+bqe8S60H0pS^+Hw?1wh z5I22Ak$h<>#Y(6%LhitsecgF)hOQ36(#cEqf|;=T=v4(}`#JOz56_TpXADx>bvAc? zcj7^1?h%>a^9D=`&HBpkj}ji76q$CKT}owQ>aloEX{6O0_TyKe0Z+FRqS3ypO-}>a z!9s|x$g%M(amHK$Cw}U3mkvC5h-#cxcby0}mE$*FpP$j(Z~)8NKQVe{Rsy}-Rr+K) fm%)K@GVOK0%ST#E;@ZK-7jo{5rgA3Y%H96~KW$e( literal 0 HcmV?d00001 diff --git a/example/peripheral/gpio/inc/gpio_io_irq.h b/example/peripheral/gpio/inc/gpio_io_irq.h new file mode 100644 index 00000000..096956d2 --- /dev/null +++ b/example/peripheral/gpio/inc/gpio_io_irq.h @@ -0,0 +1,48 @@ +/* + * Copyright : (C) 2022 Phytium Information Technology, Inc. + * All Rights Reserved. + * + * This program is OPEN SOURCE software: you can redistribute it and/or modify it + * under the terms of the Phytium Public License as published by the Phytium Technology Co.,Ltd, + * either version 1.0 of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful,but WITHOUT ANY WARRANTY; + * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + * See the Phytium Public License for more details. + * + * + * FilePath: gpio_io_irq.h + * Date: 2022-07-19 09:26:25 + * LastEditTime: 2022-07-19 09:26:25 + * Description:  This files is for + * + * Modify History: + * Ver   Who        Date         Changes + * ----- ------     --------    -------------------------------------- + */ +#ifndef EXAMPLE_GPIO_IRQ_H +#define EXAMPLE_GPIO_IRQ_H + +#ifdef __cplusplus +extern "C" +{ +#endif + +/***************************** Include Files *********************************/ + +/************************** Constant Definitions *****************************/ + +/************************** Variable Definitions *****************************/ + +/***************** Macros (Inline Functions) Definitions *********************/ + +/************************** Function Prototypes ******************************/ + +/*****************************************************************************/ +BaseType_t FFreeRTOSRunGpioIOIrq(u32 out_pin_idx, u32 in_pin_idx); + +#ifdef __cplusplus +} +#endif + +#endif \ No newline at end of file diff --git a/example/peripheral/gpio/main.c b/example/peripheral/gpio/main.c new file mode 100644 index 00000000..478f1a3b --- /dev/null +++ b/example/peripheral/gpio/main.c @@ -0,0 +1,44 @@ +/* + * Copyright : (C) 2022 Phytium Information Technology, Inc. + * All Rights Reserved. + * + * This program is OPEN SOURCE software: you can redistribute it and/or modify it + * under the terms of the Phytium Public License as published by the Phytium Technology Co.,Ltd, + * either version 1.0 of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful,but WITHOUT ANY WARRANTY; + * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + * See the Phytium Public License for more details. + * + * + * FilePath: main.c + * Date: 2022-06-17 08:17:59 + * LastEditTime: 2022-06-17 08:17:59 + * Description: This file is for + * + * Modify History: + * Ver Who Date Changes + * ----- ------ -------- -------------------------------------- + */ + +#include "shell.h" +#include "shell_port.h" +#include + +int main(void) +{ + BaseType_t ret; + + ret = LSUserShellTask() ; + if(ret != pdPASS) + goto FAIL_EXIT; + + /* ret = FFreeRTOSRunGpioIOIrq("3-a-4", "3-a-5"); */ + + vTaskStartScheduler(); /* 启动任务,开启调度 */ + while (1); /* 正常不会执行到这里 */ + +FAIL_EXIT: + printf("failed 0x%x \r\n", ret); + return 0; +} diff --git a/example/peripheral/gpio/makefile b/example/peripheral/gpio/makefile new file mode 100644 index 00000000..d5622739 --- /dev/null +++ b/example/peripheral/gpio/makefile @@ -0,0 +1,29 @@ +export PROJECT_DIR ?= $(shell pwd) + +export USR_SRC_DIR = $(PROJECT_DIR) \ + ./src +export USR_INC_DIR = $(PROJECT_DIR) \ + ./inc + +# 用户定义的编译目标文件上传路径 +ifeq ($(OS),Windows_NT) + USR_BOOT_DIR ?= $(subst \,/, $(PHYTIUM_DEV_PATH))/tftp +else + USR_BOOT_DIR ?= /mnt/d/tftboot +endif + + +# 设置启动镜像名 +BOOT_IMG_NAME ?= freertos + +# 指定编译freertos项目使用的makefile +include $(FREERTOS_SDK_ROOT)/make/build_freertos.mk + +# 完成编译 +boot: + make -j + @cp ./$(CONFIG_TARGET_NAME).elf $(USR_BOOT_DIR)/$(BOOT_IMG_NAME).elf + @cp ./$(CONFIG_TARGET_NAME).bin $(USR_BOOT_DIR)/$(BOOT_IMG_NAME).bin + @ls -l $(USR_BOOT_DIR)/$(BOOT_IMG_NAME).* + + diff --git a/example/peripheral/gpio/sdkconfig b/example/peripheral/gpio/sdkconfig new file mode 100644 index 00000000..a6713f7d --- /dev/null +++ b/example/peripheral/gpio/sdkconfig @@ -0,0 +1,197 @@ + +# +# Freertos Configuration +# +CONFIG_TARGET_NAME="e2000d_freertos_a64" +# end of Freertos Configuration + +# +# Standalone Setting +# +CONFIG_USE_FREERTOS=y + +# +# Arch Configuration +# +# CONFIG_TARGET_ARMV8_AARCH32 is not set +CONFIG_TARGET_ARMV8_AARCH64=y +CONFIG_USE_CACHE=y +CONFIG_USE_MMU=y +CONFIG_USE_SYS_TICK=y +# CONFIG_MMU_DEBUG_PRINTS is not set +# end of Arch Configuration + +# +# Board Configuration +# +# CONFIG_TARGET_F2000_4 is not set +# CONFIG_TARGET_D2000 is not set +# CONFIG_TARGET_E2000Q is not set +CONFIG_TARGET_E2000D=y +# CONFIG_TARGET_E2000S is not set +CONFIG_TARGET_E2000=y +CONFIG_DEFAULT_DEBUG_PRINT_UART1=y +# CONFIG_DEFAULT_DEBUG_PRINT_UART0 is not set +# CONFIG_DEFAULT_DEBUG_PRINT_UART2 is not set +# end of Board Configuration + +# +# Components Configuration +# +# CONFIG_USE_SPI is not set +# CONFIG_USE_QSPI is not set +CONFIG_USE_GIC=y +CONFIG_ENABLE_GICV3=y +CONFIG_USE_SERIAL=y + +# +# Usart Configuration +# +CONFIG_ENABLE_Pl011_UART=y +# end of Usart Configuration + +CONFIG_USE_GPIO=y +CONFIG_ENABLE_FGPIO=y +# CONFIG_USE_ETH is not set +# CONFIG_USE_CAN is not set +# CONFIG_USE_I2C is not set +# CONFIG_USE_TIMER is not set +# CONFIG_USE_MIO is not set +# CONFIG_USE_SDMMC is not set +# CONFIG_USE_PCIE is not set +# CONFIG_USE_WDT is not set +# CONFIG_USE_DMA is not set +# CONFIG_USE_NAND is not set +# CONFIG_USE_RTC is not set +# CONFIG_USE_SATA is not set +# CONFIG_USE_USB is not set +# CONFIG_USE_ADC is not set +# CONFIG_USE_PWM is not set +# CONFIG_USE_IPC is not set +# end of Components Configuration + +CONFIG_USE_NEW_LIBC=y +# end of Standalone Setting + +# +# Building Option +# +# CONFIG_LOG_VERBOS is not set +# CONFIG_LOG_DEBUG is not set +# CONFIG_LOG_INFO is not set +# CONFIG_LOG_WARN is not set +CONFIG_LOG_ERROR=y +# CONFIG_LOG_NONE is not set +CONFIG_USE_DEFAULT_INTERRUPT_CONFIG=y +CONFIG_INTERRUPT_ROLE_MASTER=y +# CONFIG_INTERRUPT_ROLE_SLAVE is not set +CONFIG_LOG_EXTRA_INFO=y +# CONFIG_BOOTUP_DEBUG_PRINTS is not set + +# +# Linker Options +# +# CONFIG_AARCH32_RAM_LD is not set +CONFIG_AARCH64_RAM_LD=y +# CONFIG_USER_DEFINED_LD is not set +CONFIG_LINK_SCRIPT_ROM=y +CONFIG_ROM_START_UP_ADDR=0x80100000 +CONFIG_ROM_SIZE_MB=1 +CONFIG_LINK_SCRIPT_RAM=y +CONFIG_RAM_START_UP_ADDR=0x81000000 +CONFIG_RAM_SIZE_MB=64 +CONFIG_HEAP_SIZE=1 +CONFIG_STACK_SIZE=0x100000 +CONFIG_FPU_STACK_SIZE=0x1000 +# end of Linker Options + +# +# Compiler Options +# +CONFIG_OUTPUT_BINARY=y +# end of Compiler Options +# end of Building Option + +# +# Component Configuration +# + +# +# Freertos Uart Drivers +# +CONFIG_FREERTOS_USE_UART=y +# end of Freertos Uart Drivers + +# +# Freertos Pwm Drivers +# +# CONFIG_FREERTOS_USE_PWM is not set +# end of Freertos Pwm Drivers + +# +# Freertos Qspi Drivers +# +# CONFIG_FREERTOS_USE_QSPI is not set +# end of Freertos Qspi Drivers + +# +# Freertos Wdt Drivers +# +# CONFIG_FREERTOS_USE_WDT is not set +# end of Freertos Wdt Drivers + +# +# Freertos Eth Drivers +# +# CONFIG_FREERTOS_USE_XMAC is not set +# end of Freertos Eth Drivers + +# +# Freertos Gpio Drivers +# +CONFIG_FREERTOS_USE_GPIO=y +# end of Freertos Gpio Drivers + +# +# Freertos Spim Drivers +# +# CONFIG_FREERTOS_USE_FSPIM is not set +# end of Freertos Spim Drivers + +# +# Freertos DMA Drivers +# +# CONFIG_FREERTOS_USE_FDDMA is not set +# CONFIG_FREERTOS_USE_FGDMA is not set +# end of Freertos DMA Drivers + +# +# Freertos MMC Drivers +# +# CONFIG_FREERTOS_USE_FSDIO is not set +# end of Freertos MMC Drivers +# end of Component Configuration + +# +# FreeRTOS Setting +# +# CONFIG_USE_LWIP is not set +CONFIG_USE_BACKTRACE=y +# CONFIG_USE_FATFS is not set +# CONFIG_USE_SFUD is not set +# CONFIG_USE_SPIFFS is not set +# CONFIG_USE_AMP is not set +CONFIG_USE_LETTER_SHELL=y + +# +# Letter Shell Configuration +# +CONFIG_LS_PL011_UART=y +CONFIG_DEFAULT_LETTER_SHELL_USE_UART1=y +# CONFIG_DEFAULT_LETTER_SHELL_USE_UART0 is not set +# CONFIG_DEFAULT_LETTER_SHELL_USE_UART2 is not set +# end of Letter Shell Configuration + +CONFIG_USE_TLSF=y +# CONFIG_USE_SDMMC_CMD is not set +# end of FreeRTOS Setting diff --git a/example/peripheral/gpio/sdkconfig.h b/example/peripheral/gpio/sdkconfig.h new file mode 100644 index 00000000..4372836c --- /dev/null +++ b/example/peripheral/gpio/sdkconfig.h @@ -0,0 +1,176 @@ +#ifndef SDK_CONFIG_H__ +#define SDK_CONFIG_H__ + +/* Freertos Configuration */ + +#define CONFIG_TARGET_NAME "e2000d_freertos_a64" +/* end of Freertos Configuration */ + +/* Standalone Setting */ + +#define CONFIG_USE_FREERTOS + +/* Arch Configuration */ + +/* CONFIG_TARGET_ARMV8_AARCH32 is not set */ +#define CONFIG_TARGET_ARMV8_AARCH64 +#define CONFIG_USE_CACHE +#define CONFIG_USE_MMU +#define CONFIG_USE_SYS_TICK +/* CONFIG_MMU_DEBUG_PRINTS is not set */ +/* end of Arch Configuration */ + +/* Board Configuration */ + +/* CONFIG_TARGET_F2000_4 is not set */ +/* CONFIG_TARGET_D2000 is not set */ +/* CONFIG_TARGET_E2000Q is not set */ +#define CONFIG_TARGET_E2000D +/* CONFIG_TARGET_E2000S is not set */ +#define CONFIG_TARGET_E2000 +#define CONFIG_DEFAULT_DEBUG_PRINT_UART1 +/* CONFIG_DEFAULT_DEBUG_PRINT_UART0 is not set */ +/* CONFIG_DEFAULT_DEBUG_PRINT_UART2 is not set */ +/* end of Board Configuration */ + +/* Components Configuration */ + +/* CONFIG_USE_SPI is not set */ +/* CONFIG_USE_QSPI is not set */ +#define CONFIG_USE_GIC +#define CONFIG_ENABLE_GICV3 +#define CONFIG_USE_SERIAL + +/* Usart Configuration */ + +#define CONFIG_ENABLE_Pl011_UART +/* end of Usart Configuration */ +#define CONFIG_USE_GPIO +#define CONFIG_ENABLE_FGPIO +/* CONFIG_USE_ETH is not set */ +/* CONFIG_USE_CAN is not set */ +/* CONFIG_USE_I2C is not set */ +/* CONFIG_USE_TIMER is not set */ +/* CONFIG_USE_MIO is not set */ +/* CONFIG_USE_SDMMC is not set */ +/* CONFIG_USE_PCIE is not set */ +/* CONFIG_USE_WDT is not set */ +/* CONFIG_USE_DMA is not set */ +/* CONFIG_USE_NAND is not set */ +/* CONFIG_USE_RTC is not set */ +/* CONFIG_USE_SATA is not set */ +/* CONFIG_USE_USB is not set */ +/* CONFIG_USE_ADC is not set */ +/* CONFIG_USE_PWM is not set */ +/* CONFIG_USE_IPC is not set */ +/* end of Components Configuration */ +#define CONFIG_USE_NEW_LIBC +/* end of Standalone Setting */ + +/* Building Option */ + +/* CONFIG_LOG_VERBOS is not set */ +/* CONFIG_LOG_DEBUG is not set */ +/* CONFIG_LOG_INFO is not set */ +/* CONFIG_LOG_WARN is not set */ +#define CONFIG_LOG_ERROR +/* CONFIG_LOG_NONE is not set */ +#define CONFIG_USE_DEFAULT_INTERRUPT_CONFIG +#define CONFIG_INTERRUPT_ROLE_MASTER +/* CONFIG_INTERRUPT_ROLE_SLAVE is not set */ +#define CONFIG_LOG_EXTRA_INFO +/* CONFIG_BOOTUP_DEBUG_PRINTS is not set */ + +/* Linker Options */ + +/* CONFIG_AARCH32_RAM_LD is not set */ +#define CONFIG_AARCH64_RAM_LD +/* CONFIG_USER_DEFINED_LD is not set */ +#define CONFIG_LINK_SCRIPT_ROM +#define CONFIG_ROM_START_UP_ADDR 0x80100000 +#define CONFIG_ROM_SIZE_MB 1 +#define CONFIG_LINK_SCRIPT_RAM +#define CONFIG_RAM_START_UP_ADDR 0x81000000 +#define CONFIG_RAM_SIZE_MB 64 +#define CONFIG_HEAP_SIZE 1 +#define CONFIG_STACK_SIZE 0x100000 +#define CONFIG_FPU_STACK_SIZE 0x1000 +/* end of Linker Options */ + +/* Compiler Options */ + +#define CONFIG_OUTPUT_BINARY +/* end of Compiler Options */ +/* end of Building Option */ + +/* Component Configuration */ + +/* Freertos Uart Drivers */ + +#define CONFIG_FREERTOS_USE_UART +/* end of Freertos Uart Drivers */ + +/* Freertos Pwm Drivers */ + +/* CONFIG_FREERTOS_USE_PWM is not set */ +/* end of Freertos Pwm Drivers */ + +/* Freertos Qspi Drivers */ + +/* CONFIG_FREERTOS_USE_QSPI is not set */ +/* end of Freertos Qspi Drivers */ + +/* Freertos Wdt Drivers */ + +/* CONFIG_FREERTOS_USE_WDT is not set */ +/* end of Freertos Wdt Drivers */ + +/* Freertos Eth Drivers */ + +/* CONFIG_FREERTOS_USE_XMAC is not set */ +/* end of Freertos Eth Drivers */ + +/* Freertos Gpio Drivers */ + +#define CONFIG_FREERTOS_USE_GPIO +/* end of Freertos Gpio Drivers */ + +/* Freertos Spim Drivers */ + +/* CONFIG_FREERTOS_USE_FSPIM is not set */ +/* end of Freertos Spim Drivers */ + +/* Freertos DMA Drivers */ + +/* CONFIG_FREERTOS_USE_FDDMA is not set */ +/* CONFIG_FREERTOS_USE_FGDMA is not set */ +/* end of Freertos DMA Drivers */ + +/* Freertos MMC Drivers */ + +/* CONFIG_FREERTOS_USE_FSDIO is not set */ +/* end of Freertos MMC Drivers */ +/* end of Component Configuration */ + +/* FreeRTOS Setting */ + +/* CONFIG_USE_LWIP is not set */ +#define CONFIG_USE_BACKTRACE +/* CONFIG_USE_FATFS is not set */ +/* CONFIG_USE_SFUD is not set */ +/* CONFIG_USE_SPIFFS is not set */ +/* CONFIG_USE_AMP is not set */ +#define CONFIG_USE_LETTER_SHELL + +/* Letter Shell Configuration */ + +#define CONFIG_LS_PL011_UART +#define CONFIG_DEFAULT_LETTER_SHELL_USE_UART1 +/* CONFIG_DEFAULT_LETTER_SHELL_USE_UART0 is not set */ +/* CONFIG_DEFAULT_LETTER_SHELL_USE_UART2 is not set */ +/* end of Letter Shell Configuration */ +#define CONFIG_USE_TLSF +/* CONFIG_USE_SDMMC_CMD is not set */ +/* end of FreeRTOS Setting */ + +#endif diff --git a/example/peripheral/gpio/src/cmd_gpio.c b/example/peripheral/gpio/src/cmd_gpio.c new file mode 100644 index 00000000..d81896f2 --- /dev/null +++ b/example/peripheral/gpio/src/cmd_gpio.c @@ -0,0 +1,102 @@ +/* + * Copyright : (C) 2022 Phytium Information Technology, Inc. + * All Rights Reserved. + * + * This program is OPEN SOURCE software: you can redistribute it and/or modify it + * under the terms of the Phytium Public License as published by the Phytium Technology Co.,Ltd, + * either version 1.0 of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful,but WITHOUT ANY WARRANTY; + * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + * See the Phytium Public License for more details. + * + * + * FilePath: cmd_gpio.c + * Date: 2022-06-28 14:42:53 + * LastEditTime: 2022-06-28 14:42:53 + * Description:  This files is for + * + * Modify History: + * Ver   Who        Date         Changes + * ----- ------     --------    -------------------------------------- + */ +/***************************** Include Files *********************************/ +#include +#include +#include "strto.h" +#include "sdkconfig.h" + +#include "FreeRTOS.h" + +#include "../src/shell.h" +#include "fgpio_os.h" +#include "gpio_io_irq.h" +/************************** Constant Definitions *****************************/ + +/************************** Variable Definitions *****************************/ + +/***************** Macros (Inline Functions) Definitions *********************/ + +/************************** Function Prototypes ******************************/ + +/*****************************************************************************/ +static boolean GpioParseIndex(const char *str, u32 *pin) +{ + FASSERT(str && pin); + u32 id_num = 0; + char port = 'a'; + u32 pin_num = 0; + u32 port_num = 0; + + if (3 != sscanf(str, "%d-%c-%d", &id_num, &port, &pin_num)) + { + printf("Parse as %d-%c-%d", id_num, port, pin_num); + return FALSE; + } + + if ((id_num >= FGPIO_NUM) || + ((port != 'a') && (port != 'b')) || + ( pin_num >= FGPIO_PIN_NUM)) + { + printf("Wrong pin index"); + return FALSE; + } + + port_num = (('a' == port) ? 0 : 1); /* 0 = port-a, 1 = port-b */ + *pin = FFREERTOS_GPIO_PIN_INDEX(id_num, port_num, pin_num); + printf("pin index = 0x%x\r\n", *pin); + + return TRUE; +} + +static int GpioCmdEntry(int argc, char *argv[]) +{ + int ret = 0; + const char *in_pin_str = "3-a-4"; + const char *out_pin_str = "3-a-5"; + u32 in_pin, out_pin; + + if (!strcmp(argv[1], "io-irq")) + { + if (argc >= 3) + { + out_pin_str = argv[2]; + } + + if (argc >= 4) + { + in_pin_str = argv[3]; + } + + if ((FALSE == GpioParseIndex(out_pin_str, &out_pin)) || + (FALSE == GpioParseIndex(in_pin_str, &in_pin))) + { + return -2; + } + + ret = (int)FFreeRTOSRunGpioIOIrq(out_pin, in_pin); + } + + return ret; +} +SHELL_EXPORT_CMD(SHELL_CMD_TYPE(SHELL_TYPE_CMD_MAIN), gpio, GpioCmdEntry, test freertos gpio driver); \ No newline at end of file diff --git a/example/peripheral/gpio/src/gpio_io_irq.c b/example/peripheral/gpio/src/gpio_io_irq.c new file mode 100644 index 00000000..d91a1fd3 --- /dev/null +++ b/example/peripheral/gpio/src/gpio_io_irq.c @@ -0,0 +1,329 @@ +/* + * Copyright : (C) 2022 Phytium Information Technology, Inc. + * All Rights Reserved. + * + * This program is OPEN SOURCE software: you can redistribute it and/or modify it + * under the terms of the Phytium Public License as published by the Phytium Technology Co.,Ltd, + * either version 1.0 of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful,but WITHOUT ANY WARRANTY; + * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + * See the Phytium Public License for more details. + * + * + * FilePath: gpio_io_irq.c + * Date: 2022-07-22 13:57:42 + * LastEditTime: 2022-07-22 13:57:43 + * Description:  This files is for + * + * Modify History: + * Ver   Who        Date         Changes + * ----- ------     --------    -------------------------------------- + */ +/***************************** Include Files *********************************/ +#include +#include + +#include "FreeRTOS.h" +#include "task.h" + +#include "ft_debug.h" +#include "fsleep.h" + +#include "fgpio_os.h" +#include "gpio_io_irq.h" +/************************** Constant Definitions *****************************/ +#define PIN_IRQ_OCCURED (0x1 << 0) +#define GPIO_WORK_TASK_NUM 2U +/**************************** Type Definitions *******************************/ + +/************************** Variable Definitions *****************************/ +static FFreeRTOSFGpio *in_gpio = NULL; +static FFreeRTOSGpioConfig in_gpio_cfg; +static FFreeRTOSFGpio *out_gpio = NULL; +static FFreeRTOSGpioConfig out_gpio_cfg; +static xSemaphoreHandle init_locker = NULL; +static u32 in_pin = FFREERTOS_GPIO_PIN_INDEX(3, 0, 5); /* GPIO 3-A-5 */ +static u32 out_pin = FFREERTOS_GPIO_PIN_INDEX(3, 0, 4); /* GPIO 3-A-4 */ +static FFreeRTOSGpioPinConfig in_pin_config = +{ + .pin_idx = FFREERTOS_GPIO_PIN_INDEX(3, 0, 5), /* GPIO 3-A-5 */ + .mode = FGPIO_DIR_INPUT, + .en_irq = TRUE, + .irq_type = FGPIO_IRQ_TYPE_EDGE_RISING, + .irq_handler = NULL, + .irq_args = NULL +}; +static FFreeRTOSGpioPinConfig out_pin_config = +{ + .pin_idx = FFREERTOS_GPIO_PIN_INDEX(3, 0, 4), /* GPIO 3-A-4 */ + .mode = FGPIO_DIR_OUTPUT, + .en_irq = FALSE +}; +static EventGroupHandle_t event = NULL; +static TaskHandle_t output_task = NULL; +static TaskHandle_t input_task = NULL; +static TimerHandle_t exit_timer = NULL; +static boolean is_running = FALSE; + +/***************** Macros (Inline Functions) Definitions *********************/ +#define FGPIO_DEBUG_TAG "GPIO-IO" +#define FGPIO_ERROR(format, ...) FT_DEBUG_PRINT_E(FGPIO_DEBUG_TAG, format, ##__VA_ARGS__) +#define FGPIO_WARN(format, ...) FT_DEBUG_PRINT_W(FGPIO_DEBUG_TAG, format, ##__VA_ARGS__) +#define FGPIO_INFO(format, ...) FT_DEBUG_PRINT_I(FGPIO_DEBUG_TAG, format, ##__VA_ARGS__) +#define FGPIO_DEBUG(format, ...) FT_DEBUG_PRINT_D(FGPIO_DEBUG_TAG, format, ##__VA_ARGS__) + +/************************** Function Prototypes ******************************/ + +/*****************************************************************************/ +static void GpioIOIrqExitCallback(TimerHandle_t timer) +{ + printf("exiting...\r\n"); + + if (output_task) /* stop and delete send task */ + { + vTaskDelete(output_task); + output_task = NULL; + } + + if (input_task) /* stop and delete recv task */ + { + vTaskDelete(input_task); + input_task = NULL; + } + + if (FT_SUCCESS != FFreeRTOSGpioDeInit(in_gpio)) + { + FGPIO_ERROR("delete gpio failed !!!"); + } + in_gpio = NULL; + + if (FFREERTOS_GPIO_PIN_CTRL_ID(out_pin) != FFREERTOS_GPIO_PIN_CTRL_ID(in_pin)) /* check if pin in diff ctrl */ + { + if (FT_SUCCESS != FFreeRTOSGpioDeInit(out_gpio)) + { + FGPIO_ERROR("delete gpio failed !!!"); + } + } + out_gpio = NULL; + + if (event) + { + vEventGroupDelete(event); + event = NULL; + } + + if (init_locker) + { + vSemaphoreDelete(init_locker); + init_locker = NULL; + } + + if (exit_timer) + { + if (pdPASS != xTimerDelete(exit_timer, 0)) + { + FGPIO_ERROR("delete exit timer failed !!!"); + } + exit_timer = NULL; + } + + is_running = FALSE; +} + +static void GpioIOAckPinIrq(s32 vector, void *param) +{ + BaseType_t xhigher_priority_task_woken = pdFALSE; + BaseType_t x_result = pdFALSE; + + FGPIO_INFO("ack pin irq"); + x_result = xEventGroupSetBitsFromISR(event, PIN_IRQ_OCCURED, + &xhigher_priority_task_woken); +} + +static void GdmaInitTask(void *args) +{ + FError err = FT_SUCCESS; + static const char *irq_type_str[] = {"failling-edge", "rising-edge", "low-level", "high-level"}; + + FGPIO_INFO("out_pin: 0x%x, in_pin: 0x%x", out_pin, in_pin); + + out_gpio = FFreeRTOSGpioInit(FFREERTOS_GPIO_PIN_CTRL_ID(out_pin), &out_gpio_cfg); + if (FFREERTOS_GPIO_PIN_CTRL_ID(out_pin) != FFREERTOS_GPIO_PIN_CTRL_ID(in_pin)) + { + in_gpio = FFreeRTOSGpioInit(FFREERTOS_GPIO_PIN_CTRL_ID(in_pin), &in_gpio_cfg); + } + else + { + in_gpio = out_gpio; /* no need to init if in-pin and out-pin under same ctrl */ + } + + /* init output/input pin */ + out_pin_config.pin_idx = out_pin; + err = FFreeRTOSSetupPin(out_gpio, &out_pin_config); + FASSERT_MSG(FT_SUCCESS == err, "init output gpio pin failed !!!"); + + in_pin_config.pin_idx = in_pin; + in_pin_config.irq_handler = GpioIOAckPinIrq; + in_pin_config.irq_args = NULL; + printf("config input pin interrupt type as %s\r\n", irq_type_str[in_pin_config.irq_type]); + err = FFreeRTOSSetupPin(in_gpio, &in_pin_config); + FASSERT_MSG(FT_SUCCESS == err, "init input gpio pin failed !!!"); + + FASSERT_MSG(init_locker, "init locker NULL"); + for (u32 loop = 0U; loop < GPIO_WORK_TASK_NUM; loop++) + { + xSemaphoreGive(init_locker); + } + + vTaskDelete(NULL); +} + +static void GpioIOIrqOutputTask(void *args) +{ + FASSERT(init_locker); + xSemaphoreTake(init_locker, portMAX_DELAY); + + const TickType_t toggle_delay = pdMS_TO_TICKS(500UL); /* toggle every 500 ms */ + FGpioPinVal out_val = FGPIO_PIN_LOW; + + printf("gpio ouptut task started \r\n"); + + for (;;) + { + printf(" ==> Set GPIO-%d-%c-%d as %s\r\n", + FFREERTOS_GPIO_PIN_CTRL_ID(out_pin), + (FGPIO_PORT_A == FFREERTOS_GPIO_PIN_PORT_ID(out_pin)) ? 'a' : 'b', + FFREERTOS_GPIO_PIN_ID(out_pin), + (out_val == FGPIO_PIN_LOW) ? "low" : "high"); + + FFreeRTOSPinWrite(out_gpio, out_pin, out_val); /* start with low level */ + vTaskDelay(toggle_delay); + out_val = (FGPIO_PIN_LOW == out_val) ? FGPIO_PIN_HIGH : FGPIO_PIN_LOW; /* toggle level */ + } +} + +static boolean GpioIOWaitIrqOccurr(void) +{ + const TickType_t wait_delay = pdMS_TO_TICKS(2000U); /* just check 2sec wait */ + boolean ok = FALSE; + EventBits_t ev = xEventGroupWaitBits(event, + PIN_IRQ_OCCURED, + pdTRUE, pdFALSE, wait_delay); + + if ((ev & PIN_IRQ_OCCURED)) + { + ok = TRUE; + } + + return ok; +} + +static void GpioIOIrqInputTask(void *args) +{ + FASSERT(init_locker); + xSemaphoreTake(init_locker, portMAX_DELAY); + + FGpioPinVal in_val; + FError err = FT_SUCCESS; + const TickType_t input_delay = pdMS_TO_TICKS(100UL); /* input every 500 ms */ + + printf("gpio input task started \r\n"); + (void)FFreeRTOSSetIRQ(in_gpio, in_pin, TRUE); + + for (;;) + { + in_val = FFreeRTOSPinRead(in_gpio, in_pin); + printf(" <== Get GPIO-%d-%c-%d in %s\r\n", + FFREERTOS_GPIO_PIN_CTRL_ID(in_pin), + (FGPIO_PORT_A == FFREERTOS_GPIO_PIN_PORT_ID(in_pin)) ? 'a' : 'b', + FFREERTOS_GPIO_PIN_ID(in_pin), + (in_val == FGPIO_PIN_LOW) ? "low" : "high"); + + /* check for interrupt event */ + if (GpioIOWaitIrqOccurr()) + { + printf("GPIO-%d-%c-%d, Interrrupt Asserted !!! \r\n", + FFREERTOS_GPIO_PIN_CTRL_ID(in_pin), + (FGPIO_PORT_A == FFREERTOS_GPIO_PIN_PORT_ID(in_pin)) ? 'a' : 'b', + FFREERTOS_GPIO_PIN_ID(in_pin)); + + (void)FFreeRTOSSetIRQ(in_gpio, in_pin, TRUE); /* enable irq to recv next one */ + } + else + { + printf("None Interrupt Assert\r\n"); + continue; + } + + vTaskDelay(input_delay); + } +} + +BaseType_t FFreeRTOSRunGpioIOIrq(u32 out_pin_idx, u32 in_pin_idx) +{ + BaseType_t ret = pdPASS; + const TickType_t total_run_time = pdMS_TO_TICKS(10000UL); /* loopback run for 5 secs deadline */ + + if (is_running) + { + FGPIO_ERROR("task is running !!!!"); + return pdPASS; + } + + is_running = TRUE; + + FASSERT_MSG(NULL == event, "event group exists !!!"); + FASSERT_MSG((event = xEventGroupCreate()) != NULL, "create event group failed !!!"); + + FASSERT_MSG(NULL == init_locker, "init locker exists !!!"); + FASSERT_MSG((init_locker = xSemaphoreCreateCounting(GPIO_WORK_TASK_NUM, 0U)) != NULL, "create event group failed !!!"); + + out_pin = out_pin_idx; + in_pin = in_pin_idx; + + taskENTER_CRITICAL(); /* no schedule when create task */ + + ret = xTaskCreate((TaskFunction_t )GdmaInitTask, /* task entry */ + (const char* )"GdmaInitTask",/* task name */ + (uint16_t )1024, /* task stack size in words */ + NULL, /* task params */ + (UBaseType_t )configMAX_PRIORITIES - 1, /* task priority */ + NULL); /* task handler */ + + FASSERT_MSG(pdPASS == ret, "create task failed"); + + ret = xTaskCreate((TaskFunction_t )GpioIOIrqOutputTask, /* task entry */ + (const char* )"GpioIOIrqOutputTask",/* task name */ + (uint16_t )1024, /* task stack size in words */ + NULL, /* task params */ + (UBaseType_t )configMAX_PRIORITIES - 1, /* task priority */ + (TaskHandle_t* )&output_task); /* task handler */ + + FASSERT_MSG(pdPASS == ret, "create task failed"); + + ret = xTaskCreate((TaskFunction_t )GpioIOIrqInputTask, /* task entry */ + (const char* )"GpioIOIrqInputTask",/* task name */ + (uint16_t )1024, /* task stack size in words */ + NULL, /* task params */ + (UBaseType_t )configMAX_PRIORITIES - 2, /* task priority */ + (TaskHandle_t* )&input_task); /* task handler */ + + FASSERT_MSG(pdPASS == ret, "create task failed"); + + exit_timer = xTimerCreate("Exit-Timer", /* Text name for the software timer - not used by FreeRTOS. */ + total_run_time, /* The software timer's period in ticks. */ + pdFALSE, /* Setting uxAutoRealod to pdFALSE creates a one-shot software timer. */ + NULL, /* use timer id to pass task data for reference. */ + GpioIOIrqExitCallback); /* The callback function to be used by the software timer being created. */ + + FASSERT_MSG(NULL != exit_timer, "create exit timer failed"); + + taskEXIT_CRITICAL(); /* allow schedule since task created */ + + ret = xTimerStart(exit_timer, 0); /* start */ + + FASSERT_MSG(pdPASS == ret, "start exit timer failed"); + + return ret; +} diff --git a/example/peripheral/pwm/Kconfig b/example/peripheral/pwm/Kconfig new file mode 100644 index 00000000..0277fb85 --- /dev/null +++ b/example/peripheral/pwm/Kconfig @@ -0,0 +1,19 @@ +# +# For a description of the syntax of this configuration file, +# see tools/kconfiglib/kconfig-language.txt. +# + + +mainmenu "Phytium Freertos Configuration" + + menu "Freertos Configuration" + config TARGET_NAME + string "Build Target Name" + default "freertos" + help + Build Target name for the demo + +endmenu + +source "$(FREERTOS_SDK_ROOT)/Kconfig" + diff --git a/example/peripheral/pwm/README.md b/example/peripheral/pwm/README.md new file mode 100644 index 00000000..098152b3 --- /dev/null +++ b/example/peripheral/pwm/README.md @@ -0,0 +1,140 @@ + + +# pwm base on freertos + +## 1. 例程介绍 + +本例程示范了freertos环境下的pwm的使用,包括pwm的初始化、pwm占空比周期变化操作; +程序启动后,创建pwm初始化任务,设置pwm时钟分频、周期和占空比等; +创建pwm占空比变化任务FFreeRTOSPwmChangeTask,用于定时变化pwm占空比; +创建单次模式的软件定时器,回调函数为删除FFreeRTOSPwmChangeTask,去初始化pwm,删除软件定时器; + +## 2. 如何使用例程 + +本例程需要用到 +- Phytium开发板(E2000D/E2000Q) +- [Phytium freeRTOS SDK](https://gitee.com/phytium_embedded/phytium-free-rtos-sdk) +- [Phytium standalone SDK](https://gitee.com/phytium_embedded/phytium-standalone-sdk) +### 2.1 硬件配置方法 + +本例程支持的硬件平台包括 + +- E2000D +- E2000Q + +对应的配置项是, + +- CONFIG_TARGET_E2000D +- CONFIG_TARGET_E2000Q + +### 2.2 SDK配置方法 + +本例程需要, + +- 使能Shell +- 使能Pwm + +对应的配置项是, + +- CONFIG_USE_LETTER_SHELL +- CONFIG_USE_PWM +- CONFIG_FREERTOS_USE_PWM + +本例子已经提供好具体的编译指令,以下进行介绍: +- make 将目录下的工程进行编译 +- make clean 将目录下的工程进行清理 +- make boot 将目录下的工程进行编译,并将生成的elf 复制到目标地址 +- make load_e2000d_aarch64 将预设64bit e2000d 下的配置加载至工程中 +- make load_e2000d_aarch32 将预设32bit e2000d 下的配置加载至工程中 +- make load_e2000q_aarch64 将预设64bit e2000q 下的配置加载至工程中 +- make load_e2000q_aarch32 将预设32bit e2000q 下的配置加载至工程中 +- make menuconfig 配置目录下的参数变量 +- make backup_kconfig 将目录下的sdkconfig 备份到./configs下 + +具体使用方法为: +- 在当前目录下 +- 执行以上指令 + +### 2.3 构建和下载 + +#### 2.3.1 构建过程 + +- 在host侧完成配置 +配置成e2000q,对于其它平台,使用对于的默认配置,如e2000d `make load_e2000d_aarch32` + +- 选择目标平台 +``` +make load_e2000q_aarch32 +``` + +- 选择例程需要的配置 +``` +make menuconfig +``` + +- 进行编译 +``` +make +``` + +- 将编译出的镜像放置到tftp目录下 +``` +make boot +``` + +#### 2.3.2 下载过程 + +- host侧设置重启host侧tftp服务器 +``` +sudo service tftpd-hpa restart +``` + +- 开发板侧使用bootelf命令跳转 +``` +setenv ipaddr 192.168.4.20 +setenv serverip 192.168.4.50 +setenv gatewayip 192.168.4.1 +tftpboot 0x90100000 freertos.elf +bootelf -p 0x90100000 +``` + +### 2.4 输出与实验现象 + +- 系统进入后,创建pwm初始化任务,创建占空比变化任务,并创建单次模式软件定时器 + +![create](./figs/create.png) + +- 定时器时间到,触发单次模式软件定时器的回调函数,去初始化pwm,删除占空比变化任务,删除软件定时器 + +![delete](./figs/delete.png) + +## 3. 如何解决问题 + +- 若不想使能死区输出,可将FFreeRTOSPwmDbSet的部分去除,只需调用FFreeRTOSPwmSet即可。 + +## 4. 修改历史记录 + + + + diff --git a/example/peripheral/pwm/configs/e2000d_aarch32_eg_configs b/example/peripheral/pwm/configs/e2000d_aarch32_eg_configs new file mode 100644 index 00000000..e08e3cbd --- /dev/null +++ b/example/peripheral/pwm/configs/e2000d_aarch32_eg_configs @@ -0,0 +1,207 @@ + +# +# Freertos Configuration +# +CONFIG_TARGET_NAME="e2000d_freertos_a32" +# end of Freertos Configuration + +# +# Standalone Setting +# +CONFIG_USE_FREERTOS=y + +# +# Arch Configuration +# +CONFIG_TARGET_ARMV8_AARCH32=y +# CONFIG_TARGET_ARMV8_AARCH64 is not set +CONFIG_USE_CACHE=y +CONFIG_USE_MMU=y +CONFIG_USE_SYS_TICK=y +CONFIG_USE_AARCH64_L1_TO_AARCH32=y +# end of Arch Configuration + +# +# Board Configuration +# +# CONFIG_TARGET_F2000_4 is not set +# CONFIG_TARGET_D2000 is not set +# CONFIG_TARGET_E2000Q is not set +CONFIG_TARGET_E2000D=y +# CONFIG_TARGET_E2000S is not set +CONFIG_TARGET_E2000=y +CONFIG_DEFAULT_DEBUG_PRINT_UART1=y +# CONFIG_DEFAULT_DEBUG_PRINT_UART0 is not set +# CONFIG_DEFAULT_DEBUG_PRINT_UART2 is not set +# end of Board Configuration + +# +# Components Configuration +# +# CONFIG_USE_SPI is not set +# CONFIG_USE_QSPI is not set +CONFIG_USE_GIC=y +CONFIG_ENABLE_GICV3=y +CONFIG_USE_SERIAL=y + +# +# Usart Configuration +# +CONFIG_ENABLE_Pl011_UART=y +# end of Usart Configuration + +# CONFIG_USE_GPIO is not set +# CONFIG_USE_ETH is not set +# CONFIG_USE_CAN is not set +# CONFIG_USE_I2C is not set +# CONFIG_USE_TIMER is not set +# CONFIG_USE_MIO is not set +# CONFIG_USE_SDMMC is not set +# CONFIG_USE_PCIE is not set +# CONFIG_USE_WDT is not set +# CONFIG_USE_DMA is not set +# CONFIG_USE_NAND is not set +# CONFIG_USE_RTC is not set +# CONFIG_USE_SATA is not set +# CONFIG_USE_USB is not set +# CONFIG_USE_ADC is not set +CONFIG_USE_PWM=y + +# +# FPWM Configuration +# +CONFIG_USE_FPWM=y +# end of FPWM Configuration + +# CONFIG_USE_IPC is not set +# end of Components Configuration + +CONFIG_USE_NEW_LIBC=y +# end of Standalone Setting + +# +# Building Option +# +# CONFIG_LOG_VERBOS is not set +# CONFIG_LOG_DEBUG is not set +CONFIG_LOG_INFO=y +# CONFIG_LOG_WARN is not set +# CONFIG_LOG_ERROR is not set +# CONFIG_LOG_NONE is not set +CONFIG_USE_DEFAULT_INTERRUPT_CONFIG=y +CONFIG_INTERRUPT_ROLE_MASTER=y +# CONFIG_INTERRUPT_ROLE_SLAVE is not set +# CONFIG_LOG_EXTRA_INFO is not set +# CONFIG_BOOTUP_DEBUG_PRINTS is not set + +# +# Linker Options +# +CONFIG_AARCH32_RAM_LD=y +# CONFIG_AARCH64_RAM_LD is not set +# CONFIG_USER_DEFINED_LD is not set +CONFIG_LINK_SCRIPT_ROM=y +CONFIG_ROM_START_UP_ADDR=0x80100000 +CONFIG_ROM_SIZE_MB=1 +CONFIG_LINK_SCRIPT_RAM=y +CONFIG_RAM_START_UP_ADDR=0x81000000 +CONFIG_RAM_SIZE_MB=64 +CONFIG_HEAP_SIZE=1 +CONFIG_SVC_STACK_SIZE=0x1000 +CONFIG_SYS_STACK_SIZE=0x1000 +CONFIG_IRQ_STACK_SIZE=0x1000 +CONFIG_ABORT_STACK_SIZE=0x1000 +CONFIG_FIQ_STACK_SIZE=0x1000 +CONFIG_UNDEF_STACK_SIZE=0x1000 +# end of Linker Options + +# +# Compiler Options +# +CONFIG_OUTPUT_BINARY=y +# end of Compiler Options +# end of Building Option + +# +# Component Configuration +# + +# +# Freertos Uart Drivers +# +CONFIG_FREERTOS_USE_UART=y +# end of Freertos Uart Drivers + +# +# Freertos Pwm Drivers +# +CONFIG_FREERTOS_USE_PWM=y +# end of Freertos Pwm Drivers + +# +# Freertos Qspi Drivers +# +# CONFIG_FREERTOS_USE_QSPI is not set +# end of Freertos Qspi Drivers + +# +# Freertos Wdt Drivers +# +# CONFIG_FREERTOS_USE_WDT is not set +# end of Freertos Wdt Drivers + +# +# Freertos Eth Drivers +# +# CONFIG_FREERTOS_USE_XMAC is not set +# end of Freertos Eth Drivers + +# +# Freertos Gpio Drivers +# +# CONFIG_FREERTOS_USE_GPIO is not set +# end of Freertos Gpio Drivers + +# +# Freertos Spim Drivers +# +# CONFIG_FREERTOS_USE_FSPIM is not set +# end of Freertos Spim Drivers + +# +# Freertos DMA Drivers +# +# CONFIG_FREERTOS_USE_FDDMA is not set +# CONFIG_FREERTOS_USE_FGDMA is not set +# end of Freertos DMA Drivers + +# +# Freertos MMC Drivers +# +# CONFIG_FREERTOS_USE_FSDIO is not set +# end of Freertos MMC Drivers +# end of Component Configuration + +# +# FreeRTOS Setting +# +# CONFIG_USE_LWIP is not set +CONFIG_USE_BACKTRACE=y +# CONFIG_USE_FATFS is not set +# CONFIG_USE_SFUD is not set +# CONFIG_USE_SPIFFS is not set +# CONFIG_USE_AMP is not set +CONFIG_USE_LETTER_SHELL=y + +# +# Letter Shell Configuration +# +CONFIG_LS_PL011_UART=y +CONFIG_DEFAULT_LETTER_SHELL_USE_UART1=y +# CONFIG_DEFAULT_LETTER_SHELL_USE_UART0 is not set +# CONFIG_DEFAULT_LETTER_SHELL_USE_UART2 is not set +# end of Letter Shell Configuration + +CONFIG_USE_TLSF=y +# CONFIG_USE_SDMMC_CMD is not set +# end of FreeRTOS Setting diff --git a/example/peripheral/pwm/configs/e2000d_aarch64_eg_configs b/example/peripheral/pwm/configs/e2000d_aarch64_eg_configs new file mode 100644 index 00000000..a938aefe --- /dev/null +++ b/example/peripheral/pwm/configs/e2000d_aarch64_eg_configs @@ -0,0 +1,203 @@ + +# +# Freertos Configuration +# +CONFIG_TARGET_NAME="e2000d_freertos_a64" +# end of Freertos Configuration + +# +# Standalone Setting +# +CONFIG_USE_FREERTOS=y + +# +# Arch Configuration +# +# CONFIG_TARGET_ARMV8_AARCH32 is not set +CONFIG_TARGET_ARMV8_AARCH64=y +CONFIG_USE_CACHE=y +CONFIG_USE_MMU=y +CONFIG_USE_SYS_TICK=y +# CONFIG_MMU_DEBUG_PRINTS is not set +# end of Arch Configuration + +# +# Board Configuration +# +# CONFIG_TARGET_F2000_4 is not set +# CONFIG_TARGET_D2000 is not set +# CONFIG_TARGET_E2000Q is not set +CONFIG_TARGET_E2000D=y +# CONFIG_TARGET_E2000S is not set +CONFIG_TARGET_E2000=y +CONFIG_DEFAULT_DEBUG_PRINT_UART1=y +# CONFIG_DEFAULT_DEBUG_PRINT_UART0 is not set +# CONFIG_DEFAULT_DEBUG_PRINT_UART2 is not set +# end of Board Configuration + +# +# Components Configuration +# +# CONFIG_USE_SPI is not set +# CONFIG_USE_QSPI is not set +CONFIG_USE_GIC=y +CONFIG_ENABLE_GICV3=y +CONFIG_USE_SERIAL=y + +# +# Usart Configuration +# +CONFIG_ENABLE_Pl011_UART=y +# end of Usart Configuration + +# CONFIG_USE_GPIO is not set +# CONFIG_USE_ETH is not set +# CONFIG_USE_CAN is not set +# CONFIG_USE_I2C is not set +# CONFIG_USE_TIMER is not set +# CONFIG_USE_MIO is not set +# CONFIG_USE_SDMMC is not set +# CONFIG_USE_PCIE is not set +# CONFIG_USE_WDT is not set +# CONFIG_USE_DMA is not set +# CONFIG_USE_NAND is not set +# CONFIG_USE_RTC is not set +# CONFIG_USE_SATA is not set +# CONFIG_USE_USB is not set +# CONFIG_USE_ADC is not set +CONFIG_USE_PWM=y + +# +# FPWM Configuration +# +CONFIG_USE_FPWM=y +# end of FPWM Configuration + +# CONFIG_USE_IPC is not set +# end of Components Configuration + +CONFIG_USE_NEW_LIBC=y +# end of Standalone Setting + +# +# Building Option +# +# CONFIG_LOG_VERBOS is not set +# CONFIG_LOG_DEBUG is not set +CONFIG_LOG_INFO=y +# CONFIG_LOG_WARN is not set +# CONFIG_LOG_ERROR is not set +# CONFIG_LOG_NONE is not set +CONFIG_USE_DEFAULT_INTERRUPT_CONFIG=y +CONFIG_INTERRUPT_ROLE_MASTER=y +# CONFIG_INTERRUPT_ROLE_SLAVE is not set +# CONFIG_LOG_EXTRA_INFO is not set +# CONFIG_BOOTUP_DEBUG_PRINTS is not set + +# +# Linker Options +# +# CONFIG_AARCH32_RAM_LD is not set +CONFIG_AARCH64_RAM_LD=y +# CONFIG_USER_DEFINED_LD is not set +CONFIG_LINK_SCRIPT_ROM=y +CONFIG_ROM_START_UP_ADDR=0x80100000 +CONFIG_ROM_SIZE_MB=1 +CONFIG_LINK_SCRIPT_RAM=y +CONFIG_RAM_START_UP_ADDR=0x81000000 +CONFIG_RAM_SIZE_MB=64 +CONFIG_HEAP_SIZE=1 +CONFIG_STACK_SIZE=0x100000 +CONFIG_FPU_STACK_SIZE=0x1000 +# end of Linker Options + +# +# Compiler Options +# +CONFIG_OUTPUT_BINARY=y +# end of Compiler Options +# end of Building Option + +# +# Component Configuration +# + +# +# Freertos Uart Drivers +# +CONFIG_FREERTOS_USE_UART=y +# end of Freertos Uart Drivers + +# +# Freertos Pwm Drivers +# +CONFIG_FREERTOS_USE_PWM=y +# end of Freertos Pwm Drivers + +# +# Freertos Qspi Drivers +# +# CONFIG_FREERTOS_USE_QSPI is not set +# end of Freertos Qspi Drivers + +# +# Freertos Wdt Drivers +# +# CONFIG_FREERTOS_USE_WDT is not set +# end of Freertos Wdt Drivers + +# +# Freertos Eth Drivers +# +# CONFIG_FREERTOS_USE_XMAC is not set +# end of Freertos Eth Drivers + +# +# Freertos Gpio Drivers +# +# CONFIG_FREERTOS_USE_GPIO is not set +# end of Freertos Gpio Drivers + +# +# Freertos Spim Drivers +# +# CONFIG_FREERTOS_USE_FSPIM is not set +# end of Freertos Spim Drivers + +# +# Freertos DMA Drivers +# +# CONFIG_FREERTOS_USE_FDDMA is not set +# CONFIG_FREERTOS_USE_FGDMA is not set +# end of Freertos DMA Drivers + +# +# Freertos MMC Drivers +# +# CONFIG_FREERTOS_USE_FSDIO is not set +# end of Freertos MMC Drivers +# end of Component Configuration + +# +# FreeRTOS Setting +# +# CONFIG_USE_LWIP is not set +CONFIG_USE_BACKTRACE=y +# CONFIG_USE_FATFS is not set +# CONFIG_USE_SFUD is not set +# CONFIG_USE_SPIFFS is not set +# CONFIG_USE_AMP is not set +CONFIG_USE_LETTER_SHELL=y + +# +# Letter Shell Configuration +# +CONFIG_LS_PL011_UART=y +CONFIG_DEFAULT_LETTER_SHELL_USE_UART1=y +# CONFIG_DEFAULT_LETTER_SHELL_USE_UART0 is not set +# CONFIG_DEFAULT_LETTER_SHELL_USE_UART2 is not set +# end of Letter Shell Configuration + +CONFIG_USE_TLSF=y +# CONFIG_USE_SDMMC_CMD is not set +# end of FreeRTOS Setting diff --git a/example/peripheral/pwm/configs/e2000q_aarch32_eg_configs b/example/peripheral/pwm/configs/e2000q_aarch32_eg_configs new file mode 100644 index 00000000..956aadc5 --- /dev/null +++ b/example/peripheral/pwm/configs/e2000q_aarch32_eg_configs @@ -0,0 +1,207 @@ + +# +# Freertos Configuration +# +CONFIG_TARGET_NAME="e2000q_freertos_a32" +# end of Freertos Configuration + +# +# Standalone Setting +# +CONFIG_USE_FREERTOS=y + +# +# Arch Configuration +# +CONFIG_TARGET_ARMV8_AARCH32=y +# CONFIG_TARGET_ARMV8_AARCH64 is not set +CONFIG_USE_CACHE=y +CONFIG_USE_MMU=y +CONFIG_USE_SYS_TICK=y +CONFIG_USE_AARCH64_L1_TO_AARCH32=y +# end of Arch Configuration + +# +# Board Configuration +# +# CONFIG_TARGET_F2000_4 is not set +# CONFIG_TARGET_D2000 is not set +CONFIG_TARGET_E2000Q=y +# CONFIG_TARGET_E2000D is not set +# CONFIG_TARGET_E2000S is not set +CONFIG_TARGET_E2000=y +CONFIG_DEFAULT_DEBUG_PRINT_UART1=y +# CONFIG_DEFAULT_DEBUG_PRINT_UART0 is not set +# CONFIG_DEFAULT_DEBUG_PRINT_UART2 is not set +# end of Board Configuration + +# +# Components Configuration +# +# CONFIG_USE_SPI is not set +# CONFIG_USE_QSPI is not set +CONFIG_USE_GIC=y +CONFIG_ENABLE_GICV3=y +CONFIG_USE_SERIAL=y + +# +# Usart Configuration +# +CONFIG_ENABLE_Pl011_UART=y +# end of Usart Configuration + +# CONFIG_USE_GPIO is not set +# CONFIG_USE_ETH is not set +# CONFIG_USE_CAN is not set +# CONFIG_USE_I2C is not set +# CONFIG_USE_TIMER is not set +# CONFIG_USE_MIO is not set +# CONFIG_USE_SDMMC is not set +# CONFIG_USE_PCIE is not set +# CONFIG_USE_WDT is not set +# CONFIG_USE_DMA is not set +# CONFIG_USE_NAND is not set +# CONFIG_USE_RTC is not set +# CONFIG_USE_SATA is not set +# CONFIG_USE_USB is not set +# CONFIG_USE_ADC is not set +CONFIG_USE_PWM=y + +# +# FPWM Configuration +# +CONFIG_USE_FPWM=y +# end of FPWM Configuration + +# CONFIG_USE_IPC is not set +# end of Components Configuration + +CONFIG_USE_NEW_LIBC=y +# end of Standalone Setting + +# +# Building Option +# +# CONFIG_LOG_VERBOS is not set +# CONFIG_LOG_DEBUG is not set +CONFIG_LOG_INFO=y +# CONFIG_LOG_WARN is not set +# CONFIG_LOG_ERROR is not set +# CONFIG_LOG_NONE is not set +CONFIG_USE_DEFAULT_INTERRUPT_CONFIG=y +CONFIG_INTERRUPT_ROLE_MASTER=y +# CONFIG_INTERRUPT_ROLE_SLAVE is not set +# CONFIG_LOG_EXTRA_INFO is not set +# CONFIG_BOOTUP_DEBUG_PRINTS is not set + +# +# Linker Options +# +CONFIG_AARCH32_RAM_LD=y +# CONFIG_AARCH64_RAM_LD is not set +# CONFIG_USER_DEFINED_LD is not set +CONFIG_LINK_SCRIPT_ROM=y +CONFIG_ROM_START_UP_ADDR=0x80100000 +CONFIG_ROM_SIZE_MB=1 +CONFIG_LINK_SCRIPT_RAM=y +CONFIG_RAM_START_UP_ADDR=0x81000000 +CONFIG_RAM_SIZE_MB=64 +CONFIG_HEAP_SIZE=1 +CONFIG_SVC_STACK_SIZE=0x1000 +CONFIG_SYS_STACK_SIZE=0x1000 +CONFIG_IRQ_STACK_SIZE=0x1000 +CONFIG_ABORT_STACK_SIZE=0x1000 +CONFIG_FIQ_STACK_SIZE=0x1000 +CONFIG_UNDEF_STACK_SIZE=0x1000 +# end of Linker Options + +# +# Compiler Options +# +CONFIG_OUTPUT_BINARY=y +# end of Compiler Options +# end of Building Option + +# +# Component Configuration +# + +# +# Freertos Uart Drivers +# +CONFIG_FREERTOS_USE_UART=y +# end of Freertos Uart Drivers + +# +# Freertos Pwm Drivers +# +CONFIG_FREERTOS_USE_PWM=y +# end of Freertos Pwm Drivers + +# +# Freertos Qspi Drivers +# +# CONFIG_FREERTOS_USE_QSPI is not set +# end of Freertos Qspi Drivers + +# +# Freertos Wdt Drivers +# +# CONFIG_FREERTOS_USE_WDT is not set +# end of Freertos Wdt Drivers + +# +# Freertos Eth Drivers +# +# CONFIG_FREERTOS_USE_XMAC is not set +# end of Freertos Eth Drivers + +# +# Freertos Gpio Drivers +# +# CONFIG_FREERTOS_USE_GPIO is not set +# end of Freertos Gpio Drivers + +# +# Freertos Spim Drivers +# +# CONFIG_FREERTOS_USE_FSPIM is not set +# end of Freertos Spim Drivers + +# +# Freertos DMA Drivers +# +# CONFIG_FREERTOS_USE_FDDMA is not set +# CONFIG_FREERTOS_USE_FGDMA is not set +# end of Freertos DMA Drivers + +# +# Freertos MMC Drivers +# +# CONFIG_FREERTOS_USE_FSDIO is not set +# end of Freertos MMC Drivers +# end of Component Configuration + +# +# FreeRTOS Setting +# +# CONFIG_USE_LWIP is not set +CONFIG_USE_BACKTRACE=y +# CONFIG_USE_FATFS is not set +# CONFIG_USE_SFUD is not set +# CONFIG_USE_SPIFFS is not set +# CONFIG_USE_AMP is not set +CONFIG_USE_LETTER_SHELL=y + +# +# Letter Shell Configuration +# +CONFIG_LS_PL011_UART=y +CONFIG_DEFAULT_LETTER_SHELL_USE_UART1=y +# CONFIG_DEFAULT_LETTER_SHELL_USE_UART0 is not set +# CONFIG_DEFAULT_LETTER_SHELL_USE_UART2 is not set +# end of Letter Shell Configuration + +CONFIG_USE_TLSF=y +# CONFIG_USE_SDMMC_CMD is not set +# end of FreeRTOS Setting diff --git a/example/peripheral/pwm/configs/e2000q_aarch64_eg_configs b/example/peripheral/pwm/configs/e2000q_aarch64_eg_configs new file mode 100644 index 00000000..c33e9fb8 --- /dev/null +++ b/example/peripheral/pwm/configs/e2000q_aarch64_eg_configs @@ -0,0 +1,203 @@ + +# +# Freertos Configuration +# +CONFIG_TARGET_NAME="e2000q_freertos_a64" +# end of Freertos Configuration + +# +# Standalone Setting +# +CONFIG_USE_FREERTOS=y + +# +# Arch Configuration +# +# CONFIG_TARGET_ARMV8_AARCH32 is not set +CONFIG_TARGET_ARMV8_AARCH64=y +CONFIG_USE_CACHE=y +CONFIG_USE_MMU=y +CONFIG_USE_SYS_TICK=y +# CONFIG_MMU_DEBUG_PRINTS is not set +# end of Arch Configuration + +# +# Board Configuration +# +# CONFIG_TARGET_F2000_4 is not set +# CONFIG_TARGET_D2000 is not set +CONFIG_TARGET_E2000Q=y +# CONFIG_TARGET_E2000D is not set +# CONFIG_TARGET_E2000S is not set +CONFIG_TARGET_E2000=y +CONFIG_DEFAULT_DEBUG_PRINT_UART1=y +# CONFIG_DEFAULT_DEBUG_PRINT_UART0 is not set +# CONFIG_DEFAULT_DEBUG_PRINT_UART2 is not set +# end of Board Configuration + +# +# Components Configuration +# +# CONFIG_USE_SPI is not set +# CONFIG_USE_QSPI is not set +CONFIG_USE_GIC=y +CONFIG_ENABLE_GICV3=y +CONFIG_USE_SERIAL=y + +# +# Usart Configuration +# +CONFIG_ENABLE_Pl011_UART=y +# end of Usart Configuration + +# CONFIG_USE_GPIO is not set +# CONFIG_USE_ETH is not set +# CONFIG_USE_CAN is not set +# CONFIG_USE_I2C is not set +# CONFIG_USE_TIMER is not set +# CONFIG_USE_MIO is not set +# CONFIG_USE_SDMMC is not set +# CONFIG_USE_PCIE is not set +# CONFIG_USE_WDT is not set +# CONFIG_USE_DMA is not set +# CONFIG_USE_NAND is not set +# CONFIG_USE_RTC is not set +# CONFIG_USE_SATA is not set +# CONFIG_USE_USB is not set +# CONFIG_USE_ADC is not set +CONFIG_USE_PWM=y + +# +# FPWM Configuration +# +CONFIG_USE_FPWM=y +# end of FPWM Configuration + +# CONFIG_USE_IPC is not set +# end of Components Configuration + +CONFIG_USE_NEW_LIBC=y +# end of Standalone Setting + +# +# Building Option +# +# CONFIG_LOG_VERBOS is not set +# CONFIG_LOG_DEBUG is not set +CONFIG_LOG_INFO=y +# CONFIG_LOG_WARN is not set +# CONFIG_LOG_ERROR is not set +# CONFIG_LOG_NONE is not set +CONFIG_USE_DEFAULT_INTERRUPT_CONFIG=y +CONFIG_INTERRUPT_ROLE_MASTER=y +# CONFIG_INTERRUPT_ROLE_SLAVE is not set +# CONFIG_LOG_EXTRA_INFO is not set +# CONFIG_BOOTUP_DEBUG_PRINTS is not set + +# +# Linker Options +# +# CONFIG_AARCH32_RAM_LD is not set +CONFIG_AARCH64_RAM_LD=y +# CONFIG_USER_DEFINED_LD is not set +CONFIG_LINK_SCRIPT_ROM=y +CONFIG_ROM_START_UP_ADDR=0x80100000 +CONFIG_ROM_SIZE_MB=1 +CONFIG_LINK_SCRIPT_RAM=y +CONFIG_RAM_START_UP_ADDR=0x81000000 +CONFIG_RAM_SIZE_MB=64 +CONFIG_HEAP_SIZE=1 +CONFIG_STACK_SIZE=0x100000 +CONFIG_FPU_STACK_SIZE=0x1000 +# end of Linker Options + +# +# Compiler Options +# +CONFIG_OUTPUT_BINARY=y +# end of Compiler Options +# end of Building Option + +# +# Component Configuration +# + +# +# Freertos Uart Drivers +# +CONFIG_FREERTOS_USE_UART=y +# end of Freertos Uart Drivers + +# +# Freertos Pwm Drivers +# +CONFIG_FREERTOS_USE_PWM=y +# end of Freertos Pwm Drivers + +# +# Freertos Qspi Drivers +# +# CONFIG_FREERTOS_USE_QSPI is not set +# end of Freertos Qspi Drivers + +# +# Freertos Wdt Drivers +# +# CONFIG_FREERTOS_USE_WDT is not set +# end of Freertos Wdt Drivers + +# +# Freertos Eth Drivers +# +# CONFIG_FREERTOS_USE_XMAC is not set +# end of Freertos Eth Drivers + +# +# Freertos Gpio Drivers +# +# CONFIG_FREERTOS_USE_GPIO is not set +# end of Freertos Gpio Drivers + +# +# Freertos Spim Drivers +# +# CONFIG_FREERTOS_USE_FSPIM is not set +# end of Freertos Spim Drivers + +# +# Freertos DMA Drivers +# +# CONFIG_FREERTOS_USE_FDDMA is not set +# CONFIG_FREERTOS_USE_FGDMA is not set +# end of Freertos DMA Drivers + +# +# Freertos MMC Drivers +# +# CONFIG_FREERTOS_USE_FSDIO is not set +# end of Freertos MMC Drivers +# end of Component Configuration + +# +# FreeRTOS Setting +# +# CONFIG_USE_LWIP is not set +CONFIG_USE_BACKTRACE=y +# CONFIG_USE_FATFS is not set +# CONFIG_USE_SFUD is not set +# CONFIG_USE_SPIFFS is not set +# CONFIG_USE_AMP is not set +CONFIG_USE_LETTER_SHELL=y + +# +# Letter Shell Configuration +# +CONFIG_LS_PL011_UART=y +CONFIG_DEFAULT_LETTER_SHELL_USE_UART1=y +# CONFIG_DEFAULT_LETTER_SHELL_USE_UART0 is not set +# CONFIG_DEFAULT_LETTER_SHELL_USE_UART2 is not set +# end of Letter Shell Configuration + +CONFIG_USE_TLSF=y +# CONFIG_USE_SDMMC_CMD is not set +# end of FreeRTOS Setting diff --git a/example/peripheral/pwm/figs/create.png b/example/peripheral/pwm/figs/create.png new file mode 100644 index 0000000000000000000000000000000000000000..1ae309e04858bb6e76aa77c1856cad7e8ed2c7c8 GIT binary patch literal 31971 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 S?7S_ANK;i;rBccI#s2_*EQ&4w literal 0 HcmV?d00001 diff --git a/example/peripheral/pwm/figs/delete.png b/example/peripheral/pwm/figs/delete.png new file mode 100644 index 0000000000000000000000000000000000000000..98aa8e9d2c5265621755adcb8ba7027c6ca6b4de GIT binary patch literal 13527 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 literal 0 HcmV?d00001 diff --git a/example/peripheral/pwm/inc/pwm_example.h b/example/peripheral/pwm/inc/pwm_example.h new file mode 100644 index 00000000..30f5dee3 --- /dev/null +++ b/example/peripheral/pwm/inc/pwm_example.h @@ -0,0 +1,30 @@ +/* + * Copyright : (C) 2022 Phytium Information Technology, Inc. + * All Rights Reserved. + * + * This program is OPEN SOURCE software: you can redistribute it and/or modify it + * under the terms of the Phytium Public License as published by the Phytium Technology Co.,Ltd, + * either version 1.0 of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful,but WITHOUT ANY WARRANTY; + * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + * See the Phytium Public License for more details. + * + * + * FilePath: pwm_example.h + * Date: 2022-08-16 14:55:40 + * LastEditTime: 2022-08-19 11:42:40 + * Description: This file is for + * + * Modify History: + * Ver Who Date Changes + * ----- ------ -------- -------------------------------------- + */ + + +#ifndef PWM_EXAMPLE_H +#define PWM_EXAMPLE_H + +/* pwm read and write test */ +BaseType_t FFreeRTOSPwmCreate(u32 id); +#endif // ! \ No newline at end of file diff --git a/example/peripheral/pwm/main.c b/example/peripheral/pwm/main.c new file mode 100644 index 00000000..bed6f16f --- /dev/null +++ b/example/peripheral/pwm/main.c @@ -0,0 +1,47 @@ +/* + * Copyright : (C) 2022 Phytium Information Technology, Inc. + * All Rights Reserved. + * + * This program is OPEN SOURCE software: you can redistribute it and/or modify it + * under the terms of the Phytium Public License as published by the Phytium Technology Co.,Ltd, + * either version 1.0 of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful,but WITHOUT ANY WARRANTY; + * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + * See the Phytium Public License for more details. + * + * + * FilePath: main.c + * Date: 2022-06-17 08:17:59 + * LastEditTime: 2022-06-17 08:17:59 + * Description: This file is for + * + * Modify History: + * Ver Who Date Changes + * ----- ------ -------- -------------------------------------- + */ + +#include "shell.h" +#include "shell_port.h" +#include +#include "pwm_example.h" + +int main(void) +{ + BaseType_t ret; + /* test pwm module 7 */ + ret = FFreeRTOSPwmCreate(7); + if(ret != pdPASS) + goto FAIL_EXIT; + + ret = LSUserShellTask() ; + if(ret != pdPASS) + goto FAIL_EXIT; + + vTaskStartScheduler(); /* 启动任务,开启调度 */ + while (1); /* 正常不会执行到这里 */ + +FAIL_EXIT: + printf("failed 0x%x \r\n", ret); + return 0; +} diff --git a/example/peripheral/pwm/makefile b/example/peripheral/pwm/makefile new file mode 100644 index 00000000..c1f632e8 --- /dev/null +++ b/example/peripheral/pwm/makefile @@ -0,0 +1,31 @@ +export PROJECT_DIR ?= $(shell pwd) + +export USR_SRC_DIR = $(PROJECT_DIR) \ + ./src +export USR_INC_DIR = $(PROJECT_DIR) \ + ./inc + +# 用户定义的编译目标文件上传路径 +ifeq ($(OS),Windows_NT) + USR_BOOT_DIR ?= $(subst \,/, $(PHYTIUM_DEV_PATH))/tftp +else + USR_BOOT_DIR ?= /mnt/d/tftboot +endif + + +# 设置启动镜像名 +BOOT_IMG_NAME ?= freertos + +# 指定编译freertos项目使用的makefile +include $(FREERTOS_SDK_ROOT)/make/build_freertos.mk + +# 完成编译 +boot: + make -j + @cp ./$(CONFIG_TARGET_NAME).elf $(USR_BOOT_DIR)/$(BOOT_IMG_NAME).elf +ifdef CONFIG_OUTPUT_BINARY + @cp ./$(CONFIG_TARGET_NAME).bin $(USR_BOOT_DIR)/$(BOOT_IMG_NAME).bin +endif + @ls $(USR_BOOT_DIR)/$(BOOT_IMG_NAME).* -l + + diff --git a/example/peripheral/pwm/sdkconfig b/example/peripheral/pwm/sdkconfig new file mode 100644 index 00000000..c33e9fb8 --- /dev/null +++ b/example/peripheral/pwm/sdkconfig @@ -0,0 +1,203 @@ + +# +# Freertos Configuration +# +CONFIG_TARGET_NAME="e2000q_freertos_a64" +# end of Freertos Configuration + +# +# Standalone Setting +# +CONFIG_USE_FREERTOS=y + +# +# Arch Configuration +# +# CONFIG_TARGET_ARMV8_AARCH32 is not set +CONFIG_TARGET_ARMV8_AARCH64=y +CONFIG_USE_CACHE=y +CONFIG_USE_MMU=y +CONFIG_USE_SYS_TICK=y +# CONFIG_MMU_DEBUG_PRINTS is not set +# end of Arch Configuration + +# +# Board Configuration +# +# CONFIG_TARGET_F2000_4 is not set +# CONFIG_TARGET_D2000 is not set +CONFIG_TARGET_E2000Q=y +# CONFIG_TARGET_E2000D is not set +# CONFIG_TARGET_E2000S is not set +CONFIG_TARGET_E2000=y +CONFIG_DEFAULT_DEBUG_PRINT_UART1=y +# CONFIG_DEFAULT_DEBUG_PRINT_UART0 is not set +# CONFIG_DEFAULT_DEBUG_PRINT_UART2 is not set +# end of Board Configuration + +# +# Components Configuration +# +# CONFIG_USE_SPI is not set +# CONFIG_USE_QSPI is not set +CONFIG_USE_GIC=y +CONFIG_ENABLE_GICV3=y +CONFIG_USE_SERIAL=y + +# +# Usart Configuration +# +CONFIG_ENABLE_Pl011_UART=y +# end of Usart Configuration + +# CONFIG_USE_GPIO is not set +# CONFIG_USE_ETH is not set +# CONFIG_USE_CAN is not set +# CONFIG_USE_I2C is not set +# CONFIG_USE_TIMER is not set +# CONFIG_USE_MIO is not set +# CONFIG_USE_SDMMC is not set +# CONFIG_USE_PCIE is not set +# CONFIG_USE_WDT is not set +# CONFIG_USE_DMA is not set +# CONFIG_USE_NAND is not set +# CONFIG_USE_RTC is not set +# CONFIG_USE_SATA is not set +# CONFIG_USE_USB is not set +# CONFIG_USE_ADC is not set +CONFIG_USE_PWM=y + +# +# FPWM Configuration +# +CONFIG_USE_FPWM=y +# end of FPWM Configuration + +# CONFIG_USE_IPC is not set +# end of Components Configuration + +CONFIG_USE_NEW_LIBC=y +# end of Standalone Setting + +# +# Building Option +# +# CONFIG_LOG_VERBOS is not set +# CONFIG_LOG_DEBUG is not set +CONFIG_LOG_INFO=y +# CONFIG_LOG_WARN is not set +# CONFIG_LOG_ERROR is not set +# CONFIG_LOG_NONE is not set +CONFIG_USE_DEFAULT_INTERRUPT_CONFIG=y +CONFIG_INTERRUPT_ROLE_MASTER=y +# CONFIG_INTERRUPT_ROLE_SLAVE is not set +# CONFIG_LOG_EXTRA_INFO is not set +# CONFIG_BOOTUP_DEBUG_PRINTS is not set + +# +# Linker Options +# +# CONFIG_AARCH32_RAM_LD is not set +CONFIG_AARCH64_RAM_LD=y +# CONFIG_USER_DEFINED_LD is not set +CONFIG_LINK_SCRIPT_ROM=y +CONFIG_ROM_START_UP_ADDR=0x80100000 +CONFIG_ROM_SIZE_MB=1 +CONFIG_LINK_SCRIPT_RAM=y +CONFIG_RAM_START_UP_ADDR=0x81000000 +CONFIG_RAM_SIZE_MB=64 +CONFIG_HEAP_SIZE=1 +CONFIG_STACK_SIZE=0x100000 +CONFIG_FPU_STACK_SIZE=0x1000 +# end of Linker Options + +# +# Compiler Options +# +CONFIG_OUTPUT_BINARY=y +# end of Compiler Options +# end of Building Option + +# +# Component Configuration +# + +# +# Freertos Uart Drivers +# +CONFIG_FREERTOS_USE_UART=y +# end of Freertos Uart Drivers + +# +# Freertos Pwm Drivers +# +CONFIG_FREERTOS_USE_PWM=y +# end of Freertos Pwm Drivers + +# +# Freertos Qspi Drivers +# +# CONFIG_FREERTOS_USE_QSPI is not set +# end of Freertos Qspi Drivers + +# +# Freertos Wdt Drivers +# +# CONFIG_FREERTOS_USE_WDT is not set +# end of Freertos Wdt Drivers + +# +# Freertos Eth Drivers +# +# CONFIG_FREERTOS_USE_XMAC is not set +# end of Freertos Eth Drivers + +# +# Freertos Gpio Drivers +# +# CONFIG_FREERTOS_USE_GPIO is not set +# end of Freertos Gpio Drivers + +# +# Freertos Spim Drivers +# +# CONFIG_FREERTOS_USE_FSPIM is not set +# end of Freertos Spim Drivers + +# +# Freertos DMA Drivers +# +# CONFIG_FREERTOS_USE_FDDMA is not set +# CONFIG_FREERTOS_USE_FGDMA is not set +# end of Freertos DMA Drivers + +# +# Freertos MMC Drivers +# +# CONFIG_FREERTOS_USE_FSDIO is not set +# end of Freertos MMC Drivers +# end of Component Configuration + +# +# FreeRTOS Setting +# +# CONFIG_USE_LWIP is not set +CONFIG_USE_BACKTRACE=y +# CONFIG_USE_FATFS is not set +# CONFIG_USE_SFUD is not set +# CONFIG_USE_SPIFFS is not set +# CONFIG_USE_AMP is not set +CONFIG_USE_LETTER_SHELL=y + +# +# Letter Shell Configuration +# +CONFIG_LS_PL011_UART=y +CONFIG_DEFAULT_LETTER_SHELL_USE_UART1=y +# CONFIG_DEFAULT_LETTER_SHELL_USE_UART0 is not set +# CONFIG_DEFAULT_LETTER_SHELL_USE_UART2 is not set +# end of Letter Shell Configuration + +CONFIG_USE_TLSF=y +# CONFIG_USE_SDMMC_CMD is not set +# end of FreeRTOS Setting diff --git a/example/peripheral/pwm/sdkconfig.h b/example/peripheral/pwm/sdkconfig.h new file mode 100644 index 00000000..e8c6952e --- /dev/null +++ b/example/peripheral/pwm/sdkconfig.h @@ -0,0 +1,180 @@ +#ifndef SDK_CONFIG_H__ +#define SDK_CONFIG_H__ + +/* Freertos Configuration */ + +#define CONFIG_TARGET_NAME "e2000q_freertos_a64" +/* end of Freertos Configuration */ + +/* Standalone Setting */ + +#define CONFIG_USE_FREERTOS + +/* Arch Configuration */ + +/* CONFIG_TARGET_ARMV8_AARCH32 is not set */ +#define CONFIG_TARGET_ARMV8_AARCH64 +#define CONFIG_USE_CACHE +#define CONFIG_USE_MMU +#define CONFIG_USE_SYS_TICK +/* CONFIG_MMU_DEBUG_PRINTS is not set */ +/* end of Arch Configuration */ + +/* Board Configuration */ + +/* CONFIG_TARGET_F2000_4 is not set */ +/* CONFIG_TARGET_D2000 is not set */ +#define CONFIG_TARGET_E2000Q +/* CONFIG_TARGET_E2000D is not set */ +/* CONFIG_TARGET_E2000S is not set */ +#define CONFIG_TARGET_E2000 +#define CONFIG_DEFAULT_DEBUG_PRINT_UART1 +/* CONFIG_DEFAULT_DEBUG_PRINT_UART0 is not set */ +/* CONFIG_DEFAULT_DEBUG_PRINT_UART2 is not set */ +/* end of Board Configuration */ + +/* Components Configuration */ + +/* CONFIG_USE_SPI is not set */ +/* CONFIG_USE_QSPI is not set */ +#define CONFIG_USE_GIC +#define CONFIG_ENABLE_GICV3 +#define CONFIG_USE_SERIAL + +/* Usart Configuration */ + +#define CONFIG_ENABLE_Pl011_UART +/* end of Usart Configuration */ +/* CONFIG_USE_GPIO is not set */ +/* CONFIG_USE_ETH is not set */ +/* CONFIG_USE_CAN is not set */ +/* CONFIG_USE_I2C is not set */ +/* CONFIG_USE_TIMER is not set */ +/* CONFIG_USE_MIO is not set */ +/* CONFIG_USE_SDMMC is not set */ +/* CONFIG_USE_PCIE is not set */ +/* CONFIG_USE_WDT is not set */ +/* CONFIG_USE_DMA is not set */ +/* CONFIG_USE_NAND is not set */ +/* CONFIG_USE_RTC is not set */ +/* CONFIG_USE_SATA is not set */ +/* CONFIG_USE_USB is not set */ +/* CONFIG_USE_ADC is not set */ +#define CONFIG_USE_PWM + +/* FPWM Configuration */ + +#define CONFIG_USE_FPWM +/* end of FPWM Configuration */ +/* CONFIG_USE_IPC is not set */ +/* end of Components Configuration */ +#define CONFIG_USE_NEW_LIBC +/* end of Standalone Setting */ + +/* Building Option */ + +/* CONFIG_LOG_VERBOS is not set */ +/* CONFIG_LOG_DEBUG is not set */ +#define CONFIG_LOG_INFO +/* CONFIG_LOG_WARN is not set */ +/* CONFIG_LOG_ERROR is not set */ +/* CONFIG_LOG_NONE is not set */ +#define CONFIG_USE_DEFAULT_INTERRUPT_CONFIG +#define CONFIG_INTERRUPT_ROLE_MASTER +/* CONFIG_INTERRUPT_ROLE_SLAVE is not set */ +/* CONFIG_LOG_EXTRA_INFO is not set */ +/* CONFIG_BOOTUP_DEBUG_PRINTS is not set */ + +/* Linker Options */ + +/* CONFIG_AARCH32_RAM_LD is not set */ +#define CONFIG_AARCH64_RAM_LD +/* CONFIG_USER_DEFINED_LD is not set */ +#define CONFIG_LINK_SCRIPT_ROM +#define CONFIG_ROM_START_UP_ADDR 0x80100000 +#define CONFIG_ROM_SIZE_MB 1 +#define CONFIG_LINK_SCRIPT_RAM +#define CONFIG_RAM_START_UP_ADDR 0x81000000 +#define CONFIG_RAM_SIZE_MB 64 +#define CONFIG_HEAP_SIZE 1 +#define CONFIG_STACK_SIZE 0x100000 +#define CONFIG_FPU_STACK_SIZE 0x1000 +/* end of Linker Options */ + +/* Compiler Options */ + +#define CONFIG_OUTPUT_BINARY +/* end of Compiler Options */ +/* end of Building Option */ + +/* Component Configuration */ + +/* Freertos Uart Drivers */ + +#define CONFIG_FREERTOS_USE_UART +/* end of Freertos Uart Drivers */ + +/* Freertos Pwm Drivers */ + +#define CONFIG_FREERTOS_USE_PWM +/* end of Freertos Pwm Drivers */ + +/* Freertos Qspi Drivers */ + +/* CONFIG_FREERTOS_USE_QSPI is not set */ +/* end of Freertos Qspi Drivers */ + +/* Freertos Wdt Drivers */ + +/* CONFIG_FREERTOS_USE_WDT is not set */ +/* end of Freertos Wdt Drivers */ + +/* Freertos Eth Drivers */ + +/* CONFIG_FREERTOS_USE_XMAC is not set */ +/* end of Freertos Eth Drivers */ + +/* Freertos Gpio Drivers */ + +/* CONFIG_FREERTOS_USE_GPIO is not set */ +/* end of Freertos Gpio Drivers */ + +/* Freertos Spim Drivers */ + +/* CONFIG_FREERTOS_USE_FSPIM is not set */ +/* end of Freertos Spim Drivers */ + +/* Freertos DMA Drivers */ + +/* CONFIG_FREERTOS_USE_FDDMA is not set */ +/* CONFIG_FREERTOS_USE_FGDMA is not set */ +/* end of Freertos DMA Drivers */ + +/* Freertos MMC Drivers */ + +/* CONFIG_FREERTOS_USE_FSDIO is not set */ +/* end of Freertos MMC Drivers */ +/* end of Component Configuration */ + +/* FreeRTOS Setting */ + +/* CONFIG_USE_LWIP is not set */ +#define CONFIG_USE_BACKTRACE +/* CONFIG_USE_FATFS is not set */ +/* CONFIG_USE_SFUD is not set */ +/* CONFIG_USE_SPIFFS is not set */ +/* CONFIG_USE_AMP is not set */ +#define CONFIG_USE_LETTER_SHELL + +/* Letter Shell Configuration */ + +#define CONFIG_LS_PL011_UART +#define CONFIG_DEFAULT_LETTER_SHELL_USE_UART1 +/* CONFIG_DEFAULT_LETTER_SHELL_USE_UART0 is not set */ +/* CONFIG_DEFAULT_LETTER_SHELL_USE_UART2 is not set */ +/* end of Letter Shell Configuration */ +#define CONFIG_USE_TLSF +/* CONFIG_USE_SDMMC_CMD is not set */ +/* end of FreeRTOS Setting */ + +#endif diff --git a/example/peripheral/pwm/src/pwm_example.c b/example/peripheral/pwm/src/pwm_example.c new file mode 100644 index 00000000..df2d9e05 --- /dev/null +++ b/example/peripheral/pwm/src/pwm_example.c @@ -0,0 +1,266 @@ +/* + * Copyright : (C) 2022 Phytium Information Technology, Inc. + * All Rights Reserved. + * + * This program is OPEN SOURCE software: you can redistribute it and/or modify it + * under the terms of the Phytium Public License as published by the Phytium Technology Co.,Ltd, + * either version 1.0 of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful,but WITHOUT ANY WARRANTY; + * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + * See the Phytium Public License for more details. + * + * + * FilePath: pwm_example.c + * Date: 2022-07-11 11:32:48 + * LastEditTime: 2022-07-11 11:32:48 + * Description: This file is for + * + * Modify History: + * Ver Who Date Changes + * ----- ------ -------- -------------------------------------- + */ +#include +#include "FreeRTOSConfig.h" +#include "FreeRTOS.h" +#include "task.h" +#include "timers.h" +#include "fpwm.h" +#include "fpwm_os.h" +#include "cpu_info.h" +#include "fpinctrl.h" +#include "pwm_example.h" + +/* The periods assigned to the one-shot timers. */ +#define ONE_SHOT_TIMER_PERIOD ( pdMS_TO_TICKS( 300000UL ) ) + +/* pwm pulse change period */ +#define PWM_CHANGE_PERIOD ( pdMS_TO_TICKS( 2000UL )) +/* pwm pulse amplitude of periodic variation */ +#define PWM_PULSE_CHANGE 1000 + +/* pwm channel use, 0/1 */ +#define PWM_CHANNEL_USE FPWM_CHANNEL_0 + +/* pwm primary config */ +#define PWM_DIV 500 +#define PWM_PERIOD 10000 +#define PWM_PULSE 2000 + +/* test task number */ +#define TEST_TASK_NUM 1 +static xSemaphoreHandle xCountingSemaphore; + +static xTaskHandle change_handle; +static TimerHandle_t xOneShotTimer; + +static FFreeRTOSPwm *os_pwm_ctrl_p; + +static void FFreeRTOSPwmDelete(FFreeRTOSPwm *os_pwm_p); + +static void FFreeRTOSPwmInitTask(void *pvParameters) +{ + /* The pwm_id to use is passed in via the parameter. + Cast this to a pwm_id pointer. */ + u32 pwm_id = (u32)(uintptr)pvParameters; + + FError ret = FPWM_SUCCESS; + + /* set channel 0 and 1 iopad*/ +#if defined(CONFIG_TARGET_E2000) + FIOPadSetPwmMux(pwm_id, 0); + FIOPadSetPwmMux(pwm_id, 1); +#endif + + /* init pwm controller */ + os_pwm_ctrl_p = FFreeRTOSPwmInit(pwm_id); + if(os_pwm_ctrl_p == NULL) + { + printf("FFreeRTOSPwmInit failed!!!\n"); + goto pwm_init_exit; + } + + /* set pwm db config */ + FPwmDbVariableConfig db_cfg; + memset(&db_cfg, 0, sizeof(db_cfg)); + db_cfg.db_rise_cycle = 500; + db_cfg.db_fall_cycle = 500; + db_cfg.db_polarity_sel = FPWM_DB_AHC; + db_cfg.db_in_mode = FPWM_DB_IN_MODE_PWM0; + db_cfg.db_out_mode = FPWM_DB_OUT_MODE_ENABLE_RISE_FALL; + ret = FFreeRTOSPwmDbSet(os_pwm_ctrl_p, &db_cfg); + if (FPWM_SUCCESS != ret) + { + printf("FFreeRTOSPwmDbSet failed\n"); + goto pwm_init_exit; + } + /* start pwm config */ + FPwmVariableConfig pwm_cfg; + memset(&pwm_cfg, 0, sizeof(pwm_cfg)); + pwm_cfg.tim_ctrl_mode = FPWM_MODULO; + pwm_cfg.tim_ctrl_div = PWM_DIV - 1; + pwm_cfg.pwm_period = PWM_PERIOD; + pwm_cfg.pwm_pulse = PWM_PULSE; + pwm_cfg.pwm_mode = FPWM_OUTPUT_COMPARE; + pwm_cfg.pwm_polarity = FPWM_POLARITY_NORMAL; + pwm_cfg.pwm_duty_source_mode = FPWM_DUTY_CCR; + ret = FFreeRTOSPwmSet(os_pwm_ctrl_p, PWM_CHANNEL_USE, &pwm_cfg); + if (FPWM_SUCCESS != ret) + { + printf("FFreeRTOSPwmSet failed\n"); + goto pwm_init_exit; + } + + memset(&db_cfg, 0, sizeof(db_cfg)); + memset(&pwm_cfg, 0, sizeof(pwm_cfg)); + + FFreeRTOSPwmDbGet(os_pwm_ctrl_p, &db_cfg); + printf("FFreeRTOSPwmDbGet:\n"); + printf("db_cfg.db_rise_cycle = %d\n", db_cfg.db_rise_cycle); + printf("db_cfg.db_fall_cycle = %d\n", db_cfg.db_fall_cycle); + printf("db_cfg.db_polarity_sel = %d\n", db_cfg.db_polarity_sel); + printf("db_cfg.db_in_mode = %d\n", db_cfg.db_in_mode); + printf("db_cfg.db_out_mode = %d\n", db_cfg.db_out_mode); + + FFreeRTOSPwmGet(os_pwm_ctrl_p, PWM_CHANNEL_USE, &pwm_cfg); + printf("FPwmVariableGet:\n"); + printf("pwm_cfg.tim_ctrl_mode = %d\n", pwm_cfg.tim_ctrl_mode); + printf("pwm_cfg.tim_ctrl_div = %d\n", pwm_cfg.tim_ctrl_div); + printf("pwm_cfg.pwm_period = %d\n", pwm_cfg.pwm_period); + printf("pwm_cfg.pwm_pulse = %d\n", pwm_cfg.pwm_pulse); + printf("pwm_cfg.pwm_mode = %d\n", pwm_cfg.pwm_mode); + printf("pwm_cfg.pwm_polarity = %d\n", pwm_cfg.pwm_polarity); + printf("pwm_cfg.pwm_duty_source_mode = %d\n", pwm_cfg.pwm_duty_source_mode); + + FFreeRTOSPwmEnable(os_pwm_ctrl_p, PWM_CHANNEL_USE, TRUE); + + printf("FFreeRTOSPwmInitTask execute success !!!\r\n"); + + for (int i = 0; i < TEST_TASK_NUM; i++) + { + xSemaphoreGive(xCountingSemaphore); + } + +pwm_init_exit: + vTaskDelete(NULL); + +} + +static void FFreeRTOSPwmChangeTask(void *pvParameters) +{ + xSemaphoreTake(xCountingSemaphore, portMAX_DELAY); + u32 pwm_pulse = PWM_PULSE; + /* As per most tasks, this task is implemented in an infinite loop. */ + for (;;) + { + FFreeRTOSPwmPulseSet(os_pwm_ctrl_p, PWM_CHANNEL_USE, pwm_pulse); + + printf("FFreeRTOSPwmChangeTask run, pwm_pulse: %d\r\n", pwm_pulse); + pwm_pulse = (pwm_pulse + PWM_PULSE_CHANGE) % PWM_PERIOD; + vTaskDelay(PWM_CHANGE_PERIOD); + } +} + +static void prvOneShotTimerCallback( TimerHandle_t xTimer ) +{ + /* Output a string to show the time at which the callback was executed. */ + printf("One-shot timer callback executing, will delete FFreeRTOSPwmChangeTask.\r\n" ); + + FFreeRTOSPwmDelete(os_pwm_ctrl_p); +} + +/* create pwm test, id is pwm module number */ +BaseType_t FFreeRTOSPwmCreate(u32 id) +{ + FASSERT(id < FPWM_INSTANCE_NUM); + BaseType_t xReturn = pdPASS;/* 定义一个创建信息返回值,默认为 pdPASS */ + BaseType_t xTimerStarted = pdPASS; + + xCountingSemaphore = xSemaphoreCreateCounting(TEST_TASK_NUM, 0); + if (xCountingSemaphore == NULL) + { + printf("FFreeRTOSPwmCreate xCountingSemaphore create failed.\r\n" ); + return pdFAIL; + } + + taskENTER_CRITICAL(); //进入临界区 + /* pwm init task */ + xReturn = xTaskCreate((TaskFunction_t )FFreeRTOSPwmInitTask, /* 任务入口函数 */ + (const char* )"FFreeRTOSPwmInitTask",/* 任务名字 */ + (uint16_t )1024, /* 任务栈大小 */ + (void* )(uintptr)id,/* 任务入口函数参数 */ + (UBaseType_t )configMAX_PRIORITIES-1, /* 任务的优先级 */ + NULL); /* 任务控制 */ + + /* 主动喂狗任务,周期比看门狗的超时时间短 */ + xReturn = xTaskCreate((TaskFunction_t )FFreeRTOSPwmChangeTask, /* 任务入口函数 */ + (const char* )"FFreeRTOSPwmChangeTask",/* 任务名字 */ + (uint16_t )1024, /* 任务栈大小 */ + NULL,/* 任务入口函数参数 */ + (UBaseType_t )configMAX_PRIORITIES-1, /* 任务的优先级 */ + (TaskHandle_t* )&change_handle); /* 任务控制 */ + + /* Create the one shot software timer, storing the handle to the created + software timer in xOneShotTimer. */ + xOneShotTimer = xTimerCreate( "OneShot Software Timer", /* Text name for the software timer - not used by FreeRTOS. */ + ONE_SHOT_TIMER_PERIOD, /* The software timer's period in ticks. */ + pdFALSE, /* Setting uxAutoRealod to pdFALSE creates a one-shot software timer. */ + 0, /* This example use the timer id. */ + prvOneShotTimerCallback ); /* The callback function to be used by the software timer being created. */ + + /* Check the timers were created. */ + if( xOneShotTimer != NULL ) + { + /* Start the software timers, using a block time of 0 (no block time). + The scheduler has not been started yet so any block time specified here + would be ignored anyway. */ + xTimerStarted = xTimerStart( xOneShotTimer, 0 ); + + /* The implementation of xTimerStart() uses the timer command queue, and + xTimerStart() will fail if the timer command queue gets full. The timer + service task does not get created until the scheduler is started, so all + commands sent to the command queue will stay in the queue until after + the scheduler has been started. Check both calls to xTimerStart() + passed. */ + if(xTimerStarted != pdPASS) + { + vPrintf("CreateSoftwareTimerTasks xTimerStart failed \r\n"); + } + } + else + { + vPrintf("CreateSoftwareTimerTasks xTimerCreate failed \r\n"); + } + + taskEXIT_CRITICAL(); //退出临界区 + + return xReturn; +} + +static void FFreeRTOSPwmDelete(FFreeRTOSPwm *os_pwm_p) +{ + BaseType_t xReturn = pdPASS; + FFreeRTOSPwmEnable(os_pwm_p, PWM_CHANNEL_USE, FALSE); + FFreeRTOSPwmDeinit(os_pwm_p); + + if(change_handle) + { + vTaskDelete(change_handle); + vPrintf("Delete FFreeRTOSPwmChangeTask success\r\n"); + } + + /* delete count sem */ + vSemaphoreDelete(xCountingSemaphore); + + /* delete timer */ + xReturn = xTimerDelete(xOneShotTimer, 0); + if(xReturn != pdPASS) + { + vPrintf("Delete OneShot Software Timer failed.\r\n"); + } + else + { + vPrintf("Delete OneShot Software Timer success.\r\n"); + } + +} \ No newline at end of file diff --git a/example/peripheral/qspi/configs/d2000_aarch32_eg_configs b/example/peripheral/qspi/configs/d2000_aarch32_eg_configs index 3e2f7691..505e87cd 100644 --- a/example/peripheral/qspi/configs/d2000_aarch32_eg_configs +++ b/example/peripheral/qspi/configs/d2000_aarch32_eg_configs @@ -136,6 +136,12 @@ CONFIG_OUTPUT_BINARY=y CONFIG_FREERTOS_USE_UART=y # end of Freertos Uart Drivers +# +# Freertos Pwm Drivers +# +# CONFIG_FREERTOS_USE_PWM is not set +# end of Freertos Pwm Drivers + # # Freertos Qspi Drivers # @@ -153,6 +159,31 @@ CONFIG_FREERTOS_USE_QSPI=y # # CONFIG_FREERTOS_USE_XMAC is not set # end of Freertos Eth Drivers + +# +# Freertos Gpio Drivers +# +# CONFIG_FREERTOS_USE_GPIO is not set +# end of Freertos Gpio Drivers + +# +# Freertos Spim Drivers +# +# CONFIG_FREERTOS_USE_FSPIM is not set +# end of Freertos Spim Drivers + +# +# Freertos DMA Drivers +# +# CONFIG_FREERTOS_USE_FDDMA is not set +# CONFIG_FREERTOS_USE_FGDMA is not set +# end of Freertos DMA Drivers + +# +# Freertos MMC Drivers +# +# CONFIG_FREERTOS_USE_FSDIO is not set +# end of Freertos MMC Drivers # end of Component Configuration # @@ -174,4 +205,7 @@ CONFIG_DEFAULT_LETTER_SHELL_USE_UART1=y # CONFIG_DEFAULT_LETTER_SHELL_USE_UART0 is not set # CONFIG_DEFAULT_LETTER_SHELL_USE_UART2 is not set # end of Letter Shell Configuration + +CONFIG_USE_TLSF=y +# CONFIG_USE_SDMMC_CMD is not set # end of FreeRTOS Setting diff --git a/example/peripheral/qspi/configs/d2000_aarch64_eg_configs b/example/peripheral/qspi/configs/d2000_aarch64_eg_configs index 1ae37e0f..08728750 100644 --- a/example/peripheral/qspi/configs/d2000_aarch64_eg_configs +++ b/example/peripheral/qspi/configs/d2000_aarch64_eg_configs @@ -132,6 +132,12 @@ CONFIG_OUTPUT_BINARY=y CONFIG_FREERTOS_USE_UART=y # end of Freertos Uart Drivers +# +# Freertos Pwm Drivers +# +# CONFIG_FREERTOS_USE_PWM is not set +# end of Freertos Pwm Drivers + # # Freertos Qspi Drivers # @@ -149,6 +155,31 @@ CONFIG_FREERTOS_USE_QSPI=y # # CONFIG_FREERTOS_USE_XMAC is not set # end of Freertos Eth Drivers + +# +# Freertos Gpio Drivers +# +# CONFIG_FREERTOS_USE_GPIO is not set +# end of Freertos Gpio Drivers + +# +# Freertos Spim Drivers +# +# CONFIG_FREERTOS_USE_FSPIM is not set +# end of Freertos Spim Drivers + +# +# Freertos DMA Drivers +# +# CONFIG_FREERTOS_USE_FDDMA is not set +# CONFIG_FREERTOS_USE_FGDMA is not set +# end of Freertos DMA Drivers + +# +# Freertos MMC Drivers +# +# CONFIG_FREERTOS_USE_FSDIO is not set +# end of Freertos MMC Drivers # end of Component Configuration # @@ -170,4 +201,7 @@ CONFIG_DEFAULT_LETTER_SHELL_USE_UART1=y # CONFIG_DEFAULT_LETTER_SHELL_USE_UART0 is not set # CONFIG_DEFAULT_LETTER_SHELL_USE_UART2 is not set # end of Letter Shell Configuration + +CONFIG_USE_TLSF=y +# CONFIG_USE_SDMMC_CMD is not set # end of FreeRTOS Setting diff --git a/example/peripheral/qspi/configs/e2000d_aarch32_eg_configs b/example/peripheral/qspi/configs/e2000d_aarch32_eg_configs index 95315220..3cb71af4 100644 --- a/example/peripheral/qspi/configs/e2000d_aarch32_eg_configs +++ b/example/peripheral/qspi/configs/e2000d_aarch32_eg_configs @@ -136,6 +136,12 @@ CONFIG_OUTPUT_BINARY=y CONFIG_FREERTOS_USE_UART=y # end of Freertos Uart Drivers +# +# Freertos Pwm Drivers +# +# CONFIG_FREERTOS_USE_PWM is not set +# end of Freertos Pwm Drivers + # # Freertos Qspi Drivers # @@ -153,6 +159,31 @@ CONFIG_FREERTOS_USE_QSPI=y # # CONFIG_FREERTOS_USE_XMAC is not set # end of Freertos Eth Drivers + +# +# Freertos Gpio Drivers +# +# CONFIG_FREERTOS_USE_GPIO is not set +# end of Freertos Gpio Drivers + +# +# Freertos Spim Drivers +# +# CONFIG_FREERTOS_USE_FSPIM is not set +# end of Freertos Spim Drivers + +# +# Freertos DMA Drivers +# +# CONFIG_FREERTOS_USE_FDDMA is not set +# CONFIG_FREERTOS_USE_FGDMA is not set +# end of Freertos DMA Drivers + +# +# Freertos MMC Drivers +# +# CONFIG_FREERTOS_USE_FSDIO is not set +# end of Freertos MMC Drivers # end of Component Configuration # @@ -174,4 +205,7 @@ CONFIG_DEFAULT_LETTER_SHELL_USE_UART1=y # CONFIG_DEFAULT_LETTER_SHELL_USE_UART0 is not set # CONFIG_DEFAULT_LETTER_SHELL_USE_UART2 is not set # end of Letter Shell Configuration + +CONFIG_USE_TLSF=y +# CONFIG_USE_SDMMC_CMD is not set # end of FreeRTOS Setting diff --git a/example/peripheral/qspi/configs/e2000d_aarch64_eg_configs b/example/peripheral/qspi/configs/e2000d_aarch64_eg_configs index 27c0652e..a3a34de5 100644 --- a/example/peripheral/qspi/configs/e2000d_aarch64_eg_configs +++ b/example/peripheral/qspi/configs/e2000d_aarch64_eg_configs @@ -132,6 +132,12 @@ CONFIG_OUTPUT_BINARY=y CONFIG_FREERTOS_USE_UART=y # end of Freertos Uart Drivers +# +# Freertos Pwm Drivers +# +# CONFIG_FREERTOS_USE_PWM is not set +# end of Freertos Pwm Drivers + # # Freertos Qspi Drivers # @@ -149,6 +155,31 @@ CONFIG_FREERTOS_USE_QSPI=y # # CONFIG_FREERTOS_USE_XMAC is not set # end of Freertos Eth Drivers + +# +# Freertos Gpio Drivers +# +# CONFIG_FREERTOS_USE_GPIO is not set +# end of Freertos Gpio Drivers + +# +# Freertos Spim Drivers +# +# CONFIG_FREERTOS_USE_FSPIM is not set +# end of Freertos Spim Drivers + +# +# Freertos DMA Drivers +# +# CONFIG_FREERTOS_USE_FDDMA is not set +# CONFIG_FREERTOS_USE_FGDMA is not set +# end of Freertos DMA Drivers + +# +# Freertos MMC Drivers +# +# CONFIG_FREERTOS_USE_FSDIO is not set +# end of Freertos MMC Drivers # end of Component Configuration # @@ -170,4 +201,7 @@ CONFIG_DEFAULT_LETTER_SHELL_USE_UART1=y # CONFIG_DEFAULT_LETTER_SHELL_USE_UART0 is not set # CONFIG_DEFAULT_LETTER_SHELL_USE_UART2 is not set # end of Letter Shell Configuration + +CONFIG_USE_TLSF=y +# CONFIG_USE_SDMMC_CMD is not set # end of FreeRTOS Setting diff --git a/example/peripheral/qspi/configs/ft2004_aarch32_eg_configs b/example/peripheral/qspi/configs/ft2004_aarch32_eg_configs index a1f89e7e..330bf088 100644 --- a/example/peripheral/qspi/configs/ft2004_aarch32_eg_configs +++ b/example/peripheral/qspi/configs/ft2004_aarch32_eg_configs @@ -136,6 +136,12 @@ CONFIG_OUTPUT_BINARY=y CONFIG_FREERTOS_USE_UART=y # end of Freertos Uart Drivers +# +# Freertos Pwm Drivers +# +# CONFIG_FREERTOS_USE_PWM is not set +# end of Freertos Pwm Drivers + # # Freertos Qspi Drivers # @@ -153,6 +159,31 @@ CONFIG_FREERTOS_USE_QSPI=y # # CONFIG_FREERTOS_USE_XMAC is not set # end of Freertos Eth Drivers + +# +# Freertos Gpio Drivers +# +# CONFIG_FREERTOS_USE_GPIO is not set +# end of Freertos Gpio Drivers + +# +# Freertos Spim Drivers +# +# CONFIG_FREERTOS_USE_FSPIM is not set +# end of Freertos Spim Drivers + +# +# Freertos DMA Drivers +# +# CONFIG_FREERTOS_USE_FDDMA is not set +# CONFIG_FREERTOS_USE_FGDMA is not set +# end of Freertos DMA Drivers + +# +# Freertos MMC Drivers +# +# CONFIG_FREERTOS_USE_FSDIO is not set +# end of Freertos MMC Drivers # end of Component Configuration # @@ -174,4 +205,7 @@ CONFIG_DEFAULT_LETTER_SHELL_USE_UART1=y # CONFIG_DEFAULT_LETTER_SHELL_USE_UART0 is not set # CONFIG_DEFAULT_LETTER_SHELL_USE_UART2 is not set # end of Letter Shell Configuration + +CONFIG_USE_TLSF=y +# CONFIG_USE_SDMMC_CMD is not set # end of FreeRTOS Setting diff --git a/example/peripheral/qspi/configs/ft2004_aarch64_eg_configs b/example/peripheral/qspi/configs/ft2004_aarch64_eg_configs index f9fd0610..5e6f1548 100644 --- a/example/peripheral/qspi/configs/ft2004_aarch64_eg_configs +++ b/example/peripheral/qspi/configs/ft2004_aarch64_eg_configs @@ -132,6 +132,12 @@ CONFIG_OUTPUT_BINARY=y CONFIG_FREERTOS_USE_UART=y # end of Freertos Uart Drivers +# +# Freertos Pwm Drivers +# +# CONFIG_FREERTOS_USE_PWM is not set +# end of Freertos Pwm Drivers + # # Freertos Qspi Drivers # @@ -149,6 +155,31 @@ CONFIG_FREERTOS_USE_QSPI=y # # CONFIG_FREERTOS_USE_XMAC is not set # end of Freertos Eth Drivers + +# +# Freertos Gpio Drivers +# +# CONFIG_FREERTOS_USE_GPIO is not set +# end of Freertos Gpio Drivers + +# +# Freertos Spim Drivers +# +# CONFIG_FREERTOS_USE_FSPIM is not set +# end of Freertos Spim Drivers + +# +# Freertos DMA Drivers +# +# CONFIG_FREERTOS_USE_FDDMA is not set +# CONFIG_FREERTOS_USE_FGDMA is not set +# end of Freertos DMA Drivers + +# +# Freertos MMC Drivers +# +# CONFIG_FREERTOS_USE_FSDIO is not set +# end of Freertos MMC Drivers # end of Component Configuration # @@ -170,4 +201,7 @@ CONFIG_DEFAULT_LETTER_SHELL_USE_UART1=y # CONFIG_DEFAULT_LETTER_SHELL_USE_UART0 is not set # CONFIG_DEFAULT_LETTER_SHELL_USE_UART2 is not set # end of Letter Shell Configuration + +CONFIG_USE_TLSF=y +# CONFIG_USE_SDMMC_CMD is not set # end of FreeRTOS Setting diff --git a/example/peripheral/qspi/sdkconfig b/example/peripheral/qspi/sdkconfig index 27c0652e..a3a34de5 100644 --- a/example/peripheral/qspi/sdkconfig +++ b/example/peripheral/qspi/sdkconfig @@ -132,6 +132,12 @@ CONFIG_OUTPUT_BINARY=y CONFIG_FREERTOS_USE_UART=y # end of Freertos Uart Drivers +# +# Freertos Pwm Drivers +# +# CONFIG_FREERTOS_USE_PWM is not set +# end of Freertos Pwm Drivers + # # Freertos Qspi Drivers # @@ -149,6 +155,31 @@ CONFIG_FREERTOS_USE_QSPI=y # # CONFIG_FREERTOS_USE_XMAC is not set # end of Freertos Eth Drivers + +# +# Freertos Gpio Drivers +# +# CONFIG_FREERTOS_USE_GPIO is not set +# end of Freertos Gpio Drivers + +# +# Freertos Spim Drivers +# +# CONFIG_FREERTOS_USE_FSPIM is not set +# end of Freertos Spim Drivers + +# +# Freertos DMA Drivers +# +# CONFIG_FREERTOS_USE_FDDMA is not set +# CONFIG_FREERTOS_USE_FGDMA is not set +# end of Freertos DMA Drivers + +# +# Freertos MMC Drivers +# +# CONFIG_FREERTOS_USE_FSDIO is not set +# end of Freertos MMC Drivers # end of Component Configuration # @@ -170,4 +201,7 @@ CONFIG_DEFAULT_LETTER_SHELL_USE_UART1=y # CONFIG_DEFAULT_LETTER_SHELL_USE_UART0 is not set # CONFIG_DEFAULT_LETTER_SHELL_USE_UART2 is not set # end of Letter Shell Configuration + +CONFIG_USE_TLSF=y +# CONFIG_USE_SDMMC_CMD is not set # end of FreeRTOS Setting diff --git a/example/peripheral/qspi/sdkconfig.h b/example/peripheral/qspi/sdkconfig.h index 1036fa0c..5d5a2ea4 100644 --- a/example/peripheral/qspi/sdkconfig.h +++ b/example/peripheral/qspi/sdkconfig.h @@ -118,6 +118,11 @@ #define CONFIG_FREERTOS_USE_UART /* end of Freertos Uart Drivers */ +/* Freertos Pwm Drivers */ + +/* CONFIG_FREERTOS_USE_PWM is not set */ +/* end of Freertos Pwm Drivers */ + /* Freertos Qspi Drivers */ #define CONFIG_FREERTOS_USE_QSPI @@ -132,6 +137,27 @@ /* CONFIG_FREERTOS_USE_XMAC is not set */ /* end of Freertos Eth Drivers */ + +/* Freertos Gpio Drivers */ + +/* CONFIG_FREERTOS_USE_GPIO is not set */ +/* end of Freertos Gpio Drivers */ + +/* Freertos Spim Drivers */ + +/* CONFIG_FREERTOS_USE_FSPIM is not set */ +/* end of Freertos Spim Drivers */ + +/* Freertos DMA Drivers */ + +/* CONFIG_FREERTOS_USE_FDDMA is not set */ +/* CONFIG_FREERTOS_USE_FGDMA is not set */ +/* end of Freertos DMA Drivers */ + +/* Freertos MMC Drivers */ + +/* CONFIG_FREERTOS_USE_FSDIO is not set */ +/* end of Freertos MMC Drivers */ /* end of Component Configuration */ /* FreeRTOS Setting */ @@ -151,6 +177,8 @@ /* CONFIG_DEFAULT_LETTER_SHELL_USE_UART0 is not set */ /* CONFIG_DEFAULT_LETTER_SHELL_USE_UART2 is not set */ /* end of Letter Shell Configuration */ +#define CONFIG_USE_TLSF +/* CONFIG_USE_SDMMC_CMD is not set */ /* end of FreeRTOS Setting */ #endif diff --git a/example/peripheral/qspi/src/qspi_example.c b/example/peripheral/qspi/src/qspi_example.c index 8d3d645a..4e0db17f 100644 --- a/example/peripheral/qspi/src/qspi_example.c +++ b/example/peripheral/qspi/src/qspi_example.c @@ -269,7 +269,11 @@ static void FFreeRTOSQspiDelete(void) vTaskDelete(write_handle); vPrintf("Delete QspiWriteTask success\r\n"); } + + /* delete count sem */ + vSemaphoreDelete(xCountingSemaphore); + /* delete timer */ xReturn = xTimerDelete(xOneShotTimer, 0); if(xReturn != pdPASS) { diff --git a/example/peripheral/sdio/Kconfig b/example/peripheral/sdio/Kconfig new file mode 100644 index 00000000..0277fb85 --- /dev/null +++ b/example/peripheral/sdio/Kconfig @@ -0,0 +1,19 @@ +# +# For a description of the syntax of this configuration file, +# see tools/kconfiglib/kconfig-language.txt. +# + + +mainmenu "Phytium Freertos Configuration" + + menu "Freertos Configuration" + config TARGET_NAME + string "Build Target Name" + default "freertos" + help + Build Target name for the demo + +endmenu + +source "$(FREERTOS_SDK_ROOT)/Kconfig" + diff --git a/example/peripheral/sdio/README.md b/example/peripheral/sdio/README.md new file mode 100644 index 00000000..a14bba43 --- /dev/null +++ b/example/peripheral/sdio/README.md @@ -0,0 +1,128 @@ +# SD卡(TF/eMMC)读写测试 + +## 1. 例程介绍 + +SD存储卡(Secure Digital Memory Card), 是一种基于半导体快闪记忆器的新一代记忆设备,由于它体积小、数据传输速度快、可热插拔等优良的特性,被广泛地于便携式装置上使用, 本例程提供了两类常见SD存储设备的读写支持, + +- TF(Transflash Card)卡,也称 MicroSD卡,体积为15mm x 11mm x 1mm,主要配合卡套,实现可扩展的存储器 +- eMMC (Embedded Multi Media Card)卡,主要实现的内嵌式存储器标准规格 + +TF 卡和 eMMC 卡的常见容量包括 4G、8G、16G、32G、64G 和 128G + +SD卡的通信依赖三种数据格式:命令包,响应包,数据包,控制器通过一定的命令格式和顺序可以控制读写 SD 卡设备内部寄存器,获取卡信息,完成与卡的数据交互 + +## 2. 如何使用例程 + +本例程需要用到 +- Phytium开发板(E2000) +- [Phytium FreeRTOS SDK](https://gitee.com/phytium_embedded/phytium-free-rtos-sdk) +- [Phytium Standalone SDK](https://gitee.com/phytium_embedded/phytium-standalone-sdk) + +### 2.1 硬件配置方法 + +本例程支持的硬件平台包括 + +- E2000 + +对应的配置项是, + +- CONFIG_TARGET_E2000 + +本例程在 E2000-测试板B上完成测试,在测试板B上,SD-0控制器连接TF卡,SD-1控制器连接eMMC + +### 2.2 SDK配置方法 + +本例程需要, + +- 使能Shell +- 使能SPI +- 使能SDMMC + +对应的配置项是, + +- CONFIG_USE_LETTER_SHELL +- CONFIG_FREERTOS_USE_FSDIO +- CONFIG_USE_SDMMC_CMD + +本例子已经提供好具体的编译指令,以下进行介绍: +- make load_e2000q_aarch64 将预设64bit e2000q 下的配置加载至工程中 +- make load_e2000q_aarch32 将预设32bit e2000q 下的配置加载至工程中 +- make 将目录下的工程进行编译 +- make clean 将目录下的工程进行清理 +- make boot 将目录下的工程进行编译,并将生成的elf 复制到目标地址 +- make menuconfig 配置目录下的参数变量 +- make backup_kconfig 将目录下的sdkconfig 备份到./configs下 + +具体使用方法为: +- 在当前目录下 +- 执行以上指令 + +### 2.3 构建和下载 + +#### 2.3.1 构建过程 + +- 在host侧完成配置 +> 配置成 e2000q,对于其它平台,使用对于的默认配置,如, + +- 选择目标平台 +``` +make load_e2000q_aarch64 +``` + +- 选择例程需要的配置 +``` +make menuconfig +``` + +- 进行编译 +``` +make +``` + +- 将编译出的镜像放置到tftp目录下 +``` +make boot +``` + +#### 2.3.2 下载过程 + +- host侧设置重启host侧tftp服务器 +``` +sudo service tftpd-hpa restart +``` + +- 开发板侧使用bootelf命令跳转 +``` +setenv ipaddr 192.168.4.20 +setenv serverip 192.168.4.50 +setenv gatewayip 192.168.4.1 +tftpboot 0xa0100000 freertos.elf +bootelf -p 0xa0100000 +``` + +### 2.4 输出与实验现象 + +- 系统进入后,创建任务初始化tf卡,循环读写Tf卡中第3~6块的内容 + +``` +sd wr 1 tf 3 3 +``` + +![tf](./figs/tf_wr.png) + +- 系统进入后,创建任务初始化eMMC,循环读写eMMC中第7~9块的内容 + +``` +sd wr 0 emmc 7 3 +``` + +![emmc](./figs/emmc_wr.png) + +## 3. 如何解决问题 + + +## 4. 修改历史记录 + + + + diff --git a/example/peripheral/sdio/configs/e2000d_aarch32_eg_configs b/example/peripheral/sdio/configs/e2000d_aarch32_eg_configs new file mode 100644 index 00000000..49bc539e --- /dev/null +++ b/example/peripheral/sdio/configs/e2000d_aarch32_eg_configs @@ -0,0 +1,207 @@ + +# +# Freertos Configuration +# +CONFIG_TARGET_NAME="e2000d_freertos_a32" +# end of Freertos Configuration + +# +# Standalone Setting +# +CONFIG_USE_FREERTOS=y + +# +# Arch Configuration +# +CONFIG_TARGET_ARMV8_AARCH32=y +# CONFIG_TARGET_ARMV8_AARCH64 is not set +CONFIG_USE_CACHE=y +CONFIG_USE_MMU=y +CONFIG_USE_SYS_TICK=y +CONFIG_USE_AARCH64_L1_TO_AARCH32=y +# end of Arch Configuration + +# +# Board Configuration +# +# CONFIG_TARGET_F2000_4 is not set +# CONFIG_TARGET_D2000 is not set +# CONFIG_TARGET_E2000Q is not set +CONFIG_TARGET_E2000D=y +# CONFIG_TARGET_E2000S is not set +CONFIG_TARGET_E2000=y +CONFIG_DEFAULT_DEBUG_PRINT_UART1=y +# CONFIG_DEFAULT_DEBUG_PRINT_UART0 is not set +# CONFIG_DEFAULT_DEBUG_PRINT_UART2 is not set +# end of Board Configuration + +# +# Components Configuration +# +# CONFIG_USE_SPI is not set +# CONFIG_USE_QSPI is not set +CONFIG_USE_GIC=y +CONFIG_ENABLE_GICV3=y +CONFIG_USE_SERIAL=y + +# +# Usart Configuration +# +CONFIG_ENABLE_Pl011_UART=y +# end of Usart Configuration + +# CONFIG_USE_GPIO is not set +# CONFIG_USE_ETH is not set +# CONFIG_USE_CAN is not set +# CONFIG_USE_I2C is not set +# CONFIG_USE_TIMER is not set +# CONFIG_USE_MIO is not set +CONFIG_USE_SDMMC=y +CONFIG_ENABLE_FSDIO=y +# CONFIG_USE_PCIE is not set +# CONFIG_USE_WDT is not set +# CONFIG_USE_DMA is not set +# CONFIG_USE_NAND is not set +# CONFIG_USE_RTC is not set +# CONFIG_USE_SATA is not set +# CONFIG_USE_USB is not set +# CONFIG_USE_ADC is not set +# CONFIG_USE_PWM is not set +# CONFIG_USE_IPC is not set +# end of Components Configuration + +CONFIG_USE_NEW_LIBC=y +# end of Standalone Setting + +# +# Building Option +# +# CONFIG_LOG_VERBOS is not set +# CONFIG_LOG_DEBUG is not set +# CONFIG_LOG_INFO is not set +# CONFIG_LOG_WARN is not set +CONFIG_LOG_ERROR=y +# CONFIG_LOG_NONE is not set +CONFIG_USE_DEFAULT_INTERRUPT_CONFIG=y +CONFIG_INTERRUPT_ROLE_MASTER=y +# CONFIG_INTERRUPT_ROLE_SLAVE is not set +CONFIG_LOG_EXTRA_INFO=y +# CONFIG_BOOTUP_DEBUG_PRINTS is not set + +# +# Linker Options +# +CONFIG_AARCH32_RAM_LD=y +# CONFIG_AARCH64_RAM_LD is not set +# CONFIG_USER_DEFINED_LD is not set +CONFIG_LINK_SCRIPT_ROM=y +CONFIG_ROM_START_UP_ADDR=0x80100000 +CONFIG_ROM_SIZE_MB=1 +CONFIG_LINK_SCRIPT_RAM=y +CONFIG_RAM_START_UP_ADDR=0x81000000 +CONFIG_RAM_SIZE_MB=64 +CONFIG_HEAP_SIZE=1 +CONFIG_SVC_STACK_SIZE=0x1000 +CONFIG_SYS_STACK_SIZE=0x1000 +CONFIG_IRQ_STACK_SIZE=0x1000 +CONFIG_ABORT_STACK_SIZE=0x1000 +CONFIG_FIQ_STACK_SIZE=0x1000 +CONFIG_UNDEF_STACK_SIZE=0x1000 +# end of Linker Options + +# +# Compiler Options +# +CONFIG_OUTPUT_BINARY=y +# end of Compiler Options +# end of Building Option + +# +# Component Configuration +# + +# +# Freertos Uart Drivers +# +CONFIG_FREERTOS_USE_UART=y +# end of Freertos Uart Drivers + +# +# Freertos Pwm Drivers +# +# CONFIG_FREERTOS_USE_PWM is not set +# end of Freertos Pwm Drivers + +# +# Freertos Qspi Drivers +# +# CONFIG_FREERTOS_USE_QSPI is not set +# end of Freertos Qspi Drivers + +# +# Freertos Wdt Drivers +# +# CONFIG_FREERTOS_USE_WDT is not set +# end of Freertos Wdt Drivers + +# +# Freertos Eth Drivers +# +# CONFIG_FREERTOS_USE_XMAC is not set +# end of Freertos Eth Drivers + +# +# Freertos Gpio Drivers +# +# CONFIG_FREERTOS_USE_GPIO is not set +# end of Freertos Gpio Drivers + +# +# Freertos Spim Drivers +# +# CONFIG_FREERTOS_USE_FSPIM is not set +# end of Freertos Spim Drivers + +# +# Freertos DMA Drivers +# +# CONFIG_FREERTOS_USE_FDDMA is not set +# CONFIG_FREERTOS_USE_FGDMA is not set +# end of Freertos DMA Drivers + +# +# Freertos MMC Drivers +# +CONFIG_FREERTOS_USE_FSDIO=y +# end of Freertos MMC Drivers +# end of Component Configuration + +# +# FreeRTOS Setting +# +# CONFIG_USE_LWIP is not set +CONFIG_USE_BACKTRACE=y +# CONFIG_USE_FATFS is not set +# CONFIG_USE_SFUD is not set +# CONFIG_USE_SPIFFS is not set +# CONFIG_USE_AMP is not set +CONFIG_USE_LETTER_SHELL=y + +# +# Letter Shell Configuration +# +CONFIG_LS_PL011_UART=y +CONFIG_DEFAULT_LETTER_SHELL_USE_UART1=y +# CONFIG_DEFAULT_LETTER_SHELL_USE_UART0 is not set +# CONFIG_DEFAULT_LETTER_SHELL_USE_UART2 is not set +# end of Letter Shell Configuration + +CONFIG_USE_TLSF=y +CONFIG_USE_SDMMC_CMD=y + +# +# SDMMC Configuration +# +CONFIG_SDMMC_PORT_FSDIO=y +# end of SDMMC Configuration +# end of FreeRTOS Setting diff --git a/example/peripheral/sdio/configs/e2000d_aarch64_eg_configs b/example/peripheral/sdio/configs/e2000d_aarch64_eg_configs new file mode 100644 index 00000000..7fb21a86 --- /dev/null +++ b/example/peripheral/sdio/configs/e2000d_aarch64_eg_configs @@ -0,0 +1,203 @@ + +# +# Freertos Configuration +# +CONFIG_TARGET_NAME="e2000d_freertos_a64" +# end of Freertos Configuration + +# +# Standalone Setting +# +CONFIG_USE_FREERTOS=y + +# +# Arch Configuration +# +# CONFIG_TARGET_ARMV8_AARCH32 is not set +CONFIG_TARGET_ARMV8_AARCH64=y +CONFIG_USE_CACHE=y +CONFIG_USE_MMU=y +# CONFIG_USE_SYS_TICK is not set +# CONFIG_MMU_DEBUG_PRINTS is not set +# end of Arch Configuration + +# +# Board Configuration +# +# CONFIG_TARGET_F2000_4 is not set +# CONFIG_TARGET_D2000 is not set +# CONFIG_TARGET_E2000Q is not set +CONFIG_TARGET_E2000D=y +# CONFIG_TARGET_E2000S is not set +CONFIG_TARGET_E2000=y +CONFIG_DEFAULT_DEBUG_PRINT_UART1=y +# CONFIG_DEFAULT_DEBUG_PRINT_UART0 is not set +# CONFIG_DEFAULT_DEBUG_PRINT_UART2 is not set +# end of Board Configuration + +# +# Components Configuration +# +# CONFIG_USE_SPI is not set +# CONFIG_USE_QSPI is not set +CONFIG_USE_GIC=y +CONFIG_ENABLE_GICV3=y +CONFIG_USE_SERIAL=y + +# +# Usart Configuration +# +CONFIG_ENABLE_Pl011_UART=y +# end of Usart Configuration + +# CONFIG_USE_GPIO is not set +# CONFIG_USE_ETH is not set +# CONFIG_USE_CAN is not set +# CONFIG_USE_I2C is not set +# CONFIG_USE_TIMER is not set +# CONFIG_USE_MIO is not set +CONFIG_USE_SDMMC=y +CONFIG_ENABLE_FSDIO=y +# CONFIG_USE_PCIE is not set +# CONFIG_USE_WDT is not set +# CONFIG_USE_DMA is not set +# CONFIG_USE_NAND is not set +# CONFIG_USE_RTC is not set +# CONFIG_USE_SATA is not set +# CONFIG_USE_USB is not set +# CONFIG_USE_ADC is not set +# CONFIG_USE_PWM is not set +# CONFIG_USE_IPC is not set +# end of Components Configuration + +CONFIG_USE_NEW_LIBC=y +# end of Standalone Setting + +# +# Building Option +# +# CONFIG_LOG_VERBOS is not set +# CONFIG_LOG_DEBUG is not set +# CONFIG_LOG_INFO is not set +# CONFIG_LOG_WARN is not set +CONFIG_LOG_ERROR=y +# CONFIG_LOG_NONE is not set +CONFIG_USE_DEFAULT_INTERRUPT_CONFIG=y +CONFIG_INTERRUPT_ROLE_MASTER=y +# CONFIG_INTERRUPT_ROLE_SLAVE is not set +CONFIG_LOG_EXTRA_INFO=y +# CONFIG_BOOTUP_DEBUG_PRINTS is not set + +# +# Linker Options +# +# CONFIG_AARCH32_RAM_LD is not set +CONFIG_AARCH64_RAM_LD=y +# CONFIG_USER_DEFINED_LD is not set +CONFIG_LINK_SCRIPT_ROM=y +CONFIG_ROM_START_UP_ADDR=0x80100000 +CONFIG_ROM_SIZE_MB=1 +CONFIG_LINK_SCRIPT_RAM=y +CONFIG_RAM_START_UP_ADDR=0x81000000 +CONFIG_RAM_SIZE_MB=64 +CONFIG_HEAP_SIZE=1 +CONFIG_STACK_SIZE=0x100000 +CONFIG_FPU_STACK_SIZE=0x1000 +# end of Linker Options + +# +# Compiler Options +# +CONFIG_OUTPUT_BINARY=y +# end of Compiler Options +# end of Building Option + +# +# Component Configuration +# + +# +# Freertos Uart Drivers +# +CONFIG_FREERTOS_USE_UART=y +# end of Freertos Uart Drivers + +# +# Freertos Pwm Drivers +# +# CONFIG_FREERTOS_USE_PWM is not set +# end of Freertos Pwm Drivers + +# +# Freertos Qspi Drivers +# +# CONFIG_FREERTOS_USE_QSPI is not set +# end of Freertos Qspi Drivers + +# +# Freertos Wdt Drivers +# +# CONFIG_FREERTOS_USE_WDT is not set +# end of Freertos Wdt Drivers + +# +# Freertos Eth Drivers +# +# CONFIG_FREERTOS_USE_XMAC is not set +# end of Freertos Eth Drivers + +# +# Freertos Gpio Drivers +# +# CONFIG_FREERTOS_USE_GPIO is not set +# end of Freertos Gpio Drivers + +# +# Freertos Spim Drivers +# +# CONFIG_FREERTOS_USE_FSPIM is not set +# end of Freertos Spim Drivers + +# +# Freertos DMA Drivers +# +# CONFIG_FREERTOS_USE_FDDMA is not set +# CONFIG_FREERTOS_USE_FGDMA is not set +# end of Freertos DMA Drivers + +# +# Freertos MMC Drivers +# +CONFIG_FREERTOS_USE_FSDIO=y +# end of Freertos MMC Drivers +# end of Component Configuration + +# +# FreeRTOS Setting +# +# CONFIG_USE_LWIP is not set +CONFIG_USE_BACKTRACE=y +# CONFIG_USE_FATFS is not set +# CONFIG_USE_SFUD is not set +# CONFIG_USE_SPIFFS is not set +# CONFIG_USE_AMP is not set +CONFIG_USE_LETTER_SHELL=y + +# +# Letter Shell Configuration +# +CONFIG_LS_PL011_UART=y +CONFIG_DEFAULT_LETTER_SHELL_USE_UART1=y +# CONFIG_DEFAULT_LETTER_SHELL_USE_UART0 is not set +# CONFIG_DEFAULT_LETTER_SHELL_USE_UART2 is not set +# end of Letter Shell Configuration + +CONFIG_USE_TLSF=y +CONFIG_USE_SDMMC_CMD=y + +# +# SDMMC Configuration +# +CONFIG_SDMMC_PORT_FSDIO=y +# end of SDMMC Configuration +# end of FreeRTOS Setting diff --git a/example/peripheral/sdio/figs/emmc_wr.png b/example/peripheral/sdio/figs/emmc_wr.png new file mode 100644 index 0000000000000000000000000000000000000000..d49a9a9b4ddad033837e02225bb894e756b11ec9 GIT binary patch literal 31730 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

01CULKz9>vyGdH%`l;_4r*py^6+|_5 zUX~jaL(AH&G;Id*^CF~uBVsD&BraR>_*e(=fX$;`Yuh~Jh9;x#WP@ck}ZN69&K!?-ASv+@R?Z+5;@EpD2TDEIrh&xB73rgzZn7p2oK&#ZyQ zN>}NwU_85hG|^>)1+)3D6%zlUB|(dH32VTQnTe$ZsD43LwK7@xdn)-`T0NhlU4RSizjjZhLw|+9DEn@_~ncHY-HBrJN-}T<3|2 zo^>&@#elosN2Lcw$&6jJC0(;xeKhhUpA+DkB|FGwsL0f>F^@Vl1drFgGrEmLQUyyc zJhw#r;gG^DfebF$VQ&3b>2{|}O+M4PS|J1Vd%F!Ecy7R2cFeRZuSB1;^yS%5zmev$_tb|$eLyfpT1b)zF}D8?s5 zs!#QW$DNirI{nwWt{P0HP4>XOBXPgOp0fTsx8!2+;QEx)VP*dU{R`j49IRB>kAk+3 z3ef8%7A9{&DrXN3r(2$m!l9aD?X(_rbKEBbfAXz-@CR6k1Au20><@TW0-)nUvHl4A z``7y=I)C8Q5Iuo2TbTZ(49*!RBf3q&wKB^cEec*dZb`=x^$ODN*u*syI?xeHPDOB3 zd0(aKc`tyJtNFA{5?d8GX5TwF5$4!lPe5yQxw~6r9)otF-gq^osH;;Kh}BDWh}TOV zh|x=iNt>0w`4?*VtPvY&&+m4CQSXmV+bz^tg7Q3I#2) zo?~*ZB|!2ftOf#Yv-=Be_88ZMyRM=0G%PW*V;Oe%{tSt`k=vo11%K&X2KpIt`b;=_ zte-K`q!r_|$16V)aT5RZ?qpvAb7BW0Z?56=3DiWmg}`x}$RFdCME+3;p{$hA%1Pw) zX+P7TEu>S(bhegSg)G?J&jkP1d)P%#<=$gdP}iWoz~?$(?M_8X6i`aW4vM{9mN(Z- zgpKSV-|>#gizz$p_k@dq4|k>C@OE~tG%JxYL}&$FTq^01NN}*CCOjnd&4xAppRR*5 ztd-c$(uA_p|8eeaq&N`hDGCBx`5>@S*+(s-!P*NI z58qP3-enfD`d;prYT%>%C=5l=lajcyR~L8)cA#J}r6R?^h@%}gKUEfG)RcBgtUJ-Ua$ z^E=kRZ0p3;vbJvbxlY=XdduWkZj0FLYqDW~|CCEl%|b$Fcu`Yx^XjV`p`=QGInodsGU zZ(HGFx`W~%NfuSOFy&^7=%IOz+E;%z1LJj0*l$5uO8seXE?5vARY;`g{s+F=c_(+c z(l5Oa)Nz5BBT6o|ZEEWyMu&qiYi)7s6)oLrjZ$$`tG4wnq7hUdgx9WBx z9`c|gk_`h%B``V!B=Z2`0WCBD5bwvS(1Dj5`T%eeleh0n1O4o&biz@NrQEQ(5h(FE zU&s=7CHty=$Qt0A6nk8Ps4DAOna8m0<_fZ-qh{M%<=>XmPcmOl(y<-ipOQFhtRqsB zhpty84B;&7Y+IMz7F)Fy-!Oz(>JS}LM1^>0y5A-Q-TY<8-#r8yeqThL3c8&?kr{6a z7H`I9FY3J%ng@H4@2=s21*rXuA9GADiTokjw5GW~18;gqNIANyA4ZK#BYRVt{ z;;mcMAkdr*q_WE3TY?As*f&{87WTb+_?>hKgU5AzRxIVn8 zD82r%cgM#)Wf;u>_? zFQ?JxD=%&Er;)E7L3|d*ja9%SxPq1Hk=9|4Ea(uoyv0?2RXImS<_=Ttq-C7((K6^& zNcz^m(ge_)#?(OznkAC0`->*}^D|t}d6fSx#M(q7dUT%AySrpo|pykvkEy-0xpFmd{uc#|&sX=tDFJKw%#Mnho%;-h6t&QF5mzt-X z4Nq-!aaMG!)L8kYTvE&M1^ajB4}Xew0$zw05P+3unKEZjTGO4NUy`H39tAAgsj0{& zvSORreuv7{PhT1AqwO>Nest*Y;;~nQGE=sJ;lehsZ!>A-02XVE*h=0HQ_A}N+p^lG zJ}8)Yb_xM9lOhx#v(C;}*NBBDyD2{D$@DFGP(!fkK)>QLNh9W!312_KR_hL|wki%g zo-gZrWpnuN34f)&B$Nf1XbO literal 0 HcmV?d00001 diff --git a/example/peripheral/sdio/figs/tf_wr.png b/example/peripheral/sdio/figs/tf_wr.png new file mode 100644 index 0000000000000000000000000000000000000000..5ffb0f2d5cb5fdb4a8044d918a5f83cc46b4a919 GIT binary patch literal 30879 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 F{|81+YXkrQ literal 0 HcmV?d00001 diff --git a/example/peripheral/sdio/inc/sd_read_write.h b/example/peripheral/sdio/inc/sd_read_write.h new file mode 100644 index 00000000..f5a37e28 --- /dev/null +++ b/example/peripheral/sdio/inc/sd_read_write.h @@ -0,0 +1,48 @@ +/* + * Copyright : (C) 2022 Phytium Information Technology, Inc. + * All Rights Reserved. + * + * This program is OPEN SOURCE software: you can redistribute it and/or modify it + * under the terms of the Phytium Public License as published by the Phytium Technology Co.,Ltd, + * either version 1.0 of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful,but WITHOUT ANY WARRANTY; + * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + * See the Phytium Public License for more details. + * + * + * FilePath: sd_read_write.h + * Date: 2022-07-18 16:43:35 + * LastEditTime: 2022-07-18 16:43:35 + * Description:  This files is for + * + * Modify History: + * Ver   Who        Date         Changes + * ----- ------     --------    -------------------------------------- + */ +#ifndef EXAMPLE_SD_READ_WRITE_H +#define EXAMPLE_SD_READ_WRITE_H + +#ifdef __cplusplus +extern "C" +{ +#endif + +/***************************** Include Files *********************************/ + +/************************** Constant Definitions *****************************/ + +/************************** Variable Definitions *****************************/ + +/***************** Macros (Inline Functions) Definitions *********************/ + +/************************** Function Prototypes ******************************/ + +/*****************************************************************************/ +BaseType_t FFreeRTOSSdWriteRead(u32 slot_id, boolean is_emmc, u32 start_blk, u32 blk_num); + +#ifdef __cplusplus +} +#endif + +#endif \ No newline at end of file diff --git a/example/peripheral/sdio/main.c b/example/peripheral/sdio/main.c new file mode 100644 index 00000000..e28f6df8 --- /dev/null +++ b/example/peripheral/sdio/main.c @@ -0,0 +1,44 @@ +/* + * Copyright : (C) 2022 Phytium Information Technology, Inc. + * All Rights Reserved. + * + * This program is OPEN SOURCE software: you can redistribute it and/or modify it + * under the terms of the Phytium Public License as published by the Phytium Technology Co.,Ltd, + * either version 1.0 of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful,but WITHOUT ANY WARRANTY; + * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + * See the Phytium Public License for more details. + * + * + * FilePath: main.c + * Date: 2022-06-17 08:17:59 + * LastEditTime: 2022-06-17 08:17:59 + * Description: This file is for + * + * Modify History: + * Ver Who Date Changes + * ----- ------ -------- -------------------------------------- + */ + +#include "shell.h" +#include "shell_port.h" +#include + +int main(void) +{ + BaseType_t ret; + + ret = LSUserShellTask() ; + if(ret != pdPASS) + goto FAIL_EXIT; + + /* ret = FFreeRTOSSdWriteRead(1U, FALSE, 0, 2); */ + + vTaskStartScheduler(); /* 启动任务,开启调度 */ + while (1); /* 正常不会执行到这里 */ + +FAIL_EXIT: + printf("failed 0x%x \r\n", ret); + return 0; +} diff --git a/example/peripheral/sdio/makefile b/example/peripheral/sdio/makefile new file mode 100644 index 00000000..d5622739 --- /dev/null +++ b/example/peripheral/sdio/makefile @@ -0,0 +1,29 @@ +export PROJECT_DIR ?= $(shell pwd) + +export USR_SRC_DIR = $(PROJECT_DIR) \ + ./src +export USR_INC_DIR = $(PROJECT_DIR) \ + ./inc + +# 用户定义的编译目标文件上传路径 +ifeq ($(OS),Windows_NT) + USR_BOOT_DIR ?= $(subst \,/, $(PHYTIUM_DEV_PATH))/tftp +else + USR_BOOT_DIR ?= /mnt/d/tftboot +endif + + +# 设置启动镜像名 +BOOT_IMG_NAME ?= freertos + +# 指定编译freertos项目使用的makefile +include $(FREERTOS_SDK_ROOT)/make/build_freertos.mk + +# 完成编译 +boot: + make -j + @cp ./$(CONFIG_TARGET_NAME).elf $(USR_BOOT_DIR)/$(BOOT_IMG_NAME).elf + @cp ./$(CONFIG_TARGET_NAME).bin $(USR_BOOT_DIR)/$(BOOT_IMG_NAME).bin + @ls -l $(USR_BOOT_DIR)/$(BOOT_IMG_NAME).* + + diff --git a/example/peripheral/sdio/sdkconfig b/example/peripheral/sdio/sdkconfig new file mode 100644 index 00000000..7fb21a86 --- /dev/null +++ b/example/peripheral/sdio/sdkconfig @@ -0,0 +1,203 @@ + +# +# Freertos Configuration +# +CONFIG_TARGET_NAME="e2000d_freertos_a64" +# end of Freertos Configuration + +# +# Standalone Setting +# +CONFIG_USE_FREERTOS=y + +# +# Arch Configuration +# +# CONFIG_TARGET_ARMV8_AARCH32 is not set +CONFIG_TARGET_ARMV8_AARCH64=y +CONFIG_USE_CACHE=y +CONFIG_USE_MMU=y +# CONFIG_USE_SYS_TICK is not set +# CONFIG_MMU_DEBUG_PRINTS is not set +# end of Arch Configuration + +# +# Board Configuration +# +# CONFIG_TARGET_F2000_4 is not set +# CONFIG_TARGET_D2000 is not set +# CONFIG_TARGET_E2000Q is not set +CONFIG_TARGET_E2000D=y +# CONFIG_TARGET_E2000S is not set +CONFIG_TARGET_E2000=y +CONFIG_DEFAULT_DEBUG_PRINT_UART1=y +# CONFIG_DEFAULT_DEBUG_PRINT_UART0 is not set +# CONFIG_DEFAULT_DEBUG_PRINT_UART2 is not set +# end of Board Configuration + +# +# Components Configuration +# +# CONFIG_USE_SPI is not set +# CONFIG_USE_QSPI is not set +CONFIG_USE_GIC=y +CONFIG_ENABLE_GICV3=y +CONFIG_USE_SERIAL=y + +# +# Usart Configuration +# +CONFIG_ENABLE_Pl011_UART=y +# end of Usart Configuration + +# CONFIG_USE_GPIO is not set +# CONFIG_USE_ETH is not set +# CONFIG_USE_CAN is not set +# CONFIG_USE_I2C is not set +# CONFIG_USE_TIMER is not set +# CONFIG_USE_MIO is not set +CONFIG_USE_SDMMC=y +CONFIG_ENABLE_FSDIO=y +# CONFIG_USE_PCIE is not set +# CONFIG_USE_WDT is not set +# CONFIG_USE_DMA is not set +# CONFIG_USE_NAND is not set +# CONFIG_USE_RTC is not set +# CONFIG_USE_SATA is not set +# CONFIG_USE_USB is not set +# CONFIG_USE_ADC is not set +# CONFIG_USE_PWM is not set +# CONFIG_USE_IPC is not set +# end of Components Configuration + +CONFIG_USE_NEW_LIBC=y +# end of Standalone Setting + +# +# Building Option +# +# CONFIG_LOG_VERBOS is not set +# CONFIG_LOG_DEBUG is not set +# CONFIG_LOG_INFO is not set +# CONFIG_LOG_WARN is not set +CONFIG_LOG_ERROR=y +# CONFIG_LOG_NONE is not set +CONFIG_USE_DEFAULT_INTERRUPT_CONFIG=y +CONFIG_INTERRUPT_ROLE_MASTER=y +# CONFIG_INTERRUPT_ROLE_SLAVE is not set +CONFIG_LOG_EXTRA_INFO=y +# CONFIG_BOOTUP_DEBUG_PRINTS is not set + +# +# Linker Options +# +# CONFIG_AARCH32_RAM_LD is not set +CONFIG_AARCH64_RAM_LD=y +# CONFIG_USER_DEFINED_LD is not set +CONFIG_LINK_SCRIPT_ROM=y +CONFIG_ROM_START_UP_ADDR=0x80100000 +CONFIG_ROM_SIZE_MB=1 +CONFIG_LINK_SCRIPT_RAM=y +CONFIG_RAM_START_UP_ADDR=0x81000000 +CONFIG_RAM_SIZE_MB=64 +CONFIG_HEAP_SIZE=1 +CONFIG_STACK_SIZE=0x100000 +CONFIG_FPU_STACK_SIZE=0x1000 +# end of Linker Options + +# +# Compiler Options +# +CONFIG_OUTPUT_BINARY=y +# end of Compiler Options +# end of Building Option + +# +# Component Configuration +# + +# +# Freertos Uart Drivers +# +CONFIG_FREERTOS_USE_UART=y +# end of Freertos Uart Drivers + +# +# Freertos Pwm Drivers +# +# CONFIG_FREERTOS_USE_PWM is not set +# end of Freertos Pwm Drivers + +# +# Freertos Qspi Drivers +# +# CONFIG_FREERTOS_USE_QSPI is not set +# end of Freertos Qspi Drivers + +# +# Freertos Wdt Drivers +# +# CONFIG_FREERTOS_USE_WDT is not set +# end of Freertos Wdt Drivers + +# +# Freertos Eth Drivers +# +# CONFIG_FREERTOS_USE_XMAC is not set +# end of Freertos Eth Drivers + +# +# Freertos Gpio Drivers +# +# CONFIG_FREERTOS_USE_GPIO is not set +# end of Freertos Gpio Drivers + +# +# Freertos Spim Drivers +# +# CONFIG_FREERTOS_USE_FSPIM is not set +# end of Freertos Spim Drivers + +# +# Freertos DMA Drivers +# +# CONFIG_FREERTOS_USE_FDDMA is not set +# CONFIG_FREERTOS_USE_FGDMA is not set +# end of Freertos DMA Drivers + +# +# Freertos MMC Drivers +# +CONFIG_FREERTOS_USE_FSDIO=y +# end of Freertos MMC Drivers +# end of Component Configuration + +# +# FreeRTOS Setting +# +# CONFIG_USE_LWIP is not set +CONFIG_USE_BACKTRACE=y +# CONFIG_USE_FATFS is not set +# CONFIG_USE_SFUD is not set +# CONFIG_USE_SPIFFS is not set +# CONFIG_USE_AMP is not set +CONFIG_USE_LETTER_SHELL=y + +# +# Letter Shell Configuration +# +CONFIG_LS_PL011_UART=y +CONFIG_DEFAULT_LETTER_SHELL_USE_UART1=y +# CONFIG_DEFAULT_LETTER_SHELL_USE_UART0 is not set +# CONFIG_DEFAULT_LETTER_SHELL_USE_UART2 is not set +# end of Letter Shell Configuration + +CONFIG_USE_TLSF=y +CONFIG_USE_SDMMC_CMD=y + +# +# SDMMC Configuration +# +CONFIG_SDMMC_PORT_FSDIO=y +# end of SDMMC Configuration +# end of FreeRTOS Setting diff --git a/example/peripheral/sdio/sdkconfig.h b/example/peripheral/sdio/sdkconfig.h new file mode 100644 index 00000000..b8607f45 --- /dev/null +++ b/example/peripheral/sdio/sdkconfig.h @@ -0,0 +1,181 @@ +#ifndef SDK_CONFIG_H__ +#define SDK_CONFIG_H__ + +/* Freertos Configuration */ + +#define CONFIG_TARGET_NAME "e2000d_freertos_a64" +/* end of Freertos Configuration */ + +/* Standalone Setting */ + +#define CONFIG_USE_FREERTOS + +/* Arch Configuration */ + +/* CONFIG_TARGET_ARMV8_AARCH32 is not set */ +#define CONFIG_TARGET_ARMV8_AARCH64 +#define CONFIG_USE_CACHE +#define CONFIG_USE_MMU +/* CONFIG_USE_SYS_TICK is not set */ +/* CONFIG_MMU_DEBUG_PRINTS is not set */ +/* end of Arch Configuration */ + +/* Board Configuration */ + +/* CONFIG_TARGET_F2000_4 is not set */ +/* CONFIG_TARGET_D2000 is not set */ +/* CONFIG_TARGET_E2000Q is not set */ +#define CONFIG_TARGET_E2000D +/* CONFIG_TARGET_E2000S is not set */ +#define CONFIG_TARGET_E2000 +#define CONFIG_DEFAULT_DEBUG_PRINT_UART1 +/* CONFIG_DEFAULT_DEBUG_PRINT_UART0 is not set */ +/* CONFIG_DEFAULT_DEBUG_PRINT_UART2 is not set */ +/* end of Board Configuration */ + +/* Components Configuration */ + +/* CONFIG_USE_SPI is not set */ +/* CONFIG_USE_QSPI is not set */ +#define CONFIG_USE_GIC +#define CONFIG_ENABLE_GICV3 +#define CONFIG_USE_SERIAL + +/* Usart Configuration */ + +#define CONFIG_ENABLE_Pl011_UART +/* end of Usart Configuration */ +/* CONFIG_USE_GPIO is not set */ +/* CONFIG_USE_ETH is not set */ +/* CONFIG_USE_CAN is not set */ +/* CONFIG_USE_I2C is not set */ +/* CONFIG_USE_TIMER is not set */ +/* CONFIG_USE_MIO is not set */ +#define CONFIG_USE_SDMMC +#define CONFIG_ENABLE_FSDIO +/* CONFIG_USE_PCIE is not set */ +/* CONFIG_USE_WDT is not set */ +/* CONFIG_USE_DMA is not set */ +/* CONFIG_USE_NAND is not set */ +/* CONFIG_USE_RTC is not set */ +/* CONFIG_USE_SATA is not set */ +/* CONFIG_USE_USB is not set */ +/* CONFIG_USE_ADC is not set */ +/* CONFIG_USE_PWM is not set */ +/* CONFIG_USE_IPC is not set */ +/* end of Components Configuration */ +#define CONFIG_USE_NEW_LIBC +/* end of Standalone Setting */ + +/* Building Option */ + +/* CONFIG_LOG_VERBOS is not set */ +/* CONFIG_LOG_DEBUG is not set */ +/* CONFIG_LOG_INFO is not set */ +/* CONFIG_LOG_WARN is not set */ +#define CONFIG_LOG_ERROR +/* CONFIG_LOG_NONE is not set */ +#define CONFIG_USE_DEFAULT_INTERRUPT_CONFIG +#define CONFIG_INTERRUPT_ROLE_MASTER +/* CONFIG_INTERRUPT_ROLE_SLAVE is not set */ +#define CONFIG_LOG_EXTRA_INFO +/* CONFIG_BOOTUP_DEBUG_PRINTS is not set */ + +/* Linker Options */ + +/* CONFIG_AARCH32_RAM_LD is not set */ +#define CONFIG_AARCH64_RAM_LD +/* CONFIG_USER_DEFINED_LD is not set */ +#define CONFIG_LINK_SCRIPT_ROM +#define CONFIG_ROM_START_UP_ADDR 0x80100000 +#define CONFIG_ROM_SIZE_MB 1 +#define CONFIG_LINK_SCRIPT_RAM +#define CONFIG_RAM_START_UP_ADDR 0x81000000 +#define CONFIG_RAM_SIZE_MB 64 +#define CONFIG_HEAP_SIZE 1 +#define CONFIG_STACK_SIZE 0x100000 +#define CONFIG_FPU_STACK_SIZE 0x1000 +/* end of Linker Options */ + +/* Compiler Options */ + +#define CONFIG_OUTPUT_BINARY +/* end of Compiler Options */ +/* end of Building Option */ + +/* Component Configuration */ + +/* Freertos Uart Drivers */ + +#define CONFIG_FREERTOS_USE_UART +/* end of Freertos Uart Drivers */ + +/* Freertos Pwm Drivers */ + +/* CONFIG_FREERTOS_USE_PWM is not set */ +/* end of Freertos Pwm Drivers */ + +/* Freertos Qspi Drivers */ + +/* CONFIG_FREERTOS_USE_QSPI is not set */ +/* end of Freertos Qspi Drivers */ + +/* Freertos Wdt Drivers */ + +/* CONFIG_FREERTOS_USE_WDT is not set */ +/* end of Freertos Wdt Drivers */ + +/* Freertos Eth Drivers */ + +/* CONFIG_FREERTOS_USE_XMAC is not set */ +/* end of Freertos Eth Drivers */ + +/* Freertos Gpio Drivers */ + +/* CONFIG_FREERTOS_USE_GPIO is not set */ +/* end of Freertos Gpio Drivers */ + +/* Freertos Spim Drivers */ + +/* CONFIG_FREERTOS_USE_FSPIM is not set */ +/* end of Freertos Spim Drivers */ + +/* Freertos DMA Drivers */ + +/* CONFIG_FREERTOS_USE_FDDMA is not set */ +/* CONFIG_FREERTOS_USE_FGDMA is not set */ +/* end of Freertos DMA Drivers */ + +/* Freertos MMC Drivers */ + +#define CONFIG_FREERTOS_USE_FSDIO +/* end of Freertos MMC Drivers */ +/* end of Component Configuration */ + +/* FreeRTOS Setting */ + +/* CONFIG_USE_LWIP is not set */ +#define CONFIG_USE_BACKTRACE +/* CONFIG_USE_FATFS is not set */ +/* CONFIG_USE_SFUD is not set */ +/* CONFIG_USE_SPIFFS is not set */ +/* CONFIG_USE_AMP is not set */ +#define CONFIG_USE_LETTER_SHELL + +/* Letter Shell Configuration */ + +#define CONFIG_LS_PL011_UART +#define CONFIG_DEFAULT_LETTER_SHELL_USE_UART1 +/* CONFIG_DEFAULT_LETTER_SHELL_USE_UART0 is not set */ +/* CONFIG_DEFAULT_LETTER_SHELL_USE_UART2 is not set */ +/* end of Letter Shell Configuration */ +#define CONFIG_USE_TLSF +#define CONFIG_USE_SDMMC_CMD + +/* SDMMC Configuration */ + +#define CONFIG_SDMMC_PORT_FSDIO +/* end of SDMMC Configuration */ +/* end of FreeRTOS Setting */ + +#endif diff --git a/example/peripheral/sdio/src/cmd_sd.c b/example/peripheral/sdio/src/cmd_sd.c new file mode 100644 index 00000000..9c5b405f --- /dev/null +++ b/example/peripheral/sdio/src/cmd_sd.c @@ -0,0 +1,102 @@ +/* + * Copyright : (C) 2022 Phytium Information Technology, Inc. + * All Rights Reserved. + * + * This program is OPEN SOURCE software: you can redistribute it and/or modify it + * under the terms of the Phytium Public License as published by the Phytium Technology Co.,Ltd, + * either version 1.0 of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful,but WITHOUT ANY WARRANTY; + * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + * See the Phytium Public License for more details. + * + * + * FilePath: cmd_sd.c + * Date: 2022-07-12 09:33:12 + * LastEditTime: 2022-07-12 09:33:12 + * Description:  This files is for + * + * Modify History: + * Ver   Who        Date         Changes + * ----- ------     --------    -------------------------------------- + */ +/***************************** Include Files *********************************/ +#include +#include +#include "strto.h" +#include "sdkconfig.h" + +#include "FreeRTOS.h" + +#include "../src/shell.h" +#include "sd_read_write.h" +/************************** Constant Definitions *****************************/ + +/**************************** Type Definitions *******************************/ + +/***************** Macros (Inline Functions) Definitions *********************/ + +/************************** Function Prototypes ******************************/ + +/************************** Variable Definitions *****************************/ + +/*****************************************************************************/ +static void SdCmdUsage() +{ + printf("usage:\r\n"); + printf(" sd rw \r\n"); + printf(" -- demo read and write by sdmmc\r\n"); +} + +static int SdCmdEntry(int argc, char *argv[]) +{ + int ret = 0; + + if (argc < 2) + { + SdCmdUsage(); + return -1; + } + + if (!strcmp(argv[1], "wr")) + { + u32 sdio_id = FSDIO_HOST_INSTANCE_1; + boolean is_emmc = FALSE; + u32 start_blk = 0U; + u32 blk_num = 2U; + + if (argc > 2) + { + sdio_id = (u32)simple_strtoul(argv[2], NULL, 10); /* sdio instance id */ + } + + if (argc > 3) + { + if (!strcmp(argv[3], "emmc")) /* probe medium as emmc */ + { + is_emmc = TRUE; + } + else if (!strcmp(argv[3], "tf")) /* probe medium as tf card */ + { + is_emmc = FALSE; + } + } + + if (argc > 4) + { + start_blk = (u32)simple_strtoul(argv[4], NULL, 10); + } + + if (argc > 5) + { + blk_num = (u32)simple_strtoul(argv[5], NULL, 10); + } + + BaseType_t task_ret = FFreeRTOSSdWriteRead(sdio_id, is_emmc, start_blk, blk_num); + if (pdPASS != task_ret) + return -2; + } + + return 0; +} +SHELL_EXPORT_CMD(SHELL_CMD_TYPE(SHELL_TYPE_CMD_MAIN), sd, SdCmdEntry, test freertos sd rw); \ No newline at end of file diff --git a/example/peripheral/sdio/src/sd_read_write.c b/example/peripheral/sdio/src/sd_read_write.c new file mode 100644 index 00000000..5cff1ad5 --- /dev/null +++ b/example/peripheral/sdio/src/sd_read_write.c @@ -0,0 +1,316 @@ +/* + * Copyright : (C) 2022 Phytium Information Technology, Inc. + * All Rights Reserved. + * + * This program is OPEN SOURCE software: you can redistribute it and/or modify it + * under the terms of the Phytium Public License as published by the Phytium Technology Co.,Ltd, + * either version 1.0 of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful,but WITHOUT ANY WARRANTY; + * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + * See the Phytium Public License for more details. + * + * + * FilePath: sd_read_write.c + * Date: 2022-07-25 15:58:24 + * LastEditTime: 2022-07-25 15:58:25 + * Description:  This files is for + * + * Modify History: + * Ver   Who        Date         Changes + * ----- ------     --------    -------------------------------------- + */ +/***************************** Include Files *********************************/ +#include +#include + +#include "FreeRTOS.h" +#include "task.h" + +#include "ft_assert.h" +#include "ft_debug.h" +#include "fsleep.h" +#include "kernel.h" +#include "cache.h" + +#include "fsdio_os.h" +/************************** Constant Definitions *****************************/ +#define SD_WR_BUF_LEN 4096 +#define SD_EVT_INIT_DONE (0x1 << 0) +#define SD_EVT_WRITE_DONE (0x1 << 1) +#define SD_EVT_READ_DONE (0x1 << 2) +/************************** Variable Definitions *****************************/ +static u8 sd_write_buffer[SD_WR_BUF_LEN] = {0}; +static u8 sd_read_buffer[SD_WR_BUF_LEN] = {0}; +static u32 sd_slot = 0U; +static EventGroupHandle_t sync = NULL; +static TaskHandle_t write_task = NULL; +static TaskHandle_t read_task = NULL; +static TimerHandle_t exit_timer = NULL; +static FFreeRTOSSdio *sdio = NULL; +static FFreeRTOSSdioConifg sdio_config = +{ + .en_dma = TRUE, + .medium_type = FFREERTOS_SDIO_MEDIUM_TF, + .card_detect_handler = NULL, + .card_detect_args = NULL +}; +static FFreeRTOSSdioMessage read_message = +{ + .buf = sd_read_buffer, + .buf_len = SD_WR_BUF_LEN, + .start_block = 0U, + .block_num = 3U, + .trans_type = FFREERTOS_SDIO_TRANS_READ +}; +static FFreeRTOSSdioMessage write_message = +{ + .buf = sd_write_buffer, + .buf_len = SD_WR_BUF_LEN, + .start_block = 0U, + .block_num = 3U, + .trans_type = FFREERTOS_SDIO_TRANS_WRITE +}; +static u32 run_times = 3U; +static boolean is_running = FALSE; +/***************** Macros (Inline Functions) Definitions *********************/ +#define FSDIO_DEBUG_TAG "FSDIO-SD" +#define FSDIO_ERROR(format, ...) FT_DEBUG_PRINT_E(FSDIO_DEBUG_TAG, format, ##__VA_ARGS__) +#define FSDIO_WARN(format, ...) FT_DEBUG_PRINT_W(FSDIO_DEBUG_TAG, format, ##__VA_ARGS__) +#define FSDIO_INFO(format, ...) FT_DEBUG_PRINT_I(FSDIO_DEBUG_TAG, format, ##__VA_ARGS__) +#define FSDIO_DEBUG(format, ...) FT_DEBUG_PRINT_D(FSDIO_DEBUG_TAG, format, ##__VA_ARGS__) + +/************************** Function Prototypes ******************************/ + +/*****************************************************************************/ +static void SDExitCallback(TimerHandle_t timer) +{ + FError err = FT_SUCCESS; + printf("exiting.....\r\n"); + + if (write_task) + { + vTaskDelete(write_task); + write_task = NULL; + } + + if (read_task) + { + vTaskDelete(read_task); + read_task = NULL; + } + + if (sync) + { + vEventGroupDelete(sync); + sync = NULL; + } + + if (sdio) + { + err = FFreeRTOSSdioDeInit(sdio); + sdio = NULL; + } + + if (pdPASS != xTimerDelete(timer, 0)) /* delete timer ifself */ + { + FSDIO_ERROR("delete exit timer failed !!!"); + exit_timer = NULL; + } + + is_running = FALSE; +} + +static void SDSendEvent(u32 evt_bits) +{ + FASSERT(sync); + BaseType_t x_result = pdFALSE; + + FSDIO_DEBUG("ack evt 0x%x", evt_bits); + x_result = xEventGroupSetBits(sync, evt_bits); +} + +static boolean SDWaitEvent(u32 evt_bits, TickType_t wait_delay) +{ + FASSERT(sync); + EventBits_t ev; + ev = xEventGroupWaitBits(sync, evt_bits, + pdTRUE, pdFALSE, wait_delay); /* wait for cmd/data done */ + if (ev & evt_bits) + { + return TRUE; + } + + return FALSE; +} + +static void SDInitTask(void * args) +{ + sdio = FFreeRTOSSdioInit(sd_slot, &sdio_config); + if (NULL == sdio) + { + FSDIO_ERROR("init sdio failed !!!"); + goto task_exit; + } + + SDSendEvent(SD_EVT_INIT_DONE); + +task_exit: + vTaskDelete(NULL); /* delete task itself */ +} + +static void SDReadTask(void * args) +{ + u32 times = 0U; + const TickType_t wait_delay = pdMS_TO_TICKS(5000UL); /* wait for 5 seconds */ + const uintptr trans_len = read_message.block_num * FFREERTOS_SDIO_BLOCK_SIZE; + + FASSERT_MSG(trans_len <= SD_WR_BUF_LEN, "trans length exceed buffer limits"); + + for (;;) + { + /* wait write finish to get the updated contents */ + if (!SDWaitEvent(SD_EVT_WRITE_DONE, portMAX_DELAY)) + { + FSDIO_ERROR("sdio read timeout !!!"); + goto task_exit; + } + + printf("start read ...\r\n"); + + memset(read_message.buf, 0U, trans_len); + FError err = FFreeRTOSSdioTransfer(sdio, &read_message); + if (FFREERTOS_SDIO_OK != err) + { + FSDIO_ERROR("sdio read failed !!!"); + goto task_exit; + } + + FCacheDCacheFlushRange((uintptr)(void *)read_message.buf, trans_len); + printf("==>Read from Block [%d:%d]\r\n", + read_message.start_block, + read_message.start_block + read_message.block_num); + + FtDumpHexByte(read_message.buf, trans_len); + + SDSendEvent(SD_EVT_READ_DONE); /* send read finish singal */ + vTaskDelay(wait_delay); + + if (++times > run_times) + break; + } + +task_exit: + printf("exit from read task \r\n"); + vTaskSuspend(NULL); /* suspend task */ +} + +static void SDWriteTask(void * args) +{ + u32 times = 0U; + const TickType_t wait_delay = pdMS_TO_TICKS(2000UL); /* wait for 2 seconds */ + FError err; + const uintptr trans_len = write_message.block_num * FFREERTOS_SDIO_BLOCK_SIZE; + char ch = 'A'; + + FASSERT_MSG(trans_len <= SD_WR_BUF_LEN, "trans length exceed buffer limits"); + SDWaitEvent(SD_EVT_INIT_DONE, portMAX_DELAY); + + for (;;) + { + printf("start write ...\r\n"); + memset(write_message.buf, (ch + times), trans_len); + FCacheDCacheInvalidateRange((uintptr)(void *)write_message.buf, trans_len); + printf("==>Write %c to Block [%d:%d]\r\n", + ch, write_message.start_block, + write_message.start_block + write_message.block_num); + + err = FFreeRTOSSdioTransfer(sdio, &write_message); + if (FFREERTOS_SDIO_OK != err) + { + FSDIO_ERROR("sdio write failed !!!"); + goto task_exit; + } + + SDSendEvent(SD_EVT_WRITE_DONE); /* send write finish signal */ + vTaskDelay(wait_delay); + SDWaitEvent(SD_EVT_READ_DONE, portMAX_DELAY); /* wait until read done and go on next write */ + + if (++times > run_times) + break; + } + +task_exit: + printf("exit from write task \r\n"); + vTaskSuspend(NULL); /* suspend task */ +} + +BaseType_t FFreeRTOSSdWriteRead(u32 slot_id, boolean is_emmc, u32 start_blk, u32 blk_num) +{ + BaseType_t ret = pdPASS; + const TickType_t total_run_time = pdMS_TO_TICKS(30000UL); /* run for 10 secs deadline */ + + if (is_running) + { + FSDIO_ERROR("task is running !!!!"); + return pdPASS; + } + + is_running = TRUE; + + printf("sd write read task\r\n"); + + FASSERT_MSG(NULL == sync, "event group exists !!!"); + FASSERT_MSG((sync = xEventGroupCreate()) != NULL, "create event group failed !!!"); + + sd_slot = slot_id; + sdio_config.medium_type = is_emmc ? FFREERTOS_SDIO_MEDIUM_EMMC: FFREERTOS_SDIO_MEDIUM_TF; + + read_message.start_block = start_blk; + read_message.block_num = blk_num; + write_message.start_block = start_blk; + write_message.block_num = blk_num; + taskENTER_CRITICAL(); /* no schedule when create task */ + + ret = xTaskCreate((TaskFunction_t )SDInitTask, + (const char* )"SDInitTask", + (uint16_t )2048, + NULL, + (UBaseType_t )configMAX_PRIORITIES - 1, + NULL); + FASSERT_MSG(pdPASS == ret, "create task failed"); + + ret = xTaskCreate((TaskFunction_t )SDWriteTask, + (const char* )"SDWriteTask", + (uint16_t )2048, + NULL, + (UBaseType_t )configMAX_PRIORITIES - 2, + &write_task); + + FASSERT_MSG(pdPASS == ret, "create task failed"); + + ret = xTaskCreate((TaskFunction_t )SDReadTask, + (const char* )"SDReadTask", + (uint16_t )2048, + NULL, + (UBaseType_t )configMAX_PRIORITIES - 2, + &read_task); + + FASSERT_MSG(pdPASS == ret, "create task failed"); + + exit_timer = xTimerCreate("Exit-Timer", /* Text name for the software timer - not used by FreeRTOS. */ + total_run_time, /* The software timer's period in ticks. */ + pdFALSE, /* Setting uxAutoRealod to pdFALSE creates a one-shot software timer. */ + NULL, /* use timer id to pass task data for reference. */ + SDExitCallback); /* The callback function to be used by the software timer being created. */ + + FASSERT_MSG(NULL != exit_timer, "create exit timer failed"); + + taskEXIT_CRITICAL(); /* allow schedule since task created */ + + ret = xTimerStart(exit_timer, 0); /* start */ + + FASSERT_MSG(pdPASS == ret, "start exit timer failed"); + + return ret; +} \ No newline at end of file diff --git a/example/peripheral/spi/Kconfig b/example/peripheral/spi/Kconfig new file mode 100644 index 00000000..0277fb85 --- /dev/null +++ b/example/peripheral/spi/Kconfig @@ -0,0 +1,19 @@ +# +# For a description of the syntax of this configuration file, +# see tools/kconfiglib/kconfig-language.txt. +# + + +mainmenu "Phytium Freertos Configuration" + + menu "Freertos Configuration" + config TARGET_NAME + string "Build Target Name" + default "freertos" + help + Build Target name for the demo + +endmenu + +source "$(FREERTOS_SDK_ROOT)/Kconfig" + diff --git a/example/peripheral/spi/README.md b/example/peripheral/spi/README.md new file mode 100644 index 00000000..4db99f5c --- /dev/null +++ b/example/peripheral/spi/README.md @@ -0,0 +1,139 @@ +# SFUD读写测试 + +## 1. 例程介绍 + +[SFUD](https://gitee.com/Armink/SFUD) 是一款串行 SPI Flash 通用驱动库,设计的主要目标是屏蔽不同串行 Flash 的规格和命令差异,使用 SFUD 的接口可以在一套驱动和应用程序的基础上支持多种 Flash, 同时简化新增 Flash 的复杂度 + +本例程通过 SPI 主设备驱动和 SFUD 通用协议框架,支持在nor flash进行读写 + +## 2. 如何使用例程 + +本例程需要用到 +- Phytium开发板(E2000) +- [Phytium FreeRTOS SDK](https://gitee.com/phytium_embedded/phytium-free-rtos-sdk) +- [Phytium Standalone SDK](https://gitee.com/phytium_embedded/phytium-standalone-sdk) + +### 2.1 硬件配置方法 + +本例程支持的硬件平台包括 + +- E2000 + +对应的配置项是, + +- CONFIG_TARGET_E2000 + +本例程在 E2000-测试板A上完成测试 + +### 2.2 SDK配置方法 + +本例程需要, + +- 使能Shell +- 使能SPI +- 使能SFUD + +对应的配置项是, + +- CONFIG_USE_LETTER_SHELL +- CONFIG_USE_S25FS256 +- CONFIG_FREERTOS_USE_QSPI + +本例子已经提供好具体的编译指令,以下进行介绍: +- make load_e2000q_aarch64 将预设64bit e2000q 下的配置加载至工程中 +- make load_e2000q_aarch32 将预设32bit e2000q 下的配置加载至工程中 +- make 将目录下的工程进行编译 +- make clean 将目录下的工程进行清理 +- make boot 将目录下的工程进行编译,并将生成的elf 复制到目标地址 +- make menuconfig 配置目录下的参数变量 +- make backup_kconfig 将目录下的sdkconfig 备份到./configs下 + +具体使用方法为: +- 在当前目录下 +- 执行以上指令 + +### 2.3 构建和下载 + +#### 2.3.1 构建过程 + +- 在host侧完成配置 +> 配置成 e2000q,对于其它平台,使用对于的默认配置,如, + +- 选择目标平台 +``` +make load_e2000q_aarch64 +``` + +- 选择例程需要的配置 +``` +make menuconfig +``` + +- 进行编译 +``` +make +``` + +- 将编译出的镜像放置到tftp目录下 +``` +make boot +``` + +#### 2.3.2 下载过程 + +- host侧设置重启host侧tftp服务器 +``` +sudo service tftpd-hpa restart +``` + +- 开发板侧使用bootelf命令跳转 +``` +setenv ipaddr 192.168.4.20 +setenv serverip 192.168.4.50 +setenv gatewayip 192.168.4.1 +tftpboot 0xa0100000 freertos.elf +bootelf -p 0xa0100000 +``` + +### 2.4 输出与实验现象 + +- 系统进入后,创建任务初始化sfud, 读取flash id信息 + +``` +sf probe +``` + +![probe](./figs/probe.png) + +- 初始化成功后,在flash的偏移量0x20位置,写入一段不带空格的连续字符串,如‘write-spi-nor-flash-from-freertos-sfud’ + +``` +sf write 0x10 ‘write-spi-nor-flash-from-freertos-sfud’ +``` + +- 写入成功后,从flash的偏移量0x0开始,读取64个字节 + +``` +sf read 0x0 +``` + +![write read](./figs/wr_rd.png) + + +## 3. 如何解决问题 + +- Q: 如何适配新的的 nor flash +- A: 本例程的测试基于 博雅的 BY25Q64BS 系列 nor flash 完成,对于其它支持 SFDP 的 nor flash,可能不需要特别适配就可以使用,如果 SFDP 信息获取失败,可以参考 "BY25Q64BS" 的适配方法,将 nor flash 的信息加入 SFUD 的 SFUD_FLASH_CHIP_TABLE,加入成功后应该就可以使用 + +- Q: 如何设置 spi 的采样相位 +- A: 博雅的 BY25Q64BS 系列 nor flash,支持的采样相位设置为模式0(CPOL = 0, CPHA = 0)和模式3(CPOL = 1, CPHA = 1),对于其它 nor flash,需要查阅手册,在 sfud_port.c 进行对应的修改 + +> 如下图所示,是 BY25Q64BS 支持的采样相位模式 + +![spi mode](./figs/spi_mode.png) + +## 4. 修改历史记录 + + + + diff --git a/example/peripheral/spi/configs/e2000d_aarch32_eg_configs b/example/peripheral/spi/configs/e2000d_aarch32_eg_configs new file mode 100644 index 00000000..d40ac757 --- /dev/null +++ b/example/peripheral/spi/configs/e2000d_aarch32_eg_configs @@ -0,0 +1,209 @@ + +# +# Freertos Configuration +# +CONFIG_TARGET_NAME="e2000d_freertos_a32" +# end of Freertos Configuration + +# +# Standalone Setting +# +CONFIG_USE_FREERTOS=y + +# +# Arch Configuration +# +CONFIG_TARGET_ARMV8_AARCH32=y +# CONFIG_TARGET_ARMV8_AARCH64 is not set +CONFIG_USE_CACHE=y +CONFIG_USE_MMU=y +CONFIG_USE_SYS_TICK=y +CONFIG_USE_AARCH64_L1_TO_AARCH32=y +# end of Arch Configuration + +# +# Board Configuration +# +# CONFIG_TARGET_F2000_4 is not set +# CONFIG_TARGET_D2000 is not set +# CONFIG_TARGET_E2000Q is not set +CONFIG_TARGET_E2000D=y +# CONFIG_TARGET_E2000S is not set +CONFIG_TARGET_E2000=y +CONFIG_DEFAULT_DEBUG_PRINT_UART1=y +# CONFIG_DEFAULT_DEBUG_PRINT_UART0 is not set +# CONFIG_DEFAULT_DEBUG_PRINT_UART2 is not set +# end of Board Configuration + +# +# Components Configuration +# +CONFIG_USE_SPI=y +CONFIG_USE_FSPIM=y +# CONFIG_USE_QSPI is not set +CONFIG_USE_GIC=y +CONFIG_ENABLE_GICV3=y +CONFIG_USE_SERIAL=y + +# +# Usart Configuration +# +CONFIG_ENABLE_Pl011_UART=y +# end of Usart Configuration + +# CONFIG_USE_GPIO is not set +# CONFIG_USE_ETH is not set +# CONFIG_USE_CAN is not set +# CONFIG_USE_I2C is not set +# CONFIG_USE_TIMER is not set +# CONFIG_USE_MIO is not set +# CONFIG_USE_SDMMC is not set +# CONFIG_USE_PCIE is not set +# CONFIG_USE_WDT is not set +# CONFIG_USE_DMA is not set +# CONFIG_USE_NAND is not set +# CONFIG_USE_RTC is not set +# CONFIG_USE_SATA is not set +# CONFIG_USE_USB is not set +# CONFIG_USE_ADC is not set +# CONFIG_USE_PWM is not set +# CONFIG_USE_IPC is not set +# end of Components Configuration + +CONFIG_USE_NEW_LIBC=y +# end of Standalone Setting + +# +# Building Option +# +# CONFIG_LOG_VERBOS is not set +# CONFIG_LOG_DEBUG is not set +# CONFIG_LOG_INFO is not set +# CONFIG_LOG_WARN is not set +CONFIG_LOG_ERROR=y +# CONFIG_LOG_NONE is not set +CONFIG_USE_DEFAULT_INTERRUPT_CONFIG=y +CONFIG_INTERRUPT_ROLE_MASTER=y +# CONFIG_INTERRUPT_ROLE_SLAVE is not set +# CONFIG_LOG_EXTRA_INFO is not set +# CONFIG_BOOTUP_DEBUG_PRINTS is not set + +# +# Linker Options +# +CONFIG_AARCH32_RAM_LD=y +# CONFIG_AARCH64_RAM_LD is not set +# CONFIG_USER_DEFINED_LD is not set +CONFIG_LINK_SCRIPT_ROM=y +CONFIG_ROM_START_UP_ADDR=0x80100000 +CONFIG_ROM_SIZE_MB=1 +CONFIG_LINK_SCRIPT_RAM=y +CONFIG_RAM_START_UP_ADDR=0x81000000 +CONFIG_RAM_SIZE_MB=64 +CONFIG_HEAP_SIZE=1 +CONFIG_SVC_STACK_SIZE=0x1000 +CONFIG_SYS_STACK_SIZE=0x1000 +CONFIG_IRQ_STACK_SIZE=0x1000 +CONFIG_ABORT_STACK_SIZE=0x1000 +CONFIG_FIQ_STACK_SIZE=0x1000 +CONFIG_UNDEF_STACK_SIZE=0x1000 +# end of Linker Options + +# +# Compiler Options +# +CONFIG_OUTPUT_BINARY=y +# end of Compiler Options +# end of Building Option + +# +# Component Configuration +# + +# +# Freertos Uart Drivers +# +CONFIG_FREERTOS_USE_UART=y +# end of Freertos Uart Drivers + +# +# Freertos Pwm Drivers +# +# CONFIG_FREERTOS_USE_PWM is not set +# end of Freertos Pwm Drivers + +# +# Freertos Qspi Drivers +# +# CONFIG_FREERTOS_USE_QSPI is not set +# end of Freertos Qspi Drivers + +# +# Freertos Wdt Drivers +# +# CONFIG_FREERTOS_USE_WDT is not set +# end of Freertos Wdt Drivers + +# +# Freertos Eth Drivers +# +# CONFIG_FREERTOS_USE_XMAC is not set +# end of Freertos Eth Drivers + +# +# Freertos Gpio Drivers +# +# CONFIG_FREERTOS_USE_GPIO is not set +# end of Freertos Gpio Drivers + +# +# Freertos Spim Drivers +# +CONFIG_FREERTOS_USE_FSPIM=y +# end of Freertos Spim Drivers + +# +# Freertos DMA Drivers +# +# CONFIG_FREERTOS_USE_FDDMA is not set +# CONFIG_FREERTOS_USE_FGDMA is not set +# end of Freertos DMA Drivers + +# +# Freertos MMC Drivers +# +# CONFIG_FREERTOS_USE_FSDIO is not set +# end of Freertos MMC Drivers +# end of Component Configuration + +# +# FreeRTOS Setting +# +# CONFIG_USE_LWIP is not set +CONFIG_USE_BACKTRACE=y +# CONFIG_USE_FATFS is not set +CONFIG_USE_SFUD=y + +# +# SFUD Configuration +# +# CONFIG_SFUD_CTRL_FSPIM is not set +# CONFIG_SFUD_CTRL_FQSPI is not set +# end of SFUD Configuration + +# CONFIG_USE_SPIFFS is not set +# CONFIG_USE_AMP is not set +CONFIG_USE_LETTER_SHELL=y + +# +# Letter Shell Configuration +# +CONFIG_LS_PL011_UART=y +CONFIG_DEFAULT_LETTER_SHELL_USE_UART1=y +# CONFIG_DEFAULT_LETTER_SHELL_USE_UART0 is not set +# CONFIG_DEFAULT_LETTER_SHELL_USE_UART2 is not set +# end of Letter Shell Configuration + +# CONFIG_USE_TLSF is not set +# CONFIG_USE_SDMMC_CMD is not set +# end of FreeRTOS Setting diff --git a/example/peripheral/spi/configs/e2000d_aarch64_eg_configs b/example/peripheral/spi/configs/e2000d_aarch64_eg_configs new file mode 100644 index 00000000..bd600595 --- /dev/null +++ b/example/peripheral/spi/configs/e2000d_aarch64_eg_configs @@ -0,0 +1,205 @@ + +# +# Freertos Configuration +# +CONFIG_TARGET_NAME="e2000d_freertos_a64" +# end of Freertos Configuration + +# +# Standalone Setting +# +CONFIG_USE_FREERTOS=y + +# +# Arch Configuration +# +# CONFIG_TARGET_ARMV8_AARCH32 is not set +CONFIG_TARGET_ARMV8_AARCH64=y +CONFIG_USE_CACHE=y +CONFIG_USE_MMU=y +CONFIG_USE_SYS_TICK=y +# CONFIG_MMU_DEBUG_PRINTS is not set +# end of Arch Configuration + +# +# Board Configuration +# +# CONFIG_TARGET_F2000_4 is not set +# CONFIG_TARGET_D2000 is not set +# CONFIG_TARGET_E2000Q is not set +CONFIG_TARGET_E2000D=y +# CONFIG_TARGET_E2000S is not set +CONFIG_TARGET_E2000=y +CONFIG_DEFAULT_DEBUG_PRINT_UART1=y +# CONFIG_DEFAULT_DEBUG_PRINT_UART0 is not set +# CONFIG_DEFAULT_DEBUG_PRINT_UART2 is not set +# end of Board Configuration + +# +# Components Configuration +# +CONFIG_USE_SPI=y +CONFIG_USE_FSPIM=y +# CONFIG_USE_QSPI is not set +CONFIG_USE_GIC=y +CONFIG_ENABLE_GICV3=y +CONFIG_USE_SERIAL=y + +# +# Usart Configuration +# +CONFIG_ENABLE_Pl011_UART=y +# end of Usart Configuration + +# CONFIG_USE_GPIO is not set +# CONFIG_USE_ETH is not set +# CONFIG_USE_CAN is not set +# CONFIG_USE_I2C is not set +# CONFIG_USE_TIMER is not set +# CONFIG_USE_MIO is not set +# CONFIG_USE_SDMMC is not set +# CONFIG_USE_PCIE is not set +# CONFIG_USE_WDT is not set +# CONFIG_USE_DMA is not set +# CONFIG_USE_NAND is not set +# CONFIG_USE_RTC is not set +# CONFIG_USE_SATA is not set +# CONFIG_USE_USB is not set +# CONFIG_USE_ADC is not set +# CONFIG_USE_PWM is not set +# CONFIG_USE_IPC is not set +# end of Components Configuration + +CONFIG_USE_NEW_LIBC=y +# end of Standalone Setting + +# +# Building Option +# +# CONFIG_LOG_VERBOS is not set +# CONFIG_LOG_DEBUG is not set +# CONFIG_LOG_INFO is not set +# CONFIG_LOG_WARN is not set +CONFIG_LOG_ERROR=y +# CONFIG_LOG_NONE is not set +CONFIG_USE_DEFAULT_INTERRUPT_CONFIG=y +CONFIG_INTERRUPT_ROLE_MASTER=y +# CONFIG_INTERRUPT_ROLE_SLAVE is not set +CONFIG_LOG_EXTRA_INFO=y +# CONFIG_BOOTUP_DEBUG_PRINTS is not set + +# +# Linker Options +# +# CONFIG_AARCH32_RAM_LD is not set +CONFIG_AARCH64_RAM_LD=y +# CONFIG_USER_DEFINED_LD is not set +CONFIG_LINK_SCRIPT_ROM=y +CONFIG_ROM_START_UP_ADDR=0x80100000 +CONFIG_ROM_SIZE_MB=1 +CONFIG_LINK_SCRIPT_RAM=y +CONFIG_RAM_START_UP_ADDR=0x81000000 +CONFIG_RAM_SIZE_MB=64 +CONFIG_HEAP_SIZE=1 +CONFIG_STACK_SIZE=0x100000 +CONFIG_FPU_STACK_SIZE=0x1000 +# end of Linker Options + +# +# Compiler Options +# +CONFIG_OUTPUT_BINARY=y +# end of Compiler Options +# end of Building Option + +# +# Component Configuration +# + +# +# Freertos Uart Drivers +# +CONFIG_FREERTOS_USE_UART=y +# end of Freertos Uart Drivers + +# +# Freertos Pwm Drivers +# +# CONFIG_FREERTOS_USE_PWM is not set +# end of Freertos Pwm Drivers + +# +# Freertos Qspi Drivers +# +# CONFIG_FREERTOS_USE_QSPI is not set +# end of Freertos Qspi Drivers + +# +# Freertos Wdt Drivers +# +# CONFIG_FREERTOS_USE_WDT is not set +# end of Freertos Wdt Drivers + +# +# Freertos Eth Drivers +# +# CONFIG_FREERTOS_USE_XMAC is not set +# end of Freertos Eth Drivers + +# +# Freertos Gpio Drivers +# +# CONFIG_FREERTOS_USE_GPIO is not set +# end of Freertos Gpio Drivers + +# +# Freertos Spim Drivers +# +CONFIG_FREERTOS_USE_FSPIM=y +# end of Freertos Spim Drivers + +# +# Freertos DMA Drivers +# +# CONFIG_FREERTOS_USE_FDDMA is not set +# CONFIG_FREERTOS_USE_FGDMA is not set +# end of Freertos DMA Drivers + +# +# Freertos MMC Drivers +# +# CONFIG_FREERTOS_USE_FSDIO is not set +# end of Freertos MMC Drivers +# end of Component Configuration + +# +# FreeRTOS Setting +# +# CONFIG_USE_LWIP is not set +CONFIG_USE_BACKTRACE=y +# CONFIG_USE_FATFS is not set +CONFIG_USE_SFUD=y + +# +# SFUD Configuration +# +CONFIG_SFUD_CTRL_FSPIM=y +# CONFIG_SFUD_CTRL_FQSPI is not set +# end of SFUD Configuration + +# CONFIG_USE_SPIFFS is not set +# CONFIG_USE_AMP is not set +CONFIG_USE_LETTER_SHELL=y + +# +# Letter Shell Configuration +# +CONFIG_LS_PL011_UART=y +CONFIG_DEFAULT_LETTER_SHELL_USE_UART1=y +# CONFIG_DEFAULT_LETTER_SHELL_USE_UART0 is not set +# CONFIG_DEFAULT_LETTER_SHELL_USE_UART2 is not set +# end of Letter Shell Configuration + +CONFIG_USE_TLSF=y +# CONFIG_USE_SDMMC_CMD is not set +# end of FreeRTOS Setting diff --git a/example/peripheral/spi/figs/probe.png b/example/peripheral/spi/figs/probe.png new file mode 100644 index 0000000000000000000000000000000000000000..5da9c408cd2c4f990093b72d57e08531778ba6c5 GIT binary patch literal 7251 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 C=TPDR literal 0 HcmV?d00001 diff --git a/example/peripheral/spi/figs/spi_mode.png b/example/peripheral/spi/figs/spi_mode.png new file mode 100644 index 0000000000000000000000000000000000000000..97d4161ca4abedd372cb59b5144818455a6cf647 GIT binary patch literal 54617 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 literal 0 HcmV?d00001 diff --git a/example/peripheral/spi/figs/wr_rd.png b/example/peripheral/spi/figs/wr_rd.png new file mode 100644 index 0000000000000000000000000000000000000000..9ad3d211748dc479a956f12754d7b8987fe35abe GIT binary patch literal 20837 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 + +int main(void) +{ + BaseType_t ret; + + printf("enter main function \r\n"); + + ret = LSUserShellTask() ; + if(ret != pdPASS) + goto FAIL_EXIT; + + /* + ret = FFreeRTOSSfudInit(); + if(ret != pdPASS) + goto FAIL_EXIT; + + ret = FFreeRTOSSfudWrite(0x20, "hello-sfud"); + if(ret != pdPASS) + goto FAIL_EXIT; + + ret = FFreeRTOSSfudRead(0x20); + if(ret != pdPASS) + goto FAIL_EXIT; + */ + + vTaskStartScheduler(); /* 启动任务,开启调度 */ + while (1); /* 正常不会执行到这里 */ + +FAIL_EXIT: + printf("failed 0x%x \r\n", ret); + return 0; +} diff --git a/example/peripheral/spi/makefile b/example/peripheral/spi/makefile new file mode 100644 index 00000000..d5622739 --- /dev/null +++ b/example/peripheral/spi/makefile @@ -0,0 +1,29 @@ +export PROJECT_DIR ?= $(shell pwd) + +export USR_SRC_DIR = $(PROJECT_DIR) \ + ./src +export USR_INC_DIR = $(PROJECT_DIR) \ + ./inc + +# 用户定义的编译目标文件上传路径 +ifeq ($(OS),Windows_NT) + USR_BOOT_DIR ?= $(subst \,/, $(PHYTIUM_DEV_PATH))/tftp +else + USR_BOOT_DIR ?= /mnt/d/tftboot +endif + + +# 设置启动镜像名 +BOOT_IMG_NAME ?= freertos + +# 指定编译freertos项目使用的makefile +include $(FREERTOS_SDK_ROOT)/make/build_freertos.mk + +# 完成编译 +boot: + make -j + @cp ./$(CONFIG_TARGET_NAME).elf $(USR_BOOT_DIR)/$(BOOT_IMG_NAME).elf + @cp ./$(CONFIG_TARGET_NAME).bin $(USR_BOOT_DIR)/$(BOOT_IMG_NAME).bin + @ls -l $(USR_BOOT_DIR)/$(BOOT_IMG_NAME).* + + diff --git a/example/peripheral/spi/sdkconfig b/example/peripheral/spi/sdkconfig new file mode 100644 index 00000000..bd600595 --- /dev/null +++ b/example/peripheral/spi/sdkconfig @@ -0,0 +1,205 @@ + +# +# Freertos Configuration +# +CONFIG_TARGET_NAME="e2000d_freertos_a64" +# end of Freertos Configuration + +# +# Standalone Setting +# +CONFIG_USE_FREERTOS=y + +# +# Arch Configuration +# +# CONFIG_TARGET_ARMV8_AARCH32 is not set +CONFIG_TARGET_ARMV8_AARCH64=y +CONFIG_USE_CACHE=y +CONFIG_USE_MMU=y +CONFIG_USE_SYS_TICK=y +# CONFIG_MMU_DEBUG_PRINTS is not set +# end of Arch Configuration + +# +# Board Configuration +# +# CONFIG_TARGET_F2000_4 is not set +# CONFIG_TARGET_D2000 is not set +# CONFIG_TARGET_E2000Q is not set +CONFIG_TARGET_E2000D=y +# CONFIG_TARGET_E2000S is not set +CONFIG_TARGET_E2000=y +CONFIG_DEFAULT_DEBUG_PRINT_UART1=y +# CONFIG_DEFAULT_DEBUG_PRINT_UART0 is not set +# CONFIG_DEFAULT_DEBUG_PRINT_UART2 is not set +# end of Board Configuration + +# +# Components Configuration +# +CONFIG_USE_SPI=y +CONFIG_USE_FSPIM=y +# CONFIG_USE_QSPI is not set +CONFIG_USE_GIC=y +CONFIG_ENABLE_GICV3=y +CONFIG_USE_SERIAL=y + +# +# Usart Configuration +# +CONFIG_ENABLE_Pl011_UART=y +# end of Usart Configuration + +# CONFIG_USE_GPIO is not set +# CONFIG_USE_ETH is not set +# CONFIG_USE_CAN is not set +# CONFIG_USE_I2C is not set +# CONFIG_USE_TIMER is not set +# CONFIG_USE_MIO is not set +# CONFIG_USE_SDMMC is not set +# CONFIG_USE_PCIE is not set +# CONFIG_USE_WDT is not set +# CONFIG_USE_DMA is not set +# CONFIG_USE_NAND is not set +# CONFIG_USE_RTC is not set +# CONFIG_USE_SATA is not set +# CONFIG_USE_USB is not set +# CONFIG_USE_ADC is not set +# CONFIG_USE_PWM is not set +# CONFIG_USE_IPC is not set +# end of Components Configuration + +CONFIG_USE_NEW_LIBC=y +# end of Standalone Setting + +# +# Building Option +# +# CONFIG_LOG_VERBOS is not set +# CONFIG_LOG_DEBUG is not set +# CONFIG_LOG_INFO is not set +# CONFIG_LOG_WARN is not set +CONFIG_LOG_ERROR=y +# CONFIG_LOG_NONE is not set +CONFIG_USE_DEFAULT_INTERRUPT_CONFIG=y +CONFIG_INTERRUPT_ROLE_MASTER=y +# CONFIG_INTERRUPT_ROLE_SLAVE is not set +CONFIG_LOG_EXTRA_INFO=y +# CONFIG_BOOTUP_DEBUG_PRINTS is not set + +# +# Linker Options +# +# CONFIG_AARCH32_RAM_LD is not set +CONFIG_AARCH64_RAM_LD=y +# CONFIG_USER_DEFINED_LD is not set +CONFIG_LINK_SCRIPT_ROM=y +CONFIG_ROM_START_UP_ADDR=0x80100000 +CONFIG_ROM_SIZE_MB=1 +CONFIG_LINK_SCRIPT_RAM=y +CONFIG_RAM_START_UP_ADDR=0x81000000 +CONFIG_RAM_SIZE_MB=64 +CONFIG_HEAP_SIZE=1 +CONFIG_STACK_SIZE=0x100000 +CONFIG_FPU_STACK_SIZE=0x1000 +# end of Linker Options + +# +# Compiler Options +# +CONFIG_OUTPUT_BINARY=y +# end of Compiler Options +# end of Building Option + +# +# Component Configuration +# + +# +# Freertos Uart Drivers +# +CONFIG_FREERTOS_USE_UART=y +# end of Freertos Uart Drivers + +# +# Freertos Pwm Drivers +# +# CONFIG_FREERTOS_USE_PWM is not set +# end of Freertos Pwm Drivers + +# +# Freertos Qspi Drivers +# +# CONFIG_FREERTOS_USE_QSPI is not set +# end of Freertos Qspi Drivers + +# +# Freertos Wdt Drivers +# +# CONFIG_FREERTOS_USE_WDT is not set +# end of Freertos Wdt Drivers + +# +# Freertos Eth Drivers +# +# CONFIG_FREERTOS_USE_XMAC is not set +# end of Freertos Eth Drivers + +# +# Freertos Gpio Drivers +# +# CONFIG_FREERTOS_USE_GPIO is not set +# end of Freertos Gpio Drivers + +# +# Freertos Spim Drivers +# +CONFIG_FREERTOS_USE_FSPIM=y +# end of Freertos Spim Drivers + +# +# Freertos DMA Drivers +# +# CONFIG_FREERTOS_USE_FDDMA is not set +# CONFIG_FREERTOS_USE_FGDMA is not set +# end of Freertos DMA Drivers + +# +# Freertos MMC Drivers +# +# CONFIG_FREERTOS_USE_FSDIO is not set +# end of Freertos MMC Drivers +# end of Component Configuration + +# +# FreeRTOS Setting +# +# CONFIG_USE_LWIP is not set +CONFIG_USE_BACKTRACE=y +# CONFIG_USE_FATFS is not set +CONFIG_USE_SFUD=y + +# +# SFUD Configuration +# +CONFIG_SFUD_CTRL_FSPIM=y +# CONFIG_SFUD_CTRL_FQSPI is not set +# end of SFUD Configuration + +# CONFIG_USE_SPIFFS is not set +# CONFIG_USE_AMP is not set +CONFIG_USE_LETTER_SHELL=y + +# +# Letter Shell Configuration +# +CONFIG_LS_PL011_UART=y +CONFIG_DEFAULT_LETTER_SHELL_USE_UART1=y +# CONFIG_DEFAULT_LETTER_SHELL_USE_UART0 is not set +# CONFIG_DEFAULT_LETTER_SHELL_USE_UART2 is not set +# end of Letter Shell Configuration + +CONFIG_USE_TLSF=y +# CONFIG_USE_SDMMC_CMD is not set +# end of FreeRTOS Setting diff --git a/example/peripheral/spi/sdkconfig.h b/example/peripheral/spi/sdkconfig.h new file mode 100644 index 00000000..ea6e69f7 --- /dev/null +++ b/example/peripheral/spi/sdkconfig.h @@ -0,0 +1,182 @@ +#ifndef SDK_CONFIG_H__ +#define SDK_CONFIG_H__ + +/* Freertos Configuration */ + +#define CONFIG_TARGET_NAME "e2000d_freertos_a64" +/* end of Freertos Configuration */ + +/* Standalone Setting */ + +#define CONFIG_USE_FREERTOS + +/* Arch Configuration */ + +/* CONFIG_TARGET_ARMV8_AARCH32 is not set */ +#define CONFIG_TARGET_ARMV8_AARCH64 +#define CONFIG_USE_CACHE +#define CONFIG_USE_MMU +#define CONFIG_USE_SYS_TICK +/* CONFIG_MMU_DEBUG_PRINTS is not set */ +/* end of Arch Configuration */ + +/* Board Configuration */ + +/* CONFIG_TARGET_F2000_4 is not set */ +/* CONFIG_TARGET_D2000 is not set */ +/* CONFIG_TARGET_E2000Q is not set */ +#define CONFIG_TARGET_E2000D +/* CONFIG_TARGET_E2000S is not set */ +#define CONFIG_TARGET_E2000 +#define CONFIG_DEFAULT_DEBUG_PRINT_UART1 +/* CONFIG_DEFAULT_DEBUG_PRINT_UART0 is not set */ +/* CONFIG_DEFAULT_DEBUG_PRINT_UART2 is not set */ +/* end of Board Configuration */ + +/* Components Configuration */ + +#define CONFIG_USE_SPI +#define CONFIG_USE_FSPIM +/* CONFIG_USE_QSPI is not set */ +#define CONFIG_USE_GIC +#define CONFIG_ENABLE_GICV3 +#define CONFIG_USE_SERIAL + +/* Usart Configuration */ + +#define CONFIG_ENABLE_Pl011_UART +/* end of Usart Configuration */ +/* CONFIG_USE_GPIO is not set */ +/* CONFIG_USE_ETH is not set */ +/* CONFIG_USE_CAN is not set */ +/* CONFIG_USE_I2C is not set */ +/* CONFIG_USE_TIMER is not set */ +/* CONFIG_USE_MIO is not set */ +/* CONFIG_USE_SDMMC is not set */ +/* CONFIG_USE_PCIE is not set */ +/* CONFIG_USE_WDT is not set */ +/* CONFIG_USE_DMA is not set */ +/* CONFIG_USE_NAND is not set */ +/* CONFIG_USE_RTC is not set */ +/* CONFIG_USE_SATA is not set */ +/* CONFIG_USE_USB is not set */ +/* CONFIG_USE_ADC is not set */ +/* CONFIG_USE_PWM is not set */ +/* CONFIG_USE_IPC is not set */ +/* end of Components Configuration */ +#define CONFIG_USE_NEW_LIBC +/* end of Standalone Setting */ + +/* Building Option */ + +/* CONFIG_LOG_VERBOS is not set */ +/* CONFIG_LOG_DEBUG is not set */ +/* CONFIG_LOG_INFO is not set */ +/* CONFIG_LOG_WARN is not set */ +#define CONFIG_LOG_ERROR +/* CONFIG_LOG_NONE is not set */ +#define CONFIG_USE_DEFAULT_INTERRUPT_CONFIG +#define CONFIG_INTERRUPT_ROLE_MASTER +/* CONFIG_INTERRUPT_ROLE_SLAVE is not set */ +#define CONFIG_LOG_EXTRA_INFO +/* CONFIG_BOOTUP_DEBUG_PRINTS is not set */ + +/* Linker Options */ + +/* CONFIG_AARCH32_RAM_LD is not set */ +#define CONFIG_AARCH64_RAM_LD +/* CONFIG_USER_DEFINED_LD is not set */ +#define CONFIG_LINK_SCRIPT_ROM +#define CONFIG_ROM_START_UP_ADDR 0x80100000 +#define CONFIG_ROM_SIZE_MB 1 +#define CONFIG_LINK_SCRIPT_RAM +#define CONFIG_RAM_START_UP_ADDR 0x81000000 +#define CONFIG_RAM_SIZE_MB 64 +#define CONFIG_HEAP_SIZE 1 +#define CONFIG_STACK_SIZE 0x100000 +#define CONFIG_FPU_STACK_SIZE 0x1000 +/* end of Linker Options */ + +/* Compiler Options */ + +#define CONFIG_OUTPUT_BINARY +/* end of Compiler Options */ +/* end of Building Option */ + +/* Component Configuration */ + +/* Freertos Uart Drivers */ + +#define CONFIG_FREERTOS_USE_UART +/* end of Freertos Uart Drivers */ + +/* Freertos Pwm Drivers */ + +/* CONFIG_FREERTOS_USE_PWM is not set */ +/* end of Freertos Pwm Drivers */ + +/* Freertos Qspi Drivers */ + +/* CONFIG_FREERTOS_USE_QSPI is not set */ +/* end of Freertos Qspi Drivers */ + +/* Freertos Wdt Drivers */ + +/* CONFIG_FREERTOS_USE_WDT is not set */ +/* end of Freertos Wdt Drivers */ + +/* Freertos Eth Drivers */ + +/* CONFIG_FREERTOS_USE_XMAC is not set */ +/* end of Freertos Eth Drivers */ + +/* Freertos Gpio Drivers */ + +/* CONFIG_FREERTOS_USE_GPIO is not set */ +/* end of Freertos Gpio Drivers */ + +/* Freertos Spim Drivers */ + +#define CONFIG_FREERTOS_USE_FSPIM +/* end of Freertos Spim Drivers */ + +/* Freertos DMA Drivers */ + +/* CONFIG_FREERTOS_USE_FDDMA is not set */ +/* CONFIG_FREERTOS_USE_FGDMA is not set */ +/* end of Freertos DMA Drivers */ + +/* Freertos MMC Drivers */ + +/* CONFIG_FREERTOS_USE_FSDIO is not set */ +/* end of Freertos MMC Drivers */ +/* end of Component Configuration */ + +/* FreeRTOS Setting */ + +/* CONFIG_USE_LWIP is not set */ +#define CONFIG_USE_BACKTRACE +/* CONFIG_USE_FATFS is not set */ +#define CONFIG_USE_SFUD + +/* SFUD Configuration */ + +#define CONFIG_SFUD_CTRL_FSPIM +/* CONFIG_SFUD_CTRL_FQSPI is not set */ +/* end of SFUD Configuration */ +/* CONFIG_USE_SPIFFS is not set */ +/* CONFIG_USE_AMP is not set */ +#define CONFIG_USE_LETTER_SHELL + +/* Letter Shell Configuration */ + +#define CONFIG_LS_PL011_UART +#define CONFIG_DEFAULT_LETTER_SHELL_USE_UART1 +/* CONFIG_DEFAULT_LETTER_SHELL_USE_UART0 is not set */ +/* CONFIG_DEFAULT_LETTER_SHELL_USE_UART2 is not set */ +/* end of Letter Shell Configuration */ +#define CONFIG_USE_TLSF +/* CONFIG_USE_SDMMC_CMD is not set */ +/* end of FreeRTOS Setting */ + +#endif diff --git a/example/peripheral/spi/src/cmd_sf.c b/example/peripheral/spi/src/cmd_sf.c new file mode 100644 index 00000000..224ef0c4 --- /dev/null +++ b/example/peripheral/spi/src/cmd_sf.c @@ -0,0 +1,109 @@ +/* + * Copyright : (C) 2022 Phytium Information Technology, Inc. + * All Rights Reserved. + * + * This program is OPEN SOURCE software: you can redistribute it and/or modify it + * under the terms of the Phytium Public License as published by the Phytium Technology Co.,Ltd, + * either version 1.0 of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful,but WITHOUT ANY WARRANTY; + * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + * See the Phytium Public License for more details. + * + * + * FilePath: cmd_sf.c + * Date: 2022-07-12 09:33:12 + * LastEditTime: 2022-07-12 09:33:12 + * Description:  This files is for + * + * Modify History: + * Ver   Who        Date         Changes + * ----- ------     --------    -------------------------------------- + */ +/***************************** Include Files *********************************/ +#include +#include +#include "strto.h" +#include "sdkconfig.h" + +#include "FreeRTOS.h" + +#include "../src/shell.h" +#include "sfud_read_write.h" +/************************** Constant Definitions *****************************/ + +/**************************** Type Definitions *******************************/ + +/***************** Macros (Inline Functions) Definitions *********************/ + +/************************** Function Prototypes ******************************/ + +/************************** Variable Definitions *****************************/ + +/*****************************************************************************/ +static void SfudCmdUsage() +{ + printf("usage:\r\n"); + printf(" sf probe\r\n"); + printf(" -- probe and init SPI flash\r\n"); + printf(" sf rw \r\n"); + printf(" -- demo read and write by sfud\r\n"); +} + +static int SfudCmdEntry(int argc, char *argv[]) +{ + int ret = 0; + static boolean inited = FALSE; + + if (argc < 2) + { + SfudCmdUsage(); + return -1; + } + + if ((FALSE == inited) || (!strcmp(argv[1], "probe"))) + { + if (pdPASS != FFreeRTOSSfudInit()) + { + return -2; + } + + inited = TRUE; + } + + if (!strcmp(argv[1], "read")) + { + u32 in_chip_addr = 0x0; + + if (argc > 2) + { + in_chip_addr = (u32)simple_strtoul(argv[2], NULL, 16); + } + + BaseType_t task_ret = FFreeRTOSSfudRead(in_chip_addr); + if (pdPASS != task_ret) + return -2; + } + else if (!strcmp(argv[1], "write")) + { + u32 in_chip_addr = 0x0; + const char *wr_str = "write flash by sfud"; + + if (argc > 2) + { + in_chip_addr = (u32)simple_strtoul(argv[2], NULL, 16); + } + + if (argc > 3) + { + wr_str = argv[3]; + } + + BaseType_t task_ret = FFreeRTOSSfudWrite(in_chip_addr, wr_str); + if (pdPASS != task_ret) + return -2; + } + + return 0; +} +SHELL_EXPORT_CMD(SHELL_CMD_TYPE(SHELL_TYPE_CMD_MAIN), sf, SfudCmdEntry, test freertos sfud); \ No newline at end of file diff --git a/example/peripheral/spi/src/sfud_read_write.c b/example/peripheral/spi/src/sfud_read_write.c new file mode 100644 index 00000000..f6e6ec96 --- /dev/null +++ b/example/peripheral/spi/src/sfud_read_write.c @@ -0,0 +1,262 @@ +/* + * Copyright : (C) 2022 Phytium Information Technology, Inc. + * All Rights Reserved. + * + * This program is OPEN SOURCE software: you can redistribute it and/or modify it + * under the terms of the Phytium Public License as published by the Phytium Technology Co.,Ltd, + * either version 1.0 of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful,but WITHOUT ANY WARRANTY; + * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + * See the Phytium Public License for more details. + * + * + * FilePath: sfud_read_write.c + * Date: 2022-07-12 09:53:00 + * LastEditTime: 2022-07-12 09:53:02 + * Description:  This files is for + * + * Modify History: + * Ver   Who        Date         Changes + * ----- ------     --------    -------------------------------------- + */ +/***************************** Include Files *********************************/ +#include +#include + +#include "FreeRTOS.h" +#include "task.h" + +#include "ft_debug.h" +#include "fsleep.h" +#include "kernel.h" + +#include "sfud.h" + +/************************** Constant Definitions *****************************/ +#define SFUD_WR_BUF_LEN 64 +#define SFUD_FLASH_INDEX SFUD_FSPIM2_INDEX + +/************************** Variable Definitions *****************************/ +static u32 flash_addr = 0x0; +static u8 flash_buffer[SFUD_WR_BUF_LEN]; +/***************** Macros (Inline Functions) Definitions *********************/ +#define FSPIM_DEBUG_TAG "SFUD-DEMO" +#define FSPIM_ERROR(format, ...) FT_DEBUG_PRINT_E(FSPIM_DEBUG_TAG, format, ##__VA_ARGS__) +#define FSPIM_WARN(format, ...) FT_DEBUG_PRINT_W(FSPIM_DEBUG_TAG, format, ##__VA_ARGS__) +#define FSPIM_INFO(format, ...) FT_DEBUG_PRINT_I(FSPIM_DEBUG_TAG, format, ##__VA_ARGS__) +#define FSPIM_DEBUG(format, ...) FT_DEBUG_PRINT_D(FSPIM_DEBUG_TAG, format, ##__VA_ARGS__) + +/************************** Function Prototypes ******************************/ + +/*****************************************************************************/ +static void SfudInitTask(void * args) +{ + sfud_err sfud_ret = sfud_init(); + if (SFUD_SUCCESS != sfud_ret) + goto task_exit; + + const sfud_flash *flash = sfud_get_device(SFUD_FLASH_INDEX); + if (NULL == flash) + { + FSPIM_ERROR("flash not found !!!"); + goto task_exit; + } + + /* print flash info */ + printf("flash %s is found !!!!\r\n", flash->name); + printf(" manufacturer id: 0x%x \r\n", flash->chip.mf_id); + printf(" memory-type id: 0x%x \r\n", flash->chip.type_id); + printf(" capacity id: 0x%x \r\n", flash->chip.capacity_id); + + if (flash->chip.capacity < SZ_1M) + { + printf(" cacpity: %d KB \r\n", flash->chip.capacity / SZ_1K); + } + else + { + printf(" cacpity: %d MB\r\n", flash->chip.capacity / SZ_1M); + } + + printf(" erase granularity: %d Bytes\r\n", flash->chip.erase_gran); + +task_exit: + vTaskDelete(NULL); /* delete task itself */ +} + +static void SfudWriteTask(void * args) +{ + sfud_err sfud_ret; + u32 in_chip_addr = flash_addr; + const sfud_flash *flash = NULL; + u8 status = 0; + u8 *write_buf = flash_buffer; + + flash = sfud_get_device(SFUD_FLASH_INDEX); + if (NULL == flash) + { + FSPIM_ERROR("flash not found!!!"); + goto task_exit; + } + + /* remove flash write protect */ + sfud_ret = sfud_write_status(flash, TRUE, status); + if (SFUD_SUCCESS != sfud_ret) + { + FSPIM_ERROR("write flash status failed !!!"); + goto task_exit; + } + + /* get flash status */ + sfud_ret = sfud_read_status(flash, &status); + if (SFUD_SUCCESS != sfud_ret) + { + FSPIM_ERROR("read flash status failed !!!"); + goto task_exit; + } + else + { + printf("flash status: 0x%x\r\n", status); + } + + /* write to flash */ + taskENTER_CRITICAL(); /* no schedule when printf bulk */ + printf("data to write @0x%x...\r\n", in_chip_addr); + FtDumpHexByte(write_buf, SFUD_WR_BUF_LEN); + taskEXIT_CRITICAL(); + + /* erase before write */ + sfud_ret = sfud_erase(flash, in_chip_addr, SFUD_WR_BUF_LEN); + if (SFUD_SUCCESS != sfud_ret) + { + FSPIM_ERROR("erase flash failed !!!"); + goto task_exit; + } + + sfud_ret = sfud_write(flash, in_chip_addr, SFUD_WR_BUF_LEN, write_buf); + if (SFUD_SUCCESS != sfud_ret) + { + FSPIM_ERROR("write flash failed !!!"); + goto task_exit; + } + +task_exit: + vTaskDelete(NULL); /* delete task itself */ +} + +static void SfudReadTask(void * args) +{ + sfud_err sfud_ret; + u32 in_chip_addr = flash_addr; + const sfud_flash *flash = NULL; + u8 status = 0; + u8 *read_buf = flash_buffer; + + flash = sfud_get_device(SFUD_FLASH_INDEX); + if (NULL == flash) + { + FSPIM_ERROR("flash not found!!!"); + goto task_exit; + } + + /* get flash status */ + sfud_ret = sfud_read_status(flash, &status); + if (SFUD_SUCCESS != sfud_ret) + { + FSPIM_ERROR("read flash status failed !!!"); + goto task_exit; + } + else + { + printf("flash status: 0x%x\r\n", status); + } + + /* read from flash */ + memset(read_buf, 0, SFUD_WR_BUF_LEN); + sfud_ret = sfud_read(flash, in_chip_addr, SFUD_WR_BUF_LEN, read_buf); + if (SFUD_SUCCESS != sfud_ret) + { + FSPIM_ERROR("read flash failed !!!"); + goto task_exit; + } + + taskENTER_CRITICAL(); /* no schedule when printf bulk */ + printf("data read from flash @0x%x...\r\n", in_chip_addr); + FtDumpHexByte(read_buf, SFUD_WR_BUF_LEN); + taskEXIT_CRITICAL(); + +task_exit: + vTaskDelete(NULL); /* delete task itself */ +} + +BaseType_t FFreeRTOSSfudRead(u32 in_chip_addr) +{ + BaseType_t xReturn = pdPASS; + + printf("sfud read task\r\n"); + + memset(flash_buffer, 0, sizeof(flash_buffer)); + flash_addr = in_chip_addr; + + taskENTER_CRITICAL(); /* no schedule when create task */ + + xReturn = xTaskCreate((TaskFunction_t )SfudReadTask, + (const char* )"SfudReadTask", + (uint16_t )2048, + NULL, + (UBaseType_t )configMAX_PRIORITIES - 1, + NULL); + + taskEXIT_CRITICAL(); /* allow schedule since task created */ + + return xReturn; +} + +BaseType_t FFreeRTOSSfudWrite(u32 in_chip_addr, const char *content) +{ + BaseType_t xReturn = pdPASS; + + printf("sfud write task\r\n"); + + flash_addr = in_chip_addr; + if (strlen(content) + 1 > SFUD_WR_BUF_LEN) + { + return pdFAIL; + } + + memset(flash_buffer, 0, sizeof(flash_buffer)); + memcpy(flash_buffer, content, strlen(content) + 1); + + taskENTER_CRITICAL(); /* no schedule when create task */ + + xReturn = xTaskCreate((TaskFunction_t )SfudWriteTask, + (const char* )"SfudWriteTask", + (uint16_t )2048, + NULL, + (UBaseType_t )configMAX_PRIORITIES - 1, + NULL); + + taskEXIT_CRITICAL(); /* allow schedule since task created */ + + return xReturn; +} + +BaseType_t FFreeRTOSSfudInit(void) +{ + BaseType_t xReturn = pdPASS; + + printf("sfud init task\r\n"); + + taskENTER_CRITICAL(); /* no schedule when create task */ + + xReturn = xTaskCreate((TaskFunction_t )SfudInitTask, + (const char* )"SfudInitTask", + (uint16_t )2048, + NULL, + (UBaseType_t )configMAX_PRIORITIES - 1, + NULL); + + taskEXIT_CRITICAL(); /* allow schedule since task created */ + + return pdPASS; +} \ No newline at end of file diff --git a/example/peripheral/wdt/README.md b/example/peripheral/wdt/README.md index 5dc80a50..2915b021 100644 --- a/example/peripheral/wdt/README.md +++ b/example/peripheral/wdt/README.md @@ -133,7 +133,7 @@ bootelf -p 0x90100000 - 定时器时间到,触发单次模式软件定时器的回调函数,删除主动喂狗任务; 这个时候由于没有了主动喂狗,超时中断会触发,中断处理函数中发送消息队列,消息队列接收任务正常接收后处理数据; -周期模式软件定时器累计计数到30s后,初始化wdt,删除消息队列接收任务,删除软件定时器 +周期模式软件定时器累计计数到30s后,去初始化wdt,删除消息队列接收任务,删除软件定时器 ![delete](./figs/delete.png) diff --git a/example/peripheral/wdt/configs/d2000_aarch32_eg_configs b/example/peripheral/wdt/configs/d2000_aarch32_eg_configs index 5778620a..2c0ca741 100644 --- a/example/peripheral/wdt/configs/d2000_aarch32_eg_configs +++ b/example/peripheral/wdt/configs/d2000_aarch32_eg_configs @@ -132,6 +132,12 @@ CONFIG_OUTPUT_BINARY=y CONFIG_FREERTOS_USE_UART=y # end of Freertos Uart Drivers +# +# Freertos Pwm Drivers +# +# CONFIG_FREERTOS_USE_PWM is not set +# end of Freertos Pwm Drivers + # # Freertos Qspi Drivers # @@ -149,6 +155,31 @@ CONFIG_FREERTOS_USE_WDT=y # # CONFIG_FREERTOS_USE_XMAC is not set # end of Freertos Eth Drivers + +# +# Freertos Gpio Drivers +# +# CONFIG_FREERTOS_USE_GPIO is not set +# end of Freertos Gpio Drivers + +# +# Freertos Spim Drivers +# +# CONFIG_FREERTOS_USE_FSPIM is not set +# end of Freertos Spim Drivers + +# +# Freertos DMA Drivers +# +# CONFIG_FREERTOS_USE_FDDMA is not set +# CONFIG_FREERTOS_USE_FGDMA is not set +# end of Freertos DMA Drivers + +# +# Freertos MMC Drivers +# +# CONFIG_FREERTOS_USE_FSDIO is not set +# end of Freertos MMC Drivers # end of Component Configuration # @@ -170,4 +201,7 @@ CONFIG_DEFAULT_LETTER_SHELL_USE_UART1=y # CONFIG_DEFAULT_LETTER_SHELL_USE_UART0 is not set # CONFIG_DEFAULT_LETTER_SHELL_USE_UART2 is not set # end of Letter Shell Configuration + +CONFIG_USE_TLSF=y +# CONFIG_USE_SDMMC_CMD is not set # end of FreeRTOS Setting diff --git a/example/peripheral/wdt/configs/d2000_aarch64_eg_configs b/example/peripheral/wdt/configs/d2000_aarch64_eg_configs index e98ac2e8..845027c8 100644 --- a/example/peripheral/wdt/configs/d2000_aarch64_eg_configs +++ b/example/peripheral/wdt/configs/d2000_aarch64_eg_configs @@ -128,6 +128,12 @@ CONFIG_OUTPUT_BINARY=y CONFIG_FREERTOS_USE_UART=y # end of Freertos Uart Drivers +# +# Freertos Pwm Drivers +# +# CONFIG_FREERTOS_USE_PWM is not set +# end of Freertos Pwm Drivers + # # Freertos Qspi Drivers # @@ -145,6 +151,31 @@ CONFIG_FREERTOS_USE_WDT=y # # CONFIG_FREERTOS_USE_XMAC is not set # end of Freertos Eth Drivers + +# +# Freertos Gpio Drivers +# +# CONFIG_FREERTOS_USE_GPIO is not set +# end of Freertos Gpio Drivers + +# +# Freertos Spim Drivers +# +# CONFIG_FREERTOS_USE_FSPIM is not set +# end of Freertos Spim Drivers + +# +# Freertos DMA Drivers +# +# CONFIG_FREERTOS_USE_FDDMA is not set +# CONFIG_FREERTOS_USE_FGDMA is not set +# end of Freertos DMA Drivers + +# +# Freertos MMC Drivers +# +# CONFIG_FREERTOS_USE_FSDIO is not set +# end of Freertos MMC Drivers # end of Component Configuration # @@ -166,4 +197,7 @@ CONFIG_DEFAULT_LETTER_SHELL_USE_UART1=y # CONFIG_DEFAULT_LETTER_SHELL_USE_UART0 is not set # CONFIG_DEFAULT_LETTER_SHELL_USE_UART2 is not set # end of Letter Shell Configuration + +CONFIG_USE_TLSF=y +# CONFIG_USE_SDMMC_CMD is not set # end of FreeRTOS Setting diff --git a/example/peripheral/wdt/configs/e2000d_aarch32_eg_configs b/example/peripheral/wdt/configs/e2000d_aarch32_eg_configs index 7b75ebe8..343358f2 100644 --- a/example/peripheral/wdt/configs/e2000d_aarch32_eg_configs +++ b/example/peripheral/wdt/configs/e2000d_aarch32_eg_configs @@ -132,6 +132,12 @@ CONFIG_OUTPUT_BINARY=y CONFIG_FREERTOS_USE_UART=y # end of Freertos Uart Drivers +# +# Freertos Pwm Drivers +# +# CONFIG_FREERTOS_USE_PWM is not set +# end of Freertos Pwm Drivers + # # Freertos Qspi Drivers # @@ -149,6 +155,31 @@ CONFIG_FREERTOS_USE_WDT=y # # CONFIG_FREERTOS_USE_XMAC is not set # end of Freertos Eth Drivers + +# +# Freertos Gpio Drivers +# +# CONFIG_FREERTOS_USE_GPIO is not set +# end of Freertos Gpio Drivers + +# +# Freertos Spim Drivers +# +# CONFIG_FREERTOS_USE_FSPIM is not set +# end of Freertos Spim Drivers + +# +# Freertos DMA Drivers +# +# CONFIG_FREERTOS_USE_FDDMA is not set +# CONFIG_FREERTOS_USE_FGDMA is not set +# end of Freertos DMA Drivers + +# +# Freertos MMC Drivers +# +# CONFIG_FREERTOS_USE_FSDIO is not set +# end of Freertos MMC Drivers # end of Component Configuration # @@ -170,4 +201,7 @@ CONFIG_DEFAULT_LETTER_SHELL_USE_UART1=y # CONFIG_DEFAULT_LETTER_SHELL_USE_UART0 is not set # CONFIG_DEFAULT_LETTER_SHELL_USE_UART2 is not set # end of Letter Shell Configuration + +CONFIG_USE_TLSF=y +# CONFIG_USE_SDMMC_CMD is not set # end of FreeRTOS Setting diff --git a/example/peripheral/wdt/configs/e2000d_aarch64_eg_configs b/example/peripheral/wdt/configs/e2000d_aarch64_eg_configs index 873b5c52..62f67410 100644 --- a/example/peripheral/wdt/configs/e2000d_aarch64_eg_configs +++ b/example/peripheral/wdt/configs/e2000d_aarch64_eg_configs @@ -128,6 +128,12 @@ CONFIG_OUTPUT_BINARY=y CONFIG_FREERTOS_USE_UART=y # end of Freertos Uart Drivers +# +# Freertos Pwm Drivers +# +# CONFIG_FREERTOS_USE_PWM is not set +# end of Freertos Pwm Drivers + # # Freertos Qspi Drivers # @@ -139,6 +145,37 @@ CONFIG_FREERTOS_USE_UART=y # CONFIG_FREERTOS_USE_WDT=y # end of Freertos Wdt Drivers + +# +# Freertos Eth Drivers +# +# CONFIG_FREERTOS_USE_XMAC is not set +# end of Freertos Eth Drivers + +# +# Freertos Gpio Drivers +# +# CONFIG_FREERTOS_USE_GPIO is not set +# end of Freertos Gpio Drivers + +# +# Freertos Spim Drivers +# +# CONFIG_FREERTOS_USE_FSPIM is not set +# end of Freertos Spim Drivers + +# +# Freertos DMA Drivers +# +# CONFIG_FREERTOS_USE_FDDMA is not set +# CONFIG_FREERTOS_USE_FGDMA is not set +# end of Freertos DMA Drivers + +# +# Freertos MMC Drivers +# +# CONFIG_FREERTOS_USE_FSDIO is not set +# end of Freertos MMC Drivers # end of Component Configuration # @@ -160,4 +197,7 @@ CONFIG_DEFAULT_LETTER_SHELL_USE_UART1=y # CONFIG_DEFAULT_LETTER_SHELL_USE_UART0 is not set # CONFIG_DEFAULT_LETTER_SHELL_USE_UART2 is not set # end of Letter Shell Configuration + +CONFIG_USE_TLSF=y +# CONFIG_USE_SDMMC_CMD is not set # end of FreeRTOS Setting diff --git a/example/peripheral/wdt/configs/ft2004_aarch32_eg_configs b/example/peripheral/wdt/configs/ft2004_aarch32_eg_configs index 912f09ed..2e785a15 100644 --- a/example/peripheral/wdt/configs/ft2004_aarch32_eg_configs +++ b/example/peripheral/wdt/configs/ft2004_aarch32_eg_configs @@ -132,6 +132,12 @@ CONFIG_OUTPUT_BINARY=y CONFIG_FREERTOS_USE_UART=y # end of Freertos Uart Drivers +# +# Freertos Pwm Drivers +# +# CONFIG_FREERTOS_USE_PWM is not set +# end of Freertos Pwm Drivers + # # Freertos Qspi Drivers # @@ -149,6 +155,31 @@ CONFIG_FREERTOS_USE_WDT=y # # CONFIG_FREERTOS_USE_XMAC is not set # end of Freertos Eth Drivers + +# +# Freertos Gpio Drivers +# +# CONFIG_FREERTOS_USE_GPIO is not set +# end of Freertos Gpio Drivers + +# +# Freertos Spim Drivers +# +# CONFIG_FREERTOS_USE_FSPIM is not set +# end of Freertos Spim Drivers + +# +# Freertos DMA Drivers +# +# CONFIG_FREERTOS_USE_FDDMA is not set +# CONFIG_FREERTOS_USE_FGDMA is not set +# end of Freertos DMA Drivers + +# +# Freertos MMC Drivers +# +# CONFIG_FREERTOS_USE_FSDIO is not set +# end of Freertos MMC Drivers # end of Component Configuration # @@ -170,4 +201,7 @@ CONFIG_DEFAULT_LETTER_SHELL_USE_UART1=y # CONFIG_DEFAULT_LETTER_SHELL_USE_UART0 is not set # CONFIG_DEFAULT_LETTER_SHELL_USE_UART2 is not set # end of Letter Shell Configuration + +CONFIG_USE_TLSF=y +# CONFIG_USE_SDMMC_CMD is not set # end of FreeRTOS Setting diff --git a/example/peripheral/wdt/configs/ft2004_aarch64_eg_configs b/example/peripheral/wdt/configs/ft2004_aarch64_eg_configs index 6433a6b8..5c8bd1e9 100644 --- a/example/peripheral/wdt/configs/ft2004_aarch64_eg_configs +++ b/example/peripheral/wdt/configs/ft2004_aarch64_eg_configs @@ -128,6 +128,12 @@ CONFIG_OUTPUT_BINARY=y CONFIG_FREERTOS_USE_UART=y # end of Freertos Uart Drivers +# +# Freertos Pwm Drivers +# +# CONFIG_FREERTOS_USE_PWM is not set +# end of Freertos Pwm Drivers + # # Freertos Qspi Drivers # @@ -145,6 +151,31 @@ CONFIG_FREERTOS_USE_WDT=y # # CONFIG_FREERTOS_USE_XMAC is not set # end of Freertos Eth Drivers + +# +# Freertos Gpio Drivers +# +# CONFIG_FREERTOS_USE_GPIO is not set +# end of Freertos Gpio Drivers + +# +# Freertos Spim Drivers +# +# CONFIG_FREERTOS_USE_FSPIM is not set +# end of Freertos Spim Drivers + +# +# Freertos DMA Drivers +# +# CONFIG_FREERTOS_USE_FDDMA is not set +# CONFIG_FREERTOS_USE_FGDMA is not set +# end of Freertos DMA Drivers + +# +# Freertos MMC Drivers +# +# CONFIG_FREERTOS_USE_FSDIO is not set +# end of Freertos MMC Drivers # end of Component Configuration # @@ -166,4 +197,7 @@ CONFIG_DEFAULT_LETTER_SHELL_USE_UART1=y # CONFIG_DEFAULT_LETTER_SHELL_USE_UART0 is not set # CONFIG_DEFAULT_LETTER_SHELL_USE_UART2 is not set # end of Letter Shell Configuration + +CONFIG_USE_TLSF=y +# CONFIG_USE_SDMMC_CMD is not set # end of FreeRTOS Setting diff --git a/example/peripheral/wdt/sdkconfig b/example/peripheral/wdt/sdkconfig index 873b5c52..62f67410 100644 --- a/example/peripheral/wdt/sdkconfig +++ b/example/peripheral/wdt/sdkconfig @@ -128,6 +128,12 @@ CONFIG_OUTPUT_BINARY=y CONFIG_FREERTOS_USE_UART=y # end of Freertos Uart Drivers +# +# Freertos Pwm Drivers +# +# CONFIG_FREERTOS_USE_PWM is not set +# end of Freertos Pwm Drivers + # # Freertos Qspi Drivers # @@ -139,6 +145,37 @@ CONFIG_FREERTOS_USE_UART=y # CONFIG_FREERTOS_USE_WDT=y # end of Freertos Wdt Drivers + +# +# Freertos Eth Drivers +# +# CONFIG_FREERTOS_USE_XMAC is not set +# end of Freertos Eth Drivers + +# +# Freertos Gpio Drivers +# +# CONFIG_FREERTOS_USE_GPIO is not set +# end of Freertos Gpio Drivers + +# +# Freertos Spim Drivers +# +# CONFIG_FREERTOS_USE_FSPIM is not set +# end of Freertos Spim Drivers + +# +# Freertos DMA Drivers +# +# CONFIG_FREERTOS_USE_FDDMA is not set +# CONFIG_FREERTOS_USE_FGDMA is not set +# end of Freertos DMA Drivers + +# +# Freertos MMC Drivers +# +# CONFIG_FREERTOS_USE_FSDIO is not set +# end of Freertos MMC Drivers # end of Component Configuration # @@ -160,4 +197,7 @@ CONFIG_DEFAULT_LETTER_SHELL_USE_UART1=y # CONFIG_DEFAULT_LETTER_SHELL_USE_UART0 is not set # CONFIG_DEFAULT_LETTER_SHELL_USE_UART2 is not set # end of Letter Shell Configuration + +CONFIG_USE_TLSF=y +# CONFIG_USE_SDMMC_CMD is not set # end of FreeRTOS Setting diff --git a/example/peripheral/wdt/sdkconfig.h b/example/peripheral/wdt/sdkconfig.h index 20fc3163..97a0d9f6 100644 --- a/example/peripheral/wdt/sdkconfig.h +++ b/example/peripheral/wdt/sdkconfig.h @@ -114,6 +114,11 @@ #define CONFIG_FREERTOS_USE_UART /* end of Freertos Uart Drivers */ +/* Freertos Pwm Drivers */ + +/* CONFIG_FREERTOS_USE_PWM is not set */ +/* end of Freertos Pwm Drivers */ + /* Freertos Qspi Drivers */ /* CONFIG_FREERTOS_USE_QSPI is not set */ @@ -123,6 +128,32 @@ #define CONFIG_FREERTOS_USE_WDT /* end of Freertos Wdt Drivers */ + +/* Freertos Eth Drivers */ + +/* CONFIG_FREERTOS_USE_XMAC is not set */ +/* end of Freertos Eth Drivers */ + +/* Freertos Gpio Drivers */ + +/* CONFIG_FREERTOS_USE_GPIO is not set */ +/* end of Freertos Gpio Drivers */ + +/* Freertos Spim Drivers */ + +/* CONFIG_FREERTOS_USE_FSPIM is not set */ +/* end of Freertos Spim Drivers */ + +/* Freertos DMA Drivers */ + +/* CONFIG_FREERTOS_USE_FDDMA is not set */ +/* CONFIG_FREERTOS_USE_FGDMA is not set */ +/* end of Freertos DMA Drivers */ + +/* Freertos MMC Drivers */ + +/* CONFIG_FREERTOS_USE_FSDIO is not set */ +/* end of Freertos MMC Drivers */ /* end of Component Configuration */ /* FreeRTOS Setting */ @@ -142,6 +173,8 @@ /* CONFIG_DEFAULT_LETTER_SHELL_USE_UART0 is not set */ /* CONFIG_DEFAULT_LETTER_SHELL_USE_UART2 is not set */ /* end of Letter Shell Configuration */ +#define CONFIG_USE_TLSF +/* CONFIG_USE_SDMMC_CMD is not set */ /* end of FreeRTOS Setting */ #endif diff --git a/example/peripheral/wdt/src/wdt_example.c b/example/peripheral/wdt/src/wdt_example.c index 854242ef..c5f07254 100644 --- a/example/peripheral/wdt/src/wdt_example.c +++ b/example/peripheral/wdt/src/wdt_example.c @@ -301,7 +301,14 @@ static void FFreeRTOSWdtDelete(FFreeRTOSWdt *os_wdt_p) vTaskDelete(queue_receive_handle); vPrintf("Delete FFreeRTOSWdtQueueReceiveTask success\r\n"); } + + /* delete queue */ + vQueueDelete(xQueue); + + /* delete count sem */ + vSemaphoreDelete(xCountingSemaphore); + /* delete timer */ xReturn = xTimerDelete(xOneShotTimer, 0); if(xReturn != pdPASS) { diff --git a/example/storage/qspi_spiffs/configs/d2000_aarch32_eg_configs b/example/storage/qspi_spiffs/configs/d2000_aarch32_eg_configs index 5d04015b..8a0da404 100644 --- a/example/storage/qspi_spiffs/configs/d2000_aarch32_eg_configs +++ b/example/storage/qspi_spiffs/configs/d2000_aarch32_eg_configs @@ -136,6 +136,12 @@ CONFIG_OUTPUT_BINARY=y CONFIG_FREERTOS_USE_UART=y # end of Freertos Uart Drivers +# +# Freertos Pwm Drivers +# +# CONFIG_FREERTOS_USE_PWM is not set +# end of Freertos Pwm Drivers + # # Freertos Qspi Drivers # @@ -153,6 +159,31 @@ CONFIG_FREERTOS_USE_UART=y # # CONFIG_FREERTOS_USE_XMAC is not set # end of Freertos Eth Drivers + +# +# Freertos Gpio Drivers +# +# CONFIG_FREERTOS_USE_GPIO is not set +# end of Freertos Gpio Drivers + +# +# Freertos Spim Drivers +# +# CONFIG_FREERTOS_USE_FSPIM is not set +# end of Freertos Spim Drivers + +# +# Freertos DMA Drivers +# +# CONFIG_FREERTOS_USE_FDDMA is not set +# CONFIG_FREERTOS_USE_FGDMA is not set +# end of Freertos DMA Drivers + +# +# Freertos MMC Drivers +# +# CONFIG_FREERTOS_USE_FSDIO is not set +# end of Freertos MMC Drivers # end of Component Configuration # @@ -193,4 +224,7 @@ CONFIG_DEFAULT_LETTER_SHELL_USE_UART1=y # CONFIG_DEFAULT_LETTER_SHELL_USE_UART0 is not set # CONFIG_DEFAULT_LETTER_SHELL_USE_UART2 is not set # end of Letter Shell Configuration + +CONFIG_USE_TLSF=y +# CONFIG_USE_SDMMC_CMD is not set # end of FreeRTOS Setting diff --git a/example/storage/qspi_spiffs/configs/d2000_aarch64_eg_configs b/example/storage/qspi_spiffs/configs/d2000_aarch64_eg_configs index 01f75b19..0a80f164 100644 --- a/example/storage/qspi_spiffs/configs/d2000_aarch64_eg_configs +++ b/example/storage/qspi_spiffs/configs/d2000_aarch64_eg_configs @@ -132,6 +132,12 @@ CONFIG_OUTPUT_BINARY=y CONFIG_FREERTOS_USE_UART=y # end of Freertos Uart Drivers +# +# Freertos Pwm Drivers +# +# CONFIG_FREERTOS_USE_PWM is not set +# end of Freertos Pwm Drivers + # # Freertos Qspi Drivers # @@ -149,6 +155,31 @@ CONFIG_FREERTOS_USE_UART=y # # CONFIG_FREERTOS_USE_XMAC is not set # end of Freertos Eth Drivers + +# +# Freertos Gpio Drivers +# +# CONFIG_FREERTOS_USE_GPIO is not set +# end of Freertos Gpio Drivers + +# +# Freertos Spim Drivers +# +# CONFIG_FREERTOS_USE_FSPIM is not set +# end of Freertos Spim Drivers + +# +# Freertos DMA Drivers +# +# CONFIG_FREERTOS_USE_FDDMA is not set +# CONFIG_FREERTOS_USE_FGDMA is not set +# end of Freertos DMA Drivers + +# +# Freertos MMC Drivers +# +# CONFIG_FREERTOS_USE_FSDIO is not set +# end of Freertos MMC Drivers # end of Component Configuration # @@ -189,4 +220,7 @@ CONFIG_DEFAULT_LETTER_SHELL_USE_UART1=y # CONFIG_DEFAULT_LETTER_SHELL_USE_UART0 is not set # CONFIG_DEFAULT_LETTER_SHELL_USE_UART2 is not set # end of Letter Shell Configuration + +CONFIG_USE_TLSF=y +# CONFIG_USE_SDMMC_CMD is not set # end of FreeRTOS Setting diff --git a/example/storage/qspi_spiffs/configs/e2000d_aarch32_eg_configs b/example/storage/qspi_spiffs/configs/e2000d_aarch32_eg_configs index 698d7085..5a591d6f 100644 --- a/example/storage/qspi_spiffs/configs/e2000d_aarch32_eg_configs +++ b/example/storage/qspi_spiffs/configs/e2000d_aarch32_eg_configs @@ -136,6 +136,12 @@ CONFIG_OUTPUT_BINARY=y CONFIG_FREERTOS_USE_UART=y # end of Freertos Uart Drivers +# +# Freertos Pwm Drivers +# +# CONFIG_FREERTOS_USE_PWM is not set +# end of Freertos Pwm Drivers + # # Freertos Qspi Drivers # @@ -153,6 +159,31 @@ CONFIG_FREERTOS_USE_UART=y # # CONFIG_FREERTOS_USE_XMAC is not set # end of Freertos Eth Drivers + +# +# Freertos Gpio Drivers +# +# CONFIG_FREERTOS_USE_GPIO is not set +# end of Freertos Gpio Drivers + +# +# Freertos Spim Drivers +# +# CONFIG_FREERTOS_USE_FSPIM is not set +# end of Freertos Spim Drivers + +# +# Freertos DMA Drivers +# +# CONFIG_FREERTOS_USE_FDDMA is not set +# CONFIG_FREERTOS_USE_FGDMA is not set +# end of Freertos DMA Drivers + +# +# Freertos MMC Drivers +# +# CONFIG_FREERTOS_USE_FSDIO is not set +# end of Freertos MMC Drivers # end of Component Configuration # @@ -193,4 +224,7 @@ CONFIG_DEFAULT_LETTER_SHELL_USE_UART1=y # CONFIG_DEFAULT_LETTER_SHELL_USE_UART0 is not set # CONFIG_DEFAULT_LETTER_SHELL_USE_UART2 is not set # end of Letter Shell Configuration + +CONFIG_USE_TLSF=y +# CONFIG_USE_SDMMC_CMD is not set # end of FreeRTOS Setting diff --git a/example/storage/qspi_spiffs/configs/e2000d_aarch64_eg_configs b/example/storage/qspi_spiffs/configs/e2000d_aarch64_eg_configs index 8d60d878..0950954c 100644 --- a/example/storage/qspi_spiffs/configs/e2000d_aarch64_eg_configs +++ b/example/storage/qspi_spiffs/configs/e2000d_aarch64_eg_configs @@ -132,6 +132,12 @@ CONFIG_OUTPUT_BINARY=y CONFIG_FREERTOS_USE_UART=y # end of Freertos Uart Drivers +# +# Freertos Pwm Drivers +# +# CONFIG_FREERTOS_USE_PWM is not set +# end of Freertos Pwm Drivers + # # Freertos Qspi Drivers # @@ -149,6 +155,31 @@ CONFIG_FREERTOS_USE_UART=y # # CONFIG_FREERTOS_USE_XMAC is not set # end of Freertos Eth Drivers + +# +# Freertos Gpio Drivers +# +# CONFIG_FREERTOS_USE_GPIO is not set +# end of Freertos Gpio Drivers + +# +# Freertos Spim Drivers +# +# CONFIG_FREERTOS_USE_FSPIM is not set +# end of Freertos Spim Drivers + +# +# Freertos DMA Drivers +# +# CONFIG_FREERTOS_USE_FDDMA is not set +# CONFIG_FREERTOS_USE_FGDMA is not set +# end of Freertos DMA Drivers + +# +# Freertos MMC Drivers +# +# CONFIG_FREERTOS_USE_FSDIO is not set +# end of Freertos MMC Drivers # end of Component Configuration # @@ -189,4 +220,7 @@ CONFIG_DEFAULT_LETTER_SHELL_USE_UART1=y # CONFIG_DEFAULT_LETTER_SHELL_USE_UART0 is not set # CONFIG_DEFAULT_LETTER_SHELL_USE_UART2 is not set # end of Letter Shell Configuration + +CONFIG_USE_TLSF=y +# CONFIG_USE_SDMMC_CMD is not set # end of FreeRTOS Setting diff --git a/example/storage/qspi_spiffs/configs/ft2004_aarch32_eg_configs b/example/storage/qspi_spiffs/configs/ft2004_aarch32_eg_configs index 9a869849..3f5184df 100644 --- a/example/storage/qspi_spiffs/configs/ft2004_aarch32_eg_configs +++ b/example/storage/qspi_spiffs/configs/ft2004_aarch32_eg_configs @@ -136,6 +136,12 @@ CONFIG_OUTPUT_BINARY=y CONFIG_FREERTOS_USE_UART=y # end of Freertos Uart Drivers +# +# Freertos Pwm Drivers +# +# CONFIG_FREERTOS_USE_PWM is not set +# end of Freertos Pwm Drivers + # # Freertos Qspi Drivers # @@ -153,6 +159,31 @@ CONFIG_FREERTOS_USE_UART=y # # CONFIG_FREERTOS_USE_XMAC is not set # end of Freertos Eth Drivers + +# +# Freertos Gpio Drivers +# +# CONFIG_FREERTOS_USE_GPIO is not set +# end of Freertos Gpio Drivers + +# +# Freertos Spim Drivers +# +# CONFIG_FREERTOS_USE_FSPIM is not set +# end of Freertos Spim Drivers + +# +# Freertos DMA Drivers +# +# CONFIG_FREERTOS_USE_FDDMA is not set +# CONFIG_FREERTOS_USE_FGDMA is not set +# end of Freertos DMA Drivers + +# +# Freertos MMC Drivers +# +# CONFIG_FREERTOS_USE_FSDIO is not set +# end of Freertos MMC Drivers # end of Component Configuration # @@ -193,4 +224,7 @@ CONFIG_DEFAULT_LETTER_SHELL_USE_UART1=y # CONFIG_DEFAULT_LETTER_SHELL_USE_UART0 is not set # CONFIG_DEFAULT_LETTER_SHELL_USE_UART2 is not set # end of Letter Shell Configuration + +CONFIG_USE_TLSF=y +# CONFIG_USE_SDMMC_CMD is not set # end of FreeRTOS Setting diff --git a/example/storage/qspi_spiffs/configs/ft2004_aarch64_eg_configs b/example/storage/qspi_spiffs/configs/ft2004_aarch64_eg_configs index bad3c99a..93860c9d 100644 --- a/example/storage/qspi_spiffs/configs/ft2004_aarch64_eg_configs +++ b/example/storage/qspi_spiffs/configs/ft2004_aarch64_eg_configs @@ -132,6 +132,12 @@ CONFIG_OUTPUT_BINARY=y CONFIG_FREERTOS_USE_UART=y # end of Freertos Uart Drivers +# +# Freertos Pwm Drivers +# +# CONFIG_FREERTOS_USE_PWM is not set +# end of Freertos Pwm Drivers + # # Freertos Qspi Drivers # @@ -149,6 +155,31 @@ CONFIG_FREERTOS_USE_UART=y # # CONFIG_FREERTOS_USE_XMAC is not set # end of Freertos Eth Drivers + +# +# Freertos Gpio Drivers +# +# CONFIG_FREERTOS_USE_GPIO is not set +# end of Freertos Gpio Drivers + +# +# Freertos Spim Drivers +# +# CONFIG_FREERTOS_USE_FSPIM is not set +# end of Freertos Spim Drivers + +# +# Freertos DMA Drivers +# +# CONFIG_FREERTOS_USE_FDDMA is not set +# CONFIG_FREERTOS_USE_FGDMA is not set +# end of Freertos DMA Drivers + +# +# Freertos MMC Drivers +# +# CONFIG_FREERTOS_USE_FSDIO is not set +# end of Freertos MMC Drivers # end of Component Configuration # @@ -189,4 +220,7 @@ CONFIG_DEFAULT_LETTER_SHELL_USE_UART1=y # CONFIG_DEFAULT_LETTER_SHELL_USE_UART0 is not set # CONFIG_DEFAULT_LETTER_SHELL_USE_UART2 is not set # end of Letter Shell Configuration + +CONFIG_USE_TLSF=y +# CONFIG_USE_SDMMC_CMD is not set # end of FreeRTOS Setting diff --git a/example/storage/qspi_spiffs/sdkconfig b/example/storage/qspi_spiffs/sdkconfig index 8d60d878..0950954c 100644 --- a/example/storage/qspi_spiffs/sdkconfig +++ b/example/storage/qspi_spiffs/sdkconfig @@ -132,6 +132,12 @@ CONFIG_OUTPUT_BINARY=y CONFIG_FREERTOS_USE_UART=y # end of Freertos Uart Drivers +# +# Freertos Pwm Drivers +# +# CONFIG_FREERTOS_USE_PWM is not set +# end of Freertos Pwm Drivers + # # Freertos Qspi Drivers # @@ -149,6 +155,31 @@ CONFIG_FREERTOS_USE_UART=y # # CONFIG_FREERTOS_USE_XMAC is not set # end of Freertos Eth Drivers + +# +# Freertos Gpio Drivers +# +# CONFIG_FREERTOS_USE_GPIO is not set +# end of Freertos Gpio Drivers + +# +# Freertos Spim Drivers +# +# CONFIG_FREERTOS_USE_FSPIM is not set +# end of Freertos Spim Drivers + +# +# Freertos DMA Drivers +# +# CONFIG_FREERTOS_USE_FDDMA is not set +# CONFIG_FREERTOS_USE_FGDMA is not set +# end of Freertos DMA Drivers + +# +# Freertos MMC Drivers +# +# CONFIG_FREERTOS_USE_FSDIO is not set +# end of Freertos MMC Drivers # end of Component Configuration # @@ -189,4 +220,7 @@ CONFIG_DEFAULT_LETTER_SHELL_USE_UART1=y # CONFIG_DEFAULT_LETTER_SHELL_USE_UART0 is not set # CONFIG_DEFAULT_LETTER_SHELL_USE_UART2 is not set # end of Letter Shell Configuration + +CONFIG_USE_TLSF=y +# CONFIG_USE_SDMMC_CMD is not set # end of FreeRTOS Setting diff --git a/example/storage/qspi_spiffs/sdkconfig.h b/example/storage/qspi_spiffs/sdkconfig.h index afc37b6e..c9cd58bb 100644 --- a/example/storage/qspi_spiffs/sdkconfig.h +++ b/example/storage/qspi_spiffs/sdkconfig.h @@ -118,6 +118,11 @@ #define CONFIG_FREERTOS_USE_UART /* end of Freertos Uart Drivers */ +/* Freertos Pwm Drivers */ + +/* CONFIG_FREERTOS_USE_PWM is not set */ +/* end of Freertos Pwm Drivers */ + /* Freertos Qspi Drivers */ /* CONFIG_FREERTOS_USE_QSPI is not set */ @@ -132,6 +137,27 @@ /* CONFIG_FREERTOS_USE_XMAC is not set */ /* end of Freertos Eth Drivers */ + +/* Freertos Gpio Drivers */ + +/* CONFIG_FREERTOS_USE_GPIO is not set */ +/* end of Freertos Gpio Drivers */ + +/* Freertos Spim Drivers */ + +/* CONFIG_FREERTOS_USE_FSPIM is not set */ +/* end of Freertos Spim Drivers */ + +/* Freertos DMA Drivers */ + +/* CONFIG_FREERTOS_USE_FDDMA is not set */ +/* CONFIG_FREERTOS_USE_FGDMA is not set */ +/* end of Freertos DMA Drivers */ + +/* Freertos MMC Drivers */ + +/* CONFIG_FREERTOS_USE_FSDIO is not set */ +/* end of Freertos MMC Drivers */ /* end of Component Configuration */ /* FreeRTOS Setting */ @@ -166,6 +192,8 @@ /* CONFIG_DEFAULT_LETTER_SHELL_USE_UART0 is not set */ /* CONFIG_DEFAULT_LETTER_SHELL_USE_UART2 is not set */ /* end of Letter Shell Configuration */ +#define CONFIG_USE_TLSF +/* CONFIG_USE_SDMMC_CMD is not set */ /* end of FreeRTOS Setting */ #endif diff --git a/example/storage/qspi_spiffs/src/qspi_spiffs_example.c b/example/storage/qspi_spiffs/src/qspi_spiffs_example.c index fbcb7bf0..a12a46d4 100644 --- a/example/storage/qspi_spiffs/src/qspi_spiffs_example.c +++ b/example/storage/qspi_spiffs/src/qspi_spiffs_example.c @@ -590,8 +590,6 @@ static void FFreeRTOSQspiSpiffsDelete(void) BaseType_t xReturn = pdPASS; FSpiffsDeInitialize(&instance); - - vSemaphoreDelete(xCountingSemaphore); if(qspi_read1_handle) { @@ -611,6 +609,10 @@ static void FFreeRTOSQspiSpiffsDelete(void) vPrintf("Delete FFreeRTOSQspiSpiffsWriteTask success\r\n"); } + /* delete count sem */ + vSemaphoreDelete(xCountingSemaphore); + + /* delete timer */ xReturn = xTimerDelete(xOneShotTimer, 0); if(xReturn != pdPASS) { diff --git a/example/storage/sata_fatfs/configs/d2000_aarch32_eg_configs b/example/storage/sata_fatfs/configs/d2000_aarch32_eg_configs index 652748c9..17db0015 100644 --- a/example/storage/sata_fatfs/configs/d2000_aarch32_eg_configs +++ b/example/storage/sata_fatfs/configs/d2000_aarch32_eg_configs @@ -139,6 +139,12 @@ CONFIG_OUTPUT_BINARY=y CONFIG_FREERTOS_USE_UART=y # end of Freertos Uart Drivers +# +# Freertos Pwm Drivers +# +# CONFIG_FREERTOS_USE_PWM is not set +# end of Freertos Pwm Drivers + # # Freertos Qspi Drivers # @@ -156,6 +162,31 @@ CONFIG_FREERTOS_USE_UART=y # # CONFIG_FREERTOS_USE_XMAC is not set # end of Freertos Eth Drivers + +# +# Freertos Gpio Drivers +# +# CONFIG_FREERTOS_USE_GPIO is not set +# end of Freertos Gpio Drivers + +# +# Freertos Spim Drivers +# +# CONFIG_FREERTOS_USE_FSPIM is not set +# end of Freertos Spim Drivers + +# +# Freertos DMA Drivers +# +# CONFIG_FREERTOS_USE_FDDMA is not set +# CONFIG_FREERTOS_USE_FGDMA is not set +# end of Freertos DMA Drivers + +# +# Freertos MMC Drivers +# +# CONFIG_FREERTOS_USE_FSDIO is not set +# end of Freertos MMC Drivers # end of Component Configuration # @@ -187,4 +218,7 @@ CONFIG_DEFAULT_LETTER_SHELL_USE_UART1=y # CONFIG_DEFAULT_LETTER_SHELL_USE_UART0 is not set # CONFIG_DEFAULT_LETTER_SHELL_USE_UART2 is not set # end of Letter Shell Configuration + +CONFIG_USE_TLSF=y +# CONFIG_USE_SDMMC_CMD is not set # end of FreeRTOS Setting diff --git a/example/storage/sata_fatfs/configs/d2000_aarch64_eg_configs b/example/storage/sata_fatfs/configs/d2000_aarch64_eg_configs index 7e019cea..e4d22bc3 100644 --- a/example/storage/sata_fatfs/configs/d2000_aarch64_eg_configs +++ b/example/storage/sata_fatfs/configs/d2000_aarch64_eg_configs @@ -135,6 +135,12 @@ CONFIG_OUTPUT_BINARY=y CONFIG_FREERTOS_USE_UART=y # end of Freertos Uart Drivers +# +# Freertos Pwm Drivers +# +# CONFIG_FREERTOS_USE_PWM is not set +# end of Freertos Pwm Drivers + # # Freertos Qspi Drivers # @@ -152,6 +158,31 @@ CONFIG_FREERTOS_USE_UART=y # # CONFIG_FREERTOS_USE_XMAC is not set # end of Freertos Eth Drivers + +# +# Freertos Gpio Drivers +# +# CONFIG_FREERTOS_USE_GPIO is not set +# end of Freertos Gpio Drivers + +# +# Freertos Spim Drivers +# +# CONFIG_FREERTOS_USE_FSPIM is not set +# end of Freertos Spim Drivers + +# +# Freertos DMA Drivers +# +# CONFIG_FREERTOS_USE_FDDMA is not set +# CONFIG_FREERTOS_USE_FGDMA is not set +# end of Freertos DMA Drivers + +# +# Freertos MMC Drivers +# +# CONFIG_FREERTOS_USE_FSDIO is not set +# end of Freertos MMC Drivers # end of Component Configuration # @@ -183,4 +214,7 @@ CONFIG_DEFAULT_LETTER_SHELL_USE_UART1=y # CONFIG_DEFAULT_LETTER_SHELL_USE_UART0 is not set # CONFIG_DEFAULT_LETTER_SHELL_USE_UART2 is not set # end of Letter Shell Configuration + +CONFIG_USE_TLSF=y +# CONFIG_USE_SDMMC_CMD is not set # end of FreeRTOS Setting diff --git a/example/storage/sata_fatfs/configs/e2000d_aarch32_eg_configs b/example/storage/sata_fatfs/configs/e2000d_aarch32_eg_configs index 9aaa0adb..6a458b45 100644 --- a/example/storage/sata_fatfs/configs/e2000d_aarch32_eg_configs +++ b/example/storage/sata_fatfs/configs/e2000d_aarch32_eg_configs @@ -139,6 +139,12 @@ CONFIG_OUTPUT_BINARY=y CONFIG_FREERTOS_USE_UART=y # end of Freertos Uart Drivers +# +# Freertos Pwm Drivers +# +# CONFIG_FREERTOS_USE_PWM is not set +# end of Freertos Pwm Drivers + # # Freertos Qspi Drivers # @@ -156,6 +162,31 @@ CONFIG_FREERTOS_USE_UART=y # # CONFIG_FREERTOS_USE_XMAC is not set # end of Freertos Eth Drivers + +# +# Freertos Gpio Drivers +# +# CONFIG_FREERTOS_USE_GPIO is not set +# end of Freertos Gpio Drivers + +# +# Freertos Spim Drivers +# +# CONFIG_FREERTOS_USE_FSPIM is not set +# end of Freertos Spim Drivers + +# +# Freertos DMA Drivers +# +# CONFIG_FREERTOS_USE_FDDMA is not set +# CONFIG_FREERTOS_USE_FGDMA is not set +# end of Freertos DMA Drivers + +# +# Freertos MMC Drivers +# +# CONFIG_FREERTOS_USE_FSDIO is not set +# end of Freertos MMC Drivers # end of Component Configuration # @@ -187,4 +218,7 @@ CONFIG_DEFAULT_LETTER_SHELL_USE_UART1=y # CONFIG_DEFAULT_LETTER_SHELL_USE_UART0 is not set # CONFIG_DEFAULT_LETTER_SHELL_USE_UART2 is not set # end of Letter Shell Configuration + +CONFIG_USE_TLSF=y +# CONFIG_USE_SDMMC_CMD is not set # end of FreeRTOS Setting diff --git a/example/storage/sata_fatfs/configs/e2000d_aarch64_eg_configs b/example/storage/sata_fatfs/configs/e2000d_aarch64_eg_configs index d12fb5d2..90987745 100644 --- a/example/storage/sata_fatfs/configs/e2000d_aarch64_eg_configs +++ b/example/storage/sata_fatfs/configs/e2000d_aarch64_eg_configs @@ -135,6 +135,12 @@ CONFIG_OUTPUT_BINARY=y CONFIG_FREERTOS_USE_UART=y # end of Freertos Uart Drivers +# +# Freertos Pwm Drivers +# +# CONFIG_FREERTOS_USE_PWM is not set +# end of Freertos Pwm Drivers + # # Freertos Qspi Drivers # @@ -152,6 +158,31 @@ CONFIG_FREERTOS_USE_UART=y # # CONFIG_FREERTOS_USE_XMAC is not set # end of Freertos Eth Drivers + +# +# Freertos Gpio Drivers +# +# CONFIG_FREERTOS_USE_GPIO is not set +# end of Freertos Gpio Drivers + +# +# Freertos Spim Drivers +# +# CONFIG_FREERTOS_USE_FSPIM is not set +# end of Freertos Spim Drivers + +# +# Freertos DMA Drivers +# +# CONFIG_FREERTOS_USE_FDDMA is not set +# CONFIG_FREERTOS_USE_FGDMA is not set +# end of Freertos DMA Drivers + +# +# Freertos MMC Drivers +# +# CONFIG_FREERTOS_USE_FSDIO is not set +# end of Freertos MMC Drivers # end of Component Configuration # @@ -183,4 +214,7 @@ CONFIG_DEFAULT_LETTER_SHELL_USE_UART1=y # CONFIG_DEFAULT_LETTER_SHELL_USE_UART0 is not set # CONFIG_DEFAULT_LETTER_SHELL_USE_UART2 is not set # end of Letter Shell Configuration + +CONFIG_USE_TLSF=y +# CONFIG_USE_SDMMC_CMD is not set # end of FreeRTOS Setting diff --git a/example/storage/sata_fatfs/configs/ft2004_aarch32_eg_configs b/example/storage/sata_fatfs/configs/ft2004_aarch32_eg_configs index 68c5e80a..606c9dea 100644 --- a/example/storage/sata_fatfs/configs/ft2004_aarch32_eg_configs +++ b/example/storage/sata_fatfs/configs/ft2004_aarch32_eg_configs @@ -139,6 +139,12 @@ CONFIG_OUTPUT_BINARY=y CONFIG_FREERTOS_USE_UART=y # end of Freertos Uart Drivers +# +# Freertos Pwm Drivers +# +# CONFIG_FREERTOS_USE_PWM is not set +# end of Freertos Pwm Drivers + # # Freertos Qspi Drivers # @@ -156,6 +162,31 @@ CONFIG_FREERTOS_USE_UART=y # # CONFIG_FREERTOS_USE_XMAC is not set # end of Freertos Eth Drivers + +# +# Freertos Gpio Drivers +# +# CONFIG_FREERTOS_USE_GPIO is not set +# end of Freertos Gpio Drivers + +# +# Freertos Spim Drivers +# +# CONFIG_FREERTOS_USE_FSPIM is not set +# end of Freertos Spim Drivers + +# +# Freertos DMA Drivers +# +# CONFIG_FREERTOS_USE_FDDMA is not set +# CONFIG_FREERTOS_USE_FGDMA is not set +# end of Freertos DMA Drivers + +# +# Freertos MMC Drivers +# +# CONFIG_FREERTOS_USE_FSDIO is not set +# end of Freertos MMC Drivers # end of Component Configuration # @@ -187,4 +218,7 @@ CONFIG_DEFAULT_LETTER_SHELL_USE_UART1=y # CONFIG_DEFAULT_LETTER_SHELL_USE_UART0 is not set # CONFIG_DEFAULT_LETTER_SHELL_USE_UART2 is not set # end of Letter Shell Configuration + +CONFIG_USE_TLSF=y +# CONFIG_USE_SDMMC_CMD is not set # end of FreeRTOS Setting diff --git a/example/storage/sata_fatfs/configs/ft2004_aarch64_eg_configs b/example/storage/sata_fatfs/configs/ft2004_aarch64_eg_configs index 465b36a7..9b4c6920 100644 --- a/example/storage/sata_fatfs/configs/ft2004_aarch64_eg_configs +++ b/example/storage/sata_fatfs/configs/ft2004_aarch64_eg_configs @@ -135,6 +135,12 @@ CONFIG_OUTPUT_BINARY=y CONFIG_FREERTOS_USE_UART=y # end of Freertos Uart Drivers +# +# Freertos Pwm Drivers +# +# CONFIG_FREERTOS_USE_PWM is not set +# end of Freertos Pwm Drivers + # # Freertos Qspi Drivers # @@ -152,6 +158,31 @@ CONFIG_FREERTOS_USE_UART=y # # CONFIG_FREERTOS_USE_XMAC is not set # end of Freertos Eth Drivers + +# +# Freertos Gpio Drivers +# +# CONFIG_FREERTOS_USE_GPIO is not set +# end of Freertos Gpio Drivers + +# +# Freertos Spim Drivers +# +# CONFIG_FREERTOS_USE_FSPIM is not set +# end of Freertos Spim Drivers + +# +# Freertos DMA Drivers +# +# CONFIG_FREERTOS_USE_FDDMA is not set +# CONFIG_FREERTOS_USE_FGDMA is not set +# end of Freertos DMA Drivers + +# +# Freertos MMC Drivers +# +# CONFIG_FREERTOS_USE_FSDIO is not set +# end of Freertos MMC Drivers # end of Component Configuration # @@ -183,4 +214,7 @@ CONFIG_DEFAULT_LETTER_SHELL_USE_UART1=y # CONFIG_DEFAULT_LETTER_SHELL_USE_UART0 is not set # CONFIG_DEFAULT_LETTER_SHELL_USE_UART2 is not set # end of Letter Shell Configuration + +CONFIG_USE_TLSF=y +# CONFIG_USE_SDMMC_CMD is not set # end of FreeRTOS Setting diff --git a/example/storage/sata_fatfs/sdkconfig b/example/storage/sata_fatfs/sdkconfig index d12fb5d2..90987745 100644 --- a/example/storage/sata_fatfs/sdkconfig +++ b/example/storage/sata_fatfs/sdkconfig @@ -135,6 +135,12 @@ CONFIG_OUTPUT_BINARY=y CONFIG_FREERTOS_USE_UART=y # end of Freertos Uart Drivers +# +# Freertos Pwm Drivers +# +# CONFIG_FREERTOS_USE_PWM is not set +# end of Freertos Pwm Drivers + # # Freertos Qspi Drivers # @@ -152,6 +158,31 @@ CONFIG_FREERTOS_USE_UART=y # # CONFIG_FREERTOS_USE_XMAC is not set # end of Freertos Eth Drivers + +# +# Freertos Gpio Drivers +# +# CONFIG_FREERTOS_USE_GPIO is not set +# end of Freertos Gpio Drivers + +# +# Freertos Spim Drivers +# +# CONFIG_FREERTOS_USE_FSPIM is not set +# end of Freertos Spim Drivers + +# +# Freertos DMA Drivers +# +# CONFIG_FREERTOS_USE_FDDMA is not set +# CONFIG_FREERTOS_USE_FGDMA is not set +# end of Freertos DMA Drivers + +# +# Freertos MMC Drivers +# +# CONFIG_FREERTOS_USE_FSDIO is not set +# end of Freertos MMC Drivers # end of Component Configuration # @@ -183,4 +214,7 @@ CONFIG_DEFAULT_LETTER_SHELL_USE_UART1=y # CONFIG_DEFAULT_LETTER_SHELL_USE_UART0 is not set # CONFIG_DEFAULT_LETTER_SHELL_USE_UART2 is not set # end of Letter Shell Configuration + +CONFIG_USE_TLSF=y +# CONFIG_USE_SDMMC_CMD is not set # end of FreeRTOS Setting diff --git a/example/storage/sata_fatfs/sdkconfig.h b/example/storage/sata_fatfs/sdkconfig.h index 40eb5582..3b84028c 100644 --- a/example/storage/sata_fatfs/sdkconfig.h +++ b/example/storage/sata_fatfs/sdkconfig.h @@ -119,6 +119,11 @@ #define CONFIG_FREERTOS_USE_UART /* end of Freertos Uart Drivers */ +/* Freertos Pwm Drivers */ + +/* CONFIG_FREERTOS_USE_PWM is not set */ +/* end of Freertos Pwm Drivers */ + /* Freertos Qspi Drivers */ /* CONFIG_FREERTOS_USE_QSPI is not set */ @@ -133,6 +138,27 @@ /* CONFIG_FREERTOS_USE_XMAC is not set */ /* end of Freertos Eth Drivers */ + +/* Freertos Gpio Drivers */ + +/* CONFIG_FREERTOS_USE_GPIO is not set */ +/* end of Freertos Gpio Drivers */ + +/* Freertos Spim Drivers */ + +/* CONFIG_FREERTOS_USE_FSPIM is not set */ +/* end of Freertos Spim Drivers */ + +/* Freertos DMA Drivers */ + +/* CONFIG_FREERTOS_USE_FDDMA is not set */ +/* CONFIG_FREERTOS_USE_FGDMA is not set */ +/* end of Freertos DMA Drivers */ + +/* Freertos MMC Drivers */ + +/* CONFIG_FREERTOS_USE_FSDIO is not set */ +/* end of Freertos MMC Drivers */ /* end of Component Configuration */ /* FreeRTOS Setting */ @@ -160,6 +186,8 @@ /* CONFIG_DEFAULT_LETTER_SHELL_USE_UART0 is not set */ /* CONFIG_DEFAULT_LETTER_SHELL_USE_UART2 is not set */ /* end of Letter Shell Configuration */ +#define CONFIG_USE_TLSF +/* CONFIG_USE_SDMMC_CMD is not set */ /* end of FreeRTOS Setting */ #endif diff --git a/example/storage/sata_fatfs/src/sata_fatfs_example.c b/example/storage/sata_fatfs/src/sata_fatfs_example.c index c6e87077..e9c9f8c8 100644 --- a/example/storage/sata_fatfs/src/sata_fatfs_example.c +++ b/example/storage/sata_fatfs/src/sata_fatfs_example.c @@ -70,7 +70,6 @@ static BYTE buff[FSATA_FATFS_FILE_SIZE] __attribute__((aligned(32))) = {0}; static char mount_path[256] = ""; const char *file_name = "test.txt"; - int FatfsSataFormat(const char *mount_point) { FRESULT res; @@ -391,10 +390,6 @@ BaseType_t FFreeRTOSSataFatfsCreate(void) taskENTER_CRITICAL(); /*进入临界区*/ -#if defined(CONFIG_TARGET_E2000Q) - -#endif - xReturn = xTaskCreate((TaskFunction_t )FFreeRTOSSataFatfsInitTask, /* 任务入口函数 */ (const char* )"FFreeRTOSSataFatfsInitTask",/* 任务名字 */ (uint16_t )4096, /* 任务栈大小 */ @@ -457,8 +452,6 @@ static void FFreeRTOSSataFatfsDelete(void) { BaseType_t xReturn = pdPASS; - vSemaphoreDelete(xCountingSemaphore); - if(read_handle) { vTaskDelete(read_handle); @@ -470,7 +463,11 @@ static void FFreeRTOSSataFatfsDelete(void) vTaskDelete(write_handle); vPrintf("Delete FFreeRTOSSataFatfsWriteTask success\r\n"); } + + /* delete count sem */ + vSemaphoreDelete(xCountingSemaphore); + /* delete timer */ xReturn = xTimerDelete(xOneShotTimer, 0); if(xReturn != pdPASS) { @@ -481,7 +478,6 @@ static void FFreeRTOSSataFatfsDelete(void) vPrintf("OneShot Software Timer Delete success.\r\n"); } - } diff --git a/example/template/configs/d2000_aarch32_eg_configs b/example/template/configs/d2000_aarch32_eg_configs index 97ca4820..3da11380 100644 --- a/example/template/configs/d2000_aarch32_eg_configs +++ b/example/template/configs/d2000_aarch32_eg_configs @@ -125,6 +125,12 @@ CONFIG_UNDEF_STACK_SIZE=0x1000 CONFIG_FREERTOS_USE_UART=y # end of Freertos Uart Drivers +# +# Freertos Pwm Drivers +# +# CONFIG_FREERTOS_USE_PWM is not set +# end of Freertos Pwm Drivers + # # Freertos Qspi Drivers # @@ -142,6 +148,31 @@ CONFIG_FREERTOS_USE_UART=y # # CONFIG_FREERTOS_USE_XMAC is not set # end of Freertos Eth Drivers + +# +# Freertos Gpio Drivers +# +# CONFIG_FREERTOS_USE_GPIO is not set +# end of Freertos Gpio Drivers + +# +# Freertos Spim Drivers +# +# CONFIG_FREERTOS_USE_FSPIM is not set +# end of Freertos Spim Drivers + +# +# Freertos DMA Drivers +# +# CONFIG_FREERTOS_USE_FDDMA is not set +# CONFIG_FREERTOS_USE_FGDMA is not set +# end of Freertos DMA Drivers + +# +# Freertos MMC Drivers +# +# CONFIG_FREERTOS_USE_FSDIO is not set +# end of Freertos MMC Drivers # end of Component Configuration # @@ -163,4 +194,7 @@ CONFIG_DEFAULT_LETTER_SHELL_USE_UART1=y # CONFIG_DEFAULT_LETTER_SHELL_USE_UART0 is not set # CONFIG_DEFAULT_LETTER_SHELL_USE_UART2 is not set # end of Letter Shell Configuration + +CONFIG_USE_TLSF=y +# CONFIG_USE_SDMMC_CMD is not set # end of FreeRTOS Setting diff --git a/example/template/configs/d2000_aarch64_eg_configs b/example/template/configs/d2000_aarch64_eg_configs index 345dbfd1..d30b03a0 100644 --- a/example/template/configs/d2000_aarch64_eg_configs +++ b/example/template/configs/d2000_aarch64_eg_configs @@ -121,6 +121,12 @@ CONFIG_FPU_STACK_SIZE=0x1000 CONFIG_FREERTOS_USE_UART=y # end of Freertos Uart Drivers +# +# Freertos Pwm Drivers +# +# CONFIG_FREERTOS_USE_PWM is not set +# end of Freertos Pwm Drivers + # # Freertos Qspi Drivers # @@ -138,6 +144,31 @@ CONFIG_FREERTOS_USE_UART=y # # CONFIG_FREERTOS_USE_XMAC is not set # end of Freertos Eth Drivers + +# +# Freertos Gpio Drivers +# +# CONFIG_FREERTOS_USE_GPIO is not set +# end of Freertos Gpio Drivers + +# +# Freertos Spim Drivers +# +# CONFIG_FREERTOS_USE_FSPIM is not set +# end of Freertos Spim Drivers + +# +# Freertos DMA Drivers +# +# CONFIG_FREERTOS_USE_FDDMA is not set +# CONFIG_FREERTOS_USE_FGDMA is not set +# end of Freertos DMA Drivers + +# +# Freertos MMC Drivers +# +# CONFIG_FREERTOS_USE_FSDIO is not set +# end of Freertos MMC Drivers # end of Component Configuration # @@ -159,4 +190,7 @@ CONFIG_DEFAULT_LETTER_SHELL_USE_UART1=y # CONFIG_DEFAULT_LETTER_SHELL_USE_UART0 is not set # CONFIG_DEFAULT_LETTER_SHELL_USE_UART2 is not set # end of Letter Shell Configuration + +CONFIG_USE_TLSF=y +# CONFIG_USE_SDMMC_CMD is not set # end of FreeRTOS Setting diff --git a/example/template/configs/e2000d_aarch32_eg_configs b/example/template/configs/e2000d_aarch32_eg_configs index c7cb0bd7..ae0669bc 100644 --- a/example/template/configs/e2000d_aarch32_eg_configs +++ b/example/template/configs/e2000d_aarch32_eg_configs @@ -125,6 +125,12 @@ CONFIG_OUTPUT_BINARY=y CONFIG_FREERTOS_USE_UART=y # end of Freertos Uart Drivers +# +# Freertos Pwm Drivers +# +# CONFIG_FREERTOS_USE_PWM is not set +# end of Freertos Pwm Drivers + # # Freertos Qspi Drivers # @@ -142,6 +148,31 @@ CONFIG_FREERTOS_USE_UART=y # # CONFIG_FREERTOS_USE_XMAC is not set # end of Freertos Eth Drivers + +# +# Freertos Gpio Drivers +# +# CONFIG_FREERTOS_USE_GPIO is not set +# end of Freertos Gpio Drivers + +# +# Freertos Spim Drivers +# +# CONFIG_FREERTOS_USE_FSPIM is not set +# end of Freertos Spim Drivers + +# +# Freertos DMA Drivers +# +# CONFIG_FREERTOS_USE_FDDMA is not set +# CONFIG_FREERTOS_USE_FGDMA is not set +# end of Freertos DMA Drivers + +# +# Freertos MMC Drivers +# +# CONFIG_FREERTOS_USE_FSDIO is not set +# end of Freertos MMC Drivers # end of Component Configuration # @@ -163,4 +194,7 @@ CONFIG_DEFAULT_LETTER_SHELL_USE_UART1=y # CONFIG_DEFAULT_LETTER_SHELL_USE_UART0 is not set # CONFIG_DEFAULT_LETTER_SHELL_USE_UART2 is not set # end of Letter Shell Configuration + +CONFIG_USE_TLSF=y +# CONFIG_USE_SDMMC_CMD is not set # end of FreeRTOS Setting diff --git a/example/template/configs/e2000d_aarch64_eg_configs b/example/template/configs/e2000d_aarch64_eg_configs index dc0eac60..1927e9c1 100644 --- a/example/template/configs/e2000d_aarch64_eg_configs +++ b/example/template/configs/e2000d_aarch64_eg_configs @@ -121,6 +121,12 @@ CONFIG_OUTPUT_BINARY=y CONFIG_FREERTOS_USE_UART=y # end of Freertos Uart Drivers +# +# Freertos Pwm Drivers +# +# CONFIG_FREERTOS_USE_PWM is not set +# end of Freertos Pwm Drivers + # # Freertos Qspi Drivers # @@ -138,6 +144,31 @@ CONFIG_FREERTOS_USE_UART=y # # CONFIG_FREERTOS_USE_XMAC is not set # end of Freertos Eth Drivers + +# +# Freertos Gpio Drivers +# +# CONFIG_FREERTOS_USE_GPIO is not set +# end of Freertos Gpio Drivers + +# +# Freertos Spim Drivers +# +# CONFIG_FREERTOS_USE_FSPIM is not set +# end of Freertos Spim Drivers + +# +# Freertos DMA Drivers +# +# CONFIG_FREERTOS_USE_FDDMA is not set +# CONFIG_FREERTOS_USE_FGDMA is not set +# end of Freertos DMA Drivers + +# +# Freertos MMC Drivers +# +# CONFIG_FREERTOS_USE_FSDIO is not set +# end of Freertos MMC Drivers # end of Component Configuration # @@ -159,4 +190,7 @@ CONFIG_DEFAULT_LETTER_SHELL_USE_UART1=y # CONFIG_DEFAULT_LETTER_SHELL_USE_UART0 is not set # CONFIG_DEFAULT_LETTER_SHELL_USE_UART2 is not set # end of Letter Shell Configuration + +CONFIG_USE_TLSF=y +# CONFIG_USE_SDMMC_CMD is not set # end of FreeRTOS Setting diff --git a/example/template/configs/ft2004_aarch32_eg_configs b/example/template/configs/ft2004_aarch32_eg_configs index 7a8630c9..65e58378 100644 --- a/example/template/configs/ft2004_aarch32_eg_configs +++ b/example/template/configs/ft2004_aarch32_eg_configs @@ -125,6 +125,12 @@ CONFIG_UNDEF_STACK_SIZE=0x1000 CONFIG_FREERTOS_USE_UART=y # end of Freertos Uart Drivers +# +# Freertos Pwm Drivers +# +# CONFIG_FREERTOS_USE_PWM is not set +# end of Freertos Pwm Drivers + # # Freertos Qspi Drivers # @@ -142,6 +148,31 @@ CONFIG_FREERTOS_USE_UART=y # # CONFIG_FREERTOS_USE_XMAC is not set # end of Freertos Eth Drivers + +# +# Freertos Gpio Drivers +# +# CONFIG_FREERTOS_USE_GPIO is not set +# end of Freertos Gpio Drivers + +# +# Freertos Spim Drivers +# +# CONFIG_FREERTOS_USE_FSPIM is not set +# end of Freertos Spim Drivers + +# +# Freertos DMA Drivers +# +# CONFIG_FREERTOS_USE_FDDMA is not set +# CONFIG_FREERTOS_USE_FGDMA is not set +# end of Freertos DMA Drivers + +# +# Freertos MMC Drivers +# +# CONFIG_FREERTOS_USE_FSDIO is not set +# end of Freertos MMC Drivers # end of Component Configuration # @@ -163,4 +194,7 @@ CONFIG_DEFAULT_LETTER_SHELL_USE_UART1=y # CONFIG_DEFAULT_LETTER_SHELL_USE_UART0 is not set # CONFIG_DEFAULT_LETTER_SHELL_USE_UART2 is not set # end of Letter Shell Configuration + +CONFIG_USE_TLSF=y +# CONFIG_USE_SDMMC_CMD is not set # end of FreeRTOS Setting diff --git a/example/template/configs/ft2004_aarch64_eg_configs b/example/template/configs/ft2004_aarch64_eg_configs index 6becaf30..6a247726 100644 --- a/example/template/configs/ft2004_aarch64_eg_configs +++ b/example/template/configs/ft2004_aarch64_eg_configs @@ -121,6 +121,12 @@ CONFIG_FPU_STACK_SIZE=0x1000 CONFIG_FREERTOS_USE_UART=y # end of Freertos Uart Drivers +# +# Freertos Pwm Drivers +# +# CONFIG_FREERTOS_USE_PWM is not set +# end of Freertos Pwm Drivers + # # Freertos Qspi Drivers # @@ -138,6 +144,31 @@ CONFIG_FREERTOS_USE_UART=y # # CONFIG_FREERTOS_USE_XMAC is not set # end of Freertos Eth Drivers + +# +# Freertos Gpio Drivers +# +# CONFIG_FREERTOS_USE_GPIO is not set +# end of Freertos Gpio Drivers + +# +# Freertos Spim Drivers +# +# CONFIG_FREERTOS_USE_FSPIM is not set +# end of Freertos Spim Drivers + +# +# Freertos DMA Drivers +# +# CONFIG_FREERTOS_USE_FDDMA is not set +# CONFIG_FREERTOS_USE_FGDMA is not set +# end of Freertos DMA Drivers + +# +# Freertos MMC Drivers +# +# CONFIG_FREERTOS_USE_FSDIO is not set +# end of Freertos MMC Drivers # end of Component Configuration # @@ -159,4 +190,7 @@ CONFIG_DEFAULT_LETTER_SHELL_USE_UART1=y # CONFIG_DEFAULT_LETTER_SHELL_USE_UART0 is not set # CONFIG_DEFAULT_LETTER_SHELL_USE_UART2 is not set # end of Letter Shell Configuration + +CONFIG_USE_TLSF=y +# CONFIG_USE_SDMMC_CMD is not set # end of FreeRTOS Setting diff --git a/example/template/sdkconfig b/example/template/sdkconfig index dc0eac60..1927e9c1 100644 --- a/example/template/sdkconfig +++ b/example/template/sdkconfig @@ -121,6 +121,12 @@ CONFIG_OUTPUT_BINARY=y CONFIG_FREERTOS_USE_UART=y # end of Freertos Uart Drivers +# +# Freertos Pwm Drivers +# +# CONFIG_FREERTOS_USE_PWM is not set +# end of Freertos Pwm Drivers + # # Freertos Qspi Drivers # @@ -138,6 +144,31 @@ CONFIG_FREERTOS_USE_UART=y # # CONFIG_FREERTOS_USE_XMAC is not set # end of Freertos Eth Drivers + +# +# Freertos Gpio Drivers +# +# CONFIG_FREERTOS_USE_GPIO is not set +# end of Freertos Gpio Drivers + +# +# Freertos Spim Drivers +# +# CONFIG_FREERTOS_USE_FSPIM is not set +# end of Freertos Spim Drivers + +# +# Freertos DMA Drivers +# +# CONFIG_FREERTOS_USE_FDDMA is not set +# CONFIG_FREERTOS_USE_FGDMA is not set +# end of Freertos DMA Drivers + +# +# Freertos MMC Drivers +# +# CONFIG_FREERTOS_USE_FSDIO is not set +# end of Freertos MMC Drivers # end of Component Configuration # @@ -159,4 +190,7 @@ CONFIG_DEFAULT_LETTER_SHELL_USE_UART1=y # CONFIG_DEFAULT_LETTER_SHELL_USE_UART0 is not set # CONFIG_DEFAULT_LETTER_SHELL_USE_UART2 is not set # end of Letter Shell Configuration + +CONFIG_USE_TLSF=y +# CONFIG_USE_SDMMC_CMD is not set # end of FreeRTOS Setting diff --git a/example/template/sdkconfig.h b/example/template/sdkconfig.h index b6c4228f..8d239b7c 100644 --- a/example/template/sdkconfig.h +++ b/example/template/sdkconfig.h @@ -109,6 +109,11 @@ #define CONFIG_FREERTOS_USE_UART /* end of Freertos Uart Drivers */ +/* Freertos Pwm Drivers */ + +/* CONFIG_FREERTOS_USE_PWM is not set */ +/* end of Freertos Pwm Drivers */ + /* Freertos Qspi Drivers */ /* CONFIG_FREERTOS_USE_QSPI is not set */ @@ -123,6 +128,27 @@ /* CONFIG_FREERTOS_USE_XMAC is not set */ /* end of Freertos Eth Drivers */ + +/* Freertos Gpio Drivers */ + +/* CONFIG_FREERTOS_USE_GPIO is not set */ +/* end of Freertos Gpio Drivers */ + +/* Freertos Spim Drivers */ + +/* CONFIG_FREERTOS_USE_FSPIM is not set */ +/* end of Freertos Spim Drivers */ + +/* Freertos DMA Drivers */ + +/* CONFIG_FREERTOS_USE_FDDMA is not set */ +/* CONFIG_FREERTOS_USE_FGDMA is not set */ +/* end of Freertos DMA Drivers */ + +/* Freertos MMC Drivers */ + +/* CONFIG_FREERTOS_USE_FSDIO is not set */ +/* end of Freertos MMC Drivers */ /* end of Component Configuration */ /* FreeRTOS Setting */ @@ -142,6 +168,8 @@ /* CONFIG_DEFAULT_LETTER_SHELL_USE_UART0 is not set */ /* CONFIG_DEFAULT_LETTER_SHELL_USE_UART2 is not set */ /* end of Letter Shell Configuration */ +#define CONFIG_USE_TLSF +/* CONFIG_USE_SDMMC_CMD is not set */ /* end of FreeRTOS Setting */ #endif diff --git a/install.py b/install.py index 51f361d5..fd1fbf52 100644 --- a/install.py +++ b/install.py @@ -86,7 +86,7 @@ os.system("chmod +x ./make/*.mk --silent ") os.system("chmod +x ./lib/Kconfiglib/*.py --silent ") # Add standalone sdk -standalone_sdk_v="v0.3.0" +standalone_sdk_v="ab17ac114e1413314864cd6f4b695fb8ba4311f1" # v0.3.1 commit id standalone_path=freertos_sdk_path + '/standalone' standalone_branche="master" standalone_remote="https://gitee.com/phytium_embedded/phytium-standalone-sdk.git" @@ -158,7 +158,7 @@ os.system("echo \"export FREERTOS_STANDALONE={}\" >> {}".format(standalone_path, os.system("echo \"### PHYTIUM FREERTOS SDK SETTING END\" >> {}".format(sdk_profile_path)) ## STEP 5: display success message and enable environment -print("[5]: Success!!! Standalone SDK is Install at {}".format(freertos_sdk_path)) +print("[5]: Success!!! SDK is Install at {}".format(freertos_sdk_path)) print("[5]: SDK Environment Variables is in {}".format(sdk_profile_path)) print("[5]: Phytium FREERTOS SDK Setup Done for {}!!!".format(usr)) print("[5]: Input 'source {}' or Reboot System to Active SDK".format(sdk_profile_path)) diff --git a/make/complier.mk b/make/complier.mk index 79891d27..eeb028b3 100755 --- a/make/complier.mk +++ b/make/complier.mk @@ -157,11 +157,11 @@ else endif $(APP): $(OBJ_FILES) linkscript - @echo Linking $@.elf - @echo Dumping $@.map + @echo " LINK $@.elf" + @echo " DUMP $@.map" $(QUIET) $(CC) $(TARGET_ARCH) $(LDFLAGS) -T $(PROJ_LD) --output $@.elf -Wl,-Map=$@.map $(OBJ_FILES) -lm ifdef CONFIG_OUTPUT_BINARY - @echo Objcopying $@.bin + @echo " COPY $@.bin" $(QUIET) $(OC) -v -O binary $@.elf $@.bin endif $(QUIET) $(OD) -D $@.elf > $@.asm @@ -203,11 +203,11 @@ $(X_OUTPUT_DIRS): @mkdir -p $@ $(OUTPUT_DIR)/%.o : %.S | $(X_OUTPUT_DIRS) - $(PROGRESS) + @echo " AS $@" $(QUIET) $(CC) -c $(TARGET_ARCH) $(CPPFLAGS) $(ASFLAGS) -o $@ $< $(OUTPUT_DIR)/%.o : %.c | $(X_OUTPUT_DIRS) - $(PROGRESS) + @echo " CC $@" $(QUIET) $(CC) -c $(TARGET_ARCH) $(CPPFLAGS) $(CFLAGS) -o $@ $< clean: diff --git a/make/default_load.mk b/make/default_load.mk index bda38e61..535a7250 100644 --- a/make/default_load.mk +++ b/make/default_load.mk @@ -1,6 +1,6 @@ # 根据例程默认,编译各平台的镜像 -.PHONY: load_e2000_aarch32 load_e2000_aarch64 backup_kconfig build_ft2004_aarch32 build_ft2004_aarch64 build_d2000_aarch32 build_d2000_aarch64 config_ft2004_aarch32 config_ft2004_aarch64 config_d2000_aarch32 config_d2000_aarch64 +.PHONY: load_e2000d_aarch32 load_e2000d_aarch64 load_e2000q_aarch32 load_e2000q_aarch64 backup_kconfig build_ft2004_aarch32 build_ft2004_aarch64 build_d2000_aarch32 build_d2000_aarch64 config_ft2004_aarch32 config_ft2004_aarch64 config_d2000_aarch32 config_d2000_aarch64 load_ft2004_aarch32: @echo $(BUILD_ALL_OUTPUT_DIR) @@ -94,4 +94,8 @@ endif config_ft2004_aarch32: lddefconfig genconfig clean config_ft2004_aarch64: lddefconfig genconfig clean config_d2000_aarch32: lddefconfig genconfig clean -config_d2000_aarch64: lddefconfig genconfig clean \ No newline at end of file +config_d2000_aarch64: lddefconfig genconfig clean +config_e2000d_aarch32: lddefconfig genconfig clean +config_e2000d_aarch64: lddefconfig genconfig clean +config_e2000q_aarch32: lddefconfig genconfig clean +config_e2000q_aarch64: lddefconfig genconfig clean \ No newline at end of file diff --git a/make/preconfig.mk b/make/preconfig.mk index e47a901e..a19c2b90 100755 --- a/make/preconfig.mk +++ b/make/preconfig.mk @@ -15,14 +15,6 @@ ifeq ($(MAKECMDGOALS),config_ft2004_aarch64) export DEF_KCONFIG=ft2004_aarch64_defconfig endif -ifeq ($(MAKECMDGOALS),config_e2000_aarch32) -export DEF_KCONFIG=e2000_aarch32_defconfig -endif - -ifeq ($(MAKECMDGOALS),config_e2000_aarch64) -export DEF_KCONFIG=e2000_aarch64_defconfig -endif - ifeq ($(MAKECMDGOALS),config_d2000_aarch32) export DEF_KCONFIG=d2000_aarch32_defconfig endif @@ -31,6 +23,23 @@ ifeq ($(MAKECMDGOALS),config_d2000_aarch64) export DEF_KCONFIG=d2000_aarch64_defconfig endif +ifeq ($(MAKECMDGOALS),config_e2000d_aarch32) +export DEF_KCONFIG=e2000d_aarch32_defconfig +endif + +ifeq ($(MAKECMDGOALS),config_e2000d_aarch64) +export DEF_KCONFIG=e2000d_aarch64_defconfig +endif + +ifeq ($(MAKECMDGOALS),config_e2000q_aarch32) +export DEF_KCONFIG=e2000q_aarch32_defconfig +endif + +ifeq ($(MAKECMDGOALS),config_e2000q_aarch64) +export DEF_KCONFIG=e2000q_aarch64_defconfig +endif + + #if sdkconfig not exits, prompt user to load default sdkconfig first FILE_EXISTS = $(shell if [ -f $(KCONFIG_DIR)/$(KCONFIG_CONFIG) ]; then echo "exist"; else echo "notexist"; fi;) diff --git a/third-party/FreeRTOS-Plus-CLI/FreeRTOS_CLI.c b/third-party/FreeRTOS-Plus-CLI/FreeRTOS_CLI.c deleted file mode 100644 index 9b92eba1..00000000 --- a/third-party/FreeRTOS-Plus-CLI/FreeRTOS_CLI.c +++ /dev/null @@ -1,351 +0,0 @@ -/* - * FreeRTOS+CLI V1.0.4 - * Copyright (C) 2017 Amazon.com, Inc. or its affiliates. All Rights Reserved. - * - * Permission is hereby granted, free of charge, to any person obtaining a copy of - * this software and associated documentation files (the "Software"), to deal in - * the Software without restriction, including without limitation the rights to - * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of - * the Software, and to permit persons to whom the Software is furnished to do so, - * subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in all - * copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS - * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR - * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER - * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN - * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - * - * http://www.FreeRTOS.org - * http://aws.amazon.com/freertos - * - * 1 tab == 4 spaces! - */ - -/* Standard includes. */ -#include -#include - -/* FreeRTOS includes. */ -#include "FreeRTOS.h" -#include "task.h" - -/* Utils includes. */ -#include "FreeRTOS_CLI.h" - -/* If the application writer needs to place the buffer used by the CLI at a -fixed address then set configAPPLICATION_PROVIDES_cOutputBuffer to 1 in -FreeRTOSConfig.h, then declare an array with the following name and size in -one of the application files: - char cOutputBuffer[ configCOMMAND_INT_MAX_OUTPUT_SIZE ]; -*/ -#ifndef configAPPLICATION_PROVIDES_cOutputBuffer - #define configAPPLICATION_PROVIDES_cOutputBuffer 0 -#endif - -typedef struct xCOMMAND_INPUT_LIST -{ - const CLI_Command_Definition_t *pxCommandLineDefinition; - struct xCOMMAND_INPUT_LIST *pxNext; -} CLI_Definition_List_Item_t; - -/* - * The callback function that is executed when "help" is entered. This is the - * only default command that is always present. - */ -static BaseType_t prvHelpCommand( char *pcWriteBuffer, size_t xWriteBufferLen, const char *pcCommandString ); - -/* - * Return the number of parameters that follow the command name. - */ -static int8_t prvGetNumberOfParameters( const char *pcCommandString ); - -/* The definition of the "help" command. This command is always at the front -of the list of registered commands. */ -static const CLI_Command_Definition_t xHelpCommand = -{ - "help", - "\r\nhelp:\r\n Lists all the registered commands\r\n\r\n", - prvHelpCommand, - 0 -}; - -/* The definition of the list of commands. Commands that are registered are -added to this list. */ -static CLI_Definition_List_Item_t xRegisteredCommands = -{ - &xHelpCommand, /* The first command in the list is always the help command, defined in this file. */ - NULL /* The next pointer is initialised to NULL, as there are no other registered commands yet. */ -}; - -/* A buffer into which command outputs can be written is declared here, rather -than in the command console implementation, to allow multiple command consoles -to share the same buffer. For example, an application may allow access to the -command interpreter by UART and by Ethernet. Sharing a buffer is done purely -to save RAM. Note, however, that the command console itself is not re-entrant, -so only one command interpreter interface can be used at any one time. For that -reason, no attempt at providing mutual exclusion to the cOutputBuffer array is -attempted. - -configAPPLICATION_PROVIDES_cOutputBuffer is provided to allow the application -writer to provide their own cOutputBuffer declaration in cases where the -buffer needs to be placed at a fixed address (rather than by the linker). */ -#if( configAPPLICATION_PROVIDES_cOutputBuffer == 0 ) - static char cOutputBuffer[ configCOMMAND_INT_MAX_OUTPUT_SIZE ]; -#else - extern char cOutputBuffer[ configCOMMAND_INT_MAX_OUTPUT_SIZE ]; -#endif - - -/*-----------------------------------------------------------*/ - -BaseType_t FreeRTOS_CLIRegisterCommand( const CLI_Command_Definition_t * const pxCommandToRegister ) -{ -static CLI_Definition_List_Item_t *pxLastCommandInList = &xRegisteredCommands; -CLI_Definition_List_Item_t *pxNewListItem; -BaseType_t xReturn = pdFAIL; - - /* Check the parameter is not NULL. */ - configASSERT( pxCommandToRegister ); - - /* Create a new list item that will reference the command being registered. */ - pxNewListItem = ( CLI_Definition_List_Item_t * ) pvPortMalloc( sizeof( CLI_Definition_List_Item_t ) ); - configASSERT( pxNewListItem ); - - if( pxNewListItem != NULL ) - { - taskENTER_CRITICAL(); - { - /* Reference the command being registered from the newly created - list item. */ - pxNewListItem->pxCommandLineDefinition = pxCommandToRegister; - - /* The new list item will get added to the end of the list, so - pxNext has nowhere to point. */ - pxNewListItem->pxNext = NULL; - - /* Add the newly created list item to the end of the already existing - list. */ - pxLastCommandInList->pxNext = pxNewListItem; - - /* Set the end of list marker to the new list item. */ - pxLastCommandInList = pxNewListItem; - } - taskEXIT_CRITICAL(); - - xReturn = pdPASS; - } - - return xReturn; -} -/*-----------------------------------------------------------*/ - -BaseType_t FreeRTOS_CLIProcessCommand( const char * const pcCommandInput, char * pcWriteBuffer, size_t xWriteBufferLen ) -{ -static const CLI_Definition_List_Item_t *pxCommand = NULL; -BaseType_t xReturn = pdTRUE; -const char *pcRegisteredCommandString; -size_t xCommandStringLength; - - /* Note: This function is not re-entrant. It must not be called from more - thank one task. */ - - if( pxCommand == NULL ) - { - /* Search for the command string in the list of registered commands. */ - for( pxCommand = &xRegisteredCommands; pxCommand != NULL; pxCommand = pxCommand->pxNext ) - { - pcRegisteredCommandString = pxCommand->pxCommandLineDefinition->pcCommand; - xCommandStringLength = strlen( pcRegisteredCommandString ); - - /* To ensure the string lengths match exactly, so as not to pick up - a sub-string of a longer command, check the byte after the expected - end of the string is either the end of the string or a space before - a parameter. */ - if( strncmp( pcCommandInput, pcRegisteredCommandString, xCommandStringLength ) == 0 ) - { - if( ( pcCommandInput[ xCommandStringLength ] == ' ' ) || ( pcCommandInput[ xCommandStringLength ] == 0x00 ) ) - { - /* The command has been found. Check it has the expected - number of parameters. If cExpectedNumberOfParameters is -1, - then there could be a variable number of parameters and no - check is made. */ - if( pxCommand->pxCommandLineDefinition->cExpectedNumberOfParameters >= 0 ) - { - if( prvGetNumberOfParameters( pcCommandInput ) != pxCommand->pxCommandLineDefinition->cExpectedNumberOfParameters ) - { - xReturn = pdFALSE; - } - } - - break; - } - } - } - } - - if( ( pxCommand != NULL ) && ( xReturn == pdFALSE ) ) - { - /* The command was found, but the number of parameters with the command - was incorrect. */ - strncpy( pcWriteBuffer, "Incorrect command parameter(s). Enter \"help\" to view a list of available commands.\r\n\r\n", xWriteBufferLen ); - pxCommand = NULL; - } - else if( pxCommand != NULL ) - { - /* Call the callback function that is registered to this command. */ - xReturn = pxCommand->pxCommandLineDefinition->pxCommandInterpreter( pcWriteBuffer, xWriteBufferLen, pcCommandInput ); - - /* If xReturn is pdFALSE, then no further strings will be returned - after this one, and pxCommand can be reset to NULL ready to search - for the next entered command. */ - if( xReturn == pdFALSE ) - { - pxCommand = NULL; - } - } - else - { - /* pxCommand was NULL, the command was not found. */ - strncpy( pcWriteBuffer, "Command not recognised. Enter 'help' to view a list of available commands.\r\n\r\n", xWriteBufferLen ); - xReturn = pdFALSE; - } - - return xReturn; -} -/*-----------------------------------------------------------*/ - -char *FreeRTOS_CLIGetOutputBuffer( void ) -{ - return cOutputBuffer; -} -/*-----------------------------------------------------------*/ - -const char *FreeRTOS_CLIGetParameter( const char *pcCommandString, UBaseType_t uxWantedParameter, BaseType_t *pxParameterStringLength ) -{ -UBaseType_t uxParametersFound = 0; -const char *pcReturn = NULL; - - *pxParameterStringLength = 0; - - while( uxParametersFound < uxWantedParameter ) - { - /* Index the character pointer past the current word. If this is the start - of the command string then the first word is the command itself. */ - while( ( ( *pcCommandString ) != 0x00 ) && ( ( *pcCommandString ) != ' ' ) ) - { - pcCommandString++; - } - - /* Find the start of the next string. */ - while( ( ( *pcCommandString ) != 0x00 ) && ( ( *pcCommandString ) == ' ' ) ) - { - pcCommandString++; - } - - /* Was a string found? */ - if( *pcCommandString != 0x00 ) - { - /* Is this the start of the required parameter? */ - uxParametersFound++; - - if( uxParametersFound == uxWantedParameter ) - { - /* How long is the parameter? */ - pcReturn = pcCommandString; - while( ( ( *pcCommandString ) != 0x00 ) && ( ( *pcCommandString ) != ' ' ) ) - { - ( *pxParameterStringLength )++; - pcCommandString++; - } - - if( *pxParameterStringLength == 0 ) - { - pcReturn = NULL; - } - - break; - } - } - else - { - break; - } - } - - return pcReturn; -} -/*-----------------------------------------------------------*/ - -static BaseType_t prvHelpCommand( char *pcWriteBuffer, size_t xWriteBufferLen, const char *pcCommandString ) -{ -static const CLI_Definition_List_Item_t * pxCommand = NULL; -BaseType_t xReturn; - - ( void ) pcCommandString; - - if( pxCommand == NULL ) - { - /* Reset the pxCommand pointer back to the start of the list. */ - pxCommand = &xRegisteredCommands; - } - - /* Return the next command help string, before moving the pointer on to - the next command in the list. */ - strncpy( pcWriteBuffer, pxCommand->pxCommandLineDefinition->pcHelpString, xWriteBufferLen ); - pxCommand = pxCommand->pxNext; - - if( pxCommand == NULL ) - { - /* There are no more commands in the list, so there will be no more - strings to return after this one and pdFALSE should be returned. */ - xReturn = pdFALSE; - } - else - { - xReturn = pdTRUE; - } - - return xReturn; -} -/*-----------------------------------------------------------*/ - -static int8_t prvGetNumberOfParameters( const char *pcCommandString ) -{ -int8_t cParameters = 0; -BaseType_t xLastCharacterWasSpace = pdFALSE; - - /* Count the number of space delimited words in pcCommandString. */ - while( *pcCommandString != 0x00 ) - { - if( ( *pcCommandString ) == ' ' ) - { - if( xLastCharacterWasSpace != pdTRUE ) - { - cParameters++; - xLastCharacterWasSpace = pdTRUE; - } - } - else - { - xLastCharacterWasSpace = pdFALSE; - } - - pcCommandString++; - } - - /* If the command string ended with spaces, then there will have been too - many parameters counted. */ - if( xLastCharacterWasSpace == pdTRUE ) - { - cParameters--; - } - - /* The value returned is one less than the number of space delimited words, - as the first word should be the command itself. */ - return cParameters; -} - diff --git a/third-party/FreeRTOS-Plus-CLI/FreeRTOS_CLI.h b/third-party/FreeRTOS-Plus-CLI/FreeRTOS_CLI.h deleted file mode 100644 index 6281c127..00000000 --- a/third-party/FreeRTOS-Plus-CLI/FreeRTOS_CLI.h +++ /dev/null @@ -1,105 +0,0 @@ -/* - * FreeRTOS+CLI V1.0.4 - * Copyright (C) 2017 Amazon.com, Inc. or its affiliates. All Rights Reserved. - * - * Permission is hereby granted, free of charge, to any person obtaining a copy of - * this software and associated documentation files (the "Software"), to deal in - * the Software without restriction, including without limitation the rights to - * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of - * the Software, and to permit persons to whom the Software is furnished to do so, - * subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in all - * copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS - * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR - * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER - * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN - * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - * - * http://www.FreeRTOS.org - * http://aws.amazon.com/freertos - * - * 1 tab == 4 spaces! - */ - -#ifndef COMMAND_INTERPRETER_H -#define COMMAND_INTERPRETER_H - -/* The prototype to which callback functions used to process command line -commands must comply. pcWriteBuffer is a buffer into which the output from -executing the command can be written, xWriteBufferLen is the length, in bytes of -the pcWriteBuffer buffer, and pcCommandString is the entire string as input by -the user (from which parameters can be extracted).*/ -typedef BaseType_t (*pdCOMMAND_LINE_CALLBACK)( char *pcWriteBuffer, size_t xWriteBufferLen, const char *pcCommandString ); - -/* The structure that defines command line commands. A command line command -should be defined by declaring a const structure of this type. */ -typedef struct xCOMMAND_LINE_INPUT -{ - const char * const pcCommand; /* The command that causes pxCommandInterpreter to be executed. For example "help". Must be all lower case. */ - const char * const pcHelpString; /* String that describes how to use the command. Should start with the command itself, and end with "\r\n". For example "help: Returns a list of all the commands\r\n". */ - const pdCOMMAND_LINE_CALLBACK pxCommandInterpreter; /* A pointer to the callback function that will return the output generated by the command. */ - int8_t cExpectedNumberOfParameters; /* Commands expect a fixed number of parameters, which may be zero. */ -} CLI_Command_Definition_t; - -/* For backward compatibility. */ -#define xCommandLineInput CLI_Command_Definition_t - -/* - * Register the command passed in using the pxCommandToRegister parameter. - * Registering a command adds the command to the list of commands that are - * handled by the command interpreter. Once a command has been registered it - * can be executed from the command line. - */ -BaseType_t FreeRTOS_CLIRegisterCommand( const CLI_Command_Definition_t * const pxCommandToRegister ); - -/* - * Runs the command interpreter for the command string "pcCommandInput". Any - * output generated by running the command will be placed into pcWriteBuffer. - * xWriteBufferLen must indicate the size, in bytes, of the buffer pointed to - * by pcWriteBuffer. - * - * FreeRTOS_CLIProcessCommand should be called repeatedly until it returns pdFALSE. - * - * pcCmdIntProcessCommand is not reentrant. It must not be called from more - * than one task - or at least - by more than one task at a time. - */ -BaseType_t FreeRTOS_CLIProcessCommand( const char * const pcCommandInput, char * pcWriteBuffer, size_t xWriteBufferLen ); - -/*-----------------------------------------------------------*/ - -/* - * A buffer into which command outputs can be written is declared in the - * main command interpreter, rather than in the command console implementation, - * to allow application that provide access to the command console via multiple - * interfaces to share a buffer, and therefore save RAM. Note, however, that - * the command interpreter itself is not re-entrant, so only one command - * console interface can be used at any one time. For that reason, no attempt - * is made to provide any mutual exclusion mechanism on the output buffer. - * - * FreeRTOS_CLIGetOutputBuffer() returns the address of the output buffer. - */ -char *FreeRTOS_CLIGetOutputBuffer( void ); - -/* - * Return a pointer to the xParameterNumber'th word in pcCommandString. - */ -const char *FreeRTOS_CLIGetParameter( const char *pcCommandString, UBaseType_t uxWantedParameter, BaseType_t *pxParameterStringLength ); - -#endif /* COMMAND_INTERPRETER_H */ - - - - - - - - - - - - - diff --git a/third-party/FreeRTOS-Plus-CLI/History.txt b/third-party/FreeRTOS-Plus-CLI/History.txt deleted file mode 100644 index 01c95fee..00000000 --- a/third-party/FreeRTOS-Plus-CLI/History.txt +++ /dev/null @@ -1,32 +0,0 @@ -Changes between V1.0.3 and V1.0.4 released - - + Update to use stdint and the FreeRTOS specific typedefs that were - introduced in FreeRTOS V8.0.0. - -Changes between V1.0.2 and V1.0.3 released - - + Previously, and in line with good software engineering practice, the - FreeRTOS coding standard did not permit the use of char types that were - not explicitly qualified as either signed or unsigned. As a result char - pointers used to reference strings required casts, as did the use of any - standard string handling functions. The casts ensured compiler warnings - were not generated by compilers that defaulted unqualified char types to - be signed or compilers that defaulted unqualified char types to be - unsigned. As it has in later MISRA standards, this rule has now been - relaxed, and unqualified char types are now permitted, but only when: - 1) The char is used to point to a human readable text string. - 2) The char is used to hold a single ASCII character. - -Changes between V1.0.1 and V1.0.2 released 14/10/2013 - - + Changed double quotes (") to single quotes (') in the help string to - allow the strings to be used with JSON in FreeRTOS+Nabto. - -Changes between V1.0.0 and V1.0.1 released 05/07/2012 - - + Change the name of the structure used to map a function that implements - a CLI command to the string used to call the command from - xCommandLineInput to CLI_Command_Definition_t, as it was always intended - to be. A #define was added to map the old name to the new name for - reasons of backward compatibility. - diff --git a/third-party/FreeRTOS-Plus-CLI/LICENSE_INFORMATION.txt b/third-party/FreeRTOS-Plus-CLI/LICENSE_INFORMATION.txt deleted file mode 100644 index a8b0a6d3..00000000 --- a/third-party/FreeRTOS-Plus-CLI/LICENSE_INFORMATION.txt +++ /dev/null @@ -1,19 +0,0 @@ -FreeRTOS+CLI is released under the following MIT license. - -Copyright (C) 2017 Amazon.com, Inc. or its affiliates. All Rights Reserved. -Permission is hereby granted, free of charge, to any person obtaining a copy of -this software and associated documentation files (the "Software"), to deal in -the Software without restriction, including without limitation the rights to -use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of -the Software, and to permit persons to whom the Software is furnished to do so, -subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS -FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR -COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER -IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN -CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/third-party/FreeRTOS-Plus-CLI/ReadMe.url b/third-party/FreeRTOS-Plus-CLI/ReadMe.url deleted file mode 100644 index afc826fd..00000000 --- a/third-party/FreeRTOS-Plus-CLI/ReadMe.url +++ /dev/null @@ -1,5 +0,0 @@ -[InternetShortcut] -URL=http://www.freertos.org/cli -IDList= -[{000214A0-0000-0000-C000-000000000046}] -Prop3=19,2 diff --git a/third-party/FreeRTOS-Plus-CLI/readme.txt b/third-party/FreeRTOS-Plus-CLI/readme.txt deleted file mode 100644 index 801d5351..00000000 --- a/third-party/FreeRTOS-Plus-CLI/readme.txt +++ /dev/null @@ -1,4 +0,0 @@ -Contains source and header files that implement FreeRTOS+CLI. See -http://www.FreeRTOS.org/cli for documentation and license information. - - \ No newline at end of file diff --git a/third-party/Kconfig b/third-party/Kconfig index cf452b54..77b651e5 100644 --- a/third-party/Kconfig +++ b/third-party/Kconfig @@ -78,4 +78,22 @@ config USE_LETTER_SHELL if USE_LETTER_SHELL source "$(FREERTOS_SDK_ROOT)/third-party/letter-shell-3.1/Kconfig" + endif + +config USE_TLSF + bool + prompt "Use TLSF" + default n + help + Include TLSF for memory pool + +config USE_SDMMC_CMD + bool + prompt "Use Sd/MMC/SDIO/eMMc Cmd" + default n + help + Include Sd/MMC/SDIO/eMMc Command framework + + if USE_SDMMC_CMD + source "$(FREERTOS_SDK_ROOT)/third-party/sdmmc-1.0/Kconfig" endif \ No newline at end of file diff --git a/third-party/bootloader/bootloader.ld b/third-party/bootloader/bootloader.ld deleted file mode 100644 index 3c81f6c0..00000000 --- a/third-party/bootloader/bootloader.ld +++ /dev/null @@ -1,13 +0,0 @@ -ENTRY(reset) -SECTIONS -{ - . = 0x00000000; - .startup . : { start.o(.text) } - .text : { *(.text) } - . = 0x00900000; - .data : { *(.data) } - .bss : { *(.bss COMMON) } - . = ALIGN(8); - . = . + 0x8000; /* 32kB of stack memory */ - svc_stack_top = .; -} diff --git a/third-party/bootloader/device/qemu_print.c b/third-party/bootloader/device/qemu_print.c deleted file mode 100644 index cbf03848..00000000 --- a/third-party/bootloader/device/qemu_print.c +++ /dev/null @@ -1,241 +0,0 @@ -#include -#include -#include "imx_uart.h" - - -char send_char(uint8_t *ch) -{ - return uart_putc(*ch); -} - -const char hex_asc_table[16] = - { '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'a', 'b', 'c', 'd', 'e', 'f' }; -const char upper_hex_asc_table[16] = - { '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'A', 'B', 'C', 'D', 'E', 'F' }; - -int is_dec_asc(char ch) -{ - uint32_t i; - for (i = 0; i < 10; i++) { - if (ch == hex_asc_table[i]) - return 1; - } - - return 0; -} - -int is_asc(char ch) -{ - return (ch >= 'A' && ch <= 'Z') || (ch >= 'a' && ch <= 'z'); -} - -int is_hex_asc(char ch) -{ - return (ch >= '0' && ch <= '9') || (ch >= 'A' && ch <= 'F') || (ch >= 'a' && ch <= 'f'); -} - -int printf_char(char ch) -{ - uint8_t c1 = (uint8_t)'\r'; - uint8_t c2 = 0; - - c2 = (uint8_t)ch; - - send_char(&c2); - - if (((uint8_t)'\n') == c2) { - send_char(&c1); - } - - return 0; -} - -int printf_str(char *str) -{ - while (str && (*str != (char)'\0')) { - printf_char(*str); - str++; - } - - return 0; -} - -int printf_hex(uint32_t val, uint32_t width) -{ - int i = 0; - char hex_val = 0, asc = 0; - - if ((width > 8) || (width == 0)) - width = 8; - - for (i = width - 1; i >= 0; i--) { - hex_val = (val & (0x0F << (i << 2))) >> (i << 2); - asc = hex_asc_table[(int)hex_val]; - printf_char(asc); - } - - return 0; -} - -int printf_hex_upper(uint32_t val, uint32_t width) -{ - int i = 0; - char hex_val = 0, asc = 0; - - if ((width > 8) || (width == 0)) - width = 8; - - for (i = width - 1; i >= 0; i--) { - hex_val = (val & (0x0F << (i << 2))) >> (i << 2); - asc = upper_hex_asc_table[(int)hex_val]; - printf_char(asc); - } - - return 0; -} - -#if defined(MULTIPLY_DIVIDE_CAN_BE_USED) -int printf_dec(uint32_t val) -{ - uint8_t buf[16]; - char asc = 0; - int i = 0; - while (1) { - buf[i] = val % 10; - val = val / 10; - i++; - if (val == 0) { - break; - } - } - - for (; i > 0; i--) { - asc = hex_asc_table[buf[i - 1]]; - printf_char(asc); - } - - return 0; -} -#else -const uint32_t hex_weight_value_table[] = - { 1, 10, 100, 1000, 10000, 100000, 1000000, 10000000, 100000000 }; - -int printf_dec(uint32_t val) -{ - uint32_t i = 0; - uint32_t tmp = 1, tmp_w = 1; - char asc = 0; - - /* Figure out the digitals */ - while (1) { - tmp = (tmp << 3) + (tmp << 1); // tmp *= 10; - i++; - if (tmp > val) { - break; - } - } - - if (i > 8) { - return -1; - } - - while (i > 0) { - if (val >= ((hex_weight_value_table[i - 1] << 3) + hex_weight_value_table[i - 1])) { //<=9xxx - tmp = 9; - tmp_w = (hex_weight_value_table[i - 1] << 3) + hex_weight_value_table[i - 1]; - } else if (val >= (hex_weight_value_table[i - 1] << 3)) { //8xxx - tmp = 8; - tmp_w = hex_weight_value_table[i - 1] << 3; - } else if (val >= - ((hex_weight_value_table[i - 1] << 2) + (hex_weight_value_table[i - 1] << 1) + - hex_weight_value_table[i - 1])) { - tmp = 7; - tmp_w = - (hex_weight_value_table[i - 1] << 2) + (hex_weight_value_table[i - 1] << 1) + - hex_weight_value_table[i - 1]; - } else if (val >= - ((hex_weight_value_table[i - 1] << 2) + (hex_weight_value_table[i - 1] << 1))) { - tmp = 6; - tmp_w = (hex_weight_value_table[i - 1] << 2) + (hex_weight_value_table[i - 1] << 1); - } else if (val >= ((hex_weight_value_table[i - 1] << 2) + hex_weight_value_table[i - 1])) { - tmp = 5; - tmp_w = (hex_weight_value_table[i - 1] << 2) + hex_weight_value_table[i - 1]; - } else if (val >= (hex_weight_value_table[i - 1] << 2)) { - tmp = 4; - tmp_w = hex_weight_value_table[i - 1] << 2; - } else if (val >= ((hex_weight_value_table[i - 1] << 1) + hex_weight_value_table[i - 1])) { - tmp = 3; - tmp_w = (hex_weight_value_table[i - 1] << 1) + hex_weight_value_table[i - 1]; - } else if (val >= (hex_weight_value_table[i - 1] << 1)) { - tmp = 2; - tmp_w = hex_weight_value_table[i - 1] << 1; - } else if (val >= (hex_weight_value_table[i - 1])) { - tmp = 1; - tmp_w = hex_weight_value_table[i - 1]; - } else { - tmp = 0; - tmp_w = 0; - } - - asc = hex_asc_table[tmp]; - printf_char(asc); - i--; - - val -= tmp_w; - } - - return 0; -} -#endif - -void printf(const char *fmt, ...) -{ - char c; - uint32_t width = 0; - va_list argptr; - - va_start(argptr, fmt); - do { - c = *fmt; - if (c != '%') { - printf_char(c); - } else { - while (1) { - c = *++fmt; - if ((c == 'd') || (c == 'x') || (c == 'X') || (c == 's') || (c == 'c')) { - if ((c == 'x') || (c == 'X')) { - if (*(fmt - 1) == '%') - width = 8; - else - width = *(fmt - 1) - '0'; - } - break; - } - } - - switch (c) { - case 'd': - printf_dec(va_arg(argptr, int)); - break; - case 'x': - printf_hex((va_arg(argptr, int)), width); - break; - case 'X': - printf_hex_upper((va_arg(argptr, int)), width); - break; - case 's': - printf_str(va_arg(argptr, char *)); - break; - case 'c': - printf_char(va_arg(argptr, int)); - break; - default: - break; - } - } - ++fmt; - } - while (*fmt != '\0'); - - va_end(argptr); -} diff --git a/third-party/bootloader/device/sd_card.c b/third-party/bootloader/device/sd_card.c deleted file mode 100644 index 5371917e..00000000 --- a/third-party/bootloader/device/sd_card.c +++ /dev/null @@ -1,198 +0,0 @@ -#include -#include -#define NULL 0 - -static void sdcard_dump_response(sd_resp_t *resp) -{ -#ifdef SDCARD_DEBUG - SDCARD_TRACE("%s: rsp0:%x\n", __func__, resp->rsp0); - SDCARD_TRACE("%s: rsp1:%x\n", __func__, resp->rsp1); - SDCARD_TRACE("%s: rsp2:%x\n", __func__, resp->rsp2); - SDCARD_TRACE("%s: rsp3:%x\n", __func__, resp->rsp3); -#endif -} - -static uint32_t sdcard_go_idle_cmd0(sdcard_t *sdcard) -{ - return sdcard->send_cmd(sdcard->host, CMD0, 0) == true ? - SDCARD_SUCCESS : SDCARD_SEND_COMMADN_FAILURE; -} - -static uint32_t sdcard_send_cmd55(sdcard_t *sdcard) -{ - bool res = true; - uint32_t ret = SDCARD_SUCCESS; - sd_resp_t resp; - res = sdcard->send_cmd(sdcard->host, CMD55, 0); - if (res != true) { - ret = SDCARD_SEND_COMMADN_FAILURE; - goto cleanup; - } - - sdcard->get_resp(sdcard->host, &resp); - sdcard_dump_response(&resp); - ret = SDCARD_SUCCESS; -cleanup: - SDCARD_TRACE("%s ret:%d\n", __func__, ret); - return ret; -} - -static uint32_t sdcard_get_ocr_acmd41(sdcard_t *sdcard) -{ - bool res = true; - uint32_t ret = SDCARD_SUCCESS; - sd_resp_t resp; - res = sdcard->send_cmd(sdcard->host, ACMD41, 0xff800000); - if (res != true) { - ret = SDCARD_SEND_COMMADN_FAILURE; - goto cleanup; - } - - sdcard->get_resp(sdcard->host, &resp); - sdcard_dump_response(&resp); - ret = SDCARD_SUCCESS; -cleanup: - SDCARD_TRACE("%s ret:%d\n", __func__, ret); - return ret; -} - -static uint32_t sdcard_get_cid_cmd2(sdcard_t *sdcard) -{ - bool res = true; - uint32_t ret = SDCARD_SUCCESS; - sd_resp_t resp; - res = sdcard->send_cmd(sdcard->host, CMD2, 0); - if (res != true) { - ret = SDCARD_SEND_COMMADN_FAILURE; - goto cleanup; - } - - sdcard->get_resp(sdcard->host, &resp); - sdcard_dump_response(&resp); - ret = SDCARD_SUCCESS; - - sdcard->cid[0] = resp.rsp0; - sdcard->cid[1] = resp.rsp1; - sdcard->cid[2] = resp.rsp2; - sdcard->cid[3] = resp.rsp3; - - sdcard->product_name[5] = 0; - sdcard->product_name[4] = sdcard->cid[2] & (0xff); - sdcard->product_name[3] = (sdcard->cid[2] & (0xff << 8)) >> 8; - sdcard->product_name[2] = (sdcard->cid[2] & (0xff << 16)) >> 16; - sdcard->product_name[1] = (sdcard->cid[2] & (0xff << 24)) >> 24; - sdcard->product_name[0] = sdcard->cid[3] & (0xff); - SDCARD_TRACE("%s: sd card product name:%s\n", __func__, sdcard->product_name); -cleanup: - SDCARD_TRACE("%s ret:%d\n", __func__, ret); - return ret; -} - -static uint32_t sdcard_set_rca_cmd3(sdcard_t *sdcard) -{ - bool res = true; - uint32_t ret = SDCARD_SUCCESS; - sd_resp_t resp; - res = sdcard->send_cmd(sdcard->host, CMD3, 0); - if (res != true) { - ret = SDCARD_SEND_COMMADN_FAILURE; - goto cleanup; - } - - sdcard->get_resp(sdcard->host, &resp); - sdcard->rca = resp.rsp0; - sdcard_dump_response(&resp); - ret = SDCARD_SUCCESS; -cleanup: - SDCARD_TRACE("%s ret:%d\n", __func__, ret); - return ret; -} - -static uint32_t sdcard_select_card_cmd7(sdcard_t *sdcard) -{ - bool res = true; - uint32_t ret = SDCARD_SUCCESS; - sd_resp_t resp; - res = sdcard->send_cmd(sdcard->host, CMD7, sdcard->rca); - if (res != true) { - ret = SDCARD_SEND_COMMADN_FAILURE; - goto cleanup; - } - - sdcard->get_resp(sdcard->host, &resp); - sdcard_dump_response(&resp); - ret = SDCARD_SUCCESS; -cleanup: - SDCARD_TRACE("%s ret:%d\n", __func__, ret); - return ret; -} - -static uint32_t sdcard_set_blk_len_cmd16(sdcard_t *sdcard) -{ - bool res = true; - uint32_t ret = SDCARD_SUCCESS; - sd_resp_t resp; - res = sdcard->send_cmd(sdcard->host, CMD16, 512); - if (res != true) { - ret = SDCARD_SEND_COMMADN_FAILURE; - goto cleanup; - } - - sdcard->get_resp(sdcard->host, &resp); - sdcard_dump_response(&resp); - ret = SDCARD_SUCCESS; -cleanup: - SDCARD_TRACE("%s ret:%d\n", __func__, ret); - return ret; -} - -static uint32_t sdcard_device_init(sdcard_t *sdcard) -{ - uint32_t status = SDCARD_SUCCESS; - SDCARD_TRACE("%s entry\n", __func__); - -#define SD_INIT_SEQUENCE(func) if ((status = func(sdcard)) != SDCARD_SUCCESS) return status - - SD_INIT_SEQUENCE(sdcard_go_idle_cmd0); - SD_INIT_SEQUENCE(sdcard_send_cmd55); - SD_INIT_SEQUENCE(sdcard_get_ocr_acmd41); - SD_INIT_SEQUENCE(sdcard_get_cid_cmd2); - SD_INIT_SEQUENCE(sdcard_set_rca_cmd3); - SD_INIT_SEQUENCE(sdcard_select_card_cmd7); - SD_INIT_SEQUENCE(sdcard_set_blk_len_cmd16); - return status; -} - -uint32_t sdcard_init(sdcard_t *sdcard) -{ - uint32_t ret = SDCARD_SUCCESS; - - SDCARD_TRACE("%s entry\n", __func__); - if ((sdcard == NULL) || (sdcard->host_init == NULL)) { - ret = SDCARD_PARAM_NULL; - goto cleanup; - } - - if (sdcard->host_init(sdcard->host) == false) { - ret = SDCARD_HOST_INIT_FAILURE; - goto cleanup; - } - - ret= sdcard_device_init(sdcard); - -cleanup: - SDCARD_TRACE("%s ret:%d\n", __func__, ret); - return ret; -} - -uint32_t sdcard_read_block(sdcard_t *sdcard, uint8_t *dst, uint32_t blk_idx) -{ - return sdcard->read_block(sdcard->host, dst, blk_idx) == true ? - SDCARD_SUCCESS : SDCARD_SEND_COMMADN_FAILURE; -} - -uint32_t sdcard_write_block(sdcard_t *sdcard, uint8_t *src, uint32_t blk_idx) -{ - return sdcard->write_block(sdcard->host, src, blk_idx) == true ? - SDCARD_SUCCESS : SDCARD_SEND_COMMADN_FAILURE; -} \ No newline at end of file diff --git a/third-party/bootloader/driver/imx_uart.c b/third-party/bootloader/driver/imx_uart.c deleted file mode 100644 index 235cb513..00000000 --- a/third-party/bootloader/driver/imx_uart.c +++ /dev/null @@ -1,46 +0,0 @@ -/*! - * @author MJm - * @date 2020/1/22 - */ -#include "imx_uart.h" - -static imx_uart_t *imx_uart0; - -char uart_putc(unsigned char ch) -{ - while((imx_uart0->uart_status_reg_2 & 0x00000008) == 0); - imx_uart0->uart_tx_reg = ch; - return ch; -} - -void uart_init() -{ - imx_uart0 = (imx_uart_t *)0x02020000; - - /* shutdown CSI*/ - imx_uart0->uart_control_reg2 &= ~0x04; - imx_uart0->uart_control_reg2 &= ~0x02; - - /* reset controller */ - imx_uart0->uart_control_reg2 &= ~0x01; - while((imx_uart0->uart_test_reg & 0x1) == 1); - imx_uart0->uart_control_reg2 |= 0x1; - /* Enable the UART module */ - imx_uart0->uart_control_reg1 |= 0x00000001; - /* Set RXDMUXSEL of UCR3 */ - imx_uart0->uart_control_reg3 |= 0x00000004; - - imx_uart0->uart_fifo_control_reg |= (0x4 << 7); - - /* Set the baud rate */ - imx_uart0->uart_brm_inc_block |= 11; - imx_uart0->uart_brm_mod_block |= 11; - imx_uart0->uart_control_reg2 |= 0x04; - imx_uart0->uart_control_reg2 |= 0x02; - imx_uart0->uart_control_reg2 |= 0x00004000; - /* Turn SCI port back on at new BAUD rate */ - imx_uart0->uart_control_reg2 &= ~0x00000100; - imx_uart0->uart_control_reg2 &= ~0x00000040; - imx_uart0->uart_control_reg2 &= ~0x00000020; -} - diff --git a/third-party/bootloader/driver/imx_usdhc.c b/third-party/bootloader/driver/imx_usdhc.c deleted file mode 100644 index a9a7a0b4..00000000 --- a/third-party/bootloader/driver/imx_usdhc.c +++ /dev/null @@ -1,298 +0,0 @@ -#include -#include -#include -#include - -static void usdhc_create_cmd(usdhc_cmd_t *cmd, - uint32_t idx, - uint32_t arg, - uint8_t xfer_type, - uint8_t format, - bool data_pres, - bool crc_chk, - bool cmd_idx_chk, - bool dma_en) -{ - cmd->cmd = idx; - cmd->arg = arg; - cmd->xfer_type = xfer_type; - cmd->resp_format = format; - cmd->dat_pres = data_pres; - cmd->crc_chk = crc_chk; - cmd->cmdidx_chk = cmd_idx_chk; - if (dma_en) { - cmd->blk_cnt_en_chk = true; - cmd->blk_type = MULTIPLE_BLK; - cmd->auto_cmd12_en = true; - } - else { - cmd->blk_cnt_en_chk = false; - cmd->blk_type = SINGLE_BLK; - cmd->auto_cmd12_en = false; - } - - cmd->dma_en = dma_en; - cmd->ddr_en = false; -} - - -void usdhc_get_response(void *host, sd_resp_t *rsp) -{ - imx_usdhc_t *usdhc = (imx_usdhc_t *)host; - rsp->rsp0 = usdhc->cmd_rsp0; - rsp->rsp1 = usdhc->cmd_rsp1; - rsp->rsp2 = usdhc->cmd_rsp2; - rsp->rsp3 = usdhc->cmd_rsp3; -} - -bool usdhc_send_command(void *host, uint8_t cmd_idx, uint32_t arg) -{ - usdhc_cmd_t cmd; - imx_usdhc_t *usdhc = (imx_usdhc_t *)host; - uint32_t temp; - bool ret = true; - - USDHC_TRACE("%s: cmd:%d\n", __func__, cmd_idx); - if (cmd_idx == CMD0) { - usdhc_create_cmd(&cmd, CMD0, 0, READ, RESPONSE_NONE, - false, false, false, false); - } else if (cmd_idx == CMD55) { - usdhc_create_cmd(&cmd, CMD55, 0, READ, RESPONSE_48, - false, true, true, false); - } else if (cmd_idx == ACMD41) { - usdhc_create_cmd(&cmd, ACMD41, arg, READ, RESPONSE_48, - false, false, false, false); - } else if (cmd_idx == CMD2) { - usdhc_create_cmd(&cmd, CMD2, 0, READ, RESPONSE_136, - false, true, false, false); - } else if (cmd_idx == CMD3) { - usdhc_create_cmd(&cmd, CMD3, arg, READ, RESPONSE_48, - false, true, true, false); - } else if (cmd_idx == CMD7) { - usdhc_create_cmd(&cmd, CMD7, arg, READ, RESPONSE_48_CHECK_BUSY, - false, true, true, false); - } else if (cmd_idx == CMD16) { - usdhc_create_cmd(&cmd, CMD16, arg, READ, RESPONSE_48, - false, true, true, false); - } else if (cmd_idx == CMD18) { - usdhc_create_cmd(&cmd, CMD18, arg, READ, RESPONSE_48, - true, true, true, true); - } else if (cmd_idx == CMD25) { - usdhc_create_cmd(&cmd, CMD25, arg, WRITE, RESPONSE_48, - true, true, true, true); - } - - usdhc->int_status = 0x117f01ff; /*clear interrupt status register*/ - usdhc->int_status_en |= 0x007f013f; /*enable all the interrupt status*/ - - if (cmd.dma_en == true) { - usdhc->int_status_en |= USDHC_INT_STATUS_EN_DINTSEN_MASK; - } - - /* wait cmd line free */ - while ((usdhc->pres_state & USDHC_PRES_STATE_CIHB_MASK) != 0); - /* wait data line free */ - if (cmd.dat_pres == true) { - while ((usdhc->pres_state & USDHC_PRES_STATE_CDIHB_MASK) != 0); - } - /* write command arugment in the Command Argument Register */ - usdhc->cmd_arg = cmd.arg; - - if (cmd.dma_en == false) { - usdhc->prot_ctrl &= ~USDHC_PROT_CTRL_DMASEL_MASK; - } else { - usdhc->prot_ctrl |= (2 << USDHC_PROT_CTRL_DMASEL_SHIFT) & USDHC_PROT_CTRL_DMASEL_MASK; - } - - temp = usdhc->mix_ctrl & 0xFFFFFFC0; - if (cmd.dma_en == true) - temp |= USDHC_MIX_CTRL_DMAEN_MASK; - else - temp &= ~USDHC_MIX_CTRL_DMAEN_MASK; - - if (cmd.blk_cnt_en_chk == true) - temp |= USDHC_MIX_CTRL_BCEN_MASK; - else - temp &= ~USDHC_MIX_CTRL_BCEN_MASK; - - if (cmd.auto_cmd12_en == true) - temp |= USDHC_MIX_CTRL_AC12EN_MASK; - else - temp &= ~USDHC_MIX_CTRL_AC12EN_MASK; - - if (cmd.ddr_en == true) - temp |= USDHC_MIX_CTRL_DDREN_MASK; - else - temp &= ~USDHC_MIX_CTRL_DDREN_MASK; - - if (cmd.xfer_type == READ) - temp |= USDHC_MIX_CTRL_DTDSEL_MASK; - else - temp &= ~USDHC_MIX_CTRL_DTDSEL_MASK; - - if (cmd.blk_type == MULTIPLE_BLK) - temp |= USDHC_MIX_CTRL_MSBSEL_MASK; - else - temp &= ~USDHC_MIX_CTRL_MSBSEL_MASK; - usdhc->mix_ctrl = temp; - - temp = usdhc->cmd_xfr_type; - temp &= ~USDHC_CMD_XFRTYPE_RSPTYPE_MASK; - switch (cmd.resp_format) { - case RESPONSE_NONE: - default: - temp |= (0 << USDHC_CMD_XFRTYPE_RSPTYPE_SHIFT) & USDHC_CMD_XFRTYPE_RSPTYPE_MASK; - break; - case RESPONSE_136: - temp |= (1 << USDHC_CMD_XFRTYPE_RSPTYPE_SHIFT) & USDHC_CMD_XFRTYPE_RSPTYPE_MASK; - break; - case RESPONSE_48: - temp |= (2 << USDHC_CMD_XFRTYPE_RSPTYPE_SHIFT) & USDHC_CMD_XFRTYPE_RSPTYPE_MASK; - break; - case RESPONSE_48_CHECK_BUSY: - temp |= (3 << USDHC_CMD_XFRTYPE_RSPTYPE_SHIFT) & USDHC_CMD_XFRTYPE_RSPTYPE_MASK; - break; - } - - if (cmd.crc_chk == true) - temp |= USDHC_CMD_XFRTYPE_CCCEN_MASK; - else - temp &= ~USDHC_CMD_XFRTYPE_CCCEN_MASK; - - if (cmd.cmdidx_chk == true) - temp |= USDHC_CMD_XFRTYPE_CICEN_MASK; - else - temp &= ~USDHC_CMD_XFRTYPE_CICEN_MASK; - - if (cmd.dat_pres == true) - temp |= USDHC_CMD_XFRTYPE_DPSEL_MASK; - else - temp &= ~USDHC_CMD_XFRTYPE_DPSEL_MASK; - - temp &= ~USDHC_CMD_XFRTYPE_CMDINX_MASK; - temp |= (cmd.cmd << USDHC_CMD_XFRTYPE_CMDINX_SHIFT) & USDHC_CMD_XFRTYPE_CMDINX_MASK; - usdhc->cmd_xfr_type = temp; - - if (cmd.dma_en == false) { - /* DMAE|CIE|CEBE|CCE|CTOE|CC */ - USDHC_TRACE("%s wait DMAE|CIE|CEBE|CCE|CTOE|CC\n", __func__); - while ((usdhc->int_status & 0x100F0001) == 0); - } else { - USDHC_TRACE("%s wait DMAE|DEBE|DCE|DTOE|CIE|CEBE|CCE|CTOE|TC\n", __func__); - /* DMAE|DEBE|DCE|DTOE|CIE|CEBE|CCE|CTOE|TC */ - while((usdhc->int_status & 0x107F0002) == 0); - } - - /* mask all the signals */ - usdhc->int_singal_en = 0; - - /* check CCE or CTOE error */ - if ((usdhc->int_status & USDHC_INT_STATUS_CCE_MASK) != 0) { - ret = false; - USDHC_TRACE("%s Command CRC error\n", __func__); - goto cleanup; - } - - if ((usdhc->int_status & USDHC_INT_STATUS_CTOE_MASK) != 0) { - ret = false; - USDHC_TRACE("%s Command Timeout error\n", __func__); - goto cleanup; - } - -cleanup: - USDHC_TRACE("%s, ret:%d\n", __func__, ret); - return ret; -} - -void usdhc_set_data_width(void *host, uint8_t dtw) -{ - imx_usdhc_t *usdhc = (imx_usdhc_t *)host; - usdhc->prot_ctrl &= ~USDHC_PROT_CTRL_DTW_MASK; - usdhc->prot_ctrl |= (dtw << USDHC_PROT_CTRL_DTW_SHIFT) & USDHC_PROT_CTRL_DTW_MASK; -} - -void usdhc_set_endian_mode(void *host, uint8_t emode) -{ - imx_usdhc_t *usdhc = (imx_usdhc_t *)host; - usdhc->prot_ctrl &= ~USDHC_PROT_CTRL_EMODE_MASK; - usdhc->prot_ctrl |= (emode << USDHC_PROT_CTRL_EMODE_SHIFT) & USDHC_PROT_CTRL_EMODE_MASK; -} - -void usdhc_set_clock(void *host, uint8_t clk_freq) -{ - imx_usdhc_t *usdhc = (imx_usdhc_t *)host; - /*STUB for qemu, should implement in real board*/ - usdhc->sys_ctrl |= 0xf; -} - -void usdhc_initialization_active(void *host) -{ - imx_usdhc_t *usdhc = (imx_usdhc_t *)host; - usdhc->sys_ctrl |= USDHC_SYS_CTRL_INITA_MASK; - while ((usdhc->sys_ctrl & USDHC_SYS_CTRL_INITA_MASK) != 0) - ; -} - -bool usdhc_init(void *host) -{ - imx_usdhc_t *usdhc = (imx_usdhc_t *)host; - - USDHC_TRACE("%s: usdhc:%x\n", __func__, usdhc); - //STUB: iomux config here - //STUB: clock config here - - usdhc->sys_ctrl |= USDHC_SYS_CTRL_RSTA_MASK; - while ((usdhc->sys_ctrl & USDHC_SYS_CTRL_RSTA_MASK) != 0) - ; - - usdhc_set_data_width(usdhc, USDHC_DWT_1BIT); - usdhc_set_endian_mode(usdhc, USDHC_EMODE_LITTLE_ENDIAN); - - USDHC_TRACE("%s: disable usdhc dll\n", __func__); - usdhc->dll_ctrl &= ~USDHC_DLL_CTRL_DLL_CTRL_ENABLE_MASK; - - USDHC_TRACE("%s: select adma2\n", __func__); - usdhc->prot_ctrl &= ~USDHC_PROT_CTRL_DMASEL_MASK; - usdhc->prot_ctrl |= (2 << USDHC_PROT_CTRL_DMASEL_SHIFT) & USDHC_PROT_CTRL_DMASEL_MASK; - - usdhc_set_clock(usdhc, IDENTIFICATION_FREQ); - usdhc_initialization_active(usdhc); - - return true; -} - -bool usdhc_read_block(void *host, uint8_t *dst, uint32_t blk_idx) -{ - adma_bd_t adma_bd; - imx_usdhc_t *usdhc = (imx_usdhc_t *)host; - USDHC_TRACE("%s dst:%x, blk_idx:0x%x\n", __func__, dst, blk_idx); - - adma_bd.addr = (uint32_t)dst; - adma_bd.len = 512; - adma_bd.att = 0x20 | 0x02 | 0x01; - - usdhc->int_status = 0x117f01ff; /* clear all the interrupt */ - usdhc->adma_sys_addr = (uint32_t)&adma_bd; - usdhc->blk_att = (1 << USDHC_BLKATT_BLKCNT_SHIFT) | 512; - usdhc->wtmk_lvl = 0x00000080; - - return usdhc_send_command(usdhc, CMD18, blk_idx); -} - -bool usdhc_write_block(void *host, uint8_t *src, uint32_t blk_idx) -{ - adma_bd_t adma_bd; - imx_usdhc_t *usdhc = (imx_usdhc_t *)host; - USDHC_TRACE("%s src:%x, blk_idx:0x%x\n", __func__, src, blk_idx); - - adma_bd.addr = (uint32_t)src; - adma_bd.len = 512; - adma_bd.att = 0x20 | 0x02 | 0x01; - - usdhc->int_status = 0x117f01ff; - usdhc->adma_sys_addr = (uint32_t)&adma_bd; - usdhc->blk_att = (1 << USDHC_BLKATT_BLKCNT_SHIFT) | 512; - usdhc->wtmk_lvl = 0x00000080; - - return usdhc_send_command(usdhc, CMD25, blk_idx); -} \ No newline at end of file diff --git a/third-party/bootloader/entry.c b/third-party/bootloader/entry.c deleted file mode 100644 index e077c5c8..00000000 --- a/third-party/bootloader/entry.c +++ /dev/null @@ -1,85 +0,0 @@ -/*! - * @author MJm - * @date 2020/1/22 - */ -#include -#include -#include -#include - -static bool boot_freertos(void); -extern void jump_os(uint32_t); - -void *memcpy (uint8_t *__dest, uint8_t *__src, uint32_t __n) -{ - uint8_t *dst = (uint8_t *)__dest; - uint8_t *src = (uint8_t *)__src; - while(__n--) { - *dst++ = *src++; - } - return dst; -} - -void c_entry() -{ - uart_init(); - - printf("hello imx6ul bootloader\n"); - - if (boot_freertos() == false) { - printf("boot failure\n"); - } - - while(1) - ; -} - -static bool boot_freertos() -{ - bool boot_status = false; - FATFS fs; - FIL file; - uint8_t buf[1024]; - uint8_t *dst = (uint8_t *)0x80000000; - uint32_t len = 0; - FRESULT res = 0; - - printf("%s entry\n", __func__); - - res = f_mount(&fs,"0:",1); - if (res != FR_OK) { - printf("%s f_mount res:%d\n", __func__, res); - boot_status = false; - goto cleanup; - } - - res = f_open(&file, "os.bin", FA_READ); - if (res != FR_OK) { - printf("%s f_open res:%d\n", __func__, res); - boot_status = false; - goto cleanup; - } - - printf("%s start to read os.bin\n", __func__); - do { - res = f_read(&file, buf, 1024, (UINT *)&len); - if (res != FR_OK) { - printf("%s read failure\n", __func__); - boot_status = false; - goto cleanup; - } - // printf("%s dst:%x, len:%d\n", __func__, dst, len); - memcpy(dst, buf, len); - dst += 1024; - - } while (len != 0); - printf("%s read os.bin done\n", __func__); - f_close(&file); - f_unmount("0:/"); - - boot_status = true; - jump_os(0x8000004c); - -cleanup: - return boot_status; -} \ No newline at end of file diff --git a/third-party/bootloader/fatfs/diskio.c b/third-party/bootloader/fatfs/diskio.c deleted file mode 100644 index 5e50fcbb..00000000 --- a/third-party/bootloader/fatfs/diskio.c +++ /dev/null @@ -1,158 +0,0 @@ -/*-----------------------------------------------------------------------*/ -/* Low level disk I/O module skeleton for FatFs (C)ChaN, 2019 */ -/*-----------------------------------------------------------------------*/ -/* If a working storage control module is available, it should be */ -/* attached to the FatFs via a glue function rather than modifying it. */ -/* This is an example of glue functions to attach various exsisting */ -/* storage control modules to the FatFs module with a defined API. */ -/*-----------------------------------------------------------------------*/ - -#include "ff.h" /* Obtains integer types */ -#include "diskio.h" /* Declarations of disk functions */ -#include -#include - -#define DEV_SD 0 - -static sdcard_t s_sdcard; -static bool s_is_sdcard_init; - - -#ifdef DISKIO_DEBUG -#define DSIKIO_TRACE printf -#else -#define DSIKIO_TRACE(fmt, args...) -#endif - -static uint32_t disk_init_sdcard() -{ - imx_usdhc_t *usdhc = (imx_usdhc_t *)0x02190000; - DSIKIO_TRACE("%s entry\n", __func__); - s_sdcard.host = usdhc; - s_sdcard.rca = 0x45670000; - s_sdcard.host_init = usdhc_init; - s_sdcard.send_cmd = usdhc_send_command; - s_sdcard.get_resp = usdhc_get_response; - s_sdcard.read_block = usdhc_read_block; - s_sdcard.write_block = usdhc_write_block; - return sdcard_init(&s_sdcard); -} - -DSTATUS disk_status ( - BYTE pdrv -) -{ - DSTATUS stat; - switch(pdrv) { - case DEV_SD: - stat = s_is_sdcard_init == true ? RES_OK : STA_NOINIT; - break; - default: - stat = STA_NODISK; - break; - } - - return stat; -} - -DSTATUS disk_initialize ( - BYTE pdrv -) -{ - DSTATUS stat; - - uint32_t result; - s_is_sdcard_init = false; - switch(pdrv) { - case DEV_SD: - result = disk_init_sdcard(); - break; - default: - stat = STA_NODISK; - break; - } - - if (result != SDCARD_SUCCESS) { - stat = STA_NOINIT; - } else { - s_is_sdcard_init = true; - stat = RES_OK; - } - - DSIKIO_TRACE("%s stat:%x\n", __func__, stat); - return stat; -} - - - -DRESULT disk_read ( - BYTE pdrv, - BYTE *buff, - LBA_t sector, - UINT count -) -{ - DSTATUS ret; - uint32_t res = SDCARD_SUCCESS; - if (pdrv > 0) { - ret = STA_NODISK; - goto cleanup; - } - - DSIKIO_TRACE("%s buff:%x, sector:%x, count:%x\n", __func__, - buff, sector, count); - while ((count > 0) || (res != SDCARD_SUCCESS)) { - res = sdcard_read_block(&s_sdcard, buff, sector * 512); - count--; - sector++; - } - - ret = (res == SDCARD_SUCCESS) ? RES_OK : RES_PARERR; -cleanup: - DSIKIO_TRACE("%s ret:%x, buff[0]:%x, buff[1]:%x\n", __func__, ret, buff[0], buff[1]); - return ret; -} - - -#if FF_FS_READONLY == 0 - -DRESULT disk_write ( - BYTE pdrv, - const BYTE *buff, - LBA_t sector, - UINT count -) -{ - DSTATUS ret; - uint32_t res = SDCARD_SUCCESS; - if (pdrv > 0) { - ret = STA_NODISK; - goto cleanup; - } - - DSIKIO_TRACE("%s buff:%x, sector:%x, count:%x\n", __func__, - buff, sector, count); - while ((count > 0) || (res != SDCARD_SUCCESS)) { - res = sdcard_write_block(&s_sdcard, (uint8_t *)buff, sector * 512); - count--; - sector++; - } - - ret = (res == SDCARD_SUCCESS) ? RES_OK : RES_PARERR; -cleanup: - DSIKIO_TRACE("%s ret:%x, buff[0]:%x, buff[1]:%x\n", __func__, ret, buff[0], buff[1]); - return ret; -} - -#endif - - -DRESULT disk_ioctl ( - BYTE pdrv, - BYTE cmd, - void *buff -) -{ - return RES_OK; -} - diff --git a/third-party/bootloader/fatfs/ff.c b/third-party/bootloader/fatfs/ff.c deleted file mode 100644 index 1b573f27..00000000 --- a/third-party/bootloader/fatfs/ff.c +++ /dev/null @@ -1,6849 +0,0 @@ -/*----------------------------------------------------------------------------/ -/ FatFs - Generic FAT Filesystem Module R0.14 / -/-----------------------------------------------------------------------------/ -/ -/ Copyright (C) 2019, ChaN, all right reserved. -/ -/ FatFs module is an open source software. Redistribution and use of FatFs in -/ source and binary forms, with or without modification, are permitted provided -/ that the following condition is met: -/ -/ 1. Redistributions of source code must retain the above copyright notice, -/ this condition and the following disclaimer. -/ -/ This software is provided by the copyright holder and contributors "AS IS" -/ and any warranties related to this software are DISCLAIMED. -/ The copyright owner or contributors be NOT LIABLE for any damages caused -/ by use of this software. -/ -/----------------------------------------------------------------------------*/ - - -#include "ff.h" /* Declarations of FatFs API */ -#include "diskio.h" /* Declarations of device I/O functions */ - - -/*-------------------------------------------------------------------------- - - Module Private Definitions - ----------------------------------------------------------------------------*/ - -#if FF_DEFINED != 86606 /* Revision ID */ -#error Wrong include file (ff.h). -#endif - - -/* Limits and boundaries */ -#define MAX_DIR 0x200000 /* Max size of FAT directory */ -#define MAX_DIR_EX 0x10000000 /* Max size of exFAT directory */ -#define MAX_FAT12 0xFF5 /* Max FAT12 clusters (differs from specs, but right for real DOS/Windows behavior) */ -#define MAX_FAT16 0xFFF5 /* Max FAT16 clusters (differs from specs, but right for real DOS/Windows behavior) */ -#define MAX_FAT32 0x0FFFFFF5 /* Max FAT32 clusters (not specified, practical limit) */ -#define MAX_EXFAT 0x7FFFFFFD /* Max exFAT clusters (differs from specs, implementation limit) */ - - -/* Character code support macros */ -#define IsUpper(c) ((c) >= 'A' && (c) <= 'Z') -#define IsLower(c) ((c) >= 'a' && (c) <= 'z') -#define IsDigit(c) ((c) >= '0' && (c) <= '9') -#define IsSurrogate(c) ((c) >= 0xD800 && (c) <= 0xDFFF) -#define IsSurrogateH(c) ((c) >= 0xD800 && (c) <= 0xDBFF) -#define IsSurrogateL(c) ((c) >= 0xDC00 && (c) <= 0xDFFF) - - -/* Additional file access control and file status flags for internal use */ -#define FA_SEEKEND 0x20 /* Seek to end of the file on file open */ -#define FA_MODIFIED 0x40 /* File has been modified */ -#define FA_DIRTY 0x80 /* FIL.buf[] needs to be written-back */ - - -/* Additional file attribute bits for internal use */ -#define AM_VOL 0x08 /* Volume label */ -#define AM_LFN 0x0F /* LFN entry */ -#define AM_MASK 0x3F /* Mask of defined bits */ - - -/* Name status flags in fn[11] */ -#define NSFLAG 11 /* Index of the name status byte */ -#define NS_LOSS 0x01 /* Out of 8.3 format */ -#define NS_LFN 0x02 /* Force to create LFN entry */ -#define NS_LAST 0x04 /* Last segment */ -#define NS_BODY 0x08 /* Lower case flag (body) */ -#define NS_EXT 0x10 /* Lower case flag (ext) */ -#define NS_DOT 0x20 /* Dot entry */ -#define NS_NOLFN 0x40 /* Do not find LFN */ -#define NS_NONAME 0x80 /* Not followed */ - - -/* exFAT directory entry types */ -#define ET_BITMAP 0x81 /* Allocation bitmap */ -#define ET_UPCASE 0x82 /* Up-case table */ -#define ET_VLABEL 0x83 /* Volume label */ -#define ET_FILEDIR 0x85 /* File and directory */ -#define ET_STREAM 0xC0 /* Stream extension */ -#define ET_FILENAME 0xC1 /* Name extension */ - - -/* FatFs refers the FAT structure as simple byte array instead of structure member -/ because the C structure is not binary compatible between different platforms */ - -#define BS_JmpBoot 0 /* x86 jump instruction (3-byte) */ -#define BS_OEMName 3 /* OEM name (8-byte) */ -#define BPB_BytsPerSec 11 /* Sector size [byte] (WORD) */ -#define BPB_SecPerClus 13 /* Cluster size [sector] (BYTE) */ -#define BPB_RsvdSecCnt 14 /* Size of reserved area [sector] (WORD) */ -#define BPB_NumFATs 16 /* Number of FATs (BYTE) */ -#define BPB_RootEntCnt 17 /* Size of root directory area for FAT [entry] (WORD) */ -#define BPB_TotSec16 19 /* Volume size (16-bit) [sector] (WORD) */ -#define BPB_Media 21 /* Media descriptor byte (BYTE) */ -#define BPB_FATSz16 22 /* FAT size (16-bit) [sector] (WORD) */ -#define BPB_SecPerTrk 24 /* Number of sectors per track for int13h [sector] (WORD) */ -#define BPB_NumHeads 26 /* Number of heads for int13h (WORD) */ -#define BPB_HiddSec 28 /* Volume offset from top of the drive (DWORD) */ -#define BPB_TotSec32 32 /* Volume size (32-bit) [sector] (DWORD) */ -#define BS_DrvNum 36 /* Physical drive number for int13h (BYTE) */ -#define BS_NTres 37 /* WindowsNT error flag (BYTE) */ -#define BS_BootSig 38 /* Extended boot signature (BYTE) */ -#define BS_VolID 39 /* Volume serial number (DWORD) */ -#define BS_VolLab 43 /* Volume label string (8-byte) */ -#define BS_FilSysType 54 /* Filesystem type string (8-byte) */ -#define BS_BootCode 62 /* Boot code (448-byte) */ -#define BS_55AA 510 /* Signature word (WORD) */ - -#define BPB_FATSz32 36 /* FAT32: FAT size [sector] (DWORD) */ -#define BPB_ExtFlags32 40 /* FAT32: Extended flags (WORD) */ -#define BPB_FSVer32 42 /* FAT32: Filesystem version (WORD) */ -#define BPB_RootClus32 44 /* FAT32: Root directory cluster (DWORD) */ -#define BPB_FSInfo32 48 /* FAT32: Offset of FSINFO sector (WORD) */ -#define BPB_BkBootSec32 50 /* FAT32: Offset of backup boot sector (WORD) */ -#define BS_DrvNum32 64 /* FAT32: Physical drive number for int13h (BYTE) */ -#define BS_NTres32 65 /* FAT32: Error flag (BYTE) */ -#define BS_BootSig32 66 /* FAT32: Extended boot signature (BYTE) */ -#define BS_VolID32 67 /* FAT32: Volume serial number (DWORD) */ -#define BS_VolLab32 71 /* FAT32: Volume label string (8-byte) */ -#define BS_FilSysType32 82 /* FAT32: Filesystem type string (8-byte) */ -#define BS_BootCode32 90 /* FAT32: Boot code (420-byte) */ - -#define BPB_ZeroedEx 11 /* exFAT: MBZ field (53-byte) */ -#define BPB_VolOfsEx 64 /* exFAT: Volume offset from top of the drive [sector] (QWORD) */ -#define BPB_TotSecEx 72 /* exFAT: Volume size [sector] (QWORD) */ -#define BPB_FatOfsEx 80 /* exFAT: FAT offset from top of the volume [sector] (DWORD) */ -#define BPB_FatSzEx 84 /* exFAT: FAT size [sector] (DWORD) */ -#define BPB_DataOfsEx 88 /* exFAT: Data offset from top of the volume [sector] (DWORD) */ -#define BPB_NumClusEx 92 /* exFAT: Number of clusters (DWORD) */ -#define BPB_RootClusEx 96 /* exFAT: Root directory start cluster (DWORD) */ -#define BPB_VolIDEx 100 /* exFAT: Volume serial number (DWORD) */ -#define BPB_FSVerEx 104 /* exFAT: Filesystem version (WORD) */ -#define BPB_VolFlagEx 106 /* exFAT: Volume flags (WORD) */ -#define BPB_BytsPerSecEx 108 /* exFAT: Log2 of sector size in unit of byte (BYTE) */ -#define BPB_SecPerClusEx 109 /* exFAT: Log2 of cluster size in unit of sector (BYTE) */ -#define BPB_NumFATsEx 110 /* exFAT: Number of FATs (BYTE) */ -#define BPB_DrvNumEx 111 /* exFAT: Physical drive number for int13h (BYTE) */ -#define BPB_PercInUseEx 112 /* exFAT: Percent in use (BYTE) */ -#define BPB_RsvdEx 113 /* exFAT: Reserved (7-byte) */ -#define BS_BootCodeEx 120 /* exFAT: Boot code (390-byte) */ - -#define DIR_Name 0 /* Short file name (11-byte) */ -#define DIR_Attr 11 /* Attribute (BYTE) */ -#define DIR_NTres 12 /* Lower case flag (BYTE) */ -#define DIR_CrtTime10 13 /* Created time sub-second (BYTE) */ -#define DIR_CrtTime 14 /* Created time (DWORD) */ -#define DIR_LstAccDate 18 /* Last accessed date (WORD) */ -#define DIR_FstClusHI 20 /* Higher 16-bit of first cluster (WORD) */ -#define DIR_ModTime 22 /* Modified time (DWORD) */ -#define DIR_FstClusLO 26 /* Lower 16-bit of first cluster (WORD) */ -#define DIR_FileSize 28 /* File size (DWORD) */ -#define LDIR_Ord 0 /* LFN: LFN order and LLE flag (BYTE) */ -#define LDIR_Attr 11 /* LFN: LFN attribute (BYTE) */ -#define LDIR_Type 12 /* LFN: Entry type (BYTE) */ -#define LDIR_Chksum 13 /* LFN: Checksum of the SFN (BYTE) */ -#define LDIR_FstClusLO 26 /* LFN: MBZ field (WORD) */ -#define XDIR_Type 0 /* exFAT: Type of exFAT directory entry (BYTE) */ -#define XDIR_NumLabel 1 /* exFAT: Number of volume label characters (BYTE) */ -#define XDIR_Label 2 /* exFAT: Volume label (11-WORD) */ -#define XDIR_CaseSum 4 /* exFAT: Sum of case conversion table (DWORD) */ -#define XDIR_NumSec 1 /* exFAT: Number of secondary entries (BYTE) */ -#define XDIR_SetSum 2 /* exFAT: Sum of the set of directory entries (WORD) */ -#define XDIR_Attr 4 /* exFAT: File attribute (WORD) */ -#define XDIR_CrtTime 8 /* exFAT: Created time (DWORD) */ -#define XDIR_ModTime 12 /* exFAT: Modified time (DWORD) */ -#define XDIR_AccTime 16 /* exFAT: Last accessed time (DWORD) */ -#define XDIR_CrtTime10 20 /* exFAT: Created time subsecond (BYTE) */ -#define XDIR_ModTime10 21 /* exFAT: Modified time subsecond (BYTE) */ -#define XDIR_CrtTZ 22 /* exFAT: Created timezone (BYTE) */ -#define XDIR_ModTZ 23 /* exFAT: Modified timezone (BYTE) */ -#define XDIR_AccTZ 24 /* exFAT: Last accessed timezone (BYTE) */ -#define XDIR_GenFlags 33 /* exFAT: General secondary flags (BYTE) */ -#define XDIR_NumName 35 /* exFAT: Number of file name characters (BYTE) */ -#define XDIR_NameHash 36 /* exFAT: Hash of file name (WORD) */ -#define XDIR_ValidFileSize 40 /* exFAT: Valid file size (QWORD) */ -#define XDIR_FstClus 52 /* exFAT: First cluster of the file data (DWORD) */ -#define XDIR_FileSize 56 /* exFAT: File/Directory size (QWORD) */ - -#define SZDIRE 32 /* Size of a directory entry */ -#define DDEM 0xE5 /* Deleted directory entry mark set to DIR_Name[0] */ -#define RDDEM 0x05 /* Replacement of the character collides with DDEM */ -#define LLEF 0x40 /* Last long entry flag in LDIR_Ord */ - -#define FSI_LeadSig 0 /* FAT32 FSI: Leading signature (DWORD) */ -#define FSI_StrucSig 484 /* FAT32 FSI: Structure signature (DWORD) */ -#define FSI_Free_Count 488 /* FAT32 FSI: Number of free clusters (DWORD) */ -#define FSI_Nxt_Free 492 /* FAT32 FSI: Last allocated cluster (DWORD) */ - -#define MBR_Table 446 /* MBR: Offset of partition table in the MBR */ -#define SZ_PTE 16 /* MBR: Size of a partition table entry */ -#define PTE_Boot 0 /* MBR PTE: Boot indicator */ -#define PTE_StHead 1 /* MBR PTE: Start head */ -#define PTE_StSec 2 /* MBR PTE: Start sector */ -#define PTE_StCyl 3 /* MBR PTE: Start cylinder */ -#define PTE_System 4 /* MBR PTE: System ID */ -#define PTE_EdHead 5 /* MBR PTE: End head */ -#define PTE_EdSec 6 /* MBR PTE: End sector */ -#define PTE_EdCyl 7 /* MBR PTE: End cylinder */ -#define PTE_StLba 8 /* MBR PTE: Start in LBA */ -#define PTE_SizLba 12 /* MBR PTE: Size in LBA */ - -#define GPTH_Sign 0 /* GPT: Header signature (8-byte) */ -#define GPTH_Rev 8 /* GPT: Revision (DWORD) */ -#define GPTH_Size 12 /* GPT: Header size (DWORD) */ -#define GPTH_Bcc 16 /* GPT: Header BCC (DWORD) */ -#define GPTH_CurLba 24 /* GPT: Main header LBA (QWORD) */ -#define GPTH_BakLba 32 /* GPT: Backup header LBA (QWORD) */ -#define GPTH_FstLba 40 /* GPT: First LBA for partitions (QWORD) */ -#define GPTH_LstLba 48 /* GPT: Last LBA for partitions (QWORD) */ -#define GPTH_DskGuid 56 /* GPT: Disk GUID (16-byte) */ -#define GPTH_PtOfs 72 /* GPT: Partation table LBA (QWORD) */ -#define GPTH_PtNum 80 /* GPT: Number of table entries (DWORD) */ -#define GPTH_PteSize 84 /* GPT: Size of table entry (DWORD) */ -#define GPTH_PtBcc 88 /* GPT: Partation table BCC (DWORD) */ -#define SZ_GPTE 128 /* GPT: Size of partition table entry */ -#define GPTE_PtGuid 0 /* GPT PTE: Partition type GUID (16-byte) */ -#define GPTE_UpGuid 16 /* GPT PTE: Partition unique GUID (16-byte) */ -#define GPTE_FstLba 32 /* GPT PTE: First LBA (QWORD) */ -#define GPTE_LstLba 40 /* GPT PTE: Last LBA inclusive (QWORD) */ -#define GPTE_Flags 48 /* GPT PTE: Flags (QWORD) */ -#define GPTE_Name 56 /* GPT PTE: Name */ - - -/* Post process on fatal error in the file operations */ -#define ABORT(fs, res) { fp->err = (BYTE)(res); LEAVE_FF(fs, res); } - - -/* Re-entrancy related */ -#if FF_FS_REENTRANT -#if FF_USE_LFN == 1 -#error Static LFN work area cannot be used at thread-safe configuration -#endif -#define LEAVE_FF(fs, res) { unlock_fs(fs, res); return res; } -#else -#define LEAVE_FF(fs, res) return res -#endif - - -/* Definitions of logical drive - physical location conversion */ -#if FF_MULTI_PARTITION -#define LD2PD(vol) VolToPart[vol].pd /* Get physical drive number */ -#define LD2PT(vol) VolToPart[vol].pt /* Get partition index */ -#else -#define LD2PD(vol) (BYTE)(vol) /* Each logical drive is associated with the same physical drive number */ -#define LD2PT(vol) 0 /* Find first valid partition or in SFD */ -#endif - - -/* Definitions of sector size */ -#if (FF_MAX_SS < FF_MIN_SS) || (FF_MAX_SS != 512 && FF_MAX_SS != 1024 && FF_MAX_SS != 2048 && FF_MAX_SS != 4096) || (FF_MIN_SS != 512 && FF_MIN_SS != 1024 && FF_MIN_SS != 2048 && FF_MIN_SS != 4096) -#error Wrong sector size configuration -#endif -#if FF_MAX_SS == FF_MIN_SS -#define SS(fs) ((UINT)FF_MAX_SS) /* Fixed sector size */ -#else -#define SS(fs) ((fs)->ssize) /* Variable sector size */ -#endif - - -/* Timestamp */ -#if FF_FS_NORTC == 1 -#if FF_NORTC_YEAR < 1980 || FF_NORTC_YEAR > 2107 || FF_NORTC_MON < 1 || FF_NORTC_MON > 12 || FF_NORTC_MDAY < 1 || FF_NORTC_MDAY > 31 -#error Invalid FF_FS_NORTC settings -#endif -#define GET_FATTIME() ((DWORD)(FF_NORTC_YEAR - 1980) << 25 | (DWORD)FF_NORTC_MON << 21 | (DWORD)FF_NORTC_MDAY << 16) -#else -#define GET_FATTIME() get_fattime() -#endif - - -/* File lock controls */ -#if FF_FS_LOCK != 0 -#if FF_FS_READONLY -#error FF_FS_LOCK must be 0 at read-only configuration -#endif -typedef struct { - FATFS *fs; /* Object ID 1, volume (NULL:blank entry) */ - DWORD clu; /* Object ID 2, containing directory (0:root) */ - DWORD ofs; /* Object ID 3, offset in the directory */ - WORD ctr; /* Object open counter, 0:none, 0x01..0xFF:read mode open count, 0x100:write mode */ -} FILESEM; -#endif - - -/* SBCS up-case tables (\x80-\xFF) */ -#define TBL_CT437 {0x80,0x9A,0x45,0x41,0x8E,0x41,0x8F,0x80,0x45,0x45,0x45,0x49,0x49,0x49,0x8E,0x8F, \ - 0x90,0x92,0x92,0x4F,0x99,0x4F,0x55,0x55,0x59,0x99,0x9A,0x9B,0x9C,0x9D,0x9E,0x9F, \ - 0x41,0x49,0x4F,0x55,0xA5,0xA5,0xA6,0xA7,0xA8,0xA9,0xAA,0xAB,0xAC,0xAD,0xAE,0xAF, \ - 0xB0,0xB1,0xB2,0xB3,0xB4,0xB5,0xB6,0xB7,0xB8,0xB9,0xBA,0xBB,0xBC,0xBD,0xBE,0xBF, \ - 0xC0,0xC1,0xC2,0xC3,0xC4,0xC5,0xC6,0xC7,0xC8,0xC9,0xCA,0xCB,0xCC,0xCD,0xCE,0xCF, \ - 0xD0,0xD1,0xD2,0xD3,0xD4,0xD5,0xD6,0xD7,0xD8,0xD9,0xDA,0xDB,0xDC,0xDD,0xDE,0xDF, \ - 0xE0,0xE1,0xE2,0xE3,0xE4,0xE5,0xE6,0xE7,0xE8,0xE9,0xEA,0xEB,0xEC,0xED,0xEE,0xEF, \ - 0xF0,0xF1,0xF2,0xF3,0xF4,0xF5,0xF6,0xF7,0xF8,0xF9,0xFA,0xFB,0xFC,0xFD,0xFE,0xFF} -#define TBL_CT720 {0x80,0x81,0x82,0x83,0x84,0x85,0x86,0x87,0x88,0x89,0x8A,0x8B,0x8C,0x8D,0x8E,0x8F, \ - 0x90,0x91,0x92,0x93,0x94,0x95,0x96,0x97,0x98,0x99,0x9A,0x9B,0x9C,0x9D,0x9E,0x9F, \ - 0xA0,0xA1,0xA2,0xA3,0xA4,0xA5,0xA6,0xA7,0xA8,0xA9,0xAA,0xAB,0xAC,0xAD,0xAE,0xAF, \ - 0xB0,0xB1,0xB2,0xB3,0xB4,0xB5,0xB6,0xB7,0xB8,0xB9,0xBA,0xBB,0xBC,0xBD,0xBE,0xBF, \ - 0xC0,0xC1,0xC2,0xC3,0xC4,0xC5,0xC6,0xC7,0xC8,0xC9,0xCA,0xCB,0xCC,0xCD,0xCE,0xCF, \ - 0xD0,0xD1,0xD2,0xD3,0xD4,0xD5,0xD6,0xD7,0xD8,0xD9,0xDA,0xDB,0xDC,0xDD,0xDE,0xDF, \ - 0xE0,0xE1,0xE2,0xE3,0xE4,0xE5,0xE6,0xE7,0xE8,0xE9,0xEA,0xEB,0xEC,0xED,0xEE,0xEF, \ - 0xF0,0xF1,0xF2,0xF3,0xF4,0xF5,0xF6,0xF7,0xF8,0xF9,0xFA,0xFB,0xFC,0xFD,0xFE,0xFF} -#define TBL_CT737 {0x80,0x81,0x82,0x83,0x84,0x85,0x86,0x87,0x88,0x89,0x8A,0x8B,0x8C,0x8D,0x8E,0x8F, \ - 0x90,0x92,0x92,0x93,0x94,0x95,0x96,0x97,0x80,0x81,0x82,0x83,0x84,0x85,0x86,0x87, \ - 0x88,0x89,0x8A,0x8B,0x8C,0x8D,0x8E,0x8F,0x90,0x91,0xAA,0x92,0x93,0x94,0x95,0x96, \ - 0xB0,0xB1,0xB2,0xB3,0xB4,0xB5,0xB6,0xB7,0xB8,0xB9,0xBA,0xBB,0xBC,0xBD,0xBE,0xBF, \ - 0xC0,0xC1,0xC2,0xC3,0xC4,0xC5,0xC6,0xC7,0xC8,0xC9,0xCA,0xCB,0xCC,0xCD,0xCE,0xCF, \ - 0xD0,0xD1,0xD2,0xD3,0xD4,0xD5,0xD6,0xD7,0xD8,0xD9,0xDA,0xDB,0xDC,0xDD,0xDE,0xDF, \ - 0x97,0xEA,0xEB,0xEC,0xE4,0xED,0xEE,0xEF,0xF5,0xF0,0xEA,0xEB,0xEC,0xED,0xEE,0xEF, \ - 0xF0,0xF1,0xF2,0xF3,0xF4,0xF5,0xF6,0xF7,0xF8,0xF9,0xFA,0xFB,0xFC,0xFD,0xFE,0xFF} -#define TBL_CT771 {0x80,0x81,0x82,0x83,0x84,0x85,0x86,0x87,0x88,0x89,0x8A,0x8B,0x8C,0x8D,0x8E,0x8F, \ - 0x90,0x91,0x92,0x93,0x94,0x95,0x96,0x97,0x98,0x99,0x9A,0x9B,0x9C,0x9D,0x9E,0x9F, \ - 0x80,0x81,0x82,0x83,0x84,0x85,0x86,0x87,0x88,0x89,0x8A,0x8B,0x8C,0x8D,0x8E,0x8F, \ - 0xB0,0xB1,0xB2,0xB3,0xB4,0xB5,0xB6,0xB7,0xB8,0xB9,0xBA,0xBB,0xBC,0xBD,0xBE,0xBF, \ - 0xC0,0xC1,0xC2,0xC3,0xC4,0xC5,0xC6,0xC7,0xC8,0xC9,0xCA,0xCB,0xCC,0xCD,0xCE,0xCF, \ - 0xD0,0xD1,0xD2,0xD3,0xD4,0xD5,0xD6,0xD7,0xD8,0xD9,0xDA,0xDB,0xDC,0xDC,0xDE,0xDE, \ - 0x90,0x91,0x92,0x93,0x94,0x95,0x96,0x97,0x98,0x99,0x9A,0x9B,0x9C,0x9D,0x9E,0x9F, \ - 0xF0,0xF0,0xF2,0xF2,0xF4,0xF4,0xF6,0xF6,0xF8,0xF8,0xFA,0xFA,0xFC,0xFC,0xFE,0xFF} -#define TBL_CT775 {0x80,0x9A,0x91,0xA0,0x8E,0x95,0x8F,0x80,0xAD,0xED,0x8A,0x8A,0xA1,0x8D,0x8E,0x8F, \ - 0x90,0x92,0x92,0xE2,0x99,0x95,0x96,0x97,0x97,0x99,0x9A,0x9D,0x9C,0x9D,0x9E,0x9F, \ - 0xA0,0xA1,0xE0,0xA3,0xA3,0xA5,0xA6,0xA7,0xA8,0xA9,0xAA,0xAB,0xAC,0xAD,0xAE,0xAF, \ - 0xB0,0xB1,0xB2,0xB3,0xB4,0xB5,0xB6,0xB7,0xB8,0xB9,0xBA,0xBB,0xBC,0xBD,0xBE,0xBF, \ - 0xC0,0xC1,0xC2,0xC3,0xC4,0xC5,0xC6,0xC7,0xC8,0xC9,0xCA,0xCB,0xCC,0xCD,0xCE,0xCF, \ - 0xB5,0xB6,0xB7,0xB8,0xBD,0xBE,0xC6,0xC7,0xA5,0xD9,0xDA,0xDB,0xDC,0xDD,0xDE,0xDF, \ - 0xE0,0xE1,0xE2,0xE3,0xE5,0xE5,0xE6,0xE3,0xE8,0xE8,0xEA,0xEA,0xEE,0xED,0xEE,0xEF, \ - 0xF0,0xF1,0xF2,0xF3,0xF4,0xF5,0xF6,0xF7,0xF8,0xF9,0xFA,0xFB,0xFC,0xFD,0xFE,0xFF} -#define TBL_CT850 {0x43,0x55,0x45,0x41,0x41,0x41,0x41,0x43,0x45,0x45,0x45,0x49,0x49,0x49,0x41,0x41, \ - 0x45,0x92,0x92,0x4F,0x4F,0x4F,0x55,0x55,0x59,0x4F,0x55,0x4F,0x9C,0x4F,0x9E,0x9F, \ - 0x41,0x49,0x4F,0x55,0xA5,0xA5,0xA6,0xA7,0xA8,0xA9,0xAA,0xAB,0xAC,0xAD,0xAE,0xAF, \ - 0xB0,0xB1,0xB2,0xB3,0xB4,0x41,0x41,0x41,0xB8,0xB9,0xBA,0xBB,0xBC,0xBD,0xBE,0xBF, \ - 0xC0,0xC1,0xC2,0xC3,0xC4,0xC5,0x41,0x41,0xC8,0xC9,0xCA,0xCB,0xCC,0xCD,0xCE,0xCF, \ - 0xD1,0xD1,0x45,0x45,0x45,0x49,0x49,0x49,0x49,0xD9,0xDA,0xDB,0xDC,0xDD,0x49,0xDF, \ - 0x4F,0xE1,0x4F,0x4F,0x4F,0x4F,0xE6,0xE8,0xE8,0x55,0x55,0x55,0x59,0x59,0xEE,0xEF, \ - 0xF0,0xF1,0xF2,0xF3,0xF4,0xF5,0xF6,0xF7,0xF8,0xF9,0xFA,0xFB,0xFC,0xFD,0xFE,0xFF} -#define TBL_CT852 {0x80,0x9A,0x90,0xB6,0x8E,0xDE,0x8F,0x80,0x9D,0xD3,0x8A,0x8A,0xD7,0x8D,0x8E,0x8F, \ - 0x90,0x91,0x91,0xE2,0x99,0x95,0x95,0x97,0x97,0x99,0x9A,0x9B,0x9B,0x9D,0x9E,0xAC, \ - 0xB5,0xD6,0xE0,0xE9,0xA4,0xA4,0xA6,0xA6,0xA8,0xA8,0xAA,0x8D,0xAC,0xB8,0xAE,0xAF, \ - 0xB0,0xB1,0xB2,0xB3,0xB4,0xB5,0xB6,0xB7,0xB8,0xB9,0xBA,0xBB,0xBC,0xBD,0xBD,0xBF, \ - 0xC0,0xC1,0xC2,0xC3,0xC4,0xC5,0xC6,0xC6,0xC8,0xC9,0xCA,0xCB,0xCC,0xCD,0xCE,0xCF, \ - 0xD1,0xD1,0xD2,0xD3,0xD2,0xD5,0xD6,0xD7,0xB7,0xD9,0xDA,0xDB,0xDC,0xDD,0xDE,0xDF, \ - 0xE0,0xE1,0xE2,0xE3,0xE3,0xD5,0xE6,0xE6,0xE8,0xE9,0xE8,0xEB,0xED,0xED,0xDD,0xEF, \ - 0xF0,0xF1,0xF2,0xF3,0xF4,0xF5,0xF6,0xF7,0xF8,0xF9,0xFA,0xEB,0xFC,0xFC,0xFE,0xFF} -#define TBL_CT855 {0x81,0x81,0x83,0x83,0x85,0x85,0x87,0x87,0x89,0x89,0x8B,0x8B,0x8D,0x8D,0x8F,0x8F, \ - 0x91,0x91,0x93,0x93,0x95,0x95,0x97,0x97,0x99,0x99,0x9B,0x9B,0x9D,0x9D,0x9F,0x9F, \ - 0xA1,0xA1,0xA3,0xA3,0xA5,0xA5,0xA7,0xA7,0xA9,0xA9,0xAB,0xAB,0xAD,0xAD,0xAE,0xAF, \ - 0xB0,0xB1,0xB2,0xB3,0xB4,0xB6,0xB6,0xB8,0xB8,0xB9,0xBA,0xBB,0xBC,0xBE,0xBE,0xBF, \ - 0xC0,0xC1,0xC2,0xC3,0xC4,0xC5,0xC7,0xC7,0xC8,0xC9,0xCA,0xCB,0xCC,0xCD,0xCE,0xCF, \ - 0xD1,0xD1,0xD3,0xD3,0xD5,0xD5,0xD7,0xD7,0xDD,0xD9,0xDA,0xDB,0xDC,0xDD,0xE0,0xDF, \ - 0xE0,0xE2,0xE2,0xE4,0xE4,0xE6,0xE6,0xE8,0xE8,0xEA,0xEA,0xEC,0xEC,0xEE,0xEE,0xEF, \ - 0xF0,0xF2,0xF2,0xF4,0xF4,0xF6,0xF6,0xF8,0xF8,0xFA,0xFA,0xFC,0xFC,0xFD,0xFE,0xFF} -#define TBL_CT857 {0x80,0x9A,0x90,0xB6,0x8E,0xB7,0x8F,0x80,0xD2,0xD3,0xD4,0xD8,0xD7,0x49,0x8E,0x8F, \ - 0x90,0x92,0x92,0xE2,0x99,0xE3,0xEA,0xEB,0x98,0x99,0x9A,0x9D,0x9C,0x9D,0x9E,0x9E, \ - 0xB5,0xD6,0xE0,0xE9,0xA5,0xA5,0xA6,0xA6,0xA8,0xA9,0xAA,0xAB,0xAC,0xAD,0xAE,0xAF, \ - 0xB0,0xB1,0xB2,0xB3,0xB4,0xB5,0xB6,0xB7,0xB8,0xB9,0xBA,0xBB,0xBC,0xBD,0xBE,0xBF, \ - 0xC0,0xC1,0xC2,0xC3,0xC4,0xC5,0xC7,0xC7,0xC8,0xC9,0xCA,0xCB,0xCC,0xCD,0xCE,0xCF, \ - 0xD0,0xD1,0xD2,0xD3,0xD4,0x49,0xD6,0xD7,0xD8,0xD9,0xDA,0xDB,0xDC,0xDD,0xDE,0xDF, \ - 0xE0,0xE1,0xE2,0xE3,0xE5,0xE5,0xE6,0xE7,0xE8,0xE9,0xEA,0xEB,0xDE,0xED,0xEE,0xEF, \ - 0xF0,0xF1,0xF2,0xF3,0xF4,0xF5,0xF6,0xF7,0xF8,0xF9,0xFA,0xFB,0xFC,0xFD,0xFE,0xFF} -#define TBL_CT860 {0x80,0x9A,0x90,0x8F,0x8E,0x91,0x86,0x80,0x89,0x89,0x92,0x8B,0x8C,0x98,0x8E,0x8F, \ - 0x90,0x91,0x92,0x8C,0x99,0xA9,0x96,0x9D,0x98,0x99,0x9A,0x9B,0x9C,0x9D,0x9E,0x9F, \ - 0x86,0x8B,0x9F,0x96,0xA5,0xA5,0xA6,0xA7,0xA8,0xA9,0xAA,0xAB,0xAC,0xAD,0xAE,0xAF, \ - 0xB0,0xB1,0xB2,0xB3,0xB4,0xB5,0xB6,0xB7,0xB8,0xB9,0xBA,0xBB,0xBC,0xBD,0xBE,0xBF, \ - 0xC0,0xC1,0xC2,0xC3,0xC4,0xC5,0xC6,0xC7,0xC8,0xC9,0xCA,0xCB,0xCC,0xCD,0xCE,0xCF, \ - 0xD0,0xD1,0xD2,0xD3,0xD4,0xD5,0xD6,0xD7,0xD8,0xD9,0xDA,0xDB,0xDC,0xDD,0xDE,0xDF, \ - 0xE0,0xE1,0xE2,0xE3,0xE4,0xE5,0xE6,0xE7,0xE8,0xE9,0xEA,0xEB,0xEC,0xED,0xEE,0xEF, \ - 0xF0,0xF1,0xF2,0xF3,0xF4,0xF5,0xF6,0xF7,0xF8,0xF9,0xFA,0xFB,0xFC,0xFD,0xFE,0xFF} -#define TBL_CT861 {0x80,0x9A,0x90,0x41,0x8E,0x41,0x8F,0x80,0x45,0x45,0x45,0x8B,0x8B,0x8D,0x8E,0x8F, \ - 0x90,0x92,0x92,0x4F,0x99,0x8D,0x55,0x97,0x97,0x99,0x9A,0x9D,0x9C,0x9D,0x9E,0x9F, \ - 0xA4,0xA5,0xA6,0xA7,0xA4,0xA5,0xA6,0xA7,0xA8,0xA9,0xAA,0xAB,0xAC,0xAD,0xAE,0xAF, \ - 0xB0,0xB1,0xB2,0xB3,0xB4,0xB5,0xB6,0xB7,0xB8,0xB9,0xBA,0xBB,0xBC,0xBD,0xBE,0xBF, \ - 0xC0,0xC1,0xC2,0xC3,0xC4,0xC5,0xC6,0xC7,0xC8,0xC9,0xCA,0xCB,0xCC,0xCD,0xCE,0xCF, \ - 0xD0,0xD1,0xD2,0xD3,0xD4,0xD5,0xD6,0xD7,0xD8,0xD9,0xDA,0xDB,0xDC,0xDD,0xDE,0xDF, \ - 0xE0,0xE1,0xE2,0xE3,0xE4,0xE5,0xE6,0xE7,0xE8,0xE9,0xEA,0xEB,0xEC,0xED,0xEE,0xEF, \ - 0xF0,0xF1,0xF2,0xF3,0xF4,0xF5,0xF6,0xF7,0xF8,0xF9,0xFA,0xFB,0xFC,0xFD,0xFE,0xFF} -#define TBL_CT862 {0x80,0x81,0x82,0x83,0x84,0x85,0x86,0x87,0x88,0x89,0x8A,0x8B,0x8C,0x8D,0x8E,0x8F, \ - 0x90,0x91,0x92,0x93,0x94,0x95,0x96,0x97,0x98,0x99,0x9A,0x9B,0x9C,0x9D,0x9E,0x9F, \ - 0x41,0x49,0x4F,0x55,0xA5,0xA5,0xA6,0xA7,0xA8,0xA9,0xAA,0xAB,0xAC,0xAD,0xAE,0xAF, \ - 0xB0,0xB1,0xB2,0xB3,0xB4,0xB5,0xB6,0xB7,0xB8,0xB9,0xBA,0xBB,0xBC,0xBD,0xBE,0xBF, \ - 0xC0,0xC1,0xC2,0xC3,0xC4,0xC5,0xC6,0xC7,0xC8,0xC9,0xCA,0xCB,0xCC,0xCD,0xCE,0xCF, \ - 0xD0,0xD1,0xD2,0xD3,0xD4,0xD5,0xD6,0xD7,0xD8,0xD9,0xDA,0xDB,0xDC,0xDD,0xDE,0xDF, \ - 0xE0,0xE1,0xE2,0xE3,0xE4,0xE5,0xE6,0xE7,0xE8,0xE9,0xEA,0xEB,0xEC,0xED,0xEE,0xEF, \ - 0xF0,0xF1,0xF2,0xF3,0xF4,0xF5,0xF6,0xF7,0xF8,0xF9,0xFA,0xFB,0xFC,0xFD,0xFE,0xFF} -#define TBL_CT863 {0x43,0x55,0x45,0x41,0x41,0x41,0x86,0x43,0x45,0x45,0x45,0x49,0x49,0x8D,0x41,0x8F, \ - 0x45,0x45,0x45,0x4F,0x45,0x49,0x55,0x55,0x98,0x4F,0x55,0x9B,0x9C,0x55,0x55,0x9F, \ - 0xA0,0xA1,0x4F,0x55,0xA4,0xA5,0xA6,0xA7,0x49,0xA9,0xAA,0xAB,0xAC,0xAD,0xAE,0xAF, \ - 0xB0,0xB1,0xB2,0xB3,0xB4,0xB5,0xB6,0xB7,0xB8,0xB9,0xBA,0xBB,0xBC,0xBD,0xBE,0xBF, \ - 0xC0,0xC1,0xC2,0xC3,0xC4,0xC5,0xC6,0xC7,0xC8,0xC9,0xCA,0xCB,0xCC,0xCD,0xCE,0xCF, \ - 0xD0,0xD1,0xD2,0xD3,0xD4,0xD5,0xD6,0xD7,0xD8,0xD9,0xDA,0xDB,0xDC,0xDD,0xDE,0xDF, \ - 0xE0,0xE1,0xE2,0xE3,0xE4,0xE5,0xE6,0xE7,0xE8,0xE9,0xEA,0xEB,0xEC,0xED,0xEE,0xEF, \ - 0xF0,0xF1,0xF2,0xF3,0xF4,0xF5,0xF6,0xF7,0xF8,0xF9,0xFA,0xFB,0xFC,0xFD,0xFE,0xFF} -#define TBL_CT864 {0x80,0x9A,0x45,0x41,0x8E,0x41,0x8F,0x80,0x45,0x45,0x45,0x49,0x49,0x49,0x8E,0x8F, \ - 0x90,0x92,0x92,0x4F,0x99,0x4F,0x55,0x55,0x59,0x99,0x9A,0x9B,0x9C,0x9D,0x9E,0x9F, \ - 0x41,0x49,0x4F,0x55,0xA5,0xA5,0xA6,0xA7,0xA8,0xA9,0xAA,0xAB,0xAC,0xAD,0xAE,0xAF, \ - 0xB0,0xB1,0xB2,0xB3,0xB4,0xB5,0xB6,0xB7,0xB8,0xB9,0xBA,0xBB,0xBC,0xBD,0xBE,0xBF, \ - 0xC0,0xC1,0xC2,0xC3,0xC4,0xC5,0xC6,0xC7,0xC8,0xC9,0xCA,0xCB,0xCC,0xCD,0xCE,0xCF, \ - 0xD0,0xD1,0xD2,0xD3,0xD4,0xD5,0xD6,0xD7,0xD8,0xD9,0xDA,0xDB,0xDC,0xDD,0xDE,0xDF, \ - 0xE0,0xE1,0xE2,0xE3,0xE4,0xE5,0xE6,0xE7,0xE8,0xE9,0xEA,0xEB,0xEC,0xED,0xEE,0xEF, \ - 0xF0,0xF1,0xF2,0xF3,0xF4,0xF5,0xF6,0xF7,0xF8,0xF9,0xFA,0xFB,0xFC,0xFD,0xFE,0xFF} -#define TBL_CT865 {0x80,0x9A,0x90,0x41,0x8E,0x41,0x8F,0x80,0x45,0x45,0x45,0x49,0x49,0x49,0x8E,0x8F, \ - 0x90,0x92,0x92,0x4F,0x99,0x4F,0x55,0x55,0x59,0x99,0x9A,0x9B,0x9C,0x9D,0x9E,0x9F, \ - 0x41,0x49,0x4F,0x55,0xA5,0xA5,0xA6,0xA7,0xA8,0xA9,0xAA,0xAB,0xAC,0xAD,0xAE,0xAF, \ - 0xB0,0xB1,0xB2,0xB3,0xB4,0xB5,0xB6,0xB7,0xB8,0xB9,0xBA,0xBB,0xBC,0xBD,0xBE,0xBF, \ - 0xC0,0xC1,0xC2,0xC3,0xC4,0xC5,0xC6,0xC7,0xC8,0xC9,0xCA,0xCB,0xCC,0xCD,0xCE,0xCF, \ - 0xD0,0xD1,0xD2,0xD3,0xD4,0xD5,0xD6,0xD7,0xD8,0xD9,0xDA,0xDB,0xDC,0xDD,0xDE,0xDF, \ - 0xE0,0xE1,0xE2,0xE3,0xE4,0xE5,0xE6,0xE7,0xE8,0xE9,0xEA,0xEB,0xEC,0xED,0xEE,0xEF, \ - 0xF0,0xF1,0xF2,0xF3,0xF4,0xF5,0xF6,0xF7,0xF8,0xF9,0xFA,0xFB,0xFC,0xFD,0xFE,0xFF} -#define TBL_CT866 {0x80,0x81,0x82,0x83,0x84,0x85,0x86,0x87,0x88,0x89,0x8A,0x8B,0x8C,0x8D,0x8E,0x8F, \ - 0x90,0x91,0x92,0x93,0x94,0x95,0x96,0x97,0x98,0x99,0x9A,0x9B,0x9C,0x9D,0x9E,0x9F, \ - 0x80,0x81,0x82,0x83,0x84,0x85,0x86,0x87,0x88,0x89,0x8A,0x8B,0x8C,0x8D,0x8E,0x8F, \ - 0xB0,0xB1,0xB2,0xB3,0xB4,0xB5,0xB6,0xB7,0xB8,0xB9,0xBA,0xBB,0xBC,0xBD,0xBE,0xBF, \ - 0xC0,0xC1,0xC2,0xC3,0xC4,0xC5,0xC6,0xC7,0xC8,0xC9,0xCA,0xCB,0xCC,0xCD,0xCE,0xCF, \ - 0xD0,0xD1,0xD2,0xD3,0xD4,0xD5,0xD6,0xD7,0xD8,0xD9,0xDA,0xDB,0xDC,0xDD,0xDE,0xDF, \ - 0x90,0x91,0x92,0x93,0x94,0x95,0x96,0x97,0x98,0x99,0x9A,0x9B,0x9C,0x9D,0x9E,0x9F, \ - 0xF0,0xF0,0xF2,0xF2,0xF4,0xF4,0xF6,0xF6,0xF8,0xF9,0xFA,0xFB,0xFC,0xFD,0xFE,0xFF} -#define TBL_CT869 {0x80,0x81,0x82,0x83,0x84,0x85,0x86,0x87,0x88,0x89,0x8A,0x8B,0x8C,0x8D,0x8E,0x8F, \ - 0x90,0x91,0x92,0x93,0x94,0x95,0x96,0x97,0x98,0x99,0x9A,0x86,0x9C,0x8D,0x8F,0x90, \ - 0x91,0x90,0x92,0x95,0xA4,0xA5,0xA6,0xA7,0xA8,0xA9,0xAA,0xAB,0xAC,0xAD,0xAE,0xAF, \ - 0xB0,0xB1,0xB2,0xB3,0xB4,0xB5,0xB6,0xB7,0xB8,0xB9,0xBA,0xBB,0xBC,0xBD,0xBE,0xBF, \ - 0xC0,0xC1,0xC2,0xC3,0xC4,0xC5,0xC6,0xC7,0xC8,0xC9,0xCA,0xCB,0xCC,0xCD,0xCE,0xCF, \ - 0xD0,0xD1,0xD2,0xD3,0xD4,0xD5,0xA4,0xA5,0xA6,0xD9,0xDA,0xDB,0xDC,0xA7,0xA8,0xDF, \ - 0xA9,0xAA,0xAC,0xAD,0xB5,0xB6,0xB7,0xB8,0xBD,0xBE,0xC6,0xC7,0xCF,0xCF,0xD0,0xEF, \ - 0xF0,0xF1,0xD1,0xD2,0xD3,0xF5,0xD4,0xF7,0xF8,0xF9,0xD5,0x96,0x95,0x98,0xFE,0xFF} - - -/* DBCS code range |----- 1st byte -----| |----------- 2nd byte -----------| */ -/* <------> <------> <------> <------> <------> */ -#define TBL_DC932 {0x81, 0x9F, 0xE0, 0xFC, 0x40, 0x7E, 0x80, 0xFC, 0x00, 0x00} -#define TBL_DC936 {0x81, 0xFE, 0x00, 0x00, 0x40, 0x7E, 0x80, 0xFE, 0x00, 0x00} -#define TBL_DC949 {0x81, 0xFE, 0x00, 0x00, 0x41, 0x5A, 0x61, 0x7A, 0x81, 0xFE} -#define TBL_DC950 {0x81, 0xFE, 0x00, 0x00, 0x40, 0x7E, 0xA1, 0xFE, 0x00, 0x00} - - -/* Macros for table definitions */ -#define MERGE_2STR(a, b) a ## b -#define MKCVTBL(hd, cp) MERGE_2STR(hd, cp) - - - - -/*-------------------------------------------------------------------------- - - Module Private Work Area - ----------------------------------------------------------------------------*/ -/* Remark: Variables defined here without initial value shall be guaranteed -/ zero/null at start-up. If not, the linker option or start-up routine is -/ not compliance with C standard. */ - -/*--------------------------------*/ -/* File/Volume controls */ -/*--------------------------------*/ - -#if FF_VOLUMES < 1 || FF_VOLUMES > 10 -#error Wrong FF_VOLUMES setting -#endif -static FATFS* FatFs[FF_VOLUMES]; /* Pointer to the filesystem objects (logical drives) */ -static WORD Fsid; /* Filesystem mount ID */ - -#if FF_FS_RPATH != 0 -static BYTE CurrVol; /* Current drive */ -#endif - -#if FF_FS_LOCK != 0 -static FILESEM Files[FF_FS_LOCK]; /* Open object lock semaphores */ -#endif - -#if FF_STR_VOLUME_ID -#ifdef FF_VOLUME_STRS -static const char* const VolumeStr[FF_VOLUMES] = {FF_VOLUME_STRS}; /* Pre-defined volume ID */ -#endif -#endif - -#if FF_LBA64 -#if FF_MIN_GPT > 0x100000000 -#error Wrong FF_MIN_GPT setting -#endif -static const BYTE GUID_MS_Basic[16] = {0xA2,0xA0,0xD0,0xEB,0xE5,0xB9,0x33,0x44,0x87,0xC0,0x68,0xB6,0xB7,0x26,0x99,0xC7}; -#endif - - - -/*--------------------------------*/ -/* LFN/Directory working buffer */ -/*--------------------------------*/ - -#if FF_USE_LFN == 0 /* Non-LFN configuration */ -#if FF_FS_EXFAT -#error LFN must be enabled when enable exFAT -#endif -#define DEF_NAMBUF -#define INIT_NAMBUF(fs) -#define FREE_NAMBUF() -#define LEAVE_MKFS(res) return res - -#else /* LFN configurations */ -#if FF_MAX_LFN < 12 || FF_MAX_LFN > 255 -#error Wrong setting of FF_MAX_LFN -#endif -#if FF_LFN_BUF < FF_SFN_BUF || FF_SFN_BUF < 12 -#error Wrong setting of FF_LFN_BUF or FF_SFN_BUF -#endif -#if FF_LFN_UNICODE < 0 || FF_LFN_UNICODE > 3 -#error Wrong setting of FF_LFN_UNICODE -#endif -static const BYTE LfnOfs[] = {1,3,5,7,9,14,16,18,20,22,24,28,30}; /* FAT: Offset of LFN characters in the directory entry */ -#define MAXDIRB(nc) ((nc + 44U) / 15 * SZDIRE) /* exFAT: Size of directory entry block scratchpad buffer needed for the name length */ - -#if FF_USE_LFN == 1 /* LFN enabled with static working buffer */ -#if FF_FS_EXFAT -static BYTE DirBuf[MAXDIRB(FF_MAX_LFN)]; /* Directory entry block scratchpad buffer */ -#endif -static WCHAR LfnBuf[FF_MAX_LFN + 1]; /* LFN working buffer */ -#define DEF_NAMBUF -#define INIT_NAMBUF(fs) -#define FREE_NAMBUF() -#define LEAVE_MKFS(res) return res - -#elif FF_USE_LFN == 2 /* LFN enabled with dynamic working buffer on the stack */ -#if FF_FS_EXFAT -#define DEF_NAMBUF WCHAR lbuf[FF_MAX_LFN+1]; BYTE dbuf[MAXDIRB(FF_MAX_LFN)]; /* LFN working buffer and directory entry block scratchpad buffer */ -#define INIT_NAMBUF(fs) { (fs)->lfnbuf = lbuf; (fs)->dirbuf = dbuf; } -#define FREE_NAMBUF() -#else -#define DEF_NAMBUF WCHAR lbuf[FF_MAX_LFN+1]; /* LFN working buffer */ -#define INIT_NAMBUF(fs) { (fs)->lfnbuf = lbuf; } -#define FREE_NAMBUF() -#endif -#define LEAVE_MKFS(res) return res - -#elif FF_USE_LFN == 3 /* LFN enabled with dynamic working buffer on the heap */ -#if FF_FS_EXFAT -#define DEF_NAMBUF WCHAR *lfn; /* Pointer to LFN working buffer and directory entry block scratchpad buffer */ -#define INIT_NAMBUF(fs) { lfn = ff_memalloc((FF_MAX_LFN+1)*2 + MAXDIRB(FF_MAX_LFN)); if (!lfn) LEAVE_FF(fs, FR_NOT_ENOUGH_CORE); (fs)->lfnbuf = lfn; (fs)->dirbuf = (BYTE*)(lfn+FF_MAX_LFN+1); } -#define FREE_NAMBUF() ff_memfree(lfn) -#else -#define DEF_NAMBUF WCHAR *lfn; /* Pointer to LFN working buffer */ -#define INIT_NAMBUF(fs) { lfn = ff_memalloc((FF_MAX_LFN+1)*2); if (!lfn) LEAVE_FF(fs, FR_NOT_ENOUGH_CORE); (fs)->lfnbuf = lfn; } -#define FREE_NAMBUF() ff_memfree(lfn) -#endif -#define LEAVE_MKFS(res) { if (!work) ff_memfree(buf); return res; } -#define MAX_MALLOC 0x8000 /* Must be >=FF_MAX_SS */ - -#else -#error Wrong setting of FF_USE_LFN - -#endif /* FF_USE_LFN == 1 */ -#endif /* FF_USE_LFN == 0 */ - - - -/*--------------------------------*/ -/* Code conversion tables */ -/*--------------------------------*/ - -#if FF_CODE_PAGE == 0 /* Run-time code page configuration */ -#define CODEPAGE CodePage -static WORD CodePage; /* Current code page */ -static const BYTE *ExCvt, *DbcTbl; /* Pointer to current SBCS up-case table and DBCS code range table below */ - -static const BYTE Ct437[] = TBL_CT437; -static const BYTE Ct720[] = TBL_CT720; -static const BYTE Ct737[] = TBL_CT737; -static const BYTE Ct771[] = TBL_CT771; -static const BYTE Ct775[] = TBL_CT775; -static const BYTE Ct850[] = TBL_CT850; -static const BYTE Ct852[] = TBL_CT852; -static const BYTE Ct855[] = TBL_CT855; -static const BYTE Ct857[] = TBL_CT857; -static const BYTE Ct860[] = TBL_CT860; -static const BYTE Ct861[] = TBL_CT861; -static const BYTE Ct862[] = TBL_CT862; -static const BYTE Ct863[] = TBL_CT863; -static const BYTE Ct864[] = TBL_CT864; -static const BYTE Ct865[] = TBL_CT865; -static const BYTE Ct866[] = TBL_CT866; -static const BYTE Ct869[] = TBL_CT869; -static const BYTE Dc932[] = TBL_DC932; -static const BYTE Dc936[] = TBL_DC936; -static const BYTE Dc949[] = TBL_DC949; -static const BYTE Dc950[] = TBL_DC950; - -#elif FF_CODE_PAGE < 900 /* Static code page configuration (SBCS) */ -#define CODEPAGE FF_CODE_PAGE -static const BYTE ExCvt[] = MKCVTBL(TBL_CT, FF_CODE_PAGE); - -#else /* Static code page configuration (DBCS) */ -#define CODEPAGE FF_CODE_PAGE -static const BYTE DbcTbl[] = MKCVTBL(TBL_DC, FF_CODE_PAGE); - -#endif - - - - -/*-------------------------------------------------------------------------- - - Module Private Functions - ----------------------------------------------------------------------------*/ - - -/*-----------------------------------------------------------------------*/ -/* Load/Store multi-byte word in the FAT structure */ -/*-----------------------------------------------------------------------*/ - -static WORD ld_word (const BYTE* ptr) /* Load a 2-byte little-endian word */ -{ - WORD rv; - - rv = ptr[1]; - rv = rv << 8 | ptr[0]; - return rv; -} - -static DWORD ld_dword (const BYTE* ptr) /* Load a 4-byte little-endian word */ -{ - DWORD rv; - - rv = ptr[3]; - rv = rv << 8 | ptr[2]; - rv = rv << 8 | ptr[1]; - rv = rv << 8 | ptr[0]; - return rv; -} - -#if FF_FS_EXFAT -static QWORD ld_qword (const BYTE* ptr) /* Load an 8-byte little-endian word */ -{ - QWORD rv; - - rv = ptr[7]; - rv = rv << 8 | ptr[6]; - rv = rv << 8 | ptr[5]; - rv = rv << 8 | ptr[4]; - rv = rv << 8 | ptr[3]; - rv = rv << 8 | ptr[2]; - rv = rv << 8 | ptr[1]; - rv = rv << 8 | ptr[0]; - return rv; -} -#endif - -#if !FF_FS_READONLY -static void st_word (BYTE* ptr, WORD val) /* Store a 2-byte word in little-endian */ -{ - *ptr++ = (BYTE)val; val >>= 8; - *ptr++ = (BYTE)val; -} - -static void st_dword (BYTE* ptr, DWORD val) /* Store a 4-byte word in little-endian */ -{ - *ptr++ = (BYTE)val; val >>= 8; - *ptr++ = (BYTE)val; val >>= 8; - *ptr++ = (BYTE)val; val >>= 8; - *ptr++ = (BYTE)val; -} - -#if FF_FS_EXFAT -static void st_qword (BYTE* ptr, QWORD val) /* Store an 8-byte word in little-endian */ -{ - *ptr++ = (BYTE)val; val >>= 8; - *ptr++ = (BYTE)val; val >>= 8; - *ptr++ = (BYTE)val; val >>= 8; - *ptr++ = (BYTE)val; val >>= 8; - *ptr++ = (BYTE)val; val >>= 8; - *ptr++ = (BYTE)val; val >>= 8; - *ptr++ = (BYTE)val; val >>= 8; - *ptr++ = (BYTE)val; -} -#endif -#endif /* !FF_FS_READONLY */ - - - -/*-----------------------------------------------------------------------*/ -/* String functions */ -/*-----------------------------------------------------------------------*/ - -/* Copy memory to memory */ -static void mem_cpy (void* dst, const void* src, UINT cnt) -{ - BYTE *d = (BYTE*)dst; - const BYTE *s = (const BYTE*)src; - - if (cnt != 0) { - do { - *d++ = *s++; - } while (--cnt); - } -} - - -/* Fill memory block */ -static void mem_set (void* dst, int val, UINT cnt) -{ - BYTE *d = (BYTE*)dst; - - do { - *d++ = (BYTE)val; - } while (--cnt); -} - - -/* Compare memory block */ -static int mem_cmp (const void* dst, const void* src, UINT cnt) /* ZR:same, NZ:different */ -{ - const BYTE *d = (const BYTE *)dst, *s = (const BYTE *)src; - int r = 0; - - do { - r = *d++ - *s++; - } while (--cnt && r == 0); - - return r; -} - - -/* Check if chr is contained in the string */ -static int chk_chr (const char* str, int chr) /* NZ:contained, ZR:not contained */ -{ - while (*str && *str != chr) str++; - return *str; -} - - -/* Test if the byte is DBC 1st byte */ -static int dbc_1st (BYTE c) -{ -#if FF_CODE_PAGE == 0 /* Variable code page */ - if (DbcTbl && c >= DbcTbl[0]) { - if (c <= DbcTbl[1]) return 1; /* 1st byte range 1 */ - if (c >= DbcTbl[2] && c <= DbcTbl[3]) return 1; /* 1st byte range 2 */ - } -#elif FF_CODE_PAGE >= 900 /* DBCS fixed code page */ - if (c >= DbcTbl[0]) { - if (c <= DbcTbl[1]) return 1; - if (c >= DbcTbl[2] && c <= DbcTbl[3]) return 1; - } -#else /* SBCS fixed code page */ - if (c != 0) return 0; /* Always false */ -#endif - return 0; -} - - -/* Test if the byte is DBC 2nd byte */ -static int dbc_2nd (BYTE c) -{ -#if FF_CODE_PAGE == 0 /* Variable code page */ - if (DbcTbl && c >= DbcTbl[4]) { - if (c <= DbcTbl[5]) return 1; /* 2nd byte range 1 */ - if (c >= DbcTbl[6] && c <= DbcTbl[7]) return 1; /* 2nd byte range 2 */ - if (c >= DbcTbl[8] && c <= DbcTbl[9]) return 1; /* 2nd byte range 3 */ - } -#elif FF_CODE_PAGE >= 900 /* DBCS fixed code page */ - if (c >= DbcTbl[4]) { - if (c <= DbcTbl[5]) return 1; - if (c >= DbcTbl[6] && c <= DbcTbl[7]) return 1; - if (c >= DbcTbl[8] && c <= DbcTbl[9]) return 1; - } -#else /* SBCS fixed code page */ - if (c != 0) return 0; /* Always false */ -#endif - return 0; -} - - -#if FF_USE_LFN - -/* Get a Unicode code point from the TCHAR string in defined API encodeing */ -static DWORD tchar2uni ( /* Returns a character in UTF-16 encoding (>=0x10000 on surrogate pair, 0xFFFFFFFF on decode error) */ - const TCHAR** str /* Pointer to pointer to TCHAR string in configured encoding */ -) -{ - DWORD uc; - const TCHAR *p = *str; - -#if FF_LFN_UNICODE == 1 /* UTF-16 input */ - WCHAR wc; - - uc = *p++; /* Get a unit */ - if (IsSurrogate(uc)) { /* Surrogate? */ - wc = *p++; /* Get low surrogate */ - if (!IsSurrogateH(uc) || !IsSurrogateL(wc)) return 0xFFFFFFFF; /* Wrong surrogate? */ - uc = uc << 16 | wc; - } - -#elif FF_LFN_UNICODE == 2 /* UTF-8 input */ - BYTE b; - int nf; - - uc = (BYTE)*p++; /* Get an encoding unit */ - if (uc & 0x80) { /* Multiple byte code? */ - if ((uc & 0xE0) == 0xC0) { /* 2-byte sequence? */ - uc &= 0x1F; nf = 1; - } else { - if ((uc & 0xF0) == 0xE0) { /* 3-byte sequence? */ - uc &= 0x0F; nf = 2; - } else { - if ((uc & 0xF8) == 0xF0) { /* 4-byte sequence? */ - uc &= 0x07; nf = 3; - } else { /* Wrong sequence */ - return 0xFFFFFFFF; - } - } - } - do { /* Get trailing bytes */ - b = (BYTE)*p++; - if ((b & 0xC0) != 0x80) return 0xFFFFFFFF; /* Wrong sequence? */ - uc = uc << 6 | (b & 0x3F); - } while (--nf != 0); - if (uc < 0x80 || IsSurrogate(uc) || uc >= 0x110000) return 0xFFFFFFFF; /* Wrong code? */ - if (uc >= 0x010000) uc = 0xD800DC00 | ((uc - 0x10000) << 6 & 0x3FF0000) | (uc & 0x3FF); /* Make a surrogate pair if needed */ - } - -#elif FF_LFN_UNICODE == 3 /* UTF-32 input */ - uc = (TCHAR)*p++; /* Get a unit */ - if (uc >= 0x110000 || IsSurrogate(uc)) return 0xFFFFFFFF; /* Wrong code? */ - if (uc >= 0x010000) uc = 0xD800DC00 | ((uc - 0x10000) << 6 & 0x3FF0000) | (uc & 0x3FF); /* Make a surrogate pair if needed */ - -#else /* ANSI/OEM input */ - BYTE b; - WCHAR wc; - - wc = (BYTE)*p++; /* Get a byte */ - if (dbc_1st((BYTE)wc)) { /* Is it a DBC 1st byte? */ - b = (BYTE)*p++; /* Get 2nd byte */ - if (!dbc_2nd(b)) return 0xFFFFFFFF; /* Invalid code? */ - wc = (wc << 8) + b; /* Make a DBC */ - } - if (wc != 0) { - wc = ff_oem2uni(wc, CODEPAGE); /* ANSI/OEM ==> Unicode */ - if (wc == 0) return 0xFFFFFFFF; /* Invalid code? */ - } - uc = wc; - -#endif - *str = p; /* Next read pointer */ - return uc; -} - - -/* Output a TCHAR string in defined API encoding */ -static BYTE put_utf ( /* Returns number of encoding units written (0:buffer overflow or wrong encoding) */ - DWORD chr, /* UTF-16 encoded character (Surrogate pair if >=0x10000) */ - TCHAR* buf, /* Output buffer */ - UINT szb /* Size of the buffer */ -) -{ -#if FF_LFN_UNICODE == 1 /* UTF-16 output */ - WCHAR hs, wc; - - hs = (WCHAR)(chr >> 16); - wc = (WCHAR)chr; - if (hs == 0) { /* Single encoding unit? */ - if (szb < 1 || IsSurrogate(wc)) return 0; /* Buffer overflow or wrong code? */ - *buf = wc; - return 1; - } - if (szb < 2 || !IsSurrogateH(hs) || !IsSurrogateL(wc)) return 0; /* Buffer overflow or wrong surrogate? */ - *buf++ = hs; - *buf++ = wc; - return 2; - -#elif FF_LFN_UNICODE == 2 /* UTF-8 output */ - DWORD hc; - - if (chr < 0x80) { /* Single byte code? */ - if (szb < 1) return 0; /* Buffer overflow? */ - *buf = (TCHAR)chr; - return 1; - } - if (chr < 0x800) { /* 2-byte sequence? */ - if (szb < 2) return 0; /* Buffer overflow? */ - *buf++ = (TCHAR)(0xC0 | (chr >> 6 & 0x1F)); - *buf++ = (TCHAR)(0x80 | (chr >> 0 & 0x3F)); - return 2; - } - if (chr < 0x10000) { /* 3-byte sequence? */ - if (szb < 3 || IsSurrogate(chr)) return 0; /* Buffer overflow or wrong code? */ - *buf++ = (TCHAR)(0xE0 | (chr >> 12 & 0x0F)); - *buf++ = (TCHAR)(0x80 | (chr >> 6 & 0x3F)); - *buf++ = (TCHAR)(0x80 | (chr >> 0 & 0x3F)); - return 3; - } - /* 4-byte sequence */ - if (szb < 4) return 0; /* Buffer overflow? */ - hc = ((chr & 0xFFFF0000) - 0xD8000000) >> 6; /* Get high 10 bits */ - chr = (chr & 0xFFFF) - 0xDC00; /* Get low 10 bits */ - if (hc >= 0x100000 || chr >= 0x400) return 0; /* Wrong surrogate? */ - chr = (hc | chr) + 0x10000; - *buf++ = (TCHAR)(0xF0 | (chr >> 18 & 0x07)); - *buf++ = (TCHAR)(0x80 | (chr >> 12 & 0x3F)); - *buf++ = (TCHAR)(0x80 | (chr >> 6 & 0x3F)); - *buf++ = (TCHAR)(0x80 | (chr >> 0 & 0x3F)); - return 4; - -#elif FF_LFN_UNICODE == 3 /* UTF-32 output */ - DWORD hc; - - if (szb < 1) return 0; /* Buffer overflow? */ - if (chr >= 0x10000) { /* Out of BMP? */ - hc = ((chr & 0xFFFF0000) - 0xD8000000) >> 6; /* Get high 10 bits */ - chr = (chr & 0xFFFF) - 0xDC00; /* Get low 10 bits */ - if (hc >= 0x100000 || chr >= 0x400) return 0; /* Wrong surrogate? */ - chr = (hc | chr) + 0x10000; - } - *buf++ = (TCHAR)chr; - return 1; - -#else /* ANSI/OEM output */ - WCHAR wc; - - wc = ff_uni2oem(chr, CODEPAGE); - if (wc >= 0x100) { /* Is this a DBC? */ - if (szb < 2) return 0; - *buf++ = (char)(wc >> 8); /* Store DBC 1st byte */ - *buf++ = (TCHAR)wc; /* Store DBC 2nd byte */ - return 2; - } - if (wc == 0 || szb < 1) return 0; /* Invalid char or buffer overflow? */ - *buf++ = (TCHAR)wc; /* Store the character */ - return 1; -#endif -} -#endif /* FF_USE_LFN */ - - -#if FF_FS_REENTRANT -/*-----------------------------------------------------------------------*/ -/* Request/Release grant to access the volume */ -/*-----------------------------------------------------------------------*/ -static int lock_fs ( /* 1:Ok, 0:timeout */ - FATFS* fs /* Filesystem object */ -) -{ - return ff_req_grant(fs->sobj); -} - - -static void unlock_fs ( - FATFS* fs, /* Filesystem object */ - FRESULT res /* Result code to be returned */ -) -{ - if (fs && res != FR_NOT_ENABLED && res != FR_INVALID_DRIVE && res != FR_TIMEOUT) { - ff_rel_grant(fs->sobj); - } -} - -#endif - - - -#if FF_FS_LOCK != 0 -/*-----------------------------------------------------------------------*/ -/* File lock control functions */ -/*-----------------------------------------------------------------------*/ - -static FRESULT chk_lock ( /* Check if the file can be accessed */ - DIR* dp, /* Directory object pointing the file to be checked */ - int acc /* Desired access type (0:Read mode open, 1:Write mode open, 2:Delete or rename) */ -) -{ - UINT i, be; - - /* Search open object table for the object */ - be = 0; - for (i = 0; i < FF_FS_LOCK; i++) { - if (Files[i].fs) { /* Existing entry */ - if (Files[i].fs == dp->obj.fs && /* Check if the object matches with an open object */ - Files[i].clu == dp->obj.sclust && - Files[i].ofs == dp->dptr) break; - } else { /* Blank entry */ - be = 1; - } - } - if (i == FF_FS_LOCK) { /* The object has not been opened */ - return (!be && acc != 2) ? FR_TOO_MANY_OPEN_FILES : FR_OK; /* Is there a blank entry for new object? */ - } - - /* The object was opened. Reject any open against writing file and all write mode open */ - return (acc != 0 || Files[i].ctr == 0x100) ? FR_LOCKED : FR_OK; -} - - -static int enq_lock (void) /* Check if an entry is available for a new object */ -{ - UINT i; - - for (i = 0; i < FF_FS_LOCK && Files[i].fs; i++) ; - return (i == FF_FS_LOCK) ? 0 : 1; -} - - -static UINT inc_lock ( /* Increment object open counter and returns its index (0:Internal error) */ - DIR* dp, /* Directory object pointing the file to register or increment */ - int acc /* Desired access (0:Read, 1:Write, 2:Delete/Rename) */ -) -{ - UINT i; - - - for (i = 0; i < FF_FS_LOCK; i++) { /* Find the object */ - if (Files[i].fs == dp->obj.fs - && Files[i].clu == dp->obj.sclust - && Files[i].ofs == dp->dptr) break; - } - - if (i == FF_FS_LOCK) { /* Not opened. Register it as new. */ - for (i = 0; i < FF_FS_LOCK && Files[i].fs; i++) ; - if (i == FF_FS_LOCK) return 0; /* No free entry to register (int err) */ - Files[i].fs = dp->obj.fs; - Files[i].clu = dp->obj.sclust; - Files[i].ofs = dp->dptr; - Files[i].ctr = 0; - } - - if (acc >= 1 && Files[i].ctr) return 0; /* Access violation (int err) */ - - Files[i].ctr = acc ? 0x100 : Files[i].ctr + 1; /* Set semaphore value */ - - return i + 1; /* Index number origin from 1 */ -} - - -static FRESULT dec_lock ( /* Decrement object open counter */ - UINT i /* Semaphore index (1..) */ -) -{ - WORD n; - FRESULT res; - - - if (--i < FF_FS_LOCK) { /* Index number origin from 0 */ - n = Files[i].ctr; - if (n == 0x100) n = 0; /* If write mode open, delete the entry */ - if (n > 0) n--; /* Decrement read mode open count */ - Files[i].ctr = n; - if (n == 0) Files[i].fs = 0; /* Delete the entry if open count gets zero */ - res = FR_OK; - } else { - res = FR_INT_ERR; /* Invalid index nunber */ - } - return res; -} - - -static void clear_lock ( /* Clear lock entries of the volume */ - FATFS *fs -) -{ - UINT i; - - for (i = 0; i < FF_FS_LOCK; i++) { - if (Files[i].fs == fs) Files[i].fs = 0; - } -} - -#endif /* FF_FS_LOCK != 0 */ - - - -/*-----------------------------------------------------------------------*/ -/* Move/Flush disk access window in the filesystem object */ -/*-----------------------------------------------------------------------*/ -#if !FF_FS_READONLY -static FRESULT sync_window ( /* Returns FR_OK or FR_DISK_ERR */ - FATFS* fs /* Filesystem object */ -) -{ - FRESULT res = FR_OK; - - - if (fs->wflag) { /* Is the disk access window dirty? */ - if (disk_write(fs->pdrv, fs->win, fs->winsect, 1) == RES_OK) { /* Write it back into the volume */ - fs->wflag = 0; /* Clear window dirty flag */ - if (fs->winsect - fs->fatbase < fs->fsize) { /* Is it in the 1st FAT? */ - if (fs->n_fats == 2) disk_write(fs->pdrv, fs->win, fs->winsect + fs->fsize, 1); /* Reflect it to 2nd FAT if needed */ - } - } else { - res = FR_DISK_ERR; - } - } - return res; -} -#endif - - -static FRESULT move_window ( /* Returns FR_OK or FR_DISK_ERR */ - FATFS* fs, /* Filesystem object */ - LBA_t sect /* Sector LBA to make appearance in the fs->win[] */ -) -{ - FRESULT res = FR_OK; - - - if (sect != fs->winsect) { /* Window offset changed? */ -#if !FF_FS_READONLY - res = sync_window(fs); /* Flush the window */ -#endif - if (res == FR_OK) { /* Fill sector window with new data */ - if (disk_read(fs->pdrv, fs->win, sect, 1) != RES_OK) { - sect = (LBA_t)0 - 1; /* Invalidate window if read data is not valid */ - res = FR_DISK_ERR; - } - fs->winsect = sect; - } - } - return res; -} - - - - -#if !FF_FS_READONLY -/*-----------------------------------------------------------------------*/ -/* Synchronize filesystem and data on the storage */ -/*-----------------------------------------------------------------------*/ - -static FRESULT sync_fs ( /* Returns FR_OK or FR_DISK_ERR */ - FATFS* fs /* Filesystem object */ -) -{ - FRESULT res; - - - res = sync_window(fs); - if (res == FR_OK) { - if (fs->fs_type == FS_FAT32 && fs->fsi_flag == 1) { /* FAT32: Update FSInfo sector if needed */ - /* Create FSInfo structure */ - mem_set(fs->win, 0, sizeof fs->win); - st_word(fs->win + BS_55AA, 0xAA55); - st_dword(fs->win + FSI_LeadSig, 0x41615252); - st_dword(fs->win + FSI_StrucSig, 0x61417272); - st_dword(fs->win + FSI_Free_Count, fs->free_clst); - st_dword(fs->win + FSI_Nxt_Free, fs->last_clst); - /* Write it into the FSInfo sector */ - fs->winsect = fs->volbase + 1; - disk_write(fs->pdrv, fs->win, fs->winsect, 1); - fs->fsi_flag = 0; - } - /* Make sure that no pending write process in the lower layer */ - if (disk_ioctl(fs->pdrv, CTRL_SYNC, 0) != RES_OK) res = FR_DISK_ERR; - } - - return res; -} - -#endif - - - -/*-----------------------------------------------------------------------*/ -/* Get physical sector number from cluster number */ -/*-----------------------------------------------------------------------*/ - -static LBA_t clst2sect ( /* !=0:Sector number, 0:Failed (invalid cluster#) */ - FATFS* fs, /* Filesystem object */ - DWORD clst /* Cluster# to be converted */ -) -{ - clst -= 2; /* Cluster number is origin from 2 */ - if (clst >= fs->n_fatent - 2) return 0; /* Is it invalid cluster number? */ - return fs->database + (LBA_t)fs->csize * clst; /* Start sector number of the cluster */ -} - - - - -/*-----------------------------------------------------------------------*/ -/* FAT access - Read value of a FAT entry */ -/*-----------------------------------------------------------------------*/ - -static DWORD get_fat ( /* 0xFFFFFFFF:Disk error, 1:Internal error, 2..0x7FFFFFFF:Cluster status */ - FFOBJID* obj, /* Corresponding object */ - DWORD clst /* Cluster number to get the value */ -) -{ - UINT wc, bc; - DWORD val; - FATFS *fs = obj->fs; - - - if (clst < 2 || clst >= fs->n_fatent) { /* Check if in valid range */ - val = 1; /* Internal error */ - - } else { - val = 0xFFFFFFFF; /* Default value falls on disk error */ - - switch (fs->fs_type) { - case FS_FAT12 : - bc = (UINT)clst; bc += bc / 2; - if (move_window(fs, fs->fatbase + (bc / SS(fs))) != FR_OK) break; - wc = fs->win[bc++ % SS(fs)]; /* Get 1st byte of the entry */ - if (move_window(fs, fs->fatbase + (bc / SS(fs))) != FR_OK) break; - wc |= fs->win[bc % SS(fs)] << 8; /* Merge 2nd byte of the entry */ - val = (clst & 1) ? (wc >> 4) : (wc & 0xFFF); /* Adjust bit position */ - break; - - case FS_FAT16 : - if (move_window(fs, fs->fatbase + (clst / (SS(fs) / 2))) != FR_OK) break; - val = ld_word(fs->win + clst * 2 % SS(fs)); /* Simple WORD array */ - break; - - case FS_FAT32 : - if (move_window(fs, fs->fatbase + (clst / (SS(fs) / 4))) != FR_OK) break; - val = ld_dword(fs->win + clst * 4 % SS(fs)) & 0x0FFFFFFF; /* Simple DWORD array but mask out upper 4 bits */ - break; -#if FF_FS_EXFAT - case FS_EXFAT : - if ((obj->objsize != 0 && obj->sclust != 0) || obj->stat == 0) { /* Object except root dir must have valid data length */ - DWORD cofs = clst - obj->sclust; /* Offset from start cluster */ - DWORD clen = (DWORD)((LBA_t)((obj->objsize - 1) / SS(fs)) / fs->csize); /* Number of clusters - 1 */ - - if (obj->stat == 2 && cofs <= clen) { /* Is it a contiguous chain? */ - val = (cofs == clen) ? 0x7FFFFFFF : clst + 1; /* No data on the FAT, generate the value */ - break; - } - if (obj->stat == 3 && cofs < obj->n_cont) { /* Is it in the 1st fragment? */ - val = clst + 1; /* Generate the value */ - break; - } - if (obj->stat != 2) { /* Get value from FAT if FAT chain is valid */ - if (obj->n_frag != 0) { /* Is it on the growing edge? */ - val = 0x7FFFFFFF; /* Generate EOC */ - } else { - if (move_window(fs, fs->fatbase + (clst / (SS(fs) / 4))) != FR_OK) break; - val = ld_dword(fs->win + clst * 4 % SS(fs)) & 0x7FFFFFFF; - } - break; - } - } - /* go to default */ -#endif - default: - val = 1; /* Internal error */ - } - } - - return val; -} - - - - -#if !FF_FS_READONLY -/*-----------------------------------------------------------------------*/ -/* FAT access - Change value of a FAT entry */ -/*-----------------------------------------------------------------------*/ - -static FRESULT put_fat ( /* FR_OK(0):succeeded, !=0:error */ - FATFS* fs, /* Corresponding filesystem object */ - DWORD clst, /* FAT index number (cluster number) to be changed */ - DWORD val /* New value to be set to the entry */ -) -{ - UINT bc; - BYTE *p; - FRESULT res = FR_INT_ERR; - - - if (clst >= 2 && clst < fs->n_fatent) { /* Check if in valid range */ - switch (fs->fs_type) { - case FS_FAT12 : - bc = (UINT)clst; bc += bc / 2; /* bc: byte offset of the entry */ - res = move_window(fs, fs->fatbase + (bc / SS(fs))); - if (res != FR_OK) break; - p = fs->win + bc++ % SS(fs); - *p = (clst & 1) ? ((*p & 0x0F) | ((BYTE)val << 4)) : (BYTE)val; /* Update 1st byte */ - fs->wflag = 1; - res = move_window(fs, fs->fatbase + (bc / SS(fs))); - if (res != FR_OK) break; - p = fs->win + bc % SS(fs); - *p = (clst & 1) ? (BYTE)(val >> 4) : ((*p & 0xF0) | ((BYTE)(val >> 8) & 0x0F)); /* Update 2nd byte */ - fs->wflag = 1; - break; - - case FS_FAT16 : - res = move_window(fs, fs->fatbase + (clst / (SS(fs) / 2))); - if (res != FR_OK) break; - st_word(fs->win + clst * 2 % SS(fs), (WORD)val); /* Simple WORD array */ - fs->wflag = 1; - break; - - case FS_FAT32 : -#if FF_FS_EXFAT - case FS_EXFAT : -#endif - res = move_window(fs, fs->fatbase + (clst / (SS(fs) / 4))); - if (res != FR_OK) break; - if (!FF_FS_EXFAT || fs->fs_type != FS_EXFAT) { - val = (val & 0x0FFFFFFF) | (ld_dword(fs->win + clst * 4 % SS(fs)) & 0xF0000000); - } - st_dword(fs->win + clst * 4 % SS(fs), val); - fs->wflag = 1; - break; - } - } - return res; -} - -#endif /* !FF_FS_READONLY */ - - - - -#if FF_FS_EXFAT && !FF_FS_READONLY -/*-----------------------------------------------------------------------*/ -/* exFAT: Accessing FAT and Allocation Bitmap */ -/*-----------------------------------------------------------------------*/ - -/*--------------------------------------*/ -/* Find a contiguous free cluster block */ -/*--------------------------------------*/ - -static DWORD find_bitmap ( /* 0:Not found, 2..:Cluster block found, 0xFFFFFFFF:Disk error */ - FATFS* fs, /* Filesystem object */ - DWORD clst, /* Cluster number to scan from */ - DWORD ncl /* Number of contiguous clusters to find (1..) */ -) -{ - BYTE bm, bv; - UINT i; - DWORD val, scl, ctr; - - - clst -= 2; /* The first bit in the bitmap corresponds to cluster #2 */ - if (clst >= fs->n_fatent - 2) clst = 0; - scl = val = clst; ctr = 0; - for (;;) { - if (move_window(fs, fs->bitbase + val / 8 / SS(fs)) != FR_OK) return 0xFFFFFFFF; - i = val / 8 % SS(fs); bm = 1 << (val % 8); - do { - do { - bv = fs->win[i] & bm; bm <<= 1; /* Get bit value */ - if (++val >= fs->n_fatent - 2) { /* Next cluster (with wrap-around) */ - val = 0; bm = 0; i = SS(fs); - } - if (bv == 0) { /* Is it a free cluster? */ - if (++ctr == ncl) return scl + 2; /* Check if run length is sufficient for required */ - } else { - scl = val; ctr = 0; /* Encountered a cluster in-use, restart to scan */ - } - if (val == clst) return 0; /* All cluster scanned? */ - } while (bm != 0); - bm = 1; - } while (++i < SS(fs)); - } -} - - -/*----------------------------------------*/ -/* Set/Clear a block of allocation bitmap */ -/*----------------------------------------*/ - -static FRESULT change_bitmap ( - FATFS* fs, /* Filesystem object */ - DWORD clst, /* Cluster number to change from */ - DWORD ncl, /* Number of clusters to be changed */ - int bv /* bit value to be set (0 or 1) */ -) -{ - BYTE bm; - UINT i; - LBA_t sect; - - - clst -= 2; /* The first bit corresponds to cluster #2 */ - sect = fs->bitbase + clst / 8 / SS(fs); /* Sector address */ - i = clst / 8 % SS(fs); /* Byte offset in the sector */ - bm = 1 << (clst % 8); /* Bit mask in the byte */ - for (;;) { - if (move_window(fs, sect++) != FR_OK) return FR_DISK_ERR; - do { - do { - if (bv == (int)((fs->win[i] & bm) != 0)) return FR_INT_ERR; /* Is the bit expected value? */ - fs->win[i] ^= bm; /* Flip the bit */ - fs->wflag = 1; - if (--ncl == 0) return FR_OK; /* All bits processed? */ - } while (bm <<= 1); /* Next bit */ - bm = 1; - } while (++i < SS(fs)); /* Next byte */ - i = 0; - } -} - - -/*---------------------------------------------*/ -/* Fill the first fragment of the FAT chain */ -/*---------------------------------------------*/ - -static FRESULT fill_first_frag ( - FFOBJID* obj /* Pointer to the corresponding object */ -) -{ - FRESULT res; - DWORD cl, n; - - - if (obj->stat == 3) { /* Has the object been changed 'fragmented' in this session? */ - for (cl = obj->sclust, n = obj->n_cont; n; cl++, n--) { /* Create cluster chain on the FAT */ - res = put_fat(obj->fs, cl, cl + 1); - if (res != FR_OK) return res; - } - obj->stat = 0; /* Change status 'FAT chain is valid' */ - } - return FR_OK; -} - - -/*---------------------------------------------*/ -/* Fill the last fragment of the FAT chain */ -/*---------------------------------------------*/ - -static FRESULT fill_last_frag ( - FFOBJID* obj, /* Pointer to the corresponding object */ - DWORD lcl, /* Last cluster of the fragment */ - DWORD term /* Value to set the last FAT entry */ -) -{ - FRESULT res; - - - while (obj->n_frag > 0) { /* Create the chain of last fragment */ - res = put_fat(obj->fs, lcl - obj->n_frag + 1, (obj->n_frag > 1) ? lcl - obj->n_frag + 2 : term); - if (res != FR_OK) return res; - obj->n_frag--; - } - return FR_OK; -} - -#endif /* FF_FS_EXFAT && !FF_FS_READONLY */ - - - -#if !FF_FS_READONLY -/*-----------------------------------------------------------------------*/ -/* FAT handling - Remove a cluster chain */ -/*-----------------------------------------------------------------------*/ - -static FRESULT remove_chain ( /* FR_OK(0):succeeded, !=0:error */ - FFOBJID* obj, /* Corresponding object */ - DWORD clst, /* Cluster to remove a chain from */ - DWORD pclst /* Previous cluster of clst (0 if entire chain) */ -) -{ - FRESULT res = FR_OK; - DWORD nxt; - FATFS *fs = obj->fs; -#if FF_FS_EXFAT || FF_USE_TRIM - DWORD scl = clst, ecl = clst; -#endif -#if FF_USE_TRIM - LBA_t rt[2]; -#endif - - if (clst < 2 || clst >= fs->n_fatent) return FR_INT_ERR; /* Check if in valid range */ - - /* Mark the previous cluster 'EOC' on the FAT if it exists */ - if (pclst != 0 && (!FF_FS_EXFAT || fs->fs_type != FS_EXFAT || obj->stat != 2)) { - res = put_fat(fs, pclst, 0xFFFFFFFF); - if (res != FR_OK) return res; - } - - /* Remove the chain */ - do { - nxt = get_fat(obj, clst); /* Get cluster status */ - if (nxt == 0) break; /* Empty cluster? */ - if (nxt == 1) return FR_INT_ERR; /* Internal error? */ - if (nxt == 0xFFFFFFFF) return FR_DISK_ERR; /* Disk error? */ - if (!FF_FS_EXFAT || fs->fs_type != FS_EXFAT) { - res = put_fat(fs, clst, 0); /* Mark the cluster 'free' on the FAT */ - if (res != FR_OK) return res; - } - if (fs->free_clst < fs->n_fatent - 2) { /* Update FSINFO */ - fs->free_clst++; - fs->fsi_flag |= 1; - } -#if FF_FS_EXFAT || FF_USE_TRIM - if (ecl + 1 == nxt) { /* Is next cluster contiguous? */ - ecl = nxt; - } else { /* End of contiguous cluster block */ -#if FF_FS_EXFAT - if (fs->fs_type == FS_EXFAT) { - res = change_bitmap(fs, scl, ecl - scl + 1, 0); /* Mark the cluster block 'free' on the bitmap */ - if (res != FR_OK) return res; - } -#endif -#if FF_USE_TRIM - rt[0] = clst2sect(fs, scl); /* Start of data area to be freed */ - rt[1] = clst2sect(fs, ecl) + fs->csize - 1; /* End of data area to be freed */ - disk_ioctl(fs->pdrv, CTRL_TRIM, rt); /* Inform storage device that the data in the block may be erased */ -#endif - scl = ecl = nxt; - } -#endif - clst = nxt; /* Next cluster */ - } while (clst < fs->n_fatent); /* Repeat while not the last link */ - -#if FF_FS_EXFAT - /* Some post processes for chain status */ - if (fs->fs_type == FS_EXFAT) { - if (pclst == 0) { /* Has the entire chain been removed? */ - obj->stat = 0; /* Change the chain status 'initial' */ - } else { - if (obj->stat == 0) { /* Is it a fragmented chain from the beginning of this session? */ - clst = obj->sclust; /* Follow the chain to check if it gets contiguous */ - while (clst != pclst) { - nxt = get_fat(obj, clst); - if (nxt < 2) return FR_INT_ERR; - if (nxt == 0xFFFFFFFF) return FR_DISK_ERR; - if (nxt != clst + 1) break; /* Not contiguous? */ - clst++; - } - if (clst == pclst) { /* Has the chain got contiguous again? */ - obj->stat = 2; /* Change the chain status 'contiguous' */ - } - } else { - if (obj->stat == 3 && pclst >= obj->sclust && pclst <= obj->sclust + obj->n_cont) { /* Was the chain fragmented in this session and got contiguous again? */ - obj->stat = 2; /* Change the chain status 'contiguous' */ - } - } - } - } -#endif - return FR_OK; -} - - - - -/*-----------------------------------------------------------------------*/ -/* FAT handling - Stretch a chain or Create a new chain */ -/*-----------------------------------------------------------------------*/ - -static DWORD create_chain ( /* 0:No free cluster, 1:Internal error, 0xFFFFFFFF:Disk error, >=2:New cluster# */ - FFOBJID* obj, /* Corresponding object */ - DWORD clst /* Cluster# to stretch, 0:Create a new chain */ -) -{ - DWORD cs, ncl, scl; - FRESULT res; - FATFS *fs = obj->fs; - - - if (clst == 0) { /* Create a new chain */ - scl = fs->last_clst; /* Suggested cluster to start to find */ - if (scl == 0 || scl >= fs->n_fatent) scl = 1; - } - else { /* Stretch a chain */ - cs = get_fat(obj, clst); /* Check the cluster status */ - if (cs < 2) return 1; /* Test for insanity */ - if (cs == 0xFFFFFFFF) return cs; /* Test for disk error */ - if (cs < fs->n_fatent) return cs; /* It is already followed by next cluster */ - scl = clst; /* Cluster to start to find */ - } - if (fs->free_clst == 0) return 0; /* No free cluster */ - -#if FF_FS_EXFAT - if (fs->fs_type == FS_EXFAT) { /* On the exFAT volume */ - ncl = find_bitmap(fs, scl, 1); /* Find a free cluster */ - if (ncl == 0 || ncl == 0xFFFFFFFF) return ncl; /* No free cluster or hard error? */ - res = change_bitmap(fs, ncl, 1, 1); /* Mark the cluster 'in use' */ - if (res == FR_INT_ERR) return 1; - if (res == FR_DISK_ERR) return 0xFFFFFFFF; - if (clst == 0) { /* Is it a new chain? */ - obj->stat = 2; /* Set status 'contiguous' */ - } else { /* It is a stretched chain */ - if (obj->stat == 2 && ncl != scl + 1) { /* Is the chain got fragmented? */ - obj->n_cont = scl - obj->sclust; /* Set size of the contiguous part */ - obj->stat = 3; /* Change status 'just fragmented' */ - } - } - if (obj->stat != 2) { /* Is the file non-contiguous? */ - if (ncl == clst + 1) { /* Is the cluster next to previous one? */ - obj->n_frag = obj->n_frag ? obj->n_frag + 1 : 2; /* Increment size of last framgent */ - } else { /* New fragment */ - if (obj->n_frag == 0) obj->n_frag = 1; - res = fill_last_frag(obj, clst, ncl); /* Fill last fragment on the FAT and link it to new one */ - if (res == FR_OK) obj->n_frag = 1; - } - } - } else -#endif - { /* On the FAT/FAT32 volume */ - ncl = 0; - if (scl == clst) { /* Stretching an existing chain? */ - ncl = scl + 1; /* Test if next cluster is free */ - if (ncl >= fs->n_fatent) ncl = 2; - cs = get_fat(obj, ncl); /* Get next cluster status */ - if (cs == 1 || cs == 0xFFFFFFFF) return cs; /* Test for error */ - if (cs != 0) { /* Not free? */ - cs = fs->last_clst; /* Start at suggested cluster if it is valid */ - if (cs >= 2 && cs < fs->n_fatent) scl = cs; - ncl = 0; - } - } - if (ncl == 0) { /* The new cluster cannot be contiguous and find another fragment */ - ncl = scl; /* Start cluster */ - for (;;) { - ncl++; /* Next cluster */ - if (ncl >= fs->n_fatent) { /* Check wrap-around */ - ncl = 2; - if (ncl > scl) return 0; /* No free cluster found? */ - } - cs = get_fat(obj, ncl); /* Get the cluster status */ - if (cs == 0) break; /* Found a free cluster? */ - if (cs == 1 || cs == 0xFFFFFFFF) return cs; /* Test for error */ - if (ncl == scl) return 0; /* No free cluster found? */ - } - } - res = put_fat(fs, ncl, 0xFFFFFFFF); /* Mark the new cluster 'EOC' */ - if (res == FR_OK && clst != 0) { - res = put_fat(fs, clst, ncl); /* Link it from the previous one if needed */ - } - } - - if (res == FR_OK) { /* Update FSINFO if function succeeded. */ - fs->last_clst = ncl; - if (fs->free_clst <= fs->n_fatent - 2) fs->free_clst--; - fs->fsi_flag |= 1; - } else { - ncl = (res == FR_DISK_ERR) ? 0xFFFFFFFF : 1; /* Failed. Generate error status */ - } - - return ncl; /* Return new cluster number or error status */ -} - -#endif /* !FF_FS_READONLY */ - - - - -#if FF_USE_FASTSEEK -/*-----------------------------------------------------------------------*/ -/* FAT handling - Convert offset into cluster with link map table */ -/*-----------------------------------------------------------------------*/ - -static DWORD clmt_clust ( /* <2:Error, >=2:Cluster number */ - FIL* fp, /* Pointer to the file object */ - FSIZE_t ofs /* File offset to be converted to cluster# */ -) -{ - DWORD cl, ncl, *tbl; - FATFS *fs = fp->obj.fs; - - - tbl = fp->cltbl + 1; /* Top of CLMT */ - cl = (DWORD)(ofs / SS(fs) / fs->csize); /* Cluster order from top of the file */ - for (;;) { - ncl = *tbl++; /* Number of cluters in the fragment */ - if (ncl == 0) return 0; /* End of table? (error) */ - if (cl < ncl) break; /* In this fragment? */ - cl -= ncl; tbl++; /* Next fragment */ - } - return cl + *tbl; /* Return the cluster number */ -} - -#endif /* FF_USE_FASTSEEK */ - - - - -/*-----------------------------------------------------------------------*/ -/* Directory handling - Fill a cluster with zeros */ -/*-----------------------------------------------------------------------*/ - -#if !FF_FS_READONLY -static FRESULT dir_clear ( /* Returns FR_OK or FR_DISK_ERR */ - FATFS *fs, /* Filesystem object */ - DWORD clst /* Directory table to clear */ -) -{ - LBA_t sect; - UINT n, szb; - BYTE *ibuf; - - - if (sync_window(fs) != FR_OK) return FR_DISK_ERR; /* Flush disk access window */ - sect = clst2sect(fs, clst); /* Top of the cluster */ - fs->winsect = sect; /* Set window to top of the cluster */ - mem_set(fs->win, 0, sizeof fs->win); /* Clear window buffer */ -#if FF_USE_LFN == 3 /* Quick table clear by using multi-secter write */ - /* Allocate a temporary buffer */ - for (szb = ((DWORD)fs->csize * SS(fs) >= MAX_MALLOC) ? MAX_MALLOC : fs->csize * SS(fs), ibuf = 0; szb > SS(fs) && (ibuf = ff_memalloc(szb)) == 0; szb /= 2) ; - if (szb > SS(fs)) { /* Buffer allocated? */ - mem_set(ibuf, 0, szb); - szb /= SS(fs); /* Bytes -> Sectors */ - for (n = 0; n < fs->csize && disk_write(fs->pdrv, ibuf, sect + n, szb) == RES_OK; n += szb) ; /* Fill the cluster with 0 */ - ff_memfree(ibuf); - } else -#endif - { - ibuf = fs->win; szb = 1; /* Use window buffer (many single-sector writes may take a time) */ - for (n = 0; n < fs->csize && disk_write(fs->pdrv, ibuf, sect + n, szb) == RES_OK; n += szb) ; /* Fill the cluster with 0 */ - } - return (n == fs->csize) ? FR_OK : FR_DISK_ERR; -} -#endif /* !FF_FS_READONLY */ - - - - -/*-----------------------------------------------------------------------*/ -/* Directory handling - Set directory index */ -/*-----------------------------------------------------------------------*/ - -static FRESULT dir_sdi ( /* FR_OK(0):succeeded, !=0:error */ - DIR* dp, /* Pointer to directory object */ - DWORD ofs /* Offset of directory table */ -) -{ - DWORD csz, clst; - FATFS *fs = dp->obj.fs; - - - if (ofs >= (DWORD)((FF_FS_EXFAT && fs->fs_type == FS_EXFAT) ? MAX_DIR_EX : MAX_DIR) || ofs % SZDIRE) { /* Check range of offset and alignment */ - return FR_INT_ERR; - } - dp->dptr = ofs; /* Set current offset */ - clst = dp->obj.sclust; /* Table start cluster (0:root) */ - if (clst == 0 && fs->fs_type >= FS_FAT32) { /* Replace cluster# 0 with root cluster# */ - clst = (DWORD)fs->dirbase; - if (FF_FS_EXFAT) dp->obj.stat = 0; /* exFAT: Root dir has an FAT chain */ - } - - if (clst == 0) { /* Static table (root-directory on the FAT volume) */ - if (ofs / SZDIRE >= fs->n_rootdir) return FR_INT_ERR; /* Is index out of range? */ - dp->sect = fs->dirbase; - - } else { /* Dynamic table (sub-directory or root-directory on the FAT32/exFAT volume) */ - csz = (DWORD)fs->csize * SS(fs); /* Bytes per cluster */ - while (ofs >= csz) { /* Follow cluster chain */ - clst = get_fat(&dp->obj, clst); /* Get next cluster */ - if (clst == 0xFFFFFFFF) return FR_DISK_ERR; /* Disk error */ - if (clst < 2 || clst >= fs->n_fatent) return FR_INT_ERR; /* Reached to end of table or internal error */ - ofs -= csz; - } - dp->sect = clst2sect(fs, clst); - } - dp->clust = clst; /* Current cluster# */ - if (dp->sect == 0) return FR_INT_ERR; - dp->sect += ofs / SS(fs); /* Sector# of the directory entry */ - dp->dir = fs->win + (ofs % SS(fs)); /* Pointer to the entry in the win[] */ - - return FR_OK; -} - - - - -/*-----------------------------------------------------------------------*/ -/* Directory handling - Move directory table index next */ -/*-----------------------------------------------------------------------*/ - -static FRESULT dir_next ( /* FR_OK(0):succeeded, FR_NO_FILE:End of table, FR_DENIED:Could not stretch */ - DIR* dp, /* Pointer to the directory object */ - int stretch /* 0: Do not stretch table, 1: Stretch table if needed */ -) -{ - DWORD ofs, clst; - FATFS *fs = dp->obj.fs; - - - ofs = dp->dptr + SZDIRE; /* Next entry */ - if (ofs >= (DWORD)((FF_FS_EXFAT && fs->fs_type == FS_EXFAT) ? MAX_DIR_EX : MAX_DIR)) dp->sect = 0; /* Disable it if the offset reached the max value */ - if (dp->sect == 0) return FR_NO_FILE; /* Report EOT if it has been disabled */ - - if (ofs % SS(fs) == 0) { /* Sector changed? */ - dp->sect++; /* Next sector */ - - if (dp->clust == 0) { /* Static table */ - if (ofs / SZDIRE >= fs->n_rootdir) { /* Report EOT if it reached end of static table */ - dp->sect = 0; return FR_NO_FILE; - } - } - else { /* Dynamic table */ - if ((ofs / SS(fs) & (fs->csize - 1)) == 0) { /* Cluster changed? */ - clst = get_fat(&dp->obj, dp->clust); /* Get next cluster */ - if (clst <= 1) return FR_INT_ERR; /* Internal error */ - if (clst == 0xFFFFFFFF) return FR_DISK_ERR; /* Disk error */ - if (clst >= fs->n_fatent) { /* It reached end of dynamic table */ -#if !FF_FS_READONLY - if (!stretch) { /* If no stretch, report EOT */ - dp->sect = 0; return FR_NO_FILE; - } - clst = create_chain(&dp->obj, dp->clust); /* Allocate a cluster */ - if (clst == 0) return FR_DENIED; /* No free cluster */ - if (clst == 1) return FR_INT_ERR; /* Internal error */ - if (clst == 0xFFFFFFFF) return FR_DISK_ERR; /* Disk error */ - if (dir_clear(fs, clst) != FR_OK) return FR_DISK_ERR; /* Clean up the stretched table */ - if (FF_FS_EXFAT) dp->obj.stat |= 4; /* exFAT: The directory has been stretched */ -#else - if (!stretch) dp->sect = 0; /* (this line is to suppress compiler warning) */ - dp->sect = 0; return FR_NO_FILE; /* Report EOT */ -#endif - } - dp->clust = clst; /* Initialize data for new cluster */ - dp->sect = clst2sect(fs, clst); - } - } - } - dp->dptr = ofs; /* Current entry */ - dp->dir = fs->win + ofs % SS(fs); /* Pointer to the entry in the win[] */ - - return FR_OK; -} - - - - -#if !FF_FS_READONLY -/*-----------------------------------------------------------------------*/ -/* Directory handling - Reserve a block of directory entries */ -/*-----------------------------------------------------------------------*/ - -static FRESULT dir_alloc ( /* FR_OK(0):succeeded, !=0:error */ - DIR* dp, /* Pointer to the directory object */ - UINT nent /* Number of contiguous entries to allocate */ -) -{ - FRESULT res; - UINT n; - FATFS *fs = dp->obj.fs; - - - res = dir_sdi(dp, 0); - if (res == FR_OK) { - n = 0; - do { - res = move_window(fs, dp->sect); - if (res != FR_OK) break; -#if FF_FS_EXFAT - if ((fs->fs_type == FS_EXFAT) ? (int)((dp->dir[XDIR_Type] & 0x80) == 0) : (int)(dp->dir[DIR_Name] == DDEM || dp->dir[DIR_Name] == 0)) { -#else - if (dp->dir[DIR_Name] == DDEM || dp->dir[DIR_Name] == 0) { -#endif - if (++n == nent) break; /* A block of contiguous free entries is found */ - } else { - n = 0; /* Not a blank entry. Restart to search */ - } - res = dir_next(dp, 1); - } while (res == FR_OK); /* Next entry with table stretch enabled */ - } - - if (res == FR_NO_FILE) res = FR_DENIED; /* No directory entry to allocate */ - return res; -} - -#endif /* !FF_FS_READONLY */ - - - - -/*-----------------------------------------------------------------------*/ -/* FAT: Directory handling - Load/Store start cluster number */ -/*-----------------------------------------------------------------------*/ - -static DWORD ld_clust ( /* Returns the top cluster value of the SFN entry */ - FATFS* fs, /* Pointer to the fs object */ - const BYTE* dir /* Pointer to the key entry */ -) -{ - DWORD cl; - - cl = ld_word(dir + DIR_FstClusLO); - if (fs->fs_type == FS_FAT32) { - cl |= (DWORD)ld_word(dir + DIR_FstClusHI) << 16; - } - - return cl; -} - - -#if !FF_FS_READONLY -static void st_clust ( - FATFS* fs, /* Pointer to the fs object */ - BYTE* dir, /* Pointer to the key entry */ - DWORD cl /* Value to be set */ -) -{ - st_word(dir + DIR_FstClusLO, (WORD)cl); - if (fs->fs_type == FS_FAT32) { - st_word(dir + DIR_FstClusHI, (WORD)(cl >> 16)); - } -} -#endif - - - -#if FF_USE_LFN -/*--------------------------------------------------------*/ -/* FAT-LFN: Compare a part of file name with an LFN entry */ -/*--------------------------------------------------------*/ - -static int cmp_lfn ( /* 1:matched, 0:not matched */ - const WCHAR* lfnbuf, /* Pointer to the LFN working buffer to be compared */ - BYTE* dir /* Pointer to the directory entry containing the part of LFN */ -) -{ - UINT i, s; - WCHAR wc, uc; - - - if (ld_word(dir + LDIR_FstClusLO) != 0) return 0; /* Check LDIR_FstClusLO */ - - i = ((dir[LDIR_Ord] & 0x3F) - 1) * 13; /* Offset in the LFN buffer */ - - for (wc = 1, s = 0; s < 13; s++) { /* Process all characters in the entry */ - uc = ld_word(dir + LfnOfs[s]); /* Pick an LFN character */ - if (wc != 0) { - if (i >= FF_MAX_LFN + 1 || ff_wtoupper(uc) != ff_wtoupper(lfnbuf[i++])) { /* Compare it */ - return 0; /* Not matched */ - } - wc = uc; - } else { - if (uc != 0xFFFF) return 0; /* Check filler */ - } - } - - if ((dir[LDIR_Ord] & LLEF) && wc && lfnbuf[i]) return 0; /* Last segment matched but different length */ - - return 1; /* The part of LFN matched */ -} - - -#if FF_FS_MINIMIZE <= 1 || FF_FS_RPATH >= 2 || FF_USE_LABEL || FF_FS_EXFAT -/*-----------------------------------------------------*/ -/* FAT-LFN: Pick a part of file name from an LFN entry */ -/*-----------------------------------------------------*/ - -static int pick_lfn ( /* 1:succeeded, 0:buffer overflow or invalid LFN entry */ - WCHAR* lfnbuf, /* Pointer to the LFN working buffer */ - BYTE* dir /* Pointer to the LFN entry */ -) -{ - UINT i, s; - WCHAR wc, uc; - - - if (ld_word(dir + LDIR_FstClusLO) != 0) return 0; /* Check LDIR_FstClusLO is 0 */ - - i = ((dir[LDIR_Ord] & ~LLEF) - 1) * 13; /* Offset in the LFN buffer */ - - for (wc = 1, s = 0; s < 13; s++) { /* Process all characters in the entry */ - uc = ld_word(dir + LfnOfs[s]); /* Pick an LFN character */ - if (wc != 0) { - if (i >= FF_MAX_LFN + 1) return 0; /* Buffer overflow? */ - lfnbuf[i++] = wc = uc; /* Store it */ - } else { - if (uc != 0xFFFF) return 0; /* Check filler */ - } - } - - if (dir[LDIR_Ord] & LLEF && wc != 0) { /* Put terminator if it is the last LFN part and not terminated */ - if (i >= FF_MAX_LFN + 1) return 0; /* Buffer overflow? */ - lfnbuf[i] = 0; - } - - return 1; /* The part of LFN is valid */ -} -#endif - - -#if !FF_FS_READONLY -/*-----------------------------------------*/ -/* FAT-LFN: Create an entry of LFN entries */ -/*-----------------------------------------*/ - -static void put_lfn ( - const WCHAR* lfn, /* Pointer to the LFN */ - BYTE* dir, /* Pointer to the LFN entry to be created */ - BYTE ord, /* LFN order (1-20) */ - BYTE sum /* Checksum of the corresponding SFN */ -) -{ - UINT i, s; - WCHAR wc; - - - dir[LDIR_Chksum] = sum; /* Set checksum */ - dir[LDIR_Attr] = AM_LFN; /* Set attribute. LFN entry */ - dir[LDIR_Type] = 0; - st_word(dir + LDIR_FstClusLO, 0); - - i = (ord - 1) * 13; /* Get offset in the LFN working buffer */ - s = wc = 0; - do { - if (wc != 0xFFFF) wc = lfn[i++]; /* Get an effective character */ - st_word(dir + LfnOfs[s], wc); /* Put it */ - if (wc == 0) wc = 0xFFFF; /* Padding characters for following items */ - } while (++s < 13); - if (wc == 0xFFFF || !lfn[i]) ord |= LLEF; /* Last LFN part is the start of LFN sequence */ - dir[LDIR_Ord] = ord; /* Set the LFN order */ -} - -#endif /* !FF_FS_READONLY */ -#endif /* FF_USE_LFN */ - - - -#if FF_USE_LFN && !FF_FS_READONLY -/*-----------------------------------------------------------------------*/ -/* FAT-LFN: Create a Numbered SFN */ -/*-----------------------------------------------------------------------*/ - -static void gen_numname ( - BYTE* dst, /* Pointer to the buffer to store numbered SFN */ - const BYTE* src, /* Pointer to SFN */ - const WCHAR* lfn, /* Pointer to LFN */ - UINT seq /* Sequence number */ -) -{ - BYTE ns[8], c; - UINT i, j; - WCHAR wc; - DWORD sreg; - - - mem_cpy(dst, src, 11); - - if (seq > 5) { /* In case of many collisions, generate a hash number instead of sequential number */ - sreg = seq; - while (*lfn) { /* Create a CRC as hash value */ - wc = *lfn++; - for (i = 0; i < 16; i++) { - sreg = (sreg << 1) + (wc & 1); - wc >>= 1; - if (sreg & 0x10000) sreg ^= 0x11021; - } - } - seq = (UINT)sreg; - } - - /* itoa (hexdecimal) */ - i = 7; - do { - c = (BYTE)((seq % 16) + '0'); - if (c > '9') c += 7; - ns[i--] = c; - seq /= 16; - } while (seq); - ns[i] = '~'; - - /* Append the number to the SFN body */ - for (j = 0; j < i && dst[j] != ' '; j++) { - if (dbc_1st(dst[j])) { - if (j == i - 1) break; - j++; - } - } - do { - dst[j++] = (i < 8) ? ns[i++] : ' '; - } while (j < 8); -} -#endif /* FF_USE_LFN && !FF_FS_READONLY */ - - - -#if FF_USE_LFN -/*-----------------------------------------------------------------------*/ -/* FAT-LFN: Calculate checksum of an SFN entry */ -/*-----------------------------------------------------------------------*/ - -static BYTE sum_sfn ( - const BYTE* dir /* Pointer to the SFN entry */ -) -{ - BYTE sum = 0; - UINT n = 11; - - do { - sum = (sum >> 1) + (sum << 7) + *dir++; - } while (--n); - return sum; -} - -#endif /* FF_USE_LFN */ - - - -#if FF_FS_EXFAT -/*-----------------------------------------------------------------------*/ -/* exFAT: Checksum */ -/*-----------------------------------------------------------------------*/ - -static WORD xdir_sum ( /* Get checksum of the directoly entry block */ - const BYTE* dir /* Directory entry block to be calculated */ -) -{ - UINT i, szblk; - WORD sum; - - - szblk = (dir[XDIR_NumSec] + 1) * SZDIRE; /* Number of bytes of the entry block */ - for (i = sum = 0; i < szblk; i++) { - if (i == XDIR_SetSum) { /* Skip 2-byte sum field */ - i++; - } else { - sum = ((sum & 1) ? 0x8000 : 0) + (sum >> 1) + dir[i]; - } - } - return sum; -} - - - -static WORD xname_sum ( /* Get check sum (to be used as hash) of the file name */ - const WCHAR* name /* File name to be calculated */ -) -{ - WCHAR chr; - WORD sum = 0; - - - while ((chr = *name++) != 0) { - chr = (WCHAR)ff_wtoupper(chr); /* File name needs to be up-case converted */ - sum = ((sum & 1) ? 0x8000 : 0) + (sum >> 1) + (chr & 0xFF); - sum = ((sum & 1) ? 0x8000 : 0) + (sum >> 1) + (chr >> 8); - } - return sum; -} - - -#if !FF_FS_READONLY && FF_USE_MKFS -static DWORD xsum32 ( /* Returns 32-bit checksum */ - BYTE dat, /* Byte to be calculated (byte-by-byte processing) */ - DWORD sum /* Previous sum value */ -) -{ - sum = ((sum & 1) ? 0x80000000 : 0) + (sum >> 1) + dat; - return sum; -} -#endif - - -#if FF_FS_MINIMIZE <= 1 || FF_FS_RPATH >= 2 -/*------------------------------------------------------*/ -/* exFAT: Get object information from a directory block */ -/*------------------------------------------------------*/ - -static void get_xfileinfo ( - BYTE* dirb, /* Pointer to the direcotry entry block 85+C0+C1s */ - FILINFO* fno /* Buffer to store the extracted file information */ -) -{ - WCHAR wc, hs; - UINT di, si, nc; - - /* Get file name from the entry block */ - si = SZDIRE * 2; /* 1st C1 entry */ - nc = 0; hs = 0; di = 0; - while (nc < dirb[XDIR_NumName]) { - if (si >= MAXDIRB(FF_MAX_LFN)) { di = 0; break; } /* Truncated directory block? */ - if ((si % SZDIRE) == 0) si += 2; /* Skip entry type field */ - wc = ld_word(dirb + si); si += 2; nc++; /* Get a character */ - if (hs == 0 && IsSurrogate(wc)) { /* Is it a surrogate? */ - hs = wc; continue; /* Get low surrogate */ - } - wc = put_utf((DWORD)hs << 16 | wc, &fno->fname[di], FF_LFN_BUF - di); /* Store it in API encoding */ - if (wc == 0) { di = 0; break; } /* Buffer overflow or wrong encoding? */ - di += wc; - hs = 0; - } - if (hs != 0) di = 0; /* Broken surrogate pair? */ - if (di == 0) fno->fname[di++] = '?'; /* Inaccessible object name? */ - fno->fname[di] = 0; /* Terminate the name */ - fno->altname[0] = 0; /* exFAT does not support SFN */ - - fno->fattrib = dirb[XDIR_Attr]; /* Attribute */ - fno->fsize = (fno->fattrib & AM_DIR) ? 0 : ld_qword(dirb + XDIR_FileSize); /* Size */ - fno->ftime = ld_word(dirb + XDIR_ModTime + 0); /* Time */ - fno->fdate = ld_word(dirb + XDIR_ModTime + 2); /* Date */ -} - -#endif /* FF_FS_MINIMIZE <= 1 || FF_FS_RPATH >= 2 */ - - -/*-----------------------------------*/ -/* exFAT: Get a directry entry block */ -/*-----------------------------------*/ - -static FRESULT load_xdir ( /* FR_INT_ERR: invalid entry block */ - DIR* dp /* Reading direcotry object pointing top of the entry block to load */ -) -{ - FRESULT res; - UINT i, sz_ent; - BYTE* dirb = dp->obj.fs->dirbuf; /* Pointer to the on-memory direcotry entry block 85+C0+C1s */ - - - /* Load file-directory entry */ - res = move_window(dp->obj.fs, dp->sect); - if (res != FR_OK) return res; - if (dp->dir[XDIR_Type] != ET_FILEDIR) return FR_INT_ERR; /* Invalid order */ - mem_cpy(dirb + 0 * SZDIRE, dp->dir, SZDIRE); - sz_ent = (dirb[XDIR_NumSec] + 1) * SZDIRE; - if (sz_ent < 3 * SZDIRE || sz_ent > 19 * SZDIRE) return FR_INT_ERR; - - /* Load stream-extension entry */ - res = dir_next(dp, 0); - if (res == FR_NO_FILE) res = FR_INT_ERR; /* It cannot be */ - if (res != FR_OK) return res; - res = move_window(dp->obj.fs, dp->sect); - if (res != FR_OK) return res; - if (dp->dir[XDIR_Type] != ET_STREAM) return FR_INT_ERR; /* Invalid order */ - mem_cpy(dirb + 1 * SZDIRE, dp->dir, SZDIRE); - if (MAXDIRB(dirb[XDIR_NumName]) > sz_ent) return FR_INT_ERR; - - /* Load file-name entries */ - i = 2 * SZDIRE; /* Name offset to load */ - do { - res = dir_next(dp, 0); - if (res == FR_NO_FILE) res = FR_INT_ERR; /* It cannot be */ - if (res != FR_OK) return res; - res = move_window(dp->obj.fs, dp->sect); - if (res != FR_OK) return res; - if (dp->dir[XDIR_Type] != ET_FILENAME) return FR_INT_ERR; /* Invalid order */ - if (i < MAXDIRB(FF_MAX_LFN)) mem_cpy(dirb + i, dp->dir, SZDIRE); - } while ((i += SZDIRE) < sz_ent); - - /* Sanity check (do it for only accessible object) */ - if (i <= MAXDIRB(FF_MAX_LFN)) { - if (xdir_sum(dirb) != ld_word(dirb + XDIR_SetSum)) return FR_INT_ERR; - } - return FR_OK; -} - - -/*------------------------------------------------------------------*/ -/* exFAT: Initialize object allocation info with loaded entry block */ -/*------------------------------------------------------------------*/ - -static void init_alloc_info ( - FATFS* fs, /* Filesystem object */ - FFOBJID* obj /* Object allocation information to be initialized */ -) -{ - obj->sclust = ld_dword(fs->dirbuf + XDIR_FstClus); /* Start cluster */ - obj->objsize = ld_qword(fs->dirbuf + XDIR_FileSize); /* Size */ - obj->stat = fs->dirbuf[XDIR_GenFlags] & 2; /* Allocation status */ - obj->n_frag = 0; /* No last fragment info */ -} - - - -#if !FF_FS_READONLY || FF_FS_RPATH != 0 -/*------------------------------------------------*/ -/* exFAT: Load the object's directory entry block */ -/*------------------------------------------------*/ - -static FRESULT load_obj_xdir ( - DIR* dp, /* Blank directory object to be used to access containing direcotry */ - const FFOBJID* obj /* Object with its containing directory information */ -) -{ - FRESULT res; - - /* Open object containing directory */ - dp->obj.fs = obj->fs; - dp->obj.sclust = obj->c_scl; - dp->obj.stat = (BYTE)obj->c_size; - dp->obj.objsize = obj->c_size & 0xFFFFFF00; - dp->obj.n_frag = 0; - dp->blk_ofs = obj->c_ofs; - - res = dir_sdi(dp, dp->blk_ofs); /* Goto object's entry block */ - if (res == FR_OK) { - res = load_xdir(dp); /* Load the object's entry block */ - } - return res; -} -#endif - - -#if !FF_FS_READONLY -/*----------------------------------------*/ -/* exFAT: Store the directory entry block */ -/*----------------------------------------*/ - -static FRESULT store_xdir ( - DIR* dp /* Pointer to the direcotry object */ -) -{ - FRESULT res; - UINT nent; - BYTE* dirb = dp->obj.fs->dirbuf; /* Pointer to the direcotry entry block 85+C0+C1s */ - - /* Create set sum */ - st_word(dirb + XDIR_SetSum, xdir_sum(dirb)); - nent = dirb[XDIR_NumSec] + 1; - - /* Store the direcotry entry block to the directory */ - res = dir_sdi(dp, dp->blk_ofs); - while (res == FR_OK) { - res = move_window(dp->obj.fs, dp->sect); - if (res != FR_OK) break; - mem_cpy(dp->dir, dirb, SZDIRE); - dp->obj.fs->wflag = 1; - if (--nent == 0) break; - dirb += SZDIRE; - res = dir_next(dp, 0); - } - return (res == FR_OK || res == FR_DISK_ERR) ? res : FR_INT_ERR; -} - - - -/*-------------------------------------------*/ -/* exFAT: Create a new directory enrty block */ -/*-------------------------------------------*/ - -static void create_xdir ( - BYTE* dirb, /* Pointer to the direcotry entry block buffer */ - const WCHAR* lfn /* Pointer to the object name */ -) -{ - UINT i; - BYTE nc1, nlen; - WCHAR wc; - - - /* Create file-directory and stream-extension entry */ - mem_set(dirb, 0, 2 * SZDIRE); - dirb[0 * SZDIRE + XDIR_Type] = ET_FILEDIR; - dirb[1 * SZDIRE + XDIR_Type] = ET_STREAM; - - /* Create file-name entries */ - i = SZDIRE * 2; /* Top of file_name entries */ - nlen = nc1 = 0; wc = 1; - do { - dirb[i++] = ET_FILENAME; dirb[i++] = 0; - do { /* Fill name field */ - if (wc != 0 && (wc = lfn[nlen]) != 0) nlen++; /* Get a character if exist */ - st_word(dirb + i, wc); /* Store it */ - i += 2; - } while (i % SZDIRE != 0); - nc1++; - } while (lfn[nlen]); /* Fill next entry if any char follows */ - - dirb[XDIR_NumName] = nlen; /* Set name length */ - dirb[XDIR_NumSec] = 1 + nc1; /* Set secondary count (C0 + C1s) */ - st_word(dirb + XDIR_NameHash, xname_sum(lfn)); /* Set name hash */ -} - -#endif /* !FF_FS_READONLY */ -#endif /* FF_FS_EXFAT */ - - - -#if FF_FS_MINIMIZE <= 1 || FF_FS_RPATH >= 2 || FF_USE_LABEL || FF_FS_EXFAT -/*-----------------------------------------------------------------------*/ -/* Read an object from the directory */ -/*-----------------------------------------------------------------------*/ - -#define DIR_READ_FILE(dp) dir_read(dp, 0) -#define DIR_READ_LABEL(dp) dir_read(dp, 1) - -static FRESULT dir_read ( - DIR* dp, /* Pointer to the directory object */ - int vol /* Filtered by 0:file/directory or 1:volume label */ -) -{ - FRESULT res = FR_NO_FILE; - FATFS *fs = dp->obj.fs; - BYTE attr, b; -#if FF_USE_LFN - BYTE ord = 0xFF, sum = 0xFF; -#endif - - while (dp->sect) { - res = move_window(fs, dp->sect); - if (res != FR_OK) break; - b = dp->dir[DIR_Name]; /* Test for the entry type */ - if (b == 0) { - res = FR_NO_FILE; break; /* Reached to end of the directory */ - } -#if FF_FS_EXFAT - if (fs->fs_type == FS_EXFAT) { /* On the exFAT volume */ - if (FF_USE_LABEL && vol) { - if (b == ET_VLABEL) break; /* Volume label entry? */ - } else { - if (b == ET_FILEDIR) { /* Start of the file entry block? */ - dp->blk_ofs = dp->dptr; /* Get location of the block */ - res = load_xdir(dp); /* Load the entry block */ - if (res == FR_OK) { - dp->obj.attr = fs->dirbuf[XDIR_Attr] & AM_MASK; /* Get attribute */ - } - break; - } - } - } else -#endif - { /* On the FAT/FAT32 volume */ - dp->obj.attr = attr = dp->dir[DIR_Attr] & AM_MASK; /* Get attribute */ -#if FF_USE_LFN /* LFN configuration */ - if (b == DDEM || b == '.' || (int)((attr & ~AM_ARC) == AM_VOL) != vol) { /* An entry without valid data */ - ord = 0xFF; - } else { - if (attr == AM_LFN) { /* An LFN entry is found */ - if (b & LLEF) { /* Is it start of an LFN sequence? */ - sum = dp->dir[LDIR_Chksum]; - b &= (BYTE)~LLEF; ord = b; - dp->blk_ofs = dp->dptr; - } - /* Check LFN validity and capture it */ - ord = (b == ord && sum == dp->dir[LDIR_Chksum] && pick_lfn(fs->lfnbuf, dp->dir)) ? ord - 1 : 0xFF; - } else { /* An SFN entry is found */ - if (ord != 0 || sum != sum_sfn(dp->dir)) { /* Is there a valid LFN? */ - dp->blk_ofs = 0xFFFFFFFF; /* It has no LFN. */ - } - break; - } - } -#else /* Non LFN configuration */ - if (b != DDEM && b != '.' && attr != AM_LFN && (int)((attr & ~AM_ARC) == AM_VOL) == vol) { /* Is it a valid entry? */ - break; - } -#endif - } - res = dir_next(dp, 0); /* Next entry */ - if (res != FR_OK) break; - } - - if (res != FR_OK) dp->sect = 0; /* Terminate the read operation on error or EOT */ - return res; -} - -#endif /* FF_FS_MINIMIZE <= 1 || FF_USE_LABEL || FF_FS_RPATH >= 2 */ - - - -/*-----------------------------------------------------------------------*/ -/* Directory handling - Find an object in the directory */ -/*-----------------------------------------------------------------------*/ - -static FRESULT dir_find ( /* FR_OK(0):succeeded, !=0:error */ - DIR* dp /* Pointer to the directory object with the file name */ -) -{ - FRESULT res; - FATFS *fs = dp->obj.fs; - BYTE c; -#if FF_USE_LFN - BYTE a, ord, sum; -#endif - - res = dir_sdi(dp, 0); /* Rewind directory object */ - if (res != FR_OK) return res; -#if FF_FS_EXFAT - if (fs->fs_type == FS_EXFAT) { /* On the exFAT volume */ - BYTE nc; - UINT di, ni; - WORD hash = xname_sum(fs->lfnbuf); /* Hash value of the name to find */ - - while ((res = DIR_READ_FILE(dp)) == FR_OK) { /* Read an item */ -#if FF_MAX_LFN < 255 - if (fs->dirbuf[XDIR_NumName] > FF_MAX_LFN) continue; /* Skip comparison if inaccessible object name */ -#endif - if (ld_word(fs->dirbuf + XDIR_NameHash) != hash) continue; /* Skip comparison if hash mismatched */ - for (nc = fs->dirbuf[XDIR_NumName], di = SZDIRE * 2, ni = 0; nc; nc--, di += 2, ni++) { /* Compare the name */ - if ((di % SZDIRE) == 0) di += 2; - if (ff_wtoupper(ld_word(fs->dirbuf + di)) != ff_wtoupper(fs->lfnbuf[ni])) break; - } - if (nc == 0 && !fs->lfnbuf[ni]) break; /* Name matched? */ - } - return res; - } -#endif - /* On the FAT/FAT32 volume */ -#if FF_USE_LFN - ord = sum = 0xFF; dp->blk_ofs = 0xFFFFFFFF; /* Reset LFN sequence */ -#endif - do { - res = move_window(fs, dp->sect); - if (res != FR_OK) break; - c = dp->dir[DIR_Name]; - if (c == 0) { res = FR_NO_FILE; break; } /* Reached to end of table */ -#if FF_USE_LFN /* LFN configuration */ - dp->obj.attr = a = dp->dir[DIR_Attr] & AM_MASK; - if (c == DDEM || ((a & AM_VOL) && a != AM_LFN)) { /* An entry without valid data */ - ord = 0xFF; dp->blk_ofs = 0xFFFFFFFF; /* Reset LFN sequence */ - } else { - if (a == AM_LFN) { /* An LFN entry is found */ - if (!(dp->fn[NSFLAG] & NS_NOLFN)) { - if (c & LLEF) { /* Is it start of LFN sequence? */ - sum = dp->dir[LDIR_Chksum]; - c &= (BYTE)~LLEF; ord = c; /* LFN start order */ - dp->blk_ofs = dp->dptr; /* Start offset of LFN */ - } - /* Check validity of the LFN entry and compare it with given name */ - ord = (c == ord && sum == dp->dir[LDIR_Chksum] && cmp_lfn(fs->lfnbuf, dp->dir)) ? ord - 1 : 0xFF; - } - } else { /* An SFN entry is found */ - if (ord == 0 && sum == sum_sfn(dp->dir)) break; /* LFN matched? */ - if (!(dp->fn[NSFLAG] & NS_LOSS) && !mem_cmp(dp->dir, dp->fn, 11)) break; /* SFN matched? */ - ord = 0xFF; dp->blk_ofs = 0xFFFFFFFF; /* Reset LFN sequence */ - } - } -#else /* Non LFN configuration */ - dp->obj.attr = dp->dir[DIR_Attr] & AM_MASK; - if (!(dp->dir[DIR_Attr] & AM_VOL) && !mem_cmp(dp->dir, dp->fn, 11)) break; /* Is it a valid entry? */ -#endif - res = dir_next(dp, 0); /* Next entry */ - } while (res == FR_OK); - - return res; -} - - - - -#if !FF_FS_READONLY -/*-----------------------------------------------------------------------*/ -/* Register an object to the directory */ -/*-----------------------------------------------------------------------*/ - -static FRESULT dir_register ( /* FR_OK:succeeded, FR_DENIED:no free entry or too many SFN collision, FR_DISK_ERR:disk error */ - DIR* dp /* Target directory with object name to be created */ -) -{ - FRESULT res; - FATFS *fs = dp->obj.fs; -#if FF_USE_LFN /* LFN configuration */ - UINT n, nlen, nent; - BYTE sn[12], sum; - - - if (dp->fn[NSFLAG] & (NS_DOT | NS_NONAME)) return FR_INVALID_NAME; /* Check name validity */ - for (nlen = 0; fs->lfnbuf[nlen]; nlen++) ; /* Get lfn length */ - -#if FF_FS_EXFAT - if (fs->fs_type == FS_EXFAT) { /* On the exFAT volume */ - nent = (nlen + 14) / 15 + 2; /* Number of entries to allocate (85+C0+C1s) */ - res = dir_alloc(dp, nent); /* Allocate directory entries */ - if (res != FR_OK) return res; - dp->blk_ofs = dp->dptr - SZDIRE * (nent - 1); /* Set the allocated entry block offset */ - - if (dp->obj.stat & 4) { /* Has the directory been stretched by new allocation? */ - dp->obj.stat &= ~4; - res = fill_first_frag(&dp->obj); /* Fill the first fragment on the FAT if needed */ - if (res != FR_OK) return res; - res = fill_last_frag(&dp->obj, dp->clust, 0xFFFFFFFF); /* Fill the last fragment on the FAT if needed */ - if (res != FR_OK) return res; - if (dp->obj.sclust != 0) { /* Is it a sub-directory? */ - DIR dj; - - res = load_obj_xdir(&dj, &dp->obj); /* Load the object status */ - if (res != FR_OK) return res; - dp->obj.objsize += (DWORD)fs->csize * SS(fs); /* Increase the directory size by cluster size */ - st_qword(fs->dirbuf + XDIR_FileSize, dp->obj.objsize); - st_qword(fs->dirbuf + XDIR_ValidFileSize, dp->obj.objsize); - fs->dirbuf[XDIR_GenFlags] = dp->obj.stat | 1; /* Update the allocation status */ - res = store_xdir(&dj); /* Store the object status */ - if (res != FR_OK) return res; - } - } - - create_xdir(fs->dirbuf, fs->lfnbuf); /* Create on-memory directory block to be written later */ - return FR_OK; - } -#endif - /* On the FAT/FAT32 volume */ - mem_cpy(sn, dp->fn, 12); - if (sn[NSFLAG] & NS_LOSS) { /* When LFN is out of 8.3 format, generate a numbered name */ - dp->fn[NSFLAG] = NS_NOLFN; /* Find only SFN */ - for (n = 1; n < 100; n++) { - gen_numname(dp->fn, sn, fs->lfnbuf, n); /* Generate a numbered name */ - res = dir_find(dp); /* Check if the name collides with existing SFN */ - if (res != FR_OK) break; - } - if (n == 100) return FR_DENIED; /* Abort if too many collisions */ - if (res != FR_NO_FILE) return res; /* Abort if the result is other than 'not collided' */ - dp->fn[NSFLAG] = sn[NSFLAG]; - } - - /* Create an SFN with/without LFNs. */ - nent = (sn[NSFLAG] & NS_LFN) ? (nlen + 12) / 13 + 1 : 1; /* Number of entries to allocate */ - res = dir_alloc(dp, nent); /* Allocate entries */ - if (res == FR_OK && --nent) { /* Set LFN entry if needed */ - res = dir_sdi(dp, dp->dptr - nent * SZDIRE); - if (res == FR_OK) { - sum = sum_sfn(dp->fn); /* Checksum value of the SFN tied to the LFN */ - do { /* Store LFN entries in bottom first */ - res = move_window(fs, dp->sect); - if (res != FR_OK) break; - put_lfn(fs->lfnbuf, dp->dir, (BYTE)nent, sum); - fs->wflag = 1; - res = dir_next(dp, 0); /* Next entry */ - } while (res == FR_OK && --nent); - } - } - -#else /* Non LFN configuration */ - res = dir_alloc(dp, 1); /* Allocate an entry for SFN */ - -#endif - - /* Set SFN entry */ - if (res == FR_OK) { - res = move_window(fs, dp->sect); - if (res == FR_OK) { - mem_set(dp->dir, 0, SZDIRE); /* Clean the entry */ - mem_cpy(dp->dir + DIR_Name, dp->fn, 11); /* Put SFN */ -#if FF_USE_LFN - dp->dir[DIR_NTres] = dp->fn[NSFLAG] & (NS_BODY | NS_EXT); /* Put NT flag */ -#endif - fs->wflag = 1; - } - } - - return res; -} - -#endif /* !FF_FS_READONLY */ - - - -#if !FF_FS_READONLY && FF_FS_MINIMIZE == 0 -/*-----------------------------------------------------------------------*/ -/* Remove an object from the directory */ -/*-----------------------------------------------------------------------*/ - -static FRESULT dir_remove ( /* FR_OK:Succeeded, FR_DISK_ERR:A disk error */ - DIR* dp /* Directory object pointing the entry to be removed */ -) -{ - FRESULT res; - FATFS *fs = dp->obj.fs; -#if FF_USE_LFN /* LFN configuration */ - DWORD last = dp->dptr; - - res = (dp->blk_ofs == 0xFFFFFFFF) ? FR_OK : dir_sdi(dp, dp->blk_ofs); /* Goto top of the entry block if LFN is exist */ - if (res == FR_OK) { - do { - res = move_window(fs, dp->sect); - if (res != FR_OK) break; - if (FF_FS_EXFAT && fs->fs_type == FS_EXFAT) { /* On the exFAT volume */ - dp->dir[XDIR_Type] &= 0x7F; /* Clear the entry InUse flag. */ - } else { /* On the FAT/FAT32 volume */ - dp->dir[DIR_Name] = DDEM; /* Mark the entry 'deleted'. */ - } - fs->wflag = 1; - if (dp->dptr >= last) break; /* If reached last entry then all entries of the object has been deleted. */ - res = dir_next(dp, 0); /* Next entry */ - } while (res == FR_OK); - if (res == FR_NO_FILE) res = FR_INT_ERR; - } -#else /* Non LFN configuration */ - - res = move_window(fs, dp->sect); - if (res == FR_OK) { - dp->dir[DIR_Name] = DDEM; /* Mark the entry 'deleted'.*/ - fs->wflag = 1; - } -#endif - - return res; -} - -#endif /* !FF_FS_READONLY && FF_FS_MINIMIZE == 0 */ - - - -#if FF_FS_MINIMIZE <= 1 || FF_FS_RPATH >= 2 -/*-----------------------------------------------------------------------*/ -/* Get file information from directory entry */ -/*-----------------------------------------------------------------------*/ - -static void get_fileinfo ( - DIR* dp, /* Pointer to the directory object */ - FILINFO* fno /* Pointer to the file information to be filled */ -) -{ - UINT si, di; -#if FF_USE_LFN - BYTE lcf; - WCHAR wc, hs; - FATFS *fs = dp->obj.fs; -#else - TCHAR c; -#endif - - - fno->fname[0] = 0; /* Invaidate file info */ - if (dp->sect == 0) return; /* Exit if read pointer has reached end of directory */ - -#if FF_USE_LFN /* LFN configuration */ -#if FF_FS_EXFAT - if (fs->fs_type == FS_EXFAT) { /* On the exFAT volume */ - get_xfileinfo(fs->dirbuf, fno); - return; - } else -#endif - { /* On the FAT/FAT32 volume */ - if (dp->blk_ofs != 0xFFFFFFFF) { /* Get LFN if available */ - si = di = hs = 0; - while (fs->lfnbuf[si] != 0) { - wc = fs->lfnbuf[si++]; /* Get an LFN character (UTF-16) */ - if (hs == 0 && IsSurrogate(wc)) { /* Is it a surrogate? */ - hs = wc; continue; /* Get low surrogate */ - } - wc = put_utf((DWORD)hs << 16 | wc, &fno->fname[di], FF_LFN_BUF - di); /* Store it in UTF-16 or UTF-8 encoding */ - if (wc == 0) { di = 0; break; } /* Invalid char or buffer overflow? */ - di += wc; - hs = 0; - } - if (hs != 0) di = 0; /* Broken surrogate pair? */ - fno->fname[di] = 0; /* Terminate the LFN (null string means LFN is invalid) */ - } - } - - si = di = 0; - while (si < 11) { /* Get SFN from SFN entry */ - wc = dp->dir[si++]; /* Get a char */ - if (wc == ' ') continue; /* Skip padding spaces */ - if (wc == RDDEM) wc = DDEM; /* Restore replaced DDEM character */ - if (si == 9 && di < FF_SFN_BUF) fno->altname[di++] = '.'; /* Insert a . if extension is exist */ -#if FF_LFN_UNICODE >= 1 /* Unicode output */ - if (dbc_1st((BYTE)wc) && si != 8 && si != 11 && dbc_2nd(dp->dir[si])) { /* Make a DBC if needed */ - wc = wc << 8 | dp->dir[si++]; - } - wc = ff_oem2uni(wc, CODEPAGE); /* ANSI/OEM -> Unicode */ - if (wc == 0) { di = 0; break; } /* Wrong char in the current code page? */ - wc = put_utf(wc, &fno->altname[di], FF_SFN_BUF - di); /* Store it in Unicode */ - if (wc == 0) { di = 0; break; } /* Buffer overflow? */ - di += wc; -#else /* ANSI/OEM output */ - fno->altname[di++] = (TCHAR)wc; /* Store it without any conversion */ -#endif - } - fno->altname[di] = 0; /* Terminate the SFN (null string means SFN is invalid) */ - - if (fno->fname[0] == 0) { /* If LFN is invalid, altname[] needs to be copied to fname[] */ - if (di == 0) { /* If LFN and SFN both are invalid, this object is inaccesible */ - fno->fname[di++] = '?'; - } else { - for (si = di = 0, lcf = NS_BODY; fno->altname[si]; si++, di++) { /* Copy altname[] to fname[] with case information */ - wc = (WCHAR)fno->altname[si]; - if (wc == '.') lcf = NS_EXT; - if (IsUpper(wc) && (dp->dir[DIR_NTres] & lcf)) wc += 0x20; - fno->fname[di] = (TCHAR)wc; - } - } - fno->fname[di] = 0; /* Terminate the LFN */ - if (!dp->dir[DIR_NTres]) fno->altname[0] = 0; /* Altname is not needed if neither LFN nor case info is exist. */ - } - -#else /* Non-LFN configuration */ - si = di = 0; - while (si < 11) { /* Copy name body and extension */ - c = (TCHAR)dp->dir[si++]; - if (c == ' ') continue; /* Skip padding spaces */ - if (c == RDDEM) c = DDEM; /* Restore replaced DDEM character */ - if (si == 9) fno->fname[di++] = '.';/* Insert a . if extension is exist */ - fno->fname[di++] = c; - } - fno->fname[di] = 0; -#endif - - fno->fattrib = dp->dir[DIR_Attr]; /* Attribute */ - fno->fsize = ld_dword(dp->dir + DIR_FileSize); /* Size */ - fno->ftime = ld_word(dp->dir + DIR_ModTime + 0); /* Time */ - fno->fdate = ld_word(dp->dir + DIR_ModTime + 2); /* Date */ -} - -#endif /* FF_FS_MINIMIZE <= 1 || FF_FS_RPATH >= 2 */ - - - -#if FF_USE_FIND && FF_FS_MINIMIZE <= 1 -/*-----------------------------------------------------------------------*/ -/* Pattern matching */ -/*-----------------------------------------------------------------------*/ - -static DWORD get_achar ( /* Get a character and advances ptr */ - const TCHAR** ptr /* Pointer to pointer to the ANSI/OEM or Unicode string */ -) -{ - DWORD chr; - - -#if FF_USE_LFN && FF_LFN_UNICODE >= 1 /* Unicode input */ - chr = tchar2uni(ptr); - if (chr == 0xFFFFFFFF) chr = 0; /* Wrong UTF encoding is recognized as end of the string */ - chr = ff_wtoupper(chr); - -#else /* ANSI/OEM input */ - chr = (BYTE)*(*ptr)++; /* Get a byte */ - if (IsLower(chr)) chr -= 0x20; /* To upper ASCII char */ -#if FF_CODE_PAGE == 0 - if (ExCvt && chr >= 0x80) chr = ExCvt[chr - 0x80]; /* To upper SBCS extended char */ -#elif FF_CODE_PAGE < 900 - if (chr >= 0x80) chr = ExCvt[chr - 0x80]; /* To upper SBCS extended char */ -#endif -#if FF_CODE_PAGE == 0 || FF_CODE_PAGE >= 900 - if (dbc_1st((BYTE)chr)) { /* Get DBC 2nd byte if needed */ - chr = dbc_2nd((BYTE)**ptr) ? chr << 8 | (BYTE)*(*ptr)++ : 0; - } -#endif - -#endif - return chr; -} - - -static int pattern_matching ( /* 0:not matched, 1:matched */ - const TCHAR* pat, /* Matching pattern */ - const TCHAR* nam, /* String to be tested */ - int skip, /* Number of pre-skip chars (number of ?s) */ - int inf /* Infinite search (* specified) */ -) -{ - const TCHAR *pp, *np; - DWORD pc, nc; - int nm, nx; - - - while (skip--) { /* Pre-skip name chars */ - if (!get_achar(&nam)) return 0; /* Branch mismatched if less name chars */ - } - if (*pat == 0 && inf) return 1; /* (short circuit) */ - - do { - pp = pat; np = nam; /* Top of pattern and name to match */ - for (;;) { - if (*pp == '?' || *pp == '*') { /* Wildcard? */ - nm = nx = 0; - do { /* Analyze the wildcard block */ - if (*pp++ == '?') nm++; else nx = 1; - } while (*pp == '?' || *pp == '*'); - if (pattern_matching(pp, np, nm, nx)) return 1; /* Test new branch (recurs upto number of wildcard blocks in the pattern) */ - nc = *np; break; /* Branch mismatched */ - } - pc = get_achar(&pp); /* Get a pattern char */ - nc = get_achar(&np); /* Get a name char */ - if (pc != nc) break; /* Branch mismatched? */ - if (pc == 0) return 1; /* Branch matched? (matched at end of both strings) */ - } - get_achar(&nam); /* nam++ */ - } while (inf && nc); /* Retry until end of name if infinite search is specified */ - - return 0; -} - -#endif /* FF_USE_FIND && FF_FS_MINIMIZE <= 1 */ - - - -/*-----------------------------------------------------------------------*/ -/* Pick a top segment and create the object name in directory form */ -/*-----------------------------------------------------------------------*/ - -static FRESULT create_name ( /* FR_OK: successful, FR_INVALID_NAME: could not create */ - DIR* dp, /* Pointer to the directory object */ - const TCHAR** path /* Pointer to pointer to the segment in the path string */ -) -{ -#if FF_USE_LFN /* LFN configuration */ - BYTE b, cf; - WCHAR wc, *lfn; - DWORD uc; - UINT i, ni, si, di; - const TCHAR *p; - - - /* Create LFN into LFN working buffer */ - p = *path; lfn = dp->obj.fs->lfnbuf; di = 0; - for (;;) { - uc = tchar2uni(&p); /* Get a character */ - if (uc == 0xFFFFFFFF) return FR_INVALID_NAME; /* Invalid code or UTF decode error */ - if (uc >= 0x10000) lfn[di++] = (WCHAR)(uc >> 16); /* Store high surrogate if needed */ - wc = (WCHAR)uc; - if (wc < ' ' || wc == '/' || wc == '\\') break; /* Break if end of the path or a separator is found */ - if (wc < 0x80 && chk_chr("\"*:<>\?|\x7F", wc)) return FR_INVALID_NAME; /* Reject illegal characters for LFN */ - if (di >= FF_MAX_LFN) return FR_INVALID_NAME; /* Reject too long name */ - lfn[di++] = wc; /* Store the Unicode character */ - } - if (wc < ' ') { /* End of path? */ - cf = NS_LAST; /* Set last segment flag */ - } else { - cf = 0; /* Next segment follows */ - while (*p == '/' || *p == '\\') p++; /* Skip duplicated separators if exist */ - } - *path = p; /* Return pointer to the next segment */ - -#if FF_FS_RPATH != 0 - if ((di == 1 && lfn[di - 1] == '.') || - (di == 2 && lfn[di - 1] == '.' && lfn[di - 2] == '.')) { /* Is this segment a dot name? */ - lfn[di] = 0; - for (i = 0; i < 11; i++) { /* Create dot name for SFN entry */ - dp->fn[i] = (i < di) ? '.' : ' '; - } - dp->fn[i] = cf | NS_DOT; /* This is a dot entry */ - return FR_OK; - } -#endif - while (di) { /* Snip off trailing spaces and dots if exist */ - wc = lfn[di - 1]; - if (wc != ' ' && wc != '.') break; - di--; - } - lfn[di] = 0; /* LFN is created into the working buffer */ - if (di == 0) return FR_INVALID_NAME; /* Reject null name */ - - /* Create SFN in directory form */ - for (si = 0; lfn[si] == ' '; si++) ; /* Remove leading spaces */ - if (si > 0 || lfn[si] == '.') cf |= NS_LOSS | NS_LFN; /* Is there any leading space or dot? */ - while (di > 0 && lfn[di - 1] != '.') di--; /* Find last dot (di<=si: no extension) */ - - mem_set(dp->fn, ' ', 11); - i = b = 0; ni = 8; - for (;;) { - wc = lfn[si++]; /* Get an LFN character */ - if (wc == 0) break; /* Break on end of the LFN */ - if (wc == ' ' || (wc == '.' && si != di)) { /* Remove embedded spaces and dots */ - cf |= NS_LOSS | NS_LFN; - continue; - } - - if (i >= ni || si == di) { /* End of field? */ - if (ni == 11) { /* Name extension overflow? */ - cf |= NS_LOSS | NS_LFN; - break; - } - if (si != di) cf |= NS_LOSS | NS_LFN; /* Name body overflow? */ - if (si > di) break; /* No name extension? */ - si = di; i = 8; ni = 11; b <<= 2; /* Enter name extension */ - continue; - } - - if (wc >= 0x80) { /* Is this a non-ASCII character? */ - cf |= NS_LFN; /* LFN entry needs to be created */ -#if FF_CODE_PAGE == 0 - if (ExCvt) { /* At SBCS */ - wc = ff_uni2oem(wc, CODEPAGE); /* Unicode ==> ANSI/OEM code */ - if (wc & 0x80) wc = ExCvt[wc & 0x7F]; /* Convert extended character to upper (SBCS) */ - } else { /* At DBCS */ - wc = ff_uni2oem(ff_wtoupper(wc), CODEPAGE); /* Unicode ==> Upper convert ==> ANSI/OEM code */ - } -#elif FF_CODE_PAGE < 900 /* SBCS cfg */ - wc = ff_uni2oem(wc, CODEPAGE); /* Unicode ==> ANSI/OEM code */ - if (wc & 0x80) wc = ExCvt[wc & 0x7F]; /* Convert extended character to upper (SBCS) */ -#else /* DBCS cfg */ - wc = ff_uni2oem(ff_wtoupper(wc), CODEPAGE); /* Unicode ==> Upper convert ==> ANSI/OEM code */ -#endif - } - - if (wc >= 0x100) { /* Is this a DBC? */ - if (i >= ni - 1) { /* Field overflow? */ - cf |= NS_LOSS | NS_LFN; - i = ni; continue; /* Next field */ - } - dp->fn[i++] = (BYTE)(wc >> 8); /* Put 1st byte */ - } else { /* SBC */ - if (wc == 0 || chk_chr("+,;=[]", wc)) { /* Replace illegal characters for SFN if needed */ - wc = '_'; cf |= NS_LOSS | NS_LFN;/* Lossy conversion */ - } else { - if (IsUpper(wc)) { /* ASCII upper case? */ - b |= 2; - } - if (IsLower(wc)) { /* ASCII lower case? */ - b |= 1; wc -= 0x20; - } - } - } - dp->fn[i++] = (BYTE)wc; - } - - if (dp->fn[0] == DDEM) dp->fn[0] = RDDEM; /* If the first character collides with DDEM, replace it with RDDEM */ - - if (ni == 8) b <<= 2; /* Shift capital flags if no extension */ - if ((b & 0x0C) == 0x0C || (b & 0x03) == 0x03) cf |= NS_LFN; /* LFN entry needs to be created if composite capitals */ - if (!(cf & NS_LFN)) { /* When LFN is in 8.3 format without extended character, NT flags are created */ - if (b & 0x01) cf |= NS_EXT; /* NT flag (Extension has small capital letters only) */ - if (b & 0x04) cf |= NS_BODY; /* NT flag (Body has small capital letters only) */ - } - - dp->fn[NSFLAG] = cf; /* SFN is created into dp->fn[] */ - - return FR_OK; - - -#else /* FF_USE_LFN : Non-LFN configuration */ - BYTE c, d, *sfn; - UINT ni, si, i; - const char *p; - - /* Create file name in directory form */ - p = *path; sfn = dp->fn; - mem_set(sfn, ' ', 11); - si = i = 0; ni = 8; -#if FF_FS_RPATH != 0 - if (p[si] == '.') { /* Is this a dot entry? */ - for (;;) { - c = (BYTE)p[si++]; - if (c != '.' || si >= 3) break; - sfn[i++] = c; - } - if (c != '/' && c != '\\' && c > ' ') return FR_INVALID_NAME; - *path = p + si; /* Return pointer to the next segment */ - sfn[NSFLAG] = (c <= ' ') ? NS_LAST | NS_DOT : NS_DOT; /* Set last segment flag if end of the path */ - return FR_OK; - } -#endif - for (;;) { - c = (BYTE)p[si++]; /* Get a byte */ - if (c <= ' ') break; /* Break if end of the path name */ - if (c == '/' || c == '\\') { /* Break if a separator is found */ - while (p[si] == '/' || p[si] == '\\') si++; /* Skip duplicated separator if exist */ - break; - } - if (c == '.' || i >= ni) { /* End of body or field overflow? */ - if (ni == 11 || c != '.') return FR_INVALID_NAME; /* Field overflow or invalid dot? */ - i = 8; ni = 11; /* Enter file extension field */ - continue; - } -#if FF_CODE_PAGE == 0 - if (ExCvt && c >= 0x80) { /* Is SBC extended character? */ - c = ExCvt[c & 0x7F]; /* To upper SBC extended character */ - } -#elif FF_CODE_PAGE < 900 - if (c >= 0x80) { /* Is SBC extended character? */ - c = ExCvt[c & 0x7F]; /* To upper SBC extended character */ - } -#endif - if (dbc_1st(c)) { /* Check if it is a DBC 1st byte */ - d = (BYTE)p[si++]; /* Get 2nd byte */ - if (!dbc_2nd(d) || i >= ni - 1) return FR_INVALID_NAME; /* Reject invalid DBC */ - sfn[i++] = c; - sfn[i++] = d; - } else { /* SBC */ - if (chk_chr("\"*+,:;<=>\?[]|\x7F", c)) return FR_INVALID_NAME; /* Reject illegal chrs for SFN */ - if (IsLower(c)) c -= 0x20; /* To upper */ - sfn[i++] = c; - } - } - *path = p + si; /* Return pointer to the next segment */ - if (i == 0) return FR_INVALID_NAME; /* Reject nul string */ - - if (sfn[0] == DDEM) sfn[0] = RDDEM; /* If the first character collides with DDEM, replace it with RDDEM */ - sfn[NSFLAG] = (c <= ' ') ? NS_LAST : 0; /* Set last segment flag if end of the path */ - - return FR_OK; -#endif /* FF_USE_LFN */ -} - - - - -/*-----------------------------------------------------------------------*/ -/* Follow a file path */ -/*-----------------------------------------------------------------------*/ - -static FRESULT follow_path ( /* FR_OK(0): successful, !=0: error code */ - DIR* dp, /* Directory object to return last directory and found object */ - const TCHAR* path /* Full-path string to find a file or directory */ -) -{ - FRESULT res; - BYTE ns; - FATFS *fs = dp->obj.fs; - - -#if FF_FS_RPATH != 0 - if (*path != '/' && *path != '\\') { /* Without heading separator */ - dp->obj.sclust = fs->cdir; /* Start from current directory */ - } else -#endif - { /* With heading separator */ - while (*path == '/' || *path == '\\') path++; /* Strip heading separator */ - dp->obj.sclust = 0; /* Start from root directory */ - } -#if FF_FS_EXFAT - dp->obj.n_frag = 0; /* Invalidate last fragment counter of the object */ -#if FF_FS_RPATH != 0 - if (fs->fs_type == FS_EXFAT && dp->obj.sclust) { /* exFAT: Retrieve the sub-directory's status */ - DIR dj; - - dp->obj.c_scl = fs->cdc_scl; - dp->obj.c_size = fs->cdc_size; - dp->obj.c_ofs = fs->cdc_ofs; - res = load_obj_xdir(&dj, &dp->obj); - if (res != FR_OK) return res; - dp->obj.objsize = ld_dword(fs->dirbuf + XDIR_FileSize); - dp->obj.stat = fs->dirbuf[XDIR_GenFlags] & 2; - } -#endif -#endif - - if ((UINT)*path < ' ') { /* Null path name is the origin directory itself */ - dp->fn[NSFLAG] = NS_NONAME; - res = dir_sdi(dp, 0); - - } else { /* Follow path */ - for (;;) { - res = create_name(dp, &path); /* Get a segment name of the path */ - if (res != FR_OK) break; - res = dir_find(dp); /* Find an object with the segment name */ - ns = dp->fn[NSFLAG]; - if (res != FR_OK) { /* Failed to find the object */ - if (res == FR_NO_FILE) { /* Object is not found */ - if (FF_FS_RPATH && (ns & NS_DOT)) { /* If dot entry is not exist, stay there */ - if (!(ns & NS_LAST)) continue; /* Continue to follow if not last segment */ - dp->fn[NSFLAG] = NS_NONAME; - res = FR_OK; - } else { /* Could not find the object */ - if (!(ns & NS_LAST)) res = FR_NO_PATH; /* Adjust error code if not last segment */ - } - } - break; - } - if (ns & NS_LAST) break; /* Last segment matched. Function completed. */ - /* Get into the sub-directory */ - if (!(dp->obj.attr & AM_DIR)) { /* It is not a sub-directory and cannot follow */ - res = FR_NO_PATH; break; - } -#if FF_FS_EXFAT - if (fs->fs_type == FS_EXFAT) { /* Save containing directory information for next dir */ - dp->obj.c_scl = dp->obj.sclust; - dp->obj.c_size = ((DWORD)dp->obj.objsize & 0xFFFFFF00) | dp->obj.stat; - dp->obj.c_ofs = dp->blk_ofs; - init_alloc_info(fs, &dp->obj); /* Open next directory */ - } else -#endif - { - dp->obj.sclust = ld_clust(fs, fs->win + dp->dptr % SS(fs)); /* Open next directory */ - } - } - } - - return res; -} - - - - -/*-----------------------------------------------------------------------*/ -/* Get logical drive number from path name */ -/*-----------------------------------------------------------------------*/ - -static int get_ldnumber ( /* Returns logical drive number (-1:invalid drive number or null pointer) */ - const TCHAR** path /* Pointer to pointer to the path name */ -) -{ - const TCHAR *tp, *tt; - TCHAR tc; - int i, vol = -1; -#if FF_STR_VOLUME_ID /* Find string volume ID */ - const char *sp; - char c; -#endif - - tt = tp = *path; - if (!tp) return vol; /* Invalid path name? */ - do tc = *tt++; while ((UINT)tc >= (FF_USE_LFN ? ' ' : '!') && tc != ':'); /* Find a colon in the path */ - - if (tc == ':') { /* DOS/Windows style volume ID? */ - i = FF_VOLUMES; - if (IsDigit(*tp) && tp + 2 == tt) { /* Is there a numeric volume ID + colon? */ - i = (int)*tp - '0'; /* Get the LD number */ - } -#if FF_STR_VOLUME_ID == 1 /* Arbitrary string is enabled */ - else { - i = 0; - do { - sp = VolumeStr[i]; tp = *path; /* This string volume ID and path name */ - do { /* Compare the volume ID with path name */ - c = *sp++; tc = *tp++; - if (IsLower(c)) c -= 0x20; - if (IsLower(tc)) tc -= 0x20; - } while (c && (TCHAR)c == tc); - } while ((c || tp != tt) && ++i < FF_VOLUMES); /* Repeat for each id until pattern match */ - } -#endif - if (i < FF_VOLUMES) { /* If a volume ID is found, get the drive number and strip it */ - vol = i; /* Drive number */ - *path = tt; /* Snip the drive prefix off */ - } - return vol; - } -#if FF_STR_VOLUME_ID == 2 /* Unix style volume ID is enabled */ - if (*tp == '/') { - i = 0; - do { - sp = VolumeStr[i]; tp = *path; /* This string volume ID and path name */ - do { /* Compare the volume ID with path name */ - c = *sp++; tc = *(++tp); - if (IsLower(c)) c -= 0x20; - if (IsLower(tc)) tc -= 0x20; - } while (c && (TCHAR)c == tc); - } while ((c || (tc != '/' && (UINT)tc >= (FF_USE_LFN ? ' ' : '!'))) && ++i < FF_VOLUMES); /* Repeat for each ID until pattern match */ - if (i < FF_VOLUMES) { /* If a volume ID is found, get the drive number and strip it */ - vol = i; /* Drive number */ - *path = tp; /* Snip the drive prefix off */ - return vol; - } - } -#endif - /* No drive prefix is found */ -#if FF_FS_RPATH != 0 - vol = CurrVol; /* Default drive is current drive */ -#else - vol = 0; /* Default drive is 0 */ -#endif - return vol; /* Return the default drive */ -} - - - - -/*-----------------------------------------------------------------------*/ -/* GPT support functions */ -/*-----------------------------------------------------------------------*/ - -#if FF_LBA64 - -/* Calculate CRC32 in byte-by-byte */ - -static DWORD crc32 ( /* Returns next CRC value */ - DWORD crc, /* Current CRC value */ - BYTE d /* A byte to be processed */ -) -{ - BYTE b; - - - for (b = 1; b; b <<= 1) { - crc ^= (d & b) ? 1 : 0; - crc = (crc & 1) ? crc >> 1 ^ 0xEDB88320 : crc >> 1; - } - return crc; -} - - -/* Check validity of GPT header */ - -static int test_gpt_header ( /* 0:Invalid, 1:Valid */ - const BYTE* gpth /* Pointer to the GPT header */ -) -{ - UINT i; - DWORD bcc; - - - if (mem_cmp(gpth + GPTH_Sign, "EFI PART" "\0\0\1\0" "\x5C\0\0", 16)) return 0; /* Check sign, version (1.0) and length (92) */ - for (i = 0, bcc = 0xFFFFFFFF; i < 92; i++) { /* Check header BCC */ - bcc = crc32(bcc, i - GPTH_Bcc < 4 ? 0 : gpth[i]); - } - if (~bcc != ld_dword(gpth + GPTH_Bcc)) return 0; - if (ld_dword(gpth + GPTH_PteSize) != SZ_GPTE) return 0; /* Table entry size (must be SZ_GPTE bytes) */ - if (ld_dword(gpth + GPTH_PtNum) > 128) return 0; /* Table size (must be 128 entries or less) */ - - return 1; -} - -#if !FF_FS_READONLY && FF_USE_MKFS - -/* Generate random value */ -static DWORD make_rand ( - DWORD seed, /* Seed value */ - BYTE* buff, /* Output buffer */ - UINT n /* Data length */ -) -{ - UINT r; - - - if (seed == 0) seed = 1; - do { - for (r = 0; r < 8; r++) seed = seed & 1 ? seed >> 1 ^ 0xA3000000 : seed >> 1; /* Shift 8 bits the 32-bit LFSR */ - *buff++ = (BYTE)seed; - } while (--n); - return seed; -} - -#endif -#endif - - - -/*-----------------------------------------------------------------------*/ -/* Load a sector and check if it is an FAT VBR */ -/*-----------------------------------------------------------------------*/ - -/* Check what the sector is */ - -static UINT check_fs ( /* 0:FAT VBR, 1:exFAT VBR, 2:Valid BS but not FAT, 3:Invalid BS, 4:Disk error */ - FATFS* fs, /* Filesystem object */ - LBA_t sect /* Sector to load and check if it is an FAT-VBR or not */ -) -{ - fs->wflag = 0; fs->winsect = (LBA_t)0 - 1; /* Invaidate window */ - if (move_window(fs, sect) != FR_OK) return 4; /* Load the boot sector */ - - if (ld_word(fs->win + BS_55AA) != 0xAA55) return 3; /* Check boot signature (always here regardless of the sector size) */ - - if (FF_FS_EXFAT && !mem_cmp(fs->win + BS_JmpBoot, "\xEB\x76\x90" "EXFAT ", 11)) return 1; /* Check if exFAT VBR */ - - if (fs->win[BS_JmpBoot] == 0xE9 || fs->win[BS_JmpBoot] == 0xEB || fs->win[BS_JmpBoot] == 0xE8) { /* Valid JumpBoot code? */ - if (!mem_cmp(fs->win + BS_FilSysType, "FAT", 3)) return 0; /* Is it an FAT VBR? */ - if (!mem_cmp(fs->win + BS_FilSysType32, "FAT32", 5)) return 0; /* Is it an FAT32 VBR? */ - } - return 2; /* Valid BS but not FAT */ -} - - -/* Find an FAT volume */ -/* (It supports only generic partitioning rules, MBR, GPT and SFD) */ - -static UINT find_volume ( /* Returns BS status found in the hosting drive */ - FATFS* fs, /* Filesystem object */ - UINT part /* Partition to fined = 0:auto, 1..:forced */ -) -{ - UINT fmt, i; - DWORD mbr_pt[4]; - - - fmt = check_fs(fs, 0); /* Load sector 0 and check if it is an FAT VBR as SFD */ - if (fmt != 2 && (fmt >= 3 || part == 0)) return fmt; /* Returns if it is a FAT VBR as auto scan, not a BS or disk error */ - - /* Sector 0 is not an FAT VBR or forced partition number wants a partition */ - -#if FF_LBA64 - if (fs->win[MBR_Table + PTE_System] == 0xEE) { /* GPT protective MBR? */ - DWORD n_ent, v_ent, ofs; - QWORD pt_lba; - - if (move_window(fs, 1) != FR_OK) return 4; /* Load GPT header sector (next to MBR) */ - if (!test_gpt_header(fs->win)) return 3; /* Check if GPT header is valid */ - n_ent = ld_dword(fs->win + GPTH_PtNum); /* Number of entries */ - pt_lba = ld_qword(fs->win + GPTH_PtOfs); /* Table location */ - for (v_ent = i = 0; i < n_ent; i++) { /* Find FAT partition */ - if (move_window(fs, pt_lba + i * SZ_GPTE / SS(fs)) != FR_OK) return 4; /* PT sector */ - ofs = i * SZ_GPTE % SS(fs); /* Offset in the sector */ - if (!mem_cmp(fs->win + ofs + GPTE_PtGuid, GUID_MS_Basic, 16)) { /* MS basic data partition? */ - v_ent++; - fmt = check_fs(fs, ld_qword(fs->win + ofs + GPTE_FstLba)); /* Load VBR and check status */ - if (part == 0 && fmt <= 1) return fmt; /* Auto search (valid FAT volume found first) */ - if (part != 0 && v_ent == part) return fmt; /* Forced partition order (regardless of it is valid or not) */ - } - } - return 3; /* Not found */ - } -#endif - if (FF_MULTI_PARTITION && part > 4) return 3; /* MBR has 4 partitions max */ - for (i = 0; i < 4; i++) { /* Load partition offset in the MBR */ - mbr_pt[i] = ld_dword(fs->win + MBR_Table + i * SZ_PTE + PTE_StLba); - } - i = part ? part - 1 : 0; /* Table index to find first */ - do { /* Find an FAT volume */ - fmt = mbr_pt[i] ? check_fs(fs, mbr_pt[i]) : 3; /* Check if the partition is FAT */ - } while (part == 0 && fmt >= 2 && ++i < 4); - return fmt; -} - - - - -/*-----------------------------------------------------------------------*/ -/* Determine logical drive number and mount the volume if needed */ -/*-----------------------------------------------------------------------*/ - -static FRESULT mount_volume ( /* FR_OK(0): successful, !=0: an error occurred */ - const TCHAR** path, /* Pointer to pointer to the path name (drive number) */ - FATFS** rfs, /* Pointer to pointer to the found filesystem object */ - BYTE mode /* !=0: Check write protection for write access */ -) -{ - int vol; - DSTATUS stat; - LBA_t bsect; - DWORD tsect, sysect, fasize, nclst, szbfat; - WORD nrsv; - FATFS *fs; - UINT fmt; - - - /* Get logical drive number */ - *rfs = 0; - vol = get_ldnumber(path); - if (vol < 0) return FR_INVALID_DRIVE; - - /* Check if the filesystem object is valid or not */ - fs = FatFs[vol]; /* Get pointer to the filesystem object */ - if (!fs) return FR_NOT_ENABLED; /* Is the filesystem object available? */ -#if FF_FS_REENTRANT - if (!lock_fs(fs)) return FR_TIMEOUT; /* Lock the volume */ -#endif - *rfs = fs; /* Return pointer to the filesystem object */ - - mode &= (BYTE)~FA_READ; /* Desired access mode, write access or not */ - if (fs->fs_type != 0) { /* If the volume has been mounted */ - stat = disk_status(fs->pdrv); - if (!(stat & STA_NOINIT)) { /* and the physical drive is kept initialized */ - if (!FF_FS_READONLY && mode && (stat & STA_PROTECT)) { /* Check write protection if needed */ - return FR_WRITE_PROTECTED; - } - return FR_OK; /* The filesystem object is already valid */ - } - } - - /* The filesystem object is not valid. */ - /* Following code attempts to mount the volume. (find a FAT volume, analyze the BPB and initialize the filesystem object) */ - - fs->fs_type = 0; /* Clear the filesystem object */ - fs->pdrv = LD2PD(vol); /* Volume hosting physical drive */ - stat = disk_initialize(fs->pdrv); /* Initialize the physical drive */ - if (stat & STA_NOINIT) { /* Check if the initialization succeeded */ - return FR_NOT_READY; /* Failed to initialize due to no medium or hard error */ - } - if (!FF_FS_READONLY && mode && (stat & STA_PROTECT)) { /* Check disk write protection if needed */ - return FR_WRITE_PROTECTED; - } -#if FF_MAX_SS != FF_MIN_SS /* Get sector size (multiple sector size cfg only) */ - if (disk_ioctl(fs->pdrv, GET_SECTOR_SIZE, &SS(fs)) != RES_OK) return FR_DISK_ERR; - if (SS(fs) > FF_MAX_SS || SS(fs) < FF_MIN_SS || (SS(fs) & (SS(fs) - 1))) return FR_DISK_ERR; -#endif - - /* Find an FAT volume on the drive */ - fmt = find_volume(fs, LD2PT(vol)); - if (fmt == 4) return FR_DISK_ERR; /* An error occured in the disk I/O layer */ - if (fmt >= 2) return FR_NO_FILESYSTEM; /* No FAT volume is found */ - bsect = fs->winsect; /* Volume location */ - - /* An FAT volume is found (bsect). Following code initializes the filesystem object */ - -#if FF_FS_EXFAT - if (fmt == 1) { - QWORD maxlba; - DWORD so, cv, bcl, i; - - for (i = BPB_ZeroedEx; i < BPB_ZeroedEx + 53 && fs->win[i] == 0; i++) ; /* Check zero filler */ - if (i < BPB_ZeroedEx + 53) return FR_NO_FILESYSTEM; - - if (ld_word(fs->win + BPB_FSVerEx) != 0x100) return FR_NO_FILESYSTEM; /* Check exFAT version (must be version 1.0) */ - - if (1 << fs->win[BPB_BytsPerSecEx] != SS(fs)) { /* (BPB_BytsPerSecEx must be equal to the physical sector size) */ - return FR_NO_FILESYSTEM; - } - - maxlba = ld_qword(fs->win + BPB_TotSecEx) + bsect; /* Last LBA + 1 of the volume */ - if (!FF_LBA64 && maxlba >= 0x100000000) return FR_NO_FILESYSTEM; /* (It cannot be handled in 32-bit LBA) */ - - fs->fsize = ld_dword(fs->win + BPB_FatSzEx); /* Number of sectors per FAT */ - - fs->n_fats = fs->win[BPB_NumFATsEx]; /* Number of FATs */ - if (fs->n_fats != 1) return FR_NO_FILESYSTEM; /* (Supports only 1 FAT) */ - - fs->csize = 1 << fs->win[BPB_SecPerClusEx]; /* Cluster size */ - if (fs->csize == 0) return FR_NO_FILESYSTEM; /* (Must be 1..32768) */ - - nclst = ld_dword(fs->win + BPB_NumClusEx); /* Number of clusters */ - if (nclst > MAX_EXFAT) return FR_NO_FILESYSTEM; /* (Too many clusters) */ - fs->n_fatent = nclst + 2; - - /* Boundaries and Limits */ - fs->volbase = bsect; - fs->database = bsect + ld_dword(fs->win + BPB_DataOfsEx); - fs->fatbase = bsect + ld_dword(fs->win + BPB_FatOfsEx); - if (maxlba < (QWORD)fs->database + nclst * fs->csize) return FR_NO_FILESYSTEM; /* (Volume size must not be smaller than the size requiered) */ - fs->dirbase = ld_dword(fs->win + BPB_RootClusEx); - - /* Get bitmap location and check if it is contiguous (implementation assumption) */ - so = i = 0; - for (;;) { /* Find the bitmap entry in the root directory (in only first cluster) */ - if (i == 0) { - if (so >= fs->csize) return FR_NO_FILESYSTEM; /* Not found? */ - if (move_window(fs, clst2sect(fs, (DWORD)fs->dirbase) + so) != FR_OK) return FR_DISK_ERR; - so++; - } - if (fs->win[i] == ET_BITMAP) break; /* Is it a bitmap entry? */ - i = (i + SZDIRE) % SS(fs); /* Next entry */ - } - bcl = ld_dword(fs->win + i + 20); /* Bitmap cluster */ - if (bcl < 2 || bcl >= fs->n_fatent) return FR_NO_FILESYSTEM; - fs->bitbase = fs->database + fs->csize * (bcl - 2); /* Bitmap sector */ - for (;;) { /* Check if bitmap is contiguous */ - if (move_window(fs, fs->fatbase + bcl / (SS(fs) / 4)) != FR_OK) return FR_DISK_ERR; - cv = ld_dword(fs->win + bcl % (SS(fs) / 4) * 4); - if (cv == 0xFFFFFFFF) break; /* Last link? */ - if (cv != ++bcl) return FR_NO_FILESYSTEM; /* Fragmented? */ - } - -#if !FF_FS_READONLY - fs->last_clst = fs->free_clst = 0xFFFFFFFF; /* Initialize cluster allocation information */ -#endif - fmt = FS_EXFAT; /* FAT sub-type */ - } else -#endif /* FF_FS_EXFAT */ - { - if (ld_word(fs->win + BPB_BytsPerSec) != SS(fs)) return FR_NO_FILESYSTEM; /* (BPB_BytsPerSec must be equal to the physical sector size) */ - - fasize = ld_word(fs->win + BPB_FATSz16); /* Number of sectors per FAT */ - if (fasize == 0) fasize = ld_dword(fs->win + BPB_FATSz32); - fs->fsize = fasize; - - fs->n_fats = fs->win[BPB_NumFATs]; /* Number of FATs */ - if (fs->n_fats != 1 && fs->n_fats != 2) return FR_NO_FILESYSTEM; /* (Must be 1 or 2) */ - fasize *= fs->n_fats; /* Number of sectors for FAT area */ - - fs->csize = fs->win[BPB_SecPerClus]; /* Cluster size */ - if (fs->csize == 0 || (fs->csize & (fs->csize - 1))) return FR_NO_FILESYSTEM; /* (Must be power of 2) */ - - fs->n_rootdir = ld_word(fs->win + BPB_RootEntCnt); /* Number of root directory entries */ - if (fs->n_rootdir % (SS(fs) / SZDIRE)) return FR_NO_FILESYSTEM; /* (Must be sector aligned) */ - - tsect = ld_word(fs->win + BPB_TotSec16); /* Number of sectors on the volume */ - if (tsect == 0) tsect = ld_dword(fs->win + BPB_TotSec32); - - nrsv = ld_word(fs->win + BPB_RsvdSecCnt); /* Number of reserved sectors */ - if (nrsv == 0) return FR_NO_FILESYSTEM; /* (Must not be 0) */ - - /* Determine the FAT sub type */ - sysect = nrsv + fasize + fs->n_rootdir / (SS(fs) / SZDIRE); /* RSV + FAT + DIR */ - if (tsect < sysect) return FR_NO_FILESYSTEM; /* (Invalid volume size) */ - nclst = (tsect - sysect) / fs->csize; /* Number of clusters */ - if (nclst == 0) return FR_NO_FILESYSTEM; /* (Invalid volume size) */ - fmt = 0; - if (nclst <= MAX_FAT32) fmt = FS_FAT32; - if (nclst <= MAX_FAT16) fmt = FS_FAT16; - if (nclst <= MAX_FAT12) fmt = FS_FAT12; - if (fmt == 0) return FR_NO_FILESYSTEM; - - /* Boundaries and Limits */ - fs->n_fatent = nclst + 2; /* Number of FAT entries */ - fs->volbase = bsect; /* Volume start sector */ - fs->fatbase = bsect + nrsv; /* FAT start sector */ - fs->database = bsect + sysect; /* Data start sector */ - if (fmt == FS_FAT32) { - if (ld_word(fs->win + BPB_FSVer32) != 0) return FR_NO_FILESYSTEM; /* (Must be FAT32 revision 0.0) */ - if (fs->n_rootdir != 0) return FR_NO_FILESYSTEM; /* (BPB_RootEntCnt must be 0) */ - fs->dirbase = ld_dword(fs->win + BPB_RootClus32); /* Root directory start cluster */ - szbfat = fs->n_fatent * 4; /* (Needed FAT size) */ - } else { - if (fs->n_rootdir == 0) return FR_NO_FILESYSTEM; /* (BPB_RootEntCnt must not be 0) */ - fs->dirbase = fs->fatbase + fasize; /* Root directory start sector */ - szbfat = (fmt == FS_FAT16) ? /* (Needed FAT size) */ - fs->n_fatent * 2 : fs->n_fatent * 3 / 2 + (fs->n_fatent & 1); - } - if (fs->fsize < (szbfat + (SS(fs) - 1)) / SS(fs)) return FR_NO_FILESYSTEM; /* (BPB_FATSz must not be less than the size needed) */ - -#if !FF_FS_READONLY - /* Get FSInfo if available */ - fs->last_clst = fs->free_clst = 0xFFFFFFFF; /* Initialize cluster allocation information */ - fs->fsi_flag = 0x80; -#if (FF_FS_NOFSINFO & 3) != 3 - if (fmt == FS_FAT32 /* Allow to update FSInfo only if BPB_FSInfo32 == 1 */ - && ld_word(fs->win + BPB_FSInfo32) == 1 - && move_window(fs, bsect + 1) == FR_OK) - { - fs->fsi_flag = 0; - if (ld_word(fs->win + BS_55AA) == 0xAA55 /* Load FSInfo data if available */ - && ld_dword(fs->win + FSI_LeadSig) == 0x41615252 - && ld_dword(fs->win + FSI_StrucSig) == 0x61417272) - { -#if (FF_FS_NOFSINFO & 1) == 0 - fs->free_clst = ld_dword(fs->win + FSI_Free_Count); -#endif -#if (FF_FS_NOFSINFO & 2) == 0 - fs->last_clst = ld_dword(fs->win + FSI_Nxt_Free); -#endif - } - } -#endif /* (FF_FS_NOFSINFO & 3) != 3 */ -#endif /* !FF_FS_READONLY */ - } - - fs->fs_type = (BYTE)fmt;/* FAT sub-type */ - fs->id = ++Fsid; /* Volume mount ID */ -#if FF_USE_LFN == 1 - fs->lfnbuf = LfnBuf; /* Static LFN working buffer */ -#if FF_FS_EXFAT - fs->dirbuf = DirBuf; /* Static directory block scratchpad buuffer */ -#endif -#endif -#if FF_FS_RPATH != 0 - fs->cdir = 0; /* Initialize current directory */ -#endif -#if FF_FS_LOCK != 0 /* Clear file lock semaphores */ - clear_lock(fs); -#endif - return FR_OK; -} - - - - -/*-----------------------------------------------------------------------*/ -/* Check if the file/directory object is valid or not */ -/*-----------------------------------------------------------------------*/ - -static FRESULT validate ( /* Returns FR_OK or FR_INVALID_OBJECT */ - FFOBJID* obj, /* Pointer to the FFOBJID, the 1st member in the FIL/DIR object, to check validity */ - FATFS** rfs /* Pointer to pointer to the owner filesystem object to return */ -) -{ - FRESULT res = FR_INVALID_OBJECT; - - - if (obj && obj->fs && obj->fs->fs_type && obj->id == obj->fs->id) { /* Test if the object is valid */ -#if FF_FS_REENTRANT - if (lock_fs(obj->fs)) { /* Obtain the filesystem object */ - if (!(disk_status(obj->fs->pdrv) & STA_NOINIT)) { /* Test if the phsical drive is kept initialized */ - res = FR_OK; - } else { - unlock_fs(obj->fs, FR_OK); - } - } else { - res = FR_TIMEOUT; - } -#else - if (!(disk_status(obj->fs->pdrv) & STA_NOINIT)) { /* Test if the phsical drive is kept initialized */ - res = FR_OK; - } -#endif - } - *rfs = (res == FR_OK) ? obj->fs : 0; /* Corresponding filesystem object */ - return res; -} - - - - -/*--------------------------------------------------------------------------- - - Public Functions (FatFs API) - -----------------------------------------------------------------------------*/ - - - -/*-----------------------------------------------------------------------*/ -/* Mount/Unmount a Logical Drive */ -/*-----------------------------------------------------------------------*/ - -FRESULT f_mount ( - FATFS* fs, /* Pointer to the filesystem object (NULL:unmount)*/ - const TCHAR* path, /* Logical drive number to be mounted/unmounted */ - BYTE opt /* Mode option 0:Do not mount (delayed mount), 1:Mount immediately */ -) -{ - FATFS *cfs; - int vol; - FRESULT res; - const TCHAR *rp = path; - - - /* Get logical drive number */ - vol = get_ldnumber(&rp); - if (vol < 0) return FR_INVALID_DRIVE; - cfs = FatFs[vol]; /* Pointer to fs object */ - - if (cfs) { -#if FF_FS_LOCK != 0 - clear_lock(cfs); -#endif -#if FF_FS_REENTRANT /* Discard sync object of the current volume */ - if (!ff_del_syncobj(cfs->sobj)) return FR_INT_ERR; -#endif - cfs->fs_type = 0; /* Clear old fs object */ - } - - if (fs) { - fs->fs_type = 0; /* Clear new fs object */ -#if FF_FS_REENTRANT /* Create sync object for the new volume */ - if (!ff_cre_syncobj((BYTE)vol, &fs->sobj)) return FR_INT_ERR; -#endif - } - FatFs[vol] = fs; /* Register new fs object */ - - if (opt == 0) return FR_OK; /* Do not mount now, it will be mounted later */ - - res = mount_volume(&path, &fs, 0); /* Force mounted the volume */ - LEAVE_FF(fs, res); -} - - - - -/*-----------------------------------------------------------------------*/ -/* Open or Create a File */ -/*-----------------------------------------------------------------------*/ - -FRESULT f_open ( - FIL* fp, /* Pointer to the blank file object */ - const TCHAR* path, /* Pointer to the file name */ - BYTE mode /* Access mode and file open mode flags */ -) -{ - FRESULT res; - DIR dj; - FATFS *fs; -#if !FF_FS_READONLY - DWORD cl, bcs, clst; - LBA_t sc; - FSIZE_t ofs; -#endif - DEF_NAMBUF - - - if (!fp) return FR_INVALID_OBJECT; - - /* Get logical drive number */ - mode &= FF_FS_READONLY ? FA_READ : FA_READ | FA_WRITE | FA_CREATE_ALWAYS | FA_CREATE_NEW | FA_OPEN_ALWAYS | FA_OPEN_APPEND; - res = mount_volume(&path, &fs, mode); - if (res == FR_OK) { - dj.obj.fs = fs; - INIT_NAMBUF(fs); - res = follow_path(&dj, path); /* Follow the file path */ - -#if !FF_FS_READONLY /* Read/Write configuration */ - if (res == FR_OK) { - if (dj.fn[NSFLAG] & NS_NONAME) { /* Origin directory itself? */ - res = FR_INVALID_NAME; - } -#if FF_FS_LOCK != 0 - else { - res = chk_lock(&dj, (mode & ~FA_READ) ? 1 : 0); /* Check if the file can be used */ - } -#endif - } - /* Create or Open a file */ - if (mode & (FA_CREATE_ALWAYS | FA_OPEN_ALWAYS | FA_CREATE_NEW)) { - if (res != FR_OK) { /* No file, create new */ - if (res == FR_NO_FILE) { /* There is no file to open, create a new entry */ -#if FF_FS_LOCK != 0 - res = enq_lock() ? dir_register(&dj) : FR_TOO_MANY_OPEN_FILES; -#else - res = dir_register(&dj); -#endif - } - mode |= FA_CREATE_ALWAYS; /* File is created */ - } - else { /* Any object with the same name is already existing */ - if (dj.obj.attr & (AM_RDO | AM_DIR)) { /* Cannot overwrite it (R/O or DIR) */ - res = FR_DENIED; - } else { - if (mode & FA_CREATE_NEW) res = FR_EXIST; /* Cannot create as new file */ - } - } - if (res == FR_OK && (mode & FA_CREATE_ALWAYS)) { /* Truncate the file if overwrite mode */ -#if FF_FS_EXFAT - if (fs->fs_type == FS_EXFAT) { - /* Get current allocation info */ - fp->obj.fs = fs; - init_alloc_info(fs, &fp->obj); - /* Set directory entry block initial state */ - mem_set(fs->dirbuf + 2, 0, 30); /* Clear 85 entry except for NumSec */ - mem_set(fs->dirbuf + 38, 0, 26); /* Clear C0 entry except for NumName and NameHash */ - fs->dirbuf[XDIR_Attr] = AM_ARC; - st_dword(fs->dirbuf + XDIR_CrtTime, GET_FATTIME()); - fs->dirbuf[XDIR_GenFlags] = 1; - res = store_xdir(&dj); - if (res == FR_OK && fp->obj.sclust != 0) { /* Remove the cluster chain if exist */ - res = remove_chain(&fp->obj, fp->obj.sclust, 0); - fs->last_clst = fp->obj.sclust - 1; /* Reuse the cluster hole */ - } - } else -#endif - { - /* Set directory entry initial state */ - cl = ld_clust(fs, dj.dir); /* Get current cluster chain */ - st_dword(dj.dir + DIR_CrtTime, GET_FATTIME()); /* Set created time */ - dj.dir[DIR_Attr] = AM_ARC; /* Reset attribute */ - st_clust(fs, dj.dir, 0); /* Reset file allocation info */ - st_dword(dj.dir + DIR_FileSize, 0); - fs->wflag = 1; - if (cl != 0) { /* Remove the cluster chain if exist */ - sc = fs->winsect; - res = remove_chain(&dj.obj, cl, 0); - if (res == FR_OK) { - res = move_window(fs, sc); - fs->last_clst = cl - 1; /* Reuse the cluster hole */ - } - } - } - } - } - else { /* Open an existing file */ - if (res == FR_OK) { /* Is the object exsiting? */ - if (dj.obj.attr & AM_DIR) { /* File open against a directory */ - res = FR_NO_FILE; - } else { - if ((mode & FA_WRITE) && (dj.obj.attr & AM_RDO)) { /* Write mode open against R/O file */ - res = FR_DENIED; - } - } - } - } - if (res == FR_OK) { - if (mode & FA_CREATE_ALWAYS) mode |= FA_MODIFIED; /* Set file change flag if created or overwritten */ - fp->dir_sect = fs->winsect; /* Pointer to the directory entry */ - fp->dir_ptr = dj.dir; -#if FF_FS_LOCK != 0 - fp->obj.lockid = inc_lock(&dj, (mode & ~FA_READ) ? 1 : 0); /* Lock the file for this session */ - if (fp->obj.lockid == 0) res = FR_INT_ERR; -#endif - } -#else /* R/O configuration */ - if (res == FR_OK) { - if (dj.fn[NSFLAG] & NS_NONAME) { /* Is it origin directory itself? */ - res = FR_INVALID_NAME; - } else { - if (dj.obj.attr & AM_DIR) { /* Is it a directory? */ - res = FR_NO_FILE; - } - } - } -#endif - - if (res == FR_OK) { -#if FF_FS_EXFAT - if (fs->fs_type == FS_EXFAT) { - fp->obj.c_scl = dj.obj.sclust; /* Get containing directory info */ - fp->obj.c_size = ((DWORD)dj.obj.objsize & 0xFFFFFF00) | dj.obj.stat; - fp->obj.c_ofs = dj.blk_ofs; - init_alloc_info(fs, &fp->obj); - } else -#endif - { - fp->obj.sclust = ld_clust(fs, dj.dir); /* Get object allocation info */ - fp->obj.objsize = ld_dword(dj.dir + DIR_FileSize); - } -#if FF_USE_FASTSEEK - fp->cltbl = 0; /* Disable fast seek mode */ -#endif - fp->obj.fs = fs; /* Validate the file object */ - fp->obj.id = fs->id; - fp->flag = mode; /* Set file access mode */ - fp->err = 0; /* Clear error flag */ - fp->sect = 0; /* Invalidate current data sector */ - fp->fptr = 0; /* Set file pointer top of the file */ -#if !FF_FS_READONLY -#if !FF_FS_TINY - mem_set(fp->buf, 0, sizeof fp->buf); /* Clear sector buffer */ -#endif - if ((mode & FA_SEEKEND) && fp->obj.objsize > 0) { /* Seek to end of file if FA_OPEN_APPEND is specified */ - fp->fptr = fp->obj.objsize; /* Offset to seek */ - bcs = (DWORD)fs->csize * SS(fs); /* Cluster size in byte */ - clst = fp->obj.sclust; /* Follow the cluster chain */ - for (ofs = fp->obj.objsize; res == FR_OK && ofs > bcs; ofs -= bcs) { - clst = get_fat(&fp->obj, clst); - if (clst <= 1) res = FR_INT_ERR; - if (clst == 0xFFFFFFFF) res = FR_DISK_ERR; - } - fp->clust = clst; - if (res == FR_OK && ofs % SS(fs)) { /* Fill sector buffer if not on the sector boundary */ - sc = clst2sect(fs, clst); - if (sc == 0) { - res = FR_INT_ERR; - } else { - fp->sect = sc + (DWORD)(ofs / SS(fs)); -#if !FF_FS_TINY - if (disk_read(fs->pdrv, fp->buf, fp->sect, 1) != RES_OK) res = FR_DISK_ERR; -#endif - } - } - } -#endif - } - - FREE_NAMBUF(); - } - - if (res != FR_OK) fp->obj.fs = 0; /* Invalidate file object on error */ - - LEAVE_FF(fs, res); -} - - - - -/*-----------------------------------------------------------------------*/ -/* Read File */ -/*-----------------------------------------------------------------------*/ - -FRESULT f_read ( - FIL* fp, /* Pointer to the file object */ - void* buff, /* Pointer to data buffer */ - UINT btr, /* Number of bytes to read */ - UINT* br /* Pointer to number of bytes read */ -) -{ - FRESULT res; - FATFS *fs; - DWORD clst; - LBA_t sect; - FSIZE_t remain; - UINT rcnt, cc, csect; - BYTE *rbuff = (BYTE*)buff; - - - *br = 0; /* Clear read byte counter */ - res = validate(&fp->obj, &fs); /* Check validity of the file object */ - if (res != FR_OK || (res = (FRESULT)fp->err) != FR_OK) LEAVE_FF(fs, res); /* Check validity */ - if (!(fp->flag & FA_READ)) LEAVE_FF(fs, FR_DENIED); /* Check access mode */ - remain = fp->obj.objsize - fp->fptr; - if (btr > remain) btr = (UINT)remain; /* Truncate btr by remaining bytes */ - - for ( ; btr; /* Repeat until btr bytes read */ - btr -= rcnt, *br += rcnt, rbuff += rcnt, fp->fptr += rcnt) { - if (fp->fptr % SS(fs) == 0) { /* On the sector boundary? */ - csect = (UINT)(fp->fptr / SS(fs) & (fs->csize - 1)); /* Sector offset in the cluster */ - if (csect == 0) { /* On the cluster boundary? */ - if (fp->fptr == 0) { /* On the top of the file? */ - clst = fp->obj.sclust; /* Follow cluster chain from the origin */ - } else { /* Middle or end of the file */ -#if FF_USE_FASTSEEK - if (fp->cltbl) { - clst = clmt_clust(fp, fp->fptr); /* Get cluster# from the CLMT */ - } else -#endif - { - clst = get_fat(&fp->obj, fp->clust); /* Follow cluster chain on the FAT */ - } - } - if (clst < 2) ABORT(fs, FR_INT_ERR); - if (clst == 0xFFFFFFFF) ABORT(fs, FR_DISK_ERR); - fp->clust = clst; /* Update current cluster */ - } - sect = clst2sect(fs, fp->clust); /* Get current sector */ - if (sect == 0) ABORT(fs, FR_INT_ERR); - sect += csect; - cc = btr / SS(fs); /* When remaining bytes >= sector size, */ - if (cc > 0) { /* Read maximum contiguous sectors directly */ - if (csect + cc > fs->csize) { /* Clip at cluster boundary */ - cc = fs->csize - csect; - } - if (disk_read(fs->pdrv, rbuff, sect, cc) != RES_OK) ABORT(fs, FR_DISK_ERR); -#if !FF_FS_READONLY && FF_FS_MINIMIZE <= 2 /* Replace one of the read sectors with cached data if it contains a dirty sector */ -#if FF_FS_TINY - if (fs->wflag && fs->winsect - sect < cc) { - mem_cpy(rbuff + ((fs->winsect - sect) * SS(fs)), fs->win, SS(fs)); - } -#else - if ((fp->flag & FA_DIRTY) && fp->sect - sect < cc) { - mem_cpy(rbuff + ((fp->sect - sect) * SS(fs)), fp->buf, SS(fs)); - } -#endif -#endif - rcnt = SS(fs) * cc; /* Number of bytes transferred */ - continue; - } -#if !FF_FS_TINY - if (fp->sect != sect) { /* Load data sector if not in cache */ -#if !FF_FS_READONLY - if (fp->flag & FA_DIRTY) { /* Write-back dirty sector cache */ - if (disk_write(fs->pdrv, fp->buf, fp->sect, 1) != RES_OK) ABORT(fs, FR_DISK_ERR); - fp->flag &= (BYTE)~FA_DIRTY; - } -#endif - if (disk_read(fs->pdrv, fp->buf, sect, 1) != RES_OK) ABORT(fs, FR_DISK_ERR); /* Fill sector cache */ - } -#endif - fp->sect = sect; - } - rcnt = SS(fs) - (UINT)fp->fptr % SS(fs); /* Number of bytes remains in the sector */ - if (rcnt > btr) rcnt = btr; /* Clip it by btr if needed */ -#if FF_FS_TINY - if (move_window(fs, fp->sect) != FR_OK) ABORT(fs, FR_DISK_ERR); /* Move sector window */ - mem_cpy(rbuff, fs->win + fp->fptr % SS(fs), rcnt); /* Extract partial sector */ -#else - mem_cpy(rbuff, fp->buf + fp->fptr % SS(fs), rcnt); /* Extract partial sector */ -#endif - } - - LEAVE_FF(fs, FR_OK); -} - - - - -#if !FF_FS_READONLY -/*-----------------------------------------------------------------------*/ -/* Write File */ -/*-----------------------------------------------------------------------*/ - -FRESULT f_write ( - FIL* fp, /* Pointer to the file object */ - const void* buff, /* Pointer to the data to be written */ - UINT btw, /* Number of bytes to write */ - UINT* bw /* Pointer to number of bytes written */ -) -{ - FRESULT res; - FATFS *fs; - DWORD clst; - LBA_t sect; - UINT wcnt, cc, csect; - const BYTE *wbuff = (const BYTE*)buff; - - - *bw = 0; /* Clear write byte counter */ - res = validate(&fp->obj, &fs); /* Check validity of the file object */ - if (res != FR_OK || (res = (FRESULT)fp->err) != FR_OK) LEAVE_FF(fs, res); /* Check validity */ - if (!(fp->flag & FA_WRITE)) LEAVE_FF(fs, FR_DENIED); /* Check access mode */ - - /* Check fptr wrap-around (file size cannot reach 4 GiB at FAT volume) */ - if ((!FF_FS_EXFAT || fs->fs_type != FS_EXFAT) && (DWORD)(fp->fptr + btw) < (DWORD)fp->fptr) { - btw = (UINT)(0xFFFFFFFF - (DWORD)fp->fptr); - } - - for ( ; btw; /* Repeat until all data written */ - btw -= wcnt, *bw += wcnt, wbuff += wcnt, fp->fptr += wcnt, fp->obj.objsize = (fp->fptr > fp->obj.objsize) ? fp->fptr : fp->obj.objsize) { - if (fp->fptr % SS(fs) == 0) { /* On the sector boundary? */ - csect = (UINT)(fp->fptr / SS(fs)) & (fs->csize - 1); /* Sector offset in the cluster */ - if (csect == 0) { /* On the cluster boundary? */ - if (fp->fptr == 0) { /* On the top of the file? */ - clst = fp->obj.sclust; /* Follow from the origin */ - if (clst == 0) { /* If no cluster is allocated, */ - clst = create_chain(&fp->obj, 0); /* create a new cluster chain */ - } - } else { /* On the middle or end of the file */ -#if FF_USE_FASTSEEK - if (fp->cltbl) { - clst = clmt_clust(fp, fp->fptr); /* Get cluster# from the CLMT */ - } else -#endif - { - clst = create_chain(&fp->obj, fp->clust); /* Follow or stretch cluster chain on the FAT */ - } - } - if (clst == 0) break; /* Could not allocate a new cluster (disk full) */ - if (clst == 1) ABORT(fs, FR_INT_ERR); - if (clst == 0xFFFFFFFF) ABORT(fs, FR_DISK_ERR); - fp->clust = clst; /* Update current cluster */ - if (fp->obj.sclust == 0) fp->obj.sclust = clst; /* Set start cluster if the first write */ - } -#if FF_FS_TINY - if (fs->winsect == fp->sect && sync_window(fs) != FR_OK) ABORT(fs, FR_DISK_ERR); /* Write-back sector cache */ -#else - if (fp->flag & FA_DIRTY) { /* Write-back sector cache */ - if (disk_write(fs->pdrv, fp->buf, fp->sect, 1) != RES_OK) ABORT(fs, FR_DISK_ERR); - fp->flag &= (BYTE)~FA_DIRTY; - } -#endif - sect = clst2sect(fs, fp->clust); /* Get current sector */ - if (sect == 0) ABORT(fs, FR_INT_ERR); - sect += csect; - cc = btw / SS(fs); /* When remaining bytes >= sector size, */ - if (cc > 0) { /* Write maximum contiguous sectors directly */ - if (csect + cc > fs->csize) { /* Clip at cluster boundary */ - cc = fs->csize - csect; - } - if (disk_write(fs->pdrv, wbuff, sect, cc) != RES_OK) ABORT(fs, FR_DISK_ERR); -#if FF_FS_MINIMIZE <= 2 -#if FF_FS_TINY - if (fs->winsect - sect < cc) { /* Refill sector cache if it gets invalidated by the direct write */ - mem_cpy(fs->win, wbuff + ((fs->winsect - sect) * SS(fs)), SS(fs)); - fs->wflag = 0; - } -#else - if (fp->sect - sect < cc) { /* Refill sector cache if it gets invalidated by the direct write */ - mem_cpy(fp->buf, wbuff + ((fp->sect - sect) * SS(fs)), SS(fs)); - fp->flag &= (BYTE)~FA_DIRTY; - } -#endif -#endif - wcnt = SS(fs) * cc; /* Number of bytes transferred */ - continue; - } -#if FF_FS_TINY - if (fp->fptr >= fp->obj.objsize) { /* Avoid silly cache filling on the growing edge */ - if (sync_window(fs) != FR_OK) ABORT(fs, FR_DISK_ERR); - fs->winsect = sect; - } -#else - if (fp->sect != sect && /* Fill sector cache with file data */ - fp->fptr < fp->obj.objsize && - disk_read(fs->pdrv, fp->buf, sect, 1) != RES_OK) { - ABORT(fs, FR_DISK_ERR); - } -#endif - fp->sect = sect; - } - wcnt = SS(fs) - (UINT)fp->fptr % SS(fs); /* Number of bytes remains in the sector */ - if (wcnt > btw) wcnt = btw; /* Clip it by btw if needed */ -#if FF_FS_TINY - if (move_window(fs, fp->sect) != FR_OK) ABORT(fs, FR_DISK_ERR); /* Move sector window */ - mem_cpy(fs->win + fp->fptr % SS(fs), wbuff, wcnt); /* Fit data to the sector */ - fs->wflag = 1; -#else - mem_cpy(fp->buf + fp->fptr % SS(fs), wbuff, wcnt); /* Fit data to the sector */ - fp->flag |= FA_DIRTY; -#endif - } - - fp->flag |= FA_MODIFIED; /* Set file change flag */ - - LEAVE_FF(fs, FR_OK); -} - - - - -/*-----------------------------------------------------------------------*/ -/* Synchronize the File */ -/*-----------------------------------------------------------------------*/ - -FRESULT f_sync ( - FIL* fp /* Pointer to the file object */ -) -{ - FRESULT res; - FATFS *fs; - DWORD tm; - BYTE *dir; - - - res = validate(&fp->obj, &fs); /* Check validity of the file object */ - if (res == FR_OK) { - if (fp->flag & FA_MODIFIED) { /* Is there any change to the file? */ -#if !FF_FS_TINY - if (fp->flag & FA_DIRTY) { /* Write-back cached data if needed */ - if (disk_write(fs->pdrv, fp->buf, fp->sect, 1) != RES_OK) LEAVE_FF(fs, FR_DISK_ERR); - fp->flag &= (BYTE)~FA_DIRTY; - } -#endif - /* Update the directory entry */ - tm = GET_FATTIME(); /* Modified time */ -#if FF_FS_EXFAT - if (fs->fs_type == FS_EXFAT) { - res = fill_first_frag(&fp->obj); /* Fill first fragment on the FAT if needed */ - if (res == FR_OK) { - res = fill_last_frag(&fp->obj, fp->clust, 0xFFFFFFFF); /* Fill last fragment on the FAT if needed */ - } - if (res == FR_OK) { - DIR dj; - DEF_NAMBUF - - INIT_NAMBUF(fs); - res = load_obj_xdir(&dj, &fp->obj); /* Load directory entry block */ - if (res == FR_OK) { - fs->dirbuf[XDIR_Attr] |= AM_ARC; /* Set archive attribute to indicate that the file has been changed */ - fs->dirbuf[XDIR_GenFlags] = fp->obj.stat | 1; /* Update file allocation information */ - st_dword(fs->dirbuf + XDIR_FstClus, fp->obj.sclust); /* Update start cluster */ - st_qword(fs->dirbuf + XDIR_FileSize, fp->obj.objsize); /* Update file size */ - st_qword(fs->dirbuf + XDIR_ValidFileSize, fp->obj.objsize); /* (FatFs does not support Valid File Size feature) */ - st_dword(fs->dirbuf + XDIR_ModTime, tm); /* Update modified time */ - fs->dirbuf[XDIR_ModTime10] = 0; - st_dword(fs->dirbuf + XDIR_AccTime, 0); - res = store_xdir(&dj); /* Restore it to the directory */ - if (res == FR_OK) { - res = sync_fs(fs); - fp->flag &= (BYTE)~FA_MODIFIED; - } - } - FREE_NAMBUF(); - } - } else -#endif - { - res = move_window(fs, fp->dir_sect); - if (res == FR_OK) { - dir = fp->dir_ptr; - dir[DIR_Attr] |= AM_ARC; /* Set archive attribute to indicate that the file has been changed */ - st_clust(fp->obj.fs, dir, fp->obj.sclust); /* Update file allocation information */ - st_dword(dir + DIR_FileSize, (DWORD)fp->obj.objsize); /* Update file size */ - st_dword(dir + DIR_ModTime, tm); /* Update modified time */ - st_word(dir + DIR_LstAccDate, 0); - fs->wflag = 1; - res = sync_fs(fs); /* Restore it to the directory */ - fp->flag &= (BYTE)~FA_MODIFIED; - } - } - } - } - - LEAVE_FF(fs, res); -} - -#endif /* !FF_FS_READONLY */ - - - - -/*-----------------------------------------------------------------------*/ -/* Close File */ -/*-----------------------------------------------------------------------*/ - -FRESULT f_close ( - FIL* fp /* Pointer to the file object to be closed */ -) -{ - FRESULT res; - FATFS *fs; - -#if !FF_FS_READONLY - res = f_sync(fp); /* Flush cached data */ - if (res == FR_OK) -#endif - { - res = validate(&fp->obj, &fs); /* Lock volume */ - if (res == FR_OK) { -#if FF_FS_LOCK != 0 - res = dec_lock(fp->obj.lockid); /* Decrement file open counter */ - if (res == FR_OK) fp->obj.fs = 0; /* Invalidate file object */ -#else - fp->obj.fs = 0; /* Invalidate file object */ -#endif -#if FF_FS_REENTRANT - unlock_fs(fs, FR_OK); /* Unlock volume */ -#endif - } - } - return res; -} - - - - -#if FF_FS_RPATH >= 1 -/*-----------------------------------------------------------------------*/ -/* Change Current Directory or Current Drive, Get Current Directory */ -/*-----------------------------------------------------------------------*/ - -FRESULT f_chdrive ( - const TCHAR* path /* Drive number to set */ -) -{ - int vol; - - - /* Get logical drive number */ - vol = get_ldnumber(&path); - if (vol < 0) return FR_INVALID_DRIVE; - CurrVol = (BYTE)vol; /* Set it as current volume */ - - return FR_OK; -} - - - -FRESULT f_chdir ( - const TCHAR* path /* Pointer to the directory path */ -) -{ -#if FF_STR_VOLUME_ID == 2 - UINT i; -#endif - FRESULT res; - DIR dj; - FATFS *fs; - DEF_NAMBUF - - - /* Get logical drive */ - res = mount_volume(&path, &fs, 0); - if (res == FR_OK) { - dj.obj.fs = fs; - INIT_NAMBUF(fs); - res = follow_path(&dj, path); /* Follow the path */ - if (res == FR_OK) { /* Follow completed */ - if (dj.fn[NSFLAG] & NS_NONAME) { /* Is it the start directory itself? */ - fs->cdir = dj.obj.sclust; -#if FF_FS_EXFAT - if (fs->fs_type == FS_EXFAT) { - fs->cdc_scl = dj.obj.c_scl; - fs->cdc_size = dj.obj.c_size; - fs->cdc_ofs = dj.obj.c_ofs; - } -#endif - } else { - if (dj.obj.attr & AM_DIR) { /* It is a sub-directory */ -#if FF_FS_EXFAT - if (fs->fs_type == FS_EXFAT) { - fs->cdir = ld_dword(fs->dirbuf + XDIR_FstClus); /* Sub-directory cluster */ - fs->cdc_scl = dj.obj.sclust; /* Save containing directory information */ - fs->cdc_size = ((DWORD)dj.obj.objsize & 0xFFFFFF00) | dj.obj.stat; - fs->cdc_ofs = dj.blk_ofs; - } else -#endif - { - fs->cdir = ld_clust(fs, dj.dir); /* Sub-directory cluster */ - } - } else { - res = FR_NO_PATH; /* Reached but a file */ - } - } - } - FREE_NAMBUF(); - if (res == FR_NO_FILE) res = FR_NO_PATH; -#if FF_STR_VOLUME_ID == 2 /* Also current drive is changed at Unix style volume ID */ - if (res == FR_OK) { - for (i = FF_VOLUMES - 1; i && fs != FatFs[i]; i--) ; /* Set current drive */ - CurrVol = (BYTE)i; - } -#endif - } - - LEAVE_FF(fs, res); -} - - -#if FF_FS_RPATH >= 2 -FRESULT f_getcwd ( - TCHAR* buff, /* Pointer to the directory path */ - UINT len /* Size of buff in unit of TCHAR */ -) -{ - FRESULT res; - DIR dj; - FATFS *fs; - UINT i, n; - DWORD ccl; - TCHAR *tp = buff; -#if FF_VOLUMES >= 2 - UINT vl; -#if FF_STR_VOLUME_ID - const char *vp; -#endif -#endif - FILINFO fno; - DEF_NAMBUF - - - /* Get logical drive */ - buff[0] = 0; /* Set null string to get current volume */ - res = mount_volume((const TCHAR**)&buff, &fs, 0); /* Get current volume */ - if (res == FR_OK) { - dj.obj.fs = fs; - INIT_NAMBUF(fs); - - /* Follow parent directories and create the path */ - i = len; /* Bottom of buffer (directory stack base) */ - if (!FF_FS_EXFAT || fs->fs_type != FS_EXFAT) { /* (Cannot do getcwd on exFAT and returns root path) */ - dj.obj.sclust = fs->cdir; /* Start to follow upper directory from current directory */ - while ((ccl = dj.obj.sclust) != 0) { /* Repeat while current directory is a sub-directory */ - res = dir_sdi(&dj, 1 * SZDIRE); /* Get parent directory */ - if (res != FR_OK) break; - res = move_window(fs, dj.sect); - if (res != FR_OK) break; - dj.obj.sclust = ld_clust(fs, dj.dir); /* Goto parent directory */ - res = dir_sdi(&dj, 0); - if (res != FR_OK) break; - do { /* Find the entry links to the child directory */ - res = DIR_READ_FILE(&dj); - if (res != FR_OK) break; - if (ccl == ld_clust(fs, dj.dir)) break; /* Found the entry */ - res = dir_next(&dj, 0); - } while (res == FR_OK); - if (res == FR_NO_FILE) res = FR_INT_ERR;/* It cannot be 'not found'. */ - if (res != FR_OK) break; - get_fileinfo(&dj, &fno); /* Get the directory name and push it to the buffer */ - for (n = 0; fno.fname[n]; n++) ; /* Name length */ - if (i < n + 1) { /* Insufficient space to store the path name? */ - res = FR_NOT_ENOUGH_CORE; break; - } - while (n) buff[--i] = fno.fname[--n]; /* Stack the name */ - buff[--i] = '/'; - } - } - if (res == FR_OK) { - if (i == len) buff[--i] = '/'; /* Is it the root-directory? */ -#if FF_VOLUMES >= 2 /* Put drive prefix */ - vl = 0; -#if FF_STR_VOLUME_ID >= 1 /* String volume ID */ - for (n = 0, vp = (const char*)VolumeStr[CurrVol]; vp[n]; n++) ; - if (i >= n + 2) { - if (FF_STR_VOLUME_ID == 2) *tp++ = (TCHAR)'/'; - for (vl = 0; vl < n; *tp++ = (TCHAR)vp[vl], vl++) ; - if (FF_STR_VOLUME_ID == 1) *tp++ = (TCHAR)':'; - vl++; - } -#else /* Numeric volume ID */ - if (i >= 3) { - *tp++ = (TCHAR)'0' + CurrVol; - *tp++ = (TCHAR)':'; - vl = 2; - } -#endif - if (vl == 0) res = FR_NOT_ENOUGH_CORE; -#endif - /* Add current directory path */ - if (res == FR_OK) { - do *tp++ = buff[i++]; while (i < len); /* Copy stacked path string */ - } - } - FREE_NAMBUF(); - } - - *tp = 0; - LEAVE_FF(fs, res); -} - -#endif /* FF_FS_RPATH >= 2 */ -#endif /* FF_FS_RPATH >= 1 */ - - - -#if FF_FS_MINIMIZE <= 2 -/*-----------------------------------------------------------------------*/ -/* Seek File Read/Write Pointer */ -/*-----------------------------------------------------------------------*/ - -FRESULT f_lseek ( - FIL* fp, /* Pointer to the file object */ - FSIZE_t ofs /* File pointer from top of file */ -) -{ - FRESULT res; - FATFS *fs; - DWORD clst, bcs; - LBA_t nsect; - FSIZE_t ifptr; -#if FF_USE_FASTSEEK - DWORD cl, pcl, ncl, tcl, tlen, ulen, *tbl; - LBA_t dsc; -#endif - - res = validate(&fp->obj, &fs); /* Check validity of the file object */ - if (res == FR_OK) res = (FRESULT)fp->err; -#if FF_FS_EXFAT && !FF_FS_READONLY - if (res == FR_OK && fs->fs_type == FS_EXFAT) { - res = fill_last_frag(&fp->obj, fp->clust, 0xFFFFFFFF); /* Fill last fragment on the FAT if needed */ - } -#endif - if (res != FR_OK) LEAVE_FF(fs, res); - -#if FF_USE_FASTSEEK - if (fp->cltbl) { /* Fast seek */ - if (ofs == CREATE_LINKMAP) { /* Create CLMT */ - tbl = fp->cltbl; - tlen = *tbl++; ulen = 2; /* Given table size and required table size */ - cl = fp->obj.sclust; /* Origin of the chain */ - if (cl != 0) { - do { - /* Get a fragment */ - tcl = cl; ncl = 0; ulen += 2; /* Top, length and used items */ - do { - pcl = cl; ncl++; - cl = get_fat(&fp->obj, cl); - if (cl <= 1) ABORT(fs, FR_INT_ERR); - if (cl == 0xFFFFFFFF) ABORT(fs, FR_DISK_ERR); - } while (cl == pcl + 1); - if (ulen <= tlen) { /* Store the length and top of the fragment */ - *tbl++ = ncl; *tbl++ = tcl; - } - } while (cl < fs->n_fatent); /* Repeat until end of chain */ - } - *fp->cltbl = ulen; /* Number of items used */ - if (ulen <= tlen) { - *tbl = 0; /* Terminate table */ - } else { - res = FR_NOT_ENOUGH_CORE; /* Given table size is smaller than required */ - } - } else { /* Fast seek */ - if (ofs > fp->obj.objsize) ofs = fp->obj.objsize; /* Clip offset at the file size */ - fp->fptr = ofs; /* Set file pointer */ - if (ofs > 0) { - fp->clust = clmt_clust(fp, ofs - 1); - dsc = clst2sect(fs, fp->clust); - if (dsc == 0) ABORT(fs, FR_INT_ERR); - dsc += (DWORD)((ofs - 1) / SS(fs)) & (fs->csize - 1); - if (fp->fptr % SS(fs) && dsc != fp->sect) { /* Refill sector cache if needed */ -#if !FF_FS_TINY -#if !FF_FS_READONLY - if (fp->flag & FA_DIRTY) { /* Write-back dirty sector cache */ - if (disk_write(fs->pdrv, fp->buf, fp->sect, 1) != RES_OK) ABORT(fs, FR_DISK_ERR); - fp->flag &= (BYTE)~FA_DIRTY; - } -#endif - if (disk_read(fs->pdrv, fp->buf, dsc, 1) != RES_OK) ABORT(fs, FR_DISK_ERR); /* Load current sector */ -#endif - fp->sect = dsc; - } - } - } - } else -#endif - - /* Normal Seek */ - { -#if FF_FS_EXFAT - if (fs->fs_type != FS_EXFAT && ofs >= 0x100000000) ofs = 0xFFFFFFFF; /* Clip at 4 GiB - 1 if at FATxx */ -#endif - if (ofs > fp->obj.objsize && (FF_FS_READONLY || !(fp->flag & FA_WRITE))) { /* In read-only mode, clip offset with the file size */ - ofs = fp->obj.objsize; - } - ifptr = fp->fptr; - fp->fptr = nsect = 0; - if (ofs > 0) { - bcs = (DWORD)fs->csize * SS(fs); /* Cluster size (byte) */ - if (ifptr > 0 && - (ofs - 1) / bcs >= (ifptr - 1) / bcs) { /* When seek to same or following cluster, */ - fp->fptr = (ifptr - 1) & ~(FSIZE_t)(bcs - 1); /* start from the current cluster */ - ofs -= fp->fptr; - clst = fp->clust; - } else { /* When seek to back cluster, */ - clst = fp->obj.sclust; /* start from the first cluster */ -#if !FF_FS_READONLY - if (clst == 0) { /* If no cluster chain, create a new chain */ - clst = create_chain(&fp->obj, 0); - if (clst == 1) ABORT(fs, FR_INT_ERR); - if (clst == 0xFFFFFFFF) ABORT(fs, FR_DISK_ERR); - fp->obj.sclust = clst; - } -#endif - fp->clust = clst; - } - if (clst != 0) { - while (ofs > bcs) { /* Cluster following loop */ - ofs -= bcs; fp->fptr += bcs; -#if !FF_FS_READONLY - if (fp->flag & FA_WRITE) { /* Check if in write mode or not */ - if (FF_FS_EXFAT && fp->fptr > fp->obj.objsize) { /* No FAT chain object needs correct objsize to generate FAT value */ - fp->obj.objsize = fp->fptr; - fp->flag |= FA_MODIFIED; - } - clst = create_chain(&fp->obj, clst); /* Follow chain with forceed stretch */ - if (clst == 0) { /* Clip file size in case of disk full */ - ofs = 0; break; - } - } else -#endif - { - clst = get_fat(&fp->obj, clst); /* Follow cluster chain if not in write mode */ - } - if (clst == 0xFFFFFFFF) ABORT(fs, FR_DISK_ERR); - if (clst <= 1 || clst >= fs->n_fatent) ABORT(fs, FR_INT_ERR); - fp->clust = clst; - } - fp->fptr += ofs; - if (ofs % SS(fs)) { - nsect = clst2sect(fs, clst); /* Current sector */ - if (nsect == 0) ABORT(fs, FR_INT_ERR); - nsect += (DWORD)(ofs / SS(fs)); - } - } - } - if (!FF_FS_READONLY && fp->fptr > fp->obj.objsize) { /* Set file change flag if the file size is extended */ - fp->obj.objsize = fp->fptr; - fp->flag |= FA_MODIFIED; - } - if (fp->fptr % SS(fs) && nsect != fp->sect) { /* Fill sector cache if needed */ -#if !FF_FS_TINY -#if !FF_FS_READONLY - if (fp->flag & FA_DIRTY) { /* Write-back dirty sector cache */ - if (disk_write(fs->pdrv, fp->buf, fp->sect, 1) != RES_OK) ABORT(fs, FR_DISK_ERR); - fp->flag &= (BYTE)~FA_DIRTY; - } -#endif - if (disk_read(fs->pdrv, fp->buf, nsect, 1) != RES_OK) ABORT(fs, FR_DISK_ERR); /* Fill sector cache */ -#endif - fp->sect = nsect; - } - } - - LEAVE_FF(fs, res); -} - - - -#if FF_FS_MINIMIZE <= 1 -/*-----------------------------------------------------------------------*/ -/* Create a Directory Object */ -/*-----------------------------------------------------------------------*/ - -FRESULT f_opendir ( - DIR* dp, /* Pointer to directory object to create */ - const TCHAR* path /* Pointer to the directory path */ -) -{ - FRESULT res; - FATFS *fs; - DEF_NAMBUF - - - if (!dp) return FR_INVALID_OBJECT; - - /* Get logical drive */ - res = mount_volume(&path, &fs, 0); - if (res == FR_OK) { - dp->obj.fs = fs; - INIT_NAMBUF(fs); - res = follow_path(dp, path); /* Follow the path to the directory */ - if (res == FR_OK) { /* Follow completed */ - if (!(dp->fn[NSFLAG] & NS_NONAME)) { /* It is not the origin directory itself */ - if (dp->obj.attr & AM_DIR) { /* This object is a sub-directory */ -#if FF_FS_EXFAT - if (fs->fs_type == FS_EXFAT) { - dp->obj.c_scl = dp->obj.sclust; /* Get containing directory inforamation */ - dp->obj.c_size = ((DWORD)dp->obj.objsize & 0xFFFFFF00) | dp->obj.stat; - dp->obj.c_ofs = dp->blk_ofs; - init_alloc_info(fs, &dp->obj); /* Get object allocation info */ - } else -#endif - { - dp->obj.sclust = ld_clust(fs, dp->dir); /* Get object allocation info */ - } - } else { /* This object is a file */ - res = FR_NO_PATH; - } - } - if (res == FR_OK) { - dp->obj.id = fs->id; - res = dir_sdi(dp, 0); /* Rewind directory */ -#if FF_FS_LOCK != 0 - if (res == FR_OK) { - if (dp->obj.sclust != 0) { - dp->obj.lockid = inc_lock(dp, 0); /* Lock the sub directory */ - if (!dp->obj.lockid) res = FR_TOO_MANY_OPEN_FILES; - } else { - dp->obj.lockid = 0; /* Root directory need not to be locked */ - } - } -#endif - } - } - FREE_NAMBUF(); - if (res == FR_NO_FILE) res = FR_NO_PATH; - } - if (res != FR_OK) dp->obj.fs = 0; /* Invalidate the directory object if function faild */ - - LEAVE_FF(fs, res); -} - - - - -/*-----------------------------------------------------------------------*/ -/* Close Directory */ -/*-----------------------------------------------------------------------*/ - -FRESULT f_closedir ( - DIR *dp /* Pointer to the directory object to be closed */ -) -{ - FRESULT res; - FATFS *fs; - - - res = validate(&dp->obj, &fs); /* Check validity of the file object */ - if (res == FR_OK) { -#if FF_FS_LOCK != 0 - if (dp->obj.lockid) res = dec_lock(dp->obj.lockid); /* Decrement sub-directory open counter */ - if (res == FR_OK) dp->obj.fs = 0; /* Invalidate directory object */ -#else - dp->obj.fs = 0; /* Invalidate directory object */ -#endif -#if FF_FS_REENTRANT - unlock_fs(fs, FR_OK); /* Unlock volume */ -#endif - } - return res; -} - - - - -/*-----------------------------------------------------------------------*/ -/* Read Directory Entries in Sequence */ -/*-----------------------------------------------------------------------*/ - -FRESULT f_readdir ( - DIR* dp, /* Pointer to the open directory object */ - FILINFO* fno /* Pointer to file information to return */ -) -{ - FRESULT res; - FATFS *fs; - DEF_NAMBUF - - - res = validate(&dp->obj, &fs); /* Check validity of the directory object */ - if (res == FR_OK) { - if (!fno) { - res = dir_sdi(dp, 0); /* Rewind the directory object */ - } else { - INIT_NAMBUF(fs); - res = DIR_READ_FILE(dp); /* Read an item */ - if (res == FR_NO_FILE) res = FR_OK; /* Ignore end of directory */ - if (res == FR_OK) { /* A valid entry is found */ - get_fileinfo(dp, fno); /* Get the object information */ - res = dir_next(dp, 0); /* Increment index for next */ - if (res == FR_NO_FILE) res = FR_OK; /* Ignore end of directory now */ - } - FREE_NAMBUF(); - } - } - LEAVE_FF(fs, res); -} - - - -#if FF_USE_FIND -/*-----------------------------------------------------------------------*/ -/* Find Next File */ -/*-----------------------------------------------------------------------*/ - -FRESULT f_findnext ( - DIR* dp, /* Pointer to the open directory object */ - FILINFO* fno /* Pointer to the file information structure */ -) -{ - FRESULT res; - - - for (;;) { - res = f_readdir(dp, fno); /* Get a directory item */ - if (res != FR_OK || !fno || !fno->fname[0]) break; /* Terminate if any error or end of directory */ - if (pattern_matching(dp->pat, fno->fname, 0, 0)) break; /* Test for the file name */ -#if FF_USE_LFN && FF_USE_FIND == 2 - if (pattern_matching(dp->pat, fno->altname, 0, 0)) break; /* Test for alternative name if exist */ -#endif - } - return res; -} - - - -/*-----------------------------------------------------------------------*/ -/* Find First File */ -/*-----------------------------------------------------------------------*/ - -FRESULT f_findfirst ( - DIR* dp, /* Pointer to the blank directory object */ - FILINFO* fno, /* Pointer to the file information structure */ - const TCHAR* path, /* Pointer to the directory to open */ - const TCHAR* pattern /* Pointer to the matching pattern */ -) -{ - FRESULT res; - - - dp->pat = pattern; /* Save pointer to pattern string */ - res = f_opendir(dp, path); /* Open the target directory */ - if (res == FR_OK) { - res = f_findnext(dp, fno); /* Find the first item */ - } - return res; -} - -#endif /* FF_USE_FIND */ - - - -#if FF_FS_MINIMIZE == 0 -/*-----------------------------------------------------------------------*/ -/* Get File Status */ -/*-----------------------------------------------------------------------*/ - -FRESULT f_stat ( - const TCHAR* path, /* Pointer to the file path */ - FILINFO* fno /* Pointer to file information to return */ -) -{ - FRESULT res; - DIR dj; - DEF_NAMBUF - - - /* Get logical drive */ - res = mount_volume(&path, &dj.obj.fs, 0); - if (res == FR_OK) { - INIT_NAMBUF(dj.obj.fs); - res = follow_path(&dj, path); /* Follow the file path */ - if (res == FR_OK) { /* Follow completed */ - if (dj.fn[NSFLAG] & NS_NONAME) { /* It is origin directory */ - res = FR_INVALID_NAME; - } else { /* Found an object */ - if (fno) get_fileinfo(&dj, fno); - } - } - FREE_NAMBUF(); - } - - LEAVE_FF(dj.obj.fs, res); -} - - - -#if !FF_FS_READONLY -/*-----------------------------------------------------------------------*/ -/* Get Number of Free Clusters */ -/*-----------------------------------------------------------------------*/ - -FRESULT f_getfree ( - const TCHAR* path, /* Logical drive number */ - DWORD* nclst, /* Pointer to a variable to return number of free clusters */ - FATFS** fatfs /* Pointer to return pointer to corresponding filesystem object */ -) -{ - FRESULT res; - FATFS *fs; - DWORD nfree, clst, stat; - LBA_t sect; - UINT i; - FFOBJID obj; - - - /* Get logical drive */ - res = mount_volume(&path, &fs, 0); - if (res == FR_OK) { - *fatfs = fs; /* Return ptr to the fs object */ - /* If free_clst is valid, return it without full FAT scan */ - if (fs->free_clst <= fs->n_fatent - 2) { - *nclst = fs->free_clst; - } else { - /* Scan FAT to obtain number of free clusters */ - nfree = 0; - if (fs->fs_type == FS_FAT12) { /* FAT12: Scan bit field FAT entries */ - clst = 2; obj.fs = fs; - do { - stat = get_fat(&obj, clst); - if (stat == 0xFFFFFFFF) { res = FR_DISK_ERR; break; } - if (stat == 1) { res = FR_INT_ERR; break; } - if (stat == 0) nfree++; - } while (++clst < fs->n_fatent); - } else { -#if FF_FS_EXFAT - if (fs->fs_type == FS_EXFAT) { /* exFAT: Scan allocation bitmap */ - BYTE bm; - UINT b; - - clst = fs->n_fatent - 2; /* Number of clusters */ - sect = fs->bitbase; /* Bitmap sector */ - i = 0; /* Offset in the sector */ - do { /* Counts numbuer of bits with zero in the bitmap */ - if (i == 0) { - res = move_window(fs, sect++); - if (res != FR_OK) break; - } - for (b = 8, bm = fs->win[i]; b && clst; b--, clst--) { - if (!(bm & 1)) nfree++; - bm >>= 1; - } - i = (i + 1) % SS(fs); - } while (clst); - } else -#endif - { /* FAT16/32: Scan WORD/DWORD FAT entries */ - clst = fs->n_fatent; /* Number of entries */ - sect = fs->fatbase; /* Top of the FAT */ - i = 0; /* Offset in the sector */ - do { /* Counts numbuer of entries with zero in the FAT */ - if (i == 0) { - res = move_window(fs, sect++); - if (res != FR_OK) break; - } - if (fs->fs_type == FS_FAT16) { - if (ld_word(fs->win + i) == 0) nfree++; - i += 2; - } else { - if ((ld_dword(fs->win + i) & 0x0FFFFFFF) == 0) nfree++; - i += 4; - } - i %= SS(fs); - } while (--clst); - } - } - *nclst = nfree; /* Return the free clusters */ - fs->free_clst = nfree; /* Now free_clst is valid */ - fs->fsi_flag |= 1; /* FAT32: FSInfo is to be updated */ - } - } - - LEAVE_FF(fs, res); -} - - - - -/*-----------------------------------------------------------------------*/ -/* Truncate File */ -/*-----------------------------------------------------------------------*/ - -FRESULT f_truncate ( - FIL* fp /* Pointer to the file object */ -) -{ - FRESULT res; - FATFS *fs; - DWORD ncl; - - - res = validate(&fp->obj, &fs); /* Check validity of the file object */ - if (res != FR_OK || (res = (FRESULT)fp->err) != FR_OK) LEAVE_FF(fs, res); - if (!(fp->flag & FA_WRITE)) LEAVE_FF(fs, FR_DENIED); /* Check access mode */ - - if (fp->fptr < fp->obj.objsize) { /* Process when fptr is not on the eof */ - if (fp->fptr == 0) { /* When set file size to zero, remove entire cluster chain */ - res = remove_chain(&fp->obj, fp->obj.sclust, 0); - fp->obj.sclust = 0; - } else { /* When truncate a part of the file, remove remaining clusters */ - ncl = get_fat(&fp->obj, fp->clust); - res = FR_OK; - if (ncl == 0xFFFFFFFF) res = FR_DISK_ERR; - if (ncl == 1) res = FR_INT_ERR; - if (res == FR_OK && ncl < fs->n_fatent) { - res = remove_chain(&fp->obj, ncl, fp->clust); - } - } - fp->obj.objsize = fp->fptr; /* Set file size to current read/write point */ - fp->flag |= FA_MODIFIED; -#if !FF_FS_TINY - if (res == FR_OK && (fp->flag & FA_DIRTY)) { - if (disk_write(fs->pdrv, fp->buf, fp->sect, 1) != RES_OK) { - res = FR_DISK_ERR; - } else { - fp->flag &= (BYTE)~FA_DIRTY; - } - } -#endif - if (res != FR_OK) ABORT(fs, res); - } - - LEAVE_FF(fs, res); -} - - - - -/*-----------------------------------------------------------------------*/ -/* Delete a File/Directory */ -/*-----------------------------------------------------------------------*/ - -FRESULT f_unlink ( - const TCHAR* path /* Pointer to the file or directory path */ -) -{ - FRESULT res; - DIR dj, sdj; - DWORD dclst = 0; - FATFS *fs; -#if FF_FS_EXFAT - FFOBJID obj; -#endif - DEF_NAMBUF - - - /* Get logical drive */ - res = mount_volume(&path, &fs, FA_WRITE); - if (res == FR_OK) { - dj.obj.fs = fs; - INIT_NAMBUF(fs); - res = follow_path(&dj, path); /* Follow the file path */ - if (FF_FS_RPATH && res == FR_OK && (dj.fn[NSFLAG] & NS_DOT)) { - res = FR_INVALID_NAME; /* Cannot remove dot entry */ - } -#if FF_FS_LOCK != 0 - if (res == FR_OK) res = chk_lock(&dj, 2); /* Check if it is an open object */ -#endif - if (res == FR_OK) { /* The object is accessible */ - if (dj.fn[NSFLAG] & NS_NONAME) { - res = FR_INVALID_NAME; /* Cannot remove the origin directory */ - } else { - if (dj.obj.attr & AM_RDO) { - res = FR_DENIED; /* Cannot remove R/O object */ - } - } - if (res == FR_OK) { -#if FF_FS_EXFAT - obj.fs = fs; - if (fs->fs_type == FS_EXFAT) { - init_alloc_info(fs, &obj); - dclst = obj.sclust; - } else -#endif - { - dclst = ld_clust(fs, dj.dir); - } - if (dj.obj.attr & AM_DIR) { /* Is it a sub-directory? */ -#if FF_FS_RPATH != 0 - if (dclst == fs->cdir) { /* Is it the current directory? */ - res = FR_DENIED; - } else -#endif - { - sdj.obj.fs = fs; /* Open the sub-directory */ - sdj.obj.sclust = dclst; -#if FF_FS_EXFAT - if (fs->fs_type == FS_EXFAT) { - sdj.obj.objsize = obj.objsize; - sdj.obj.stat = obj.stat; - } -#endif - res = dir_sdi(&sdj, 0); - if (res == FR_OK) { - res = DIR_READ_FILE(&sdj); /* Test if the directory is empty */ - if (res == FR_OK) res = FR_DENIED; /* Not empty? */ - if (res == FR_NO_FILE) res = FR_OK; /* Empty? */ - } - } - } - } - if (res == FR_OK) { - res = dir_remove(&dj); /* Remove the directory entry */ - if (res == FR_OK && dclst != 0) { /* Remove the cluster chain if exist */ -#if FF_FS_EXFAT - res = remove_chain(&obj, dclst, 0); -#else - res = remove_chain(&dj.obj, dclst, 0); -#endif - } - if (res == FR_OK) res = sync_fs(fs); - } - } - FREE_NAMBUF(); - } - - LEAVE_FF(fs, res); -} - - - - -/*-----------------------------------------------------------------------*/ -/* Create a Directory */ -/*-----------------------------------------------------------------------*/ - -FRESULT f_mkdir ( - const TCHAR* path /* Pointer to the directory path */ -) -{ - FRESULT res; - DIR dj; - FFOBJID sobj; - FATFS *fs; - DWORD dcl, pcl, tm; - DEF_NAMBUF - - - res = mount_volume(&path, &fs, FA_WRITE); /* Get logical drive */ - if (res == FR_OK) { - dj.obj.fs = fs; - INIT_NAMBUF(fs); - res = follow_path(&dj, path); /* Follow the file path */ - if (res == FR_OK) res = FR_EXIST; /* Name collision? */ - if (FF_FS_RPATH && res == FR_NO_FILE && (dj.fn[NSFLAG] & NS_DOT)) { /* Invalid name? */ - res = FR_INVALID_NAME; - } - if (res == FR_NO_FILE) { /* It is clear to create a new directory */ - sobj.fs = fs; /* New object id to create a new chain */ - dcl = create_chain(&sobj, 0); /* Allocate a cluster for the new directory */ - res = FR_OK; - if (dcl == 0) res = FR_DENIED; /* No space to allocate a new cluster? */ - if (dcl == 1) res = FR_INT_ERR; /* Any insanity? */ - if (dcl == 0xFFFFFFFF) res = FR_DISK_ERR; /* Disk error? */ - tm = GET_FATTIME(); - if (res == FR_OK) { - res = dir_clear(fs, dcl); /* Clean up the new table */ - if (res == FR_OK) { - if (!FF_FS_EXFAT || fs->fs_type != FS_EXFAT) { /* Create dot entries (FAT only) */ - mem_set(fs->win + DIR_Name, ' ', 11); /* Create "." entry */ - fs->win[DIR_Name] = '.'; - fs->win[DIR_Attr] = AM_DIR; - st_dword(fs->win + DIR_ModTime, tm); - st_clust(fs, fs->win, dcl); - mem_cpy(fs->win + SZDIRE, fs->win, SZDIRE); /* Create ".." entry */ - fs->win[SZDIRE + 1] = '.'; pcl = dj.obj.sclust; - st_clust(fs, fs->win + SZDIRE, pcl); - fs->wflag = 1; - } - res = dir_register(&dj); /* Register the object to the parent directoy */ - } - } - if (res == FR_OK) { -#if FF_FS_EXFAT - if (fs->fs_type == FS_EXFAT) { /* Initialize directory entry block */ - st_dword(fs->dirbuf + XDIR_ModTime, tm); /* Created time */ - st_dword(fs->dirbuf + XDIR_FstClus, dcl); /* Table start cluster */ - st_dword(fs->dirbuf + XDIR_FileSize, (DWORD)fs->csize * SS(fs)); /* Directory size needs to be valid */ - st_dword(fs->dirbuf + XDIR_ValidFileSize, (DWORD)fs->csize * SS(fs)); - fs->dirbuf[XDIR_GenFlags] = 3; /* Initialize the object flag */ - fs->dirbuf[XDIR_Attr] = AM_DIR; /* Attribute */ - res = store_xdir(&dj); - } else -#endif - { - st_dword(dj.dir + DIR_ModTime, tm); /* Created time */ - st_clust(fs, dj.dir, dcl); /* Table start cluster */ - dj.dir[DIR_Attr] = AM_DIR; /* Attribute */ - fs->wflag = 1; - } - if (res == FR_OK) { - res = sync_fs(fs); - } - } else { - remove_chain(&sobj, dcl, 0); /* Could not register, remove the allocated cluster */ - } - } - FREE_NAMBUF(); - } - - LEAVE_FF(fs, res); -} - - - - -/*-----------------------------------------------------------------------*/ -/* Rename a File/Directory */ -/*-----------------------------------------------------------------------*/ - -FRESULT f_rename ( - const TCHAR* path_old, /* Pointer to the object name to be renamed */ - const TCHAR* path_new /* Pointer to the new name */ -) -{ - FRESULT res; - DIR djo, djn; - FATFS *fs; - BYTE buf[FF_FS_EXFAT ? SZDIRE * 2 : SZDIRE], *dir; - LBA_t sect; - DEF_NAMBUF - - - get_ldnumber(&path_new); /* Snip the drive number of new name off */ - res = mount_volume(&path_old, &fs, FA_WRITE); /* Get logical drive of the old object */ - if (res == FR_OK) { - djo.obj.fs = fs; - INIT_NAMBUF(fs); - res = follow_path(&djo, path_old); /* Check old object */ - if (res == FR_OK && (djo.fn[NSFLAG] & (NS_DOT | NS_NONAME))) res = FR_INVALID_NAME; /* Check validity of name */ -#if FF_FS_LOCK != 0 - if (res == FR_OK) { - res = chk_lock(&djo, 2); - } -#endif - if (res == FR_OK) { /* Object to be renamed is found */ -#if FF_FS_EXFAT - if (fs->fs_type == FS_EXFAT) { /* At exFAT volume */ - BYTE nf, nn; - WORD nh; - - mem_cpy(buf, fs->dirbuf, SZDIRE * 2); /* Save 85+C0 entry of old object */ - mem_cpy(&djn, &djo, sizeof djo); - res = follow_path(&djn, path_new); /* Make sure if new object name is not in use */ - if (res == FR_OK) { /* Is new name already in use by any other object? */ - res = (djn.obj.sclust == djo.obj.sclust && djn.dptr == djo.dptr) ? FR_NO_FILE : FR_EXIST; - } - if (res == FR_NO_FILE) { /* It is a valid path and no name collision */ - res = dir_register(&djn); /* Register the new entry */ - if (res == FR_OK) { - nf = fs->dirbuf[XDIR_NumSec]; nn = fs->dirbuf[XDIR_NumName]; - nh = ld_word(fs->dirbuf + XDIR_NameHash); - mem_cpy(fs->dirbuf, buf, SZDIRE * 2); /* Restore 85+C0 entry */ - fs->dirbuf[XDIR_NumSec] = nf; fs->dirbuf[XDIR_NumName] = nn; - st_word(fs->dirbuf + XDIR_NameHash, nh); - if (!(fs->dirbuf[XDIR_Attr] & AM_DIR)) fs->dirbuf[XDIR_Attr] |= AM_ARC; /* Set archive attribute if it is a file */ -/* Start of critical section where an interruption can cause a cross-link */ - res = store_xdir(&djn); - } - } - } else -#endif - { /* At FAT/FAT32 volume */ - mem_cpy(buf, djo.dir, SZDIRE); /* Save directory entry of the object */ - mem_cpy(&djn, &djo, sizeof (DIR)); /* Duplicate the directory object */ - res = follow_path(&djn, path_new); /* Make sure if new object name is not in use */ - if (res == FR_OK) { /* Is new name already in use by any other object? */ - res = (djn.obj.sclust == djo.obj.sclust && djn.dptr == djo.dptr) ? FR_NO_FILE : FR_EXIST; - } - if (res == FR_NO_FILE) { /* It is a valid path and no name collision */ - res = dir_register(&djn); /* Register the new entry */ - if (res == FR_OK) { - dir = djn.dir; /* Copy directory entry of the object except name */ - mem_cpy(dir + 13, buf + 13, SZDIRE - 13); - dir[DIR_Attr] = buf[DIR_Attr]; - if (!(dir[DIR_Attr] & AM_DIR)) dir[DIR_Attr] |= AM_ARC; /* Set archive attribute if it is a file */ - fs->wflag = 1; - if ((dir[DIR_Attr] & AM_DIR) && djo.obj.sclust != djn.obj.sclust) { /* Update .. entry in the sub-directory if needed */ - sect = clst2sect(fs, ld_clust(fs, dir)); - if (sect == 0) { - res = FR_INT_ERR; - } else { -/* Start of critical section where an interruption can cause a cross-link */ - res = move_window(fs, sect); - dir = fs->win + SZDIRE * 1; /* Ptr to .. entry */ - if (res == FR_OK && dir[1] == '.') { - st_clust(fs, dir, djn.obj.sclust); - fs->wflag = 1; - } - } - } - } - } - } - if (res == FR_OK) { - res = dir_remove(&djo); /* Remove old entry */ - if (res == FR_OK) { - res = sync_fs(fs); - } - } -/* End of the critical section */ - } - FREE_NAMBUF(); - } - - LEAVE_FF(fs, res); -} - -#endif /* !FF_FS_READONLY */ -#endif /* FF_FS_MINIMIZE == 0 */ -#endif /* FF_FS_MINIMIZE <= 1 */ -#endif /* FF_FS_MINIMIZE <= 2 */ - - - -#if FF_USE_CHMOD && !FF_FS_READONLY -/*-----------------------------------------------------------------------*/ -/* Change Attribute */ -/*-----------------------------------------------------------------------*/ - -FRESULT f_chmod ( - const TCHAR* path, /* Pointer to the file path */ - BYTE attr, /* Attribute bits */ - BYTE mask /* Attribute mask to change */ -) -{ - FRESULT res; - DIR dj; - FATFS *fs; - DEF_NAMBUF - - - res = mount_volume(&path, &fs, FA_WRITE); /* Get logical drive */ - if (res == FR_OK) { - dj.obj.fs = fs; - INIT_NAMBUF(fs); - res = follow_path(&dj, path); /* Follow the file path */ - if (res == FR_OK && (dj.fn[NSFLAG] & (NS_DOT | NS_NONAME))) res = FR_INVALID_NAME; /* Check object validity */ - if (res == FR_OK) { - mask &= AM_RDO|AM_HID|AM_SYS|AM_ARC; /* Valid attribute mask */ -#if FF_FS_EXFAT - if (fs->fs_type == FS_EXFAT) { - fs->dirbuf[XDIR_Attr] = (attr & mask) | (fs->dirbuf[XDIR_Attr] & (BYTE)~mask); /* Apply attribute change */ - res = store_xdir(&dj); - } else -#endif - { - dj.dir[DIR_Attr] = (attr & mask) | (dj.dir[DIR_Attr] & (BYTE)~mask); /* Apply attribute change */ - fs->wflag = 1; - } - if (res == FR_OK) { - res = sync_fs(fs); - } - } - FREE_NAMBUF(); - } - - LEAVE_FF(fs, res); -} - - - - -/*-----------------------------------------------------------------------*/ -/* Change Timestamp */ -/*-----------------------------------------------------------------------*/ - -FRESULT f_utime ( - const TCHAR* path, /* Pointer to the file/directory name */ - const FILINFO* fno /* Pointer to the timestamp to be set */ -) -{ - FRESULT res; - DIR dj; - FATFS *fs; - DEF_NAMBUF - - - res = mount_volume(&path, &fs, FA_WRITE); /* Get logical drive */ - if (res == FR_OK) { - dj.obj.fs = fs; - INIT_NAMBUF(fs); - res = follow_path(&dj, path); /* Follow the file path */ - if (res == FR_OK && (dj.fn[NSFLAG] & (NS_DOT | NS_NONAME))) res = FR_INVALID_NAME; /* Check object validity */ - if (res == FR_OK) { -#if FF_FS_EXFAT - if (fs->fs_type == FS_EXFAT) { - st_dword(fs->dirbuf + XDIR_ModTime, (DWORD)fno->fdate << 16 | fno->ftime); - res = store_xdir(&dj); - } else -#endif - { - st_dword(dj.dir + DIR_ModTime, (DWORD)fno->fdate << 16 | fno->ftime); - fs->wflag = 1; - } - if (res == FR_OK) { - res = sync_fs(fs); - } - } - FREE_NAMBUF(); - } - - LEAVE_FF(fs, res); -} - -#endif /* FF_USE_CHMOD && !FF_FS_READONLY */ - - - -#if FF_USE_LABEL -/*-----------------------------------------------------------------------*/ -/* Get Volume Label */ -/*-----------------------------------------------------------------------*/ - -FRESULT f_getlabel ( - const TCHAR* path, /* Logical drive number */ - TCHAR* label, /* Buffer to store the volume label */ - DWORD* vsn /* Variable to store the volume serial number */ -) -{ - FRESULT res; - DIR dj; - FATFS *fs; - UINT si, di; - WCHAR wc; - - /* Get logical drive */ - res = mount_volume(&path, &fs, 0); - - /* Get volume label */ - if (res == FR_OK && label) { - dj.obj.fs = fs; dj.obj.sclust = 0; /* Open root directory */ - res = dir_sdi(&dj, 0); - if (res == FR_OK) { - res = DIR_READ_LABEL(&dj); /* Find a volume label entry */ - if (res == FR_OK) { -#if FF_FS_EXFAT - if (fs->fs_type == FS_EXFAT) { - WCHAR hs; - - for (si = di = hs = 0; si < dj.dir[XDIR_NumLabel]; si++) { /* Extract volume label from 83 entry */ - wc = ld_word(dj.dir + XDIR_Label + si * 2); - if (hs == 0 && IsSurrogate(wc)) { /* Is the code a surrogate? */ - hs = wc; continue; - } - wc = put_utf((DWORD)hs << 16 | wc, &label[di], 4); - if (wc == 0) { di = 0; break; } - di += wc; - hs = 0; - } - if (hs != 0) di = 0; /* Broken surrogate pair? */ - label[di] = 0; - } else -#endif - { - si = di = 0; /* Extract volume label from AM_VOL entry */ - while (si < 11) { - wc = dj.dir[si++]; -#if FF_USE_LFN && FF_LFN_UNICODE >= 1 /* Unicode output */ - if (dbc_1st((BYTE)wc) && si < 11) wc = wc << 8 | dj.dir[si++]; /* Is it a DBC? */ - wc = ff_oem2uni(wc, CODEPAGE); /* Convert it into Unicode */ - if (wc != 0) wc = put_utf(wc, &label[di], 4); /* Put it in Unicode */ - if (wc == 0) { di = 0; break; } - di += wc; -#else /* ANSI/OEM output */ - label[di++] = (TCHAR)wc; -#endif - } - do { /* Truncate trailing spaces */ - label[di] = 0; - if (di == 0) break; - } while (label[--di] == ' '); - } - } - } - if (res == FR_NO_FILE) { /* No label entry and return nul string */ - label[0] = 0; - res = FR_OK; - } - } - - /* Get volume serial number */ - if (res == FR_OK && vsn) { - res = move_window(fs, fs->volbase); - if (res == FR_OK) { - switch (fs->fs_type) { - case FS_EXFAT: - di = BPB_VolIDEx; break; - - case FS_FAT32: - di = BS_VolID32; break; - - default: - di = BS_VolID; - } - *vsn = ld_dword(fs->win + di); - } - } - - LEAVE_FF(fs, res); -} - - - -#if !FF_FS_READONLY -/*-----------------------------------------------------------------------*/ -/* Set Volume Label */ -/*-----------------------------------------------------------------------*/ - -FRESULT f_setlabel ( - const TCHAR* label /* Volume label to set with heading logical drive number */ -) -{ - FRESULT res; - DIR dj; - FATFS *fs; - BYTE dirvn[22]; - UINT di; - WCHAR wc; - static const char badchr[] = "+.,;=[]/\\\"*:<>\?|\x7F"; /* [0..] for FAT, [7..] for exFAT */ -#if FF_USE_LFN - DWORD dc; -#endif - - /* Get logical drive */ - res = mount_volume(&label, &fs, FA_WRITE); - if (res != FR_OK) LEAVE_FF(fs, res); - -#if FF_FS_EXFAT - if (fs->fs_type == FS_EXFAT) { /* On the exFAT volume */ - mem_set(dirvn, 0, 22); - di = 0; - while ((UINT)*label >= ' ') { /* Create volume label */ - dc = tchar2uni(&label); /* Get a Unicode character */ - if (dc >= 0x10000) { - if (dc == 0xFFFFFFFF || di >= 10) { /* Wrong surrogate or buffer overflow */ - dc = 0; - } else { - st_word(dirvn + di * 2, (WCHAR)(dc >> 16)); di++; - } - } - if (dc == 0 || chk_chr(badchr + 7, (int)dc) || di >= 11) { /* Check validity of the volume label */ - LEAVE_FF(fs, FR_INVALID_NAME); - } - st_word(dirvn + di * 2, (WCHAR)dc); di++; - } - } else -#endif - { /* On the FAT/FAT32 volume */ - mem_set(dirvn, ' ', 11); - di = 0; - while ((UINT)*label >= ' ') { /* Create volume label */ -#if FF_USE_LFN - dc = tchar2uni(&label); - wc = (dc < 0x10000) ? ff_uni2oem(ff_wtoupper(dc), CODEPAGE) : 0; -#else /* ANSI/OEM input */ - wc = (BYTE)*label++; - if (dbc_1st((BYTE)wc)) wc = dbc_2nd((BYTE)*label) ? wc << 8 | (BYTE)*label++ : 0; - if (IsLower(wc)) wc -= 0x20; /* To upper ASCII characters */ -#if FF_CODE_PAGE == 0 - if (ExCvt && wc >= 0x80) wc = ExCvt[wc - 0x80]; /* To upper extended characters (SBCS cfg) */ -#elif FF_CODE_PAGE < 900 - if (wc >= 0x80) wc = ExCvt[wc - 0x80]; /* To upper extended characters (SBCS cfg) */ -#endif -#endif - if (wc == 0 || chk_chr(badchr + 0, (int)wc) || di >= (UINT)((wc >= 0x100) ? 10 : 11)) { /* Reject invalid characters for volume label */ - LEAVE_FF(fs, FR_INVALID_NAME); - } - if (wc >= 0x100) dirvn[di++] = (BYTE)(wc >> 8); - dirvn[di++] = (BYTE)wc; - } - if (dirvn[0] == DDEM) LEAVE_FF(fs, FR_INVALID_NAME); /* Reject illegal name (heading DDEM) */ - while (di && dirvn[di - 1] == ' ') di--; /* Snip trailing spaces */ - } - - /* Set volume label */ - dj.obj.fs = fs; dj.obj.sclust = 0; /* Open root directory */ - res = dir_sdi(&dj, 0); - if (res == FR_OK) { - res = DIR_READ_LABEL(&dj); /* Get volume label entry */ - if (res == FR_OK) { - if (FF_FS_EXFAT && fs->fs_type == FS_EXFAT) { - dj.dir[XDIR_NumLabel] = (BYTE)di; /* Change the volume label */ - mem_cpy(dj.dir + XDIR_Label, dirvn, 22); - } else { - if (di != 0) { - mem_cpy(dj.dir, dirvn, 11); /* Change the volume label */ - } else { - dj.dir[DIR_Name] = DDEM; /* Remove the volume label */ - } - } - fs->wflag = 1; - res = sync_fs(fs); - } else { /* No volume label entry or an error */ - if (res == FR_NO_FILE) { - res = FR_OK; - if (di != 0) { /* Create a volume label entry */ - res = dir_alloc(&dj, 1); /* Allocate an entry */ - if (res == FR_OK) { - mem_set(dj.dir, 0, SZDIRE); /* Clean the entry */ - if (FF_FS_EXFAT && fs->fs_type == FS_EXFAT) { - dj.dir[XDIR_Type] = ET_VLABEL; /* Create volume label entry */ - dj.dir[XDIR_NumLabel] = (BYTE)di; - mem_cpy(dj.dir + XDIR_Label, dirvn, 22); - } else { - dj.dir[DIR_Attr] = AM_VOL; /* Create volume label entry */ - mem_cpy(dj.dir, dirvn, 11); - } - fs->wflag = 1; - res = sync_fs(fs); - } - } - } - } - } - - LEAVE_FF(fs, res); -} - -#endif /* !FF_FS_READONLY */ -#endif /* FF_USE_LABEL */ - - - -#if FF_USE_EXPAND && !FF_FS_READONLY -/*-----------------------------------------------------------------------*/ -/* Allocate a Contiguous Blocks to the File */ -/*-----------------------------------------------------------------------*/ - -FRESULT f_expand ( - FIL* fp, /* Pointer to the file object */ - FSIZE_t fsz, /* File size to be expanded to */ - BYTE opt /* Operation mode 0:Find and prepare or 1:Find and allocate */ -) -{ - FRESULT res; - FATFS *fs; - DWORD n, clst, stcl, scl, ncl, tcl, lclst; - - - res = validate(&fp->obj, &fs); /* Check validity of the file object */ - if (res != FR_OK || (res = (FRESULT)fp->err) != FR_OK) LEAVE_FF(fs, res); - if (fsz == 0 || fp->obj.objsize != 0 || !(fp->flag & FA_WRITE)) LEAVE_FF(fs, FR_DENIED); -#if FF_FS_EXFAT - if (fs->fs_type != FS_EXFAT && fsz >= 0x100000000) LEAVE_FF(fs, FR_DENIED); /* Check if in size limit */ -#endif - n = (DWORD)fs->csize * SS(fs); /* Cluster size */ - tcl = (DWORD)(fsz / n) + ((fsz & (n - 1)) ? 1 : 0); /* Number of clusters required */ - stcl = fs->last_clst; lclst = 0; - if (stcl < 2 || stcl >= fs->n_fatent) stcl = 2; - -#if FF_FS_EXFAT - if (fs->fs_type == FS_EXFAT) { - scl = find_bitmap(fs, stcl, tcl); /* Find a contiguous cluster block */ - if (scl == 0) res = FR_DENIED; /* No contiguous cluster block was found */ - if (scl == 0xFFFFFFFF) res = FR_DISK_ERR; - if (res == FR_OK) { /* A contiguous free area is found */ - if (opt) { /* Allocate it now */ - res = change_bitmap(fs, scl, tcl, 1); /* Mark the cluster block 'in use' */ - lclst = scl + tcl - 1; - } else { /* Set it as suggested point for next allocation */ - lclst = scl - 1; - } - } - } else -#endif - { - scl = clst = stcl; ncl = 0; - for (;;) { /* Find a contiguous cluster block */ - n = get_fat(&fp->obj, clst); - if (++clst >= fs->n_fatent) clst = 2; - if (n == 1) { res = FR_INT_ERR; break; } - if (n == 0xFFFFFFFF) { res = FR_DISK_ERR; break; } - if (n == 0) { /* Is it a free cluster? */ - if (++ncl == tcl) break; /* Break if a contiguous cluster block is found */ - } else { - scl = clst; ncl = 0; /* Not a free cluster */ - } - if (clst == stcl) { res = FR_DENIED; break; } /* No contiguous cluster? */ - } - if (res == FR_OK) { /* A contiguous free area is found */ - if (opt) { /* Allocate it now */ - for (clst = scl, n = tcl; n; clst++, n--) { /* Create a cluster chain on the FAT */ - res = put_fat(fs, clst, (n == 1) ? 0xFFFFFFFF : clst + 1); - if (res != FR_OK) break; - lclst = clst; - } - } else { /* Set it as suggested point for next allocation */ - lclst = scl - 1; - } - } - } - - if (res == FR_OK) { - fs->last_clst = lclst; /* Set suggested start cluster to start next */ - if (opt) { /* Is it allocated now? */ - fp->obj.sclust = scl; /* Update object allocation information */ - fp->obj.objsize = fsz; - if (FF_FS_EXFAT) fp->obj.stat = 2; /* Set status 'contiguous chain' */ - fp->flag |= FA_MODIFIED; - if (fs->free_clst <= fs->n_fatent - 2) { /* Update FSINFO */ - fs->free_clst -= tcl; - fs->fsi_flag |= 1; - } - } - } - - LEAVE_FF(fs, res); -} - -#endif /* FF_USE_EXPAND && !FF_FS_READONLY */ - - - -#if FF_USE_FORWARD -/*-----------------------------------------------------------------------*/ -/* Forward Data to the Stream Directly */ -/*-----------------------------------------------------------------------*/ - -FRESULT f_forward ( - FIL* fp, /* Pointer to the file object */ - UINT (*func)(const BYTE*,UINT), /* Pointer to the streaming function */ - UINT btf, /* Number of bytes to forward */ - UINT* bf /* Pointer to number of bytes forwarded */ -) -{ - FRESULT res; - FATFS *fs; - DWORD clst; - LBA_t sect; - FSIZE_t remain; - UINT rcnt, csect; - BYTE *dbuf; - - - *bf = 0; /* Clear transfer byte counter */ - res = validate(&fp->obj, &fs); /* Check validity of the file object */ - if (res != FR_OK || (res = (FRESULT)fp->err) != FR_OK) LEAVE_FF(fs, res); - if (!(fp->flag & FA_READ)) LEAVE_FF(fs, FR_DENIED); /* Check access mode */ - - remain = fp->obj.objsize - fp->fptr; - if (btf > remain) btf = (UINT)remain; /* Truncate btf by remaining bytes */ - - for ( ; btf && (*func)(0, 0); /* Repeat until all data transferred or stream goes busy */ - fp->fptr += rcnt, *bf += rcnt, btf -= rcnt) { - csect = (UINT)(fp->fptr / SS(fs) & (fs->csize - 1)); /* Sector offset in the cluster */ - if (fp->fptr % SS(fs) == 0) { /* On the sector boundary? */ - if (csect == 0) { /* On the cluster boundary? */ - clst = (fp->fptr == 0) ? /* On the top of the file? */ - fp->obj.sclust : get_fat(&fp->obj, fp->clust); - if (clst <= 1) ABORT(fs, FR_INT_ERR); - if (clst == 0xFFFFFFFF) ABORT(fs, FR_DISK_ERR); - fp->clust = clst; /* Update current cluster */ - } - } - sect = clst2sect(fs, fp->clust); /* Get current data sector */ - if (sect == 0) ABORT(fs, FR_INT_ERR); - sect += csect; -#if FF_FS_TINY - if (move_window(fs, sect) != FR_OK) ABORT(fs, FR_DISK_ERR); /* Move sector window to the file data */ - dbuf = fs->win; -#else - if (fp->sect != sect) { /* Fill sector cache with file data */ -#if !FF_FS_READONLY - if (fp->flag & FA_DIRTY) { /* Write-back dirty sector cache */ - if (disk_write(fs->pdrv, fp->buf, fp->sect, 1) != RES_OK) ABORT(fs, FR_DISK_ERR); - fp->flag &= (BYTE)~FA_DIRTY; - } -#endif - if (disk_read(fs->pdrv, fp->buf, sect, 1) != RES_OK) ABORT(fs, FR_DISK_ERR); - } - dbuf = fp->buf; -#endif - fp->sect = sect; - rcnt = SS(fs) - (UINT)fp->fptr % SS(fs); /* Number of bytes remains in the sector */ - if (rcnt > btf) rcnt = btf; /* Clip it by btr if needed */ - rcnt = (*func)(dbuf + ((UINT)fp->fptr % SS(fs)), rcnt); /* Forward the file data */ - if (rcnt == 0) ABORT(fs, FR_INT_ERR); - } - - LEAVE_FF(fs, FR_OK); -} -#endif /* FF_USE_FORWARD */ - - - -#if !FF_FS_READONLY && FF_USE_MKFS -/*-----------------------------------------------------------------------*/ -/* Create an FAT/exFAT volume */ -/*-----------------------------------------------------------------------*/ - -#define N_SEC_TRACK 63 /* Sectors per track for determination of drive CHS */ -#define GPT_ALIGN 0x100000 /* Alignment of partitions in GPT [byte] (>=128KB) */ -#define GPT_ITEMS 128 /* Number of GPT table size (>=128, sector aligned) */ - - -/* Create partitions on the physical drive */ - -static FRESULT create_partition ( - BYTE drv, /* Physical drive number */ - const LBA_t plst[], /* Partition list */ - UINT sys, /* System ID (for only MBR, temp setting) and bit8:GPT */ - BYTE* buf /* Working buffer for a sector */ -) -{ - UINT i, cy; - LBA_t sz_drv; - DWORD sz_drv32, s_lba32, n_lba32; - BYTE *pte, hd, n_hd, sc, n_sc; - - /* Get drive size */ - if (disk_ioctl(drv, GET_SECTOR_COUNT, &sz_drv) != RES_OK) return FR_DISK_ERR; - -#if FF_LBA64 - if (sz_drv >= FF_MIN_GPT) { /* Create partitions in GPT */ - WORD ss; - UINT sz_pt, pi, si, ofs; - DWORD bcc, rnd, align; - QWORD s_lba64, n_lba64, sz_pool, s_bpt; - static const BYTE gpt_mbr[16] = {0x00, 0x00, 0x02, 0x00, 0xEE, 0xFE, 0xFF, 0x00, 0x01, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF}; - -#if FF_MAX_SS != FF_MIN_SS - if (disk_ioctl(drv, GET_SECTOR_SIZE, &ss) != RES_OK) return FR_DISK_ERR; /* Get sector size */ - if (ss > FF_MAX_SS || ss < FF_MIN_SS || (ss & (ss - 1))) return FR_DISK_ERR; -#else - ss = FF_MAX_SS; -#endif - rnd = GET_FATTIME(); /* Random seed */ - align = GPT_ALIGN / ss; /* Partition alignment [sector] */ - sz_pt = GPT_ITEMS * SZ_GPTE / ss; /* Size of PT [sector] */ - s_bpt = sz_drv - sz_pt - 1; /* Backup PT start sector */ - s_lba64 = 2 + sz_pt; /* First allocatable sector */ - sz_pool = s_bpt - s_lba64; /* Size of allocatable area */ - bcc = 0xFFFFFFFF; n_lba64 = 1; - pi = si = 0; /* partition table index, size table index */ - do { - if (pi * SZ_GPTE % ss == 0) mem_set(buf, 0, ss); /* Clean the buffer if needed */ - if (n_lba64 != 0) { /* Is the size table not termintated? */ - s_lba64 = (s_lba64 + align - 1) & ((QWORD)0 - align); /* Align partition start */ - n_lba64 = plst[si++]; /* Get a partition size */ - if (n_lba64 <= 100) { /* Is the size in percentage? */ - n_lba64 = sz_pool * n_lba64 / 100; - n_lba64 = (n_lba64 + align - 1) & ((QWORD)0 - align); /* Align partition end (only if in percentage) */ - } - if (s_lba64 + n_lba64 > s_bpt) { /* Clip at end of the pool */ - n_lba64 = (s_lba64 < s_bpt) ? s_bpt - s_lba64 : 0; - } - } - if (n_lba64 != 0) { /* Add a partition? */ - ofs = pi * SZ_GPTE % ss; - mem_cpy(buf + ofs + GPTE_PtGuid, GUID_MS_Basic, 16); /* Partition GUID (Microsoft Basic Data) */ - rnd = make_rand(rnd, buf + ofs + GPTE_UpGuid, 16); /* Unique partition GUID */ - st_qword(buf + ofs + GPTE_FstLba, s_lba64); /* Partition start LBA */ - st_qword(buf + ofs + GPTE_LstLba, s_lba64 + n_lba64 - 1); /* Partition end LBA */ - s_lba64 += n_lba64; /* Next partition LBA */ - } - if ((pi + 1) * SZ_GPTE % ss == 0) { /* Write the buffer if it is filled up */ - for (i = 0; i < ss; bcc = crc32(bcc, buf[i++])) ; /* Calculate table check sum */ - if (disk_write(drv, buf, 2 + pi * SZ_GPTE / ss, 1) != RES_OK) return FR_DISK_ERR; /* Primary table */ - if (disk_write(drv, buf, s_bpt + pi * SZ_GPTE / ss, 1) != RES_OK) return FR_DISK_ERR; /* Secondary table */ - } - } while (++pi < GPT_ITEMS); - - /* Create primary GPT header */ - mem_set(buf, 0, ss); - mem_cpy(buf + GPTH_Sign, "EFI PART" "\0\0\1\0" "\x5C\0\0", 16); /* Signature, version (1.0) and size (92) */ - st_dword(buf + GPTH_PtBcc, ~bcc); /* Table check sum */ - st_qword(buf + GPTH_CurLba, 1); /* LBA of this header */ - st_qword(buf + GPTH_BakLba, sz_drv - 1); /* LBA of another header */ - st_qword(buf + GPTH_FstLba, 2 + sz_pt); /* LBA of first allocatable sector */ - st_qword(buf + GPTH_LstLba, s_bpt - 1); /* LBA of last allocatable sector */ - st_dword(buf + GPTH_PteSize, SZ_GPTE); /* Size of a table entry */ - st_dword(buf + GPTH_PtNum, GPT_ITEMS); /* Number of table entries */ - st_dword(buf + GPTH_PtOfs, 2); /* LBA of this table */ - rnd = make_rand(rnd, buf + GPTH_DskGuid, 16); /* Disk GUID */ - for (i = 0, bcc= 0xFFFFFFFF; i < 92; bcc = crc32(bcc, buf[i++])) ; /* Calculate header check sum */ - st_dword(buf + GPTH_Bcc, ~bcc); /* Header check sum */ - if (disk_write(drv, buf, 1, 1) != RES_OK) return FR_DISK_ERR; - - /* Create secondary GPT header */ - st_qword(buf + GPTH_CurLba, sz_drv - 1); /* LBA of this header */ - st_qword(buf + GPTH_BakLba, 1); /* LBA of another header */ - st_qword(buf + GPTH_PtOfs, s_bpt); /* LBA of this table */ - st_dword(buf + GPTH_Bcc, 0); - for (i = 0, bcc= 0xFFFFFFFF; i < 92; bcc = crc32(bcc, buf[i++])) ; /* Calculate header check sum */ - st_dword(buf + GPTH_Bcc, ~bcc); /* Header check sum */ - if (disk_write(drv, buf, sz_drv - 1, 1) != RES_OK) return FR_DISK_ERR; - - /* Create protective MBR */ - mem_set(buf, 0, ss); - mem_cpy(buf + MBR_Table, gpt_mbr, 16); /* Create a GPT partition */ - st_word(buf + BS_55AA, 0xAA55); - if (disk_write(drv, buf, 0, 1) != RES_OK) return FR_DISK_ERR; - - } else -#endif - { /* Create partitions in MBR */ - sz_drv32 = (DWORD)sz_drv; - n_sc = N_SEC_TRACK; /* Determine drive CHS without any consideration of the drive geometry */ - for (n_hd = 8; n_hd != 0 && sz_drv32 / n_hd / n_sc > 1024; n_hd *= 2) ; - if (n_hd == 0) n_hd = 255; /* Number of heads needs to be <256 */ - - mem_set(buf, 0, FF_MAX_SS); /* Clear MBR */ - pte = buf + MBR_Table; /* Partition table in the MBR */ - for (i = 0, s_lba32 = n_sc; i < 4 && s_lba32 != 0 && s_lba32 < sz_drv32; i++, s_lba32 += n_lba32) { - n_lba32 = (DWORD)plst[i]; /* Get partition size */ - if (n_lba32 <= 100) n_lba32 = (n_lba32 == 100) ? sz_drv32 : sz_drv32 / 100 * n_lba32; /* Size in percentage? */ - if (s_lba32 + n_lba32 > sz_drv32 || s_lba32 + n_lba32 < s_lba32) n_lba32 = sz_drv32 - s_lba32; /* Clip at drive size */ - if (n_lba32 == 0) break; /* End of table or no sector to allocate? */ - - st_dword(pte + PTE_StLba, s_lba32); /* Start LBA */ - st_dword(pte + PTE_SizLba, n_lba32); /* Number of sectors */ - pte[PTE_System] = (BYTE)sys; /* System type */ - - cy = (UINT)(s_lba32 / n_sc / n_hd); /* Start cylinder */ - hd = (BYTE)(s_lba32 / n_sc % n_hd); /* Start head */ - sc = (BYTE)(s_lba32 % n_sc + 1); /* Start sector */ - pte[PTE_StHead] = hd; - pte[PTE_StSec] = (BYTE)((cy >> 2 & 0xC0) | sc); - pte[PTE_StCyl] = (BYTE)cy; - - cy = (UINT)((s_lba32 + n_lba32 - 1) / n_sc / n_hd); /* End cylinder */ - hd = (BYTE)((s_lba32 + n_lba32 - 1) / n_sc % n_hd); /* End head */ - sc = (BYTE)((s_lba32 + n_lba32 - 1) % n_sc + 1); /* End sector */ - pte[PTE_EdHead] = hd; - pte[PTE_EdSec] = (BYTE)((cy >> 2 & 0xC0) | sc); - pte[PTE_EdCyl] = (BYTE)cy; - - pte += SZ_PTE; /* Next entry */ - } - - st_word(buf + BS_55AA, 0xAA55); /* MBR signature */ - if (disk_write(drv, buf, 0, 1) != RES_OK) return FR_DISK_ERR; /* Write it to the MBR */ - } - - return FR_OK; -} - - - -FRESULT f_mkfs ( - const TCHAR* path, /* Logical drive number */ - const MKFS_PARM* opt, /* Format options */ - void* work, /* Pointer to working buffer (null: use heap memory) */ - UINT len /* Size of working buffer [byte] */ -) -{ - static const WORD cst[] = {1, 4, 16, 64, 256, 512, 0}; /* Cluster size boundary for FAT volume (4Ks unit) */ - static const WORD cst32[] = {1, 2, 4, 8, 16, 32, 0}; /* Cluster size boundary for FAT32 volume (128Ks unit) */ - static const MKFS_PARM defopt = {FM_ANY, 0, 0, 0, 0}; /* Default parameter */ - BYTE fsopt, fsty, sys, *buf, *pte, pdrv, ipart; - WORD ss; /* Sector size */ - DWORD sz_buf, sz_blk, n_clst, pau, nsect, n; - LBA_t sz_vol, b_vol, b_fat, b_data; /* Size of volume, Base LBA of volume, fat, data */ - LBA_t sect, lba[2]; - DWORD sz_rsv, sz_fat, sz_dir, sz_au; /* Size of reserved, fat, dir, data, cluster */ - UINT n_fat, n_root, i; /* Index, Number of FATs and Number of roor dir entries */ - int vol; - DSTATUS ds; - FRESULT fr; - - - /* Check mounted drive and clear work area */ - vol = get_ldnumber(&path); /* Get target logical drive */ - if (vol < 0) return FR_INVALID_DRIVE; - if (FatFs[vol]) FatFs[vol]->fs_type = 0; /* Clear the fs object if mounted */ - pdrv = LD2PD(vol); /* Physical drive */ - ipart = LD2PT(vol); /* Partition (0:create as new, 1..:get from partition table) */ - if (!opt) opt = &defopt; /* Use default parameter if it is not given */ - - /* Get physical drive status (sz_drv, sz_blk, ss) */ - ds = disk_initialize(pdrv); - if (ds & STA_NOINIT) return FR_NOT_READY; - if (ds & STA_PROTECT) return FR_WRITE_PROTECTED; - sz_blk = opt->align; - if (sz_blk == 0 && disk_ioctl(pdrv, GET_BLOCK_SIZE, &sz_blk) != RES_OK) sz_blk = 1; - if (sz_blk == 0 || sz_blk > 0x8000 || (sz_blk & (sz_blk - 1))) sz_blk = 1; -#if FF_MAX_SS != FF_MIN_SS - if (disk_ioctl(pdrv, GET_SECTOR_SIZE, &ss) != RES_OK) return FR_DISK_ERR; - if (ss > FF_MAX_SS || ss < FF_MIN_SS || (ss & (ss - 1))) return FR_DISK_ERR; -#else - ss = FF_MAX_SS; -#endif - /* Options for FAT sub-type and FAT parameters */ - fsopt = opt->fmt & (FM_ANY | FM_SFD); - n_fat = (opt->n_fat >= 1 && opt->n_fat <= 2) ? opt->n_fat : 1; - n_root = (opt->n_root >= 1 && opt->n_root <= 32768 && (opt->n_root % (ss / SZDIRE)) == 0) ? opt->n_root : 512; - sz_au = (opt->au_size <= 0x1000000 && (opt->au_size & (opt->au_size - 1)) == 0) ? opt->au_size : 0; - sz_au /= ss; /* Byte --> Sector */ - - /* Get working buffer */ - sz_buf = len / ss; /* Size of working buffer [sector] */ - if (sz_buf == 0) return FR_NOT_ENOUGH_CORE; - buf = (BYTE*)work; /* Working buffer */ -#if FF_USE_LFN == 3 - if (!buf) buf = ff_memalloc(sz_buf * ss); /* Use heap memory for working buffer */ -#endif - if (!buf) return FR_NOT_ENOUGH_CORE; - - /* Determine where the volume to be located (b_vol, sz_vol) */ - b_vol = sz_vol = 0; - if (FF_MULTI_PARTITION && ipart != 0) { /* Is the volume associated with any specific partition? */ - /* Get partition location from the existing partition table */ - if (disk_read(pdrv, buf, 0, 1) != RES_OK) LEAVE_MKFS(FR_DISK_ERR); /* Load MBR */ - if (ld_word(buf + BS_55AA) != 0xAA55) LEAVE_MKFS(FR_MKFS_ABORTED); /* Check if MBR is valid */ -#if FF_LBA64 - if (buf[MBR_Table + PTE_System] == 0xEE) { /* GPT protective MBR? */ - DWORD n_ent, ofs; - QWORD pt_lba; - - /* Get the partition location from GPT */ - if (disk_read(pdrv, buf, 1, 1) != RES_OK) LEAVE_MKFS(FR_DISK_ERR); /* Load GPT header sector (next to MBR) */ - if (!test_gpt_header(buf)) LEAVE_MKFS(FR_MKFS_ABORTED); /* Check if GPT header is valid */ - n_ent = ld_dword(buf + GPTH_PtNum); /* Number of entries */ - pt_lba = ld_qword(buf + GPTH_PtOfs); /* Table start sector */ - ofs = i = 0; - while (n_ent) { /* Find MS Basic partition with order of ipart */ - if (ofs == 0 && disk_read(pdrv, buf, pt_lba++, 1) != RES_OK) LEAVE_MKFS(FR_DISK_ERR); /* Get PT sector */ - if (!mem_cmp(buf + ofs + GPTE_PtGuid, GUID_MS_Basic, 16) && ++i == ipart) { /* MS basic data partition? */ - b_vol = ld_qword(buf + ofs + GPTE_FstLba); - sz_vol = ld_qword(buf + ofs + GPTE_LstLba) - b_vol + 1; - break; - } - n_ent--; ofs = (ofs + SZ_GPTE) % ss; /* Next entry */ - } - if (n_ent == 0) LEAVE_MKFS(FR_MKFS_ABORTED); /* Partition not found */ - fsopt |= 0x80; /* Partitioning is in GPT */ - } else -#endif - { /* Get the partition location from MBR partition table */ - pte = buf + (MBR_Table + (ipart - 1) * SZ_PTE); - if (ipart > 4 || pte[PTE_System] == 0) LEAVE_MKFS(FR_MKFS_ABORTED); /* No partition? */ - b_vol = ld_dword(pte + PTE_StLba); /* Get volume start sector */ - sz_vol = ld_dword(pte + PTE_SizLba); /* Get volume size */ - } - } else { /* The volume is associated with a physical drive */ - if (disk_ioctl(pdrv, GET_SECTOR_COUNT, &sz_vol) != RES_OK) LEAVE_MKFS(FR_DISK_ERR); - if (!(fsopt & FM_SFD)) { /* To be partitioned? */ - /* Create a single-partition on the drive in this function */ -#if FF_LBA64 - if (sz_vol >= FF_MIN_GPT) { /* Which partition type to create, MBR or GPT? */ - fsopt |= 0x80; /* Partitioning is in GPT */ - b_vol = GPT_ALIGN / ss; sz_vol -= b_vol + GPT_ITEMS * SZ_GPTE / ss + 1; /* Estimated partition offset and size */ - } else -#endif - { /* Partitioning is in MBR */ - if (sz_vol > N_SEC_TRACK) { - b_vol = N_SEC_TRACK; sz_vol -= b_vol; /* Estimated partition offset and size */ - } - } - } - } - if (sz_vol < 128) LEAVE_MKFS(FR_MKFS_ABORTED); /* Check if volume size is >=128s */ - - /* Now start to create a FAT volume at b_vol and sz_vol */ - - do { /* Pre-determine the FAT type */ - if (FF_FS_EXFAT && (fsopt & FM_EXFAT)) { /* exFAT possible? */ - if ((fsopt & FM_ANY) == FM_EXFAT || sz_vol >= 0x4000000 || sz_au > 128) { /* exFAT only, vol >= 64MS or sz_au > 128S ? */ - fsty = FS_EXFAT; break; - } - } -#if FF_LBA64 - if (sz_vol >= 0x100000000) LEAVE_MKFS(FR_MKFS_ABORTED); /* Too large volume for FAT/FAT32 */ -#endif - if (sz_au > 128) sz_au = 128; /* Invalid AU for FAT/FAT32? */ - if (fsopt & FM_FAT32) { /* FAT32 possible? */ - if (!(fsopt & FM_FAT)) { /* no-FAT? */ - fsty = FS_FAT32; break; - } - } - if (!(fsopt & FM_FAT)) LEAVE_MKFS(FR_INVALID_PARAMETER); /* no-FAT? */ - fsty = FS_FAT16; - } while (0); - -#if FF_FS_EXFAT - if (fsty == FS_EXFAT) { /* Create an exFAT volume */ - DWORD szb_bit, szb_case, sum, nb, cl, tbl[3]; - WCHAR ch, si; - UINT j, st; - BYTE b; - - if (sz_vol < 0x1000) LEAVE_MKFS(FR_MKFS_ABORTED); /* Too small volume for exFAT? */ -#if FF_USE_TRIM - lba[0] = b_vol; lba[1] = b_vol + sz_vol - 1; /* Inform storage device that the volume area may be erased */ - disk_ioctl(pdrv, CTRL_TRIM, lba); -#endif - /* Determine FAT location, data location and number of clusters */ - if (sz_au == 0) { /* AU auto-selection */ - sz_au = 8; - if (sz_vol >= 0x80000) sz_au = 64; /* >= 512Ks */ - if (sz_vol >= 0x4000000) sz_au = 256; /* >= 64Ms */ - } - b_fat = b_vol + 32; /* FAT start at offset 32 */ - sz_fat = (DWORD)((sz_vol / sz_au + 2) * 4 + ss - 1) / ss; /* Number of FAT sectors */ - b_data = (b_fat + sz_fat + sz_blk - 1) & ~((LBA_t)sz_blk - 1); /* Align data area to the erase block boundary */ - if (b_data - b_vol >= sz_vol / 2) LEAVE_MKFS(FR_MKFS_ABORTED); /* Too small volume? */ - n_clst = (DWORD)(sz_vol - (b_data - b_vol)) / sz_au; /* Number of clusters */ - if (n_clst <16) LEAVE_MKFS(FR_MKFS_ABORTED); /* Too few clusters? */ - if (n_clst > MAX_EXFAT) LEAVE_MKFS(FR_MKFS_ABORTED); /* Too many clusters? */ - - szb_bit = (n_clst + 7) / 8; /* Size of allocation bitmap */ - tbl[0] = (szb_bit + sz_au * ss - 1) / (sz_au * ss); /* Number of allocation bitmap clusters */ - - /* Create a compressed up-case table */ - sect = b_data + sz_au * tbl[0]; /* Table start sector */ - sum = 0; /* Table checksum to be stored in the 82 entry */ - st = 0; si = 0; i = 0; j = 0; szb_case = 0; - do { - switch (st) { - case 0: - ch = (WCHAR)ff_wtoupper(si); /* Get an up-case char */ - if (ch != si) { - si++; break; /* Store the up-case char if exist */ - } - for (j = 1; (WCHAR)(si + j) && (WCHAR)(si + j) == ff_wtoupper((WCHAR)(si + j)); j++) ; /* Get run length of no-case block */ - if (j >= 128) { - ch = 0xFFFF; st = 2; break; /* Compress the no-case block if run is >= 128 */ - } - st = 1; /* Do not compress short run */ - /* go to next case */ - case 1: - ch = si++; /* Fill the short run */ - if (--j == 0) st = 0; - break; - - default: - ch = (WCHAR)j; si += (WCHAR)j; /* Number of chars to skip */ - st = 0; - } - sum = xsum32(buf[i + 0] = (BYTE)ch, sum); /* Put it into the write buffer */ - sum = xsum32(buf[i + 1] = (BYTE)(ch >> 8), sum); - i += 2; szb_case += 2; - if (si == 0 || i == sz_buf * ss) { /* Write buffered data when buffer full or end of process */ - n = (i + ss - 1) / ss; - if (disk_write(pdrv, buf, sect, n) != RES_OK) LEAVE_MKFS(FR_DISK_ERR); - sect += n; i = 0; - } - } while (si); - tbl[1] = (szb_case + sz_au * ss - 1) / (sz_au * ss); /* Number of up-case table clusters */ - tbl[2] = 1; /* Number of root dir clusters */ - - /* Initialize the allocation bitmap */ - sect = b_data; nsect = (szb_bit + ss - 1) / ss; /* Start of bitmap and number of sectors */ - nb = tbl[0] + tbl[1] + tbl[2]; /* Number of clusters in-use by system */ - do { - mem_set(buf, 0, sz_buf * ss); - for (i = 0; nb >= 8 && i < sz_buf * ss; buf[i++] = 0xFF, nb -= 8) ; - for (b = 1; nb != 0 && i < sz_buf * ss; buf[i] |= b, b <<= 1, nb--) ; - n = (nsect > sz_buf) ? sz_buf : nsect; /* Write the buffered data */ - if (disk_write(pdrv, buf, sect, n) != RES_OK) LEAVE_MKFS(FR_DISK_ERR); - sect += n; nsect -= n; - } while (nsect); - - /* Initialize the FAT */ - sect = b_fat; nsect = sz_fat; /* Start of FAT and number of FAT sectors */ - j = nb = cl = 0; - do { - mem_set(buf, 0, sz_buf * ss); i = 0; /* Clear work area and reset write index */ - if (cl == 0) { /* Set FAT [0] and FAT[1] */ - st_dword(buf + i, 0xFFFFFFF8); i += 4; cl++; - st_dword(buf + i, 0xFFFFFFFF); i += 4; cl++; - } - do { /* Create chains of bitmap, up-case and root dir */ - while (nb != 0 && i < sz_buf * ss) { /* Create a chain */ - st_dword(buf + i, (nb > 1) ? cl + 1 : 0xFFFFFFFF); - i += 4; cl++; nb--; - } - if (nb == 0 && j < 3) nb = tbl[j++]; /* Next chain */ - } while (nb != 0 && i < sz_buf * ss); - n = (nsect > sz_buf) ? sz_buf : nsect; /* Write the buffered data */ - if (disk_write(pdrv, buf, sect, n) != RES_OK) LEAVE_MKFS(FR_DISK_ERR); - sect += n; nsect -= n; - } while (nsect); - - /* Initialize the root directory */ - mem_set(buf, 0, sz_buf * ss); - buf[SZDIRE * 0 + 0] = ET_VLABEL; /* Volume label entry (no label) */ - buf[SZDIRE * 1 + 0] = ET_BITMAP; /* Bitmap entry */ - st_dword(buf + SZDIRE * 1 + 20, 2); /* cluster */ - st_dword(buf + SZDIRE * 1 + 24, szb_bit); /* size */ - buf[SZDIRE * 2 + 0] = ET_UPCASE; /* Up-case table entry */ - st_dword(buf + SZDIRE * 2 + 4, sum); /* sum */ - st_dword(buf + SZDIRE * 2 + 20, 2 + tbl[0]); /* cluster */ - st_dword(buf + SZDIRE * 2 + 24, szb_case); /* size */ - sect = b_data + sz_au * (tbl[0] + tbl[1]); nsect = sz_au; /* Start of the root directory and number of sectors */ - do { /* Fill root directory sectors */ - n = (nsect > sz_buf) ? sz_buf : nsect; - if (disk_write(pdrv, buf, sect, n) != RES_OK) LEAVE_MKFS(FR_DISK_ERR); - mem_set(buf, 0, ss); - sect += n; nsect -= n; - } while (nsect); - - /* Create two set of the exFAT VBR blocks */ - sect = b_vol; - for (n = 0; n < 2; n++) { - /* Main record (+0) */ - mem_set(buf, 0, ss); - mem_cpy(buf + BS_JmpBoot, "\xEB\x76\x90" "EXFAT ", 11); /* Boot jump code (x86), OEM name */ - st_qword(buf + BPB_VolOfsEx, b_vol); /* Volume offset in the physical drive [sector] */ - st_qword(buf + BPB_TotSecEx, sz_vol); /* Volume size [sector] */ - st_dword(buf + BPB_FatOfsEx, (DWORD)(b_fat - b_vol)); /* FAT offset [sector] */ - st_dword(buf + BPB_FatSzEx, sz_fat); /* FAT size [sector] */ - st_dword(buf + BPB_DataOfsEx, (DWORD)(b_data - b_vol)); /* Data offset [sector] */ - st_dword(buf + BPB_NumClusEx, n_clst); /* Number of clusters */ - st_dword(buf + BPB_RootClusEx, 2 + tbl[0] + tbl[1]); /* Root dir cluster # */ - st_dword(buf + BPB_VolIDEx, GET_FATTIME()); /* VSN */ - st_word(buf + BPB_FSVerEx, 0x100); /* Filesystem version (1.00) */ - for (buf[BPB_BytsPerSecEx] = 0, i = ss; i >>= 1; buf[BPB_BytsPerSecEx]++) ; /* Log2 of sector size [byte] */ - for (buf[BPB_SecPerClusEx] = 0, i = sz_au; i >>= 1; buf[BPB_SecPerClusEx]++) ; /* Log2 of cluster size [sector] */ - buf[BPB_NumFATsEx] = 1; /* Number of FATs */ - buf[BPB_DrvNumEx] = 0x80; /* Drive number (for int13) */ - st_word(buf + BS_BootCodeEx, 0xFEEB); /* Boot code (x86) */ - st_word(buf + BS_55AA, 0xAA55); /* Signature (placed here regardless of sector size) */ - for (i = sum = 0; i < ss; i++) { /* VBR checksum */ - if (i != BPB_VolFlagEx && i != BPB_VolFlagEx + 1 && i != BPB_PercInUseEx) sum = xsum32(buf[i], sum); - } - if (disk_write(pdrv, buf, sect++, 1) != RES_OK) LEAVE_MKFS(FR_DISK_ERR); - /* Extended bootstrap record (+1..+8) */ - mem_set(buf, 0, ss); - st_word(buf + ss - 2, 0xAA55); /* Signature (placed at end of sector) */ - for (j = 1; j < 9; j++) { - for (i = 0; i < ss; sum = xsum32(buf[i++], sum)) ; /* VBR checksum */ - if (disk_write(pdrv, buf, sect++, 1) != RES_OK) LEAVE_MKFS(FR_DISK_ERR); - } - /* OEM/Reserved record (+9..+10) */ - mem_set(buf, 0, ss); - for ( ; j < 11; j++) { - for (i = 0; i < ss; sum = xsum32(buf[i++], sum)) ; /* VBR checksum */ - if (disk_write(pdrv, buf, sect++, 1) != RES_OK) LEAVE_MKFS(FR_DISK_ERR); - } - /* Sum record (+11) */ - for (i = 0; i < ss; i += 4) st_dword(buf + i, sum); /* Fill with checksum value */ - if (disk_write(pdrv, buf, sect++, 1) != RES_OK) LEAVE_MKFS(FR_DISK_ERR); - } - - } else -#endif /* FF_FS_EXFAT */ - { /* Create an FAT/FAT32 volume */ - do { - pau = sz_au; - /* Pre-determine number of clusters and FAT sub-type */ - if (fsty == FS_FAT32) { /* FAT32 volume */ - if (pau == 0) { /* AU auto-selection */ - n = (DWORD)sz_vol / 0x20000; /* Volume size in unit of 128KS */ - for (i = 0, pau = 1; cst32[i] && cst32[i] <= n; i++, pau <<= 1) ; /* Get from table */ - } - n_clst = (DWORD)sz_vol / pau; /* Number of clusters */ - sz_fat = (n_clst * 4 + 8 + ss - 1) / ss; /* FAT size [sector] */ - sz_rsv = 32; /* Number of reserved sectors */ - sz_dir = 0; /* No static directory */ - if (n_clst <= MAX_FAT16 || n_clst > MAX_FAT32) LEAVE_MKFS(FR_MKFS_ABORTED); - } else { /* FAT volume */ - if (pau == 0) { /* au auto-selection */ - n = (DWORD)sz_vol / 0x1000; /* Volume size in unit of 4KS */ - for (i = 0, pau = 1; cst[i] && cst[i] <= n; i++, pau <<= 1) ; /* Get from table */ - } - n_clst = (DWORD)sz_vol / pau; - if (n_clst > MAX_FAT12) { - n = n_clst * 2 + 4; /* FAT size [byte] */ - } else { - fsty = FS_FAT12; - n = (n_clst * 3 + 1) / 2 + 3; /* FAT size [byte] */ - } - sz_fat = (n + ss - 1) / ss; /* FAT size [sector] */ - sz_rsv = 1; /* Number of reserved sectors */ - sz_dir = (DWORD)n_root * SZDIRE / ss; /* Root dir size [sector] */ - } - b_fat = b_vol + sz_rsv; /* FAT base */ - b_data = b_fat + sz_fat * n_fat + sz_dir; /* Data base */ - - /* Align data area to erase block boundary (for flash memory media) */ - n = (DWORD)(((b_data + sz_blk - 1) & ~(sz_blk - 1)) - b_data); /* Sectors to next nearest from current data base */ - if (fsty == FS_FAT32) { /* FAT32: Move FAT */ - sz_rsv += n; b_fat += n; - } else { /* FAT: Expand FAT */ - if (n % n_fat) { /* Adjust fractional error if needed */ - n--; sz_rsv++; b_fat++; - } - sz_fat += n / n_fat; - } - - /* Determine number of clusters and final check of validity of the FAT sub-type */ - if (sz_vol < b_data + pau * 16 - b_vol) LEAVE_MKFS(FR_MKFS_ABORTED); /* Too small volume? */ - n_clst = ((DWORD)sz_vol - sz_rsv - sz_fat * n_fat - sz_dir) / pau; - if (fsty == FS_FAT32) { - if (n_clst <= MAX_FAT16) { /* Too few clusters for FAT32? */ - if (sz_au == 0 && (sz_au = pau / 2) != 0) continue; /* Adjust cluster size and retry */ - LEAVE_MKFS(FR_MKFS_ABORTED); - } - } - if (fsty == FS_FAT16) { - if (n_clst > MAX_FAT16) { /* Too many clusters for FAT16 */ - if (sz_au == 0 && (pau * 2) <= 64) { - sz_au = pau * 2; continue; /* Adjust cluster size and retry */ - } - if ((fsopt & FM_FAT32)) { - fsty = FS_FAT32; continue; /* Switch type to FAT32 and retry */ - } - if (sz_au == 0 && (sz_au = pau * 2) <= 128) continue; /* Adjust cluster size and retry */ - LEAVE_MKFS(FR_MKFS_ABORTED); - } - if (n_clst <= MAX_FAT12) { /* Too few clusters for FAT16 */ - if (sz_au == 0 && (sz_au = pau * 2) <= 128) continue; /* Adjust cluster size and retry */ - LEAVE_MKFS(FR_MKFS_ABORTED); - } - } - if (fsty == FS_FAT12 && n_clst > MAX_FAT12) LEAVE_MKFS(FR_MKFS_ABORTED); /* Too many clusters for FAT12 */ - - /* Ok, it is the valid cluster configuration */ - break; - } while (1); - -#if FF_USE_TRIM - lba[0] = b_vol; lba[1] = b_vol + sz_vol - 1; /* Inform storage device that the volume area may be erased */ - disk_ioctl(pdrv, CTRL_TRIM, lba); -#endif - /* Create FAT VBR */ - mem_set(buf, 0, ss); - mem_cpy(buf + BS_JmpBoot, "\xEB\xFE\x90" "MSDOS5.0", 11);/* Boot jump code (x86), OEM name */ - st_word(buf + BPB_BytsPerSec, ss); /* Sector size [byte] */ - buf[BPB_SecPerClus] = (BYTE)pau; /* Cluster size [sector] */ - st_word(buf + BPB_RsvdSecCnt, (WORD)sz_rsv); /* Size of reserved area */ - buf[BPB_NumFATs] = (BYTE)n_fat; /* Number of FATs */ - st_word(buf + BPB_RootEntCnt, (WORD)((fsty == FS_FAT32) ? 0 : n_root)); /* Number of root directory entries */ - if (sz_vol < 0x10000) { - st_word(buf + BPB_TotSec16, (WORD)sz_vol); /* Volume size in 16-bit LBA */ - } else { - st_dword(buf + BPB_TotSec32, (DWORD)sz_vol); /* Volume size in 32-bit LBA */ - } - buf[BPB_Media] = 0xF8; /* Media descriptor byte */ - st_word(buf + BPB_SecPerTrk, 63); /* Number of sectors per track (for int13) */ - st_word(buf + BPB_NumHeads, 255); /* Number of heads (for int13) */ - st_dword(buf + BPB_HiddSec, (DWORD)b_vol); /* Volume offset in the physical drive [sector] */ - if (fsty == FS_FAT32) { - st_dword(buf + BS_VolID32, GET_FATTIME()); /* VSN */ - st_dword(buf + BPB_FATSz32, sz_fat); /* FAT size [sector] */ - st_dword(buf + BPB_RootClus32, 2); /* Root directory cluster # (2) */ - st_word(buf + BPB_FSInfo32, 1); /* Offset of FSINFO sector (VBR + 1) */ - st_word(buf + BPB_BkBootSec32, 6); /* Offset of backup VBR (VBR + 6) */ - buf[BS_DrvNum32] = 0x80; /* Drive number (for int13) */ - buf[BS_BootSig32] = 0x29; /* Extended boot signature */ - mem_cpy(buf + BS_VolLab32, "NO NAME " "FAT32 ", 19); /* Volume label, FAT signature */ - } else { - st_dword(buf + BS_VolID, GET_FATTIME()); /* VSN */ - st_word(buf + BPB_FATSz16, (WORD)sz_fat); /* FAT size [sector] */ - buf[BS_DrvNum] = 0x80; /* Drive number (for int13) */ - buf[BS_BootSig] = 0x29; /* Extended boot signature */ - mem_cpy(buf + BS_VolLab, "NO NAME " "FAT ", 19); /* Volume label, FAT signature */ - } - st_word(buf + BS_55AA, 0xAA55); /* Signature (offset is fixed here regardless of sector size) */ - if (disk_write(pdrv, buf, b_vol, 1) != RES_OK) LEAVE_MKFS(FR_DISK_ERR); /* Write it to the VBR sector */ - - /* Create FSINFO record if needed */ - if (fsty == FS_FAT32) { - disk_write(pdrv, buf, b_vol + 6, 1); /* Write backup VBR (VBR + 6) */ - mem_set(buf, 0, ss); - st_dword(buf + FSI_LeadSig, 0x41615252); - st_dword(buf + FSI_StrucSig, 0x61417272); - st_dword(buf + FSI_Free_Count, n_clst - 1); /* Number of free clusters */ - st_dword(buf + FSI_Nxt_Free, 2); /* Last allocated cluster# */ - st_word(buf + BS_55AA, 0xAA55); - disk_write(pdrv, buf, b_vol + 7, 1); /* Write backup FSINFO (VBR + 7) */ - disk_write(pdrv, buf, b_vol + 1, 1); /* Write original FSINFO (VBR + 1) */ - } - - /* Initialize FAT area */ - mem_set(buf, 0, sz_buf * ss); - sect = b_fat; /* FAT start sector */ - for (i = 0; i < n_fat; i++) { /* Initialize FATs each */ - if (fsty == FS_FAT32) { - st_dword(buf + 0, 0xFFFFFFF8); /* FAT[0] */ - st_dword(buf + 4, 0xFFFFFFFF); /* FAT[1] */ - st_dword(buf + 8, 0x0FFFFFFF); /* FAT[2] (root directory) */ - } else { - st_dword(buf + 0, (fsty == FS_FAT12) ? 0xFFFFF8 : 0xFFFFFFF8); /* FAT[0] and FAT[1] */ - } - nsect = sz_fat; /* Number of FAT sectors */ - do { /* Fill FAT sectors */ - n = (nsect > sz_buf) ? sz_buf : nsect; - if (disk_write(pdrv, buf, sect, (UINT)n) != RES_OK) LEAVE_MKFS(FR_DISK_ERR); - mem_set(buf, 0, ss); /* Rest of FAT all are cleared */ - sect += n; nsect -= n; - } while (nsect); - } - - /* Initialize root directory (fill with zero) */ - nsect = (fsty == FS_FAT32) ? pau : sz_dir; /* Number of root directory sectors */ - do { - n = (nsect > sz_buf) ? sz_buf : nsect; - if (disk_write(pdrv, buf, sect, (UINT)n) != RES_OK) LEAVE_MKFS(FR_DISK_ERR); - sect += n; nsect -= n; - } while (nsect); - } - - /* A FAT volume has been created here */ - - /* Determine system ID in the MBR partition table */ - if (FF_FS_EXFAT && fsty == FS_EXFAT) { - sys = 0x07; /* exFAT */ - } else { - if (fsty == FS_FAT32) { - sys = 0x0C; /* FAT32X */ - } else { - if (sz_vol >= 0x10000) { - sys = 0x06; /* FAT12/16 (large) */ - } else { - sys = (fsty == FS_FAT16) ? 0x04 : 0x01; /* FAT16 : FAT12 */ - } - } - } - - /* Update partition information */ - if (FF_MULTI_PARTITION && ipart != 0) { /* Volume is in the existing partition */ - if (!FF_LBA64 || !(fsopt & 0x80)) { - /* Update system ID in the partition table */ - if (disk_read(pdrv, buf, 0, 1) != RES_OK) LEAVE_MKFS(FR_DISK_ERR); /* Read the MBR */ - buf[MBR_Table + (ipart - 1) * SZ_PTE + PTE_System] = sys; /* Set system ID */ - if (disk_write(pdrv, buf, 0, 1) != RES_OK) LEAVE_MKFS(FR_DISK_ERR); /* Write it back to the MBR */ - } - } else { /* Volume as a new single partition */ - if (!(fsopt & FM_SFD)) { /* Create partition table if not in SFD */ - lba[0] = sz_vol, lba[1] = 0; - fr = create_partition(pdrv, lba, sys, buf); - if (fr != FR_OK) LEAVE_MKFS(fr); - } - } - - if (disk_ioctl(pdrv, CTRL_SYNC, 0) != RES_OK) LEAVE_MKFS(FR_DISK_ERR); - - LEAVE_MKFS(FR_OK); -} - - - - -#if FF_MULTI_PARTITION -/*-----------------------------------------------------------------------*/ -/* Create Partition Table on the Physical Drive */ -/*-----------------------------------------------------------------------*/ - -FRESULT f_fdisk ( - BYTE pdrv, /* Physical drive number */ - const LBA_t ptbl[], /* Pointer to the size table for each partitions */ - void* work /* Pointer to the working buffer (null: use heap memory) */ -) -{ - BYTE *buf = (BYTE*)work; - DSTATUS stat; - - - stat = disk_initialize(pdrv); - if (stat & STA_NOINIT) return FR_NOT_READY; - if (stat & STA_PROTECT) return FR_WRITE_PROTECTED; -#if FF_USE_LFN == 3 - if (!buf) buf = ff_memalloc(FF_MAX_SS); /* Use heap memory for working buffer */ -#endif - if (!buf) return FR_NOT_ENOUGH_CORE; - - LEAVE_MKFS(create_partition(pdrv, ptbl, 0x07, buf)); -} - -#endif /* FF_MULTI_PARTITION */ -#endif /* !FF_FS_READONLY && FF_USE_MKFS */ - - - - -#if FF_USE_STRFUNC -#if FF_USE_LFN && FF_LFN_UNICODE && (FF_STRF_ENCODE < 0 || FF_STRF_ENCODE > 3) -#error Wrong FF_STRF_ENCODE setting -#endif -/*-----------------------------------------------------------------------*/ -/* Get a String from the File */ -/*-----------------------------------------------------------------------*/ - -TCHAR* f_gets ( - TCHAR* buff, /* Pointer to the buffer to store read string */ - int len, /* Size of string buffer (items) */ - FIL* fp /* Pointer to the file object */ -) -{ - int nc = 0; - TCHAR *p = buff; - BYTE s[4]; - UINT rc; - DWORD dc; -#if FF_USE_LFN && FF_LFN_UNICODE && FF_STRF_ENCODE <= 2 - WCHAR wc; -#endif -#if FF_USE_LFN && FF_LFN_UNICODE && FF_STRF_ENCODE == 3 - UINT ct; -#endif - -#if FF_USE_LFN && FF_LFN_UNICODE /* With code conversion (Unicode API) */ - /* Make a room for the character and terminator */ - if (FF_LFN_UNICODE == 1) len -= (FF_STRF_ENCODE == 0) ? 1 : 2; - if (FF_LFN_UNICODE == 2) len -= (FF_STRF_ENCODE == 0) ? 3 : 4; - if (FF_LFN_UNICODE == 3) len -= 1; - while (nc < len) { -#if FF_STRF_ENCODE == 0 /* Read a character in ANSI/OEM */ - f_read(fp, s, 1, &rc); /* Get a code unit */ - if (rc != 1) break; /* EOF? */ - wc = s[0]; - if (dbc_1st((BYTE)wc)) { /* DBC 1st byte? */ - f_read(fp, s, 1, &rc); /* Get DBC 2nd byte */ - if (rc != 1 || !dbc_2nd(s[0])) continue; /* Wrong code? */ - wc = wc << 8 | s[0]; - } - dc = ff_oem2uni(wc, CODEPAGE); /* OEM --> */ - if (dc == 0) continue; -#elif FF_STRF_ENCODE == 1 || FF_STRF_ENCODE == 2 /* Read a character in UTF-16LE/BE */ - f_read(fp, s, 2, &rc); /* Get a code unit */ - if (rc != 2) break; /* EOF? */ - dc = (FF_STRF_ENCODE == 1) ? ld_word(s) : s[0] << 8 | s[1]; - if (IsSurrogateL(dc)) continue; /* Broken surrogate pair? */ - if (IsSurrogateH(dc)) { /* High surrogate? */ - f_read(fp, s, 2, &rc); /* Get low surrogate */ - if (rc != 2) break; /* EOF? */ - wc = (FF_STRF_ENCODE == 1) ? ld_word(s) : s[0] << 8 | s[1]; - if (!IsSurrogateL(wc)) continue; /* Broken surrogate pair? */ - dc = ((dc & 0x3FF) + 0x40) << 10 | (wc & 0x3FF); /* Merge surrogate pair */ - } -#else /* Read a character in UTF-8 */ - f_read(fp, s, 1, &rc); /* Get a code unit */ - if (rc != 1) break; /* EOF? */ - dc = s[0]; - if (dc >= 0x80) { /* Multi-byte sequence? */ - ct = 0; - if ((dc & 0xE0) == 0xC0) { dc &= 0x1F; ct = 1; } /* 2-byte sequence? */ - if ((dc & 0xF0) == 0xE0) { dc &= 0x0F; ct = 2; } /* 3-byte sequence? */ - if ((dc & 0xF8) == 0xF0) { dc &= 0x07; ct = 3; } /* 4-byte sequence? */ - if (ct == 0) continue; - f_read(fp, s, ct, &rc); /* Get trailing bytes */ - if (rc != ct) break; - rc = 0; - do { /* Merge the byte sequence */ - if ((s[rc] & 0xC0) != 0x80) break; - dc = dc << 6 | (s[rc] & 0x3F); - } while (++rc < ct); - if (rc != ct || dc < 0x80 || IsSurrogate(dc) || dc >= 0x110000) continue; /* Wrong encoding? */ - } -#endif - /* A code point is avaialble in dc to be output */ - - if (FF_USE_STRFUNC == 2 && dc == '\r') continue; /* Strip \r off if needed */ -#if FF_LFN_UNICODE == 1 || FF_LFN_UNICODE == 3 /* Output it in UTF-16/32 encoding */ - if (FF_LFN_UNICODE == 1 && dc >= 0x10000) { /* Out of BMP at UTF-16? */ - *p++ = (TCHAR)(0xD800 | ((dc >> 10) - 0x40)); nc++; /* Make and output high surrogate */ - dc = 0xDC00 | (dc & 0x3FF); /* Make low surrogate */ - } - *p++ = (TCHAR)dc; nc++; - if (dc == '\n') break; /* End of line? */ -#elif FF_LFN_UNICODE == 2 /* Output it in UTF-8 encoding */ - if (dc < 0x80) { /* Single byte? */ - *p++ = (TCHAR)dc; - nc++; - if (dc == '\n') break; /* End of line? */ - } else { - if (dc < 0x800) { /* 2-byte sequence? */ - *p++ = (TCHAR)(0xC0 | (dc >> 6 & 0x1F)); - *p++ = (TCHAR)(0x80 | (dc >> 0 & 0x3F)); - nc += 2; - } else { - if (dc < 0x10000) { /* 3-byte sequence? */ - *p++ = (TCHAR)(0xE0 | (dc >> 12 & 0x0F)); - *p++ = (TCHAR)(0x80 | (dc >> 6 & 0x3F)); - *p++ = (TCHAR)(0x80 | (dc >> 0 & 0x3F)); - nc += 3; - } else { /* 4-byte sequence? */ - *p++ = (TCHAR)(0xF0 | (dc >> 18 & 0x07)); - *p++ = (TCHAR)(0x80 | (dc >> 12 & 0x3F)); - *p++ = (TCHAR)(0x80 | (dc >> 6 & 0x3F)); - *p++ = (TCHAR)(0x80 | (dc >> 0 & 0x3F)); - nc += 4; - } - } - } -#endif - } - -#else /* Byte-by-byte read without any conversion (ANSI/OEM API) */ - len -= 1; /* Make a room for the terminator */ - while (nc < len) { - f_read(fp, s, 1, &rc); /* Get a byte */ - if (rc != 1) break; /* EOF? */ - dc = s[0]; - if (FF_USE_STRFUNC == 2 && dc == '\r') continue; - *p++ = (TCHAR)dc; nc++; - if (dc == '\n') break; - } -#endif - - *p = 0; /* Terminate the string */ - return nc ? buff : 0; /* When no data read due to EOF or error, return with error. */ -} - - - - -#if !FF_FS_READONLY -#include -/*-----------------------------------------------------------------------*/ -/* Put a Character to the File (sub-functions) */ -/*-----------------------------------------------------------------------*/ - -/* Putchar output buffer and work area */ - -typedef struct { - FIL *fp; /* Ptr to the writing file */ - int idx, nchr; /* Write index of buf[] (-1:error), number of encoding units written */ -#if FF_USE_LFN && FF_LFN_UNICODE == 1 - WCHAR hs; -#elif FF_USE_LFN && FF_LFN_UNICODE == 2 - BYTE bs[4]; - UINT wi, ct; -#endif - BYTE buf[64]; /* Write buffer */ -} putbuff; - - -/* Buffered write with code conversion */ - -static void putc_bfd (putbuff* pb, TCHAR c) -{ - UINT n; - int i, nc; -#if FF_USE_LFN && FF_LFN_UNICODE - WCHAR hs, wc; -#if FF_LFN_UNICODE == 2 - DWORD dc; - TCHAR *tp; -#endif -#endif - - if (FF_USE_STRFUNC == 2 && c == '\n') { /* LF -> CRLF conversion */ - putc_bfd(pb, '\r'); - } - - i = pb->idx; /* Write index of pb->buf[] */ - if (i < 0) return; - nc = pb->nchr; /* Write unit counter */ - -#if FF_USE_LFN && FF_LFN_UNICODE -#if FF_LFN_UNICODE == 1 /* UTF-16 input */ - if (IsSurrogateH(c)) { /* High surrogate? */ - pb->hs = c; return; /* Save it for next */ - } - hs = pb->hs; pb->hs = 0; - if (hs != 0) { /* There is a leading high surrogate */ - if (!IsSurrogateL(c)) hs = 0; /* Discard high surrogate if not a surrogate pair */ - } else { - if (IsSurrogateL(c)) return; /* Discard stray low surrogate */ - } - wc = c; -#elif FF_LFN_UNICODE == 2 /* UTF-8 input */ - for (;;) { - if (pb->ct == 0) { /* Out of multi-byte sequence? */ - pb->bs[pb->wi = 0] = (BYTE)c; /* Save 1st byte */ - if ((BYTE)c < 0x80) break; /* Single byte? */ - if (((BYTE)c & 0xE0) == 0xC0) pb->ct = 1; /* 2-byte sequence? */ - if (((BYTE)c & 0xF0) == 0xE0) pb->ct = 2; /* 3-byte sequence? */ - if (((BYTE)c & 0xF1) == 0xF0) pb->ct = 3; /* 4-byte sequence? */ - return; - } else { /* In the multi-byte sequence */ - if (((BYTE)c & 0xC0) != 0x80) { /* Broken sequence? */ - pb->ct = 0; continue; - } - pb->bs[++pb->wi] = (BYTE)c; /* Save the trailing byte */ - if (--pb->ct == 0) break; /* End of multi-byte sequence? */ - return; - } - } - tp = (TCHAR*)pb->bs; - dc = tchar2uni(&tp); /* UTF-8 ==> UTF-16 */ - if (dc == 0xFFFFFFFF) return; /* Wrong code? */ - wc = (WCHAR)dc; - hs = (WCHAR)(dc >> 16); -#elif FF_LFN_UNICODE == 3 /* UTF-32 input */ - if (IsSurrogate(c) || c >= 0x110000) return; /* Discard invalid code */ - if (c >= 0x10000) { /* Out of BMP? */ - hs = (WCHAR)(0xD800 | ((c >> 10) - 0x40)); /* Make high surrogate */ - wc = 0xDC00 | (c & 0x3FF); /* Make low surrogate */ - } else { - hs = 0; - wc = (WCHAR)c; - } -#endif - /* A code point in UTF-16 is available in hs and wc */ - -#if FF_STRF_ENCODE == 1 /* Write a code point in UTF-16LE */ - if (hs != 0) { /* Surrogate pair? */ - st_word(&pb->buf[i], hs); - i += 2; - nc++; - } - st_word(&pb->buf[i], wc); - i += 2; -#elif FF_STRF_ENCODE == 2 /* Write a code point in UTF-16BE */ - if (hs != 0) { /* Surrogate pair? */ - pb->buf[i++] = (BYTE)(hs >> 8); - pb->buf[i++] = (BYTE)hs; - nc++; - } - pb->buf[i++] = (BYTE)(wc >> 8); - pb->buf[i++] = (BYTE)wc; -#elif FF_STRF_ENCODE == 3 /* Write a code point in UTF-8 */ - if (hs != 0) { /* 4-byte sequence? */ - nc += 3; - hs = (hs & 0x3FF) + 0x40; - pb->buf[i++] = (BYTE)(0xF0 | hs >> 8); - pb->buf[i++] = (BYTE)(0x80 | (hs >> 2 & 0x3F)); - pb->buf[i++] = (BYTE)(0x80 | (hs & 3) << 4 | (wc >> 6 & 0x0F)); - pb->buf[i++] = (BYTE)(0x80 | (wc & 0x3F)); - } else { - if (wc < 0x80) { /* Single byte? */ - pb->buf[i++] = (BYTE)wc; - } else { - if (wc < 0x800) { /* 2-byte sequence? */ - nc += 1; - pb->buf[i++] = (BYTE)(0xC0 | wc >> 6); - } else { /* 3-byte sequence */ - nc += 2; - pb->buf[i++] = (BYTE)(0xE0 | wc >> 12); - pb->buf[i++] = (BYTE)(0x80 | (wc >> 6 & 0x3F)); - } - pb->buf[i++] = (BYTE)(0x80 | (wc & 0x3F)); - } - } -#else /* Write a code point in ANSI/OEM */ - if (hs != 0) return; - wc = ff_uni2oem(wc, CODEPAGE); /* UTF-16 ==> ANSI/OEM */ - if (wc == 0) return; - if (wc >= 0x100) { - pb->buf[i++] = (BYTE)(wc >> 8); nc++; - } - pb->buf[i++] = (BYTE)wc; -#endif - -#else /* ANSI/OEM input (without re-encoding) */ - pb->buf[i++] = (BYTE)c; -#endif - - if (i >= (int)(sizeof pb->buf) - 4) { /* Write buffered characters to the file */ - f_write(pb->fp, pb->buf, (UINT)i, &n); - i = (n == (UINT)i) ? 0 : -1; - } - pb->idx = i; - pb->nchr = nc + 1; -} - - -/* Flush remaining characters in the buffer */ - -static int putc_flush (putbuff* pb) -{ - UINT nw; - - if ( pb->idx >= 0 /* Flush buffered characters to the file */ - && f_write(pb->fp, pb->buf, (UINT)pb->idx, &nw) == FR_OK - && (UINT)pb->idx == nw) return pb->nchr; - return EOF; -} - - -/* Initialize write buffer */ - -static void putc_init (putbuff* pb, FIL* fp) -{ - mem_set(pb, 0, sizeof (putbuff)); - pb->fp = fp; -} - - - -int f_putc ( - TCHAR c, /* A character to be output */ - FIL* fp /* Pointer to the file object */ -) -{ - putbuff pb; - - - putc_init(&pb, fp); - putc_bfd(&pb, c); /* Put the character */ - return putc_flush(&pb); -} - - - - -/*-----------------------------------------------------------------------*/ -/* Put a String to the File */ -/*-----------------------------------------------------------------------*/ - -int f_puts ( - const TCHAR* str, /* Pointer to the string to be output */ - FIL* fp /* Pointer to the file object */ -) -{ - putbuff pb; - - - putc_init(&pb, fp); - while (*str) putc_bfd(&pb, *str++); /* Put the string */ - return putc_flush(&pb); -} - - - - -/*-----------------------------------------------------------------------*/ -/* Put a Formatted String to the File */ -/*-----------------------------------------------------------------------*/ - -int f_printf ( - FIL* fp, /* Pointer to the file object */ - const TCHAR* fmt, /* Pointer to the format string */ - ... /* Optional arguments... */ -) -{ - va_list arp; - putbuff pb; - BYTE f, r; - UINT i, j, w; - DWORD v; - TCHAR c, d, str[32], *p; - - - putc_init(&pb, fp); - - va_start(arp, fmt); - - for (;;) { - c = *fmt++; - if (c == 0) break; /* End of string */ - if (c != '%') { /* Non escape character */ - putc_bfd(&pb, c); - continue; - } - w = f = 0; - c = *fmt++; - if (c == '0') { /* Flag: '0' padding */ - f = 1; c = *fmt++; - } else { - if (c == '-') { /* Flag: left justified */ - f = 2; c = *fmt++; - } - } - if (c == '*') { /* Minimum width by argument */ - w = va_arg(arp, int); - c = *fmt++; - } else { - while (IsDigit(c)) { /* Minimum width */ - w = w * 10 + c - '0'; - c = *fmt++; - } - } - if (c == 'l' || c == 'L') { /* Type prefix: Size is long int */ - f |= 4; c = *fmt++; - } - if (c == 0) break; - d = c; - if (IsLower(d)) d -= 0x20; - switch (d) { /* Atgument type is... */ - case 'S' : /* String */ - p = va_arg(arp, TCHAR*); - for (j = 0; p[j]; j++) ; - if (!(f & 2)) { /* Right padded */ - while (j++ < w) putc_bfd(&pb, ' ') ; - } - while (*p) putc_bfd(&pb, *p++) ; /* String body */ - while (j++ < w) putc_bfd(&pb, ' ') ; /* Left padded */ - continue; - - case 'C' : /* Character */ - putc_bfd(&pb, (TCHAR)va_arg(arp, int)); continue; - - case 'B' : /* Unsigned binary */ - r = 2; break; - - case 'O' : /* Unsigned octal */ - r = 8; break; - - case 'D' : /* Signed decimal */ - case 'U' : /* Unsigned decimal */ - r = 10; break; - - case 'X' : /* Unsigned hexdecimal */ - r = 16; break; - - default: /* Unknown type (pass-through) */ - putc_bfd(&pb, c); continue; - } - - /* Get an argument and put it in numeral */ - v = (f & 4) ? (DWORD)va_arg(arp, long) : ((d == 'D') ? (DWORD)(long)va_arg(arp, int) : (DWORD)va_arg(arp, unsigned int)); - if (d == 'D' && (v & 0x80000000)) { - v = 0 - v; - f |= 8; - } - i = 0; - do { - d = (TCHAR)(v % r); v /= r; - if (d > 9) d += (c == 'x') ? 0x27 : 0x07; - str[i++] = d + '0'; - } while (v && i < sizeof str / sizeof *str); - if (f & 8) str[i++] = '-'; - j = i; d = (f & 1) ? '0' : ' '; - if (!(f & 2)) { - while (j++ < w) putc_bfd(&pb, d); /* Right pad */ - } - do { - putc_bfd(&pb, str[--i]); /* Number body */ - } while (i); - while (j++ < w) putc_bfd(&pb, d); /* Left pad */ - } - - va_end(arp); - - return putc_flush(&pb); -} - -#endif /* !FF_FS_READONLY */ -#endif /* FF_USE_STRFUNC */ - - - -#if FF_CODE_PAGE == 0 -/*-----------------------------------------------------------------------*/ -/* Set Active Codepage for the Path Name */ -/*-----------------------------------------------------------------------*/ - -FRESULT f_setcp ( - WORD cp /* Value to be set as active code page */ -) -{ - static const WORD validcp[] = { 437, 720, 737, 771, 775, 850, 852, 857, 860, 861, 862, 863, 864, 865, 866, 869, 932, 936, 949, 950, 0}; - static const BYTE* const tables[] = {Ct437, Ct720, Ct737, Ct771, Ct775, Ct850, Ct852, Ct857, Ct860, Ct861, Ct862, Ct863, Ct864, Ct865, Ct866, Ct869, Dc932, Dc936, Dc949, Dc950, 0}; - UINT i; - - - for (i = 0; validcp[i] != 0 && validcp[i] != cp; i++) ; /* Find the code page */ - if (validcp[i] != cp) return FR_INVALID_PARAMETER; /* Not found? */ - - CodePage = cp; - if (cp >= 900) { /* DBCS */ - ExCvt = 0; - DbcTbl = tables[i]; - } else { /* SBCS */ - ExCvt = tables[i]; - DbcTbl = 0; - } - return FR_OK; -} -#endif /* FF_CODE_PAGE == 0 */ - diff --git a/third-party/bootloader/fatfs/ffsystem.c b/third-party/bootloader/fatfs/ffsystem.c deleted file mode 100644 index b88ce155..00000000 --- a/third-party/bootloader/fatfs/ffsystem.c +++ /dev/null @@ -1,170 +0,0 @@ -/*------------------------------------------------------------------------*/ -/* Sample Code of OS Dependent Functions for FatFs */ -/* (C)ChaN, 2018 */ -/*------------------------------------------------------------------------*/ - - -#include "ff.h" - - -#if FF_USE_LFN == 3 /* Dynamic memory allocation */ - -/*------------------------------------------------------------------------*/ -/* Allocate a memory block */ -/*------------------------------------------------------------------------*/ - -void* ff_memalloc ( /* Returns pointer to the allocated memory block (null if not enough core) */ - UINT msize /* Number of bytes to allocate */ -) -{ - return malloc(msize); /* Allocate a new memory block with POSIX API */ -} - - -/*------------------------------------------------------------------------*/ -/* Free a memory block */ -/*------------------------------------------------------------------------*/ - -void ff_memfree ( - void* mblock /* Pointer to the memory block to free (nothing to do if null) */ -) -{ - free(mblock); /* Free the memory block with POSIX API */ -} - -#endif - - - -#if FF_FS_REENTRANT /* Mutal exclusion */ - -/*------------------------------------------------------------------------*/ -/* Create a Synchronization Object */ -/*------------------------------------------------------------------------*/ -/* This function is called in f_mount() function to create a new -/ synchronization object for the volume, such as semaphore and mutex. -/ When a 0 is returned, the f_mount() function fails with FR_INT_ERR. -*/ - -//const osMutexDef_t Mutex[FF_VOLUMES]; /* Table of CMSIS-RTOS mutex */ - - -int ff_cre_syncobj ( /* 1:Function succeeded, 0:Could not create the sync object */ - BYTE vol, /* Corresponding volume (logical drive number) */ - FF_SYNC_t* sobj /* Pointer to return the created sync object */ -) -{ - /* Win32 */ - *sobj = CreateMutex(NULL, FALSE, NULL); - return (int)(*sobj != INVALID_HANDLE_VALUE); - - /* uITRON */ -// T_CSEM csem = {TA_TPRI,1,1}; -// *sobj = acre_sem(&csem); -// return (int)(*sobj > 0); - - /* uC/OS-II */ -// OS_ERR err; -// *sobj = OSMutexCreate(0, &err); -// return (int)(err == OS_NO_ERR); - - /* FreeRTOS */ -// *sobj = xSemaphoreCreateMutex(); -// return (int)(*sobj != NULL); - - /* CMSIS-RTOS */ -// *sobj = osMutexCreate(&Mutex[vol]); -// return (int)(*sobj != NULL); -} - - -/*------------------------------------------------------------------------*/ -/* Delete a Synchronization Object */ -/*------------------------------------------------------------------------*/ -/* This function is called in f_mount() function to delete a synchronization -/ object that created with ff_cre_syncobj() function. When a 0 is returned, -/ the f_mount() function fails with FR_INT_ERR. -*/ - -int ff_del_syncobj ( /* 1:Function succeeded, 0:Could not delete due to an error */ - FF_SYNC_t sobj /* Sync object tied to the logical drive to be deleted */ -) -{ - /* Win32 */ - return (int)CloseHandle(sobj); - - /* uITRON */ -// return (int)(del_sem(sobj) == E_OK); - - /* uC/OS-II */ -// OS_ERR err; -// OSMutexDel(sobj, OS_DEL_ALWAYS, &err); -// return (int)(err == OS_NO_ERR); - - /* FreeRTOS */ -// vSemaphoreDelete(sobj); -// return 1; - - /* CMSIS-RTOS */ -// return (int)(osMutexDelete(sobj) == osOK); -} - - -/*------------------------------------------------------------------------*/ -/* Request Grant to Access the Volume */ -/*------------------------------------------------------------------------*/ -/* This function is called on entering file functions to lock the volume. -/ When a 0 is returned, the file function fails with FR_TIMEOUT. -*/ - -int ff_req_grant ( /* 1:Got a grant to access the volume, 0:Could not get a grant */ - FF_SYNC_t sobj /* Sync object to wait */ -) -{ - /* Win32 */ - return (int)(WaitForSingleObject(sobj, FF_FS_TIMEOUT) == WAIT_OBJECT_0); - - /* uITRON */ -// return (int)(wai_sem(sobj) == E_OK); - - /* uC/OS-II */ -// OS_ERR err; -// OSMutexPend(sobj, FF_FS_TIMEOUT, &err)); -// return (int)(err == OS_NO_ERR); - - /* FreeRTOS */ -// return (int)(xSemaphoreTake(sobj, FF_FS_TIMEOUT) == pdTRUE); - - /* CMSIS-RTOS */ -// return (int)(osMutexWait(sobj, FF_FS_TIMEOUT) == osOK); -} - - -/*------------------------------------------------------------------------*/ -/* Release Grant to Access the Volume */ -/*------------------------------------------------------------------------*/ -/* This function is called on leaving file functions to unlock the volume. -*/ - -void ff_rel_grant ( - FF_SYNC_t sobj /* Sync object to be signaled */ -) -{ - /* Win32 */ - ReleaseMutex(sobj); - - /* uITRON */ -// sig_sem(sobj); - - /* uC/OS-II */ -// OSMutexPost(sobj); - - /* FreeRTOS */ -// xSemaphoreGive(sobj); - - /* CMSIS-RTOS */ -// osMutexRelease(sobj); -} - -#endif - diff --git a/third-party/bootloader/fatfs/ffunicode.c b/third-party/bootloader/fatfs/ffunicode.c deleted file mode 100644 index a69b24c8..00000000 --- a/third-party/bootloader/fatfs/ffunicode.c +++ /dev/null @@ -1,15593 +0,0 @@ -/*------------------------------------------------------------------------*/ -/* Unicode handling functions for FatFs R0.13+ */ -/*------------------------------------------------------------------------*/ -/* This module will occupy a huge memory in the .const section when the / -/ FatFs is configured for LFN with DBCS. If the system has any Unicode / -/ utilitiy for the code conversion, this module should be modified to use / -/ that function to avoid silly memory consumption. / -/-------------------------------------------------------------------------*/ -/* -/ Copyright (C) 2014, ChaN, all right reserved. -/ -/ FatFs module is an open source software. Redistribution and use of FatFs in -/ source and binary forms, with or without modification, are permitted provided -/ that the following condition is met: -/ -/ 1. Redistributions of source code must retain the above copyright notice, -/ this condition and the following disclaimer. -/ -/ This software is provided by the copyright holder and contributors "AS IS" -/ and any warranties related to this software are DISCLAIMED. -/ The copyright owner or contributors be NOT LIABLE for any damages caused -/ by use of this software. -*/ - - -#include "ff.h" - -#if FF_USE_LFN /* This module will be blanked if non-LFN configuration */ - -#define MERGE2(a, b) a ## b -#define CVTBL(tbl, cp) MERGE2(tbl, cp) - - -/*------------------------------------------------------------------------*/ -/* Code Conversion Tables */ -/*------------------------------------------------------------------------*/ - -#if FF_CODE_PAGE == 932 || FF_CODE_PAGE == 0 /* Japanese */ -static const WCHAR uni2oem932[] = { /* Unicode --> Shift_JIS pairs */ - 0x00A7, 0x8198, 0x00A8, 0x814E, 0x00B0, 0x818B, 0x00B1, 0x817D, 0x00B4, 0x814C, 0x00B6, 0x81F7, 0x00D7, 0x817E, 0x00F7, 0x8180, - 0x0391, 0x839F, 0x0392, 0x83A0, 0x0393, 0x83A1, 0x0394, 0x83A2, 0x0395, 0x83A3, 0x0396, 0x83A4, 0x0397, 0x83A5, 0x0398, 0x83A6, - 0x0399, 0x83A7, 0x039A, 0x83A8, 0x039B, 0x83A9, 0x039C, 0x83AA, 0x039D, 0x83AB, 0x039E, 0x83AC, 0x039F, 0x83AD, 0x03A0, 0x83AE, - 0x03A1, 0x83AF, 0x03A3, 0x83B0, 0x03A4, 0x83B1, 0x03A5, 0x83B2, 0x03A6, 0x83B3, 0x03A7, 0x83B4, 0x03A8, 0x83B5, 0x03A9, 0x83B6, - 0x03B1, 0x83BF, 0x03B2, 0x83C0, 0x03B3, 0x83C1, 0x03B4, 0x83C2, 0x03B5, 0x83C3, 0x03B6, 0x83C4, 0x03B7, 0x83C5, 0x03B8, 0x83C6, - 0x03B9, 0x83C7, 0x03BA, 0x83C8, 0x03BB, 0x83C9, 0x03BC, 0x83CA, 0x03BD, 0x83CB, 0x03BE, 0x83CC, 0x03BF, 0x83CD, 0x03C0, 0x83CE, - 0x03C1, 0x83CF, 0x03C3, 0x83D0, 0x03C4, 0x83D1, 0x03C5, 0x83D2, 0x03C6, 0x83D3, 0x03C7, 0x83D4, 0x03C8, 0x83D5, 0x03C9, 0x83D6, - 0x0401, 0x8446, 0x0410, 0x8440, 0x0411, 0x8441, 0x0412, 0x8442, 0x0413, 0x8443, 0x0414, 0x8444, 0x0415, 0x8445, 0x0416, 0x8447, - 0x0417, 0x8448, 0x0418, 0x8449, 0x0419, 0x844A, 0x041A, 0x844B, 0x041B, 0x844C, 0x041C, 0x844D, 0x041D, 0x844E, 0x041E, 0x844F, - 0x041F, 0x8450, 0x0420, 0x8451, 0x0421, 0x8452, 0x0422, 0x8453, 0x0423, 0x8454, 0x0424, 0x8455, 0x0425, 0x8456, 0x0426, 0x8457, - 0x0427, 0x8458, 0x0428, 0x8459, 0x0429, 0x845A, 0x042A, 0x845B, 0x042B, 0x845C, 0x042C, 0x845D, 0x042D, 0x845E, 0x042E, 0x845F, - 0x042F, 0x8460, 0x0430, 0x8470, 0x0431, 0x8471, 0x0432, 0x8472, 0x0433, 0x8473, 0x0434, 0x8474, 0x0435, 0x8475, 0x0436, 0x8477, - 0x0437, 0x8478, 0x0438, 0x8479, 0x0439, 0x847A, 0x043A, 0x847B, 0x043B, 0x847C, 0x043C, 0x847D, 0x043D, 0x847E, 0x043E, 0x8480, - 0x043F, 0x8481, 0x0440, 0x8482, 0x0441, 0x8483, 0x0442, 0x8484, 0x0443, 0x8485, 0x0444, 0x8486, 0x0445, 0x8487, 0x0446, 0x8488, - 0x0447, 0x8489, 0x0448, 0x848A, 0x0449, 0x848B, 0x044A, 0x848C, 0x044B, 0x848D, 0x044C, 0x848E, 0x044D, 0x848F, 0x044E, 0x8490, - 0x044F, 0x8491, 0x0451, 0x8476, 0x2010, 0x815D, 0x2015, 0x815C, 0x2018, 0x8165, 0x2019, 0x8166, 0x201C, 0x8167, 0x201D, 0x8168, - 0x2020, 0x81F5, 0x2021, 0x81F6, 0x2025, 0x8164, 0x2026, 0x8163, 0x2030, 0x81F1, 0x2032, 0x818C, 0x2033, 0x818D, 0x203B, 0x81A6, - 0x2103, 0x818E, 0x2116, 0x8782, 0x2121, 0x8784, 0x212B, 0x81F0, 0x2160, 0x8754, 0x2161, 0x8755, 0x2162, 0x8756, 0x2163, 0x8757, - 0x2164, 0x8758, 0x2165, 0x8759, 0x2166, 0x875A, 0x2167, 0x875B, 0x2168, 0x875C, 0x2169, 0x875D, 0x2170, 0xFA40, 0x2171, 0xFA41, - 0x2172, 0xFA42, 0x2173, 0xFA43, 0x2174, 0xFA44, 0x2175, 0xFA45, 0x2176, 0xFA46, 0x2177, 0xFA47, 0x2178, 0xFA48, 0x2179, 0xFA49, - 0x2190, 0x81A9, 0x2191, 0x81AA, 0x2192, 0x81A8, 0x2193, 0x81AB, 0x21D2, 0x81CB, 0x21D4, 0x81CC, 0x2200, 0x81CD, 0x2202, 0x81DD, - 0x2203, 0x81CE, 0x2207, 0x81DE, 0x2208, 0x81B8, 0x220B, 0x81B9, 0x2211, 0x8794, 0x221A, 0x81E3, 0x221D, 0x81E5, 0x221E, 0x8187, - 0x221F, 0x8798, 0x2220, 0x81DA, 0x2225, 0x8161, 0x2227, 0x81C8, 0x2228, 0x81C9, 0x2229, 0x81BF, 0x222A, 0x81BE, 0x222B, 0x81E7, - 0x222C, 0x81E8, 0x222E, 0x8793, 0x2234, 0x8188, 0x2235, 0x81E6, 0x223D, 0x81E4, 0x2252, 0x81E0, 0x2260, 0x8182, 0x2261, 0x81DF, - 0x2266, 0x8185, 0x2267, 0x8186, 0x226A, 0x81E1, 0x226B, 0x81E2, 0x2282, 0x81BC, 0x2283, 0x81BD, 0x2286, 0x81BA, 0x2287, 0x81BB, - 0x22A5, 0x81DB, 0x22BF, 0x8799, 0x2312, 0x81DC, 0x2460, 0x8740, 0x2461, 0x8741, 0x2462, 0x8742, 0x2463, 0x8743, 0x2464, 0x8744, - 0x2465, 0x8745, 0x2466, 0x8746, 0x2467, 0x8747, 0x2468, 0x8748, 0x2469, 0x8749, 0x246A, 0x874A, 0x246B, 0x874B, 0x246C, 0x874C, - 0x246D, 0x874D, 0x246E, 0x874E, 0x246F, 0x874F, 0x2470, 0x8750, 0x2471, 0x8751, 0x2472, 0x8752, 0x2473, 0x8753, 0x2500, 0x849F, - 0x2501, 0x84AA, 0x2502, 0x84A0, 0x2503, 0x84AB, 0x250C, 0x84A1, 0x250F, 0x84AC, 0x2510, 0x84A2, 0x2513, 0x84AD, 0x2514, 0x84A4, - 0x2517, 0x84AF, 0x2518, 0x84A3, 0x251B, 0x84AE, 0x251C, 0x84A5, 0x251D, 0x84BA, 0x2520, 0x84B5, 0x2523, 0x84B0, 0x2524, 0x84A7, - 0x2525, 0x84BC, 0x2528, 0x84B7, 0x252B, 0x84B2, 0x252C, 0x84A6, 0x252F, 0x84B6, 0x2530, 0x84BB, 0x2533, 0x84B1, 0x2534, 0x84A8, - 0x2537, 0x84B8, 0x2538, 0x84BD, 0x253B, 0x84B3, 0x253C, 0x84A9, 0x253F, 0x84B9, 0x2542, 0x84BE, 0x254B, 0x84B4, 0x25A0, 0x81A1, - 0x25A1, 0x81A0, 0x25B2, 0x81A3, 0x25B3, 0x81A2, 0x25BC, 0x81A5, 0x25BD, 0x81A4, 0x25C6, 0x819F, 0x25C7, 0x819E, 0x25CB, 0x819B, - 0x25CE, 0x819D, 0x25CF, 0x819C, 0x25EF, 0x81FC, 0x2605, 0x819A, 0x2606, 0x8199, 0x2640, 0x818A, 0x2642, 0x8189, 0x266A, 0x81F4, - 0x266D, 0x81F3, 0x266F, 0x81F2, 0x3000, 0x8140, 0x3001, 0x8141, 0x3002, 0x8142, 0x3003, 0x8156, 0x3005, 0x8158, 0x3006, 0x8159, - 0x3007, 0x815A, 0x3008, 0x8171, 0x3009, 0x8172, 0x300A, 0x8173, 0x300B, 0x8174, 0x300C, 0x8175, 0x300D, 0x8176, 0x300E, 0x8177, - 0x300F, 0x8178, 0x3010, 0x8179, 0x3011, 0x817A, 0x3012, 0x81A7, 0x3013, 0x81AC, 0x3014, 0x816B, 0x3015, 0x816C, 0x301D, 0x8780, - 0x301F, 0x8781, 0x3041, 0x829F, 0x3042, 0x82A0, 0x3043, 0x82A1, 0x3044, 0x82A2, 0x3045, 0x82A3, 0x3046, 0x82A4, 0x3047, 0x82A5, - 0x3048, 0x82A6, 0x3049, 0x82A7, 0x304A, 0x82A8, 0x304B, 0x82A9, 0x304C, 0x82AA, 0x304D, 0x82AB, 0x304E, 0x82AC, 0x304F, 0x82AD, - 0x3050, 0x82AE, 0x3051, 0x82AF, 0x3052, 0x82B0, 0x3053, 0x82B1, 0x3054, 0x82B2, 0x3055, 0x82B3, 0x3056, 0x82B4, 0x3057, 0x82B5, - 0x3058, 0x82B6, 0x3059, 0x82B7, 0x305A, 0x82B8, 0x305B, 0x82B9, 0x305C, 0x82BA, 0x305D, 0x82BB, 0x305E, 0x82BC, 0x305F, 0x82BD, - 0x3060, 0x82BE, 0x3061, 0x82BF, 0x3062, 0x82C0, 0x3063, 0x82C1, 0x3064, 0x82C2, 0x3065, 0x82C3, 0x3066, 0x82C4, 0x3067, 0x82C5, - 0x3068, 0x82C6, 0x3069, 0x82C7, 0x306A, 0x82C8, 0x306B, 0x82C9, 0x306C, 0x82CA, 0x306D, 0x82CB, 0x306E, 0x82CC, 0x306F, 0x82CD, - 0x3070, 0x82CE, 0x3071, 0x82CF, 0x3072, 0x82D0, 0x3073, 0x82D1, 0x3074, 0x82D2, 0x3075, 0x82D3, 0x3076, 0x82D4, 0x3077, 0x82D5, - 0x3078, 0x82D6, 0x3079, 0x82D7, 0x307A, 0x82D8, 0x307B, 0x82D9, 0x307C, 0x82DA, 0x307D, 0x82DB, 0x307E, 0x82DC, 0x307F, 0x82DD, - 0x3080, 0x82DE, 0x3081, 0x82DF, 0x3082, 0x82E0, 0x3083, 0x82E1, 0x3084, 0x82E2, 0x3085, 0x82E3, 0x3086, 0x82E4, 0x3087, 0x82E5, - 0x3088, 0x82E6, 0x3089, 0x82E7, 0x308A, 0x82E8, 0x308B, 0x82E9, 0x308C, 0x82EA, 0x308D, 0x82EB, 0x308E, 0x82EC, 0x308F, 0x82ED, - 0x3090, 0x82EE, 0x3091, 0x82EF, 0x3092, 0x82F0, 0x3093, 0x82F1, 0x309B, 0x814A, 0x309C, 0x814B, 0x309D, 0x8154, 0x309E, 0x8155, - 0x30A1, 0x8340, 0x30A2, 0x8341, 0x30A3, 0x8342, 0x30A4, 0x8343, 0x30A5, 0x8344, 0x30A6, 0x8345, 0x30A7, 0x8346, 0x30A8, 0x8347, - 0x30A9, 0x8348, 0x30AA, 0x8349, 0x30AB, 0x834A, 0x30AC, 0x834B, 0x30AD, 0x834C, 0x30AE, 0x834D, 0x30AF, 0x834E, 0x30B0, 0x834F, - 0x30B1, 0x8350, 0x30B2, 0x8351, 0x30B3, 0x8352, 0x30B4, 0x8353, 0x30B5, 0x8354, 0x30B6, 0x8355, 0x30B7, 0x8356, 0x30B8, 0x8357, - 0x30B9, 0x8358, 0x30BA, 0x8359, 0x30BB, 0x835A, 0x30BC, 0x835B, 0x30BD, 0x835C, 0x30BE, 0x835D, 0x30BF, 0x835E, 0x30C0, 0x835F, - 0x30C1, 0x8360, 0x30C2, 0x8361, 0x30C3, 0x8362, 0x30C4, 0x8363, 0x30C5, 0x8364, 0x30C6, 0x8365, 0x30C7, 0x8366, 0x30C8, 0x8367, - 0x30C9, 0x8368, 0x30CA, 0x8369, 0x30CB, 0x836A, 0x30CC, 0x836B, 0x30CD, 0x836C, 0x30CE, 0x836D, 0x30CF, 0x836E, 0x30D0, 0x836F, - 0x30D1, 0x8370, 0x30D2, 0x8371, 0x30D3, 0x8372, 0x30D4, 0x8373, 0x30D5, 0x8374, 0x30D6, 0x8375, 0x30D7, 0x8376, 0x30D8, 0x8377, - 0x30D9, 0x8378, 0x30DA, 0x8379, 0x30DB, 0x837A, 0x30DC, 0x837B, 0x30DD, 0x837C, 0x30DE, 0x837D, 0x30DF, 0x837E, 0x30E0, 0x8380, - 0x30E1, 0x8381, 0x30E2, 0x8382, 0x30E3, 0x8383, 0x30E4, 0x8384, 0x30E5, 0x8385, 0x30E6, 0x8386, 0x30E7, 0x8387, 0x30E8, 0x8388, - 0x30E9, 0x8389, 0x30EA, 0x838A, 0x30EB, 0x838B, 0x30EC, 0x838C, 0x30ED, 0x838D, 0x30EE, 0x838E, 0x30EF, 0x838F, 0x30F0, 0x8390, - 0x30F1, 0x8391, 0x30F2, 0x8392, 0x30F3, 0x8393, 0x30F4, 0x8394, 0x30F5, 0x8395, 0x30F6, 0x8396, 0x30FB, 0x8145, 0x30FC, 0x815B, - 0x30FD, 0x8152, 0x30FE, 0x8153, 0x3231, 0x878A, 0x3232, 0x878B, 0x3239, 0x878C, 0x32A4, 0x8785, 0x32A5, 0x8786, 0x32A6, 0x8787, - 0x32A7, 0x8788, 0x32A8, 0x8789, 0x3303, 0x8765, 0x330D, 0x8769, 0x3314, 0x8760, 0x3318, 0x8763, 0x3322, 0x8761, 0x3323, 0x876B, - 0x3326, 0x876A, 0x3327, 0x8764, 0x332B, 0x876C, 0x3336, 0x8766, 0x333B, 0x876E, 0x3349, 0x875F, 0x334A, 0x876D, 0x334D, 0x8762, - 0x3351, 0x8767, 0x3357, 0x8768, 0x337B, 0x877E, 0x337C, 0x878F, 0x337D, 0x878E, 0x337E, 0x878D, 0x338E, 0x8772, 0x338F, 0x8773, - 0x339C, 0x876F, 0x339D, 0x8770, 0x339E, 0x8771, 0x33A1, 0x8775, 0x33C4, 0x8774, 0x33CD, 0x8783, 0x4E00, 0x88EA, 0x4E01, 0x929A, - 0x4E03, 0x8EB5, 0x4E07, 0x969C, 0x4E08, 0x8FE4, 0x4E09, 0x8E4F, 0x4E0A, 0x8FE3, 0x4E0B, 0x89BA, 0x4E0D, 0x9573, 0x4E0E, 0x975E, - 0x4E10, 0x98A0, 0x4E11, 0x894E, 0x4E14, 0x8A8E, 0x4E15, 0x98A1, 0x4E16, 0x90A2, 0x4E17, 0x99C0, 0x4E18, 0x8B75, 0x4E19, 0x95B8, - 0x4E1E, 0x8FE5, 0x4E21, 0x97BC, 0x4E26, 0x95C0, 0x4E28, 0xFA68, 0x4E2A, 0x98A2, 0x4E2D, 0x9286, 0x4E31, 0x98A3, 0x4E32, 0x8BF8, - 0x4E36, 0x98A4, 0x4E38, 0x8ADB, 0x4E39, 0x924F, 0x4E3B, 0x8EE5, 0x4E3C, 0x98A5, 0x4E3F, 0x98A6, 0x4E42, 0x98A7, 0x4E43, 0x9454, - 0x4E45, 0x8B76, 0x4E4B, 0x9456, 0x4E4D, 0x93E1, 0x4E4E, 0x8CC1, 0x4E4F, 0x9652, 0x4E55, 0xE568, 0x4E56, 0x98A8, 0x4E57, 0x8FE6, - 0x4E58, 0x98A9, 0x4E59, 0x89B3, 0x4E5D, 0x8BE3, 0x4E5E, 0x8CEE, 0x4E5F, 0x96E7, 0x4E62, 0x9BA4, 0x4E71, 0x9790, 0x4E73, 0x93FB, - 0x4E7E, 0x8AA3, 0x4E80, 0x8B54, 0x4E82, 0x98AA, 0x4E85, 0x98AB, 0x4E86, 0x97B9, 0x4E88, 0x975C, 0x4E89, 0x9188, 0x4E8A, 0x98AD, - 0x4E8B, 0x8E96, 0x4E8C, 0x93F1, 0x4E8E, 0x98B0, 0x4E91, 0x895D, 0x4E92, 0x8CDD, 0x4E94, 0x8CDC, 0x4E95, 0x88E4, 0x4E98, 0x986A, - 0x4E99, 0x9869, 0x4E9B, 0x8DB1, 0x4E9C, 0x889F, 0x4E9E, 0x98B1, 0x4E9F, 0x98B2, 0x4EA0, 0x98B3, 0x4EA1, 0x9653, 0x4EA2, 0x98B4, - 0x4EA4, 0x8CF0, 0x4EA5, 0x88E5, 0x4EA6, 0x9692, 0x4EA8, 0x8B9C, 0x4EAB, 0x8B9D, 0x4EAC, 0x8B9E, 0x4EAD, 0x92E0, 0x4EAE, 0x97BA, - 0x4EB0, 0x98B5, 0x4EB3, 0x98B6, 0x4EB6, 0x98B7, 0x4EBA, 0x906C, 0x4EC0, 0x8F59, 0x4EC1, 0x906D, 0x4EC2, 0x98BC, 0x4EC4, 0x98BA, - 0x4EC6, 0x98BB, 0x4EC7, 0x8B77, 0x4ECA, 0x8DA1, 0x4ECB, 0x89EE, 0x4ECD, 0x98B9, 0x4ECE, 0x98B8, 0x4ECF, 0x95A7, 0x4ED4, 0x8E65, - 0x4ED5, 0x8E64, 0x4ED6, 0x91BC, 0x4ED7, 0x98BD, 0x4ED8, 0x9574, 0x4ED9, 0x90E5, 0x4EDD, 0x8157, 0x4EDE, 0x98BE, 0x4EDF, 0x98C0, - 0x4EE1, 0xFA69, 0x4EE3, 0x91E3, 0x4EE4, 0x97DF, 0x4EE5, 0x88C8, 0x4EED, 0x98BF, 0x4EEE, 0x89BC, 0x4EF0, 0x8BC2, 0x4EF2, 0x9287, - 0x4EF6, 0x8C8F, 0x4EF7, 0x98C1, 0x4EFB, 0x9443, 0x4EFC, 0xFA6A, 0x4F00, 0xFA6B, 0x4F01, 0x8AE9, 0x4F03, 0xFA6C, 0x4F09, 0x98C2, - 0x4F0A, 0x88C9, 0x4F0D, 0x8CDE, 0x4F0E, 0x8AEA, 0x4F0F, 0x959A, 0x4F10, 0x94B0, 0x4F11, 0x8B78, 0x4F1A, 0x89EF, 0x4F1C, 0x98E5, - 0x4F1D, 0x9360, 0x4F2F, 0x948C, 0x4F30, 0x98C4, 0x4F34, 0x94BA, 0x4F36, 0x97E0, 0x4F38, 0x904C, 0x4F39, 0xFA6D, 0x4F3A, 0x8E66, - 0x4F3C, 0x8E97, 0x4F3D, 0x89BE, 0x4F43, 0x92CF, 0x4F46, 0x9241, 0x4F47, 0x98C8, 0x4F4D, 0x88CA, 0x4F4E, 0x92E1, 0x4F4F, 0x8F5A, - 0x4F50, 0x8DB2, 0x4F51, 0x9743, 0x4F53, 0x91CC, 0x4F55, 0x89BD, 0x4F56, 0xFA6E, 0x4F57, 0x98C7, 0x4F59, 0x975D, 0x4F5A, 0x98C3, - 0x4F5B, 0x98C5, 0x4F5C, 0x8DEC, 0x4F5D, 0x98C6, 0x4F5E, 0x9B43, 0x4F69, 0x98CE, 0x4F6F, 0x98D1, 0x4F70, 0x98CF, 0x4F73, 0x89C0, - 0x4F75, 0x95B9, 0x4F76, 0x98C9, 0x4F7B, 0x98CD, 0x4F7C, 0x8CF1, 0x4F7F, 0x8E67, 0x4F83, 0x8AA4, 0x4F86, 0x98D2, 0x4F88, 0x98CA, - 0x4F8A, 0xFA70, 0x4F8B, 0x97E1, 0x4F8D, 0x8E98, 0x4F8F, 0x98CB, 0x4F91, 0x98D0, 0x4F92, 0xFA6F, 0x4F94, 0xFA72, 0x4F96, 0x98D3, - 0x4F98, 0x98CC, 0x4F9A, 0xFA71, 0x4F9B, 0x8B9F, 0x4F9D, 0x88CB, 0x4FA0, 0x8BA0, 0x4FA1, 0x89BF, 0x4FAB, 0x9B44, 0x4FAD, 0x9699, - 0x4FAE, 0x958E, 0x4FAF, 0x8CF2, 0x4FB5, 0x904E, 0x4FB6, 0x97B5, 0x4FBF, 0x95D6, 0x4FC2, 0x8C57, 0x4FC3, 0x91A3, 0x4FC4, 0x89E2, - 0x4FC9, 0xFA61, 0x4FCA, 0x8F72, 0x4FCD, 0xFA73, 0x4FCE, 0x98D7, 0x4FD0, 0x98DC, 0x4FD1, 0x98DA, 0x4FD4, 0x98D5, 0x4FD7, 0x91AD, - 0x4FD8, 0x98D8, 0x4FDA, 0x98DB, 0x4FDB, 0x98D9, 0x4FDD, 0x95DB, 0x4FDF, 0x98D6, 0x4FE1, 0x904D, 0x4FE3, 0x9693, 0x4FE4, 0x98DD, - 0x4FE5, 0x98DE, 0x4FEE, 0x8F43, 0x4FEF, 0x98EB, 0x4FF3, 0x946F, 0x4FF5, 0x9555, 0x4FF6, 0x98E6, 0x4FF8, 0x95EE, 0x4FFA, 0x89B4, - 0x4FFE, 0x98EA, 0x4FFF, 0xFA76, 0x5005, 0x98E4, 0x5006, 0x98ED, 0x5009, 0x9171, 0x500B, 0x8CC2, 0x500D, 0x947B, 0x500F, 0xE0C5, - 0x5011, 0x98EC, 0x5012, 0x937C, 0x5014, 0x98E1, 0x5016, 0x8CF4, 0x5019, 0x8CF3, 0x501A, 0x98DF, 0x501E, 0xFA77, 0x501F, 0x8ED8, - 0x5021, 0x98E7, 0x5022, 0xFA75, 0x5023, 0x95ED, 0x5024, 0x926C, 0x5025, 0x98E3, 0x5026, 0x8C91, 0x5028, 0x98E0, 0x5029, 0x98E8, - 0x502A, 0x98E2, 0x502B, 0x97CF, 0x502C, 0x98E9, 0x502D, 0x9860, 0x5036, 0x8BE4, 0x5039, 0x8C90, 0x5040, 0xFA74, 0x5042, 0xFA7A, - 0x5043, 0x98EE, 0x5046, 0xFA78, 0x5047, 0x98EF, 0x5048, 0x98F3, 0x5049, 0x88CC, 0x504F, 0x95CE, 0x5050, 0x98F2, 0x5055, 0x98F1, - 0x5056, 0x98F5, 0x505A, 0x98F4, 0x505C, 0x92E2, 0x5065, 0x8C92, 0x506C, 0x98F6, 0x5070, 0xFA79, 0x5072, 0x8EC3, 0x5074, 0x91A4, - 0x5075, 0x92E3, 0x5076, 0x8BF4, 0x5078, 0x98F7, 0x507D, 0x8B55, 0x5080, 0x98F8, 0x5085, 0x98FA, 0x508D, 0x9654, 0x5091, 0x8C86, - 0x5094, 0xFA7B, 0x5098, 0x8E50, 0x5099, 0x94F5, 0x509A, 0x98F9, 0x50AC, 0x8DC3, 0x50AD, 0x9762, 0x50B2, 0x98FC, 0x50B3, 0x9942, - 0x50B4, 0x98FB, 0x50B5, 0x8DC2, 0x50B7, 0x8F9D, 0x50BE, 0x8C58, 0x50C2, 0x9943, 0x50C5, 0x8BCD, 0x50C9, 0x9940, 0x50CA, 0x9941, - 0x50CD, 0x93AD, 0x50CF, 0x919C, 0x50D1, 0x8BA1, 0x50D5, 0x966C, 0x50D6, 0x9944, 0x50D8, 0xFA7D, 0x50DA, 0x97BB, 0x50DE, 0x9945, - 0x50E3, 0x9948, 0x50E5, 0x9946, 0x50E7, 0x916D, 0x50ED, 0x9947, 0x50EE, 0x9949, 0x50F4, 0xFA7C, 0x50F5, 0x994B, 0x50F9, 0x994A, - 0x50FB, 0x95C6, 0x5100, 0x8B56, 0x5101, 0x994D, 0x5102, 0x994E, 0x5104, 0x89AD, 0x5109, 0x994C, 0x5112, 0x8EF2, 0x5114, 0x9951, - 0x5115, 0x9950, 0x5116, 0x994F, 0x5118, 0x98D4, 0x511A, 0x9952, 0x511F, 0x8F9E, 0x5121, 0x9953, 0x512A, 0x9744, 0x5132, 0x96D7, - 0x5137, 0x9955, 0x513A, 0x9954, 0x513B, 0x9957, 0x513C, 0x9956, 0x513F, 0x9958, 0x5140, 0x9959, 0x5141, 0x88F2, 0x5143, 0x8CB3, - 0x5144, 0x8C5A, 0x5145, 0x8F5B, 0x5146, 0x929B, 0x5147, 0x8BA2, 0x5148, 0x90E6, 0x5149, 0x8CF5, 0x514A, 0xFA7E, 0x514B, 0x8D8E, - 0x514C, 0x995B, 0x514D, 0x96C6, 0x514E, 0x9365, 0x5150, 0x8E99, 0x5152, 0x995A, 0x5154, 0x995C, 0x515A, 0x937D, 0x515C, 0x8A95, - 0x5162, 0x995D, 0x5164, 0xFA80, 0x5165, 0x93FC, 0x5168, 0x9153, 0x5169, 0x995F, 0x516A, 0x9960, 0x516B, 0x94AA, 0x516C, 0x8CF6, - 0x516D, 0x985A, 0x516E, 0x9961, 0x5171, 0x8BA4, 0x5175, 0x95BA, 0x5176, 0x91B4, 0x5177, 0x8BEF, 0x5178, 0x9354, 0x517C, 0x8C93, - 0x5180, 0x9962, 0x5182, 0x9963, 0x5185, 0x93E0, 0x5186, 0x897E, 0x5189, 0x9966, 0x518A, 0x8DFB, 0x518C, 0x9965, 0x518D, 0x8DC4, - 0x518F, 0x9967, 0x5190, 0xE3EC, 0x5191, 0x9968, 0x5192, 0x9660, 0x5193, 0x9969, 0x5195, 0x996A, 0x5196, 0x996B, 0x5197, 0x8FE7, - 0x5199, 0x8ECA, 0x519D, 0xFA81, 0x51A0, 0x8AA5, 0x51A2, 0x996E, 0x51A4, 0x996C, 0x51A5, 0x96BB, 0x51A6, 0x996D, 0x51A8, 0x9579, - 0x51A9, 0x996F, 0x51AA, 0x9970, 0x51AB, 0x9971, 0x51AC, 0x937E, 0x51B0, 0x9975, 0x51B1, 0x9973, 0x51B2, 0x9974, 0x51B3, 0x9972, - 0x51B4, 0x8DE1, 0x51B5, 0x9976, 0x51B6, 0x96E8, 0x51B7, 0x97E2, 0x51BD, 0x9977, 0x51BE, 0xFA82, 0x51C4, 0x90A6, 0x51C5, 0x9978, - 0x51C6, 0x8F79, 0x51C9, 0x9979, 0x51CB, 0x929C, 0x51CC, 0x97BD, 0x51CD, 0x9380, 0x51D6, 0x99C3, 0x51DB, 0x997A, 0x51DC, 0xEAA3, - 0x51DD, 0x8BC3, 0x51E0, 0x997B, 0x51E1, 0x967D, 0x51E6, 0x8F88, 0x51E7, 0x91FA, 0x51E9, 0x997D, 0x51EA, 0x93E2, 0x51EC, 0xFA83, - 0x51ED, 0x997E, 0x51F0, 0x9980, 0x51F1, 0x8A4D, 0x51F5, 0x9981, 0x51F6, 0x8BA5, 0x51F8, 0x93CA, 0x51F9, 0x899A, 0x51FA, 0x8F6F, - 0x51FD, 0x949F, 0x51FE, 0x9982, 0x5200, 0x9381, 0x5203, 0x906E, 0x5204, 0x9983, 0x5206, 0x95AA, 0x5207, 0x90D8, 0x5208, 0x8AA0, - 0x520A, 0x8AA7, 0x520B, 0x9984, 0x520E, 0x9986, 0x5211, 0x8C59, 0x5214, 0x9985, 0x5215, 0xFA84, 0x5217, 0x97F1, 0x521D, 0x8F89, - 0x5224, 0x94BB, 0x5225, 0x95CA, 0x5227, 0x9987, 0x5229, 0x9798, 0x522A, 0x9988, 0x522E, 0x9989, 0x5230, 0x939E, 0x5233, 0x998A, - 0x5236, 0x90A7, 0x5237, 0x8DFC, 0x5238, 0x8C94, 0x5239, 0x998B, 0x523A, 0x8E68, 0x523B, 0x8D8F, 0x5243, 0x92E4, 0x5244, 0x998D, - 0x5247, 0x91A5, 0x524A, 0x8DED, 0x524B, 0x998E, 0x524C, 0x998F, 0x524D, 0x914F, 0x524F, 0x998C, 0x5254, 0x9991, 0x5256, 0x9655, - 0x525B, 0x8D84, 0x525E, 0x9990, 0x5263, 0x8C95, 0x5264, 0x8DDC, 0x5265, 0x948D, 0x5269, 0x9994, 0x526A, 0x9992, 0x526F, 0x959B, - 0x5270, 0x8FE8, 0x5271, 0x999B, 0x5272, 0x8A84, 0x5273, 0x9995, 0x5274, 0x9993, 0x5275, 0x916E, 0x527D, 0x9997, 0x527F, 0x9996, - 0x5283, 0x8A63, 0x5287, 0x8C80, 0x5288, 0x999C, 0x5289, 0x97AB, 0x528D, 0x9998, 0x5291, 0x999D, 0x5292, 0x999A, 0x5294, 0x9999, - 0x529B, 0x97CD, 0x529C, 0xFA85, 0x529F, 0x8CF7, 0x52A0, 0x89C1, 0x52A3, 0x97F2, 0x52A6, 0xFA86, 0x52A9, 0x8F95, 0x52AA, 0x9377, - 0x52AB, 0x8D85, 0x52AC, 0x99A0, 0x52AD, 0x99A1, 0x52AF, 0xFB77, 0x52B1, 0x97E3, 0x52B4, 0x984A, 0x52B5, 0x99A3, 0x52B9, 0x8CF8, - 0x52BC, 0x99A2, 0x52BE, 0x8A4E, 0x52C0, 0xFA87, 0x52C1, 0x99A4, 0x52C3, 0x9675, 0x52C5, 0x92BA, 0x52C7, 0x9745, 0x52C9, 0x95D7, - 0x52CD, 0x99A5, 0x52D2, 0xE8D3, 0x52D5, 0x93AE, 0x52D7, 0x99A6, 0x52D8, 0x8AA8, 0x52D9, 0x96B1, 0x52DB, 0xFA88, 0x52DD, 0x8F9F, - 0x52DE, 0x99A7, 0x52DF, 0x95E5, 0x52E0, 0x99AB, 0x52E2, 0x90A8, 0x52E3, 0x99A8, 0x52E4, 0x8BCE, 0x52E6, 0x99A9, 0x52E7, 0x8AA9, - 0x52F2, 0x8C4D, 0x52F3, 0x99AC, 0x52F5, 0x99AD, 0x52F8, 0x99AE, 0x52F9, 0x99AF, 0x52FA, 0x8ED9, 0x52FE, 0x8CF9, 0x52FF, 0x96DC, - 0x5300, 0xFA89, 0x5301, 0x96E6, 0x5302, 0x93F5, 0x5305, 0x95EF, 0x5306, 0x99B0, 0x5307, 0xFA8A, 0x5308, 0x99B1, 0x530D, 0x99B3, - 0x530F, 0x99B5, 0x5310, 0x99B4, 0x5315, 0x99B6, 0x5316, 0x89BB, 0x5317, 0x966B, 0x5319, 0x8DFA, 0x531A, 0x99B7, 0x531D, 0x9178, - 0x5320, 0x8FA0, 0x5321, 0x8BA7, 0x5323, 0x99B8, 0x5324, 0xFA8B, 0x532A, 0x94D9, 0x532F, 0x99B9, 0x5331, 0x99BA, 0x5333, 0x99BB, - 0x5338, 0x99BC, 0x5339, 0x9543, 0x533A, 0x8BE6, 0x533B, 0x88E3, 0x533F, 0x93BD, 0x5340, 0x99BD, 0x5341, 0x8F5C, 0x5343, 0x90E7, - 0x5345, 0x99BF, 0x5346, 0x99BE, 0x5347, 0x8FA1, 0x5348, 0x8CDF, 0x5349, 0x99C1, 0x534A, 0x94BC, 0x534D, 0x99C2, 0x5351, 0x94DA, - 0x5352, 0x91B2, 0x5353, 0x91EC, 0x5354, 0x8BA6, 0x5357, 0x93EC, 0x5358, 0x9250, 0x535A, 0x948E, 0x535C, 0x966D, 0x535E, 0x99C4, - 0x5360, 0x90E8, 0x5366, 0x8C54, 0x5369, 0x99C5, 0x536E, 0x99C6, 0x536F, 0x894B, 0x5370, 0x88F3, 0x5371, 0x8AEB, 0x5372, 0xFA8C, - 0x5373, 0x91A6, 0x5374, 0x8B70, 0x5375, 0x9791, 0x5377, 0x99C9, 0x5378, 0x89B5, 0x537B, 0x99C8, 0x537F, 0x8BA8, 0x5382, 0x99CA, - 0x5384, 0x96EF, 0x5393, 0xFA8D, 0x5396, 0x99CB, 0x5398, 0x97D0, 0x539A, 0x8CFA, 0x539F, 0x8CB4, 0x53A0, 0x99CC, 0x53A5, 0x99CE, - 0x53A6, 0x99CD, 0x53A8, 0x907E, 0x53A9, 0x8958, 0x53AD, 0x897D, 0x53AE, 0x99CF, 0x53B0, 0x99D0, 0x53B2, 0xFA8E, 0x53B3, 0x8CB5, - 0x53B6, 0x99D1, 0x53BB, 0x8B8E, 0x53C2, 0x8E51, 0x53C3, 0x99D2, 0x53C8, 0x9694, 0x53C9, 0x8DB3, 0x53CA, 0x8B79, 0x53CB, 0x9746, - 0x53CC, 0x916F, 0x53CD, 0x94BD, 0x53CE, 0x8EFB, 0x53D4, 0x8F66, 0x53D6, 0x8EE6, 0x53D7, 0x8EF3, 0x53D9, 0x8F96, 0x53DB, 0x94BE, - 0x53DD, 0xFA8F, 0x53DF, 0x99D5, 0x53E1, 0x8962, 0x53E2, 0x9170, 0x53E3, 0x8CFB, 0x53E4, 0x8CC3, 0x53E5, 0x8BE5, 0x53E8, 0x99D9, - 0x53E9, 0x9240, 0x53EA, 0x91FC, 0x53EB, 0x8BA9, 0x53EC, 0x8FA2, 0x53ED, 0x99DA, 0x53EE, 0x99D8, 0x53EF, 0x89C2, 0x53F0, 0x91E4, - 0x53F1, 0x8EB6, 0x53F2, 0x8E6A, 0x53F3, 0x8945, 0x53F6, 0x8A90, 0x53F7, 0x8D86, 0x53F8, 0x8E69, 0x53FA, 0x99DB, 0x5401, 0x99DC, - 0x5403, 0x8B68, 0x5404, 0x8A65, 0x5408, 0x8D87, 0x5409, 0x8B67, 0x540A, 0x92DD, 0x540B, 0x8944, 0x540C, 0x93AF, 0x540D, 0x96BC, - 0x540E, 0x8D40, 0x540F, 0x9799, 0x5410, 0x9366, 0x5411, 0x8CFC, 0x541B, 0x8C4E, 0x541D, 0x99E5, 0x541F, 0x8BE1, 0x5420, 0x9669, - 0x5426, 0x94DB, 0x5429, 0x99E4, 0x542B, 0x8ADC, 0x542C, 0x99DF, 0x542D, 0x99E0, 0x542E, 0x99E2, 0x5436, 0x99E3, 0x5438, 0x8B7A, - 0x5439, 0x9081, 0x543B, 0x95AB, 0x543C, 0x99E1, 0x543D, 0x99DD, 0x543E, 0x8CE1, 0x5440, 0x99DE, 0x5442, 0x9843, 0x5446, 0x95F0, - 0x5448, 0x92E6, 0x5449, 0x8CE0, 0x544A, 0x8D90, 0x544E, 0x99E6, 0x5451, 0x93DB, 0x545F, 0x99EA, 0x5468, 0x8EFC, 0x546A, 0x8EF4, - 0x5470, 0x99ED, 0x5471, 0x99EB, 0x5473, 0x96A1, 0x5475, 0x99E8, 0x5476, 0x99F1, 0x5477, 0x99EC, 0x547B, 0x99EF, 0x547C, 0x8CC4, - 0x547D, 0x96BD, 0x5480, 0x99F0, 0x5484, 0x99F2, 0x5486, 0x99F4, 0x548A, 0xFA92, 0x548B, 0x8DEE, 0x548C, 0x9861, 0x548E, 0x99E9, - 0x548F, 0x99E7, 0x5490, 0x99F3, 0x5492, 0x99EE, 0x549C, 0xFA91, 0x54A2, 0x99F6, 0x54A4, 0x9A42, 0x54A5, 0x99F8, 0x54A8, 0x99FC, - 0x54A9, 0xFA93, 0x54AB, 0x9A40, 0x54AC, 0x99F9, 0x54AF, 0x9A5D, 0x54B2, 0x8DE7, 0x54B3, 0x8A50, 0x54B8, 0x99F7, 0x54BC, 0x9A44, - 0x54BD, 0x88F4, 0x54BE, 0x9A43, 0x54C0, 0x88A3, 0x54C1, 0x9569, 0x54C2, 0x9A41, 0x54C4, 0x99FA, 0x54C7, 0x99F5, 0x54C8, 0x99FB, - 0x54C9, 0x8DC6, 0x54D8, 0x9A45, 0x54E1, 0x88F5, 0x54E2, 0x9A4E, 0x54E5, 0x9A46, 0x54E6, 0x9A47, 0x54E8, 0x8FA3, 0x54E9, 0x9689, - 0x54ED, 0x9A4C, 0x54EE, 0x9A4B, 0x54F2, 0x934E, 0x54FA, 0x9A4D, 0x54FD, 0x9A4A, 0x54FF, 0xFA94, 0x5504, 0x8953, 0x5506, 0x8DB4, - 0x5507, 0x904F, 0x550F, 0x9A48, 0x5510, 0x9382, 0x5514, 0x9A49, 0x5516, 0x88A0, 0x552E, 0x9A53, 0x552F, 0x9742, 0x5531, 0x8FA5, - 0x5533, 0x9A59, 0x5538, 0x9A58, 0x5539, 0x9A4F, 0x553E, 0x91C1, 0x5540, 0x9A50, 0x5544, 0x91ED, 0x5545, 0x9A55, 0x5546, 0x8FA4, - 0x554C, 0x9A52, 0x554F, 0x96E2, 0x5553, 0x8C5B, 0x5556, 0x9A56, 0x5557, 0x9A57, 0x555C, 0x9A54, 0x555D, 0x9A5A, 0x5563, 0x9A51, - 0x557B, 0x9A60, 0x557C, 0x9A65, 0x557E, 0x9A61, 0x5580, 0x9A5C, 0x5583, 0x9A66, 0x5584, 0x9150, 0x5586, 0xFA95, 0x5587, 0x9A68, - 0x5589, 0x8D41, 0x558A, 0x9A5E, 0x558B, 0x929D, 0x5598, 0x9A62, 0x5599, 0x9A5B, 0x559A, 0x8AAB, 0x559C, 0x8AEC, 0x559D, 0x8A85, - 0x559E, 0x9A63, 0x559F, 0x9A5F, 0x55A7, 0x8C96, 0x55A8, 0x9A69, 0x55A9, 0x9A67, 0x55AA, 0x9172, 0x55AB, 0x8B69, 0x55AC, 0x8BAA, - 0x55AE, 0x9A64, 0x55B0, 0x8BF2, 0x55B6, 0x8963, 0x55C4, 0x9A6D, 0x55C5, 0x9A6B, 0x55C7, 0x9AA5, 0x55D4, 0x9A70, 0x55DA, 0x9A6A, - 0x55DC, 0x9A6E, 0x55DF, 0x9A6C, 0x55E3, 0x8E6B, 0x55E4, 0x9A6F, 0x55F7, 0x9A72, 0x55F9, 0x9A77, 0x55FD, 0x9A75, 0x55FE, 0x9A74, - 0x5606, 0x9251, 0x5609, 0x89C3, 0x5614, 0x9A71, 0x5616, 0x9A73, 0x5617, 0x8FA6, 0x5618, 0x8952, 0x561B, 0x9A76, 0x5629, 0x89DC, - 0x562F, 0x9A82, 0x5631, 0x8FFA, 0x5632, 0x9A7D, 0x5634, 0x9A7B, 0x5636, 0x9A7C, 0x5638, 0x9A7E, 0x5642, 0x895C, 0x564C, 0x9158, - 0x564E, 0x9A78, 0x5650, 0x9A79, 0x565B, 0x8A9A, 0x5664, 0x9A81, 0x5668, 0x8AED, 0x566A, 0x9A84, 0x566B, 0x9A80, 0x566C, 0x9A83, - 0x5674, 0x95AC, 0x5678, 0x93D3, 0x567A, 0x94B6, 0x5680, 0x9A86, 0x5686, 0x9A85, 0x5687, 0x8A64, 0x568A, 0x9A87, 0x568F, 0x9A8A, - 0x5694, 0x9A89, 0x56A0, 0x9A88, 0x56A2, 0x9458, 0x56A5, 0x9A8B, 0x56AE, 0x9A8C, 0x56B4, 0x9A8E, 0x56B6, 0x9A8D, 0x56BC, 0x9A90, - 0x56C0, 0x9A93, 0x56C1, 0x9A91, 0x56C2, 0x9A8F, 0x56C3, 0x9A92, 0x56C8, 0x9A94, 0x56CE, 0x9A95, 0x56D1, 0x9A96, 0x56D3, 0x9A97, - 0x56D7, 0x9A98, 0x56D8, 0x9964, 0x56DA, 0x8EFA, 0x56DB, 0x8E6C, 0x56DE, 0x89F1, 0x56E0, 0x88F6, 0x56E3, 0x9263, 0x56EE, 0x9A99, - 0x56F0, 0x8DA2, 0x56F2, 0x88CD, 0x56F3, 0x907D, 0x56F9, 0x9A9A, 0x56FA, 0x8CC5, 0x56FD, 0x8D91, 0x56FF, 0x9A9C, 0x5700, 0x9A9B, - 0x5703, 0x95DE, 0x5704, 0x9A9D, 0x5708, 0x9A9F, 0x5709, 0x9A9E, 0x570B, 0x9AA0, 0x570D, 0x9AA1, 0x570F, 0x8C97, 0x5712, 0x8980, - 0x5713, 0x9AA2, 0x5716, 0x9AA4, 0x5718, 0x9AA3, 0x571C, 0x9AA6, 0x571F, 0x9379, 0x5726, 0x9AA7, 0x5727, 0x88B3, 0x5728, 0x8DDD, - 0x572D, 0x8C5C, 0x5730, 0x926E, 0x5737, 0x9AA8, 0x5738, 0x9AA9, 0x573B, 0x9AAB, 0x5740, 0x9AAC, 0x5742, 0x8DE2, 0x5747, 0x8BCF, - 0x574A, 0x9656, 0x574E, 0x9AAA, 0x574F, 0x9AAD, 0x5750, 0x8DBF, 0x5751, 0x8D42, 0x5759, 0xFA96, 0x5761, 0x9AB1, 0x5764, 0x8DA3, - 0x5765, 0xFA97, 0x5766, 0x9252, 0x5769, 0x9AAE, 0x576A, 0x92D8, 0x577F, 0x9AB2, 0x5782, 0x9082, 0x5788, 0x9AB0, 0x5789, 0x9AB3, - 0x578B, 0x8C5E, 0x5793, 0x9AB4, 0x57A0, 0x9AB5, 0x57A2, 0x8D43, 0x57A3, 0x8A5F, 0x57A4, 0x9AB7, 0x57AA, 0x9AB8, 0x57AC, 0xFA98, - 0x57B0, 0x9AB9, 0x57B3, 0x9AB6, 0x57C0, 0x9AAF, 0x57C3, 0x9ABA, 0x57C6, 0x9ABB, 0x57C7, 0xFA9A, 0x57C8, 0xFA99, 0x57CB, 0x9684, - 0x57CE, 0x8FE9, 0x57D2, 0x9ABD, 0x57D3, 0x9ABE, 0x57D4, 0x9ABC, 0x57D6, 0x9AC0, 0x57DC, 0x9457, 0x57DF, 0x88E6, 0x57E0, 0x9575, - 0x57E3, 0x9AC1, 0x57F4, 0x8FFB, 0x57F7, 0x8EB7, 0x57F9, 0x947C, 0x57FA, 0x8AEE, 0x57FC, 0x8DE9, 0x5800, 0x9678, 0x5802, 0x93B0, - 0x5805, 0x8C98, 0x5806, 0x91CD, 0x580A, 0x9ABF, 0x580B, 0x9AC2, 0x5815, 0x91C2, 0x5819, 0x9AC3, 0x581D, 0x9AC4, 0x5821, 0x9AC6, - 0x5824, 0x92E7, 0x582A, 0x8AAC, 0x582F, 0xEA9F, 0x5830, 0x8981, 0x5831, 0x95F1, 0x5834, 0x8FEA, 0x5835, 0x9367, 0x583A, 0x8DE4, - 0x583D, 0x9ACC, 0x5840, 0x95BB, 0x5841, 0x97DB, 0x584A, 0x89F2, 0x584B, 0x9AC8, 0x5851, 0x9159, 0x5852, 0x9ACB, 0x5854, 0x9383, - 0x5857, 0x9368, 0x5858, 0x9384, 0x5859, 0x94B7, 0x585A, 0x92CB, 0x585E, 0x8DC7, 0x5862, 0x9AC7, 0x5869, 0x8996, 0x586B, 0x9355, - 0x5870, 0x9AC9, 0x5872, 0x9AC5, 0x5875, 0x906F, 0x5879, 0x9ACD, 0x587E, 0x8F6D, 0x5883, 0x8BAB, 0x5885, 0x9ACE, 0x5893, 0x95E6, - 0x5897, 0x919D, 0x589C, 0x92C4, 0x589E, 0xFA9D, 0x589F, 0x9AD0, 0x58A8, 0x966E, 0x58AB, 0x9AD1, 0x58AE, 0x9AD6, 0x58B2, 0xFA9E, - 0x58B3, 0x95AD, 0x58B8, 0x9AD5, 0x58B9, 0x9ACF, 0x58BA, 0x9AD2, 0x58BB, 0x9AD4, 0x58BE, 0x8DA4, 0x58C1, 0x95C7, 0x58C5, 0x9AD7, - 0x58C7, 0x9264, 0x58CA, 0x89F3, 0x58CC, 0x8FEB, 0x58D1, 0x9AD9, 0x58D3, 0x9AD8, 0x58D5, 0x8D88, 0x58D7, 0x9ADA, 0x58D8, 0x9ADC, - 0x58D9, 0x9ADB, 0x58DC, 0x9ADE, 0x58DE, 0x9AD3, 0x58DF, 0x9AE0, 0x58E4, 0x9ADF, 0x58E5, 0x9ADD, 0x58EB, 0x8E6D, 0x58EC, 0x9070, - 0x58EE, 0x9173, 0x58EF, 0x9AE1, 0x58F0, 0x90BA, 0x58F1, 0x88EB, 0x58F2, 0x9484, 0x58F7, 0x92D9, 0x58F9, 0x9AE3, 0x58FA, 0x9AE2, - 0x58FB, 0x9AE4, 0x58FC, 0x9AE5, 0x58FD, 0x9AE6, 0x5902, 0x9AE7, 0x5909, 0x95CF, 0x590A, 0x9AE8, 0x590B, 0xFA9F, 0x590F, 0x89C4, - 0x5910, 0x9AE9, 0x5915, 0x975B, 0x5916, 0x8A4F, 0x5918, 0x99C7, 0x5919, 0x8F67, 0x591A, 0x91BD, 0x591B, 0x9AEA, 0x591C, 0x96E9, - 0x5922, 0x96B2, 0x5925, 0x9AEC, 0x5927, 0x91E5, 0x5929, 0x9356, 0x592A, 0x91BE, 0x592B, 0x9576, 0x592C, 0x9AED, 0x592D, 0x9AEE, - 0x592E, 0x899B, 0x5931, 0x8EB8, 0x5932, 0x9AEF, 0x5937, 0x88CE, 0x5938, 0x9AF0, 0x593E, 0x9AF1, 0x5944, 0x8982, 0x5947, 0x8AEF, - 0x5948, 0x93DE, 0x5949, 0x95F2, 0x594E, 0x9AF5, 0x594F, 0x9174, 0x5950, 0x9AF4, 0x5951, 0x8C5F, 0x5953, 0xFAA0, 0x5954, 0x967A, - 0x5955, 0x9AF3, 0x5957, 0x9385, 0x5958, 0x9AF7, 0x595A, 0x9AF6, 0x595B, 0xFAA1, 0x595D, 0xFAA2, 0x5960, 0x9AF9, 0x5962, 0x9AF8, - 0x5963, 0xFAA3, 0x5965, 0x899C, 0x5967, 0x9AFA, 0x5968, 0x8FA7, 0x5969, 0x9AFC, 0x596A, 0x9244, 0x596C, 0x9AFB, 0x596E, 0x95B1, - 0x5973, 0x8F97, 0x5974, 0x937A, 0x5978, 0x9B40, 0x597D, 0x8D44, 0x5981, 0x9B41, 0x5982, 0x9440, 0x5983, 0x94DC, 0x5984, 0x96CF, - 0x598A, 0x9444, 0x598D, 0x9B4A, 0x5993, 0x8B57, 0x5996, 0x9764, 0x5999, 0x96AD, 0x599B, 0x9BAA, 0x599D, 0x9B42, 0x59A3, 0x9B45, - 0x59A4, 0xFAA4, 0x59A5, 0x91C3, 0x59A8, 0x9657, 0x59AC, 0x9369, 0x59B2, 0x9B46, 0x59B9, 0x9685, 0x59BA, 0xFAA5, 0x59BB, 0x8DC8, - 0x59BE, 0x8FA8, 0x59C6, 0x9B47, 0x59C9, 0x8E6F, 0x59CB, 0x8E6E, 0x59D0, 0x88B7, 0x59D1, 0x8CC6, 0x59D3, 0x90A9, 0x59D4, 0x88CF, - 0x59D9, 0x9B4B, 0x59DA, 0x9B4C, 0x59DC, 0x9B49, 0x59E5, 0x8957, 0x59E6, 0x8AAD, 0x59E8, 0x9B48, 0x59EA, 0x96C3, 0x59EB, 0x9550, - 0x59F6, 0x88A6, 0x59FB, 0x88F7, 0x59FF, 0x8E70, 0x5A01, 0x88D0, 0x5A03, 0x88A1, 0x5A09, 0x9B51, 0x5A11, 0x9B4F, 0x5A18, 0x96BA, - 0x5A1A, 0x9B52, 0x5A1C, 0x9B50, 0x5A1F, 0x9B4E, 0x5A20, 0x9050, 0x5A25, 0x9B4D, 0x5A29, 0x95D8, 0x5A2F, 0x8CE2, 0x5A35, 0x9B56, - 0x5A36, 0x9B57, 0x5A3C, 0x8FA9, 0x5A40, 0x9B53, 0x5A41, 0x984B, 0x5A46, 0x946B, 0x5A49, 0x9B55, 0x5A5A, 0x8DA5, 0x5A62, 0x9B58, - 0x5A66, 0x9577, 0x5A6A, 0x9B59, 0x5A6C, 0x9B54, 0x5A7F, 0x96B9, 0x5A92, 0x947D, 0x5A9A, 0x9B5A, 0x5A9B, 0x9551, 0x5ABC, 0x9B5B, - 0x5ABD, 0x9B5F, 0x5ABE, 0x9B5C, 0x5AC1, 0x89C5, 0x5AC2, 0x9B5E, 0x5AC9, 0x8EB9, 0x5ACB, 0x9B5D, 0x5ACC, 0x8C99, 0x5AD0, 0x9B6B, - 0x5AD6, 0x9B64, 0x5AD7, 0x9B61, 0x5AE1, 0x9284, 0x5AE3, 0x9B60, 0x5AE6, 0x9B62, 0x5AE9, 0x9B63, 0x5AFA, 0x9B65, 0x5AFB, 0x9B66, - 0x5B09, 0x8AF0, 0x5B0B, 0x9B68, 0x5B0C, 0x9B67, 0x5B16, 0x9B69, 0x5B22, 0x8FEC, 0x5B2A, 0x9B6C, 0x5B2C, 0x92DA, 0x5B30, 0x8964, - 0x5B32, 0x9B6A, 0x5B36, 0x9B6D, 0x5B3E, 0x9B6E, 0x5B40, 0x9B71, 0x5B43, 0x9B6F, 0x5B45, 0x9B70, 0x5B50, 0x8E71, 0x5B51, 0x9B72, - 0x5B54, 0x8D45, 0x5B55, 0x9B73, 0x5B56, 0xFAA6, 0x5B57, 0x8E9A, 0x5B58, 0x91B6, 0x5B5A, 0x9B74, 0x5B5B, 0x9B75, 0x5B5C, 0x8E79, - 0x5B5D, 0x8D46, 0x5B5F, 0x96D0, 0x5B63, 0x8B47, 0x5B64, 0x8CC7, 0x5B65, 0x9B76, 0x5B66, 0x8A77, 0x5B69, 0x9B77, 0x5B6B, 0x91B7, - 0x5B70, 0x9B78, 0x5B71, 0x9BA1, 0x5B73, 0x9B79, 0x5B75, 0x9B7A, 0x5B78, 0x9B7B, 0x5B7A, 0x9B7D, 0x5B80, 0x9B7E, 0x5B83, 0x9B80, - 0x5B85, 0x91EE, 0x5B87, 0x8946, 0x5B88, 0x8EE7, 0x5B89, 0x88C0, 0x5B8B, 0x9176, 0x5B8C, 0x8AAE, 0x5B8D, 0x8EB3, 0x5B8F, 0x8D47, - 0x5B95, 0x9386, 0x5B97, 0x8F40, 0x5B98, 0x8AAF, 0x5B99, 0x9288, 0x5B9A, 0x92E8, 0x5B9B, 0x88B6, 0x5B9C, 0x8B58, 0x5B9D, 0x95F3, - 0x5B9F, 0x8EC0, 0x5BA2, 0x8B71, 0x5BA3, 0x90E9, 0x5BA4, 0x8EBA, 0x5BA5, 0x9747, 0x5BA6, 0x9B81, 0x5BAE, 0x8B7B, 0x5BB0, 0x8DC9, - 0x5BB3, 0x8A51, 0x5BB4, 0x8983, 0x5BB5, 0x8FAA, 0x5BB6, 0x89C6, 0x5BB8, 0x9B82, 0x5BB9, 0x9765, 0x5BBF, 0x8F68, 0x5BC0, 0xFAA7, - 0x5BC2, 0x8EE2, 0x5BC3, 0x9B83, 0x5BC4, 0x8AF1, 0x5BC5, 0x93D0, 0x5BC6, 0x96A7, 0x5BC7, 0x9B84, 0x5BC9, 0x9B85, 0x5BCC, 0x9578, - 0x5BD0, 0x9B87, 0x5BD2, 0x8AA6, 0x5BD3, 0x8BF5, 0x5BD4, 0x9B86, 0x5BD8, 0xFAA9, 0x5BDB, 0x8AB0, 0x5BDD, 0x9051, 0x5BDE, 0x9B8B, - 0x5BDF, 0x8E40, 0x5BE1, 0x89C7, 0x5BE2, 0x9B8A, 0x5BE4, 0x9B88, 0x5BE5, 0x9B8C, 0x5BE6, 0x9B89, 0x5BE7, 0x944A, 0x5BE8, 0x9ECB, - 0x5BE9, 0x9052, 0x5BEB, 0x9B8D, 0x5BEC, 0xFAAA, 0x5BEE, 0x97BE, 0x5BF0, 0x9B8E, 0x5BF3, 0x9B90, 0x5BF5, 0x929E, 0x5BF6, 0x9B8F, - 0x5BF8, 0x90A1, 0x5BFA, 0x8E9B, 0x5BFE, 0x91CE, 0x5BFF, 0x8EF5, 0x5C01, 0x9595, 0x5C02, 0x90EA, 0x5C04, 0x8ECB, 0x5C05, 0x9B91, - 0x5C06, 0x8FAB, 0x5C07, 0x9B92, 0x5C08, 0x9B93, 0x5C09, 0x88D1, 0x5C0A, 0x91B8, 0x5C0B, 0x9071, 0x5C0D, 0x9B94, 0x5C0E, 0x93B1, - 0x5C0F, 0x8FAC, 0x5C11, 0x8FAD, 0x5C13, 0x9B95, 0x5C16, 0x90EB, 0x5C1A, 0x8FAE, 0x5C1E, 0xFAAB, 0x5C20, 0x9B96, 0x5C22, 0x9B97, - 0x5C24, 0x96DE, 0x5C28, 0x9B98, 0x5C2D, 0x8BC4, 0x5C31, 0x8F41, 0x5C38, 0x9B99, 0x5C39, 0x9B9A, 0x5C3A, 0x8EDA, 0x5C3B, 0x904B, - 0x5C3C, 0x93F2, 0x5C3D, 0x9073, 0x5C3E, 0x94F6, 0x5C3F, 0x9441, 0x5C40, 0x8BC7, 0x5C41, 0x9B9B, 0x5C45, 0x8B8F, 0x5C46, 0x9B9C, - 0x5C48, 0x8BFC, 0x5C4A, 0x93CD, 0x5C4B, 0x89AE, 0x5C4D, 0x8E72, 0x5C4E, 0x9B9D, 0x5C4F, 0x9BA0, 0x5C50, 0x9B9F, 0x5C51, 0x8BFB, - 0x5C53, 0x9B9E, 0x5C55, 0x9357, 0x5C5E, 0x91AE, 0x5C60, 0x936A, 0x5C61, 0x8EC6, 0x5C64, 0x9177, 0x5C65, 0x979A, 0x5C6C, 0x9BA2, - 0x5C6E, 0x9BA3, 0x5C6F, 0x93D4, 0x5C71, 0x8E52, 0x5C76, 0x9BA5, 0x5C79, 0x9BA6, 0x5C8C, 0x9BA7, 0x5C90, 0x8AF2, 0x5C91, 0x9BA8, - 0x5C94, 0x9BA9, 0x5CA1, 0x89AA, 0x5CA6, 0xFAAC, 0x5CA8, 0x915A, 0x5CA9, 0x8AE2, 0x5CAB, 0x9BAB, 0x5CAC, 0x96A6, 0x5CB1, 0x91D0, - 0x5CB3, 0x8A78, 0x5CB6, 0x9BAD, 0x5CB7, 0x9BAF, 0x5CB8, 0x8ADD, 0x5CBA, 0xFAAD, 0x5CBB, 0x9BAC, 0x5CBC, 0x9BAE, 0x5CBE, 0x9BB1, - 0x5CC5, 0x9BB0, 0x5CC7, 0x9BB2, 0x5CD9, 0x9BB3, 0x5CE0, 0x93BB, 0x5CE1, 0x8BAC, 0x5CE8, 0x89E3, 0x5CE9, 0x9BB4, 0x5CEA, 0x9BB9, - 0x5CED, 0x9BB7, 0x5CEF, 0x95F5, 0x5CF0, 0x95F4, 0x5CF5, 0xFAAE, 0x5CF6, 0x9387, 0x5CFA, 0x9BB6, 0x5CFB, 0x8F73, 0x5CFD, 0x9BB5, - 0x5D07, 0x9092, 0x5D0B, 0x9BBA, 0x5D0E, 0x8DE8, 0x5D11, 0x9BC0, 0x5D14, 0x9BC1, 0x5D15, 0x9BBB, 0x5D16, 0x8A52, 0x5D17, 0x9BBC, - 0x5D18, 0x9BC5, 0x5D19, 0x9BC4, 0x5D1A, 0x9BC3, 0x5D1B, 0x9BBF, 0x5D1F, 0x9BBE, 0x5D22, 0x9BC2, 0x5D27, 0xFAAF, 0x5D29, 0x95F6, - 0x5D42, 0xFAB2, 0x5D4B, 0x9BC9, 0x5D4C, 0x9BC6, 0x5D4E, 0x9BC8, 0x5D50, 0x9792, 0x5D52, 0x9BC7, 0x5D53, 0xFAB0, 0x5D5C, 0x9BBD, - 0x5D69, 0x9093, 0x5D6C, 0x9BCA, 0x5D6D, 0xFAB3, 0x5D6F, 0x8DB5, 0x5D73, 0x9BCB, 0x5D76, 0x9BCC, 0x5D82, 0x9BCF, 0x5D84, 0x9BCE, - 0x5D87, 0x9BCD, 0x5D8B, 0x9388, 0x5D8C, 0x9BB8, 0x5D90, 0x9BD5, 0x5D9D, 0x9BD1, 0x5DA2, 0x9BD0, 0x5DAC, 0x9BD2, 0x5DAE, 0x9BD3, - 0x5DB7, 0x9BD6, 0x5DB8, 0xFAB4, 0x5DB9, 0xFAB5, 0x5DBA, 0x97E4, 0x5DBC, 0x9BD7, 0x5DBD, 0x9BD4, 0x5DC9, 0x9BD8, 0x5DCC, 0x8ADE, - 0x5DCD, 0x9BD9, 0x5DD0, 0xFAB6, 0x5DD2, 0x9BDB, 0x5DD3, 0x9BDA, 0x5DD6, 0x9BDC, 0x5DDB, 0x9BDD, 0x5DDD, 0x90EC, 0x5DDE, 0x8F42, - 0x5DE1, 0x8F84, 0x5DE3, 0x9183, 0x5DE5, 0x8D48, 0x5DE6, 0x8DB6, 0x5DE7, 0x8D49, 0x5DE8, 0x8B90, 0x5DEB, 0x9BDE, 0x5DEE, 0x8DB7, - 0x5DF1, 0x8CC8, 0x5DF2, 0x9BDF, 0x5DF3, 0x96A4, 0x5DF4, 0x9462, 0x5DF5, 0x9BE0, 0x5DF7, 0x8D4A, 0x5DFB, 0x8AAA, 0x5DFD, 0x9246, - 0x5DFE, 0x8BD0, 0x5E02, 0x8E73, 0x5E03, 0x957A, 0x5E06, 0x94BF, 0x5E0B, 0x9BE1, 0x5E0C, 0x8AF3, 0x5E11, 0x9BE4, 0x5E16, 0x929F, - 0x5E19, 0x9BE3, 0x5E1A, 0x9BE2, 0x5E1B, 0x9BE5, 0x5E1D, 0x92E9, 0x5E25, 0x9083, 0x5E2B, 0x8E74, 0x5E2D, 0x90C8, 0x5E2F, 0x91D1, - 0x5E30, 0x8B41, 0x5E33, 0x92A0, 0x5E36, 0x9BE6, 0x5E37, 0x9BE7, 0x5E38, 0x8FED, 0x5E3D, 0x9658, 0x5E40, 0x9BEA, 0x5E43, 0x9BE9, - 0x5E44, 0x9BE8, 0x5E45, 0x959D, 0x5E47, 0x9BF1, 0x5E4C, 0x9679, 0x5E4E, 0x9BEB, 0x5E54, 0x9BED, 0x5E55, 0x968B, 0x5E57, 0x9BEC, - 0x5E5F, 0x9BEE, 0x5E61, 0x94A6, 0x5E62, 0x9BEF, 0x5E63, 0x95BC, 0x5E64, 0x9BF0, 0x5E72, 0x8AB1, 0x5E73, 0x95BD, 0x5E74, 0x944E, - 0x5E75, 0x9BF2, 0x5E76, 0x9BF3, 0x5E78, 0x8D4B, 0x5E79, 0x8AB2, 0x5E7A, 0x9BF4, 0x5E7B, 0x8CB6, 0x5E7C, 0x9763, 0x5E7D, 0x9748, - 0x5E7E, 0x8AF4, 0x5E7F, 0x9BF6, 0x5E81, 0x92A1, 0x5E83, 0x8D4C, 0x5E84, 0x8FAF, 0x5E87, 0x94DD, 0x5E8A, 0x8FB0, 0x5E8F, 0x8F98, - 0x5E95, 0x92EA, 0x5E96, 0x95F7, 0x5E97, 0x9358, 0x5E9A, 0x8D4D, 0x5E9C, 0x957B, 0x5EA0, 0x9BF7, 0x5EA6, 0x9378, 0x5EA7, 0x8DC0, - 0x5EAB, 0x8CC9, 0x5EAD, 0x92EB, 0x5EB5, 0x88C1, 0x5EB6, 0x8F8E, 0x5EB7, 0x8D4E, 0x5EB8, 0x9766, 0x5EC1, 0x9BF8, 0x5EC2, 0x9BF9, - 0x5EC3, 0x9470, 0x5EC8, 0x9BFA, 0x5EC9, 0x97F5, 0x5ECA, 0x984C, 0x5ECF, 0x9BFC, 0x5ED0, 0x9BFB, 0x5ED3, 0x8A66, 0x5ED6, 0x9C40, - 0x5EDA, 0x9C43, 0x5EDB, 0x9C44, 0x5EDD, 0x9C42, 0x5EDF, 0x955F, 0x5EE0, 0x8FB1, 0x5EE1, 0x9C46, 0x5EE2, 0x9C45, 0x5EE3, 0x9C41, - 0x5EE8, 0x9C47, 0x5EE9, 0x9C48, 0x5EEC, 0x9C49, 0x5EF0, 0x9C4C, 0x5EF1, 0x9C4A, 0x5EF3, 0x9C4B, 0x5EF4, 0x9C4D, 0x5EF6, 0x8984, - 0x5EF7, 0x92EC, 0x5EF8, 0x9C4E, 0x5EFA, 0x8C9A, 0x5EFB, 0x89F4, 0x5EFC, 0x9455, 0x5EFE, 0x9C4F, 0x5EFF, 0x93F9, 0x5F01, 0x95D9, - 0x5F03, 0x9C50, 0x5F04, 0x984D, 0x5F09, 0x9C51, 0x5F0A, 0x95BE, 0x5F0B, 0x9C54, 0x5F0C, 0x989F, 0x5F0D, 0x98AF, 0x5F0F, 0x8EAE, - 0x5F10, 0x93F3, 0x5F11, 0x9C55, 0x5F13, 0x8B7C, 0x5F14, 0x92A2, 0x5F15, 0x88F8, 0x5F16, 0x9C56, 0x5F17, 0x95A4, 0x5F18, 0x8D4F, - 0x5F1B, 0x926F, 0x5F1F, 0x92ED, 0x5F21, 0xFAB7, 0x5F25, 0x96ED, 0x5F26, 0x8CB7, 0x5F27, 0x8CCA, 0x5F29, 0x9C57, 0x5F2D, 0x9C58, - 0x5F2F, 0x9C5E, 0x5F31, 0x8EE3, 0x5F34, 0xFAB8, 0x5F35, 0x92A3, 0x5F37, 0x8BAD, 0x5F38, 0x9C59, 0x5F3C, 0x954A, 0x5F3E, 0x9265, - 0x5F41, 0x9C5A, 0x5F45, 0xFA67, 0x5F48, 0x9C5B, 0x5F4A, 0x8BAE, 0x5F4C, 0x9C5C, 0x5F4E, 0x9C5D, 0x5F51, 0x9C5F, 0x5F53, 0x9396, - 0x5F56, 0x9C60, 0x5F57, 0x9C61, 0x5F59, 0x9C62, 0x5F5C, 0x9C53, 0x5F5D, 0x9C52, 0x5F61, 0x9C63, 0x5F62, 0x8C60, 0x5F66, 0x9546, - 0x5F67, 0xFAB9, 0x5F69, 0x8DCA, 0x5F6A, 0x9556, 0x5F6B, 0x92A4, 0x5F6C, 0x956A, 0x5F6D, 0x9C64, 0x5F70, 0x8FB2, 0x5F71, 0x8965, - 0x5F73, 0x9C65, 0x5F77, 0x9C66, 0x5F79, 0x96F0, 0x5F7C, 0x94DE, 0x5F7F, 0x9C69, 0x5F80, 0x899D, 0x5F81, 0x90AA, 0x5F82, 0x9C68, - 0x5F83, 0x9C67, 0x5F84, 0x8C61, 0x5F85, 0x91D2, 0x5F87, 0x9C6D, 0x5F88, 0x9C6B, 0x5F8A, 0x9C6A, 0x5F8B, 0x97A5, 0x5F8C, 0x8CE3, - 0x5F90, 0x8F99, 0x5F91, 0x9C6C, 0x5F92, 0x936B, 0x5F93, 0x8F5D, 0x5F97, 0x93BE, 0x5F98, 0x9C70, 0x5F99, 0x9C6F, 0x5F9E, 0x9C6E, - 0x5FA0, 0x9C71, 0x5FA1, 0x8CE4, 0x5FA8, 0x9C72, 0x5FA9, 0x959C, 0x5FAA, 0x8F7A, 0x5FAD, 0x9C73, 0x5FAE, 0x94F7, 0x5FB3, 0x93BF, - 0x5FB4, 0x92A5, 0x5FB7, 0xFABA, 0x5FB9, 0x934F, 0x5FBC, 0x9C74, 0x5FBD, 0x8B4A, 0x5FC3, 0x9053, 0x5FC5, 0x954B, 0x5FCC, 0x8AF5, - 0x5FCD, 0x9445, 0x5FD6, 0x9C75, 0x5FD7, 0x8E75, 0x5FD8, 0x9659, 0x5FD9, 0x965A, 0x5FDC, 0x899E, 0x5FDD, 0x9C7A, 0x5FDE, 0xFABB, - 0x5FE0, 0x9289, 0x5FE4, 0x9C77, 0x5FEB, 0x89F5, 0x5FF0, 0x9CAB, 0x5FF1, 0x9C79, 0x5FF5, 0x944F, 0x5FF8, 0x9C78, 0x5FFB, 0x9C76, - 0x5FFD, 0x8D9A, 0x5FFF, 0x9C7C, 0x600E, 0x9C83, 0x600F, 0x9C89, 0x6010, 0x9C81, 0x6012, 0x937B, 0x6015, 0x9C86, 0x6016, 0x957C, - 0x6019, 0x9C80, 0x601B, 0x9C85, 0x601C, 0x97E5, 0x601D, 0x8E76, 0x6020, 0x91D3, 0x6021, 0x9C7D, 0x6025, 0x8B7D, 0x6026, 0x9C88, - 0x6027, 0x90AB, 0x6028, 0x8985, 0x6029, 0x9C82, 0x602A, 0x89F6, 0x602B, 0x9C87, 0x602F, 0x8BAF, 0x6031, 0x9C84, 0x603A, 0x9C8A, - 0x6041, 0x9C8C, 0x6042, 0x9C96, 0x6043, 0x9C94, 0x6046, 0x9C91, 0x604A, 0x9C90, 0x604B, 0x97F6, 0x604D, 0x9C92, 0x6050, 0x8BB0, - 0x6052, 0x8D50, 0x6055, 0x8F9A, 0x6059, 0x9C99, 0x605A, 0x9C8B, 0x605D, 0xFABC, 0x605F, 0x9C8F, 0x6060, 0x9C7E, 0x6062, 0x89F8, - 0x6063, 0x9C93, 0x6064, 0x9C95, 0x6065, 0x9270, 0x6068, 0x8DA6, 0x6069, 0x89B6, 0x606A, 0x9C8D, 0x606B, 0x9C98, 0x606C, 0x9C97, - 0x606D, 0x8BB1, 0x606F, 0x91A7, 0x6070, 0x8A86, 0x6075, 0x8C62, 0x6077, 0x9C8E, 0x6081, 0x9C9A, 0x6083, 0x9C9D, 0x6084, 0x9C9F, - 0x6085, 0xFABD, 0x6089, 0x8EBB, 0x608A, 0xFABE, 0x608B, 0x9CA5, 0x608C, 0x92EE, 0x608D, 0x9C9B, 0x6092, 0x9CA3, 0x6094, 0x89F7, - 0x6096, 0x9CA1, 0x6097, 0x9CA2, 0x609A, 0x9C9E, 0x609B, 0x9CA0, 0x609F, 0x8CE5, 0x60A0, 0x9749, 0x60A3, 0x8AB3, 0x60A6, 0x8978, - 0x60A7, 0x9CA4, 0x60A9, 0x9459, 0x60AA, 0x88AB, 0x60B2, 0x94DF, 0x60B3, 0x9C7B, 0x60B4, 0x9CAA, 0x60B5, 0x9CAE, 0x60B6, 0x96E3, - 0x60B8, 0x9CA7, 0x60BC, 0x9389, 0x60BD, 0x9CAC, 0x60C5, 0x8FEE, 0x60C6, 0x9CAD, 0x60C7, 0x93D5, 0x60D1, 0x9866, 0x60D3, 0x9CA9, - 0x60D5, 0xFAC0, 0x60D8, 0x9CAF, 0x60DA, 0x8D9B, 0x60DC, 0x90C9, 0x60DE, 0xFABF, 0x60DF, 0x88D2, 0x60E0, 0x9CA8, 0x60E1, 0x9CA6, - 0x60E3, 0x9179, 0x60E7, 0x9C9C, 0x60E8, 0x8E53, 0x60F0, 0x91C4, 0x60F1, 0x9CBB, 0x60F2, 0xFAC2, 0x60F3, 0x917A, 0x60F4, 0x9CB6, - 0x60F6, 0x9CB3, 0x60F7, 0x9CB4, 0x60F9, 0x8EE4, 0x60FA, 0x9CB7, 0x60FB, 0x9CBA, 0x6100, 0x9CB5, 0x6101, 0x8F44, 0x6103, 0x9CB8, - 0x6106, 0x9CB2, 0x6108, 0x96FA, 0x6109, 0x96F9, 0x610D, 0x9CBC, 0x610E, 0x9CBD, 0x610F, 0x88D3, 0x6111, 0xFAC3, 0x6115, 0x9CB1, - 0x611A, 0x8BF0, 0x611B, 0x88A4, 0x611F, 0x8AB4, 0x6120, 0xFAC1, 0x6121, 0x9CB9, 0x6127, 0x9CC1, 0x6128, 0x9CC0, 0x612C, 0x9CC5, - 0x6130, 0xFAC5, 0x6134, 0x9CC6, 0x6137, 0xFAC4, 0x613C, 0x9CC4, 0x613D, 0x9CC7, 0x613E, 0x9CBF, 0x613F, 0x9CC3, 0x6142, 0x9CC8, - 0x6144, 0x9CC9, 0x6147, 0x9CBE, 0x6148, 0x8E9C, 0x614A, 0x9CC2, 0x614B, 0x91D4, 0x614C, 0x8D51, 0x614D, 0x9CB0, 0x614E, 0x9054, - 0x6153, 0x9CD6, 0x6155, 0x95E7, 0x6158, 0x9CCC, 0x6159, 0x9CCD, 0x615A, 0x9CCE, 0x615D, 0x9CD5, 0x615F, 0x9CD4, 0x6162, 0x969D, - 0x6163, 0x8AB5, 0x6165, 0x9CD2, 0x6167, 0x8C64, 0x6168, 0x8A53, 0x616B, 0x9CCF, 0x616E, 0x97B6, 0x616F, 0x9CD1, 0x6170, 0x88D4, - 0x6171, 0x9CD3, 0x6173, 0x9CCA, 0x6174, 0x9CD0, 0x6175, 0x9CD7, 0x6176, 0x8C63, 0x6177, 0x9CCB, 0x617E, 0x977C, 0x6182, 0x974A, - 0x6187, 0x9CDA, 0x618A, 0x9CDE, 0x618E, 0x919E, 0x6190, 0x97F7, 0x6191, 0x9CDF, 0x6194, 0x9CDC, 0x6196, 0x9CD9, 0x6198, 0xFAC6, - 0x6199, 0x9CD8, 0x619A, 0x9CDD, 0x61A4, 0x95AE, 0x61A7, 0x93B2, 0x61A9, 0x8C65, 0x61AB, 0x9CE0, 0x61AC, 0x9CDB, 0x61AE, 0x9CE1, - 0x61B2, 0x8C9B, 0x61B6, 0x89AF, 0x61BA, 0x9CE9, 0x61BE, 0x8AB6, 0x61C3, 0x9CE7, 0x61C6, 0x9CE8, 0x61C7, 0x8DA7, 0x61C8, 0x9CE6, - 0x61C9, 0x9CE4, 0x61CA, 0x9CE3, 0x61CB, 0x9CEA, 0x61CC, 0x9CE2, 0x61CD, 0x9CEC, 0x61D0, 0x89F9, 0x61E3, 0x9CEE, 0x61E6, 0x9CED, - 0x61F2, 0x92A6, 0x61F4, 0x9CF1, 0x61F6, 0x9CEF, 0x61F7, 0x9CE5, 0x61F8, 0x8C9C, 0x61FA, 0x9CF0, 0x61FC, 0x9CF4, 0x61FD, 0x9CF3, - 0x61FE, 0x9CF5, 0x61FF, 0x9CF2, 0x6200, 0x9CF6, 0x6208, 0x9CF7, 0x6209, 0x9CF8, 0x620A, 0x95E8, 0x620C, 0x9CFA, 0x620D, 0x9CF9, - 0x620E, 0x8F5E, 0x6210, 0x90AC, 0x6211, 0x89E4, 0x6212, 0x89FA, 0x6213, 0xFAC7, 0x6214, 0x9CFB, 0x6216, 0x88BD, 0x621A, 0x90CA, - 0x621B, 0x9CFC, 0x621D, 0xE6C1, 0x621E, 0x9D40, 0x621F, 0x8C81, 0x6221, 0x9D41, 0x6226, 0x90ED, 0x622A, 0x9D42, 0x622E, 0x9D43, - 0x622F, 0x8B59, 0x6230, 0x9D44, 0x6232, 0x9D45, 0x6233, 0x9D46, 0x6234, 0x91D5, 0x6238, 0x8CCB, 0x623B, 0x96DF, 0x623F, 0x965B, - 0x6240, 0x8F8A, 0x6241, 0x9D47, 0x6247, 0x90EE, 0x6248, 0xE7BB, 0x6249, 0x94E0, 0x624B, 0x8EE8, 0x624D, 0x8DCB, 0x624E, 0x9D48, - 0x6253, 0x91C5, 0x6255, 0x95A5, 0x6258, 0x91EF, 0x625B, 0x9D4B, 0x625E, 0x9D49, 0x6260, 0x9D4C, 0x6263, 0x9D4A, 0x6268, 0x9D4D, - 0x626E, 0x95AF, 0x6271, 0x88B5, 0x6276, 0x957D, 0x6279, 0x94E1, 0x627C, 0x9D4E, 0x627E, 0x9D51, 0x627F, 0x8FB3, 0x6280, 0x8B5A, - 0x6282, 0x9D4F, 0x6283, 0x9D56, 0x6284, 0x8FB4, 0x6289, 0x9D50, 0x628A, 0x9463, 0x6291, 0x977D, 0x6292, 0x9D52, 0x6293, 0x9D53, - 0x6294, 0x9D57, 0x6295, 0x938A, 0x6296, 0x9D54, 0x6297, 0x8D52, 0x6298, 0x90DC, 0x629B, 0x9D65, 0x629C, 0x94B2, 0x629E, 0x91F0, - 0x62A6, 0xFAC8, 0x62AB, 0x94E2, 0x62AC, 0x9DAB, 0x62B1, 0x95F8, 0x62B5, 0x92EF, 0x62B9, 0x9695, 0x62BB, 0x9D5A, 0x62BC, 0x899F, - 0x62BD, 0x928A, 0x62C2, 0x9D63, 0x62C5, 0x9253, 0x62C6, 0x9D5D, 0x62C7, 0x9D64, 0x62C8, 0x9D5F, 0x62C9, 0x9D66, 0x62CA, 0x9D62, - 0x62CC, 0x9D61, 0x62CD, 0x948F, 0x62CF, 0x9D5B, 0x62D0, 0x89FB, 0x62D1, 0x9D59, 0x62D2, 0x8B91, 0x62D3, 0x91F1, 0x62D4, 0x9D55, - 0x62D7, 0x9D58, 0x62D8, 0x8D53, 0x62D9, 0x90D9, 0x62DB, 0x8FB5, 0x62DC, 0x9D60, 0x62DD, 0x9471, 0x62E0, 0x8B92, 0x62E1, 0x8A67, - 0x62EC, 0x8A87, 0x62ED, 0x9040, 0x62EE, 0x9D68, 0x62EF, 0x9D6D, 0x62F1, 0x9D69, 0x62F3, 0x8C9D, 0x62F5, 0x9D6E, 0x62F6, 0x8E41, - 0x62F7, 0x8D89, 0x62FE, 0x8F45, 0x62FF, 0x9D5C, 0x6301, 0x8E9D, 0x6302, 0x9D6B, 0x6307, 0x8E77, 0x6308, 0x9D6C, 0x6309, 0x88C2, - 0x630C, 0x9D67, 0x6311, 0x92A7, 0x6319, 0x8B93, 0x631F, 0x8BB2, 0x6327, 0x9D6A, 0x6328, 0x88A5, 0x632B, 0x8DC1, 0x632F, 0x9055, - 0x633A, 0x92F0, 0x633D, 0x94D2, 0x633E, 0x9D70, 0x633F, 0x917D, 0x6349, 0x91A8, 0x634C, 0x8E4A, 0x634D, 0x9D71, 0x634F, 0x9D73, - 0x6350, 0x9D6F, 0x6355, 0x95DF, 0x6357, 0x92BB, 0x635C, 0x917B, 0x6367, 0x95F9, 0x6368, 0x8ECC, 0x6369, 0x9D80, 0x636B, 0x9D7E, - 0x636E, 0x9098, 0x6372, 0x8C9E, 0x6376, 0x9D78, 0x6377, 0x8FB7, 0x637A, 0x93E6, 0x637B, 0x9450, 0x6380, 0x9D76, 0x6383, 0x917C, - 0x6388, 0x8EF6, 0x6389, 0x9D7B, 0x638C, 0x8FB6, 0x638E, 0x9D75, 0x638F, 0x9D7A, 0x6392, 0x9472, 0x6396, 0x9D74, 0x6398, 0x8C40, - 0x639B, 0x8A7C, 0x639F, 0x9D7C, 0x63A0, 0x97A9, 0x63A1, 0x8DCC, 0x63A2, 0x9254, 0x63A3, 0x9D79, 0x63A5, 0x90DA, 0x63A7, 0x8D54, - 0x63A8, 0x9084, 0x63A9, 0x8986, 0x63AA, 0x915B, 0x63AB, 0x9D77, 0x63AC, 0x8B64, 0x63B2, 0x8C66, 0x63B4, 0x92CD, 0x63B5, 0x9D7D, - 0x63BB, 0x917E, 0x63BE, 0x9D81, 0x63C0, 0x9D83, 0x63C3, 0x91B5, 0x63C4, 0x9D89, 0x63C6, 0x9D84, 0x63C9, 0x9D86, 0x63CF, 0x9560, - 0x63D0, 0x92F1, 0x63D2, 0x9D87, 0x63D6, 0x974B, 0x63DA, 0x9767, 0x63DB, 0x8AB7, 0x63E1, 0x88AC, 0x63E3, 0x9D85, 0x63E9, 0x9D82, - 0x63EE, 0x8AF6, 0x63F4, 0x8987, 0x63F5, 0xFAC9, 0x63F6, 0x9D88, 0x63FA, 0x9768, 0x6406, 0x9D8C, 0x640D, 0x91B9, 0x640F, 0x9D93, - 0x6413, 0x9D8D, 0x6416, 0x9D8A, 0x6417, 0x9D91, 0x641C, 0x9D72, 0x6426, 0x9D8E, 0x6428, 0x9D92, 0x642C, 0x94C0, 0x642D, 0x938B, - 0x6434, 0x9D8B, 0x6436, 0x9D8F, 0x643A, 0x8C67, 0x643E, 0x8DEF, 0x6442, 0x90DB, 0x644E, 0x9D97, 0x6458, 0x9345, 0x6460, 0xFACA, - 0x6467, 0x9D94, 0x6469, 0x9680, 0x646F, 0x9D95, 0x6476, 0x9D96, 0x6478, 0x96CC, 0x647A, 0x90A0, 0x6483, 0x8C82, 0x6488, 0x9D9D, - 0x6492, 0x8E54, 0x6493, 0x9D9A, 0x6495, 0x9D99, 0x649A, 0x9451, 0x649D, 0xFACB, 0x649E, 0x93B3, 0x64A4, 0x9350, 0x64A5, 0x9D9B, - 0x64A9, 0x9D9C, 0x64AB, 0x958F, 0x64AD, 0x9464, 0x64AE, 0x8E42, 0x64B0, 0x90EF, 0x64B2, 0x966F, 0x64B9, 0x8A68, 0x64BB, 0x9DA3, - 0x64BC, 0x9D9E, 0x64C1, 0x9769, 0x64C2, 0x9DA5, 0x64C5, 0x9DA1, 0x64C7, 0x9DA2, 0x64CD, 0x9180, 0x64CE, 0xFACC, 0x64D2, 0x9DA0, - 0x64D4, 0x9D5E, 0x64D8, 0x9DA4, 0x64DA, 0x9D9F, 0x64E0, 0x9DA9, 0x64E1, 0x9DAA, 0x64E2, 0x9346, 0x64E3, 0x9DAC, 0x64E6, 0x8E43, - 0x64E7, 0x9DA7, 0x64EC, 0x8B5B, 0x64EF, 0x9DAD, 0x64F1, 0x9DA6, 0x64F2, 0x9DB1, 0x64F4, 0x9DB0, 0x64F6, 0x9DAF, 0x64FA, 0x9DB2, - 0x64FD, 0x9DB4, 0x64FE, 0x8FEF, 0x6500, 0x9DB3, 0x6505, 0x9DB7, 0x6518, 0x9DB5, 0x651C, 0x9DB6, 0x651D, 0x9D90, 0x6523, 0x9DB9, - 0x6524, 0x9DB8, 0x652A, 0x9D98, 0x652B, 0x9DBA, 0x652C, 0x9DAE, 0x652F, 0x8E78, 0x6534, 0x9DBB, 0x6535, 0x9DBC, 0x6536, 0x9DBE, - 0x6537, 0x9DBD, 0x6538, 0x9DBF, 0x6539, 0x89FC, 0x653B, 0x8D55, 0x653E, 0x95FA, 0x653F, 0x90AD, 0x6545, 0x8CCC, 0x6548, 0x9DC1, - 0x654D, 0x9DC4, 0x654E, 0xFACD, 0x654F, 0x9571, 0x6551, 0x8B7E, 0x6555, 0x9DC3, 0x6556, 0x9DC2, 0x6557, 0x9473, 0x6558, 0x9DC5, - 0x6559, 0x8BB3, 0x655D, 0x9DC7, 0x655E, 0x9DC6, 0x6562, 0x8AB8, 0x6563, 0x8E55, 0x6566, 0x93D6, 0x656C, 0x8C68, 0x6570, 0x9094, - 0x6572, 0x9DC8, 0x6574, 0x90AE, 0x6575, 0x9347, 0x6577, 0x957E, 0x6578, 0x9DC9, 0x6582, 0x9DCA, 0x6583, 0x9DCB, 0x6587, 0x95B6, - 0x6588, 0x9B7C, 0x6589, 0x90C4, 0x658C, 0x956B, 0x658E, 0x8DD6, 0x6590, 0x94E3, 0x6591, 0x94C1, 0x6597, 0x936C, 0x6599, 0x97BF, - 0x659B, 0x9DCD, 0x659C, 0x8ECE, 0x659F, 0x9DCE, 0x65A1, 0x88B4, 0x65A4, 0x8BD2, 0x65A5, 0x90CB, 0x65A7, 0x9580, 0x65AB, 0x9DCF, - 0x65AC, 0x8E61, 0x65AD, 0x9266, 0x65AF, 0x8E7A, 0x65B0, 0x9056, 0x65B7, 0x9DD0, 0x65B9, 0x95FB, 0x65BC, 0x8997, 0x65BD, 0x8E7B, - 0x65C1, 0x9DD3, 0x65C3, 0x9DD1, 0x65C4, 0x9DD4, 0x65C5, 0x97B7, 0x65C6, 0x9DD2, 0x65CB, 0x90F9, 0x65CC, 0x9DD5, 0x65CF, 0x91B0, - 0x65D2, 0x9DD6, 0x65D7, 0x8AF8, 0x65D9, 0x9DD8, 0x65DB, 0x9DD7, 0x65E0, 0x9DD9, 0x65E1, 0x9DDA, 0x65E2, 0x8AF9, 0x65E5, 0x93FA, - 0x65E6, 0x9255, 0x65E7, 0x8B8C, 0x65E8, 0x8E7C, 0x65E9, 0x9181, 0x65EC, 0x8F7B, 0x65ED, 0x88AE, 0x65F1, 0x9DDB, 0x65FA, 0x89A0, - 0x65FB, 0x9DDF, 0x6600, 0xFACE, 0x6602, 0x8D56, 0x6603, 0x9DDE, 0x6606, 0x8DA9, 0x6607, 0x8FB8, 0x6609, 0xFAD1, 0x660A, 0x9DDD, - 0x660C, 0x8FB9, 0x660E, 0x96BE, 0x660F, 0x8DA8, 0x6613, 0x88D5, 0x6614, 0x90CC, 0x6615, 0xFACF, 0x661C, 0x9DE4, 0x661E, 0xFAD3, - 0x661F, 0x90AF, 0x6620, 0x8966, 0x6624, 0xFAD4, 0x6625, 0x8F74, 0x6627, 0x9686, 0x6628, 0x8DF0, 0x662D, 0x8FBA, 0x662E, 0xFAD2, - 0x662F, 0x90A5, 0x6631, 0xFA63, 0x6634, 0x9DE3, 0x6635, 0x9DE1, 0x6636, 0x9DE2, 0x663B, 0xFAD0, 0x663C, 0x928B, 0x663F, 0x9E45, - 0x6641, 0x9DE8, 0x6642, 0x8E9E, 0x6643, 0x8D57, 0x6644, 0x9DE6, 0x6649, 0x9DE7, 0x664B, 0x9057, 0x664F, 0x9DE5, 0x6652, 0x8E4E, - 0x6657, 0xFAD6, 0x6659, 0xFAD7, 0x665D, 0x9DEA, 0x665E, 0x9DE9, 0x665F, 0x9DEE, 0x6662, 0x9DEF, 0x6664, 0x9DEB, 0x6665, 0xFAD5, - 0x6666, 0x8A41, 0x6667, 0x9DEC, 0x6668, 0x9DED, 0x6669, 0x94D3, 0x666E, 0x9581, 0x666F, 0x8C69, 0x6670, 0x9DF0, 0x6673, 0xFAD9, - 0x6674, 0x90B0, 0x6676, 0x8FBB, 0x667A, 0x9271, 0x6681, 0x8BC5, 0x6683, 0x9DF1, 0x6684, 0x9DF5, 0x6687, 0x89C9, 0x6688, 0x9DF2, - 0x6689, 0x9DF4, 0x668E, 0x9DF3, 0x6691, 0x8F8B, 0x6696, 0x9267, 0x6697, 0x88C3, 0x6698, 0x9DF6, 0x6699, 0xFADA, 0x669D, 0x9DF7, - 0x66A0, 0xFADB, 0x66A2, 0x92A8, 0x66A6, 0x97EF, 0x66AB, 0x8E62, 0x66AE, 0x95E9, 0x66B2, 0xFADC, 0x66B4, 0x965C, 0x66B8, 0x9E41, - 0x66B9, 0x9DF9, 0x66BC, 0x9DFC, 0x66BE, 0x9DFB, 0x66BF, 0xFADD, 0x66C1, 0x9DF8, 0x66C4, 0x9E40, 0x66C7, 0x93DC, 0x66C9, 0x9DFA, - 0x66D6, 0x9E42, 0x66D9, 0x8F8C, 0x66DA, 0x9E43, 0x66DC, 0x976A, 0x66DD, 0x9498, 0x66E0, 0x9E44, 0x66E6, 0x9E46, 0x66E9, 0x9E47, - 0x66F0, 0x9E48, 0x66F2, 0x8BC8, 0x66F3, 0x8967, 0x66F4, 0x8D58, 0x66F5, 0x9E49, 0x66F7, 0x9E4A, 0x66F8, 0x8F91, 0x66F9, 0x9182, - 0x66FA, 0xFADE, 0x66FB, 0xFA66, 0x66FC, 0x99D6, 0x66FD, 0x915D, 0x66FE, 0x915C, 0x66FF, 0x91D6, 0x6700, 0x8DC5, 0x6703, 0x98F0, - 0x6708, 0x8C8E, 0x6709, 0x974C, 0x670B, 0x95FC, 0x670D, 0x959E, 0x670E, 0xFADF, 0x670F, 0x9E4B, 0x6714, 0x8DF1, 0x6715, 0x92BD, - 0x6716, 0x9E4C, 0x6717, 0x984E, 0x671B, 0x965D, 0x671D, 0x92A9, 0x671E, 0x9E4D, 0x671F, 0x8AFA, 0x6726, 0x9E4E, 0x6727, 0x9E4F, - 0x6728, 0x96D8, 0x672A, 0x96A2, 0x672B, 0x9696, 0x672C, 0x967B, 0x672D, 0x8E44, 0x672E, 0x9E51, 0x6731, 0x8EE9, 0x6734, 0x9670, - 0x6736, 0x9E53, 0x6737, 0x9E56, 0x6738, 0x9E55, 0x673A, 0x8AF7, 0x673D, 0x8B80, 0x673F, 0x9E52, 0x6741, 0x9E54, 0x6746, 0x9E57, - 0x6749, 0x9099, 0x674E, 0x979B, 0x674F, 0x88C7, 0x6750, 0x8DDE, 0x6751, 0x91BA, 0x6753, 0x8EDB, 0x6756, 0x8FF1, 0x6759, 0x9E5A, - 0x675C, 0x936D, 0x675E, 0x9E58, 0x675F, 0x91A9, 0x6760, 0x9E59, 0x6761, 0x8FF0, 0x6762, 0x96DB, 0x6763, 0x9E5B, 0x6764, 0x9E5C, - 0x6765, 0x9788, 0x6766, 0xFAE1, 0x676A, 0x9E61, 0x676D, 0x8D59, 0x676F, 0x9474, 0x6770, 0x9E5E, 0x6771, 0x938C, 0x6772, 0x9DDC, - 0x6773, 0x9DE0, 0x6775, 0x8B6E, 0x6777, 0x9466, 0x677C, 0x9E60, 0x677E, 0x8FBC, 0x677F, 0x94C2, 0x6785, 0x9E66, 0x6787, 0x94F8, - 0x6789, 0x9E5D, 0x678B, 0x9E63, 0x678C, 0x9E62, 0x6790, 0x90CD, 0x6795, 0x968D, 0x6797, 0x97D1, 0x679A, 0x9687, 0x679C, 0x89CA, - 0x679D, 0x8E7D, 0x67A0, 0x9867, 0x67A1, 0x9E65, 0x67A2, 0x9095, 0x67A6, 0x9E64, 0x67A9, 0x9E5F, 0x67AF, 0x8CCD, 0x67B3, 0x9E6B, - 0x67B4, 0x9E69, 0x67B6, 0x89CB, 0x67B7, 0x9E67, 0x67B8, 0x9E6D, 0x67B9, 0x9E73, 0x67BB, 0xFAE2, 0x67C0, 0xFAE4, 0x67C1, 0x91C6, - 0x67C4, 0x95BF, 0x67C6, 0x9E75, 0x67CA, 0x9541, 0x67CE, 0x9E74, 0x67CF, 0x9490, 0x67D0, 0x965E, 0x67D1, 0x8AB9, 0x67D3, 0x90F5, - 0x67D4, 0x8F5F, 0x67D8, 0x92D1, 0x67DA, 0x974D, 0x67DD, 0x9E70, 0x67DE, 0x9E6F, 0x67E2, 0x9E71, 0x67E4, 0x9E6E, 0x67E7, 0x9E76, - 0x67E9, 0x9E6C, 0x67EC, 0x9E6A, 0x67EE, 0x9E72, 0x67EF, 0x9E68, 0x67F1, 0x928C, 0x67F3, 0x96F6, 0x67F4, 0x8EC4, 0x67F5, 0x8DF2, - 0x67FB, 0x8DB8, 0x67FE, 0x968F, 0x67FF, 0x8A60, 0x6801, 0xFAE5, 0x6802, 0x92CC, 0x6803, 0x93C8, 0x6804, 0x8968, 0x6813, 0x90F0, - 0x6816, 0x90B2, 0x6817, 0x8C49, 0x681E, 0x9E78, 0x6821, 0x8D5A, 0x6822, 0x8A9C, 0x6829, 0x9E7A, 0x682A, 0x8A94, 0x682B, 0x9E81, - 0x6832, 0x9E7D, 0x6834, 0x90F1, 0x6838, 0x8A6A, 0x6839, 0x8DAA, 0x683C, 0x8A69, 0x683D, 0x8DCD, 0x6840, 0x9E7B, 0x6841, 0x8C85, - 0x6842, 0x8C6A, 0x6843, 0x938D, 0x6844, 0xFAE6, 0x6846, 0x9E79, 0x6848, 0x88C4, 0x684D, 0x9E7C, 0x684E, 0x9E7E, 0x6850, 0x8BCB, - 0x6851, 0x8C4B, 0x6852, 0xFAE3, 0x6853, 0x8ABA, 0x6854, 0x8B6A, 0x6859, 0x9E82, 0x685C, 0x8DF7, 0x685D, 0x9691, 0x685F, 0x8E56, - 0x6863, 0x9E83, 0x6867, 0x954F, 0x6874, 0x9E8F, 0x6876, 0x89B1, 0x6877, 0x9E84, 0x687E, 0x9E95, 0x687F, 0x9E85, 0x6881, 0x97C0, - 0x6883, 0x9E8C, 0x6885, 0x947E, 0x688D, 0x9E94, 0x688F, 0x9E87, 0x6893, 0x88B2, 0x6894, 0x9E89, 0x6897, 0x8D5B, 0x689B, 0x9E8B, - 0x689D, 0x9E8A, 0x689F, 0x9E86, 0x68A0, 0x9E91, 0x68A2, 0x8FBD, 0x68A6, 0x9AEB, 0x68A7, 0x8CE6, 0x68A8, 0x979C, 0x68AD, 0x9E88, - 0x68AF, 0x92F2, 0x68B0, 0x8A42, 0x68B1, 0x8DAB, 0x68B3, 0x9E80, 0x68B5, 0x9E90, 0x68B6, 0x8A81, 0x68B9, 0x9E8E, 0x68BA, 0x9E92, - 0x68BC, 0x938E, 0x68C4, 0x8AFC, 0x68C6, 0x9EB0, 0x68C8, 0xFA64, 0x68C9, 0x96C7, 0x68CA, 0x9E97, 0x68CB, 0x8AFB, 0x68CD, 0x9E9E, - 0x68CF, 0xFAE7, 0x68D2, 0x965F, 0x68D4, 0x9E9F, 0x68D5, 0x9EA1, 0x68D7, 0x9EA5, 0x68D8, 0x9E99, 0x68DA, 0x9249, 0x68DF, 0x938F, - 0x68E0, 0x9EA9, 0x68E1, 0x9E9C, 0x68E3, 0x9EA6, 0x68E7, 0x9EA0, 0x68EE, 0x9058, 0x68EF, 0x9EAA, 0x68F2, 0x90B1, 0x68F9, 0x9EA8, - 0x68FA, 0x8ABB, 0x6900, 0x986F, 0x6901, 0x9E96, 0x6904, 0x9EA4, 0x6905, 0x88D6, 0x6908, 0x9E98, 0x690B, 0x96B8, 0x690C, 0x9E9D, - 0x690D, 0x9041, 0x690E, 0x92C5, 0x690F, 0x9E93, 0x6912, 0x9EA3, 0x6919, 0x909A, 0x691A, 0x9EAD, 0x691B, 0x8A91, 0x691C, 0x8C9F, - 0x6921, 0x9EAF, 0x6922, 0x9E9A, 0x6923, 0x9EAE, 0x6925, 0x9EA7, 0x6926, 0x9E9B, 0x6928, 0x9EAB, 0x692A, 0x9EAC, 0x6930, 0x9EBD, - 0x6934, 0x93CC, 0x6936, 0x9EA2, 0x6939, 0x9EB9, 0x693D, 0x9EBB, 0x693F, 0x92D6, 0x694A, 0x976B, 0x6953, 0x9596, 0x6954, 0x9EB6, - 0x6955, 0x91C8, 0x6959, 0x9EBC, 0x695A, 0x915E, 0x695C, 0x9EB3, 0x695D, 0x9EC0, 0x695E, 0x9EBF, 0x6960, 0x93ED, 0x6961, 0x9EBE, - 0x6962, 0x93E8, 0x6968, 0xFAE9, 0x696A, 0x9EC2, 0x696B, 0x9EB5, 0x696D, 0x8BC6, 0x696E, 0x9EB8, 0x696F, 0x8F7C, 0x6973, 0x9480, - 0x6974, 0x9EBA, 0x6975, 0x8BC9, 0x6977, 0x9EB2, 0x6978, 0x9EB4, 0x6979, 0x9EB1, 0x697C, 0x984F, 0x697D, 0x8A79, 0x697E, 0x9EB7, - 0x6981, 0x9EC1, 0x6982, 0x8A54, 0x698A, 0x8DE5, 0x698E, 0x897C, 0x6991, 0x9ED2, 0x6994, 0x9850, 0x6995, 0x9ED5, 0x6998, 0xFAEB, - 0x699B, 0x9059, 0x699C, 0x9ED4, 0x69A0, 0x9ED3, 0x69A7, 0x9ED0, 0x69AE, 0x9EC4, 0x69B1, 0x9EE1, 0x69B2, 0x9EC3, 0x69B4, 0x9ED6, - 0x69BB, 0x9ECE, 0x69BE, 0x9EC9, 0x69BF, 0x9EC6, 0x69C1, 0x9EC7, 0x69C3, 0x9ECF, 0x69C7, 0xEAA0, 0x69CA, 0x9ECC, 0x69CB, 0x8D5C, - 0x69CC, 0x92C6, 0x69CD, 0x9184, 0x69CE, 0x9ECA, 0x69D0, 0x9EC5, 0x69D3, 0x9EC8, 0x69D8, 0x976C, 0x69D9, 0x968A, 0x69DD, 0x9ECD, - 0x69DE, 0x9ED7, 0x69E2, 0xFAEC, 0x69E7, 0x9EDF, 0x69E8, 0x9ED8, 0x69EB, 0x9EE5, 0x69ED, 0x9EE3, 0x69F2, 0x9EDE, 0x69F9, 0x9EDD, - 0x69FB, 0x92CE, 0x69FD, 0x9185, 0x69FF, 0x9EDB, 0x6A02, 0x9ED9, 0x6A05, 0x9EE0, 0x6A0A, 0x9EE6, 0x6A0B, 0x94F3, 0x6A0C, 0x9EEC, - 0x6A12, 0x9EE7, 0x6A13, 0x9EEA, 0x6A14, 0x9EE4, 0x6A17, 0x9294, 0x6A19, 0x9557, 0x6A1B, 0x9EDA, 0x6A1E, 0x9EE2, 0x6A1F, 0x8FBE, - 0x6A21, 0x96CD, 0x6A22, 0x9EF6, 0x6A23, 0x9EE9, 0x6A29, 0x8CA0, 0x6A2A, 0x89A1, 0x6A2B, 0x8A7E, 0x6A2E, 0x9ED1, 0x6A30, 0xFAED, - 0x6A35, 0x8FBF, 0x6A36, 0x9EEE, 0x6A38, 0x9EF5, 0x6A39, 0x8EF7, 0x6A3A, 0x8A92, 0x6A3D, 0x924D, 0x6A44, 0x9EEB, 0x6A46, 0xFAEF, - 0x6A47, 0x9EF0, 0x6A48, 0x9EF4, 0x6A4B, 0x8BB4, 0x6A58, 0x8B6B, 0x6A59, 0x9EF2, 0x6A5F, 0x8B40, 0x6A61, 0x93C9, 0x6A62, 0x9EF1, - 0x6A66, 0x9EF3, 0x6A6B, 0xFAEE, 0x6A72, 0x9EED, 0x6A73, 0xFAF0, 0x6A78, 0x9EEF, 0x6A7E, 0xFAF1, 0x6A7F, 0x8A80, 0x6A80, 0x9268, - 0x6A84, 0x9EFA, 0x6A8D, 0x9EF8, 0x6A8E, 0x8CE7, 0x6A90, 0x9EF7, 0x6A97, 0x9F40, 0x6A9C, 0x9E77, 0x6AA0, 0x9EF9, 0x6AA2, 0x9EFB, - 0x6AA3, 0x9EFC, 0x6AAA, 0x9F4B, 0x6AAC, 0x9F47, 0x6AAE, 0x9E8D, 0x6AB3, 0x9F46, 0x6AB8, 0x9F45, 0x6ABB, 0x9F42, 0x6AC1, 0x9EE8, - 0x6AC2, 0x9F44, 0x6AC3, 0x9F43, 0x6AD1, 0x9F49, 0x6AD3, 0x9845, 0x6ADA, 0x9F4C, 0x6ADB, 0x8BF9, 0x6ADE, 0x9F48, 0x6ADF, 0x9F4A, - 0x6AE2, 0xFAF2, 0x6AE4, 0xFAF3, 0x6AE8, 0x94A5, 0x6AEA, 0x9F4D, 0x6AFA, 0x9F51, 0x6AFB, 0x9F4E, 0x6B04, 0x9793, 0x6B05, 0x9F4F, - 0x6B0A, 0x9EDC, 0x6B12, 0x9F52, 0x6B16, 0x9F53, 0x6B1D, 0x8954, 0x6B1F, 0x9F55, 0x6B20, 0x8C87, 0x6B21, 0x8E9F, 0x6B23, 0x8BD3, - 0x6B27, 0x89A2, 0x6B32, 0x977E, 0x6B37, 0x9F57, 0x6B38, 0x9F56, 0x6B39, 0x9F59, 0x6B3A, 0x8B5C, 0x6B3D, 0x8BD4, 0x6B3E, 0x8ABC, - 0x6B43, 0x9F5C, 0x6B47, 0x9F5B, 0x6B49, 0x9F5D, 0x6B4C, 0x89CC, 0x6B4E, 0x9256, 0x6B50, 0x9F5E, 0x6B53, 0x8ABD, 0x6B54, 0x9F60, - 0x6B59, 0x9F5F, 0x6B5B, 0x9F61, 0x6B5F, 0x9F62, 0x6B61, 0x9F63, 0x6B62, 0x8E7E, 0x6B63, 0x90B3, 0x6B64, 0x8D9F, 0x6B66, 0x9590, - 0x6B69, 0x95E0, 0x6B6A, 0x9863, 0x6B6F, 0x8E95, 0x6B73, 0x8DCE, 0x6B74, 0x97F0, 0x6B78, 0x9F64, 0x6B79, 0x9F65, 0x6B7B, 0x8E80, - 0x6B7F, 0x9F66, 0x6B80, 0x9F67, 0x6B83, 0x9F69, 0x6B84, 0x9F68, 0x6B86, 0x9677, 0x6B89, 0x8F7D, 0x6B8A, 0x8EEA, 0x6B8B, 0x8E63, - 0x6B8D, 0x9F6A, 0x6B95, 0x9F6C, 0x6B96, 0x9042, 0x6B98, 0x9F6B, 0x6B9E, 0x9F6D, 0x6BA4, 0x9F6E, 0x6BAA, 0x9F6F, 0x6BAB, 0x9F70, - 0x6BAF, 0x9F71, 0x6BB1, 0x9F73, 0x6BB2, 0x9F72, 0x6BB3, 0x9F74, 0x6BB4, 0x89A3, 0x6BB5, 0x9269, 0x6BB7, 0x9F75, 0x6BBA, 0x8E45, - 0x6BBB, 0x8A6B, 0x6BBC, 0x9F76, 0x6BBF, 0x9361, 0x6BC0, 0x9ACA, 0x6BC5, 0x8B42, 0x6BC6, 0x9F77, 0x6BCB, 0x9F78, 0x6BCD, 0x95EA, - 0x6BCE, 0x9688, 0x6BD2, 0x93C5, 0x6BD3, 0x9F79, 0x6BD4, 0x94E4, 0x6BD6, 0xFAF4, 0x6BD8, 0x94F9, 0x6BDB, 0x96D1, 0x6BDF, 0x9F7A, - 0x6BEB, 0x9F7C, 0x6BEC, 0x9F7B, 0x6BEF, 0x9F7E, 0x6BF3, 0x9F7D, 0x6C08, 0x9F81, 0x6C0F, 0x8E81, 0x6C11, 0x96AF, 0x6C13, 0x9F82, - 0x6C14, 0x9F83, 0x6C17, 0x8B43, 0x6C1B, 0x9F84, 0x6C23, 0x9F86, 0x6C24, 0x9F85, 0x6C34, 0x9085, 0x6C37, 0x9558, 0x6C38, 0x8969, - 0x6C3E, 0x94C3, 0x6C3F, 0xFAF5, 0x6C40, 0x92F3, 0x6C41, 0x8F60, 0x6C42, 0x8B81, 0x6C4E, 0x94C4, 0x6C50, 0x8EAC, 0x6C55, 0x9F88, - 0x6C57, 0x8ABE, 0x6C5A, 0x8998, 0x6C5C, 0xFAF6, 0x6C5D, 0x93F0, 0x6C5E, 0x9F87, 0x6C5F, 0x8D5D, 0x6C60, 0x9272, 0x6C62, 0x9F89, - 0x6C68, 0x9F91, 0x6C6A, 0x9F8A, 0x6C6F, 0xFAF8, 0x6C70, 0x91BF, 0x6C72, 0x8B82, 0x6C73, 0x9F92, 0x6C7A, 0x8C88, 0x6C7D, 0x8B44, - 0x6C7E, 0x9F90, 0x6C81, 0x9F8E, 0x6C82, 0x9F8B, 0x6C83, 0x9780, 0x6C86, 0xFAF7, 0x6C88, 0x92BE, 0x6C8C, 0x93D7, 0x6C8D, 0x9F8C, - 0x6C90, 0x9F94, 0x6C92, 0x9F93, 0x6C93, 0x8C42, 0x6C96, 0x89AB, 0x6C99, 0x8DB9, 0x6C9A, 0x9F8D, 0x6C9B, 0x9F8F, 0x6CA1, 0x9676, - 0x6CA2, 0x91F2, 0x6CAB, 0x9697, 0x6CAE, 0x9F9C, 0x6CB1, 0x9F9D, 0x6CB3, 0x89CD, 0x6CB8, 0x95A6, 0x6CB9, 0x96FB, 0x6CBA, 0x9F9F, - 0x6CBB, 0x8EA1, 0x6CBC, 0x8FC0, 0x6CBD, 0x9F98, 0x6CBE, 0x9F9E, 0x6CBF, 0x8988, 0x6CC1, 0x8BB5, 0x6CC4, 0x9F95, 0x6CC5, 0x9F9A, - 0x6CC9, 0x90F2, 0x6CCA, 0x9491, 0x6CCC, 0x94E5, 0x6CD3, 0x9F97, 0x6CD5, 0x9640, 0x6CD7, 0x9F99, 0x6CD9, 0x9FA2, 0x6CDA, 0xFAF9, - 0x6CDB, 0x9FA0, 0x6CDD, 0x9F9B, 0x6CE1, 0x9641, 0x6CE2, 0x9467, 0x6CE3, 0x8B83, 0x6CE5, 0x9344, 0x6CE8, 0x928D, 0x6CEA, 0x9FA3, - 0x6CEF, 0x9FA1, 0x6CF0, 0x91D7, 0x6CF1, 0x9F96, 0x6CF3, 0x896A, 0x6D04, 0xFAFA, 0x6D0B, 0x976D, 0x6D0C, 0x9FAE, 0x6D12, 0x9FAD, - 0x6D17, 0x90F4, 0x6D19, 0x9FAA, 0x6D1B, 0x978C, 0x6D1E, 0x93B4, 0x6D1F, 0x9FA4, 0x6D25, 0x92C3, 0x6D29, 0x896B, 0x6D2A, 0x8D5E, - 0x6D2B, 0x9FA7, 0x6D32, 0x8F46, 0x6D33, 0x9FAC, 0x6D35, 0x9FAB, 0x6D36, 0x9FA6, 0x6D38, 0x9FA9, 0x6D3B, 0x8A88, 0x6D3D, 0x9FA8, - 0x6D3E, 0x9468, 0x6D41, 0x97AC, 0x6D44, 0x8FF2, 0x6D45, 0x90F3, 0x6D59, 0x9FB4, 0x6D5A, 0x9FB2, 0x6D5C, 0x956C, 0x6D63, 0x9FAF, - 0x6D64, 0x9FB1, 0x6D66, 0x8959, 0x6D69, 0x8D5F, 0x6D6A, 0x9851, 0x6D6C, 0x8A5C, 0x6D6E, 0x9582, 0x6D6F, 0xFAFC, 0x6D74, 0x9781, - 0x6D77, 0x8A43, 0x6D78, 0x905A, 0x6D79, 0x9FB3, 0x6D85, 0x9FB8, 0x6D87, 0xFAFB, 0x6D88, 0x8FC1, 0x6D8C, 0x974F, 0x6D8E, 0x9FB5, - 0x6D93, 0x9FB0, 0x6D95, 0x9FB6, 0x6D96, 0xFB40, 0x6D99, 0x97DC, 0x6D9B, 0x9393, 0x6D9C, 0x93C0, 0x6DAC, 0xFB41, 0x6DAF, 0x8A55, - 0x6DB2, 0x8974, 0x6DB5, 0x9FBC, 0x6DB8, 0x9FBF, 0x6DBC, 0x97C1, 0x6DC0, 0x9784, 0x6DC5, 0x9FC6, 0x6DC6, 0x9FC0, 0x6DC7, 0x9FBD, - 0x6DCB, 0x97D2, 0x6DCC, 0x9FC3, 0x6DCF, 0xFB42, 0x6DD1, 0x8F69, 0x6DD2, 0x9FC5, 0x6DD5, 0x9FCA, 0x6DD8, 0x9391, 0x6DD9, 0x9FC8, - 0x6DDE, 0x9FC2, 0x6DE1, 0x9257, 0x6DE4, 0x9FC9, 0x6DE6, 0x9FBE, 0x6DE8, 0x9FC4, 0x6DEA, 0x9FCB, 0x6DEB, 0x88FA, 0x6DEC, 0x9FC1, - 0x6DEE, 0x9FCC, 0x6DF1, 0x905B, 0x6DF2, 0xFB44, 0x6DF3, 0x8F7E, 0x6DF5, 0x95A3, 0x6DF7, 0x8DAC, 0x6DF8, 0xFB43, 0x6DF9, 0x9FB9, - 0x6DFA, 0x9FC7, 0x6DFB, 0x9359, 0x6DFC, 0xFB45, 0x6E05, 0x90B4, 0x6E07, 0x8A89, 0x6E08, 0x8DCF, 0x6E09, 0x8FC2, 0x6E0A, 0x9FBB, - 0x6E0B, 0x8F61, 0x6E13, 0x8C6B, 0x6E15, 0x9FBA, 0x6E19, 0x9FD0, 0x6E1A, 0x8F8D, 0x6E1B, 0x8CB8, 0x6E1D, 0x9FDF, 0x6E1F, 0x9FD9, - 0x6E20, 0x8B94, 0x6E21, 0x936E, 0x6E23, 0x9FD4, 0x6E24, 0x9FDD, 0x6E25, 0x88AD, 0x6E26, 0x8951, 0x6E27, 0xFB48, 0x6E29, 0x89B7, - 0x6E2B, 0x9FD6, 0x6E2C, 0x91AA, 0x6E2D, 0x9FCD, 0x6E2E, 0x9FCF, 0x6E2F, 0x8D60, 0x6E38, 0x9FE0, 0x6E39, 0xFB46, 0x6E3A, 0x9FDB, - 0x6E3C, 0xFB49, 0x6E3E, 0x9FD3, 0x6E43, 0x9FDA, 0x6E4A, 0x96A9, 0x6E4D, 0x9FD8, 0x6E4E, 0x9FDC, 0x6E56, 0x8CCE, 0x6E58, 0x8FC3, - 0x6E5B, 0x9258, 0x6E5C, 0xFB47, 0x6E5F, 0x9FD2, 0x6E67, 0x974E, 0x6E6B, 0x9FD5, 0x6E6E, 0x9FCE, 0x6E6F, 0x9392, 0x6E72, 0x9FD1, - 0x6E76, 0x9FD7, 0x6E7E, 0x9870, 0x6E7F, 0x8EBC, 0x6E80, 0x969E, 0x6E82, 0x9FE1, 0x6E8C, 0x94AC, 0x6E8F, 0x9FED, 0x6E90, 0x8CB9, - 0x6E96, 0x8F80, 0x6E98, 0x9FE3, 0x6E9C, 0x97AD, 0x6E9D, 0x8D61, 0x6E9F, 0x9FF0, 0x6EA2, 0x88EC, 0x6EA5, 0x9FEE, 0x6EAA, 0x9FE2, - 0x6EAF, 0x9FE8, 0x6EB2, 0x9FEA, 0x6EB6, 0x976E, 0x6EB7, 0x9FE5, 0x6EBA, 0x934D, 0x6EBD, 0x9FE7, 0x6EBF, 0xFB4A, 0x6EC2, 0x9FEF, - 0x6EC4, 0x9FE9, 0x6EC5, 0x96C5, 0x6EC9, 0x9FE4, 0x6ECB, 0x8EA0, 0x6ECC, 0x9FFC, 0x6ED1, 0x8A8A, 0x6ED3, 0x9FE6, 0x6ED4, 0x9FEB, - 0x6ED5, 0x9FEC, 0x6EDD, 0x91EA, 0x6EDE, 0x91D8, 0x6EEC, 0x9FF4, 0x6EEF, 0x9FFA, 0x6EF2, 0x9FF8, 0x6EF4, 0x9348, 0x6EF7, 0xE042, - 0x6EF8, 0x9FF5, 0x6EFE, 0x9FF6, 0x6EFF, 0x9FDE, 0x6F01, 0x8B99, 0x6F02, 0x9559, 0x6F06, 0x8EBD, 0x6F09, 0x8D97, 0x6F0F, 0x9852, - 0x6F11, 0x9FF2, 0x6F13, 0xE041, 0x6F14, 0x8989, 0x6F15, 0x9186, 0x6F20, 0x9499, 0x6F22, 0x8ABF, 0x6F23, 0x97F8, 0x6F2B, 0x969F, - 0x6F2C, 0x92D0, 0x6F31, 0x9FF9, 0x6F32, 0x9FFB, 0x6F38, 0x9151, 0x6F3E, 0xE040, 0x6F3F, 0x9FF7, 0x6F41, 0x9FF1, 0x6F45, 0x8AC1, - 0x6F54, 0x8C89, 0x6F58, 0xE04E, 0x6F5B, 0xE049, 0x6F5C, 0x90F6, 0x6F5F, 0x8A83, 0x6F64, 0x8F81, 0x6F66, 0xE052, 0x6F6D, 0xE04B, - 0x6F6E, 0x92AA, 0x6F6F, 0xE048, 0x6F70, 0x92D7, 0x6F74, 0xE06B, 0x6F78, 0xE045, 0x6F7A, 0xE044, 0x6F7C, 0xE04D, 0x6F80, 0xE047, - 0x6F81, 0xE046, 0x6F82, 0xE04C, 0x6F84, 0x909F, 0x6F86, 0xE043, 0x6F88, 0xFB4B, 0x6F8E, 0xE04F, 0x6F91, 0xE050, 0x6F97, 0x8AC0, - 0x6FA1, 0xE055, 0x6FA3, 0xE054, 0x6FA4, 0xE056, 0x6FAA, 0xE059, 0x6FB1, 0x9362, 0x6FB3, 0xE053, 0x6FB5, 0xFB4C, 0x6FB9, 0xE057, - 0x6FC0, 0x8C83, 0x6FC1, 0x91F7, 0x6FC2, 0xE051, 0x6FC3, 0x945A, 0x6FC6, 0xE058, 0x6FD4, 0xE05D, 0x6FD5, 0xE05B, 0x6FD8, 0xE05E, - 0x6FDB, 0xE061, 0x6FDF, 0xE05A, 0x6FE0, 0x8D8A, 0x6FE1, 0x9447, 0x6FE4, 0x9FB7, 0x6FEB, 0x9794, 0x6FEC, 0xE05C, 0x6FEE, 0xE060, - 0x6FEF, 0x91F3, 0x6FF1, 0xE05F, 0x6FF3, 0xE04A, 0x6FF5, 0xFB4D, 0x6FF6, 0xE889, 0x6FFA, 0xE064, 0x6FFE, 0xE068, 0x7001, 0xE066, - 0x7005, 0xFB4E, 0x7007, 0xFB4F, 0x7009, 0xE062, 0x700B, 0xE063, 0x700F, 0xE067, 0x7011, 0xE065, 0x7015, 0x956D, 0x7018, 0xE06D, - 0x701A, 0xE06A, 0x701B, 0xE069, 0x701D, 0xE06C, 0x701E, 0x93D2, 0x701F, 0xE06E, 0x7026, 0x9295, 0x7027, 0x91EB, 0x7028, 0xFB50, - 0x702C, 0x90A3, 0x7030, 0xE06F, 0x7032, 0xE071, 0x703E, 0xE070, 0x704C, 0x9FF3, 0x7051, 0xE072, 0x7058, 0x93E5, 0x7063, 0xE073, - 0x706B, 0x89CE, 0x706F, 0x9394, 0x7070, 0x8A44, 0x7078, 0x8B84, 0x707C, 0x8EDC, 0x707D, 0x8DD0, 0x7085, 0xFB51, 0x7089, 0x9846, - 0x708A, 0x9086, 0x708E, 0x898A, 0x7092, 0xE075, 0x7099, 0xE074, 0x70AB, 0xFB52, 0x70AC, 0xE078, 0x70AD, 0x9259, 0x70AE, 0xE07B, - 0x70AF, 0xE076, 0x70B3, 0xE07A, 0x70B8, 0xE079, 0x70B9, 0x935F, 0x70BA, 0x88D7, 0x70BB, 0xFA62, 0x70C8, 0x97F3, 0x70CB, 0xE07D, - 0x70CF, 0x8947, 0x70D9, 0xE080, 0x70DD, 0xE07E, 0x70DF, 0xE07C, 0x70F1, 0xE077, 0x70F9, 0x9642, 0x70FD, 0xE082, 0x7104, 0xFB54, - 0x7109, 0xE081, 0x710F, 0xFB53, 0x7114, 0x898B, 0x7119, 0xE084, 0x711A, 0x95B0, 0x711C, 0xE083, 0x7121, 0x96B3, 0x7126, 0x8FC5, - 0x7136, 0x9152, 0x713C, 0x8FC4, 0x7146, 0xFB56, 0x7147, 0xFB57, 0x7149, 0x97F9, 0x714C, 0xE08A, 0x714E, 0x90F7, 0x7155, 0xE086, - 0x7156, 0xE08B, 0x7159, 0x898C, 0x715C, 0xFB55, 0x7162, 0xE089, 0x7164, 0x9481, 0x7165, 0xE085, 0x7166, 0xE088, 0x7167, 0x8FC6, - 0x7169, 0x94CF, 0x716C, 0xE08C, 0x716E, 0x8ECF, 0x717D, 0x90F8, 0x7184, 0xE08F, 0x7188, 0xE087, 0x718A, 0x8C46, 0x718F, 0xE08D, - 0x7194, 0x976F, 0x7195, 0xE090, 0x7199, 0xEAA4, 0x719F, 0x8F6E, 0x71A8, 0xE091, 0x71AC, 0xE092, 0x71B1, 0x944D, 0x71B9, 0xE094, - 0x71BE, 0xE095, 0x71C1, 0xFB59, 0x71C3, 0x9452, 0x71C8, 0x9395, 0x71C9, 0xE097, 0x71CE, 0xE099, 0x71D0, 0x97D3, 0x71D2, 0xE096, - 0x71D4, 0xE098, 0x71D5, 0x898D, 0x71D7, 0xE093, 0x71DF, 0x9A7A, 0x71E0, 0xE09A, 0x71E5, 0x9187, 0x71E6, 0x8E57, 0x71E7, 0xE09C, - 0x71EC, 0xE09B, 0x71ED, 0x9043, 0x71EE, 0x99D7, 0x71F5, 0xE09D, 0x71F9, 0xE09F, 0x71FB, 0xE08E, 0x71FC, 0xE09E, 0x71FE, 0xFB5A, - 0x71FF, 0xE0A0, 0x7206, 0x949A, 0x720D, 0xE0A1, 0x7210, 0xE0A2, 0x721B, 0xE0A3, 0x7228, 0xE0A4, 0x722A, 0x92DC, 0x722C, 0xE0A6, - 0x722D, 0xE0A5, 0x7230, 0xE0A7, 0x7232, 0xE0A8, 0x7235, 0x8EDD, 0x7236, 0x9583, 0x723A, 0x96EA, 0x723B, 0xE0A9, 0x723C, 0xE0AA, - 0x723D, 0x9175, 0x723E, 0x8EA2, 0x723F, 0xE0AB, 0x7240, 0xE0AC, 0x7246, 0xE0AD, 0x7247, 0x95D0, 0x7248, 0x94C5, 0x724B, 0xE0AE, - 0x724C, 0x9476, 0x7252, 0x92AB, 0x7258, 0xE0AF, 0x7259, 0x89E5, 0x725B, 0x8B8D, 0x725D, 0x96C4, 0x725F, 0x96B4, 0x7261, 0x89B2, - 0x7262, 0x9853, 0x7267, 0x9671, 0x7269, 0x95A8, 0x7272, 0x90B5, 0x7274, 0xE0B0, 0x7279, 0x93C1, 0x727D, 0x8CA1, 0x727E, 0xE0B1, - 0x7280, 0x8DD2, 0x7281, 0xE0B3, 0x7282, 0xE0B2, 0x7287, 0xE0B4, 0x7292, 0xE0B5, 0x7296, 0xE0B6, 0x72A0, 0x8B5D, 0x72A2, 0xE0B7, - 0x72A7, 0xE0B8, 0x72AC, 0x8CA2, 0x72AF, 0x94C6, 0x72B1, 0xFB5B, 0x72B2, 0xE0BA, 0x72B6, 0x8FF3, 0x72B9, 0xE0B9, 0x72BE, 0xFB5C, - 0x72C2, 0x8BB6, 0x72C3, 0xE0BB, 0x72C4, 0xE0BD, 0x72C6, 0xE0BC, 0x72CE, 0xE0BE, 0x72D0, 0x8CCF, 0x72D2, 0xE0BF, 0x72D7, 0x8BE7, - 0x72D9, 0x915F, 0x72DB, 0x8D9D, 0x72E0, 0xE0C1, 0x72E1, 0xE0C2, 0x72E2, 0xE0C0, 0x72E9, 0x8EEB, 0x72EC, 0x93C6, 0x72ED, 0x8BB7, - 0x72F7, 0xE0C4, 0x72F8, 0x924B, 0x72F9, 0xE0C3, 0x72FC, 0x9854, 0x72FD, 0x9482, 0x730A, 0xE0C7, 0x7316, 0xE0C9, 0x7317, 0xE0C6, - 0x731B, 0x96D2, 0x731C, 0xE0C8, 0x731D, 0xE0CA, 0x731F, 0x97C2, 0x7324, 0xFB5D, 0x7325, 0xE0CE, 0x7329, 0xE0CD, 0x732A, 0x9296, - 0x732B, 0x944C, 0x732E, 0x8CA3, 0x732F, 0xE0CC, 0x7334, 0xE0CB, 0x7336, 0x9750, 0x7337, 0x9751, 0x733E, 0xE0CF, 0x733F, 0x898E, - 0x7344, 0x8D96, 0x7345, 0x8E82, 0x734E, 0xE0D0, 0x734F, 0xE0D1, 0x7357, 0xE0D3, 0x7363, 0x8F62, 0x7368, 0xE0D5, 0x736A, 0xE0D4, - 0x7370, 0xE0D6, 0x7372, 0x8A6C, 0x7375, 0xE0D8, 0x7377, 0xFB5F, 0x7378, 0xE0D7, 0x737A, 0xE0DA, 0x737B, 0xE0D9, 0x7384, 0x8CBA, - 0x7387, 0x97A6, 0x7389, 0x8BCA, 0x738B, 0x89A4, 0x7396, 0x8BE8, 0x73A9, 0x8ADF, 0x73B2, 0x97E6, 0x73B3, 0xE0DC, 0x73BB, 0xE0DE, - 0x73BD, 0xFB60, 0x73C0, 0xE0DF, 0x73C2, 0x89CF, 0x73C8, 0xE0DB, 0x73C9, 0xFB61, 0x73CA, 0x8E58, 0x73CD, 0x92BF, 0x73CE, 0xE0DD, - 0x73D2, 0xFB64, 0x73D6, 0xFB62, 0x73DE, 0xE0E2, 0x73E0, 0x8EEC, 0x73E3, 0xFB63, 0x73E5, 0xE0E0, 0x73EA, 0x8C5D, 0x73ED, 0x94C7, - 0x73EE, 0xE0E1, 0x73F1, 0xE0FC, 0x73F5, 0xFB66, 0x73F8, 0xE0E7, 0x73FE, 0x8CBB, 0x7403, 0x8B85, 0x7405, 0xE0E4, 0x7406, 0x979D, - 0x7407, 0xFB65, 0x7409, 0x97AE, 0x7422, 0x91F4, 0x7425, 0xE0E6, 0x7426, 0xFB67, 0x7429, 0xFB69, 0x742A, 0xFB68, 0x742E, 0xFB6A, - 0x7432, 0xE0E8, 0x7433, 0x97D4, 0x7434, 0x8BD5, 0x7435, 0x94FA, 0x7436, 0x9469, 0x743A, 0xE0E9, 0x743F, 0xE0EB, 0x7441, 0xE0EE, - 0x7455, 0xE0EA, 0x7459, 0xE0ED, 0x745A, 0x8CE8, 0x745B, 0x896C, 0x745C, 0xE0EF, 0x745E, 0x9090, 0x745F, 0xE0EC, 0x7460, 0x97DA, - 0x7462, 0xFB6B, 0x7463, 0xE0F2, 0x7464, 0xEAA2, 0x7469, 0xE0F0, 0x746A, 0xE0F3, 0x746F, 0xE0E5, 0x7470, 0xE0F1, 0x7473, 0x8DBA, - 0x7476, 0xE0F4, 0x747E, 0xE0F5, 0x7483, 0x979E, 0x7489, 0xFB6C, 0x748B, 0xE0F6, 0x749E, 0xE0F7, 0x749F, 0xFB6D, 0x74A2, 0xE0E3, - 0x74A7, 0xE0F8, 0x74B0, 0x8AC2, 0x74BD, 0x8EA3, 0x74CA, 0xE0F9, 0x74CF, 0xE0FA, 0x74D4, 0xE0FB, 0x74DC, 0x895A, 0x74E0, 0xE140, - 0x74E2, 0x955A, 0x74E3, 0xE141, 0x74E6, 0x8AA2, 0x74E7, 0xE142, 0x74E9, 0xE143, 0x74EE, 0xE144, 0x74F0, 0xE146, 0x74F1, 0xE147, - 0x74F2, 0xE145, 0x74F6, 0x9572, 0x74F7, 0xE149, 0x74F8, 0xE148, 0x7501, 0xFB6E, 0x7503, 0xE14B, 0x7504, 0xE14A, 0x7505, 0xE14C, - 0x750C, 0xE14D, 0x750D, 0xE14F, 0x750E, 0xE14E, 0x7511, 0x8D99, 0x7513, 0xE151, 0x7515, 0xE150, 0x7518, 0x8AC3, 0x751A, 0x9072, - 0x751C, 0x935B, 0x751E, 0xE152, 0x751F, 0x90B6, 0x7523, 0x8E59, 0x7525, 0x8999, 0x7526, 0xE153, 0x7528, 0x9770, 0x752B, 0x95E1, - 0x752C, 0xE154, 0x752F, 0xFAA8, 0x7530, 0x9363, 0x7531, 0x9752, 0x7532, 0x8D62, 0x7533, 0x905C, 0x7537, 0x926A, 0x7538, 0x99B2, - 0x753A, 0x92AC, 0x753B, 0x89E6, 0x753C, 0xE155, 0x7544, 0xE156, 0x7546, 0xE15B, 0x7549, 0xE159, 0x754A, 0xE158, 0x754B, 0x9DC0, - 0x754C, 0x8A45, 0x754D, 0xE157, 0x754F, 0x88D8, 0x7551, 0x94A8, 0x7554, 0x94C8, 0x7559, 0x97AF, 0x755A, 0xE15C, 0x755B, 0xE15A, - 0x755C, 0x927B, 0x755D, 0x90A4, 0x7560, 0x94A9, 0x7562, 0x954C, 0x7564, 0xE15E, 0x7565, 0x97AA, 0x7566, 0x8C6C, 0x7567, 0xE15F, - 0x7569, 0xE15D, 0x756A, 0x94D4, 0x756B, 0xE160, 0x756D, 0xE161, 0x756F, 0xFB6F, 0x7570, 0x88D9, 0x7573, 0x8FF4, 0x7574, 0xE166, - 0x7576, 0xE163, 0x7577, 0x93EB, 0x7578, 0xE162, 0x757F, 0x8B45, 0x7582, 0xE169, 0x7586, 0xE164, 0x7587, 0xE165, 0x7589, 0xE168, - 0x758A, 0xE167, 0x758B, 0x9544, 0x758E, 0x9161, 0x758F, 0x9160, 0x7591, 0x8B5E, 0x7594, 0xE16A, 0x759A, 0xE16B, 0x759D, 0xE16C, - 0x75A3, 0xE16E, 0x75A5, 0xE16D, 0x75AB, 0x8975, 0x75B1, 0xE176, 0x75B2, 0x94E6, 0x75B3, 0xE170, 0x75B5, 0xE172, 0x75B8, 0xE174, - 0x75B9, 0x905D, 0x75BC, 0xE175, 0x75BD, 0xE173, 0x75BE, 0x8EBE, 0x75C2, 0xE16F, 0x75C3, 0xE171, 0x75C5, 0x9561, 0x75C7, 0x8FC7, - 0x75CA, 0xE178, 0x75CD, 0xE177, 0x75D2, 0xE179, 0x75D4, 0x8EA4, 0x75D5, 0x8DAD, 0x75D8, 0x9397, 0x75D9, 0xE17A, 0x75DB, 0x92C9, - 0x75DE, 0xE17C, 0x75E2, 0x979F, 0x75E3, 0xE17B, 0x75E9, 0x9189, 0x75F0, 0xE182, 0x75F2, 0xE184, 0x75F3, 0xE185, 0x75F4, 0x9273, - 0x75FA, 0xE183, 0x75FC, 0xE180, 0x75FE, 0xE17D, 0x75FF, 0xE17E, 0x7601, 0xE181, 0x7609, 0xE188, 0x760B, 0xE186, 0x760D, 0xE187, - 0x761F, 0xE189, 0x7620, 0xE18B, 0x7621, 0xE18C, 0x7622, 0xE18D, 0x7624, 0xE18E, 0x7627, 0xE18A, 0x7630, 0xE190, 0x7634, 0xE18F, - 0x763B, 0xE191, 0x7642, 0x97C3, 0x7646, 0xE194, 0x7647, 0xE192, 0x7648, 0xE193, 0x764C, 0x8AE0, 0x7652, 0x96FC, 0x7656, 0x95C8, - 0x7658, 0xE196, 0x765C, 0xE195, 0x7661, 0xE197, 0x7662, 0xE198, 0x7667, 0xE19C, 0x7668, 0xE199, 0x7669, 0xE19A, 0x766A, 0xE19B, - 0x766C, 0xE19D, 0x7670, 0xE19E, 0x7672, 0xE19F, 0x7676, 0xE1A0, 0x7678, 0xE1A1, 0x767A, 0x94AD, 0x767B, 0x936F, 0x767C, 0xE1A2, - 0x767D, 0x9492, 0x767E, 0x9553, 0x7680, 0xE1A3, 0x7682, 0xFB70, 0x7683, 0xE1A4, 0x7684, 0x9349, 0x7686, 0x8A46, 0x7687, 0x8D63, - 0x7688, 0xE1A5, 0x768B, 0xE1A6, 0x768E, 0xE1A7, 0x7690, 0x8E48, 0x7693, 0xE1A9, 0x7696, 0xE1A8, 0x7699, 0xE1AA, 0x769A, 0xE1AB, - 0x769B, 0xFB73, 0x769C, 0xFB71, 0x769E, 0xFB72, 0x76A6, 0xFB74, 0x76AE, 0x94E7, 0x76B0, 0xE1AC, 0x76B4, 0xE1AD, 0x76B7, 0xEA89, - 0x76B8, 0xE1AE, 0x76B9, 0xE1AF, 0x76BA, 0xE1B0, 0x76BF, 0x8E4D, 0x76C2, 0xE1B1, 0x76C3, 0x9475, 0x76C6, 0x967E, 0x76C8, 0x896D, - 0x76CA, 0x8976, 0x76CD, 0xE1B2, 0x76D2, 0xE1B4, 0x76D6, 0xE1B3, 0x76D7, 0x9390, 0x76DB, 0x90B7, 0x76DC, 0x9F58, 0x76DE, 0xE1B5, - 0x76DF, 0x96BF, 0x76E1, 0xE1B6, 0x76E3, 0x8AC4, 0x76E4, 0x94D5, 0x76E5, 0xE1B7, 0x76E7, 0xE1B8, 0x76EA, 0xE1B9, 0x76EE, 0x96DA, - 0x76F2, 0x96D3, 0x76F4, 0x92BC, 0x76F8, 0x918A, 0x76FB, 0xE1BB, 0x76FE, 0x8F82, 0x7701, 0x8FC8, 0x7704, 0xE1BE, 0x7707, 0xE1BD, - 0x7708, 0xE1BC, 0x7709, 0x94FB, 0x770B, 0x8AC5, 0x770C, 0x8CA7, 0x771B, 0xE1C4, 0x771E, 0xE1C1, 0x771F, 0x905E, 0x7720, 0x96B0, - 0x7724, 0xE1C0, 0x7725, 0xE1C2, 0x7726, 0xE1C3, 0x7729, 0xE1BF, 0x7737, 0xE1C5, 0x7738, 0xE1C6, 0x773A, 0x92AD, 0x773C, 0x8AE1, - 0x7740, 0x9285, 0x7746, 0xFB76, 0x7747, 0xE1C7, 0x775A, 0xE1C8, 0x775B, 0xE1CB, 0x7761, 0x9087, 0x7763, 0x93C2, 0x7765, 0xE1CC, - 0x7766, 0x9672, 0x7768, 0xE1C9, 0x776B, 0xE1CA, 0x7779, 0xE1CF, 0x777E, 0xE1CE, 0x777F, 0xE1CD, 0x778B, 0xE1D1, 0x778E, 0xE1D0, - 0x7791, 0xE1D2, 0x779E, 0xE1D4, 0x77A0, 0xE1D3, 0x77A5, 0x95CB, 0x77AC, 0x8F75, 0x77AD, 0x97C4, 0x77B0, 0xE1D5, 0x77B3, 0x93B5, - 0x77B6, 0xE1D6, 0x77B9, 0xE1D7, 0x77BB, 0xE1DB, 0x77BC, 0xE1D9, 0x77BD, 0xE1DA, 0x77BF, 0xE1D8, 0x77C7, 0xE1DC, 0x77CD, 0xE1DD, - 0x77D7, 0xE1DE, 0x77DA, 0xE1DF, 0x77DB, 0x96B5, 0x77DC, 0xE1E0, 0x77E2, 0x96EE, 0x77E3, 0xE1E1, 0x77E5, 0x926D, 0x77E7, 0x948A, - 0x77E9, 0x8BE9, 0x77ED, 0x925A, 0x77EE, 0xE1E2, 0x77EF, 0x8BB8, 0x77F3, 0x90CE, 0x77FC, 0xE1E3, 0x7802, 0x8DBB, 0x780C, 0xE1E4, - 0x7812, 0xE1E5, 0x7814, 0x8CA4, 0x7815, 0x8DD3, 0x7820, 0xE1E7, 0x7821, 0xFB78, 0x7825, 0x9375, 0x7826, 0x8DD4, 0x7827, 0x8B6D, - 0x7832, 0x9643, 0x7834, 0x946A, 0x783A, 0x9376, 0x783F, 0x8D7B, 0x7845, 0xE1E9, 0x784E, 0xFB79, 0x785D, 0x8FC9, 0x7864, 0xFB7A, - 0x786B, 0x97B0, 0x786C, 0x8D64, 0x786F, 0x8CA5, 0x7872, 0x94A1, 0x7874, 0xE1EB, 0x787A, 0xFB7B, 0x787C, 0xE1ED, 0x7881, 0x8CE9, - 0x7886, 0xE1EC, 0x7887, 0x92F4, 0x788C, 0xE1EF, 0x788D, 0x8A56, 0x788E, 0xE1EA, 0x7891, 0x94E8, 0x7893, 0x894F, 0x7895, 0x8DEA, - 0x7897, 0x9871, 0x789A, 0xE1EE, 0x78A3, 0xE1F0, 0x78A7, 0x95C9, 0x78A9, 0x90D7, 0x78AA, 0xE1F2, 0x78AF, 0xE1F3, 0x78B5, 0xE1F1, - 0x78BA, 0x8A6D, 0x78BC, 0xE1F9, 0x78BE, 0xE1F8, 0x78C1, 0x8EA5, 0x78C5, 0xE1FA, 0x78C6, 0xE1F5, 0x78CA, 0xE1FB, 0x78CB, 0xE1F6, - 0x78D0, 0x94D6, 0x78D1, 0xE1F4, 0x78D4, 0xE1F7, 0x78DA, 0xE241, 0x78E7, 0xE240, 0x78E8, 0x9681, 0x78EC, 0xE1FC, 0x78EF, 0x88E9, - 0x78F4, 0xE243, 0x78FD, 0xE242, 0x7901, 0x8FCA, 0x7907, 0xE244, 0x790E, 0x9162, 0x7911, 0xE246, 0x7912, 0xE245, 0x7919, 0xE247, - 0x7926, 0xE1E6, 0x792A, 0xE1E8, 0x792B, 0xE249, 0x792C, 0xE248, 0x7930, 0xFB7C, 0x793A, 0x8EA6, 0x793C, 0x97E7, 0x793E, 0x8ED0, - 0x7940, 0xE24A, 0x7941, 0x8C56, 0x7947, 0x8B5F, 0x7948, 0x8B46, 0x7949, 0x8E83, 0x7950, 0x9753, 0x7953, 0xE250, 0x7955, 0xE24F, - 0x7956, 0x9163, 0x7957, 0xE24C, 0x795A, 0xE24E, 0x795D, 0x8F6A, 0x795E, 0x905F, 0x795F, 0xE24D, 0x7960, 0xE24B, 0x7962, 0x9449, - 0x7965, 0x8FCB, 0x7968, 0x955B, 0x796D, 0x8DD5, 0x7977, 0x9398, 0x797A, 0xE251, 0x797F, 0xE252, 0x7980, 0xE268, 0x7981, 0x8BD6, - 0x7984, 0x985C, 0x7985, 0x9154, 0x798A, 0xE253, 0x798D, 0x89D0, 0x798E, 0x92F5, 0x798F, 0x959F, 0x7994, 0xFB81, 0x799B, 0xFB83, - 0x799D, 0xE254, 0x79A6, 0x8B9A, 0x79A7, 0xE255, 0x79AA, 0xE257, 0x79AE, 0xE258, 0x79B0, 0x9448, 0x79B3, 0xE259, 0x79B9, 0xE25A, - 0x79BA, 0xE25B, 0x79BD, 0x8BD7, 0x79BE, 0x89D1, 0x79BF, 0x93C3, 0x79C0, 0x8F47, 0x79C1, 0x8E84, 0x79C9, 0xE25C, 0x79CB, 0x8F48, - 0x79D1, 0x89C8, 0x79D2, 0x9562, 0x79D5, 0xE25D, 0x79D8, 0x94E9, 0x79DF, 0x9164, 0x79E1, 0xE260, 0x79E3, 0xE261, 0x79E4, 0x9489, - 0x79E6, 0x9060, 0x79E7, 0xE25E, 0x79E9, 0x9281, 0x79EC, 0xE25F, 0x79F0, 0x8FCC, 0x79FB, 0x88DA, 0x7A00, 0x8B48, 0x7A08, 0xE262, - 0x7A0B, 0x92F6, 0x7A0D, 0xE263, 0x7A0E, 0x90C5, 0x7A14, 0x96AB, 0x7A17, 0x9542, 0x7A18, 0xE264, 0x7A19, 0xE265, 0x7A1A, 0x9274, - 0x7A1C, 0x97C5, 0x7A1F, 0xE267, 0x7A20, 0xE266, 0x7A2E, 0x8EED, 0x7A31, 0xE269, 0x7A32, 0x88EE, 0x7A37, 0xE26C, 0x7A3B, 0xE26A, - 0x7A3C, 0x89D2, 0x7A3D, 0x8C6D, 0x7A3E, 0xE26B, 0x7A3F, 0x8D65, 0x7A40, 0x8D92, 0x7A42, 0x95E4, 0x7A43, 0xE26D, 0x7A46, 0x9673, - 0x7A49, 0xE26F, 0x7A4D, 0x90CF, 0x7A4E, 0x896E, 0x7A4F, 0x89B8, 0x7A50, 0x88AA, 0x7A57, 0xE26E, 0x7A61, 0xE270, 0x7A62, 0xE271, - 0x7A63, 0x8FF5, 0x7A69, 0xE272, 0x7A6B, 0x8A6E, 0x7A70, 0xE274, 0x7A74, 0x8C8A, 0x7A76, 0x8B86, 0x7A79, 0xE275, 0x7A7A, 0x8BF3, - 0x7A7D, 0xE276, 0x7A7F, 0x90FA, 0x7A81, 0x93CB, 0x7A83, 0x90DE, 0x7A84, 0x8DF3, 0x7A88, 0xE277, 0x7A92, 0x9282, 0x7A93, 0x918B, - 0x7A95, 0xE279, 0x7A96, 0xE27B, 0x7A97, 0xE278, 0x7A98, 0xE27A, 0x7A9F, 0x8C41, 0x7AA9, 0xE27C, 0x7AAA, 0x8C45, 0x7AAE, 0x8B87, - 0x7AAF, 0x9771, 0x7AB0, 0xE27E, 0x7AB6, 0xE280, 0x7ABA, 0x894D, 0x7ABF, 0xE283, 0x7AC3, 0x8A96, 0x7AC4, 0xE282, 0x7AC5, 0xE281, - 0x7AC7, 0xE285, 0x7AC8, 0xE27D, 0x7ACA, 0xE286, 0x7ACB, 0x97A7, 0x7ACD, 0xE287, 0x7ACF, 0xE288, 0x7AD1, 0xFB84, 0x7AD2, 0x9AF2, - 0x7AD3, 0xE28A, 0x7AD5, 0xE289, 0x7AD9, 0xE28B, 0x7ADA, 0xE28C, 0x7ADC, 0x97B3, 0x7ADD, 0xE28D, 0x7ADF, 0xE8ED, 0x7AE0, 0x8FCD, - 0x7AE1, 0xE28E, 0x7AE2, 0xE28F, 0x7AE3, 0x8F76, 0x7AE5, 0x93B6, 0x7AE6, 0xE290, 0x7AE7, 0xFB85, 0x7AEA, 0x9247, 0x7AEB, 0xFB87, - 0x7AED, 0xE291, 0x7AEF, 0x925B, 0x7AF0, 0xE292, 0x7AF6, 0x8BA3, 0x7AF8, 0x995E, 0x7AF9, 0x927C, 0x7AFA, 0x8EB1, 0x7AFF, 0x8AC6, - 0x7B02, 0xE293, 0x7B04, 0xE2A0, 0x7B06, 0xE296, 0x7B08, 0x8B88, 0x7B0A, 0xE295, 0x7B0B, 0xE2A2, 0x7B0F, 0xE294, 0x7B11, 0x8FCE, - 0x7B18, 0xE298, 0x7B19, 0xE299, 0x7B1B, 0x934A, 0x7B1E, 0xE29A, 0x7B20, 0x8A7D, 0x7B25, 0x9079, 0x7B26, 0x9584, 0x7B28, 0xE29C, - 0x7B2C, 0x91E6, 0x7B33, 0xE297, 0x7B35, 0xE29B, 0x7B36, 0xE29D, 0x7B39, 0x8DF9, 0x7B45, 0xE2A4, 0x7B46, 0x954D, 0x7B48, 0x94A4, - 0x7B49, 0x9399, 0x7B4B, 0x8BD8, 0x7B4C, 0xE2A3, 0x7B4D, 0xE2A1, 0x7B4F, 0x94B3, 0x7B50, 0xE29E, 0x7B51, 0x927D, 0x7B52, 0x939B, - 0x7B54, 0x939A, 0x7B56, 0x8DF4, 0x7B5D, 0xE2B6, 0x7B65, 0xE2A6, 0x7B67, 0xE2A8, 0x7B6C, 0xE2AB, 0x7B6E, 0xE2AC, 0x7B70, 0xE2A9, - 0x7B71, 0xE2AA, 0x7B74, 0xE2A7, 0x7B75, 0xE2A5, 0x7B7A, 0xE29F, 0x7B86, 0x95CD, 0x7B87, 0x89D3, 0x7B8B, 0xE2B3, 0x7B8D, 0xE2B0, - 0x7B8F, 0xE2B5, 0x7B92, 0xE2B4, 0x7B94, 0x9493, 0x7B95, 0x96A5, 0x7B97, 0x8E5A, 0x7B98, 0xE2AE, 0x7B99, 0xE2B7, 0x7B9A, 0xE2B2, - 0x7B9C, 0xE2B1, 0x7B9D, 0xE2AD, 0x7B9E, 0xFB88, 0x7B9F, 0xE2AF, 0x7BA1, 0x8AC7, 0x7BAA, 0x925C, 0x7BAD, 0x90FB, 0x7BB1, 0x94A0, - 0x7BB4, 0xE2BC, 0x7BB8, 0x94A2, 0x7BC0, 0x90DF, 0x7BC1, 0xE2B9, 0x7BC4, 0x94CD, 0x7BC6, 0xE2BD, 0x7BC7, 0x95D1, 0x7BC9, 0x927A, - 0x7BCB, 0xE2B8, 0x7BCC, 0xE2BA, 0x7BCF, 0xE2BB, 0x7BDD, 0xE2BE, 0x7BE0, 0x8EC2, 0x7BE4, 0x93C4, 0x7BE5, 0xE2C3, 0x7BE6, 0xE2C2, - 0x7BE9, 0xE2BF, 0x7BED, 0x9855, 0x7BF3, 0xE2C8, 0x7BF6, 0xE2CC, 0x7BF7, 0xE2C9, 0x7C00, 0xE2C5, 0x7C07, 0xE2C6, 0x7C0D, 0xE2CB, - 0x7C11, 0xE2C0, 0x7C12, 0x99D3, 0x7C13, 0xE2C7, 0x7C14, 0xE2C1, 0x7C17, 0xE2CA, 0x7C1F, 0xE2D0, 0x7C21, 0x8AC8, 0x7C23, 0xE2CD, - 0x7C27, 0xE2CE, 0x7C2A, 0xE2CF, 0x7C2B, 0xE2D2, 0x7C37, 0xE2D1, 0x7C38, 0x94F4, 0x7C3D, 0xE2D3, 0x7C3E, 0x97FA, 0x7C3F, 0x95EB, - 0x7C40, 0xE2D8, 0x7C43, 0xE2D5, 0x7C4C, 0xE2D4, 0x7C4D, 0x90D0, 0x7C4F, 0xE2D7, 0x7C50, 0xE2D9, 0x7C54, 0xE2D6, 0x7C56, 0xE2DD, - 0x7C58, 0xE2DA, 0x7C5F, 0xE2DB, 0x7C60, 0xE2C4, 0x7C64, 0xE2DC, 0x7C65, 0xE2DE, 0x7C6C, 0xE2DF, 0x7C73, 0x95C4, 0x7C75, 0xE2E0, - 0x7C7E, 0x96E0, 0x7C81, 0x8BCC, 0x7C82, 0x8C48, 0x7C83, 0xE2E1, 0x7C89, 0x95B2, 0x7C8B, 0x9088, 0x7C8D, 0x96AE, 0x7C90, 0xE2E2, - 0x7C92, 0x97B1, 0x7C95, 0x9494, 0x7C97, 0x9165, 0x7C98, 0x9453, 0x7C9B, 0x8F6C, 0x7C9F, 0x88BE, 0x7CA1, 0xE2E7, 0x7CA2, 0xE2E5, - 0x7CA4, 0xE2E3, 0x7CA5, 0x8A9F, 0x7CA7, 0x8FCF, 0x7CA8, 0xE2E8, 0x7CAB, 0xE2E6, 0x7CAD, 0xE2E4, 0x7CAE, 0xE2EC, 0x7CB1, 0xE2EB, - 0x7CB2, 0xE2EA, 0x7CB3, 0xE2E9, 0x7CB9, 0xE2ED, 0x7CBD, 0xE2EE, 0x7CBE, 0x90B8, 0x7CC0, 0xE2EF, 0x7CC2, 0xE2F1, 0x7CC5, 0xE2F0, - 0x7CCA, 0x8CD0, 0x7CCE, 0x9157, 0x7CD2, 0xE2F3, 0x7CD6, 0x939C, 0x7CD8, 0xE2F2, 0x7CDC, 0xE2F4, 0x7CDE, 0x95B3, 0x7CDF, 0x918C, - 0x7CE0, 0x8D66, 0x7CE2, 0xE2F5, 0x7CE7, 0x97C6, 0x7CEF, 0xE2F7, 0x7CF2, 0xE2F8, 0x7CF4, 0xE2F9, 0x7CF6, 0xE2FA, 0x7CF8, 0x8E85, - 0x7CFA, 0xE2FB, 0x7CFB, 0x8C6E, 0x7CFE, 0x8B8A, 0x7D00, 0x8B49, 0x7D02, 0xE340, 0x7D04, 0x96F1, 0x7D05, 0x8D67, 0x7D06, 0xE2FC, - 0x7D0A, 0xE343, 0x7D0B, 0x96E4, 0x7D0D, 0x945B, 0x7D10, 0x9552, 0x7D14, 0x8F83, 0x7D15, 0xE342, 0x7D17, 0x8ED1, 0x7D18, 0x8D68, - 0x7D19, 0x8E86, 0x7D1A, 0x8B89, 0x7D1B, 0x95B4, 0x7D1C, 0xE341, 0x7D20, 0x9166, 0x7D21, 0x9661, 0x7D22, 0x8DF5, 0x7D2B, 0x8E87, - 0x7D2C, 0x92DB, 0x7D2E, 0xE346, 0x7D2F, 0x97DD, 0x7D30, 0x8DD7, 0x7D32, 0xE347, 0x7D33, 0x9061, 0x7D35, 0xE349, 0x7D39, 0x8FD0, - 0x7D3A, 0x8DAE, 0x7D3F, 0xE348, 0x7D42, 0x8F49, 0x7D43, 0x8CBC, 0x7D44, 0x9167, 0x7D45, 0xE344, 0x7D46, 0xE34A, 0x7D48, 0xFB8A, - 0x7D4B, 0xE345, 0x7D4C, 0x8C6F, 0x7D4E, 0xE34D, 0x7D4F, 0xE351, 0x7D50, 0x8C8B, 0x7D56, 0xE34C, 0x7D5B, 0xE355, 0x7D5C, 0xFB8B, - 0x7D5E, 0x8D69, 0x7D61, 0x978D, 0x7D62, 0x88BA, 0x7D63, 0xE352, 0x7D66, 0x8B8B, 0x7D68, 0xE34F, 0x7D6E, 0xE350, 0x7D71, 0x939D, - 0x7D72, 0xE34E, 0x7D73, 0xE34B, 0x7D75, 0x8A47, 0x7D76, 0x90E2, 0x7D79, 0x8CA6, 0x7D7D, 0xE357, 0x7D89, 0xE354, 0x7D8F, 0xE356, - 0x7D93, 0xE353, 0x7D99, 0x8C70, 0x7D9A, 0x91B1, 0x7D9B, 0xE358, 0x7D9C, 0x918E, 0x7D9F, 0xE365, 0x7DA0, 0xFB8D, 0x7DA2, 0xE361, - 0x7DA3, 0xE35B, 0x7DAB, 0xE35F, 0x7DAC, 0x8EF8, 0x7DAD, 0x88DB, 0x7DAE, 0xE35A, 0x7DAF, 0xE362, 0x7DB0, 0xE366, 0x7DB1, 0x8D6A, - 0x7DB2, 0x96D4, 0x7DB4, 0x92D4, 0x7DB5, 0xE35C, 0x7DB7, 0xFB8C, 0x7DB8, 0xE364, 0x7DBA, 0xE359, 0x7DBB, 0x925D, 0x7DBD, 0xE35E, - 0x7DBE, 0x88BB, 0x7DBF, 0x96C8, 0x7DC7, 0xE35D, 0x7DCA, 0x8BD9, 0x7DCB, 0x94EA, 0x7DCF, 0x918D, 0x7DD1, 0x97CE, 0x7DD2, 0x8F8F, - 0x7DD5, 0xE38E, 0x7DD6, 0xFB8E, 0x7DD8, 0xE367, 0x7DDA, 0x90FC, 0x7DDC, 0xE363, 0x7DDD, 0xE368, 0x7DDE, 0xE36A, 0x7DE0, 0x92F7, - 0x7DE1, 0xE36D, 0x7DE4, 0xE369, 0x7DE8, 0x95D2, 0x7DE9, 0x8AC9, 0x7DEC, 0x96C9, 0x7DEF, 0x88DC, 0x7DF2, 0xE36C, 0x7DF4, 0x97FB, - 0x7DFB, 0xE36B, 0x7E01, 0x898F, 0x7E04, 0x93EA, 0x7E05, 0xE36E, 0x7E09, 0xE375, 0x7E0A, 0xE36F, 0x7E0B, 0xE376, 0x7E12, 0xE372, - 0x7E1B, 0x949B, 0x7E1E, 0x8EC8, 0x7E1F, 0xE374, 0x7E21, 0xE371, 0x7E22, 0xE377, 0x7E23, 0xE370, 0x7E26, 0x8F63, 0x7E2B, 0x9644, - 0x7E2E, 0x8F6B, 0x7E31, 0xE373, 0x7E32, 0xE380, 0x7E35, 0xE37B, 0x7E37, 0xE37E, 0x7E39, 0xE37C, 0x7E3A, 0xE381, 0x7E3B, 0xE37A, - 0x7E3D, 0xE360, 0x7E3E, 0x90D1, 0x7E41, 0x94C9, 0x7E43, 0xE37D, 0x7E46, 0xE378, 0x7E4A, 0x9140, 0x7E4B, 0x8C71, 0x7E4D, 0x8F4A, - 0x7E52, 0xFB8F, 0x7E54, 0x9044, 0x7E55, 0x9155, 0x7E56, 0xE384, 0x7E59, 0xE386, 0x7E5A, 0xE387, 0x7E5D, 0xE383, 0x7E5E, 0xE385, - 0x7E66, 0xE379, 0x7E67, 0xE382, 0x7E69, 0xE38A, 0x7E6A, 0xE389, 0x7E6D, 0x969A, 0x7E70, 0x8C4A, 0x7E79, 0xE388, 0x7E7B, 0xE38C, - 0x7E7C, 0xE38B, 0x7E7D, 0xE38F, 0x7E7F, 0xE391, 0x7E82, 0x8E5B, 0x7E83, 0xE38D, 0x7E88, 0xE392, 0x7E89, 0xE393, 0x7E8A, 0xFA5C, - 0x7E8C, 0xE394, 0x7E8E, 0xE39A, 0x7E8F, 0x935A, 0x7E90, 0xE396, 0x7E92, 0xE395, 0x7E93, 0xE397, 0x7E94, 0xE398, 0x7E96, 0xE399, - 0x7E9B, 0xE39B, 0x7E9C, 0xE39C, 0x7F36, 0x8ACA, 0x7F38, 0xE39D, 0x7F3A, 0xE39E, 0x7F45, 0xE39F, 0x7F47, 0xFB90, 0x7F4C, 0xE3A0, - 0x7F4D, 0xE3A1, 0x7F4E, 0xE3A2, 0x7F50, 0xE3A3, 0x7F51, 0xE3A4, 0x7F54, 0xE3A6, 0x7F55, 0xE3A5, 0x7F58, 0xE3A7, 0x7F5F, 0xE3A8, - 0x7F60, 0xE3A9, 0x7F67, 0xE3AC, 0x7F68, 0xE3AA, 0x7F69, 0xE3AB, 0x7F6A, 0x8DDF, 0x7F6B, 0x8C72, 0x7F6E, 0x9275, 0x7F70, 0x94B1, - 0x7F72, 0x8F90, 0x7F75, 0x946C, 0x7F77, 0x94EB, 0x7F78, 0xE3AD, 0x7F79, 0x9CEB, 0x7F82, 0xE3AE, 0x7F83, 0xE3B0, 0x7F85, 0x9785, - 0x7F86, 0xE3AF, 0x7F87, 0xE3B2, 0x7F88, 0xE3B1, 0x7F8A, 0x9772, 0x7F8C, 0xE3B3, 0x7F8E, 0x94FC, 0x7F94, 0xE3B4, 0x7F9A, 0xE3B7, - 0x7F9D, 0xE3B6, 0x7F9E, 0xE3B5, 0x7FA1, 0xFB91, 0x7FA3, 0xE3B8, 0x7FA4, 0x8C51, 0x7FA8, 0x9141, 0x7FA9, 0x8B60, 0x7FAE, 0xE3BC, - 0x7FAF, 0xE3B9, 0x7FB2, 0xE3BA, 0x7FB6, 0xE3BD, 0x7FB8, 0xE3BE, 0x7FB9, 0xE3BB, 0x7FBD, 0x8948, 0x7FC1, 0x89A5, 0x7FC5, 0xE3C0, - 0x7FC6, 0xE3C1, 0x7FCA, 0xE3C2, 0x7FCC, 0x9782, 0x7FD2, 0x8F4B, 0x7FD4, 0xE3C4, 0x7FD5, 0xE3C3, 0x7FE0, 0x9089, 0x7FE1, 0xE3C5, - 0x7FE6, 0xE3C6, 0x7FE9, 0xE3C7, 0x7FEB, 0x8AE3, 0x7FF0, 0x8ACB, 0x7FF3, 0xE3C8, 0x7FF9, 0xE3C9, 0x7FFB, 0x967C, 0x7FFC, 0x9783, - 0x8000, 0x9773, 0x8001, 0x9856, 0x8003, 0x8D6C, 0x8004, 0xE3CC, 0x8005, 0x8ED2, 0x8006, 0xE3CB, 0x800B, 0xE3CD, 0x800C, 0x8EA7, - 0x8010, 0x91CF, 0x8012, 0xE3CE, 0x8015, 0x8D6B, 0x8017, 0x96D5, 0x8018, 0xE3CF, 0x8019, 0xE3D0, 0x801C, 0xE3D1, 0x8021, 0xE3D2, - 0x8028, 0xE3D3, 0x8033, 0x8EA8, 0x8036, 0x96EB, 0x803B, 0xE3D5, 0x803D, 0x925E, 0x803F, 0xE3D4, 0x8046, 0xE3D7, 0x804A, 0xE3D6, - 0x8052, 0xE3D8, 0x8056, 0x90B9, 0x8058, 0xE3D9, 0x805A, 0xE3DA, 0x805E, 0x95B7, 0x805F, 0xE3DB, 0x8061, 0x918F, 0x8062, 0xE3DC, - 0x8068, 0xE3DD, 0x806F, 0x97FC, 0x8070, 0xE3E0, 0x8072, 0xE3DF, 0x8073, 0xE3DE, 0x8074, 0x92AE, 0x8076, 0xE3E1, 0x8077, 0x9045, - 0x8079, 0xE3E2, 0x807D, 0xE3E3, 0x807E, 0x9857, 0x807F, 0xE3E4, 0x8084, 0xE3E5, 0x8085, 0xE3E7, 0x8086, 0xE3E6, 0x8087, 0x94A3, - 0x8089, 0x93F7, 0x808B, 0x985D, 0x808C, 0x94A7, 0x8093, 0xE3E9, 0x8096, 0x8FD1, 0x8098, 0x9549, 0x809A, 0xE3EA, 0x809B, 0xE3E8, - 0x809D, 0x8ACC, 0x80A1, 0x8CD2, 0x80A2, 0x8E88, 0x80A5, 0x94EC, 0x80A9, 0x8CA8, 0x80AA, 0x9662, 0x80AC, 0xE3ED, 0x80AD, 0xE3EB, - 0x80AF, 0x8D6D, 0x80B1, 0x8D6E, 0x80B2, 0x88E7, 0x80B4, 0x8DE6, 0x80BA, 0x9478, 0x80C3, 0x88DD, 0x80C4, 0xE3F2, 0x80C6, 0x925F, - 0x80CC, 0x9477, 0x80CE, 0x91D9, 0x80D6, 0xE3F4, 0x80D9, 0xE3F0, 0x80DA, 0xE3F3, 0x80DB, 0xE3EE, 0x80DD, 0xE3F1, 0x80DE, 0x9645, - 0x80E1, 0x8CD3, 0x80E4, 0x88FB, 0x80E5, 0xE3EF, 0x80EF, 0xE3F6, 0x80F1, 0xE3F7, 0x80F4, 0x93B7, 0x80F8, 0x8BB9, 0x80FC, 0xE445, - 0x80FD, 0x945C, 0x8102, 0x8E89, 0x8105, 0x8BBA, 0x8106, 0x90C6, 0x8107, 0x9865, 0x8108, 0x96AC, 0x8109, 0xE3F5, 0x810A, 0x90D2, - 0x811A, 0x8B72, 0x811B, 0xE3F8, 0x8123, 0xE3FA, 0x8129, 0xE3F9, 0x812F, 0xE3FB, 0x8131, 0x9245, 0x8133, 0x945D, 0x8139, 0x92AF, - 0x813E, 0xE442, 0x8146, 0xE441, 0x814B, 0xE3FC, 0x814E, 0x9074, 0x8150, 0x9585, 0x8151, 0xE444, 0x8153, 0xE443, 0x8154, 0x8D6F, - 0x8155, 0x9872, 0x815F, 0xE454, 0x8165, 0xE448, 0x8166, 0xE449, 0x816B, 0x8EEE, 0x816E, 0xE447, 0x8170, 0x8D98, 0x8171, 0xE446, - 0x8174, 0xE44A, 0x8178, 0x92B0, 0x8179, 0x95A0, 0x817A, 0x9142, 0x817F, 0x91DA, 0x8180, 0xE44E, 0x8182, 0xE44F, 0x8183, 0xE44B, - 0x8188, 0xE44C, 0x818A, 0xE44D, 0x818F, 0x8D70, 0x8193, 0xE455, 0x8195, 0xE451, 0x819A, 0x9586, 0x819C, 0x968C, 0x819D, 0x9547, - 0x81A0, 0xE450, 0x81A3, 0xE453, 0x81A4, 0xE452, 0x81A8, 0x9663, 0x81A9, 0xE456, 0x81B0, 0xE457, 0x81B3, 0x9156, 0x81B5, 0xE458, - 0x81B8, 0xE45A, 0x81BA, 0xE45E, 0x81BD, 0xE45B, 0x81BE, 0xE459, 0x81BF, 0x945E, 0x81C0, 0xE45C, 0x81C2, 0xE45D, 0x81C6, 0x89B0, - 0x81C8, 0xE464, 0x81C9, 0xE45F, 0x81CD, 0xE460, 0x81D1, 0xE461, 0x81D3, 0x919F, 0x81D8, 0xE463, 0x81D9, 0xE462, 0x81DA, 0xE465, - 0x81DF, 0xE466, 0x81E0, 0xE467, 0x81E3, 0x9062, 0x81E5, 0x89E7, 0x81E7, 0xE468, 0x81E8, 0x97D5, 0x81EA, 0x8EA9, 0x81ED, 0x8F4C, - 0x81F3, 0x8E8A, 0x81F4, 0x9276, 0x81FA, 0xE469, 0x81FB, 0xE46A, 0x81FC, 0x8950, 0x81FE, 0xE46B, 0x8201, 0xE46C, 0x8202, 0xE46D, - 0x8205, 0xE46E, 0x8207, 0xE46F, 0x8208, 0x8BBB, 0x8209, 0x9DA8, 0x820A, 0xE470, 0x820C, 0x90E3, 0x820D, 0xE471, 0x820E, 0x8EC9, - 0x8210, 0xE472, 0x8212, 0x98AE, 0x8216, 0xE473, 0x8217, 0x95DC, 0x8218, 0x8ADA, 0x821B, 0x9143, 0x821C, 0x8F77, 0x821E, 0x9591, - 0x821F, 0x8F4D, 0x8229, 0xE474, 0x822A, 0x8D71, 0x822B, 0xE475, 0x822C, 0x94CA, 0x822E, 0xE484, 0x8233, 0xE477, 0x8235, 0x91C7, - 0x8236, 0x9495, 0x8237, 0x8CBD, 0x8238, 0xE476, 0x8239, 0x9144, 0x8240, 0xE478, 0x8247, 0x92F8, 0x8258, 0xE47A, 0x8259, 0xE479, - 0x825A, 0xE47C, 0x825D, 0xE47B, 0x825F, 0xE47D, 0x8262, 0xE480, 0x8264, 0xE47E, 0x8266, 0x8ACD, 0x8268, 0xE481, 0x826A, 0xE482, - 0x826B, 0xE483, 0x826E, 0x8DAF, 0x826F, 0x97C7, 0x8271, 0xE485, 0x8272, 0x9046, 0x8276, 0x8990, 0x8277, 0xE486, 0x8278, 0xE487, - 0x827E, 0xE488, 0x828B, 0x88F0, 0x828D, 0xE489, 0x8292, 0xE48A, 0x8299, 0x9587, 0x829D, 0x8EC5, 0x829F, 0xE48C, 0x82A5, 0x8A48, - 0x82A6, 0x88B0, 0x82AB, 0xE48B, 0x82AC, 0xE48E, 0x82AD, 0x946D, 0x82AF, 0x9063, 0x82B1, 0x89D4, 0x82B3, 0x9646, 0x82B8, 0x8C7C, - 0x82B9, 0x8BDA, 0x82BB, 0xE48D, 0x82BD, 0x89E8, 0x82C5, 0x8AA1, 0x82D1, 0x8991, 0x82D2, 0xE492, 0x82D3, 0x97E8, 0x82D4, 0x91DB, - 0x82D7, 0x9563, 0x82D9, 0xE49E, 0x82DB, 0x89D5, 0x82DC, 0xE49C, 0x82DE, 0xE49A, 0x82DF, 0xE491, 0x82E1, 0xE48F, 0x82E3, 0xE490, - 0x82E5, 0x8EE1, 0x82E6, 0x8BEA, 0x82E7, 0x9297, 0x82EB, 0x93CF, 0x82F1, 0x8970, 0x82F3, 0xE494, 0x82F4, 0xE493, 0x82F9, 0xE499, - 0x82FA, 0xE495, 0x82FB, 0xE498, 0x8301, 0xFB93, 0x8302, 0x96CE, 0x8303, 0xE497, 0x8304, 0x89D6, 0x8305, 0x8A9D, 0x8306, 0xE49B, - 0x8309, 0xE49D, 0x830E, 0x8C73, 0x8316, 0xE4A1, 0x8317, 0xE4AA, 0x8318, 0xE4AB, 0x831C, 0x88A9, 0x8323, 0xE4B2, 0x8328, 0x88EF, - 0x832B, 0xE4A9, 0x832F, 0xE4A8, 0x8331, 0xE4A3, 0x8332, 0xE4A2, 0x8334, 0xE4A0, 0x8335, 0xE49F, 0x8336, 0x9283, 0x8338, 0x91F9, - 0x8339, 0xE4A5, 0x8340, 0xE4A4, 0x8345, 0xE4A7, 0x8349, 0x9190, 0x834A, 0x8C74, 0x834F, 0x8960, 0x8350, 0xE4A6, 0x8352, 0x8D72, - 0x8358, 0x9191, 0x8362, 0xFB94, 0x8373, 0xE4B8, 0x8375, 0xE4B9, 0x8377, 0x89D7, 0x837B, 0x89AC, 0x837C, 0xE4B6, 0x837F, 0xFB95, - 0x8385, 0xE4AC, 0x8387, 0xE4B4, 0x8389, 0xE4BB, 0x838A, 0xE4B5, 0x838E, 0xE4B3, 0x8393, 0xE496, 0x8396, 0xE4B1, 0x839A, 0xE4AD, - 0x839E, 0x8ACE, 0x839F, 0xE4AF, 0x83A0, 0xE4BA, 0x83A2, 0xE4B0, 0x83A8, 0xE4BC, 0x83AA, 0xE4AE, 0x83AB, 0x949C, 0x83B1, 0x9789, - 0x83B5, 0xE4B7, 0x83BD, 0xE4CD, 0x83C1, 0xE4C5, 0x83C5, 0x909B, 0x83C7, 0xFB96, 0x83CA, 0x8B65, 0x83CC, 0x8BDB, 0x83CE, 0xE4C0, - 0x83D3, 0x89D9, 0x83D6, 0x8FD2, 0x83D8, 0xE4C3, 0x83DC, 0x8DD8, 0x83DF, 0x9370, 0x83E0, 0xE4C8, 0x83E9, 0x95EC, 0x83EB, 0xE4BF, - 0x83EF, 0x89D8, 0x83F0, 0x8CD4, 0x83F1, 0x9548, 0x83F2, 0xE4C9, 0x83F4, 0xE4BD, 0x83F6, 0xFB97, 0x83F7, 0xE4C6, 0x83FB, 0xE4D0, - 0x83FD, 0xE4C1, 0x8403, 0xE4C2, 0x8404, 0x93B8, 0x8407, 0xE4C7, 0x840B, 0xE4C4, 0x840C, 0x9647, 0x840D, 0xE4CA, 0x840E, 0x88DE, - 0x8413, 0xE4BE, 0x8420, 0xE4CC, 0x8422, 0xE4CB, 0x8429, 0x948B, 0x842A, 0xE4D2, 0x842C, 0xE4DD, 0x8431, 0x8A9E, 0x8435, 0xE4E0, - 0x8438, 0xE4CE, 0x843C, 0xE4D3, 0x843D, 0x978E, 0x8446, 0xE4DC, 0x8448, 0xFB98, 0x8449, 0x9774, 0x844E, 0x97A8, 0x8457, 0x9298, - 0x845B, 0x8A8B, 0x8461, 0x9592, 0x8462, 0xE4E2, 0x8463, 0x939F, 0x8466, 0x88AF, 0x8469, 0xE4DB, 0x846B, 0xE4D7, 0x846C, 0x9192, - 0x846D, 0xE4D1, 0x846E, 0xE4D9, 0x846F, 0xE4DE, 0x8471, 0x944B, 0x8475, 0x88A8, 0x8477, 0xE4D6, 0x8479, 0xE4DF, 0x847A, 0x9598, - 0x8482, 0xE4DA, 0x8484, 0xE4D5, 0x848B, 0x8FD3, 0x8490, 0x8F4E, 0x8494, 0x8EAA, 0x8499, 0x96D6, 0x849C, 0x9566, 0x849F, 0xE4E5, - 0x84A1, 0xE4EE, 0x84AD, 0xE4D8, 0x84B2, 0x8A97, 0x84B4, 0xFB99, 0x84B8, 0x8FF6, 0x84B9, 0xE4E3, 0x84BB, 0xE4E8, 0x84BC, 0x9193, - 0x84BF, 0xE4E4, 0x84C1, 0xE4EB, 0x84C4, 0x927E, 0x84C6, 0xE4EC, 0x84C9, 0x9775, 0x84CA, 0xE4E1, 0x84CB, 0x8A57, 0x84CD, 0xE4E7, - 0x84D0, 0xE4EA, 0x84D1, 0x96AA, 0x84D6, 0xE4ED, 0x84D9, 0xE4E6, 0x84DA, 0xE4E9, 0x84DC, 0xFA60, 0x84EC, 0x9648, 0x84EE, 0x9840, - 0x84F4, 0xE4F1, 0x84FC, 0xE4F8, 0x84FF, 0xE4F0, 0x8500, 0x8EC1, 0x8506, 0xE4CF, 0x8511, 0x95CC, 0x8513, 0x96A0, 0x8514, 0xE4F7, - 0x8515, 0xE4F6, 0x8517, 0xE4F2, 0x8518, 0xE4F3, 0x851A, 0x8955, 0x851F, 0xE4F5, 0x8521, 0xE4EF, 0x8526, 0x92D3, 0x852C, 0xE4F4, - 0x852D, 0x88FC, 0x8535, 0x91A0, 0x853D, 0x95C1, 0x8540, 0xE4F9, 0x8541, 0xE540, 0x8543, 0x94D7, 0x8548, 0xE4FC, 0x8549, 0x8FD4, - 0x854A, 0x8EC7, 0x854B, 0xE542, 0x854E, 0x8BBC, 0x8553, 0xFB9A, 0x8555, 0xE543, 0x8557, 0x9599, 0x8558, 0xE4FB, 0x8559, 0xFB9B, - 0x855A, 0xE4D4, 0x8563, 0xE4FA, 0x8568, 0x986E, 0x8569, 0x93A0, 0x856A, 0x9593, 0x856B, 0xFB9C, 0x856D, 0xE54A, 0x8577, 0xE550, - 0x857E, 0xE551, 0x8580, 0xE544, 0x8584, 0x9496, 0x8587, 0xE54E, 0x8588, 0xE546, 0x858A, 0xE548, 0x8590, 0xE552, 0x8591, 0xE547, - 0x8594, 0xE54B, 0x8597, 0x8992, 0x8599, 0x93E3, 0x859B, 0xE54C, 0x859C, 0xE54F, 0x85A4, 0xE545, 0x85A6, 0x9145, 0x85A8, 0xE549, - 0x85A9, 0x8E46, 0x85AA, 0x9064, 0x85AB, 0x8C4F, 0x85AC, 0x96F2, 0x85AE, 0x96F7, 0x85AF, 0x8F92, 0x85B0, 0xFB9E, 0x85B9, 0xE556, - 0x85BA, 0xE554, 0x85C1, 0x986D, 0x85C9, 0xE553, 0x85CD, 0x9795, 0x85CF, 0xE555, 0x85D0, 0xE557, 0x85D5, 0xE558, 0x85DC, 0xE55B, - 0x85DD, 0xE559, 0x85E4, 0x93A1, 0x85E5, 0xE55A, 0x85E9, 0x94CB, 0x85EA, 0xE54D, 0x85F7, 0x8F93, 0x85F9, 0xE55C, 0x85FA, 0xE561, - 0x85FB, 0x9194, 0x85FE, 0xE560, 0x8602, 0xE541, 0x8606, 0xE562, 0x8607, 0x9168, 0x860A, 0xE55D, 0x860B, 0xE55F, 0x8613, 0xE55E, - 0x8616, 0x9F50, 0x8617, 0x9F41, 0x861A, 0xE564, 0x8622, 0xE563, 0x862D, 0x9796, 0x862F, 0xE1BA, 0x8630, 0xE565, 0x863F, 0xE566, - 0x864D, 0xE567, 0x864E, 0x8CD5, 0x8650, 0x8B73, 0x8654, 0xE569, 0x8655, 0x997C, 0x865A, 0x8B95, 0x865C, 0x97B8, 0x865E, 0x8BF1, - 0x865F, 0xE56A, 0x8667, 0xE56B, 0x866B, 0x928E, 0x8671, 0xE56C, 0x8679, 0x93F8, 0x867B, 0x88B8, 0x868A, 0x89E1, 0x868B, 0xE571, - 0x868C, 0xE572, 0x8693, 0xE56D, 0x8695, 0x8E5C, 0x86A3, 0xE56E, 0x86A4, 0x9461, 0x86A9, 0xE56F, 0x86AA, 0xE570, 0x86AB, 0xE57A, - 0x86AF, 0xE574, 0x86B0, 0xE577, 0x86B6, 0xE573, 0x86C4, 0xE575, 0x86C6, 0xE576, 0x86C7, 0x8ED6, 0x86C9, 0xE578, 0x86CB, 0x9260, - 0x86CD, 0x8C75, 0x86CE, 0x8A61, 0x86D4, 0xE57B, 0x86D9, 0x8A5E, 0x86DB, 0xE581, 0x86DE, 0xE57C, 0x86DF, 0xE580, 0x86E4, 0x94B8, - 0x86E9, 0xE57D, 0x86EC, 0xE57E, 0x86ED, 0x9567, 0x86EE, 0x94D8, 0x86EF, 0xE582, 0x86F8, 0x91FB, 0x86F9, 0xE58C, 0x86FB, 0xE588, - 0x86FE, 0x89E9, 0x8700, 0xE586, 0x8702, 0x9649, 0x8703, 0xE587, 0x8706, 0xE584, 0x8708, 0xE585, 0x8709, 0xE58A, 0x870A, 0xE58D, - 0x870D, 0xE58B, 0x8711, 0xE589, 0x8712, 0xE583, 0x8718, 0x9277, 0x871A, 0xE594, 0x871C, 0x96A8, 0x8725, 0xE592, 0x8729, 0xE593, - 0x8734, 0xE58E, 0x8737, 0xE590, 0x873B, 0xE591, 0x873F, 0xE58F, 0x8749, 0x90E4, 0x874B, 0x9858, 0x874C, 0xE598, 0x874E, 0xE599, - 0x8753, 0xE59F, 0x8755, 0x9049, 0x8757, 0xE59B, 0x8759, 0xE59E, 0x875F, 0xE596, 0x8760, 0xE595, 0x8763, 0xE5A0, 0x8766, 0x89DA, - 0x8768, 0xE59C, 0x876A, 0xE5A1, 0x876E, 0xE59D, 0x8774, 0xE59A, 0x8776, 0x92B1, 0x8778, 0xE597, 0x877F, 0x9488, 0x8782, 0xE5A5, - 0x878D, 0x975A, 0x879F, 0xE5A4, 0x87A2, 0xE5A3, 0x87AB, 0xE5AC, 0x87AF, 0xE5A6, 0x87B3, 0xE5AE, 0x87BA, 0x9786, 0x87BB, 0xE5B1, - 0x87BD, 0xE5A8, 0x87C0, 0xE5A9, 0x87C4, 0xE5AD, 0x87C6, 0xE5B0, 0x87C7, 0xE5AF, 0x87CB, 0xE5A7, 0x87D0, 0xE5AA, 0x87D2, 0xE5BB, - 0x87E0, 0xE5B4, 0x87EF, 0xE5B2, 0x87F2, 0xE5B3, 0x87F6, 0xE5B8, 0x87F7, 0xE5B9, 0x87F9, 0x8A49, 0x87FB, 0x8B61, 0x87FE, 0xE5B7, - 0x8805, 0xE5A2, 0x8807, 0xFBA1, 0x880D, 0xE5B6, 0x880E, 0xE5BA, 0x880F, 0xE5B5, 0x8811, 0xE5BC, 0x8815, 0xE5BE, 0x8816, 0xE5BD, - 0x8821, 0xE5C0, 0x8822, 0xE5BF, 0x8823, 0xE579, 0x8827, 0xE5C4, 0x8831, 0xE5C1, 0x8836, 0xE5C2, 0x8839, 0xE5C3, 0x883B, 0xE5C5, - 0x8840, 0x8C8C, 0x8842, 0xE5C7, 0x8844, 0xE5C6, 0x8846, 0x8F4F, 0x884C, 0x8D73, 0x884D, 0x9FA5, 0x8852, 0xE5C8, 0x8853, 0x8F70, - 0x8857, 0x8A58, 0x8859, 0xE5C9, 0x885B, 0x8971, 0x885D, 0x8FD5, 0x885E, 0xE5CA, 0x8861, 0x8D74, 0x8862, 0xE5CB, 0x8863, 0x88DF, - 0x8868, 0x955C, 0x886B, 0xE5CC, 0x8870, 0x908A, 0x8872, 0xE5D3, 0x8875, 0xE5D0, 0x8877, 0x928F, 0x887D, 0xE5D1, 0x887E, 0xE5CE, - 0x887F, 0x8BDC, 0x8881, 0xE5CD, 0x8882, 0xE5D4, 0x8888, 0x8C55, 0x888B, 0x91DC, 0x888D, 0xE5DA, 0x8892, 0xE5D6, 0x8896, 0x91B3, - 0x8897, 0xE5D5, 0x8899, 0xE5D8, 0x889E, 0xE5CF, 0x88A2, 0xE5D9, 0x88A4, 0xE5DB, 0x88AB, 0x94ED, 0x88AE, 0xE5D7, 0x88B0, 0xE5DC, - 0x88B1, 0xE5DE, 0x88B4, 0x8CD1, 0x88B5, 0xE5D2, 0x88B7, 0x88BF, 0x88BF, 0xE5DD, 0x88C1, 0x8DD9, 0x88C2, 0x97F4, 0x88C3, 0xE5DF, - 0x88C4, 0xE5E0, 0x88C5, 0x9195, 0x88CF, 0x97A0, 0x88D4, 0xE5E1, 0x88D5, 0x9754, 0x88D8, 0xE5E2, 0x88D9, 0xE5E3, 0x88DC, 0x95E2, - 0x88DD, 0xE5E4, 0x88DF, 0x8DBE, 0x88E1, 0x97A1, 0x88E8, 0xE5E9, 0x88F2, 0xE5EA, 0x88F3, 0x8FD6, 0x88F4, 0xE5E8, 0x88F5, 0xFBA2, - 0x88F8, 0x9787, 0x88F9, 0xE5E5, 0x88FC, 0xE5E7, 0x88FD, 0x90BB, 0x88FE, 0x909E, 0x8902, 0xE5E6, 0x8904, 0xE5EB, 0x8907, 0x95A1, - 0x890A, 0xE5ED, 0x890C, 0xE5EC, 0x8910, 0x8A8C, 0x8912, 0x964A, 0x8913, 0xE5EE, 0x891C, 0xFA5D, 0x891D, 0xE5FA, 0x891E, 0xE5F0, - 0x8925, 0xE5F1, 0x892A, 0xE5F2, 0x892B, 0xE5F3, 0x8936, 0xE5F7, 0x8938, 0xE5F8, 0x893B, 0xE5F6, 0x8941, 0xE5F4, 0x8943, 0xE5EF, - 0x8944, 0xE5F5, 0x894C, 0xE5F9, 0x894D, 0xE8B5, 0x8956, 0x89A6, 0x895E, 0xE5FC, 0x895F, 0x8BDD, 0x8960, 0xE5FB, 0x8964, 0xE641, - 0x8966, 0xE640, 0x896A, 0xE643, 0x896D, 0xE642, 0x896F, 0xE644, 0x8972, 0x8F50, 0x8974, 0xE645, 0x8977, 0xE646, 0x897E, 0xE647, - 0x897F, 0x90BC, 0x8981, 0x9776, 0x8983, 0xE648, 0x8986, 0x95A2, 0x8987, 0x9465, 0x8988, 0xE649, 0x898A, 0xE64A, 0x898B, 0x8CA9, - 0x898F, 0x8B4B, 0x8993, 0xE64B, 0x8996, 0x8E8B, 0x8997, 0x9460, 0x8998, 0xE64C, 0x899A, 0x8A6F, 0x89A1, 0xE64D, 0x89A6, 0xE64F, - 0x89A7, 0x9797, 0x89A9, 0xE64E, 0x89AA, 0x9065, 0x89AC, 0xE650, 0x89AF, 0xE651, 0x89B2, 0xE652, 0x89B3, 0x8ACF, 0x89BA, 0xE653, - 0x89BD, 0xE654, 0x89BF, 0xE655, 0x89C0, 0xE656, 0x89D2, 0x8A70, 0x89DA, 0xE657, 0x89DC, 0xE658, 0x89DD, 0xE659, 0x89E3, 0x89F0, - 0x89E6, 0x9047, 0x89E7, 0xE65A, 0x89F4, 0xE65B, 0x89F8, 0xE65C, 0x8A00, 0x8CBE, 0x8A02, 0x92F9, 0x8A03, 0xE65D, 0x8A08, 0x8C76, - 0x8A0A, 0x9075, 0x8A0C, 0xE660, 0x8A0E, 0x93A2, 0x8A10, 0xE65F, 0x8A12, 0xFBA3, 0x8A13, 0x8C50, 0x8A16, 0xE65E, 0x8A17, 0x91F5, - 0x8A18, 0x8B4C, 0x8A1B, 0xE661, 0x8A1D, 0xE662, 0x8A1F, 0x8FD7, 0x8A23, 0x8C8D, 0x8A25, 0xE663, 0x8A2A, 0x964B, 0x8A2D, 0x90DD, - 0x8A31, 0x8B96, 0x8A33, 0x96F3, 0x8A34, 0x9169, 0x8A36, 0xE664, 0x8A37, 0xFBA4, 0x8A3A, 0x9066, 0x8A3B, 0x9290, 0x8A3C, 0x8FD8, - 0x8A41, 0xE665, 0x8A46, 0xE668, 0x8A48, 0xE669, 0x8A50, 0x8DBC, 0x8A51, 0x91C0, 0x8A52, 0xE667, 0x8A54, 0x8FD9, 0x8A55, 0x955D, - 0x8A5B, 0xE666, 0x8A5E, 0x8E8C, 0x8A60, 0x8972, 0x8A62, 0xE66D, 0x8A63, 0x8C77, 0x8A66, 0x8E8E, 0x8A69, 0x8E8D, 0x8A6B, 0x986C, - 0x8A6C, 0xE66C, 0x8A6D, 0xE66B, 0x8A6E, 0x9146, 0x8A70, 0x8B6C, 0x8A71, 0x9862, 0x8A72, 0x8A59, 0x8A73, 0x8FDA, 0x8A79, 0xFBA5, - 0x8A7C, 0xE66A, 0x8A82, 0xE66F, 0x8A84, 0xE670, 0x8A85, 0xE66E, 0x8A87, 0x8CD6, 0x8A89, 0x975F, 0x8A8C, 0x8E8F, 0x8A8D, 0x9446, - 0x8A91, 0xE673, 0x8A93, 0x90BE, 0x8A95, 0x9261, 0x8A98, 0x9755, 0x8A9A, 0xE676, 0x8A9E, 0x8CEA, 0x8AA0, 0x90BD, 0x8AA1, 0xE672, - 0x8AA3, 0xE677, 0x8AA4, 0x8CEB, 0x8AA5, 0xE674, 0x8AA6, 0xE675, 0x8AA7, 0xFBA6, 0x8AA8, 0xE671, 0x8AAC, 0x90E0, 0x8AAD, 0x93C7, - 0x8AB0, 0x924E, 0x8AB2, 0x89DB, 0x8AB9, 0x94EE, 0x8ABC, 0x8B62, 0x8ABE, 0xFBA7, 0x8ABF, 0x92B2, 0x8AC2, 0xE67A, 0x8AC4, 0xE678, - 0x8AC7, 0x926B, 0x8ACB, 0x90BF, 0x8ACC, 0x8AD0, 0x8ACD, 0xE679, 0x8ACF, 0x907A, 0x8AD2, 0x97C8, 0x8AD6, 0x985F, 0x8ADA, 0xE67B, - 0x8ADB, 0xE687, 0x8ADC, 0x92B3, 0x8ADE, 0xE686, 0x8ADF, 0xFBA8, 0x8AE0, 0xE683, 0x8AE1, 0xE68B, 0x8AE2, 0xE684, 0x8AE4, 0xE680, - 0x8AE6, 0x92FA, 0x8AE7, 0xE67E, 0x8AEB, 0xE67C, 0x8AED, 0x9740, 0x8AEE, 0x8E90, 0x8AF1, 0xE681, 0x8AF3, 0xE67D, 0x8AF6, 0xFBAA, - 0x8AF7, 0xE685, 0x8AF8, 0x8F94, 0x8AFA, 0x8CBF, 0x8AFE, 0x91F8, 0x8B00, 0x9664, 0x8B01, 0x8979, 0x8B02, 0x88E0, 0x8B04, 0x93A3, - 0x8B07, 0xE689, 0x8B0C, 0xE688, 0x8B0E, 0x93E4, 0x8B10, 0xE68D, 0x8B14, 0xE682, 0x8B16, 0xE68C, 0x8B17, 0xE68E, 0x8B19, 0x8CAA, - 0x8B1A, 0xE68A, 0x8B1B, 0x8D75, 0x8B1D, 0x8ED3, 0x8B20, 0xE68F, 0x8B21, 0x9777, 0x8B26, 0xE692, 0x8B28, 0xE695, 0x8B2B, 0xE693, - 0x8B2C, 0x9554, 0x8B33, 0xE690, 0x8B39, 0x8BDE, 0x8B3E, 0xE694, 0x8B41, 0xE696, 0x8B49, 0xE69A, 0x8B4C, 0xE697, 0x8B4E, 0xE699, - 0x8B4F, 0xE698, 0x8B53, 0xFBAB, 0x8B56, 0xE69B, 0x8B58, 0x8EAF, 0x8B5A, 0xE69D, 0x8B5B, 0xE69C, 0x8B5C, 0x9588, 0x8B5F, 0xE69F, - 0x8B66, 0x8C78, 0x8B6B, 0xE69E, 0x8B6C, 0xE6A0, 0x8B6F, 0xE6A1, 0x8B70, 0x8B63, 0x8B71, 0xE3BF, 0x8B72, 0x8FF7, 0x8B74, 0xE6A2, - 0x8B77, 0x8CEC, 0x8B7D, 0xE6A3, 0x8B7F, 0xFBAC, 0x8B80, 0xE6A4, 0x8B83, 0x8E5D, 0x8B8A, 0x9DCC, 0x8B8C, 0xE6A5, 0x8B8E, 0xE6A6, - 0x8B90, 0x8F51, 0x8B92, 0xE6A7, 0x8B93, 0xE6A8, 0x8B96, 0xE6A9, 0x8B99, 0xE6AA, 0x8B9A, 0xE6AB, 0x8C37, 0x924A, 0x8C3A, 0xE6AC, - 0x8C3F, 0xE6AE, 0x8C41, 0xE6AD, 0x8C46, 0x93A4, 0x8C48, 0xE6AF, 0x8C4A, 0x964C, 0x8C4C, 0xE6B0, 0x8C4E, 0xE6B1, 0x8C50, 0xE6B2, - 0x8C55, 0xE6B3, 0x8C5A, 0x93D8, 0x8C61, 0x8FDB, 0x8C62, 0xE6B4, 0x8C6A, 0x8D8B, 0x8C6B, 0x98AC, 0x8C6C, 0xE6B5, 0x8C78, 0xE6B6, - 0x8C79, 0x955E, 0x8C7A, 0xE6B7, 0x8C7C, 0xE6BF, 0x8C82, 0xE6B8, 0x8C85, 0xE6BA, 0x8C89, 0xE6B9, 0x8C8A, 0xE6BB, 0x8C8C, 0x9665, - 0x8C8D, 0xE6BC, 0x8C8E, 0xE6BD, 0x8C94, 0xE6BE, 0x8C98, 0xE6C0, 0x8C9D, 0x8A4C, 0x8C9E, 0x92E5, 0x8CA0, 0x9589, 0x8CA1, 0x8DE0, - 0x8CA2, 0x8D76, 0x8CA7, 0x956E, 0x8CA8, 0x89DD, 0x8CA9, 0x94CC, 0x8CAA, 0xE6C3, 0x8CAB, 0x8AD1, 0x8CAC, 0x90D3, 0x8CAD, 0xE6C2, - 0x8CAE, 0xE6C7, 0x8CAF, 0x9299, 0x8CB0, 0x96E1, 0x8CB2, 0xE6C5, 0x8CB3, 0xE6C6, 0x8CB4, 0x8B4D, 0x8CB6, 0xE6C8, 0x8CB7, 0x9483, - 0x8CB8, 0x91DD, 0x8CBB, 0x94EF, 0x8CBC, 0x935C, 0x8CBD, 0xE6C4, 0x8CBF, 0x9666, 0x8CC0, 0x89EA, 0x8CC1, 0xE6CA, 0x8CC2, 0x9847, - 0x8CC3, 0x92C0, 0x8CC4, 0x9864, 0x8CC7, 0x8E91, 0x8CC8, 0xE6C9, 0x8CCA, 0x91AF, 0x8CCD, 0xE6DA, 0x8CCE, 0x9147, 0x8CD1, 0x93F6, - 0x8CD3, 0x956F, 0x8CDA, 0xE6CD, 0x8CDB, 0x8E5E, 0x8CDC, 0x8E92, 0x8CDE, 0x8FDC, 0x8CE0, 0x9485, 0x8CE2, 0x8CAB, 0x8CE3, 0xE6CC, - 0x8CE4, 0xE6CB, 0x8CE6, 0x958A, 0x8CEA, 0x8EBF, 0x8CED, 0x9371, 0x8CF0, 0xFBAD, 0x8CF4, 0xFBAE, 0x8CFA, 0xE6CF, 0x8CFB, 0xE6D0, - 0x8CFC, 0x8D77, 0x8CFD, 0xE6CE, 0x8D04, 0xE6D1, 0x8D05, 0xE6D2, 0x8D07, 0xE6D4, 0x8D08, 0x91A1, 0x8D0A, 0xE6D3, 0x8D0B, 0x8AE4, - 0x8D0D, 0xE6D6, 0x8D0F, 0xE6D5, 0x8D10, 0xE6D7, 0x8D12, 0xFBAF, 0x8D13, 0xE6D9, 0x8D14, 0xE6DB, 0x8D16, 0xE6DC, 0x8D64, 0x90D4, - 0x8D66, 0x8ECD, 0x8D67, 0xE6DD, 0x8D6B, 0x8A71, 0x8D6D, 0xE6DE, 0x8D70, 0x9196, 0x8D71, 0xE6DF, 0x8D73, 0xE6E0, 0x8D74, 0x958B, - 0x8D76, 0xFBB0, 0x8D77, 0x8B4E, 0x8D81, 0xE6E1, 0x8D85, 0x92B4, 0x8D8A, 0x897A, 0x8D99, 0xE6E2, 0x8DA3, 0x8EEF, 0x8DA8, 0x9096, - 0x8DB3, 0x91AB, 0x8DBA, 0xE6E5, 0x8DBE, 0xE6E4, 0x8DC2, 0xE6E3, 0x8DCB, 0xE6EB, 0x8DCC, 0xE6E9, 0x8DCF, 0xE6E6, 0x8DD6, 0xE6E8, - 0x8DDA, 0xE6E7, 0x8DDB, 0xE6EA, 0x8DDD, 0x8B97, 0x8DDF, 0xE6EE, 0x8DE1, 0x90D5, 0x8DE3, 0xE6EF, 0x8DE8, 0x8CD7, 0x8DEA, 0xE6EC, - 0x8DEB, 0xE6ED, 0x8DEF, 0x9848, 0x8DF3, 0x92B5, 0x8DF5, 0x9148, 0x8DFC, 0xE6F0, 0x8DFF, 0xE6F3, 0x8E08, 0xE6F1, 0x8E09, 0xE6F2, - 0x8E0A, 0x9778, 0x8E0F, 0x93A5, 0x8E10, 0xE6F6, 0x8E1D, 0xE6F4, 0x8E1E, 0xE6F5, 0x8E1F, 0xE6F7, 0x8E2A, 0xE748, 0x8E30, 0xE6FA, - 0x8E34, 0xE6FB, 0x8E35, 0xE6F9, 0x8E42, 0xE6F8, 0x8E44, 0x92FB, 0x8E47, 0xE740, 0x8E48, 0xE744, 0x8E49, 0xE741, 0x8E4A, 0xE6FC, - 0x8E4C, 0xE742, 0x8E50, 0xE743, 0x8E55, 0xE74A, 0x8E59, 0xE745, 0x8E5F, 0x90D6, 0x8E60, 0xE747, 0x8E63, 0xE749, 0x8E64, 0xE746, - 0x8E72, 0xE74C, 0x8E74, 0x8F52, 0x8E76, 0xE74B, 0x8E7C, 0xE74D, 0x8E81, 0xE74E, 0x8E84, 0xE751, 0x8E85, 0xE750, 0x8E87, 0xE74F, - 0x8E8A, 0xE753, 0x8E8B, 0xE752, 0x8E8D, 0x96F4, 0x8E91, 0xE755, 0x8E93, 0xE754, 0x8E94, 0xE756, 0x8E99, 0xE757, 0x8EA1, 0xE759, - 0x8EAA, 0xE758, 0x8EAB, 0x9067, 0x8EAC, 0xE75A, 0x8EAF, 0x8BEB, 0x8EB0, 0xE75B, 0x8EB1, 0xE75D, 0x8EBE, 0xE75E, 0x8EC5, 0xE75F, - 0x8EC6, 0xE75C, 0x8EC8, 0xE760, 0x8ECA, 0x8ED4, 0x8ECB, 0xE761, 0x8ECC, 0x8B4F, 0x8ECD, 0x8C52, 0x8ECF, 0xFBB2, 0x8ED2, 0x8CAC, - 0x8EDB, 0xE762, 0x8EDF, 0x93EE, 0x8EE2, 0x935D, 0x8EE3, 0xE763, 0x8EEB, 0xE766, 0x8EF8, 0x8EB2, 0x8EFB, 0xE765, 0x8EFC, 0xE764, - 0x8EFD, 0x8C79, 0x8EFE, 0xE767, 0x8F03, 0x8A72, 0x8F05, 0xE769, 0x8F09, 0x8DDA, 0x8F0A, 0xE768, 0x8F0C, 0xE771, 0x8F12, 0xE76B, - 0x8F13, 0xE76D, 0x8F14, 0x95E3, 0x8F15, 0xE76A, 0x8F19, 0xE76C, 0x8F1B, 0xE770, 0x8F1C, 0xE76E, 0x8F1D, 0x8B50, 0x8F1F, 0xE76F, - 0x8F26, 0xE772, 0x8F29, 0x9479, 0x8F2A, 0x97D6, 0x8F2F, 0x8F53, 0x8F33, 0xE773, 0x8F38, 0x9741, 0x8F39, 0xE775, 0x8F3B, 0xE774, - 0x8F3E, 0xE778, 0x8F3F, 0x9760, 0x8F42, 0xE777, 0x8F44, 0x8A8D, 0x8F45, 0xE776, 0x8F46, 0xE77B, 0x8F49, 0xE77A, 0x8F4C, 0xE779, - 0x8F4D, 0x9351, 0x8F4E, 0xE77C, 0x8F57, 0xE77D, 0x8F5C, 0xE77E, 0x8F5F, 0x8D8C, 0x8F61, 0x8C44, 0x8F62, 0xE780, 0x8F63, 0xE781, - 0x8F64, 0xE782, 0x8F9B, 0x9068, 0x8F9C, 0xE783, 0x8F9E, 0x8EAB, 0x8F9F, 0xE784, 0x8FA3, 0xE785, 0x8FA7, 0x999F, 0x8FA8, 0x999E, - 0x8FAD, 0xE786, 0x8FAE, 0xE390, 0x8FAF, 0xE787, 0x8FB0, 0x9243, 0x8FB1, 0x904A, 0x8FB2, 0x945F, 0x8FB7, 0xE788, 0x8FBA, 0x95D3, - 0x8FBB, 0x92D2, 0x8FBC, 0x8D9E, 0x8FBF, 0x9248, 0x8FC2, 0x8949, 0x8FC4, 0x9698, 0x8FC5, 0x9076, 0x8FCE, 0x8C7D, 0x8FD1, 0x8BDF, - 0x8FD4, 0x95D4, 0x8FDA, 0xE789, 0x8FE2, 0xE78B, 0x8FE5, 0xE78A, 0x8FE6, 0x89DE, 0x8FE9, 0x93F4, 0x8FEA, 0xE78C, 0x8FEB, 0x9497, - 0x8FED, 0x9352, 0x8FEF, 0xE78D, 0x8FF0, 0x8F71, 0x8FF4, 0xE78F, 0x8FF7, 0x96C0, 0x8FF8, 0xE79E, 0x8FF9, 0xE791, 0x8FFA, 0xE792, - 0x8FFD, 0x92C7, 0x9000, 0x91DE, 0x9001, 0x9197, 0x9003, 0x93A6, 0x9005, 0xE790, 0x9006, 0x8B74, 0x900B, 0xE799, 0x900D, 0xE796, - 0x900E, 0xE7A3, 0x900F, 0x93A7, 0x9010, 0x9280, 0x9011, 0xE793, 0x9013, 0x92FC, 0x9014, 0x9372, 0x9015, 0xE794, 0x9016, 0xE798, - 0x9017, 0x9080, 0x9019, 0x9487, 0x901A, 0x92CA, 0x901D, 0x90C0, 0x901E, 0xE797, 0x901F, 0x91AC, 0x9020, 0x91A2, 0x9021, 0xE795, - 0x9022, 0x88A7, 0x9023, 0x9841, 0x9027, 0xE79A, 0x902E, 0x91DF, 0x9031, 0x8F54, 0x9032, 0x9069, 0x9035, 0xE79C, 0x9036, 0xE79B, - 0x9038, 0x88ED, 0x9039, 0xE79D, 0x903C, 0x954E, 0x903E, 0xE7A5, 0x9041, 0x93D9, 0x9042, 0x908B, 0x9045, 0x9278, 0x9047, 0x8BF6, - 0x9049, 0xE7A4, 0x904A, 0x9756, 0x904B, 0x895E, 0x904D, 0x95D5, 0x904E, 0x89DF, 0x904F, 0xE79F, 0x9050, 0xE7A0, 0x9051, 0xE7A1, - 0x9052, 0xE7A2, 0x9053, 0x93B9, 0x9054, 0x9242, 0x9055, 0x88E1, 0x9056, 0xE7A6, 0x9058, 0xE7A7, 0x9059, 0xEAA1, 0x905C, 0x91BB, - 0x905E, 0xE7A8, 0x9060, 0x8993, 0x9061, 0x916B, 0x9063, 0x8CAD, 0x9065, 0x9779, 0x9067, 0xFBB5, 0x9068, 0xE7A9, 0x9069, 0x934B, - 0x906D, 0x9198, 0x906E, 0x8ED5, 0x906F, 0xE7AA, 0x9072, 0xE7AD, 0x9075, 0x8F85, 0x9076, 0xE7AB, 0x9077, 0x914A, 0x9078, 0x9149, - 0x907A, 0x88E2, 0x907C, 0x97C9, 0x907D, 0xE7AF, 0x907F, 0x94F0, 0x9080, 0xE7B1, 0x9081, 0xE7B0, 0x9082, 0xE7AE, 0x9083, 0xE284, - 0x9084, 0x8AD2, 0x9087, 0xE78E, 0x9089, 0xE7B3, 0x908A, 0xE7B2, 0x908F, 0xE7B4, 0x9091, 0x9757, 0x90A3, 0x93DF, 0x90A6, 0x964D, - 0x90A8, 0xE7B5, 0x90AA, 0x8ED7, 0x90AF, 0xE7B6, 0x90B1, 0xE7B7, 0x90B5, 0xE7B8, 0x90B8, 0x9340, 0x90C1, 0x88E8, 0x90CA, 0x8D78, - 0x90CE, 0x9859, 0x90DB, 0xE7BC, 0x90DE, 0xFBB6, 0x90E1, 0x8C53, 0x90E2, 0xE7B9, 0x90E4, 0xE7BA, 0x90E8, 0x9594, 0x90ED, 0x8A73, - 0x90F5, 0x9758, 0x90F7, 0x8BBD, 0x90FD, 0x9373, 0x9102, 0xE7BD, 0x9112, 0xE7BE, 0x9115, 0xFBB8, 0x9119, 0xE7BF, 0x9127, 0xFBB9, - 0x912D, 0x9341, 0x9130, 0xE7C1, 0x9132, 0xE7C0, 0x9149, 0x93D1, 0x914A, 0xE7C2, 0x914B, 0x8F55, 0x914C, 0x8EDE, 0x914D, 0x947A, - 0x914E, 0x9291, 0x9152, 0x8EF0, 0x9154, 0x908C, 0x9156, 0xE7C3, 0x9158, 0xE7C4, 0x9162, 0x907C, 0x9163, 0xE7C5, 0x9165, 0xE7C6, - 0x9169, 0xE7C7, 0x916A, 0x978F, 0x916C, 0x8F56, 0x9172, 0xE7C9, 0x9173, 0xE7C8, 0x9175, 0x8D79, 0x9177, 0x8D93, 0x9178, 0x8E5F, - 0x9182, 0xE7CC, 0x9187, 0x8F86, 0x9189, 0xE7CB, 0x918B, 0xE7CA, 0x918D, 0x91E7, 0x9190, 0x8CED, 0x9192, 0x90C1, 0x9197, 0x94AE, - 0x919C, 0x8F58, 0x91A2, 0xE7CD, 0x91A4, 0x8FDD, 0x91AA, 0xE7D0, 0x91AB, 0xE7CE, 0x91AF, 0xE7CF, 0x91B4, 0xE7D2, 0x91B5, 0xE7D1, - 0x91B8, 0x8FF8, 0x91BA, 0xE7D3, 0x91C0, 0xE7D4, 0x91C1, 0xE7D5, 0x91C6, 0x94CE, 0x91C7, 0x8DD1, 0x91C8, 0x8EDF, 0x91C9, 0xE7D6, - 0x91CB, 0xE7D7, 0x91CC, 0x97A2, 0x91CD, 0x8F64, 0x91CE, 0x96EC, 0x91CF, 0x97CA, 0x91D0, 0xE7D8, 0x91D1, 0x8BE0, 0x91D6, 0xE7D9, - 0x91D7, 0xFBBB, 0x91D8, 0x9342, 0x91DA, 0xFBBA, 0x91DB, 0xE7DC, 0x91DC, 0x8A98, 0x91DD, 0x906A, 0x91DE, 0xFBBC, 0x91DF, 0xE7DA, - 0x91E1, 0xE7DB, 0x91E3, 0x92DE, 0x91E4, 0xFBBF, 0x91E5, 0xFBC0, 0x91E6, 0x9674, 0x91E7, 0x8BFA, 0x91ED, 0xFBBD, 0x91EE, 0xFBBE, - 0x91F5, 0xE7DE, 0x91F6, 0xE7DF, 0x91FC, 0xE7DD, 0x91FF, 0xE7E1, 0x9206, 0xFBC1, 0x920A, 0xFBC3, 0x920D, 0x93DD, 0x920E, 0x8A62, - 0x9210, 0xFBC2, 0x9211, 0xE7E5, 0x9214, 0xE7E2, 0x9215, 0xE7E4, 0x921E, 0xE7E0, 0x9229, 0xE86E, 0x922C, 0xE7E3, 0x9234, 0x97E9, - 0x9237, 0x8CD8, 0x9239, 0xFBCA, 0x923A, 0xFBC4, 0x923C, 0xFBC6, 0x923F, 0xE7ED, 0x9240, 0xFBC5, 0x9244, 0x9353, 0x9245, 0xE7E8, - 0x9248, 0xE7EB, 0x9249, 0xE7E9, 0x924B, 0xE7EE, 0x924E, 0xFBC7, 0x9250, 0xE7EF, 0x9251, 0xFBC9, 0x9257, 0xE7E7, 0x9259, 0xFBC8, - 0x925A, 0xE7F4, 0x925B, 0x8994, 0x925E, 0xE7E6, 0x9262, 0x94AB, 0x9264, 0xE7EA, 0x9266, 0x8FDE, 0x9267, 0xFBCB, 0x9271, 0x8D7A, - 0x9277, 0xFBCD, 0x9278, 0xFBCE, 0x927E, 0x9667, 0x9280, 0x8BE2, 0x9283, 0x8F65, 0x9285, 0x93BA, 0x9288, 0xFA5F, 0x9291, 0x914C, - 0x9293, 0xE7F2, 0x9295, 0xE7EC, 0x9296, 0xE7F1, 0x9298, 0x96C1, 0x929A, 0x92B6, 0x929B, 0xE7F3, 0x929C, 0xE7F0, 0x92A7, 0xFBCC, - 0x92AD, 0x914B, 0x92B7, 0xE7F7, 0x92B9, 0xE7F6, 0x92CF, 0xE7F5, 0x92D0, 0xFBD2, 0x92D2, 0x964E, 0x92D3, 0xFBD6, 0x92D5, 0xFBD4, - 0x92D7, 0xFBD0, 0x92D9, 0xFBD1, 0x92E0, 0xFBD5, 0x92E4, 0x8F9B, 0x92E7, 0xFBCF, 0x92E9, 0xE7F8, 0x92EA, 0x95DD, 0x92ED, 0x8973, - 0x92F2, 0x9565, 0x92F3, 0x9292, 0x92F8, 0x8B98, 0x92F9, 0xFA65, 0x92FA, 0xE7FA, 0x92FB, 0xFBD9, 0x92FC, 0x8D7C, 0x92FF, 0xFBDC, - 0x9302, 0xFBDE, 0x9306, 0x8E4B, 0x930F, 0xE7F9, 0x9310, 0x908D, 0x9318, 0x908E, 0x9319, 0xE840, 0x931A, 0xE842, 0x931D, 0xFBDD, - 0x931E, 0xFBDB, 0x9320, 0x8FF9, 0x9321, 0xFBD8, 0x9322, 0xE841, 0x9323, 0xE843, 0x9325, 0xFBD7, 0x9326, 0x8BD1, 0x9328, 0x9564, - 0x932B, 0x8EE0, 0x932C, 0x9842, 0x932E, 0xE7FC, 0x932F, 0x8DF6, 0x9332, 0x985E, 0x9335, 0xE845, 0x933A, 0xE844, 0x933B, 0xE846, - 0x9344, 0xE7FB, 0x9348, 0xFA5E, 0x934B, 0x93E7, 0x934D, 0x9374, 0x9354, 0x92D5, 0x9356, 0xE84B, 0x9357, 0xFBE0, 0x935B, 0x9262, - 0x935C, 0xE847, 0x9360, 0xE848, 0x936C, 0x8C4C, 0x936E, 0xE84A, 0x9370, 0xFBDF, 0x9375, 0x8CAE, 0x937C, 0xE849, 0x937E, 0x8FDF, - 0x938C, 0x8A99, 0x9394, 0xE84F, 0x9396, 0x8DBD, 0x9397, 0x9199, 0x939A, 0x92C8, 0x93A4, 0xFBE1, 0x93A7, 0x8A5A, 0x93AC, 0xE84D, - 0x93AD, 0xE84E, 0x93AE, 0x92C1, 0x93B0, 0xE84C, 0x93B9, 0xE850, 0x93C3, 0xE856, 0x93C6, 0xFBE2, 0x93C8, 0xE859, 0x93D0, 0xE858, - 0x93D1, 0x934C, 0x93D6, 0xE851, 0x93D7, 0xE852, 0x93D8, 0xE855, 0x93DD, 0xE857, 0x93DE, 0xFBE3, 0x93E1, 0x8BBE, 0x93E4, 0xE85A, - 0x93E5, 0xE854, 0x93E8, 0xE853, 0x93F8, 0xFBE4, 0x9403, 0xE85E, 0x9407, 0xE85F, 0x9410, 0xE860, 0x9413, 0xE85D, 0x9414, 0xE85C, - 0x9418, 0x8FE0, 0x9419, 0x93A8, 0x941A, 0xE85B, 0x9421, 0xE864, 0x942B, 0xE862, 0x9431, 0xFBE5, 0x9435, 0xE863, 0x9436, 0xE861, - 0x9438, 0x91F6, 0x943A, 0xE865, 0x9441, 0xE866, 0x9444, 0xE868, 0x9445, 0xFBE6, 0x9448, 0xFBE7, 0x9451, 0x8AD3, 0x9452, 0xE867, - 0x9453, 0x96F8, 0x945A, 0xE873, 0x945B, 0xE869, 0x945E, 0xE86C, 0x9460, 0xE86A, 0x9462, 0xE86B, 0x946A, 0xE86D, 0x9470, 0xE86F, - 0x9475, 0xE870, 0x9477, 0xE871, 0x947C, 0xE874, 0x947D, 0xE872, 0x947E, 0xE875, 0x947F, 0xE877, 0x9481, 0xE876, 0x9577, 0x92B7, - 0x9580, 0x96E5, 0x9582, 0xE878, 0x9583, 0x914D, 0x9587, 0xE879, 0x9589, 0x95C2, 0x958A, 0xE87A, 0x958B, 0x8A4A, 0x958F, 0x895B, - 0x9591, 0x8AD5, 0x9592, 0xFBE8, 0x9593, 0x8AD4, 0x9594, 0xE87B, 0x9596, 0xE87C, 0x9598, 0xE87D, 0x9599, 0xE87E, 0x95A0, 0xE880, - 0x95A2, 0x8AD6, 0x95A3, 0x8A74, 0x95A4, 0x8D7D, 0x95A5, 0x94B4, 0x95A7, 0xE882, 0x95A8, 0xE881, 0x95AD, 0xE883, 0x95B2, 0x897B, - 0x95B9, 0xE886, 0x95BB, 0xE885, 0x95BC, 0xE884, 0x95BE, 0xE887, 0x95C3, 0xE88A, 0x95C7, 0x88C5, 0x95CA, 0xE888, 0x95CC, 0xE88C, - 0x95CD, 0xE88B, 0x95D4, 0xE88E, 0x95D5, 0xE88D, 0x95D6, 0xE88F, 0x95D8, 0x93AC, 0x95DC, 0xE890, 0x95E1, 0xE891, 0x95E2, 0xE893, - 0x95E5, 0xE892, 0x961C, 0x958C, 0x9621, 0xE894, 0x9628, 0xE895, 0x962A, 0x8DE3, 0x962E, 0xE896, 0x962F, 0xE897, 0x9632, 0x9668, - 0x963B, 0x916A, 0x963F, 0x88A2, 0x9640, 0x91C9, 0x9642, 0xE898, 0x9644, 0x958D, 0x964B, 0xE89B, 0x964C, 0xE899, 0x964D, 0x8D7E, - 0x964F, 0xE89A, 0x9650, 0x8CC0, 0x965B, 0x95C3, 0x965C, 0xE89D, 0x965D, 0xE89F, 0x965E, 0xE89E, 0x965F, 0xE8A0, 0x9662, 0x8940, - 0x9663, 0x9077, 0x9664, 0x8F9C, 0x9665, 0x8AD7, 0x9666, 0xE8A1, 0x966A, 0x9486, 0x966C, 0xE8A3, 0x9670, 0x8941, 0x9672, 0xE8A2, - 0x9673, 0x92C2, 0x9675, 0x97CB, 0x9676, 0x93A9, 0x9677, 0xE89C, 0x9678, 0x97A4, 0x967A, 0x8CAF, 0x967D, 0x977A, 0x9685, 0x8BF7, - 0x9686, 0x97B2, 0x9688, 0x8C47, 0x968A, 0x91E0, 0x968B, 0xE440, 0x968D, 0xE8A4, 0x968E, 0x8A4B, 0x968F, 0x908F, 0x9694, 0x8A75, - 0x9695, 0xE8A6, 0x9697, 0xE8A7, 0x9698, 0xE8A5, 0x9699, 0x8C84, 0x969B, 0x8DDB, 0x969C, 0x8FE1, 0x969D, 0xFBEB, 0x96A0, 0x8942, - 0x96A3, 0x97D7, 0x96A7, 0xE8A9, 0x96A8, 0xE7AC, 0x96AA, 0xE8A8, 0x96AF, 0xFBEC, 0x96B0, 0xE8AC, 0x96B1, 0xE8AA, 0x96B2, 0xE8AB, - 0x96B4, 0xE8AD, 0x96B6, 0xE8AE, 0x96B7, 0x97EA, 0x96B8, 0xE8AF, 0x96B9, 0xE8B0, 0x96BB, 0x90C7, 0x96BC, 0x94B9, 0x96C0, 0x909D, - 0x96C1, 0x8AE5, 0x96C4, 0x9759, 0x96C5, 0x89EB, 0x96C6, 0x8F57, 0x96C7, 0x8CD9, 0x96C9, 0xE8B3, 0x96CB, 0xE8B2, 0x96CC, 0x8E93, - 0x96CD, 0xE8B4, 0x96CE, 0xE8B1, 0x96D1, 0x8E47, 0x96D5, 0xE8B8, 0x96D6, 0xE5AB, 0x96D9, 0x99D4, 0x96DB, 0x9097, 0x96DC, 0xE8B6, - 0x96E2, 0x97A3, 0x96E3, 0x93EF, 0x96E8, 0x894A, 0x96EA, 0x90E1, 0x96EB, 0x8EB4, 0x96F0, 0x95B5, 0x96F2, 0x895F, 0x96F6, 0x97EB, - 0x96F7, 0x978B, 0x96F9, 0xE8B9, 0x96FB, 0x9364, 0x9700, 0x8EF9, 0x9704, 0xE8BA, 0x9706, 0xE8BB, 0x9707, 0x906B, 0x9708, 0xE8BC, - 0x970A, 0x97EC, 0x970D, 0xE8B7, 0x970E, 0xE8BE, 0x970F, 0xE8C0, 0x9711, 0xE8BF, 0x9713, 0xE8BD, 0x9716, 0xE8C1, 0x9719, 0xE8C2, - 0x971C, 0x919A, 0x971E, 0x89E0, 0x9724, 0xE8C3, 0x9727, 0x96B6, 0x972A, 0xE8C4, 0x9730, 0xE8C5, 0x9732, 0x9849, 0x9733, 0xFBED, - 0x9738, 0x9E50, 0x9739, 0xE8C6, 0x973B, 0xFBEE, 0x973D, 0xE8C7, 0x973E, 0xE8C8, 0x9742, 0xE8CC, 0x9743, 0xFBEF, 0x9744, 0xE8C9, - 0x9746, 0xE8CA, 0x9748, 0xE8CB, 0x9749, 0xE8CD, 0x974D, 0xFBF0, 0x974F, 0xFBF1, 0x9751, 0xFBF2, 0x9752, 0x90C2, 0x9755, 0xFBF3, - 0x9756, 0x96F5, 0x9759, 0x90C3, 0x975C, 0xE8CE, 0x975E, 0x94F1, 0x9760, 0xE8CF, 0x9761, 0xEA72, 0x9762, 0x96CA, 0x9764, 0xE8D0, - 0x9766, 0xE8D1, 0x9768, 0xE8D2, 0x9769, 0x8A76, 0x976B, 0xE8D4, 0x976D, 0x9078, 0x9771, 0xE8D5, 0x9774, 0x8C43, 0x9779, 0xE8D6, - 0x977A, 0xE8DA, 0x977C, 0xE8D8, 0x9781, 0xE8D9, 0x9784, 0x8A93, 0x9785, 0xE8D7, 0x9786, 0xE8DB, 0x978B, 0xE8DC, 0x978D, 0x88C6, - 0x978F, 0xE8DD, 0x9790, 0xE8DE, 0x9798, 0x8FE2, 0x979C, 0xE8DF, 0x97A0, 0x8B66, 0x97A3, 0xE8E2, 0x97A6, 0xE8E1, 0x97A8, 0xE8E0, - 0x97AB, 0xE691, 0x97AD, 0x95DA, 0x97B3, 0xE8E3, 0x97B4, 0xE8E4, 0x97C3, 0xE8E5, 0x97C6, 0xE8E6, 0x97C8, 0xE8E7, 0x97CB, 0xE8E8, - 0x97D3, 0x8AD8, 0x97DC, 0xE8E9, 0x97ED, 0xE8EA, 0x97EE, 0x9442, 0x97F2, 0xE8EC, 0x97F3, 0x89B9, 0x97F5, 0xE8EF, 0x97F6, 0xE8EE, - 0x97FB, 0x8943, 0x97FF, 0x8BBF, 0x9801, 0x95C5, 0x9802, 0x92B8, 0x9803, 0x8DA0, 0x9805, 0x8D80, 0x9806, 0x8F87, 0x9808, 0x907B, - 0x980C, 0xE8F1, 0x980F, 0xE8F0, 0x9810, 0x9761, 0x9811, 0x8AE6, 0x9812, 0x94D0, 0x9813, 0x93DA, 0x9817, 0x909C, 0x9818, 0x97CC, - 0x981A, 0x8C7A, 0x9821, 0xE8F4, 0x9824, 0xE8F3, 0x982C, 0x966A, 0x982D, 0x93AA, 0x9834, 0x896F, 0x9837, 0xE8F5, 0x9838, 0xE8F2, - 0x983B, 0x9570, 0x983C, 0x978A, 0x983D, 0xE8F6, 0x9846, 0xE8F7, 0x984B, 0xE8F9, 0x984C, 0x91E8, 0x984D, 0x8A7A, 0x984E, 0x8A7B, - 0x984F, 0xE8F8, 0x9854, 0x8AE7, 0x9855, 0x8CB0, 0x9857, 0xFBF4, 0x9858, 0x8AE8, 0x985B, 0x935E, 0x985E, 0x97DE, 0x9865, 0xFBF5, - 0x9867, 0x8CDA, 0x986B, 0xE8FA, 0x986F, 0xE8FB, 0x9870, 0xE8FC, 0x9871, 0xE940, 0x9873, 0xE942, 0x9874, 0xE941, 0x98A8, 0x9597, - 0x98AA, 0xE943, 0x98AF, 0xE944, 0x98B1, 0xE945, 0x98B6, 0xE946, 0x98C3, 0xE948, 0x98C4, 0xE947, 0x98C6, 0xE949, 0x98DB, 0x94F2, - 0x98DC, 0xE3CA, 0x98DF, 0x9048, 0x98E2, 0x8B51, 0x98E9, 0xE94A, 0x98EB, 0xE94B, 0x98ED, 0x99AA, 0x98EE, 0x9F5A, 0x98EF, 0x94D1, - 0x98F2, 0x88F9, 0x98F4, 0x88B9, 0x98FC, 0x8E94, 0x98FD, 0x964F, 0x98FE, 0x8FFC, 0x9903, 0xE94C, 0x9905, 0x96DD, 0x9909, 0xE94D, - 0x990A, 0x977B, 0x990C, 0x8961, 0x9910, 0x8E60, 0x9912, 0xE94E, 0x9913, 0x89EC, 0x9914, 0xE94F, 0x9918, 0xE950, 0x991D, 0xE952, - 0x991E, 0xE953, 0x9920, 0xE955, 0x9921, 0xE951, 0x9924, 0xE954, 0x9927, 0xFBF8, 0x9928, 0x8AD9, 0x992C, 0xE956, 0x992E, 0xE957, - 0x993D, 0xE958, 0x993E, 0xE959, 0x9942, 0xE95A, 0x9945, 0xE95C, 0x9949, 0xE95B, 0x994B, 0xE95E, 0x994C, 0xE961, 0x9950, 0xE95D, - 0x9951, 0xE95F, 0x9952, 0xE960, 0x9955, 0xE962, 0x9957, 0x8BC0, 0x9996, 0x8EF1, 0x9997, 0xE963, 0x9998, 0xE964, 0x9999, 0x8D81, - 0x999E, 0xFBFA, 0x99A5, 0xE965, 0x99A8, 0x8A5D, 0x99AC, 0x946E, 0x99AD, 0xE966, 0x99AE, 0xE967, 0x99B3, 0x9279, 0x99B4, 0x93E9, - 0x99BC, 0xE968, 0x99C1, 0x949D, 0x99C4, 0x91CA, 0x99C5, 0x8977, 0x99C6, 0x8BEC, 0x99C8, 0x8BED, 0x99D0, 0x9293, 0x99D1, 0xE96D, - 0x99D2, 0x8BEE, 0x99D5, 0x89ED, 0x99D8, 0xE96C, 0x99DB, 0xE96A, 0x99DD, 0xE96B, 0x99DF, 0xE969, 0x99E2, 0xE977, 0x99ED, 0xE96E, - 0x99EE, 0xE96F, 0x99F1, 0xE970, 0x99F2, 0xE971, 0x99F8, 0xE973, 0x99FB, 0xE972, 0x99FF, 0x8F78, 0x9A01, 0xE974, 0x9A05, 0xE976, - 0x9A0E, 0x8B52, 0x9A0F, 0xE975, 0x9A12, 0x919B, 0x9A13, 0x8CB1, 0x9A19, 0xE978, 0x9A28, 0x91CB, 0x9A2B, 0xE979, 0x9A30, 0x93AB, - 0x9A37, 0xE97A, 0x9A3E, 0xE980, 0x9A40, 0xE97D, 0x9A42, 0xE97C, 0x9A43, 0xE97E, 0x9A45, 0xE97B, 0x9A4D, 0xE982, 0x9A4E, 0xFBFB, - 0x9A55, 0xE981, 0x9A57, 0xE984, 0x9A5A, 0x8BC1, 0x9A5B, 0xE983, 0x9A5F, 0xE985, 0x9A62, 0xE986, 0x9A64, 0xE988, 0x9A65, 0xE987, - 0x9A69, 0xE989, 0x9A6A, 0xE98B, 0x9A6B, 0xE98A, 0x9AA8, 0x8D9C, 0x9AAD, 0xE98C, 0x9AB0, 0xE98D, 0x9AB8, 0x8A5B, 0x9ABC, 0xE98E, - 0x9AC0, 0xE98F, 0x9AC4, 0x9091, 0x9ACF, 0xE990, 0x9AD1, 0xE991, 0x9AD3, 0xE992, 0x9AD4, 0xE993, 0x9AD8, 0x8D82, 0x9AD9, 0xFBFC, - 0x9ADC, 0xFC40, 0x9ADE, 0xE994, 0x9ADF, 0xE995, 0x9AE2, 0xE996, 0x9AE3, 0xE997, 0x9AE6, 0xE998, 0x9AEA, 0x94AF, 0x9AEB, 0xE99A, - 0x9AED, 0x9545, 0x9AEE, 0xE99B, 0x9AEF, 0xE999, 0x9AF1, 0xE99D, 0x9AF4, 0xE99C, 0x9AF7, 0xE99E, 0x9AFB, 0xE99F, 0x9B06, 0xE9A0, - 0x9B18, 0xE9A1, 0x9B1A, 0xE9A2, 0x9B1F, 0xE9A3, 0x9B22, 0xE9A4, 0x9B23, 0xE9A5, 0x9B25, 0xE9A6, 0x9B27, 0xE9A7, 0x9B28, 0xE9A8, - 0x9B29, 0xE9A9, 0x9B2A, 0xE9AA, 0x9B2E, 0xE9AB, 0x9B2F, 0xE9AC, 0x9B31, 0x9F54, 0x9B32, 0xE9AD, 0x9B3B, 0xE2F6, 0x9B3C, 0x8B53, - 0x9B41, 0x8A40, 0x9B42, 0x8DB0, 0x9B43, 0xE9AF, 0x9B44, 0xE9AE, 0x9B45, 0x96A3, 0x9B4D, 0xE9B1, 0x9B4E, 0xE9B2, 0x9B4F, 0xE9B0, - 0x9B51, 0xE9B3, 0x9B54, 0x9682, 0x9B58, 0xE9B4, 0x9B5A, 0x8B9B, 0x9B6F, 0x9844, 0x9B72, 0xFC42, 0x9B74, 0xE9B5, 0x9B75, 0xFC41, - 0x9B83, 0xE9B7, 0x9B8E, 0x88BC, 0x9B8F, 0xFC43, 0x9B91, 0xE9B8, 0x9B92, 0x95A9, 0x9B93, 0xE9B6, 0x9B96, 0xE9B9, 0x9B97, 0xE9BA, - 0x9B9F, 0xE9BB, 0x9BA0, 0xE9BC, 0x9BA8, 0xE9BD, 0x9BAA, 0x968E, 0x9BAB, 0x8E4C, 0x9BAD, 0x8DF8, 0x9BAE, 0x914E, 0x9BB1, 0xFC44, - 0x9BB4, 0xE9BE, 0x9BB9, 0xE9C1, 0x9BBB, 0xFC45, 0x9BC0, 0xE9BF, 0x9BC6, 0xE9C2, 0x9BC9, 0x8CEF, 0x9BCA, 0xE9C0, 0x9BCF, 0xE9C3, - 0x9BD1, 0xE9C4, 0x9BD2, 0xE9C5, 0x9BD4, 0xE9C9, 0x9BD6, 0x8E49, 0x9BDB, 0x91E2, 0x9BE1, 0xE9CA, 0x9BE2, 0xE9C7, 0x9BE3, 0xE9C6, - 0x9BE4, 0xE9C8, 0x9BE8, 0x8C7E, 0x9BF0, 0xE9CE, 0x9BF1, 0xE9CD, 0x9BF2, 0xE9CC, 0x9BF5, 0x88B1, 0x9C00, 0xFC46, 0x9C04, 0xE9D8, - 0x9C06, 0xE9D4, 0x9C08, 0xE9D5, 0x9C09, 0xE9D1, 0x9C0A, 0xE9D7, 0x9C0C, 0xE9D3, 0x9C0D, 0x8A82, 0x9C10, 0x986B, 0x9C12, 0xE9D6, - 0x9C13, 0xE9D2, 0x9C14, 0xE9D0, 0x9C15, 0xE9CF, 0x9C1B, 0xE9DA, 0x9C21, 0xE9DD, 0x9C24, 0xE9DC, 0x9C25, 0xE9DB, 0x9C2D, 0x9568, - 0x9C2E, 0xE9D9, 0x9C2F, 0x88F1, 0x9C30, 0xE9DE, 0x9C32, 0xE9E0, 0x9C39, 0x8A8F, 0x9C3A, 0xE9CB, 0x9C3B, 0x8956, 0x9C3E, 0xE9E2, - 0x9C46, 0xE9E1, 0x9C47, 0xE9DF, 0x9C48, 0x924C, 0x9C52, 0x9690, 0x9C57, 0x97D8, 0x9C5A, 0xE9E3, 0x9C60, 0xE9E4, 0x9C67, 0xE9E5, - 0x9C76, 0xE9E6, 0x9C78, 0xE9E7, 0x9CE5, 0x92B9, 0x9CE7, 0xE9E8, 0x9CE9, 0x94B5, 0x9CEB, 0xE9ED, 0x9CEC, 0xE9E9, 0x9CF0, 0xE9EA, - 0x9CF3, 0x9650, 0x9CF4, 0x96C2, 0x9CF6, 0x93CE, 0x9D03, 0xE9EE, 0x9D06, 0xE9EF, 0x9D07, 0x93BC, 0x9D08, 0xE9EC, 0x9D09, 0xE9EB, - 0x9D0E, 0x89A8, 0x9D12, 0xE9F7, 0x9D15, 0xE9F6, 0x9D1B, 0x8995, 0x9D1F, 0xE9F4, 0x9D23, 0xE9F3, 0x9D26, 0xE9F1, 0x9D28, 0x8A9B, - 0x9D2A, 0xE9F0, 0x9D2B, 0x8EB0, 0x9D2C, 0x89A7, 0x9D3B, 0x8D83, 0x9D3E, 0xE9FA, 0x9D3F, 0xE9F9, 0x9D41, 0xE9F8, 0x9D44, 0xE9F5, - 0x9D46, 0xE9FB, 0x9D48, 0xE9FC, 0x9D50, 0xEA44, 0x9D51, 0xEA43, 0x9D59, 0xEA45, 0x9D5C, 0x894C, 0x9D5D, 0xEA40, 0x9D5E, 0xEA41, - 0x9D60, 0x8D94, 0x9D61, 0x96B7, 0x9D64, 0xEA42, 0x9D6B, 0xFC48, 0x9D6C, 0x9651, 0x9D6F, 0xEA4A, 0x9D70, 0xFC47, 0x9D72, 0xEA46, - 0x9D7A, 0xEA4B, 0x9D87, 0xEA48, 0x9D89, 0xEA47, 0x9D8F, 0x8C7B, 0x9D9A, 0xEA4C, 0x9DA4, 0xEA4D, 0x9DA9, 0xEA4E, 0x9DAB, 0xEA49, - 0x9DAF, 0xE9F2, 0x9DB2, 0xEA4F, 0x9DB4, 0x92DF, 0x9DB8, 0xEA53, 0x9DBA, 0xEA54, 0x9DBB, 0xEA52, 0x9DC1, 0xEA51, 0x9DC2, 0xEA57, - 0x9DC4, 0xEA50, 0x9DC6, 0xEA55, 0x9DCF, 0xEA56, 0x9DD3, 0xEA59, 0x9DD9, 0xEA58, 0x9DE6, 0xEA5B, 0x9DED, 0xEA5C, 0x9DEF, 0xEA5D, - 0x9DF2, 0x9868, 0x9DF8, 0xEA5A, 0x9DF9, 0x91E9, 0x9DFA, 0x8DEB, 0x9DFD, 0xEA5E, 0x9E19, 0xFC4A, 0x9E1A, 0xEA5F, 0x9E1B, 0xEA60, - 0x9E1E, 0xEA61, 0x9E75, 0xEA62, 0x9E78, 0x8CB2, 0x9E79, 0xEA63, 0x9E7D, 0xEA64, 0x9E7F, 0x8EAD, 0x9E81, 0xEA65, 0x9E88, 0xEA66, - 0x9E8B, 0xEA67, 0x9E8C, 0xEA68, 0x9E91, 0xEA6B, 0x9E92, 0xEA69, 0x9E93, 0x985B, 0x9E95, 0xEA6A, 0x9E97, 0x97ED, 0x9E9D, 0xEA6C, - 0x9E9F, 0x97D9, 0x9EA5, 0xEA6D, 0x9EA6, 0x949E, 0x9EA9, 0xEA6E, 0x9EAA, 0xEA70, 0x9EAD, 0xEA71, 0x9EB8, 0xEA6F, 0x9EB9, 0x8D8D, - 0x9EBA, 0x96CB, 0x9EBB, 0x9683, 0x9EBC, 0x9BF5, 0x9EBE, 0x9F80, 0x9EBF, 0x969B, 0x9EC4, 0x89A9, 0x9ECC, 0xEA73, 0x9ECD, 0x8B6F, - 0x9ECE, 0xEA74, 0x9ECF, 0xEA75, 0x9ED0, 0xEA76, 0x9ED1, 0xFC4B, 0x9ED2, 0x8D95, 0x9ED4, 0xEA77, 0x9ED8, 0xE0D2, 0x9ED9, 0x96D9, - 0x9EDB, 0x91E1, 0x9EDC, 0xEA78, 0x9EDD, 0xEA7A, 0x9EDE, 0xEA79, 0x9EE0, 0xEA7B, 0x9EE5, 0xEA7C, 0x9EE8, 0xEA7D, 0x9EEF, 0xEA7E, - 0x9EF4, 0xEA80, 0x9EF6, 0xEA81, 0x9EF7, 0xEA82, 0x9EF9, 0xEA83, 0x9EFB, 0xEA84, 0x9EFC, 0xEA85, 0x9EFD, 0xEA86, 0x9F07, 0xEA87, - 0x9F08, 0xEA88, 0x9F0E, 0x9343, 0x9F13, 0x8CDB, 0x9F15, 0xEA8A, 0x9F20, 0x916C, 0x9F21, 0xEA8B, 0x9F2C, 0xEA8C, 0x9F3B, 0x9540, - 0x9F3E, 0xEA8D, 0x9F4A, 0xEA8E, 0x9F4B, 0xE256, 0x9F4E, 0xE6D8, 0x9F4F, 0xE8EB, 0x9F52, 0xEA8F, 0x9F54, 0xEA90, 0x9F5F, 0xEA92, - 0x9F60, 0xEA93, 0x9F61, 0xEA94, 0x9F62, 0x97EE, 0x9F63, 0xEA91, 0x9F66, 0xEA95, 0x9F67, 0xEA96, 0x9F6A, 0xEA98, 0x9F6C, 0xEA97, - 0x9F72, 0xEA9A, 0x9F76, 0xEA9B, 0x9F77, 0xEA99, 0x9F8D, 0x97B4, 0x9F95, 0xEA9C, 0x9F9C, 0xEA9D, 0x9F9D, 0xE273, 0x9FA0, 0xEA9E, - 0xF929, 0xFAE0, 0xF9DC, 0xFBE9, 0xFA0E, 0xFA90, 0xFA0F, 0xFA9B, 0xFA10, 0xFA9C, 0xFA11, 0xFAB1, 0xFA12, 0xFAD8, 0xFA13, 0xFAE8, - 0xFA14, 0xFAEA, 0xFA15, 0xFB58, 0xFA16, 0xFB5E, 0xFA17, 0xFB75, 0xFA18, 0xFB7D, 0xFA19, 0xFB7E, 0xFA1A, 0xFB80, 0xFA1B, 0xFB82, - 0xFA1C, 0xFB86, 0xFA1D, 0xFB89, 0xFA1E, 0xFB92, 0xFA1F, 0xFB9D, 0xFA20, 0xFB9F, 0xFA21, 0xFBA0, 0xFA22, 0xFBA9, 0xFA23, 0xFBB1, - 0xFA24, 0xFBB3, 0xFA25, 0xFBB4, 0xFA26, 0xFBB7, 0xFA27, 0xFBD3, 0xFA28, 0xFBDA, 0xFA29, 0xFBEA, 0xFA2A, 0xFBF6, 0xFA2B, 0xFBF7, - 0xFA2C, 0xFBF9, 0xFA2D, 0xFC49, 0xFF01, 0x8149, 0xFF02, 0xFA57, 0xFF03, 0x8194, 0xFF04, 0x8190, 0xFF05, 0x8193, 0xFF06, 0x8195, - 0xFF07, 0xFA56, 0xFF08, 0x8169, 0xFF09, 0x816A, 0xFF0A, 0x8196, 0xFF0B, 0x817B, 0xFF0C, 0x8143, 0xFF0D, 0x817C, 0xFF0E, 0x8144, - 0xFF0F, 0x815E, 0xFF10, 0x824F, 0xFF11, 0x8250, 0xFF12, 0x8251, 0xFF13, 0x8252, 0xFF14, 0x8253, 0xFF15, 0x8254, 0xFF16, 0x8255, - 0xFF17, 0x8256, 0xFF18, 0x8257, 0xFF19, 0x8258, 0xFF1A, 0x8146, 0xFF1B, 0x8147, 0xFF1C, 0x8183, 0xFF1D, 0x8181, 0xFF1E, 0x8184, - 0xFF1F, 0x8148, 0xFF20, 0x8197, 0xFF21, 0x8260, 0xFF22, 0x8261, 0xFF23, 0x8262, 0xFF24, 0x8263, 0xFF25, 0x8264, 0xFF26, 0x8265, - 0xFF27, 0x8266, 0xFF28, 0x8267, 0xFF29, 0x8268, 0xFF2A, 0x8269, 0xFF2B, 0x826A, 0xFF2C, 0x826B, 0xFF2D, 0x826C, 0xFF2E, 0x826D, - 0xFF2F, 0x826E, 0xFF30, 0x826F, 0xFF31, 0x8270, 0xFF32, 0x8271, 0xFF33, 0x8272, 0xFF34, 0x8273, 0xFF35, 0x8274, 0xFF36, 0x8275, - 0xFF37, 0x8276, 0xFF38, 0x8277, 0xFF39, 0x8278, 0xFF3A, 0x8279, 0xFF3B, 0x816D, 0xFF3C, 0x815F, 0xFF3D, 0x816E, 0xFF3E, 0x814F, - 0xFF3F, 0x8151, 0xFF40, 0x814D, 0xFF41, 0x8281, 0xFF42, 0x8282, 0xFF43, 0x8283, 0xFF44, 0x8284, 0xFF45, 0x8285, 0xFF46, 0x8286, - 0xFF47, 0x8287, 0xFF48, 0x8288, 0xFF49, 0x8289, 0xFF4A, 0x828A, 0xFF4B, 0x828B, 0xFF4C, 0x828C, 0xFF4D, 0x828D, 0xFF4E, 0x828E, - 0xFF4F, 0x828F, 0xFF50, 0x8290, 0xFF51, 0x8291, 0xFF52, 0x8292, 0xFF53, 0x8293, 0xFF54, 0x8294, 0xFF55, 0x8295, 0xFF56, 0x8296, - 0xFF57, 0x8297, 0xFF58, 0x8298, 0xFF59, 0x8299, 0xFF5A, 0x829A, 0xFF5B, 0x816F, 0xFF5C, 0x8162, 0xFF5D, 0x8170, 0xFF5E, 0x8160, - 0xFF61, 0x00A1, 0xFF62, 0x00A2, 0xFF63, 0x00A3, 0xFF64, 0x00A4, 0xFF65, 0x00A5, 0xFF66, 0x00A6, 0xFF67, 0x00A7, 0xFF68, 0x00A8, - 0xFF69, 0x00A9, 0xFF6A, 0x00AA, 0xFF6B, 0x00AB, 0xFF6C, 0x00AC, 0xFF6D, 0x00AD, 0xFF6E, 0x00AE, 0xFF6F, 0x00AF, 0xFF70, 0x00B0, - 0xFF71, 0x00B1, 0xFF72, 0x00B2, 0xFF73, 0x00B3, 0xFF74, 0x00B4, 0xFF75, 0x00B5, 0xFF76, 0x00B6, 0xFF77, 0x00B7, 0xFF78, 0x00B8, - 0xFF79, 0x00B9, 0xFF7A, 0x00BA, 0xFF7B, 0x00BB, 0xFF7C, 0x00BC, 0xFF7D, 0x00BD, 0xFF7E, 0x00BE, 0xFF7F, 0x00BF, 0xFF80, 0x00C0, - 0xFF81, 0x00C1, 0xFF82, 0x00C2, 0xFF83, 0x00C3, 0xFF84, 0x00C4, 0xFF85, 0x00C5, 0xFF86, 0x00C6, 0xFF87, 0x00C7, 0xFF88, 0x00C8, - 0xFF89, 0x00C9, 0xFF8A, 0x00CA, 0xFF8B, 0x00CB, 0xFF8C, 0x00CC, 0xFF8D, 0x00CD, 0xFF8E, 0x00CE, 0xFF8F, 0x00CF, 0xFF90, 0x00D0, - 0xFF91, 0x00D1, 0xFF92, 0x00D2, 0xFF93, 0x00D3, 0xFF94, 0x00D4, 0xFF95, 0x00D5, 0xFF96, 0x00D6, 0xFF97, 0x00D7, 0xFF98, 0x00D8, - 0xFF99, 0x00D9, 0xFF9A, 0x00DA, 0xFF9B, 0x00DB, 0xFF9C, 0x00DC, 0xFF9D, 0x00DD, 0xFF9E, 0x00DE, 0xFF9F, 0x00DF, 0xFFE0, 0x8191, - 0xFFE1, 0x8192, 0xFFE2, 0x81CA, 0xFFE3, 0x8150, 0xFFE4, 0xFA55, 0xFFE5, 0x818F, 0, 0 -}; - -static const WCHAR oem2uni932[] = { /* Shift_JIS --> Unicode pairs */ - 0x00A1, 0xFF61, 0x00A2, 0xFF62, 0x00A3, 0xFF63, 0x00A4, 0xFF64, 0x00A5, 0xFF65, 0x00A6, 0xFF66, 0x00A7, 0xFF67, 0x00A8, 0xFF68, - 0x00A9, 0xFF69, 0x00AA, 0xFF6A, 0x00AB, 0xFF6B, 0x00AC, 0xFF6C, 0x00AD, 0xFF6D, 0x00AE, 0xFF6E, 0x00AF, 0xFF6F, 0x00B0, 0xFF70, - 0x00B1, 0xFF71, 0x00B2, 0xFF72, 0x00B3, 0xFF73, 0x00B4, 0xFF74, 0x00B5, 0xFF75, 0x00B6, 0xFF76, 0x00B7, 0xFF77, 0x00B8, 0xFF78, - 0x00B9, 0xFF79, 0x00BA, 0xFF7A, 0x00BB, 0xFF7B, 0x00BC, 0xFF7C, 0x00BD, 0xFF7D, 0x00BE, 0xFF7E, 0x00BF, 0xFF7F, 0x00C0, 0xFF80, - 0x00C1, 0xFF81, 0x00C2, 0xFF82, 0x00C3, 0xFF83, 0x00C4, 0xFF84, 0x00C5, 0xFF85, 0x00C6, 0xFF86, 0x00C7, 0xFF87, 0x00C8, 0xFF88, - 0x00C9, 0xFF89, 0x00CA, 0xFF8A, 0x00CB, 0xFF8B, 0x00CC, 0xFF8C, 0x00CD, 0xFF8D, 0x00CE, 0xFF8E, 0x00CF, 0xFF8F, 0x00D0, 0xFF90, - 0x00D1, 0xFF91, 0x00D2, 0xFF92, 0x00D3, 0xFF93, 0x00D4, 0xFF94, 0x00D5, 0xFF95, 0x00D6, 0xFF96, 0x00D7, 0xFF97, 0x00D8, 0xFF98, - 0x00D9, 0xFF99, 0x00DA, 0xFF9A, 0x00DB, 0xFF9B, 0x00DC, 0xFF9C, 0x00DD, 0xFF9D, 0x00DE, 0xFF9E, 0x00DF, 0xFF9F, 0x8140, 0x3000, - 0x8141, 0x3001, 0x8142, 0x3002, 0x8143, 0xFF0C, 0x8144, 0xFF0E, 0x8145, 0x30FB, 0x8146, 0xFF1A, 0x8147, 0xFF1B, 0x8148, 0xFF1F, - 0x8149, 0xFF01, 0x814A, 0x309B, 0x814B, 0x309C, 0x814C, 0x00B4, 0x814D, 0xFF40, 0x814E, 0x00A8, 0x814F, 0xFF3E, 0x8150, 0xFFE3, - 0x8151, 0xFF3F, 0x8152, 0x30FD, 0x8153, 0x30FE, 0x8154, 0x309D, 0x8155, 0x309E, 0x8156, 0x3003, 0x8157, 0x4EDD, 0x8158, 0x3005, - 0x8159, 0x3006, 0x815A, 0x3007, 0x815B, 0x30FC, 0x815C, 0x2015, 0x815D, 0x2010, 0x815E, 0xFF0F, 0x815F, 0xFF3C, 0x8160, 0xFF5E, - 0x8161, 0x2225, 0x8162, 0xFF5C, 0x8163, 0x2026, 0x8164, 0x2025, 0x8165, 0x2018, 0x8166, 0x2019, 0x8167, 0x201C, 0x8168, 0x201D, - 0x8169, 0xFF08, 0x816A, 0xFF09, 0x816B, 0x3014, 0x816C, 0x3015, 0x816D, 0xFF3B, 0x816E, 0xFF3D, 0x816F, 0xFF5B, 0x8170, 0xFF5D, - 0x8171, 0x3008, 0x8172, 0x3009, 0x8173, 0x300A, 0x8174, 0x300B, 0x8175, 0x300C, 0x8176, 0x300D, 0x8177, 0x300E, 0x8178, 0x300F, - 0x8179, 0x3010, 0x817A, 0x3011, 0x817B, 0xFF0B, 0x817C, 0xFF0D, 0x817D, 0x00B1, 0x817E, 0x00D7, 0x8180, 0x00F7, 0x8181, 0xFF1D, - 0x8182, 0x2260, 0x8183, 0xFF1C, 0x8184, 0xFF1E, 0x8185, 0x2266, 0x8186, 0x2267, 0x8187, 0x221E, 0x8188, 0x2234, 0x8189, 0x2642, - 0x818A, 0x2640, 0x818B, 0x00B0, 0x818C, 0x2032, 0x818D, 0x2033, 0x818E, 0x2103, 0x818F, 0xFFE5, 0x8190, 0xFF04, 0x8191, 0xFFE0, - 0x8192, 0xFFE1, 0x8193, 0xFF05, 0x8194, 0xFF03, 0x8195, 0xFF06, 0x8196, 0xFF0A, 0x8197, 0xFF20, 0x8198, 0x00A7, 0x8199, 0x2606, - 0x819A, 0x2605, 0x819B, 0x25CB, 0x819C, 0x25CF, 0x819D, 0x25CE, 0x819E, 0x25C7, 0x819F, 0x25C6, 0x81A0, 0x25A1, 0x81A1, 0x25A0, - 0x81A2, 0x25B3, 0x81A3, 0x25B2, 0x81A4, 0x25BD, 0x81A5, 0x25BC, 0x81A6, 0x203B, 0x81A7, 0x3012, 0x81A8, 0x2192, 0x81A9, 0x2190, - 0x81AA, 0x2191, 0x81AB, 0x2193, 0x81AC, 0x3013, 0x81B8, 0x2208, 0x81B9, 0x220B, 0x81BA, 0x2286, 0x81BB, 0x2287, 0x81BC, 0x2282, - 0x81BD, 0x2283, 0x81BE, 0x222A, 0x81BF, 0x2229, 0x81C8, 0x2227, 0x81C9, 0x2228, 0x81CA, 0xFFE2, 0x81CB, 0x21D2, 0x81CC, 0x21D4, - 0x81CD, 0x2200, 0x81CE, 0x2203, 0x81DA, 0x2220, 0x81DB, 0x22A5, 0x81DC, 0x2312, 0x81DD, 0x2202, 0x81DE, 0x2207, 0x81DF, 0x2261, - 0x81E0, 0x2252, 0x81E1, 0x226A, 0x81E2, 0x226B, 0x81E3, 0x221A, 0x81E4, 0x223D, 0x81E5, 0x221D, 0x81E6, 0x2235, 0x81E7, 0x222B, - 0x81E8, 0x222C, 0x81F0, 0x212B, 0x81F1, 0x2030, 0x81F2, 0x266F, 0x81F3, 0x266D, 0x81F4, 0x266A, 0x81F5, 0x2020, 0x81F6, 0x2021, - 0x81F7, 0x00B6, 0x81FC, 0x25EF, 0x824F, 0xFF10, 0x8250, 0xFF11, 0x8251, 0xFF12, 0x8252, 0xFF13, 0x8253, 0xFF14, 0x8254, 0xFF15, - 0x8255, 0xFF16, 0x8256, 0xFF17, 0x8257, 0xFF18, 0x8258, 0xFF19, 0x8260, 0xFF21, 0x8261, 0xFF22, 0x8262, 0xFF23, 0x8263, 0xFF24, - 0x8264, 0xFF25, 0x8265, 0xFF26, 0x8266, 0xFF27, 0x8267, 0xFF28, 0x8268, 0xFF29, 0x8269, 0xFF2A, 0x826A, 0xFF2B, 0x826B, 0xFF2C, - 0x826C, 0xFF2D, 0x826D, 0xFF2E, 0x826E, 0xFF2F, 0x826F, 0xFF30, 0x8270, 0xFF31, 0x8271, 0xFF32, 0x8272, 0xFF33, 0x8273, 0xFF34, - 0x8274, 0xFF35, 0x8275, 0xFF36, 0x8276, 0xFF37, 0x8277, 0xFF38, 0x8278, 0xFF39, 0x8279, 0xFF3A, 0x8281, 0xFF41, 0x8282, 0xFF42, - 0x8283, 0xFF43, 0x8284, 0xFF44, 0x8285, 0xFF45, 0x8286, 0xFF46, 0x8287, 0xFF47, 0x8288, 0xFF48, 0x8289, 0xFF49, 0x828A, 0xFF4A, - 0x828B, 0xFF4B, 0x828C, 0xFF4C, 0x828D, 0xFF4D, 0x828E, 0xFF4E, 0x828F, 0xFF4F, 0x8290, 0xFF50, 0x8291, 0xFF51, 0x8292, 0xFF52, - 0x8293, 0xFF53, 0x8294, 0xFF54, 0x8295, 0xFF55, 0x8296, 0xFF56, 0x8297, 0xFF57, 0x8298, 0xFF58, 0x8299, 0xFF59, 0x829A, 0xFF5A, - 0x829F, 0x3041, 0x82A0, 0x3042, 0x82A1, 0x3043, 0x82A2, 0x3044, 0x82A3, 0x3045, 0x82A4, 0x3046, 0x82A5, 0x3047, 0x82A6, 0x3048, - 0x82A7, 0x3049, 0x82A8, 0x304A, 0x82A9, 0x304B, 0x82AA, 0x304C, 0x82AB, 0x304D, 0x82AC, 0x304E, 0x82AD, 0x304F, 0x82AE, 0x3050, - 0x82AF, 0x3051, 0x82B0, 0x3052, 0x82B1, 0x3053, 0x82B2, 0x3054, 0x82B3, 0x3055, 0x82B4, 0x3056, 0x82B5, 0x3057, 0x82B6, 0x3058, - 0x82B7, 0x3059, 0x82B8, 0x305A, 0x82B9, 0x305B, 0x82BA, 0x305C, 0x82BB, 0x305D, 0x82BC, 0x305E, 0x82BD, 0x305F, 0x82BE, 0x3060, - 0x82BF, 0x3061, 0x82C0, 0x3062, 0x82C1, 0x3063, 0x82C2, 0x3064, 0x82C3, 0x3065, 0x82C4, 0x3066, 0x82C5, 0x3067, 0x82C6, 0x3068, - 0x82C7, 0x3069, 0x82C8, 0x306A, 0x82C9, 0x306B, 0x82CA, 0x306C, 0x82CB, 0x306D, 0x82CC, 0x306E, 0x82CD, 0x306F, 0x82CE, 0x3070, - 0x82CF, 0x3071, 0x82D0, 0x3072, 0x82D1, 0x3073, 0x82D2, 0x3074, 0x82D3, 0x3075, 0x82D4, 0x3076, 0x82D5, 0x3077, 0x82D6, 0x3078, - 0x82D7, 0x3079, 0x82D8, 0x307A, 0x82D9, 0x307B, 0x82DA, 0x307C, 0x82DB, 0x307D, 0x82DC, 0x307E, 0x82DD, 0x307F, 0x82DE, 0x3080, - 0x82DF, 0x3081, 0x82E0, 0x3082, 0x82E1, 0x3083, 0x82E2, 0x3084, 0x82E3, 0x3085, 0x82E4, 0x3086, 0x82E5, 0x3087, 0x82E6, 0x3088, - 0x82E7, 0x3089, 0x82E8, 0x308A, 0x82E9, 0x308B, 0x82EA, 0x308C, 0x82EB, 0x308D, 0x82EC, 0x308E, 0x82ED, 0x308F, 0x82EE, 0x3090, - 0x82EF, 0x3091, 0x82F0, 0x3092, 0x82F1, 0x3093, 0x8340, 0x30A1, 0x8341, 0x30A2, 0x8342, 0x30A3, 0x8343, 0x30A4, 0x8344, 0x30A5, - 0x8345, 0x30A6, 0x8346, 0x30A7, 0x8347, 0x30A8, 0x8348, 0x30A9, 0x8349, 0x30AA, 0x834A, 0x30AB, 0x834B, 0x30AC, 0x834C, 0x30AD, - 0x834D, 0x30AE, 0x834E, 0x30AF, 0x834F, 0x30B0, 0x8350, 0x30B1, 0x8351, 0x30B2, 0x8352, 0x30B3, 0x8353, 0x30B4, 0x8354, 0x30B5, - 0x8355, 0x30B6, 0x8356, 0x30B7, 0x8357, 0x30B8, 0x8358, 0x30B9, 0x8359, 0x30BA, 0x835A, 0x30BB, 0x835B, 0x30BC, 0x835C, 0x30BD, - 0x835D, 0x30BE, 0x835E, 0x30BF, 0x835F, 0x30C0, 0x8360, 0x30C1, 0x8361, 0x30C2, 0x8362, 0x30C3, 0x8363, 0x30C4, 0x8364, 0x30C5, - 0x8365, 0x30C6, 0x8366, 0x30C7, 0x8367, 0x30C8, 0x8368, 0x30C9, 0x8369, 0x30CA, 0x836A, 0x30CB, 0x836B, 0x30CC, 0x836C, 0x30CD, - 0x836D, 0x30CE, 0x836E, 0x30CF, 0x836F, 0x30D0, 0x8370, 0x30D1, 0x8371, 0x30D2, 0x8372, 0x30D3, 0x8373, 0x30D4, 0x8374, 0x30D5, - 0x8375, 0x30D6, 0x8376, 0x30D7, 0x8377, 0x30D8, 0x8378, 0x30D9, 0x8379, 0x30DA, 0x837A, 0x30DB, 0x837B, 0x30DC, 0x837C, 0x30DD, - 0x837D, 0x30DE, 0x837E, 0x30DF, 0x8380, 0x30E0, 0x8381, 0x30E1, 0x8382, 0x30E2, 0x8383, 0x30E3, 0x8384, 0x30E4, 0x8385, 0x30E5, - 0x8386, 0x30E6, 0x8387, 0x30E7, 0x8388, 0x30E8, 0x8389, 0x30E9, 0x838A, 0x30EA, 0x838B, 0x30EB, 0x838C, 0x30EC, 0x838D, 0x30ED, - 0x838E, 0x30EE, 0x838F, 0x30EF, 0x8390, 0x30F0, 0x8391, 0x30F1, 0x8392, 0x30F2, 0x8393, 0x30F3, 0x8394, 0x30F4, 0x8395, 0x30F5, - 0x8396, 0x30F6, 0x839F, 0x0391, 0x83A0, 0x0392, 0x83A1, 0x0393, 0x83A2, 0x0394, 0x83A3, 0x0395, 0x83A4, 0x0396, 0x83A5, 0x0397, - 0x83A6, 0x0398, 0x83A7, 0x0399, 0x83A8, 0x039A, 0x83A9, 0x039B, 0x83AA, 0x039C, 0x83AB, 0x039D, 0x83AC, 0x039E, 0x83AD, 0x039F, - 0x83AE, 0x03A0, 0x83AF, 0x03A1, 0x83B0, 0x03A3, 0x83B1, 0x03A4, 0x83B2, 0x03A5, 0x83B3, 0x03A6, 0x83B4, 0x03A7, 0x83B5, 0x03A8, - 0x83B6, 0x03A9, 0x83BF, 0x03B1, 0x83C0, 0x03B2, 0x83C1, 0x03B3, 0x83C2, 0x03B4, 0x83C3, 0x03B5, 0x83C4, 0x03B6, 0x83C5, 0x03B7, - 0x83C6, 0x03B8, 0x83C7, 0x03B9, 0x83C8, 0x03BA, 0x83C9, 0x03BB, 0x83CA, 0x03BC, 0x83CB, 0x03BD, 0x83CC, 0x03BE, 0x83CD, 0x03BF, - 0x83CE, 0x03C0, 0x83CF, 0x03C1, 0x83D0, 0x03C3, 0x83D1, 0x03C4, 0x83D2, 0x03C5, 0x83D3, 0x03C6, 0x83D4, 0x03C7, 0x83D5, 0x03C8, - 0x83D6, 0x03C9, 0x8440, 0x0410, 0x8441, 0x0411, 0x8442, 0x0412, 0x8443, 0x0413, 0x8444, 0x0414, 0x8445, 0x0415, 0x8446, 0x0401, - 0x8447, 0x0416, 0x8448, 0x0417, 0x8449, 0x0418, 0x844A, 0x0419, 0x844B, 0x041A, 0x844C, 0x041B, 0x844D, 0x041C, 0x844E, 0x041D, - 0x844F, 0x041E, 0x8450, 0x041F, 0x8451, 0x0420, 0x8452, 0x0421, 0x8453, 0x0422, 0x8454, 0x0423, 0x8455, 0x0424, 0x8456, 0x0425, - 0x8457, 0x0426, 0x8458, 0x0427, 0x8459, 0x0428, 0x845A, 0x0429, 0x845B, 0x042A, 0x845C, 0x042B, 0x845D, 0x042C, 0x845E, 0x042D, - 0x845F, 0x042E, 0x8460, 0x042F, 0x8470, 0x0430, 0x8471, 0x0431, 0x8472, 0x0432, 0x8473, 0x0433, 0x8474, 0x0434, 0x8475, 0x0435, - 0x8476, 0x0451, 0x8477, 0x0436, 0x8478, 0x0437, 0x8479, 0x0438, 0x847A, 0x0439, 0x847B, 0x043A, 0x847C, 0x043B, 0x847D, 0x043C, - 0x847E, 0x043D, 0x8480, 0x043E, 0x8481, 0x043F, 0x8482, 0x0440, 0x8483, 0x0441, 0x8484, 0x0442, 0x8485, 0x0443, 0x8486, 0x0444, - 0x8487, 0x0445, 0x8488, 0x0446, 0x8489, 0x0447, 0x848A, 0x0448, 0x848B, 0x0449, 0x848C, 0x044A, 0x848D, 0x044B, 0x848E, 0x044C, - 0x848F, 0x044D, 0x8490, 0x044E, 0x8491, 0x044F, 0x849F, 0x2500, 0x84A0, 0x2502, 0x84A1, 0x250C, 0x84A2, 0x2510, 0x84A3, 0x2518, - 0x84A4, 0x2514, 0x84A5, 0x251C, 0x84A6, 0x252C, 0x84A7, 0x2524, 0x84A8, 0x2534, 0x84A9, 0x253C, 0x84AA, 0x2501, 0x84AB, 0x2503, - 0x84AC, 0x250F, 0x84AD, 0x2513, 0x84AE, 0x251B, 0x84AF, 0x2517, 0x84B0, 0x2523, 0x84B1, 0x2533, 0x84B2, 0x252B, 0x84B3, 0x253B, - 0x84B4, 0x254B, 0x84B5, 0x2520, 0x84B6, 0x252F, 0x84B7, 0x2528, 0x84B8, 0x2537, 0x84B9, 0x253F, 0x84BA, 0x251D, 0x84BB, 0x2530, - 0x84BC, 0x2525, 0x84BD, 0x2538, 0x84BE, 0x2542, 0x8740, 0x2460, 0x8741, 0x2461, 0x8742, 0x2462, 0x8743, 0x2463, 0x8744, 0x2464, - 0x8745, 0x2465, 0x8746, 0x2466, 0x8747, 0x2467, 0x8748, 0x2468, 0x8749, 0x2469, 0x874A, 0x246A, 0x874B, 0x246B, 0x874C, 0x246C, - 0x874D, 0x246D, 0x874E, 0x246E, 0x874F, 0x246F, 0x8750, 0x2470, 0x8751, 0x2471, 0x8752, 0x2472, 0x8753, 0x2473, 0x8754, 0x2160, - 0x8755, 0x2161, 0x8756, 0x2162, 0x8757, 0x2163, 0x8758, 0x2164, 0x8759, 0x2165, 0x875A, 0x2166, 0x875B, 0x2167, 0x875C, 0x2168, - 0x875D, 0x2169, 0x875F, 0x3349, 0x8760, 0x3314, 0x8761, 0x3322, 0x8762, 0x334D, 0x8763, 0x3318, 0x8764, 0x3327, 0x8765, 0x3303, - 0x8766, 0x3336, 0x8767, 0x3351, 0x8768, 0x3357, 0x8769, 0x330D, 0x876A, 0x3326, 0x876B, 0x3323, 0x876C, 0x332B, 0x876D, 0x334A, - 0x876E, 0x333B, 0x876F, 0x339C, 0x8770, 0x339D, 0x8771, 0x339E, 0x8772, 0x338E, 0x8773, 0x338F, 0x8774, 0x33C4, 0x8775, 0x33A1, - 0x877E, 0x337B, 0x8780, 0x301D, 0x8781, 0x301F, 0x8782, 0x2116, 0x8783, 0x33CD, 0x8784, 0x2121, 0x8785, 0x32A4, 0x8786, 0x32A5, - 0x8787, 0x32A6, 0x8788, 0x32A7, 0x8789, 0x32A8, 0x878A, 0x3231, 0x878B, 0x3232, 0x878C, 0x3239, 0x878D, 0x337E, 0x878E, 0x337D, - 0x878F, 0x337C, 0x8793, 0x222E, 0x8794, 0x2211, 0x8798, 0x221F, 0x8799, 0x22BF, 0x889F, 0x4E9C, 0x88A0, 0x5516, 0x88A1, 0x5A03, - 0x88A2, 0x963F, 0x88A3, 0x54C0, 0x88A4, 0x611B, 0x88A5, 0x6328, 0x88A6, 0x59F6, 0x88A7, 0x9022, 0x88A8, 0x8475, 0x88A9, 0x831C, - 0x88AA, 0x7A50, 0x88AB, 0x60AA, 0x88AC, 0x63E1, 0x88AD, 0x6E25, 0x88AE, 0x65ED, 0x88AF, 0x8466, 0x88B0, 0x82A6, 0x88B1, 0x9BF5, - 0x88B2, 0x6893, 0x88B3, 0x5727, 0x88B4, 0x65A1, 0x88B5, 0x6271, 0x88B6, 0x5B9B, 0x88B7, 0x59D0, 0x88B8, 0x867B, 0x88B9, 0x98F4, - 0x88BA, 0x7D62, 0x88BB, 0x7DBE, 0x88BC, 0x9B8E, 0x88BD, 0x6216, 0x88BE, 0x7C9F, 0x88BF, 0x88B7, 0x88C0, 0x5B89, 0x88C1, 0x5EB5, - 0x88C2, 0x6309, 0x88C3, 0x6697, 0x88C4, 0x6848, 0x88C5, 0x95C7, 0x88C6, 0x978D, 0x88C7, 0x674F, 0x88C8, 0x4EE5, 0x88C9, 0x4F0A, - 0x88CA, 0x4F4D, 0x88CB, 0x4F9D, 0x88CC, 0x5049, 0x88CD, 0x56F2, 0x88CE, 0x5937, 0x88CF, 0x59D4, 0x88D0, 0x5A01, 0x88D1, 0x5C09, - 0x88D2, 0x60DF, 0x88D3, 0x610F, 0x88D4, 0x6170, 0x88D5, 0x6613, 0x88D6, 0x6905, 0x88D7, 0x70BA, 0x88D8, 0x754F, 0x88D9, 0x7570, - 0x88DA, 0x79FB, 0x88DB, 0x7DAD, 0x88DC, 0x7DEF, 0x88DD, 0x80C3, 0x88DE, 0x840E, 0x88DF, 0x8863, 0x88E0, 0x8B02, 0x88E1, 0x9055, - 0x88E2, 0x907A, 0x88E3, 0x533B, 0x88E4, 0x4E95, 0x88E5, 0x4EA5, 0x88E6, 0x57DF, 0x88E7, 0x80B2, 0x88E8, 0x90C1, 0x88E9, 0x78EF, - 0x88EA, 0x4E00, 0x88EB, 0x58F1, 0x88EC, 0x6EA2, 0x88ED, 0x9038, 0x88EE, 0x7A32, 0x88EF, 0x8328, 0x88F0, 0x828B, 0x88F1, 0x9C2F, - 0x88F2, 0x5141, 0x88F3, 0x5370, 0x88F4, 0x54BD, 0x88F5, 0x54E1, 0x88F6, 0x56E0, 0x88F7, 0x59FB, 0x88F8, 0x5F15, 0x88F9, 0x98F2, - 0x88FA, 0x6DEB, 0x88FB, 0x80E4, 0x88FC, 0x852D, 0x8940, 0x9662, 0x8941, 0x9670, 0x8942, 0x96A0, 0x8943, 0x97FB, 0x8944, 0x540B, - 0x8945, 0x53F3, 0x8946, 0x5B87, 0x8947, 0x70CF, 0x8948, 0x7FBD, 0x8949, 0x8FC2, 0x894A, 0x96E8, 0x894B, 0x536F, 0x894C, 0x9D5C, - 0x894D, 0x7ABA, 0x894E, 0x4E11, 0x894F, 0x7893, 0x8950, 0x81FC, 0x8951, 0x6E26, 0x8952, 0x5618, 0x8953, 0x5504, 0x8954, 0x6B1D, - 0x8955, 0x851A, 0x8956, 0x9C3B, 0x8957, 0x59E5, 0x8958, 0x53A9, 0x8959, 0x6D66, 0x895A, 0x74DC, 0x895B, 0x958F, 0x895C, 0x5642, - 0x895D, 0x4E91, 0x895E, 0x904B, 0x895F, 0x96F2, 0x8960, 0x834F, 0x8961, 0x990C, 0x8962, 0x53E1, 0x8963, 0x55B6, 0x8964, 0x5B30, - 0x8965, 0x5F71, 0x8966, 0x6620, 0x8967, 0x66F3, 0x8968, 0x6804, 0x8969, 0x6C38, 0x896A, 0x6CF3, 0x896B, 0x6D29, 0x896C, 0x745B, - 0x896D, 0x76C8, 0x896E, 0x7A4E, 0x896F, 0x9834, 0x8970, 0x82F1, 0x8971, 0x885B, 0x8972, 0x8A60, 0x8973, 0x92ED, 0x8974, 0x6DB2, - 0x8975, 0x75AB, 0x8976, 0x76CA, 0x8977, 0x99C5, 0x8978, 0x60A6, 0x8979, 0x8B01, 0x897A, 0x8D8A, 0x897B, 0x95B2, 0x897C, 0x698E, - 0x897D, 0x53AD, 0x897E, 0x5186, 0x8980, 0x5712, 0x8981, 0x5830, 0x8982, 0x5944, 0x8983, 0x5BB4, 0x8984, 0x5EF6, 0x8985, 0x6028, - 0x8986, 0x63A9, 0x8987, 0x63F4, 0x8988, 0x6CBF, 0x8989, 0x6F14, 0x898A, 0x708E, 0x898B, 0x7114, 0x898C, 0x7159, 0x898D, 0x71D5, - 0x898E, 0x733F, 0x898F, 0x7E01, 0x8990, 0x8276, 0x8991, 0x82D1, 0x8992, 0x8597, 0x8993, 0x9060, 0x8994, 0x925B, 0x8995, 0x9D1B, - 0x8996, 0x5869, 0x8997, 0x65BC, 0x8998, 0x6C5A, 0x8999, 0x7525, 0x899A, 0x51F9, 0x899B, 0x592E, 0x899C, 0x5965, 0x899D, 0x5F80, - 0x899E, 0x5FDC, 0x899F, 0x62BC, 0x89A0, 0x65FA, 0x89A1, 0x6A2A, 0x89A2, 0x6B27, 0x89A3, 0x6BB4, 0x89A4, 0x738B, 0x89A5, 0x7FC1, - 0x89A6, 0x8956, 0x89A7, 0x9D2C, 0x89A8, 0x9D0E, 0x89A9, 0x9EC4, 0x89AA, 0x5CA1, 0x89AB, 0x6C96, 0x89AC, 0x837B, 0x89AD, 0x5104, - 0x89AE, 0x5C4B, 0x89AF, 0x61B6, 0x89B0, 0x81C6, 0x89B1, 0x6876, 0x89B2, 0x7261, 0x89B3, 0x4E59, 0x89B4, 0x4FFA, 0x89B5, 0x5378, - 0x89B6, 0x6069, 0x89B7, 0x6E29, 0x89B8, 0x7A4F, 0x89B9, 0x97F3, 0x89BA, 0x4E0B, 0x89BB, 0x5316, 0x89BC, 0x4EEE, 0x89BD, 0x4F55, - 0x89BE, 0x4F3D, 0x89BF, 0x4FA1, 0x89C0, 0x4F73, 0x89C1, 0x52A0, 0x89C2, 0x53EF, 0x89C3, 0x5609, 0x89C4, 0x590F, 0x89C5, 0x5AC1, - 0x89C6, 0x5BB6, 0x89C7, 0x5BE1, 0x89C8, 0x79D1, 0x89C9, 0x6687, 0x89CA, 0x679C, 0x89CB, 0x67B6, 0x89CC, 0x6B4C, 0x89CD, 0x6CB3, - 0x89CE, 0x706B, 0x89CF, 0x73C2, 0x89D0, 0x798D, 0x89D1, 0x79BE, 0x89D2, 0x7A3C, 0x89D3, 0x7B87, 0x89D4, 0x82B1, 0x89D5, 0x82DB, - 0x89D6, 0x8304, 0x89D7, 0x8377, 0x89D8, 0x83EF, 0x89D9, 0x83D3, 0x89DA, 0x8766, 0x89DB, 0x8AB2, 0x89DC, 0x5629, 0x89DD, 0x8CA8, - 0x89DE, 0x8FE6, 0x89DF, 0x904E, 0x89E0, 0x971E, 0x89E1, 0x868A, 0x89E2, 0x4FC4, 0x89E3, 0x5CE8, 0x89E4, 0x6211, 0x89E5, 0x7259, - 0x89E6, 0x753B, 0x89E7, 0x81E5, 0x89E8, 0x82BD, 0x89E9, 0x86FE, 0x89EA, 0x8CC0, 0x89EB, 0x96C5, 0x89EC, 0x9913, 0x89ED, 0x99D5, - 0x89EE, 0x4ECB, 0x89EF, 0x4F1A, 0x89F0, 0x89E3, 0x89F1, 0x56DE, 0x89F2, 0x584A, 0x89F3, 0x58CA, 0x89F4, 0x5EFB, 0x89F5, 0x5FEB, - 0x89F6, 0x602A, 0x89F7, 0x6094, 0x89F8, 0x6062, 0x89F9, 0x61D0, 0x89FA, 0x6212, 0x89FB, 0x62D0, 0x89FC, 0x6539, 0x8A40, 0x9B41, - 0x8A41, 0x6666, 0x8A42, 0x68B0, 0x8A43, 0x6D77, 0x8A44, 0x7070, 0x8A45, 0x754C, 0x8A46, 0x7686, 0x8A47, 0x7D75, 0x8A48, 0x82A5, - 0x8A49, 0x87F9, 0x8A4A, 0x958B, 0x8A4B, 0x968E, 0x8A4C, 0x8C9D, 0x8A4D, 0x51F1, 0x8A4E, 0x52BE, 0x8A4F, 0x5916, 0x8A50, 0x54B3, - 0x8A51, 0x5BB3, 0x8A52, 0x5D16, 0x8A53, 0x6168, 0x8A54, 0x6982, 0x8A55, 0x6DAF, 0x8A56, 0x788D, 0x8A57, 0x84CB, 0x8A58, 0x8857, - 0x8A59, 0x8A72, 0x8A5A, 0x93A7, 0x8A5B, 0x9AB8, 0x8A5C, 0x6D6C, 0x8A5D, 0x99A8, 0x8A5E, 0x86D9, 0x8A5F, 0x57A3, 0x8A60, 0x67FF, - 0x8A61, 0x86CE, 0x8A62, 0x920E, 0x8A63, 0x5283, 0x8A64, 0x5687, 0x8A65, 0x5404, 0x8A66, 0x5ED3, 0x8A67, 0x62E1, 0x8A68, 0x64B9, - 0x8A69, 0x683C, 0x8A6A, 0x6838, 0x8A6B, 0x6BBB, 0x8A6C, 0x7372, 0x8A6D, 0x78BA, 0x8A6E, 0x7A6B, 0x8A6F, 0x899A, 0x8A70, 0x89D2, - 0x8A71, 0x8D6B, 0x8A72, 0x8F03, 0x8A73, 0x90ED, 0x8A74, 0x95A3, 0x8A75, 0x9694, 0x8A76, 0x9769, 0x8A77, 0x5B66, 0x8A78, 0x5CB3, - 0x8A79, 0x697D, 0x8A7A, 0x984D, 0x8A7B, 0x984E, 0x8A7C, 0x639B, 0x8A7D, 0x7B20, 0x8A7E, 0x6A2B, 0x8A80, 0x6A7F, 0x8A81, 0x68B6, - 0x8A82, 0x9C0D, 0x8A83, 0x6F5F, 0x8A84, 0x5272, 0x8A85, 0x559D, 0x8A86, 0x6070, 0x8A87, 0x62EC, 0x8A88, 0x6D3B, 0x8A89, 0x6E07, - 0x8A8A, 0x6ED1, 0x8A8B, 0x845B, 0x8A8C, 0x8910, 0x8A8D, 0x8F44, 0x8A8E, 0x4E14, 0x8A8F, 0x9C39, 0x8A90, 0x53F6, 0x8A91, 0x691B, - 0x8A92, 0x6A3A, 0x8A93, 0x9784, 0x8A94, 0x682A, 0x8A95, 0x515C, 0x8A96, 0x7AC3, 0x8A97, 0x84B2, 0x8A98, 0x91DC, 0x8A99, 0x938C, - 0x8A9A, 0x565B, 0x8A9B, 0x9D28, 0x8A9C, 0x6822, 0x8A9D, 0x8305, 0x8A9E, 0x8431, 0x8A9F, 0x7CA5, 0x8AA0, 0x5208, 0x8AA1, 0x82C5, - 0x8AA2, 0x74E6, 0x8AA3, 0x4E7E, 0x8AA4, 0x4F83, 0x8AA5, 0x51A0, 0x8AA6, 0x5BD2, 0x8AA7, 0x520A, 0x8AA8, 0x52D8, 0x8AA9, 0x52E7, - 0x8AAA, 0x5DFB, 0x8AAB, 0x559A, 0x8AAC, 0x582A, 0x8AAD, 0x59E6, 0x8AAE, 0x5B8C, 0x8AAF, 0x5B98, 0x8AB0, 0x5BDB, 0x8AB1, 0x5E72, - 0x8AB2, 0x5E79, 0x8AB3, 0x60A3, 0x8AB4, 0x611F, 0x8AB5, 0x6163, 0x8AB6, 0x61BE, 0x8AB7, 0x63DB, 0x8AB8, 0x6562, 0x8AB9, 0x67D1, - 0x8ABA, 0x6853, 0x8ABB, 0x68FA, 0x8ABC, 0x6B3E, 0x8ABD, 0x6B53, 0x8ABE, 0x6C57, 0x8ABF, 0x6F22, 0x8AC0, 0x6F97, 0x8AC1, 0x6F45, - 0x8AC2, 0x74B0, 0x8AC3, 0x7518, 0x8AC4, 0x76E3, 0x8AC5, 0x770B, 0x8AC6, 0x7AFF, 0x8AC7, 0x7BA1, 0x8AC8, 0x7C21, 0x8AC9, 0x7DE9, - 0x8ACA, 0x7F36, 0x8ACB, 0x7FF0, 0x8ACC, 0x809D, 0x8ACD, 0x8266, 0x8ACE, 0x839E, 0x8ACF, 0x89B3, 0x8AD0, 0x8ACC, 0x8AD1, 0x8CAB, - 0x8AD2, 0x9084, 0x8AD3, 0x9451, 0x8AD4, 0x9593, 0x8AD5, 0x9591, 0x8AD6, 0x95A2, 0x8AD7, 0x9665, 0x8AD8, 0x97D3, 0x8AD9, 0x9928, - 0x8ADA, 0x8218, 0x8ADB, 0x4E38, 0x8ADC, 0x542B, 0x8ADD, 0x5CB8, 0x8ADE, 0x5DCC, 0x8ADF, 0x73A9, 0x8AE0, 0x764C, 0x8AE1, 0x773C, - 0x8AE2, 0x5CA9, 0x8AE3, 0x7FEB, 0x8AE4, 0x8D0B, 0x8AE5, 0x96C1, 0x8AE6, 0x9811, 0x8AE7, 0x9854, 0x8AE8, 0x9858, 0x8AE9, 0x4F01, - 0x8AEA, 0x4F0E, 0x8AEB, 0x5371, 0x8AEC, 0x559C, 0x8AED, 0x5668, 0x8AEE, 0x57FA, 0x8AEF, 0x5947, 0x8AF0, 0x5B09, 0x8AF1, 0x5BC4, - 0x8AF2, 0x5C90, 0x8AF3, 0x5E0C, 0x8AF4, 0x5E7E, 0x8AF5, 0x5FCC, 0x8AF6, 0x63EE, 0x8AF7, 0x673A, 0x8AF8, 0x65D7, 0x8AF9, 0x65E2, - 0x8AFA, 0x671F, 0x8AFB, 0x68CB, 0x8AFC, 0x68C4, 0x8B40, 0x6A5F, 0x8B41, 0x5E30, 0x8B42, 0x6BC5, 0x8B43, 0x6C17, 0x8B44, 0x6C7D, - 0x8B45, 0x757F, 0x8B46, 0x7948, 0x8B47, 0x5B63, 0x8B48, 0x7A00, 0x8B49, 0x7D00, 0x8B4A, 0x5FBD, 0x8B4B, 0x898F, 0x8B4C, 0x8A18, - 0x8B4D, 0x8CB4, 0x8B4E, 0x8D77, 0x8B4F, 0x8ECC, 0x8B50, 0x8F1D, 0x8B51, 0x98E2, 0x8B52, 0x9A0E, 0x8B53, 0x9B3C, 0x8B54, 0x4E80, - 0x8B55, 0x507D, 0x8B56, 0x5100, 0x8B57, 0x5993, 0x8B58, 0x5B9C, 0x8B59, 0x622F, 0x8B5A, 0x6280, 0x8B5B, 0x64EC, 0x8B5C, 0x6B3A, - 0x8B5D, 0x72A0, 0x8B5E, 0x7591, 0x8B5F, 0x7947, 0x8B60, 0x7FA9, 0x8B61, 0x87FB, 0x8B62, 0x8ABC, 0x8B63, 0x8B70, 0x8B64, 0x63AC, - 0x8B65, 0x83CA, 0x8B66, 0x97A0, 0x8B67, 0x5409, 0x8B68, 0x5403, 0x8B69, 0x55AB, 0x8B6A, 0x6854, 0x8B6B, 0x6A58, 0x8B6C, 0x8A70, - 0x8B6D, 0x7827, 0x8B6E, 0x6775, 0x8B6F, 0x9ECD, 0x8B70, 0x5374, 0x8B71, 0x5BA2, 0x8B72, 0x811A, 0x8B73, 0x8650, 0x8B74, 0x9006, - 0x8B75, 0x4E18, 0x8B76, 0x4E45, 0x8B77, 0x4EC7, 0x8B78, 0x4F11, 0x8B79, 0x53CA, 0x8B7A, 0x5438, 0x8B7B, 0x5BAE, 0x8B7C, 0x5F13, - 0x8B7D, 0x6025, 0x8B7E, 0x6551, 0x8B80, 0x673D, 0x8B81, 0x6C42, 0x8B82, 0x6C72, 0x8B83, 0x6CE3, 0x8B84, 0x7078, 0x8B85, 0x7403, - 0x8B86, 0x7A76, 0x8B87, 0x7AAE, 0x8B88, 0x7B08, 0x8B89, 0x7D1A, 0x8B8A, 0x7CFE, 0x8B8B, 0x7D66, 0x8B8C, 0x65E7, 0x8B8D, 0x725B, - 0x8B8E, 0x53BB, 0x8B8F, 0x5C45, 0x8B90, 0x5DE8, 0x8B91, 0x62D2, 0x8B92, 0x62E0, 0x8B93, 0x6319, 0x8B94, 0x6E20, 0x8B95, 0x865A, - 0x8B96, 0x8A31, 0x8B97, 0x8DDD, 0x8B98, 0x92F8, 0x8B99, 0x6F01, 0x8B9A, 0x79A6, 0x8B9B, 0x9B5A, 0x8B9C, 0x4EA8, 0x8B9D, 0x4EAB, - 0x8B9E, 0x4EAC, 0x8B9F, 0x4F9B, 0x8BA0, 0x4FA0, 0x8BA1, 0x50D1, 0x8BA2, 0x5147, 0x8BA3, 0x7AF6, 0x8BA4, 0x5171, 0x8BA5, 0x51F6, - 0x8BA6, 0x5354, 0x8BA7, 0x5321, 0x8BA8, 0x537F, 0x8BA9, 0x53EB, 0x8BAA, 0x55AC, 0x8BAB, 0x5883, 0x8BAC, 0x5CE1, 0x8BAD, 0x5F37, - 0x8BAE, 0x5F4A, 0x8BAF, 0x602F, 0x8BB0, 0x6050, 0x8BB1, 0x606D, 0x8BB2, 0x631F, 0x8BB3, 0x6559, 0x8BB4, 0x6A4B, 0x8BB5, 0x6CC1, - 0x8BB6, 0x72C2, 0x8BB7, 0x72ED, 0x8BB8, 0x77EF, 0x8BB9, 0x80F8, 0x8BBA, 0x8105, 0x8BBB, 0x8208, 0x8BBC, 0x854E, 0x8BBD, 0x90F7, - 0x8BBE, 0x93E1, 0x8BBF, 0x97FF, 0x8BC0, 0x9957, 0x8BC1, 0x9A5A, 0x8BC2, 0x4EF0, 0x8BC3, 0x51DD, 0x8BC4, 0x5C2D, 0x8BC5, 0x6681, - 0x8BC6, 0x696D, 0x8BC7, 0x5C40, 0x8BC8, 0x66F2, 0x8BC9, 0x6975, 0x8BCA, 0x7389, 0x8BCB, 0x6850, 0x8BCC, 0x7C81, 0x8BCD, 0x50C5, - 0x8BCE, 0x52E4, 0x8BCF, 0x5747, 0x8BD0, 0x5DFE, 0x8BD1, 0x9326, 0x8BD2, 0x65A4, 0x8BD3, 0x6B23, 0x8BD4, 0x6B3D, 0x8BD5, 0x7434, - 0x8BD6, 0x7981, 0x8BD7, 0x79BD, 0x8BD8, 0x7B4B, 0x8BD9, 0x7DCA, 0x8BDA, 0x82B9, 0x8BDB, 0x83CC, 0x8BDC, 0x887F, 0x8BDD, 0x895F, - 0x8BDE, 0x8B39, 0x8BDF, 0x8FD1, 0x8BE0, 0x91D1, 0x8BE1, 0x541F, 0x8BE2, 0x9280, 0x8BE3, 0x4E5D, 0x8BE4, 0x5036, 0x8BE5, 0x53E5, - 0x8BE6, 0x533A, 0x8BE7, 0x72D7, 0x8BE8, 0x7396, 0x8BE9, 0x77E9, 0x8BEA, 0x82E6, 0x8BEB, 0x8EAF, 0x8BEC, 0x99C6, 0x8BED, 0x99C8, - 0x8BEE, 0x99D2, 0x8BEF, 0x5177, 0x8BF0, 0x611A, 0x8BF1, 0x865E, 0x8BF2, 0x55B0, 0x8BF3, 0x7A7A, 0x8BF4, 0x5076, 0x8BF5, 0x5BD3, - 0x8BF6, 0x9047, 0x8BF7, 0x9685, 0x8BF8, 0x4E32, 0x8BF9, 0x6ADB, 0x8BFA, 0x91E7, 0x8BFB, 0x5C51, 0x8BFC, 0x5C48, 0x8C40, 0x6398, - 0x8C41, 0x7A9F, 0x8C42, 0x6C93, 0x8C43, 0x9774, 0x8C44, 0x8F61, 0x8C45, 0x7AAA, 0x8C46, 0x718A, 0x8C47, 0x9688, 0x8C48, 0x7C82, - 0x8C49, 0x6817, 0x8C4A, 0x7E70, 0x8C4B, 0x6851, 0x8C4C, 0x936C, 0x8C4D, 0x52F2, 0x8C4E, 0x541B, 0x8C4F, 0x85AB, 0x8C50, 0x8A13, - 0x8C51, 0x7FA4, 0x8C52, 0x8ECD, 0x8C53, 0x90E1, 0x8C54, 0x5366, 0x8C55, 0x8888, 0x8C56, 0x7941, 0x8C57, 0x4FC2, 0x8C58, 0x50BE, - 0x8C59, 0x5211, 0x8C5A, 0x5144, 0x8C5B, 0x5553, 0x8C5C, 0x572D, 0x8C5D, 0x73EA, 0x8C5E, 0x578B, 0x8C5F, 0x5951, 0x8C60, 0x5F62, - 0x8C61, 0x5F84, 0x8C62, 0x6075, 0x8C63, 0x6176, 0x8C64, 0x6167, 0x8C65, 0x61A9, 0x8C66, 0x63B2, 0x8C67, 0x643A, 0x8C68, 0x656C, - 0x8C69, 0x666F, 0x8C6A, 0x6842, 0x8C6B, 0x6E13, 0x8C6C, 0x7566, 0x8C6D, 0x7A3D, 0x8C6E, 0x7CFB, 0x8C6F, 0x7D4C, 0x8C70, 0x7D99, - 0x8C71, 0x7E4B, 0x8C72, 0x7F6B, 0x8C73, 0x830E, 0x8C74, 0x834A, 0x8C75, 0x86CD, 0x8C76, 0x8A08, 0x8C77, 0x8A63, 0x8C78, 0x8B66, - 0x8C79, 0x8EFD, 0x8C7A, 0x981A, 0x8C7B, 0x9D8F, 0x8C7C, 0x82B8, 0x8C7D, 0x8FCE, 0x8C7E, 0x9BE8, 0x8C80, 0x5287, 0x8C81, 0x621F, - 0x8C82, 0x6483, 0x8C83, 0x6FC0, 0x8C84, 0x9699, 0x8C85, 0x6841, 0x8C86, 0x5091, 0x8C87, 0x6B20, 0x8C88, 0x6C7A, 0x8C89, 0x6F54, - 0x8C8A, 0x7A74, 0x8C8B, 0x7D50, 0x8C8C, 0x8840, 0x8C8D, 0x8A23, 0x8C8E, 0x6708, 0x8C8F, 0x4EF6, 0x8C90, 0x5039, 0x8C91, 0x5026, - 0x8C92, 0x5065, 0x8C93, 0x517C, 0x8C94, 0x5238, 0x8C95, 0x5263, 0x8C96, 0x55A7, 0x8C97, 0x570F, 0x8C98, 0x5805, 0x8C99, 0x5ACC, - 0x8C9A, 0x5EFA, 0x8C9B, 0x61B2, 0x8C9C, 0x61F8, 0x8C9D, 0x62F3, 0x8C9E, 0x6372, 0x8C9F, 0x691C, 0x8CA0, 0x6A29, 0x8CA1, 0x727D, - 0x8CA2, 0x72AC, 0x8CA3, 0x732E, 0x8CA4, 0x7814, 0x8CA5, 0x786F, 0x8CA6, 0x7D79, 0x8CA7, 0x770C, 0x8CA8, 0x80A9, 0x8CA9, 0x898B, - 0x8CAA, 0x8B19, 0x8CAB, 0x8CE2, 0x8CAC, 0x8ED2, 0x8CAD, 0x9063, 0x8CAE, 0x9375, 0x8CAF, 0x967A, 0x8CB0, 0x9855, 0x8CB1, 0x9A13, - 0x8CB2, 0x9E78, 0x8CB3, 0x5143, 0x8CB4, 0x539F, 0x8CB5, 0x53B3, 0x8CB6, 0x5E7B, 0x8CB7, 0x5F26, 0x8CB8, 0x6E1B, 0x8CB9, 0x6E90, - 0x8CBA, 0x7384, 0x8CBB, 0x73FE, 0x8CBC, 0x7D43, 0x8CBD, 0x8237, 0x8CBE, 0x8A00, 0x8CBF, 0x8AFA, 0x8CC0, 0x9650, 0x8CC1, 0x4E4E, - 0x8CC2, 0x500B, 0x8CC3, 0x53E4, 0x8CC4, 0x547C, 0x8CC5, 0x56FA, 0x8CC6, 0x59D1, 0x8CC7, 0x5B64, 0x8CC8, 0x5DF1, 0x8CC9, 0x5EAB, - 0x8CCA, 0x5F27, 0x8CCB, 0x6238, 0x8CCC, 0x6545, 0x8CCD, 0x67AF, 0x8CCE, 0x6E56, 0x8CCF, 0x72D0, 0x8CD0, 0x7CCA, 0x8CD1, 0x88B4, - 0x8CD2, 0x80A1, 0x8CD3, 0x80E1, 0x8CD4, 0x83F0, 0x8CD5, 0x864E, 0x8CD6, 0x8A87, 0x8CD7, 0x8DE8, 0x8CD8, 0x9237, 0x8CD9, 0x96C7, - 0x8CDA, 0x9867, 0x8CDB, 0x9F13, 0x8CDC, 0x4E94, 0x8CDD, 0x4E92, 0x8CDE, 0x4F0D, 0x8CDF, 0x5348, 0x8CE0, 0x5449, 0x8CE1, 0x543E, - 0x8CE2, 0x5A2F, 0x8CE3, 0x5F8C, 0x8CE4, 0x5FA1, 0x8CE5, 0x609F, 0x8CE6, 0x68A7, 0x8CE7, 0x6A8E, 0x8CE8, 0x745A, 0x8CE9, 0x7881, - 0x8CEA, 0x8A9E, 0x8CEB, 0x8AA4, 0x8CEC, 0x8B77, 0x8CED, 0x9190, 0x8CEE, 0x4E5E, 0x8CEF, 0x9BC9, 0x8CF0, 0x4EA4, 0x8CF1, 0x4F7C, - 0x8CF2, 0x4FAF, 0x8CF3, 0x5019, 0x8CF4, 0x5016, 0x8CF5, 0x5149, 0x8CF6, 0x516C, 0x8CF7, 0x529F, 0x8CF8, 0x52B9, 0x8CF9, 0x52FE, - 0x8CFA, 0x539A, 0x8CFB, 0x53E3, 0x8CFC, 0x5411, 0x8D40, 0x540E, 0x8D41, 0x5589, 0x8D42, 0x5751, 0x8D43, 0x57A2, 0x8D44, 0x597D, - 0x8D45, 0x5B54, 0x8D46, 0x5B5D, 0x8D47, 0x5B8F, 0x8D48, 0x5DE5, 0x8D49, 0x5DE7, 0x8D4A, 0x5DF7, 0x8D4B, 0x5E78, 0x8D4C, 0x5E83, - 0x8D4D, 0x5E9A, 0x8D4E, 0x5EB7, 0x8D4F, 0x5F18, 0x8D50, 0x6052, 0x8D51, 0x614C, 0x8D52, 0x6297, 0x8D53, 0x62D8, 0x8D54, 0x63A7, - 0x8D55, 0x653B, 0x8D56, 0x6602, 0x8D57, 0x6643, 0x8D58, 0x66F4, 0x8D59, 0x676D, 0x8D5A, 0x6821, 0x8D5B, 0x6897, 0x8D5C, 0x69CB, - 0x8D5D, 0x6C5F, 0x8D5E, 0x6D2A, 0x8D5F, 0x6D69, 0x8D60, 0x6E2F, 0x8D61, 0x6E9D, 0x8D62, 0x7532, 0x8D63, 0x7687, 0x8D64, 0x786C, - 0x8D65, 0x7A3F, 0x8D66, 0x7CE0, 0x8D67, 0x7D05, 0x8D68, 0x7D18, 0x8D69, 0x7D5E, 0x8D6A, 0x7DB1, 0x8D6B, 0x8015, 0x8D6C, 0x8003, - 0x8D6D, 0x80AF, 0x8D6E, 0x80B1, 0x8D6F, 0x8154, 0x8D70, 0x818F, 0x8D71, 0x822A, 0x8D72, 0x8352, 0x8D73, 0x884C, 0x8D74, 0x8861, - 0x8D75, 0x8B1B, 0x8D76, 0x8CA2, 0x8D77, 0x8CFC, 0x8D78, 0x90CA, 0x8D79, 0x9175, 0x8D7A, 0x9271, 0x8D7B, 0x783F, 0x8D7C, 0x92FC, - 0x8D7D, 0x95A4, 0x8D7E, 0x964D, 0x8D80, 0x9805, 0x8D81, 0x9999, 0x8D82, 0x9AD8, 0x8D83, 0x9D3B, 0x8D84, 0x525B, 0x8D85, 0x52AB, - 0x8D86, 0x53F7, 0x8D87, 0x5408, 0x8D88, 0x58D5, 0x8D89, 0x62F7, 0x8D8A, 0x6FE0, 0x8D8B, 0x8C6A, 0x8D8C, 0x8F5F, 0x8D8D, 0x9EB9, - 0x8D8E, 0x514B, 0x8D8F, 0x523B, 0x8D90, 0x544A, 0x8D91, 0x56FD, 0x8D92, 0x7A40, 0x8D93, 0x9177, 0x8D94, 0x9D60, 0x8D95, 0x9ED2, - 0x8D96, 0x7344, 0x8D97, 0x6F09, 0x8D98, 0x8170, 0x8D99, 0x7511, 0x8D9A, 0x5FFD, 0x8D9B, 0x60DA, 0x8D9C, 0x9AA8, 0x8D9D, 0x72DB, - 0x8D9E, 0x8FBC, 0x8D9F, 0x6B64, 0x8DA0, 0x9803, 0x8DA1, 0x4ECA, 0x8DA2, 0x56F0, 0x8DA3, 0x5764, 0x8DA4, 0x58BE, 0x8DA5, 0x5A5A, - 0x8DA6, 0x6068, 0x8DA7, 0x61C7, 0x8DA8, 0x660F, 0x8DA9, 0x6606, 0x8DAA, 0x6839, 0x8DAB, 0x68B1, 0x8DAC, 0x6DF7, 0x8DAD, 0x75D5, - 0x8DAE, 0x7D3A, 0x8DAF, 0x826E, 0x8DB0, 0x9B42, 0x8DB1, 0x4E9B, 0x8DB2, 0x4F50, 0x8DB3, 0x53C9, 0x8DB4, 0x5506, 0x8DB5, 0x5D6F, - 0x8DB6, 0x5DE6, 0x8DB7, 0x5DEE, 0x8DB8, 0x67FB, 0x8DB9, 0x6C99, 0x8DBA, 0x7473, 0x8DBB, 0x7802, 0x8DBC, 0x8A50, 0x8DBD, 0x9396, - 0x8DBE, 0x88DF, 0x8DBF, 0x5750, 0x8DC0, 0x5EA7, 0x8DC1, 0x632B, 0x8DC2, 0x50B5, 0x8DC3, 0x50AC, 0x8DC4, 0x518D, 0x8DC5, 0x6700, - 0x8DC6, 0x54C9, 0x8DC7, 0x585E, 0x8DC8, 0x59BB, 0x8DC9, 0x5BB0, 0x8DCA, 0x5F69, 0x8DCB, 0x624D, 0x8DCC, 0x63A1, 0x8DCD, 0x683D, - 0x8DCE, 0x6B73, 0x8DCF, 0x6E08, 0x8DD0, 0x707D, 0x8DD1, 0x91C7, 0x8DD2, 0x7280, 0x8DD3, 0x7815, 0x8DD4, 0x7826, 0x8DD5, 0x796D, - 0x8DD6, 0x658E, 0x8DD7, 0x7D30, 0x8DD8, 0x83DC, 0x8DD9, 0x88C1, 0x8DDA, 0x8F09, 0x8DDB, 0x969B, 0x8DDC, 0x5264, 0x8DDD, 0x5728, - 0x8DDE, 0x6750, 0x8DDF, 0x7F6A, 0x8DE0, 0x8CA1, 0x8DE1, 0x51B4, 0x8DE2, 0x5742, 0x8DE3, 0x962A, 0x8DE4, 0x583A, 0x8DE5, 0x698A, - 0x8DE6, 0x80B4, 0x8DE7, 0x54B2, 0x8DE8, 0x5D0E, 0x8DE9, 0x57FC, 0x8DEA, 0x7895, 0x8DEB, 0x9DFA, 0x8DEC, 0x4F5C, 0x8DED, 0x524A, - 0x8DEE, 0x548B, 0x8DEF, 0x643E, 0x8DF0, 0x6628, 0x8DF1, 0x6714, 0x8DF2, 0x67F5, 0x8DF3, 0x7A84, 0x8DF4, 0x7B56, 0x8DF5, 0x7D22, - 0x8DF6, 0x932F, 0x8DF7, 0x685C, 0x8DF8, 0x9BAD, 0x8DF9, 0x7B39, 0x8DFA, 0x5319, 0x8DFB, 0x518A, 0x8DFC, 0x5237, 0x8E40, 0x5BDF, - 0x8E41, 0x62F6, 0x8E42, 0x64AE, 0x8E43, 0x64E6, 0x8E44, 0x672D, 0x8E45, 0x6BBA, 0x8E46, 0x85A9, 0x8E47, 0x96D1, 0x8E48, 0x7690, - 0x8E49, 0x9BD6, 0x8E4A, 0x634C, 0x8E4B, 0x9306, 0x8E4C, 0x9BAB, 0x8E4D, 0x76BF, 0x8E4E, 0x6652, 0x8E4F, 0x4E09, 0x8E50, 0x5098, - 0x8E51, 0x53C2, 0x8E52, 0x5C71, 0x8E53, 0x60E8, 0x8E54, 0x6492, 0x8E55, 0x6563, 0x8E56, 0x685F, 0x8E57, 0x71E6, 0x8E58, 0x73CA, - 0x8E59, 0x7523, 0x8E5A, 0x7B97, 0x8E5B, 0x7E82, 0x8E5C, 0x8695, 0x8E5D, 0x8B83, 0x8E5E, 0x8CDB, 0x8E5F, 0x9178, 0x8E60, 0x9910, - 0x8E61, 0x65AC, 0x8E62, 0x66AB, 0x8E63, 0x6B8B, 0x8E64, 0x4ED5, 0x8E65, 0x4ED4, 0x8E66, 0x4F3A, 0x8E67, 0x4F7F, 0x8E68, 0x523A, - 0x8E69, 0x53F8, 0x8E6A, 0x53F2, 0x8E6B, 0x55E3, 0x8E6C, 0x56DB, 0x8E6D, 0x58EB, 0x8E6E, 0x59CB, 0x8E6F, 0x59C9, 0x8E70, 0x59FF, - 0x8E71, 0x5B50, 0x8E72, 0x5C4D, 0x8E73, 0x5E02, 0x8E74, 0x5E2B, 0x8E75, 0x5FD7, 0x8E76, 0x601D, 0x8E77, 0x6307, 0x8E78, 0x652F, - 0x8E79, 0x5B5C, 0x8E7A, 0x65AF, 0x8E7B, 0x65BD, 0x8E7C, 0x65E8, 0x8E7D, 0x679D, 0x8E7E, 0x6B62, 0x8E80, 0x6B7B, 0x8E81, 0x6C0F, - 0x8E82, 0x7345, 0x8E83, 0x7949, 0x8E84, 0x79C1, 0x8E85, 0x7CF8, 0x8E86, 0x7D19, 0x8E87, 0x7D2B, 0x8E88, 0x80A2, 0x8E89, 0x8102, - 0x8E8A, 0x81F3, 0x8E8B, 0x8996, 0x8E8C, 0x8A5E, 0x8E8D, 0x8A69, 0x8E8E, 0x8A66, 0x8E8F, 0x8A8C, 0x8E90, 0x8AEE, 0x8E91, 0x8CC7, - 0x8E92, 0x8CDC, 0x8E93, 0x96CC, 0x8E94, 0x98FC, 0x8E95, 0x6B6F, 0x8E96, 0x4E8B, 0x8E97, 0x4F3C, 0x8E98, 0x4F8D, 0x8E99, 0x5150, - 0x8E9A, 0x5B57, 0x8E9B, 0x5BFA, 0x8E9C, 0x6148, 0x8E9D, 0x6301, 0x8E9E, 0x6642, 0x8E9F, 0x6B21, 0x8EA0, 0x6ECB, 0x8EA1, 0x6CBB, - 0x8EA2, 0x723E, 0x8EA3, 0x74BD, 0x8EA4, 0x75D4, 0x8EA5, 0x78C1, 0x8EA6, 0x793A, 0x8EA7, 0x800C, 0x8EA8, 0x8033, 0x8EA9, 0x81EA, - 0x8EAA, 0x8494, 0x8EAB, 0x8F9E, 0x8EAC, 0x6C50, 0x8EAD, 0x9E7F, 0x8EAE, 0x5F0F, 0x8EAF, 0x8B58, 0x8EB0, 0x9D2B, 0x8EB1, 0x7AFA, - 0x8EB2, 0x8EF8, 0x8EB3, 0x5B8D, 0x8EB4, 0x96EB, 0x8EB5, 0x4E03, 0x8EB6, 0x53F1, 0x8EB7, 0x57F7, 0x8EB8, 0x5931, 0x8EB9, 0x5AC9, - 0x8EBA, 0x5BA4, 0x8EBB, 0x6089, 0x8EBC, 0x6E7F, 0x8EBD, 0x6F06, 0x8EBE, 0x75BE, 0x8EBF, 0x8CEA, 0x8EC0, 0x5B9F, 0x8EC1, 0x8500, - 0x8EC2, 0x7BE0, 0x8EC3, 0x5072, 0x8EC4, 0x67F4, 0x8EC5, 0x829D, 0x8EC6, 0x5C61, 0x8EC7, 0x854A, 0x8EC8, 0x7E1E, 0x8EC9, 0x820E, - 0x8ECA, 0x5199, 0x8ECB, 0x5C04, 0x8ECC, 0x6368, 0x8ECD, 0x8D66, 0x8ECE, 0x659C, 0x8ECF, 0x716E, 0x8ED0, 0x793E, 0x8ED1, 0x7D17, - 0x8ED2, 0x8005, 0x8ED3, 0x8B1D, 0x8ED4, 0x8ECA, 0x8ED5, 0x906E, 0x8ED6, 0x86C7, 0x8ED7, 0x90AA, 0x8ED8, 0x501F, 0x8ED9, 0x52FA, - 0x8EDA, 0x5C3A, 0x8EDB, 0x6753, 0x8EDC, 0x707C, 0x8EDD, 0x7235, 0x8EDE, 0x914C, 0x8EDF, 0x91C8, 0x8EE0, 0x932B, 0x8EE1, 0x82E5, - 0x8EE2, 0x5BC2, 0x8EE3, 0x5F31, 0x8EE4, 0x60F9, 0x8EE5, 0x4E3B, 0x8EE6, 0x53D6, 0x8EE7, 0x5B88, 0x8EE8, 0x624B, 0x8EE9, 0x6731, - 0x8EEA, 0x6B8A, 0x8EEB, 0x72E9, 0x8EEC, 0x73E0, 0x8EED, 0x7A2E, 0x8EEE, 0x816B, 0x8EEF, 0x8DA3, 0x8EF0, 0x9152, 0x8EF1, 0x9996, - 0x8EF2, 0x5112, 0x8EF3, 0x53D7, 0x8EF4, 0x546A, 0x8EF5, 0x5BFF, 0x8EF6, 0x6388, 0x8EF7, 0x6A39, 0x8EF8, 0x7DAC, 0x8EF9, 0x9700, - 0x8EFA, 0x56DA, 0x8EFB, 0x53CE, 0x8EFC, 0x5468, 0x8F40, 0x5B97, 0x8F41, 0x5C31, 0x8F42, 0x5DDE, 0x8F43, 0x4FEE, 0x8F44, 0x6101, - 0x8F45, 0x62FE, 0x8F46, 0x6D32, 0x8F47, 0x79C0, 0x8F48, 0x79CB, 0x8F49, 0x7D42, 0x8F4A, 0x7E4D, 0x8F4B, 0x7FD2, 0x8F4C, 0x81ED, - 0x8F4D, 0x821F, 0x8F4E, 0x8490, 0x8F4F, 0x8846, 0x8F50, 0x8972, 0x8F51, 0x8B90, 0x8F52, 0x8E74, 0x8F53, 0x8F2F, 0x8F54, 0x9031, - 0x8F55, 0x914B, 0x8F56, 0x916C, 0x8F57, 0x96C6, 0x8F58, 0x919C, 0x8F59, 0x4EC0, 0x8F5A, 0x4F4F, 0x8F5B, 0x5145, 0x8F5C, 0x5341, - 0x8F5D, 0x5F93, 0x8F5E, 0x620E, 0x8F5F, 0x67D4, 0x8F60, 0x6C41, 0x8F61, 0x6E0B, 0x8F62, 0x7363, 0x8F63, 0x7E26, 0x8F64, 0x91CD, - 0x8F65, 0x9283, 0x8F66, 0x53D4, 0x8F67, 0x5919, 0x8F68, 0x5BBF, 0x8F69, 0x6DD1, 0x8F6A, 0x795D, 0x8F6B, 0x7E2E, 0x8F6C, 0x7C9B, - 0x8F6D, 0x587E, 0x8F6E, 0x719F, 0x8F6F, 0x51FA, 0x8F70, 0x8853, 0x8F71, 0x8FF0, 0x8F72, 0x4FCA, 0x8F73, 0x5CFB, 0x8F74, 0x6625, - 0x8F75, 0x77AC, 0x8F76, 0x7AE3, 0x8F77, 0x821C, 0x8F78, 0x99FF, 0x8F79, 0x51C6, 0x8F7A, 0x5FAA, 0x8F7B, 0x65EC, 0x8F7C, 0x696F, - 0x8F7D, 0x6B89, 0x8F7E, 0x6DF3, 0x8F80, 0x6E96, 0x8F81, 0x6F64, 0x8F82, 0x76FE, 0x8F83, 0x7D14, 0x8F84, 0x5DE1, 0x8F85, 0x9075, - 0x8F86, 0x9187, 0x8F87, 0x9806, 0x8F88, 0x51E6, 0x8F89, 0x521D, 0x8F8A, 0x6240, 0x8F8B, 0x6691, 0x8F8C, 0x66D9, 0x8F8D, 0x6E1A, - 0x8F8E, 0x5EB6, 0x8F8F, 0x7DD2, 0x8F90, 0x7F72, 0x8F91, 0x66F8, 0x8F92, 0x85AF, 0x8F93, 0x85F7, 0x8F94, 0x8AF8, 0x8F95, 0x52A9, - 0x8F96, 0x53D9, 0x8F97, 0x5973, 0x8F98, 0x5E8F, 0x8F99, 0x5F90, 0x8F9A, 0x6055, 0x8F9B, 0x92E4, 0x8F9C, 0x9664, 0x8F9D, 0x50B7, - 0x8F9E, 0x511F, 0x8F9F, 0x52DD, 0x8FA0, 0x5320, 0x8FA1, 0x5347, 0x8FA2, 0x53EC, 0x8FA3, 0x54E8, 0x8FA4, 0x5546, 0x8FA5, 0x5531, - 0x8FA6, 0x5617, 0x8FA7, 0x5968, 0x8FA8, 0x59BE, 0x8FA9, 0x5A3C, 0x8FAA, 0x5BB5, 0x8FAB, 0x5C06, 0x8FAC, 0x5C0F, 0x8FAD, 0x5C11, - 0x8FAE, 0x5C1A, 0x8FAF, 0x5E84, 0x8FB0, 0x5E8A, 0x8FB1, 0x5EE0, 0x8FB2, 0x5F70, 0x8FB3, 0x627F, 0x8FB4, 0x6284, 0x8FB5, 0x62DB, - 0x8FB6, 0x638C, 0x8FB7, 0x6377, 0x8FB8, 0x6607, 0x8FB9, 0x660C, 0x8FBA, 0x662D, 0x8FBB, 0x6676, 0x8FBC, 0x677E, 0x8FBD, 0x68A2, - 0x8FBE, 0x6A1F, 0x8FBF, 0x6A35, 0x8FC0, 0x6CBC, 0x8FC1, 0x6D88, 0x8FC2, 0x6E09, 0x8FC3, 0x6E58, 0x8FC4, 0x713C, 0x8FC5, 0x7126, - 0x8FC6, 0x7167, 0x8FC7, 0x75C7, 0x8FC8, 0x7701, 0x8FC9, 0x785D, 0x8FCA, 0x7901, 0x8FCB, 0x7965, 0x8FCC, 0x79F0, 0x8FCD, 0x7AE0, - 0x8FCE, 0x7B11, 0x8FCF, 0x7CA7, 0x8FD0, 0x7D39, 0x8FD1, 0x8096, 0x8FD2, 0x83D6, 0x8FD3, 0x848B, 0x8FD4, 0x8549, 0x8FD5, 0x885D, - 0x8FD6, 0x88F3, 0x8FD7, 0x8A1F, 0x8FD8, 0x8A3C, 0x8FD9, 0x8A54, 0x8FDA, 0x8A73, 0x8FDB, 0x8C61, 0x8FDC, 0x8CDE, 0x8FDD, 0x91A4, - 0x8FDE, 0x9266, 0x8FDF, 0x937E, 0x8FE0, 0x9418, 0x8FE1, 0x969C, 0x8FE2, 0x9798, 0x8FE3, 0x4E0A, 0x8FE4, 0x4E08, 0x8FE5, 0x4E1E, - 0x8FE6, 0x4E57, 0x8FE7, 0x5197, 0x8FE8, 0x5270, 0x8FE9, 0x57CE, 0x8FEA, 0x5834, 0x8FEB, 0x58CC, 0x8FEC, 0x5B22, 0x8FED, 0x5E38, - 0x8FEE, 0x60C5, 0x8FEF, 0x64FE, 0x8FF0, 0x6761, 0x8FF1, 0x6756, 0x8FF2, 0x6D44, 0x8FF3, 0x72B6, 0x8FF4, 0x7573, 0x8FF5, 0x7A63, - 0x8FF6, 0x84B8, 0x8FF7, 0x8B72, 0x8FF8, 0x91B8, 0x8FF9, 0x9320, 0x8FFA, 0x5631, 0x8FFB, 0x57F4, 0x8FFC, 0x98FE, 0x9040, 0x62ED, - 0x9041, 0x690D, 0x9042, 0x6B96, 0x9043, 0x71ED, 0x9044, 0x7E54, 0x9045, 0x8077, 0x9046, 0x8272, 0x9047, 0x89E6, 0x9048, 0x98DF, - 0x9049, 0x8755, 0x904A, 0x8FB1, 0x904B, 0x5C3B, 0x904C, 0x4F38, 0x904D, 0x4FE1, 0x904E, 0x4FB5, 0x904F, 0x5507, 0x9050, 0x5A20, - 0x9051, 0x5BDD, 0x9052, 0x5BE9, 0x9053, 0x5FC3, 0x9054, 0x614E, 0x9055, 0x632F, 0x9056, 0x65B0, 0x9057, 0x664B, 0x9058, 0x68EE, - 0x9059, 0x699B, 0x905A, 0x6D78, 0x905B, 0x6DF1, 0x905C, 0x7533, 0x905D, 0x75B9, 0x905E, 0x771F, 0x905F, 0x795E, 0x9060, 0x79E6, - 0x9061, 0x7D33, 0x9062, 0x81E3, 0x9063, 0x82AF, 0x9064, 0x85AA, 0x9065, 0x89AA, 0x9066, 0x8A3A, 0x9067, 0x8EAB, 0x9068, 0x8F9B, - 0x9069, 0x9032, 0x906A, 0x91DD, 0x906B, 0x9707, 0x906C, 0x4EBA, 0x906D, 0x4EC1, 0x906E, 0x5203, 0x906F, 0x5875, 0x9070, 0x58EC, - 0x9071, 0x5C0B, 0x9072, 0x751A, 0x9073, 0x5C3D, 0x9074, 0x814E, 0x9075, 0x8A0A, 0x9076, 0x8FC5, 0x9077, 0x9663, 0x9078, 0x976D, - 0x9079, 0x7B25, 0x907A, 0x8ACF, 0x907B, 0x9808, 0x907C, 0x9162, 0x907D, 0x56F3, 0x907E, 0x53A8, 0x9080, 0x9017, 0x9081, 0x5439, - 0x9082, 0x5782, 0x9083, 0x5E25, 0x9084, 0x63A8, 0x9085, 0x6C34, 0x9086, 0x708A, 0x9087, 0x7761, 0x9088, 0x7C8B, 0x9089, 0x7FE0, - 0x908A, 0x8870, 0x908B, 0x9042, 0x908C, 0x9154, 0x908D, 0x9310, 0x908E, 0x9318, 0x908F, 0x968F, 0x9090, 0x745E, 0x9091, 0x9AC4, - 0x9092, 0x5D07, 0x9093, 0x5D69, 0x9094, 0x6570, 0x9095, 0x67A2, 0x9096, 0x8DA8, 0x9097, 0x96DB, 0x9098, 0x636E, 0x9099, 0x6749, - 0x909A, 0x6919, 0x909B, 0x83C5, 0x909C, 0x9817, 0x909D, 0x96C0, 0x909E, 0x88FE, 0x909F, 0x6F84, 0x90A0, 0x647A, 0x90A1, 0x5BF8, - 0x90A2, 0x4E16, 0x90A3, 0x702C, 0x90A4, 0x755D, 0x90A5, 0x662F, 0x90A6, 0x51C4, 0x90A7, 0x5236, 0x90A8, 0x52E2, 0x90A9, 0x59D3, - 0x90AA, 0x5F81, 0x90AB, 0x6027, 0x90AC, 0x6210, 0x90AD, 0x653F, 0x90AE, 0x6574, 0x90AF, 0x661F, 0x90B0, 0x6674, 0x90B1, 0x68F2, - 0x90B2, 0x6816, 0x90B3, 0x6B63, 0x90B4, 0x6E05, 0x90B5, 0x7272, 0x90B6, 0x751F, 0x90B7, 0x76DB, 0x90B8, 0x7CBE, 0x90B9, 0x8056, - 0x90BA, 0x58F0, 0x90BB, 0x88FD, 0x90BC, 0x897F, 0x90BD, 0x8AA0, 0x90BE, 0x8A93, 0x90BF, 0x8ACB, 0x90C0, 0x901D, 0x90C1, 0x9192, - 0x90C2, 0x9752, 0x90C3, 0x9759, 0x90C4, 0x6589, 0x90C5, 0x7A0E, 0x90C6, 0x8106, 0x90C7, 0x96BB, 0x90C8, 0x5E2D, 0x90C9, 0x60DC, - 0x90CA, 0x621A, 0x90CB, 0x65A5, 0x90CC, 0x6614, 0x90CD, 0x6790, 0x90CE, 0x77F3, 0x90CF, 0x7A4D, 0x90D0, 0x7C4D, 0x90D1, 0x7E3E, - 0x90D2, 0x810A, 0x90D3, 0x8CAC, 0x90D4, 0x8D64, 0x90D5, 0x8DE1, 0x90D6, 0x8E5F, 0x90D7, 0x78A9, 0x90D8, 0x5207, 0x90D9, 0x62D9, - 0x90DA, 0x63A5, 0x90DB, 0x6442, 0x90DC, 0x6298, 0x90DD, 0x8A2D, 0x90DE, 0x7A83, 0x90DF, 0x7BC0, 0x90E0, 0x8AAC, 0x90E1, 0x96EA, - 0x90E2, 0x7D76, 0x90E3, 0x820C, 0x90E4, 0x8749, 0x90E5, 0x4ED9, 0x90E6, 0x5148, 0x90E7, 0x5343, 0x90E8, 0x5360, 0x90E9, 0x5BA3, - 0x90EA, 0x5C02, 0x90EB, 0x5C16, 0x90EC, 0x5DDD, 0x90ED, 0x6226, 0x90EE, 0x6247, 0x90EF, 0x64B0, 0x90F0, 0x6813, 0x90F1, 0x6834, - 0x90F2, 0x6CC9, 0x90F3, 0x6D45, 0x90F4, 0x6D17, 0x90F5, 0x67D3, 0x90F6, 0x6F5C, 0x90F7, 0x714E, 0x90F8, 0x717D, 0x90F9, 0x65CB, - 0x90FA, 0x7A7F, 0x90FB, 0x7BAD, 0x90FC, 0x7DDA, 0x9140, 0x7E4A, 0x9141, 0x7FA8, 0x9142, 0x817A, 0x9143, 0x821B, 0x9144, 0x8239, - 0x9145, 0x85A6, 0x9146, 0x8A6E, 0x9147, 0x8CCE, 0x9148, 0x8DF5, 0x9149, 0x9078, 0x914A, 0x9077, 0x914B, 0x92AD, 0x914C, 0x9291, - 0x914D, 0x9583, 0x914E, 0x9BAE, 0x914F, 0x524D, 0x9150, 0x5584, 0x9151, 0x6F38, 0x9152, 0x7136, 0x9153, 0x5168, 0x9154, 0x7985, - 0x9155, 0x7E55, 0x9156, 0x81B3, 0x9157, 0x7CCE, 0x9158, 0x564C, 0x9159, 0x5851, 0x915A, 0x5CA8, 0x915B, 0x63AA, 0x915C, 0x66FE, - 0x915D, 0x66FD, 0x915E, 0x695A, 0x915F, 0x72D9, 0x9160, 0x758F, 0x9161, 0x758E, 0x9162, 0x790E, 0x9163, 0x7956, 0x9164, 0x79DF, - 0x9165, 0x7C97, 0x9166, 0x7D20, 0x9167, 0x7D44, 0x9168, 0x8607, 0x9169, 0x8A34, 0x916A, 0x963B, 0x916B, 0x9061, 0x916C, 0x9F20, - 0x916D, 0x50E7, 0x916E, 0x5275, 0x916F, 0x53CC, 0x9170, 0x53E2, 0x9171, 0x5009, 0x9172, 0x55AA, 0x9173, 0x58EE, 0x9174, 0x594F, - 0x9175, 0x723D, 0x9176, 0x5B8B, 0x9177, 0x5C64, 0x9178, 0x531D, 0x9179, 0x60E3, 0x917A, 0x60F3, 0x917B, 0x635C, 0x917C, 0x6383, - 0x917D, 0x633F, 0x917E, 0x63BB, 0x9180, 0x64CD, 0x9181, 0x65E9, 0x9182, 0x66F9, 0x9183, 0x5DE3, 0x9184, 0x69CD, 0x9185, 0x69FD, - 0x9186, 0x6F15, 0x9187, 0x71E5, 0x9188, 0x4E89, 0x9189, 0x75E9, 0x918A, 0x76F8, 0x918B, 0x7A93, 0x918C, 0x7CDF, 0x918D, 0x7DCF, - 0x918E, 0x7D9C, 0x918F, 0x8061, 0x9190, 0x8349, 0x9191, 0x8358, 0x9192, 0x846C, 0x9193, 0x84BC, 0x9194, 0x85FB, 0x9195, 0x88C5, - 0x9196, 0x8D70, 0x9197, 0x9001, 0x9198, 0x906D, 0x9199, 0x9397, 0x919A, 0x971C, 0x919B, 0x9A12, 0x919C, 0x50CF, 0x919D, 0x5897, - 0x919E, 0x618E, 0x919F, 0x81D3, 0x91A0, 0x8535, 0x91A1, 0x8D08, 0x91A2, 0x9020, 0x91A3, 0x4FC3, 0x91A4, 0x5074, 0x91A5, 0x5247, - 0x91A6, 0x5373, 0x91A7, 0x606F, 0x91A8, 0x6349, 0x91A9, 0x675F, 0x91AA, 0x6E2C, 0x91AB, 0x8DB3, 0x91AC, 0x901F, 0x91AD, 0x4FD7, - 0x91AE, 0x5C5E, 0x91AF, 0x8CCA, 0x91B0, 0x65CF, 0x91B1, 0x7D9A, 0x91B2, 0x5352, 0x91B3, 0x8896, 0x91B4, 0x5176, 0x91B5, 0x63C3, - 0x91B6, 0x5B58, 0x91B7, 0x5B6B, 0x91B8, 0x5C0A, 0x91B9, 0x640D, 0x91BA, 0x6751, 0x91BB, 0x905C, 0x91BC, 0x4ED6, 0x91BD, 0x591A, - 0x91BE, 0x592A, 0x91BF, 0x6C70, 0x91C0, 0x8A51, 0x91C1, 0x553E, 0x91C2, 0x5815, 0x91C3, 0x59A5, 0x91C4, 0x60F0, 0x91C5, 0x6253, - 0x91C6, 0x67C1, 0x91C7, 0x8235, 0x91C8, 0x6955, 0x91C9, 0x9640, 0x91CA, 0x99C4, 0x91CB, 0x9A28, 0x91CC, 0x4F53, 0x91CD, 0x5806, - 0x91CE, 0x5BFE, 0x91CF, 0x8010, 0x91D0, 0x5CB1, 0x91D1, 0x5E2F, 0x91D2, 0x5F85, 0x91D3, 0x6020, 0x91D4, 0x614B, 0x91D5, 0x6234, - 0x91D6, 0x66FF, 0x91D7, 0x6CF0, 0x91D8, 0x6EDE, 0x91D9, 0x80CE, 0x91DA, 0x817F, 0x91DB, 0x82D4, 0x91DC, 0x888B, 0x91DD, 0x8CB8, - 0x91DE, 0x9000, 0x91DF, 0x902E, 0x91E0, 0x968A, 0x91E1, 0x9EDB, 0x91E2, 0x9BDB, 0x91E3, 0x4EE3, 0x91E4, 0x53F0, 0x91E5, 0x5927, - 0x91E6, 0x7B2C, 0x91E7, 0x918D, 0x91E8, 0x984C, 0x91E9, 0x9DF9, 0x91EA, 0x6EDD, 0x91EB, 0x7027, 0x91EC, 0x5353, 0x91ED, 0x5544, - 0x91EE, 0x5B85, 0x91EF, 0x6258, 0x91F0, 0x629E, 0x91F1, 0x62D3, 0x91F2, 0x6CA2, 0x91F3, 0x6FEF, 0x91F4, 0x7422, 0x91F5, 0x8A17, - 0x91F6, 0x9438, 0x91F7, 0x6FC1, 0x91F8, 0x8AFE, 0x91F9, 0x8338, 0x91FA, 0x51E7, 0x91FB, 0x86F8, 0x91FC, 0x53EA, 0x9240, 0x53E9, - 0x9241, 0x4F46, 0x9242, 0x9054, 0x9243, 0x8FB0, 0x9244, 0x596A, 0x9245, 0x8131, 0x9246, 0x5DFD, 0x9247, 0x7AEA, 0x9248, 0x8FBF, - 0x9249, 0x68DA, 0x924A, 0x8C37, 0x924B, 0x72F8, 0x924C, 0x9C48, 0x924D, 0x6A3D, 0x924E, 0x8AB0, 0x924F, 0x4E39, 0x9250, 0x5358, - 0x9251, 0x5606, 0x9252, 0x5766, 0x9253, 0x62C5, 0x9254, 0x63A2, 0x9255, 0x65E6, 0x9256, 0x6B4E, 0x9257, 0x6DE1, 0x9258, 0x6E5B, - 0x9259, 0x70AD, 0x925A, 0x77ED, 0x925B, 0x7AEF, 0x925C, 0x7BAA, 0x925D, 0x7DBB, 0x925E, 0x803D, 0x925F, 0x80C6, 0x9260, 0x86CB, - 0x9261, 0x8A95, 0x9262, 0x935B, 0x9263, 0x56E3, 0x9264, 0x58C7, 0x9265, 0x5F3E, 0x9266, 0x65AD, 0x9267, 0x6696, 0x9268, 0x6A80, - 0x9269, 0x6BB5, 0x926A, 0x7537, 0x926B, 0x8AC7, 0x926C, 0x5024, 0x926D, 0x77E5, 0x926E, 0x5730, 0x926F, 0x5F1B, 0x9270, 0x6065, - 0x9271, 0x667A, 0x9272, 0x6C60, 0x9273, 0x75F4, 0x9274, 0x7A1A, 0x9275, 0x7F6E, 0x9276, 0x81F4, 0x9277, 0x8718, 0x9278, 0x9045, - 0x9279, 0x99B3, 0x927A, 0x7BC9, 0x927B, 0x755C, 0x927C, 0x7AF9, 0x927D, 0x7B51, 0x927E, 0x84C4, 0x9280, 0x9010, 0x9281, 0x79E9, - 0x9282, 0x7A92, 0x9283, 0x8336, 0x9284, 0x5AE1, 0x9285, 0x7740, 0x9286, 0x4E2D, 0x9287, 0x4EF2, 0x9288, 0x5B99, 0x9289, 0x5FE0, - 0x928A, 0x62BD, 0x928B, 0x663C, 0x928C, 0x67F1, 0x928D, 0x6CE8, 0x928E, 0x866B, 0x928F, 0x8877, 0x9290, 0x8A3B, 0x9291, 0x914E, - 0x9292, 0x92F3, 0x9293, 0x99D0, 0x9294, 0x6A17, 0x9295, 0x7026, 0x9296, 0x732A, 0x9297, 0x82E7, 0x9298, 0x8457, 0x9299, 0x8CAF, - 0x929A, 0x4E01, 0x929B, 0x5146, 0x929C, 0x51CB, 0x929D, 0x558B, 0x929E, 0x5BF5, 0x929F, 0x5E16, 0x92A0, 0x5E33, 0x92A1, 0x5E81, - 0x92A2, 0x5F14, 0x92A3, 0x5F35, 0x92A4, 0x5F6B, 0x92A5, 0x5FB4, 0x92A6, 0x61F2, 0x92A7, 0x6311, 0x92A8, 0x66A2, 0x92A9, 0x671D, - 0x92AA, 0x6F6E, 0x92AB, 0x7252, 0x92AC, 0x753A, 0x92AD, 0x773A, 0x92AE, 0x8074, 0x92AF, 0x8139, 0x92B0, 0x8178, 0x92B1, 0x8776, - 0x92B2, 0x8ABF, 0x92B3, 0x8ADC, 0x92B4, 0x8D85, 0x92B5, 0x8DF3, 0x92B6, 0x929A, 0x92B7, 0x9577, 0x92B8, 0x9802, 0x92B9, 0x9CE5, - 0x92BA, 0x52C5, 0x92BB, 0x6357, 0x92BC, 0x76F4, 0x92BD, 0x6715, 0x92BE, 0x6C88, 0x92BF, 0x73CD, 0x92C0, 0x8CC3, 0x92C1, 0x93AE, - 0x92C2, 0x9673, 0x92C3, 0x6D25, 0x92C4, 0x589C, 0x92C5, 0x690E, 0x92C6, 0x69CC, 0x92C7, 0x8FFD, 0x92C8, 0x939A, 0x92C9, 0x75DB, - 0x92CA, 0x901A, 0x92CB, 0x585A, 0x92CC, 0x6802, 0x92CD, 0x63B4, 0x92CE, 0x69FB, 0x92CF, 0x4F43, 0x92D0, 0x6F2C, 0x92D1, 0x67D8, - 0x92D2, 0x8FBB, 0x92D3, 0x8526, 0x92D4, 0x7DB4, 0x92D5, 0x9354, 0x92D6, 0x693F, 0x92D7, 0x6F70, 0x92D8, 0x576A, 0x92D9, 0x58F7, - 0x92DA, 0x5B2C, 0x92DB, 0x7D2C, 0x92DC, 0x722A, 0x92DD, 0x540A, 0x92DE, 0x91E3, 0x92DF, 0x9DB4, 0x92E0, 0x4EAD, 0x92E1, 0x4F4E, - 0x92E2, 0x505C, 0x92E3, 0x5075, 0x92E4, 0x5243, 0x92E5, 0x8C9E, 0x92E6, 0x5448, 0x92E7, 0x5824, 0x92E8, 0x5B9A, 0x92E9, 0x5E1D, - 0x92EA, 0x5E95, 0x92EB, 0x5EAD, 0x92EC, 0x5EF7, 0x92ED, 0x5F1F, 0x92EE, 0x608C, 0x92EF, 0x62B5, 0x92F0, 0x633A, 0x92F1, 0x63D0, - 0x92F2, 0x68AF, 0x92F3, 0x6C40, 0x92F4, 0x7887, 0x92F5, 0x798E, 0x92F6, 0x7A0B, 0x92F7, 0x7DE0, 0x92F8, 0x8247, 0x92F9, 0x8A02, - 0x92FA, 0x8AE6, 0x92FB, 0x8E44, 0x92FC, 0x9013, 0x9340, 0x90B8, 0x9341, 0x912D, 0x9342, 0x91D8, 0x9343, 0x9F0E, 0x9344, 0x6CE5, - 0x9345, 0x6458, 0x9346, 0x64E2, 0x9347, 0x6575, 0x9348, 0x6EF4, 0x9349, 0x7684, 0x934A, 0x7B1B, 0x934B, 0x9069, 0x934C, 0x93D1, - 0x934D, 0x6EBA, 0x934E, 0x54F2, 0x934F, 0x5FB9, 0x9350, 0x64A4, 0x9351, 0x8F4D, 0x9352, 0x8FED, 0x9353, 0x9244, 0x9354, 0x5178, - 0x9355, 0x586B, 0x9356, 0x5929, 0x9357, 0x5C55, 0x9358, 0x5E97, 0x9359, 0x6DFB, 0x935A, 0x7E8F, 0x935B, 0x751C, 0x935C, 0x8CBC, - 0x935D, 0x8EE2, 0x935E, 0x985B, 0x935F, 0x70B9, 0x9360, 0x4F1D, 0x9361, 0x6BBF, 0x9362, 0x6FB1, 0x9363, 0x7530, 0x9364, 0x96FB, - 0x9365, 0x514E, 0x9366, 0x5410, 0x9367, 0x5835, 0x9368, 0x5857, 0x9369, 0x59AC, 0x936A, 0x5C60, 0x936B, 0x5F92, 0x936C, 0x6597, - 0x936D, 0x675C, 0x936E, 0x6E21, 0x936F, 0x767B, 0x9370, 0x83DF, 0x9371, 0x8CED, 0x9372, 0x9014, 0x9373, 0x90FD, 0x9374, 0x934D, - 0x9375, 0x7825, 0x9376, 0x783A, 0x9377, 0x52AA, 0x9378, 0x5EA6, 0x9379, 0x571F, 0x937A, 0x5974, 0x937B, 0x6012, 0x937C, 0x5012, - 0x937D, 0x515A, 0x937E, 0x51AC, 0x9380, 0x51CD, 0x9381, 0x5200, 0x9382, 0x5510, 0x9383, 0x5854, 0x9384, 0x5858, 0x9385, 0x5957, - 0x9386, 0x5B95, 0x9387, 0x5CF6, 0x9388, 0x5D8B, 0x9389, 0x60BC, 0x938A, 0x6295, 0x938B, 0x642D, 0x938C, 0x6771, 0x938D, 0x6843, - 0x938E, 0x68BC, 0x938F, 0x68DF, 0x9390, 0x76D7, 0x9391, 0x6DD8, 0x9392, 0x6E6F, 0x9393, 0x6D9B, 0x9394, 0x706F, 0x9395, 0x71C8, - 0x9396, 0x5F53, 0x9397, 0x75D8, 0x9398, 0x7977, 0x9399, 0x7B49, 0x939A, 0x7B54, 0x939B, 0x7B52, 0x939C, 0x7CD6, 0x939D, 0x7D71, - 0x939E, 0x5230, 0x939F, 0x8463, 0x93A0, 0x8569, 0x93A1, 0x85E4, 0x93A2, 0x8A0E, 0x93A3, 0x8B04, 0x93A4, 0x8C46, 0x93A5, 0x8E0F, - 0x93A6, 0x9003, 0x93A7, 0x900F, 0x93A8, 0x9419, 0x93A9, 0x9676, 0x93AA, 0x982D, 0x93AB, 0x9A30, 0x93AC, 0x95D8, 0x93AD, 0x50CD, - 0x93AE, 0x52D5, 0x93AF, 0x540C, 0x93B0, 0x5802, 0x93B1, 0x5C0E, 0x93B2, 0x61A7, 0x93B3, 0x649E, 0x93B4, 0x6D1E, 0x93B5, 0x77B3, - 0x93B6, 0x7AE5, 0x93B7, 0x80F4, 0x93B8, 0x8404, 0x93B9, 0x9053, 0x93BA, 0x9285, 0x93BB, 0x5CE0, 0x93BC, 0x9D07, 0x93BD, 0x533F, - 0x93BE, 0x5F97, 0x93BF, 0x5FB3, 0x93C0, 0x6D9C, 0x93C1, 0x7279, 0x93C2, 0x7763, 0x93C3, 0x79BF, 0x93C4, 0x7BE4, 0x93C5, 0x6BD2, - 0x93C6, 0x72EC, 0x93C7, 0x8AAD, 0x93C8, 0x6803, 0x93C9, 0x6A61, 0x93CA, 0x51F8, 0x93CB, 0x7A81, 0x93CC, 0x6934, 0x93CD, 0x5C4A, - 0x93CE, 0x9CF6, 0x93CF, 0x82EB, 0x93D0, 0x5BC5, 0x93D1, 0x9149, 0x93D2, 0x701E, 0x93D3, 0x5678, 0x93D4, 0x5C6F, 0x93D5, 0x60C7, - 0x93D6, 0x6566, 0x93D7, 0x6C8C, 0x93D8, 0x8C5A, 0x93D9, 0x9041, 0x93DA, 0x9813, 0x93DB, 0x5451, 0x93DC, 0x66C7, 0x93DD, 0x920D, - 0x93DE, 0x5948, 0x93DF, 0x90A3, 0x93E0, 0x5185, 0x93E1, 0x4E4D, 0x93E2, 0x51EA, 0x93E3, 0x8599, 0x93E4, 0x8B0E, 0x93E5, 0x7058, - 0x93E6, 0x637A, 0x93E7, 0x934B, 0x93E8, 0x6962, 0x93E9, 0x99B4, 0x93EA, 0x7E04, 0x93EB, 0x7577, 0x93EC, 0x5357, 0x93ED, 0x6960, - 0x93EE, 0x8EDF, 0x93EF, 0x96E3, 0x93F0, 0x6C5D, 0x93F1, 0x4E8C, 0x93F2, 0x5C3C, 0x93F3, 0x5F10, 0x93F4, 0x8FE9, 0x93F5, 0x5302, - 0x93F6, 0x8CD1, 0x93F7, 0x8089, 0x93F8, 0x8679, 0x93F9, 0x5EFF, 0x93FA, 0x65E5, 0x93FB, 0x4E73, 0x93FC, 0x5165, 0x9440, 0x5982, - 0x9441, 0x5C3F, 0x9442, 0x97EE, 0x9443, 0x4EFB, 0x9444, 0x598A, 0x9445, 0x5FCD, 0x9446, 0x8A8D, 0x9447, 0x6FE1, 0x9448, 0x79B0, - 0x9449, 0x7962, 0x944A, 0x5BE7, 0x944B, 0x8471, 0x944C, 0x732B, 0x944D, 0x71B1, 0x944E, 0x5E74, 0x944F, 0x5FF5, 0x9450, 0x637B, - 0x9451, 0x649A, 0x9452, 0x71C3, 0x9453, 0x7C98, 0x9454, 0x4E43, 0x9455, 0x5EFC, 0x9456, 0x4E4B, 0x9457, 0x57DC, 0x9458, 0x56A2, - 0x9459, 0x60A9, 0x945A, 0x6FC3, 0x945B, 0x7D0D, 0x945C, 0x80FD, 0x945D, 0x8133, 0x945E, 0x81BF, 0x945F, 0x8FB2, 0x9460, 0x8997, - 0x9461, 0x86A4, 0x9462, 0x5DF4, 0x9463, 0x628A, 0x9464, 0x64AD, 0x9465, 0x8987, 0x9466, 0x6777, 0x9467, 0x6CE2, 0x9468, 0x6D3E, - 0x9469, 0x7436, 0x946A, 0x7834, 0x946B, 0x5A46, 0x946C, 0x7F75, 0x946D, 0x82AD, 0x946E, 0x99AC, 0x946F, 0x4FF3, 0x9470, 0x5EC3, - 0x9471, 0x62DD, 0x9472, 0x6392, 0x9473, 0x6557, 0x9474, 0x676F, 0x9475, 0x76C3, 0x9476, 0x724C, 0x9477, 0x80CC, 0x9478, 0x80BA, - 0x9479, 0x8F29, 0x947A, 0x914D, 0x947B, 0x500D, 0x947C, 0x57F9, 0x947D, 0x5A92, 0x947E, 0x6885, 0x9480, 0x6973, 0x9481, 0x7164, - 0x9482, 0x72FD, 0x9483, 0x8CB7, 0x9484, 0x58F2, 0x9485, 0x8CE0, 0x9486, 0x966A, 0x9487, 0x9019, 0x9488, 0x877F, 0x9489, 0x79E4, - 0x948A, 0x77E7, 0x948B, 0x8429, 0x948C, 0x4F2F, 0x948D, 0x5265, 0x948E, 0x535A, 0x948F, 0x62CD, 0x9490, 0x67CF, 0x9491, 0x6CCA, - 0x9492, 0x767D, 0x9493, 0x7B94, 0x9494, 0x7C95, 0x9495, 0x8236, 0x9496, 0x8584, 0x9497, 0x8FEB, 0x9498, 0x66DD, 0x9499, 0x6F20, - 0x949A, 0x7206, 0x949B, 0x7E1B, 0x949C, 0x83AB, 0x949D, 0x99C1, 0x949E, 0x9EA6, 0x949F, 0x51FD, 0x94A0, 0x7BB1, 0x94A1, 0x7872, - 0x94A2, 0x7BB8, 0x94A3, 0x8087, 0x94A4, 0x7B48, 0x94A5, 0x6AE8, 0x94A6, 0x5E61, 0x94A7, 0x808C, 0x94A8, 0x7551, 0x94A9, 0x7560, - 0x94AA, 0x516B, 0x94AB, 0x9262, 0x94AC, 0x6E8C, 0x94AD, 0x767A, 0x94AE, 0x9197, 0x94AF, 0x9AEA, 0x94B0, 0x4F10, 0x94B1, 0x7F70, - 0x94B2, 0x629C, 0x94B3, 0x7B4F, 0x94B4, 0x95A5, 0x94B5, 0x9CE9, 0x94B6, 0x567A, 0x94B7, 0x5859, 0x94B8, 0x86E4, 0x94B9, 0x96BC, - 0x94BA, 0x4F34, 0x94BB, 0x5224, 0x94BC, 0x534A, 0x94BD, 0x53CD, 0x94BE, 0x53DB, 0x94BF, 0x5E06, 0x94C0, 0x642C, 0x94C1, 0x6591, - 0x94C2, 0x677F, 0x94C3, 0x6C3E, 0x94C4, 0x6C4E, 0x94C5, 0x7248, 0x94C6, 0x72AF, 0x94C7, 0x73ED, 0x94C8, 0x7554, 0x94C9, 0x7E41, - 0x94CA, 0x822C, 0x94CB, 0x85E9, 0x94CC, 0x8CA9, 0x94CD, 0x7BC4, 0x94CE, 0x91C6, 0x94CF, 0x7169, 0x94D0, 0x9812, 0x94D1, 0x98EF, - 0x94D2, 0x633D, 0x94D3, 0x6669, 0x94D4, 0x756A, 0x94D5, 0x76E4, 0x94D6, 0x78D0, 0x94D7, 0x8543, 0x94D8, 0x86EE, 0x94D9, 0x532A, - 0x94DA, 0x5351, 0x94DB, 0x5426, 0x94DC, 0x5983, 0x94DD, 0x5E87, 0x94DE, 0x5F7C, 0x94DF, 0x60B2, 0x94E0, 0x6249, 0x94E1, 0x6279, - 0x94E2, 0x62AB, 0x94E3, 0x6590, 0x94E4, 0x6BD4, 0x94E5, 0x6CCC, 0x94E6, 0x75B2, 0x94E7, 0x76AE, 0x94E8, 0x7891, 0x94E9, 0x79D8, - 0x94EA, 0x7DCB, 0x94EB, 0x7F77, 0x94EC, 0x80A5, 0x94ED, 0x88AB, 0x94EE, 0x8AB9, 0x94EF, 0x8CBB, 0x94F0, 0x907F, 0x94F1, 0x975E, - 0x94F2, 0x98DB, 0x94F3, 0x6A0B, 0x94F4, 0x7C38, 0x94F5, 0x5099, 0x94F6, 0x5C3E, 0x94F7, 0x5FAE, 0x94F8, 0x6787, 0x94F9, 0x6BD8, - 0x94FA, 0x7435, 0x94FB, 0x7709, 0x94FC, 0x7F8E, 0x9540, 0x9F3B, 0x9541, 0x67CA, 0x9542, 0x7A17, 0x9543, 0x5339, 0x9544, 0x758B, - 0x9545, 0x9AED, 0x9546, 0x5F66, 0x9547, 0x819D, 0x9548, 0x83F1, 0x9549, 0x8098, 0x954A, 0x5F3C, 0x954B, 0x5FC5, 0x954C, 0x7562, - 0x954D, 0x7B46, 0x954E, 0x903C, 0x954F, 0x6867, 0x9550, 0x59EB, 0x9551, 0x5A9B, 0x9552, 0x7D10, 0x9553, 0x767E, 0x9554, 0x8B2C, - 0x9555, 0x4FF5, 0x9556, 0x5F6A, 0x9557, 0x6A19, 0x9558, 0x6C37, 0x9559, 0x6F02, 0x955A, 0x74E2, 0x955B, 0x7968, 0x955C, 0x8868, - 0x955D, 0x8A55, 0x955E, 0x8C79, 0x955F, 0x5EDF, 0x9560, 0x63CF, 0x9561, 0x75C5, 0x9562, 0x79D2, 0x9563, 0x82D7, 0x9564, 0x9328, - 0x9565, 0x92F2, 0x9566, 0x849C, 0x9567, 0x86ED, 0x9568, 0x9C2D, 0x9569, 0x54C1, 0x956A, 0x5F6C, 0x956B, 0x658C, 0x956C, 0x6D5C, - 0x956D, 0x7015, 0x956E, 0x8CA7, 0x956F, 0x8CD3, 0x9570, 0x983B, 0x9571, 0x654F, 0x9572, 0x74F6, 0x9573, 0x4E0D, 0x9574, 0x4ED8, - 0x9575, 0x57E0, 0x9576, 0x592B, 0x9577, 0x5A66, 0x9578, 0x5BCC, 0x9579, 0x51A8, 0x957A, 0x5E03, 0x957B, 0x5E9C, 0x957C, 0x6016, - 0x957D, 0x6276, 0x957E, 0x6577, 0x9580, 0x65A7, 0x9581, 0x666E, 0x9582, 0x6D6E, 0x9583, 0x7236, 0x9584, 0x7B26, 0x9585, 0x8150, - 0x9586, 0x819A, 0x9587, 0x8299, 0x9588, 0x8B5C, 0x9589, 0x8CA0, 0x958A, 0x8CE6, 0x958B, 0x8D74, 0x958C, 0x961C, 0x958D, 0x9644, - 0x958E, 0x4FAE, 0x958F, 0x64AB, 0x9590, 0x6B66, 0x9591, 0x821E, 0x9592, 0x8461, 0x9593, 0x856A, 0x9594, 0x90E8, 0x9595, 0x5C01, - 0x9596, 0x6953, 0x9597, 0x98A8, 0x9598, 0x847A, 0x9599, 0x8557, 0x959A, 0x4F0F, 0x959B, 0x526F, 0x959C, 0x5FA9, 0x959D, 0x5E45, - 0x959E, 0x670D, 0x959F, 0x798F, 0x95A0, 0x8179, 0x95A1, 0x8907, 0x95A2, 0x8986, 0x95A3, 0x6DF5, 0x95A4, 0x5F17, 0x95A5, 0x6255, - 0x95A6, 0x6CB8, 0x95A7, 0x4ECF, 0x95A8, 0x7269, 0x95A9, 0x9B92, 0x95AA, 0x5206, 0x95AB, 0x543B, 0x95AC, 0x5674, 0x95AD, 0x58B3, - 0x95AE, 0x61A4, 0x95AF, 0x626E, 0x95B0, 0x711A, 0x95B1, 0x596E, 0x95B2, 0x7C89, 0x95B3, 0x7CDE, 0x95B4, 0x7D1B, 0x95B5, 0x96F0, - 0x95B6, 0x6587, 0x95B7, 0x805E, 0x95B8, 0x4E19, 0x95B9, 0x4F75, 0x95BA, 0x5175, 0x95BB, 0x5840, 0x95BC, 0x5E63, 0x95BD, 0x5E73, - 0x95BE, 0x5F0A, 0x95BF, 0x67C4, 0x95C0, 0x4E26, 0x95C1, 0x853D, 0x95C2, 0x9589, 0x95C3, 0x965B, 0x95C4, 0x7C73, 0x95C5, 0x9801, - 0x95C6, 0x50FB, 0x95C7, 0x58C1, 0x95C8, 0x7656, 0x95C9, 0x78A7, 0x95CA, 0x5225, 0x95CB, 0x77A5, 0x95CC, 0x8511, 0x95CD, 0x7B86, - 0x95CE, 0x504F, 0x95CF, 0x5909, 0x95D0, 0x7247, 0x95D1, 0x7BC7, 0x95D2, 0x7DE8, 0x95D3, 0x8FBA, 0x95D4, 0x8FD4, 0x95D5, 0x904D, - 0x95D6, 0x4FBF, 0x95D7, 0x52C9, 0x95D8, 0x5A29, 0x95D9, 0x5F01, 0x95DA, 0x97AD, 0x95DB, 0x4FDD, 0x95DC, 0x8217, 0x95DD, 0x92EA, - 0x95DE, 0x5703, 0x95DF, 0x6355, 0x95E0, 0x6B69, 0x95E1, 0x752B, 0x95E2, 0x88DC, 0x95E3, 0x8F14, 0x95E4, 0x7A42, 0x95E5, 0x52DF, - 0x95E6, 0x5893, 0x95E7, 0x6155, 0x95E8, 0x620A, 0x95E9, 0x66AE, 0x95EA, 0x6BCD, 0x95EB, 0x7C3F, 0x95EC, 0x83E9, 0x95ED, 0x5023, - 0x95EE, 0x4FF8, 0x95EF, 0x5305, 0x95F0, 0x5446, 0x95F1, 0x5831, 0x95F2, 0x5949, 0x95F3, 0x5B9D, 0x95F4, 0x5CF0, 0x95F5, 0x5CEF, - 0x95F6, 0x5D29, 0x95F7, 0x5E96, 0x95F8, 0x62B1, 0x95F9, 0x6367, 0x95FA, 0x653E, 0x95FB, 0x65B9, 0x95FC, 0x670B, 0x9640, 0x6CD5, - 0x9641, 0x6CE1, 0x9642, 0x70F9, 0x9643, 0x7832, 0x9644, 0x7E2B, 0x9645, 0x80DE, 0x9646, 0x82B3, 0x9647, 0x840C, 0x9648, 0x84EC, - 0x9649, 0x8702, 0x964A, 0x8912, 0x964B, 0x8A2A, 0x964C, 0x8C4A, 0x964D, 0x90A6, 0x964E, 0x92D2, 0x964F, 0x98FD, 0x9650, 0x9CF3, - 0x9651, 0x9D6C, 0x9652, 0x4E4F, 0x9653, 0x4EA1, 0x9654, 0x508D, 0x9655, 0x5256, 0x9656, 0x574A, 0x9657, 0x59A8, 0x9658, 0x5E3D, - 0x9659, 0x5FD8, 0x965A, 0x5FD9, 0x965B, 0x623F, 0x965C, 0x66B4, 0x965D, 0x671B, 0x965E, 0x67D0, 0x965F, 0x68D2, 0x9660, 0x5192, - 0x9661, 0x7D21, 0x9662, 0x80AA, 0x9663, 0x81A8, 0x9664, 0x8B00, 0x9665, 0x8C8C, 0x9666, 0x8CBF, 0x9667, 0x927E, 0x9668, 0x9632, - 0x9669, 0x5420, 0x966A, 0x982C, 0x966B, 0x5317, 0x966C, 0x50D5, 0x966D, 0x535C, 0x966E, 0x58A8, 0x966F, 0x64B2, 0x9670, 0x6734, - 0x9671, 0x7267, 0x9672, 0x7766, 0x9673, 0x7A46, 0x9674, 0x91E6, 0x9675, 0x52C3, 0x9676, 0x6CA1, 0x9677, 0x6B86, 0x9678, 0x5800, - 0x9679, 0x5E4C, 0x967A, 0x5954, 0x967B, 0x672C, 0x967C, 0x7FFB, 0x967D, 0x51E1, 0x967E, 0x76C6, 0x9680, 0x6469, 0x9681, 0x78E8, - 0x9682, 0x9B54, 0x9683, 0x9EBB, 0x9684, 0x57CB, 0x9685, 0x59B9, 0x9686, 0x6627, 0x9687, 0x679A, 0x9688, 0x6BCE, 0x9689, 0x54E9, - 0x968A, 0x69D9, 0x968B, 0x5E55, 0x968C, 0x819C, 0x968D, 0x6795, 0x968E, 0x9BAA, 0x968F, 0x67FE, 0x9690, 0x9C52, 0x9691, 0x685D, - 0x9692, 0x4EA6, 0x9693, 0x4FE3, 0x9694, 0x53C8, 0x9695, 0x62B9, 0x9696, 0x672B, 0x9697, 0x6CAB, 0x9698, 0x8FC4, 0x9699, 0x4FAD, - 0x969A, 0x7E6D, 0x969B, 0x9EBF, 0x969C, 0x4E07, 0x969D, 0x6162, 0x969E, 0x6E80, 0x969F, 0x6F2B, 0x96A0, 0x8513, 0x96A1, 0x5473, - 0x96A2, 0x672A, 0x96A3, 0x9B45, 0x96A4, 0x5DF3, 0x96A5, 0x7B95, 0x96A6, 0x5CAC, 0x96A7, 0x5BC6, 0x96A8, 0x871C, 0x96A9, 0x6E4A, - 0x96AA, 0x84D1, 0x96AB, 0x7A14, 0x96AC, 0x8108, 0x96AD, 0x5999, 0x96AE, 0x7C8D, 0x96AF, 0x6C11, 0x96B0, 0x7720, 0x96B1, 0x52D9, - 0x96B2, 0x5922, 0x96B3, 0x7121, 0x96B4, 0x725F, 0x96B5, 0x77DB, 0x96B6, 0x9727, 0x96B7, 0x9D61, 0x96B8, 0x690B, 0x96B9, 0x5A7F, - 0x96BA, 0x5A18, 0x96BB, 0x51A5, 0x96BC, 0x540D, 0x96BD, 0x547D, 0x96BE, 0x660E, 0x96BF, 0x76DF, 0x96C0, 0x8FF7, 0x96C1, 0x9298, - 0x96C2, 0x9CF4, 0x96C3, 0x59EA, 0x96C4, 0x725D, 0x96C5, 0x6EC5, 0x96C6, 0x514D, 0x96C7, 0x68C9, 0x96C8, 0x7DBF, 0x96C9, 0x7DEC, - 0x96CA, 0x9762, 0x96CB, 0x9EBA, 0x96CC, 0x6478, 0x96CD, 0x6A21, 0x96CE, 0x8302, 0x96CF, 0x5984, 0x96D0, 0x5B5F, 0x96D1, 0x6BDB, - 0x96D2, 0x731B, 0x96D3, 0x76F2, 0x96D4, 0x7DB2, 0x96D5, 0x8017, 0x96D6, 0x8499, 0x96D7, 0x5132, 0x96D8, 0x6728, 0x96D9, 0x9ED9, - 0x96DA, 0x76EE, 0x96DB, 0x6762, 0x96DC, 0x52FF, 0x96DD, 0x9905, 0x96DE, 0x5C24, 0x96DF, 0x623B, 0x96E0, 0x7C7E, 0x96E1, 0x8CB0, - 0x96E2, 0x554F, 0x96E3, 0x60B6, 0x96E4, 0x7D0B, 0x96E5, 0x9580, 0x96E6, 0x5301, 0x96E7, 0x4E5F, 0x96E8, 0x51B6, 0x96E9, 0x591C, - 0x96EA, 0x723A, 0x96EB, 0x8036, 0x96EC, 0x91CE, 0x96ED, 0x5F25, 0x96EE, 0x77E2, 0x96EF, 0x5384, 0x96F0, 0x5F79, 0x96F1, 0x7D04, - 0x96F2, 0x85AC, 0x96F3, 0x8A33, 0x96F4, 0x8E8D, 0x96F5, 0x9756, 0x96F6, 0x67F3, 0x96F7, 0x85AE, 0x96F8, 0x9453, 0x96F9, 0x6109, - 0x96FA, 0x6108, 0x96FB, 0x6CB9, 0x96FC, 0x7652, 0x9740, 0x8AED, 0x9741, 0x8F38, 0x9742, 0x552F, 0x9743, 0x4F51, 0x9744, 0x512A, - 0x9745, 0x52C7, 0x9746, 0x53CB, 0x9747, 0x5BA5, 0x9748, 0x5E7D, 0x9749, 0x60A0, 0x974A, 0x6182, 0x974B, 0x63D6, 0x974C, 0x6709, - 0x974D, 0x67DA, 0x974E, 0x6E67, 0x974F, 0x6D8C, 0x9750, 0x7336, 0x9751, 0x7337, 0x9752, 0x7531, 0x9753, 0x7950, 0x9754, 0x88D5, - 0x9755, 0x8A98, 0x9756, 0x904A, 0x9757, 0x9091, 0x9758, 0x90F5, 0x9759, 0x96C4, 0x975A, 0x878D, 0x975B, 0x5915, 0x975C, 0x4E88, - 0x975D, 0x4F59, 0x975E, 0x4E0E, 0x975F, 0x8A89, 0x9760, 0x8F3F, 0x9761, 0x9810, 0x9762, 0x50AD, 0x9763, 0x5E7C, 0x9764, 0x5996, - 0x9765, 0x5BB9, 0x9766, 0x5EB8, 0x9767, 0x63DA, 0x9768, 0x63FA, 0x9769, 0x64C1, 0x976A, 0x66DC, 0x976B, 0x694A, 0x976C, 0x69D8, - 0x976D, 0x6D0B, 0x976E, 0x6EB6, 0x976F, 0x7194, 0x9770, 0x7528, 0x9771, 0x7AAF, 0x9772, 0x7F8A, 0x9773, 0x8000, 0x9774, 0x8449, - 0x9775, 0x84C9, 0x9776, 0x8981, 0x9777, 0x8B21, 0x9778, 0x8E0A, 0x9779, 0x9065, 0x977A, 0x967D, 0x977B, 0x990A, 0x977C, 0x617E, - 0x977D, 0x6291, 0x977E, 0x6B32, 0x9780, 0x6C83, 0x9781, 0x6D74, 0x9782, 0x7FCC, 0x9783, 0x7FFC, 0x9784, 0x6DC0, 0x9785, 0x7F85, - 0x9786, 0x87BA, 0x9787, 0x88F8, 0x9788, 0x6765, 0x9789, 0x83B1, 0x978A, 0x983C, 0x978B, 0x96F7, 0x978C, 0x6D1B, 0x978D, 0x7D61, - 0x978E, 0x843D, 0x978F, 0x916A, 0x9790, 0x4E71, 0x9791, 0x5375, 0x9792, 0x5D50, 0x9793, 0x6B04, 0x9794, 0x6FEB, 0x9795, 0x85CD, - 0x9796, 0x862D, 0x9797, 0x89A7, 0x9798, 0x5229, 0x9799, 0x540F, 0x979A, 0x5C65, 0x979B, 0x674E, 0x979C, 0x68A8, 0x979D, 0x7406, - 0x979E, 0x7483, 0x979F, 0x75E2, 0x97A0, 0x88CF, 0x97A1, 0x88E1, 0x97A2, 0x91CC, 0x97A3, 0x96E2, 0x97A4, 0x9678, 0x97A5, 0x5F8B, - 0x97A6, 0x7387, 0x97A7, 0x7ACB, 0x97A8, 0x844E, 0x97A9, 0x63A0, 0x97AA, 0x7565, 0x97AB, 0x5289, 0x97AC, 0x6D41, 0x97AD, 0x6E9C, - 0x97AE, 0x7409, 0x97AF, 0x7559, 0x97B0, 0x786B, 0x97B1, 0x7C92, 0x97B2, 0x9686, 0x97B3, 0x7ADC, 0x97B4, 0x9F8D, 0x97B5, 0x4FB6, - 0x97B6, 0x616E, 0x97B7, 0x65C5, 0x97B8, 0x865C, 0x97B9, 0x4E86, 0x97BA, 0x4EAE, 0x97BB, 0x50DA, 0x97BC, 0x4E21, 0x97BD, 0x51CC, - 0x97BE, 0x5BEE, 0x97BF, 0x6599, 0x97C0, 0x6881, 0x97C1, 0x6DBC, 0x97C2, 0x731F, 0x97C3, 0x7642, 0x97C4, 0x77AD, 0x97C5, 0x7A1C, - 0x97C6, 0x7CE7, 0x97C7, 0x826F, 0x97C8, 0x8AD2, 0x97C9, 0x907C, 0x97CA, 0x91CF, 0x97CB, 0x9675, 0x97CC, 0x9818, 0x97CD, 0x529B, - 0x97CE, 0x7DD1, 0x97CF, 0x502B, 0x97D0, 0x5398, 0x97D1, 0x6797, 0x97D2, 0x6DCB, 0x97D3, 0x71D0, 0x97D4, 0x7433, 0x97D5, 0x81E8, - 0x97D6, 0x8F2A, 0x97D7, 0x96A3, 0x97D8, 0x9C57, 0x97D9, 0x9E9F, 0x97DA, 0x7460, 0x97DB, 0x5841, 0x97DC, 0x6D99, 0x97DD, 0x7D2F, - 0x97DE, 0x985E, 0x97DF, 0x4EE4, 0x97E0, 0x4F36, 0x97E1, 0x4F8B, 0x97E2, 0x51B7, 0x97E3, 0x52B1, 0x97E4, 0x5DBA, 0x97E5, 0x601C, - 0x97E6, 0x73B2, 0x97E7, 0x793C, 0x97E8, 0x82D3, 0x97E9, 0x9234, 0x97EA, 0x96B7, 0x97EB, 0x96F6, 0x97EC, 0x970A, 0x97ED, 0x9E97, - 0x97EE, 0x9F62, 0x97EF, 0x66A6, 0x97F0, 0x6B74, 0x97F1, 0x5217, 0x97F2, 0x52A3, 0x97F3, 0x70C8, 0x97F4, 0x88C2, 0x97F5, 0x5EC9, - 0x97F6, 0x604B, 0x97F7, 0x6190, 0x97F8, 0x6F23, 0x97F9, 0x7149, 0x97FA, 0x7C3E, 0x97FB, 0x7DF4, 0x97FC, 0x806F, 0x9840, 0x84EE, - 0x9841, 0x9023, 0x9842, 0x932C, 0x9843, 0x5442, 0x9844, 0x9B6F, 0x9845, 0x6AD3, 0x9846, 0x7089, 0x9847, 0x8CC2, 0x9848, 0x8DEF, - 0x9849, 0x9732, 0x984A, 0x52B4, 0x984B, 0x5A41, 0x984C, 0x5ECA, 0x984D, 0x5F04, 0x984E, 0x6717, 0x984F, 0x697C, 0x9850, 0x6994, - 0x9851, 0x6D6A, 0x9852, 0x6F0F, 0x9853, 0x7262, 0x9854, 0x72FC, 0x9855, 0x7BED, 0x9856, 0x8001, 0x9857, 0x807E, 0x9858, 0x874B, - 0x9859, 0x90CE, 0x985A, 0x516D, 0x985B, 0x9E93, 0x985C, 0x7984, 0x985D, 0x808B, 0x985E, 0x9332, 0x985F, 0x8AD6, 0x9860, 0x502D, - 0x9861, 0x548C, 0x9862, 0x8A71, 0x9863, 0x6B6A, 0x9864, 0x8CC4, 0x9865, 0x8107, 0x9866, 0x60D1, 0x9867, 0x67A0, 0x9868, 0x9DF2, - 0x9869, 0x4E99, 0x986A, 0x4E98, 0x986B, 0x9C10, 0x986C, 0x8A6B, 0x986D, 0x85C1, 0x986E, 0x8568, 0x986F, 0x6900, 0x9870, 0x6E7E, - 0x9871, 0x7897, 0x9872, 0x8155, 0x989F, 0x5F0C, 0x98A0, 0x4E10, 0x98A1, 0x4E15, 0x98A2, 0x4E2A, 0x98A3, 0x4E31, 0x98A4, 0x4E36, - 0x98A5, 0x4E3C, 0x98A6, 0x4E3F, 0x98A7, 0x4E42, 0x98A8, 0x4E56, 0x98A9, 0x4E58, 0x98AA, 0x4E82, 0x98AB, 0x4E85, 0x98AC, 0x8C6B, - 0x98AD, 0x4E8A, 0x98AE, 0x8212, 0x98AF, 0x5F0D, 0x98B0, 0x4E8E, 0x98B1, 0x4E9E, 0x98B2, 0x4E9F, 0x98B3, 0x4EA0, 0x98B4, 0x4EA2, - 0x98B5, 0x4EB0, 0x98B6, 0x4EB3, 0x98B7, 0x4EB6, 0x98B8, 0x4ECE, 0x98B9, 0x4ECD, 0x98BA, 0x4EC4, 0x98BB, 0x4EC6, 0x98BC, 0x4EC2, - 0x98BD, 0x4ED7, 0x98BE, 0x4EDE, 0x98BF, 0x4EED, 0x98C0, 0x4EDF, 0x98C1, 0x4EF7, 0x98C2, 0x4F09, 0x98C3, 0x4F5A, 0x98C4, 0x4F30, - 0x98C5, 0x4F5B, 0x98C6, 0x4F5D, 0x98C7, 0x4F57, 0x98C8, 0x4F47, 0x98C9, 0x4F76, 0x98CA, 0x4F88, 0x98CB, 0x4F8F, 0x98CC, 0x4F98, - 0x98CD, 0x4F7B, 0x98CE, 0x4F69, 0x98CF, 0x4F70, 0x98D0, 0x4F91, 0x98D1, 0x4F6F, 0x98D2, 0x4F86, 0x98D3, 0x4F96, 0x98D4, 0x5118, - 0x98D5, 0x4FD4, 0x98D6, 0x4FDF, 0x98D7, 0x4FCE, 0x98D8, 0x4FD8, 0x98D9, 0x4FDB, 0x98DA, 0x4FD1, 0x98DB, 0x4FDA, 0x98DC, 0x4FD0, - 0x98DD, 0x4FE4, 0x98DE, 0x4FE5, 0x98DF, 0x501A, 0x98E0, 0x5028, 0x98E1, 0x5014, 0x98E2, 0x502A, 0x98E3, 0x5025, 0x98E4, 0x5005, - 0x98E5, 0x4F1C, 0x98E6, 0x4FF6, 0x98E7, 0x5021, 0x98E8, 0x5029, 0x98E9, 0x502C, 0x98EA, 0x4FFE, 0x98EB, 0x4FEF, 0x98EC, 0x5011, - 0x98ED, 0x5006, 0x98EE, 0x5043, 0x98EF, 0x5047, 0x98F0, 0x6703, 0x98F1, 0x5055, 0x98F2, 0x5050, 0x98F3, 0x5048, 0x98F4, 0x505A, - 0x98F5, 0x5056, 0x98F6, 0x506C, 0x98F7, 0x5078, 0x98F8, 0x5080, 0x98F9, 0x509A, 0x98FA, 0x5085, 0x98FB, 0x50B4, 0x98FC, 0x50B2, - 0x9940, 0x50C9, 0x9941, 0x50CA, 0x9942, 0x50B3, 0x9943, 0x50C2, 0x9944, 0x50D6, 0x9945, 0x50DE, 0x9946, 0x50E5, 0x9947, 0x50ED, - 0x9948, 0x50E3, 0x9949, 0x50EE, 0x994A, 0x50F9, 0x994B, 0x50F5, 0x994C, 0x5109, 0x994D, 0x5101, 0x994E, 0x5102, 0x994F, 0x5116, - 0x9950, 0x5115, 0x9951, 0x5114, 0x9952, 0x511A, 0x9953, 0x5121, 0x9954, 0x513A, 0x9955, 0x5137, 0x9956, 0x513C, 0x9957, 0x513B, - 0x9958, 0x513F, 0x9959, 0x5140, 0x995A, 0x5152, 0x995B, 0x514C, 0x995C, 0x5154, 0x995D, 0x5162, 0x995E, 0x7AF8, 0x995F, 0x5169, - 0x9960, 0x516A, 0x9961, 0x516E, 0x9962, 0x5180, 0x9963, 0x5182, 0x9964, 0x56D8, 0x9965, 0x518C, 0x9966, 0x5189, 0x9967, 0x518F, - 0x9968, 0x5191, 0x9969, 0x5193, 0x996A, 0x5195, 0x996B, 0x5196, 0x996C, 0x51A4, 0x996D, 0x51A6, 0x996E, 0x51A2, 0x996F, 0x51A9, - 0x9970, 0x51AA, 0x9971, 0x51AB, 0x9972, 0x51B3, 0x9973, 0x51B1, 0x9974, 0x51B2, 0x9975, 0x51B0, 0x9976, 0x51B5, 0x9977, 0x51BD, - 0x9978, 0x51C5, 0x9979, 0x51C9, 0x997A, 0x51DB, 0x997B, 0x51E0, 0x997C, 0x8655, 0x997D, 0x51E9, 0x997E, 0x51ED, 0x9980, 0x51F0, - 0x9981, 0x51F5, 0x9982, 0x51FE, 0x9983, 0x5204, 0x9984, 0x520B, 0x9985, 0x5214, 0x9986, 0x520E, 0x9987, 0x5227, 0x9988, 0x522A, - 0x9989, 0x522E, 0x998A, 0x5233, 0x998B, 0x5239, 0x998C, 0x524F, 0x998D, 0x5244, 0x998E, 0x524B, 0x998F, 0x524C, 0x9990, 0x525E, - 0x9991, 0x5254, 0x9992, 0x526A, 0x9993, 0x5274, 0x9994, 0x5269, 0x9995, 0x5273, 0x9996, 0x527F, 0x9997, 0x527D, 0x9998, 0x528D, - 0x9999, 0x5294, 0x999A, 0x5292, 0x999B, 0x5271, 0x999C, 0x5288, 0x999D, 0x5291, 0x999E, 0x8FA8, 0x999F, 0x8FA7, 0x99A0, 0x52AC, - 0x99A1, 0x52AD, 0x99A2, 0x52BC, 0x99A3, 0x52B5, 0x99A4, 0x52C1, 0x99A5, 0x52CD, 0x99A6, 0x52D7, 0x99A7, 0x52DE, 0x99A8, 0x52E3, - 0x99A9, 0x52E6, 0x99AA, 0x98ED, 0x99AB, 0x52E0, 0x99AC, 0x52F3, 0x99AD, 0x52F5, 0x99AE, 0x52F8, 0x99AF, 0x52F9, 0x99B0, 0x5306, - 0x99B1, 0x5308, 0x99B2, 0x7538, 0x99B3, 0x530D, 0x99B4, 0x5310, 0x99B5, 0x530F, 0x99B6, 0x5315, 0x99B7, 0x531A, 0x99B8, 0x5323, - 0x99B9, 0x532F, 0x99BA, 0x5331, 0x99BB, 0x5333, 0x99BC, 0x5338, 0x99BD, 0x5340, 0x99BE, 0x5346, 0x99BF, 0x5345, 0x99C0, 0x4E17, - 0x99C1, 0x5349, 0x99C2, 0x534D, 0x99C3, 0x51D6, 0x99C4, 0x535E, 0x99C5, 0x5369, 0x99C6, 0x536E, 0x99C7, 0x5918, 0x99C8, 0x537B, - 0x99C9, 0x5377, 0x99CA, 0x5382, 0x99CB, 0x5396, 0x99CC, 0x53A0, 0x99CD, 0x53A6, 0x99CE, 0x53A5, 0x99CF, 0x53AE, 0x99D0, 0x53B0, - 0x99D1, 0x53B6, 0x99D2, 0x53C3, 0x99D3, 0x7C12, 0x99D4, 0x96D9, 0x99D5, 0x53DF, 0x99D6, 0x66FC, 0x99D7, 0x71EE, 0x99D8, 0x53EE, - 0x99D9, 0x53E8, 0x99DA, 0x53ED, 0x99DB, 0x53FA, 0x99DC, 0x5401, 0x99DD, 0x543D, 0x99DE, 0x5440, 0x99DF, 0x542C, 0x99E0, 0x542D, - 0x99E1, 0x543C, 0x99E2, 0x542E, 0x99E3, 0x5436, 0x99E4, 0x5429, 0x99E5, 0x541D, 0x99E6, 0x544E, 0x99E7, 0x548F, 0x99E8, 0x5475, - 0x99E9, 0x548E, 0x99EA, 0x545F, 0x99EB, 0x5471, 0x99EC, 0x5477, 0x99ED, 0x5470, 0x99EE, 0x5492, 0x99EF, 0x547B, 0x99F0, 0x5480, - 0x99F1, 0x5476, 0x99F2, 0x5484, 0x99F3, 0x5490, 0x99F4, 0x5486, 0x99F5, 0x54C7, 0x99F6, 0x54A2, 0x99F7, 0x54B8, 0x99F8, 0x54A5, - 0x99F9, 0x54AC, 0x99FA, 0x54C4, 0x99FB, 0x54C8, 0x99FC, 0x54A8, 0x9A40, 0x54AB, 0x9A41, 0x54C2, 0x9A42, 0x54A4, 0x9A43, 0x54BE, - 0x9A44, 0x54BC, 0x9A45, 0x54D8, 0x9A46, 0x54E5, 0x9A47, 0x54E6, 0x9A48, 0x550F, 0x9A49, 0x5514, 0x9A4A, 0x54FD, 0x9A4B, 0x54EE, - 0x9A4C, 0x54ED, 0x9A4D, 0x54FA, 0x9A4E, 0x54E2, 0x9A4F, 0x5539, 0x9A50, 0x5540, 0x9A51, 0x5563, 0x9A52, 0x554C, 0x9A53, 0x552E, - 0x9A54, 0x555C, 0x9A55, 0x5545, 0x9A56, 0x5556, 0x9A57, 0x5557, 0x9A58, 0x5538, 0x9A59, 0x5533, 0x9A5A, 0x555D, 0x9A5B, 0x5599, - 0x9A5C, 0x5580, 0x9A5D, 0x54AF, 0x9A5E, 0x558A, 0x9A5F, 0x559F, 0x9A60, 0x557B, 0x9A61, 0x557E, 0x9A62, 0x5598, 0x9A63, 0x559E, - 0x9A64, 0x55AE, 0x9A65, 0x557C, 0x9A66, 0x5583, 0x9A67, 0x55A9, 0x9A68, 0x5587, 0x9A69, 0x55A8, 0x9A6A, 0x55DA, 0x9A6B, 0x55C5, - 0x9A6C, 0x55DF, 0x9A6D, 0x55C4, 0x9A6E, 0x55DC, 0x9A6F, 0x55E4, 0x9A70, 0x55D4, 0x9A71, 0x5614, 0x9A72, 0x55F7, 0x9A73, 0x5616, - 0x9A74, 0x55FE, 0x9A75, 0x55FD, 0x9A76, 0x561B, 0x9A77, 0x55F9, 0x9A78, 0x564E, 0x9A79, 0x5650, 0x9A7A, 0x71DF, 0x9A7B, 0x5634, - 0x9A7C, 0x5636, 0x9A7D, 0x5632, 0x9A7E, 0x5638, 0x9A80, 0x566B, 0x9A81, 0x5664, 0x9A82, 0x562F, 0x9A83, 0x566C, 0x9A84, 0x566A, - 0x9A85, 0x5686, 0x9A86, 0x5680, 0x9A87, 0x568A, 0x9A88, 0x56A0, 0x9A89, 0x5694, 0x9A8A, 0x568F, 0x9A8B, 0x56A5, 0x9A8C, 0x56AE, - 0x9A8D, 0x56B6, 0x9A8E, 0x56B4, 0x9A8F, 0x56C2, 0x9A90, 0x56BC, 0x9A91, 0x56C1, 0x9A92, 0x56C3, 0x9A93, 0x56C0, 0x9A94, 0x56C8, - 0x9A95, 0x56CE, 0x9A96, 0x56D1, 0x9A97, 0x56D3, 0x9A98, 0x56D7, 0x9A99, 0x56EE, 0x9A9A, 0x56F9, 0x9A9B, 0x5700, 0x9A9C, 0x56FF, - 0x9A9D, 0x5704, 0x9A9E, 0x5709, 0x9A9F, 0x5708, 0x9AA0, 0x570B, 0x9AA1, 0x570D, 0x9AA2, 0x5713, 0x9AA3, 0x5718, 0x9AA4, 0x5716, - 0x9AA5, 0x55C7, 0x9AA6, 0x571C, 0x9AA7, 0x5726, 0x9AA8, 0x5737, 0x9AA9, 0x5738, 0x9AAA, 0x574E, 0x9AAB, 0x573B, 0x9AAC, 0x5740, - 0x9AAD, 0x574F, 0x9AAE, 0x5769, 0x9AAF, 0x57C0, 0x9AB0, 0x5788, 0x9AB1, 0x5761, 0x9AB2, 0x577F, 0x9AB3, 0x5789, 0x9AB4, 0x5793, - 0x9AB5, 0x57A0, 0x9AB6, 0x57B3, 0x9AB7, 0x57A4, 0x9AB8, 0x57AA, 0x9AB9, 0x57B0, 0x9ABA, 0x57C3, 0x9ABB, 0x57C6, 0x9ABC, 0x57D4, - 0x9ABD, 0x57D2, 0x9ABE, 0x57D3, 0x9ABF, 0x580A, 0x9AC0, 0x57D6, 0x9AC1, 0x57E3, 0x9AC2, 0x580B, 0x9AC3, 0x5819, 0x9AC4, 0x581D, - 0x9AC5, 0x5872, 0x9AC6, 0x5821, 0x9AC7, 0x5862, 0x9AC8, 0x584B, 0x9AC9, 0x5870, 0x9ACA, 0x6BC0, 0x9ACB, 0x5852, 0x9ACC, 0x583D, - 0x9ACD, 0x5879, 0x9ACE, 0x5885, 0x9ACF, 0x58B9, 0x9AD0, 0x589F, 0x9AD1, 0x58AB, 0x9AD2, 0x58BA, 0x9AD3, 0x58DE, 0x9AD4, 0x58BB, - 0x9AD5, 0x58B8, 0x9AD6, 0x58AE, 0x9AD7, 0x58C5, 0x9AD8, 0x58D3, 0x9AD9, 0x58D1, 0x9ADA, 0x58D7, 0x9ADB, 0x58D9, 0x9ADC, 0x58D8, - 0x9ADD, 0x58E5, 0x9ADE, 0x58DC, 0x9ADF, 0x58E4, 0x9AE0, 0x58DF, 0x9AE1, 0x58EF, 0x9AE2, 0x58FA, 0x9AE3, 0x58F9, 0x9AE4, 0x58FB, - 0x9AE5, 0x58FC, 0x9AE6, 0x58FD, 0x9AE7, 0x5902, 0x9AE8, 0x590A, 0x9AE9, 0x5910, 0x9AEA, 0x591B, 0x9AEB, 0x68A6, 0x9AEC, 0x5925, - 0x9AED, 0x592C, 0x9AEE, 0x592D, 0x9AEF, 0x5932, 0x9AF0, 0x5938, 0x9AF1, 0x593E, 0x9AF2, 0x7AD2, 0x9AF3, 0x5955, 0x9AF4, 0x5950, - 0x9AF5, 0x594E, 0x9AF6, 0x595A, 0x9AF7, 0x5958, 0x9AF8, 0x5962, 0x9AF9, 0x5960, 0x9AFA, 0x5967, 0x9AFB, 0x596C, 0x9AFC, 0x5969, - 0x9B40, 0x5978, 0x9B41, 0x5981, 0x9B42, 0x599D, 0x9B43, 0x4F5E, 0x9B44, 0x4FAB, 0x9B45, 0x59A3, 0x9B46, 0x59B2, 0x9B47, 0x59C6, - 0x9B48, 0x59E8, 0x9B49, 0x59DC, 0x9B4A, 0x598D, 0x9B4B, 0x59D9, 0x9B4C, 0x59DA, 0x9B4D, 0x5A25, 0x9B4E, 0x5A1F, 0x9B4F, 0x5A11, - 0x9B50, 0x5A1C, 0x9B51, 0x5A09, 0x9B52, 0x5A1A, 0x9B53, 0x5A40, 0x9B54, 0x5A6C, 0x9B55, 0x5A49, 0x9B56, 0x5A35, 0x9B57, 0x5A36, - 0x9B58, 0x5A62, 0x9B59, 0x5A6A, 0x9B5A, 0x5A9A, 0x9B5B, 0x5ABC, 0x9B5C, 0x5ABE, 0x9B5D, 0x5ACB, 0x9B5E, 0x5AC2, 0x9B5F, 0x5ABD, - 0x9B60, 0x5AE3, 0x9B61, 0x5AD7, 0x9B62, 0x5AE6, 0x9B63, 0x5AE9, 0x9B64, 0x5AD6, 0x9B65, 0x5AFA, 0x9B66, 0x5AFB, 0x9B67, 0x5B0C, - 0x9B68, 0x5B0B, 0x9B69, 0x5B16, 0x9B6A, 0x5B32, 0x9B6B, 0x5AD0, 0x9B6C, 0x5B2A, 0x9B6D, 0x5B36, 0x9B6E, 0x5B3E, 0x9B6F, 0x5B43, - 0x9B70, 0x5B45, 0x9B71, 0x5B40, 0x9B72, 0x5B51, 0x9B73, 0x5B55, 0x9B74, 0x5B5A, 0x9B75, 0x5B5B, 0x9B76, 0x5B65, 0x9B77, 0x5B69, - 0x9B78, 0x5B70, 0x9B79, 0x5B73, 0x9B7A, 0x5B75, 0x9B7B, 0x5B78, 0x9B7C, 0x6588, 0x9B7D, 0x5B7A, 0x9B7E, 0x5B80, 0x9B80, 0x5B83, - 0x9B81, 0x5BA6, 0x9B82, 0x5BB8, 0x9B83, 0x5BC3, 0x9B84, 0x5BC7, 0x9B85, 0x5BC9, 0x9B86, 0x5BD4, 0x9B87, 0x5BD0, 0x9B88, 0x5BE4, - 0x9B89, 0x5BE6, 0x9B8A, 0x5BE2, 0x9B8B, 0x5BDE, 0x9B8C, 0x5BE5, 0x9B8D, 0x5BEB, 0x9B8E, 0x5BF0, 0x9B8F, 0x5BF6, 0x9B90, 0x5BF3, - 0x9B91, 0x5C05, 0x9B92, 0x5C07, 0x9B93, 0x5C08, 0x9B94, 0x5C0D, 0x9B95, 0x5C13, 0x9B96, 0x5C20, 0x9B97, 0x5C22, 0x9B98, 0x5C28, - 0x9B99, 0x5C38, 0x9B9A, 0x5C39, 0x9B9B, 0x5C41, 0x9B9C, 0x5C46, 0x9B9D, 0x5C4E, 0x9B9E, 0x5C53, 0x9B9F, 0x5C50, 0x9BA0, 0x5C4F, - 0x9BA1, 0x5B71, 0x9BA2, 0x5C6C, 0x9BA3, 0x5C6E, 0x9BA4, 0x4E62, 0x9BA5, 0x5C76, 0x9BA6, 0x5C79, 0x9BA7, 0x5C8C, 0x9BA8, 0x5C91, - 0x9BA9, 0x5C94, 0x9BAA, 0x599B, 0x9BAB, 0x5CAB, 0x9BAC, 0x5CBB, 0x9BAD, 0x5CB6, 0x9BAE, 0x5CBC, 0x9BAF, 0x5CB7, 0x9BB0, 0x5CC5, - 0x9BB1, 0x5CBE, 0x9BB2, 0x5CC7, 0x9BB3, 0x5CD9, 0x9BB4, 0x5CE9, 0x9BB5, 0x5CFD, 0x9BB6, 0x5CFA, 0x9BB7, 0x5CED, 0x9BB8, 0x5D8C, - 0x9BB9, 0x5CEA, 0x9BBA, 0x5D0B, 0x9BBB, 0x5D15, 0x9BBC, 0x5D17, 0x9BBD, 0x5D5C, 0x9BBE, 0x5D1F, 0x9BBF, 0x5D1B, 0x9BC0, 0x5D11, - 0x9BC1, 0x5D14, 0x9BC2, 0x5D22, 0x9BC3, 0x5D1A, 0x9BC4, 0x5D19, 0x9BC5, 0x5D18, 0x9BC6, 0x5D4C, 0x9BC7, 0x5D52, 0x9BC8, 0x5D4E, - 0x9BC9, 0x5D4B, 0x9BCA, 0x5D6C, 0x9BCB, 0x5D73, 0x9BCC, 0x5D76, 0x9BCD, 0x5D87, 0x9BCE, 0x5D84, 0x9BCF, 0x5D82, 0x9BD0, 0x5DA2, - 0x9BD1, 0x5D9D, 0x9BD2, 0x5DAC, 0x9BD3, 0x5DAE, 0x9BD4, 0x5DBD, 0x9BD5, 0x5D90, 0x9BD6, 0x5DB7, 0x9BD7, 0x5DBC, 0x9BD8, 0x5DC9, - 0x9BD9, 0x5DCD, 0x9BDA, 0x5DD3, 0x9BDB, 0x5DD2, 0x9BDC, 0x5DD6, 0x9BDD, 0x5DDB, 0x9BDE, 0x5DEB, 0x9BDF, 0x5DF2, 0x9BE0, 0x5DF5, - 0x9BE1, 0x5E0B, 0x9BE2, 0x5E1A, 0x9BE3, 0x5E19, 0x9BE4, 0x5E11, 0x9BE5, 0x5E1B, 0x9BE6, 0x5E36, 0x9BE7, 0x5E37, 0x9BE8, 0x5E44, - 0x9BE9, 0x5E43, 0x9BEA, 0x5E40, 0x9BEB, 0x5E4E, 0x9BEC, 0x5E57, 0x9BED, 0x5E54, 0x9BEE, 0x5E5F, 0x9BEF, 0x5E62, 0x9BF0, 0x5E64, - 0x9BF1, 0x5E47, 0x9BF2, 0x5E75, 0x9BF3, 0x5E76, 0x9BF4, 0x5E7A, 0x9BF5, 0x9EBC, 0x9BF6, 0x5E7F, 0x9BF7, 0x5EA0, 0x9BF8, 0x5EC1, - 0x9BF9, 0x5EC2, 0x9BFA, 0x5EC8, 0x9BFB, 0x5ED0, 0x9BFC, 0x5ECF, 0x9C40, 0x5ED6, 0x9C41, 0x5EE3, 0x9C42, 0x5EDD, 0x9C43, 0x5EDA, - 0x9C44, 0x5EDB, 0x9C45, 0x5EE2, 0x9C46, 0x5EE1, 0x9C47, 0x5EE8, 0x9C48, 0x5EE9, 0x9C49, 0x5EEC, 0x9C4A, 0x5EF1, 0x9C4B, 0x5EF3, - 0x9C4C, 0x5EF0, 0x9C4D, 0x5EF4, 0x9C4E, 0x5EF8, 0x9C4F, 0x5EFE, 0x9C50, 0x5F03, 0x9C51, 0x5F09, 0x9C52, 0x5F5D, 0x9C53, 0x5F5C, - 0x9C54, 0x5F0B, 0x9C55, 0x5F11, 0x9C56, 0x5F16, 0x9C57, 0x5F29, 0x9C58, 0x5F2D, 0x9C59, 0x5F38, 0x9C5A, 0x5F41, 0x9C5B, 0x5F48, - 0x9C5C, 0x5F4C, 0x9C5D, 0x5F4E, 0x9C5E, 0x5F2F, 0x9C5F, 0x5F51, 0x9C60, 0x5F56, 0x9C61, 0x5F57, 0x9C62, 0x5F59, 0x9C63, 0x5F61, - 0x9C64, 0x5F6D, 0x9C65, 0x5F73, 0x9C66, 0x5F77, 0x9C67, 0x5F83, 0x9C68, 0x5F82, 0x9C69, 0x5F7F, 0x9C6A, 0x5F8A, 0x9C6B, 0x5F88, - 0x9C6C, 0x5F91, 0x9C6D, 0x5F87, 0x9C6E, 0x5F9E, 0x9C6F, 0x5F99, 0x9C70, 0x5F98, 0x9C71, 0x5FA0, 0x9C72, 0x5FA8, 0x9C73, 0x5FAD, - 0x9C74, 0x5FBC, 0x9C75, 0x5FD6, 0x9C76, 0x5FFB, 0x9C77, 0x5FE4, 0x9C78, 0x5FF8, 0x9C79, 0x5FF1, 0x9C7A, 0x5FDD, 0x9C7B, 0x60B3, - 0x9C7C, 0x5FFF, 0x9C7D, 0x6021, 0x9C7E, 0x6060, 0x9C80, 0x6019, 0x9C81, 0x6010, 0x9C82, 0x6029, 0x9C83, 0x600E, 0x9C84, 0x6031, - 0x9C85, 0x601B, 0x9C86, 0x6015, 0x9C87, 0x602B, 0x9C88, 0x6026, 0x9C89, 0x600F, 0x9C8A, 0x603A, 0x9C8B, 0x605A, 0x9C8C, 0x6041, - 0x9C8D, 0x606A, 0x9C8E, 0x6077, 0x9C8F, 0x605F, 0x9C90, 0x604A, 0x9C91, 0x6046, 0x9C92, 0x604D, 0x9C93, 0x6063, 0x9C94, 0x6043, - 0x9C95, 0x6064, 0x9C96, 0x6042, 0x9C97, 0x606C, 0x9C98, 0x606B, 0x9C99, 0x6059, 0x9C9A, 0x6081, 0x9C9B, 0x608D, 0x9C9C, 0x60E7, - 0x9C9D, 0x6083, 0x9C9E, 0x609A, 0x9C9F, 0x6084, 0x9CA0, 0x609B, 0x9CA1, 0x6096, 0x9CA2, 0x6097, 0x9CA3, 0x6092, 0x9CA4, 0x60A7, - 0x9CA5, 0x608B, 0x9CA6, 0x60E1, 0x9CA7, 0x60B8, 0x9CA8, 0x60E0, 0x9CA9, 0x60D3, 0x9CAA, 0x60B4, 0x9CAB, 0x5FF0, 0x9CAC, 0x60BD, - 0x9CAD, 0x60C6, 0x9CAE, 0x60B5, 0x9CAF, 0x60D8, 0x9CB0, 0x614D, 0x9CB1, 0x6115, 0x9CB2, 0x6106, 0x9CB3, 0x60F6, 0x9CB4, 0x60F7, - 0x9CB5, 0x6100, 0x9CB6, 0x60F4, 0x9CB7, 0x60FA, 0x9CB8, 0x6103, 0x9CB9, 0x6121, 0x9CBA, 0x60FB, 0x9CBB, 0x60F1, 0x9CBC, 0x610D, - 0x9CBD, 0x610E, 0x9CBE, 0x6147, 0x9CBF, 0x613E, 0x9CC0, 0x6128, 0x9CC1, 0x6127, 0x9CC2, 0x614A, 0x9CC3, 0x613F, 0x9CC4, 0x613C, - 0x9CC5, 0x612C, 0x9CC6, 0x6134, 0x9CC7, 0x613D, 0x9CC8, 0x6142, 0x9CC9, 0x6144, 0x9CCA, 0x6173, 0x9CCB, 0x6177, 0x9CCC, 0x6158, - 0x9CCD, 0x6159, 0x9CCE, 0x615A, 0x9CCF, 0x616B, 0x9CD0, 0x6174, 0x9CD1, 0x616F, 0x9CD2, 0x6165, 0x9CD3, 0x6171, 0x9CD4, 0x615F, - 0x9CD5, 0x615D, 0x9CD6, 0x6153, 0x9CD7, 0x6175, 0x9CD8, 0x6199, 0x9CD9, 0x6196, 0x9CDA, 0x6187, 0x9CDB, 0x61AC, 0x9CDC, 0x6194, - 0x9CDD, 0x619A, 0x9CDE, 0x618A, 0x9CDF, 0x6191, 0x9CE0, 0x61AB, 0x9CE1, 0x61AE, 0x9CE2, 0x61CC, 0x9CE3, 0x61CA, 0x9CE4, 0x61C9, - 0x9CE5, 0x61F7, 0x9CE6, 0x61C8, 0x9CE7, 0x61C3, 0x9CE8, 0x61C6, 0x9CE9, 0x61BA, 0x9CEA, 0x61CB, 0x9CEB, 0x7F79, 0x9CEC, 0x61CD, - 0x9CED, 0x61E6, 0x9CEE, 0x61E3, 0x9CEF, 0x61F6, 0x9CF0, 0x61FA, 0x9CF1, 0x61F4, 0x9CF2, 0x61FF, 0x9CF3, 0x61FD, 0x9CF4, 0x61FC, - 0x9CF5, 0x61FE, 0x9CF6, 0x6200, 0x9CF7, 0x6208, 0x9CF8, 0x6209, 0x9CF9, 0x620D, 0x9CFA, 0x620C, 0x9CFB, 0x6214, 0x9CFC, 0x621B, - 0x9D40, 0x621E, 0x9D41, 0x6221, 0x9D42, 0x622A, 0x9D43, 0x622E, 0x9D44, 0x6230, 0x9D45, 0x6232, 0x9D46, 0x6233, 0x9D47, 0x6241, - 0x9D48, 0x624E, 0x9D49, 0x625E, 0x9D4A, 0x6263, 0x9D4B, 0x625B, 0x9D4C, 0x6260, 0x9D4D, 0x6268, 0x9D4E, 0x627C, 0x9D4F, 0x6282, - 0x9D50, 0x6289, 0x9D51, 0x627E, 0x9D52, 0x6292, 0x9D53, 0x6293, 0x9D54, 0x6296, 0x9D55, 0x62D4, 0x9D56, 0x6283, 0x9D57, 0x6294, - 0x9D58, 0x62D7, 0x9D59, 0x62D1, 0x9D5A, 0x62BB, 0x9D5B, 0x62CF, 0x9D5C, 0x62FF, 0x9D5D, 0x62C6, 0x9D5E, 0x64D4, 0x9D5F, 0x62C8, - 0x9D60, 0x62DC, 0x9D61, 0x62CC, 0x9D62, 0x62CA, 0x9D63, 0x62C2, 0x9D64, 0x62C7, 0x9D65, 0x629B, 0x9D66, 0x62C9, 0x9D67, 0x630C, - 0x9D68, 0x62EE, 0x9D69, 0x62F1, 0x9D6A, 0x6327, 0x9D6B, 0x6302, 0x9D6C, 0x6308, 0x9D6D, 0x62EF, 0x9D6E, 0x62F5, 0x9D6F, 0x6350, - 0x9D70, 0x633E, 0x9D71, 0x634D, 0x9D72, 0x641C, 0x9D73, 0x634F, 0x9D74, 0x6396, 0x9D75, 0x638E, 0x9D76, 0x6380, 0x9D77, 0x63AB, - 0x9D78, 0x6376, 0x9D79, 0x63A3, 0x9D7A, 0x638F, 0x9D7B, 0x6389, 0x9D7C, 0x639F, 0x9D7D, 0x63B5, 0x9D7E, 0x636B, 0x9D80, 0x6369, - 0x9D81, 0x63BE, 0x9D82, 0x63E9, 0x9D83, 0x63C0, 0x9D84, 0x63C6, 0x9D85, 0x63E3, 0x9D86, 0x63C9, 0x9D87, 0x63D2, 0x9D88, 0x63F6, - 0x9D89, 0x63C4, 0x9D8A, 0x6416, 0x9D8B, 0x6434, 0x9D8C, 0x6406, 0x9D8D, 0x6413, 0x9D8E, 0x6426, 0x9D8F, 0x6436, 0x9D90, 0x651D, - 0x9D91, 0x6417, 0x9D92, 0x6428, 0x9D93, 0x640F, 0x9D94, 0x6467, 0x9D95, 0x646F, 0x9D96, 0x6476, 0x9D97, 0x644E, 0x9D98, 0x652A, - 0x9D99, 0x6495, 0x9D9A, 0x6493, 0x9D9B, 0x64A5, 0x9D9C, 0x64A9, 0x9D9D, 0x6488, 0x9D9E, 0x64BC, 0x9D9F, 0x64DA, 0x9DA0, 0x64D2, - 0x9DA1, 0x64C5, 0x9DA2, 0x64C7, 0x9DA3, 0x64BB, 0x9DA4, 0x64D8, 0x9DA5, 0x64C2, 0x9DA6, 0x64F1, 0x9DA7, 0x64E7, 0x9DA8, 0x8209, - 0x9DA9, 0x64E0, 0x9DAA, 0x64E1, 0x9DAB, 0x62AC, 0x9DAC, 0x64E3, 0x9DAD, 0x64EF, 0x9DAE, 0x652C, 0x9DAF, 0x64F6, 0x9DB0, 0x64F4, - 0x9DB1, 0x64F2, 0x9DB2, 0x64FA, 0x9DB3, 0x6500, 0x9DB4, 0x64FD, 0x9DB5, 0x6518, 0x9DB6, 0x651C, 0x9DB7, 0x6505, 0x9DB8, 0x6524, - 0x9DB9, 0x6523, 0x9DBA, 0x652B, 0x9DBB, 0x6534, 0x9DBC, 0x6535, 0x9DBD, 0x6537, 0x9DBE, 0x6536, 0x9DBF, 0x6538, 0x9DC0, 0x754B, - 0x9DC1, 0x6548, 0x9DC2, 0x6556, 0x9DC3, 0x6555, 0x9DC4, 0x654D, 0x9DC5, 0x6558, 0x9DC6, 0x655E, 0x9DC7, 0x655D, 0x9DC8, 0x6572, - 0x9DC9, 0x6578, 0x9DCA, 0x6582, 0x9DCB, 0x6583, 0x9DCC, 0x8B8A, 0x9DCD, 0x659B, 0x9DCE, 0x659F, 0x9DCF, 0x65AB, 0x9DD0, 0x65B7, - 0x9DD1, 0x65C3, 0x9DD2, 0x65C6, 0x9DD3, 0x65C1, 0x9DD4, 0x65C4, 0x9DD5, 0x65CC, 0x9DD6, 0x65D2, 0x9DD7, 0x65DB, 0x9DD8, 0x65D9, - 0x9DD9, 0x65E0, 0x9DDA, 0x65E1, 0x9DDB, 0x65F1, 0x9DDC, 0x6772, 0x9DDD, 0x660A, 0x9DDE, 0x6603, 0x9DDF, 0x65FB, 0x9DE0, 0x6773, - 0x9DE1, 0x6635, 0x9DE2, 0x6636, 0x9DE3, 0x6634, 0x9DE4, 0x661C, 0x9DE5, 0x664F, 0x9DE6, 0x6644, 0x9DE7, 0x6649, 0x9DE8, 0x6641, - 0x9DE9, 0x665E, 0x9DEA, 0x665D, 0x9DEB, 0x6664, 0x9DEC, 0x6667, 0x9DED, 0x6668, 0x9DEE, 0x665F, 0x9DEF, 0x6662, 0x9DF0, 0x6670, - 0x9DF1, 0x6683, 0x9DF2, 0x6688, 0x9DF3, 0x668E, 0x9DF4, 0x6689, 0x9DF5, 0x6684, 0x9DF6, 0x6698, 0x9DF7, 0x669D, 0x9DF8, 0x66C1, - 0x9DF9, 0x66B9, 0x9DFA, 0x66C9, 0x9DFB, 0x66BE, 0x9DFC, 0x66BC, 0x9E40, 0x66C4, 0x9E41, 0x66B8, 0x9E42, 0x66D6, 0x9E43, 0x66DA, - 0x9E44, 0x66E0, 0x9E45, 0x663F, 0x9E46, 0x66E6, 0x9E47, 0x66E9, 0x9E48, 0x66F0, 0x9E49, 0x66F5, 0x9E4A, 0x66F7, 0x9E4B, 0x670F, - 0x9E4C, 0x6716, 0x9E4D, 0x671E, 0x9E4E, 0x6726, 0x9E4F, 0x6727, 0x9E50, 0x9738, 0x9E51, 0x672E, 0x9E52, 0x673F, 0x9E53, 0x6736, - 0x9E54, 0x6741, 0x9E55, 0x6738, 0x9E56, 0x6737, 0x9E57, 0x6746, 0x9E58, 0x675E, 0x9E59, 0x6760, 0x9E5A, 0x6759, 0x9E5B, 0x6763, - 0x9E5C, 0x6764, 0x9E5D, 0x6789, 0x9E5E, 0x6770, 0x9E5F, 0x67A9, 0x9E60, 0x677C, 0x9E61, 0x676A, 0x9E62, 0x678C, 0x9E63, 0x678B, - 0x9E64, 0x67A6, 0x9E65, 0x67A1, 0x9E66, 0x6785, 0x9E67, 0x67B7, 0x9E68, 0x67EF, 0x9E69, 0x67B4, 0x9E6A, 0x67EC, 0x9E6B, 0x67B3, - 0x9E6C, 0x67E9, 0x9E6D, 0x67B8, 0x9E6E, 0x67E4, 0x9E6F, 0x67DE, 0x9E70, 0x67DD, 0x9E71, 0x67E2, 0x9E72, 0x67EE, 0x9E73, 0x67B9, - 0x9E74, 0x67CE, 0x9E75, 0x67C6, 0x9E76, 0x67E7, 0x9E77, 0x6A9C, 0x9E78, 0x681E, 0x9E79, 0x6846, 0x9E7A, 0x6829, 0x9E7B, 0x6840, - 0x9E7C, 0x684D, 0x9E7D, 0x6832, 0x9E7E, 0x684E, 0x9E80, 0x68B3, 0x9E81, 0x682B, 0x9E82, 0x6859, 0x9E83, 0x6863, 0x9E84, 0x6877, - 0x9E85, 0x687F, 0x9E86, 0x689F, 0x9E87, 0x688F, 0x9E88, 0x68AD, 0x9E89, 0x6894, 0x9E8A, 0x689D, 0x9E8B, 0x689B, 0x9E8C, 0x6883, - 0x9E8D, 0x6AAE, 0x9E8E, 0x68B9, 0x9E8F, 0x6874, 0x9E90, 0x68B5, 0x9E91, 0x68A0, 0x9E92, 0x68BA, 0x9E93, 0x690F, 0x9E94, 0x688D, - 0x9E95, 0x687E, 0x9E96, 0x6901, 0x9E97, 0x68CA, 0x9E98, 0x6908, 0x9E99, 0x68D8, 0x9E9A, 0x6922, 0x9E9B, 0x6926, 0x9E9C, 0x68E1, - 0x9E9D, 0x690C, 0x9E9E, 0x68CD, 0x9E9F, 0x68D4, 0x9EA0, 0x68E7, 0x9EA1, 0x68D5, 0x9EA2, 0x6936, 0x9EA3, 0x6912, 0x9EA4, 0x6904, - 0x9EA5, 0x68D7, 0x9EA6, 0x68E3, 0x9EA7, 0x6925, 0x9EA8, 0x68F9, 0x9EA9, 0x68E0, 0x9EAA, 0x68EF, 0x9EAB, 0x6928, 0x9EAC, 0x692A, - 0x9EAD, 0x691A, 0x9EAE, 0x6923, 0x9EAF, 0x6921, 0x9EB0, 0x68C6, 0x9EB1, 0x6979, 0x9EB2, 0x6977, 0x9EB3, 0x695C, 0x9EB4, 0x6978, - 0x9EB5, 0x696B, 0x9EB6, 0x6954, 0x9EB7, 0x697E, 0x9EB8, 0x696E, 0x9EB9, 0x6939, 0x9EBA, 0x6974, 0x9EBB, 0x693D, 0x9EBC, 0x6959, - 0x9EBD, 0x6930, 0x9EBE, 0x6961, 0x9EBF, 0x695E, 0x9EC0, 0x695D, 0x9EC1, 0x6981, 0x9EC2, 0x696A, 0x9EC3, 0x69B2, 0x9EC4, 0x69AE, - 0x9EC5, 0x69D0, 0x9EC6, 0x69BF, 0x9EC7, 0x69C1, 0x9EC8, 0x69D3, 0x9EC9, 0x69BE, 0x9ECA, 0x69CE, 0x9ECB, 0x5BE8, 0x9ECC, 0x69CA, - 0x9ECD, 0x69DD, 0x9ECE, 0x69BB, 0x9ECF, 0x69C3, 0x9ED0, 0x69A7, 0x9ED1, 0x6A2E, 0x9ED2, 0x6991, 0x9ED3, 0x69A0, 0x9ED4, 0x699C, - 0x9ED5, 0x6995, 0x9ED6, 0x69B4, 0x9ED7, 0x69DE, 0x9ED8, 0x69E8, 0x9ED9, 0x6A02, 0x9EDA, 0x6A1B, 0x9EDB, 0x69FF, 0x9EDC, 0x6B0A, - 0x9EDD, 0x69F9, 0x9EDE, 0x69F2, 0x9EDF, 0x69E7, 0x9EE0, 0x6A05, 0x9EE1, 0x69B1, 0x9EE2, 0x6A1E, 0x9EE3, 0x69ED, 0x9EE4, 0x6A14, - 0x9EE5, 0x69EB, 0x9EE6, 0x6A0A, 0x9EE7, 0x6A12, 0x9EE8, 0x6AC1, 0x9EE9, 0x6A23, 0x9EEA, 0x6A13, 0x9EEB, 0x6A44, 0x9EEC, 0x6A0C, - 0x9EED, 0x6A72, 0x9EEE, 0x6A36, 0x9EEF, 0x6A78, 0x9EF0, 0x6A47, 0x9EF1, 0x6A62, 0x9EF2, 0x6A59, 0x9EF3, 0x6A66, 0x9EF4, 0x6A48, - 0x9EF5, 0x6A38, 0x9EF6, 0x6A22, 0x9EF7, 0x6A90, 0x9EF8, 0x6A8D, 0x9EF9, 0x6AA0, 0x9EFA, 0x6A84, 0x9EFB, 0x6AA2, 0x9EFC, 0x6AA3, - 0x9F40, 0x6A97, 0x9F41, 0x8617, 0x9F42, 0x6ABB, 0x9F43, 0x6AC3, 0x9F44, 0x6AC2, 0x9F45, 0x6AB8, 0x9F46, 0x6AB3, 0x9F47, 0x6AAC, - 0x9F48, 0x6ADE, 0x9F49, 0x6AD1, 0x9F4A, 0x6ADF, 0x9F4B, 0x6AAA, 0x9F4C, 0x6ADA, 0x9F4D, 0x6AEA, 0x9F4E, 0x6AFB, 0x9F4F, 0x6B05, - 0x9F50, 0x8616, 0x9F51, 0x6AFA, 0x9F52, 0x6B12, 0x9F53, 0x6B16, 0x9F54, 0x9B31, 0x9F55, 0x6B1F, 0x9F56, 0x6B38, 0x9F57, 0x6B37, - 0x9F58, 0x76DC, 0x9F59, 0x6B39, 0x9F5A, 0x98EE, 0x9F5B, 0x6B47, 0x9F5C, 0x6B43, 0x9F5D, 0x6B49, 0x9F5E, 0x6B50, 0x9F5F, 0x6B59, - 0x9F60, 0x6B54, 0x9F61, 0x6B5B, 0x9F62, 0x6B5F, 0x9F63, 0x6B61, 0x9F64, 0x6B78, 0x9F65, 0x6B79, 0x9F66, 0x6B7F, 0x9F67, 0x6B80, - 0x9F68, 0x6B84, 0x9F69, 0x6B83, 0x9F6A, 0x6B8D, 0x9F6B, 0x6B98, 0x9F6C, 0x6B95, 0x9F6D, 0x6B9E, 0x9F6E, 0x6BA4, 0x9F6F, 0x6BAA, - 0x9F70, 0x6BAB, 0x9F71, 0x6BAF, 0x9F72, 0x6BB2, 0x9F73, 0x6BB1, 0x9F74, 0x6BB3, 0x9F75, 0x6BB7, 0x9F76, 0x6BBC, 0x9F77, 0x6BC6, - 0x9F78, 0x6BCB, 0x9F79, 0x6BD3, 0x9F7A, 0x6BDF, 0x9F7B, 0x6BEC, 0x9F7C, 0x6BEB, 0x9F7D, 0x6BF3, 0x9F7E, 0x6BEF, 0x9F80, 0x9EBE, - 0x9F81, 0x6C08, 0x9F82, 0x6C13, 0x9F83, 0x6C14, 0x9F84, 0x6C1B, 0x9F85, 0x6C24, 0x9F86, 0x6C23, 0x9F87, 0x6C5E, 0x9F88, 0x6C55, - 0x9F89, 0x6C62, 0x9F8A, 0x6C6A, 0x9F8B, 0x6C82, 0x9F8C, 0x6C8D, 0x9F8D, 0x6C9A, 0x9F8E, 0x6C81, 0x9F8F, 0x6C9B, 0x9F90, 0x6C7E, - 0x9F91, 0x6C68, 0x9F92, 0x6C73, 0x9F93, 0x6C92, 0x9F94, 0x6C90, 0x9F95, 0x6CC4, 0x9F96, 0x6CF1, 0x9F97, 0x6CD3, 0x9F98, 0x6CBD, - 0x9F99, 0x6CD7, 0x9F9A, 0x6CC5, 0x9F9B, 0x6CDD, 0x9F9C, 0x6CAE, 0x9F9D, 0x6CB1, 0x9F9E, 0x6CBE, 0x9F9F, 0x6CBA, 0x9FA0, 0x6CDB, - 0x9FA1, 0x6CEF, 0x9FA2, 0x6CD9, 0x9FA3, 0x6CEA, 0x9FA4, 0x6D1F, 0x9FA5, 0x884D, 0x9FA6, 0x6D36, 0x9FA7, 0x6D2B, 0x9FA8, 0x6D3D, - 0x9FA9, 0x6D38, 0x9FAA, 0x6D19, 0x9FAB, 0x6D35, 0x9FAC, 0x6D33, 0x9FAD, 0x6D12, 0x9FAE, 0x6D0C, 0x9FAF, 0x6D63, 0x9FB0, 0x6D93, - 0x9FB1, 0x6D64, 0x9FB2, 0x6D5A, 0x9FB3, 0x6D79, 0x9FB4, 0x6D59, 0x9FB5, 0x6D8E, 0x9FB6, 0x6D95, 0x9FB7, 0x6FE4, 0x9FB8, 0x6D85, - 0x9FB9, 0x6DF9, 0x9FBA, 0x6E15, 0x9FBB, 0x6E0A, 0x9FBC, 0x6DB5, 0x9FBD, 0x6DC7, 0x9FBE, 0x6DE6, 0x9FBF, 0x6DB8, 0x9FC0, 0x6DC6, - 0x9FC1, 0x6DEC, 0x9FC2, 0x6DDE, 0x9FC3, 0x6DCC, 0x9FC4, 0x6DE8, 0x9FC5, 0x6DD2, 0x9FC6, 0x6DC5, 0x9FC7, 0x6DFA, 0x9FC8, 0x6DD9, - 0x9FC9, 0x6DE4, 0x9FCA, 0x6DD5, 0x9FCB, 0x6DEA, 0x9FCC, 0x6DEE, 0x9FCD, 0x6E2D, 0x9FCE, 0x6E6E, 0x9FCF, 0x6E2E, 0x9FD0, 0x6E19, - 0x9FD1, 0x6E72, 0x9FD2, 0x6E5F, 0x9FD3, 0x6E3E, 0x9FD4, 0x6E23, 0x9FD5, 0x6E6B, 0x9FD6, 0x6E2B, 0x9FD7, 0x6E76, 0x9FD8, 0x6E4D, - 0x9FD9, 0x6E1F, 0x9FDA, 0x6E43, 0x9FDB, 0x6E3A, 0x9FDC, 0x6E4E, 0x9FDD, 0x6E24, 0x9FDE, 0x6EFF, 0x9FDF, 0x6E1D, 0x9FE0, 0x6E38, - 0x9FE1, 0x6E82, 0x9FE2, 0x6EAA, 0x9FE3, 0x6E98, 0x9FE4, 0x6EC9, 0x9FE5, 0x6EB7, 0x9FE6, 0x6ED3, 0x9FE7, 0x6EBD, 0x9FE8, 0x6EAF, - 0x9FE9, 0x6EC4, 0x9FEA, 0x6EB2, 0x9FEB, 0x6ED4, 0x9FEC, 0x6ED5, 0x9FED, 0x6E8F, 0x9FEE, 0x6EA5, 0x9FEF, 0x6EC2, 0x9FF0, 0x6E9F, - 0x9FF1, 0x6F41, 0x9FF2, 0x6F11, 0x9FF3, 0x704C, 0x9FF4, 0x6EEC, 0x9FF5, 0x6EF8, 0x9FF6, 0x6EFE, 0x9FF7, 0x6F3F, 0x9FF8, 0x6EF2, - 0x9FF9, 0x6F31, 0x9FFA, 0x6EEF, 0x9FFB, 0x6F32, 0x9FFC, 0x6ECC, 0xE040, 0x6F3E, 0xE041, 0x6F13, 0xE042, 0x6EF7, 0xE043, 0x6F86, - 0xE044, 0x6F7A, 0xE045, 0x6F78, 0xE046, 0x6F81, 0xE047, 0x6F80, 0xE048, 0x6F6F, 0xE049, 0x6F5B, 0xE04A, 0x6FF3, 0xE04B, 0x6F6D, - 0xE04C, 0x6F82, 0xE04D, 0x6F7C, 0xE04E, 0x6F58, 0xE04F, 0x6F8E, 0xE050, 0x6F91, 0xE051, 0x6FC2, 0xE052, 0x6F66, 0xE053, 0x6FB3, - 0xE054, 0x6FA3, 0xE055, 0x6FA1, 0xE056, 0x6FA4, 0xE057, 0x6FB9, 0xE058, 0x6FC6, 0xE059, 0x6FAA, 0xE05A, 0x6FDF, 0xE05B, 0x6FD5, - 0xE05C, 0x6FEC, 0xE05D, 0x6FD4, 0xE05E, 0x6FD8, 0xE05F, 0x6FF1, 0xE060, 0x6FEE, 0xE061, 0x6FDB, 0xE062, 0x7009, 0xE063, 0x700B, - 0xE064, 0x6FFA, 0xE065, 0x7011, 0xE066, 0x7001, 0xE067, 0x700F, 0xE068, 0x6FFE, 0xE069, 0x701B, 0xE06A, 0x701A, 0xE06B, 0x6F74, - 0xE06C, 0x701D, 0xE06D, 0x7018, 0xE06E, 0x701F, 0xE06F, 0x7030, 0xE070, 0x703E, 0xE071, 0x7032, 0xE072, 0x7051, 0xE073, 0x7063, - 0xE074, 0x7099, 0xE075, 0x7092, 0xE076, 0x70AF, 0xE077, 0x70F1, 0xE078, 0x70AC, 0xE079, 0x70B8, 0xE07A, 0x70B3, 0xE07B, 0x70AE, - 0xE07C, 0x70DF, 0xE07D, 0x70CB, 0xE07E, 0x70DD, 0xE080, 0x70D9, 0xE081, 0x7109, 0xE082, 0x70FD, 0xE083, 0x711C, 0xE084, 0x7119, - 0xE085, 0x7165, 0xE086, 0x7155, 0xE087, 0x7188, 0xE088, 0x7166, 0xE089, 0x7162, 0xE08A, 0x714C, 0xE08B, 0x7156, 0xE08C, 0x716C, - 0xE08D, 0x718F, 0xE08E, 0x71FB, 0xE08F, 0x7184, 0xE090, 0x7195, 0xE091, 0x71A8, 0xE092, 0x71AC, 0xE093, 0x71D7, 0xE094, 0x71B9, - 0xE095, 0x71BE, 0xE096, 0x71D2, 0xE097, 0x71C9, 0xE098, 0x71D4, 0xE099, 0x71CE, 0xE09A, 0x71E0, 0xE09B, 0x71EC, 0xE09C, 0x71E7, - 0xE09D, 0x71F5, 0xE09E, 0x71FC, 0xE09F, 0x71F9, 0xE0A0, 0x71FF, 0xE0A1, 0x720D, 0xE0A2, 0x7210, 0xE0A3, 0x721B, 0xE0A4, 0x7228, - 0xE0A5, 0x722D, 0xE0A6, 0x722C, 0xE0A7, 0x7230, 0xE0A8, 0x7232, 0xE0A9, 0x723B, 0xE0AA, 0x723C, 0xE0AB, 0x723F, 0xE0AC, 0x7240, - 0xE0AD, 0x7246, 0xE0AE, 0x724B, 0xE0AF, 0x7258, 0xE0B0, 0x7274, 0xE0B1, 0x727E, 0xE0B2, 0x7282, 0xE0B3, 0x7281, 0xE0B4, 0x7287, - 0xE0B5, 0x7292, 0xE0B6, 0x7296, 0xE0B7, 0x72A2, 0xE0B8, 0x72A7, 0xE0B9, 0x72B9, 0xE0BA, 0x72B2, 0xE0BB, 0x72C3, 0xE0BC, 0x72C6, - 0xE0BD, 0x72C4, 0xE0BE, 0x72CE, 0xE0BF, 0x72D2, 0xE0C0, 0x72E2, 0xE0C1, 0x72E0, 0xE0C2, 0x72E1, 0xE0C3, 0x72F9, 0xE0C4, 0x72F7, - 0xE0C5, 0x500F, 0xE0C6, 0x7317, 0xE0C7, 0x730A, 0xE0C8, 0x731C, 0xE0C9, 0x7316, 0xE0CA, 0x731D, 0xE0CB, 0x7334, 0xE0CC, 0x732F, - 0xE0CD, 0x7329, 0xE0CE, 0x7325, 0xE0CF, 0x733E, 0xE0D0, 0x734E, 0xE0D1, 0x734F, 0xE0D2, 0x9ED8, 0xE0D3, 0x7357, 0xE0D4, 0x736A, - 0xE0D5, 0x7368, 0xE0D6, 0x7370, 0xE0D7, 0x7378, 0xE0D8, 0x7375, 0xE0D9, 0x737B, 0xE0DA, 0x737A, 0xE0DB, 0x73C8, 0xE0DC, 0x73B3, - 0xE0DD, 0x73CE, 0xE0DE, 0x73BB, 0xE0DF, 0x73C0, 0xE0E0, 0x73E5, 0xE0E1, 0x73EE, 0xE0E2, 0x73DE, 0xE0E3, 0x74A2, 0xE0E4, 0x7405, - 0xE0E5, 0x746F, 0xE0E6, 0x7425, 0xE0E7, 0x73F8, 0xE0E8, 0x7432, 0xE0E9, 0x743A, 0xE0EA, 0x7455, 0xE0EB, 0x743F, 0xE0EC, 0x745F, - 0xE0ED, 0x7459, 0xE0EE, 0x7441, 0xE0EF, 0x745C, 0xE0F0, 0x7469, 0xE0F1, 0x7470, 0xE0F2, 0x7463, 0xE0F3, 0x746A, 0xE0F4, 0x7476, - 0xE0F5, 0x747E, 0xE0F6, 0x748B, 0xE0F7, 0x749E, 0xE0F8, 0x74A7, 0xE0F9, 0x74CA, 0xE0FA, 0x74CF, 0xE0FB, 0x74D4, 0xE0FC, 0x73F1, - 0xE140, 0x74E0, 0xE141, 0x74E3, 0xE142, 0x74E7, 0xE143, 0x74E9, 0xE144, 0x74EE, 0xE145, 0x74F2, 0xE146, 0x74F0, 0xE147, 0x74F1, - 0xE148, 0x74F8, 0xE149, 0x74F7, 0xE14A, 0x7504, 0xE14B, 0x7503, 0xE14C, 0x7505, 0xE14D, 0x750C, 0xE14E, 0x750E, 0xE14F, 0x750D, - 0xE150, 0x7515, 0xE151, 0x7513, 0xE152, 0x751E, 0xE153, 0x7526, 0xE154, 0x752C, 0xE155, 0x753C, 0xE156, 0x7544, 0xE157, 0x754D, - 0xE158, 0x754A, 0xE159, 0x7549, 0xE15A, 0x755B, 0xE15B, 0x7546, 0xE15C, 0x755A, 0xE15D, 0x7569, 0xE15E, 0x7564, 0xE15F, 0x7567, - 0xE160, 0x756B, 0xE161, 0x756D, 0xE162, 0x7578, 0xE163, 0x7576, 0xE164, 0x7586, 0xE165, 0x7587, 0xE166, 0x7574, 0xE167, 0x758A, - 0xE168, 0x7589, 0xE169, 0x7582, 0xE16A, 0x7594, 0xE16B, 0x759A, 0xE16C, 0x759D, 0xE16D, 0x75A5, 0xE16E, 0x75A3, 0xE16F, 0x75C2, - 0xE170, 0x75B3, 0xE171, 0x75C3, 0xE172, 0x75B5, 0xE173, 0x75BD, 0xE174, 0x75B8, 0xE175, 0x75BC, 0xE176, 0x75B1, 0xE177, 0x75CD, - 0xE178, 0x75CA, 0xE179, 0x75D2, 0xE17A, 0x75D9, 0xE17B, 0x75E3, 0xE17C, 0x75DE, 0xE17D, 0x75FE, 0xE17E, 0x75FF, 0xE180, 0x75FC, - 0xE181, 0x7601, 0xE182, 0x75F0, 0xE183, 0x75FA, 0xE184, 0x75F2, 0xE185, 0x75F3, 0xE186, 0x760B, 0xE187, 0x760D, 0xE188, 0x7609, - 0xE189, 0x761F, 0xE18A, 0x7627, 0xE18B, 0x7620, 0xE18C, 0x7621, 0xE18D, 0x7622, 0xE18E, 0x7624, 0xE18F, 0x7634, 0xE190, 0x7630, - 0xE191, 0x763B, 0xE192, 0x7647, 0xE193, 0x7648, 0xE194, 0x7646, 0xE195, 0x765C, 0xE196, 0x7658, 0xE197, 0x7661, 0xE198, 0x7662, - 0xE199, 0x7668, 0xE19A, 0x7669, 0xE19B, 0x766A, 0xE19C, 0x7667, 0xE19D, 0x766C, 0xE19E, 0x7670, 0xE19F, 0x7672, 0xE1A0, 0x7676, - 0xE1A1, 0x7678, 0xE1A2, 0x767C, 0xE1A3, 0x7680, 0xE1A4, 0x7683, 0xE1A5, 0x7688, 0xE1A6, 0x768B, 0xE1A7, 0x768E, 0xE1A8, 0x7696, - 0xE1A9, 0x7693, 0xE1AA, 0x7699, 0xE1AB, 0x769A, 0xE1AC, 0x76B0, 0xE1AD, 0x76B4, 0xE1AE, 0x76B8, 0xE1AF, 0x76B9, 0xE1B0, 0x76BA, - 0xE1B1, 0x76C2, 0xE1B2, 0x76CD, 0xE1B3, 0x76D6, 0xE1B4, 0x76D2, 0xE1B5, 0x76DE, 0xE1B6, 0x76E1, 0xE1B7, 0x76E5, 0xE1B8, 0x76E7, - 0xE1B9, 0x76EA, 0xE1BA, 0x862F, 0xE1BB, 0x76FB, 0xE1BC, 0x7708, 0xE1BD, 0x7707, 0xE1BE, 0x7704, 0xE1BF, 0x7729, 0xE1C0, 0x7724, - 0xE1C1, 0x771E, 0xE1C2, 0x7725, 0xE1C3, 0x7726, 0xE1C4, 0x771B, 0xE1C5, 0x7737, 0xE1C6, 0x7738, 0xE1C7, 0x7747, 0xE1C8, 0x775A, - 0xE1C9, 0x7768, 0xE1CA, 0x776B, 0xE1CB, 0x775B, 0xE1CC, 0x7765, 0xE1CD, 0x777F, 0xE1CE, 0x777E, 0xE1CF, 0x7779, 0xE1D0, 0x778E, - 0xE1D1, 0x778B, 0xE1D2, 0x7791, 0xE1D3, 0x77A0, 0xE1D4, 0x779E, 0xE1D5, 0x77B0, 0xE1D6, 0x77B6, 0xE1D7, 0x77B9, 0xE1D8, 0x77BF, - 0xE1D9, 0x77BC, 0xE1DA, 0x77BD, 0xE1DB, 0x77BB, 0xE1DC, 0x77C7, 0xE1DD, 0x77CD, 0xE1DE, 0x77D7, 0xE1DF, 0x77DA, 0xE1E0, 0x77DC, - 0xE1E1, 0x77E3, 0xE1E2, 0x77EE, 0xE1E3, 0x77FC, 0xE1E4, 0x780C, 0xE1E5, 0x7812, 0xE1E6, 0x7926, 0xE1E7, 0x7820, 0xE1E8, 0x792A, - 0xE1E9, 0x7845, 0xE1EA, 0x788E, 0xE1EB, 0x7874, 0xE1EC, 0x7886, 0xE1ED, 0x787C, 0xE1EE, 0x789A, 0xE1EF, 0x788C, 0xE1F0, 0x78A3, - 0xE1F1, 0x78B5, 0xE1F2, 0x78AA, 0xE1F3, 0x78AF, 0xE1F4, 0x78D1, 0xE1F5, 0x78C6, 0xE1F6, 0x78CB, 0xE1F7, 0x78D4, 0xE1F8, 0x78BE, - 0xE1F9, 0x78BC, 0xE1FA, 0x78C5, 0xE1FB, 0x78CA, 0xE1FC, 0x78EC, 0xE240, 0x78E7, 0xE241, 0x78DA, 0xE242, 0x78FD, 0xE243, 0x78F4, - 0xE244, 0x7907, 0xE245, 0x7912, 0xE246, 0x7911, 0xE247, 0x7919, 0xE248, 0x792C, 0xE249, 0x792B, 0xE24A, 0x7940, 0xE24B, 0x7960, - 0xE24C, 0x7957, 0xE24D, 0x795F, 0xE24E, 0x795A, 0xE24F, 0x7955, 0xE250, 0x7953, 0xE251, 0x797A, 0xE252, 0x797F, 0xE253, 0x798A, - 0xE254, 0x799D, 0xE255, 0x79A7, 0xE256, 0x9F4B, 0xE257, 0x79AA, 0xE258, 0x79AE, 0xE259, 0x79B3, 0xE25A, 0x79B9, 0xE25B, 0x79BA, - 0xE25C, 0x79C9, 0xE25D, 0x79D5, 0xE25E, 0x79E7, 0xE25F, 0x79EC, 0xE260, 0x79E1, 0xE261, 0x79E3, 0xE262, 0x7A08, 0xE263, 0x7A0D, - 0xE264, 0x7A18, 0xE265, 0x7A19, 0xE266, 0x7A20, 0xE267, 0x7A1F, 0xE268, 0x7980, 0xE269, 0x7A31, 0xE26A, 0x7A3B, 0xE26B, 0x7A3E, - 0xE26C, 0x7A37, 0xE26D, 0x7A43, 0xE26E, 0x7A57, 0xE26F, 0x7A49, 0xE270, 0x7A61, 0xE271, 0x7A62, 0xE272, 0x7A69, 0xE273, 0x9F9D, - 0xE274, 0x7A70, 0xE275, 0x7A79, 0xE276, 0x7A7D, 0xE277, 0x7A88, 0xE278, 0x7A97, 0xE279, 0x7A95, 0xE27A, 0x7A98, 0xE27B, 0x7A96, - 0xE27C, 0x7AA9, 0xE27D, 0x7AC8, 0xE27E, 0x7AB0, 0xE280, 0x7AB6, 0xE281, 0x7AC5, 0xE282, 0x7AC4, 0xE283, 0x7ABF, 0xE284, 0x9083, - 0xE285, 0x7AC7, 0xE286, 0x7ACA, 0xE287, 0x7ACD, 0xE288, 0x7ACF, 0xE289, 0x7AD5, 0xE28A, 0x7AD3, 0xE28B, 0x7AD9, 0xE28C, 0x7ADA, - 0xE28D, 0x7ADD, 0xE28E, 0x7AE1, 0xE28F, 0x7AE2, 0xE290, 0x7AE6, 0xE291, 0x7AED, 0xE292, 0x7AF0, 0xE293, 0x7B02, 0xE294, 0x7B0F, - 0xE295, 0x7B0A, 0xE296, 0x7B06, 0xE297, 0x7B33, 0xE298, 0x7B18, 0xE299, 0x7B19, 0xE29A, 0x7B1E, 0xE29B, 0x7B35, 0xE29C, 0x7B28, - 0xE29D, 0x7B36, 0xE29E, 0x7B50, 0xE29F, 0x7B7A, 0xE2A0, 0x7B04, 0xE2A1, 0x7B4D, 0xE2A2, 0x7B0B, 0xE2A3, 0x7B4C, 0xE2A4, 0x7B45, - 0xE2A5, 0x7B75, 0xE2A6, 0x7B65, 0xE2A7, 0x7B74, 0xE2A8, 0x7B67, 0xE2A9, 0x7B70, 0xE2AA, 0x7B71, 0xE2AB, 0x7B6C, 0xE2AC, 0x7B6E, - 0xE2AD, 0x7B9D, 0xE2AE, 0x7B98, 0xE2AF, 0x7B9F, 0xE2B0, 0x7B8D, 0xE2B1, 0x7B9C, 0xE2B2, 0x7B9A, 0xE2B3, 0x7B8B, 0xE2B4, 0x7B92, - 0xE2B5, 0x7B8F, 0xE2B6, 0x7B5D, 0xE2B7, 0x7B99, 0xE2B8, 0x7BCB, 0xE2B9, 0x7BC1, 0xE2BA, 0x7BCC, 0xE2BB, 0x7BCF, 0xE2BC, 0x7BB4, - 0xE2BD, 0x7BC6, 0xE2BE, 0x7BDD, 0xE2BF, 0x7BE9, 0xE2C0, 0x7C11, 0xE2C1, 0x7C14, 0xE2C2, 0x7BE6, 0xE2C3, 0x7BE5, 0xE2C4, 0x7C60, - 0xE2C5, 0x7C00, 0xE2C6, 0x7C07, 0xE2C7, 0x7C13, 0xE2C8, 0x7BF3, 0xE2C9, 0x7BF7, 0xE2CA, 0x7C17, 0xE2CB, 0x7C0D, 0xE2CC, 0x7BF6, - 0xE2CD, 0x7C23, 0xE2CE, 0x7C27, 0xE2CF, 0x7C2A, 0xE2D0, 0x7C1F, 0xE2D1, 0x7C37, 0xE2D2, 0x7C2B, 0xE2D3, 0x7C3D, 0xE2D4, 0x7C4C, - 0xE2D5, 0x7C43, 0xE2D6, 0x7C54, 0xE2D7, 0x7C4F, 0xE2D8, 0x7C40, 0xE2D9, 0x7C50, 0xE2DA, 0x7C58, 0xE2DB, 0x7C5F, 0xE2DC, 0x7C64, - 0xE2DD, 0x7C56, 0xE2DE, 0x7C65, 0xE2DF, 0x7C6C, 0xE2E0, 0x7C75, 0xE2E1, 0x7C83, 0xE2E2, 0x7C90, 0xE2E3, 0x7CA4, 0xE2E4, 0x7CAD, - 0xE2E5, 0x7CA2, 0xE2E6, 0x7CAB, 0xE2E7, 0x7CA1, 0xE2E8, 0x7CA8, 0xE2E9, 0x7CB3, 0xE2EA, 0x7CB2, 0xE2EB, 0x7CB1, 0xE2EC, 0x7CAE, - 0xE2ED, 0x7CB9, 0xE2EE, 0x7CBD, 0xE2EF, 0x7CC0, 0xE2F0, 0x7CC5, 0xE2F1, 0x7CC2, 0xE2F2, 0x7CD8, 0xE2F3, 0x7CD2, 0xE2F4, 0x7CDC, - 0xE2F5, 0x7CE2, 0xE2F6, 0x9B3B, 0xE2F7, 0x7CEF, 0xE2F8, 0x7CF2, 0xE2F9, 0x7CF4, 0xE2FA, 0x7CF6, 0xE2FB, 0x7CFA, 0xE2FC, 0x7D06, - 0xE340, 0x7D02, 0xE341, 0x7D1C, 0xE342, 0x7D15, 0xE343, 0x7D0A, 0xE344, 0x7D45, 0xE345, 0x7D4B, 0xE346, 0x7D2E, 0xE347, 0x7D32, - 0xE348, 0x7D3F, 0xE349, 0x7D35, 0xE34A, 0x7D46, 0xE34B, 0x7D73, 0xE34C, 0x7D56, 0xE34D, 0x7D4E, 0xE34E, 0x7D72, 0xE34F, 0x7D68, - 0xE350, 0x7D6E, 0xE351, 0x7D4F, 0xE352, 0x7D63, 0xE353, 0x7D93, 0xE354, 0x7D89, 0xE355, 0x7D5B, 0xE356, 0x7D8F, 0xE357, 0x7D7D, - 0xE358, 0x7D9B, 0xE359, 0x7DBA, 0xE35A, 0x7DAE, 0xE35B, 0x7DA3, 0xE35C, 0x7DB5, 0xE35D, 0x7DC7, 0xE35E, 0x7DBD, 0xE35F, 0x7DAB, - 0xE360, 0x7E3D, 0xE361, 0x7DA2, 0xE362, 0x7DAF, 0xE363, 0x7DDC, 0xE364, 0x7DB8, 0xE365, 0x7D9F, 0xE366, 0x7DB0, 0xE367, 0x7DD8, - 0xE368, 0x7DDD, 0xE369, 0x7DE4, 0xE36A, 0x7DDE, 0xE36B, 0x7DFB, 0xE36C, 0x7DF2, 0xE36D, 0x7DE1, 0xE36E, 0x7E05, 0xE36F, 0x7E0A, - 0xE370, 0x7E23, 0xE371, 0x7E21, 0xE372, 0x7E12, 0xE373, 0x7E31, 0xE374, 0x7E1F, 0xE375, 0x7E09, 0xE376, 0x7E0B, 0xE377, 0x7E22, - 0xE378, 0x7E46, 0xE379, 0x7E66, 0xE37A, 0x7E3B, 0xE37B, 0x7E35, 0xE37C, 0x7E39, 0xE37D, 0x7E43, 0xE37E, 0x7E37, 0xE380, 0x7E32, - 0xE381, 0x7E3A, 0xE382, 0x7E67, 0xE383, 0x7E5D, 0xE384, 0x7E56, 0xE385, 0x7E5E, 0xE386, 0x7E59, 0xE387, 0x7E5A, 0xE388, 0x7E79, - 0xE389, 0x7E6A, 0xE38A, 0x7E69, 0xE38B, 0x7E7C, 0xE38C, 0x7E7B, 0xE38D, 0x7E83, 0xE38E, 0x7DD5, 0xE38F, 0x7E7D, 0xE390, 0x8FAE, - 0xE391, 0x7E7F, 0xE392, 0x7E88, 0xE393, 0x7E89, 0xE394, 0x7E8C, 0xE395, 0x7E92, 0xE396, 0x7E90, 0xE397, 0x7E93, 0xE398, 0x7E94, - 0xE399, 0x7E96, 0xE39A, 0x7E8E, 0xE39B, 0x7E9B, 0xE39C, 0x7E9C, 0xE39D, 0x7F38, 0xE39E, 0x7F3A, 0xE39F, 0x7F45, 0xE3A0, 0x7F4C, - 0xE3A1, 0x7F4D, 0xE3A2, 0x7F4E, 0xE3A3, 0x7F50, 0xE3A4, 0x7F51, 0xE3A5, 0x7F55, 0xE3A6, 0x7F54, 0xE3A7, 0x7F58, 0xE3A8, 0x7F5F, - 0xE3A9, 0x7F60, 0xE3AA, 0x7F68, 0xE3AB, 0x7F69, 0xE3AC, 0x7F67, 0xE3AD, 0x7F78, 0xE3AE, 0x7F82, 0xE3AF, 0x7F86, 0xE3B0, 0x7F83, - 0xE3B1, 0x7F88, 0xE3B2, 0x7F87, 0xE3B3, 0x7F8C, 0xE3B4, 0x7F94, 0xE3B5, 0x7F9E, 0xE3B6, 0x7F9D, 0xE3B7, 0x7F9A, 0xE3B8, 0x7FA3, - 0xE3B9, 0x7FAF, 0xE3BA, 0x7FB2, 0xE3BB, 0x7FB9, 0xE3BC, 0x7FAE, 0xE3BD, 0x7FB6, 0xE3BE, 0x7FB8, 0xE3BF, 0x8B71, 0xE3C0, 0x7FC5, - 0xE3C1, 0x7FC6, 0xE3C2, 0x7FCA, 0xE3C3, 0x7FD5, 0xE3C4, 0x7FD4, 0xE3C5, 0x7FE1, 0xE3C6, 0x7FE6, 0xE3C7, 0x7FE9, 0xE3C8, 0x7FF3, - 0xE3C9, 0x7FF9, 0xE3CA, 0x98DC, 0xE3CB, 0x8006, 0xE3CC, 0x8004, 0xE3CD, 0x800B, 0xE3CE, 0x8012, 0xE3CF, 0x8018, 0xE3D0, 0x8019, - 0xE3D1, 0x801C, 0xE3D2, 0x8021, 0xE3D3, 0x8028, 0xE3D4, 0x803F, 0xE3D5, 0x803B, 0xE3D6, 0x804A, 0xE3D7, 0x8046, 0xE3D8, 0x8052, - 0xE3D9, 0x8058, 0xE3DA, 0x805A, 0xE3DB, 0x805F, 0xE3DC, 0x8062, 0xE3DD, 0x8068, 0xE3DE, 0x8073, 0xE3DF, 0x8072, 0xE3E0, 0x8070, - 0xE3E1, 0x8076, 0xE3E2, 0x8079, 0xE3E3, 0x807D, 0xE3E4, 0x807F, 0xE3E5, 0x8084, 0xE3E6, 0x8086, 0xE3E7, 0x8085, 0xE3E8, 0x809B, - 0xE3E9, 0x8093, 0xE3EA, 0x809A, 0xE3EB, 0x80AD, 0xE3EC, 0x5190, 0xE3ED, 0x80AC, 0xE3EE, 0x80DB, 0xE3EF, 0x80E5, 0xE3F0, 0x80D9, - 0xE3F1, 0x80DD, 0xE3F2, 0x80C4, 0xE3F3, 0x80DA, 0xE3F4, 0x80D6, 0xE3F5, 0x8109, 0xE3F6, 0x80EF, 0xE3F7, 0x80F1, 0xE3F8, 0x811B, - 0xE3F9, 0x8129, 0xE3FA, 0x8123, 0xE3FB, 0x812F, 0xE3FC, 0x814B, 0xE440, 0x968B, 0xE441, 0x8146, 0xE442, 0x813E, 0xE443, 0x8153, - 0xE444, 0x8151, 0xE445, 0x80FC, 0xE446, 0x8171, 0xE447, 0x816E, 0xE448, 0x8165, 0xE449, 0x8166, 0xE44A, 0x8174, 0xE44B, 0x8183, - 0xE44C, 0x8188, 0xE44D, 0x818A, 0xE44E, 0x8180, 0xE44F, 0x8182, 0xE450, 0x81A0, 0xE451, 0x8195, 0xE452, 0x81A4, 0xE453, 0x81A3, - 0xE454, 0x815F, 0xE455, 0x8193, 0xE456, 0x81A9, 0xE457, 0x81B0, 0xE458, 0x81B5, 0xE459, 0x81BE, 0xE45A, 0x81B8, 0xE45B, 0x81BD, - 0xE45C, 0x81C0, 0xE45D, 0x81C2, 0xE45E, 0x81BA, 0xE45F, 0x81C9, 0xE460, 0x81CD, 0xE461, 0x81D1, 0xE462, 0x81D9, 0xE463, 0x81D8, - 0xE464, 0x81C8, 0xE465, 0x81DA, 0xE466, 0x81DF, 0xE467, 0x81E0, 0xE468, 0x81E7, 0xE469, 0x81FA, 0xE46A, 0x81FB, 0xE46B, 0x81FE, - 0xE46C, 0x8201, 0xE46D, 0x8202, 0xE46E, 0x8205, 0xE46F, 0x8207, 0xE470, 0x820A, 0xE471, 0x820D, 0xE472, 0x8210, 0xE473, 0x8216, - 0xE474, 0x8229, 0xE475, 0x822B, 0xE476, 0x8238, 0xE477, 0x8233, 0xE478, 0x8240, 0xE479, 0x8259, 0xE47A, 0x8258, 0xE47B, 0x825D, - 0xE47C, 0x825A, 0xE47D, 0x825F, 0xE47E, 0x8264, 0xE480, 0x8262, 0xE481, 0x8268, 0xE482, 0x826A, 0xE483, 0x826B, 0xE484, 0x822E, - 0xE485, 0x8271, 0xE486, 0x8277, 0xE487, 0x8278, 0xE488, 0x827E, 0xE489, 0x828D, 0xE48A, 0x8292, 0xE48B, 0x82AB, 0xE48C, 0x829F, - 0xE48D, 0x82BB, 0xE48E, 0x82AC, 0xE48F, 0x82E1, 0xE490, 0x82E3, 0xE491, 0x82DF, 0xE492, 0x82D2, 0xE493, 0x82F4, 0xE494, 0x82F3, - 0xE495, 0x82FA, 0xE496, 0x8393, 0xE497, 0x8303, 0xE498, 0x82FB, 0xE499, 0x82F9, 0xE49A, 0x82DE, 0xE49B, 0x8306, 0xE49C, 0x82DC, - 0xE49D, 0x8309, 0xE49E, 0x82D9, 0xE49F, 0x8335, 0xE4A0, 0x8334, 0xE4A1, 0x8316, 0xE4A2, 0x8332, 0xE4A3, 0x8331, 0xE4A4, 0x8340, - 0xE4A5, 0x8339, 0xE4A6, 0x8350, 0xE4A7, 0x8345, 0xE4A8, 0x832F, 0xE4A9, 0x832B, 0xE4AA, 0x8317, 0xE4AB, 0x8318, 0xE4AC, 0x8385, - 0xE4AD, 0x839A, 0xE4AE, 0x83AA, 0xE4AF, 0x839F, 0xE4B0, 0x83A2, 0xE4B1, 0x8396, 0xE4B2, 0x8323, 0xE4B3, 0x838E, 0xE4B4, 0x8387, - 0xE4B5, 0x838A, 0xE4B6, 0x837C, 0xE4B7, 0x83B5, 0xE4B8, 0x8373, 0xE4B9, 0x8375, 0xE4BA, 0x83A0, 0xE4BB, 0x8389, 0xE4BC, 0x83A8, - 0xE4BD, 0x83F4, 0xE4BE, 0x8413, 0xE4BF, 0x83EB, 0xE4C0, 0x83CE, 0xE4C1, 0x83FD, 0xE4C2, 0x8403, 0xE4C3, 0x83D8, 0xE4C4, 0x840B, - 0xE4C5, 0x83C1, 0xE4C6, 0x83F7, 0xE4C7, 0x8407, 0xE4C8, 0x83E0, 0xE4C9, 0x83F2, 0xE4CA, 0x840D, 0xE4CB, 0x8422, 0xE4CC, 0x8420, - 0xE4CD, 0x83BD, 0xE4CE, 0x8438, 0xE4CF, 0x8506, 0xE4D0, 0x83FB, 0xE4D1, 0x846D, 0xE4D2, 0x842A, 0xE4D3, 0x843C, 0xE4D4, 0x855A, - 0xE4D5, 0x8484, 0xE4D6, 0x8477, 0xE4D7, 0x846B, 0xE4D8, 0x84AD, 0xE4D9, 0x846E, 0xE4DA, 0x8482, 0xE4DB, 0x8469, 0xE4DC, 0x8446, - 0xE4DD, 0x842C, 0xE4DE, 0x846F, 0xE4DF, 0x8479, 0xE4E0, 0x8435, 0xE4E1, 0x84CA, 0xE4E2, 0x8462, 0xE4E3, 0x84B9, 0xE4E4, 0x84BF, - 0xE4E5, 0x849F, 0xE4E6, 0x84D9, 0xE4E7, 0x84CD, 0xE4E8, 0x84BB, 0xE4E9, 0x84DA, 0xE4EA, 0x84D0, 0xE4EB, 0x84C1, 0xE4EC, 0x84C6, - 0xE4ED, 0x84D6, 0xE4EE, 0x84A1, 0xE4EF, 0x8521, 0xE4F0, 0x84FF, 0xE4F1, 0x84F4, 0xE4F2, 0x8517, 0xE4F3, 0x8518, 0xE4F4, 0x852C, - 0xE4F5, 0x851F, 0xE4F6, 0x8515, 0xE4F7, 0x8514, 0xE4F8, 0x84FC, 0xE4F9, 0x8540, 0xE4FA, 0x8563, 0xE4FB, 0x8558, 0xE4FC, 0x8548, - 0xE540, 0x8541, 0xE541, 0x8602, 0xE542, 0x854B, 0xE543, 0x8555, 0xE544, 0x8580, 0xE545, 0x85A4, 0xE546, 0x8588, 0xE547, 0x8591, - 0xE548, 0x858A, 0xE549, 0x85A8, 0xE54A, 0x856D, 0xE54B, 0x8594, 0xE54C, 0x859B, 0xE54D, 0x85EA, 0xE54E, 0x8587, 0xE54F, 0x859C, - 0xE550, 0x8577, 0xE551, 0x857E, 0xE552, 0x8590, 0xE553, 0x85C9, 0xE554, 0x85BA, 0xE555, 0x85CF, 0xE556, 0x85B9, 0xE557, 0x85D0, - 0xE558, 0x85D5, 0xE559, 0x85DD, 0xE55A, 0x85E5, 0xE55B, 0x85DC, 0xE55C, 0x85F9, 0xE55D, 0x860A, 0xE55E, 0x8613, 0xE55F, 0x860B, - 0xE560, 0x85FE, 0xE561, 0x85FA, 0xE562, 0x8606, 0xE563, 0x8622, 0xE564, 0x861A, 0xE565, 0x8630, 0xE566, 0x863F, 0xE567, 0x864D, - 0xE568, 0x4E55, 0xE569, 0x8654, 0xE56A, 0x865F, 0xE56B, 0x8667, 0xE56C, 0x8671, 0xE56D, 0x8693, 0xE56E, 0x86A3, 0xE56F, 0x86A9, - 0xE570, 0x86AA, 0xE571, 0x868B, 0xE572, 0x868C, 0xE573, 0x86B6, 0xE574, 0x86AF, 0xE575, 0x86C4, 0xE576, 0x86C6, 0xE577, 0x86B0, - 0xE578, 0x86C9, 0xE579, 0x8823, 0xE57A, 0x86AB, 0xE57B, 0x86D4, 0xE57C, 0x86DE, 0xE57D, 0x86E9, 0xE57E, 0x86EC, 0xE580, 0x86DF, - 0xE581, 0x86DB, 0xE582, 0x86EF, 0xE583, 0x8712, 0xE584, 0x8706, 0xE585, 0x8708, 0xE586, 0x8700, 0xE587, 0x8703, 0xE588, 0x86FB, - 0xE589, 0x8711, 0xE58A, 0x8709, 0xE58B, 0x870D, 0xE58C, 0x86F9, 0xE58D, 0x870A, 0xE58E, 0x8734, 0xE58F, 0x873F, 0xE590, 0x8737, - 0xE591, 0x873B, 0xE592, 0x8725, 0xE593, 0x8729, 0xE594, 0x871A, 0xE595, 0x8760, 0xE596, 0x875F, 0xE597, 0x8778, 0xE598, 0x874C, - 0xE599, 0x874E, 0xE59A, 0x8774, 0xE59B, 0x8757, 0xE59C, 0x8768, 0xE59D, 0x876E, 0xE59E, 0x8759, 0xE59F, 0x8753, 0xE5A0, 0x8763, - 0xE5A1, 0x876A, 0xE5A2, 0x8805, 0xE5A3, 0x87A2, 0xE5A4, 0x879F, 0xE5A5, 0x8782, 0xE5A6, 0x87AF, 0xE5A7, 0x87CB, 0xE5A8, 0x87BD, - 0xE5A9, 0x87C0, 0xE5AA, 0x87D0, 0xE5AB, 0x96D6, 0xE5AC, 0x87AB, 0xE5AD, 0x87C4, 0xE5AE, 0x87B3, 0xE5AF, 0x87C7, 0xE5B0, 0x87C6, - 0xE5B1, 0x87BB, 0xE5B2, 0x87EF, 0xE5B3, 0x87F2, 0xE5B4, 0x87E0, 0xE5B5, 0x880F, 0xE5B6, 0x880D, 0xE5B7, 0x87FE, 0xE5B8, 0x87F6, - 0xE5B9, 0x87F7, 0xE5BA, 0x880E, 0xE5BB, 0x87D2, 0xE5BC, 0x8811, 0xE5BD, 0x8816, 0xE5BE, 0x8815, 0xE5BF, 0x8822, 0xE5C0, 0x8821, - 0xE5C1, 0x8831, 0xE5C2, 0x8836, 0xE5C3, 0x8839, 0xE5C4, 0x8827, 0xE5C5, 0x883B, 0xE5C6, 0x8844, 0xE5C7, 0x8842, 0xE5C8, 0x8852, - 0xE5C9, 0x8859, 0xE5CA, 0x885E, 0xE5CB, 0x8862, 0xE5CC, 0x886B, 0xE5CD, 0x8881, 0xE5CE, 0x887E, 0xE5CF, 0x889E, 0xE5D0, 0x8875, - 0xE5D1, 0x887D, 0xE5D2, 0x88B5, 0xE5D3, 0x8872, 0xE5D4, 0x8882, 0xE5D5, 0x8897, 0xE5D6, 0x8892, 0xE5D7, 0x88AE, 0xE5D8, 0x8899, - 0xE5D9, 0x88A2, 0xE5DA, 0x888D, 0xE5DB, 0x88A4, 0xE5DC, 0x88B0, 0xE5DD, 0x88BF, 0xE5DE, 0x88B1, 0xE5DF, 0x88C3, 0xE5E0, 0x88C4, - 0xE5E1, 0x88D4, 0xE5E2, 0x88D8, 0xE5E3, 0x88D9, 0xE5E4, 0x88DD, 0xE5E5, 0x88F9, 0xE5E6, 0x8902, 0xE5E7, 0x88FC, 0xE5E8, 0x88F4, - 0xE5E9, 0x88E8, 0xE5EA, 0x88F2, 0xE5EB, 0x8904, 0xE5EC, 0x890C, 0xE5ED, 0x890A, 0xE5EE, 0x8913, 0xE5EF, 0x8943, 0xE5F0, 0x891E, - 0xE5F1, 0x8925, 0xE5F2, 0x892A, 0xE5F3, 0x892B, 0xE5F4, 0x8941, 0xE5F5, 0x8944, 0xE5F6, 0x893B, 0xE5F7, 0x8936, 0xE5F8, 0x8938, - 0xE5F9, 0x894C, 0xE5FA, 0x891D, 0xE5FB, 0x8960, 0xE5FC, 0x895E, 0xE640, 0x8966, 0xE641, 0x8964, 0xE642, 0x896D, 0xE643, 0x896A, - 0xE644, 0x896F, 0xE645, 0x8974, 0xE646, 0x8977, 0xE647, 0x897E, 0xE648, 0x8983, 0xE649, 0x8988, 0xE64A, 0x898A, 0xE64B, 0x8993, - 0xE64C, 0x8998, 0xE64D, 0x89A1, 0xE64E, 0x89A9, 0xE64F, 0x89A6, 0xE650, 0x89AC, 0xE651, 0x89AF, 0xE652, 0x89B2, 0xE653, 0x89BA, - 0xE654, 0x89BD, 0xE655, 0x89BF, 0xE656, 0x89C0, 0xE657, 0x89DA, 0xE658, 0x89DC, 0xE659, 0x89DD, 0xE65A, 0x89E7, 0xE65B, 0x89F4, - 0xE65C, 0x89F8, 0xE65D, 0x8A03, 0xE65E, 0x8A16, 0xE65F, 0x8A10, 0xE660, 0x8A0C, 0xE661, 0x8A1B, 0xE662, 0x8A1D, 0xE663, 0x8A25, - 0xE664, 0x8A36, 0xE665, 0x8A41, 0xE666, 0x8A5B, 0xE667, 0x8A52, 0xE668, 0x8A46, 0xE669, 0x8A48, 0xE66A, 0x8A7C, 0xE66B, 0x8A6D, - 0xE66C, 0x8A6C, 0xE66D, 0x8A62, 0xE66E, 0x8A85, 0xE66F, 0x8A82, 0xE670, 0x8A84, 0xE671, 0x8AA8, 0xE672, 0x8AA1, 0xE673, 0x8A91, - 0xE674, 0x8AA5, 0xE675, 0x8AA6, 0xE676, 0x8A9A, 0xE677, 0x8AA3, 0xE678, 0x8AC4, 0xE679, 0x8ACD, 0xE67A, 0x8AC2, 0xE67B, 0x8ADA, - 0xE67C, 0x8AEB, 0xE67D, 0x8AF3, 0xE67E, 0x8AE7, 0xE680, 0x8AE4, 0xE681, 0x8AF1, 0xE682, 0x8B14, 0xE683, 0x8AE0, 0xE684, 0x8AE2, - 0xE685, 0x8AF7, 0xE686, 0x8ADE, 0xE687, 0x8ADB, 0xE688, 0x8B0C, 0xE689, 0x8B07, 0xE68A, 0x8B1A, 0xE68B, 0x8AE1, 0xE68C, 0x8B16, - 0xE68D, 0x8B10, 0xE68E, 0x8B17, 0xE68F, 0x8B20, 0xE690, 0x8B33, 0xE691, 0x97AB, 0xE692, 0x8B26, 0xE693, 0x8B2B, 0xE694, 0x8B3E, - 0xE695, 0x8B28, 0xE696, 0x8B41, 0xE697, 0x8B4C, 0xE698, 0x8B4F, 0xE699, 0x8B4E, 0xE69A, 0x8B49, 0xE69B, 0x8B56, 0xE69C, 0x8B5B, - 0xE69D, 0x8B5A, 0xE69E, 0x8B6B, 0xE69F, 0x8B5F, 0xE6A0, 0x8B6C, 0xE6A1, 0x8B6F, 0xE6A2, 0x8B74, 0xE6A3, 0x8B7D, 0xE6A4, 0x8B80, - 0xE6A5, 0x8B8C, 0xE6A6, 0x8B8E, 0xE6A7, 0x8B92, 0xE6A8, 0x8B93, 0xE6A9, 0x8B96, 0xE6AA, 0x8B99, 0xE6AB, 0x8B9A, 0xE6AC, 0x8C3A, - 0xE6AD, 0x8C41, 0xE6AE, 0x8C3F, 0xE6AF, 0x8C48, 0xE6B0, 0x8C4C, 0xE6B1, 0x8C4E, 0xE6B2, 0x8C50, 0xE6B3, 0x8C55, 0xE6B4, 0x8C62, - 0xE6B5, 0x8C6C, 0xE6B6, 0x8C78, 0xE6B7, 0x8C7A, 0xE6B8, 0x8C82, 0xE6B9, 0x8C89, 0xE6BA, 0x8C85, 0xE6BB, 0x8C8A, 0xE6BC, 0x8C8D, - 0xE6BD, 0x8C8E, 0xE6BE, 0x8C94, 0xE6BF, 0x8C7C, 0xE6C0, 0x8C98, 0xE6C1, 0x621D, 0xE6C2, 0x8CAD, 0xE6C3, 0x8CAA, 0xE6C4, 0x8CBD, - 0xE6C5, 0x8CB2, 0xE6C6, 0x8CB3, 0xE6C7, 0x8CAE, 0xE6C8, 0x8CB6, 0xE6C9, 0x8CC8, 0xE6CA, 0x8CC1, 0xE6CB, 0x8CE4, 0xE6CC, 0x8CE3, - 0xE6CD, 0x8CDA, 0xE6CE, 0x8CFD, 0xE6CF, 0x8CFA, 0xE6D0, 0x8CFB, 0xE6D1, 0x8D04, 0xE6D2, 0x8D05, 0xE6D3, 0x8D0A, 0xE6D4, 0x8D07, - 0xE6D5, 0x8D0F, 0xE6D6, 0x8D0D, 0xE6D7, 0x8D10, 0xE6D8, 0x9F4E, 0xE6D9, 0x8D13, 0xE6DA, 0x8CCD, 0xE6DB, 0x8D14, 0xE6DC, 0x8D16, - 0xE6DD, 0x8D67, 0xE6DE, 0x8D6D, 0xE6DF, 0x8D71, 0xE6E0, 0x8D73, 0xE6E1, 0x8D81, 0xE6E2, 0x8D99, 0xE6E3, 0x8DC2, 0xE6E4, 0x8DBE, - 0xE6E5, 0x8DBA, 0xE6E6, 0x8DCF, 0xE6E7, 0x8DDA, 0xE6E8, 0x8DD6, 0xE6E9, 0x8DCC, 0xE6EA, 0x8DDB, 0xE6EB, 0x8DCB, 0xE6EC, 0x8DEA, - 0xE6ED, 0x8DEB, 0xE6EE, 0x8DDF, 0xE6EF, 0x8DE3, 0xE6F0, 0x8DFC, 0xE6F1, 0x8E08, 0xE6F2, 0x8E09, 0xE6F3, 0x8DFF, 0xE6F4, 0x8E1D, - 0xE6F5, 0x8E1E, 0xE6F6, 0x8E10, 0xE6F7, 0x8E1F, 0xE6F8, 0x8E42, 0xE6F9, 0x8E35, 0xE6FA, 0x8E30, 0xE6FB, 0x8E34, 0xE6FC, 0x8E4A, - 0xE740, 0x8E47, 0xE741, 0x8E49, 0xE742, 0x8E4C, 0xE743, 0x8E50, 0xE744, 0x8E48, 0xE745, 0x8E59, 0xE746, 0x8E64, 0xE747, 0x8E60, - 0xE748, 0x8E2A, 0xE749, 0x8E63, 0xE74A, 0x8E55, 0xE74B, 0x8E76, 0xE74C, 0x8E72, 0xE74D, 0x8E7C, 0xE74E, 0x8E81, 0xE74F, 0x8E87, - 0xE750, 0x8E85, 0xE751, 0x8E84, 0xE752, 0x8E8B, 0xE753, 0x8E8A, 0xE754, 0x8E93, 0xE755, 0x8E91, 0xE756, 0x8E94, 0xE757, 0x8E99, - 0xE758, 0x8EAA, 0xE759, 0x8EA1, 0xE75A, 0x8EAC, 0xE75B, 0x8EB0, 0xE75C, 0x8EC6, 0xE75D, 0x8EB1, 0xE75E, 0x8EBE, 0xE75F, 0x8EC5, - 0xE760, 0x8EC8, 0xE761, 0x8ECB, 0xE762, 0x8EDB, 0xE763, 0x8EE3, 0xE764, 0x8EFC, 0xE765, 0x8EFB, 0xE766, 0x8EEB, 0xE767, 0x8EFE, - 0xE768, 0x8F0A, 0xE769, 0x8F05, 0xE76A, 0x8F15, 0xE76B, 0x8F12, 0xE76C, 0x8F19, 0xE76D, 0x8F13, 0xE76E, 0x8F1C, 0xE76F, 0x8F1F, - 0xE770, 0x8F1B, 0xE771, 0x8F0C, 0xE772, 0x8F26, 0xE773, 0x8F33, 0xE774, 0x8F3B, 0xE775, 0x8F39, 0xE776, 0x8F45, 0xE777, 0x8F42, - 0xE778, 0x8F3E, 0xE779, 0x8F4C, 0xE77A, 0x8F49, 0xE77B, 0x8F46, 0xE77C, 0x8F4E, 0xE77D, 0x8F57, 0xE77E, 0x8F5C, 0xE780, 0x8F62, - 0xE781, 0x8F63, 0xE782, 0x8F64, 0xE783, 0x8F9C, 0xE784, 0x8F9F, 0xE785, 0x8FA3, 0xE786, 0x8FAD, 0xE787, 0x8FAF, 0xE788, 0x8FB7, - 0xE789, 0x8FDA, 0xE78A, 0x8FE5, 0xE78B, 0x8FE2, 0xE78C, 0x8FEA, 0xE78D, 0x8FEF, 0xE78E, 0x9087, 0xE78F, 0x8FF4, 0xE790, 0x9005, - 0xE791, 0x8FF9, 0xE792, 0x8FFA, 0xE793, 0x9011, 0xE794, 0x9015, 0xE795, 0x9021, 0xE796, 0x900D, 0xE797, 0x901E, 0xE798, 0x9016, - 0xE799, 0x900B, 0xE79A, 0x9027, 0xE79B, 0x9036, 0xE79C, 0x9035, 0xE79D, 0x9039, 0xE79E, 0x8FF8, 0xE79F, 0x904F, 0xE7A0, 0x9050, - 0xE7A1, 0x9051, 0xE7A2, 0x9052, 0xE7A3, 0x900E, 0xE7A4, 0x9049, 0xE7A5, 0x903E, 0xE7A6, 0x9056, 0xE7A7, 0x9058, 0xE7A8, 0x905E, - 0xE7A9, 0x9068, 0xE7AA, 0x906F, 0xE7AB, 0x9076, 0xE7AC, 0x96A8, 0xE7AD, 0x9072, 0xE7AE, 0x9082, 0xE7AF, 0x907D, 0xE7B0, 0x9081, - 0xE7B1, 0x9080, 0xE7B2, 0x908A, 0xE7B3, 0x9089, 0xE7B4, 0x908F, 0xE7B5, 0x90A8, 0xE7B6, 0x90AF, 0xE7B7, 0x90B1, 0xE7B8, 0x90B5, - 0xE7B9, 0x90E2, 0xE7BA, 0x90E4, 0xE7BB, 0x6248, 0xE7BC, 0x90DB, 0xE7BD, 0x9102, 0xE7BE, 0x9112, 0xE7BF, 0x9119, 0xE7C0, 0x9132, - 0xE7C1, 0x9130, 0xE7C2, 0x914A, 0xE7C3, 0x9156, 0xE7C4, 0x9158, 0xE7C5, 0x9163, 0xE7C6, 0x9165, 0xE7C7, 0x9169, 0xE7C8, 0x9173, - 0xE7C9, 0x9172, 0xE7CA, 0x918B, 0xE7CB, 0x9189, 0xE7CC, 0x9182, 0xE7CD, 0x91A2, 0xE7CE, 0x91AB, 0xE7CF, 0x91AF, 0xE7D0, 0x91AA, - 0xE7D1, 0x91B5, 0xE7D2, 0x91B4, 0xE7D3, 0x91BA, 0xE7D4, 0x91C0, 0xE7D5, 0x91C1, 0xE7D6, 0x91C9, 0xE7D7, 0x91CB, 0xE7D8, 0x91D0, - 0xE7D9, 0x91D6, 0xE7DA, 0x91DF, 0xE7DB, 0x91E1, 0xE7DC, 0x91DB, 0xE7DD, 0x91FC, 0xE7DE, 0x91F5, 0xE7DF, 0x91F6, 0xE7E0, 0x921E, - 0xE7E1, 0x91FF, 0xE7E2, 0x9214, 0xE7E3, 0x922C, 0xE7E4, 0x9215, 0xE7E5, 0x9211, 0xE7E6, 0x925E, 0xE7E7, 0x9257, 0xE7E8, 0x9245, - 0xE7E9, 0x9249, 0xE7EA, 0x9264, 0xE7EB, 0x9248, 0xE7EC, 0x9295, 0xE7ED, 0x923F, 0xE7EE, 0x924B, 0xE7EF, 0x9250, 0xE7F0, 0x929C, - 0xE7F1, 0x9296, 0xE7F2, 0x9293, 0xE7F3, 0x929B, 0xE7F4, 0x925A, 0xE7F5, 0x92CF, 0xE7F6, 0x92B9, 0xE7F7, 0x92B7, 0xE7F8, 0x92E9, - 0xE7F9, 0x930F, 0xE7FA, 0x92FA, 0xE7FB, 0x9344, 0xE7FC, 0x932E, 0xE840, 0x9319, 0xE841, 0x9322, 0xE842, 0x931A, 0xE843, 0x9323, - 0xE844, 0x933A, 0xE845, 0x9335, 0xE846, 0x933B, 0xE847, 0x935C, 0xE848, 0x9360, 0xE849, 0x937C, 0xE84A, 0x936E, 0xE84B, 0x9356, - 0xE84C, 0x93B0, 0xE84D, 0x93AC, 0xE84E, 0x93AD, 0xE84F, 0x9394, 0xE850, 0x93B9, 0xE851, 0x93D6, 0xE852, 0x93D7, 0xE853, 0x93E8, - 0xE854, 0x93E5, 0xE855, 0x93D8, 0xE856, 0x93C3, 0xE857, 0x93DD, 0xE858, 0x93D0, 0xE859, 0x93C8, 0xE85A, 0x93E4, 0xE85B, 0x941A, - 0xE85C, 0x9414, 0xE85D, 0x9413, 0xE85E, 0x9403, 0xE85F, 0x9407, 0xE860, 0x9410, 0xE861, 0x9436, 0xE862, 0x942B, 0xE863, 0x9435, - 0xE864, 0x9421, 0xE865, 0x943A, 0xE866, 0x9441, 0xE867, 0x9452, 0xE868, 0x9444, 0xE869, 0x945B, 0xE86A, 0x9460, 0xE86B, 0x9462, - 0xE86C, 0x945E, 0xE86D, 0x946A, 0xE86E, 0x9229, 0xE86F, 0x9470, 0xE870, 0x9475, 0xE871, 0x9477, 0xE872, 0x947D, 0xE873, 0x945A, - 0xE874, 0x947C, 0xE875, 0x947E, 0xE876, 0x9481, 0xE877, 0x947F, 0xE878, 0x9582, 0xE879, 0x9587, 0xE87A, 0x958A, 0xE87B, 0x9594, - 0xE87C, 0x9596, 0xE87D, 0x9598, 0xE87E, 0x9599, 0xE880, 0x95A0, 0xE881, 0x95A8, 0xE882, 0x95A7, 0xE883, 0x95AD, 0xE884, 0x95BC, - 0xE885, 0x95BB, 0xE886, 0x95B9, 0xE887, 0x95BE, 0xE888, 0x95CA, 0xE889, 0x6FF6, 0xE88A, 0x95C3, 0xE88B, 0x95CD, 0xE88C, 0x95CC, - 0xE88D, 0x95D5, 0xE88E, 0x95D4, 0xE88F, 0x95D6, 0xE890, 0x95DC, 0xE891, 0x95E1, 0xE892, 0x95E5, 0xE893, 0x95E2, 0xE894, 0x9621, - 0xE895, 0x9628, 0xE896, 0x962E, 0xE897, 0x962F, 0xE898, 0x9642, 0xE899, 0x964C, 0xE89A, 0x964F, 0xE89B, 0x964B, 0xE89C, 0x9677, - 0xE89D, 0x965C, 0xE89E, 0x965E, 0xE89F, 0x965D, 0xE8A0, 0x965F, 0xE8A1, 0x9666, 0xE8A2, 0x9672, 0xE8A3, 0x966C, 0xE8A4, 0x968D, - 0xE8A5, 0x9698, 0xE8A6, 0x9695, 0xE8A7, 0x9697, 0xE8A8, 0x96AA, 0xE8A9, 0x96A7, 0xE8AA, 0x96B1, 0xE8AB, 0x96B2, 0xE8AC, 0x96B0, - 0xE8AD, 0x96B4, 0xE8AE, 0x96B6, 0xE8AF, 0x96B8, 0xE8B0, 0x96B9, 0xE8B1, 0x96CE, 0xE8B2, 0x96CB, 0xE8B3, 0x96C9, 0xE8B4, 0x96CD, - 0xE8B5, 0x894D, 0xE8B6, 0x96DC, 0xE8B7, 0x970D, 0xE8B8, 0x96D5, 0xE8B9, 0x96F9, 0xE8BA, 0x9704, 0xE8BB, 0x9706, 0xE8BC, 0x9708, - 0xE8BD, 0x9713, 0xE8BE, 0x970E, 0xE8BF, 0x9711, 0xE8C0, 0x970F, 0xE8C1, 0x9716, 0xE8C2, 0x9719, 0xE8C3, 0x9724, 0xE8C4, 0x972A, - 0xE8C5, 0x9730, 0xE8C6, 0x9739, 0xE8C7, 0x973D, 0xE8C8, 0x973E, 0xE8C9, 0x9744, 0xE8CA, 0x9746, 0xE8CB, 0x9748, 0xE8CC, 0x9742, - 0xE8CD, 0x9749, 0xE8CE, 0x975C, 0xE8CF, 0x9760, 0xE8D0, 0x9764, 0xE8D1, 0x9766, 0xE8D2, 0x9768, 0xE8D3, 0x52D2, 0xE8D4, 0x976B, - 0xE8D5, 0x9771, 0xE8D6, 0x9779, 0xE8D7, 0x9785, 0xE8D8, 0x977C, 0xE8D9, 0x9781, 0xE8DA, 0x977A, 0xE8DB, 0x9786, 0xE8DC, 0x978B, - 0xE8DD, 0x978F, 0xE8DE, 0x9790, 0xE8DF, 0x979C, 0xE8E0, 0x97A8, 0xE8E1, 0x97A6, 0xE8E2, 0x97A3, 0xE8E3, 0x97B3, 0xE8E4, 0x97B4, - 0xE8E5, 0x97C3, 0xE8E6, 0x97C6, 0xE8E7, 0x97C8, 0xE8E8, 0x97CB, 0xE8E9, 0x97DC, 0xE8EA, 0x97ED, 0xE8EB, 0x9F4F, 0xE8EC, 0x97F2, - 0xE8ED, 0x7ADF, 0xE8EE, 0x97F6, 0xE8EF, 0x97F5, 0xE8F0, 0x980F, 0xE8F1, 0x980C, 0xE8F2, 0x9838, 0xE8F3, 0x9824, 0xE8F4, 0x9821, - 0xE8F5, 0x9837, 0xE8F6, 0x983D, 0xE8F7, 0x9846, 0xE8F8, 0x984F, 0xE8F9, 0x984B, 0xE8FA, 0x986B, 0xE8FB, 0x986F, 0xE8FC, 0x9870, - 0xE940, 0x9871, 0xE941, 0x9874, 0xE942, 0x9873, 0xE943, 0x98AA, 0xE944, 0x98AF, 0xE945, 0x98B1, 0xE946, 0x98B6, 0xE947, 0x98C4, - 0xE948, 0x98C3, 0xE949, 0x98C6, 0xE94A, 0x98E9, 0xE94B, 0x98EB, 0xE94C, 0x9903, 0xE94D, 0x9909, 0xE94E, 0x9912, 0xE94F, 0x9914, - 0xE950, 0x9918, 0xE951, 0x9921, 0xE952, 0x991D, 0xE953, 0x991E, 0xE954, 0x9924, 0xE955, 0x9920, 0xE956, 0x992C, 0xE957, 0x992E, - 0xE958, 0x993D, 0xE959, 0x993E, 0xE95A, 0x9942, 0xE95B, 0x9949, 0xE95C, 0x9945, 0xE95D, 0x9950, 0xE95E, 0x994B, 0xE95F, 0x9951, - 0xE960, 0x9952, 0xE961, 0x994C, 0xE962, 0x9955, 0xE963, 0x9997, 0xE964, 0x9998, 0xE965, 0x99A5, 0xE966, 0x99AD, 0xE967, 0x99AE, - 0xE968, 0x99BC, 0xE969, 0x99DF, 0xE96A, 0x99DB, 0xE96B, 0x99DD, 0xE96C, 0x99D8, 0xE96D, 0x99D1, 0xE96E, 0x99ED, 0xE96F, 0x99EE, - 0xE970, 0x99F1, 0xE971, 0x99F2, 0xE972, 0x99FB, 0xE973, 0x99F8, 0xE974, 0x9A01, 0xE975, 0x9A0F, 0xE976, 0x9A05, 0xE977, 0x99E2, - 0xE978, 0x9A19, 0xE979, 0x9A2B, 0xE97A, 0x9A37, 0xE97B, 0x9A45, 0xE97C, 0x9A42, 0xE97D, 0x9A40, 0xE97E, 0x9A43, 0xE980, 0x9A3E, - 0xE981, 0x9A55, 0xE982, 0x9A4D, 0xE983, 0x9A5B, 0xE984, 0x9A57, 0xE985, 0x9A5F, 0xE986, 0x9A62, 0xE987, 0x9A65, 0xE988, 0x9A64, - 0xE989, 0x9A69, 0xE98A, 0x9A6B, 0xE98B, 0x9A6A, 0xE98C, 0x9AAD, 0xE98D, 0x9AB0, 0xE98E, 0x9ABC, 0xE98F, 0x9AC0, 0xE990, 0x9ACF, - 0xE991, 0x9AD1, 0xE992, 0x9AD3, 0xE993, 0x9AD4, 0xE994, 0x9ADE, 0xE995, 0x9ADF, 0xE996, 0x9AE2, 0xE997, 0x9AE3, 0xE998, 0x9AE6, - 0xE999, 0x9AEF, 0xE99A, 0x9AEB, 0xE99B, 0x9AEE, 0xE99C, 0x9AF4, 0xE99D, 0x9AF1, 0xE99E, 0x9AF7, 0xE99F, 0x9AFB, 0xE9A0, 0x9B06, - 0xE9A1, 0x9B18, 0xE9A2, 0x9B1A, 0xE9A3, 0x9B1F, 0xE9A4, 0x9B22, 0xE9A5, 0x9B23, 0xE9A6, 0x9B25, 0xE9A7, 0x9B27, 0xE9A8, 0x9B28, - 0xE9A9, 0x9B29, 0xE9AA, 0x9B2A, 0xE9AB, 0x9B2E, 0xE9AC, 0x9B2F, 0xE9AD, 0x9B32, 0xE9AE, 0x9B44, 0xE9AF, 0x9B43, 0xE9B0, 0x9B4F, - 0xE9B1, 0x9B4D, 0xE9B2, 0x9B4E, 0xE9B3, 0x9B51, 0xE9B4, 0x9B58, 0xE9B5, 0x9B74, 0xE9B6, 0x9B93, 0xE9B7, 0x9B83, 0xE9B8, 0x9B91, - 0xE9B9, 0x9B96, 0xE9BA, 0x9B97, 0xE9BB, 0x9B9F, 0xE9BC, 0x9BA0, 0xE9BD, 0x9BA8, 0xE9BE, 0x9BB4, 0xE9BF, 0x9BC0, 0xE9C0, 0x9BCA, - 0xE9C1, 0x9BB9, 0xE9C2, 0x9BC6, 0xE9C3, 0x9BCF, 0xE9C4, 0x9BD1, 0xE9C5, 0x9BD2, 0xE9C6, 0x9BE3, 0xE9C7, 0x9BE2, 0xE9C8, 0x9BE4, - 0xE9C9, 0x9BD4, 0xE9CA, 0x9BE1, 0xE9CB, 0x9C3A, 0xE9CC, 0x9BF2, 0xE9CD, 0x9BF1, 0xE9CE, 0x9BF0, 0xE9CF, 0x9C15, 0xE9D0, 0x9C14, - 0xE9D1, 0x9C09, 0xE9D2, 0x9C13, 0xE9D3, 0x9C0C, 0xE9D4, 0x9C06, 0xE9D5, 0x9C08, 0xE9D6, 0x9C12, 0xE9D7, 0x9C0A, 0xE9D8, 0x9C04, - 0xE9D9, 0x9C2E, 0xE9DA, 0x9C1B, 0xE9DB, 0x9C25, 0xE9DC, 0x9C24, 0xE9DD, 0x9C21, 0xE9DE, 0x9C30, 0xE9DF, 0x9C47, 0xE9E0, 0x9C32, - 0xE9E1, 0x9C46, 0xE9E2, 0x9C3E, 0xE9E3, 0x9C5A, 0xE9E4, 0x9C60, 0xE9E5, 0x9C67, 0xE9E6, 0x9C76, 0xE9E7, 0x9C78, 0xE9E8, 0x9CE7, - 0xE9E9, 0x9CEC, 0xE9EA, 0x9CF0, 0xE9EB, 0x9D09, 0xE9EC, 0x9D08, 0xE9ED, 0x9CEB, 0xE9EE, 0x9D03, 0xE9EF, 0x9D06, 0xE9F0, 0x9D2A, - 0xE9F1, 0x9D26, 0xE9F2, 0x9DAF, 0xE9F3, 0x9D23, 0xE9F4, 0x9D1F, 0xE9F5, 0x9D44, 0xE9F6, 0x9D15, 0xE9F7, 0x9D12, 0xE9F8, 0x9D41, - 0xE9F9, 0x9D3F, 0xE9FA, 0x9D3E, 0xE9FB, 0x9D46, 0xE9FC, 0x9D48, 0xEA40, 0x9D5D, 0xEA41, 0x9D5E, 0xEA42, 0x9D64, 0xEA43, 0x9D51, - 0xEA44, 0x9D50, 0xEA45, 0x9D59, 0xEA46, 0x9D72, 0xEA47, 0x9D89, 0xEA48, 0x9D87, 0xEA49, 0x9DAB, 0xEA4A, 0x9D6F, 0xEA4B, 0x9D7A, - 0xEA4C, 0x9D9A, 0xEA4D, 0x9DA4, 0xEA4E, 0x9DA9, 0xEA4F, 0x9DB2, 0xEA50, 0x9DC4, 0xEA51, 0x9DC1, 0xEA52, 0x9DBB, 0xEA53, 0x9DB8, - 0xEA54, 0x9DBA, 0xEA55, 0x9DC6, 0xEA56, 0x9DCF, 0xEA57, 0x9DC2, 0xEA58, 0x9DD9, 0xEA59, 0x9DD3, 0xEA5A, 0x9DF8, 0xEA5B, 0x9DE6, - 0xEA5C, 0x9DED, 0xEA5D, 0x9DEF, 0xEA5E, 0x9DFD, 0xEA5F, 0x9E1A, 0xEA60, 0x9E1B, 0xEA61, 0x9E1E, 0xEA62, 0x9E75, 0xEA63, 0x9E79, - 0xEA64, 0x9E7D, 0xEA65, 0x9E81, 0xEA66, 0x9E88, 0xEA67, 0x9E8B, 0xEA68, 0x9E8C, 0xEA69, 0x9E92, 0xEA6A, 0x9E95, 0xEA6B, 0x9E91, - 0xEA6C, 0x9E9D, 0xEA6D, 0x9EA5, 0xEA6E, 0x9EA9, 0xEA6F, 0x9EB8, 0xEA70, 0x9EAA, 0xEA71, 0x9EAD, 0xEA72, 0x9761, 0xEA73, 0x9ECC, - 0xEA74, 0x9ECE, 0xEA75, 0x9ECF, 0xEA76, 0x9ED0, 0xEA77, 0x9ED4, 0xEA78, 0x9EDC, 0xEA79, 0x9EDE, 0xEA7A, 0x9EDD, 0xEA7B, 0x9EE0, - 0xEA7C, 0x9EE5, 0xEA7D, 0x9EE8, 0xEA7E, 0x9EEF, 0xEA80, 0x9EF4, 0xEA81, 0x9EF6, 0xEA82, 0x9EF7, 0xEA83, 0x9EF9, 0xEA84, 0x9EFB, - 0xEA85, 0x9EFC, 0xEA86, 0x9EFD, 0xEA87, 0x9F07, 0xEA88, 0x9F08, 0xEA89, 0x76B7, 0xEA8A, 0x9F15, 0xEA8B, 0x9F21, 0xEA8C, 0x9F2C, - 0xEA8D, 0x9F3E, 0xEA8E, 0x9F4A, 0xEA8F, 0x9F52, 0xEA90, 0x9F54, 0xEA91, 0x9F63, 0xEA92, 0x9F5F, 0xEA93, 0x9F60, 0xEA94, 0x9F61, - 0xEA95, 0x9F66, 0xEA96, 0x9F67, 0xEA97, 0x9F6C, 0xEA98, 0x9F6A, 0xEA99, 0x9F77, 0xEA9A, 0x9F72, 0xEA9B, 0x9F76, 0xEA9C, 0x9F95, - 0xEA9D, 0x9F9C, 0xEA9E, 0x9FA0, 0xEA9F, 0x582F, 0xEAA0, 0x69C7, 0xEAA1, 0x9059, 0xEAA2, 0x7464, 0xEAA3, 0x51DC, 0xEAA4, 0x7199, - 0xFA40, 0x2170, 0xFA41, 0x2171, 0xFA42, 0x2172, 0xFA43, 0x2173, 0xFA44, 0x2174, 0xFA45, 0x2175, 0xFA46, 0x2176, 0xFA47, 0x2177, - 0xFA48, 0x2178, 0xFA49, 0x2179, 0xFA55, 0xFFE4, 0xFA56, 0xFF07, 0xFA57, 0xFF02, 0xFA5C, 0x7E8A, 0xFA5D, 0x891C, 0xFA5E, 0x9348, - 0xFA5F, 0x9288, 0xFA60, 0x84DC, 0xFA61, 0x4FC9, 0xFA62, 0x70BB, 0xFA63, 0x6631, 0xFA64, 0x68C8, 0xFA65, 0x92F9, 0xFA66, 0x66FB, - 0xFA67, 0x5F45, 0xFA68, 0x4E28, 0xFA69, 0x4EE1, 0xFA6A, 0x4EFC, 0xFA6B, 0x4F00, 0xFA6C, 0x4F03, 0xFA6D, 0x4F39, 0xFA6E, 0x4F56, - 0xFA6F, 0x4F92, 0xFA70, 0x4F8A, 0xFA71, 0x4F9A, 0xFA72, 0x4F94, 0xFA73, 0x4FCD, 0xFA74, 0x5040, 0xFA75, 0x5022, 0xFA76, 0x4FFF, - 0xFA77, 0x501E, 0xFA78, 0x5046, 0xFA79, 0x5070, 0xFA7A, 0x5042, 0xFA7B, 0x5094, 0xFA7C, 0x50F4, 0xFA7D, 0x50D8, 0xFA7E, 0x514A, - 0xFA80, 0x5164, 0xFA81, 0x519D, 0xFA82, 0x51BE, 0xFA83, 0x51EC, 0xFA84, 0x5215, 0xFA85, 0x529C, 0xFA86, 0x52A6, 0xFA87, 0x52C0, - 0xFA88, 0x52DB, 0xFA89, 0x5300, 0xFA8A, 0x5307, 0xFA8B, 0x5324, 0xFA8C, 0x5372, 0xFA8D, 0x5393, 0xFA8E, 0x53B2, 0xFA8F, 0x53DD, - 0xFA90, 0xFA0E, 0xFA91, 0x549C, 0xFA92, 0x548A, 0xFA93, 0x54A9, 0xFA94, 0x54FF, 0xFA95, 0x5586, 0xFA96, 0x5759, 0xFA97, 0x5765, - 0xFA98, 0x57AC, 0xFA99, 0x57C8, 0xFA9A, 0x57C7, 0xFA9B, 0xFA0F, 0xFA9C, 0xFA10, 0xFA9D, 0x589E, 0xFA9E, 0x58B2, 0xFA9F, 0x590B, - 0xFAA0, 0x5953, 0xFAA1, 0x595B, 0xFAA2, 0x595D, 0xFAA3, 0x5963, 0xFAA4, 0x59A4, 0xFAA5, 0x59BA, 0xFAA6, 0x5B56, 0xFAA7, 0x5BC0, - 0xFAA8, 0x752F, 0xFAA9, 0x5BD8, 0xFAAA, 0x5BEC, 0xFAAB, 0x5C1E, 0xFAAC, 0x5CA6, 0xFAAD, 0x5CBA, 0xFAAE, 0x5CF5, 0xFAAF, 0x5D27, - 0xFAB0, 0x5D53, 0xFAB1, 0xFA11, 0xFAB2, 0x5D42, 0xFAB3, 0x5D6D, 0xFAB4, 0x5DB8, 0xFAB5, 0x5DB9, 0xFAB6, 0x5DD0, 0xFAB7, 0x5F21, - 0xFAB8, 0x5F34, 0xFAB9, 0x5F67, 0xFABA, 0x5FB7, 0xFABB, 0x5FDE, 0xFABC, 0x605D, 0xFABD, 0x6085, 0xFABE, 0x608A, 0xFABF, 0x60DE, - 0xFAC0, 0x60D5, 0xFAC1, 0x6120, 0xFAC2, 0x60F2, 0xFAC3, 0x6111, 0xFAC4, 0x6137, 0xFAC5, 0x6130, 0xFAC6, 0x6198, 0xFAC7, 0x6213, - 0xFAC8, 0x62A6, 0xFAC9, 0x63F5, 0xFACA, 0x6460, 0xFACB, 0x649D, 0xFACC, 0x64CE, 0xFACD, 0x654E, 0xFACE, 0x6600, 0xFACF, 0x6615, - 0xFAD0, 0x663B, 0xFAD1, 0x6609, 0xFAD2, 0x662E, 0xFAD3, 0x661E, 0xFAD4, 0x6624, 0xFAD5, 0x6665, 0xFAD6, 0x6657, 0xFAD7, 0x6659, - 0xFAD8, 0xFA12, 0xFAD9, 0x6673, 0xFADA, 0x6699, 0xFADB, 0x66A0, 0xFADC, 0x66B2, 0xFADD, 0x66BF, 0xFADE, 0x66FA, 0xFADF, 0x670E, - 0xFAE0, 0xF929, 0xFAE1, 0x6766, 0xFAE2, 0x67BB, 0xFAE3, 0x6852, 0xFAE4, 0x67C0, 0xFAE5, 0x6801, 0xFAE6, 0x6844, 0xFAE7, 0x68CF, - 0xFAE8, 0xFA13, 0xFAE9, 0x6968, 0xFAEA, 0xFA14, 0xFAEB, 0x6998, 0xFAEC, 0x69E2, 0xFAED, 0x6A30, 0xFAEE, 0x6A6B, 0xFAEF, 0x6A46, - 0xFAF0, 0x6A73, 0xFAF1, 0x6A7E, 0xFAF2, 0x6AE2, 0xFAF3, 0x6AE4, 0xFAF4, 0x6BD6, 0xFAF5, 0x6C3F, 0xFAF6, 0x6C5C, 0xFAF7, 0x6C86, - 0xFAF8, 0x6C6F, 0xFAF9, 0x6CDA, 0xFAFA, 0x6D04, 0xFAFB, 0x6D87, 0xFAFC, 0x6D6F, 0xFB40, 0x6D96, 0xFB41, 0x6DAC, 0xFB42, 0x6DCF, - 0xFB43, 0x6DF8, 0xFB44, 0x6DF2, 0xFB45, 0x6DFC, 0xFB46, 0x6E39, 0xFB47, 0x6E5C, 0xFB48, 0x6E27, 0xFB49, 0x6E3C, 0xFB4A, 0x6EBF, - 0xFB4B, 0x6F88, 0xFB4C, 0x6FB5, 0xFB4D, 0x6FF5, 0xFB4E, 0x7005, 0xFB4F, 0x7007, 0xFB50, 0x7028, 0xFB51, 0x7085, 0xFB52, 0x70AB, - 0xFB53, 0x710F, 0xFB54, 0x7104, 0xFB55, 0x715C, 0xFB56, 0x7146, 0xFB57, 0x7147, 0xFB58, 0xFA15, 0xFB59, 0x71C1, 0xFB5A, 0x71FE, - 0xFB5B, 0x72B1, 0xFB5C, 0x72BE, 0xFB5D, 0x7324, 0xFB5E, 0xFA16, 0xFB5F, 0x7377, 0xFB60, 0x73BD, 0xFB61, 0x73C9, 0xFB62, 0x73D6, - 0xFB63, 0x73E3, 0xFB64, 0x73D2, 0xFB65, 0x7407, 0xFB66, 0x73F5, 0xFB67, 0x7426, 0xFB68, 0x742A, 0xFB69, 0x7429, 0xFB6A, 0x742E, - 0xFB6B, 0x7462, 0xFB6C, 0x7489, 0xFB6D, 0x749F, 0xFB6E, 0x7501, 0xFB6F, 0x756F, 0xFB70, 0x7682, 0xFB71, 0x769C, 0xFB72, 0x769E, - 0xFB73, 0x769B, 0xFB74, 0x76A6, 0xFB75, 0xFA17, 0xFB76, 0x7746, 0xFB77, 0x52AF, 0xFB78, 0x7821, 0xFB79, 0x784E, 0xFB7A, 0x7864, - 0xFB7B, 0x787A, 0xFB7C, 0x7930, 0xFB7D, 0xFA18, 0xFB7E, 0xFA19, 0xFB80, 0xFA1A, 0xFB81, 0x7994, 0xFB82, 0xFA1B, 0xFB83, 0x799B, - 0xFB84, 0x7AD1, 0xFB85, 0x7AE7, 0xFB86, 0xFA1C, 0xFB87, 0x7AEB, 0xFB88, 0x7B9E, 0xFB89, 0xFA1D, 0xFB8A, 0x7D48, 0xFB8B, 0x7D5C, - 0xFB8C, 0x7DB7, 0xFB8D, 0x7DA0, 0xFB8E, 0x7DD6, 0xFB8F, 0x7E52, 0xFB90, 0x7F47, 0xFB91, 0x7FA1, 0xFB92, 0xFA1E, 0xFB93, 0x8301, - 0xFB94, 0x8362, 0xFB95, 0x837F, 0xFB96, 0x83C7, 0xFB97, 0x83F6, 0xFB98, 0x8448, 0xFB99, 0x84B4, 0xFB9A, 0x8553, 0xFB9B, 0x8559, - 0xFB9C, 0x856B, 0xFB9D, 0xFA1F, 0xFB9E, 0x85B0, 0xFB9F, 0xFA20, 0xFBA0, 0xFA21, 0xFBA1, 0x8807, 0xFBA2, 0x88F5, 0xFBA3, 0x8A12, - 0xFBA4, 0x8A37, 0xFBA5, 0x8A79, 0xFBA6, 0x8AA7, 0xFBA7, 0x8ABE, 0xFBA8, 0x8ADF, 0xFBA9, 0xFA22, 0xFBAA, 0x8AF6, 0xFBAB, 0x8B53, - 0xFBAC, 0x8B7F, 0xFBAD, 0x8CF0, 0xFBAE, 0x8CF4, 0xFBAF, 0x8D12, 0xFBB0, 0x8D76, 0xFBB1, 0xFA23, 0xFBB2, 0x8ECF, 0xFBB3, 0xFA24, - 0xFBB4, 0xFA25, 0xFBB5, 0x9067, 0xFBB6, 0x90DE, 0xFBB7, 0xFA26, 0xFBB8, 0x9115, 0xFBB9, 0x9127, 0xFBBA, 0x91DA, 0xFBBB, 0x91D7, - 0xFBBC, 0x91DE, 0xFBBD, 0x91ED, 0xFBBE, 0x91EE, 0xFBBF, 0x91E4, 0xFBC0, 0x91E5, 0xFBC1, 0x9206, 0xFBC2, 0x9210, 0xFBC3, 0x920A, - 0xFBC4, 0x923A, 0xFBC5, 0x9240, 0xFBC6, 0x923C, 0xFBC7, 0x924E, 0xFBC8, 0x9259, 0xFBC9, 0x9251, 0xFBCA, 0x9239, 0xFBCB, 0x9267, - 0xFBCC, 0x92A7, 0xFBCD, 0x9277, 0xFBCE, 0x9278, 0xFBCF, 0x92E7, 0xFBD0, 0x92D7, 0xFBD1, 0x92D9, 0xFBD2, 0x92D0, 0xFBD3, 0xFA27, - 0xFBD4, 0x92D5, 0xFBD5, 0x92E0, 0xFBD6, 0x92D3, 0xFBD7, 0x9325, 0xFBD8, 0x9321, 0xFBD9, 0x92FB, 0xFBDA, 0xFA28, 0xFBDB, 0x931E, - 0xFBDC, 0x92FF, 0xFBDD, 0x931D, 0xFBDE, 0x9302, 0xFBDF, 0x9370, 0xFBE0, 0x9357, 0xFBE1, 0x93A4, 0xFBE2, 0x93C6, 0xFBE3, 0x93DE, - 0xFBE4, 0x93F8, 0xFBE5, 0x9431, 0xFBE6, 0x9445, 0xFBE7, 0x9448, 0xFBE8, 0x9592, 0xFBE9, 0xF9DC, 0xFBEA, 0xFA29, 0xFBEB, 0x969D, - 0xFBEC, 0x96AF, 0xFBED, 0x9733, 0xFBEE, 0x973B, 0xFBEF, 0x9743, 0xFBF0, 0x974D, 0xFBF1, 0x974F, 0xFBF2, 0x9751, 0xFBF3, 0x9755, - 0xFBF4, 0x9857, 0xFBF5, 0x9865, 0xFBF6, 0xFA2A, 0xFBF7, 0xFA2B, 0xFBF8, 0x9927, 0xFBF9, 0xFA2C, 0xFBFA, 0x999E, 0xFBFB, 0x9A4E, - 0xFBFC, 0x9AD9, 0xFC40, 0x9ADC, 0xFC41, 0x9B75, 0xFC42, 0x9B72, 0xFC43, 0x9B8F, 0xFC44, 0x9BB1, 0xFC45, 0x9BBB, 0xFC46, 0x9C00, - 0xFC47, 0x9D70, 0xFC48, 0x9D6B, 0xFC49, 0xFA2D, 0xFC4A, 0x9E19, 0xFC4B, 0x9ED1, 0, 0 -}; -#endif - -#if FF_CODE_PAGE == 936 || FF_CODE_PAGE == 0 /* Simplified Chinese */ -static const WCHAR uni2oem936[] = { /* Unicode --> GBK pairs */ - 0x00A4, 0xA1E8, 0x00A7, 0xA1EC, 0x00A8, 0xA1A7, 0x00B0, 0xA1E3, 0x00B1, 0xA1C0, 0x00B7, 0xA1A4, 0x00D7, 0xA1C1, 0x00E0, 0xA8A4, - 0x00E1, 0xA8A2, 0x00E8, 0xA8A8, 0x00E9, 0xA8A6, 0x00EA, 0xA8BA, 0x00EC, 0xA8AC, 0x00ED, 0xA8AA, 0x00F2, 0xA8B0, 0x00F3, 0xA8AE, - 0x00F7, 0xA1C2, 0x00F9, 0xA8B4, 0x00FA, 0xA8B2, 0x00FC, 0xA8B9, 0x0101, 0xA8A1, 0x0113, 0xA8A5, 0x011B, 0xA8A7, 0x012B, 0xA8A9, - 0x0144, 0xA8BD, 0x0148, 0xA8BE, 0x014D, 0xA8AD, 0x016B, 0xA8B1, 0x01CE, 0xA8A3, 0x01D0, 0xA8AB, 0x01D2, 0xA8AF, 0x01D4, 0xA8B3, - 0x01D6, 0xA8B5, 0x01D8, 0xA8B6, 0x01DA, 0xA8B7, 0x01DC, 0xA8B8, 0x0251, 0xA8BB, 0x0261, 0xA8C0, 0x02C7, 0xA1A6, 0x02C9, 0xA1A5, - 0x02CA, 0xA840, 0x02CB, 0xA841, 0x02D9, 0xA842, 0x0391, 0xA6A1, 0x0392, 0xA6A2, 0x0393, 0xA6A3, 0x0394, 0xA6A4, 0x0395, 0xA6A5, - 0x0396, 0xA6A6, 0x0397, 0xA6A7, 0x0398, 0xA6A8, 0x0399, 0xA6A9, 0x039A, 0xA6AA, 0x039B, 0xA6AB, 0x039C, 0xA6AC, 0x039D, 0xA6AD, - 0x039E, 0xA6AE, 0x039F, 0xA6AF, 0x03A0, 0xA6B0, 0x03A1, 0xA6B1, 0x03A3, 0xA6B2, 0x03A4, 0xA6B3, 0x03A5, 0xA6B4, 0x03A6, 0xA6B5, - 0x03A7, 0xA6B6, 0x03A8, 0xA6B7, 0x03A9, 0xA6B8, 0x03B1, 0xA6C1, 0x03B2, 0xA6C2, 0x03B3, 0xA6C3, 0x03B4, 0xA6C4, 0x03B5, 0xA6C5, - 0x03B6, 0xA6C6, 0x03B7, 0xA6C7, 0x03B8, 0xA6C8, 0x03B9, 0xA6C9, 0x03BA, 0xA6CA, 0x03BB, 0xA6CB, 0x03BC, 0xA6CC, 0x03BD, 0xA6CD, - 0x03BE, 0xA6CE, 0x03BF, 0xA6CF, 0x03C0, 0xA6D0, 0x03C1, 0xA6D1, 0x03C3, 0xA6D2, 0x03C4, 0xA6D3, 0x03C5, 0xA6D4, 0x03C6, 0xA6D5, - 0x03C7, 0xA6D6, 0x03C8, 0xA6D7, 0x03C9, 0xA6D8, 0x0401, 0xA7A7, 0x0410, 0xA7A1, 0x0411, 0xA7A2, 0x0412, 0xA7A3, 0x0413, 0xA7A4, - 0x0414, 0xA7A5, 0x0415, 0xA7A6, 0x0416, 0xA7A8, 0x0417, 0xA7A9, 0x0418, 0xA7AA, 0x0419, 0xA7AB, 0x041A, 0xA7AC, 0x041B, 0xA7AD, - 0x041C, 0xA7AE, 0x041D, 0xA7AF, 0x041E, 0xA7B0, 0x041F, 0xA7B1, 0x0420, 0xA7B2, 0x0421, 0xA7B3, 0x0422, 0xA7B4, 0x0423, 0xA7B5, - 0x0424, 0xA7B6, 0x0425, 0xA7B7, 0x0426, 0xA7B8, 0x0427, 0xA7B9, 0x0428, 0xA7BA, 0x0429, 0xA7BB, 0x042A, 0xA7BC, 0x042B, 0xA7BD, - 0x042C, 0xA7BE, 0x042D, 0xA7BF, 0x042E, 0xA7C0, 0x042F, 0xA7C1, 0x0430, 0xA7D1, 0x0431, 0xA7D2, 0x0432, 0xA7D3, 0x0433, 0xA7D4, - 0x0434, 0xA7D5, 0x0435, 0xA7D6, 0x0436, 0xA7D8, 0x0437, 0xA7D9, 0x0438, 0xA7DA, 0x0439, 0xA7DB, 0x043A, 0xA7DC, 0x043B, 0xA7DD, - 0x043C, 0xA7DE, 0x043D, 0xA7DF, 0x043E, 0xA7E0, 0x043F, 0xA7E1, 0x0440, 0xA7E2, 0x0441, 0xA7E3, 0x0442, 0xA7E4, 0x0443, 0xA7E5, - 0x0444, 0xA7E6, 0x0445, 0xA7E7, 0x0446, 0xA7E8, 0x0447, 0xA7E9, 0x0448, 0xA7EA, 0x0449, 0xA7EB, 0x044A, 0xA7EC, 0x044B, 0xA7ED, - 0x044C, 0xA7EE, 0x044D, 0xA7EF, 0x044E, 0xA7F0, 0x044F, 0xA7F1, 0x0451, 0xA7D7, 0x2010, 0xA95C, 0x2013, 0xA843, 0x2014, 0xA1AA, - 0x2015, 0xA844, 0x2016, 0xA1AC, 0x2018, 0xA1AE, 0x2019, 0xA1AF, 0x201C, 0xA1B0, 0x201D, 0xA1B1, 0x2025, 0xA845, 0x2026, 0xA1AD, - 0x2030, 0xA1EB, 0x2032, 0xA1E4, 0x2033, 0xA1E5, 0x2035, 0xA846, 0x203B, 0xA1F9, 0x20AC, 0x0080, 0x2103, 0xA1E6, 0x2105, 0xA847, - 0x2109, 0xA848, 0x2116, 0xA1ED, 0x2121, 0xA959, 0x2160, 0xA2F1, 0x2161, 0xA2F2, 0x2162, 0xA2F3, 0x2163, 0xA2F4, 0x2164, 0xA2F5, - 0x2165, 0xA2F6, 0x2166, 0xA2F7, 0x2167, 0xA2F8, 0x2168, 0xA2F9, 0x2169, 0xA2FA, 0x216A, 0xA2FB, 0x216B, 0xA2FC, 0x2170, 0xA2A1, - 0x2171, 0xA2A2, 0x2172, 0xA2A3, 0x2173, 0xA2A4, 0x2174, 0xA2A5, 0x2175, 0xA2A6, 0x2176, 0xA2A7, 0x2177, 0xA2A8, 0x2178, 0xA2A9, - 0x2179, 0xA2AA, 0x2190, 0xA1FB, 0x2191, 0xA1FC, 0x2192, 0xA1FA, 0x2193, 0xA1FD, 0x2196, 0xA849, 0x2197, 0xA84A, 0x2198, 0xA84B, - 0x2199, 0xA84C, 0x2208, 0xA1CA, 0x220F, 0xA1C7, 0x2211, 0xA1C6, 0x2215, 0xA84D, 0x221A, 0xA1CC, 0x221D, 0xA1D8, 0x221E, 0xA1DE, - 0x221F, 0xA84E, 0x2220, 0xA1CF, 0x2223, 0xA84F, 0x2225, 0xA1CE, 0x2227, 0xA1C4, 0x2228, 0xA1C5, 0x2229, 0xA1C9, 0x222A, 0xA1C8, - 0x222B, 0xA1D2, 0x222E, 0xA1D3, 0x2234, 0xA1E0, 0x2235, 0xA1DF, 0x2236, 0xA1C3, 0x2237, 0xA1CB, 0x223D, 0xA1D7, 0x2248, 0xA1D6, - 0x224C, 0xA1D5, 0x2252, 0xA850, 0x2260, 0xA1D9, 0x2261, 0xA1D4, 0x2264, 0xA1DC, 0x2265, 0xA1DD, 0x2266, 0xA851, 0x2267, 0xA852, - 0x226E, 0xA1DA, 0x226F, 0xA1DB, 0x2295, 0xA892, 0x2299, 0xA1D1, 0x22A5, 0xA1CD, 0x22BF, 0xA853, 0x2312, 0xA1D0, 0x2460, 0xA2D9, - 0x2461, 0xA2DA, 0x2462, 0xA2DB, 0x2463, 0xA2DC, 0x2464, 0xA2DD, 0x2465, 0xA2DE, 0x2466, 0xA2DF, 0x2467, 0xA2E0, 0x2468, 0xA2E1, - 0x2469, 0xA2E2, 0x2474, 0xA2C5, 0x2475, 0xA2C6, 0x2476, 0xA2C7, 0x2477, 0xA2C8, 0x2478, 0xA2C9, 0x2479, 0xA2CA, 0x247A, 0xA2CB, - 0x247B, 0xA2CC, 0x247C, 0xA2CD, 0x247D, 0xA2CE, 0x247E, 0xA2CF, 0x247F, 0xA2D0, 0x2480, 0xA2D1, 0x2481, 0xA2D2, 0x2482, 0xA2D3, - 0x2483, 0xA2D4, 0x2484, 0xA2D5, 0x2485, 0xA2D6, 0x2486, 0xA2D7, 0x2487, 0xA2D8, 0x2488, 0xA2B1, 0x2489, 0xA2B2, 0x248A, 0xA2B3, - 0x248B, 0xA2B4, 0x248C, 0xA2B5, 0x248D, 0xA2B6, 0x248E, 0xA2B7, 0x248F, 0xA2B8, 0x2490, 0xA2B9, 0x2491, 0xA2BA, 0x2492, 0xA2BB, - 0x2493, 0xA2BC, 0x2494, 0xA2BD, 0x2495, 0xA2BE, 0x2496, 0xA2BF, 0x2497, 0xA2C0, 0x2498, 0xA2C1, 0x2499, 0xA2C2, 0x249A, 0xA2C3, - 0x249B, 0xA2C4, 0x2500, 0xA9A4, 0x2501, 0xA9A5, 0x2502, 0xA9A6, 0x2503, 0xA9A7, 0x2504, 0xA9A8, 0x2505, 0xA9A9, 0x2506, 0xA9AA, - 0x2507, 0xA9AB, 0x2508, 0xA9AC, 0x2509, 0xA9AD, 0x250A, 0xA9AE, 0x250B, 0xA9AF, 0x250C, 0xA9B0, 0x250D, 0xA9B1, 0x250E, 0xA9B2, - 0x250F, 0xA9B3, 0x2510, 0xA9B4, 0x2511, 0xA9B5, 0x2512, 0xA9B6, 0x2513, 0xA9B7, 0x2514, 0xA9B8, 0x2515, 0xA9B9, 0x2516, 0xA9BA, - 0x2517, 0xA9BB, 0x2518, 0xA9BC, 0x2519, 0xA9BD, 0x251A, 0xA9BE, 0x251B, 0xA9BF, 0x251C, 0xA9C0, 0x251D, 0xA9C1, 0x251E, 0xA9C2, - 0x251F, 0xA9C3, 0x2520, 0xA9C4, 0x2521, 0xA9C5, 0x2522, 0xA9C6, 0x2523, 0xA9C7, 0x2524, 0xA9C8, 0x2525, 0xA9C9, 0x2526, 0xA9CA, - 0x2527, 0xA9CB, 0x2528, 0xA9CC, 0x2529, 0xA9CD, 0x252A, 0xA9CE, 0x252B, 0xA9CF, 0x252C, 0xA9D0, 0x252D, 0xA9D1, 0x252E, 0xA9D2, - 0x252F, 0xA9D3, 0x2530, 0xA9D4, 0x2531, 0xA9D5, 0x2532, 0xA9D6, 0x2533, 0xA9D7, 0x2534, 0xA9D8, 0x2535, 0xA9D9, 0x2536, 0xA9DA, - 0x2537, 0xA9DB, 0x2538, 0xA9DC, 0x2539, 0xA9DD, 0x253A, 0xA9DE, 0x253B, 0xA9DF, 0x253C, 0xA9E0, 0x253D, 0xA9E1, 0x253E, 0xA9E2, - 0x253F, 0xA9E3, 0x2540, 0xA9E4, 0x2541, 0xA9E5, 0x2542, 0xA9E6, 0x2543, 0xA9E7, 0x2544, 0xA9E8, 0x2545, 0xA9E9, 0x2546, 0xA9EA, - 0x2547, 0xA9EB, 0x2548, 0xA9EC, 0x2549, 0xA9ED, 0x254A, 0xA9EE, 0x254B, 0xA9EF, 0x2550, 0xA854, 0x2551, 0xA855, 0x2552, 0xA856, - 0x2553, 0xA857, 0x2554, 0xA858, 0x2555, 0xA859, 0x2556, 0xA85A, 0x2557, 0xA85B, 0x2558, 0xA85C, 0x2559, 0xA85D, 0x255A, 0xA85E, - 0x255B, 0xA85F, 0x255C, 0xA860, 0x255D, 0xA861, 0x255E, 0xA862, 0x255F, 0xA863, 0x2560, 0xA864, 0x2561, 0xA865, 0x2562, 0xA866, - 0x2563, 0xA867, 0x2564, 0xA868, 0x2565, 0xA869, 0x2566, 0xA86A, 0x2567, 0xA86B, 0x2568, 0xA86C, 0x2569, 0xA86D, 0x256A, 0xA86E, - 0x256B, 0xA86F, 0x256C, 0xA870, 0x256D, 0xA871, 0x256E, 0xA872, 0x256F, 0xA873, 0x2570, 0xA874, 0x2571, 0xA875, 0x2572, 0xA876, - 0x2573, 0xA877, 0x2581, 0xA878, 0x2582, 0xA879, 0x2583, 0xA87A, 0x2584, 0xA87B, 0x2585, 0xA87C, 0x2586, 0xA87D, 0x2587, 0xA87E, - 0x2588, 0xA880, 0x2589, 0xA881, 0x258A, 0xA882, 0x258B, 0xA883, 0x258C, 0xA884, 0x258D, 0xA885, 0x258E, 0xA886, 0x258F, 0xA887, - 0x2593, 0xA888, 0x2594, 0xA889, 0x2595, 0xA88A, 0x25A0, 0xA1F6, 0x25A1, 0xA1F5, 0x25B2, 0xA1F8, 0x25B3, 0xA1F7, 0x25BC, 0xA88B, - 0x25BD, 0xA88C, 0x25C6, 0xA1F4, 0x25C7, 0xA1F3, 0x25CB, 0xA1F0, 0x25CE, 0xA1F2, 0x25CF, 0xA1F1, 0x25E2, 0xA88D, 0x25E3, 0xA88E, - 0x25E4, 0xA88F, 0x25E5, 0xA890, 0x2605, 0xA1EF, 0x2606, 0xA1EE, 0x2609, 0xA891, 0x2640, 0xA1E2, 0x2642, 0xA1E1, 0x3000, 0xA1A1, - 0x3001, 0xA1A2, 0x3002, 0xA1A3, 0x3003, 0xA1A8, 0x3005, 0xA1A9, 0x3006, 0xA965, 0x3007, 0xA996, 0x3008, 0xA1B4, 0x3009, 0xA1B5, - 0x300A, 0xA1B6, 0x300B, 0xA1B7, 0x300C, 0xA1B8, 0x300D, 0xA1B9, 0x300E, 0xA1BA, 0x300F, 0xA1BB, 0x3010, 0xA1BE, 0x3011, 0xA1BF, - 0x3012, 0xA893, 0x3013, 0xA1FE, 0x3014, 0xA1B2, 0x3015, 0xA1B3, 0x3016, 0xA1BC, 0x3017, 0xA1BD, 0x301D, 0xA894, 0x301E, 0xA895, - 0x3021, 0xA940, 0x3022, 0xA941, 0x3023, 0xA942, 0x3024, 0xA943, 0x3025, 0xA944, 0x3026, 0xA945, 0x3027, 0xA946, 0x3028, 0xA947, - 0x3029, 0xA948, 0x3041, 0xA4A1, 0x3042, 0xA4A2, 0x3043, 0xA4A3, 0x3044, 0xA4A4, 0x3045, 0xA4A5, 0x3046, 0xA4A6, 0x3047, 0xA4A7, - 0x3048, 0xA4A8, 0x3049, 0xA4A9, 0x304A, 0xA4AA, 0x304B, 0xA4AB, 0x304C, 0xA4AC, 0x304D, 0xA4AD, 0x304E, 0xA4AE, 0x304F, 0xA4AF, - 0x3050, 0xA4B0, 0x3051, 0xA4B1, 0x3052, 0xA4B2, 0x3053, 0xA4B3, 0x3054, 0xA4B4, 0x3055, 0xA4B5, 0x3056, 0xA4B6, 0x3057, 0xA4B7, - 0x3058, 0xA4B8, 0x3059, 0xA4B9, 0x305A, 0xA4BA, 0x305B, 0xA4BB, 0x305C, 0xA4BC, 0x305D, 0xA4BD, 0x305E, 0xA4BE, 0x305F, 0xA4BF, - 0x3060, 0xA4C0, 0x3061, 0xA4C1, 0x3062, 0xA4C2, 0x3063, 0xA4C3, 0x3064, 0xA4C4, 0x3065, 0xA4C5, 0x3066, 0xA4C6, 0x3067, 0xA4C7, - 0x3068, 0xA4C8, 0x3069, 0xA4C9, 0x306A, 0xA4CA, 0x306B, 0xA4CB, 0x306C, 0xA4CC, 0x306D, 0xA4CD, 0x306E, 0xA4CE, 0x306F, 0xA4CF, - 0x3070, 0xA4D0, 0x3071, 0xA4D1, 0x3072, 0xA4D2, 0x3073, 0xA4D3, 0x3074, 0xA4D4, 0x3075, 0xA4D5, 0x3076, 0xA4D6, 0x3077, 0xA4D7, - 0x3078, 0xA4D8, 0x3079, 0xA4D9, 0x307A, 0xA4DA, 0x307B, 0xA4DB, 0x307C, 0xA4DC, 0x307D, 0xA4DD, 0x307E, 0xA4DE, 0x307F, 0xA4DF, - 0x3080, 0xA4E0, 0x3081, 0xA4E1, 0x3082, 0xA4E2, 0x3083, 0xA4E3, 0x3084, 0xA4E4, 0x3085, 0xA4E5, 0x3086, 0xA4E6, 0x3087, 0xA4E7, - 0x3088, 0xA4E8, 0x3089, 0xA4E9, 0x308A, 0xA4EA, 0x308B, 0xA4EB, 0x308C, 0xA4EC, 0x308D, 0xA4ED, 0x308E, 0xA4EE, 0x308F, 0xA4EF, - 0x3090, 0xA4F0, 0x3091, 0xA4F1, 0x3092, 0xA4F2, 0x3093, 0xA4F3, 0x309B, 0xA961, 0x309C, 0xA962, 0x309D, 0xA966, 0x309E, 0xA967, - 0x30A1, 0xA5A1, 0x30A2, 0xA5A2, 0x30A3, 0xA5A3, 0x30A4, 0xA5A4, 0x30A5, 0xA5A5, 0x30A6, 0xA5A6, 0x30A7, 0xA5A7, 0x30A8, 0xA5A8, - 0x30A9, 0xA5A9, 0x30AA, 0xA5AA, 0x30AB, 0xA5AB, 0x30AC, 0xA5AC, 0x30AD, 0xA5AD, 0x30AE, 0xA5AE, 0x30AF, 0xA5AF, 0x30B0, 0xA5B0, - 0x30B1, 0xA5B1, 0x30B2, 0xA5B2, 0x30B3, 0xA5B3, 0x30B4, 0xA5B4, 0x30B5, 0xA5B5, 0x30B6, 0xA5B6, 0x30B7, 0xA5B7, 0x30B8, 0xA5B8, - 0x30B9, 0xA5B9, 0x30BA, 0xA5BA, 0x30BB, 0xA5BB, 0x30BC, 0xA5BC, 0x30BD, 0xA5BD, 0x30BE, 0xA5BE, 0x30BF, 0xA5BF, 0x30C0, 0xA5C0, - 0x30C1, 0xA5C1, 0x30C2, 0xA5C2, 0x30C3, 0xA5C3, 0x30C4, 0xA5C4, 0x30C5, 0xA5C5, 0x30C6, 0xA5C6, 0x30C7, 0xA5C7, 0x30C8, 0xA5C8, - 0x30C9, 0xA5C9, 0x30CA, 0xA5CA, 0x30CB, 0xA5CB, 0x30CC, 0xA5CC, 0x30CD, 0xA5CD, 0x30CE, 0xA5CE, 0x30CF, 0xA5CF, 0x30D0, 0xA5D0, - 0x30D1, 0xA5D1, 0x30D2, 0xA5D2, 0x30D3, 0xA5D3, 0x30D4, 0xA5D4, 0x30D5, 0xA5D5, 0x30D6, 0xA5D6, 0x30D7, 0xA5D7, 0x30D8, 0xA5D8, - 0x30D9, 0xA5D9, 0x30DA, 0xA5DA, 0x30DB, 0xA5DB, 0x30DC, 0xA5DC, 0x30DD, 0xA5DD, 0x30DE, 0xA5DE, 0x30DF, 0xA5DF, 0x30E0, 0xA5E0, - 0x30E1, 0xA5E1, 0x30E2, 0xA5E2, 0x30E3, 0xA5E3, 0x30E4, 0xA5E4, 0x30E5, 0xA5E5, 0x30E6, 0xA5E6, 0x30E7, 0xA5E7, 0x30E8, 0xA5E8, - 0x30E9, 0xA5E9, 0x30EA, 0xA5EA, 0x30EB, 0xA5EB, 0x30EC, 0xA5EC, 0x30ED, 0xA5ED, 0x30EE, 0xA5EE, 0x30EF, 0xA5EF, 0x30F0, 0xA5F0, - 0x30F1, 0xA5F1, 0x30F2, 0xA5F2, 0x30F3, 0xA5F3, 0x30F4, 0xA5F4, 0x30F5, 0xA5F5, 0x30F6, 0xA5F6, 0x30FC, 0xA960, 0x30FD, 0xA963, - 0x30FE, 0xA964, 0x3105, 0xA8C5, 0x3106, 0xA8C6, 0x3107, 0xA8C7, 0x3108, 0xA8C8, 0x3109, 0xA8C9, 0x310A, 0xA8CA, 0x310B, 0xA8CB, - 0x310C, 0xA8CC, 0x310D, 0xA8CD, 0x310E, 0xA8CE, 0x310F, 0xA8CF, 0x3110, 0xA8D0, 0x3111, 0xA8D1, 0x3112, 0xA8D2, 0x3113, 0xA8D3, - 0x3114, 0xA8D4, 0x3115, 0xA8D5, 0x3116, 0xA8D6, 0x3117, 0xA8D7, 0x3118, 0xA8D8, 0x3119, 0xA8D9, 0x311A, 0xA8DA, 0x311B, 0xA8DB, - 0x311C, 0xA8DC, 0x311D, 0xA8DD, 0x311E, 0xA8DE, 0x311F, 0xA8DF, 0x3120, 0xA8E0, 0x3121, 0xA8E1, 0x3122, 0xA8E2, 0x3123, 0xA8E3, - 0x3124, 0xA8E4, 0x3125, 0xA8E5, 0x3126, 0xA8E6, 0x3127, 0xA8E7, 0x3128, 0xA8E8, 0x3129, 0xA8E9, 0x3220, 0xA2E5, 0x3221, 0xA2E6, - 0x3222, 0xA2E7, 0x3223, 0xA2E8, 0x3224, 0xA2E9, 0x3225, 0xA2EA, 0x3226, 0xA2EB, 0x3227, 0xA2EC, 0x3228, 0xA2ED, 0x3229, 0xA2EE, - 0x3231, 0xA95A, 0x32A3, 0xA949, 0x338E, 0xA94A, 0x338F, 0xA94B, 0x339C, 0xA94C, 0x339D, 0xA94D, 0x339E, 0xA94E, 0x33A1, 0xA94F, - 0x33C4, 0xA950, 0x33CE, 0xA951, 0x33D1, 0xA952, 0x33D2, 0xA953, 0x33D5, 0xA954, 0x4E00, 0xD2BB, 0x4E01, 0xB6A1, 0x4E02, 0x8140, - 0x4E03, 0xC6DF, 0x4E04, 0x8141, 0x4E05, 0x8142, 0x4E06, 0x8143, 0x4E07, 0xCDF2, 0x4E08, 0xD5C9, 0x4E09, 0xC8FD, 0x4E0A, 0xC9CF, - 0x4E0B, 0xCFC2, 0x4E0C, 0xD8A2, 0x4E0D, 0xB2BB, 0x4E0E, 0xD3EB, 0x4E0F, 0x8144, 0x4E10, 0xD8A4, 0x4E11, 0xB3F3, 0x4E12, 0x8145, - 0x4E13, 0xD7A8, 0x4E14, 0xC7D2, 0x4E15, 0xD8A7, 0x4E16, 0xCAC0, 0x4E17, 0x8146, 0x4E18, 0xC7F0, 0x4E19, 0xB1FB, 0x4E1A, 0xD2B5, - 0x4E1B, 0xB4D4, 0x4E1C, 0xB6AB, 0x4E1D, 0xCBBF, 0x4E1E, 0xD8A9, 0x4E1F, 0x8147, 0x4E20, 0x8148, 0x4E21, 0x8149, 0x4E22, 0xB6AA, - 0x4E23, 0x814A, 0x4E24, 0xC1BD, 0x4E25, 0xD1CF, 0x4E26, 0x814B, 0x4E27, 0xC9A5, 0x4E28, 0xD8AD, 0x4E29, 0x814C, 0x4E2A, 0xB8F6, - 0x4E2B, 0xD1BE, 0x4E2C, 0xE3DC, 0x4E2D, 0xD6D0, 0x4E2E, 0x814D, 0x4E2F, 0x814E, 0x4E30, 0xB7E1, 0x4E31, 0x814F, 0x4E32, 0xB4AE, - 0x4E33, 0x8150, 0x4E34, 0xC1D9, 0x4E35, 0x8151, 0x4E36, 0xD8BC, 0x4E37, 0x8152, 0x4E38, 0xCDE8, 0x4E39, 0xB5A4, 0x4E3A, 0xCEAA, - 0x4E3B, 0xD6F7, 0x4E3C, 0x8153, 0x4E3D, 0xC0F6, 0x4E3E, 0xBED9, 0x4E3F, 0xD8AF, 0x4E40, 0x8154, 0x4E41, 0x8155, 0x4E42, 0x8156, - 0x4E43, 0xC4CB, 0x4E44, 0x8157, 0x4E45, 0xBEC3, 0x4E46, 0x8158, 0x4E47, 0xD8B1, 0x4E48, 0xC3B4, 0x4E49, 0xD2E5, 0x4E4A, 0x8159, - 0x4E4B, 0xD6AE, 0x4E4C, 0xCEDA, 0x4E4D, 0xD5A7, 0x4E4E, 0xBAF5, 0x4E4F, 0xB7A6, 0x4E50, 0xC0D6, 0x4E51, 0x815A, 0x4E52, 0xC6B9, - 0x4E53, 0xC5D2, 0x4E54, 0xC7C7, 0x4E55, 0x815B, 0x4E56, 0xB9D4, 0x4E57, 0x815C, 0x4E58, 0xB3CB, 0x4E59, 0xD2D2, 0x4E5A, 0x815D, - 0x4E5B, 0x815E, 0x4E5C, 0xD8BF, 0x4E5D, 0xBEC5, 0x4E5E, 0xC6F2, 0x4E5F, 0xD2B2, 0x4E60, 0xCFB0, 0x4E61, 0xCFE7, 0x4E62, 0x815F, - 0x4E63, 0x8160, 0x4E64, 0x8161, 0x4E65, 0x8162, 0x4E66, 0xCAE9, 0x4E67, 0x8163, 0x4E68, 0x8164, 0x4E69, 0xD8C0, 0x4E6A, 0x8165, - 0x4E6B, 0x8166, 0x4E6C, 0x8167, 0x4E6D, 0x8168, 0x4E6E, 0x8169, 0x4E6F, 0x816A, 0x4E70, 0xC2F2, 0x4E71, 0xC2D2, 0x4E72, 0x816B, - 0x4E73, 0xC8E9, 0x4E74, 0x816C, 0x4E75, 0x816D, 0x4E76, 0x816E, 0x4E77, 0x816F, 0x4E78, 0x8170, 0x4E79, 0x8171, 0x4E7A, 0x8172, - 0x4E7B, 0x8173, 0x4E7C, 0x8174, 0x4E7D, 0x8175, 0x4E7E, 0xC7AC, 0x4E7F, 0x8176, 0x4E80, 0x8177, 0x4E81, 0x8178, 0x4E82, 0x8179, - 0x4E83, 0x817A, 0x4E84, 0x817B, 0x4E85, 0x817C, 0x4E86, 0xC1CB, 0x4E87, 0x817D, 0x4E88, 0xD3E8, 0x4E89, 0xD5F9, 0x4E8A, 0x817E, - 0x4E8B, 0xCAC2, 0x4E8C, 0xB6FE, 0x4E8D, 0xD8A1, 0x4E8E, 0xD3DA, 0x4E8F, 0xBFF7, 0x4E90, 0x8180, 0x4E91, 0xD4C6, 0x4E92, 0xBBA5, - 0x4E93, 0xD8C1, 0x4E94, 0xCEE5, 0x4E95, 0xBEAE, 0x4E96, 0x8181, 0x4E97, 0x8182, 0x4E98, 0xD8A8, 0x4E99, 0x8183, 0x4E9A, 0xD1C7, - 0x4E9B, 0xD0A9, 0x4E9C, 0x8184, 0x4E9D, 0x8185, 0x4E9E, 0x8186, 0x4E9F, 0xD8BD, 0x4EA0, 0xD9EF, 0x4EA1, 0xCDF6, 0x4EA2, 0xBFBA, - 0x4EA3, 0x8187, 0x4EA4, 0xBDBB, 0x4EA5, 0xBAA5, 0x4EA6, 0xD2E0, 0x4EA7, 0xB2FA, 0x4EA8, 0xBAE0, 0x4EA9, 0xC4B6, 0x4EAA, 0x8188, - 0x4EAB, 0xCFED, 0x4EAC, 0xBEA9, 0x4EAD, 0xCDA4, 0x4EAE, 0xC1C1, 0x4EAF, 0x8189, 0x4EB0, 0x818A, 0x4EB1, 0x818B, 0x4EB2, 0xC7D7, - 0x4EB3, 0xD9F1, 0x4EB4, 0x818C, 0x4EB5, 0xD9F4, 0x4EB6, 0x818D, 0x4EB7, 0x818E, 0x4EB8, 0x818F, 0x4EB9, 0x8190, 0x4EBA, 0xC8CB, - 0x4EBB, 0xD8E9, 0x4EBC, 0x8191, 0x4EBD, 0x8192, 0x4EBE, 0x8193, 0x4EBF, 0xD2DA, 0x4EC0, 0xCAB2, 0x4EC1, 0xC8CA, 0x4EC2, 0xD8EC, - 0x4EC3, 0xD8EA, 0x4EC4, 0xD8C6, 0x4EC5, 0xBDF6, 0x4EC6, 0xC6CD, 0x4EC7, 0xB3F0, 0x4EC8, 0x8194, 0x4EC9, 0xD8EB, 0x4ECA, 0xBDF1, - 0x4ECB, 0xBDE9, 0x4ECC, 0x8195, 0x4ECD, 0xC8D4, 0x4ECE, 0xB4D3, 0x4ECF, 0x8196, 0x4ED0, 0x8197, 0x4ED1, 0xC2D8, 0x4ED2, 0x8198, - 0x4ED3, 0xB2D6, 0x4ED4, 0xD7D0, 0x4ED5, 0xCACB, 0x4ED6, 0xCBFB, 0x4ED7, 0xD5CC, 0x4ED8, 0xB8B6, 0x4ED9, 0xCFC9, 0x4EDA, 0x8199, - 0x4EDB, 0x819A, 0x4EDC, 0x819B, 0x4EDD, 0xD9DA, 0x4EDE, 0xD8F0, 0x4EDF, 0xC7AA, 0x4EE0, 0x819C, 0x4EE1, 0xD8EE, 0x4EE2, 0x819D, - 0x4EE3, 0xB4FA, 0x4EE4, 0xC1EE, 0x4EE5, 0xD2D4, 0x4EE6, 0x819E, 0x4EE7, 0x819F, 0x4EE8, 0xD8ED, 0x4EE9, 0x81A0, 0x4EEA, 0xD2C7, - 0x4EEB, 0xD8EF, 0x4EEC, 0xC3C7, 0x4EED, 0x81A1, 0x4EEE, 0x81A2, 0x4EEF, 0x81A3, 0x4EF0, 0xD1F6, 0x4EF1, 0x81A4, 0x4EF2, 0xD6D9, - 0x4EF3, 0xD8F2, 0x4EF4, 0x81A5, 0x4EF5, 0xD8F5, 0x4EF6, 0xBCFE, 0x4EF7, 0xBCDB, 0x4EF8, 0x81A6, 0x4EF9, 0x81A7, 0x4EFA, 0x81A8, - 0x4EFB, 0xC8CE, 0x4EFC, 0x81A9, 0x4EFD, 0xB7DD, 0x4EFE, 0x81AA, 0x4EFF, 0xB7C2, 0x4F00, 0x81AB, 0x4F01, 0xC6F3, 0x4F02, 0x81AC, - 0x4F03, 0x81AD, 0x4F04, 0x81AE, 0x4F05, 0x81AF, 0x4F06, 0x81B0, 0x4F07, 0x81B1, 0x4F08, 0x81B2, 0x4F09, 0xD8F8, 0x4F0A, 0xD2C1, - 0x4F0B, 0x81B3, 0x4F0C, 0x81B4, 0x4F0D, 0xCEE9, 0x4F0E, 0xBCBF, 0x4F0F, 0xB7FC, 0x4F10, 0xB7A5, 0x4F11, 0xD0DD, 0x4F12, 0x81B5, - 0x4F13, 0x81B6, 0x4F14, 0x81B7, 0x4F15, 0x81B8, 0x4F16, 0x81B9, 0x4F17, 0xD6DA, 0x4F18, 0xD3C5, 0x4F19, 0xBBEF, 0x4F1A, 0xBBE1, - 0x4F1B, 0xD8F1, 0x4F1C, 0x81BA, 0x4F1D, 0x81BB, 0x4F1E, 0xC9A1, 0x4F1F, 0xCEB0, 0x4F20, 0xB4AB, 0x4F21, 0x81BC, 0x4F22, 0xD8F3, - 0x4F23, 0x81BD, 0x4F24, 0xC9CB, 0x4F25, 0xD8F6, 0x4F26, 0xC2D7, 0x4F27, 0xD8F7, 0x4F28, 0x81BE, 0x4F29, 0x81BF, 0x4F2A, 0xCEB1, - 0x4F2B, 0xD8F9, 0x4F2C, 0x81C0, 0x4F2D, 0x81C1, 0x4F2E, 0x81C2, 0x4F2F, 0xB2AE, 0x4F30, 0xB9C0, 0x4F31, 0x81C3, 0x4F32, 0xD9A3, - 0x4F33, 0x81C4, 0x4F34, 0xB0E9, 0x4F35, 0x81C5, 0x4F36, 0xC1E6, 0x4F37, 0x81C6, 0x4F38, 0xC9EC, 0x4F39, 0x81C7, 0x4F3A, 0xCBC5, - 0x4F3B, 0x81C8, 0x4F3C, 0xCBC6, 0x4F3D, 0xD9A4, 0x4F3E, 0x81C9, 0x4F3F, 0x81CA, 0x4F40, 0x81CB, 0x4F41, 0x81CC, 0x4F42, 0x81CD, - 0x4F43, 0xB5E8, 0x4F44, 0x81CE, 0x4F45, 0x81CF, 0x4F46, 0xB5AB, 0x4F47, 0x81D0, 0x4F48, 0x81D1, 0x4F49, 0x81D2, 0x4F4A, 0x81D3, - 0x4F4B, 0x81D4, 0x4F4C, 0x81D5, 0x4F4D, 0xCEBB, 0x4F4E, 0xB5CD, 0x4F4F, 0xD7A1, 0x4F50, 0xD7F4, 0x4F51, 0xD3D3, 0x4F52, 0x81D6, - 0x4F53, 0xCCE5, 0x4F54, 0x81D7, 0x4F55, 0xBACE, 0x4F56, 0x81D8, 0x4F57, 0xD9A2, 0x4F58, 0xD9DC, 0x4F59, 0xD3E0, 0x4F5A, 0xD8FD, - 0x4F5B, 0xB7F0, 0x4F5C, 0xD7F7, 0x4F5D, 0xD8FE, 0x4F5E, 0xD8FA, 0x4F5F, 0xD9A1, 0x4F60, 0xC4E3, 0x4F61, 0x81D9, 0x4F62, 0x81DA, - 0x4F63, 0xD3B6, 0x4F64, 0xD8F4, 0x4F65, 0xD9DD, 0x4F66, 0x81DB, 0x4F67, 0xD8FB, 0x4F68, 0x81DC, 0x4F69, 0xC5E5, 0x4F6A, 0x81DD, - 0x4F6B, 0x81DE, 0x4F6C, 0xC0D0, 0x4F6D, 0x81DF, 0x4F6E, 0x81E0, 0x4F6F, 0xD1F0, 0x4F70, 0xB0DB, 0x4F71, 0x81E1, 0x4F72, 0x81E2, - 0x4F73, 0xBCD1, 0x4F74, 0xD9A6, 0x4F75, 0x81E3, 0x4F76, 0xD9A5, 0x4F77, 0x81E4, 0x4F78, 0x81E5, 0x4F79, 0x81E6, 0x4F7A, 0x81E7, - 0x4F7B, 0xD9AC, 0x4F7C, 0xD9AE, 0x4F7D, 0x81E8, 0x4F7E, 0xD9AB, 0x4F7F, 0xCAB9, 0x4F80, 0x81E9, 0x4F81, 0x81EA, 0x4F82, 0x81EB, - 0x4F83, 0xD9A9, 0x4F84, 0xD6B6, 0x4F85, 0x81EC, 0x4F86, 0x81ED, 0x4F87, 0x81EE, 0x4F88, 0xB3DE, 0x4F89, 0xD9A8, 0x4F8A, 0x81EF, - 0x4F8B, 0xC0FD, 0x4F8C, 0x81F0, 0x4F8D, 0xCACC, 0x4F8E, 0x81F1, 0x4F8F, 0xD9AA, 0x4F90, 0x81F2, 0x4F91, 0xD9A7, 0x4F92, 0x81F3, - 0x4F93, 0x81F4, 0x4F94, 0xD9B0, 0x4F95, 0x81F5, 0x4F96, 0x81F6, 0x4F97, 0xB6B1, 0x4F98, 0x81F7, 0x4F99, 0x81F8, 0x4F9A, 0x81F9, - 0x4F9B, 0xB9A9, 0x4F9C, 0x81FA, 0x4F9D, 0xD2C0, 0x4F9E, 0x81FB, 0x4F9F, 0x81FC, 0x4FA0, 0xCFC0, 0x4FA1, 0x81FD, 0x4FA2, 0x81FE, - 0x4FA3, 0xC2C2, 0x4FA4, 0x8240, 0x4FA5, 0xBDC4, 0x4FA6, 0xD5EC, 0x4FA7, 0xB2E0, 0x4FA8, 0xC7C8, 0x4FA9, 0xBFEB, 0x4FAA, 0xD9AD, - 0x4FAB, 0x8241, 0x4FAC, 0xD9AF, 0x4FAD, 0x8242, 0x4FAE, 0xCEEA, 0x4FAF, 0xBAEE, 0x4FB0, 0x8243, 0x4FB1, 0x8244, 0x4FB2, 0x8245, - 0x4FB3, 0x8246, 0x4FB4, 0x8247, 0x4FB5, 0xC7D6, 0x4FB6, 0x8248, 0x4FB7, 0x8249, 0x4FB8, 0x824A, 0x4FB9, 0x824B, 0x4FBA, 0x824C, - 0x4FBB, 0x824D, 0x4FBC, 0x824E, 0x4FBD, 0x824F, 0x4FBE, 0x8250, 0x4FBF, 0xB1E3, 0x4FC0, 0x8251, 0x4FC1, 0x8252, 0x4FC2, 0x8253, - 0x4FC3, 0xB4D9, 0x4FC4, 0xB6ED, 0x4FC5, 0xD9B4, 0x4FC6, 0x8254, 0x4FC7, 0x8255, 0x4FC8, 0x8256, 0x4FC9, 0x8257, 0x4FCA, 0xBFA1, - 0x4FCB, 0x8258, 0x4FCC, 0x8259, 0x4FCD, 0x825A, 0x4FCE, 0xD9DE, 0x4FCF, 0xC7CE, 0x4FD0, 0xC0FE, 0x4FD1, 0xD9B8, 0x4FD2, 0x825B, - 0x4FD3, 0x825C, 0x4FD4, 0x825D, 0x4FD5, 0x825E, 0x4FD6, 0x825F, 0x4FD7, 0xCBD7, 0x4FD8, 0xB7FD, 0x4FD9, 0x8260, 0x4FDA, 0xD9B5, - 0x4FDB, 0x8261, 0x4FDC, 0xD9B7, 0x4FDD, 0xB1A3, 0x4FDE, 0xD3E1, 0x4FDF, 0xD9B9, 0x4FE0, 0x8262, 0x4FE1, 0xD0C5, 0x4FE2, 0x8263, - 0x4FE3, 0xD9B6, 0x4FE4, 0x8264, 0x4FE5, 0x8265, 0x4FE6, 0xD9B1, 0x4FE7, 0x8266, 0x4FE8, 0xD9B2, 0x4FE9, 0xC1A9, 0x4FEA, 0xD9B3, - 0x4FEB, 0x8267, 0x4FEC, 0x8268, 0x4FED, 0xBCF3, 0x4FEE, 0xD0DE, 0x4FEF, 0xB8A9, 0x4FF0, 0x8269, 0x4FF1, 0xBEE3, 0x4FF2, 0x826A, - 0x4FF3, 0xD9BD, 0x4FF4, 0x826B, 0x4FF5, 0x826C, 0x4FF6, 0x826D, 0x4FF7, 0x826E, 0x4FF8, 0xD9BA, 0x4FF9, 0x826F, 0x4FFA, 0xB0B3, - 0x4FFB, 0x8270, 0x4FFC, 0x8271, 0x4FFD, 0x8272, 0x4FFE, 0xD9C2, 0x4FFF, 0x8273, 0x5000, 0x8274, 0x5001, 0x8275, 0x5002, 0x8276, - 0x5003, 0x8277, 0x5004, 0x8278, 0x5005, 0x8279, 0x5006, 0x827A, 0x5007, 0x827B, 0x5008, 0x827C, 0x5009, 0x827D, 0x500A, 0x827E, - 0x500B, 0x8280, 0x500C, 0xD9C4, 0x500D, 0xB1B6, 0x500E, 0x8281, 0x500F, 0xD9BF, 0x5010, 0x8282, 0x5011, 0x8283, 0x5012, 0xB5B9, - 0x5013, 0x8284, 0x5014, 0xBEF3, 0x5015, 0x8285, 0x5016, 0x8286, 0x5017, 0x8287, 0x5018, 0xCCC8, 0x5019, 0xBAF2, 0x501A, 0xD2D0, - 0x501B, 0x8288, 0x501C, 0xD9C3, 0x501D, 0x8289, 0x501E, 0x828A, 0x501F, 0xBDE8, 0x5020, 0x828B, 0x5021, 0xB3AB, 0x5022, 0x828C, - 0x5023, 0x828D, 0x5024, 0x828E, 0x5025, 0xD9C5, 0x5026, 0xBEEB, 0x5027, 0x828F, 0x5028, 0xD9C6, 0x5029, 0xD9BB, 0x502A, 0xC4DF, - 0x502B, 0x8290, 0x502C, 0xD9BE, 0x502D, 0xD9C1, 0x502E, 0xD9C0, 0x502F, 0x8291, 0x5030, 0x8292, 0x5031, 0x8293, 0x5032, 0x8294, - 0x5033, 0x8295, 0x5034, 0x8296, 0x5035, 0x8297, 0x5036, 0x8298, 0x5037, 0x8299, 0x5038, 0x829A, 0x5039, 0x829B, 0x503A, 0xD5AE, - 0x503B, 0x829C, 0x503C, 0xD6B5, 0x503D, 0x829D, 0x503E, 0xC7E3, 0x503F, 0x829E, 0x5040, 0x829F, 0x5041, 0x82A0, 0x5042, 0x82A1, - 0x5043, 0xD9C8, 0x5044, 0x82A2, 0x5045, 0x82A3, 0x5046, 0x82A4, 0x5047, 0xBCD9, 0x5048, 0xD9CA, 0x5049, 0x82A5, 0x504A, 0x82A6, - 0x504B, 0x82A7, 0x504C, 0xD9BC, 0x504D, 0x82A8, 0x504E, 0xD9CB, 0x504F, 0xC6AB, 0x5050, 0x82A9, 0x5051, 0x82AA, 0x5052, 0x82AB, - 0x5053, 0x82AC, 0x5054, 0x82AD, 0x5055, 0xD9C9, 0x5056, 0x82AE, 0x5057, 0x82AF, 0x5058, 0x82B0, 0x5059, 0x82B1, 0x505A, 0xD7F6, - 0x505B, 0x82B2, 0x505C, 0xCDA3, 0x505D, 0x82B3, 0x505E, 0x82B4, 0x505F, 0x82B5, 0x5060, 0x82B6, 0x5061, 0x82B7, 0x5062, 0x82B8, - 0x5063, 0x82B9, 0x5064, 0x82BA, 0x5065, 0xBDA1, 0x5066, 0x82BB, 0x5067, 0x82BC, 0x5068, 0x82BD, 0x5069, 0x82BE, 0x506A, 0x82BF, - 0x506B, 0x82C0, 0x506C, 0xD9CC, 0x506D, 0x82C1, 0x506E, 0x82C2, 0x506F, 0x82C3, 0x5070, 0x82C4, 0x5071, 0x82C5, 0x5072, 0x82C6, - 0x5073, 0x82C7, 0x5074, 0x82C8, 0x5075, 0x82C9, 0x5076, 0xC5BC, 0x5077, 0xCDB5, 0x5078, 0x82CA, 0x5079, 0x82CB, 0x507A, 0x82CC, - 0x507B, 0xD9CD, 0x507C, 0x82CD, 0x507D, 0x82CE, 0x507E, 0xD9C7, 0x507F, 0xB3A5, 0x5080, 0xBFFE, 0x5081, 0x82CF, 0x5082, 0x82D0, - 0x5083, 0x82D1, 0x5084, 0x82D2, 0x5085, 0xB8B5, 0x5086, 0x82D3, 0x5087, 0x82D4, 0x5088, 0xC0FC, 0x5089, 0x82D5, 0x508A, 0x82D6, - 0x508B, 0x82D7, 0x508C, 0x82D8, 0x508D, 0xB0F8, 0x508E, 0x82D9, 0x508F, 0x82DA, 0x5090, 0x82DB, 0x5091, 0x82DC, 0x5092, 0x82DD, - 0x5093, 0x82DE, 0x5094, 0x82DF, 0x5095, 0x82E0, 0x5096, 0x82E1, 0x5097, 0x82E2, 0x5098, 0x82E3, 0x5099, 0x82E4, 0x509A, 0x82E5, - 0x509B, 0x82E6, 0x509C, 0x82E7, 0x509D, 0x82E8, 0x509E, 0x82E9, 0x509F, 0x82EA, 0x50A0, 0x82EB, 0x50A1, 0x82EC, 0x50A2, 0x82ED, - 0x50A3, 0xB4F6, 0x50A4, 0x82EE, 0x50A5, 0xD9CE, 0x50A6, 0x82EF, 0x50A7, 0xD9CF, 0x50A8, 0xB4A2, 0x50A9, 0xD9D0, 0x50AA, 0x82F0, - 0x50AB, 0x82F1, 0x50AC, 0xB4DF, 0x50AD, 0x82F2, 0x50AE, 0x82F3, 0x50AF, 0x82F4, 0x50B0, 0x82F5, 0x50B1, 0x82F6, 0x50B2, 0xB0C1, - 0x50B3, 0x82F7, 0x50B4, 0x82F8, 0x50B5, 0x82F9, 0x50B6, 0x82FA, 0x50B7, 0x82FB, 0x50B8, 0x82FC, 0x50B9, 0x82FD, 0x50BA, 0xD9D1, - 0x50BB, 0xC9B5, 0x50BC, 0x82FE, 0x50BD, 0x8340, 0x50BE, 0x8341, 0x50BF, 0x8342, 0x50C0, 0x8343, 0x50C1, 0x8344, 0x50C2, 0x8345, - 0x50C3, 0x8346, 0x50C4, 0x8347, 0x50C5, 0x8348, 0x50C6, 0x8349, 0x50C7, 0x834A, 0x50C8, 0x834B, 0x50C9, 0x834C, 0x50CA, 0x834D, - 0x50CB, 0x834E, 0x50CC, 0x834F, 0x50CD, 0x8350, 0x50CE, 0x8351, 0x50CF, 0xCFF1, 0x50D0, 0x8352, 0x50D1, 0x8353, 0x50D2, 0x8354, - 0x50D3, 0x8355, 0x50D4, 0x8356, 0x50D5, 0x8357, 0x50D6, 0xD9D2, 0x50D7, 0x8358, 0x50D8, 0x8359, 0x50D9, 0x835A, 0x50DA, 0xC1C5, - 0x50DB, 0x835B, 0x50DC, 0x835C, 0x50DD, 0x835D, 0x50DE, 0x835E, 0x50DF, 0x835F, 0x50E0, 0x8360, 0x50E1, 0x8361, 0x50E2, 0x8362, - 0x50E3, 0x8363, 0x50E4, 0x8364, 0x50E5, 0x8365, 0x50E6, 0xD9D6, 0x50E7, 0xC9AE, 0x50E8, 0x8366, 0x50E9, 0x8367, 0x50EA, 0x8368, - 0x50EB, 0x8369, 0x50EC, 0xD9D5, 0x50ED, 0xD9D4, 0x50EE, 0xD9D7, 0x50EF, 0x836A, 0x50F0, 0x836B, 0x50F1, 0x836C, 0x50F2, 0x836D, - 0x50F3, 0xCBDB, 0x50F4, 0x836E, 0x50F5, 0xBDA9, 0x50F6, 0x836F, 0x50F7, 0x8370, 0x50F8, 0x8371, 0x50F9, 0x8372, 0x50FA, 0x8373, - 0x50FB, 0xC6A7, 0x50FC, 0x8374, 0x50FD, 0x8375, 0x50FE, 0x8376, 0x50FF, 0x8377, 0x5100, 0x8378, 0x5101, 0x8379, 0x5102, 0x837A, - 0x5103, 0x837B, 0x5104, 0x837C, 0x5105, 0x837D, 0x5106, 0xD9D3, 0x5107, 0xD9D8, 0x5108, 0x837E, 0x5109, 0x8380, 0x510A, 0x8381, - 0x510B, 0xD9D9, 0x510C, 0x8382, 0x510D, 0x8383, 0x510E, 0x8384, 0x510F, 0x8385, 0x5110, 0x8386, 0x5111, 0x8387, 0x5112, 0xC8E5, - 0x5113, 0x8388, 0x5114, 0x8389, 0x5115, 0x838A, 0x5116, 0x838B, 0x5117, 0x838C, 0x5118, 0x838D, 0x5119, 0x838E, 0x511A, 0x838F, - 0x511B, 0x8390, 0x511C, 0x8391, 0x511D, 0x8392, 0x511E, 0x8393, 0x511F, 0x8394, 0x5120, 0x8395, 0x5121, 0xC0DC, 0x5122, 0x8396, - 0x5123, 0x8397, 0x5124, 0x8398, 0x5125, 0x8399, 0x5126, 0x839A, 0x5127, 0x839B, 0x5128, 0x839C, 0x5129, 0x839D, 0x512A, 0x839E, - 0x512B, 0x839F, 0x512C, 0x83A0, 0x512D, 0x83A1, 0x512E, 0x83A2, 0x512F, 0x83A3, 0x5130, 0x83A4, 0x5131, 0x83A5, 0x5132, 0x83A6, - 0x5133, 0x83A7, 0x5134, 0x83A8, 0x5135, 0x83A9, 0x5136, 0x83AA, 0x5137, 0x83AB, 0x5138, 0x83AC, 0x5139, 0x83AD, 0x513A, 0x83AE, - 0x513B, 0x83AF, 0x513C, 0x83B0, 0x513D, 0x83B1, 0x513E, 0x83B2, 0x513F, 0xB6F9, 0x5140, 0xD8A3, 0x5141, 0xD4CA, 0x5142, 0x83B3, - 0x5143, 0xD4AA, 0x5144, 0xD0D6, 0x5145, 0xB3E4, 0x5146, 0xD5D7, 0x5147, 0x83B4, 0x5148, 0xCFC8, 0x5149, 0xB9E2, 0x514A, 0x83B5, - 0x514B, 0xBFCB, 0x514C, 0x83B6, 0x514D, 0xC3E2, 0x514E, 0x83B7, 0x514F, 0x83B8, 0x5150, 0x83B9, 0x5151, 0xB6D2, 0x5152, 0x83BA, - 0x5153, 0x83BB, 0x5154, 0xCDC3, 0x5155, 0xD9EE, 0x5156, 0xD9F0, 0x5157, 0x83BC, 0x5158, 0x83BD, 0x5159, 0x83BE, 0x515A, 0xB5B3, - 0x515B, 0x83BF, 0x515C, 0xB6B5, 0x515D, 0x83C0, 0x515E, 0x83C1, 0x515F, 0x83C2, 0x5160, 0x83C3, 0x5161, 0x83C4, 0x5162, 0xBEA4, - 0x5163, 0x83C5, 0x5164, 0x83C6, 0x5165, 0xC8EB, 0x5166, 0x83C7, 0x5167, 0x83C8, 0x5168, 0xC8AB, 0x5169, 0x83C9, 0x516A, 0x83CA, - 0x516B, 0xB0CB, 0x516C, 0xB9AB, 0x516D, 0xC1F9, 0x516E, 0xD9E2, 0x516F, 0x83CB, 0x5170, 0xC0BC, 0x5171, 0xB9B2, 0x5172, 0x83CC, - 0x5173, 0xB9D8, 0x5174, 0xD0CB, 0x5175, 0xB1F8, 0x5176, 0xC6E4, 0x5177, 0xBEDF, 0x5178, 0xB5E4, 0x5179, 0xD7C8, 0x517A, 0x83CD, - 0x517B, 0xD1F8, 0x517C, 0xBCE6, 0x517D, 0xCADE, 0x517E, 0x83CE, 0x517F, 0x83CF, 0x5180, 0xBCBD, 0x5181, 0xD9E6, 0x5182, 0xD8E7, - 0x5183, 0x83D0, 0x5184, 0x83D1, 0x5185, 0xC4DA, 0x5186, 0x83D2, 0x5187, 0x83D3, 0x5188, 0xB8D4, 0x5189, 0xC8BD, 0x518A, 0x83D4, - 0x518B, 0x83D5, 0x518C, 0xB2E1, 0x518D, 0xD4D9, 0x518E, 0x83D6, 0x518F, 0x83D7, 0x5190, 0x83D8, 0x5191, 0x83D9, 0x5192, 0xC3B0, - 0x5193, 0x83DA, 0x5194, 0x83DB, 0x5195, 0xC3E1, 0x5196, 0xDAA2, 0x5197, 0xC8DF, 0x5198, 0x83DC, 0x5199, 0xD0B4, 0x519A, 0x83DD, - 0x519B, 0xBEFC, 0x519C, 0xC5A9, 0x519D, 0x83DE, 0x519E, 0x83DF, 0x519F, 0x83E0, 0x51A0, 0xB9DA, 0x51A1, 0x83E1, 0x51A2, 0xDAA3, - 0x51A3, 0x83E2, 0x51A4, 0xD4A9, 0x51A5, 0xDAA4, 0x51A6, 0x83E3, 0x51A7, 0x83E4, 0x51A8, 0x83E5, 0x51A9, 0x83E6, 0x51AA, 0x83E7, - 0x51AB, 0xD9FB, 0x51AC, 0xB6AC, 0x51AD, 0x83E8, 0x51AE, 0x83E9, 0x51AF, 0xB7EB, 0x51B0, 0xB1F9, 0x51B1, 0xD9FC, 0x51B2, 0xB3E5, - 0x51B3, 0xBEF6, 0x51B4, 0x83EA, 0x51B5, 0xBFF6, 0x51B6, 0xD2B1, 0x51B7, 0xC0E4, 0x51B8, 0x83EB, 0x51B9, 0x83EC, 0x51BA, 0x83ED, - 0x51BB, 0xB6B3, 0x51BC, 0xD9FE, 0x51BD, 0xD9FD, 0x51BE, 0x83EE, 0x51BF, 0x83EF, 0x51C0, 0xBEBB, 0x51C1, 0x83F0, 0x51C2, 0x83F1, - 0x51C3, 0x83F2, 0x51C4, 0xC6E0, 0x51C5, 0x83F3, 0x51C6, 0xD7BC, 0x51C7, 0xDAA1, 0x51C8, 0x83F4, 0x51C9, 0xC1B9, 0x51CA, 0x83F5, - 0x51CB, 0xB5F2, 0x51CC, 0xC1E8, 0x51CD, 0x83F6, 0x51CE, 0x83F7, 0x51CF, 0xBCF5, 0x51D0, 0x83F8, 0x51D1, 0xB4D5, 0x51D2, 0x83F9, - 0x51D3, 0x83FA, 0x51D4, 0x83FB, 0x51D5, 0x83FC, 0x51D6, 0x83FD, 0x51D7, 0x83FE, 0x51D8, 0x8440, 0x51D9, 0x8441, 0x51DA, 0x8442, - 0x51DB, 0xC1DD, 0x51DC, 0x8443, 0x51DD, 0xC4FD, 0x51DE, 0x8444, 0x51DF, 0x8445, 0x51E0, 0xBCB8, 0x51E1, 0xB7B2, 0x51E2, 0x8446, - 0x51E3, 0x8447, 0x51E4, 0xB7EF, 0x51E5, 0x8448, 0x51E6, 0x8449, 0x51E7, 0x844A, 0x51E8, 0x844B, 0x51E9, 0x844C, 0x51EA, 0x844D, - 0x51EB, 0xD9EC, 0x51EC, 0x844E, 0x51ED, 0xC6BE, 0x51EE, 0x844F, 0x51EF, 0xBFAD, 0x51F0, 0xBBCB, 0x51F1, 0x8450, 0x51F2, 0x8451, - 0x51F3, 0xB5CA, 0x51F4, 0x8452, 0x51F5, 0xDBC9, 0x51F6, 0xD0D7, 0x51F7, 0x8453, 0x51F8, 0xCDB9, 0x51F9, 0xB0BC, 0x51FA, 0xB3F6, - 0x51FB, 0xBBF7, 0x51FC, 0xDBCA, 0x51FD, 0xBAAF, 0x51FE, 0x8454, 0x51FF, 0xD4E4, 0x5200, 0xB5B6, 0x5201, 0xB5F3, 0x5202, 0xD8D6, - 0x5203, 0xC8D0, 0x5204, 0x8455, 0x5205, 0x8456, 0x5206, 0xB7D6, 0x5207, 0xC7D0, 0x5208, 0xD8D7, 0x5209, 0x8457, 0x520A, 0xBFAF, - 0x520B, 0x8458, 0x520C, 0x8459, 0x520D, 0xDBBB, 0x520E, 0xD8D8, 0x520F, 0x845A, 0x5210, 0x845B, 0x5211, 0xD0CC, 0x5212, 0xBBAE, - 0x5213, 0x845C, 0x5214, 0x845D, 0x5215, 0x845E, 0x5216, 0xEBBE, 0x5217, 0xC1D0, 0x5218, 0xC1F5, 0x5219, 0xD4F2, 0x521A, 0xB8D5, - 0x521B, 0xB4B4, 0x521C, 0x845F, 0x521D, 0xB3F5, 0x521E, 0x8460, 0x521F, 0x8461, 0x5220, 0xC9BE, 0x5221, 0x8462, 0x5222, 0x8463, - 0x5223, 0x8464, 0x5224, 0xC5D0, 0x5225, 0x8465, 0x5226, 0x8466, 0x5227, 0x8467, 0x5228, 0xC5D9, 0x5229, 0xC0FB, 0x522A, 0x8468, - 0x522B, 0xB1F0, 0x522C, 0x8469, 0x522D, 0xD8D9, 0x522E, 0xB9CE, 0x522F, 0x846A, 0x5230, 0xB5BD, 0x5231, 0x846B, 0x5232, 0x846C, - 0x5233, 0xD8DA, 0x5234, 0x846D, 0x5235, 0x846E, 0x5236, 0xD6C6, 0x5237, 0xCBA2, 0x5238, 0xC8AF, 0x5239, 0xC9B2, 0x523A, 0xB4CC, - 0x523B, 0xBFCC, 0x523C, 0x846F, 0x523D, 0xB9F4, 0x523E, 0x8470, 0x523F, 0xD8DB, 0x5240, 0xD8DC, 0x5241, 0xB6E7, 0x5242, 0xBCC1, - 0x5243, 0xCCEA, 0x5244, 0x8471, 0x5245, 0x8472, 0x5246, 0x8473, 0x5247, 0x8474, 0x5248, 0x8475, 0x5249, 0x8476, 0x524A, 0xCFF7, - 0x524B, 0x8477, 0x524C, 0xD8DD, 0x524D, 0xC7B0, 0x524E, 0x8478, 0x524F, 0x8479, 0x5250, 0xB9D0, 0x5251, 0xBDA3, 0x5252, 0x847A, - 0x5253, 0x847B, 0x5254, 0xCCDE, 0x5255, 0x847C, 0x5256, 0xC6CA, 0x5257, 0x847D, 0x5258, 0x847E, 0x5259, 0x8480, 0x525A, 0x8481, - 0x525B, 0x8482, 0x525C, 0xD8E0, 0x525D, 0x8483, 0x525E, 0xD8DE, 0x525F, 0x8484, 0x5260, 0x8485, 0x5261, 0xD8DF, 0x5262, 0x8486, - 0x5263, 0x8487, 0x5264, 0x8488, 0x5265, 0xB0FE, 0x5266, 0x8489, 0x5267, 0xBEE7, 0x5268, 0x848A, 0x5269, 0xCAA3, 0x526A, 0xBCF4, - 0x526B, 0x848B, 0x526C, 0x848C, 0x526D, 0x848D, 0x526E, 0x848E, 0x526F, 0xB8B1, 0x5270, 0x848F, 0x5271, 0x8490, 0x5272, 0xB8EE, - 0x5273, 0x8491, 0x5274, 0x8492, 0x5275, 0x8493, 0x5276, 0x8494, 0x5277, 0x8495, 0x5278, 0x8496, 0x5279, 0x8497, 0x527A, 0x8498, - 0x527B, 0x8499, 0x527C, 0x849A, 0x527D, 0xD8E2, 0x527E, 0x849B, 0x527F, 0xBDCB, 0x5280, 0x849C, 0x5281, 0xD8E4, 0x5282, 0xD8E3, - 0x5283, 0x849D, 0x5284, 0x849E, 0x5285, 0x849F, 0x5286, 0x84A0, 0x5287, 0x84A1, 0x5288, 0xC5FC, 0x5289, 0x84A2, 0x528A, 0x84A3, - 0x528B, 0x84A4, 0x528C, 0x84A5, 0x528D, 0x84A6, 0x528E, 0x84A7, 0x528F, 0x84A8, 0x5290, 0xD8E5, 0x5291, 0x84A9, 0x5292, 0x84AA, - 0x5293, 0xD8E6, 0x5294, 0x84AB, 0x5295, 0x84AC, 0x5296, 0x84AD, 0x5297, 0x84AE, 0x5298, 0x84AF, 0x5299, 0x84B0, 0x529A, 0x84B1, - 0x529B, 0xC1A6, 0x529C, 0x84B2, 0x529D, 0xC8B0, 0x529E, 0xB0EC, 0x529F, 0xB9A6, 0x52A0, 0xBCD3, 0x52A1, 0xCEF1, 0x52A2, 0xDBBD, - 0x52A3, 0xC1D3, 0x52A4, 0x84B3, 0x52A5, 0x84B4, 0x52A6, 0x84B5, 0x52A7, 0x84B6, 0x52A8, 0xB6AF, 0x52A9, 0xD6FA, 0x52AA, 0xC5AC, - 0x52AB, 0xBDD9, 0x52AC, 0xDBBE, 0x52AD, 0xDBBF, 0x52AE, 0x84B7, 0x52AF, 0x84B8, 0x52B0, 0x84B9, 0x52B1, 0xC0F8, 0x52B2, 0xBEA2, - 0x52B3, 0xC0CD, 0x52B4, 0x84BA, 0x52B5, 0x84BB, 0x52B6, 0x84BC, 0x52B7, 0x84BD, 0x52B8, 0x84BE, 0x52B9, 0x84BF, 0x52BA, 0x84C0, - 0x52BB, 0x84C1, 0x52BC, 0x84C2, 0x52BD, 0x84C3, 0x52BE, 0xDBC0, 0x52BF, 0xCAC6, 0x52C0, 0x84C4, 0x52C1, 0x84C5, 0x52C2, 0x84C6, - 0x52C3, 0xB2AA, 0x52C4, 0x84C7, 0x52C5, 0x84C8, 0x52C6, 0x84C9, 0x52C7, 0xD3C2, 0x52C8, 0x84CA, 0x52C9, 0xC3E3, 0x52CA, 0x84CB, - 0x52CB, 0xD1AB, 0x52CC, 0x84CC, 0x52CD, 0x84CD, 0x52CE, 0x84CE, 0x52CF, 0x84CF, 0x52D0, 0xDBC2, 0x52D1, 0x84D0, 0x52D2, 0xC0D5, - 0x52D3, 0x84D1, 0x52D4, 0x84D2, 0x52D5, 0x84D3, 0x52D6, 0xDBC3, 0x52D7, 0x84D4, 0x52D8, 0xBFB1, 0x52D9, 0x84D5, 0x52DA, 0x84D6, - 0x52DB, 0x84D7, 0x52DC, 0x84D8, 0x52DD, 0x84D9, 0x52DE, 0x84DA, 0x52DF, 0xC4BC, 0x52E0, 0x84DB, 0x52E1, 0x84DC, 0x52E2, 0x84DD, - 0x52E3, 0x84DE, 0x52E4, 0xC7DA, 0x52E5, 0x84DF, 0x52E6, 0x84E0, 0x52E7, 0x84E1, 0x52E8, 0x84E2, 0x52E9, 0x84E3, 0x52EA, 0x84E4, - 0x52EB, 0x84E5, 0x52EC, 0x84E6, 0x52ED, 0x84E7, 0x52EE, 0x84E8, 0x52EF, 0x84E9, 0x52F0, 0xDBC4, 0x52F1, 0x84EA, 0x52F2, 0x84EB, - 0x52F3, 0x84EC, 0x52F4, 0x84ED, 0x52F5, 0x84EE, 0x52F6, 0x84EF, 0x52F7, 0x84F0, 0x52F8, 0x84F1, 0x52F9, 0xD9E8, 0x52FA, 0xC9D7, - 0x52FB, 0x84F2, 0x52FC, 0x84F3, 0x52FD, 0x84F4, 0x52FE, 0xB9B4, 0x52FF, 0xCEF0, 0x5300, 0xD4C8, 0x5301, 0x84F5, 0x5302, 0x84F6, - 0x5303, 0x84F7, 0x5304, 0x84F8, 0x5305, 0xB0FC, 0x5306, 0xB4D2, 0x5307, 0x84F9, 0x5308, 0xD0D9, 0x5309, 0x84FA, 0x530A, 0x84FB, - 0x530B, 0x84FC, 0x530C, 0x84FD, 0x530D, 0xD9E9, 0x530E, 0x84FE, 0x530F, 0xDECB, 0x5310, 0xD9EB, 0x5311, 0x8540, 0x5312, 0x8541, - 0x5313, 0x8542, 0x5314, 0x8543, 0x5315, 0xD8B0, 0x5316, 0xBBAF, 0x5317, 0xB1B1, 0x5318, 0x8544, 0x5319, 0xB3D7, 0x531A, 0xD8CE, - 0x531B, 0x8545, 0x531C, 0x8546, 0x531D, 0xD4D1, 0x531E, 0x8547, 0x531F, 0x8548, 0x5320, 0xBDB3, 0x5321, 0xBFEF, 0x5322, 0x8549, - 0x5323, 0xCFBB, 0x5324, 0x854A, 0x5325, 0x854B, 0x5326, 0xD8D0, 0x5327, 0x854C, 0x5328, 0x854D, 0x5329, 0x854E, 0x532A, 0xB7CB, - 0x532B, 0x854F, 0x532C, 0x8550, 0x532D, 0x8551, 0x532E, 0xD8D1, 0x532F, 0x8552, 0x5330, 0x8553, 0x5331, 0x8554, 0x5332, 0x8555, - 0x5333, 0x8556, 0x5334, 0x8557, 0x5335, 0x8558, 0x5336, 0x8559, 0x5337, 0x855A, 0x5338, 0x855B, 0x5339, 0xC6A5, 0x533A, 0xC7F8, - 0x533B, 0xD2BD, 0x533C, 0x855C, 0x533D, 0x855D, 0x533E, 0xD8D2, 0x533F, 0xC4E4, 0x5340, 0x855E, 0x5341, 0xCAAE, 0x5342, 0x855F, - 0x5343, 0xC7A7, 0x5344, 0x8560, 0x5345, 0xD8A6, 0x5346, 0x8561, 0x5347, 0xC9FD, 0x5348, 0xCEE7, 0x5349, 0xBBDC, 0x534A, 0xB0EB, - 0x534B, 0x8562, 0x534C, 0x8563, 0x534D, 0x8564, 0x534E, 0xBBAA, 0x534F, 0xD0AD, 0x5350, 0x8565, 0x5351, 0xB1B0, 0x5352, 0xD7E4, - 0x5353, 0xD7BF, 0x5354, 0x8566, 0x5355, 0xB5A5, 0x5356, 0xC2F4, 0x5357, 0xC4CF, 0x5358, 0x8567, 0x5359, 0x8568, 0x535A, 0xB2A9, - 0x535B, 0x8569, 0x535C, 0xB2B7, 0x535D, 0x856A, 0x535E, 0xB1E5, 0x535F, 0xDFB2, 0x5360, 0xD5BC, 0x5361, 0xBFA8, 0x5362, 0xC2AC, - 0x5363, 0xD8D5, 0x5364, 0xC2B1, 0x5365, 0x856B, 0x5366, 0xD8D4, 0x5367, 0xCED4, 0x5368, 0x856C, 0x5369, 0xDAE0, 0x536A, 0x856D, - 0x536B, 0xCEC0, 0x536C, 0x856E, 0x536D, 0x856F, 0x536E, 0xD8B4, 0x536F, 0xC3AE, 0x5370, 0xD3A1, 0x5371, 0xCEA3, 0x5372, 0x8570, - 0x5373, 0xBCB4, 0x5374, 0xC8B4, 0x5375, 0xC2D1, 0x5376, 0x8571, 0x5377, 0xBEED, 0x5378, 0xD0B6, 0x5379, 0x8572, 0x537A, 0xDAE1, - 0x537B, 0x8573, 0x537C, 0x8574, 0x537D, 0x8575, 0x537E, 0x8576, 0x537F, 0xC7E4, 0x5380, 0x8577, 0x5381, 0x8578, 0x5382, 0xB3A7, - 0x5383, 0x8579, 0x5384, 0xB6F2, 0x5385, 0xCCFC, 0x5386, 0xC0FA, 0x5387, 0x857A, 0x5388, 0x857B, 0x5389, 0xC0F7, 0x538A, 0x857C, - 0x538B, 0xD1B9, 0x538C, 0xD1E1, 0x538D, 0xD8C7, 0x538E, 0x857D, 0x538F, 0x857E, 0x5390, 0x8580, 0x5391, 0x8581, 0x5392, 0x8582, - 0x5393, 0x8583, 0x5394, 0x8584, 0x5395, 0xB2DE, 0x5396, 0x8585, 0x5397, 0x8586, 0x5398, 0xC0E5, 0x5399, 0x8587, 0x539A, 0xBAF1, - 0x539B, 0x8588, 0x539C, 0x8589, 0x539D, 0xD8C8, 0x539E, 0x858A, 0x539F, 0xD4AD, 0x53A0, 0x858B, 0x53A1, 0x858C, 0x53A2, 0xCFE1, - 0x53A3, 0xD8C9, 0x53A4, 0x858D, 0x53A5, 0xD8CA, 0x53A6, 0xCFC3, 0x53A7, 0x858E, 0x53A8, 0xB3F8, 0x53A9, 0xBEC7, 0x53AA, 0x858F, - 0x53AB, 0x8590, 0x53AC, 0x8591, 0x53AD, 0x8592, 0x53AE, 0xD8CB, 0x53AF, 0x8593, 0x53B0, 0x8594, 0x53B1, 0x8595, 0x53B2, 0x8596, - 0x53B3, 0x8597, 0x53B4, 0x8598, 0x53B5, 0x8599, 0x53B6, 0xDBCC, 0x53B7, 0x859A, 0x53B8, 0x859B, 0x53B9, 0x859C, 0x53BA, 0x859D, - 0x53BB, 0xC8A5, 0x53BC, 0x859E, 0x53BD, 0x859F, 0x53BE, 0x85A0, 0x53BF, 0xCFD8, 0x53C0, 0x85A1, 0x53C1, 0xC8FE, 0x53C2, 0xB2CE, - 0x53C3, 0x85A2, 0x53C4, 0x85A3, 0x53C5, 0x85A4, 0x53C6, 0x85A5, 0x53C7, 0x85A6, 0x53C8, 0xD3D6, 0x53C9, 0xB2E6, 0x53CA, 0xBCB0, - 0x53CB, 0xD3D1, 0x53CC, 0xCBAB, 0x53CD, 0xB7B4, 0x53CE, 0x85A7, 0x53CF, 0x85A8, 0x53D0, 0x85A9, 0x53D1, 0xB7A2, 0x53D2, 0x85AA, - 0x53D3, 0x85AB, 0x53D4, 0xCAE5, 0x53D5, 0x85AC, 0x53D6, 0xC8A1, 0x53D7, 0xCADC, 0x53D8, 0xB1E4, 0x53D9, 0xD0F0, 0x53DA, 0x85AD, - 0x53DB, 0xC5D1, 0x53DC, 0x85AE, 0x53DD, 0x85AF, 0x53DE, 0x85B0, 0x53DF, 0xDBC5, 0x53E0, 0xB5FE, 0x53E1, 0x85B1, 0x53E2, 0x85B2, - 0x53E3, 0xBFDA, 0x53E4, 0xB9C5, 0x53E5, 0xBEE4, 0x53E6, 0xC1ED, 0x53E7, 0x85B3, 0x53E8, 0xDFB6, 0x53E9, 0xDFB5, 0x53EA, 0xD6BB, - 0x53EB, 0xBDD0, 0x53EC, 0xD5D9, 0x53ED, 0xB0C8, 0x53EE, 0xB6A3, 0x53EF, 0xBFC9, 0x53F0, 0xCCA8, 0x53F1, 0xDFB3, 0x53F2, 0xCAB7, - 0x53F3, 0xD3D2, 0x53F4, 0x85B4, 0x53F5, 0xD8CF, 0x53F6, 0xD2B6, 0x53F7, 0xBAC5, 0x53F8, 0xCBBE, 0x53F9, 0xCCBE, 0x53FA, 0x85B5, - 0x53FB, 0xDFB7, 0x53FC, 0xB5F0, 0x53FD, 0xDFB4, 0x53FE, 0x85B6, 0x53FF, 0x85B7, 0x5400, 0x85B8, 0x5401, 0xD3F5, 0x5402, 0x85B9, - 0x5403, 0xB3D4, 0x5404, 0xB8F7, 0x5405, 0x85BA, 0x5406, 0xDFBA, 0x5407, 0x85BB, 0x5408, 0xBACF, 0x5409, 0xBCAA, 0x540A, 0xB5F5, - 0x540B, 0x85BC, 0x540C, 0xCDAC, 0x540D, 0xC3FB, 0x540E, 0xBAF3, 0x540F, 0xC0F4, 0x5410, 0xCDC2, 0x5411, 0xCFF2, 0x5412, 0xDFB8, - 0x5413, 0xCFC5, 0x5414, 0x85BD, 0x5415, 0xC2C0, 0x5416, 0xDFB9, 0x5417, 0xC2F0, 0x5418, 0x85BE, 0x5419, 0x85BF, 0x541A, 0x85C0, - 0x541B, 0xBEFD, 0x541C, 0x85C1, 0x541D, 0xC1DF, 0x541E, 0xCDCC, 0x541F, 0xD2F7, 0x5420, 0xB7CD, 0x5421, 0xDFC1, 0x5422, 0x85C2, - 0x5423, 0xDFC4, 0x5424, 0x85C3, 0x5425, 0x85C4, 0x5426, 0xB7F1, 0x5427, 0xB0C9, 0x5428, 0xB6D6, 0x5429, 0xB7D4, 0x542A, 0x85C5, - 0x542B, 0xBAAC, 0x542C, 0xCCFD, 0x542D, 0xBFD4, 0x542E, 0xCBB1, 0x542F, 0xC6F4, 0x5430, 0x85C6, 0x5431, 0xD6A8, 0x5432, 0xDFC5, - 0x5433, 0x85C7, 0x5434, 0xCEE2, 0x5435, 0xB3B3, 0x5436, 0x85C8, 0x5437, 0x85C9, 0x5438, 0xCEFC, 0x5439, 0xB4B5, 0x543A, 0x85CA, - 0x543B, 0xCEC7, 0x543C, 0xBAF0, 0x543D, 0x85CB, 0x543E, 0xCEE1, 0x543F, 0x85CC, 0x5440, 0xD1BD, 0x5441, 0x85CD, 0x5442, 0x85CE, - 0x5443, 0xDFC0, 0x5444, 0x85CF, 0x5445, 0x85D0, 0x5446, 0xB4F4, 0x5447, 0x85D1, 0x5448, 0xB3CA, 0x5449, 0x85D2, 0x544A, 0xB8E6, - 0x544B, 0xDFBB, 0x544C, 0x85D3, 0x544D, 0x85D4, 0x544E, 0x85D5, 0x544F, 0x85D6, 0x5450, 0xC4C5, 0x5451, 0x85D7, 0x5452, 0xDFBC, - 0x5453, 0xDFBD, 0x5454, 0xDFBE, 0x5455, 0xC5BB, 0x5456, 0xDFBF, 0x5457, 0xDFC2, 0x5458, 0xD4B1, 0x5459, 0xDFC3, 0x545A, 0x85D8, - 0x545B, 0xC7BA, 0x545C, 0xCED8, 0x545D, 0x85D9, 0x545E, 0x85DA, 0x545F, 0x85DB, 0x5460, 0x85DC, 0x5461, 0x85DD, 0x5462, 0xC4D8, - 0x5463, 0x85DE, 0x5464, 0xDFCA, 0x5465, 0x85DF, 0x5466, 0xDFCF, 0x5467, 0x85E0, 0x5468, 0xD6DC, 0x5469, 0x85E1, 0x546A, 0x85E2, - 0x546B, 0x85E3, 0x546C, 0x85E4, 0x546D, 0x85E5, 0x546E, 0x85E6, 0x546F, 0x85E7, 0x5470, 0x85E8, 0x5471, 0xDFC9, 0x5472, 0xDFDA, - 0x5473, 0xCEB6, 0x5474, 0x85E9, 0x5475, 0xBAC7, 0x5476, 0xDFCE, 0x5477, 0xDFC8, 0x5478, 0xC5DE, 0x5479, 0x85EA, 0x547A, 0x85EB, - 0x547B, 0xC9EB, 0x547C, 0xBAF4, 0x547D, 0xC3FC, 0x547E, 0x85EC, 0x547F, 0x85ED, 0x5480, 0xBED7, 0x5481, 0x85EE, 0x5482, 0xDFC6, - 0x5483, 0x85EF, 0x5484, 0xDFCD, 0x5485, 0x85F0, 0x5486, 0xC5D8, 0x5487, 0x85F1, 0x5488, 0x85F2, 0x5489, 0x85F3, 0x548A, 0x85F4, - 0x548B, 0xD5A6, 0x548C, 0xBACD, 0x548D, 0x85F5, 0x548E, 0xBECC, 0x548F, 0xD3BD, 0x5490, 0xB8C0, 0x5491, 0x85F6, 0x5492, 0xD6E4, - 0x5493, 0x85F7, 0x5494, 0xDFC7, 0x5495, 0xB9BE, 0x5496, 0xBFA7, 0x5497, 0x85F8, 0x5498, 0x85F9, 0x5499, 0xC1FC, 0x549A, 0xDFCB, - 0x549B, 0xDFCC, 0x549C, 0x85FA, 0x549D, 0xDFD0, 0x549E, 0x85FB, 0x549F, 0x85FC, 0x54A0, 0x85FD, 0x54A1, 0x85FE, 0x54A2, 0x8640, - 0x54A3, 0xDFDB, 0x54A4, 0xDFE5, 0x54A5, 0x8641, 0x54A6, 0xDFD7, 0x54A7, 0xDFD6, 0x54A8, 0xD7C9, 0x54A9, 0xDFE3, 0x54AA, 0xDFE4, - 0x54AB, 0xE5EB, 0x54AC, 0xD2A7, 0x54AD, 0xDFD2, 0x54AE, 0x8642, 0x54AF, 0xBFA9, 0x54B0, 0x8643, 0x54B1, 0xD4DB, 0x54B2, 0x8644, - 0x54B3, 0xBFC8, 0x54B4, 0xDFD4, 0x54B5, 0x8645, 0x54B6, 0x8646, 0x54B7, 0x8647, 0x54B8, 0xCFCC, 0x54B9, 0x8648, 0x54BA, 0x8649, - 0x54BB, 0xDFDD, 0x54BC, 0x864A, 0x54BD, 0xD1CA, 0x54BE, 0x864B, 0x54BF, 0xDFDE, 0x54C0, 0xB0A7, 0x54C1, 0xC6B7, 0x54C2, 0xDFD3, - 0x54C3, 0x864C, 0x54C4, 0xBAE5, 0x54C5, 0x864D, 0x54C6, 0xB6DF, 0x54C7, 0xCDDB, 0x54C8, 0xB9FE, 0x54C9, 0xD4D5, 0x54CA, 0x864E, - 0x54CB, 0x864F, 0x54CC, 0xDFDF, 0x54CD, 0xCFEC, 0x54CE, 0xB0A5, 0x54CF, 0xDFE7, 0x54D0, 0xDFD1, 0x54D1, 0xD1C6, 0x54D2, 0xDFD5, - 0x54D3, 0xDFD8, 0x54D4, 0xDFD9, 0x54D5, 0xDFDC, 0x54D6, 0x8650, 0x54D7, 0xBBA9, 0x54D8, 0x8651, 0x54D9, 0xDFE0, 0x54DA, 0xDFE1, - 0x54DB, 0x8652, 0x54DC, 0xDFE2, 0x54DD, 0xDFE6, 0x54DE, 0xDFE8, 0x54DF, 0xD3B4, 0x54E0, 0x8653, 0x54E1, 0x8654, 0x54E2, 0x8655, - 0x54E3, 0x8656, 0x54E4, 0x8657, 0x54E5, 0xB8E7, 0x54E6, 0xC5B6, 0x54E7, 0xDFEA, 0x54E8, 0xC9DA, 0x54E9, 0xC1A8, 0x54EA, 0xC4C4, - 0x54EB, 0x8658, 0x54EC, 0x8659, 0x54ED, 0xBFDE, 0x54EE, 0xCFF8, 0x54EF, 0x865A, 0x54F0, 0x865B, 0x54F1, 0x865C, 0x54F2, 0xD5DC, - 0x54F3, 0xDFEE, 0x54F4, 0x865D, 0x54F5, 0x865E, 0x54F6, 0x865F, 0x54F7, 0x8660, 0x54F8, 0x8661, 0x54F9, 0x8662, 0x54FA, 0xB2B8, - 0x54FB, 0x8663, 0x54FC, 0xBADF, 0x54FD, 0xDFEC, 0x54FE, 0x8664, 0x54FF, 0xDBC1, 0x5500, 0x8665, 0x5501, 0xD1E4, 0x5502, 0x8666, - 0x5503, 0x8667, 0x5504, 0x8668, 0x5505, 0x8669, 0x5506, 0xCBF4, 0x5507, 0xB4BD, 0x5508, 0x866A, 0x5509, 0xB0A6, 0x550A, 0x866B, - 0x550B, 0x866C, 0x550C, 0x866D, 0x550D, 0x866E, 0x550E, 0x866F, 0x550F, 0xDFF1, 0x5510, 0xCCC6, 0x5511, 0xDFF2, 0x5512, 0x8670, - 0x5513, 0x8671, 0x5514, 0xDFED, 0x5515, 0x8672, 0x5516, 0x8673, 0x5517, 0x8674, 0x5518, 0x8675, 0x5519, 0x8676, 0x551A, 0x8677, - 0x551B, 0xDFE9, 0x551C, 0x8678, 0x551D, 0x8679, 0x551E, 0x867A, 0x551F, 0x867B, 0x5520, 0xDFEB, 0x5521, 0x867C, 0x5522, 0xDFEF, - 0x5523, 0xDFF0, 0x5524, 0xBBBD, 0x5525, 0x867D, 0x5526, 0x867E, 0x5527, 0xDFF3, 0x5528, 0x8680, 0x5529, 0x8681, 0x552A, 0xDFF4, - 0x552B, 0x8682, 0x552C, 0xBBA3, 0x552D, 0x8683, 0x552E, 0xCADB, 0x552F, 0xCEA8, 0x5530, 0xE0A7, 0x5531, 0xB3AA, 0x5532, 0x8684, - 0x5533, 0xE0A6, 0x5534, 0x8685, 0x5535, 0x8686, 0x5536, 0x8687, 0x5537, 0xE0A1, 0x5538, 0x8688, 0x5539, 0x8689, 0x553A, 0x868A, - 0x553B, 0x868B, 0x553C, 0xDFFE, 0x553D, 0x868C, 0x553E, 0xCDD9, 0x553F, 0xDFFC, 0x5540, 0x868D, 0x5541, 0xDFFA, 0x5542, 0x868E, - 0x5543, 0xBFD0, 0x5544, 0xD7C4, 0x5545, 0x868F, 0x5546, 0xC9CC, 0x5547, 0x8690, 0x5548, 0x8691, 0x5549, 0xDFF8, 0x554A, 0xB0A1, - 0x554B, 0x8692, 0x554C, 0x8693, 0x554D, 0x8694, 0x554E, 0x8695, 0x554F, 0x8696, 0x5550, 0xDFFD, 0x5551, 0x8697, 0x5552, 0x8698, - 0x5553, 0x8699, 0x5554, 0x869A, 0x5555, 0xDFFB, 0x5556, 0xE0A2, 0x5557, 0x869B, 0x5558, 0x869C, 0x5559, 0x869D, 0x555A, 0x869E, - 0x555B, 0x869F, 0x555C, 0xE0A8, 0x555D, 0x86A0, 0x555E, 0x86A1, 0x555F, 0x86A2, 0x5560, 0x86A3, 0x5561, 0xB7C8, 0x5562, 0x86A4, - 0x5563, 0x86A5, 0x5564, 0xC6A1, 0x5565, 0xC9B6, 0x5566, 0xC0B2, 0x5567, 0xDFF5, 0x5568, 0x86A6, 0x5569, 0x86A7, 0x556A, 0xC5BE, - 0x556B, 0x86A8, 0x556C, 0xD8C4, 0x556D, 0xDFF9, 0x556E, 0xC4F6, 0x556F, 0x86A9, 0x5570, 0x86AA, 0x5571, 0x86AB, 0x5572, 0x86AC, - 0x5573, 0x86AD, 0x5574, 0x86AE, 0x5575, 0xE0A3, 0x5576, 0xE0A4, 0x5577, 0xE0A5, 0x5578, 0xD0A5, 0x5579, 0x86AF, 0x557A, 0x86B0, - 0x557B, 0xE0B4, 0x557C, 0xCCE4, 0x557D, 0x86B1, 0x557E, 0xE0B1, 0x557F, 0x86B2, 0x5580, 0xBFA6, 0x5581, 0xE0AF, 0x5582, 0xCEB9, - 0x5583, 0xE0AB, 0x5584, 0xC9C6, 0x5585, 0x86B3, 0x5586, 0x86B4, 0x5587, 0xC0AE, 0x5588, 0xE0AE, 0x5589, 0xBAED, 0x558A, 0xBAB0, - 0x558B, 0xE0A9, 0x558C, 0x86B5, 0x558D, 0x86B6, 0x558E, 0x86B7, 0x558F, 0xDFF6, 0x5590, 0x86B8, 0x5591, 0xE0B3, 0x5592, 0x86B9, - 0x5593, 0x86BA, 0x5594, 0xE0B8, 0x5595, 0x86BB, 0x5596, 0x86BC, 0x5597, 0x86BD, 0x5598, 0xB4AD, 0x5599, 0xE0B9, 0x559A, 0x86BE, - 0x559B, 0x86BF, 0x559C, 0xCFB2, 0x559D, 0xBAC8, 0x559E, 0x86C0, 0x559F, 0xE0B0, 0x55A0, 0x86C1, 0x55A1, 0x86C2, 0x55A2, 0x86C3, - 0x55A3, 0x86C4, 0x55A4, 0x86C5, 0x55A5, 0x86C6, 0x55A6, 0x86C7, 0x55A7, 0xD0FA, 0x55A8, 0x86C8, 0x55A9, 0x86C9, 0x55AA, 0x86CA, - 0x55AB, 0x86CB, 0x55AC, 0x86CC, 0x55AD, 0x86CD, 0x55AE, 0x86CE, 0x55AF, 0x86CF, 0x55B0, 0x86D0, 0x55B1, 0xE0AC, 0x55B2, 0x86D1, - 0x55B3, 0xD4FB, 0x55B4, 0x86D2, 0x55B5, 0xDFF7, 0x55B6, 0x86D3, 0x55B7, 0xC5E7, 0x55B8, 0x86D4, 0x55B9, 0xE0AD, 0x55BA, 0x86D5, - 0x55BB, 0xD3F7, 0x55BC, 0x86D6, 0x55BD, 0xE0B6, 0x55BE, 0xE0B7, 0x55BF, 0x86D7, 0x55C0, 0x86D8, 0x55C1, 0x86D9, 0x55C2, 0x86DA, - 0x55C3, 0x86DB, 0x55C4, 0xE0C4, 0x55C5, 0xD0E1, 0x55C6, 0x86DC, 0x55C7, 0x86DD, 0x55C8, 0x86DE, 0x55C9, 0xE0BC, 0x55CA, 0x86DF, - 0x55CB, 0x86E0, 0x55CC, 0xE0C9, 0x55CD, 0xE0CA, 0x55CE, 0x86E1, 0x55CF, 0x86E2, 0x55D0, 0x86E3, 0x55D1, 0xE0BE, 0x55D2, 0xE0AA, - 0x55D3, 0xC9A4, 0x55D4, 0xE0C1, 0x55D5, 0x86E4, 0x55D6, 0xE0B2, 0x55D7, 0x86E5, 0x55D8, 0x86E6, 0x55D9, 0x86E7, 0x55DA, 0x86E8, - 0x55DB, 0x86E9, 0x55DC, 0xCAC8, 0x55DD, 0xE0C3, 0x55DE, 0x86EA, 0x55DF, 0xE0B5, 0x55E0, 0x86EB, 0x55E1, 0xCECB, 0x55E2, 0x86EC, - 0x55E3, 0xCBC3, 0x55E4, 0xE0CD, 0x55E5, 0xE0C6, 0x55E6, 0xE0C2, 0x55E7, 0x86ED, 0x55E8, 0xE0CB, 0x55E9, 0x86EE, 0x55EA, 0xE0BA, - 0x55EB, 0xE0BF, 0x55EC, 0xE0C0, 0x55ED, 0x86EF, 0x55EE, 0x86F0, 0x55EF, 0xE0C5, 0x55F0, 0x86F1, 0x55F1, 0x86F2, 0x55F2, 0xE0C7, - 0x55F3, 0xE0C8, 0x55F4, 0x86F3, 0x55F5, 0xE0CC, 0x55F6, 0x86F4, 0x55F7, 0xE0BB, 0x55F8, 0x86F5, 0x55F9, 0x86F6, 0x55FA, 0x86F7, - 0x55FB, 0x86F8, 0x55FC, 0x86F9, 0x55FD, 0xCBD4, 0x55FE, 0xE0D5, 0x55FF, 0x86FA, 0x5600, 0xE0D6, 0x5601, 0xE0D2, 0x5602, 0x86FB, - 0x5603, 0x86FC, 0x5604, 0x86FD, 0x5605, 0x86FE, 0x5606, 0x8740, 0x5607, 0x8741, 0x5608, 0xE0D0, 0x5609, 0xBCCE, 0x560A, 0x8742, - 0x560B, 0x8743, 0x560C, 0xE0D1, 0x560D, 0x8744, 0x560E, 0xB8C2, 0x560F, 0xD8C5, 0x5610, 0x8745, 0x5611, 0x8746, 0x5612, 0x8747, - 0x5613, 0x8748, 0x5614, 0x8749, 0x5615, 0x874A, 0x5616, 0x874B, 0x5617, 0x874C, 0x5618, 0xD0EA, 0x5619, 0x874D, 0x561A, 0x874E, - 0x561B, 0xC2EF, 0x561C, 0x874F, 0x561D, 0x8750, 0x561E, 0xE0CF, 0x561F, 0xE0BD, 0x5620, 0x8751, 0x5621, 0x8752, 0x5622, 0x8753, - 0x5623, 0xE0D4, 0x5624, 0xE0D3, 0x5625, 0x8754, 0x5626, 0x8755, 0x5627, 0xE0D7, 0x5628, 0x8756, 0x5629, 0x8757, 0x562A, 0x8758, - 0x562B, 0x8759, 0x562C, 0xE0DC, 0x562D, 0xE0D8, 0x562E, 0x875A, 0x562F, 0x875B, 0x5630, 0x875C, 0x5631, 0xD6F6, 0x5632, 0xB3B0, - 0x5633, 0x875D, 0x5634, 0xD7EC, 0x5635, 0x875E, 0x5636, 0xCBBB, 0x5637, 0x875F, 0x5638, 0x8760, 0x5639, 0xE0DA, 0x563A, 0x8761, - 0x563B, 0xCEFB, 0x563C, 0x8762, 0x563D, 0x8763, 0x563E, 0x8764, 0x563F, 0xBAD9, 0x5640, 0x8765, 0x5641, 0x8766, 0x5642, 0x8767, - 0x5643, 0x8768, 0x5644, 0x8769, 0x5645, 0x876A, 0x5646, 0x876B, 0x5647, 0x876C, 0x5648, 0x876D, 0x5649, 0x876E, 0x564A, 0x876F, - 0x564B, 0x8770, 0x564C, 0xE0E1, 0x564D, 0xE0DD, 0x564E, 0xD2AD, 0x564F, 0x8771, 0x5650, 0x8772, 0x5651, 0x8773, 0x5652, 0x8774, - 0x5653, 0x8775, 0x5654, 0xE0E2, 0x5655, 0x8776, 0x5656, 0x8777, 0x5657, 0xE0DB, 0x5658, 0xE0D9, 0x5659, 0xE0DF, 0x565A, 0x8778, - 0x565B, 0x8779, 0x565C, 0xE0E0, 0x565D, 0x877A, 0x565E, 0x877B, 0x565F, 0x877C, 0x5660, 0x877D, 0x5661, 0x877E, 0x5662, 0xE0DE, - 0x5663, 0x8780, 0x5664, 0xE0E4, 0x5665, 0x8781, 0x5666, 0x8782, 0x5667, 0x8783, 0x5668, 0xC6F7, 0x5669, 0xD8AC, 0x566A, 0xD4EB, - 0x566B, 0xE0E6, 0x566C, 0xCAC9, 0x566D, 0x8784, 0x566E, 0x8785, 0x566F, 0x8786, 0x5670, 0x8787, 0x5671, 0xE0E5, 0x5672, 0x8788, - 0x5673, 0x8789, 0x5674, 0x878A, 0x5675, 0x878B, 0x5676, 0xB8C1, 0x5677, 0x878C, 0x5678, 0x878D, 0x5679, 0x878E, 0x567A, 0x878F, - 0x567B, 0xE0E7, 0x567C, 0xE0E8, 0x567D, 0x8790, 0x567E, 0x8791, 0x567F, 0x8792, 0x5680, 0x8793, 0x5681, 0x8794, 0x5682, 0x8795, - 0x5683, 0x8796, 0x5684, 0x8797, 0x5685, 0xE0E9, 0x5686, 0xE0E3, 0x5687, 0x8798, 0x5688, 0x8799, 0x5689, 0x879A, 0x568A, 0x879B, - 0x568B, 0x879C, 0x568C, 0x879D, 0x568D, 0x879E, 0x568E, 0xBABF, 0x568F, 0xCCE7, 0x5690, 0x879F, 0x5691, 0x87A0, 0x5692, 0x87A1, - 0x5693, 0xE0EA, 0x5694, 0x87A2, 0x5695, 0x87A3, 0x5696, 0x87A4, 0x5697, 0x87A5, 0x5698, 0x87A6, 0x5699, 0x87A7, 0x569A, 0x87A8, - 0x569B, 0x87A9, 0x569C, 0x87AA, 0x569D, 0x87AB, 0x569E, 0x87AC, 0x569F, 0x87AD, 0x56A0, 0x87AE, 0x56A1, 0x87AF, 0x56A2, 0x87B0, - 0x56A3, 0xCFF9, 0x56A4, 0x87B1, 0x56A5, 0x87B2, 0x56A6, 0x87B3, 0x56A7, 0x87B4, 0x56A8, 0x87B5, 0x56A9, 0x87B6, 0x56AA, 0x87B7, - 0x56AB, 0x87B8, 0x56AC, 0x87B9, 0x56AD, 0x87BA, 0x56AE, 0x87BB, 0x56AF, 0xE0EB, 0x56B0, 0x87BC, 0x56B1, 0x87BD, 0x56B2, 0x87BE, - 0x56B3, 0x87BF, 0x56B4, 0x87C0, 0x56B5, 0x87C1, 0x56B6, 0x87C2, 0x56B7, 0xC8C2, 0x56B8, 0x87C3, 0x56B9, 0x87C4, 0x56BA, 0x87C5, - 0x56BB, 0x87C6, 0x56BC, 0xBDC0, 0x56BD, 0x87C7, 0x56BE, 0x87C8, 0x56BF, 0x87C9, 0x56C0, 0x87CA, 0x56C1, 0x87CB, 0x56C2, 0x87CC, - 0x56C3, 0x87CD, 0x56C4, 0x87CE, 0x56C5, 0x87CF, 0x56C6, 0x87D0, 0x56C7, 0x87D1, 0x56C8, 0x87D2, 0x56C9, 0x87D3, 0x56CA, 0xC4D2, - 0x56CB, 0x87D4, 0x56CC, 0x87D5, 0x56CD, 0x87D6, 0x56CE, 0x87D7, 0x56CF, 0x87D8, 0x56D0, 0x87D9, 0x56D1, 0x87DA, 0x56D2, 0x87DB, - 0x56D3, 0x87DC, 0x56D4, 0xE0EC, 0x56D5, 0x87DD, 0x56D6, 0x87DE, 0x56D7, 0xE0ED, 0x56D8, 0x87DF, 0x56D9, 0x87E0, 0x56DA, 0xC7F4, - 0x56DB, 0xCBC4, 0x56DC, 0x87E1, 0x56DD, 0xE0EE, 0x56DE, 0xBBD8, 0x56DF, 0xD8B6, 0x56E0, 0xD2F2, 0x56E1, 0xE0EF, 0x56E2, 0xCDC5, - 0x56E3, 0x87E2, 0x56E4, 0xB6DA, 0x56E5, 0x87E3, 0x56E6, 0x87E4, 0x56E7, 0x87E5, 0x56E8, 0x87E6, 0x56E9, 0x87E7, 0x56EA, 0x87E8, - 0x56EB, 0xE0F1, 0x56EC, 0x87E9, 0x56ED, 0xD4B0, 0x56EE, 0x87EA, 0x56EF, 0x87EB, 0x56F0, 0xC0A7, 0x56F1, 0xB4D1, 0x56F2, 0x87EC, - 0x56F3, 0x87ED, 0x56F4, 0xCEA7, 0x56F5, 0xE0F0, 0x56F6, 0x87EE, 0x56F7, 0x87EF, 0x56F8, 0x87F0, 0x56F9, 0xE0F2, 0x56FA, 0xB9CC, - 0x56FB, 0x87F1, 0x56FC, 0x87F2, 0x56FD, 0xB9FA, 0x56FE, 0xCDBC, 0x56FF, 0xE0F3, 0x5700, 0x87F3, 0x5701, 0x87F4, 0x5702, 0x87F5, - 0x5703, 0xC6D4, 0x5704, 0xE0F4, 0x5705, 0x87F6, 0x5706, 0xD4B2, 0x5707, 0x87F7, 0x5708, 0xC8A6, 0x5709, 0xE0F6, 0x570A, 0xE0F5, - 0x570B, 0x87F8, 0x570C, 0x87F9, 0x570D, 0x87FA, 0x570E, 0x87FB, 0x570F, 0x87FC, 0x5710, 0x87FD, 0x5711, 0x87FE, 0x5712, 0x8840, - 0x5713, 0x8841, 0x5714, 0x8842, 0x5715, 0x8843, 0x5716, 0x8844, 0x5717, 0x8845, 0x5718, 0x8846, 0x5719, 0x8847, 0x571A, 0x8848, - 0x571B, 0x8849, 0x571C, 0xE0F7, 0x571D, 0x884A, 0x571E, 0x884B, 0x571F, 0xCDC1, 0x5720, 0x884C, 0x5721, 0x884D, 0x5722, 0x884E, - 0x5723, 0xCAA5, 0x5724, 0x884F, 0x5725, 0x8850, 0x5726, 0x8851, 0x5727, 0x8852, 0x5728, 0xD4DA, 0x5729, 0xDBD7, 0x572A, 0xDBD9, - 0x572B, 0x8853, 0x572C, 0xDBD8, 0x572D, 0xB9E7, 0x572E, 0xDBDC, 0x572F, 0xDBDD, 0x5730, 0xB5D8, 0x5731, 0x8854, 0x5732, 0x8855, - 0x5733, 0xDBDA, 0x5734, 0x8856, 0x5735, 0x8857, 0x5736, 0x8858, 0x5737, 0x8859, 0x5738, 0x885A, 0x5739, 0xDBDB, 0x573A, 0xB3A1, - 0x573B, 0xDBDF, 0x573C, 0x885B, 0x573D, 0x885C, 0x573E, 0xBBF8, 0x573F, 0x885D, 0x5740, 0xD6B7, 0x5741, 0x885E, 0x5742, 0xDBE0, - 0x5743, 0x885F, 0x5744, 0x8860, 0x5745, 0x8861, 0x5746, 0x8862, 0x5747, 0xBEF9, 0x5748, 0x8863, 0x5749, 0x8864, 0x574A, 0xB7BB, - 0x574B, 0x8865, 0x574C, 0xDBD0, 0x574D, 0xCCAE, 0x574E, 0xBFB2, 0x574F, 0xBBB5, 0x5750, 0xD7F8, 0x5751, 0xBFD3, 0x5752, 0x8866, - 0x5753, 0x8867, 0x5754, 0x8868, 0x5755, 0x8869, 0x5756, 0x886A, 0x5757, 0xBFE9, 0x5758, 0x886B, 0x5759, 0x886C, 0x575A, 0xBCE1, - 0x575B, 0xCCB3, 0x575C, 0xDBDE, 0x575D, 0xB0D3, 0x575E, 0xCEEB, 0x575F, 0xB7D8, 0x5760, 0xD7B9, 0x5761, 0xC6C2, 0x5762, 0x886D, - 0x5763, 0x886E, 0x5764, 0xC0A4, 0x5765, 0x886F, 0x5766, 0xCCB9, 0x5767, 0x8870, 0x5768, 0xDBE7, 0x5769, 0xDBE1, 0x576A, 0xC6BA, - 0x576B, 0xDBE3, 0x576C, 0x8871, 0x576D, 0xDBE8, 0x576E, 0x8872, 0x576F, 0xC5F7, 0x5770, 0x8873, 0x5771, 0x8874, 0x5772, 0x8875, - 0x5773, 0xDBEA, 0x5774, 0x8876, 0x5775, 0x8877, 0x5776, 0xDBE9, 0x5777, 0xBFC0, 0x5778, 0x8878, 0x5779, 0x8879, 0x577A, 0x887A, - 0x577B, 0xDBE6, 0x577C, 0xDBE5, 0x577D, 0x887B, 0x577E, 0x887C, 0x577F, 0x887D, 0x5780, 0x887E, 0x5781, 0x8880, 0x5782, 0xB4B9, - 0x5783, 0xC0AC, 0x5784, 0xC2A2, 0x5785, 0xDBE2, 0x5786, 0xDBE4, 0x5787, 0x8881, 0x5788, 0x8882, 0x5789, 0x8883, 0x578A, 0x8884, - 0x578B, 0xD0CD, 0x578C, 0xDBED, 0x578D, 0x8885, 0x578E, 0x8886, 0x578F, 0x8887, 0x5790, 0x8888, 0x5791, 0x8889, 0x5792, 0xC0DD, - 0x5793, 0xDBF2, 0x5794, 0x888A, 0x5795, 0x888B, 0x5796, 0x888C, 0x5797, 0x888D, 0x5798, 0x888E, 0x5799, 0x888F, 0x579A, 0x8890, - 0x579B, 0xB6E2, 0x579C, 0x8891, 0x579D, 0x8892, 0x579E, 0x8893, 0x579F, 0x8894, 0x57A0, 0xDBF3, 0x57A1, 0xDBD2, 0x57A2, 0xB9B8, - 0x57A3, 0xD4AB, 0x57A4, 0xDBEC, 0x57A5, 0x8895, 0x57A6, 0xBFD1, 0x57A7, 0xDBF0, 0x57A8, 0x8896, 0x57A9, 0xDBD1, 0x57AA, 0x8897, - 0x57AB, 0xB5E6, 0x57AC, 0x8898, 0x57AD, 0xDBEB, 0x57AE, 0xBFE5, 0x57AF, 0x8899, 0x57B0, 0x889A, 0x57B1, 0x889B, 0x57B2, 0xDBEE, - 0x57B3, 0x889C, 0x57B4, 0xDBF1, 0x57B5, 0x889D, 0x57B6, 0x889E, 0x57B7, 0x889F, 0x57B8, 0xDBF9, 0x57B9, 0x88A0, 0x57BA, 0x88A1, - 0x57BB, 0x88A2, 0x57BC, 0x88A3, 0x57BD, 0x88A4, 0x57BE, 0x88A5, 0x57BF, 0x88A6, 0x57C0, 0x88A7, 0x57C1, 0x88A8, 0x57C2, 0xB9A1, - 0x57C3, 0xB0A3, 0x57C4, 0x88A9, 0x57C5, 0x88AA, 0x57C6, 0x88AB, 0x57C7, 0x88AC, 0x57C8, 0x88AD, 0x57C9, 0x88AE, 0x57CA, 0x88AF, - 0x57CB, 0xC2F1, 0x57CC, 0x88B0, 0x57CD, 0x88B1, 0x57CE, 0xB3C7, 0x57CF, 0xDBEF, 0x57D0, 0x88B2, 0x57D1, 0x88B3, 0x57D2, 0xDBF8, - 0x57D3, 0x88B4, 0x57D4, 0xC6D2, 0x57D5, 0xDBF4, 0x57D6, 0x88B5, 0x57D7, 0x88B6, 0x57D8, 0xDBF5, 0x57D9, 0xDBF7, 0x57DA, 0xDBF6, - 0x57DB, 0x88B7, 0x57DC, 0x88B8, 0x57DD, 0xDBFE, 0x57DE, 0x88B9, 0x57DF, 0xD3F2, 0x57E0, 0xB2BA, 0x57E1, 0x88BA, 0x57E2, 0x88BB, - 0x57E3, 0x88BC, 0x57E4, 0xDBFD, 0x57E5, 0x88BD, 0x57E6, 0x88BE, 0x57E7, 0x88BF, 0x57E8, 0x88C0, 0x57E9, 0x88C1, 0x57EA, 0x88C2, - 0x57EB, 0x88C3, 0x57EC, 0x88C4, 0x57ED, 0xDCA4, 0x57EE, 0x88C5, 0x57EF, 0xDBFB, 0x57F0, 0x88C6, 0x57F1, 0x88C7, 0x57F2, 0x88C8, - 0x57F3, 0x88C9, 0x57F4, 0xDBFA, 0x57F5, 0x88CA, 0x57F6, 0x88CB, 0x57F7, 0x88CC, 0x57F8, 0xDBFC, 0x57F9, 0xC5E0, 0x57FA, 0xBBF9, - 0x57FB, 0x88CD, 0x57FC, 0x88CE, 0x57FD, 0xDCA3, 0x57FE, 0x88CF, 0x57FF, 0x88D0, 0x5800, 0xDCA5, 0x5801, 0x88D1, 0x5802, 0xCCC3, - 0x5803, 0x88D2, 0x5804, 0x88D3, 0x5805, 0x88D4, 0x5806, 0xB6D1, 0x5807, 0xDDC0, 0x5808, 0x88D5, 0x5809, 0x88D6, 0x580A, 0x88D7, - 0x580B, 0xDCA1, 0x580C, 0x88D8, 0x580D, 0xDCA2, 0x580E, 0x88D9, 0x580F, 0x88DA, 0x5810, 0x88DB, 0x5811, 0xC7B5, 0x5812, 0x88DC, - 0x5813, 0x88DD, 0x5814, 0x88DE, 0x5815, 0xB6E9, 0x5816, 0x88DF, 0x5817, 0x88E0, 0x5818, 0x88E1, 0x5819, 0xDCA7, 0x581A, 0x88E2, - 0x581B, 0x88E3, 0x581C, 0x88E4, 0x581D, 0x88E5, 0x581E, 0xDCA6, 0x581F, 0x88E6, 0x5820, 0xDCA9, 0x5821, 0xB1A4, 0x5822, 0x88E7, - 0x5823, 0x88E8, 0x5824, 0xB5CC, 0x5825, 0x88E9, 0x5826, 0x88EA, 0x5827, 0x88EB, 0x5828, 0x88EC, 0x5829, 0x88ED, 0x582A, 0xBFB0, - 0x582B, 0x88EE, 0x582C, 0x88EF, 0x582D, 0x88F0, 0x582E, 0x88F1, 0x582F, 0x88F2, 0x5830, 0xD1DF, 0x5831, 0x88F3, 0x5832, 0x88F4, - 0x5833, 0x88F5, 0x5834, 0x88F6, 0x5835, 0xB6C2, 0x5836, 0x88F7, 0x5837, 0x88F8, 0x5838, 0x88F9, 0x5839, 0x88FA, 0x583A, 0x88FB, - 0x583B, 0x88FC, 0x583C, 0x88FD, 0x583D, 0x88FE, 0x583E, 0x8940, 0x583F, 0x8941, 0x5840, 0x8942, 0x5841, 0x8943, 0x5842, 0x8944, - 0x5843, 0x8945, 0x5844, 0xDCA8, 0x5845, 0x8946, 0x5846, 0x8947, 0x5847, 0x8948, 0x5848, 0x8949, 0x5849, 0x894A, 0x584A, 0x894B, - 0x584B, 0x894C, 0x584C, 0xCBFA, 0x584D, 0xEBF3, 0x584E, 0x894D, 0x584F, 0x894E, 0x5850, 0x894F, 0x5851, 0xCBDC, 0x5852, 0x8950, - 0x5853, 0x8951, 0x5854, 0xCBFE, 0x5855, 0x8952, 0x5856, 0x8953, 0x5857, 0x8954, 0x5858, 0xCCC1, 0x5859, 0x8955, 0x585A, 0x8956, - 0x585B, 0x8957, 0x585C, 0x8958, 0x585D, 0x8959, 0x585E, 0xC8FB, 0x585F, 0x895A, 0x5860, 0x895B, 0x5861, 0x895C, 0x5862, 0x895D, - 0x5863, 0x895E, 0x5864, 0x895F, 0x5865, 0xDCAA, 0x5866, 0x8960, 0x5867, 0x8961, 0x5868, 0x8962, 0x5869, 0x8963, 0x586A, 0x8964, - 0x586B, 0xCCEE, 0x586C, 0xDCAB, 0x586D, 0x8965, 0x586E, 0x8966, 0x586F, 0x8967, 0x5870, 0x8968, 0x5871, 0x8969, 0x5872, 0x896A, - 0x5873, 0x896B, 0x5874, 0x896C, 0x5875, 0x896D, 0x5876, 0x896E, 0x5877, 0x896F, 0x5878, 0x8970, 0x5879, 0x8971, 0x587A, 0x8972, - 0x587B, 0x8973, 0x587C, 0x8974, 0x587D, 0x8975, 0x587E, 0xDBD3, 0x587F, 0x8976, 0x5880, 0xDCAF, 0x5881, 0xDCAC, 0x5882, 0x8977, - 0x5883, 0xBEB3, 0x5884, 0x8978, 0x5885, 0xCAFB, 0x5886, 0x8979, 0x5887, 0x897A, 0x5888, 0x897B, 0x5889, 0xDCAD, 0x588A, 0x897C, - 0x588B, 0x897D, 0x588C, 0x897E, 0x588D, 0x8980, 0x588E, 0x8981, 0x588F, 0x8982, 0x5890, 0x8983, 0x5891, 0x8984, 0x5892, 0xC9CA, - 0x5893, 0xC4B9, 0x5894, 0x8985, 0x5895, 0x8986, 0x5896, 0x8987, 0x5897, 0x8988, 0x5898, 0x8989, 0x5899, 0xC7BD, 0x589A, 0xDCAE, - 0x589B, 0x898A, 0x589C, 0x898B, 0x589D, 0x898C, 0x589E, 0xD4F6, 0x589F, 0xD0E6, 0x58A0, 0x898D, 0x58A1, 0x898E, 0x58A2, 0x898F, - 0x58A3, 0x8990, 0x58A4, 0x8991, 0x58A5, 0x8992, 0x58A6, 0x8993, 0x58A7, 0x8994, 0x58A8, 0xC4AB, 0x58A9, 0xB6D5, 0x58AA, 0x8995, - 0x58AB, 0x8996, 0x58AC, 0x8997, 0x58AD, 0x8998, 0x58AE, 0x8999, 0x58AF, 0x899A, 0x58B0, 0x899B, 0x58B1, 0x899C, 0x58B2, 0x899D, - 0x58B3, 0x899E, 0x58B4, 0x899F, 0x58B5, 0x89A0, 0x58B6, 0x89A1, 0x58B7, 0x89A2, 0x58B8, 0x89A3, 0x58B9, 0x89A4, 0x58BA, 0x89A5, - 0x58BB, 0x89A6, 0x58BC, 0xDBD4, 0x58BD, 0x89A7, 0x58BE, 0x89A8, 0x58BF, 0x89A9, 0x58C0, 0x89AA, 0x58C1, 0xB1DA, 0x58C2, 0x89AB, - 0x58C3, 0x89AC, 0x58C4, 0x89AD, 0x58C5, 0xDBD5, 0x58C6, 0x89AE, 0x58C7, 0x89AF, 0x58C8, 0x89B0, 0x58C9, 0x89B1, 0x58CA, 0x89B2, - 0x58CB, 0x89B3, 0x58CC, 0x89B4, 0x58CD, 0x89B5, 0x58CE, 0x89B6, 0x58CF, 0x89B7, 0x58D0, 0x89B8, 0x58D1, 0xDBD6, 0x58D2, 0x89B9, - 0x58D3, 0x89BA, 0x58D4, 0x89BB, 0x58D5, 0xBABE, 0x58D6, 0x89BC, 0x58D7, 0x89BD, 0x58D8, 0x89BE, 0x58D9, 0x89BF, 0x58DA, 0x89C0, - 0x58DB, 0x89C1, 0x58DC, 0x89C2, 0x58DD, 0x89C3, 0x58DE, 0x89C4, 0x58DF, 0x89C5, 0x58E0, 0x89C6, 0x58E1, 0x89C7, 0x58E2, 0x89C8, - 0x58E3, 0x89C9, 0x58E4, 0xC8C0, 0x58E5, 0x89CA, 0x58E6, 0x89CB, 0x58E7, 0x89CC, 0x58E8, 0x89CD, 0x58E9, 0x89CE, 0x58EA, 0x89CF, - 0x58EB, 0xCABF, 0x58EC, 0xC8C9, 0x58ED, 0x89D0, 0x58EE, 0xD7B3, 0x58EF, 0x89D1, 0x58F0, 0xC9F9, 0x58F1, 0x89D2, 0x58F2, 0x89D3, - 0x58F3, 0xBFC7, 0x58F4, 0x89D4, 0x58F5, 0x89D5, 0x58F6, 0xBAF8, 0x58F7, 0x89D6, 0x58F8, 0x89D7, 0x58F9, 0xD2BC, 0x58FA, 0x89D8, - 0x58FB, 0x89D9, 0x58FC, 0x89DA, 0x58FD, 0x89DB, 0x58FE, 0x89DC, 0x58FF, 0x89DD, 0x5900, 0x89DE, 0x5901, 0x89DF, 0x5902, 0xE2BA, - 0x5903, 0x89E0, 0x5904, 0xB4A6, 0x5905, 0x89E1, 0x5906, 0x89E2, 0x5907, 0xB1B8, 0x5908, 0x89E3, 0x5909, 0x89E4, 0x590A, 0x89E5, - 0x590B, 0x89E6, 0x590C, 0x89E7, 0x590D, 0xB8B4, 0x590E, 0x89E8, 0x590F, 0xCFC4, 0x5910, 0x89E9, 0x5911, 0x89EA, 0x5912, 0x89EB, - 0x5913, 0x89EC, 0x5914, 0xD9E7, 0x5915, 0xCFA6, 0x5916, 0xCDE2, 0x5917, 0x89ED, 0x5918, 0x89EE, 0x5919, 0xD9ED, 0x591A, 0xB6E0, - 0x591B, 0x89EF, 0x591C, 0xD2B9, 0x591D, 0x89F0, 0x591E, 0x89F1, 0x591F, 0xB9BB, 0x5920, 0x89F2, 0x5921, 0x89F3, 0x5922, 0x89F4, - 0x5923, 0x89F5, 0x5924, 0xE2B9, 0x5925, 0xE2B7, 0x5926, 0x89F6, 0x5927, 0xB4F3, 0x5928, 0x89F7, 0x5929, 0xCCEC, 0x592A, 0xCCAB, - 0x592B, 0xB7F2, 0x592C, 0x89F8, 0x592D, 0xD8B2, 0x592E, 0xD1EB, 0x592F, 0xBABB, 0x5930, 0x89F9, 0x5931, 0xCAA7, 0x5932, 0x89FA, - 0x5933, 0x89FB, 0x5934, 0xCDB7, 0x5935, 0x89FC, 0x5936, 0x89FD, 0x5937, 0xD2C4, 0x5938, 0xBFE4, 0x5939, 0xBCD0, 0x593A, 0xB6E1, - 0x593B, 0x89FE, 0x593C, 0xDEC5, 0x593D, 0x8A40, 0x593E, 0x8A41, 0x593F, 0x8A42, 0x5940, 0x8A43, 0x5941, 0xDEC6, 0x5942, 0xDBBC, - 0x5943, 0x8A44, 0x5944, 0xD1D9, 0x5945, 0x8A45, 0x5946, 0x8A46, 0x5947, 0xC6E6, 0x5948, 0xC4CE, 0x5949, 0xB7EE, 0x594A, 0x8A47, - 0x594B, 0xB7DC, 0x594C, 0x8A48, 0x594D, 0x8A49, 0x594E, 0xBFFC, 0x594F, 0xD7E0, 0x5950, 0x8A4A, 0x5951, 0xC6F5, 0x5952, 0x8A4B, - 0x5953, 0x8A4C, 0x5954, 0xB1BC, 0x5955, 0xDEC8, 0x5956, 0xBDB1, 0x5957, 0xCCD7, 0x5958, 0xDECA, 0x5959, 0x8A4D, 0x595A, 0xDEC9, - 0x595B, 0x8A4E, 0x595C, 0x8A4F, 0x595D, 0x8A50, 0x595E, 0x8A51, 0x595F, 0x8A52, 0x5960, 0xB5EC, 0x5961, 0x8A53, 0x5962, 0xC9DD, - 0x5963, 0x8A54, 0x5964, 0x8A55, 0x5965, 0xB0C2, 0x5966, 0x8A56, 0x5967, 0x8A57, 0x5968, 0x8A58, 0x5969, 0x8A59, 0x596A, 0x8A5A, - 0x596B, 0x8A5B, 0x596C, 0x8A5C, 0x596D, 0x8A5D, 0x596E, 0x8A5E, 0x596F, 0x8A5F, 0x5970, 0x8A60, 0x5971, 0x8A61, 0x5972, 0x8A62, - 0x5973, 0xC5AE, 0x5974, 0xC5AB, 0x5975, 0x8A63, 0x5976, 0xC4CC, 0x5977, 0x8A64, 0x5978, 0xBCE9, 0x5979, 0xCBFD, 0x597A, 0x8A65, - 0x597B, 0x8A66, 0x597C, 0x8A67, 0x597D, 0xBAC3, 0x597E, 0x8A68, 0x597F, 0x8A69, 0x5980, 0x8A6A, 0x5981, 0xE5F9, 0x5982, 0xC8E7, - 0x5983, 0xE5FA, 0x5984, 0xCDFD, 0x5985, 0x8A6B, 0x5986, 0xD7B1, 0x5987, 0xB8BE, 0x5988, 0xC2E8, 0x5989, 0x8A6C, 0x598A, 0xC8D1, - 0x598B, 0x8A6D, 0x598C, 0x8A6E, 0x598D, 0xE5FB, 0x598E, 0x8A6F, 0x598F, 0x8A70, 0x5990, 0x8A71, 0x5991, 0x8A72, 0x5992, 0xB6CA, - 0x5993, 0xBCCB, 0x5994, 0x8A73, 0x5995, 0x8A74, 0x5996, 0xD1FD, 0x5997, 0xE6A1, 0x5998, 0x8A75, 0x5999, 0xC3EE, 0x599A, 0x8A76, - 0x599B, 0x8A77, 0x599C, 0x8A78, 0x599D, 0x8A79, 0x599E, 0xE6A4, 0x599F, 0x8A7A, 0x59A0, 0x8A7B, 0x59A1, 0x8A7C, 0x59A2, 0x8A7D, - 0x59A3, 0xE5FE, 0x59A4, 0xE6A5, 0x59A5, 0xCDD7, 0x59A6, 0x8A7E, 0x59A7, 0x8A80, 0x59A8, 0xB7C1, 0x59A9, 0xE5FC, 0x59AA, 0xE5FD, - 0x59AB, 0xE6A3, 0x59AC, 0x8A81, 0x59AD, 0x8A82, 0x59AE, 0xC4DD, 0x59AF, 0xE6A8, 0x59B0, 0x8A83, 0x59B1, 0x8A84, 0x59B2, 0xE6A7, - 0x59B3, 0x8A85, 0x59B4, 0x8A86, 0x59B5, 0x8A87, 0x59B6, 0x8A88, 0x59B7, 0x8A89, 0x59B8, 0x8A8A, 0x59B9, 0xC3C3, 0x59BA, 0x8A8B, - 0x59BB, 0xC6DE, 0x59BC, 0x8A8C, 0x59BD, 0x8A8D, 0x59BE, 0xE6AA, 0x59BF, 0x8A8E, 0x59C0, 0x8A8F, 0x59C1, 0x8A90, 0x59C2, 0x8A91, - 0x59C3, 0x8A92, 0x59C4, 0x8A93, 0x59C5, 0x8A94, 0x59C6, 0xC4B7, 0x59C7, 0x8A95, 0x59C8, 0x8A96, 0x59C9, 0x8A97, 0x59CA, 0xE6A2, - 0x59CB, 0xCABC, 0x59CC, 0x8A98, 0x59CD, 0x8A99, 0x59CE, 0x8A9A, 0x59CF, 0x8A9B, 0x59D0, 0xBDE3, 0x59D1, 0xB9C3, 0x59D2, 0xE6A6, - 0x59D3, 0xD0D5, 0x59D4, 0xCEAF, 0x59D5, 0x8A9C, 0x59D6, 0x8A9D, 0x59D7, 0xE6A9, 0x59D8, 0xE6B0, 0x59D9, 0x8A9E, 0x59DA, 0xD2A6, - 0x59DB, 0x8A9F, 0x59DC, 0xBDAA, 0x59DD, 0xE6AD, 0x59DE, 0x8AA0, 0x59DF, 0x8AA1, 0x59E0, 0x8AA2, 0x59E1, 0x8AA3, 0x59E2, 0x8AA4, - 0x59E3, 0xE6AF, 0x59E4, 0x8AA5, 0x59E5, 0xC0D1, 0x59E6, 0x8AA6, 0x59E7, 0x8AA7, 0x59E8, 0xD2CC, 0x59E9, 0x8AA8, 0x59EA, 0x8AA9, - 0x59EB, 0x8AAA, 0x59EC, 0xBCA7, 0x59ED, 0x8AAB, 0x59EE, 0x8AAC, 0x59EF, 0x8AAD, 0x59F0, 0x8AAE, 0x59F1, 0x8AAF, 0x59F2, 0x8AB0, - 0x59F3, 0x8AB1, 0x59F4, 0x8AB2, 0x59F5, 0x8AB3, 0x59F6, 0x8AB4, 0x59F7, 0x8AB5, 0x59F8, 0x8AB6, 0x59F9, 0xE6B1, 0x59FA, 0x8AB7, - 0x59FB, 0xD2F6, 0x59FC, 0x8AB8, 0x59FD, 0x8AB9, 0x59FE, 0x8ABA, 0x59FF, 0xD7CB, 0x5A00, 0x8ABB, 0x5A01, 0xCDFE, 0x5A02, 0x8ABC, - 0x5A03, 0xCDDE, 0x5A04, 0xC2A6, 0x5A05, 0xE6AB, 0x5A06, 0xE6AC, 0x5A07, 0xBDBF, 0x5A08, 0xE6AE, 0x5A09, 0xE6B3, 0x5A0A, 0x8ABD, - 0x5A0B, 0x8ABE, 0x5A0C, 0xE6B2, 0x5A0D, 0x8ABF, 0x5A0E, 0x8AC0, 0x5A0F, 0x8AC1, 0x5A10, 0x8AC2, 0x5A11, 0xE6B6, 0x5A12, 0x8AC3, - 0x5A13, 0xE6B8, 0x5A14, 0x8AC4, 0x5A15, 0x8AC5, 0x5A16, 0x8AC6, 0x5A17, 0x8AC7, 0x5A18, 0xC4EF, 0x5A19, 0x8AC8, 0x5A1A, 0x8AC9, - 0x5A1B, 0x8ACA, 0x5A1C, 0xC4C8, 0x5A1D, 0x8ACB, 0x5A1E, 0x8ACC, 0x5A1F, 0xBEEA, 0x5A20, 0xC9EF, 0x5A21, 0x8ACD, 0x5A22, 0x8ACE, - 0x5A23, 0xE6B7, 0x5A24, 0x8ACF, 0x5A25, 0xB6F0, 0x5A26, 0x8AD0, 0x5A27, 0x8AD1, 0x5A28, 0x8AD2, 0x5A29, 0xC3E4, 0x5A2A, 0x8AD3, - 0x5A2B, 0x8AD4, 0x5A2C, 0x8AD5, 0x5A2D, 0x8AD6, 0x5A2E, 0x8AD7, 0x5A2F, 0x8AD8, 0x5A30, 0x8AD9, 0x5A31, 0xD3E9, 0x5A32, 0xE6B4, - 0x5A33, 0x8ADA, 0x5A34, 0xE6B5, 0x5A35, 0x8ADB, 0x5A36, 0xC8A2, 0x5A37, 0x8ADC, 0x5A38, 0x8ADD, 0x5A39, 0x8ADE, 0x5A3A, 0x8ADF, - 0x5A3B, 0x8AE0, 0x5A3C, 0xE6BD, 0x5A3D, 0x8AE1, 0x5A3E, 0x8AE2, 0x5A3F, 0x8AE3, 0x5A40, 0xE6B9, 0x5A41, 0x8AE4, 0x5A42, 0x8AE5, - 0x5A43, 0x8AE6, 0x5A44, 0x8AE7, 0x5A45, 0x8AE8, 0x5A46, 0xC6C5, 0x5A47, 0x8AE9, 0x5A48, 0x8AEA, 0x5A49, 0xCDF1, 0x5A4A, 0xE6BB, - 0x5A4B, 0x8AEB, 0x5A4C, 0x8AEC, 0x5A4D, 0x8AED, 0x5A4E, 0x8AEE, 0x5A4F, 0x8AEF, 0x5A50, 0x8AF0, 0x5A51, 0x8AF1, 0x5A52, 0x8AF2, - 0x5A53, 0x8AF3, 0x5A54, 0x8AF4, 0x5A55, 0xE6BC, 0x5A56, 0x8AF5, 0x5A57, 0x8AF6, 0x5A58, 0x8AF7, 0x5A59, 0x8AF8, 0x5A5A, 0xBBE9, - 0x5A5B, 0x8AF9, 0x5A5C, 0x8AFA, 0x5A5D, 0x8AFB, 0x5A5E, 0x8AFC, 0x5A5F, 0x8AFD, 0x5A60, 0x8AFE, 0x5A61, 0x8B40, 0x5A62, 0xE6BE, - 0x5A63, 0x8B41, 0x5A64, 0x8B42, 0x5A65, 0x8B43, 0x5A66, 0x8B44, 0x5A67, 0xE6BA, 0x5A68, 0x8B45, 0x5A69, 0x8B46, 0x5A6A, 0xC0B7, - 0x5A6B, 0x8B47, 0x5A6C, 0x8B48, 0x5A6D, 0x8B49, 0x5A6E, 0x8B4A, 0x5A6F, 0x8B4B, 0x5A70, 0x8B4C, 0x5A71, 0x8B4D, 0x5A72, 0x8B4E, - 0x5A73, 0x8B4F, 0x5A74, 0xD3A4, 0x5A75, 0xE6BF, 0x5A76, 0xC9F4, 0x5A77, 0xE6C3, 0x5A78, 0x8B50, 0x5A79, 0x8B51, 0x5A7A, 0xE6C4, - 0x5A7B, 0x8B52, 0x5A7C, 0x8B53, 0x5A7D, 0x8B54, 0x5A7E, 0x8B55, 0x5A7F, 0xD0F6, 0x5A80, 0x8B56, 0x5A81, 0x8B57, 0x5A82, 0x8B58, - 0x5A83, 0x8B59, 0x5A84, 0x8B5A, 0x5A85, 0x8B5B, 0x5A86, 0x8B5C, 0x5A87, 0x8B5D, 0x5A88, 0x8B5E, 0x5A89, 0x8B5F, 0x5A8A, 0x8B60, - 0x5A8B, 0x8B61, 0x5A8C, 0x8B62, 0x5A8D, 0x8B63, 0x5A8E, 0x8B64, 0x5A8F, 0x8B65, 0x5A90, 0x8B66, 0x5A91, 0x8B67, 0x5A92, 0xC3BD, - 0x5A93, 0x8B68, 0x5A94, 0x8B69, 0x5A95, 0x8B6A, 0x5A96, 0x8B6B, 0x5A97, 0x8B6C, 0x5A98, 0x8B6D, 0x5A99, 0x8B6E, 0x5A9A, 0xC3C4, - 0x5A9B, 0xE6C2, 0x5A9C, 0x8B6F, 0x5A9D, 0x8B70, 0x5A9E, 0x8B71, 0x5A9F, 0x8B72, 0x5AA0, 0x8B73, 0x5AA1, 0x8B74, 0x5AA2, 0x8B75, - 0x5AA3, 0x8B76, 0x5AA4, 0x8B77, 0x5AA5, 0x8B78, 0x5AA6, 0x8B79, 0x5AA7, 0x8B7A, 0x5AA8, 0x8B7B, 0x5AA9, 0x8B7C, 0x5AAA, 0xE6C1, - 0x5AAB, 0x8B7D, 0x5AAC, 0x8B7E, 0x5AAD, 0x8B80, 0x5AAE, 0x8B81, 0x5AAF, 0x8B82, 0x5AB0, 0x8B83, 0x5AB1, 0x8B84, 0x5AB2, 0xE6C7, - 0x5AB3, 0xCFB1, 0x5AB4, 0x8B85, 0x5AB5, 0xEBF4, 0x5AB6, 0x8B86, 0x5AB7, 0x8B87, 0x5AB8, 0xE6CA, 0x5AB9, 0x8B88, 0x5ABA, 0x8B89, - 0x5ABB, 0x8B8A, 0x5ABC, 0x8B8B, 0x5ABD, 0x8B8C, 0x5ABE, 0xE6C5, 0x5ABF, 0x8B8D, 0x5AC0, 0x8B8E, 0x5AC1, 0xBCDE, 0x5AC2, 0xC9A9, - 0x5AC3, 0x8B8F, 0x5AC4, 0x8B90, 0x5AC5, 0x8B91, 0x5AC6, 0x8B92, 0x5AC7, 0x8B93, 0x5AC8, 0x8B94, 0x5AC9, 0xBCB5, 0x5ACA, 0x8B95, - 0x5ACB, 0x8B96, 0x5ACC, 0xCFD3, 0x5ACD, 0x8B97, 0x5ACE, 0x8B98, 0x5ACF, 0x8B99, 0x5AD0, 0x8B9A, 0x5AD1, 0x8B9B, 0x5AD2, 0xE6C8, - 0x5AD3, 0x8B9C, 0x5AD4, 0xE6C9, 0x5AD5, 0x8B9D, 0x5AD6, 0xE6CE, 0x5AD7, 0x8B9E, 0x5AD8, 0xE6D0, 0x5AD9, 0x8B9F, 0x5ADA, 0x8BA0, - 0x5ADB, 0x8BA1, 0x5ADC, 0xE6D1, 0x5ADD, 0x8BA2, 0x5ADE, 0x8BA3, 0x5ADF, 0x8BA4, 0x5AE0, 0xE6CB, 0x5AE1, 0xB5D5, 0x5AE2, 0x8BA5, - 0x5AE3, 0xE6CC, 0x5AE4, 0x8BA6, 0x5AE5, 0x8BA7, 0x5AE6, 0xE6CF, 0x5AE7, 0x8BA8, 0x5AE8, 0x8BA9, 0x5AE9, 0xC4DB, 0x5AEA, 0x8BAA, - 0x5AEB, 0xE6C6, 0x5AEC, 0x8BAB, 0x5AED, 0x8BAC, 0x5AEE, 0x8BAD, 0x5AEF, 0x8BAE, 0x5AF0, 0x8BAF, 0x5AF1, 0xE6CD, 0x5AF2, 0x8BB0, - 0x5AF3, 0x8BB1, 0x5AF4, 0x8BB2, 0x5AF5, 0x8BB3, 0x5AF6, 0x8BB4, 0x5AF7, 0x8BB5, 0x5AF8, 0x8BB6, 0x5AF9, 0x8BB7, 0x5AFA, 0x8BB8, - 0x5AFB, 0x8BB9, 0x5AFC, 0x8BBA, 0x5AFD, 0x8BBB, 0x5AFE, 0x8BBC, 0x5AFF, 0x8BBD, 0x5B00, 0x8BBE, 0x5B01, 0x8BBF, 0x5B02, 0x8BC0, - 0x5B03, 0x8BC1, 0x5B04, 0x8BC2, 0x5B05, 0x8BC3, 0x5B06, 0x8BC4, 0x5B07, 0x8BC5, 0x5B08, 0x8BC6, 0x5B09, 0xE6D2, 0x5B0A, 0x8BC7, - 0x5B0B, 0x8BC8, 0x5B0C, 0x8BC9, 0x5B0D, 0x8BCA, 0x5B0E, 0x8BCB, 0x5B0F, 0x8BCC, 0x5B10, 0x8BCD, 0x5B11, 0x8BCE, 0x5B12, 0x8BCF, - 0x5B13, 0x8BD0, 0x5B14, 0x8BD1, 0x5B15, 0x8BD2, 0x5B16, 0xE6D4, 0x5B17, 0xE6D3, 0x5B18, 0x8BD3, 0x5B19, 0x8BD4, 0x5B1A, 0x8BD5, - 0x5B1B, 0x8BD6, 0x5B1C, 0x8BD7, 0x5B1D, 0x8BD8, 0x5B1E, 0x8BD9, 0x5B1F, 0x8BDA, 0x5B20, 0x8BDB, 0x5B21, 0x8BDC, 0x5B22, 0x8BDD, - 0x5B23, 0x8BDE, 0x5B24, 0x8BDF, 0x5B25, 0x8BE0, 0x5B26, 0x8BE1, 0x5B27, 0x8BE2, 0x5B28, 0x8BE3, 0x5B29, 0x8BE4, 0x5B2A, 0x8BE5, - 0x5B2B, 0x8BE6, 0x5B2C, 0x8BE7, 0x5B2D, 0x8BE8, 0x5B2E, 0x8BE9, 0x5B2F, 0x8BEA, 0x5B30, 0x8BEB, 0x5B31, 0x8BEC, 0x5B32, 0xE6D5, - 0x5B33, 0x8BED, 0x5B34, 0xD9F8, 0x5B35, 0x8BEE, 0x5B36, 0x8BEF, 0x5B37, 0xE6D6, 0x5B38, 0x8BF0, 0x5B39, 0x8BF1, 0x5B3A, 0x8BF2, - 0x5B3B, 0x8BF3, 0x5B3C, 0x8BF4, 0x5B3D, 0x8BF5, 0x5B3E, 0x8BF6, 0x5B3F, 0x8BF7, 0x5B40, 0xE6D7, 0x5B41, 0x8BF8, 0x5B42, 0x8BF9, - 0x5B43, 0x8BFA, 0x5B44, 0x8BFB, 0x5B45, 0x8BFC, 0x5B46, 0x8BFD, 0x5B47, 0x8BFE, 0x5B48, 0x8C40, 0x5B49, 0x8C41, 0x5B4A, 0x8C42, - 0x5B4B, 0x8C43, 0x5B4C, 0x8C44, 0x5B4D, 0x8C45, 0x5B4E, 0x8C46, 0x5B4F, 0x8C47, 0x5B50, 0xD7D3, 0x5B51, 0xE6DD, 0x5B52, 0x8C48, - 0x5B53, 0xE6DE, 0x5B54, 0xBFD7, 0x5B55, 0xD4D0, 0x5B56, 0x8C49, 0x5B57, 0xD7D6, 0x5B58, 0xB4E6, 0x5B59, 0xCBEF, 0x5B5A, 0xE6DA, - 0x5B5B, 0xD8C3, 0x5B5C, 0xD7CE, 0x5B5D, 0xD0A2, 0x5B5E, 0x8C4A, 0x5B5F, 0xC3CF, 0x5B60, 0x8C4B, 0x5B61, 0x8C4C, 0x5B62, 0xE6DF, - 0x5B63, 0xBCBE, 0x5B64, 0xB9C2, 0x5B65, 0xE6DB, 0x5B66, 0xD1A7, 0x5B67, 0x8C4D, 0x5B68, 0x8C4E, 0x5B69, 0xBAA2, 0x5B6A, 0xC2CF, - 0x5B6B, 0x8C4F, 0x5B6C, 0xD8AB, 0x5B6D, 0x8C50, 0x5B6E, 0x8C51, 0x5B6F, 0x8C52, 0x5B70, 0xCAEB, 0x5B71, 0xE5EE, 0x5B72, 0x8C53, - 0x5B73, 0xE6DC, 0x5B74, 0x8C54, 0x5B75, 0xB7F5, 0x5B76, 0x8C55, 0x5B77, 0x8C56, 0x5B78, 0x8C57, 0x5B79, 0x8C58, 0x5B7A, 0xC8E6, - 0x5B7B, 0x8C59, 0x5B7C, 0x8C5A, 0x5B7D, 0xC4F5, 0x5B7E, 0x8C5B, 0x5B7F, 0x8C5C, 0x5B80, 0xE5B2, 0x5B81, 0xC4FE, 0x5B82, 0x8C5D, - 0x5B83, 0xCBFC, 0x5B84, 0xE5B3, 0x5B85, 0xD5AC, 0x5B86, 0x8C5E, 0x5B87, 0xD3EE, 0x5B88, 0xCAD8, 0x5B89, 0xB0B2, 0x5B8A, 0x8C5F, - 0x5B8B, 0xCBCE, 0x5B8C, 0xCDEA, 0x5B8D, 0x8C60, 0x5B8E, 0x8C61, 0x5B8F, 0xBAEA, 0x5B90, 0x8C62, 0x5B91, 0x8C63, 0x5B92, 0x8C64, - 0x5B93, 0xE5B5, 0x5B94, 0x8C65, 0x5B95, 0xE5B4, 0x5B96, 0x8C66, 0x5B97, 0xD7DA, 0x5B98, 0xB9D9, 0x5B99, 0xD6E6, 0x5B9A, 0xB6A8, - 0x5B9B, 0xCDF0, 0x5B9C, 0xD2CB, 0x5B9D, 0xB1A6, 0x5B9E, 0xCAB5, 0x5B9F, 0x8C67, 0x5BA0, 0xB3E8, 0x5BA1, 0xC9F3, 0x5BA2, 0xBFCD, - 0x5BA3, 0xD0FB, 0x5BA4, 0xCAD2, 0x5BA5, 0xE5B6, 0x5BA6, 0xBBC2, 0x5BA7, 0x8C68, 0x5BA8, 0x8C69, 0x5BA9, 0x8C6A, 0x5BAA, 0xCFDC, - 0x5BAB, 0xB9AC, 0x5BAC, 0x8C6B, 0x5BAD, 0x8C6C, 0x5BAE, 0x8C6D, 0x5BAF, 0x8C6E, 0x5BB0, 0xD4D7, 0x5BB1, 0x8C6F, 0x5BB2, 0x8C70, - 0x5BB3, 0xBAA6, 0x5BB4, 0xD1E7, 0x5BB5, 0xCFFC, 0x5BB6, 0xBCD2, 0x5BB7, 0x8C71, 0x5BB8, 0xE5B7, 0x5BB9, 0xC8DD, 0x5BBA, 0x8C72, - 0x5BBB, 0x8C73, 0x5BBC, 0x8C74, 0x5BBD, 0xBFED, 0x5BBE, 0xB1F6, 0x5BBF, 0xCBDE, 0x5BC0, 0x8C75, 0x5BC1, 0x8C76, 0x5BC2, 0xBCC5, - 0x5BC3, 0x8C77, 0x5BC4, 0xBCC4, 0x5BC5, 0xD2FA, 0x5BC6, 0xC3DC, 0x5BC7, 0xBFDC, 0x5BC8, 0x8C78, 0x5BC9, 0x8C79, 0x5BCA, 0x8C7A, - 0x5BCB, 0x8C7B, 0x5BCC, 0xB8BB, 0x5BCD, 0x8C7C, 0x5BCE, 0x8C7D, 0x5BCF, 0x8C7E, 0x5BD0, 0xC3C2, 0x5BD1, 0x8C80, 0x5BD2, 0xBAAE, - 0x5BD3, 0xD4A2, 0x5BD4, 0x8C81, 0x5BD5, 0x8C82, 0x5BD6, 0x8C83, 0x5BD7, 0x8C84, 0x5BD8, 0x8C85, 0x5BD9, 0x8C86, 0x5BDA, 0x8C87, - 0x5BDB, 0x8C88, 0x5BDC, 0x8C89, 0x5BDD, 0xC7DE, 0x5BDE, 0xC4AF, 0x5BDF, 0xB2EC, 0x5BE0, 0x8C8A, 0x5BE1, 0xB9D1, 0x5BE2, 0x8C8B, - 0x5BE3, 0x8C8C, 0x5BE4, 0xE5BB, 0x5BE5, 0xC1C8, 0x5BE6, 0x8C8D, 0x5BE7, 0x8C8E, 0x5BE8, 0xD5AF, 0x5BE9, 0x8C8F, 0x5BEA, 0x8C90, - 0x5BEB, 0x8C91, 0x5BEC, 0x8C92, 0x5BED, 0x8C93, 0x5BEE, 0xE5BC, 0x5BEF, 0x8C94, 0x5BF0, 0xE5BE, 0x5BF1, 0x8C95, 0x5BF2, 0x8C96, - 0x5BF3, 0x8C97, 0x5BF4, 0x8C98, 0x5BF5, 0x8C99, 0x5BF6, 0x8C9A, 0x5BF7, 0x8C9B, 0x5BF8, 0xB4E7, 0x5BF9, 0xB6D4, 0x5BFA, 0xCBC2, - 0x5BFB, 0xD1B0, 0x5BFC, 0xB5BC, 0x5BFD, 0x8C9C, 0x5BFE, 0x8C9D, 0x5BFF, 0xCAD9, 0x5C00, 0x8C9E, 0x5C01, 0xB7E2, 0x5C02, 0x8C9F, - 0x5C03, 0x8CA0, 0x5C04, 0xC9E4, 0x5C05, 0x8CA1, 0x5C06, 0xBDAB, 0x5C07, 0x8CA2, 0x5C08, 0x8CA3, 0x5C09, 0xCEBE, 0x5C0A, 0xD7F0, - 0x5C0B, 0x8CA4, 0x5C0C, 0x8CA5, 0x5C0D, 0x8CA6, 0x5C0E, 0x8CA7, 0x5C0F, 0xD0A1, 0x5C10, 0x8CA8, 0x5C11, 0xC9D9, 0x5C12, 0x8CA9, - 0x5C13, 0x8CAA, 0x5C14, 0xB6FB, 0x5C15, 0xE6D8, 0x5C16, 0xBCE2, 0x5C17, 0x8CAB, 0x5C18, 0xB3BE, 0x5C19, 0x8CAC, 0x5C1A, 0xC9D0, - 0x5C1B, 0x8CAD, 0x5C1C, 0xE6D9, 0x5C1D, 0xB3A2, 0x5C1E, 0x8CAE, 0x5C1F, 0x8CAF, 0x5C20, 0x8CB0, 0x5C21, 0x8CB1, 0x5C22, 0xDECC, - 0x5C23, 0x8CB2, 0x5C24, 0xD3C8, 0x5C25, 0xDECD, 0x5C26, 0x8CB3, 0x5C27, 0xD2A2, 0x5C28, 0x8CB4, 0x5C29, 0x8CB5, 0x5C2A, 0x8CB6, - 0x5C2B, 0x8CB7, 0x5C2C, 0xDECE, 0x5C2D, 0x8CB8, 0x5C2E, 0x8CB9, 0x5C2F, 0x8CBA, 0x5C30, 0x8CBB, 0x5C31, 0xBECD, 0x5C32, 0x8CBC, - 0x5C33, 0x8CBD, 0x5C34, 0xDECF, 0x5C35, 0x8CBE, 0x5C36, 0x8CBF, 0x5C37, 0x8CC0, 0x5C38, 0xCAAC, 0x5C39, 0xD2FC, 0x5C3A, 0xB3DF, - 0x5C3B, 0xE5EA, 0x5C3C, 0xC4E1, 0x5C3D, 0xBEA1, 0x5C3E, 0xCEB2, 0x5C3F, 0xC4F2, 0x5C40, 0xBED6, 0x5C41, 0xC6A8, 0x5C42, 0xB2E3, - 0x5C43, 0x8CC1, 0x5C44, 0x8CC2, 0x5C45, 0xBED3, 0x5C46, 0x8CC3, 0x5C47, 0x8CC4, 0x5C48, 0xC7FC, 0x5C49, 0xCCEB, 0x5C4A, 0xBDEC, - 0x5C4B, 0xCEDD, 0x5C4C, 0x8CC5, 0x5C4D, 0x8CC6, 0x5C4E, 0xCABA, 0x5C4F, 0xC6C1, 0x5C50, 0xE5EC, 0x5C51, 0xD0BC, 0x5C52, 0x8CC7, - 0x5C53, 0x8CC8, 0x5C54, 0x8CC9, 0x5C55, 0xD5B9, 0x5C56, 0x8CCA, 0x5C57, 0x8CCB, 0x5C58, 0x8CCC, 0x5C59, 0xE5ED, 0x5C5A, 0x8CCD, - 0x5C5B, 0x8CCE, 0x5C5C, 0x8CCF, 0x5C5D, 0x8CD0, 0x5C5E, 0xCAF4, 0x5C5F, 0x8CD1, 0x5C60, 0xCDC0, 0x5C61, 0xC2C5, 0x5C62, 0x8CD2, - 0x5C63, 0xE5EF, 0x5C64, 0x8CD3, 0x5C65, 0xC2C4, 0x5C66, 0xE5F0, 0x5C67, 0x8CD4, 0x5C68, 0x8CD5, 0x5C69, 0x8CD6, 0x5C6A, 0x8CD7, - 0x5C6B, 0x8CD8, 0x5C6C, 0x8CD9, 0x5C6D, 0x8CDA, 0x5C6E, 0xE5F8, 0x5C6F, 0xCDCD, 0x5C70, 0x8CDB, 0x5C71, 0xC9BD, 0x5C72, 0x8CDC, - 0x5C73, 0x8CDD, 0x5C74, 0x8CDE, 0x5C75, 0x8CDF, 0x5C76, 0x8CE0, 0x5C77, 0x8CE1, 0x5C78, 0x8CE2, 0x5C79, 0xD2D9, 0x5C7A, 0xE1A8, - 0x5C7B, 0x8CE3, 0x5C7C, 0x8CE4, 0x5C7D, 0x8CE5, 0x5C7E, 0x8CE6, 0x5C7F, 0xD3EC, 0x5C80, 0x8CE7, 0x5C81, 0xCBEA, 0x5C82, 0xC6F1, - 0x5C83, 0x8CE8, 0x5C84, 0x8CE9, 0x5C85, 0x8CEA, 0x5C86, 0x8CEB, 0x5C87, 0x8CEC, 0x5C88, 0xE1AC, 0x5C89, 0x8CED, 0x5C8A, 0x8CEE, - 0x5C8B, 0x8CEF, 0x5C8C, 0xE1A7, 0x5C8D, 0xE1A9, 0x5C8E, 0x8CF0, 0x5C8F, 0x8CF1, 0x5C90, 0xE1AA, 0x5C91, 0xE1AF, 0x5C92, 0x8CF2, - 0x5C93, 0x8CF3, 0x5C94, 0xB2ED, 0x5C95, 0x8CF4, 0x5C96, 0xE1AB, 0x5C97, 0xB8DA, 0x5C98, 0xE1AD, 0x5C99, 0xE1AE, 0x5C9A, 0xE1B0, - 0x5C9B, 0xB5BA, 0x5C9C, 0xE1B1, 0x5C9D, 0x8CF5, 0x5C9E, 0x8CF6, 0x5C9F, 0x8CF7, 0x5CA0, 0x8CF8, 0x5CA1, 0x8CF9, 0x5CA2, 0xE1B3, - 0x5CA3, 0xE1B8, 0x5CA4, 0x8CFA, 0x5CA5, 0x8CFB, 0x5CA6, 0x8CFC, 0x5CA7, 0x8CFD, 0x5CA8, 0x8CFE, 0x5CA9, 0xD1D2, 0x5CAA, 0x8D40, - 0x5CAB, 0xE1B6, 0x5CAC, 0xE1B5, 0x5CAD, 0xC1EB, 0x5CAE, 0x8D41, 0x5CAF, 0x8D42, 0x5CB0, 0x8D43, 0x5CB1, 0xE1B7, 0x5CB2, 0x8D44, - 0x5CB3, 0xD4C0, 0x5CB4, 0x8D45, 0x5CB5, 0xE1B2, 0x5CB6, 0x8D46, 0x5CB7, 0xE1BA, 0x5CB8, 0xB0B6, 0x5CB9, 0x8D47, 0x5CBA, 0x8D48, - 0x5CBB, 0x8D49, 0x5CBC, 0x8D4A, 0x5CBD, 0xE1B4, 0x5CBE, 0x8D4B, 0x5CBF, 0xBFF9, 0x5CC0, 0x8D4C, 0x5CC1, 0xE1B9, 0x5CC2, 0x8D4D, - 0x5CC3, 0x8D4E, 0x5CC4, 0xE1BB, 0x5CC5, 0x8D4F, 0x5CC6, 0x8D50, 0x5CC7, 0x8D51, 0x5CC8, 0x8D52, 0x5CC9, 0x8D53, 0x5CCA, 0x8D54, - 0x5CCB, 0xE1BE, 0x5CCC, 0x8D55, 0x5CCD, 0x8D56, 0x5CCE, 0x8D57, 0x5CCF, 0x8D58, 0x5CD0, 0x8D59, 0x5CD1, 0x8D5A, 0x5CD2, 0xE1BC, - 0x5CD3, 0x8D5B, 0x5CD4, 0x8D5C, 0x5CD5, 0x8D5D, 0x5CD6, 0x8D5E, 0x5CD7, 0x8D5F, 0x5CD8, 0x8D60, 0x5CD9, 0xD6C5, 0x5CDA, 0x8D61, - 0x5CDB, 0x8D62, 0x5CDC, 0x8D63, 0x5CDD, 0x8D64, 0x5CDE, 0x8D65, 0x5CDF, 0x8D66, 0x5CE0, 0x8D67, 0x5CE1, 0xCFBF, 0x5CE2, 0x8D68, - 0x5CE3, 0x8D69, 0x5CE4, 0xE1BD, 0x5CE5, 0xE1BF, 0x5CE6, 0xC2CD, 0x5CE7, 0x8D6A, 0x5CE8, 0xB6EB, 0x5CE9, 0x8D6B, 0x5CEA, 0xD3F8, - 0x5CEB, 0x8D6C, 0x5CEC, 0x8D6D, 0x5CED, 0xC7CD, 0x5CEE, 0x8D6E, 0x5CEF, 0x8D6F, 0x5CF0, 0xB7E5, 0x5CF1, 0x8D70, 0x5CF2, 0x8D71, - 0x5CF3, 0x8D72, 0x5CF4, 0x8D73, 0x5CF5, 0x8D74, 0x5CF6, 0x8D75, 0x5CF7, 0x8D76, 0x5CF8, 0x8D77, 0x5CF9, 0x8D78, 0x5CFA, 0x8D79, - 0x5CFB, 0xBEFE, 0x5CFC, 0x8D7A, 0x5CFD, 0x8D7B, 0x5CFE, 0x8D7C, 0x5CFF, 0x8D7D, 0x5D00, 0x8D7E, 0x5D01, 0x8D80, 0x5D02, 0xE1C0, - 0x5D03, 0xE1C1, 0x5D04, 0x8D81, 0x5D05, 0x8D82, 0x5D06, 0xE1C7, 0x5D07, 0xB3E7, 0x5D08, 0x8D83, 0x5D09, 0x8D84, 0x5D0A, 0x8D85, - 0x5D0B, 0x8D86, 0x5D0C, 0x8D87, 0x5D0D, 0x8D88, 0x5D0E, 0xC6E9, 0x5D0F, 0x8D89, 0x5D10, 0x8D8A, 0x5D11, 0x8D8B, 0x5D12, 0x8D8C, - 0x5D13, 0x8D8D, 0x5D14, 0xB4DE, 0x5D15, 0x8D8E, 0x5D16, 0xD1C2, 0x5D17, 0x8D8F, 0x5D18, 0x8D90, 0x5D19, 0x8D91, 0x5D1A, 0x8D92, - 0x5D1B, 0xE1C8, 0x5D1C, 0x8D93, 0x5D1D, 0x8D94, 0x5D1E, 0xE1C6, 0x5D1F, 0x8D95, 0x5D20, 0x8D96, 0x5D21, 0x8D97, 0x5D22, 0x8D98, - 0x5D23, 0x8D99, 0x5D24, 0xE1C5, 0x5D25, 0x8D9A, 0x5D26, 0xE1C3, 0x5D27, 0xE1C2, 0x5D28, 0x8D9B, 0x5D29, 0xB1C0, 0x5D2A, 0x8D9C, - 0x5D2B, 0x8D9D, 0x5D2C, 0x8D9E, 0x5D2D, 0xD5B8, 0x5D2E, 0xE1C4, 0x5D2F, 0x8D9F, 0x5D30, 0x8DA0, 0x5D31, 0x8DA1, 0x5D32, 0x8DA2, - 0x5D33, 0x8DA3, 0x5D34, 0xE1CB, 0x5D35, 0x8DA4, 0x5D36, 0x8DA5, 0x5D37, 0x8DA6, 0x5D38, 0x8DA7, 0x5D39, 0x8DA8, 0x5D3A, 0x8DA9, - 0x5D3B, 0x8DAA, 0x5D3C, 0x8DAB, 0x5D3D, 0xE1CC, 0x5D3E, 0xE1CA, 0x5D3F, 0x8DAC, 0x5D40, 0x8DAD, 0x5D41, 0x8DAE, 0x5D42, 0x8DAF, - 0x5D43, 0x8DB0, 0x5D44, 0x8DB1, 0x5D45, 0x8DB2, 0x5D46, 0x8DB3, 0x5D47, 0xEFFA, 0x5D48, 0x8DB4, 0x5D49, 0x8DB5, 0x5D4A, 0xE1D3, - 0x5D4B, 0xE1D2, 0x5D4C, 0xC7B6, 0x5D4D, 0x8DB6, 0x5D4E, 0x8DB7, 0x5D4F, 0x8DB8, 0x5D50, 0x8DB9, 0x5D51, 0x8DBA, 0x5D52, 0x8DBB, - 0x5D53, 0x8DBC, 0x5D54, 0x8DBD, 0x5D55, 0x8DBE, 0x5D56, 0x8DBF, 0x5D57, 0x8DC0, 0x5D58, 0xE1C9, 0x5D59, 0x8DC1, 0x5D5A, 0x8DC2, - 0x5D5B, 0xE1CE, 0x5D5C, 0x8DC3, 0x5D5D, 0xE1D0, 0x5D5E, 0x8DC4, 0x5D5F, 0x8DC5, 0x5D60, 0x8DC6, 0x5D61, 0x8DC7, 0x5D62, 0x8DC8, - 0x5D63, 0x8DC9, 0x5D64, 0x8DCA, 0x5D65, 0x8DCB, 0x5D66, 0x8DCC, 0x5D67, 0x8DCD, 0x5D68, 0x8DCE, 0x5D69, 0xE1D4, 0x5D6A, 0x8DCF, - 0x5D6B, 0xE1D1, 0x5D6C, 0xE1CD, 0x5D6D, 0x8DD0, 0x5D6E, 0x8DD1, 0x5D6F, 0xE1CF, 0x5D70, 0x8DD2, 0x5D71, 0x8DD3, 0x5D72, 0x8DD4, - 0x5D73, 0x8DD5, 0x5D74, 0xE1D5, 0x5D75, 0x8DD6, 0x5D76, 0x8DD7, 0x5D77, 0x8DD8, 0x5D78, 0x8DD9, 0x5D79, 0x8DDA, 0x5D7A, 0x8DDB, - 0x5D7B, 0x8DDC, 0x5D7C, 0x8DDD, 0x5D7D, 0x8DDE, 0x5D7E, 0x8DDF, 0x5D7F, 0x8DE0, 0x5D80, 0x8DE1, 0x5D81, 0x8DE2, 0x5D82, 0xE1D6, - 0x5D83, 0x8DE3, 0x5D84, 0x8DE4, 0x5D85, 0x8DE5, 0x5D86, 0x8DE6, 0x5D87, 0x8DE7, 0x5D88, 0x8DE8, 0x5D89, 0x8DE9, 0x5D8A, 0x8DEA, - 0x5D8B, 0x8DEB, 0x5D8C, 0x8DEC, 0x5D8D, 0x8DED, 0x5D8E, 0x8DEE, 0x5D8F, 0x8DEF, 0x5D90, 0x8DF0, 0x5D91, 0x8DF1, 0x5D92, 0x8DF2, - 0x5D93, 0x8DF3, 0x5D94, 0x8DF4, 0x5D95, 0x8DF5, 0x5D96, 0x8DF6, 0x5D97, 0x8DF7, 0x5D98, 0x8DF8, 0x5D99, 0xE1D7, 0x5D9A, 0x8DF9, - 0x5D9B, 0x8DFA, 0x5D9C, 0x8DFB, 0x5D9D, 0xE1D8, 0x5D9E, 0x8DFC, 0x5D9F, 0x8DFD, 0x5DA0, 0x8DFE, 0x5DA1, 0x8E40, 0x5DA2, 0x8E41, - 0x5DA3, 0x8E42, 0x5DA4, 0x8E43, 0x5DA5, 0x8E44, 0x5DA6, 0x8E45, 0x5DA7, 0x8E46, 0x5DA8, 0x8E47, 0x5DA9, 0x8E48, 0x5DAA, 0x8E49, - 0x5DAB, 0x8E4A, 0x5DAC, 0x8E4B, 0x5DAD, 0x8E4C, 0x5DAE, 0x8E4D, 0x5DAF, 0x8E4E, 0x5DB0, 0x8E4F, 0x5DB1, 0x8E50, 0x5DB2, 0x8E51, - 0x5DB3, 0x8E52, 0x5DB4, 0x8E53, 0x5DB5, 0x8E54, 0x5DB6, 0x8E55, 0x5DB7, 0xE1DA, 0x5DB8, 0x8E56, 0x5DB9, 0x8E57, 0x5DBA, 0x8E58, - 0x5DBB, 0x8E59, 0x5DBC, 0x8E5A, 0x5DBD, 0x8E5B, 0x5DBE, 0x8E5C, 0x5DBF, 0x8E5D, 0x5DC0, 0x8E5E, 0x5DC1, 0x8E5F, 0x5DC2, 0x8E60, - 0x5DC3, 0x8E61, 0x5DC4, 0x8E62, 0x5DC5, 0xE1DB, 0x5DC6, 0x8E63, 0x5DC7, 0x8E64, 0x5DC8, 0x8E65, 0x5DC9, 0x8E66, 0x5DCA, 0x8E67, - 0x5DCB, 0x8E68, 0x5DCC, 0x8E69, 0x5DCD, 0xCEA1, 0x5DCE, 0x8E6A, 0x5DCF, 0x8E6B, 0x5DD0, 0x8E6C, 0x5DD1, 0x8E6D, 0x5DD2, 0x8E6E, - 0x5DD3, 0x8E6F, 0x5DD4, 0x8E70, 0x5DD5, 0x8E71, 0x5DD6, 0x8E72, 0x5DD7, 0x8E73, 0x5DD8, 0x8E74, 0x5DD9, 0x8E75, 0x5DDA, 0x8E76, - 0x5DDB, 0xE7DD, 0x5DDC, 0x8E77, 0x5DDD, 0xB4A8, 0x5DDE, 0xD6DD, 0x5DDF, 0x8E78, 0x5DE0, 0x8E79, 0x5DE1, 0xD1B2, 0x5DE2, 0xB3B2, - 0x5DE3, 0x8E7A, 0x5DE4, 0x8E7B, 0x5DE5, 0xB9A4, 0x5DE6, 0xD7F3, 0x5DE7, 0xC7C9, 0x5DE8, 0xBEDE, 0x5DE9, 0xB9AE, 0x5DEA, 0x8E7C, - 0x5DEB, 0xCED7, 0x5DEC, 0x8E7D, 0x5DED, 0x8E7E, 0x5DEE, 0xB2EE, 0x5DEF, 0xDBCF, 0x5DF0, 0x8E80, 0x5DF1, 0xBCBA, 0x5DF2, 0xD2D1, - 0x5DF3, 0xCBC8, 0x5DF4, 0xB0CD, 0x5DF5, 0x8E81, 0x5DF6, 0x8E82, 0x5DF7, 0xCFEF, 0x5DF8, 0x8E83, 0x5DF9, 0x8E84, 0x5DFA, 0x8E85, - 0x5DFB, 0x8E86, 0x5DFC, 0x8E87, 0x5DFD, 0xD9E3, 0x5DFE, 0xBDED, 0x5DFF, 0x8E88, 0x5E00, 0x8E89, 0x5E01, 0xB1D2, 0x5E02, 0xCAD0, - 0x5E03, 0xB2BC, 0x5E04, 0x8E8A, 0x5E05, 0xCBA7, 0x5E06, 0xB7AB, 0x5E07, 0x8E8B, 0x5E08, 0xCAA6, 0x5E09, 0x8E8C, 0x5E0A, 0x8E8D, - 0x5E0B, 0x8E8E, 0x5E0C, 0xCFA3, 0x5E0D, 0x8E8F, 0x5E0E, 0x8E90, 0x5E0F, 0xE0F8, 0x5E10, 0xD5CA, 0x5E11, 0xE0FB, 0x5E12, 0x8E91, - 0x5E13, 0x8E92, 0x5E14, 0xE0FA, 0x5E15, 0xC5C1, 0x5E16, 0xCCFB, 0x5E17, 0x8E93, 0x5E18, 0xC1B1, 0x5E19, 0xE0F9, 0x5E1A, 0xD6E3, - 0x5E1B, 0xB2AF, 0x5E1C, 0xD6C4, 0x5E1D, 0xB5DB, 0x5E1E, 0x8E94, 0x5E1F, 0x8E95, 0x5E20, 0x8E96, 0x5E21, 0x8E97, 0x5E22, 0x8E98, - 0x5E23, 0x8E99, 0x5E24, 0x8E9A, 0x5E25, 0x8E9B, 0x5E26, 0xB4F8, 0x5E27, 0xD6A1, 0x5E28, 0x8E9C, 0x5E29, 0x8E9D, 0x5E2A, 0x8E9E, - 0x5E2B, 0x8E9F, 0x5E2C, 0x8EA0, 0x5E2D, 0xCFAF, 0x5E2E, 0xB0EF, 0x5E2F, 0x8EA1, 0x5E30, 0x8EA2, 0x5E31, 0xE0FC, 0x5E32, 0x8EA3, - 0x5E33, 0x8EA4, 0x5E34, 0x8EA5, 0x5E35, 0x8EA6, 0x5E36, 0x8EA7, 0x5E37, 0xE1A1, 0x5E38, 0xB3A3, 0x5E39, 0x8EA8, 0x5E3A, 0x8EA9, - 0x5E3B, 0xE0FD, 0x5E3C, 0xE0FE, 0x5E3D, 0xC3B1, 0x5E3E, 0x8EAA, 0x5E3F, 0x8EAB, 0x5E40, 0x8EAC, 0x5E41, 0x8EAD, 0x5E42, 0xC3DD, - 0x5E43, 0x8EAE, 0x5E44, 0xE1A2, 0x5E45, 0xB7F9, 0x5E46, 0x8EAF, 0x5E47, 0x8EB0, 0x5E48, 0x8EB1, 0x5E49, 0x8EB2, 0x5E4A, 0x8EB3, - 0x5E4B, 0x8EB4, 0x5E4C, 0xBBCF, 0x5E4D, 0x8EB5, 0x5E4E, 0x8EB6, 0x5E4F, 0x8EB7, 0x5E50, 0x8EB8, 0x5E51, 0x8EB9, 0x5E52, 0x8EBA, - 0x5E53, 0x8EBB, 0x5E54, 0xE1A3, 0x5E55, 0xC4BB, 0x5E56, 0x8EBC, 0x5E57, 0x8EBD, 0x5E58, 0x8EBE, 0x5E59, 0x8EBF, 0x5E5A, 0x8EC0, - 0x5E5B, 0xE1A4, 0x5E5C, 0x8EC1, 0x5E5D, 0x8EC2, 0x5E5E, 0xE1A5, 0x5E5F, 0x8EC3, 0x5E60, 0x8EC4, 0x5E61, 0xE1A6, 0x5E62, 0xB4B1, - 0x5E63, 0x8EC5, 0x5E64, 0x8EC6, 0x5E65, 0x8EC7, 0x5E66, 0x8EC8, 0x5E67, 0x8EC9, 0x5E68, 0x8ECA, 0x5E69, 0x8ECB, 0x5E6A, 0x8ECC, - 0x5E6B, 0x8ECD, 0x5E6C, 0x8ECE, 0x5E6D, 0x8ECF, 0x5E6E, 0x8ED0, 0x5E6F, 0x8ED1, 0x5E70, 0x8ED2, 0x5E71, 0x8ED3, 0x5E72, 0xB8C9, - 0x5E73, 0xC6BD, 0x5E74, 0xC4EA, 0x5E75, 0x8ED4, 0x5E76, 0xB2A2, 0x5E77, 0x8ED5, 0x5E78, 0xD0D2, 0x5E79, 0x8ED6, 0x5E7A, 0xE7DB, - 0x5E7B, 0xBBC3, 0x5E7C, 0xD3D7, 0x5E7D, 0xD3C4, 0x5E7E, 0x8ED7, 0x5E7F, 0xB9E3, 0x5E80, 0xE2CF, 0x5E81, 0x8ED8, 0x5E82, 0x8ED9, - 0x5E83, 0x8EDA, 0x5E84, 0xD7AF, 0x5E85, 0x8EDB, 0x5E86, 0xC7EC, 0x5E87, 0xB1D3, 0x5E88, 0x8EDC, 0x5E89, 0x8EDD, 0x5E8A, 0xB4B2, - 0x5E8B, 0xE2D1, 0x5E8C, 0x8EDE, 0x5E8D, 0x8EDF, 0x5E8E, 0x8EE0, 0x5E8F, 0xD0F2, 0x5E90, 0xC2AE, 0x5E91, 0xE2D0, 0x5E92, 0x8EE1, - 0x5E93, 0xBFE2, 0x5E94, 0xD3A6, 0x5E95, 0xB5D7, 0x5E96, 0xE2D2, 0x5E97, 0xB5EA, 0x5E98, 0x8EE2, 0x5E99, 0xC3ED, 0x5E9A, 0xB8FD, - 0x5E9B, 0x8EE3, 0x5E9C, 0xB8AE, 0x5E9D, 0x8EE4, 0x5E9E, 0xC5D3, 0x5E9F, 0xB7CF, 0x5EA0, 0xE2D4, 0x5EA1, 0x8EE5, 0x5EA2, 0x8EE6, - 0x5EA3, 0x8EE7, 0x5EA4, 0x8EE8, 0x5EA5, 0xE2D3, 0x5EA6, 0xB6C8, 0x5EA7, 0xD7F9, 0x5EA8, 0x8EE9, 0x5EA9, 0x8EEA, 0x5EAA, 0x8EEB, - 0x5EAB, 0x8EEC, 0x5EAC, 0x8EED, 0x5EAD, 0xCDA5, 0x5EAE, 0x8EEE, 0x5EAF, 0x8EEF, 0x5EB0, 0x8EF0, 0x5EB1, 0x8EF1, 0x5EB2, 0x8EF2, - 0x5EB3, 0xE2D8, 0x5EB4, 0x8EF3, 0x5EB5, 0xE2D6, 0x5EB6, 0xCAFC, 0x5EB7, 0xBFB5, 0x5EB8, 0xD3B9, 0x5EB9, 0xE2D5, 0x5EBA, 0x8EF4, - 0x5EBB, 0x8EF5, 0x5EBC, 0x8EF6, 0x5EBD, 0x8EF7, 0x5EBE, 0xE2D7, 0x5EBF, 0x8EF8, 0x5EC0, 0x8EF9, 0x5EC1, 0x8EFA, 0x5EC2, 0x8EFB, - 0x5EC3, 0x8EFC, 0x5EC4, 0x8EFD, 0x5EC5, 0x8EFE, 0x5EC6, 0x8F40, 0x5EC7, 0x8F41, 0x5EC8, 0x8F42, 0x5EC9, 0xC1AE, 0x5ECA, 0xC0C8, - 0x5ECB, 0x8F43, 0x5ECC, 0x8F44, 0x5ECD, 0x8F45, 0x5ECE, 0x8F46, 0x5ECF, 0x8F47, 0x5ED0, 0x8F48, 0x5ED1, 0xE2DB, 0x5ED2, 0xE2DA, - 0x5ED3, 0xC0AA, 0x5ED4, 0x8F49, 0x5ED5, 0x8F4A, 0x5ED6, 0xC1CE, 0x5ED7, 0x8F4B, 0x5ED8, 0x8F4C, 0x5ED9, 0x8F4D, 0x5EDA, 0x8F4E, - 0x5EDB, 0xE2DC, 0x5EDC, 0x8F4F, 0x5EDD, 0x8F50, 0x5EDE, 0x8F51, 0x5EDF, 0x8F52, 0x5EE0, 0x8F53, 0x5EE1, 0x8F54, 0x5EE2, 0x8F55, - 0x5EE3, 0x8F56, 0x5EE4, 0x8F57, 0x5EE5, 0x8F58, 0x5EE6, 0x8F59, 0x5EE7, 0x8F5A, 0x5EE8, 0xE2DD, 0x5EE9, 0x8F5B, 0x5EEA, 0xE2DE, - 0x5EEB, 0x8F5C, 0x5EEC, 0x8F5D, 0x5EED, 0x8F5E, 0x5EEE, 0x8F5F, 0x5EEF, 0x8F60, 0x5EF0, 0x8F61, 0x5EF1, 0x8F62, 0x5EF2, 0x8F63, - 0x5EF3, 0x8F64, 0x5EF4, 0xDBC8, 0x5EF5, 0x8F65, 0x5EF6, 0xD1D3, 0x5EF7, 0xCDA2, 0x5EF8, 0x8F66, 0x5EF9, 0x8F67, 0x5EFA, 0xBDA8, - 0x5EFB, 0x8F68, 0x5EFC, 0x8F69, 0x5EFD, 0x8F6A, 0x5EFE, 0xDEC3, 0x5EFF, 0xD8A5, 0x5F00, 0xBFAA, 0x5F01, 0xDBCD, 0x5F02, 0xD2EC, - 0x5F03, 0xC6FA, 0x5F04, 0xC5AA, 0x5F05, 0x8F6B, 0x5F06, 0x8F6C, 0x5F07, 0x8F6D, 0x5F08, 0xDEC4, 0x5F09, 0x8F6E, 0x5F0A, 0xB1D7, - 0x5F0B, 0xDFAE, 0x5F0C, 0x8F6F, 0x5F0D, 0x8F70, 0x5F0E, 0x8F71, 0x5F0F, 0xCABD, 0x5F10, 0x8F72, 0x5F11, 0xDFB1, 0x5F12, 0x8F73, - 0x5F13, 0xB9AD, 0x5F14, 0x8F74, 0x5F15, 0xD2FD, 0x5F16, 0x8F75, 0x5F17, 0xB8A5, 0x5F18, 0xBAEB, 0x5F19, 0x8F76, 0x5F1A, 0x8F77, - 0x5F1B, 0xB3DA, 0x5F1C, 0x8F78, 0x5F1D, 0x8F79, 0x5F1E, 0x8F7A, 0x5F1F, 0xB5DC, 0x5F20, 0xD5C5, 0x5F21, 0x8F7B, 0x5F22, 0x8F7C, - 0x5F23, 0x8F7D, 0x5F24, 0x8F7E, 0x5F25, 0xC3D6, 0x5F26, 0xCFD2, 0x5F27, 0xBBA1, 0x5F28, 0x8F80, 0x5F29, 0xE5F3, 0x5F2A, 0xE5F2, - 0x5F2B, 0x8F81, 0x5F2C, 0x8F82, 0x5F2D, 0xE5F4, 0x5F2E, 0x8F83, 0x5F2F, 0xCDE4, 0x5F30, 0x8F84, 0x5F31, 0xC8F5, 0x5F32, 0x8F85, - 0x5F33, 0x8F86, 0x5F34, 0x8F87, 0x5F35, 0x8F88, 0x5F36, 0x8F89, 0x5F37, 0x8F8A, 0x5F38, 0x8F8B, 0x5F39, 0xB5AF, 0x5F3A, 0xC7BF, - 0x5F3B, 0x8F8C, 0x5F3C, 0xE5F6, 0x5F3D, 0x8F8D, 0x5F3E, 0x8F8E, 0x5F3F, 0x8F8F, 0x5F40, 0xECB0, 0x5F41, 0x8F90, 0x5F42, 0x8F91, - 0x5F43, 0x8F92, 0x5F44, 0x8F93, 0x5F45, 0x8F94, 0x5F46, 0x8F95, 0x5F47, 0x8F96, 0x5F48, 0x8F97, 0x5F49, 0x8F98, 0x5F4A, 0x8F99, - 0x5F4B, 0x8F9A, 0x5F4C, 0x8F9B, 0x5F4D, 0x8F9C, 0x5F4E, 0x8F9D, 0x5F4F, 0x8F9E, 0x5F50, 0xE5E6, 0x5F51, 0x8F9F, 0x5F52, 0xB9E9, - 0x5F53, 0xB5B1, 0x5F54, 0x8FA0, 0x5F55, 0xC2BC, 0x5F56, 0xE5E8, 0x5F57, 0xE5E7, 0x5F58, 0xE5E9, 0x5F59, 0x8FA1, 0x5F5A, 0x8FA2, - 0x5F5B, 0x8FA3, 0x5F5C, 0x8FA4, 0x5F5D, 0xD2CD, 0x5F5E, 0x8FA5, 0x5F5F, 0x8FA6, 0x5F60, 0x8FA7, 0x5F61, 0xE1EA, 0x5F62, 0xD0CE, - 0x5F63, 0x8FA8, 0x5F64, 0xCDAE, 0x5F65, 0x8FA9, 0x5F66, 0xD1E5, 0x5F67, 0x8FAA, 0x5F68, 0x8FAB, 0x5F69, 0xB2CA, 0x5F6A, 0xB1EB, - 0x5F6B, 0x8FAC, 0x5F6C, 0xB1F2, 0x5F6D, 0xC5ED, 0x5F6E, 0x8FAD, 0x5F6F, 0x8FAE, 0x5F70, 0xD5C3, 0x5F71, 0xD3B0, 0x5F72, 0x8FAF, - 0x5F73, 0xE1DC, 0x5F74, 0x8FB0, 0x5F75, 0x8FB1, 0x5F76, 0x8FB2, 0x5F77, 0xE1DD, 0x5F78, 0x8FB3, 0x5F79, 0xD2DB, 0x5F7A, 0x8FB4, - 0x5F7B, 0xB3B9, 0x5F7C, 0xB1CB, 0x5F7D, 0x8FB5, 0x5F7E, 0x8FB6, 0x5F7F, 0x8FB7, 0x5F80, 0xCDF9, 0x5F81, 0xD5F7, 0x5F82, 0xE1DE, - 0x5F83, 0x8FB8, 0x5F84, 0xBEB6, 0x5F85, 0xB4FD, 0x5F86, 0x8FB9, 0x5F87, 0xE1DF, 0x5F88, 0xBADC, 0x5F89, 0xE1E0, 0x5F8A, 0xBBB2, - 0x5F8B, 0xC2C9, 0x5F8C, 0xE1E1, 0x5F8D, 0x8FBA, 0x5F8E, 0x8FBB, 0x5F8F, 0x8FBC, 0x5F90, 0xD0EC, 0x5F91, 0x8FBD, 0x5F92, 0xCDBD, - 0x5F93, 0x8FBE, 0x5F94, 0x8FBF, 0x5F95, 0xE1E2, 0x5F96, 0x8FC0, 0x5F97, 0xB5C3, 0x5F98, 0xC5C7, 0x5F99, 0xE1E3, 0x5F9A, 0x8FC1, - 0x5F9B, 0x8FC2, 0x5F9C, 0xE1E4, 0x5F9D, 0x8FC3, 0x5F9E, 0x8FC4, 0x5F9F, 0x8FC5, 0x5FA0, 0x8FC6, 0x5FA1, 0xD3F9, 0x5FA2, 0x8FC7, - 0x5FA3, 0x8FC8, 0x5FA4, 0x8FC9, 0x5FA5, 0x8FCA, 0x5FA6, 0x8FCB, 0x5FA7, 0x8FCC, 0x5FA8, 0xE1E5, 0x5FA9, 0x8FCD, 0x5FAA, 0xD1AD, - 0x5FAB, 0x8FCE, 0x5FAC, 0x8FCF, 0x5FAD, 0xE1E6, 0x5FAE, 0xCEA2, 0x5FAF, 0x8FD0, 0x5FB0, 0x8FD1, 0x5FB1, 0x8FD2, 0x5FB2, 0x8FD3, - 0x5FB3, 0x8FD4, 0x5FB4, 0x8FD5, 0x5FB5, 0xE1E7, 0x5FB6, 0x8FD6, 0x5FB7, 0xB5C2, 0x5FB8, 0x8FD7, 0x5FB9, 0x8FD8, 0x5FBA, 0x8FD9, - 0x5FBB, 0x8FDA, 0x5FBC, 0xE1E8, 0x5FBD, 0xBBD5, 0x5FBE, 0x8FDB, 0x5FBF, 0x8FDC, 0x5FC0, 0x8FDD, 0x5FC1, 0x8FDE, 0x5FC2, 0x8FDF, - 0x5FC3, 0xD0C4, 0x5FC4, 0xE2E0, 0x5FC5, 0xB1D8, 0x5FC6, 0xD2E4, 0x5FC7, 0x8FE0, 0x5FC8, 0x8FE1, 0x5FC9, 0xE2E1, 0x5FCA, 0x8FE2, - 0x5FCB, 0x8FE3, 0x5FCC, 0xBCC9, 0x5FCD, 0xC8CC, 0x5FCE, 0x8FE4, 0x5FCF, 0xE2E3, 0x5FD0, 0xECFE, 0x5FD1, 0xECFD, 0x5FD2, 0xDFAF, - 0x5FD3, 0x8FE5, 0x5FD4, 0x8FE6, 0x5FD5, 0x8FE7, 0x5FD6, 0xE2E2, 0x5FD7, 0xD6BE, 0x5FD8, 0xCDFC, 0x5FD9, 0xC3A6, 0x5FDA, 0x8FE8, - 0x5FDB, 0x8FE9, 0x5FDC, 0x8FEA, 0x5FDD, 0xE3C3, 0x5FDE, 0x8FEB, 0x5FDF, 0x8FEC, 0x5FE0, 0xD6D2, 0x5FE1, 0xE2E7, 0x5FE2, 0x8FED, - 0x5FE3, 0x8FEE, 0x5FE4, 0xE2E8, 0x5FE5, 0x8FEF, 0x5FE6, 0x8FF0, 0x5FE7, 0xD3C7, 0x5FE8, 0x8FF1, 0x5FE9, 0x8FF2, 0x5FEA, 0xE2EC, - 0x5FEB, 0xBFEC, 0x5FEC, 0x8FF3, 0x5FED, 0xE2ED, 0x5FEE, 0xE2E5, 0x5FEF, 0x8FF4, 0x5FF0, 0x8FF5, 0x5FF1, 0xB3C0, 0x5FF2, 0x8FF6, - 0x5FF3, 0x8FF7, 0x5FF4, 0x8FF8, 0x5FF5, 0xC4EE, 0x5FF6, 0x8FF9, 0x5FF7, 0x8FFA, 0x5FF8, 0xE2EE, 0x5FF9, 0x8FFB, 0x5FFA, 0x8FFC, - 0x5FFB, 0xD0C3, 0x5FFC, 0x8FFD, 0x5FFD, 0xBAF6, 0x5FFE, 0xE2E9, 0x5FFF, 0xB7DE, 0x6000, 0xBBB3, 0x6001, 0xCCAC, 0x6002, 0xCBCB, - 0x6003, 0xE2E4, 0x6004, 0xE2E6, 0x6005, 0xE2EA, 0x6006, 0xE2EB, 0x6007, 0x8FFE, 0x6008, 0x9040, 0x6009, 0x9041, 0x600A, 0xE2F7, - 0x600B, 0x9042, 0x600C, 0x9043, 0x600D, 0xE2F4, 0x600E, 0xD4F5, 0x600F, 0xE2F3, 0x6010, 0x9044, 0x6011, 0x9045, 0x6012, 0xC5AD, - 0x6013, 0x9046, 0x6014, 0xD5FA, 0x6015, 0xC5C2, 0x6016, 0xB2C0, 0x6017, 0x9047, 0x6018, 0x9048, 0x6019, 0xE2EF, 0x601A, 0x9049, - 0x601B, 0xE2F2, 0x601C, 0xC1AF, 0x601D, 0xCBBC, 0x601E, 0x904A, 0x601F, 0x904B, 0x6020, 0xB5A1, 0x6021, 0xE2F9, 0x6022, 0x904C, - 0x6023, 0x904D, 0x6024, 0x904E, 0x6025, 0xBCB1, 0x6026, 0xE2F1, 0x6027, 0xD0D4, 0x6028, 0xD4B9, 0x6029, 0xE2F5, 0x602A, 0xB9D6, - 0x602B, 0xE2F6, 0x602C, 0x904F, 0x602D, 0x9050, 0x602E, 0x9051, 0x602F, 0xC7D3, 0x6030, 0x9052, 0x6031, 0x9053, 0x6032, 0x9054, - 0x6033, 0x9055, 0x6034, 0x9056, 0x6035, 0xE2F0, 0x6036, 0x9057, 0x6037, 0x9058, 0x6038, 0x9059, 0x6039, 0x905A, 0x603A, 0x905B, - 0x603B, 0xD7DC, 0x603C, 0xEDA1, 0x603D, 0x905C, 0x603E, 0x905D, 0x603F, 0xE2F8, 0x6040, 0x905E, 0x6041, 0xEDA5, 0x6042, 0xE2FE, - 0x6043, 0xCAD1, 0x6044, 0x905F, 0x6045, 0x9060, 0x6046, 0x9061, 0x6047, 0x9062, 0x6048, 0x9063, 0x6049, 0x9064, 0x604A, 0x9065, - 0x604B, 0xC1B5, 0x604C, 0x9066, 0x604D, 0xBBD0, 0x604E, 0x9067, 0x604F, 0x9068, 0x6050, 0xBFD6, 0x6051, 0x9069, 0x6052, 0xBAE3, - 0x6053, 0x906A, 0x6054, 0x906B, 0x6055, 0xCBA1, 0x6056, 0x906C, 0x6057, 0x906D, 0x6058, 0x906E, 0x6059, 0xEDA6, 0x605A, 0xEDA3, - 0x605B, 0x906F, 0x605C, 0x9070, 0x605D, 0xEDA2, 0x605E, 0x9071, 0x605F, 0x9072, 0x6060, 0x9073, 0x6061, 0x9074, 0x6062, 0xBBD6, - 0x6063, 0xEDA7, 0x6064, 0xD0F4, 0x6065, 0x9075, 0x6066, 0x9076, 0x6067, 0xEDA4, 0x6068, 0xBADE, 0x6069, 0xB6F7, 0x606A, 0xE3A1, - 0x606B, 0xB6B2, 0x606C, 0xCCF1, 0x606D, 0xB9A7, 0x606E, 0x9077, 0x606F, 0xCFA2, 0x6070, 0xC7A1, 0x6071, 0x9078, 0x6072, 0x9079, - 0x6073, 0xBFD2, 0x6074, 0x907A, 0x6075, 0x907B, 0x6076, 0xB6F1, 0x6077, 0x907C, 0x6078, 0xE2FA, 0x6079, 0xE2FB, 0x607A, 0xE2FD, - 0x607B, 0xE2FC, 0x607C, 0xC4D5, 0x607D, 0xE3A2, 0x607E, 0x907D, 0x607F, 0xD3C1, 0x6080, 0x907E, 0x6081, 0x9080, 0x6082, 0x9081, - 0x6083, 0xE3A7, 0x6084, 0xC7C4, 0x6085, 0x9082, 0x6086, 0x9083, 0x6087, 0x9084, 0x6088, 0x9085, 0x6089, 0xCFA4, 0x608A, 0x9086, - 0x608B, 0x9087, 0x608C, 0xE3A9, 0x608D, 0xBAB7, 0x608E, 0x9088, 0x608F, 0x9089, 0x6090, 0x908A, 0x6091, 0x908B, 0x6092, 0xE3A8, - 0x6093, 0x908C, 0x6094, 0xBBDA, 0x6095, 0x908D, 0x6096, 0xE3A3, 0x6097, 0x908E, 0x6098, 0x908F, 0x6099, 0x9090, 0x609A, 0xE3A4, - 0x609B, 0xE3AA, 0x609C, 0x9091, 0x609D, 0xE3A6, 0x609E, 0x9092, 0x609F, 0xCEF2, 0x60A0, 0xD3C6, 0x60A1, 0x9093, 0x60A2, 0x9094, - 0x60A3, 0xBBBC, 0x60A4, 0x9095, 0x60A5, 0x9096, 0x60A6, 0xD4C3, 0x60A7, 0x9097, 0x60A8, 0xC4FA, 0x60A9, 0x9098, 0x60AA, 0x9099, - 0x60AB, 0xEDA8, 0x60AC, 0xD0FC, 0x60AD, 0xE3A5, 0x60AE, 0x909A, 0x60AF, 0xC3F5, 0x60B0, 0x909B, 0x60B1, 0xE3AD, 0x60B2, 0xB1AF, - 0x60B3, 0x909C, 0x60B4, 0xE3B2, 0x60B5, 0x909D, 0x60B6, 0x909E, 0x60B7, 0x909F, 0x60B8, 0xBCC2, 0x60B9, 0x90A0, 0x60BA, 0x90A1, - 0x60BB, 0xE3AC, 0x60BC, 0xB5BF, 0x60BD, 0x90A2, 0x60BE, 0x90A3, 0x60BF, 0x90A4, 0x60C0, 0x90A5, 0x60C1, 0x90A6, 0x60C2, 0x90A7, - 0x60C3, 0x90A8, 0x60C4, 0x90A9, 0x60C5, 0xC7E9, 0x60C6, 0xE3B0, 0x60C7, 0x90AA, 0x60C8, 0x90AB, 0x60C9, 0x90AC, 0x60CA, 0xBEAA, - 0x60CB, 0xCDEF, 0x60CC, 0x90AD, 0x60CD, 0x90AE, 0x60CE, 0x90AF, 0x60CF, 0x90B0, 0x60D0, 0x90B1, 0x60D1, 0xBBF3, 0x60D2, 0x90B2, - 0x60D3, 0x90B3, 0x60D4, 0x90B4, 0x60D5, 0xCCE8, 0x60D6, 0x90B5, 0x60D7, 0x90B6, 0x60D8, 0xE3AF, 0x60D9, 0x90B7, 0x60DA, 0xE3B1, - 0x60DB, 0x90B8, 0x60DC, 0xCFA7, 0x60DD, 0xE3AE, 0x60DE, 0x90B9, 0x60DF, 0xCEA9, 0x60E0, 0xBBDD, 0x60E1, 0x90BA, 0x60E2, 0x90BB, - 0x60E3, 0x90BC, 0x60E4, 0x90BD, 0x60E5, 0x90BE, 0x60E6, 0xB5EB, 0x60E7, 0xBEE5, 0x60E8, 0xB2D2, 0x60E9, 0xB3CD, 0x60EA, 0x90BF, - 0x60EB, 0xB1B9, 0x60EC, 0xE3AB, 0x60ED, 0xB2D1, 0x60EE, 0xB5AC, 0x60EF, 0xB9DF, 0x60F0, 0xB6E8, 0x60F1, 0x90C0, 0x60F2, 0x90C1, - 0x60F3, 0xCFEB, 0x60F4, 0xE3B7, 0x60F5, 0x90C2, 0x60F6, 0xBBCC, 0x60F7, 0x90C3, 0x60F8, 0x90C4, 0x60F9, 0xC8C7, 0x60FA, 0xD0CA, - 0x60FB, 0x90C5, 0x60FC, 0x90C6, 0x60FD, 0x90C7, 0x60FE, 0x90C8, 0x60FF, 0x90C9, 0x6100, 0xE3B8, 0x6101, 0xB3EE, 0x6102, 0x90CA, - 0x6103, 0x90CB, 0x6104, 0x90CC, 0x6105, 0x90CD, 0x6106, 0xEDA9, 0x6107, 0x90CE, 0x6108, 0xD3FA, 0x6109, 0xD3E4, 0x610A, 0x90CF, - 0x610B, 0x90D0, 0x610C, 0x90D1, 0x610D, 0xEDAA, 0x610E, 0xE3B9, 0x610F, 0xD2E2, 0x6110, 0x90D2, 0x6111, 0x90D3, 0x6112, 0x90D4, - 0x6113, 0x90D5, 0x6114, 0x90D6, 0x6115, 0xE3B5, 0x6116, 0x90D7, 0x6117, 0x90D8, 0x6118, 0x90D9, 0x6119, 0x90DA, 0x611A, 0xD3DE, - 0x611B, 0x90DB, 0x611C, 0x90DC, 0x611D, 0x90DD, 0x611E, 0x90DE, 0x611F, 0xB8D0, 0x6120, 0xE3B3, 0x6121, 0x90DF, 0x6122, 0x90E0, - 0x6123, 0xE3B6, 0x6124, 0xB7DF, 0x6125, 0x90E1, 0x6126, 0xE3B4, 0x6127, 0xC0A2, 0x6128, 0x90E2, 0x6129, 0x90E3, 0x612A, 0x90E4, - 0x612B, 0xE3BA, 0x612C, 0x90E5, 0x612D, 0x90E6, 0x612E, 0x90E7, 0x612F, 0x90E8, 0x6130, 0x90E9, 0x6131, 0x90EA, 0x6132, 0x90EB, - 0x6133, 0x90EC, 0x6134, 0x90ED, 0x6135, 0x90EE, 0x6136, 0x90EF, 0x6137, 0x90F0, 0x6138, 0x90F1, 0x6139, 0x90F2, 0x613A, 0x90F3, - 0x613B, 0x90F4, 0x613C, 0x90F5, 0x613D, 0x90F6, 0x613E, 0x90F7, 0x613F, 0xD4B8, 0x6140, 0x90F8, 0x6141, 0x90F9, 0x6142, 0x90FA, - 0x6143, 0x90FB, 0x6144, 0x90FC, 0x6145, 0x90FD, 0x6146, 0x90FE, 0x6147, 0x9140, 0x6148, 0xB4C8, 0x6149, 0x9141, 0x614A, 0xE3BB, - 0x614B, 0x9142, 0x614C, 0xBBC5, 0x614D, 0x9143, 0x614E, 0xC9F7, 0x614F, 0x9144, 0x6150, 0x9145, 0x6151, 0xC9E5, 0x6152, 0x9146, - 0x6153, 0x9147, 0x6154, 0x9148, 0x6155, 0xC4BD, 0x6156, 0x9149, 0x6157, 0x914A, 0x6158, 0x914B, 0x6159, 0x914C, 0x615A, 0x914D, - 0x615B, 0x914E, 0x615C, 0x914F, 0x615D, 0xEDAB, 0x615E, 0x9150, 0x615F, 0x9151, 0x6160, 0x9152, 0x6161, 0x9153, 0x6162, 0xC2FD, - 0x6163, 0x9154, 0x6164, 0x9155, 0x6165, 0x9156, 0x6166, 0x9157, 0x6167, 0xBBDB, 0x6168, 0xBFAE, 0x6169, 0x9158, 0x616A, 0x9159, - 0x616B, 0x915A, 0x616C, 0x915B, 0x616D, 0x915C, 0x616E, 0x915D, 0x616F, 0x915E, 0x6170, 0xCEBF, 0x6171, 0x915F, 0x6172, 0x9160, - 0x6173, 0x9161, 0x6174, 0x9162, 0x6175, 0xE3BC, 0x6176, 0x9163, 0x6177, 0xBFB6, 0x6178, 0x9164, 0x6179, 0x9165, 0x617A, 0x9166, - 0x617B, 0x9167, 0x617C, 0x9168, 0x617D, 0x9169, 0x617E, 0x916A, 0x617F, 0x916B, 0x6180, 0x916C, 0x6181, 0x916D, 0x6182, 0x916E, - 0x6183, 0x916F, 0x6184, 0x9170, 0x6185, 0x9171, 0x6186, 0x9172, 0x6187, 0x9173, 0x6188, 0x9174, 0x6189, 0x9175, 0x618A, 0x9176, - 0x618B, 0xB1EF, 0x618C, 0x9177, 0x618D, 0x9178, 0x618E, 0xD4F7, 0x618F, 0x9179, 0x6190, 0x917A, 0x6191, 0x917B, 0x6192, 0x917C, - 0x6193, 0x917D, 0x6194, 0xE3BE, 0x6195, 0x917E, 0x6196, 0x9180, 0x6197, 0x9181, 0x6198, 0x9182, 0x6199, 0x9183, 0x619A, 0x9184, - 0x619B, 0x9185, 0x619C, 0x9186, 0x619D, 0xEDAD, 0x619E, 0x9187, 0x619F, 0x9188, 0x61A0, 0x9189, 0x61A1, 0x918A, 0x61A2, 0x918B, - 0x61A3, 0x918C, 0x61A4, 0x918D, 0x61A5, 0x918E, 0x61A6, 0x918F, 0x61A7, 0xE3BF, 0x61A8, 0xBAA9, 0x61A9, 0xEDAC, 0x61AA, 0x9190, - 0x61AB, 0x9191, 0x61AC, 0xE3BD, 0x61AD, 0x9192, 0x61AE, 0x9193, 0x61AF, 0x9194, 0x61B0, 0x9195, 0x61B1, 0x9196, 0x61B2, 0x9197, - 0x61B3, 0x9198, 0x61B4, 0x9199, 0x61B5, 0x919A, 0x61B6, 0x919B, 0x61B7, 0xE3C0, 0x61B8, 0x919C, 0x61B9, 0x919D, 0x61BA, 0x919E, - 0x61BB, 0x919F, 0x61BC, 0x91A0, 0x61BD, 0x91A1, 0x61BE, 0xBAB6, 0x61BF, 0x91A2, 0x61C0, 0x91A3, 0x61C1, 0x91A4, 0x61C2, 0xB6AE, - 0x61C3, 0x91A5, 0x61C4, 0x91A6, 0x61C5, 0x91A7, 0x61C6, 0x91A8, 0x61C7, 0x91A9, 0x61C8, 0xD0B8, 0x61C9, 0x91AA, 0x61CA, 0xB0C3, - 0x61CB, 0xEDAE, 0x61CC, 0x91AB, 0x61CD, 0x91AC, 0x61CE, 0x91AD, 0x61CF, 0x91AE, 0x61D0, 0x91AF, 0x61D1, 0xEDAF, 0x61D2, 0xC0C1, - 0x61D3, 0x91B0, 0x61D4, 0xE3C1, 0x61D5, 0x91B1, 0x61D6, 0x91B2, 0x61D7, 0x91B3, 0x61D8, 0x91B4, 0x61D9, 0x91B5, 0x61DA, 0x91B6, - 0x61DB, 0x91B7, 0x61DC, 0x91B8, 0x61DD, 0x91B9, 0x61DE, 0x91BA, 0x61DF, 0x91BB, 0x61E0, 0x91BC, 0x61E1, 0x91BD, 0x61E2, 0x91BE, - 0x61E3, 0x91BF, 0x61E4, 0x91C0, 0x61E5, 0x91C1, 0x61E6, 0xC5B3, 0x61E7, 0x91C2, 0x61E8, 0x91C3, 0x61E9, 0x91C4, 0x61EA, 0x91C5, - 0x61EB, 0x91C6, 0x61EC, 0x91C7, 0x61ED, 0x91C8, 0x61EE, 0x91C9, 0x61EF, 0x91CA, 0x61F0, 0x91CB, 0x61F1, 0x91CC, 0x61F2, 0x91CD, - 0x61F3, 0x91CE, 0x61F4, 0x91CF, 0x61F5, 0xE3C2, 0x61F6, 0x91D0, 0x61F7, 0x91D1, 0x61F8, 0x91D2, 0x61F9, 0x91D3, 0x61FA, 0x91D4, - 0x61FB, 0x91D5, 0x61FC, 0x91D6, 0x61FD, 0x91D7, 0x61FE, 0x91D8, 0x61FF, 0xDCB2, 0x6200, 0x91D9, 0x6201, 0x91DA, 0x6202, 0x91DB, - 0x6203, 0x91DC, 0x6204, 0x91DD, 0x6205, 0x91DE, 0x6206, 0xEDB0, 0x6207, 0x91DF, 0x6208, 0xB8EA, 0x6209, 0x91E0, 0x620A, 0xCEEC, - 0x620B, 0xEAA7, 0x620C, 0xD0E7, 0x620D, 0xCAF9, 0x620E, 0xC8D6, 0x620F, 0xCFB7, 0x6210, 0xB3C9, 0x6211, 0xCED2, 0x6212, 0xBDE4, - 0x6213, 0x91E1, 0x6214, 0x91E2, 0x6215, 0xE3DE, 0x6216, 0xBBF2, 0x6217, 0xEAA8, 0x6218, 0xD5BD, 0x6219, 0x91E3, 0x621A, 0xC6DD, - 0x621B, 0xEAA9, 0x621C, 0x91E4, 0x621D, 0x91E5, 0x621E, 0x91E6, 0x621F, 0xEAAA, 0x6220, 0x91E7, 0x6221, 0xEAAC, 0x6222, 0xEAAB, - 0x6223, 0x91E8, 0x6224, 0xEAAE, 0x6225, 0xEAAD, 0x6226, 0x91E9, 0x6227, 0x91EA, 0x6228, 0x91EB, 0x6229, 0x91EC, 0x622A, 0xBDD8, - 0x622B, 0x91ED, 0x622C, 0xEAAF, 0x622D, 0x91EE, 0x622E, 0xC2BE, 0x622F, 0x91EF, 0x6230, 0x91F0, 0x6231, 0x91F1, 0x6232, 0x91F2, - 0x6233, 0xB4C1, 0x6234, 0xB4F7, 0x6235, 0x91F3, 0x6236, 0x91F4, 0x6237, 0xBBA7, 0x6238, 0x91F5, 0x6239, 0x91F6, 0x623A, 0x91F7, - 0x623B, 0x91F8, 0x623C, 0x91F9, 0x623D, 0xECE6, 0x623E, 0xECE5, 0x623F, 0xB7BF, 0x6240, 0xCBF9, 0x6241, 0xB1E2, 0x6242, 0x91FA, - 0x6243, 0xECE7, 0x6244, 0x91FB, 0x6245, 0x91FC, 0x6246, 0x91FD, 0x6247, 0xC9C8, 0x6248, 0xECE8, 0x6249, 0xECE9, 0x624A, 0x91FE, - 0x624B, 0xCAD6, 0x624C, 0xDED0, 0x624D, 0xB2C5, 0x624E, 0xD4FA, 0x624F, 0x9240, 0x6250, 0x9241, 0x6251, 0xC6CB, 0x6252, 0xB0C7, - 0x6253, 0xB4F2, 0x6254, 0xC8D3, 0x6255, 0x9242, 0x6256, 0x9243, 0x6257, 0x9244, 0x6258, 0xCDD0, 0x6259, 0x9245, 0x625A, 0x9246, - 0x625B, 0xBFB8, 0x625C, 0x9247, 0x625D, 0x9248, 0x625E, 0x9249, 0x625F, 0x924A, 0x6260, 0x924B, 0x6261, 0x924C, 0x6262, 0x924D, - 0x6263, 0xBFDB, 0x6264, 0x924E, 0x6265, 0x924F, 0x6266, 0xC7A4, 0x6267, 0xD6B4, 0x6268, 0x9250, 0x6269, 0xC0A9, 0x626A, 0xDED1, - 0x626B, 0xC9A8, 0x626C, 0xD1EF, 0x626D, 0xC5A4, 0x626E, 0xB0E7, 0x626F, 0xB3B6, 0x6270, 0xC8C5, 0x6271, 0x9251, 0x6272, 0x9252, - 0x6273, 0xB0E2, 0x6274, 0x9253, 0x6275, 0x9254, 0x6276, 0xB7F6, 0x6277, 0x9255, 0x6278, 0x9256, 0x6279, 0xC5FA, 0x627A, 0x9257, - 0x627B, 0x9258, 0x627C, 0xB6F3, 0x627D, 0x9259, 0x627E, 0xD5D2, 0x627F, 0xB3D0, 0x6280, 0xBCBC, 0x6281, 0x925A, 0x6282, 0x925B, - 0x6283, 0x925C, 0x6284, 0xB3AD, 0x6285, 0x925D, 0x6286, 0x925E, 0x6287, 0x925F, 0x6288, 0x9260, 0x6289, 0xBEF1, 0x628A, 0xB0D1, - 0x628B, 0x9261, 0x628C, 0x9262, 0x628D, 0x9263, 0x628E, 0x9264, 0x628F, 0x9265, 0x6290, 0x9266, 0x6291, 0xD2D6, 0x6292, 0xCAE3, - 0x6293, 0xD7A5, 0x6294, 0x9267, 0x6295, 0xCDB6, 0x6296, 0xB6B6, 0x6297, 0xBFB9, 0x6298, 0xD5DB, 0x6299, 0x9268, 0x629A, 0xB8A7, - 0x629B, 0xC5D7, 0x629C, 0x9269, 0x629D, 0x926A, 0x629E, 0x926B, 0x629F, 0xDED2, 0x62A0, 0xBFD9, 0x62A1, 0xC2D5, 0x62A2, 0xC7C0, - 0x62A3, 0x926C, 0x62A4, 0xBBA4, 0x62A5, 0xB1A8, 0x62A6, 0x926D, 0x62A7, 0x926E, 0x62A8, 0xC5EA, 0x62A9, 0x926F, 0x62AA, 0x9270, - 0x62AB, 0xC5FB, 0x62AC, 0xCCA7, 0x62AD, 0x9271, 0x62AE, 0x9272, 0x62AF, 0x9273, 0x62B0, 0x9274, 0x62B1, 0xB1A7, 0x62B2, 0x9275, - 0x62B3, 0x9276, 0x62B4, 0x9277, 0x62B5, 0xB5D6, 0x62B6, 0x9278, 0x62B7, 0x9279, 0x62B8, 0x927A, 0x62B9, 0xC4A8, 0x62BA, 0x927B, - 0x62BB, 0xDED3, 0x62BC, 0xD1BA, 0x62BD, 0xB3E9, 0x62BE, 0x927C, 0x62BF, 0xC3F2, 0x62C0, 0x927D, 0x62C1, 0x927E, 0x62C2, 0xB7F7, - 0x62C3, 0x9280, 0x62C4, 0xD6F4, 0x62C5, 0xB5A3, 0x62C6, 0xB2F0, 0x62C7, 0xC4B4, 0x62C8, 0xC4E9, 0x62C9, 0xC0AD, 0x62CA, 0xDED4, - 0x62CB, 0x9281, 0x62CC, 0xB0E8, 0x62CD, 0xC5C4, 0x62CE, 0xC1E0, 0x62CF, 0x9282, 0x62D0, 0xB9D5, 0x62D1, 0x9283, 0x62D2, 0xBEDC, - 0x62D3, 0xCDD8, 0x62D4, 0xB0CE, 0x62D5, 0x9284, 0x62D6, 0xCDCF, 0x62D7, 0xDED6, 0x62D8, 0xBED0, 0x62D9, 0xD7BE, 0x62DA, 0xDED5, - 0x62DB, 0xD5D0, 0x62DC, 0xB0DD, 0x62DD, 0x9285, 0x62DE, 0x9286, 0x62DF, 0xC4E2, 0x62E0, 0x9287, 0x62E1, 0x9288, 0x62E2, 0xC2A3, - 0x62E3, 0xBCF0, 0x62E4, 0x9289, 0x62E5, 0xD3B5, 0x62E6, 0xC0B9, 0x62E7, 0xC5A1, 0x62E8, 0xB2A6, 0x62E9, 0xD4F1, 0x62EA, 0x928A, - 0x62EB, 0x928B, 0x62EC, 0xC0A8, 0x62ED, 0xCAC3, 0x62EE, 0xDED7, 0x62EF, 0xD5FC, 0x62F0, 0x928C, 0x62F1, 0xB9B0, 0x62F2, 0x928D, - 0x62F3, 0xC8AD, 0x62F4, 0xCBA9, 0x62F5, 0x928E, 0x62F6, 0xDED9, 0x62F7, 0xBFBD, 0x62F8, 0x928F, 0x62F9, 0x9290, 0x62FA, 0x9291, - 0x62FB, 0x9292, 0x62FC, 0xC6B4, 0x62FD, 0xD7A7, 0x62FE, 0xCAB0, 0x62FF, 0xC4C3, 0x6300, 0x9293, 0x6301, 0xB3D6, 0x6302, 0xB9D2, - 0x6303, 0x9294, 0x6304, 0x9295, 0x6305, 0x9296, 0x6306, 0x9297, 0x6307, 0xD6B8, 0x6308, 0xEAFC, 0x6309, 0xB0B4, 0x630A, 0x9298, - 0x630B, 0x9299, 0x630C, 0x929A, 0x630D, 0x929B, 0x630E, 0xBFE6, 0x630F, 0x929C, 0x6310, 0x929D, 0x6311, 0xCCF4, 0x6312, 0x929E, - 0x6313, 0x929F, 0x6314, 0x92A0, 0x6315, 0x92A1, 0x6316, 0xCDDA, 0x6317, 0x92A2, 0x6318, 0x92A3, 0x6319, 0x92A4, 0x631A, 0xD6BF, - 0x631B, 0xC2CE, 0x631C, 0x92A5, 0x631D, 0xCECE, 0x631E, 0xCCA2, 0x631F, 0xD0AE, 0x6320, 0xC4D3, 0x6321, 0xB5B2, 0x6322, 0xDED8, - 0x6323, 0xD5F5, 0x6324, 0xBCB7, 0x6325, 0xBBD3, 0x6326, 0x92A6, 0x6327, 0x92A7, 0x6328, 0xB0A4, 0x6329, 0x92A8, 0x632A, 0xC5B2, - 0x632B, 0xB4EC, 0x632C, 0x92A9, 0x632D, 0x92AA, 0x632E, 0x92AB, 0x632F, 0xD5F1, 0x6330, 0x92AC, 0x6331, 0x92AD, 0x6332, 0xEAFD, - 0x6333, 0x92AE, 0x6334, 0x92AF, 0x6335, 0x92B0, 0x6336, 0x92B1, 0x6337, 0x92B2, 0x6338, 0x92B3, 0x6339, 0xDEDA, 0x633A, 0xCDA6, - 0x633B, 0x92B4, 0x633C, 0x92B5, 0x633D, 0xCDEC, 0x633E, 0x92B6, 0x633F, 0x92B7, 0x6340, 0x92B8, 0x6341, 0x92B9, 0x6342, 0xCEE6, - 0x6343, 0xDEDC, 0x6344, 0x92BA, 0x6345, 0xCDB1, 0x6346, 0xC0A6, 0x6347, 0x92BB, 0x6348, 0x92BC, 0x6349, 0xD7BD, 0x634A, 0x92BD, - 0x634B, 0xDEDB, 0x634C, 0xB0C6, 0x634D, 0xBAB4, 0x634E, 0xC9D3, 0x634F, 0xC4F3, 0x6350, 0xBEE8, 0x6351, 0x92BE, 0x6352, 0x92BF, - 0x6353, 0x92C0, 0x6354, 0x92C1, 0x6355, 0xB2B6, 0x6356, 0x92C2, 0x6357, 0x92C3, 0x6358, 0x92C4, 0x6359, 0x92C5, 0x635A, 0x92C6, - 0x635B, 0x92C7, 0x635C, 0x92C8, 0x635D, 0x92C9, 0x635E, 0xC0CC, 0x635F, 0xCBF0, 0x6360, 0x92CA, 0x6361, 0xBCF1, 0x6362, 0xBBBB, - 0x6363, 0xB5B7, 0x6364, 0x92CB, 0x6365, 0x92CC, 0x6366, 0x92CD, 0x6367, 0xC5F5, 0x6368, 0x92CE, 0x6369, 0xDEE6, 0x636A, 0x92CF, - 0x636B, 0x92D0, 0x636C, 0x92D1, 0x636D, 0xDEE3, 0x636E, 0xBEDD, 0x636F, 0x92D2, 0x6370, 0x92D3, 0x6371, 0xDEDF, 0x6372, 0x92D4, - 0x6373, 0x92D5, 0x6374, 0x92D6, 0x6375, 0x92D7, 0x6376, 0xB4B7, 0x6377, 0xBDDD, 0x6378, 0x92D8, 0x6379, 0x92D9, 0x637A, 0xDEE0, - 0x637B, 0xC4ED, 0x637C, 0x92DA, 0x637D, 0x92DB, 0x637E, 0x92DC, 0x637F, 0x92DD, 0x6380, 0xCFC6, 0x6381, 0x92DE, 0x6382, 0xB5E0, - 0x6383, 0x92DF, 0x6384, 0x92E0, 0x6385, 0x92E1, 0x6386, 0x92E2, 0x6387, 0xB6DE, 0x6388, 0xCADA, 0x6389, 0xB5F4, 0x638A, 0xDEE5, - 0x638B, 0x92E3, 0x638C, 0xD5C6, 0x638D, 0x92E4, 0x638E, 0xDEE1, 0x638F, 0xCCCD, 0x6390, 0xC6FE, 0x6391, 0x92E5, 0x6392, 0xC5C5, - 0x6393, 0x92E6, 0x6394, 0x92E7, 0x6395, 0x92E8, 0x6396, 0xD2B4, 0x6397, 0x92E9, 0x6398, 0xBEF2, 0x6399, 0x92EA, 0x639A, 0x92EB, - 0x639B, 0x92EC, 0x639C, 0x92ED, 0x639D, 0x92EE, 0x639E, 0x92EF, 0x639F, 0x92F0, 0x63A0, 0xC2D3, 0x63A1, 0x92F1, 0x63A2, 0xCCBD, - 0x63A3, 0xB3B8, 0x63A4, 0x92F2, 0x63A5, 0xBDD3, 0x63A6, 0x92F3, 0x63A7, 0xBFD8, 0x63A8, 0xCDC6, 0x63A9, 0xD1DA, 0x63AA, 0xB4EB, - 0x63AB, 0x92F4, 0x63AC, 0xDEE4, 0x63AD, 0xDEDD, 0x63AE, 0xDEE7, 0x63AF, 0x92F5, 0x63B0, 0xEAFE, 0x63B1, 0x92F6, 0x63B2, 0x92F7, - 0x63B3, 0xC2B0, 0x63B4, 0xDEE2, 0x63B5, 0x92F8, 0x63B6, 0x92F9, 0x63B7, 0xD6C0, 0x63B8, 0xB5A7, 0x63B9, 0x92FA, 0x63BA, 0xB2F4, - 0x63BB, 0x92FB, 0x63BC, 0xDEE8, 0x63BD, 0x92FC, 0x63BE, 0xDEF2, 0x63BF, 0x92FD, 0x63C0, 0x92FE, 0x63C1, 0x9340, 0x63C2, 0x9341, - 0x63C3, 0x9342, 0x63C4, 0xDEED, 0x63C5, 0x9343, 0x63C6, 0xDEF1, 0x63C7, 0x9344, 0x63C8, 0x9345, 0x63C9, 0xC8E0, 0x63CA, 0x9346, - 0x63CB, 0x9347, 0x63CC, 0x9348, 0x63CD, 0xD7E1, 0x63CE, 0xDEEF, 0x63CF, 0xC3E8, 0x63D0, 0xCCE1, 0x63D1, 0x9349, 0x63D2, 0xB2E5, - 0x63D3, 0x934A, 0x63D4, 0x934B, 0x63D5, 0x934C, 0x63D6, 0xD2BE, 0x63D7, 0x934D, 0x63D8, 0x934E, 0x63D9, 0x934F, 0x63DA, 0x9350, - 0x63DB, 0x9351, 0x63DC, 0x9352, 0x63DD, 0x9353, 0x63DE, 0xDEEE, 0x63DF, 0x9354, 0x63E0, 0xDEEB, 0x63E1, 0xCED5, 0x63E2, 0x9355, - 0x63E3, 0xB4A7, 0x63E4, 0x9356, 0x63E5, 0x9357, 0x63E6, 0x9358, 0x63E7, 0x9359, 0x63E8, 0x935A, 0x63E9, 0xBFAB, 0x63EA, 0xBEBE, - 0x63EB, 0x935B, 0x63EC, 0x935C, 0x63ED, 0xBDD2, 0x63EE, 0x935D, 0x63EF, 0x935E, 0x63F0, 0x935F, 0x63F1, 0x9360, 0x63F2, 0xDEE9, - 0x63F3, 0x9361, 0x63F4, 0xD4AE, 0x63F5, 0x9362, 0x63F6, 0xDEDE, 0x63F7, 0x9363, 0x63F8, 0xDEEA, 0x63F9, 0x9364, 0x63FA, 0x9365, - 0x63FB, 0x9366, 0x63FC, 0x9367, 0x63FD, 0xC0BF, 0x63FE, 0x9368, 0x63FF, 0xDEEC, 0x6400, 0xB2F3, 0x6401, 0xB8E9, 0x6402, 0xC2A7, - 0x6403, 0x9369, 0x6404, 0x936A, 0x6405, 0xBDC1, 0x6406, 0x936B, 0x6407, 0x936C, 0x6408, 0x936D, 0x6409, 0x936E, 0x640A, 0x936F, - 0x640B, 0xDEF5, 0x640C, 0xDEF8, 0x640D, 0x9370, 0x640E, 0x9371, 0x640F, 0xB2AB, 0x6410, 0xB4A4, 0x6411, 0x9372, 0x6412, 0x9373, - 0x6413, 0xB4EA, 0x6414, 0xC9A6, 0x6415, 0x9374, 0x6416, 0x9375, 0x6417, 0x9376, 0x6418, 0x9377, 0x6419, 0x9378, 0x641A, 0x9379, - 0x641B, 0xDEF6, 0x641C, 0xCBD1, 0x641D, 0x937A, 0x641E, 0xB8E3, 0x641F, 0x937B, 0x6420, 0xDEF7, 0x6421, 0xDEFA, 0x6422, 0x937C, - 0x6423, 0x937D, 0x6424, 0x937E, 0x6425, 0x9380, 0x6426, 0xDEF9, 0x6427, 0x9381, 0x6428, 0x9382, 0x6429, 0x9383, 0x642A, 0xCCC2, - 0x642B, 0x9384, 0x642C, 0xB0E1, 0x642D, 0xB4EE, 0x642E, 0x9385, 0x642F, 0x9386, 0x6430, 0x9387, 0x6431, 0x9388, 0x6432, 0x9389, - 0x6433, 0x938A, 0x6434, 0xE5BA, 0x6435, 0x938B, 0x6436, 0x938C, 0x6437, 0x938D, 0x6438, 0x938E, 0x6439, 0x938F, 0x643A, 0xD0AF, - 0x643B, 0x9390, 0x643C, 0x9391, 0x643D, 0xB2EB, 0x643E, 0x9392, 0x643F, 0xEBA1, 0x6440, 0x9393, 0x6441, 0xDEF4, 0x6442, 0x9394, - 0x6443, 0x9395, 0x6444, 0xC9E3, 0x6445, 0xDEF3, 0x6446, 0xB0DA, 0x6447, 0xD2A1, 0x6448, 0xB1F7, 0x6449, 0x9396, 0x644A, 0xCCAF, - 0x644B, 0x9397, 0x644C, 0x9398, 0x644D, 0x9399, 0x644E, 0x939A, 0x644F, 0x939B, 0x6450, 0x939C, 0x6451, 0x939D, 0x6452, 0xDEF0, - 0x6453, 0x939E, 0x6454, 0xCBA4, 0x6455, 0x939F, 0x6456, 0x93A0, 0x6457, 0x93A1, 0x6458, 0xD5AA, 0x6459, 0x93A2, 0x645A, 0x93A3, - 0x645B, 0x93A4, 0x645C, 0x93A5, 0x645D, 0x93A6, 0x645E, 0xDEFB, 0x645F, 0x93A7, 0x6460, 0x93A8, 0x6461, 0x93A9, 0x6462, 0x93AA, - 0x6463, 0x93AB, 0x6464, 0x93AC, 0x6465, 0x93AD, 0x6466, 0x93AE, 0x6467, 0xB4DD, 0x6468, 0x93AF, 0x6469, 0xC4A6, 0x646A, 0x93B0, - 0x646B, 0x93B1, 0x646C, 0x93B2, 0x646D, 0xDEFD, 0x646E, 0x93B3, 0x646F, 0x93B4, 0x6470, 0x93B5, 0x6471, 0x93B6, 0x6472, 0x93B7, - 0x6473, 0x93B8, 0x6474, 0x93B9, 0x6475, 0x93BA, 0x6476, 0x93BB, 0x6477, 0x93BC, 0x6478, 0xC3FE, 0x6479, 0xC4A1, 0x647A, 0xDFA1, - 0x647B, 0x93BD, 0x647C, 0x93BE, 0x647D, 0x93BF, 0x647E, 0x93C0, 0x647F, 0x93C1, 0x6480, 0x93C2, 0x6481, 0x93C3, 0x6482, 0xC1CC, - 0x6483, 0x93C4, 0x6484, 0xDEFC, 0x6485, 0xBEEF, 0x6486, 0x93C5, 0x6487, 0xC6B2, 0x6488, 0x93C6, 0x6489, 0x93C7, 0x648A, 0x93C8, - 0x648B, 0x93C9, 0x648C, 0x93CA, 0x648D, 0x93CB, 0x648E, 0x93CC, 0x648F, 0x93CD, 0x6490, 0x93CE, 0x6491, 0xB3C5, 0x6492, 0xC8F6, - 0x6493, 0x93CF, 0x6494, 0x93D0, 0x6495, 0xCBBA, 0x6496, 0xDEFE, 0x6497, 0x93D1, 0x6498, 0x93D2, 0x6499, 0xDFA4, 0x649A, 0x93D3, - 0x649B, 0x93D4, 0x649C, 0x93D5, 0x649D, 0x93D6, 0x649E, 0xD7B2, 0x649F, 0x93D7, 0x64A0, 0x93D8, 0x64A1, 0x93D9, 0x64A2, 0x93DA, - 0x64A3, 0x93DB, 0x64A4, 0xB3B7, 0x64A5, 0x93DC, 0x64A6, 0x93DD, 0x64A7, 0x93DE, 0x64A8, 0x93DF, 0x64A9, 0xC1C3, 0x64AA, 0x93E0, - 0x64AB, 0x93E1, 0x64AC, 0xC7CB, 0x64AD, 0xB2A5, 0x64AE, 0xB4E9, 0x64AF, 0x93E2, 0x64B0, 0xD7AB, 0x64B1, 0x93E3, 0x64B2, 0x93E4, - 0x64B3, 0x93E5, 0x64B4, 0x93E6, 0x64B5, 0xC4EC, 0x64B6, 0x93E7, 0x64B7, 0xDFA2, 0x64B8, 0xDFA3, 0x64B9, 0x93E8, 0x64BA, 0xDFA5, - 0x64BB, 0x93E9, 0x64BC, 0xBAB3, 0x64BD, 0x93EA, 0x64BE, 0x93EB, 0x64BF, 0x93EC, 0x64C0, 0xDFA6, 0x64C1, 0x93ED, 0x64C2, 0xC0DE, - 0x64C3, 0x93EE, 0x64C4, 0x93EF, 0x64C5, 0xC9C3, 0x64C6, 0x93F0, 0x64C7, 0x93F1, 0x64C8, 0x93F2, 0x64C9, 0x93F3, 0x64CA, 0x93F4, - 0x64CB, 0x93F5, 0x64CC, 0x93F6, 0x64CD, 0xB2D9, 0x64CE, 0xC7E6, 0x64CF, 0x93F7, 0x64D0, 0xDFA7, 0x64D1, 0x93F8, 0x64D2, 0xC7DC, - 0x64D3, 0x93F9, 0x64D4, 0x93FA, 0x64D5, 0x93FB, 0x64D6, 0x93FC, 0x64D7, 0xDFA8, 0x64D8, 0xEBA2, 0x64D9, 0x93FD, 0x64DA, 0x93FE, - 0x64DB, 0x9440, 0x64DC, 0x9441, 0x64DD, 0x9442, 0x64DE, 0xCBD3, 0x64DF, 0x9443, 0x64E0, 0x9444, 0x64E1, 0x9445, 0x64E2, 0xDFAA, - 0x64E3, 0x9446, 0x64E4, 0xDFA9, 0x64E5, 0x9447, 0x64E6, 0xB2C1, 0x64E7, 0x9448, 0x64E8, 0x9449, 0x64E9, 0x944A, 0x64EA, 0x944B, - 0x64EB, 0x944C, 0x64EC, 0x944D, 0x64ED, 0x944E, 0x64EE, 0x944F, 0x64EF, 0x9450, 0x64F0, 0x9451, 0x64F1, 0x9452, 0x64F2, 0x9453, - 0x64F3, 0x9454, 0x64F4, 0x9455, 0x64F5, 0x9456, 0x64F6, 0x9457, 0x64F7, 0x9458, 0x64F8, 0x9459, 0x64F9, 0x945A, 0x64FA, 0x945B, - 0x64FB, 0x945C, 0x64FC, 0x945D, 0x64FD, 0x945E, 0x64FE, 0x945F, 0x64FF, 0x9460, 0x6500, 0xC5CA, 0x6501, 0x9461, 0x6502, 0x9462, - 0x6503, 0x9463, 0x6504, 0x9464, 0x6505, 0x9465, 0x6506, 0x9466, 0x6507, 0x9467, 0x6508, 0x9468, 0x6509, 0xDFAB, 0x650A, 0x9469, - 0x650B, 0x946A, 0x650C, 0x946B, 0x650D, 0x946C, 0x650E, 0x946D, 0x650F, 0x946E, 0x6510, 0x946F, 0x6511, 0x9470, 0x6512, 0xD4DC, - 0x6513, 0x9471, 0x6514, 0x9472, 0x6515, 0x9473, 0x6516, 0x9474, 0x6517, 0x9475, 0x6518, 0xC8C1, 0x6519, 0x9476, 0x651A, 0x9477, - 0x651B, 0x9478, 0x651C, 0x9479, 0x651D, 0x947A, 0x651E, 0x947B, 0x651F, 0x947C, 0x6520, 0x947D, 0x6521, 0x947E, 0x6522, 0x9480, - 0x6523, 0x9481, 0x6524, 0x9482, 0x6525, 0xDFAC, 0x6526, 0x9483, 0x6527, 0x9484, 0x6528, 0x9485, 0x6529, 0x9486, 0x652A, 0x9487, - 0x652B, 0xBEF0, 0x652C, 0x9488, 0x652D, 0x9489, 0x652E, 0xDFAD, 0x652F, 0xD6A7, 0x6530, 0x948A, 0x6531, 0x948B, 0x6532, 0x948C, - 0x6533, 0x948D, 0x6534, 0xEAB7, 0x6535, 0xEBB6, 0x6536, 0xCAD5, 0x6537, 0x948E, 0x6538, 0xD8FC, 0x6539, 0xB8C4, 0x653A, 0x948F, - 0x653B, 0xB9A5, 0x653C, 0x9490, 0x653D, 0x9491, 0x653E, 0xB7C5, 0x653F, 0xD5FE, 0x6540, 0x9492, 0x6541, 0x9493, 0x6542, 0x9494, - 0x6543, 0x9495, 0x6544, 0x9496, 0x6545, 0xB9CA, 0x6546, 0x9497, 0x6547, 0x9498, 0x6548, 0xD0A7, 0x6549, 0xF4CD, 0x654A, 0x9499, - 0x654B, 0x949A, 0x654C, 0xB5D0, 0x654D, 0x949B, 0x654E, 0x949C, 0x654F, 0xC3F4, 0x6550, 0x949D, 0x6551, 0xBEC8, 0x6552, 0x949E, - 0x6553, 0x949F, 0x6554, 0x94A0, 0x6555, 0xEBB7, 0x6556, 0xB0BD, 0x6557, 0x94A1, 0x6558, 0x94A2, 0x6559, 0xBDCC, 0x655A, 0x94A3, - 0x655B, 0xC1B2, 0x655C, 0x94A4, 0x655D, 0xB1D6, 0x655E, 0xB3A8, 0x655F, 0x94A5, 0x6560, 0x94A6, 0x6561, 0x94A7, 0x6562, 0xB8D2, - 0x6563, 0xC9A2, 0x6564, 0x94A8, 0x6565, 0x94A9, 0x6566, 0xB6D8, 0x6567, 0x94AA, 0x6568, 0x94AB, 0x6569, 0x94AC, 0x656A, 0x94AD, - 0x656B, 0xEBB8, 0x656C, 0xBEB4, 0x656D, 0x94AE, 0x656E, 0x94AF, 0x656F, 0x94B0, 0x6570, 0xCAFD, 0x6571, 0x94B1, 0x6572, 0xC7C3, - 0x6573, 0x94B2, 0x6574, 0xD5FB, 0x6575, 0x94B3, 0x6576, 0x94B4, 0x6577, 0xB7F3, 0x6578, 0x94B5, 0x6579, 0x94B6, 0x657A, 0x94B7, - 0x657B, 0x94B8, 0x657C, 0x94B9, 0x657D, 0x94BA, 0x657E, 0x94BB, 0x657F, 0x94BC, 0x6580, 0x94BD, 0x6581, 0x94BE, 0x6582, 0x94BF, - 0x6583, 0x94C0, 0x6584, 0x94C1, 0x6585, 0x94C2, 0x6586, 0x94C3, 0x6587, 0xCEC4, 0x6588, 0x94C4, 0x6589, 0x94C5, 0x658A, 0x94C6, - 0x658B, 0xD5AB, 0x658C, 0xB1F3, 0x658D, 0x94C7, 0x658E, 0x94C8, 0x658F, 0x94C9, 0x6590, 0xECB3, 0x6591, 0xB0DF, 0x6592, 0x94CA, - 0x6593, 0xECB5, 0x6594, 0x94CB, 0x6595, 0x94CC, 0x6596, 0x94CD, 0x6597, 0xB6B7, 0x6598, 0x94CE, 0x6599, 0xC1CF, 0x659A, 0x94CF, - 0x659B, 0xF5FA, 0x659C, 0xD0B1, 0x659D, 0x94D0, 0x659E, 0x94D1, 0x659F, 0xD5E5, 0x65A0, 0x94D2, 0x65A1, 0xCED3, 0x65A2, 0x94D3, - 0x65A3, 0x94D4, 0x65A4, 0xBDEF, 0x65A5, 0xB3E2, 0x65A6, 0x94D5, 0x65A7, 0xB8AB, 0x65A8, 0x94D6, 0x65A9, 0xD5B6, 0x65AA, 0x94D7, - 0x65AB, 0xEDBD, 0x65AC, 0x94D8, 0x65AD, 0xB6CF, 0x65AE, 0x94D9, 0x65AF, 0xCBB9, 0x65B0, 0xD0C2, 0x65B1, 0x94DA, 0x65B2, 0x94DB, - 0x65B3, 0x94DC, 0x65B4, 0x94DD, 0x65B5, 0x94DE, 0x65B6, 0x94DF, 0x65B7, 0x94E0, 0x65B8, 0x94E1, 0x65B9, 0xB7BD, 0x65BA, 0x94E2, - 0x65BB, 0x94E3, 0x65BC, 0xECB6, 0x65BD, 0xCAA9, 0x65BE, 0x94E4, 0x65BF, 0x94E5, 0x65C0, 0x94E6, 0x65C1, 0xC5D4, 0x65C2, 0x94E7, - 0x65C3, 0xECB9, 0x65C4, 0xECB8, 0x65C5, 0xC2C3, 0x65C6, 0xECB7, 0x65C7, 0x94E8, 0x65C8, 0x94E9, 0x65C9, 0x94EA, 0x65CA, 0x94EB, - 0x65CB, 0xD0FD, 0x65CC, 0xECBA, 0x65CD, 0x94EC, 0x65CE, 0xECBB, 0x65CF, 0xD7E5, 0x65D0, 0x94ED, 0x65D1, 0x94EE, 0x65D2, 0xECBC, - 0x65D3, 0x94EF, 0x65D4, 0x94F0, 0x65D5, 0x94F1, 0x65D6, 0xECBD, 0x65D7, 0xC6EC, 0x65D8, 0x94F2, 0x65D9, 0x94F3, 0x65DA, 0x94F4, - 0x65DB, 0x94F5, 0x65DC, 0x94F6, 0x65DD, 0x94F7, 0x65DE, 0x94F8, 0x65DF, 0x94F9, 0x65E0, 0xCEDE, 0x65E1, 0x94FA, 0x65E2, 0xBCC8, - 0x65E3, 0x94FB, 0x65E4, 0x94FC, 0x65E5, 0xC8D5, 0x65E6, 0xB5A9, 0x65E7, 0xBEC9, 0x65E8, 0xD6BC, 0x65E9, 0xD4E7, 0x65EA, 0x94FD, - 0x65EB, 0x94FE, 0x65EC, 0xD1AE, 0x65ED, 0xD0F1, 0x65EE, 0xEAB8, 0x65EF, 0xEAB9, 0x65F0, 0xEABA, 0x65F1, 0xBAB5, 0x65F2, 0x9540, - 0x65F3, 0x9541, 0x65F4, 0x9542, 0x65F5, 0x9543, 0x65F6, 0xCAB1, 0x65F7, 0xBFF5, 0x65F8, 0x9544, 0x65F9, 0x9545, 0x65FA, 0xCDFA, - 0x65FB, 0x9546, 0x65FC, 0x9547, 0x65FD, 0x9548, 0x65FE, 0x9549, 0x65FF, 0x954A, 0x6600, 0xEAC0, 0x6601, 0x954B, 0x6602, 0xB0BA, - 0x6603, 0xEABE, 0x6604, 0x954C, 0x6605, 0x954D, 0x6606, 0xC0A5, 0x6607, 0x954E, 0x6608, 0x954F, 0x6609, 0x9550, 0x660A, 0xEABB, - 0x660B, 0x9551, 0x660C, 0xB2FD, 0x660D, 0x9552, 0x660E, 0xC3F7, 0x660F, 0xBBE8, 0x6610, 0x9553, 0x6611, 0x9554, 0x6612, 0x9555, - 0x6613, 0xD2D7, 0x6614, 0xCEF4, 0x6615, 0xEABF, 0x6616, 0x9556, 0x6617, 0x9557, 0x6618, 0x9558, 0x6619, 0xEABC, 0x661A, 0x9559, - 0x661B, 0x955A, 0x661C, 0x955B, 0x661D, 0xEAC3, 0x661E, 0x955C, 0x661F, 0xD0C7, 0x6620, 0xD3B3, 0x6621, 0x955D, 0x6622, 0x955E, - 0x6623, 0x955F, 0x6624, 0x9560, 0x6625, 0xB4BA, 0x6626, 0x9561, 0x6627, 0xC3C1, 0x6628, 0xD7F2, 0x6629, 0x9562, 0x662A, 0x9563, - 0x662B, 0x9564, 0x662C, 0x9565, 0x662D, 0xD5D1, 0x662E, 0x9566, 0x662F, 0xCAC7, 0x6630, 0x9567, 0x6631, 0xEAC5, 0x6632, 0x9568, - 0x6633, 0x9569, 0x6634, 0xEAC4, 0x6635, 0xEAC7, 0x6636, 0xEAC6, 0x6637, 0x956A, 0x6638, 0x956B, 0x6639, 0x956C, 0x663A, 0x956D, - 0x663B, 0x956E, 0x663C, 0xD6E7, 0x663D, 0x956F, 0x663E, 0xCFD4, 0x663F, 0x9570, 0x6640, 0x9571, 0x6641, 0xEACB, 0x6642, 0x9572, - 0x6643, 0xBBCE, 0x6644, 0x9573, 0x6645, 0x9574, 0x6646, 0x9575, 0x6647, 0x9576, 0x6648, 0x9577, 0x6649, 0x9578, 0x664A, 0x9579, - 0x664B, 0xBDFA, 0x664C, 0xC9CE, 0x664D, 0x957A, 0x664E, 0x957B, 0x664F, 0xEACC, 0x6650, 0x957C, 0x6651, 0x957D, 0x6652, 0xC9B9, - 0x6653, 0xCFFE, 0x6654, 0xEACA, 0x6655, 0xD4CE, 0x6656, 0xEACD, 0x6657, 0xEACF, 0x6658, 0x957E, 0x6659, 0x9580, 0x665A, 0xCDED, - 0x665B, 0x9581, 0x665C, 0x9582, 0x665D, 0x9583, 0x665E, 0x9584, 0x665F, 0xEAC9, 0x6660, 0x9585, 0x6661, 0xEACE, 0x6662, 0x9586, - 0x6663, 0x9587, 0x6664, 0xCEEE, 0x6665, 0x9588, 0x6666, 0xBBDE, 0x6667, 0x9589, 0x6668, 0xB3BF, 0x6669, 0x958A, 0x666A, 0x958B, - 0x666B, 0x958C, 0x666C, 0x958D, 0x666D, 0x958E, 0x666E, 0xC6D5, 0x666F, 0xBEB0, 0x6670, 0xCEFA, 0x6671, 0x958F, 0x6672, 0x9590, - 0x6673, 0x9591, 0x6674, 0xC7E7, 0x6675, 0x9592, 0x6676, 0xBEA7, 0x6677, 0xEAD0, 0x6678, 0x9593, 0x6679, 0x9594, 0x667A, 0xD6C7, - 0x667B, 0x9595, 0x667C, 0x9596, 0x667D, 0x9597, 0x667E, 0xC1C0, 0x667F, 0x9598, 0x6680, 0x9599, 0x6681, 0x959A, 0x6682, 0xD4DD, - 0x6683, 0x959B, 0x6684, 0xEAD1, 0x6685, 0x959C, 0x6686, 0x959D, 0x6687, 0xCFBE, 0x6688, 0x959E, 0x6689, 0x959F, 0x668A, 0x95A0, - 0x668B, 0x95A1, 0x668C, 0xEAD2, 0x668D, 0x95A2, 0x668E, 0x95A3, 0x668F, 0x95A4, 0x6690, 0x95A5, 0x6691, 0xCAEE, 0x6692, 0x95A6, - 0x6693, 0x95A7, 0x6694, 0x95A8, 0x6695, 0x95A9, 0x6696, 0xC5AF, 0x6697, 0xB0B5, 0x6698, 0x95AA, 0x6699, 0x95AB, 0x669A, 0x95AC, - 0x669B, 0x95AD, 0x669C, 0x95AE, 0x669D, 0xEAD4, 0x669E, 0x95AF, 0x669F, 0x95B0, 0x66A0, 0x95B1, 0x66A1, 0x95B2, 0x66A2, 0x95B3, - 0x66A3, 0x95B4, 0x66A4, 0x95B5, 0x66A5, 0x95B6, 0x66A6, 0x95B7, 0x66A7, 0xEAD3, 0x66A8, 0xF4DF, 0x66A9, 0x95B8, 0x66AA, 0x95B9, - 0x66AB, 0x95BA, 0x66AC, 0x95BB, 0x66AD, 0x95BC, 0x66AE, 0xC4BA, 0x66AF, 0x95BD, 0x66B0, 0x95BE, 0x66B1, 0x95BF, 0x66B2, 0x95C0, - 0x66B3, 0x95C1, 0x66B4, 0xB1A9, 0x66B5, 0x95C2, 0x66B6, 0x95C3, 0x66B7, 0x95C4, 0x66B8, 0x95C5, 0x66B9, 0xE5DF, 0x66BA, 0x95C6, - 0x66BB, 0x95C7, 0x66BC, 0x95C8, 0x66BD, 0x95C9, 0x66BE, 0xEAD5, 0x66BF, 0x95CA, 0x66C0, 0x95CB, 0x66C1, 0x95CC, 0x66C2, 0x95CD, - 0x66C3, 0x95CE, 0x66C4, 0x95CF, 0x66C5, 0x95D0, 0x66C6, 0x95D1, 0x66C7, 0x95D2, 0x66C8, 0x95D3, 0x66C9, 0x95D4, 0x66CA, 0x95D5, - 0x66CB, 0x95D6, 0x66CC, 0x95D7, 0x66CD, 0x95D8, 0x66CE, 0x95D9, 0x66CF, 0x95DA, 0x66D0, 0x95DB, 0x66D1, 0x95DC, 0x66D2, 0x95DD, - 0x66D3, 0x95DE, 0x66D4, 0x95DF, 0x66D5, 0x95E0, 0x66D6, 0x95E1, 0x66D7, 0x95E2, 0x66D8, 0x95E3, 0x66D9, 0xCAEF, 0x66DA, 0x95E4, - 0x66DB, 0xEAD6, 0x66DC, 0xEAD7, 0x66DD, 0xC6D8, 0x66DE, 0x95E5, 0x66DF, 0x95E6, 0x66E0, 0x95E7, 0x66E1, 0x95E8, 0x66E2, 0x95E9, - 0x66E3, 0x95EA, 0x66E4, 0x95EB, 0x66E5, 0x95EC, 0x66E6, 0xEAD8, 0x66E7, 0x95ED, 0x66E8, 0x95EE, 0x66E9, 0xEAD9, 0x66EA, 0x95EF, - 0x66EB, 0x95F0, 0x66EC, 0x95F1, 0x66ED, 0x95F2, 0x66EE, 0x95F3, 0x66EF, 0x95F4, 0x66F0, 0xD4BB, 0x66F1, 0x95F5, 0x66F2, 0xC7FA, - 0x66F3, 0xD2B7, 0x66F4, 0xB8FC, 0x66F5, 0x95F6, 0x66F6, 0x95F7, 0x66F7, 0xEAC2, 0x66F8, 0x95F8, 0x66F9, 0xB2DC, 0x66FA, 0x95F9, - 0x66FB, 0x95FA, 0x66FC, 0xC2FC, 0x66FD, 0x95FB, 0x66FE, 0xD4F8, 0x66FF, 0xCCE6, 0x6700, 0xD7EE, 0x6701, 0x95FC, 0x6702, 0x95FD, - 0x6703, 0x95FE, 0x6704, 0x9640, 0x6705, 0x9641, 0x6706, 0x9642, 0x6707, 0x9643, 0x6708, 0xD4C2, 0x6709, 0xD3D0, 0x670A, 0xEBC3, - 0x670B, 0xC5F3, 0x670C, 0x9644, 0x670D, 0xB7FE, 0x670E, 0x9645, 0x670F, 0x9646, 0x6710, 0xEBD4, 0x6711, 0x9647, 0x6712, 0x9648, - 0x6713, 0x9649, 0x6714, 0xCBB7, 0x6715, 0xEBDE, 0x6716, 0x964A, 0x6717, 0xC0CA, 0x6718, 0x964B, 0x6719, 0x964C, 0x671A, 0x964D, - 0x671B, 0xCDFB, 0x671C, 0x964E, 0x671D, 0xB3AF, 0x671E, 0x964F, 0x671F, 0xC6DA, 0x6720, 0x9650, 0x6721, 0x9651, 0x6722, 0x9652, - 0x6723, 0x9653, 0x6724, 0x9654, 0x6725, 0x9655, 0x6726, 0xEBFC, 0x6727, 0x9656, 0x6728, 0xC4BE, 0x6729, 0x9657, 0x672A, 0xCEB4, - 0x672B, 0xC4A9, 0x672C, 0xB1BE, 0x672D, 0xD4FD, 0x672E, 0x9658, 0x672F, 0xCAF5, 0x6730, 0x9659, 0x6731, 0xD6EC, 0x6732, 0x965A, - 0x6733, 0x965B, 0x6734, 0xC6D3, 0x6735, 0xB6E4, 0x6736, 0x965C, 0x6737, 0x965D, 0x6738, 0x965E, 0x6739, 0x965F, 0x673A, 0xBBFA, - 0x673B, 0x9660, 0x673C, 0x9661, 0x673D, 0xD0E0, 0x673E, 0x9662, 0x673F, 0x9663, 0x6740, 0xC9B1, 0x6741, 0x9664, 0x6742, 0xD4D3, - 0x6743, 0xC8A8, 0x6744, 0x9665, 0x6745, 0x9666, 0x6746, 0xB8CB, 0x6747, 0x9667, 0x6748, 0xE8BE, 0x6749, 0xC9BC, 0x674A, 0x9668, - 0x674B, 0x9669, 0x674C, 0xE8BB, 0x674D, 0x966A, 0x674E, 0xC0EE, 0x674F, 0xD0D3, 0x6750, 0xB2C4, 0x6751, 0xB4E5, 0x6752, 0x966B, - 0x6753, 0xE8BC, 0x6754, 0x966C, 0x6755, 0x966D, 0x6756, 0xD5C8, 0x6757, 0x966E, 0x6758, 0x966F, 0x6759, 0x9670, 0x675A, 0x9671, - 0x675B, 0x9672, 0x675C, 0xB6C5, 0x675D, 0x9673, 0x675E, 0xE8BD, 0x675F, 0xCAF8, 0x6760, 0xB8DC, 0x6761, 0xCCF5, 0x6762, 0x9674, - 0x6763, 0x9675, 0x6764, 0x9676, 0x6765, 0xC0B4, 0x6766, 0x9677, 0x6767, 0x9678, 0x6768, 0xD1EE, 0x6769, 0xE8BF, 0x676A, 0xE8C2, - 0x676B, 0x9679, 0x676C, 0x967A, 0x676D, 0xBABC, 0x676E, 0x967B, 0x676F, 0xB1AD, 0x6770, 0xBDDC, 0x6771, 0x967C, 0x6772, 0xEABD, - 0x6773, 0xE8C3, 0x6774, 0x967D, 0x6775, 0xE8C6, 0x6776, 0x967E, 0x6777, 0xE8CB, 0x6778, 0x9680, 0x6779, 0x9681, 0x677A, 0x9682, - 0x677B, 0x9683, 0x677C, 0xE8CC, 0x677D, 0x9684, 0x677E, 0xCBC9, 0x677F, 0xB0E5, 0x6780, 0x9685, 0x6781, 0xBCAB, 0x6782, 0x9686, - 0x6783, 0x9687, 0x6784, 0xB9B9, 0x6785, 0x9688, 0x6786, 0x9689, 0x6787, 0xE8C1, 0x6788, 0x968A, 0x6789, 0xCDF7, 0x678A, 0x968B, - 0x678B, 0xE8CA, 0x678C, 0x968C, 0x678D, 0x968D, 0x678E, 0x968E, 0x678F, 0x968F, 0x6790, 0xCEF6, 0x6791, 0x9690, 0x6792, 0x9691, - 0x6793, 0x9692, 0x6794, 0x9693, 0x6795, 0xD5ED, 0x6796, 0x9694, 0x6797, 0xC1D6, 0x6798, 0xE8C4, 0x6799, 0x9695, 0x679A, 0xC3B6, - 0x679B, 0x9696, 0x679C, 0xB9FB, 0x679D, 0xD6A6, 0x679E, 0xE8C8, 0x679F, 0x9697, 0x67A0, 0x9698, 0x67A1, 0x9699, 0x67A2, 0xCAE0, - 0x67A3, 0xD4E6, 0x67A4, 0x969A, 0x67A5, 0xE8C0, 0x67A6, 0x969B, 0x67A7, 0xE8C5, 0x67A8, 0xE8C7, 0x67A9, 0x969C, 0x67AA, 0xC7B9, - 0x67AB, 0xB7E3, 0x67AC, 0x969D, 0x67AD, 0xE8C9, 0x67AE, 0x969E, 0x67AF, 0xBFDD, 0x67B0, 0xE8D2, 0x67B1, 0x969F, 0x67B2, 0x96A0, - 0x67B3, 0xE8D7, 0x67B4, 0x96A1, 0x67B5, 0xE8D5, 0x67B6, 0xBCDC, 0x67B7, 0xBCCF, 0x67B8, 0xE8DB, 0x67B9, 0x96A2, 0x67BA, 0x96A3, - 0x67BB, 0x96A4, 0x67BC, 0x96A5, 0x67BD, 0x96A6, 0x67BE, 0x96A7, 0x67BF, 0x96A8, 0x67C0, 0x96A9, 0x67C1, 0xE8DE, 0x67C2, 0x96AA, - 0x67C3, 0xE8DA, 0x67C4, 0xB1FA, 0x67C5, 0x96AB, 0x67C6, 0x96AC, 0x67C7, 0x96AD, 0x67C8, 0x96AE, 0x67C9, 0x96AF, 0x67CA, 0x96B0, - 0x67CB, 0x96B1, 0x67CC, 0x96B2, 0x67CD, 0x96B3, 0x67CE, 0x96B4, 0x67CF, 0xB0D8, 0x67D0, 0xC4B3, 0x67D1, 0xB8CC, 0x67D2, 0xC6E2, - 0x67D3, 0xC8BE, 0x67D4, 0xC8E1, 0x67D5, 0x96B5, 0x67D6, 0x96B6, 0x67D7, 0x96B7, 0x67D8, 0xE8CF, 0x67D9, 0xE8D4, 0x67DA, 0xE8D6, - 0x67DB, 0x96B8, 0x67DC, 0xB9F1, 0x67DD, 0xE8D8, 0x67DE, 0xD7F5, 0x67DF, 0x96B9, 0x67E0, 0xC4FB, 0x67E1, 0x96BA, 0x67E2, 0xE8DC, - 0x67E3, 0x96BB, 0x67E4, 0x96BC, 0x67E5, 0xB2E9, 0x67E6, 0x96BD, 0x67E7, 0x96BE, 0x67E8, 0x96BF, 0x67E9, 0xE8D1, 0x67EA, 0x96C0, - 0x67EB, 0x96C1, 0x67EC, 0xBCED, 0x67ED, 0x96C2, 0x67EE, 0x96C3, 0x67EF, 0xBFC2, 0x67F0, 0xE8CD, 0x67F1, 0xD6F9, 0x67F2, 0x96C4, - 0x67F3, 0xC1F8, 0x67F4, 0xB2F1, 0x67F5, 0x96C5, 0x67F6, 0x96C6, 0x67F7, 0x96C7, 0x67F8, 0x96C8, 0x67F9, 0x96C9, 0x67FA, 0x96CA, - 0x67FB, 0x96CB, 0x67FC, 0x96CC, 0x67FD, 0xE8DF, 0x67FE, 0x96CD, 0x67FF, 0xCAC1, 0x6800, 0xE8D9, 0x6801, 0x96CE, 0x6802, 0x96CF, - 0x6803, 0x96D0, 0x6804, 0x96D1, 0x6805, 0xD5A4, 0x6806, 0x96D2, 0x6807, 0xB1EA, 0x6808, 0xD5BB, 0x6809, 0xE8CE, 0x680A, 0xE8D0, - 0x680B, 0xB6B0, 0x680C, 0xE8D3, 0x680D, 0x96D3, 0x680E, 0xE8DD, 0x680F, 0xC0B8, 0x6810, 0x96D4, 0x6811, 0xCAF7, 0x6812, 0x96D5, - 0x6813, 0xCBA8, 0x6814, 0x96D6, 0x6815, 0x96D7, 0x6816, 0xC6DC, 0x6817, 0xC0F5, 0x6818, 0x96D8, 0x6819, 0x96D9, 0x681A, 0x96DA, - 0x681B, 0x96DB, 0x681C, 0x96DC, 0x681D, 0xE8E9, 0x681E, 0x96DD, 0x681F, 0x96DE, 0x6820, 0x96DF, 0x6821, 0xD0A3, 0x6822, 0x96E0, - 0x6823, 0x96E1, 0x6824, 0x96E2, 0x6825, 0x96E3, 0x6826, 0x96E4, 0x6827, 0x96E5, 0x6828, 0x96E6, 0x6829, 0xE8F2, 0x682A, 0xD6EA, - 0x682B, 0x96E7, 0x682C, 0x96E8, 0x682D, 0x96E9, 0x682E, 0x96EA, 0x682F, 0x96EB, 0x6830, 0x96EC, 0x6831, 0x96ED, 0x6832, 0xE8E0, - 0x6833, 0xE8E1, 0x6834, 0x96EE, 0x6835, 0x96EF, 0x6836, 0x96F0, 0x6837, 0xD1F9, 0x6838, 0xBACB, 0x6839, 0xB8F9, 0x683A, 0x96F1, - 0x683B, 0x96F2, 0x683C, 0xB8F1, 0x683D, 0xD4D4, 0x683E, 0xE8EF, 0x683F, 0x96F3, 0x6840, 0xE8EE, 0x6841, 0xE8EC, 0x6842, 0xB9F0, - 0x6843, 0xCCD2, 0x6844, 0xE8E6, 0x6845, 0xCEA6, 0x6846, 0xBFF2, 0x6847, 0x96F4, 0x6848, 0xB0B8, 0x6849, 0xE8F1, 0x684A, 0xE8F0, - 0x684B, 0x96F5, 0x684C, 0xD7C0, 0x684D, 0x96F6, 0x684E, 0xE8E4, 0x684F, 0x96F7, 0x6850, 0xCDA9, 0x6851, 0xC9A3, 0x6852, 0x96F8, - 0x6853, 0xBBB8, 0x6854, 0xBDDB, 0x6855, 0xE8EA, 0x6856, 0x96F9, 0x6857, 0x96FA, 0x6858, 0x96FB, 0x6859, 0x96FC, 0x685A, 0x96FD, - 0x685B, 0x96FE, 0x685C, 0x9740, 0x685D, 0x9741, 0x685E, 0x9742, 0x685F, 0x9743, 0x6860, 0xE8E2, 0x6861, 0xE8E3, 0x6862, 0xE8E5, - 0x6863, 0xB5B5, 0x6864, 0xE8E7, 0x6865, 0xC7C5, 0x6866, 0xE8EB, 0x6867, 0xE8ED, 0x6868, 0xBDB0, 0x6869, 0xD7AE, 0x686A, 0x9744, - 0x686B, 0xE8F8, 0x686C, 0x9745, 0x686D, 0x9746, 0x686E, 0x9747, 0x686F, 0x9748, 0x6870, 0x9749, 0x6871, 0x974A, 0x6872, 0x974B, - 0x6873, 0x974C, 0x6874, 0xE8F5, 0x6875, 0x974D, 0x6876, 0xCDB0, 0x6877, 0xE8F6, 0x6878, 0x974E, 0x6879, 0x974F, 0x687A, 0x9750, - 0x687B, 0x9751, 0x687C, 0x9752, 0x687D, 0x9753, 0x687E, 0x9754, 0x687F, 0x9755, 0x6880, 0x9756, 0x6881, 0xC1BA, 0x6882, 0x9757, - 0x6883, 0xE8E8, 0x6884, 0x9758, 0x6885, 0xC3B7, 0x6886, 0xB0F0, 0x6887, 0x9759, 0x6888, 0x975A, 0x6889, 0x975B, 0x688A, 0x975C, - 0x688B, 0x975D, 0x688C, 0x975E, 0x688D, 0x975F, 0x688E, 0x9760, 0x688F, 0xE8F4, 0x6890, 0x9761, 0x6891, 0x9762, 0x6892, 0x9763, - 0x6893, 0xE8F7, 0x6894, 0x9764, 0x6895, 0x9765, 0x6896, 0x9766, 0x6897, 0xB9A3, 0x6898, 0x9767, 0x6899, 0x9768, 0x689A, 0x9769, - 0x689B, 0x976A, 0x689C, 0x976B, 0x689D, 0x976C, 0x689E, 0x976D, 0x689F, 0x976E, 0x68A0, 0x976F, 0x68A1, 0x9770, 0x68A2, 0xC9D2, - 0x68A3, 0x9771, 0x68A4, 0x9772, 0x68A5, 0x9773, 0x68A6, 0xC3CE, 0x68A7, 0xCEE0, 0x68A8, 0xC0E6, 0x68A9, 0x9774, 0x68AA, 0x9775, - 0x68AB, 0x9776, 0x68AC, 0x9777, 0x68AD, 0xCBF3, 0x68AE, 0x9778, 0x68AF, 0xCCDD, 0x68B0, 0xD0B5, 0x68B1, 0x9779, 0x68B2, 0x977A, - 0x68B3, 0xCAE1, 0x68B4, 0x977B, 0x68B5, 0xE8F3, 0x68B6, 0x977C, 0x68B7, 0x977D, 0x68B8, 0x977E, 0x68B9, 0x9780, 0x68BA, 0x9781, - 0x68BB, 0x9782, 0x68BC, 0x9783, 0x68BD, 0x9784, 0x68BE, 0x9785, 0x68BF, 0x9786, 0x68C0, 0xBCEC, 0x68C1, 0x9787, 0x68C2, 0xE8F9, - 0x68C3, 0x9788, 0x68C4, 0x9789, 0x68C5, 0x978A, 0x68C6, 0x978B, 0x68C7, 0x978C, 0x68C8, 0x978D, 0x68C9, 0xC3DE, 0x68CA, 0x978E, - 0x68CB, 0xC6E5, 0x68CC, 0x978F, 0x68CD, 0xB9F7, 0x68CE, 0x9790, 0x68CF, 0x9791, 0x68D0, 0x9792, 0x68D1, 0x9793, 0x68D2, 0xB0F4, - 0x68D3, 0x9794, 0x68D4, 0x9795, 0x68D5, 0xD7D8, 0x68D6, 0x9796, 0x68D7, 0x9797, 0x68D8, 0xBCAC, 0x68D9, 0x9798, 0x68DA, 0xC5EF, - 0x68DB, 0x9799, 0x68DC, 0x979A, 0x68DD, 0x979B, 0x68DE, 0x979C, 0x68DF, 0x979D, 0x68E0, 0xCCC4, 0x68E1, 0x979E, 0x68E2, 0x979F, - 0x68E3, 0xE9A6, 0x68E4, 0x97A0, 0x68E5, 0x97A1, 0x68E6, 0x97A2, 0x68E7, 0x97A3, 0x68E8, 0x97A4, 0x68E9, 0x97A5, 0x68EA, 0x97A6, - 0x68EB, 0x97A7, 0x68EC, 0x97A8, 0x68ED, 0x97A9, 0x68EE, 0xC9AD, 0x68EF, 0x97AA, 0x68F0, 0xE9A2, 0x68F1, 0xC0E2, 0x68F2, 0x97AB, - 0x68F3, 0x97AC, 0x68F4, 0x97AD, 0x68F5, 0xBFC3, 0x68F6, 0x97AE, 0x68F7, 0x97AF, 0x68F8, 0x97B0, 0x68F9, 0xE8FE, 0x68FA, 0xB9D7, - 0x68FB, 0x97B1, 0x68FC, 0xE8FB, 0x68FD, 0x97B2, 0x68FE, 0x97B3, 0x68FF, 0x97B4, 0x6900, 0x97B5, 0x6901, 0xE9A4, 0x6902, 0x97B6, - 0x6903, 0x97B7, 0x6904, 0x97B8, 0x6905, 0xD2CE, 0x6906, 0x97B9, 0x6907, 0x97BA, 0x6908, 0x97BB, 0x6909, 0x97BC, 0x690A, 0x97BD, - 0x690B, 0xE9A3, 0x690C, 0x97BE, 0x690D, 0xD6B2, 0x690E, 0xD7B5, 0x690F, 0x97BF, 0x6910, 0xE9A7, 0x6911, 0x97C0, 0x6912, 0xBDB7, - 0x6913, 0x97C1, 0x6914, 0x97C2, 0x6915, 0x97C3, 0x6916, 0x97C4, 0x6917, 0x97C5, 0x6918, 0x97C6, 0x6919, 0x97C7, 0x691A, 0x97C8, - 0x691B, 0x97C9, 0x691C, 0x97CA, 0x691D, 0x97CB, 0x691E, 0x97CC, 0x691F, 0xE8FC, 0x6920, 0xE8FD, 0x6921, 0x97CD, 0x6922, 0x97CE, - 0x6923, 0x97CF, 0x6924, 0xE9A1, 0x6925, 0x97D0, 0x6926, 0x97D1, 0x6927, 0x97D2, 0x6928, 0x97D3, 0x6929, 0x97D4, 0x692A, 0x97D5, - 0x692B, 0x97D6, 0x692C, 0x97D7, 0x692D, 0xCDD6, 0x692E, 0x97D8, 0x692F, 0x97D9, 0x6930, 0xD2AC, 0x6931, 0x97DA, 0x6932, 0x97DB, - 0x6933, 0x97DC, 0x6934, 0xE9B2, 0x6935, 0x97DD, 0x6936, 0x97DE, 0x6937, 0x97DF, 0x6938, 0x97E0, 0x6939, 0xE9A9, 0x693A, 0x97E1, - 0x693B, 0x97E2, 0x693C, 0x97E3, 0x693D, 0xB4AA, 0x693E, 0x97E4, 0x693F, 0xB4BB, 0x6940, 0x97E5, 0x6941, 0x97E6, 0x6942, 0xE9AB, - 0x6943, 0x97E7, 0x6944, 0x97E8, 0x6945, 0x97E9, 0x6946, 0x97EA, 0x6947, 0x97EB, 0x6948, 0x97EC, 0x6949, 0x97ED, 0x694A, 0x97EE, - 0x694B, 0x97EF, 0x694C, 0x97F0, 0x694D, 0x97F1, 0x694E, 0x97F2, 0x694F, 0x97F3, 0x6950, 0x97F4, 0x6951, 0x97F5, 0x6952, 0x97F6, - 0x6953, 0x97F7, 0x6954, 0xD0A8, 0x6955, 0x97F8, 0x6956, 0x97F9, 0x6957, 0xE9A5, 0x6958, 0x97FA, 0x6959, 0x97FB, 0x695A, 0xB3FE, - 0x695B, 0x97FC, 0x695C, 0x97FD, 0x695D, 0xE9AC, 0x695E, 0xC0E3, 0x695F, 0x97FE, 0x6960, 0xE9AA, 0x6961, 0x9840, 0x6962, 0x9841, - 0x6963, 0xE9B9, 0x6964, 0x9842, 0x6965, 0x9843, 0x6966, 0xE9B8, 0x6967, 0x9844, 0x6968, 0x9845, 0x6969, 0x9846, 0x696A, 0x9847, - 0x696B, 0xE9AE, 0x696C, 0x9848, 0x696D, 0x9849, 0x696E, 0xE8FA, 0x696F, 0x984A, 0x6970, 0x984B, 0x6971, 0xE9A8, 0x6972, 0x984C, - 0x6973, 0x984D, 0x6974, 0x984E, 0x6975, 0x984F, 0x6976, 0x9850, 0x6977, 0xBFAC, 0x6978, 0xE9B1, 0x6979, 0xE9BA, 0x697A, 0x9851, - 0x697B, 0x9852, 0x697C, 0xC2A5, 0x697D, 0x9853, 0x697E, 0x9854, 0x697F, 0x9855, 0x6980, 0xE9AF, 0x6981, 0x9856, 0x6982, 0xB8C5, - 0x6983, 0x9857, 0x6984, 0xE9AD, 0x6985, 0x9858, 0x6986, 0xD3DC, 0x6987, 0xE9B4, 0x6988, 0xE9B5, 0x6989, 0xE9B7, 0x698A, 0x9859, - 0x698B, 0x985A, 0x698C, 0x985B, 0x698D, 0xE9C7, 0x698E, 0x985C, 0x698F, 0x985D, 0x6990, 0x985E, 0x6991, 0x985F, 0x6992, 0x9860, - 0x6993, 0x9861, 0x6994, 0xC0C6, 0x6995, 0xE9C5, 0x6996, 0x9862, 0x6997, 0x9863, 0x6998, 0xE9B0, 0x6999, 0x9864, 0x699A, 0x9865, - 0x699B, 0xE9BB, 0x699C, 0xB0F1, 0x699D, 0x9866, 0x699E, 0x9867, 0x699F, 0x9868, 0x69A0, 0x9869, 0x69A1, 0x986A, 0x69A2, 0x986B, - 0x69A3, 0x986C, 0x69A4, 0x986D, 0x69A5, 0x986E, 0x69A6, 0x986F, 0x69A7, 0xE9BC, 0x69A8, 0xD5A5, 0x69A9, 0x9870, 0x69AA, 0x9871, - 0x69AB, 0xE9BE, 0x69AC, 0x9872, 0x69AD, 0xE9BF, 0x69AE, 0x9873, 0x69AF, 0x9874, 0x69B0, 0x9875, 0x69B1, 0xE9C1, 0x69B2, 0x9876, - 0x69B3, 0x9877, 0x69B4, 0xC1F1, 0x69B5, 0x9878, 0x69B6, 0x9879, 0x69B7, 0xC8B6, 0x69B8, 0x987A, 0x69B9, 0x987B, 0x69BA, 0x987C, - 0x69BB, 0xE9BD, 0x69BC, 0x987D, 0x69BD, 0x987E, 0x69BE, 0x9880, 0x69BF, 0x9881, 0x69C0, 0x9882, 0x69C1, 0xE9C2, 0x69C2, 0x9883, - 0x69C3, 0x9884, 0x69C4, 0x9885, 0x69C5, 0x9886, 0x69C6, 0x9887, 0x69C7, 0x9888, 0x69C8, 0x9889, 0x69C9, 0x988A, 0x69CA, 0xE9C3, - 0x69CB, 0x988B, 0x69CC, 0xE9B3, 0x69CD, 0x988C, 0x69CE, 0xE9B6, 0x69CF, 0x988D, 0x69D0, 0xBBB1, 0x69D1, 0x988E, 0x69D2, 0x988F, - 0x69D3, 0x9890, 0x69D4, 0xE9C0, 0x69D5, 0x9891, 0x69D6, 0x9892, 0x69D7, 0x9893, 0x69D8, 0x9894, 0x69D9, 0x9895, 0x69DA, 0x9896, - 0x69DB, 0xBCF7, 0x69DC, 0x9897, 0x69DD, 0x9898, 0x69DE, 0x9899, 0x69DF, 0xE9C4, 0x69E0, 0xE9C6, 0x69E1, 0x989A, 0x69E2, 0x989B, - 0x69E3, 0x989C, 0x69E4, 0x989D, 0x69E5, 0x989E, 0x69E6, 0x989F, 0x69E7, 0x98A0, 0x69E8, 0x98A1, 0x69E9, 0x98A2, 0x69EA, 0x98A3, - 0x69EB, 0x98A4, 0x69EC, 0x98A5, 0x69ED, 0xE9CA, 0x69EE, 0x98A6, 0x69EF, 0x98A7, 0x69F0, 0x98A8, 0x69F1, 0x98A9, 0x69F2, 0xE9CE, - 0x69F3, 0x98AA, 0x69F4, 0x98AB, 0x69F5, 0x98AC, 0x69F6, 0x98AD, 0x69F7, 0x98AE, 0x69F8, 0x98AF, 0x69F9, 0x98B0, 0x69FA, 0x98B1, - 0x69FB, 0x98B2, 0x69FC, 0x98B3, 0x69FD, 0xB2DB, 0x69FE, 0x98B4, 0x69FF, 0xE9C8, 0x6A00, 0x98B5, 0x6A01, 0x98B6, 0x6A02, 0x98B7, - 0x6A03, 0x98B8, 0x6A04, 0x98B9, 0x6A05, 0x98BA, 0x6A06, 0x98BB, 0x6A07, 0x98BC, 0x6A08, 0x98BD, 0x6A09, 0x98BE, 0x6A0A, 0xB7AE, - 0x6A0B, 0x98BF, 0x6A0C, 0x98C0, 0x6A0D, 0x98C1, 0x6A0E, 0x98C2, 0x6A0F, 0x98C3, 0x6A10, 0x98C4, 0x6A11, 0x98C5, 0x6A12, 0x98C6, - 0x6A13, 0x98C7, 0x6A14, 0x98C8, 0x6A15, 0x98C9, 0x6A16, 0x98CA, 0x6A17, 0xE9CB, 0x6A18, 0xE9CC, 0x6A19, 0x98CB, 0x6A1A, 0x98CC, - 0x6A1B, 0x98CD, 0x6A1C, 0x98CE, 0x6A1D, 0x98CF, 0x6A1E, 0x98D0, 0x6A1F, 0xD5C1, 0x6A20, 0x98D1, 0x6A21, 0xC4A3, 0x6A22, 0x98D2, - 0x6A23, 0x98D3, 0x6A24, 0x98D4, 0x6A25, 0x98D5, 0x6A26, 0x98D6, 0x6A27, 0x98D7, 0x6A28, 0xE9D8, 0x6A29, 0x98D8, 0x6A2A, 0xBAE1, - 0x6A2B, 0x98D9, 0x6A2C, 0x98DA, 0x6A2D, 0x98DB, 0x6A2E, 0x98DC, 0x6A2F, 0xE9C9, 0x6A30, 0x98DD, 0x6A31, 0xD3A3, 0x6A32, 0x98DE, - 0x6A33, 0x98DF, 0x6A34, 0x98E0, 0x6A35, 0xE9D4, 0x6A36, 0x98E1, 0x6A37, 0x98E2, 0x6A38, 0x98E3, 0x6A39, 0x98E4, 0x6A3A, 0x98E5, - 0x6A3B, 0x98E6, 0x6A3C, 0x98E7, 0x6A3D, 0xE9D7, 0x6A3E, 0xE9D0, 0x6A3F, 0x98E8, 0x6A40, 0x98E9, 0x6A41, 0x98EA, 0x6A42, 0x98EB, - 0x6A43, 0x98EC, 0x6A44, 0xE9CF, 0x6A45, 0x98ED, 0x6A46, 0x98EE, 0x6A47, 0xC7C1, 0x6A48, 0x98EF, 0x6A49, 0x98F0, 0x6A4A, 0x98F1, - 0x6A4B, 0x98F2, 0x6A4C, 0x98F3, 0x6A4D, 0x98F4, 0x6A4E, 0x98F5, 0x6A4F, 0x98F6, 0x6A50, 0xE9D2, 0x6A51, 0x98F7, 0x6A52, 0x98F8, - 0x6A53, 0x98F9, 0x6A54, 0x98FA, 0x6A55, 0x98FB, 0x6A56, 0x98FC, 0x6A57, 0x98FD, 0x6A58, 0xE9D9, 0x6A59, 0xB3C8, 0x6A5A, 0x98FE, - 0x6A5B, 0xE9D3, 0x6A5C, 0x9940, 0x6A5D, 0x9941, 0x6A5E, 0x9942, 0x6A5F, 0x9943, 0x6A60, 0x9944, 0x6A61, 0xCFF0, 0x6A62, 0x9945, - 0x6A63, 0x9946, 0x6A64, 0x9947, 0x6A65, 0xE9CD, 0x6A66, 0x9948, 0x6A67, 0x9949, 0x6A68, 0x994A, 0x6A69, 0x994B, 0x6A6A, 0x994C, - 0x6A6B, 0x994D, 0x6A6C, 0x994E, 0x6A6D, 0x994F, 0x6A6E, 0x9950, 0x6A6F, 0x9951, 0x6A70, 0x9952, 0x6A71, 0xB3F7, 0x6A72, 0x9953, - 0x6A73, 0x9954, 0x6A74, 0x9955, 0x6A75, 0x9956, 0x6A76, 0x9957, 0x6A77, 0x9958, 0x6A78, 0x9959, 0x6A79, 0xE9D6, 0x6A7A, 0x995A, - 0x6A7B, 0x995B, 0x6A7C, 0xE9DA, 0x6A7D, 0x995C, 0x6A7E, 0x995D, 0x6A7F, 0x995E, 0x6A80, 0xCCB4, 0x6A81, 0x995F, 0x6A82, 0x9960, - 0x6A83, 0x9961, 0x6A84, 0xCFAD, 0x6A85, 0x9962, 0x6A86, 0x9963, 0x6A87, 0x9964, 0x6A88, 0x9965, 0x6A89, 0x9966, 0x6A8A, 0x9967, - 0x6A8B, 0x9968, 0x6A8C, 0x9969, 0x6A8D, 0x996A, 0x6A8E, 0xE9D5, 0x6A8F, 0x996B, 0x6A90, 0xE9DC, 0x6A91, 0xE9DB, 0x6A92, 0x996C, - 0x6A93, 0x996D, 0x6A94, 0x996E, 0x6A95, 0x996F, 0x6A96, 0x9970, 0x6A97, 0xE9DE, 0x6A98, 0x9971, 0x6A99, 0x9972, 0x6A9A, 0x9973, - 0x6A9B, 0x9974, 0x6A9C, 0x9975, 0x6A9D, 0x9976, 0x6A9E, 0x9977, 0x6A9F, 0x9978, 0x6AA0, 0xE9D1, 0x6AA1, 0x9979, 0x6AA2, 0x997A, - 0x6AA3, 0x997B, 0x6AA4, 0x997C, 0x6AA5, 0x997D, 0x6AA6, 0x997E, 0x6AA7, 0x9980, 0x6AA8, 0x9981, 0x6AA9, 0xE9DD, 0x6AAA, 0x9982, - 0x6AAB, 0xE9DF, 0x6AAC, 0xC3CA, 0x6AAD, 0x9983, 0x6AAE, 0x9984, 0x6AAF, 0x9985, 0x6AB0, 0x9986, 0x6AB1, 0x9987, 0x6AB2, 0x9988, - 0x6AB3, 0x9989, 0x6AB4, 0x998A, 0x6AB5, 0x998B, 0x6AB6, 0x998C, 0x6AB7, 0x998D, 0x6AB8, 0x998E, 0x6AB9, 0x998F, 0x6ABA, 0x9990, - 0x6ABB, 0x9991, 0x6ABC, 0x9992, 0x6ABD, 0x9993, 0x6ABE, 0x9994, 0x6ABF, 0x9995, 0x6AC0, 0x9996, 0x6AC1, 0x9997, 0x6AC2, 0x9998, - 0x6AC3, 0x9999, 0x6AC4, 0x999A, 0x6AC5, 0x999B, 0x6AC6, 0x999C, 0x6AC7, 0x999D, 0x6AC8, 0x999E, 0x6AC9, 0x999F, 0x6ACA, 0x99A0, - 0x6ACB, 0x99A1, 0x6ACC, 0x99A2, 0x6ACD, 0x99A3, 0x6ACE, 0x99A4, 0x6ACF, 0x99A5, 0x6AD0, 0x99A6, 0x6AD1, 0x99A7, 0x6AD2, 0x99A8, - 0x6AD3, 0x99A9, 0x6AD4, 0x99AA, 0x6AD5, 0x99AB, 0x6AD6, 0x99AC, 0x6AD7, 0x99AD, 0x6AD8, 0x99AE, 0x6AD9, 0x99AF, 0x6ADA, 0x99B0, - 0x6ADB, 0x99B1, 0x6ADC, 0x99B2, 0x6ADD, 0x99B3, 0x6ADE, 0x99B4, 0x6ADF, 0x99B5, 0x6AE0, 0x99B6, 0x6AE1, 0x99B7, 0x6AE2, 0x99B8, - 0x6AE3, 0x99B9, 0x6AE4, 0x99BA, 0x6AE5, 0x99BB, 0x6AE6, 0x99BC, 0x6AE7, 0x99BD, 0x6AE8, 0x99BE, 0x6AE9, 0x99BF, 0x6AEA, 0x99C0, - 0x6AEB, 0x99C1, 0x6AEC, 0x99C2, 0x6AED, 0x99C3, 0x6AEE, 0x99C4, 0x6AEF, 0x99C5, 0x6AF0, 0x99C6, 0x6AF1, 0x99C7, 0x6AF2, 0x99C8, - 0x6AF3, 0x99C9, 0x6AF4, 0x99CA, 0x6AF5, 0x99CB, 0x6AF6, 0x99CC, 0x6AF7, 0x99CD, 0x6AF8, 0x99CE, 0x6AF9, 0x99CF, 0x6AFA, 0x99D0, - 0x6AFB, 0x99D1, 0x6AFC, 0x99D2, 0x6AFD, 0x99D3, 0x6AFE, 0x99D4, 0x6AFF, 0x99D5, 0x6B00, 0x99D6, 0x6B01, 0x99D7, 0x6B02, 0x99D8, - 0x6B03, 0x99D9, 0x6B04, 0x99DA, 0x6B05, 0x99DB, 0x6B06, 0x99DC, 0x6B07, 0x99DD, 0x6B08, 0x99DE, 0x6B09, 0x99DF, 0x6B0A, 0x99E0, - 0x6B0B, 0x99E1, 0x6B0C, 0x99E2, 0x6B0D, 0x99E3, 0x6B0E, 0x99E4, 0x6B0F, 0x99E5, 0x6B10, 0x99E6, 0x6B11, 0x99E7, 0x6B12, 0x99E8, - 0x6B13, 0x99E9, 0x6B14, 0x99EA, 0x6B15, 0x99EB, 0x6B16, 0x99EC, 0x6B17, 0x99ED, 0x6B18, 0x99EE, 0x6B19, 0x99EF, 0x6B1A, 0x99F0, - 0x6B1B, 0x99F1, 0x6B1C, 0x99F2, 0x6B1D, 0x99F3, 0x6B1E, 0x99F4, 0x6B1F, 0x99F5, 0x6B20, 0xC7B7, 0x6B21, 0xB4CE, 0x6B22, 0xBBB6, - 0x6B23, 0xD0C0, 0x6B24, 0xECA3, 0x6B25, 0x99F6, 0x6B26, 0x99F7, 0x6B27, 0xC5B7, 0x6B28, 0x99F8, 0x6B29, 0x99F9, 0x6B2A, 0x99FA, - 0x6B2B, 0x99FB, 0x6B2C, 0x99FC, 0x6B2D, 0x99FD, 0x6B2E, 0x99FE, 0x6B2F, 0x9A40, 0x6B30, 0x9A41, 0x6B31, 0x9A42, 0x6B32, 0xD3FB, - 0x6B33, 0x9A43, 0x6B34, 0x9A44, 0x6B35, 0x9A45, 0x6B36, 0x9A46, 0x6B37, 0xECA4, 0x6B38, 0x9A47, 0x6B39, 0xECA5, 0x6B3A, 0xC6DB, - 0x6B3B, 0x9A48, 0x6B3C, 0x9A49, 0x6B3D, 0x9A4A, 0x6B3E, 0xBFEE, 0x6B3F, 0x9A4B, 0x6B40, 0x9A4C, 0x6B41, 0x9A4D, 0x6B42, 0x9A4E, - 0x6B43, 0xECA6, 0x6B44, 0x9A4F, 0x6B45, 0x9A50, 0x6B46, 0xECA7, 0x6B47, 0xD0AA, 0x6B48, 0x9A51, 0x6B49, 0xC7B8, 0x6B4A, 0x9A52, - 0x6B4B, 0x9A53, 0x6B4C, 0xB8E8, 0x6B4D, 0x9A54, 0x6B4E, 0x9A55, 0x6B4F, 0x9A56, 0x6B50, 0x9A57, 0x6B51, 0x9A58, 0x6B52, 0x9A59, - 0x6B53, 0x9A5A, 0x6B54, 0x9A5B, 0x6B55, 0x9A5C, 0x6B56, 0x9A5D, 0x6B57, 0x9A5E, 0x6B58, 0x9A5F, 0x6B59, 0xECA8, 0x6B5A, 0x9A60, - 0x6B5B, 0x9A61, 0x6B5C, 0x9A62, 0x6B5D, 0x9A63, 0x6B5E, 0x9A64, 0x6B5F, 0x9A65, 0x6B60, 0x9A66, 0x6B61, 0x9A67, 0x6B62, 0xD6B9, - 0x6B63, 0xD5FD, 0x6B64, 0xB4CB, 0x6B65, 0xB2BD, 0x6B66, 0xCEE4, 0x6B67, 0xC6E7, 0x6B68, 0x9A68, 0x6B69, 0x9A69, 0x6B6A, 0xCDE1, - 0x6B6B, 0x9A6A, 0x6B6C, 0x9A6B, 0x6B6D, 0x9A6C, 0x6B6E, 0x9A6D, 0x6B6F, 0x9A6E, 0x6B70, 0x9A6F, 0x6B71, 0x9A70, 0x6B72, 0x9A71, - 0x6B73, 0x9A72, 0x6B74, 0x9A73, 0x6B75, 0x9A74, 0x6B76, 0x9A75, 0x6B77, 0x9A76, 0x6B78, 0x9A77, 0x6B79, 0xB4F5, 0x6B7A, 0x9A78, - 0x6B7B, 0xCBC0, 0x6B7C, 0xBCDF, 0x6B7D, 0x9A79, 0x6B7E, 0x9A7A, 0x6B7F, 0x9A7B, 0x6B80, 0x9A7C, 0x6B81, 0xE9E2, 0x6B82, 0xE9E3, - 0x6B83, 0xD1EA, 0x6B84, 0xE9E5, 0x6B85, 0x9A7D, 0x6B86, 0xB4F9, 0x6B87, 0xE9E4, 0x6B88, 0x9A7E, 0x6B89, 0xD1B3, 0x6B8A, 0xCAE2, - 0x6B8B, 0xB2D0, 0x6B8C, 0x9A80, 0x6B8D, 0xE9E8, 0x6B8E, 0x9A81, 0x6B8F, 0x9A82, 0x6B90, 0x9A83, 0x6B91, 0x9A84, 0x6B92, 0xE9E6, - 0x6B93, 0xE9E7, 0x6B94, 0x9A85, 0x6B95, 0x9A86, 0x6B96, 0xD6B3, 0x6B97, 0x9A87, 0x6B98, 0x9A88, 0x6B99, 0x9A89, 0x6B9A, 0xE9E9, - 0x6B9B, 0xE9EA, 0x6B9C, 0x9A8A, 0x6B9D, 0x9A8B, 0x6B9E, 0x9A8C, 0x6B9F, 0x9A8D, 0x6BA0, 0x9A8E, 0x6BA1, 0xE9EB, 0x6BA2, 0x9A8F, - 0x6BA3, 0x9A90, 0x6BA4, 0x9A91, 0x6BA5, 0x9A92, 0x6BA6, 0x9A93, 0x6BA7, 0x9A94, 0x6BA8, 0x9A95, 0x6BA9, 0x9A96, 0x6BAA, 0xE9EC, - 0x6BAB, 0x9A97, 0x6BAC, 0x9A98, 0x6BAD, 0x9A99, 0x6BAE, 0x9A9A, 0x6BAF, 0x9A9B, 0x6BB0, 0x9A9C, 0x6BB1, 0x9A9D, 0x6BB2, 0x9A9E, - 0x6BB3, 0xECAF, 0x6BB4, 0xC5B9, 0x6BB5, 0xB6CE, 0x6BB6, 0x9A9F, 0x6BB7, 0xD2F3, 0x6BB8, 0x9AA0, 0x6BB9, 0x9AA1, 0x6BBA, 0x9AA2, - 0x6BBB, 0x9AA3, 0x6BBC, 0x9AA4, 0x6BBD, 0x9AA5, 0x6BBE, 0x9AA6, 0x6BBF, 0xB5EE, 0x6BC0, 0x9AA7, 0x6BC1, 0xBBD9, 0x6BC2, 0xECB1, - 0x6BC3, 0x9AA8, 0x6BC4, 0x9AA9, 0x6BC5, 0xD2E3, 0x6BC6, 0x9AAA, 0x6BC7, 0x9AAB, 0x6BC8, 0x9AAC, 0x6BC9, 0x9AAD, 0x6BCA, 0x9AAE, - 0x6BCB, 0xCEE3, 0x6BCC, 0x9AAF, 0x6BCD, 0xC4B8, 0x6BCE, 0x9AB0, 0x6BCF, 0xC3BF, 0x6BD0, 0x9AB1, 0x6BD1, 0x9AB2, 0x6BD2, 0xB6BE, - 0x6BD3, 0xD8B9, 0x6BD4, 0xB1C8, 0x6BD5, 0xB1CF, 0x6BD6, 0xB1D1, 0x6BD7, 0xC5FE, 0x6BD8, 0x9AB3, 0x6BD9, 0xB1D0, 0x6BDA, 0x9AB4, - 0x6BDB, 0xC3AB, 0x6BDC, 0x9AB5, 0x6BDD, 0x9AB6, 0x6BDE, 0x9AB7, 0x6BDF, 0x9AB8, 0x6BE0, 0x9AB9, 0x6BE1, 0xD5B1, 0x6BE2, 0x9ABA, - 0x6BE3, 0x9ABB, 0x6BE4, 0x9ABC, 0x6BE5, 0x9ABD, 0x6BE6, 0x9ABE, 0x6BE7, 0x9ABF, 0x6BE8, 0x9AC0, 0x6BE9, 0x9AC1, 0x6BEA, 0xEBA4, - 0x6BEB, 0xBAC1, 0x6BEC, 0x9AC2, 0x6BED, 0x9AC3, 0x6BEE, 0x9AC4, 0x6BEF, 0xCCBA, 0x6BF0, 0x9AC5, 0x6BF1, 0x9AC6, 0x6BF2, 0x9AC7, - 0x6BF3, 0xEBA5, 0x6BF4, 0x9AC8, 0x6BF5, 0xEBA7, 0x6BF6, 0x9AC9, 0x6BF7, 0x9ACA, 0x6BF8, 0x9ACB, 0x6BF9, 0xEBA8, 0x6BFA, 0x9ACC, - 0x6BFB, 0x9ACD, 0x6BFC, 0x9ACE, 0x6BFD, 0xEBA6, 0x6BFE, 0x9ACF, 0x6BFF, 0x9AD0, 0x6C00, 0x9AD1, 0x6C01, 0x9AD2, 0x6C02, 0x9AD3, - 0x6C03, 0x9AD4, 0x6C04, 0x9AD5, 0x6C05, 0xEBA9, 0x6C06, 0xEBAB, 0x6C07, 0xEBAA, 0x6C08, 0x9AD6, 0x6C09, 0x9AD7, 0x6C0A, 0x9AD8, - 0x6C0B, 0x9AD9, 0x6C0C, 0x9ADA, 0x6C0D, 0xEBAC, 0x6C0E, 0x9ADB, 0x6C0F, 0xCACF, 0x6C10, 0xD8B5, 0x6C11, 0xC3F1, 0x6C12, 0x9ADC, - 0x6C13, 0xC3A5, 0x6C14, 0xC6F8, 0x6C15, 0xEBAD, 0x6C16, 0xC4CA, 0x6C17, 0x9ADD, 0x6C18, 0xEBAE, 0x6C19, 0xEBAF, 0x6C1A, 0xEBB0, - 0x6C1B, 0xB7D5, 0x6C1C, 0x9ADE, 0x6C1D, 0x9ADF, 0x6C1E, 0x9AE0, 0x6C1F, 0xB7FA, 0x6C20, 0x9AE1, 0x6C21, 0xEBB1, 0x6C22, 0xC7E2, - 0x6C23, 0x9AE2, 0x6C24, 0xEBB3, 0x6C25, 0x9AE3, 0x6C26, 0xBAA4, 0x6C27, 0xD1F5, 0x6C28, 0xB0B1, 0x6C29, 0xEBB2, 0x6C2A, 0xEBB4, - 0x6C2B, 0x9AE4, 0x6C2C, 0x9AE5, 0x6C2D, 0x9AE6, 0x6C2E, 0xB5AA, 0x6C2F, 0xC2C8, 0x6C30, 0xC7E8, 0x6C31, 0x9AE7, 0x6C32, 0xEBB5, - 0x6C33, 0x9AE8, 0x6C34, 0xCBAE, 0x6C35, 0xE3DF, 0x6C36, 0x9AE9, 0x6C37, 0x9AEA, 0x6C38, 0xD3C0, 0x6C39, 0x9AEB, 0x6C3A, 0x9AEC, - 0x6C3B, 0x9AED, 0x6C3C, 0x9AEE, 0x6C3D, 0xD9DB, 0x6C3E, 0x9AEF, 0x6C3F, 0x9AF0, 0x6C40, 0xCDA1, 0x6C41, 0xD6AD, 0x6C42, 0xC7F3, - 0x6C43, 0x9AF1, 0x6C44, 0x9AF2, 0x6C45, 0x9AF3, 0x6C46, 0xD9E0, 0x6C47, 0xBBE3, 0x6C48, 0x9AF4, 0x6C49, 0xBABA, 0x6C4A, 0xE3E2, - 0x6C4B, 0x9AF5, 0x6C4C, 0x9AF6, 0x6C4D, 0x9AF7, 0x6C4E, 0x9AF8, 0x6C4F, 0x9AF9, 0x6C50, 0xCFAB, 0x6C51, 0x9AFA, 0x6C52, 0x9AFB, - 0x6C53, 0x9AFC, 0x6C54, 0xE3E0, 0x6C55, 0xC9C7, 0x6C56, 0x9AFD, 0x6C57, 0xBAB9, 0x6C58, 0x9AFE, 0x6C59, 0x9B40, 0x6C5A, 0x9B41, - 0x6C5B, 0xD1B4, 0x6C5C, 0xE3E1, 0x6C5D, 0xC8EA, 0x6C5E, 0xB9AF, 0x6C5F, 0xBDAD, 0x6C60, 0xB3D8, 0x6C61, 0xCEDB, 0x6C62, 0x9B42, - 0x6C63, 0x9B43, 0x6C64, 0xCCC0, 0x6C65, 0x9B44, 0x6C66, 0x9B45, 0x6C67, 0x9B46, 0x6C68, 0xE3E8, 0x6C69, 0xE3E9, 0x6C6A, 0xCDF4, - 0x6C6B, 0x9B47, 0x6C6C, 0x9B48, 0x6C6D, 0x9B49, 0x6C6E, 0x9B4A, 0x6C6F, 0x9B4B, 0x6C70, 0xCCAD, 0x6C71, 0x9B4C, 0x6C72, 0xBCB3, - 0x6C73, 0x9B4D, 0x6C74, 0xE3EA, 0x6C75, 0x9B4E, 0x6C76, 0xE3EB, 0x6C77, 0x9B4F, 0x6C78, 0x9B50, 0x6C79, 0xD0DA, 0x6C7A, 0x9B51, - 0x6C7B, 0x9B52, 0x6C7C, 0x9B53, 0x6C7D, 0xC6FB, 0x6C7E, 0xB7DA, 0x6C7F, 0x9B54, 0x6C80, 0x9B55, 0x6C81, 0xC7DF, 0x6C82, 0xD2CA, - 0x6C83, 0xCED6, 0x6C84, 0x9B56, 0x6C85, 0xE3E4, 0x6C86, 0xE3EC, 0x6C87, 0x9B57, 0x6C88, 0xC9F2, 0x6C89, 0xB3C1, 0x6C8A, 0x9B58, - 0x6C8B, 0x9B59, 0x6C8C, 0xE3E7, 0x6C8D, 0x9B5A, 0x6C8E, 0x9B5B, 0x6C8F, 0xC6E3, 0x6C90, 0xE3E5, 0x6C91, 0x9B5C, 0x6C92, 0x9B5D, - 0x6C93, 0xEDB3, 0x6C94, 0xE3E6, 0x6C95, 0x9B5E, 0x6C96, 0x9B5F, 0x6C97, 0x9B60, 0x6C98, 0x9B61, 0x6C99, 0xC9B3, 0x6C9A, 0x9B62, - 0x6C9B, 0xC5E6, 0x6C9C, 0x9B63, 0x6C9D, 0x9B64, 0x6C9E, 0x9B65, 0x6C9F, 0xB9B5, 0x6CA0, 0x9B66, 0x6CA1, 0xC3BB, 0x6CA2, 0x9B67, - 0x6CA3, 0xE3E3, 0x6CA4, 0xC5BD, 0x6CA5, 0xC1A4, 0x6CA6, 0xC2D9, 0x6CA7, 0xB2D7, 0x6CA8, 0x9B68, 0x6CA9, 0xE3ED, 0x6CAA, 0xBBA6, - 0x6CAB, 0xC4AD, 0x6CAC, 0x9B69, 0x6CAD, 0xE3F0, 0x6CAE, 0xBEDA, 0x6CAF, 0x9B6A, 0x6CB0, 0x9B6B, 0x6CB1, 0xE3FB, 0x6CB2, 0xE3F5, - 0x6CB3, 0xBAD3, 0x6CB4, 0x9B6C, 0x6CB5, 0x9B6D, 0x6CB6, 0x9B6E, 0x6CB7, 0x9B6F, 0x6CB8, 0xB7D0, 0x6CB9, 0xD3CD, 0x6CBA, 0x9B70, - 0x6CBB, 0xD6CE, 0x6CBC, 0xD5D3, 0x6CBD, 0xB9C1, 0x6CBE, 0xD5B4, 0x6CBF, 0xD1D8, 0x6CC0, 0x9B71, 0x6CC1, 0x9B72, 0x6CC2, 0x9B73, - 0x6CC3, 0x9B74, 0x6CC4, 0xD0B9, 0x6CC5, 0xC7F6, 0x6CC6, 0x9B75, 0x6CC7, 0x9B76, 0x6CC8, 0x9B77, 0x6CC9, 0xC8AA, 0x6CCA, 0xB2B4, - 0x6CCB, 0x9B78, 0x6CCC, 0xC3DA, 0x6CCD, 0x9B79, 0x6CCE, 0x9B7A, 0x6CCF, 0x9B7B, 0x6CD0, 0xE3EE, 0x6CD1, 0x9B7C, 0x6CD2, 0x9B7D, - 0x6CD3, 0xE3FC, 0x6CD4, 0xE3EF, 0x6CD5, 0xB7A8, 0x6CD6, 0xE3F7, 0x6CD7, 0xE3F4, 0x6CD8, 0x9B7E, 0x6CD9, 0x9B80, 0x6CDA, 0x9B81, - 0x6CDB, 0xB7BA, 0x6CDC, 0x9B82, 0x6CDD, 0x9B83, 0x6CDE, 0xC5A2, 0x6CDF, 0x9B84, 0x6CE0, 0xE3F6, 0x6CE1, 0xC5DD, 0x6CE2, 0xB2A8, - 0x6CE3, 0xC6FC, 0x6CE4, 0x9B85, 0x6CE5, 0xC4E0, 0x6CE6, 0x9B86, 0x6CE7, 0x9B87, 0x6CE8, 0xD7A2, 0x6CE9, 0x9B88, 0x6CEA, 0xC0E1, - 0x6CEB, 0xE3F9, 0x6CEC, 0x9B89, 0x6CED, 0x9B8A, 0x6CEE, 0xE3FA, 0x6CEF, 0xE3FD, 0x6CF0, 0xCCA9, 0x6CF1, 0xE3F3, 0x6CF2, 0x9B8B, - 0x6CF3, 0xD3BE, 0x6CF4, 0x9B8C, 0x6CF5, 0xB1C3, 0x6CF6, 0xEDB4, 0x6CF7, 0xE3F1, 0x6CF8, 0xE3F2, 0x6CF9, 0x9B8D, 0x6CFA, 0xE3F8, - 0x6CFB, 0xD0BA, 0x6CFC, 0xC6C3, 0x6CFD, 0xD4F3, 0x6CFE, 0xE3FE, 0x6CFF, 0x9B8E, 0x6D00, 0x9B8F, 0x6D01, 0xBDE0, 0x6D02, 0x9B90, - 0x6D03, 0x9B91, 0x6D04, 0xE4A7, 0x6D05, 0x9B92, 0x6D06, 0x9B93, 0x6D07, 0xE4A6, 0x6D08, 0x9B94, 0x6D09, 0x9B95, 0x6D0A, 0x9B96, - 0x6D0B, 0xD1F3, 0x6D0C, 0xE4A3, 0x6D0D, 0x9B97, 0x6D0E, 0xE4A9, 0x6D0F, 0x9B98, 0x6D10, 0x9B99, 0x6D11, 0x9B9A, 0x6D12, 0xC8F7, - 0x6D13, 0x9B9B, 0x6D14, 0x9B9C, 0x6D15, 0x9B9D, 0x6D16, 0x9B9E, 0x6D17, 0xCFB4, 0x6D18, 0x9B9F, 0x6D19, 0xE4A8, 0x6D1A, 0xE4AE, - 0x6D1B, 0xC2E5, 0x6D1C, 0x9BA0, 0x6D1D, 0x9BA1, 0x6D1E, 0xB6B4, 0x6D1F, 0x9BA2, 0x6D20, 0x9BA3, 0x6D21, 0x9BA4, 0x6D22, 0x9BA5, - 0x6D23, 0x9BA6, 0x6D24, 0x9BA7, 0x6D25, 0xBDF2, 0x6D26, 0x9BA8, 0x6D27, 0xE4A2, 0x6D28, 0x9BA9, 0x6D29, 0x9BAA, 0x6D2A, 0xBAE9, - 0x6D2B, 0xE4AA, 0x6D2C, 0x9BAB, 0x6D2D, 0x9BAC, 0x6D2E, 0xE4AC, 0x6D2F, 0x9BAD, 0x6D30, 0x9BAE, 0x6D31, 0xB6FD, 0x6D32, 0xD6DE, - 0x6D33, 0xE4B2, 0x6D34, 0x9BAF, 0x6D35, 0xE4AD, 0x6D36, 0x9BB0, 0x6D37, 0x9BB1, 0x6D38, 0x9BB2, 0x6D39, 0xE4A1, 0x6D3A, 0x9BB3, - 0x6D3B, 0xBBEE, 0x6D3C, 0xCDDD, 0x6D3D, 0xC7A2, 0x6D3E, 0xC5C9, 0x6D3F, 0x9BB4, 0x6D40, 0x9BB5, 0x6D41, 0xC1F7, 0x6D42, 0x9BB6, - 0x6D43, 0xE4A4, 0x6D44, 0x9BB7, 0x6D45, 0xC7B3, 0x6D46, 0xBDAC, 0x6D47, 0xBDBD, 0x6D48, 0xE4A5, 0x6D49, 0x9BB8, 0x6D4A, 0xD7C7, - 0x6D4B, 0xB2E2, 0x6D4C, 0x9BB9, 0x6D4D, 0xE4AB, 0x6D4E, 0xBCC3, 0x6D4F, 0xE4AF, 0x6D50, 0x9BBA, 0x6D51, 0xBBEB, 0x6D52, 0xE4B0, - 0x6D53, 0xC5A8, 0x6D54, 0xE4B1, 0x6D55, 0x9BBB, 0x6D56, 0x9BBC, 0x6D57, 0x9BBD, 0x6D58, 0x9BBE, 0x6D59, 0xD5E3, 0x6D5A, 0xBFA3, - 0x6D5B, 0x9BBF, 0x6D5C, 0xE4BA, 0x6D5D, 0x9BC0, 0x6D5E, 0xE4B7, 0x6D5F, 0x9BC1, 0x6D60, 0xE4BB, 0x6D61, 0x9BC2, 0x6D62, 0x9BC3, - 0x6D63, 0xE4BD, 0x6D64, 0x9BC4, 0x6D65, 0x9BC5, 0x6D66, 0xC6D6, 0x6D67, 0x9BC6, 0x6D68, 0x9BC7, 0x6D69, 0xBAC6, 0x6D6A, 0xC0CB, - 0x6D6B, 0x9BC8, 0x6D6C, 0x9BC9, 0x6D6D, 0x9BCA, 0x6D6E, 0xB8A1, 0x6D6F, 0xE4B4, 0x6D70, 0x9BCB, 0x6D71, 0x9BCC, 0x6D72, 0x9BCD, - 0x6D73, 0x9BCE, 0x6D74, 0xD4A1, 0x6D75, 0x9BCF, 0x6D76, 0x9BD0, 0x6D77, 0xBAA3, 0x6D78, 0xBDFE, 0x6D79, 0x9BD1, 0x6D7A, 0x9BD2, - 0x6D7B, 0x9BD3, 0x6D7C, 0xE4BC, 0x6D7D, 0x9BD4, 0x6D7E, 0x9BD5, 0x6D7F, 0x9BD6, 0x6D80, 0x9BD7, 0x6D81, 0x9BD8, 0x6D82, 0xCDBF, - 0x6D83, 0x9BD9, 0x6D84, 0x9BDA, 0x6D85, 0xC4F9, 0x6D86, 0x9BDB, 0x6D87, 0x9BDC, 0x6D88, 0xCFFB, 0x6D89, 0xC9E6, 0x6D8A, 0x9BDD, - 0x6D8B, 0x9BDE, 0x6D8C, 0xD3BF, 0x6D8D, 0x9BDF, 0x6D8E, 0xCFD1, 0x6D8F, 0x9BE0, 0x6D90, 0x9BE1, 0x6D91, 0xE4B3, 0x6D92, 0x9BE2, - 0x6D93, 0xE4B8, 0x6D94, 0xE4B9, 0x6D95, 0xCCE9, 0x6D96, 0x9BE3, 0x6D97, 0x9BE4, 0x6D98, 0x9BE5, 0x6D99, 0x9BE6, 0x6D9A, 0x9BE7, - 0x6D9B, 0xCCCE, 0x6D9C, 0x9BE8, 0x6D9D, 0xC0D4, 0x6D9E, 0xE4B5, 0x6D9F, 0xC1B0, 0x6DA0, 0xE4B6, 0x6DA1, 0xCED0, 0x6DA2, 0x9BE9, - 0x6DA3, 0xBBC1, 0x6DA4, 0xB5D3, 0x6DA5, 0x9BEA, 0x6DA6, 0xC8F3, 0x6DA7, 0xBDA7, 0x6DA8, 0xD5C7, 0x6DA9, 0xC9AC, 0x6DAA, 0xB8A2, - 0x6DAB, 0xE4CA, 0x6DAC, 0x9BEB, 0x6DAD, 0x9BEC, 0x6DAE, 0xE4CC, 0x6DAF, 0xD1C4, 0x6DB0, 0x9BED, 0x6DB1, 0x9BEE, 0x6DB2, 0xD2BA, - 0x6DB3, 0x9BEF, 0x6DB4, 0x9BF0, 0x6DB5, 0xBAAD, 0x6DB6, 0x9BF1, 0x6DB7, 0x9BF2, 0x6DB8, 0xBAD4, 0x6DB9, 0x9BF3, 0x6DBA, 0x9BF4, - 0x6DBB, 0x9BF5, 0x6DBC, 0x9BF6, 0x6DBD, 0x9BF7, 0x6DBE, 0x9BF8, 0x6DBF, 0xE4C3, 0x6DC0, 0xB5ED, 0x6DC1, 0x9BF9, 0x6DC2, 0x9BFA, - 0x6DC3, 0x9BFB, 0x6DC4, 0xD7CD, 0x6DC5, 0xE4C0, 0x6DC6, 0xCFFD, 0x6DC7, 0xE4BF, 0x6DC8, 0x9BFC, 0x6DC9, 0x9BFD, 0x6DCA, 0x9BFE, - 0x6DCB, 0xC1DC, 0x6DCC, 0xCCCA, 0x6DCD, 0x9C40, 0x6DCE, 0x9C41, 0x6DCF, 0x9C42, 0x6DD0, 0x9C43, 0x6DD1, 0xCAE7, 0x6DD2, 0x9C44, - 0x6DD3, 0x9C45, 0x6DD4, 0x9C46, 0x6DD5, 0x9C47, 0x6DD6, 0xC4D7, 0x6DD7, 0x9C48, 0x6DD8, 0xCCD4, 0x6DD9, 0xE4C8, 0x6DDA, 0x9C49, - 0x6DDB, 0x9C4A, 0x6DDC, 0x9C4B, 0x6DDD, 0xE4C7, 0x6DDE, 0xE4C1, 0x6DDF, 0x9C4C, 0x6DE0, 0xE4C4, 0x6DE1, 0xB5AD, 0x6DE2, 0x9C4D, - 0x6DE3, 0x9C4E, 0x6DE4, 0xD3D9, 0x6DE5, 0x9C4F, 0x6DE6, 0xE4C6, 0x6DE7, 0x9C50, 0x6DE8, 0x9C51, 0x6DE9, 0x9C52, 0x6DEA, 0x9C53, - 0x6DEB, 0xD2F9, 0x6DEC, 0xB4E3, 0x6DED, 0x9C54, 0x6DEE, 0xBBB4, 0x6DEF, 0x9C55, 0x6DF0, 0x9C56, 0x6DF1, 0xC9EE, 0x6DF2, 0x9C57, - 0x6DF3, 0xB4BE, 0x6DF4, 0x9C58, 0x6DF5, 0x9C59, 0x6DF6, 0x9C5A, 0x6DF7, 0xBBEC, 0x6DF8, 0x9C5B, 0x6DF9, 0xD1CD, 0x6DFA, 0x9C5C, - 0x6DFB, 0xCCED, 0x6DFC, 0xEDB5, 0x6DFD, 0x9C5D, 0x6DFE, 0x9C5E, 0x6DFF, 0x9C5F, 0x6E00, 0x9C60, 0x6E01, 0x9C61, 0x6E02, 0x9C62, - 0x6E03, 0x9C63, 0x6E04, 0x9C64, 0x6E05, 0xC7E5, 0x6E06, 0x9C65, 0x6E07, 0x9C66, 0x6E08, 0x9C67, 0x6E09, 0x9C68, 0x6E0A, 0xD4A8, - 0x6E0B, 0x9C69, 0x6E0C, 0xE4CB, 0x6E0D, 0xD7D5, 0x6E0E, 0xE4C2, 0x6E0F, 0x9C6A, 0x6E10, 0xBDA5, 0x6E11, 0xE4C5, 0x6E12, 0x9C6B, - 0x6E13, 0x9C6C, 0x6E14, 0xD3E6, 0x6E15, 0x9C6D, 0x6E16, 0xE4C9, 0x6E17, 0xC9F8, 0x6E18, 0x9C6E, 0x6E19, 0x9C6F, 0x6E1A, 0xE4BE, - 0x6E1B, 0x9C70, 0x6E1C, 0x9C71, 0x6E1D, 0xD3E5, 0x6E1E, 0x9C72, 0x6E1F, 0x9C73, 0x6E20, 0xC7FE, 0x6E21, 0xB6C9, 0x6E22, 0x9C74, - 0x6E23, 0xD4FC, 0x6E24, 0xB2B3, 0x6E25, 0xE4D7, 0x6E26, 0x9C75, 0x6E27, 0x9C76, 0x6E28, 0x9C77, 0x6E29, 0xCEC2, 0x6E2A, 0x9C78, - 0x6E2B, 0xE4CD, 0x6E2C, 0x9C79, 0x6E2D, 0xCEBC, 0x6E2E, 0x9C7A, 0x6E2F, 0xB8DB, 0x6E30, 0x9C7B, 0x6E31, 0x9C7C, 0x6E32, 0xE4D6, - 0x6E33, 0x9C7D, 0x6E34, 0xBFCA, 0x6E35, 0x9C7E, 0x6E36, 0x9C80, 0x6E37, 0x9C81, 0x6E38, 0xD3CE, 0x6E39, 0x9C82, 0x6E3A, 0xC3EC, - 0x6E3B, 0x9C83, 0x6E3C, 0x9C84, 0x6E3D, 0x9C85, 0x6E3E, 0x9C86, 0x6E3F, 0x9C87, 0x6E40, 0x9C88, 0x6E41, 0x9C89, 0x6E42, 0x9C8A, - 0x6E43, 0xC5C8, 0x6E44, 0xE4D8, 0x6E45, 0x9C8B, 0x6E46, 0x9C8C, 0x6E47, 0x9C8D, 0x6E48, 0x9C8E, 0x6E49, 0x9C8F, 0x6E4A, 0x9C90, - 0x6E4B, 0x9C91, 0x6E4C, 0x9C92, 0x6E4D, 0xCDC4, 0x6E4E, 0xE4CF, 0x6E4F, 0x9C93, 0x6E50, 0x9C94, 0x6E51, 0x9C95, 0x6E52, 0x9C96, - 0x6E53, 0xE4D4, 0x6E54, 0xE4D5, 0x6E55, 0x9C97, 0x6E56, 0xBAFE, 0x6E57, 0x9C98, 0x6E58, 0xCFE6, 0x6E59, 0x9C99, 0x6E5A, 0x9C9A, - 0x6E5B, 0xD5BF, 0x6E5C, 0x9C9B, 0x6E5D, 0x9C9C, 0x6E5E, 0x9C9D, 0x6E5F, 0xE4D2, 0x6E60, 0x9C9E, 0x6E61, 0x9C9F, 0x6E62, 0x9CA0, - 0x6E63, 0x9CA1, 0x6E64, 0x9CA2, 0x6E65, 0x9CA3, 0x6E66, 0x9CA4, 0x6E67, 0x9CA5, 0x6E68, 0x9CA6, 0x6E69, 0x9CA7, 0x6E6A, 0x9CA8, - 0x6E6B, 0xE4D0, 0x6E6C, 0x9CA9, 0x6E6D, 0x9CAA, 0x6E6E, 0xE4CE, 0x6E6F, 0x9CAB, 0x6E70, 0x9CAC, 0x6E71, 0x9CAD, 0x6E72, 0x9CAE, - 0x6E73, 0x9CAF, 0x6E74, 0x9CB0, 0x6E75, 0x9CB1, 0x6E76, 0x9CB2, 0x6E77, 0x9CB3, 0x6E78, 0x9CB4, 0x6E79, 0x9CB5, 0x6E7A, 0x9CB6, - 0x6E7B, 0x9CB7, 0x6E7C, 0x9CB8, 0x6E7D, 0x9CB9, 0x6E7E, 0xCDE5, 0x6E7F, 0xCAAA, 0x6E80, 0x9CBA, 0x6E81, 0x9CBB, 0x6E82, 0x9CBC, - 0x6E83, 0xC0A3, 0x6E84, 0x9CBD, 0x6E85, 0xBDA6, 0x6E86, 0xE4D3, 0x6E87, 0x9CBE, 0x6E88, 0x9CBF, 0x6E89, 0xB8C8, 0x6E8A, 0x9CC0, - 0x6E8B, 0x9CC1, 0x6E8C, 0x9CC2, 0x6E8D, 0x9CC3, 0x6E8E, 0x9CC4, 0x6E8F, 0xE4E7, 0x6E90, 0xD4B4, 0x6E91, 0x9CC5, 0x6E92, 0x9CC6, - 0x6E93, 0x9CC7, 0x6E94, 0x9CC8, 0x6E95, 0x9CC9, 0x6E96, 0x9CCA, 0x6E97, 0x9CCB, 0x6E98, 0xE4DB, 0x6E99, 0x9CCC, 0x6E9A, 0x9CCD, - 0x6E9B, 0x9CCE, 0x6E9C, 0xC1EF, 0x6E9D, 0x9CCF, 0x6E9E, 0x9CD0, 0x6E9F, 0xE4E9, 0x6EA0, 0x9CD1, 0x6EA1, 0x9CD2, 0x6EA2, 0xD2E7, - 0x6EA3, 0x9CD3, 0x6EA4, 0x9CD4, 0x6EA5, 0xE4DF, 0x6EA6, 0x9CD5, 0x6EA7, 0xE4E0, 0x6EA8, 0x9CD6, 0x6EA9, 0x9CD7, 0x6EAA, 0xCFAA, - 0x6EAB, 0x9CD8, 0x6EAC, 0x9CD9, 0x6EAD, 0x9CDA, 0x6EAE, 0x9CDB, 0x6EAF, 0xCBDD, 0x6EB0, 0x9CDC, 0x6EB1, 0xE4DA, 0x6EB2, 0xE4D1, - 0x6EB3, 0x9CDD, 0x6EB4, 0xE4E5, 0x6EB5, 0x9CDE, 0x6EB6, 0xC8DC, 0x6EB7, 0xE4E3, 0x6EB8, 0x9CDF, 0x6EB9, 0x9CE0, 0x6EBA, 0xC4E7, - 0x6EBB, 0xE4E2, 0x6EBC, 0x9CE1, 0x6EBD, 0xE4E1, 0x6EBE, 0x9CE2, 0x6EBF, 0x9CE3, 0x6EC0, 0x9CE4, 0x6EC1, 0xB3FC, 0x6EC2, 0xE4E8, - 0x6EC3, 0x9CE5, 0x6EC4, 0x9CE6, 0x6EC5, 0x9CE7, 0x6EC6, 0x9CE8, 0x6EC7, 0xB5E1, 0x6EC8, 0x9CE9, 0x6EC9, 0x9CEA, 0x6ECA, 0x9CEB, - 0x6ECB, 0xD7CC, 0x6ECC, 0x9CEC, 0x6ECD, 0x9CED, 0x6ECE, 0x9CEE, 0x6ECF, 0xE4E6, 0x6ED0, 0x9CEF, 0x6ED1, 0xBBAC, 0x6ED2, 0x9CF0, - 0x6ED3, 0xD7D2, 0x6ED4, 0xCCCF, 0x6ED5, 0xEBF8, 0x6ED6, 0x9CF1, 0x6ED7, 0xE4E4, 0x6ED8, 0x9CF2, 0x6ED9, 0x9CF3, 0x6EDA, 0xB9F6, - 0x6EDB, 0x9CF4, 0x6EDC, 0x9CF5, 0x6EDD, 0x9CF6, 0x6EDE, 0xD6CD, 0x6EDF, 0xE4D9, 0x6EE0, 0xE4DC, 0x6EE1, 0xC2FA, 0x6EE2, 0xE4DE, - 0x6EE3, 0x9CF7, 0x6EE4, 0xC2CB, 0x6EE5, 0xC0C4, 0x6EE6, 0xC2D0, 0x6EE7, 0x9CF8, 0x6EE8, 0xB1F5, 0x6EE9, 0xCCB2, 0x6EEA, 0x9CF9, - 0x6EEB, 0x9CFA, 0x6EEC, 0x9CFB, 0x6EED, 0x9CFC, 0x6EEE, 0x9CFD, 0x6EEF, 0x9CFE, 0x6EF0, 0x9D40, 0x6EF1, 0x9D41, 0x6EF2, 0x9D42, - 0x6EF3, 0x9D43, 0x6EF4, 0xB5CE, 0x6EF5, 0x9D44, 0x6EF6, 0x9D45, 0x6EF7, 0x9D46, 0x6EF8, 0x9D47, 0x6EF9, 0xE4EF, 0x6EFA, 0x9D48, - 0x6EFB, 0x9D49, 0x6EFC, 0x9D4A, 0x6EFD, 0x9D4B, 0x6EFE, 0x9D4C, 0x6EFF, 0x9D4D, 0x6F00, 0x9D4E, 0x6F01, 0x9D4F, 0x6F02, 0xC6AF, - 0x6F03, 0x9D50, 0x6F04, 0x9D51, 0x6F05, 0x9D52, 0x6F06, 0xC6E1, 0x6F07, 0x9D53, 0x6F08, 0x9D54, 0x6F09, 0xE4F5, 0x6F0A, 0x9D55, - 0x6F0B, 0x9D56, 0x6F0C, 0x9D57, 0x6F0D, 0x9D58, 0x6F0E, 0x9D59, 0x6F0F, 0xC2A9, 0x6F10, 0x9D5A, 0x6F11, 0x9D5B, 0x6F12, 0x9D5C, - 0x6F13, 0xC0EC, 0x6F14, 0xD1DD, 0x6F15, 0xE4EE, 0x6F16, 0x9D5D, 0x6F17, 0x9D5E, 0x6F18, 0x9D5F, 0x6F19, 0x9D60, 0x6F1A, 0x9D61, - 0x6F1B, 0x9D62, 0x6F1C, 0x9D63, 0x6F1D, 0x9D64, 0x6F1E, 0x9D65, 0x6F1F, 0x9D66, 0x6F20, 0xC4AE, 0x6F21, 0x9D67, 0x6F22, 0x9D68, - 0x6F23, 0x9D69, 0x6F24, 0xE4ED, 0x6F25, 0x9D6A, 0x6F26, 0x9D6B, 0x6F27, 0x9D6C, 0x6F28, 0x9D6D, 0x6F29, 0xE4F6, 0x6F2A, 0xE4F4, - 0x6F2B, 0xC2FE, 0x6F2C, 0x9D6E, 0x6F2D, 0xE4DD, 0x6F2E, 0x9D6F, 0x6F2F, 0xE4F0, 0x6F30, 0x9D70, 0x6F31, 0xCAFE, 0x6F32, 0x9D71, - 0x6F33, 0xD5C4, 0x6F34, 0x9D72, 0x6F35, 0x9D73, 0x6F36, 0xE4F1, 0x6F37, 0x9D74, 0x6F38, 0x9D75, 0x6F39, 0x9D76, 0x6F3A, 0x9D77, - 0x6F3B, 0x9D78, 0x6F3C, 0x9D79, 0x6F3D, 0x9D7A, 0x6F3E, 0xD1FA, 0x6F3F, 0x9D7B, 0x6F40, 0x9D7C, 0x6F41, 0x9D7D, 0x6F42, 0x9D7E, - 0x6F43, 0x9D80, 0x6F44, 0x9D81, 0x6F45, 0x9D82, 0x6F46, 0xE4EB, 0x6F47, 0xE4EC, 0x6F48, 0x9D83, 0x6F49, 0x9D84, 0x6F4A, 0x9D85, - 0x6F4B, 0xE4F2, 0x6F4C, 0x9D86, 0x6F4D, 0xCEAB, 0x6F4E, 0x9D87, 0x6F4F, 0x9D88, 0x6F50, 0x9D89, 0x6F51, 0x9D8A, 0x6F52, 0x9D8B, - 0x6F53, 0x9D8C, 0x6F54, 0x9D8D, 0x6F55, 0x9D8E, 0x6F56, 0x9D8F, 0x6F57, 0x9D90, 0x6F58, 0xC5CB, 0x6F59, 0x9D91, 0x6F5A, 0x9D92, - 0x6F5B, 0x9D93, 0x6F5C, 0xC7B1, 0x6F5D, 0x9D94, 0x6F5E, 0xC2BA, 0x6F5F, 0x9D95, 0x6F60, 0x9D96, 0x6F61, 0x9D97, 0x6F62, 0xE4EA, - 0x6F63, 0x9D98, 0x6F64, 0x9D99, 0x6F65, 0x9D9A, 0x6F66, 0xC1CA, 0x6F67, 0x9D9B, 0x6F68, 0x9D9C, 0x6F69, 0x9D9D, 0x6F6A, 0x9D9E, - 0x6F6B, 0x9D9F, 0x6F6C, 0x9DA0, 0x6F6D, 0xCCB6, 0x6F6E, 0xB3B1, 0x6F6F, 0x9DA1, 0x6F70, 0x9DA2, 0x6F71, 0x9DA3, 0x6F72, 0xE4FB, - 0x6F73, 0x9DA4, 0x6F74, 0xE4F3, 0x6F75, 0x9DA5, 0x6F76, 0x9DA6, 0x6F77, 0x9DA7, 0x6F78, 0xE4FA, 0x6F79, 0x9DA8, 0x6F7A, 0xE4FD, - 0x6F7B, 0x9DA9, 0x6F7C, 0xE4FC, 0x6F7D, 0x9DAA, 0x6F7E, 0x9DAB, 0x6F7F, 0x9DAC, 0x6F80, 0x9DAD, 0x6F81, 0x9DAE, 0x6F82, 0x9DAF, - 0x6F83, 0x9DB0, 0x6F84, 0xB3CE, 0x6F85, 0x9DB1, 0x6F86, 0x9DB2, 0x6F87, 0x9DB3, 0x6F88, 0xB3BA, 0x6F89, 0xE4F7, 0x6F8A, 0x9DB4, - 0x6F8B, 0x9DB5, 0x6F8C, 0xE4F9, 0x6F8D, 0xE4F8, 0x6F8E, 0xC5EC, 0x6F8F, 0x9DB6, 0x6F90, 0x9DB7, 0x6F91, 0x9DB8, 0x6F92, 0x9DB9, - 0x6F93, 0x9DBA, 0x6F94, 0x9DBB, 0x6F95, 0x9DBC, 0x6F96, 0x9DBD, 0x6F97, 0x9DBE, 0x6F98, 0x9DBF, 0x6F99, 0x9DC0, 0x6F9A, 0x9DC1, - 0x6F9B, 0x9DC2, 0x6F9C, 0xC0BD, 0x6F9D, 0x9DC3, 0x6F9E, 0x9DC4, 0x6F9F, 0x9DC5, 0x6FA0, 0x9DC6, 0x6FA1, 0xD4E8, 0x6FA2, 0x9DC7, - 0x6FA3, 0x9DC8, 0x6FA4, 0x9DC9, 0x6FA5, 0x9DCA, 0x6FA6, 0x9DCB, 0x6FA7, 0xE5A2, 0x6FA8, 0x9DCC, 0x6FA9, 0x9DCD, 0x6FAA, 0x9DCE, - 0x6FAB, 0x9DCF, 0x6FAC, 0x9DD0, 0x6FAD, 0x9DD1, 0x6FAE, 0x9DD2, 0x6FAF, 0x9DD3, 0x6FB0, 0x9DD4, 0x6FB1, 0x9DD5, 0x6FB2, 0x9DD6, - 0x6FB3, 0xB0C4, 0x6FB4, 0x9DD7, 0x6FB5, 0x9DD8, 0x6FB6, 0xE5A4, 0x6FB7, 0x9DD9, 0x6FB8, 0x9DDA, 0x6FB9, 0xE5A3, 0x6FBA, 0x9DDB, - 0x6FBB, 0x9DDC, 0x6FBC, 0x9DDD, 0x6FBD, 0x9DDE, 0x6FBE, 0x9DDF, 0x6FBF, 0x9DE0, 0x6FC0, 0xBCA4, 0x6FC1, 0x9DE1, 0x6FC2, 0xE5A5, - 0x6FC3, 0x9DE2, 0x6FC4, 0x9DE3, 0x6FC5, 0x9DE4, 0x6FC6, 0x9DE5, 0x6FC7, 0x9DE6, 0x6FC8, 0x9DE7, 0x6FC9, 0xE5A1, 0x6FCA, 0x9DE8, - 0x6FCB, 0x9DE9, 0x6FCC, 0x9DEA, 0x6FCD, 0x9DEB, 0x6FCE, 0x9DEC, 0x6FCF, 0x9DED, 0x6FD0, 0x9DEE, 0x6FD1, 0xE4FE, 0x6FD2, 0xB1F4, - 0x6FD3, 0x9DEF, 0x6FD4, 0x9DF0, 0x6FD5, 0x9DF1, 0x6FD6, 0x9DF2, 0x6FD7, 0x9DF3, 0x6FD8, 0x9DF4, 0x6FD9, 0x9DF5, 0x6FDA, 0x9DF6, - 0x6FDB, 0x9DF7, 0x6FDC, 0x9DF8, 0x6FDD, 0x9DF9, 0x6FDE, 0xE5A8, 0x6FDF, 0x9DFA, 0x6FE0, 0xE5A9, 0x6FE1, 0xE5A6, 0x6FE2, 0x9DFB, - 0x6FE3, 0x9DFC, 0x6FE4, 0x9DFD, 0x6FE5, 0x9DFE, 0x6FE6, 0x9E40, 0x6FE7, 0x9E41, 0x6FE8, 0x9E42, 0x6FE9, 0x9E43, 0x6FEA, 0x9E44, - 0x6FEB, 0x9E45, 0x6FEC, 0x9E46, 0x6FED, 0x9E47, 0x6FEE, 0xE5A7, 0x6FEF, 0xE5AA, 0x6FF0, 0x9E48, 0x6FF1, 0x9E49, 0x6FF2, 0x9E4A, - 0x6FF3, 0x9E4B, 0x6FF4, 0x9E4C, 0x6FF5, 0x9E4D, 0x6FF6, 0x9E4E, 0x6FF7, 0x9E4F, 0x6FF8, 0x9E50, 0x6FF9, 0x9E51, 0x6FFA, 0x9E52, - 0x6FFB, 0x9E53, 0x6FFC, 0x9E54, 0x6FFD, 0x9E55, 0x6FFE, 0x9E56, 0x6FFF, 0x9E57, 0x7000, 0x9E58, 0x7001, 0x9E59, 0x7002, 0x9E5A, - 0x7003, 0x9E5B, 0x7004, 0x9E5C, 0x7005, 0x9E5D, 0x7006, 0x9E5E, 0x7007, 0x9E5F, 0x7008, 0x9E60, 0x7009, 0x9E61, 0x700A, 0x9E62, - 0x700B, 0x9E63, 0x700C, 0x9E64, 0x700D, 0x9E65, 0x700E, 0x9E66, 0x700F, 0x9E67, 0x7010, 0x9E68, 0x7011, 0xC6D9, 0x7012, 0x9E69, - 0x7013, 0x9E6A, 0x7014, 0x9E6B, 0x7015, 0x9E6C, 0x7016, 0x9E6D, 0x7017, 0x9E6E, 0x7018, 0x9E6F, 0x7019, 0x9E70, 0x701A, 0xE5AB, - 0x701B, 0xE5AD, 0x701C, 0x9E71, 0x701D, 0x9E72, 0x701E, 0x9E73, 0x701F, 0x9E74, 0x7020, 0x9E75, 0x7021, 0x9E76, 0x7022, 0x9E77, - 0x7023, 0xE5AC, 0x7024, 0x9E78, 0x7025, 0x9E79, 0x7026, 0x9E7A, 0x7027, 0x9E7B, 0x7028, 0x9E7C, 0x7029, 0x9E7D, 0x702A, 0x9E7E, - 0x702B, 0x9E80, 0x702C, 0x9E81, 0x702D, 0x9E82, 0x702E, 0x9E83, 0x702F, 0x9E84, 0x7030, 0x9E85, 0x7031, 0x9E86, 0x7032, 0x9E87, - 0x7033, 0x9E88, 0x7034, 0x9E89, 0x7035, 0xE5AF, 0x7036, 0x9E8A, 0x7037, 0x9E8B, 0x7038, 0x9E8C, 0x7039, 0xE5AE, 0x703A, 0x9E8D, - 0x703B, 0x9E8E, 0x703C, 0x9E8F, 0x703D, 0x9E90, 0x703E, 0x9E91, 0x703F, 0x9E92, 0x7040, 0x9E93, 0x7041, 0x9E94, 0x7042, 0x9E95, - 0x7043, 0x9E96, 0x7044, 0x9E97, 0x7045, 0x9E98, 0x7046, 0x9E99, 0x7047, 0x9E9A, 0x7048, 0x9E9B, 0x7049, 0x9E9C, 0x704A, 0x9E9D, - 0x704B, 0x9E9E, 0x704C, 0xB9E0, 0x704D, 0x9E9F, 0x704E, 0x9EA0, 0x704F, 0xE5B0, 0x7050, 0x9EA1, 0x7051, 0x9EA2, 0x7052, 0x9EA3, - 0x7053, 0x9EA4, 0x7054, 0x9EA5, 0x7055, 0x9EA6, 0x7056, 0x9EA7, 0x7057, 0x9EA8, 0x7058, 0x9EA9, 0x7059, 0x9EAA, 0x705A, 0x9EAB, - 0x705B, 0x9EAC, 0x705C, 0x9EAD, 0x705D, 0x9EAE, 0x705E, 0xE5B1, 0x705F, 0x9EAF, 0x7060, 0x9EB0, 0x7061, 0x9EB1, 0x7062, 0x9EB2, - 0x7063, 0x9EB3, 0x7064, 0x9EB4, 0x7065, 0x9EB5, 0x7066, 0x9EB6, 0x7067, 0x9EB7, 0x7068, 0x9EB8, 0x7069, 0x9EB9, 0x706A, 0x9EBA, - 0x706B, 0xBBF0, 0x706C, 0xECE1, 0x706D, 0xC3F0, 0x706E, 0x9EBB, 0x706F, 0xB5C6, 0x7070, 0xBBD2, 0x7071, 0x9EBC, 0x7072, 0x9EBD, - 0x7073, 0x9EBE, 0x7074, 0x9EBF, 0x7075, 0xC1E9, 0x7076, 0xD4EE, 0x7077, 0x9EC0, 0x7078, 0xBEC4, 0x7079, 0x9EC1, 0x707A, 0x9EC2, - 0x707B, 0x9EC3, 0x707C, 0xD7C6, 0x707D, 0x9EC4, 0x707E, 0xD4D6, 0x707F, 0xB2D3, 0x7080, 0xECBE, 0x7081, 0x9EC5, 0x7082, 0x9EC6, - 0x7083, 0x9EC7, 0x7084, 0x9EC8, 0x7085, 0xEAC1, 0x7086, 0x9EC9, 0x7087, 0x9ECA, 0x7088, 0x9ECB, 0x7089, 0xC2AF, 0x708A, 0xB4B6, - 0x708B, 0x9ECC, 0x708C, 0x9ECD, 0x708D, 0x9ECE, 0x708E, 0xD1D7, 0x708F, 0x9ECF, 0x7090, 0x9ED0, 0x7091, 0x9ED1, 0x7092, 0xB3B4, - 0x7093, 0x9ED2, 0x7094, 0xC8B2, 0x7095, 0xBFBB, 0x7096, 0xECC0, 0x7097, 0x9ED3, 0x7098, 0x9ED4, 0x7099, 0xD6CB, 0x709A, 0x9ED5, - 0x709B, 0x9ED6, 0x709C, 0xECBF, 0x709D, 0xECC1, 0x709E, 0x9ED7, 0x709F, 0x9ED8, 0x70A0, 0x9ED9, 0x70A1, 0x9EDA, 0x70A2, 0x9EDB, - 0x70A3, 0x9EDC, 0x70A4, 0x9EDD, 0x70A5, 0x9EDE, 0x70A6, 0x9EDF, 0x70A7, 0x9EE0, 0x70A8, 0x9EE1, 0x70A9, 0x9EE2, 0x70AA, 0x9EE3, - 0x70AB, 0xECC5, 0x70AC, 0xBEE6, 0x70AD, 0xCCBF, 0x70AE, 0xC5DA, 0x70AF, 0xBEBC, 0x70B0, 0x9EE4, 0x70B1, 0xECC6, 0x70B2, 0x9EE5, - 0x70B3, 0xB1FE, 0x70B4, 0x9EE6, 0x70B5, 0x9EE7, 0x70B6, 0x9EE8, 0x70B7, 0xECC4, 0x70B8, 0xD5A8, 0x70B9, 0xB5E3, 0x70BA, 0x9EE9, - 0x70BB, 0xECC2, 0x70BC, 0xC1B6, 0x70BD, 0xB3E3, 0x70BE, 0x9EEA, 0x70BF, 0x9EEB, 0x70C0, 0xECC3, 0x70C1, 0xCBB8, 0x70C2, 0xC0C3, - 0x70C3, 0xCCFE, 0x70C4, 0x9EEC, 0x70C5, 0x9EED, 0x70C6, 0x9EEE, 0x70C7, 0x9EEF, 0x70C8, 0xC1D2, 0x70C9, 0x9EF0, 0x70CA, 0xECC8, - 0x70CB, 0x9EF1, 0x70CC, 0x9EF2, 0x70CD, 0x9EF3, 0x70CE, 0x9EF4, 0x70CF, 0x9EF5, 0x70D0, 0x9EF6, 0x70D1, 0x9EF7, 0x70D2, 0x9EF8, - 0x70D3, 0x9EF9, 0x70D4, 0x9EFA, 0x70D5, 0x9EFB, 0x70D6, 0x9EFC, 0x70D7, 0x9EFD, 0x70D8, 0xBAE6, 0x70D9, 0xC0D3, 0x70DA, 0x9EFE, - 0x70DB, 0xD6F2, 0x70DC, 0x9F40, 0x70DD, 0x9F41, 0x70DE, 0x9F42, 0x70DF, 0xD1CC, 0x70E0, 0x9F43, 0x70E1, 0x9F44, 0x70E2, 0x9F45, - 0x70E3, 0x9F46, 0x70E4, 0xBFBE, 0x70E5, 0x9F47, 0x70E6, 0xB7B3, 0x70E7, 0xC9D5, 0x70E8, 0xECC7, 0x70E9, 0xBBE2, 0x70EA, 0x9F48, - 0x70EB, 0xCCCC, 0x70EC, 0xBDFD, 0x70ED, 0xC8C8, 0x70EE, 0x9F49, 0x70EF, 0xCFA9, 0x70F0, 0x9F4A, 0x70F1, 0x9F4B, 0x70F2, 0x9F4C, - 0x70F3, 0x9F4D, 0x70F4, 0x9F4E, 0x70F5, 0x9F4F, 0x70F6, 0x9F50, 0x70F7, 0xCDE9, 0x70F8, 0x9F51, 0x70F9, 0xC5EB, 0x70FA, 0x9F52, - 0x70FB, 0x9F53, 0x70FC, 0x9F54, 0x70FD, 0xB7E9, 0x70FE, 0x9F55, 0x70FF, 0x9F56, 0x7100, 0x9F57, 0x7101, 0x9F58, 0x7102, 0x9F59, - 0x7103, 0x9F5A, 0x7104, 0x9F5B, 0x7105, 0x9F5C, 0x7106, 0x9F5D, 0x7107, 0x9F5E, 0x7108, 0x9F5F, 0x7109, 0xD1C9, 0x710A, 0xBAB8, - 0x710B, 0x9F60, 0x710C, 0x9F61, 0x710D, 0x9F62, 0x710E, 0x9F63, 0x710F, 0x9F64, 0x7110, 0xECC9, 0x7111, 0x9F65, 0x7112, 0x9F66, - 0x7113, 0xECCA, 0x7114, 0x9F67, 0x7115, 0xBBC0, 0x7116, 0xECCB, 0x7117, 0x9F68, 0x7118, 0xECE2, 0x7119, 0xB1BA, 0x711A, 0xB7D9, - 0x711B, 0x9F69, 0x711C, 0x9F6A, 0x711D, 0x9F6B, 0x711E, 0x9F6C, 0x711F, 0x9F6D, 0x7120, 0x9F6E, 0x7121, 0x9F6F, 0x7122, 0x9F70, - 0x7123, 0x9F71, 0x7124, 0x9F72, 0x7125, 0x9F73, 0x7126, 0xBDB9, 0x7127, 0x9F74, 0x7128, 0x9F75, 0x7129, 0x9F76, 0x712A, 0x9F77, - 0x712B, 0x9F78, 0x712C, 0x9F79, 0x712D, 0x9F7A, 0x712E, 0x9F7B, 0x712F, 0xECCC, 0x7130, 0xD1E6, 0x7131, 0xECCD, 0x7132, 0x9F7C, - 0x7133, 0x9F7D, 0x7134, 0x9F7E, 0x7135, 0x9F80, 0x7136, 0xC8BB, 0x7137, 0x9F81, 0x7138, 0x9F82, 0x7139, 0x9F83, 0x713A, 0x9F84, - 0x713B, 0x9F85, 0x713C, 0x9F86, 0x713D, 0x9F87, 0x713E, 0x9F88, 0x713F, 0x9F89, 0x7140, 0x9F8A, 0x7141, 0x9F8B, 0x7142, 0x9F8C, - 0x7143, 0x9F8D, 0x7144, 0x9F8E, 0x7145, 0xECD1, 0x7146, 0x9F8F, 0x7147, 0x9F90, 0x7148, 0x9F91, 0x7149, 0x9F92, 0x714A, 0xECD3, - 0x714B, 0x9F93, 0x714C, 0xBBCD, 0x714D, 0x9F94, 0x714E, 0xBCE5, 0x714F, 0x9F95, 0x7150, 0x9F96, 0x7151, 0x9F97, 0x7152, 0x9F98, - 0x7153, 0x9F99, 0x7154, 0x9F9A, 0x7155, 0x9F9B, 0x7156, 0x9F9C, 0x7157, 0x9F9D, 0x7158, 0x9F9E, 0x7159, 0x9F9F, 0x715A, 0x9FA0, - 0x715B, 0x9FA1, 0x715C, 0xECCF, 0x715D, 0x9FA2, 0x715E, 0xC9B7, 0x715F, 0x9FA3, 0x7160, 0x9FA4, 0x7161, 0x9FA5, 0x7162, 0x9FA6, - 0x7163, 0x9FA7, 0x7164, 0xC3BA, 0x7165, 0x9FA8, 0x7166, 0xECE3, 0x7167, 0xD5D5, 0x7168, 0xECD0, 0x7169, 0x9FA9, 0x716A, 0x9FAA, - 0x716B, 0x9FAB, 0x716C, 0x9FAC, 0x716D, 0x9FAD, 0x716E, 0xD6F3, 0x716F, 0x9FAE, 0x7170, 0x9FAF, 0x7171, 0x9FB0, 0x7172, 0xECD2, - 0x7173, 0xECCE, 0x7174, 0x9FB1, 0x7175, 0x9FB2, 0x7176, 0x9FB3, 0x7177, 0x9FB4, 0x7178, 0xECD4, 0x7179, 0x9FB5, 0x717A, 0xECD5, - 0x717B, 0x9FB6, 0x717C, 0x9FB7, 0x717D, 0xC9BF, 0x717E, 0x9FB8, 0x717F, 0x9FB9, 0x7180, 0x9FBA, 0x7181, 0x9FBB, 0x7182, 0x9FBC, - 0x7183, 0x9FBD, 0x7184, 0xCFA8, 0x7185, 0x9FBE, 0x7186, 0x9FBF, 0x7187, 0x9FC0, 0x7188, 0x9FC1, 0x7189, 0x9FC2, 0x718A, 0xD0DC, - 0x718B, 0x9FC3, 0x718C, 0x9FC4, 0x718D, 0x9FC5, 0x718E, 0x9FC6, 0x718F, 0xD1AC, 0x7190, 0x9FC7, 0x7191, 0x9FC8, 0x7192, 0x9FC9, - 0x7193, 0x9FCA, 0x7194, 0xC8DB, 0x7195, 0x9FCB, 0x7196, 0x9FCC, 0x7197, 0x9FCD, 0x7198, 0xECD6, 0x7199, 0xCEF5, 0x719A, 0x9FCE, - 0x719B, 0x9FCF, 0x719C, 0x9FD0, 0x719D, 0x9FD1, 0x719E, 0x9FD2, 0x719F, 0xCAEC, 0x71A0, 0xECDA, 0x71A1, 0x9FD3, 0x71A2, 0x9FD4, - 0x71A3, 0x9FD5, 0x71A4, 0x9FD6, 0x71A5, 0x9FD7, 0x71A6, 0x9FD8, 0x71A7, 0x9FD9, 0x71A8, 0xECD9, 0x71A9, 0x9FDA, 0x71AA, 0x9FDB, - 0x71AB, 0x9FDC, 0x71AC, 0xB0BE, 0x71AD, 0x9FDD, 0x71AE, 0x9FDE, 0x71AF, 0x9FDF, 0x71B0, 0x9FE0, 0x71B1, 0x9FE1, 0x71B2, 0x9FE2, - 0x71B3, 0xECD7, 0x71B4, 0x9FE3, 0x71B5, 0xECD8, 0x71B6, 0x9FE4, 0x71B7, 0x9FE5, 0x71B8, 0x9FE6, 0x71B9, 0xECE4, 0x71BA, 0x9FE7, - 0x71BB, 0x9FE8, 0x71BC, 0x9FE9, 0x71BD, 0x9FEA, 0x71BE, 0x9FEB, 0x71BF, 0x9FEC, 0x71C0, 0x9FED, 0x71C1, 0x9FEE, 0x71C2, 0x9FEF, - 0x71C3, 0xC8BC, 0x71C4, 0x9FF0, 0x71C5, 0x9FF1, 0x71C6, 0x9FF2, 0x71C7, 0x9FF3, 0x71C8, 0x9FF4, 0x71C9, 0x9FF5, 0x71CA, 0x9FF6, - 0x71CB, 0x9FF7, 0x71CC, 0x9FF8, 0x71CD, 0x9FF9, 0x71CE, 0xC1C7, 0x71CF, 0x9FFA, 0x71D0, 0x9FFB, 0x71D1, 0x9FFC, 0x71D2, 0x9FFD, - 0x71D3, 0x9FFE, 0x71D4, 0xECDC, 0x71D5, 0xD1E0, 0x71D6, 0xA040, 0x71D7, 0xA041, 0x71D8, 0xA042, 0x71D9, 0xA043, 0x71DA, 0xA044, - 0x71DB, 0xA045, 0x71DC, 0xA046, 0x71DD, 0xA047, 0x71DE, 0xA048, 0x71DF, 0xA049, 0x71E0, 0xECDB, 0x71E1, 0xA04A, 0x71E2, 0xA04B, - 0x71E3, 0xA04C, 0x71E4, 0xA04D, 0x71E5, 0xD4EF, 0x71E6, 0xA04E, 0x71E7, 0xECDD, 0x71E8, 0xA04F, 0x71E9, 0xA050, 0x71EA, 0xA051, - 0x71EB, 0xA052, 0x71EC, 0xA053, 0x71ED, 0xA054, 0x71EE, 0xDBC6, 0x71EF, 0xA055, 0x71F0, 0xA056, 0x71F1, 0xA057, 0x71F2, 0xA058, - 0x71F3, 0xA059, 0x71F4, 0xA05A, 0x71F5, 0xA05B, 0x71F6, 0xA05C, 0x71F7, 0xA05D, 0x71F8, 0xA05E, 0x71F9, 0xECDE, 0x71FA, 0xA05F, - 0x71FB, 0xA060, 0x71FC, 0xA061, 0x71FD, 0xA062, 0x71FE, 0xA063, 0x71FF, 0xA064, 0x7200, 0xA065, 0x7201, 0xA066, 0x7202, 0xA067, - 0x7203, 0xA068, 0x7204, 0xA069, 0x7205, 0xA06A, 0x7206, 0xB1AC, 0x7207, 0xA06B, 0x7208, 0xA06C, 0x7209, 0xA06D, 0x720A, 0xA06E, - 0x720B, 0xA06F, 0x720C, 0xA070, 0x720D, 0xA071, 0x720E, 0xA072, 0x720F, 0xA073, 0x7210, 0xA074, 0x7211, 0xA075, 0x7212, 0xA076, - 0x7213, 0xA077, 0x7214, 0xA078, 0x7215, 0xA079, 0x7216, 0xA07A, 0x7217, 0xA07B, 0x7218, 0xA07C, 0x7219, 0xA07D, 0x721A, 0xA07E, - 0x721B, 0xA080, 0x721C, 0xA081, 0x721D, 0xECDF, 0x721E, 0xA082, 0x721F, 0xA083, 0x7220, 0xA084, 0x7221, 0xA085, 0x7222, 0xA086, - 0x7223, 0xA087, 0x7224, 0xA088, 0x7225, 0xA089, 0x7226, 0xA08A, 0x7227, 0xA08B, 0x7228, 0xECE0, 0x7229, 0xA08C, 0x722A, 0xD7A6, - 0x722B, 0xA08D, 0x722C, 0xC5C0, 0x722D, 0xA08E, 0x722E, 0xA08F, 0x722F, 0xA090, 0x7230, 0xEBBC, 0x7231, 0xB0AE, 0x7232, 0xA091, - 0x7233, 0xA092, 0x7234, 0xA093, 0x7235, 0xBEF4, 0x7236, 0xB8B8, 0x7237, 0xD2AF, 0x7238, 0xB0D6, 0x7239, 0xB5F9, 0x723A, 0xA094, - 0x723B, 0xD8B3, 0x723C, 0xA095, 0x723D, 0xCBAC, 0x723E, 0xA096, 0x723F, 0xE3DD, 0x7240, 0xA097, 0x7241, 0xA098, 0x7242, 0xA099, - 0x7243, 0xA09A, 0x7244, 0xA09B, 0x7245, 0xA09C, 0x7246, 0xA09D, 0x7247, 0xC6AC, 0x7248, 0xB0E6, 0x7249, 0xA09E, 0x724A, 0xA09F, - 0x724B, 0xA0A0, 0x724C, 0xC5C6, 0x724D, 0xEBB9, 0x724E, 0xA0A1, 0x724F, 0xA0A2, 0x7250, 0xA0A3, 0x7251, 0xA0A4, 0x7252, 0xEBBA, - 0x7253, 0xA0A5, 0x7254, 0xA0A6, 0x7255, 0xA0A7, 0x7256, 0xEBBB, 0x7257, 0xA0A8, 0x7258, 0xA0A9, 0x7259, 0xD1C0, 0x725A, 0xA0AA, - 0x725B, 0xC5A3, 0x725C, 0xA0AB, 0x725D, 0xEAF2, 0x725E, 0xA0AC, 0x725F, 0xC4B2, 0x7260, 0xA0AD, 0x7261, 0xC4B5, 0x7262, 0xC0CE, - 0x7263, 0xA0AE, 0x7264, 0xA0AF, 0x7265, 0xA0B0, 0x7266, 0xEAF3, 0x7267, 0xC4C1, 0x7268, 0xA0B1, 0x7269, 0xCEEF, 0x726A, 0xA0B2, - 0x726B, 0xA0B3, 0x726C, 0xA0B4, 0x726D, 0xA0B5, 0x726E, 0xEAF0, 0x726F, 0xEAF4, 0x7270, 0xA0B6, 0x7271, 0xA0B7, 0x7272, 0xC9FC, - 0x7273, 0xA0B8, 0x7274, 0xA0B9, 0x7275, 0xC7A3, 0x7276, 0xA0BA, 0x7277, 0xA0BB, 0x7278, 0xA0BC, 0x7279, 0xCCD8, 0x727A, 0xCEFE, - 0x727B, 0xA0BD, 0x727C, 0xA0BE, 0x727D, 0xA0BF, 0x727E, 0xEAF5, 0x727F, 0xEAF6, 0x7280, 0xCFAC, 0x7281, 0xC0E7, 0x7282, 0xA0C0, - 0x7283, 0xA0C1, 0x7284, 0xEAF7, 0x7285, 0xA0C2, 0x7286, 0xA0C3, 0x7287, 0xA0C4, 0x7288, 0xA0C5, 0x7289, 0xA0C6, 0x728A, 0xB6BF, - 0x728B, 0xEAF8, 0x728C, 0xA0C7, 0x728D, 0xEAF9, 0x728E, 0xA0C8, 0x728F, 0xEAFA, 0x7290, 0xA0C9, 0x7291, 0xA0CA, 0x7292, 0xEAFB, - 0x7293, 0xA0CB, 0x7294, 0xA0CC, 0x7295, 0xA0CD, 0x7296, 0xA0CE, 0x7297, 0xA0CF, 0x7298, 0xA0D0, 0x7299, 0xA0D1, 0x729A, 0xA0D2, - 0x729B, 0xA0D3, 0x729C, 0xA0D4, 0x729D, 0xA0D5, 0x729E, 0xA0D6, 0x729F, 0xEAF1, 0x72A0, 0xA0D7, 0x72A1, 0xA0D8, 0x72A2, 0xA0D9, - 0x72A3, 0xA0DA, 0x72A4, 0xA0DB, 0x72A5, 0xA0DC, 0x72A6, 0xA0DD, 0x72A7, 0xA0DE, 0x72A8, 0xA0DF, 0x72A9, 0xA0E0, 0x72AA, 0xA0E1, - 0x72AB, 0xA0E2, 0x72AC, 0xC8AE, 0x72AD, 0xE1EB, 0x72AE, 0xA0E3, 0x72AF, 0xB7B8, 0x72B0, 0xE1EC, 0x72B1, 0xA0E4, 0x72B2, 0xA0E5, - 0x72B3, 0xA0E6, 0x72B4, 0xE1ED, 0x72B5, 0xA0E7, 0x72B6, 0xD7B4, 0x72B7, 0xE1EE, 0x72B8, 0xE1EF, 0x72B9, 0xD3CC, 0x72BA, 0xA0E8, - 0x72BB, 0xA0E9, 0x72BC, 0xA0EA, 0x72BD, 0xA0EB, 0x72BE, 0xA0EC, 0x72BF, 0xA0ED, 0x72C0, 0xA0EE, 0x72C1, 0xE1F1, 0x72C2, 0xBFF1, - 0x72C3, 0xE1F0, 0x72C4, 0xB5D2, 0x72C5, 0xA0EF, 0x72C6, 0xA0F0, 0x72C7, 0xA0F1, 0x72C8, 0xB1B7, 0x72C9, 0xA0F2, 0x72CA, 0xA0F3, - 0x72CB, 0xA0F4, 0x72CC, 0xA0F5, 0x72CD, 0xE1F3, 0x72CE, 0xE1F2, 0x72CF, 0xA0F6, 0x72D0, 0xBAFC, 0x72D1, 0xA0F7, 0x72D2, 0xE1F4, - 0x72D3, 0xA0F8, 0x72D4, 0xA0F9, 0x72D5, 0xA0FA, 0x72D6, 0xA0FB, 0x72D7, 0xB9B7, 0x72D8, 0xA0FC, 0x72D9, 0xBED1, 0x72DA, 0xA0FD, - 0x72DB, 0xA0FE, 0x72DC, 0xAA40, 0x72DD, 0xAA41, 0x72DE, 0xC4FC, 0x72DF, 0xAA42, 0x72E0, 0xBADD, 0x72E1, 0xBDC6, 0x72E2, 0xAA43, - 0x72E3, 0xAA44, 0x72E4, 0xAA45, 0x72E5, 0xAA46, 0x72E6, 0xAA47, 0x72E7, 0xAA48, 0x72E8, 0xE1F5, 0x72E9, 0xE1F7, 0x72EA, 0xAA49, - 0x72EB, 0xAA4A, 0x72EC, 0xB6C0, 0x72ED, 0xCFC1, 0x72EE, 0xCAA8, 0x72EF, 0xE1F6, 0x72F0, 0xD5F8, 0x72F1, 0xD3FC, 0x72F2, 0xE1F8, - 0x72F3, 0xE1FC, 0x72F4, 0xE1F9, 0x72F5, 0xAA4B, 0x72F6, 0xAA4C, 0x72F7, 0xE1FA, 0x72F8, 0xC0EA, 0x72F9, 0xAA4D, 0x72FA, 0xE1FE, - 0x72FB, 0xE2A1, 0x72FC, 0xC0C7, 0x72FD, 0xAA4E, 0x72FE, 0xAA4F, 0x72FF, 0xAA50, 0x7300, 0xAA51, 0x7301, 0xE1FB, 0x7302, 0xAA52, - 0x7303, 0xE1FD, 0x7304, 0xAA53, 0x7305, 0xAA54, 0x7306, 0xAA55, 0x7307, 0xAA56, 0x7308, 0xAA57, 0x7309, 0xAA58, 0x730A, 0xE2A5, - 0x730B, 0xAA59, 0x730C, 0xAA5A, 0x730D, 0xAA5B, 0x730E, 0xC1D4, 0x730F, 0xAA5C, 0x7310, 0xAA5D, 0x7311, 0xAA5E, 0x7312, 0xAA5F, - 0x7313, 0xE2A3, 0x7314, 0xAA60, 0x7315, 0xE2A8, 0x7316, 0xB2FE, 0x7317, 0xE2A2, 0x7318, 0xAA61, 0x7319, 0xAA62, 0x731A, 0xAA63, - 0x731B, 0xC3CD, 0x731C, 0xB2C2, 0x731D, 0xE2A7, 0x731E, 0xE2A6, 0x731F, 0xAA64, 0x7320, 0xAA65, 0x7321, 0xE2A4, 0x7322, 0xE2A9, - 0x7323, 0xAA66, 0x7324, 0xAA67, 0x7325, 0xE2AB, 0x7326, 0xAA68, 0x7327, 0xAA69, 0x7328, 0xAA6A, 0x7329, 0xD0C9, 0x732A, 0xD6ED, - 0x732B, 0xC3A8, 0x732C, 0xE2AC, 0x732D, 0xAA6B, 0x732E, 0xCFD7, 0x732F, 0xAA6C, 0x7330, 0xAA6D, 0x7331, 0xE2AE, 0x7332, 0xAA6E, - 0x7333, 0xAA6F, 0x7334, 0xBAEF, 0x7335, 0xAA70, 0x7336, 0xAA71, 0x7337, 0xE9E0, 0x7338, 0xE2AD, 0x7339, 0xE2AA, 0x733A, 0xAA72, - 0x733B, 0xAA73, 0x733C, 0xAA74, 0x733D, 0xAA75, 0x733E, 0xBBAB, 0x733F, 0xD4B3, 0x7340, 0xAA76, 0x7341, 0xAA77, 0x7342, 0xAA78, - 0x7343, 0xAA79, 0x7344, 0xAA7A, 0x7345, 0xAA7B, 0x7346, 0xAA7C, 0x7347, 0xAA7D, 0x7348, 0xAA7E, 0x7349, 0xAA80, 0x734A, 0xAA81, - 0x734B, 0xAA82, 0x734C, 0xAA83, 0x734D, 0xE2B0, 0x734E, 0xAA84, 0x734F, 0xAA85, 0x7350, 0xE2AF, 0x7351, 0xAA86, 0x7352, 0xE9E1, - 0x7353, 0xAA87, 0x7354, 0xAA88, 0x7355, 0xAA89, 0x7356, 0xAA8A, 0x7357, 0xE2B1, 0x7358, 0xAA8B, 0x7359, 0xAA8C, 0x735A, 0xAA8D, - 0x735B, 0xAA8E, 0x735C, 0xAA8F, 0x735D, 0xAA90, 0x735E, 0xAA91, 0x735F, 0xAA92, 0x7360, 0xE2B2, 0x7361, 0xAA93, 0x7362, 0xAA94, - 0x7363, 0xAA95, 0x7364, 0xAA96, 0x7365, 0xAA97, 0x7366, 0xAA98, 0x7367, 0xAA99, 0x7368, 0xAA9A, 0x7369, 0xAA9B, 0x736A, 0xAA9C, - 0x736B, 0xAA9D, 0x736C, 0xE2B3, 0x736D, 0xCCA1, 0x736E, 0xAA9E, 0x736F, 0xE2B4, 0x7370, 0xAA9F, 0x7371, 0xAAA0, 0x7372, 0xAB40, - 0x7373, 0xAB41, 0x7374, 0xAB42, 0x7375, 0xAB43, 0x7376, 0xAB44, 0x7377, 0xAB45, 0x7378, 0xAB46, 0x7379, 0xAB47, 0x737A, 0xAB48, - 0x737B, 0xAB49, 0x737C, 0xAB4A, 0x737D, 0xAB4B, 0x737E, 0xE2B5, 0x737F, 0xAB4C, 0x7380, 0xAB4D, 0x7381, 0xAB4E, 0x7382, 0xAB4F, - 0x7383, 0xAB50, 0x7384, 0xD0FE, 0x7385, 0xAB51, 0x7386, 0xAB52, 0x7387, 0xC2CA, 0x7388, 0xAB53, 0x7389, 0xD3F1, 0x738A, 0xAB54, - 0x738B, 0xCDF5, 0x738C, 0xAB55, 0x738D, 0xAB56, 0x738E, 0xE7E0, 0x738F, 0xAB57, 0x7390, 0xAB58, 0x7391, 0xE7E1, 0x7392, 0xAB59, - 0x7393, 0xAB5A, 0x7394, 0xAB5B, 0x7395, 0xAB5C, 0x7396, 0xBEC1, 0x7397, 0xAB5D, 0x7398, 0xAB5E, 0x7399, 0xAB5F, 0x739A, 0xAB60, - 0x739B, 0xC2EA, 0x739C, 0xAB61, 0x739D, 0xAB62, 0x739E, 0xAB63, 0x739F, 0xE7E4, 0x73A0, 0xAB64, 0x73A1, 0xAB65, 0x73A2, 0xE7E3, - 0x73A3, 0xAB66, 0x73A4, 0xAB67, 0x73A5, 0xAB68, 0x73A6, 0xAB69, 0x73A7, 0xAB6A, 0x73A8, 0xAB6B, 0x73A9, 0xCDE6, 0x73AA, 0xAB6C, - 0x73AB, 0xC3B5, 0x73AC, 0xAB6D, 0x73AD, 0xAB6E, 0x73AE, 0xE7E2, 0x73AF, 0xBBB7, 0x73B0, 0xCFD6, 0x73B1, 0xAB6F, 0x73B2, 0xC1E1, - 0x73B3, 0xE7E9, 0x73B4, 0xAB70, 0x73B5, 0xAB71, 0x73B6, 0xAB72, 0x73B7, 0xE7E8, 0x73B8, 0xAB73, 0x73B9, 0xAB74, 0x73BA, 0xE7F4, - 0x73BB, 0xB2A3, 0x73BC, 0xAB75, 0x73BD, 0xAB76, 0x73BE, 0xAB77, 0x73BF, 0xAB78, 0x73C0, 0xE7EA, 0x73C1, 0xAB79, 0x73C2, 0xE7E6, - 0x73C3, 0xAB7A, 0x73C4, 0xAB7B, 0x73C5, 0xAB7C, 0x73C6, 0xAB7D, 0x73C7, 0xAB7E, 0x73C8, 0xE7EC, 0x73C9, 0xE7EB, 0x73CA, 0xC9BA, - 0x73CB, 0xAB80, 0x73CC, 0xAB81, 0x73CD, 0xD5E4, 0x73CE, 0xAB82, 0x73CF, 0xE7E5, 0x73D0, 0xB7A9, 0x73D1, 0xE7E7, 0x73D2, 0xAB83, - 0x73D3, 0xAB84, 0x73D4, 0xAB85, 0x73D5, 0xAB86, 0x73D6, 0xAB87, 0x73D7, 0xAB88, 0x73D8, 0xAB89, 0x73D9, 0xE7EE, 0x73DA, 0xAB8A, - 0x73DB, 0xAB8B, 0x73DC, 0xAB8C, 0x73DD, 0xAB8D, 0x73DE, 0xE7F3, 0x73DF, 0xAB8E, 0x73E0, 0xD6E9, 0x73E1, 0xAB8F, 0x73E2, 0xAB90, - 0x73E3, 0xAB91, 0x73E4, 0xAB92, 0x73E5, 0xE7ED, 0x73E6, 0xAB93, 0x73E7, 0xE7F2, 0x73E8, 0xAB94, 0x73E9, 0xE7F1, 0x73EA, 0xAB95, - 0x73EB, 0xAB96, 0x73EC, 0xAB97, 0x73ED, 0xB0E0, 0x73EE, 0xAB98, 0x73EF, 0xAB99, 0x73F0, 0xAB9A, 0x73F1, 0xAB9B, 0x73F2, 0xE7F5, - 0x73F3, 0xAB9C, 0x73F4, 0xAB9D, 0x73F5, 0xAB9E, 0x73F6, 0xAB9F, 0x73F7, 0xABA0, 0x73F8, 0xAC40, 0x73F9, 0xAC41, 0x73FA, 0xAC42, - 0x73FB, 0xAC43, 0x73FC, 0xAC44, 0x73FD, 0xAC45, 0x73FE, 0xAC46, 0x73FF, 0xAC47, 0x7400, 0xAC48, 0x7401, 0xAC49, 0x7402, 0xAC4A, - 0x7403, 0xC7F2, 0x7404, 0xAC4B, 0x7405, 0xC0C5, 0x7406, 0xC0ED, 0x7407, 0xAC4C, 0x7408, 0xAC4D, 0x7409, 0xC1F0, 0x740A, 0xE7F0, - 0x740B, 0xAC4E, 0x740C, 0xAC4F, 0x740D, 0xAC50, 0x740E, 0xAC51, 0x740F, 0xE7F6, 0x7410, 0xCBF6, 0x7411, 0xAC52, 0x7412, 0xAC53, - 0x7413, 0xAC54, 0x7414, 0xAC55, 0x7415, 0xAC56, 0x7416, 0xAC57, 0x7417, 0xAC58, 0x7418, 0xAC59, 0x7419, 0xAC5A, 0x741A, 0xE8A2, - 0x741B, 0xE8A1, 0x741C, 0xAC5B, 0x741D, 0xAC5C, 0x741E, 0xAC5D, 0x741F, 0xAC5E, 0x7420, 0xAC5F, 0x7421, 0xAC60, 0x7422, 0xD7C1, - 0x7423, 0xAC61, 0x7424, 0xAC62, 0x7425, 0xE7FA, 0x7426, 0xE7F9, 0x7427, 0xAC63, 0x7428, 0xE7FB, 0x7429, 0xAC64, 0x742A, 0xE7F7, - 0x742B, 0xAC65, 0x742C, 0xE7FE, 0x742D, 0xAC66, 0x742E, 0xE7FD, 0x742F, 0xAC67, 0x7430, 0xE7FC, 0x7431, 0xAC68, 0x7432, 0xAC69, - 0x7433, 0xC1D5, 0x7434, 0xC7D9, 0x7435, 0xC5FD, 0x7436, 0xC5C3, 0x7437, 0xAC6A, 0x7438, 0xAC6B, 0x7439, 0xAC6C, 0x743A, 0xAC6D, - 0x743B, 0xAC6E, 0x743C, 0xC7ED, 0x743D, 0xAC6F, 0x743E, 0xAC70, 0x743F, 0xAC71, 0x7440, 0xAC72, 0x7441, 0xE8A3, 0x7442, 0xAC73, - 0x7443, 0xAC74, 0x7444, 0xAC75, 0x7445, 0xAC76, 0x7446, 0xAC77, 0x7447, 0xAC78, 0x7448, 0xAC79, 0x7449, 0xAC7A, 0x744A, 0xAC7B, - 0x744B, 0xAC7C, 0x744C, 0xAC7D, 0x744D, 0xAC7E, 0x744E, 0xAC80, 0x744F, 0xAC81, 0x7450, 0xAC82, 0x7451, 0xAC83, 0x7452, 0xAC84, - 0x7453, 0xAC85, 0x7454, 0xAC86, 0x7455, 0xE8A6, 0x7456, 0xAC87, 0x7457, 0xE8A5, 0x7458, 0xAC88, 0x7459, 0xE8A7, 0x745A, 0xBAF7, - 0x745B, 0xE7F8, 0x745C, 0xE8A4, 0x745D, 0xAC89, 0x745E, 0xC8F0, 0x745F, 0xC9AA, 0x7460, 0xAC8A, 0x7461, 0xAC8B, 0x7462, 0xAC8C, - 0x7463, 0xAC8D, 0x7464, 0xAC8E, 0x7465, 0xAC8F, 0x7466, 0xAC90, 0x7467, 0xAC91, 0x7468, 0xAC92, 0x7469, 0xAC93, 0x746A, 0xAC94, - 0x746B, 0xAC95, 0x746C, 0xAC96, 0x746D, 0xE8A9, 0x746E, 0xAC97, 0x746F, 0xAC98, 0x7470, 0xB9E5, 0x7471, 0xAC99, 0x7472, 0xAC9A, - 0x7473, 0xAC9B, 0x7474, 0xAC9C, 0x7475, 0xAC9D, 0x7476, 0xD1FE, 0x7477, 0xE8A8, 0x7478, 0xAC9E, 0x7479, 0xAC9F, 0x747A, 0xACA0, - 0x747B, 0xAD40, 0x747C, 0xAD41, 0x747D, 0xAD42, 0x747E, 0xE8AA, 0x747F, 0xAD43, 0x7480, 0xE8AD, 0x7481, 0xE8AE, 0x7482, 0xAD44, - 0x7483, 0xC1A7, 0x7484, 0xAD45, 0x7485, 0xAD46, 0x7486, 0xAD47, 0x7487, 0xE8AF, 0x7488, 0xAD48, 0x7489, 0xAD49, 0x748A, 0xAD4A, - 0x748B, 0xE8B0, 0x748C, 0xAD4B, 0x748D, 0xAD4C, 0x748E, 0xE8AC, 0x748F, 0xAD4D, 0x7490, 0xE8B4, 0x7491, 0xAD4E, 0x7492, 0xAD4F, - 0x7493, 0xAD50, 0x7494, 0xAD51, 0x7495, 0xAD52, 0x7496, 0xAD53, 0x7497, 0xAD54, 0x7498, 0xAD55, 0x7499, 0xAD56, 0x749A, 0xAD57, - 0x749B, 0xAD58, 0x749C, 0xE8AB, 0x749D, 0xAD59, 0x749E, 0xE8B1, 0x749F, 0xAD5A, 0x74A0, 0xAD5B, 0x74A1, 0xAD5C, 0x74A2, 0xAD5D, - 0x74A3, 0xAD5E, 0x74A4, 0xAD5F, 0x74A5, 0xAD60, 0x74A6, 0xAD61, 0x74A7, 0xE8B5, 0x74A8, 0xE8B2, 0x74A9, 0xE8B3, 0x74AA, 0xAD62, - 0x74AB, 0xAD63, 0x74AC, 0xAD64, 0x74AD, 0xAD65, 0x74AE, 0xAD66, 0x74AF, 0xAD67, 0x74B0, 0xAD68, 0x74B1, 0xAD69, 0x74B2, 0xAD6A, - 0x74B3, 0xAD6B, 0x74B4, 0xAD6C, 0x74B5, 0xAD6D, 0x74B6, 0xAD6E, 0x74B7, 0xAD6F, 0x74B8, 0xAD70, 0x74B9, 0xAD71, 0x74BA, 0xE8B7, - 0x74BB, 0xAD72, 0x74BC, 0xAD73, 0x74BD, 0xAD74, 0x74BE, 0xAD75, 0x74BF, 0xAD76, 0x74C0, 0xAD77, 0x74C1, 0xAD78, 0x74C2, 0xAD79, - 0x74C3, 0xAD7A, 0x74C4, 0xAD7B, 0x74C5, 0xAD7C, 0x74C6, 0xAD7D, 0x74C7, 0xAD7E, 0x74C8, 0xAD80, 0x74C9, 0xAD81, 0x74CA, 0xAD82, - 0x74CB, 0xAD83, 0x74CC, 0xAD84, 0x74CD, 0xAD85, 0x74CE, 0xAD86, 0x74CF, 0xAD87, 0x74D0, 0xAD88, 0x74D1, 0xAD89, 0x74D2, 0xE8B6, - 0x74D3, 0xAD8A, 0x74D4, 0xAD8B, 0x74D5, 0xAD8C, 0x74D6, 0xAD8D, 0x74D7, 0xAD8E, 0x74D8, 0xAD8F, 0x74D9, 0xAD90, 0x74DA, 0xAD91, - 0x74DB, 0xAD92, 0x74DC, 0xB9CF, 0x74DD, 0xAD93, 0x74DE, 0xF0AC, 0x74DF, 0xAD94, 0x74E0, 0xF0AD, 0x74E1, 0xAD95, 0x74E2, 0xC6B0, - 0x74E3, 0xB0EA, 0x74E4, 0xC8BF, 0x74E5, 0xAD96, 0x74E6, 0xCDDF, 0x74E7, 0xAD97, 0x74E8, 0xAD98, 0x74E9, 0xAD99, 0x74EA, 0xAD9A, - 0x74EB, 0xAD9B, 0x74EC, 0xAD9C, 0x74ED, 0xAD9D, 0x74EE, 0xCECD, 0x74EF, 0xEAB1, 0x74F0, 0xAD9E, 0x74F1, 0xAD9F, 0x74F2, 0xADA0, - 0x74F3, 0xAE40, 0x74F4, 0xEAB2, 0x74F5, 0xAE41, 0x74F6, 0xC6BF, 0x74F7, 0xB4C9, 0x74F8, 0xAE42, 0x74F9, 0xAE43, 0x74FA, 0xAE44, - 0x74FB, 0xAE45, 0x74FC, 0xAE46, 0x74FD, 0xAE47, 0x74FE, 0xAE48, 0x74FF, 0xEAB3, 0x7500, 0xAE49, 0x7501, 0xAE4A, 0x7502, 0xAE4B, - 0x7503, 0xAE4C, 0x7504, 0xD5E7, 0x7505, 0xAE4D, 0x7506, 0xAE4E, 0x7507, 0xAE4F, 0x7508, 0xAE50, 0x7509, 0xAE51, 0x750A, 0xAE52, - 0x750B, 0xAE53, 0x750C, 0xAE54, 0x750D, 0xDDF9, 0x750E, 0xAE55, 0x750F, 0xEAB4, 0x7510, 0xAE56, 0x7511, 0xEAB5, 0x7512, 0xAE57, - 0x7513, 0xEAB6, 0x7514, 0xAE58, 0x7515, 0xAE59, 0x7516, 0xAE5A, 0x7517, 0xAE5B, 0x7518, 0xB8CA, 0x7519, 0xDFB0, 0x751A, 0xC9F5, - 0x751B, 0xAE5C, 0x751C, 0xCCF0, 0x751D, 0xAE5D, 0x751E, 0xAE5E, 0x751F, 0xC9FA, 0x7520, 0xAE5F, 0x7521, 0xAE60, 0x7522, 0xAE61, - 0x7523, 0xAE62, 0x7524, 0xAE63, 0x7525, 0xC9FB, 0x7526, 0xAE64, 0x7527, 0xAE65, 0x7528, 0xD3C3, 0x7529, 0xCBA6, 0x752A, 0xAE66, - 0x752B, 0xB8A6, 0x752C, 0xF0AE, 0x752D, 0xB1C2, 0x752E, 0xAE67, 0x752F, 0xE5B8, 0x7530, 0xCCEF, 0x7531, 0xD3C9, 0x7532, 0xBCD7, - 0x7533, 0xC9EA, 0x7534, 0xAE68, 0x7535, 0xB5E7, 0x7536, 0xAE69, 0x7537, 0xC4D0, 0x7538, 0xB5E9, 0x7539, 0xAE6A, 0x753A, 0xEEAE, - 0x753B, 0xBBAD, 0x753C, 0xAE6B, 0x753D, 0xAE6C, 0x753E, 0xE7DE, 0x753F, 0xAE6D, 0x7540, 0xEEAF, 0x7541, 0xAE6E, 0x7542, 0xAE6F, - 0x7543, 0xAE70, 0x7544, 0xAE71, 0x7545, 0xB3A9, 0x7546, 0xAE72, 0x7547, 0xAE73, 0x7548, 0xEEB2, 0x7549, 0xAE74, 0x754A, 0xAE75, - 0x754B, 0xEEB1, 0x754C, 0xBDE7, 0x754D, 0xAE76, 0x754E, 0xEEB0, 0x754F, 0xCEB7, 0x7550, 0xAE77, 0x7551, 0xAE78, 0x7552, 0xAE79, - 0x7553, 0xAE7A, 0x7554, 0xC5CF, 0x7555, 0xAE7B, 0x7556, 0xAE7C, 0x7557, 0xAE7D, 0x7558, 0xAE7E, 0x7559, 0xC1F4, 0x755A, 0xDBCE, - 0x755B, 0xEEB3, 0x755C, 0xD0F3, 0x755D, 0xAE80, 0x755E, 0xAE81, 0x755F, 0xAE82, 0x7560, 0xAE83, 0x7561, 0xAE84, 0x7562, 0xAE85, - 0x7563, 0xAE86, 0x7564, 0xAE87, 0x7565, 0xC2D4, 0x7566, 0xC6E8, 0x7567, 0xAE88, 0x7568, 0xAE89, 0x7569, 0xAE8A, 0x756A, 0xB7AC, - 0x756B, 0xAE8B, 0x756C, 0xAE8C, 0x756D, 0xAE8D, 0x756E, 0xAE8E, 0x756F, 0xAE8F, 0x7570, 0xAE90, 0x7571, 0xAE91, 0x7572, 0xEEB4, - 0x7573, 0xAE92, 0x7574, 0xB3EB, 0x7575, 0xAE93, 0x7576, 0xAE94, 0x7577, 0xAE95, 0x7578, 0xBBFB, 0x7579, 0xEEB5, 0x757A, 0xAE96, - 0x757B, 0xAE97, 0x757C, 0xAE98, 0x757D, 0xAE99, 0x757E, 0xAE9A, 0x757F, 0xE7DC, 0x7580, 0xAE9B, 0x7581, 0xAE9C, 0x7582, 0xAE9D, - 0x7583, 0xEEB6, 0x7584, 0xAE9E, 0x7585, 0xAE9F, 0x7586, 0xBDAE, 0x7587, 0xAEA0, 0x7588, 0xAF40, 0x7589, 0xAF41, 0x758A, 0xAF42, - 0x758B, 0xF1E2, 0x758C, 0xAF43, 0x758D, 0xAF44, 0x758E, 0xAF45, 0x758F, 0xCAE8, 0x7590, 0xAF46, 0x7591, 0xD2C9, 0x7592, 0xF0DA, - 0x7593, 0xAF47, 0x7594, 0xF0DB, 0x7595, 0xAF48, 0x7596, 0xF0DC, 0x7597, 0xC1C6, 0x7598, 0xAF49, 0x7599, 0xB8ED, 0x759A, 0xBECE, - 0x759B, 0xAF4A, 0x759C, 0xAF4B, 0x759D, 0xF0DE, 0x759E, 0xAF4C, 0x759F, 0xC5B1, 0x75A0, 0xF0DD, 0x75A1, 0xD1F1, 0x75A2, 0xAF4D, - 0x75A3, 0xF0E0, 0x75A4, 0xB0CC, 0x75A5, 0xBDEA, 0x75A6, 0xAF4E, 0x75A7, 0xAF4F, 0x75A8, 0xAF50, 0x75A9, 0xAF51, 0x75AA, 0xAF52, - 0x75AB, 0xD2DF, 0x75AC, 0xF0DF, 0x75AD, 0xAF53, 0x75AE, 0xB4AF, 0x75AF, 0xB7E8, 0x75B0, 0xF0E6, 0x75B1, 0xF0E5, 0x75B2, 0xC6A3, - 0x75B3, 0xF0E1, 0x75B4, 0xF0E2, 0x75B5, 0xB4C3, 0x75B6, 0xAF54, 0x75B7, 0xAF55, 0x75B8, 0xF0E3, 0x75B9, 0xD5EE, 0x75BA, 0xAF56, - 0x75BB, 0xAF57, 0x75BC, 0xCCDB, 0x75BD, 0xBED2, 0x75BE, 0xBCB2, 0x75BF, 0xAF58, 0x75C0, 0xAF59, 0x75C1, 0xAF5A, 0x75C2, 0xF0E8, - 0x75C3, 0xF0E7, 0x75C4, 0xF0E4, 0x75C5, 0xB2A1, 0x75C6, 0xAF5B, 0x75C7, 0xD6A2, 0x75C8, 0xD3B8, 0x75C9, 0xBEB7, 0x75CA, 0xC8AC, - 0x75CB, 0xAF5C, 0x75CC, 0xAF5D, 0x75CD, 0xF0EA, 0x75CE, 0xAF5E, 0x75CF, 0xAF5F, 0x75D0, 0xAF60, 0x75D1, 0xAF61, 0x75D2, 0xD1F7, - 0x75D3, 0xAF62, 0x75D4, 0xD6CC, 0x75D5, 0xBADB, 0x75D6, 0xF0E9, 0x75D7, 0xAF63, 0x75D8, 0xB6BB, 0x75D9, 0xAF64, 0x75DA, 0xAF65, - 0x75DB, 0xCDB4, 0x75DC, 0xAF66, 0x75DD, 0xAF67, 0x75DE, 0xC6A6, 0x75DF, 0xAF68, 0x75E0, 0xAF69, 0x75E1, 0xAF6A, 0x75E2, 0xC1A1, - 0x75E3, 0xF0EB, 0x75E4, 0xF0EE, 0x75E5, 0xAF6B, 0x75E6, 0xF0ED, 0x75E7, 0xF0F0, 0x75E8, 0xF0EC, 0x75E9, 0xAF6C, 0x75EA, 0xBBBE, - 0x75EB, 0xF0EF, 0x75EC, 0xAF6D, 0x75ED, 0xAF6E, 0x75EE, 0xAF6F, 0x75EF, 0xAF70, 0x75F0, 0xCCB5, 0x75F1, 0xF0F2, 0x75F2, 0xAF71, - 0x75F3, 0xAF72, 0x75F4, 0xB3D5, 0x75F5, 0xAF73, 0x75F6, 0xAF74, 0x75F7, 0xAF75, 0x75F8, 0xAF76, 0x75F9, 0xB1D4, 0x75FA, 0xAF77, - 0x75FB, 0xAF78, 0x75FC, 0xF0F3, 0x75FD, 0xAF79, 0x75FE, 0xAF7A, 0x75FF, 0xF0F4, 0x7600, 0xF0F6, 0x7601, 0xB4E1, 0x7602, 0xAF7B, - 0x7603, 0xF0F1, 0x7604, 0xAF7C, 0x7605, 0xF0F7, 0x7606, 0xAF7D, 0x7607, 0xAF7E, 0x7608, 0xAF80, 0x7609, 0xAF81, 0x760A, 0xF0FA, - 0x760B, 0xAF82, 0x760C, 0xF0F8, 0x760D, 0xAF83, 0x760E, 0xAF84, 0x760F, 0xAF85, 0x7610, 0xF0F5, 0x7611, 0xAF86, 0x7612, 0xAF87, - 0x7613, 0xAF88, 0x7614, 0xAF89, 0x7615, 0xF0FD, 0x7616, 0xAF8A, 0x7617, 0xF0F9, 0x7618, 0xF0FC, 0x7619, 0xF0FE, 0x761A, 0xAF8B, - 0x761B, 0xF1A1, 0x761C, 0xAF8C, 0x761D, 0xAF8D, 0x761E, 0xAF8E, 0x761F, 0xCEC1, 0x7620, 0xF1A4, 0x7621, 0xAF8F, 0x7622, 0xF1A3, - 0x7623, 0xAF90, 0x7624, 0xC1F6, 0x7625, 0xF0FB, 0x7626, 0xCADD, 0x7627, 0xAF91, 0x7628, 0xAF92, 0x7629, 0xB4F1, 0x762A, 0xB1F1, - 0x762B, 0xCCB1, 0x762C, 0xAF93, 0x762D, 0xF1A6, 0x762E, 0xAF94, 0x762F, 0xAF95, 0x7630, 0xF1A7, 0x7631, 0xAF96, 0x7632, 0xAF97, - 0x7633, 0xF1AC, 0x7634, 0xD5CE, 0x7635, 0xF1A9, 0x7636, 0xAF98, 0x7637, 0xAF99, 0x7638, 0xC8B3, 0x7639, 0xAF9A, 0x763A, 0xAF9B, - 0x763B, 0xAF9C, 0x763C, 0xF1A2, 0x763D, 0xAF9D, 0x763E, 0xF1AB, 0x763F, 0xF1A8, 0x7640, 0xF1A5, 0x7641, 0xAF9E, 0x7642, 0xAF9F, - 0x7643, 0xF1AA, 0x7644, 0xAFA0, 0x7645, 0xB040, 0x7646, 0xB041, 0x7647, 0xB042, 0x7648, 0xB043, 0x7649, 0xB044, 0x764A, 0xB045, - 0x764B, 0xB046, 0x764C, 0xB0A9, 0x764D, 0xF1AD, 0x764E, 0xB047, 0x764F, 0xB048, 0x7650, 0xB049, 0x7651, 0xB04A, 0x7652, 0xB04B, - 0x7653, 0xB04C, 0x7654, 0xF1AF, 0x7655, 0xB04D, 0x7656, 0xF1B1, 0x7657, 0xB04E, 0x7658, 0xB04F, 0x7659, 0xB050, 0x765A, 0xB051, - 0x765B, 0xB052, 0x765C, 0xF1B0, 0x765D, 0xB053, 0x765E, 0xF1AE, 0x765F, 0xB054, 0x7660, 0xB055, 0x7661, 0xB056, 0x7662, 0xB057, - 0x7663, 0xD1A2, 0x7664, 0xB058, 0x7665, 0xB059, 0x7666, 0xB05A, 0x7667, 0xB05B, 0x7668, 0xB05C, 0x7669, 0xB05D, 0x766A, 0xB05E, - 0x766B, 0xF1B2, 0x766C, 0xB05F, 0x766D, 0xB060, 0x766E, 0xB061, 0x766F, 0xF1B3, 0x7670, 0xB062, 0x7671, 0xB063, 0x7672, 0xB064, - 0x7673, 0xB065, 0x7674, 0xB066, 0x7675, 0xB067, 0x7676, 0xB068, 0x7677, 0xB069, 0x7678, 0xB9EF, 0x7679, 0xB06A, 0x767A, 0xB06B, - 0x767B, 0xB5C7, 0x767C, 0xB06C, 0x767D, 0xB0D7, 0x767E, 0xB0D9, 0x767F, 0xB06D, 0x7680, 0xB06E, 0x7681, 0xB06F, 0x7682, 0xD4ED, - 0x7683, 0xB070, 0x7684, 0xB5C4, 0x7685, 0xB071, 0x7686, 0xBDD4, 0x7687, 0xBBCA, 0x7688, 0xF0A7, 0x7689, 0xB072, 0x768A, 0xB073, - 0x768B, 0xB8DE, 0x768C, 0xB074, 0x768D, 0xB075, 0x768E, 0xF0A8, 0x768F, 0xB076, 0x7690, 0xB077, 0x7691, 0xB0A8, 0x7692, 0xB078, - 0x7693, 0xF0A9, 0x7694, 0xB079, 0x7695, 0xB07A, 0x7696, 0xCDEE, 0x7697, 0xB07B, 0x7698, 0xB07C, 0x7699, 0xF0AA, 0x769A, 0xB07D, - 0x769B, 0xB07E, 0x769C, 0xB080, 0x769D, 0xB081, 0x769E, 0xB082, 0x769F, 0xB083, 0x76A0, 0xB084, 0x76A1, 0xB085, 0x76A2, 0xB086, - 0x76A3, 0xB087, 0x76A4, 0xF0AB, 0x76A5, 0xB088, 0x76A6, 0xB089, 0x76A7, 0xB08A, 0x76A8, 0xB08B, 0x76A9, 0xB08C, 0x76AA, 0xB08D, - 0x76AB, 0xB08E, 0x76AC, 0xB08F, 0x76AD, 0xB090, 0x76AE, 0xC6A4, 0x76AF, 0xB091, 0x76B0, 0xB092, 0x76B1, 0xD6E5, 0x76B2, 0xF1E4, - 0x76B3, 0xB093, 0x76B4, 0xF1E5, 0x76B5, 0xB094, 0x76B6, 0xB095, 0x76B7, 0xB096, 0x76B8, 0xB097, 0x76B9, 0xB098, 0x76BA, 0xB099, - 0x76BB, 0xB09A, 0x76BC, 0xB09B, 0x76BD, 0xB09C, 0x76BE, 0xB09D, 0x76BF, 0xC3F3, 0x76C0, 0xB09E, 0x76C1, 0xB09F, 0x76C2, 0xD3DB, - 0x76C3, 0xB0A0, 0x76C4, 0xB140, 0x76C5, 0xD6D1, 0x76C6, 0xC5E8, 0x76C7, 0xB141, 0x76C8, 0xD3AF, 0x76C9, 0xB142, 0x76CA, 0xD2E6, - 0x76CB, 0xB143, 0x76CC, 0xB144, 0x76CD, 0xEEC1, 0x76CE, 0xB0BB, 0x76CF, 0xD5B5, 0x76D0, 0xD1CE, 0x76D1, 0xBCE0, 0x76D2, 0xBAD0, - 0x76D3, 0xB145, 0x76D4, 0xBFF8, 0x76D5, 0xB146, 0x76D6, 0xB8C7, 0x76D7, 0xB5C1, 0x76D8, 0xC5CC, 0x76D9, 0xB147, 0x76DA, 0xB148, - 0x76DB, 0xCAA2, 0x76DC, 0xB149, 0x76DD, 0xB14A, 0x76DE, 0xB14B, 0x76DF, 0xC3CB, 0x76E0, 0xB14C, 0x76E1, 0xB14D, 0x76E2, 0xB14E, - 0x76E3, 0xB14F, 0x76E4, 0xB150, 0x76E5, 0xEEC2, 0x76E6, 0xB151, 0x76E7, 0xB152, 0x76E8, 0xB153, 0x76E9, 0xB154, 0x76EA, 0xB155, - 0x76EB, 0xB156, 0x76EC, 0xB157, 0x76ED, 0xB158, 0x76EE, 0xC4BF, 0x76EF, 0xB6A2, 0x76F0, 0xB159, 0x76F1, 0xEDEC, 0x76F2, 0xC3A4, - 0x76F3, 0xB15A, 0x76F4, 0xD6B1, 0x76F5, 0xB15B, 0x76F6, 0xB15C, 0x76F7, 0xB15D, 0x76F8, 0xCFE0, 0x76F9, 0xEDEF, 0x76FA, 0xB15E, - 0x76FB, 0xB15F, 0x76FC, 0xC5CE, 0x76FD, 0xB160, 0x76FE, 0xB6DC, 0x76FF, 0xB161, 0x7700, 0xB162, 0x7701, 0xCAA1, 0x7702, 0xB163, - 0x7703, 0xB164, 0x7704, 0xEDED, 0x7705, 0xB165, 0x7706, 0xB166, 0x7707, 0xEDF0, 0x7708, 0xEDF1, 0x7709, 0xC3BC, 0x770A, 0xB167, - 0x770B, 0xBFB4, 0x770C, 0xB168, 0x770D, 0xEDEE, 0x770E, 0xB169, 0x770F, 0xB16A, 0x7710, 0xB16B, 0x7711, 0xB16C, 0x7712, 0xB16D, - 0x7713, 0xB16E, 0x7714, 0xB16F, 0x7715, 0xB170, 0x7716, 0xB171, 0x7717, 0xB172, 0x7718, 0xB173, 0x7719, 0xEDF4, 0x771A, 0xEDF2, - 0x771B, 0xB174, 0x771C, 0xB175, 0x771D, 0xB176, 0x771E, 0xB177, 0x771F, 0xD5E6, 0x7720, 0xC3DF, 0x7721, 0xB178, 0x7722, 0xEDF3, - 0x7723, 0xB179, 0x7724, 0xB17A, 0x7725, 0xB17B, 0x7726, 0xEDF6, 0x7727, 0xB17C, 0x7728, 0xD5A3, 0x7729, 0xD1A3, 0x772A, 0xB17D, - 0x772B, 0xB17E, 0x772C, 0xB180, 0x772D, 0xEDF5, 0x772E, 0xB181, 0x772F, 0xC3D0, 0x7730, 0xB182, 0x7731, 0xB183, 0x7732, 0xB184, - 0x7733, 0xB185, 0x7734, 0xB186, 0x7735, 0xEDF7, 0x7736, 0xBFF4, 0x7737, 0xBEEC, 0x7738, 0xEDF8, 0x7739, 0xB187, 0x773A, 0xCCF7, - 0x773B, 0xB188, 0x773C, 0xD1DB, 0x773D, 0xB189, 0x773E, 0xB18A, 0x773F, 0xB18B, 0x7740, 0xD7C5, 0x7741, 0xD5F6, 0x7742, 0xB18C, - 0x7743, 0xEDFC, 0x7744, 0xB18D, 0x7745, 0xB18E, 0x7746, 0xB18F, 0x7747, 0xEDFB, 0x7748, 0xB190, 0x7749, 0xB191, 0x774A, 0xB192, - 0x774B, 0xB193, 0x774C, 0xB194, 0x774D, 0xB195, 0x774E, 0xB196, 0x774F, 0xB197, 0x7750, 0xEDF9, 0x7751, 0xEDFA, 0x7752, 0xB198, - 0x7753, 0xB199, 0x7754, 0xB19A, 0x7755, 0xB19B, 0x7756, 0xB19C, 0x7757, 0xB19D, 0x7758, 0xB19E, 0x7759, 0xB19F, 0x775A, 0xEDFD, - 0x775B, 0xBEA6, 0x775C, 0xB1A0, 0x775D, 0xB240, 0x775E, 0xB241, 0x775F, 0xB242, 0x7760, 0xB243, 0x7761, 0xCBAF, 0x7762, 0xEEA1, - 0x7763, 0xB6BD, 0x7764, 0xB244, 0x7765, 0xEEA2, 0x7766, 0xC4C0, 0x7767, 0xB245, 0x7768, 0xEDFE, 0x7769, 0xB246, 0x776A, 0xB247, - 0x776B, 0xBDDE, 0x776C, 0xB2C7, 0x776D, 0xB248, 0x776E, 0xB249, 0x776F, 0xB24A, 0x7770, 0xB24B, 0x7771, 0xB24C, 0x7772, 0xB24D, - 0x7773, 0xB24E, 0x7774, 0xB24F, 0x7775, 0xB250, 0x7776, 0xB251, 0x7777, 0xB252, 0x7778, 0xB253, 0x7779, 0xB6C3, 0x777A, 0xB254, - 0x777B, 0xB255, 0x777C, 0xB256, 0x777D, 0xEEA5, 0x777E, 0xD8BA, 0x777F, 0xEEA3, 0x7780, 0xEEA6, 0x7781, 0xB257, 0x7782, 0xB258, - 0x7783, 0xB259, 0x7784, 0xC3E9, 0x7785, 0xB3F2, 0x7786, 0xB25A, 0x7787, 0xB25B, 0x7788, 0xB25C, 0x7789, 0xB25D, 0x778A, 0xB25E, - 0x778B, 0xB25F, 0x778C, 0xEEA7, 0x778D, 0xEEA4, 0x778E, 0xCFB9, 0x778F, 0xB260, 0x7790, 0xB261, 0x7791, 0xEEA8, 0x7792, 0xC2F7, - 0x7793, 0xB262, 0x7794, 0xB263, 0x7795, 0xB264, 0x7796, 0xB265, 0x7797, 0xB266, 0x7798, 0xB267, 0x7799, 0xB268, 0x779A, 0xB269, - 0x779B, 0xB26A, 0x779C, 0xB26B, 0x779D, 0xB26C, 0x779E, 0xB26D, 0x779F, 0xEEA9, 0x77A0, 0xEEAA, 0x77A1, 0xB26E, 0x77A2, 0xDEAB, - 0x77A3, 0xB26F, 0x77A4, 0xB270, 0x77A5, 0xC6B3, 0x77A6, 0xB271, 0x77A7, 0xC7C6, 0x77A8, 0xB272, 0x77A9, 0xD6F5, 0x77AA, 0xB5C9, - 0x77AB, 0xB273, 0x77AC, 0xCBB2, 0x77AD, 0xB274, 0x77AE, 0xB275, 0x77AF, 0xB276, 0x77B0, 0xEEAB, 0x77B1, 0xB277, 0x77B2, 0xB278, - 0x77B3, 0xCDAB, 0x77B4, 0xB279, 0x77B5, 0xEEAC, 0x77B6, 0xB27A, 0x77B7, 0xB27B, 0x77B8, 0xB27C, 0x77B9, 0xB27D, 0x77BA, 0xB27E, - 0x77BB, 0xD5B0, 0x77BC, 0xB280, 0x77BD, 0xEEAD, 0x77BE, 0xB281, 0x77BF, 0xF6C4, 0x77C0, 0xB282, 0x77C1, 0xB283, 0x77C2, 0xB284, - 0x77C3, 0xB285, 0x77C4, 0xB286, 0x77C5, 0xB287, 0x77C6, 0xB288, 0x77C7, 0xB289, 0x77C8, 0xB28A, 0x77C9, 0xB28B, 0x77CA, 0xB28C, - 0x77CB, 0xB28D, 0x77CC, 0xB28E, 0x77CD, 0xDBC7, 0x77CE, 0xB28F, 0x77CF, 0xB290, 0x77D0, 0xB291, 0x77D1, 0xB292, 0x77D2, 0xB293, - 0x77D3, 0xB294, 0x77D4, 0xB295, 0x77D5, 0xB296, 0x77D6, 0xB297, 0x77D7, 0xB4A3, 0x77D8, 0xB298, 0x77D9, 0xB299, 0x77DA, 0xB29A, - 0x77DB, 0xC3AC, 0x77DC, 0xF1E6, 0x77DD, 0xB29B, 0x77DE, 0xB29C, 0x77DF, 0xB29D, 0x77E0, 0xB29E, 0x77E1, 0xB29F, 0x77E2, 0xCAB8, - 0x77E3, 0xD2D3, 0x77E4, 0xB2A0, 0x77E5, 0xD6AA, 0x77E6, 0xB340, 0x77E7, 0xEFF2, 0x77E8, 0xB341, 0x77E9, 0xBED8, 0x77EA, 0xB342, - 0x77EB, 0xBDC3, 0x77EC, 0xEFF3, 0x77ED, 0xB6CC, 0x77EE, 0xB0AB, 0x77EF, 0xB343, 0x77F0, 0xB344, 0x77F1, 0xB345, 0x77F2, 0xB346, - 0x77F3, 0xCAAF, 0x77F4, 0xB347, 0x77F5, 0xB348, 0x77F6, 0xEDB6, 0x77F7, 0xB349, 0x77F8, 0xEDB7, 0x77F9, 0xB34A, 0x77FA, 0xB34B, - 0x77FB, 0xB34C, 0x77FC, 0xB34D, 0x77FD, 0xCEF9, 0x77FE, 0xB7AF, 0x77FF, 0xBFF3, 0x7800, 0xEDB8, 0x7801, 0xC2EB, 0x7802, 0xC9B0, - 0x7803, 0xB34E, 0x7804, 0xB34F, 0x7805, 0xB350, 0x7806, 0xB351, 0x7807, 0xB352, 0x7808, 0xB353, 0x7809, 0xEDB9, 0x780A, 0xB354, - 0x780B, 0xB355, 0x780C, 0xC6F6, 0x780D, 0xBFB3, 0x780E, 0xB356, 0x780F, 0xB357, 0x7810, 0xB358, 0x7811, 0xEDBC, 0x7812, 0xC5F8, - 0x7813, 0xB359, 0x7814, 0xD1D0, 0x7815, 0xB35A, 0x7816, 0xD7A9, 0x7817, 0xEDBA, 0x7818, 0xEDBB, 0x7819, 0xB35B, 0x781A, 0xD1E2, - 0x781B, 0xB35C, 0x781C, 0xEDBF, 0x781D, 0xEDC0, 0x781E, 0xB35D, 0x781F, 0xEDC4, 0x7820, 0xB35E, 0x7821, 0xB35F, 0x7822, 0xB360, - 0x7823, 0xEDC8, 0x7824, 0xB361, 0x7825, 0xEDC6, 0x7826, 0xEDCE, 0x7827, 0xD5E8, 0x7828, 0xB362, 0x7829, 0xEDC9, 0x782A, 0xB363, - 0x782B, 0xB364, 0x782C, 0xEDC7, 0x782D, 0xEDBE, 0x782E, 0xB365, 0x782F, 0xB366, 0x7830, 0xC5E9, 0x7831, 0xB367, 0x7832, 0xB368, - 0x7833, 0xB369, 0x7834, 0xC6C6, 0x7835, 0xB36A, 0x7836, 0xB36B, 0x7837, 0xC9E9, 0x7838, 0xD4D2, 0x7839, 0xEDC1, 0x783A, 0xEDC2, - 0x783B, 0xEDC3, 0x783C, 0xEDC5, 0x783D, 0xB36C, 0x783E, 0xC0F9, 0x783F, 0xB36D, 0x7840, 0xB4A1, 0x7841, 0xB36E, 0x7842, 0xB36F, - 0x7843, 0xB370, 0x7844, 0xB371, 0x7845, 0xB9E8, 0x7846, 0xB372, 0x7847, 0xEDD0, 0x7848, 0xB373, 0x7849, 0xB374, 0x784A, 0xB375, - 0x784B, 0xB376, 0x784C, 0xEDD1, 0x784D, 0xB377, 0x784E, 0xEDCA, 0x784F, 0xB378, 0x7850, 0xEDCF, 0x7851, 0xB379, 0x7852, 0xCEF8, - 0x7853, 0xB37A, 0x7854, 0xB37B, 0x7855, 0xCBB6, 0x7856, 0xEDCC, 0x7857, 0xEDCD, 0x7858, 0xB37C, 0x7859, 0xB37D, 0x785A, 0xB37E, - 0x785B, 0xB380, 0x785C, 0xB381, 0x785D, 0xCFF5, 0x785E, 0xB382, 0x785F, 0xB383, 0x7860, 0xB384, 0x7861, 0xB385, 0x7862, 0xB386, - 0x7863, 0xB387, 0x7864, 0xB388, 0x7865, 0xB389, 0x7866, 0xB38A, 0x7867, 0xB38B, 0x7868, 0xB38C, 0x7869, 0xB38D, 0x786A, 0xEDD2, - 0x786B, 0xC1F2, 0x786C, 0xD3B2, 0x786D, 0xEDCB, 0x786E, 0xC8B7, 0x786F, 0xB38E, 0x7870, 0xB38F, 0x7871, 0xB390, 0x7872, 0xB391, - 0x7873, 0xB392, 0x7874, 0xB393, 0x7875, 0xB394, 0x7876, 0xB395, 0x7877, 0xBCEF, 0x7878, 0xB396, 0x7879, 0xB397, 0x787A, 0xB398, - 0x787B, 0xB399, 0x787C, 0xC5F0, 0x787D, 0xB39A, 0x787E, 0xB39B, 0x787F, 0xB39C, 0x7880, 0xB39D, 0x7881, 0xB39E, 0x7882, 0xB39F, - 0x7883, 0xB3A0, 0x7884, 0xB440, 0x7885, 0xB441, 0x7886, 0xB442, 0x7887, 0xEDD6, 0x7888, 0xB443, 0x7889, 0xB5EF, 0x788A, 0xB444, - 0x788B, 0xB445, 0x788C, 0xC2B5, 0x788D, 0xB0AD, 0x788E, 0xCBE9, 0x788F, 0xB446, 0x7890, 0xB447, 0x7891, 0xB1AE, 0x7892, 0xB448, - 0x7893, 0xEDD4, 0x7894, 0xB449, 0x7895, 0xB44A, 0x7896, 0xB44B, 0x7897, 0xCDEB, 0x7898, 0xB5E2, 0x7899, 0xB44C, 0x789A, 0xEDD5, - 0x789B, 0xEDD3, 0x789C, 0xEDD7, 0x789D, 0xB44D, 0x789E, 0xB44E, 0x789F, 0xB5FA, 0x78A0, 0xB44F, 0x78A1, 0xEDD8, 0x78A2, 0xB450, - 0x78A3, 0xEDD9, 0x78A4, 0xB451, 0x78A5, 0xEDDC, 0x78A6, 0xB452, 0x78A7, 0xB1CC, 0x78A8, 0xB453, 0x78A9, 0xB454, 0x78AA, 0xB455, - 0x78AB, 0xB456, 0x78AC, 0xB457, 0x78AD, 0xB458, 0x78AE, 0xB459, 0x78AF, 0xB45A, 0x78B0, 0xC5F6, 0x78B1, 0xBCEE, 0x78B2, 0xEDDA, - 0x78B3, 0xCCBC, 0x78B4, 0xB2EA, 0x78B5, 0xB45B, 0x78B6, 0xB45C, 0x78B7, 0xB45D, 0x78B8, 0xB45E, 0x78B9, 0xEDDB, 0x78BA, 0xB45F, - 0x78BB, 0xB460, 0x78BC, 0xB461, 0x78BD, 0xB462, 0x78BE, 0xC4EB, 0x78BF, 0xB463, 0x78C0, 0xB464, 0x78C1, 0xB4C5, 0x78C2, 0xB465, - 0x78C3, 0xB466, 0x78C4, 0xB467, 0x78C5, 0xB0F5, 0x78C6, 0xB468, 0x78C7, 0xB469, 0x78C8, 0xB46A, 0x78C9, 0xEDDF, 0x78CA, 0xC0DA, - 0x78CB, 0xB4E8, 0x78CC, 0xB46B, 0x78CD, 0xB46C, 0x78CE, 0xB46D, 0x78CF, 0xB46E, 0x78D0, 0xC5CD, 0x78D1, 0xB46F, 0x78D2, 0xB470, - 0x78D3, 0xB471, 0x78D4, 0xEDDD, 0x78D5, 0xBFC4, 0x78D6, 0xB472, 0x78D7, 0xB473, 0x78D8, 0xB474, 0x78D9, 0xEDDE, 0x78DA, 0xB475, - 0x78DB, 0xB476, 0x78DC, 0xB477, 0x78DD, 0xB478, 0x78DE, 0xB479, 0x78DF, 0xB47A, 0x78E0, 0xB47B, 0x78E1, 0xB47C, 0x78E2, 0xB47D, - 0x78E3, 0xB47E, 0x78E4, 0xB480, 0x78E5, 0xB481, 0x78E6, 0xB482, 0x78E7, 0xB483, 0x78E8, 0xC4A5, 0x78E9, 0xB484, 0x78EA, 0xB485, - 0x78EB, 0xB486, 0x78EC, 0xEDE0, 0x78ED, 0xB487, 0x78EE, 0xB488, 0x78EF, 0xB489, 0x78F0, 0xB48A, 0x78F1, 0xB48B, 0x78F2, 0xEDE1, - 0x78F3, 0xB48C, 0x78F4, 0xEDE3, 0x78F5, 0xB48D, 0x78F6, 0xB48E, 0x78F7, 0xC1D7, 0x78F8, 0xB48F, 0x78F9, 0xB490, 0x78FA, 0xBBC7, - 0x78FB, 0xB491, 0x78FC, 0xB492, 0x78FD, 0xB493, 0x78FE, 0xB494, 0x78FF, 0xB495, 0x7900, 0xB496, 0x7901, 0xBDB8, 0x7902, 0xB497, - 0x7903, 0xB498, 0x7904, 0xB499, 0x7905, 0xEDE2, 0x7906, 0xB49A, 0x7907, 0xB49B, 0x7908, 0xB49C, 0x7909, 0xB49D, 0x790A, 0xB49E, - 0x790B, 0xB49F, 0x790C, 0xB4A0, 0x790D, 0xB540, 0x790E, 0xB541, 0x790F, 0xB542, 0x7910, 0xB543, 0x7911, 0xB544, 0x7912, 0xB545, - 0x7913, 0xEDE4, 0x7914, 0xB546, 0x7915, 0xB547, 0x7916, 0xB548, 0x7917, 0xB549, 0x7918, 0xB54A, 0x7919, 0xB54B, 0x791A, 0xB54C, - 0x791B, 0xB54D, 0x791C, 0xB54E, 0x791D, 0xB54F, 0x791E, 0xEDE6, 0x791F, 0xB550, 0x7920, 0xB551, 0x7921, 0xB552, 0x7922, 0xB553, - 0x7923, 0xB554, 0x7924, 0xEDE5, 0x7925, 0xB555, 0x7926, 0xB556, 0x7927, 0xB557, 0x7928, 0xB558, 0x7929, 0xB559, 0x792A, 0xB55A, - 0x792B, 0xB55B, 0x792C, 0xB55C, 0x792D, 0xB55D, 0x792E, 0xB55E, 0x792F, 0xB55F, 0x7930, 0xB560, 0x7931, 0xB561, 0x7932, 0xB562, - 0x7933, 0xB563, 0x7934, 0xEDE7, 0x7935, 0xB564, 0x7936, 0xB565, 0x7937, 0xB566, 0x7938, 0xB567, 0x7939, 0xB568, 0x793A, 0xCABE, - 0x793B, 0xECEA, 0x793C, 0xC0F1, 0x793D, 0xB569, 0x793E, 0xC9E7, 0x793F, 0xB56A, 0x7940, 0xECEB, 0x7941, 0xC6EE, 0x7942, 0xB56B, - 0x7943, 0xB56C, 0x7944, 0xB56D, 0x7945, 0xB56E, 0x7946, 0xECEC, 0x7947, 0xB56F, 0x7948, 0xC6ED, 0x7949, 0xECED, 0x794A, 0xB570, - 0x794B, 0xB571, 0x794C, 0xB572, 0x794D, 0xB573, 0x794E, 0xB574, 0x794F, 0xB575, 0x7950, 0xB576, 0x7951, 0xB577, 0x7952, 0xB578, - 0x7953, 0xECF0, 0x7954, 0xB579, 0x7955, 0xB57A, 0x7956, 0xD7E6, 0x7957, 0xECF3, 0x7958, 0xB57B, 0x7959, 0xB57C, 0x795A, 0xECF1, - 0x795B, 0xECEE, 0x795C, 0xECEF, 0x795D, 0xD7A3, 0x795E, 0xC9F1, 0x795F, 0xCBEE, 0x7960, 0xECF4, 0x7961, 0xB57D, 0x7962, 0xECF2, - 0x7963, 0xB57E, 0x7964, 0xB580, 0x7965, 0xCFE9, 0x7966, 0xB581, 0x7967, 0xECF6, 0x7968, 0xC6B1, 0x7969, 0xB582, 0x796A, 0xB583, - 0x796B, 0xB584, 0x796C, 0xB585, 0x796D, 0xBCC0, 0x796E, 0xB586, 0x796F, 0xECF5, 0x7970, 0xB587, 0x7971, 0xB588, 0x7972, 0xB589, - 0x7973, 0xB58A, 0x7974, 0xB58B, 0x7975, 0xB58C, 0x7976, 0xB58D, 0x7977, 0xB5BB, 0x7978, 0xBBF6, 0x7979, 0xB58E, 0x797A, 0xECF7, - 0x797B, 0xB58F, 0x797C, 0xB590, 0x797D, 0xB591, 0x797E, 0xB592, 0x797F, 0xB593, 0x7980, 0xD9F7, 0x7981, 0xBDFB, 0x7982, 0xB594, - 0x7983, 0xB595, 0x7984, 0xC2BB, 0x7985, 0xECF8, 0x7986, 0xB596, 0x7987, 0xB597, 0x7988, 0xB598, 0x7989, 0xB599, 0x798A, 0xECF9, - 0x798B, 0xB59A, 0x798C, 0xB59B, 0x798D, 0xB59C, 0x798E, 0xB59D, 0x798F, 0xB8A3, 0x7990, 0xB59E, 0x7991, 0xB59F, 0x7992, 0xB5A0, - 0x7993, 0xB640, 0x7994, 0xB641, 0x7995, 0xB642, 0x7996, 0xB643, 0x7997, 0xB644, 0x7998, 0xB645, 0x7999, 0xB646, 0x799A, 0xECFA, - 0x799B, 0xB647, 0x799C, 0xB648, 0x799D, 0xB649, 0x799E, 0xB64A, 0x799F, 0xB64B, 0x79A0, 0xB64C, 0x79A1, 0xB64D, 0x79A2, 0xB64E, - 0x79A3, 0xB64F, 0x79A4, 0xB650, 0x79A5, 0xB651, 0x79A6, 0xB652, 0x79A7, 0xECFB, 0x79A8, 0xB653, 0x79A9, 0xB654, 0x79AA, 0xB655, - 0x79AB, 0xB656, 0x79AC, 0xB657, 0x79AD, 0xB658, 0x79AE, 0xB659, 0x79AF, 0xB65A, 0x79B0, 0xB65B, 0x79B1, 0xB65C, 0x79B2, 0xB65D, - 0x79B3, 0xECFC, 0x79B4, 0xB65E, 0x79B5, 0xB65F, 0x79B6, 0xB660, 0x79B7, 0xB661, 0x79B8, 0xB662, 0x79B9, 0xD3ED, 0x79BA, 0xD8AE, - 0x79BB, 0xC0EB, 0x79BC, 0xB663, 0x79BD, 0xC7DD, 0x79BE, 0xBACC, 0x79BF, 0xB664, 0x79C0, 0xD0E3, 0x79C1, 0xCBBD, 0x79C2, 0xB665, - 0x79C3, 0xCDBA, 0x79C4, 0xB666, 0x79C5, 0xB667, 0x79C6, 0xB8D1, 0x79C7, 0xB668, 0x79C8, 0xB669, 0x79C9, 0xB1FC, 0x79CA, 0xB66A, - 0x79CB, 0xC7EF, 0x79CC, 0xB66B, 0x79CD, 0xD6D6, 0x79CE, 0xB66C, 0x79CF, 0xB66D, 0x79D0, 0xB66E, 0x79D1, 0xBFC6, 0x79D2, 0xC3EB, - 0x79D3, 0xB66F, 0x79D4, 0xB670, 0x79D5, 0xEFF5, 0x79D6, 0xB671, 0x79D7, 0xB672, 0x79D8, 0xC3D8, 0x79D9, 0xB673, 0x79DA, 0xB674, - 0x79DB, 0xB675, 0x79DC, 0xB676, 0x79DD, 0xB677, 0x79DE, 0xB678, 0x79DF, 0xD7E2, 0x79E0, 0xB679, 0x79E1, 0xB67A, 0x79E2, 0xB67B, - 0x79E3, 0xEFF7, 0x79E4, 0xB3D3, 0x79E5, 0xB67C, 0x79E6, 0xC7D8, 0x79E7, 0xD1ED, 0x79E8, 0xB67D, 0x79E9, 0xD6C8, 0x79EA, 0xB67E, - 0x79EB, 0xEFF8, 0x79EC, 0xB680, 0x79ED, 0xEFF6, 0x79EE, 0xB681, 0x79EF, 0xBBFD, 0x79F0, 0xB3C6, 0x79F1, 0xB682, 0x79F2, 0xB683, - 0x79F3, 0xB684, 0x79F4, 0xB685, 0x79F5, 0xB686, 0x79F6, 0xB687, 0x79F7, 0xB688, 0x79F8, 0xBDD5, 0x79F9, 0xB689, 0x79FA, 0xB68A, - 0x79FB, 0xD2C6, 0x79FC, 0xB68B, 0x79FD, 0xBBE0, 0x79FE, 0xB68C, 0x79FF, 0xB68D, 0x7A00, 0xCFA1, 0x7A01, 0xB68E, 0x7A02, 0xEFFC, - 0x7A03, 0xEFFB, 0x7A04, 0xB68F, 0x7A05, 0xB690, 0x7A06, 0xEFF9, 0x7A07, 0xB691, 0x7A08, 0xB692, 0x7A09, 0xB693, 0x7A0A, 0xB694, - 0x7A0B, 0xB3CC, 0x7A0C, 0xB695, 0x7A0D, 0xC9D4, 0x7A0E, 0xCBB0, 0x7A0F, 0xB696, 0x7A10, 0xB697, 0x7A11, 0xB698, 0x7A12, 0xB699, - 0x7A13, 0xB69A, 0x7A14, 0xEFFE, 0x7A15, 0xB69B, 0x7A16, 0xB69C, 0x7A17, 0xB0DE, 0x7A18, 0xB69D, 0x7A19, 0xB69E, 0x7A1A, 0xD6C9, - 0x7A1B, 0xB69F, 0x7A1C, 0xB6A0, 0x7A1D, 0xB740, 0x7A1E, 0xEFFD, 0x7A1F, 0xB741, 0x7A20, 0xB3ED, 0x7A21, 0xB742, 0x7A22, 0xB743, - 0x7A23, 0xF6D5, 0x7A24, 0xB744, 0x7A25, 0xB745, 0x7A26, 0xB746, 0x7A27, 0xB747, 0x7A28, 0xB748, 0x7A29, 0xB749, 0x7A2A, 0xB74A, - 0x7A2B, 0xB74B, 0x7A2C, 0xB74C, 0x7A2D, 0xB74D, 0x7A2E, 0xB74E, 0x7A2F, 0xB74F, 0x7A30, 0xB750, 0x7A31, 0xB751, 0x7A32, 0xB752, - 0x7A33, 0xCEC8, 0x7A34, 0xB753, 0x7A35, 0xB754, 0x7A36, 0xB755, 0x7A37, 0xF0A2, 0x7A38, 0xB756, 0x7A39, 0xF0A1, 0x7A3A, 0xB757, - 0x7A3B, 0xB5BE, 0x7A3C, 0xBCDA, 0x7A3D, 0xBBFC, 0x7A3E, 0xB758, 0x7A3F, 0xB8E5, 0x7A40, 0xB759, 0x7A41, 0xB75A, 0x7A42, 0xB75B, - 0x7A43, 0xB75C, 0x7A44, 0xB75D, 0x7A45, 0xB75E, 0x7A46, 0xC4C2, 0x7A47, 0xB75F, 0x7A48, 0xB760, 0x7A49, 0xB761, 0x7A4A, 0xB762, - 0x7A4B, 0xB763, 0x7A4C, 0xB764, 0x7A4D, 0xB765, 0x7A4E, 0xB766, 0x7A4F, 0xB767, 0x7A50, 0xB768, 0x7A51, 0xF0A3, 0x7A52, 0xB769, - 0x7A53, 0xB76A, 0x7A54, 0xB76B, 0x7A55, 0xB76C, 0x7A56, 0xB76D, 0x7A57, 0xCBEB, 0x7A58, 0xB76E, 0x7A59, 0xB76F, 0x7A5A, 0xB770, - 0x7A5B, 0xB771, 0x7A5C, 0xB772, 0x7A5D, 0xB773, 0x7A5E, 0xB774, 0x7A5F, 0xB775, 0x7A60, 0xB776, 0x7A61, 0xB777, 0x7A62, 0xB778, - 0x7A63, 0xB779, 0x7A64, 0xB77A, 0x7A65, 0xB77B, 0x7A66, 0xB77C, 0x7A67, 0xB77D, 0x7A68, 0xB77E, 0x7A69, 0xB780, 0x7A6A, 0xB781, - 0x7A6B, 0xB782, 0x7A6C, 0xB783, 0x7A6D, 0xB784, 0x7A6E, 0xB785, 0x7A6F, 0xB786, 0x7A70, 0xF0A6, 0x7A71, 0xB787, 0x7A72, 0xB788, - 0x7A73, 0xB789, 0x7A74, 0xD1A8, 0x7A75, 0xB78A, 0x7A76, 0xBEBF, 0x7A77, 0xC7EE, 0x7A78, 0xF1B6, 0x7A79, 0xF1B7, 0x7A7A, 0xBFD5, - 0x7A7B, 0xB78B, 0x7A7C, 0xB78C, 0x7A7D, 0xB78D, 0x7A7E, 0xB78E, 0x7A7F, 0xB4A9, 0x7A80, 0xF1B8, 0x7A81, 0xCDBB, 0x7A82, 0xB78F, - 0x7A83, 0xC7D4, 0x7A84, 0xD5AD, 0x7A85, 0xB790, 0x7A86, 0xF1B9, 0x7A87, 0xB791, 0x7A88, 0xF1BA, 0x7A89, 0xB792, 0x7A8A, 0xB793, - 0x7A8B, 0xB794, 0x7A8C, 0xB795, 0x7A8D, 0xC7CF, 0x7A8E, 0xB796, 0x7A8F, 0xB797, 0x7A90, 0xB798, 0x7A91, 0xD2A4, 0x7A92, 0xD6CF, - 0x7A93, 0xB799, 0x7A94, 0xB79A, 0x7A95, 0xF1BB, 0x7A96, 0xBDD1, 0x7A97, 0xB4B0, 0x7A98, 0xBEBD, 0x7A99, 0xB79B, 0x7A9A, 0xB79C, - 0x7A9B, 0xB79D, 0x7A9C, 0xB4DC, 0x7A9D, 0xCED1, 0x7A9E, 0xB79E, 0x7A9F, 0xBFDF, 0x7AA0, 0xF1BD, 0x7AA1, 0xB79F, 0x7AA2, 0xB7A0, - 0x7AA3, 0xB840, 0x7AA4, 0xB841, 0x7AA5, 0xBFFA, 0x7AA6, 0xF1BC, 0x7AA7, 0xB842, 0x7AA8, 0xF1BF, 0x7AA9, 0xB843, 0x7AAA, 0xB844, - 0x7AAB, 0xB845, 0x7AAC, 0xF1BE, 0x7AAD, 0xF1C0, 0x7AAE, 0xB846, 0x7AAF, 0xB847, 0x7AB0, 0xB848, 0x7AB1, 0xB849, 0x7AB2, 0xB84A, - 0x7AB3, 0xF1C1, 0x7AB4, 0xB84B, 0x7AB5, 0xB84C, 0x7AB6, 0xB84D, 0x7AB7, 0xB84E, 0x7AB8, 0xB84F, 0x7AB9, 0xB850, 0x7ABA, 0xB851, - 0x7ABB, 0xB852, 0x7ABC, 0xB853, 0x7ABD, 0xB854, 0x7ABE, 0xB855, 0x7ABF, 0xC1FE, 0x7AC0, 0xB856, 0x7AC1, 0xB857, 0x7AC2, 0xB858, - 0x7AC3, 0xB859, 0x7AC4, 0xB85A, 0x7AC5, 0xB85B, 0x7AC6, 0xB85C, 0x7AC7, 0xB85D, 0x7AC8, 0xB85E, 0x7AC9, 0xB85F, 0x7ACA, 0xB860, - 0x7ACB, 0xC1A2, 0x7ACC, 0xB861, 0x7ACD, 0xB862, 0x7ACE, 0xB863, 0x7ACF, 0xB864, 0x7AD0, 0xB865, 0x7AD1, 0xB866, 0x7AD2, 0xB867, - 0x7AD3, 0xB868, 0x7AD4, 0xB869, 0x7AD5, 0xB86A, 0x7AD6, 0xCAFA, 0x7AD7, 0xB86B, 0x7AD8, 0xB86C, 0x7AD9, 0xD5BE, 0x7ADA, 0xB86D, - 0x7ADB, 0xB86E, 0x7ADC, 0xB86F, 0x7ADD, 0xB870, 0x7ADE, 0xBEBA, 0x7ADF, 0xBEB9, 0x7AE0, 0xD5C2, 0x7AE1, 0xB871, 0x7AE2, 0xB872, - 0x7AE3, 0xBFA2, 0x7AE4, 0xB873, 0x7AE5, 0xCDAF, 0x7AE6, 0xF1B5, 0x7AE7, 0xB874, 0x7AE8, 0xB875, 0x7AE9, 0xB876, 0x7AEA, 0xB877, - 0x7AEB, 0xB878, 0x7AEC, 0xB879, 0x7AED, 0xBDDF, 0x7AEE, 0xB87A, 0x7AEF, 0xB6CB, 0x7AF0, 0xB87B, 0x7AF1, 0xB87C, 0x7AF2, 0xB87D, - 0x7AF3, 0xB87E, 0x7AF4, 0xB880, 0x7AF5, 0xB881, 0x7AF6, 0xB882, 0x7AF7, 0xB883, 0x7AF8, 0xB884, 0x7AF9, 0xD6F1, 0x7AFA, 0xF3C3, - 0x7AFB, 0xB885, 0x7AFC, 0xB886, 0x7AFD, 0xF3C4, 0x7AFE, 0xB887, 0x7AFF, 0xB8CD, 0x7B00, 0xB888, 0x7B01, 0xB889, 0x7B02, 0xB88A, - 0x7B03, 0xF3C6, 0x7B04, 0xF3C7, 0x7B05, 0xB88B, 0x7B06, 0xB0CA, 0x7B07, 0xB88C, 0x7B08, 0xF3C5, 0x7B09, 0xB88D, 0x7B0A, 0xF3C9, - 0x7B0B, 0xCBF1, 0x7B0C, 0xB88E, 0x7B0D, 0xB88F, 0x7B0E, 0xB890, 0x7B0F, 0xF3CB, 0x7B10, 0xB891, 0x7B11, 0xD0A6, 0x7B12, 0xB892, - 0x7B13, 0xB893, 0x7B14, 0xB1CA, 0x7B15, 0xF3C8, 0x7B16, 0xB894, 0x7B17, 0xB895, 0x7B18, 0xB896, 0x7B19, 0xF3CF, 0x7B1A, 0xB897, - 0x7B1B, 0xB5D1, 0x7B1C, 0xB898, 0x7B1D, 0xB899, 0x7B1E, 0xF3D7, 0x7B1F, 0xB89A, 0x7B20, 0xF3D2, 0x7B21, 0xB89B, 0x7B22, 0xB89C, - 0x7B23, 0xB89D, 0x7B24, 0xF3D4, 0x7B25, 0xF3D3, 0x7B26, 0xB7FB, 0x7B27, 0xB89E, 0x7B28, 0xB1BF, 0x7B29, 0xB89F, 0x7B2A, 0xF3CE, - 0x7B2B, 0xF3CA, 0x7B2C, 0xB5DA, 0x7B2D, 0xB8A0, 0x7B2E, 0xF3D0, 0x7B2F, 0xB940, 0x7B30, 0xB941, 0x7B31, 0xF3D1, 0x7B32, 0xB942, - 0x7B33, 0xF3D5, 0x7B34, 0xB943, 0x7B35, 0xB944, 0x7B36, 0xB945, 0x7B37, 0xB946, 0x7B38, 0xF3CD, 0x7B39, 0xB947, 0x7B3A, 0xBCE3, - 0x7B3B, 0xB948, 0x7B3C, 0xC1FD, 0x7B3D, 0xB949, 0x7B3E, 0xF3D6, 0x7B3F, 0xB94A, 0x7B40, 0xB94B, 0x7B41, 0xB94C, 0x7B42, 0xB94D, - 0x7B43, 0xB94E, 0x7B44, 0xB94F, 0x7B45, 0xF3DA, 0x7B46, 0xB950, 0x7B47, 0xF3CC, 0x7B48, 0xB951, 0x7B49, 0xB5C8, 0x7B4A, 0xB952, - 0x7B4B, 0xBDEE, 0x7B4C, 0xF3DC, 0x7B4D, 0xB953, 0x7B4E, 0xB954, 0x7B4F, 0xB7A4, 0x7B50, 0xBFF0, 0x7B51, 0xD6FE, 0x7B52, 0xCDB2, - 0x7B53, 0xB955, 0x7B54, 0xB4F0, 0x7B55, 0xB956, 0x7B56, 0xB2DF, 0x7B57, 0xB957, 0x7B58, 0xF3D8, 0x7B59, 0xB958, 0x7B5A, 0xF3D9, - 0x7B5B, 0xC9B8, 0x7B5C, 0xB959, 0x7B5D, 0xF3DD, 0x7B5E, 0xB95A, 0x7B5F, 0xB95B, 0x7B60, 0xF3DE, 0x7B61, 0xB95C, 0x7B62, 0xF3E1, - 0x7B63, 0xB95D, 0x7B64, 0xB95E, 0x7B65, 0xB95F, 0x7B66, 0xB960, 0x7B67, 0xB961, 0x7B68, 0xB962, 0x7B69, 0xB963, 0x7B6A, 0xB964, - 0x7B6B, 0xB965, 0x7B6C, 0xB966, 0x7B6D, 0xB967, 0x7B6E, 0xF3DF, 0x7B6F, 0xB968, 0x7B70, 0xB969, 0x7B71, 0xF3E3, 0x7B72, 0xF3E2, - 0x7B73, 0xB96A, 0x7B74, 0xB96B, 0x7B75, 0xF3DB, 0x7B76, 0xB96C, 0x7B77, 0xBFEA, 0x7B78, 0xB96D, 0x7B79, 0xB3EF, 0x7B7A, 0xB96E, - 0x7B7B, 0xF3E0, 0x7B7C, 0xB96F, 0x7B7D, 0xB970, 0x7B7E, 0xC7A9, 0x7B7F, 0xB971, 0x7B80, 0xBCF2, 0x7B81, 0xB972, 0x7B82, 0xB973, - 0x7B83, 0xB974, 0x7B84, 0xB975, 0x7B85, 0xF3EB, 0x7B86, 0xB976, 0x7B87, 0xB977, 0x7B88, 0xB978, 0x7B89, 0xB979, 0x7B8A, 0xB97A, - 0x7B8B, 0xB97B, 0x7B8C, 0xB97C, 0x7B8D, 0xB9BF, 0x7B8E, 0xB97D, 0x7B8F, 0xB97E, 0x7B90, 0xF3E4, 0x7B91, 0xB980, 0x7B92, 0xB981, - 0x7B93, 0xB982, 0x7B94, 0xB2AD, 0x7B95, 0xBBFE, 0x7B96, 0xB983, 0x7B97, 0xCBE3, 0x7B98, 0xB984, 0x7B99, 0xB985, 0x7B9A, 0xB986, - 0x7B9B, 0xB987, 0x7B9C, 0xF3ED, 0x7B9D, 0xF3E9, 0x7B9E, 0xB988, 0x7B9F, 0xB989, 0x7BA0, 0xB98A, 0x7BA1, 0xB9DC, 0x7BA2, 0xF3EE, - 0x7BA3, 0xB98B, 0x7BA4, 0xB98C, 0x7BA5, 0xB98D, 0x7BA6, 0xF3E5, 0x7BA7, 0xF3E6, 0x7BA8, 0xF3EA, 0x7BA9, 0xC2E1, 0x7BAA, 0xF3EC, - 0x7BAB, 0xF3EF, 0x7BAC, 0xF3E8, 0x7BAD, 0xBCFD, 0x7BAE, 0xB98E, 0x7BAF, 0xB98F, 0x7BB0, 0xB990, 0x7BB1, 0xCFE4, 0x7BB2, 0xB991, - 0x7BB3, 0xB992, 0x7BB4, 0xF3F0, 0x7BB5, 0xB993, 0x7BB6, 0xB994, 0x7BB7, 0xB995, 0x7BB8, 0xF3E7, 0x7BB9, 0xB996, 0x7BBA, 0xB997, - 0x7BBB, 0xB998, 0x7BBC, 0xB999, 0x7BBD, 0xB99A, 0x7BBE, 0xB99B, 0x7BBF, 0xB99C, 0x7BC0, 0xB99D, 0x7BC1, 0xF3F2, 0x7BC2, 0xB99E, - 0x7BC3, 0xB99F, 0x7BC4, 0xB9A0, 0x7BC5, 0xBA40, 0x7BC6, 0xD7AD, 0x7BC7, 0xC6AA, 0x7BC8, 0xBA41, 0x7BC9, 0xBA42, 0x7BCA, 0xBA43, - 0x7BCB, 0xBA44, 0x7BCC, 0xF3F3, 0x7BCD, 0xBA45, 0x7BCE, 0xBA46, 0x7BCF, 0xBA47, 0x7BD0, 0xBA48, 0x7BD1, 0xF3F1, 0x7BD2, 0xBA49, - 0x7BD3, 0xC2A8, 0x7BD4, 0xBA4A, 0x7BD5, 0xBA4B, 0x7BD6, 0xBA4C, 0x7BD7, 0xBA4D, 0x7BD8, 0xBA4E, 0x7BD9, 0xB8DD, 0x7BDA, 0xF3F5, - 0x7BDB, 0xBA4F, 0x7BDC, 0xBA50, 0x7BDD, 0xF3F4, 0x7BDE, 0xBA51, 0x7BDF, 0xBA52, 0x7BE0, 0xBA53, 0x7BE1, 0xB4DB, 0x7BE2, 0xBA54, - 0x7BE3, 0xBA55, 0x7BE4, 0xBA56, 0x7BE5, 0xF3F6, 0x7BE6, 0xF3F7, 0x7BE7, 0xBA57, 0x7BE8, 0xBA58, 0x7BE9, 0xBA59, 0x7BEA, 0xF3F8, - 0x7BEB, 0xBA5A, 0x7BEC, 0xBA5B, 0x7BED, 0xBA5C, 0x7BEE, 0xC0BA, 0x7BEF, 0xBA5D, 0x7BF0, 0xBA5E, 0x7BF1, 0xC0E9, 0x7BF2, 0xBA5F, - 0x7BF3, 0xBA60, 0x7BF4, 0xBA61, 0x7BF5, 0xBA62, 0x7BF6, 0xBA63, 0x7BF7, 0xC5F1, 0x7BF8, 0xBA64, 0x7BF9, 0xBA65, 0x7BFA, 0xBA66, - 0x7BFB, 0xBA67, 0x7BFC, 0xF3FB, 0x7BFD, 0xBA68, 0x7BFE, 0xF3FA, 0x7BFF, 0xBA69, 0x7C00, 0xBA6A, 0x7C01, 0xBA6B, 0x7C02, 0xBA6C, - 0x7C03, 0xBA6D, 0x7C04, 0xBA6E, 0x7C05, 0xBA6F, 0x7C06, 0xBA70, 0x7C07, 0xB4D8, 0x7C08, 0xBA71, 0x7C09, 0xBA72, 0x7C0A, 0xBA73, - 0x7C0B, 0xF3FE, 0x7C0C, 0xF3F9, 0x7C0D, 0xBA74, 0x7C0E, 0xBA75, 0x7C0F, 0xF3FC, 0x7C10, 0xBA76, 0x7C11, 0xBA77, 0x7C12, 0xBA78, - 0x7C13, 0xBA79, 0x7C14, 0xBA7A, 0x7C15, 0xBA7B, 0x7C16, 0xF3FD, 0x7C17, 0xBA7C, 0x7C18, 0xBA7D, 0x7C19, 0xBA7E, 0x7C1A, 0xBA80, - 0x7C1B, 0xBA81, 0x7C1C, 0xBA82, 0x7C1D, 0xBA83, 0x7C1E, 0xBA84, 0x7C1F, 0xF4A1, 0x7C20, 0xBA85, 0x7C21, 0xBA86, 0x7C22, 0xBA87, - 0x7C23, 0xBA88, 0x7C24, 0xBA89, 0x7C25, 0xBA8A, 0x7C26, 0xF4A3, 0x7C27, 0xBBC9, 0x7C28, 0xBA8B, 0x7C29, 0xBA8C, 0x7C2A, 0xF4A2, - 0x7C2B, 0xBA8D, 0x7C2C, 0xBA8E, 0x7C2D, 0xBA8F, 0x7C2E, 0xBA90, 0x7C2F, 0xBA91, 0x7C30, 0xBA92, 0x7C31, 0xBA93, 0x7C32, 0xBA94, - 0x7C33, 0xBA95, 0x7C34, 0xBA96, 0x7C35, 0xBA97, 0x7C36, 0xBA98, 0x7C37, 0xBA99, 0x7C38, 0xF4A4, 0x7C39, 0xBA9A, 0x7C3A, 0xBA9B, - 0x7C3B, 0xBA9C, 0x7C3C, 0xBA9D, 0x7C3D, 0xBA9E, 0x7C3E, 0xBA9F, 0x7C3F, 0xB2BE, 0x7C40, 0xF4A6, 0x7C41, 0xF4A5, 0x7C42, 0xBAA0, - 0x7C43, 0xBB40, 0x7C44, 0xBB41, 0x7C45, 0xBB42, 0x7C46, 0xBB43, 0x7C47, 0xBB44, 0x7C48, 0xBB45, 0x7C49, 0xBB46, 0x7C4A, 0xBB47, - 0x7C4B, 0xBB48, 0x7C4C, 0xBB49, 0x7C4D, 0xBCAE, 0x7C4E, 0xBB4A, 0x7C4F, 0xBB4B, 0x7C50, 0xBB4C, 0x7C51, 0xBB4D, 0x7C52, 0xBB4E, - 0x7C53, 0xBB4F, 0x7C54, 0xBB50, 0x7C55, 0xBB51, 0x7C56, 0xBB52, 0x7C57, 0xBB53, 0x7C58, 0xBB54, 0x7C59, 0xBB55, 0x7C5A, 0xBB56, - 0x7C5B, 0xBB57, 0x7C5C, 0xBB58, 0x7C5D, 0xBB59, 0x7C5E, 0xBB5A, 0x7C5F, 0xBB5B, 0x7C60, 0xBB5C, 0x7C61, 0xBB5D, 0x7C62, 0xBB5E, - 0x7C63, 0xBB5F, 0x7C64, 0xBB60, 0x7C65, 0xBB61, 0x7C66, 0xBB62, 0x7C67, 0xBB63, 0x7C68, 0xBB64, 0x7C69, 0xBB65, 0x7C6A, 0xBB66, - 0x7C6B, 0xBB67, 0x7C6C, 0xBB68, 0x7C6D, 0xBB69, 0x7C6E, 0xBB6A, 0x7C6F, 0xBB6B, 0x7C70, 0xBB6C, 0x7C71, 0xBB6D, 0x7C72, 0xBB6E, - 0x7C73, 0xC3D7, 0x7C74, 0xD9E1, 0x7C75, 0xBB6F, 0x7C76, 0xBB70, 0x7C77, 0xBB71, 0x7C78, 0xBB72, 0x7C79, 0xBB73, 0x7C7A, 0xBB74, - 0x7C7B, 0xC0E0, 0x7C7C, 0xF4CC, 0x7C7D, 0xD7D1, 0x7C7E, 0xBB75, 0x7C7F, 0xBB76, 0x7C80, 0xBB77, 0x7C81, 0xBB78, 0x7C82, 0xBB79, - 0x7C83, 0xBB7A, 0x7C84, 0xBB7B, 0x7C85, 0xBB7C, 0x7C86, 0xBB7D, 0x7C87, 0xBB7E, 0x7C88, 0xBB80, 0x7C89, 0xB7DB, 0x7C8A, 0xBB81, - 0x7C8B, 0xBB82, 0x7C8C, 0xBB83, 0x7C8D, 0xBB84, 0x7C8E, 0xBB85, 0x7C8F, 0xBB86, 0x7C90, 0xBB87, 0x7C91, 0xF4CE, 0x7C92, 0xC1A3, - 0x7C93, 0xBB88, 0x7C94, 0xBB89, 0x7C95, 0xC6C9, 0x7C96, 0xBB8A, 0x7C97, 0xB4D6, 0x7C98, 0xD5B3, 0x7C99, 0xBB8B, 0x7C9A, 0xBB8C, - 0x7C9B, 0xBB8D, 0x7C9C, 0xF4D0, 0x7C9D, 0xF4CF, 0x7C9E, 0xF4D1, 0x7C9F, 0xCBDA, 0x7CA0, 0xBB8E, 0x7CA1, 0xBB8F, 0x7CA2, 0xF4D2, - 0x7CA3, 0xBB90, 0x7CA4, 0xD4C1, 0x7CA5, 0xD6E0, 0x7CA6, 0xBB91, 0x7CA7, 0xBB92, 0x7CA8, 0xBB93, 0x7CA9, 0xBB94, 0x7CAA, 0xB7E0, - 0x7CAB, 0xBB95, 0x7CAC, 0xBB96, 0x7CAD, 0xBB97, 0x7CAE, 0xC1B8, 0x7CAF, 0xBB98, 0x7CB0, 0xBB99, 0x7CB1, 0xC1BB, 0x7CB2, 0xF4D3, - 0x7CB3, 0xBEAC, 0x7CB4, 0xBB9A, 0x7CB5, 0xBB9B, 0x7CB6, 0xBB9C, 0x7CB7, 0xBB9D, 0x7CB8, 0xBB9E, 0x7CB9, 0xB4E2, 0x7CBA, 0xBB9F, - 0x7CBB, 0xBBA0, 0x7CBC, 0xF4D4, 0x7CBD, 0xF4D5, 0x7CBE, 0xBEAB, 0x7CBF, 0xBC40, 0x7CC0, 0xBC41, 0x7CC1, 0xF4D6, 0x7CC2, 0xBC42, - 0x7CC3, 0xBC43, 0x7CC4, 0xBC44, 0x7CC5, 0xF4DB, 0x7CC6, 0xBC45, 0x7CC7, 0xF4D7, 0x7CC8, 0xF4DA, 0x7CC9, 0xBC46, 0x7CCA, 0xBAFD, - 0x7CCB, 0xBC47, 0x7CCC, 0xF4D8, 0x7CCD, 0xF4D9, 0x7CCE, 0xBC48, 0x7CCF, 0xBC49, 0x7CD0, 0xBC4A, 0x7CD1, 0xBC4B, 0x7CD2, 0xBC4C, - 0x7CD3, 0xBC4D, 0x7CD4, 0xBC4E, 0x7CD5, 0xB8E2, 0x7CD6, 0xCCC7, 0x7CD7, 0xF4DC, 0x7CD8, 0xBC4F, 0x7CD9, 0xB2DA, 0x7CDA, 0xBC50, - 0x7CDB, 0xBC51, 0x7CDC, 0xC3D3, 0x7CDD, 0xBC52, 0x7CDE, 0xBC53, 0x7CDF, 0xD4E3, 0x7CE0, 0xBFB7, 0x7CE1, 0xBC54, 0x7CE2, 0xBC55, - 0x7CE3, 0xBC56, 0x7CE4, 0xBC57, 0x7CE5, 0xBC58, 0x7CE6, 0xBC59, 0x7CE7, 0xBC5A, 0x7CE8, 0xF4DD, 0x7CE9, 0xBC5B, 0x7CEA, 0xBC5C, - 0x7CEB, 0xBC5D, 0x7CEC, 0xBC5E, 0x7CED, 0xBC5F, 0x7CEE, 0xBC60, 0x7CEF, 0xC5B4, 0x7CF0, 0xBC61, 0x7CF1, 0xBC62, 0x7CF2, 0xBC63, - 0x7CF3, 0xBC64, 0x7CF4, 0xBC65, 0x7CF5, 0xBC66, 0x7CF6, 0xBC67, 0x7CF7, 0xBC68, 0x7CF8, 0xF4E9, 0x7CF9, 0xBC69, 0x7CFA, 0xBC6A, - 0x7CFB, 0xCFB5, 0x7CFC, 0xBC6B, 0x7CFD, 0xBC6C, 0x7CFE, 0xBC6D, 0x7CFF, 0xBC6E, 0x7D00, 0xBC6F, 0x7D01, 0xBC70, 0x7D02, 0xBC71, - 0x7D03, 0xBC72, 0x7D04, 0xBC73, 0x7D05, 0xBC74, 0x7D06, 0xBC75, 0x7D07, 0xBC76, 0x7D08, 0xBC77, 0x7D09, 0xBC78, 0x7D0A, 0xCEC9, - 0x7D0B, 0xBC79, 0x7D0C, 0xBC7A, 0x7D0D, 0xBC7B, 0x7D0E, 0xBC7C, 0x7D0F, 0xBC7D, 0x7D10, 0xBC7E, 0x7D11, 0xBC80, 0x7D12, 0xBC81, - 0x7D13, 0xBC82, 0x7D14, 0xBC83, 0x7D15, 0xBC84, 0x7D16, 0xBC85, 0x7D17, 0xBC86, 0x7D18, 0xBC87, 0x7D19, 0xBC88, 0x7D1A, 0xBC89, - 0x7D1B, 0xBC8A, 0x7D1C, 0xBC8B, 0x7D1D, 0xBC8C, 0x7D1E, 0xBC8D, 0x7D1F, 0xBC8E, 0x7D20, 0xCBD8, 0x7D21, 0xBC8F, 0x7D22, 0xCBF7, - 0x7D23, 0xBC90, 0x7D24, 0xBC91, 0x7D25, 0xBC92, 0x7D26, 0xBC93, 0x7D27, 0xBDF4, 0x7D28, 0xBC94, 0x7D29, 0xBC95, 0x7D2A, 0xBC96, - 0x7D2B, 0xD7CF, 0x7D2C, 0xBC97, 0x7D2D, 0xBC98, 0x7D2E, 0xBC99, 0x7D2F, 0xC0DB, 0x7D30, 0xBC9A, 0x7D31, 0xBC9B, 0x7D32, 0xBC9C, - 0x7D33, 0xBC9D, 0x7D34, 0xBC9E, 0x7D35, 0xBC9F, 0x7D36, 0xBCA0, 0x7D37, 0xBD40, 0x7D38, 0xBD41, 0x7D39, 0xBD42, 0x7D3A, 0xBD43, - 0x7D3B, 0xBD44, 0x7D3C, 0xBD45, 0x7D3D, 0xBD46, 0x7D3E, 0xBD47, 0x7D3F, 0xBD48, 0x7D40, 0xBD49, 0x7D41, 0xBD4A, 0x7D42, 0xBD4B, - 0x7D43, 0xBD4C, 0x7D44, 0xBD4D, 0x7D45, 0xBD4E, 0x7D46, 0xBD4F, 0x7D47, 0xBD50, 0x7D48, 0xBD51, 0x7D49, 0xBD52, 0x7D4A, 0xBD53, - 0x7D4B, 0xBD54, 0x7D4C, 0xBD55, 0x7D4D, 0xBD56, 0x7D4E, 0xBD57, 0x7D4F, 0xBD58, 0x7D50, 0xBD59, 0x7D51, 0xBD5A, 0x7D52, 0xBD5B, - 0x7D53, 0xBD5C, 0x7D54, 0xBD5D, 0x7D55, 0xBD5E, 0x7D56, 0xBD5F, 0x7D57, 0xBD60, 0x7D58, 0xBD61, 0x7D59, 0xBD62, 0x7D5A, 0xBD63, - 0x7D5B, 0xBD64, 0x7D5C, 0xBD65, 0x7D5D, 0xBD66, 0x7D5E, 0xBD67, 0x7D5F, 0xBD68, 0x7D60, 0xBD69, 0x7D61, 0xBD6A, 0x7D62, 0xBD6B, - 0x7D63, 0xBD6C, 0x7D64, 0xBD6D, 0x7D65, 0xBD6E, 0x7D66, 0xBD6F, 0x7D67, 0xBD70, 0x7D68, 0xBD71, 0x7D69, 0xBD72, 0x7D6A, 0xBD73, - 0x7D6B, 0xBD74, 0x7D6C, 0xBD75, 0x7D6D, 0xBD76, 0x7D6E, 0xD0F5, 0x7D6F, 0xBD77, 0x7D70, 0xBD78, 0x7D71, 0xBD79, 0x7D72, 0xBD7A, - 0x7D73, 0xBD7B, 0x7D74, 0xBD7C, 0x7D75, 0xBD7D, 0x7D76, 0xBD7E, 0x7D77, 0xF4EA, 0x7D78, 0xBD80, 0x7D79, 0xBD81, 0x7D7A, 0xBD82, - 0x7D7B, 0xBD83, 0x7D7C, 0xBD84, 0x7D7D, 0xBD85, 0x7D7E, 0xBD86, 0x7D7F, 0xBD87, 0x7D80, 0xBD88, 0x7D81, 0xBD89, 0x7D82, 0xBD8A, - 0x7D83, 0xBD8B, 0x7D84, 0xBD8C, 0x7D85, 0xBD8D, 0x7D86, 0xBD8E, 0x7D87, 0xBD8F, 0x7D88, 0xBD90, 0x7D89, 0xBD91, 0x7D8A, 0xBD92, - 0x7D8B, 0xBD93, 0x7D8C, 0xBD94, 0x7D8D, 0xBD95, 0x7D8E, 0xBD96, 0x7D8F, 0xBD97, 0x7D90, 0xBD98, 0x7D91, 0xBD99, 0x7D92, 0xBD9A, - 0x7D93, 0xBD9B, 0x7D94, 0xBD9C, 0x7D95, 0xBD9D, 0x7D96, 0xBD9E, 0x7D97, 0xBD9F, 0x7D98, 0xBDA0, 0x7D99, 0xBE40, 0x7D9A, 0xBE41, - 0x7D9B, 0xBE42, 0x7D9C, 0xBE43, 0x7D9D, 0xBE44, 0x7D9E, 0xBE45, 0x7D9F, 0xBE46, 0x7DA0, 0xBE47, 0x7DA1, 0xBE48, 0x7DA2, 0xBE49, - 0x7DA3, 0xBE4A, 0x7DA4, 0xBE4B, 0x7DA5, 0xBE4C, 0x7DA6, 0xF4EB, 0x7DA7, 0xBE4D, 0x7DA8, 0xBE4E, 0x7DA9, 0xBE4F, 0x7DAA, 0xBE50, - 0x7DAB, 0xBE51, 0x7DAC, 0xBE52, 0x7DAD, 0xBE53, 0x7DAE, 0xF4EC, 0x7DAF, 0xBE54, 0x7DB0, 0xBE55, 0x7DB1, 0xBE56, 0x7DB2, 0xBE57, - 0x7DB3, 0xBE58, 0x7DB4, 0xBE59, 0x7DB5, 0xBE5A, 0x7DB6, 0xBE5B, 0x7DB7, 0xBE5C, 0x7DB8, 0xBE5D, 0x7DB9, 0xBE5E, 0x7DBA, 0xBE5F, - 0x7DBB, 0xBE60, 0x7DBC, 0xBE61, 0x7DBD, 0xBE62, 0x7DBE, 0xBE63, 0x7DBF, 0xBE64, 0x7DC0, 0xBE65, 0x7DC1, 0xBE66, 0x7DC2, 0xBE67, - 0x7DC3, 0xBE68, 0x7DC4, 0xBE69, 0x7DC5, 0xBE6A, 0x7DC6, 0xBE6B, 0x7DC7, 0xBE6C, 0x7DC8, 0xBE6D, 0x7DC9, 0xBE6E, 0x7DCA, 0xBE6F, - 0x7DCB, 0xBE70, 0x7DCC, 0xBE71, 0x7DCD, 0xBE72, 0x7DCE, 0xBE73, 0x7DCF, 0xBE74, 0x7DD0, 0xBE75, 0x7DD1, 0xBE76, 0x7DD2, 0xBE77, - 0x7DD3, 0xBE78, 0x7DD4, 0xBE79, 0x7DD5, 0xBE7A, 0x7DD6, 0xBE7B, 0x7DD7, 0xBE7C, 0x7DD8, 0xBE7D, 0x7DD9, 0xBE7E, 0x7DDA, 0xBE80, - 0x7DDB, 0xBE81, 0x7DDC, 0xBE82, 0x7DDD, 0xBE83, 0x7DDE, 0xBE84, 0x7DDF, 0xBE85, 0x7DE0, 0xBE86, 0x7DE1, 0xBE87, 0x7DE2, 0xBE88, - 0x7DE3, 0xBE89, 0x7DE4, 0xBE8A, 0x7DE5, 0xBE8B, 0x7DE6, 0xBE8C, 0x7DE7, 0xBE8D, 0x7DE8, 0xBE8E, 0x7DE9, 0xBE8F, 0x7DEA, 0xBE90, - 0x7DEB, 0xBE91, 0x7DEC, 0xBE92, 0x7DED, 0xBE93, 0x7DEE, 0xBE94, 0x7DEF, 0xBE95, 0x7DF0, 0xBE96, 0x7DF1, 0xBE97, 0x7DF2, 0xBE98, - 0x7DF3, 0xBE99, 0x7DF4, 0xBE9A, 0x7DF5, 0xBE9B, 0x7DF6, 0xBE9C, 0x7DF7, 0xBE9D, 0x7DF8, 0xBE9E, 0x7DF9, 0xBE9F, 0x7DFA, 0xBEA0, - 0x7DFB, 0xBF40, 0x7DFC, 0xBF41, 0x7DFD, 0xBF42, 0x7DFE, 0xBF43, 0x7DFF, 0xBF44, 0x7E00, 0xBF45, 0x7E01, 0xBF46, 0x7E02, 0xBF47, - 0x7E03, 0xBF48, 0x7E04, 0xBF49, 0x7E05, 0xBF4A, 0x7E06, 0xBF4B, 0x7E07, 0xBF4C, 0x7E08, 0xBF4D, 0x7E09, 0xBF4E, 0x7E0A, 0xBF4F, - 0x7E0B, 0xBF50, 0x7E0C, 0xBF51, 0x7E0D, 0xBF52, 0x7E0E, 0xBF53, 0x7E0F, 0xBF54, 0x7E10, 0xBF55, 0x7E11, 0xBF56, 0x7E12, 0xBF57, - 0x7E13, 0xBF58, 0x7E14, 0xBF59, 0x7E15, 0xBF5A, 0x7E16, 0xBF5B, 0x7E17, 0xBF5C, 0x7E18, 0xBF5D, 0x7E19, 0xBF5E, 0x7E1A, 0xBF5F, - 0x7E1B, 0xBF60, 0x7E1C, 0xBF61, 0x7E1D, 0xBF62, 0x7E1E, 0xBF63, 0x7E1F, 0xBF64, 0x7E20, 0xBF65, 0x7E21, 0xBF66, 0x7E22, 0xBF67, - 0x7E23, 0xBF68, 0x7E24, 0xBF69, 0x7E25, 0xBF6A, 0x7E26, 0xBF6B, 0x7E27, 0xBF6C, 0x7E28, 0xBF6D, 0x7E29, 0xBF6E, 0x7E2A, 0xBF6F, - 0x7E2B, 0xBF70, 0x7E2C, 0xBF71, 0x7E2D, 0xBF72, 0x7E2E, 0xBF73, 0x7E2F, 0xBF74, 0x7E30, 0xBF75, 0x7E31, 0xBF76, 0x7E32, 0xBF77, - 0x7E33, 0xBF78, 0x7E34, 0xBF79, 0x7E35, 0xBF7A, 0x7E36, 0xBF7B, 0x7E37, 0xBF7C, 0x7E38, 0xBF7D, 0x7E39, 0xBF7E, 0x7E3A, 0xBF80, - 0x7E3B, 0xF7E3, 0x7E3C, 0xBF81, 0x7E3D, 0xBF82, 0x7E3E, 0xBF83, 0x7E3F, 0xBF84, 0x7E40, 0xBF85, 0x7E41, 0xB7B1, 0x7E42, 0xBF86, - 0x7E43, 0xBF87, 0x7E44, 0xBF88, 0x7E45, 0xBF89, 0x7E46, 0xBF8A, 0x7E47, 0xF4ED, 0x7E48, 0xBF8B, 0x7E49, 0xBF8C, 0x7E4A, 0xBF8D, - 0x7E4B, 0xBF8E, 0x7E4C, 0xBF8F, 0x7E4D, 0xBF90, 0x7E4E, 0xBF91, 0x7E4F, 0xBF92, 0x7E50, 0xBF93, 0x7E51, 0xBF94, 0x7E52, 0xBF95, - 0x7E53, 0xBF96, 0x7E54, 0xBF97, 0x7E55, 0xBF98, 0x7E56, 0xBF99, 0x7E57, 0xBF9A, 0x7E58, 0xBF9B, 0x7E59, 0xBF9C, 0x7E5A, 0xBF9D, - 0x7E5B, 0xBF9E, 0x7E5C, 0xBF9F, 0x7E5D, 0xBFA0, 0x7E5E, 0xC040, 0x7E5F, 0xC041, 0x7E60, 0xC042, 0x7E61, 0xC043, 0x7E62, 0xC044, - 0x7E63, 0xC045, 0x7E64, 0xC046, 0x7E65, 0xC047, 0x7E66, 0xC048, 0x7E67, 0xC049, 0x7E68, 0xC04A, 0x7E69, 0xC04B, 0x7E6A, 0xC04C, - 0x7E6B, 0xC04D, 0x7E6C, 0xC04E, 0x7E6D, 0xC04F, 0x7E6E, 0xC050, 0x7E6F, 0xC051, 0x7E70, 0xC052, 0x7E71, 0xC053, 0x7E72, 0xC054, - 0x7E73, 0xC055, 0x7E74, 0xC056, 0x7E75, 0xC057, 0x7E76, 0xC058, 0x7E77, 0xC059, 0x7E78, 0xC05A, 0x7E79, 0xC05B, 0x7E7A, 0xC05C, - 0x7E7B, 0xC05D, 0x7E7C, 0xC05E, 0x7E7D, 0xC05F, 0x7E7E, 0xC060, 0x7E7F, 0xC061, 0x7E80, 0xC062, 0x7E81, 0xC063, 0x7E82, 0xD7EB, - 0x7E83, 0xC064, 0x7E84, 0xC065, 0x7E85, 0xC066, 0x7E86, 0xC067, 0x7E87, 0xC068, 0x7E88, 0xC069, 0x7E89, 0xC06A, 0x7E8A, 0xC06B, - 0x7E8B, 0xC06C, 0x7E8C, 0xC06D, 0x7E8D, 0xC06E, 0x7E8E, 0xC06F, 0x7E8F, 0xC070, 0x7E90, 0xC071, 0x7E91, 0xC072, 0x7E92, 0xC073, - 0x7E93, 0xC074, 0x7E94, 0xC075, 0x7E95, 0xC076, 0x7E96, 0xC077, 0x7E97, 0xC078, 0x7E98, 0xC079, 0x7E99, 0xC07A, 0x7E9A, 0xC07B, - 0x7E9B, 0xF4EE, 0x7E9C, 0xC07C, 0x7E9D, 0xC07D, 0x7E9E, 0xC07E, 0x7E9F, 0xE6F9, 0x7EA0, 0xBEC0, 0x7EA1, 0xE6FA, 0x7EA2, 0xBAEC, - 0x7EA3, 0xE6FB, 0x7EA4, 0xCFCB, 0x7EA5, 0xE6FC, 0x7EA6, 0xD4BC, 0x7EA7, 0xBCB6, 0x7EA8, 0xE6FD, 0x7EA9, 0xE6FE, 0x7EAA, 0xBCCD, - 0x7EAB, 0xC8D2, 0x7EAC, 0xCEB3, 0x7EAD, 0xE7A1, 0x7EAE, 0xC080, 0x7EAF, 0xB4BF, 0x7EB0, 0xE7A2, 0x7EB1, 0xC9B4, 0x7EB2, 0xB8D9, - 0x7EB3, 0xC4C9, 0x7EB4, 0xC081, 0x7EB5, 0xD7DD, 0x7EB6, 0xC2DA, 0x7EB7, 0xB7D7, 0x7EB8, 0xD6BD, 0x7EB9, 0xCEC6, 0x7EBA, 0xB7C4, - 0x7EBB, 0xC082, 0x7EBC, 0xC083, 0x7EBD, 0xC5A6, 0x7EBE, 0xE7A3, 0x7EBF, 0xCFDF, 0x7EC0, 0xE7A4, 0x7EC1, 0xE7A5, 0x7EC2, 0xE7A6, - 0x7EC3, 0xC1B7, 0x7EC4, 0xD7E9, 0x7EC5, 0xC9F0, 0x7EC6, 0xCFB8, 0x7EC7, 0xD6AF, 0x7EC8, 0xD6D5, 0x7EC9, 0xE7A7, 0x7ECA, 0xB0ED, - 0x7ECB, 0xE7A8, 0x7ECC, 0xE7A9, 0x7ECD, 0xC9DC, 0x7ECE, 0xD2EF, 0x7ECF, 0xBEAD, 0x7ED0, 0xE7AA, 0x7ED1, 0xB0F3, 0x7ED2, 0xC8DE, - 0x7ED3, 0xBDE1, 0x7ED4, 0xE7AB, 0x7ED5, 0xC8C6, 0x7ED6, 0xC084, 0x7ED7, 0xE7AC, 0x7ED8, 0xBBE6, 0x7ED9, 0xB8F8, 0x7EDA, 0xD1A4, - 0x7EDB, 0xE7AD, 0x7EDC, 0xC2E7, 0x7EDD, 0xBEF8, 0x7EDE, 0xBDCA, 0x7EDF, 0xCDB3, 0x7EE0, 0xE7AE, 0x7EE1, 0xE7AF, 0x7EE2, 0xBEEE, - 0x7EE3, 0xD0E5, 0x7EE4, 0xC085, 0x7EE5, 0xCBE7, 0x7EE6, 0xCCD0, 0x7EE7, 0xBCCC, 0x7EE8, 0xE7B0, 0x7EE9, 0xBCA8, 0x7EEA, 0xD0F7, - 0x7EEB, 0xE7B1, 0x7EEC, 0xC086, 0x7EED, 0xD0F8, 0x7EEE, 0xE7B2, 0x7EEF, 0xE7B3, 0x7EF0, 0xB4C2, 0x7EF1, 0xE7B4, 0x7EF2, 0xE7B5, - 0x7EF3, 0xC9FE, 0x7EF4, 0xCEAC, 0x7EF5, 0xC3E0, 0x7EF6, 0xE7B7, 0x7EF7, 0xB1C1, 0x7EF8, 0xB3F1, 0x7EF9, 0xC087, 0x7EFA, 0xE7B8, - 0x7EFB, 0xE7B9, 0x7EFC, 0xD7DB, 0x7EFD, 0xD5C0, 0x7EFE, 0xE7BA, 0x7EFF, 0xC2CC, 0x7F00, 0xD7BA, 0x7F01, 0xE7BB, 0x7F02, 0xE7BC, - 0x7F03, 0xE7BD, 0x7F04, 0xBCEA, 0x7F05, 0xC3E5, 0x7F06, 0xC0C2, 0x7F07, 0xE7BE, 0x7F08, 0xE7BF, 0x7F09, 0xBCA9, 0x7F0A, 0xC088, - 0x7F0B, 0xE7C0, 0x7F0C, 0xE7C1, 0x7F0D, 0xE7B6, 0x7F0E, 0xB6D0, 0x7F0F, 0xE7C2, 0x7F10, 0xC089, 0x7F11, 0xE7C3, 0x7F12, 0xE7C4, - 0x7F13, 0xBBBA, 0x7F14, 0xB5DE, 0x7F15, 0xC2C6, 0x7F16, 0xB1E0, 0x7F17, 0xE7C5, 0x7F18, 0xD4B5, 0x7F19, 0xE7C6, 0x7F1A, 0xB8BF, - 0x7F1B, 0xE7C8, 0x7F1C, 0xE7C7, 0x7F1D, 0xB7EC, 0x7F1E, 0xC08A, 0x7F1F, 0xE7C9, 0x7F20, 0xB2F8, 0x7F21, 0xE7CA, 0x7F22, 0xE7CB, - 0x7F23, 0xE7CC, 0x7F24, 0xE7CD, 0x7F25, 0xE7CE, 0x7F26, 0xE7CF, 0x7F27, 0xE7D0, 0x7F28, 0xD3A7, 0x7F29, 0xCBF5, 0x7F2A, 0xE7D1, - 0x7F2B, 0xE7D2, 0x7F2C, 0xE7D3, 0x7F2D, 0xE7D4, 0x7F2E, 0xC9C9, 0x7F2F, 0xE7D5, 0x7F30, 0xE7D6, 0x7F31, 0xE7D7, 0x7F32, 0xE7D8, - 0x7F33, 0xE7D9, 0x7F34, 0xBDC9, 0x7F35, 0xE7DA, 0x7F36, 0xF3BE, 0x7F37, 0xC08B, 0x7F38, 0xB8D7, 0x7F39, 0xC08C, 0x7F3A, 0xC8B1, - 0x7F3B, 0xC08D, 0x7F3C, 0xC08E, 0x7F3D, 0xC08F, 0x7F3E, 0xC090, 0x7F3F, 0xC091, 0x7F40, 0xC092, 0x7F41, 0xC093, 0x7F42, 0xF3BF, - 0x7F43, 0xC094, 0x7F44, 0xF3C0, 0x7F45, 0xF3C1, 0x7F46, 0xC095, 0x7F47, 0xC096, 0x7F48, 0xC097, 0x7F49, 0xC098, 0x7F4A, 0xC099, - 0x7F4B, 0xC09A, 0x7F4C, 0xC09B, 0x7F4D, 0xC09C, 0x7F4E, 0xC09D, 0x7F4F, 0xC09E, 0x7F50, 0xB9DE, 0x7F51, 0xCDF8, 0x7F52, 0xC09F, - 0x7F53, 0xC0A0, 0x7F54, 0xD8E8, 0x7F55, 0xBAB1, 0x7F56, 0xC140, 0x7F57, 0xC2DE, 0x7F58, 0xEEB7, 0x7F59, 0xC141, 0x7F5A, 0xB7A3, - 0x7F5B, 0xC142, 0x7F5C, 0xC143, 0x7F5D, 0xC144, 0x7F5E, 0xC145, 0x7F5F, 0xEEB9, 0x7F60, 0xC146, 0x7F61, 0xEEB8, 0x7F62, 0xB0D5, - 0x7F63, 0xC147, 0x7F64, 0xC148, 0x7F65, 0xC149, 0x7F66, 0xC14A, 0x7F67, 0xC14B, 0x7F68, 0xEEBB, 0x7F69, 0xD5D6, 0x7F6A, 0xD7EF, - 0x7F6B, 0xC14C, 0x7F6C, 0xC14D, 0x7F6D, 0xC14E, 0x7F6E, 0xD6C3, 0x7F6F, 0xC14F, 0x7F70, 0xC150, 0x7F71, 0xEEBD, 0x7F72, 0xCAF0, - 0x7F73, 0xC151, 0x7F74, 0xEEBC, 0x7F75, 0xC152, 0x7F76, 0xC153, 0x7F77, 0xC154, 0x7F78, 0xC155, 0x7F79, 0xEEBE, 0x7F7A, 0xC156, - 0x7F7B, 0xC157, 0x7F7C, 0xC158, 0x7F7D, 0xC159, 0x7F7E, 0xEEC0, 0x7F7F, 0xC15A, 0x7F80, 0xC15B, 0x7F81, 0xEEBF, 0x7F82, 0xC15C, - 0x7F83, 0xC15D, 0x7F84, 0xC15E, 0x7F85, 0xC15F, 0x7F86, 0xC160, 0x7F87, 0xC161, 0x7F88, 0xC162, 0x7F89, 0xC163, 0x7F8A, 0xD1F2, - 0x7F8B, 0xC164, 0x7F8C, 0xC7BC, 0x7F8D, 0xC165, 0x7F8E, 0xC3C0, 0x7F8F, 0xC166, 0x7F90, 0xC167, 0x7F91, 0xC168, 0x7F92, 0xC169, - 0x7F93, 0xC16A, 0x7F94, 0xB8E1, 0x7F95, 0xC16B, 0x7F96, 0xC16C, 0x7F97, 0xC16D, 0x7F98, 0xC16E, 0x7F99, 0xC16F, 0x7F9A, 0xC1E7, - 0x7F9B, 0xC170, 0x7F9C, 0xC171, 0x7F9D, 0xF4C6, 0x7F9E, 0xD0DF, 0x7F9F, 0xF4C7, 0x7FA0, 0xC172, 0x7FA1, 0xCFDB, 0x7FA2, 0xC173, - 0x7FA3, 0xC174, 0x7FA4, 0xC8BA, 0x7FA5, 0xC175, 0x7FA6, 0xC176, 0x7FA7, 0xF4C8, 0x7FA8, 0xC177, 0x7FA9, 0xC178, 0x7FAA, 0xC179, - 0x7FAB, 0xC17A, 0x7FAC, 0xC17B, 0x7FAD, 0xC17C, 0x7FAE, 0xC17D, 0x7FAF, 0xF4C9, 0x7FB0, 0xF4CA, 0x7FB1, 0xC17E, 0x7FB2, 0xF4CB, - 0x7FB3, 0xC180, 0x7FB4, 0xC181, 0x7FB5, 0xC182, 0x7FB6, 0xC183, 0x7FB7, 0xC184, 0x7FB8, 0xD9FA, 0x7FB9, 0xB8FE, 0x7FBA, 0xC185, - 0x7FBB, 0xC186, 0x7FBC, 0xE5F1, 0x7FBD, 0xD3F0, 0x7FBE, 0xC187, 0x7FBF, 0xF4E0, 0x7FC0, 0xC188, 0x7FC1, 0xCECC, 0x7FC2, 0xC189, - 0x7FC3, 0xC18A, 0x7FC4, 0xC18B, 0x7FC5, 0xB3E1, 0x7FC6, 0xC18C, 0x7FC7, 0xC18D, 0x7FC8, 0xC18E, 0x7FC9, 0xC18F, 0x7FCA, 0xF1B4, - 0x7FCB, 0xC190, 0x7FCC, 0xD2EE, 0x7FCD, 0xC191, 0x7FCE, 0xF4E1, 0x7FCF, 0xC192, 0x7FD0, 0xC193, 0x7FD1, 0xC194, 0x7FD2, 0xC195, - 0x7FD3, 0xC196, 0x7FD4, 0xCFE8, 0x7FD5, 0xF4E2, 0x7FD6, 0xC197, 0x7FD7, 0xC198, 0x7FD8, 0xC7CC, 0x7FD9, 0xC199, 0x7FDA, 0xC19A, - 0x7FDB, 0xC19B, 0x7FDC, 0xC19C, 0x7FDD, 0xC19D, 0x7FDE, 0xC19E, 0x7FDF, 0xB5D4, 0x7FE0, 0xB4E4, 0x7FE1, 0xF4E4, 0x7FE2, 0xC19F, - 0x7FE3, 0xC1A0, 0x7FE4, 0xC240, 0x7FE5, 0xF4E3, 0x7FE6, 0xF4E5, 0x7FE7, 0xC241, 0x7FE8, 0xC242, 0x7FE9, 0xF4E6, 0x7FEA, 0xC243, - 0x7FEB, 0xC244, 0x7FEC, 0xC245, 0x7FED, 0xC246, 0x7FEE, 0xF4E7, 0x7FEF, 0xC247, 0x7FF0, 0xBAB2, 0x7FF1, 0xB0BF, 0x7FF2, 0xC248, - 0x7FF3, 0xF4E8, 0x7FF4, 0xC249, 0x7FF5, 0xC24A, 0x7FF6, 0xC24B, 0x7FF7, 0xC24C, 0x7FF8, 0xC24D, 0x7FF9, 0xC24E, 0x7FFA, 0xC24F, - 0x7FFB, 0xB7AD, 0x7FFC, 0xD2ED, 0x7FFD, 0xC250, 0x7FFE, 0xC251, 0x7FFF, 0xC252, 0x8000, 0xD2AB, 0x8001, 0xC0CF, 0x8002, 0xC253, - 0x8003, 0xBFBC, 0x8004, 0xEBA3, 0x8005, 0xD5DF, 0x8006, 0xEAC8, 0x8007, 0xC254, 0x8008, 0xC255, 0x8009, 0xC256, 0x800A, 0xC257, - 0x800B, 0xF1F3, 0x800C, 0xB6F8, 0x800D, 0xCBA3, 0x800E, 0xC258, 0x800F, 0xC259, 0x8010, 0xC4CD, 0x8011, 0xC25A, 0x8012, 0xF1E7, - 0x8013, 0xC25B, 0x8014, 0xF1E8, 0x8015, 0xB8FB, 0x8016, 0xF1E9, 0x8017, 0xBAC4, 0x8018, 0xD4C5, 0x8019, 0xB0D2, 0x801A, 0xC25C, - 0x801B, 0xC25D, 0x801C, 0xF1EA, 0x801D, 0xC25E, 0x801E, 0xC25F, 0x801F, 0xC260, 0x8020, 0xF1EB, 0x8021, 0xC261, 0x8022, 0xF1EC, - 0x8023, 0xC262, 0x8024, 0xC263, 0x8025, 0xF1ED, 0x8026, 0xF1EE, 0x8027, 0xF1EF, 0x8028, 0xF1F1, 0x8029, 0xF1F0, 0x802A, 0xC5D5, - 0x802B, 0xC264, 0x802C, 0xC265, 0x802D, 0xC266, 0x802E, 0xC267, 0x802F, 0xC268, 0x8030, 0xC269, 0x8031, 0xF1F2, 0x8032, 0xC26A, - 0x8033, 0xB6FA, 0x8034, 0xC26B, 0x8035, 0xF1F4, 0x8036, 0xD2AE, 0x8037, 0xDEC7, 0x8038, 0xCBCA, 0x8039, 0xC26C, 0x803A, 0xC26D, - 0x803B, 0xB3DC, 0x803C, 0xC26E, 0x803D, 0xB5A2, 0x803E, 0xC26F, 0x803F, 0xB9A2, 0x8040, 0xC270, 0x8041, 0xC271, 0x8042, 0xC4F4, - 0x8043, 0xF1F5, 0x8044, 0xC272, 0x8045, 0xC273, 0x8046, 0xF1F6, 0x8047, 0xC274, 0x8048, 0xC275, 0x8049, 0xC276, 0x804A, 0xC1C4, - 0x804B, 0xC1FB, 0x804C, 0xD6B0, 0x804D, 0xF1F7, 0x804E, 0xC277, 0x804F, 0xC278, 0x8050, 0xC279, 0x8051, 0xC27A, 0x8052, 0xF1F8, - 0x8053, 0xC27B, 0x8054, 0xC1AA, 0x8055, 0xC27C, 0x8056, 0xC27D, 0x8057, 0xC27E, 0x8058, 0xC6B8, 0x8059, 0xC280, 0x805A, 0xBEDB, - 0x805B, 0xC281, 0x805C, 0xC282, 0x805D, 0xC283, 0x805E, 0xC284, 0x805F, 0xC285, 0x8060, 0xC286, 0x8061, 0xC287, 0x8062, 0xC288, - 0x8063, 0xC289, 0x8064, 0xC28A, 0x8065, 0xC28B, 0x8066, 0xC28C, 0x8067, 0xC28D, 0x8068, 0xC28E, 0x8069, 0xF1F9, 0x806A, 0xB4CF, - 0x806B, 0xC28F, 0x806C, 0xC290, 0x806D, 0xC291, 0x806E, 0xC292, 0x806F, 0xC293, 0x8070, 0xC294, 0x8071, 0xF1FA, 0x8072, 0xC295, - 0x8073, 0xC296, 0x8074, 0xC297, 0x8075, 0xC298, 0x8076, 0xC299, 0x8077, 0xC29A, 0x8078, 0xC29B, 0x8079, 0xC29C, 0x807A, 0xC29D, - 0x807B, 0xC29E, 0x807C, 0xC29F, 0x807D, 0xC2A0, 0x807E, 0xC340, 0x807F, 0xEDB2, 0x8080, 0xEDB1, 0x8081, 0xC341, 0x8082, 0xC342, - 0x8083, 0xCBE0, 0x8084, 0xD2DE, 0x8085, 0xC343, 0x8086, 0xCBC1, 0x8087, 0xD5D8, 0x8088, 0xC344, 0x8089, 0xC8E2, 0x808A, 0xC345, - 0x808B, 0xC0DF, 0x808C, 0xBCA1, 0x808D, 0xC346, 0x808E, 0xC347, 0x808F, 0xC348, 0x8090, 0xC349, 0x8091, 0xC34A, 0x8092, 0xC34B, - 0x8093, 0xEBC1, 0x8094, 0xC34C, 0x8095, 0xC34D, 0x8096, 0xD0A4, 0x8097, 0xC34E, 0x8098, 0xD6E2, 0x8099, 0xC34F, 0x809A, 0xB6C7, - 0x809B, 0xB8D8, 0x809C, 0xEBC0, 0x809D, 0xB8CE, 0x809E, 0xC350, 0x809F, 0xEBBF, 0x80A0, 0xB3A6, 0x80A1, 0xB9C9, 0x80A2, 0xD6AB, - 0x80A3, 0xC351, 0x80A4, 0xB7F4, 0x80A5, 0xB7CA, 0x80A6, 0xC352, 0x80A7, 0xC353, 0x80A8, 0xC354, 0x80A9, 0xBCE7, 0x80AA, 0xB7BE, - 0x80AB, 0xEBC6, 0x80AC, 0xC355, 0x80AD, 0xEBC7, 0x80AE, 0xB0B9, 0x80AF, 0xBFCF, 0x80B0, 0xC356, 0x80B1, 0xEBC5, 0x80B2, 0xD3FD, - 0x80B3, 0xC357, 0x80B4, 0xEBC8, 0x80B5, 0xC358, 0x80B6, 0xC359, 0x80B7, 0xEBC9, 0x80B8, 0xC35A, 0x80B9, 0xC35B, 0x80BA, 0xB7CE, - 0x80BB, 0xC35C, 0x80BC, 0xEBC2, 0x80BD, 0xEBC4, 0x80BE, 0xC9F6, 0x80BF, 0xD6D7, 0x80C0, 0xD5CD, 0x80C1, 0xD0B2, 0x80C2, 0xEBCF, - 0x80C3, 0xCEB8, 0x80C4, 0xEBD0, 0x80C5, 0xC35D, 0x80C6, 0xB5A8, 0x80C7, 0xC35E, 0x80C8, 0xC35F, 0x80C9, 0xC360, 0x80CA, 0xC361, - 0x80CB, 0xC362, 0x80CC, 0xB1B3, 0x80CD, 0xEBD2, 0x80CE, 0xCCA5, 0x80CF, 0xC363, 0x80D0, 0xC364, 0x80D1, 0xC365, 0x80D2, 0xC366, - 0x80D3, 0xC367, 0x80D4, 0xC368, 0x80D5, 0xC369, 0x80D6, 0xC5D6, 0x80D7, 0xEBD3, 0x80D8, 0xC36A, 0x80D9, 0xEBD1, 0x80DA, 0xC5DF, - 0x80DB, 0xEBCE, 0x80DC, 0xCAA4, 0x80DD, 0xEBD5, 0x80DE, 0xB0FB, 0x80DF, 0xC36B, 0x80E0, 0xC36C, 0x80E1, 0xBAFA, 0x80E2, 0xC36D, - 0x80E3, 0xC36E, 0x80E4, 0xD8B7, 0x80E5, 0xF1E3, 0x80E6, 0xC36F, 0x80E7, 0xEBCA, 0x80E8, 0xEBCB, 0x80E9, 0xEBCC, 0x80EA, 0xEBCD, - 0x80EB, 0xEBD6, 0x80EC, 0xE6C0, 0x80ED, 0xEBD9, 0x80EE, 0xC370, 0x80EF, 0xBFE8, 0x80F0, 0xD2C8, 0x80F1, 0xEBD7, 0x80F2, 0xEBDC, - 0x80F3, 0xB8EC, 0x80F4, 0xEBD8, 0x80F5, 0xC371, 0x80F6, 0xBDBA, 0x80F7, 0xC372, 0x80F8, 0xD0D8, 0x80F9, 0xC373, 0x80FA, 0xB0B7, - 0x80FB, 0xC374, 0x80FC, 0xEBDD, 0x80FD, 0xC4DC, 0x80FE, 0xC375, 0x80FF, 0xC376, 0x8100, 0xC377, 0x8101, 0xC378, 0x8102, 0xD6AC, - 0x8103, 0xC379, 0x8104, 0xC37A, 0x8105, 0xC37B, 0x8106, 0xB4E0, 0x8107, 0xC37C, 0x8108, 0xC37D, 0x8109, 0xC2F6, 0x810A, 0xBCB9, - 0x810B, 0xC37E, 0x810C, 0xC380, 0x810D, 0xEBDA, 0x810E, 0xEBDB, 0x810F, 0xD4E0, 0x8110, 0xC6EA, 0x8111, 0xC4D4, 0x8112, 0xEBDF, - 0x8113, 0xC5A7, 0x8114, 0xD9F5, 0x8115, 0xC381, 0x8116, 0xB2B1, 0x8117, 0xC382, 0x8118, 0xEBE4, 0x8119, 0xC383, 0x811A, 0xBDC5, - 0x811B, 0xC384, 0x811C, 0xC385, 0x811D, 0xC386, 0x811E, 0xEBE2, 0x811F, 0xC387, 0x8120, 0xC388, 0x8121, 0xC389, 0x8122, 0xC38A, - 0x8123, 0xC38B, 0x8124, 0xC38C, 0x8125, 0xC38D, 0x8126, 0xC38E, 0x8127, 0xC38F, 0x8128, 0xC390, 0x8129, 0xC391, 0x812A, 0xC392, - 0x812B, 0xC393, 0x812C, 0xEBE3, 0x812D, 0xC394, 0x812E, 0xC395, 0x812F, 0xB8AC, 0x8130, 0xC396, 0x8131, 0xCDD1, 0x8132, 0xEBE5, - 0x8133, 0xC397, 0x8134, 0xC398, 0x8135, 0xC399, 0x8136, 0xEBE1, 0x8137, 0xC39A, 0x8138, 0xC1B3, 0x8139, 0xC39B, 0x813A, 0xC39C, - 0x813B, 0xC39D, 0x813C, 0xC39E, 0x813D, 0xC39F, 0x813E, 0xC6A2, 0x813F, 0xC3A0, 0x8140, 0xC440, 0x8141, 0xC441, 0x8142, 0xC442, - 0x8143, 0xC443, 0x8144, 0xC444, 0x8145, 0xC445, 0x8146, 0xCCF3, 0x8147, 0xC446, 0x8148, 0xEBE6, 0x8149, 0xC447, 0x814A, 0xC0B0, - 0x814B, 0xD2B8, 0x814C, 0xEBE7, 0x814D, 0xC448, 0x814E, 0xC449, 0x814F, 0xC44A, 0x8150, 0xB8AF, 0x8151, 0xB8AD, 0x8152, 0xC44B, - 0x8153, 0xEBE8, 0x8154, 0xC7BB, 0x8155, 0xCDF3, 0x8156, 0xC44C, 0x8157, 0xC44D, 0x8158, 0xC44E, 0x8159, 0xEBEA, 0x815A, 0xEBEB, - 0x815B, 0xC44F, 0x815C, 0xC450, 0x815D, 0xC451, 0x815E, 0xC452, 0x815F, 0xC453, 0x8160, 0xEBED, 0x8161, 0xC454, 0x8162, 0xC455, - 0x8163, 0xC456, 0x8164, 0xC457, 0x8165, 0xD0C8, 0x8166, 0xC458, 0x8167, 0xEBF2, 0x8168, 0xC459, 0x8169, 0xEBEE, 0x816A, 0xC45A, - 0x816B, 0xC45B, 0x816C, 0xC45C, 0x816D, 0xEBF1, 0x816E, 0xC8F9, 0x816F, 0xC45D, 0x8170, 0xD1FC, 0x8171, 0xEBEC, 0x8172, 0xC45E, - 0x8173, 0xC45F, 0x8174, 0xEBE9, 0x8175, 0xC460, 0x8176, 0xC461, 0x8177, 0xC462, 0x8178, 0xC463, 0x8179, 0xB8B9, 0x817A, 0xCFD9, - 0x817B, 0xC4E5, 0x817C, 0xEBEF, 0x817D, 0xEBF0, 0x817E, 0xCCDA, 0x817F, 0xCDC8, 0x8180, 0xB0F2, 0x8181, 0xC464, 0x8182, 0xEBF6, - 0x8183, 0xC465, 0x8184, 0xC466, 0x8185, 0xC467, 0x8186, 0xC468, 0x8187, 0xC469, 0x8188, 0xEBF5, 0x8189, 0xC46A, 0x818A, 0xB2B2, - 0x818B, 0xC46B, 0x818C, 0xC46C, 0x818D, 0xC46D, 0x818E, 0xC46E, 0x818F, 0xB8E0, 0x8190, 0xC46F, 0x8191, 0xEBF7, 0x8192, 0xC470, - 0x8193, 0xC471, 0x8194, 0xC472, 0x8195, 0xC473, 0x8196, 0xC474, 0x8197, 0xC475, 0x8198, 0xB1EC, 0x8199, 0xC476, 0x819A, 0xC477, - 0x819B, 0xCCC5, 0x819C, 0xC4A4, 0x819D, 0xCFA5, 0x819E, 0xC478, 0x819F, 0xC479, 0x81A0, 0xC47A, 0x81A1, 0xC47B, 0x81A2, 0xC47C, - 0x81A3, 0xEBF9, 0x81A4, 0xC47D, 0x81A5, 0xC47E, 0x81A6, 0xECA2, 0x81A7, 0xC480, 0x81A8, 0xC5F2, 0x81A9, 0xC481, 0x81AA, 0xEBFA, - 0x81AB, 0xC482, 0x81AC, 0xC483, 0x81AD, 0xC484, 0x81AE, 0xC485, 0x81AF, 0xC486, 0x81B0, 0xC487, 0x81B1, 0xC488, 0x81B2, 0xC489, - 0x81B3, 0xC9C5, 0x81B4, 0xC48A, 0x81B5, 0xC48B, 0x81B6, 0xC48C, 0x81B7, 0xC48D, 0x81B8, 0xC48E, 0x81B9, 0xC48F, 0x81BA, 0xE2DF, - 0x81BB, 0xEBFE, 0x81BC, 0xC490, 0x81BD, 0xC491, 0x81BE, 0xC492, 0x81BF, 0xC493, 0x81C0, 0xCDCE, 0x81C1, 0xECA1, 0x81C2, 0xB1DB, - 0x81C3, 0xD3B7, 0x81C4, 0xC494, 0x81C5, 0xC495, 0x81C6, 0xD2DC, 0x81C7, 0xC496, 0x81C8, 0xC497, 0x81C9, 0xC498, 0x81CA, 0xEBFD, - 0x81CB, 0xC499, 0x81CC, 0xEBFB, 0x81CD, 0xC49A, 0x81CE, 0xC49B, 0x81CF, 0xC49C, 0x81D0, 0xC49D, 0x81D1, 0xC49E, 0x81D2, 0xC49F, - 0x81D3, 0xC4A0, 0x81D4, 0xC540, 0x81D5, 0xC541, 0x81D6, 0xC542, 0x81D7, 0xC543, 0x81D8, 0xC544, 0x81D9, 0xC545, 0x81DA, 0xC546, - 0x81DB, 0xC547, 0x81DC, 0xC548, 0x81DD, 0xC549, 0x81DE, 0xC54A, 0x81DF, 0xC54B, 0x81E0, 0xC54C, 0x81E1, 0xC54D, 0x81E2, 0xC54E, - 0x81E3, 0xB3BC, 0x81E4, 0xC54F, 0x81E5, 0xC550, 0x81E6, 0xC551, 0x81E7, 0xEAB0, 0x81E8, 0xC552, 0x81E9, 0xC553, 0x81EA, 0xD7D4, - 0x81EB, 0xC554, 0x81EC, 0xF4AB, 0x81ED, 0xB3F4, 0x81EE, 0xC555, 0x81EF, 0xC556, 0x81F0, 0xC557, 0x81F1, 0xC558, 0x81F2, 0xC559, - 0x81F3, 0xD6C1, 0x81F4, 0xD6C2, 0x81F5, 0xC55A, 0x81F6, 0xC55B, 0x81F7, 0xC55C, 0x81F8, 0xC55D, 0x81F9, 0xC55E, 0x81FA, 0xC55F, - 0x81FB, 0xD5E9, 0x81FC, 0xBECA, 0x81FD, 0xC560, 0x81FE, 0xF4A7, 0x81FF, 0xC561, 0x8200, 0xD2A8, 0x8201, 0xF4A8, 0x8202, 0xF4A9, - 0x8203, 0xC562, 0x8204, 0xF4AA, 0x8205, 0xBECB, 0x8206, 0xD3DF, 0x8207, 0xC563, 0x8208, 0xC564, 0x8209, 0xC565, 0x820A, 0xC566, - 0x820B, 0xC567, 0x820C, 0xC9E0, 0x820D, 0xC9E1, 0x820E, 0xC568, 0x820F, 0xC569, 0x8210, 0xF3C2, 0x8211, 0xC56A, 0x8212, 0xCAE6, - 0x8213, 0xC56B, 0x8214, 0xCCF2, 0x8215, 0xC56C, 0x8216, 0xC56D, 0x8217, 0xC56E, 0x8218, 0xC56F, 0x8219, 0xC570, 0x821A, 0xC571, - 0x821B, 0xE2B6, 0x821C, 0xCBB4, 0x821D, 0xC572, 0x821E, 0xCEE8, 0x821F, 0xD6DB, 0x8220, 0xC573, 0x8221, 0xF4AD, 0x8222, 0xF4AE, - 0x8223, 0xF4AF, 0x8224, 0xC574, 0x8225, 0xC575, 0x8226, 0xC576, 0x8227, 0xC577, 0x8228, 0xF4B2, 0x8229, 0xC578, 0x822A, 0xBABD, - 0x822B, 0xF4B3, 0x822C, 0xB0E3, 0x822D, 0xF4B0, 0x822E, 0xC579, 0x822F, 0xF4B1, 0x8230, 0xBDA2, 0x8231, 0xB2D5, 0x8232, 0xC57A, - 0x8233, 0xF4B6, 0x8234, 0xF4B7, 0x8235, 0xB6E6, 0x8236, 0xB2B0, 0x8237, 0xCFCF, 0x8238, 0xF4B4, 0x8239, 0xB4AC, 0x823A, 0xC57B, - 0x823B, 0xF4B5, 0x823C, 0xC57C, 0x823D, 0xC57D, 0x823E, 0xF4B8, 0x823F, 0xC57E, 0x8240, 0xC580, 0x8241, 0xC581, 0x8242, 0xC582, - 0x8243, 0xC583, 0x8244, 0xF4B9, 0x8245, 0xC584, 0x8246, 0xC585, 0x8247, 0xCDA7, 0x8248, 0xC586, 0x8249, 0xF4BA, 0x824A, 0xC587, - 0x824B, 0xF4BB, 0x824C, 0xC588, 0x824D, 0xC589, 0x824E, 0xC58A, 0x824F, 0xF4BC, 0x8250, 0xC58B, 0x8251, 0xC58C, 0x8252, 0xC58D, - 0x8253, 0xC58E, 0x8254, 0xC58F, 0x8255, 0xC590, 0x8256, 0xC591, 0x8257, 0xC592, 0x8258, 0xCBD2, 0x8259, 0xC593, 0x825A, 0xF4BD, - 0x825B, 0xC594, 0x825C, 0xC595, 0x825D, 0xC596, 0x825E, 0xC597, 0x825F, 0xF4BE, 0x8260, 0xC598, 0x8261, 0xC599, 0x8262, 0xC59A, - 0x8263, 0xC59B, 0x8264, 0xC59C, 0x8265, 0xC59D, 0x8266, 0xC59E, 0x8267, 0xC59F, 0x8268, 0xF4BF, 0x8269, 0xC5A0, 0x826A, 0xC640, - 0x826B, 0xC641, 0x826C, 0xC642, 0x826D, 0xC643, 0x826E, 0xF4DE, 0x826F, 0xC1BC, 0x8270, 0xBCE8, 0x8271, 0xC644, 0x8272, 0xC9AB, - 0x8273, 0xD1DE, 0x8274, 0xE5F5, 0x8275, 0xC645, 0x8276, 0xC646, 0x8277, 0xC647, 0x8278, 0xC648, 0x8279, 0xDCB3, 0x827A, 0xD2D5, - 0x827B, 0xC649, 0x827C, 0xC64A, 0x827D, 0xDCB4, 0x827E, 0xB0AC, 0x827F, 0xDCB5, 0x8280, 0xC64B, 0x8281, 0xC64C, 0x8282, 0xBDDA, - 0x8283, 0xC64D, 0x8284, 0xDCB9, 0x8285, 0xC64E, 0x8286, 0xC64F, 0x8287, 0xC650, 0x8288, 0xD8C2, 0x8289, 0xC651, 0x828A, 0xDCB7, - 0x828B, 0xD3F3, 0x828C, 0xC652, 0x828D, 0xC9D6, 0x828E, 0xDCBA, 0x828F, 0xDCB6, 0x8290, 0xC653, 0x8291, 0xDCBB, 0x8292, 0xC3A2, - 0x8293, 0xC654, 0x8294, 0xC655, 0x8295, 0xC656, 0x8296, 0xC657, 0x8297, 0xDCBC, 0x8298, 0xDCC5, 0x8299, 0xDCBD, 0x829A, 0xC658, - 0x829B, 0xC659, 0x829C, 0xCEDF, 0x829D, 0xD6A5, 0x829E, 0xC65A, 0x829F, 0xDCCF, 0x82A0, 0xC65B, 0x82A1, 0xDCCD, 0x82A2, 0xC65C, - 0x82A3, 0xC65D, 0x82A4, 0xDCD2, 0x82A5, 0xBDE6, 0x82A6, 0xC2AB, 0x82A7, 0xC65E, 0x82A8, 0xDCB8, 0x82A9, 0xDCCB, 0x82AA, 0xDCCE, - 0x82AB, 0xDCBE, 0x82AC, 0xB7D2, 0x82AD, 0xB0C5, 0x82AE, 0xDCC7, 0x82AF, 0xD0BE, 0x82B0, 0xDCC1, 0x82B1, 0xBBA8, 0x82B2, 0xC65F, - 0x82B3, 0xB7BC, 0x82B4, 0xDCCC, 0x82B5, 0xC660, 0x82B6, 0xC661, 0x82B7, 0xDCC6, 0x82B8, 0xDCBF, 0x82B9, 0xC7DB, 0x82BA, 0xC662, - 0x82BB, 0xC663, 0x82BC, 0xC664, 0x82BD, 0xD1BF, 0x82BE, 0xDCC0, 0x82BF, 0xC665, 0x82C0, 0xC666, 0x82C1, 0xDCCA, 0x82C2, 0xC667, - 0x82C3, 0xC668, 0x82C4, 0xDCD0, 0x82C5, 0xC669, 0x82C6, 0xC66A, 0x82C7, 0xCEAD, 0x82C8, 0xDCC2, 0x82C9, 0xC66B, 0x82CA, 0xDCC3, - 0x82CB, 0xDCC8, 0x82CC, 0xDCC9, 0x82CD, 0xB2D4, 0x82CE, 0xDCD1, 0x82CF, 0xCBD5, 0x82D0, 0xC66C, 0x82D1, 0xD4B7, 0x82D2, 0xDCDB, - 0x82D3, 0xDCDF, 0x82D4, 0xCCA6, 0x82D5, 0xDCE6, 0x82D6, 0xC66D, 0x82D7, 0xC3E7, 0x82D8, 0xDCDC, 0x82D9, 0xC66E, 0x82DA, 0xC66F, - 0x82DB, 0xBFC1, 0x82DC, 0xDCD9, 0x82DD, 0xC670, 0x82DE, 0xB0FA, 0x82DF, 0xB9B6, 0x82E0, 0xDCE5, 0x82E1, 0xDCD3, 0x82E2, 0xC671, - 0x82E3, 0xDCC4, 0x82E4, 0xDCD6, 0x82E5, 0xC8F4, 0x82E6, 0xBFE0, 0x82E7, 0xC672, 0x82E8, 0xC673, 0x82E9, 0xC674, 0x82EA, 0xC675, - 0x82EB, 0xC9BB, 0x82EC, 0xC676, 0x82ED, 0xC677, 0x82EE, 0xC678, 0x82EF, 0xB1BD, 0x82F0, 0xC679, 0x82F1, 0xD3A2, 0x82F2, 0xC67A, - 0x82F3, 0xC67B, 0x82F4, 0xDCDA, 0x82F5, 0xC67C, 0x82F6, 0xC67D, 0x82F7, 0xDCD5, 0x82F8, 0xC67E, 0x82F9, 0xC6BB, 0x82FA, 0xC680, - 0x82FB, 0xDCDE, 0x82FC, 0xC681, 0x82FD, 0xC682, 0x82FE, 0xC683, 0x82FF, 0xC684, 0x8300, 0xC685, 0x8301, 0xD7C2, 0x8302, 0xC3AF, - 0x8303, 0xB7B6, 0x8304, 0xC7D1, 0x8305, 0xC3A9, 0x8306, 0xDCE2, 0x8307, 0xDCD8, 0x8308, 0xDCEB, 0x8309, 0xDCD4, 0x830A, 0xC686, - 0x830B, 0xC687, 0x830C, 0xDCDD, 0x830D, 0xC688, 0x830E, 0xBEA5, 0x830F, 0xDCD7, 0x8310, 0xC689, 0x8311, 0xDCE0, 0x8312, 0xC68A, - 0x8313, 0xC68B, 0x8314, 0xDCE3, 0x8315, 0xDCE4, 0x8316, 0xC68C, 0x8317, 0xDCF8, 0x8318, 0xC68D, 0x8319, 0xC68E, 0x831A, 0xDCE1, - 0x831B, 0xDDA2, 0x831C, 0xDCE7, 0x831D, 0xC68F, 0x831E, 0xC690, 0x831F, 0xC691, 0x8320, 0xC692, 0x8321, 0xC693, 0x8322, 0xC694, - 0x8323, 0xC695, 0x8324, 0xC696, 0x8325, 0xC697, 0x8326, 0xC698, 0x8327, 0xBCEB, 0x8328, 0xB4C4, 0x8329, 0xC699, 0x832A, 0xC69A, - 0x832B, 0xC3A3, 0x832C, 0xB2E7, 0x832D, 0xDCFA, 0x832E, 0xC69B, 0x832F, 0xDCF2, 0x8330, 0xC69C, 0x8331, 0xDCEF, 0x8332, 0xC69D, - 0x8333, 0xDCFC, 0x8334, 0xDCEE, 0x8335, 0xD2F0, 0x8336, 0xB2E8, 0x8337, 0xC69E, 0x8338, 0xC8D7, 0x8339, 0xC8E3, 0x833A, 0xDCFB, - 0x833B, 0xC69F, 0x833C, 0xDCED, 0x833D, 0xC6A0, 0x833E, 0xC740, 0x833F, 0xC741, 0x8340, 0xDCF7, 0x8341, 0xC742, 0x8342, 0xC743, - 0x8343, 0xDCF5, 0x8344, 0xC744, 0x8345, 0xC745, 0x8346, 0xBEA3, 0x8347, 0xDCF4, 0x8348, 0xC746, 0x8349, 0xB2DD, 0x834A, 0xC747, - 0x834B, 0xC748, 0x834C, 0xC749, 0x834D, 0xC74A, 0x834E, 0xC74B, 0x834F, 0xDCF3, 0x8350, 0xBCF6, 0x8351, 0xDCE8, 0x8352, 0xBBC4, - 0x8353, 0xC74C, 0x8354, 0xC0F3, 0x8355, 0xC74D, 0x8356, 0xC74E, 0x8357, 0xC74F, 0x8358, 0xC750, 0x8359, 0xC751, 0x835A, 0xBCD4, - 0x835B, 0xDCE9, 0x835C, 0xDCEA, 0x835D, 0xC752, 0x835E, 0xDCF1, 0x835F, 0xDCF6, 0x8360, 0xDCF9, 0x8361, 0xB5B4, 0x8362, 0xC753, - 0x8363, 0xC8D9, 0x8364, 0xBBE7, 0x8365, 0xDCFE, 0x8366, 0xDCFD, 0x8367, 0xD3AB, 0x8368, 0xDDA1, 0x8369, 0xDDA3, 0x836A, 0xDDA5, - 0x836B, 0xD2F1, 0x836C, 0xDDA4, 0x836D, 0xDDA6, 0x836E, 0xDDA7, 0x836F, 0xD2A9, 0x8370, 0xC754, 0x8371, 0xC755, 0x8372, 0xC756, - 0x8373, 0xC757, 0x8374, 0xC758, 0x8375, 0xC759, 0x8376, 0xC75A, 0x8377, 0xBAC9, 0x8378, 0xDDA9, 0x8379, 0xC75B, 0x837A, 0xC75C, - 0x837B, 0xDDB6, 0x837C, 0xDDB1, 0x837D, 0xDDB4, 0x837E, 0xC75D, 0x837F, 0xC75E, 0x8380, 0xC75F, 0x8381, 0xC760, 0x8382, 0xC761, - 0x8383, 0xC762, 0x8384, 0xC763, 0x8385, 0xDDB0, 0x8386, 0xC6CE, 0x8387, 0xC764, 0x8388, 0xC765, 0x8389, 0xC0F2, 0x838A, 0xC766, - 0x838B, 0xC767, 0x838C, 0xC768, 0x838D, 0xC769, 0x838E, 0xC9AF, 0x838F, 0xC76A, 0x8390, 0xC76B, 0x8391, 0xC76C, 0x8392, 0xDCEC, - 0x8393, 0xDDAE, 0x8394, 0xC76D, 0x8395, 0xC76E, 0x8396, 0xC76F, 0x8397, 0xC770, 0x8398, 0xDDB7, 0x8399, 0xC771, 0x839A, 0xC772, - 0x839B, 0xDCF0, 0x839C, 0xDDAF, 0x839D, 0xC773, 0x839E, 0xDDB8, 0x839F, 0xC774, 0x83A0, 0xDDAC, 0x83A1, 0xC775, 0x83A2, 0xC776, - 0x83A3, 0xC777, 0x83A4, 0xC778, 0x83A5, 0xC779, 0x83A6, 0xC77A, 0x83A7, 0xC77B, 0x83A8, 0xDDB9, 0x83A9, 0xDDB3, 0x83AA, 0xDDAD, - 0x83AB, 0xC4AA, 0x83AC, 0xC77C, 0x83AD, 0xC77D, 0x83AE, 0xC77E, 0x83AF, 0xC780, 0x83B0, 0xDDA8, 0x83B1, 0xC0B3, 0x83B2, 0xC1AB, - 0x83B3, 0xDDAA, 0x83B4, 0xDDAB, 0x83B5, 0xC781, 0x83B6, 0xDDB2, 0x83B7, 0xBBF1, 0x83B8, 0xDDB5, 0x83B9, 0xD3A8, 0x83BA, 0xDDBA, - 0x83BB, 0xC782, 0x83BC, 0xDDBB, 0x83BD, 0xC3A7, 0x83BE, 0xC783, 0x83BF, 0xC784, 0x83C0, 0xDDD2, 0x83C1, 0xDDBC, 0x83C2, 0xC785, - 0x83C3, 0xC786, 0x83C4, 0xC787, 0x83C5, 0xDDD1, 0x83C6, 0xC788, 0x83C7, 0xB9BD, 0x83C8, 0xC789, 0x83C9, 0xC78A, 0x83CA, 0xBED5, - 0x83CB, 0xC78B, 0x83CC, 0xBEFA, 0x83CD, 0xC78C, 0x83CE, 0xC78D, 0x83CF, 0xBACA, 0x83D0, 0xC78E, 0x83D1, 0xC78F, 0x83D2, 0xC790, - 0x83D3, 0xC791, 0x83D4, 0xDDCA, 0x83D5, 0xC792, 0x83D6, 0xDDC5, 0x83D7, 0xC793, 0x83D8, 0xDDBF, 0x83D9, 0xC794, 0x83DA, 0xC795, - 0x83DB, 0xC796, 0x83DC, 0xB2CB, 0x83DD, 0xDDC3, 0x83DE, 0xC797, 0x83DF, 0xDDCB, 0x83E0, 0xB2A4, 0x83E1, 0xDDD5, 0x83E2, 0xC798, - 0x83E3, 0xC799, 0x83E4, 0xC79A, 0x83E5, 0xDDBE, 0x83E6, 0xC79B, 0x83E7, 0xC79C, 0x83E8, 0xC79D, 0x83E9, 0xC6D0, 0x83EA, 0xDDD0, - 0x83EB, 0xC79E, 0x83EC, 0xC79F, 0x83ED, 0xC7A0, 0x83EE, 0xC840, 0x83EF, 0xC841, 0x83F0, 0xDDD4, 0x83F1, 0xC1E2, 0x83F2, 0xB7C6, - 0x83F3, 0xC842, 0x83F4, 0xC843, 0x83F5, 0xC844, 0x83F6, 0xC845, 0x83F7, 0xC846, 0x83F8, 0xDDCE, 0x83F9, 0xDDCF, 0x83FA, 0xC847, - 0x83FB, 0xC848, 0x83FC, 0xC849, 0x83FD, 0xDDC4, 0x83FE, 0xC84A, 0x83FF, 0xC84B, 0x8400, 0xC84C, 0x8401, 0xDDBD, 0x8402, 0xC84D, - 0x8403, 0xDDCD, 0x8404, 0xCCD1, 0x8405, 0xC84E, 0x8406, 0xDDC9, 0x8407, 0xC84F, 0x8408, 0xC850, 0x8409, 0xC851, 0x840A, 0xC852, - 0x840B, 0xDDC2, 0x840C, 0xC3C8, 0x840D, 0xC6BC, 0x840E, 0xCEAE, 0x840F, 0xDDCC, 0x8410, 0xC853, 0x8411, 0xDDC8, 0x8412, 0xC854, - 0x8413, 0xC855, 0x8414, 0xC856, 0x8415, 0xC857, 0x8416, 0xC858, 0x8417, 0xC859, 0x8418, 0xDDC1, 0x8419, 0xC85A, 0x841A, 0xC85B, - 0x841B, 0xC85C, 0x841C, 0xDDC6, 0x841D, 0xC2DC, 0x841E, 0xC85D, 0x841F, 0xC85E, 0x8420, 0xC85F, 0x8421, 0xC860, 0x8422, 0xC861, - 0x8423, 0xC862, 0x8424, 0xD3A9, 0x8425, 0xD3AA, 0x8426, 0xDDD3, 0x8427, 0xCFF4, 0x8428, 0xC8F8, 0x8429, 0xC863, 0x842A, 0xC864, - 0x842B, 0xC865, 0x842C, 0xC866, 0x842D, 0xC867, 0x842E, 0xC868, 0x842F, 0xC869, 0x8430, 0xC86A, 0x8431, 0xDDE6, 0x8432, 0xC86B, - 0x8433, 0xC86C, 0x8434, 0xC86D, 0x8435, 0xC86E, 0x8436, 0xC86F, 0x8437, 0xC870, 0x8438, 0xDDC7, 0x8439, 0xC871, 0x843A, 0xC872, - 0x843B, 0xC873, 0x843C, 0xDDE0, 0x843D, 0xC2E4, 0x843E, 0xC874, 0x843F, 0xC875, 0x8440, 0xC876, 0x8441, 0xC877, 0x8442, 0xC878, - 0x8443, 0xC879, 0x8444, 0xC87A, 0x8445, 0xC87B, 0x8446, 0xDDE1, 0x8447, 0xC87C, 0x8448, 0xC87D, 0x8449, 0xC87E, 0x844A, 0xC880, - 0x844B, 0xC881, 0x844C, 0xC882, 0x844D, 0xC883, 0x844E, 0xC884, 0x844F, 0xC885, 0x8450, 0xC886, 0x8451, 0xDDD7, 0x8452, 0xC887, - 0x8453, 0xC888, 0x8454, 0xC889, 0x8455, 0xC88A, 0x8456, 0xC88B, 0x8457, 0xD6F8, 0x8458, 0xC88C, 0x8459, 0xDDD9, 0x845A, 0xDDD8, - 0x845B, 0xB8F0, 0x845C, 0xDDD6, 0x845D, 0xC88D, 0x845E, 0xC88E, 0x845F, 0xC88F, 0x8460, 0xC890, 0x8461, 0xC6CF, 0x8462, 0xC891, - 0x8463, 0xB6AD, 0x8464, 0xC892, 0x8465, 0xC893, 0x8466, 0xC894, 0x8467, 0xC895, 0x8468, 0xC896, 0x8469, 0xDDE2, 0x846A, 0xC897, - 0x846B, 0xBAF9, 0x846C, 0xD4E1, 0x846D, 0xDDE7, 0x846E, 0xC898, 0x846F, 0xC899, 0x8470, 0xC89A, 0x8471, 0xB4D0, 0x8472, 0xC89B, - 0x8473, 0xDDDA, 0x8474, 0xC89C, 0x8475, 0xBFFB, 0x8476, 0xDDE3, 0x8477, 0xC89D, 0x8478, 0xDDDF, 0x8479, 0xC89E, 0x847A, 0xDDDD, - 0x847B, 0xC89F, 0x847C, 0xC8A0, 0x847D, 0xC940, 0x847E, 0xC941, 0x847F, 0xC942, 0x8480, 0xC943, 0x8481, 0xC944, 0x8482, 0xB5D9, - 0x8483, 0xC945, 0x8484, 0xC946, 0x8485, 0xC947, 0x8486, 0xC948, 0x8487, 0xDDDB, 0x8488, 0xDDDC, 0x8489, 0xDDDE, 0x848A, 0xC949, - 0x848B, 0xBDAF, 0x848C, 0xDDE4, 0x848D, 0xC94A, 0x848E, 0xDDE5, 0x848F, 0xC94B, 0x8490, 0xC94C, 0x8491, 0xC94D, 0x8492, 0xC94E, - 0x8493, 0xC94F, 0x8494, 0xC950, 0x8495, 0xC951, 0x8496, 0xC952, 0x8497, 0xDDF5, 0x8498, 0xC953, 0x8499, 0xC3C9, 0x849A, 0xC954, - 0x849B, 0xC955, 0x849C, 0xCBE2, 0x849D, 0xC956, 0x849E, 0xC957, 0x849F, 0xC958, 0x84A0, 0xC959, 0x84A1, 0xDDF2, 0x84A2, 0xC95A, - 0x84A3, 0xC95B, 0x84A4, 0xC95C, 0x84A5, 0xC95D, 0x84A6, 0xC95E, 0x84A7, 0xC95F, 0x84A8, 0xC960, 0x84A9, 0xC961, 0x84AA, 0xC962, - 0x84AB, 0xC963, 0x84AC, 0xC964, 0x84AD, 0xC965, 0x84AE, 0xC966, 0x84AF, 0xD8E1, 0x84B0, 0xC967, 0x84B1, 0xC968, 0x84B2, 0xC6D1, - 0x84B3, 0xC969, 0x84B4, 0xDDF4, 0x84B5, 0xC96A, 0x84B6, 0xC96B, 0x84B7, 0xC96C, 0x84B8, 0xD5F4, 0x84B9, 0xDDF3, 0x84BA, 0xDDF0, - 0x84BB, 0xC96D, 0x84BC, 0xC96E, 0x84BD, 0xDDEC, 0x84BE, 0xC96F, 0x84BF, 0xDDEF, 0x84C0, 0xC970, 0x84C1, 0xDDE8, 0x84C2, 0xC971, - 0x84C3, 0xC972, 0x84C4, 0xD0EE, 0x84C5, 0xC973, 0x84C6, 0xC974, 0x84C7, 0xC975, 0x84C8, 0xC976, 0x84C9, 0xC8D8, 0x84CA, 0xDDEE, - 0x84CB, 0xC977, 0x84CC, 0xC978, 0x84CD, 0xDDE9, 0x84CE, 0xC979, 0x84CF, 0xC97A, 0x84D0, 0xDDEA, 0x84D1, 0xCBF2, 0x84D2, 0xC97B, - 0x84D3, 0xDDED, 0x84D4, 0xC97C, 0x84D5, 0xC97D, 0x84D6, 0xB1CD, 0x84D7, 0xC97E, 0x84D8, 0xC980, 0x84D9, 0xC981, 0x84DA, 0xC982, - 0x84DB, 0xC983, 0x84DC, 0xC984, 0x84DD, 0xC0B6, 0x84DE, 0xC985, 0x84DF, 0xBCBB, 0x84E0, 0xDDF1, 0x84E1, 0xC986, 0x84E2, 0xC987, - 0x84E3, 0xDDF7, 0x84E4, 0xC988, 0x84E5, 0xDDF6, 0x84E6, 0xDDEB, 0x84E7, 0xC989, 0x84E8, 0xC98A, 0x84E9, 0xC98B, 0x84EA, 0xC98C, - 0x84EB, 0xC98D, 0x84EC, 0xC5EE, 0x84ED, 0xC98E, 0x84EE, 0xC98F, 0x84EF, 0xC990, 0x84F0, 0xDDFB, 0x84F1, 0xC991, 0x84F2, 0xC992, - 0x84F3, 0xC993, 0x84F4, 0xC994, 0x84F5, 0xC995, 0x84F6, 0xC996, 0x84F7, 0xC997, 0x84F8, 0xC998, 0x84F9, 0xC999, 0x84FA, 0xC99A, - 0x84FB, 0xC99B, 0x84FC, 0xDEA4, 0x84FD, 0xC99C, 0x84FE, 0xC99D, 0x84FF, 0xDEA3, 0x8500, 0xC99E, 0x8501, 0xC99F, 0x8502, 0xC9A0, - 0x8503, 0xCA40, 0x8504, 0xCA41, 0x8505, 0xCA42, 0x8506, 0xCA43, 0x8507, 0xCA44, 0x8508, 0xCA45, 0x8509, 0xCA46, 0x850A, 0xCA47, - 0x850B, 0xCA48, 0x850C, 0xDDF8, 0x850D, 0xCA49, 0x850E, 0xCA4A, 0x850F, 0xCA4B, 0x8510, 0xCA4C, 0x8511, 0xC3EF, 0x8512, 0xCA4D, - 0x8513, 0xC2FB, 0x8514, 0xCA4E, 0x8515, 0xCA4F, 0x8516, 0xCA50, 0x8517, 0xD5E1, 0x8518, 0xCA51, 0x8519, 0xCA52, 0x851A, 0xCEB5, - 0x851B, 0xCA53, 0x851C, 0xCA54, 0x851D, 0xCA55, 0x851E, 0xCA56, 0x851F, 0xDDFD, 0x8520, 0xCA57, 0x8521, 0xB2CC, 0x8522, 0xCA58, - 0x8523, 0xCA59, 0x8524, 0xCA5A, 0x8525, 0xCA5B, 0x8526, 0xCA5C, 0x8527, 0xCA5D, 0x8528, 0xCA5E, 0x8529, 0xCA5F, 0x852A, 0xCA60, - 0x852B, 0xC4E8, 0x852C, 0xCADF, 0x852D, 0xCA61, 0x852E, 0xCA62, 0x852F, 0xCA63, 0x8530, 0xCA64, 0x8531, 0xCA65, 0x8532, 0xCA66, - 0x8533, 0xCA67, 0x8534, 0xCA68, 0x8535, 0xCA69, 0x8536, 0xCA6A, 0x8537, 0xC7BE, 0x8538, 0xDDFA, 0x8539, 0xDDFC, 0x853A, 0xDDFE, - 0x853B, 0xDEA2, 0x853C, 0xB0AA, 0x853D, 0xB1CE, 0x853E, 0xCA6B, 0x853F, 0xCA6C, 0x8540, 0xCA6D, 0x8541, 0xCA6E, 0x8542, 0xCA6F, - 0x8543, 0xDEAC, 0x8544, 0xCA70, 0x8545, 0xCA71, 0x8546, 0xCA72, 0x8547, 0xCA73, 0x8548, 0xDEA6, 0x8549, 0xBDB6, 0x854A, 0xC8EF, - 0x854B, 0xCA74, 0x854C, 0xCA75, 0x854D, 0xCA76, 0x854E, 0xCA77, 0x854F, 0xCA78, 0x8550, 0xCA79, 0x8551, 0xCA7A, 0x8552, 0xCA7B, - 0x8553, 0xCA7C, 0x8554, 0xCA7D, 0x8555, 0xCA7E, 0x8556, 0xDEA1, 0x8557, 0xCA80, 0x8558, 0xCA81, 0x8559, 0xDEA5, 0x855A, 0xCA82, - 0x855B, 0xCA83, 0x855C, 0xCA84, 0x855D, 0xCA85, 0x855E, 0xDEA9, 0x855F, 0xCA86, 0x8560, 0xCA87, 0x8561, 0xCA88, 0x8562, 0xCA89, - 0x8563, 0xCA8A, 0x8564, 0xDEA8, 0x8565, 0xCA8B, 0x8566, 0xCA8C, 0x8567, 0xCA8D, 0x8568, 0xDEA7, 0x8569, 0xCA8E, 0x856A, 0xCA8F, - 0x856B, 0xCA90, 0x856C, 0xCA91, 0x856D, 0xCA92, 0x856E, 0xCA93, 0x856F, 0xCA94, 0x8570, 0xCA95, 0x8571, 0xCA96, 0x8572, 0xDEAD, - 0x8573, 0xCA97, 0x8574, 0xD4CC, 0x8575, 0xCA98, 0x8576, 0xCA99, 0x8577, 0xCA9A, 0x8578, 0xCA9B, 0x8579, 0xDEB3, 0x857A, 0xDEAA, - 0x857B, 0xDEAE, 0x857C, 0xCA9C, 0x857D, 0xCA9D, 0x857E, 0xC0D9, 0x857F, 0xCA9E, 0x8580, 0xCA9F, 0x8581, 0xCAA0, 0x8582, 0xCB40, - 0x8583, 0xCB41, 0x8584, 0xB1A1, 0x8585, 0xDEB6, 0x8586, 0xCB42, 0x8587, 0xDEB1, 0x8588, 0xCB43, 0x8589, 0xCB44, 0x858A, 0xCB45, - 0x858B, 0xCB46, 0x858C, 0xCB47, 0x858D, 0xCB48, 0x858E, 0xCB49, 0x858F, 0xDEB2, 0x8590, 0xCB4A, 0x8591, 0xCB4B, 0x8592, 0xCB4C, - 0x8593, 0xCB4D, 0x8594, 0xCB4E, 0x8595, 0xCB4F, 0x8596, 0xCB50, 0x8597, 0xCB51, 0x8598, 0xCB52, 0x8599, 0xCB53, 0x859A, 0xCB54, - 0x859B, 0xD1A6, 0x859C, 0xDEB5, 0x859D, 0xCB55, 0x859E, 0xCB56, 0x859F, 0xCB57, 0x85A0, 0xCB58, 0x85A1, 0xCB59, 0x85A2, 0xCB5A, - 0x85A3, 0xCB5B, 0x85A4, 0xDEAF, 0x85A5, 0xCB5C, 0x85A6, 0xCB5D, 0x85A7, 0xCB5E, 0x85A8, 0xDEB0, 0x85A9, 0xCB5F, 0x85AA, 0xD0BD, - 0x85AB, 0xCB60, 0x85AC, 0xCB61, 0x85AD, 0xCB62, 0x85AE, 0xDEB4, 0x85AF, 0xCAED, 0x85B0, 0xDEB9, 0x85B1, 0xCB63, 0x85B2, 0xCB64, - 0x85B3, 0xCB65, 0x85B4, 0xCB66, 0x85B5, 0xCB67, 0x85B6, 0xCB68, 0x85B7, 0xDEB8, 0x85B8, 0xCB69, 0x85B9, 0xDEB7, 0x85BA, 0xCB6A, - 0x85BB, 0xCB6B, 0x85BC, 0xCB6C, 0x85BD, 0xCB6D, 0x85BE, 0xCB6E, 0x85BF, 0xCB6F, 0x85C0, 0xCB70, 0x85C1, 0xDEBB, 0x85C2, 0xCB71, - 0x85C3, 0xCB72, 0x85C4, 0xCB73, 0x85C5, 0xCB74, 0x85C6, 0xCB75, 0x85C7, 0xCB76, 0x85C8, 0xCB77, 0x85C9, 0xBDE5, 0x85CA, 0xCB78, - 0x85CB, 0xCB79, 0x85CC, 0xCB7A, 0x85CD, 0xCB7B, 0x85CE, 0xCB7C, 0x85CF, 0xB2D8, 0x85D0, 0xC3EA, 0x85D1, 0xCB7D, 0x85D2, 0xCB7E, - 0x85D3, 0xDEBA, 0x85D4, 0xCB80, 0x85D5, 0xC5BA, 0x85D6, 0xCB81, 0x85D7, 0xCB82, 0x85D8, 0xCB83, 0x85D9, 0xCB84, 0x85DA, 0xCB85, - 0x85DB, 0xCB86, 0x85DC, 0xDEBC, 0x85DD, 0xCB87, 0x85DE, 0xCB88, 0x85DF, 0xCB89, 0x85E0, 0xCB8A, 0x85E1, 0xCB8B, 0x85E2, 0xCB8C, - 0x85E3, 0xCB8D, 0x85E4, 0xCCD9, 0x85E5, 0xCB8E, 0x85E6, 0xCB8F, 0x85E7, 0xCB90, 0x85E8, 0xCB91, 0x85E9, 0xB7AA, 0x85EA, 0xCB92, - 0x85EB, 0xCB93, 0x85EC, 0xCB94, 0x85ED, 0xCB95, 0x85EE, 0xCB96, 0x85EF, 0xCB97, 0x85F0, 0xCB98, 0x85F1, 0xCB99, 0x85F2, 0xCB9A, - 0x85F3, 0xCB9B, 0x85F4, 0xCB9C, 0x85F5, 0xCB9D, 0x85F6, 0xCB9E, 0x85F7, 0xCB9F, 0x85F8, 0xCBA0, 0x85F9, 0xCC40, 0x85FA, 0xCC41, - 0x85FB, 0xD4E5, 0x85FC, 0xCC42, 0x85FD, 0xCC43, 0x85FE, 0xCC44, 0x85FF, 0xDEBD, 0x8600, 0xCC45, 0x8601, 0xCC46, 0x8602, 0xCC47, - 0x8603, 0xCC48, 0x8604, 0xCC49, 0x8605, 0xDEBF, 0x8606, 0xCC4A, 0x8607, 0xCC4B, 0x8608, 0xCC4C, 0x8609, 0xCC4D, 0x860A, 0xCC4E, - 0x860B, 0xCC4F, 0x860C, 0xCC50, 0x860D, 0xCC51, 0x860E, 0xCC52, 0x860F, 0xCC53, 0x8610, 0xCC54, 0x8611, 0xC4A2, 0x8612, 0xCC55, - 0x8613, 0xCC56, 0x8614, 0xCC57, 0x8615, 0xCC58, 0x8616, 0xDEC1, 0x8617, 0xCC59, 0x8618, 0xCC5A, 0x8619, 0xCC5B, 0x861A, 0xCC5C, - 0x861B, 0xCC5D, 0x861C, 0xCC5E, 0x861D, 0xCC5F, 0x861E, 0xCC60, 0x861F, 0xCC61, 0x8620, 0xCC62, 0x8621, 0xCC63, 0x8622, 0xCC64, - 0x8623, 0xCC65, 0x8624, 0xCC66, 0x8625, 0xCC67, 0x8626, 0xCC68, 0x8627, 0xDEBE, 0x8628, 0xCC69, 0x8629, 0xDEC0, 0x862A, 0xCC6A, - 0x862B, 0xCC6B, 0x862C, 0xCC6C, 0x862D, 0xCC6D, 0x862E, 0xCC6E, 0x862F, 0xCC6F, 0x8630, 0xCC70, 0x8631, 0xCC71, 0x8632, 0xCC72, - 0x8633, 0xCC73, 0x8634, 0xCC74, 0x8635, 0xCC75, 0x8636, 0xCC76, 0x8637, 0xCC77, 0x8638, 0xD5BA, 0x8639, 0xCC78, 0x863A, 0xCC79, - 0x863B, 0xCC7A, 0x863C, 0xDEC2, 0x863D, 0xCC7B, 0x863E, 0xCC7C, 0x863F, 0xCC7D, 0x8640, 0xCC7E, 0x8641, 0xCC80, 0x8642, 0xCC81, - 0x8643, 0xCC82, 0x8644, 0xCC83, 0x8645, 0xCC84, 0x8646, 0xCC85, 0x8647, 0xCC86, 0x8648, 0xCC87, 0x8649, 0xCC88, 0x864A, 0xCC89, - 0x864B, 0xCC8A, 0x864C, 0xCC8B, 0x864D, 0xF2AE, 0x864E, 0xBBA2, 0x864F, 0xC2B2, 0x8650, 0xC5B0, 0x8651, 0xC2C7, 0x8652, 0xCC8C, - 0x8653, 0xCC8D, 0x8654, 0xF2AF, 0x8655, 0xCC8E, 0x8656, 0xCC8F, 0x8657, 0xCC90, 0x8658, 0xCC91, 0x8659, 0xCC92, 0x865A, 0xD0E9, - 0x865B, 0xCC93, 0x865C, 0xCC94, 0x865D, 0xCC95, 0x865E, 0xD3DD, 0x865F, 0xCC96, 0x8660, 0xCC97, 0x8661, 0xCC98, 0x8662, 0xEBBD, - 0x8663, 0xCC99, 0x8664, 0xCC9A, 0x8665, 0xCC9B, 0x8666, 0xCC9C, 0x8667, 0xCC9D, 0x8668, 0xCC9E, 0x8669, 0xCC9F, 0x866A, 0xCCA0, - 0x866B, 0xB3E6, 0x866C, 0xF2B0, 0x866D, 0xCD40, 0x866E, 0xF2B1, 0x866F, 0xCD41, 0x8670, 0xCD42, 0x8671, 0xCAAD, 0x8672, 0xCD43, - 0x8673, 0xCD44, 0x8674, 0xCD45, 0x8675, 0xCD46, 0x8676, 0xCD47, 0x8677, 0xCD48, 0x8678, 0xCD49, 0x8679, 0xBAE7, 0x867A, 0xF2B3, - 0x867B, 0xF2B5, 0x867C, 0xF2B4, 0x867D, 0xCBE4, 0x867E, 0xCFBA, 0x867F, 0xF2B2, 0x8680, 0xCAB4, 0x8681, 0xD2CF, 0x8682, 0xC2EC, - 0x8683, 0xCD4A, 0x8684, 0xCD4B, 0x8685, 0xCD4C, 0x8686, 0xCD4D, 0x8687, 0xCD4E, 0x8688, 0xCD4F, 0x8689, 0xCD50, 0x868A, 0xCEC3, - 0x868B, 0xF2B8, 0x868C, 0xB0F6, 0x868D, 0xF2B7, 0x868E, 0xCD51, 0x868F, 0xCD52, 0x8690, 0xCD53, 0x8691, 0xCD54, 0x8692, 0xCD55, - 0x8693, 0xF2BE, 0x8694, 0xCD56, 0x8695, 0xB2CF, 0x8696, 0xCD57, 0x8697, 0xCD58, 0x8698, 0xCD59, 0x8699, 0xCD5A, 0x869A, 0xCD5B, - 0x869B, 0xCD5C, 0x869C, 0xD1C1, 0x869D, 0xF2BA, 0x869E, 0xCD5D, 0x869F, 0xCD5E, 0x86A0, 0xCD5F, 0x86A1, 0xCD60, 0x86A2, 0xCD61, - 0x86A3, 0xF2BC, 0x86A4, 0xD4E9, 0x86A5, 0xCD62, 0x86A6, 0xCD63, 0x86A7, 0xF2BB, 0x86A8, 0xF2B6, 0x86A9, 0xF2BF, 0x86AA, 0xF2BD, - 0x86AB, 0xCD64, 0x86AC, 0xF2B9, 0x86AD, 0xCD65, 0x86AE, 0xCD66, 0x86AF, 0xF2C7, 0x86B0, 0xF2C4, 0x86B1, 0xF2C6, 0x86B2, 0xCD67, - 0x86B3, 0xCD68, 0x86B4, 0xF2CA, 0x86B5, 0xF2C2, 0x86B6, 0xF2C0, 0x86B7, 0xCD69, 0x86B8, 0xCD6A, 0x86B9, 0xCD6B, 0x86BA, 0xF2C5, - 0x86BB, 0xCD6C, 0x86BC, 0xCD6D, 0x86BD, 0xCD6E, 0x86BE, 0xCD6F, 0x86BF, 0xCD70, 0x86C0, 0xD6FB, 0x86C1, 0xCD71, 0x86C2, 0xCD72, - 0x86C3, 0xCD73, 0x86C4, 0xF2C1, 0x86C5, 0xCD74, 0x86C6, 0xC7F9, 0x86C7, 0xC9DF, 0x86C8, 0xCD75, 0x86C9, 0xF2C8, 0x86CA, 0xB9C6, - 0x86CB, 0xB5B0, 0x86CC, 0xCD76, 0x86CD, 0xCD77, 0x86CE, 0xF2C3, 0x86CF, 0xF2C9, 0x86D0, 0xF2D0, 0x86D1, 0xF2D6, 0x86D2, 0xCD78, - 0x86D3, 0xCD79, 0x86D4, 0xBBD7, 0x86D5, 0xCD7A, 0x86D6, 0xCD7B, 0x86D7, 0xCD7C, 0x86D8, 0xF2D5, 0x86D9, 0xCDDC, 0x86DA, 0xCD7D, - 0x86DB, 0xD6EB, 0x86DC, 0xCD7E, 0x86DD, 0xCD80, 0x86DE, 0xF2D2, 0x86DF, 0xF2D4, 0x86E0, 0xCD81, 0x86E1, 0xCD82, 0x86E2, 0xCD83, - 0x86E3, 0xCD84, 0x86E4, 0xB8F2, 0x86E5, 0xCD85, 0x86E6, 0xCD86, 0x86E7, 0xCD87, 0x86E8, 0xCD88, 0x86E9, 0xF2CB, 0x86EA, 0xCD89, - 0x86EB, 0xCD8A, 0x86EC, 0xCD8B, 0x86ED, 0xF2CE, 0x86EE, 0xC2F9, 0x86EF, 0xCD8C, 0x86F0, 0xD5DD, 0x86F1, 0xF2CC, 0x86F2, 0xF2CD, - 0x86F3, 0xF2CF, 0x86F4, 0xF2D3, 0x86F5, 0xCD8D, 0x86F6, 0xCD8E, 0x86F7, 0xCD8F, 0x86F8, 0xF2D9, 0x86F9, 0xD3BC, 0x86FA, 0xCD90, - 0x86FB, 0xCD91, 0x86FC, 0xCD92, 0x86FD, 0xCD93, 0x86FE, 0xB6EA, 0x86FF, 0xCD94, 0x8700, 0xCAF1, 0x8701, 0xCD95, 0x8702, 0xB7E4, - 0x8703, 0xF2D7, 0x8704, 0xCD96, 0x8705, 0xCD97, 0x8706, 0xCD98, 0x8707, 0xF2D8, 0x8708, 0xF2DA, 0x8709, 0xF2DD, 0x870A, 0xF2DB, - 0x870B, 0xCD99, 0x870C, 0xCD9A, 0x870D, 0xF2DC, 0x870E, 0xCD9B, 0x870F, 0xCD9C, 0x8710, 0xCD9D, 0x8711, 0xCD9E, 0x8712, 0xD1D1, - 0x8713, 0xF2D1, 0x8714, 0xCD9F, 0x8715, 0xCDC9, 0x8716, 0xCDA0, 0x8717, 0xCECF, 0x8718, 0xD6A9, 0x8719, 0xCE40, 0x871A, 0xF2E3, - 0x871B, 0xCE41, 0x871C, 0xC3DB, 0x871D, 0xCE42, 0x871E, 0xF2E0, 0x871F, 0xCE43, 0x8720, 0xCE44, 0x8721, 0xC0AF, 0x8722, 0xF2EC, - 0x8723, 0xF2DE, 0x8724, 0xCE45, 0x8725, 0xF2E1, 0x8726, 0xCE46, 0x8727, 0xCE47, 0x8728, 0xCE48, 0x8729, 0xF2E8, 0x872A, 0xCE49, - 0x872B, 0xCE4A, 0x872C, 0xCE4B, 0x872D, 0xCE4C, 0x872E, 0xF2E2, 0x872F, 0xCE4D, 0x8730, 0xCE4E, 0x8731, 0xF2E7, 0x8732, 0xCE4F, - 0x8733, 0xCE50, 0x8734, 0xF2E6, 0x8735, 0xCE51, 0x8736, 0xCE52, 0x8737, 0xF2E9, 0x8738, 0xCE53, 0x8739, 0xCE54, 0x873A, 0xCE55, - 0x873B, 0xF2DF, 0x873C, 0xCE56, 0x873D, 0xCE57, 0x873E, 0xF2E4, 0x873F, 0xF2EA, 0x8740, 0xCE58, 0x8741, 0xCE59, 0x8742, 0xCE5A, - 0x8743, 0xCE5B, 0x8744, 0xCE5C, 0x8745, 0xCE5D, 0x8746, 0xCE5E, 0x8747, 0xD3AC, 0x8748, 0xF2E5, 0x8749, 0xB2F5, 0x874A, 0xCE5F, - 0x874B, 0xCE60, 0x874C, 0xF2F2, 0x874D, 0xCE61, 0x874E, 0xD0AB, 0x874F, 0xCE62, 0x8750, 0xCE63, 0x8751, 0xCE64, 0x8752, 0xCE65, - 0x8753, 0xF2F5, 0x8754, 0xCE66, 0x8755, 0xCE67, 0x8756, 0xCE68, 0x8757, 0xBBC8, 0x8758, 0xCE69, 0x8759, 0xF2F9, 0x875A, 0xCE6A, - 0x875B, 0xCE6B, 0x875C, 0xCE6C, 0x875D, 0xCE6D, 0x875E, 0xCE6E, 0x875F, 0xCE6F, 0x8760, 0xF2F0, 0x8761, 0xCE70, 0x8762, 0xCE71, - 0x8763, 0xF2F6, 0x8764, 0xF2F8, 0x8765, 0xF2FA, 0x8766, 0xCE72, 0x8767, 0xCE73, 0x8768, 0xCE74, 0x8769, 0xCE75, 0x876A, 0xCE76, - 0x876B, 0xCE77, 0x876C, 0xCE78, 0x876D, 0xCE79, 0x876E, 0xF2F3, 0x876F, 0xCE7A, 0x8770, 0xF2F1, 0x8771, 0xCE7B, 0x8772, 0xCE7C, - 0x8773, 0xCE7D, 0x8774, 0xBAFB, 0x8775, 0xCE7E, 0x8776, 0xB5FB, 0x8777, 0xCE80, 0x8778, 0xCE81, 0x8779, 0xCE82, 0x877A, 0xCE83, - 0x877B, 0xF2EF, 0x877C, 0xF2F7, 0x877D, 0xF2ED, 0x877E, 0xF2EE, 0x877F, 0xCE84, 0x8780, 0xCE85, 0x8781, 0xCE86, 0x8782, 0xF2EB, - 0x8783, 0xF3A6, 0x8784, 0xCE87, 0x8785, 0xF3A3, 0x8786, 0xCE88, 0x8787, 0xCE89, 0x8788, 0xF3A2, 0x8789, 0xCE8A, 0x878A, 0xCE8B, - 0x878B, 0xF2F4, 0x878C, 0xCE8C, 0x878D, 0xC8DA, 0x878E, 0xCE8D, 0x878F, 0xCE8E, 0x8790, 0xCE8F, 0x8791, 0xCE90, 0x8792, 0xCE91, - 0x8793, 0xF2FB, 0x8794, 0xCE92, 0x8795, 0xCE93, 0x8796, 0xCE94, 0x8797, 0xF3A5, 0x8798, 0xCE95, 0x8799, 0xCE96, 0x879A, 0xCE97, - 0x879B, 0xCE98, 0x879C, 0xCE99, 0x879D, 0xCE9A, 0x879E, 0xCE9B, 0x879F, 0xC3F8, 0x87A0, 0xCE9C, 0x87A1, 0xCE9D, 0x87A2, 0xCE9E, - 0x87A3, 0xCE9F, 0x87A4, 0xCEA0, 0x87A5, 0xCF40, 0x87A6, 0xCF41, 0x87A7, 0xCF42, 0x87A8, 0xF2FD, 0x87A9, 0xCF43, 0x87AA, 0xCF44, - 0x87AB, 0xF3A7, 0x87AC, 0xF3A9, 0x87AD, 0xF3A4, 0x87AE, 0xCF45, 0x87AF, 0xF2FC, 0x87B0, 0xCF46, 0x87B1, 0xCF47, 0x87B2, 0xCF48, - 0x87B3, 0xF3AB, 0x87B4, 0xCF49, 0x87B5, 0xF3AA, 0x87B6, 0xCF4A, 0x87B7, 0xCF4B, 0x87B8, 0xCF4C, 0x87B9, 0xCF4D, 0x87BA, 0xC2DD, - 0x87BB, 0xCF4E, 0x87BC, 0xCF4F, 0x87BD, 0xF3AE, 0x87BE, 0xCF50, 0x87BF, 0xCF51, 0x87C0, 0xF3B0, 0x87C1, 0xCF52, 0x87C2, 0xCF53, - 0x87C3, 0xCF54, 0x87C4, 0xCF55, 0x87C5, 0xCF56, 0x87C6, 0xF3A1, 0x87C7, 0xCF57, 0x87C8, 0xCF58, 0x87C9, 0xCF59, 0x87CA, 0xF3B1, - 0x87CB, 0xF3AC, 0x87CC, 0xCF5A, 0x87CD, 0xCF5B, 0x87CE, 0xCF5C, 0x87CF, 0xCF5D, 0x87D0, 0xCF5E, 0x87D1, 0xF3AF, 0x87D2, 0xF2FE, - 0x87D3, 0xF3AD, 0x87D4, 0xCF5F, 0x87D5, 0xCF60, 0x87D6, 0xCF61, 0x87D7, 0xCF62, 0x87D8, 0xCF63, 0x87D9, 0xCF64, 0x87DA, 0xCF65, - 0x87DB, 0xF3B2, 0x87DC, 0xCF66, 0x87DD, 0xCF67, 0x87DE, 0xCF68, 0x87DF, 0xCF69, 0x87E0, 0xF3B4, 0x87E1, 0xCF6A, 0x87E2, 0xCF6B, - 0x87E3, 0xCF6C, 0x87E4, 0xCF6D, 0x87E5, 0xF3A8, 0x87E6, 0xCF6E, 0x87E7, 0xCF6F, 0x87E8, 0xCF70, 0x87E9, 0xCF71, 0x87EA, 0xF3B3, - 0x87EB, 0xCF72, 0x87EC, 0xCF73, 0x87ED, 0xCF74, 0x87EE, 0xF3B5, 0x87EF, 0xCF75, 0x87F0, 0xCF76, 0x87F1, 0xCF77, 0x87F2, 0xCF78, - 0x87F3, 0xCF79, 0x87F4, 0xCF7A, 0x87F5, 0xCF7B, 0x87F6, 0xCF7C, 0x87F7, 0xCF7D, 0x87F8, 0xCF7E, 0x87F9, 0xD0B7, 0x87FA, 0xCF80, - 0x87FB, 0xCF81, 0x87FC, 0xCF82, 0x87FD, 0xCF83, 0x87FE, 0xF3B8, 0x87FF, 0xCF84, 0x8800, 0xCF85, 0x8801, 0xCF86, 0x8802, 0xCF87, - 0x8803, 0xD9F9, 0x8804, 0xCF88, 0x8805, 0xCF89, 0x8806, 0xCF8A, 0x8807, 0xCF8B, 0x8808, 0xCF8C, 0x8809, 0xCF8D, 0x880A, 0xF3B9, - 0x880B, 0xCF8E, 0x880C, 0xCF8F, 0x880D, 0xCF90, 0x880E, 0xCF91, 0x880F, 0xCF92, 0x8810, 0xCF93, 0x8811, 0xCF94, 0x8812, 0xCF95, - 0x8813, 0xF3B7, 0x8814, 0xCF96, 0x8815, 0xC8E4, 0x8816, 0xF3B6, 0x8817, 0xCF97, 0x8818, 0xCF98, 0x8819, 0xCF99, 0x881A, 0xCF9A, - 0x881B, 0xF3BA, 0x881C, 0xCF9B, 0x881D, 0xCF9C, 0x881E, 0xCF9D, 0x881F, 0xCF9E, 0x8820, 0xCF9F, 0x8821, 0xF3BB, 0x8822, 0xB4C0, - 0x8823, 0xCFA0, 0x8824, 0xD040, 0x8825, 0xD041, 0x8826, 0xD042, 0x8827, 0xD043, 0x8828, 0xD044, 0x8829, 0xD045, 0x882A, 0xD046, - 0x882B, 0xD047, 0x882C, 0xD048, 0x882D, 0xD049, 0x882E, 0xD04A, 0x882F, 0xD04B, 0x8830, 0xD04C, 0x8831, 0xD04D, 0x8832, 0xEEC3, - 0x8833, 0xD04E, 0x8834, 0xD04F, 0x8835, 0xD050, 0x8836, 0xD051, 0x8837, 0xD052, 0x8838, 0xD053, 0x8839, 0xF3BC, 0x883A, 0xD054, - 0x883B, 0xD055, 0x883C, 0xF3BD, 0x883D, 0xD056, 0x883E, 0xD057, 0x883F, 0xD058, 0x8840, 0xD1AA, 0x8841, 0xD059, 0x8842, 0xD05A, - 0x8843, 0xD05B, 0x8844, 0xF4AC, 0x8845, 0xD0C6, 0x8846, 0xD05C, 0x8847, 0xD05D, 0x8848, 0xD05E, 0x8849, 0xD05F, 0x884A, 0xD060, - 0x884B, 0xD061, 0x884C, 0xD0D0, 0x884D, 0xD1DC, 0x884E, 0xD062, 0x884F, 0xD063, 0x8850, 0xD064, 0x8851, 0xD065, 0x8852, 0xD066, - 0x8853, 0xD067, 0x8854, 0xCFCE, 0x8855, 0xD068, 0x8856, 0xD069, 0x8857, 0xBDD6, 0x8858, 0xD06A, 0x8859, 0xD1C3, 0x885A, 0xD06B, - 0x885B, 0xD06C, 0x885C, 0xD06D, 0x885D, 0xD06E, 0x885E, 0xD06F, 0x885F, 0xD070, 0x8860, 0xD071, 0x8861, 0xBAE2, 0x8862, 0xE1E9, - 0x8863, 0xD2C2, 0x8864, 0xF1C2, 0x8865, 0xB2B9, 0x8866, 0xD072, 0x8867, 0xD073, 0x8868, 0xB1ED, 0x8869, 0xF1C3, 0x886A, 0xD074, - 0x886B, 0xC9C0, 0x886C, 0xB3C4, 0x886D, 0xD075, 0x886E, 0xD9F2, 0x886F, 0xD076, 0x8870, 0xCBA5, 0x8871, 0xD077, 0x8872, 0xF1C4, - 0x8873, 0xD078, 0x8874, 0xD079, 0x8875, 0xD07A, 0x8876, 0xD07B, 0x8877, 0xD6D4, 0x8878, 0xD07C, 0x8879, 0xD07D, 0x887A, 0xD07E, - 0x887B, 0xD080, 0x887C, 0xD081, 0x887D, 0xF1C5, 0x887E, 0xF4C0, 0x887F, 0xF1C6, 0x8880, 0xD082, 0x8881, 0xD4AC, 0x8882, 0xF1C7, - 0x8883, 0xD083, 0x8884, 0xB0C0, 0x8885, 0xF4C1, 0x8886, 0xD084, 0x8887, 0xD085, 0x8888, 0xF4C2, 0x8889, 0xD086, 0x888A, 0xD087, - 0x888B, 0xB4FC, 0x888C, 0xD088, 0x888D, 0xC5DB, 0x888E, 0xD089, 0x888F, 0xD08A, 0x8890, 0xD08B, 0x8891, 0xD08C, 0x8892, 0xCCBB, - 0x8893, 0xD08D, 0x8894, 0xD08E, 0x8895, 0xD08F, 0x8896, 0xD0E4, 0x8897, 0xD090, 0x8898, 0xD091, 0x8899, 0xD092, 0x889A, 0xD093, - 0x889B, 0xD094, 0x889C, 0xCDE0, 0x889D, 0xD095, 0x889E, 0xD096, 0x889F, 0xD097, 0x88A0, 0xD098, 0x88A1, 0xD099, 0x88A2, 0xF1C8, - 0x88A3, 0xD09A, 0x88A4, 0xD9F3, 0x88A5, 0xD09B, 0x88A6, 0xD09C, 0x88A7, 0xD09D, 0x88A8, 0xD09E, 0x88A9, 0xD09F, 0x88AA, 0xD0A0, - 0x88AB, 0xB1BB, 0x88AC, 0xD140, 0x88AD, 0xCFAE, 0x88AE, 0xD141, 0x88AF, 0xD142, 0x88B0, 0xD143, 0x88B1, 0xB8A4, 0x88B2, 0xD144, - 0x88B3, 0xD145, 0x88B4, 0xD146, 0x88B5, 0xD147, 0x88B6, 0xD148, 0x88B7, 0xF1CA, 0x88B8, 0xD149, 0x88B9, 0xD14A, 0x88BA, 0xD14B, - 0x88BB, 0xD14C, 0x88BC, 0xF1CB, 0x88BD, 0xD14D, 0x88BE, 0xD14E, 0x88BF, 0xD14F, 0x88C0, 0xD150, 0x88C1, 0xB2C3, 0x88C2, 0xC1D1, - 0x88C3, 0xD151, 0x88C4, 0xD152, 0x88C5, 0xD7B0, 0x88C6, 0xF1C9, 0x88C7, 0xD153, 0x88C8, 0xD154, 0x88C9, 0xF1CC, 0x88CA, 0xD155, - 0x88CB, 0xD156, 0x88CC, 0xD157, 0x88CD, 0xD158, 0x88CE, 0xF1CE, 0x88CF, 0xD159, 0x88D0, 0xD15A, 0x88D1, 0xD15B, 0x88D2, 0xD9F6, - 0x88D3, 0xD15C, 0x88D4, 0xD2E1, 0x88D5, 0xD4A3, 0x88D6, 0xD15D, 0x88D7, 0xD15E, 0x88D8, 0xF4C3, 0x88D9, 0xC8B9, 0x88DA, 0xD15F, - 0x88DB, 0xD160, 0x88DC, 0xD161, 0x88DD, 0xD162, 0x88DE, 0xD163, 0x88DF, 0xF4C4, 0x88E0, 0xD164, 0x88E1, 0xD165, 0x88E2, 0xF1CD, - 0x88E3, 0xF1CF, 0x88E4, 0xBFE3, 0x88E5, 0xF1D0, 0x88E6, 0xD166, 0x88E7, 0xD167, 0x88E8, 0xF1D4, 0x88E9, 0xD168, 0x88EA, 0xD169, - 0x88EB, 0xD16A, 0x88EC, 0xD16B, 0x88ED, 0xD16C, 0x88EE, 0xD16D, 0x88EF, 0xD16E, 0x88F0, 0xF1D6, 0x88F1, 0xF1D1, 0x88F2, 0xD16F, - 0x88F3, 0xC9D1, 0x88F4, 0xC5E1, 0x88F5, 0xD170, 0x88F6, 0xD171, 0x88F7, 0xD172, 0x88F8, 0xC2E3, 0x88F9, 0xB9FC, 0x88FA, 0xD173, - 0x88FB, 0xD174, 0x88FC, 0xF1D3, 0x88FD, 0xD175, 0x88FE, 0xF1D5, 0x88FF, 0xD176, 0x8900, 0xD177, 0x8901, 0xD178, 0x8902, 0xB9D3, - 0x8903, 0xD179, 0x8904, 0xD17A, 0x8905, 0xD17B, 0x8906, 0xD17C, 0x8907, 0xD17D, 0x8908, 0xD17E, 0x8909, 0xD180, 0x890A, 0xF1DB, - 0x890B, 0xD181, 0x890C, 0xD182, 0x890D, 0xD183, 0x890E, 0xD184, 0x890F, 0xD185, 0x8910, 0xBAD6, 0x8911, 0xD186, 0x8912, 0xB0FD, - 0x8913, 0xF1D9, 0x8914, 0xD187, 0x8915, 0xD188, 0x8916, 0xD189, 0x8917, 0xD18A, 0x8918, 0xD18B, 0x8919, 0xF1D8, 0x891A, 0xF1D2, - 0x891B, 0xF1DA, 0x891C, 0xD18C, 0x891D, 0xD18D, 0x891E, 0xD18E, 0x891F, 0xD18F, 0x8920, 0xD190, 0x8921, 0xF1D7, 0x8922, 0xD191, - 0x8923, 0xD192, 0x8924, 0xD193, 0x8925, 0xC8EC, 0x8926, 0xD194, 0x8927, 0xD195, 0x8928, 0xD196, 0x8929, 0xD197, 0x892A, 0xCDCA, - 0x892B, 0xF1DD, 0x892C, 0xD198, 0x892D, 0xD199, 0x892E, 0xD19A, 0x892F, 0xD19B, 0x8930, 0xE5BD, 0x8931, 0xD19C, 0x8932, 0xD19D, - 0x8933, 0xD19E, 0x8934, 0xF1DC, 0x8935, 0xD19F, 0x8936, 0xF1DE, 0x8937, 0xD1A0, 0x8938, 0xD240, 0x8939, 0xD241, 0x893A, 0xD242, - 0x893B, 0xD243, 0x893C, 0xD244, 0x893D, 0xD245, 0x893E, 0xD246, 0x893F, 0xD247, 0x8940, 0xD248, 0x8941, 0xF1DF, 0x8942, 0xD249, - 0x8943, 0xD24A, 0x8944, 0xCFE5, 0x8945, 0xD24B, 0x8946, 0xD24C, 0x8947, 0xD24D, 0x8948, 0xD24E, 0x8949, 0xD24F, 0x894A, 0xD250, - 0x894B, 0xD251, 0x894C, 0xD252, 0x894D, 0xD253, 0x894E, 0xD254, 0x894F, 0xD255, 0x8950, 0xD256, 0x8951, 0xD257, 0x8952, 0xD258, - 0x8953, 0xD259, 0x8954, 0xD25A, 0x8955, 0xD25B, 0x8956, 0xD25C, 0x8957, 0xD25D, 0x8958, 0xD25E, 0x8959, 0xD25F, 0x895A, 0xD260, - 0x895B, 0xD261, 0x895C, 0xD262, 0x895D, 0xD263, 0x895E, 0xF4C5, 0x895F, 0xBDF3, 0x8960, 0xD264, 0x8961, 0xD265, 0x8962, 0xD266, - 0x8963, 0xD267, 0x8964, 0xD268, 0x8965, 0xD269, 0x8966, 0xF1E0, 0x8967, 0xD26A, 0x8968, 0xD26B, 0x8969, 0xD26C, 0x896A, 0xD26D, - 0x896B, 0xD26E, 0x896C, 0xD26F, 0x896D, 0xD270, 0x896E, 0xD271, 0x896F, 0xD272, 0x8970, 0xD273, 0x8971, 0xD274, 0x8972, 0xD275, - 0x8973, 0xD276, 0x8974, 0xD277, 0x8975, 0xD278, 0x8976, 0xD279, 0x8977, 0xD27A, 0x8978, 0xD27B, 0x8979, 0xD27C, 0x897A, 0xD27D, - 0x897B, 0xF1E1, 0x897C, 0xD27E, 0x897D, 0xD280, 0x897E, 0xD281, 0x897F, 0xCEF7, 0x8980, 0xD282, 0x8981, 0xD2AA, 0x8982, 0xD283, - 0x8983, 0xF1FB, 0x8984, 0xD284, 0x8985, 0xD285, 0x8986, 0xB8B2, 0x8987, 0xD286, 0x8988, 0xD287, 0x8989, 0xD288, 0x898A, 0xD289, - 0x898B, 0xD28A, 0x898C, 0xD28B, 0x898D, 0xD28C, 0x898E, 0xD28D, 0x898F, 0xD28E, 0x8990, 0xD28F, 0x8991, 0xD290, 0x8992, 0xD291, - 0x8993, 0xD292, 0x8994, 0xD293, 0x8995, 0xD294, 0x8996, 0xD295, 0x8997, 0xD296, 0x8998, 0xD297, 0x8999, 0xD298, 0x899A, 0xD299, - 0x899B, 0xD29A, 0x899C, 0xD29B, 0x899D, 0xD29C, 0x899E, 0xD29D, 0x899F, 0xD29E, 0x89A0, 0xD29F, 0x89A1, 0xD2A0, 0x89A2, 0xD340, - 0x89A3, 0xD341, 0x89A4, 0xD342, 0x89A5, 0xD343, 0x89A6, 0xD344, 0x89A7, 0xD345, 0x89A8, 0xD346, 0x89A9, 0xD347, 0x89AA, 0xD348, - 0x89AB, 0xD349, 0x89AC, 0xD34A, 0x89AD, 0xD34B, 0x89AE, 0xD34C, 0x89AF, 0xD34D, 0x89B0, 0xD34E, 0x89B1, 0xD34F, 0x89B2, 0xD350, - 0x89B3, 0xD351, 0x89B4, 0xD352, 0x89B5, 0xD353, 0x89B6, 0xD354, 0x89B7, 0xD355, 0x89B8, 0xD356, 0x89B9, 0xD357, 0x89BA, 0xD358, - 0x89BB, 0xD359, 0x89BC, 0xD35A, 0x89BD, 0xD35B, 0x89BE, 0xD35C, 0x89BF, 0xD35D, 0x89C0, 0xD35E, 0x89C1, 0xBCFB, 0x89C2, 0xB9DB, - 0x89C3, 0xD35F, 0x89C4, 0xB9E6, 0x89C5, 0xC3D9, 0x89C6, 0xCAD3, 0x89C7, 0xEAE8, 0x89C8, 0xC0C0, 0x89C9, 0xBEF5, 0x89CA, 0xEAE9, - 0x89CB, 0xEAEA, 0x89CC, 0xEAEB, 0x89CD, 0xD360, 0x89CE, 0xEAEC, 0x89CF, 0xEAED, 0x89D0, 0xEAEE, 0x89D1, 0xEAEF, 0x89D2, 0xBDC7, - 0x89D3, 0xD361, 0x89D4, 0xD362, 0x89D5, 0xD363, 0x89D6, 0xF5FB, 0x89D7, 0xD364, 0x89D8, 0xD365, 0x89D9, 0xD366, 0x89DA, 0xF5FD, - 0x89DB, 0xD367, 0x89DC, 0xF5FE, 0x89DD, 0xD368, 0x89DE, 0xF5FC, 0x89DF, 0xD369, 0x89E0, 0xD36A, 0x89E1, 0xD36B, 0x89E2, 0xD36C, - 0x89E3, 0xBDE2, 0x89E4, 0xD36D, 0x89E5, 0xF6A1, 0x89E6, 0xB4A5, 0x89E7, 0xD36E, 0x89E8, 0xD36F, 0x89E9, 0xD370, 0x89EA, 0xD371, - 0x89EB, 0xF6A2, 0x89EC, 0xD372, 0x89ED, 0xD373, 0x89EE, 0xD374, 0x89EF, 0xF6A3, 0x89F0, 0xD375, 0x89F1, 0xD376, 0x89F2, 0xD377, - 0x89F3, 0xECB2, 0x89F4, 0xD378, 0x89F5, 0xD379, 0x89F6, 0xD37A, 0x89F7, 0xD37B, 0x89F8, 0xD37C, 0x89F9, 0xD37D, 0x89FA, 0xD37E, - 0x89FB, 0xD380, 0x89FC, 0xD381, 0x89FD, 0xD382, 0x89FE, 0xD383, 0x89FF, 0xD384, 0x8A00, 0xD1D4, 0x8A01, 0xD385, 0x8A02, 0xD386, - 0x8A03, 0xD387, 0x8A04, 0xD388, 0x8A05, 0xD389, 0x8A06, 0xD38A, 0x8A07, 0xD9EA, 0x8A08, 0xD38B, 0x8A09, 0xD38C, 0x8A0A, 0xD38D, - 0x8A0B, 0xD38E, 0x8A0C, 0xD38F, 0x8A0D, 0xD390, 0x8A0E, 0xD391, 0x8A0F, 0xD392, 0x8A10, 0xD393, 0x8A11, 0xD394, 0x8A12, 0xD395, - 0x8A13, 0xD396, 0x8A14, 0xD397, 0x8A15, 0xD398, 0x8A16, 0xD399, 0x8A17, 0xD39A, 0x8A18, 0xD39B, 0x8A19, 0xD39C, 0x8A1A, 0xD39D, - 0x8A1B, 0xD39E, 0x8A1C, 0xD39F, 0x8A1D, 0xD3A0, 0x8A1E, 0xD440, 0x8A1F, 0xD441, 0x8A20, 0xD442, 0x8A21, 0xD443, 0x8A22, 0xD444, - 0x8A23, 0xD445, 0x8A24, 0xD446, 0x8A25, 0xD447, 0x8A26, 0xD448, 0x8A27, 0xD449, 0x8A28, 0xD44A, 0x8A29, 0xD44B, 0x8A2A, 0xD44C, - 0x8A2B, 0xD44D, 0x8A2C, 0xD44E, 0x8A2D, 0xD44F, 0x8A2E, 0xD450, 0x8A2F, 0xD451, 0x8A30, 0xD452, 0x8A31, 0xD453, 0x8A32, 0xD454, - 0x8A33, 0xD455, 0x8A34, 0xD456, 0x8A35, 0xD457, 0x8A36, 0xD458, 0x8A37, 0xD459, 0x8A38, 0xD45A, 0x8A39, 0xD45B, 0x8A3A, 0xD45C, - 0x8A3B, 0xD45D, 0x8A3C, 0xD45E, 0x8A3D, 0xD45F, 0x8A3E, 0xF6A4, 0x8A3F, 0xD460, 0x8A40, 0xD461, 0x8A41, 0xD462, 0x8A42, 0xD463, - 0x8A43, 0xD464, 0x8A44, 0xD465, 0x8A45, 0xD466, 0x8A46, 0xD467, 0x8A47, 0xD468, 0x8A48, 0xEEBA, 0x8A49, 0xD469, 0x8A4A, 0xD46A, - 0x8A4B, 0xD46B, 0x8A4C, 0xD46C, 0x8A4D, 0xD46D, 0x8A4E, 0xD46E, 0x8A4F, 0xD46F, 0x8A50, 0xD470, 0x8A51, 0xD471, 0x8A52, 0xD472, - 0x8A53, 0xD473, 0x8A54, 0xD474, 0x8A55, 0xD475, 0x8A56, 0xD476, 0x8A57, 0xD477, 0x8A58, 0xD478, 0x8A59, 0xD479, 0x8A5A, 0xD47A, - 0x8A5B, 0xD47B, 0x8A5C, 0xD47C, 0x8A5D, 0xD47D, 0x8A5E, 0xD47E, 0x8A5F, 0xD480, 0x8A60, 0xD481, 0x8A61, 0xD482, 0x8A62, 0xD483, - 0x8A63, 0xD484, 0x8A64, 0xD485, 0x8A65, 0xD486, 0x8A66, 0xD487, 0x8A67, 0xD488, 0x8A68, 0xD489, 0x8A69, 0xD48A, 0x8A6A, 0xD48B, - 0x8A6B, 0xD48C, 0x8A6C, 0xD48D, 0x8A6D, 0xD48E, 0x8A6E, 0xD48F, 0x8A6F, 0xD490, 0x8A70, 0xD491, 0x8A71, 0xD492, 0x8A72, 0xD493, - 0x8A73, 0xD494, 0x8A74, 0xD495, 0x8A75, 0xD496, 0x8A76, 0xD497, 0x8A77, 0xD498, 0x8A78, 0xD499, 0x8A79, 0xD5B2, 0x8A7A, 0xD49A, - 0x8A7B, 0xD49B, 0x8A7C, 0xD49C, 0x8A7D, 0xD49D, 0x8A7E, 0xD49E, 0x8A7F, 0xD49F, 0x8A80, 0xD4A0, 0x8A81, 0xD540, 0x8A82, 0xD541, - 0x8A83, 0xD542, 0x8A84, 0xD543, 0x8A85, 0xD544, 0x8A86, 0xD545, 0x8A87, 0xD546, 0x8A88, 0xD547, 0x8A89, 0xD3FE, 0x8A8A, 0xCCDC, - 0x8A8B, 0xD548, 0x8A8C, 0xD549, 0x8A8D, 0xD54A, 0x8A8E, 0xD54B, 0x8A8F, 0xD54C, 0x8A90, 0xD54D, 0x8A91, 0xD54E, 0x8A92, 0xD54F, - 0x8A93, 0xCAC4, 0x8A94, 0xD550, 0x8A95, 0xD551, 0x8A96, 0xD552, 0x8A97, 0xD553, 0x8A98, 0xD554, 0x8A99, 0xD555, 0x8A9A, 0xD556, - 0x8A9B, 0xD557, 0x8A9C, 0xD558, 0x8A9D, 0xD559, 0x8A9E, 0xD55A, 0x8A9F, 0xD55B, 0x8AA0, 0xD55C, 0x8AA1, 0xD55D, 0x8AA2, 0xD55E, - 0x8AA3, 0xD55F, 0x8AA4, 0xD560, 0x8AA5, 0xD561, 0x8AA6, 0xD562, 0x8AA7, 0xD563, 0x8AA8, 0xD564, 0x8AA9, 0xD565, 0x8AAA, 0xD566, - 0x8AAB, 0xD567, 0x8AAC, 0xD568, 0x8AAD, 0xD569, 0x8AAE, 0xD56A, 0x8AAF, 0xD56B, 0x8AB0, 0xD56C, 0x8AB1, 0xD56D, 0x8AB2, 0xD56E, - 0x8AB3, 0xD56F, 0x8AB4, 0xD570, 0x8AB5, 0xD571, 0x8AB6, 0xD572, 0x8AB7, 0xD573, 0x8AB8, 0xD574, 0x8AB9, 0xD575, 0x8ABA, 0xD576, - 0x8ABB, 0xD577, 0x8ABC, 0xD578, 0x8ABD, 0xD579, 0x8ABE, 0xD57A, 0x8ABF, 0xD57B, 0x8AC0, 0xD57C, 0x8AC1, 0xD57D, 0x8AC2, 0xD57E, - 0x8AC3, 0xD580, 0x8AC4, 0xD581, 0x8AC5, 0xD582, 0x8AC6, 0xD583, 0x8AC7, 0xD584, 0x8AC8, 0xD585, 0x8AC9, 0xD586, 0x8ACA, 0xD587, - 0x8ACB, 0xD588, 0x8ACC, 0xD589, 0x8ACD, 0xD58A, 0x8ACE, 0xD58B, 0x8ACF, 0xD58C, 0x8AD0, 0xD58D, 0x8AD1, 0xD58E, 0x8AD2, 0xD58F, - 0x8AD3, 0xD590, 0x8AD4, 0xD591, 0x8AD5, 0xD592, 0x8AD6, 0xD593, 0x8AD7, 0xD594, 0x8AD8, 0xD595, 0x8AD9, 0xD596, 0x8ADA, 0xD597, - 0x8ADB, 0xD598, 0x8ADC, 0xD599, 0x8ADD, 0xD59A, 0x8ADE, 0xD59B, 0x8ADF, 0xD59C, 0x8AE0, 0xD59D, 0x8AE1, 0xD59E, 0x8AE2, 0xD59F, - 0x8AE3, 0xD5A0, 0x8AE4, 0xD640, 0x8AE5, 0xD641, 0x8AE6, 0xD642, 0x8AE7, 0xD643, 0x8AE8, 0xD644, 0x8AE9, 0xD645, 0x8AEA, 0xD646, - 0x8AEB, 0xD647, 0x8AEC, 0xD648, 0x8AED, 0xD649, 0x8AEE, 0xD64A, 0x8AEF, 0xD64B, 0x8AF0, 0xD64C, 0x8AF1, 0xD64D, 0x8AF2, 0xD64E, - 0x8AF3, 0xD64F, 0x8AF4, 0xD650, 0x8AF5, 0xD651, 0x8AF6, 0xD652, 0x8AF7, 0xD653, 0x8AF8, 0xD654, 0x8AF9, 0xD655, 0x8AFA, 0xD656, - 0x8AFB, 0xD657, 0x8AFC, 0xD658, 0x8AFD, 0xD659, 0x8AFE, 0xD65A, 0x8AFF, 0xD65B, 0x8B00, 0xD65C, 0x8B01, 0xD65D, 0x8B02, 0xD65E, - 0x8B03, 0xD65F, 0x8B04, 0xD660, 0x8B05, 0xD661, 0x8B06, 0xD662, 0x8B07, 0xE5C0, 0x8B08, 0xD663, 0x8B09, 0xD664, 0x8B0A, 0xD665, - 0x8B0B, 0xD666, 0x8B0C, 0xD667, 0x8B0D, 0xD668, 0x8B0E, 0xD669, 0x8B0F, 0xD66A, 0x8B10, 0xD66B, 0x8B11, 0xD66C, 0x8B12, 0xD66D, - 0x8B13, 0xD66E, 0x8B14, 0xD66F, 0x8B15, 0xD670, 0x8B16, 0xD671, 0x8B17, 0xD672, 0x8B18, 0xD673, 0x8B19, 0xD674, 0x8B1A, 0xD675, - 0x8B1B, 0xD676, 0x8B1C, 0xD677, 0x8B1D, 0xD678, 0x8B1E, 0xD679, 0x8B1F, 0xD67A, 0x8B20, 0xD67B, 0x8B21, 0xD67C, 0x8B22, 0xD67D, - 0x8B23, 0xD67E, 0x8B24, 0xD680, 0x8B25, 0xD681, 0x8B26, 0xF6A5, 0x8B27, 0xD682, 0x8B28, 0xD683, 0x8B29, 0xD684, 0x8B2A, 0xD685, - 0x8B2B, 0xD686, 0x8B2C, 0xD687, 0x8B2D, 0xD688, 0x8B2E, 0xD689, 0x8B2F, 0xD68A, 0x8B30, 0xD68B, 0x8B31, 0xD68C, 0x8B32, 0xD68D, - 0x8B33, 0xD68E, 0x8B34, 0xD68F, 0x8B35, 0xD690, 0x8B36, 0xD691, 0x8B37, 0xD692, 0x8B38, 0xD693, 0x8B39, 0xD694, 0x8B3A, 0xD695, - 0x8B3B, 0xD696, 0x8B3C, 0xD697, 0x8B3D, 0xD698, 0x8B3E, 0xD699, 0x8B3F, 0xD69A, 0x8B40, 0xD69B, 0x8B41, 0xD69C, 0x8B42, 0xD69D, - 0x8B43, 0xD69E, 0x8B44, 0xD69F, 0x8B45, 0xD6A0, 0x8B46, 0xD740, 0x8B47, 0xD741, 0x8B48, 0xD742, 0x8B49, 0xD743, 0x8B4A, 0xD744, - 0x8B4B, 0xD745, 0x8B4C, 0xD746, 0x8B4D, 0xD747, 0x8B4E, 0xD748, 0x8B4F, 0xD749, 0x8B50, 0xD74A, 0x8B51, 0xD74B, 0x8B52, 0xD74C, - 0x8B53, 0xD74D, 0x8B54, 0xD74E, 0x8B55, 0xD74F, 0x8B56, 0xD750, 0x8B57, 0xD751, 0x8B58, 0xD752, 0x8B59, 0xD753, 0x8B5A, 0xD754, - 0x8B5B, 0xD755, 0x8B5C, 0xD756, 0x8B5D, 0xD757, 0x8B5E, 0xD758, 0x8B5F, 0xD759, 0x8B60, 0xD75A, 0x8B61, 0xD75B, 0x8B62, 0xD75C, - 0x8B63, 0xD75D, 0x8B64, 0xD75E, 0x8B65, 0xD75F, 0x8B66, 0xBEAF, 0x8B67, 0xD760, 0x8B68, 0xD761, 0x8B69, 0xD762, 0x8B6A, 0xD763, - 0x8B6B, 0xD764, 0x8B6C, 0xC6A9, 0x8B6D, 0xD765, 0x8B6E, 0xD766, 0x8B6F, 0xD767, 0x8B70, 0xD768, 0x8B71, 0xD769, 0x8B72, 0xD76A, - 0x8B73, 0xD76B, 0x8B74, 0xD76C, 0x8B75, 0xD76D, 0x8B76, 0xD76E, 0x8B77, 0xD76F, 0x8B78, 0xD770, 0x8B79, 0xD771, 0x8B7A, 0xD772, - 0x8B7B, 0xD773, 0x8B7C, 0xD774, 0x8B7D, 0xD775, 0x8B7E, 0xD776, 0x8B7F, 0xD777, 0x8B80, 0xD778, 0x8B81, 0xD779, 0x8B82, 0xD77A, - 0x8B83, 0xD77B, 0x8B84, 0xD77C, 0x8B85, 0xD77D, 0x8B86, 0xD77E, 0x8B87, 0xD780, 0x8B88, 0xD781, 0x8B89, 0xD782, 0x8B8A, 0xD783, - 0x8B8B, 0xD784, 0x8B8C, 0xD785, 0x8B8D, 0xD786, 0x8B8E, 0xD787, 0x8B8F, 0xD788, 0x8B90, 0xD789, 0x8B91, 0xD78A, 0x8B92, 0xD78B, - 0x8B93, 0xD78C, 0x8B94, 0xD78D, 0x8B95, 0xD78E, 0x8B96, 0xD78F, 0x8B97, 0xD790, 0x8B98, 0xD791, 0x8B99, 0xD792, 0x8B9A, 0xD793, - 0x8B9B, 0xD794, 0x8B9C, 0xD795, 0x8B9D, 0xD796, 0x8B9E, 0xD797, 0x8B9F, 0xD798, 0x8BA0, 0xDAA5, 0x8BA1, 0xBCC6, 0x8BA2, 0xB6A9, - 0x8BA3, 0xB8BC, 0x8BA4, 0xC8CF, 0x8BA5, 0xBCA5, 0x8BA6, 0xDAA6, 0x8BA7, 0xDAA7, 0x8BA8, 0xCCD6, 0x8BA9, 0xC8C3, 0x8BAA, 0xDAA8, - 0x8BAB, 0xC6FD, 0x8BAC, 0xD799, 0x8BAD, 0xD1B5, 0x8BAE, 0xD2E9, 0x8BAF, 0xD1B6, 0x8BB0, 0xBCC7, 0x8BB1, 0xD79A, 0x8BB2, 0xBDB2, - 0x8BB3, 0xBBE4, 0x8BB4, 0xDAA9, 0x8BB5, 0xDAAA, 0x8BB6, 0xD1C8, 0x8BB7, 0xDAAB, 0x8BB8, 0xD0ED, 0x8BB9, 0xB6EF, 0x8BBA, 0xC2DB, - 0x8BBB, 0xD79B, 0x8BBC, 0xCBCF, 0x8BBD, 0xB7ED, 0x8BBE, 0xC9E8, 0x8BBF, 0xB7C3, 0x8BC0, 0xBEF7, 0x8BC1, 0xD6A4, 0x8BC2, 0xDAAC, - 0x8BC3, 0xDAAD, 0x8BC4, 0xC6C0, 0x8BC5, 0xD7E7, 0x8BC6, 0xCAB6, 0x8BC7, 0xD79C, 0x8BC8, 0xD5A9, 0x8BC9, 0xCBDF, 0x8BCA, 0xD5EF, - 0x8BCB, 0xDAAE, 0x8BCC, 0xD6DF, 0x8BCD, 0xB4CA, 0x8BCE, 0xDAB0, 0x8BCF, 0xDAAF, 0x8BD0, 0xD79D, 0x8BD1, 0xD2EB, 0x8BD2, 0xDAB1, - 0x8BD3, 0xDAB2, 0x8BD4, 0xDAB3, 0x8BD5, 0xCAD4, 0x8BD6, 0xDAB4, 0x8BD7, 0xCAAB, 0x8BD8, 0xDAB5, 0x8BD9, 0xDAB6, 0x8BDA, 0xB3CF, - 0x8BDB, 0xD6EF, 0x8BDC, 0xDAB7, 0x8BDD, 0xBBB0, 0x8BDE, 0xB5AE, 0x8BDF, 0xDAB8, 0x8BE0, 0xDAB9, 0x8BE1, 0xB9EE, 0x8BE2, 0xD1AF, - 0x8BE3, 0xD2E8, 0x8BE4, 0xDABA, 0x8BE5, 0xB8C3, 0x8BE6, 0xCFEA, 0x8BE7, 0xB2EF, 0x8BE8, 0xDABB, 0x8BE9, 0xDABC, 0x8BEA, 0xD79E, - 0x8BEB, 0xBDEB, 0x8BEC, 0xCEDC, 0x8BED, 0xD3EF, 0x8BEE, 0xDABD, 0x8BEF, 0xCEF3, 0x8BF0, 0xDABE, 0x8BF1, 0xD3D5, 0x8BF2, 0xBBE5, - 0x8BF3, 0xDABF, 0x8BF4, 0xCBB5, 0x8BF5, 0xCBD0, 0x8BF6, 0xDAC0, 0x8BF7, 0xC7EB, 0x8BF8, 0xD6EE, 0x8BF9, 0xDAC1, 0x8BFA, 0xC5B5, - 0x8BFB, 0xB6C1, 0x8BFC, 0xDAC2, 0x8BFD, 0xB7CC, 0x8BFE, 0xBFCE, 0x8BFF, 0xDAC3, 0x8C00, 0xDAC4, 0x8C01, 0xCBAD, 0x8C02, 0xDAC5, - 0x8C03, 0xB5F7, 0x8C04, 0xDAC6, 0x8C05, 0xC1C2, 0x8C06, 0xD7BB, 0x8C07, 0xDAC7, 0x8C08, 0xCCB8, 0x8C09, 0xD79F, 0x8C0A, 0xD2EA, - 0x8C0B, 0xC4B1, 0x8C0C, 0xDAC8, 0x8C0D, 0xB5FD, 0x8C0E, 0xBBD1, 0x8C0F, 0xDAC9, 0x8C10, 0xD0B3, 0x8C11, 0xDACA, 0x8C12, 0xDACB, - 0x8C13, 0xCEBD, 0x8C14, 0xDACC, 0x8C15, 0xDACD, 0x8C16, 0xDACE, 0x8C17, 0xB2F7, 0x8C18, 0xDAD1, 0x8C19, 0xDACF, 0x8C1A, 0xD1E8, - 0x8C1B, 0xDAD0, 0x8C1C, 0xC3D5, 0x8C1D, 0xDAD2, 0x8C1E, 0xD7A0, 0x8C1F, 0xDAD3, 0x8C20, 0xDAD4, 0x8C21, 0xDAD5, 0x8C22, 0xD0BB, - 0x8C23, 0xD2A5, 0x8C24, 0xB0F9, 0x8C25, 0xDAD6, 0x8C26, 0xC7AB, 0x8C27, 0xDAD7, 0x8C28, 0xBDF7, 0x8C29, 0xC3A1, 0x8C2A, 0xDAD8, - 0x8C2B, 0xDAD9, 0x8C2C, 0xC3FD, 0x8C2D, 0xCCB7, 0x8C2E, 0xDADA, 0x8C2F, 0xDADB, 0x8C30, 0xC0BE, 0x8C31, 0xC6D7, 0x8C32, 0xDADC, - 0x8C33, 0xDADD, 0x8C34, 0xC7B4, 0x8C35, 0xDADE, 0x8C36, 0xDADF, 0x8C37, 0xB9C8, 0x8C38, 0xD840, 0x8C39, 0xD841, 0x8C3A, 0xD842, - 0x8C3B, 0xD843, 0x8C3C, 0xD844, 0x8C3D, 0xD845, 0x8C3E, 0xD846, 0x8C3F, 0xD847, 0x8C40, 0xD848, 0x8C41, 0xBBED, 0x8C42, 0xD849, - 0x8C43, 0xD84A, 0x8C44, 0xD84B, 0x8C45, 0xD84C, 0x8C46, 0xB6B9, 0x8C47, 0xF4F8, 0x8C48, 0xD84D, 0x8C49, 0xF4F9, 0x8C4A, 0xD84E, - 0x8C4B, 0xD84F, 0x8C4C, 0xCDE3, 0x8C4D, 0xD850, 0x8C4E, 0xD851, 0x8C4F, 0xD852, 0x8C50, 0xD853, 0x8C51, 0xD854, 0x8C52, 0xD855, - 0x8C53, 0xD856, 0x8C54, 0xD857, 0x8C55, 0xF5B9, 0x8C56, 0xD858, 0x8C57, 0xD859, 0x8C58, 0xD85A, 0x8C59, 0xD85B, 0x8C5A, 0xEBE0, - 0x8C5B, 0xD85C, 0x8C5C, 0xD85D, 0x8C5D, 0xD85E, 0x8C5E, 0xD85F, 0x8C5F, 0xD860, 0x8C60, 0xD861, 0x8C61, 0xCFF3, 0x8C62, 0xBBBF, - 0x8C63, 0xD862, 0x8C64, 0xD863, 0x8C65, 0xD864, 0x8C66, 0xD865, 0x8C67, 0xD866, 0x8C68, 0xD867, 0x8C69, 0xD868, 0x8C6A, 0xBAC0, - 0x8C6B, 0xD4A5, 0x8C6C, 0xD869, 0x8C6D, 0xD86A, 0x8C6E, 0xD86B, 0x8C6F, 0xD86C, 0x8C70, 0xD86D, 0x8C71, 0xD86E, 0x8C72, 0xD86F, - 0x8C73, 0xE1D9, 0x8C74, 0xD870, 0x8C75, 0xD871, 0x8C76, 0xD872, 0x8C77, 0xD873, 0x8C78, 0xF5F4, 0x8C79, 0xB1AA, 0x8C7A, 0xB2F2, - 0x8C7B, 0xD874, 0x8C7C, 0xD875, 0x8C7D, 0xD876, 0x8C7E, 0xD877, 0x8C7F, 0xD878, 0x8C80, 0xD879, 0x8C81, 0xD87A, 0x8C82, 0xF5F5, - 0x8C83, 0xD87B, 0x8C84, 0xD87C, 0x8C85, 0xF5F7, 0x8C86, 0xD87D, 0x8C87, 0xD87E, 0x8C88, 0xD880, 0x8C89, 0xBAD1, 0x8C8A, 0xF5F6, - 0x8C8B, 0xD881, 0x8C8C, 0xC3B2, 0x8C8D, 0xD882, 0x8C8E, 0xD883, 0x8C8F, 0xD884, 0x8C90, 0xD885, 0x8C91, 0xD886, 0x8C92, 0xD887, - 0x8C93, 0xD888, 0x8C94, 0xF5F9, 0x8C95, 0xD889, 0x8C96, 0xD88A, 0x8C97, 0xD88B, 0x8C98, 0xF5F8, 0x8C99, 0xD88C, 0x8C9A, 0xD88D, - 0x8C9B, 0xD88E, 0x8C9C, 0xD88F, 0x8C9D, 0xD890, 0x8C9E, 0xD891, 0x8C9F, 0xD892, 0x8CA0, 0xD893, 0x8CA1, 0xD894, 0x8CA2, 0xD895, - 0x8CA3, 0xD896, 0x8CA4, 0xD897, 0x8CA5, 0xD898, 0x8CA6, 0xD899, 0x8CA7, 0xD89A, 0x8CA8, 0xD89B, 0x8CA9, 0xD89C, 0x8CAA, 0xD89D, - 0x8CAB, 0xD89E, 0x8CAC, 0xD89F, 0x8CAD, 0xD8A0, 0x8CAE, 0xD940, 0x8CAF, 0xD941, 0x8CB0, 0xD942, 0x8CB1, 0xD943, 0x8CB2, 0xD944, - 0x8CB3, 0xD945, 0x8CB4, 0xD946, 0x8CB5, 0xD947, 0x8CB6, 0xD948, 0x8CB7, 0xD949, 0x8CB8, 0xD94A, 0x8CB9, 0xD94B, 0x8CBA, 0xD94C, - 0x8CBB, 0xD94D, 0x8CBC, 0xD94E, 0x8CBD, 0xD94F, 0x8CBE, 0xD950, 0x8CBF, 0xD951, 0x8CC0, 0xD952, 0x8CC1, 0xD953, 0x8CC2, 0xD954, - 0x8CC3, 0xD955, 0x8CC4, 0xD956, 0x8CC5, 0xD957, 0x8CC6, 0xD958, 0x8CC7, 0xD959, 0x8CC8, 0xD95A, 0x8CC9, 0xD95B, 0x8CCA, 0xD95C, - 0x8CCB, 0xD95D, 0x8CCC, 0xD95E, 0x8CCD, 0xD95F, 0x8CCE, 0xD960, 0x8CCF, 0xD961, 0x8CD0, 0xD962, 0x8CD1, 0xD963, 0x8CD2, 0xD964, - 0x8CD3, 0xD965, 0x8CD4, 0xD966, 0x8CD5, 0xD967, 0x8CD6, 0xD968, 0x8CD7, 0xD969, 0x8CD8, 0xD96A, 0x8CD9, 0xD96B, 0x8CDA, 0xD96C, - 0x8CDB, 0xD96D, 0x8CDC, 0xD96E, 0x8CDD, 0xD96F, 0x8CDE, 0xD970, 0x8CDF, 0xD971, 0x8CE0, 0xD972, 0x8CE1, 0xD973, 0x8CE2, 0xD974, - 0x8CE3, 0xD975, 0x8CE4, 0xD976, 0x8CE5, 0xD977, 0x8CE6, 0xD978, 0x8CE7, 0xD979, 0x8CE8, 0xD97A, 0x8CE9, 0xD97B, 0x8CEA, 0xD97C, - 0x8CEB, 0xD97D, 0x8CEC, 0xD97E, 0x8CED, 0xD980, 0x8CEE, 0xD981, 0x8CEF, 0xD982, 0x8CF0, 0xD983, 0x8CF1, 0xD984, 0x8CF2, 0xD985, - 0x8CF3, 0xD986, 0x8CF4, 0xD987, 0x8CF5, 0xD988, 0x8CF6, 0xD989, 0x8CF7, 0xD98A, 0x8CF8, 0xD98B, 0x8CF9, 0xD98C, 0x8CFA, 0xD98D, - 0x8CFB, 0xD98E, 0x8CFC, 0xD98F, 0x8CFD, 0xD990, 0x8CFE, 0xD991, 0x8CFF, 0xD992, 0x8D00, 0xD993, 0x8D01, 0xD994, 0x8D02, 0xD995, - 0x8D03, 0xD996, 0x8D04, 0xD997, 0x8D05, 0xD998, 0x8D06, 0xD999, 0x8D07, 0xD99A, 0x8D08, 0xD99B, 0x8D09, 0xD99C, 0x8D0A, 0xD99D, - 0x8D0B, 0xD99E, 0x8D0C, 0xD99F, 0x8D0D, 0xD9A0, 0x8D0E, 0xDA40, 0x8D0F, 0xDA41, 0x8D10, 0xDA42, 0x8D11, 0xDA43, 0x8D12, 0xDA44, - 0x8D13, 0xDA45, 0x8D14, 0xDA46, 0x8D15, 0xDA47, 0x8D16, 0xDA48, 0x8D17, 0xDA49, 0x8D18, 0xDA4A, 0x8D19, 0xDA4B, 0x8D1A, 0xDA4C, - 0x8D1B, 0xDA4D, 0x8D1C, 0xDA4E, 0x8D1D, 0xB1B4, 0x8D1E, 0xD5EA, 0x8D1F, 0xB8BA, 0x8D20, 0xDA4F, 0x8D21, 0xB9B1, 0x8D22, 0xB2C6, - 0x8D23, 0xD4F0, 0x8D24, 0xCFCD, 0x8D25, 0xB0DC, 0x8D26, 0xD5CB, 0x8D27, 0xBBF5, 0x8D28, 0xD6CA, 0x8D29, 0xB7B7, 0x8D2A, 0xCCB0, - 0x8D2B, 0xC6B6, 0x8D2C, 0xB1E1, 0x8D2D, 0xB9BA, 0x8D2E, 0xD6FC, 0x8D2F, 0xB9E1, 0x8D30, 0xB7A1, 0x8D31, 0xBCFA, 0x8D32, 0xEADA, - 0x8D33, 0xEADB, 0x8D34, 0xCCF9, 0x8D35, 0xB9F3, 0x8D36, 0xEADC, 0x8D37, 0xB4FB, 0x8D38, 0xC3B3, 0x8D39, 0xB7D1, 0x8D3A, 0xBAD8, - 0x8D3B, 0xEADD, 0x8D3C, 0xD4F4, 0x8D3D, 0xEADE, 0x8D3E, 0xBCD6, 0x8D3F, 0xBBDF, 0x8D40, 0xEADF, 0x8D41, 0xC1DE, 0x8D42, 0xC2B8, - 0x8D43, 0xD4DF, 0x8D44, 0xD7CA, 0x8D45, 0xEAE0, 0x8D46, 0xEAE1, 0x8D47, 0xEAE4, 0x8D48, 0xEAE2, 0x8D49, 0xEAE3, 0x8D4A, 0xC9DE, - 0x8D4B, 0xB8B3, 0x8D4C, 0xB6C4, 0x8D4D, 0xEAE5, 0x8D4E, 0xCAEA, 0x8D4F, 0xC9CD, 0x8D50, 0xB4CD, 0x8D51, 0xDA50, 0x8D52, 0xDA51, - 0x8D53, 0xE2D9, 0x8D54, 0xC5E2, 0x8D55, 0xEAE6, 0x8D56, 0xC0B5, 0x8D57, 0xDA52, 0x8D58, 0xD7B8, 0x8D59, 0xEAE7, 0x8D5A, 0xD7AC, - 0x8D5B, 0xC8FC, 0x8D5C, 0xD8D3, 0x8D5D, 0xD8CD, 0x8D5E, 0xD4DE, 0x8D5F, 0xDA53, 0x8D60, 0xD4F9, 0x8D61, 0xC9C4, 0x8D62, 0xD3AE, - 0x8D63, 0xB8D3, 0x8D64, 0xB3E0, 0x8D65, 0xDA54, 0x8D66, 0xC9E2, 0x8D67, 0xF4F6, 0x8D68, 0xDA55, 0x8D69, 0xDA56, 0x8D6A, 0xDA57, - 0x8D6B, 0xBAD5, 0x8D6C, 0xDA58, 0x8D6D, 0xF4F7, 0x8D6E, 0xDA59, 0x8D6F, 0xDA5A, 0x8D70, 0xD7DF, 0x8D71, 0xDA5B, 0x8D72, 0xDA5C, - 0x8D73, 0xF4F1, 0x8D74, 0xB8B0, 0x8D75, 0xD5D4, 0x8D76, 0xB8CF, 0x8D77, 0xC6F0, 0x8D78, 0xDA5D, 0x8D79, 0xDA5E, 0x8D7A, 0xDA5F, - 0x8D7B, 0xDA60, 0x8D7C, 0xDA61, 0x8D7D, 0xDA62, 0x8D7E, 0xDA63, 0x8D7F, 0xDA64, 0x8D80, 0xDA65, 0x8D81, 0xB3C3, 0x8D82, 0xDA66, - 0x8D83, 0xDA67, 0x8D84, 0xF4F2, 0x8D85, 0xB3AC, 0x8D86, 0xDA68, 0x8D87, 0xDA69, 0x8D88, 0xDA6A, 0x8D89, 0xDA6B, 0x8D8A, 0xD4BD, - 0x8D8B, 0xC7F7, 0x8D8C, 0xDA6C, 0x8D8D, 0xDA6D, 0x8D8E, 0xDA6E, 0x8D8F, 0xDA6F, 0x8D90, 0xDA70, 0x8D91, 0xF4F4, 0x8D92, 0xDA71, - 0x8D93, 0xDA72, 0x8D94, 0xF4F3, 0x8D95, 0xDA73, 0x8D96, 0xDA74, 0x8D97, 0xDA75, 0x8D98, 0xDA76, 0x8D99, 0xDA77, 0x8D9A, 0xDA78, - 0x8D9B, 0xDA79, 0x8D9C, 0xDA7A, 0x8D9D, 0xDA7B, 0x8D9E, 0xDA7C, 0x8D9F, 0xCCCB, 0x8DA0, 0xDA7D, 0x8DA1, 0xDA7E, 0x8DA2, 0xDA80, - 0x8DA3, 0xC8A4, 0x8DA4, 0xDA81, 0x8DA5, 0xDA82, 0x8DA6, 0xDA83, 0x8DA7, 0xDA84, 0x8DA8, 0xDA85, 0x8DA9, 0xDA86, 0x8DAA, 0xDA87, - 0x8DAB, 0xDA88, 0x8DAC, 0xDA89, 0x8DAD, 0xDA8A, 0x8DAE, 0xDA8B, 0x8DAF, 0xDA8C, 0x8DB0, 0xDA8D, 0x8DB1, 0xF4F5, 0x8DB2, 0xDA8E, - 0x8DB3, 0xD7E3, 0x8DB4, 0xC5BF, 0x8DB5, 0xF5C0, 0x8DB6, 0xDA8F, 0x8DB7, 0xDA90, 0x8DB8, 0xF5BB, 0x8DB9, 0xDA91, 0x8DBA, 0xF5C3, - 0x8DBB, 0xDA92, 0x8DBC, 0xF5C2, 0x8DBD, 0xDA93, 0x8DBE, 0xD6BA, 0x8DBF, 0xF5C1, 0x8DC0, 0xDA94, 0x8DC1, 0xDA95, 0x8DC2, 0xDA96, - 0x8DC3, 0xD4BE, 0x8DC4, 0xF5C4, 0x8DC5, 0xDA97, 0x8DC6, 0xF5CC, 0x8DC7, 0xDA98, 0x8DC8, 0xDA99, 0x8DC9, 0xDA9A, 0x8DCA, 0xDA9B, - 0x8DCB, 0xB0CF, 0x8DCC, 0xB5F8, 0x8DCD, 0xDA9C, 0x8DCE, 0xF5C9, 0x8DCF, 0xF5CA, 0x8DD0, 0xDA9D, 0x8DD1, 0xC5DC, 0x8DD2, 0xDA9E, - 0x8DD3, 0xDA9F, 0x8DD4, 0xDAA0, 0x8DD5, 0xDB40, 0x8DD6, 0xF5C5, 0x8DD7, 0xF5C6, 0x8DD8, 0xDB41, 0x8DD9, 0xDB42, 0x8DDA, 0xF5C7, - 0x8DDB, 0xF5CB, 0x8DDC, 0xDB43, 0x8DDD, 0xBEE0, 0x8DDE, 0xF5C8, 0x8DDF, 0xB8FA, 0x8DE0, 0xDB44, 0x8DE1, 0xDB45, 0x8DE2, 0xDB46, - 0x8DE3, 0xF5D0, 0x8DE4, 0xF5D3, 0x8DE5, 0xDB47, 0x8DE6, 0xDB48, 0x8DE7, 0xDB49, 0x8DE8, 0xBFE7, 0x8DE9, 0xDB4A, 0x8DEA, 0xB9F2, - 0x8DEB, 0xF5BC, 0x8DEC, 0xF5CD, 0x8DED, 0xDB4B, 0x8DEE, 0xDB4C, 0x8DEF, 0xC2B7, 0x8DF0, 0xDB4D, 0x8DF1, 0xDB4E, 0x8DF2, 0xDB4F, - 0x8DF3, 0xCCF8, 0x8DF4, 0xDB50, 0x8DF5, 0xBCF9, 0x8DF6, 0xDB51, 0x8DF7, 0xF5CE, 0x8DF8, 0xF5CF, 0x8DF9, 0xF5D1, 0x8DFA, 0xB6E5, - 0x8DFB, 0xF5D2, 0x8DFC, 0xDB52, 0x8DFD, 0xF5D5, 0x8DFE, 0xDB53, 0x8DFF, 0xDB54, 0x8E00, 0xDB55, 0x8E01, 0xDB56, 0x8E02, 0xDB57, - 0x8E03, 0xDB58, 0x8E04, 0xDB59, 0x8E05, 0xF5BD, 0x8E06, 0xDB5A, 0x8E07, 0xDB5B, 0x8E08, 0xDB5C, 0x8E09, 0xF5D4, 0x8E0A, 0xD3BB, - 0x8E0B, 0xDB5D, 0x8E0C, 0xB3EC, 0x8E0D, 0xDB5E, 0x8E0E, 0xDB5F, 0x8E0F, 0xCCA4, 0x8E10, 0xDB60, 0x8E11, 0xDB61, 0x8E12, 0xDB62, - 0x8E13, 0xDB63, 0x8E14, 0xF5D6, 0x8E15, 0xDB64, 0x8E16, 0xDB65, 0x8E17, 0xDB66, 0x8E18, 0xDB67, 0x8E19, 0xDB68, 0x8E1A, 0xDB69, - 0x8E1B, 0xDB6A, 0x8E1C, 0xDB6B, 0x8E1D, 0xF5D7, 0x8E1E, 0xBEE1, 0x8E1F, 0xF5D8, 0x8E20, 0xDB6C, 0x8E21, 0xDB6D, 0x8E22, 0xCCDF, - 0x8E23, 0xF5DB, 0x8E24, 0xDB6E, 0x8E25, 0xDB6F, 0x8E26, 0xDB70, 0x8E27, 0xDB71, 0x8E28, 0xDB72, 0x8E29, 0xB2C8, 0x8E2A, 0xD7D9, - 0x8E2B, 0xDB73, 0x8E2C, 0xF5D9, 0x8E2D, 0xDB74, 0x8E2E, 0xF5DA, 0x8E2F, 0xF5DC, 0x8E30, 0xDB75, 0x8E31, 0xF5E2, 0x8E32, 0xDB76, - 0x8E33, 0xDB77, 0x8E34, 0xDB78, 0x8E35, 0xF5E0, 0x8E36, 0xDB79, 0x8E37, 0xDB7A, 0x8E38, 0xDB7B, 0x8E39, 0xF5DF, 0x8E3A, 0xF5DD, - 0x8E3B, 0xDB7C, 0x8E3C, 0xDB7D, 0x8E3D, 0xF5E1, 0x8E3E, 0xDB7E, 0x8E3F, 0xDB80, 0x8E40, 0xF5DE, 0x8E41, 0xF5E4, 0x8E42, 0xF5E5, - 0x8E43, 0xDB81, 0x8E44, 0xCCE3, 0x8E45, 0xDB82, 0x8E46, 0xDB83, 0x8E47, 0xE5BF, 0x8E48, 0xB5B8, 0x8E49, 0xF5E3, 0x8E4A, 0xF5E8, - 0x8E4B, 0xCCA3, 0x8E4C, 0xDB84, 0x8E4D, 0xDB85, 0x8E4E, 0xDB86, 0x8E4F, 0xDB87, 0x8E50, 0xDB88, 0x8E51, 0xF5E6, 0x8E52, 0xF5E7, - 0x8E53, 0xDB89, 0x8E54, 0xDB8A, 0x8E55, 0xDB8B, 0x8E56, 0xDB8C, 0x8E57, 0xDB8D, 0x8E58, 0xDB8E, 0x8E59, 0xF5BE, 0x8E5A, 0xDB8F, - 0x8E5B, 0xDB90, 0x8E5C, 0xDB91, 0x8E5D, 0xDB92, 0x8E5E, 0xDB93, 0x8E5F, 0xDB94, 0x8E60, 0xDB95, 0x8E61, 0xDB96, 0x8E62, 0xDB97, - 0x8E63, 0xDB98, 0x8E64, 0xDB99, 0x8E65, 0xDB9A, 0x8E66, 0xB1C4, 0x8E67, 0xDB9B, 0x8E68, 0xDB9C, 0x8E69, 0xF5BF, 0x8E6A, 0xDB9D, - 0x8E6B, 0xDB9E, 0x8E6C, 0xB5C5, 0x8E6D, 0xB2E4, 0x8E6E, 0xDB9F, 0x8E6F, 0xF5EC, 0x8E70, 0xF5E9, 0x8E71, 0xDBA0, 0x8E72, 0xB6D7, - 0x8E73, 0xDC40, 0x8E74, 0xF5ED, 0x8E75, 0xDC41, 0x8E76, 0xF5EA, 0x8E77, 0xDC42, 0x8E78, 0xDC43, 0x8E79, 0xDC44, 0x8E7A, 0xDC45, - 0x8E7B, 0xDC46, 0x8E7C, 0xF5EB, 0x8E7D, 0xDC47, 0x8E7E, 0xDC48, 0x8E7F, 0xB4DA, 0x8E80, 0xDC49, 0x8E81, 0xD4EA, 0x8E82, 0xDC4A, - 0x8E83, 0xDC4B, 0x8E84, 0xDC4C, 0x8E85, 0xF5EE, 0x8E86, 0xDC4D, 0x8E87, 0xB3F9, 0x8E88, 0xDC4E, 0x8E89, 0xDC4F, 0x8E8A, 0xDC50, - 0x8E8B, 0xDC51, 0x8E8C, 0xDC52, 0x8E8D, 0xDC53, 0x8E8E, 0xDC54, 0x8E8F, 0xF5EF, 0x8E90, 0xF5F1, 0x8E91, 0xDC55, 0x8E92, 0xDC56, - 0x8E93, 0xDC57, 0x8E94, 0xF5F0, 0x8E95, 0xDC58, 0x8E96, 0xDC59, 0x8E97, 0xDC5A, 0x8E98, 0xDC5B, 0x8E99, 0xDC5C, 0x8E9A, 0xDC5D, - 0x8E9B, 0xDC5E, 0x8E9C, 0xF5F2, 0x8E9D, 0xDC5F, 0x8E9E, 0xF5F3, 0x8E9F, 0xDC60, 0x8EA0, 0xDC61, 0x8EA1, 0xDC62, 0x8EA2, 0xDC63, - 0x8EA3, 0xDC64, 0x8EA4, 0xDC65, 0x8EA5, 0xDC66, 0x8EA6, 0xDC67, 0x8EA7, 0xDC68, 0x8EA8, 0xDC69, 0x8EA9, 0xDC6A, 0x8EAA, 0xDC6B, - 0x8EAB, 0xC9ED, 0x8EAC, 0xB9AA, 0x8EAD, 0xDC6C, 0x8EAE, 0xDC6D, 0x8EAF, 0xC7FB, 0x8EB0, 0xDC6E, 0x8EB1, 0xDC6F, 0x8EB2, 0xB6E3, - 0x8EB3, 0xDC70, 0x8EB4, 0xDC71, 0x8EB5, 0xDC72, 0x8EB6, 0xDC73, 0x8EB7, 0xDC74, 0x8EB8, 0xDC75, 0x8EB9, 0xDC76, 0x8EBA, 0xCCC9, - 0x8EBB, 0xDC77, 0x8EBC, 0xDC78, 0x8EBD, 0xDC79, 0x8EBE, 0xDC7A, 0x8EBF, 0xDC7B, 0x8EC0, 0xDC7C, 0x8EC1, 0xDC7D, 0x8EC2, 0xDC7E, - 0x8EC3, 0xDC80, 0x8EC4, 0xDC81, 0x8EC5, 0xDC82, 0x8EC6, 0xDC83, 0x8EC7, 0xDC84, 0x8EC8, 0xDC85, 0x8EC9, 0xDC86, 0x8ECA, 0xDC87, - 0x8ECB, 0xDC88, 0x8ECC, 0xDC89, 0x8ECD, 0xDC8A, 0x8ECE, 0xEAA6, 0x8ECF, 0xDC8B, 0x8ED0, 0xDC8C, 0x8ED1, 0xDC8D, 0x8ED2, 0xDC8E, - 0x8ED3, 0xDC8F, 0x8ED4, 0xDC90, 0x8ED5, 0xDC91, 0x8ED6, 0xDC92, 0x8ED7, 0xDC93, 0x8ED8, 0xDC94, 0x8ED9, 0xDC95, 0x8EDA, 0xDC96, - 0x8EDB, 0xDC97, 0x8EDC, 0xDC98, 0x8EDD, 0xDC99, 0x8EDE, 0xDC9A, 0x8EDF, 0xDC9B, 0x8EE0, 0xDC9C, 0x8EE1, 0xDC9D, 0x8EE2, 0xDC9E, - 0x8EE3, 0xDC9F, 0x8EE4, 0xDCA0, 0x8EE5, 0xDD40, 0x8EE6, 0xDD41, 0x8EE7, 0xDD42, 0x8EE8, 0xDD43, 0x8EE9, 0xDD44, 0x8EEA, 0xDD45, - 0x8EEB, 0xDD46, 0x8EEC, 0xDD47, 0x8EED, 0xDD48, 0x8EEE, 0xDD49, 0x8EEF, 0xDD4A, 0x8EF0, 0xDD4B, 0x8EF1, 0xDD4C, 0x8EF2, 0xDD4D, - 0x8EF3, 0xDD4E, 0x8EF4, 0xDD4F, 0x8EF5, 0xDD50, 0x8EF6, 0xDD51, 0x8EF7, 0xDD52, 0x8EF8, 0xDD53, 0x8EF9, 0xDD54, 0x8EFA, 0xDD55, - 0x8EFB, 0xDD56, 0x8EFC, 0xDD57, 0x8EFD, 0xDD58, 0x8EFE, 0xDD59, 0x8EFF, 0xDD5A, 0x8F00, 0xDD5B, 0x8F01, 0xDD5C, 0x8F02, 0xDD5D, - 0x8F03, 0xDD5E, 0x8F04, 0xDD5F, 0x8F05, 0xDD60, 0x8F06, 0xDD61, 0x8F07, 0xDD62, 0x8F08, 0xDD63, 0x8F09, 0xDD64, 0x8F0A, 0xDD65, - 0x8F0B, 0xDD66, 0x8F0C, 0xDD67, 0x8F0D, 0xDD68, 0x8F0E, 0xDD69, 0x8F0F, 0xDD6A, 0x8F10, 0xDD6B, 0x8F11, 0xDD6C, 0x8F12, 0xDD6D, - 0x8F13, 0xDD6E, 0x8F14, 0xDD6F, 0x8F15, 0xDD70, 0x8F16, 0xDD71, 0x8F17, 0xDD72, 0x8F18, 0xDD73, 0x8F19, 0xDD74, 0x8F1A, 0xDD75, - 0x8F1B, 0xDD76, 0x8F1C, 0xDD77, 0x8F1D, 0xDD78, 0x8F1E, 0xDD79, 0x8F1F, 0xDD7A, 0x8F20, 0xDD7B, 0x8F21, 0xDD7C, 0x8F22, 0xDD7D, - 0x8F23, 0xDD7E, 0x8F24, 0xDD80, 0x8F25, 0xDD81, 0x8F26, 0xDD82, 0x8F27, 0xDD83, 0x8F28, 0xDD84, 0x8F29, 0xDD85, 0x8F2A, 0xDD86, - 0x8F2B, 0xDD87, 0x8F2C, 0xDD88, 0x8F2D, 0xDD89, 0x8F2E, 0xDD8A, 0x8F2F, 0xDD8B, 0x8F30, 0xDD8C, 0x8F31, 0xDD8D, 0x8F32, 0xDD8E, - 0x8F33, 0xDD8F, 0x8F34, 0xDD90, 0x8F35, 0xDD91, 0x8F36, 0xDD92, 0x8F37, 0xDD93, 0x8F38, 0xDD94, 0x8F39, 0xDD95, 0x8F3A, 0xDD96, - 0x8F3B, 0xDD97, 0x8F3C, 0xDD98, 0x8F3D, 0xDD99, 0x8F3E, 0xDD9A, 0x8F3F, 0xDD9B, 0x8F40, 0xDD9C, 0x8F41, 0xDD9D, 0x8F42, 0xDD9E, - 0x8F43, 0xDD9F, 0x8F44, 0xDDA0, 0x8F45, 0xDE40, 0x8F46, 0xDE41, 0x8F47, 0xDE42, 0x8F48, 0xDE43, 0x8F49, 0xDE44, 0x8F4A, 0xDE45, - 0x8F4B, 0xDE46, 0x8F4C, 0xDE47, 0x8F4D, 0xDE48, 0x8F4E, 0xDE49, 0x8F4F, 0xDE4A, 0x8F50, 0xDE4B, 0x8F51, 0xDE4C, 0x8F52, 0xDE4D, - 0x8F53, 0xDE4E, 0x8F54, 0xDE4F, 0x8F55, 0xDE50, 0x8F56, 0xDE51, 0x8F57, 0xDE52, 0x8F58, 0xDE53, 0x8F59, 0xDE54, 0x8F5A, 0xDE55, - 0x8F5B, 0xDE56, 0x8F5C, 0xDE57, 0x8F5D, 0xDE58, 0x8F5E, 0xDE59, 0x8F5F, 0xDE5A, 0x8F60, 0xDE5B, 0x8F61, 0xDE5C, 0x8F62, 0xDE5D, - 0x8F63, 0xDE5E, 0x8F64, 0xDE5F, 0x8F65, 0xDE60, 0x8F66, 0xB3B5, 0x8F67, 0xD4FE, 0x8F68, 0xB9EC, 0x8F69, 0xD0F9, 0x8F6A, 0xDE61, - 0x8F6B, 0xE9ED, 0x8F6C, 0xD7AA, 0x8F6D, 0xE9EE, 0x8F6E, 0xC2D6, 0x8F6F, 0xC8ED, 0x8F70, 0xBAE4, 0x8F71, 0xE9EF, 0x8F72, 0xE9F0, - 0x8F73, 0xE9F1, 0x8F74, 0xD6E1, 0x8F75, 0xE9F2, 0x8F76, 0xE9F3, 0x8F77, 0xE9F5, 0x8F78, 0xE9F4, 0x8F79, 0xE9F6, 0x8F7A, 0xE9F7, - 0x8F7B, 0xC7E1, 0x8F7C, 0xE9F8, 0x8F7D, 0xD4D8, 0x8F7E, 0xE9F9, 0x8F7F, 0xBDCE, 0x8F80, 0xDE62, 0x8F81, 0xE9FA, 0x8F82, 0xE9FB, - 0x8F83, 0xBDCF, 0x8F84, 0xE9FC, 0x8F85, 0xB8A8, 0x8F86, 0xC1BE, 0x8F87, 0xE9FD, 0x8F88, 0xB1B2, 0x8F89, 0xBBD4, 0x8F8A, 0xB9F5, - 0x8F8B, 0xE9FE, 0x8F8C, 0xDE63, 0x8F8D, 0xEAA1, 0x8F8E, 0xEAA2, 0x8F8F, 0xEAA3, 0x8F90, 0xB7F8, 0x8F91, 0xBCAD, 0x8F92, 0xDE64, - 0x8F93, 0xCAE4, 0x8F94, 0xE0CE, 0x8F95, 0xD4AF, 0x8F96, 0xCFBD, 0x8F97, 0xD5B7, 0x8F98, 0xEAA4, 0x8F99, 0xD5DE, 0x8F9A, 0xEAA5, - 0x8F9B, 0xD0C1, 0x8F9C, 0xB9BC, 0x8F9D, 0xDE65, 0x8F9E, 0xB4C7, 0x8F9F, 0xB1D9, 0x8FA0, 0xDE66, 0x8FA1, 0xDE67, 0x8FA2, 0xDE68, - 0x8FA3, 0xC0B1, 0x8FA4, 0xDE69, 0x8FA5, 0xDE6A, 0x8FA6, 0xDE6B, 0x8FA7, 0xDE6C, 0x8FA8, 0xB1E6, 0x8FA9, 0xB1E7, 0x8FAA, 0xDE6D, - 0x8FAB, 0xB1E8, 0x8FAC, 0xDE6E, 0x8FAD, 0xDE6F, 0x8FAE, 0xDE70, 0x8FAF, 0xDE71, 0x8FB0, 0xB3BD, 0x8FB1, 0xC8E8, 0x8FB2, 0xDE72, - 0x8FB3, 0xDE73, 0x8FB4, 0xDE74, 0x8FB5, 0xDE75, 0x8FB6, 0xE5C1, 0x8FB7, 0xDE76, 0x8FB8, 0xDE77, 0x8FB9, 0xB1DF, 0x8FBA, 0xDE78, - 0x8FBB, 0xDE79, 0x8FBC, 0xDE7A, 0x8FBD, 0xC1C9, 0x8FBE, 0xB4EF, 0x8FBF, 0xDE7B, 0x8FC0, 0xDE7C, 0x8FC1, 0xC7A8, 0x8FC2, 0xD3D8, - 0x8FC3, 0xDE7D, 0x8FC4, 0xC6F9, 0x8FC5, 0xD1B8, 0x8FC6, 0xDE7E, 0x8FC7, 0xB9FD, 0x8FC8, 0xC2F5, 0x8FC9, 0xDE80, 0x8FCA, 0xDE81, - 0x8FCB, 0xDE82, 0x8FCC, 0xDE83, 0x8FCD, 0xDE84, 0x8FCE, 0xD3AD, 0x8FCF, 0xDE85, 0x8FD0, 0xD4CB, 0x8FD1, 0xBDFC, 0x8FD2, 0xDE86, - 0x8FD3, 0xE5C2, 0x8FD4, 0xB7B5, 0x8FD5, 0xE5C3, 0x8FD6, 0xDE87, 0x8FD7, 0xDE88, 0x8FD8, 0xBBB9, 0x8FD9, 0xD5E2, 0x8FDA, 0xDE89, - 0x8FDB, 0xBDF8, 0x8FDC, 0xD4B6, 0x8FDD, 0xCEA5, 0x8FDE, 0xC1AC, 0x8FDF, 0xB3D9, 0x8FE0, 0xDE8A, 0x8FE1, 0xDE8B, 0x8FE2, 0xCCF6, - 0x8FE3, 0xDE8C, 0x8FE4, 0xE5C6, 0x8FE5, 0xE5C4, 0x8FE6, 0xE5C8, 0x8FE7, 0xDE8D, 0x8FE8, 0xE5CA, 0x8FE9, 0xE5C7, 0x8FEA, 0xB5CF, - 0x8FEB, 0xC6C8, 0x8FEC, 0xDE8E, 0x8FED, 0xB5FC, 0x8FEE, 0xE5C5, 0x8FEF, 0xDE8F, 0x8FF0, 0xCAF6, 0x8FF1, 0xDE90, 0x8FF2, 0xDE91, - 0x8FF3, 0xE5C9, 0x8FF4, 0xDE92, 0x8FF5, 0xDE93, 0x8FF6, 0xDE94, 0x8FF7, 0xC3D4, 0x8FF8, 0xB1C5, 0x8FF9, 0xBCA3, 0x8FFA, 0xDE95, - 0x8FFB, 0xDE96, 0x8FFC, 0xDE97, 0x8FFD, 0xD7B7, 0x8FFE, 0xDE98, 0x8FFF, 0xDE99, 0x9000, 0xCDCB, 0x9001, 0xCBCD, 0x9002, 0xCACA, - 0x9003, 0xCCD3, 0x9004, 0xE5CC, 0x9005, 0xE5CB, 0x9006, 0xC4E6, 0x9007, 0xDE9A, 0x9008, 0xDE9B, 0x9009, 0xD1A1, 0x900A, 0xD1B7, - 0x900B, 0xE5CD, 0x900C, 0xDE9C, 0x900D, 0xE5D0, 0x900E, 0xDE9D, 0x900F, 0xCDB8, 0x9010, 0xD6F0, 0x9011, 0xE5CF, 0x9012, 0xB5DD, - 0x9013, 0xDE9E, 0x9014, 0xCDBE, 0x9015, 0xDE9F, 0x9016, 0xE5D1, 0x9017, 0xB6BA, 0x9018, 0xDEA0, 0x9019, 0xDF40, 0x901A, 0xCDA8, - 0x901B, 0xB9E4, 0x901C, 0xDF41, 0x901D, 0xCAC5, 0x901E, 0xB3D1, 0x901F, 0xCBD9, 0x9020, 0xD4EC, 0x9021, 0xE5D2, 0x9022, 0xB7EA, - 0x9023, 0xDF42, 0x9024, 0xDF43, 0x9025, 0xDF44, 0x9026, 0xE5CE, 0x9027, 0xDF45, 0x9028, 0xDF46, 0x9029, 0xDF47, 0x902A, 0xDF48, - 0x902B, 0xDF49, 0x902C, 0xDF4A, 0x902D, 0xE5D5, 0x902E, 0xB4FE, 0x902F, 0xE5D6, 0x9030, 0xDF4B, 0x9031, 0xDF4C, 0x9032, 0xDF4D, - 0x9033, 0xDF4E, 0x9034, 0xDF4F, 0x9035, 0xE5D3, 0x9036, 0xE5D4, 0x9037, 0xDF50, 0x9038, 0xD2DD, 0x9039, 0xDF51, 0x903A, 0xDF52, - 0x903B, 0xC2DF, 0x903C, 0xB1C6, 0x903D, 0xDF53, 0x903E, 0xD3E2, 0x903F, 0xDF54, 0x9040, 0xDF55, 0x9041, 0xB6DD, 0x9042, 0xCBEC, - 0x9043, 0xDF56, 0x9044, 0xE5D7, 0x9045, 0xDF57, 0x9046, 0xDF58, 0x9047, 0xD3F6, 0x9048, 0xDF59, 0x9049, 0xDF5A, 0x904A, 0xDF5B, - 0x904B, 0xDF5C, 0x904C, 0xDF5D, 0x904D, 0xB1E9, 0x904E, 0xDF5E, 0x904F, 0xB6F4, 0x9050, 0xE5DA, 0x9051, 0xE5D8, 0x9052, 0xE5D9, - 0x9053, 0xB5C0, 0x9054, 0xDF5F, 0x9055, 0xDF60, 0x9056, 0xDF61, 0x9057, 0xD2C5, 0x9058, 0xE5DC, 0x9059, 0xDF62, 0x905A, 0xDF63, - 0x905B, 0xE5DE, 0x905C, 0xDF64, 0x905D, 0xDF65, 0x905E, 0xDF66, 0x905F, 0xDF67, 0x9060, 0xDF68, 0x9061, 0xDF69, 0x9062, 0xE5DD, - 0x9063, 0xC7B2, 0x9064, 0xDF6A, 0x9065, 0xD2A3, 0x9066, 0xDF6B, 0x9067, 0xDF6C, 0x9068, 0xE5DB, 0x9069, 0xDF6D, 0x906A, 0xDF6E, - 0x906B, 0xDF6F, 0x906C, 0xDF70, 0x906D, 0xD4E2, 0x906E, 0xD5DA, 0x906F, 0xDF71, 0x9070, 0xDF72, 0x9071, 0xDF73, 0x9072, 0xDF74, - 0x9073, 0xDF75, 0x9074, 0xE5E0, 0x9075, 0xD7F1, 0x9076, 0xDF76, 0x9077, 0xDF77, 0x9078, 0xDF78, 0x9079, 0xDF79, 0x907A, 0xDF7A, - 0x907B, 0xDF7B, 0x907C, 0xDF7C, 0x907D, 0xE5E1, 0x907E, 0xDF7D, 0x907F, 0xB1DC, 0x9080, 0xD1FB, 0x9081, 0xDF7E, 0x9082, 0xE5E2, - 0x9083, 0xE5E4, 0x9084, 0xDF80, 0x9085, 0xDF81, 0x9086, 0xDF82, 0x9087, 0xDF83, 0x9088, 0xE5E3, 0x9089, 0xDF84, 0x908A, 0xDF85, - 0x908B, 0xE5E5, 0x908C, 0xDF86, 0x908D, 0xDF87, 0x908E, 0xDF88, 0x908F, 0xDF89, 0x9090, 0xDF8A, 0x9091, 0xD2D8, 0x9092, 0xDF8B, - 0x9093, 0xB5CB, 0x9094, 0xDF8C, 0x9095, 0xE7DF, 0x9096, 0xDF8D, 0x9097, 0xDAF5, 0x9098, 0xDF8E, 0x9099, 0xDAF8, 0x909A, 0xDF8F, - 0x909B, 0xDAF6, 0x909C, 0xDF90, 0x909D, 0xDAF7, 0x909E, 0xDF91, 0x909F, 0xDF92, 0x90A0, 0xDF93, 0x90A1, 0xDAFA, 0x90A2, 0xD0CF, - 0x90A3, 0xC4C7, 0x90A4, 0xDF94, 0x90A5, 0xDF95, 0x90A6, 0xB0EE, 0x90A7, 0xDF96, 0x90A8, 0xDF97, 0x90A9, 0xDF98, 0x90AA, 0xD0B0, - 0x90AB, 0xDF99, 0x90AC, 0xDAF9, 0x90AD, 0xDF9A, 0x90AE, 0xD3CA, 0x90AF, 0xBAAA, 0x90B0, 0xDBA2, 0x90B1, 0xC7F1, 0x90B2, 0xDF9B, - 0x90B3, 0xDAFC, 0x90B4, 0xDAFB, 0x90B5, 0xC9DB, 0x90B6, 0xDAFD, 0x90B7, 0xDF9C, 0x90B8, 0xDBA1, 0x90B9, 0xD7DE, 0x90BA, 0xDAFE, - 0x90BB, 0xC1DA, 0x90BC, 0xDF9D, 0x90BD, 0xDF9E, 0x90BE, 0xDBA5, 0x90BF, 0xDF9F, 0x90C0, 0xDFA0, 0x90C1, 0xD3F4, 0x90C2, 0xE040, - 0x90C3, 0xE041, 0x90C4, 0xDBA7, 0x90C5, 0xDBA4, 0x90C6, 0xE042, 0x90C7, 0xDBA8, 0x90C8, 0xE043, 0x90C9, 0xE044, 0x90CA, 0xBDBC, - 0x90CB, 0xE045, 0x90CC, 0xE046, 0x90CD, 0xE047, 0x90CE, 0xC0C9, 0x90CF, 0xDBA3, 0x90D0, 0xDBA6, 0x90D1, 0xD6A3, 0x90D2, 0xE048, - 0x90D3, 0xDBA9, 0x90D4, 0xE049, 0x90D5, 0xE04A, 0x90D6, 0xE04B, 0x90D7, 0xDBAD, 0x90D8, 0xE04C, 0x90D9, 0xE04D, 0x90DA, 0xE04E, - 0x90DB, 0xDBAE, 0x90DC, 0xDBAC, 0x90DD, 0xBAC2, 0x90DE, 0xE04F, 0x90DF, 0xE050, 0x90E0, 0xE051, 0x90E1, 0xBFA4, 0x90E2, 0xDBAB, - 0x90E3, 0xE052, 0x90E4, 0xE053, 0x90E5, 0xE054, 0x90E6, 0xDBAA, 0x90E7, 0xD4C7, 0x90E8, 0xB2BF, 0x90E9, 0xE055, 0x90EA, 0xE056, - 0x90EB, 0xDBAF, 0x90EC, 0xE057, 0x90ED, 0xB9F9, 0x90EE, 0xE058, 0x90EF, 0xDBB0, 0x90F0, 0xE059, 0x90F1, 0xE05A, 0x90F2, 0xE05B, - 0x90F3, 0xE05C, 0x90F4, 0xB3BB, 0x90F5, 0xE05D, 0x90F6, 0xE05E, 0x90F7, 0xE05F, 0x90F8, 0xB5A6, 0x90F9, 0xE060, 0x90FA, 0xE061, - 0x90FB, 0xE062, 0x90FC, 0xE063, 0x90FD, 0xB6BC, 0x90FE, 0xDBB1, 0x90FF, 0xE064, 0x9100, 0xE065, 0x9101, 0xE066, 0x9102, 0xB6F5, - 0x9103, 0xE067, 0x9104, 0xDBB2, 0x9105, 0xE068, 0x9106, 0xE069, 0x9107, 0xE06A, 0x9108, 0xE06B, 0x9109, 0xE06C, 0x910A, 0xE06D, - 0x910B, 0xE06E, 0x910C, 0xE06F, 0x910D, 0xE070, 0x910E, 0xE071, 0x910F, 0xE072, 0x9110, 0xE073, 0x9111, 0xE074, 0x9112, 0xE075, - 0x9113, 0xE076, 0x9114, 0xE077, 0x9115, 0xE078, 0x9116, 0xE079, 0x9117, 0xE07A, 0x9118, 0xE07B, 0x9119, 0xB1C9, 0x911A, 0xE07C, - 0x911B, 0xE07D, 0x911C, 0xE07E, 0x911D, 0xE080, 0x911E, 0xDBB4, 0x911F, 0xE081, 0x9120, 0xE082, 0x9121, 0xE083, 0x9122, 0xDBB3, - 0x9123, 0xDBB5, 0x9124, 0xE084, 0x9125, 0xE085, 0x9126, 0xE086, 0x9127, 0xE087, 0x9128, 0xE088, 0x9129, 0xE089, 0x912A, 0xE08A, - 0x912B, 0xE08B, 0x912C, 0xE08C, 0x912D, 0xE08D, 0x912E, 0xE08E, 0x912F, 0xDBB7, 0x9130, 0xE08F, 0x9131, 0xDBB6, 0x9132, 0xE090, - 0x9133, 0xE091, 0x9134, 0xE092, 0x9135, 0xE093, 0x9136, 0xE094, 0x9137, 0xE095, 0x9138, 0xE096, 0x9139, 0xDBB8, 0x913A, 0xE097, - 0x913B, 0xE098, 0x913C, 0xE099, 0x913D, 0xE09A, 0x913E, 0xE09B, 0x913F, 0xE09C, 0x9140, 0xE09D, 0x9141, 0xE09E, 0x9142, 0xE09F, - 0x9143, 0xDBB9, 0x9144, 0xE0A0, 0x9145, 0xE140, 0x9146, 0xDBBA, 0x9147, 0xE141, 0x9148, 0xE142, 0x9149, 0xD3CF, 0x914A, 0xF4FA, - 0x914B, 0xC7F5, 0x914C, 0xD7C3, 0x914D, 0xC5E4, 0x914E, 0xF4FC, 0x914F, 0xF4FD, 0x9150, 0xF4FB, 0x9151, 0xE143, 0x9152, 0xBEC6, - 0x9153, 0xE144, 0x9154, 0xE145, 0x9155, 0xE146, 0x9156, 0xE147, 0x9157, 0xD0EF, 0x9158, 0xE148, 0x9159, 0xE149, 0x915A, 0xB7D3, - 0x915B, 0xE14A, 0x915C, 0xE14B, 0x915D, 0xD4CD, 0x915E, 0xCCAA, 0x915F, 0xE14C, 0x9160, 0xE14D, 0x9161, 0xF5A2, 0x9162, 0xF5A1, - 0x9163, 0xBAA8, 0x9164, 0xF4FE, 0x9165, 0xCBD6, 0x9166, 0xE14E, 0x9167, 0xE14F, 0x9168, 0xE150, 0x9169, 0xF5A4, 0x916A, 0xC0D2, - 0x916B, 0xE151, 0x916C, 0xB3EA, 0x916D, 0xE152, 0x916E, 0xCDAA, 0x916F, 0xF5A5, 0x9170, 0xF5A3, 0x9171, 0xBDB4, 0x9172, 0xF5A8, - 0x9173, 0xE153, 0x9174, 0xF5A9, 0x9175, 0xBDCD, 0x9176, 0xC3B8, 0x9177, 0xBFE1, 0x9178, 0xCBE1, 0x9179, 0xF5AA, 0x917A, 0xE154, - 0x917B, 0xE155, 0x917C, 0xE156, 0x917D, 0xF5A6, 0x917E, 0xF5A7, 0x917F, 0xC4F0, 0x9180, 0xE157, 0x9181, 0xE158, 0x9182, 0xE159, - 0x9183, 0xE15A, 0x9184, 0xE15B, 0x9185, 0xF5AC, 0x9186, 0xE15C, 0x9187, 0xB4BC, 0x9188, 0xE15D, 0x9189, 0xD7ED, 0x918A, 0xE15E, - 0x918B, 0xB4D7, 0x918C, 0xF5AB, 0x918D, 0xF5AE, 0x918E, 0xE15F, 0x918F, 0xE160, 0x9190, 0xF5AD, 0x9191, 0xF5AF, 0x9192, 0xD0D1, - 0x9193, 0xE161, 0x9194, 0xE162, 0x9195, 0xE163, 0x9196, 0xE164, 0x9197, 0xE165, 0x9198, 0xE166, 0x9199, 0xE167, 0x919A, 0xC3D1, - 0x919B, 0xC8A9, 0x919C, 0xE168, 0x919D, 0xE169, 0x919E, 0xE16A, 0x919F, 0xE16B, 0x91A0, 0xE16C, 0x91A1, 0xE16D, 0x91A2, 0xF5B0, - 0x91A3, 0xF5B1, 0x91A4, 0xE16E, 0x91A5, 0xE16F, 0x91A6, 0xE170, 0x91A7, 0xE171, 0x91A8, 0xE172, 0x91A9, 0xE173, 0x91AA, 0xF5B2, - 0x91AB, 0xE174, 0x91AC, 0xE175, 0x91AD, 0xF5B3, 0x91AE, 0xF5B4, 0x91AF, 0xF5B5, 0x91B0, 0xE176, 0x91B1, 0xE177, 0x91B2, 0xE178, - 0x91B3, 0xE179, 0x91B4, 0xF5B7, 0x91B5, 0xF5B6, 0x91B6, 0xE17A, 0x91B7, 0xE17B, 0x91B8, 0xE17C, 0x91B9, 0xE17D, 0x91BA, 0xF5B8, - 0x91BB, 0xE17E, 0x91BC, 0xE180, 0x91BD, 0xE181, 0x91BE, 0xE182, 0x91BF, 0xE183, 0x91C0, 0xE184, 0x91C1, 0xE185, 0x91C2, 0xE186, - 0x91C3, 0xE187, 0x91C4, 0xE188, 0x91C5, 0xE189, 0x91C6, 0xE18A, 0x91C7, 0xB2C9, 0x91C8, 0xE18B, 0x91C9, 0xD3D4, 0x91CA, 0xCACD, - 0x91CB, 0xE18C, 0x91CC, 0xC0EF, 0x91CD, 0xD6D8, 0x91CE, 0xD2B0, 0x91CF, 0xC1BF, 0x91D0, 0xE18D, 0x91D1, 0xBDF0, 0x91D2, 0xE18E, - 0x91D3, 0xE18F, 0x91D4, 0xE190, 0x91D5, 0xE191, 0x91D6, 0xE192, 0x91D7, 0xE193, 0x91D8, 0xE194, 0x91D9, 0xE195, 0x91DA, 0xE196, - 0x91DB, 0xE197, 0x91DC, 0xB8AA, 0x91DD, 0xE198, 0x91DE, 0xE199, 0x91DF, 0xE19A, 0x91E0, 0xE19B, 0x91E1, 0xE19C, 0x91E2, 0xE19D, - 0x91E3, 0xE19E, 0x91E4, 0xE19F, 0x91E5, 0xE1A0, 0x91E6, 0xE240, 0x91E7, 0xE241, 0x91E8, 0xE242, 0x91E9, 0xE243, 0x91EA, 0xE244, - 0x91EB, 0xE245, 0x91EC, 0xE246, 0x91ED, 0xE247, 0x91EE, 0xE248, 0x91EF, 0xE249, 0x91F0, 0xE24A, 0x91F1, 0xE24B, 0x91F2, 0xE24C, - 0x91F3, 0xE24D, 0x91F4, 0xE24E, 0x91F5, 0xE24F, 0x91F6, 0xE250, 0x91F7, 0xE251, 0x91F8, 0xE252, 0x91F9, 0xE253, 0x91FA, 0xE254, - 0x91FB, 0xE255, 0x91FC, 0xE256, 0x91FD, 0xE257, 0x91FE, 0xE258, 0x91FF, 0xE259, 0x9200, 0xE25A, 0x9201, 0xE25B, 0x9202, 0xE25C, - 0x9203, 0xE25D, 0x9204, 0xE25E, 0x9205, 0xE25F, 0x9206, 0xE260, 0x9207, 0xE261, 0x9208, 0xE262, 0x9209, 0xE263, 0x920A, 0xE264, - 0x920B, 0xE265, 0x920C, 0xE266, 0x920D, 0xE267, 0x920E, 0xE268, 0x920F, 0xE269, 0x9210, 0xE26A, 0x9211, 0xE26B, 0x9212, 0xE26C, - 0x9213, 0xE26D, 0x9214, 0xE26E, 0x9215, 0xE26F, 0x9216, 0xE270, 0x9217, 0xE271, 0x9218, 0xE272, 0x9219, 0xE273, 0x921A, 0xE274, - 0x921B, 0xE275, 0x921C, 0xE276, 0x921D, 0xE277, 0x921E, 0xE278, 0x921F, 0xE279, 0x9220, 0xE27A, 0x9221, 0xE27B, 0x9222, 0xE27C, - 0x9223, 0xE27D, 0x9224, 0xE27E, 0x9225, 0xE280, 0x9226, 0xE281, 0x9227, 0xE282, 0x9228, 0xE283, 0x9229, 0xE284, 0x922A, 0xE285, - 0x922B, 0xE286, 0x922C, 0xE287, 0x922D, 0xE288, 0x922E, 0xE289, 0x922F, 0xE28A, 0x9230, 0xE28B, 0x9231, 0xE28C, 0x9232, 0xE28D, - 0x9233, 0xE28E, 0x9234, 0xE28F, 0x9235, 0xE290, 0x9236, 0xE291, 0x9237, 0xE292, 0x9238, 0xE293, 0x9239, 0xE294, 0x923A, 0xE295, - 0x923B, 0xE296, 0x923C, 0xE297, 0x923D, 0xE298, 0x923E, 0xE299, 0x923F, 0xE29A, 0x9240, 0xE29B, 0x9241, 0xE29C, 0x9242, 0xE29D, - 0x9243, 0xE29E, 0x9244, 0xE29F, 0x9245, 0xE2A0, 0x9246, 0xE340, 0x9247, 0xE341, 0x9248, 0xE342, 0x9249, 0xE343, 0x924A, 0xE344, - 0x924B, 0xE345, 0x924C, 0xE346, 0x924D, 0xE347, 0x924E, 0xE348, 0x924F, 0xE349, 0x9250, 0xE34A, 0x9251, 0xE34B, 0x9252, 0xE34C, - 0x9253, 0xE34D, 0x9254, 0xE34E, 0x9255, 0xE34F, 0x9256, 0xE350, 0x9257, 0xE351, 0x9258, 0xE352, 0x9259, 0xE353, 0x925A, 0xE354, - 0x925B, 0xE355, 0x925C, 0xE356, 0x925D, 0xE357, 0x925E, 0xE358, 0x925F, 0xE359, 0x9260, 0xE35A, 0x9261, 0xE35B, 0x9262, 0xE35C, - 0x9263, 0xE35D, 0x9264, 0xE35E, 0x9265, 0xE35F, 0x9266, 0xE360, 0x9267, 0xE361, 0x9268, 0xE362, 0x9269, 0xE363, 0x926A, 0xE364, - 0x926B, 0xE365, 0x926C, 0xE366, 0x926D, 0xE367, 0x926E, 0xE368, 0x926F, 0xE369, 0x9270, 0xE36A, 0x9271, 0xE36B, 0x9272, 0xE36C, - 0x9273, 0xE36D, 0x9274, 0xBCF8, 0x9275, 0xE36E, 0x9276, 0xE36F, 0x9277, 0xE370, 0x9278, 0xE371, 0x9279, 0xE372, 0x927A, 0xE373, - 0x927B, 0xE374, 0x927C, 0xE375, 0x927D, 0xE376, 0x927E, 0xE377, 0x927F, 0xE378, 0x9280, 0xE379, 0x9281, 0xE37A, 0x9282, 0xE37B, - 0x9283, 0xE37C, 0x9284, 0xE37D, 0x9285, 0xE37E, 0x9286, 0xE380, 0x9287, 0xE381, 0x9288, 0xE382, 0x9289, 0xE383, 0x928A, 0xE384, - 0x928B, 0xE385, 0x928C, 0xE386, 0x928D, 0xE387, 0x928E, 0xF6C6, 0x928F, 0xE388, 0x9290, 0xE389, 0x9291, 0xE38A, 0x9292, 0xE38B, - 0x9293, 0xE38C, 0x9294, 0xE38D, 0x9295, 0xE38E, 0x9296, 0xE38F, 0x9297, 0xE390, 0x9298, 0xE391, 0x9299, 0xE392, 0x929A, 0xE393, - 0x929B, 0xE394, 0x929C, 0xE395, 0x929D, 0xE396, 0x929E, 0xE397, 0x929F, 0xE398, 0x92A0, 0xE399, 0x92A1, 0xE39A, 0x92A2, 0xE39B, - 0x92A3, 0xE39C, 0x92A4, 0xE39D, 0x92A5, 0xE39E, 0x92A6, 0xE39F, 0x92A7, 0xE3A0, 0x92A8, 0xE440, 0x92A9, 0xE441, 0x92AA, 0xE442, - 0x92AB, 0xE443, 0x92AC, 0xE444, 0x92AD, 0xE445, 0x92AE, 0xF6C7, 0x92AF, 0xE446, 0x92B0, 0xE447, 0x92B1, 0xE448, 0x92B2, 0xE449, - 0x92B3, 0xE44A, 0x92B4, 0xE44B, 0x92B5, 0xE44C, 0x92B6, 0xE44D, 0x92B7, 0xE44E, 0x92B8, 0xE44F, 0x92B9, 0xE450, 0x92BA, 0xE451, - 0x92BB, 0xE452, 0x92BC, 0xE453, 0x92BD, 0xE454, 0x92BE, 0xE455, 0x92BF, 0xE456, 0x92C0, 0xE457, 0x92C1, 0xE458, 0x92C2, 0xE459, - 0x92C3, 0xE45A, 0x92C4, 0xE45B, 0x92C5, 0xE45C, 0x92C6, 0xE45D, 0x92C7, 0xE45E, 0x92C8, 0xF6C8, 0x92C9, 0xE45F, 0x92CA, 0xE460, - 0x92CB, 0xE461, 0x92CC, 0xE462, 0x92CD, 0xE463, 0x92CE, 0xE464, 0x92CF, 0xE465, 0x92D0, 0xE466, 0x92D1, 0xE467, 0x92D2, 0xE468, - 0x92D3, 0xE469, 0x92D4, 0xE46A, 0x92D5, 0xE46B, 0x92D6, 0xE46C, 0x92D7, 0xE46D, 0x92D8, 0xE46E, 0x92D9, 0xE46F, 0x92DA, 0xE470, - 0x92DB, 0xE471, 0x92DC, 0xE472, 0x92DD, 0xE473, 0x92DE, 0xE474, 0x92DF, 0xE475, 0x92E0, 0xE476, 0x92E1, 0xE477, 0x92E2, 0xE478, - 0x92E3, 0xE479, 0x92E4, 0xE47A, 0x92E5, 0xE47B, 0x92E6, 0xE47C, 0x92E7, 0xE47D, 0x92E8, 0xE47E, 0x92E9, 0xE480, 0x92EA, 0xE481, - 0x92EB, 0xE482, 0x92EC, 0xE483, 0x92ED, 0xE484, 0x92EE, 0xE485, 0x92EF, 0xE486, 0x92F0, 0xE487, 0x92F1, 0xE488, 0x92F2, 0xE489, - 0x92F3, 0xE48A, 0x92F4, 0xE48B, 0x92F5, 0xE48C, 0x92F6, 0xE48D, 0x92F7, 0xE48E, 0x92F8, 0xE48F, 0x92F9, 0xE490, 0x92FA, 0xE491, - 0x92FB, 0xE492, 0x92FC, 0xE493, 0x92FD, 0xE494, 0x92FE, 0xE495, 0x92FF, 0xE496, 0x9300, 0xE497, 0x9301, 0xE498, 0x9302, 0xE499, - 0x9303, 0xE49A, 0x9304, 0xE49B, 0x9305, 0xE49C, 0x9306, 0xE49D, 0x9307, 0xE49E, 0x9308, 0xE49F, 0x9309, 0xE4A0, 0x930A, 0xE540, - 0x930B, 0xE541, 0x930C, 0xE542, 0x930D, 0xE543, 0x930E, 0xE544, 0x930F, 0xE545, 0x9310, 0xE546, 0x9311, 0xE547, 0x9312, 0xE548, - 0x9313, 0xE549, 0x9314, 0xE54A, 0x9315, 0xE54B, 0x9316, 0xE54C, 0x9317, 0xE54D, 0x9318, 0xE54E, 0x9319, 0xE54F, 0x931A, 0xE550, - 0x931B, 0xE551, 0x931C, 0xE552, 0x931D, 0xE553, 0x931E, 0xE554, 0x931F, 0xE555, 0x9320, 0xE556, 0x9321, 0xE557, 0x9322, 0xE558, - 0x9323, 0xE559, 0x9324, 0xE55A, 0x9325, 0xE55B, 0x9326, 0xE55C, 0x9327, 0xE55D, 0x9328, 0xE55E, 0x9329, 0xE55F, 0x932A, 0xE560, - 0x932B, 0xE561, 0x932C, 0xE562, 0x932D, 0xE563, 0x932E, 0xE564, 0x932F, 0xE565, 0x9330, 0xE566, 0x9331, 0xE567, 0x9332, 0xE568, - 0x9333, 0xE569, 0x9334, 0xE56A, 0x9335, 0xE56B, 0x9336, 0xE56C, 0x9337, 0xE56D, 0x9338, 0xE56E, 0x9339, 0xE56F, 0x933A, 0xE570, - 0x933B, 0xE571, 0x933C, 0xE572, 0x933D, 0xE573, 0x933E, 0xF6C9, 0x933F, 0xE574, 0x9340, 0xE575, 0x9341, 0xE576, 0x9342, 0xE577, - 0x9343, 0xE578, 0x9344, 0xE579, 0x9345, 0xE57A, 0x9346, 0xE57B, 0x9347, 0xE57C, 0x9348, 0xE57D, 0x9349, 0xE57E, 0x934A, 0xE580, - 0x934B, 0xE581, 0x934C, 0xE582, 0x934D, 0xE583, 0x934E, 0xE584, 0x934F, 0xE585, 0x9350, 0xE586, 0x9351, 0xE587, 0x9352, 0xE588, - 0x9353, 0xE589, 0x9354, 0xE58A, 0x9355, 0xE58B, 0x9356, 0xE58C, 0x9357, 0xE58D, 0x9358, 0xE58E, 0x9359, 0xE58F, 0x935A, 0xE590, - 0x935B, 0xE591, 0x935C, 0xE592, 0x935D, 0xE593, 0x935E, 0xE594, 0x935F, 0xE595, 0x9360, 0xE596, 0x9361, 0xE597, 0x9362, 0xE598, - 0x9363, 0xE599, 0x9364, 0xE59A, 0x9365, 0xE59B, 0x9366, 0xE59C, 0x9367, 0xE59D, 0x9368, 0xE59E, 0x9369, 0xE59F, 0x936A, 0xF6CA, - 0x936B, 0xE5A0, 0x936C, 0xE640, 0x936D, 0xE641, 0x936E, 0xE642, 0x936F, 0xE643, 0x9370, 0xE644, 0x9371, 0xE645, 0x9372, 0xE646, - 0x9373, 0xE647, 0x9374, 0xE648, 0x9375, 0xE649, 0x9376, 0xE64A, 0x9377, 0xE64B, 0x9378, 0xE64C, 0x9379, 0xE64D, 0x937A, 0xE64E, - 0x937B, 0xE64F, 0x937C, 0xE650, 0x937D, 0xE651, 0x937E, 0xE652, 0x937F, 0xE653, 0x9380, 0xE654, 0x9381, 0xE655, 0x9382, 0xE656, - 0x9383, 0xE657, 0x9384, 0xE658, 0x9385, 0xE659, 0x9386, 0xE65A, 0x9387, 0xE65B, 0x9388, 0xE65C, 0x9389, 0xE65D, 0x938A, 0xE65E, - 0x938B, 0xE65F, 0x938C, 0xE660, 0x938D, 0xE661, 0x938E, 0xE662, 0x938F, 0xF6CC, 0x9390, 0xE663, 0x9391, 0xE664, 0x9392, 0xE665, - 0x9393, 0xE666, 0x9394, 0xE667, 0x9395, 0xE668, 0x9396, 0xE669, 0x9397, 0xE66A, 0x9398, 0xE66B, 0x9399, 0xE66C, 0x939A, 0xE66D, - 0x939B, 0xE66E, 0x939C, 0xE66F, 0x939D, 0xE670, 0x939E, 0xE671, 0x939F, 0xE672, 0x93A0, 0xE673, 0x93A1, 0xE674, 0x93A2, 0xE675, - 0x93A3, 0xE676, 0x93A4, 0xE677, 0x93A5, 0xE678, 0x93A6, 0xE679, 0x93A7, 0xE67A, 0x93A8, 0xE67B, 0x93A9, 0xE67C, 0x93AA, 0xE67D, - 0x93AB, 0xE67E, 0x93AC, 0xE680, 0x93AD, 0xE681, 0x93AE, 0xE682, 0x93AF, 0xE683, 0x93B0, 0xE684, 0x93B1, 0xE685, 0x93B2, 0xE686, - 0x93B3, 0xE687, 0x93B4, 0xE688, 0x93B5, 0xE689, 0x93B6, 0xE68A, 0x93B7, 0xE68B, 0x93B8, 0xE68C, 0x93B9, 0xE68D, 0x93BA, 0xE68E, - 0x93BB, 0xE68F, 0x93BC, 0xE690, 0x93BD, 0xE691, 0x93BE, 0xE692, 0x93BF, 0xE693, 0x93C0, 0xE694, 0x93C1, 0xE695, 0x93C2, 0xE696, - 0x93C3, 0xE697, 0x93C4, 0xE698, 0x93C5, 0xE699, 0x93C6, 0xE69A, 0x93C7, 0xE69B, 0x93C8, 0xE69C, 0x93C9, 0xE69D, 0x93CA, 0xF6CB, - 0x93CB, 0xE69E, 0x93CC, 0xE69F, 0x93CD, 0xE6A0, 0x93CE, 0xE740, 0x93CF, 0xE741, 0x93D0, 0xE742, 0x93D1, 0xE743, 0x93D2, 0xE744, - 0x93D3, 0xE745, 0x93D4, 0xE746, 0x93D5, 0xE747, 0x93D6, 0xF7E9, 0x93D7, 0xE748, 0x93D8, 0xE749, 0x93D9, 0xE74A, 0x93DA, 0xE74B, - 0x93DB, 0xE74C, 0x93DC, 0xE74D, 0x93DD, 0xE74E, 0x93DE, 0xE74F, 0x93DF, 0xE750, 0x93E0, 0xE751, 0x93E1, 0xE752, 0x93E2, 0xE753, - 0x93E3, 0xE754, 0x93E4, 0xE755, 0x93E5, 0xE756, 0x93E6, 0xE757, 0x93E7, 0xE758, 0x93E8, 0xE759, 0x93E9, 0xE75A, 0x93EA, 0xE75B, - 0x93EB, 0xE75C, 0x93EC, 0xE75D, 0x93ED, 0xE75E, 0x93EE, 0xE75F, 0x93EF, 0xE760, 0x93F0, 0xE761, 0x93F1, 0xE762, 0x93F2, 0xE763, - 0x93F3, 0xE764, 0x93F4, 0xE765, 0x93F5, 0xE766, 0x93F6, 0xE767, 0x93F7, 0xE768, 0x93F8, 0xE769, 0x93F9, 0xE76A, 0x93FA, 0xE76B, - 0x93FB, 0xE76C, 0x93FC, 0xE76D, 0x93FD, 0xE76E, 0x93FE, 0xE76F, 0x93FF, 0xE770, 0x9400, 0xE771, 0x9401, 0xE772, 0x9402, 0xE773, - 0x9403, 0xE774, 0x9404, 0xE775, 0x9405, 0xE776, 0x9406, 0xE777, 0x9407, 0xE778, 0x9408, 0xE779, 0x9409, 0xE77A, 0x940A, 0xE77B, - 0x940B, 0xE77C, 0x940C, 0xE77D, 0x940D, 0xE77E, 0x940E, 0xE780, 0x940F, 0xE781, 0x9410, 0xE782, 0x9411, 0xE783, 0x9412, 0xE784, - 0x9413, 0xE785, 0x9414, 0xE786, 0x9415, 0xE787, 0x9416, 0xE788, 0x9417, 0xE789, 0x9418, 0xE78A, 0x9419, 0xE78B, 0x941A, 0xE78C, - 0x941B, 0xE78D, 0x941C, 0xE78E, 0x941D, 0xE78F, 0x941E, 0xE790, 0x941F, 0xE791, 0x9420, 0xE792, 0x9421, 0xE793, 0x9422, 0xE794, - 0x9423, 0xE795, 0x9424, 0xE796, 0x9425, 0xE797, 0x9426, 0xE798, 0x9427, 0xE799, 0x9428, 0xE79A, 0x9429, 0xE79B, 0x942A, 0xE79C, - 0x942B, 0xE79D, 0x942C, 0xE79E, 0x942D, 0xE79F, 0x942E, 0xE7A0, 0x942F, 0xE840, 0x9430, 0xE841, 0x9431, 0xE842, 0x9432, 0xE843, - 0x9433, 0xE844, 0x9434, 0xE845, 0x9435, 0xE846, 0x9436, 0xE847, 0x9437, 0xE848, 0x9438, 0xE849, 0x9439, 0xE84A, 0x943A, 0xE84B, - 0x943B, 0xE84C, 0x943C, 0xE84D, 0x943D, 0xE84E, 0x943E, 0xF6CD, 0x943F, 0xE84F, 0x9440, 0xE850, 0x9441, 0xE851, 0x9442, 0xE852, - 0x9443, 0xE853, 0x9444, 0xE854, 0x9445, 0xE855, 0x9446, 0xE856, 0x9447, 0xE857, 0x9448, 0xE858, 0x9449, 0xE859, 0x944A, 0xE85A, - 0x944B, 0xE85B, 0x944C, 0xE85C, 0x944D, 0xE85D, 0x944E, 0xE85E, 0x944F, 0xE85F, 0x9450, 0xE860, 0x9451, 0xE861, 0x9452, 0xE862, - 0x9453, 0xE863, 0x9454, 0xE864, 0x9455, 0xE865, 0x9456, 0xE866, 0x9457, 0xE867, 0x9458, 0xE868, 0x9459, 0xE869, 0x945A, 0xE86A, - 0x945B, 0xE86B, 0x945C, 0xE86C, 0x945D, 0xE86D, 0x945E, 0xE86E, 0x945F, 0xE86F, 0x9460, 0xE870, 0x9461, 0xE871, 0x9462, 0xE872, - 0x9463, 0xE873, 0x9464, 0xE874, 0x9465, 0xE875, 0x9466, 0xE876, 0x9467, 0xE877, 0x9468, 0xE878, 0x9469, 0xE879, 0x946A, 0xE87A, - 0x946B, 0xF6CE, 0x946C, 0xE87B, 0x946D, 0xE87C, 0x946E, 0xE87D, 0x946F, 0xE87E, 0x9470, 0xE880, 0x9471, 0xE881, 0x9472, 0xE882, - 0x9473, 0xE883, 0x9474, 0xE884, 0x9475, 0xE885, 0x9476, 0xE886, 0x9477, 0xE887, 0x9478, 0xE888, 0x9479, 0xE889, 0x947A, 0xE88A, - 0x947B, 0xE88B, 0x947C, 0xE88C, 0x947D, 0xE88D, 0x947E, 0xE88E, 0x947F, 0xE88F, 0x9480, 0xE890, 0x9481, 0xE891, 0x9482, 0xE892, - 0x9483, 0xE893, 0x9484, 0xE894, 0x9485, 0xEEC4, 0x9486, 0xEEC5, 0x9487, 0xEEC6, 0x9488, 0xD5EB, 0x9489, 0xB6A4, 0x948A, 0xEEC8, - 0x948B, 0xEEC7, 0x948C, 0xEEC9, 0x948D, 0xEECA, 0x948E, 0xC7A5, 0x948F, 0xEECB, 0x9490, 0xEECC, 0x9491, 0xE895, 0x9492, 0xB7B0, - 0x9493, 0xB5F6, 0x9494, 0xEECD, 0x9495, 0xEECF, 0x9496, 0xE896, 0x9497, 0xEECE, 0x9498, 0xE897, 0x9499, 0xB8C6, 0x949A, 0xEED0, - 0x949B, 0xEED1, 0x949C, 0xEED2, 0x949D, 0xB6DB, 0x949E, 0xB3AE, 0x949F, 0xD6D3, 0x94A0, 0xC4C6, 0x94A1, 0xB1B5, 0x94A2, 0xB8D6, - 0x94A3, 0xEED3, 0x94A4, 0xEED4, 0x94A5, 0xD4BF, 0x94A6, 0xC7D5, 0x94A7, 0xBEFB, 0x94A8, 0xCED9, 0x94A9, 0xB9B3, 0x94AA, 0xEED6, - 0x94AB, 0xEED5, 0x94AC, 0xEED8, 0x94AD, 0xEED7, 0x94AE, 0xC5A5, 0x94AF, 0xEED9, 0x94B0, 0xEEDA, 0x94B1, 0xC7AE, 0x94B2, 0xEEDB, - 0x94B3, 0xC7AF, 0x94B4, 0xEEDC, 0x94B5, 0xB2A7, 0x94B6, 0xEEDD, 0x94B7, 0xEEDE, 0x94B8, 0xEEDF, 0x94B9, 0xEEE0, 0x94BA, 0xEEE1, - 0x94BB, 0xD7EA, 0x94BC, 0xEEE2, 0x94BD, 0xEEE3, 0x94BE, 0xBCD8, 0x94BF, 0xEEE4, 0x94C0, 0xD3CB, 0x94C1, 0xCCFA, 0x94C2, 0xB2AC, - 0x94C3, 0xC1E5, 0x94C4, 0xEEE5, 0x94C5, 0xC7A6, 0x94C6, 0xC3AD, 0x94C7, 0xE898, 0x94C8, 0xEEE6, 0x94C9, 0xEEE7, 0x94CA, 0xEEE8, - 0x94CB, 0xEEE9, 0x94CC, 0xEEEA, 0x94CD, 0xEEEB, 0x94CE, 0xEEEC, 0x94CF, 0xE899, 0x94D0, 0xEEED, 0x94D1, 0xEEEE, 0x94D2, 0xEEEF, - 0x94D3, 0xE89A, 0x94D4, 0xE89B, 0x94D5, 0xEEF0, 0x94D6, 0xEEF1, 0x94D7, 0xEEF2, 0x94D8, 0xEEF4, 0x94D9, 0xEEF3, 0x94DA, 0xE89C, - 0x94DB, 0xEEF5, 0x94DC, 0xCDAD, 0x94DD, 0xC2C1, 0x94DE, 0xEEF6, 0x94DF, 0xEEF7, 0x94E0, 0xEEF8, 0x94E1, 0xD5A1, 0x94E2, 0xEEF9, - 0x94E3, 0xCFB3, 0x94E4, 0xEEFA, 0x94E5, 0xEEFB, 0x94E6, 0xE89D, 0x94E7, 0xEEFC, 0x94E8, 0xEEFD, 0x94E9, 0xEFA1, 0x94EA, 0xEEFE, - 0x94EB, 0xEFA2, 0x94EC, 0xB8F5, 0x94ED, 0xC3FA, 0x94EE, 0xEFA3, 0x94EF, 0xEFA4, 0x94F0, 0xBDC2, 0x94F1, 0xD2BF, 0x94F2, 0xB2F9, - 0x94F3, 0xEFA5, 0x94F4, 0xEFA6, 0x94F5, 0xEFA7, 0x94F6, 0xD2F8, 0x94F7, 0xEFA8, 0x94F8, 0xD6FD, 0x94F9, 0xEFA9, 0x94FA, 0xC6CC, - 0x94FB, 0xE89E, 0x94FC, 0xEFAA, 0x94FD, 0xEFAB, 0x94FE, 0xC1B4, 0x94FF, 0xEFAC, 0x9500, 0xCFFA, 0x9501, 0xCBF8, 0x9502, 0xEFAE, - 0x9503, 0xEFAD, 0x9504, 0xB3FA, 0x9505, 0xB9F8, 0x9506, 0xEFAF, 0x9507, 0xEFB0, 0x9508, 0xD0E2, 0x9509, 0xEFB1, 0x950A, 0xEFB2, - 0x950B, 0xB7E6, 0x950C, 0xD0BF, 0x950D, 0xEFB3, 0x950E, 0xEFB4, 0x950F, 0xEFB5, 0x9510, 0xC8F1, 0x9511, 0xCCE0, 0x9512, 0xEFB6, - 0x9513, 0xEFB7, 0x9514, 0xEFB8, 0x9515, 0xEFB9, 0x9516, 0xEFBA, 0x9517, 0xD5E0, 0x9518, 0xEFBB, 0x9519, 0xB4ED, 0x951A, 0xC3AA, - 0x951B, 0xEFBC, 0x951C, 0xE89F, 0x951D, 0xEFBD, 0x951E, 0xEFBE, 0x951F, 0xEFBF, 0x9520, 0xE8A0, 0x9521, 0xCEFD, 0x9522, 0xEFC0, - 0x9523, 0xC2E0, 0x9524, 0xB4B8, 0x9525, 0xD7B6, 0x9526, 0xBDF5, 0x9527, 0xE940, 0x9528, 0xCFC7, 0x9529, 0xEFC3, 0x952A, 0xEFC1, - 0x952B, 0xEFC2, 0x952C, 0xEFC4, 0x952D, 0xB6A7, 0x952E, 0xBCFC, 0x952F, 0xBEE2, 0x9530, 0xC3CC, 0x9531, 0xEFC5, 0x9532, 0xEFC6, - 0x9533, 0xE941, 0x9534, 0xEFC7, 0x9535, 0xEFCF, 0x9536, 0xEFC8, 0x9537, 0xEFC9, 0x9538, 0xEFCA, 0x9539, 0xC7C2, 0x953A, 0xEFF1, - 0x953B, 0xB6CD, 0x953C, 0xEFCB, 0x953D, 0xE942, 0x953E, 0xEFCC, 0x953F, 0xEFCD, 0x9540, 0xB6C6, 0x9541, 0xC3BE, 0x9542, 0xEFCE, - 0x9543, 0xE943, 0x9544, 0xEFD0, 0x9545, 0xEFD1, 0x9546, 0xEFD2, 0x9547, 0xD5F2, 0x9548, 0xE944, 0x9549, 0xEFD3, 0x954A, 0xC4F7, - 0x954B, 0xE945, 0x954C, 0xEFD4, 0x954D, 0xC4F8, 0x954E, 0xEFD5, 0x954F, 0xEFD6, 0x9550, 0xB8E4, 0x9551, 0xB0F7, 0x9552, 0xEFD7, - 0x9553, 0xEFD8, 0x9554, 0xEFD9, 0x9555, 0xE946, 0x9556, 0xEFDA, 0x9557, 0xEFDB, 0x9558, 0xEFDC, 0x9559, 0xEFDD, 0x955A, 0xE947, - 0x955B, 0xEFDE, 0x955C, 0xBEB5, 0x955D, 0xEFE1, 0x955E, 0xEFDF, 0x955F, 0xEFE0, 0x9560, 0xE948, 0x9561, 0xEFE2, 0x9562, 0xEFE3, - 0x9563, 0xC1CD, 0x9564, 0xEFE4, 0x9565, 0xEFE5, 0x9566, 0xEFE6, 0x9567, 0xEFE7, 0x9568, 0xEFE8, 0x9569, 0xEFE9, 0x956A, 0xEFEA, - 0x956B, 0xEFEB, 0x956C, 0xEFEC, 0x956D, 0xC0D8, 0x956E, 0xE949, 0x956F, 0xEFED, 0x9570, 0xC1AD, 0x9571, 0xEFEE, 0x9572, 0xEFEF, - 0x9573, 0xEFF0, 0x9574, 0xE94A, 0x9575, 0xE94B, 0x9576, 0xCFE2, 0x9577, 0xE94C, 0x9578, 0xE94D, 0x9579, 0xE94E, 0x957A, 0xE94F, - 0x957B, 0xE950, 0x957C, 0xE951, 0x957D, 0xE952, 0x957E, 0xE953, 0x957F, 0xB3A4, 0x9580, 0xE954, 0x9581, 0xE955, 0x9582, 0xE956, - 0x9583, 0xE957, 0x9584, 0xE958, 0x9585, 0xE959, 0x9586, 0xE95A, 0x9587, 0xE95B, 0x9588, 0xE95C, 0x9589, 0xE95D, 0x958A, 0xE95E, - 0x958B, 0xE95F, 0x958C, 0xE960, 0x958D, 0xE961, 0x958E, 0xE962, 0x958F, 0xE963, 0x9590, 0xE964, 0x9591, 0xE965, 0x9592, 0xE966, - 0x9593, 0xE967, 0x9594, 0xE968, 0x9595, 0xE969, 0x9596, 0xE96A, 0x9597, 0xE96B, 0x9598, 0xE96C, 0x9599, 0xE96D, 0x959A, 0xE96E, - 0x959B, 0xE96F, 0x959C, 0xE970, 0x959D, 0xE971, 0x959E, 0xE972, 0x959F, 0xE973, 0x95A0, 0xE974, 0x95A1, 0xE975, 0x95A2, 0xE976, - 0x95A3, 0xE977, 0x95A4, 0xE978, 0x95A5, 0xE979, 0x95A6, 0xE97A, 0x95A7, 0xE97B, 0x95A8, 0xE97C, 0x95A9, 0xE97D, 0x95AA, 0xE97E, - 0x95AB, 0xE980, 0x95AC, 0xE981, 0x95AD, 0xE982, 0x95AE, 0xE983, 0x95AF, 0xE984, 0x95B0, 0xE985, 0x95B1, 0xE986, 0x95B2, 0xE987, - 0x95B3, 0xE988, 0x95B4, 0xE989, 0x95B5, 0xE98A, 0x95B6, 0xE98B, 0x95B7, 0xE98C, 0x95B8, 0xE98D, 0x95B9, 0xE98E, 0x95BA, 0xE98F, - 0x95BB, 0xE990, 0x95BC, 0xE991, 0x95BD, 0xE992, 0x95BE, 0xE993, 0x95BF, 0xE994, 0x95C0, 0xE995, 0x95C1, 0xE996, 0x95C2, 0xE997, - 0x95C3, 0xE998, 0x95C4, 0xE999, 0x95C5, 0xE99A, 0x95C6, 0xE99B, 0x95C7, 0xE99C, 0x95C8, 0xE99D, 0x95C9, 0xE99E, 0x95CA, 0xE99F, - 0x95CB, 0xE9A0, 0x95CC, 0xEA40, 0x95CD, 0xEA41, 0x95CE, 0xEA42, 0x95CF, 0xEA43, 0x95D0, 0xEA44, 0x95D1, 0xEA45, 0x95D2, 0xEA46, - 0x95D3, 0xEA47, 0x95D4, 0xEA48, 0x95D5, 0xEA49, 0x95D6, 0xEA4A, 0x95D7, 0xEA4B, 0x95D8, 0xEA4C, 0x95D9, 0xEA4D, 0x95DA, 0xEA4E, - 0x95DB, 0xEA4F, 0x95DC, 0xEA50, 0x95DD, 0xEA51, 0x95DE, 0xEA52, 0x95DF, 0xEA53, 0x95E0, 0xEA54, 0x95E1, 0xEA55, 0x95E2, 0xEA56, - 0x95E3, 0xEA57, 0x95E4, 0xEA58, 0x95E5, 0xEA59, 0x95E6, 0xEA5A, 0x95E7, 0xEA5B, 0x95E8, 0xC3C5, 0x95E9, 0xE3C5, 0x95EA, 0xC9C1, - 0x95EB, 0xE3C6, 0x95EC, 0xEA5C, 0x95ED, 0xB1D5, 0x95EE, 0xCECA, 0x95EF, 0xB4B3, 0x95F0, 0xC8F2, 0x95F1, 0xE3C7, 0x95F2, 0xCFD0, - 0x95F3, 0xE3C8, 0x95F4, 0xBCE4, 0x95F5, 0xE3C9, 0x95F6, 0xE3CA, 0x95F7, 0xC3C6, 0x95F8, 0xD5A2, 0x95F9, 0xC4D6, 0x95FA, 0xB9EB, - 0x95FB, 0xCEC5, 0x95FC, 0xE3CB, 0x95FD, 0xC3F6, 0x95FE, 0xE3CC, 0x95FF, 0xEA5D, 0x9600, 0xB7A7, 0x9601, 0xB8F3, 0x9602, 0xBAD2, - 0x9603, 0xE3CD, 0x9604, 0xE3CE, 0x9605, 0xD4C4, 0x9606, 0xE3CF, 0x9607, 0xEA5E, 0x9608, 0xE3D0, 0x9609, 0xD1CB, 0x960A, 0xE3D1, - 0x960B, 0xE3D2, 0x960C, 0xE3D3, 0x960D, 0xE3D4, 0x960E, 0xD1D6, 0x960F, 0xE3D5, 0x9610, 0xB2FB, 0x9611, 0xC0BB, 0x9612, 0xE3D6, - 0x9613, 0xEA5F, 0x9614, 0xC0AB, 0x9615, 0xE3D7, 0x9616, 0xE3D8, 0x9617, 0xE3D9, 0x9618, 0xEA60, 0x9619, 0xE3DA, 0x961A, 0xE3DB, - 0x961B, 0xEA61, 0x961C, 0xB8B7, 0x961D, 0xDAE2, 0x961E, 0xEA62, 0x961F, 0xB6D3, 0x9620, 0xEA63, 0x9621, 0xDAE4, 0x9622, 0xDAE3, - 0x9623, 0xEA64, 0x9624, 0xEA65, 0x9625, 0xEA66, 0x9626, 0xEA67, 0x9627, 0xEA68, 0x9628, 0xEA69, 0x9629, 0xEA6A, 0x962A, 0xDAE6, - 0x962B, 0xEA6B, 0x962C, 0xEA6C, 0x962D, 0xEA6D, 0x962E, 0xC8EE, 0x962F, 0xEA6E, 0x9630, 0xEA6F, 0x9631, 0xDAE5, 0x9632, 0xB7C0, - 0x9633, 0xD1F4, 0x9634, 0xD2F5, 0x9635, 0xD5F3, 0x9636, 0xBDD7, 0x9637, 0xEA70, 0x9638, 0xEA71, 0x9639, 0xEA72, 0x963A, 0xEA73, - 0x963B, 0xD7E8, 0x963C, 0xDAE8, 0x963D, 0xDAE7, 0x963E, 0xEA74, 0x963F, 0xB0A2, 0x9640, 0xCDD3, 0x9641, 0xEA75, 0x9642, 0xDAE9, - 0x9643, 0xEA76, 0x9644, 0xB8BD, 0x9645, 0xBCCA, 0x9646, 0xC2BD, 0x9647, 0xC2A4, 0x9648, 0xB3C2, 0x9649, 0xDAEA, 0x964A, 0xEA77, - 0x964B, 0xC2AA, 0x964C, 0xC4B0, 0x964D, 0xBDB5, 0x964E, 0xEA78, 0x964F, 0xEA79, 0x9650, 0xCFDE, 0x9651, 0xEA7A, 0x9652, 0xEA7B, - 0x9653, 0xEA7C, 0x9654, 0xDAEB, 0x9655, 0xC9C2, 0x9656, 0xEA7D, 0x9657, 0xEA7E, 0x9658, 0xEA80, 0x9659, 0xEA81, 0x965A, 0xEA82, - 0x965B, 0xB1DD, 0x965C, 0xEA83, 0x965D, 0xEA84, 0x965E, 0xEA85, 0x965F, 0xDAEC, 0x9660, 0xEA86, 0x9661, 0xB6B8, 0x9662, 0xD4BA, - 0x9663, 0xEA87, 0x9664, 0xB3FD, 0x9665, 0xEA88, 0x9666, 0xEA89, 0x9667, 0xDAED, 0x9668, 0xD4C9, 0x9669, 0xCFD5, 0x966A, 0xC5E3, - 0x966B, 0xEA8A, 0x966C, 0xDAEE, 0x966D, 0xEA8B, 0x966E, 0xEA8C, 0x966F, 0xEA8D, 0x9670, 0xEA8E, 0x9671, 0xEA8F, 0x9672, 0xDAEF, - 0x9673, 0xEA90, 0x9674, 0xDAF0, 0x9675, 0xC1EA, 0x9676, 0xCCD5, 0x9677, 0xCFDD, 0x9678, 0xEA91, 0x9679, 0xEA92, 0x967A, 0xEA93, - 0x967B, 0xEA94, 0x967C, 0xEA95, 0x967D, 0xEA96, 0x967E, 0xEA97, 0x967F, 0xEA98, 0x9680, 0xEA99, 0x9681, 0xEA9A, 0x9682, 0xEA9B, - 0x9683, 0xEA9C, 0x9684, 0xEA9D, 0x9685, 0xD3E7, 0x9686, 0xC2A1, 0x9687, 0xEA9E, 0x9688, 0xDAF1, 0x9689, 0xEA9F, 0x968A, 0xEAA0, - 0x968B, 0xCBE5, 0x968C, 0xEB40, 0x968D, 0xDAF2, 0x968E, 0xEB41, 0x968F, 0xCBE6, 0x9690, 0xD2FE, 0x9691, 0xEB42, 0x9692, 0xEB43, - 0x9693, 0xEB44, 0x9694, 0xB8F4, 0x9695, 0xEB45, 0x9696, 0xEB46, 0x9697, 0xDAF3, 0x9698, 0xB0AF, 0x9699, 0xCFB6, 0x969A, 0xEB47, - 0x969B, 0xEB48, 0x969C, 0xD5CF, 0x969D, 0xEB49, 0x969E, 0xEB4A, 0x969F, 0xEB4B, 0x96A0, 0xEB4C, 0x96A1, 0xEB4D, 0x96A2, 0xEB4E, - 0x96A3, 0xEB4F, 0x96A4, 0xEB50, 0x96A5, 0xEB51, 0x96A6, 0xEB52, 0x96A7, 0xCBED, 0x96A8, 0xEB53, 0x96A9, 0xEB54, 0x96AA, 0xEB55, - 0x96AB, 0xEB56, 0x96AC, 0xEB57, 0x96AD, 0xEB58, 0x96AE, 0xEB59, 0x96AF, 0xEB5A, 0x96B0, 0xDAF4, 0x96B1, 0xEB5B, 0x96B2, 0xEB5C, - 0x96B3, 0xE3C4, 0x96B4, 0xEB5D, 0x96B5, 0xEB5E, 0x96B6, 0xC1A5, 0x96B7, 0xEB5F, 0x96B8, 0xEB60, 0x96B9, 0xF6BF, 0x96BA, 0xEB61, - 0x96BB, 0xEB62, 0x96BC, 0xF6C0, 0x96BD, 0xF6C1, 0x96BE, 0xC4D1, 0x96BF, 0xEB63, 0x96C0, 0xC8B8, 0x96C1, 0xD1E3, 0x96C2, 0xEB64, - 0x96C3, 0xEB65, 0x96C4, 0xD0DB, 0x96C5, 0xD1C5, 0x96C6, 0xBCAF, 0x96C7, 0xB9CD, 0x96C8, 0xEB66, 0x96C9, 0xEFF4, 0x96CA, 0xEB67, - 0x96CB, 0xEB68, 0x96CC, 0xB4C6, 0x96CD, 0xD3BA, 0x96CE, 0xF6C2, 0x96CF, 0xB3FB, 0x96D0, 0xEB69, 0x96D1, 0xEB6A, 0x96D2, 0xF6C3, - 0x96D3, 0xEB6B, 0x96D4, 0xEB6C, 0x96D5, 0xB5F1, 0x96D6, 0xEB6D, 0x96D7, 0xEB6E, 0x96D8, 0xEB6F, 0x96D9, 0xEB70, 0x96DA, 0xEB71, - 0x96DB, 0xEB72, 0x96DC, 0xEB73, 0x96DD, 0xEB74, 0x96DE, 0xEB75, 0x96DF, 0xEB76, 0x96E0, 0xF6C5, 0x96E1, 0xEB77, 0x96E2, 0xEB78, - 0x96E3, 0xEB79, 0x96E4, 0xEB7A, 0x96E5, 0xEB7B, 0x96E6, 0xEB7C, 0x96E7, 0xEB7D, 0x96E8, 0xD3EA, 0x96E9, 0xF6A7, 0x96EA, 0xD1A9, - 0x96EB, 0xEB7E, 0x96EC, 0xEB80, 0x96ED, 0xEB81, 0x96EE, 0xEB82, 0x96EF, 0xF6A9, 0x96F0, 0xEB83, 0x96F1, 0xEB84, 0x96F2, 0xEB85, - 0x96F3, 0xF6A8, 0x96F4, 0xEB86, 0x96F5, 0xEB87, 0x96F6, 0xC1E3, 0x96F7, 0xC0D7, 0x96F8, 0xEB88, 0x96F9, 0xB1A2, 0x96FA, 0xEB89, - 0x96FB, 0xEB8A, 0x96FC, 0xEB8B, 0x96FD, 0xEB8C, 0x96FE, 0xCEED, 0x96FF, 0xEB8D, 0x9700, 0xD0E8, 0x9701, 0xF6AB, 0x9702, 0xEB8E, - 0x9703, 0xEB8F, 0x9704, 0xCFF6, 0x9705, 0xEB90, 0x9706, 0xF6AA, 0x9707, 0xD5F0, 0x9708, 0xF6AC, 0x9709, 0xC3B9, 0x970A, 0xEB91, - 0x970B, 0xEB92, 0x970C, 0xEB93, 0x970D, 0xBBF4, 0x970E, 0xF6AE, 0x970F, 0xF6AD, 0x9710, 0xEB94, 0x9711, 0xEB95, 0x9712, 0xEB96, - 0x9713, 0xC4DE, 0x9714, 0xEB97, 0x9715, 0xEB98, 0x9716, 0xC1D8, 0x9717, 0xEB99, 0x9718, 0xEB9A, 0x9719, 0xEB9B, 0x971A, 0xEB9C, - 0x971B, 0xEB9D, 0x971C, 0xCBAA, 0x971D, 0xEB9E, 0x971E, 0xCFBC, 0x971F, 0xEB9F, 0x9720, 0xEBA0, 0x9721, 0xEC40, 0x9722, 0xEC41, - 0x9723, 0xEC42, 0x9724, 0xEC43, 0x9725, 0xEC44, 0x9726, 0xEC45, 0x9727, 0xEC46, 0x9728, 0xEC47, 0x9729, 0xEC48, 0x972A, 0xF6AF, - 0x972B, 0xEC49, 0x972C, 0xEC4A, 0x972D, 0xF6B0, 0x972E, 0xEC4B, 0x972F, 0xEC4C, 0x9730, 0xF6B1, 0x9731, 0xEC4D, 0x9732, 0xC2B6, - 0x9733, 0xEC4E, 0x9734, 0xEC4F, 0x9735, 0xEC50, 0x9736, 0xEC51, 0x9737, 0xEC52, 0x9738, 0xB0D4, 0x9739, 0xC5F9, 0x973A, 0xEC53, - 0x973B, 0xEC54, 0x973C, 0xEC55, 0x973D, 0xEC56, 0x973E, 0xF6B2, 0x973F, 0xEC57, 0x9740, 0xEC58, 0x9741, 0xEC59, 0x9742, 0xEC5A, - 0x9743, 0xEC5B, 0x9744, 0xEC5C, 0x9745, 0xEC5D, 0x9746, 0xEC5E, 0x9747, 0xEC5F, 0x9748, 0xEC60, 0x9749, 0xEC61, 0x974A, 0xEC62, - 0x974B, 0xEC63, 0x974C, 0xEC64, 0x974D, 0xEC65, 0x974E, 0xEC66, 0x974F, 0xEC67, 0x9750, 0xEC68, 0x9751, 0xEC69, 0x9752, 0xC7E0, - 0x9753, 0xF6A6, 0x9754, 0xEC6A, 0x9755, 0xEC6B, 0x9756, 0xBEB8, 0x9757, 0xEC6C, 0x9758, 0xEC6D, 0x9759, 0xBEB2, 0x975A, 0xEC6E, - 0x975B, 0xB5E5, 0x975C, 0xEC6F, 0x975D, 0xEC70, 0x975E, 0xB7C7, 0x975F, 0xEC71, 0x9760, 0xBFBF, 0x9761, 0xC3D2, 0x9762, 0xC3E6, - 0x9763, 0xEC72, 0x9764, 0xEC73, 0x9765, 0xD8CC, 0x9766, 0xEC74, 0x9767, 0xEC75, 0x9768, 0xEC76, 0x9769, 0xB8EF, 0x976A, 0xEC77, - 0x976B, 0xEC78, 0x976C, 0xEC79, 0x976D, 0xEC7A, 0x976E, 0xEC7B, 0x976F, 0xEC7C, 0x9770, 0xEC7D, 0x9771, 0xEC7E, 0x9772, 0xEC80, - 0x9773, 0xBDF9, 0x9774, 0xD1A5, 0x9775, 0xEC81, 0x9776, 0xB0D0, 0x9777, 0xEC82, 0x9778, 0xEC83, 0x9779, 0xEC84, 0x977A, 0xEC85, - 0x977B, 0xEC86, 0x977C, 0xF7B0, 0x977D, 0xEC87, 0x977E, 0xEC88, 0x977F, 0xEC89, 0x9780, 0xEC8A, 0x9781, 0xEC8B, 0x9782, 0xEC8C, - 0x9783, 0xEC8D, 0x9784, 0xEC8E, 0x9785, 0xF7B1, 0x9786, 0xEC8F, 0x9787, 0xEC90, 0x9788, 0xEC91, 0x9789, 0xEC92, 0x978A, 0xEC93, - 0x978B, 0xD0AC, 0x978C, 0xEC94, 0x978D, 0xB0B0, 0x978E, 0xEC95, 0x978F, 0xEC96, 0x9790, 0xEC97, 0x9791, 0xF7B2, 0x9792, 0xF7B3, - 0x9793, 0xEC98, 0x9794, 0xF7B4, 0x9795, 0xEC99, 0x9796, 0xEC9A, 0x9797, 0xEC9B, 0x9798, 0xC7CA, 0x9799, 0xEC9C, 0x979A, 0xEC9D, - 0x979B, 0xEC9E, 0x979C, 0xEC9F, 0x979D, 0xECA0, 0x979E, 0xED40, 0x979F, 0xED41, 0x97A0, 0xBECF, 0x97A1, 0xED42, 0x97A2, 0xED43, - 0x97A3, 0xF7B7, 0x97A4, 0xED44, 0x97A5, 0xED45, 0x97A6, 0xED46, 0x97A7, 0xED47, 0x97A8, 0xED48, 0x97A9, 0xED49, 0x97AA, 0xED4A, - 0x97AB, 0xF7B6, 0x97AC, 0xED4B, 0x97AD, 0xB1DE, 0x97AE, 0xED4C, 0x97AF, 0xF7B5, 0x97B0, 0xED4D, 0x97B1, 0xED4E, 0x97B2, 0xF7B8, - 0x97B3, 0xED4F, 0x97B4, 0xF7B9, 0x97B5, 0xED50, 0x97B6, 0xED51, 0x97B7, 0xED52, 0x97B8, 0xED53, 0x97B9, 0xED54, 0x97BA, 0xED55, - 0x97BB, 0xED56, 0x97BC, 0xED57, 0x97BD, 0xED58, 0x97BE, 0xED59, 0x97BF, 0xED5A, 0x97C0, 0xED5B, 0x97C1, 0xED5C, 0x97C2, 0xED5D, - 0x97C3, 0xED5E, 0x97C4, 0xED5F, 0x97C5, 0xED60, 0x97C6, 0xED61, 0x97C7, 0xED62, 0x97C8, 0xED63, 0x97C9, 0xED64, 0x97CA, 0xED65, - 0x97CB, 0xED66, 0x97CC, 0xED67, 0x97CD, 0xED68, 0x97CE, 0xED69, 0x97CF, 0xED6A, 0x97D0, 0xED6B, 0x97D1, 0xED6C, 0x97D2, 0xED6D, - 0x97D3, 0xED6E, 0x97D4, 0xED6F, 0x97D5, 0xED70, 0x97D6, 0xED71, 0x97D7, 0xED72, 0x97D8, 0xED73, 0x97D9, 0xED74, 0x97DA, 0xED75, - 0x97DB, 0xED76, 0x97DC, 0xED77, 0x97DD, 0xED78, 0x97DE, 0xED79, 0x97DF, 0xED7A, 0x97E0, 0xED7B, 0x97E1, 0xED7C, 0x97E2, 0xED7D, - 0x97E3, 0xED7E, 0x97E4, 0xED80, 0x97E5, 0xED81, 0x97E6, 0xCEA4, 0x97E7, 0xC8CD, 0x97E8, 0xED82, 0x97E9, 0xBAAB, 0x97EA, 0xE8B8, - 0x97EB, 0xE8B9, 0x97EC, 0xE8BA, 0x97ED, 0xBEC2, 0x97EE, 0xED83, 0x97EF, 0xED84, 0x97F0, 0xED85, 0x97F1, 0xED86, 0x97F2, 0xED87, - 0x97F3, 0xD2F4, 0x97F4, 0xED88, 0x97F5, 0xD4CF, 0x97F6, 0xC9D8, 0x97F7, 0xED89, 0x97F8, 0xED8A, 0x97F9, 0xED8B, 0x97FA, 0xED8C, - 0x97FB, 0xED8D, 0x97FC, 0xED8E, 0x97FD, 0xED8F, 0x97FE, 0xED90, 0x97FF, 0xED91, 0x9800, 0xED92, 0x9801, 0xED93, 0x9802, 0xED94, - 0x9803, 0xED95, 0x9804, 0xED96, 0x9805, 0xED97, 0x9806, 0xED98, 0x9807, 0xED99, 0x9808, 0xED9A, 0x9809, 0xED9B, 0x980A, 0xED9C, - 0x980B, 0xED9D, 0x980C, 0xED9E, 0x980D, 0xED9F, 0x980E, 0xEDA0, 0x980F, 0xEE40, 0x9810, 0xEE41, 0x9811, 0xEE42, 0x9812, 0xEE43, - 0x9813, 0xEE44, 0x9814, 0xEE45, 0x9815, 0xEE46, 0x9816, 0xEE47, 0x9817, 0xEE48, 0x9818, 0xEE49, 0x9819, 0xEE4A, 0x981A, 0xEE4B, - 0x981B, 0xEE4C, 0x981C, 0xEE4D, 0x981D, 0xEE4E, 0x981E, 0xEE4F, 0x981F, 0xEE50, 0x9820, 0xEE51, 0x9821, 0xEE52, 0x9822, 0xEE53, - 0x9823, 0xEE54, 0x9824, 0xEE55, 0x9825, 0xEE56, 0x9826, 0xEE57, 0x9827, 0xEE58, 0x9828, 0xEE59, 0x9829, 0xEE5A, 0x982A, 0xEE5B, - 0x982B, 0xEE5C, 0x982C, 0xEE5D, 0x982D, 0xEE5E, 0x982E, 0xEE5F, 0x982F, 0xEE60, 0x9830, 0xEE61, 0x9831, 0xEE62, 0x9832, 0xEE63, - 0x9833, 0xEE64, 0x9834, 0xEE65, 0x9835, 0xEE66, 0x9836, 0xEE67, 0x9837, 0xEE68, 0x9838, 0xEE69, 0x9839, 0xEE6A, 0x983A, 0xEE6B, - 0x983B, 0xEE6C, 0x983C, 0xEE6D, 0x983D, 0xEE6E, 0x983E, 0xEE6F, 0x983F, 0xEE70, 0x9840, 0xEE71, 0x9841, 0xEE72, 0x9842, 0xEE73, - 0x9843, 0xEE74, 0x9844, 0xEE75, 0x9845, 0xEE76, 0x9846, 0xEE77, 0x9847, 0xEE78, 0x9848, 0xEE79, 0x9849, 0xEE7A, 0x984A, 0xEE7B, - 0x984B, 0xEE7C, 0x984C, 0xEE7D, 0x984D, 0xEE7E, 0x984E, 0xEE80, 0x984F, 0xEE81, 0x9850, 0xEE82, 0x9851, 0xEE83, 0x9852, 0xEE84, - 0x9853, 0xEE85, 0x9854, 0xEE86, 0x9855, 0xEE87, 0x9856, 0xEE88, 0x9857, 0xEE89, 0x9858, 0xEE8A, 0x9859, 0xEE8B, 0x985A, 0xEE8C, - 0x985B, 0xEE8D, 0x985C, 0xEE8E, 0x985D, 0xEE8F, 0x985E, 0xEE90, 0x985F, 0xEE91, 0x9860, 0xEE92, 0x9861, 0xEE93, 0x9862, 0xEE94, - 0x9863, 0xEE95, 0x9864, 0xEE96, 0x9865, 0xEE97, 0x9866, 0xEE98, 0x9867, 0xEE99, 0x9868, 0xEE9A, 0x9869, 0xEE9B, 0x986A, 0xEE9C, - 0x986B, 0xEE9D, 0x986C, 0xEE9E, 0x986D, 0xEE9F, 0x986E, 0xEEA0, 0x986F, 0xEF40, 0x9870, 0xEF41, 0x9871, 0xEF42, 0x9872, 0xEF43, - 0x9873, 0xEF44, 0x9874, 0xEF45, 0x9875, 0xD2B3, 0x9876, 0xB6A5, 0x9877, 0xC7EA, 0x9878, 0xF1FC, 0x9879, 0xCFEE, 0x987A, 0xCBB3, - 0x987B, 0xD0EB, 0x987C, 0xE7EF, 0x987D, 0xCDE7, 0x987E, 0xB9CB, 0x987F, 0xB6D9, 0x9880, 0xF1FD, 0x9881, 0xB0E4, 0x9882, 0xCBCC, - 0x9883, 0xF1FE, 0x9884, 0xD4A4, 0x9885, 0xC2AD, 0x9886, 0xC1EC, 0x9887, 0xC6C4, 0x9888, 0xBEB1, 0x9889, 0xF2A1, 0x988A, 0xBCD5, - 0x988B, 0xEF46, 0x988C, 0xF2A2, 0x988D, 0xF2A3, 0x988E, 0xEF47, 0x988F, 0xF2A4, 0x9890, 0xD2C3, 0x9891, 0xC6B5, 0x9892, 0xEF48, - 0x9893, 0xCDC7, 0x9894, 0xF2A5, 0x9895, 0xEF49, 0x9896, 0xD3B1, 0x9897, 0xBFC5, 0x9898, 0xCCE2, 0x9899, 0xEF4A, 0x989A, 0xF2A6, - 0x989B, 0xF2A7, 0x989C, 0xD1D5, 0x989D, 0xB6EE, 0x989E, 0xF2A8, 0x989F, 0xF2A9, 0x98A0, 0xB5DF, 0x98A1, 0xF2AA, 0x98A2, 0xF2AB, - 0x98A3, 0xEF4B, 0x98A4, 0xB2FC, 0x98A5, 0xF2AC, 0x98A6, 0xF2AD, 0x98A7, 0xC8A7, 0x98A8, 0xEF4C, 0x98A9, 0xEF4D, 0x98AA, 0xEF4E, - 0x98AB, 0xEF4F, 0x98AC, 0xEF50, 0x98AD, 0xEF51, 0x98AE, 0xEF52, 0x98AF, 0xEF53, 0x98B0, 0xEF54, 0x98B1, 0xEF55, 0x98B2, 0xEF56, - 0x98B3, 0xEF57, 0x98B4, 0xEF58, 0x98B5, 0xEF59, 0x98B6, 0xEF5A, 0x98B7, 0xEF5B, 0x98B8, 0xEF5C, 0x98B9, 0xEF5D, 0x98BA, 0xEF5E, - 0x98BB, 0xEF5F, 0x98BC, 0xEF60, 0x98BD, 0xEF61, 0x98BE, 0xEF62, 0x98BF, 0xEF63, 0x98C0, 0xEF64, 0x98C1, 0xEF65, 0x98C2, 0xEF66, - 0x98C3, 0xEF67, 0x98C4, 0xEF68, 0x98C5, 0xEF69, 0x98C6, 0xEF6A, 0x98C7, 0xEF6B, 0x98C8, 0xEF6C, 0x98C9, 0xEF6D, 0x98CA, 0xEF6E, - 0x98CB, 0xEF6F, 0x98CC, 0xEF70, 0x98CD, 0xEF71, 0x98CE, 0xB7E7, 0x98CF, 0xEF72, 0x98D0, 0xEF73, 0x98D1, 0xECA9, 0x98D2, 0xECAA, - 0x98D3, 0xECAB, 0x98D4, 0xEF74, 0x98D5, 0xECAC, 0x98D6, 0xEF75, 0x98D7, 0xEF76, 0x98D8, 0xC6AE, 0x98D9, 0xECAD, 0x98DA, 0xECAE, - 0x98DB, 0xEF77, 0x98DC, 0xEF78, 0x98DD, 0xEF79, 0x98DE, 0xB7C9, 0x98DF, 0xCAB3, 0x98E0, 0xEF7A, 0x98E1, 0xEF7B, 0x98E2, 0xEF7C, - 0x98E3, 0xEF7D, 0x98E4, 0xEF7E, 0x98E5, 0xEF80, 0x98E6, 0xEF81, 0x98E7, 0xE2B8, 0x98E8, 0xF7CF, 0x98E9, 0xEF82, 0x98EA, 0xEF83, - 0x98EB, 0xEF84, 0x98EC, 0xEF85, 0x98ED, 0xEF86, 0x98EE, 0xEF87, 0x98EF, 0xEF88, 0x98F0, 0xEF89, 0x98F1, 0xEF8A, 0x98F2, 0xEF8B, - 0x98F3, 0xEF8C, 0x98F4, 0xEF8D, 0x98F5, 0xEF8E, 0x98F6, 0xEF8F, 0x98F7, 0xEF90, 0x98F8, 0xEF91, 0x98F9, 0xEF92, 0x98FA, 0xEF93, - 0x98FB, 0xEF94, 0x98FC, 0xEF95, 0x98FD, 0xEF96, 0x98FE, 0xEF97, 0x98FF, 0xEF98, 0x9900, 0xEF99, 0x9901, 0xEF9A, 0x9902, 0xEF9B, - 0x9903, 0xEF9C, 0x9904, 0xEF9D, 0x9905, 0xEF9E, 0x9906, 0xEF9F, 0x9907, 0xEFA0, 0x9908, 0xF040, 0x9909, 0xF041, 0x990A, 0xF042, - 0x990B, 0xF043, 0x990C, 0xF044, 0x990D, 0xF7D0, 0x990E, 0xF045, 0x990F, 0xF046, 0x9910, 0xB2CD, 0x9911, 0xF047, 0x9912, 0xF048, - 0x9913, 0xF049, 0x9914, 0xF04A, 0x9915, 0xF04B, 0x9916, 0xF04C, 0x9917, 0xF04D, 0x9918, 0xF04E, 0x9919, 0xF04F, 0x991A, 0xF050, - 0x991B, 0xF051, 0x991C, 0xF052, 0x991D, 0xF053, 0x991E, 0xF054, 0x991F, 0xF055, 0x9920, 0xF056, 0x9921, 0xF057, 0x9922, 0xF058, - 0x9923, 0xF059, 0x9924, 0xF05A, 0x9925, 0xF05B, 0x9926, 0xF05C, 0x9927, 0xF05D, 0x9928, 0xF05E, 0x9929, 0xF05F, 0x992A, 0xF060, - 0x992B, 0xF061, 0x992C, 0xF062, 0x992D, 0xF063, 0x992E, 0xF7D1, 0x992F, 0xF064, 0x9930, 0xF065, 0x9931, 0xF066, 0x9932, 0xF067, - 0x9933, 0xF068, 0x9934, 0xF069, 0x9935, 0xF06A, 0x9936, 0xF06B, 0x9937, 0xF06C, 0x9938, 0xF06D, 0x9939, 0xF06E, 0x993A, 0xF06F, - 0x993B, 0xF070, 0x993C, 0xF071, 0x993D, 0xF072, 0x993E, 0xF073, 0x993F, 0xF074, 0x9940, 0xF075, 0x9941, 0xF076, 0x9942, 0xF077, - 0x9943, 0xF078, 0x9944, 0xF079, 0x9945, 0xF07A, 0x9946, 0xF07B, 0x9947, 0xF07C, 0x9948, 0xF07D, 0x9949, 0xF07E, 0x994A, 0xF080, - 0x994B, 0xF081, 0x994C, 0xF082, 0x994D, 0xF083, 0x994E, 0xF084, 0x994F, 0xF085, 0x9950, 0xF086, 0x9951, 0xF087, 0x9952, 0xF088, - 0x9953, 0xF089, 0x9954, 0xF7D3, 0x9955, 0xF7D2, 0x9956, 0xF08A, 0x9957, 0xF08B, 0x9958, 0xF08C, 0x9959, 0xF08D, 0x995A, 0xF08E, - 0x995B, 0xF08F, 0x995C, 0xF090, 0x995D, 0xF091, 0x995E, 0xF092, 0x995F, 0xF093, 0x9960, 0xF094, 0x9961, 0xF095, 0x9962, 0xF096, - 0x9963, 0xE2BB, 0x9964, 0xF097, 0x9965, 0xBCA2, 0x9966, 0xF098, 0x9967, 0xE2BC, 0x9968, 0xE2BD, 0x9969, 0xE2BE, 0x996A, 0xE2BF, - 0x996B, 0xE2C0, 0x996C, 0xE2C1, 0x996D, 0xB7B9, 0x996E, 0xD2FB, 0x996F, 0xBDA4, 0x9970, 0xCACE, 0x9971, 0xB1A5, 0x9972, 0xCBC7, - 0x9973, 0xF099, 0x9974, 0xE2C2, 0x9975, 0xB6FC, 0x9976, 0xC8C4, 0x9977, 0xE2C3, 0x9978, 0xF09A, 0x9979, 0xF09B, 0x997A, 0xBDC8, - 0x997B, 0xF09C, 0x997C, 0xB1FD, 0x997D, 0xE2C4, 0x997E, 0xF09D, 0x997F, 0xB6F6, 0x9980, 0xE2C5, 0x9981, 0xC4D9, 0x9982, 0xF09E, - 0x9983, 0xF09F, 0x9984, 0xE2C6, 0x9985, 0xCFDA, 0x9986, 0xB9DD, 0x9987, 0xE2C7, 0x9988, 0xC0A1, 0x9989, 0xF0A0, 0x998A, 0xE2C8, - 0x998B, 0xB2F6, 0x998C, 0xF140, 0x998D, 0xE2C9, 0x998E, 0xF141, 0x998F, 0xC1F3, 0x9990, 0xE2CA, 0x9991, 0xE2CB, 0x9992, 0xC2F8, - 0x9993, 0xE2CC, 0x9994, 0xE2CD, 0x9995, 0xE2CE, 0x9996, 0xCAD7, 0x9997, 0xD8B8, 0x9998, 0xD9E5, 0x9999, 0xCFE3, 0x999A, 0xF142, - 0x999B, 0xF143, 0x999C, 0xF144, 0x999D, 0xF145, 0x999E, 0xF146, 0x999F, 0xF147, 0x99A0, 0xF148, 0x99A1, 0xF149, 0x99A2, 0xF14A, - 0x99A3, 0xF14B, 0x99A4, 0xF14C, 0x99A5, 0xF0A5, 0x99A6, 0xF14D, 0x99A7, 0xF14E, 0x99A8, 0xDCB0, 0x99A9, 0xF14F, 0x99AA, 0xF150, - 0x99AB, 0xF151, 0x99AC, 0xF152, 0x99AD, 0xF153, 0x99AE, 0xF154, 0x99AF, 0xF155, 0x99B0, 0xF156, 0x99B1, 0xF157, 0x99B2, 0xF158, - 0x99B3, 0xF159, 0x99B4, 0xF15A, 0x99B5, 0xF15B, 0x99B6, 0xF15C, 0x99B7, 0xF15D, 0x99B8, 0xF15E, 0x99B9, 0xF15F, 0x99BA, 0xF160, - 0x99BB, 0xF161, 0x99BC, 0xF162, 0x99BD, 0xF163, 0x99BE, 0xF164, 0x99BF, 0xF165, 0x99C0, 0xF166, 0x99C1, 0xF167, 0x99C2, 0xF168, - 0x99C3, 0xF169, 0x99C4, 0xF16A, 0x99C5, 0xF16B, 0x99C6, 0xF16C, 0x99C7, 0xF16D, 0x99C8, 0xF16E, 0x99C9, 0xF16F, 0x99CA, 0xF170, - 0x99CB, 0xF171, 0x99CC, 0xF172, 0x99CD, 0xF173, 0x99CE, 0xF174, 0x99CF, 0xF175, 0x99D0, 0xF176, 0x99D1, 0xF177, 0x99D2, 0xF178, - 0x99D3, 0xF179, 0x99D4, 0xF17A, 0x99D5, 0xF17B, 0x99D6, 0xF17C, 0x99D7, 0xF17D, 0x99D8, 0xF17E, 0x99D9, 0xF180, 0x99DA, 0xF181, - 0x99DB, 0xF182, 0x99DC, 0xF183, 0x99DD, 0xF184, 0x99DE, 0xF185, 0x99DF, 0xF186, 0x99E0, 0xF187, 0x99E1, 0xF188, 0x99E2, 0xF189, - 0x99E3, 0xF18A, 0x99E4, 0xF18B, 0x99E5, 0xF18C, 0x99E6, 0xF18D, 0x99E7, 0xF18E, 0x99E8, 0xF18F, 0x99E9, 0xF190, 0x99EA, 0xF191, - 0x99EB, 0xF192, 0x99EC, 0xF193, 0x99ED, 0xF194, 0x99EE, 0xF195, 0x99EF, 0xF196, 0x99F0, 0xF197, 0x99F1, 0xF198, 0x99F2, 0xF199, - 0x99F3, 0xF19A, 0x99F4, 0xF19B, 0x99F5, 0xF19C, 0x99F6, 0xF19D, 0x99F7, 0xF19E, 0x99F8, 0xF19F, 0x99F9, 0xF1A0, 0x99FA, 0xF240, - 0x99FB, 0xF241, 0x99FC, 0xF242, 0x99FD, 0xF243, 0x99FE, 0xF244, 0x99FF, 0xF245, 0x9A00, 0xF246, 0x9A01, 0xF247, 0x9A02, 0xF248, - 0x9A03, 0xF249, 0x9A04, 0xF24A, 0x9A05, 0xF24B, 0x9A06, 0xF24C, 0x9A07, 0xF24D, 0x9A08, 0xF24E, 0x9A09, 0xF24F, 0x9A0A, 0xF250, - 0x9A0B, 0xF251, 0x9A0C, 0xF252, 0x9A0D, 0xF253, 0x9A0E, 0xF254, 0x9A0F, 0xF255, 0x9A10, 0xF256, 0x9A11, 0xF257, 0x9A12, 0xF258, - 0x9A13, 0xF259, 0x9A14, 0xF25A, 0x9A15, 0xF25B, 0x9A16, 0xF25C, 0x9A17, 0xF25D, 0x9A18, 0xF25E, 0x9A19, 0xF25F, 0x9A1A, 0xF260, - 0x9A1B, 0xF261, 0x9A1C, 0xF262, 0x9A1D, 0xF263, 0x9A1E, 0xF264, 0x9A1F, 0xF265, 0x9A20, 0xF266, 0x9A21, 0xF267, 0x9A22, 0xF268, - 0x9A23, 0xF269, 0x9A24, 0xF26A, 0x9A25, 0xF26B, 0x9A26, 0xF26C, 0x9A27, 0xF26D, 0x9A28, 0xF26E, 0x9A29, 0xF26F, 0x9A2A, 0xF270, - 0x9A2B, 0xF271, 0x9A2C, 0xF272, 0x9A2D, 0xF273, 0x9A2E, 0xF274, 0x9A2F, 0xF275, 0x9A30, 0xF276, 0x9A31, 0xF277, 0x9A32, 0xF278, - 0x9A33, 0xF279, 0x9A34, 0xF27A, 0x9A35, 0xF27B, 0x9A36, 0xF27C, 0x9A37, 0xF27D, 0x9A38, 0xF27E, 0x9A39, 0xF280, 0x9A3A, 0xF281, - 0x9A3B, 0xF282, 0x9A3C, 0xF283, 0x9A3D, 0xF284, 0x9A3E, 0xF285, 0x9A3F, 0xF286, 0x9A40, 0xF287, 0x9A41, 0xF288, 0x9A42, 0xF289, - 0x9A43, 0xF28A, 0x9A44, 0xF28B, 0x9A45, 0xF28C, 0x9A46, 0xF28D, 0x9A47, 0xF28E, 0x9A48, 0xF28F, 0x9A49, 0xF290, 0x9A4A, 0xF291, - 0x9A4B, 0xF292, 0x9A4C, 0xF293, 0x9A4D, 0xF294, 0x9A4E, 0xF295, 0x9A4F, 0xF296, 0x9A50, 0xF297, 0x9A51, 0xF298, 0x9A52, 0xF299, - 0x9A53, 0xF29A, 0x9A54, 0xF29B, 0x9A55, 0xF29C, 0x9A56, 0xF29D, 0x9A57, 0xF29E, 0x9A58, 0xF29F, 0x9A59, 0xF2A0, 0x9A5A, 0xF340, - 0x9A5B, 0xF341, 0x9A5C, 0xF342, 0x9A5D, 0xF343, 0x9A5E, 0xF344, 0x9A5F, 0xF345, 0x9A60, 0xF346, 0x9A61, 0xF347, 0x9A62, 0xF348, - 0x9A63, 0xF349, 0x9A64, 0xF34A, 0x9A65, 0xF34B, 0x9A66, 0xF34C, 0x9A67, 0xF34D, 0x9A68, 0xF34E, 0x9A69, 0xF34F, 0x9A6A, 0xF350, - 0x9A6B, 0xF351, 0x9A6C, 0xC2ED, 0x9A6D, 0xD4A6, 0x9A6E, 0xCDD4, 0x9A6F, 0xD1B1, 0x9A70, 0xB3DB, 0x9A71, 0xC7FD, 0x9A72, 0xF352, - 0x9A73, 0xB2B5, 0x9A74, 0xC2BF, 0x9A75, 0xE6E0, 0x9A76, 0xCABB, 0x9A77, 0xE6E1, 0x9A78, 0xE6E2, 0x9A79, 0xBED4, 0x9A7A, 0xE6E3, - 0x9A7B, 0xD7A4, 0x9A7C, 0xCDD5, 0x9A7D, 0xE6E5, 0x9A7E, 0xBCDD, 0x9A7F, 0xE6E4, 0x9A80, 0xE6E6, 0x9A81, 0xE6E7, 0x9A82, 0xC2EE, - 0x9A83, 0xF353, 0x9A84, 0xBDBE, 0x9A85, 0xE6E8, 0x9A86, 0xC2E6, 0x9A87, 0xBAA7, 0x9A88, 0xE6E9, 0x9A89, 0xF354, 0x9A8A, 0xE6EA, - 0x9A8B, 0xB3D2, 0x9A8C, 0xD1E9, 0x9A8D, 0xF355, 0x9A8E, 0xF356, 0x9A8F, 0xBFA5, 0x9A90, 0xE6EB, 0x9A91, 0xC6EF, 0x9A92, 0xE6EC, - 0x9A93, 0xE6ED, 0x9A94, 0xF357, 0x9A95, 0xF358, 0x9A96, 0xE6EE, 0x9A97, 0xC6AD, 0x9A98, 0xE6EF, 0x9A99, 0xF359, 0x9A9A, 0xC9A7, - 0x9A9B, 0xE6F0, 0x9A9C, 0xE6F1, 0x9A9D, 0xE6F2, 0x9A9E, 0xE5B9, 0x9A9F, 0xE6F3, 0x9AA0, 0xE6F4, 0x9AA1, 0xC2E2, 0x9AA2, 0xE6F5, - 0x9AA3, 0xE6F6, 0x9AA4, 0xD6E8, 0x9AA5, 0xE6F7, 0x9AA6, 0xF35A, 0x9AA7, 0xE6F8, 0x9AA8, 0xB9C7, 0x9AA9, 0xF35B, 0x9AAA, 0xF35C, - 0x9AAB, 0xF35D, 0x9AAC, 0xF35E, 0x9AAD, 0xF35F, 0x9AAE, 0xF360, 0x9AAF, 0xF361, 0x9AB0, 0xF7BB, 0x9AB1, 0xF7BA, 0x9AB2, 0xF362, - 0x9AB3, 0xF363, 0x9AB4, 0xF364, 0x9AB5, 0xF365, 0x9AB6, 0xF7BE, 0x9AB7, 0xF7BC, 0x9AB8, 0xBAA1, 0x9AB9, 0xF366, 0x9ABA, 0xF7BF, - 0x9ABB, 0xF367, 0x9ABC, 0xF7C0, 0x9ABD, 0xF368, 0x9ABE, 0xF369, 0x9ABF, 0xF36A, 0x9AC0, 0xF7C2, 0x9AC1, 0xF7C1, 0x9AC2, 0xF7C4, - 0x9AC3, 0xF36B, 0x9AC4, 0xF36C, 0x9AC5, 0xF7C3, 0x9AC6, 0xF36D, 0x9AC7, 0xF36E, 0x9AC8, 0xF36F, 0x9AC9, 0xF370, 0x9ACA, 0xF371, - 0x9ACB, 0xF7C5, 0x9ACC, 0xF7C6, 0x9ACD, 0xF372, 0x9ACE, 0xF373, 0x9ACF, 0xF374, 0x9AD0, 0xF375, 0x9AD1, 0xF7C7, 0x9AD2, 0xF376, - 0x9AD3, 0xCBE8, 0x9AD4, 0xF377, 0x9AD5, 0xF378, 0x9AD6, 0xF379, 0x9AD7, 0xF37A, 0x9AD8, 0xB8DF, 0x9AD9, 0xF37B, 0x9ADA, 0xF37C, - 0x9ADB, 0xF37D, 0x9ADC, 0xF37E, 0x9ADD, 0xF380, 0x9ADE, 0xF381, 0x9ADF, 0xF7D4, 0x9AE0, 0xF382, 0x9AE1, 0xF7D5, 0x9AE2, 0xF383, - 0x9AE3, 0xF384, 0x9AE4, 0xF385, 0x9AE5, 0xF386, 0x9AE6, 0xF7D6, 0x9AE7, 0xF387, 0x9AE8, 0xF388, 0x9AE9, 0xF389, 0x9AEA, 0xF38A, - 0x9AEB, 0xF7D8, 0x9AEC, 0xF38B, 0x9AED, 0xF7DA, 0x9AEE, 0xF38C, 0x9AEF, 0xF7D7, 0x9AF0, 0xF38D, 0x9AF1, 0xF38E, 0x9AF2, 0xF38F, - 0x9AF3, 0xF390, 0x9AF4, 0xF391, 0x9AF5, 0xF392, 0x9AF6, 0xF393, 0x9AF7, 0xF394, 0x9AF8, 0xF395, 0x9AF9, 0xF7DB, 0x9AFA, 0xF396, - 0x9AFB, 0xF7D9, 0x9AFC, 0xF397, 0x9AFD, 0xF398, 0x9AFE, 0xF399, 0x9AFF, 0xF39A, 0x9B00, 0xF39B, 0x9B01, 0xF39C, 0x9B02, 0xF39D, - 0x9B03, 0xD7D7, 0x9B04, 0xF39E, 0x9B05, 0xF39F, 0x9B06, 0xF3A0, 0x9B07, 0xF440, 0x9B08, 0xF7DC, 0x9B09, 0xF441, 0x9B0A, 0xF442, - 0x9B0B, 0xF443, 0x9B0C, 0xF444, 0x9B0D, 0xF445, 0x9B0E, 0xF446, 0x9B0F, 0xF7DD, 0x9B10, 0xF447, 0x9B11, 0xF448, 0x9B12, 0xF449, - 0x9B13, 0xF7DE, 0x9B14, 0xF44A, 0x9B15, 0xF44B, 0x9B16, 0xF44C, 0x9B17, 0xF44D, 0x9B18, 0xF44E, 0x9B19, 0xF44F, 0x9B1A, 0xF450, - 0x9B1B, 0xF451, 0x9B1C, 0xF452, 0x9B1D, 0xF453, 0x9B1E, 0xF454, 0x9B1F, 0xF7DF, 0x9B20, 0xF455, 0x9B21, 0xF456, 0x9B22, 0xF457, - 0x9B23, 0xF7E0, 0x9B24, 0xF458, 0x9B25, 0xF459, 0x9B26, 0xF45A, 0x9B27, 0xF45B, 0x9B28, 0xF45C, 0x9B29, 0xF45D, 0x9B2A, 0xF45E, - 0x9B2B, 0xF45F, 0x9B2C, 0xF460, 0x9B2D, 0xF461, 0x9B2E, 0xF462, 0x9B2F, 0xDBCB, 0x9B30, 0xF463, 0x9B31, 0xF464, 0x9B32, 0xD8AA, - 0x9B33, 0xF465, 0x9B34, 0xF466, 0x9B35, 0xF467, 0x9B36, 0xF468, 0x9B37, 0xF469, 0x9B38, 0xF46A, 0x9B39, 0xF46B, 0x9B3A, 0xF46C, - 0x9B3B, 0xE5F7, 0x9B3C, 0xB9ED, 0x9B3D, 0xF46D, 0x9B3E, 0xF46E, 0x9B3F, 0xF46F, 0x9B40, 0xF470, 0x9B41, 0xBFFD, 0x9B42, 0xBBEA, - 0x9B43, 0xF7C9, 0x9B44, 0xC6C7, 0x9B45, 0xF7C8, 0x9B46, 0xF471, 0x9B47, 0xF7CA, 0x9B48, 0xF7CC, 0x9B49, 0xF7CB, 0x9B4A, 0xF472, - 0x9B4B, 0xF473, 0x9B4C, 0xF474, 0x9B4D, 0xF7CD, 0x9B4E, 0xF475, 0x9B4F, 0xCEBA, 0x9B50, 0xF476, 0x9B51, 0xF7CE, 0x9B52, 0xF477, - 0x9B53, 0xF478, 0x9B54, 0xC4A7, 0x9B55, 0xF479, 0x9B56, 0xF47A, 0x9B57, 0xF47B, 0x9B58, 0xF47C, 0x9B59, 0xF47D, 0x9B5A, 0xF47E, - 0x9B5B, 0xF480, 0x9B5C, 0xF481, 0x9B5D, 0xF482, 0x9B5E, 0xF483, 0x9B5F, 0xF484, 0x9B60, 0xF485, 0x9B61, 0xF486, 0x9B62, 0xF487, - 0x9B63, 0xF488, 0x9B64, 0xF489, 0x9B65, 0xF48A, 0x9B66, 0xF48B, 0x9B67, 0xF48C, 0x9B68, 0xF48D, 0x9B69, 0xF48E, 0x9B6A, 0xF48F, - 0x9B6B, 0xF490, 0x9B6C, 0xF491, 0x9B6D, 0xF492, 0x9B6E, 0xF493, 0x9B6F, 0xF494, 0x9B70, 0xF495, 0x9B71, 0xF496, 0x9B72, 0xF497, - 0x9B73, 0xF498, 0x9B74, 0xF499, 0x9B75, 0xF49A, 0x9B76, 0xF49B, 0x9B77, 0xF49C, 0x9B78, 0xF49D, 0x9B79, 0xF49E, 0x9B7A, 0xF49F, - 0x9B7B, 0xF4A0, 0x9B7C, 0xF540, 0x9B7D, 0xF541, 0x9B7E, 0xF542, 0x9B7F, 0xF543, 0x9B80, 0xF544, 0x9B81, 0xF545, 0x9B82, 0xF546, - 0x9B83, 0xF547, 0x9B84, 0xF548, 0x9B85, 0xF549, 0x9B86, 0xF54A, 0x9B87, 0xF54B, 0x9B88, 0xF54C, 0x9B89, 0xF54D, 0x9B8A, 0xF54E, - 0x9B8B, 0xF54F, 0x9B8C, 0xF550, 0x9B8D, 0xF551, 0x9B8E, 0xF552, 0x9B8F, 0xF553, 0x9B90, 0xF554, 0x9B91, 0xF555, 0x9B92, 0xF556, - 0x9B93, 0xF557, 0x9B94, 0xF558, 0x9B95, 0xF559, 0x9B96, 0xF55A, 0x9B97, 0xF55B, 0x9B98, 0xF55C, 0x9B99, 0xF55D, 0x9B9A, 0xF55E, - 0x9B9B, 0xF55F, 0x9B9C, 0xF560, 0x9B9D, 0xF561, 0x9B9E, 0xF562, 0x9B9F, 0xF563, 0x9BA0, 0xF564, 0x9BA1, 0xF565, 0x9BA2, 0xF566, - 0x9BA3, 0xF567, 0x9BA4, 0xF568, 0x9BA5, 0xF569, 0x9BA6, 0xF56A, 0x9BA7, 0xF56B, 0x9BA8, 0xF56C, 0x9BA9, 0xF56D, 0x9BAA, 0xF56E, - 0x9BAB, 0xF56F, 0x9BAC, 0xF570, 0x9BAD, 0xF571, 0x9BAE, 0xF572, 0x9BAF, 0xF573, 0x9BB0, 0xF574, 0x9BB1, 0xF575, 0x9BB2, 0xF576, - 0x9BB3, 0xF577, 0x9BB4, 0xF578, 0x9BB5, 0xF579, 0x9BB6, 0xF57A, 0x9BB7, 0xF57B, 0x9BB8, 0xF57C, 0x9BB9, 0xF57D, 0x9BBA, 0xF57E, - 0x9BBB, 0xF580, 0x9BBC, 0xF581, 0x9BBD, 0xF582, 0x9BBE, 0xF583, 0x9BBF, 0xF584, 0x9BC0, 0xF585, 0x9BC1, 0xF586, 0x9BC2, 0xF587, - 0x9BC3, 0xF588, 0x9BC4, 0xF589, 0x9BC5, 0xF58A, 0x9BC6, 0xF58B, 0x9BC7, 0xF58C, 0x9BC8, 0xF58D, 0x9BC9, 0xF58E, 0x9BCA, 0xF58F, - 0x9BCB, 0xF590, 0x9BCC, 0xF591, 0x9BCD, 0xF592, 0x9BCE, 0xF593, 0x9BCF, 0xF594, 0x9BD0, 0xF595, 0x9BD1, 0xF596, 0x9BD2, 0xF597, - 0x9BD3, 0xF598, 0x9BD4, 0xF599, 0x9BD5, 0xF59A, 0x9BD6, 0xF59B, 0x9BD7, 0xF59C, 0x9BD8, 0xF59D, 0x9BD9, 0xF59E, 0x9BDA, 0xF59F, - 0x9BDB, 0xF5A0, 0x9BDC, 0xF640, 0x9BDD, 0xF641, 0x9BDE, 0xF642, 0x9BDF, 0xF643, 0x9BE0, 0xF644, 0x9BE1, 0xF645, 0x9BE2, 0xF646, - 0x9BE3, 0xF647, 0x9BE4, 0xF648, 0x9BE5, 0xF649, 0x9BE6, 0xF64A, 0x9BE7, 0xF64B, 0x9BE8, 0xF64C, 0x9BE9, 0xF64D, 0x9BEA, 0xF64E, - 0x9BEB, 0xF64F, 0x9BEC, 0xF650, 0x9BED, 0xF651, 0x9BEE, 0xF652, 0x9BEF, 0xF653, 0x9BF0, 0xF654, 0x9BF1, 0xF655, 0x9BF2, 0xF656, - 0x9BF3, 0xF657, 0x9BF4, 0xF658, 0x9BF5, 0xF659, 0x9BF6, 0xF65A, 0x9BF7, 0xF65B, 0x9BF8, 0xF65C, 0x9BF9, 0xF65D, 0x9BFA, 0xF65E, - 0x9BFB, 0xF65F, 0x9BFC, 0xF660, 0x9BFD, 0xF661, 0x9BFE, 0xF662, 0x9BFF, 0xF663, 0x9C00, 0xF664, 0x9C01, 0xF665, 0x9C02, 0xF666, - 0x9C03, 0xF667, 0x9C04, 0xF668, 0x9C05, 0xF669, 0x9C06, 0xF66A, 0x9C07, 0xF66B, 0x9C08, 0xF66C, 0x9C09, 0xF66D, 0x9C0A, 0xF66E, - 0x9C0B, 0xF66F, 0x9C0C, 0xF670, 0x9C0D, 0xF671, 0x9C0E, 0xF672, 0x9C0F, 0xF673, 0x9C10, 0xF674, 0x9C11, 0xF675, 0x9C12, 0xF676, - 0x9C13, 0xF677, 0x9C14, 0xF678, 0x9C15, 0xF679, 0x9C16, 0xF67A, 0x9C17, 0xF67B, 0x9C18, 0xF67C, 0x9C19, 0xF67D, 0x9C1A, 0xF67E, - 0x9C1B, 0xF680, 0x9C1C, 0xF681, 0x9C1D, 0xF682, 0x9C1E, 0xF683, 0x9C1F, 0xF684, 0x9C20, 0xF685, 0x9C21, 0xF686, 0x9C22, 0xF687, - 0x9C23, 0xF688, 0x9C24, 0xF689, 0x9C25, 0xF68A, 0x9C26, 0xF68B, 0x9C27, 0xF68C, 0x9C28, 0xF68D, 0x9C29, 0xF68E, 0x9C2A, 0xF68F, - 0x9C2B, 0xF690, 0x9C2C, 0xF691, 0x9C2D, 0xF692, 0x9C2E, 0xF693, 0x9C2F, 0xF694, 0x9C30, 0xF695, 0x9C31, 0xF696, 0x9C32, 0xF697, - 0x9C33, 0xF698, 0x9C34, 0xF699, 0x9C35, 0xF69A, 0x9C36, 0xF69B, 0x9C37, 0xF69C, 0x9C38, 0xF69D, 0x9C39, 0xF69E, 0x9C3A, 0xF69F, - 0x9C3B, 0xF6A0, 0x9C3C, 0xF740, 0x9C3D, 0xF741, 0x9C3E, 0xF742, 0x9C3F, 0xF743, 0x9C40, 0xF744, 0x9C41, 0xF745, 0x9C42, 0xF746, - 0x9C43, 0xF747, 0x9C44, 0xF748, 0x9C45, 0xF749, 0x9C46, 0xF74A, 0x9C47, 0xF74B, 0x9C48, 0xF74C, 0x9C49, 0xF74D, 0x9C4A, 0xF74E, - 0x9C4B, 0xF74F, 0x9C4C, 0xF750, 0x9C4D, 0xF751, 0x9C4E, 0xF752, 0x9C4F, 0xF753, 0x9C50, 0xF754, 0x9C51, 0xF755, 0x9C52, 0xF756, - 0x9C53, 0xF757, 0x9C54, 0xF758, 0x9C55, 0xF759, 0x9C56, 0xF75A, 0x9C57, 0xF75B, 0x9C58, 0xF75C, 0x9C59, 0xF75D, 0x9C5A, 0xF75E, - 0x9C5B, 0xF75F, 0x9C5C, 0xF760, 0x9C5D, 0xF761, 0x9C5E, 0xF762, 0x9C5F, 0xF763, 0x9C60, 0xF764, 0x9C61, 0xF765, 0x9C62, 0xF766, - 0x9C63, 0xF767, 0x9C64, 0xF768, 0x9C65, 0xF769, 0x9C66, 0xF76A, 0x9C67, 0xF76B, 0x9C68, 0xF76C, 0x9C69, 0xF76D, 0x9C6A, 0xF76E, - 0x9C6B, 0xF76F, 0x9C6C, 0xF770, 0x9C6D, 0xF771, 0x9C6E, 0xF772, 0x9C6F, 0xF773, 0x9C70, 0xF774, 0x9C71, 0xF775, 0x9C72, 0xF776, - 0x9C73, 0xF777, 0x9C74, 0xF778, 0x9C75, 0xF779, 0x9C76, 0xF77A, 0x9C77, 0xF77B, 0x9C78, 0xF77C, 0x9C79, 0xF77D, 0x9C7A, 0xF77E, - 0x9C7B, 0xF780, 0x9C7C, 0xD3E3, 0x9C7D, 0xF781, 0x9C7E, 0xF782, 0x9C7F, 0xF6CF, 0x9C80, 0xF783, 0x9C81, 0xC2B3, 0x9C82, 0xF6D0, - 0x9C83, 0xF784, 0x9C84, 0xF785, 0x9C85, 0xF6D1, 0x9C86, 0xF6D2, 0x9C87, 0xF6D3, 0x9C88, 0xF6D4, 0x9C89, 0xF786, 0x9C8A, 0xF787, - 0x9C8B, 0xF6D6, 0x9C8C, 0xF788, 0x9C8D, 0xB1AB, 0x9C8E, 0xF6D7, 0x9C8F, 0xF789, 0x9C90, 0xF6D8, 0x9C91, 0xF6D9, 0x9C92, 0xF6DA, - 0x9C93, 0xF78A, 0x9C94, 0xF6DB, 0x9C95, 0xF6DC, 0x9C96, 0xF78B, 0x9C97, 0xF78C, 0x9C98, 0xF78D, 0x9C99, 0xF78E, 0x9C9A, 0xF6DD, - 0x9C9B, 0xF6DE, 0x9C9C, 0xCFCA, 0x9C9D, 0xF78F, 0x9C9E, 0xF6DF, 0x9C9F, 0xF6E0, 0x9CA0, 0xF6E1, 0x9CA1, 0xF6E2, 0x9CA2, 0xF6E3, - 0x9CA3, 0xF6E4, 0x9CA4, 0xC0F0, 0x9CA5, 0xF6E5, 0x9CA6, 0xF6E6, 0x9CA7, 0xF6E7, 0x9CA8, 0xF6E8, 0x9CA9, 0xF6E9, 0x9CAA, 0xF790, - 0x9CAB, 0xF6EA, 0x9CAC, 0xF791, 0x9CAD, 0xF6EB, 0x9CAE, 0xF6EC, 0x9CAF, 0xF792, 0x9CB0, 0xF6ED, 0x9CB1, 0xF6EE, 0x9CB2, 0xF6EF, - 0x9CB3, 0xF6F0, 0x9CB4, 0xF6F1, 0x9CB5, 0xF6F2, 0x9CB6, 0xF6F3, 0x9CB7, 0xF6F4, 0x9CB8, 0xBEA8, 0x9CB9, 0xF793, 0x9CBA, 0xF6F5, - 0x9CBB, 0xF6F6, 0x9CBC, 0xF6F7, 0x9CBD, 0xF6F8, 0x9CBE, 0xF794, 0x9CBF, 0xF795, 0x9CC0, 0xF796, 0x9CC1, 0xF797, 0x9CC2, 0xF798, - 0x9CC3, 0xC8FA, 0x9CC4, 0xF6F9, 0x9CC5, 0xF6FA, 0x9CC6, 0xF6FB, 0x9CC7, 0xF6FC, 0x9CC8, 0xF799, 0x9CC9, 0xF79A, 0x9CCA, 0xF6FD, - 0x9CCB, 0xF6FE, 0x9CCC, 0xF7A1, 0x9CCD, 0xF7A2, 0x9CCE, 0xF7A3, 0x9CCF, 0xF7A4, 0x9CD0, 0xF7A5, 0x9CD1, 0xF79B, 0x9CD2, 0xF79C, - 0x9CD3, 0xF7A6, 0x9CD4, 0xF7A7, 0x9CD5, 0xF7A8, 0x9CD6, 0xB1EE, 0x9CD7, 0xF7A9, 0x9CD8, 0xF7AA, 0x9CD9, 0xF7AB, 0x9CDA, 0xF79D, - 0x9CDB, 0xF79E, 0x9CDC, 0xF7AC, 0x9CDD, 0xF7AD, 0x9CDE, 0xC1DB, 0x9CDF, 0xF7AE, 0x9CE0, 0xF79F, 0x9CE1, 0xF7A0, 0x9CE2, 0xF7AF, - 0x9CE3, 0xF840, 0x9CE4, 0xF841, 0x9CE5, 0xF842, 0x9CE6, 0xF843, 0x9CE7, 0xF844, 0x9CE8, 0xF845, 0x9CE9, 0xF846, 0x9CEA, 0xF847, - 0x9CEB, 0xF848, 0x9CEC, 0xF849, 0x9CED, 0xF84A, 0x9CEE, 0xF84B, 0x9CEF, 0xF84C, 0x9CF0, 0xF84D, 0x9CF1, 0xF84E, 0x9CF2, 0xF84F, - 0x9CF3, 0xF850, 0x9CF4, 0xF851, 0x9CF5, 0xF852, 0x9CF6, 0xF853, 0x9CF7, 0xF854, 0x9CF8, 0xF855, 0x9CF9, 0xF856, 0x9CFA, 0xF857, - 0x9CFB, 0xF858, 0x9CFC, 0xF859, 0x9CFD, 0xF85A, 0x9CFE, 0xF85B, 0x9CFF, 0xF85C, 0x9D00, 0xF85D, 0x9D01, 0xF85E, 0x9D02, 0xF85F, - 0x9D03, 0xF860, 0x9D04, 0xF861, 0x9D05, 0xF862, 0x9D06, 0xF863, 0x9D07, 0xF864, 0x9D08, 0xF865, 0x9D09, 0xF866, 0x9D0A, 0xF867, - 0x9D0B, 0xF868, 0x9D0C, 0xF869, 0x9D0D, 0xF86A, 0x9D0E, 0xF86B, 0x9D0F, 0xF86C, 0x9D10, 0xF86D, 0x9D11, 0xF86E, 0x9D12, 0xF86F, - 0x9D13, 0xF870, 0x9D14, 0xF871, 0x9D15, 0xF872, 0x9D16, 0xF873, 0x9D17, 0xF874, 0x9D18, 0xF875, 0x9D19, 0xF876, 0x9D1A, 0xF877, - 0x9D1B, 0xF878, 0x9D1C, 0xF879, 0x9D1D, 0xF87A, 0x9D1E, 0xF87B, 0x9D1F, 0xF87C, 0x9D20, 0xF87D, 0x9D21, 0xF87E, 0x9D22, 0xF880, - 0x9D23, 0xF881, 0x9D24, 0xF882, 0x9D25, 0xF883, 0x9D26, 0xF884, 0x9D27, 0xF885, 0x9D28, 0xF886, 0x9D29, 0xF887, 0x9D2A, 0xF888, - 0x9D2B, 0xF889, 0x9D2C, 0xF88A, 0x9D2D, 0xF88B, 0x9D2E, 0xF88C, 0x9D2F, 0xF88D, 0x9D30, 0xF88E, 0x9D31, 0xF88F, 0x9D32, 0xF890, - 0x9D33, 0xF891, 0x9D34, 0xF892, 0x9D35, 0xF893, 0x9D36, 0xF894, 0x9D37, 0xF895, 0x9D38, 0xF896, 0x9D39, 0xF897, 0x9D3A, 0xF898, - 0x9D3B, 0xF899, 0x9D3C, 0xF89A, 0x9D3D, 0xF89B, 0x9D3E, 0xF89C, 0x9D3F, 0xF89D, 0x9D40, 0xF89E, 0x9D41, 0xF89F, 0x9D42, 0xF8A0, - 0x9D43, 0xF940, 0x9D44, 0xF941, 0x9D45, 0xF942, 0x9D46, 0xF943, 0x9D47, 0xF944, 0x9D48, 0xF945, 0x9D49, 0xF946, 0x9D4A, 0xF947, - 0x9D4B, 0xF948, 0x9D4C, 0xF949, 0x9D4D, 0xF94A, 0x9D4E, 0xF94B, 0x9D4F, 0xF94C, 0x9D50, 0xF94D, 0x9D51, 0xF94E, 0x9D52, 0xF94F, - 0x9D53, 0xF950, 0x9D54, 0xF951, 0x9D55, 0xF952, 0x9D56, 0xF953, 0x9D57, 0xF954, 0x9D58, 0xF955, 0x9D59, 0xF956, 0x9D5A, 0xF957, - 0x9D5B, 0xF958, 0x9D5C, 0xF959, 0x9D5D, 0xF95A, 0x9D5E, 0xF95B, 0x9D5F, 0xF95C, 0x9D60, 0xF95D, 0x9D61, 0xF95E, 0x9D62, 0xF95F, - 0x9D63, 0xF960, 0x9D64, 0xF961, 0x9D65, 0xF962, 0x9D66, 0xF963, 0x9D67, 0xF964, 0x9D68, 0xF965, 0x9D69, 0xF966, 0x9D6A, 0xF967, - 0x9D6B, 0xF968, 0x9D6C, 0xF969, 0x9D6D, 0xF96A, 0x9D6E, 0xF96B, 0x9D6F, 0xF96C, 0x9D70, 0xF96D, 0x9D71, 0xF96E, 0x9D72, 0xF96F, - 0x9D73, 0xF970, 0x9D74, 0xF971, 0x9D75, 0xF972, 0x9D76, 0xF973, 0x9D77, 0xF974, 0x9D78, 0xF975, 0x9D79, 0xF976, 0x9D7A, 0xF977, - 0x9D7B, 0xF978, 0x9D7C, 0xF979, 0x9D7D, 0xF97A, 0x9D7E, 0xF97B, 0x9D7F, 0xF97C, 0x9D80, 0xF97D, 0x9D81, 0xF97E, 0x9D82, 0xF980, - 0x9D83, 0xF981, 0x9D84, 0xF982, 0x9D85, 0xF983, 0x9D86, 0xF984, 0x9D87, 0xF985, 0x9D88, 0xF986, 0x9D89, 0xF987, 0x9D8A, 0xF988, - 0x9D8B, 0xF989, 0x9D8C, 0xF98A, 0x9D8D, 0xF98B, 0x9D8E, 0xF98C, 0x9D8F, 0xF98D, 0x9D90, 0xF98E, 0x9D91, 0xF98F, 0x9D92, 0xF990, - 0x9D93, 0xF991, 0x9D94, 0xF992, 0x9D95, 0xF993, 0x9D96, 0xF994, 0x9D97, 0xF995, 0x9D98, 0xF996, 0x9D99, 0xF997, 0x9D9A, 0xF998, - 0x9D9B, 0xF999, 0x9D9C, 0xF99A, 0x9D9D, 0xF99B, 0x9D9E, 0xF99C, 0x9D9F, 0xF99D, 0x9DA0, 0xF99E, 0x9DA1, 0xF99F, 0x9DA2, 0xF9A0, - 0x9DA3, 0xFA40, 0x9DA4, 0xFA41, 0x9DA5, 0xFA42, 0x9DA6, 0xFA43, 0x9DA7, 0xFA44, 0x9DA8, 0xFA45, 0x9DA9, 0xFA46, 0x9DAA, 0xFA47, - 0x9DAB, 0xFA48, 0x9DAC, 0xFA49, 0x9DAD, 0xFA4A, 0x9DAE, 0xFA4B, 0x9DAF, 0xFA4C, 0x9DB0, 0xFA4D, 0x9DB1, 0xFA4E, 0x9DB2, 0xFA4F, - 0x9DB3, 0xFA50, 0x9DB4, 0xFA51, 0x9DB5, 0xFA52, 0x9DB6, 0xFA53, 0x9DB7, 0xFA54, 0x9DB8, 0xFA55, 0x9DB9, 0xFA56, 0x9DBA, 0xFA57, - 0x9DBB, 0xFA58, 0x9DBC, 0xFA59, 0x9DBD, 0xFA5A, 0x9DBE, 0xFA5B, 0x9DBF, 0xFA5C, 0x9DC0, 0xFA5D, 0x9DC1, 0xFA5E, 0x9DC2, 0xFA5F, - 0x9DC3, 0xFA60, 0x9DC4, 0xFA61, 0x9DC5, 0xFA62, 0x9DC6, 0xFA63, 0x9DC7, 0xFA64, 0x9DC8, 0xFA65, 0x9DC9, 0xFA66, 0x9DCA, 0xFA67, - 0x9DCB, 0xFA68, 0x9DCC, 0xFA69, 0x9DCD, 0xFA6A, 0x9DCE, 0xFA6B, 0x9DCF, 0xFA6C, 0x9DD0, 0xFA6D, 0x9DD1, 0xFA6E, 0x9DD2, 0xFA6F, - 0x9DD3, 0xFA70, 0x9DD4, 0xFA71, 0x9DD5, 0xFA72, 0x9DD6, 0xFA73, 0x9DD7, 0xFA74, 0x9DD8, 0xFA75, 0x9DD9, 0xFA76, 0x9DDA, 0xFA77, - 0x9DDB, 0xFA78, 0x9DDC, 0xFA79, 0x9DDD, 0xFA7A, 0x9DDE, 0xFA7B, 0x9DDF, 0xFA7C, 0x9DE0, 0xFA7D, 0x9DE1, 0xFA7E, 0x9DE2, 0xFA80, - 0x9DE3, 0xFA81, 0x9DE4, 0xFA82, 0x9DE5, 0xFA83, 0x9DE6, 0xFA84, 0x9DE7, 0xFA85, 0x9DE8, 0xFA86, 0x9DE9, 0xFA87, 0x9DEA, 0xFA88, - 0x9DEB, 0xFA89, 0x9DEC, 0xFA8A, 0x9DED, 0xFA8B, 0x9DEE, 0xFA8C, 0x9DEF, 0xFA8D, 0x9DF0, 0xFA8E, 0x9DF1, 0xFA8F, 0x9DF2, 0xFA90, - 0x9DF3, 0xFA91, 0x9DF4, 0xFA92, 0x9DF5, 0xFA93, 0x9DF6, 0xFA94, 0x9DF7, 0xFA95, 0x9DF8, 0xFA96, 0x9DF9, 0xFA97, 0x9DFA, 0xFA98, - 0x9DFB, 0xFA99, 0x9DFC, 0xFA9A, 0x9DFD, 0xFA9B, 0x9DFE, 0xFA9C, 0x9DFF, 0xFA9D, 0x9E00, 0xFA9E, 0x9E01, 0xFA9F, 0x9E02, 0xFAA0, - 0x9E03, 0xFB40, 0x9E04, 0xFB41, 0x9E05, 0xFB42, 0x9E06, 0xFB43, 0x9E07, 0xFB44, 0x9E08, 0xFB45, 0x9E09, 0xFB46, 0x9E0A, 0xFB47, - 0x9E0B, 0xFB48, 0x9E0C, 0xFB49, 0x9E0D, 0xFB4A, 0x9E0E, 0xFB4B, 0x9E0F, 0xFB4C, 0x9E10, 0xFB4D, 0x9E11, 0xFB4E, 0x9E12, 0xFB4F, - 0x9E13, 0xFB50, 0x9E14, 0xFB51, 0x9E15, 0xFB52, 0x9E16, 0xFB53, 0x9E17, 0xFB54, 0x9E18, 0xFB55, 0x9E19, 0xFB56, 0x9E1A, 0xFB57, - 0x9E1B, 0xFB58, 0x9E1C, 0xFB59, 0x9E1D, 0xFB5A, 0x9E1E, 0xFB5B, 0x9E1F, 0xC4F1, 0x9E20, 0xF0AF, 0x9E21, 0xBCA6, 0x9E22, 0xF0B0, - 0x9E23, 0xC3F9, 0x9E24, 0xFB5C, 0x9E25, 0xC5B8, 0x9E26, 0xD1BB, 0x9E27, 0xFB5D, 0x9E28, 0xF0B1, 0x9E29, 0xF0B2, 0x9E2A, 0xF0B3, - 0x9E2B, 0xF0B4, 0x9E2C, 0xF0B5, 0x9E2D, 0xD1BC, 0x9E2E, 0xFB5E, 0x9E2F, 0xD1EC, 0x9E30, 0xFB5F, 0x9E31, 0xF0B7, 0x9E32, 0xF0B6, - 0x9E33, 0xD4A7, 0x9E34, 0xFB60, 0x9E35, 0xCDD2, 0x9E36, 0xF0B8, 0x9E37, 0xF0BA, 0x9E38, 0xF0B9, 0x9E39, 0xF0BB, 0x9E3A, 0xF0BC, - 0x9E3B, 0xFB61, 0x9E3C, 0xFB62, 0x9E3D, 0xB8EB, 0x9E3E, 0xF0BD, 0x9E3F, 0xBAE8, 0x9E40, 0xFB63, 0x9E41, 0xF0BE, 0x9E42, 0xF0BF, - 0x9E43, 0xBEE9, 0x9E44, 0xF0C0, 0x9E45, 0xB6EC, 0x9E46, 0xF0C1, 0x9E47, 0xF0C2, 0x9E48, 0xF0C3, 0x9E49, 0xF0C4, 0x9E4A, 0xC8B5, - 0x9E4B, 0xF0C5, 0x9E4C, 0xF0C6, 0x9E4D, 0xFB64, 0x9E4E, 0xF0C7, 0x9E4F, 0xC5F4, 0x9E50, 0xFB65, 0x9E51, 0xF0C8, 0x9E52, 0xFB66, - 0x9E53, 0xFB67, 0x9E54, 0xFB68, 0x9E55, 0xF0C9, 0x9E56, 0xFB69, 0x9E57, 0xF0CA, 0x9E58, 0xF7BD, 0x9E59, 0xFB6A, 0x9E5A, 0xF0CB, - 0x9E5B, 0xF0CC, 0x9E5C, 0xF0CD, 0x9E5D, 0xFB6B, 0x9E5E, 0xF0CE, 0x9E5F, 0xFB6C, 0x9E60, 0xFB6D, 0x9E61, 0xFB6E, 0x9E62, 0xFB6F, - 0x9E63, 0xF0CF, 0x9E64, 0xBAD7, 0x9E65, 0xFB70, 0x9E66, 0xF0D0, 0x9E67, 0xF0D1, 0x9E68, 0xF0D2, 0x9E69, 0xF0D3, 0x9E6A, 0xF0D4, - 0x9E6B, 0xF0D5, 0x9E6C, 0xF0D6, 0x9E6D, 0xF0D8, 0x9E6E, 0xFB71, 0x9E6F, 0xFB72, 0x9E70, 0xD3A5, 0x9E71, 0xF0D7, 0x9E72, 0xFB73, - 0x9E73, 0xF0D9, 0x9E74, 0xFB74, 0x9E75, 0xFB75, 0x9E76, 0xFB76, 0x9E77, 0xFB77, 0x9E78, 0xFB78, 0x9E79, 0xFB79, 0x9E7A, 0xFB7A, - 0x9E7B, 0xFB7B, 0x9E7C, 0xFB7C, 0x9E7D, 0xFB7D, 0x9E7E, 0xF5BA, 0x9E7F, 0xC2B9, 0x9E80, 0xFB7E, 0x9E81, 0xFB80, 0x9E82, 0xF7E4, - 0x9E83, 0xFB81, 0x9E84, 0xFB82, 0x9E85, 0xFB83, 0x9E86, 0xFB84, 0x9E87, 0xF7E5, 0x9E88, 0xF7E6, 0x9E89, 0xFB85, 0x9E8A, 0xFB86, - 0x9E8B, 0xF7E7, 0x9E8C, 0xFB87, 0x9E8D, 0xFB88, 0x9E8E, 0xFB89, 0x9E8F, 0xFB8A, 0x9E90, 0xFB8B, 0x9E91, 0xFB8C, 0x9E92, 0xF7E8, - 0x9E93, 0xC2B4, 0x9E94, 0xFB8D, 0x9E95, 0xFB8E, 0x9E96, 0xFB8F, 0x9E97, 0xFB90, 0x9E98, 0xFB91, 0x9E99, 0xFB92, 0x9E9A, 0xFB93, - 0x9E9B, 0xFB94, 0x9E9C, 0xFB95, 0x9E9D, 0xF7EA, 0x9E9E, 0xFB96, 0x9E9F, 0xF7EB, 0x9EA0, 0xFB97, 0x9EA1, 0xFB98, 0x9EA2, 0xFB99, - 0x9EA3, 0xFB9A, 0x9EA4, 0xFB9B, 0x9EA5, 0xFB9C, 0x9EA6, 0xC2F3, 0x9EA7, 0xFB9D, 0x9EA8, 0xFB9E, 0x9EA9, 0xFB9F, 0x9EAA, 0xFBA0, - 0x9EAB, 0xFC40, 0x9EAC, 0xFC41, 0x9EAD, 0xFC42, 0x9EAE, 0xFC43, 0x9EAF, 0xFC44, 0x9EB0, 0xFC45, 0x9EB1, 0xFC46, 0x9EB2, 0xFC47, - 0x9EB3, 0xFC48, 0x9EB4, 0xF4F0, 0x9EB5, 0xFC49, 0x9EB6, 0xFC4A, 0x9EB7, 0xFC4B, 0x9EB8, 0xF4EF, 0x9EB9, 0xFC4C, 0x9EBA, 0xFC4D, - 0x9EBB, 0xC2E9, 0x9EBC, 0xFC4E, 0x9EBD, 0xF7E1, 0x9EBE, 0xF7E2, 0x9EBF, 0xFC4F, 0x9EC0, 0xFC50, 0x9EC1, 0xFC51, 0x9EC2, 0xFC52, - 0x9EC3, 0xFC53, 0x9EC4, 0xBBC6, 0x9EC5, 0xFC54, 0x9EC6, 0xFC55, 0x9EC7, 0xFC56, 0x9EC8, 0xFC57, 0x9EC9, 0xD9E4, 0x9ECA, 0xFC58, - 0x9ECB, 0xFC59, 0x9ECC, 0xFC5A, 0x9ECD, 0xCAF2, 0x9ECE, 0xC0E8, 0x9ECF, 0xF0A4, 0x9ED0, 0xFC5B, 0x9ED1, 0xBADA, 0x9ED2, 0xFC5C, - 0x9ED3, 0xFC5D, 0x9ED4, 0xC7AD, 0x9ED5, 0xFC5E, 0x9ED6, 0xFC5F, 0x9ED7, 0xFC60, 0x9ED8, 0xC4AC, 0x9ED9, 0xFC61, 0x9EDA, 0xFC62, - 0x9EDB, 0xF7EC, 0x9EDC, 0xF7ED, 0x9EDD, 0xF7EE, 0x9EDE, 0xFC63, 0x9EDF, 0xF7F0, 0x9EE0, 0xF7EF, 0x9EE1, 0xFC64, 0x9EE2, 0xF7F1, - 0x9EE3, 0xFC65, 0x9EE4, 0xFC66, 0x9EE5, 0xF7F4, 0x9EE6, 0xFC67, 0x9EE7, 0xF7F3, 0x9EE8, 0xFC68, 0x9EE9, 0xF7F2, 0x9EEA, 0xF7F5, - 0x9EEB, 0xFC69, 0x9EEC, 0xFC6A, 0x9EED, 0xFC6B, 0x9EEE, 0xFC6C, 0x9EEF, 0xF7F6, 0x9EF0, 0xFC6D, 0x9EF1, 0xFC6E, 0x9EF2, 0xFC6F, - 0x9EF3, 0xFC70, 0x9EF4, 0xFC71, 0x9EF5, 0xFC72, 0x9EF6, 0xFC73, 0x9EF7, 0xFC74, 0x9EF8, 0xFC75, 0x9EF9, 0xEDE9, 0x9EFA, 0xFC76, - 0x9EFB, 0xEDEA, 0x9EFC, 0xEDEB, 0x9EFD, 0xFC77, 0x9EFE, 0xF6BC, 0x9EFF, 0xFC78, 0x9F00, 0xFC79, 0x9F01, 0xFC7A, 0x9F02, 0xFC7B, - 0x9F03, 0xFC7C, 0x9F04, 0xFC7D, 0x9F05, 0xFC7E, 0x9F06, 0xFC80, 0x9F07, 0xFC81, 0x9F08, 0xFC82, 0x9F09, 0xFC83, 0x9F0A, 0xFC84, - 0x9F0B, 0xF6BD, 0x9F0C, 0xFC85, 0x9F0D, 0xF6BE, 0x9F0E, 0xB6A6, 0x9F0F, 0xFC86, 0x9F10, 0xD8BE, 0x9F11, 0xFC87, 0x9F12, 0xFC88, - 0x9F13, 0xB9C4, 0x9F14, 0xFC89, 0x9F15, 0xFC8A, 0x9F16, 0xFC8B, 0x9F17, 0xD8BB, 0x9F18, 0xFC8C, 0x9F19, 0xDCB1, 0x9F1A, 0xFC8D, - 0x9F1B, 0xFC8E, 0x9F1C, 0xFC8F, 0x9F1D, 0xFC90, 0x9F1E, 0xFC91, 0x9F1F, 0xFC92, 0x9F20, 0xCAF3, 0x9F21, 0xFC93, 0x9F22, 0xF7F7, - 0x9F23, 0xFC94, 0x9F24, 0xFC95, 0x9F25, 0xFC96, 0x9F26, 0xFC97, 0x9F27, 0xFC98, 0x9F28, 0xFC99, 0x9F29, 0xFC9A, 0x9F2A, 0xFC9B, - 0x9F2B, 0xFC9C, 0x9F2C, 0xF7F8, 0x9F2D, 0xFC9D, 0x9F2E, 0xFC9E, 0x9F2F, 0xF7F9, 0x9F30, 0xFC9F, 0x9F31, 0xFCA0, 0x9F32, 0xFD40, - 0x9F33, 0xFD41, 0x9F34, 0xFD42, 0x9F35, 0xFD43, 0x9F36, 0xFD44, 0x9F37, 0xF7FB, 0x9F38, 0xFD45, 0x9F39, 0xF7FA, 0x9F3A, 0xFD46, - 0x9F3B, 0xB1C7, 0x9F3C, 0xFD47, 0x9F3D, 0xF7FC, 0x9F3E, 0xF7FD, 0x9F3F, 0xFD48, 0x9F40, 0xFD49, 0x9F41, 0xFD4A, 0x9F42, 0xFD4B, - 0x9F43, 0xFD4C, 0x9F44, 0xF7FE, 0x9F45, 0xFD4D, 0x9F46, 0xFD4E, 0x9F47, 0xFD4F, 0x9F48, 0xFD50, 0x9F49, 0xFD51, 0x9F4A, 0xFD52, - 0x9F4B, 0xFD53, 0x9F4C, 0xFD54, 0x9F4D, 0xFD55, 0x9F4E, 0xFD56, 0x9F4F, 0xFD57, 0x9F50, 0xC6EB, 0x9F51, 0xECB4, 0x9F52, 0xFD58, - 0x9F53, 0xFD59, 0x9F54, 0xFD5A, 0x9F55, 0xFD5B, 0x9F56, 0xFD5C, 0x9F57, 0xFD5D, 0x9F58, 0xFD5E, 0x9F59, 0xFD5F, 0x9F5A, 0xFD60, - 0x9F5B, 0xFD61, 0x9F5C, 0xFD62, 0x9F5D, 0xFD63, 0x9F5E, 0xFD64, 0x9F5F, 0xFD65, 0x9F60, 0xFD66, 0x9F61, 0xFD67, 0x9F62, 0xFD68, - 0x9F63, 0xFD69, 0x9F64, 0xFD6A, 0x9F65, 0xFD6B, 0x9F66, 0xFD6C, 0x9F67, 0xFD6D, 0x9F68, 0xFD6E, 0x9F69, 0xFD6F, 0x9F6A, 0xFD70, - 0x9F6B, 0xFD71, 0x9F6C, 0xFD72, 0x9F6D, 0xFD73, 0x9F6E, 0xFD74, 0x9F6F, 0xFD75, 0x9F70, 0xFD76, 0x9F71, 0xFD77, 0x9F72, 0xFD78, - 0x9F73, 0xFD79, 0x9F74, 0xFD7A, 0x9F75, 0xFD7B, 0x9F76, 0xFD7C, 0x9F77, 0xFD7D, 0x9F78, 0xFD7E, 0x9F79, 0xFD80, 0x9F7A, 0xFD81, - 0x9F7B, 0xFD82, 0x9F7C, 0xFD83, 0x9F7D, 0xFD84, 0x9F7E, 0xFD85, 0x9F7F, 0xB3DD, 0x9F80, 0xF6B3, 0x9F81, 0xFD86, 0x9F82, 0xFD87, - 0x9F83, 0xF6B4, 0x9F84, 0xC1E4, 0x9F85, 0xF6B5, 0x9F86, 0xF6B6, 0x9F87, 0xF6B7, 0x9F88, 0xF6B8, 0x9F89, 0xF6B9, 0x9F8A, 0xF6BA, - 0x9F8B, 0xC8A3, 0x9F8C, 0xF6BB, 0x9F8D, 0xFD88, 0x9F8E, 0xFD89, 0x9F8F, 0xFD8A, 0x9F90, 0xFD8B, 0x9F91, 0xFD8C, 0x9F92, 0xFD8D, - 0x9F93, 0xFD8E, 0x9F94, 0xFD8F, 0x9F95, 0xFD90, 0x9F96, 0xFD91, 0x9F97, 0xFD92, 0x9F98, 0xFD93, 0x9F99, 0xC1FA, 0x9F9A, 0xB9A8, - 0x9F9B, 0xEDE8, 0x9F9C, 0xFD94, 0x9F9D, 0xFD95, 0x9F9E, 0xFD96, 0x9F9F, 0xB9EA, 0x9FA0, 0xD9DF, 0x9FA1, 0xFD97, 0x9FA2, 0xFD98, - 0x9FA3, 0xFD99, 0x9FA4, 0xFD9A, 0x9FA5, 0xFD9B, 0xF92C, 0xFD9C, 0xF979, 0xFD9D, 0xF995, 0xFD9E, 0xF9E7, 0xFD9F, 0xF9F1, 0xFDA0, - 0xFA0C, 0xFE40, 0xFA0D, 0xFE41, 0xFA0E, 0xFE42, 0xFA0F, 0xFE43, 0xFA11, 0xFE44, 0xFA13, 0xFE45, 0xFA14, 0xFE46, 0xFA18, 0xFE47, - 0xFA1F, 0xFE48, 0xFA20, 0xFE49, 0xFA21, 0xFE4A, 0xFA23, 0xFE4B, 0xFA24, 0xFE4C, 0xFA27, 0xFE4D, 0xFA28, 0xFE4E, 0xFA29, 0xFE4F, - 0xFE30, 0xA955, 0xFE31, 0xA6F2, 0xFE33, 0xA6F4, 0xFE34, 0xA6F5, 0xFE35, 0xA6E0, 0xFE36, 0xA6E1, 0xFE37, 0xA6F0, 0xFE38, 0xA6F1, - 0xFE39, 0xA6E2, 0xFE3A, 0xA6E3, 0xFE3B, 0xA6EE, 0xFE3C, 0xA6EF, 0xFE3D, 0xA6E6, 0xFE3E, 0xA6E7, 0xFE3F, 0xA6E4, 0xFE40, 0xA6E5, - 0xFE41, 0xA6E8, 0xFE42, 0xA6E9, 0xFE43, 0xA6EA, 0xFE44, 0xA6EB, 0xFE49, 0xA968, 0xFE4A, 0xA969, 0xFE4B, 0xA96A, 0xFE4C, 0xA96B, - 0xFE4D, 0xA96C, 0xFE4E, 0xA96D, 0xFE4F, 0xA96E, 0xFE50, 0xA96F, 0xFE51, 0xA970, 0xFE52, 0xA971, 0xFE54, 0xA972, 0xFE55, 0xA973, - 0xFE56, 0xA974, 0xFE57, 0xA975, 0xFE59, 0xA976, 0xFE5A, 0xA977, 0xFE5B, 0xA978, 0xFE5C, 0xA979, 0xFE5D, 0xA97A, 0xFE5E, 0xA97B, - 0xFE5F, 0xA97C, 0xFE60, 0xA97D, 0xFE61, 0xA97E, 0xFE62, 0xA980, 0xFE63, 0xA981, 0xFE64, 0xA982, 0xFE65, 0xA983, 0xFE66, 0xA984, - 0xFE68, 0xA985, 0xFE69, 0xA986, 0xFE6A, 0xA987, 0xFE6B, 0xA988, 0xFF01, 0xA3A1, 0xFF02, 0xA3A2, 0xFF03, 0xA3A3, 0xFF04, 0xA1E7, - 0xFF05, 0xA3A5, 0xFF06, 0xA3A6, 0xFF07, 0xA3A7, 0xFF08, 0xA3A8, 0xFF09, 0xA3A9, 0xFF0A, 0xA3AA, 0xFF0B, 0xA3AB, 0xFF0C, 0xA3AC, - 0xFF0D, 0xA3AD, 0xFF0E, 0xA3AE, 0xFF0F, 0xA3AF, 0xFF10, 0xA3B0, 0xFF11, 0xA3B1, 0xFF12, 0xA3B2, 0xFF13, 0xA3B3, 0xFF14, 0xA3B4, - 0xFF15, 0xA3B5, 0xFF16, 0xA3B6, 0xFF17, 0xA3B7, 0xFF18, 0xA3B8, 0xFF19, 0xA3B9, 0xFF1A, 0xA3BA, 0xFF1B, 0xA3BB, 0xFF1C, 0xA3BC, - 0xFF1D, 0xA3BD, 0xFF1E, 0xA3BE, 0xFF1F, 0xA3BF, 0xFF20, 0xA3C0, 0xFF21, 0xA3C1, 0xFF22, 0xA3C2, 0xFF23, 0xA3C3, 0xFF24, 0xA3C4, - 0xFF25, 0xA3C5, 0xFF26, 0xA3C6, 0xFF27, 0xA3C7, 0xFF28, 0xA3C8, 0xFF29, 0xA3C9, 0xFF2A, 0xA3CA, 0xFF2B, 0xA3CB, 0xFF2C, 0xA3CC, - 0xFF2D, 0xA3CD, 0xFF2E, 0xA3CE, 0xFF2F, 0xA3CF, 0xFF30, 0xA3D0, 0xFF31, 0xA3D1, 0xFF32, 0xA3D2, 0xFF33, 0xA3D3, 0xFF34, 0xA3D4, - 0xFF35, 0xA3D5, 0xFF36, 0xA3D6, 0xFF37, 0xA3D7, 0xFF38, 0xA3D8, 0xFF39, 0xA3D9, 0xFF3A, 0xA3DA, 0xFF3B, 0xA3DB, 0xFF3C, 0xA3DC, - 0xFF3D, 0xA3DD, 0xFF3E, 0xA3DE, 0xFF3F, 0xA3DF, 0xFF40, 0xA3E0, 0xFF41, 0xA3E1, 0xFF42, 0xA3E2, 0xFF43, 0xA3E3, 0xFF44, 0xA3E4, - 0xFF45, 0xA3E5, 0xFF46, 0xA3E6, 0xFF47, 0xA3E7, 0xFF48, 0xA3E8, 0xFF49, 0xA3E9, 0xFF4A, 0xA3EA, 0xFF4B, 0xA3EB, 0xFF4C, 0xA3EC, - 0xFF4D, 0xA3ED, 0xFF4E, 0xA3EE, 0xFF4F, 0xA3EF, 0xFF50, 0xA3F0, 0xFF51, 0xA3F1, 0xFF52, 0xA3F2, 0xFF53, 0xA3F3, 0xFF54, 0xA3F4, - 0xFF55, 0xA3F5, 0xFF56, 0xA3F6, 0xFF57, 0xA3F7, 0xFF58, 0xA3F8, 0xFF59, 0xA3F9, 0xFF5A, 0xA3FA, 0xFF5B, 0xA3FB, 0xFF5C, 0xA3FC, - 0xFF5D, 0xA3FD, 0xFF5E, 0xA1AB, 0xFFE0, 0xA1E9, 0xFFE1, 0xA1EA, 0xFFE2, 0xA956, 0xFFE3, 0xA3FE, 0xFFE4, 0xA957, 0xFFE5, 0xA3A4, - 0, 0 -}; - -static const WCHAR oem2uni936[] = { /* GBK --> Unicode pairs */ - 0x0080, 0x20AC, 0x8140, 0x4E02, 0x8141, 0x4E04, 0x8142, 0x4E05, 0x8143, 0x4E06, 0x8144, 0x4E0F, 0x8145, 0x4E12, 0x8146, 0x4E17, - 0x8147, 0x4E1F, 0x8148, 0x4E20, 0x8149, 0x4E21, 0x814A, 0x4E23, 0x814B, 0x4E26, 0x814C, 0x4E29, 0x814D, 0x4E2E, 0x814E, 0x4E2F, - 0x814F, 0x4E31, 0x8150, 0x4E33, 0x8151, 0x4E35, 0x8152, 0x4E37, 0x8153, 0x4E3C, 0x8154, 0x4E40, 0x8155, 0x4E41, 0x8156, 0x4E42, - 0x8157, 0x4E44, 0x8158, 0x4E46, 0x8159, 0x4E4A, 0x815A, 0x4E51, 0x815B, 0x4E55, 0x815C, 0x4E57, 0x815D, 0x4E5A, 0x815E, 0x4E5B, - 0x815F, 0x4E62, 0x8160, 0x4E63, 0x8161, 0x4E64, 0x8162, 0x4E65, 0x8163, 0x4E67, 0x8164, 0x4E68, 0x8165, 0x4E6A, 0x8166, 0x4E6B, - 0x8167, 0x4E6C, 0x8168, 0x4E6D, 0x8169, 0x4E6E, 0x816A, 0x4E6F, 0x816B, 0x4E72, 0x816C, 0x4E74, 0x816D, 0x4E75, 0x816E, 0x4E76, - 0x816F, 0x4E77, 0x8170, 0x4E78, 0x8171, 0x4E79, 0x8172, 0x4E7A, 0x8173, 0x4E7B, 0x8174, 0x4E7C, 0x8175, 0x4E7D, 0x8176, 0x4E7F, - 0x8177, 0x4E80, 0x8178, 0x4E81, 0x8179, 0x4E82, 0x817A, 0x4E83, 0x817B, 0x4E84, 0x817C, 0x4E85, 0x817D, 0x4E87, 0x817E, 0x4E8A, - 0x8180, 0x4E90, 0x8181, 0x4E96, 0x8182, 0x4E97, 0x8183, 0x4E99, 0x8184, 0x4E9C, 0x8185, 0x4E9D, 0x8186, 0x4E9E, 0x8187, 0x4EA3, - 0x8188, 0x4EAA, 0x8189, 0x4EAF, 0x818A, 0x4EB0, 0x818B, 0x4EB1, 0x818C, 0x4EB4, 0x818D, 0x4EB6, 0x818E, 0x4EB7, 0x818F, 0x4EB8, - 0x8190, 0x4EB9, 0x8191, 0x4EBC, 0x8192, 0x4EBD, 0x8193, 0x4EBE, 0x8194, 0x4EC8, 0x8195, 0x4ECC, 0x8196, 0x4ECF, 0x8197, 0x4ED0, - 0x8198, 0x4ED2, 0x8199, 0x4EDA, 0x819A, 0x4EDB, 0x819B, 0x4EDC, 0x819C, 0x4EE0, 0x819D, 0x4EE2, 0x819E, 0x4EE6, 0x819F, 0x4EE7, - 0x81A0, 0x4EE9, 0x81A1, 0x4EED, 0x81A2, 0x4EEE, 0x81A3, 0x4EEF, 0x81A4, 0x4EF1, 0x81A5, 0x4EF4, 0x81A6, 0x4EF8, 0x81A7, 0x4EF9, - 0x81A8, 0x4EFA, 0x81A9, 0x4EFC, 0x81AA, 0x4EFE, 0x81AB, 0x4F00, 0x81AC, 0x4F02, 0x81AD, 0x4F03, 0x81AE, 0x4F04, 0x81AF, 0x4F05, - 0x81B0, 0x4F06, 0x81B1, 0x4F07, 0x81B2, 0x4F08, 0x81B3, 0x4F0B, 0x81B4, 0x4F0C, 0x81B5, 0x4F12, 0x81B6, 0x4F13, 0x81B7, 0x4F14, - 0x81B8, 0x4F15, 0x81B9, 0x4F16, 0x81BA, 0x4F1C, 0x81BB, 0x4F1D, 0x81BC, 0x4F21, 0x81BD, 0x4F23, 0x81BE, 0x4F28, 0x81BF, 0x4F29, - 0x81C0, 0x4F2C, 0x81C1, 0x4F2D, 0x81C2, 0x4F2E, 0x81C3, 0x4F31, 0x81C4, 0x4F33, 0x81C5, 0x4F35, 0x81C6, 0x4F37, 0x81C7, 0x4F39, - 0x81C8, 0x4F3B, 0x81C9, 0x4F3E, 0x81CA, 0x4F3F, 0x81CB, 0x4F40, 0x81CC, 0x4F41, 0x81CD, 0x4F42, 0x81CE, 0x4F44, 0x81CF, 0x4F45, - 0x81D0, 0x4F47, 0x81D1, 0x4F48, 0x81D2, 0x4F49, 0x81D3, 0x4F4A, 0x81D4, 0x4F4B, 0x81D5, 0x4F4C, 0x81D6, 0x4F52, 0x81D7, 0x4F54, - 0x81D8, 0x4F56, 0x81D9, 0x4F61, 0x81DA, 0x4F62, 0x81DB, 0x4F66, 0x81DC, 0x4F68, 0x81DD, 0x4F6A, 0x81DE, 0x4F6B, 0x81DF, 0x4F6D, - 0x81E0, 0x4F6E, 0x81E1, 0x4F71, 0x81E2, 0x4F72, 0x81E3, 0x4F75, 0x81E4, 0x4F77, 0x81E5, 0x4F78, 0x81E6, 0x4F79, 0x81E7, 0x4F7A, - 0x81E8, 0x4F7D, 0x81E9, 0x4F80, 0x81EA, 0x4F81, 0x81EB, 0x4F82, 0x81EC, 0x4F85, 0x81ED, 0x4F86, 0x81EE, 0x4F87, 0x81EF, 0x4F8A, - 0x81F0, 0x4F8C, 0x81F1, 0x4F8E, 0x81F2, 0x4F90, 0x81F3, 0x4F92, 0x81F4, 0x4F93, 0x81F5, 0x4F95, 0x81F6, 0x4F96, 0x81F7, 0x4F98, - 0x81F8, 0x4F99, 0x81F9, 0x4F9A, 0x81FA, 0x4F9C, 0x81FB, 0x4F9E, 0x81FC, 0x4F9F, 0x81FD, 0x4FA1, 0x81FE, 0x4FA2, 0x8240, 0x4FA4, - 0x8241, 0x4FAB, 0x8242, 0x4FAD, 0x8243, 0x4FB0, 0x8244, 0x4FB1, 0x8245, 0x4FB2, 0x8246, 0x4FB3, 0x8247, 0x4FB4, 0x8248, 0x4FB6, - 0x8249, 0x4FB7, 0x824A, 0x4FB8, 0x824B, 0x4FB9, 0x824C, 0x4FBA, 0x824D, 0x4FBB, 0x824E, 0x4FBC, 0x824F, 0x4FBD, 0x8250, 0x4FBE, - 0x8251, 0x4FC0, 0x8252, 0x4FC1, 0x8253, 0x4FC2, 0x8254, 0x4FC6, 0x8255, 0x4FC7, 0x8256, 0x4FC8, 0x8257, 0x4FC9, 0x8258, 0x4FCB, - 0x8259, 0x4FCC, 0x825A, 0x4FCD, 0x825B, 0x4FD2, 0x825C, 0x4FD3, 0x825D, 0x4FD4, 0x825E, 0x4FD5, 0x825F, 0x4FD6, 0x8260, 0x4FD9, - 0x8261, 0x4FDB, 0x8262, 0x4FE0, 0x8263, 0x4FE2, 0x8264, 0x4FE4, 0x8265, 0x4FE5, 0x8266, 0x4FE7, 0x8267, 0x4FEB, 0x8268, 0x4FEC, - 0x8269, 0x4FF0, 0x826A, 0x4FF2, 0x826B, 0x4FF4, 0x826C, 0x4FF5, 0x826D, 0x4FF6, 0x826E, 0x4FF7, 0x826F, 0x4FF9, 0x8270, 0x4FFB, - 0x8271, 0x4FFC, 0x8272, 0x4FFD, 0x8273, 0x4FFF, 0x8274, 0x5000, 0x8275, 0x5001, 0x8276, 0x5002, 0x8277, 0x5003, 0x8278, 0x5004, - 0x8279, 0x5005, 0x827A, 0x5006, 0x827B, 0x5007, 0x827C, 0x5008, 0x827D, 0x5009, 0x827E, 0x500A, 0x8280, 0x500B, 0x8281, 0x500E, - 0x8282, 0x5010, 0x8283, 0x5011, 0x8284, 0x5013, 0x8285, 0x5015, 0x8286, 0x5016, 0x8287, 0x5017, 0x8288, 0x501B, 0x8289, 0x501D, - 0x828A, 0x501E, 0x828B, 0x5020, 0x828C, 0x5022, 0x828D, 0x5023, 0x828E, 0x5024, 0x828F, 0x5027, 0x8290, 0x502B, 0x8291, 0x502F, - 0x8292, 0x5030, 0x8293, 0x5031, 0x8294, 0x5032, 0x8295, 0x5033, 0x8296, 0x5034, 0x8297, 0x5035, 0x8298, 0x5036, 0x8299, 0x5037, - 0x829A, 0x5038, 0x829B, 0x5039, 0x829C, 0x503B, 0x829D, 0x503D, 0x829E, 0x503F, 0x829F, 0x5040, 0x82A0, 0x5041, 0x82A1, 0x5042, - 0x82A2, 0x5044, 0x82A3, 0x5045, 0x82A4, 0x5046, 0x82A5, 0x5049, 0x82A6, 0x504A, 0x82A7, 0x504B, 0x82A8, 0x504D, 0x82A9, 0x5050, - 0x82AA, 0x5051, 0x82AB, 0x5052, 0x82AC, 0x5053, 0x82AD, 0x5054, 0x82AE, 0x5056, 0x82AF, 0x5057, 0x82B0, 0x5058, 0x82B1, 0x5059, - 0x82B2, 0x505B, 0x82B3, 0x505D, 0x82B4, 0x505E, 0x82B5, 0x505F, 0x82B6, 0x5060, 0x82B7, 0x5061, 0x82B8, 0x5062, 0x82B9, 0x5063, - 0x82BA, 0x5064, 0x82BB, 0x5066, 0x82BC, 0x5067, 0x82BD, 0x5068, 0x82BE, 0x5069, 0x82BF, 0x506A, 0x82C0, 0x506B, 0x82C1, 0x506D, - 0x82C2, 0x506E, 0x82C3, 0x506F, 0x82C4, 0x5070, 0x82C5, 0x5071, 0x82C6, 0x5072, 0x82C7, 0x5073, 0x82C8, 0x5074, 0x82C9, 0x5075, - 0x82CA, 0x5078, 0x82CB, 0x5079, 0x82CC, 0x507A, 0x82CD, 0x507C, 0x82CE, 0x507D, 0x82CF, 0x5081, 0x82D0, 0x5082, 0x82D1, 0x5083, - 0x82D2, 0x5084, 0x82D3, 0x5086, 0x82D4, 0x5087, 0x82D5, 0x5089, 0x82D6, 0x508A, 0x82D7, 0x508B, 0x82D8, 0x508C, 0x82D9, 0x508E, - 0x82DA, 0x508F, 0x82DB, 0x5090, 0x82DC, 0x5091, 0x82DD, 0x5092, 0x82DE, 0x5093, 0x82DF, 0x5094, 0x82E0, 0x5095, 0x82E1, 0x5096, - 0x82E2, 0x5097, 0x82E3, 0x5098, 0x82E4, 0x5099, 0x82E5, 0x509A, 0x82E6, 0x509B, 0x82E7, 0x509C, 0x82E8, 0x509D, 0x82E9, 0x509E, - 0x82EA, 0x509F, 0x82EB, 0x50A0, 0x82EC, 0x50A1, 0x82ED, 0x50A2, 0x82EE, 0x50A4, 0x82EF, 0x50A6, 0x82F0, 0x50AA, 0x82F1, 0x50AB, - 0x82F2, 0x50AD, 0x82F3, 0x50AE, 0x82F4, 0x50AF, 0x82F5, 0x50B0, 0x82F6, 0x50B1, 0x82F7, 0x50B3, 0x82F8, 0x50B4, 0x82F9, 0x50B5, - 0x82FA, 0x50B6, 0x82FB, 0x50B7, 0x82FC, 0x50B8, 0x82FD, 0x50B9, 0x82FE, 0x50BC, 0x8340, 0x50BD, 0x8341, 0x50BE, 0x8342, 0x50BF, - 0x8343, 0x50C0, 0x8344, 0x50C1, 0x8345, 0x50C2, 0x8346, 0x50C3, 0x8347, 0x50C4, 0x8348, 0x50C5, 0x8349, 0x50C6, 0x834A, 0x50C7, - 0x834B, 0x50C8, 0x834C, 0x50C9, 0x834D, 0x50CA, 0x834E, 0x50CB, 0x834F, 0x50CC, 0x8350, 0x50CD, 0x8351, 0x50CE, 0x8352, 0x50D0, - 0x8353, 0x50D1, 0x8354, 0x50D2, 0x8355, 0x50D3, 0x8356, 0x50D4, 0x8357, 0x50D5, 0x8358, 0x50D7, 0x8359, 0x50D8, 0x835A, 0x50D9, - 0x835B, 0x50DB, 0x835C, 0x50DC, 0x835D, 0x50DD, 0x835E, 0x50DE, 0x835F, 0x50DF, 0x8360, 0x50E0, 0x8361, 0x50E1, 0x8362, 0x50E2, - 0x8363, 0x50E3, 0x8364, 0x50E4, 0x8365, 0x50E5, 0x8366, 0x50E8, 0x8367, 0x50E9, 0x8368, 0x50EA, 0x8369, 0x50EB, 0x836A, 0x50EF, - 0x836B, 0x50F0, 0x836C, 0x50F1, 0x836D, 0x50F2, 0x836E, 0x50F4, 0x836F, 0x50F6, 0x8370, 0x50F7, 0x8371, 0x50F8, 0x8372, 0x50F9, - 0x8373, 0x50FA, 0x8374, 0x50FC, 0x8375, 0x50FD, 0x8376, 0x50FE, 0x8377, 0x50FF, 0x8378, 0x5100, 0x8379, 0x5101, 0x837A, 0x5102, - 0x837B, 0x5103, 0x837C, 0x5104, 0x837D, 0x5105, 0x837E, 0x5108, 0x8380, 0x5109, 0x8381, 0x510A, 0x8382, 0x510C, 0x8383, 0x510D, - 0x8384, 0x510E, 0x8385, 0x510F, 0x8386, 0x5110, 0x8387, 0x5111, 0x8388, 0x5113, 0x8389, 0x5114, 0x838A, 0x5115, 0x838B, 0x5116, - 0x838C, 0x5117, 0x838D, 0x5118, 0x838E, 0x5119, 0x838F, 0x511A, 0x8390, 0x511B, 0x8391, 0x511C, 0x8392, 0x511D, 0x8393, 0x511E, - 0x8394, 0x511F, 0x8395, 0x5120, 0x8396, 0x5122, 0x8397, 0x5123, 0x8398, 0x5124, 0x8399, 0x5125, 0x839A, 0x5126, 0x839B, 0x5127, - 0x839C, 0x5128, 0x839D, 0x5129, 0x839E, 0x512A, 0x839F, 0x512B, 0x83A0, 0x512C, 0x83A1, 0x512D, 0x83A2, 0x512E, 0x83A3, 0x512F, - 0x83A4, 0x5130, 0x83A5, 0x5131, 0x83A6, 0x5132, 0x83A7, 0x5133, 0x83A8, 0x5134, 0x83A9, 0x5135, 0x83AA, 0x5136, 0x83AB, 0x5137, - 0x83AC, 0x5138, 0x83AD, 0x5139, 0x83AE, 0x513A, 0x83AF, 0x513B, 0x83B0, 0x513C, 0x83B1, 0x513D, 0x83B2, 0x513E, 0x83B3, 0x5142, - 0x83B4, 0x5147, 0x83B5, 0x514A, 0x83B6, 0x514C, 0x83B7, 0x514E, 0x83B8, 0x514F, 0x83B9, 0x5150, 0x83BA, 0x5152, 0x83BB, 0x5153, - 0x83BC, 0x5157, 0x83BD, 0x5158, 0x83BE, 0x5159, 0x83BF, 0x515B, 0x83C0, 0x515D, 0x83C1, 0x515E, 0x83C2, 0x515F, 0x83C3, 0x5160, - 0x83C4, 0x5161, 0x83C5, 0x5163, 0x83C6, 0x5164, 0x83C7, 0x5166, 0x83C8, 0x5167, 0x83C9, 0x5169, 0x83CA, 0x516A, 0x83CB, 0x516F, - 0x83CC, 0x5172, 0x83CD, 0x517A, 0x83CE, 0x517E, 0x83CF, 0x517F, 0x83D0, 0x5183, 0x83D1, 0x5184, 0x83D2, 0x5186, 0x83D3, 0x5187, - 0x83D4, 0x518A, 0x83D5, 0x518B, 0x83D6, 0x518E, 0x83D7, 0x518F, 0x83D8, 0x5190, 0x83D9, 0x5191, 0x83DA, 0x5193, 0x83DB, 0x5194, - 0x83DC, 0x5198, 0x83DD, 0x519A, 0x83DE, 0x519D, 0x83DF, 0x519E, 0x83E0, 0x519F, 0x83E1, 0x51A1, 0x83E2, 0x51A3, 0x83E3, 0x51A6, - 0x83E4, 0x51A7, 0x83E5, 0x51A8, 0x83E6, 0x51A9, 0x83E7, 0x51AA, 0x83E8, 0x51AD, 0x83E9, 0x51AE, 0x83EA, 0x51B4, 0x83EB, 0x51B8, - 0x83EC, 0x51B9, 0x83ED, 0x51BA, 0x83EE, 0x51BE, 0x83EF, 0x51BF, 0x83F0, 0x51C1, 0x83F1, 0x51C2, 0x83F2, 0x51C3, 0x83F3, 0x51C5, - 0x83F4, 0x51C8, 0x83F5, 0x51CA, 0x83F6, 0x51CD, 0x83F7, 0x51CE, 0x83F8, 0x51D0, 0x83F9, 0x51D2, 0x83FA, 0x51D3, 0x83FB, 0x51D4, - 0x83FC, 0x51D5, 0x83FD, 0x51D6, 0x83FE, 0x51D7, 0x8440, 0x51D8, 0x8441, 0x51D9, 0x8442, 0x51DA, 0x8443, 0x51DC, 0x8444, 0x51DE, - 0x8445, 0x51DF, 0x8446, 0x51E2, 0x8447, 0x51E3, 0x8448, 0x51E5, 0x8449, 0x51E6, 0x844A, 0x51E7, 0x844B, 0x51E8, 0x844C, 0x51E9, - 0x844D, 0x51EA, 0x844E, 0x51EC, 0x844F, 0x51EE, 0x8450, 0x51F1, 0x8451, 0x51F2, 0x8452, 0x51F4, 0x8453, 0x51F7, 0x8454, 0x51FE, - 0x8455, 0x5204, 0x8456, 0x5205, 0x8457, 0x5209, 0x8458, 0x520B, 0x8459, 0x520C, 0x845A, 0x520F, 0x845B, 0x5210, 0x845C, 0x5213, - 0x845D, 0x5214, 0x845E, 0x5215, 0x845F, 0x521C, 0x8460, 0x521E, 0x8461, 0x521F, 0x8462, 0x5221, 0x8463, 0x5222, 0x8464, 0x5223, - 0x8465, 0x5225, 0x8466, 0x5226, 0x8467, 0x5227, 0x8468, 0x522A, 0x8469, 0x522C, 0x846A, 0x522F, 0x846B, 0x5231, 0x846C, 0x5232, - 0x846D, 0x5234, 0x846E, 0x5235, 0x846F, 0x523C, 0x8470, 0x523E, 0x8471, 0x5244, 0x8472, 0x5245, 0x8473, 0x5246, 0x8474, 0x5247, - 0x8475, 0x5248, 0x8476, 0x5249, 0x8477, 0x524B, 0x8478, 0x524E, 0x8479, 0x524F, 0x847A, 0x5252, 0x847B, 0x5253, 0x847C, 0x5255, - 0x847D, 0x5257, 0x847E, 0x5258, 0x8480, 0x5259, 0x8481, 0x525A, 0x8482, 0x525B, 0x8483, 0x525D, 0x8484, 0x525F, 0x8485, 0x5260, - 0x8486, 0x5262, 0x8487, 0x5263, 0x8488, 0x5264, 0x8489, 0x5266, 0x848A, 0x5268, 0x848B, 0x526B, 0x848C, 0x526C, 0x848D, 0x526D, - 0x848E, 0x526E, 0x848F, 0x5270, 0x8490, 0x5271, 0x8491, 0x5273, 0x8492, 0x5274, 0x8493, 0x5275, 0x8494, 0x5276, 0x8495, 0x5277, - 0x8496, 0x5278, 0x8497, 0x5279, 0x8498, 0x527A, 0x8499, 0x527B, 0x849A, 0x527C, 0x849B, 0x527E, 0x849C, 0x5280, 0x849D, 0x5283, - 0x849E, 0x5284, 0x849F, 0x5285, 0x84A0, 0x5286, 0x84A1, 0x5287, 0x84A2, 0x5289, 0x84A3, 0x528A, 0x84A4, 0x528B, 0x84A5, 0x528C, - 0x84A6, 0x528D, 0x84A7, 0x528E, 0x84A8, 0x528F, 0x84A9, 0x5291, 0x84AA, 0x5292, 0x84AB, 0x5294, 0x84AC, 0x5295, 0x84AD, 0x5296, - 0x84AE, 0x5297, 0x84AF, 0x5298, 0x84B0, 0x5299, 0x84B1, 0x529A, 0x84B2, 0x529C, 0x84B3, 0x52A4, 0x84B4, 0x52A5, 0x84B5, 0x52A6, - 0x84B6, 0x52A7, 0x84B7, 0x52AE, 0x84B8, 0x52AF, 0x84B9, 0x52B0, 0x84BA, 0x52B4, 0x84BB, 0x52B5, 0x84BC, 0x52B6, 0x84BD, 0x52B7, - 0x84BE, 0x52B8, 0x84BF, 0x52B9, 0x84C0, 0x52BA, 0x84C1, 0x52BB, 0x84C2, 0x52BC, 0x84C3, 0x52BD, 0x84C4, 0x52C0, 0x84C5, 0x52C1, - 0x84C6, 0x52C2, 0x84C7, 0x52C4, 0x84C8, 0x52C5, 0x84C9, 0x52C6, 0x84CA, 0x52C8, 0x84CB, 0x52CA, 0x84CC, 0x52CC, 0x84CD, 0x52CD, - 0x84CE, 0x52CE, 0x84CF, 0x52CF, 0x84D0, 0x52D1, 0x84D1, 0x52D3, 0x84D2, 0x52D4, 0x84D3, 0x52D5, 0x84D4, 0x52D7, 0x84D5, 0x52D9, - 0x84D6, 0x52DA, 0x84D7, 0x52DB, 0x84D8, 0x52DC, 0x84D9, 0x52DD, 0x84DA, 0x52DE, 0x84DB, 0x52E0, 0x84DC, 0x52E1, 0x84DD, 0x52E2, - 0x84DE, 0x52E3, 0x84DF, 0x52E5, 0x84E0, 0x52E6, 0x84E1, 0x52E7, 0x84E2, 0x52E8, 0x84E3, 0x52E9, 0x84E4, 0x52EA, 0x84E5, 0x52EB, - 0x84E6, 0x52EC, 0x84E7, 0x52ED, 0x84E8, 0x52EE, 0x84E9, 0x52EF, 0x84EA, 0x52F1, 0x84EB, 0x52F2, 0x84EC, 0x52F3, 0x84ED, 0x52F4, - 0x84EE, 0x52F5, 0x84EF, 0x52F6, 0x84F0, 0x52F7, 0x84F1, 0x52F8, 0x84F2, 0x52FB, 0x84F3, 0x52FC, 0x84F4, 0x52FD, 0x84F5, 0x5301, - 0x84F6, 0x5302, 0x84F7, 0x5303, 0x84F8, 0x5304, 0x84F9, 0x5307, 0x84FA, 0x5309, 0x84FB, 0x530A, 0x84FC, 0x530B, 0x84FD, 0x530C, - 0x84FE, 0x530E, 0x8540, 0x5311, 0x8541, 0x5312, 0x8542, 0x5313, 0x8543, 0x5314, 0x8544, 0x5318, 0x8545, 0x531B, 0x8546, 0x531C, - 0x8547, 0x531E, 0x8548, 0x531F, 0x8549, 0x5322, 0x854A, 0x5324, 0x854B, 0x5325, 0x854C, 0x5327, 0x854D, 0x5328, 0x854E, 0x5329, - 0x854F, 0x532B, 0x8550, 0x532C, 0x8551, 0x532D, 0x8552, 0x532F, 0x8553, 0x5330, 0x8554, 0x5331, 0x8555, 0x5332, 0x8556, 0x5333, - 0x8557, 0x5334, 0x8558, 0x5335, 0x8559, 0x5336, 0x855A, 0x5337, 0x855B, 0x5338, 0x855C, 0x533C, 0x855D, 0x533D, 0x855E, 0x5340, - 0x855F, 0x5342, 0x8560, 0x5344, 0x8561, 0x5346, 0x8562, 0x534B, 0x8563, 0x534C, 0x8564, 0x534D, 0x8565, 0x5350, 0x8566, 0x5354, - 0x8567, 0x5358, 0x8568, 0x5359, 0x8569, 0x535B, 0x856A, 0x535D, 0x856B, 0x5365, 0x856C, 0x5368, 0x856D, 0x536A, 0x856E, 0x536C, - 0x856F, 0x536D, 0x8570, 0x5372, 0x8571, 0x5376, 0x8572, 0x5379, 0x8573, 0x537B, 0x8574, 0x537C, 0x8575, 0x537D, 0x8576, 0x537E, - 0x8577, 0x5380, 0x8578, 0x5381, 0x8579, 0x5383, 0x857A, 0x5387, 0x857B, 0x5388, 0x857C, 0x538A, 0x857D, 0x538E, 0x857E, 0x538F, - 0x8580, 0x5390, 0x8581, 0x5391, 0x8582, 0x5392, 0x8583, 0x5393, 0x8584, 0x5394, 0x8585, 0x5396, 0x8586, 0x5397, 0x8587, 0x5399, - 0x8588, 0x539B, 0x8589, 0x539C, 0x858A, 0x539E, 0x858B, 0x53A0, 0x858C, 0x53A1, 0x858D, 0x53A4, 0x858E, 0x53A7, 0x858F, 0x53AA, - 0x8590, 0x53AB, 0x8591, 0x53AC, 0x8592, 0x53AD, 0x8593, 0x53AF, 0x8594, 0x53B0, 0x8595, 0x53B1, 0x8596, 0x53B2, 0x8597, 0x53B3, - 0x8598, 0x53B4, 0x8599, 0x53B5, 0x859A, 0x53B7, 0x859B, 0x53B8, 0x859C, 0x53B9, 0x859D, 0x53BA, 0x859E, 0x53BC, 0x859F, 0x53BD, - 0x85A0, 0x53BE, 0x85A1, 0x53C0, 0x85A2, 0x53C3, 0x85A3, 0x53C4, 0x85A4, 0x53C5, 0x85A5, 0x53C6, 0x85A6, 0x53C7, 0x85A7, 0x53CE, - 0x85A8, 0x53CF, 0x85A9, 0x53D0, 0x85AA, 0x53D2, 0x85AB, 0x53D3, 0x85AC, 0x53D5, 0x85AD, 0x53DA, 0x85AE, 0x53DC, 0x85AF, 0x53DD, - 0x85B0, 0x53DE, 0x85B1, 0x53E1, 0x85B2, 0x53E2, 0x85B3, 0x53E7, 0x85B4, 0x53F4, 0x85B5, 0x53FA, 0x85B6, 0x53FE, 0x85B7, 0x53FF, - 0x85B8, 0x5400, 0x85B9, 0x5402, 0x85BA, 0x5405, 0x85BB, 0x5407, 0x85BC, 0x540B, 0x85BD, 0x5414, 0x85BE, 0x5418, 0x85BF, 0x5419, - 0x85C0, 0x541A, 0x85C1, 0x541C, 0x85C2, 0x5422, 0x85C3, 0x5424, 0x85C4, 0x5425, 0x85C5, 0x542A, 0x85C6, 0x5430, 0x85C7, 0x5433, - 0x85C8, 0x5436, 0x85C9, 0x5437, 0x85CA, 0x543A, 0x85CB, 0x543D, 0x85CC, 0x543F, 0x85CD, 0x5441, 0x85CE, 0x5442, 0x85CF, 0x5444, - 0x85D0, 0x5445, 0x85D1, 0x5447, 0x85D2, 0x5449, 0x85D3, 0x544C, 0x85D4, 0x544D, 0x85D5, 0x544E, 0x85D6, 0x544F, 0x85D7, 0x5451, - 0x85D8, 0x545A, 0x85D9, 0x545D, 0x85DA, 0x545E, 0x85DB, 0x545F, 0x85DC, 0x5460, 0x85DD, 0x5461, 0x85DE, 0x5463, 0x85DF, 0x5465, - 0x85E0, 0x5467, 0x85E1, 0x5469, 0x85E2, 0x546A, 0x85E3, 0x546B, 0x85E4, 0x546C, 0x85E5, 0x546D, 0x85E6, 0x546E, 0x85E7, 0x546F, - 0x85E8, 0x5470, 0x85E9, 0x5474, 0x85EA, 0x5479, 0x85EB, 0x547A, 0x85EC, 0x547E, 0x85ED, 0x547F, 0x85EE, 0x5481, 0x85EF, 0x5483, - 0x85F0, 0x5485, 0x85F1, 0x5487, 0x85F2, 0x5488, 0x85F3, 0x5489, 0x85F4, 0x548A, 0x85F5, 0x548D, 0x85F6, 0x5491, 0x85F7, 0x5493, - 0x85F8, 0x5497, 0x85F9, 0x5498, 0x85FA, 0x549C, 0x85FB, 0x549E, 0x85FC, 0x549F, 0x85FD, 0x54A0, 0x85FE, 0x54A1, 0x8640, 0x54A2, - 0x8641, 0x54A5, 0x8642, 0x54AE, 0x8643, 0x54B0, 0x8644, 0x54B2, 0x8645, 0x54B5, 0x8646, 0x54B6, 0x8647, 0x54B7, 0x8648, 0x54B9, - 0x8649, 0x54BA, 0x864A, 0x54BC, 0x864B, 0x54BE, 0x864C, 0x54C3, 0x864D, 0x54C5, 0x864E, 0x54CA, 0x864F, 0x54CB, 0x8650, 0x54D6, - 0x8651, 0x54D8, 0x8652, 0x54DB, 0x8653, 0x54E0, 0x8654, 0x54E1, 0x8655, 0x54E2, 0x8656, 0x54E3, 0x8657, 0x54E4, 0x8658, 0x54EB, - 0x8659, 0x54EC, 0x865A, 0x54EF, 0x865B, 0x54F0, 0x865C, 0x54F1, 0x865D, 0x54F4, 0x865E, 0x54F5, 0x865F, 0x54F6, 0x8660, 0x54F7, - 0x8661, 0x54F8, 0x8662, 0x54F9, 0x8663, 0x54FB, 0x8664, 0x54FE, 0x8665, 0x5500, 0x8666, 0x5502, 0x8667, 0x5503, 0x8668, 0x5504, - 0x8669, 0x5505, 0x866A, 0x5508, 0x866B, 0x550A, 0x866C, 0x550B, 0x866D, 0x550C, 0x866E, 0x550D, 0x866F, 0x550E, 0x8670, 0x5512, - 0x8671, 0x5513, 0x8672, 0x5515, 0x8673, 0x5516, 0x8674, 0x5517, 0x8675, 0x5518, 0x8676, 0x5519, 0x8677, 0x551A, 0x8678, 0x551C, - 0x8679, 0x551D, 0x867A, 0x551E, 0x867B, 0x551F, 0x867C, 0x5521, 0x867D, 0x5525, 0x867E, 0x5526, 0x8680, 0x5528, 0x8681, 0x5529, - 0x8682, 0x552B, 0x8683, 0x552D, 0x8684, 0x5532, 0x8685, 0x5534, 0x8686, 0x5535, 0x8687, 0x5536, 0x8688, 0x5538, 0x8689, 0x5539, - 0x868A, 0x553A, 0x868B, 0x553B, 0x868C, 0x553D, 0x868D, 0x5540, 0x868E, 0x5542, 0x868F, 0x5545, 0x8690, 0x5547, 0x8691, 0x5548, - 0x8692, 0x554B, 0x8693, 0x554C, 0x8694, 0x554D, 0x8695, 0x554E, 0x8696, 0x554F, 0x8697, 0x5551, 0x8698, 0x5552, 0x8699, 0x5553, - 0x869A, 0x5554, 0x869B, 0x5557, 0x869C, 0x5558, 0x869D, 0x5559, 0x869E, 0x555A, 0x869F, 0x555B, 0x86A0, 0x555D, 0x86A1, 0x555E, - 0x86A2, 0x555F, 0x86A3, 0x5560, 0x86A4, 0x5562, 0x86A5, 0x5563, 0x86A6, 0x5568, 0x86A7, 0x5569, 0x86A8, 0x556B, 0x86A9, 0x556F, - 0x86AA, 0x5570, 0x86AB, 0x5571, 0x86AC, 0x5572, 0x86AD, 0x5573, 0x86AE, 0x5574, 0x86AF, 0x5579, 0x86B0, 0x557A, 0x86B1, 0x557D, - 0x86B2, 0x557F, 0x86B3, 0x5585, 0x86B4, 0x5586, 0x86B5, 0x558C, 0x86B6, 0x558D, 0x86B7, 0x558E, 0x86B8, 0x5590, 0x86B9, 0x5592, - 0x86BA, 0x5593, 0x86BB, 0x5595, 0x86BC, 0x5596, 0x86BD, 0x5597, 0x86BE, 0x559A, 0x86BF, 0x559B, 0x86C0, 0x559E, 0x86C1, 0x55A0, - 0x86C2, 0x55A1, 0x86C3, 0x55A2, 0x86C4, 0x55A3, 0x86C5, 0x55A4, 0x86C6, 0x55A5, 0x86C7, 0x55A6, 0x86C8, 0x55A8, 0x86C9, 0x55A9, - 0x86CA, 0x55AA, 0x86CB, 0x55AB, 0x86CC, 0x55AC, 0x86CD, 0x55AD, 0x86CE, 0x55AE, 0x86CF, 0x55AF, 0x86D0, 0x55B0, 0x86D1, 0x55B2, - 0x86D2, 0x55B4, 0x86D3, 0x55B6, 0x86D4, 0x55B8, 0x86D5, 0x55BA, 0x86D6, 0x55BC, 0x86D7, 0x55BF, 0x86D8, 0x55C0, 0x86D9, 0x55C1, - 0x86DA, 0x55C2, 0x86DB, 0x55C3, 0x86DC, 0x55C6, 0x86DD, 0x55C7, 0x86DE, 0x55C8, 0x86DF, 0x55CA, 0x86E0, 0x55CB, 0x86E1, 0x55CE, - 0x86E2, 0x55CF, 0x86E3, 0x55D0, 0x86E4, 0x55D5, 0x86E5, 0x55D7, 0x86E6, 0x55D8, 0x86E7, 0x55D9, 0x86E8, 0x55DA, 0x86E9, 0x55DB, - 0x86EA, 0x55DE, 0x86EB, 0x55E0, 0x86EC, 0x55E2, 0x86ED, 0x55E7, 0x86EE, 0x55E9, 0x86EF, 0x55ED, 0x86F0, 0x55EE, 0x86F1, 0x55F0, - 0x86F2, 0x55F1, 0x86F3, 0x55F4, 0x86F4, 0x55F6, 0x86F5, 0x55F8, 0x86F6, 0x55F9, 0x86F7, 0x55FA, 0x86F8, 0x55FB, 0x86F9, 0x55FC, - 0x86FA, 0x55FF, 0x86FB, 0x5602, 0x86FC, 0x5603, 0x86FD, 0x5604, 0x86FE, 0x5605, 0x8740, 0x5606, 0x8741, 0x5607, 0x8742, 0x560A, - 0x8743, 0x560B, 0x8744, 0x560D, 0x8745, 0x5610, 0x8746, 0x5611, 0x8747, 0x5612, 0x8748, 0x5613, 0x8749, 0x5614, 0x874A, 0x5615, - 0x874B, 0x5616, 0x874C, 0x5617, 0x874D, 0x5619, 0x874E, 0x561A, 0x874F, 0x561C, 0x8750, 0x561D, 0x8751, 0x5620, 0x8752, 0x5621, - 0x8753, 0x5622, 0x8754, 0x5625, 0x8755, 0x5626, 0x8756, 0x5628, 0x8757, 0x5629, 0x8758, 0x562A, 0x8759, 0x562B, 0x875A, 0x562E, - 0x875B, 0x562F, 0x875C, 0x5630, 0x875D, 0x5633, 0x875E, 0x5635, 0x875F, 0x5637, 0x8760, 0x5638, 0x8761, 0x563A, 0x8762, 0x563C, - 0x8763, 0x563D, 0x8764, 0x563E, 0x8765, 0x5640, 0x8766, 0x5641, 0x8767, 0x5642, 0x8768, 0x5643, 0x8769, 0x5644, 0x876A, 0x5645, - 0x876B, 0x5646, 0x876C, 0x5647, 0x876D, 0x5648, 0x876E, 0x5649, 0x876F, 0x564A, 0x8770, 0x564B, 0x8771, 0x564F, 0x8772, 0x5650, - 0x8773, 0x5651, 0x8774, 0x5652, 0x8775, 0x5653, 0x8776, 0x5655, 0x8777, 0x5656, 0x8778, 0x565A, 0x8779, 0x565B, 0x877A, 0x565D, - 0x877B, 0x565E, 0x877C, 0x565F, 0x877D, 0x5660, 0x877E, 0x5661, 0x8780, 0x5663, 0x8781, 0x5665, 0x8782, 0x5666, 0x8783, 0x5667, - 0x8784, 0x566D, 0x8785, 0x566E, 0x8786, 0x566F, 0x8787, 0x5670, 0x8788, 0x5672, 0x8789, 0x5673, 0x878A, 0x5674, 0x878B, 0x5675, - 0x878C, 0x5677, 0x878D, 0x5678, 0x878E, 0x5679, 0x878F, 0x567A, 0x8790, 0x567D, 0x8791, 0x567E, 0x8792, 0x567F, 0x8793, 0x5680, - 0x8794, 0x5681, 0x8795, 0x5682, 0x8796, 0x5683, 0x8797, 0x5684, 0x8798, 0x5687, 0x8799, 0x5688, 0x879A, 0x5689, 0x879B, 0x568A, - 0x879C, 0x568B, 0x879D, 0x568C, 0x879E, 0x568D, 0x879F, 0x5690, 0x87A0, 0x5691, 0x87A1, 0x5692, 0x87A2, 0x5694, 0x87A3, 0x5695, - 0x87A4, 0x5696, 0x87A5, 0x5697, 0x87A6, 0x5698, 0x87A7, 0x5699, 0x87A8, 0x569A, 0x87A9, 0x569B, 0x87AA, 0x569C, 0x87AB, 0x569D, - 0x87AC, 0x569E, 0x87AD, 0x569F, 0x87AE, 0x56A0, 0x87AF, 0x56A1, 0x87B0, 0x56A2, 0x87B1, 0x56A4, 0x87B2, 0x56A5, 0x87B3, 0x56A6, - 0x87B4, 0x56A7, 0x87B5, 0x56A8, 0x87B6, 0x56A9, 0x87B7, 0x56AA, 0x87B8, 0x56AB, 0x87B9, 0x56AC, 0x87BA, 0x56AD, 0x87BB, 0x56AE, - 0x87BC, 0x56B0, 0x87BD, 0x56B1, 0x87BE, 0x56B2, 0x87BF, 0x56B3, 0x87C0, 0x56B4, 0x87C1, 0x56B5, 0x87C2, 0x56B6, 0x87C3, 0x56B8, - 0x87C4, 0x56B9, 0x87C5, 0x56BA, 0x87C6, 0x56BB, 0x87C7, 0x56BD, 0x87C8, 0x56BE, 0x87C9, 0x56BF, 0x87CA, 0x56C0, 0x87CB, 0x56C1, - 0x87CC, 0x56C2, 0x87CD, 0x56C3, 0x87CE, 0x56C4, 0x87CF, 0x56C5, 0x87D0, 0x56C6, 0x87D1, 0x56C7, 0x87D2, 0x56C8, 0x87D3, 0x56C9, - 0x87D4, 0x56CB, 0x87D5, 0x56CC, 0x87D6, 0x56CD, 0x87D7, 0x56CE, 0x87D8, 0x56CF, 0x87D9, 0x56D0, 0x87DA, 0x56D1, 0x87DB, 0x56D2, - 0x87DC, 0x56D3, 0x87DD, 0x56D5, 0x87DE, 0x56D6, 0x87DF, 0x56D8, 0x87E0, 0x56D9, 0x87E1, 0x56DC, 0x87E2, 0x56E3, 0x87E3, 0x56E5, - 0x87E4, 0x56E6, 0x87E5, 0x56E7, 0x87E6, 0x56E8, 0x87E7, 0x56E9, 0x87E8, 0x56EA, 0x87E9, 0x56EC, 0x87EA, 0x56EE, 0x87EB, 0x56EF, - 0x87EC, 0x56F2, 0x87ED, 0x56F3, 0x87EE, 0x56F6, 0x87EF, 0x56F7, 0x87F0, 0x56F8, 0x87F1, 0x56FB, 0x87F2, 0x56FC, 0x87F3, 0x5700, - 0x87F4, 0x5701, 0x87F5, 0x5702, 0x87F6, 0x5705, 0x87F7, 0x5707, 0x87F8, 0x570B, 0x87F9, 0x570C, 0x87FA, 0x570D, 0x87FB, 0x570E, - 0x87FC, 0x570F, 0x87FD, 0x5710, 0x87FE, 0x5711, 0x8840, 0x5712, 0x8841, 0x5713, 0x8842, 0x5714, 0x8843, 0x5715, 0x8844, 0x5716, - 0x8845, 0x5717, 0x8846, 0x5718, 0x8847, 0x5719, 0x8848, 0x571A, 0x8849, 0x571B, 0x884A, 0x571D, 0x884B, 0x571E, 0x884C, 0x5720, - 0x884D, 0x5721, 0x884E, 0x5722, 0x884F, 0x5724, 0x8850, 0x5725, 0x8851, 0x5726, 0x8852, 0x5727, 0x8853, 0x572B, 0x8854, 0x5731, - 0x8855, 0x5732, 0x8856, 0x5734, 0x8857, 0x5735, 0x8858, 0x5736, 0x8859, 0x5737, 0x885A, 0x5738, 0x885B, 0x573C, 0x885C, 0x573D, - 0x885D, 0x573F, 0x885E, 0x5741, 0x885F, 0x5743, 0x8860, 0x5744, 0x8861, 0x5745, 0x8862, 0x5746, 0x8863, 0x5748, 0x8864, 0x5749, - 0x8865, 0x574B, 0x8866, 0x5752, 0x8867, 0x5753, 0x8868, 0x5754, 0x8869, 0x5755, 0x886A, 0x5756, 0x886B, 0x5758, 0x886C, 0x5759, - 0x886D, 0x5762, 0x886E, 0x5763, 0x886F, 0x5765, 0x8870, 0x5767, 0x8871, 0x576C, 0x8872, 0x576E, 0x8873, 0x5770, 0x8874, 0x5771, - 0x8875, 0x5772, 0x8876, 0x5774, 0x8877, 0x5775, 0x8878, 0x5778, 0x8879, 0x5779, 0x887A, 0x577A, 0x887B, 0x577D, 0x887C, 0x577E, - 0x887D, 0x577F, 0x887E, 0x5780, 0x8880, 0x5781, 0x8881, 0x5787, 0x8882, 0x5788, 0x8883, 0x5789, 0x8884, 0x578A, 0x8885, 0x578D, - 0x8886, 0x578E, 0x8887, 0x578F, 0x8888, 0x5790, 0x8889, 0x5791, 0x888A, 0x5794, 0x888B, 0x5795, 0x888C, 0x5796, 0x888D, 0x5797, - 0x888E, 0x5798, 0x888F, 0x5799, 0x8890, 0x579A, 0x8891, 0x579C, 0x8892, 0x579D, 0x8893, 0x579E, 0x8894, 0x579F, 0x8895, 0x57A5, - 0x8896, 0x57A8, 0x8897, 0x57AA, 0x8898, 0x57AC, 0x8899, 0x57AF, 0x889A, 0x57B0, 0x889B, 0x57B1, 0x889C, 0x57B3, 0x889D, 0x57B5, - 0x889E, 0x57B6, 0x889F, 0x57B7, 0x88A0, 0x57B9, 0x88A1, 0x57BA, 0x88A2, 0x57BB, 0x88A3, 0x57BC, 0x88A4, 0x57BD, 0x88A5, 0x57BE, - 0x88A6, 0x57BF, 0x88A7, 0x57C0, 0x88A8, 0x57C1, 0x88A9, 0x57C4, 0x88AA, 0x57C5, 0x88AB, 0x57C6, 0x88AC, 0x57C7, 0x88AD, 0x57C8, - 0x88AE, 0x57C9, 0x88AF, 0x57CA, 0x88B0, 0x57CC, 0x88B1, 0x57CD, 0x88B2, 0x57D0, 0x88B3, 0x57D1, 0x88B4, 0x57D3, 0x88B5, 0x57D6, - 0x88B6, 0x57D7, 0x88B7, 0x57DB, 0x88B8, 0x57DC, 0x88B9, 0x57DE, 0x88BA, 0x57E1, 0x88BB, 0x57E2, 0x88BC, 0x57E3, 0x88BD, 0x57E5, - 0x88BE, 0x57E6, 0x88BF, 0x57E7, 0x88C0, 0x57E8, 0x88C1, 0x57E9, 0x88C2, 0x57EA, 0x88C3, 0x57EB, 0x88C4, 0x57EC, 0x88C5, 0x57EE, - 0x88C6, 0x57F0, 0x88C7, 0x57F1, 0x88C8, 0x57F2, 0x88C9, 0x57F3, 0x88CA, 0x57F5, 0x88CB, 0x57F6, 0x88CC, 0x57F7, 0x88CD, 0x57FB, - 0x88CE, 0x57FC, 0x88CF, 0x57FE, 0x88D0, 0x57FF, 0x88D1, 0x5801, 0x88D2, 0x5803, 0x88D3, 0x5804, 0x88D4, 0x5805, 0x88D5, 0x5808, - 0x88D6, 0x5809, 0x88D7, 0x580A, 0x88D8, 0x580C, 0x88D9, 0x580E, 0x88DA, 0x580F, 0x88DB, 0x5810, 0x88DC, 0x5812, 0x88DD, 0x5813, - 0x88DE, 0x5814, 0x88DF, 0x5816, 0x88E0, 0x5817, 0x88E1, 0x5818, 0x88E2, 0x581A, 0x88E3, 0x581B, 0x88E4, 0x581C, 0x88E5, 0x581D, - 0x88E6, 0x581F, 0x88E7, 0x5822, 0x88E8, 0x5823, 0x88E9, 0x5825, 0x88EA, 0x5826, 0x88EB, 0x5827, 0x88EC, 0x5828, 0x88ED, 0x5829, - 0x88EE, 0x582B, 0x88EF, 0x582C, 0x88F0, 0x582D, 0x88F1, 0x582E, 0x88F2, 0x582F, 0x88F3, 0x5831, 0x88F4, 0x5832, 0x88F5, 0x5833, - 0x88F6, 0x5834, 0x88F7, 0x5836, 0x88F8, 0x5837, 0x88F9, 0x5838, 0x88FA, 0x5839, 0x88FB, 0x583A, 0x88FC, 0x583B, 0x88FD, 0x583C, - 0x88FE, 0x583D, 0x8940, 0x583E, 0x8941, 0x583F, 0x8942, 0x5840, 0x8943, 0x5841, 0x8944, 0x5842, 0x8945, 0x5843, 0x8946, 0x5845, - 0x8947, 0x5846, 0x8948, 0x5847, 0x8949, 0x5848, 0x894A, 0x5849, 0x894B, 0x584A, 0x894C, 0x584B, 0x894D, 0x584E, 0x894E, 0x584F, - 0x894F, 0x5850, 0x8950, 0x5852, 0x8951, 0x5853, 0x8952, 0x5855, 0x8953, 0x5856, 0x8954, 0x5857, 0x8955, 0x5859, 0x8956, 0x585A, - 0x8957, 0x585B, 0x8958, 0x585C, 0x8959, 0x585D, 0x895A, 0x585F, 0x895B, 0x5860, 0x895C, 0x5861, 0x895D, 0x5862, 0x895E, 0x5863, - 0x895F, 0x5864, 0x8960, 0x5866, 0x8961, 0x5867, 0x8962, 0x5868, 0x8963, 0x5869, 0x8964, 0x586A, 0x8965, 0x586D, 0x8966, 0x586E, - 0x8967, 0x586F, 0x8968, 0x5870, 0x8969, 0x5871, 0x896A, 0x5872, 0x896B, 0x5873, 0x896C, 0x5874, 0x896D, 0x5875, 0x896E, 0x5876, - 0x896F, 0x5877, 0x8970, 0x5878, 0x8971, 0x5879, 0x8972, 0x587A, 0x8973, 0x587B, 0x8974, 0x587C, 0x8975, 0x587D, 0x8976, 0x587F, - 0x8977, 0x5882, 0x8978, 0x5884, 0x8979, 0x5886, 0x897A, 0x5887, 0x897B, 0x5888, 0x897C, 0x588A, 0x897D, 0x588B, 0x897E, 0x588C, - 0x8980, 0x588D, 0x8981, 0x588E, 0x8982, 0x588F, 0x8983, 0x5890, 0x8984, 0x5891, 0x8985, 0x5894, 0x8986, 0x5895, 0x8987, 0x5896, - 0x8988, 0x5897, 0x8989, 0x5898, 0x898A, 0x589B, 0x898B, 0x589C, 0x898C, 0x589D, 0x898D, 0x58A0, 0x898E, 0x58A1, 0x898F, 0x58A2, - 0x8990, 0x58A3, 0x8991, 0x58A4, 0x8992, 0x58A5, 0x8993, 0x58A6, 0x8994, 0x58A7, 0x8995, 0x58AA, 0x8996, 0x58AB, 0x8997, 0x58AC, - 0x8998, 0x58AD, 0x8999, 0x58AE, 0x899A, 0x58AF, 0x899B, 0x58B0, 0x899C, 0x58B1, 0x899D, 0x58B2, 0x899E, 0x58B3, 0x899F, 0x58B4, - 0x89A0, 0x58B5, 0x89A1, 0x58B6, 0x89A2, 0x58B7, 0x89A3, 0x58B8, 0x89A4, 0x58B9, 0x89A5, 0x58BA, 0x89A6, 0x58BB, 0x89A7, 0x58BD, - 0x89A8, 0x58BE, 0x89A9, 0x58BF, 0x89AA, 0x58C0, 0x89AB, 0x58C2, 0x89AC, 0x58C3, 0x89AD, 0x58C4, 0x89AE, 0x58C6, 0x89AF, 0x58C7, - 0x89B0, 0x58C8, 0x89B1, 0x58C9, 0x89B2, 0x58CA, 0x89B3, 0x58CB, 0x89B4, 0x58CC, 0x89B5, 0x58CD, 0x89B6, 0x58CE, 0x89B7, 0x58CF, - 0x89B8, 0x58D0, 0x89B9, 0x58D2, 0x89BA, 0x58D3, 0x89BB, 0x58D4, 0x89BC, 0x58D6, 0x89BD, 0x58D7, 0x89BE, 0x58D8, 0x89BF, 0x58D9, - 0x89C0, 0x58DA, 0x89C1, 0x58DB, 0x89C2, 0x58DC, 0x89C3, 0x58DD, 0x89C4, 0x58DE, 0x89C5, 0x58DF, 0x89C6, 0x58E0, 0x89C7, 0x58E1, - 0x89C8, 0x58E2, 0x89C9, 0x58E3, 0x89CA, 0x58E5, 0x89CB, 0x58E6, 0x89CC, 0x58E7, 0x89CD, 0x58E8, 0x89CE, 0x58E9, 0x89CF, 0x58EA, - 0x89D0, 0x58ED, 0x89D1, 0x58EF, 0x89D2, 0x58F1, 0x89D3, 0x58F2, 0x89D4, 0x58F4, 0x89D5, 0x58F5, 0x89D6, 0x58F7, 0x89D7, 0x58F8, - 0x89D8, 0x58FA, 0x89D9, 0x58FB, 0x89DA, 0x58FC, 0x89DB, 0x58FD, 0x89DC, 0x58FE, 0x89DD, 0x58FF, 0x89DE, 0x5900, 0x89DF, 0x5901, - 0x89E0, 0x5903, 0x89E1, 0x5905, 0x89E2, 0x5906, 0x89E3, 0x5908, 0x89E4, 0x5909, 0x89E5, 0x590A, 0x89E6, 0x590B, 0x89E7, 0x590C, - 0x89E8, 0x590E, 0x89E9, 0x5910, 0x89EA, 0x5911, 0x89EB, 0x5912, 0x89EC, 0x5913, 0x89ED, 0x5917, 0x89EE, 0x5918, 0x89EF, 0x591B, - 0x89F0, 0x591D, 0x89F1, 0x591E, 0x89F2, 0x5920, 0x89F3, 0x5921, 0x89F4, 0x5922, 0x89F5, 0x5923, 0x89F6, 0x5926, 0x89F7, 0x5928, - 0x89F8, 0x592C, 0x89F9, 0x5930, 0x89FA, 0x5932, 0x89FB, 0x5933, 0x89FC, 0x5935, 0x89FD, 0x5936, 0x89FE, 0x593B, 0x8A40, 0x593D, - 0x8A41, 0x593E, 0x8A42, 0x593F, 0x8A43, 0x5940, 0x8A44, 0x5943, 0x8A45, 0x5945, 0x8A46, 0x5946, 0x8A47, 0x594A, 0x8A48, 0x594C, - 0x8A49, 0x594D, 0x8A4A, 0x5950, 0x8A4B, 0x5952, 0x8A4C, 0x5953, 0x8A4D, 0x5959, 0x8A4E, 0x595B, 0x8A4F, 0x595C, 0x8A50, 0x595D, - 0x8A51, 0x595E, 0x8A52, 0x595F, 0x8A53, 0x5961, 0x8A54, 0x5963, 0x8A55, 0x5964, 0x8A56, 0x5966, 0x8A57, 0x5967, 0x8A58, 0x5968, - 0x8A59, 0x5969, 0x8A5A, 0x596A, 0x8A5B, 0x596B, 0x8A5C, 0x596C, 0x8A5D, 0x596D, 0x8A5E, 0x596E, 0x8A5F, 0x596F, 0x8A60, 0x5970, - 0x8A61, 0x5971, 0x8A62, 0x5972, 0x8A63, 0x5975, 0x8A64, 0x5977, 0x8A65, 0x597A, 0x8A66, 0x597B, 0x8A67, 0x597C, 0x8A68, 0x597E, - 0x8A69, 0x597F, 0x8A6A, 0x5980, 0x8A6B, 0x5985, 0x8A6C, 0x5989, 0x8A6D, 0x598B, 0x8A6E, 0x598C, 0x8A6F, 0x598E, 0x8A70, 0x598F, - 0x8A71, 0x5990, 0x8A72, 0x5991, 0x8A73, 0x5994, 0x8A74, 0x5995, 0x8A75, 0x5998, 0x8A76, 0x599A, 0x8A77, 0x599B, 0x8A78, 0x599C, - 0x8A79, 0x599D, 0x8A7A, 0x599F, 0x8A7B, 0x59A0, 0x8A7C, 0x59A1, 0x8A7D, 0x59A2, 0x8A7E, 0x59A6, 0x8A80, 0x59A7, 0x8A81, 0x59AC, - 0x8A82, 0x59AD, 0x8A83, 0x59B0, 0x8A84, 0x59B1, 0x8A85, 0x59B3, 0x8A86, 0x59B4, 0x8A87, 0x59B5, 0x8A88, 0x59B6, 0x8A89, 0x59B7, - 0x8A8A, 0x59B8, 0x8A8B, 0x59BA, 0x8A8C, 0x59BC, 0x8A8D, 0x59BD, 0x8A8E, 0x59BF, 0x8A8F, 0x59C0, 0x8A90, 0x59C1, 0x8A91, 0x59C2, - 0x8A92, 0x59C3, 0x8A93, 0x59C4, 0x8A94, 0x59C5, 0x8A95, 0x59C7, 0x8A96, 0x59C8, 0x8A97, 0x59C9, 0x8A98, 0x59CC, 0x8A99, 0x59CD, - 0x8A9A, 0x59CE, 0x8A9B, 0x59CF, 0x8A9C, 0x59D5, 0x8A9D, 0x59D6, 0x8A9E, 0x59D9, 0x8A9F, 0x59DB, 0x8AA0, 0x59DE, 0x8AA1, 0x59DF, - 0x8AA2, 0x59E0, 0x8AA3, 0x59E1, 0x8AA4, 0x59E2, 0x8AA5, 0x59E4, 0x8AA6, 0x59E6, 0x8AA7, 0x59E7, 0x8AA8, 0x59E9, 0x8AA9, 0x59EA, - 0x8AAA, 0x59EB, 0x8AAB, 0x59ED, 0x8AAC, 0x59EE, 0x8AAD, 0x59EF, 0x8AAE, 0x59F0, 0x8AAF, 0x59F1, 0x8AB0, 0x59F2, 0x8AB1, 0x59F3, - 0x8AB2, 0x59F4, 0x8AB3, 0x59F5, 0x8AB4, 0x59F6, 0x8AB5, 0x59F7, 0x8AB6, 0x59F8, 0x8AB7, 0x59FA, 0x8AB8, 0x59FC, 0x8AB9, 0x59FD, - 0x8ABA, 0x59FE, 0x8ABB, 0x5A00, 0x8ABC, 0x5A02, 0x8ABD, 0x5A0A, 0x8ABE, 0x5A0B, 0x8ABF, 0x5A0D, 0x8AC0, 0x5A0E, 0x8AC1, 0x5A0F, - 0x8AC2, 0x5A10, 0x8AC3, 0x5A12, 0x8AC4, 0x5A14, 0x8AC5, 0x5A15, 0x8AC6, 0x5A16, 0x8AC7, 0x5A17, 0x8AC8, 0x5A19, 0x8AC9, 0x5A1A, - 0x8ACA, 0x5A1B, 0x8ACB, 0x5A1D, 0x8ACC, 0x5A1E, 0x8ACD, 0x5A21, 0x8ACE, 0x5A22, 0x8ACF, 0x5A24, 0x8AD0, 0x5A26, 0x8AD1, 0x5A27, - 0x8AD2, 0x5A28, 0x8AD3, 0x5A2A, 0x8AD4, 0x5A2B, 0x8AD5, 0x5A2C, 0x8AD6, 0x5A2D, 0x8AD7, 0x5A2E, 0x8AD8, 0x5A2F, 0x8AD9, 0x5A30, - 0x8ADA, 0x5A33, 0x8ADB, 0x5A35, 0x8ADC, 0x5A37, 0x8ADD, 0x5A38, 0x8ADE, 0x5A39, 0x8ADF, 0x5A3A, 0x8AE0, 0x5A3B, 0x8AE1, 0x5A3D, - 0x8AE2, 0x5A3E, 0x8AE3, 0x5A3F, 0x8AE4, 0x5A41, 0x8AE5, 0x5A42, 0x8AE6, 0x5A43, 0x8AE7, 0x5A44, 0x8AE8, 0x5A45, 0x8AE9, 0x5A47, - 0x8AEA, 0x5A48, 0x8AEB, 0x5A4B, 0x8AEC, 0x5A4C, 0x8AED, 0x5A4D, 0x8AEE, 0x5A4E, 0x8AEF, 0x5A4F, 0x8AF0, 0x5A50, 0x8AF1, 0x5A51, - 0x8AF2, 0x5A52, 0x8AF3, 0x5A53, 0x8AF4, 0x5A54, 0x8AF5, 0x5A56, 0x8AF6, 0x5A57, 0x8AF7, 0x5A58, 0x8AF8, 0x5A59, 0x8AF9, 0x5A5B, - 0x8AFA, 0x5A5C, 0x8AFB, 0x5A5D, 0x8AFC, 0x5A5E, 0x8AFD, 0x5A5F, 0x8AFE, 0x5A60, 0x8B40, 0x5A61, 0x8B41, 0x5A63, 0x8B42, 0x5A64, - 0x8B43, 0x5A65, 0x8B44, 0x5A66, 0x8B45, 0x5A68, 0x8B46, 0x5A69, 0x8B47, 0x5A6B, 0x8B48, 0x5A6C, 0x8B49, 0x5A6D, 0x8B4A, 0x5A6E, - 0x8B4B, 0x5A6F, 0x8B4C, 0x5A70, 0x8B4D, 0x5A71, 0x8B4E, 0x5A72, 0x8B4F, 0x5A73, 0x8B50, 0x5A78, 0x8B51, 0x5A79, 0x8B52, 0x5A7B, - 0x8B53, 0x5A7C, 0x8B54, 0x5A7D, 0x8B55, 0x5A7E, 0x8B56, 0x5A80, 0x8B57, 0x5A81, 0x8B58, 0x5A82, 0x8B59, 0x5A83, 0x8B5A, 0x5A84, - 0x8B5B, 0x5A85, 0x8B5C, 0x5A86, 0x8B5D, 0x5A87, 0x8B5E, 0x5A88, 0x8B5F, 0x5A89, 0x8B60, 0x5A8A, 0x8B61, 0x5A8B, 0x8B62, 0x5A8C, - 0x8B63, 0x5A8D, 0x8B64, 0x5A8E, 0x8B65, 0x5A8F, 0x8B66, 0x5A90, 0x8B67, 0x5A91, 0x8B68, 0x5A93, 0x8B69, 0x5A94, 0x8B6A, 0x5A95, - 0x8B6B, 0x5A96, 0x8B6C, 0x5A97, 0x8B6D, 0x5A98, 0x8B6E, 0x5A99, 0x8B6F, 0x5A9C, 0x8B70, 0x5A9D, 0x8B71, 0x5A9E, 0x8B72, 0x5A9F, - 0x8B73, 0x5AA0, 0x8B74, 0x5AA1, 0x8B75, 0x5AA2, 0x8B76, 0x5AA3, 0x8B77, 0x5AA4, 0x8B78, 0x5AA5, 0x8B79, 0x5AA6, 0x8B7A, 0x5AA7, - 0x8B7B, 0x5AA8, 0x8B7C, 0x5AA9, 0x8B7D, 0x5AAB, 0x8B7E, 0x5AAC, 0x8B80, 0x5AAD, 0x8B81, 0x5AAE, 0x8B82, 0x5AAF, 0x8B83, 0x5AB0, - 0x8B84, 0x5AB1, 0x8B85, 0x5AB4, 0x8B86, 0x5AB6, 0x8B87, 0x5AB7, 0x8B88, 0x5AB9, 0x8B89, 0x5ABA, 0x8B8A, 0x5ABB, 0x8B8B, 0x5ABC, - 0x8B8C, 0x5ABD, 0x8B8D, 0x5ABF, 0x8B8E, 0x5AC0, 0x8B8F, 0x5AC3, 0x8B90, 0x5AC4, 0x8B91, 0x5AC5, 0x8B92, 0x5AC6, 0x8B93, 0x5AC7, - 0x8B94, 0x5AC8, 0x8B95, 0x5ACA, 0x8B96, 0x5ACB, 0x8B97, 0x5ACD, 0x8B98, 0x5ACE, 0x8B99, 0x5ACF, 0x8B9A, 0x5AD0, 0x8B9B, 0x5AD1, - 0x8B9C, 0x5AD3, 0x8B9D, 0x5AD5, 0x8B9E, 0x5AD7, 0x8B9F, 0x5AD9, 0x8BA0, 0x5ADA, 0x8BA1, 0x5ADB, 0x8BA2, 0x5ADD, 0x8BA3, 0x5ADE, - 0x8BA4, 0x5ADF, 0x8BA5, 0x5AE2, 0x8BA6, 0x5AE4, 0x8BA7, 0x5AE5, 0x8BA8, 0x5AE7, 0x8BA9, 0x5AE8, 0x8BAA, 0x5AEA, 0x8BAB, 0x5AEC, - 0x8BAC, 0x5AED, 0x8BAD, 0x5AEE, 0x8BAE, 0x5AEF, 0x8BAF, 0x5AF0, 0x8BB0, 0x5AF2, 0x8BB1, 0x5AF3, 0x8BB2, 0x5AF4, 0x8BB3, 0x5AF5, - 0x8BB4, 0x5AF6, 0x8BB5, 0x5AF7, 0x8BB6, 0x5AF8, 0x8BB7, 0x5AF9, 0x8BB8, 0x5AFA, 0x8BB9, 0x5AFB, 0x8BBA, 0x5AFC, 0x8BBB, 0x5AFD, - 0x8BBC, 0x5AFE, 0x8BBD, 0x5AFF, 0x8BBE, 0x5B00, 0x8BBF, 0x5B01, 0x8BC0, 0x5B02, 0x8BC1, 0x5B03, 0x8BC2, 0x5B04, 0x8BC3, 0x5B05, - 0x8BC4, 0x5B06, 0x8BC5, 0x5B07, 0x8BC6, 0x5B08, 0x8BC7, 0x5B0A, 0x8BC8, 0x5B0B, 0x8BC9, 0x5B0C, 0x8BCA, 0x5B0D, 0x8BCB, 0x5B0E, - 0x8BCC, 0x5B0F, 0x8BCD, 0x5B10, 0x8BCE, 0x5B11, 0x8BCF, 0x5B12, 0x8BD0, 0x5B13, 0x8BD1, 0x5B14, 0x8BD2, 0x5B15, 0x8BD3, 0x5B18, - 0x8BD4, 0x5B19, 0x8BD5, 0x5B1A, 0x8BD6, 0x5B1B, 0x8BD7, 0x5B1C, 0x8BD8, 0x5B1D, 0x8BD9, 0x5B1E, 0x8BDA, 0x5B1F, 0x8BDB, 0x5B20, - 0x8BDC, 0x5B21, 0x8BDD, 0x5B22, 0x8BDE, 0x5B23, 0x8BDF, 0x5B24, 0x8BE0, 0x5B25, 0x8BE1, 0x5B26, 0x8BE2, 0x5B27, 0x8BE3, 0x5B28, - 0x8BE4, 0x5B29, 0x8BE5, 0x5B2A, 0x8BE6, 0x5B2B, 0x8BE7, 0x5B2C, 0x8BE8, 0x5B2D, 0x8BE9, 0x5B2E, 0x8BEA, 0x5B2F, 0x8BEB, 0x5B30, - 0x8BEC, 0x5B31, 0x8BED, 0x5B33, 0x8BEE, 0x5B35, 0x8BEF, 0x5B36, 0x8BF0, 0x5B38, 0x8BF1, 0x5B39, 0x8BF2, 0x5B3A, 0x8BF3, 0x5B3B, - 0x8BF4, 0x5B3C, 0x8BF5, 0x5B3D, 0x8BF6, 0x5B3E, 0x8BF7, 0x5B3F, 0x8BF8, 0x5B41, 0x8BF9, 0x5B42, 0x8BFA, 0x5B43, 0x8BFB, 0x5B44, - 0x8BFC, 0x5B45, 0x8BFD, 0x5B46, 0x8BFE, 0x5B47, 0x8C40, 0x5B48, 0x8C41, 0x5B49, 0x8C42, 0x5B4A, 0x8C43, 0x5B4B, 0x8C44, 0x5B4C, - 0x8C45, 0x5B4D, 0x8C46, 0x5B4E, 0x8C47, 0x5B4F, 0x8C48, 0x5B52, 0x8C49, 0x5B56, 0x8C4A, 0x5B5E, 0x8C4B, 0x5B60, 0x8C4C, 0x5B61, - 0x8C4D, 0x5B67, 0x8C4E, 0x5B68, 0x8C4F, 0x5B6B, 0x8C50, 0x5B6D, 0x8C51, 0x5B6E, 0x8C52, 0x5B6F, 0x8C53, 0x5B72, 0x8C54, 0x5B74, - 0x8C55, 0x5B76, 0x8C56, 0x5B77, 0x8C57, 0x5B78, 0x8C58, 0x5B79, 0x8C59, 0x5B7B, 0x8C5A, 0x5B7C, 0x8C5B, 0x5B7E, 0x8C5C, 0x5B7F, - 0x8C5D, 0x5B82, 0x8C5E, 0x5B86, 0x8C5F, 0x5B8A, 0x8C60, 0x5B8D, 0x8C61, 0x5B8E, 0x8C62, 0x5B90, 0x8C63, 0x5B91, 0x8C64, 0x5B92, - 0x8C65, 0x5B94, 0x8C66, 0x5B96, 0x8C67, 0x5B9F, 0x8C68, 0x5BA7, 0x8C69, 0x5BA8, 0x8C6A, 0x5BA9, 0x8C6B, 0x5BAC, 0x8C6C, 0x5BAD, - 0x8C6D, 0x5BAE, 0x8C6E, 0x5BAF, 0x8C6F, 0x5BB1, 0x8C70, 0x5BB2, 0x8C71, 0x5BB7, 0x8C72, 0x5BBA, 0x8C73, 0x5BBB, 0x8C74, 0x5BBC, - 0x8C75, 0x5BC0, 0x8C76, 0x5BC1, 0x8C77, 0x5BC3, 0x8C78, 0x5BC8, 0x8C79, 0x5BC9, 0x8C7A, 0x5BCA, 0x8C7B, 0x5BCB, 0x8C7C, 0x5BCD, - 0x8C7D, 0x5BCE, 0x8C7E, 0x5BCF, 0x8C80, 0x5BD1, 0x8C81, 0x5BD4, 0x8C82, 0x5BD5, 0x8C83, 0x5BD6, 0x8C84, 0x5BD7, 0x8C85, 0x5BD8, - 0x8C86, 0x5BD9, 0x8C87, 0x5BDA, 0x8C88, 0x5BDB, 0x8C89, 0x5BDC, 0x8C8A, 0x5BE0, 0x8C8B, 0x5BE2, 0x8C8C, 0x5BE3, 0x8C8D, 0x5BE6, - 0x8C8E, 0x5BE7, 0x8C8F, 0x5BE9, 0x8C90, 0x5BEA, 0x8C91, 0x5BEB, 0x8C92, 0x5BEC, 0x8C93, 0x5BED, 0x8C94, 0x5BEF, 0x8C95, 0x5BF1, - 0x8C96, 0x5BF2, 0x8C97, 0x5BF3, 0x8C98, 0x5BF4, 0x8C99, 0x5BF5, 0x8C9A, 0x5BF6, 0x8C9B, 0x5BF7, 0x8C9C, 0x5BFD, 0x8C9D, 0x5BFE, - 0x8C9E, 0x5C00, 0x8C9F, 0x5C02, 0x8CA0, 0x5C03, 0x8CA1, 0x5C05, 0x8CA2, 0x5C07, 0x8CA3, 0x5C08, 0x8CA4, 0x5C0B, 0x8CA5, 0x5C0C, - 0x8CA6, 0x5C0D, 0x8CA7, 0x5C0E, 0x8CA8, 0x5C10, 0x8CA9, 0x5C12, 0x8CAA, 0x5C13, 0x8CAB, 0x5C17, 0x8CAC, 0x5C19, 0x8CAD, 0x5C1B, - 0x8CAE, 0x5C1E, 0x8CAF, 0x5C1F, 0x8CB0, 0x5C20, 0x8CB1, 0x5C21, 0x8CB2, 0x5C23, 0x8CB3, 0x5C26, 0x8CB4, 0x5C28, 0x8CB5, 0x5C29, - 0x8CB6, 0x5C2A, 0x8CB7, 0x5C2B, 0x8CB8, 0x5C2D, 0x8CB9, 0x5C2E, 0x8CBA, 0x5C2F, 0x8CBB, 0x5C30, 0x8CBC, 0x5C32, 0x8CBD, 0x5C33, - 0x8CBE, 0x5C35, 0x8CBF, 0x5C36, 0x8CC0, 0x5C37, 0x8CC1, 0x5C43, 0x8CC2, 0x5C44, 0x8CC3, 0x5C46, 0x8CC4, 0x5C47, 0x8CC5, 0x5C4C, - 0x8CC6, 0x5C4D, 0x8CC7, 0x5C52, 0x8CC8, 0x5C53, 0x8CC9, 0x5C54, 0x8CCA, 0x5C56, 0x8CCB, 0x5C57, 0x8CCC, 0x5C58, 0x8CCD, 0x5C5A, - 0x8CCE, 0x5C5B, 0x8CCF, 0x5C5C, 0x8CD0, 0x5C5D, 0x8CD1, 0x5C5F, 0x8CD2, 0x5C62, 0x8CD3, 0x5C64, 0x8CD4, 0x5C67, 0x8CD5, 0x5C68, - 0x8CD6, 0x5C69, 0x8CD7, 0x5C6A, 0x8CD8, 0x5C6B, 0x8CD9, 0x5C6C, 0x8CDA, 0x5C6D, 0x8CDB, 0x5C70, 0x8CDC, 0x5C72, 0x8CDD, 0x5C73, - 0x8CDE, 0x5C74, 0x8CDF, 0x5C75, 0x8CE0, 0x5C76, 0x8CE1, 0x5C77, 0x8CE2, 0x5C78, 0x8CE3, 0x5C7B, 0x8CE4, 0x5C7C, 0x8CE5, 0x5C7D, - 0x8CE6, 0x5C7E, 0x8CE7, 0x5C80, 0x8CE8, 0x5C83, 0x8CE9, 0x5C84, 0x8CEA, 0x5C85, 0x8CEB, 0x5C86, 0x8CEC, 0x5C87, 0x8CED, 0x5C89, - 0x8CEE, 0x5C8A, 0x8CEF, 0x5C8B, 0x8CF0, 0x5C8E, 0x8CF1, 0x5C8F, 0x8CF2, 0x5C92, 0x8CF3, 0x5C93, 0x8CF4, 0x5C95, 0x8CF5, 0x5C9D, - 0x8CF6, 0x5C9E, 0x8CF7, 0x5C9F, 0x8CF8, 0x5CA0, 0x8CF9, 0x5CA1, 0x8CFA, 0x5CA4, 0x8CFB, 0x5CA5, 0x8CFC, 0x5CA6, 0x8CFD, 0x5CA7, - 0x8CFE, 0x5CA8, 0x8D40, 0x5CAA, 0x8D41, 0x5CAE, 0x8D42, 0x5CAF, 0x8D43, 0x5CB0, 0x8D44, 0x5CB2, 0x8D45, 0x5CB4, 0x8D46, 0x5CB6, - 0x8D47, 0x5CB9, 0x8D48, 0x5CBA, 0x8D49, 0x5CBB, 0x8D4A, 0x5CBC, 0x8D4B, 0x5CBE, 0x8D4C, 0x5CC0, 0x8D4D, 0x5CC2, 0x8D4E, 0x5CC3, - 0x8D4F, 0x5CC5, 0x8D50, 0x5CC6, 0x8D51, 0x5CC7, 0x8D52, 0x5CC8, 0x8D53, 0x5CC9, 0x8D54, 0x5CCA, 0x8D55, 0x5CCC, 0x8D56, 0x5CCD, - 0x8D57, 0x5CCE, 0x8D58, 0x5CCF, 0x8D59, 0x5CD0, 0x8D5A, 0x5CD1, 0x8D5B, 0x5CD3, 0x8D5C, 0x5CD4, 0x8D5D, 0x5CD5, 0x8D5E, 0x5CD6, - 0x8D5F, 0x5CD7, 0x8D60, 0x5CD8, 0x8D61, 0x5CDA, 0x8D62, 0x5CDB, 0x8D63, 0x5CDC, 0x8D64, 0x5CDD, 0x8D65, 0x5CDE, 0x8D66, 0x5CDF, - 0x8D67, 0x5CE0, 0x8D68, 0x5CE2, 0x8D69, 0x5CE3, 0x8D6A, 0x5CE7, 0x8D6B, 0x5CE9, 0x8D6C, 0x5CEB, 0x8D6D, 0x5CEC, 0x8D6E, 0x5CEE, - 0x8D6F, 0x5CEF, 0x8D70, 0x5CF1, 0x8D71, 0x5CF2, 0x8D72, 0x5CF3, 0x8D73, 0x5CF4, 0x8D74, 0x5CF5, 0x8D75, 0x5CF6, 0x8D76, 0x5CF7, - 0x8D77, 0x5CF8, 0x8D78, 0x5CF9, 0x8D79, 0x5CFA, 0x8D7A, 0x5CFC, 0x8D7B, 0x5CFD, 0x8D7C, 0x5CFE, 0x8D7D, 0x5CFF, 0x8D7E, 0x5D00, - 0x8D80, 0x5D01, 0x8D81, 0x5D04, 0x8D82, 0x5D05, 0x8D83, 0x5D08, 0x8D84, 0x5D09, 0x8D85, 0x5D0A, 0x8D86, 0x5D0B, 0x8D87, 0x5D0C, - 0x8D88, 0x5D0D, 0x8D89, 0x5D0F, 0x8D8A, 0x5D10, 0x8D8B, 0x5D11, 0x8D8C, 0x5D12, 0x8D8D, 0x5D13, 0x8D8E, 0x5D15, 0x8D8F, 0x5D17, - 0x8D90, 0x5D18, 0x8D91, 0x5D19, 0x8D92, 0x5D1A, 0x8D93, 0x5D1C, 0x8D94, 0x5D1D, 0x8D95, 0x5D1F, 0x8D96, 0x5D20, 0x8D97, 0x5D21, - 0x8D98, 0x5D22, 0x8D99, 0x5D23, 0x8D9A, 0x5D25, 0x8D9B, 0x5D28, 0x8D9C, 0x5D2A, 0x8D9D, 0x5D2B, 0x8D9E, 0x5D2C, 0x8D9F, 0x5D2F, - 0x8DA0, 0x5D30, 0x8DA1, 0x5D31, 0x8DA2, 0x5D32, 0x8DA3, 0x5D33, 0x8DA4, 0x5D35, 0x8DA5, 0x5D36, 0x8DA6, 0x5D37, 0x8DA7, 0x5D38, - 0x8DA8, 0x5D39, 0x8DA9, 0x5D3A, 0x8DAA, 0x5D3B, 0x8DAB, 0x5D3C, 0x8DAC, 0x5D3F, 0x8DAD, 0x5D40, 0x8DAE, 0x5D41, 0x8DAF, 0x5D42, - 0x8DB0, 0x5D43, 0x8DB1, 0x5D44, 0x8DB2, 0x5D45, 0x8DB3, 0x5D46, 0x8DB4, 0x5D48, 0x8DB5, 0x5D49, 0x8DB6, 0x5D4D, 0x8DB7, 0x5D4E, - 0x8DB8, 0x5D4F, 0x8DB9, 0x5D50, 0x8DBA, 0x5D51, 0x8DBB, 0x5D52, 0x8DBC, 0x5D53, 0x8DBD, 0x5D54, 0x8DBE, 0x5D55, 0x8DBF, 0x5D56, - 0x8DC0, 0x5D57, 0x8DC1, 0x5D59, 0x8DC2, 0x5D5A, 0x8DC3, 0x5D5C, 0x8DC4, 0x5D5E, 0x8DC5, 0x5D5F, 0x8DC6, 0x5D60, 0x8DC7, 0x5D61, - 0x8DC8, 0x5D62, 0x8DC9, 0x5D63, 0x8DCA, 0x5D64, 0x8DCB, 0x5D65, 0x8DCC, 0x5D66, 0x8DCD, 0x5D67, 0x8DCE, 0x5D68, 0x8DCF, 0x5D6A, - 0x8DD0, 0x5D6D, 0x8DD1, 0x5D6E, 0x8DD2, 0x5D70, 0x8DD3, 0x5D71, 0x8DD4, 0x5D72, 0x8DD5, 0x5D73, 0x8DD6, 0x5D75, 0x8DD7, 0x5D76, - 0x8DD8, 0x5D77, 0x8DD9, 0x5D78, 0x8DDA, 0x5D79, 0x8DDB, 0x5D7A, 0x8DDC, 0x5D7B, 0x8DDD, 0x5D7C, 0x8DDE, 0x5D7D, 0x8DDF, 0x5D7E, - 0x8DE0, 0x5D7F, 0x8DE1, 0x5D80, 0x8DE2, 0x5D81, 0x8DE3, 0x5D83, 0x8DE4, 0x5D84, 0x8DE5, 0x5D85, 0x8DE6, 0x5D86, 0x8DE7, 0x5D87, - 0x8DE8, 0x5D88, 0x8DE9, 0x5D89, 0x8DEA, 0x5D8A, 0x8DEB, 0x5D8B, 0x8DEC, 0x5D8C, 0x8DED, 0x5D8D, 0x8DEE, 0x5D8E, 0x8DEF, 0x5D8F, - 0x8DF0, 0x5D90, 0x8DF1, 0x5D91, 0x8DF2, 0x5D92, 0x8DF3, 0x5D93, 0x8DF4, 0x5D94, 0x8DF5, 0x5D95, 0x8DF6, 0x5D96, 0x8DF7, 0x5D97, - 0x8DF8, 0x5D98, 0x8DF9, 0x5D9A, 0x8DFA, 0x5D9B, 0x8DFB, 0x5D9C, 0x8DFC, 0x5D9E, 0x8DFD, 0x5D9F, 0x8DFE, 0x5DA0, 0x8E40, 0x5DA1, - 0x8E41, 0x5DA2, 0x8E42, 0x5DA3, 0x8E43, 0x5DA4, 0x8E44, 0x5DA5, 0x8E45, 0x5DA6, 0x8E46, 0x5DA7, 0x8E47, 0x5DA8, 0x8E48, 0x5DA9, - 0x8E49, 0x5DAA, 0x8E4A, 0x5DAB, 0x8E4B, 0x5DAC, 0x8E4C, 0x5DAD, 0x8E4D, 0x5DAE, 0x8E4E, 0x5DAF, 0x8E4F, 0x5DB0, 0x8E50, 0x5DB1, - 0x8E51, 0x5DB2, 0x8E52, 0x5DB3, 0x8E53, 0x5DB4, 0x8E54, 0x5DB5, 0x8E55, 0x5DB6, 0x8E56, 0x5DB8, 0x8E57, 0x5DB9, 0x8E58, 0x5DBA, - 0x8E59, 0x5DBB, 0x8E5A, 0x5DBC, 0x8E5B, 0x5DBD, 0x8E5C, 0x5DBE, 0x8E5D, 0x5DBF, 0x8E5E, 0x5DC0, 0x8E5F, 0x5DC1, 0x8E60, 0x5DC2, - 0x8E61, 0x5DC3, 0x8E62, 0x5DC4, 0x8E63, 0x5DC6, 0x8E64, 0x5DC7, 0x8E65, 0x5DC8, 0x8E66, 0x5DC9, 0x8E67, 0x5DCA, 0x8E68, 0x5DCB, - 0x8E69, 0x5DCC, 0x8E6A, 0x5DCE, 0x8E6B, 0x5DCF, 0x8E6C, 0x5DD0, 0x8E6D, 0x5DD1, 0x8E6E, 0x5DD2, 0x8E6F, 0x5DD3, 0x8E70, 0x5DD4, - 0x8E71, 0x5DD5, 0x8E72, 0x5DD6, 0x8E73, 0x5DD7, 0x8E74, 0x5DD8, 0x8E75, 0x5DD9, 0x8E76, 0x5DDA, 0x8E77, 0x5DDC, 0x8E78, 0x5DDF, - 0x8E79, 0x5DE0, 0x8E7A, 0x5DE3, 0x8E7B, 0x5DE4, 0x8E7C, 0x5DEA, 0x8E7D, 0x5DEC, 0x8E7E, 0x5DED, 0x8E80, 0x5DF0, 0x8E81, 0x5DF5, - 0x8E82, 0x5DF6, 0x8E83, 0x5DF8, 0x8E84, 0x5DF9, 0x8E85, 0x5DFA, 0x8E86, 0x5DFB, 0x8E87, 0x5DFC, 0x8E88, 0x5DFF, 0x8E89, 0x5E00, - 0x8E8A, 0x5E04, 0x8E8B, 0x5E07, 0x8E8C, 0x5E09, 0x8E8D, 0x5E0A, 0x8E8E, 0x5E0B, 0x8E8F, 0x5E0D, 0x8E90, 0x5E0E, 0x8E91, 0x5E12, - 0x8E92, 0x5E13, 0x8E93, 0x5E17, 0x8E94, 0x5E1E, 0x8E95, 0x5E1F, 0x8E96, 0x5E20, 0x8E97, 0x5E21, 0x8E98, 0x5E22, 0x8E99, 0x5E23, - 0x8E9A, 0x5E24, 0x8E9B, 0x5E25, 0x8E9C, 0x5E28, 0x8E9D, 0x5E29, 0x8E9E, 0x5E2A, 0x8E9F, 0x5E2B, 0x8EA0, 0x5E2C, 0x8EA1, 0x5E2F, - 0x8EA2, 0x5E30, 0x8EA3, 0x5E32, 0x8EA4, 0x5E33, 0x8EA5, 0x5E34, 0x8EA6, 0x5E35, 0x8EA7, 0x5E36, 0x8EA8, 0x5E39, 0x8EA9, 0x5E3A, - 0x8EAA, 0x5E3E, 0x8EAB, 0x5E3F, 0x8EAC, 0x5E40, 0x8EAD, 0x5E41, 0x8EAE, 0x5E43, 0x8EAF, 0x5E46, 0x8EB0, 0x5E47, 0x8EB1, 0x5E48, - 0x8EB2, 0x5E49, 0x8EB3, 0x5E4A, 0x8EB4, 0x5E4B, 0x8EB5, 0x5E4D, 0x8EB6, 0x5E4E, 0x8EB7, 0x5E4F, 0x8EB8, 0x5E50, 0x8EB9, 0x5E51, - 0x8EBA, 0x5E52, 0x8EBB, 0x5E53, 0x8EBC, 0x5E56, 0x8EBD, 0x5E57, 0x8EBE, 0x5E58, 0x8EBF, 0x5E59, 0x8EC0, 0x5E5A, 0x8EC1, 0x5E5C, - 0x8EC2, 0x5E5D, 0x8EC3, 0x5E5F, 0x8EC4, 0x5E60, 0x8EC5, 0x5E63, 0x8EC6, 0x5E64, 0x8EC7, 0x5E65, 0x8EC8, 0x5E66, 0x8EC9, 0x5E67, - 0x8ECA, 0x5E68, 0x8ECB, 0x5E69, 0x8ECC, 0x5E6A, 0x8ECD, 0x5E6B, 0x8ECE, 0x5E6C, 0x8ECF, 0x5E6D, 0x8ED0, 0x5E6E, 0x8ED1, 0x5E6F, - 0x8ED2, 0x5E70, 0x8ED3, 0x5E71, 0x8ED4, 0x5E75, 0x8ED5, 0x5E77, 0x8ED6, 0x5E79, 0x8ED7, 0x5E7E, 0x8ED8, 0x5E81, 0x8ED9, 0x5E82, - 0x8EDA, 0x5E83, 0x8EDB, 0x5E85, 0x8EDC, 0x5E88, 0x8EDD, 0x5E89, 0x8EDE, 0x5E8C, 0x8EDF, 0x5E8D, 0x8EE0, 0x5E8E, 0x8EE1, 0x5E92, - 0x8EE2, 0x5E98, 0x8EE3, 0x5E9B, 0x8EE4, 0x5E9D, 0x8EE5, 0x5EA1, 0x8EE6, 0x5EA2, 0x8EE7, 0x5EA3, 0x8EE8, 0x5EA4, 0x8EE9, 0x5EA8, - 0x8EEA, 0x5EA9, 0x8EEB, 0x5EAA, 0x8EEC, 0x5EAB, 0x8EED, 0x5EAC, 0x8EEE, 0x5EAE, 0x8EEF, 0x5EAF, 0x8EF0, 0x5EB0, 0x8EF1, 0x5EB1, - 0x8EF2, 0x5EB2, 0x8EF3, 0x5EB4, 0x8EF4, 0x5EBA, 0x8EF5, 0x5EBB, 0x8EF6, 0x5EBC, 0x8EF7, 0x5EBD, 0x8EF8, 0x5EBF, 0x8EF9, 0x5EC0, - 0x8EFA, 0x5EC1, 0x8EFB, 0x5EC2, 0x8EFC, 0x5EC3, 0x8EFD, 0x5EC4, 0x8EFE, 0x5EC5, 0x8F40, 0x5EC6, 0x8F41, 0x5EC7, 0x8F42, 0x5EC8, - 0x8F43, 0x5ECB, 0x8F44, 0x5ECC, 0x8F45, 0x5ECD, 0x8F46, 0x5ECE, 0x8F47, 0x5ECF, 0x8F48, 0x5ED0, 0x8F49, 0x5ED4, 0x8F4A, 0x5ED5, - 0x8F4B, 0x5ED7, 0x8F4C, 0x5ED8, 0x8F4D, 0x5ED9, 0x8F4E, 0x5EDA, 0x8F4F, 0x5EDC, 0x8F50, 0x5EDD, 0x8F51, 0x5EDE, 0x8F52, 0x5EDF, - 0x8F53, 0x5EE0, 0x8F54, 0x5EE1, 0x8F55, 0x5EE2, 0x8F56, 0x5EE3, 0x8F57, 0x5EE4, 0x8F58, 0x5EE5, 0x8F59, 0x5EE6, 0x8F5A, 0x5EE7, - 0x8F5B, 0x5EE9, 0x8F5C, 0x5EEB, 0x8F5D, 0x5EEC, 0x8F5E, 0x5EED, 0x8F5F, 0x5EEE, 0x8F60, 0x5EEF, 0x8F61, 0x5EF0, 0x8F62, 0x5EF1, - 0x8F63, 0x5EF2, 0x8F64, 0x5EF3, 0x8F65, 0x5EF5, 0x8F66, 0x5EF8, 0x8F67, 0x5EF9, 0x8F68, 0x5EFB, 0x8F69, 0x5EFC, 0x8F6A, 0x5EFD, - 0x8F6B, 0x5F05, 0x8F6C, 0x5F06, 0x8F6D, 0x5F07, 0x8F6E, 0x5F09, 0x8F6F, 0x5F0C, 0x8F70, 0x5F0D, 0x8F71, 0x5F0E, 0x8F72, 0x5F10, - 0x8F73, 0x5F12, 0x8F74, 0x5F14, 0x8F75, 0x5F16, 0x8F76, 0x5F19, 0x8F77, 0x5F1A, 0x8F78, 0x5F1C, 0x8F79, 0x5F1D, 0x8F7A, 0x5F1E, - 0x8F7B, 0x5F21, 0x8F7C, 0x5F22, 0x8F7D, 0x5F23, 0x8F7E, 0x5F24, 0x8F80, 0x5F28, 0x8F81, 0x5F2B, 0x8F82, 0x5F2C, 0x8F83, 0x5F2E, - 0x8F84, 0x5F30, 0x8F85, 0x5F32, 0x8F86, 0x5F33, 0x8F87, 0x5F34, 0x8F88, 0x5F35, 0x8F89, 0x5F36, 0x8F8A, 0x5F37, 0x8F8B, 0x5F38, - 0x8F8C, 0x5F3B, 0x8F8D, 0x5F3D, 0x8F8E, 0x5F3E, 0x8F8F, 0x5F3F, 0x8F90, 0x5F41, 0x8F91, 0x5F42, 0x8F92, 0x5F43, 0x8F93, 0x5F44, - 0x8F94, 0x5F45, 0x8F95, 0x5F46, 0x8F96, 0x5F47, 0x8F97, 0x5F48, 0x8F98, 0x5F49, 0x8F99, 0x5F4A, 0x8F9A, 0x5F4B, 0x8F9B, 0x5F4C, - 0x8F9C, 0x5F4D, 0x8F9D, 0x5F4E, 0x8F9E, 0x5F4F, 0x8F9F, 0x5F51, 0x8FA0, 0x5F54, 0x8FA1, 0x5F59, 0x8FA2, 0x5F5A, 0x8FA3, 0x5F5B, - 0x8FA4, 0x5F5C, 0x8FA5, 0x5F5E, 0x8FA6, 0x5F5F, 0x8FA7, 0x5F60, 0x8FA8, 0x5F63, 0x8FA9, 0x5F65, 0x8FAA, 0x5F67, 0x8FAB, 0x5F68, - 0x8FAC, 0x5F6B, 0x8FAD, 0x5F6E, 0x8FAE, 0x5F6F, 0x8FAF, 0x5F72, 0x8FB0, 0x5F74, 0x8FB1, 0x5F75, 0x8FB2, 0x5F76, 0x8FB3, 0x5F78, - 0x8FB4, 0x5F7A, 0x8FB5, 0x5F7D, 0x8FB6, 0x5F7E, 0x8FB7, 0x5F7F, 0x8FB8, 0x5F83, 0x8FB9, 0x5F86, 0x8FBA, 0x5F8D, 0x8FBB, 0x5F8E, - 0x8FBC, 0x5F8F, 0x8FBD, 0x5F91, 0x8FBE, 0x5F93, 0x8FBF, 0x5F94, 0x8FC0, 0x5F96, 0x8FC1, 0x5F9A, 0x8FC2, 0x5F9B, 0x8FC3, 0x5F9D, - 0x8FC4, 0x5F9E, 0x8FC5, 0x5F9F, 0x8FC6, 0x5FA0, 0x8FC7, 0x5FA2, 0x8FC8, 0x5FA3, 0x8FC9, 0x5FA4, 0x8FCA, 0x5FA5, 0x8FCB, 0x5FA6, - 0x8FCC, 0x5FA7, 0x8FCD, 0x5FA9, 0x8FCE, 0x5FAB, 0x8FCF, 0x5FAC, 0x8FD0, 0x5FAF, 0x8FD1, 0x5FB0, 0x8FD2, 0x5FB1, 0x8FD3, 0x5FB2, - 0x8FD4, 0x5FB3, 0x8FD5, 0x5FB4, 0x8FD6, 0x5FB6, 0x8FD7, 0x5FB8, 0x8FD8, 0x5FB9, 0x8FD9, 0x5FBA, 0x8FDA, 0x5FBB, 0x8FDB, 0x5FBE, - 0x8FDC, 0x5FBF, 0x8FDD, 0x5FC0, 0x8FDE, 0x5FC1, 0x8FDF, 0x5FC2, 0x8FE0, 0x5FC7, 0x8FE1, 0x5FC8, 0x8FE2, 0x5FCA, 0x8FE3, 0x5FCB, - 0x8FE4, 0x5FCE, 0x8FE5, 0x5FD3, 0x8FE6, 0x5FD4, 0x8FE7, 0x5FD5, 0x8FE8, 0x5FDA, 0x8FE9, 0x5FDB, 0x8FEA, 0x5FDC, 0x8FEB, 0x5FDE, - 0x8FEC, 0x5FDF, 0x8FED, 0x5FE2, 0x8FEE, 0x5FE3, 0x8FEF, 0x5FE5, 0x8FF0, 0x5FE6, 0x8FF1, 0x5FE8, 0x8FF2, 0x5FE9, 0x8FF3, 0x5FEC, - 0x8FF4, 0x5FEF, 0x8FF5, 0x5FF0, 0x8FF6, 0x5FF2, 0x8FF7, 0x5FF3, 0x8FF8, 0x5FF4, 0x8FF9, 0x5FF6, 0x8FFA, 0x5FF7, 0x8FFB, 0x5FF9, - 0x8FFC, 0x5FFA, 0x8FFD, 0x5FFC, 0x8FFE, 0x6007, 0x9040, 0x6008, 0x9041, 0x6009, 0x9042, 0x600B, 0x9043, 0x600C, 0x9044, 0x6010, - 0x9045, 0x6011, 0x9046, 0x6013, 0x9047, 0x6017, 0x9048, 0x6018, 0x9049, 0x601A, 0x904A, 0x601E, 0x904B, 0x601F, 0x904C, 0x6022, - 0x904D, 0x6023, 0x904E, 0x6024, 0x904F, 0x602C, 0x9050, 0x602D, 0x9051, 0x602E, 0x9052, 0x6030, 0x9053, 0x6031, 0x9054, 0x6032, - 0x9055, 0x6033, 0x9056, 0x6034, 0x9057, 0x6036, 0x9058, 0x6037, 0x9059, 0x6038, 0x905A, 0x6039, 0x905B, 0x603A, 0x905C, 0x603D, - 0x905D, 0x603E, 0x905E, 0x6040, 0x905F, 0x6044, 0x9060, 0x6045, 0x9061, 0x6046, 0x9062, 0x6047, 0x9063, 0x6048, 0x9064, 0x6049, - 0x9065, 0x604A, 0x9066, 0x604C, 0x9067, 0x604E, 0x9068, 0x604F, 0x9069, 0x6051, 0x906A, 0x6053, 0x906B, 0x6054, 0x906C, 0x6056, - 0x906D, 0x6057, 0x906E, 0x6058, 0x906F, 0x605B, 0x9070, 0x605C, 0x9071, 0x605E, 0x9072, 0x605F, 0x9073, 0x6060, 0x9074, 0x6061, - 0x9075, 0x6065, 0x9076, 0x6066, 0x9077, 0x606E, 0x9078, 0x6071, 0x9079, 0x6072, 0x907A, 0x6074, 0x907B, 0x6075, 0x907C, 0x6077, - 0x907D, 0x607E, 0x907E, 0x6080, 0x9080, 0x6081, 0x9081, 0x6082, 0x9082, 0x6085, 0x9083, 0x6086, 0x9084, 0x6087, 0x9085, 0x6088, - 0x9086, 0x608A, 0x9087, 0x608B, 0x9088, 0x608E, 0x9089, 0x608F, 0x908A, 0x6090, 0x908B, 0x6091, 0x908C, 0x6093, 0x908D, 0x6095, - 0x908E, 0x6097, 0x908F, 0x6098, 0x9090, 0x6099, 0x9091, 0x609C, 0x9092, 0x609E, 0x9093, 0x60A1, 0x9094, 0x60A2, 0x9095, 0x60A4, - 0x9096, 0x60A5, 0x9097, 0x60A7, 0x9098, 0x60A9, 0x9099, 0x60AA, 0x909A, 0x60AE, 0x909B, 0x60B0, 0x909C, 0x60B3, 0x909D, 0x60B5, - 0x909E, 0x60B6, 0x909F, 0x60B7, 0x90A0, 0x60B9, 0x90A1, 0x60BA, 0x90A2, 0x60BD, 0x90A3, 0x60BE, 0x90A4, 0x60BF, 0x90A5, 0x60C0, - 0x90A6, 0x60C1, 0x90A7, 0x60C2, 0x90A8, 0x60C3, 0x90A9, 0x60C4, 0x90AA, 0x60C7, 0x90AB, 0x60C8, 0x90AC, 0x60C9, 0x90AD, 0x60CC, - 0x90AE, 0x60CD, 0x90AF, 0x60CE, 0x90B0, 0x60CF, 0x90B1, 0x60D0, 0x90B2, 0x60D2, 0x90B3, 0x60D3, 0x90B4, 0x60D4, 0x90B5, 0x60D6, - 0x90B6, 0x60D7, 0x90B7, 0x60D9, 0x90B8, 0x60DB, 0x90B9, 0x60DE, 0x90BA, 0x60E1, 0x90BB, 0x60E2, 0x90BC, 0x60E3, 0x90BD, 0x60E4, - 0x90BE, 0x60E5, 0x90BF, 0x60EA, 0x90C0, 0x60F1, 0x90C1, 0x60F2, 0x90C2, 0x60F5, 0x90C3, 0x60F7, 0x90C4, 0x60F8, 0x90C5, 0x60FB, - 0x90C6, 0x60FC, 0x90C7, 0x60FD, 0x90C8, 0x60FE, 0x90C9, 0x60FF, 0x90CA, 0x6102, 0x90CB, 0x6103, 0x90CC, 0x6104, 0x90CD, 0x6105, - 0x90CE, 0x6107, 0x90CF, 0x610A, 0x90D0, 0x610B, 0x90D1, 0x610C, 0x90D2, 0x6110, 0x90D3, 0x6111, 0x90D4, 0x6112, 0x90D5, 0x6113, - 0x90D6, 0x6114, 0x90D7, 0x6116, 0x90D8, 0x6117, 0x90D9, 0x6118, 0x90DA, 0x6119, 0x90DB, 0x611B, 0x90DC, 0x611C, 0x90DD, 0x611D, - 0x90DE, 0x611E, 0x90DF, 0x6121, 0x90E0, 0x6122, 0x90E1, 0x6125, 0x90E2, 0x6128, 0x90E3, 0x6129, 0x90E4, 0x612A, 0x90E5, 0x612C, - 0x90E6, 0x612D, 0x90E7, 0x612E, 0x90E8, 0x612F, 0x90E9, 0x6130, 0x90EA, 0x6131, 0x90EB, 0x6132, 0x90EC, 0x6133, 0x90ED, 0x6134, - 0x90EE, 0x6135, 0x90EF, 0x6136, 0x90F0, 0x6137, 0x90F1, 0x6138, 0x90F2, 0x6139, 0x90F3, 0x613A, 0x90F4, 0x613B, 0x90F5, 0x613C, - 0x90F6, 0x613D, 0x90F7, 0x613E, 0x90F8, 0x6140, 0x90F9, 0x6141, 0x90FA, 0x6142, 0x90FB, 0x6143, 0x90FC, 0x6144, 0x90FD, 0x6145, - 0x90FE, 0x6146, 0x9140, 0x6147, 0x9141, 0x6149, 0x9142, 0x614B, 0x9143, 0x614D, 0x9144, 0x614F, 0x9145, 0x6150, 0x9146, 0x6152, - 0x9147, 0x6153, 0x9148, 0x6154, 0x9149, 0x6156, 0x914A, 0x6157, 0x914B, 0x6158, 0x914C, 0x6159, 0x914D, 0x615A, 0x914E, 0x615B, - 0x914F, 0x615C, 0x9150, 0x615E, 0x9151, 0x615F, 0x9152, 0x6160, 0x9153, 0x6161, 0x9154, 0x6163, 0x9155, 0x6164, 0x9156, 0x6165, - 0x9157, 0x6166, 0x9158, 0x6169, 0x9159, 0x616A, 0x915A, 0x616B, 0x915B, 0x616C, 0x915C, 0x616D, 0x915D, 0x616E, 0x915E, 0x616F, - 0x915F, 0x6171, 0x9160, 0x6172, 0x9161, 0x6173, 0x9162, 0x6174, 0x9163, 0x6176, 0x9164, 0x6178, 0x9165, 0x6179, 0x9166, 0x617A, - 0x9167, 0x617B, 0x9168, 0x617C, 0x9169, 0x617D, 0x916A, 0x617E, 0x916B, 0x617F, 0x916C, 0x6180, 0x916D, 0x6181, 0x916E, 0x6182, - 0x916F, 0x6183, 0x9170, 0x6184, 0x9171, 0x6185, 0x9172, 0x6186, 0x9173, 0x6187, 0x9174, 0x6188, 0x9175, 0x6189, 0x9176, 0x618A, - 0x9177, 0x618C, 0x9178, 0x618D, 0x9179, 0x618F, 0x917A, 0x6190, 0x917B, 0x6191, 0x917C, 0x6192, 0x917D, 0x6193, 0x917E, 0x6195, - 0x9180, 0x6196, 0x9181, 0x6197, 0x9182, 0x6198, 0x9183, 0x6199, 0x9184, 0x619A, 0x9185, 0x619B, 0x9186, 0x619C, 0x9187, 0x619E, - 0x9188, 0x619F, 0x9189, 0x61A0, 0x918A, 0x61A1, 0x918B, 0x61A2, 0x918C, 0x61A3, 0x918D, 0x61A4, 0x918E, 0x61A5, 0x918F, 0x61A6, - 0x9190, 0x61AA, 0x9191, 0x61AB, 0x9192, 0x61AD, 0x9193, 0x61AE, 0x9194, 0x61AF, 0x9195, 0x61B0, 0x9196, 0x61B1, 0x9197, 0x61B2, - 0x9198, 0x61B3, 0x9199, 0x61B4, 0x919A, 0x61B5, 0x919B, 0x61B6, 0x919C, 0x61B8, 0x919D, 0x61B9, 0x919E, 0x61BA, 0x919F, 0x61BB, - 0x91A0, 0x61BC, 0x91A1, 0x61BD, 0x91A2, 0x61BF, 0x91A3, 0x61C0, 0x91A4, 0x61C1, 0x91A5, 0x61C3, 0x91A6, 0x61C4, 0x91A7, 0x61C5, - 0x91A8, 0x61C6, 0x91A9, 0x61C7, 0x91AA, 0x61C9, 0x91AB, 0x61CC, 0x91AC, 0x61CD, 0x91AD, 0x61CE, 0x91AE, 0x61CF, 0x91AF, 0x61D0, - 0x91B0, 0x61D3, 0x91B1, 0x61D5, 0x91B2, 0x61D6, 0x91B3, 0x61D7, 0x91B4, 0x61D8, 0x91B5, 0x61D9, 0x91B6, 0x61DA, 0x91B7, 0x61DB, - 0x91B8, 0x61DC, 0x91B9, 0x61DD, 0x91BA, 0x61DE, 0x91BB, 0x61DF, 0x91BC, 0x61E0, 0x91BD, 0x61E1, 0x91BE, 0x61E2, 0x91BF, 0x61E3, - 0x91C0, 0x61E4, 0x91C1, 0x61E5, 0x91C2, 0x61E7, 0x91C3, 0x61E8, 0x91C4, 0x61E9, 0x91C5, 0x61EA, 0x91C6, 0x61EB, 0x91C7, 0x61EC, - 0x91C8, 0x61ED, 0x91C9, 0x61EE, 0x91CA, 0x61EF, 0x91CB, 0x61F0, 0x91CC, 0x61F1, 0x91CD, 0x61F2, 0x91CE, 0x61F3, 0x91CF, 0x61F4, - 0x91D0, 0x61F6, 0x91D1, 0x61F7, 0x91D2, 0x61F8, 0x91D3, 0x61F9, 0x91D4, 0x61FA, 0x91D5, 0x61FB, 0x91D6, 0x61FC, 0x91D7, 0x61FD, - 0x91D8, 0x61FE, 0x91D9, 0x6200, 0x91DA, 0x6201, 0x91DB, 0x6202, 0x91DC, 0x6203, 0x91DD, 0x6204, 0x91DE, 0x6205, 0x91DF, 0x6207, - 0x91E0, 0x6209, 0x91E1, 0x6213, 0x91E2, 0x6214, 0x91E3, 0x6219, 0x91E4, 0x621C, 0x91E5, 0x621D, 0x91E6, 0x621E, 0x91E7, 0x6220, - 0x91E8, 0x6223, 0x91E9, 0x6226, 0x91EA, 0x6227, 0x91EB, 0x6228, 0x91EC, 0x6229, 0x91ED, 0x622B, 0x91EE, 0x622D, 0x91EF, 0x622F, - 0x91F0, 0x6230, 0x91F1, 0x6231, 0x91F2, 0x6232, 0x91F3, 0x6235, 0x91F4, 0x6236, 0x91F5, 0x6238, 0x91F6, 0x6239, 0x91F7, 0x623A, - 0x91F8, 0x623B, 0x91F9, 0x623C, 0x91FA, 0x6242, 0x91FB, 0x6244, 0x91FC, 0x6245, 0x91FD, 0x6246, 0x91FE, 0x624A, 0x9240, 0x624F, - 0x9241, 0x6250, 0x9242, 0x6255, 0x9243, 0x6256, 0x9244, 0x6257, 0x9245, 0x6259, 0x9246, 0x625A, 0x9247, 0x625C, 0x9248, 0x625D, - 0x9249, 0x625E, 0x924A, 0x625F, 0x924B, 0x6260, 0x924C, 0x6261, 0x924D, 0x6262, 0x924E, 0x6264, 0x924F, 0x6265, 0x9250, 0x6268, - 0x9251, 0x6271, 0x9252, 0x6272, 0x9253, 0x6274, 0x9254, 0x6275, 0x9255, 0x6277, 0x9256, 0x6278, 0x9257, 0x627A, 0x9258, 0x627B, - 0x9259, 0x627D, 0x925A, 0x6281, 0x925B, 0x6282, 0x925C, 0x6283, 0x925D, 0x6285, 0x925E, 0x6286, 0x925F, 0x6287, 0x9260, 0x6288, - 0x9261, 0x628B, 0x9262, 0x628C, 0x9263, 0x628D, 0x9264, 0x628E, 0x9265, 0x628F, 0x9266, 0x6290, 0x9267, 0x6294, 0x9268, 0x6299, - 0x9269, 0x629C, 0x926A, 0x629D, 0x926B, 0x629E, 0x926C, 0x62A3, 0x926D, 0x62A6, 0x926E, 0x62A7, 0x926F, 0x62A9, 0x9270, 0x62AA, - 0x9271, 0x62AD, 0x9272, 0x62AE, 0x9273, 0x62AF, 0x9274, 0x62B0, 0x9275, 0x62B2, 0x9276, 0x62B3, 0x9277, 0x62B4, 0x9278, 0x62B6, - 0x9279, 0x62B7, 0x927A, 0x62B8, 0x927B, 0x62BA, 0x927C, 0x62BE, 0x927D, 0x62C0, 0x927E, 0x62C1, 0x9280, 0x62C3, 0x9281, 0x62CB, - 0x9282, 0x62CF, 0x9283, 0x62D1, 0x9284, 0x62D5, 0x9285, 0x62DD, 0x9286, 0x62DE, 0x9287, 0x62E0, 0x9288, 0x62E1, 0x9289, 0x62E4, - 0x928A, 0x62EA, 0x928B, 0x62EB, 0x928C, 0x62F0, 0x928D, 0x62F2, 0x928E, 0x62F5, 0x928F, 0x62F8, 0x9290, 0x62F9, 0x9291, 0x62FA, - 0x9292, 0x62FB, 0x9293, 0x6300, 0x9294, 0x6303, 0x9295, 0x6304, 0x9296, 0x6305, 0x9297, 0x6306, 0x9298, 0x630A, 0x9299, 0x630B, - 0x929A, 0x630C, 0x929B, 0x630D, 0x929C, 0x630F, 0x929D, 0x6310, 0x929E, 0x6312, 0x929F, 0x6313, 0x92A0, 0x6314, 0x92A1, 0x6315, - 0x92A2, 0x6317, 0x92A3, 0x6318, 0x92A4, 0x6319, 0x92A5, 0x631C, 0x92A6, 0x6326, 0x92A7, 0x6327, 0x92A8, 0x6329, 0x92A9, 0x632C, - 0x92AA, 0x632D, 0x92AB, 0x632E, 0x92AC, 0x6330, 0x92AD, 0x6331, 0x92AE, 0x6333, 0x92AF, 0x6334, 0x92B0, 0x6335, 0x92B1, 0x6336, - 0x92B2, 0x6337, 0x92B3, 0x6338, 0x92B4, 0x633B, 0x92B5, 0x633C, 0x92B6, 0x633E, 0x92B7, 0x633F, 0x92B8, 0x6340, 0x92B9, 0x6341, - 0x92BA, 0x6344, 0x92BB, 0x6347, 0x92BC, 0x6348, 0x92BD, 0x634A, 0x92BE, 0x6351, 0x92BF, 0x6352, 0x92C0, 0x6353, 0x92C1, 0x6354, - 0x92C2, 0x6356, 0x92C3, 0x6357, 0x92C4, 0x6358, 0x92C5, 0x6359, 0x92C6, 0x635A, 0x92C7, 0x635B, 0x92C8, 0x635C, 0x92C9, 0x635D, - 0x92CA, 0x6360, 0x92CB, 0x6364, 0x92CC, 0x6365, 0x92CD, 0x6366, 0x92CE, 0x6368, 0x92CF, 0x636A, 0x92D0, 0x636B, 0x92D1, 0x636C, - 0x92D2, 0x636F, 0x92D3, 0x6370, 0x92D4, 0x6372, 0x92D5, 0x6373, 0x92D6, 0x6374, 0x92D7, 0x6375, 0x92D8, 0x6378, 0x92D9, 0x6379, - 0x92DA, 0x637C, 0x92DB, 0x637D, 0x92DC, 0x637E, 0x92DD, 0x637F, 0x92DE, 0x6381, 0x92DF, 0x6383, 0x92E0, 0x6384, 0x92E1, 0x6385, - 0x92E2, 0x6386, 0x92E3, 0x638B, 0x92E4, 0x638D, 0x92E5, 0x6391, 0x92E6, 0x6393, 0x92E7, 0x6394, 0x92E8, 0x6395, 0x92E9, 0x6397, - 0x92EA, 0x6399, 0x92EB, 0x639A, 0x92EC, 0x639B, 0x92ED, 0x639C, 0x92EE, 0x639D, 0x92EF, 0x639E, 0x92F0, 0x639F, 0x92F1, 0x63A1, - 0x92F2, 0x63A4, 0x92F3, 0x63A6, 0x92F4, 0x63AB, 0x92F5, 0x63AF, 0x92F6, 0x63B1, 0x92F7, 0x63B2, 0x92F8, 0x63B5, 0x92F9, 0x63B6, - 0x92FA, 0x63B9, 0x92FB, 0x63BB, 0x92FC, 0x63BD, 0x92FD, 0x63BF, 0x92FE, 0x63C0, 0x9340, 0x63C1, 0x9341, 0x63C2, 0x9342, 0x63C3, - 0x9343, 0x63C5, 0x9344, 0x63C7, 0x9345, 0x63C8, 0x9346, 0x63CA, 0x9347, 0x63CB, 0x9348, 0x63CC, 0x9349, 0x63D1, 0x934A, 0x63D3, - 0x934B, 0x63D4, 0x934C, 0x63D5, 0x934D, 0x63D7, 0x934E, 0x63D8, 0x934F, 0x63D9, 0x9350, 0x63DA, 0x9351, 0x63DB, 0x9352, 0x63DC, - 0x9353, 0x63DD, 0x9354, 0x63DF, 0x9355, 0x63E2, 0x9356, 0x63E4, 0x9357, 0x63E5, 0x9358, 0x63E6, 0x9359, 0x63E7, 0x935A, 0x63E8, - 0x935B, 0x63EB, 0x935C, 0x63EC, 0x935D, 0x63EE, 0x935E, 0x63EF, 0x935F, 0x63F0, 0x9360, 0x63F1, 0x9361, 0x63F3, 0x9362, 0x63F5, - 0x9363, 0x63F7, 0x9364, 0x63F9, 0x9365, 0x63FA, 0x9366, 0x63FB, 0x9367, 0x63FC, 0x9368, 0x63FE, 0x9369, 0x6403, 0x936A, 0x6404, - 0x936B, 0x6406, 0x936C, 0x6407, 0x936D, 0x6408, 0x936E, 0x6409, 0x936F, 0x640A, 0x9370, 0x640D, 0x9371, 0x640E, 0x9372, 0x6411, - 0x9373, 0x6412, 0x9374, 0x6415, 0x9375, 0x6416, 0x9376, 0x6417, 0x9377, 0x6418, 0x9378, 0x6419, 0x9379, 0x641A, 0x937A, 0x641D, - 0x937B, 0x641F, 0x937C, 0x6422, 0x937D, 0x6423, 0x937E, 0x6424, 0x9380, 0x6425, 0x9381, 0x6427, 0x9382, 0x6428, 0x9383, 0x6429, - 0x9384, 0x642B, 0x9385, 0x642E, 0x9386, 0x642F, 0x9387, 0x6430, 0x9388, 0x6431, 0x9389, 0x6432, 0x938A, 0x6433, 0x938B, 0x6435, - 0x938C, 0x6436, 0x938D, 0x6437, 0x938E, 0x6438, 0x938F, 0x6439, 0x9390, 0x643B, 0x9391, 0x643C, 0x9392, 0x643E, 0x9393, 0x6440, - 0x9394, 0x6442, 0x9395, 0x6443, 0x9396, 0x6449, 0x9397, 0x644B, 0x9398, 0x644C, 0x9399, 0x644D, 0x939A, 0x644E, 0x939B, 0x644F, - 0x939C, 0x6450, 0x939D, 0x6451, 0x939E, 0x6453, 0x939F, 0x6455, 0x93A0, 0x6456, 0x93A1, 0x6457, 0x93A2, 0x6459, 0x93A3, 0x645A, - 0x93A4, 0x645B, 0x93A5, 0x645C, 0x93A6, 0x645D, 0x93A7, 0x645F, 0x93A8, 0x6460, 0x93A9, 0x6461, 0x93AA, 0x6462, 0x93AB, 0x6463, - 0x93AC, 0x6464, 0x93AD, 0x6465, 0x93AE, 0x6466, 0x93AF, 0x6468, 0x93B0, 0x646A, 0x93B1, 0x646B, 0x93B2, 0x646C, 0x93B3, 0x646E, - 0x93B4, 0x646F, 0x93B5, 0x6470, 0x93B6, 0x6471, 0x93B7, 0x6472, 0x93B8, 0x6473, 0x93B9, 0x6474, 0x93BA, 0x6475, 0x93BB, 0x6476, - 0x93BC, 0x6477, 0x93BD, 0x647B, 0x93BE, 0x647C, 0x93BF, 0x647D, 0x93C0, 0x647E, 0x93C1, 0x647F, 0x93C2, 0x6480, 0x93C3, 0x6481, - 0x93C4, 0x6483, 0x93C5, 0x6486, 0x93C6, 0x6488, 0x93C7, 0x6489, 0x93C8, 0x648A, 0x93C9, 0x648B, 0x93CA, 0x648C, 0x93CB, 0x648D, - 0x93CC, 0x648E, 0x93CD, 0x648F, 0x93CE, 0x6490, 0x93CF, 0x6493, 0x93D0, 0x6494, 0x93D1, 0x6497, 0x93D2, 0x6498, 0x93D3, 0x649A, - 0x93D4, 0x649B, 0x93D5, 0x649C, 0x93D6, 0x649D, 0x93D7, 0x649F, 0x93D8, 0x64A0, 0x93D9, 0x64A1, 0x93DA, 0x64A2, 0x93DB, 0x64A3, - 0x93DC, 0x64A5, 0x93DD, 0x64A6, 0x93DE, 0x64A7, 0x93DF, 0x64A8, 0x93E0, 0x64AA, 0x93E1, 0x64AB, 0x93E2, 0x64AF, 0x93E3, 0x64B1, - 0x93E4, 0x64B2, 0x93E5, 0x64B3, 0x93E6, 0x64B4, 0x93E7, 0x64B6, 0x93E8, 0x64B9, 0x93E9, 0x64BB, 0x93EA, 0x64BD, 0x93EB, 0x64BE, - 0x93EC, 0x64BF, 0x93ED, 0x64C1, 0x93EE, 0x64C3, 0x93EF, 0x64C4, 0x93F0, 0x64C6, 0x93F1, 0x64C7, 0x93F2, 0x64C8, 0x93F3, 0x64C9, - 0x93F4, 0x64CA, 0x93F5, 0x64CB, 0x93F6, 0x64CC, 0x93F7, 0x64CF, 0x93F8, 0x64D1, 0x93F9, 0x64D3, 0x93FA, 0x64D4, 0x93FB, 0x64D5, - 0x93FC, 0x64D6, 0x93FD, 0x64D9, 0x93FE, 0x64DA, 0x9440, 0x64DB, 0x9441, 0x64DC, 0x9442, 0x64DD, 0x9443, 0x64DF, 0x9444, 0x64E0, - 0x9445, 0x64E1, 0x9446, 0x64E3, 0x9447, 0x64E5, 0x9448, 0x64E7, 0x9449, 0x64E8, 0x944A, 0x64E9, 0x944B, 0x64EA, 0x944C, 0x64EB, - 0x944D, 0x64EC, 0x944E, 0x64ED, 0x944F, 0x64EE, 0x9450, 0x64EF, 0x9451, 0x64F0, 0x9452, 0x64F1, 0x9453, 0x64F2, 0x9454, 0x64F3, - 0x9455, 0x64F4, 0x9456, 0x64F5, 0x9457, 0x64F6, 0x9458, 0x64F7, 0x9459, 0x64F8, 0x945A, 0x64F9, 0x945B, 0x64FA, 0x945C, 0x64FB, - 0x945D, 0x64FC, 0x945E, 0x64FD, 0x945F, 0x64FE, 0x9460, 0x64FF, 0x9461, 0x6501, 0x9462, 0x6502, 0x9463, 0x6503, 0x9464, 0x6504, - 0x9465, 0x6505, 0x9466, 0x6506, 0x9467, 0x6507, 0x9468, 0x6508, 0x9469, 0x650A, 0x946A, 0x650B, 0x946B, 0x650C, 0x946C, 0x650D, - 0x946D, 0x650E, 0x946E, 0x650F, 0x946F, 0x6510, 0x9470, 0x6511, 0x9471, 0x6513, 0x9472, 0x6514, 0x9473, 0x6515, 0x9474, 0x6516, - 0x9475, 0x6517, 0x9476, 0x6519, 0x9477, 0x651A, 0x9478, 0x651B, 0x9479, 0x651C, 0x947A, 0x651D, 0x947B, 0x651E, 0x947C, 0x651F, - 0x947D, 0x6520, 0x947E, 0x6521, 0x9480, 0x6522, 0x9481, 0x6523, 0x9482, 0x6524, 0x9483, 0x6526, 0x9484, 0x6527, 0x9485, 0x6528, - 0x9486, 0x6529, 0x9487, 0x652A, 0x9488, 0x652C, 0x9489, 0x652D, 0x948A, 0x6530, 0x948B, 0x6531, 0x948C, 0x6532, 0x948D, 0x6533, - 0x948E, 0x6537, 0x948F, 0x653A, 0x9490, 0x653C, 0x9491, 0x653D, 0x9492, 0x6540, 0x9493, 0x6541, 0x9494, 0x6542, 0x9495, 0x6543, - 0x9496, 0x6544, 0x9497, 0x6546, 0x9498, 0x6547, 0x9499, 0x654A, 0x949A, 0x654B, 0x949B, 0x654D, 0x949C, 0x654E, 0x949D, 0x6550, - 0x949E, 0x6552, 0x949F, 0x6553, 0x94A0, 0x6554, 0x94A1, 0x6557, 0x94A2, 0x6558, 0x94A3, 0x655A, 0x94A4, 0x655C, 0x94A5, 0x655F, - 0x94A6, 0x6560, 0x94A7, 0x6561, 0x94A8, 0x6564, 0x94A9, 0x6565, 0x94AA, 0x6567, 0x94AB, 0x6568, 0x94AC, 0x6569, 0x94AD, 0x656A, - 0x94AE, 0x656D, 0x94AF, 0x656E, 0x94B0, 0x656F, 0x94B1, 0x6571, 0x94B2, 0x6573, 0x94B3, 0x6575, 0x94B4, 0x6576, 0x94B5, 0x6578, - 0x94B6, 0x6579, 0x94B7, 0x657A, 0x94B8, 0x657B, 0x94B9, 0x657C, 0x94BA, 0x657D, 0x94BB, 0x657E, 0x94BC, 0x657F, 0x94BD, 0x6580, - 0x94BE, 0x6581, 0x94BF, 0x6582, 0x94C0, 0x6583, 0x94C1, 0x6584, 0x94C2, 0x6585, 0x94C3, 0x6586, 0x94C4, 0x6588, 0x94C5, 0x6589, - 0x94C6, 0x658A, 0x94C7, 0x658D, 0x94C8, 0x658E, 0x94C9, 0x658F, 0x94CA, 0x6592, 0x94CB, 0x6594, 0x94CC, 0x6595, 0x94CD, 0x6596, - 0x94CE, 0x6598, 0x94CF, 0x659A, 0x94D0, 0x659D, 0x94D1, 0x659E, 0x94D2, 0x65A0, 0x94D3, 0x65A2, 0x94D4, 0x65A3, 0x94D5, 0x65A6, - 0x94D6, 0x65A8, 0x94D7, 0x65AA, 0x94D8, 0x65AC, 0x94D9, 0x65AE, 0x94DA, 0x65B1, 0x94DB, 0x65B2, 0x94DC, 0x65B3, 0x94DD, 0x65B4, - 0x94DE, 0x65B5, 0x94DF, 0x65B6, 0x94E0, 0x65B7, 0x94E1, 0x65B8, 0x94E2, 0x65BA, 0x94E3, 0x65BB, 0x94E4, 0x65BE, 0x94E5, 0x65BF, - 0x94E6, 0x65C0, 0x94E7, 0x65C2, 0x94E8, 0x65C7, 0x94E9, 0x65C8, 0x94EA, 0x65C9, 0x94EB, 0x65CA, 0x94EC, 0x65CD, 0x94ED, 0x65D0, - 0x94EE, 0x65D1, 0x94EF, 0x65D3, 0x94F0, 0x65D4, 0x94F1, 0x65D5, 0x94F2, 0x65D8, 0x94F3, 0x65D9, 0x94F4, 0x65DA, 0x94F5, 0x65DB, - 0x94F6, 0x65DC, 0x94F7, 0x65DD, 0x94F8, 0x65DE, 0x94F9, 0x65DF, 0x94FA, 0x65E1, 0x94FB, 0x65E3, 0x94FC, 0x65E4, 0x94FD, 0x65EA, - 0x94FE, 0x65EB, 0x9540, 0x65F2, 0x9541, 0x65F3, 0x9542, 0x65F4, 0x9543, 0x65F5, 0x9544, 0x65F8, 0x9545, 0x65F9, 0x9546, 0x65FB, - 0x9547, 0x65FC, 0x9548, 0x65FD, 0x9549, 0x65FE, 0x954A, 0x65FF, 0x954B, 0x6601, 0x954C, 0x6604, 0x954D, 0x6605, 0x954E, 0x6607, - 0x954F, 0x6608, 0x9550, 0x6609, 0x9551, 0x660B, 0x9552, 0x660D, 0x9553, 0x6610, 0x9554, 0x6611, 0x9555, 0x6612, 0x9556, 0x6616, - 0x9557, 0x6617, 0x9558, 0x6618, 0x9559, 0x661A, 0x955A, 0x661B, 0x955B, 0x661C, 0x955C, 0x661E, 0x955D, 0x6621, 0x955E, 0x6622, - 0x955F, 0x6623, 0x9560, 0x6624, 0x9561, 0x6626, 0x9562, 0x6629, 0x9563, 0x662A, 0x9564, 0x662B, 0x9565, 0x662C, 0x9566, 0x662E, - 0x9567, 0x6630, 0x9568, 0x6632, 0x9569, 0x6633, 0x956A, 0x6637, 0x956B, 0x6638, 0x956C, 0x6639, 0x956D, 0x663A, 0x956E, 0x663B, - 0x956F, 0x663D, 0x9570, 0x663F, 0x9571, 0x6640, 0x9572, 0x6642, 0x9573, 0x6644, 0x9574, 0x6645, 0x9575, 0x6646, 0x9576, 0x6647, - 0x9577, 0x6648, 0x9578, 0x6649, 0x9579, 0x664A, 0x957A, 0x664D, 0x957B, 0x664E, 0x957C, 0x6650, 0x957D, 0x6651, 0x957E, 0x6658, - 0x9580, 0x6659, 0x9581, 0x665B, 0x9582, 0x665C, 0x9583, 0x665D, 0x9584, 0x665E, 0x9585, 0x6660, 0x9586, 0x6662, 0x9587, 0x6663, - 0x9588, 0x6665, 0x9589, 0x6667, 0x958A, 0x6669, 0x958B, 0x666A, 0x958C, 0x666B, 0x958D, 0x666C, 0x958E, 0x666D, 0x958F, 0x6671, - 0x9590, 0x6672, 0x9591, 0x6673, 0x9592, 0x6675, 0x9593, 0x6678, 0x9594, 0x6679, 0x9595, 0x667B, 0x9596, 0x667C, 0x9597, 0x667D, - 0x9598, 0x667F, 0x9599, 0x6680, 0x959A, 0x6681, 0x959B, 0x6683, 0x959C, 0x6685, 0x959D, 0x6686, 0x959E, 0x6688, 0x959F, 0x6689, - 0x95A0, 0x668A, 0x95A1, 0x668B, 0x95A2, 0x668D, 0x95A3, 0x668E, 0x95A4, 0x668F, 0x95A5, 0x6690, 0x95A6, 0x6692, 0x95A7, 0x6693, - 0x95A8, 0x6694, 0x95A9, 0x6695, 0x95AA, 0x6698, 0x95AB, 0x6699, 0x95AC, 0x669A, 0x95AD, 0x669B, 0x95AE, 0x669C, 0x95AF, 0x669E, - 0x95B0, 0x669F, 0x95B1, 0x66A0, 0x95B2, 0x66A1, 0x95B3, 0x66A2, 0x95B4, 0x66A3, 0x95B5, 0x66A4, 0x95B6, 0x66A5, 0x95B7, 0x66A6, - 0x95B8, 0x66A9, 0x95B9, 0x66AA, 0x95BA, 0x66AB, 0x95BB, 0x66AC, 0x95BC, 0x66AD, 0x95BD, 0x66AF, 0x95BE, 0x66B0, 0x95BF, 0x66B1, - 0x95C0, 0x66B2, 0x95C1, 0x66B3, 0x95C2, 0x66B5, 0x95C3, 0x66B6, 0x95C4, 0x66B7, 0x95C5, 0x66B8, 0x95C6, 0x66BA, 0x95C7, 0x66BB, - 0x95C8, 0x66BC, 0x95C9, 0x66BD, 0x95CA, 0x66BF, 0x95CB, 0x66C0, 0x95CC, 0x66C1, 0x95CD, 0x66C2, 0x95CE, 0x66C3, 0x95CF, 0x66C4, - 0x95D0, 0x66C5, 0x95D1, 0x66C6, 0x95D2, 0x66C7, 0x95D3, 0x66C8, 0x95D4, 0x66C9, 0x95D5, 0x66CA, 0x95D6, 0x66CB, 0x95D7, 0x66CC, - 0x95D8, 0x66CD, 0x95D9, 0x66CE, 0x95DA, 0x66CF, 0x95DB, 0x66D0, 0x95DC, 0x66D1, 0x95DD, 0x66D2, 0x95DE, 0x66D3, 0x95DF, 0x66D4, - 0x95E0, 0x66D5, 0x95E1, 0x66D6, 0x95E2, 0x66D7, 0x95E3, 0x66D8, 0x95E4, 0x66DA, 0x95E5, 0x66DE, 0x95E6, 0x66DF, 0x95E7, 0x66E0, - 0x95E8, 0x66E1, 0x95E9, 0x66E2, 0x95EA, 0x66E3, 0x95EB, 0x66E4, 0x95EC, 0x66E5, 0x95ED, 0x66E7, 0x95EE, 0x66E8, 0x95EF, 0x66EA, - 0x95F0, 0x66EB, 0x95F1, 0x66EC, 0x95F2, 0x66ED, 0x95F3, 0x66EE, 0x95F4, 0x66EF, 0x95F5, 0x66F1, 0x95F6, 0x66F5, 0x95F7, 0x66F6, - 0x95F8, 0x66F8, 0x95F9, 0x66FA, 0x95FA, 0x66FB, 0x95FB, 0x66FD, 0x95FC, 0x6701, 0x95FD, 0x6702, 0x95FE, 0x6703, 0x9640, 0x6704, - 0x9641, 0x6705, 0x9642, 0x6706, 0x9643, 0x6707, 0x9644, 0x670C, 0x9645, 0x670E, 0x9646, 0x670F, 0x9647, 0x6711, 0x9648, 0x6712, - 0x9649, 0x6713, 0x964A, 0x6716, 0x964B, 0x6718, 0x964C, 0x6719, 0x964D, 0x671A, 0x964E, 0x671C, 0x964F, 0x671E, 0x9650, 0x6720, - 0x9651, 0x6721, 0x9652, 0x6722, 0x9653, 0x6723, 0x9654, 0x6724, 0x9655, 0x6725, 0x9656, 0x6727, 0x9657, 0x6729, 0x9658, 0x672E, - 0x9659, 0x6730, 0x965A, 0x6732, 0x965B, 0x6733, 0x965C, 0x6736, 0x965D, 0x6737, 0x965E, 0x6738, 0x965F, 0x6739, 0x9660, 0x673B, - 0x9661, 0x673C, 0x9662, 0x673E, 0x9663, 0x673F, 0x9664, 0x6741, 0x9665, 0x6744, 0x9666, 0x6745, 0x9667, 0x6747, 0x9668, 0x674A, - 0x9669, 0x674B, 0x966A, 0x674D, 0x966B, 0x6752, 0x966C, 0x6754, 0x966D, 0x6755, 0x966E, 0x6757, 0x966F, 0x6758, 0x9670, 0x6759, - 0x9671, 0x675A, 0x9672, 0x675B, 0x9673, 0x675D, 0x9674, 0x6762, 0x9675, 0x6763, 0x9676, 0x6764, 0x9677, 0x6766, 0x9678, 0x6767, - 0x9679, 0x676B, 0x967A, 0x676C, 0x967B, 0x676E, 0x967C, 0x6771, 0x967D, 0x6774, 0x967E, 0x6776, 0x9680, 0x6778, 0x9681, 0x6779, - 0x9682, 0x677A, 0x9683, 0x677B, 0x9684, 0x677D, 0x9685, 0x6780, 0x9686, 0x6782, 0x9687, 0x6783, 0x9688, 0x6785, 0x9689, 0x6786, - 0x968A, 0x6788, 0x968B, 0x678A, 0x968C, 0x678C, 0x968D, 0x678D, 0x968E, 0x678E, 0x968F, 0x678F, 0x9690, 0x6791, 0x9691, 0x6792, - 0x9692, 0x6793, 0x9693, 0x6794, 0x9694, 0x6796, 0x9695, 0x6799, 0x9696, 0x679B, 0x9697, 0x679F, 0x9698, 0x67A0, 0x9699, 0x67A1, - 0x969A, 0x67A4, 0x969B, 0x67A6, 0x969C, 0x67A9, 0x969D, 0x67AC, 0x969E, 0x67AE, 0x969F, 0x67B1, 0x96A0, 0x67B2, 0x96A1, 0x67B4, - 0x96A2, 0x67B9, 0x96A3, 0x67BA, 0x96A4, 0x67BB, 0x96A5, 0x67BC, 0x96A6, 0x67BD, 0x96A7, 0x67BE, 0x96A8, 0x67BF, 0x96A9, 0x67C0, - 0x96AA, 0x67C2, 0x96AB, 0x67C5, 0x96AC, 0x67C6, 0x96AD, 0x67C7, 0x96AE, 0x67C8, 0x96AF, 0x67C9, 0x96B0, 0x67CA, 0x96B1, 0x67CB, - 0x96B2, 0x67CC, 0x96B3, 0x67CD, 0x96B4, 0x67CE, 0x96B5, 0x67D5, 0x96B6, 0x67D6, 0x96B7, 0x67D7, 0x96B8, 0x67DB, 0x96B9, 0x67DF, - 0x96BA, 0x67E1, 0x96BB, 0x67E3, 0x96BC, 0x67E4, 0x96BD, 0x67E6, 0x96BE, 0x67E7, 0x96BF, 0x67E8, 0x96C0, 0x67EA, 0x96C1, 0x67EB, - 0x96C2, 0x67ED, 0x96C3, 0x67EE, 0x96C4, 0x67F2, 0x96C5, 0x67F5, 0x96C6, 0x67F6, 0x96C7, 0x67F7, 0x96C8, 0x67F8, 0x96C9, 0x67F9, - 0x96CA, 0x67FA, 0x96CB, 0x67FB, 0x96CC, 0x67FC, 0x96CD, 0x67FE, 0x96CE, 0x6801, 0x96CF, 0x6802, 0x96D0, 0x6803, 0x96D1, 0x6804, - 0x96D2, 0x6806, 0x96D3, 0x680D, 0x96D4, 0x6810, 0x96D5, 0x6812, 0x96D6, 0x6814, 0x96D7, 0x6815, 0x96D8, 0x6818, 0x96D9, 0x6819, - 0x96DA, 0x681A, 0x96DB, 0x681B, 0x96DC, 0x681C, 0x96DD, 0x681E, 0x96DE, 0x681F, 0x96DF, 0x6820, 0x96E0, 0x6822, 0x96E1, 0x6823, - 0x96E2, 0x6824, 0x96E3, 0x6825, 0x96E4, 0x6826, 0x96E5, 0x6827, 0x96E6, 0x6828, 0x96E7, 0x682B, 0x96E8, 0x682C, 0x96E9, 0x682D, - 0x96EA, 0x682E, 0x96EB, 0x682F, 0x96EC, 0x6830, 0x96ED, 0x6831, 0x96EE, 0x6834, 0x96EF, 0x6835, 0x96F0, 0x6836, 0x96F1, 0x683A, - 0x96F2, 0x683B, 0x96F3, 0x683F, 0x96F4, 0x6847, 0x96F5, 0x684B, 0x96F6, 0x684D, 0x96F7, 0x684F, 0x96F8, 0x6852, 0x96F9, 0x6856, - 0x96FA, 0x6857, 0x96FB, 0x6858, 0x96FC, 0x6859, 0x96FD, 0x685A, 0x96FE, 0x685B, 0x9740, 0x685C, 0x9741, 0x685D, 0x9742, 0x685E, - 0x9743, 0x685F, 0x9744, 0x686A, 0x9745, 0x686C, 0x9746, 0x686D, 0x9747, 0x686E, 0x9748, 0x686F, 0x9749, 0x6870, 0x974A, 0x6871, - 0x974B, 0x6872, 0x974C, 0x6873, 0x974D, 0x6875, 0x974E, 0x6878, 0x974F, 0x6879, 0x9750, 0x687A, 0x9751, 0x687B, 0x9752, 0x687C, - 0x9753, 0x687D, 0x9754, 0x687E, 0x9755, 0x687F, 0x9756, 0x6880, 0x9757, 0x6882, 0x9758, 0x6884, 0x9759, 0x6887, 0x975A, 0x6888, - 0x975B, 0x6889, 0x975C, 0x688A, 0x975D, 0x688B, 0x975E, 0x688C, 0x975F, 0x688D, 0x9760, 0x688E, 0x9761, 0x6890, 0x9762, 0x6891, - 0x9763, 0x6892, 0x9764, 0x6894, 0x9765, 0x6895, 0x9766, 0x6896, 0x9767, 0x6898, 0x9768, 0x6899, 0x9769, 0x689A, 0x976A, 0x689B, - 0x976B, 0x689C, 0x976C, 0x689D, 0x976D, 0x689E, 0x976E, 0x689F, 0x976F, 0x68A0, 0x9770, 0x68A1, 0x9771, 0x68A3, 0x9772, 0x68A4, - 0x9773, 0x68A5, 0x9774, 0x68A9, 0x9775, 0x68AA, 0x9776, 0x68AB, 0x9777, 0x68AC, 0x9778, 0x68AE, 0x9779, 0x68B1, 0x977A, 0x68B2, - 0x977B, 0x68B4, 0x977C, 0x68B6, 0x977D, 0x68B7, 0x977E, 0x68B8, 0x9780, 0x68B9, 0x9781, 0x68BA, 0x9782, 0x68BB, 0x9783, 0x68BC, - 0x9784, 0x68BD, 0x9785, 0x68BE, 0x9786, 0x68BF, 0x9787, 0x68C1, 0x9788, 0x68C3, 0x9789, 0x68C4, 0x978A, 0x68C5, 0x978B, 0x68C6, - 0x978C, 0x68C7, 0x978D, 0x68C8, 0x978E, 0x68CA, 0x978F, 0x68CC, 0x9790, 0x68CE, 0x9791, 0x68CF, 0x9792, 0x68D0, 0x9793, 0x68D1, - 0x9794, 0x68D3, 0x9795, 0x68D4, 0x9796, 0x68D6, 0x9797, 0x68D7, 0x9798, 0x68D9, 0x9799, 0x68DB, 0x979A, 0x68DC, 0x979B, 0x68DD, - 0x979C, 0x68DE, 0x979D, 0x68DF, 0x979E, 0x68E1, 0x979F, 0x68E2, 0x97A0, 0x68E4, 0x97A1, 0x68E5, 0x97A2, 0x68E6, 0x97A3, 0x68E7, - 0x97A4, 0x68E8, 0x97A5, 0x68E9, 0x97A6, 0x68EA, 0x97A7, 0x68EB, 0x97A8, 0x68EC, 0x97A9, 0x68ED, 0x97AA, 0x68EF, 0x97AB, 0x68F2, - 0x97AC, 0x68F3, 0x97AD, 0x68F4, 0x97AE, 0x68F6, 0x97AF, 0x68F7, 0x97B0, 0x68F8, 0x97B1, 0x68FB, 0x97B2, 0x68FD, 0x97B3, 0x68FE, - 0x97B4, 0x68FF, 0x97B5, 0x6900, 0x97B6, 0x6902, 0x97B7, 0x6903, 0x97B8, 0x6904, 0x97B9, 0x6906, 0x97BA, 0x6907, 0x97BB, 0x6908, - 0x97BC, 0x6909, 0x97BD, 0x690A, 0x97BE, 0x690C, 0x97BF, 0x690F, 0x97C0, 0x6911, 0x97C1, 0x6913, 0x97C2, 0x6914, 0x97C3, 0x6915, - 0x97C4, 0x6916, 0x97C5, 0x6917, 0x97C6, 0x6918, 0x97C7, 0x6919, 0x97C8, 0x691A, 0x97C9, 0x691B, 0x97CA, 0x691C, 0x97CB, 0x691D, - 0x97CC, 0x691E, 0x97CD, 0x6921, 0x97CE, 0x6922, 0x97CF, 0x6923, 0x97D0, 0x6925, 0x97D1, 0x6926, 0x97D2, 0x6927, 0x97D3, 0x6928, - 0x97D4, 0x6929, 0x97D5, 0x692A, 0x97D6, 0x692B, 0x97D7, 0x692C, 0x97D8, 0x692E, 0x97D9, 0x692F, 0x97DA, 0x6931, 0x97DB, 0x6932, - 0x97DC, 0x6933, 0x97DD, 0x6935, 0x97DE, 0x6936, 0x97DF, 0x6937, 0x97E0, 0x6938, 0x97E1, 0x693A, 0x97E2, 0x693B, 0x97E3, 0x693C, - 0x97E4, 0x693E, 0x97E5, 0x6940, 0x97E6, 0x6941, 0x97E7, 0x6943, 0x97E8, 0x6944, 0x97E9, 0x6945, 0x97EA, 0x6946, 0x97EB, 0x6947, - 0x97EC, 0x6948, 0x97ED, 0x6949, 0x97EE, 0x694A, 0x97EF, 0x694B, 0x97F0, 0x694C, 0x97F1, 0x694D, 0x97F2, 0x694E, 0x97F3, 0x694F, - 0x97F4, 0x6950, 0x97F5, 0x6951, 0x97F6, 0x6952, 0x97F7, 0x6953, 0x97F8, 0x6955, 0x97F9, 0x6956, 0x97FA, 0x6958, 0x97FB, 0x6959, - 0x97FC, 0x695B, 0x97FD, 0x695C, 0x97FE, 0x695F, 0x9840, 0x6961, 0x9841, 0x6962, 0x9842, 0x6964, 0x9843, 0x6965, 0x9844, 0x6967, - 0x9845, 0x6968, 0x9846, 0x6969, 0x9847, 0x696A, 0x9848, 0x696C, 0x9849, 0x696D, 0x984A, 0x696F, 0x984B, 0x6970, 0x984C, 0x6972, - 0x984D, 0x6973, 0x984E, 0x6974, 0x984F, 0x6975, 0x9850, 0x6976, 0x9851, 0x697A, 0x9852, 0x697B, 0x9853, 0x697D, 0x9854, 0x697E, - 0x9855, 0x697F, 0x9856, 0x6981, 0x9857, 0x6983, 0x9858, 0x6985, 0x9859, 0x698A, 0x985A, 0x698B, 0x985B, 0x698C, 0x985C, 0x698E, - 0x985D, 0x698F, 0x985E, 0x6990, 0x985F, 0x6991, 0x9860, 0x6992, 0x9861, 0x6993, 0x9862, 0x6996, 0x9863, 0x6997, 0x9864, 0x6999, - 0x9865, 0x699A, 0x9866, 0x699D, 0x9867, 0x699E, 0x9868, 0x699F, 0x9869, 0x69A0, 0x986A, 0x69A1, 0x986B, 0x69A2, 0x986C, 0x69A3, - 0x986D, 0x69A4, 0x986E, 0x69A5, 0x986F, 0x69A6, 0x9870, 0x69A9, 0x9871, 0x69AA, 0x9872, 0x69AC, 0x9873, 0x69AE, 0x9874, 0x69AF, - 0x9875, 0x69B0, 0x9876, 0x69B2, 0x9877, 0x69B3, 0x9878, 0x69B5, 0x9879, 0x69B6, 0x987A, 0x69B8, 0x987B, 0x69B9, 0x987C, 0x69BA, - 0x987D, 0x69BC, 0x987E, 0x69BD, 0x9880, 0x69BE, 0x9881, 0x69BF, 0x9882, 0x69C0, 0x9883, 0x69C2, 0x9884, 0x69C3, 0x9885, 0x69C4, - 0x9886, 0x69C5, 0x9887, 0x69C6, 0x9888, 0x69C7, 0x9889, 0x69C8, 0x988A, 0x69C9, 0x988B, 0x69CB, 0x988C, 0x69CD, 0x988D, 0x69CF, - 0x988E, 0x69D1, 0x988F, 0x69D2, 0x9890, 0x69D3, 0x9891, 0x69D5, 0x9892, 0x69D6, 0x9893, 0x69D7, 0x9894, 0x69D8, 0x9895, 0x69D9, - 0x9896, 0x69DA, 0x9897, 0x69DC, 0x9898, 0x69DD, 0x9899, 0x69DE, 0x989A, 0x69E1, 0x989B, 0x69E2, 0x989C, 0x69E3, 0x989D, 0x69E4, - 0x989E, 0x69E5, 0x989F, 0x69E6, 0x98A0, 0x69E7, 0x98A1, 0x69E8, 0x98A2, 0x69E9, 0x98A3, 0x69EA, 0x98A4, 0x69EB, 0x98A5, 0x69EC, - 0x98A6, 0x69EE, 0x98A7, 0x69EF, 0x98A8, 0x69F0, 0x98A9, 0x69F1, 0x98AA, 0x69F3, 0x98AB, 0x69F4, 0x98AC, 0x69F5, 0x98AD, 0x69F6, - 0x98AE, 0x69F7, 0x98AF, 0x69F8, 0x98B0, 0x69F9, 0x98B1, 0x69FA, 0x98B2, 0x69FB, 0x98B3, 0x69FC, 0x98B4, 0x69FE, 0x98B5, 0x6A00, - 0x98B6, 0x6A01, 0x98B7, 0x6A02, 0x98B8, 0x6A03, 0x98B9, 0x6A04, 0x98BA, 0x6A05, 0x98BB, 0x6A06, 0x98BC, 0x6A07, 0x98BD, 0x6A08, - 0x98BE, 0x6A09, 0x98BF, 0x6A0B, 0x98C0, 0x6A0C, 0x98C1, 0x6A0D, 0x98C2, 0x6A0E, 0x98C3, 0x6A0F, 0x98C4, 0x6A10, 0x98C5, 0x6A11, - 0x98C6, 0x6A12, 0x98C7, 0x6A13, 0x98C8, 0x6A14, 0x98C9, 0x6A15, 0x98CA, 0x6A16, 0x98CB, 0x6A19, 0x98CC, 0x6A1A, 0x98CD, 0x6A1B, - 0x98CE, 0x6A1C, 0x98CF, 0x6A1D, 0x98D0, 0x6A1E, 0x98D1, 0x6A20, 0x98D2, 0x6A22, 0x98D3, 0x6A23, 0x98D4, 0x6A24, 0x98D5, 0x6A25, - 0x98D6, 0x6A26, 0x98D7, 0x6A27, 0x98D8, 0x6A29, 0x98D9, 0x6A2B, 0x98DA, 0x6A2C, 0x98DB, 0x6A2D, 0x98DC, 0x6A2E, 0x98DD, 0x6A30, - 0x98DE, 0x6A32, 0x98DF, 0x6A33, 0x98E0, 0x6A34, 0x98E1, 0x6A36, 0x98E2, 0x6A37, 0x98E3, 0x6A38, 0x98E4, 0x6A39, 0x98E5, 0x6A3A, - 0x98E6, 0x6A3B, 0x98E7, 0x6A3C, 0x98E8, 0x6A3F, 0x98E9, 0x6A40, 0x98EA, 0x6A41, 0x98EB, 0x6A42, 0x98EC, 0x6A43, 0x98ED, 0x6A45, - 0x98EE, 0x6A46, 0x98EF, 0x6A48, 0x98F0, 0x6A49, 0x98F1, 0x6A4A, 0x98F2, 0x6A4B, 0x98F3, 0x6A4C, 0x98F4, 0x6A4D, 0x98F5, 0x6A4E, - 0x98F6, 0x6A4F, 0x98F7, 0x6A51, 0x98F8, 0x6A52, 0x98F9, 0x6A53, 0x98FA, 0x6A54, 0x98FB, 0x6A55, 0x98FC, 0x6A56, 0x98FD, 0x6A57, - 0x98FE, 0x6A5A, 0x9940, 0x6A5C, 0x9941, 0x6A5D, 0x9942, 0x6A5E, 0x9943, 0x6A5F, 0x9944, 0x6A60, 0x9945, 0x6A62, 0x9946, 0x6A63, - 0x9947, 0x6A64, 0x9948, 0x6A66, 0x9949, 0x6A67, 0x994A, 0x6A68, 0x994B, 0x6A69, 0x994C, 0x6A6A, 0x994D, 0x6A6B, 0x994E, 0x6A6C, - 0x994F, 0x6A6D, 0x9950, 0x6A6E, 0x9951, 0x6A6F, 0x9952, 0x6A70, 0x9953, 0x6A72, 0x9954, 0x6A73, 0x9955, 0x6A74, 0x9956, 0x6A75, - 0x9957, 0x6A76, 0x9958, 0x6A77, 0x9959, 0x6A78, 0x995A, 0x6A7A, 0x995B, 0x6A7B, 0x995C, 0x6A7D, 0x995D, 0x6A7E, 0x995E, 0x6A7F, - 0x995F, 0x6A81, 0x9960, 0x6A82, 0x9961, 0x6A83, 0x9962, 0x6A85, 0x9963, 0x6A86, 0x9964, 0x6A87, 0x9965, 0x6A88, 0x9966, 0x6A89, - 0x9967, 0x6A8A, 0x9968, 0x6A8B, 0x9969, 0x6A8C, 0x996A, 0x6A8D, 0x996B, 0x6A8F, 0x996C, 0x6A92, 0x996D, 0x6A93, 0x996E, 0x6A94, - 0x996F, 0x6A95, 0x9970, 0x6A96, 0x9971, 0x6A98, 0x9972, 0x6A99, 0x9973, 0x6A9A, 0x9974, 0x6A9B, 0x9975, 0x6A9C, 0x9976, 0x6A9D, - 0x9977, 0x6A9E, 0x9978, 0x6A9F, 0x9979, 0x6AA1, 0x997A, 0x6AA2, 0x997B, 0x6AA3, 0x997C, 0x6AA4, 0x997D, 0x6AA5, 0x997E, 0x6AA6, - 0x9980, 0x6AA7, 0x9981, 0x6AA8, 0x9982, 0x6AAA, 0x9983, 0x6AAD, 0x9984, 0x6AAE, 0x9985, 0x6AAF, 0x9986, 0x6AB0, 0x9987, 0x6AB1, - 0x9988, 0x6AB2, 0x9989, 0x6AB3, 0x998A, 0x6AB4, 0x998B, 0x6AB5, 0x998C, 0x6AB6, 0x998D, 0x6AB7, 0x998E, 0x6AB8, 0x998F, 0x6AB9, - 0x9990, 0x6ABA, 0x9991, 0x6ABB, 0x9992, 0x6ABC, 0x9993, 0x6ABD, 0x9994, 0x6ABE, 0x9995, 0x6ABF, 0x9996, 0x6AC0, 0x9997, 0x6AC1, - 0x9998, 0x6AC2, 0x9999, 0x6AC3, 0x999A, 0x6AC4, 0x999B, 0x6AC5, 0x999C, 0x6AC6, 0x999D, 0x6AC7, 0x999E, 0x6AC8, 0x999F, 0x6AC9, - 0x99A0, 0x6ACA, 0x99A1, 0x6ACB, 0x99A2, 0x6ACC, 0x99A3, 0x6ACD, 0x99A4, 0x6ACE, 0x99A5, 0x6ACF, 0x99A6, 0x6AD0, 0x99A7, 0x6AD1, - 0x99A8, 0x6AD2, 0x99A9, 0x6AD3, 0x99AA, 0x6AD4, 0x99AB, 0x6AD5, 0x99AC, 0x6AD6, 0x99AD, 0x6AD7, 0x99AE, 0x6AD8, 0x99AF, 0x6AD9, - 0x99B0, 0x6ADA, 0x99B1, 0x6ADB, 0x99B2, 0x6ADC, 0x99B3, 0x6ADD, 0x99B4, 0x6ADE, 0x99B5, 0x6ADF, 0x99B6, 0x6AE0, 0x99B7, 0x6AE1, - 0x99B8, 0x6AE2, 0x99B9, 0x6AE3, 0x99BA, 0x6AE4, 0x99BB, 0x6AE5, 0x99BC, 0x6AE6, 0x99BD, 0x6AE7, 0x99BE, 0x6AE8, 0x99BF, 0x6AE9, - 0x99C0, 0x6AEA, 0x99C1, 0x6AEB, 0x99C2, 0x6AEC, 0x99C3, 0x6AED, 0x99C4, 0x6AEE, 0x99C5, 0x6AEF, 0x99C6, 0x6AF0, 0x99C7, 0x6AF1, - 0x99C8, 0x6AF2, 0x99C9, 0x6AF3, 0x99CA, 0x6AF4, 0x99CB, 0x6AF5, 0x99CC, 0x6AF6, 0x99CD, 0x6AF7, 0x99CE, 0x6AF8, 0x99CF, 0x6AF9, - 0x99D0, 0x6AFA, 0x99D1, 0x6AFB, 0x99D2, 0x6AFC, 0x99D3, 0x6AFD, 0x99D4, 0x6AFE, 0x99D5, 0x6AFF, 0x99D6, 0x6B00, 0x99D7, 0x6B01, - 0x99D8, 0x6B02, 0x99D9, 0x6B03, 0x99DA, 0x6B04, 0x99DB, 0x6B05, 0x99DC, 0x6B06, 0x99DD, 0x6B07, 0x99DE, 0x6B08, 0x99DF, 0x6B09, - 0x99E0, 0x6B0A, 0x99E1, 0x6B0B, 0x99E2, 0x6B0C, 0x99E3, 0x6B0D, 0x99E4, 0x6B0E, 0x99E5, 0x6B0F, 0x99E6, 0x6B10, 0x99E7, 0x6B11, - 0x99E8, 0x6B12, 0x99E9, 0x6B13, 0x99EA, 0x6B14, 0x99EB, 0x6B15, 0x99EC, 0x6B16, 0x99ED, 0x6B17, 0x99EE, 0x6B18, 0x99EF, 0x6B19, - 0x99F0, 0x6B1A, 0x99F1, 0x6B1B, 0x99F2, 0x6B1C, 0x99F3, 0x6B1D, 0x99F4, 0x6B1E, 0x99F5, 0x6B1F, 0x99F6, 0x6B25, 0x99F7, 0x6B26, - 0x99F8, 0x6B28, 0x99F9, 0x6B29, 0x99FA, 0x6B2A, 0x99FB, 0x6B2B, 0x99FC, 0x6B2C, 0x99FD, 0x6B2D, 0x99FE, 0x6B2E, 0x9A40, 0x6B2F, - 0x9A41, 0x6B30, 0x9A42, 0x6B31, 0x9A43, 0x6B33, 0x9A44, 0x6B34, 0x9A45, 0x6B35, 0x9A46, 0x6B36, 0x9A47, 0x6B38, 0x9A48, 0x6B3B, - 0x9A49, 0x6B3C, 0x9A4A, 0x6B3D, 0x9A4B, 0x6B3F, 0x9A4C, 0x6B40, 0x9A4D, 0x6B41, 0x9A4E, 0x6B42, 0x9A4F, 0x6B44, 0x9A50, 0x6B45, - 0x9A51, 0x6B48, 0x9A52, 0x6B4A, 0x9A53, 0x6B4B, 0x9A54, 0x6B4D, 0x9A55, 0x6B4E, 0x9A56, 0x6B4F, 0x9A57, 0x6B50, 0x9A58, 0x6B51, - 0x9A59, 0x6B52, 0x9A5A, 0x6B53, 0x9A5B, 0x6B54, 0x9A5C, 0x6B55, 0x9A5D, 0x6B56, 0x9A5E, 0x6B57, 0x9A5F, 0x6B58, 0x9A60, 0x6B5A, - 0x9A61, 0x6B5B, 0x9A62, 0x6B5C, 0x9A63, 0x6B5D, 0x9A64, 0x6B5E, 0x9A65, 0x6B5F, 0x9A66, 0x6B60, 0x9A67, 0x6B61, 0x9A68, 0x6B68, - 0x9A69, 0x6B69, 0x9A6A, 0x6B6B, 0x9A6B, 0x6B6C, 0x9A6C, 0x6B6D, 0x9A6D, 0x6B6E, 0x9A6E, 0x6B6F, 0x9A6F, 0x6B70, 0x9A70, 0x6B71, - 0x9A71, 0x6B72, 0x9A72, 0x6B73, 0x9A73, 0x6B74, 0x9A74, 0x6B75, 0x9A75, 0x6B76, 0x9A76, 0x6B77, 0x9A77, 0x6B78, 0x9A78, 0x6B7A, - 0x9A79, 0x6B7D, 0x9A7A, 0x6B7E, 0x9A7B, 0x6B7F, 0x9A7C, 0x6B80, 0x9A7D, 0x6B85, 0x9A7E, 0x6B88, 0x9A80, 0x6B8C, 0x9A81, 0x6B8E, - 0x9A82, 0x6B8F, 0x9A83, 0x6B90, 0x9A84, 0x6B91, 0x9A85, 0x6B94, 0x9A86, 0x6B95, 0x9A87, 0x6B97, 0x9A88, 0x6B98, 0x9A89, 0x6B99, - 0x9A8A, 0x6B9C, 0x9A8B, 0x6B9D, 0x9A8C, 0x6B9E, 0x9A8D, 0x6B9F, 0x9A8E, 0x6BA0, 0x9A8F, 0x6BA2, 0x9A90, 0x6BA3, 0x9A91, 0x6BA4, - 0x9A92, 0x6BA5, 0x9A93, 0x6BA6, 0x9A94, 0x6BA7, 0x9A95, 0x6BA8, 0x9A96, 0x6BA9, 0x9A97, 0x6BAB, 0x9A98, 0x6BAC, 0x9A99, 0x6BAD, - 0x9A9A, 0x6BAE, 0x9A9B, 0x6BAF, 0x9A9C, 0x6BB0, 0x9A9D, 0x6BB1, 0x9A9E, 0x6BB2, 0x9A9F, 0x6BB6, 0x9AA0, 0x6BB8, 0x9AA1, 0x6BB9, - 0x9AA2, 0x6BBA, 0x9AA3, 0x6BBB, 0x9AA4, 0x6BBC, 0x9AA5, 0x6BBD, 0x9AA6, 0x6BBE, 0x9AA7, 0x6BC0, 0x9AA8, 0x6BC3, 0x9AA9, 0x6BC4, - 0x9AAA, 0x6BC6, 0x9AAB, 0x6BC7, 0x9AAC, 0x6BC8, 0x9AAD, 0x6BC9, 0x9AAE, 0x6BCA, 0x9AAF, 0x6BCC, 0x9AB0, 0x6BCE, 0x9AB1, 0x6BD0, - 0x9AB2, 0x6BD1, 0x9AB3, 0x6BD8, 0x9AB4, 0x6BDA, 0x9AB5, 0x6BDC, 0x9AB6, 0x6BDD, 0x9AB7, 0x6BDE, 0x9AB8, 0x6BDF, 0x9AB9, 0x6BE0, - 0x9ABA, 0x6BE2, 0x9ABB, 0x6BE3, 0x9ABC, 0x6BE4, 0x9ABD, 0x6BE5, 0x9ABE, 0x6BE6, 0x9ABF, 0x6BE7, 0x9AC0, 0x6BE8, 0x9AC1, 0x6BE9, - 0x9AC2, 0x6BEC, 0x9AC3, 0x6BED, 0x9AC4, 0x6BEE, 0x9AC5, 0x6BF0, 0x9AC6, 0x6BF1, 0x9AC7, 0x6BF2, 0x9AC8, 0x6BF4, 0x9AC9, 0x6BF6, - 0x9ACA, 0x6BF7, 0x9ACB, 0x6BF8, 0x9ACC, 0x6BFA, 0x9ACD, 0x6BFB, 0x9ACE, 0x6BFC, 0x9ACF, 0x6BFE, 0x9AD0, 0x6BFF, 0x9AD1, 0x6C00, - 0x9AD2, 0x6C01, 0x9AD3, 0x6C02, 0x9AD4, 0x6C03, 0x9AD5, 0x6C04, 0x9AD6, 0x6C08, 0x9AD7, 0x6C09, 0x9AD8, 0x6C0A, 0x9AD9, 0x6C0B, - 0x9ADA, 0x6C0C, 0x9ADB, 0x6C0E, 0x9ADC, 0x6C12, 0x9ADD, 0x6C17, 0x9ADE, 0x6C1C, 0x9ADF, 0x6C1D, 0x9AE0, 0x6C1E, 0x9AE1, 0x6C20, - 0x9AE2, 0x6C23, 0x9AE3, 0x6C25, 0x9AE4, 0x6C2B, 0x9AE5, 0x6C2C, 0x9AE6, 0x6C2D, 0x9AE7, 0x6C31, 0x9AE8, 0x6C33, 0x9AE9, 0x6C36, - 0x9AEA, 0x6C37, 0x9AEB, 0x6C39, 0x9AEC, 0x6C3A, 0x9AED, 0x6C3B, 0x9AEE, 0x6C3C, 0x9AEF, 0x6C3E, 0x9AF0, 0x6C3F, 0x9AF1, 0x6C43, - 0x9AF2, 0x6C44, 0x9AF3, 0x6C45, 0x9AF4, 0x6C48, 0x9AF5, 0x6C4B, 0x9AF6, 0x6C4C, 0x9AF7, 0x6C4D, 0x9AF8, 0x6C4E, 0x9AF9, 0x6C4F, - 0x9AFA, 0x6C51, 0x9AFB, 0x6C52, 0x9AFC, 0x6C53, 0x9AFD, 0x6C56, 0x9AFE, 0x6C58, 0x9B40, 0x6C59, 0x9B41, 0x6C5A, 0x9B42, 0x6C62, - 0x9B43, 0x6C63, 0x9B44, 0x6C65, 0x9B45, 0x6C66, 0x9B46, 0x6C67, 0x9B47, 0x6C6B, 0x9B48, 0x6C6C, 0x9B49, 0x6C6D, 0x9B4A, 0x6C6E, - 0x9B4B, 0x6C6F, 0x9B4C, 0x6C71, 0x9B4D, 0x6C73, 0x9B4E, 0x6C75, 0x9B4F, 0x6C77, 0x9B50, 0x6C78, 0x9B51, 0x6C7A, 0x9B52, 0x6C7B, - 0x9B53, 0x6C7C, 0x9B54, 0x6C7F, 0x9B55, 0x6C80, 0x9B56, 0x6C84, 0x9B57, 0x6C87, 0x9B58, 0x6C8A, 0x9B59, 0x6C8B, 0x9B5A, 0x6C8D, - 0x9B5B, 0x6C8E, 0x9B5C, 0x6C91, 0x9B5D, 0x6C92, 0x9B5E, 0x6C95, 0x9B5F, 0x6C96, 0x9B60, 0x6C97, 0x9B61, 0x6C98, 0x9B62, 0x6C9A, - 0x9B63, 0x6C9C, 0x9B64, 0x6C9D, 0x9B65, 0x6C9E, 0x9B66, 0x6CA0, 0x9B67, 0x6CA2, 0x9B68, 0x6CA8, 0x9B69, 0x6CAC, 0x9B6A, 0x6CAF, - 0x9B6B, 0x6CB0, 0x9B6C, 0x6CB4, 0x9B6D, 0x6CB5, 0x9B6E, 0x6CB6, 0x9B6F, 0x6CB7, 0x9B70, 0x6CBA, 0x9B71, 0x6CC0, 0x9B72, 0x6CC1, - 0x9B73, 0x6CC2, 0x9B74, 0x6CC3, 0x9B75, 0x6CC6, 0x9B76, 0x6CC7, 0x9B77, 0x6CC8, 0x9B78, 0x6CCB, 0x9B79, 0x6CCD, 0x9B7A, 0x6CCE, - 0x9B7B, 0x6CCF, 0x9B7C, 0x6CD1, 0x9B7D, 0x6CD2, 0x9B7E, 0x6CD8, 0x9B80, 0x6CD9, 0x9B81, 0x6CDA, 0x9B82, 0x6CDC, 0x9B83, 0x6CDD, - 0x9B84, 0x6CDF, 0x9B85, 0x6CE4, 0x9B86, 0x6CE6, 0x9B87, 0x6CE7, 0x9B88, 0x6CE9, 0x9B89, 0x6CEC, 0x9B8A, 0x6CED, 0x9B8B, 0x6CF2, - 0x9B8C, 0x6CF4, 0x9B8D, 0x6CF9, 0x9B8E, 0x6CFF, 0x9B8F, 0x6D00, 0x9B90, 0x6D02, 0x9B91, 0x6D03, 0x9B92, 0x6D05, 0x9B93, 0x6D06, - 0x9B94, 0x6D08, 0x9B95, 0x6D09, 0x9B96, 0x6D0A, 0x9B97, 0x6D0D, 0x9B98, 0x6D0F, 0x9B99, 0x6D10, 0x9B9A, 0x6D11, 0x9B9B, 0x6D13, - 0x9B9C, 0x6D14, 0x9B9D, 0x6D15, 0x9B9E, 0x6D16, 0x9B9F, 0x6D18, 0x9BA0, 0x6D1C, 0x9BA1, 0x6D1D, 0x9BA2, 0x6D1F, 0x9BA3, 0x6D20, - 0x9BA4, 0x6D21, 0x9BA5, 0x6D22, 0x9BA6, 0x6D23, 0x9BA7, 0x6D24, 0x9BA8, 0x6D26, 0x9BA9, 0x6D28, 0x9BAA, 0x6D29, 0x9BAB, 0x6D2C, - 0x9BAC, 0x6D2D, 0x9BAD, 0x6D2F, 0x9BAE, 0x6D30, 0x9BAF, 0x6D34, 0x9BB0, 0x6D36, 0x9BB1, 0x6D37, 0x9BB2, 0x6D38, 0x9BB3, 0x6D3A, - 0x9BB4, 0x6D3F, 0x9BB5, 0x6D40, 0x9BB6, 0x6D42, 0x9BB7, 0x6D44, 0x9BB8, 0x6D49, 0x9BB9, 0x6D4C, 0x9BBA, 0x6D50, 0x9BBB, 0x6D55, - 0x9BBC, 0x6D56, 0x9BBD, 0x6D57, 0x9BBE, 0x6D58, 0x9BBF, 0x6D5B, 0x9BC0, 0x6D5D, 0x9BC1, 0x6D5F, 0x9BC2, 0x6D61, 0x9BC3, 0x6D62, - 0x9BC4, 0x6D64, 0x9BC5, 0x6D65, 0x9BC6, 0x6D67, 0x9BC7, 0x6D68, 0x9BC8, 0x6D6B, 0x9BC9, 0x6D6C, 0x9BCA, 0x6D6D, 0x9BCB, 0x6D70, - 0x9BCC, 0x6D71, 0x9BCD, 0x6D72, 0x9BCE, 0x6D73, 0x9BCF, 0x6D75, 0x9BD0, 0x6D76, 0x9BD1, 0x6D79, 0x9BD2, 0x6D7A, 0x9BD3, 0x6D7B, - 0x9BD4, 0x6D7D, 0x9BD5, 0x6D7E, 0x9BD6, 0x6D7F, 0x9BD7, 0x6D80, 0x9BD8, 0x6D81, 0x9BD9, 0x6D83, 0x9BDA, 0x6D84, 0x9BDB, 0x6D86, - 0x9BDC, 0x6D87, 0x9BDD, 0x6D8A, 0x9BDE, 0x6D8B, 0x9BDF, 0x6D8D, 0x9BE0, 0x6D8F, 0x9BE1, 0x6D90, 0x9BE2, 0x6D92, 0x9BE3, 0x6D96, - 0x9BE4, 0x6D97, 0x9BE5, 0x6D98, 0x9BE6, 0x6D99, 0x9BE7, 0x6D9A, 0x9BE8, 0x6D9C, 0x9BE9, 0x6DA2, 0x9BEA, 0x6DA5, 0x9BEB, 0x6DAC, - 0x9BEC, 0x6DAD, 0x9BED, 0x6DB0, 0x9BEE, 0x6DB1, 0x9BEF, 0x6DB3, 0x9BF0, 0x6DB4, 0x9BF1, 0x6DB6, 0x9BF2, 0x6DB7, 0x9BF3, 0x6DB9, - 0x9BF4, 0x6DBA, 0x9BF5, 0x6DBB, 0x9BF6, 0x6DBC, 0x9BF7, 0x6DBD, 0x9BF8, 0x6DBE, 0x9BF9, 0x6DC1, 0x9BFA, 0x6DC2, 0x9BFB, 0x6DC3, - 0x9BFC, 0x6DC8, 0x9BFD, 0x6DC9, 0x9BFE, 0x6DCA, 0x9C40, 0x6DCD, 0x9C41, 0x6DCE, 0x9C42, 0x6DCF, 0x9C43, 0x6DD0, 0x9C44, 0x6DD2, - 0x9C45, 0x6DD3, 0x9C46, 0x6DD4, 0x9C47, 0x6DD5, 0x9C48, 0x6DD7, 0x9C49, 0x6DDA, 0x9C4A, 0x6DDB, 0x9C4B, 0x6DDC, 0x9C4C, 0x6DDF, - 0x9C4D, 0x6DE2, 0x9C4E, 0x6DE3, 0x9C4F, 0x6DE5, 0x9C50, 0x6DE7, 0x9C51, 0x6DE8, 0x9C52, 0x6DE9, 0x9C53, 0x6DEA, 0x9C54, 0x6DED, - 0x9C55, 0x6DEF, 0x9C56, 0x6DF0, 0x9C57, 0x6DF2, 0x9C58, 0x6DF4, 0x9C59, 0x6DF5, 0x9C5A, 0x6DF6, 0x9C5B, 0x6DF8, 0x9C5C, 0x6DFA, - 0x9C5D, 0x6DFD, 0x9C5E, 0x6DFE, 0x9C5F, 0x6DFF, 0x9C60, 0x6E00, 0x9C61, 0x6E01, 0x9C62, 0x6E02, 0x9C63, 0x6E03, 0x9C64, 0x6E04, - 0x9C65, 0x6E06, 0x9C66, 0x6E07, 0x9C67, 0x6E08, 0x9C68, 0x6E09, 0x9C69, 0x6E0B, 0x9C6A, 0x6E0F, 0x9C6B, 0x6E12, 0x9C6C, 0x6E13, - 0x9C6D, 0x6E15, 0x9C6E, 0x6E18, 0x9C6F, 0x6E19, 0x9C70, 0x6E1B, 0x9C71, 0x6E1C, 0x9C72, 0x6E1E, 0x9C73, 0x6E1F, 0x9C74, 0x6E22, - 0x9C75, 0x6E26, 0x9C76, 0x6E27, 0x9C77, 0x6E28, 0x9C78, 0x6E2A, 0x9C79, 0x6E2C, 0x9C7A, 0x6E2E, 0x9C7B, 0x6E30, 0x9C7C, 0x6E31, - 0x9C7D, 0x6E33, 0x9C7E, 0x6E35, 0x9C80, 0x6E36, 0x9C81, 0x6E37, 0x9C82, 0x6E39, 0x9C83, 0x6E3B, 0x9C84, 0x6E3C, 0x9C85, 0x6E3D, - 0x9C86, 0x6E3E, 0x9C87, 0x6E3F, 0x9C88, 0x6E40, 0x9C89, 0x6E41, 0x9C8A, 0x6E42, 0x9C8B, 0x6E45, 0x9C8C, 0x6E46, 0x9C8D, 0x6E47, - 0x9C8E, 0x6E48, 0x9C8F, 0x6E49, 0x9C90, 0x6E4A, 0x9C91, 0x6E4B, 0x9C92, 0x6E4C, 0x9C93, 0x6E4F, 0x9C94, 0x6E50, 0x9C95, 0x6E51, - 0x9C96, 0x6E52, 0x9C97, 0x6E55, 0x9C98, 0x6E57, 0x9C99, 0x6E59, 0x9C9A, 0x6E5A, 0x9C9B, 0x6E5C, 0x9C9C, 0x6E5D, 0x9C9D, 0x6E5E, - 0x9C9E, 0x6E60, 0x9C9F, 0x6E61, 0x9CA0, 0x6E62, 0x9CA1, 0x6E63, 0x9CA2, 0x6E64, 0x9CA3, 0x6E65, 0x9CA4, 0x6E66, 0x9CA5, 0x6E67, - 0x9CA6, 0x6E68, 0x9CA7, 0x6E69, 0x9CA8, 0x6E6A, 0x9CA9, 0x6E6C, 0x9CAA, 0x6E6D, 0x9CAB, 0x6E6F, 0x9CAC, 0x6E70, 0x9CAD, 0x6E71, - 0x9CAE, 0x6E72, 0x9CAF, 0x6E73, 0x9CB0, 0x6E74, 0x9CB1, 0x6E75, 0x9CB2, 0x6E76, 0x9CB3, 0x6E77, 0x9CB4, 0x6E78, 0x9CB5, 0x6E79, - 0x9CB6, 0x6E7A, 0x9CB7, 0x6E7B, 0x9CB8, 0x6E7C, 0x9CB9, 0x6E7D, 0x9CBA, 0x6E80, 0x9CBB, 0x6E81, 0x9CBC, 0x6E82, 0x9CBD, 0x6E84, - 0x9CBE, 0x6E87, 0x9CBF, 0x6E88, 0x9CC0, 0x6E8A, 0x9CC1, 0x6E8B, 0x9CC2, 0x6E8C, 0x9CC3, 0x6E8D, 0x9CC4, 0x6E8E, 0x9CC5, 0x6E91, - 0x9CC6, 0x6E92, 0x9CC7, 0x6E93, 0x9CC8, 0x6E94, 0x9CC9, 0x6E95, 0x9CCA, 0x6E96, 0x9CCB, 0x6E97, 0x9CCC, 0x6E99, 0x9CCD, 0x6E9A, - 0x9CCE, 0x6E9B, 0x9CCF, 0x6E9D, 0x9CD0, 0x6E9E, 0x9CD1, 0x6EA0, 0x9CD2, 0x6EA1, 0x9CD3, 0x6EA3, 0x9CD4, 0x6EA4, 0x9CD5, 0x6EA6, - 0x9CD6, 0x6EA8, 0x9CD7, 0x6EA9, 0x9CD8, 0x6EAB, 0x9CD9, 0x6EAC, 0x9CDA, 0x6EAD, 0x9CDB, 0x6EAE, 0x9CDC, 0x6EB0, 0x9CDD, 0x6EB3, - 0x9CDE, 0x6EB5, 0x9CDF, 0x6EB8, 0x9CE0, 0x6EB9, 0x9CE1, 0x6EBC, 0x9CE2, 0x6EBE, 0x9CE3, 0x6EBF, 0x9CE4, 0x6EC0, 0x9CE5, 0x6EC3, - 0x9CE6, 0x6EC4, 0x9CE7, 0x6EC5, 0x9CE8, 0x6EC6, 0x9CE9, 0x6EC8, 0x9CEA, 0x6EC9, 0x9CEB, 0x6ECA, 0x9CEC, 0x6ECC, 0x9CED, 0x6ECD, - 0x9CEE, 0x6ECE, 0x9CEF, 0x6ED0, 0x9CF0, 0x6ED2, 0x9CF1, 0x6ED6, 0x9CF2, 0x6ED8, 0x9CF3, 0x6ED9, 0x9CF4, 0x6EDB, 0x9CF5, 0x6EDC, - 0x9CF6, 0x6EDD, 0x9CF7, 0x6EE3, 0x9CF8, 0x6EE7, 0x9CF9, 0x6EEA, 0x9CFA, 0x6EEB, 0x9CFB, 0x6EEC, 0x9CFC, 0x6EED, 0x9CFD, 0x6EEE, - 0x9CFE, 0x6EEF, 0x9D40, 0x6EF0, 0x9D41, 0x6EF1, 0x9D42, 0x6EF2, 0x9D43, 0x6EF3, 0x9D44, 0x6EF5, 0x9D45, 0x6EF6, 0x9D46, 0x6EF7, - 0x9D47, 0x6EF8, 0x9D48, 0x6EFA, 0x9D49, 0x6EFB, 0x9D4A, 0x6EFC, 0x9D4B, 0x6EFD, 0x9D4C, 0x6EFE, 0x9D4D, 0x6EFF, 0x9D4E, 0x6F00, - 0x9D4F, 0x6F01, 0x9D50, 0x6F03, 0x9D51, 0x6F04, 0x9D52, 0x6F05, 0x9D53, 0x6F07, 0x9D54, 0x6F08, 0x9D55, 0x6F0A, 0x9D56, 0x6F0B, - 0x9D57, 0x6F0C, 0x9D58, 0x6F0D, 0x9D59, 0x6F0E, 0x9D5A, 0x6F10, 0x9D5B, 0x6F11, 0x9D5C, 0x6F12, 0x9D5D, 0x6F16, 0x9D5E, 0x6F17, - 0x9D5F, 0x6F18, 0x9D60, 0x6F19, 0x9D61, 0x6F1A, 0x9D62, 0x6F1B, 0x9D63, 0x6F1C, 0x9D64, 0x6F1D, 0x9D65, 0x6F1E, 0x9D66, 0x6F1F, - 0x9D67, 0x6F21, 0x9D68, 0x6F22, 0x9D69, 0x6F23, 0x9D6A, 0x6F25, 0x9D6B, 0x6F26, 0x9D6C, 0x6F27, 0x9D6D, 0x6F28, 0x9D6E, 0x6F2C, - 0x9D6F, 0x6F2E, 0x9D70, 0x6F30, 0x9D71, 0x6F32, 0x9D72, 0x6F34, 0x9D73, 0x6F35, 0x9D74, 0x6F37, 0x9D75, 0x6F38, 0x9D76, 0x6F39, - 0x9D77, 0x6F3A, 0x9D78, 0x6F3B, 0x9D79, 0x6F3C, 0x9D7A, 0x6F3D, 0x9D7B, 0x6F3F, 0x9D7C, 0x6F40, 0x9D7D, 0x6F41, 0x9D7E, 0x6F42, - 0x9D80, 0x6F43, 0x9D81, 0x6F44, 0x9D82, 0x6F45, 0x9D83, 0x6F48, 0x9D84, 0x6F49, 0x9D85, 0x6F4A, 0x9D86, 0x6F4C, 0x9D87, 0x6F4E, - 0x9D88, 0x6F4F, 0x9D89, 0x6F50, 0x9D8A, 0x6F51, 0x9D8B, 0x6F52, 0x9D8C, 0x6F53, 0x9D8D, 0x6F54, 0x9D8E, 0x6F55, 0x9D8F, 0x6F56, - 0x9D90, 0x6F57, 0x9D91, 0x6F59, 0x9D92, 0x6F5A, 0x9D93, 0x6F5B, 0x9D94, 0x6F5D, 0x9D95, 0x6F5F, 0x9D96, 0x6F60, 0x9D97, 0x6F61, - 0x9D98, 0x6F63, 0x9D99, 0x6F64, 0x9D9A, 0x6F65, 0x9D9B, 0x6F67, 0x9D9C, 0x6F68, 0x9D9D, 0x6F69, 0x9D9E, 0x6F6A, 0x9D9F, 0x6F6B, - 0x9DA0, 0x6F6C, 0x9DA1, 0x6F6F, 0x9DA2, 0x6F70, 0x9DA3, 0x6F71, 0x9DA4, 0x6F73, 0x9DA5, 0x6F75, 0x9DA6, 0x6F76, 0x9DA7, 0x6F77, - 0x9DA8, 0x6F79, 0x9DA9, 0x6F7B, 0x9DAA, 0x6F7D, 0x9DAB, 0x6F7E, 0x9DAC, 0x6F7F, 0x9DAD, 0x6F80, 0x9DAE, 0x6F81, 0x9DAF, 0x6F82, - 0x9DB0, 0x6F83, 0x9DB1, 0x6F85, 0x9DB2, 0x6F86, 0x9DB3, 0x6F87, 0x9DB4, 0x6F8A, 0x9DB5, 0x6F8B, 0x9DB6, 0x6F8F, 0x9DB7, 0x6F90, - 0x9DB8, 0x6F91, 0x9DB9, 0x6F92, 0x9DBA, 0x6F93, 0x9DBB, 0x6F94, 0x9DBC, 0x6F95, 0x9DBD, 0x6F96, 0x9DBE, 0x6F97, 0x9DBF, 0x6F98, - 0x9DC0, 0x6F99, 0x9DC1, 0x6F9A, 0x9DC2, 0x6F9B, 0x9DC3, 0x6F9D, 0x9DC4, 0x6F9E, 0x9DC5, 0x6F9F, 0x9DC6, 0x6FA0, 0x9DC7, 0x6FA2, - 0x9DC8, 0x6FA3, 0x9DC9, 0x6FA4, 0x9DCA, 0x6FA5, 0x9DCB, 0x6FA6, 0x9DCC, 0x6FA8, 0x9DCD, 0x6FA9, 0x9DCE, 0x6FAA, 0x9DCF, 0x6FAB, - 0x9DD0, 0x6FAC, 0x9DD1, 0x6FAD, 0x9DD2, 0x6FAE, 0x9DD3, 0x6FAF, 0x9DD4, 0x6FB0, 0x9DD5, 0x6FB1, 0x9DD6, 0x6FB2, 0x9DD7, 0x6FB4, - 0x9DD8, 0x6FB5, 0x9DD9, 0x6FB7, 0x9DDA, 0x6FB8, 0x9DDB, 0x6FBA, 0x9DDC, 0x6FBB, 0x9DDD, 0x6FBC, 0x9DDE, 0x6FBD, 0x9DDF, 0x6FBE, - 0x9DE0, 0x6FBF, 0x9DE1, 0x6FC1, 0x9DE2, 0x6FC3, 0x9DE3, 0x6FC4, 0x9DE4, 0x6FC5, 0x9DE5, 0x6FC6, 0x9DE6, 0x6FC7, 0x9DE7, 0x6FC8, - 0x9DE8, 0x6FCA, 0x9DE9, 0x6FCB, 0x9DEA, 0x6FCC, 0x9DEB, 0x6FCD, 0x9DEC, 0x6FCE, 0x9DED, 0x6FCF, 0x9DEE, 0x6FD0, 0x9DEF, 0x6FD3, - 0x9DF0, 0x6FD4, 0x9DF1, 0x6FD5, 0x9DF2, 0x6FD6, 0x9DF3, 0x6FD7, 0x9DF4, 0x6FD8, 0x9DF5, 0x6FD9, 0x9DF6, 0x6FDA, 0x9DF7, 0x6FDB, - 0x9DF8, 0x6FDC, 0x9DF9, 0x6FDD, 0x9DFA, 0x6FDF, 0x9DFB, 0x6FE2, 0x9DFC, 0x6FE3, 0x9DFD, 0x6FE4, 0x9DFE, 0x6FE5, 0x9E40, 0x6FE6, - 0x9E41, 0x6FE7, 0x9E42, 0x6FE8, 0x9E43, 0x6FE9, 0x9E44, 0x6FEA, 0x9E45, 0x6FEB, 0x9E46, 0x6FEC, 0x9E47, 0x6FED, 0x9E48, 0x6FF0, - 0x9E49, 0x6FF1, 0x9E4A, 0x6FF2, 0x9E4B, 0x6FF3, 0x9E4C, 0x6FF4, 0x9E4D, 0x6FF5, 0x9E4E, 0x6FF6, 0x9E4F, 0x6FF7, 0x9E50, 0x6FF8, - 0x9E51, 0x6FF9, 0x9E52, 0x6FFA, 0x9E53, 0x6FFB, 0x9E54, 0x6FFC, 0x9E55, 0x6FFD, 0x9E56, 0x6FFE, 0x9E57, 0x6FFF, 0x9E58, 0x7000, - 0x9E59, 0x7001, 0x9E5A, 0x7002, 0x9E5B, 0x7003, 0x9E5C, 0x7004, 0x9E5D, 0x7005, 0x9E5E, 0x7006, 0x9E5F, 0x7007, 0x9E60, 0x7008, - 0x9E61, 0x7009, 0x9E62, 0x700A, 0x9E63, 0x700B, 0x9E64, 0x700C, 0x9E65, 0x700D, 0x9E66, 0x700E, 0x9E67, 0x700F, 0x9E68, 0x7010, - 0x9E69, 0x7012, 0x9E6A, 0x7013, 0x9E6B, 0x7014, 0x9E6C, 0x7015, 0x9E6D, 0x7016, 0x9E6E, 0x7017, 0x9E6F, 0x7018, 0x9E70, 0x7019, - 0x9E71, 0x701C, 0x9E72, 0x701D, 0x9E73, 0x701E, 0x9E74, 0x701F, 0x9E75, 0x7020, 0x9E76, 0x7021, 0x9E77, 0x7022, 0x9E78, 0x7024, - 0x9E79, 0x7025, 0x9E7A, 0x7026, 0x9E7B, 0x7027, 0x9E7C, 0x7028, 0x9E7D, 0x7029, 0x9E7E, 0x702A, 0x9E80, 0x702B, 0x9E81, 0x702C, - 0x9E82, 0x702D, 0x9E83, 0x702E, 0x9E84, 0x702F, 0x9E85, 0x7030, 0x9E86, 0x7031, 0x9E87, 0x7032, 0x9E88, 0x7033, 0x9E89, 0x7034, - 0x9E8A, 0x7036, 0x9E8B, 0x7037, 0x9E8C, 0x7038, 0x9E8D, 0x703A, 0x9E8E, 0x703B, 0x9E8F, 0x703C, 0x9E90, 0x703D, 0x9E91, 0x703E, - 0x9E92, 0x703F, 0x9E93, 0x7040, 0x9E94, 0x7041, 0x9E95, 0x7042, 0x9E96, 0x7043, 0x9E97, 0x7044, 0x9E98, 0x7045, 0x9E99, 0x7046, - 0x9E9A, 0x7047, 0x9E9B, 0x7048, 0x9E9C, 0x7049, 0x9E9D, 0x704A, 0x9E9E, 0x704B, 0x9E9F, 0x704D, 0x9EA0, 0x704E, 0x9EA1, 0x7050, - 0x9EA2, 0x7051, 0x9EA3, 0x7052, 0x9EA4, 0x7053, 0x9EA5, 0x7054, 0x9EA6, 0x7055, 0x9EA7, 0x7056, 0x9EA8, 0x7057, 0x9EA9, 0x7058, - 0x9EAA, 0x7059, 0x9EAB, 0x705A, 0x9EAC, 0x705B, 0x9EAD, 0x705C, 0x9EAE, 0x705D, 0x9EAF, 0x705F, 0x9EB0, 0x7060, 0x9EB1, 0x7061, - 0x9EB2, 0x7062, 0x9EB3, 0x7063, 0x9EB4, 0x7064, 0x9EB5, 0x7065, 0x9EB6, 0x7066, 0x9EB7, 0x7067, 0x9EB8, 0x7068, 0x9EB9, 0x7069, - 0x9EBA, 0x706A, 0x9EBB, 0x706E, 0x9EBC, 0x7071, 0x9EBD, 0x7072, 0x9EBE, 0x7073, 0x9EBF, 0x7074, 0x9EC0, 0x7077, 0x9EC1, 0x7079, - 0x9EC2, 0x707A, 0x9EC3, 0x707B, 0x9EC4, 0x707D, 0x9EC5, 0x7081, 0x9EC6, 0x7082, 0x9EC7, 0x7083, 0x9EC8, 0x7084, 0x9EC9, 0x7086, - 0x9ECA, 0x7087, 0x9ECB, 0x7088, 0x9ECC, 0x708B, 0x9ECD, 0x708C, 0x9ECE, 0x708D, 0x9ECF, 0x708F, 0x9ED0, 0x7090, 0x9ED1, 0x7091, - 0x9ED2, 0x7093, 0x9ED3, 0x7097, 0x9ED4, 0x7098, 0x9ED5, 0x709A, 0x9ED6, 0x709B, 0x9ED7, 0x709E, 0x9ED8, 0x709F, 0x9ED9, 0x70A0, - 0x9EDA, 0x70A1, 0x9EDB, 0x70A2, 0x9EDC, 0x70A3, 0x9EDD, 0x70A4, 0x9EDE, 0x70A5, 0x9EDF, 0x70A6, 0x9EE0, 0x70A7, 0x9EE1, 0x70A8, - 0x9EE2, 0x70A9, 0x9EE3, 0x70AA, 0x9EE4, 0x70B0, 0x9EE5, 0x70B2, 0x9EE6, 0x70B4, 0x9EE7, 0x70B5, 0x9EE8, 0x70B6, 0x9EE9, 0x70BA, - 0x9EEA, 0x70BE, 0x9EEB, 0x70BF, 0x9EEC, 0x70C4, 0x9EED, 0x70C5, 0x9EEE, 0x70C6, 0x9EEF, 0x70C7, 0x9EF0, 0x70C9, 0x9EF1, 0x70CB, - 0x9EF2, 0x70CC, 0x9EF3, 0x70CD, 0x9EF4, 0x70CE, 0x9EF5, 0x70CF, 0x9EF6, 0x70D0, 0x9EF7, 0x70D1, 0x9EF8, 0x70D2, 0x9EF9, 0x70D3, - 0x9EFA, 0x70D4, 0x9EFB, 0x70D5, 0x9EFC, 0x70D6, 0x9EFD, 0x70D7, 0x9EFE, 0x70DA, 0x9F40, 0x70DC, 0x9F41, 0x70DD, 0x9F42, 0x70DE, - 0x9F43, 0x70E0, 0x9F44, 0x70E1, 0x9F45, 0x70E2, 0x9F46, 0x70E3, 0x9F47, 0x70E5, 0x9F48, 0x70EA, 0x9F49, 0x70EE, 0x9F4A, 0x70F0, - 0x9F4B, 0x70F1, 0x9F4C, 0x70F2, 0x9F4D, 0x70F3, 0x9F4E, 0x70F4, 0x9F4F, 0x70F5, 0x9F50, 0x70F6, 0x9F51, 0x70F8, 0x9F52, 0x70FA, - 0x9F53, 0x70FB, 0x9F54, 0x70FC, 0x9F55, 0x70FE, 0x9F56, 0x70FF, 0x9F57, 0x7100, 0x9F58, 0x7101, 0x9F59, 0x7102, 0x9F5A, 0x7103, - 0x9F5B, 0x7104, 0x9F5C, 0x7105, 0x9F5D, 0x7106, 0x9F5E, 0x7107, 0x9F5F, 0x7108, 0x9F60, 0x710B, 0x9F61, 0x710C, 0x9F62, 0x710D, - 0x9F63, 0x710E, 0x9F64, 0x710F, 0x9F65, 0x7111, 0x9F66, 0x7112, 0x9F67, 0x7114, 0x9F68, 0x7117, 0x9F69, 0x711B, 0x9F6A, 0x711C, - 0x9F6B, 0x711D, 0x9F6C, 0x711E, 0x9F6D, 0x711F, 0x9F6E, 0x7120, 0x9F6F, 0x7121, 0x9F70, 0x7122, 0x9F71, 0x7123, 0x9F72, 0x7124, - 0x9F73, 0x7125, 0x9F74, 0x7127, 0x9F75, 0x7128, 0x9F76, 0x7129, 0x9F77, 0x712A, 0x9F78, 0x712B, 0x9F79, 0x712C, 0x9F7A, 0x712D, - 0x9F7B, 0x712E, 0x9F7C, 0x7132, 0x9F7D, 0x7133, 0x9F7E, 0x7134, 0x9F80, 0x7135, 0x9F81, 0x7137, 0x9F82, 0x7138, 0x9F83, 0x7139, - 0x9F84, 0x713A, 0x9F85, 0x713B, 0x9F86, 0x713C, 0x9F87, 0x713D, 0x9F88, 0x713E, 0x9F89, 0x713F, 0x9F8A, 0x7140, 0x9F8B, 0x7141, - 0x9F8C, 0x7142, 0x9F8D, 0x7143, 0x9F8E, 0x7144, 0x9F8F, 0x7146, 0x9F90, 0x7147, 0x9F91, 0x7148, 0x9F92, 0x7149, 0x9F93, 0x714B, - 0x9F94, 0x714D, 0x9F95, 0x714F, 0x9F96, 0x7150, 0x9F97, 0x7151, 0x9F98, 0x7152, 0x9F99, 0x7153, 0x9F9A, 0x7154, 0x9F9B, 0x7155, - 0x9F9C, 0x7156, 0x9F9D, 0x7157, 0x9F9E, 0x7158, 0x9F9F, 0x7159, 0x9FA0, 0x715A, 0x9FA1, 0x715B, 0x9FA2, 0x715D, 0x9FA3, 0x715F, - 0x9FA4, 0x7160, 0x9FA5, 0x7161, 0x9FA6, 0x7162, 0x9FA7, 0x7163, 0x9FA8, 0x7165, 0x9FA9, 0x7169, 0x9FAA, 0x716A, 0x9FAB, 0x716B, - 0x9FAC, 0x716C, 0x9FAD, 0x716D, 0x9FAE, 0x716F, 0x9FAF, 0x7170, 0x9FB0, 0x7171, 0x9FB1, 0x7174, 0x9FB2, 0x7175, 0x9FB3, 0x7176, - 0x9FB4, 0x7177, 0x9FB5, 0x7179, 0x9FB6, 0x717B, 0x9FB7, 0x717C, 0x9FB8, 0x717E, 0x9FB9, 0x717F, 0x9FBA, 0x7180, 0x9FBB, 0x7181, - 0x9FBC, 0x7182, 0x9FBD, 0x7183, 0x9FBE, 0x7185, 0x9FBF, 0x7186, 0x9FC0, 0x7187, 0x9FC1, 0x7188, 0x9FC2, 0x7189, 0x9FC3, 0x718B, - 0x9FC4, 0x718C, 0x9FC5, 0x718D, 0x9FC6, 0x718E, 0x9FC7, 0x7190, 0x9FC8, 0x7191, 0x9FC9, 0x7192, 0x9FCA, 0x7193, 0x9FCB, 0x7195, - 0x9FCC, 0x7196, 0x9FCD, 0x7197, 0x9FCE, 0x719A, 0x9FCF, 0x719B, 0x9FD0, 0x719C, 0x9FD1, 0x719D, 0x9FD2, 0x719E, 0x9FD3, 0x71A1, - 0x9FD4, 0x71A2, 0x9FD5, 0x71A3, 0x9FD6, 0x71A4, 0x9FD7, 0x71A5, 0x9FD8, 0x71A6, 0x9FD9, 0x71A7, 0x9FDA, 0x71A9, 0x9FDB, 0x71AA, - 0x9FDC, 0x71AB, 0x9FDD, 0x71AD, 0x9FDE, 0x71AE, 0x9FDF, 0x71AF, 0x9FE0, 0x71B0, 0x9FE1, 0x71B1, 0x9FE2, 0x71B2, 0x9FE3, 0x71B4, - 0x9FE4, 0x71B6, 0x9FE5, 0x71B7, 0x9FE6, 0x71B8, 0x9FE7, 0x71BA, 0x9FE8, 0x71BB, 0x9FE9, 0x71BC, 0x9FEA, 0x71BD, 0x9FEB, 0x71BE, - 0x9FEC, 0x71BF, 0x9FED, 0x71C0, 0x9FEE, 0x71C1, 0x9FEF, 0x71C2, 0x9FF0, 0x71C4, 0x9FF1, 0x71C5, 0x9FF2, 0x71C6, 0x9FF3, 0x71C7, - 0x9FF4, 0x71C8, 0x9FF5, 0x71C9, 0x9FF6, 0x71CA, 0x9FF7, 0x71CB, 0x9FF8, 0x71CC, 0x9FF9, 0x71CD, 0x9FFA, 0x71CF, 0x9FFB, 0x71D0, - 0x9FFC, 0x71D1, 0x9FFD, 0x71D2, 0x9FFE, 0x71D3, 0xA040, 0x71D6, 0xA041, 0x71D7, 0xA042, 0x71D8, 0xA043, 0x71D9, 0xA044, 0x71DA, - 0xA045, 0x71DB, 0xA046, 0x71DC, 0xA047, 0x71DD, 0xA048, 0x71DE, 0xA049, 0x71DF, 0xA04A, 0x71E1, 0xA04B, 0x71E2, 0xA04C, 0x71E3, - 0xA04D, 0x71E4, 0xA04E, 0x71E6, 0xA04F, 0x71E8, 0xA050, 0x71E9, 0xA051, 0x71EA, 0xA052, 0x71EB, 0xA053, 0x71EC, 0xA054, 0x71ED, - 0xA055, 0x71EF, 0xA056, 0x71F0, 0xA057, 0x71F1, 0xA058, 0x71F2, 0xA059, 0x71F3, 0xA05A, 0x71F4, 0xA05B, 0x71F5, 0xA05C, 0x71F6, - 0xA05D, 0x71F7, 0xA05E, 0x71F8, 0xA05F, 0x71FA, 0xA060, 0x71FB, 0xA061, 0x71FC, 0xA062, 0x71FD, 0xA063, 0x71FE, 0xA064, 0x71FF, - 0xA065, 0x7200, 0xA066, 0x7201, 0xA067, 0x7202, 0xA068, 0x7203, 0xA069, 0x7204, 0xA06A, 0x7205, 0xA06B, 0x7207, 0xA06C, 0x7208, - 0xA06D, 0x7209, 0xA06E, 0x720A, 0xA06F, 0x720B, 0xA070, 0x720C, 0xA071, 0x720D, 0xA072, 0x720E, 0xA073, 0x720F, 0xA074, 0x7210, - 0xA075, 0x7211, 0xA076, 0x7212, 0xA077, 0x7213, 0xA078, 0x7214, 0xA079, 0x7215, 0xA07A, 0x7216, 0xA07B, 0x7217, 0xA07C, 0x7218, - 0xA07D, 0x7219, 0xA07E, 0x721A, 0xA080, 0x721B, 0xA081, 0x721C, 0xA082, 0x721E, 0xA083, 0x721F, 0xA084, 0x7220, 0xA085, 0x7221, - 0xA086, 0x7222, 0xA087, 0x7223, 0xA088, 0x7224, 0xA089, 0x7225, 0xA08A, 0x7226, 0xA08B, 0x7227, 0xA08C, 0x7229, 0xA08D, 0x722B, - 0xA08E, 0x722D, 0xA08F, 0x722E, 0xA090, 0x722F, 0xA091, 0x7232, 0xA092, 0x7233, 0xA093, 0x7234, 0xA094, 0x723A, 0xA095, 0x723C, - 0xA096, 0x723E, 0xA097, 0x7240, 0xA098, 0x7241, 0xA099, 0x7242, 0xA09A, 0x7243, 0xA09B, 0x7244, 0xA09C, 0x7245, 0xA09D, 0x7246, - 0xA09E, 0x7249, 0xA09F, 0x724A, 0xA0A0, 0x724B, 0xA0A1, 0x724E, 0xA0A2, 0x724F, 0xA0A3, 0x7250, 0xA0A4, 0x7251, 0xA0A5, 0x7253, - 0xA0A6, 0x7254, 0xA0A7, 0x7255, 0xA0A8, 0x7257, 0xA0A9, 0x7258, 0xA0AA, 0x725A, 0xA0AB, 0x725C, 0xA0AC, 0x725E, 0xA0AD, 0x7260, - 0xA0AE, 0x7263, 0xA0AF, 0x7264, 0xA0B0, 0x7265, 0xA0B1, 0x7268, 0xA0B2, 0x726A, 0xA0B3, 0x726B, 0xA0B4, 0x726C, 0xA0B5, 0x726D, - 0xA0B6, 0x7270, 0xA0B7, 0x7271, 0xA0B8, 0x7273, 0xA0B9, 0x7274, 0xA0BA, 0x7276, 0xA0BB, 0x7277, 0xA0BC, 0x7278, 0xA0BD, 0x727B, - 0xA0BE, 0x727C, 0xA0BF, 0x727D, 0xA0C0, 0x7282, 0xA0C1, 0x7283, 0xA0C2, 0x7285, 0xA0C3, 0x7286, 0xA0C4, 0x7287, 0xA0C5, 0x7288, - 0xA0C6, 0x7289, 0xA0C7, 0x728C, 0xA0C8, 0x728E, 0xA0C9, 0x7290, 0xA0CA, 0x7291, 0xA0CB, 0x7293, 0xA0CC, 0x7294, 0xA0CD, 0x7295, - 0xA0CE, 0x7296, 0xA0CF, 0x7297, 0xA0D0, 0x7298, 0xA0D1, 0x7299, 0xA0D2, 0x729A, 0xA0D3, 0x729B, 0xA0D4, 0x729C, 0xA0D5, 0x729D, - 0xA0D6, 0x729E, 0xA0D7, 0x72A0, 0xA0D8, 0x72A1, 0xA0D9, 0x72A2, 0xA0DA, 0x72A3, 0xA0DB, 0x72A4, 0xA0DC, 0x72A5, 0xA0DD, 0x72A6, - 0xA0DE, 0x72A7, 0xA0DF, 0x72A8, 0xA0E0, 0x72A9, 0xA0E1, 0x72AA, 0xA0E2, 0x72AB, 0xA0E3, 0x72AE, 0xA0E4, 0x72B1, 0xA0E5, 0x72B2, - 0xA0E6, 0x72B3, 0xA0E7, 0x72B5, 0xA0E8, 0x72BA, 0xA0E9, 0x72BB, 0xA0EA, 0x72BC, 0xA0EB, 0x72BD, 0xA0EC, 0x72BE, 0xA0ED, 0x72BF, - 0xA0EE, 0x72C0, 0xA0EF, 0x72C5, 0xA0F0, 0x72C6, 0xA0F1, 0x72C7, 0xA0F2, 0x72C9, 0xA0F3, 0x72CA, 0xA0F4, 0x72CB, 0xA0F5, 0x72CC, - 0xA0F6, 0x72CF, 0xA0F7, 0x72D1, 0xA0F8, 0x72D3, 0xA0F9, 0x72D4, 0xA0FA, 0x72D5, 0xA0FB, 0x72D6, 0xA0FC, 0x72D8, 0xA0FD, 0x72DA, - 0xA0FE, 0x72DB, 0xA1A1, 0x3000, 0xA1A2, 0x3001, 0xA1A3, 0x3002, 0xA1A4, 0x00B7, 0xA1A5, 0x02C9, 0xA1A6, 0x02C7, 0xA1A7, 0x00A8, - 0xA1A8, 0x3003, 0xA1A9, 0x3005, 0xA1AA, 0x2014, 0xA1AB, 0xFF5E, 0xA1AC, 0x2016, 0xA1AD, 0x2026, 0xA1AE, 0x2018, 0xA1AF, 0x2019, - 0xA1B0, 0x201C, 0xA1B1, 0x201D, 0xA1B2, 0x3014, 0xA1B3, 0x3015, 0xA1B4, 0x3008, 0xA1B5, 0x3009, 0xA1B6, 0x300A, 0xA1B7, 0x300B, - 0xA1B8, 0x300C, 0xA1B9, 0x300D, 0xA1BA, 0x300E, 0xA1BB, 0x300F, 0xA1BC, 0x3016, 0xA1BD, 0x3017, 0xA1BE, 0x3010, 0xA1BF, 0x3011, - 0xA1C0, 0x00B1, 0xA1C1, 0x00D7, 0xA1C2, 0x00F7, 0xA1C3, 0x2236, 0xA1C4, 0x2227, 0xA1C5, 0x2228, 0xA1C6, 0x2211, 0xA1C7, 0x220F, - 0xA1C8, 0x222A, 0xA1C9, 0x2229, 0xA1CA, 0x2208, 0xA1CB, 0x2237, 0xA1CC, 0x221A, 0xA1CD, 0x22A5, 0xA1CE, 0x2225, 0xA1CF, 0x2220, - 0xA1D0, 0x2312, 0xA1D1, 0x2299, 0xA1D2, 0x222B, 0xA1D3, 0x222E, 0xA1D4, 0x2261, 0xA1D5, 0x224C, 0xA1D6, 0x2248, 0xA1D7, 0x223D, - 0xA1D8, 0x221D, 0xA1D9, 0x2260, 0xA1DA, 0x226E, 0xA1DB, 0x226F, 0xA1DC, 0x2264, 0xA1DD, 0x2265, 0xA1DE, 0x221E, 0xA1DF, 0x2235, - 0xA1E0, 0x2234, 0xA1E1, 0x2642, 0xA1E2, 0x2640, 0xA1E3, 0x00B0, 0xA1E4, 0x2032, 0xA1E5, 0x2033, 0xA1E6, 0x2103, 0xA1E7, 0xFF04, - 0xA1E8, 0x00A4, 0xA1E9, 0xFFE0, 0xA1EA, 0xFFE1, 0xA1EB, 0x2030, 0xA1EC, 0x00A7, 0xA1ED, 0x2116, 0xA1EE, 0x2606, 0xA1EF, 0x2605, - 0xA1F0, 0x25CB, 0xA1F1, 0x25CF, 0xA1F2, 0x25CE, 0xA1F3, 0x25C7, 0xA1F4, 0x25C6, 0xA1F5, 0x25A1, 0xA1F6, 0x25A0, 0xA1F7, 0x25B3, - 0xA1F8, 0x25B2, 0xA1F9, 0x203B, 0xA1FA, 0x2192, 0xA1FB, 0x2190, 0xA1FC, 0x2191, 0xA1FD, 0x2193, 0xA1FE, 0x3013, 0xA2A1, 0x2170, - 0xA2A2, 0x2171, 0xA2A3, 0x2172, 0xA2A4, 0x2173, 0xA2A5, 0x2174, 0xA2A6, 0x2175, 0xA2A7, 0x2176, 0xA2A8, 0x2177, 0xA2A9, 0x2178, - 0xA2AA, 0x2179, 0xA2B1, 0x2488, 0xA2B2, 0x2489, 0xA2B3, 0x248A, 0xA2B4, 0x248B, 0xA2B5, 0x248C, 0xA2B6, 0x248D, 0xA2B7, 0x248E, - 0xA2B8, 0x248F, 0xA2B9, 0x2490, 0xA2BA, 0x2491, 0xA2BB, 0x2492, 0xA2BC, 0x2493, 0xA2BD, 0x2494, 0xA2BE, 0x2495, 0xA2BF, 0x2496, - 0xA2C0, 0x2497, 0xA2C1, 0x2498, 0xA2C2, 0x2499, 0xA2C3, 0x249A, 0xA2C4, 0x249B, 0xA2C5, 0x2474, 0xA2C6, 0x2475, 0xA2C7, 0x2476, - 0xA2C8, 0x2477, 0xA2C9, 0x2478, 0xA2CA, 0x2479, 0xA2CB, 0x247A, 0xA2CC, 0x247B, 0xA2CD, 0x247C, 0xA2CE, 0x247D, 0xA2CF, 0x247E, - 0xA2D0, 0x247F, 0xA2D1, 0x2480, 0xA2D2, 0x2481, 0xA2D3, 0x2482, 0xA2D4, 0x2483, 0xA2D5, 0x2484, 0xA2D6, 0x2485, 0xA2D7, 0x2486, - 0xA2D8, 0x2487, 0xA2D9, 0x2460, 0xA2DA, 0x2461, 0xA2DB, 0x2462, 0xA2DC, 0x2463, 0xA2DD, 0x2464, 0xA2DE, 0x2465, 0xA2DF, 0x2466, - 0xA2E0, 0x2467, 0xA2E1, 0x2468, 0xA2E2, 0x2469, 0xA2E5, 0x3220, 0xA2E6, 0x3221, 0xA2E7, 0x3222, 0xA2E8, 0x3223, 0xA2E9, 0x3224, - 0xA2EA, 0x3225, 0xA2EB, 0x3226, 0xA2EC, 0x3227, 0xA2ED, 0x3228, 0xA2EE, 0x3229, 0xA2F1, 0x2160, 0xA2F2, 0x2161, 0xA2F3, 0x2162, - 0xA2F4, 0x2163, 0xA2F5, 0x2164, 0xA2F6, 0x2165, 0xA2F7, 0x2166, 0xA2F8, 0x2167, 0xA2F9, 0x2168, 0xA2FA, 0x2169, 0xA2FB, 0x216A, - 0xA2FC, 0x216B, 0xA3A1, 0xFF01, 0xA3A2, 0xFF02, 0xA3A3, 0xFF03, 0xA3A4, 0xFFE5, 0xA3A5, 0xFF05, 0xA3A6, 0xFF06, 0xA3A7, 0xFF07, - 0xA3A8, 0xFF08, 0xA3A9, 0xFF09, 0xA3AA, 0xFF0A, 0xA3AB, 0xFF0B, 0xA3AC, 0xFF0C, 0xA3AD, 0xFF0D, 0xA3AE, 0xFF0E, 0xA3AF, 0xFF0F, - 0xA3B0, 0xFF10, 0xA3B1, 0xFF11, 0xA3B2, 0xFF12, 0xA3B3, 0xFF13, 0xA3B4, 0xFF14, 0xA3B5, 0xFF15, 0xA3B6, 0xFF16, 0xA3B7, 0xFF17, - 0xA3B8, 0xFF18, 0xA3B9, 0xFF19, 0xA3BA, 0xFF1A, 0xA3BB, 0xFF1B, 0xA3BC, 0xFF1C, 0xA3BD, 0xFF1D, 0xA3BE, 0xFF1E, 0xA3BF, 0xFF1F, - 0xA3C0, 0xFF20, 0xA3C1, 0xFF21, 0xA3C2, 0xFF22, 0xA3C3, 0xFF23, 0xA3C4, 0xFF24, 0xA3C5, 0xFF25, 0xA3C6, 0xFF26, 0xA3C7, 0xFF27, - 0xA3C8, 0xFF28, 0xA3C9, 0xFF29, 0xA3CA, 0xFF2A, 0xA3CB, 0xFF2B, 0xA3CC, 0xFF2C, 0xA3CD, 0xFF2D, 0xA3CE, 0xFF2E, 0xA3CF, 0xFF2F, - 0xA3D0, 0xFF30, 0xA3D1, 0xFF31, 0xA3D2, 0xFF32, 0xA3D3, 0xFF33, 0xA3D4, 0xFF34, 0xA3D5, 0xFF35, 0xA3D6, 0xFF36, 0xA3D7, 0xFF37, - 0xA3D8, 0xFF38, 0xA3D9, 0xFF39, 0xA3DA, 0xFF3A, 0xA3DB, 0xFF3B, 0xA3DC, 0xFF3C, 0xA3DD, 0xFF3D, 0xA3DE, 0xFF3E, 0xA3DF, 0xFF3F, - 0xA3E0, 0xFF40, 0xA3E1, 0xFF41, 0xA3E2, 0xFF42, 0xA3E3, 0xFF43, 0xA3E4, 0xFF44, 0xA3E5, 0xFF45, 0xA3E6, 0xFF46, 0xA3E7, 0xFF47, - 0xA3E8, 0xFF48, 0xA3E9, 0xFF49, 0xA3EA, 0xFF4A, 0xA3EB, 0xFF4B, 0xA3EC, 0xFF4C, 0xA3ED, 0xFF4D, 0xA3EE, 0xFF4E, 0xA3EF, 0xFF4F, - 0xA3F0, 0xFF50, 0xA3F1, 0xFF51, 0xA3F2, 0xFF52, 0xA3F3, 0xFF53, 0xA3F4, 0xFF54, 0xA3F5, 0xFF55, 0xA3F6, 0xFF56, 0xA3F7, 0xFF57, - 0xA3F8, 0xFF58, 0xA3F9, 0xFF59, 0xA3FA, 0xFF5A, 0xA3FB, 0xFF5B, 0xA3FC, 0xFF5C, 0xA3FD, 0xFF5D, 0xA3FE, 0xFFE3, 0xA4A1, 0x3041, - 0xA4A2, 0x3042, 0xA4A3, 0x3043, 0xA4A4, 0x3044, 0xA4A5, 0x3045, 0xA4A6, 0x3046, 0xA4A7, 0x3047, 0xA4A8, 0x3048, 0xA4A9, 0x3049, - 0xA4AA, 0x304A, 0xA4AB, 0x304B, 0xA4AC, 0x304C, 0xA4AD, 0x304D, 0xA4AE, 0x304E, 0xA4AF, 0x304F, 0xA4B0, 0x3050, 0xA4B1, 0x3051, - 0xA4B2, 0x3052, 0xA4B3, 0x3053, 0xA4B4, 0x3054, 0xA4B5, 0x3055, 0xA4B6, 0x3056, 0xA4B7, 0x3057, 0xA4B8, 0x3058, 0xA4B9, 0x3059, - 0xA4BA, 0x305A, 0xA4BB, 0x305B, 0xA4BC, 0x305C, 0xA4BD, 0x305D, 0xA4BE, 0x305E, 0xA4BF, 0x305F, 0xA4C0, 0x3060, 0xA4C1, 0x3061, - 0xA4C2, 0x3062, 0xA4C3, 0x3063, 0xA4C4, 0x3064, 0xA4C5, 0x3065, 0xA4C6, 0x3066, 0xA4C7, 0x3067, 0xA4C8, 0x3068, 0xA4C9, 0x3069, - 0xA4CA, 0x306A, 0xA4CB, 0x306B, 0xA4CC, 0x306C, 0xA4CD, 0x306D, 0xA4CE, 0x306E, 0xA4CF, 0x306F, 0xA4D0, 0x3070, 0xA4D1, 0x3071, - 0xA4D2, 0x3072, 0xA4D3, 0x3073, 0xA4D4, 0x3074, 0xA4D5, 0x3075, 0xA4D6, 0x3076, 0xA4D7, 0x3077, 0xA4D8, 0x3078, 0xA4D9, 0x3079, - 0xA4DA, 0x307A, 0xA4DB, 0x307B, 0xA4DC, 0x307C, 0xA4DD, 0x307D, 0xA4DE, 0x307E, 0xA4DF, 0x307F, 0xA4E0, 0x3080, 0xA4E1, 0x3081, - 0xA4E2, 0x3082, 0xA4E3, 0x3083, 0xA4E4, 0x3084, 0xA4E5, 0x3085, 0xA4E6, 0x3086, 0xA4E7, 0x3087, 0xA4E8, 0x3088, 0xA4E9, 0x3089, - 0xA4EA, 0x308A, 0xA4EB, 0x308B, 0xA4EC, 0x308C, 0xA4ED, 0x308D, 0xA4EE, 0x308E, 0xA4EF, 0x308F, 0xA4F0, 0x3090, 0xA4F1, 0x3091, - 0xA4F2, 0x3092, 0xA4F3, 0x3093, 0xA5A1, 0x30A1, 0xA5A2, 0x30A2, 0xA5A3, 0x30A3, 0xA5A4, 0x30A4, 0xA5A5, 0x30A5, 0xA5A6, 0x30A6, - 0xA5A7, 0x30A7, 0xA5A8, 0x30A8, 0xA5A9, 0x30A9, 0xA5AA, 0x30AA, 0xA5AB, 0x30AB, 0xA5AC, 0x30AC, 0xA5AD, 0x30AD, 0xA5AE, 0x30AE, - 0xA5AF, 0x30AF, 0xA5B0, 0x30B0, 0xA5B1, 0x30B1, 0xA5B2, 0x30B2, 0xA5B3, 0x30B3, 0xA5B4, 0x30B4, 0xA5B5, 0x30B5, 0xA5B6, 0x30B6, - 0xA5B7, 0x30B7, 0xA5B8, 0x30B8, 0xA5B9, 0x30B9, 0xA5BA, 0x30BA, 0xA5BB, 0x30BB, 0xA5BC, 0x30BC, 0xA5BD, 0x30BD, 0xA5BE, 0x30BE, - 0xA5BF, 0x30BF, 0xA5C0, 0x30C0, 0xA5C1, 0x30C1, 0xA5C2, 0x30C2, 0xA5C3, 0x30C3, 0xA5C4, 0x30C4, 0xA5C5, 0x30C5, 0xA5C6, 0x30C6, - 0xA5C7, 0x30C7, 0xA5C8, 0x30C8, 0xA5C9, 0x30C9, 0xA5CA, 0x30CA, 0xA5CB, 0x30CB, 0xA5CC, 0x30CC, 0xA5CD, 0x30CD, 0xA5CE, 0x30CE, - 0xA5CF, 0x30CF, 0xA5D0, 0x30D0, 0xA5D1, 0x30D1, 0xA5D2, 0x30D2, 0xA5D3, 0x30D3, 0xA5D4, 0x30D4, 0xA5D5, 0x30D5, 0xA5D6, 0x30D6, - 0xA5D7, 0x30D7, 0xA5D8, 0x30D8, 0xA5D9, 0x30D9, 0xA5DA, 0x30DA, 0xA5DB, 0x30DB, 0xA5DC, 0x30DC, 0xA5DD, 0x30DD, 0xA5DE, 0x30DE, - 0xA5DF, 0x30DF, 0xA5E0, 0x30E0, 0xA5E1, 0x30E1, 0xA5E2, 0x30E2, 0xA5E3, 0x30E3, 0xA5E4, 0x30E4, 0xA5E5, 0x30E5, 0xA5E6, 0x30E6, - 0xA5E7, 0x30E7, 0xA5E8, 0x30E8, 0xA5E9, 0x30E9, 0xA5EA, 0x30EA, 0xA5EB, 0x30EB, 0xA5EC, 0x30EC, 0xA5ED, 0x30ED, 0xA5EE, 0x30EE, - 0xA5EF, 0x30EF, 0xA5F0, 0x30F0, 0xA5F1, 0x30F1, 0xA5F2, 0x30F2, 0xA5F3, 0x30F3, 0xA5F4, 0x30F4, 0xA5F5, 0x30F5, 0xA5F6, 0x30F6, - 0xA6A1, 0x0391, 0xA6A2, 0x0392, 0xA6A3, 0x0393, 0xA6A4, 0x0394, 0xA6A5, 0x0395, 0xA6A6, 0x0396, 0xA6A7, 0x0397, 0xA6A8, 0x0398, - 0xA6A9, 0x0399, 0xA6AA, 0x039A, 0xA6AB, 0x039B, 0xA6AC, 0x039C, 0xA6AD, 0x039D, 0xA6AE, 0x039E, 0xA6AF, 0x039F, 0xA6B0, 0x03A0, - 0xA6B1, 0x03A1, 0xA6B2, 0x03A3, 0xA6B3, 0x03A4, 0xA6B4, 0x03A5, 0xA6B5, 0x03A6, 0xA6B6, 0x03A7, 0xA6B7, 0x03A8, 0xA6B8, 0x03A9, - 0xA6C1, 0x03B1, 0xA6C2, 0x03B2, 0xA6C3, 0x03B3, 0xA6C4, 0x03B4, 0xA6C5, 0x03B5, 0xA6C6, 0x03B6, 0xA6C7, 0x03B7, 0xA6C8, 0x03B8, - 0xA6C9, 0x03B9, 0xA6CA, 0x03BA, 0xA6CB, 0x03BB, 0xA6CC, 0x03BC, 0xA6CD, 0x03BD, 0xA6CE, 0x03BE, 0xA6CF, 0x03BF, 0xA6D0, 0x03C0, - 0xA6D1, 0x03C1, 0xA6D2, 0x03C3, 0xA6D3, 0x03C4, 0xA6D4, 0x03C5, 0xA6D5, 0x03C6, 0xA6D6, 0x03C7, 0xA6D7, 0x03C8, 0xA6D8, 0x03C9, - 0xA6E0, 0xFE35, 0xA6E1, 0xFE36, 0xA6E2, 0xFE39, 0xA6E3, 0xFE3A, 0xA6E4, 0xFE3F, 0xA6E5, 0xFE40, 0xA6E6, 0xFE3D, 0xA6E7, 0xFE3E, - 0xA6E8, 0xFE41, 0xA6E9, 0xFE42, 0xA6EA, 0xFE43, 0xA6EB, 0xFE44, 0xA6EE, 0xFE3B, 0xA6EF, 0xFE3C, 0xA6F0, 0xFE37, 0xA6F1, 0xFE38, - 0xA6F2, 0xFE31, 0xA6F4, 0xFE33, 0xA6F5, 0xFE34, 0xA7A1, 0x0410, 0xA7A2, 0x0411, 0xA7A3, 0x0412, 0xA7A4, 0x0413, 0xA7A5, 0x0414, - 0xA7A6, 0x0415, 0xA7A7, 0x0401, 0xA7A8, 0x0416, 0xA7A9, 0x0417, 0xA7AA, 0x0418, 0xA7AB, 0x0419, 0xA7AC, 0x041A, 0xA7AD, 0x041B, - 0xA7AE, 0x041C, 0xA7AF, 0x041D, 0xA7B0, 0x041E, 0xA7B1, 0x041F, 0xA7B2, 0x0420, 0xA7B3, 0x0421, 0xA7B4, 0x0422, 0xA7B5, 0x0423, - 0xA7B6, 0x0424, 0xA7B7, 0x0425, 0xA7B8, 0x0426, 0xA7B9, 0x0427, 0xA7BA, 0x0428, 0xA7BB, 0x0429, 0xA7BC, 0x042A, 0xA7BD, 0x042B, - 0xA7BE, 0x042C, 0xA7BF, 0x042D, 0xA7C0, 0x042E, 0xA7C1, 0x042F, 0xA7D1, 0x0430, 0xA7D2, 0x0431, 0xA7D3, 0x0432, 0xA7D4, 0x0433, - 0xA7D5, 0x0434, 0xA7D6, 0x0435, 0xA7D7, 0x0451, 0xA7D8, 0x0436, 0xA7D9, 0x0437, 0xA7DA, 0x0438, 0xA7DB, 0x0439, 0xA7DC, 0x043A, - 0xA7DD, 0x043B, 0xA7DE, 0x043C, 0xA7DF, 0x043D, 0xA7E0, 0x043E, 0xA7E1, 0x043F, 0xA7E2, 0x0440, 0xA7E3, 0x0441, 0xA7E4, 0x0442, - 0xA7E5, 0x0443, 0xA7E6, 0x0444, 0xA7E7, 0x0445, 0xA7E8, 0x0446, 0xA7E9, 0x0447, 0xA7EA, 0x0448, 0xA7EB, 0x0449, 0xA7EC, 0x044A, - 0xA7ED, 0x044B, 0xA7EE, 0x044C, 0xA7EF, 0x044D, 0xA7F0, 0x044E, 0xA7F1, 0x044F, 0xA840, 0x02CA, 0xA841, 0x02CB, 0xA842, 0x02D9, - 0xA843, 0x2013, 0xA844, 0x2015, 0xA845, 0x2025, 0xA846, 0x2035, 0xA847, 0x2105, 0xA848, 0x2109, 0xA849, 0x2196, 0xA84A, 0x2197, - 0xA84B, 0x2198, 0xA84C, 0x2199, 0xA84D, 0x2215, 0xA84E, 0x221F, 0xA84F, 0x2223, 0xA850, 0x2252, 0xA851, 0x2266, 0xA852, 0x2267, - 0xA853, 0x22BF, 0xA854, 0x2550, 0xA855, 0x2551, 0xA856, 0x2552, 0xA857, 0x2553, 0xA858, 0x2554, 0xA859, 0x2555, 0xA85A, 0x2556, - 0xA85B, 0x2557, 0xA85C, 0x2558, 0xA85D, 0x2559, 0xA85E, 0x255A, 0xA85F, 0x255B, 0xA860, 0x255C, 0xA861, 0x255D, 0xA862, 0x255E, - 0xA863, 0x255F, 0xA864, 0x2560, 0xA865, 0x2561, 0xA866, 0x2562, 0xA867, 0x2563, 0xA868, 0x2564, 0xA869, 0x2565, 0xA86A, 0x2566, - 0xA86B, 0x2567, 0xA86C, 0x2568, 0xA86D, 0x2569, 0xA86E, 0x256A, 0xA86F, 0x256B, 0xA870, 0x256C, 0xA871, 0x256D, 0xA872, 0x256E, - 0xA873, 0x256F, 0xA874, 0x2570, 0xA875, 0x2571, 0xA876, 0x2572, 0xA877, 0x2573, 0xA878, 0x2581, 0xA879, 0x2582, 0xA87A, 0x2583, - 0xA87B, 0x2584, 0xA87C, 0x2585, 0xA87D, 0x2586, 0xA87E, 0x2587, 0xA880, 0x2588, 0xA881, 0x2589, 0xA882, 0x258A, 0xA883, 0x258B, - 0xA884, 0x258C, 0xA885, 0x258D, 0xA886, 0x258E, 0xA887, 0x258F, 0xA888, 0x2593, 0xA889, 0x2594, 0xA88A, 0x2595, 0xA88B, 0x25BC, - 0xA88C, 0x25BD, 0xA88D, 0x25E2, 0xA88E, 0x25E3, 0xA88F, 0x25E4, 0xA890, 0x25E5, 0xA891, 0x2609, 0xA892, 0x2295, 0xA893, 0x3012, - 0xA894, 0x301D, 0xA895, 0x301E, 0xA8A1, 0x0101, 0xA8A2, 0x00E1, 0xA8A3, 0x01CE, 0xA8A4, 0x00E0, 0xA8A5, 0x0113, 0xA8A6, 0x00E9, - 0xA8A7, 0x011B, 0xA8A8, 0x00E8, 0xA8A9, 0x012B, 0xA8AA, 0x00ED, 0xA8AB, 0x01D0, 0xA8AC, 0x00EC, 0xA8AD, 0x014D, 0xA8AE, 0x00F3, - 0xA8AF, 0x01D2, 0xA8B0, 0x00F2, 0xA8B1, 0x016B, 0xA8B2, 0x00FA, 0xA8B3, 0x01D4, 0xA8B4, 0x00F9, 0xA8B5, 0x01D6, 0xA8B6, 0x01D8, - 0xA8B7, 0x01DA, 0xA8B8, 0x01DC, 0xA8B9, 0x00FC, 0xA8BA, 0x00EA, 0xA8BB, 0x0251, 0xA8BD, 0x0144, 0xA8BE, 0x0148, 0xA8C0, 0x0261, - 0xA8C5, 0x3105, 0xA8C6, 0x3106, 0xA8C7, 0x3107, 0xA8C8, 0x3108, 0xA8C9, 0x3109, 0xA8CA, 0x310A, 0xA8CB, 0x310B, 0xA8CC, 0x310C, - 0xA8CD, 0x310D, 0xA8CE, 0x310E, 0xA8CF, 0x310F, 0xA8D0, 0x3110, 0xA8D1, 0x3111, 0xA8D2, 0x3112, 0xA8D3, 0x3113, 0xA8D4, 0x3114, - 0xA8D5, 0x3115, 0xA8D6, 0x3116, 0xA8D7, 0x3117, 0xA8D8, 0x3118, 0xA8D9, 0x3119, 0xA8DA, 0x311A, 0xA8DB, 0x311B, 0xA8DC, 0x311C, - 0xA8DD, 0x311D, 0xA8DE, 0x311E, 0xA8DF, 0x311F, 0xA8E0, 0x3120, 0xA8E1, 0x3121, 0xA8E2, 0x3122, 0xA8E3, 0x3123, 0xA8E4, 0x3124, - 0xA8E5, 0x3125, 0xA8E6, 0x3126, 0xA8E7, 0x3127, 0xA8E8, 0x3128, 0xA8E9, 0x3129, 0xA940, 0x3021, 0xA941, 0x3022, 0xA942, 0x3023, - 0xA943, 0x3024, 0xA944, 0x3025, 0xA945, 0x3026, 0xA946, 0x3027, 0xA947, 0x3028, 0xA948, 0x3029, 0xA949, 0x32A3, 0xA94A, 0x338E, - 0xA94B, 0x338F, 0xA94C, 0x339C, 0xA94D, 0x339D, 0xA94E, 0x339E, 0xA94F, 0x33A1, 0xA950, 0x33C4, 0xA951, 0x33CE, 0xA952, 0x33D1, - 0xA953, 0x33D2, 0xA954, 0x33D5, 0xA955, 0xFE30, 0xA956, 0xFFE2, 0xA957, 0xFFE4, 0xA959, 0x2121, 0xA95A, 0x3231, 0xA95C, 0x2010, - 0xA960, 0x30FC, 0xA961, 0x309B, 0xA962, 0x309C, 0xA963, 0x30FD, 0xA964, 0x30FE, 0xA965, 0x3006, 0xA966, 0x309D, 0xA967, 0x309E, - 0xA968, 0xFE49, 0xA969, 0xFE4A, 0xA96A, 0xFE4B, 0xA96B, 0xFE4C, 0xA96C, 0xFE4D, 0xA96D, 0xFE4E, 0xA96E, 0xFE4F, 0xA96F, 0xFE50, - 0xA970, 0xFE51, 0xA971, 0xFE52, 0xA972, 0xFE54, 0xA973, 0xFE55, 0xA974, 0xFE56, 0xA975, 0xFE57, 0xA976, 0xFE59, 0xA977, 0xFE5A, - 0xA978, 0xFE5B, 0xA979, 0xFE5C, 0xA97A, 0xFE5D, 0xA97B, 0xFE5E, 0xA97C, 0xFE5F, 0xA97D, 0xFE60, 0xA97E, 0xFE61, 0xA980, 0xFE62, - 0xA981, 0xFE63, 0xA982, 0xFE64, 0xA983, 0xFE65, 0xA984, 0xFE66, 0xA985, 0xFE68, 0xA986, 0xFE69, 0xA987, 0xFE6A, 0xA988, 0xFE6B, - 0xA996, 0x3007, 0xA9A4, 0x2500, 0xA9A5, 0x2501, 0xA9A6, 0x2502, 0xA9A7, 0x2503, 0xA9A8, 0x2504, 0xA9A9, 0x2505, 0xA9AA, 0x2506, - 0xA9AB, 0x2507, 0xA9AC, 0x2508, 0xA9AD, 0x2509, 0xA9AE, 0x250A, 0xA9AF, 0x250B, 0xA9B0, 0x250C, 0xA9B1, 0x250D, 0xA9B2, 0x250E, - 0xA9B3, 0x250F, 0xA9B4, 0x2510, 0xA9B5, 0x2511, 0xA9B6, 0x2512, 0xA9B7, 0x2513, 0xA9B8, 0x2514, 0xA9B9, 0x2515, 0xA9BA, 0x2516, - 0xA9BB, 0x2517, 0xA9BC, 0x2518, 0xA9BD, 0x2519, 0xA9BE, 0x251A, 0xA9BF, 0x251B, 0xA9C0, 0x251C, 0xA9C1, 0x251D, 0xA9C2, 0x251E, - 0xA9C3, 0x251F, 0xA9C4, 0x2520, 0xA9C5, 0x2521, 0xA9C6, 0x2522, 0xA9C7, 0x2523, 0xA9C8, 0x2524, 0xA9C9, 0x2525, 0xA9CA, 0x2526, - 0xA9CB, 0x2527, 0xA9CC, 0x2528, 0xA9CD, 0x2529, 0xA9CE, 0x252A, 0xA9CF, 0x252B, 0xA9D0, 0x252C, 0xA9D1, 0x252D, 0xA9D2, 0x252E, - 0xA9D3, 0x252F, 0xA9D4, 0x2530, 0xA9D5, 0x2531, 0xA9D6, 0x2532, 0xA9D7, 0x2533, 0xA9D8, 0x2534, 0xA9D9, 0x2535, 0xA9DA, 0x2536, - 0xA9DB, 0x2537, 0xA9DC, 0x2538, 0xA9DD, 0x2539, 0xA9DE, 0x253A, 0xA9DF, 0x253B, 0xA9E0, 0x253C, 0xA9E1, 0x253D, 0xA9E2, 0x253E, - 0xA9E3, 0x253F, 0xA9E4, 0x2540, 0xA9E5, 0x2541, 0xA9E6, 0x2542, 0xA9E7, 0x2543, 0xA9E8, 0x2544, 0xA9E9, 0x2545, 0xA9EA, 0x2546, - 0xA9EB, 0x2547, 0xA9EC, 0x2548, 0xA9ED, 0x2549, 0xA9EE, 0x254A, 0xA9EF, 0x254B, 0xAA40, 0x72DC, 0xAA41, 0x72DD, 0xAA42, 0x72DF, - 0xAA43, 0x72E2, 0xAA44, 0x72E3, 0xAA45, 0x72E4, 0xAA46, 0x72E5, 0xAA47, 0x72E6, 0xAA48, 0x72E7, 0xAA49, 0x72EA, 0xAA4A, 0x72EB, - 0xAA4B, 0x72F5, 0xAA4C, 0x72F6, 0xAA4D, 0x72F9, 0xAA4E, 0x72FD, 0xAA4F, 0x72FE, 0xAA50, 0x72FF, 0xAA51, 0x7300, 0xAA52, 0x7302, - 0xAA53, 0x7304, 0xAA54, 0x7305, 0xAA55, 0x7306, 0xAA56, 0x7307, 0xAA57, 0x7308, 0xAA58, 0x7309, 0xAA59, 0x730B, 0xAA5A, 0x730C, - 0xAA5B, 0x730D, 0xAA5C, 0x730F, 0xAA5D, 0x7310, 0xAA5E, 0x7311, 0xAA5F, 0x7312, 0xAA60, 0x7314, 0xAA61, 0x7318, 0xAA62, 0x7319, - 0xAA63, 0x731A, 0xAA64, 0x731F, 0xAA65, 0x7320, 0xAA66, 0x7323, 0xAA67, 0x7324, 0xAA68, 0x7326, 0xAA69, 0x7327, 0xAA6A, 0x7328, - 0xAA6B, 0x732D, 0xAA6C, 0x732F, 0xAA6D, 0x7330, 0xAA6E, 0x7332, 0xAA6F, 0x7333, 0xAA70, 0x7335, 0xAA71, 0x7336, 0xAA72, 0x733A, - 0xAA73, 0x733B, 0xAA74, 0x733C, 0xAA75, 0x733D, 0xAA76, 0x7340, 0xAA77, 0x7341, 0xAA78, 0x7342, 0xAA79, 0x7343, 0xAA7A, 0x7344, - 0xAA7B, 0x7345, 0xAA7C, 0x7346, 0xAA7D, 0x7347, 0xAA7E, 0x7348, 0xAA80, 0x7349, 0xAA81, 0x734A, 0xAA82, 0x734B, 0xAA83, 0x734C, - 0xAA84, 0x734E, 0xAA85, 0x734F, 0xAA86, 0x7351, 0xAA87, 0x7353, 0xAA88, 0x7354, 0xAA89, 0x7355, 0xAA8A, 0x7356, 0xAA8B, 0x7358, - 0xAA8C, 0x7359, 0xAA8D, 0x735A, 0xAA8E, 0x735B, 0xAA8F, 0x735C, 0xAA90, 0x735D, 0xAA91, 0x735E, 0xAA92, 0x735F, 0xAA93, 0x7361, - 0xAA94, 0x7362, 0xAA95, 0x7363, 0xAA96, 0x7364, 0xAA97, 0x7365, 0xAA98, 0x7366, 0xAA99, 0x7367, 0xAA9A, 0x7368, 0xAA9B, 0x7369, - 0xAA9C, 0x736A, 0xAA9D, 0x736B, 0xAA9E, 0x736E, 0xAA9F, 0x7370, 0xAAA0, 0x7371, 0xAB40, 0x7372, 0xAB41, 0x7373, 0xAB42, 0x7374, - 0xAB43, 0x7375, 0xAB44, 0x7376, 0xAB45, 0x7377, 0xAB46, 0x7378, 0xAB47, 0x7379, 0xAB48, 0x737A, 0xAB49, 0x737B, 0xAB4A, 0x737C, - 0xAB4B, 0x737D, 0xAB4C, 0x737F, 0xAB4D, 0x7380, 0xAB4E, 0x7381, 0xAB4F, 0x7382, 0xAB50, 0x7383, 0xAB51, 0x7385, 0xAB52, 0x7386, - 0xAB53, 0x7388, 0xAB54, 0x738A, 0xAB55, 0x738C, 0xAB56, 0x738D, 0xAB57, 0x738F, 0xAB58, 0x7390, 0xAB59, 0x7392, 0xAB5A, 0x7393, - 0xAB5B, 0x7394, 0xAB5C, 0x7395, 0xAB5D, 0x7397, 0xAB5E, 0x7398, 0xAB5F, 0x7399, 0xAB60, 0x739A, 0xAB61, 0x739C, 0xAB62, 0x739D, - 0xAB63, 0x739E, 0xAB64, 0x73A0, 0xAB65, 0x73A1, 0xAB66, 0x73A3, 0xAB67, 0x73A4, 0xAB68, 0x73A5, 0xAB69, 0x73A6, 0xAB6A, 0x73A7, - 0xAB6B, 0x73A8, 0xAB6C, 0x73AA, 0xAB6D, 0x73AC, 0xAB6E, 0x73AD, 0xAB6F, 0x73B1, 0xAB70, 0x73B4, 0xAB71, 0x73B5, 0xAB72, 0x73B6, - 0xAB73, 0x73B8, 0xAB74, 0x73B9, 0xAB75, 0x73BC, 0xAB76, 0x73BD, 0xAB77, 0x73BE, 0xAB78, 0x73BF, 0xAB79, 0x73C1, 0xAB7A, 0x73C3, - 0xAB7B, 0x73C4, 0xAB7C, 0x73C5, 0xAB7D, 0x73C6, 0xAB7E, 0x73C7, 0xAB80, 0x73CB, 0xAB81, 0x73CC, 0xAB82, 0x73CE, 0xAB83, 0x73D2, - 0xAB84, 0x73D3, 0xAB85, 0x73D4, 0xAB86, 0x73D5, 0xAB87, 0x73D6, 0xAB88, 0x73D7, 0xAB89, 0x73D8, 0xAB8A, 0x73DA, 0xAB8B, 0x73DB, - 0xAB8C, 0x73DC, 0xAB8D, 0x73DD, 0xAB8E, 0x73DF, 0xAB8F, 0x73E1, 0xAB90, 0x73E2, 0xAB91, 0x73E3, 0xAB92, 0x73E4, 0xAB93, 0x73E6, - 0xAB94, 0x73E8, 0xAB95, 0x73EA, 0xAB96, 0x73EB, 0xAB97, 0x73EC, 0xAB98, 0x73EE, 0xAB99, 0x73EF, 0xAB9A, 0x73F0, 0xAB9B, 0x73F1, - 0xAB9C, 0x73F3, 0xAB9D, 0x73F4, 0xAB9E, 0x73F5, 0xAB9F, 0x73F6, 0xABA0, 0x73F7, 0xAC40, 0x73F8, 0xAC41, 0x73F9, 0xAC42, 0x73FA, - 0xAC43, 0x73FB, 0xAC44, 0x73FC, 0xAC45, 0x73FD, 0xAC46, 0x73FE, 0xAC47, 0x73FF, 0xAC48, 0x7400, 0xAC49, 0x7401, 0xAC4A, 0x7402, - 0xAC4B, 0x7404, 0xAC4C, 0x7407, 0xAC4D, 0x7408, 0xAC4E, 0x740B, 0xAC4F, 0x740C, 0xAC50, 0x740D, 0xAC51, 0x740E, 0xAC52, 0x7411, - 0xAC53, 0x7412, 0xAC54, 0x7413, 0xAC55, 0x7414, 0xAC56, 0x7415, 0xAC57, 0x7416, 0xAC58, 0x7417, 0xAC59, 0x7418, 0xAC5A, 0x7419, - 0xAC5B, 0x741C, 0xAC5C, 0x741D, 0xAC5D, 0x741E, 0xAC5E, 0x741F, 0xAC5F, 0x7420, 0xAC60, 0x7421, 0xAC61, 0x7423, 0xAC62, 0x7424, - 0xAC63, 0x7427, 0xAC64, 0x7429, 0xAC65, 0x742B, 0xAC66, 0x742D, 0xAC67, 0x742F, 0xAC68, 0x7431, 0xAC69, 0x7432, 0xAC6A, 0x7437, - 0xAC6B, 0x7438, 0xAC6C, 0x7439, 0xAC6D, 0x743A, 0xAC6E, 0x743B, 0xAC6F, 0x743D, 0xAC70, 0x743E, 0xAC71, 0x743F, 0xAC72, 0x7440, - 0xAC73, 0x7442, 0xAC74, 0x7443, 0xAC75, 0x7444, 0xAC76, 0x7445, 0xAC77, 0x7446, 0xAC78, 0x7447, 0xAC79, 0x7448, 0xAC7A, 0x7449, - 0xAC7B, 0x744A, 0xAC7C, 0x744B, 0xAC7D, 0x744C, 0xAC7E, 0x744D, 0xAC80, 0x744E, 0xAC81, 0x744F, 0xAC82, 0x7450, 0xAC83, 0x7451, - 0xAC84, 0x7452, 0xAC85, 0x7453, 0xAC86, 0x7454, 0xAC87, 0x7456, 0xAC88, 0x7458, 0xAC89, 0x745D, 0xAC8A, 0x7460, 0xAC8B, 0x7461, - 0xAC8C, 0x7462, 0xAC8D, 0x7463, 0xAC8E, 0x7464, 0xAC8F, 0x7465, 0xAC90, 0x7466, 0xAC91, 0x7467, 0xAC92, 0x7468, 0xAC93, 0x7469, - 0xAC94, 0x746A, 0xAC95, 0x746B, 0xAC96, 0x746C, 0xAC97, 0x746E, 0xAC98, 0x746F, 0xAC99, 0x7471, 0xAC9A, 0x7472, 0xAC9B, 0x7473, - 0xAC9C, 0x7474, 0xAC9D, 0x7475, 0xAC9E, 0x7478, 0xAC9F, 0x7479, 0xACA0, 0x747A, 0xAD40, 0x747B, 0xAD41, 0x747C, 0xAD42, 0x747D, - 0xAD43, 0x747F, 0xAD44, 0x7482, 0xAD45, 0x7484, 0xAD46, 0x7485, 0xAD47, 0x7486, 0xAD48, 0x7488, 0xAD49, 0x7489, 0xAD4A, 0x748A, - 0xAD4B, 0x748C, 0xAD4C, 0x748D, 0xAD4D, 0x748F, 0xAD4E, 0x7491, 0xAD4F, 0x7492, 0xAD50, 0x7493, 0xAD51, 0x7494, 0xAD52, 0x7495, - 0xAD53, 0x7496, 0xAD54, 0x7497, 0xAD55, 0x7498, 0xAD56, 0x7499, 0xAD57, 0x749A, 0xAD58, 0x749B, 0xAD59, 0x749D, 0xAD5A, 0x749F, - 0xAD5B, 0x74A0, 0xAD5C, 0x74A1, 0xAD5D, 0x74A2, 0xAD5E, 0x74A3, 0xAD5F, 0x74A4, 0xAD60, 0x74A5, 0xAD61, 0x74A6, 0xAD62, 0x74AA, - 0xAD63, 0x74AB, 0xAD64, 0x74AC, 0xAD65, 0x74AD, 0xAD66, 0x74AE, 0xAD67, 0x74AF, 0xAD68, 0x74B0, 0xAD69, 0x74B1, 0xAD6A, 0x74B2, - 0xAD6B, 0x74B3, 0xAD6C, 0x74B4, 0xAD6D, 0x74B5, 0xAD6E, 0x74B6, 0xAD6F, 0x74B7, 0xAD70, 0x74B8, 0xAD71, 0x74B9, 0xAD72, 0x74BB, - 0xAD73, 0x74BC, 0xAD74, 0x74BD, 0xAD75, 0x74BE, 0xAD76, 0x74BF, 0xAD77, 0x74C0, 0xAD78, 0x74C1, 0xAD79, 0x74C2, 0xAD7A, 0x74C3, - 0xAD7B, 0x74C4, 0xAD7C, 0x74C5, 0xAD7D, 0x74C6, 0xAD7E, 0x74C7, 0xAD80, 0x74C8, 0xAD81, 0x74C9, 0xAD82, 0x74CA, 0xAD83, 0x74CB, - 0xAD84, 0x74CC, 0xAD85, 0x74CD, 0xAD86, 0x74CE, 0xAD87, 0x74CF, 0xAD88, 0x74D0, 0xAD89, 0x74D1, 0xAD8A, 0x74D3, 0xAD8B, 0x74D4, - 0xAD8C, 0x74D5, 0xAD8D, 0x74D6, 0xAD8E, 0x74D7, 0xAD8F, 0x74D8, 0xAD90, 0x74D9, 0xAD91, 0x74DA, 0xAD92, 0x74DB, 0xAD93, 0x74DD, - 0xAD94, 0x74DF, 0xAD95, 0x74E1, 0xAD96, 0x74E5, 0xAD97, 0x74E7, 0xAD98, 0x74E8, 0xAD99, 0x74E9, 0xAD9A, 0x74EA, 0xAD9B, 0x74EB, - 0xAD9C, 0x74EC, 0xAD9D, 0x74ED, 0xAD9E, 0x74F0, 0xAD9F, 0x74F1, 0xADA0, 0x74F2, 0xAE40, 0x74F3, 0xAE41, 0x74F5, 0xAE42, 0x74F8, - 0xAE43, 0x74F9, 0xAE44, 0x74FA, 0xAE45, 0x74FB, 0xAE46, 0x74FC, 0xAE47, 0x74FD, 0xAE48, 0x74FE, 0xAE49, 0x7500, 0xAE4A, 0x7501, - 0xAE4B, 0x7502, 0xAE4C, 0x7503, 0xAE4D, 0x7505, 0xAE4E, 0x7506, 0xAE4F, 0x7507, 0xAE50, 0x7508, 0xAE51, 0x7509, 0xAE52, 0x750A, - 0xAE53, 0x750B, 0xAE54, 0x750C, 0xAE55, 0x750E, 0xAE56, 0x7510, 0xAE57, 0x7512, 0xAE58, 0x7514, 0xAE59, 0x7515, 0xAE5A, 0x7516, - 0xAE5B, 0x7517, 0xAE5C, 0x751B, 0xAE5D, 0x751D, 0xAE5E, 0x751E, 0xAE5F, 0x7520, 0xAE60, 0x7521, 0xAE61, 0x7522, 0xAE62, 0x7523, - 0xAE63, 0x7524, 0xAE64, 0x7526, 0xAE65, 0x7527, 0xAE66, 0x752A, 0xAE67, 0x752E, 0xAE68, 0x7534, 0xAE69, 0x7536, 0xAE6A, 0x7539, - 0xAE6B, 0x753C, 0xAE6C, 0x753D, 0xAE6D, 0x753F, 0xAE6E, 0x7541, 0xAE6F, 0x7542, 0xAE70, 0x7543, 0xAE71, 0x7544, 0xAE72, 0x7546, - 0xAE73, 0x7547, 0xAE74, 0x7549, 0xAE75, 0x754A, 0xAE76, 0x754D, 0xAE77, 0x7550, 0xAE78, 0x7551, 0xAE79, 0x7552, 0xAE7A, 0x7553, - 0xAE7B, 0x7555, 0xAE7C, 0x7556, 0xAE7D, 0x7557, 0xAE7E, 0x7558, 0xAE80, 0x755D, 0xAE81, 0x755E, 0xAE82, 0x755F, 0xAE83, 0x7560, - 0xAE84, 0x7561, 0xAE85, 0x7562, 0xAE86, 0x7563, 0xAE87, 0x7564, 0xAE88, 0x7567, 0xAE89, 0x7568, 0xAE8A, 0x7569, 0xAE8B, 0x756B, - 0xAE8C, 0x756C, 0xAE8D, 0x756D, 0xAE8E, 0x756E, 0xAE8F, 0x756F, 0xAE90, 0x7570, 0xAE91, 0x7571, 0xAE92, 0x7573, 0xAE93, 0x7575, - 0xAE94, 0x7576, 0xAE95, 0x7577, 0xAE96, 0x757A, 0xAE97, 0x757B, 0xAE98, 0x757C, 0xAE99, 0x757D, 0xAE9A, 0x757E, 0xAE9B, 0x7580, - 0xAE9C, 0x7581, 0xAE9D, 0x7582, 0xAE9E, 0x7584, 0xAE9F, 0x7585, 0xAEA0, 0x7587, 0xAF40, 0x7588, 0xAF41, 0x7589, 0xAF42, 0x758A, - 0xAF43, 0x758C, 0xAF44, 0x758D, 0xAF45, 0x758E, 0xAF46, 0x7590, 0xAF47, 0x7593, 0xAF48, 0x7595, 0xAF49, 0x7598, 0xAF4A, 0x759B, - 0xAF4B, 0x759C, 0xAF4C, 0x759E, 0xAF4D, 0x75A2, 0xAF4E, 0x75A6, 0xAF4F, 0x75A7, 0xAF50, 0x75A8, 0xAF51, 0x75A9, 0xAF52, 0x75AA, - 0xAF53, 0x75AD, 0xAF54, 0x75B6, 0xAF55, 0x75B7, 0xAF56, 0x75BA, 0xAF57, 0x75BB, 0xAF58, 0x75BF, 0xAF59, 0x75C0, 0xAF5A, 0x75C1, - 0xAF5B, 0x75C6, 0xAF5C, 0x75CB, 0xAF5D, 0x75CC, 0xAF5E, 0x75CE, 0xAF5F, 0x75CF, 0xAF60, 0x75D0, 0xAF61, 0x75D1, 0xAF62, 0x75D3, - 0xAF63, 0x75D7, 0xAF64, 0x75D9, 0xAF65, 0x75DA, 0xAF66, 0x75DC, 0xAF67, 0x75DD, 0xAF68, 0x75DF, 0xAF69, 0x75E0, 0xAF6A, 0x75E1, - 0xAF6B, 0x75E5, 0xAF6C, 0x75E9, 0xAF6D, 0x75EC, 0xAF6E, 0x75ED, 0xAF6F, 0x75EE, 0xAF70, 0x75EF, 0xAF71, 0x75F2, 0xAF72, 0x75F3, - 0xAF73, 0x75F5, 0xAF74, 0x75F6, 0xAF75, 0x75F7, 0xAF76, 0x75F8, 0xAF77, 0x75FA, 0xAF78, 0x75FB, 0xAF79, 0x75FD, 0xAF7A, 0x75FE, - 0xAF7B, 0x7602, 0xAF7C, 0x7604, 0xAF7D, 0x7606, 0xAF7E, 0x7607, 0xAF80, 0x7608, 0xAF81, 0x7609, 0xAF82, 0x760B, 0xAF83, 0x760D, - 0xAF84, 0x760E, 0xAF85, 0x760F, 0xAF86, 0x7611, 0xAF87, 0x7612, 0xAF88, 0x7613, 0xAF89, 0x7614, 0xAF8A, 0x7616, 0xAF8B, 0x761A, - 0xAF8C, 0x761C, 0xAF8D, 0x761D, 0xAF8E, 0x761E, 0xAF8F, 0x7621, 0xAF90, 0x7623, 0xAF91, 0x7627, 0xAF92, 0x7628, 0xAF93, 0x762C, - 0xAF94, 0x762E, 0xAF95, 0x762F, 0xAF96, 0x7631, 0xAF97, 0x7632, 0xAF98, 0x7636, 0xAF99, 0x7637, 0xAF9A, 0x7639, 0xAF9B, 0x763A, - 0xAF9C, 0x763B, 0xAF9D, 0x763D, 0xAF9E, 0x7641, 0xAF9F, 0x7642, 0xAFA0, 0x7644, 0xB040, 0x7645, 0xB041, 0x7646, 0xB042, 0x7647, - 0xB043, 0x7648, 0xB044, 0x7649, 0xB045, 0x764A, 0xB046, 0x764B, 0xB047, 0x764E, 0xB048, 0x764F, 0xB049, 0x7650, 0xB04A, 0x7651, - 0xB04B, 0x7652, 0xB04C, 0x7653, 0xB04D, 0x7655, 0xB04E, 0x7657, 0xB04F, 0x7658, 0xB050, 0x7659, 0xB051, 0x765A, 0xB052, 0x765B, - 0xB053, 0x765D, 0xB054, 0x765F, 0xB055, 0x7660, 0xB056, 0x7661, 0xB057, 0x7662, 0xB058, 0x7664, 0xB059, 0x7665, 0xB05A, 0x7666, - 0xB05B, 0x7667, 0xB05C, 0x7668, 0xB05D, 0x7669, 0xB05E, 0x766A, 0xB05F, 0x766C, 0xB060, 0x766D, 0xB061, 0x766E, 0xB062, 0x7670, - 0xB063, 0x7671, 0xB064, 0x7672, 0xB065, 0x7673, 0xB066, 0x7674, 0xB067, 0x7675, 0xB068, 0x7676, 0xB069, 0x7677, 0xB06A, 0x7679, - 0xB06B, 0x767A, 0xB06C, 0x767C, 0xB06D, 0x767F, 0xB06E, 0x7680, 0xB06F, 0x7681, 0xB070, 0x7683, 0xB071, 0x7685, 0xB072, 0x7689, - 0xB073, 0x768A, 0xB074, 0x768C, 0xB075, 0x768D, 0xB076, 0x768F, 0xB077, 0x7690, 0xB078, 0x7692, 0xB079, 0x7694, 0xB07A, 0x7695, - 0xB07B, 0x7697, 0xB07C, 0x7698, 0xB07D, 0x769A, 0xB07E, 0x769B, 0xB080, 0x769C, 0xB081, 0x769D, 0xB082, 0x769E, 0xB083, 0x769F, - 0xB084, 0x76A0, 0xB085, 0x76A1, 0xB086, 0x76A2, 0xB087, 0x76A3, 0xB088, 0x76A5, 0xB089, 0x76A6, 0xB08A, 0x76A7, 0xB08B, 0x76A8, - 0xB08C, 0x76A9, 0xB08D, 0x76AA, 0xB08E, 0x76AB, 0xB08F, 0x76AC, 0xB090, 0x76AD, 0xB091, 0x76AF, 0xB092, 0x76B0, 0xB093, 0x76B3, - 0xB094, 0x76B5, 0xB095, 0x76B6, 0xB096, 0x76B7, 0xB097, 0x76B8, 0xB098, 0x76B9, 0xB099, 0x76BA, 0xB09A, 0x76BB, 0xB09B, 0x76BC, - 0xB09C, 0x76BD, 0xB09D, 0x76BE, 0xB09E, 0x76C0, 0xB09F, 0x76C1, 0xB0A0, 0x76C3, 0xB0A1, 0x554A, 0xB0A2, 0x963F, 0xB0A3, 0x57C3, - 0xB0A4, 0x6328, 0xB0A5, 0x54CE, 0xB0A6, 0x5509, 0xB0A7, 0x54C0, 0xB0A8, 0x7691, 0xB0A9, 0x764C, 0xB0AA, 0x853C, 0xB0AB, 0x77EE, - 0xB0AC, 0x827E, 0xB0AD, 0x788D, 0xB0AE, 0x7231, 0xB0AF, 0x9698, 0xB0B0, 0x978D, 0xB0B1, 0x6C28, 0xB0B2, 0x5B89, 0xB0B3, 0x4FFA, - 0xB0B4, 0x6309, 0xB0B5, 0x6697, 0xB0B6, 0x5CB8, 0xB0B7, 0x80FA, 0xB0B8, 0x6848, 0xB0B9, 0x80AE, 0xB0BA, 0x6602, 0xB0BB, 0x76CE, - 0xB0BC, 0x51F9, 0xB0BD, 0x6556, 0xB0BE, 0x71AC, 0xB0BF, 0x7FF1, 0xB0C0, 0x8884, 0xB0C1, 0x50B2, 0xB0C2, 0x5965, 0xB0C3, 0x61CA, - 0xB0C4, 0x6FB3, 0xB0C5, 0x82AD, 0xB0C6, 0x634C, 0xB0C7, 0x6252, 0xB0C8, 0x53ED, 0xB0C9, 0x5427, 0xB0CA, 0x7B06, 0xB0CB, 0x516B, - 0xB0CC, 0x75A4, 0xB0CD, 0x5DF4, 0xB0CE, 0x62D4, 0xB0CF, 0x8DCB, 0xB0D0, 0x9776, 0xB0D1, 0x628A, 0xB0D2, 0x8019, 0xB0D3, 0x575D, - 0xB0D4, 0x9738, 0xB0D5, 0x7F62, 0xB0D6, 0x7238, 0xB0D7, 0x767D, 0xB0D8, 0x67CF, 0xB0D9, 0x767E, 0xB0DA, 0x6446, 0xB0DB, 0x4F70, - 0xB0DC, 0x8D25, 0xB0DD, 0x62DC, 0xB0DE, 0x7A17, 0xB0DF, 0x6591, 0xB0E0, 0x73ED, 0xB0E1, 0x642C, 0xB0E2, 0x6273, 0xB0E3, 0x822C, - 0xB0E4, 0x9881, 0xB0E5, 0x677F, 0xB0E6, 0x7248, 0xB0E7, 0x626E, 0xB0E8, 0x62CC, 0xB0E9, 0x4F34, 0xB0EA, 0x74E3, 0xB0EB, 0x534A, - 0xB0EC, 0x529E, 0xB0ED, 0x7ECA, 0xB0EE, 0x90A6, 0xB0EF, 0x5E2E, 0xB0F0, 0x6886, 0xB0F1, 0x699C, 0xB0F2, 0x8180, 0xB0F3, 0x7ED1, - 0xB0F4, 0x68D2, 0xB0F5, 0x78C5, 0xB0F6, 0x868C, 0xB0F7, 0x9551, 0xB0F8, 0x508D, 0xB0F9, 0x8C24, 0xB0FA, 0x82DE, 0xB0FB, 0x80DE, - 0xB0FC, 0x5305, 0xB0FD, 0x8912, 0xB0FE, 0x5265, 0xB140, 0x76C4, 0xB141, 0x76C7, 0xB142, 0x76C9, 0xB143, 0x76CB, 0xB144, 0x76CC, - 0xB145, 0x76D3, 0xB146, 0x76D5, 0xB147, 0x76D9, 0xB148, 0x76DA, 0xB149, 0x76DC, 0xB14A, 0x76DD, 0xB14B, 0x76DE, 0xB14C, 0x76E0, - 0xB14D, 0x76E1, 0xB14E, 0x76E2, 0xB14F, 0x76E3, 0xB150, 0x76E4, 0xB151, 0x76E6, 0xB152, 0x76E7, 0xB153, 0x76E8, 0xB154, 0x76E9, - 0xB155, 0x76EA, 0xB156, 0x76EB, 0xB157, 0x76EC, 0xB158, 0x76ED, 0xB159, 0x76F0, 0xB15A, 0x76F3, 0xB15B, 0x76F5, 0xB15C, 0x76F6, - 0xB15D, 0x76F7, 0xB15E, 0x76FA, 0xB15F, 0x76FB, 0xB160, 0x76FD, 0xB161, 0x76FF, 0xB162, 0x7700, 0xB163, 0x7702, 0xB164, 0x7703, - 0xB165, 0x7705, 0xB166, 0x7706, 0xB167, 0x770A, 0xB168, 0x770C, 0xB169, 0x770E, 0xB16A, 0x770F, 0xB16B, 0x7710, 0xB16C, 0x7711, - 0xB16D, 0x7712, 0xB16E, 0x7713, 0xB16F, 0x7714, 0xB170, 0x7715, 0xB171, 0x7716, 0xB172, 0x7717, 0xB173, 0x7718, 0xB174, 0x771B, - 0xB175, 0x771C, 0xB176, 0x771D, 0xB177, 0x771E, 0xB178, 0x7721, 0xB179, 0x7723, 0xB17A, 0x7724, 0xB17B, 0x7725, 0xB17C, 0x7727, - 0xB17D, 0x772A, 0xB17E, 0x772B, 0xB180, 0x772C, 0xB181, 0x772E, 0xB182, 0x7730, 0xB183, 0x7731, 0xB184, 0x7732, 0xB185, 0x7733, - 0xB186, 0x7734, 0xB187, 0x7739, 0xB188, 0x773B, 0xB189, 0x773D, 0xB18A, 0x773E, 0xB18B, 0x773F, 0xB18C, 0x7742, 0xB18D, 0x7744, - 0xB18E, 0x7745, 0xB18F, 0x7746, 0xB190, 0x7748, 0xB191, 0x7749, 0xB192, 0x774A, 0xB193, 0x774B, 0xB194, 0x774C, 0xB195, 0x774D, - 0xB196, 0x774E, 0xB197, 0x774F, 0xB198, 0x7752, 0xB199, 0x7753, 0xB19A, 0x7754, 0xB19B, 0x7755, 0xB19C, 0x7756, 0xB19D, 0x7757, - 0xB19E, 0x7758, 0xB19F, 0x7759, 0xB1A0, 0x775C, 0xB1A1, 0x8584, 0xB1A2, 0x96F9, 0xB1A3, 0x4FDD, 0xB1A4, 0x5821, 0xB1A5, 0x9971, - 0xB1A6, 0x5B9D, 0xB1A7, 0x62B1, 0xB1A8, 0x62A5, 0xB1A9, 0x66B4, 0xB1AA, 0x8C79, 0xB1AB, 0x9C8D, 0xB1AC, 0x7206, 0xB1AD, 0x676F, - 0xB1AE, 0x7891, 0xB1AF, 0x60B2, 0xB1B0, 0x5351, 0xB1B1, 0x5317, 0xB1B2, 0x8F88, 0xB1B3, 0x80CC, 0xB1B4, 0x8D1D, 0xB1B5, 0x94A1, - 0xB1B6, 0x500D, 0xB1B7, 0x72C8, 0xB1B8, 0x5907, 0xB1B9, 0x60EB, 0xB1BA, 0x7119, 0xB1BB, 0x88AB, 0xB1BC, 0x5954, 0xB1BD, 0x82EF, - 0xB1BE, 0x672C, 0xB1BF, 0x7B28, 0xB1C0, 0x5D29, 0xB1C1, 0x7EF7, 0xB1C2, 0x752D, 0xB1C3, 0x6CF5, 0xB1C4, 0x8E66, 0xB1C5, 0x8FF8, - 0xB1C6, 0x903C, 0xB1C7, 0x9F3B, 0xB1C8, 0x6BD4, 0xB1C9, 0x9119, 0xB1CA, 0x7B14, 0xB1CB, 0x5F7C, 0xB1CC, 0x78A7, 0xB1CD, 0x84D6, - 0xB1CE, 0x853D, 0xB1CF, 0x6BD5, 0xB1D0, 0x6BD9, 0xB1D1, 0x6BD6, 0xB1D2, 0x5E01, 0xB1D3, 0x5E87, 0xB1D4, 0x75F9, 0xB1D5, 0x95ED, - 0xB1D6, 0x655D, 0xB1D7, 0x5F0A, 0xB1D8, 0x5FC5, 0xB1D9, 0x8F9F, 0xB1DA, 0x58C1, 0xB1DB, 0x81C2, 0xB1DC, 0x907F, 0xB1DD, 0x965B, - 0xB1DE, 0x97AD, 0xB1DF, 0x8FB9, 0xB1E0, 0x7F16, 0xB1E1, 0x8D2C, 0xB1E2, 0x6241, 0xB1E3, 0x4FBF, 0xB1E4, 0x53D8, 0xB1E5, 0x535E, - 0xB1E6, 0x8FA8, 0xB1E7, 0x8FA9, 0xB1E8, 0x8FAB, 0xB1E9, 0x904D, 0xB1EA, 0x6807, 0xB1EB, 0x5F6A, 0xB1EC, 0x8198, 0xB1ED, 0x8868, - 0xB1EE, 0x9CD6, 0xB1EF, 0x618B, 0xB1F0, 0x522B, 0xB1F1, 0x762A, 0xB1F2, 0x5F6C, 0xB1F3, 0x658C, 0xB1F4, 0x6FD2, 0xB1F5, 0x6EE8, - 0xB1F6, 0x5BBE, 0xB1F7, 0x6448, 0xB1F8, 0x5175, 0xB1F9, 0x51B0, 0xB1FA, 0x67C4, 0xB1FB, 0x4E19, 0xB1FC, 0x79C9, 0xB1FD, 0x997C, - 0xB1FE, 0x70B3, 0xB240, 0x775D, 0xB241, 0x775E, 0xB242, 0x775F, 0xB243, 0x7760, 0xB244, 0x7764, 0xB245, 0x7767, 0xB246, 0x7769, - 0xB247, 0x776A, 0xB248, 0x776D, 0xB249, 0x776E, 0xB24A, 0x776F, 0xB24B, 0x7770, 0xB24C, 0x7771, 0xB24D, 0x7772, 0xB24E, 0x7773, - 0xB24F, 0x7774, 0xB250, 0x7775, 0xB251, 0x7776, 0xB252, 0x7777, 0xB253, 0x7778, 0xB254, 0x777A, 0xB255, 0x777B, 0xB256, 0x777C, - 0xB257, 0x7781, 0xB258, 0x7782, 0xB259, 0x7783, 0xB25A, 0x7786, 0xB25B, 0x7787, 0xB25C, 0x7788, 0xB25D, 0x7789, 0xB25E, 0x778A, - 0xB25F, 0x778B, 0xB260, 0x778F, 0xB261, 0x7790, 0xB262, 0x7793, 0xB263, 0x7794, 0xB264, 0x7795, 0xB265, 0x7796, 0xB266, 0x7797, - 0xB267, 0x7798, 0xB268, 0x7799, 0xB269, 0x779A, 0xB26A, 0x779B, 0xB26B, 0x779C, 0xB26C, 0x779D, 0xB26D, 0x779E, 0xB26E, 0x77A1, - 0xB26F, 0x77A3, 0xB270, 0x77A4, 0xB271, 0x77A6, 0xB272, 0x77A8, 0xB273, 0x77AB, 0xB274, 0x77AD, 0xB275, 0x77AE, 0xB276, 0x77AF, - 0xB277, 0x77B1, 0xB278, 0x77B2, 0xB279, 0x77B4, 0xB27A, 0x77B6, 0xB27B, 0x77B7, 0xB27C, 0x77B8, 0xB27D, 0x77B9, 0xB27E, 0x77BA, - 0xB280, 0x77BC, 0xB281, 0x77BE, 0xB282, 0x77C0, 0xB283, 0x77C1, 0xB284, 0x77C2, 0xB285, 0x77C3, 0xB286, 0x77C4, 0xB287, 0x77C5, - 0xB288, 0x77C6, 0xB289, 0x77C7, 0xB28A, 0x77C8, 0xB28B, 0x77C9, 0xB28C, 0x77CA, 0xB28D, 0x77CB, 0xB28E, 0x77CC, 0xB28F, 0x77CE, - 0xB290, 0x77CF, 0xB291, 0x77D0, 0xB292, 0x77D1, 0xB293, 0x77D2, 0xB294, 0x77D3, 0xB295, 0x77D4, 0xB296, 0x77D5, 0xB297, 0x77D6, - 0xB298, 0x77D8, 0xB299, 0x77D9, 0xB29A, 0x77DA, 0xB29B, 0x77DD, 0xB29C, 0x77DE, 0xB29D, 0x77DF, 0xB29E, 0x77E0, 0xB29F, 0x77E1, - 0xB2A0, 0x77E4, 0xB2A1, 0x75C5, 0xB2A2, 0x5E76, 0xB2A3, 0x73BB, 0xB2A4, 0x83E0, 0xB2A5, 0x64AD, 0xB2A6, 0x62E8, 0xB2A7, 0x94B5, - 0xB2A8, 0x6CE2, 0xB2A9, 0x535A, 0xB2AA, 0x52C3, 0xB2AB, 0x640F, 0xB2AC, 0x94C2, 0xB2AD, 0x7B94, 0xB2AE, 0x4F2F, 0xB2AF, 0x5E1B, - 0xB2B0, 0x8236, 0xB2B1, 0x8116, 0xB2B2, 0x818A, 0xB2B3, 0x6E24, 0xB2B4, 0x6CCA, 0xB2B5, 0x9A73, 0xB2B6, 0x6355, 0xB2B7, 0x535C, - 0xB2B8, 0x54FA, 0xB2B9, 0x8865, 0xB2BA, 0x57E0, 0xB2BB, 0x4E0D, 0xB2BC, 0x5E03, 0xB2BD, 0x6B65, 0xB2BE, 0x7C3F, 0xB2BF, 0x90E8, - 0xB2C0, 0x6016, 0xB2C1, 0x64E6, 0xB2C2, 0x731C, 0xB2C3, 0x88C1, 0xB2C4, 0x6750, 0xB2C5, 0x624D, 0xB2C6, 0x8D22, 0xB2C7, 0x776C, - 0xB2C8, 0x8E29, 0xB2C9, 0x91C7, 0xB2CA, 0x5F69, 0xB2CB, 0x83DC, 0xB2CC, 0x8521, 0xB2CD, 0x9910, 0xB2CE, 0x53C2, 0xB2CF, 0x8695, - 0xB2D0, 0x6B8B, 0xB2D1, 0x60ED, 0xB2D2, 0x60E8, 0xB2D3, 0x707F, 0xB2D4, 0x82CD, 0xB2D5, 0x8231, 0xB2D6, 0x4ED3, 0xB2D7, 0x6CA7, - 0xB2D8, 0x85CF, 0xB2D9, 0x64CD, 0xB2DA, 0x7CD9, 0xB2DB, 0x69FD, 0xB2DC, 0x66F9, 0xB2DD, 0x8349, 0xB2DE, 0x5395, 0xB2DF, 0x7B56, - 0xB2E0, 0x4FA7, 0xB2E1, 0x518C, 0xB2E2, 0x6D4B, 0xB2E3, 0x5C42, 0xB2E4, 0x8E6D, 0xB2E5, 0x63D2, 0xB2E6, 0x53C9, 0xB2E7, 0x832C, - 0xB2E8, 0x8336, 0xB2E9, 0x67E5, 0xB2EA, 0x78B4, 0xB2EB, 0x643D, 0xB2EC, 0x5BDF, 0xB2ED, 0x5C94, 0xB2EE, 0x5DEE, 0xB2EF, 0x8BE7, - 0xB2F0, 0x62C6, 0xB2F1, 0x67F4, 0xB2F2, 0x8C7A, 0xB2F3, 0x6400, 0xB2F4, 0x63BA, 0xB2F5, 0x8749, 0xB2F6, 0x998B, 0xB2F7, 0x8C17, - 0xB2F8, 0x7F20, 0xB2F9, 0x94F2, 0xB2FA, 0x4EA7, 0xB2FB, 0x9610, 0xB2FC, 0x98A4, 0xB2FD, 0x660C, 0xB2FE, 0x7316, 0xB340, 0x77E6, - 0xB341, 0x77E8, 0xB342, 0x77EA, 0xB343, 0x77EF, 0xB344, 0x77F0, 0xB345, 0x77F1, 0xB346, 0x77F2, 0xB347, 0x77F4, 0xB348, 0x77F5, - 0xB349, 0x77F7, 0xB34A, 0x77F9, 0xB34B, 0x77FA, 0xB34C, 0x77FB, 0xB34D, 0x77FC, 0xB34E, 0x7803, 0xB34F, 0x7804, 0xB350, 0x7805, - 0xB351, 0x7806, 0xB352, 0x7807, 0xB353, 0x7808, 0xB354, 0x780A, 0xB355, 0x780B, 0xB356, 0x780E, 0xB357, 0x780F, 0xB358, 0x7810, - 0xB359, 0x7813, 0xB35A, 0x7815, 0xB35B, 0x7819, 0xB35C, 0x781B, 0xB35D, 0x781E, 0xB35E, 0x7820, 0xB35F, 0x7821, 0xB360, 0x7822, - 0xB361, 0x7824, 0xB362, 0x7828, 0xB363, 0x782A, 0xB364, 0x782B, 0xB365, 0x782E, 0xB366, 0x782F, 0xB367, 0x7831, 0xB368, 0x7832, - 0xB369, 0x7833, 0xB36A, 0x7835, 0xB36B, 0x7836, 0xB36C, 0x783D, 0xB36D, 0x783F, 0xB36E, 0x7841, 0xB36F, 0x7842, 0xB370, 0x7843, - 0xB371, 0x7844, 0xB372, 0x7846, 0xB373, 0x7848, 0xB374, 0x7849, 0xB375, 0x784A, 0xB376, 0x784B, 0xB377, 0x784D, 0xB378, 0x784F, - 0xB379, 0x7851, 0xB37A, 0x7853, 0xB37B, 0x7854, 0xB37C, 0x7858, 0xB37D, 0x7859, 0xB37E, 0x785A, 0xB380, 0x785B, 0xB381, 0x785C, - 0xB382, 0x785E, 0xB383, 0x785F, 0xB384, 0x7860, 0xB385, 0x7861, 0xB386, 0x7862, 0xB387, 0x7863, 0xB388, 0x7864, 0xB389, 0x7865, - 0xB38A, 0x7866, 0xB38B, 0x7867, 0xB38C, 0x7868, 0xB38D, 0x7869, 0xB38E, 0x786F, 0xB38F, 0x7870, 0xB390, 0x7871, 0xB391, 0x7872, - 0xB392, 0x7873, 0xB393, 0x7874, 0xB394, 0x7875, 0xB395, 0x7876, 0xB396, 0x7878, 0xB397, 0x7879, 0xB398, 0x787A, 0xB399, 0x787B, - 0xB39A, 0x787D, 0xB39B, 0x787E, 0xB39C, 0x787F, 0xB39D, 0x7880, 0xB39E, 0x7881, 0xB39F, 0x7882, 0xB3A0, 0x7883, 0xB3A1, 0x573A, - 0xB3A2, 0x5C1D, 0xB3A3, 0x5E38, 0xB3A4, 0x957F, 0xB3A5, 0x507F, 0xB3A6, 0x80A0, 0xB3A7, 0x5382, 0xB3A8, 0x655E, 0xB3A9, 0x7545, - 0xB3AA, 0x5531, 0xB3AB, 0x5021, 0xB3AC, 0x8D85, 0xB3AD, 0x6284, 0xB3AE, 0x949E, 0xB3AF, 0x671D, 0xB3B0, 0x5632, 0xB3B1, 0x6F6E, - 0xB3B2, 0x5DE2, 0xB3B3, 0x5435, 0xB3B4, 0x7092, 0xB3B5, 0x8F66, 0xB3B6, 0x626F, 0xB3B7, 0x64A4, 0xB3B8, 0x63A3, 0xB3B9, 0x5F7B, - 0xB3BA, 0x6F88, 0xB3BB, 0x90F4, 0xB3BC, 0x81E3, 0xB3BD, 0x8FB0, 0xB3BE, 0x5C18, 0xB3BF, 0x6668, 0xB3C0, 0x5FF1, 0xB3C1, 0x6C89, - 0xB3C2, 0x9648, 0xB3C3, 0x8D81, 0xB3C4, 0x886C, 0xB3C5, 0x6491, 0xB3C6, 0x79F0, 0xB3C7, 0x57CE, 0xB3C8, 0x6A59, 0xB3C9, 0x6210, - 0xB3CA, 0x5448, 0xB3CB, 0x4E58, 0xB3CC, 0x7A0B, 0xB3CD, 0x60E9, 0xB3CE, 0x6F84, 0xB3CF, 0x8BDA, 0xB3D0, 0x627F, 0xB3D1, 0x901E, - 0xB3D2, 0x9A8B, 0xB3D3, 0x79E4, 0xB3D4, 0x5403, 0xB3D5, 0x75F4, 0xB3D6, 0x6301, 0xB3D7, 0x5319, 0xB3D8, 0x6C60, 0xB3D9, 0x8FDF, - 0xB3DA, 0x5F1B, 0xB3DB, 0x9A70, 0xB3DC, 0x803B, 0xB3DD, 0x9F7F, 0xB3DE, 0x4F88, 0xB3DF, 0x5C3A, 0xB3E0, 0x8D64, 0xB3E1, 0x7FC5, - 0xB3E2, 0x65A5, 0xB3E3, 0x70BD, 0xB3E4, 0x5145, 0xB3E5, 0x51B2, 0xB3E6, 0x866B, 0xB3E7, 0x5D07, 0xB3E8, 0x5BA0, 0xB3E9, 0x62BD, - 0xB3EA, 0x916C, 0xB3EB, 0x7574, 0xB3EC, 0x8E0C, 0xB3ED, 0x7A20, 0xB3EE, 0x6101, 0xB3EF, 0x7B79, 0xB3F0, 0x4EC7, 0xB3F1, 0x7EF8, - 0xB3F2, 0x7785, 0xB3F3, 0x4E11, 0xB3F4, 0x81ED, 0xB3F5, 0x521D, 0xB3F6, 0x51FA, 0xB3F7, 0x6A71, 0xB3F8, 0x53A8, 0xB3F9, 0x8E87, - 0xB3FA, 0x9504, 0xB3FB, 0x96CF, 0xB3FC, 0x6EC1, 0xB3FD, 0x9664, 0xB3FE, 0x695A, 0xB440, 0x7884, 0xB441, 0x7885, 0xB442, 0x7886, - 0xB443, 0x7888, 0xB444, 0x788A, 0xB445, 0x788B, 0xB446, 0x788F, 0xB447, 0x7890, 0xB448, 0x7892, 0xB449, 0x7894, 0xB44A, 0x7895, - 0xB44B, 0x7896, 0xB44C, 0x7899, 0xB44D, 0x789D, 0xB44E, 0x789E, 0xB44F, 0x78A0, 0xB450, 0x78A2, 0xB451, 0x78A4, 0xB452, 0x78A6, - 0xB453, 0x78A8, 0xB454, 0x78A9, 0xB455, 0x78AA, 0xB456, 0x78AB, 0xB457, 0x78AC, 0xB458, 0x78AD, 0xB459, 0x78AE, 0xB45A, 0x78AF, - 0xB45B, 0x78B5, 0xB45C, 0x78B6, 0xB45D, 0x78B7, 0xB45E, 0x78B8, 0xB45F, 0x78BA, 0xB460, 0x78BB, 0xB461, 0x78BC, 0xB462, 0x78BD, - 0xB463, 0x78BF, 0xB464, 0x78C0, 0xB465, 0x78C2, 0xB466, 0x78C3, 0xB467, 0x78C4, 0xB468, 0x78C6, 0xB469, 0x78C7, 0xB46A, 0x78C8, - 0xB46B, 0x78CC, 0xB46C, 0x78CD, 0xB46D, 0x78CE, 0xB46E, 0x78CF, 0xB46F, 0x78D1, 0xB470, 0x78D2, 0xB471, 0x78D3, 0xB472, 0x78D6, - 0xB473, 0x78D7, 0xB474, 0x78D8, 0xB475, 0x78DA, 0xB476, 0x78DB, 0xB477, 0x78DC, 0xB478, 0x78DD, 0xB479, 0x78DE, 0xB47A, 0x78DF, - 0xB47B, 0x78E0, 0xB47C, 0x78E1, 0xB47D, 0x78E2, 0xB47E, 0x78E3, 0xB480, 0x78E4, 0xB481, 0x78E5, 0xB482, 0x78E6, 0xB483, 0x78E7, - 0xB484, 0x78E9, 0xB485, 0x78EA, 0xB486, 0x78EB, 0xB487, 0x78ED, 0xB488, 0x78EE, 0xB489, 0x78EF, 0xB48A, 0x78F0, 0xB48B, 0x78F1, - 0xB48C, 0x78F3, 0xB48D, 0x78F5, 0xB48E, 0x78F6, 0xB48F, 0x78F8, 0xB490, 0x78F9, 0xB491, 0x78FB, 0xB492, 0x78FC, 0xB493, 0x78FD, - 0xB494, 0x78FE, 0xB495, 0x78FF, 0xB496, 0x7900, 0xB497, 0x7902, 0xB498, 0x7903, 0xB499, 0x7904, 0xB49A, 0x7906, 0xB49B, 0x7907, - 0xB49C, 0x7908, 0xB49D, 0x7909, 0xB49E, 0x790A, 0xB49F, 0x790B, 0xB4A0, 0x790C, 0xB4A1, 0x7840, 0xB4A2, 0x50A8, 0xB4A3, 0x77D7, - 0xB4A4, 0x6410, 0xB4A5, 0x89E6, 0xB4A6, 0x5904, 0xB4A7, 0x63E3, 0xB4A8, 0x5DDD, 0xB4A9, 0x7A7F, 0xB4AA, 0x693D, 0xB4AB, 0x4F20, - 0xB4AC, 0x8239, 0xB4AD, 0x5598, 0xB4AE, 0x4E32, 0xB4AF, 0x75AE, 0xB4B0, 0x7A97, 0xB4B1, 0x5E62, 0xB4B2, 0x5E8A, 0xB4B3, 0x95EF, - 0xB4B4, 0x521B, 0xB4B5, 0x5439, 0xB4B6, 0x708A, 0xB4B7, 0x6376, 0xB4B8, 0x9524, 0xB4B9, 0x5782, 0xB4BA, 0x6625, 0xB4BB, 0x693F, - 0xB4BC, 0x9187, 0xB4BD, 0x5507, 0xB4BE, 0x6DF3, 0xB4BF, 0x7EAF, 0xB4C0, 0x8822, 0xB4C1, 0x6233, 0xB4C2, 0x7EF0, 0xB4C3, 0x75B5, - 0xB4C4, 0x8328, 0xB4C5, 0x78C1, 0xB4C6, 0x96CC, 0xB4C7, 0x8F9E, 0xB4C8, 0x6148, 0xB4C9, 0x74F7, 0xB4CA, 0x8BCD, 0xB4CB, 0x6B64, - 0xB4CC, 0x523A, 0xB4CD, 0x8D50, 0xB4CE, 0x6B21, 0xB4CF, 0x806A, 0xB4D0, 0x8471, 0xB4D1, 0x56F1, 0xB4D2, 0x5306, 0xB4D3, 0x4ECE, - 0xB4D4, 0x4E1B, 0xB4D5, 0x51D1, 0xB4D6, 0x7C97, 0xB4D7, 0x918B, 0xB4D8, 0x7C07, 0xB4D9, 0x4FC3, 0xB4DA, 0x8E7F, 0xB4DB, 0x7BE1, - 0xB4DC, 0x7A9C, 0xB4DD, 0x6467, 0xB4DE, 0x5D14, 0xB4DF, 0x50AC, 0xB4E0, 0x8106, 0xB4E1, 0x7601, 0xB4E2, 0x7CB9, 0xB4E3, 0x6DEC, - 0xB4E4, 0x7FE0, 0xB4E5, 0x6751, 0xB4E6, 0x5B58, 0xB4E7, 0x5BF8, 0xB4E8, 0x78CB, 0xB4E9, 0x64AE, 0xB4EA, 0x6413, 0xB4EB, 0x63AA, - 0xB4EC, 0x632B, 0xB4ED, 0x9519, 0xB4EE, 0x642D, 0xB4EF, 0x8FBE, 0xB4F0, 0x7B54, 0xB4F1, 0x7629, 0xB4F2, 0x6253, 0xB4F3, 0x5927, - 0xB4F4, 0x5446, 0xB4F5, 0x6B79, 0xB4F6, 0x50A3, 0xB4F7, 0x6234, 0xB4F8, 0x5E26, 0xB4F9, 0x6B86, 0xB4FA, 0x4EE3, 0xB4FB, 0x8D37, - 0xB4FC, 0x888B, 0xB4FD, 0x5F85, 0xB4FE, 0x902E, 0xB540, 0x790D, 0xB541, 0x790E, 0xB542, 0x790F, 0xB543, 0x7910, 0xB544, 0x7911, - 0xB545, 0x7912, 0xB546, 0x7914, 0xB547, 0x7915, 0xB548, 0x7916, 0xB549, 0x7917, 0xB54A, 0x7918, 0xB54B, 0x7919, 0xB54C, 0x791A, - 0xB54D, 0x791B, 0xB54E, 0x791C, 0xB54F, 0x791D, 0xB550, 0x791F, 0xB551, 0x7920, 0xB552, 0x7921, 0xB553, 0x7922, 0xB554, 0x7923, - 0xB555, 0x7925, 0xB556, 0x7926, 0xB557, 0x7927, 0xB558, 0x7928, 0xB559, 0x7929, 0xB55A, 0x792A, 0xB55B, 0x792B, 0xB55C, 0x792C, - 0xB55D, 0x792D, 0xB55E, 0x792E, 0xB55F, 0x792F, 0xB560, 0x7930, 0xB561, 0x7931, 0xB562, 0x7932, 0xB563, 0x7933, 0xB564, 0x7935, - 0xB565, 0x7936, 0xB566, 0x7937, 0xB567, 0x7938, 0xB568, 0x7939, 0xB569, 0x793D, 0xB56A, 0x793F, 0xB56B, 0x7942, 0xB56C, 0x7943, - 0xB56D, 0x7944, 0xB56E, 0x7945, 0xB56F, 0x7947, 0xB570, 0x794A, 0xB571, 0x794B, 0xB572, 0x794C, 0xB573, 0x794D, 0xB574, 0x794E, - 0xB575, 0x794F, 0xB576, 0x7950, 0xB577, 0x7951, 0xB578, 0x7952, 0xB579, 0x7954, 0xB57A, 0x7955, 0xB57B, 0x7958, 0xB57C, 0x7959, - 0xB57D, 0x7961, 0xB57E, 0x7963, 0xB580, 0x7964, 0xB581, 0x7966, 0xB582, 0x7969, 0xB583, 0x796A, 0xB584, 0x796B, 0xB585, 0x796C, - 0xB586, 0x796E, 0xB587, 0x7970, 0xB588, 0x7971, 0xB589, 0x7972, 0xB58A, 0x7973, 0xB58B, 0x7974, 0xB58C, 0x7975, 0xB58D, 0x7976, - 0xB58E, 0x7979, 0xB58F, 0x797B, 0xB590, 0x797C, 0xB591, 0x797D, 0xB592, 0x797E, 0xB593, 0x797F, 0xB594, 0x7982, 0xB595, 0x7983, - 0xB596, 0x7986, 0xB597, 0x7987, 0xB598, 0x7988, 0xB599, 0x7989, 0xB59A, 0x798B, 0xB59B, 0x798C, 0xB59C, 0x798D, 0xB59D, 0x798E, - 0xB59E, 0x7990, 0xB59F, 0x7991, 0xB5A0, 0x7992, 0xB5A1, 0x6020, 0xB5A2, 0x803D, 0xB5A3, 0x62C5, 0xB5A4, 0x4E39, 0xB5A5, 0x5355, - 0xB5A6, 0x90F8, 0xB5A7, 0x63B8, 0xB5A8, 0x80C6, 0xB5A9, 0x65E6, 0xB5AA, 0x6C2E, 0xB5AB, 0x4F46, 0xB5AC, 0x60EE, 0xB5AD, 0x6DE1, - 0xB5AE, 0x8BDE, 0xB5AF, 0x5F39, 0xB5B0, 0x86CB, 0xB5B1, 0x5F53, 0xB5B2, 0x6321, 0xB5B3, 0x515A, 0xB5B4, 0x8361, 0xB5B5, 0x6863, - 0xB5B6, 0x5200, 0xB5B7, 0x6363, 0xB5B8, 0x8E48, 0xB5B9, 0x5012, 0xB5BA, 0x5C9B, 0xB5BB, 0x7977, 0xB5BC, 0x5BFC, 0xB5BD, 0x5230, - 0xB5BE, 0x7A3B, 0xB5BF, 0x60BC, 0xB5C0, 0x9053, 0xB5C1, 0x76D7, 0xB5C2, 0x5FB7, 0xB5C3, 0x5F97, 0xB5C4, 0x7684, 0xB5C5, 0x8E6C, - 0xB5C6, 0x706F, 0xB5C7, 0x767B, 0xB5C8, 0x7B49, 0xB5C9, 0x77AA, 0xB5CA, 0x51F3, 0xB5CB, 0x9093, 0xB5CC, 0x5824, 0xB5CD, 0x4F4E, - 0xB5CE, 0x6EF4, 0xB5CF, 0x8FEA, 0xB5D0, 0x654C, 0xB5D1, 0x7B1B, 0xB5D2, 0x72C4, 0xB5D3, 0x6DA4, 0xB5D4, 0x7FDF, 0xB5D5, 0x5AE1, - 0xB5D6, 0x62B5, 0xB5D7, 0x5E95, 0xB5D8, 0x5730, 0xB5D9, 0x8482, 0xB5DA, 0x7B2C, 0xB5DB, 0x5E1D, 0xB5DC, 0x5F1F, 0xB5DD, 0x9012, - 0xB5DE, 0x7F14, 0xB5DF, 0x98A0, 0xB5E0, 0x6382, 0xB5E1, 0x6EC7, 0xB5E2, 0x7898, 0xB5E3, 0x70B9, 0xB5E4, 0x5178, 0xB5E5, 0x975B, - 0xB5E6, 0x57AB, 0xB5E7, 0x7535, 0xB5E8, 0x4F43, 0xB5E9, 0x7538, 0xB5EA, 0x5E97, 0xB5EB, 0x60E6, 0xB5EC, 0x5960, 0xB5ED, 0x6DC0, - 0xB5EE, 0x6BBF, 0xB5EF, 0x7889, 0xB5F0, 0x53FC, 0xB5F1, 0x96D5, 0xB5F2, 0x51CB, 0xB5F3, 0x5201, 0xB5F4, 0x6389, 0xB5F5, 0x540A, - 0xB5F6, 0x9493, 0xB5F7, 0x8C03, 0xB5F8, 0x8DCC, 0xB5F9, 0x7239, 0xB5FA, 0x789F, 0xB5FB, 0x8776, 0xB5FC, 0x8FED, 0xB5FD, 0x8C0D, - 0xB5FE, 0x53E0, 0xB640, 0x7993, 0xB641, 0x7994, 0xB642, 0x7995, 0xB643, 0x7996, 0xB644, 0x7997, 0xB645, 0x7998, 0xB646, 0x7999, - 0xB647, 0x799B, 0xB648, 0x799C, 0xB649, 0x799D, 0xB64A, 0x799E, 0xB64B, 0x799F, 0xB64C, 0x79A0, 0xB64D, 0x79A1, 0xB64E, 0x79A2, - 0xB64F, 0x79A3, 0xB650, 0x79A4, 0xB651, 0x79A5, 0xB652, 0x79A6, 0xB653, 0x79A8, 0xB654, 0x79A9, 0xB655, 0x79AA, 0xB656, 0x79AB, - 0xB657, 0x79AC, 0xB658, 0x79AD, 0xB659, 0x79AE, 0xB65A, 0x79AF, 0xB65B, 0x79B0, 0xB65C, 0x79B1, 0xB65D, 0x79B2, 0xB65E, 0x79B4, - 0xB65F, 0x79B5, 0xB660, 0x79B6, 0xB661, 0x79B7, 0xB662, 0x79B8, 0xB663, 0x79BC, 0xB664, 0x79BF, 0xB665, 0x79C2, 0xB666, 0x79C4, - 0xB667, 0x79C5, 0xB668, 0x79C7, 0xB669, 0x79C8, 0xB66A, 0x79CA, 0xB66B, 0x79CC, 0xB66C, 0x79CE, 0xB66D, 0x79CF, 0xB66E, 0x79D0, - 0xB66F, 0x79D3, 0xB670, 0x79D4, 0xB671, 0x79D6, 0xB672, 0x79D7, 0xB673, 0x79D9, 0xB674, 0x79DA, 0xB675, 0x79DB, 0xB676, 0x79DC, - 0xB677, 0x79DD, 0xB678, 0x79DE, 0xB679, 0x79E0, 0xB67A, 0x79E1, 0xB67B, 0x79E2, 0xB67C, 0x79E5, 0xB67D, 0x79E8, 0xB67E, 0x79EA, - 0xB680, 0x79EC, 0xB681, 0x79EE, 0xB682, 0x79F1, 0xB683, 0x79F2, 0xB684, 0x79F3, 0xB685, 0x79F4, 0xB686, 0x79F5, 0xB687, 0x79F6, - 0xB688, 0x79F7, 0xB689, 0x79F9, 0xB68A, 0x79FA, 0xB68B, 0x79FC, 0xB68C, 0x79FE, 0xB68D, 0x79FF, 0xB68E, 0x7A01, 0xB68F, 0x7A04, - 0xB690, 0x7A05, 0xB691, 0x7A07, 0xB692, 0x7A08, 0xB693, 0x7A09, 0xB694, 0x7A0A, 0xB695, 0x7A0C, 0xB696, 0x7A0F, 0xB697, 0x7A10, - 0xB698, 0x7A11, 0xB699, 0x7A12, 0xB69A, 0x7A13, 0xB69B, 0x7A15, 0xB69C, 0x7A16, 0xB69D, 0x7A18, 0xB69E, 0x7A19, 0xB69F, 0x7A1B, - 0xB6A0, 0x7A1C, 0xB6A1, 0x4E01, 0xB6A2, 0x76EF, 0xB6A3, 0x53EE, 0xB6A4, 0x9489, 0xB6A5, 0x9876, 0xB6A6, 0x9F0E, 0xB6A7, 0x952D, - 0xB6A8, 0x5B9A, 0xB6A9, 0x8BA2, 0xB6AA, 0x4E22, 0xB6AB, 0x4E1C, 0xB6AC, 0x51AC, 0xB6AD, 0x8463, 0xB6AE, 0x61C2, 0xB6AF, 0x52A8, - 0xB6B0, 0x680B, 0xB6B1, 0x4F97, 0xB6B2, 0x606B, 0xB6B3, 0x51BB, 0xB6B4, 0x6D1E, 0xB6B5, 0x515C, 0xB6B6, 0x6296, 0xB6B7, 0x6597, - 0xB6B8, 0x9661, 0xB6B9, 0x8C46, 0xB6BA, 0x9017, 0xB6BB, 0x75D8, 0xB6BC, 0x90FD, 0xB6BD, 0x7763, 0xB6BE, 0x6BD2, 0xB6BF, 0x728A, - 0xB6C0, 0x72EC, 0xB6C1, 0x8BFB, 0xB6C2, 0x5835, 0xB6C3, 0x7779, 0xB6C4, 0x8D4C, 0xB6C5, 0x675C, 0xB6C6, 0x9540, 0xB6C7, 0x809A, - 0xB6C8, 0x5EA6, 0xB6C9, 0x6E21, 0xB6CA, 0x5992, 0xB6CB, 0x7AEF, 0xB6CC, 0x77ED, 0xB6CD, 0x953B, 0xB6CE, 0x6BB5, 0xB6CF, 0x65AD, - 0xB6D0, 0x7F0E, 0xB6D1, 0x5806, 0xB6D2, 0x5151, 0xB6D3, 0x961F, 0xB6D4, 0x5BF9, 0xB6D5, 0x58A9, 0xB6D6, 0x5428, 0xB6D7, 0x8E72, - 0xB6D8, 0x6566, 0xB6D9, 0x987F, 0xB6DA, 0x56E4, 0xB6DB, 0x949D, 0xB6DC, 0x76FE, 0xB6DD, 0x9041, 0xB6DE, 0x6387, 0xB6DF, 0x54C6, - 0xB6E0, 0x591A, 0xB6E1, 0x593A, 0xB6E2, 0x579B, 0xB6E3, 0x8EB2, 0xB6E4, 0x6735, 0xB6E5, 0x8DFA, 0xB6E6, 0x8235, 0xB6E7, 0x5241, - 0xB6E8, 0x60F0, 0xB6E9, 0x5815, 0xB6EA, 0x86FE, 0xB6EB, 0x5CE8, 0xB6EC, 0x9E45, 0xB6ED, 0x4FC4, 0xB6EE, 0x989D, 0xB6EF, 0x8BB9, - 0xB6F0, 0x5A25, 0xB6F1, 0x6076, 0xB6F2, 0x5384, 0xB6F3, 0x627C, 0xB6F4, 0x904F, 0xB6F5, 0x9102, 0xB6F6, 0x997F, 0xB6F7, 0x6069, - 0xB6F8, 0x800C, 0xB6F9, 0x513F, 0xB6FA, 0x8033, 0xB6FB, 0x5C14, 0xB6FC, 0x9975, 0xB6FD, 0x6D31, 0xB6FE, 0x4E8C, 0xB740, 0x7A1D, - 0xB741, 0x7A1F, 0xB742, 0x7A21, 0xB743, 0x7A22, 0xB744, 0x7A24, 0xB745, 0x7A25, 0xB746, 0x7A26, 0xB747, 0x7A27, 0xB748, 0x7A28, - 0xB749, 0x7A29, 0xB74A, 0x7A2A, 0xB74B, 0x7A2B, 0xB74C, 0x7A2C, 0xB74D, 0x7A2D, 0xB74E, 0x7A2E, 0xB74F, 0x7A2F, 0xB750, 0x7A30, - 0xB751, 0x7A31, 0xB752, 0x7A32, 0xB753, 0x7A34, 0xB754, 0x7A35, 0xB755, 0x7A36, 0xB756, 0x7A38, 0xB757, 0x7A3A, 0xB758, 0x7A3E, - 0xB759, 0x7A40, 0xB75A, 0x7A41, 0xB75B, 0x7A42, 0xB75C, 0x7A43, 0xB75D, 0x7A44, 0xB75E, 0x7A45, 0xB75F, 0x7A47, 0xB760, 0x7A48, - 0xB761, 0x7A49, 0xB762, 0x7A4A, 0xB763, 0x7A4B, 0xB764, 0x7A4C, 0xB765, 0x7A4D, 0xB766, 0x7A4E, 0xB767, 0x7A4F, 0xB768, 0x7A50, - 0xB769, 0x7A52, 0xB76A, 0x7A53, 0xB76B, 0x7A54, 0xB76C, 0x7A55, 0xB76D, 0x7A56, 0xB76E, 0x7A58, 0xB76F, 0x7A59, 0xB770, 0x7A5A, - 0xB771, 0x7A5B, 0xB772, 0x7A5C, 0xB773, 0x7A5D, 0xB774, 0x7A5E, 0xB775, 0x7A5F, 0xB776, 0x7A60, 0xB777, 0x7A61, 0xB778, 0x7A62, - 0xB779, 0x7A63, 0xB77A, 0x7A64, 0xB77B, 0x7A65, 0xB77C, 0x7A66, 0xB77D, 0x7A67, 0xB77E, 0x7A68, 0xB780, 0x7A69, 0xB781, 0x7A6A, - 0xB782, 0x7A6B, 0xB783, 0x7A6C, 0xB784, 0x7A6D, 0xB785, 0x7A6E, 0xB786, 0x7A6F, 0xB787, 0x7A71, 0xB788, 0x7A72, 0xB789, 0x7A73, - 0xB78A, 0x7A75, 0xB78B, 0x7A7B, 0xB78C, 0x7A7C, 0xB78D, 0x7A7D, 0xB78E, 0x7A7E, 0xB78F, 0x7A82, 0xB790, 0x7A85, 0xB791, 0x7A87, - 0xB792, 0x7A89, 0xB793, 0x7A8A, 0xB794, 0x7A8B, 0xB795, 0x7A8C, 0xB796, 0x7A8E, 0xB797, 0x7A8F, 0xB798, 0x7A90, 0xB799, 0x7A93, - 0xB79A, 0x7A94, 0xB79B, 0x7A99, 0xB79C, 0x7A9A, 0xB79D, 0x7A9B, 0xB79E, 0x7A9E, 0xB79F, 0x7AA1, 0xB7A0, 0x7AA2, 0xB7A1, 0x8D30, - 0xB7A2, 0x53D1, 0xB7A3, 0x7F5A, 0xB7A4, 0x7B4F, 0xB7A5, 0x4F10, 0xB7A6, 0x4E4F, 0xB7A7, 0x9600, 0xB7A8, 0x6CD5, 0xB7A9, 0x73D0, - 0xB7AA, 0x85E9, 0xB7AB, 0x5E06, 0xB7AC, 0x756A, 0xB7AD, 0x7FFB, 0xB7AE, 0x6A0A, 0xB7AF, 0x77FE, 0xB7B0, 0x9492, 0xB7B1, 0x7E41, - 0xB7B2, 0x51E1, 0xB7B3, 0x70E6, 0xB7B4, 0x53CD, 0xB7B5, 0x8FD4, 0xB7B6, 0x8303, 0xB7B7, 0x8D29, 0xB7B8, 0x72AF, 0xB7B9, 0x996D, - 0xB7BA, 0x6CDB, 0xB7BB, 0x574A, 0xB7BC, 0x82B3, 0xB7BD, 0x65B9, 0xB7BE, 0x80AA, 0xB7BF, 0x623F, 0xB7C0, 0x9632, 0xB7C1, 0x59A8, - 0xB7C2, 0x4EFF, 0xB7C3, 0x8BBF, 0xB7C4, 0x7EBA, 0xB7C5, 0x653E, 0xB7C6, 0x83F2, 0xB7C7, 0x975E, 0xB7C8, 0x5561, 0xB7C9, 0x98DE, - 0xB7CA, 0x80A5, 0xB7CB, 0x532A, 0xB7CC, 0x8BFD, 0xB7CD, 0x5420, 0xB7CE, 0x80BA, 0xB7CF, 0x5E9F, 0xB7D0, 0x6CB8, 0xB7D1, 0x8D39, - 0xB7D2, 0x82AC, 0xB7D3, 0x915A, 0xB7D4, 0x5429, 0xB7D5, 0x6C1B, 0xB7D6, 0x5206, 0xB7D7, 0x7EB7, 0xB7D8, 0x575F, 0xB7D9, 0x711A, - 0xB7DA, 0x6C7E, 0xB7DB, 0x7C89, 0xB7DC, 0x594B, 0xB7DD, 0x4EFD, 0xB7DE, 0x5FFF, 0xB7DF, 0x6124, 0xB7E0, 0x7CAA, 0xB7E1, 0x4E30, - 0xB7E2, 0x5C01, 0xB7E3, 0x67AB, 0xB7E4, 0x8702, 0xB7E5, 0x5CF0, 0xB7E6, 0x950B, 0xB7E7, 0x98CE, 0xB7E8, 0x75AF, 0xB7E9, 0x70FD, - 0xB7EA, 0x9022, 0xB7EB, 0x51AF, 0xB7EC, 0x7F1D, 0xB7ED, 0x8BBD, 0xB7EE, 0x5949, 0xB7EF, 0x51E4, 0xB7F0, 0x4F5B, 0xB7F1, 0x5426, - 0xB7F2, 0x592B, 0xB7F3, 0x6577, 0xB7F4, 0x80A4, 0xB7F5, 0x5B75, 0xB7F6, 0x6276, 0xB7F7, 0x62C2, 0xB7F8, 0x8F90, 0xB7F9, 0x5E45, - 0xB7FA, 0x6C1F, 0xB7FB, 0x7B26, 0xB7FC, 0x4F0F, 0xB7FD, 0x4FD8, 0xB7FE, 0x670D, 0xB840, 0x7AA3, 0xB841, 0x7AA4, 0xB842, 0x7AA7, - 0xB843, 0x7AA9, 0xB844, 0x7AAA, 0xB845, 0x7AAB, 0xB846, 0x7AAE, 0xB847, 0x7AAF, 0xB848, 0x7AB0, 0xB849, 0x7AB1, 0xB84A, 0x7AB2, - 0xB84B, 0x7AB4, 0xB84C, 0x7AB5, 0xB84D, 0x7AB6, 0xB84E, 0x7AB7, 0xB84F, 0x7AB8, 0xB850, 0x7AB9, 0xB851, 0x7ABA, 0xB852, 0x7ABB, - 0xB853, 0x7ABC, 0xB854, 0x7ABD, 0xB855, 0x7ABE, 0xB856, 0x7AC0, 0xB857, 0x7AC1, 0xB858, 0x7AC2, 0xB859, 0x7AC3, 0xB85A, 0x7AC4, - 0xB85B, 0x7AC5, 0xB85C, 0x7AC6, 0xB85D, 0x7AC7, 0xB85E, 0x7AC8, 0xB85F, 0x7AC9, 0xB860, 0x7ACA, 0xB861, 0x7ACC, 0xB862, 0x7ACD, - 0xB863, 0x7ACE, 0xB864, 0x7ACF, 0xB865, 0x7AD0, 0xB866, 0x7AD1, 0xB867, 0x7AD2, 0xB868, 0x7AD3, 0xB869, 0x7AD4, 0xB86A, 0x7AD5, - 0xB86B, 0x7AD7, 0xB86C, 0x7AD8, 0xB86D, 0x7ADA, 0xB86E, 0x7ADB, 0xB86F, 0x7ADC, 0xB870, 0x7ADD, 0xB871, 0x7AE1, 0xB872, 0x7AE2, - 0xB873, 0x7AE4, 0xB874, 0x7AE7, 0xB875, 0x7AE8, 0xB876, 0x7AE9, 0xB877, 0x7AEA, 0xB878, 0x7AEB, 0xB879, 0x7AEC, 0xB87A, 0x7AEE, - 0xB87B, 0x7AF0, 0xB87C, 0x7AF1, 0xB87D, 0x7AF2, 0xB87E, 0x7AF3, 0xB880, 0x7AF4, 0xB881, 0x7AF5, 0xB882, 0x7AF6, 0xB883, 0x7AF7, - 0xB884, 0x7AF8, 0xB885, 0x7AFB, 0xB886, 0x7AFC, 0xB887, 0x7AFE, 0xB888, 0x7B00, 0xB889, 0x7B01, 0xB88A, 0x7B02, 0xB88B, 0x7B05, - 0xB88C, 0x7B07, 0xB88D, 0x7B09, 0xB88E, 0x7B0C, 0xB88F, 0x7B0D, 0xB890, 0x7B0E, 0xB891, 0x7B10, 0xB892, 0x7B12, 0xB893, 0x7B13, - 0xB894, 0x7B16, 0xB895, 0x7B17, 0xB896, 0x7B18, 0xB897, 0x7B1A, 0xB898, 0x7B1C, 0xB899, 0x7B1D, 0xB89A, 0x7B1F, 0xB89B, 0x7B21, - 0xB89C, 0x7B22, 0xB89D, 0x7B23, 0xB89E, 0x7B27, 0xB89F, 0x7B29, 0xB8A0, 0x7B2D, 0xB8A1, 0x6D6E, 0xB8A2, 0x6DAA, 0xB8A3, 0x798F, - 0xB8A4, 0x88B1, 0xB8A5, 0x5F17, 0xB8A6, 0x752B, 0xB8A7, 0x629A, 0xB8A8, 0x8F85, 0xB8A9, 0x4FEF, 0xB8AA, 0x91DC, 0xB8AB, 0x65A7, - 0xB8AC, 0x812F, 0xB8AD, 0x8151, 0xB8AE, 0x5E9C, 0xB8AF, 0x8150, 0xB8B0, 0x8D74, 0xB8B1, 0x526F, 0xB8B2, 0x8986, 0xB8B3, 0x8D4B, - 0xB8B4, 0x590D, 0xB8B5, 0x5085, 0xB8B6, 0x4ED8, 0xB8B7, 0x961C, 0xB8B8, 0x7236, 0xB8B9, 0x8179, 0xB8BA, 0x8D1F, 0xB8BB, 0x5BCC, - 0xB8BC, 0x8BA3, 0xB8BD, 0x9644, 0xB8BE, 0x5987, 0xB8BF, 0x7F1A, 0xB8C0, 0x5490, 0xB8C1, 0x5676, 0xB8C2, 0x560E, 0xB8C3, 0x8BE5, - 0xB8C4, 0x6539, 0xB8C5, 0x6982, 0xB8C6, 0x9499, 0xB8C7, 0x76D6, 0xB8C8, 0x6E89, 0xB8C9, 0x5E72, 0xB8CA, 0x7518, 0xB8CB, 0x6746, - 0xB8CC, 0x67D1, 0xB8CD, 0x7AFF, 0xB8CE, 0x809D, 0xB8CF, 0x8D76, 0xB8D0, 0x611F, 0xB8D1, 0x79C6, 0xB8D2, 0x6562, 0xB8D3, 0x8D63, - 0xB8D4, 0x5188, 0xB8D5, 0x521A, 0xB8D6, 0x94A2, 0xB8D7, 0x7F38, 0xB8D8, 0x809B, 0xB8D9, 0x7EB2, 0xB8DA, 0x5C97, 0xB8DB, 0x6E2F, - 0xB8DC, 0x6760, 0xB8DD, 0x7BD9, 0xB8DE, 0x768B, 0xB8DF, 0x9AD8, 0xB8E0, 0x818F, 0xB8E1, 0x7F94, 0xB8E2, 0x7CD5, 0xB8E3, 0x641E, - 0xB8E4, 0x9550, 0xB8E5, 0x7A3F, 0xB8E6, 0x544A, 0xB8E7, 0x54E5, 0xB8E8, 0x6B4C, 0xB8E9, 0x6401, 0xB8EA, 0x6208, 0xB8EB, 0x9E3D, - 0xB8EC, 0x80F3, 0xB8ED, 0x7599, 0xB8EE, 0x5272, 0xB8EF, 0x9769, 0xB8F0, 0x845B, 0xB8F1, 0x683C, 0xB8F2, 0x86E4, 0xB8F3, 0x9601, - 0xB8F4, 0x9694, 0xB8F5, 0x94EC, 0xB8F6, 0x4E2A, 0xB8F7, 0x5404, 0xB8F8, 0x7ED9, 0xB8F9, 0x6839, 0xB8FA, 0x8DDF, 0xB8FB, 0x8015, - 0xB8FC, 0x66F4, 0xB8FD, 0x5E9A, 0xB8FE, 0x7FB9, 0xB940, 0x7B2F, 0xB941, 0x7B30, 0xB942, 0x7B32, 0xB943, 0x7B34, 0xB944, 0x7B35, - 0xB945, 0x7B36, 0xB946, 0x7B37, 0xB947, 0x7B39, 0xB948, 0x7B3B, 0xB949, 0x7B3D, 0xB94A, 0x7B3F, 0xB94B, 0x7B40, 0xB94C, 0x7B41, - 0xB94D, 0x7B42, 0xB94E, 0x7B43, 0xB94F, 0x7B44, 0xB950, 0x7B46, 0xB951, 0x7B48, 0xB952, 0x7B4A, 0xB953, 0x7B4D, 0xB954, 0x7B4E, - 0xB955, 0x7B53, 0xB956, 0x7B55, 0xB957, 0x7B57, 0xB958, 0x7B59, 0xB959, 0x7B5C, 0xB95A, 0x7B5E, 0xB95B, 0x7B5F, 0xB95C, 0x7B61, - 0xB95D, 0x7B63, 0xB95E, 0x7B64, 0xB95F, 0x7B65, 0xB960, 0x7B66, 0xB961, 0x7B67, 0xB962, 0x7B68, 0xB963, 0x7B69, 0xB964, 0x7B6A, - 0xB965, 0x7B6B, 0xB966, 0x7B6C, 0xB967, 0x7B6D, 0xB968, 0x7B6F, 0xB969, 0x7B70, 0xB96A, 0x7B73, 0xB96B, 0x7B74, 0xB96C, 0x7B76, - 0xB96D, 0x7B78, 0xB96E, 0x7B7A, 0xB96F, 0x7B7C, 0xB970, 0x7B7D, 0xB971, 0x7B7F, 0xB972, 0x7B81, 0xB973, 0x7B82, 0xB974, 0x7B83, - 0xB975, 0x7B84, 0xB976, 0x7B86, 0xB977, 0x7B87, 0xB978, 0x7B88, 0xB979, 0x7B89, 0xB97A, 0x7B8A, 0xB97B, 0x7B8B, 0xB97C, 0x7B8C, - 0xB97D, 0x7B8E, 0xB97E, 0x7B8F, 0xB980, 0x7B91, 0xB981, 0x7B92, 0xB982, 0x7B93, 0xB983, 0x7B96, 0xB984, 0x7B98, 0xB985, 0x7B99, - 0xB986, 0x7B9A, 0xB987, 0x7B9B, 0xB988, 0x7B9E, 0xB989, 0x7B9F, 0xB98A, 0x7BA0, 0xB98B, 0x7BA3, 0xB98C, 0x7BA4, 0xB98D, 0x7BA5, - 0xB98E, 0x7BAE, 0xB98F, 0x7BAF, 0xB990, 0x7BB0, 0xB991, 0x7BB2, 0xB992, 0x7BB3, 0xB993, 0x7BB5, 0xB994, 0x7BB6, 0xB995, 0x7BB7, - 0xB996, 0x7BB9, 0xB997, 0x7BBA, 0xB998, 0x7BBB, 0xB999, 0x7BBC, 0xB99A, 0x7BBD, 0xB99B, 0x7BBE, 0xB99C, 0x7BBF, 0xB99D, 0x7BC0, - 0xB99E, 0x7BC2, 0xB99F, 0x7BC3, 0xB9A0, 0x7BC4, 0xB9A1, 0x57C2, 0xB9A2, 0x803F, 0xB9A3, 0x6897, 0xB9A4, 0x5DE5, 0xB9A5, 0x653B, - 0xB9A6, 0x529F, 0xB9A7, 0x606D, 0xB9A8, 0x9F9A, 0xB9A9, 0x4F9B, 0xB9AA, 0x8EAC, 0xB9AB, 0x516C, 0xB9AC, 0x5BAB, 0xB9AD, 0x5F13, - 0xB9AE, 0x5DE9, 0xB9AF, 0x6C5E, 0xB9B0, 0x62F1, 0xB9B1, 0x8D21, 0xB9B2, 0x5171, 0xB9B3, 0x94A9, 0xB9B4, 0x52FE, 0xB9B5, 0x6C9F, - 0xB9B6, 0x82DF, 0xB9B7, 0x72D7, 0xB9B8, 0x57A2, 0xB9B9, 0x6784, 0xB9BA, 0x8D2D, 0xB9BB, 0x591F, 0xB9BC, 0x8F9C, 0xB9BD, 0x83C7, - 0xB9BE, 0x5495, 0xB9BF, 0x7B8D, 0xB9C0, 0x4F30, 0xB9C1, 0x6CBD, 0xB9C2, 0x5B64, 0xB9C3, 0x59D1, 0xB9C4, 0x9F13, 0xB9C5, 0x53E4, - 0xB9C6, 0x86CA, 0xB9C7, 0x9AA8, 0xB9C8, 0x8C37, 0xB9C9, 0x80A1, 0xB9CA, 0x6545, 0xB9CB, 0x987E, 0xB9CC, 0x56FA, 0xB9CD, 0x96C7, - 0xB9CE, 0x522E, 0xB9CF, 0x74DC, 0xB9D0, 0x5250, 0xB9D1, 0x5BE1, 0xB9D2, 0x6302, 0xB9D3, 0x8902, 0xB9D4, 0x4E56, 0xB9D5, 0x62D0, - 0xB9D6, 0x602A, 0xB9D7, 0x68FA, 0xB9D8, 0x5173, 0xB9D9, 0x5B98, 0xB9DA, 0x51A0, 0xB9DB, 0x89C2, 0xB9DC, 0x7BA1, 0xB9DD, 0x9986, - 0xB9DE, 0x7F50, 0xB9DF, 0x60EF, 0xB9E0, 0x704C, 0xB9E1, 0x8D2F, 0xB9E2, 0x5149, 0xB9E3, 0x5E7F, 0xB9E4, 0x901B, 0xB9E5, 0x7470, - 0xB9E6, 0x89C4, 0xB9E7, 0x572D, 0xB9E8, 0x7845, 0xB9E9, 0x5F52, 0xB9EA, 0x9F9F, 0xB9EB, 0x95FA, 0xB9EC, 0x8F68, 0xB9ED, 0x9B3C, - 0xB9EE, 0x8BE1, 0xB9EF, 0x7678, 0xB9F0, 0x6842, 0xB9F1, 0x67DC, 0xB9F2, 0x8DEA, 0xB9F3, 0x8D35, 0xB9F4, 0x523D, 0xB9F5, 0x8F8A, - 0xB9F6, 0x6EDA, 0xB9F7, 0x68CD, 0xB9F8, 0x9505, 0xB9F9, 0x90ED, 0xB9FA, 0x56FD, 0xB9FB, 0x679C, 0xB9FC, 0x88F9, 0xB9FD, 0x8FC7, - 0xB9FE, 0x54C8, 0xBA40, 0x7BC5, 0xBA41, 0x7BC8, 0xBA42, 0x7BC9, 0xBA43, 0x7BCA, 0xBA44, 0x7BCB, 0xBA45, 0x7BCD, 0xBA46, 0x7BCE, - 0xBA47, 0x7BCF, 0xBA48, 0x7BD0, 0xBA49, 0x7BD2, 0xBA4A, 0x7BD4, 0xBA4B, 0x7BD5, 0xBA4C, 0x7BD6, 0xBA4D, 0x7BD7, 0xBA4E, 0x7BD8, - 0xBA4F, 0x7BDB, 0xBA50, 0x7BDC, 0xBA51, 0x7BDE, 0xBA52, 0x7BDF, 0xBA53, 0x7BE0, 0xBA54, 0x7BE2, 0xBA55, 0x7BE3, 0xBA56, 0x7BE4, - 0xBA57, 0x7BE7, 0xBA58, 0x7BE8, 0xBA59, 0x7BE9, 0xBA5A, 0x7BEB, 0xBA5B, 0x7BEC, 0xBA5C, 0x7BED, 0xBA5D, 0x7BEF, 0xBA5E, 0x7BF0, - 0xBA5F, 0x7BF2, 0xBA60, 0x7BF3, 0xBA61, 0x7BF4, 0xBA62, 0x7BF5, 0xBA63, 0x7BF6, 0xBA64, 0x7BF8, 0xBA65, 0x7BF9, 0xBA66, 0x7BFA, - 0xBA67, 0x7BFB, 0xBA68, 0x7BFD, 0xBA69, 0x7BFF, 0xBA6A, 0x7C00, 0xBA6B, 0x7C01, 0xBA6C, 0x7C02, 0xBA6D, 0x7C03, 0xBA6E, 0x7C04, - 0xBA6F, 0x7C05, 0xBA70, 0x7C06, 0xBA71, 0x7C08, 0xBA72, 0x7C09, 0xBA73, 0x7C0A, 0xBA74, 0x7C0D, 0xBA75, 0x7C0E, 0xBA76, 0x7C10, - 0xBA77, 0x7C11, 0xBA78, 0x7C12, 0xBA79, 0x7C13, 0xBA7A, 0x7C14, 0xBA7B, 0x7C15, 0xBA7C, 0x7C17, 0xBA7D, 0x7C18, 0xBA7E, 0x7C19, - 0xBA80, 0x7C1A, 0xBA81, 0x7C1B, 0xBA82, 0x7C1C, 0xBA83, 0x7C1D, 0xBA84, 0x7C1E, 0xBA85, 0x7C20, 0xBA86, 0x7C21, 0xBA87, 0x7C22, - 0xBA88, 0x7C23, 0xBA89, 0x7C24, 0xBA8A, 0x7C25, 0xBA8B, 0x7C28, 0xBA8C, 0x7C29, 0xBA8D, 0x7C2B, 0xBA8E, 0x7C2C, 0xBA8F, 0x7C2D, - 0xBA90, 0x7C2E, 0xBA91, 0x7C2F, 0xBA92, 0x7C30, 0xBA93, 0x7C31, 0xBA94, 0x7C32, 0xBA95, 0x7C33, 0xBA96, 0x7C34, 0xBA97, 0x7C35, - 0xBA98, 0x7C36, 0xBA99, 0x7C37, 0xBA9A, 0x7C39, 0xBA9B, 0x7C3A, 0xBA9C, 0x7C3B, 0xBA9D, 0x7C3C, 0xBA9E, 0x7C3D, 0xBA9F, 0x7C3E, - 0xBAA0, 0x7C42, 0xBAA1, 0x9AB8, 0xBAA2, 0x5B69, 0xBAA3, 0x6D77, 0xBAA4, 0x6C26, 0xBAA5, 0x4EA5, 0xBAA6, 0x5BB3, 0xBAA7, 0x9A87, - 0xBAA8, 0x9163, 0xBAA9, 0x61A8, 0xBAAA, 0x90AF, 0xBAAB, 0x97E9, 0xBAAC, 0x542B, 0xBAAD, 0x6DB5, 0xBAAE, 0x5BD2, 0xBAAF, 0x51FD, - 0xBAB0, 0x558A, 0xBAB1, 0x7F55, 0xBAB2, 0x7FF0, 0xBAB3, 0x64BC, 0xBAB4, 0x634D, 0xBAB5, 0x65F1, 0xBAB6, 0x61BE, 0xBAB7, 0x608D, - 0xBAB8, 0x710A, 0xBAB9, 0x6C57, 0xBABA, 0x6C49, 0xBABB, 0x592F, 0xBABC, 0x676D, 0xBABD, 0x822A, 0xBABE, 0x58D5, 0xBABF, 0x568E, - 0xBAC0, 0x8C6A, 0xBAC1, 0x6BEB, 0xBAC2, 0x90DD, 0xBAC3, 0x597D, 0xBAC4, 0x8017, 0xBAC5, 0x53F7, 0xBAC6, 0x6D69, 0xBAC7, 0x5475, - 0xBAC8, 0x559D, 0xBAC9, 0x8377, 0xBACA, 0x83CF, 0xBACB, 0x6838, 0xBACC, 0x79BE, 0xBACD, 0x548C, 0xBACE, 0x4F55, 0xBACF, 0x5408, - 0xBAD0, 0x76D2, 0xBAD1, 0x8C89, 0xBAD2, 0x9602, 0xBAD3, 0x6CB3, 0xBAD4, 0x6DB8, 0xBAD5, 0x8D6B, 0xBAD6, 0x8910, 0xBAD7, 0x9E64, - 0xBAD8, 0x8D3A, 0xBAD9, 0x563F, 0xBADA, 0x9ED1, 0xBADB, 0x75D5, 0xBADC, 0x5F88, 0xBADD, 0x72E0, 0xBADE, 0x6068, 0xBADF, 0x54FC, - 0xBAE0, 0x4EA8, 0xBAE1, 0x6A2A, 0xBAE2, 0x8861, 0xBAE3, 0x6052, 0xBAE4, 0x8F70, 0xBAE5, 0x54C4, 0xBAE6, 0x70D8, 0xBAE7, 0x8679, - 0xBAE8, 0x9E3F, 0xBAE9, 0x6D2A, 0xBAEA, 0x5B8F, 0xBAEB, 0x5F18, 0xBAEC, 0x7EA2, 0xBAED, 0x5589, 0xBAEE, 0x4FAF, 0xBAEF, 0x7334, - 0xBAF0, 0x543C, 0xBAF1, 0x539A, 0xBAF2, 0x5019, 0xBAF3, 0x540E, 0xBAF4, 0x547C, 0xBAF5, 0x4E4E, 0xBAF6, 0x5FFD, 0xBAF7, 0x745A, - 0xBAF8, 0x58F6, 0xBAF9, 0x846B, 0xBAFA, 0x80E1, 0xBAFB, 0x8774, 0xBAFC, 0x72D0, 0xBAFD, 0x7CCA, 0xBAFE, 0x6E56, 0xBB40, 0x7C43, - 0xBB41, 0x7C44, 0xBB42, 0x7C45, 0xBB43, 0x7C46, 0xBB44, 0x7C47, 0xBB45, 0x7C48, 0xBB46, 0x7C49, 0xBB47, 0x7C4A, 0xBB48, 0x7C4B, - 0xBB49, 0x7C4C, 0xBB4A, 0x7C4E, 0xBB4B, 0x7C4F, 0xBB4C, 0x7C50, 0xBB4D, 0x7C51, 0xBB4E, 0x7C52, 0xBB4F, 0x7C53, 0xBB50, 0x7C54, - 0xBB51, 0x7C55, 0xBB52, 0x7C56, 0xBB53, 0x7C57, 0xBB54, 0x7C58, 0xBB55, 0x7C59, 0xBB56, 0x7C5A, 0xBB57, 0x7C5B, 0xBB58, 0x7C5C, - 0xBB59, 0x7C5D, 0xBB5A, 0x7C5E, 0xBB5B, 0x7C5F, 0xBB5C, 0x7C60, 0xBB5D, 0x7C61, 0xBB5E, 0x7C62, 0xBB5F, 0x7C63, 0xBB60, 0x7C64, - 0xBB61, 0x7C65, 0xBB62, 0x7C66, 0xBB63, 0x7C67, 0xBB64, 0x7C68, 0xBB65, 0x7C69, 0xBB66, 0x7C6A, 0xBB67, 0x7C6B, 0xBB68, 0x7C6C, - 0xBB69, 0x7C6D, 0xBB6A, 0x7C6E, 0xBB6B, 0x7C6F, 0xBB6C, 0x7C70, 0xBB6D, 0x7C71, 0xBB6E, 0x7C72, 0xBB6F, 0x7C75, 0xBB70, 0x7C76, - 0xBB71, 0x7C77, 0xBB72, 0x7C78, 0xBB73, 0x7C79, 0xBB74, 0x7C7A, 0xBB75, 0x7C7E, 0xBB76, 0x7C7F, 0xBB77, 0x7C80, 0xBB78, 0x7C81, - 0xBB79, 0x7C82, 0xBB7A, 0x7C83, 0xBB7B, 0x7C84, 0xBB7C, 0x7C85, 0xBB7D, 0x7C86, 0xBB7E, 0x7C87, 0xBB80, 0x7C88, 0xBB81, 0x7C8A, - 0xBB82, 0x7C8B, 0xBB83, 0x7C8C, 0xBB84, 0x7C8D, 0xBB85, 0x7C8E, 0xBB86, 0x7C8F, 0xBB87, 0x7C90, 0xBB88, 0x7C93, 0xBB89, 0x7C94, - 0xBB8A, 0x7C96, 0xBB8B, 0x7C99, 0xBB8C, 0x7C9A, 0xBB8D, 0x7C9B, 0xBB8E, 0x7CA0, 0xBB8F, 0x7CA1, 0xBB90, 0x7CA3, 0xBB91, 0x7CA6, - 0xBB92, 0x7CA7, 0xBB93, 0x7CA8, 0xBB94, 0x7CA9, 0xBB95, 0x7CAB, 0xBB96, 0x7CAC, 0xBB97, 0x7CAD, 0xBB98, 0x7CAF, 0xBB99, 0x7CB0, - 0xBB9A, 0x7CB4, 0xBB9B, 0x7CB5, 0xBB9C, 0x7CB6, 0xBB9D, 0x7CB7, 0xBB9E, 0x7CB8, 0xBB9F, 0x7CBA, 0xBBA0, 0x7CBB, 0xBBA1, 0x5F27, - 0xBBA2, 0x864E, 0xBBA3, 0x552C, 0xBBA4, 0x62A4, 0xBBA5, 0x4E92, 0xBBA6, 0x6CAA, 0xBBA7, 0x6237, 0xBBA8, 0x82B1, 0xBBA9, 0x54D7, - 0xBBAA, 0x534E, 0xBBAB, 0x733E, 0xBBAC, 0x6ED1, 0xBBAD, 0x753B, 0xBBAE, 0x5212, 0xBBAF, 0x5316, 0xBBB0, 0x8BDD, 0xBBB1, 0x69D0, - 0xBBB2, 0x5F8A, 0xBBB3, 0x6000, 0xBBB4, 0x6DEE, 0xBBB5, 0x574F, 0xBBB6, 0x6B22, 0xBBB7, 0x73AF, 0xBBB8, 0x6853, 0xBBB9, 0x8FD8, - 0xBBBA, 0x7F13, 0xBBBB, 0x6362, 0xBBBC, 0x60A3, 0xBBBD, 0x5524, 0xBBBE, 0x75EA, 0xBBBF, 0x8C62, 0xBBC0, 0x7115, 0xBBC1, 0x6DA3, - 0xBBC2, 0x5BA6, 0xBBC3, 0x5E7B, 0xBBC4, 0x8352, 0xBBC5, 0x614C, 0xBBC6, 0x9EC4, 0xBBC7, 0x78FA, 0xBBC8, 0x8757, 0xBBC9, 0x7C27, - 0xBBCA, 0x7687, 0xBBCB, 0x51F0, 0xBBCC, 0x60F6, 0xBBCD, 0x714C, 0xBBCE, 0x6643, 0xBBCF, 0x5E4C, 0xBBD0, 0x604D, 0xBBD1, 0x8C0E, - 0xBBD2, 0x7070, 0xBBD3, 0x6325, 0xBBD4, 0x8F89, 0xBBD5, 0x5FBD, 0xBBD6, 0x6062, 0xBBD7, 0x86D4, 0xBBD8, 0x56DE, 0xBBD9, 0x6BC1, - 0xBBDA, 0x6094, 0xBBDB, 0x6167, 0xBBDC, 0x5349, 0xBBDD, 0x60E0, 0xBBDE, 0x6666, 0xBBDF, 0x8D3F, 0xBBE0, 0x79FD, 0xBBE1, 0x4F1A, - 0xBBE2, 0x70E9, 0xBBE3, 0x6C47, 0xBBE4, 0x8BB3, 0xBBE5, 0x8BF2, 0xBBE6, 0x7ED8, 0xBBE7, 0x8364, 0xBBE8, 0x660F, 0xBBE9, 0x5A5A, - 0xBBEA, 0x9B42, 0xBBEB, 0x6D51, 0xBBEC, 0x6DF7, 0xBBED, 0x8C41, 0xBBEE, 0x6D3B, 0xBBEF, 0x4F19, 0xBBF0, 0x706B, 0xBBF1, 0x83B7, - 0xBBF2, 0x6216, 0xBBF3, 0x60D1, 0xBBF4, 0x970D, 0xBBF5, 0x8D27, 0xBBF6, 0x7978, 0xBBF7, 0x51FB, 0xBBF8, 0x573E, 0xBBF9, 0x57FA, - 0xBBFA, 0x673A, 0xBBFB, 0x7578, 0xBBFC, 0x7A3D, 0xBBFD, 0x79EF, 0xBBFE, 0x7B95, 0xBC40, 0x7CBF, 0xBC41, 0x7CC0, 0xBC42, 0x7CC2, - 0xBC43, 0x7CC3, 0xBC44, 0x7CC4, 0xBC45, 0x7CC6, 0xBC46, 0x7CC9, 0xBC47, 0x7CCB, 0xBC48, 0x7CCE, 0xBC49, 0x7CCF, 0xBC4A, 0x7CD0, - 0xBC4B, 0x7CD1, 0xBC4C, 0x7CD2, 0xBC4D, 0x7CD3, 0xBC4E, 0x7CD4, 0xBC4F, 0x7CD8, 0xBC50, 0x7CDA, 0xBC51, 0x7CDB, 0xBC52, 0x7CDD, - 0xBC53, 0x7CDE, 0xBC54, 0x7CE1, 0xBC55, 0x7CE2, 0xBC56, 0x7CE3, 0xBC57, 0x7CE4, 0xBC58, 0x7CE5, 0xBC59, 0x7CE6, 0xBC5A, 0x7CE7, - 0xBC5B, 0x7CE9, 0xBC5C, 0x7CEA, 0xBC5D, 0x7CEB, 0xBC5E, 0x7CEC, 0xBC5F, 0x7CED, 0xBC60, 0x7CEE, 0xBC61, 0x7CF0, 0xBC62, 0x7CF1, - 0xBC63, 0x7CF2, 0xBC64, 0x7CF3, 0xBC65, 0x7CF4, 0xBC66, 0x7CF5, 0xBC67, 0x7CF6, 0xBC68, 0x7CF7, 0xBC69, 0x7CF9, 0xBC6A, 0x7CFA, - 0xBC6B, 0x7CFC, 0xBC6C, 0x7CFD, 0xBC6D, 0x7CFE, 0xBC6E, 0x7CFF, 0xBC6F, 0x7D00, 0xBC70, 0x7D01, 0xBC71, 0x7D02, 0xBC72, 0x7D03, - 0xBC73, 0x7D04, 0xBC74, 0x7D05, 0xBC75, 0x7D06, 0xBC76, 0x7D07, 0xBC77, 0x7D08, 0xBC78, 0x7D09, 0xBC79, 0x7D0B, 0xBC7A, 0x7D0C, - 0xBC7B, 0x7D0D, 0xBC7C, 0x7D0E, 0xBC7D, 0x7D0F, 0xBC7E, 0x7D10, 0xBC80, 0x7D11, 0xBC81, 0x7D12, 0xBC82, 0x7D13, 0xBC83, 0x7D14, - 0xBC84, 0x7D15, 0xBC85, 0x7D16, 0xBC86, 0x7D17, 0xBC87, 0x7D18, 0xBC88, 0x7D19, 0xBC89, 0x7D1A, 0xBC8A, 0x7D1B, 0xBC8B, 0x7D1C, - 0xBC8C, 0x7D1D, 0xBC8D, 0x7D1E, 0xBC8E, 0x7D1F, 0xBC8F, 0x7D21, 0xBC90, 0x7D23, 0xBC91, 0x7D24, 0xBC92, 0x7D25, 0xBC93, 0x7D26, - 0xBC94, 0x7D28, 0xBC95, 0x7D29, 0xBC96, 0x7D2A, 0xBC97, 0x7D2C, 0xBC98, 0x7D2D, 0xBC99, 0x7D2E, 0xBC9A, 0x7D30, 0xBC9B, 0x7D31, - 0xBC9C, 0x7D32, 0xBC9D, 0x7D33, 0xBC9E, 0x7D34, 0xBC9F, 0x7D35, 0xBCA0, 0x7D36, 0xBCA1, 0x808C, 0xBCA2, 0x9965, 0xBCA3, 0x8FF9, - 0xBCA4, 0x6FC0, 0xBCA5, 0x8BA5, 0xBCA6, 0x9E21, 0xBCA7, 0x59EC, 0xBCA8, 0x7EE9, 0xBCA9, 0x7F09, 0xBCAA, 0x5409, 0xBCAB, 0x6781, - 0xBCAC, 0x68D8, 0xBCAD, 0x8F91, 0xBCAE, 0x7C4D, 0xBCAF, 0x96C6, 0xBCB0, 0x53CA, 0xBCB1, 0x6025, 0xBCB2, 0x75BE, 0xBCB3, 0x6C72, - 0xBCB4, 0x5373, 0xBCB5, 0x5AC9, 0xBCB6, 0x7EA7, 0xBCB7, 0x6324, 0xBCB8, 0x51E0, 0xBCB9, 0x810A, 0xBCBA, 0x5DF1, 0xBCBB, 0x84DF, - 0xBCBC, 0x6280, 0xBCBD, 0x5180, 0xBCBE, 0x5B63, 0xBCBF, 0x4F0E, 0xBCC0, 0x796D, 0xBCC1, 0x5242, 0xBCC2, 0x60B8, 0xBCC3, 0x6D4E, - 0xBCC4, 0x5BC4, 0xBCC5, 0x5BC2, 0xBCC6, 0x8BA1, 0xBCC7, 0x8BB0, 0xBCC8, 0x65E2, 0xBCC9, 0x5FCC, 0xBCCA, 0x9645, 0xBCCB, 0x5993, - 0xBCCC, 0x7EE7, 0xBCCD, 0x7EAA, 0xBCCE, 0x5609, 0xBCCF, 0x67B7, 0xBCD0, 0x5939, 0xBCD1, 0x4F73, 0xBCD2, 0x5BB6, 0xBCD3, 0x52A0, - 0xBCD4, 0x835A, 0xBCD5, 0x988A, 0xBCD6, 0x8D3E, 0xBCD7, 0x7532, 0xBCD8, 0x94BE, 0xBCD9, 0x5047, 0xBCDA, 0x7A3C, 0xBCDB, 0x4EF7, - 0xBCDC, 0x67B6, 0xBCDD, 0x9A7E, 0xBCDE, 0x5AC1, 0xBCDF, 0x6B7C, 0xBCE0, 0x76D1, 0xBCE1, 0x575A, 0xBCE2, 0x5C16, 0xBCE3, 0x7B3A, - 0xBCE4, 0x95F4, 0xBCE5, 0x714E, 0xBCE6, 0x517C, 0xBCE7, 0x80A9, 0xBCE8, 0x8270, 0xBCE9, 0x5978, 0xBCEA, 0x7F04, 0xBCEB, 0x8327, - 0xBCEC, 0x68C0, 0xBCED, 0x67EC, 0xBCEE, 0x78B1, 0xBCEF, 0x7877, 0xBCF0, 0x62E3, 0xBCF1, 0x6361, 0xBCF2, 0x7B80, 0xBCF3, 0x4FED, - 0xBCF4, 0x526A, 0xBCF5, 0x51CF, 0xBCF6, 0x8350, 0xBCF7, 0x69DB, 0xBCF8, 0x9274, 0xBCF9, 0x8DF5, 0xBCFA, 0x8D31, 0xBCFB, 0x89C1, - 0xBCFC, 0x952E, 0xBCFD, 0x7BAD, 0xBCFE, 0x4EF6, 0xBD40, 0x7D37, 0xBD41, 0x7D38, 0xBD42, 0x7D39, 0xBD43, 0x7D3A, 0xBD44, 0x7D3B, - 0xBD45, 0x7D3C, 0xBD46, 0x7D3D, 0xBD47, 0x7D3E, 0xBD48, 0x7D3F, 0xBD49, 0x7D40, 0xBD4A, 0x7D41, 0xBD4B, 0x7D42, 0xBD4C, 0x7D43, - 0xBD4D, 0x7D44, 0xBD4E, 0x7D45, 0xBD4F, 0x7D46, 0xBD50, 0x7D47, 0xBD51, 0x7D48, 0xBD52, 0x7D49, 0xBD53, 0x7D4A, 0xBD54, 0x7D4B, - 0xBD55, 0x7D4C, 0xBD56, 0x7D4D, 0xBD57, 0x7D4E, 0xBD58, 0x7D4F, 0xBD59, 0x7D50, 0xBD5A, 0x7D51, 0xBD5B, 0x7D52, 0xBD5C, 0x7D53, - 0xBD5D, 0x7D54, 0xBD5E, 0x7D55, 0xBD5F, 0x7D56, 0xBD60, 0x7D57, 0xBD61, 0x7D58, 0xBD62, 0x7D59, 0xBD63, 0x7D5A, 0xBD64, 0x7D5B, - 0xBD65, 0x7D5C, 0xBD66, 0x7D5D, 0xBD67, 0x7D5E, 0xBD68, 0x7D5F, 0xBD69, 0x7D60, 0xBD6A, 0x7D61, 0xBD6B, 0x7D62, 0xBD6C, 0x7D63, - 0xBD6D, 0x7D64, 0xBD6E, 0x7D65, 0xBD6F, 0x7D66, 0xBD70, 0x7D67, 0xBD71, 0x7D68, 0xBD72, 0x7D69, 0xBD73, 0x7D6A, 0xBD74, 0x7D6B, - 0xBD75, 0x7D6C, 0xBD76, 0x7D6D, 0xBD77, 0x7D6F, 0xBD78, 0x7D70, 0xBD79, 0x7D71, 0xBD7A, 0x7D72, 0xBD7B, 0x7D73, 0xBD7C, 0x7D74, - 0xBD7D, 0x7D75, 0xBD7E, 0x7D76, 0xBD80, 0x7D78, 0xBD81, 0x7D79, 0xBD82, 0x7D7A, 0xBD83, 0x7D7B, 0xBD84, 0x7D7C, 0xBD85, 0x7D7D, - 0xBD86, 0x7D7E, 0xBD87, 0x7D7F, 0xBD88, 0x7D80, 0xBD89, 0x7D81, 0xBD8A, 0x7D82, 0xBD8B, 0x7D83, 0xBD8C, 0x7D84, 0xBD8D, 0x7D85, - 0xBD8E, 0x7D86, 0xBD8F, 0x7D87, 0xBD90, 0x7D88, 0xBD91, 0x7D89, 0xBD92, 0x7D8A, 0xBD93, 0x7D8B, 0xBD94, 0x7D8C, 0xBD95, 0x7D8D, - 0xBD96, 0x7D8E, 0xBD97, 0x7D8F, 0xBD98, 0x7D90, 0xBD99, 0x7D91, 0xBD9A, 0x7D92, 0xBD9B, 0x7D93, 0xBD9C, 0x7D94, 0xBD9D, 0x7D95, - 0xBD9E, 0x7D96, 0xBD9F, 0x7D97, 0xBDA0, 0x7D98, 0xBDA1, 0x5065, 0xBDA2, 0x8230, 0xBDA3, 0x5251, 0xBDA4, 0x996F, 0xBDA5, 0x6E10, - 0xBDA6, 0x6E85, 0xBDA7, 0x6DA7, 0xBDA8, 0x5EFA, 0xBDA9, 0x50F5, 0xBDAA, 0x59DC, 0xBDAB, 0x5C06, 0xBDAC, 0x6D46, 0xBDAD, 0x6C5F, - 0xBDAE, 0x7586, 0xBDAF, 0x848B, 0xBDB0, 0x6868, 0xBDB1, 0x5956, 0xBDB2, 0x8BB2, 0xBDB3, 0x5320, 0xBDB4, 0x9171, 0xBDB5, 0x964D, - 0xBDB6, 0x8549, 0xBDB7, 0x6912, 0xBDB8, 0x7901, 0xBDB9, 0x7126, 0xBDBA, 0x80F6, 0xBDBB, 0x4EA4, 0xBDBC, 0x90CA, 0xBDBD, 0x6D47, - 0xBDBE, 0x9A84, 0xBDBF, 0x5A07, 0xBDC0, 0x56BC, 0xBDC1, 0x6405, 0xBDC2, 0x94F0, 0xBDC3, 0x77EB, 0xBDC4, 0x4FA5, 0xBDC5, 0x811A, - 0xBDC6, 0x72E1, 0xBDC7, 0x89D2, 0xBDC8, 0x997A, 0xBDC9, 0x7F34, 0xBDCA, 0x7EDE, 0xBDCB, 0x527F, 0xBDCC, 0x6559, 0xBDCD, 0x9175, - 0xBDCE, 0x8F7F, 0xBDCF, 0x8F83, 0xBDD0, 0x53EB, 0xBDD1, 0x7A96, 0xBDD2, 0x63ED, 0xBDD3, 0x63A5, 0xBDD4, 0x7686, 0xBDD5, 0x79F8, - 0xBDD6, 0x8857, 0xBDD7, 0x9636, 0xBDD8, 0x622A, 0xBDD9, 0x52AB, 0xBDDA, 0x8282, 0xBDDB, 0x6854, 0xBDDC, 0x6770, 0xBDDD, 0x6377, - 0xBDDE, 0x776B, 0xBDDF, 0x7AED, 0xBDE0, 0x6D01, 0xBDE1, 0x7ED3, 0xBDE2, 0x89E3, 0xBDE3, 0x59D0, 0xBDE4, 0x6212, 0xBDE5, 0x85C9, - 0xBDE6, 0x82A5, 0xBDE7, 0x754C, 0xBDE8, 0x501F, 0xBDE9, 0x4ECB, 0xBDEA, 0x75A5, 0xBDEB, 0x8BEB, 0xBDEC, 0x5C4A, 0xBDED, 0x5DFE, - 0xBDEE, 0x7B4B, 0xBDEF, 0x65A4, 0xBDF0, 0x91D1, 0xBDF1, 0x4ECA, 0xBDF2, 0x6D25, 0xBDF3, 0x895F, 0xBDF4, 0x7D27, 0xBDF5, 0x9526, - 0xBDF6, 0x4EC5, 0xBDF7, 0x8C28, 0xBDF8, 0x8FDB, 0xBDF9, 0x9773, 0xBDFA, 0x664B, 0xBDFB, 0x7981, 0xBDFC, 0x8FD1, 0xBDFD, 0x70EC, - 0xBDFE, 0x6D78, 0xBE40, 0x7D99, 0xBE41, 0x7D9A, 0xBE42, 0x7D9B, 0xBE43, 0x7D9C, 0xBE44, 0x7D9D, 0xBE45, 0x7D9E, 0xBE46, 0x7D9F, - 0xBE47, 0x7DA0, 0xBE48, 0x7DA1, 0xBE49, 0x7DA2, 0xBE4A, 0x7DA3, 0xBE4B, 0x7DA4, 0xBE4C, 0x7DA5, 0xBE4D, 0x7DA7, 0xBE4E, 0x7DA8, - 0xBE4F, 0x7DA9, 0xBE50, 0x7DAA, 0xBE51, 0x7DAB, 0xBE52, 0x7DAC, 0xBE53, 0x7DAD, 0xBE54, 0x7DAF, 0xBE55, 0x7DB0, 0xBE56, 0x7DB1, - 0xBE57, 0x7DB2, 0xBE58, 0x7DB3, 0xBE59, 0x7DB4, 0xBE5A, 0x7DB5, 0xBE5B, 0x7DB6, 0xBE5C, 0x7DB7, 0xBE5D, 0x7DB8, 0xBE5E, 0x7DB9, - 0xBE5F, 0x7DBA, 0xBE60, 0x7DBB, 0xBE61, 0x7DBC, 0xBE62, 0x7DBD, 0xBE63, 0x7DBE, 0xBE64, 0x7DBF, 0xBE65, 0x7DC0, 0xBE66, 0x7DC1, - 0xBE67, 0x7DC2, 0xBE68, 0x7DC3, 0xBE69, 0x7DC4, 0xBE6A, 0x7DC5, 0xBE6B, 0x7DC6, 0xBE6C, 0x7DC7, 0xBE6D, 0x7DC8, 0xBE6E, 0x7DC9, - 0xBE6F, 0x7DCA, 0xBE70, 0x7DCB, 0xBE71, 0x7DCC, 0xBE72, 0x7DCD, 0xBE73, 0x7DCE, 0xBE74, 0x7DCF, 0xBE75, 0x7DD0, 0xBE76, 0x7DD1, - 0xBE77, 0x7DD2, 0xBE78, 0x7DD3, 0xBE79, 0x7DD4, 0xBE7A, 0x7DD5, 0xBE7B, 0x7DD6, 0xBE7C, 0x7DD7, 0xBE7D, 0x7DD8, 0xBE7E, 0x7DD9, - 0xBE80, 0x7DDA, 0xBE81, 0x7DDB, 0xBE82, 0x7DDC, 0xBE83, 0x7DDD, 0xBE84, 0x7DDE, 0xBE85, 0x7DDF, 0xBE86, 0x7DE0, 0xBE87, 0x7DE1, - 0xBE88, 0x7DE2, 0xBE89, 0x7DE3, 0xBE8A, 0x7DE4, 0xBE8B, 0x7DE5, 0xBE8C, 0x7DE6, 0xBE8D, 0x7DE7, 0xBE8E, 0x7DE8, 0xBE8F, 0x7DE9, - 0xBE90, 0x7DEA, 0xBE91, 0x7DEB, 0xBE92, 0x7DEC, 0xBE93, 0x7DED, 0xBE94, 0x7DEE, 0xBE95, 0x7DEF, 0xBE96, 0x7DF0, 0xBE97, 0x7DF1, - 0xBE98, 0x7DF2, 0xBE99, 0x7DF3, 0xBE9A, 0x7DF4, 0xBE9B, 0x7DF5, 0xBE9C, 0x7DF6, 0xBE9D, 0x7DF7, 0xBE9E, 0x7DF8, 0xBE9F, 0x7DF9, - 0xBEA0, 0x7DFA, 0xBEA1, 0x5C3D, 0xBEA2, 0x52B2, 0xBEA3, 0x8346, 0xBEA4, 0x5162, 0xBEA5, 0x830E, 0xBEA6, 0x775B, 0xBEA7, 0x6676, - 0xBEA8, 0x9CB8, 0xBEA9, 0x4EAC, 0xBEAA, 0x60CA, 0xBEAB, 0x7CBE, 0xBEAC, 0x7CB3, 0xBEAD, 0x7ECF, 0xBEAE, 0x4E95, 0xBEAF, 0x8B66, - 0xBEB0, 0x666F, 0xBEB1, 0x9888, 0xBEB2, 0x9759, 0xBEB3, 0x5883, 0xBEB4, 0x656C, 0xBEB5, 0x955C, 0xBEB6, 0x5F84, 0xBEB7, 0x75C9, - 0xBEB8, 0x9756, 0xBEB9, 0x7ADF, 0xBEBA, 0x7ADE, 0xBEBB, 0x51C0, 0xBEBC, 0x70AF, 0xBEBD, 0x7A98, 0xBEBE, 0x63EA, 0xBEBF, 0x7A76, - 0xBEC0, 0x7EA0, 0xBEC1, 0x7396, 0xBEC2, 0x97ED, 0xBEC3, 0x4E45, 0xBEC4, 0x7078, 0xBEC5, 0x4E5D, 0xBEC6, 0x9152, 0xBEC7, 0x53A9, - 0xBEC8, 0x6551, 0xBEC9, 0x65E7, 0xBECA, 0x81FC, 0xBECB, 0x8205, 0xBECC, 0x548E, 0xBECD, 0x5C31, 0xBECE, 0x759A, 0xBECF, 0x97A0, - 0xBED0, 0x62D8, 0xBED1, 0x72D9, 0xBED2, 0x75BD, 0xBED3, 0x5C45, 0xBED4, 0x9A79, 0xBED5, 0x83CA, 0xBED6, 0x5C40, 0xBED7, 0x5480, - 0xBED8, 0x77E9, 0xBED9, 0x4E3E, 0xBEDA, 0x6CAE, 0xBEDB, 0x805A, 0xBEDC, 0x62D2, 0xBEDD, 0x636E, 0xBEDE, 0x5DE8, 0xBEDF, 0x5177, - 0xBEE0, 0x8DDD, 0xBEE1, 0x8E1E, 0xBEE2, 0x952F, 0xBEE3, 0x4FF1, 0xBEE4, 0x53E5, 0xBEE5, 0x60E7, 0xBEE6, 0x70AC, 0xBEE7, 0x5267, - 0xBEE8, 0x6350, 0xBEE9, 0x9E43, 0xBEEA, 0x5A1F, 0xBEEB, 0x5026, 0xBEEC, 0x7737, 0xBEED, 0x5377, 0xBEEE, 0x7EE2, 0xBEEF, 0x6485, - 0xBEF0, 0x652B, 0xBEF1, 0x6289, 0xBEF2, 0x6398, 0xBEF3, 0x5014, 0xBEF4, 0x7235, 0xBEF5, 0x89C9, 0xBEF6, 0x51B3, 0xBEF7, 0x8BC0, - 0xBEF8, 0x7EDD, 0xBEF9, 0x5747, 0xBEFA, 0x83CC, 0xBEFB, 0x94A7, 0xBEFC, 0x519B, 0xBEFD, 0x541B, 0xBEFE, 0x5CFB, 0xBF40, 0x7DFB, - 0xBF41, 0x7DFC, 0xBF42, 0x7DFD, 0xBF43, 0x7DFE, 0xBF44, 0x7DFF, 0xBF45, 0x7E00, 0xBF46, 0x7E01, 0xBF47, 0x7E02, 0xBF48, 0x7E03, - 0xBF49, 0x7E04, 0xBF4A, 0x7E05, 0xBF4B, 0x7E06, 0xBF4C, 0x7E07, 0xBF4D, 0x7E08, 0xBF4E, 0x7E09, 0xBF4F, 0x7E0A, 0xBF50, 0x7E0B, - 0xBF51, 0x7E0C, 0xBF52, 0x7E0D, 0xBF53, 0x7E0E, 0xBF54, 0x7E0F, 0xBF55, 0x7E10, 0xBF56, 0x7E11, 0xBF57, 0x7E12, 0xBF58, 0x7E13, - 0xBF59, 0x7E14, 0xBF5A, 0x7E15, 0xBF5B, 0x7E16, 0xBF5C, 0x7E17, 0xBF5D, 0x7E18, 0xBF5E, 0x7E19, 0xBF5F, 0x7E1A, 0xBF60, 0x7E1B, - 0xBF61, 0x7E1C, 0xBF62, 0x7E1D, 0xBF63, 0x7E1E, 0xBF64, 0x7E1F, 0xBF65, 0x7E20, 0xBF66, 0x7E21, 0xBF67, 0x7E22, 0xBF68, 0x7E23, - 0xBF69, 0x7E24, 0xBF6A, 0x7E25, 0xBF6B, 0x7E26, 0xBF6C, 0x7E27, 0xBF6D, 0x7E28, 0xBF6E, 0x7E29, 0xBF6F, 0x7E2A, 0xBF70, 0x7E2B, - 0xBF71, 0x7E2C, 0xBF72, 0x7E2D, 0xBF73, 0x7E2E, 0xBF74, 0x7E2F, 0xBF75, 0x7E30, 0xBF76, 0x7E31, 0xBF77, 0x7E32, 0xBF78, 0x7E33, - 0xBF79, 0x7E34, 0xBF7A, 0x7E35, 0xBF7B, 0x7E36, 0xBF7C, 0x7E37, 0xBF7D, 0x7E38, 0xBF7E, 0x7E39, 0xBF80, 0x7E3A, 0xBF81, 0x7E3C, - 0xBF82, 0x7E3D, 0xBF83, 0x7E3E, 0xBF84, 0x7E3F, 0xBF85, 0x7E40, 0xBF86, 0x7E42, 0xBF87, 0x7E43, 0xBF88, 0x7E44, 0xBF89, 0x7E45, - 0xBF8A, 0x7E46, 0xBF8B, 0x7E48, 0xBF8C, 0x7E49, 0xBF8D, 0x7E4A, 0xBF8E, 0x7E4B, 0xBF8F, 0x7E4C, 0xBF90, 0x7E4D, 0xBF91, 0x7E4E, - 0xBF92, 0x7E4F, 0xBF93, 0x7E50, 0xBF94, 0x7E51, 0xBF95, 0x7E52, 0xBF96, 0x7E53, 0xBF97, 0x7E54, 0xBF98, 0x7E55, 0xBF99, 0x7E56, - 0xBF9A, 0x7E57, 0xBF9B, 0x7E58, 0xBF9C, 0x7E59, 0xBF9D, 0x7E5A, 0xBF9E, 0x7E5B, 0xBF9F, 0x7E5C, 0xBFA0, 0x7E5D, 0xBFA1, 0x4FCA, - 0xBFA2, 0x7AE3, 0xBFA3, 0x6D5A, 0xBFA4, 0x90E1, 0xBFA5, 0x9A8F, 0xBFA6, 0x5580, 0xBFA7, 0x5496, 0xBFA8, 0x5361, 0xBFA9, 0x54AF, - 0xBFAA, 0x5F00, 0xBFAB, 0x63E9, 0xBFAC, 0x6977, 0xBFAD, 0x51EF, 0xBFAE, 0x6168, 0xBFAF, 0x520A, 0xBFB0, 0x582A, 0xBFB1, 0x52D8, - 0xBFB2, 0x574E, 0xBFB3, 0x780D, 0xBFB4, 0x770B, 0xBFB5, 0x5EB7, 0xBFB6, 0x6177, 0xBFB7, 0x7CE0, 0xBFB8, 0x625B, 0xBFB9, 0x6297, - 0xBFBA, 0x4EA2, 0xBFBB, 0x7095, 0xBFBC, 0x8003, 0xBFBD, 0x62F7, 0xBFBE, 0x70E4, 0xBFBF, 0x9760, 0xBFC0, 0x5777, 0xBFC1, 0x82DB, - 0xBFC2, 0x67EF, 0xBFC3, 0x68F5, 0xBFC4, 0x78D5, 0xBFC5, 0x9897, 0xBFC6, 0x79D1, 0xBFC7, 0x58F3, 0xBFC8, 0x54B3, 0xBFC9, 0x53EF, - 0xBFCA, 0x6E34, 0xBFCB, 0x514B, 0xBFCC, 0x523B, 0xBFCD, 0x5BA2, 0xBFCE, 0x8BFE, 0xBFCF, 0x80AF, 0xBFD0, 0x5543, 0xBFD1, 0x57A6, - 0xBFD2, 0x6073, 0xBFD3, 0x5751, 0xBFD4, 0x542D, 0xBFD5, 0x7A7A, 0xBFD6, 0x6050, 0xBFD7, 0x5B54, 0xBFD8, 0x63A7, 0xBFD9, 0x62A0, - 0xBFDA, 0x53E3, 0xBFDB, 0x6263, 0xBFDC, 0x5BC7, 0xBFDD, 0x67AF, 0xBFDE, 0x54ED, 0xBFDF, 0x7A9F, 0xBFE0, 0x82E6, 0xBFE1, 0x9177, - 0xBFE2, 0x5E93, 0xBFE3, 0x88E4, 0xBFE4, 0x5938, 0xBFE5, 0x57AE, 0xBFE6, 0x630E, 0xBFE7, 0x8DE8, 0xBFE8, 0x80EF, 0xBFE9, 0x5757, - 0xBFEA, 0x7B77, 0xBFEB, 0x4FA9, 0xBFEC, 0x5FEB, 0xBFED, 0x5BBD, 0xBFEE, 0x6B3E, 0xBFEF, 0x5321, 0xBFF0, 0x7B50, 0xBFF1, 0x72C2, - 0xBFF2, 0x6846, 0xBFF3, 0x77FF, 0xBFF4, 0x7736, 0xBFF5, 0x65F7, 0xBFF6, 0x51B5, 0xBFF7, 0x4E8F, 0xBFF8, 0x76D4, 0xBFF9, 0x5CBF, - 0xBFFA, 0x7AA5, 0xBFFB, 0x8475, 0xBFFC, 0x594E, 0xBFFD, 0x9B41, 0xBFFE, 0x5080, 0xC040, 0x7E5E, 0xC041, 0x7E5F, 0xC042, 0x7E60, - 0xC043, 0x7E61, 0xC044, 0x7E62, 0xC045, 0x7E63, 0xC046, 0x7E64, 0xC047, 0x7E65, 0xC048, 0x7E66, 0xC049, 0x7E67, 0xC04A, 0x7E68, - 0xC04B, 0x7E69, 0xC04C, 0x7E6A, 0xC04D, 0x7E6B, 0xC04E, 0x7E6C, 0xC04F, 0x7E6D, 0xC050, 0x7E6E, 0xC051, 0x7E6F, 0xC052, 0x7E70, - 0xC053, 0x7E71, 0xC054, 0x7E72, 0xC055, 0x7E73, 0xC056, 0x7E74, 0xC057, 0x7E75, 0xC058, 0x7E76, 0xC059, 0x7E77, 0xC05A, 0x7E78, - 0xC05B, 0x7E79, 0xC05C, 0x7E7A, 0xC05D, 0x7E7B, 0xC05E, 0x7E7C, 0xC05F, 0x7E7D, 0xC060, 0x7E7E, 0xC061, 0x7E7F, 0xC062, 0x7E80, - 0xC063, 0x7E81, 0xC064, 0x7E83, 0xC065, 0x7E84, 0xC066, 0x7E85, 0xC067, 0x7E86, 0xC068, 0x7E87, 0xC069, 0x7E88, 0xC06A, 0x7E89, - 0xC06B, 0x7E8A, 0xC06C, 0x7E8B, 0xC06D, 0x7E8C, 0xC06E, 0x7E8D, 0xC06F, 0x7E8E, 0xC070, 0x7E8F, 0xC071, 0x7E90, 0xC072, 0x7E91, - 0xC073, 0x7E92, 0xC074, 0x7E93, 0xC075, 0x7E94, 0xC076, 0x7E95, 0xC077, 0x7E96, 0xC078, 0x7E97, 0xC079, 0x7E98, 0xC07A, 0x7E99, - 0xC07B, 0x7E9A, 0xC07C, 0x7E9C, 0xC07D, 0x7E9D, 0xC07E, 0x7E9E, 0xC080, 0x7EAE, 0xC081, 0x7EB4, 0xC082, 0x7EBB, 0xC083, 0x7EBC, - 0xC084, 0x7ED6, 0xC085, 0x7EE4, 0xC086, 0x7EEC, 0xC087, 0x7EF9, 0xC088, 0x7F0A, 0xC089, 0x7F10, 0xC08A, 0x7F1E, 0xC08B, 0x7F37, - 0xC08C, 0x7F39, 0xC08D, 0x7F3B, 0xC08E, 0x7F3C, 0xC08F, 0x7F3D, 0xC090, 0x7F3E, 0xC091, 0x7F3F, 0xC092, 0x7F40, 0xC093, 0x7F41, - 0xC094, 0x7F43, 0xC095, 0x7F46, 0xC096, 0x7F47, 0xC097, 0x7F48, 0xC098, 0x7F49, 0xC099, 0x7F4A, 0xC09A, 0x7F4B, 0xC09B, 0x7F4C, - 0xC09C, 0x7F4D, 0xC09D, 0x7F4E, 0xC09E, 0x7F4F, 0xC09F, 0x7F52, 0xC0A0, 0x7F53, 0xC0A1, 0x9988, 0xC0A2, 0x6127, 0xC0A3, 0x6E83, - 0xC0A4, 0x5764, 0xC0A5, 0x6606, 0xC0A6, 0x6346, 0xC0A7, 0x56F0, 0xC0A8, 0x62EC, 0xC0A9, 0x6269, 0xC0AA, 0x5ED3, 0xC0AB, 0x9614, - 0xC0AC, 0x5783, 0xC0AD, 0x62C9, 0xC0AE, 0x5587, 0xC0AF, 0x8721, 0xC0B0, 0x814A, 0xC0B1, 0x8FA3, 0xC0B2, 0x5566, 0xC0B3, 0x83B1, - 0xC0B4, 0x6765, 0xC0B5, 0x8D56, 0xC0B6, 0x84DD, 0xC0B7, 0x5A6A, 0xC0B8, 0x680F, 0xC0B9, 0x62E6, 0xC0BA, 0x7BEE, 0xC0BB, 0x9611, - 0xC0BC, 0x5170, 0xC0BD, 0x6F9C, 0xC0BE, 0x8C30, 0xC0BF, 0x63FD, 0xC0C0, 0x89C8, 0xC0C1, 0x61D2, 0xC0C2, 0x7F06, 0xC0C3, 0x70C2, - 0xC0C4, 0x6EE5, 0xC0C5, 0x7405, 0xC0C6, 0x6994, 0xC0C7, 0x72FC, 0xC0C8, 0x5ECA, 0xC0C9, 0x90CE, 0xC0CA, 0x6717, 0xC0CB, 0x6D6A, - 0xC0CC, 0x635E, 0xC0CD, 0x52B3, 0xC0CE, 0x7262, 0xC0CF, 0x8001, 0xC0D0, 0x4F6C, 0xC0D1, 0x59E5, 0xC0D2, 0x916A, 0xC0D3, 0x70D9, - 0xC0D4, 0x6D9D, 0xC0D5, 0x52D2, 0xC0D6, 0x4E50, 0xC0D7, 0x96F7, 0xC0D8, 0x956D, 0xC0D9, 0x857E, 0xC0DA, 0x78CA, 0xC0DB, 0x7D2F, - 0xC0DC, 0x5121, 0xC0DD, 0x5792, 0xC0DE, 0x64C2, 0xC0DF, 0x808B, 0xC0E0, 0x7C7B, 0xC0E1, 0x6CEA, 0xC0E2, 0x68F1, 0xC0E3, 0x695E, - 0xC0E4, 0x51B7, 0xC0E5, 0x5398, 0xC0E6, 0x68A8, 0xC0E7, 0x7281, 0xC0E8, 0x9ECE, 0xC0E9, 0x7BF1, 0xC0EA, 0x72F8, 0xC0EB, 0x79BB, - 0xC0EC, 0x6F13, 0xC0ED, 0x7406, 0xC0EE, 0x674E, 0xC0EF, 0x91CC, 0xC0F0, 0x9CA4, 0xC0F1, 0x793C, 0xC0F2, 0x8389, 0xC0F3, 0x8354, - 0xC0F4, 0x540F, 0xC0F5, 0x6817, 0xC0F6, 0x4E3D, 0xC0F7, 0x5389, 0xC0F8, 0x52B1, 0xC0F9, 0x783E, 0xC0FA, 0x5386, 0xC0FB, 0x5229, - 0xC0FC, 0x5088, 0xC0FD, 0x4F8B, 0xC0FE, 0x4FD0, 0xC140, 0x7F56, 0xC141, 0x7F59, 0xC142, 0x7F5B, 0xC143, 0x7F5C, 0xC144, 0x7F5D, - 0xC145, 0x7F5E, 0xC146, 0x7F60, 0xC147, 0x7F63, 0xC148, 0x7F64, 0xC149, 0x7F65, 0xC14A, 0x7F66, 0xC14B, 0x7F67, 0xC14C, 0x7F6B, - 0xC14D, 0x7F6C, 0xC14E, 0x7F6D, 0xC14F, 0x7F6F, 0xC150, 0x7F70, 0xC151, 0x7F73, 0xC152, 0x7F75, 0xC153, 0x7F76, 0xC154, 0x7F77, - 0xC155, 0x7F78, 0xC156, 0x7F7A, 0xC157, 0x7F7B, 0xC158, 0x7F7C, 0xC159, 0x7F7D, 0xC15A, 0x7F7F, 0xC15B, 0x7F80, 0xC15C, 0x7F82, - 0xC15D, 0x7F83, 0xC15E, 0x7F84, 0xC15F, 0x7F85, 0xC160, 0x7F86, 0xC161, 0x7F87, 0xC162, 0x7F88, 0xC163, 0x7F89, 0xC164, 0x7F8B, - 0xC165, 0x7F8D, 0xC166, 0x7F8F, 0xC167, 0x7F90, 0xC168, 0x7F91, 0xC169, 0x7F92, 0xC16A, 0x7F93, 0xC16B, 0x7F95, 0xC16C, 0x7F96, - 0xC16D, 0x7F97, 0xC16E, 0x7F98, 0xC16F, 0x7F99, 0xC170, 0x7F9B, 0xC171, 0x7F9C, 0xC172, 0x7FA0, 0xC173, 0x7FA2, 0xC174, 0x7FA3, - 0xC175, 0x7FA5, 0xC176, 0x7FA6, 0xC177, 0x7FA8, 0xC178, 0x7FA9, 0xC179, 0x7FAA, 0xC17A, 0x7FAB, 0xC17B, 0x7FAC, 0xC17C, 0x7FAD, - 0xC17D, 0x7FAE, 0xC17E, 0x7FB1, 0xC180, 0x7FB3, 0xC181, 0x7FB4, 0xC182, 0x7FB5, 0xC183, 0x7FB6, 0xC184, 0x7FB7, 0xC185, 0x7FBA, - 0xC186, 0x7FBB, 0xC187, 0x7FBE, 0xC188, 0x7FC0, 0xC189, 0x7FC2, 0xC18A, 0x7FC3, 0xC18B, 0x7FC4, 0xC18C, 0x7FC6, 0xC18D, 0x7FC7, - 0xC18E, 0x7FC8, 0xC18F, 0x7FC9, 0xC190, 0x7FCB, 0xC191, 0x7FCD, 0xC192, 0x7FCF, 0xC193, 0x7FD0, 0xC194, 0x7FD1, 0xC195, 0x7FD2, - 0xC196, 0x7FD3, 0xC197, 0x7FD6, 0xC198, 0x7FD7, 0xC199, 0x7FD9, 0xC19A, 0x7FDA, 0xC19B, 0x7FDB, 0xC19C, 0x7FDC, 0xC19D, 0x7FDD, - 0xC19E, 0x7FDE, 0xC19F, 0x7FE2, 0xC1A0, 0x7FE3, 0xC1A1, 0x75E2, 0xC1A2, 0x7ACB, 0xC1A3, 0x7C92, 0xC1A4, 0x6CA5, 0xC1A5, 0x96B6, - 0xC1A6, 0x529B, 0xC1A7, 0x7483, 0xC1A8, 0x54E9, 0xC1A9, 0x4FE9, 0xC1AA, 0x8054, 0xC1AB, 0x83B2, 0xC1AC, 0x8FDE, 0xC1AD, 0x9570, - 0xC1AE, 0x5EC9, 0xC1AF, 0x601C, 0xC1B0, 0x6D9F, 0xC1B1, 0x5E18, 0xC1B2, 0x655B, 0xC1B3, 0x8138, 0xC1B4, 0x94FE, 0xC1B5, 0x604B, - 0xC1B6, 0x70BC, 0xC1B7, 0x7EC3, 0xC1B8, 0x7CAE, 0xC1B9, 0x51C9, 0xC1BA, 0x6881, 0xC1BB, 0x7CB1, 0xC1BC, 0x826F, 0xC1BD, 0x4E24, - 0xC1BE, 0x8F86, 0xC1BF, 0x91CF, 0xC1C0, 0x667E, 0xC1C1, 0x4EAE, 0xC1C2, 0x8C05, 0xC1C3, 0x64A9, 0xC1C4, 0x804A, 0xC1C5, 0x50DA, - 0xC1C6, 0x7597, 0xC1C7, 0x71CE, 0xC1C8, 0x5BE5, 0xC1C9, 0x8FBD, 0xC1CA, 0x6F66, 0xC1CB, 0x4E86, 0xC1CC, 0x6482, 0xC1CD, 0x9563, - 0xC1CE, 0x5ED6, 0xC1CF, 0x6599, 0xC1D0, 0x5217, 0xC1D1, 0x88C2, 0xC1D2, 0x70C8, 0xC1D3, 0x52A3, 0xC1D4, 0x730E, 0xC1D5, 0x7433, - 0xC1D6, 0x6797, 0xC1D7, 0x78F7, 0xC1D8, 0x9716, 0xC1D9, 0x4E34, 0xC1DA, 0x90BB, 0xC1DB, 0x9CDE, 0xC1DC, 0x6DCB, 0xC1DD, 0x51DB, - 0xC1DE, 0x8D41, 0xC1DF, 0x541D, 0xC1E0, 0x62CE, 0xC1E1, 0x73B2, 0xC1E2, 0x83F1, 0xC1E3, 0x96F6, 0xC1E4, 0x9F84, 0xC1E5, 0x94C3, - 0xC1E6, 0x4F36, 0xC1E7, 0x7F9A, 0xC1E8, 0x51CC, 0xC1E9, 0x7075, 0xC1EA, 0x9675, 0xC1EB, 0x5CAD, 0xC1EC, 0x9886, 0xC1ED, 0x53E6, - 0xC1EE, 0x4EE4, 0xC1EF, 0x6E9C, 0xC1F0, 0x7409, 0xC1F1, 0x69B4, 0xC1F2, 0x786B, 0xC1F3, 0x998F, 0xC1F4, 0x7559, 0xC1F5, 0x5218, - 0xC1F6, 0x7624, 0xC1F7, 0x6D41, 0xC1F8, 0x67F3, 0xC1F9, 0x516D, 0xC1FA, 0x9F99, 0xC1FB, 0x804B, 0xC1FC, 0x5499, 0xC1FD, 0x7B3C, - 0xC1FE, 0x7ABF, 0xC240, 0x7FE4, 0xC241, 0x7FE7, 0xC242, 0x7FE8, 0xC243, 0x7FEA, 0xC244, 0x7FEB, 0xC245, 0x7FEC, 0xC246, 0x7FED, - 0xC247, 0x7FEF, 0xC248, 0x7FF2, 0xC249, 0x7FF4, 0xC24A, 0x7FF5, 0xC24B, 0x7FF6, 0xC24C, 0x7FF7, 0xC24D, 0x7FF8, 0xC24E, 0x7FF9, - 0xC24F, 0x7FFA, 0xC250, 0x7FFD, 0xC251, 0x7FFE, 0xC252, 0x7FFF, 0xC253, 0x8002, 0xC254, 0x8007, 0xC255, 0x8008, 0xC256, 0x8009, - 0xC257, 0x800A, 0xC258, 0x800E, 0xC259, 0x800F, 0xC25A, 0x8011, 0xC25B, 0x8013, 0xC25C, 0x801A, 0xC25D, 0x801B, 0xC25E, 0x801D, - 0xC25F, 0x801E, 0xC260, 0x801F, 0xC261, 0x8021, 0xC262, 0x8023, 0xC263, 0x8024, 0xC264, 0x802B, 0xC265, 0x802C, 0xC266, 0x802D, - 0xC267, 0x802E, 0xC268, 0x802F, 0xC269, 0x8030, 0xC26A, 0x8032, 0xC26B, 0x8034, 0xC26C, 0x8039, 0xC26D, 0x803A, 0xC26E, 0x803C, - 0xC26F, 0x803E, 0xC270, 0x8040, 0xC271, 0x8041, 0xC272, 0x8044, 0xC273, 0x8045, 0xC274, 0x8047, 0xC275, 0x8048, 0xC276, 0x8049, - 0xC277, 0x804E, 0xC278, 0x804F, 0xC279, 0x8050, 0xC27A, 0x8051, 0xC27B, 0x8053, 0xC27C, 0x8055, 0xC27D, 0x8056, 0xC27E, 0x8057, - 0xC280, 0x8059, 0xC281, 0x805B, 0xC282, 0x805C, 0xC283, 0x805D, 0xC284, 0x805E, 0xC285, 0x805F, 0xC286, 0x8060, 0xC287, 0x8061, - 0xC288, 0x8062, 0xC289, 0x8063, 0xC28A, 0x8064, 0xC28B, 0x8065, 0xC28C, 0x8066, 0xC28D, 0x8067, 0xC28E, 0x8068, 0xC28F, 0x806B, - 0xC290, 0x806C, 0xC291, 0x806D, 0xC292, 0x806E, 0xC293, 0x806F, 0xC294, 0x8070, 0xC295, 0x8072, 0xC296, 0x8073, 0xC297, 0x8074, - 0xC298, 0x8075, 0xC299, 0x8076, 0xC29A, 0x8077, 0xC29B, 0x8078, 0xC29C, 0x8079, 0xC29D, 0x807A, 0xC29E, 0x807B, 0xC29F, 0x807C, - 0xC2A0, 0x807D, 0xC2A1, 0x9686, 0xC2A2, 0x5784, 0xC2A3, 0x62E2, 0xC2A4, 0x9647, 0xC2A5, 0x697C, 0xC2A6, 0x5A04, 0xC2A7, 0x6402, - 0xC2A8, 0x7BD3, 0xC2A9, 0x6F0F, 0xC2AA, 0x964B, 0xC2AB, 0x82A6, 0xC2AC, 0x5362, 0xC2AD, 0x9885, 0xC2AE, 0x5E90, 0xC2AF, 0x7089, - 0xC2B0, 0x63B3, 0xC2B1, 0x5364, 0xC2B2, 0x864F, 0xC2B3, 0x9C81, 0xC2B4, 0x9E93, 0xC2B5, 0x788C, 0xC2B6, 0x9732, 0xC2B7, 0x8DEF, - 0xC2B8, 0x8D42, 0xC2B9, 0x9E7F, 0xC2BA, 0x6F5E, 0xC2BB, 0x7984, 0xC2BC, 0x5F55, 0xC2BD, 0x9646, 0xC2BE, 0x622E, 0xC2BF, 0x9A74, - 0xC2C0, 0x5415, 0xC2C1, 0x94DD, 0xC2C2, 0x4FA3, 0xC2C3, 0x65C5, 0xC2C4, 0x5C65, 0xC2C5, 0x5C61, 0xC2C6, 0x7F15, 0xC2C7, 0x8651, - 0xC2C8, 0x6C2F, 0xC2C9, 0x5F8B, 0xC2CA, 0x7387, 0xC2CB, 0x6EE4, 0xC2CC, 0x7EFF, 0xC2CD, 0x5CE6, 0xC2CE, 0x631B, 0xC2CF, 0x5B6A, - 0xC2D0, 0x6EE6, 0xC2D1, 0x5375, 0xC2D2, 0x4E71, 0xC2D3, 0x63A0, 0xC2D4, 0x7565, 0xC2D5, 0x62A1, 0xC2D6, 0x8F6E, 0xC2D7, 0x4F26, - 0xC2D8, 0x4ED1, 0xC2D9, 0x6CA6, 0xC2DA, 0x7EB6, 0xC2DB, 0x8BBA, 0xC2DC, 0x841D, 0xC2DD, 0x87BA, 0xC2DE, 0x7F57, 0xC2DF, 0x903B, - 0xC2E0, 0x9523, 0xC2E1, 0x7BA9, 0xC2E2, 0x9AA1, 0xC2E3, 0x88F8, 0xC2E4, 0x843D, 0xC2E5, 0x6D1B, 0xC2E6, 0x9A86, 0xC2E7, 0x7EDC, - 0xC2E8, 0x5988, 0xC2E9, 0x9EBB, 0xC2EA, 0x739B, 0xC2EB, 0x7801, 0xC2EC, 0x8682, 0xC2ED, 0x9A6C, 0xC2EE, 0x9A82, 0xC2EF, 0x561B, - 0xC2F0, 0x5417, 0xC2F1, 0x57CB, 0xC2F2, 0x4E70, 0xC2F3, 0x9EA6, 0xC2F4, 0x5356, 0xC2F5, 0x8FC8, 0xC2F6, 0x8109, 0xC2F7, 0x7792, - 0xC2F8, 0x9992, 0xC2F9, 0x86EE, 0xC2FA, 0x6EE1, 0xC2FB, 0x8513, 0xC2FC, 0x66FC, 0xC2FD, 0x6162, 0xC2FE, 0x6F2B, 0xC340, 0x807E, - 0xC341, 0x8081, 0xC342, 0x8082, 0xC343, 0x8085, 0xC344, 0x8088, 0xC345, 0x808A, 0xC346, 0x808D, 0xC347, 0x808E, 0xC348, 0x808F, - 0xC349, 0x8090, 0xC34A, 0x8091, 0xC34B, 0x8092, 0xC34C, 0x8094, 0xC34D, 0x8095, 0xC34E, 0x8097, 0xC34F, 0x8099, 0xC350, 0x809E, - 0xC351, 0x80A3, 0xC352, 0x80A6, 0xC353, 0x80A7, 0xC354, 0x80A8, 0xC355, 0x80AC, 0xC356, 0x80B0, 0xC357, 0x80B3, 0xC358, 0x80B5, - 0xC359, 0x80B6, 0xC35A, 0x80B8, 0xC35B, 0x80B9, 0xC35C, 0x80BB, 0xC35D, 0x80C5, 0xC35E, 0x80C7, 0xC35F, 0x80C8, 0xC360, 0x80C9, - 0xC361, 0x80CA, 0xC362, 0x80CB, 0xC363, 0x80CF, 0xC364, 0x80D0, 0xC365, 0x80D1, 0xC366, 0x80D2, 0xC367, 0x80D3, 0xC368, 0x80D4, - 0xC369, 0x80D5, 0xC36A, 0x80D8, 0xC36B, 0x80DF, 0xC36C, 0x80E0, 0xC36D, 0x80E2, 0xC36E, 0x80E3, 0xC36F, 0x80E6, 0xC370, 0x80EE, - 0xC371, 0x80F5, 0xC372, 0x80F7, 0xC373, 0x80F9, 0xC374, 0x80FB, 0xC375, 0x80FE, 0xC376, 0x80FF, 0xC377, 0x8100, 0xC378, 0x8101, - 0xC379, 0x8103, 0xC37A, 0x8104, 0xC37B, 0x8105, 0xC37C, 0x8107, 0xC37D, 0x8108, 0xC37E, 0x810B, 0xC380, 0x810C, 0xC381, 0x8115, - 0xC382, 0x8117, 0xC383, 0x8119, 0xC384, 0x811B, 0xC385, 0x811C, 0xC386, 0x811D, 0xC387, 0x811F, 0xC388, 0x8120, 0xC389, 0x8121, - 0xC38A, 0x8122, 0xC38B, 0x8123, 0xC38C, 0x8124, 0xC38D, 0x8125, 0xC38E, 0x8126, 0xC38F, 0x8127, 0xC390, 0x8128, 0xC391, 0x8129, - 0xC392, 0x812A, 0xC393, 0x812B, 0xC394, 0x812D, 0xC395, 0x812E, 0xC396, 0x8130, 0xC397, 0x8133, 0xC398, 0x8134, 0xC399, 0x8135, - 0xC39A, 0x8137, 0xC39B, 0x8139, 0xC39C, 0x813A, 0xC39D, 0x813B, 0xC39E, 0x813C, 0xC39F, 0x813D, 0xC3A0, 0x813F, 0xC3A1, 0x8C29, - 0xC3A2, 0x8292, 0xC3A3, 0x832B, 0xC3A4, 0x76F2, 0xC3A5, 0x6C13, 0xC3A6, 0x5FD9, 0xC3A7, 0x83BD, 0xC3A8, 0x732B, 0xC3A9, 0x8305, - 0xC3AA, 0x951A, 0xC3AB, 0x6BDB, 0xC3AC, 0x77DB, 0xC3AD, 0x94C6, 0xC3AE, 0x536F, 0xC3AF, 0x8302, 0xC3B0, 0x5192, 0xC3B1, 0x5E3D, - 0xC3B2, 0x8C8C, 0xC3B3, 0x8D38, 0xC3B4, 0x4E48, 0xC3B5, 0x73AB, 0xC3B6, 0x679A, 0xC3B7, 0x6885, 0xC3B8, 0x9176, 0xC3B9, 0x9709, - 0xC3BA, 0x7164, 0xC3BB, 0x6CA1, 0xC3BC, 0x7709, 0xC3BD, 0x5A92, 0xC3BE, 0x9541, 0xC3BF, 0x6BCF, 0xC3C0, 0x7F8E, 0xC3C1, 0x6627, - 0xC3C2, 0x5BD0, 0xC3C3, 0x59B9, 0xC3C4, 0x5A9A, 0xC3C5, 0x95E8, 0xC3C6, 0x95F7, 0xC3C7, 0x4EEC, 0xC3C8, 0x840C, 0xC3C9, 0x8499, - 0xC3CA, 0x6AAC, 0xC3CB, 0x76DF, 0xC3CC, 0x9530, 0xC3CD, 0x731B, 0xC3CE, 0x68A6, 0xC3CF, 0x5B5F, 0xC3D0, 0x772F, 0xC3D1, 0x919A, - 0xC3D2, 0x9761, 0xC3D3, 0x7CDC, 0xC3D4, 0x8FF7, 0xC3D5, 0x8C1C, 0xC3D6, 0x5F25, 0xC3D7, 0x7C73, 0xC3D8, 0x79D8, 0xC3D9, 0x89C5, - 0xC3DA, 0x6CCC, 0xC3DB, 0x871C, 0xC3DC, 0x5BC6, 0xC3DD, 0x5E42, 0xC3DE, 0x68C9, 0xC3DF, 0x7720, 0xC3E0, 0x7EF5, 0xC3E1, 0x5195, - 0xC3E2, 0x514D, 0xC3E3, 0x52C9, 0xC3E4, 0x5A29, 0xC3E5, 0x7F05, 0xC3E6, 0x9762, 0xC3E7, 0x82D7, 0xC3E8, 0x63CF, 0xC3E9, 0x7784, - 0xC3EA, 0x85D0, 0xC3EB, 0x79D2, 0xC3EC, 0x6E3A, 0xC3ED, 0x5E99, 0xC3EE, 0x5999, 0xC3EF, 0x8511, 0xC3F0, 0x706D, 0xC3F1, 0x6C11, - 0xC3F2, 0x62BF, 0xC3F3, 0x76BF, 0xC3F4, 0x654F, 0xC3F5, 0x60AF, 0xC3F6, 0x95FD, 0xC3F7, 0x660E, 0xC3F8, 0x879F, 0xC3F9, 0x9E23, - 0xC3FA, 0x94ED, 0xC3FB, 0x540D, 0xC3FC, 0x547D, 0xC3FD, 0x8C2C, 0xC3FE, 0x6478, 0xC440, 0x8140, 0xC441, 0x8141, 0xC442, 0x8142, - 0xC443, 0x8143, 0xC444, 0x8144, 0xC445, 0x8145, 0xC446, 0x8147, 0xC447, 0x8149, 0xC448, 0x814D, 0xC449, 0x814E, 0xC44A, 0x814F, - 0xC44B, 0x8152, 0xC44C, 0x8156, 0xC44D, 0x8157, 0xC44E, 0x8158, 0xC44F, 0x815B, 0xC450, 0x815C, 0xC451, 0x815D, 0xC452, 0x815E, - 0xC453, 0x815F, 0xC454, 0x8161, 0xC455, 0x8162, 0xC456, 0x8163, 0xC457, 0x8164, 0xC458, 0x8166, 0xC459, 0x8168, 0xC45A, 0x816A, - 0xC45B, 0x816B, 0xC45C, 0x816C, 0xC45D, 0x816F, 0xC45E, 0x8172, 0xC45F, 0x8173, 0xC460, 0x8175, 0xC461, 0x8176, 0xC462, 0x8177, - 0xC463, 0x8178, 0xC464, 0x8181, 0xC465, 0x8183, 0xC466, 0x8184, 0xC467, 0x8185, 0xC468, 0x8186, 0xC469, 0x8187, 0xC46A, 0x8189, - 0xC46B, 0x818B, 0xC46C, 0x818C, 0xC46D, 0x818D, 0xC46E, 0x818E, 0xC46F, 0x8190, 0xC470, 0x8192, 0xC471, 0x8193, 0xC472, 0x8194, - 0xC473, 0x8195, 0xC474, 0x8196, 0xC475, 0x8197, 0xC476, 0x8199, 0xC477, 0x819A, 0xC478, 0x819E, 0xC479, 0x819F, 0xC47A, 0x81A0, - 0xC47B, 0x81A1, 0xC47C, 0x81A2, 0xC47D, 0x81A4, 0xC47E, 0x81A5, 0xC480, 0x81A7, 0xC481, 0x81A9, 0xC482, 0x81AB, 0xC483, 0x81AC, - 0xC484, 0x81AD, 0xC485, 0x81AE, 0xC486, 0x81AF, 0xC487, 0x81B0, 0xC488, 0x81B1, 0xC489, 0x81B2, 0xC48A, 0x81B4, 0xC48B, 0x81B5, - 0xC48C, 0x81B6, 0xC48D, 0x81B7, 0xC48E, 0x81B8, 0xC48F, 0x81B9, 0xC490, 0x81BC, 0xC491, 0x81BD, 0xC492, 0x81BE, 0xC493, 0x81BF, - 0xC494, 0x81C4, 0xC495, 0x81C5, 0xC496, 0x81C7, 0xC497, 0x81C8, 0xC498, 0x81C9, 0xC499, 0x81CB, 0xC49A, 0x81CD, 0xC49B, 0x81CE, - 0xC49C, 0x81CF, 0xC49D, 0x81D0, 0xC49E, 0x81D1, 0xC49F, 0x81D2, 0xC4A0, 0x81D3, 0xC4A1, 0x6479, 0xC4A2, 0x8611, 0xC4A3, 0x6A21, - 0xC4A4, 0x819C, 0xC4A5, 0x78E8, 0xC4A6, 0x6469, 0xC4A7, 0x9B54, 0xC4A8, 0x62B9, 0xC4A9, 0x672B, 0xC4AA, 0x83AB, 0xC4AB, 0x58A8, - 0xC4AC, 0x9ED8, 0xC4AD, 0x6CAB, 0xC4AE, 0x6F20, 0xC4AF, 0x5BDE, 0xC4B0, 0x964C, 0xC4B1, 0x8C0B, 0xC4B2, 0x725F, 0xC4B3, 0x67D0, - 0xC4B4, 0x62C7, 0xC4B5, 0x7261, 0xC4B6, 0x4EA9, 0xC4B7, 0x59C6, 0xC4B8, 0x6BCD, 0xC4B9, 0x5893, 0xC4BA, 0x66AE, 0xC4BB, 0x5E55, - 0xC4BC, 0x52DF, 0xC4BD, 0x6155, 0xC4BE, 0x6728, 0xC4BF, 0x76EE, 0xC4C0, 0x7766, 0xC4C1, 0x7267, 0xC4C2, 0x7A46, 0xC4C3, 0x62FF, - 0xC4C4, 0x54EA, 0xC4C5, 0x5450, 0xC4C6, 0x94A0, 0xC4C7, 0x90A3, 0xC4C8, 0x5A1C, 0xC4C9, 0x7EB3, 0xC4CA, 0x6C16, 0xC4CB, 0x4E43, - 0xC4CC, 0x5976, 0xC4CD, 0x8010, 0xC4CE, 0x5948, 0xC4CF, 0x5357, 0xC4D0, 0x7537, 0xC4D1, 0x96BE, 0xC4D2, 0x56CA, 0xC4D3, 0x6320, - 0xC4D4, 0x8111, 0xC4D5, 0x607C, 0xC4D6, 0x95F9, 0xC4D7, 0x6DD6, 0xC4D8, 0x5462, 0xC4D9, 0x9981, 0xC4DA, 0x5185, 0xC4DB, 0x5AE9, - 0xC4DC, 0x80FD, 0xC4DD, 0x59AE, 0xC4DE, 0x9713, 0xC4DF, 0x502A, 0xC4E0, 0x6CE5, 0xC4E1, 0x5C3C, 0xC4E2, 0x62DF, 0xC4E3, 0x4F60, - 0xC4E4, 0x533F, 0xC4E5, 0x817B, 0xC4E6, 0x9006, 0xC4E7, 0x6EBA, 0xC4E8, 0x852B, 0xC4E9, 0x62C8, 0xC4EA, 0x5E74, 0xC4EB, 0x78BE, - 0xC4EC, 0x64B5, 0xC4ED, 0x637B, 0xC4EE, 0x5FF5, 0xC4EF, 0x5A18, 0xC4F0, 0x917F, 0xC4F1, 0x9E1F, 0xC4F2, 0x5C3F, 0xC4F3, 0x634F, - 0xC4F4, 0x8042, 0xC4F5, 0x5B7D, 0xC4F6, 0x556E, 0xC4F7, 0x954A, 0xC4F8, 0x954D, 0xC4F9, 0x6D85, 0xC4FA, 0x60A8, 0xC4FB, 0x67E0, - 0xC4FC, 0x72DE, 0xC4FD, 0x51DD, 0xC4FE, 0x5B81, 0xC540, 0x81D4, 0xC541, 0x81D5, 0xC542, 0x81D6, 0xC543, 0x81D7, 0xC544, 0x81D8, - 0xC545, 0x81D9, 0xC546, 0x81DA, 0xC547, 0x81DB, 0xC548, 0x81DC, 0xC549, 0x81DD, 0xC54A, 0x81DE, 0xC54B, 0x81DF, 0xC54C, 0x81E0, - 0xC54D, 0x81E1, 0xC54E, 0x81E2, 0xC54F, 0x81E4, 0xC550, 0x81E5, 0xC551, 0x81E6, 0xC552, 0x81E8, 0xC553, 0x81E9, 0xC554, 0x81EB, - 0xC555, 0x81EE, 0xC556, 0x81EF, 0xC557, 0x81F0, 0xC558, 0x81F1, 0xC559, 0x81F2, 0xC55A, 0x81F5, 0xC55B, 0x81F6, 0xC55C, 0x81F7, - 0xC55D, 0x81F8, 0xC55E, 0x81F9, 0xC55F, 0x81FA, 0xC560, 0x81FD, 0xC561, 0x81FF, 0xC562, 0x8203, 0xC563, 0x8207, 0xC564, 0x8208, - 0xC565, 0x8209, 0xC566, 0x820A, 0xC567, 0x820B, 0xC568, 0x820E, 0xC569, 0x820F, 0xC56A, 0x8211, 0xC56B, 0x8213, 0xC56C, 0x8215, - 0xC56D, 0x8216, 0xC56E, 0x8217, 0xC56F, 0x8218, 0xC570, 0x8219, 0xC571, 0x821A, 0xC572, 0x821D, 0xC573, 0x8220, 0xC574, 0x8224, - 0xC575, 0x8225, 0xC576, 0x8226, 0xC577, 0x8227, 0xC578, 0x8229, 0xC579, 0x822E, 0xC57A, 0x8232, 0xC57B, 0x823A, 0xC57C, 0x823C, - 0xC57D, 0x823D, 0xC57E, 0x823F, 0xC580, 0x8240, 0xC581, 0x8241, 0xC582, 0x8242, 0xC583, 0x8243, 0xC584, 0x8245, 0xC585, 0x8246, - 0xC586, 0x8248, 0xC587, 0x824A, 0xC588, 0x824C, 0xC589, 0x824D, 0xC58A, 0x824E, 0xC58B, 0x8250, 0xC58C, 0x8251, 0xC58D, 0x8252, - 0xC58E, 0x8253, 0xC58F, 0x8254, 0xC590, 0x8255, 0xC591, 0x8256, 0xC592, 0x8257, 0xC593, 0x8259, 0xC594, 0x825B, 0xC595, 0x825C, - 0xC596, 0x825D, 0xC597, 0x825E, 0xC598, 0x8260, 0xC599, 0x8261, 0xC59A, 0x8262, 0xC59B, 0x8263, 0xC59C, 0x8264, 0xC59D, 0x8265, - 0xC59E, 0x8266, 0xC59F, 0x8267, 0xC5A0, 0x8269, 0xC5A1, 0x62E7, 0xC5A2, 0x6CDE, 0xC5A3, 0x725B, 0xC5A4, 0x626D, 0xC5A5, 0x94AE, - 0xC5A6, 0x7EBD, 0xC5A7, 0x8113, 0xC5A8, 0x6D53, 0xC5A9, 0x519C, 0xC5AA, 0x5F04, 0xC5AB, 0x5974, 0xC5AC, 0x52AA, 0xC5AD, 0x6012, - 0xC5AE, 0x5973, 0xC5AF, 0x6696, 0xC5B0, 0x8650, 0xC5B1, 0x759F, 0xC5B2, 0x632A, 0xC5B3, 0x61E6, 0xC5B4, 0x7CEF, 0xC5B5, 0x8BFA, - 0xC5B6, 0x54E6, 0xC5B7, 0x6B27, 0xC5B8, 0x9E25, 0xC5B9, 0x6BB4, 0xC5BA, 0x85D5, 0xC5BB, 0x5455, 0xC5BC, 0x5076, 0xC5BD, 0x6CA4, - 0xC5BE, 0x556A, 0xC5BF, 0x8DB4, 0xC5C0, 0x722C, 0xC5C1, 0x5E15, 0xC5C2, 0x6015, 0xC5C3, 0x7436, 0xC5C4, 0x62CD, 0xC5C5, 0x6392, - 0xC5C6, 0x724C, 0xC5C7, 0x5F98, 0xC5C8, 0x6E43, 0xC5C9, 0x6D3E, 0xC5CA, 0x6500, 0xC5CB, 0x6F58, 0xC5CC, 0x76D8, 0xC5CD, 0x78D0, - 0xC5CE, 0x76FC, 0xC5CF, 0x7554, 0xC5D0, 0x5224, 0xC5D1, 0x53DB, 0xC5D2, 0x4E53, 0xC5D3, 0x5E9E, 0xC5D4, 0x65C1, 0xC5D5, 0x802A, - 0xC5D6, 0x80D6, 0xC5D7, 0x629B, 0xC5D8, 0x5486, 0xC5D9, 0x5228, 0xC5DA, 0x70AE, 0xC5DB, 0x888D, 0xC5DC, 0x8DD1, 0xC5DD, 0x6CE1, - 0xC5DE, 0x5478, 0xC5DF, 0x80DA, 0xC5E0, 0x57F9, 0xC5E1, 0x88F4, 0xC5E2, 0x8D54, 0xC5E3, 0x966A, 0xC5E4, 0x914D, 0xC5E5, 0x4F69, - 0xC5E6, 0x6C9B, 0xC5E7, 0x55B7, 0xC5E8, 0x76C6, 0xC5E9, 0x7830, 0xC5EA, 0x62A8, 0xC5EB, 0x70F9, 0xC5EC, 0x6F8E, 0xC5ED, 0x5F6D, - 0xC5EE, 0x84EC, 0xC5EF, 0x68DA, 0xC5F0, 0x787C, 0xC5F1, 0x7BF7, 0xC5F2, 0x81A8, 0xC5F3, 0x670B, 0xC5F4, 0x9E4F, 0xC5F5, 0x6367, - 0xC5F6, 0x78B0, 0xC5F7, 0x576F, 0xC5F8, 0x7812, 0xC5F9, 0x9739, 0xC5FA, 0x6279, 0xC5FB, 0x62AB, 0xC5FC, 0x5288, 0xC5FD, 0x7435, - 0xC5FE, 0x6BD7, 0xC640, 0x826A, 0xC641, 0x826B, 0xC642, 0x826C, 0xC643, 0x826D, 0xC644, 0x8271, 0xC645, 0x8275, 0xC646, 0x8276, - 0xC647, 0x8277, 0xC648, 0x8278, 0xC649, 0x827B, 0xC64A, 0x827C, 0xC64B, 0x8280, 0xC64C, 0x8281, 0xC64D, 0x8283, 0xC64E, 0x8285, - 0xC64F, 0x8286, 0xC650, 0x8287, 0xC651, 0x8289, 0xC652, 0x828C, 0xC653, 0x8290, 0xC654, 0x8293, 0xC655, 0x8294, 0xC656, 0x8295, - 0xC657, 0x8296, 0xC658, 0x829A, 0xC659, 0x829B, 0xC65A, 0x829E, 0xC65B, 0x82A0, 0xC65C, 0x82A2, 0xC65D, 0x82A3, 0xC65E, 0x82A7, - 0xC65F, 0x82B2, 0xC660, 0x82B5, 0xC661, 0x82B6, 0xC662, 0x82BA, 0xC663, 0x82BB, 0xC664, 0x82BC, 0xC665, 0x82BF, 0xC666, 0x82C0, - 0xC667, 0x82C2, 0xC668, 0x82C3, 0xC669, 0x82C5, 0xC66A, 0x82C6, 0xC66B, 0x82C9, 0xC66C, 0x82D0, 0xC66D, 0x82D6, 0xC66E, 0x82D9, - 0xC66F, 0x82DA, 0xC670, 0x82DD, 0xC671, 0x82E2, 0xC672, 0x82E7, 0xC673, 0x82E8, 0xC674, 0x82E9, 0xC675, 0x82EA, 0xC676, 0x82EC, - 0xC677, 0x82ED, 0xC678, 0x82EE, 0xC679, 0x82F0, 0xC67A, 0x82F2, 0xC67B, 0x82F3, 0xC67C, 0x82F5, 0xC67D, 0x82F6, 0xC67E, 0x82F8, - 0xC680, 0x82FA, 0xC681, 0x82FC, 0xC682, 0x82FD, 0xC683, 0x82FE, 0xC684, 0x82FF, 0xC685, 0x8300, 0xC686, 0x830A, 0xC687, 0x830B, - 0xC688, 0x830D, 0xC689, 0x8310, 0xC68A, 0x8312, 0xC68B, 0x8313, 0xC68C, 0x8316, 0xC68D, 0x8318, 0xC68E, 0x8319, 0xC68F, 0x831D, - 0xC690, 0x831E, 0xC691, 0x831F, 0xC692, 0x8320, 0xC693, 0x8321, 0xC694, 0x8322, 0xC695, 0x8323, 0xC696, 0x8324, 0xC697, 0x8325, - 0xC698, 0x8326, 0xC699, 0x8329, 0xC69A, 0x832A, 0xC69B, 0x832E, 0xC69C, 0x8330, 0xC69D, 0x8332, 0xC69E, 0x8337, 0xC69F, 0x833B, - 0xC6A0, 0x833D, 0xC6A1, 0x5564, 0xC6A2, 0x813E, 0xC6A3, 0x75B2, 0xC6A4, 0x76AE, 0xC6A5, 0x5339, 0xC6A6, 0x75DE, 0xC6A7, 0x50FB, - 0xC6A8, 0x5C41, 0xC6A9, 0x8B6C, 0xC6AA, 0x7BC7, 0xC6AB, 0x504F, 0xC6AC, 0x7247, 0xC6AD, 0x9A97, 0xC6AE, 0x98D8, 0xC6AF, 0x6F02, - 0xC6B0, 0x74E2, 0xC6B1, 0x7968, 0xC6B2, 0x6487, 0xC6B3, 0x77A5, 0xC6B4, 0x62FC, 0xC6B5, 0x9891, 0xC6B6, 0x8D2B, 0xC6B7, 0x54C1, - 0xC6B8, 0x8058, 0xC6B9, 0x4E52, 0xC6BA, 0x576A, 0xC6BB, 0x82F9, 0xC6BC, 0x840D, 0xC6BD, 0x5E73, 0xC6BE, 0x51ED, 0xC6BF, 0x74F6, - 0xC6C0, 0x8BC4, 0xC6C1, 0x5C4F, 0xC6C2, 0x5761, 0xC6C3, 0x6CFC, 0xC6C4, 0x9887, 0xC6C5, 0x5A46, 0xC6C6, 0x7834, 0xC6C7, 0x9B44, - 0xC6C8, 0x8FEB, 0xC6C9, 0x7C95, 0xC6CA, 0x5256, 0xC6CB, 0x6251, 0xC6CC, 0x94FA, 0xC6CD, 0x4EC6, 0xC6CE, 0x8386, 0xC6CF, 0x8461, - 0xC6D0, 0x83E9, 0xC6D1, 0x84B2, 0xC6D2, 0x57D4, 0xC6D3, 0x6734, 0xC6D4, 0x5703, 0xC6D5, 0x666E, 0xC6D6, 0x6D66, 0xC6D7, 0x8C31, - 0xC6D8, 0x66DD, 0xC6D9, 0x7011, 0xC6DA, 0x671F, 0xC6DB, 0x6B3A, 0xC6DC, 0x6816, 0xC6DD, 0x621A, 0xC6DE, 0x59BB, 0xC6DF, 0x4E03, - 0xC6E0, 0x51C4, 0xC6E1, 0x6F06, 0xC6E2, 0x67D2, 0xC6E3, 0x6C8F, 0xC6E4, 0x5176, 0xC6E5, 0x68CB, 0xC6E6, 0x5947, 0xC6E7, 0x6B67, - 0xC6E8, 0x7566, 0xC6E9, 0x5D0E, 0xC6EA, 0x8110, 0xC6EB, 0x9F50, 0xC6EC, 0x65D7, 0xC6ED, 0x7948, 0xC6EE, 0x7941, 0xC6EF, 0x9A91, - 0xC6F0, 0x8D77, 0xC6F1, 0x5C82, 0xC6F2, 0x4E5E, 0xC6F3, 0x4F01, 0xC6F4, 0x542F, 0xC6F5, 0x5951, 0xC6F6, 0x780C, 0xC6F7, 0x5668, - 0xC6F8, 0x6C14, 0xC6F9, 0x8FC4, 0xC6FA, 0x5F03, 0xC6FB, 0x6C7D, 0xC6FC, 0x6CE3, 0xC6FD, 0x8BAB, 0xC6FE, 0x6390, 0xC740, 0x833E, - 0xC741, 0x833F, 0xC742, 0x8341, 0xC743, 0x8342, 0xC744, 0x8344, 0xC745, 0x8345, 0xC746, 0x8348, 0xC747, 0x834A, 0xC748, 0x834B, - 0xC749, 0x834C, 0xC74A, 0x834D, 0xC74B, 0x834E, 0xC74C, 0x8353, 0xC74D, 0x8355, 0xC74E, 0x8356, 0xC74F, 0x8357, 0xC750, 0x8358, - 0xC751, 0x8359, 0xC752, 0x835D, 0xC753, 0x8362, 0xC754, 0x8370, 0xC755, 0x8371, 0xC756, 0x8372, 0xC757, 0x8373, 0xC758, 0x8374, - 0xC759, 0x8375, 0xC75A, 0x8376, 0xC75B, 0x8379, 0xC75C, 0x837A, 0xC75D, 0x837E, 0xC75E, 0x837F, 0xC75F, 0x8380, 0xC760, 0x8381, - 0xC761, 0x8382, 0xC762, 0x8383, 0xC763, 0x8384, 0xC764, 0x8387, 0xC765, 0x8388, 0xC766, 0x838A, 0xC767, 0x838B, 0xC768, 0x838C, - 0xC769, 0x838D, 0xC76A, 0x838F, 0xC76B, 0x8390, 0xC76C, 0x8391, 0xC76D, 0x8394, 0xC76E, 0x8395, 0xC76F, 0x8396, 0xC770, 0x8397, - 0xC771, 0x8399, 0xC772, 0x839A, 0xC773, 0x839D, 0xC774, 0x839F, 0xC775, 0x83A1, 0xC776, 0x83A2, 0xC777, 0x83A3, 0xC778, 0x83A4, - 0xC779, 0x83A5, 0xC77A, 0x83A6, 0xC77B, 0x83A7, 0xC77C, 0x83AC, 0xC77D, 0x83AD, 0xC77E, 0x83AE, 0xC780, 0x83AF, 0xC781, 0x83B5, - 0xC782, 0x83BB, 0xC783, 0x83BE, 0xC784, 0x83BF, 0xC785, 0x83C2, 0xC786, 0x83C3, 0xC787, 0x83C4, 0xC788, 0x83C6, 0xC789, 0x83C8, - 0xC78A, 0x83C9, 0xC78B, 0x83CB, 0xC78C, 0x83CD, 0xC78D, 0x83CE, 0xC78E, 0x83D0, 0xC78F, 0x83D1, 0xC790, 0x83D2, 0xC791, 0x83D3, - 0xC792, 0x83D5, 0xC793, 0x83D7, 0xC794, 0x83D9, 0xC795, 0x83DA, 0xC796, 0x83DB, 0xC797, 0x83DE, 0xC798, 0x83E2, 0xC799, 0x83E3, - 0xC79A, 0x83E4, 0xC79B, 0x83E6, 0xC79C, 0x83E7, 0xC79D, 0x83E8, 0xC79E, 0x83EB, 0xC79F, 0x83EC, 0xC7A0, 0x83ED, 0xC7A1, 0x6070, - 0xC7A2, 0x6D3D, 0xC7A3, 0x7275, 0xC7A4, 0x6266, 0xC7A5, 0x948E, 0xC7A6, 0x94C5, 0xC7A7, 0x5343, 0xC7A8, 0x8FC1, 0xC7A9, 0x7B7E, - 0xC7AA, 0x4EDF, 0xC7AB, 0x8C26, 0xC7AC, 0x4E7E, 0xC7AD, 0x9ED4, 0xC7AE, 0x94B1, 0xC7AF, 0x94B3, 0xC7B0, 0x524D, 0xC7B1, 0x6F5C, - 0xC7B2, 0x9063, 0xC7B3, 0x6D45, 0xC7B4, 0x8C34, 0xC7B5, 0x5811, 0xC7B6, 0x5D4C, 0xC7B7, 0x6B20, 0xC7B8, 0x6B49, 0xC7B9, 0x67AA, - 0xC7BA, 0x545B, 0xC7BB, 0x8154, 0xC7BC, 0x7F8C, 0xC7BD, 0x5899, 0xC7BE, 0x8537, 0xC7BF, 0x5F3A, 0xC7C0, 0x62A2, 0xC7C1, 0x6A47, - 0xC7C2, 0x9539, 0xC7C3, 0x6572, 0xC7C4, 0x6084, 0xC7C5, 0x6865, 0xC7C6, 0x77A7, 0xC7C7, 0x4E54, 0xC7C8, 0x4FA8, 0xC7C9, 0x5DE7, - 0xC7CA, 0x9798, 0xC7CB, 0x64AC, 0xC7CC, 0x7FD8, 0xC7CD, 0x5CED, 0xC7CE, 0x4FCF, 0xC7CF, 0x7A8D, 0xC7D0, 0x5207, 0xC7D1, 0x8304, - 0xC7D2, 0x4E14, 0xC7D3, 0x602F, 0xC7D4, 0x7A83, 0xC7D5, 0x94A6, 0xC7D6, 0x4FB5, 0xC7D7, 0x4EB2, 0xC7D8, 0x79E6, 0xC7D9, 0x7434, - 0xC7DA, 0x52E4, 0xC7DB, 0x82B9, 0xC7DC, 0x64D2, 0xC7DD, 0x79BD, 0xC7DE, 0x5BDD, 0xC7DF, 0x6C81, 0xC7E0, 0x9752, 0xC7E1, 0x8F7B, - 0xC7E2, 0x6C22, 0xC7E3, 0x503E, 0xC7E4, 0x537F, 0xC7E5, 0x6E05, 0xC7E6, 0x64CE, 0xC7E7, 0x6674, 0xC7E8, 0x6C30, 0xC7E9, 0x60C5, - 0xC7EA, 0x9877, 0xC7EB, 0x8BF7, 0xC7EC, 0x5E86, 0xC7ED, 0x743C, 0xC7EE, 0x7A77, 0xC7EF, 0x79CB, 0xC7F0, 0x4E18, 0xC7F1, 0x90B1, - 0xC7F2, 0x7403, 0xC7F3, 0x6C42, 0xC7F4, 0x56DA, 0xC7F5, 0x914B, 0xC7F6, 0x6CC5, 0xC7F7, 0x8D8B, 0xC7F8, 0x533A, 0xC7F9, 0x86C6, - 0xC7FA, 0x66F2, 0xC7FB, 0x8EAF, 0xC7FC, 0x5C48, 0xC7FD, 0x9A71, 0xC7FE, 0x6E20, 0xC840, 0x83EE, 0xC841, 0x83EF, 0xC842, 0x83F3, - 0xC843, 0x83F4, 0xC844, 0x83F5, 0xC845, 0x83F6, 0xC846, 0x83F7, 0xC847, 0x83FA, 0xC848, 0x83FB, 0xC849, 0x83FC, 0xC84A, 0x83FE, - 0xC84B, 0x83FF, 0xC84C, 0x8400, 0xC84D, 0x8402, 0xC84E, 0x8405, 0xC84F, 0x8407, 0xC850, 0x8408, 0xC851, 0x8409, 0xC852, 0x840A, - 0xC853, 0x8410, 0xC854, 0x8412, 0xC855, 0x8413, 0xC856, 0x8414, 0xC857, 0x8415, 0xC858, 0x8416, 0xC859, 0x8417, 0xC85A, 0x8419, - 0xC85B, 0x841A, 0xC85C, 0x841B, 0xC85D, 0x841E, 0xC85E, 0x841F, 0xC85F, 0x8420, 0xC860, 0x8421, 0xC861, 0x8422, 0xC862, 0x8423, - 0xC863, 0x8429, 0xC864, 0x842A, 0xC865, 0x842B, 0xC866, 0x842C, 0xC867, 0x842D, 0xC868, 0x842E, 0xC869, 0x842F, 0xC86A, 0x8430, - 0xC86B, 0x8432, 0xC86C, 0x8433, 0xC86D, 0x8434, 0xC86E, 0x8435, 0xC86F, 0x8436, 0xC870, 0x8437, 0xC871, 0x8439, 0xC872, 0x843A, - 0xC873, 0x843B, 0xC874, 0x843E, 0xC875, 0x843F, 0xC876, 0x8440, 0xC877, 0x8441, 0xC878, 0x8442, 0xC879, 0x8443, 0xC87A, 0x8444, - 0xC87B, 0x8445, 0xC87C, 0x8447, 0xC87D, 0x8448, 0xC87E, 0x8449, 0xC880, 0x844A, 0xC881, 0x844B, 0xC882, 0x844C, 0xC883, 0x844D, - 0xC884, 0x844E, 0xC885, 0x844F, 0xC886, 0x8450, 0xC887, 0x8452, 0xC888, 0x8453, 0xC889, 0x8454, 0xC88A, 0x8455, 0xC88B, 0x8456, - 0xC88C, 0x8458, 0xC88D, 0x845D, 0xC88E, 0x845E, 0xC88F, 0x845F, 0xC890, 0x8460, 0xC891, 0x8462, 0xC892, 0x8464, 0xC893, 0x8465, - 0xC894, 0x8466, 0xC895, 0x8467, 0xC896, 0x8468, 0xC897, 0x846A, 0xC898, 0x846E, 0xC899, 0x846F, 0xC89A, 0x8470, 0xC89B, 0x8472, - 0xC89C, 0x8474, 0xC89D, 0x8477, 0xC89E, 0x8479, 0xC89F, 0x847B, 0xC8A0, 0x847C, 0xC8A1, 0x53D6, 0xC8A2, 0x5A36, 0xC8A3, 0x9F8B, - 0xC8A4, 0x8DA3, 0xC8A5, 0x53BB, 0xC8A6, 0x5708, 0xC8A7, 0x98A7, 0xC8A8, 0x6743, 0xC8A9, 0x919B, 0xC8AA, 0x6CC9, 0xC8AB, 0x5168, - 0xC8AC, 0x75CA, 0xC8AD, 0x62F3, 0xC8AE, 0x72AC, 0xC8AF, 0x5238, 0xC8B0, 0x529D, 0xC8B1, 0x7F3A, 0xC8B2, 0x7094, 0xC8B3, 0x7638, - 0xC8B4, 0x5374, 0xC8B5, 0x9E4A, 0xC8B6, 0x69B7, 0xC8B7, 0x786E, 0xC8B8, 0x96C0, 0xC8B9, 0x88D9, 0xC8BA, 0x7FA4, 0xC8BB, 0x7136, - 0xC8BC, 0x71C3, 0xC8BD, 0x5189, 0xC8BE, 0x67D3, 0xC8BF, 0x74E4, 0xC8C0, 0x58E4, 0xC8C1, 0x6518, 0xC8C2, 0x56B7, 0xC8C3, 0x8BA9, - 0xC8C4, 0x9976, 0xC8C5, 0x6270, 0xC8C6, 0x7ED5, 0xC8C7, 0x60F9, 0xC8C8, 0x70ED, 0xC8C9, 0x58EC, 0xC8CA, 0x4EC1, 0xC8CB, 0x4EBA, - 0xC8CC, 0x5FCD, 0xC8CD, 0x97E7, 0xC8CE, 0x4EFB, 0xC8CF, 0x8BA4, 0xC8D0, 0x5203, 0xC8D1, 0x598A, 0xC8D2, 0x7EAB, 0xC8D3, 0x6254, - 0xC8D4, 0x4ECD, 0xC8D5, 0x65E5, 0xC8D6, 0x620E, 0xC8D7, 0x8338, 0xC8D8, 0x84C9, 0xC8D9, 0x8363, 0xC8DA, 0x878D, 0xC8DB, 0x7194, - 0xC8DC, 0x6EB6, 0xC8DD, 0x5BB9, 0xC8DE, 0x7ED2, 0xC8DF, 0x5197, 0xC8E0, 0x63C9, 0xC8E1, 0x67D4, 0xC8E2, 0x8089, 0xC8E3, 0x8339, - 0xC8E4, 0x8815, 0xC8E5, 0x5112, 0xC8E6, 0x5B7A, 0xC8E7, 0x5982, 0xC8E8, 0x8FB1, 0xC8E9, 0x4E73, 0xC8EA, 0x6C5D, 0xC8EB, 0x5165, - 0xC8EC, 0x8925, 0xC8ED, 0x8F6F, 0xC8EE, 0x962E, 0xC8EF, 0x854A, 0xC8F0, 0x745E, 0xC8F1, 0x9510, 0xC8F2, 0x95F0, 0xC8F3, 0x6DA6, - 0xC8F4, 0x82E5, 0xC8F5, 0x5F31, 0xC8F6, 0x6492, 0xC8F7, 0x6D12, 0xC8F8, 0x8428, 0xC8F9, 0x816E, 0xC8FA, 0x9CC3, 0xC8FB, 0x585E, - 0xC8FC, 0x8D5B, 0xC8FD, 0x4E09, 0xC8FE, 0x53C1, 0xC940, 0x847D, 0xC941, 0x847E, 0xC942, 0x847F, 0xC943, 0x8480, 0xC944, 0x8481, - 0xC945, 0x8483, 0xC946, 0x8484, 0xC947, 0x8485, 0xC948, 0x8486, 0xC949, 0x848A, 0xC94A, 0x848D, 0xC94B, 0x848F, 0xC94C, 0x8490, - 0xC94D, 0x8491, 0xC94E, 0x8492, 0xC94F, 0x8493, 0xC950, 0x8494, 0xC951, 0x8495, 0xC952, 0x8496, 0xC953, 0x8498, 0xC954, 0x849A, - 0xC955, 0x849B, 0xC956, 0x849D, 0xC957, 0x849E, 0xC958, 0x849F, 0xC959, 0x84A0, 0xC95A, 0x84A2, 0xC95B, 0x84A3, 0xC95C, 0x84A4, - 0xC95D, 0x84A5, 0xC95E, 0x84A6, 0xC95F, 0x84A7, 0xC960, 0x84A8, 0xC961, 0x84A9, 0xC962, 0x84AA, 0xC963, 0x84AB, 0xC964, 0x84AC, - 0xC965, 0x84AD, 0xC966, 0x84AE, 0xC967, 0x84B0, 0xC968, 0x84B1, 0xC969, 0x84B3, 0xC96A, 0x84B5, 0xC96B, 0x84B6, 0xC96C, 0x84B7, - 0xC96D, 0x84BB, 0xC96E, 0x84BC, 0xC96F, 0x84BE, 0xC970, 0x84C0, 0xC971, 0x84C2, 0xC972, 0x84C3, 0xC973, 0x84C5, 0xC974, 0x84C6, - 0xC975, 0x84C7, 0xC976, 0x84C8, 0xC977, 0x84CB, 0xC978, 0x84CC, 0xC979, 0x84CE, 0xC97A, 0x84CF, 0xC97B, 0x84D2, 0xC97C, 0x84D4, - 0xC97D, 0x84D5, 0xC97E, 0x84D7, 0xC980, 0x84D8, 0xC981, 0x84D9, 0xC982, 0x84DA, 0xC983, 0x84DB, 0xC984, 0x84DC, 0xC985, 0x84DE, - 0xC986, 0x84E1, 0xC987, 0x84E2, 0xC988, 0x84E4, 0xC989, 0x84E7, 0xC98A, 0x84E8, 0xC98B, 0x84E9, 0xC98C, 0x84EA, 0xC98D, 0x84EB, - 0xC98E, 0x84ED, 0xC98F, 0x84EE, 0xC990, 0x84EF, 0xC991, 0x84F1, 0xC992, 0x84F2, 0xC993, 0x84F3, 0xC994, 0x84F4, 0xC995, 0x84F5, - 0xC996, 0x84F6, 0xC997, 0x84F7, 0xC998, 0x84F8, 0xC999, 0x84F9, 0xC99A, 0x84FA, 0xC99B, 0x84FB, 0xC99C, 0x84FD, 0xC99D, 0x84FE, - 0xC99E, 0x8500, 0xC99F, 0x8501, 0xC9A0, 0x8502, 0xC9A1, 0x4F1E, 0xC9A2, 0x6563, 0xC9A3, 0x6851, 0xC9A4, 0x55D3, 0xC9A5, 0x4E27, - 0xC9A6, 0x6414, 0xC9A7, 0x9A9A, 0xC9A8, 0x626B, 0xC9A9, 0x5AC2, 0xC9AA, 0x745F, 0xC9AB, 0x8272, 0xC9AC, 0x6DA9, 0xC9AD, 0x68EE, - 0xC9AE, 0x50E7, 0xC9AF, 0x838E, 0xC9B0, 0x7802, 0xC9B1, 0x6740, 0xC9B2, 0x5239, 0xC9B3, 0x6C99, 0xC9B4, 0x7EB1, 0xC9B5, 0x50BB, - 0xC9B6, 0x5565, 0xC9B7, 0x715E, 0xC9B8, 0x7B5B, 0xC9B9, 0x6652, 0xC9BA, 0x73CA, 0xC9BB, 0x82EB, 0xC9BC, 0x6749, 0xC9BD, 0x5C71, - 0xC9BE, 0x5220, 0xC9BF, 0x717D, 0xC9C0, 0x886B, 0xC9C1, 0x95EA, 0xC9C2, 0x9655, 0xC9C3, 0x64C5, 0xC9C4, 0x8D61, 0xC9C5, 0x81B3, - 0xC9C6, 0x5584, 0xC9C7, 0x6C55, 0xC9C8, 0x6247, 0xC9C9, 0x7F2E, 0xC9CA, 0x5892, 0xC9CB, 0x4F24, 0xC9CC, 0x5546, 0xC9CD, 0x8D4F, - 0xC9CE, 0x664C, 0xC9CF, 0x4E0A, 0xC9D0, 0x5C1A, 0xC9D1, 0x88F3, 0xC9D2, 0x68A2, 0xC9D3, 0x634E, 0xC9D4, 0x7A0D, 0xC9D5, 0x70E7, - 0xC9D6, 0x828D, 0xC9D7, 0x52FA, 0xC9D8, 0x97F6, 0xC9D9, 0x5C11, 0xC9DA, 0x54E8, 0xC9DB, 0x90B5, 0xC9DC, 0x7ECD, 0xC9DD, 0x5962, - 0xC9DE, 0x8D4A, 0xC9DF, 0x86C7, 0xC9E0, 0x820C, 0xC9E1, 0x820D, 0xC9E2, 0x8D66, 0xC9E3, 0x6444, 0xC9E4, 0x5C04, 0xC9E5, 0x6151, - 0xC9E6, 0x6D89, 0xC9E7, 0x793E, 0xC9E8, 0x8BBE, 0xC9E9, 0x7837, 0xC9EA, 0x7533, 0xC9EB, 0x547B, 0xC9EC, 0x4F38, 0xC9ED, 0x8EAB, - 0xC9EE, 0x6DF1, 0xC9EF, 0x5A20, 0xC9F0, 0x7EC5, 0xC9F1, 0x795E, 0xC9F2, 0x6C88, 0xC9F3, 0x5BA1, 0xC9F4, 0x5A76, 0xC9F5, 0x751A, - 0xC9F6, 0x80BE, 0xC9F7, 0x614E, 0xC9F8, 0x6E17, 0xC9F9, 0x58F0, 0xC9FA, 0x751F, 0xC9FB, 0x7525, 0xC9FC, 0x7272, 0xC9FD, 0x5347, - 0xC9FE, 0x7EF3, 0xCA40, 0x8503, 0xCA41, 0x8504, 0xCA42, 0x8505, 0xCA43, 0x8506, 0xCA44, 0x8507, 0xCA45, 0x8508, 0xCA46, 0x8509, - 0xCA47, 0x850A, 0xCA48, 0x850B, 0xCA49, 0x850D, 0xCA4A, 0x850E, 0xCA4B, 0x850F, 0xCA4C, 0x8510, 0xCA4D, 0x8512, 0xCA4E, 0x8514, - 0xCA4F, 0x8515, 0xCA50, 0x8516, 0xCA51, 0x8518, 0xCA52, 0x8519, 0xCA53, 0x851B, 0xCA54, 0x851C, 0xCA55, 0x851D, 0xCA56, 0x851E, - 0xCA57, 0x8520, 0xCA58, 0x8522, 0xCA59, 0x8523, 0xCA5A, 0x8524, 0xCA5B, 0x8525, 0xCA5C, 0x8526, 0xCA5D, 0x8527, 0xCA5E, 0x8528, - 0xCA5F, 0x8529, 0xCA60, 0x852A, 0xCA61, 0x852D, 0xCA62, 0x852E, 0xCA63, 0x852F, 0xCA64, 0x8530, 0xCA65, 0x8531, 0xCA66, 0x8532, - 0xCA67, 0x8533, 0xCA68, 0x8534, 0xCA69, 0x8535, 0xCA6A, 0x8536, 0xCA6B, 0x853E, 0xCA6C, 0x853F, 0xCA6D, 0x8540, 0xCA6E, 0x8541, - 0xCA6F, 0x8542, 0xCA70, 0x8544, 0xCA71, 0x8545, 0xCA72, 0x8546, 0xCA73, 0x8547, 0xCA74, 0x854B, 0xCA75, 0x854C, 0xCA76, 0x854D, - 0xCA77, 0x854E, 0xCA78, 0x854F, 0xCA79, 0x8550, 0xCA7A, 0x8551, 0xCA7B, 0x8552, 0xCA7C, 0x8553, 0xCA7D, 0x8554, 0xCA7E, 0x8555, - 0xCA80, 0x8557, 0xCA81, 0x8558, 0xCA82, 0x855A, 0xCA83, 0x855B, 0xCA84, 0x855C, 0xCA85, 0x855D, 0xCA86, 0x855F, 0xCA87, 0x8560, - 0xCA88, 0x8561, 0xCA89, 0x8562, 0xCA8A, 0x8563, 0xCA8B, 0x8565, 0xCA8C, 0x8566, 0xCA8D, 0x8567, 0xCA8E, 0x8569, 0xCA8F, 0x856A, - 0xCA90, 0x856B, 0xCA91, 0x856C, 0xCA92, 0x856D, 0xCA93, 0x856E, 0xCA94, 0x856F, 0xCA95, 0x8570, 0xCA96, 0x8571, 0xCA97, 0x8573, - 0xCA98, 0x8575, 0xCA99, 0x8576, 0xCA9A, 0x8577, 0xCA9B, 0x8578, 0xCA9C, 0x857C, 0xCA9D, 0x857D, 0xCA9E, 0x857F, 0xCA9F, 0x8580, - 0xCAA0, 0x8581, 0xCAA1, 0x7701, 0xCAA2, 0x76DB, 0xCAA3, 0x5269, 0xCAA4, 0x80DC, 0xCAA5, 0x5723, 0xCAA6, 0x5E08, 0xCAA7, 0x5931, - 0xCAA8, 0x72EE, 0xCAA9, 0x65BD, 0xCAAA, 0x6E7F, 0xCAAB, 0x8BD7, 0xCAAC, 0x5C38, 0xCAAD, 0x8671, 0xCAAE, 0x5341, 0xCAAF, 0x77F3, - 0xCAB0, 0x62FE, 0xCAB1, 0x65F6, 0xCAB2, 0x4EC0, 0xCAB3, 0x98DF, 0xCAB4, 0x8680, 0xCAB5, 0x5B9E, 0xCAB6, 0x8BC6, 0xCAB7, 0x53F2, - 0xCAB8, 0x77E2, 0xCAB9, 0x4F7F, 0xCABA, 0x5C4E, 0xCABB, 0x9A76, 0xCABC, 0x59CB, 0xCABD, 0x5F0F, 0xCABE, 0x793A, 0xCABF, 0x58EB, - 0xCAC0, 0x4E16, 0xCAC1, 0x67FF, 0xCAC2, 0x4E8B, 0xCAC3, 0x62ED, 0xCAC4, 0x8A93, 0xCAC5, 0x901D, 0xCAC6, 0x52BF, 0xCAC7, 0x662F, - 0xCAC8, 0x55DC, 0xCAC9, 0x566C, 0xCACA, 0x9002, 0xCACB, 0x4ED5, 0xCACC, 0x4F8D, 0xCACD, 0x91CA, 0xCACE, 0x9970, 0xCACF, 0x6C0F, - 0xCAD0, 0x5E02, 0xCAD1, 0x6043, 0xCAD2, 0x5BA4, 0xCAD3, 0x89C6, 0xCAD4, 0x8BD5, 0xCAD5, 0x6536, 0xCAD6, 0x624B, 0xCAD7, 0x9996, - 0xCAD8, 0x5B88, 0xCAD9, 0x5BFF, 0xCADA, 0x6388, 0xCADB, 0x552E, 0xCADC, 0x53D7, 0xCADD, 0x7626, 0xCADE, 0x517D, 0xCADF, 0x852C, - 0xCAE0, 0x67A2, 0xCAE1, 0x68B3, 0xCAE2, 0x6B8A, 0xCAE3, 0x6292, 0xCAE4, 0x8F93, 0xCAE5, 0x53D4, 0xCAE6, 0x8212, 0xCAE7, 0x6DD1, - 0xCAE8, 0x758F, 0xCAE9, 0x4E66, 0xCAEA, 0x8D4E, 0xCAEB, 0x5B70, 0xCAEC, 0x719F, 0xCAED, 0x85AF, 0xCAEE, 0x6691, 0xCAEF, 0x66D9, - 0xCAF0, 0x7F72, 0xCAF1, 0x8700, 0xCAF2, 0x9ECD, 0xCAF3, 0x9F20, 0xCAF4, 0x5C5E, 0xCAF5, 0x672F, 0xCAF6, 0x8FF0, 0xCAF7, 0x6811, - 0xCAF8, 0x675F, 0xCAF9, 0x620D, 0xCAFA, 0x7AD6, 0xCAFB, 0x5885, 0xCAFC, 0x5EB6, 0xCAFD, 0x6570, 0xCAFE, 0x6F31, 0xCB40, 0x8582, - 0xCB41, 0x8583, 0xCB42, 0x8586, 0xCB43, 0x8588, 0xCB44, 0x8589, 0xCB45, 0x858A, 0xCB46, 0x858B, 0xCB47, 0x858C, 0xCB48, 0x858D, - 0xCB49, 0x858E, 0xCB4A, 0x8590, 0xCB4B, 0x8591, 0xCB4C, 0x8592, 0xCB4D, 0x8593, 0xCB4E, 0x8594, 0xCB4F, 0x8595, 0xCB50, 0x8596, - 0xCB51, 0x8597, 0xCB52, 0x8598, 0xCB53, 0x8599, 0xCB54, 0x859A, 0xCB55, 0x859D, 0xCB56, 0x859E, 0xCB57, 0x859F, 0xCB58, 0x85A0, - 0xCB59, 0x85A1, 0xCB5A, 0x85A2, 0xCB5B, 0x85A3, 0xCB5C, 0x85A5, 0xCB5D, 0x85A6, 0xCB5E, 0x85A7, 0xCB5F, 0x85A9, 0xCB60, 0x85AB, - 0xCB61, 0x85AC, 0xCB62, 0x85AD, 0xCB63, 0x85B1, 0xCB64, 0x85B2, 0xCB65, 0x85B3, 0xCB66, 0x85B4, 0xCB67, 0x85B5, 0xCB68, 0x85B6, - 0xCB69, 0x85B8, 0xCB6A, 0x85BA, 0xCB6B, 0x85BB, 0xCB6C, 0x85BC, 0xCB6D, 0x85BD, 0xCB6E, 0x85BE, 0xCB6F, 0x85BF, 0xCB70, 0x85C0, - 0xCB71, 0x85C2, 0xCB72, 0x85C3, 0xCB73, 0x85C4, 0xCB74, 0x85C5, 0xCB75, 0x85C6, 0xCB76, 0x85C7, 0xCB77, 0x85C8, 0xCB78, 0x85CA, - 0xCB79, 0x85CB, 0xCB7A, 0x85CC, 0xCB7B, 0x85CD, 0xCB7C, 0x85CE, 0xCB7D, 0x85D1, 0xCB7E, 0x85D2, 0xCB80, 0x85D4, 0xCB81, 0x85D6, - 0xCB82, 0x85D7, 0xCB83, 0x85D8, 0xCB84, 0x85D9, 0xCB85, 0x85DA, 0xCB86, 0x85DB, 0xCB87, 0x85DD, 0xCB88, 0x85DE, 0xCB89, 0x85DF, - 0xCB8A, 0x85E0, 0xCB8B, 0x85E1, 0xCB8C, 0x85E2, 0xCB8D, 0x85E3, 0xCB8E, 0x85E5, 0xCB8F, 0x85E6, 0xCB90, 0x85E7, 0xCB91, 0x85E8, - 0xCB92, 0x85EA, 0xCB93, 0x85EB, 0xCB94, 0x85EC, 0xCB95, 0x85ED, 0xCB96, 0x85EE, 0xCB97, 0x85EF, 0xCB98, 0x85F0, 0xCB99, 0x85F1, - 0xCB9A, 0x85F2, 0xCB9B, 0x85F3, 0xCB9C, 0x85F4, 0xCB9D, 0x85F5, 0xCB9E, 0x85F6, 0xCB9F, 0x85F7, 0xCBA0, 0x85F8, 0xCBA1, 0x6055, - 0xCBA2, 0x5237, 0xCBA3, 0x800D, 0xCBA4, 0x6454, 0xCBA5, 0x8870, 0xCBA6, 0x7529, 0xCBA7, 0x5E05, 0xCBA8, 0x6813, 0xCBA9, 0x62F4, - 0xCBAA, 0x971C, 0xCBAB, 0x53CC, 0xCBAC, 0x723D, 0xCBAD, 0x8C01, 0xCBAE, 0x6C34, 0xCBAF, 0x7761, 0xCBB0, 0x7A0E, 0xCBB1, 0x542E, - 0xCBB2, 0x77AC, 0xCBB3, 0x987A, 0xCBB4, 0x821C, 0xCBB5, 0x8BF4, 0xCBB6, 0x7855, 0xCBB7, 0x6714, 0xCBB8, 0x70C1, 0xCBB9, 0x65AF, - 0xCBBA, 0x6495, 0xCBBB, 0x5636, 0xCBBC, 0x601D, 0xCBBD, 0x79C1, 0xCBBE, 0x53F8, 0xCBBF, 0x4E1D, 0xCBC0, 0x6B7B, 0xCBC1, 0x8086, - 0xCBC2, 0x5BFA, 0xCBC3, 0x55E3, 0xCBC4, 0x56DB, 0xCBC5, 0x4F3A, 0xCBC6, 0x4F3C, 0xCBC7, 0x9972, 0xCBC8, 0x5DF3, 0xCBC9, 0x677E, - 0xCBCA, 0x8038, 0xCBCB, 0x6002, 0xCBCC, 0x9882, 0xCBCD, 0x9001, 0xCBCE, 0x5B8B, 0xCBCF, 0x8BBC, 0xCBD0, 0x8BF5, 0xCBD1, 0x641C, - 0xCBD2, 0x8258, 0xCBD3, 0x64DE, 0xCBD4, 0x55FD, 0xCBD5, 0x82CF, 0xCBD6, 0x9165, 0xCBD7, 0x4FD7, 0xCBD8, 0x7D20, 0xCBD9, 0x901F, - 0xCBDA, 0x7C9F, 0xCBDB, 0x50F3, 0xCBDC, 0x5851, 0xCBDD, 0x6EAF, 0xCBDE, 0x5BBF, 0xCBDF, 0x8BC9, 0xCBE0, 0x8083, 0xCBE1, 0x9178, - 0xCBE2, 0x849C, 0xCBE3, 0x7B97, 0xCBE4, 0x867D, 0xCBE5, 0x968B, 0xCBE6, 0x968F, 0xCBE7, 0x7EE5, 0xCBE8, 0x9AD3, 0xCBE9, 0x788E, - 0xCBEA, 0x5C81, 0xCBEB, 0x7A57, 0xCBEC, 0x9042, 0xCBED, 0x96A7, 0xCBEE, 0x795F, 0xCBEF, 0x5B59, 0xCBF0, 0x635F, 0xCBF1, 0x7B0B, - 0xCBF2, 0x84D1, 0xCBF3, 0x68AD, 0xCBF4, 0x5506, 0xCBF5, 0x7F29, 0xCBF6, 0x7410, 0xCBF7, 0x7D22, 0xCBF8, 0x9501, 0xCBF9, 0x6240, - 0xCBFA, 0x584C, 0xCBFB, 0x4ED6, 0xCBFC, 0x5B83, 0xCBFD, 0x5979, 0xCBFE, 0x5854, 0xCC40, 0x85F9, 0xCC41, 0x85FA, 0xCC42, 0x85FC, - 0xCC43, 0x85FD, 0xCC44, 0x85FE, 0xCC45, 0x8600, 0xCC46, 0x8601, 0xCC47, 0x8602, 0xCC48, 0x8603, 0xCC49, 0x8604, 0xCC4A, 0x8606, - 0xCC4B, 0x8607, 0xCC4C, 0x8608, 0xCC4D, 0x8609, 0xCC4E, 0x860A, 0xCC4F, 0x860B, 0xCC50, 0x860C, 0xCC51, 0x860D, 0xCC52, 0x860E, - 0xCC53, 0x860F, 0xCC54, 0x8610, 0xCC55, 0x8612, 0xCC56, 0x8613, 0xCC57, 0x8614, 0xCC58, 0x8615, 0xCC59, 0x8617, 0xCC5A, 0x8618, - 0xCC5B, 0x8619, 0xCC5C, 0x861A, 0xCC5D, 0x861B, 0xCC5E, 0x861C, 0xCC5F, 0x861D, 0xCC60, 0x861E, 0xCC61, 0x861F, 0xCC62, 0x8620, - 0xCC63, 0x8621, 0xCC64, 0x8622, 0xCC65, 0x8623, 0xCC66, 0x8624, 0xCC67, 0x8625, 0xCC68, 0x8626, 0xCC69, 0x8628, 0xCC6A, 0x862A, - 0xCC6B, 0x862B, 0xCC6C, 0x862C, 0xCC6D, 0x862D, 0xCC6E, 0x862E, 0xCC6F, 0x862F, 0xCC70, 0x8630, 0xCC71, 0x8631, 0xCC72, 0x8632, - 0xCC73, 0x8633, 0xCC74, 0x8634, 0xCC75, 0x8635, 0xCC76, 0x8636, 0xCC77, 0x8637, 0xCC78, 0x8639, 0xCC79, 0x863A, 0xCC7A, 0x863B, - 0xCC7B, 0x863D, 0xCC7C, 0x863E, 0xCC7D, 0x863F, 0xCC7E, 0x8640, 0xCC80, 0x8641, 0xCC81, 0x8642, 0xCC82, 0x8643, 0xCC83, 0x8644, - 0xCC84, 0x8645, 0xCC85, 0x8646, 0xCC86, 0x8647, 0xCC87, 0x8648, 0xCC88, 0x8649, 0xCC89, 0x864A, 0xCC8A, 0x864B, 0xCC8B, 0x864C, - 0xCC8C, 0x8652, 0xCC8D, 0x8653, 0xCC8E, 0x8655, 0xCC8F, 0x8656, 0xCC90, 0x8657, 0xCC91, 0x8658, 0xCC92, 0x8659, 0xCC93, 0x865B, - 0xCC94, 0x865C, 0xCC95, 0x865D, 0xCC96, 0x865F, 0xCC97, 0x8660, 0xCC98, 0x8661, 0xCC99, 0x8663, 0xCC9A, 0x8664, 0xCC9B, 0x8665, - 0xCC9C, 0x8666, 0xCC9D, 0x8667, 0xCC9E, 0x8668, 0xCC9F, 0x8669, 0xCCA0, 0x866A, 0xCCA1, 0x736D, 0xCCA2, 0x631E, 0xCCA3, 0x8E4B, - 0xCCA4, 0x8E0F, 0xCCA5, 0x80CE, 0xCCA6, 0x82D4, 0xCCA7, 0x62AC, 0xCCA8, 0x53F0, 0xCCA9, 0x6CF0, 0xCCAA, 0x915E, 0xCCAB, 0x592A, - 0xCCAC, 0x6001, 0xCCAD, 0x6C70, 0xCCAE, 0x574D, 0xCCAF, 0x644A, 0xCCB0, 0x8D2A, 0xCCB1, 0x762B, 0xCCB2, 0x6EE9, 0xCCB3, 0x575B, - 0xCCB4, 0x6A80, 0xCCB5, 0x75F0, 0xCCB6, 0x6F6D, 0xCCB7, 0x8C2D, 0xCCB8, 0x8C08, 0xCCB9, 0x5766, 0xCCBA, 0x6BEF, 0xCCBB, 0x8892, - 0xCCBC, 0x78B3, 0xCCBD, 0x63A2, 0xCCBE, 0x53F9, 0xCCBF, 0x70AD, 0xCCC0, 0x6C64, 0xCCC1, 0x5858, 0xCCC2, 0x642A, 0xCCC3, 0x5802, - 0xCCC4, 0x68E0, 0xCCC5, 0x819B, 0xCCC6, 0x5510, 0xCCC7, 0x7CD6, 0xCCC8, 0x5018, 0xCCC9, 0x8EBA, 0xCCCA, 0x6DCC, 0xCCCB, 0x8D9F, - 0xCCCC, 0x70EB, 0xCCCD, 0x638F, 0xCCCE, 0x6D9B, 0xCCCF, 0x6ED4, 0xCCD0, 0x7EE6, 0xCCD1, 0x8404, 0xCCD2, 0x6843, 0xCCD3, 0x9003, - 0xCCD4, 0x6DD8, 0xCCD5, 0x9676, 0xCCD6, 0x8BA8, 0xCCD7, 0x5957, 0xCCD8, 0x7279, 0xCCD9, 0x85E4, 0xCCDA, 0x817E, 0xCCDB, 0x75BC, - 0xCCDC, 0x8A8A, 0xCCDD, 0x68AF, 0xCCDE, 0x5254, 0xCCDF, 0x8E22, 0xCCE0, 0x9511, 0xCCE1, 0x63D0, 0xCCE2, 0x9898, 0xCCE3, 0x8E44, - 0xCCE4, 0x557C, 0xCCE5, 0x4F53, 0xCCE6, 0x66FF, 0xCCE7, 0x568F, 0xCCE8, 0x60D5, 0xCCE9, 0x6D95, 0xCCEA, 0x5243, 0xCCEB, 0x5C49, - 0xCCEC, 0x5929, 0xCCED, 0x6DFB, 0xCCEE, 0x586B, 0xCCEF, 0x7530, 0xCCF0, 0x751C, 0xCCF1, 0x606C, 0xCCF2, 0x8214, 0xCCF3, 0x8146, - 0xCCF4, 0x6311, 0xCCF5, 0x6761, 0xCCF6, 0x8FE2, 0xCCF7, 0x773A, 0xCCF8, 0x8DF3, 0xCCF9, 0x8D34, 0xCCFA, 0x94C1, 0xCCFB, 0x5E16, - 0xCCFC, 0x5385, 0xCCFD, 0x542C, 0xCCFE, 0x70C3, 0xCD40, 0x866D, 0xCD41, 0x866F, 0xCD42, 0x8670, 0xCD43, 0x8672, 0xCD44, 0x8673, - 0xCD45, 0x8674, 0xCD46, 0x8675, 0xCD47, 0x8676, 0xCD48, 0x8677, 0xCD49, 0x8678, 0xCD4A, 0x8683, 0xCD4B, 0x8684, 0xCD4C, 0x8685, - 0xCD4D, 0x8686, 0xCD4E, 0x8687, 0xCD4F, 0x8688, 0xCD50, 0x8689, 0xCD51, 0x868E, 0xCD52, 0x868F, 0xCD53, 0x8690, 0xCD54, 0x8691, - 0xCD55, 0x8692, 0xCD56, 0x8694, 0xCD57, 0x8696, 0xCD58, 0x8697, 0xCD59, 0x8698, 0xCD5A, 0x8699, 0xCD5B, 0x869A, 0xCD5C, 0x869B, - 0xCD5D, 0x869E, 0xCD5E, 0x869F, 0xCD5F, 0x86A0, 0xCD60, 0x86A1, 0xCD61, 0x86A2, 0xCD62, 0x86A5, 0xCD63, 0x86A6, 0xCD64, 0x86AB, - 0xCD65, 0x86AD, 0xCD66, 0x86AE, 0xCD67, 0x86B2, 0xCD68, 0x86B3, 0xCD69, 0x86B7, 0xCD6A, 0x86B8, 0xCD6B, 0x86B9, 0xCD6C, 0x86BB, - 0xCD6D, 0x86BC, 0xCD6E, 0x86BD, 0xCD6F, 0x86BE, 0xCD70, 0x86BF, 0xCD71, 0x86C1, 0xCD72, 0x86C2, 0xCD73, 0x86C3, 0xCD74, 0x86C5, - 0xCD75, 0x86C8, 0xCD76, 0x86CC, 0xCD77, 0x86CD, 0xCD78, 0x86D2, 0xCD79, 0x86D3, 0xCD7A, 0x86D5, 0xCD7B, 0x86D6, 0xCD7C, 0x86D7, - 0xCD7D, 0x86DA, 0xCD7E, 0x86DC, 0xCD80, 0x86DD, 0xCD81, 0x86E0, 0xCD82, 0x86E1, 0xCD83, 0x86E2, 0xCD84, 0x86E3, 0xCD85, 0x86E5, - 0xCD86, 0x86E6, 0xCD87, 0x86E7, 0xCD88, 0x86E8, 0xCD89, 0x86EA, 0xCD8A, 0x86EB, 0xCD8B, 0x86EC, 0xCD8C, 0x86EF, 0xCD8D, 0x86F5, - 0xCD8E, 0x86F6, 0xCD8F, 0x86F7, 0xCD90, 0x86FA, 0xCD91, 0x86FB, 0xCD92, 0x86FC, 0xCD93, 0x86FD, 0xCD94, 0x86FF, 0xCD95, 0x8701, - 0xCD96, 0x8704, 0xCD97, 0x8705, 0xCD98, 0x8706, 0xCD99, 0x870B, 0xCD9A, 0x870C, 0xCD9B, 0x870E, 0xCD9C, 0x870F, 0xCD9D, 0x8710, - 0xCD9E, 0x8711, 0xCD9F, 0x8714, 0xCDA0, 0x8716, 0xCDA1, 0x6C40, 0xCDA2, 0x5EF7, 0xCDA3, 0x505C, 0xCDA4, 0x4EAD, 0xCDA5, 0x5EAD, - 0xCDA6, 0x633A, 0xCDA7, 0x8247, 0xCDA8, 0x901A, 0xCDA9, 0x6850, 0xCDAA, 0x916E, 0xCDAB, 0x77B3, 0xCDAC, 0x540C, 0xCDAD, 0x94DC, - 0xCDAE, 0x5F64, 0xCDAF, 0x7AE5, 0xCDB0, 0x6876, 0xCDB1, 0x6345, 0xCDB2, 0x7B52, 0xCDB3, 0x7EDF, 0xCDB4, 0x75DB, 0xCDB5, 0x5077, - 0xCDB6, 0x6295, 0xCDB7, 0x5934, 0xCDB8, 0x900F, 0xCDB9, 0x51F8, 0xCDBA, 0x79C3, 0xCDBB, 0x7A81, 0xCDBC, 0x56FE, 0xCDBD, 0x5F92, - 0xCDBE, 0x9014, 0xCDBF, 0x6D82, 0xCDC0, 0x5C60, 0xCDC1, 0x571F, 0xCDC2, 0x5410, 0xCDC3, 0x5154, 0xCDC4, 0x6E4D, 0xCDC5, 0x56E2, - 0xCDC6, 0x63A8, 0xCDC7, 0x9893, 0xCDC8, 0x817F, 0xCDC9, 0x8715, 0xCDCA, 0x892A, 0xCDCB, 0x9000, 0xCDCC, 0x541E, 0xCDCD, 0x5C6F, - 0xCDCE, 0x81C0, 0xCDCF, 0x62D6, 0xCDD0, 0x6258, 0xCDD1, 0x8131, 0xCDD2, 0x9E35, 0xCDD3, 0x9640, 0xCDD4, 0x9A6E, 0xCDD5, 0x9A7C, - 0xCDD6, 0x692D, 0xCDD7, 0x59A5, 0xCDD8, 0x62D3, 0xCDD9, 0x553E, 0xCDDA, 0x6316, 0xCDDB, 0x54C7, 0xCDDC, 0x86D9, 0xCDDD, 0x6D3C, - 0xCDDE, 0x5A03, 0xCDDF, 0x74E6, 0xCDE0, 0x889C, 0xCDE1, 0x6B6A, 0xCDE2, 0x5916, 0xCDE3, 0x8C4C, 0xCDE4, 0x5F2F, 0xCDE5, 0x6E7E, - 0xCDE6, 0x73A9, 0xCDE7, 0x987D, 0xCDE8, 0x4E38, 0xCDE9, 0x70F7, 0xCDEA, 0x5B8C, 0xCDEB, 0x7897, 0xCDEC, 0x633D, 0xCDED, 0x665A, - 0xCDEE, 0x7696, 0xCDEF, 0x60CB, 0xCDF0, 0x5B9B, 0xCDF1, 0x5A49, 0xCDF2, 0x4E07, 0xCDF3, 0x8155, 0xCDF4, 0x6C6A, 0xCDF5, 0x738B, - 0xCDF6, 0x4EA1, 0xCDF7, 0x6789, 0xCDF8, 0x7F51, 0xCDF9, 0x5F80, 0xCDFA, 0x65FA, 0xCDFB, 0x671B, 0xCDFC, 0x5FD8, 0xCDFD, 0x5984, - 0xCDFE, 0x5A01, 0xCE40, 0x8719, 0xCE41, 0x871B, 0xCE42, 0x871D, 0xCE43, 0x871F, 0xCE44, 0x8720, 0xCE45, 0x8724, 0xCE46, 0x8726, - 0xCE47, 0x8727, 0xCE48, 0x8728, 0xCE49, 0x872A, 0xCE4A, 0x872B, 0xCE4B, 0x872C, 0xCE4C, 0x872D, 0xCE4D, 0x872F, 0xCE4E, 0x8730, - 0xCE4F, 0x8732, 0xCE50, 0x8733, 0xCE51, 0x8735, 0xCE52, 0x8736, 0xCE53, 0x8738, 0xCE54, 0x8739, 0xCE55, 0x873A, 0xCE56, 0x873C, - 0xCE57, 0x873D, 0xCE58, 0x8740, 0xCE59, 0x8741, 0xCE5A, 0x8742, 0xCE5B, 0x8743, 0xCE5C, 0x8744, 0xCE5D, 0x8745, 0xCE5E, 0x8746, - 0xCE5F, 0x874A, 0xCE60, 0x874B, 0xCE61, 0x874D, 0xCE62, 0x874F, 0xCE63, 0x8750, 0xCE64, 0x8751, 0xCE65, 0x8752, 0xCE66, 0x8754, - 0xCE67, 0x8755, 0xCE68, 0x8756, 0xCE69, 0x8758, 0xCE6A, 0x875A, 0xCE6B, 0x875B, 0xCE6C, 0x875C, 0xCE6D, 0x875D, 0xCE6E, 0x875E, - 0xCE6F, 0x875F, 0xCE70, 0x8761, 0xCE71, 0x8762, 0xCE72, 0x8766, 0xCE73, 0x8767, 0xCE74, 0x8768, 0xCE75, 0x8769, 0xCE76, 0x876A, - 0xCE77, 0x876B, 0xCE78, 0x876C, 0xCE79, 0x876D, 0xCE7A, 0x876F, 0xCE7B, 0x8771, 0xCE7C, 0x8772, 0xCE7D, 0x8773, 0xCE7E, 0x8775, - 0xCE80, 0x8777, 0xCE81, 0x8778, 0xCE82, 0x8779, 0xCE83, 0x877A, 0xCE84, 0x877F, 0xCE85, 0x8780, 0xCE86, 0x8781, 0xCE87, 0x8784, - 0xCE88, 0x8786, 0xCE89, 0x8787, 0xCE8A, 0x8789, 0xCE8B, 0x878A, 0xCE8C, 0x878C, 0xCE8D, 0x878E, 0xCE8E, 0x878F, 0xCE8F, 0x8790, - 0xCE90, 0x8791, 0xCE91, 0x8792, 0xCE92, 0x8794, 0xCE93, 0x8795, 0xCE94, 0x8796, 0xCE95, 0x8798, 0xCE96, 0x8799, 0xCE97, 0x879A, - 0xCE98, 0x879B, 0xCE99, 0x879C, 0xCE9A, 0x879D, 0xCE9B, 0x879E, 0xCE9C, 0x87A0, 0xCE9D, 0x87A1, 0xCE9E, 0x87A2, 0xCE9F, 0x87A3, - 0xCEA0, 0x87A4, 0xCEA1, 0x5DCD, 0xCEA2, 0x5FAE, 0xCEA3, 0x5371, 0xCEA4, 0x97E6, 0xCEA5, 0x8FDD, 0xCEA6, 0x6845, 0xCEA7, 0x56F4, - 0xCEA8, 0x552F, 0xCEA9, 0x60DF, 0xCEAA, 0x4E3A, 0xCEAB, 0x6F4D, 0xCEAC, 0x7EF4, 0xCEAD, 0x82C7, 0xCEAE, 0x840E, 0xCEAF, 0x59D4, - 0xCEB0, 0x4F1F, 0xCEB1, 0x4F2A, 0xCEB2, 0x5C3E, 0xCEB3, 0x7EAC, 0xCEB4, 0x672A, 0xCEB5, 0x851A, 0xCEB6, 0x5473, 0xCEB7, 0x754F, - 0xCEB8, 0x80C3, 0xCEB9, 0x5582, 0xCEBA, 0x9B4F, 0xCEBB, 0x4F4D, 0xCEBC, 0x6E2D, 0xCEBD, 0x8C13, 0xCEBE, 0x5C09, 0xCEBF, 0x6170, - 0xCEC0, 0x536B, 0xCEC1, 0x761F, 0xCEC2, 0x6E29, 0xCEC3, 0x868A, 0xCEC4, 0x6587, 0xCEC5, 0x95FB, 0xCEC6, 0x7EB9, 0xCEC7, 0x543B, - 0xCEC8, 0x7A33, 0xCEC9, 0x7D0A, 0xCECA, 0x95EE, 0xCECB, 0x55E1, 0xCECC, 0x7FC1, 0xCECD, 0x74EE, 0xCECE, 0x631D, 0xCECF, 0x8717, - 0xCED0, 0x6DA1, 0xCED1, 0x7A9D, 0xCED2, 0x6211, 0xCED3, 0x65A1, 0xCED4, 0x5367, 0xCED5, 0x63E1, 0xCED6, 0x6C83, 0xCED7, 0x5DEB, - 0xCED8, 0x545C, 0xCED9, 0x94A8, 0xCEDA, 0x4E4C, 0xCEDB, 0x6C61, 0xCEDC, 0x8BEC, 0xCEDD, 0x5C4B, 0xCEDE, 0x65E0, 0xCEDF, 0x829C, - 0xCEE0, 0x68A7, 0xCEE1, 0x543E, 0xCEE2, 0x5434, 0xCEE3, 0x6BCB, 0xCEE4, 0x6B66, 0xCEE5, 0x4E94, 0xCEE6, 0x6342, 0xCEE7, 0x5348, - 0xCEE8, 0x821E, 0xCEE9, 0x4F0D, 0xCEEA, 0x4FAE, 0xCEEB, 0x575E, 0xCEEC, 0x620A, 0xCEED, 0x96FE, 0xCEEE, 0x6664, 0xCEEF, 0x7269, - 0xCEF0, 0x52FF, 0xCEF1, 0x52A1, 0xCEF2, 0x609F, 0xCEF3, 0x8BEF, 0xCEF4, 0x6614, 0xCEF5, 0x7199, 0xCEF6, 0x6790, 0xCEF7, 0x897F, - 0xCEF8, 0x7852, 0xCEF9, 0x77FD, 0xCEFA, 0x6670, 0xCEFB, 0x563B, 0xCEFC, 0x5438, 0xCEFD, 0x9521, 0xCEFE, 0x727A, 0xCF40, 0x87A5, - 0xCF41, 0x87A6, 0xCF42, 0x87A7, 0xCF43, 0x87A9, 0xCF44, 0x87AA, 0xCF45, 0x87AE, 0xCF46, 0x87B0, 0xCF47, 0x87B1, 0xCF48, 0x87B2, - 0xCF49, 0x87B4, 0xCF4A, 0x87B6, 0xCF4B, 0x87B7, 0xCF4C, 0x87B8, 0xCF4D, 0x87B9, 0xCF4E, 0x87BB, 0xCF4F, 0x87BC, 0xCF50, 0x87BE, - 0xCF51, 0x87BF, 0xCF52, 0x87C1, 0xCF53, 0x87C2, 0xCF54, 0x87C3, 0xCF55, 0x87C4, 0xCF56, 0x87C5, 0xCF57, 0x87C7, 0xCF58, 0x87C8, - 0xCF59, 0x87C9, 0xCF5A, 0x87CC, 0xCF5B, 0x87CD, 0xCF5C, 0x87CE, 0xCF5D, 0x87CF, 0xCF5E, 0x87D0, 0xCF5F, 0x87D4, 0xCF60, 0x87D5, - 0xCF61, 0x87D6, 0xCF62, 0x87D7, 0xCF63, 0x87D8, 0xCF64, 0x87D9, 0xCF65, 0x87DA, 0xCF66, 0x87DC, 0xCF67, 0x87DD, 0xCF68, 0x87DE, - 0xCF69, 0x87DF, 0xCF6A, 0x87E1, 0xCF6B, 0x87E2, 0xCF6C, 0x87E3, 0xCF6D, 0x87E4, 0xCF6E, 0x87E6, 0xCF6F, 0x87E7, 0xCF70, 0x87E8, - 0xCF71, 0x87E9, 0xCF72, 0x87EB, 0xCF73, 0x87EC, 0xCF74, 0x87ED, 0xCF75, 0x87EF, 0xCF76, 0x87F0, 0xCF77, 0x87F1, 0xCF78, 0x87F2, - 0xCF79, 0x87F3, 0xCF7A, 0x87F4, 0xCF7B, 0x87F5, 0xCF7C, 0x87F6, 0xCF7D, 0x87F7, 0xCF7E, 0x87F8, 0xCF80, 0x87FA, 0xCF81, 0x87FB, - 0xCF82, 0x87FC, 0xCF83, 0x87FD, 0xCF84, 0x87FF, 0xCF85, 0x8800, 0xCF86, 0x8801, 0xCF87, 0x8802, 0xCF88, 0x8804, 0xCF89, 0x8805, - 0xCF8A, 0x8806, 0xCF8B, 0x8807, 0xCF8C, 0x8808, 0xCF8D, 0x8809, 0xCF8E, 0x880B, 0xCF8F, 0x880C, 0xCF90, 0x880D, 0xCF91, 0x880E, - 0xCF92, 0x880F, 0xCF93, 0x8810, 0xCF94, 0x8811, 0xCF95, 0x8812, 0xCF96, 0x8814, 0xCF97, 0x8817, 0xCF98, 0x8818, 0xCF99, 0x8819, - 0xCF9A, 0x881A, 0xCF9B, 0x881C, 0xCF9C, 0x881D, 0xCF9D, 0x881E, 0xCF9E, 0x881F, 0xCF9F, 0x8820, 0xCFA0, 0x8823, 0xCFA1, 0x7A00, - 0xCFA2, 0x606F, 0xCFA3, 0x5E0C, 0xCFA4, 0x6089, 0xCFA5, 0x819D, 0xCFA6, 0x5915, 0xCFA7, 0x60DC, 0xCFA8, 0x7184, 0xCFA9, 0x70EF, - 0xCFAA, 0x6EAA, 0xCFAB, 0x6C50, 0xCFAC, 0x7280, 0xCFAD, 0x6A84, 0xCFAE, 0x88AD, 0xCFAF, 0x5E2D, 0xCFB0, 0x4E60, 0xCFB1, 0x5AB3, - 0xCFB2, 0x559C, 0xCFB3, 0x94E3, 0xCFB4, 0x6D17, 0xCFB5, 0x7CFB, 0xCFB6, 0x9699, 0xCFB7, 0x620F, 0xCFB8, 0x7EC6, 0xCFB9, 0x778E, - 0xCFBA, 0x867E, 0xCFBB, 0x5323, 0xCFBC, 0x971E, 0xCFBD, 0x8F96, 0xCFBE, 0x6687, 0xCFBF, 0x5CE1, 0xCFC0, 0x4FA0, 0xCFC1, 0x72ED, - 0xCFC2, 0x4E0B, 0xCFC3, 0x53A6, 0xCFC4, 0x590F, 0xCFC5, 0x5413, 0xCFC6, 0x6380, 0xCFC7, 0x9528, 0xCFC8, 0x5148, 0xCFC9, 0x4ED9, - 0xCFCA, 0x9C9C, 0xCFCB, 0x7EA4, 0xCFCC, 0x54B8, 0xCFCD, 0x8D24, 0xCFCE, 0x8854, 0xCFCF, 0x8237, 0xCFD0, 0x95F2, 0xCFD1, 0x6D8E, - 0xCFD2, 0x5F26, 0xCFD3, 0x5ACC, 0xCFD4, 0x663E, 0xCFD5, 0x9669, 0xCFD6, 0x73B0, 0xCFD7, 0x732E, 0xCFD8, 0x53BF, 0xCFD9, 0x817A, - 0xCFDA, 0x9985, 0xCFDB, 0x7FA1, 0xCFDC, 0x5BAA, 0xCFDD, 0x9677, 0xCFDE, 0x9650, 0xCFDF, 0x7EBF, 0xCFE0, 0x76F8, 0xCFE1, 0x53A2, - 0xCFE2, 0x9576, 0xCFE3, 0x9999, 0xCFE4, 0x7BB1, 0xCFE5, 0x8944, 0xCFE6, 0x6E58, 0xCFE7, 0x4E61, 0xCFE8, 0x7FD4, 0xCFE9, 0x7965, - 0xCFEA, 0x8BE6, 0xCFEB, 0x60F3, 0xCFEC, 0x54CD, 0xCFED, 0x4EAB, 0xCFEE, 0x9879, 0xCFEF, 0x5DF7, 0xCFF0, 0x6A61, 0xCFF1, 0x50CF, - 0xCFF2, 0x5411, 0xCFF3, 0x8C61, 0xCFF4, 0x8427, 0xCFF5, 0x785D, 0xCFF6, 0x9704, 0xCFF7, 0x524A, 0xCFF8, 0x54EE, 0xCFF9, 0x56A3, - 0xCFFA, 0x9500, 0xCFFB, 0x6D88, 0xCFFC, 0x5BB5, 0xCFFD, 0x6DC6, 0xCFFE, 0x6653, 0xD040, 0x8824, 0xD041, 0x8825, 0xD042, 0x8826, - 0xD043, 0x8827, 0xD044, 0x8828, 0xD045, 0x8829, 0xD046, 0x882A, 0xD047, 0x882B, 0xD048, 0x882C, 0xD049, 0x882D, 0xD04A, 0x882E, - 0xD04B, 0x882F, 0xD04C, 0x8830, 0xD04D, 0x8831, 0xD04E, 0x8833, 0xD04F, 0x8834, 0xD050, 0x8835, 0xD051, 0x8836, 0xD052, 0x8837, - 0xD053, 0x8838, 0xD054, 0x883A, 0xD055, 0x883B, 0xD056, 0x883D, 0xD057, 0x883E, 0xD058, 0x883F, 0xD059, 0x8841, 0xD05A, 0x8842, - 0xD05B, 0x8843, 0xD05C, 0x8846, 0xD05D, 0x8847, 0xD05E, 0x8848, 0xD05F, 0x8849, 0xD060, 0x884A, 0xD061, 0x884B, 0xD062, 0x884E, - 0xD063, 0x884F, 0xD064, 0x8850, 0xD065, 0x8851, 0xD066, 0x8852, 0xD067, 0x8853, 0xD068, 0x8855, 0xD069, 0x8856, 0xD06A, 0x8858, - 0xD06B, 0x885A, 0xD06C, 0x885B, 0xD06D, 0x885C, 0xD06E, 0x885D, 0xD06F, 0x885E, 0xD070, 0x885F, 0xD071, 0x8860, 0xD072, 0x8866, - 0xD073, 0x8867, 0xD074, 0x886A, 0xD075, 0x886D, 0xD076, 0x886F, 0xD077, 0x8871, 0xD078, 0x8873, 0xD079, 0x8874, 0xD07A, 0x8875, - 0xD07B, 0x8876, 0xD07C, 0x8878, 0xD07D, 0x8879, 0xD07E, 0x887A, 0xD080, 0x887B, 0xD081, 0x887C, 0xD082, 0x8880, 0xD083, 0x8883, - 0xD084, 0x8886, 0xD085, 0x8887, 0xD086, 0x8889, 0xD087, 0x888A, 0xD088, 0x888C, 0xD089, 0x888E, 0xD08A, 0x888F, 0xD08B, 0x8890, - 0xD08C, 0x8891, 0xD08D, 0x8893, 0xD08E, 0x8894, 0xD08F, 0x8895, 0xD090, 0x8897, 0xD091, 0x8898, 0xD092, 0x8899, 0xD093, 0x889A, - 0xD094, 0x889B, 0xD095, 0x889D, 0xD096, 0x889E, 0xD097, 0x889F, 0xD098, 0x88A0, 0xD099, 0x88A1, 0xD09A, 0x88A3, 0xD09B, 0x88A5, - 0xD09C, 0x88A6, 0xD09D, 0x88A7, 0xD09E, 0x88A8, 0xD09F, 0x88A9, 0xD0A0, 0x88AA, 0xD0A1, 0x5C0F, 0xD0A2, 0x5B5D, 0xD0A3, 0x6821, - 0xD0A4, 0x8096, 0xD0A5, 0x5578, 0xD0A6, 0x7B11, 0xD0A7, 0x6548, 0xD0A8, 0x6954, 0xD0A9, 0x4E9B, 0xD0AA, 0x6B47, 0xD0AB, 0x874E, - 0xD0AC, 0x978B, 0xD0AD, 0x534F, 0xD0AE, 0x631F, 0xD0AF, 0x643A, 0xD0B0, 0x90AA, 0xD0B1, 0x659C, 0xD0B2, 0x80C1, 0xD0B3, 0x8C10, - 0xD0B4, 0x5199, 0xD0B5, 0x68B0, 0xD0B6, 0x5378, 0xD0B7, 0x87F9, 0xD0B8, 0x61C8, 0xD0B9, 0x6CC4, 0xD0BA, 0x6CFB, 0xD0BB, 0x8C22, - 0xD0BC, 0x5C51, 0xD0BD, 0x85AA, 0xD0BE, 0x82AF, 0xD0BF, 0x950C, 0xD0C0, 0x6B23, 0xD0C1, 0x8F9B, 0xD0C2, 0x65B0, 0xD0C3, 0x5FFB, - 0xD0C4, 0x5FC3, 0xD0C5, 0x4FE1, 0xD0C6, 0x8845, 0xD0C7, 0x661F, 0xD0C8, 0x8165, 0xD0C9, 0x7329, 0xD0CA, 0x60FA, 0xD0CB, 0x5174, - 0xD0CC, 0x5211, 0xD0CD, 0x578B, 0xD0CE, 0x5F62, 0xD0CF, 0x90A2, 0xD0D0, 0x884C, 0xD0D1, 0x9192, 0xD0D2, 0x5E78, 0xD0D3, 0x674F, - 0xD0D4, 0x6027, 0xD0D5, 0x59D3, 0xD0D6, 0x5144, 0xD0D7, 0x51F6, 0xD0D8, 0x80F8, 0xD0D9, 0x5308, 0xD0DA, 0x6C79, 0xD0DB, 0x96C4, - 0xD0DC, 0x718A, 0xD0DD, 0x4F11, 0xD0DE, 0x4FEE, 0xD0DF, 0x7F9E, 0xD0E0, 0x673D, 0xD0E1, 0x55C5, 0xD0E2, 0x9508, 0xD0E3, 0x79C0, - 0xD0E4, 0x8896, 0xD0E5, 0x7EE3, 0xD0E6, 0x589F, 0xD0E7, 0x620C, 0xD0E8, 0x9700, 0xD0E9, 0x865A, 0xD0EA, 0x5618, 0xD0EB, 0x987B, - 0xD0EC, 0x5F90, 0xD0ED, 0x8BB8, 0xD0EE, 0x84C4, 0xD0EF, 0x9157, 0xD0F0, 0x53D9, 0xD0F1, 0x65ED, 0xD0F2, 0x5E8F, 0xD0F3, 0x755C, - 0xD0F4, 0x6064, 0xD0F5, 0x7D6E, 0xD0F6, 0x5A7F, 0xD0F7, 0x7EEA, 0xD0F8, 0x7EED, 0xD0F9, 0x8F69, 0xD0FA, 0x55A7, 0xD0FB, 0x5BA3, - 0xD0FC, 0x60AC, 0xD0FD, 0x65CB, 0xD0FE, 0x7384, 0xD140, 0x88AC, 0xD141, 0x88AE, 0xD142, 0x88AF, 0xD143, 0x88B0, 0xD144, 0x88B2, - 0xD145, 0x88B3, 0xD146, 0x88B4, 0xD147, 0x88B5, 0xD148, 0x88B6, 0xD149, 0x88B8, 0xD14A, 0x88B9, 0xD14B, 0x88BA, 0xD14C, 0x88BB, - 0xD14D, 0x88BD, 0xD14E, 0x88BE, 0xD14F, 0x88BF, 0xD150, 0x88C0, 0xD151, 0x88C3, 0xD152, 0x88C4, 0xD153, 0x88C7, 0xD154, 0x88C8, - 0xD155, 0x88CA, 0xD156, 0x88CB, 0xD157, 0x88CC, 0xD158, 0x88CD, 0xD159, 0x88CF, 0xD15A, 0x88D0, 0xD15B, 0x88D1, 0xD15C, 0x88D3, - 0xD15D, 0x88D6, 0xD15E, 0x88D7, 0xD15F, 0x88DA, 0xD160, 0x88DB, 0xD161, 0x88DC, 0xD162, 0x88DD, 0xD163, 0x88DE, 0xD164, 0x88E0, - 0xD165, 0x88E1, 0xD166, 0x88E6, 0xD167, 0x88E7, 0xD168, 0x88E9, 0xD169, 0x88EA, 0xD16A, 0x88EB, 0xD16B, 0x88EC, 0xD16C, 0x88ED, - 0xD16D, 0x88EE, 0xD16E, 0x88EF, 0xD16F, 0x88F2, 0xD170, 0x88F5, 0xD171, 0x88F6, 0xD172, 0x88F7, 0xD173, 0x88FA, 0xD174, 0x88FB, - 0xD175, 0x88FD, 0xD176, 0x88FF, 0xD177, 0x8900, 0xD178, 0x8901, 0xD179, 0x8903, 0xD17A, 0x8904, 0xD17B, 0x8905, 0xD17C, 0x8906, - 0xD17D, 0x8907, 0xD17E, 0x8908, 0xD180, 0x8909, 0xD181, 0x890B, 0xD182, 0x890C, 0xD183, 0x890D, 0xD184, 0x890E, 0xD185, 0x890F, - 0xD186, 0x8911, 0xD187, 0x8914, 0xD188, 0x8915, 0xD189, 0x8916, 0xD18A, 0x8917, 0xD18B, 0x8918, 0xD18C, 0x891C, 0xD18D, 0x891D, - 0xD18E, 0x891E, 0xD18F, 0x891F, 0xD190, 0x8920, 0xD191, 0x8922, 0xD192, 0x8923, 0xD193, 0x8924, 0xD194, 0x8926, 0xD195, 0x8927, - 0xD196, 0x8928, 0xD197, 0x8929, 0xD198, 0x892C, 0xD199, 0x892D, 0xD19A, 0x892E, 0xD19B, 0x892F, 0xD19C, 0x8931, 0xD19D, 0x8932, - 0xD19E, 0x8933, 0xD19F, 0x8935, 0xD1A0, 0x8937, 0xD1A1, 0x9009, 0xD1A2, 0x7663, 0xD1A3, 0x7729, 0xD1A4, 0x7EDA, 0xD1A5, 0x9774, - 0xD1A6, 0x859B, 0xD1A7, 0x5B66, 0xD1A8, 0x7A74, 0xD1A9, 0x96EA, 0xD1AA, 0x8840, 0xD1AB, 0x52CB, 0xD1AC, 0x718F, 0xD1AD, 0x5FAA, - 0xD1AE, 0x65EC, 0xD1AF, 0x8BE2, 0xD1B0, 0x5BFB, 0xD1B1, 0x9A6F, 0xD1B2, 0x5DE1, 0xD1B3, 0x6B89, 0xD1B4, 0x6C5B, 0xD1B5, 0x8BAD, - 0xD1B6, 0x8BAF, 0xD1B7, 0x900A, 0xD1B8, 0x8FC5, 0xD1B9, 0x538B, 0xD1BA, 0x62BC, 0xD1BB, 0x9E26, 0xD1BC, 0x9E2D, 0xD1BD, 0x5440, - 0xD1BE, 0x4E2B, 0xD1BF, 0x82BD, 0xD1C0, 0x7259, 0xD1C1, 0x869C, 0xD1C2, 0x5D16, 0xD1C3, 0x8859, 0xD1C4, 0x6DAF, 0xD1C5, 0x96C5, - 0xD1C6, 0x54D1, 0xD1C7, 0x4E9A, 0xD1C8, 0x8BB6, 0xD1C9, 0x7109, 0xD1CA, 0x54BD, 0xD1CB, 0x9609, 0xD1CC, 0x70DF, 0xD1CD, 0x6DF9, - 0xD1CE, 0x76D0, 0xD1CF, 0x4E25, 0xD1D0, 0x7814, 0xD1D1, 0x8712, 0xD1D2, 0x5CA9, 0xD1D3, 0x5EF6, 0xD1D4, 0x8A00, 0xD1D5, 0x989C, - 0xD1D6, 0x960E, 0xD1D7, 0x708E, 0xD1D8, 0x6CBF, 0xD1D9, 0x5944, 0xD1DA, 0x63A9, 0xD1DB, 0x773C, 0xD1DC, 0x884D, 0xD1DD, 0x6F14, - 0xD1DE, 0x8273, 0xD1DF, 0x5830, 0xD1E0, 0x71D5, 0xD1E1, 0x538C, 0xD1E2, 0x781A, 0xD1E3, 0x96C1, 0xD1E4, 0x5501, 0xD1E5, 0x5F66, - 0xD1E6, 0x7130, 0xD1E7, 0x5BB4, 0xD1E8, 0x8C1A, 0xD1E9, 0x9A8C, 0xD1EA, 0x6B83, 0xD1EB, 0x592E, 0xD1EC, 0x9E2F, 0xD1ED, 0x79E7, - 0xD1EE, 0x6768, 0xD1EF, 0x626C, 0xD1F0, 0x4F6F, 0xD1F1, 0x75A1, 0xD1F2, 0x7F8A, 0xD1F3, 0x6D0B, 0xD1F4, 0x9633, 0xD1F5, 0x6C27, - 0xD1F6, 0x4EF0, 0xD1F7, 0x75D2, 0xD1F8, 0x517B, 0xD1F9, 0x6837, 0xD1FA, 0x6F3E, 0xD1FB, 0x9080, 0xD1FC, 0x8170, 0xD1FD, 0x5996, - 0xD1FE, 0x7476, 0xD240, 0x8938, 0xD241, 0x8939, 0xD242, 0x893A, 0xD243, 0x893B, 0xD244, 0x893C, 0xD245, 0x893D, 0xD246, 0x893E, - 0xD247, 0x893F, 0xD248, 0x8940, 0xD249, 0x8942, 0xD24A, 0x8943, 0xD24B, 0x8945, 0xD24C, 0x8946, 0xD24D, 0x8947, 0xD24E, 0x8948, - 0xD24F, 0x8949, 0xD250, 0x894A, 0xD251, 0x894B, 0xD252, 0x894C, 0xD253, 0x894D, 0xD254, 0x894E, 0xD255, 0x894F, 0xD256, 0x8950, - 0xD257, 0x8951, 0xD258, 0x8952, 0xD259, 0x8953, 0xD25A, 0x8954, 0xD25B, 0x8955, 0xD25C, 0x8956, 0xD25D, 0x8957, 0xD25E, 0x8958, - 0xD25F, 0x8959, 0xD260, 0x895A, 0xD261, 0x895B, 0xD262, 0x895C, 0xD263, 0x895D, 0xD264, 0x8960, 0xD265, 0x8961, 0xD266, 0x8962, - 0xD267, 0x8963, 0xD268, 0x8964, 0xD269, 0x8965, 0xD26A, 0x8967, 0xD26B, 0x8968, 0xD26C, 0x8969, 0xD26D, 0x896A, 0xD26E, 0x896B, - 0xD26F, 0x896C, 0xD270, 0x896D, 0xD271, 0x896E, 0xD272, 0x896F, 0xD273, 0x8970, 0xD274, 0x8971, 0xD275, 0x8972, 0xD276, 0x8973, - 0xD277, 0x8974, 0xD278, 0x8975, 0xD279, 0x8976, 0xD27A, 0x8977, 0xD27B, 0x8978, 0xD27C, 0x8979, 0xD27D, 0x897A, 0xD27E, 0x897C, - 0xD280, 0x897D, 0xD281, 0x897E, 0xD282, 0x8980, 0xD283, 0x8982, 0xD284, 0x8984, 0xD285, 0x8985, 0xD286, 0x8987, 0xD287, 0x8988, - 0xD288, 0x8989, 0xD289, 0x898A, 0xD28A, 0x898B, 0xD28B, 0x898C, 0xD28C, 0x898D, 0xD28D, 0x898E, 0xD28E, 0x898F, 0xD28F, 0x8990, - 0xD290, 0x8991, 0xD291, 0x8992, 0xD292, 0x8993, 0xD293, 0x8994, 0xD294, 0x8995, 0xD295, 0x8996, 0xD296, 0x8997, 0xD297, 0x8998, - 0xD298, 0x8999, 0xD299, 0x899A, 0xD29A, 0x899B, 0xD29B, 0x899C, 0xD29C, 0x899D, 0xD29D, 0x899E, 0xD29E, 0x899F, 0xD29F, 0x89A0, - 0xD2A0, 0x89A1, 0xD2A1, 0x6447, 0xD2A2, 0x5C27, 0xD2A3, 0x9065, 0xD2A4, 0x7A91, 0xD2A5, 0x8C23, 0xD2A6, 0x59DA, 0xD2A7, 0x54AC, - 0xD2A8, 0x8200, 0xD2A9, 0x836F, 0xD2AA, 0x8981, 0xD2AB, 0x8000, 0xD2AC, 0x6930, 0xD2AD, 0x564E, 0xD2AE, 0x8036, 0xD2AF, 0x7237, - 0xD2B0, 0x91CE, 0xD2B1, 0x51B6, 0xD2B2, 0x4E5F, 0xD2B3, 0x9875, 0xD2B4, 0x6396, 0xD2B5, 0x4E1A, 0xD2B6, 0x53F6, 0xD2B7, 0x66F3, - 0xD2B8, 0x814B, 0xD2B9, 0x591C, 0xD2BA, 0x6DB2, 0xD2BB, 0x4E00, 0xD2BC, 0x58F9, 0xD2BD, 0x533B, 0xD2BE, 0x63D6, 0xD2BF, 0x94F1, - 0xD2C0, 0x4F9D, 0xD2C1, 0x4F0A, 0xD2C2, 0x8863, 0xD2C3, 0x9890, 0xD2C4, 0x5937, 0xD2C5, 0x9057, 0xD2C6, 0x79FB, 0xD2C7, 0x4EEA, - 0xD2C8, 0x80F0, 0xD2C9, 0x7591, 0xD2CA, 0x6C82, 0xD2CB, 0x5B9C, 0xD2CC, 0x59E8, 0xD2CD, 0x5F5D, 0xD2CE, 0x6905, 0xD2CF, 0x8681, - 0xD2D0, 0x501A, 0xD2D1, 0x5DF2, 0xD2D2, 0x4E59, 0xD2D3, 0x77E3, 0xD2D4, 0x4EE5, 0xD2D5, 0x827A, 0xD2D6, 0x6291, 0xD2D7, 0x6613, - 0xD2D8, 0x9091, 0xD2D9, 0x5C79, 0xD2DA, 0x4EBF, 0xD2DB, 0x5F79, 0xD2DC, 0x81C6, 0xD2DD, 0x9038, 0xD2DE, 0x8084, 0xD2DF, 0x75AB, - 0xD2E0, 0x4EA6, 0xD2E1, 0x88D4, 0xD2E2, 0x610F, 0xD2E3, 0x6BC5, 0xD2E4, 0x5FC6, 0xD2E5, 0x4E49, 0xD2E6, 0x76CA, 0xD2E7, 0x6EA2, - 0xD2E8, 0x8BE3, 0xD2E9, 0x8BAE, 0xD2EA, 0x8C0A, 0xD2EB, 0x8BD1, 0xD2EC, 0x5F02, 0xD2ED, 0x7FFC, 0xD2EE, 0x7FCC, 0xD2EF, 0x7ECE, - 0xD2F0, 0x8335, 0xD2F1, 0x836B, 0xD2F2, 0x56E0, 0xD2F3, 0x6BB7, 0xD2F4, 0x97F3, 0xD2F5, 0x9634, 0xD2F6, 0x59FB, 0xD2F7, 0x541F, - 0xD2F8, 0x94F6, 0xD2F9, 0x6DEB, 0xD2FA, 0x5BC5, 0xD2FB, 0x996E, 0xD2FC, 0x5C39, 0xD2FD, 0x5F15, 0xD2FE, 0x9690, 0xD340, 0x89A2, - 0xD341, 0x89A3, 0xD342, 0x89A4, 0xD343, 0x89A5, 0xD344, 0x89A6, 0xD345, 0x89A7, 0xD346, 0x89A8, 0xD347, 0x89A9, 0xD348, 0x89AA, - 0xD349, 0x89AB, 0xD34A, 0x89AC, 0xD34B, 0x89AD, 0xD34C, 0x89AE, 0xD34D, 0x89AF, 0xD34E, 0x89B0, 0xD34F, 0x89B1, 0xD350, 0x89B2, - 0xD351, 0x89B3, 0xD352, 0x89B4, 0xD353, 0x89B5, 0xD354, 0x89B6, 0xD355, 0x89B7, 0xD356, 0x89B8, 0xD357, 0x89B9, 0xD358, 0x89BA, - 0xD359, 0x89BB, 0xD35A, 0x89BC, 0xD35B, 0x89BD, 0xD35C, 0x89BE, 0xD35D, 0x89BF, 0xD35E, 0x89C0, 0xD35F, 0x89C3, 0xD360, 0x89CD, - 0xD361, 0x89D3, 0xD362, 0x89D4, 0xD363, 0x89D5, 0xD364, 0x89D7, 0xD365, 0x89D8, 0xD366, 0x89D9, 0xD367, 0x89DB, 0xD368, 0x89DD, - 0xD369, 0x89DF, 0xD36A, 0x89E0, 0xD36B, 0x89E1, 0xD36C, 0x89E2, 0xD36D, 0x89E4, 0xD36E, 0x89E7, 0xD36F, 0x89E8, 0xD370, 0x89E9, - 0xD371, 0x89EA, 0xD372, 0x89EC, 0xD373, 0x89ED, 0xD374, 0x89EE, 0xD375, 0x89F0, 0xD376, 0x89F1, 0xD377, 0x89F2, 0xD378, 0x89F4, - 0xD379, 0x89F5, 0xD37A, 0x89F6, 0xD37B, 0x89F7, 0xD37C, 0x89F8, 0xD37D, 0x89F9, 0xD37E, 0x89FA, 0xD380, 0x89FB, 0xD381, 0x89FC, - 0xD382, 0x89FD, 0xD383, 0x89FE, 0xD384, 0x89FF, 0xD385, 0x8A01, 0xD386, 0x8A02, 0xD387, 0x8A03, 0xD388, 0x8A04, 0xD389, 0x8A05, - 0xD38A, 0x8A06, 0xD38B, 0x8A08, 0xD38C, 0x8A09, 0xD38D, 0x8A0A, 0xD38E, 0x8A0B, 0xD38F, 0x8A0C, 0xD390, 0x8A0D, 0xD391, 0x8A0E, - 0xD392, 0x8A0F, 0xD393, 0x8A10, 0xD394, 0x8A11, 0xD395, 0x8A12, 0xD396, 0x8A13, 0xD397, 0x8A14, 0xD398, 0x8A15, 0xD399, 0x8A16, - 0xD39A, 0x8A17, 0xD39B, 0x8A18, 0xD39C, 0x8A19, 0xD39D, 0x8A1A, 0xD39E, 0x8A1B, 0xD39F, 0x8A1C, 0xD3A0, 0x8A1D, 0xD3A1, 0x5370, - 0xD3A2, 0x82F1, 0xD3A3, 0x6A31, 0xD3A4, 0x5A74, 0xD3A5, 0x9E70, 0xD3A6, 0x5E94, 0xD3A7, 0x7F28, 0xD3A8, 0x83B9, 0xD3A9, 0x8424, - 0xD3AA, 0x8425, 0xD3AB, 0x8367, 0xD3AC, 0x8747, 0xD3AD, 0x8FCE, 0xD3AE, 0x8D62, 0xD3AF, 0x76C8, 0xD3B0, 0x5F71, 0xD3B1, 0x9896, - 0xD3B2, 0x786C, 0xD3B3, 0x6620, 0xD3B4, 0x54DF, 0xD3B5, 0x62E5, 0xD3B6, 0x4F63, 0xD3B7, 0x81C3, 0xD3B8, 0x75C8, 0xD3B9, 0x5EB8, - 0xD3BA, 0x96CD, 0xD3BB, 0x8E0A, 0xD3BC, 0x86F9, 0xD3BD, 0x548F, 0xD3BE, 0x6CF3, 0xD3BF, 0x6D8C, 0xD3C0, 0x6C38, 0xD3C1, 0x607F, - 0xD3C2, 0x52C7, 0xD3C3, 0x7528, 0xD3C4, 0x5E7D, 0xD3C5, 0x4F18, 0xD3C6, 0x60A0, 0xD3C7, 0x5FE7, 0xD3C8, 0x5C24, 0xD3C9, 0x7531, - 0xD3CA, 0x90AE, 0xD3CB, 0x94C0, 0xD3CC, 0x72B9, 0xD3CD, 0x6CB9, 0xD3CE, 0x6E38, 0xD3CF, 0x9149, 0xD3D0, 0x6709, 0xD3D1, 0x53CB, - 0xD3D2, 0x53F3, 0xD3D3, 0x4F51, 0xD3D4, 0x91C9, 0xD3D5, 0x8BF1, 0xD3D6, 0x53C8, 0xD3D7, 0x5E7C, 0xD3D8, 0x8FC2, 0xD3D9, 0x6DE4, - 0xD3DA, 0x4E8E, 0xD3DB, 0x76C2, 0xD3DC, 0x6986, 0xD3DD, 0x865E, 0xD3DE, 0x611A, 0xD3DF, 0x8206, 0xD3E0, 0x4F59, 0xD3E1, 0x4FDE, - 0xD3E2, 0x903E, 0xD3E3, 0x9C7C, 0xD3E4, 0x6109, 0xD3E5, 0x6E1D, 0xD3E6, 0x6E14, 0xD3E7, 0x9685, 0xD3E8, 0x4E88, 0xD3E9, 0x5A31, - 0xD3EA, 0x96E8, 0xD3EB, 0x4E0E, 0xD3EC, 0x5C7F, 0xD3ED, 0x79B9, 0xD3EE, 0x5B87, 0xD3EF, 0x8BED, 0xD3F0, 0x7FBD, 0xD3F1, 0x7389, - 0xD3F2, 0x57DF, 0xD3F3, 0x828B, 0xD3F4, 0x90C1, 0xD3F5, 0x5401, 0xD3F6, 0x9047, 0xD3F7, 0x55BB, 0xD3F8, 0x5CEA, 0xD3F9, 0x5FA1, - 0xD3FA, 0x6108, 0xD3FB, 0x6B32, 0xD3FC, 0x72F1, 0xD3FD, 0x80B2, 0xD3FE, 0x8A89, 0xD440, 0x8A1E, 0xD441, 0x8A1F, 0xD442, 0x8A20, - 0xD443, 0x8A21, 0xD444, 0x8A22, 0xD445, 0x8A23, 0xD446, 0x8A24, 0xD447, 0x8A25, 0xD448, 0x8A26, 0xD449, 0x8A27, 0xD44A, 0x8A28, - 0xD44B, 0x8A29, 0xD44C, 0x8A2A, 0xD44D, 0x8A2B, 0xD44E, 0x8A2C, 0xD44F, 0x8A2D, 0xD450, 0x8A2E, 0xD451, 0x8A2F, 0xD452, 0x8A30, - 0xD453, 0x8A31, 0xD454, 0x8A32, 0xD455, 0x8A33, 0xD456, 0x8A34, 0xD457, 0x8A35, 0xD458, 0x8A36, 0xD459, 0x8A37, 0xD45A, 0x8A38, - 0xD45B, 0x8A39, 0xD45C, 0x8A3A, 0xD45D, 0x8A3B, 0xD45E, 0x8A3C, 0xD45F, 0x8A3D, 0xD460, 0x8A3F, 0xD461, 0x8A40, 0xD462, 0x8A41, - 0xD463, 0x8A42, 0xD464, 0x8A43, 0xD465, 0x8A44, 0xD466, 0x8A45, 0xD467, 0x8A46, 0xD468, 0x8A47, 0xD469, 0x8A49, 0xD46A, 0x8A4A, - 0xD46B, 0x8A4B, 0xD46C, 0x8A4C, 0xD46D, 0x8A4D, 0xD46E, 0x8A4E, 0xD46F, 0x8A4F, 0xD470, 0x8A50, 0xD471, 0x8A51, 0xD472, 0x8A52, - 0xD473, 0x8A53, 0xD474, 0x8A54, 0xD475, 0x8A55, 0xD476, 0x8A56, 0xD477, 0x8A57, 0xD478, 0x8A58, 0xD479, 0x8A59, 0xD47A, 0x8A5A, - 0xD47B, 0x8A5B, 0xD47C, 0x8A5C, 0xD47D, 0x8A5D, 0xD47E, 0x8A5E, 0xD480, 0x8A5F, 0xD481, 0x8A60, 0xD482, 0x8A61, 0xD483, 0x8A62, - 0xD484, 0x8A63, 0xD485, 0x8A64, 0xD486, 0x8A65, 0xD487, 0x8A66, 0xD488, 0x8A67, 0xD489, 0x8A68, 0xD48A, 0x8A69, 0xD48B, 0x8A6A, - 0xD48C, 0x8A6B, 0xD48D, 0x8A6C, 0xD48E, 0x8A6D, 0xD48F, 0x8A6E, 0xD490, 0x8A6F, 0xD491, 0x8A70, 0xD492, 0x8A71, 0xD493, 0x8A72, - 0xD494, 0x8A73, 0xD495, 0x8A74, 0xD496, 0x8A75, 0xD497, 0x8A76, 0xD498, 0x8A77, 0xD499, 0x8A78, 0xD49A, 0x8A7A, 0xD49B, 0x8A7B, - 0xD49C, 0x8A7C, 0xD49D, 0x8A7D, 0xD49E, 0x8A7E, 0xD49F, 0x8A7F, 0xD4A0, 0x8A80, 0xD4A1, 0x6D74, 0xD4A2, 0x5BD3, 0xD4A3, 0x88D5, - 0xD4A4, 0x9884, 0xD4A5, 0x8C6B, 0xD4A6, 0x9A6D, 0xD4A7, 0x9E33, 0xD4A8, 0x6E0A, 0xD4A9, 0x51A4, 0xD4AA, 0x5143, 0xD4AB, 0x57A3, - 0xD4AC, 0x8881, 0xD4AD, 0x539F, 0xD4AE, 0x63F4, 0xD4AF, 0x8F95, 0xD4B0, 0x56ED, 0xD4B1, 0x5458, 0xD4B2, 0x5706, 0xD4B3, 0x733F, - 0xD4B4, 0x6E90, 0xD4B5, 0x7F18, 0xD4B6, 0x8FDC, 0xD4B7, 0x82D1, 0xD4B8, 0x613F, 0xD4B9, 0x6028, 0xD4BA, 0x9662, 0xD4BB, 0x66F0, - 0xD4BC, 0x7EA6, 0xD4BD, 0x8D8A, 0xD4BE, 0x8DC3, 0xD4BF, 0x94A5, 0xD4C0, 0x5CB3, 0xD4C1, 0x7CA4, 0xD4C2, 0x6708, 0xD4C3, 0x60A6, - 0xD4C4, 0x9605, 0xD4C5, 0x8018, 0xD4C6, 0x4E91, 0xD4C7, 0x90E7, 0xD4C8, 0x5300, 0xD4C9, 0x9668, 0xD4CA, 0x5141, 0xD4CB, 0x8FD0, - 0xD4CC, 0x8574, 0xD4CD, 0x915D, 0xD4CE, 0x6655, 0xD4CF, 0x97F5, 0xD4D0, 0x5B55, 0xD4D1, 0x531D, 0xD4D2, 0x7838, 0xD4D3, 0x6742, - 0xD4D4, 0x683D, 0xD4D5, 0x54C9, 0xD4D6, 0x707E, 0xD4D7, 0x5BB0, 0xD4D8, 0x8F7D, 0xD4D9, 0x518D, 0xD4DA, 0x5728, 0xD4DB, 0x54B1, - 0xD4DC, 0x6512, 0xD4DD, 0x6682, 0xD4DE, 0x8D5E, 0xD4DF, 0x8D43, 0xD4E0, 0x810F, 0xD4E1, 0x846C, 0xD4E2, 0x906D, 0xD4E3, 0x7CDF, - 0xD4E4, 0x51FF, 0xD4E5, 0x85FB, 0xD4E6, 0x67A3, 0xD4E7, 0x65E9, 0xD4E8, 0x6FA1, 0xD4E9, 0x86A4, 0xD4EA, 0x8E81, 0xD4EB, 0x566A, - 0xD4EC, 0x9020, 0xD4ED, 0x7682, 0xD4EE, 0x7076, 0xD4EF, 0x71E5, 0xD4F0, 0x8D23, 0xD4F1, 0x62E9, 0xD4F2, 0x5219, 0xD4F3, 0x6CFD, - 0xD4F4, 0x8D3C, 0xD4F5, 0x600E, 0xD4F6, 0x589E, 0xD4F7, 0x618E, 0xD4F8, 0x66FE, 0xD4F9, 0x8D60, 0xD4FA, 0x624E, 0xD4FB, 0x55B3, - 0xD4FC, 0x6E23, 0xD4FD, 0x672D, 0xD4FE, 0x8F67, 0xD540, 0x8A81, 0xD541, 0x8A82, 0xD542, 0x8A83, 0xD543, 0x8A84, 0xD544, 0x8A85, - 0xD545, 0x8A86, 0xD546, 0x8A87, 0xD547, 0x8A88, 0xD548, 0x8A8B, 0xD549, 0x8A8C, 0xD54A, 0x8A8D, 0xD54B, 0x8A8E, 0xD54C, 0x8A8F, - 0xD54D, 0x8A90, 0xD54E, 0x8A91, 0xD54F, 0x8A92, 0xD550, 0x8A94, 0xD551, 0x8A95, 0xD552, 0x8A96, 0xD553, 0x8A97, 0xD554, 0x8A98, - 0xD555, 0x8A99, 0xD556, 0x8A9A, 0xD557, 0x8A9B, 0xD558, 0x8A9C, 0xD559, 0x8A9D, 0xD55A, 0x8A9E, 0xD55B, 0x8A9F, 0xD55C, 0x8AA0, - 0xD55D, 0x8AA1, 0xD55E, 0x8AA2, 0xD55F, 0x8AA3, 0xD560, 0x8AA4, 0xD561, 0x8AA5, 0xD562, 0x8AA6, 0xD563, 0x8AA7, 0xD564, 0x8AA8, - 0xD565, 0x8AA9, 0xD566, 0x8AAA, 0xD567, 0x8AAB, 0xD568, 0x8AAC, 0xD569, 0x8AAD, 0xD56A, 0x8AAE, 0xD56B, 0x8AAF, 0xD56C, 0x8AB0, - 0xD56D, 0x8AB1, 0xD56E, 0x8AB2, 0xD56F, 0x8AB3, 0xD570, 0x8AB4, 0xD571, 0x8AB5, 0xD572, 0x8AB6, 0xD573, 0x8AB7, 0xD574, 0x8AB8, - 0xD575, 0x8AB9, 0xD576, 0x8ABA, 0xD577, 0x8ABB, 0xD578, 0x8ABC, 0xD579, 0x8ABD, 0xD57A, 0x8ABE, 0xD57B, 0x8ABF, 0xD57C, 0x8AC0, - 0xD57D, 0x8AC1, 0xD57E, 0x8AC2, 0xD580, 0x8AC3, 0xD581, 0x8AC4, 0xD582, 0x8AC5, 0xD583, 0x8AC6, 0xD584, 0x8AC7, 0xD585, 0x8AC8, - 0xD586, 0x8AC9, 0xD587, 0x8ACA, 0xD588, 0x8ACB, 0xD589, 0x8ACC, 0xD58A, 0x8ACD, 0xD58B, 0x8ACE, 0xD58C, 0x8ACF, 0xD58D, 0x8AD0, - 0xD58E, 0x8AD1, 0xD58F, 0x8AD2, 0xD590, 0x8AD3, 0xD591, 0x8AD4, 0xD592, 0x8AD5, 0xD593, 0x8AD6, 0xD594, 0x8AD7, 0xD595, 0x8AD8, - 0xD596, 0x8AD9, 0xD597, 0x8ADA, 0xD598, 0x8ADB, 0xD599, 0x8ADC, 0xD59A, 0x8ADD, 0xD59B, 0x8ADE, 0xD59C, 0x8ADF, 0xD59D, 0x8AE0, - 0xD59E, 0x8AE1, 0xD59F, 0x8AE2, 0xD5A0, 0x8AE3, 0xD5A1, 0x94E1, 0xD5A2, 0x95F8, 0xD5A3, 0x7728, 0xD5A4, 0x6805, 0xD5A5, 0x69A8, - 0xD5A6, 0x548B, 0xD5A7, 0x4E4D, 0xD5A8, 0x70B8, 0xD5A9, 0x8BC8, 0xD5AA, 0x6458, 0xD5AB, 0x658B, 0xD5AC, 0x5B85, 0xD5AD, 0x7A84, - 0xD5AE, 0x503A, 0xD5AF, 0x5BE8, 0xD5B0, 0x77BB, 0xD5B1, 0x6BE1, 0xD5B2, 0x8A79, 0xD5B3, 0x7C98, 0xD5B4, 0x6CBE, 0xD5B5, 0x76CF, - 0xD5B6, 0x65A9, 0xD5B7, 0x8F97, 0xD5B8, 0x5D2D, 0xD5B9, 0x5C55, 0xD5BA, 0x8638, 0xD5BB, 0x6808, 0xD5BC, 0x5360, 0xD5BD, 0x6218, - 0xD5BE, 0x7AD9, 0xD5BF, 0x6E5B, 0xD5C0, 0x7EFD, 0xD5C1, 0x6A1F, 0xD5C2, 0x7AE0, 0xD5C3, 0x5F70, 0xD5C4, 0x6F33, 0xD5C5, 0x5F20, - 0xD5C6, 0x638C, 0xD5C7, 0x6DA8, 0xD5C8, 0x6756, 0xD5C9, 0x4E08, 0xD5CA, 0x5E10, 0xD5CB, 0x8D26, 0xD5CC, 0x4ED7, 0xD5CD, 0x80C0, - 0xD5CE, 0x7634, 0xD5CF, 0x969C, 0xD5D0, 0x62DB, 0xD5D1, 0x662D, 0xD5D2, 0x627E, 0xD5D3, 0x6CBC, 0xD5D4, 0x8D75, 0xD5D5, 0x7167, - 0xD5D6, 0x7F69, 0xD5D7, 0x5146, 0xD5D8, 0x8087, 0xD5D9, 0x53EC, 0xD5DA, 0x906E, 0xD5DB, 0x6298, 0xD5DC, 0x54F2, 0xD5DD, 0x86F0, - 0xD5DE, 0x8F99, 0xD5DF, 0x8005, 0xD5E0, 0x9517, 0xD5E1, 0x8517, 0xD5E2, 0x8FD9, 0xD5E3, 0x6D59, 0xD5E4, 0x73CD, 0xD5E5, 0x659F, - 0xD5E6, 0x771F, 0xD5E7, 0x7504, 0xD5E8, 0x7827, 0xD5E9, 0x81FB, 0xD5EA, 0x8D1E, 0xD5EB, 0x9488, 0xD5EC, 0x4FA6, 0xD5ED, 0x6795, - 0xD5EE, 0x75B9, 0xD5EF, 0x8BCA, 0xD5F0, 0x9707, 0xD5F1, 0x632F, 0xD5F2, 0x9547, 0xD5F3, 0x9635, 0xD5F4, 0x84B8, 0xD5F5, 0x6323, - 0xD5F6, 0x7741, 0xD5F7, 0x5F81, 0xD5F8, 0x72F0, 0xD5F9, 0x4E89, 0xD5FA, 0x6014, 0xD5FB, 0x6574, 0xD5FC, 0x62EF, 0xD5FD, 0x6B63, - 0xD5FE, 0x653F, 0xD640, 0x8AE4, 0xD641, 0x8AE5, 0xD642, 0x8AE6, 0xD643, 0x8AE7, 0xD644, 0x8AE8, 0xD645, 0x8AE9, 0xD646, 0x8AEA, - 0xD647, 0x8AEB, 0xD648, 0x8AEC, 0xD649, 0x8AED, 0xD64A, 0x8AEE, 0xD64B, 0x8AEF, 0xD64C, 0x8AF0, 0xD64D, 0x8AF1, 0xD64E, 0x8AF2, - 0xD64F, 0x8AF3, 0xD650, 0x8AF4, 0xD651, 0x8AF5, 0xD652, 0x8AF6, 0xD653, 0x8AF7, 0xD654, 0x8AF8, 0xD655, 0x8AF9, 0xD656, 0x8AFA, - 0xD657, 0x8AFB, 0xD658, 0x8AFC, 0xD659, 0x8AFD, 0xD65A, 0x8AFE, 0xD65B, 0x8AFF, 0xD65C, 0x8B00, 0xD65D, 0x8B01, 0xD65E, 0x8B02, - 0xD65F, 0x8B03, 0xD660, 0x8B04, 0xD661, 0x8B05, 0xD662, 0x8B06, 0xD663, 0x8B08, 0xD664, 0x8B09, 0xD665, 0x8B0A, 0xD666, 0x8B0B, - 0xD667, 0x8B0C, 0xD668, 0x8B0D, 0xD669, 0x8B0E, 0xD66A, 0x8B0F, 0xD66B, 0x8B10, 0xD66C, 0x8B11, 0xD66D, 0x8B12, 0xD66E, 0x8B13, - 0xD66F, 0x8B14, 0xD670, 0x8B15, 0xD671, 0x8B16, 0xD672, 0x8B17, 0xD673, 0x8B18, 0xD674, 0x8B19, 0xD675, 0x8B1A, 0xD676, 0x8B1B, - 0xD677, 0x8B1C, 0xD678, 0x8B1D, 0xD679, 0x8B1E, 0xD67A, 0x8B1F, 0xD67B, 0x8B20, 0xD67C, 0x8B21, 0xD67D, 0x8B22, 0xD67E, 0x8B23, - 0xD680, 0x8B24, 0xD681, 0x8B25, 0xD682, 0x8B27, 0xD683, 0x8B28, 0xD684, 0x8B29, 0xD685, 0x8B2A, 0xD686, 0x8B2B, 0xD687, 0x8B2C, - 0xD688, 0x8B2D, 0xD689, 0x8B2E, 0xD68A, 0x8B2F, 0xD68B, 0x8B30, 0xD68C, 0x8B31, 0xD68D, 0x8B32, 0xD68E, 0x8B33, 0xD68F, 0x8B34, - 0xD690, 0x8B35, 0xD691, 0x8B36, 0xD692, 0x8B37, 0xD693, 0x8B38, 0xD694, 0x8B39, 0xD695, 0x8B3A, 0xD696, 0x8B3B, 0xD697, 0x8B3C, - 0xD698, 0x8B3D, 0xD699, 0x8B3E, 0xD69A, 0x8B3F, 0xD69B, 0x8B40, 0xD69C, 0x8B41, 0xD69D, 0x8B42, 0xD69E, 0x8B43, 0xD69F, 0x8B44, - 0xD6A0, 0x8B45, 0xD6A1, 0x5E27, 0xD6A2, 0x75C7, 0xD6A3, 0x90D1, 0xD6A4, 0x8BC1, 0xD6A5, 0x829D, 0xD6A6, 0x679D, 0xD6A7, 0x652F, - 0xD6A8, 0x5431, 0xD6A9, 0x8718, 0xD6AA, 0x77E5, 0xD6AB, 0x80A2, 0xD6AC, 0x8102, 0xD6AD, 0x6C41, 0xD6AE, 0x4E4B, 0xD6AF, 0x7EC7, - 0xD6B0, 0x804C, 0xD6B1, 0x76F4, 0xD6B2, 0x690D, 0xD6B3, 0x6B96, 0xD6B4, 0x6267, 0xD6B5, 0x503C, 0xD6B6, 0x4F84, 0xD6B7, 0x5740, - 0xD6B8, 0x6307, 0xD6B9, 0x6B62, 0xD6BA, 0x8DBE, 0xD6BB, 0x53EA, 0xD6BC, 0x65E8, 0xD6BD, 0x7EB8, 0xD6BE, 0x5FD7, 0xD6BF, 0x631A, - 0xD6C0, 0x63B7, 0xD6C1, 0x81F3, 0xD6C2, 0x81F4, 0xD6C3, 0x7F6E, 0xD6C4, 0x5E1C, 0xD6C5, 0x5CD9, 0xD6C6, 0x5236, 0xD6C7, 0x667A, - 0xD6C8, 0x79E9, 0xD6C9, 0x7A1A, 0xD6CA, 0x8D28, 0xD6CB, 0x7099, 0xD6CC, 0x75D4, 0xD6CD, 0x6EDE, 0xD6CE, 0x6CBB, 0xD6CF, 0x7A92, - 0xD6D0, 0x4E2D, 0xD6D1, 0x76C5, 0xD6D2, 0x5FE0, 0xD6D3, 0x949F, 0xD6D4, 0x8877, 0xD6D5, 0x7EC8, 0xD6D6, 0x79CD, 0xD6D7, 0x80BF, - 0xD6D8, 0x91CD, 0xD6D9, 0x4EF2, 0xD6DA, 0x4F17, 0xD6DB, 0x821F, 0xD6DC, 0x5468, 0xD6DD, 0x5DDE, 0xD6DE, 0x6D32, 0xD6DF, 0x8BCC, - 0xD6E0, 0x7CA5, 0xD6E1, 0x8F74, 0xD6E2, 0x8098, 0xD6E3, 0x5E1A, 0xD6E4, 0x5492, 0xD6E5, 0x76B1, 0xD6E6, 0x5B99, 0xD6E7, 0x663C, - 0xD6E8, 0x9AA4, 0xD6E9, 0x73E0, 0xD6EA, 0x682A, 0xD6EB, 0x86DB, 0xD6EC, 0x6731, 0xD6ED, 0x732A, 0xD6EE, 0x8BF8, 0xD6EF, 0x8BDB, - 0xD6F0, 0x9010, 0xD6F1, 0x7AF9, 0xD6F2, 0x70DB, 0xD6F3, 0x716E, 0xD6F4, 0x62C4, 0xD6F5, 0x77A9, 0xD6F6, 0x5631, 0xD6F7, 0x4E3B, - 0xD6F8, 0x8457, 0xD6F9, 0x67F1, 0xD6FA, 0x52A9, 0xD6FB, 0x86C0, 0xD6FC, 0x8D2E, 0xD6FD, 0x94F8, 0xD6FE, 0x7B51, 0xD740, 0x8B46, - 0xD741, 0x8B47, 0xD742, 0x8B48, 0xD743, 0x8B49, 0xD744, 0x8B4A, 0xD745, 0x8B4B, 0xD746, 0x8B4C, 0xD747, 0x8B4D, 0xD748, 0x8B4E, - 0xD749, 0x8B4F, 0xD74A, 0x8B50, 0xD74B, 0x8B51, 0xD74C, 0x8B52, 0xD74D, 0x8B53, 0xD74E, 0x8B54, 0xD74F, 0x8B55, 0xD750, 0x8B56, - 0xD751, 0x8B57, 0xD752, 0x8B58, 0xD753, 0x8B59, 0xD754, 0x8B5A, 0xD755, 0x8B5B, 0xD756, 0x8B5C, 0xD757, 0x8B5D, 0xD758, 0x8B5E, - 0xD759, 0x8B5F, 0xD75A, 0x8B60, 0xD75B, 0x8B61, 0xD75C, 0x8B62, 0xD75D, 0x8B63, 0xD75E, 0x8B64, 0xD75F, 0x8B65, 0xD760, 0x8B67, - 0xD761, 0x8B68, 0xD762, 0x8B69, 0xD763, 0x8B6A, 0xD764, 0x8B6B, 0xD765, 0x8B6D, 0xD766, 0x8B6E, 0xD767, 0x8B6F, 0xD768, 0x8B70, - 0xD769, 0x8B71, 0xD76A, 0x8B72, 0xD76B, 0x8B73, 0xD76C, 0x8B74, 0xD76D, 0x8B75, 0xD76E, 0x8B76, 0xD76F, 0x8B77, 0xD770, 0x8B78, - 0xD771, 0x8B79, 0xD772, 0x8B7A, 0xD773, 0x8B7B, 0xD774, 0x8B7C, 0xD775, 0x8B7D, 0xD776, 0x8B7E, 0xD777, 0x8B7F, 0xD778, 0x8B80, - 0xD779, 0x8B81, 0xD77A, 0x8B82, 0xD77B, 0x8B83, 0xD77C, 0x8B84, 0xD77D, 0x8B85, 0xD77E, 0x8B86, 0xD780, 0x8B87, 0xD781, 0x8B88, - 0xD782, 0x8B89, 0xD783, 0x8B8A, 0xD784, 0x8B8B, 0xD785, 0x8B8C, 0xD786, 0x8B8D, 0xD787, 0x8B8E, 0xD788, 0x8B8F, 0xD789, 0x8B90, - 0xD78A, 0x8B91, 0xD78B, 0x8B92, 0xD78C, 0x8B93, 0xD78D, 0x8B94, 0xD78E, 0x8B95, 0xD78F, 0x8B96, 0xD790, 0x8B97, 0xD791, 0x8B98, - 0xD792, 0x8B99, 0xD793, 0x8B9A, 0xD794, 0x8B9B, 0xD795, 0x8B9C, 0xD796, 0x8B9D, 0xD797, 0x8B9E, 0xD798, 0x8B9F, 0xD799, 0x8BAC, - 0xD79A, 0x8BB1, 0xD79B, 0x8BBB, 0xD79C, 0x8BC7, 0xD79D, 0x8BD0, 0xD79E, 0x8BEA, 0xD79F, 0x8C09, 0xD7A0, 0x8C1E, 0xD7A1, 0x4F4F, - 0xD7A2, 0x6CE8, 0xD7A3, 0x795D, 0xD7A4, 0x9A7B, 0xD7A5, 0x6293, 0xD7A6, 0x722A, 0xD7A7, 0x62FD, 0xD7A8, 0x4E13, 0xD7A9, 0x7816, - 0xD7AA, 0x8F6C, 0xD7AB, 0x64B0, 0xD7AC, 0x8D5A, 0xD7AD, 0x7BC6, 0xD7AE, 0x6869, 0xD7AF, 0x5E84, 0xD7B0, 0x88C5, 0xD7B1, 0x5986, - 0xD7B2, 0x649E, 0xD7B3, 0x58EE, 0xD7B4, 0x72B6, 0xD7B5, 0x690E, 0xD7B6, 0x9525, 0xD7B7, 0x8FFD, 0xD7B8, 0x8D58, 0xD7B9, 0x5760, - 0xD7BA, 0x7F00, 0xD7BB, 0x8C06, 0xD7BC, 0x51C6, 0xD7BD, 0x6349, 0xD7BE, 0x62D9, 0xD7BF, 0x5353, 0xD7C0, 0x684C, 0xD7C1, 0x7422, - 0xD7C2, 0x8301, 0xD7C3, 0x914C, 0xD7C4, 0x5544, 0xD7C5, 0x7740, 0xD7C6, 0x707C, 0xD7C7, 0x6D4A, 0xD7C8, 0x5179, 0xD7C9, 0x54A8, - 0xD7CA, 0x8D44, 0xD7CB, 0x59FF, 0xD7CC, 0x6ECB, 0xD7CD, 0x6DC4, 0xD7CE, 0x5B5C, 0xD7CF, 0x7D2B, 0xD7D0, 0x4ED4, 0xD7D1, 0x7C7D, - 0xD7D2, 0x6ED3, 0xD7D3, 0x5B50, 0xD7D4, 0x81EA, 0xD7D5, 0x6E0D, 0xD7D6, 0x5B57, 0xD7D7, 0x9B03, 0xD7D8, 0x68D5, 0xD7D9, 0x8E2A, - 0xD7DA, 0x5B97, 0xD7DB, 0x7EFC, 0xD7DC, 0x603B, 0xD7DD, 0x7EB5, 0xD7DE, 0x90B9, 0xD7DF, 0x8D70, 0xD7E0, 0x594F, 0xD7E1, 0x63CD, - 0xD7E2, 0x79DF, 0xD7E3, 0x8DB3, 0xD7E4, 0x5352, 0xD7E5, 0x65CF, 0xD7E6, 0x7956, 0xD7E7, 0x8BC5, 0xD7E8, 0x963B, 0xD7E9, 0x7EC4, - 0xD7EA, 0x94BB, 0xD7EB, 0x7E82, 0xD7EC, 0x5634, 0xD7ED, 0x9189, 0xD7EE, 0x6700, 0xD7EF, 0x7F6A, 0xD7F0, 0x5C0A, 0xD7F1, 0x9075, - 0xD7F2, 0x6628, 0xD7F3, 0x5DE6, 0xD7F4, 0x4F50, 0xD7F5, 0x67DE, 0xD7F6, 0x505A, 0xD7F7, 0x4F5C, 0xD7F8, 0x5750, 0xD7F9, 0x5EA7, - 0xD840, 0x8C38, 0xD841, 0x8C39, 0xD842, 0x8C3A, 0xD843, 0x8C3B, 0xD844, 0x8C3C, 0xD845, 0x8C3D, 0xD846, 0x8C3E, 0xD847, 0x8C3F, - 0xD848, 0x8C40, 0xD849, 0x8C42, 0xD84A, 0x8C43, 0xD84B, 0x8C44, 0xD84C, 0x8C45, 0xD84D, 0x8C48, 0xD84E, 0x8C4A, 0xD84F, 0x8C4B, - 0xD850, 0x8C4D, 0xD851, 0x8C4E, 0xD852, 0x8C4F, 0xD853, 0x8C50, 0xD854, 0x8C51, 0xD855, 0x8C52, 0xD856, 0x8C53, 0xD857, 0x8C54, - 0xD858, 0x8C56, 0xD859, 0x8C57, 0xD85A, 0x8C58, 0xD85B, 0x8C59, 0xD85C, 0x8C5B, 0xD85D, 0x8C5C, 0xD85E, 0x8C5D, 0xD85F, 0x8C5E, - 0xD860, 0x8C5F, 0xD861, 0x8C60, 0xD862, 0x8C63, 0xD863, 0x8C64, 0xD864, 0x8C65, 0xD865, 0x8C66, 0xD866, 0x8C67, 0xD867, 0x8C68, - 0xD868, 0x8C69, 0xD869, 0x8C6C, 0xD86A, 0x8C6D, 0xD86B, 0x8C6E, 0xD86C, 0x8C6F, 0xD86D, 0x8C70, 0xD86E, 0x8C71, 0xD86F, 0x8C72, - 0xD870, 0x8C74, 0xD871, 0x8C75, 0xD872, 0x8C76, 0xD873, 0x8C77, 0xD874, 0x8C7B, 0xD875, 0x8C7C, 0xD876, 0x8C7D, 0xD877, 0x8C7E, - 0xD878, 0x8C7F, 0xD879, 0x8C80, 0xD87A, 0x8C81, 0xD87B, 0x8C83, 0xD87C, 0x8C84, 0xD87D, 0x8C86, 0xD87E, 0x8C87, 0xD880, 0x8C88, - 0xD881, 0x8C8B, 0xD882, 0x8C8D, 0xD883, 0x8C8E, 0xD884, 0x8C8F, 0xD885, 0x8C90, 0xD886, 0x8C91, 0xD887, 0x8C92, 0xD888, 0x8C93, - 0xD889, 0x8C95, 0xD88A, 0x8C96, 0xD88B, 0x8C97, 0xD88C, 0x8C99, 0xD88D, 0x8C9A, 0xD88E, 0x8C9B, 0xD88F, 0x8C9C, 0xD890, 0x8C9D, - 0xD891, 0x8C9E, 0xD892, 0x8C9F, 0xD893, 0x8CA0, 0xD894, 0x8CA1, 0xD895, 0x8CA2, 0xD896, 0x8CA3, 0xD897, 0x8CA4, 0xD898, 0x8CA5, - 0xD899, 0x8CA6, 0xD89A, 0x8CA7, 0xD89B, 0x8CA8, 0xD89C, 0x8CA9, 0xD89D, 0x8CAA, 0xD89E, 0x8CAB, 0xD89F, 0x8CAC, 0xD8A0, 0x8CAD, - 0xD8A1, 0x4E8D, 0xD8A2, 0x4E0C, 0xD8A3, 0x5140, 0xD8A4, 0x4E10, 0xD8A5, 0x5EFF, 0xD8A6, 0x5345, 0xD8A7, 0x4E15, 0xD8A8, 0x4E98, - 0xD8A9, 0x4E1E, 0xD8AA, 0x9B32, 0xD8AB, 0x5B6C, 0xD8AC, 0x5669, 0xD8AD, 0x4E28, 0xD8AE, 0x79BA, 0xD8AF, 0x4E3F, 0xD8B0, 0x5315, - 0xD8B1, 0x4E47, 0xD8B2, 0x592D, 0xD8B3, 0x723B, 0xD8B4, 0x536E, 0xD8B5, 0x6C10, 0xD8B6, 0x56DF, 0xD8B7, 0x80E4, 0xD8B8, 0x9997, - 0xD8B9, 0x6BD3, 0xD8BA, 0x777E, 0xD8BB, 0x9F17, 0xD8BC, 0x4E36, 0xD8BD, 0x4E9F, 0xD8BE, 0x9F10, 0xD8BF, 0x4E5C, 0xD8C0, 0x4E69, - 0xD8C1, 0x4E93, 0xD8C2, 0x8288, 0xD8C3, 0x5B5B, 0xD8C4, 0x556C, 0xD8C5, 0x560F, 0xD8C6, 0x4EC4, 0xD8C7, 0x538D, 0xD8C8, 0x539D, - 0xD8C9, 0x53A3, 0xD8CA, 0x53A5, 0xD8CB, 0x53AE, 0xD8CC, 0x9765, 0xD8CD, 0x8D5D, 0xD8CE, 0x531A, 0xD8CF, 0x53F5, 0xD8D0, 0x5326, - 0xD8D1, 0x532E, 0xD8D2, 0x533E, 0xD8D3, 0x8D5C, 0xD8D4, 0x5366, 0xD8D5, 0x5363, 0xD8D6, 0x5202, 0xD8D7, 0x5208, 0xD8D8, 0x520E, - 0xD8D9, 0x522D, 0xD8DA, 0x5233, 0xD8DB, 0x523F, 0xD8DC, 0x5240, 0xD8DD, 0x524C, 0xD8DE, 0x525E, 0xD8DF, 0x5261, 0xD8E0, 0x525C, - 0xD8E1, 0x84AF, 0xD8E2, 0x527D, 0xD8E3, 0x5282, 0xD8E4, 0x5281, 0xD8E5, 0x5290, 0xD8E6, 0x5293, 0xD8E7, 0x5182, 0xD8E8, 0x7F54, - 0xD8E9, 0x4EBB, 0xD8EA, 0x4EC3, 0xD8EB, 0x4EC9, 0xD8EC, 0x4EC2, 0xD8ED, 0x4EE8, 0xD8EE, 0x4EE1, 0xD8EF, 0x4EEB, 0xD8F0, 0x4EDE, - 0xD8F1, 0x4F1B, 0xD8F2, 0x4EF3, 0xD8F3, 0x4F22, 0xD8F4, 0x4F64, 0xD8F5, 0x4EF5, 0xD8F6, 0x4F25, 0xD8F7, 0x4F27, 0xD8F8, 0x4F09, - 0xD8F9, 0x4F2B, 0xD8FA, 0x4F5E, 0xD8FB, 0x4F67, 0xD8FC, 0x6538, 0xD8FD, 0x4F5A, 0xD8FE, 0x4F5D, 0xD940, 0x8CAE, 0xD941, 0x8CAF, - 0xD942, 0x8CB0, 0xD943, 0x8CB1, 0xD944, 0x8CB2, 0xD945, 0x8CB3, 0xD946, 0x8CB4, 0xD947, 0x8CB5, 0xD948, 0x8CB6, 0xD949, 0x8CB7, - 0xD94A, 0x8CB8, 0xD94B, 0x8CB9, 0xD94C, 0x8CBA, 0xD94D, 0x8CBB, 0xD94E, 0x8CBC, 0xD94F, 0x8CBD, 0xD950, 0x8CBE, 0xD951, 0x8CBF, - 0xD952, 0x8CC0, 0xD953, 0x8CC1, 0xD954, 0x8CC2, 0xD955, 0x8CC3, 0xD956, 0x8CC4, 0xD957, 0x8CC5, 0xD958, 0x8CC6, 0xD959, 0x8CC7, - 0xD95A, 0x8CC8, 0xD95B, 0x8CC9, 0xD95C, 0x8CCA, 0xD95D, 0x8CCB, 0xD95E, 0x8CCC, 0xD95F, 0x8CCD, 0xD960, 0x8CCE, 0xD961, 0x8CCF, - 0xD962, 0x8CD0, 0xD963, 0x8CD1, 0xD964, 0x8CD2, 0xD965, 0x8CD3, 0xD966, 0x8CD4, 0xD967, 0x8CD5, 0xD968, 0x8CD6, 0xD969, 0x8CD7, - 0xD96A, 0x8CD8, 0xD96B, 0x8CD9, 0xD96C, 0x8CDA, 0xD96D, 0x8CDB, 0xD96E, 0x8CDC, 0xD96F, 0x8CDD, 0xD970, 0x8CDE, 0xD971, 0x8CDF, - 0xD972, 0x8CE0, 0xD973, 0x8CE1, 0xD974, 0x8CE2, 0xD975, 0x8CE3, 0xD976, 0x8CE4, 0xD977, 0x8CE5, 0xD978, 0x8CE6, 0xD979, 0x8CE7, - 0xD97A, 0x8CE8, 0xD97B, 0x8CE9, 0xD97C, 0x8CEA, 0xD97D, 0x8CEB, 0xD97E, 0x8CEC, 0xD980, 0x8CED, 0xD981, 0x8CEE, 0xD982, 0x8CEF, - 0xD983, 0x8CF0, 0xD984, 0x8CF1, 0xD985, 0x8CF2, 0xD986, 0x8CF3, 0xD987, 0x8CF4, 0xD988, 0x8CF5, 0xD989, 0x8CF6, 0xD98A, 0x8CF7, - 0xD98B, 0x8CF8, 0xD98C, 0x8CF9, 0xD98D, 0x8CFA, 0xD98E, 0x8CFB, 0xD98F, 0x8CFC, 0xD990, 0x8CFD, 0xD991, 0x8CFE, 0xD992, 0x8CFF, - 0xD993, 0x8D00, 0xD994, 0x8D01, 0xD995, 0x8D02, 0xD996, 0x8D03, 0xD997, 0x8D04, 0xD998, 0x8D05, 0xD999, 0x8D06, 0xD99A, 0x8D07, - 0xD99B, 0x8D08, 0xD99C, 0x8D09, 0xD99D, 0x8D0A, 0xD99E, 0x8D0B, 0xD99F, 0x8D0C, 0xD9A0, 0x8D0D, 0xD9A1, 0x4F5F, 0xD9A2, 0x4F57, - 0xD9A3, 0x4F32, 0xD9A4, 0x4F3D, 0xD9A5, 0x4F76, 0xD9A6, 0x4F74, 0xD9A7, 0x4F91, 0xD9A8, 0x4F89, 0xD9A9, 0x4F83, 0xD9AA, 0x4F8F, - 0xD9AB, 0x4F7E, 0xD9AC, 0x4F7B, 0xD9AD, 0x4FAA, 0xD9AE, 0x4F7C, 0xD9AF, 0x4FAC, 0xD9B0, 0x4F94, 0xD9B1, 0x4FE6, 0xD9B2, 0x4FE8, - 0xD9B3, 0x4FEA, 0xD9B4, 0x4FC5, 0xD9B5, 0x4FDA, 0xD9B6, 0x4FE3, 0xD9B7, 0x4FDC, 0xD9B8, 0x4FD1, 0xD9B9, 0x4FDF, 0xD9BA, 0x4FF8, - 0xD9BB, 0x5029, 0xD9BC, 0x504C, 0xD9BD, 0x4FF3, 0xD9BE, 0x502C, 0xD9BF, 0x500F, 0xD9C0, 0x502E, 0xD9C1, 0x502D, 0xD9C2, 0x4FFE, - 0xD9C3, 0x501C, 0xD9C4, 0x500C, 0xD9C5, 0x5025, 0xD9C6, 0x5028, 0xD9C7, 0x507E, 0xD9C8, 0x5043, 0xD9C9, 0x5055, 0xD9CA, 0x5048, - 0xD9CB, 0x504E, 0xD9CC, 0x506C, 0xD9CD, 0x507B, 0xD9CE, 0x50A5, 0xD9CF, 0x50A7, 0xD9D0, 0x50A9, 0xD9D1, 0x50BA, 0xD9D2, 0x50D6, - 0xD9D3, 0x5106, 0xD9D4, 0x50ED, 0xD9D5, 0x50EC, 0xD9D6, 0x50E6, 0xD9D7, 0x50EE, 0xD9D8, 0x5107, 0xD9D9, 0x510B, 0xD9DA, 0x4EDD, - 0xD9DB, 0x6C3D, 0xD9DC, 0x4F58, 0xD9DD, 0x4F65, 0xD9DE, 0x4FCE, 0xD9DF, 0x9FA0, 0xD9E0, 0x6C46, 0xD9E1, 0x7C74, 0xD9E2, 0x516E, - 0xD9E3, 0x5DFD, 0xD9E4, 0x9EC9, 0xD9E5, 0x9998, 0xD9E6, 0x5181, 0xD9E7, 0x5914, 0xD9E8, 0x52F9, 0xD9E9, 0x530D, 0xD9EA, 0x8A07, - 0xD9EB, 0x5310, 0xD9EC, 0x51EB, 0xD9ED, 0x5919, 0xD9EE, 0x5155, 0xD9EF, 0x4EA0, 0xD9F0, 0x5156, 0xD9F1, 0x4EB3, 0xD9F2, 0x886E, - 0xD9F3, 0x88A4, 0xD9F4, 0x4EB5, 0xD9F5, 0x8114, 0xD9F6, 0x88D2, 0xD9F7, 0x7980, 0xD9F8, 0x5B34, 0xD9F9, 0x8803, 0xD9FA, 0x7FB8, - 0xD9FB, 0x51AB, 0xD9FC, 0x51B1, 0xD9FD, 0x51BD, 0xD9FE, 0x51BC, 0xDA40, 0x8D0E, 0xDA41, 0x8D0F, 0xDA42, 0x8D10, 0xDA43, 0x8D11, - 0xDA44, 0x8D12, 0xDA45, 0x8D13, 0xDA46, 0x8D14, 0xDA47, 0x8D15, 0xDA48, 0x8D16, 0xDA49, 0x8D17, 0xDA4A, 0x8D18, 0xDA4B, 0x8D19, - 0xDA4C, 0x8D1A, 0xDA4D, 0x8D1B, 0xDA4E, 0x8D1C, 0xDA4F, 0x8D20, 0xDA50, 0x8D51, 0xDA51, 0x8D52, 0xDA52, 0x8D57, 0xDA53, 0x8D5F, - 0xDA54, 0x8D65, 0xDA55, 0x8D68, 0xDA56, 0x8D69, 0xDA57, 0x8D6A, 0xDA58, 0x8D6C, 0xDA59, 0x8D6E, 0xDA5A, 0x8D6F, 0xDA5B, 0x8D71, - 0xDA5C, 0x8D72, 0xDA5D, 0x8D78, 0xDA5E, 0x8D79, 0xDA5F, 0x8D7A, 0xDA60, 0x8D7B, 0xDA61, 0x8D7C, 0xDA62, 0x8D7D, 0xDA63, 0x8D7E, - 0xDA64, 0x8D7F, 0xDA65, 0x8D80, 0xDA66, 0x8D82, 0xDA67, 0x8D83, 0xDA68, 0x8D86, 0xDA69, 0x8D87, 0xDA6A, 0x8D88, 0xDA6B, 0x8D89, - 0xDA6C, 0x8D8C, 0xDA6D, 0x8D8D, 0xDA6E, 0x8D8E, 0xDA6F, 0x8D8F, 0xDA70, 0x8D90, 0xDA71, 0x8D92, 0xDA72, 0x8D93, 0xDA73, 0x8D95, - 0xDA74, 0x8D96, 0xDA75, 0x8D97, 0xDA76, 0x8D98, 0xDA77, 0x8D99, 0xDA78, 0x8D9A, 0xDA79, 0x8D9B, 0xDA7A, 0x8D9C, 0xDA7B, 0x8D9D, - 0xDA7C, 0x8D9E, 0xDA7D, 0x8DA0, 0xDA7E, 0x8DA1, 0xDA80, 0x8DA2, 0xDA81, 0x8DA4, 0xDA82, 0x8DA5, 0xDA83, 0x8DA6, 0xDA84, 0x8DA7, - 0xDA85, 0x8DA8, 0xDA86, 0x8DA9, 0xDA87, 0x8DAA, 0xDA88, 0x8DAB, 0xDA89, 0x8DAC, 0xDA8A, 0x8DAD, 0xDA8B, 0x8DAE, 0xDA8C, 0x8DAF, - 0xDA8D, 0x8DB0, 0xDA8E, 0x8DB2, 0xDA8F, 0x8DB6, 0xDA90, 0x8DB7, 0xDA91, 0x8DB9, 0xDA92, 0x8DBB, 0xDA93, 0x8DBD, 0xDA94, 0x8DC0, - 0xDA95, 0x8DC1, 0xDA96, 0x8DC2, 0xDA97, 0x8DC5, 0xDA98, 0x8DC7, 0xDA99, 0x8DC8, 0xDA9A, 0x8DC9, 0xDA9B, 0x8DCA, 0xDA9C, 0x8DCD, - 0xDA9D, 0x8DD0, 0xDA9E, 0x8DD2, 0xDA9F, 0x8DD3, 0xDAA0, 0x8DD4, 0xDAA1, 0x51C7, 0xDAA2, 0x5196, 0xDAA3, 0x51A2, 0xDAA4, 0x51A5, - 0xDAA5, 0x8BA0, 0xDAA6, 0x8BA6, 0xDAA7, 0x8BA7, 0xDAA8, 0x8BAA, 0xDAA9, 0x8BB4, 0xDAAA, 0x8BB5, 0xDAAB, 0x8BB7, 0xDAAC, 0x8BC2, - 0xDAAD, 0x8BC3, 0xDAAE, 0x8BCB, 0xDAAF, 0x8BCF, 0xDAB0, 0x8BCE, 0xDAB1, 0x8BD2, 0xDAB2, 0x8BD3, 0xDAB3, 0x8BD4, 0xDAB4, 0x8BD6, - 0xDAB5, 0x8BD8, 0xDAB6, 0x8BD9, 0xDAB7, 0x8BDC, 0xDAB8, 0x8BDF, 0xDAB9, 0x8BE0, 0xDABA, 0x8BE4, 0xDABB, 0x8BE8, 0xDABC, 0x8BE9, - 0xDABD, 0x8BEE, 0xDABE, 0x8BF0, 0xDABF, 0x8BF3, 0xDAC0, 0x8BF6, 0xDAC1, 0x8BF9, 0xDAC2, 0x8BFC, 0xDAC3, 0x8BFF, 0xDAC4, 0x8C00, - 0xDAC5, 0x8C02, 0xDAC6, 0x8C04, 0xDAC7, 0x8C07, 0xDAC8, 0x8C0C, 0xDAC9, 0x8C0F, 0xDACA, 0x8C11, 0xDACB, 0x8C12, 0xDACC, 0x8C14, - 0xDACD, 0x8C15, 0xDACE, 0x8C16, 0xDACF, 0x8C19, 0xDAD0, 0x8C1B, 0xDAD1, 0x8C18, 0xDAD2, 0x8C1D, 0xDAD3, 0x8C1F, 0xDAD4, 0x8C20, - 0xDAD5, 0x8C21, 0xDAD6, 0x8C25, 0xDAD7, 0x8C27, 0xDAD8, 0x8C2A, 0xDAD9, 0x8C2B, 0xDADA, 0x8C2E, 0xDADB, 0x8C2F, 0xDADC, 0x8C32, - 0xDADD, 0x8C33, 0xDADE, 0x8C35, 0xDADF, 0x8C36, 0xDAE0, 0x5369, 0xDAE1, 0x537A, 0xDAE2, 0x961D, 0xDAE3, 0x9622, 0xDAE4, 0x9621, - 0xDAE5, 0x9631, 0xDAE6, 0x962A, 0xDAE7, 0x963D, 0xDAE8, 0x963C, 0xDAE9, 0x9642, 0xDAEA, 0x9649, 0xDAEB, 0x9654, 0xDAEC, 0x965F, - 0xDAED, 0x9667, 0xDAEE, 0x966C, 0xDAEF, 0x9672, 0xDAF0, 0x9674, 0xDAF1, 0x9688, 0xDAF2, 0x968D, 0xDAF3, 0x9697, 0xDAF4, 0x96B0, - 0xDAF5, 0x9097, 0xDAF6, 0x909B, 0xDAF7, 0x909D, 0xDAF8, 0x9099, 0xDAF9, 0x90AC, 0xDAFA, 0x90A1, 0xDAFB, 0x90B4, 0xDAFC, 0x90B3, - 0xDAFD, 0x90B6, 0xDAFE, 0x90BA, 0xDB40, 0x8DD5, 0xDB41, 0x8DD8, 0xDB42, 0x8DD9, 0xDB43, 0x8DDC, 0xDB44, 0x8DE0, 0xDB45, 0x8DE1, - 0xDB46, 0x8DE2, 0xDB47, 0x8DE5, 0xDB48, 0x8DE6, 0xDB49, 0x8DE7, 0xDB4A, 0x8DE9, 0xDB4B, 0x8DED, 0xDB4C, 0x8DEE, 0xDB4D, 0x8DF0, - 0xDB4E, 0x8DF1, 0xDB4F, 0x8DF2, 0xDB50, 0x8DF4, 0xDB51, 0x8DF6, 0xDB52, 0x8DFC, 0xDB53, 0x8DFE, 0xDB54, 0x8DFF, 0xDB55, 0x8E00, - 0xDB56, 0x8E01, 0xDB57, 0x8E02, 0xDB58, 0x8E03, 0xDB59, 0x8E04, 0xDB5A, 0x8E06, 0xDB5B, 0x8E07, 0xDB5C, 0x8E08, 0xDB5D, 0x8E0B, - 0xDB5E, 0x8E0D, 0xDB5F, 0x8E0E, 0xDB60, 0x8E10, 0xDB61, 0x8E11, 0xDB62, 0x8E12, 0xDB63, 0x8E13, 0xDB64, 0x8E15, 0xDB65, 0x8E16, - 0xDB66, 0x8E17, 0xDB67, 0x8E18, 0xDB68, 0x8E19, 0xDB69, 0x8E1A, 0xDB6A, 0x8E1B, 0xDB6B, 0x8E1C, 0xDB6C, 0x8E20, 0xDB6D, 0x8E21, - 0xDB6E, 0x8E24, 0xDB6F, 0x8E25, 0xDB70, 0x8E26, 0xDB71, 0x8E27, 0xDB72, 0x8E28, 0xDB73, 0x8E2B, 0xDB74, 0x8E2D, 0xDB75, 0x8E30, - 0xDB76, 0x8E32, 0xDB77, 0x8E33, 0xDB78, 0x8E34, 0xDB79, 0x8E36, 0xDB7A, 0x8E37, 0xDB7B, 0x8E38, 0xDB7C, 0x8E3B, 0xDB7D, 0x8E3C, - 0xDB7E, 0x8E3E, 0xDB80, 0x8E3F, 0xDB81, 0x8E43, 0xDB82, 0x8E45, 0xDB83, 0x8E46, 0xDB84, 0x8E4C, 0xDB85, 0x8E4D, 0xDB86, 0x8E4E, - 0xDB87, 0x8E4F, 0xDB88, 0x8E50, 0xDB89, 0x8E53, 0xDB8A, 0x8E54, 0xDB8B, 0x8E55, 0xDB8C, 0x8E56, 0xDB8D, 0x8E57, 0xDB8E, 0x8E58, - 0xDB8F, 0x8E5A, 0xDB90, 0x8E5B, 0xDB91, 0x8E5C, 0xDB92, 0x8E5D, 0xDB93, 0x8E5E, 0xDB94, 0x8E5F, 0xDB95, 0x8E60, 0xDB96, 0x8E61, - 0xDB97, 0x8E62, 0xDB98, 0x8E63, 0xDB99, 0x8E64, 0xDB9A, 0x8E65, 0xDB9B, 0x8E67, 0xDB9C, 0x8E68, 0xDB9D, 0x8E6A, 0xDB9E, 0x8E6B, - 0xDB9F, 0x8E6E, 0xDBA0, 0x8E71, 0xDBA1, 0x90B8, 0xDBA2, 0x90B0, 0xDBA3, 0x90CF, 0xDBA4, 0x90C5, 0xDBA5, 0x90BE, 0xDBA6, 0x90D0, - 0xDBA7, 0x90C4, 0xDBA8, 0x90C7, 0xDBA9, 0x90D3, 0xDBAA, 0x90E6, 0xDBAB, 0x90E2, 0xDBAC, 0x90DC, 0xDBAD, 0x90D7, 0xDBAE, 0x90DB, - 0xDBAF, 0x90EB, 0xDBB0, 0x90EF, 0xDBB1, 0x90FE, 0xDBB2, 0x9104, 0xDBB3, 0x9122, 0xDBB4, 0x911E, 0xDBB5, 0x9123, 0xDBB6, 0x9131, - 0xDBB7, 0x912F, 0xDBB8, 0x9139, 0xDBB9, 0x9143, 0xDBBA, 0x9146, 0xDBBB, 0x520D, 0xDBBC, 0x5942, 0xDBBD, 0x52A2, 0xDBBE, 0x52AC, - 0xDBBF, 0x52AD, 0xDBC0, 0x52BE, 0xDBC1, 0x54FF, 0xDBC2, 0x52D0, 0xDBC3, 0x52D6, 0xDBC4, 0x52F0, 0xDBC5, 0x53DF, 0xDBC6, 0x71EE, - 0xDBC7, 0x77CD, 0xDBC8, 0x5EF4, 0xDBC9, 0x51F5, 0xDBCA, 0x51FC, 0xDBCB, 0x9B2F, 0xDBCC, 0x53B6, 0xDBCD, 0x5F01, 0xDBCE, 0x755A, - 0xDBCF, 0x5DEF, 0xDBD0, 0x574C, 0xDBD1, 0x57A9, 0xDBD2, 0x57A1, 0xDBD3, 0x587E, 0xDBD4, 0x58BC, 0xDBD5, 0x58C5, 0xDBD6, 0x58D1, - 0xDBD7, 0x5729, 0xDBD8, 0x572C, 0xDBD9, 0x572A, 0xDBDA, 0x5733, 0xDBDB, 0x5739, 0xDBDC, 0x572E, 0xDBDD, 0x572F, 0xDBDE, 0x575C, - 0xDBDF, 0x573B, 0xDBE0, 0x5742, 0xDBE1, 0x5769, 0xDBE2, 0x5785, 0xDBE3, 0x576B, 0xDBE4, 0x5786, 0xDBE5, 0x577C, 0xDBE6, 0x577B, - 0xDBE7, 0x5768, 0xDBE8, 0x576D, 0xDBE9, 0x5776, 0xDBEA, 0x5773, 0xDBEB, 0x57AD, 0xDBEC, 0x57A4, 0xDBED, 0x578C, 0xDBEE, 0x57B2, - 0xDBEF, 0x57CF, 0xDBF0, 0x57A7, 0xDBF1, 0x57B4, 0xDBF2, 0x5793, 0xDBF3, 0x57A0, 0xDBF4, 0x57D5, 0xDBF5, 0x57D8, 0xDBF6, 0x57DA, - 0xDBF7, 0x57D9, 0xDBF8, 0x57D2, 0xDBF9, 0x57B8, 0xDBFA, 0x57F4, 0xDBFB, 0x57EF, 0xDBFC, 0x57F8, 0xDBFD, 0x57E4, 0xDBFE, 0x57DD, - 0xDC40, 0x8E73, 0xDC41, 0x8E75, 0xDC42, 0x8E77, 0xDC43, 0x8E78, 0xDC44, 0x8E79, 0xDC45, 0x8E7A, 0xDC46, 0x8E7B, 0xDC47, 0x8E7D, - 0xDC48, 0x8E7E, 0xDC49, 0x8E80, 0xDC4A, 0x8E82, 0xDC4B, 0x8E83, 0xDC4C, 0x8E84, 0xDC4D, 0x8E86, 0xDC4E, 0x8E88, 0xDC4F, 0x8E89, - 0xDC50, 0x8E8A, 0xDC51, 0x8E8B, 0xDC52, 0x8E8C, 0xDC53, 0x8E8D, 0xDC54, 0x8E8E, 0xDC55, 0x8E91, 0xDC56, 0x8E92, 0xDC57, 0x8E93, - 0xDC58, 0x8E95, 0xDC59, 0x8E96, 0xDC5A, 0x8E97, 0xDC5B, 0x8E98, 0xDC5C, 0x8E99, 0xDC5D, 0x8E9A, 0xDC5E, 0x8E9B, 0xDC5F, 0x8E9D, - 0xDC60, 0x8E9F, 0xDC61, 0x8EA0, 0xDC62, 0x8EA1, 0xDC63, 0x8EA2, 0xDC64, 0x8EA3, 0xDC65, 0x8EA4, 0xDC66, 0x8EA5, 0xDC67, 0x8EA6, - 0xDC68, 0x8EA7, 0xDC69, 0x8EA8, 0xDC6A, 0x8EA9, 0xDC6B, 0x8EAA, 0xDC6C, 0x8EAD, 0xDC6D, 0x8EAE, 0xDC6E, 0x8EB0, 0xDC6F, 0x8EB1, - 0xDC70, 0x8EB3, 0xDC71, 0x8EB4, 0xDC72, 0x8EB5, 0xDC73, 0x8EB6, 0xDC74, 0x8EB7, 0xDC75, 0x8EB8, 0xDC76, 0x8EB9, 0xDC77, 0x8EBB, - 0xDC78, 0x8EBC, 0xDC79, 0x8EBD, 0xDC7A, 0x8EBE, 0xDC7B, 0x8EBF, 0xDC7C, 0x8EC0, 0xDC7D, 0x8EC1, 0xDC7E, 0x8EC2, 0xDC80, 0x8EC3, - 0xDC81, 0x8EC4, 0xDC82, 0x8EC5, 0xDC83, 0x8EC6, 0xDC84, 0x8EC7, 0xDC85, 0x8EC8, 0xDC86, 0x8EC9, 0xDC87, 0x8ECA, 0xDC88, 0x8ECB, - 0xDC89, 0x8ECC, 0xDC8A, 0x8ECD, 0xDC8B, 0x8ECF, 0xDC8C, 0x8ED0, 0xDC8D, 0x8ED1, 0xDC8E, 0x8ED2, 0xDC8F, 0x8ED3, 0xDC90, 0x8ED4, - 0xDC91, 0x8ED5, 0xDC92, 0x8ED6, 0xDC93, 0x8ED7, 0xDC94, 0x8ED8, 0xDC95, 0x8ED9, 0xDC96, 0x8EDA, 0xDC97, 0x8EDB, 0xDC98, 0x8EDC, - 0xDC99, 0x8EDD, 0xDC9A, 0x8EDE, 0xDC9B, 0x8EDF, 0xDC9C, 0x8EE0, 0xDC9D, 0x8EE1, 0xDC9E, 0x8EE2, 0xDC9F, 0x8EE3, 0xDCA0, 0x8EE4, - 0xDCA1, 0x580B, 0xDCA2, 0x580D, 0xDCA3, 0x57FD, 0xDCA4, 0x57ED, 0xDCA5, 0x5800, 0xDCA6, 0x581E, 0xDCA7, 0x5819, 0xDCA8, 0x5844, - 0xDCA9, 0x5820, 0xDCAA, 0x5865, 0xDCAB, 0x586C, 0xDCAC, 0x5881, 0xDCAD, 0x5889, 0xDCAE, 0x589A, 0xDCAF, 0x5880, 0xDCB0, 0x99A8, - 0xDCB1, 0x9F19, 0xDCB2, 0x61FF, 0xDCB3, 0x8279, 0xDCB4, 0x827D, 0xDCB5, 0x827F, 0xDCB6, 0x828F, 0xDCB7, 0x828A, 0xDCB8, 0x82A8, - 0xDCB9, 0x8284, 0xDCBA, 0x828E, 0xDCBB, 0x8291, 0xDCBC, 0x8297, 0xDCBD, 0x8299, 0xDCBE, 0x82AB, 0xDCBF, 0x82B8, 0xDCC0, 0x82BE, - 0xDCC1, 0x82B0, 0xDCC2, 0x82C8, 0xDCC3, 0x82CA, 0xDCC4, 0x82E3, 0xDCC5, 0x8298, 0xDCC6, 0x82B7, 0xDCC7, 0x82AE, 0xDCC8, 0x82CB, - 0xDCC9, 0x82CC, 0xDCCA, 0x82C1, 0xDCCB, 0x82A9, 0xDCCC, 0x82B4, 0xDCCD, 0x82A1, 0xDCCE, 0x82AA, 0xDCCF, 0x829F, 0xDCD0, 0x82C4, - 0xDCD1, 0x82CE, 0xDCD2, 0x82A4, 0xDCD3, 0x82E1, 0xDCD4, 0x8309, 0xDCD5, 0x82F7, 0xDCD6, 0x82E4, 0xDCD7, 0x830F, 0xDCD8, 0x8307, - 0xDCD9, 0x82DC, 0xDCDA, 0x82F4, 0xDCDB, 0x82D2, 0xDCDC, 0x82D8, 0xDCDD, 0x830C, 0xDCDE, 0x82FB, 0xDCDF, 0x82D3, 0xDCE0, 0x8311, - 0xDCE1, 0x831A, 0xDCE2, 0x8306, 0xDCE3, 0x8314, 0xDCE4, 0x8315, 0xDCE5, 0x82E0, 0xDCE6, 0x82D5, 0xDCE7, 0x831C, 0xDCE8, 0x8351, - 0xDCE9, 0x835B, 0xDCEA, 0x835C, 0xDCEB, 0x8308, 0xDCEC, 0x8392, 0xDCED, 0x833C, 0xDCEE, 0x8334, 0xDCEF, 0x8331, 0xDCF0, 0x839B, - 0xDCF1, 0x835E, 0xDCF2, 0x832F, 0xDCF3, 0x834F, 0xDCF4, 0x8347, 0xDCF5, 0x8343, 0xDCF6, 0x835F, 0xDCF7, 0x8340, 0xDCF8, 0x8317, - 0xDCF9, 0x8360, 0xDCFA, 0x832D, 0xDCFB, 0x833A, 0xDCFC, 0x8333, 0xDCFD, 0x8366, 0xDCFE, 0x8365, 0xDD40, 0x8EE5, 0xDD41, 0x8EE6, - 0xDD42, 0x8EE7, 0xDD43, 0x8EE8, 0xDD44, 0x8EE9, 0xDD45, 0x8EEA, 0xDD46, 0x8EEB, 0xDD47, 0x8EEC, 0xDD48, 0x8EED, 0xDD49, 0x8EEE, - 0xDD4A, 0x8EEF, 0xDD4B, 0x8EF0, 0xDD4C, 0x8EF1, 0xDD4D, 0x8EF2, 0xDD4E, 0x8EF3, 0xDD4F, 0x8EF4, 0xDD50, 0x8EF5, 0xDD51, 0x8EF6, - 0xDD52, 0x8EF7, 0xDD53, 0x8EF8, 0xDD54, 0x8EF9, 0xDD55, 0x8EFA, 0xDD56, 0x8EFB, 0xDD57, 0x8EFC, 0xDD58, 0x8EFD, 0xDD59, 0x8EFE, - 0xDD5A, 0x8EFF, 0xDD5B, 0x8F00, 0xDD5C, 0x8F01, 0xDD5D, 0x8F02, 0xDD5E, 0x8F03, 0xDD5F, 0x8F04, 0xDD60, 0x8F05, 0xDD61, 0x8F06, - 0xDD62, 0x8F07, 0xDD63, 0x8F08, 0xDD64, 0x8F09, 0xDD65, 0x8F0A, 0xDD66, 0x8F0B, 0xDD67, 0x8F0C, 0xDD68, 0x8F0D, 0xDD69, 0x8F0E, - 0xDD6A, 0x8F0F, 0xDD6B, 0x8F10, 0xDD6C, 0x8F11, 0xDD6D, 0x8F12, 0xDD6E, 0x8F13, 0xDD6F, 0x8F14, 0xDD70, 0x8F15, 0xDD71, 0x8F16, - 0xDD72, 0x8F17, 0xDD73, 0x8F18, 0xDD74, 0x8F19, 0xDD75, 0x8F1A, 0xDD76, 0x8F1B, 0xDD77, 0x8F1C, 0xDD78, 0x8F1D, 0xDD79, 0x8F1E, - 0xDD7A, 0x8F1F, 0xDD7B, 0x8F20, 0xDD7C, 0x8F21, 0xDD7D, 0x8F22, 0xDD7E, 0x8F23, 0xDD80, 0x8F24, 0xDD81, 0x8F25, 0xDD82, 0x8F26, - 0xDD83, 0x8F27, 0xDD84, 0x8F28, 0xDD85, 0x8F29, 0xDD86, 0x8F2A, 0xDD87, 0x8F2B, 0xDD88, 0x8F2C, 0xDD89, 0x8F2D, 0xDD8A, 0x8F2E, - 0xDD8B, 0x8F2F, 0xDD8C, 0x8F30, 0xDD8D, 0x8F31, 0xDD8E, 0x8F32, 0xDD8F, 0x8F33, 0xDD90, 0x8F34, 0xDD91, 0x8F35, 0xDD92, 0x8F36, - 0xDD93, 0x8F37, 0xDD94, 0x8F38, 0xDD95, 0x8F39, 0xDD96, 0x8F3A, 0xDD97, 0x8F3B, 0xDD98, 0x8F3C, 0xDD99, 0x8F3D, 0xDD9A, 0x8F3E, - 0xDD9B, 0x8F3F, 0xDD9C, 0x8F40, 0xDD9D, 0x8F41, 0xDD9E, 0x8F42, 0xDD9F, 0x8F43, 0xDDA0, 0x8F44, 0xDDA1, 0x8368, 0xDDA2, 0x831B, - 0xDDA3, 0x8369, 0xDDA4, 0x836C, 0xDDA5, 0x836A, 0xDDA6, 0x836D, 0xDDA7, 0x836E, 0xDDA8, 0x83B0, 0xDDA9, 0x8378, 0xDDAA, 0x83B3, - 0xDDAB, 0x83B4, 0xDDAC, 0x83A0, 0xDDAD, 0x83AA, 0xDDAE, 0x8393, 0xDDAF, 0x839C, 0xDDB0, 0x8385, 0xDDB1, 0x837C, 0xDDB2, 0x83B6, - 0xDDB3, 0x83A9, 0xDDB4, 0x837D, 0xDDB5, 0x83B8, 0xDDB6, 0x837B, 0xDDB7, 0x8398, 0xDDB8, 0x839E, 0xDDB9, 0x83A8, 0xDDBA, 0x83BA, - 0xDDBB, 0x83BC, 0xDDBC, 0x83C1, 0xDDBD, 0x8401, 0xDDBE, 0x83E5, 0xDDBF, 0x83D8, 0xDDC0, 0x5807, 0xDDC1, 0x8418, 0xDDC2, 0x840B, - 0xDDC3, 0x83DD, 0xDDC4, 0x83FD, 0xDDC5, 0x83D6, 0xDDC6, 0x841C, 0xDDC7, 0x8438, 0xDDC8, 0x8411, 0xDDC9, 0x8406, 0xDDCA, 0x83D4, - 0xDDCB, 0x83DF, 0xDDCC, 0x840F, 0xDDCD, 0x8403, 0xDDCE, 0x83F8, 0xDDCF, 0x83F9, 0xDDD0, 0x83EA, 0xDDD1, 0x83C5, 0xDDD2, 0x83C0, - 0xDDD3, 0x8426, 0xDDD4, 0x83F0, 0xDDD5, 0x83E1, 0xDDD6, 0x845C, 0xDDD7, 0x8451, 0xDDD8, 0x845A, 0xDDD9, 0x8459, 0xDDDA, 0x8473, - 0xDDDB, 0x8487, 0xDDDC, 0x8488, 0xDDDD, 0x847A, 0xDDDE, 0x8489, 0xDDDF, 0x8478, 0xDDE0, 0x843C, 0xDDE1, 0x8446, 0xDDE2, 0x8469, - 0xDDE3, 0x8476, 0xDDE4, 0x848C, 0xDDE5, 0x848E, 0xDDE6, 0x8431, 0xDDE7, 0x846D, 0xDDE8, 0x84C1, 0xDDE9, 0x84CD, 0xDDEA, 0x84D0, - 0xDDEB, 0x84E6, 0xDDEC, 0x84BD, 0xDDED, 0x84D3, 0xDDEE, 0x84CA, 0xDDEF, 0x84BF, 0xDDF0, 0x84BA, 0xDDF1, 0x84E0, 0xDDF2, 0x84A1, - 0xDDF3, 0x84B9, 0xDDF4, 0x84B4, 0xDDF5, 0x8497, 0xDDF6, 0x84E5, 0xDDF7, 0x84E3, 0xDDF8, 0x850C, 0xDDF9, 0x750D, 0xDDFA, 0x8538, - 0xDDFB, 0x84F0, 0xDDFC, 0x8539, 0xDDFD, 0x851F, 0xDDFE, 0x853A, 0xDE40, 0x8F45, 0xDE41, 0x8F46, 0xDE42, 0x8F47, 0xDE43, 0x8F48, - 0xDE44, 0x8F49, 0xDE45, 0x8F4A, 0xDE46, 0x8F4B, 0xDE47, 0x8F4C, 0xDE48, 0x8F4D, 0xDE49, 0x8F4E, 0xDE4A, 0x8F4F, 0xDE4B, 0x8F50, - 0xDE4C, 0x8F51, 0xDE4D, 0x8F52, 0xDE4E, 0x8F53, 0xDE4F, 0x8F54, 0xDE50, 0x8F55, 0xDE51, 0x8F56, 0xDE52, 0x8F57, 0xDE53, 0x8F58, - 0xDE54, 0x8F59, 0xDE55, 0x8F5A, 0xDE56, 0x8F5B, 0xDE57, 0x8F5C, 0xDE58, 0x8F5D, 0xDE59, 0x8F5E, 0xDE5A, 0x8F5F, 0xDE5B, 0x8F60, - 0xDE5C, 0x8F61, 0xDE5D, 0x8F62, 0xDE5E, 0x8F63, 0xDE5F, 0x8F64, 0xDE60, 0x8F65, 0xDE61, 0x8F6A, 0xDE62, 0x8F80, 0xDE63, 0x8F8C, - 0xDE64, 0x8F92, 0xDE65, 0x8F9D, 0xDE66, 0x8FA0, 0xDE67, 0x8FA1, 0xDE68, 0x8FA2, 0xDE69, 0x8FA4, 0xDE6A, 0x8FA5, 0xDE6B, 0x8FA6, - 0xDE6C, 0x8FA7, 0xDE6D, 0x8FAA, 0xDE6E, 0x8FAC, 0xDE6F, 0x8FAD, 0xDE70, 0x8FAE, 0xDE71, 0x8FAF, 0xDE72, 0x8FB2, 0xDE73, 0x8FB3, - 0xDE74, 0x8FB4, 0xDE75, 0x8FB5, 0xDE76, 0x8FB7, 0xDE77, 0x8FB8, 0xDE78, 0x8FBA, 0xDE79, 0x8FBB, 0xDE7A, 0x8FBC, 0xDE7B, 0x8FBF, - 0xDE7C, 0x8FC0, 0xDE7D, 0x8FC3, 0xDE7E, 0x8FC6, 0xDE80, 0x8FC9, 0xDE81, 0x8FCA, 0xDE82, 0x8FCB, 0xDE83, 0x8FCC, 0xDE84, 0x8FCD, - 0xDE85, 0x8FCF, 0xDE86, 0x8FD2, 0xDE87, 0x8FD6, 0xDE88, 0x8FD7, 0xDE89, 0x8FDA, 0xDE8A, 0x8FE0, 0xDE8B, 0x8FE1, 0xDE8C, 0x8FE3, - 0xDE8D, 0x8FE7, 0xDE8E, 0x8FEC, 0xDE8F, 0x8FEF, 0xDE90, 0x8FF1, 0xDE91, 0x8FF2, 0xDE92, 0x8FF4, 0xDE93, 0x8FF5, 0xDE94, 0x8FF6, - 0xDE95, 0x8FFA, 0xDE96, 0x8FFB, 0xDE97, 0x8FFC, 0xDE98, 0x8FFE, 0xDE99, 0x8FFF, 0xDE9A, 0x9007, 0xDE9B, 0x9008, 0xDE9C, 0x900C, - 0xDE9D, 0x900E, 0xDE9E, 0x9013, 0xDE9F, 0x9015, 0xDEA0, 0x9018, 0xDEA1, 0x8556, 0xDEA2, 0x853B, 0xDEA3, 0x84FF, 0xDEA4, 0x84FC, - 0xDEA5, 0x8559, 0xDEA6, 0x8548, 0xDEA7, 0x8568, 0xDEA8, 0x8564, 0xDEA9, 0x855E, 0xDEAA, 0x857A, 0xDEAB, 0x77A2, 0xDEAC, 0x8543, - 0xDEAD, 0x8572, 0xDEAE, 0x857B, 0xDEAF, 0x85A4, 0xDEB0, 0x85A8, 0xDEB1, 0x8587, 0xDEB2, 0x858F, 0xDEB3, 0x8579, 0xDEB4, 0x85AE, - 0xDEB5, 0x859C, 0xDEB6, 0x8585, 0xDEB7, 0x85B9, 0xDEB8, 0x85B7, 0xDEB9, 0x85B0, 0xDEBA, 0x85D3, 0xDEBB, 0x85C1, 0xDEBC, 0x85DC, - 0xDEBD, 0x85FF, 0xDEBE, 0x8627, 0xDEBF, 0x8605, 0xDEC0, 0x8629, 0xDEC1, 0x8616, 0xDEC2, 0x863C, 0xDEC3, 0x5EFE, 0xDEC4, 0x5F08, - 0xDEC5, 0x593C, 0xDEC6, 0x5941, 0xDEC7, 0x8037, 0xDEC8, 0x5955, 0xDEC9, 0x595A, 0xDECA, 0x5958, 0xDECB, 0x530F, 0xDECC, 0x5C22, - 0xDECD, 0x5C25, 0xDECE, 0x5C2C, 0xDECF, 0x5C34, 0xDED0, 0x624C, 0xDED1, 0x626A, 0xDED2, 0x629F, 0xDED3, 0x62BB, 0xDED4, 0x62CA, - 0xDED5, 0x62DA, 0xDED6, 0x62D7, 0xDED7, 0x62EE, 0xDED8, 0x6322, 0xDED9, 0x62F6, 0xDEDA, 0x6339, 0xDEDB, 0x634B, 0xDEDC, 0x6343, - 0xDEDD, 0x63AD, 0xDEDE, 0x63F6, 0xDEDF, 0x6371, 0xDEE0, 0x637A, 0xDEE1, 0x638E, 0xDEE2, 0x63B4, 0xDEE3, 0x636D, 0xDEE4, 0x63AC, - 0xDEE5, 0x638A, 0xDEE6, 0x6369, 0xDEE7, 0x63AE, 0xDEE8, 0x63BC, 0xDEE9, 0x63F2, 0xDEEA, 0x63F8, 0xDEEB, 0x63E0, 0xDEEC, 0x63FF, - 0xDEED, 0x63C4, 0xDEEE, 0x63DE, 0xDEEF, 0x63CE, 0xDEF0, 0x6452, 0xDEF1, 0x63C6, 0xDEF2, 0x63BE, 0xDEF3, 0x6445, 0xDEF4, 0x6441, - 0xDEF5, 0x640B, 0xDEF6, 0x641B, 0xDEF7, 0x6420, 0xDEF8, 0x640C, 0xDEF9, 0x6426, 0xDEFA, 0x6421, 0xDEFB, 0x645E, 0xDEFC, 0x6484, - 0xDEFD, 0x646D, 0xDEFE, 0x6496, 0xDF40, 0x9019, 0xDF41, 0x901C, 0xDF42, 0x9023, 0xDF43, 0x9024, 0xDF44, 0x9025, 0xDF45, 0x9027, - 0xDF46, 0x9028, 0xDF47, 0x9029, 0xDF48, 0x902A, 0xDF49, 0x902B, 0xDF4A, 0x902C, 0xDF4B, 0x9030, 0xDF4C, 0x9031, 0xDF4D, 0x9032, - 0xDF4E, 0x9033, 0xDF4F, 0x9034, 0xDF50, 0x9037, 0xDF51, 0x9039, 0xDF52, 0x903A, 0xDF53, 0x903D, 0xDF54, 0x903F, 0xDF55, 0x9040, - 0xDF56, 0x9043, 0xDF57, 0x9045, 0xDF58, 0x9046, 0xDF59, 0x9048, 0xDF5A, 0x9049, 0xDF5B, 0x904A, 0xDF5C, 0x904B, 0xDF5D, 0x904C, - 0xDF5E, 0x904E, 0xDF5F, 0x9054, 0xDF60, 0x9055, 0xDF61, 0x9056, 0xDF62, 0x9059, 0xDF63, 0x905A, 0xDF64, 0x905C, 0xDF65, 0x905D, - 0xDF66, 0x905E, 0xDF67, 0x905F, 0xDF68, 0x9060, 0xDF69, 0x9061, 0xDF6A, 0x9064, 0xDF6B, 0x9066, 0xDF6C, 0x9067, 0xDF6D, 0x9069, - 0xDF6E, 0x906A, 0xDF6F, 0x906B, 0xDF70, 0x906C, 0xDF71, 0x906F, 0xDF72, 0x9070, 0xDF73, 0x9071, 0xDF74, 0x9072, 0xDF75, 0x9073, - 0xDF76, 0x9076, 0xDF77, 0x9077, 0xDF78, 0x9078, 0xDF79, 0x9079, 0xDF7A, 0x907A, 0xDF7B, 0x907B, 0xDF7C, 0x907C, 0xDF7D, 0x907E, - 0xDF7E, 0x9081, 0xDF80, 0x9084, 0xDF81, 0x9085, 0xDF82, 0x9086, 0xDF83, 0x9087, 0xDF84, 0x9089, 0xDF85, 0x908A, 0xDF86, 0x908C, - 0xDF87, 0x908D, 0xDF88, 0x908E, 0xDF89, 0x908F, 0xDF8A, 0x9090, 0xDF8B, 0x9092, 0xDF8C, 0x9094, 0xDF8D, 0x9096, 0xDF8E, 0x9098, - 0xDF8F, 0x909A, 0xDF90, 0x909C, 0xDF91, 0x909E, 0xDF92, 0x909F, 0xDF93, 0x90A0, 0xDF94, 0x90A4, 0xDF95, 0x90A5, 0xDF96, 0x90A7, - 0xDF97, 0x90A8, 0xDF98, 0x90A9, 0xDF99, 0x90AB, 0xDF9A, 0x90AD, 0xDF9B, 0x90B2, 0xDF9C, 0x90B7, 0xDF9D, 0x90BC, 0xDF9E, 0x90BD, - 0xDF9F, 0x90BF, 0xDFA0, 0x90C0, 0xDFA1, 0x647A, 0xDFA2, 0x64B7, 0xDFA3, 0x64B8, 0xDFA4, 0x6499, 0xDFA5, 0x64BA, 0xDFA6, 0x64C0, - 0xDFA7, 0x64D0, 0xDFA8, 0x64D7, 0xDFA9, 0x64E4, 0xDFAA, 0x64E2, 0xDFAB, 0x6509, 0xDFAC, 0x6525, 0xDFAD, 0x652E, 0xDFAE, 0x5F0B, - 0xDFAF, 0x5FD2, 0xDFB0, 0x7519, 0xDFB1, 0x5F11, 0xDFB2, 0x535F, 0xDFB3, 0x53F1, 0xDFB4, 0x53FD, 0xDFB5, 0x53E9, 0xDFB6, 0x53E8, - 0xDFB7, 0x53FB, 0xDFB8, 0x5412, 0xDFB9, 0x5416, 0xDFBA, 0x5406, 0xDFBB, 0x544B, 0xDFBC, 0x5452, 0xDFBD, 0x5453, 0xDFBE, 0x5454, - 0xDFBF, 0x5456, 0xDFC0, 0x5443, 0xDFC1, 0x5421, 0xDFC2, 0x5457, 0xDFC3, 0x5459, 0xDFC4, 0x5423, 0xDFC5, 0x5432, 0xDFC6, 0x5482, - 0xDFC7, 0x5494, 0xDFC8, 0x5477, 0xDFC9, 0x5471, 0xDFCA, 0x5464, 0xDFCB, 0x549A, 0xDFCC, 0x549B, 0xDFCD, 0x5484, 0xDFCE, 0x5476, - 0xDFCF, 0x5466, 0xDFD0, 0x549D, 0xDFD1, 0x54D0, 0xDFD2, 0x54AD, 0xDFD3, 0x54C2, 0xDFD4, 0x54B4, 0xDFD5, 0x54D2, 0xDFD6, 0x54A7, - 0xDFD7, 0x54A6, 0xDFD8, 0x54D3, 0xDFD9, 0x54D4, 0xDFDA, 0x5472, 0xDFDB, 0x54A3, 0xDFDC, 0x54D5, 0xDFDD, 0x54BB, 0xDFDE, 0x54BF, - 0xDFDF, 0x54CC, 0xDFE0, 0x54D9, 0xDFE1, 0x54DA, 0xDFE2, 0x54DC, 0xDFE3, 0x54A9, 0xDFE4, 0x54AA, 0xDFE5, 0x54A4, 0xDFE6, 0x54DD, - 0xDFE7, 0x54CF, 0xDFE8, 0x54DE, 0xDFE9, 0x551B, 0xDFEA, 0x54E7, 0xDFEB, 0x5520, 0xDFEC, 0x54FD, 0xDFED, 0x5514, 0xDFEE, 0x54F3, - 0xDFEF, 0x5522, 0xDFF0, 0x5523, 0xDFF1, 0x550F, 0xDFF2, 0x5511, 0xDFF3, 0x5527, 0xDFF4, 0x552A, 0xDFF5, 0x5567, 0xDFF6, 0x558F, - 0xDFF7, 0x55B5, 0xDFF8, 0x5549, 0xDFF9, 0x556D, 0xDFFA, 0x5541, 0xDFFB, 0x5555, 0xDFFC, 0x553F, 0xDFFD, 0x5550, 0xDFFE, 0x553C, - 0xE040, 0x90C2, 0xE041, 0x90C3, 0xE042, 0x90C6, 0xE043, 0x90C8, 0xE044, 0x90C9, 0xE045, 0x90CB, 0xE046, 0x90CC, 0xE047, 0x90CD, - 0xE048, 0x90D2, 0xE049, 0x90D4, 0xE04A, 0x90D5, 0xE04B, 0x90D6, 0xE04C, 0x90D8, 0xE04D, 0x90D9, 0xE04E, 0x90DA, 0xE04F, 0x90DE, - 0xE050, 0x90DF, 0xE051, 0x90E0, 0xE052, 0x90E3, 0xE053, 0x90E4, 0xE054, 0x90E5, 0xE055, 0x90E9, 0xE056, 0x90EA, 0xE057, 0x90EC, - 0xE058, 0x90EE, 0xE059, 0x90F0, 0xE05A, 0x90F1, 0xE05B, 0x90F2, 0xE05C, 0x90F3, 0xE05D, 0x90F5, 0xE05E, 0x90F6, 0xE05F, 0x90F7, - 0xE060, 0x90F9, 0xE061, 0x90FA, 0xE062, 0x90FB, 0xE063, 0x90FC, 0xE064, 0x90FF, 0xE065, 0x9100, 0xE066, 0x9101, 0xE067, 0x9103, - 0xE068, 0x9105, 0xE069, 0x9106, 0xE06A, 0x9107, 0xE06B, 0x9108, 0xE06C, 0x9109, 0xE06D, 0x910A, 0xE06E, 0x910B, 0xE06F, 0x910C, - 0xE070, 0x910D, 0xE071, 0x910E, 0xE072, 0x910F, 0xE073, 0x9110, 0xE074, 0x9111, 0xE075, 0x9112, 0xE076, 0x9113, 0xE077, 0x9114, - 0xE078, 0x9115, 0xE079, 0x9116, 0xE07A, 0x9117, 0xE07B, 0x9118, 0xE07C, 0x911A, 0xE07D, 0x911B, 0xE07E, 0x911C, 0xE080, 0x911D, - 0xE081, 0x911F, 0xE082, 0x9120, 0xE083, 0x9121, 0xE084, 0x9124, 0xE085, 0x9125, 0xE086, 0x9126, 0xE087, 0x9127, 0xE088, 0x9128, - 0xE089, 0x9129, 0xE08A, 0x912A, 0xE08B, 0x912B, 0xE08C, 0x912C, 0xE08D, 0x912D, 0xE08E, 0x912E, 0xE08F, 0x9130, 0xE090, 0x9132, - 0xE091, 0x9133, 0xE092, 0x9134, 0xE093, 0x9135, 0xE094, 0x9136, 0xE095, 0x9137, 0xE096, 0x9138, 0xE097, 0x913A, 0xE098, 0x913B, - 0xE099, 0x913C, 0xE09A, 0x913D, 0xE09B, 0x913E, 0xE09C, 0x913F, 0xE09D, 0x9140, 0xE09E, 0x9141, 0xE09F, 0x9142, 0xE0A0, 0x9144, - 0xE0A1, 0x5537, 0xE0A2, 0x5556, 0xE0A3, 0x5575, 0xE0A4, 0x5576, 0xE0A5, 0x5577, 0xE0A6, 0x5533, 0xE0A7, 0x5530, 0xE0A8, 0x555C, - 0xE0A9, 0x558B, 0xE0AA, 0x55D2, 0xE0AB, 0x5583, 0xE0AC, 0x55B1, 0xE0AD, 0x55B9, 0xE0AE, 0x5588, 0xE0AF, 0x5581, 0xE0B0, 0x559F, - 0xE0B1, 0x557E, 0xE0B2, 0x55D6, 0xE0B3, 0x5591, 0xE0B4, 0x557B, 0xE0B5, 0x55DF, 0xE0B6, 0x55BD, 0xE0B7, 0x55BE, 0xE0B8, 0x5594, - 0xE0B9, 0x5599, 0xE0BA, 0x55EA, 0xE0BB, 0x55F7, 0xE0BC, 0x55C9, 0xE0BD, 0x561F, 0xE0BE, 0x55D1, 0xE0BF, 0x55EB, 0xE0C0, 0x55EC, - 0xE0C1, 0x55D4, 0xE0C2, 0x55E6, 0xE0C3, 0x55DD, 0xE0C4, 0x55C4, 0xE0C5, 0x55EF, 0xE0C6, 0x55E5, 0xE0C7, 0x55F2, 0xE0C8, 0x55F3, - 0xE0C9, 0x55CC, 0xE0CA, 0x55CD, 0xE0CB, 0x55E8, 0xE0CC, 0x55F5, 0xE0CD, 0x55E4, 0xE0CE, 0x8F94, 0xE0CF, 0x561E, 0xE0D0, 0x5608, - 0xE0D1, 0x560C, 0xE0D2, 0x5601, 0xE0D3, 0x5624, 0xE0D4, 0x5623, 0xE0D5, 0x55FE, 0xE0D6, 0x5600, 0xE0D7, 0x5627, 0xE0D8, 0x562D, - 0xE0D9, 0x5658, 0xE0DA, 0x5639, 0xE0DB, 0x5657, 0xE0DC, 0x562C, 0xE0DD, 0x564D, 0xE0DE, 0x5662, 0xE0DF, 0x5659, 0xE0E0, 0x565C, - 0xE0E1, 0x564C, 0xE0E2, 0x5654, 0xE0E3, 0x5686, 0xE0E4, 0x5664, 0xE0E5, 0x5671, 0xE0E6, 0x566B, 0xE0E7, 0x567B, 0xE0E8, 0x567C, - 0xE0E9, 0x5685, 0xE0EA, 0x5693, 0xE0EB, 0x56AF, 0xE0EC, 0x56D4, 0xE0ED, 0x56D7, 0xE0EE, 0x56DD, 0xE0EF, 0x56E1, 0xE0F0, 0x56F5, - 0xE0F1, 0x56EB, 0xE0F2, 0x56F9, 0xE0F3, 0x56FF, 0xE0F4, 0x5704, 0xE0F5, 0x570A, 0xE0F6, 0x5709, 0xE0F7, 0x571C, 0xE0F8, 0x5E0F, - 0xE0F9, 0x5E19, 0xE0FA, 0x5E14, 0xE0FB, 0x5E11, 0xE0FC, 0x5E31, 0xE0FD, 0x5E3B, 0xE0FE, 0x5E3C, 0xE140, 0x9145, 0xE141, 0x9147, - 0xE142, 0x9148, 0xE143, 0x9151, 0xE144, 0x9153, 0xE145, 0x9154, 0xE146, 0x9155, 0xE147, 0x9156, 0xE148, 0x9158, 0xE149, 0x9159, - 0xE14A, 0x915B, 0xE14B, 0x915C, 0xE14C, 0x915F, 0xE14D, 0x9160, 0xE14E, 0x9166, 0xE14F, 0x9167, 0xE150, 0x9168, 0xE151, 0x916B, - 0xE152, 0x916D, 0xE153, 0x9173, 0xE154, 0x917A, 0xE155, 0x917B, 0xE156, 0x917C, 0xE157, 0x9180, 0xE158, 0x9181, 0xE159, 0x9182, - 0xE15A, 0x9183, 0xE15B, 0x9184, 0xE15C, 0x9186, 0xE15D, 0x9188, 0xE15E, 0x918A, 0xE15F, 0x918E, 0xE160, 0x918F, 0xE161, 0x9193, - 0xE162, 0x9194, 0xE163, 0x9195, 0xE164, 0x9196, 0xE165, 0x9197, 0xE166, 0x9198, 0xE167, 0x9199, 0xE168, 0x919C, 0xE169, 0x919D, - 0xE16A, 0x919E, 0xE16B, 0x919F, 0xE16C, 0x91A0, 0xE16D, 0x91A1, 0xE16E, 0x91A4, 0xE16F, 0x91A5, 0xE170, 0x91A6, 0xE171, 0x91A7, - 0xE172, 0x91A8, 0xE173, 0x91A9, 0xE174, 0x91AB, 0xE175, 0x91AC, 0xE176, 0x91B0, 0xE177, 0x91B1, 0xE178, 0x91B2, 0xE179, 0x91B3, - 0xE17A, 0x91B6, 0xE17B, 0x91B7, 0xE17C, 0x91B8, 0xE17D, 0x91B9, 0xE17E, 0x91BB, 0xE180, 0x91BC, 0xE181, 0x91BD, 0xE182, 0x91BE, - 0xE183, 0x91BF, 0xE184, 0x91C0, 0xE185, 0x91C1, 0xE186, 0x91C2, 0xE187, 0x91C3, 0xE188, 0x91C4, 0xE189, 0x91C5, 0xE18A, 0x91C6, - 0xE18B, 0x91C8, 0xE18C, 0x91CB, 0xE18D, 0x91D0, 0xE18E, 0x91D2, 0xE18F, 0x91D3, 0xE190, 0x91D4, 0xE191, 0x91D5, 0xE192, 0x91D6, - 0xE193, 0x91D7, 0xE194, 0x91D8, 0xE195, 0x91D9, 0xE196, 0x91DA, 0xE197, 0x91DB, 0xE198, 0x91DD, 0xE199, 0x91DE, 0xE19A, 0x91DF, - 0xE19B, 0x91E0, 0xE19C, 0x91E1, 0xE19D, 0x91E2, 0xE19E, 0x91E3, 0xE19F, 0x91E4, 0xE1A0, 0x91E5, 0xE1A1, 0x5E37, 0xE1A2, 0x5E44, - 0xE1A3, 0x5E54, 0xE1A4, 0x5E5B, 0xE1A5, 0x5E5E, 0xE1A6, 0x5E61, 0xE1A7, 0x5C8C, 0xE1A8, 0x5C7A, 0xE1A9, 0x5C8D, 0xE1AA, 0x5C90, - 0xE1AB, 0x5C96, 0xE1AC, 0x5C88, 0xE1AD, 0x5C98, 0xE1AE, 0x5C99, 0xE1AF, 0x5C91, 0xE1B0, 0x5C9A, 0xE1B1, 0x5C9C, 0xE1B2, 0x5CB5, - 0xE1B3, 0x5CA2, 0xE1B4, 0x5CBD, 0xE1B5, 0x5CAC, 0xE1B6, 0x5CAB, 0xE1B7, 0x5CB1, 0xE1B8, 0x5CA3, 0xE1B9, 0x5CC1, 0xE1BA, 0x5CB7, - 0xE1BB, 0x5CC4, 0xE1BC, 0x5CD2, 0xE1BD, 0x5CE4, 0xE1BE, 0x5CCB, 0xE1BF, 0x5CE5, 0xE1C0, 0x5D02, 0xE1C1, 0x5D03, 0xE1C2, 0x5D27, - 0xE1C3, 0x5D26, 0xE1C4, 0x5D2E, 0xE1C5, 0x5D24, 0xE1C6, 0x5D1E, 0xE1C7, 0x5D06, 0xE1C8, 0x5D1B, 0xE1C9, 0x5D58, 0xE1CA, 0x5D3E, - 0xE1CB, 0x5D34, 0xE1CC, 0x5D3D, 0xE1CD, 0x5D6C, 0xE1CE, 0x5D5B, 0xE1CF, 0x5D6F, 0xE1D0, 0x5D5D, 0xE1D1, 0x5D6B, 0xE1D2, 0x5D4B, - 0xE1D3, 0x5D4A, 0xE1D4, 0x5D69, 0xE1D5, 0x5D74, 0xE1D6, 0x5D82, 0xE1D7, 0x5D99, 0xE1D8, 0x5D9D, 0xE1D9, 0x8C73, 0xE1DA, 0x5DB7, - 0xE1DB, 0x5DC5, 0xE1DC, 0x5F73, 0xE1DD, 0x5F77, 0xE1DE, 0x5F82, 0xE1DF, 0x5F87, 0xE1E0, 0x5F89, 0xE1E1, 0x5F8C, 0xE1E2, 0x5F95, - 0xE1E3, 0x5F99, 0xE1E4, 0x5F9C, 0xE1E5, 0x5FA8, 0xE1E6, 0x5FAD, 0xE1E7, 0x5FB5, 0xE1E8, 0x5FBC, 0xE1E9, 0x8862, 0xE1EA, 0x5F61, - 0xE1EB, 0x72AD, 0xE1EC, 0x72B0, 0xE1ED, 0x72B4, 0xE1EE, 0x72B7, 0xE1EF, 0x72B8, 0xE1F0, 0x72C3, 0xE1F1, 0x72C1, 0xE1F2, 0x72CE, - 0xE1F3, 0x72CD, 0xE1F4, 0x72D2, 0xE1F5, 0x72E8, 0xE1F6, 0x72EF, 0xE1F7, 0x72E9, 0xE1F8, 0x72F2, 0xE1F9, 0x72F4, 0xE1FA, 0x72F7, - 0xE1FB, 0x7301, 0xE1FC, 0x72F3, 0xE1FD, 0x7303, 0xE1FE, 0x72FA, 0xE240, 0x91E6, 0xE241, 0x91E7, 0xE242, 0x91E8, 0xE243, 0x91E9, - 0xE244, 0x91EA, 0xE245, 0x91EB, 0xE246, 0x91EC, 0xE247, 0x91ED, 0xE248, 0x91EE, 0xE249, 0x91EF, 0xE24A, 0x91F0, 0xE24B, 0x91F1, - 0xE24C, 0x91F2, 0xE24D, 0x91F3, 0xE24E, 0x91F4, 0xE24F, 0x91F5, 0xE250, 0x91F6, 0xE251, 0x91F7, 0xE252, 0x91F8, 0xE253, 0x91F9, - 0xE254, 0x91FA, 0xE255, 0x91FB, 0xE256, 0x91FC, 0xE257, 0x91FD, 0xE258, 0x91FE, 0xE259, 0x91FF, 0xE25A, 0x9200, 0xE25B, 0x9201, - 0xE25C, 0x9202, 0xE25D, 0x9203, 0xE25E, 0x9204, 0xE25F, 0x9205, 0xE260, 0x9206, 0xE261, 0x9207, 0xE262, 0x9208, 0xE263, 0x9209, - 0xE264, 0x920A, 0xE265, 0x920B, 0xE266, 0x920C, 0xE267, 0x920D, 0xE268, 0x920E, 0xE269, 0x920F, 0xE26A, 0x9210, 0xE26B, 0x9211, - 0xE26C, 0x9212, 0xE26D, 0x9213, 0xE26E, 0x9214, 0xE26F, 0x9215, 0xE270, 0x9216, 0xE271, 0x9217, 0xE272, 0x9218, 0xE273, 0x9219, - 0xE274, 0x921A, 0xE275, 0x921B, 0xE276, 0x921C, 0xE277, 0x921D, 0xE278, 0x921E, 0xE279, 0x921F, 0xE27A, 0x9220, 0xE27B, 0x9221, - 0xE27C, 0x9222, 0xE27D, 0x9223, 0xE27E, 0x9224, 0xE280, 0x9225, 0xE281, 0x9226, 0xE282, 0x9227, 0xE283, 0x9228, 0xE284, 0x9229, - 0xE285, 0x922A, 0xE286, 0x922B, 0xE287, 0x922C, 0xE288, 0x922D, 0xE289, 0x922E, 0xE28A, 0x922F, 0xE28B, 0x9230, 0xE28C, 0x9231, - 0xE28D, 0x9232, 0xE28E, 0x9233, 0xE28F, 0x9234, 0xE290, 0x9235, 0xE291, 0x9236, 0xE292, 0x9237, 0xE293, 0x9238, 0xE294, 0x9239, - 0xE295, 0x923A, 0xE296, 0x923B, 0xE297, 0x923C, 0xE298, 0x923D, 0xE299, 0x923E, 0xE29A, 0x923F, 0xE29B, 0x9240, 0xE29C, 0x9241, - 0xE29D, 0x9242, 0xE29E, 0x9243, 0xE29F, 0x9244, 0xE2A0, 0x9245, 0xE2A1, 0x72FB, 0xE2A2, 0x7317, 0xE2A3, 0x7313, 0xE2A4, 0x7321, - 0xE2A5, 0x730A, 0xE2A6, 0x731E, 0xE2A7, 0x731D, 0xE2A8, 0x7315, 0xE2A9, 0x7322, 0xE2AA, 0x7339, 0xE2AB, 0x7325, 0xE2AC, 0x732C, - 0xE2AD, 0x7338, 0xE2AE, 0x7331, 0xE2AF, 0x7350, 0xE2B0, 0x734D, 0xE2B1, 0x7357, 0xE2B2, 0x7360, 0xE2B3, 0x736C, 0xE2B4, 0x736F, - 0xE2B5, 0x737E, 0xE2B6, 0x821B, 0xE2B7, 0x5925, 0xE2B8, 0x98E7, 0xE2B9, 0x5924, 0xE2BA, 0x5902, 0xE2BB, 0x9963, 0xE2BC, 0x9967, - 0xE2BD, 0x9968, 0xE2BE, 0x9969, 0xE2BF, 0x996A, 0xE2C0, 0x996B, 0xE2C1, 0x996C, 0xE2C2, 0x9974, 0xE2C3, 0x9977, 0xE2C4, 0x997D, - 0xE2C5, 0x9980, 0xE2C6, 0x9984, 0xE2C7, 0x9987, 0xE2C8, 0x998A, 0xE2C9, 0x998D, 0xE2CA, 0x9990, 0xE2CB, 0x9991, 0xE2CC, 0x9993, - 0xE2CD, 0x9994, 0xE2CE, 0x9995, 0xE2CF, 0x5E80, 0xE2D0, 0x5E91, 0xE2D1, 0x5E8B, 0xE2D2, 0x5E96, 0xE2D3, 0x5EA5, 0xE2D4, 0x5EA0, - 0xE2D5, 0x5EB9, 0xE2D6, 0x5EB5, 0xE2D7, 0x5EBE, 0xE2D8, 0x5EB3, 0xE2D9, 0x8D53, 0xE2DA, 0x5ED2, 0xE2DB, 0x5ED1, 0xE2DC, 0x5EDB, - 0xE2DD, 0x5EE8, 0xE2DE, 0x5EEA, 0xE2DF, 0x81BA, 0xE2E0, 0x5FC4, 0xE2E1, 0x5FC9, 0xE2E2, 0x5FD6, 0xE2E3, 0x5FCF, 0xE2E4, 0x6003, - 0xE2E5, 0x5FEE, 0xE2E6, 0x6004, 0xE2E7, 0x5FE1, 0xE2E8, 0x5FE4, 0xE2E9, 0x5FFE, 0xE2EA, 0x6005, 0xE2EB, 0x6006, 0xE2EC, 0x5FEA, - 0xE2ED, 0x5FED, 0xE2EE, 0x5FF8, 0xE2EF, 0x6019, 0xE2F0, 0x6035, 0xE2F1, 0x6026, 0xE2F2, 0x601B, 0xE2F3, 0x600F, 0xE2F4, 0x600D, - 0xE2F5, 0x6029, 0xE2F6, 0x602B, 0xE2F7, 0x600A, 0xE2F8, 0x603F, 0xE2F9, 0x6021, 0xE2FA, 0x6078, 0xE2FB, 0x6079, 0xE2FC, 0x607B, - 0xE2FD, 0x607A, 0xE2FE, 0x6042, 0xE340, 0x9246, 0xE341, 0x9247, 0xE342, 0x9248, 0xE343, 0x9249, 0xE344, 0x924A, 0xE345, 0x924B, - 0xE346, 0x924C, 0xE347, 0x924D, 0xE348, 0x924E, 0xE349, 0x924F, 0xE34A, 0x9250, 0xE34B, 0x9251, 0xE34C, 0x9252, 0xE34D, 0x9253, - 0xE34E, 0x9254, 0xE34F, 0x9255, 0xE350, 0x9256, 0xE351, 0x9257, 0xE352, 0x9258, 0xE353, 0x9259, 0xE354, 0x925A, 0xE355, 0x925B, - 0xE356, 0x925C, 0xE357, 0x925D, 0xE358, 0x925E, 0xE359, 0x925F, 0xE35A, 0x9260, 0xE35B, 0x9261, 0xE35C, 0x9262, 0xE35D, 0x9263, - 0xE35E, 0x9264, 0xE35F, 0x9265, 0xE360, 0x9266, 0xE361, 0x9267, 0xE362, 0x9268, 0xE363, 0x9269, 0xE364, 0x926A, 0xE365, 0x926B, - 0xE366, 0x926C, 0xE367, 0x926D, 0xE368, 0x926E, 0xE369, 0x926F, 0xE36A, 0x9270, 0xE36B, 0x9271, 0xE36C, 0x9272, 0xE36D, 0x9273, - 0xE36E, 0x9275, 0xE36F, 0x9276, 0xE370, 0x9277, 0xE371, 0x9278, 0xE372, 0x9279, 0xE373, 0x927A, 0xE374, 0x927B, 0xE375, 0x927C, - 0xE376, 0x927D, 0xE377, 0x927E, 0xE378, 0x927F, 0xE379, 0x9280, 0xE37A, 0x9281, 0xE37B, 0x9282, 0xE37C, 0x9283, 0xE37D, 0x9284, - 0xE37E, 0x9285, 0xE380, 0x9286, 0xE381, 0x9287, 0xE382, 0x9288, 0xE383, 0x9289, 0xE384, 0x928A, 0xE385, 0x928B, 0xE386, 0x928C, - 0xE387, 0x928D, 0xE388, 0x928F, 0xE389, 0x9290, 0xE38A, 0x9291, 0xE38B, 0x9292, 0xE38C, 0x9293, 0xE38D, 0x9294, 0xE38E, 0x9295, - 0xE38F, 0x9296, 0xE390, 0x9297, 0xE391, 0x9298, 0xE392, 0x9299, 0xE393, 0x929A, 0xE394, 0x929B, 0xE395, 0x929C, 0xE396, 0x929D, - 0xE397, 0x929E, 0xE398, 0x929F, 0xE399, 0x92A0, 0xE39A, 0x92A1, 0xE39B, 0x92A2, 0xE39C, 0x92A3, 0xE39D, 0x92A4, 0xE39E, 0x92A5, - 0xE39F, 0x92A6, 0xE3A0, 0x92A7, 0xE3A1, 0x606A, 0xE3A2, 0x607D, 0xE3A3, 0x6096, 0xE3A4, 0x609A, 0xE3A5, 0x60AD, 0xE3A6, 0x609D, - 0xE3A7, 0x6083, 0xE3A8, 0x6092, 0xE3A9, 0x608C, 0xE3AA, 0x609B, 0xE3AB, 0x60EC, 0xE3AC, 0x60BB, 0xE3AD, 0x60B1, 0xE3AE, 0x60DD, - 0xE3AF, 0x60D8, 0xE3B0, 0x60C6, 0xE3B1, 0x60DA, 0xE3B2, 0x60B4, 0xE3B3, 0x6120, 0xE3B4, 0x6126, 0xE3B5, 0x6115, 0xE3B6, 0x6123, - 0xE3B7, 0x60F4, 0xE3B8, 0x6100, 0xE3B9, 0x610E, 0xE3BA, 0x612B, 0xE3BB, 0x614A, 0xE3BC, 0x6175, 0xE3BD, 0x61AC, 0xE3BE, 0x6194, - 0xE3BF, 0x61A7, 0xE3C0, 0x61B7, 0xE3C1, 0x61D4, 0xE3C2, 0x61F5, 0xE3C3, 0x5FDD, 0xE3C4, 0x96B3, 0xE3C5, 0x95E9, 0xE3C6, 0x95EB, - 0xE3C7, 0x95F1, 0xE3C8, 0x95F3, 0xE3C9, 0x95F5, 0xE3CA, 0x95F6, 0xE3CB, 0x95FC, 0xE3CC, 0x95FE, 0xE3CD, 0x9603, 0xE3CE, 0x9604, - 0xE3CF, 0x9606, 0xE3D0, 0x9608, 0xE3D1, 0x960A, 0xE3D2, 0x960B, 0xE3D3, 0x960C, 0xE3D4, 0x960D, 0xE3D5, 0x960F, 0xE3D6, 0x9612, - 0xE3D7, 0x9615, 0xE3D8, 0x9616, 0xE3D9, 0x9617, 0xE3DA, 0x9619, 0xE3DB, 0x961A, 0xE3DC, 0x4E2C, 0xE3DD, 0x723F, 0xE3DE, 0x6215, - 0xE3DF, 0x6C35, 0xE3E0, 0x6C54, 0xE3E1, 0x6C5C, 0xE3E2, 0x6C4A, 0xE3E3, 0x6CA3, 0xE3E4, 0x6C85, 0xE3E5, 0x6C90, 0xE3E6, 0x6C94, - 0xE3E7, 0x6C8C, 0xE3E8, 0x6C68, 0xE3E9, 0x6C69, 0xE3EA, 0x6C74, 0xE3EB, 0x6C76, 0xE3EC, 0x6C86, 0xE3ED, 0x6CA9, 0xE3EE, 0x6CD0, - 0xE3EF, 0x6CD4, 0xE3F0, 0x6CAD, 0xE3F1, 0x6CF7, 0xE3F2, 0x6CF8, 0xE3F3, 0x6CF1, 0xE3F4, 0x6CD7, 0xE3F5, 0x6CB2, 0xE3F6, 0x6CE0, - 0xE3F7, 0x6CD6, 0xE3F8, 0x6CFA, 0xE3F9, 0x6CEB, 0xE3FA, 0x6CEE, 0xE3FB, 0x6CB1, 0xE3FC, 0x6CD3, 0xE3FD, 0x6CEF, 0xE3FE, 0x6CFE, - 0xE440, 0x92A8, 0xE441, 0x92A9, 0xE442, 0x92AA, 0xE443, 0x92AB, 0xE444, 0x92AC, 0xE445, 0x92AD, 0xE446, 0x92AF, 0xE447, 0x92B0, - 0xE448, 0x92B1, 0xE449, 0x92B2, 0xE44A, 0x92B3, 0xE44B, 0x92B4, 0xE44C, 0x92B5, 0xE44D, 0x92B6, 0xE44E, 0x92B7, 0xE44F, 0x92B8, - 0xE450, 0x92B9, 0xE451, 0x92BA, 0xE452, 0x92BB, 0xE453, 0x92BC, 0xE454, 0x92BD, 0xE455, 0x92BE, 0xE456, 0x92BF, 0xE457, 0x92C0, - 0xE458, 0x92C1, 0xE459, 0x92C2, 0xE45A, 0x92C3, 0xE45B, 0x92C4, 0xE45C, 0x92C5, 0xE45D, 0x92C6, 0xE45E, 0x92C7, 0xE45F, 0x92C9, - 0xE460, 0x92CA, 0xE461, 0x92CB, 0xE462, 0x92CC, 0xE463, 0x92CD, 0xE464, 0x92CE, 0xE465, 0x92CF, 0xE466, 0x92D0, 0xE467, 0x92D1, - 0xE468, 0x92D2, 0xE469, 0x92D3, 0xE46A, 0x92D4, 0xE46B, 0x92D5, 0xE46C, 0x92D6, 0xE46D, 0x92D7, 0xE46E, 0x92D8, 0xE46F, 0x92D9, - 0xE470, 0x92DA, 0xE471, 0x92DB, 0xE472, 0x92DC, 0xE473, 0x92DD, 0xE474, 0x92DE, 0xE475, 0x92DF, 0xE476, 0x92E0, 0xE477, 0x92E1, - 0xE478, 0x92E2, 0xE479, 0x92E3, 0xE47A, 0x92E4, 0xE47B, 0x92E5, 0xE47C, 0x92E6, 0xE47D, 0x92E7, 0xE47E, 0x92E8, 0xE480, 0x92E9, - 0xE481, 0x92EA, 0xE482, 0x92EB, 0xE483, 0x92EC, 0xE484, 0x92ED, 0xE485, 0x92EE, 0xE486, 0x92EF, 0xE487, 0x92F0, 0xE488, 0x92F1, - 0xE489, 0x92F2, 0xE48A, 0x92F3, 0xE48B, 0x92F4, 0xE48C, 0x92F5, 0xE48D, 0x92F6, 0xE48E, 0x92F7, 0xE48F, 0x92F8, 0xE490, 0x92F9, - 0xE491, 0x92FA, 0xE492, 0x92FB, 0xE493, 0x92FC, 0xE494, 0x92FD, 0xE495, 0x92FE, 0xE496, 0x92FF, 0xE497, 0x9300, 0xE498, 0x9301, - 0xE499, 0x9302, 0xE49A, 0x9303, 0xE49B, 0x9304, 0xE49C, 0x9305, 0xE49D, 0x9306, 0xE49E, 0x9307, 0xE49F, 0x9308, 0xE4A0, 0x9309, - 0xE4A1, 0x6D39, 0xE4A2, 0x6D27, 0xE4A3, 0x6D0C, 0xE4A4, 0x6D43, 0xE4A5, 0x6D48, 0xE4A6, 0x6D07, 0xE4A7, 0x6D04, 0xE4A8, 0x6D19, - 0xE4A9, 0x6D0E, 0xE4AA, 0x6D2B, 0xE4AB, 0x6D4D, 0xE4AC, 0x6D2E, 0xE4AD, 0x6D35, 0xE4AE, 0x6D1A, 0xE4AF, 0x6D4F, 0xE4B0, 0x6D52, - 0xE4B1, 0x6D54, 0xE4B2, 0x6D33, 0xE4B3, 0x6D91, 0xE4B4, 0x6D6F, 0xE4B5, 0x6D9E, 0xE4B6, 0x6DA0, 0xE4B7, 0x6D5E, 0xE4B8, 0x6D93, - 0xE4B9, 0x6D94, 0xE4BA, 0x6D5C, 0xE4BB, 0x6D60, 0xE4BC, 0x6D7C, 0xE4BD, 0x6D63, 0xE4BE, 0x6E1A, 0xE4BF, 0x6DC7, 0xE4C0, 0x6DC5, - 0xE4C1, 0x6DDE, 0xE4C2, 0x6E0E, 0xE4C3, 0x6DBF, 0xE4C4, 0x6DE0, 0xE4C5, 0x6E11, 0xE4C6, 0x6DE6, 0xE4C7, 0x6DDD, 0xE4C8, 0x6DD9, - 0xE4C9, 0x6E16, 0xE4CA, 0x6DAB, 0xE4CB, 0x6E0C, 0xE4CC, 0x6DAE, 0xE4CD, 0x6E2B, 0xE4CE, 0x6E6E, 0xE4CF, 0x6E4E, 0xE4D0, 0x6E6B, - 0xE4D1, 0x6EB2, 0xE4D2, 0x6E5F, 0xE4D3, 0x6E86, 0xE4D4, 0x6E53, 0xE4D5, 0x6E54, 0xE4D6, 0x6E32, 0xE4D7, 0x6E25, 0xE4D8, 0x6E44, - 0xE4D9, 0x6EDF, 0xE4DA, 0x6EB1, 0xE4DB, 0x6E98, 0xE4DC, 0x6EE0, 0xE4DD, 0x6F2D, 0xE4DE, 0x6EE2, 0xE4DF, 0x6EA5, 0xE4E0, 0x6EA7, - 0xE4E1, 0x6EBD, 0xE4E2, 0x6EBB, 0xE4E3, 0x6EB7, 0xE4E4, 0x6ED7, 0xE4E5, 0x6EB4, 0xE4E6, 0x6ECF, 0xE4E7, 0x6E8F, 0xE4E8, 0x6EC2, - 0xE4E9, 0x6E9F, 0xE4EA, 0x6F62, 0xE4EB, 0x6F46, 0xE4EC, 0x6F47, 0xE4ED, 0x6F24, 0xE4EE, 0x6F15, 0xE4EF, 0x6EF9, 0xE4F0, 0x6F2F, - 0xE4F1, 0x6F36, 0xE4F2, 0x6F4B, 0xE4F3, 0x6F74, 0xE4F4, 0x6F2A, 0xE4F5, 0x6F09, 0xE4F6, 0x6F29, 0xE4F7, 0x6F89, 0xE4F8, 0x6F8D, - 0xE4F9, 0x6F8C, 0xE4FA, 0x6F78, 0xE4FB, 0x6F72, 0xE4FC, 0x6F7C, 0xE4FD, 0x6F7A, 0xE4FE, 0x6FD1, 0xE540, 0x930A, 0xE541, 0x930B, - 0xE542, 0x930C, 0xE543, 0x930D, 0xE544, 0x930E, 0xE545, 0x930F, 0xE546, 0x9310, 0xE547, 0x9311, 0xE548, 0x9312, 0xE549, 0x9313, - 0xE54A, 0x9314, 0xE54B, 0x9315, 0xE54C, 0x9316, 0xE54D, 0x9317, 0xE54E, 0x9318, 0xE54F, 0x9319, 0xE550, 0x931A, 0xE551, 0x931B, - 0xE552, 0x931C, 0xE553, 0x931D, 0xE554, 0x931E, 0xE555, 0x931F, 0xE556, 0x9320, 0xE557, 0x9321, 0xE558, 0x9322, 0xE559, 0x9323, - 0xE55A, 0x9324, 0xE55B, 0x9325, 0xE55C, 0x9326, 0xE55D, 0x9327, 0xE55E, 0x9328, 0xE55F, 0x9329, 0xE560, 0x932A, 0xE561, 0x932B, - 0xE562, 0x932C, 0xE563, 0x932D, 0xE564, 0x932E, 0xE565, 0x932F, 0xE566, 0x9330, 0xE567, 0x9331, 0xE568, 0x9332, 0xE569, 0x9333, - 0xE56A, 0x9334, 0xE56B, 0x9335, 0xE56C, 0x9336, 0xE56D, 0x9337, 0xE56E, 0x9338, 0xE56F, 0x9339, 0xE570, 0x933A, 0xE571, 0x933B, - 0xE572, 0x933C, 0xE573, 0x933D, 0xE574, 0x933F, 0xE575, 0x9340, 0xE576, 0x9341, 0xE577, 0x9342, 0xE578, 0x9343, 0xE579, 0x9344, - 0xE57A, 0x9345, 0xE57B, 0x9346, 0xE57C, 0x9347, 0xE57D, 0x9348, 0xE57E, 0x9349, 0xE580, 0x934A, 0xE581, 0x934B, 0xE582, 0x934C, - 0xE583, 0x934D, 0xE584, 0x934E, 0xE585, 0x934F, 0xE586, 0x9350, 0xE587, 0x9351, 0xE588, 0x9352, 0xE589, 0x9353, 0xE58A, 0x9354, - 0xE58B, 0x9355, 0xE58C, 0x9356, 0xE58D, 0x9357, 0xE58E, 0x9358, 0xE58F, 0x9359, 0xE590, 0x935A, 0xE591, 0x935B, 0xE592, 0x935C, - 0xE593, 0x935D, 0xE594, 0x935E, 0xE595, 0x935F, 0xE596, 0x9360, 0xE597, 0x9361, 0xE598, 0x9362, 0xE599, 0x9363, 0xE59A, 0x9364, - 0xE59B, 0x9365, 0xE59C, 0x9366, 0xE59D, 0x9367, 0xE59E, 0x9368, 0xE59F, 0x9369, 0xE5A0, 0x936B, 0xE5A1, 0x6FC9, 0xE5A2, 0x6FA7, - 0xE5A3, 0x6FB9, 0xE5A4, 0x6FB6, 0xE5A5, 0x6FC2, 0xE5A6, 0x6FE1, 0xE5A7, 0x6FEE, 0xE5A8, 0x6FDE, 0xE5A9, 0x6FE0, 0xE5AA, 0x6FEF, - 0xE5AB, 0x701A, 0xE5AC, 0x7023, 0xE5AD, 0x701B, 0xE5AE, 0x7039, 0xE5AF, 0x7035, 0xE5B0, 0x704F, 0xE5B1, 0x705E, 0xE5B2, 0x5B80, - 0xE5B3, 0x5B84, 0xE5B4, 0x5B95, 0xE5B5, 0x5B93, 0xE5B6, 0x5BA5, 0xE5B7, 0x5BB8, 0xE5B8, 0x752F, 0xE5B9, 0x9A9E, 0xE5BA, 0x6434, - 0xE5BB, 0x5BE4, 0xE5BC, 0x5BEE, 0xE5BD, 0x8930, 0xE5BE, 0x5BF0, 0xE5BF, 0x8E47, 0xE5C0, 0x8B07, 0xE5C1, 0x8FB6, 0xE5C2, 0x8FD3, - 0xE5C3, 0x8FD5, 0xE5C4, 0x8FE5, 0xE5C5, 0x8FEE, 0xE5C6, 0x8FE4, 0xE5C7, 0x8FE9, 0xE5C8, 0x8FE6, 0xE5C9, 0x8FF3, 0xE5CA, 0x8FE8, - 0xE5CB, 0x9005, 0xE5CC, 0x9004, 0xE5CD, 0x900B, 0xE5CE, 0x9026, 0xE5CF, 0x9011, 0xE5D0, 0x900D, 0xE5D1, 0x9016, 0xE5D2, 0x9021, - 0xE5D3, 0x9035, 0xE5D4, 0x9036, 0xE5D5, 0x902D, 0xE5D6, 0x902F, 0xE5D7, 0x9044, 0xE5D8, 0x9051, 0xE5D9, 0x9052, 0xE5DA, 0x9050, - 0xE5DB, 0x9068, 0xE5DC, 0x9058, 0xE5DD, 0x9062, 0xE5DE, 0x905B, 0xE5DF, 0x66B9, 0xE5E0, 0x9074, 0xE5E1, 0x907D, 0xE5E2, 0x9082, - 0xE5E3, 0x9088, 0xE5E4, 0x9083, 0xE5E5, 0x908B, 0xE5E6, 0x5F50, 0xE5E7, 0x5F57, 0xE5E8, 0x5F56, 0xE5E9, 0x5F58, 0xE5EA, 0x5C3B, - 0xE5EB, 0x54AB, 0xE5EC, 0x5C50, 0xE5ED, 0x5C59, 0xE5EE, 0x5B71, 0xE5EF, 0x5C63, 0xE5F0, 0x5C66, 0xE5F1, 0x7FBC, 0xE5F2, 0x5F2A, - 0xE5F3, 0x5F29, 0xE5F4, 0x5F2D, 0xE5F5, 0x8274, 0xE5F6, 0x5F3C, 0xE5F7, 0x9B3B, 0xE5F8, 0x5C6E, 0xE5F9, 0x5981, 0xE5FA, 0x5983, - 0xE5FB, 0x598D, 0xE5FC, 0x59A9, 0xE5FD, 0x59AA, 0xE5FE, 0x59A3, 0xE640, 0x936C, 0xE641, 0x936D, 0xE642, 0x936E, 0xE643, 0x936F, - 0xE644, 0x9370, 0xE645, 0x9371, 0xE646, 0x9372, 0xE647, 0x9373, 0xE648, 0x9374, 0xE649, 0x9375, 0xE64A, 0x9376, 0xE64B, 0x9377, - 0xE64C, 0x9378, 0xE64D, 0x9379, 0xE64E, 0x937A, 0xE64F, 0x937B, 0xE650, 0x937C, 0xE651, 0x937D, 0xE652, 0x937E, 0xE653, 0x937F, - 0xE654, 0x9380, 0xE655, 0x9381, 0xE656, 0x9382, 0xE657, 0x9383, 0xE658, 0x9384, 0xE659, 0x9385, 0xE65A, 0x9386, 0xE65B, 0x9387, - 0xE65C, 0x9388, 0xE65D, 0x9389, 0xE65E, 0x938A, 0xE65F, 0x938B, 0xE660, 0x938C, 0xE661, 0x938D, 0xE662, 0x938E, 0xE663, 0x9390, - 0xE664, 0x9391, 0xE665, 0x9392, 0xE666, 0x9393, 0xE667, 0x9394, 0xE668, 0x9395, 0xE669, 0x9396, 0xE66A, 0x9397, 0xE66B, 0x9398, - 0xE66C, 0x9399, 0xE66D, 0x939A, 0xE66E, 0x939B, 0xE66F, 0x939C, 0xE670, 0x939D, 0xE671, 0x939E, 0xE672, 0x939F, 0xE673, 0x93A0, - 0xE674, 0x93A1, 0xE675, 0x93A2, 0xE676, 0x93A3, 0xE677, 0x93A4, 0xE678, 0x93A5, 0xE679, 0x93A6, 0xE67A, 0x93A7, 0xE67B, 0x93A8, - 0xE67C, 0x93A9, 0xE67D, 0x93AA, 0xE67E, 0x93AB, 0xE680, 0x93AC, 0xE681, 0x93AD, 0xE682, 0x93AE, 0xE683, 0x93AF, 0xE684, 0x93B0, - 0xE685, 0x93B1, 0xE686, 0x93B2, 0xE687, 0x93B3, 0xE688, 0x93B4, 0xE689, 0x93B5, 0xE68A, 0x93B6, 0xE68B, 0x93B7, 0xE68C, 0x93B8, - 0xE68D, 0x93B9, 0xE68E, 0x93BA, 0xE68F, 0x93BB, 0xE690, 0x93BC, 0xE691, 0x93BD, 0xE692, 0x93BE, 0xE693, 0x93BF, 0xE694, 0x93C0, - 0xE695, 0x93C1, 0xE696, 0x93C2, 0xE697, 0x93C3, 0xE698, 0x93C4, 0xE699, 0x93C5, 0xE69A, 0x93C6, 0xE69B, 0x93C7, 0xE69C, 0x93C8, - 0xE69D, 0x93C9, 0xE69E, 0x93CB, 0xE69F, 0x93CC, 0xE6A0, 0x93CD, 0xE6A1, 0x5997, 0xE6A2, 0x59CA, 0xE6A3, 0x59AB, 0xE6A4, 0x599E, - 0xE6A5, 0x59A4, 0xE6A6, 0x59D2, 0xE6A7, 0x59B2, 0xE6A8, 0x59AF, 0xE6A9, 0x59D7, 0xE6AA, 0x59BE, 0xE6AB, 0x5A05, 0xE6AC, 0x5A06, - 0xE6AD, 0x59DD, 0xE6AE, 0x5A08, 0xE6AF, 0x59E3, 0xE6B0, 0x59D8, 0xE6B1, 0x59F9, 0xE6B2, 0x5A0C, 0xE6B3, 0x5A09, 0xE6B4, 0x5A32, - 0xE6B5, 0x5A34, 0xE6B6, 0x5A11, 0xE6B7, 0x5A23, 0xE6B8, 0x5A13, 0xE6B9, 0x5A40, 0xE6BA, 0x5A67, 0xE6BB, 0x5A4A, 0xE6BC, 0x5A55, - 0xE6BD, 0x5A3C, 0xE6BE, 0x5A62, 0xE6BF, 0x5A75, 0xE6C0, 0x80EC, 0xE6C1, 0x5AAA, 0xE6C2, 0x5A9B, 0xE6C3, 0x5A77, 0xE6C4, 0x5A7A, - 0xE6C5, 0x5ABE, 0xE6C6, 0x5AEB, 0xE6C7, 0x5AB2, 0xE6C8, 0x5AD2, 0xE6C9, 0x5AD4, 0xE6CA, 0x5AB8, 0xE6CB, 0x5AE0, 0xE6CC, 0x5AE3, - 0xE6CD, 0x5AF1, 0xE6CE, 0x5AD6, 0xE6CF, 0x5AE6, 0xE6D0, 0x5AD8, 0xE6D1, 0x5ADC, 0xE6D2, 0x5B09, 0xE6D3, 0x5B17, 0xE6D4, 0x5B16, - 0xE6D5, 0x5B32, 0xE6D6, 0x5B37, 0xE6D7, 0x5B40, 0xE6D8, 0x5C15, 0xE6D9, 0x5C1C, 0xE6DA, 0x5B5A, 0xE6DB, 0x5B65, 0xE6DC, 0x5B73, - 0xE6DD, 0x5B51, 0xE6DE, 0x5B53, 0xE6DF, 0x5B62, 0xE6E0, 0x9A75, 0xE6E1, 0x9A77, 0xE6E2, 0x9A78, 0xE6E3, 0x9A7A, 0xE6E4, 0x9A7F, - 0xE6E5, 0x9A7D, 0xE6E6, 0x9A80, 0xE6E7, 0x9A81, 0xE6E8, 0x9A85, 0xE6E9, 0x9A88, 0xE6EA, 0x9A8A, 0xE6EB, 0x9A90, 0xE6EC, 0x9A92, - 0xE6ED, 0x9A93, 0xE6EE, 0x9A96, 0xE6EF, 0x9A98, 0xE6F0, 0x9A9B, 0xE6F1, 0x9A9C, 0xE6F2, 0x9A9D, 0xE6F3, 0x9A9F, 0xE6F4, 0x9AA0, - 0xE6F5, 0x9AA2, 0xE6F6, 0x9AA3, 0xE6F7, 0x9AA5, 0xE6F8, 0x9AA7, 0xE6F9, 0x7E9F, 0xE6FA, 0x7EA1, 0xE6FB, 0x7EA3, 0xE6FC, 0x7EA5, - 0xE6FD, 0x7EA8, 0xE6FE, 0x7EA9, 0xE740, 0x93CE, 0xE741, 0x93CF, 0xE742, 0x93D0, 0xE743, 0x93D1, 0xE744, 0x93D2, 0xE745, 0x93D3, - 0xE746, 0x93D4, 0xE747, 0x93D5, 0xE748, 0x93D7, 0xE749, 0x93D8, 0xE74A, 0x93D9, 0xE74B, 0x93DA, 0xE74C, 0x93DB, 0xE74D, 0x93DC, - 0xE74E, 0x93DD, 0xE74F, 0x93DE, 0xE750, 0x93DF, 0xE751, 0x93E0, 0xE752, 0x93E1, 0xE753, 0x93E2, 0xE754, 0x93E3, 0xE755, 0x93E4, - 0xE756, 0x93E5, 0xE757, 0x93E6, 0xE758, 0x93E7, 0xE759, 0x93E8, 0xE75A, 0x93E9, 0xE75B, 0x93EA, 0xE75C, 0x93EB, 0xE75D, 0x93EC, - 0xE75E, 0x93ED, 0xE75F, 0x93EE, 0xE760, 0x93EF, 0xE761, 0x93F0, 0xE762, 0x93F1, 0xE763, 0x93F2, 0xE764, 0x93F3, 0xE765, 0x93F4, - 0xE766, 0x93F5, 0xE767, 0x93F6, 0xE768, 0x93F7, 0xE769, 0x93F8, 0xE76A, 0x93F9, 0xE76B, 0x93FA, 0xE76C, 0x93FB, 0xE76D, 0x93FC, - 0xE76E, 0x93FD, 0xE76F, 0x93FE, 0xE770, 0x93FF, 0xE771, 0x9400, 0xE772, 0x9401, 0xE773, 0x9402, 0xE774, 0x9403, 0xE775, 0x9404, - 0xE776, 0x9405, 0xE777, 0x9406, 0xE778, 0x9407, 0xE779, 0x9408, 0xE77A, 0x9409, 0xE77B, 0x940A, 0xE77C, 0x940B, 0xE77D, 0x940C, - 0xE77E, 0x940D, 0xE780, 0x940E, 0xE781, 0x940F, 0xE782, 0x9410, 0xE783, 0x9411, 0xE784, 0x9412, 0xE785, 0x9413, 0xE786, 0x9414, - 0xE787, 0x9415, 0xE788, 0x9416, 0xE789, 0x9417, 0xE78A, 0x9418, 0xE78B, 0x9419, 0xE78C, 0x941A, 0xE78D, 0x941B, 0xE78E, 0x941C, - 0xE78F, 0x941D, 0xE790, 0x941E, 0xE791, 0x941F, 0xE792, 0x9420, 0xE793, 0x9421, 0xE794, 0x9422, 0xE795, 0x9423, 0xE796, 0x9424, - 0xE797, 0x9425, 0xE798, 0x9426, 0xE799, 0x9427, 0xE79A, 0x9428, 0xE79B, 0x9429, 0xE79C, 0x942A, 0xE79D, 0x942B, 0xE79E, 0x942C, - 0xE79F, 0x942D, 0xE7A0, 0x942E, 0xE7A1, 0x7EAD, 0xE7A2, 0x7EB0, 0xE7A3, 0x7EBE, 0xE7A4, 0x7EC0, 0xE7A5, 0x7EC1, 0xE7A6, 0x7EC2, - 0xE7A7, 0x7EC9, 0xE7A8, 0x7ECB, 0xE7A9, 0x7ECC, 0xE7AA, 0x7ED0, 0xE7AB, 0x7ED4, 0xE7AC, 0x7ED7, 0xE7AD, 0x7EDB, 0xE7AE, 0x7EE0, - 0xE7AF, 0x7EE1, 0xE7B0, 0x7EE8, 0xE7B1, 0x7EEB, 0xE7B2, 0x7EEE, 0xE7B3, 0x7EEF, 0xE7B4, 0x7EF1, 0xE7B5, 0x7EF2, 0xE7B6, 0x7F0D, - 0xE7B7, 0x7EF6, 0xE7B8, 0x7EFA, 0xE7B9, 0x7EFB, 0xE7BA, 0x7EFE, 0xE7BB, 0x7F01, 0xE7BC, 0x7F02, 0xE7BD, 0x7F03, 0xE7BE, 0x7F07, - 0xE7BF, 0x7F08, 0xE7C0, 0x7F0B, 0xE7C1, 0x7F0C, 0xE7C2, 0x7F0F, 0xE7C3, 0x7F11, 0xE7C4, 0x7F12, 0xE7C5, 0x7F17, 0xE7C6, 0x7F19, - 0xE7C7, 0x7F1C, 0xE7C8, 0x7F1B, 0xE7C9, 0x7F1F, 0xE7CA, 0x7F21, 0xE7CB, 0x7F22, 0xE7CC, 0x7F23, 0xE7CD, 0x7F24, 0xE7CE, 0x7F25, - 0xE7CF, 0x7F26, 0xE7D0, 0x7F27, 0xE7D1, 0x7F2A, 0xE7D2, 0x7F2B, 0xE7D3, 0x7F2C, 0xE7D4, 0x7F2D, 0xE7D5, 0x7F2F, 0xE7D6, 0x7F30, - 0xE7D7, 0x7F31, 0xE7D8, 0x7F32, 0xE7D9, 0x7F33, 0xE7DA, 0x7F35, 0xE7DB, 0x5E7A, 0xE7DC, 0x757F, 0xE7DD, 0x5DDB, 0xE7DE, 0x753E, - 0xE7DF, 0x9095, 0xE7E0, 0x738E, 0xE7E1, 0x7391, 0xE7E2, 0x73AE, 0xE7E3, 0x73A2, 0xE7E4, 0x739F, 0xE7E5, 0x73CF, 0xE7E6, 0x73C2, - 0xE7E7, 0x73D1, 0xE7E8, 0x73B7, 0xE7E9, 0x73B3, 0xE7EA, 0x73C0, 0xE7EB, 0x73C9, 0xE7EC, 0x73C8, 0xE7ED, 0x73E5, 0xE7EE, 0x73D9, - 0xE7EF, 0x987C, 0xE7F0, 0x740A, 0xE7F1, 0x73E9, 0xE7F2, 0x73E7, 0xE7F3, 0x73DE, 0xE7F4, 0x73BA, 0xE7F5, 0x73F2, 0xE7F6, 0x740F, - 0xE7F7, 0x742A, 0xE7F8, 0x745B, 0xE7F9, 0x7426, 0xE7FA, 0x7425, 0xE7FB, 0x7428, 0xE7FC, 0x7430, 0xE7FD, 0x742E, 0xE7FE, 0x742C, - 0xE840, 0x942F, 0xE841, 0x9430, 0xE842, 0x9431, 0xE843, 0x9432, 0xE844, 0x9433, 0xE845, 0x9434, 0xE846, 0x9435, 0xE847, 0x9436, - 0xE848, 0x9437, 0xE849, 0x9438, 0xE84A, 0x9439, 0xE84B, 0x943A, 0xE84C, 0x943B, 0xE84D, 0x943C, 0xE84E, 0x943D, 0xE84F, 0x943F, - 0xE850, 0x9440, 0xE851, 0x9441, 0xE852, 0x9442, 0xE853, 0x9443, 0xE854, 0x9444, 0xE855, 0x9445, 0xE856, 0x9446, 0xE857, 0x9447, - 0xE858, 0x9448, 0xE859, 0x9449, 0xE85A, 0x944A, 0xE85B, 0x944B, 0xE85C, 0x944C, 0xE85D, 0x944D, 0xE85E, 0x944E, 0xE85F, 0x944F, - 0xE860, 0x9450, 0xE861, 0x9451, 0xE862, 0x9452, 0xE863, 0x9453, 0xE864, 0x9454, 0xE865, 0x9455, 0xE866, 0x9456, 0xE867, 0x9457, - 0xE868, 0x9458, 0xE869, 0x9459, 0xE86A, 0x945A, 0xE86B, 0x945B, 0xE86C, 0x945C, 0xE86D, 0x945D, 0xE86E, 0x945E, 0xE86F, 0x945F, - 0xE870, 0x9460, 0xE871, 0x9461, 0xE872, 0x9462, 0xE873, 0x9463, 0xE874, 0x9464, 0xE875, 0x9465, 0xE876, 0x9466, 0xE877, 0x9467, - 0xE878, 0x9468, 0xE879, 0x9469, 0xE87A, 0x946A, 0xE87B, 0x946C, 0xE87C, 0x946D, 0xE87D, 0x946E, 0xE87E, 0x946F, 0xE880, 0x9470, - 0xE881, 0x9471, 0xE882, 0x9472, 0xE883, 0x9473, 0xE884, 0x9474, 0xE885, 0x9475, 0xE886, 0x9476, 0xE887, 0x9477, 0xE888, 0x9478, - 0xE889, 0x9479, 0xE88A, 0x947A, 0xE88B, 0x947B, 0xE88C, 0x947C, 0xE88D, 0x947D, 0xE88E, 0x947E, 0xE88F, 0x947F, 0xE890, 0x9480, - 0xE891, 0x9481, 0xE892, 0x9482, 0xE893, 0x9483, 0xE894, 0x9484, 0xE895, 0x9491, 0xE896, 0x9496, 0xE897, 0x9498, 0xE898, 0x94C7, - 0xE899, 0x94CF, 0xE89A, 0x94D3, 0xE89B, 0x94D4, 0xE89C, 0x94DA, 0xE89D, 0x94E6, 0xE89E, 0x94FB, 0xE89F, 0x951C, 0xE8A0, 0x9520, - 0xE8A1, 0x741B, 0xE8A2, 0x741A, 0xE8A3, 0x7441, 0xE8A4, 0x745C, 0xE8A5, 0x7457, 0xE8A6, 0x7455, 0xE8A7, 0x7459, 0xE8A8, 0x7477, - 0xE8A9, 0x746D, 0xE8AA, 0x747E, 0xE8AB, 0x749C, 0xE8AC, 0x748E, 0xE8AD, 0x7480, 0xE8AE, 0x7481, 0xE8AF, 0x7487, 0xE8B0, 0x748B, - 0xE8B1, 0x749E, 0xE8B2, 0x74A8, 0xE8B3, 0x74A9, 0xE8B4, 0x7490, 0xE8B5, 0x74A7, 0xE8B6, 0x74D2, 0xE8B7, 0x74BA, 0xE8B8, 0x97EA, - 0xE8B9, 0x97EB, 0xE8BA, 0x97EC, 0xE8BB, 0x674C, 0xE8BC, 0x6753, 0xE8BD, 0x675E, 0xE8BE, 0x6748, 0xE8BF, 0x6769, 0xE8C0, 0x67A5, - 0xE8C1, 0x6787, 0xE8C2, 0x676A, 0xE8C3, 0x6773, 0xE8C4, 0x6798, 0xE8C5, 0x67A7, 0xE8C6, 0x6775, 0xE8C7, 0x67A8, 0xE8C8, 0x679E, - 0xE8C9, 0x67AD, 0xE8CA, 0x678B, 0xE8CB, 0x6777, 0xE8CC, 0x677C, 0xE8CD, 0x67F0, 0xE8CE, 0x6809, 0xE8CF, 0x67D8, 0xE8D0, 0x680A, - 0xE8D1, 0x67E9, 0xE8D2, 0x67B0, 0xE8D3, 0x680C, 0xE8D4, 0x67D9, 0xE8D5, 0x67B5, 0xE8D6, 0x67DA, 0xE8D7, 0x67B3, 0xE8D8, 0x67DD, - 0xE8D9, 0x6800, 0xE8DA, 0x67C3, 0xE8DB, 0x67B8, 0xE8DC, 0x67E2, 0xE8DD, 0x680E, 0xE8DE, 0x67C1, 0xE8DF, 0x67FD, 0xE8E0, 0x6832, - 0xE8E1, 0x6833, 0xE8E2, 0x6860, 0xE8E3, 0x6861, 0xE8E4, 0x684E, 0xE8E5, 0x6862, 0xE8E6, 0x6844, 0xE8E7, 0x6864, 0xE8E8, 0x6883, - 0xE8E9, 0x681D, 0xE8EA, 0x6855, 0xE8EB, 0x6866, 0xE8EC, 0x6841, 0xE8ED, 0x6867, 0xE8EE, 0x6840, 0xE8EF, 0x683E, 0xE8F0, 0x684A, - 0xE8F1, 0x6849, 0xE8F2, 0x6829, 0xE8F3, 0x68B5, 0xE8F4, 0x688F, 0xE8F5, 0x6874, 0xE8F6, 0x6877, 0xE8F7, 0x6893, 0xE8F8, 0x686B, - 0xE8F9, 0x68C2, 0xE8FA, 0x696E, 0xE8FB, 0x68FC, 0xE8FC, 0x691F, 0xE8FD, 0x6920, 0xE8FE, 0x68F9, 0xE940, 0x9527, 0xE941, 0x9533, - 0xE942, 0x953D, 0xE943, 0x9543, 0xE944, 0x9548, 0xE945, 0x954B, 0xE946, 0x9555, 0xE947, 0x955A, 0xE948, 0x9560, 0xE949, 0x956E, - 0xE94A, 0x9574, 0xE94B, 0x9575, 0xE94C, 0x9577, 0xE94D, 0x9578, 0xE94E, 0x9579, 0xE94F, 0x957A, 0xE950, 0x957B, 0xE951, 0x957C, - 0xE952, 0x957D, 0xE953, 0x957E, 0xE954, 0x9580, 0xE955, 0x9581, 0xE956, 0x9582, 0xE957, 0x9583, 0xE958, 0x9584, 0xE959, 0x9585, - 0xE95A, 0x9586, 0xE95B, 0x9587, 0xE95C, 0x9588, 0xE95D, 0x9589, 0xE95E, 0x958A, 0xE95F, 0x958B, 0xE960, 0x958C, 0xE961, 0x958D, - 0xE962, 0x958E, 0xE963, 0x958F, 0xE964, 0x9590, 0xE965, 0x9591, 0xE966, 0x9592, 0xE967, 0x9593, 0xE968, 0x9594, 0xE969, 0x9595, - 0xE96A, 0x9596, 0xE96B, 0x9597, 0xE96C, 0x9598, 0xE96D, 0x9599, 0xE96E, 0x959A, 0xE96F, 0x959B, 0xE970, 0x959C, 0xE971, 0x959D, - 0xE972, 0x959E, 0xE973, 0x959F, 0xE974, 0x95A0, 0xE975, 0x95A1, 0xE976, 0x95A2, 0xE977, 0x95A3, 0xE978, 0x95A4, 0xE979, 0x95A5, - 0xE97A, 0x95A6, 0xE97B, 0x95A7, 0xE97C, 0x95A8, 0xE97D, 0x95A9, 0xE97E, 0x95AA, 0xE980, 0x95AB, 0xE981, 0x95AC, 0xE982, 0x95AD, - 0xE983, 0x95AE, 0xE984, 0x95AF, 0xE985, 0x95B0, 0xE986, 0x95B1, 0xE987, 0x95B2, 0xE988, 0x95B3, 0xE989, 0x95B4, 0xE98A, 0x95B5, - 0xE98B, 0x95B6, 0xE98C, 0x95B7, 0xE98D, 0x95B8, 0xE98E, 0x95B9, 0xE98F, 0x95BA, 0xE990, 0x95BB, 0xE991, 0x95BC, 0xE992, 0x95BD, - 0xE993, 0x95BE, 0xE994, 0x95BF, 0xE995, 0x95C0, 0xE996, 0x95C1, 0xE997, 0x95C2, 0xE998, 0x95C3, 0xE999, 0x95C4, 0xE99A, 0x95C5, - 0xE99B, 0x95C6, 0xE99C, 0x95C7, 0xE99D, 0x95C8, 0xE99E, 0x95C9, 0xE99F, 0x95CA, 0xE9A0, 0x95CB, 0xE9A1, 0x6924, 0xE9A2, 0x68F0, - 0xE9A3, 0x690B, 0xE9A4, 0x6901, 0xE9A5, 0x6957, 0xE9A6, 0x68E3, 0xE9A7, 0x6910, 0xE9A8, 0x6971, 0xE9A9, 0x6939, 0xE9AA, 0x6960, - 0xE9AB, 0x6942, 0xE9AC, 0x695D, 0xE9AD, 0x6984, 0xE9AE, 0x696B, 0xE9AF, 0x6980, 0xE9B0, 0x6998, 0xE9B1, 0x6978, 0xE9B2, 0x6934, - 0xE9B3, 0x69CC, 0xE9B4, 0x6987, 0xE9B5, 0x6988, 0xE9B6, 0x69CE, 0xE9B7, 0x6989, 0xE9B8, 0x6966, 0xE9B9, 0x6963, 0xE9BA, 0x6979, - 0xE9BB, 0x699B, 0xE9BC, 0x69A7, 0xE9BD, 0x69BB, 0xE9BE, 0x69AB, 0xE9BF, 0x69AD, 0xE9C0, 0x69D4, 0xE9C1, 0x69B1, 0xE9C2, 0x69C1, - 0xE9C3, 0x69CA, 0xE9C4, 0x69DF, 0xE9C5, 0x6995, 0xE9C6, 0x69E0, 0xE9C7, 0x698D, 0xE9C8, 0x69FF, 0xE9C9, 0x6A2F, 0xE9CA, 0x69ED, - 0xE9CB, 0x6A17, 0xE9CC, 0x6A18, 0xE9CD, 0x6A65, 0xE9CE, 0x69F2, 0xE9CF, 0x6A44, 0xE9D0, 0x6A3E, 0xE9D1, 0x6AA0, 0xE9D2, 0x6A50, - 0xE9D3, 0x6A5B, 0xE9D4, 0x6A35, 0xE9D5, 0x6A8E, 0xE9D6, 0x6A79, 0xE9D7, 0x6A3D, 0xE9D8, 0x6A28, 0xE9D9, 0x6A58, 0xE9DA, 0x6A7C, - 0xE9DB, 0x6A91, 0xE9DC, 0x6A90, 0xE9DD, 0x6AA9, 0xE9DE, 0x6A97, 0xE9DF, 0x6AAB, 0xE9E0, 0x7337, 0xE9E1, 0x7352, 0xE9E2, 0x6B81, - 0xE9E3, 0x6B82, 0xE9E4, 0x6B87, 0xE9E5, 0x6B84, 0xE9E6, 0x6B92, 0xE9E7, 0x6B93, 0xE9E8, 0x6B8D, 0xE9E9, 0x6B9A, 0xE9EA, 0x6B9B, - 0xE9EB, 0x6BA1, 0xE9EC, 0x6BAA, 0xE9ED, 0x8F6B, 0xE9EE, 0x8F6D, 0xE9EF, 0x8F71, 0xE9F0, 0x8F72, 0xE9F1, 0x8F73, 0xE9F2, 0x8F75, - 0xE9F3, 0x8F76, 0xE9F4, 0x8F78, 0xE9F5, 0x8F77, 0xE9F6, 0x8F79, 0xE9F7, 0x8F7A, 0xE9F8, 0x8F7C, 0xE9F9, 0x8F7E, 0xE9FA, 0x8F81, - 0xE9FB, 0x8F82, 0xE9FC, 0x8F84, 0xE9FD, 0x8F87, 0xE9FE, 0x8F8B, 0xEA40, 0x95CC, 0xEA41, 0x95CD, 0xEA42, 0x95CE, 0xEA43, 0x95CF, - 0xEA44, 0x95D0, 0xEA45, 0x95D1, 0xEA46, 0x95D2, 0xEA47, 0x95D3, 0xEA48, 0x95D4, 0xEA49, 0x95D5, 0xEA4A, 0x95D6, 0xEA4B, 0x95D7, - 0xEA4C, 0x95D8, 0xEA4D, 0x95D9, 0xEA4E, 0x95DA, 0xEA4F, 0x95DB, 0xEA50, 0x95DC, 0xEA51, 0x95DD, 0xEA52, 0x95DE, 0xEA53, 0x95DF, - 0xEA54, 0x95E0, 0xEA55, 0x95E1, 0xEA56, 0x95E2, 0xEA57, 0x95E3, 0xEA58, 0x95E4, 0xEA59, 0x95E5, 0xEA5A, 0x95E6, 0xEA5B, 0x95E7, - 0xEA5C, 0x95EC, 0xEA5D, 0x95FF, 0xEA5E, 0x9607, 0xEA5F, 0x9613, 0xEA60, 0x9618, 0xEA61, 0x961B, 0xEA62, 0x961E, 0xEA63, 0x9620, - 0xEA64, 0x9623, 0xEA65, 0x9624, 0xEA66, 0x9625, 0xEA67, 0x9626, 0xEA68, 0x9627, 0xEA69, 0x9628, 0xEA6A, 0x9629, 0xEA6B, 0x962B, - 0xEA6C, 0x962C, 0xEA6D, 0x962D, 0xEA6E, 0x962F, 0xEA6F, 0x9630, 0xEA70, 0x9637, 0xEA71, 0x9638, 0xEA72, 0x9639, 0xEA73, 0x963A, - 0xEA74, 0x963E, 0xEA75, 0x9641, 0xEA76, 0x9643, 0xEA77, 0x964A, 0xEA78, 0x964E, 0xEA79, 0x964F, 0xEA7A, 0x9651, 0xEA7B, 0x9652, - 0xEA7C, 0x9653, 0xEA7D, 0x9656, 0xEA7E, 0x9657, 0xEA80, 0x9658, 0xEA81, 0x9659, 0xEA82, 0x965A, 0xEA83, 0x965C, 0xEA84, 0x965D, - 0xEA85, 0x965E, 0xEA86, 0x9660, 0xEA87, 0x9663, 0xEA88, 0x9665, 0xEA89, 0x9666, 0xEA8A, 0x966B, 0xEA8B, 0x966D, 0xEA8C, 0x966E, - 0xEA8D, 0x966F, 0xEA8E, 0x9670, 0xEA8F, 0x9671, 0xEA90, 0x9673, 0xEA91, 0x9678, 0xEA92, 0x9679, 0xEA93, 0x967A, 0xEA94, 0x967B, - 0xEA95, 0x967C, 0xEA96, 0x967D, 0xEA97, 0x967E, 0xEA98, 0x967F, 0xEA99, 0x9680, 0xEA9A, 0x9681, 0xEA9B, 0x9682, 0xEA9C, 0x9683, - 0xEA9D, 0x9684, 0xEA9E, 0x9687, 0xEA9F, 0x9689, 0xEAA0, 0x968A, 0xEAA1, 0x8F8D, 0xEAA2, 0x8F8E, 0xEAA3, 0x8F8F, 0xEAA4, 0x8F98, - 0xEAA5, 0x8F9A, 0xEAA6, 0x8ECE, 0xEAA7, 0x620B, 0xEAA8, 0x6217, 0xEAA9, 0x621B, 0xEAAA, 0x621F, 0xEAAB, 0x6222, 0xEAAC, 0x6221, - 0xEAAD, 0x6225, 0xEAAE, 0x6224, 0xEAAF, 0x622C, 0xEAB0, 0x81E7, 0xEAB1, 0x74EF, 0xEAB2, 0x74F4, 0xEAB3, 0x74FF, 0xEAB4, 0x750F, - 0xEAB5, 0x7511, 0xEAB6, 0x7513, 0xEAB7, 0x6534, 0xEAB8, 0x65EE, 0xEAB9, 0x65EF, 0xEABA, 0x65F0, 0xEABB, 0x660A, 0xEABC, 0x6619, - 0xEABD, 0x6772, 0xEABE, 0x6603, 0xEABF, 0x6615, 0xEAC0, 0x6600, 0xEAC1, 0x7085, 0xEAC2, 0x66F7, 0xEAC3, 0x661D, 0xEAC4, 0x6634, - 0xEAC5, 0x6631, 0xEAC6, 0x6636, 0xEAC7, 0x6635, 0xEAC8, 0x8006, 0xEAC9, 0x665F, 0xEACA, 0x6654, 0xEACB, 0x6641, 0xEACC, 0x664F, - 0xEACD, 0x6656, 0xEACE, 0x6661, 0xEACF, 0x6657, 0xEAD0, 0x6677, 0xEAD1, 0x6684, 0xEAD2, 0x668C, 0xEAD3, 0x66A7, 0xEAD4, 0x669D, - 0xEAD5, 0x66BE, 0xEAD6, 0x66DB, 0xEAD7, 0x66DC, 0xEAD8, 0x66E6, 0xEAD9, 0x66E9, 0xEADA, 0x8D32, 0xEADB, 0x8D33, 0xEADC, 0x8D36, - 0xEADD, 0x8D3B, 0xEADE, 0x8D3D, 0xEADF, 0x8D40, 0xEAE0, 0x8D45, 0xEAE1, 0x8D46, 0xEAE2, 0x8D48, 0xEAE3, 0x8D49, 0xEAE4, 0x8D47, - 0xEAE5, 0x8D4D, 0xEAE6, 0x8D55, 0xEAE7, 0x8D59, 0xEAE8, 0x89C7, 0xEAE9, 0x89CA, 0xEAEA, 0x89CB, 0xEAEB, 0x89CC, 0xEAEC, 0x89CE, - 0xEAED, 0x89CF, 0xEAEE, 0x89D0, 0xEAEF, 0x89D1, 0xEAF0, 0x726E, 0xEAF1, 0x729F, 0xEAF2, 0x725D, 0xEAF3, 0x7266, 0xEAF4, 0x726F, - 0xEAF5, 0x727E, 0xEAF6, 0x727F, 0xEAF7, 0x7284, 0xEAF8, 0x728B, 0xEAF9, 0x728D, 0xEAFA, 0x728F, 0xEAFB, 0x7292, 0xEAFC, 0x6308, - 0xEAFD, 0x6332, 0xEAFE, 0x63B0, 0xEB40, 0x968C, 0xEB41, 0x968E, 0xEB42, 0x9691, 0xEB43, 0x9692, 0xEB44, 0x9693, 0xEB45, 0x9695, - 0xEB46, 0x9696, 0xEB47, 0x969A, 0xEB48, 0x969B, 0xEB49, 0x969D, 0xEB4A, 0x969E, 0xEB4B, 0x969F, 0xEB4C, 0x96A0, 0xEB4D, 0x96A1, - 0xEB4E, 0x96A2, 0xEB4F, 0x96A3, 0xEB50, 0x96A4, 0xEB51, 0x96A5, 0xEB52, 0x96A6, 0xEB53, 0x96A8, 0xEB54, 0x96A9, 0xEB55, 0x96AA, - 0xEB56, 0x96AB, 0xEB57, 0x96AC, 0xEB58, 0x96AD, 0xEB59, 0x96AE, 0xEB5A, 0x96AF, 0xEB5B, 0x96B1, 0xEB5C, 0x96B2, 0xEB5D, 0x96B4, - 0xEB5E, 0x96B5, 0xEB5F, 0x96B7, 0xEB60, 0x96B8, 0xEB61, 0x96BA, 0xEB62, 0x96BB, 0xEB63, 0x96BF, 0xEB64, 0x96C2, 0xEB65, 0x96C3, - 0xEB66, 0x96C8, 0xEB67, 0x96CA, 0xEB68, 0x96CB, 0xEB69, 0x96D0, 0xEB6A, 0x96D1, 0xEB6B, 0x96D3, 0xEB6C, 0x96D4, 0xEB6D, 0x96D6, - 0xEB6E, 0x96D7, 0xEB6F, 0x96D8, 0xEB70, 0x96D9, 0xEB71, 0x96DA, 0xEB72, 0x96DB, 0xEB73, 0x96DC, 0xEB74, 0x96DD, 0xEB75, 0x96DE, - 0xEB76, 0x96DF, 0xEB77, 0x96E1, 0xEB78, 0x96E2, 0xEB79, 0x96E3, 0xEB7A, 0x96E4, 0xEB7B, 0x96E5, 0xEB7C, 0x96E6, 0xEB7D, 0x96E7, - 0xEB7E, 0x96EB, 0xEB80, 0x96EC, 0xEB81, 0x96ED, 0xEB82, 0x96EE, 0xEB83, 0x96F0, 0xEB84, 0x96F1, 0xEB85, 0x96F2, 0xEB86, 0x96F4, - 0xEB87, 0x96F5, 0xEB88, 0x96F8, 0xEB89, 0x96FA, 0xEB8A, 0x96FB, 0xEB8B, 0x96FC, 0xEB8C, 0x96FD, 0xEB8D, 0x96FF, 0xEB8E, 0x9702, - 0xEB8F, 0x9703, 0xEB90, 0x9705, 0xEB91, 0x970A, 0xEB92, 0x970B, 0xEB93, 0x970C, 0xEB94, 0x9710, 0xEB95, 0x9711, 0xEB96, 0x9712, - 0xEB97, 0x9714, 0xEB98, 0x9715, 0xEB99, 0x9717, 0xEB9A, 0x9718, 0xEB9B, 0x9719, 0xEB9C, 0x971A, 0xEB9D, 0x971B, 0xEB9E, 0x971D, - 0xEB9F, 0x971F, 0xEBA0, 0x9720, 0xEBA1, 0x643F, 0xEBA2, 0x64D8, 0xEBA3, 0x8004, 0xEBA4, 0x6BEA, 0xEBA5, 0x6BF3, 0xEBA6, 0x6BFD, - 0xEBA7, 0x6BF5, 0xEBA8, 0x6BF9, 0xEBA9, 0x6C05, 0xEBAA, 0x6C07, 0xEBAB, 0x6C06, 0xEBAC, 0x6C0D, 0xEBAD, 0x6C15, 0xEBAE, 0x6C18, - 0xEBAF, 0x6C19, 0xEBB0, 0x6C1A, 0xEBB1, 0x6C21, 0xEBB2, 0x6C29, 0xEBB3, 0x6C24, 0xEBB4, 0x6C2A, 0xEBB5, 0x6C32, 0xEBB6, 0x6535, - 0xEBB7, 0x6555, 0xEBB8, 0x656B, 0xEBB9, 0x724D, 0xEBBA, 0x7252, 0xEBBB, 0x7256, 0xEBBC, 0x7230, 0xEBBD, 0x8662, 0xEBBE, 0x5216, - 0xEBBF, 0x809F, 0xEBC0, 0x809C, 0xEBC1, 0x8093, 0xEBC2, 0x80BC, 0xEBC3, 0x670A, 0xEBC4, 0x80BD, 0xEBC5, 0x80B1, 0xEBC6, 0x80AB, - 0xEBC7, 0x80AD, 0xEBC8, 0x80B4, 0xEBC9, 0x80B7, 0xEBCA, 0x80E7, 0xEBCB, 0x80E8, 0xEBCC, 0x80E9, 0xEBCD, 0x80EA, 0xEBCE, 0x80DB, - 0xEBCF, 0x80C2, 0xEBD0, 0x80C4, 0xEBD1, 0x80D9, 0xEBD2, 0x80CD, 0xEBD3, 0x80D7, 0xEBD4, 0x6710, 0xEBD5, 0x80DD, 0xEBD6, 0x80EB, - 0xEBD7, 0x80F1, 0xEBD8, 0x80F4, 0xEBD9, 0x80ED, 0xEBDA, 0x810D, 0xEBDB, 0x810E, 0xEBDC, 0x80F2, 0xEBDD, 0x80FC, 0xEBDE, 0x6715, - 0xEBDF, 0x8112, 0xEBE0, 0x8C5A, 0xEBE1, 0x8136, 0xEBE2, 0x811E, 0xEBE3, 0x812C, 0xEBE4, 0x8118, 0xEBE5, 0x8132, 0xEBE6, 0x8148, - 0xEBE7, 0x814C, 0xEBE8, 0x8153, 0xEBE9, 0x8174, 0xEBEA, 0x8159, 0xEBEB, 0x815A, 0xEBEC, 0x8171, 0xEBED, 0x8160, 0xEBEE, 0x8169, - 0xEBEF, 0x817C, 0xEBF0, 0x817D, 0xEBF1, 0x816D, 0xEBF2, 0x8167, 0xEBF3, 0x584D, 0xEBF4, 0x5AB5, 0xEBF5, 0x8188, 0xEBF6, 0x8182, - 0xEBF7, 0x8191, 0xEBF8, 0x6ED5, 0xEBF9, 0x81A3, 0xEBFA, 0x81AA, 0xEBFB, 0x81CC, 0xEBFC, 0x6726, 0xEBFD, 0x81CA, 0xEBFE, 0x81BB, - 0xEC40, 0x9721, 0xEC41, 0x9722, 0xEC42, 0x9723, 0xEC43, 0x9724, 0xEC44, 0x9725, 0xEC45, 0x9726, 0xEC46, 0x9727, 0xEC47, 0x9728, - 0xEC48, 0x9729, 0xEC49, 0x972B, 0xEC4A, 0x972C, 0xEC4B, 0x972E, 0xEC4C, 0x972F, 0xEC4D, 0x9731, 0xEC4E, 0x9733, 0xEC4F, 0x9734, - 0xEC50, 0x9735, 0xEC51, 0x9736, 0xEC52, 0x9737, 0xEC53, 0x973A, 0xEC54, 0x973B, 0xEC55, 0x973C, 0xEC56, 0x973D, 0xEC57, 0x973F, - 0xEC58, 0x9740, 0xEC59, 0x9741, 0xEC5A, 0x9742, 0xEC5B, 0x9743, 0xEC5C, 0x9744, 0xEC5D, 0x9745, 0xEC5E, 0x9746, 0xEC5F, 0x9747, - 0xEC60, 0x9748, 0xEC61, 0x9749, 0xEC62, 0x974A, 0xEC63, 0x974B, 0xEC64, 0x974C, 0xEC65, 0x974D, 0xEC66, 0x974E, 0xEC67, 0x974F, - 0xEC68, 0x9750, 0xEC69, 0x9751, 0xEC6A, 0x9754, 0xEC6B, 0x9755, 0xEC6C, 0x9757, 0xEC6D, 0x9758, 0xEC6E, 0x975A, 0xEC6F, 0x975C, - 0xEC70, 0x975D, 0xEC71, 0x975F, 0xEC72, 0x9763, 0xEC73, 0x9764, 0xEC74, 0x9766, 0xEC75, 0x9767, 0xEC76, 0x9768, 0xEC77, 0x976A, - 0xEC78, 0x976B, 0xEC79, 0x976C, 0xEC7A, 0x976D, 0xEC7B, 0x976E, 0xEC7C, 0x976F, 0xEC7D, 0x9770, 0xEC7E, 0x9771, 0xEC80, 0x9772, - 0xEC81, 0x9775, 0xEC82, 0x9777, 0xEC83, 0x9778, 0xEC84, 0x9779, 0xEC85, 0x977A, 0xEC86, 0x977B, 0xEC87, 0x977D, 0xEC88, 0x977E, - 0xEC89, 0x977F, 0xEC8A, 0x9780, 0xEC8B, 0x9781, 0xEC8C, 0x9782, 0xEC8D, 0x9783, 0xEC8E, 0x9784, 0xEC8F, 0x9786, 0xEC90, 0x9787, - 0xEC91, 0x9788, 0xEC92, 0x9789, 0xEC93, 0x978A, 0xEC94, 0x978C, 0xEC95, 0x978E, 0xEC96, 0x978F, 0xEC97, 0x9790, 0xEC98, 0x9793, - 0xEC99, 0x9795, 0xEC9A, 0x9796, 0xEC9B, 0x9797, 0xEC9C, 0x9799, 0xEC9D, 0x979A, 0xEC9E, 0x979B, 0xEC9F, 0x979C, 0xECA0, 0x979D, - 0xECA1, 0x81C1, 0xECA2, 0x81A6, 0xECA3, 0x6B24, 0xECA4, 0x6B37, 0xECA5, 0x6B39, 0xECA6, 0x6B43, 0xECA7, 0x6B46, 0xECA8, 0x6B59, - 0xECA9, 0x98D1, 0xECAA, 0x98D2, 0xECAB, 0x98D3, 0xECAC, 0x98D5, 0xECAD, 0x98D9, 0xECAE, 0x98DA, 0xECAF, 0x6BB3, 0xECB0, 0x5F40, - 0xECB1, 0x6BC2, 0xECB2, 0x89F3, 0xECB3, 0x6590, 0xECB4, 0x9F51, 0xECB5, 0x6593, 0xECB6, 0x65BC, 0xECB7, 0x65C6, 0xECB8, 0x65C4, - 0xECB9, 0x65C3, 0xECBA, 0x65CC, 0xECBB, 0x65CE, 0xECBC, 0x65D2, 0xECBD, 0x65D6, 0xECBE, 0x7080, 0xECBF, 0x709C, 0xECC0, 0x7096, - 0xECC1, 0x709D, 0xECC2, 0x70BB, 0xECC3, 0x70C0, 0xECC4, 0x70B7, 0xECC5, 0x70AB, 0xECC6, 0x70B1, 0xECC7, 0x70E8, 0xECC8, 0x70CA, - 0xECC9, 0x7110, 0xECCA, 0x7113, 0xECCB, 0x7116, 0xECCC, 0x712F, 0xECCD, 0x7131, 0xECCE, 0x7173, 0xECCF, 0x715C, 0xECD0, 0x7168, - 0xECD1, 0x7145, 0xECD2, 0x7172, 0xECD3, 0x714A, 0xECD4, 0x7178, 0xECD5, 0x717A, 0xECD6, 0x7198, 0xECD7, 0x71B3, 0xECD8, 0x71B5, - 0xECD9, 0x71A8, 0xECDA, 0x71A0, 0xECDB, 0x71E0, 0xECDC, 0x71D4, 0xECDD, 0x71E7, 0xECDE, 0x71F9, 0xECDF, 0x721D, 0xECE0, 0x7228, - 0xECE1, 0x706C, 0xECE2, 0x7118, 0xECE3, 0x7166, 0xECE4, 0x71B9, 0xECE5, 0x623E, 0xECE6, 0x623D, 0xECE7, 0x6243, 0xECE8, 0x6248, - 0xECE9, 0x6249, 0xECEA, 0x793B, 0xECEB, 0x7940, 0xECEC, 0x7946, 0xECED, 0x7949, 0xECEE, 0x795B, 0xECEF, 0x795C, 0xECF0, 0x7953, - 0xECF1, 0x795A, 0xECF2, 0x7962, 0xECF3, 0x7957, 0xECF4, 0x7960, 0xECF5, 0x796F, 0xECF6, 0x7967, 0xECF7, 0x797A, 0xECF8, 0x7985, - 0xECF9, 0x798A, 0xECFA, 0x799A, 0xECFB, 0x79A7, 0xECFC, 0x79B3, 0xECFD, 0x5FD1, 0xECFE, 0x5FD0, 0xED40, 0x979E, 0xED41, 0x979F, - 0xED42, 0x97A1, 0xED43, 0x97A2, 0xED44, 0x97A4, 0xED45, 0x97A5, 0xED46, 0x97A6, 0xED47, 0x97A7, 0xED48, 0x97A8, 0xED49, 0x97A9, - 0xED4A, 0x97AA, 0xED4B, 0x97AC, 0xED4C, 0x97AE, 0xED4D, 0x97B0, 0xED4E, 0x97B1, 0xED4F, 0x97B3, 0xED50, 0x97B5, 0xED51, 0x97B6, - 0xED52, 0x97B7, 0xED53, 0x97B8, 0xED54, 0x97B9, 0xED55, 0x97BA, 0xED56, 0x97BB, 0xED57, 0x97BC, 0xED58, 0x97BD, 0xED59, 0x97BE, - 0xED5A, 0x97BF, 0xED5B, 0x97C0, 0xED5C, 0x97C1, 0xED5D, 0x97C2, 0xED5E, 0x97C3, 0xED5F, 0x97C4, 0xED60, 0x97C5, 0xED61, 0x97C6, - 0xED62, 0x97C7, 0xED63, 0x97C8, 0xED64, 0x97C9, 0xED65, 0x97CA, 0xED66, 0x97CB, 0xED67, 0x97CC, 0xED68, 0x97CD, 0xED69, 0x97CE, - 0xED6A, 0x97CF, 0xED6B, 0x97D0, 0xED6C, 0x97D1, 0xED6D, 0x97D2, 0xED6E, 0x97D3, 0xED6F, 0x97D4, 0xED70, 0x97D5, 0xED71, 0x97D6, - 0xED72, 0x97D7, 0xED73, 0x97D8, 0xED74, 0x97D9, 0xED75, 0x97DA, 0xED76, 0x97DB, 0xED77, 0x97DC, 0xED78, 0x97DD, 0xED79, 0x97DE, - 0xED7A, 0x97DF, 0xED7B, 0x97E0, 0xED7C, 0x97E1, 0xED7D, 0x97E2, 0xED7E, 0x97E3, 0xED80, 0x97E4, 0xED81, 0x97E5, 0xED82, 0x97E8, - 0xED83, 0x97EE, 0xED84, 0x97EF, 0xED85, 0x97F0, 0xED86, 0x97F1, 0xED87, 0x97F2, 0xED88, 0x97F4, 0xED89, 0x97F7, 0xED8A, 0x97F8, - 0xED8B, 0x97F9, 0xED8C, 0x97FA, 0xED8D, 0x97FB, 0xED8E, 0x97FC, 0xED8F, 0x97FD, 0xED90, 0x97FE, 0xED91, 0x97FF, 0xED92, 0x9800, - 0xED93, 0x9801, 0xED94, 0x9802, 0xED95, 0x9803, 0xED96, 0x9804, 0xED97, 0x9805, 0xED98, 0x9806, 0xED99, 0x9807, 0xED9A, 0x9808, - 0xED9B, 0x9809, 0xED9C, 0x980A, 0xED9D, 0x980B, 0xED9E, 0x980C, 0xED9F, 0x980D, 0xEDA0, 0x980E, 0xEDA1, 0x603C, 0xEDA2, 0x605D, - 0xEDA3, 0x605A, 0xEDA4, 0x6067, 0xEDA5, 0x6041, 0xEDA6, 0x6059, 0xEDA7, 0x6063, 0xEDA8, 0x60AB, 0xEDA9, 0x6106, 0xEDAA, 0x610D, - 0xEDAB, 0x615D, 0xEDAC, 0x61A9, 0xEDAD, 0x619D, 0xEDAE, 0x61CB, 0xEDAF, 0x61D1, 0xEDB0, 0x6206, 0xEDB1, 0x8080, 0xEDB2, 0x807F, - 0xEDB3, 0x6C93, 0xEDB4, 0x6CF6, 0xEDB5, 0x6DFC, 0xEDB6, 0x77F6, 0xEDB7, 0x77F8, 0xEDB8, 0x7800, 0xEDB9, 0x7809, 0xEDBA, 0x7817, - 0xEDBB, 0x7818, 0xEDBC, 0x7811, 0xEDBD, 0x65AB, 0xEDBE, 0x782D, 0xEDBF, 0x781C, 0xEDC0, 0x781D, 0xEDC1, 0x7839, 0xEDC2, 0x783A, - 0xEDC3, 0x783B, 0xEDC4, 0x781F, 0xEDC5, 0x783C, 0xEDC6, 0x7825, 0xEDC7, 0x782C, 0xEDC8, 0x7823, 0xEDC9, 0x7829, 0xEDCA, 0x784E, - 0xEDCB, 0x786D, 0xEDCC, 0x7856, 0xEDCD, 0x7857, 0xEDCE, 0x7826, 0xEDCF, 0x7850, 0xEDD0, 0x7847, 0xEDD1, 0x784C, 0xEDD2, 0x786A, - 0xEDD3, 0x789B, 0xEDD4, 0x7893, 0xEDD5, 0x789A, 0xEDD6, 0x7887, 0xEDD7, 0x789C, 0xEDD8, 0x78A1, 0xEDD9, 0x78A3, 0xEDDA, 0x78B2, - 0xEDDB, 0x78B9, 0xEDDC, 0x78A5, 0xEDDD, 0x78D4, 0xEDDE, 0x78D9, 0xEDDF, 0x78C9, 0xEDE0, 0x78EC, 0xEDE1, 0x78F2, 0xEDE2, 0x7905, - 0xEDE3, 0x78F4, 0xEDE4, 0x7913, 0xEDE5, 0x7924, 0xEDE6, 0x791E, 0xEDE7, 0x7934, 0xEDE8, 0x9F9B, 0xEDE9, 0x9EF9, 0xEDEA, 0x9EFB, - 0xEDEB, 0x9EFC, 0xEDEC, 0x76F1, 0xEDED, 0x7704, 0xEDEE, 0x770D, 0xEDEF, 0x76F9, 0xEDF0, 0x7707, 0xEDF1, 0x7708, 0xEDF2, 0x771A, - 0xEDF3, 0x7722, 0xEDF4, 0x7719, 0xEDF5, 0x772D, 0xEDF6, 0x7726, 0xEDF7, 0x7735, 0xEDF8, 0x7738, 0xEDF9, 0x7750, 0xEDFA, 0x7751, - 0xEDFB, 0x7747, 0xEDFC, 0x7743, 0xEDFD, 0x775A, 0xEDFE, 0x7768, 0xEE40, 0x980F, 0xEE41, 0x9810, 0xEE42, 0x9811, 0xEE43, 0x9812, - 0xEE44, 0x9813, 0xEE45, 0x9814, 0xEE46, 0x9815, 0xEE47, 0x9816, 0xEE48, 0x9817, 0xEE49, 0x9818, 0xEE4A, 0x9819, 0xEE4B, 0x981A, - 0xEE4C, 0x981B, 0xEE4D, 0x981C, 0xEE4E, 0x981D, 0xEE4F, 0x981E, 0xEE50, 0x981F, 0xEE51, 0x9820, 0xEE52, 0x9821, 0xEE53, 0x9822, - 0xEE54, 0x9823, 0xEE55, 0x9824, 0xEE56, 0x9825, 0xEE57, 0x9826, 0xEE58, 0x9827, 0xEE59, 0x9828, 0xEE5A, 0x9829, 0xEE5B, 0x982A, - 0xEE5C, 0x982B, 0xEE5D, 0x982C, 0xEE5E, 0x982D, 0xEE5F, 0x982E, 0xEE60, 0x982F, 0xEE61, 0x9830, 0xEE62, 0x9831, 0xEE63, 0x9832, - 0xEE64, 0x9833, 0xEE65, 0x9834, 0xEE66, 0x9835, 0xEE67, 0x9836, 0xEE68, 0x9837, 0xEE69, 0x9838, 0xEE6A, 0x9839, 0xEE6B, 0x983A, - 0xEE6C, 0x983B, 0xEE6D, 0x983C, 0xEE6E, 0x983D, 0xEE6F, 0x983E, 0xEE70, 0x983F, 0xEE71, 0x9840, 0xEE72, 0x9841, 0xEE73, 0x9842, - 0xEE74, 0x9843, 0xEE75, 0x9844, 0xEE76, 0x9845, 0xEE77, 0x9846, 0xEE78, 0x9847, 0xEE79, 0x9848, 0xEE7A, 0x9849, 0xEE7B, 0x984A, - 0xEE7C, 0x984B, 0xEE7D, 0x984C, 0xEE7E, 0x984D, 0xEE80, 0x984E, 0xEE81, 0x984F, 0xEE82, 0x9850, 0xEE83, 0x9851, 0xEE84, 0x9852, - 0xEE85, 0x9853, 0xEE86, 0x9854, 0xEE87, 0x9855, 0xEE88, 0x9856, 0xEE89, 0x9857, 0xEE8A, 0x9858, 0xEE8B, 0x9859, 0xEE8C, 0x985A, - 0xEE8D, 0x985B, 0xEE8E, 0x985C, 0xEE8F, 0x985D, 0xEE90, 0x985E, 0xEE91, 0x985F, 0xEE92, 0x9860, 0xEE93, 0x9861, 0xEE94, 0x9862, - 0xEE95, 0x9863, 0xEE96, 0x9864, 0xEE97, 0x9865, 0xEE98, 0x9866, 0xEE99, 0x9867, 0xEE9A, 0x9868, 0xEE9B, 0x9869, 0xEE9C, 0x986A, - 0xEE9D, 0x986B, 0xEE9E, 0x986C, 0xEE9F, 0x986D, 0xEEA0, 0x986E, 0xEEA1, 0x7762, 0xEEA2, 0x7765, 0xEEA3, 0x777F, 0xEEA4, 0x778D, - 0xEEA5, 0x777D, 0xEEA6, 0x7780, 0xEEA7, 0x778C, 0xEEA8, 0x7791, 0xEEA9, 0x779F, 0xEEAA, 0x77A0, 0xEEAB, 0x77B0, 0xEEAC, 0x77B5, - 0xEEAD, 0x77BD, 0xEEAE, 0x753A, 0xEEAF, 0x7540, 0xEEB0, 0x754E, 0xEEB1, 0x754B, 0xEEB2, 0x7548, 0xEEB3, 0x755B, 0xEEB4, 0x7572, - 0xEEB5, 0x7579, 0xEEB6, 0x7583, 0xEEB7, 0x7F58, 0xEEB8, 0x7F61, 0xEEB9, 0x7F5F, 0xEEBA, 0x8A48, 0xEEBB, 0x7F68, 0xEEBC, 0x7F74, - 0xEEBD, 0x7F71, 0xEEBE, 0x7F79, 0xEEBF, 0x7F81, 0xEEC0, 0x7F7E, 0xEEC1, 0x76CD, 0xEEC2, 0x76E5, 0xEEC3, 0x8832, 0xEEC4, 0x9485, - 0xEEC5, 0x9486, 0xEEC6, 0x9487, 0xEEC7, 0x948B, 0xEEC8, 0x948A, 0xEEC9, 0x948C, 0xEECA, 0x948D, 0xEECB, 0x948F, 0xEECC, 0x9490, - 0xEECD, 0x9494, 0xEECE, 0x9497, 0xEECF, 0x9495, 0xEED0, 0x949A, 0xEED1, 0x949B, 0xEED2, 0x949C, 0xEED3, 0x94A3, 0xEED4, 0x94A4, - 0xEED5, 0x94AB, 0xEED6, 0x94AA, 0xEED7, 0x94AD, 0xEED8, 0x94AC, 0xEED9, 0x94AF, 0xEEDA, 0x94B0, 0xEEDB, 0x94B2, 0xEEDC, 0x94B4, - 0xEEDD, 0x94B6, 0xEEDE, 0x94B7, 0xEEDF, 0x94B8, 0xEEE0, 0x94B9, 0xEEE1, 0x94BA, 0xEEE2, 0x94BC, 0xEEE3, 0x94BD, 0xEEE4, 0x94BF, - 0xEEE5, 0x94C4, 0xEEE6, 0x94C8, 0xEEE7, 0x94C9, 0xEEE8, 0x94CA, 0xEEE9, 0x94CB, 0xEEEA, 0x94CC, 0xEEEB, 0x94CD, 0xEEEC, 0x94CE, - 0xEEED, 0x94D0, 0xEEEE, 0x94D1, 0xEEEF, 0x94D2, 0xEEF0, 0x94D5, 0xEEF1, 0x94D6, 0xEEF2, 0x94D7, 0xEEF3, 0x94D9, 0xEEF4, 0x94D8, - 0xEEF5, 0x94DB, 0xEEF6, 0x94DE, 0xEEF7, 0x94DF, 0xEEF8, 0x94E0, 0xEEF9, 0x94E2, 0xEEFA, 0x94E4, 0xEEFB, 0x94E5, 0xEEFC, 0x94E7, - 0xEEFD, 0x94E8, 0xEEFE, 0x94EA, 0xEF40, 0x986F, 0xEF41, 0x9870, 0xEF42, 0x9871, 0xEF43, 0x9872, 0xEF44, 0x9873, 0xEF45, 0x9874, - 0xEF46, 0x988B, 0xEF47, 0x988E, 0xEF48, 0x9892, 0xEF49, 0x9895, 0xEF4A, 0x9899, 0xEF4B, 0x98A3, 0xEF4C, 0x98A8, 0xEF4D, 0x98A9, - 0xEF4E, 0x98AA, 0xEF4F, 0x98AB, 0xEF50, 0x98AC, 0xEF51, 0x98AD, 0xEF52, 0x98AE, 0xEF53, 0x98AF, 0xEF54, 0x98B0, 0xEF55, 0x98B1, - 0xEF56, 0x98B2, 0xEF57, 0x98B3, 0xEF58, 0x98B4, 0xEF59, 0x98B5, 0xEF5A, 0x98B6, 0xEF5B, 0x98B7, 0xEF5C, 0x98B8, 0xEF5D, 0x98B9, - 0xEF5E, 0x98BA, 0xEF5F, 0x98BB, 0xEF60, 0x98BC, 0xEF61, 0x98BD, 0xEF62, 0x98BE, 0xEF63, 0x98BF, 0xEF64, 0x98C0, 0xEF65, 0x98C1, - 0xEF66, 0x98C2, 0xEF67, 0x98C3, 0xEF68, 0x98C4, 0xEF69, 0x98C5, 0xEF6A, 0x98C6, 0xEF6B, 0x98C7, 0xEF6C, 0x98C8, 0xEF6D, 0x98C9, - 0xEF6E, 0x98CA, 0xEF6F, 0x98CB, 0xEF70, 0x98CC, 0xEF71, 0x98CD, 0xEF72, 0x98CF, 0xEF73, 0x98D0, 0xEF74, 0x98D4, 0xEF75, 0x98D6, - 0xEF76, 0x98D7, 0xEF77, 0x98DB, 0xEF78, 0x98DC, 0xEF79, 0x98DD, 0xEF7A, 0x98E0, 0xEF7B, 0x98E1, 0xEF7C, 0x98E2, 0xEF7D, 0x98E3, - 0xEF7E, 0x98E4, 0xEF80, 0x98E5, 0xEF81, 0x98E6, 0xEF82, 0x98E9, 0xEF83, 0x98EA, 0xEF84, 0x98EB, 0xEF85, 0x98EC, 0xEF86, 0x98ED, - 0xEF87, 0x98EE, 0xEF88, 0x98EF, 0xEF89, 0x98F0, 0xEF8A, 0x98F1, 0xEF8B, 0x98F2, 0xEF8C, 0x98F3, 0xEF8D, 0x98F4, 0xEF8E, 0x98F5, - 0xEF8F, 0x98F6, 0xEF90, 0x98F7, 0xEF91, 0x98F8, 0xEF92, 0x98F9, 0xEF93, 0x98FA, 0xEF94, 0x98FB, 0xEF95, 0x98FC, 0xEF96, 0x98FD, - 0xEF97, 0x98FE, 0xEF98, 0x98FF, 0xEF99, 0x9900, 0xEF9A, 0x9901, 0xEF9B, 0x9902, 0xEF9C, 0x9903, 0xEF9D, 0x9904, 0xEF9E, 0x9905, - 0xEF9F, 0x9906, 0xEFA0, 0x9907, 0xEFA1, 0x94E9, 0xEFA2, 0x94EB, 0xEFA3, 0x94EE, 0xEFA4, 0x94EF, 0xEFA5, 0x94F3, 0xEFA6, 0x94F4, - 0xEFA7, 0x94F5, 0xEFA8, 0x94F7, 0xEFA9, 0x94F9, 0xEFAA, 0x94FC, 0xEFAB, 0x94FD, 0xEFAC, 0x94FF, 0xEFAD, 0x9503, 0xEFAE, 0x9502, - 0xEFAF, 0x9506, 0xEFB0, 0x9507, 0xEFB1, 0x9509, 0xEFB2, 0x950A, 0xEFB3, 0x950D, 0xEFB4, 0x950E, 0xEFB5, 0x950F, 0xEFB6, 0x9512, - 0xEFB7, 0x9513, 0xEFB8, 0x9514, 0xEFB9, 0x9515, 0xEFBA, 0x9516, 0xEFBB, 0x9518, 0xEFBC, 0x951B, 0xEFBD, 0x951D, 0xEFBE, 0x951E, - 0xEFBF, 0x951F, 0xEFC0, 0x9522, 0xEFC1, 0x952A, 0xEFC2, 0x952B, 0xEFC3, 0x9529, 0xEFC4, 0x952C, 0xEFC5, 0x9531, 0xEFC6, 0x9532, - 0xEFC7, 0x9534, 0xEFC8, 0x9536, 0xEFC9, 0x9537, 0xEFCA, 0x9538, 0xEFCB, 0x953C, 0xEFCC, 0x953E, 0xEFCD, 0x953F, 0xEFCE, 0x9542, - 0xEFCF, 0x9535, 0xEFD0, 0x9544, 0xEFD1, 0x9545, 0xEFD2, 0x9546, 0xEFD3, 0x9549, 0xEFD4, 0x954C, 0xEFD5, 0x954E, 0xEFD6, 0x954F, - 0xEFD7, 0x9552, 0xEFD8, 0x9553, 0xEFD9, 0x9554, 0xEFDA, 0x9556, 0xEFDB, 0x9557, 0xEFDC, 0x9558, 0xEFDD, 0x9559, 0xEFDE, 0x955B, - 0xEFDF, 0x955E, 0xEFE0, 0x955F, 0xEFE1, 0x955D, 0xEFE2, 0x9561, 0xEFE3, 0x9562, 0xEFE4, 0x9564, 0xEFE5, 0x9565, 0xEFE6, 0x9566, - 0xEFE7, 0x9567, 0xEFE8, 0x9568, 0xEFE9, 0x9569, 0xEFEA, 0x956A, 0xEFEB, 0x956B, 0xEFEC, 0x956C, 0xEFED, 0x956F, 0xEFEE, 0x9571, - 0xEFEF, 0x9572, 0xEFF0, 0x9573, 0xEFF1, 0x953A, 0xEFF2, 0x77E7, 0xEFF3, 0x77EC, 0xEFF4, 0x96C9, 0xEFF5, 0x79D5, 0xEFF6, 0x79ED, - 0xEFF7, 0x79E3, 0xEFF8, 0x79EB, 0xEFF9, 0x7A06, 0xEFFA, 0x5D47, 0xEFFB, 0x7A03, 0xEFFC, 0x7A02, 0xEFFD, 0x7A1E, 0xEFFE, 0x7A14, - 0xF040, 0x9908, 0xF041, 0x9909, 0xF042, 0x990A, 0xF043, 0x990B, 0xF044, 0x990C, 0xF045, 0x990E, 0xF046, 0x990F, 0xF047, 0x9911, - 0xF048, 0x9912, 0xF049, 0x9913, 0xF04A, 0x9914, 0xF04B, 0x9915, 0xF04C, 0x9916, 0xF04D, 0x9917, 0xF04E, 0x9918, 0xF04F, 0x9919, - 0xF050, 0x991A, 0xF051, 0x991B, 0xF052, 0x991C, 0xF053, 0x991D, 0xF054, 0x991E, 0xF055, 0x991F, 0xF056, 0x9920, 0xF057, 0x9921, - 0xF058, 0x9922, 0xF059, 0x9923, 0xF05A, 0x9924, 0xF05B, 0x9925, 0xF05C, 0x9926, 0xF05D, 0x9927, 0xF05E, 0x9928, 0xF05F, 0x9929, - 0xF060, 0x992A, 0xF061, 0x992B, 0xF062, 0x992C, 0xF063, 0x992D, 0xF064, 0x992F, 0xF065, 0x9930, 0xF066, 0x9931, 0xF067, 0x9932, - 0xF068, 0x9933, 0xF069, 0x9934, 0xF06A, 0x9935, 0xF06B, 0x9936, 0xF06C, 0x9937, 0xF06D, 0x9938, 0xF06E, 0x9939, 0xF06F, 0x993A, - 0xF070, 0x993B, 0xF071, 0x993C, 0xF072, 0x993D, 0xF073, 0x993E, 0xF074, 0x993F, 0xF075, 0x9940, 0xF076, 0x9941, 0xF077, 0x9942, - 0xF078, 0x9943, 0xF079, 0x9944, 0xF07A, 0x9945, 0xF07B, 0x9946, 0xF07C, 0x9947, 0xF07D, 0x9948, 0xF07E, 0x9949, 0xF080, 0x994A, - 0xF081, 0x994B, 0xF082, 0x994C, 0xF083, 0x994D, 0xF084, 0x994E, 0xF085, 0x994F, 0xF086, 0x9950, 0xF087, 0x9951, 0xF088, 0x9952, - 0xF089, 0x9953, 0xF08A, 0x9956, 0xF08B, 0x9957, 0xF08C, 0x9958, 0xF08D, 0x9959, 0xF08E, 0x995A, 0xF08F, 0x995B, 0xF090, 0x995C, - 0xF091, 0x995D, 0xF092, 0x995E, 0xF093, 0x995F, 0xF094, 0x9960, 0xF095, 0x9961, 0xF096, 0x9962, 0xF097, 0x9964, 0xF098, 0x9966, - 0xF099, 0x9973, 0xF09A, 0x9978, 0xF09B, 0x9979, 0xF09C, 0x997B, 0xF09D, 0x997E, 0xF09E, 0x9982, 0xF09F, 0x9983, 0xF0A0, 0x9989, - 0xF0A1, 0x7A39, 0xF0A2, 0x7A37, 0xF0A3, 0x7A51, 0xF0A4, 0x9ECF, 0xF0A5, 0x99A5, 0xF0A6, 0x7A70, 0xF0A7, 0x7688, 0xF0A8, 0x768E, - 0xF0A9, 0x7693, 0xF0AA, 0x7699, 0xF0AB, 0x76A4, 0xF0AC, 0x74DE, 0xF0AD, 0x74E0, 0xF0AE, 0x752C, 0xF0AF, 0x9E20, 0xF0B0, 0x9E22, - 0xF0B1, 0x9E28, 0xF0B2, 0x9E29, 0xF0B3, 0x9E2A, 0xF0B4, 0x9E2B, 0xF0B5, 0x9E2C, 0xF0B6, 0x9E32, 0xF0B7, 0x9E31, 0xF0B8, 0x9E36, - 0xF0B9, 0x9E38, 0xF0BA, 0x9E37, 0xF0BB, 0x9E39, 0xF0BC, 0x9E3A, 0xF0BD, 0x9E3E, 0xF0BE, 0x9E41, 0xF0BF, 0x9E42, 0xF0C0, 0x9E44, - 0xF0C1, 0x9E46, 0xF0C2, 0x9E47, 0xF0C3, 0x9E48, 0xF0C4, 0x9E49, 0xF0C5, 0x9E4B, 0xF0C6, 0x9E4C, 0xF0C7, 0x9E4E, 0xF0C8, 0x9E51, - 0xF0C9, 0x9E55, 0xF0CA, 0x9E57, 0xF0CB, 0x9E5A, 0xF0CC, 0x9E5B, 0xF0CD, 0x9E5C, 0xF0CE, 0x9E5E, 0xF0CF, 0x9E63, 0xF0D0, 0x9E66, - 0xF0D1, 0x9E67, 0xF0D2, 0x9E68, 0xF0D3, 0x9E69, 0xF0D4, 0x9E6A, 0xF0D5, 0x9E6B, 0xF0D6, 0x9E6C, 0xF0D7, 0x9E71, 0xF0D8, 0x9E6D, - 0xF0D9, 0x9E73, 0xF0DA, 0x7592, 0xF0DB, 0x7594, 0xF0DC, 0x7596, 0xF0DD, 0x75A0, 0xF0DE, 0x759D, 0xF0DF, 0x75AC, 0xF0E0, 0x75A3, - 0xF0E1, 0x75B3, 0xF0E2, 0x75B4, 0xF0E3, 0x75B8, 0xF0E4, 0x75C4, 0xF0E5, 0x75B1, 0xF0E6, 0x75B0, 0xF0E7, 0x75C3, 0xF0E8, 0x75C2, - 0xF0E9, 0x75D6, 0xF0EA, 0x75CD, 0xF0EB, 0x75E3, 0xF0EC, 0x75E8, 0xF0ED, 0x75E6, 0xF0EE, 0x75E4, 0xF0EF, 0x75EB, 0xF0F0, 0x75E7, - 0xF0F1, 0x7603, 0xF0F2, 0x75F1, 0xF0F3, 0x75FC, 0xF0F4, 0x75FF, 0xF0F5, 0x7610, 0xF0F6, 0x7600, 0xF0F7, 0x7605, 0xF0F8, 0x760C, - 0xF0F9, 0x7617, 0xF0FA, 0x760A, 0xF0FB, 0x7625, 0xF0FC, 0x7618, 0xF0FD, 0x7615, 0xF0FE, 0x7619, 0xF140, 0x998C, 0xF141, 0x998E, - 0xF142, 0x999A, 0xF143, 0x999B, 0xF144, 0x999C, 0xF145, 0x999D, 0xF146, 0x999E, 0xF147, 0x999F, 0xF148, 0x99A0, 0xF149, 0x99A1, - 0xF14A, 0x99A2, 0xF14B, 0x99A3, 0xF14C, 0x99A4, 0xF14D, 0x99A6, 0xF14E, 0x99A7, 0xF14F, 0x99A9, 0xF150, 0x99AA, 0xF151, 0x99AB, - 0xF152, 0x99AC, 0xF153, 0x99AD, 0xF154, 0x99AE, 0xF155, 0x99AF, 0xF156, 0x99B0, 0xF157, 0x99B1, 0xF158, 0x99B2, 0xF159, 0x99B3, - 0xF15A, 0x99B4, 0xF15B, 0x99B5, 0xF15C, 0x99B6, 0xF15D, 0x99B7, 0xF15E, 0x99B8, 0xF15F, 0x99B9, 0xF160, 0x99BA, 0xF161, 0x99BB, - 0xF162, 0x99BC, 0xF163, 0x99BD, 0xF164, 0x99BE, 0xF165, 0x99BF, 0xF166, 0x99C0, 0xF167, 0x99C1, 0xF168, 0x99C2, 0xF169, 0x99C3, - 0xF16A, 0x99C4, 0xF16B, 0x99C5, 0xF16C, 0x99C6, 0xF16D, 0x99C7, 0xF16E, 0x99C8, 0xF16F, 0x99C9, 0xF170, 0x99CA, 0xF171, 0x99CB, - 0xF172, 0x99CC, 0xF173, 0x99CD, 0xF174, 0x99CE, 0xF175, 0x99CF, 0xF176, 0x99D0, 0xF177, 0x99D1, 0xF178, 0x99D2, 0xF179, 0x99D3, - 0xF17A, 0x99D4, 0xF17B, 0x99D5, 0xF17C, 0x99D6, 0xF17D, 0x99D7, 0xF17E, 0x99D8, 0xF180, 0x99D9, 0xF181, 0x99DA, 0xF182, 0x99DB, - 0xF183, 0x99DC, 0xF184, 0x99DD, 0xF185, 0x99DE, 0xF186, 0x99DF, 0xF187, 0x99E0, 0xF188, 0x99E1, 0xF189, 0x99E2, 0xF18A, 0x99E3, - 0xF18B, 0x99E4, 0xF18C, 0x99E5, 0xF18D, 0x99E6, 0xF18E, 0x99E7, 0xF18F, 0x99E8, 0xF190, 0x99E9, 0xF191, 0x99EA, 0xF192, 0x99EB, - 0xF193, 0x99EC, 0xF194, 0x99ED, 0xF195, 0x99EE, 0xF196, 0x99EF, 0xF197, 0x99F0, 0xF198, 0x99F1, 0xF199, 0x99F2, 0xF19A, 0x99F3, - 0xF19B, 0x99F4, 0xF19C, 0x99F5, 0xF19D, 0x99F6, 0xF19E, 0x99F7, 0xF19F, 0x99F8, 0xF1A0, 0x99F9, 0xF1A1, 0x761B, 0xF1A2, 0x763C, - 0xF1A3, 0x7622, 0xF1A4, 0x7620, 0xF1A5, 0x7640, 0xF1A6, 0x762D, 0xF1A7, 0x7630, 0xF1A8, 0x763F, 0xF1A9, 0x7635, 0xF1AA, 0x7643, - 0xF1AB, 0x763E, 0xF1AC, 0x7633, 0xF1AD, 0x764D, 0xF1AE, 0x765E, 0xF1AF, 0x7654, 0xF1B0, 0x765C, 0xF1B1, 0x7656, 0xF1B2, 0x766B, - 0xF1B3, 0x766F, 0xF1B4, 0x7FCA, 0xF1B5, 0x7AE6, 0xF1B6, 0x7A78, 0xF1B7, 0x7A79, 0xF1B8, 0x7A80, 0xF1B9, 0x7A86, 0xF1BA, 0x7A88, - 0xF1BB, 0x7A95, 0xF1BC, 0x7AA6, 0xF1BD, 0x7AA0, 0xF1BE, 0x7AAC, 0xF1BF, 0x7AA8, 0xF1C0, 0x7AAD, 0xF1C1, 0x7AB3, 0xF1C2, 0x8864, - 0xF1C3, 0x8869, 0xF1C4, 0x8872, 0xF1C5, 0x887D, 0xF1C6, 0x887F, 0xF1C7, 0x8882, 0xF1C8, 0x88A2, 0xF1C9, 0x88C6, 0xF1CA, 0x88B7, - 0xF1CB, 0x88BC, 0xF1CC, 0x88C9, 0xF1CD, 0x88E2, 0xF1CE, 0x88CE, 0xF1CF, 0x88E3, 0xF1D0, 0x88E5, 0xF1D1, 0x88F1, 0xF1D2, 0x891A, - 0xF1D3, 0x88FC, 0xF1D4, 0x88E8, 0xF1D5, 0x88FE, 0xF1D6, 0x88F0, 0xF1D7, 0x8921, 0xF1D8, 0x8919, 0xF1D9, 0x8913, 0xF1DA, 0x891B, - 0xF1DB, 0x890A, 0xF1DC, 0x8934, 0xF1DD, 0x892B, 0xF1DE, 0x8936, 0xF1DF, 0x8941, 0xF1E0, 0x8966, 0xF1E1, 0x897B, 0xF1E2, 0x758B, - 0xF1E3, 0x80E5, 0xF1E4, 0x76B2, 0xF1E5, 0x76B4, 0xF1E6, 0x77DC, 0xF1E7, 0x8012, 0xF1E8, 0x8014, 0xF1E9, 0x8016, 0xF1EA, 0x801C, - 0xF1EB, 0x8020, 0xF1EC, 0x8022, 0xF1ED, 0x8025, 0xF1EE, 0x8026, 0xF1EF, 0x8027, 0xF1F0, 0x8029, 0xF1F1, 0x8028, 0xF1F2, 0x8031, - 0xF1F3, 0x800B, 0xF1F4, 0x8035, 0xF1F5, 0x8043, 0xF1F6, 0x8046, 0xF1F7, 0x804D, 0xF1F8, 0x8052, 0xF1F9, 0x8069, 0xF1FA, 0x8071, - 0xF1FB, 0x8983, 0xF1FC, 0x9878, 0xF1FD, 0x9880, 0xF1FE, 0x9883, 0xF240, 0x99FA, 0xF241, 0x99FB, 0xF242, 0x99FC, 0xF243, 0x99FD, - 0xF244, 0x99FE, 0xF245, 0x99FF, 0xF246, 0x9A00, 0xF247, 0x9A01, 0xF248, 0x9A02, 0xF249, 0x9A03, 0xF24A, 0x9A04, 0xF24B, 0x9A05, - 0xF24C, 0x9A06, 0xF24D, 0x9A07, 0xF24E, 0x9A08, 0xF24F, 0x9A09, 0xF250, 0x9A0A, 0xF251, 0x9A0B, 0xF252, 0x9A0C, 0xF253, 0x9A0D, - 0xF254, 0x9A0E, 0xF255, 0x9A0F, 0xF256, 0x9A10, 0xF257, 0x9A11, 0xF258, 0x9A12, 0xF259, 0x9A13, 0xF25A, 0x9A14, 0xF25B, 0x9A15, - 0xF25C, 0x9A16, 0xF25D, 0x9A17, 0xF25E, 0x9A18, 0xF25F, 0x9A19, 0xF260, 0x9A1A, 0xF261, 0x9A1B, 0xF262, 0x9A1C, 0xF263, 0x9A1D, - 0xF264, 0x9A1E, 0xF265, 0x9A1F, 0xF266, 0x9A20, 0xF267, 0x9A21, 0xF268, 0x9A22, 0xF269, 0x9A23, 0xF26A, 0x9A24, 0xF26B, 0x9A25, - 0xF26C, 0x9A26, 0xF26D, 0x9A27, 0xF26E, 0x9A28, 0xF26F, 0x9A29, 0xF270, 0x9A2A, 0xF271, 0x9A2B, 0xF272, 0x9A2C, 0xF273, 0x9A2D, - 0xF274, 0x9A2E, 0xF275, 0x9A2F, 0xF276, 0x9A30, 0xF277, 0x9A31, 0xF278, 0x9A32, 0xF279, 0x9A33, 0xF27A, 0x9A34, 0xF27B, 0x9A35, - 0xF27C, 0x9A36, 0xF27D, 0x9A37, 0xF27E, 0x9A38, 0xF280, 0x9A39, 0xF281, 0x9A3A, 0xF282, 0x9A3B, 0xF283, 0x9A3C, 0xF284, 0x9A3D, - 0xF285, 0x9A3E, 0xF286, 0x9A3F, 0xF287, 0x9A40, 0xF288, 0x9A41, 0xF289, 0x9A42, 0xF28A, 0x9A43, 0xF28B, 0x9A44, 0xF28C, 0x9A45, - 0xF28D, 0x9A46, 0xF28E, 0x9A47, 0xF28F, 0x9A48, 0xF290, 0x9A49, 0xF291, 0x9A4A, 0xF292, 0x9A4B, 0xF293, 0x9A4C, 0xF294, 0x9A4D, - 0xF295, 0x9A4E, 0xF296, 0x9A4F, 0xF297, 0x9A50, 0xF298, 0x9A51, 0xF299, 0x9A52, 0xF29A, 0x9A53, 0xF29B, 0x9A54, 0xF29C, 0x9A55, - 0xF29D, 0x9A56, 0xF29E, 0x9A57, 0xF29F, 0x9A58, 0xF2A0, 0x9A59, 0xF2A1, 0x9889, 0xF2A2, 0x988C, 0xF2A3, 0x988D, 0xF2A4, 0x988F, - 0xF2A5, 0x9894, 0xF2A6, 0x989A, 0xF2A7, 0x989B, 0xF2A8, 0x989E, 0xF2A9, 0x989F, 0xF2AA, 0x98A1, 0xF2AB, 0x98A2, 0xF2AC, 0x98A5, - 0xF2AD, 0x98A6, 0xF2AE, 0x864D, 0xF2AF, 0x8654, 0xF2B0, 0x866C, 0xF2B1, 0x866E, 0xF2B2, 0x867F, 0xF2B3, 0x867A, 0xF2B4, 0x867C, - 0xF2B5, 0x867B, 0xF2B6, 0x86A8, 0xF2B7, 0x868D, 0xF2B8, 0x868B, 0xF2B9, 0x86AC, 0xF2BA, 0x869D, 0xF2BB, 0x86A7, 0xF2BC, 0x86A3, - 0xF2BD, 0x86AA, 0xF2BE, 0x8693, 0xF2BF, 0x86A9, 0xF2C0, 0x86B6, 0xF2C1, 0x86C4, 0xF2C2, 0x86B5, 0xF2C3, 0x86CE, 0xF2C4, 0x86B0, - 0xF2C5, 0x86BA, 0xF2C6, 0x86B1, 0xF2C7, 0x86AF, 0xF2C8, 0x86C9, 0xF2C9, 0x86CF, 0xF2CA, 0x86B4, 0xF2CB, 0x86E9, 0xF2CC, 0x86F1, - 0xF2CD, 0x86F2, 0xF2CE, 0x86ED, 0xF2CF, 0x86F3, 0xF2D0, 0x86D0, 0xF2D1, 0x8713, 0xF2D2, 0x86DE, 0xF2D3, 0x86F4, 0xF2D4, 0x86DF, - 0xF2D5, 0x86D8, 0xF2D6, 0x86D1, 0xF2D7, 0x8703, 0xF2D8, 0x8707, 0xF2D9, 0x86F8, 0xF2DA, 0x8708, 0xF2DB, 0x870A, 0xF2DC, 0x870D, - 0xF2DD, 0x8709, 0xF2DE, 0x8723, 0xF2DF, 0x873B, 0xF2E0, 0x871E, 0xF2E1, 0x8725, 0xF2E2, 0x872E, 0xF2E3, 0x871A, 0xF2E4, 0x873E, - 0xF2E5, 0x8748, 0xF2E6, 0x8734, 0xF2E7, 0x8731, 0xF2E8, 0x8729, 0xF2E9, 0x8737, 0xF2EA, 0x873F, 0xF2EB, 0x8782, 0xF2EC, 0x8722, - 0xF2ED, 0x877D, 0xF2EE, 0x877E, 0xF2EF, 0x877B, 0xF2F0, 0x8760, 0xF2F1, 0x8770, 0xF2F2, 0x874C, 0xF2F3, 0x876E, 0xF2F4, 0x878B, - 0xF2F5, 0x8753, 0xF2F6, 0x8763, 0xF2F7, 0x877C, 0xF2F8, 0x8764, 0xF2F9, 0x8759, 0xF2FA, 0x8765, 0xF2FB, 0x8793, 0xF2FC, 0x87AF, - 0xF2FD, 0x87A8, 0xF2FE, 0x87D2, 0xF340, 0x9A5A, 0xF341, 0x9A5B, 0xF342, 0x9A5C, 0xF343, 0x9A5D, 0xF344, 0x9A5E, 0xF345, 0x9A5F, - 0xF346, 0x9A60, 0xF347, 0x9A61, 0xF348, 0x9A62, 0xF349, 0x9A63, 0xF34A, 0x9A64, 0xF34B, 0x9A65, 0xF34C, 0x9A66, 0xF34D, 0x9A67, - 0xF34E, 0x9A68, 0xF34F, 0x9A69, 0xF350, 0x9A6A, 0xF351, 0x9A6B, 0xF352, 0x9A72, 0xF353, 0x9A83, 0xF354, 0x9A89, 0xF355, 0x9A8D, - 0xF356, 0x9A8E, 0xF357, 0x9A94, 0xF358, 0x9A95, 0xF359, 0x9A99, 0xF35A, 0x9AA6, 0xF35B, 0x9AA9, 0xF35C, 0x9AAA, 0xF35D, 0x9AAB, - 0xF35E, 0x9AAC, 0xF35F, 0x9AAD, 0xF360, 0x9AAE, 0xF361, 0x9AAF, 0xF362, 0x9AB2, 0xF363, 0x9AB3, 0xF364, 0x9AB4, 0xF365, 0x9AB5, - 0xF366, 0x9AB9, 0xF367, 0x9ABB, 0xF368, 0x9ABD, 0xF369, 0x9ABE, 0xF36A, 0x9ABF, 0xF36B, 0x9AC3, 0xF36C, 0x9AC4, 0xF36D, 0x9AC6, - 0xF36E, 0x9AC7, 0xF36F, 0x9AC8, 0xF370, 0x9AC9, 0xF371, 0x9ACA, 0xF372, 0x9ACD, 0xF373, 0x9ACE, 0xF374, 0x9ACF, 0xF375, 0x9AD0, - 0xF376, 0x9AD2, 0xF377, 0x9AD4, 0xF378, 0x9AD5, 0xF379, 0x9AD6, 0xF37A, 0x9AD7, 0xF37B, 0x9AD9, 0xF37C, 0x9ADA, 0xF37D, 0x9ADB, - 0xF37E, 0x9ADC, 0xF380, 0x9ADD, 0xF381, 0x9ADE, 0xF382, 0x9AE0, 0xF383, 0x9AE2, 0xF384, 0x9AE3, 0xF385, 0x9AE4, 0xF386, 0x9AE5, - 0xF387, 0x9AE7, 0xF388, 0x9AE8, 0xF389, 0x9AE9, 0xF38A, 0x9AEA, 0xF38B, 0x9AEC, 0xF38C, 0x9AEE, 0xF38D, 0x9AF0, 0xF38E, 0x9AF1, - 0xF38F, 0x9AF2, 0xF390, 0x9AF3, 0xF391, 0x9AF4, 0xF392, 0x9AF5, 0xF393, 0x9AF6, 0xF394, 0x9AF7, 0xF395, 0x9AF8, 0xF396, 0x9AFA, - 0xF397, 0x9AFC, 0xF398, 0x9AFD, 0xF399, 0x9AFE, 0xF39A, 0x9AFF, 0xF39B, 0x9B00, 0xF39C, 0x9B01, 0xF39D, 0x9B02, 0xF39E, 0x9B04, - 0xF39F, 0x9B05, 0xF3A0, 0x9B06, 0xF3A1, 0x87C6, 0xF3A2, 0x8788, 0xF3A3, 0x8785, 0xF3A4, 0x87AD, 0xF3A5, 0x8797, 0xF3A6, 0x8783, - 0xF3A7, 0x87AB, 0xF3A8, 0x87E5, 0xF3A9, 0x87AC, 0xF3AA, 0x87B5, 0xF3AB, 0x87B3, 0xF3AC, 0x87CB, 0xF3AD, 0x87D3, 0xF3AE, 0x87BD, - 0xF3AF, 0x87D1, 0xF3B0, 0x87C0, 0xF3B1, 0x87CA, 0xF3B2, 0x87DB, 0xF3B3, 0x87EA, 0xF3B4, 0x87E0, 0xF3B5, 0x87EE, 0xF3B6, 0x8816, - 0xF3B7, 0x8813, 0xF3B8, 0x87FE, 0xF3B9, 0x880A, 0xF3BA, 0x881B, 0xF3BB, 0x8821, 0xF3BC, 0x8839, 0xF3BD, 0x883C, 0xF3BE, 0x7F36, - 0xF3BF, 0x7F42, 0xF3C0, 0x7F44, 0xF3C1, 0x7F45, 0xF3C2, 0x8210, 0xF3C3, 0x7AFA, 0xF3C4, 0x7AFD, 0xF3C5, 0x7B08, 0xF3C6, 0x7B03, - 0xF3C7, 0x7B04, 0xF3C8, 0x7B15, 0xF3C9, 0x7B0A, 0xF3CA, 0x7B2B, 0xF3CB, 0x7B0F, 0xF3CC, 0x7B47, 0xF3CD, 0x7B38, 0xF3CE, 0x7B2A, - 0xF3CF, 0x7B19, 0xF3D0, 0x7B2E, 0xF3D1, 0x7B31, 0xF3D2, 0x7B20, 0xF3D3, 0x7B25, 0xF3D4, 0x7B24, 0xF3D5, 0x7B33, 0xF3D6, 0x7B3E, - 0xF3D7, 0x7B1E, 0xF3D8, 0x7B58, 0xF3D9, 0x7B5A, 0xF3DA, 0x7B45, 0xF3DB, 0x7B75, 0xF3DC, 0x7B4C, 0xF3DD, 0x7B5D, 0xF3DE, 0x7B60, - 0xF3DF, 0x7B6E, 0xF3E0, 0x7B7B, 0xF3E1, 0x7B62, 0xF3E2, 0x7B72, 0xF3E3, 0x7B71, 0xF3E4, 0x7B90, 0xF3E5, 0x7BA6, 0xF3E6, 0x7BA7, - 0xF3E7, 0x7BB8, 0xF3E8, 0x7BAC, 0xF3E9, 0x7B9D, 0xF3EA, 0x7BA8, 0xF3EB, 0x7B85, 0xF3EC, 0x7BAA, 0xF3ED, 0x7B9C, 0xF3EE, 0x7BA2, - 0xF3EF, 0x7BAB, 0xF3F0, 0x7BB4, 0xF3F1, 0x7BD1, 0xF3F2, 0x7BC1, 0xF3F3, 0x7BCC, 0xF3F4, 0x7BDD, 0xF3F5, 0x7BDA, 0xF3F6, 0x7BE5, - 0xF3F7, 0x7BE6, 0xF3F8, 0x7BEA, 0xF3F9, 0x7C0C, 0xF3FA, 0x7BFE, 0xF3FB, 0x7BFC, 0xF3FC, 0x7C0F, 0xF3FD, 0x7C16, 0xF3FE, 0x7C0B, - 0xF440, 0x9B07, 0xF441, 0x9B09, 0xF442, 0x9B0A, 0xF443, 0x9B0B, 0xF444, 0x9B0C, 0xF445, 0x9B0D, 0xF446, 0x9B0E, 0xF447, 0x9B10, - 0xF448, 0x9B11, 0xF449, 0x9B12, 0xF44A, 0x9B14, 0xF44B, 0x9B15, 0xF44C, 0x9B16, 0xF44D, 0x9B17, 0xF44E, 0x9B18, 0xF44F, 0x9B19, - 0xF450, 0x9B1A, 0xF451, 0x9B1B, 0xF452, 0x9B1C, 0xF453, 0x9B1D, 0xF454, 0x9B1E, 0xF455, 0x9B20, 0xF456, 0x9B21, 0xF457, 0x9B22, - 0xF458, 0x9B24, 0xF459, 0x9B25, 0xF45A, 0x9B26, 0xF45B, 0x9B27, 0xF45C, 0x9B28, 0xF45D, 0x9B29, 0xF45E, 0x9B2A, 0xF45F, 0x9B2B, - 0xF460, 0x9B2C, 0xF461, 0x9B2D, 0xF462, 0x9B2E, 0xF463, 0x9B30, 0xF464, 0x9B31, 0xF465, 0x9B33, 0xF466, 0x9B34, 0xF467, 0x9B35, - 0xF468, 0x9B36, 0xF469, 0x9B37, 0xF46A, 0x9B38, 0xF46B, 0x9B39, 0xF46C, 0x9B3A, 0xF46D, 0x9B3D, 0xF46E, 0x9B3E, 0xF46F, 0x9B3F, - 0xF470, 0x9B40, 0xF471, 0x9B46, 0xF472, 0x9B4A, 0xF473, 0x9B4B, 0xF474, 0x9B4C, 0xF475, 0x9B4E, 0xF476, 0x9B50, 0xF477, 0x9B52, - 0xF478, 0x9B53, 0xF479, 0x9B55, 0xF47A, 0x9B56, 0xF47B, 0x9B57, 0xF47C, 0x9B58, 0xF47D, 0x9B59, 0xF47E, 0x9B5A, 0xF480, 0x9B5B, - 0xF481, 0x9B5C, 0xF482, 0x9B5D, 0xF483, 0x9B5E, 0xF484, 0x9B5F, 0xF485, 0x9B60, 0xF486, 0x9B61, 0xF487, 0x9B62, 0xF488, 0x9B63, - 0xF489, 0x9B64, 0xF48A, 0x9B65, 0xF48B, 0x9B66, 0xF48C, 0x9B67, 0xF48D, 0x9B68, 0xF48E, 0x9B69, 0xF48F, 0x9B6A, 0xF490, 0x9B6B, - 0xF491, 0x9B6C, 0xF492, 0x9B6D, 0xF493, 0x9B6E, 0xF494, 0x9B6F, 0xF495, 0x9B70, 0xF496, 0x9B71, 0xF497, 0x9B72, 0xF498, 0x9B73, - 0xF499, 0x9B74, 0xF49A, 0x9B75, 0xF49B, 0x9B76, 0xF49C, 0x9B77, 0xF49D, 0x9B78, 0xF49E, 0x9B79, 0xF49F, 0x9B7A, 0xF4A0, 0x9B7B, - 0xF4A1, 0x7C1F, 0xF4A2, 0x7C2A, 0xF4A3, 0x7C26, 0xF4A4, 0x7C38, 0xF4A5, 0x7C41, 0xF4A6, 0x7C40, 0xF4A7, 0x81FE, 0xF4A8, 0x8201, - 0xF4A9, 0x8202, 0xF4AA, 0x8204, 0xF4AB, 0x81EC, 0xF4AC, 0x8844, 0xF4AD, 0x8221, 0xF4AE, 0x8222, 0xF4AF, 0x8223, 0xF4B0, 0x822D, - 0xF4B1, 0x822F, 0xF4B2, 0x8228, 0xF4B3, 0x822B, 0xF4B4, 0x8238, 0xF4B5, 0x823B, 0xF4B6, 0x8233, 0xF4B7, 0x8234, 0xF4B8, 0x823E, - 0xF4B9, 0x8244, 0xF4BA, 0x8249, 0xF4BB, 0x824B, 0xF4BC, 0x824F, 0xF4BD, 0x825A, 0xF4BE, 0x825F, 0xF4BF, 0x8268, 0xF4C0, 0x887E, - 0xF4C1, 0x8885, 0xF4C2, 0x8888, 0xF4C3, 0x88D8, 0xF4C4, 0x88DF, 0xF4C5, 0x895E, 0xF4C6, 0x7F9D, 0xF4C7, 0x7F9F, 0xF4C8, 0x7FA7, - 0xF4C9, 0x7FAF, 0xF4CA, 0x7FB0, 0xF4CB, 0x7FB2, 0xF4CC, 0x7C7C, 0xF4CD, 0x6549, 0xF4CE, 0x7C91, 0xF4CF, 0x7C9D, 0xF4D0, 0x7C9C, - 0xF4D1, 0x7C9E, 0xF4D2, 0x7CA2, 0xF4D3, 0x7CB2, 0xF4D4, 0x7CBC, 0xF4D5, 0x7CBD, 0xF4D6, 0x7CC1, 0xF4D7, 0x7CC7, 0xF4D8, 0x7CCC, - 0xF4D9, 0x7CCD, 0xF4DA, 0x7CC8, 0xF4DB, 0x7CC5, 0xF4DC, 0x7CD7, 0xF4DD, 0x7CE8, 0xF4DE, 0x826E, 0xF4DF, 0x66A8, 0xF4E0, 0x7FBF, - 0xF4E1, 0x7FCE, 0xF4E2, 0x7FD5, 0xF4E3, 0x7FE5, 0xF4E4, 0x7FE1, 0xF4E5, 0x7FE6, 0xF4E6, 0x7FE9, 0xF4E7, 0x7FEE, 0xF4E8, 0x7FF3, - 0xF4E9, 0x7CF8, 0xF4EA, 0x7D77, 0xF4EB, 0x7DA6, 0xF4EC, 0x7DAE, 0xF4ED, 0x7E47, 0xF4EE, 0x7E9B, 0xF4EF, 0x9EB8, 0xF4F0, 0x9EB4, - 0xF4F1, 0x8D73, 0xF4F2, 0x8D84, 0xF4F3, 0x8D94, 0xF4F4, 0x8D91, 0xF4F5, 0x8DB1, 0xF4F6, 0x8D67, 0xF4F7, 0x8D6D, 0xF4F8, 0x8C47, - 0xF4F9, 0x8C49, 0xF4FA, 0x914A, 0xF4FB, 0x9150, 0xF4FC, 0x914E, 0xF4FD, 0x914F, 0xF4FE, 0x9164, 0xF540, 0x9B7C, 0xF541, 0x9B7D, - 0xF542, 0x9B7E, 0xF543, 0x9B7F, 0xF544, 0x9B80, 0xF545, 0x9B81, 0xF546, 0x9B82, 0xF547, 0x9B83, 0xF548, 0x9B84, 0xF549, 0x9B85, - 0xF54A, 0x9B86, 0xF54B, 0x9B87, 0xF54C, 0x9B88, 0xF54D, 0x9B89, 0xF54E, 0x9B8A, 0xF54F, 0x9B8B, 0xF550, 0x9B8C, 0xF551, 0x9B8D, - 0xF552, 0x9B8E, 0xF553, 0x9B8F, 0xF554, 0x9B90, 0xF555, 0x9B91, 0xF556, 0x9B92, 0xF557, 0x9B93, 0xF558, 0x9B94, 0xF559, 0x9B95, - 0xF55A, 0x9B96, 0xF55B, 0x9B97, 0xF55C, 0x9B98, 0xF55D, 0x9B99, 0xF55E, 0x9B9A, 0xF55F, 0x9B9B, 0xF560, 0x9B9C, 0xF561, 0x9B9D, - 0xF562, 0x9B9E, 0xF563, 0x9B9F, 0xF564, 0x9BA0, 0xF565, 0x9BA1, 0xF566, 0x9BA2, 0xF567, 0x9BA3, 0xF568, 0x9BA4, 0xF569, 0x9BA5, - 0xF56A, 0x9BA6, 0xF56B, 0x9BA7, 0xF56C, 0x9BA8, 0xF56D, 0x9BA9, 0xF56E, 0x9BAA, 0xF56F, 0x9BAB, 0xF570, 0x9BAC, 0xF571, 0x9BAD, - 0xF572, 0x9BAE, 0xF573, 0x9BAF, 0xF574, 0x9BB0, 0xF575, 0x9BB1, 0xF576, 0x9BB2, 0xF577, 0x9BB3, 0xF578, 0x9BB4, 0xF579, 0x9BB5, - 0xF57A, 0x9BB6, 0xF57B, 0x9BB7, 0xF57C, 0x9BB8, 0xF57D, 0x9BB9, 0xF57E, 0x9BBA, 0xF580, 0x9BBB, 0xF581, 0x9BBC, 0xF582, 0x9BBD, - 0xF583, 0x9BBE, 0xF584, 0x9BBF, 0xF585, 0x9BC0, 0xF586, 0x9BC1, 0xF587, 0x9BC2, 0xF588, 0x9BC3, 0xF589, 0x9BC4, 0xF58A, 0x9BC5, - 0xF58B, 0x9BC6, 0xF58C, 0x9BC7, 0xF58D, 0x9BC8, 0xF58E, 0x9BC9, 0xF58F, 0x9BCA, 0xF590, 0x9BCB, 0xF591, 0x9BCC, 0xF592, 0x9BCD, - 0xF593, 0x9BCE, 0xF594, 0x9BCF, 0xF595, 0x9BD0, 0xF596, 0x9BD1, 0xF597, 0x9BD2, 0xF598, 0x9BD3, 0xF599, 0x9BD4, 0xF59A, 0x9BD5, - 0xF59B, 0x9BD6, 0xF59C, 0x9BD7, 0xF59D, 0x9BD8, 0xF59E, 0x9BD9, 0xF59F, 0x9BDA, 0xF5A0, 0x9BDB, 0xF5A1, 0x9162, 0xF5A2, 0x9161, - 0xF5A3, 0x9170, 0xF5A4, 0x9169, 0xF5A5, 0x916F, 0xF5A6, 0x917D, 0xF5A7, 0x917E, 0xF5A8, 0x9172, 0xF5A9, 0x9174, 0xF5AA, 0x9179, - 0xF5AB, 0x918C, 0xF5AC, 0x9185, 0xF5AD, 0x9190, 0xF5AE, 0x918D, 0xF5AF, 0x9191, 0xF5B0, 0x91A2, 0xF5B1, 0x91A3, 0xF5B2, 0x91AA, - 0xF5B3, 0x91AD, 0xF5B4, 0x91AE, 0xF5B5, 0x91AF, 0xF5B6, 0x91B5, 0xF5B7, 0x91B4, 0xF5B8, 0x91BA, 0xF5B9, 0x8C55, 0xF5BA, 0x9E7E, - 0xF5BB, 0x8DB8, 0xF5BC, 0x8DEB, 0xF5BD, 0x8E05, 0xF5BE, 0x8E59, 0xF5BF, 0x8E69, 0xF5C0, 0x8DB5, 0xF5C1, 0x8DBF, 0xF5C2, 0x8DBC, - 0xF5C3, 0x8DBA, 0xF5C4, 0x8DC4, 0xF5C5, 0x8DD6, 0xF5C6, 0x8DD7, 0xF5C7, 0x8DDA, 0xF5C8, 0x8DDE, 0xF5C9, 0x8DCE, 0xF5CA, 0x8DCF, - 0xF5CB, 0x8DDB, 0xF5CC, 0x8DC6, 0xF5CD, 0x8DEC, 0xF5CE, 0x8DF7, 0xF5CF, 0x8DF8, 0xF5D0, 0x8DE3, 0xF5D1, 0x8DF9, 0xF5D2, 0x8DFB, - 0xF5D3, 0x8DE4, 0xF5D4, 0x8E09, 0xF5D5, 0x8DFD, 0xF5D6, 0x8E14, 0xF5D7, 0x8E1D, 0xF5D8, 0x8E1F, 0xF5D9, 0x8E2C, 0xF5DA, 0x8E2E, - 0xF5DB, 0x8E23, 0xF5DC, 0x8E2F, 0xF5DD, 0x8E3A, 0xF5DE, 0x8E40, 0xF5DF, 0x8E39, 0xF5E0, 0x8E35, 0xF5E1, 0x8E3D, 0xF5E2, 0x8E31, - 0xF5E3, 0x8E49, 0xF5E4, 0x8E41, 0xF5E5, 0x8E42, 0xF5E6, 0x8E51, 0xF5E7, 0x8E52, 0xF5E8, 0x8E4A, 0xF5E9, 0x8E70, 0xF5EA, 0x8E76, - 0xF5EB, 0x8E7C, 0xF5EC, 0x8E6F, 0xF5ED, 0x8E74, 0xF5EE, 0x8E85, 0xF5EF, 0x8E8F, 0xF5F0, 0x8E94, 0xF5F1, 0x8E90, 0xF5F2, 0x8E9C, - 0xF5F3, 0x8E9E, 0xF5F4, 0x8C78, 0xF5F5, 0x8C82, 0xF5F6, 0x8C8A, 0xF5F7, 0x8C85, 0xF5F8, 0x8C98, 0xF5F9, 0x8C94, 0xF5FA, 0x659B, - 0xF5FB, 0x89D6, 0xF5FC, 0x89DE, 0xF5FD, 0x89DA, 0xF5FE, 0x89DC, 0xF640, 0x9BDC, 0xF641, 0x9BDD, 0xF642, 0x9BDE, 0xF643, 0x9BDF, - 0xF644, 0x9BE0, 0xF645, 0x9BE1, 0xF646, 0x9BE2, 0xF647, 0x9BE3, 0xF648, 0x9BE4, 0xF649, 0x9BE5, 0xF64A, 0x9BE6, 0xF64B, 0x9BE7, - 0xF64C, 0x9BE8, 0xF64D, 0x9BE9, 0xF64E, 0x9BEA, 0xF64F, 0x9BEB, 0xF650, 0x9BEC, 0xF651, 0x9BED, 0xF652, 0x9BEE, 0xF653, 0x9BEF, - 0xF654, 0x9BF0, 0xF655, 0x9BF1, 0xF656, 0x9BF2, 0xF657, 0x9BF3, 0xF658, 0x9BF4, 0xF659, 0x9BF5, 0xF65A, 0x9BF6, 0xF65B, 0x9BF7, - 0xF65C, 0x9BF8, 0xF65D, 0x9BF9, 0xF65E, 0x9BFA, 0xF65F, 0x9BFB, 0xF660, 0x9BFC, 0xF661, 0x9BFD, 0xF662, 0x9BFE, 0xF663, 0x9BFF, - 0xF664, 0x9C00, 0xF665, 0x9C01, 0xF666, 0x9C02, 0xF667, 0x9C03, 0xF668, 0x9C04, 0xF669, 0x9C05, 0xF66A, 0x9C06, 0xF66B, 0x9C07, - 0xF66C, 0x9C08, 0xF66D, 0x9C09, 0xF66E, 0x9C0A, 0xF66F, 0x9C0B, 0xF670, 0x9C0C, 0xF671, 0x9C0D, 0xF672, 0x9C0E, 0xF673, 0x9C0F, - 0xF674, 0x9C10, 0xF675, 0x9C11, 0xF676, 0x9C12, 0xF677, 0x9C13, 0xF678, 0x9C14, 0xF679, 0x9C15, 0xF67A, 0x9C16, 0xF67B, 0x9C17, - 0xF67C, 0x9C18, 0xF67D, 0x9C19, 0xF67E, 0x9C1A, 0xF680, 0x9C1B, 0xF681, 0x9C1C, 0xF682, 0x9C1D, 0xF683, 0x9C1E, 0xF684, 0x9C1F, - 0xF685, 0x9C20, 0xF686, 0x9C21, 0xF687, 0x9C22, 0xF688, 0x9C23, 0xF689, 0x9C24, 0xF68A, 0x9C25, 0xF68B, 0x9C26, 0xF68C, 0x9C27, - 0xF68D, 0x9C28, 0xF68E, 0x9C29, 0xF68F, 0x9C2A, 0xF690, 0x9C2B, 0xF691, 0x9C2C, 0xF692, 0x9C2D, 0xF693, 0x9C2E, 0xF694, 0x9C2F, - 0xF695, 0x9C30, 0xF696, 0x9C31, 0xF697, 0x9C32, 0xF698, 0x9C33, 0xF699, 0x9C34, 0xF69A, 0x9C35, 0xF69B, 0x9C36, 0xF69C, 0x9C37, - 0xF69D, 0x9C38, 0xF69E, 0x9C39, 0xF69F, 0x9C3A, 0xF6A0, 0x9C3B, 0xF6A1, 0x89E5, 0xF6A2, 0x89EB, 0xF6A3, 0x89EF, 0xF6A4, 0x8A3E, - 0xF6A5, 0x8B26, 0xF6A6, 0x9753, 0xF6A7, 0x96E9, 0xF6A8, 0x96F3, 0xF6A9, 0x96EF, 0xF6AA, 0x9706, 0xF6AB, 0x9701, 0xF6AC, 0x9708, - 0xF6AD, 0x970F, 0xF6AE, 0x970E, 0xF6AF, 0x972A, 0xF6B0, 0x972D, 0xF6B1, 0x9730, 0xF6B2, 0x973E, 0xF6B3, 0x9F80, 0xF6B4, 0x9F83, - 0xF6B5, 0x9F85, 0xF6B6, 0x9F86, 0xF6B7, 0x9F87, 0xF6B8, 0x9F88, 0xF6B9, 0x9F89, 0xF6BA, 0x9F8A, 0xF6BB, 0x9F8C, 0xF6BC, 0x9EFE, - 0xF6BD, 0x9F0B, 0xF6BE, 0x9F0D, 0xF6BF, 0x96B9, 0xF6C0, 0x96BC, 0xF6C1, 0x96BD, 0xF6C2, 0x96CE, 0xF6C3, 0x96D2, 0xF6C4, 0x77BF, - 0xF6C5, 0x96E0, 0xF6C6, 0x928E, 0xF6C7, 0x92AE, 0xF6C8, 0x92C8, 0xF6C9, 0x933E, 0xF6CA, 0x936A, 0xF6CB, 0x93CA, 0xF6CC, 0x938F, - 0xF6CD, 0x943E, 0xF6CE, 0x946B, 0xF6CF, 0x9C7F, 0xF6D0, 0x9C82, 0xF6D1, 0x9C85, 0xF6D2, 0x9C86, 0xF6D3, 0x9C87, 0xF6D4, 0x9C88, - 0xF6D5, 0x7A23, 0xF6D6, 0x9C8B, 0xF6D7, 0x9C8E, 0xF6D8, 0x9C90, 0xF6D9, 0x9C91, 0xF6DA, 0x9C92, 0xF6DB, 0x9C94, 0xF6DC, 0x9C95, - 0xF6DD, 0x9C9A, 0xF6DE, 0x9C9B, 0xF6DF, 0x9C9E, 0xF6E0, 0x9C9F, 0xF6E1, 0x9CA0, 0xF6E2, 0x9CA1, 0xF6E3, 0x9CA2, 0xF6E4, 0x9CA3, - 0xF6E5, 0x9CA5, 0xF6E6, 0x9CA6, 0xF6E7, 0x9CA7, 0xF6E8, 0x9CA8, 0xF6E9, 0x9CA9, 0xF6EA, 0x9CAB, 0xF6EB, 0x9CAD, 0xF6EC, 0x9CAE, - 0xF6ED, 0x9CB0, 0xF6EE, 0x9CB1, 0xF6EF, 0x9CB2, 0xF6F0, 0x9CB3, 0xF6F1, 0x9CB4, 0xF6F2, 0x9CB5, 0xF6F3, 0x9CB6, 0xF6F4, 0x9CB7, - 0xF6F5, 0x9CBA, 0xF6F6, 0x9CBB, 0xF6F7, 0x9CBC, 0xF6F8, 0x9CBD, 0xF6F9, 0x9CC4, 0xF6FA, 0x9CC5, 0xF6FB, 0x9CC6, 0xF6FC, 0x9CC7, - 0xF6FD, 0x9CCA, 0xF6FE, 0x9CCB, 0xF740, 0x9C3C, 0xF741, 0x9C3D, 0xF742, 0x9C3E, 0xF743, 0x9C3F, 0xF744, 0x9C40, 0xF745, 0x9C41, - 0xF746, 0x9C42, 0xF747, 0x9C43, 0xF748, 0x9C44, 0xF749, 0x9C45, 0xF74A, 0x9C46, 0xF74B, 0x9C47, 0xF74C, 0x9C48, 0xF74D, 0x9C49, - 0xF74E, 0x9C4A, 0xF74F, 0x9C4B, 0xF750, 0x9C4C, 0xF751, 0x9C4D, 0xF752, 0x9C4E, 0xF753, 0x9C4F, 0xF754, 0x9C50, 0xF755, 0x9C51, - 0xF756, 0x9C52, 0xF757, 0x9C53, 0xF758, 0x9C54, 0xF759, 0x9C55, 0xF75A, 0x9C56, 0xF75B, 0x9C57, 0xF75C, 0x9C58, 0xF75D, 0x9C59, - 0xF75E, 0x9C5A, 0xF75F, 0x9C5B, 0xF760, 0x9C5C, 0xF761, 0x9C5D, 0xF762, 0x9C5E, 0xF763, 0x9C5F, 0xF764, 0x9C60, 0xF765, 0x9C61, - 0xF766, 0x9C62, 0xF767, 0x9C63, 0xF768, 0x9C64, 0xF769, 0x9C65, 0xF76A, 0x9C66, 0xF76B, 0x9C67, 0xF76C, 0x9C68, 0xF76D, 0x9C69, - 0xF76E, 0x9C6A, 0xF76F, 0x9C6B, 0xF770, 0x9C6C, 0xF771, 0x9C6D, 0xF772, 0x9C6E, 0xF773, 0x9C6F, 0xF774, 0x9C70, 0xF775, 0x9C71, - 0xF776, 0x9C72, 0xF777, 0x9C73, 0xF778, 0x9C74, 0xF779, 0x9C75, 0xF77A, 0x9C76, 0xF77B, 0x9C77, 0xF77C, 0x9C78, 0xF77D, 0x9C79, - 0xF77E, 0x9C7A, 0xF780, 0x9C7B, 0xF781, 0x9C7D, 0xF782, 0x9C7E, 0xF783, 0x9C80, 0xF784, 0x9C83, 0xF785, 0x9C84, 0xF786, 0x9C89, - 0xF787, 0x9C8A, 0xF788, 0x9C8C, 0xF789, 0x9C8F, 0xF78A, 0x9C93, 0xF78B, 0x9C96, 0xF78C, 0x9C97, 0xF78D, 0x9C98, 0xF78E, 0x9C99, - 0xF78F, 0x9C9D, 0xF790, 0x9CAA, 0xF791, 0x9CAC, 0xF792, 0x9CAF, 0xF793, 0x9CB9, 0xF794, 0x9CBE, 0xF795, 0x9CBF, 0xF796, 0x9CC0, - 0xF797, 0x9CC1, 0xF798, 0x9CC2, 0xF799, 0x9CC8, 0xF79A, 0x9CC9, 0xF79B, 0x9CD1, 0xF79C, 0x9CD2, 0xF79D, 0x9CDA, 0xF79E, 0x9CDB, - 0xF79F, 0x9CE0, 0xF7A0, 0x9CE1, 0xF7A1, 0x9CCC, 0xF7A2, 0x9CCD, 0xF7A3, 0x9CCE, 0xF7A4, 0x9CCF, 0xF7A5, 0x9CD0, 0xF7A6, 0x9CD3, - 0xF7A7, 0x9CD4, 0xF7A8, 0x9CD5, 0xF7A9, 0x9CD7, 0xF7AA, 0x9CD8, 0xF7AB, 0x9CD9, 0xF7AC, 0x9CDC, 0xF7AD, 0x9CDD, 0xF7AE, 0x9CDF, - 0xF7AF, 0x9CE2, 0xF7B0, 0x977C, 0xF7B1, 0x9785, 0xF7B2, 0x9791, 0xF7B3, 0x9792, 0xF7B4, 0x9794, 0xF7B5, 0x97AF, 0xF7B6, 0x97AB, - 0xF7B7, 0x97A3, 0xF7B8, 0x97B2, 0xF7B9, 0x97B4, 0xF7BA, 0x9AB1, 0xF7BB, 0x9AB0, 0xF7BC, 0x9AB7, 0xF7BD, 0x9E58, 0xF7BE, 0x9AB6, - 0xF7BF, 0x9ABA, 0xF7C0, 0x9ABC, 0xF7C1, 0x9AC1, 0xF7C2, 0x9AC0, 0xF7C3, 0x9AC5, 0xF7C4, 0x9AC2, 0xF7C5, 0x9ACB, 0xF7C6, 0x9ACC, - 0xF7C7, 0x9AD1, 0xF7C8, 0x9B45, 0xF7C9, 0x9B43, 0xF7CA, 0x9B47, 0xF7CB, 0x9B49, 0xF7CC, 0x9B48, 0xF7CD, 0x9B4D, 0xF7CE, 0x9B51, - 0xF7CF, 0x98E8, 0xF7D0, 0x990D, 0xF7D1, 0x992E, 0xF7D2, 0x9955, 0xF7D3, 0x9954, 0xF7D4, 0x9ADF, 0xF7D5, 0x9AE1, 0xF7D6, 0x9AE6, - 0xF7D7, 0x9AEF, 0xF7D8, 0x9AEB, 0xF7D9, 0x9AFB, 0xF7DA, 0x9AED, 0xF7DB, 0x9AF9, 0xF7DC, 0x9B08, 0xF7DD, 0x9B0F, 0xF7DE, 0x9B13, - 0xF7DF, 0x9B1F, 0xF7E0, 0x9B23, 0xF7E1, 0x9EBD, 0xF7E2, 0x9EBE, 0xF7E3, 0x7E3B, 0xF7E4, 0x9E82, 0xF7E5, 0x9E87, 0xF7E6, 0x9E88, - 0xF7E7, 0x9E8B, 0xF7E8, 0x9E92, 0xF7E9, 0x93D6, 0xF7EA, 0x9E9D, 0xF7EB, 0x9E9F, 0xF7EC, 0x9EDB, 0xF7ED, 0x9EDC, 0xF7EE, 0x9EDD, - 0xF7EF, 0x9EE0, 0xF7F0, 0x9EDF, 0xF7F1, 0x9EE2, 0xF7F2, 0x9EE9, 0xF7F3, 0x9EE7, 0xF7F4, 0x9EE5, 0xF7F5, 0x9EEA, 0xF7F6, 0x9EEF, - 0xF7F7, 0x9F22, 0xF7F8, 0x9F2C, 0xF7F9, 0x9F2F, 0xF7FA, 0x9F39, 0xF7FB, 0x9F37, 0xF7FC, 0x9F3D, 0xF7FD, 0x9F3E, 0xF7FE, 0x9F44, - 0xF840, 0x9CE3, 0xF841, 0x9CE4, 0xF842, 0x9CE5, 0xF843, 0x9CE6, 0xF844, 0x9CE7, 0xF845, 0x9CE8, 0xF846, 0x9CE9, 0xF847, 0x9CEA, - 0xF848, 0x9CEB, 0xF849, 0x9CEC, 0xF84A, 0x9CED, 0xF84B, 0x9CEE, 0xF84C, 0x9CEF, 0xF84D, 0x9CF0, 0xF84E, 0x9CF1, 0xF84F, 0x9CF2, - 0xF850, 0x9CF3, 0xF851, 0x9CF4, 0xF852, 0x9CF5, 0xF853, 0x9CF6, 0xF854, 0x9CF7, 0xF855, 0x9CF8, 0xF856, 0x9CF9, 0xF857, 0x9CFA, - 0xF858, 0x9CFB, 0xF859, 0x9CFC, 0xF85A, 0x9CFD, 0xF85B, 0x9CFE, 0xF85C, 0x9CFF, 0xF85D, 0x9D00, 0xF85E, 0x9D01, 0xF85F, 0x9D02, - 0xF860, 0x9D03, 0xF861, 0x9D04, 0xF862, 0x9D05, 0xF863, 0x9D06, 0xF864, 0x9D07, 0xF865, 0x9D08, 0xF866, 0x9D09, 0xF867, 0x9D0A, - 0xF868, 0x9D0B, 0xF869, 0x9D0C, 0xF86A, 0x9D0D, 0xF86B, 0x9D0E, 0xF86C, 0x9D0F, 0xF86D, 0x9D10, 0xF86E, 0x9D11, 0xF86F, 0x9D12, - 0xF870, 0x9D13, 0xF871, 0x9D14, 0xF872, 0x9D15, 0xF873, 0x9D16, 0xF874, 0x9D17, 0xF875, 0x9D18, 0xF876, 0x9D19, 0xF877, 0x9D1A, - 0xF878, 0x9D1B, 0xF879, 0x9D1C, 0xF87A, 0x9D1D, 0xF87B, 0x9D1E, 0xF87C, 0x9D1F, 0xF87D, 0x9D20, 0xF87E, 0x9D21, 0xF880, 0x9D22, - 0xF881, 0x9D23, 0xF882, 0x9D24, 0xF883, 0x9D25, 0xF884, 0x9D26, 0xF885, 0x9D27, 0xF886, 0x9D28, 0xF887, 0x9D29, 0xF888, 0x9D2A, - 0xF889, 0x9D2B, 0xF88A, 0x9D2C, 0xF88B, 0x9D2D, 0xF88C, 0x9D2E, 0xF88D, 0x9D2F, 0xF88E, 0x9D30, 0xF88F, 0x9D31, 0xF890, 0x9D32, - 0xF891, 0x9D33, 0xF892, 0x9D34, 0xF893, 0x9D35, 0xF894, 0x9D36, 0xF895, 0x9D37, 0xF896, 0x9D38, 0xF897, 0x9D39, 0xF898, 0x9D3A, - 0xF899, 0x9D3B, 0xF89A, 0x9D3C, 0xF89B, 0x9D3D, 0xF89C, 0x9D3E, 0xF89D, 0x9D3F, 0xF89E, 0x9D40, 0xF89F, 0x9D41, 0xF8A0, 0x9D42, - 0xF940, 0x9D43, 0xF941, 0x9D44, 0xF942, 0x9D45, 0xF943, 0x9D46, 0xF944, 0x9D47, 0xF945, 0x9D48, 0xF946, 0x9D49, 0xF947, 0x9D4A, - 0xF948, 0x9D4B, 0xF949, 0x9D4C, 0xF94A, 0x9D4D, 0xF94B, 0x9D4E, 0xF94C, 0x9D4F, 0xF94D, 0x9D50, 0xF94E, 0x9D51, 0xF94F, 0x9D52, - 0xF950, 0x9D53, 0xF951, 0x9D54, 0xF952, 0x9D55, 0xF953, 0x9D56, 0xF954, 0x9D57, 0xF955, 0x9D58, 0xF956, 0x9D59, 0xF957, 0x9D5A, - 0xF958, 0x9D5B, 0xF959, 0x9D5C, 0xF95A, 0x9D5D, 0xF95B, 0x9D5E, 0xF95C, 0x9D5F, 0xF95D, 0x9D60, 0xF95E, 0x9D61, 0xF95F, 0x9D62, - 0xF960, 0x9D63, 0xF961, 0x9D64, 0xF962, 0x9D65, 0xF963, 0x9D66, 0xF964, 0x9D67, 0xF965, 0x9D68, 0xF966, 0x9D69, 0xF967, 0x9D6A, - 0xF968, 0x9D6B, 0xF969, 0x9D6C, 0xF96A, 0x9D6D, 0xF96B, 0x9D6E, 0xF96C, 0x9D6F, 0xF96D, 0x9D70, 0xF96E, 0x9D71, 0xF96F, 0x9D72, - 0xF970, 0x9D73, 0xF971, 0x9D74, 0xF972, 0x9D75, 0xF973, 0x9D76, 0xF974, 0x9D77, 0xF975, 0x9D78, 0xF976, 0x9D79, 0xF977, 0x9D7A, - 0xF978, 0x9D7B, 0xF979, 0x9D7C, 0xF97A, 0x9D7D, 0xF97B, 0x9D7E, 0xF97C, 0x9D7F, 0xF97D, 0x9D80, 0xF97E, 0x9D81, 0xF980, 0x9D82, - 0xF981, 0x9D83, 0xF982, 0x9D84, 0xF983, 0x9D85, 0xF984, 0x9D86, 0xF985, 0x9D87, 0xF986, 0x9D88, 0xF987, 0x9D89, 0xF988, 0x9D8A, - 0xF989, 0x9D8B, 0xF98A, 0x9D8C, 0xF98B, 0x9D8D, 0xF98C, 0x9D8E, 0xF98D, 0x9D8F, 0xF98E, 0x9D90, 0xF98F, 0x9D91, 0xF990, 0x9D92, - 0xF991, 0x9D93, 0xF992, 0x9D94, 0xF993, 0x9D95, 0xF994, 0x9D96, 0xF995, 0x9D97, 0xF996, 0x9D98, 0xF997, 0x9D99, 0xF998, 0x9D9A, - 0xF999, 0x9D9B, 0xF99A, 0x9D9C, 0xF99B, 0x9D9D, 0xF99C, 0x9D9E, 0xF99D, 0x9D9F, 0xF99E, 0x9DA0, 0xF99F, 0x9DA1, 0xF9A0, 0x9DA2, - 0xFA40, 0x9DA3, 0xFA41, 0x9DA4, 0xFA42, 0x9DA5, 0xFA43, 0x9DA6, 0xFA44, 0x9DA7, 0xFA45, 0x9DA8, 0xFA46, 0x9DA9, 0xFA47, 0x9DAA, - 0xFA48, 0x9DAB, 0xFA49, 0x9DAC, 0xFA4A, 0x9DAD, 0xFA4B, 0x9DAE, 0xFA4C, 0x9DAF, 0xFA4D, 0x9DB0, 0xFA4E, 0x9DB1, 0xFA4F, 0x9DB2, - 0xFA50, 0x9DB3, 0xFA51, 0x9DB4, 0xFA52, 0x9DB5, 0xFA53, 0x9DB6, 0xFA54, 0x9DB7, 0xFA55, 0x9DB8, 0xFA56, 0x9DB9, 0xFA57, 0x9DBA, - 0xFA58, 0x9DBB, 0xFA59, 0x9DBC, 0xFA5A, 0x9DBD, 0xFA5B, 0x9DBE, 0xFA5C, 0x9DBF, 0xFA5D, 0x9DC0, 0xFA5E, 0x9DC1, 0xFA5F, 0x9DC2, - 0xFA60, 0x9DC3, 0xFA61, 0x9DC4, 0xFA62, 0x9DC5, 0xFA63, 0x9DC6, 0xFA64, 0x9DC7, 0xFA65, 0x9DC8, 0xFA66, 0x9DC9, 0xFA67, 0x9DCA, - 0xFA68, 0x9DCB, 0xFA69, 0x9DCC, 0xFA6A, 0x9DCD, 0xFA6B, 0x9DCE, 0xFA6C, 0x9DCF, 0xFA6D, 0x9DD0, 0xFA6E, 0x9DD1, 0xFA6F, 0x9DD2, - 0xFA70, 0x9DD3, 0xFA71, 0x9DD4, 0xFA72, 0x9DD5, 0xFA73, 0x9DD6, 0xFA74, 0x9DD7, 0xFA75, 0x9DD8, 0xFA76, 0x9DD9, 0xFA77, 0x9DDA, - 0xFA78, 0x9DDB, 0xFA79, 0x9DDC, 0xFA7A, 0x9DDD, 0xFA7B, 0x9DDE, 0xFA7C, 0x9DDF, 0xFA7D, 0x9DE0, 0xFA7E, 0x9DE1, 0xFA80, 0x9DE2, - 0xFA81, 0x9DE3, 0xFA82, 0x9DE4, 0xFA83, 0x9DE5, 0xFA84, 0x9DE6, 0xFA85, 0x9DE7, 0xFA86, 0x9DE8, 0xFA87, 0x9DE9, 0xFA88, 0x9DEA, - 0xFA89, 0x9DEB, 0xFA8A, 0x9DEC, 0xFA8B, 0x9DED, 0xFA8C, 0x9DEE, 0xFA8D, 0x9DEF, 0xFA8E, 0x9DF0, 0xFA8F, 0x9DF1, 0xFA90, 0x9DF2, - 0xFA91, 0x9DF3, 0xFA92, 0x9DF4, 0xFA93, 0x9DF5, 0xFA94, 0x9DF6, 0xFA95, 0x9DF7, 0xFA96, 0x9DF8, 0xFA97, 0x9DF9, 0xFA98, 0x9DFA, - 0xFA99, 0x9DFB, 0xFA9A, 0x9DFC, 0xFA9B, 0x9DFD, 0xFA9C, 0x9DFE, 0xFA9D, 0x9DFF, 0xFA9E, 0x9E00, 0xFA9F, 0x9E01, 0xFAA0, 0x9E02, - 0xFB40, 0x9E03, 0xFB41, 0x9E04, 0xFB42, 0x9E05, 0xFB43, 0x9E06, 0xFB44, 0x9E07, 0xFB45, 0x9E08, 0xFB46, 0x9E09, 0xFB47, 0x9E0A, - 0xFB48, 0x9E0B, 0xFB49, 0x9E0C, 0xFB4A, 0x9E0D, 0xFB4B, 0x9E0E, 0xFB4C, 0x9E0F, 0xFB4D, 0x9E10, 0xFB4E, 0x9E11, 0xFB4F, 0x9E12, - 0xFB50, 0x9E13, 0xFB51, 0x9E14, 0xFB52, 0x9E15, 0xFB53, 0x9E16, 0xFB54, 0x9E17, 0xFB55, 0x9E18, 0xFB56, 0x9E19, 0xFB57, 0x9E1A, - 0xFB58, 0x9E1B, 0xFB59, 0x9E1C, 0xFB5A, 0x9E1D, 0xFB5B, 0x9E1E, 0xFB5C, 0x9E24, 0xFB5D, 0x9E27, 0xFB5E, 0x9E2E, 0xFB5F, 0x9E30, - 0xFB60, 0x9E34, 0xFB61, 0x9E3B, 0xFB62, 0x9E3C, 0xFB63, 0x9E40, 0xFB64, 0x9E4D, 0xFB65, 0x9E50, 0xFB66, 0x9E52, 0xFB67, 0x9E53, - 0xFB68, 0x9E54, 0xFB69, 0x9E56, 0xFB6A, 0x9E59, 0xFB6B, 0x9E5D, 0xFB6C, 0x9E5F, 0xFB6D, 0x9E60, 0xFB6E, 0x9E61, 0xFB6F, 0x9E62, - 0xFB70, 0x9E65, 0xFB71, 0x9E6E, 0xFB72, 0x9E6F, 0xFB73, 0x9E72, 0xFB74, 0x9E74, 0xFB75, 0x9E75, 0xFB76, 0x9E76, 0xFB77, 0x9E77, - 0xFB78, 0x9E78, 0xFB79, 0x9E79, 0xFB7A, 0x9E7A, 0xFB7B, 0x9E7B, 0xFB7C, 0x9E7C, 0xFB7D, 0x9E7D, 0xFB7E, 0x9E80, 0xFB80, 0x9E81, - 0xFB81, 0x9E83, 0xFB82, 0x9E84, 0xFB83, 0x9E85, 0xFB84, 0x9E86, 0xFB85, 0x9E89, 0xFB86, 0x9E8A, 0xFB87, 0x9E8C, 0xFB88, 0x9E8D, - 0xFB89, 0x9E8E, 0xFB8A, 0x9E8F, 0xFB8B, 0x9E90, 0xFB8C, 0x9E91, 0xFB8D, 0x9E94, 0xFB8E, 0x9E95, 0xFB8F, 0x9E96, 0xFB90, 0x9E97, - 0xFB91, 0x9E98, 0xFB92, 0x9E99, 0xFB93, 0x9E9A, 0xFB94, 0x9E9B, 0xFB95, 0x9E9C, 0xFB96, 0x9E9E, 0xFB97, 0x9EA0, 0xFB98, 0x9EA1, - 0xFB99, 0x9EA2, 0xFB9A, 0x9EA3, 0xFB9B, 0x9EA4, 0xFB9C, 0x9EA5, 0xFB9D, 0x9EA7, 0xFB9E, 0x9EA8, 0xFB9F, 0x9EA9, 0xFBA0, 0x9EAA, - 0xFC40, 0x9EAB, 0xFC41, 0x9EAC, 0xFC42, 0x9EAD, 0xFC43, 0x9EAE, 0xFC44, 0x9EAF, 0xFC45, 0x9EB0, 0xFC46, 0x9EB1, 0xFC47, 0x9EB2, - 0xFC48, 0x9EB3, 0xFC49, 0x9EB5, 0xFC4A, 0x9EB6, 0xFC4B, 0x9EB7, 0xFC4C, 0x9EB9, 0xFC4D, 0x9EBA, 0xFC4E, 0x9EBC, 0xFC4F, 0x9EBF, - 0xFC50, 0x9EC0, 0xFC51, 0x9EC1, 0xFC52, 0x9EC2, 0xFC53, 0x9EC3, 0xFC54, 0x9EC5, 0xFC55, 0x9EC6, 0xFC56, 0x9EC7, 0xFC57, 0x9EC8, - 0xFC58, 0x9ECA, 0xFC59, 0x9ECB, 0xFC5A, 0x9ECC, 0xFC5B, 0x9ED0, 0xFC5C, 0x9ED2, 0xFC5D, 0x9ED3, 0xFC5E, 0x9ED5, 0xFC5F, 0x9ED6, - 0xFC60, 0x9ED7, 0xFC61, 0x9ED9, 0xFC62, 0x9EDA, 0xFC63, 0x9EDE, 0xFC64, 0x9EE1, 0xFC65, 0x9EE3, 0xFC66, 0x9EE4, 0xFC67, 0x9EE6, - 0xFC68, 0x9EE8, 0xFC69, 0x9EEB, 0xFC6A, 0x9EEC, 0xFC6B, 0x9EED, 0xFC6C, 0x9EEE, 0xFC6D, 0x9EF0, 0xFC6E, 0x9EF1, 0xFC6F, 0x9EF2, - 0xFC70, 0x9EF3, 0xFC71, 0x9EF4, 0xFC72, 0x9EF5, 0xFC73, 0x9EF6, 0xFC74, 0x9EF7, 0xFC75, 0x9EF8, 0xFC76, 0x9EFA, 0xFC77, 0x9EFD, - 0xFC78, 0x9EFF, 0xFC79, 0x9F00, 0xFC7A, 0x9F01, 0xFC7B, 0x9F02, 0xFC7C, 0x9F03, 0xFC7D, 0x9F04, 0xFC7E, 0x9F05, 0xFC80, 0x9F06, - 0xFC81, 0x9F07, 0xFC82, 0x9F08, 0xFC83, 0x9F09, 0xFC84, 0x9F0A, 0xFC85, 0x9F0C, 0xFC86, 0x9F0F, 0xFC87, 0x9F11, 0xFC88, 0x9F12, - 0xFC89, 0x9F14, 0xFC8A, 0x9F15, 0xFC8B, 0x9F16, 0xFC8C, 0x9F18, 0xFC8D, 0x9F1A, 0xFC8E, 0x9F1B, 0xFC8F, 0x9F1C, 0xFC90, 0x9F1D, - 0xFC91, 0x9F1E, 0xFC92, 0x9F1F, 0xFC93, 0x9F21, 0xFC94, 0x9F23, 0xFC95, 0x9F24, 0xFC96, 0x9F25, 0xFC97, 0x9F26, 0xFC98, 0x9F27, - 0xFC99, 0x9F28, 0xFC9A, 0x9F29, 0xFC9B, 0x9F2A, 0xFC9C, 0x9F2B, 0xFC9D, 0x9F2D, 0xFC9E, 0x9F2E, 0xFC9F, 0x9F30, 0xFCA0, 0x9F31, - 0xFD40, 0x9F32, 0xFD41, 0x9F33, 0xFD42, 0x9F34, 0xFD43, 0x9F35, 0xFD44, 0x9F36, 0xFD45, 0x9F38, 0xFD46, 0x9F3A, 0xFD47, 0x9F3C, - 0xFD48, 0x9F3F, 0xFD49, 0x9F40, 0xFD4A, 0x9F41, 0xFD4B, 0x9F42, 0xFD4C, 0x9F43, 0xFD4D, 0x9F45, 0xFD4E, 0x9F46, 0xFD4F, 0x9F47, - 0xFD50, 0x9F48, 0xFD51, 0x9F49, 0xFD52, 0x9F4A, 0xFD53, 0x9F4B, 0xFD54, 0x9F4C, 0xFD55, 0x9F4D, 0xFD56, 0x9F4E, 0xFD57, 0x9F4F, - 0xFD58, 0x9F52, 0xFD59, 0x9F53, 0xFD5A, 0x9F54, 0xFD5B, 0x9F55, 0xFD5C, 0x9F56, 0xFD5D, 0x9F57, 0xFD5E, 0x9F58, 0xFD5F, 0x9F59, - 0xFD60, 0x9F5A, 0xFD61, 0x9F5B, 0xFD62, 0x9F5C, 0xFD63, 0x9F5D, 0xFD64, 0x9F5E, 0xFD65, 0x9F5F, 0xFD66, 0x9F60, 0xFD67, 0x9F61, - 0xFD68, 0x9F62, 0xFD69, 0x9F63, 0xFD6A, 0x9F64, 0xFD6B, 0x9F65, 0xFD6C, 0x9F66, 0xFD6D, 0x9F67, 0xFD6E, 0x9F68, 0xFD6F, 0x9F69, - 0xFD70, 0x9F6A, 0xFD71, 0x9F6B, 0xFD72, 0x9F6C, 0xFD73, 0x9F6D, 0xFD74, 0x9F6E, 0xFD75, 0x9F6F, 0xFD76, 0x9F70, 0xFD77, 0x9F71, - 0xFD78, 0x9F72, 0xFD79, 0x9F73, 0xFD7A, 0x9F74, 0xFD7B, 0x9F75, 0xFD7C, 0x9F76, 0xFD7D, 0x9F77, 0xFD7E, 0x9F78, 0xFD80, 0x9F79, - 0xFD81, 0x9F7A, 0xFD82, 0x9F7B, 0xFD83, 0x9F7C, 0xFD84, 0x9F7D, 0xFD85, 0x9F7E, 0xFD86, 0x9F81, 0xFD87, 0x9F82, 0xFD88, 0x9F8D, - 0xFD89, 0x9F8E, 0xFD8A, 0x9F8F, 0xFD8B, 0x9F90, 0xFD8C, 0x9F91, 0xFD8D, 0x9F92, 0xFD8E, 0x9F93, 0xFD8F, 0x9F94, 0xFD90, 0x9F95, - 0xFD91, 0x9F96, 0xFD92, 0x9F97, 0xFD93, 0x9F98, 0xFD94, 0x9F9C, 0xFD95, 0x9F9D, 0xFD96, 0x9F9E, 0xFD97, 0x9FA1, 0xFD98, 0x9FA2, - 0xFD99, 0x9FA3, 0xFD9A, 0x9FA4, 0xFD9B, 0x9FA5, 0xFD9C, 0xF92C, 0xFD9D, 0xF979, 0xFD9E, 0xF995, 0xFD9F, 0xF9E7, 0xFDA0, 0xF9F1, - 0xFE40, 0xFA0C, 0xFE41, 0xFA0D, 0xFE42, 0xFA0E, 0xFE43, 0xFA0F, 0xFE44, 0xFA11, 0xFE45, 0xFA13, 0xFE46, 0xFA14, 0xFE47, 0xFA18, - 0xFE48, 0xFA1F, 0xFE49, 0xFA20, 0xFE4A, 0xFA21, 0xFE4B, 0xFA23, 0xFE4C, 0xFA24, 0xFE4D, 0xFA27, 0xFE4E, 0xFA28, 0xFE4F, 0xFA29, - 0, 0 -}; -#endif - -#if FF_CODE_PAGE == 949 || FF_CODE_PAGE == 0 /* Korean */ -static const WCHAR uni2oem949[] = { /* Unicode --> Korean pairs */ - 0x00A1, 0xA2AE, 0x00A4, 0xA2B4, 0x00A7, 0xA1D7, 0x00A8, 0xA1A7, 0x00AA, 0xA8A3, 0x00AD, 0xA1A9, 0x00AE, 0xA2E7, 0x00B0, 0xA1C6, - 0x00B1, 0xA1BE, 0x00B2, 0xA9F7, 0x00B3, 0xA9F8, 0x00B4, 0xA2A5, 0x00B6, 0xA2D2, 0x00B7, 0xA1A4, 0x00B8, 0xA2AC, 0x00B9, 0xA9F6, - 0x00BA, 0xA8AC, 0x00BC, 0xA8F9, 0x00BD, 0xA8F6, 0x00BE, 0xA8FA, 0x00BF, 0xA2AF, 0x00C6, 0xA8A1, 0x00D0, 0xA8A2, 0x00D7, 0xA1BF, - 0x00D8, 0xA8AA, 0x00DE, 0xA8AD, 0x00DF, 0xA9AC, 0x00E6, 0xA9A1, 0x00F0, 0xA9A3, 0x00F7, 0xA1C0, 0x00F8, 0xA9AA, 0x00FE, 0xA9AD, - 0x0111, 0xA9A2, 0x0126, 0xA8A4, 0x0127, 0xA9A4, 0x0131, 0xA9A5, 0x0132, 0xA8A6, 0x0133, 0xA9A6, 0x0138, 0xA9A7, 0x013F, 0xA8A8, - 0x0140, 0xA9A8, 0x0141, 0xA8A9, 0x0142, 0xA9A9, 0x0149, 0xA9B0, 0x014A, 0xA8AF, 0x014B, 0xA9AF, 0x0152, 0xA8AB, 0x0153, 0xA9AB, - 0x0166, 0xA8AE, 0x0167, 0xA9AE, 0x02C7, 0xA2A7, 0x02D0, 0xA2B0, 0x02D8, 0xA2A8, 0x02D9, 0xA2AB, 0x02DA, 0xA2AA, 0x02DB, 0xA2AD, - 0x02DD, 0xA2A9, 0x0391, 0xA5C1, 0x0392, 0xA5C2, 0x0393, 0xA5C3, 0x0394, 0xA5C4, 0x0395, 0xA5C5, 0x0396, 0xA5C6, 0x0397, 0xA5C7, - 0x0398, 0xA5C8, 0x0399, 0xA5C9, 0x039A, 0xA5CA, 0x039B, 0xA5CB, 0x039C, 0xA5CC, 0x039D, 0xA5CD, 0x039E, 0xA5CE, 0x039F, 0xA5CF, - 0x03A0, 0xA5D0, 0x03A1, 0xA5D1, 0x03A3, 0xA5D2, 0x03A4, 0xA5D3, 0x03A5, 0xA5D4, 0x03A6, 0xA5D5, 0x03A7, 0xA5D6, 0x03A8, 0xA5D7, - 0x03A9, 0xA5D8, 0x03B1, 0xA5E1, 0x03B2, 0xA5E2, 0x03B3, 0xA5E3, 0x03B4, 0xA5E4, 0x03B5, 0xA5E5, 0x03B6, 0xA5E6, 0x03B7, 0xA5E7, - 0x03B8, 0xA5E8, 0x03B9, 0xA5E9, 0x03BA, 0xA5EA, 0x03BB, 0xA5EB, 0x03BC, 0xA5EC, 0x03BD, 0xA5ED, 0x03BE, 0xA5EE, 0x03BF, 0xA5EF, - 0x03C0, 0xA5F0, 0x03C1, 0xA5F1, 0x03C3, 0xA5F2, 0x03C4, 0xA5F3, 0x03C5, 0xA5F4, 0x03C6, 0xA5F5, 0x03C7, 0xA5F6, 0x03C8, 0xA5F7, - 0x03C9, 0xA5F8, 0x0401, 0xACA7, 0x0410, 0xACA1, 0x0411, 0xACA2, 0x0412, 0xACA3, 0x0413, 0xACA4, 0x0414, 0xACA5, 0x0415, 0xACA6, - 0x0416, 0xACA8, 0x0417, 0xACA9, 0x0418, 0xACAA, 0x0419, 0xACAB, 0x041A, 0xACAC, 0x041B, 0xACAD, 0x041C, 0xACAE, 0x041D, 0xACAF, - 0x041E, 0xACB0, 0x041F, 0xACB1, 0x0420, 0xACB2, 0x0421, 0xACB3, 0x0422, 0xACB4, 0x0423, 0xACB5, 0x0424, 0xACB6, 0x0425, 0xACB7, - 0x0426, 0xACB8, 0x0427, 0xACB9, 0x0428, 0xACBA, 0x0429, 0xACBB, 0x042A, 0xACBC, 0x042B, 0xACBD, 0x042C, 0xACBE, 0x042D, 0xACBF, - 0x042E, 0xACC0, 0x042F, 0xACC1, 0x0430, 0xACD1, 0x0431, 0xACD2, 0x0432, 0xACD3, 0x0433, 0xACD4, 0x0434, 0xACD5, 0x0435, 0xACD6, - 0x0436, 0xACD8, 0x0437, 0xACD9, 0x0438, 0xACDA, 0x0439, 0xACDB, 0x043A, 0xACDC, 0x043B, 0xACDD, 0x043C, 0xACDE, 0x043D, 0xACDF, - 0x043E, 0xACE0, 0x043F, 0xACE1, 0x0440, 0xACE2, 0x0441, 0xACE3, 0x0442, 0xACE4, 0x0443, 0xACE5, 0x0444, 0xACE6, 0x0445, 0xACE7, - 0x0446, 0xACE8, 0x0447, 0xACE9, 0x0448, 0xACEA, 0x0449, 0xACEB, 0x044A, 0xACEC, 0x044B, 0xACED, 0x044C, 0xACEE, 0x044D, 0xACEF, - 0x044E, 0xACF0, 0x044F, 0xACF1, 0x0451, 0xACD7, 0x2015, 0xA1AA, 0x2018, 0xA1AE, 0x2019, 0xA1AF, 0x201C, 0xA1B0, 0x201D, 0xA1B1, - 0x2020, 0xA2D3, 0x2021, 0xA2D4, 0x2025, 0xA1A5, 0x2026, 0xA1A6, 0x2030, 0xA2B6, 0x2032, 0xA1C7, 0x2033, 0xA1C8, 0x203B, 0xA1D8, - 0x2074, 0xA9F9, 0x207F, 0xA9FA, 0x2081, 0xA9FB, 0x2082, 0xA9FC, 0x2083, 0xA9FD, 0x2084, 0xA9FE, 0x20AC, 0xA2E6, 0x2103, 0xA1C9, - 0x2109, 0xA2B5, 0x2113, 0xA7A4, 0x2116, 0xA2E0, 0x2121, 0xA2E5, 0x2122, 0xA2E2, 0x2126, 0xA7D9, 0x212B, 0xA1CA, 0x2153, 0xA8F7, - 0x2154, 0xA8F8, 0x215B, 0xA8FB, 0x215C, 0xA8FC, 0x215D, 0xA8FD, 0x215E, 0xA8FE, 0x2160, 0xA5B0, 0x2161, 0xA5B1, 0x2162, 0xA5B2, - 0x2163, 0xA5B3, 0x2164, 0xA5B4, 0x2165, 0xA5B5, 0x2166, 0xA5B6, 0x2167, 0xA5B7, 0x2168, 0xA5B8, 0x2169, 0xA5B9, 0x2170, 0xA5A1, - 0x2171, 0xA5A2, 0x2172, 0xA5A3, 0x2173, 0xA5A4, 0x2174, 0xA5A5, 0x2175, 0xA5A6, 0x2176, 0xA5A7, 0x2177, 0xA5A8, 0x2178, 0xA5A9, - 0x2179, 0xA5AA, 0x2190, 0xA1E7, 0x2191, 0xA1E8, 0x2192, 0xA1E6, 0x2193, 0xA1E9, 0x2194, 0xA1EA, 0x2195, 0xA2D5, 0x2196, 0xA2D8, - 0x2197, 0xA2D6, 0x2198, 0xA2D9, 0x2199, 0xA2D7, 0x21D2, 0xA2A1, 0x21D4, 0xA2A2, 0x2200, 0xA2A3, 0x2202, 0xA1D3, 0x2203, 0xA2A4, - 0x2207, 0xA1D4, 0x2208, 0xA1F4, 0x220B, 0xA1F5, 0x220F, 0xA2B3, 0x2211, 0xA2B2, 0x221A, 0xA1EE, 0x221D, 0xA1F0, 0x221E, 0xA1C4, - 0x2220, 0xA1D0, 0x2225, 0xA1AB, 0x2227, 0xA1FC, 0x2228, 0xA1FD, 0x2229, 0xA1FB, 0x222A, 0xA1FA, 0x222B, 0xA1F2, 0x222C, 0xA1F3, - 0x222E, 0xA2B1, 0x2234, 0xA1C5, 0x2235, 0xA1F1, 0x223C, 0xA1AD, 0x223D, 0xA1EF, 0x2252, 0xA1D6, 0x2260, 0xA1C1, 0x2261, 0xA1D5, - 0x2264, 0xA1C2, 0x2265, 0xA1C3, 0x226A, 0xA1EC, 0x226B, 0xA1ED, 0x2282, 0xA1F8, 0x2283, 0xA1F9, 0x2286, 0xA1F6, 0x2287, 0xA1F7, - 0x2299, 0xA2C1, 0x22A5, 0xA1D1, 0x2312, 0xA1D2, 0x2460, 0xA8E7, 0x2461, 0xA8E8, 0x2462, 0xA8E9, 0x2463, 0xA8EA, 0x2464, 0xA8EB, - 0x2465, 0xA8EC, 0x2466, 0xA8ED, 0x2467, 0xA8EE, 0x2468, 0xA8EF, 0x2469, 0xA8F0, 0x246A, 0xA8F1, 0x246B, 0xA8F2, 0x246C, 0xA8F3, - 0x246D, 0xA8F4, 0x246E, 0xA8F5, 0x2474, 0xA9E7, 0x2475, 0xA9E8, 0x2476, 0xA9E9, 0x2477, 0xA9EA, 0x2478, 0xA9EB, 0x2479, 0xA9EC, - 0x247A, 0xA9ED, 0x247B, 0xA9EE, 0x247C, 0xA9EF, 0x247D, 0xA9F0, 0x247E, 0xA9F1, 0x247F, 0xA9F2, 0x2480, 0xA9F3, 0x2481, 0xA9F4, - 0x2482, 0xA9F5, 0x249C, 0xA9CD, 0x249D, 0xA9CE, 0x249E, 0xA9CF, 0x249F, 0xA9D0, 0x24A0, 0xA9D1, 0x24A1, 0xA9D2, 0x24A2, 0xA9D3, - 0x24A3, 0xA9D4, 0x24A4, 0xA9D5, 0x24A5, 0xA9D6, 0x24A6, 0xA9D7, 0x24A7, 0xA9D8, 0x24A8, 0xA9D9, 0x24A9, 0xA9DA, 0x24AA, 0xA9DB, - 0x24AB, 0xA9DC, 0x24AC, 0xA9DD, 0x24AD, 0xA9DE, 0x24AE, 0xA9DF, 0x24AF, 0xA9E0, 0x24B0, 0xA9E1, 0x24B1, 0xA9E2, 0x24B2, 0xA9E3, - 0x24B3, 0xA9E4, 0x24B4, 0xA9E5, 0x24B5, 0xA9E6, 0x24D0, 0xA8CD, 0x24D1, 0xA8CE, 0x24D2, 0xA8CF, 0x24D3, 0xA8D0, 0x24D4, 0xA8D1, - 0x24D5, 0xA8D2, 0x24D6, 0xA8D3, 0x24D7, 0xA8D4, 0x24D8, 0xA8D5, 0x24D9, 0xA8D6, 0x24DA, 0xA8D7, 0x24DB, 0xA8D8, 0x24DC, 0xA8D9, - 0x24DD, 0xA8DA, 0x24DE, 0xA8DB, 0x24DF, 0xA8DC, 0x24E0, 0xA8DD, 0x24E1, 0xA8DE, 0x24E2, 0xA8DF, 0x24E3, 0xA8E0, 0x24E4, 0xA8E1, - 0x24E5, 0xA8E2, 0x24E6, 0xA8E3, 0x24E7, 0xA8E4, 0x24E8, 0xA8E5, 0x24E9, 0xA8E6, 0x2500, 0xA6A1, 0x2501, 0xA6AC, 0x2502, 0xA6A2, - 0x2503, 0xA6AD, 0x250C, 0xA6A3, 0x250D, 0xA6C8, 0x250E, 0xA6C7, 0x250F, 0xA6AE, 0x2510, 0xA6A4, 0x2511, 0xA6C2, 0x2512, 0xA6C1, - 0x2513, 0xA6AF, 0x2514, 0xA6A6, 0x2515, 0xA6C6, 0x2516, 0xA6C5, 0x2517, 0xA6B1, 0x2518, 0xA6A5, 0x2519, 0xA6C4, 0x251A, 0xA6C3, - 0x251B, 0xA6B0, 0x251C, 0xA6A7, 0x251D, 0xA6BC, 0x251E, 0xA6C9, 0x251F, 0xA6CA, 0x2520, 0xA6B7, 0x2521, 0xA6CB, 0x2522, 0xA6CC, - 0x2523, 0xA6B2, 0x2524, 0xA6A9, 0x2525, 0xA6BE, 0x2526, 0xA6CD, 0x2527, 0xA6CE, 0x2528, 0xA6B9, 0x2529, 0xA6CF, 0x252A, 0xA6D0, - 0x252B, 0xA6B4, 0x252C, 0xA6A8, 0x252D, 0xA6D1, 0x252E, 0xA6D2, 0x252F, 0xA6B8, 0x2530, 0xA6BD, 0x2531, 0xA6D3, 0x2532, 0xA6D4, - 0x2533, 0xA6B3, 0x2534, 0xA6AA, 0x2535, 0xA6D5, 0x2536, 0xA6D6, 0x2537, 0xA6BA, 0x2538, 0xA6BF, 0x2539, 0xA6D7, 0x253A, 0xA6D8, - 0x253B, 0xA6B5, 0x253C, 0xA6AB, 0x253D, 0xA6D9, 0x253E, 0xA6DA, 0x253F, 0xA6BB, 0x2540, 0xA6DB, 0x2541, 0xA6DC, 0x2542, 0xA6C0, - 0x2543, 0xA6DD, 0x2544, 0xA6DE, 0x2545, 0xA6DF, 0x2546, 0xA6E0, 0x2547, 0xA6E1, 0x2548, 0xA6E2, 0x2549, 0xA6E3, 0x254A, 0xA6E4, - 0x254B, 0xA6B6, 0x2592, 0xA2C6, 0x25A0, 0xA1E1, 0x25A1, 0xA1E0, 0x25A3, 0xA2C3, 0x25A4, 0xA2C7, 0x25A5, 0xA2C8, 0x25A6, 0xA2CB, - 0x25A7, 0xA2CA, 0x25A8, 0xA2C9, 0x25A9, 0xA2CC, 0x25B2, 0xA1E3, 0x25B3, 0xA1E2, 0x25B6, 0xA2BA, 0x25B7, 0xA2B9, 0x25BC, 0xA1E5, - 0x25BD, 0xA1E4, 0x25C0, 0xA2B8, 0x25C1, 0xA2B7, 0x25C6, 0xA1DF, 0x25C7, 0xA1DE, 0x25C8, 0xA2C2, 0x25CB, 0xA1DB, 0x25CE, 0xA1DD, - 0x25CF, 0xA1DC, 0x25D0, 0xA2C4, 0x25D1, 0xA2C5, 0x2605, 0xA1DA, 0x2606, 0xA1D9, 0x260E, 0xA2CF, 0x260F, 0xA2CE, 0x261C, 0xA2D0, - 0x261E, 0xA2D1, 0x2640, 0xA1CF, 0x2642, 0xA1CE, 0x2660, 0xA2BC, 0x2661, 0xA2BD, 0x2663, 0xA2C0, 0x2664, 0xA2BB, 0x2665, 0xA2BE, - 0x2667, 0xA2BF, 0x2668, 0xA2CD, 0x2669, 0xA2DB, 0x266A, 0xA2DC, 0x266C, 0xA2DD, 0x266D, 0xA2DA, 0x3000, 0xA1A1, 0x3001, 0xA1A2, - 0x3002, 0xA1A3, 0x3003, 0xA1A8, 0x3008, 0xA1B4, 0x3009, 0xA1B5, 0x300A, 0xA1B6, 0x300B, 0xA1B7, 0x300C, 0xA1B8, 0x300D, 0xA1B9, - 0x300E, 0xA1BA, 0x300F, 0xA1BB, 0x3010, 0xA1BC, 0x3011, 0xA1BD, 0x3013, 0xA1EB, 0x3014, 0xA1B2, 0x3015, 0xA1B3, 0x3041, 0xAAA1, - 0x3042, 0xAAA2, 0x3043, 0xAAA3, 0x3044, 0xAAA4, 0x3045, 0xAAA5, 0x3046, 0xAAA6, 0x3047, 0xAAA7, 0x3048, 0xAAA8, 0x3049, 0xAAA9, - 0x304A, 0xAAAA, 0x304B, 0xAAAB, 0x304C, 0xAAAC, 0x304D, 0xAAAD, 0x304E, 0xAAAE, 0x304F, 0xAAAF, 0x3050, 0xAAB0, 0x3051, 0xAAB1, - 0x3052, 0xAAB2, 0x3053, 0xAAB3, 0x3054, 0xAAB4, 0x3055, 0xAAB5, 0x3056, 0xAAB6, 0x3057, 0xAAB7, 0x3058, 0xAAB8, 0x3059, 0xAAB9, - 0x305A, 0xAABA, 0x305B, 0xAABB, 0x305C, 0xAABC, 0x305D, 0xAABD, 0x305E, 0xAABE, 0x305F, 0xAABF, 0x3060, 0xAAC0, 0x3061, 0xAAC1, - 0x3062, 0xAAC2, 0x3063, 0xAAC3, 0x3064, 0xAAC4, 0x3065, 0xAAC5, 0x3066, 0xAAC6, 0x3067, 0xAAC7, 0x3068, 0xAAC8, 0x3069, 0xAAC9, - 0x306A, 0xAACA, 0x306B, 0xAACB, 0x306C, 0xAACC, 0x306D, 0xAACD, 0x306E, 0xAACE, 0x306F, 0xAACF, 0x3070, 0xAAD0, 0x3071, 0xAAD1, - 0x3072, 0xAAD2, 0x3073, 0xAAD3, 0x3074, 0xAAD4, 0x3075, 0xAAD5, 0x3076, 0xAAD6, 0x3077, 0xAAD7, 0x3078, 0xAAD8, 0x3079, 0xAAD9, - 0x307A, 0xAADA, 0x307B, 0xAADB, 0x307C, 0xAADC, 0x307D, 0xAADD, 0x307E, 0xAADE, 0x307F, 0xAADF, 0x3080, 0xAAE0, 0x3081, 0xAAE1, - 0x3082, 0xAAE2, 0x3083, 0xAAE3, 0x3084, 0xAAE4, 0x3085, 0xAAE5, 0x3086, 0xAAE6, 0x3087, 0xAAE7, 0x3088, 0xAAE8, 0x3089, 0xAAE9, - 0x308A, 0xAAEA, 0x308B, 0xAAEB, 0x308C, 0xAAEC, 0x308D, 0xAAED, 0x308E, 0xAAEE, 0x308F, 0xAAEF, 0x3090, 0xAAF0, 0x3091, 0xAAF1, - 0x3092, 0xAAF2, 0x3093, 0xAAF3, 0x30A1, 0xABA1, 0x30A2, 0xABA2, 0x30A3, 0xABA3, 0x30A4, 0xABA4, 0x30A5, 0xABA5, 0x30A6, 0xABA6, - 0x30A7, 0xABA7, 0x30A8, 0xABA8, 0x30A9, 0xABA9, 0x30AA, 0xABAA, 0x30AB, 0xABAB, 0x30AC, 0xABAC, 0x30AD, 0xABAD, 0x30AE, 0xABAE, - 0x30AF, 0xABAF, 0x30B0, 0xABB0, 0x30B1, 0xABB1, 0x30B2, 0xABB2, 0x30B3, 0xABB3, 0x30B4, 0xABB4, 0x30B5, 0xABB5, 0x30B6, 0xABB6, - 0x30B7, 0xABB7, 0x30B8, 0xABB8, 0x30B9, 0xABB9, 0x30BA, 0xABBA, 0x30BB, 0xABBB, 0x30BC, 0xABBC, 0x30BD, 0xABBD, 0x30BE, 0xABBE, - 0x30BF, 0xABBF, 0x30C0, 0xABC0, 0x30C1, 0xABC1, 0x30C2, 0xABC2, 0x30C3, 0xABC3, 0x30C4, 0xABC4, 0x30C5, 0xABC5, 0x30C6, 0xABC6, - 0x30C7, 0xABC7, 0x30C8, 0xABC8, 0x30C9, 0xABC9, 0x30CA, 0xABCA, 0x30CB, 0xABCB, 0x30CC, 0xABCC, 0x30CD, 0xABCD, 0x30CE, 0xABCE, - 0x30CF, 0xABCF, 0x30D0, 0xABD0, 0x30D1, 0xABD1, 0x30D2, 0xABD2, 0x30D3, 0xABD3, 0x30D4, 0xABD4, 0x30D5, 0xABD5, 0x30D6, 0xABD6, - 0x30D7, 0xABD7, 0x30D8, 0xABD8, 0x30D9, 0xABD9, 0x30DA, 0xABDA, 0x30DB, 0xABDB, 0x30DC, 0xABDC, 0x30DD, 0xABDD, 0x30DE, 0xABDE, - 0x30DF, 0xABDF, 0x30E0, 0xABE0, 0x30E1, 0xABE1, 0x30E2, 0xABE2, 0x30E3, 0xABE3, 0x30E4, 0xABE4, 0x30E5, 0xABE5, 0x30E6, 0xABE6, - 0x30E7, 0xABE7, 0x30E8, 0xABE8, 0x30E9, 0xABE9, 0x30EA, 0xABEA, 0x30EB, 0xABEB, 0x30EC, 0xABEC, 0x30ED, 0xABED, 0x30EE, 0xABEE, - 0x30EF, 0xABEF, 0x30F0, 0xABF0, 0x30F1, 0xABF1, 0x30F2, 0xABF2, 0x30F3, 0xABF3, 0x30F4, 0xABF4, 0x30F5, 0xABF5, 0x30F6, 0xABF6, - 0x3131, 0xA4A1, 0x3132, 0xA4A2, 0x3133, 0xA4A3, 0x3134, 0xA4A4, 0x3135, 0xA4A5, 0x3136, 0xA4A6, 0x3137, 0xA4A7, 0x3138, 0xA4A8, - 0x3139, 0xA4A9, 0x313A, 0xA4AA, 0x313B, 0xA4AB, 0x313C, 0xA4AC, 0x313D, 0xA4AD, 0x313E, 0xA4AE, 0x313F, 0xA4AF, 0x3140, 0xA4B0, - 0x3141, 0xA4B1, 0x3142, 0xA4B2, 0x3143, 0xA4B3, 0x3144, 0xA4B4, 0x3145, 0xA4B5, 0x3146, 0xA4B6, 0x3147, 0xA4B7, 0x3148, 0xA4B8, - 0x3149, 0xA4B9, 0x314A, 0xA4BA, 0x314B, 0xA4BB, 0x314C, 0xA4BC, 0x314D, 0xA4BD, 0x314E, 0xA4BE, 0x314F, 0xA4BF, 0x3150, 0xA4C0, - 0x3151, 0xA4C1, 0x3152, 0xA4C2, 0x3153, 0xA4C3, 0x3154, 0xA4C4, 0x3155, 0xA4C5, 0x3156, 0xA4C6, 0x3157, 0xA4C7, 0x3158, 0xA4C8, - 0x3159, 0xA4C9, 0x315A, 0xA4CA, 0x315B, 0xA4CB, 0x315C, 0xA4CC, 0x315D, 0xA4CD, 0x315E, 0xA4CE, 0x315F, 0xA4CF, 0x3160, 0xA4D0, - 0x3161, 0xA4D1, 0x3162, 0xA4D2, 0x3163, 0xA4D3, 0x3164, 0xA4D4, 0x3165, 0xA4D5, 0x3166, 0xA4D6, 0x3167, 0xA4D7, 0x3168, 0xA4D8, - 0x3169, 0xA4D9, 0x316A, 0xA4DA, 0x316B, 0xA4DB, 0x316C, 0xA4DC, 0x316D, 0xA4DD, 0x316E, 0xA4DE, 0x316F, 0xA4DF, 0x3170, 0xA4E0, - 0x3171, 0xA4E1, 0x3172, 0xA4E2, 0x3173, 0xA4E3, 0x3174, 0xA4E4, 0x3175, 0xA4E5, 0x3176, 0xA4E6, 0x3177, 0xA4E7, 0x3178, 0xA4E8, - 0x3179, 0xA4E9, 0x317A, 0xA4EA, 0x317B, 0xA4EB, 0x317C, 0xA4EC, 0x317D, 0xA4ED, 0x317E, 0xA4EE, 0x317F, 0xA4EF, 0x3180, 0xA4F0, - 0x3181, 0xA4F1, 0x3182, 0xA4F2, 0x3183, 0xA4F3, 0x3184, 0xA4F4, 0x3185, 0xA4F5, 0x3186, 0xA4F6, 0x3187, 0xA4F7, 0x3188, 0xA4F8, - 0x3189, 0xA4F9, 0x318A, 0xA4FA, 0x318B, 0xA4FB, 0x318C, 0xA4FC, 0x318D, 0xA4FD, 0x318E, 0xA4FE, 0x3200, 0xA9B1, 0x3201, 0xA9B2, - 0x3202, 0xA9B3, 0x3203, 0xA9B4, 0x3204, 0xA9B5, 0x3205, 0xA9B6, 0x3206, 0xA9B7, 0x3207, 0xA9B8, 0x3208, 0xA9B9, 0x3209, 0xA9BA, - 0x320A, 0xA9BB, 0x320B, 0xA9BC, 0x320C, 0xA9BD, 0x320D, 0xA9BE, 0x320E, 0xA9BF, 0x320F, 0xA9C0, 0x3210, 0xA9C1, 0x3211, 0xA9C2, - 0x3212, 0xA9C3, 0x3213, 0xA9C4, 0x3214, 0xA9C5, 0x3215, 0xA9C6, 0x3216, 0xA9C7, 0x3217, 0xA9C8, 0x3218, 0xA9C9, 0x3219, 0xA9CA, - 0x321A, 0xA9CB, 0x321B, 0xA9CC, 0x321C, 0xA2DF, 0x3260, 0xA8B1, 0x3261, 0xA8B2, 0x3262, 0xA8B3, 0x3263, 0xA8B4, 0x3264, 0xA8B5, - 0x3265, 0xA8B6, 0x3266, 0xA8B7, 0x3267, 0xA8B8, 0x3268, 0xA8B9, 0x3269, 0xA8BA, 0x326A, 0xA8BB, 0x326B, 0xA8BC, 0x326C, 0xA8BD, - 0x326D, 0xA8BE, 0x326E, 0xA8BF, 0x326F, 0xA8C0, 0x3270, 0xA8C1, 0x3271, 0xA8C2, 0x3272, 0xA8C3, 0x3273, 0xA8C4, 0x3274, 0xA8C5, - 0x3275, 0xA8C6, 0x3276, 0xA8C7, 0x3277, 0xA8C8, 0x3278, 0xA8C9, 0x3279, 0xA8CA, 0x327A, 0xA8CB, 0x327B, 0xA8CC, 0x327F, 0xA2DE, - 0x3380, 0xA7C9, 0x3381, 0xA7CA, 0x3382, 0xA7CB, 0x3383, 0xA7CC, 0x3384, 0xA7CD, 0x3388, 0xA7BA, 0x3389, 0xA7BB, 0x338A, 0xA7DC, - 0x338B, 0xA7DD, 0x338C, 0xA7DE, 0x338D, 0xA7B6, 0x338E, 0xA7B7, 0x338F, 0xA7B8, 0x3390, 0xA7D4, 0x3391, 0xA7D5, 0x3392, 0xA7D6, - 0x3393, 0xA7D7, 0x3394, 0xA7D8, 0x3395, 0xA7A1, 0x3396, 0xA7A2, 0x3397, 0xA7A3, 0x3398, 0xA7A5, 0x3399, 0xA7AB, 0x339A, 0xA7AC, - 0x339B, 0xA7AD, 0x339C, 0xA7AE, 0x339D, 0xA7AF, 0x339E, 0xA7B0, 0x339F, 0xA7B1, 0x33A0, 0xA7B2, 0x33A1, 0xA7B3, 0x33A2, 0xA7B4, - 0x33A3, 0xA7A7, 0x33A4, 0xA7A8, 0x33A5, 0xA7A9, 0x33A6, 0xA7AA, 0x33A7, 0xA7BD, 0x33A8, 0xA7BE, 0x33A9, 0xA7E5, 0x33AA, 0xA7E6, - 0x33AB, 0xA7E7, 0x33AC, 0xA7E8, 0x33AD, 0xA7E1, 0x33AE, 0xA7E2, 0x33AF, 0xA7E3, 0x33B0, 0xA7BF, 0x33B1, 0xA7C0, 0x33B2, 0xA7C1, - 0x33B3, 0xA7C2, 0x33B4, 0xA7C3, 0x33B5, 0xA7C4, 0x33B6, 0xA7C5, 0x33B7, 0xA7C6, 0x33B8, 0xA7C7, 0x33B9, 0xA7C8, 0x33BA, 0xA7CE, - 0x33BB, 0xA7CF, 0x33BC, 0xA7D0, 0x33BD, 0xA7D1, 0x33BE, 0xA7D2, 0x33BF, 0xA7D3, 0x33C0, 0xA7DA, 0x33C1, 0xA7DB, 0x33C2, 0xA2E3, - 0x33C3, 0xA7EC, 0x33C4, 0xA7A6, 0x33C5, 0xA7E0, 0x33C6, 0xA7EF, 0x33C7, 0xA2E1, 0x33C8, 0xA7BC, 0x33C9, 0xA7ED, 0x33CA, 0xA7B5, - 0x33CF, 0xA7B9, 0x33D0, 0xA7EA, 0x33D3, 0xA7EB, 0x33D6, 0xA7DF, 0x33D8, 0xA2E4, 0x33DB, 0xA7E4, 0x33DC, 0xA7EE, 0x33DD, 0xA7E9, - 0x4E00, 0xECE9, 0x4E01, 0xEFCB, 0x4E03, 0xF6D2, 0x4E07, 0xD8B2, 0x4E08, 0xEDDB, 0x4E09, 0xDFB2, 0x4E0A, 0xDFBE, 0x4E0B, 0xF9BB, - 0x4E0D, 0xDCF4, 0x4E11, 0xF5E4, 0x4E14, 0xF3A6, 0x4E15, 0xDDE0, 0x4E16, 0xE1A6, 0x4E18, 0xCEF8, 0x4E19, 0xDCB0, 0x4E1E, 0xE3AA, - 0x4E2D, 0xF1E9, 0x4E32, 0xCDFA, 0x4E38, 0xFCAF, 0x4E39, 0xD3A1, 0x4E3B, 0xF1AB, 0x4E42, 0xE7D1, 0x4E43, 0xD2AC, 0x4E45, 0xCEF9, - 0x4E4B, 0xF1FD, 0x4E4D, 0xDEBF, 0x4E4E, 0xFBBA, 0x4E4F, 0xF9B9, 0x4E56, 0xCED2, 0x4E58, 0xE3AB, 0x4E59, 0xEBE0, 0x4E5D, 0xCEFA, - 0x4E5E, 0xCBF7, 0x4E5F, 0xE5A5, 0x4E6B, 0xCAE1, 0x4E6D, 0xD4CC, 0x4E73, 0xEAE1, 0x4E76, 0xDCE3, 0x4E77, 0xDFAD, 0x4E7E, 0xCBEB, - 0x4E82, 0xD5AF, 0x4E86, 0xD6F5, 0x4E88, 0xE5F8, 0x4E8B, 0xDEC0, 0x4E8C, 0xECA3, 0x4E8E, 0xE9CD, 0x4E90, 0xEAA7, 0x4E91, 0xE9F6, - 0x4E92, 0xFBBB, 0x4E94, 0xE7E9, 0x4E95, 0xEFCC, 0x4E98, 0xD0E6, 0x4E9B, 0xDEC1, 0x4E9E, 0xE4AC, 0x4EA1, 0xD8CC, 0x4EA2, 0xF9F1, - 0x4EA4, 0xCEDF, 0x4EA5, 0xFAA4, 0x4EA6, 0xE6B2, 0x4EA8, 0xFAFB, 0x4EAB, 0xFABD, 0x4EAC, 0xCCC8, 0x4EAD, 0xEFCD, 0x4EAE, 0xD5D5, - 0x4EB6, 0xD3A2, 0x4EBA, 0xECD1, 0x4EC0, 0xE4A7, 0x4EC1, 0xECD2, 0x4EC4, 0xF6B1, 0x4EC7, 0xCEFB, 0x4ECA, 0xD0D1, 0x4ECB, 0xCBBF, - 0x4ECD, 0xEDA4, 0x4ED4, 0xEDA8, 0x4ED5, 0xDEC2, 0x4ED6, 0xF6E2, 0x4ED7, 0xEDDC, 0x4ED8, 0xDCF5, 0x4ED9, 0xE0B9, 0x4EDD, 0xD4CE, - 0x4EDF, 0xF4B5, 0x4EE3, 0xD3DB, 0x4EE4, 0xD6B5, 0x4EE5, 0xECA4, 0x4EF0, 0xE4E6, 0x4EF2, 0xF1EA, 0x4EF6, 0xCBEC, 0x4EF7, 0xCBC0, - 0x4EFB, 0xECF2, 0x4F01, 0xD0EA, 0x4F09, 0xF9F2, 0x4F0A, 0xECA5, 0x4F0B, 0xD0DF, 0x4F0D, 0xE7EA, 0x4F0E, 0xD0EB, 0x4F0F, 0xDCD1, - 0x4F10, 0xDBE9, 0x4F11, 0xFDCC, 0x4F2F, 0xDBD7, 0x4F34, 0xDAE1, 0x4F36, 0xD6B6, 0x4F38, 0xE3DF, 0x4F3A, 0xDEC3, 0x4F3C, 0xDEC4, - 0x4F3D, 0xCAA1, 0x4F43, 0xEEEC, 0x4F46, 0xD3A3, 0x4F47, 0xEEB7, 0x4F48, 0xF8CF, 0x4F4D, 0xEAC8, 0x4F4E, 0xEEB8, 0x4F4F, 0xF1AC, - 0x4F50, 0xF1A5, 0x4F51, 0xE9CE, 0x4F55, 0xF9BC, 0x4F59, 0xE5F9, 0x4F5A, 0xECEA, 0x4F5B, 0xDDD6, 0x4F5C, 0xEDC2, 0x4F69, 0xF8A5, - 0x4F6F, 0xE5BA, 0x4F70, 0xDBD8, 0x4F73, 0xCAA2, 0x4F76, 0xD1CD, 0x4F7A, 0xEEED, 0x4F7E, 0xECEB, 0x4F7F, 0xDEC5, 0x4F81, 0xE3E0, - 0x4F83, 0xCAC9, 0x4F84, 0xF2E9, 0x4F86, 0xD5CE, 0x4F88, 0xF6B6, 0x4F8A, 0xCEC2, 0x4F8B, 0xD6C7, 0x4F8D, 0xE3B4, 0x4F8F, 0xF1AD, - 0x4F91, 0xEAE2, 0x4F96, 0xD7C2, 0x4F98, 0xF3A7, 0x4F9B, 0xCDEA, 0x4F9D, 0xEBEE, 0x4FAE, 0xD9B2, 0x4FAF, 0xFDA5, 0x4FB5, 0xF6D5, - 0x4FB6, 0xD5E2, 0x4FBF, 0xF8B5, 0x4FC2, 0xCCF5, 0x4FC3, 0xF5B5, 0x4FC4, 0xE4AD, 0x4FC9, 0xE7EB, 0x4FCA, 0xF1D5, 0x4FCE, 0xF0BB, - 0x4FD1, 0xE9B5, 0x4FD3, 0xCCC9, 0x4FD4, 0xFAD5, 0x4FD7, 0xE1D4, 0x4FDA, 0xD7D6, 0x4FDD, 0xDCC1, 0x4FDF, 0xDEC6, 0x4FE0, 0xFAEF, - 0x4FE1, 0xE3E1, 0x4FEE, 0xE1F3, 0x4FEF, 0xDCF6, 0x4FF1, 0xCEFC, 0x4FF3, 0xDBC4, 0x4FF5, 0xF8F1, 0x4FF8, 0xDCE4, 0x4FFA, 0xE5EF, - 0x5002, 0xDCB1, 0x5006, 0xD5D6, 0x5009, 0xF3DA, 0x500B, 0xCBC1, 0x500D, 0xDBC3, 0x5011, 0xD9FA, 0x5012, 0xD3EE, 0x5016, 0xFAB8, - 0x5019, 0xFDA6, 0x501A, 0xEBEF, 0x501C, 0xF4A6, 0x501E, 0xCCCA, 0x501F, 0xF3A8, 0x5021, 0xF3DB, 0x5023, 0xDBA7, 0x5024, 0xF6B7, - 0x5026, 0xCFE6, 0x5027, 0xF0F2, 0x5028, 0xCBDA, 0x502A, 0xE7D2, 0x502B, 0xD7C3, 0x502C, 0xF6F0, 0x502D, 0xE8DE, 0x503B, 0xE5A6, - 0x5043, 0xE5E7, 0x5047, 0xCAA3, 0x5048, 0xCCA7, 0x5049, 0xEAC9, 0x504F, 0xF8B6, 0x5055, 0xFAA5, 0x505A, 0xF1AE, 0x505C, 0xEFCE, - 0x5065, 0xCBED, 0x5074, 0xF6B0, 0x5075, 0xEFCF, 0x5076, 0xE9CF, 0x5078, 0xF7DE, 0x5080, 0xCED3, 0x5085, 0xDCF7, 0x508D, 0xDBA8, - 0x5091, 0xCBF8, 0x5098, 0xDFA1, 0x5099, 0xDDE1, 0x50AC, 0xF5CA, 0x50AD, 0xE9B6, 0x50B2, 0xE7EC, 0x50B3, 0xEEEE, 0x50B5, 0xF3F0, - 0x50B7, 0xDFBF, 0x50BE, 0xCCCB, 0x50C5, 0xD0C1, 0x50C9, 0xF4D2, 0x50CA, 0xE0BA, 0x50CF, 0xDFC0, 0x50D1, 0xCEE0, 0x50D5, 0xDCD2, - 0x50D6, 0xFDEA, 0x50DA, 0xD6F6, 0x50DE, 0xEACA, 0x50E5, 0xE8E9, 0x50E7, 0xE3AC, 0x50ED, 0xF3D0, 0x50F9, 0xCAA4, 0x50FB, 0xDBF8, - 0x50FF, 0xDEC7, 0x5100, 0xEBF0, 0x5101, 0xF1D6, 0x5104, 0xE5E2, 0x5106, 0xCCCC, 0x5109, 0xCBFB, 0x5112, 0xEAE3, 0x511F, 0xDFC1, - 0x5121, 0xD6ED, 0x512A, 0xE9D0, 0x5132, 0xEEB9, 0x5137, 0xD5E3, 0x513A, 0xD1D3, 0x513C, 0xE5F0, 0x5140, 0xE8B4, 0x5141, 0xEBC3, - 0x5143, 0xEAAA, 0x5144, 0xFAFC, 0x5145, 0xF5F6, 0x5146, 0xF0BC, 0x5147, 0xFDD4, 0x5148, 0xE0BB, 0x5149, 0xCEC3, 0x514B, 0xD0BA, - 0x514C, 0xF7BA, 0x514D, 0xD8F3, 0x514E, 0xF7CD, 0x5152, 0xE4AE, 0x515C, 0xD4DF, 0x5162, 0xD0E7, 0x5165, 0xECFD, 0x5167, 0xD2AE, - 0x5168, 0xEEEF, 0x5169, 0xD5D7, 0x516A, 0xEAE4, 0x516B, 0xF8A2, 0x516C, 0xCDEB, 0x516D, 0xD7BF, 0x516E, 0xFBB1, 0x5171, 0xCDEC, - 0x5175, 0xDCB2, 0x5176, 0xD0EC, 0x5177, 0xCEFD, 0x5178, 0xEEF0, 0x517C, 0xCCC2, 0x5180, 0xD0ED, 0x5186, 0xE5F7, 0x518A, 0xF3FC, - 0x518D, 0xEEA2, 0x5192, 0xD9B3, 0x5195, 0xD8F4, 0x5197, 0xE9B7, 0x51A0, 0xCEAE, 0x51A5, 0xD9A2, 0x51AA, 0xD8F1, 0x51AC, 0xD4CF, - 0x51B6, 0xE5A7, 0x51B7, 0xD5D2, 0x51BD, 0xD6A9, 0x51C4, 0xF4A2, 0x51C6, 0xF1D7, 0x51C9, 0xD5D8, 0x51CB, 0xF0BD, 0x51CC, 0xD7D0, - 0x51CD, 0xD4D0, 0x51DC, 0xD7CF, 0x51DD, 0xEBEA, 0x51DE, 0xFDEB, 0x51E1, 0xDBED, 0x51F0, 0xFCC5, 0x51F1, 0xCBC2, 0x51F6, 0xFDD5, - 0x51F8, 0xF4C8, 0x51F9, 0xE8EA, 0x51FA, 0xF5F3, 0x51FD, 0xF9DE, 0x5200, 0xD3EF, 0x5203, 0xECD3, 0x5206, 0xDDC2, 0x5207, 0xEFB7, - 0x5208, 0xE7D4, 0x520A, 0xCACA, 0x520E, 0xD9FB, 0x5211, 0xFAFD, 0x5217, 0xD6AA, 0x521D, 0xF4F8, 0x5224, 0xF7F7, 0x5225, 0xDCAC, - 0x5229, 0xD7D7, 0x522A, 0xDFA2, 0x522E, 0xCEBE, 0x5230, 0xD3F0, 0x5236, 0xF0A4, 0x5237, 0xE1EC, 0x5238, 0xCFE7, 0x5239, 0xF3CB, - 0x523A, 0xEDA9, 0x523B, 0xCABE, 0x5243, 0xF4EF, 0x5247, 0xF6CE, 0x524A, 0xDEFB, 0x524B, 0xD0BB, 0x524C, 0xD5B7, 0x524D, 0xEEF1, - 0x5254, 0xF4A8, 0x5256, 0xDCF8, 0x525B, 0xCBA7, 0x525D, 0xDACE, 0x5261, 0xE0E6, 0x5269, 0xEDA5, 0x526A, 0xEEF2, 0x526F, 0xDCF9, - 0x5272, 0xF9DC, 0x5275, 0xF3DC, 0x527D, 0xF8F2, 0x527F, 0xF4F9, 0x5283, 0xFCF1, 0x5287, 0xD0BC, 0x5288, 0xDBF9, 0x5289, 0xD7B1, - 0x528D, 0xCBFC, 0x5291, 0xF0A5, 0x5292, 0xCBFD, 0x529B, 0xD5F4, 0x529F, 0xCDED, 0x52A0, 0xCAA5, 0x52A3, 0xD6AB, 0x52A4, 0xD0C2, - 0x52A9, 0xF0BE, 0x52AA, 0xD2BD, 0x52AB, 0xCCA4, 0x52BE, 0xFAB6, 0x52C1, 0xCCCD, 0x52C3, 0xDAFA, 0x52C5, 0xF6CF, 0x52C7, 0xE9B8, - 0x52C9, 0xD8F5, 0x52CD, 0xCCCE, 0x52D2, 0xD7CD, 0x52D5, 0xD4D1, 0x52D6, 0xE9ED, 0x52D8, 0xCAEB, 0x52D9, 0xD9E2, 0x52DB, 0xFDB2, - 0x52DD, 0xE3AD, 0x52DE, 0xD6CC, 0x52DF, 0xD9B4, 0x52E2, 0xE1A7, 0x52E3, 0xEED3, 0x52E4, 0xD0C3, 0x52F3, 0xFDB3, 0x52F5, 0xD5E4, - 0x52F8, 0xCFE8, 0x52FA, 0xEDC3, 0x52FB, 0xD0B2, 0x52FE, 0xCEFE, 0x52FF, 0xDAA8, 0x5305, 0xF8D0, 0x5308, 0xFDD6, 0x530D, 0xF8D1, - 0x530F, 0xF8D2, 0x5310, 0xDCD3, 0x5315, 0xDDE2, 0x5316, 0xFBF9, 0x5317, 0xDDC1, 0x5319, 0xE3B5, 0x5320, 0xEDDD, 0x5321, 0xCEC4, - 0x5323, 0xCBA1, 0x532A, 0xDDE3, 0x532F, 0xFCDD, 0x5339, 0xF9AF, 0x533F, 0xD2FB, 0x5340, 0xCFA1, 0x5341, 0xE4A8, 0x5343, 0xF4B6, - 0x5344, 0xECFE, 0x5347, 0xE3AE, 0x5348, 0xE7ED, 0x5349, 0xFDC1, 0x534A, 0xDAE2, 0x534D, 0xD8B3, 0x5351, 0xDDE4, 0x5352, 0xF0EF, - 0x5353, 0xF6F1, 0x5354, 0xFAF0, 0x5357, 0xD1F5, 0x535A, 0xDACF, 0x535C, 0xDCD4, 0x535E, 0xDCA6, 0x5360, 0xEFBF, 0x5366, 0xCECF, - 0x5368, 0xE0D9, 0x536F, 0xD9D6, 0x5370, 0xECD4, 0x5371, 0xEACB, 0x5374, 0xCABF, 0x5375, 0xD5B0, 0x5377, 0xCFE9, 0x537D, 0xF1ED, - 0x537F, 0xCCCF, 0x5384, 0xE4F8, 0x5393, 0xE4ED, 0x5398, 0xD7D8, 0x539A, 0xFDA7, 0x539F, 0xEAAB, 0x53A0, 0xF6B2, 0x53A5, 0xCFF0, - 0x53A6, 0xF9BD, 0x53AD, 0xE6F4, 0x53BB, 0xCBDB, 0x53C3, 0xF3D1, 0x53C8, 0xE9D1, 0x53C9, 0xF3A9, 0x53CA, 0xD0E0, 0x53CB, 0xE9D2, - 0x53CD, 0xDAE3, 0x53D4, 0xE2D2, 0x53D6, 0xF6A2, 0x53D7, 0xE1F4, 0x53DB, 0xDAE4, 0x53E1, 0xE7D5, 0x53E2, 0xF5BF, 0x53E3, 0xCFA2, - 0x53E4, 0xCDAF, 0x53E5, 0xCFA3, 0x53E9, 0xCDB0, 0x53EA, 0xF1FE, 0x53EB, 0xD0A3, 0x53EC, 0xE1AF, 0x53ED, 0xF8A3, 0x53EF, 0xCAA6, - 0x53F0, 0xF7BB, 0x53F1, 0xF2EA, 0x53F2, 0xDEC8, 0x53F3, 0xE9D3, 0x53F8, 0xDEC9, 0x5403, 0xFDDE, 0x5404, 0xCAC0, 0x5408, 0xF9EA, - 0x5409, 0xD1CE, 0x540A, 0xEED4, 0x540C, 0xD4D2, 0x540D, 0xD9A3, 0x540E, 0xFDA8, 0x540F, 0xD7D9, 0x5410, 0xF7CE, 0x5411, 0xFABE, - 0x541B, 0xCFD6, 0x541D, 0xD7F0, 0x541F, 0xEBE1, 0x5420, 0xF8C5, 0x5426, 0xDCFA, 0x5429, 0xDDC3, 0x542B, 0xF9DF, 0x5433, 0xE7EF, - 0x5438, 0xFDE5, 0x5439, 0xF6A3, 0x543B, 0xD9FC, 0x543C, 0xFDA9, 0x543E, 0xE7EE, 0x5442, 0xD5E5, 0x5448, 0xEFD0, 0x544A, 0xCDB1, - 0x5451, 0xF7A2, 0x5468, 0xF1B2, 0x546A, 0xF1B1, 0x5471, 0xCDB2, 0x5473, 0xDAAB, 0x5475, 0xCAA7, 0x547B, 0xE3E2, 0x547C, 0xFBBC, - 0x547D, 0xD9A4, 0x5480, 0xEEBA, 0x5486, 0xF8D3, 0x548C, 0xFBFA, 0x548E, 0xCFA4, 0x5490, 0xDCFB, 0x54A4, 0xF6E3, 0x54A8, 0xEDAA, - 0x54AB, 0xF2A1, 0x54AC, 0xCEE1, 0x54B3, 0xFAA6, 0x54B8, 0xF9E0, 0x54BD, 0xECD6, 0x54C0, 0xE4EE, 0x54C1, 0xF9A1, 0x54C4, 0xFBEF, - 0x54C8, 0xF9EB, 0x54C9, 0xEEA3, 0x54E1, 0xEAAC, 0x54E5, 0xCAA8, 0x54E8, 0xF4FA, 0x54ED, 0xCDD6, 0x54EE, 0xFCF6, 0x54F2, 0xF4C9, - 0x54FA, 0xF8D4, 0x5504, 0xF8A6, 0x5506, 0xDECA, 0x5507, 0xF2C6, 0x550E, 0xD7DA, 0x5510, 0xD3D0, 0x551C, 0xD8C5, 0x552F, 0xEAE6, - 0x5531, 0xF3DD, 0x5535, 0xE4DA, 0x553E, 0xF6E4, 0x5544, 0xF6F2, 0x5546, 0xDFC2, 0x554F, 0xD9FD, 0x5553, 0xCCF6, 0x5556, 0xD3BA, - 0x555E, 0xE4AF, 0x5563, 0xF9E1, 0x557C, 0xF0A6, 0x5580, 0xCBD3, 0x5584, 0xE0BC, 0x5586, 0xF4CA, 0x5587, 0xD4FA, 0x5589, 0xFDAA, - 0x558A, 0xF9E2, 0x5598, 0xF4B7, 0x5599, 0xFDC2, 0x559A, 0xFCB0, 0x559C, 0xFDEC, 0x559D, 0xCAE2, 0x55A7, 0xFDBD, 0x55A9, 0xEAE7, - 0x55AA, 0xDFC3, 0x55AB, 0xD1D2, 0x55AC, 0xCEE2, 0x55AE, 0xD3A4, 0x55C5, 0xFDAB, 0x55C7, 0xDFE0, 0x55D4, 0xF2C7, 0x55DA, 0xE7F0, - 0x55DC, 0xD0EE, 0x55DF, 0xF3AA, 0x55E3, 0xDECB, 0x55E4, 0xF6B8, 0x55FD, 0xE1F5, 0x55FE, 0xF1B3, 0x5606, 0xF7A3, 0x5609, 0xCAA9, - 0x5614, 0xCFA5, 0x5617, 0xDFC4, 0x562F, 0xE1B0, 0x5632, 0xF0BF, 0x5634, 0xF6A4, 0x5636, 0xE3B6, 0x5653, 0xFAC6, 0x5668, 0xD0EF, - 0x566B, 0xFDED, 0x5674, 0xDDC4, 0x5686, 0xFCF7, 0x56A5, 0xE6BF, 0x56AC, 0xDEAD, 0x56AE, 0xFABF, 0x56B4, 0xE5F1, 0x56BC, 0xEDC4, - 0x56CA, 0xD2A5, 0x56CD, 0xFDEE, 0x56D1, 0xF5B6, 0x56DA, 0xE1F6, 0x56DB, 0xDECC, 0x56DE, 0xFCDE, 0x56E0, 0xECD7, 0x56F0, 0xCDDD, - 0x56F9, 0xD6B7, 0x56FA, 0xCDB3, 0x5703, 0xF8D5, 0x5704, 0xE5D8, 0x5708, 0xCFEA, 0x570B, 0xCFD0, 0x570D, 0xEACC, 0x5712, 0xEAAE, - 0x5713, 0xEAAD, 0x5716, 0xD3F1, 0x5718, 0xD3A5, 0x571F, 0xF7CF, 0x5728, 0xEEA4, 0x572D, 0xD0A4, 0x5730, 0xF2A2, 0x573B, 0xD0F0, - 0x5740, 0xF2A3, 0x5742, 0xF7F8, 0x5747, 0xD0B3, 0x574A, 0xDBA9, 0x574D, 0xD3BB, 0x574E, 0xCAEC, 0x5750, 0xF1A6, 0x5751, 0xCBD5, - 0x5761, 0xF7E7, 0x5764, 0xCDDE, 0x5766, 0xF7A4, 0x576A, 0xF8C0, 0x576E, 0xD3DD, 0x5770, 0xCCD0, 0x5775, 0xCFA6, 0x577C, 0xF6F3, - 0x5782, 0xE1F7, 0x5788, 0xD3DC, 0x578B, 0xFAFE, 0x5793, 0xFAA7, 0x57A0, 0xEBD9, 0x57A2, 0xCFA7, 0x57A3, 0xEAAF, 0x57C3, 0xE4EF, - 0x57C7, 0xE9B9, 0x57C8, 0xF1D8, 0x57CB, 0xD8D8, 0x57CE, 0xE0F2, 0x57DF, 0xE6B4, 0x57E0, 0xDCFC, 0x57F0, 0xF3F1, 0x57F4, 0xE3D0, - 0x57F7, 0xF2FB, 0x57F9, 0xDBC6, 0x57FA, 0xD0F1, 0x57FC, 0xD0F2, 0x5800, 0xCFDC, 0x5802, 0xD3D1, 0x5805, 0xCCB1, 0x5806, 0xF7D8, - 0x5808, 0xCBA8, 0x5809, 0xEBBC, 0x580A, 0xE4BE, 0x581E, 0xF4DC, 0x5821, 0xDCC2, 0x5824, 0xF0A7, 0x5827, 0xE6C0, 0x582A, 0xCAED, - 0x582F, 0xE8EB, 0x5830, 0xE5E8, 0x5831, 0xDCC3, 0x5834, 0xEDDE, 0x5835, 0xD3F2, 0x583A, 0xCCF7, 0x584A, 0xCED4, 0x584B, 0xE7AB, - 0x584F, 0xCBC3, 0x5851, 0xE1B1, 0x5854, 0xF7B2, 0x5857, 0xD3F3, 0x5858, 0xD3D2, 0x585A, 0xF5C0, 0x585E, 0xDFDD, 0x5861, 0xEEF3, - 0x5862, 0xE7F1, 0x5864, 0xFDB4, 0x5875, 0xF2C8, 0x5879, 0xF3D2, 0x587C, 0xEEF4, 0x587E, 0xE2D3, 0x5883, 0xCCD1, 0x5885, 0xDFEA, - 0x5889, 0xE9BA, 0x5893, 0xD9D7, 0x589C, 0xF5CD, 0x589E, 0xF1F2, 0x589F, 0xFAC7, 0x58A8, 0xD9F8, 0x58A9, 0xD4C2, 0x58AE, 0xF6E5, - 0x58B3, 0xDDC5, 0x58BA, 0xE7F2, 0x58BB, 0xEDDF, 0x58BE, 0xCACB, 0x58C1, 0xDBFA, 0x58C5, 0xE8B5, 0x58C7, 0xD3A6, 0x58CE, 0xFDB5, - 0x58D1, 0xF9C9, 0x58D3, 0xE4E2, 0x58D5, 0xFBBD, 0x58D8, 0xD7A4, 0x58D9, 0xCEC5, 0x58DE, 0xCED5, 0x58DF, 0xD6E6, 0x58E4, 0xE5BD, - 0x58EB, 0xDECD, 0x58EC, 0xECF3, 0x58EF, 0xEDE0, 0x58F9, 0xECEC, 0x58FA, 0xFBBE, 0x58FB, 0xDFEB, 0x58FD, 0xE1F8, 0x590F, 0xF9BE, - 0x5914, 0xD0F3, 0x5915, 0xE0AA, 0x5916, 0xE8E2, 0x5919, 0xE2D4, 0x591A, 0xD2FD, 0x591C, 0xE5A8, 0x5922, 0xD9D3, 0x5927, 0xD3DE, - 0x5929, 0xF4B8, 0x592A, 0xF7BC, 0x592B, 0xDCFD, 0x592D, 0xE8EC, 0x592E, 0xE4E7, 0x5931, 0xE3F7, 0x5937, 0xECA8, 0x593E, 0xFAF1, - 0x5944, 0xE5F2, 0x5947, 0xD0F4, 0x5948, 0xD2AF, 0x5949, 0xDCE5, 0x594E, 0xD0A5, 0x594F, 0xF1B4, 0x5950, 0xFCB1, 0x5951, 0xCCF8, - 0x5954, 0xDDC6, 0x5955, 0xFAD1, 0x5957, 0xF7DF, 0x595A, 0xFAA8, 0x5960, 0xEEF5, 0x5962, 0xDECE, 0x5967, 0xE7F3, 0x596A, 0xF7AC, - 0x596B, 0xEBC4, 0x596C, 0xEDE1, 0x596D, 0xE0AB, 0x596E, 0xDDC7, 0x5973, 0xD2B3, 0x5974, 0xD2BF, 0x5978, 0xCACC, 0x597D, 0xFBBF, - 0x5982, 0xE5FD, 0x5983, 0xDDE5, 0x5984, 0xD8CD, 0x598A, 0xECF4, 0x5993, 0xD0F5, 0x5996, 0xE8ED, 0x5997, 0xD0D2, 0x5999, 0xD9D8, - 0x59A5, 0xF6E6, 0x59A8, 0xDBAA, 0x59AC, 0xF7E0, 0x59B9, 0xD8D9, 0x59BB, 0xF4A3, 0x59BE, 0xF4DD, 0x59C3, 0xEFD1, 0x59C6, 0xD9B5, - 0x59C9, 0xEDAB, 0x59CB, 0xE3B7, 0x59D0, 0xEEBB, 0x59D1, 0xCDB4, 0x59D3, 0xE0F3, 0x59D4, 0xEACD, 0x59D9, 0xECF5, 0x59DA, 0xE8EE, - 0x59DC, 0xCBA9, 0x59DD, 0xF1AF, 0x59E6, 0xCACD, 0x59E8, 0xECA9, 0x59EA, 0xF2EB, 0x59EC, 0xFDEF, 0x59EE, 0xF9F3, 0x59F8, 0xE6C1, - 0x59FB, 0xECD8, 0x59FF, 0xEDAC, 0x5A01, 0xEACE, 0x5A03, 0xE8DF, 0x5A11, 0xDECF, 0x5A18, 0xD2A6, 0x5A1B, 0xE7F4, 0x5A1C, 0xD1D6, - 0x5A1F, 0xE6C2, 0x5A20, 0xE3E3, 0x5A25, 0xE4B0, 0x5A29, 0xD8B4, 0x5A36, 0xF6A5, 0x5A3C, 0xF3DE, 0x5A41, 0xD7A5, 0x5A46, 0xF7E8, - 0x5A49, 0xE8C6, 0x5A5A, 0xFBE6, 0x5A62, 0xDDE6, 0x5A66, 0xDCFE, 0x5A92, 0xD8DA, 0x5A9A, 0xDAAC, 0x5A9B, 0xEAB0, 0x5AA4, 0xE3B8, - 0x5AC1, 0xCAAA, 0x5AC2, 0xE1F9, 0x5AC4, 0xEAB1, 0x5AC9, 0xF2EC, 0x5ACC, 0xFAEE, 0x5AE1, 0xEED5, 0x5AE6, 0xF9F4, 0x5AE9, 0xD2EC, - 0x5B05, 0xFBFB, 0x5B09, 0xFDF0, 0x5B0B, 0xE0BD, 0x5B0C, 0xCEE3, 0x5B16, 0xF8C6, 0x5B2A, 0xDEAE, 0x5B40, 0xDFC5, 0x5B43, 0xE5BE, - 0x5B50, 0xEDAD, 0x5B51, 0xFAEA, 0x5B54, 0xCDEE, 0x5B55, 0xEDA6, 0x5B57, 0xEDAE, 0x5B58, 0xF0ED, 0x5B5A, 0xDDA1, 0x5B5C, 0xEDAF, - 0x5B5D, 0xFCF8, 0x5B5F, 0xD8EB, 0x5B63, 0xCCF9, 0x5B64, 0xCDB5, 0x5B69, 0xFAA9, 0x5B6B, 0xE1DD, 0x5B70, 0xE2D5, 0x5B71, 0xEDCF, - 0x5B75, 0xDDA2, 0x5B78, 0xF9CA, 0x5B7A, 0xEAE8, 0x5B7C, 0xE5ED, 0x5B85, 0xD3EB, 0x5B87, 0xE9D4, 0x5B88, 0xE1FA, 0x5B89, 0xE4CC, - 0x5B8B, 0xE1E4, 0x5B8C, 0xE8C7, 0x5B8F, 0xCEDB, 0x5B93, 0xDCD5, 0x5B95, 0xF7B5, 0x5B96, 0xFCF3, 0x5B97, 0xF0F3, 0x5B98, 0xCEAF, - 0x5B99, 0xF1B5, 0x5B9A, 0xEFD2, 0x5B9B, 0xE8C8, 0x5B9C, 0xEBF1, 0x5BA2, 0xCBD4, 0x5BA3, 0xE0BE, 0x5BA4, 0xE3F8, 0x5BA5, 0xEAE9, - 0x5BA6, 0xFCB2, 0x5BAC, 0xE0F4, 0x5BAE, 0xCFE0, 0x5BB0, 0xEEA5, 0x5BB3, 0xFAAA, 0x5BB4, 0xE6C3, 0x5BB5, 0xE1B2, 0x5BB6, 0xCAAB, - 0x5BB8, 0xE3E4, 0x5BB9, 0xE9BB, 0x5BBF, 0xE2D6, 0x5BC0, 0xF3F2, 0x5BC2, 0xEED6, 0x5BC3, 0xEAB2, 0x5BC4, 0xD0F6, 0x5BC5, 0xECD9, - 0x5BC6, 0xDACB, 0x5BC7, 0xCFA8, 0x5BCC, 0xDDA3, 0x5BD0, 0xD8DB, 0x5BD2, 0xF9CE, 0x5BD3, 0xE9D5, 0x5BD4, 0xE3D1, 0x5BD7, 0xD2BC, - 0x5BDE, 0xD8AC, 0x5BDF, 0xF3CC, 0x5BE1, 0xCDFB, 0x5BE2, 0xF6D6, 0x5BE4, 0xE7F5, 0x5BE5, 0xE8EF, 0x5BE6, 0xE3F9, 0x5BE7, 0xD2BB, - 0x5BE8, 0xF3F3, 0x5BE9, 0xE3FB, 0x5BEB, 0xDED0, 0x5BEC, 0xCEB0, 0x5BEE, 0xD6F7, 0x5BEF, 0xF1D9, 0x5BF5, 0xF5C1, 0x5BF6, 0xDCC4, - 0x5BF8, 0xF5BB, 0x5BFA, 0xDED1, 0x5C01, 0xDCE6, 0x5C04, 0xDED2, 0x5C07, 0xEDE2, 0x5C08, 0xEEF6, 0x5C09, 0xEACF, 0x5C0A, 0xF0EE, - 0x5C0B, 0xE3FC, 0x5C0D, 0xD3DF, 0x5C0E, 0xD3F4, 0x5C0F, 0xE1B3, 0x5C11, 0xE1B4, 0x5C16, 0xF4D3, 0x5C19, 0xDFC6, 0x5C24, 0xE9D6, - 0x5C28, 0xDBAB, 0x5C31, 0xF6A6, 0x5C38, 0xE3B9, 0x5C39, 0xEBC5, 0x5C3A, 0xF4A9, 0x5C3B, 0xCDB6, 0x5C3C, 0xD2F9, 0x5C3E, 0xDAAD, - 0x5C3F, 0xD2E3, 0x5C40, 0xCFD1, 0x5C45, 0xCBDC, 0x5C46, 0xCCFA, 0x5C48, 0xCFDD, 0x5C4B, 0xE8A9, 0x5C4D, 0xE3BB, 0x5C4E, 0xE3BA, - 0x5C51, 0xE0DA, 0x5C55, 0xEEF7, 0x5C5B, 0xDCB3, 0x5C60, 0xD3F5, 0x5C62, 0xD7A6, 0x5C64, 0xF6B5, 0x5C65, 0xD7DB, 0x5C6C, 0xE1D5, - 0x5C6F, 0xD4EA, 0x5C71, 0xDFA3, 0x5C79, 0xFDDF, 0x5C90, 0xD0F7, 0x5C91, 0xEDD4, 0x5CA1, 0xCBAA, 0x5CA9, 0xE4DB, 0x5CAB, 0xE1FB, - 0x5CAC, 0xCBA2, 0x5CB1, 0xD3E0, 0x5CB3, 0xE4BF, 0x5CB5, 0xFBC0, 0x5CB7, 0xDABE, 0x5CB8, 0xE4CD, 0x5CBA, 0xD6B9, 0x5CBE, 0xEFC0, - 0x5CC0, 0xE1FC, 0x5CD9, 0xF6B9, 0x5CE0, 0xDFC7, 0x5CE8, 0xE4B1, 0x5CEF, 0xDCE7, 0x5CF0, 0xDCE8, 0x5CF4, 0xFAD6, 0x5CF6, 0xD3F6, - 0x5CFB, 0xF1DA, 0x5CFD, 0xFAF2, 0x5D07, 0xE2FD, 0x5D0D, 0xD5CF, 0x5D0E, 0xD0F8, 0x5D11, 0xCDDF, 0x5D14, 0xF5CB, 0x5D16, 0xE4F0, - 0x5D17, 0xCBAB, 0x5D19, 0xD7C4, 0x5D27, 0xE2FE, 0x5D29, 0xDDDA, 0x5D4B, 0xDAAE, 0x5D4C, 0xCAEE, 0x5D50, 0xD5B9, 0x5D69, 0xE3A1, - 0x5D6C, 0xE8E3, 0x5D6F, 0xF3AB, 0x5D87, 0xCFA9, 0x5D8B, 0xD3F7, 0x5D9D, 0xD4F1, 0x5DA0, 0xCEE4, 0x5DA2, 0xE8F2, 0x5DAA, 0xE5F5, - 0x5DB8, 0xE7AE, 0x5DBA, 0xD6BA, 0x5DBC, 0xDFEC, 0x5DBD, 0xE4C0, 0x5DCD, 0xE8E4, 0x5DD2, 0xD8B5, 0x5DD6, 0xE4DC, 0x5DDD, 0xF4B9, - 0x5DDE, 0xF1B6, 0x5DE1, 0xE2DE, 0x5DE2, 0xE1B5, 0x5DE5, 0xCDEF, 0x5DE6, 0xF1A7, 0x5DE7, 0xCEE5, 0x5DE8, 0xCBDD, 0x5DEB, 0xD9E3, - 0x5DEE, 0xF3AC, 0x5DF1, 0xD0F9, 0x5DF2, 0xECAB, 0x5DF3, 0xDED3, 0x5DF4, 0xF7E9, 0x5DF7, 0xF9F5, 0x5DFD, 0xE1DE, 0x5DFE, 0xCBEE, - 0x5E02, 0xE3BC, 0x5E03, 0xF8D6, 0x5E06, 0xDBEE, 0x5E0C, 0xFDF1, 0x5E11, 0xF7B6, 0x5E16, 0xF4DE, 0x5E19, 0xF2ED, 0x5E1B, 0xDBD9, - 0x5E1D, 0xF0A8, 0x5E25, 0xE1FD, 0x5E2B, 0xDED4, 0x5E2D, 0xE0AC, 0x5E33, 0xEDE3, 0x5E36, 0xD3E1, 0x5E38, 0xDFC8, 0x5E3D, 0xD9B6, - 0x5E3F, 0xFDAC, 0x5E40, 0xEFD3, 0x5E44, 0xE4C1, 0x5E45, 0xF8EB, 0x5E47, 0xDBAC, 0x5E4C, 0xFCC6, 0x5E55, 0xD8AD, 0x5E5F, 0xF6BA, - 0x5E61, 0xDBDF, 0x5E62, 0xD3D3, 0x5E63, 0xF8C7, 0x5E72, 0xCACE, 0x5E73, 0xF8C1, 0x5E74, 0xD2B4, 0x5E77, 0xDCB4, 0x5E78, 0xFAB9, - 0x5E79, 0xCACF, 0x5E7B, 0xFCB3, 0x5E7C, 0xEAEA, 0x5E7D, 0xEAEB, 0x5E7E, 0xD0FA, 0x5E84, 0xEDE4, 0x5E87, 0xDDE7, 0x5E8A, 0xDFC9, - 0x5E8F, 0xDFED, 0x5E95, 0xEEBC, 0x5E97, 0xEFC1, 0x5E9A, 0xCCD2, 0x5E9C, 0xDDA4, 0x5EA0, 0xDFCA, 0x5EA6, 0xD3F8, 0x5EA7, 0xF1A8, - 0x5EAB, 0xCDB7, 0x5EAD, 0xEFD4, 0x5EB5, 0xE4DD, 0x5EB6, 0xDFEE, 0x5EB7, 0xCBAC, 0x5EB8, 0xE9BC, 0x5EBE, 0xEAEC, 0x5EC2, 0xDFCB, - 0x5EC8, 0xF9BF, 0x5EC9, 0xD6AF, 0x5ECA, 0xD5C6, 0x5ED0, 0xCFAA, 0x5ED3, 0xCEA9, 0x5ED6, 0xD6F8, 0x5EDA, 0xF1B7, 0x5EDB, 0xEEF8, - 0x5EDF, 0xD9D9, 0x5EE0, 0xF3DF, 0x5EE2, 0xF8C8, 0x5EE3, 0xCEC6, 0x5EEC, 0xD5E6, 0x5EF3, 0xF4E6, 0x5EF6, 0xE6C5, 0x5EF7, 0xEFD5, - 0x5EFA, 0xCBEF, 0x5EFB, 0xFCDF, 0x5F01, 0xDCA7, 0x5F04, 0xD6E7, 0x5F0A, 0xF8C9, 0x5F0F, 0xE3D2, 0x5F11, 0xE3BD, 0x5F13, 0xCFE1, - 0x5F14, 0xF0C0, 0x5F15, 0xECDA, 0x5F17, 0xDDD7, 0x5F18, 0xFBF0, 0x5F1B, 0xECAC, 0x5F1F, 0xF0A9, 0x5F26, 0xFAD7, 0x5F27, 0xFBC1, - 0x5F29, 0xD2C0, 0x5F31, 0xE5B0, 0x5F35, 0xEDE5, 0x5F3A, 0xCBAD, 0x5F3C, 0xF9B0, 0x5F48, 0xF7A5, 0x5F4A, 0xCBAE, 0x5F4C, 0xDAAF, - 0x5F4E, 0xD8B6, 0x5F56, 0xD3A7, 0x5F57, 0xFBB2, 0x5F59, 0xFDC4, 0x5F5B, 0xECAD, 0x5F62, 0xFBA1, 0x5F66, 0xE5E9, 0x5F67, 0xE9EE, - 0x5F69, 0xF3F4, 0x5F6A, 0xF8F3, 0x5F6B, 0xF0C1, 0x5F6C, 0xDEAF, 0x5F6D, 0xF8B0, 0x5F70, 0xF3E0, 0x5F71, 0xE7AF, 0x5F77, 0xDBAD, - 0x5F79, 0xE6B5, 0x5F7C, 0xF9A8, 0x5F7F, 0xDDD8, 0x5F80, 0xE8D9, 0x5F81, 0xEFD6, 0x5F85, 0xD3E2, 0x5F87, 0xE2DF, 0x5F8A, 0xFCE0, - 0x5F8B, 0xD7C8, 0x5F8C, 0xFDAD, 0x5F90, 0xDFEF, 0x5F91, 0xCCD3, 0x5F92, 0xD3F9, 0x5F97, 0xD4F0, 0x5F98, 0xDBC7, 0x5F99, 0xDED5, - 0x5F9E, 0xF0F4, 0x5FA0, 0xD5D0, 0x5FA1, 0xE5D9, 0x5FA8, 0xFCC7, 0x5FA9, 0xDCD6, 0x5FAA, 0xE2E0, 0x5FAE, 0xDAB0, 0x5FB5, 0xF3A3, - 0x5FB7, 0xD3EC, 0x5FB9, 0xF4CB, 0x5FBD, 0xFDC5, 0x5FC3, 0xE3FD, 0x5FC5, 0xF9B1, 0x5FCC, 0xD0FB, 0x5FCD, 0xECDB, 0x5FD6, 0xF5BC, - 0x5FD7, 0xF2A4, 0x5FD8, 0xD8CE, 0x5FD9, 0xD8CF, 0x5FE0, 0xF5F7, 0x5FEB, 0xF6E1, 0x5FF5, 0xD2B7, 0x5FFD, 0xFBEC, 0x5FFF, 0xDDC8, - 0x600F, 0xE4E8, 0x6012, 0xD2C1, 0x6016, 0xF8D7, 0x601C, 0xD6BB, 0x601D, 0xDED6, 0x6020, 0xF7BD, 0x6021, 0xECAE, 0x6025, 0xD0E1, - 0x6027, 0xE0F5, 0x6028, 0xEAB3, 0x602A, 0xCED6, 0x602F, 0xCCA5, 0x6041, 0xECF6, 0x6042, 0xE2E1, 0x6043, 0xE3BE, 0x604D, 0xFCC8, - 0x6050, 0xCDF0, 0x6052, 0xF9F6, 0x6055, 0xDFF0, 0x6059, 0xE5BF, 0x605D, 0xCEBF, 0x6062, 0xFCE1, 0x6063, 0xEDB0, 0x6064, 0xFDD1, - 0x6065, 0xF6BB, 0x6068, 0xF9CF, 0x6069, 0xEBDA, 0x606A, 0xCAC1, 0x606C, 0xD2B8, 0x606D, 0xCDF1, 0x606F, 0xE3D3, 0x6070, 0xFDE6, - 0x6085, 0xE6ED, 0x6089, 0xE3FA, 0x608C, 0xF0AA, 0x608D, 0xF9D0, 0x6094, 0xFCE2, 0x6096, 0xF8A7, 0x609A, 0xE1E5, 0x609B, 0xEEF9, - 0x609F, 0xE7F6, 0x60A0, 0xEAED, 0x60A3, 0xFCB4, 0x60A4, 0xF5C2, 0x60A7, 0xD7DC, 0x60B0, 0xF0F5, 0x60B2, 0xDDE8, 0x60B3, 0xD3ED, - 0x60B4, 0xF5FC, 0x60B6, 0xDABF, 0x60B8, 0xCCFB, 0x60BC, 0xD3FA, 0x60BD, 0xF4A4, 0x60C5, 0xEFD7, 0x60C7, 0xD4C3, 0x60D1, 0xFBE3, - 0x60DA, 0xFBED, 0x60DC, 0xE0AD, 0x60DF, 0xEAEE, 0x60E0, 0xFBB3, 0x60E1, 0xE4C2, 0x60F0, 0xF6E7, 0x60F1, 0xD2DD, 0x60F3, 0xDFCC, - 0x60F6, 0xFCC9, 0x60F9, 0xE5A9, 0x60FA, 0xE0F6, 0x60FB, 0xF6B3, 0x6101, 0xE1FE, 0x6106, 0xCBF0, 0x6108, 0xEAEF, 0x6109, 0xEAF0, - 0x610D, 0xDAC0, 0x610E, 0xF8B4, 0x610F, 0xEBF2, 0x6115, 0xE4C3, 0x611A, 0xE9D7, 0x611B, 0xE4F1, 0x611F, 0xCAEF, 0x6127, 0xCED7, - 0x6130, 0xFCCA, 0x6134, 0xF3E1, 0x6137, 0xCBC4, 0x613C, 0xE3E5, 0x613E, 0xCBC5, 0x613F, 0xEAB4, 0x6142, 0xE9BD, 0x6144, 0xD7C9, - 0x6147, 0xEBDB, 0x6148, 0xEDB1, 0x614A, 0xCCC3, 0x614B, 0xF7BE, 0x614C, 0xFCCB, 0x6153, 0xF8F4, 0x6155, 0xD9B7, 0x6158, 0xF3D3, - 0x6159, 0xF3D4, 0x615D, 0xF7E4, 0x615F, 0xF7D1, 0x6162, 0xD8B7, 0x6163, 0xCEB1, 0x6164, 0xCAC2, 0x6167, 0xFBB4, 0x6168, 0xCBC6, - 0x616B, 0xF0F6, 0x616E, 0xD5E7, 0x6170, 0xEAD0, 0x6176, 0xCCD4, 0x6177, 0xCBAF, 0x617D, 0xF4AA, 0x617E, 0xE9AF, 0x6181, 0xF5C3, - 0x6182, 0xE9D8, 0x618A, 0xDDE9, 0x618E, 0xF1F3, 0x6190, 0xD5FB, 0x6191, 0xDEBB, 0x6194, 0xF4FB, 0x6198, 0xFDF3, 0x6199, 0xFDF2, - 0x619A, 0xF7A6, 0x61A4, 0xDDC9, 0x61A7, 0xD4D3, 0x61A9, 0xCCA8, 0x61AB, 0xDAC1, 0x61AC, 0xCCD5, 0x61AE, 0xD9E4, 0x61B2, 0xFACA, - 0x61B6, 0xE5E3, 0x61BA, 0xD3BC, 0x61BE, 0xCAF0, 0x61C3, 0xD0C4, 0x61C7, 0xCAD0, 0x61C8, 0xFAAB, 0x61C9, 0xEBEB, 0x61CA, 0xE7F8, - 0x61CB, 0xD9E5, 0x61E6, 0xD1D7, 0x61F2, 0xF3A4, 0x61F6, 0xD4FB, 0x61F7, 0xFCE3, 0x61F8, 0xFAD8, 0x61FA, 0xF3D5, 0x61FC, 0xCFAB, - 0x61FF, 0xEBF3, 0x6200, 0xD5FC, 0x6207, 0xD3D4, 0x6208, 0xCDFC, 0x620A, 0xD9E6, 0x620C, 0xE2F9, 0x620D, 0xE2A1, 0x620E, 0xEBD4, - 0x6210, 0xE0F7, 0x6211, 0xE4B2, 0x6212, 0xCCFC, 0x6216, 0xFBE4, 0x621A, 0xF4AB, 0x621F, 0xD0BD, 0x6221, 0xCAF1, 0x622A, 0xEFB8, - 0x622E, 0xD7C0, 0x6230, 0xEEFA, 0x6231, 0xFDF4, 0x6234, 0xD3E3, 0x6236, 0xFBC2, 0x623E, 0xD5E8, 0x623F, 0xDBAE, 0x6240, 0xE1B6, - 0x6241, 0xF8B7, 0x6247, 0xE0BF, 0x6248, 0xFBC3, 0x6249, 0xDDEA, 0x624B, 0xE2A2, 0x624D, 0xEEA6, 0x6253, 0xF6E8, 0x6258, 0xF6F5, - 0x626E, 0xDDCA, 0x6271, 0xD0E2, 0x6276, 0xDDA6, 0x6279, 0xDDEB, 0x627C, 0xE4F9, 0x627F, 0xE3AF, 0x6280, 0xD0FC, 0x6284, 0xF4FC, - 0x6289, 0xCCBC, 0x628A, 0xF7EA, 0x6291, 0xE5E4, 0x6292, 0xDFF1, 0x6295, 0xF7E1, 0x6297, 0xF9F7, 0x6298, 0xEFB9, 0x629B, 0xF8D8, - 0x62AB, 0xF9A9, 0x62B1, 0xF8D9, 0x62B5, 0xEEBD, 0x62B9, 0xD8C6, 0x62BC, 0xE4E3, 0x62BD, 0xF5CE, 0x62C2, 0xDDD9, 0x62C7, 0xD9E7, - 0x62C8, 0xD2B9, 0x62C9, 0xD5C3, 0x62CC, 0xDAE5, 0x62CD, 0xDAD0, 0x62CF, 0xD1D9, 0x62D0, 0xCED8, 0x62D2, 0xCBDE, 0x62D3, 0xF4AC, - 0x62D4, 0xDAFB, 0x62D6, 0xF6E9, 0x62D7, 0xE8F3, 0x62D8, 0xCFAC, 0x62D9, 0xF0F0, 0x62DB, 0xF4FD, 0x62DC, 0xDBC8, 0x62EC, 0xCEC0, - 0x62ED, 0xE3D4, 0x62EE, 0xD1CF, 0x62EF, 0xF1F5, 0x62F1, 0xCDF2, 0x62F3, 0xCFEB, 0x62F7, 0xCDB8, 0x62FE, 0xE3A6, 0x62FF, 0xD1DA, - 0x6301, 0xF2A5, 0x6307, 0xF2A6, 0x6309, 0xE4CE, 0x6311, 0xD3FB, 0x632B, 0xF1A9, 0x632F, 0xF2C9, 0x633A, 0xEFD8, 0x633B, 0xE6C9, - 0x633D, 0xD8B8, 0x633E, 0xFAF3, 0x6349, 0xF3B5, 0x634C, 0xF8A4, 0x634F, 0xD1F3, 0x6350, 0xE6C8, 0x6355, 0xF8DA, 0x6367, 0xDCE9, - 0x6368, 0xDED7, 0x636E, 0xCBDF, 0x6372, 0xCFEC, 0x6377, 0xF4DF, 0x637A, 0xD1F4, 0x637B, 0xD2BA, 0x637F, 0xDFF2, 0x6383, 0xE1B7, - 0x6388, 0xE2A3, 0x6389, 0xD3FC, 0x638C, 0xEDE6, 0x6392, 0xDBC9, 0x6396, 0xE4FA, 0x6398, 0xCFDE, 0x639B, 0xCED0, 0x63A0, 0xD5D3, - 0x63A1, 0xF3F5, 0x63A2, 0xF7AE, 0x63A5, 0xEFC8, 0x63A7, 0xCDF3, 0x63A8, 0xF5CF, 0x63A9, 0xE5F3, 0x63AA, 0xF0C2, 0x63C0, 0xCAD1, - 0x63C4, 0xEAF1, 0x63C6, 0xD0A6, 0x63CF, 0xD9DA, 0x63D0, 0xF0AB, 0x63D6, 0xEBE7, 0x63DA, 0xE5C0, 0x63DB, 0xFCB5, 0x63E1, 0xE4C4, - 0x63ED, 0xCCA9, 0x63EE, 0xFDC6, 0x63F4, 0xEAB5, 0x63F6, 0xE5AA, 0x63F7, 0xDFBA, 0x640D, 0xE1DF, 0x640F, 0xDAD1, 0x6414, 0xE1B8, - 0x6416, 0xE8F4, 0x6417, 0xD3FD, 0x641C, 0xE2A4, 0x6422, 0xF2CA, 0x642C, 0xDAE6, 0x642D, 0xF7B3, 0x643A, 0xFDCD, 0x643E, 0xF3B6, - 0x6458, 0xEED7, 0x6460, 0xF5C4, 0x6469, 0xD8A4, 0x646F, 0xF2A7, 0x6478, 0xD9B8, 0x6479, 0xD9B9, 0x647A, 0xEFC9, 0x6488, 0xD6CE, - 0x6491, 0xF7CB, 0x6492, 0xDFAE, 0x6493, 0xE8F5, 0x649A, 0xD2B5, 0x649E, 0xD3D5, 0x64A4, 0xF4CC, 0x64A5, 0xDAFC, 0x64AB, 0xD9E8, - 0x64AD, 0xF7EB, 0x64AE, 0xF5C9, 0x64B0, 0xF3BC, 0x64B2, 0xDAD2, 0x64BB, 0xD3B5, 0x64C1, 0xE8B6, 0x64C4, 0xD6CF, 0x64C5, 0xF4BA, - 0x64C7, 0xF7C9, 0x64CA, 0xCCAA, 0x64CD, 0xF0C3, 0x64CE, 0xCCD6, 0x64D2, 0xD0D3, 0x64D4, 0xD3BD, 0x64D8, 0xDBFB, 0x64DA, 0xCBE0, - 0x64E1, 0xD3E4, 0x64E2, 0xF6F7, 0x64E5, 0xD5BA, 0x64E6, 0xF3CD, 0x64E7, 0xCBE1, 0x64EC, 0xEBF4, 0x64F2, 0xF4AD, 0x64F4, 0xFCAA, - 0x64FA, 0xF7EC, 0x64FE, 0xE8F6, 0x6500, 0xDAE7, 0x6504, 0xF7CC, 0x6518, 0xE5C1, 0x651D, 0xE0EE, 0x6523, 0xD5FD, 0x652A, 0xCEE6, - 0x652B, 0xFCAB, 0x652C, 0xD5BB, 0x652F, 0xF2A8, 0x6536, 0xE2A5, 0x6537, 0xCDB9, 0x6538, 0xEAF2, 0x6539, 0xCBC7, 0x653B, 0xCDF4, - 0x653E, 0xDBAF, 0x653F, 0xEFD9, 0x6545, 0xCDBA, 0x6548, 0xFCF9, 0x654D, 0xDFF3, 0x654E, 0xCEE7, 0x654F, 0xDAC2, 0x6551, 0xCFAD, - 0x6556, 0xE7F9, 0x6557, 0xF8A8, 0x655E, 0xF3E2, 0x6562, 0xCAF2, 0x6563, 0xDFA4, 0x6566, 0xD4C4, 0x656C, 0xCCD7, 0x656D, 0xE5C2, - 0x6572, 0xCDBB, 0x6574, 0xEFDA, 0x6575, 0xEED8, 0x6577, 0xDDA7, 0x6578, 0xE2A6, 0x657E, 0xE0C0, 0x6582, 0xD6B0, 0x6583, 0xF8CA, - 0x6585, 0xFCFA, 0x6587, 0xD9FE, 0x658C, 0xDEB0, 0x6590, 0xDDEC, 0x6591, 0xDAE8, 0x6597, 0xD4E0, 0x6599, 0xD6F9, 0x659B, 0xCDD7, - 0x659C, 0xDED8, 0x659F, 0xF2F8, 0x65A1, 0xE4D6, 0x65A4, 0xD0C5, 0x65A5, 0xF4AE, 0x65A7, 0xDDA8, 0x65AB, 0xEDC5, 0x65AC, 0xF3D6, - 0x65AF, 0xDED9, 0x65B0, 0xE3E6, 0x65B7, 0xD3A8, 0x65B9, 0xDBB0, 0x65BC, 0xE5DA, 0x65BD, 0xE3BF, 0x65C1, 0xDBB1, 0x65C5, 0xD5E9, - 0x65CB, 0xE0C1, 0x65CC, 0xEFDB, 0x65CF, 0xF0E9, 0x65D2, 0xD7B2, 0x65D7, 0xD0FD, 0x65E0, 0xD9E9, 0x65E3, 0xD0FE, 0x65E5, 0xECED, - 0x65E6, 0xD3A9, 0x65E8, 0xF2A9, 0x65E9, 0xF0C4, 0x65EC, 0xE2E2, 0x65ED, 0xE9EF, 0x65F1, 0xF9D1, 0x65F4, 0xE9D9, 0x65FA, 0xE8DA, - 0x65FB, 0xDAC3, 0x65FC, 0xDAC4, 0x65FD, 0xD4C5, 0x65FF, 0xE7FA, 0x6606, 0xCDE0, 0x6607, 0xE3B0, 0x6609, 0xDBB2, 0x660A, 0xFBC4, - 0x660C, 0xF3E3, 0x660E, 0xD9A5, 0x660F, 0xFBE7, 0x6610, 0xDDCB, 0x6611, 0xD0D4, 0x6613, 0xE6B6, 0x6614, 0xE0AE, 0x6615, 0xFDDA, - 0x661E, 0xDCB5, 0x661F, 0xE0F8, 0x6620, 0xE7B1, 0x6625, 0xF5F0, 0x6627, 0xD8DC, 0x6628, 0xEDC6, 0x662D, 0xE1B9, 0x662F, 0xE3C0, - 0x6630, 0xF9C0, 0x6631, 0xE9F0, 0x6634, 0xD9DB, 0x6636, 0xF3E4, 0x663A, 0xDCB6, 0x663B, 0xE4E9, 0x6641, 0xF0C5, 0x6642, 0xE3C1, - 0x6643, 0xFCCC, 0x6644, 0xFCCD, 0x6649, 0xF2CB, 0x664B, 0xF2CC, 0x664F, 0xE4CF, 0x6659, 0xF1DB, 0x665B, 0xFAD9, 0x665D, 0xF1B8, - 0x665E, 0xFDF5, 0x665F, 0xE0F9, 0x6664, 0xE7FB, 0x6665, 0xFCB7, 0x6666, 0xFCE4, 0x6667, 0xFBC5, 0x6668, 0xE3E7, 0x6669, 0xD8B9, - 0x666B, 0xF6F8, 0x666E, 0xDCC5, 0x666F, 0xCCD8, 0x6673, 0xE0AF, 0x6674, 0xF4E7, 0x6676, 0xEFDC, 0x6677, 0xCFFC, 0x6678, 0xEFDD, - 0x667A, 0xF2AA, 0x6684, 0xFDBE, 0x6687, 0xCAAC, 0x6688, 0xFDBB, 0x6689, 0xFDC7, 0x668E, 0xE7B2, 0x6690, 0xEAD1, 0x6691, 0xDFF4, - 0x6696, 0xD1EC, 0x6697, 0xE4DE, 0x6698, 0xE5C3, 0x669D, 0xD9A6, 0x66A0, 0xCDBC, 0x66A2, 0xF3E5, 0x66AB, 0xEDD5, 0x66AE, 0xD9BA, - 0x66B2, 0xEDE7, 0x66B3, 0xFBB5, 0x66B4, 0xF8EC, 0x66B9, 0xE0E7, 0x66BB, 0xCCD9, 0x66BE, 0xD4C6, 0x66C4, 0xE7A5, 0x66C6, 0xD5F5, - 0x66C7, 0xD3BE, 0x66C9, 0xFCFB, 0x66D6, 0xE4F2, 0x66D9, 0xDFF5, 0x66DC, 0xE8F8, 0x66DD, 0xF8ED, 0x66E0, 0xCEC7, 0x66E6, 0xFDF6, - 0x66F0, 0xE8D8, 0x66F2, 0xCDD8, 0x66F3, 0xE7D6, 0x66F4, 0xCCDA, 0x66F7, 0xCAE3, 0x66F8, 0xDFF6, 0x66F9, 0xF0C7, 0x66FA, 0xF0C6, - 0x66FC, 0xD8BA, 0x66FE, 0xF1F4, 0x66FF, 0xF4F0, 0x6700, 0xF5CC, 0x6703, 0xFCE5, 0x6708, 0xEAC5, 0x6709, 0xEAF3, 0x670B, 0xDDDB, - 0x670D, 0xDCD7, 0x6714, 0xDEFD, 0x6715, 0xF2F9, 0x6717, 0xD5C7, 0x671B, 0xD8D0, 0x671D, 0xF0C8, 0x671E, 0xD1A1, 0x671F, 0xD1A2, - 0x6726, 0xD9D4, 0x6727, 0xD6E8, 0x6728, 0xD9CA, 0x672A, 0xDAB1, 0x672B, 0xD8C7, 0x672C, 0xDCE2, 0x672D, 0xF3CE, 0x672E, 0xF5F4, - 0x6731, 0xF1B9, 0x6734, 0xDAD3, 0x6736, 0xF6EA, 0x673A, 0xCFF5, 0x673D, 0xFDAE, 0x6746, 0xCAD2, 0x6749, 0xDFB4, 0x674E, 0xD7DD, - 0x674F, 0xFABA, 0x6750, 0xEEA7, 0x6751, 0xF5BD, 0x6753, 0xF8F5, 0x6756, 0xEDE8, 0x675C, 0xD4E1, 0x675E, 0xD1A3, 0x675F, 0xE1D6, - 0x676D, 0xF9F8, 0x676F, 0xDBCA, 0x6770, 0xCBF9, 0x6771, 0xD4D4, 0x6773, 0xD9DC, 0x6775, 0xEEBE, 0x6777, 0xF7ED, 0x677B, 0xD2EE, - 0x677E, 0xE1E6, 0x677F, 0xF7F9, 0x6787, 0xDDED, 0x6789, 0xE8DB, 0x678B, 0xDBB3, 0x678F, 0xD1F7, 0x6790, 0xE0B0, 0x6793, 0xD4E2, - 0x6795, 0xF6D7, 0x6797, 0xD7F9, 0x679A, 0xD8DD, 0x679C, 0xCDFD, 0x679D, 0xF2AB, 0x67AF, 0xCDBD, 0x67B0, 0xF8C2, 0x67B3, 0xF2AC, - 0x67B6, 0xCAAD, 0x67B7, 0xCAAE, 0x67B8, 0xCFAE, 0x67BE, 0xE3C2, 0x67C4, 0xDCB7, 0x67CF, 0xDBDA, 0x67D0, 0xD9BB, 0x67D1, 0xCAF3, - 0x67D2, 0xF6D3, 0x67D3, 0xE6F8, 0x67D4, 0xEAF5, 0x67DA, 0xEAF6, 0x67DD, 0xF6F9, 0x67E9, 0xCFAF, 0x67EC, 0xCAD3, 0x67EF, 0xCAAF, - 0x67F0, 0xD2B0, 0x67F1, 0xF1BA, 0x67F3, 0xD7B3, 0x67F4, 0xE3C3, 0x67F5, 0xF3FD, 0x67F6, 0xDEDA, 0x67FB, 0xDEDB, 0x67FE, 0xEFDE, - 0x6812, 0xE2E3, 0x6813, 0xEEFB, 0x6816, 0xDFF7, 0x6817, 0xD7CA, 0x6821, 0xCEE8, 0x6822, 0xDBDB, 0x682A, 0xF1BB, 0x682F, 0xE9F1, - 0x6838, 0xFAB7, 0x6839, 0xD0C6, 0x683C, 0xCCAB, 0x683D, 0xEEA8, 0x6840, 0xCBFA, 0x6841, 0xF9F9, 0x6842, 0xCCFD, 0x6843, 0xD3FE, - 0x6848, 0xE4D0, 0x684E, 0xF2EE, 0x6850, 0xD4D5, 0x6851, 0xDFCD, 0x6853, 0xFCB8, 0x6854, 0xD1D0, 0x686D, 0xF2CD, 0x6876, 0xF7D2, - 0x687F, 0xCAD4, 0x6881, 0xD5D9, 0x6885, 0xD8DE, 0x688F, 0xCDD9, 0x6893, 0xEEA9, 0x6894, 0xF6BC, 0x6897, 0xCCDB, 0x689D, 0xF0C9, - 0x689F, 0xFCFC, 0x68A1, 0xE8C9, 0x68A2, 0xF4FE, 0x68A7, 0xE7FC, 0x68A8, 0xD7DE, 0x68AD, 0xDEDC, 0x68AF, 0xF0AC, 0x68B0, 0xCCFE, - 0x68B1, 0xCDE1, 0x68B3, 0xE1BA, 0x68B5, 0xDBEF, 0x68B6, 0xDAB2, 0x68C4, 0xD1A5, 0x68C5, 0xDCB8, 0x68C9, 0xD8F6, 0x68CB, 0xD1A4, - 0x68CD, 0xCDE2, 0x68D2, 0xDCEA, 0x68D5, 0xF0F7, 0x68D7, 0xF0CA, 0x68D8, 0xD0BE, 0x68DA, 0xDDDC, 0x68DF, 0xD4D6, 0x68E0, 0xD3D6, - 0x68E7, 0xEDD0, 0x68E8, 0xCDA1, 0x68EE, 0xDFB5, 0x68F2, 0xDFF8, 0x68F9, 0xD4A1, 0x68FA, 0xCEB2, 0x6900, 0xE8CA, 0x6905, 0xEBF5, - 0x690D, 0xE3D5, 0x690E, 0xF5D0, 0x6912, 0xF5A1, 0x6927, 0xD9A7, 0x6930, 0xE5AB, 0x693D, 0xE6CB, 0x693F, 0xF5F1, 0x694A, 0xE5C5, - 0x6953, 0xF9A3, 0x6954, 0xE0DB, 0x6955, 0xF6EB, 0x6957, 0xCBF1, 0x6959, 0xD9EA, 0x695A, 0xF5A2, 0x695E, 0xD7D1, 0x6960, 0xD1F8, - 0x6961, 0xEAF8, 0x6962, 0xEAF9, 0x6963, 0xDAB3, 0x6968, 0xEFDF, 0x696B, 0xF1EF, 0x696D, 0xE5F6, 0x696E, 0xEEBF, 0x696F, 0xE2E4, - 0x6975, 0xD0BF, 0x6977, 0xFAAC, 0x6978, 0xF5D1, 0x6979, 0xE7B3, 0x6995, 0xE9BE, 0x699B, 0xF2CE, 0x699C, 0xDBB4, 0x69A5, 0xFCCE, - 0x69A7, 0xDDEE, 0x69AE, 0xE7B4, 0x69B4, 0xD7B4, 0x69BB, 0xF7B4, 0x69C1, 0xCDBE, 0x69C3, 0xDAE9, 0x69CB, 0xCFB0, 0x69CC, 0xF7D9, - 0x69CD, 0xF3E6, 0x69D0, 0xCED9, 0x69E8, 0xCEAA, 0x69EA, 0xCBC8, 0x69FB, 0xD0A7, 0x69FD, 0xF0CB, 0x69FF, 0xD0C7, 0x6A02, 0xE4C5, - 0x6A0A, 0xDBE0, 0x6A11, 0xD5DA, 0x6A13, 0xD7A7, 0x6A17, 0xEEC0, 0x6A19, 0xF8F6, 0x6A1E, 0xF5D2, 0x6A1F, 0xEDE9, 0x6A21, 0xD9BC, - 0x6A23, 0xE5C6, 0x6A35, 0xF5A3, 0x6A38, 0xDAD4, 0x6A39, 0xE2A7, 0x6A3A, 0xFBFC, 0x6A3D, 0xF1DC, 0x6A44, 0xCAF4, 0x6A48, 0xE8FA, - 0x6A4B, 0xCEE9, 0x6A52, 0xE9F8, 0x6A53, 0xE2E5, 0x6A58, 0xD0B9, 0x6A59, 0xD4F2, 0x6A5F, 0xD1A6, 0x6A61, 0xDFCE, 0x6A6B, 0xFCF4, - 0x6A80, 0xD3AA, 0x6A84, 0xCCAC, 0x6A89, 0xEFE0, 0x6A8D, 0xE5E5, 0x6A8E, 0xD0D5, 0x6A97, 0xDBFC, 0x6A9C, 0xFCE6, 0x6AA2, 0xCBFE, - 0x6AA3, 0xEDEA, 0x6AB3, 0xDEB1, 0x6ABB, 0xF9E3, 0x6AC2, 0xD4A2, 0x6AC3, 0xCFF6, 0x6AD3, 0xD6D0, 0x6ADA, 0xD5EA, 0x6ADB, 0xF1EE, - 0x6AF6, 0xFACB, 0x6AFB, 0xE5A1, 0x6B04, 0xD5B1, 0x6B0A, 0xCFED, 0x6B0C, 0xEDEB, 0x6B12, 0xD5B2, 0x6B16, 0xD5BC, 0x6B20, 0xFDE2, - 0x6B21, 0xF3AD, 0x6B23, 0xFDDB, 0x6B32, 0xE9B0, 0x6B3A, 0xD1A7, 0x6B3D, 0xFDE3, 0x6B3E, 0xCEB3, 0x6B46, 0xFDE4, 0x6B47, 0xFACE, - 0x6B4C, 0xCAB0, 0x6B4E, 0xF7A7, 0x6B50, 0xCFB1, 0x6B5F, 0xE6A2, 0x6B61, 0xFCB6, 0x6B62, 0xF2AD, 0x6B63, 0xEFE1, 0x6B64, 0xF3AE, - 0x6B65, 0xDCC6, 0x6B66, 0xD9EB, 0x6B6A, 0xE8E0, 0x6B72, 0xE1A8, 0x6B77, 0xD5F6, 0x6B78, 0xCFFD, 0x6B7B, 0xDEDD, 0x6B7F, 0xD9D1, - 0x6B83, 0xE4EA, 0x6B84, 0xF2CF, 0x6B86, 0xF7BF, 0x6B89, 0xE2E6, 0x6B8A, 0xE2A8, 0x6B96, 0xE3D6, 0x6B98, 0xEDD1, 0x6B9E, 0xE9F9, - 0x6BAE, 0xD6B1, 0x6BAF, 0xDEB2, 0x6BB2, 0xE0E8, 0x6BB5, 0xD3AB, 0x6BB7, 0xEBDC, 0x6BBA, 0xDFAF, 0x6BBC, 0xCAC3, 0x6BBF, 0xEEFC, - 0x6BC1, 0xFDC3, 0x6BC5, 0xEBF6, 0x6BC6, 0xCFB2, 0x6BCB, 0xD9EC, 0x6BCD, 0xD9BD, 0x6BCF, 0xD8DF, 0x6BD2, 0xD4B8, 0x6BD3, 0xEBBE, - 0x6BD4, 0xDDEF, 0x6BD6, 0xDDF0, 0x6BD7, 0xDDF1, 0x6BD8, 0xDDF2, 0x6BDB, 0xD9BE, 0x6BEB, 0xFBC6, 0x6BEC, 0xCFB3, 0x6C08, 0xEEFD, - 0x6C0F, 0xE4AB, 0x6C11, 0xDAC5, 0x6C13, 0xD8EC, 0x6C23, 0xD1A8, 0x6C34, 0xE2A9, 0x6C37, 0xDEBC, 0x6C38, 0xE7B5, 0x6C3E, 0xDBF0, - 0x6C40, 0xEFE2, 0x6C41, 0xF1F0, 0x6C42, 0xCFB4, 0x6C4E, 0xDBF1, 0x6C50, 0xE0B1, 0x6C55, 0xDFA5, 0x6C57, 0xF9D2, 0x6C5A, 0xE7FD, - 0x6C5D, 0xE6A3, 0x6C5E, 0xFBF1, 0x6C5F, 0xCBB0, 0x6C60, 0xF2AE, 0x6C68, 0xCDE7, 0x6C6A, 0xE8DC, 0x6C6D, 0xE7D7, 0x6C70, 0xF7C0, - 0x6C72, 0xD0E3, 0x6C76, 0xDAA1, 0x6C7A, 0xCCBD, 0x6C7D, 0xD1A9, 0x6C7E, 0xDDCC, 0x6C81, 0xE3FE, 0x6C82, 0xD1AA, 0x6C83, 0xE8AA, - 0x6C85, 0xEAB6, 0x6C86, 0xF9FA, 0x6C87, 0xE6CC, 0x6C88, 0xF6D8, 0x6C8C, 0xD4C7, 0x6C90, 0xD9CB, 0x6C92, 0xD9D2, 0x6C93, 0xD3CB, - 0x6C94, 0xD8F7, 0x6C95, 0xDAA9, 0x6C96, 0xF5F8, 0x6C99, 0xDEDE, 0x6C9A, 0xF2AF, 0x6C9B, 0xF8A9, 0x6CAB, 0xD8C8, 0x6CAE, 0xEEC1, - 0x6CB3, 0xF9C1, 0x6CB8, 0xDDF3, 0x6CB9, 0xEAFA, 0x6CBB, 0xF6BD, 0x6CBC, 0xE1BB, 0x6CBD, 0xCDBF, 0x6CBE, 0xF4D4, 0x6CBF, 0xE6CD, - 0x6CC1, 0xFCCF, 0x6CC2, 0xFBA2, 0x6CC4, 0xE0DC, 0x6CC9, 0xF4BB, 0x6CCA, 0xDAD5, 0x6CCC, 0xF9B2, 0x6CD3, 0xFBF2, 0x6CD5, 0xDBF6, - 0x6CD7, 0xDEDF, 0x6CDB, 0xDBF2, 0x6CE1, 0xF8DC, 0x6CE2, 0xF7EE, 0x6CE3, 0xEBE8, 0x6CE5, 0xD2FA, 0x6CE8, 0xF1BC, 0x6CEB, 0xFADA, - 0x6CEE, 0xDAEA, 0x6CEF, 0xDAC6, 0x6CF0, 0xF7C1, 0x6CF3, 0xE7B6, 0x6D0B, 0xE5C7, 0x6D0C, 0xD6AC, 0x6D11, 0xDCC7, 0x6D17, 0xE1A9, - 0x6D19, 0xE2AA, 0x6D1B, 0xD5A6, 0x6D1E, 0xD4D7, 0x6D25, 0xF2D0, 0x6D27, 0xEAFB, 0x6D29, 0xE0DD, 0x6D2A, 0xFBF3, 0x6D32, 0xF1BD, - 0x6D35, 0xE2E7, 0x6D36, 0xFDD7, 0x6D38, 0xCEC8, 0x6D39, 0xEAB7, 0x6D3B, 0xFCC0, 0x6D3D, 0xFDE7, 0x6D3E, 0xF7EF, 0x6D41, 0xD7B5, - 0x6D59, 0xEFBA, 0x6D5A, 0xF1DD, 0x6D5C, 0xDEB3, 0x6D63, 0xE8CB, 0x6D66, 0xF8DD, 0x6D69, 0xFBC7, 0x6D6A, 0xD5C8, 0x6D6C, 0xD7DF, - 0x6D6E, 0xDDA9, 0x6D74, 0xE9B1, 0x6D77, 0xFAAD, 0x6D78, 0xF6D9, 0x6D79, 0xFAF4, 0x6D7F, 0xF8AA, 0x6D85, 0xE6EE, 0x6D87, 0xCCDC, - 0x6D88, 0xE1BC, 0x6D89, 0xE0EF, 0x6D8C, 0xE9BF, 0x6D8D, 0xFCFD, 0x6D8E, 0xE6CE, 0x6D91, 0xE1D7, 0x6D93, 0xE6CF, 0x6D95, 0xF4F1, - 0x6DAF, 0xE4F3, 0x6DB2, 0xE4FB, 0x6DB5, 0xF9E4, 0x6DC0, 0xEFE3, 0x6DC3, 0xCFEE, 0x6DC4, 0xF6BE, 0x6DC5, 0xE0B2, 0x6DC6, 0xFCFE, - 0x6DC7, 0xD1AB, 0x6DCB, 0xD7FA, 0x6DCF, 0xFBC8, 0x6DD1, 0xE2D7, 0x6DD8, 0xD4A3, 0x6DD9, 0xF0F8, 0x6DDA, 0xD7A8, 0x6DDE, 0xE1E7, - 0x6DE1, 0xD3BF, 0x6DE8, 0xEFE4, 0x6DEA, 0xD7C5, 0x6DEB, 0xEBE2, 0x6DEE, 0xFCE7, 0x6DF1, 0xE4A2, 0x6DF3, 0xE2E8, 0x6DF5, 0xE6D0, - 0x6DF7, 0xFBE8, 0x6DF8, 0xF4E8, 0x6DF9, 0xE5F4, 0x6DFA, 0xF4BC, 0x6DFB, 0xF4D5, 0x6E17, 0xDFB6, 0x6E19, 0xFCB9, 0x6E1A, 0xEEC2, - 0x6E1B, 0xCAF5, 0x6E1F, 0xEFE5, 0x6E20, 0xCBE2, 0x6E21, 0xD4A4, 0x6E23, 0xDEE0, 0x6E24, 0xDAFD, 0x6E25, 0xE4C6, 0x6E26, 0xE8BE, - 0x6E2B, 0xE0DE, 0x6E2C, 0xF6B4, 0x6E2D, 0xEAD2, 0x6E2F, 0xF9FB, 0x6E32, 0xE0C2, 0x6E34, 0xCAE4, 0x6E36, 0xE7B7, 0x6E38, 0xEAFD, - 0x6E3A, 0xD9DD, 0x6E3C, 0xDAB4, 0x6E3D, 0xEEAA, 0x6E3E, 0xFBE9, 0x6E43, 0xDBCB, 0x6E44, 0xDAB5, 0x6E4A, 0xF1BE, 0x6E4D, 0xD3AC, - 0x6E56, 0xFBC9, 0x6E58, 0xDFCF, 0x6E5B, 0xD3C0, 0x6E5C, 0xE3D7, 0x6E5E, 0xEFE6, 0x6E5F, 0xFCD0, 0x6E67, 0xE9C0, 0x6E6B, 0xF5D3, - 0x6E6E, 0xECDC, 0x6E6F, 0xF7B7, 0x6E72, 0xEAB8, 0x6E73, 0xD1F9, 0x6E7A, 0xDCC8, 0x6E90, 0xEAB9, 0x6E96, 0xF1DE, 0x6E9C, 0xD7B6, - 0x6E9D, 0xCFB5, 0x6E9F, 0xD9A8, 0x6EA2, 0xECEE, 0x6EA5, 0xDDAA, 0x6EAA, 0xCDA2, 0x6EAB, 0xE8AE, 0x6EAF, 0xE1BD, 0x6EB1, 0xF2D1, - 0x6EB6, 0xE9C1, 0x6EBA, 0xD2FC, 0x6EC2, 0xDBB5, 0x6EC4, 0xF3E7, 0x6EC5, 0xD8FE, 0x6EC9, 0xFCD1, 0x6ECB, 0xEDB2, 0x6ECC, 0xF4AF, - 0x6ECE, 0xFBA3, 0x6ED1, 0xFCC1, 0x6ED3, 0xEEAB, 0x6ED4, 0xD4A5, 0x6EEF, 0xF4F2, 0x6EF4, 0xEED9, 0x6EF8, 0xFBCA, 0x6EFE, 0xCDE3, - 0x6EFF, 0xD8BB, 0x6F01, 0xE5DB, 0x6F02, 0xF8F7, 0x6F06, 0xF6D4, 0x6F0F, 0xD7A9, 0x6F11, 0xCBC9, 0x6F14, 0xE6D1, 0x6F15, 0xF0CC, - 0x6F20, 0xD8AE, 0x6F22, 0xF9D3, 0x6F23, 0xD5FE, 0x6F2B, 0xD8BC, 0x6F2C, 0xF2B0, 0x6F31, 0xE2AB, 0x6F32, 0xF3E8, 0x6F38, 0xEFC2, - 0x6F3F, 0xEDEC, 0x6F41, 0xE7B8, 0x6F51, 0xDAFE, 0x6F54, 0xCCBE, 0x6F57, 0xF2FC, 0x6F58, 0xDAEB, 0x6F5A, 0xE2D8, 0x6F5B, 0xEDD6, - 0x6F5E, 0xD6D1, 0x6F5F, 0xE0B3, 0x6F62, 0xFCD2, 0x6F64, 0xEBC8, 0x6F6D, 0xD3C1, 0x6F6E, 0xF0CD, 0x6F70, 0xCFF7, 0x6F7A, 0xEDD2, - 0x6F7C, 0xD4D8, 0x6F7D, 0xDCC9, 0x6F7E, 0xD7F1, 0x6F81, 0xDFBB, 0x6F84, 0xF3A5, 0x6F88, 0xF4CD, 0x6F8D, 0xF1BF, 0x6F8E, 0xF8B1, - 0x6F90, 0xE9FA, 0x6F94, 0xFBCB, 0x6F97, 0xCAD5, 0x6FA3, 0xF9D4, 0x6FA4, 0xF7CA, 0x6FA7, 0xD6C8, 0x6FAE, 0xFCE8, 0x6FAF, 0xF3BD, - 0x6FB1, 0xEEFE, 0x6FB3, 0xE7FE, 0x6FB9, 0xD3C2, 0x6FBE, 0xD3B6, 0x6FC0, 0xCCAD, 0x6FC1, 0xF6FA, 0x6FC2, 0xD6B2, 0x6FC3, 0xD2D8, - 0x6FCA, 0xE7D8, 0x6FD5, 0xE3A5, 0x6FDA, 0xE7B9, 0x6FDF, 0xF0AD, 0x6FE0, 0xFBCC, 0x6FE1, 0xEBA1, 0x6FE4, 0xD4A6, 0x6FE9, 0xFBCD, - 0x6FEB, 0xD5BD, 0x6FEC, 0xF1DF, 0x6FEF, 0xF6FB, 0x6FF1, 0xDEB4, 0x6FFE, 0xD5EB, 0x7001, 0xE5C8, 0x7005, 0xFBA4, 0x7006, 0xD4B9, - 0x7009, 0xDEE1, 0x700B, 0xE4A3, 0x700F, 0xD7B7, 0x7011, 0xF8EE, 0x7015, 0xDEB5, 0x7018, 0xD6D2, 0x701A, 0xF9D5, 0x701B, 0xE7BA, - 0x701C, 0xEBD5, 0x701D, 0xD5F7, 0x701E, 0xEFE7, 0x701F, 0xE1BE, 0x7023, 0xFAAE, 0x7027, 0xD6E9, 0x7028, 0xD6EE, 0x702F, 0xE7BB, - 0x7037, 0xECCB, 0x703E, 0xD5B3, 0x704C, 0xCEB4, 0x7050, 0xFBA5, 0x7051, 0xE1EE, 0x7058, 0xF7A8, 0x705D, 0xFBCE, 0x7063, 0xD8BD, - 0x706B, 0xFBFD, 0x7070, 0xFCE9, 0x7078, 0xCFB6, 0x707C, 0xEDC7, 0x707D, 0xEEAC, 0x7085, 0xCCDD, 0x708A, 0xF6A7, 0x708E, 0xE6FA, - 0x7092, 0xF5A4, 0x7098, 0xFDDC, 0x7099, 0xEDB3, 0x709A, 0xCEC9, 0x70A1, 0xEFE8, 0x70A4, 0xE1BF, 0x70AB, 0xFADB, 0x70AC, 0xCBE3, - 0x70AD, 0xF7A9, 0x70AF, 0xFBA6, 0x70B3, 0xDCB9, 0x70B7, 0xF1C0, 0x70B8, 0xEDC8, 0x70B9, 0xEFC3, 0x70C8, 0xD6AD, 0x70CB, 0xFDCE, - 0x70CF, 0xE8A1, 0x70D8, 0xFBF4, 0x70D9, 0xD5A7, 0x70DD, 0xF1F6, 0x70DF, 0xE6D3, 0x70F1, 0xCCDE, 0x70F9, 0xF8B2, 0x70FD, 0xDCEB, - 0x7104, 0xFDB6, 0x7109, 0xE5EA, 0x710C, 0xF1E0, 0x7119, 0xDBCC, 0x711A, 0xDDCD, 0x711E, 0xD4C8, 0x7121, 0xD9ED, 0x7126, 0xF5A5, - 0x7130, 0xE6FB, 0x7136, 0xE6D4, 0x7147, 0xFDC8, 0x7149, 0xD6A1, 0x714A, 0xFDBF, 0x714C, 0xFCD3, 0x714E, 0xEFA1, 0x7150, 0xE7BC, - 0x7156, 0xD1EE, 0x7159, 0xE6D5, 0x715C, 0xE9F2, 0x715E, 0xDFB0, 0x7164, 0xD8E0, 0x7165, 0xFCBA, 0x7166, 0xFDAF, 0x7167, 0xF0CE, - 0x7169, 0xDBE1, 0x716C, 0xE5C9, 0x716E, 0xEDB4, 0x717D, 0xE0C3, 0x7184, 0xE3D8, 0x7189, 0xE9FB, 0x718A, 0xEAA8, 0x718F, 0xFDB7, - 0x7192, 0xFBA7, 0x7194, 0xE9C2, 0x7199, 0xFDF7, 0x719F, 0xE2D9, 0x71A2, 0xDCEC, 0x71AC, 0xE8A2, 0x71B1, 0xE6F0, 0x71B9, 0xFDF8, - 0x71BA, 0xFDF9, 0x71BE, 0xF6BF, 0x71C1, 0xE7A7, 0x71C3, 0xE6D7, 0x71C8, 0xD4F3, 0x71C9, 0xD4C9, 0x71CE, 0xD6FA, 0x71D0, 0xD7F2, - 0x71D2, 0xE1C0, 0x71D4, 0xDBE2, 0x71D5, 0xE6D8, 0x71DF, 0xE7BD, 0x71E5, 0xF0CF, 0x71E6, 0xF3BE, 0x71E7, 0xE2AC, 0x71ED, 0xF5B7, - 0x71EE, 0xE0F0, 0x71FB, 0xFDB8, 0x71FC, 0xE3E8, 0x71FE, 0xD4A7, 0x71FF, 0xE8FC, 0x7200, 0xFAD2, 0x7206, 0xF8EF, 0x7210, 0xD6D3, - 0x721B, 0xD5B4, 0x722A, 0xF0D0, 0x722C, 0xF7F0, 0x722D, 0xEEB3, 0x7230, 0xEABA, 0x7232, 0xEAD3, 0x7235, 0xEDC9, 0x7236, 0xDDAB, - 0x723A, 0xE5AC, 0x723B, 0xFDA1, 0x723D, 0xDFD0, 0x723E, 0xECB3, 0x7240, 0xDFD1, 0x7246, 0xEDED, 0x7247, 0xF8B8, 0x7248, 0xF7FA, - 0x724C, 0xF8AB, 0x7252, 0xF4E0, 0x7258, 0xD4BA, 0x7259, 0xE4B3, 0x725B, 0xE9DA, 0x725D, 0xDEB6, 0x725F, 0xD9BF, 0x7261, 0xD9C0, - 0x7262, 0xD6EF, 0x7267, 0xD9CC, 0x7269, 0xDAAA, 0x7272, 0xDFE5, 0x7279, 0xF7E5, 0x727D, 0xCCB2, 0x7280, 0xDFF9, 0x7281, 0xD7E0, - 0x72A2, 0xD4BB, 0x72A7, 0xFDFA, 0x72AC, 0xCCB3, 0x72AF, 0xDBF3, 0x72C0, 0xDFD2, 0x72C2, 0xCECA, 0x72C4, 0xEEDA, 0x72CE, 0xE4E4, - 0x72D0, 0xFBCF, 0x72D7, 0xCFB7, 0x72D9, 0xEEC3, 0x72E1, 0xCEEA, 0x72E9, 0xE2AD, 0x72F8, 0xD7E1, 0x72F9, 0xFAF5, 0x72FC, 0xD5C9, - 0x72FD, 0xF8AC, 0x730A, 0xE7D9, 0x7316, 0xF3E9, 0x731B, 0xD8ED, 0x731C, 0xE3C4, 0x731D, 0xF0F1, 0x7325, 0xE8E5, 0x7329, 0xE0FA, - 0x732A, 0xEEC4, 0x732B, 0xD9DE, 0x7336, 0xEBA2, 0x7337, 0xEBA3, 0x733E, 0xFCC2, 0x733F, 0xEABB, 0x7344, 0xE8AB, 0x7345, 0xDEE2, - 0x7350, 0xEDEF, 0x7352, 0xE8A3, 0x7357, 0xCFF1, 0x7368, 0xD4BC, 0x736A, 0xFCEA, 0x7370, 0xE7BE, 0x7372, 0xFCF2, 0x7375, 0xD6B4, - 0x7378, 0xE2AE, 0x737A, 0xD3B7, 0x737B, 0xFACC, 0x7384, 0xFADC, 0x7386, 0xEDB5, 0x7387, 0xE1E3, 0x7389, 0xE8AC, 0x738B, 0xE8DD, - 0x738E, 0xEFE9, 0x7394, 0xF4BD, 0x7396, 0xCFB8, 0x7397, 0xE9DB, 0x7398, 0xD1AC, 0x739F, 0xDAC7, 0x73A7, 0xEBC9, 0x73A9, 0xE8CC, - 0x73AD, 0xDEB7, 0x73B2, 0xD6BC, 0x73B3, 0xD3E5, 0x73B9, 0xFADD, 0x73C0, 0xDAD6, 0x73C2, 0xCAB1, 0x73C9, 0xDAC8, 0x73CA, 0xDFA6, - 0x73CC, 0xF9B3, 0x73CD, 0xF2D2, 0x73CF, 0xCAC4, 0x73D6, 0xCECB, 0x73D9, 0xCDF5, 0x73DD, 0xFDB0, 0x73DE, 0xD5A8, 0x73E0, 0xF1C1, - 0x73E3, 0xE2E9, 0x73E4, 0xDCCA, 0x73E5, 0xECB4, 0x73E6, 0xFAC0, 0x73E9, 0xFBA8, 0x73EA, 0xD0A8, 0x73ED, 0xDAEC, 0x73F7, 0xD9EE, - 0x73F9, 0xE0FB, 0x73FD, 0xEFEA, 0x73FE, 0xFADE, 0x7401, 0xE0C4, 0x7403, 0xCFB9, 0x7405, 0xD5CA, 0x7406, 0xD7E2, 0x7407, 0xE2AF, - 0x7409, 0xD7B8, 0x7413, 0xE8CD, 0x741B, 0xF6DA, 0x7420, 0xEFA2, 0x7421, 0xE2DA, 0x7422, 0xF6FC, 0x7425, 0xFBD0, 0x7426, 0xD1AD, - 0x7428, 0xCDE4, 0x742A, 0xD1AE, 0x742B, 0xDCED, 0x742C, 0xE8CE, 0x742E, 0xF0F9, 0x742F, 0xCEB5, 0x7430, 0xE6FC, 0x7433, 0xD7FB, - 0x7434, 0xD0D6, 0x7435, 0xDDF5, 0x7436, 0xF7F1, 0x7438, 0xF6FD, 0x743A, 0xDBF7, 0x743F, 0xFBEA, 0x7440, 0xE9DC, 0x7441, 0xD9C1, - 0x7443, 0xF5F2, 0x7444, 0xE0C5, 0x744B, 0xEAD4, 0x7455, 0xF9C2, 0x7457, 0xEABC, 0x7459, 0xD2C5, 0x745A, 0xFBD1, 0x745B, 0xE7C0, - 0x745C, 0xEBA5, 0x745E, 0xDFFA, 0x745F, 0xE3A2, 0x7460, 0xD7B9, 0x7462, 0xE9C3, 0x7464, 0xE8FD, 0x7465, 0xE8AF, 0x7468, 0xF2D3, - 0x7469, 0xFBA9, 0x746A, 0xD8A5, 0x746F, 0xD5CB, 0x747E, 0xD0C8, 0x7482, 0xD1AF, 0x7483, 0xD7E3, 0x7487, 0xE0C6, 0x7489, 0xD6A2, - 0x748B, 0xEDF0, 0x7498, 0xD7F3, 0x749C, 0xFCD4, 0x749E, 0xDAD7, 0x749F, 0xCCDF, 0x74A1, 0xF2D4, 0x74A3, 0xD1B0, 0x74A5, 0xCCE0, - 0x74A7, 0xDBFD, 0x74A8, 0xF3BF, 0x74AA, 0xF0D1, 0x74B0, 0xFCBB, 0x74B2, 0xE2B0, 0x74B5, 0xE6A5, 0x74B9, 0xE2DB, 0x74BD, 0xDFDE, - 0x74BF, 0xE0C7, 0x74C6, 0xF2EF, 0x74CA, 0xCCE1, 0x74CF, 0xD6EA, 0x74D4, 0xE7C2, 0x74D8, 0xCEB6, 0x74DA, 0xF3C0, 0x74DC, 0xCDFE, - 0x74E0, 0xFBD2, 0x74E2, 0xF8F8, 0x74E3, 0xF7FB, 0x74E6, 0xE8BF, 0x74EE, 0xE8B7, 0x74F7, 0xEDB6, 0x7501, 0xDCBA, 0x7504, 0xCCB4, - 0x7511, 0xF1F7, 0x7515, 0xE8B8, 0x7518, 0xCAF6, 0x751A, 0xE4A4, 0x751B, 0xF4D6, 0x751F, 0xDFE6, 0x7523, 0xDFA7, 0x7525, 0xDFE7, - 0x7526, 0xE1C1, 0x7528, 0xE9C4, 0x752B, 0xDCCB, 0x752C, 0xE9C5, 0x7530, 0xEFA3, 0x7531, 0xEBA6, 0x7532, 0xCBA3, 0x7533, 0xE3E9, - 0x7537, 0xD1FB, 0x7538, 0xEFA4, 0x753A, 0xEFEB, 0x7547, 0xD0B4, 0x754C, 0xCDA3, 0x754F, 0xE8E6, 0x7551, 0xEFA5, 0x7553, 0xD3CC, - 0x7554, 0xDAED, 0x7559, 0xD7BA, 0x755B, 0xF2D5, 0x755C, 0xF5E5, 0x755D, 0xD9EF, 0x7562, 0xF9B4, 0x7565, 0xD5D4, 0x7566, 0xFDCF, - 0x756A, 0xDBE3, 0x756F, 0xF1E1, 0x7570, 0xECB6, 0x7575, 0xFBFE, 0x7576, 0xD3D7, 0x7578, 0xD1B1, 0x757A, 0xCBB1, 0x757F, 0xD1B2, - 0x7586, 0xCBB2, 0x7587, 0xF1C2, 0x758A, 0xF4E1, 0x758B, 0xF9B5, 0x758E, 0xE1C3, 0x758F, 0xE1C2, 0x7591, 0xEBF7, 0x759D, 0xDFA8, - 0x75A5, 0xCBCA, 0x75AB, 0xE6B9, 0x75B1, 0xF8DE, 0x75B2, 0xF9AA, 0x75B3, 0xCAF7, 0x75B5, 0xEDB7, 0x75B8, 0xD3B8, 0x75B9, 0xF2D6, - 0x75BC, 0xD4D9, 0x75BD, 0xEEC5, 0x75BE, 0xF2F0, 0x75C2, 0xCAB2, 0x75C5, 0xDCBB, 0x75C7, 0xF1F8, 0x75CD, 0xECB7, 0x75D2, 0xE5CA, - 0x75D4, 0xF6C0, 0x75D5, 0xFDDD, 0x75D8, 0xD4E3, 0x75D9, 0xCCE2, 0x75DB, 0xF7D4, 0x75E2, 0xD7E5, 0x75F0, 0xD3C3, 0x75F2, 0xD8A6, - 0x75F4, 0xF6C1, 0x75FA, 0xDDF6, 0x75FC, 0xCDC0, 0x7600, 0xE5DC, 0x760D, 0xE5CB, 0x7619, 0xE1C4, 0x761F, 0xE8B0, 0x7620, 0xF4B0, - 0x7621, 0xF3EA, 0x7622, 0xDAEE, 0x7624, 0xD7BB, 0x7626, 0xE2B1, 0x763B, 0xD7AA, 0x7642, 0xD6FB, 0x764C, 0xE4DF, 0x764E, 0xCAD6, - 0x7652, 0xEBA8, 0x7656, 0xDBFE, 0x7661, 0xF6C2, 0x7664, 0xEFBB, 0x7669, 0xD4FD, 0x766C, 0xE0C8, 0x7670, 0xE8B9, 0x7672, 0xEFA6, - 0x7678, 0xCDA4, 0x767B, 0xD4F4, 0x767C, 0xDBA1, 0x767D, 0xDBDC, 0x767E, 0xDBDD, 0x7684, 0xEEDC, 0x7686, 0xCBCB, 0x7687, 0xFCD5, - 0x768E, 0xCEEB, 0x7690, 0xCDC1, 0x7693, 0xFBD3, 0x76AE, 0xF9AB, 0x76BA, 0xF5D4, 0x76BF, 0xD9A9, 0x76C2, 0xE9DD, 0x76C3, 0xDBCD, - 0x76C6, 0xDDCE, 0x76C8, 0xE7C3, 0x76CA, 0xECCC, 0x76D2, 0xF9EC, 0x76D6, 0xCBCC, 0x76DB, 0xE0FC, 0x76DC, 0xD4A8, 0x76DE, 0xEDD3, - 0x76DF, 0xD8EF, 0x76E1, 0xF2D7, 0x76E3, 0xCAF8, 0x76E4, 0xDAEF, 0x76E7, 0xD6D4, 0x76EE, 0xD9CD, 0x76F2, 0xD8EE, 0x76F4, 0xF2C1, - 0x76F8, 0xDFD3, 0x76FC, 0xDAF0, 0x76FE, 0xE2EA, 0x7701, 0xE0FD, 0x7704, 0xD8F8, 0x7708, 0xF7AF, 0x7709, 0xDAB6, 0x770B, 0xCAD7, - 0x771E, 0xF2D8, 0x7720, 0xD8F9, 0x7729, 0xFADF, 0x7737, 0xCFEF, 0x7738, 0xD9C2, 0x773A, 0xF0D2, 0x773C, 0xE4D1, 0x7740, 0xF3B7, - 0x774D, 0xFAE0, 0x775B, 0xEFEC, 0x7761, 0xE2B2, 0x7763, 0xD4BD, 0x7766, 0xD9CE, 0x776B, 0xF4E2, 0x7779, 0xD4A9, 0x777E, 0xCDC2, - 0x777F, 0xE7DA, 0x778B, 0xF2D9, 0x7791, 0xD9AA, 0x779E, 0xD8BE, 0x77A5, 0xDCAD, 0x77AC, 0xE2EB, 0x77AD, 0xD6FC, 0x77B0, 0xCAF9, - 0x77B3, 0xD4DA, 0x77BB, 0xF4D7, 0x77BC, 0xCCA1, 0x77BF, 0xCFBA, 0x77D7, 0xF5B8, 0x77DB, 0xD9C3, 0x77DC, 0xD0E8, 0x77E2, 0xE3C5, - 0x77E3, 0xEBF8, 0x77E5, 0xF2B1, 0x77E9, 0xCFBB, 0x77ED, 0xD3AD, 0x77EE, 0xE8E1, 0x77EF, 0xCEEC, 0x77F3, 0xE0B4, 0x7802, 0xDEE3, - 0x7812, 0xDDF7, 0x7825, 0xF2B2, 0x7826, 0xF3F6, 0x7827, 0xF6DB, 0x782C, 0xD7FE, 0x7832, 0xF8DF, 0x7834, 0xF7F2, 0x7845, 0xD0A9, - 0x784F, 0xE6DA, 0x785D, 0xF5A6, 0x786B, 0xD7BC, 0x786C, 0xCCE3, 0x786F, 0xE6DB, 0x787C, 0xDDDD, 0x7881, 0xD1B3, 0x7887, 0xEFED, - 0x788C, 0xD6DE, 0x788D, 0xE4F4, 0x788E, 0xE1EF, 0x7891, 0xDDF8, 0x7897, 0xE8CF, 0x78A3, 0xCAE5, 0x78A7, 0xDCA1, 0x78A9, 0xE0B5, - 0x78BA, 0xFCAC, 0x78BB, 0xFCAD, 0x78BC, 0xD8A7, 0x78C1, 0xEDB8, 0x78C5, 0xDBB6, 0x78CA, 0xD6F0, 0x78CB, 0xF3AF, 0x78CE, 0xCDA5, - 0x78D0, 0xDAF1, 0x78E8, 0xD8A8, 0x78EC, 0xCCE4, 0x78EF, 0xD1B4, 0x78F5, 0xCAD8, 0x78FB, 0xDAF2, 0x7901, 0xF5A7, 0x790E, 0xF5A8, - 0x7916, 0xE6A6, 0x792A, 0xD5EC, 0x792B, 0xD5F8, 0x792C, 0xDAF3, 0x793A, 0xE3C6, 0x793E, 0xDEE4, 0x7940, 0xDEE5, 0x7941, 0xD1B5, - 0x7947, 0xD1B6, 0x7948, 0xD1B7, 0x7949, 0xF2B3, 0x7950, 0xE9DE, 0x7956, 0xF0D3, 0x7957, 0xF2B4, 0x795A, 0xF0D4, 0x795B, 0xCBE4, - 0x795C, 0xFBD4, 0x795D, 0xF5E6, 0x795E, 0xE3EA, 0x7960, 0xDEE6, 0x7965, 0xDFD4, 0x7968, 0xF8F9, 0x796D, 0xF0AE, 0x797A, 0xD1B8, - 0x797F, 0xD6DF, 0x7981, 0xD0D7, 0x798D, 0xFCA1, 0x798E, 0xEFEE, 0x798F, 0xDCD8, 0x7991, 0xE9DF, 0x79A6, 0xE5DD, 0x79A7, 0xFDFB, - 0x79AA, 0xE0C9, 0x79AE, 0xD6C9, 0x79B1, 0xD4AA, 0x79B3, 0xE5CC, 0x79B9, 0xE9E0, 0x79BD, 0xD0D8, 0x79BE, 0xFCA2, 0x79BF, 0xD4BE, - 0x79C0, 0xE2B3, 0x79C1, 0xDEE7, 0x79C9, 0xDCBC, 0x79CA, 0xD2B6, 0x79CB, 0xF5D5, 0x79D1, 0xCEA1, 0x79D2, 0xF5A9, 0x79D5, 0xDDF9, - 0x79D8, 0xDDFA, 0x79DF, 0xF0D5, 0x79E4, 0xF6DF, 0x79E6, 0xF2DA, 0x79E7, 0xE4EB, 0x79E9, 0xF2F1, 0x79FB, 0xECB9, 0x7A00, 0xFDFC, - 0x7A05, 0xE1AA, 0x7A08, 0xCAD9, 0x7A0B, 0xEFEF, 0x7A0D, 0xF5AA, 0x7A14, 0xECF9, 0x7A17, 0xF8AD, 0x7A19, 0xF2C2, 0x7A1A, 0xF6C3, - 0x7A1C, 0xD7D2, 0x7A1F, 0xF9A2, 0x7A20, 0xF0D6, 0x7A2E, 0xF0FA, 0x7A31, 0xF6E0, 0x7A36, 0xE9F3, 0x7A37, 0xF2C3, 0x7A3B, 0xD4AB, - 0x7A3C, 0xCAB3, 0x7A3D, 0xCDA6, 0x7A3F, 0xCDC3, 0x7A40, 0xCDDA, 0x7A46, 0xD9CF, 0x7A49, 0xF6C4, 0x7A4D, 0xEEDD, 0x7A4E, 0xE7C4, - 0x7A57, 0xE2B4, 0x7A61, 0xDFE2, 0x7A62, 0xE7DB, 0x7A69, 0xE8B1, 0x7A6B, 0xFCAE, 0x7A70, 0xE5CD, 0x7A74, 0xFAEB, 0x7A76, 0xCFBC, - 0x7A79, 0xCFE2, 0x7A7A, 0xCDF6, 0x7A7D, 0xEFF0, 0x7A7F, 0xF4BE, 0x7A81, 0xD4CD, 0x7A84, 0xF3B8, 0x7A88, 0xE9A1, 0x7A92, 0xF2F2, - 0x7A93, 0xF3EB, 0x7A95, 0xF0D7, 0x7A98, 0xCFD7, 0x7A9F, 0xCFDF, 0x7AA9, 0xE8C0, 0x7AAA, 0xE8C1, 0x7AAE, 0xCFE3, 0x7AAF, 0xE9A2, - 0x7ABA, 0xD0AA, 0x7AC4, 0xF3C1, 0x7AC5, 0xD0AB, 0x7AC7, 0xD4E4, 0x7ACA, 0xEFBC, 0x7ACB, 0xD8A1, 0x7AD7, 0xD9DF, 0x7AD9, 0xF3D7, - 0x7ADD, 0xDCBD, 0x7ADF, 0xCCE5, 0x7AE0, 0xEDF1, 0x7AE3, 0xF1E2, 0x7AE5, 0xD4DB, 0x7AEA, 0xE2B5, 0x7AED, 0xCAE6, 0x7AEF, 0xD3AE, - 0x7AF6, 0xCCE6, 0x7AF9, 0xF1D3, 0x7AFA, 0xF5E7, 0x7AFF, 0xCADA, 0x7B0F, 0xFBEE, 0x7B11, 0xE1C5, 0x7B19, 0xDFE9, 0x7B1B, 0xEEDE, - 0x7B1E, 0xF7C2, 0x7B20, 0xD8A2, 0x7B26, 0xDDAC, 0x7B2C, 0xF0AF, 0x7B2D, 0xD6BD, 0x7B39, 0xE1AB, 0x7B46, 0xF9B6, 0x7B49, 0xD4F5, - 0x7B4B, 0xD0C9, 0x7B4C, 0xEFA7, 0x7B4D, 0xE2EC, 0x7B4F, 0xDBEA, 0x7B50, 0xCECC, 0x7B51, 0xF5E8, 0x7B52, 0xF7D5, 0x7B54, 0xD3CD, - 0x7B56, 0xF3FE, 0x7B60, 0xD0B5, 0x7B6C, 0xE0FE, 0x7B6E, 0xDFFB, 0x7B75, 0xE6DD, 0x7B7D, 0xE8A4, 0x7B87, 0xCBCD, 0x7B8B, 0xEFA8, - 0x7B8F, 0xEEB4, 0x7B94, 0xDAD8, 0x7B95, 0xD1B9, 0x7B97, 0xDFA9, 0x7B9A, 0xF3B0, 0x7B9D, 0xCCC4, 0x7BA1, 0xCEB7, 0x7BAD, 0xEFA9, - 0x7BB1, 0xDFD5, 0x7BB4, 0xEDD7, 0x7BB8, 0xEEC6, 0x7BC0, 0xEFBD, 0x7BC1, 0xFCD6, 0x7BC4, 0xDBF4, 0x7BC6, 0xEFAA, 0x7BC7, 0xF8B9, - 0x7BC9, 0xF5E9, 0x7BD2, 0xE3D9, 0x7BE0, 0xE1C6, 0x7BE4, 0xD4BF, 0x7BE9, 0xDEE8, 0x7C07, 0xF0EA, 0x7C12, 0xF3C2, 0x7C1E, 0xD3AF, - 0x7C21, 0xCADB, 0x7C27, 0xFCD7, 0x7C2A, 0xEDD8, 0x7C2B, 0xE1C7, 0x7C3D, 0xF4D8, 0x7C3E, 0xD6B3, 0x7C3F, 0xDDAD, 0x7C43, 0xD5BE, - 0x7C4C, 0xF1C3, 0x7C4D, 0xEEDF, 0x7C60, 0xD6EB, 0x7C64, 0xF4D9, 0x7C6C, 0xD7E6, 0x7C73, 0xDAB7, 0x7C83, 0xDDFB, 0x7C89, 0xDDCF, - 0x7C92, 0xD8A3, 0x7C95, 0xDAD9, 0x7C97, 0xF0D8, 0x7C98, 0xEFC4, 0x7C9F, 0xE1D8, 0x7CA5, 0xF1D4, 0x7CA7, 0xEDF2, 0x7CAE, 0xD5DB, - 0x7CB1, 0xD5DC, 0x7CB2, 0xF3C4, 0x7CB3, 0xCBD7, 0x7CB9, 0xE2B6, 0x7CBE, 0xEFF1, 0x7CCA, 0xFBD5, 0x7CD6, 0xD3D8, 0x7CDE, 0xDDD0, - 0x7CDF, 0xF0D9, 0x7CE0, 0xCBB3, 0x7CE7, 0xD5DD, 0x7CFB, 0xCDA7, 0x7CFE, 0xD0AC, 0x7D00, 0xD1BA, 0x7D02, 0xF1C4, 0x7D04, 0xE5B3, - 0x7D05, 0xFBF5, 0x7D06, 0xE9E1, 0x7D07, 0xFDE0, 0x7D08, 0xFCBC, 0x7D0A, 0xDAA2, 0x7D0B, 0xDAA3, 0x7D0D, 0xD2A1, 0x7D10, 0xD2EF, - 0x7D14, 0xE2ED, 0x7D17, 0xDEE9, 0x7D18, 0xCEDC, 0x7D19, 0xF2B5, 0x7D1A, 0xD0E4, 0x7D1B, 0xDDD1, 0x7D20, 0xE1C8, 0x7D21, 0xDBB7, - 0x7D22, 0xDFE3, 0x7D2B, 0xEDB9, 0x7D2C, 0xF1C5, 0x7D2E, 0xF3CF, 0x7D2F, 0xD7AB, 0x7D30, 0xE1AC, 0x7D33, 0xE3EB, 0x7D35, 0xEEC7, - 0x7D39, 0xE1C9, 0x7D3A, 0xCAFA, 0x7D42, 0xF0FB, 0x7D43, 0xFAE1, 0x7D44, 0xF0DA, 0x7D45, 0xCCE7, 0x7D46, 0xDAF4, 0x7D50, 0xCCBF, - 0x7D5E, 0xCEED, 0x7D61, 0xD5A9, 0x7D62, 0xFAE2, 0x7D66, 0xD0E5, 0x7D68, 0xEBD6, 0x7D6A, 0xECDF, 0x7D6E, 0xDFFC, 0x7D71, 0xF7D6, - 0x7D72, 0xDEEA, 0x7D73, 0xCBB4, 0x7D76, 0xEFBE, 0x7D79, 0xCCB5, 0x7D7F, 0xCFBD, 0x7D8E, 0xEFF2, 0x7D8F, 0xE2B7, 0x7D93, 0xCCE8, - 0x7D9C, 0xF0FC, 0x7DA0, 0xD6E0, 0x7DA2, 0xF1C6, 0x7DAC, 0xE2B8, 0x7DAD, 0xEBAB, 0x7DB1, 0xCBB5, 0x7DB2, 0xD8D1, 0x7DB4, 0xF4CE, - 0x7DB5, 0xF3F7, 0x7DB8, 0xD7C6, 0x7DBA, 0xD1BB, 0x7DBB, 0xF7AA, 0x7DBD, 0xEDCA, 0x7DBE, 0xD7D3, 0x7DBF, 0xD8FA, 0x7DC7, 0xF6C5, - 0x7DCA, 0xD1CC, 0x7DCB, 0xDDFC, 0x7DD6, 0xDFFD, 0x7DD8, 0xF9E5, 0x7DDA, 0xE0CA, 0x7DDD, 0xF2FD, 0x7DDE, 0xD3B0, 0x7DE0, 0xF4F3, - 0x7DE1, 0xDAC9, 0x7DE3, 0xE6DE, 0x7DE8, 0xF8BA, 0x7DE9, 0xE8D0, 0x7DEC, 0xD8FB, 0x7DEF, 0xEAD5, 0x7DF4, 0xD6A3, 0x7DFB, 0xF6C6, - 0x7E09, 0xF2DB, 0x7E0A, 0xE4FC, 0x7E15, 0xE8B2, 0x7E1B, 0xDADA, 0x7E1D, 0xF2DC, 0x7E1E, 0xFBD6, 0x7E1F, 0xE9B2, 0x7E21, 0xEEAD, - 0x7E23, 0xFAE3, 0x7E2B, 0xDCEE, 0x7E2E, 0xF5EA, 0x7E2F, 0xE6E0, 0x7E31, 0xF0FD, 0x7E37, 0xD7AC, 0x7E3D, 0xF5C5, 0x7E3E, 0xEEE0, - 0x7E41, 0xDBE5, 0x7E43, 0xDDDE, 0x7E46, 0xD9F0, 0x7E47, 0xE9A3, 0x7E52, 0xF1F9, 0x7E54, 0xF2C4, 0x7E55, 0xE0CB, 0x7E5E, 0xE9A4, - 0x7E61, 0xE2B9, 0x7E69, 0xE3B1, 0x7E6A, 0xFCEB, 0x7E6B, 0xCDA8, 0x7E6D, 0xCCB6, 0x7E70, 0xF0DB, 0x7E79, 0xE6BA, 0x7E7C, 0xCDA9, - 0x7E82, 0xF3C3, 0x7E8C, 0xE1D9, 0x7E8F, 0xEFAB, 0x7E93, 0xE7C5, 0x7E96, 0xE0E9, 0x7E98, 0xF3C5, 0x7E9B, 0xD4C0, 0x7E9C, 0xD5BF, - 0x7F36, 0xDDAE, 0x7F38, 0xF9FC, 0x7F3A, 0xCCC0, 0x7F4C, 0xE5A2, 0x7F50, 0xCEB8, 0x7F54, 0xD8D2, 0x7F55, 0xF9D6, 0x7F6A, 0xF1AA, - 0x7F6B, 0xCED1, 0x7F6E, 0xF6C7, 0x7F70, 0xDBEB, 0x7F72, 0xDFFE, 0x7F75, 0xD8E1, 0x7F77, 0xF7F3, 0x7F79, 0xD7E7, 0x7F85, 0xD4FE, - 0x7F88, 0xD1BC, 0x7F8A, 0xE5CF, 0x7F8C, 0xCBB6, 0x7F8E, 0xDAB8, 0x7F94, 0xCDC4, 0x7F9A, 0xD6BE, 0x7F9E, 0xE2BA, 0x7FA4, 0xCFD8, - 0x7FA8, 0xE0CC, 0x7FA9, 0xEBF9, 0x7FB2, 0xFDFD, 0x7FB8, 0xD7E8, 0x7FB9, 0xCBD8, 0x7FBD, 0xE9E2, 0x7FC1, 0xE8BA, 0x7FC5, 0xE3C7, - 0x7FCA, 0xECCD, 0x7FCC, 0xECCE, 0x7FCE, 0xD6BF, 0x7FD2, 0xE3A7, 0x7FD4, 0xDFD6, 0x7FD5, 0xFDE8, 0x7FDF, 0xEEE1, 0x7FE0, 0xF6A8, - 0x7FE1, 0xDDFD, 0x7FE9, 0xF8BB, 0x7FEB, 0xE8D1, 0x7FF0, 0xF9D7, 0x7FF9, 0xCEEE, 0x7FFC, 0xECCF, 0x8000, 0xE9A5, 0x8001, 0xD6D5, - 0x8003, 0xCDC5, 0x8005, 0xEDBA, 0x8006, 0xD1BD, 0x8009, 0xCFBE, 0x800C, 0xECBB, 0x8010, 0xD2B1, 0x8015, 0xCCE9, 0x8017, 0xD9C4, - 0x8018, 0xE9FC, 0x802D, 0xD1BE, 0x8033, 0xECBC, 0x8036, 0xE5AD, 0x803D, 0xF7B0, 0x803F, 0xCCEA, 0x8043, 0xD3C4, 0x8046, 0xD6C0, - 0x804A, 0xD6FD, 0x8056, 0xE1A1, 0x8058, 0xDEBD, 0x805A, 0xF6A9, 0x805E, 0xDAA4, 0x806F, 0xD6A4, 0x8070, 0xF5C6, 0x8072, 0xE1A2, - 0x8073, 0xE9C6, 0x8077, 0xF2C5, 0x807D, 0xF4E9, 0x807E, 0xD6EC, 0x807F, 0xEBD3, 0x8084, 0xECBD, 0x8085, 0xE2DC, 0x8086, 0xDEEB, - 0x8087, 0xF0DC, 0x8089, 0xEBBF, 0x808B, 0xD7CE, 0x808C, 0xD1BF, 0x8096, 0xF5AB, 0x809B, 0xF9FD, 0x809D, 0xCADC, 0x80A1, 0xCDC6, - 0x80A2, 0xF2B6, 0x80A5, 0xDDFE, 0x80A9, 0xCCB7, 0x80AA, 0xDBB8, 0x80AF, 0xD0E9, 0x80B1, 0xCEDD, 0x80B2, 0xEBC0, 0x80B4, 0xFDA2, - 0x80BA, 0xF8CB, 0x80C3, 0xEAD6, 0x80C4, 0xF1B0, 0x80CC, 0xDBCE, 0x80CE, 0xF7C3, 0x80DA, 0xDBCF, 0x80DB, 0xCBA4, 0x80DE, 0xF8E0, - 0x80E1, 0xFBD7, 0x80E4, 0xEBCA, 0x80E5, 0xE0A1, 0x80F1, 0xCECD, 0x80F4, 0xD4DC, 0x80F8, 0xFDD8, 0x80FD, 0xD2F6, 0x8102, 0xF2B7, - 0x8105, 0xFAF6, 0x8106, 0xF6AA, 0x8107, 0xFAF7, 0x8108, 0xD8E6, 0x810A, 0xF4B1, 0x8118, 0xE8D2, 0x811A, 0xCAC5, 0x811B, 0xCCEB, - 0x8123, 0xE2EE, 0x8129, 0xE2BB, 0x812B, 0xF7AD, 0x812F, 0xF8E1, 0x8139, 0xF3EC, 0x813E, 0xDEA1, 0x814B, 0xE4FD, 0x814E, 0xE3EC, - 0x8150, 0xDDAF, 0x8151, 0xDDB0, 0x8154, 0xCBB7, 0x8155, 0xE8D3, 0x8165, 0xE1A3, 0x8166, 0xD2E0, 0x816B, 0xF0FE, 0x8170, 0xE9A6, - 0x8171, 0xCBF2, 0x8178, 0xEDF3, 0x8179, 0xDCD9, 0x817A, 0xE0CD, 0x817F, 0xF7DA, 0x8180, 0xDBB9, 0x8188, 0xCCAE, 0x818A, 0xDADB, - 0x818F, 0xCDC7, 0x819A, 0xDDB1, 0x819C, 0xD8AF, 0x819D, 0xE3A3, 0x81A0, 0xCEEF, 0x81A3, 0xF2F3, 0x81A8, 0xF8B3, 0x81B3, 0xE0CE, - 0x81B5, 0xF5FD, 0x81BA, 0xEBEC, 0x81BD, 0xD3C5, 0x81BE, 0xFCEC, 0x81BF, 0xD2DB, 0x81C0, 0xD4EB, 0x81C2, 0xDEA2, 0x81C6, 0xE5E6, - 0x81CD, 0xF0B0, 0x81D8, 0xD5C4, 0x81DF, 0xEDF4, 0x81E3, 0xE3ED, 0x81E5, 0xE8C2, 0x81E7, 0xEDF5, 0x81E8, 0xD7FC, 0x81EA, 0xEDBB, - 0x81ED, 0xF6AB, 0x81F3, 0xF2B8, 0x81F4, 0xF6C8, 0x81FA, 0xD3E6, 0x81FB, 0xF2DD, 0x81FC, 0xCFBF, 0x81FE, 0xEBAC, 0x8205, 0xCFC0, - 0x8207, 0xE6A8, 0x8208, 0xFDE9, 0x820A, 0xCFC1, 0x820C, 0xE0DF, 0x820D, 0xDEEC, 0x8212, 0xE0A2, 0x821B, 0xF4BF, 0x821C, 0xE2EF, - 0x821E, 0xD9F1, 0x821F, 0xF1C7, 0x8221, 0xCBB8, 0x822A, 0xF9FE, 0x822B, 0xDBBA, 0x822C, 0xDAF5, 0x8235, 0xF6EC, 0x8236, 0xDADC, - 0x8237, 0xFAE4, 0x8239, 0xE0CF, 0x8240, 0xDDB2, 0x8245, 0xE6A9, 0x8247, 0xEFF3, 0x8259, 0xF3ED, 0x8264, 0xEBFA, 0x8266, 0xF9E6, - 0x826E, 0xCADD, 0x826F, 0xD5DE, 0x8271, 0xCADE, 0x8272, 0xDFE4, 0x8276, 0xE6FD, 0x8278, 0xF5AC, 0x827E, 0xE4F5, 0x828B, 0xE9E3, - 0x828D, 0xEDCB, 0x828E, 0xCFE4, 0x8292, 0xD8D3, 0x8299, 0xDDB3, 0x829A, 0xD4EC, 0x829D, 0xF2B9, 0x829F, 0xDFB7, 0x82A5, 0xCBCE, - 0x82A6, 0xFBD8, 0x82A9, 0xD0D9, 0x82AC, 0xDDD2, 0x82AD, 0xF7F4, 0x82AE, 0xE7DC, 0x82AF, 0xE4A5, 0x82B1, 0xFCA3, 0x82B3, 0xDBBB, - 0x82B7, 0xF2BA, 0x82B8, 0xE9FD, 0x82B9, 0xD0CA, 0x82BB, 0xF5D6, 0x82BC, 0xD9C5, 0x82BD, 0xE4B4, 0x82BF, 0xEDA7, 0x82D1, 0xEABD, - 0x82D2, 0xE6FE, 0x82D4, 0xF7C4, 0x82D5, 0xF5AD, 0x82D7, 0xD9E0, 0x82DB, 0xCAB4, 0x82DE, 0xF8E2, 0x82DF, 0xCFC2, 0x82E1, 0xECBE, - 0x82E5, 0xE5B4, 0x82E6, 0xCDC8, 0x82E7, 0xEEC8, 0x82F1, 0xE7C8, 0x82FD, 0xCDC9, 0x82FE, 0xF9B7, 0x8301, 0xF1E8, 0x8302, 0xD9F2, - 0x8303, 0xDBF5, 0x8304, 0xCAB5, 0x8305, 0xD9C6, 0x8309, 0xD8C9, 0x8317, 0xD9AB, 0x8328, 0xEDBC, 0x832B, 0xD8D4, 0x832F, 0xDCDA, - 0x8331, 0xE2BC, 0x8334, 0xFCED, 0x8335, 0xECE0, 0x8336, 0xD2FE, 0x8338, 0xE9C7, 0x8339, 0xE6AA, 0x8340, 0xE2F0, 0x8347, 0xFABB, - 0x8349, 0xF5AE, 0x834A, 0xFBAA, 0x834F, 0xECFB, 0x8351, 0xECBF, 0x8352, 0xFCD8, 0x8373, 0xD4E5, 0x8377, 0xF9C3, 0x837B, 0xEEE2, - 0x8389, 0xD7E9, 0x838A, 0xEDF6, 0x838E, 0xDEED, 0x8396, 0xCCEC, 0x8398, 0xE3EE, 0x839E, 0xE8D4, 0x83A2, 0xFAF8, 0x83A9, 0xDDB4, - 0x83AA, 0xE4B5, 0x83AB, 0xD8B0, 0x83BD, 0xD8D5, 0x83C1, 0xF4EA, 0x83C5, 0xCEB9, 0x83C9, 0xD6E1, 0x83CA, 0xCFD2, 0x83CC, 0xD0B6, - 0x83D3, 0xCEA2, 0x83D6, 0xF3EE, 0x83DC, 0xF3F8, 0x83E9, 0xDCCC, 0x83EB, 0xD0CB, 0x83EF, 0xFCA4, 0x83F0, 0xCDCA, 0x83F1, 0xD7D4, - 0x83F2, 0xDEA3, 0x83F4, 0xE4E0, 0x83F9, 0xEEC9, 0x83FD, 0xE2DD, 0x8403, 0xF5FE, 0x8404, 0xD4AC, 0x840A, 0xD5D1, 0x840C, 0xD8F0, - 0x840D, 0xF8C3, 0x840E, 0xEAD7, 0x8429, 0xF5D7, 0x842C, 0xD8BF, 0x8431, 0xFDC0, 0x8438, 0xEBAD, 0x843D, 0xD5AA, 0x8449, 0xE7A8, - 0x8457, 0xEECA, 0x845B, 0xCAE7, 0x8461, 0xF8E3, 0x8463, 0xD4DD, 0x8466, 0xEAD8, 0x846B, 0xFBD9, 0x846C, 0xEDF7, 0x846F, 0xE5B5, - 0x8475, 0xD0AD, 0x847A, 0xF1F1, 0x8490, 0xE2BD, 0x8494, 0xE3C8, 0x8499, 0xD9D5, 0x849C, 0xDFAA, 0x84A1, 0xDBBC, 0x84B2, 0xF8E4, - 0x84B8, 0xF1FA, 0x84BB, 0xE5B6, 0x84BC, 0xF3EF, 0x84BF, 0xFBDA, 0x84C0, 0xE1E0, 0x84C2, 0xD9AC, 0x84C4, 0xF5EB, 0x84C6, 0xE0B6, - 0x84C9, 0xE9C8, 0x84CB, 0xCBCF, 0x84CD, 0xE3C9, 0x84D1, 0xDEEE, 0x84DA, 0xE2BE, 0x84EC, 0xDCEF, 0x84EE, 0xD6A5, 0x84F4, 0xE2F1, - 0x84FC, 0xD6FE, 0x8511, 0xD9A1, 0x8513, 0xD8C0, 0x8514, 0xDCDB, 0x8517, 0xEDBD, 0x8518, 0xDFB8, 0x851A, 0xEAA5, 0x851E, 0xD7AD, - 0x8521, 0xF3F9, 0x8523, 0xEDF8, 0x8525, 0xF5C7, 0x852C, 0xE1CA, 0x852D, 0xEBE3, 0x852F, 0xF2DE, 0x853D, 0xF8CC, 0x853F, 0xEAD9, - 0x8541, 0xD3C6, 0x8543, 0xDBE6, 0x8549, 0xF5AF, 0x854E, 0xCEF0, 0x8553, 0xE9FE, 0x8559, 0xFBB6, 0x8563, 0xE2F2, 0x8568, 0xCFF2, - 0x8569, 0xF7B9, 0x856A, 0xD9F3, 0x856D, 0xE1CB, 0x8584, 0xDADD, 0x8587, 0xDAB9, 0x858F, 0xEBFB, 0x8591, 0xCBB9, 0x8594, 0xEDF9, - 0x859B, 0xE0E0, 0x85A6, 0xF4C0, 0x85A8, 0xFDBC, 0x85A9, 0xDFB1, 0x85AA, 0xE3EF, 0x85AF, 0xE0A3, 0x85B0, 0xFDB9, 0x85BA, 0xF0B1, - 0x85C1, 0xCDCB, 0x85C9, 0xEDBE, 0x85CD, 0xD5C0, 0x85CE, 0xE3F0, 0x85CF, 0xEDFA, 0x85D5, 0xE9E4, 0x85DC, 0xD5ED, 0x85DD, 0xE7DD, - 0x85E4, 0xD4F6, 0x85E5, 0xE5B7, 0x85E9, 0xDBE7, 0x85EA, 0xE2BF, 0x85F7, 0xEECB, 0x85FA, 0xD7F4, 0x85FB, 0xF0DD, 0x85FF, 0xCEAB, - 0x8602, 0xE7DE, 0x8606, 0xD6D6, 0x8607, 0xE1CC, 0x860A, 0xE8B3, 0x8616, 0xE5EE, 0x8617, 0xDCA2, 0x861A, 0xE0D0, 0x862D, 0xD5B5, - 0x863F, 0xD5A1, 0x864E, 0xFBDB, 0x8650, 0xF9CB, 0x8654, 0xCBF3, 0x8655, 0xF4A5, 0x865B, 0xFAC8, 0x865C, 0xD6D7, 0x865E, 0xE9E5, - 0x865F, 0xFBDC, 0x8667, 0xFDD0, 0x8679, 0xFBF6, 0x868A, 0xDAA5, 0x868C, 0xDBBD, 0x8693, 0xECE2, 0x86A3, 0xCDF7, 0x86A4, 0xF0DE, - 0x86A9, 0xF6C9, 0x86C7, 0xDEEF, 0x86CB, 0xD3B1, 0x86D4, 0xFCEE, 0x86D9, 0xE8C3, 0x86DB, 0xF1C8, 0x86DF, 0xCEF1, 0x86E4, 0xF9ED, - 0x86ED, 0xF2F4, 0x86FE, 0xE4B6, 0x8700, 0xF5B9, 0x8702, 0xDCF0, 0x8703, 0xE3F1, 0x8708, 0xE8A5, 0x8718, 0xF2BB, 0x871A, 0xDEA4, - 0x871C, 0xDACC, 0x874E, 0xCAE9, 0x8755, 0xE3DA, 0x8757, 0xFCD9, 0x875F, 0xEADA, 0x8766, 0xF9C4, 0x8768, 0xE3A4, 0x8774, 0xFBDD, - 0x8776, 0xEFCA, 0x8778, 0xE8C4, 0x8782, 0xD5CC, 0x878D, 0xEBD7, 0x879F, 0xD9AD, 0x87A2, 0xFBAB, 0x87B3, 0xD3D9, 0x87BA, 0xD5A2, - 0x87C4, 0xF6DE, 0x87E0, 0xDAF6, 0x87EC, 0xE0D1, 0x87EF, 0xE9A8, 0x87F2, 0xF5F9, 0x87F9, 0xFAAF, 0x87FB, 0xEBFC, 0x87FE, 0xE0EA, - 0x8805, 0xE3B2, 0x881F, 0xD5C5, 0x8822, 0xF1E3, 0x8823, 0xD5EE, 0x8831, 0xCDCC, 0x8836, 0xEDD9, 0x883B, 0xD8C1, 0x8840, 0xFAEC, - 0x8846, 0xF1EB, 0x884C, 0xFABC, 0x884D, 0xE6E2, 0x8852, 0xFAE5, 0x8853, 0xE2FA, 0x8857, 0xCAB6, 0x8859, 0xE4B7, 0x885B, 0xEADB, - 0x885D, 0xF5FA, 0x8861, 0xFBAC, 0x8862, 0xCFC3, 0x8863, 0xEBFD, 0x8868, 0xF8FA, 0x886B, 0xDFB9, 0x8870, 0xE1F1, 0x8872, 0xD2A4, - 0x8877, 0xF5FB, 0x887E, 0xD0DA, 0x887F, 0xD0DB, 0x8881, 0xEABE, 0x8882, 0xD9B1, 0x8888, 0xCAB7, 0x888B, 0xD3E7, 0x888D, 0xF8E5, - 0x8892, 0xD3B2, 0x8896, 0xE2C0, 0x8897, 0xF2DF, 0x889E, 0xCDE5, 0x88AB, 0xF9AC, 0x88B4, 0xCDCD, 0x88C1, 0xEEAE, 0x88C2, 0xD6AE, - 0x88CF, 0xD7EA, 0x88D4, 0xE7E0, 0x88D5, 0xEBAE, 0x88D9, 0xCFD9, 0x88DC, 0xDCCD, 0x88DD, 0xEDFB, 0x88DF, 0xDEF0, 0x88E1, 0xD7EB, - 0x88E8, 0xDEA5, 0x88F3, 0xDFD7, 0x88F4, 0xDBD0, 0x88F5, 0xDBD1, 0x88F8, 0xD5A3, 0x88FD, 0xF0B2, 0x8907, 0xDCDC, 0x8910, 0xCAE8, - 0x8912, 0xF8E6, 0x8913, 0xDCCE, 0x8918, 0xEADC, 0x8919, 0xDBD2, 0x8925, 0xE9B3, 0x892A, 0xF7DB, 0x8936, 0xE3A8, 0x8938, 0xD7AE, - 0x893B, 0xE0E1, 0x8941, 0xCBBA, 0x8944, 0xE5D1, 0x895F, 0xD0DC, 0x8964, 0xD5C1, 0x896A, 0xD8CA, 0x8972, 0xE3A9, 0x897F, 0xE0A4, - 0x8981, 0xE9A9, 0x8983, 0xD3C7, 0x8986, 0xDCDD, 0x8987, 0xF8AE, 0x898B, 0xCCB8, 0x898F, 0xD0AE, 0x8993, 0xD8F2, 0x8996, 0xE3CA, - 0x89A1, 0xCCAF, 0x89A9, 0xD4AD, 0x89AA, 0xF6D1, 0x89B2, 0xD0CC, 0x89BA, 0xCAC6, 0x89BD, 0xD5C2, 0x89C0, 0xCEBA, 0x89D2, 0xCAC7, - 0x89E3, 0xFAB0, 0x89F4, 0xDFD8, 0x89F8, 0xF5BA, 0x8A00, 0xE5EB, 0x8A02, 0xEFF4, 0x8A03, 0xDDB5, 0x8A08, 0xCDAA, 0x8A0A, 0xE3F2, - 0x8A0C, 0xFBF7, 0x8A0E, 0xF7D0, 0x8A13, 0xFDBA, 0x8A16, 0xFDE1, 0x8A17, 0xF6FE, 0x8A18, 0xD1C0, 0x8A1B, 0xE8C5, 0x8A1D, 0xE4B8, - 0x8A1F, 0xE1E8, 0x8A23, 0xCCC1, 0x8A25, 0xD2ED, 0x8A2A, 0xDBBE, 0x8A2D, 0xE0E2, 0x8A31, 0xFAC9, 0x8A34, 0xE1CD, 0x8A36, 0xCAB8, - 0x8A3A, 0xF2E0, 0x8A3B, 0xF1C9, 0x8A50, 0xDEF1, 0x8A54, 0xF0DF, 0x8A55, 0xF8C4, 0x8A5B, 0xEECC, 0x8A5E, 0xDEF2, 0x8A60, 0xE7C9, - 0x8A62, 0xE2F3, 0x8A63, 0xE7E1, 0x8A66, 0xE3CB, 0x8A69, 0xE3CC, 0x8A6D, 0xCFF8, 0x8A6E, 0xEFAC, 0x8A70, 0xFDFE, 0x8A71, 0xFCA5, - 0x8A72, 0xFAB1, 0x8A73, 0xDFD9, 0x8A75, 0xE0D2, 0x8A79, 0xF4DA, 0x8A85, 0xF1CA, 0x8A87, 0xCEA3, 0x8A8C, 0xF2BC, 0x8A8D, 0xECE3, - 0x8A93, 0xE0A5, 0x8A95, 0xF7AB, 0x8A98, 0xEBAF, 0x8A9E, 0xE5DE, 0x8AA0, 0xE1A4, 0x8AA1, 0xCDAB, 0x8AA3, 0xD9F4, 0x8AA4, 0xE8A6, - 0x8AA5, 0xCDCE, 0x8AA6, 0xE1E9, 0x8AA8, 0xFCEF, 0x8AAA, 0xE0E3, 0x8AB0, 0xE2C1, 0x8AB2, 0xCEA4, 0x8AB9, 0xDEA6, 0x8ABC, 0xEBFE, - 0x8ABE, 0xEBDD, 0x8ABF, 0xF0E0, 0x8AC2, 0xF4DB, 0x8AC4, 0xE2F4, 0x8AC7, 0xD3C8, 0x8ACB, 0xF4EB, 0x8ACD, 0xEEB5, 0x8ACF, 0xF5D8, - 0x8AD2, 0xD5DF, 0x8AD6, 0xD6E5, 0x8ADB, 0xEBB0, 0x8ADC, 0xF4E3, 0x8AE1, 0xE3CD, 0x8AE6, 0xF4F4, 0x8AE7, 0xFAB2, 0x8AEA, 0xEFF5, - 0x8AEB, 0xCADF, 0x8AED, 0xEBB1, 0x8AEE, 0xEDBF, 0x8AF1, 0xFDC9, 0x8AF6, 0xE4A6, 0x8AF7, 0xF9A4, 0x8AF8, 0xF0B3, 0x8AFA, 0xE5EC, - 0x8AFE, 0xD1E7, 0x8B00, 0xD9C7, 0x8B01, 0xE4D7, 0x8B02, 0xEADD, 0x8B04, 0xD4F7, 0x8B0E, 0xDABA, 0x8B10, 0xDACD, 0x8B14, 0xF9CC, - 0x8B16, 0xE1DA, 0x8B17, 0xDBBF, 0x8B19, 0xCCC5, 0x8B1A, 0xECD0, 0x8B1B, 0xCBBB, 0x8B1D, 0xDEF3, 0x8B20, 0xE9AA, 0x8B28, 0xD9C8, - 0x8B2B, 0xEEE3, 0x8B2C, 0xD7BD, 0x8B33, 0xCFC4, 0x8B39, 0xD0CD, 0x8B41, 0xFCA6, 0x8B49, 0xF1FB, 0x8B4E, 0xFDD2, 0x8B4F, 0xD1C1, - 0x8B58, 0xE3DB, 0x8B5A, 0xD3C9, 0x8B5C, 0xDCCF, 0x8B66, 0xCCED, 0x8B6C, 0xDEA7, 0x8B6F, 0xE6BB, 0x8B70, 0xECA1, 0x8B74, 0xCCB9, - 0x8B77, 0xFBDE, 0x8B7D, 0xE7E2, 0x8B80, 0xD4C1, 0x8B8A, 0xDCA8, 0x8B90, 0xE2C2, 0x8B92, 0xF3D8, 0x8B93, 0xE5D3, 0x8B96, 0xF3D9, - 0x8B9A, 0xF3C6, 0x8C37, 0xCDDB, 0x8C3F, 0xCDAC, 0x8C41, 0xFCC3, 0x8C46, 0xD4E7, 0x8C48, 0xD1C2, 0x8C4A, 0xF9A5, 0x8C4C, 0xE8D5, - 0x8C55, 0xE3CE, 0x8C5A, 0xD4CA, 0x8C61, 0xDFDA, 0x8C6A, 0xFBDF, 0x8C6B, 0xE7E3, 0x8C79, 0xF8FB, 0x8C7A, 0xE3CF, 0x8C82, 0xF5B0, - 0x8C8A, 0xD8E7, 0x8C8C, 0xD9C9, 0x8C9D, 0xF8AF, 0x8C9E, 0xEFF6, 0x8CA0, 0xDDB6, 0x8CA1, 0xEEAF, 0x8CA2, 0xCDF8, 0x8CA7, 0xDEB8, - 0x8CA8, 0xFCA7, 0x8CA9, 0xF7FC, 0x8CAA, 0xF7B1, 0x8CAB, 0xCEBB, 0x8CAC, 0xF4A1, 0x8CAF, 0xEECD, 0x8CB0, 0xE1AE, 0x8CB3, 0xECC3, - 0x8CB4, 0xCFFE, 0x8CB6, 0xF8BF, 0x8CB7, 0xD8E2, 0x8CB8, 0xD3E8, 0x8CBB, 0xDEA8, 0x8CBC, 0xF4E4, 0x8CBD, 0xECC2, 0x8CBF, 0xD9F5, - 0x8CC0, 0xF9C5, 0x8CC1, 0xDDD3, 0x8CC2, 0xD6F1, 0x8CC3, 0xECFC, 0x8CC4, 0xFCF0, 0x8CC7, 0xEDC0, 0x8CC8, 0xCAB9, 0x8CCA, 0xEEE4, - 0x8CD1, 0xF2E1, 0x8CD3, 0xDEB9, 0x8CDA, 0xD6F2, 0x8CDC, 0xDEF4, 0x8CDE, 0xDFDB, 0x8CE0, 0xDBD3, 0x8CE2, 0xFAE7, 0x8CE3, 0xD8E3, - 0x8CE4, 0xF4C1, 0x8CE6, 0xDDB7, 0x8CEA, 0xF2F5, 0x8CED, 0xD4AE, 0x8CF4, 0xD6F3, 0x8CFB, 0xDDB8, 0x8CFC, 0xCFC5, 0x8CFD, 0xDFDF, - 0x8D04, 0xF2BE, 0x8D05, 0xF6A1, 0x8D07, 0xEBCB, 0x8D08, 0xF1FC, 0x8D0A, 0xF3C7, 0x8D0D, 0xE0EB, 0x8D13, 0xEDFC, 0x8D16, 0xE1DB, - 0x8D64, 0xEEE5, 0x8D66, 0xDEF5, 0x8D6B, 0xFAD3, 0x8D70, 0xF1CB, 0x8D73, 0xD0AF, 0x8D74, 0xDDB9, 0x8D77, 0xD1C3, 0x8D85, 0xF5B1, - 0x8D8A, 0xEAC6, 0x8D99, 0xF0E1, 0x8DA3, 0xF6AC, 0x8DA8, 0xF5D9, 0x8DB3, 0xF0EB, 0x8DBA, 0xDDBA, 0x8DBE, 0xF2BF, 0x8DC6, 0xF7C5, - 0x8DCB, 0xDBA2, 0x8DCC, 0xF2F6, 0x8DCF, 0xCABA, 0x8DDB, 0xF7F5, 0x8DDD, 0xCBE5, 0x8DE1, 0xEEE6, 0x8DE3, 0xE0D3, 0x8DE8, 0xCEA5, - 0x8DEF, 0xD6D8, 0x8DF3, 0xD4AF, 0x8E0A, 0xE9C9, 0x8E0F, 0xD3CE, 0x8E10, 0xF4C2, 0x8E1E, 0xCBE6, 0x8E2A, 0xF1A1, 0x8E30, 0xEBB2, - 0x8E35, 0xF1A2, 0x8E42, 0xEBB3, 0x8E44, 0xF0B4, 0x8E47, 0xCBF4, 0x8E48, 0xD4B0, 0x8E49, 0xF3B2, 0x8E4A, 0xFBB7, 0x8E59, 0xF5EC, - 0x8E5F, 0xEEE7, 0x8E60, 0xF4B2, 0x8E74, 0xF5ED, 0x8E76, 0xCFF3, 0x8E81, 0xF0E2, 0x8E87, 0xEECE, 0x8E8A, 0xF1CC, 0x8E8D, 0xE5B8, - 0x8EAA, 0xD7F5, 0x8EAB, 0xE3F3, 0x8EAC, 0xCFE5, 0x8EC0, 0xCFC6, 0x8ECA, 0xF3B3, 0x8ECB, 0xE4D8, 0x8ECC, 0xCFF9, 0x8ECD, 0xCFDA, - 0x8ED2, 0xFACD, 0x8EDF, 0xE6E3, 0x8EEB, 0xF2E2, 0x8EF8, 0xF5EE, 0x8EFB, 0xCABB, 0x8EFE, 0xE3DC, 0x8F03, 0xCEF2, 0x8F05, 0xD6D9, - 0x8F09, 0xEEB0, 0x8F12, 0xF4E5, 0x8F13, 0xD8C2, 0x8F14, 0xDCD0, 0x8F15, 0xCCEE, 0x8F1B, 0xD5E0, 0x8F1C, 0xF6CA, 0x8F1D, 0xFDCA, - 0x8F1E, 0xD8D6, 0x8F1F, 0xF4CF, 0x8F26, 0xD6A6, 0x8F27, 0xDCBE, 0x8F29, 0xDBD4, 0x8F2A, 0xD7C7, 0x8F2F, 0xF2FE, 0x8F33, 0xF1CD, - 0x8F38, 0xE2C3, 0x8F39, 0xDCDE, 0x8F3B, 0xDCDF, 0x8F3E, 0xEFAD, 0x8F3F, 0xE6AB, 0x8F44, 0xF9DD, 0x8F45, 0xEABF, 0x8F49, 0xEFAE, - 0x8F4D, 0xF4D0, 0x8F4E, 0xCEF3, 0x8F5D, 0xE6AC, 0x8F5F, 0xCEDE, 0x8F62, 0xD5F9, 0x8F9B, 0xE3F4, 0x8F9C, 0xCDD0, 0x8FA3, 0xD5B8, - 0x8FA6, 0xF7FD, 0x8FA8, 0xDCA9, 0x8FAD, 0xDEF6, 0x8FAF, 0xDCAA, 0x8FB0, 0xF2E3, 0x8FB1, 0xE9B4, 0x8FB2, 0xD2DC, 0x8FC2, 0xE9E6, - 0x8FC5, 0xE3F6, 0x8FCE, 0xE7CA, 0x8FD1, 0xD0CE, 0x8FD4, 0xDAF7, 0x8FE6, 0xCABC, 0x8FEA, 0xEEE8, 0x8FEB, 0xDADE, 0x8FED, 0xF2F7, - 0x8FF0, 0xE2FB, 0x8FF2, 0xCCA6, 0x8FF7, 0xDABB, 0x8FF9, 0xEEE9, 0x8FFD, 0xF5DA, 0x9000, 0xF7DC, 0x9001, 0xE1EA, 0x9002, 0xCEC1, - 0x9003, 0xD4B1, 0x9005, 0xFDB1, 0x9006, 0xE6BD, 0x9008, 0xFBAD, 0x900B, 0xF8E7, 0x900D, 0xE1CE, 0x900F, 0xF7E2, 0x9010, 0xF5EF, - 0x9011, 0xCFC7, 0x9014, 0xD4B2, 0x9015, 0xCCEF, 0x9017, 0xD4E8, 0x9019, 0xEECF, 0x901A, 0xF7D7, 0x901D, 0xE0A6, 0x901E, 0xD6C1, - 0x901F, 0xE1DC, 0x9020, 0xF0E3, 0x9021, 0xF1E4, 0x9022, 0xDCF1, 0x9023, 0xD6A7, 0x902E, 0xF4F5, 0x9031, 0xF1CE, 0x9032, 0xF2E4, - 0x9035, 0xD0B0, 0x9038, 0xECEF, 0x903C, 0xF9BA, 0x903E, 0xEBB5, 0x9041, 0xD4ED, 0x9042, 0xE2C4, 0x9047, 0xE9E7, 0x904A, 0xEBB4, - 0x904B, 0xEAA1, 0x904D, 0xF8BC, 0x904E, 0xCEA6, 0x9050, 0xF9C6, 0x9051, 0xFCDA, 0x9053, 0xD4B3, 0x9054, 0xD3B9, 0x9055, 0xEADE, - 0x9059, 0xE9AB, 0x905C, 0xE1E1, 0x905D, 0xD3CF, 0x905E, 0xF4F6, 0x9060, 0xEAC0, 0x9061, 0xE1CF, 0x9063, 0xCCBA, 0x9069, 0xEEEA, - 0x906D, 0xF0E4, 0x906E, 0xF3B4, 0x906F, 0xD4EE, 0x9072, 0xF2C0, 0x9075, 0xF1E5, 0x9077, 0xF4C3, 0x9078, 0xE0D4, 0x907A, 0xEBB6, - 0x907C, 0xD7A1, 0x907D, 0xCBE8, 0x907F, 0xF9AD, 0x9080, 0xE9AD, 0x9081, 0xD8E4, 0x9082, 0xFAB3, 0x9083, 0xE2C5, 0x9084, 0xFCBD, - 0x9087, 0xECC4, 0x9088, 0xD8B1, 0x908A, 0xDCAB, 0x908F, 0xD5A4, 0x9091, 0xEBE9, 0x9095, 0xE8BB, 0x9099, 0xD8D7, 0x90A2, 0xFBAE, - 0x90A3, 0xD1E1, 0x90A6, 0xDBC0, 0x90A8, 0xF5BE, 0x90AA, 0xDEF7, 0x90AF, 0xCAFB, 0x90B0, 0xF7C6, 0x90B1, 0xCFC8, 0x90B5, 0xE1D0, - 0x90B8, 0xEED0, 0x90C1, 0xE9F4, 0x90CA, 0xCEF4, 0x90DE, 0xD5CD, 0x90E1, 0xCFDB, 0x90E8, 0xDDBB, 0x90ED, 0xCEAC, 0x90F5, 0xE9E8, - 0x90FD, 0xD4B4, 0x9102, 0xE4C7, 0x9112, 0xF5DB, 0x9115, 0xFAC1, 0x9119, 0xDEA9, 0x9127, 0xD4F8, 0x912D, 0xEFF7, 0x9132, 0xD3B3, - 0x9149, 0xEBB7, 0x914A, 0xEFF8, 0x914B, 0xF5DC, 0x914C, 0xEDCC, 0x914D, 0xDBD5, 0x914E, 0xF1CF, 0x9152, 0xF1D0, 0x9162, 0xF5B2, - 0x9169, 0xD9AE, 0x916A, 0xD5AC, 0x916C, 0xE2C6, 0x9175, 0xFDA3, 0x9177, 0xFBE5, 0x9178, 0xDFAB, 0x9187, 0xE2F5, 0x9189, 0xF6AD, - 0x918B, 0xF5B3, 0x918D, 0xF0B5, 0x9192, 0xE1A5, 0x919C, 0xF5DD, 0x91AB, 0xECA2, 0x91AC, 0xEDFD, 0x91AE, 0xF5B4, 0x91AF, 0xFBB8, - 0x91B1, 0xDBA3, 0x91B4, 0xD6CA, 0x91B5, 0xCBD9, 0x91C0, 0xE5D4, 0x91C7, 0xF3FA, 0x91C9, 0xEBB8, 0x91CB, 0xE0B7, 0x91CC, 0xD7EC, - 0x91CD, 0xF1EC, 0x91CE, 0xE5AF, 0x91CF, 0xD5E1, 0x91D0, 0xD7ED, 0x91D1, 0xD1D1, 0x91D7, 0xE1F2, 0x91D8, 0xEFF9, 0x91DC, 0xDDBC, - 0x91DD, 0xF6DC, 0x91E3, 0xF0E5, 0x91E7, 0xF4C4, 0x91EA, 0xE9E9, 0x91F5, 0xF3FB, 0x920D, 0xD4EF, 0x9210, 0xCCA2, 0x9211, 0xF7FE, - 0x9212, 0xDFBC, 0x9217, 0xEBCD, 0x921E, 0xD0B7, 0x9234, 0xD6C2, 0x923A, 0xE8AD, 0x923F, 0xEFAF, 0x9240, 0xCBA5, 0x9245, 0xCBE9, - 0x9249, 0xFAE8, 0x9257, 0xCCC6, 0x925B, 0xE6E7, 0x925E, 0xEAC7, 0x9262, 0xDBA4, 0x9264, 0xCFC9, 0x9265, 0xE2FC, 0x9266, 0xEFFA, - 0x9280, 0xEBDE, 0x9283, 0xF5C8, 0x9285, 0xD4DE, 0x9291, 0xE0D5, 0x9293, 0xEFB0, 0x9296, 0xE2C7, 0x9298, 0xD9AF, 0x929C, 0xF9E7, - 0x92B3, 0xE7E5, 0x92B6, 0xCFCA, 0x92B7, 0xE1D1, 0x92B9, 0xE2C8, 0x92CC, 0xEFFB, 0x92CF, 0xFAF9, 0x92D2, 0xDCF2, 0x92E4, 0xE0A7, - 0x92EA, 0xF8E8, 0x92F8, 0xCBEA, 0x92FC, 0xCBBC, 0x9304, 0xD6E2, 0x9310, 0xF5DE, 0x9318, 0xF5DF, 0x931A, 0xEEB6, 0x931E, 0xE2F6, - 0x931F, 0xD3CA, 0x9320, 0xEFFC, 0x9321, 0xD1C4, 0x9322, 0xEFB1, 0x9324, 0xD1C5, 0x9326, 0xD0DE, 0x9328, 0xD9E1, 0x932B, 0xE0B8, - 0x932E, 0xCDD1, 0x932F, 0xF3B9, 0x9348, 0xE7CC, 0x934A, 0xD6A8, 0x934B, 0xCEA7, 0x934D, 0xD4B5, 0x9354, 0xE4C8, 0x935B, 0xD3B4, - 0x936E, 0xEBB9, 0x9375, 0xCBF5, 0x937C, 0xF6DD, 0x937E, 0xF1A3, 0x938C, 0xCCC7, 0x9394, 0xE9CA, 0x9396, 0xE1F0, 0x939A, 0xF5E0, - 0x93A3, 0xFBAF, 0x93A7, 0xCBD1, 0x93AC, 0xFBE0, 0x93AD, 0xF2E5, 0x93B0, 0xECF0, 0x93C3, 0xF0EC, 0x93D1, 0xEEEB, 0x93DE, 0xE9CB, - 0x93E1, 0xCCF0, 0x93E4, 0xD7AF, 0x93F6, 0xF3A1, 0x9404, 0xFCF5, 0x9418, 0xF1A4, 0x9425, 0xE0D6, 0x942B, 0xEFB2, 0x9435, 0xF4D1, - 0x9438, 0xF7A1, 0x9444, 0xF1D1, 0x9451, 0xCAFC, 0x9452, 0xCAFD, 0x945B, 0xCECE, 0x947D, 0xF3C8, 0x947F, 0xF3BA, 0x9577, 0xEDFE, - 0x9580, 0xDAA6, 0x9583, 0xE0EC, 0x9589, 0xF8CD, 0x958B, 0xCBD2, 0x958F, 0xEBCE, 0x9591, 0xF9D8, 0x9592, 0xF9D9, 0x9593, 0xCAE0, - 0x9594, 0xDACA, 0x9598, 0xCBA6, 0x95A3, 0xCAC8, 0x95A4, 0xF9EE, 0x95A5, 0xDBEC, 0x95A8, 0xD0B1, 0x95AD, 0xD5EF, 0x95B1, 0xE6F3, - 0x95BB, 0xE7A2, 0x95BC, 0xE4D9, 0x95C7, 0xE4E1, 0x95CA, 0xFCC4, 0x95D4, 0xF9EF, 0x95D5, 0xCFF4, 0x95D6, 0xF7E6, 0x95DC, 0xCEBC, - 0x95E1, 0xF4C5, 0x95E2, 0xDCA3, 0x961C, 0xDDBD, 0x9621, 0xF4C6, 0x962A, 0xF8A1, 0x962E, 0xE8D6, 0x9632, 0xDBC1, 0x963B, 0xF0E6, - 0x963F, 0xE4B9, 0x9640, 0xF6ED, 0x9642, 0xF9AE, 0x9644, 0xDDBE, 0x964B, 0xD7B0, 0x964C, 0xD8E8, 0x964D, 0xCBBD, 0x9650, 0xF9DA, - 0x965B, 0xF8CE, 0x965C, 0xF9F0, 0x965D, 0xE0ED, 0x965E, 0xE3B3, 0x965F, 0xF4B3, 0x9662, 0xEAC2, 0x9663, 0xF2E6, 0x9664, 0xF0B6, - 0x966A, 0xDBD6, 0x9670, 0xEBE4, 0x9673, 0xF2E7, 0x9675, 0xD7D5, 0x9676, 0xD4B6, 0x9677, 0xF9E8, 0x9678, 0xD7C1, 0x967D, 0xE5D5, - 0x9685, 0xE9EA, 0x9686, 0xD7CC, 0x968A, 0xD3E9, 0x968B, 0xE2C9, 0x968D, 0xFCDB, 0x968E, 0xCDAD, 0x9694, 0xCCB0, 0x9695, 0xEAA2, - 0x9698, 0xE4F6, 0x9699, 0xD0C0, 0x969B, 0xF0B7, 0x969C, 0xEEA1, 0x96A3, 0xD7F6, 0x96A7, 0xE2CA, 0x96A8, 0xE2CB, 0x96AA, 0xFACF, - 0x96B1, 0xEBDF, 0x96B7, 0xD6CB, 0x96BB, 0xF4B4, 0x96C0, 0xEDCD, 0x96C1, 0xE4D2, 0x96C4, 0xEAA9, 0x96C5, 0xE4BA, 0x96C6, 0xF3A2, - 0x96C7, 0xCDD2, 0x96C9, 0xF6CB, 0x96CB, 0xF1E6, 0x96CC, 0xEDC1, 0x96CD, 0xE8BC, 0x96CE, 0xEED1, 0x96D5, 0xF0E7, 0x96D6, 0xE2CC, - 0x96D9, 0xE4AA, 0x96DB, 0xF5E1, 0x96DC, 0xEDDA, 0x96E2, 0xD7EE, 0x96E3, 0xD1F1, 0x96E8, 0xE9EB, 0x96E9, 0xE9EC, 0x96EA, 0xE0E4, - 0x96EF, 0xDAA7, 0x96F0, 0xDDD4, 0x96F2, 0xEAA3, 0x96F6, 0xD6C3, 0x96F7, 0xD6F4, 0x96F9, 0xDADF, 0x96FB, 0xEFB3, 0x9700, 0xE2CD, - 0x9706, 0xEFFD, 0x9707, 0xF2E8, 0x9711, 0xEFC5, 0x9713, 0xE7E7, 0x9716, 0xD7FD, 0x9719, 0xE7CE, 0x971C, 0xDFDC, 0x971E, 0xF9C7, - 0x9727, 0xD9F6, 0x9730, 0xDFAC, 0x9732, 0xD6DA, 0x9739, 0xDCA4, 0x973D, 0xF0B8, 0x9742, 0xD5FA, 0x9744, 0xE4F7, 0x9748, 0xD6C4, - 0x9751, 0xF4EC, 0x9756, 0xEFFE, 0x975C, 0xF0A1, 0x975E, 0xDEAA, 0x9761, 0xDABC, 0x9762, 0xD8FC, 0x9769, 0xFAD4, 0x976D, 0xECE5, - 0x9774, 0xFCA8, 0x9777, 0xECE6, 0x977A, 0xD8CB, 0x978B, 0xFBB9, 0x978D, 0xE4D3, 0x978F, 0xCDF9, 0x97A0, 0xCFD3, 0x97A8, 0xCAEA, - 0x97AB, 0xCFD4, 0x97AD, 0xF8BD, 0x97C6, 0xF4C7, 0x97CB, 0xEADF, 0x97D3, 0xF9DB, 0x97DC, 0xD4B7, 0x97F3, 0xEBE5, 0x97F6, 0xE1D2, - 0x97FB, 0xEAA4, 0x97FF, 0xFAC2, 0x9800, 0xFBE1, 0x9801, 0xFAED, 0x9802, 0xF0A2, 0x9803, 0xCCF1, 0x9805, 0xFAA3, 0x9806, 0xE2F7, - 0x9808, 0xE2CE, 0x980A, 0xE9F5, 0x980C, 0xE1EB, 0x9810, 0xE7E8, 0x9811, 0xE8D7, 0x9812, 0xDAF8, 0x9813, 0xD4CB, 0x9817, 0xF7F6, - 0x9818, 0xD6C5, 0x982D, 0xD4E9, 0x9830, 0xFAFA, 0x9838, 0xCCF2, 0x9839, 0xF7DD, 0x983B, 0xDEBA, 0x9846, 0xCEA8, 0x984C, 0xF0B9, - 0x984D, 0xE4FE, 0x984E, 0xE4C9, 0x9854, 0xE4D4, 0x9858, 0xEAC3, 0x985A, 0xEFB4, 0x985E, 0xD7BE, 0x9865, 0xFBE2, 0x9867, 0xCDD3, - 0x986B, 0xEFB5, 0x986F, 0xFAE9, 0x98A8, 0xF9A6, 0x98AF, 0xDFBD, 0x98B1, 0xF7C7, 0x98C4, 0xF8FD, 0x98C7, 0xF8FC, 0x98DB, 0xDEAB, - 0x98DC, 0xDBE8, 0x98DF, 0xE3DD, 0x98E1, 0xE1E2, 0x98E2, 0xD1C6, 0x98ED, 0xF6D0, 0x98EE, 0xEBE6, 0x98EF, 0xDAF9, 0x98F4, 0xECC7, - 0x98FC, 0xDEF8, 0x98FD, 0xF8E9, 0x98FE, 0xE3DE, 0x9903, 0xCEF5, 0x9909, 0xFAC3, 0x990A, 0xE5D7, 0x990C, 0xECC8, 0x9910, 0xF3C9, - 0x9913, 0xE4BB, 0x9918, 0xE6AE, 0x991E, 0xEFB6, 0x9920, 0xDCBF, 0x9928, 0xCEBD, 0x9945, 0xD8C3, 0x9949, 0xD0CF, 0x994B, 0xCFFA, - 0x994C, 0xF3CA, 0x994D, 0xE0D7, 0x9951, 0xD1C7, 0x9952, 0xE9AE, 0x9954, 0xE8BD, 0x9957, 0xFAC4, 0x9996, 0xE2CF, 0x9999, 0xFAC5, - 0x999D, 0xF9B8, 0x99A5, 0xDCE0, 0x99A8, 0xFBB0, 0x99AC, 0xD8A9, 0x99AD, 0xE5DF, 0x99AE, 0xF9A7, 0x99B1, 0xF6EE, 0x99B3, 0xF6CC, - 0x99B4, 0xE2F8, 0x99B9, 0xECF1, 0x99C1, 0xDAE0, 0x99D0, 0xF1D2, 0x99D1, 0xD2CC, 0x99D2, 0xCFCB, 0x99D5, 0xCABD, 0x99D9, 0xDDBF, - 0x99DD, 0xF6EF, 0x99DF, 0xDEF9, 0x99ED, 0xFAB4, 0x99F1, 0xD5AD, 0x99FF, 0xF1E7, 0x9A01, 0xDEBE, 0x9A08, 0xDCC0, 0x9A0E, 0xD1C8, - 0x9A0F, 0xD1C9, 0x9A19, 0xF8BE, 0x9A2B, 0xCBF6, 0x9A30, 0xD4F9, 0x9A36, 0xF5E2, 0x9A37, 0xE1D3, 0x9A40, 0xD8E9, 0x9A43, 0xF8FE, - 0x9A45, 0xCFCC, 0x9A4D, 0xFDA4, 0x9A55, 0xCEF6, 0x9A57, 0xFAD0, 0x9A5A, 0xCCF3, 0x9A5B, 0xE6BE, 0x9A5F, 0xF6AE, 0x9A62, 0xD5F0, - 0x9A65, 0xD1CA, 0x9A69, 0xFCBE, 0x9A6A, 0xD5F1, 0x9AA8, 0xCDE9, 0x9AB8, 0xFAB5, 0x9AD3, 0xE2D0, 0x9AD4, 0xF4F7, 0x9AD8, 0xCDD4, - 0x9AE5, 0xE7A3, 0x9AEE, 0xDBA5, 0x9B1A, 0xE2D1, 0x9B27, 0xD7A2, 0x9B2A, 0xF7E3, 0x9B31, 0xEAA6, 0x9B3C, 0xD0A1, 0x9B41, 0xCEDA, - 0x9B42, 0xFBEB, 0x9B43, 0xDBA6, 0x9B44, 0xDBDE, 0x9B45, 0xD8E5, 0x9B4F, 0xEAE0, 0x9B54, 0xD8AA, 0x9B5A, 0xE5E0, 0x9B6F, 0xD6DB, - 0x9B8E, 0xEFC6, 0x9B91, 0xF8EA, 0x9B9F, 0xE4D5, 0x9BAB, 0xCEF7, 0x9BAE, 0xE0D8, 0x9BC9, 0xD7EF, 0x9BD6, 0xF4ED, 0x9BE4, 0xCDE6, - 0x9BE8, 0xCCF4, 0x9C0D, 0xF5E3, 0x9C10, 0xE4CA, 0x9C12, 0xDCE1, 0x9C15, 0xF9C8, 0x9C25, 0xFCBF, 0x9C32, 0xE8A7, 0x9C3B, 0xD8C4, - 0x9C47, 0xCBBE, 0x9C49, 0xDCAE, 0x9C57, 0xD7F7, 0x9CE5, 0xF0E8, 0x9CE7, 0xDDC0, 0x9CE9, 0xCFCD, 0x9CF3, 0xDCF3, 0x9CF4, 0xD9B0, - 0x9CF6, 0xE6E9, 0x9D09, 0xE4BC, 0x9D1B, 0xEAC4, 0x9D26, 0xE4EC, 0x9D28, 0xE4E5, 0x9D3B, 0xFBF8, 0x9D51, 0xCCBB, 0x9D5D, 0xE4BD, - 0x9D60, 0xCDDC, 0x9D61, 0xD9F7, 0x9D6C, 0xDDDF, 0x9D72, 0xEDCE, 0x9DA9, 0xD9D0, 0x9DAF, 0xE5A3, 0x9DB4, 0xF9CD, 0x9DC4, 0xCDAE, - 0x9DD7, 0xCFCE, 0x9DF2, 0xF6AF, 0x9DF8, 0xFDD3, 0x9DF9, 0xEBED, 0x9DFA, 0xD6DC, 0x9E1A, 0xE5A4, 0x9E1E, 0xD5B6, 0x9E75, 0xD6DD, - 0x9E79, 0xF9E9, 0x9E7D, 0xE7A4, 0x9E7F, 0xD6E3, 0x9E92, 0xD1CB, 0x9E93, 0xD6E4, 0x9E97, 0xD5F2, 0x9E9D, 0xDEFA, 0x9E9F, 0xD7F8, - 0x9EA5, 0xD8EA, 0x9EB4, 0xCFD5, 0x9EB5, 0xD8FD, 0x9EBB, 0xD8AB, 0x9EBE, 0xFDCB, 0x9EC3, 0xFCDC, 0x9ECD, 0xE0A8, 0x9ECE, 0xD5F3, - 0x9ED1, 0xFDD9, 0x9ED4, 0xCCA3, 0x9ED8, 0xD9F9, 0x9EDB, 0xD3EA, 0x9EDC, 0xF5F5, 0x9EDE, 0xEFC7, 0x9EE8, 0xD3DA, 0x9EF4, 0xDABD, - 0x9F07, 0xE8A8, 0x9F08, 0xDCAF, 0x9F0E, 0xF0A3, 0x9F13, 0xCDD5, 0x9F20, 0xE0A9, 0x9F3B, 0xDEAC, 0x9F4A, 0xF0BA, 0x9F4B, 0xEEB1, - 0x9F4E, 0xEEB2, 0x9F52, 0xF6CD, 0x9F5F, 0xEED2, 0x9F61, 0xD6C6, 0x9F67, 0xE0E5, 0x9F6A, 0xF3BB, 0x9F6C, 0xE5E1, 0x9F77, 0xE4CB, - 0x9F8D, 0xD7A3, 0x9F90, 0xDBC2, 0x9F95, 0xCAFE, 0x9F9C, 0xCFCF, 0xAC00, 0xB0A1, 0xAC01, 0xB0A2, 0xAC02, 0x8141, 0xAC03, 0x8142, - 0xAC04, 0xB0A3, 0xAC05, 0x8143, 0xAC06, 0x8144, 0xAC07, 0xB0A4, 0xAC08, 0xB0A5, 0xAC09, 0xB0A6, 0xAC0A, 0xB0A7, 0xAC0B, 0x8145, - 0xAC0C, 0x8146, 0xAC0D, 0x8147, 0xAC0E, 0x8148, 0xAC0F, 0x8149, 0xAC10, 0xB0A8, 0xAC11, 0xB0A9, 0xAC12, 0xB0AA, 0xAC13, 0xB0AB, - 0xAC14, 0xB0AC, 0xAC15, 0xB0AD, 0xAC16, 0xB0AE, 0xAC17, 0xB0AF, 0xAC18, 0x814A, 0xAC19, 0xB0B0, 0xAC1A, 0xB0B1, 0xAC1B, 0xB0B2, - 0xAC1C, 0xB0B3, 0xAC1D, 0xB0B4, 0xAC1E, 0x814B, 0xAC1F, 0x814C, 0xAC20, 0xB0B5, 0xAC21, 0x814D, 0xAC22, 0x814E, 0xAC23, 0x814F, - 0xAC24, 0xB0B6, 0xAC25, 0x8150, 0xAC26, 0x8151, 0xAC27, 0x8152, 0xAC28, 0x8153, 0xAC29, 0x8154, 0xAC2A, 0x8155, 0xAC2B, 0x8156, - 0xAC2C, 0xB0B7, 0xAC2D, 0xB0B8, 0xAC2E, 0x8157, 0xAC2F, 0xB0B9, 0xAC30, 0xB0BA, 0xAC31, 0xB0BB, 0xAC32, 0x8158, 0xAC33, 0x8159, - 0xAC34, 0x815A, 0xAC35, 0x8161, 0xAC36, 0x8162, 0xAC37, 0x8163, 0xAC38, 0xB0BC, 0xAC39, 0xB0BD, 0xAC3A, 0x8164, 0xAC3B, 0x8165, - 0xAC3C, 0xB0BE, 0xAC3D, 0x8166, 0xAC3E, 0x8167, 0xAC3F, 0x8168, 0xAC40, 0xB0BF, 0xAC41, 0x8169, 0xAC42, 0x816A, 0xAC43, 0x816B, - 0xAC44, 0x816C, 0xAC45, 0x816D, 0xAC46, 0x816E, 0xAC47, 0x816F, 0xAC48, 0x8170, 0xAC49, 0x8171, 0xAC4A, 0x8172, 0xAC4B, 0xB0C0, - 0xAC4C, 0x8173, 0xAC4D, 0xB0C1, 0xAC4E, 0x8174, 0xAC4F, 0x8175, 0xAC50, 0x8176, 0xAC51, 0x8177, 0xAC52, 0x8178, 0xAC53, 0x8179, - 0xAC54, 0xB0C2, 0xAC55, 0x817A, 0xAC56, 0x8181, 0xAC57, 0x8182, 0xAC58, 0xB0C3, 0xAC59, 0x8183, 0xAC5A, 0x8184, 0xAC5B, 0x8185, - 0xAC5C, 0xB0C4, 0xAC5D, 0x8186, 0xAC5E, 0x8187, 0xAC5F, 0x8188, 0xAC60, 0x8189, 0xAC61, 0x818A, 0xAC62, 0x818B, 0xAC63, 0x818C, - 0xAC64, 0x818D, 0xAC65, 0x818E, 0xAC66, 0x818F, 0xAC67, 0x8190, 0xAC68, 0x8191, 0xAC69, 0x8192, 0xAC6A, 0x8193, 0xAC6B, 0x8194, - 0xAC6C, 0x8195, 0xAC6D, 0x8196, 0xAC6E, 0x8197, 0xAC6F, 0x8198, 0xAC70, 0xB0C5, 0xAC71, 0xB0C6, 0xAC72, 0x8199, 0xAC73, 0x819A, - 0xAC74, 0xB0C7, 0xAC75, 0x819B, 0xAC76, 0x819C, 0xAC77, 0xB0C8, 0xAC78, 0xB0C9, 0xAC79, 0x819D, 0xAC7A, 0xB0CA, 0xAC7B, 0x819E, - 0xAC7C, 0x819F, 0xAC7D, 0x81A0, 0xAC7E, 0x81A1, 0xAC7F, 0x81A2, 0xAC80, 0xB0CB, 0xAC81, 0xB0CC, 0xAC82, 0x81A3, 0xAC83, 0xB0CD, - 0xAC84, 0xB0CE, 0xAC85, 0xB0CF, 0xAC86, 0xB0D0, 0xAC87, 0x81A4, 0xAC88, 0x81A5, 0xAC89, 0xB0D1, 0xAC8A, 0xB0D2, 0xAC8B, 0xB0D3, - 0xAC8C, 0xB0D4, 0xAC8D, 0x81A6, 0xAC8E, 0x81A7, 0xAC8F, 0x81A8, 0xAC90, 0xB0D5, 0xAC91, 0x81A9, 0xAC92, 0x81AA, 0xAC93, 0x81AB, - 0xAC94, 0xB0D6, 0xAC95, 0x81AC, 0xAC96, 0x81AD, 0xAC97, 0x81AE, 0xAC98, 0x81AF, 0xAC99, 0x81B0, 0xAC9A, 0x81B1, 0xAC9B, 0x81B2, - 0xAC9C, 0xB0D7, 0xAC9D, 0xB0D8, 0xAC9E, 0x81B3, 0xAC9F, 0xB0D9, 0xACA0, 0xB0DA, 0xACA1, 0xB0DB, 0xACA2, 0x81B4, 0xACA3, 0x81B5, - 0xACA4, 0x81B6, 0xACA5, 0x81B7, 0xACA6, 0x81B8, 0xACA7, 0x81B9, 0xACA8, 0xB0DC, 0xACA9, 0xB0DD, 0xACAA, 0xB0DE, 0xACAB, 0x81BA, - 0xACAC, 0xB0DF, 0xACAD, 0x81BB, 0xACAE, 0x81BC, 0xACAF, 0xB0E0, 0xACB0, 0xB0E1, 0xACB1, 0x81BD, 0xACB2, 0x81BE, 0xACB3, 0x81BF, - 0xACB4, 0x81C0, 0xACB5, 0x81C1, 0xACB6, 0x81C2, 0xACB7, 0x81C3, 0xACB8, 0xB0E2, 0xACB9, 0xB0E3, 0xACBA, 0x81C4, 0xACBB, 0xB0E4, - 0xACBC, 0xB0E5, 0xACBD, 0xB0E6, 0xACBE, 0x81C5, 0xACBF, 0x81C6, 0xACC0, 0x81C7, 0xACC1, 0xB0E7, 0xACC2, 0x81C8, 0xACC3, 0x81C9, - 0xACC4, 0xB0E8, 0xACC5, 0x81CA, 0xACC6, 0x81CB, 0xACC7, 0x81CC, 0xACC8, 0xB0E9, 0xACC9, 0x81CD, 0xACCA, 0x81CE, 0xACCB, 0x81CF, - 0xACCC, 0xB0EA, 0xACCD, 0x81D0, 0xACCE, 0x81D1, 0xACCF, 0x81D2, 0xACD0, 0x81D3, 0xACD1, 0x81D4, 0xACD2, 0x81D5, 0xACD3, 0x81D6, - 0xACD4, 0x81D7, 0xACD5, 0xB0EB, 0xACD6, 0x81D8, 0xACD7, 0xB0EC, 0xACD8, 0x81D9, 0xACD9, 0x81DA, 0xACDA, 0x81DB, 0xACDB, 0x81DC, - 0xACDC, 0x81DD, 0xACDD, 0x81DE, 0xACDE, 0x81DF, 0xACDF, 0x81E0, 0xACE0, 0xB0ED, 0xACE1, 0xB0EE, 0xACE2, 0x81E1, 0xACE3, 0x81E2, - 0xACE4, 0xB0EF, 0xACE5, 0x81E3, 0xACE6, 0x81E4, 0xACE7, 0xB0F0, 0xACE8, 0xB0F1, 0xACE9, 0x81E5, 0xACEA, 0xB0F2, 0xACEB, 0x81E6, - 0xACEC, 0xB0F3, 0xACED, 0x81E7, 0xACEE, 0x81E8, 0xACEF, 0xB0F4, 0xACF0, 0xB0F5, 0xACF1, 0xB0F6, 0xACF2, 0x81E9, 0xACF3, 0xB0F7, - 0xACF4, 0x81EA, 0xACF5, 0xB0F8, 0xACF6, 0xB0F9, 0xACF7, 0x81EB, 0xACF8, 0x81EC, 0xACF9, 0x81ED, 0xACFA, 0x81EE, 0xACFB, 0x81EF, - 0xACFC, 0xB0FA, 0xACFD, 0xB0FB, 0xACFE, 0x81F0, 0xACFF, 0x81F1, 0xAD00, 0xB0FC, 0xAD01, 0x81F2, 0xAD02, 0x81F3, 0xAD03, 0x81F4, - 0xAD04, 0xB0FD, 0xAD05, 0x81F5, 0xAD06, 0xB0FE, 0xAD07, 0x81F6, 0xAD08, 0x81F7, 0xAD09, 0x81F8, 0xAD0A, 0x81F9, 0xAD0B, 0x81FA, - 0xAD0C, 0xB1A1, 0xAD0D, 0xB1A2, 0xAD0E, 0x81FB, 0xAD0F, 0xB1A3, 0xAD10, 0x81FC, 0xAD11, 0xB1A4, 0xAD12, 0x81FD, 0xAD13, 0x81FE, - 0xAD14, 0x8241, 0xAD15, 0x8242, 0xAD16, 0x8243, 0xAD17, 0x8244, 0xAD18, 0xB1A5, 0xAD19, 0x8245, 0xAD1A, 0x8246, 0xAD1B, 0x8247, - 0xAD1C, 0xB1A6, 0xAD1D, 0x8248, 0xAD1E, 0x8249, 0xAD1F, 0x824A, 0xAD20, 0xB1A7, 0xAD21, 0x824B, 0xAD22, 0x824C, 0xAD23, 0x824D, - 0xAD24, 0x824E, 0xAD25, 0x824F, 0xAD26, 0x8250, 0xAD27, 0x8251, 0xAD28, 0x8252, 0xAD29, 0xB1A8, 0xAD2A, 0x8253, 0xAD2B, 0x8254, - 0xAD2C, 0xB1A9, 0xAD2D, 0xB1AA, 0xAD2E, 0x8255, 0xAD2F, 0x8256, 0xAD30, 0x8257, 0xAD31, 0x8258, 0xAD32, 0x8259, 0xAD33, 0x825A, - 0xAD34, 0xB1AB, 0xAD35, 0xB1AC, 0xAD36, 0x8261, 0xAD37, 0x8262, 0xAD38, 0xB1AD, 0xAD39, 0x8263, 0xAD3A, 0x8264, 0xAD3B, 0x8265, - 0xAD3C, 0xB1AE, 0xAD3D, 0x8266, 0xAD3E, 0x8267, 0xAD3F, 0x8268, 0xAD40, 0x8269, 0xAD41, 0x826A, 0xAD42, 0x826B, 0xAD43, 0x826C, - 0xAD44, 0xB1AF, 0xAD45, 0xB1B0, 0xAD46, 0x826D, 0xAD47, 0xB1B1, 0xAD48, 0x826E, 0xAD49, 0xB1B2, 0xAD4A, 0x826F, 0xAD4B, 0x8270, - 0xAD4C, 0x8271, 0xAD4D, 0x8272, 0xAD4E, 0x8273, 0xAD4F, 0x8274, 0xAD50, 0xB1B3, 0xAD51, 0x8275, 0xAD52, 0x8276, 0xAD53, 0x8277, - 0xAD54, 0xB1B4, 0xAD55, 0x8278, 0xAD56, 0x8279, 0xAD57, 0x827A, 0xAD58, 0xB1B5, 0xAD59, 0x8281, 0xAD5A, 0x8282, 0xAD5B, 0x8283, - 0xAD5C, 0x8284, 0xAD5D, 0x8285, 0xAD5E, 0x8286, 0xAD5F, 0x8287, 0xAD60, 0x8288, 0xAD61, 0xB1B6, 0xAD62, 0x8289, 0xAD63, 0xB1B7, - 0xAD64, 0x828A, 0xAD65, 0x828B, 0xAD66, 0x828C, 0xAD67, 0x828D, 0xAD68, 0x828E, 0xAD69, 0x828F, 0xAD6A, 0x8290, 0xAD6B, 0x8291, - 0xAD6C, 0xB1B8, 0xAD6D, 0xB1B9, 0xAD6E, 0x8292, 0xAD6F, 0x8293, 0xAD70, 0xB1BA, 0xAD71, 0x8294, 0xAD72, 0x8295, 0xAD73, 0xB1BB, - 0xAD74, 0xB1BC, 0xAD75, 0xB1BD, 0xAD76, 0xB1BE, 0xAD77, 0x8296, 0xAD78, 0x8297, 0xAD79, 0x8298, 0xAD7A, 0x8299, 0xAD7B, 0xB1BF, - 0xAD7C, 0xB1C0, 0xAD7D, 0xB1C1, 0xAD7E, 0x829A, 0xAD7F, 0xB1C2, 0xAD80, 0x829B, 0xAD81, 0xB1C3, 0xAD82, 0xB1C4, 0xAD83, 0x829C, - 0xAD84, 0x829D, 0xAD85, 0x829E, 0xAD86, 0x829F, 0xAD87, 0x82A0, 0xAD88, 0xB1C5, 0xAD89, 0xB1C6, 0xAD8A, 0x82A1, 0xAD8B, 0x82A2, - 0xAD8C, 0xB1C7, 0xAD8D, 0x82A3, 0xAD8E, 0x82A4, 0xAD8F, 0x82A5, 0xAD90, 0xB1C8, 0xAD91, 0x82A6, 0xAD92, 0x82A7, 0xAD93, 0x82A8, - 0xAD94, 0x82A9, 0xAD95, 0x82AA, 0xAD96, 0x82AB, 0xAD97, 0x82AC, 0xAD98, 0x82AD, 0xAD99, 0x82AE, 0xAD9A, 0x82AF, 0xAD9B, 0x82B0, - 0xAD9C, 0xB1C9, 0xAD9D, 0xB1CA, 0xAD9E, 0x82B1, 0xAD9F, 0x82B2, 0xADA0, 0x82B3, 0xADA1, 0x82B4, 0xADA2, 0x82B5, 0xADA3, 0x82B6, - 0xADA4, 0xB1CB, 0xADA5, 0x82B7, 0xADA6, 0x82B8, 0xADA7, 0x82B9, 0xADA8, 0x82BA, 0xADA9, 0x82BB, 0xADAA, 0x82BC, 0xADAB, 0x82BD, - 0xADAC, 0x82BE, 0xADAD, 0x82BF, 0xADAE, 0x82C0, 0xADAF, 0x82C1, 0xADB0, 0x82C2, 0xADB1, 0x82C3, 0xADB2, 0x82C4, 0xADB3, 0x82C5, - 0xADB4, 0x82C6, 0xADB5, 0x82C7, 0xADB6, 0x82C8, 0xADB7, 0xB1CC, 0xADB8, 0x82C9, 0xADB9, 0x82CA, 0xADBA, 0x82CB, 0xADBB, 0x82CC, - 0xADBC, 0x82CD, 0xADBD, 0x82CE, 0xADBE, 0x82CF, 0xADBF, 0x82D0, 0xADC0, 0xB1CD, 0xADC1, 0xB1CE, 0xADC2, 0x82D1, 0xADC3, 0x82D2, - 0xADC4, 0xB1CF, 0xADC5, 0x82D3, 0xADC6, 0x82D4, 0xADC7, 0x82D5, 0xADC8, 0xB1D0, 0xADC9, 0x82D6, 0xADCA, 0x82D7, 0xADCB, 0x82D8, - 0xADCC, 0x82D9, 0xADCD, 0x82DA, 0xADCE, 0x82DB, 0xADCF, 0x82DC, 0xADD0, 0xB1D1, 0xADD1, 0xB1D2, 0xADD2, 0x82DD, 0xADD3, 0xB1D3, - 0xADD4, 0x82DE, 0xADD5, 0x82DF, 0xADD6, 0x82E0, 0xADD7, 0x82E1, 0xADD8, 0x82E2, 0xADD9, 0x82E3, 0xADDA, 0x82E4, 0xADDB, 0x82E5, - 0xADDC, 0xB1D4, 0xADDD, 0x82E6, 0xADDE, 0x82E7, 0xADDF, 0x82E8, 0xADE0, 0xB1D5, 0xADE1, 0x82E9, 0xADE2, 0x82EA, 0xADE3, 0x82EB, - 0xADE4, 0xB1D6, 0xADE5, 0x82EC, 0xADE6, 0x82ED, 0xADE7, 0x82EE, 0xADE8, 0x82EF, 0xADE9, 0x82F0, 0xADEA, 0x82F1, 0xADEB, 0x82F2, - 0xADEC, 0x82F3, 0xADED, 0x82F4, 0xADEE, 0x82F5, 0xADEF, 0x82F6, 0xADF0, 0x82F7, 0xADF1, 0x82F8, 0xADF2, 0x82F9, 0xADF3, 0x82FA, - 0xADF4, 0x82FB, 0xADF5, 0x82FC, 0xADF6, 0x82FD, 0xADF7, 0x82FE, 0xADF8, 0xB1D7, 0xADF9, 0xB1D8, 0xADFA, 0x8341, 0xADFB, 0x8342, - 0xADFC, 0xB1D9, 0xADFD, 0x8343, 0xADFE, 0x8344, 0xADFF, 0xB1DA, 0xAE00, 0xB1DB, 0xAE01, 0xB1DC, 0xAE02, 0x8345, 0xAE03, 0x8346, - 0xAE04, 0x8347, 0xAE05, 0x8348, 0xAE06, 0x8349, 0xAE07, 0x834A, 0xAE08, 0xB1DD, 0xAE09, 0xB1DE, 0xAE0A, 0x834B, 0xAE0B, 0xB1DF, - 0xAE0C, 0x834C, 0xAE0D, 0xB1E0, 0xAE0E, 0x834D, 0xAE0F, 0x834E, 0xAE10, 0x834F, 0xAE11, 0x8350, 0xAE12, 0x8351, 0xAE13, 0x8352, - 0xAE14, 0xB1E1, 0xAE15, 0x8353, 0xAE16, 0x8354, 0xAE17, 0x8355, 0xAE18, 0x8356, 0xAE19, 0x8357, 0xAE1A, 0x8358, 0xAE1B, 0x8359, - 0xAE1C, 0x835A, 0xAE1D, 0x8361, 0xAE1E, 0x8362, 0xAE1F, 0x8363, 0xAE20, 0x8364, 0xAE21, 0x8365, 0xAE22, 0x8366, 0xAE23, 0x8367, - 0xAE24, 0x8368, 0xAE25, 0x8369, 0xAE26, 0x836A, 0xAE27, 0x836B, 0xAE28, 0x836C, 0xAE29, 0x836D, 0xAE2A, 0x836E, 0xAE2B, 0x836F, - 0xAE2C, 0x8370, 0xAE2D, 0x8371, 0xAE2E, 0x8372, 0xAE2F, 0x8373, 0xAE30, 0xB1E2, 0xAE31, 0xB1E3, 0xAE32, 0x8374, 0xAE33, 0x8375, - 0xAE34, 0xB1E4, 0xAE35, 0x8376, 0xAE36, 0x8377, 0xAE37, 0xB1E5, 0xAE38, 0xB1E6, 0xAE39, 0x8378, 0xAE3A, 0xB1E7, 0xAE3B, 0x8379, - 0xAE3C, 0x837A, 0xAE3D, 0x8381, 0xAE3E, 0x8382, 0xAE3F, 0x8383, 0xAE40, 0xB1E8, 0xAE41, 0xB1E9, 0xAE42, 0x8384, 0xAE43, 0xB1EA, - 0xAE44, 0x8385, 0xAE45, 0xB1EB, 0xAE46, 0xB1EC, 0xAE47, 0x8386, 0xAE48, 0x8387, 0xAE49, 0x8388, 0xAE4A, 0xB1ED, 0xAE4B, 0x8389, - 0xAE4C, 0xB1EE, 0xAE4D, 0xB1EF, 0xAE4E, 0xB1F0, 0xAE4F, 0x838A, 0xAE50, 0xB1F1, 0xAE51, 0x838B, 0xAE52, 0x838C, 0xAE53, 0x838D, - 0xAE54, 0xB1F2, 0xAE55, 0x838E, 0xAE56, 0xB1F3, 0xAE57, 0x838F, 0xAE58, 0x8390, 0xAE59, 0x8391, 0xAE5A, 0x8392, 0xAE5B, 0x8393, - 0xAE5C, 0xB1F4, 0xAE5D, 0xB1F5, 0xAE5E, 0x8394, 0xAE5F, 0xB1F6, 0xAE60, 0xB1F7, 0xAE61, 0xB1F8, 0xAE62, 0x8395, 0xAE63, 0x8396, - 0xAE64, 0x8397, 0xAE65, 0xB1F9, 0xAE66, 0x8398, 0xAE67, 0x8399, 0xAE68, 0xB1FA, 0xAE69, 0xB1FB, 0xAE6A, 0x839A, 0xAE6B, 0x839B, - 0xAE6C, 0xB1FC, 0xAE6D, 0x839C, 0xAE6E, 0x839D, 0xAE6F, 0x839E, 0xAE70, 0xB1FD, 0xAE71, 0x839F, 0xAE72, 0x83A0, 0xAE73, 0x83A1, - 0xAE74, 0x83A2, 0xAE75, 0x83A3, 0xAE76, 0x83A4, 0xAE77, 0x83A5, 0xAE78, 0xB1FE, 0xAE79, 0xB2A1, 0xAE7A, 0x83A6, 0xAE7B, 0xB2A2, - 0xAE7C, 0xB2A3, 0xAE7D, 0xB2A4, 0xAE7E, 0x83A7, 0xAE7F, 0x83A8, 0xAE80, 0x83A9, 0xAE81, 0x83AA, 0xAE82, 0x83AB, 0xAE83, 0x83AC, - 0xAE84, 0xB2A5, 0xAE85, 0xB2A6, 0xAE86, 0x83AD, 0xAE87, 0x83AE, 0xAE88, 0x83AF, 0xAE89, 0x83B0, 0xAE8A, 0x83B1, 0xAE8B, 0x83B2, - 0xAE8C, 0xB2A7, 0xAE8D, 0x83B3, 0xAE8E, 0x83B4, 0xAE8F, 0x83B5, 0xAE90, 0x83B6, 0xAE91, 0x83B7, 0xAE92, 0x83B8, 0xAE93, 0x83B9, - 0xAE94, 0x83BA, 0xAE95, 0x83BB, 0xAE96, 0x83BC, 0xAE97, 0x83BD, 0xAE98, 0x83BE, 0xAE99, 0x83BF, 0xAE9A, 0x83C0, 0xAE9B, 0x83C1, - 0xAE9C, 0x83C2, 0xAE9D, 0x83C3, 0xAE9E, 0x83C4, 0xAE9F, 0x83C5, 0xAEA0, 0x83C6, 0xAEA1, 0x83C7, 0xAEA2, 0x83C8, 0xAEA3, 0x83C9, - 0xAEA4, 0x83CA, 0xAEA5, 0x83CB, 0xAEA6, 0x83CC, 0xAEA7, 0x83CD, 0xAEA8, 0x83CE, 0xAEA9, 0x83CF, 0xAEAA, 0x83D0, 0xAEAB, 0x83D1, - 0xAEAC, 0x83D2, 0xAEAD, 0x83D3, 0xAEAE, 0x83D4, 0xAEAF, 0x83D5, 0xAEB0, 0x83D6, 0xAEB1, 0x83D7, 0xAEB2, 0x83D8, 0xAEB3, 0x83D9, - 0xAEB4, 0x83DA, 0xAEB5, 0x83DB, 0xAEB6, 0x83DC, 0xAEB7, 0x83DD, 0xAEB8, 0x83DE, 0xAEB9, 0x83DF, 0xAEBA, 0x83E0, 0xAEBB, 0x83E1, - 0xAEBC, 0xB2A8, 0xAEBD, 0xB2A9, 0xAEBE, 0xB2AA, 0xAEBF, 0x83E2, 0xAEC0, 0xB2AB, 0xAEC1, 0x83E3, 0xAEC2, 0x83E4, 0xAEC3, 0x83E5, - 0xAEC4, 0xB2AC, 0xAEC5, 0x83E6, 0xAEC6, 0x83E7, 0xAEC7, 0x83E8, 0xAEC8, 0x83E9, 0xAEC9, 0x83EA, 0xAECA, 0x83EB, 0xAECB, 0x83EC, - 0xAECC, 0xB2AD, 0xAECD, 0xB2AE, 0xAECE, 0x83ED, 0xAECF, 0xB2AF, 0xAED0, 0xB2B0, 0xAED1, 0xB2B1, 0xAED2, 0x83EE, 0xAED3, 0x83EF, - 0xAED4, 0x83F0, 0xAED5, 0x83F1, 0xAED6, 0x83F2, 0xAED7, 0x83F3, 0xAED8, 0xB2B2, 0xAED9, 0xB2B3, 0xAEDA, 0x83F4, 0xAEDB, 0x83F5, - 0xAEDC, 0xB2B4, 0xAEDD, 0x83F6, 0xAEDE, 0x83F7, 0xAEDF, 0x83F8, 0xAEE0, 0x83F9, 0xAEE1, 0x83FA, 0xAEE2, 0x83FB, 0xAEE3, 0x83FC, - 0xAEE4, 0x83FD, 0xAEE5, 0x83FE, 0xAEE6, 0x8441, 0xAEE7, 0x8442, 0xAEE8, 0xB2B5, 0xAEE9, 0x8443, 0xAEEA, 0x8444, 0xAEEB, 0xB2B6, - 0xAEEC, 0x8445, 0xAEED, 0xB2B7, 0xAEEE, 0x8446, 0xAEEF, 0x8447, 0xAEF0, 0x8448, 0xAEF1, 0x8449, 0xAEF2, 0x844A, 0xAEF3, 0x844B, - 0xAEF4, 0xB2B8, 0xAEF5, 0x844C, 0xAEF6, 0x844D, 0xAEF7, 0x844E, 0xAEF8, 0xB2B9, 0xAEF9, 0x844F, 0xAEFA, 0x8450, 0xAEFB, 0x8451, - 0xAEFC, 0xB2BA, 0xAEFD, 0x8452, 0xAEFE, 0x8453, 0xAEFF, 0x8454, 0xAF00, 0x8455, 0xAF01, 0x8456, 0xAF02, 0x8457, 0xAF03, 0x8458, - 0xAF04, 0x8459, 0xAF05, 0x845A, 0xAF06, 0x8461, 0xAF07, 0xB2BB, 0xAF08, 0xB2BC, 0xAF09, 0x8462, 0xAF0A, 0x8463, 0xAF0B, 0x8464, - 0xAF0C, 0x8465, 0xAF0D, 0xB2BD, 0xAF0E, 0x8466, 0xAF0F, 0x8467, 0xAF10, 0xB2BE, 0xAF11, 0x8468, 0xAF12, 0x8469, 0xAF13, 0x846A, - 0xAF14, 0x846B, 0xAF15, 0x846C, 0xAF16, 0x846D, 0xAF17, 0x846E, 0xAF18, 0x846F, 0xAF19, 0x8470, 0xAF1A, 0x8471, 0xAF1B, 0x8472, - 0xAF1C, 0x8473, 0xAF1D, 0x8474, 0xAF1E, 0x8475, 0xAF1F, 0x8476, 0xAF20, 0x8477, 0xAF21, 0x8478, 0xAF22, 0x8479, 0xAF23, 0x847A, - 0xAF24, 0x8481, 0xAF25, 0x8482, 0xAF26, 0x8483, 0xAF27, 0x8484, 0xAF28, 0x8485, 0xAF29, 0x8486, 0xAF2A, 0x8487, 0xAF2B, 0x8488, - 0xAF2C, 0xB2BF, 0xAF2D, 0xB2C0, 0xAF2E, 0x8489, 0xAF2F, 0x848A, 0xAF30, 0xB2C1, 0xAF31, 0x848B, 0xAF32, 0xB2C2, 0xAF33, 0x848C, - 0xAF34, 0xB2C3, 0xAF35, 0x848D, 0xAF36, 0x848E, 0xAF37, 0x848F, 0xAF38, 0x8490, 0xAF39, 0x8491, 0xAF3A, 0x8492, 0xAF3B, 0x8493, - 0xAF3C, 0xB2C4, 0xAF3D, 0xB2C5, 0xAF3E, 0x8494, 0xAF3F, 0xB2C6, 0xAF40, 0x8495, 0xAF41, 0xB2C7, 0xAF42, 0xB2C8, 0xAF43, 0xB2C9, - 0xAF44, 0x8496, 0xAF45, 0x8497, 0xAF46, 0x8498, 0xAF47, 0x8499, 0xAF48, 0xB2CA, 0xAF49, 0xB2CB, 0xAF4A, 0x849A, 0xAF4B, 0x849B, - 0xAF4C, 0x849C, 0xAF4D, 0x849D, 0xAF4E, 0x849E, 0xAF4F, 0x849F, 0xAF50, 0xB2CC, 0xAF51, 0x84A0, 0xAF52, 0x84A1, 0xAF53, 0x84A2, - 0xAF54, 0x84A3, 0xAF55, 0x84A4, 0xAF56, 0x84A5, 0xAF57, 0x84A6, 0xAF58, 0x84A7, 0xAF59, 0x84A8, 0xAF5A, 0x84A9, 0xAF5B, 0x84AA, - 0xAF5C, 0xB2CD, 0xAF5D, 0xB2CE, 0xAF5E, 0x84AB, 0xAF5F, 0x84AC, 0xAF60, 0x84AD, 0xAF61, 0x84AE, 0xAF62, 0x84AF, 0xAF63, 0x84B0, - 0xAF64, 0xB2CF, 0xAF65, 0xB2D0, 0xAF66, 0x84B1, 0xAF67, 0x84B2, 0xAF68, 0x84B3, 0xAF69, 0x84B4, 0xAF6A, 0x84B5, 0xAF6B, 0x84B6, - 0xAF6C, 0x84B7, 0xAF6D, 0x84B8, 0xAF6E, 0x84B9, 0xAF6F, 0x84BA, 0xAF70, 0x84BB, 0xAF71, 0x84BC, 0xAF72, 0x84BD, 0xAF73, 0x84BE, - 0xAF74, 0x84BF, 0xAF75, 0x84C0, 0xAF76, 0x84C1, 0xAF77, 0x84C2, 0xAF78, 0x84C3, 0xAF79, 0xB2D1, 0xAF7A, 0x84C4, 0xAF7B, 0x84C5, - 0xAF7C, 0x84C6, 0xAF7D, 0x84C7, 0xAF7E, 0x84C8, 0xAF7F, 0x84C9, 0xAF80, 0xB2D2, 0xAF81, 0x84CA, 0xAF82, 0x84CB, 0xAF83, 0x84CC, - 0xAF84, 0xB2D3, 0xAF85, 0x84CD, 0xAF86, 0x84CE, 0xAF87, 0x84CF, 0xAF88, 0xB2D4, 0xAF89, 0x84D0, 0xAF8A, 0x84D1, 0xAF8B, 0x84D2, - 0xAF8C, 0x84D3, 0xAF8D, 0x84D4, 0xAF8E, 0x84D5, 0xAF8F, 0x84D6, 0xAF90, 0xB2D5, 0xAF91, 0xB2D6, 0xAF92, 0x84D7, 0xAF93, 0x84D8, - 0xAF94, 0x84D9, 0xAF95, 0xB2D7, 0xAF96, 0x84DA, 0xAF97, 0x84DB, 0xAF98, 0x84DC, 0xAF99, 0x84DD, 0xAF9A, 0x84DE, 0xAF9B, 0x84DF, - 0xAF9C, 0xB2D8, 0xAF9D, 0x84E0, 0xAF9E, 0x84E1, 0xAF9F, 0x84E2, 0xAFA0, 0x84E3, 0xAFA1, 0x84E4, 0xAFA2, 0x84E5, 0xAFA3, 0x84E6, - 0xAFA4, 0x84E7, 0xAFA5, 0x84E8, 0xAFA6, 0x84E9, 0xAFA7, 0x84EA, 0xAFA8, 0x84EB, 0xAFA9, 0x84EC, 0xAFAA, 0x84ED, 0xAFAB, 0x84EE, - 0xAFAC, 0x84EF, 0xAFAD, 0x84F0, 0xAFAE, 0x84F1, 0xAFAF, 0x84F2, 0xAFB0, 0x84F3, 0xAFB1, 0x84F4, 0xAFB2, 0x84F5, 0xAFB3, 0x84F6, - 0xAFB4, 0x84F7, 0xAFB5, 0x84F8, 0xAFB6, 0x84F9, 0xAFB7, 0x84FA, 0xAFB8, 0xB2D9, 0xAFB9, 0xB2DA, 0xAFBA, 0x84FB, 0xAFBB, 0x84FC, - 0xAFBC, 0xB2DB, 0xAFBD, 0x84FD, 0xAFBE, 0x84FE, 0xAFBF, 0x8541, 0xAFC0, 0xB2DC, 0xAFC1, 0x8542, 0xAFC2, 0x8543, 0xAFC3, 0x8544, - 0xAFC4, 0x8545, 0xAFC5, 0x8546, 0xAFC6, 0x8547, 0xAFC7, 0xB2DD, 0xAFC8, 0xB2DE, 0xAFC9, 0xB2DF, 0xAFCA, 0x8548, 0xAFCB, 0xB2E0, - 0xAFCC, 0x8549, 0xAFCD, 0xB2E1, 0xAFCE, 0xB2E2, 0xAFCF, 0x854A, 0xAFD0, 0x854B, 0xAFD1, 0x854C, 0xAFD2, 0x854D, 0xAFD3, 0x854E, - 0xAFD4, 0xB2E3, 0xAFD5, 0x854F, 0xAFD6, 0x8550, 0xAFD7, 0x8551, 0xAFD8, 0x8552, 0xAFD9, 0x8553, 0xAFDA, 0x8554, 0xAFDB, 0x8555, - 0xAFDC, 0xB2E4, 0xAFDD, 0x8556, 0xAFDE, 0x8557, 0xAFDF, 0x8558, 0xAFE0, 0x8559, 0xAFE1, 0x855A, 0xAFE2, 0x8561, 0xAFE3, 0x8562, - 0xAFE4, 0x8563, 0xAFE5, 0x8564, 0xAFE6, 0x8565, 0xAFE7, 0x8566, 0xAFE8, 0xB2E5, 0xAFE9, 0xB2E6, 0xAFEA, 0x8567, 0xAFEB, 0x8568, - 0xAFEC, 0x8569, 0xAFED, 0x856A, 0xAFEE, 0x856B, 0xAFEF, 0x856C, 0xAFF0, 0xB2E7, 0xAFF1, 0xB2E8, 0xAFF2, 0x856D, 0xAFF3, 0x856E, - 0xAFF4, 0xB2E9, 0xAFF5, 0x856F, 0xAFF6, 0x8570, 0xAFF7, 0x8571, 0xAFF8, 0xB2EA, 0xAFF9, 0x8572, 0xAFFA, 0x8573, 0xAFFB, 0x8574, - 0xAFFC, 0x8575, 0xAFFD, 0x8576, 0xAFFE, 0x8577, 0xAFFF, 0x8578, 0xB000, 0xB2EB, 0xB001, 0xB2EC, 0xB002, 0x8579, 0xB003, 0x857A, - 0xB004, 0xB2ED, 0xB005, 0x8581, 0xB006, 0x8582, 0xB007, 0x8583, 0xB008, 0x8584, 0xB009, 0x8585, 0xB00A, 0x8586, 0xB00B, 0x8587, - 0xB00C, 0xB2EE, 0xB00D, 0x8588, 0xB00E, 0x8589, 0xB00F, 0x858A, 0xB010, 0xB2EF, 0xB011, 0x858B, 0xB012, 0x858C, 0xB013, 0x858D, - 0xB014, 0xB2F0, 0xB015, 0x858E, 0xB016, 0x858F, 0xB017, 0x8590, 0xB018, 0x8591, 0xB019, 0x8592, 0xB01A, 0x8593, 0xB01B, 0x8594, - 0xB01C, 0xB2F1, 0xB01D, 0xB2F2, 0xB01E, 0x8595, 0xB01F, 0x8596, 0xB020, 0x8597, 0xB021, 0x8598, 0xB022, 0x8599, 0xB023, 0x859A, - 0xB024, 0x859B, 0xB025, 0x859C, 0xB026, 0x859D, 0xB027, 0x859E, 0xB028, 0xB2F3, 0xB029, 0x859F, 0xB02A, 0x85A0, 0xB02B, 0x85A1, - 0xB02C, 0x85A2, 0xB02D, 0x85A3, 0xB02E, 0x85A4, 0xB02F, 0x85A5, 0xB030, 0x85A6, 0xB031, 0x85A7, 0xB032, 0x85A8, 0xB033, 0x85A9, - 0xB034, 0x85AA, 0xB035, 0x85AB, 0xB036, 0x85AC, 0xB037, 0x85AD, 0xB038, 0x85AE, 0xB039, 0x85AF, 0xB03A, 0x85B0, 0xB03B, 0x85B1, - 0xB03C, 0x85B2, 0xB03D, 0x85B3, 0xB03E, 0x85B4, 0xB03F, 0x85B5, 0xB040, 0x85B6, 0xB041, 0x85B7, 0xB042, 0x85B8, 0xB043, 0x85B9, - 0xB044, 0xB2F4, 0xB045, 0xB2F5, 0xB046, 0x85BA, 0xB047, 0x85BB, 0xB048, 0xB2F6, 0xB049, 0x85BC, 0xB04A, 0xB2F7, 0xB04B, 0x85BD, - 0xB04C, 0xB2F8, 0xB04D, 0x85BE, 0xB04E, 0xB2F9, 0xB04F, 0x85BF, 0xB050, 0x85C0, 0xB051, 0x85C1, 0xB052, 0x85C2, 0xB053, 0xB2FA, - 0xB054, 0xB2FB, 0xB055, 0xB2FC, 0xB056, 0x85C3, 0xB057, 0xB2FD, 0xB058, 0x85C4, 0xB059, 0xB2FE, 0xB05A, 0x85C5, 0xB05B, 0x85C6, - 0xB05C, 0x85C7, 0xB05D, 0xB3A1, 0xB05E, 0x85C8, 0xB05F, 0x85C9, 0xB060, 0x85CA, 0xB061, 0x85CB, 0xB062, 0x85CC, 0xB063, 0x85CD, - 0xB064, 0x85CE, 0xB065, 0x85CF, 0xB066, 0x85D0, 0xB067, 0x85D1, 0xB068, 0x85D2, 0xB069, 0x85D3, 0xB06A, 0x85D4, 0xB06B, 0x85D5, - 0xB06C, 0x85D6, 0xB06D, 0x85D7, 0xB06E, 0x85D8, 0xB06F, 0x85D9, 0xB070, 0x85DA, 0xB071, 0x85DB, 0xB072, 0x85DC, 0xB073, 0x85DD, - 0xB074, 0x85DE, 0xB075, 0x85DF, 0xB076, 0x85E0, 0xB077, 0x85E1, 0xB078, 0x85E2, 0xB079, 0x85E3, 0xB07A, 0x85E4, 0xB07B, 0x85E5, - 0xB07C, 0xB3A2, 0xB07D, 0xB3A3, 0xB07E, 0x85E6, 0xB07F, 0x85E7, 0xB080, 0xB3A4, 0xB081, 0x85E8, 0xB082, 0x85E9, 0xB083, 0x85EA, - 0xB084, 0xB3A5, 0xB085, 0x85EB, 0xB086, 0x85EC, 0xB087, 0x85ED, 0xB088, 0x85EE, 0xB089, 0x85EF, 0xB08A, 0x85F0, 0xB08B, 0x85F1, - 0xB08C, 0xB3A6, 0xB08D, 0xB3A7, 0xB08E, 0x85F2, 0xB08F, 0xB3A8, 0xB090, 0x85F3, 0xB091, 0xB3A9, 0xB092, 0x85F4, 0xB093, 0x85F5, - 0xB094, 0x85F6, 0xB095, 0x85F7, 0xB096, 0x85F8, 0xB097, 0x85F9, 0xB098, 0xB3AA, 0xB099, 0xB3AB, 0xB09A, 0xB3AC, 0xB09B, 0x85FA, - 0xB09C, 0xB3AD, 0xB09D, 0x85FB, 0xB09E, 0x85FC, 0xB09F, 0xB3AE, 0xB0A0, 0xB3AF, 0xB0A1, 0xB3B0, 0xB0A2, 0xB3B1, 0xB0A3, 0x85FD, - 0xB0A4, 0x85FE, 0xB0A5, 0x8641, 0xB0A6, 0x8642, 0xB0A7, 0x8643, 0xB0A8, 0xB3B2, 0xB0A9, 0xB3B3, 0xB0AA, 0x8644, 0xB0AB, 0xB3B4, - 0xB0AC, 0xB3B5, 0xB0AD, 0xB3B6, 0xB0AE, 0xB3B7, 0xB0AF, 0xB3B8, 0xB0B0, 0x8645, 0xB0B1, 0xB3B9, 0xB0B2, 0x8646, 0xB0B3, 0xB3BA, - 0xB0B4, 0xB3BB, 0xB0B5, 0xB3BC, 0xB0B6, 0x8647, 0xB0B7, 0x8648, 0xB0B8, 0xB3BD, 0xB0B9, 0x8649, 0xB0BA, 0x864A, 0xB0BB, 0x864B, - 0xB0BC, 0xB3BE, 0xB0BD, 0x864C, 0xB0BE, 0x864D, 0xB0BF, 0x864E, 0xB0C0, 0x864F, 0xB0C1, 0x8650, 0xB0C2, 0x8651, 0xB0C3, 0x8652, - 0xB0C4, 0xB3BF, 0xB0C5, 0xB3C0, 0xB0C6, 0x8653, 0xB0C7, 0xB3C1, 0xB0C8, 0xB3C2, 0xB0C9, 0xB3C3, 0xB0CA, 0x8654, 0xB0CB, 0x8655, - 0xB0CC, 0x8656, 0xB0CD, 0x8657, 0xB0CE, 0x8658, 0xB0CF, 0x8659, 0xB0D0, 0xB3C4, 0xB0D1, 0xB3C5, 0xB0D2, 0x865A, 0xB0D3, 0x8661, - 0xB0D4, 0xB3C6, 0xB0D5, 0x8662, 0xB0D6, 0x8663, 0xB0D7, 0x8664, 0xB0D8, 0xB3C7, 0xB0D9, 0x8665, 0xB0DA, 0x8666, 0xB0DB, 0x8667, - 0xB0DC, 0x8668, 0xB0DD, 0x8669, 0xB0DE, 0x866A, 0xB0DF, 0x866B, 0xB0E0, 0xB3C8, 0xB0E1, 0x866C, 0xB0E2, 0x866D, 0xB0E3, 0x866E, - 0xB0E4, 0x866F, 0xB0E5, 0xB3C9, 0xB0E6, 0x8670, 0xB0E7, 0x8671, 0xB0E8, 0x8672, 0xB0E9, 0x8673, 0xB0EA, 0x8674, 0xB0EB, 0x8675, - 0xB0EC, 0x8676, 0xB0ED, 0x8677, 0xB0EE, 0x8678, 0xB0EF, 0x8679, 0xB0F0, 0x867A, 0xB0F1, 0x8681, 0xB0F2, 0x8682, 0xB0F3, 0x8683, - 0xB0F4, 0x8684, 0xB0F5, 0x8685, 0xB0F6, 0x8686, 0xB0F7, 0x8687, 0xB0F8, 0x8688, 0xB0F9, 0x8689, 0xB0FA, 0x868A, 0xB0FB, 0x868B, - 0xB0FC, 0x868C, 0xB0FD, 0x868D, 0xB0FE, 0x868E, 0xB0FF, 0x868F, 0xB100, 0x8690, 0xB101, 0x8691, 0xB102, 0x8692, 0xB103, 0x8693, - 0xB104, 0x8694, 0xB105, 0x8695, 0xB106, 0x8696, 0xB107, 0x8697, 0xB108, 0xB3CA, 0xB109, 0xB3CB, 0xB10A, 0x8698, 0xB10B, 0xB3CC, - 0xB10C, 0xB3CD, 0xB10D, 0x8699, 0xB10E, 0x869A, 0xB10F, 0x869B, 0xB110, 0xB3CE, 0xB111, 0x869C, 0xB112, 0xB3CF, 0xB113, 0xB3D0, - 0xB114, 0x869D, 0xB115, 0x869E, 0xB116, 0x869F, 0xB117, 0x86A0, 0xB118, 0xB3D1, 0xB119, 0xB3D2, 0xB11A, 0x86A1, 0xB11B, 0xB3D3, - 0xB11C, 0xB3D4, 0xB11D, 0xB3D5, 0xB11E, 0x86A2, 0xB11F, 0x86A3, 0xB120, 0x86A4, 0xB121, 0x86A5, 0xB122, 0x86A6, 0xB123, 0xB3D6, - 0xB124, 0xB3D7, 0xB125, 0xB3D8, 0xB126, 0x86A7, 0xB127, 0x86A8, 0xB128, 0xB3D9, 0xB129, 0x86A9, 0xB12A, 0x86AA, 0xB12B, 0x86AB, - 0xB12C, 0xB3DA, 0xB12D, 0x86AC, 0xB12E, 0x86AD, 0xB12F, 0x86AE, 0xB130, 0x86AF, 0xB131, 0x86B0, 0xB132, 0x86B1, 0xB133, 0x86B2, - 0xB134, 0xB3DB, 0xB135, 0xB3DC, 0xB136, 0x86B3, 0xB137, 0xB3DD, 0xB138, 0xB3DE, 0xB139, 0xB3DF, 0xB13A, 0x86B4, 0xB13B, 0x86B5, - 0xB13C, 0x86B6, 0xB13D, 0x86B7, 0xB13E, 0x86B8, 0xB13F, 0x86B9, 0xB140, 0xB3E0, 0xB141, 0xB3E1, 0xB142, 0x86BA, 0xB143, 0x86BB, - 0xB144, 0xB3E2, 0xB145, 0x86BC, 0xB146, 0x86BD, 0xB147, 0x86BE, 0xB148, 0xB3E3, 0xB149, 0x86BF, 0xB14A, 0x86C0, 0xB14B, 0x86C1, - 0xB14C, 0x86C2, 0xB14D, 0x86C3, 0xB14E, 0x86C4, 0xB14F, 0x86C5, 0xB150, 0xB3E4, 0xB151, 0xB3E5, 0xB152, 0x86C6, 0xB153, 0x86C7, - 0xB154, 0xB3E6, 0xB155, 0xB3E7, 0xB156, 0x86C8, 0xB157, 0x86C9, 0xB158, 0xB3E8, 0xB159, 0x86CA, 0xB15A, 0x86CB, 0xB15B, 0x86CC, - 0xB15C, 0xB3E9, 0xB15D, 0x86CD, 0xB15E, 0x86CE, 0xB15F, 0x86CF, 0xB160, 0xB3EA, 0xB161, 0x86D0, 0xB162, 0x86D1, 0xB163, 0x86D2, - 0xB164, 0x86D3, 0xB165, 0x86D4, 0xB166, 0x86D5, 0xB167, 0x86D6, 0xB168, 0x86D7, 0xB169, 0x86D8, 0xB16A, 0x86D9, 0xB16B, 0x86DA, - 0xB16C, 0x86DB, 0xB16D, 0x86DC, 0xB16E, 0x86DD, 0xB16F, 0x86DE, 0xB170, 0x86DF, 0xB171, 0x86E0, 0xB172, 0x86E1, 0xB173, 0x86E2, - 0xB174, 0x86E3, 0xB175, 0x86E4, 0xB176, 0x86E5, 0xB177, 0x86E6, 0xB178, 0xB3EB, 0xB179, 0xB3EC, 0xB17A, 0x86E7, 0xB17B, 0x86E8, - 0xB17C, 0xB3ED, 0xB17D, 0x86E9, 0xB17E, 0x86EA, 0xB17F, 0x86EB, 0xB180, 0xB3EE, 0xB181, 0x86EC, 0xB182, 0xB3EF, 0xB183, 0x86ED, - 0xB184, 0x86EE, 0xB185, 0x86EF, 0xB186, 0x86F0, 0xB187, 0x86F1, 0xB188, 0xB3F0, 0xB189, 0xB3F1, 0xB18A, 0x86F2, 0xB18B, 0xB3F2, - 0xB18C, 0x86F3, 0xB18D, 0xB3F3, 0xB18E, 0x86F4, 0xB18F, 0x86F5, 0xB190, 0x86F6, 0xB191, 0x86F7, 0xB192, 0xB3F4, 0xB193, 0xB3F5, - 0xB194, 0xB3F6, 0xB195, 0x86F8, 0xB196, 0x86F9, 0xB197, 0x86FA, 0xB198, 0xB3F7, 0xB199, 0x86FB, 0xB19A, 0x86FC, 0xB19B, 0x86FD, - 0xB19C, 0xB3F8, 0xB19D, 0x86FE, 0xB19E, 0x8741, 0xB19F, 0x8742, 0xB1A0, 0x8743, 0xB1A1, 0x8744, 0xB1A2, 0x8745, 0xB1A3, 0x8746, - 0xB1A4, 0x8747, 0xB1A5, 0x8748, 0xB1A6, 0x8749, 0xB1A7, 0x874A, 0xB1A8, 0xB3F9, 0xB1A9, 0x874B, 0xB1AA, 0x874C, 0xB1AB, 0x874D, - 0xB1AC, 0x874E, 0xB1AD, 0x874F, 0xB1AE, 0x8750, 0xB1AF, 0x8751, 0xB1B0, 0x8752, 0xB1B1, 0x8753, 0xB1B2, 0x8754, 0xB1B3, 0x8755, - 0xB1B4, 0x8756, 0xB1B5, 0x8757, 0xB1B6, 0x8758, 0xB1B7, 0x8759, 0xB1B8, 0x875A, 0xB1B9, 0x8761, 0xB1BA, 0x8762, 0xB1BB, 0x8763, - 0xB1BC, 0x8764, 0xB1BD, 0x8765, 0xB1BE, 0x8766, 0xB1BF, 0x8767, 0xB1C0, 0x8768, 0xB1C1, 0x8769, 0xB1C2, 0x876A, 0xB1C3, 0x876B, - 0xB1C4, 0x876C, 0xB1C5, 0x876D, 0xB1C6, 0x876E, 0xB1C7, 0x876F, 0xB1C8, 0x8770, 0xB1C9, 0x8771, 0xB1CA, 0x8772, 0xB1CB, 0x8773, - 0xB1CC, 0xB3FA, 0xB1CD, 0x8774, 0xB1CE, 0x8775, 0xB1CF, 0x8776, 0xB1D0, 0xB3FB, 0xB1D1, 0x8777, 0xB1D2, 0x8778, 0xB1D3, 0x8779, - 0xB1D4, 0xB3FC, 0xB1D5, 0x877A, 0xB1D6, 0x8781, 0xB1D7, 0x8782, 0xB1D8, 0x8783, 0xB1D9, 0x8784, 0xB1DA, 0x8785, 0xB1DB, 0x8786, - 0xB1DC, 0xB3FD, 0xB1DD, 0xB3FE, 0xB1DE, 0x8787, 0xB1DF, 0xB4A1, 0xB1E0, 0x8788, 0xB1E1, 0x8789, 0xB1E2, 0x878A, 0xB1E3, 0x878B, - 0xB1E4, 0x878C, 0xB1E5, 0x878D, 0xB1E6, 0x878E, 0xB1E7, 0x878F, 0xB1E8, 0xB4A2, 0xB1E9, 0xB4A3, 0xB1EA, 0x8790, 0xB1EB, 0x8791, - 0xB1EC, 0xB4A4, 0xB1ED, 0x8792, 0xB1EE, 0x8793, 0xB1EF, 0x8794, 0xB1F0, 0xB4A5, 0xB1F1, 0x8795, 0xB1F2, 0x8796, 0xB1F3, 0x8797, - 0xB1F4, 0x8798, 0xB1F5, 0x8799, 0xB1F6, 0x879A, 0xB1F7, 0x879B, 0xB1F8, 0x879C, 0xB1F9, 0xB4A6, 0xB1FA, 0x879D, 0xB1FB, 0xB4A7, - 0xB1FC, 0x879E, 0xB1FD, 0xB4A8, 0xB1FE, 0x879F, 0xB1FF, 0x87A0, 0xB200, 0x87A1, 0xB201, 0x87A2, 0xB202, 0x87A3, 0xB203, 0x87A4, - 0xB204, 0xB4A9, 0xB205, 0xB4AA, 0xB206, 0x87A5, 0xB207, 0x87A6, 0xB208, 0xB4AB, 0xB209, 0x87A7, 0xB20A, 0x87A8, 0xB20B, 0xB4AC, - 0xB20C, 0xB4AD, 0xB20D, 0x87A9, 0xB20E, 0x87AA, 0xB20F, 0x87AB, 0xB210, 0x87AC, 0xB211, 0x87AD, 0xB212, 0x87AE, 0xB213, 0x87AF, - 0xB214, 0xB4AE, 0xB215, 0xB4AF, 0xB216, 0x87B0, 0xB217, 0xB4B0, 0xB218, 0x87B1, 0xB219, 0xB4B1, 0xB21A, 0x87B2, 0xB21B, 0x87B3, - 0xB21C, 0x87B4, 0xB21D, 0x87B5, 0xB21E, 0x87B6, 0xB21F, 0x87B7, 0xB220, 0xB4B2, 0xB221, 0x87B8, 0xB222, 0x87B9, 0xB223, 0x87BA, - 0xB224, 0x87BB, 0xB225, 0x87BC, 0xB226, 0x87BD, 0xB227, 0x87BE, 0xB228, 0x87BF, 0xB229, 0x87C0, 0xB22A, 0x87C1, 0xB22B, 0x87C2, - 0xB22C, 0x87C3, 0xB22D, 0x87C4, 0xB22E, 0x87C5, 0xB22F, 0x87C6, 0xB230, 0x87C7, 0xB231, 0x87C8, 0xB232, 0x87C9, 0xB233, 0x87CA, - 0xB234, 0xB4B3, 0xB235, 0x87CB, 0xB236, 0x87CC, 0xB237, 0x87CD, 0xB238, 0x87CE, 0xB239, 0x87CF, 0xB23A, 0x87D0, 0xB23B, 0x87D1, - 0xB23C, 0xB4B4, 0xB23D, 0x87D2, 0xB23E, 0x87D3, 0xB23F, 0x87D4, 0xB240, 0x87D5, 0xB241, 0x87D6, 0xB242, 0x87D7, 0xB243, 0x87D8, - 0xB244, 0x87D9, 0xB245, 0x87DA, 0xB246, 0x87DB, 0xB247, 0x87DC, 0xB248, 0x87DD, 0xB249, 0x87DE, 0xB24A, 0x87DF, 0xB24B, 0x87E0, - 0xB24C, 0x87E1, 0xB24D, 0x87E2, 0xB24E, 0x87E3, 0xB24F, 0x87E4, 0xB250, 0x87E5, 0xB251, 0x87E6, 0xB252, 0x87E7, 0xB253, 0x87E8, - 0xB254, 0x87E9, 0xB255, 0x87EA, 0xB256, 0x87EB, 0xB257, 0x87EC, 0xB258, 0xB4B5, 0xB259, 0x87ED, 0xB25A, 0x87EE, 0xB25B, 0x87EF, - 0xB25C, 0xB4B6, 0xB25D, 0x87F0, 0xB25E, 0x87F1, 0xB25F, 0x87F2, 0xB260, 0xB4B7, 0xB261, 0x87F3, 0xB262, 0x87F4, 0xB263, 0x87F5, - 0xB264, 0x87F6, 0xB265, 0x87F7, 0xB266, 0x87F8, 0xB267, 0x87F9, 0xB268, 0xB4B8, 0xB269, 0xB4B9, 0xB26A, 0x87FA, 0xB26B, 0x87FB, - 0xB26C, 0x87FC, 0xB26D, 0x87FD, 0xB26E, 0x87FE, 0xB26F, 0x8841, 0xB270, 0x8842, 0xB271, 0x8843, 0xB272, 0x8844, 0xB273, 0x8845, - 0xB274, 0xB4BA, 0xB275, 0xB4BB, 0xB276, 0x8846, 0xB277, 0x8847, 0xB278, 0x8848, 0xB279, 0x8849, 0xB27A, 0x884A, 0xB27B, 0x884B, - 0xB27C, 0xB4BC, 0xB27D, 0x884C, 0xB27E, 0x884D, 0xB27F, 0x884E, 0xB280, 0x884F, 0xB281, 0x8850, 0xB282, 0x8851, 0xB283, 0x8852, - 0xB284, 0xB4BD, 0xB285, 0xB4BE, 0xB286, 0x8853, 0xB287, 0x8854, 0xB288, 0x8855, 0xB289, 0xB4BF, 0xB28A, 0x8856, 0xB28B, 0x8857, - 0xB28C, 0x8858, 0xB28D, 0x8859, 0xB28E, 0x885A, 0xB28F, 0x8861, 0xB290, 0xB4C0, 0xB291, 0xB4C1, 0xB292, 0x8862, 0xB293, 0x8863, - 0xB294, 0xB4C2, 0xB295, 0x8864, 0xB296, 0x8865, 0xB297, 0x8866, 0xB298, 0xB4C3, 0xB299, 0xB4C4, 0xB29A, 0xB4C5, 0xB29B, 0x8867, - 0xB29C, 0x8868, 0xB29D, 0x8869, 0xB29E, 0x886A, 0xB29F, 0x886B, 0xB2A0, 0xB4C6, 0xB2A1, 0xB4C7, 0xB2A2, 0x886C, 0xB2A3, 0xB4C8, - 0xB2A4, 0x886D, 0xB2A5, 0xB4C9, 0xB2A6, 0xB4CA, 0xB2A7, 0x886E, 0xB2A8, 0x886F, 0xB2A9, 0x8870, 0xB2AA, 0xB4CB, 0xB2AB, 0x8871, - 0xB2AC, 0xB4CC, 0xB2AD, 0x8872, 0xB2AE, 0x8873, 0xB2AF, 0x8874, 0xB2B0, 0xB4CD, 0xB2B1, 0x8875, 0xB2B2, 0x8876, 0xB2B3, 0x8877, - 0xB2B4, 0xB4CE, 0xB2B5, 0x8878, 0xB2B6, 0x8879, 0xB2B7, 0x887A, 0xB2B8, 0x8881, 0xB2B9, 0x8882, 0xB2BA, 0x8883, 0xB2BB, 0x8884, - 0xB2BC, 0x8885, 0xB2BD, 0x8886, 0xB2BE, 0x8887, 0xB2BF, 0x8888, 0xB2C0, 0x8889, 0xB2C1, 0x888A, 0xB2C2, 0x888B, 0xB2C3, 0x888C, - 0xB2C4, 0x888D, 0xB2C5, 0x888E, 0xB2C6, 0x888F, 0xB2C7, 0x8890, 0xB2C8, 0xB4CF, 0xB2C9, 0xB4D0, 0xB2CA, 0x8891, 0xB2CB, 0x8892, - 0xB2CC, 0xB4D1, 0xB2CD, 0x8893, 0xB2CE, 0x8894, 0xB2CF, 0x8895, 0xB2D0, 0xB4D2, 0xB2D1, 0x8896, 0xB2D2, 0xB4D3, 0xB2D3, 0x8897, - 0xB2D4, 0x8898, 0xB2D5, 0x8899, 0xB2D6, 0x889A, 0xB2D7, 0x889B, 0xB2D8, 0xB4D4, 0xB2D9, 0xB4D5, 0xB2DA, 0x889C, 0xB2DB, 0xB4D6, - 0xB2DC, 0x889D, 0xB2DD, 0xB4D7, 0xB2DE, 0x889E, 0xB2DF, 0x889F, 0xB2E0, 0x88A0, 0xB2E1, 0x88A1, 0xB2E2, 0xB4D8, 0xB2E3, 0x88A2, - 0xB2E4, 0xB4D9, 0xB2E5, 0xB4DA, 0xB2E6, 0xB4DB, 0xB2E7, 0x88A3, 0xB2E8, 0xB4DC, 0xB2E9, 0x88A4, 0xB2EA, 0x88A5, 0xB2EB, 0xB4DD, - 0xB2EC, 0xB4DE, 0xB2ED, 0xB4DF, 0xB2EE, 0xB4E0, 0xB2EF, 0xB4E1, 0xB2F0, 0x88A6, 0xB2F1, 0x88A7, 0xB2F2, 0x88A8, 0xB2F3, 0xB4E2, - 0xB2F4, 0xB4E3, 0xB2F5, 0xB4E4, 0xB2F6, 0x88A9, 0xB2F7, 0xB4E5, 0xB2F8, 0xB4E6, 0xB2F9, 0xB4E7, 0xB2FA, 0xB4E8, 0xB2FB, 0xB4E9, - 0xB2FC, 0x88AA, 0xB2FD, 0x88AB, 0xB2FE, 0x88AC, 0xB2FF, 0xB4EA, 0xB300, 0xB4EB, 0xB301, 0xB4EC, 0xB302, 0x88AD, 0xB303, 0x88AE, - 0xB304, 0xB4ED, 0xB305, 0x88AF, 0xB306, 0x88B0, 0xB307, 0x88B1, 0xB308, 0xB4EE, 0xB309, 0x88B2, 0xB30A, 0x88B3, 0xB30B, 0x88B4, - 0xB30C, 0x88B5, 0xB30D, 0x88B6, 0xB30E, 0x88B7, 0xB30F, 0x88B8, 0xB310, 0xB4EF, 0xB311, 0xB4F0, 0xB312, 0x88B9, 0xB313, 0xB4F1, - 0xB314, 0xB4F2, 0xB315, 0xB4F3, 0xB316, 0x88BA, 0xB317, 0x88BB, 0xB318, 0x88BC, 0xB319, 0x88BD, 0xB31A, 0x88BE, 0xB31B, 0x88BF, - 0xB31C, 0xB4F4, 0xB31D, 0x88C0, 0xB31E, 0x88C1, 0xB31F, 0x88C2, 0xB320, 0x88C3, 0xB321, 0x88C4, 0xB322, 0x88C5, 0xB323, 0x88C6, - 0xB324, 0x88C7, 0xB325, 0x88C8, 0xB326, 0x88C9, 0xB327, 0x88CA, 0xB328, 0x88CB, 0xB329, 0x88CC, 0xB32A, 0x88CD, 0xB32B, 0x88CE, - 0xB32C, 0x88CF, 0xB32D, 0x88D0, 0xB32E, 0x88D1, 0xB32F, 0x88D2, 0xB330, 0x88D3, 0xB331, 0x88D4, 0xB332, 0x88D5, 0xB333, 0x88D6, - 0xB334, 0x88D7, 0xB335, 0x88D8, 0xB336, 0x88D9, 0xB337, 0x88DA, 0xB338, 0x88DB, 0xB339, 0x88DC, 0xB33A, 0x88DD, 0xB33B, 0x88DE, - 0xB33C, 0x88DF, 0xB33D, 0x88E0, 0xB33E, 0x88E1, 0xB33F, 0x88E2, 0xB340, 0x88E3, 0xB341, 0x88E4, 0xB342, 0x88E5, 0xB343, 0x88E6, - 0xB344, 0x88E7, 0xB345, 0x88E8, 0xB346, 0x88E9, 0xB347, 0x88EA, 0xB348, 0x88EB, 0xB349, 0x88EC, 0xB34A, 0x88ED, 0xB34B, 0x88EE, - 0xB34C, 0x88EF, 0xB34D, 0x88F0, 0xB34E, 0x88F1, 0xB34F, 0x88F2, 0xB350, 0x88F3, 0xB351, 0x88F4, 0xB352, 0x88F5, 0xB353, 0x88F6, - 0xB354, 0xB4F5, 0xB355, 0xB4F6, 0xB356, 0xB4F7, 0xB357, 0x88F7, 0xB358, 0xB4F8, 0xB359, 0x88F8, 0xB35A, 0x88F9, 0xB35B, 0xB4F9, - 0xB35C, 0xB4FA, 0xB35D, 0x88FA, 0xB35E, 0xB4FB, 0xB35F, 0xB4FC, 0xB360, 0x88FB, 0xB361, 0x88FC, 0xB362, 0x88FD, 0xB363, 0x88FE, - 0xB364, 0xB4FD, 0xB365, 0xB4FE, 0xB366, 0x8941, 0xB367, 0xB5A1, 0xB368, 0x8942, 0xB369, 0xB5A2, 0xB36A, 0x8943, 0xB36B, 0xB5A3, - 0xB36C, 0x8944, 0xB36D, 0x8945, 0xB36E, 0xB5A4, 0xB36F, 0x8946, 0xB370, 0xB5A5, 0xB371, 0xB5A6, 0xB372, 0x8947, 0xB373, 0x8948, - 0xB374, 0xB5A7, 0xB375, 0x8949, 0xB376, 0x894A, 0xB377, 0x894B, 0xB378, 0xB5A8, 0xB379, 0x894C, 0xB37A, 0x894D, 0xB37B, 0x894E, - 0xB37C, 0x894F, 0xB37D, 0x8950, 0xB37E, 0x8951, 0xB37F, 0x8952, 0xB380, 0xB5A9, 0xB381, 0xB5AA, 0xB382, 0x8953, 0xB383, 0xB5AB, - 0xB384, 0xB5AC, 0xB385, 0xB5AD, 0xB386, 0x8954, 0xB387, 0x8955, 0xB388, 0x8956, 0xB389, 0x8957, 0xB38A, 0x8958, 0xB38B, 0x8959, - 0xB38C, 0xB5AE, 0xB38D, 0x895A, 0xB38E, 0x8961, 0xB38F, 0x8962, 0xB390, 0xB5AF, 0xB391, 0x8963, 0xB392, 0x8964, 0xB393, 0x8965, - 0xB394, 0xB5B0, 0xB395, 0x8966, 0xB396, 0x8967, 0xB397, 0x8968, 0xB398, 0x8969, 0xB399, 0x896A, 0xB39A, 0x896B, 0xB39B, 0x896C, - 0xB39C, 0x896D, 0xB39D, 0x896E, 0xB39E, 0x896F, 0xB39F, 0x8970, 0xB3A0, 0xB5B1, 0xB3A1, 0xB5B2, 0xB3A2, 0x8971, 0xB3A3, 0x8972, - 0xB3A4, 0x8973, 0xB3A5, 0x8974, 0xB3A6, 0x8975, 0xB3A7, 0x8976, 0xB3A8, 0xB5B3, 0xB3A9, 0x8977, 0xB3AA, 0x8978, 0xB3AB, 0x8979, - 0xB3AC, 0xB5B4, 0xB3AD, 0x897A, 0xB3AE, 0x8981, 0xB3AF, 0x8982, 0xB3B0, 0x8983, 0xB3B1, 0x8984, 0xB3B2, 0x8985, 0xB3B3, 0x8986, - 0xB3B4, 0x8987, 0xB3B5, 0x8988, 0xB3B6, 0x8989, 0xB3B7, 0x898A, 0xB3B8, 0x898B, 0xB3B9, 0x898C, 0xB3BA, 0x898D, 0xB3BB, 0x898E, - 0xB3BC, 0x898F, 0xB3BD, 0x8990, 0xB3BE, 0x8991, 0xB3BF, 0x8992, 0xB3C0, 0x8993, 0xB3C1, 0x8994, 0xB3C2, 0x8995, 0xB3C3, 0x8996, - 0xB3C4, 0xB5B5, 0xB3C5, 0xB5B6, 0xB3C6, 0x8997, 0xB3C7, 0x8998, 0xB3C8, 0xB5B7, 0xB3C9, 0x8999, 0xB3CA, 0x899A, 0xB3CB, 0xB5B8, - 0xB3CC, 0xB5B9, 0xB3CD, 0x899B, 0xB3CE, 0xB5BA, 0xB3CF, 0x899C, 0xB3D0, 0xB5BB, 0xB3D1, 0x899D, 0xB3D2, 0x899E, 0xB3D3, 0x899F, - 0xB3D4, 0xB5BC, 0xB3D5, 0xB5BD, 0xB3D6, 0x89A0, 0xB3D7, 0xB5BE, 0xB3D8, 0x89A1, 0xB3D9, 0xB5BF, 0xB3DA, 0x89A2, 0xB3DB, 0xB5C0, - 0xB3DC, 0x89A3, 0xB3DD, 0xB5C1, 0xB3DE, 0x89A4, 0xB3DF, 0x89A5, 0xB3E0, 0xB5C2, 0xB3E1, 0x89A6, 0xB3E2, 0x89A7, 0xB3E3, 0x89A8, - 0xB3E4, 0xB5C3, 0xB3E5, 0x89A9, 0xB3E6, 0x89AA, 0xB3E7, 0x89AB, 0xB3E8, 0xB5C4, 0xB3E9, 0x89AC, 0xB3EA, 0x89AD, 0xB3EB, 0x89AE, - 0xB3EC, 0x89AF, 0xB3ED, 0x89B0, 0xB3EE, 0x89B1, 0xB3EF, 0x89B2, 0xB3F0, 0x89B3, 0xB3F1, 0x89B4, 0xB3F2, 0x89B5, 0xB3F3, 0x89B6, - 0xB3F4, 0x89B7, 0xB3F5, 0x89B8, 0xB3F6, 0x89B9, 0xB3F7, 0x89BA, 0xB3F8, 0x89BB, 0xB3F9, 0x89BC, 0xB3FA, 0x89BD, 0xB3FB, 0x89BE, - 0xB3FC, 0xB5C5, 0xB3FD, 0x89BF, 0xB3FE, 0x89C0, 0xB3FF, 0x89C1, 0xB400, 0x89C2, 0xB401, 0x89C3, 0xB402, 0x89C4, 0xB403, 0x89C5, - 0xB404, 0x89C6, 0xB405, 0x89C7, 0xB406, 0x89C8, 0xB407, 0x89C9, 0xB408, 0x89CA, 0xB409, 0x89CB, 0xB40A, 0x89CC, 0xB40B, 0x89CD, - 0xB40C, 0x89CE, 0xB40D, 0x89CF, 0xB40E, 0x89D0, 0xB40F, 0x89D1, 0xB410, 0xB5C6, 0xB411, 0x89D2, 0xB412, 0x89D3, 0xB413, 0x89D4, - 0xB414, 0x89D5, 0xB415, 0x89D6, 0xB416, 0x89D7, 0xB417, 0x89D8, 0xB418, 0xB5C7, 0xB419, 0x89D9, 0xB41A, 0x89DA, 0xB41B, 0x89DB, - 0xB41C, 0xB5C8, 0xB41D, 0x89DC, 0xB41E, 0x89DD, 0xB41F, 0x89DE, 0xB420, 0xB5C9, 0xB421, 0x89DF, 0xB422, 0x89E0, 0xB423, 0x89E1, - 0xB424, 0x89E2, 0xB425, 0x89E3, 0xB426, 0x89E4, 0xB427, 0x89E5, 0xB428, 0xB5CA, 0xB429, 0xB5CB, 0xB42A, 0x89E6, 0xB42B, 0xB5CC, - 0xB42C, 0x89E7, 0xB42D, 0x89E8, 0xB42E, 0x89E9, 0xB42F, 0x89EA, 0xB430, 0x89EB, 0xB431, 0x89EC, 0xB432, 0x89ED, 0xB433, 0x89EE, - 0xB434, 0xB5CD, 0xB435, 0x89EF, 0xB436, 0x89F0, 0xB437, 0x89F1, 0xB438, 0x89F2, 0xB439, 0x89F3, 0xB43A, 0x89F4, 0xB43B, 0x89F5, - 0xB43C, 0x89F6, 0xB43D, 0x89F7, 0xB43E, 0x89F8, 0xB43F, 0x89F9, 0xB440, 0x89FA, 0xB441, 0x89FB, 0xB442, 0x89FC, 0xB443, 0x89FD, - 0xB444, 0x89FE, 0xB445, 0x8A41, 0xB446, 0x8A42, 0xB447, 0x8A43, 0xB448, 0x8A44, 0xB449, 0x8A45, 0xB44A, 0x8A46, 0xB44B, 0x8A47, - 0xB44C, 0x8A48, 0xB44D, 0x8A49, 0xB44E, 0x8A4A, 0xB44F, 0x8A4B, 0xB450, 0xB5CE, 0xB451, 0xB5CF, 0xB452, 0x8A4C, 0xB453, 0x8A4D, - 0xB454, 0xB5D0, 0xB455, 0x8A4E, 0xB456, 0x8A4F, 0xB457, 0x8A50, 0xB458, 0xB5D1, 0xB459, 0x8A51, 0xB45A, 0x8A52, 0xB45B, 0x8A53, - 0xB45C, 0x8A54, 0xB45D, 0x8A55, 0xB45E, 0x8A56, 0xB45F, 0x8A57, 0xB460, 0xB5D2, 0xB461, 0xB5D3, 0xB462, 0x8A58, 0xB463, 0xB5D4, - 0xB464, 0x8A59, 0xB465, 0xB5D5, 0xB466, 0x8A5A, 0xB467, 0x8A61, 0xB468, 0x8A62, 0xB469, 0x8A63, 0xB46A, 0x8A64, 0xB46B, 0x8A65, - 0xB46C, 0xB5D6, 0xB46D, 0x8A66, 0xB46E, 0x8A67, 0xB46F, 0x8A68, 0xB470, 0x8A69, 0xB471, 0x8A6A, 0xB472, 0x8A6B, 0xB473, 0x8A6C, - 0xB474, 0x8A6D, 0xB475, 0x8A6E, 0xB476, 0x8A6F, 0xB477, 0x8A70, 0xB478, 0x8A71, 0xB479, 0x8A72, 0xB47A, 0x8A73, 0xB47B, 0x8A74, - 0xB47C, 0x8A75, 0xB47D, 0x8A76, 0xB47E, 0x8A77, 0xB47F, 0x8A78, 0xB480, 0xB5D7, 0xB481, 0x8A79, 0xB482, 0x8A7A, 0xB483, 0x8A81, - 0xB484, 0x8A82, 0xB485, 0x8A83, 0xB486, 0x8A84, 0xB487, 0x8A85, 0xB488, 0xB5D8, 0xB489, 0x8A86, 0xB48A, 0x8A87, 0xB48B, 0x8A88, - 0xB48C, 0x8A89, 0xB48D, 0x8A8A, 0xB48E, 0x8A8B, 0xB48F, 0x8A8C, 0xB490, 0x8A8D, 0xB491, 0x8A8E, 0xB492, 0x8A8F, 0xB493, 0x8A90, - 0xB494, 0x8A91, 0xB495, 0x8A92, 0xB496, 0x8A93, 0xB497, 0x8A94, 0xB498, 0x8A95, 0xB499, 0x8A96, 0xB49A, 0x8A97, 0xB49B, 0x8A98, - 0xB49C, 0x8A99, 0xB49D, 0xB5D9, 0xB49E, 0x8A9A, 0xB49F, 0x8A9B, 0xB4A0, 0x8A9C, 0xB4A1, 0x8A9D, 0xB4A2, 0x8A9E, 0xB4A3, 0x8A9F, - 0xB4A4, 0xB5DA, 0xB4A5, 0x8AA0, 0xB4A6, 0x8AA1, 0xB4A7, 0x8AA2, 0xB4A8, 0xB5DB, 0xB4A9, 0x8AA3, 0xB4AA, 0x8AA4, 0xB4AB, 0x8AA5, - 0xB4AC, 0xB5DC, 0xB4AD, 0x8AA6, 0xB4AE, 0x8AA7, 0xB4AF, 0x8AA8, 0xB4B0, 0x8AA9, 0xB4B1, 0x8AAA, 0xB4B2, 0x8AAB, 0xB4B3, 0x8AAC, - 0xB4B4, 0x8AAD, 0xB4B5, 0xB5DD, 0xB4B6, 0x8AAE, 0xB4B7, 0xB5DE, 0xB4B8, 0x8AAF, 0xB4B9, 0xB5DF, 0xB4BA, 0x8AB0, 0xB4BB, 0x8AB1, - 0xB4BC, 0x8AB2, 0xB4BD, 0x8AB3, 0xB4BE, 0x8AB4, 0xB4BF, 0x8AB5, 0xB4C0, 0xB5E0, 0xB4C1, 0x8AB6, 0xB4C2, 0x8AB7, 0xB4C3, 0x8AB8, - 0xB4C4, 0xB5E1, 0xB4C5, 0x8AB9, 0xB4C6, 0x8ABA, 0xB4C7, 0x8ABB, 0xB4C8, 0xB5E2, 0xB4C9, 0x8ABC, 0xB4CA, 0x8ABD, 0xB4CB, 0x8ABE, - 0xB4CC, 0x8ABF, 0xB4CD, 0x8AC0, 0xB4CE, 0x8AC1, 0xB4CF, 0x8AC2, 0xB4D0, 0xB5E3, 0xB4D1, 0x8AC3, 0xB4D2, 0x8AC4, 0xB4D3, 0x8AC5, - 0xB4D4, 0x8AC6, 0xB4D5, 0xB5E4, 0xB4D6, 0x8AC7, 0xB4D7, 0x8AC8, 0xB4D8, 0x8AC9, 0xB4D9, 0x8ACA, 0xB4DA, 0x8ACB, 0xB4DB, 0x8ACC, - 0xB4DC, 0xB5E5, 0xB4DD, 0xB5E6, 0xB4DE, 0x8ACD, 0xB4DF, 0x8ACE, 0xB4E0, 0xB5E7, 0xB4E1, 0x8ACF, 0xB4E2, 0x8AD0, 0xB4E3, 0xB5E8, - 0xB4E4, 0xB5E9, 0xB4E5, 0x8AD1, 0xB4E6, 0xB5EA, 0xB4E7, 0x8AD2, 0xB4E8, 0x8AD3, 0xB4E9, 0x8AD4, 0xB4EA, 0x8AD5, 0xB4EB, 0x8AD6, - 0xB4EC, 0xB5EB, 0xB4ED, 0xB5EC, 0xB4EE, 0x8AD7, 0xB4EF, 0xB5ED, 0xB4F0, 0x8AD8, 0xB4F1, 0xB5EE, 0xB4F2, 0x8AD9, 0xB4F3, 0x8ADA, - 0xB4F4, 0x8ADB, 0xB4F5, 0x8ADC, 0xB4F6, 0x8ADD, 0xB4F7, 0x8ADE, 0xB4F8, 0xB5EF, 0xB4F9, 0x8ADF, 0xB4FA, 0x8AE0, 0xB4FB, 0x8AE1, - 0xB4FC, 0x8AE2, 0xB4FD, 0x8AE3, 0xB4FE, 0x8AE4, 0xB4FF, 0x8AE5, 0xB500, 0x8AE6, 0xB501, 0x8AE7, 0xB502, 0x8AE8, 0xB503, 0x8AE9, - 0xB504, 0x8AEA, 0xB505, 0x8AEB, 0xB506, 0x8AEC, 0xB507, 0x8AED, 0xB508, 0x8AEE, 0xB509, 0x8AEF, 0xB50A, 0x8AF0, 0xB50B, 0x8AF1, - 0xB50C, 0x8AF2, 0xB50D, 0x8AF3, 0xB50E, 0x8AF4, 0xB50F, 0x8AF5, 0xB510, 0x8AF6, 0xB511, 0x8AF7, 0xB512, 0x8AF8, 0xB513, 0x8AF9, - 0xB514, 0xB5F0, 0xB515, 0xB5F1, 0xB516, 0x8AFA, 0xB517, 0x8AFB, 0xB518, 0xB5F2, 0xB519, 0x8AFC, 0xB51A, 0x8AFD, 0xB51B, 0xB5F3, - 0xB51C, 0xB5F4, 0xB51D, 0x8AFE, 0xB51E, 0x8B41, 0xB51F, 0x8B42, 0xB520, 0x8B43, 0xB521, 0x8B44, 0xB522, 0x8B45, 0xB523, 0x8B46, - 0xB524, 0xB5F5, 0xB525, 0xB5F6, 0xB526, 0x8B47, 0xB527, 0xB5F7, 0xB528, 0xB5F8, 0xB529, 0xB5F9, 0xB52A, 0xB5FA, 0xB52B, 0x8B48, - 0xB52C, 0x8B49, 0xB52D, 0x8B4A, 0xB52E, 0x8B4B, 0xB52F, 0x8B4C, 0xB530, 0xB5FB, 0xB531, 0xB5FC, 0xB532, 0x8B4D, 0xB533, 0x8B4E, - 0xB534, 0xB5FD, 0xB535, 0x8B4F, 0xB536, 0x8B50, 0xB537, 0x8B51, 0xB538, 0xB5FE, 0xB539, 0x8B52, 0xB53A, 0x8B53, 0xB53B, 0x8B54, - 0xB53C, 0x8B55, 0xB53D, 0x8B56, 0xB53E, 0x8B57, 0xB53F, 0x8B58, 0xB540, 0xB6A1, 0xB541, 0xB6A2, 0xB542, 0x8B59, 0xB543, 0xB6A3, - 0xB544, 0xB6A4, 0xB545, 0xB6A5, 0xB546, 0x8B5A, 0xB547, 0x8B61, 0xB548, 0x8B62, 0xB549, 0x8B63, 0xB54A, 0x8B64, 0xB54B, 0xB6A6, - 0xB54C, 0xB6A7, 0xB54D, 0xB6A8, 0xB54E, 0x8B65, 0xB54F, 0x8B66, 0xB550, 0xB6A9, 0xB551, 0x8B67, 0xB552, 0x8B68, 0xB553, 0x8B69, - 0xB554, 0xB6AA, 0xB555, 0x8B6A, 0xB556, 0x8B6B, 0xB557, 0x8B6C, 0xB558, 0x8B6D, 0xB559, 0x8B6E, 0xB55A, 0x8B6F, 0xB55B, 0x8B70, - 0xB55C, 0xB6AB, 0xB55D, 0xB6AC, 0xB55E, 0x8B71, 0xB55F, 0xB6AD, 0xB560, 0xB6AE, 0xB561, 0xB6AF, 0xB562, 0x8B72, 0xB563, 0x8B73, - 0xB564, 0x8B74, 0xB565, 0x8B75, 0xB566, 0x8B76, 0xB567, 0x8B77, 0xB568, 0x8B78, 0xB569, 0x8B79, 0xB56A, 0x8B7A, 0xB56B, 0x8B81, - 0xB56C, 0x8B82, 0xB56D, 0x8B83, 0xB56E, 0x8B84, 0xB56F, 0x8B85, 0xB570, 0x8B86, 0xB571, 0x8B87, 0xB572, 0x8B88, 0xB573, 0x8B89, - 0xB574, 0x8B8A, 0xB575, 0x8B8B, 0xB576, 0x8B8C, 0xB577, 0x8B8D, 0xB578, 0x8B8E, 0xB579, 0x8B8F, 0xB57A, 0x8B90, 0xB57B, 0x8B91, - 0xB57C, 0x8B92, 0xB57D, 0x8B93, 0xB57E, 0x8B94, 0xB57F, 0x8B95, 0xB580, 0x8B96, 0xB581, 0x8B97, 0xB582, 0x8B98, 0xB583, 0x8B99, - 0xB584, 0x8B9A, 0xB585, 0x8B9B, 0xB586, 0x8B9C, 0xB587, 0x8B9D, 0xB588, 0x8B9E, 0xB589, 0x8B9F, 0xB58A, 0x8BA0, 0xB58B, 0x8BA1, - 0xB58C, 0x8BA2, 0xB58D, 0x8BA3, 0xB58E, 0x8BA4, 0xB58F, 0x8BA5, 0xB590, 0x8BA6, 0xB591, 0x8BA7, 0xB592, 0x8BA8, 0xB593, 0x8BA9, - 0xB594, 0x8BAA, 0xB595, 0x8BAB, 0xB596, 0x8BAC, 0xB597, 0x8BAD, 0xB598, 0x8BAE, 0xB599, 0x8BAF, 0xB59A, 0x8BB0, 0xB59B, 0x8BB1, - 0xB59C, 0x8BB2, 0xB59D, 0x8BB3, 0xB59E, 0x8BB4, 0xB59F, 0x8BB5, 0xB5A0, 0xB6B0, 0xB5A1, 0xB6B1, 0xB5A2, 0x8BB6, 0xB5A3, 0x8BB7, - 0xB5A4, 0xB6B2, 0xB5A5, 0x8BB8, 0xB5A6, 0x8BB9, 0xB5A7, 0x8BBA, 0xB5A8, 0xB6B3, 0xB5A9, 0x8BBB, 0xB5AA, 0xB6B4, 0xB5AB, 0xB6B5, - 0xB5AC, 0x8BBC, 0xB5AD, 0x8BBD, 0xB5AE, 0x8BBE, 0xB5AF, 0x8BBF, 0xB5B0, 0xB6B6, 0xB5B1, 0xB6B7, 0xB5B2, 0x8BC0, 0xB5B3, 0xB6B8, - 0xB5B4, 0xB6B9, 0xB5B5, 0xB6BA, 0xB5B6, 0x8BC1, 0xB5B7, 0x8BC2, 0xB5B8, 0x8BC3, 0xB5B9, 0x8BC4, 0xB5BA, 0x8BC5, 0xB5BB, 0xB6BB, - 0xB5BC, 0xB6BC, 0xB5BD, 0xB6BD, 0xB5BE, 0x8BC6, 0xB5BF, 0x8BC7, 0xB5C0, 0xB6BE, 0xB5C1, 0x8BC8, 0xB5C2, 0x8BC9, 0xB5C3, 0x8BCA, - 0xB5C4, 0xB6BF, 0xB5C5, 0x8BCB, 0xB5C6, 0x8BCC, 0xB5C7, 0x8BCD, 0xB5C8, 0x8BCE, 0xB5C9, 0x8BCF, 0xB5CA, 0x8BD0, 0xB5CB, 0x8BD1, - 0xB5CC, 0xB6C0, 0xB5CD, 0xB6C1, 0xB5CE, 0x8BD2, 0xB5CF, 0xB6C2, 0xB5D0, 0xB6C3, 0xB5D1, 0xB6C4, 0xB5D2, 0x8BD3, 0xB5D3, 0x8BD4, - 0xB5D4, 0x8BD5, 0xB5D5, 0x8BD6, 0xB5D6, 0x8BD7, 0xB5D7, 0x8BD8, 0xB5D8, 0xB6C5, 0xB5D9, 0x8BD9, 0xB5DA, 0x8BDA, 0xB5DB, 0x8BDB, - 0xB5DC, 0x8BDC, 0xB5DD, 0x8BDD, 0xB5DE, 0x8BDE, 0xB5DF, 0x8BDF, 0xB5E0, 0x8BE0, 0xB5E1, 0x8BE1, 0xB5E2, 0x8BE2, 0xB5E3, 0x8BE3, - 0xB5E4, 0x8BE4, 0xB5E5, 0x8BE5, 0xB5E6, 0x8BE6, 0xB5E7, 0x8BE7, 0xB5E8, 0x8BE8, 0xB5E9, 0x8BE9, 0xB5EA, 0x8BEA, 0xB5EB, 0x8BEB, - 0xB5EC, 0xB6C6, 0xB5ED, 0x8BEC, 0xB5EE, 0x8BED, 0xB5EF, 0x8BEE, 0xB5F0, 0x8BEF, 0xB5F1, 0x8BF0, 0xB5F2, 0x8BF1, 0xB5F3, 0x8BF2, - 0xB5F4, 0x8BF3, 0xB5F5, 0x8BF4, 0xB5F6, 0x8BF5, 0xB5F7, 0x8BF6, 0xB5F8, 0x8BF7, 0xB5F9, 0x8BF8, 0xB5FA, 0x8BF9, 0xB5FB, 0x8BFA, - 0xB5FC, 0x8BFB, 0xB5FD, 0x8BFC, 0xB5FE, 0x8BFD, 0xB5FF, 0x8BFE, 0xB600, 0x8C41, 0xB601, 0x8C42, 0xB602, 0x8C43, 0xB603, 0x8C44, - 0xB604, 0x8C45, 0xB605, 0x8C46, 0xB606, 0x8C47, 0xB607, 0x8C48, 0xB608, 0x8C49, 0xB609, 0x8C4A, 0xB60A, 0x8C4B, 0xB60B, 0x8C4C, - 0xB60C, 0x8C4D, 0xB60D, 0x8C4E, 0xB60E, 0x8C4F, 0xB60F, 0x8C50, 0xB610, 0xB6C7, 0xB611, 0xB6C8, 0xB612, 0x8C51, 0xB613, 0x8C52, - 0xB614, 0xB6C9, 0xB615, 0x8C53, 0xB616, 0x8C54, 0xB617, 0x8C55, 0xB618, 0xB6CA, 0xB619, 0x8C56, 0xB61A, 0x8C57, 0xB61B, 0x8C58, - 0xB61C, 0x8C59, 0xB61D, 0x8C5A, 0xB61E, 0x8C61, 0xB61F, 0x8C62, 0xB620, 0x8C63, 0xB621, 0x8C64, 0xB622, 0x8C65, 0xB623, 0x8C66, - 0xB624, 0x8C67, 0xB625, 0xB6CB, 0xB626, 0x8C68, 0xB627, 0x8C69, 0xB628, 0x8C6A, 0xB629, 0x8C6B, 0xB62A, 0x8C6C, 0xB62B, 0x8C6D, - 0xB62C, 0xB6CC, 0xB62D, 0x8C6E, 0xB62E, 0x8C6F, 0xB62F, 0x8C70, 0xB630, 0x8C71, 0xB631, 0x8C72, 0xB632, 0x8C73, 0xB633, 0x8C74, - 0xB634, 0xB6CD, 0xB635, 0x8C75, 0xB636, 0x8C76, 0xB637, 0x8C77, 0xB638, 0x8C78, 0xB639, 0x8C79, 0xB63A, 0x8C7A, 0xB63B, 0x8C81, - 0xB63C, 0x8C82, 0xB63D, 0x8C83, 0xB63E, 0x8C84, 0xB63F, 0x8C85, 0xB640, 0x8C86, 0xB641, 0x8C87, 0xB642, 0x8C88, 0xB643, 0x8C89, - 0xB644, 0x8C8A, 0xB645, 0x8C8B, 0xB646, 0x8C8C, 0xB647, 0x8C8D, 0xB648, 0xB6CE, 0xB649, 0x8C8E, 0xB64A, 0x8C8F, 0xB64B, 0x8C90, - 0xB64C, 0x8C91, 0xB64D, 0x8C92, 0xB64E, 0x8C93, 0xB64F, 0x8C94, 0xB650, 0x8C95, 0xB651, 0x8C96, 0xB652, 0x8C97, 0xB653, 0x8C98, - 0xB654, 0x8C99, 0xB655, 0x8C9A, 0xB656, 0x8C9B, 0xB657, 0x8C9C, 0xB658, 0x8C9D, 0xB659, 0x8C9E, 0xB65A, 0x8C9F, 0xB65B, 0x8CA0, - 0xB65C, 0x8CA1, 0xB65D, 0x8CA2, 0xB65E, 0x8CA3, 0xB65F, 0x8CA4, 0xB660, 0x8CA5, 0xB661, 0x8CA6, 0xB662, 0x8CA7, 0xB663, 0x8CA8, - 0xB664, 0xB6CF, 0xB665, 0x8CA9, 0xB666, 0x8CAA, 0xB667, 0x8CAB, 0xB668, 0xB6D0, 0xB669, 0x8CAC, 0xB66A, 0x8CAD, 0xB66B, 0x8CAE, - 0xB66C, 0x8CAF, 0xB66D, 0x8CB0, 0xB66E, 0x8CB1, 0xB66F, 0x8CB2, 0xB670, 0x8CB3, 0xB671, 0x8CB4, 0xB672, 0x8CB5, 0xB673, 0x8CB6, - 0xB674, 0x8CB7, 0xB675, 0x8CB8, 0xB676, 0x8CB9, 0xB677, 0x8CBA, 0xB678, 0x8CBB, 0xB679, 0x8CBC, 0xB67A, 0x8CBD, 0xB67B, 0x8CBE, - 0xB67C, 0x8CBF, 0xB67D, 0x8CC0, 0xB67E, 0x8CC1, 0xB67F, 0x8CC2, 0xB680, 0x8CC3, 0xB681, 0x8CC4, 0xB682, 0x8CC5, 0xB683, 0x8CC6, - 0xB684, 0x8CC7, 0xB685, 0x8CC8, 0xB686, 0x8CC9, 0xB687, 0x8CCA, 0xB688, 0x8CCB, 0xB689, 0x8CCC, 0xB68A, 0x8CCD, 0xB68B, 0x8CCE, - 0xB68C, 0x8CCF, 0xB68D, 0x8CD0, 0xB68E, 0x8CD1, 0xB68F, 0x8CD2, 0xB690, 0x8CD3, 0xB691, 0x8CD4, 0xB692, 0x8CD5, 0xB693, 0x8CD6, - 0xB694, 0x8CD7, 0xB695, 0x8CD8, 0xB696, 0x8CD9, 0xB697, 0x8CDA, 0xB698, 0x8CDB, 0xB699, 0x8CDC, 0xB69A, 0x8CDD, 0xB69B, 0x8CDE, - 0xB69C, 0xB6D1, 0xB69D, 0xB6D2, 0xB69E, 0x8CDF, 0xB69F, 0x8CE0, 0xB6A0, 0xB6D3, 0xB6A1, 0x8CE1, 0xB6A2, 0x8CE2, 0xB6A3, 0x8CE3, - 0xB6A4, 0xB6D4, 0xB6A5, 0x8CE4, 0xB6A6, 0x8CE5, 0xB6A7, 0x8CE6, 0xB6A8, 0x8CE7, 0xB6A9, 0x8CE8, 0xB6AA, 0x8CE9, 0xB6AB, 0xB6D5, - 0xB6AC, 0xB6D6, 0xB6AD, 0x8CEA, 0xB6AE, 0x8CEB, 0xB6AF, 0x8CEC, 0xB6B0, 0x8CED, 0xB6B1, 0xB6D7, 0xB6B2, 0x8CEE, 0xB6B3, 0x8CEF, - 0xB6B4, 0x8CF0, 0xB6B5, 0x8CF1, 0xB6B6, 0x8CF2, 0xB6B7, 0x8CF3, 0xB6B8, 0x8CF4, 0xB6B9, 0x8CF5, 0xB6BA, 0x8CF6, 0xB6BB, 0x8CF7, - 0xB6BC, 0x8CF8, 0xB6BD, 0x8CF9, 0xB6BE, 0x8CFA, 0xB6BF, 0x8CFB, 0xB6C0, 0x8CFC, 0xB6C1, 0x8CFD, 0xB6C2, 0x8CFE, 0xB6C3, 0x8D41, - 0xB6C4, 0x8D42, 0xB6C5, 0x8D43, 0xB6C6, 0x8D44, 0xB6C7, 0x8D45, 0xB6C8, 0x8D46, 0xB6C9, 0x8D47, 0xB6CA, 0x8D48, 0xB6CB, 0x8D49, - 0xB6CC, 0x8D4A, 0xB6CD, 0x8D4B, 0xB6CE, 0x8D4C, 0xB6CF, 0x8D4D, 0xB6D0, 0x8D4E, 0xB6D1, 0x8D4F, 0xB6D2, 0x8D50, 0xB6D3, 0x8D51, - 0xB6D4, 0xB6D8, 0xB6D5, 0x8D52, 0xB6D6, 0x8D53, 0xB6D7, 0x8D54, 0xB6D8, 0x8D55, 0xB6D9, 0x8D56, 0xB6DA, 0x8D57, 0xB6DB, 0x8D58, - 0xB6DC, 0x8D59, 0xB6DD, 0x8D5A, 0xB6DE, 0x8D61, 0xB6DF, 0x8D62, 0xB6E0, 0x8D63, 0xB6E1, 0x8D64, 0xB6E2, 0x8D65, 0xB6E3, 0x8D66, - 0xB6E4, 0x8D67, 0xB6E5, 0x8D68, 0xB6E6, 0x8D69, 0xB6E7, 0x8D6A, 0xB6E8, 0x8D6B, 0xB6E9, 0x8D6C, 0xB6EA, 0x8D6D, 0xB6EB, 0x8D6E, - 0xB6EC, 0x8D6F, 0xB6ED, 0x8D70, 0xB6EE, 0x8D71, 0xB6EF, 0x8D72, 0xB6F0, 0xB6D9, 0xB6F1, 0x8D73, 0xB6F2, 0x8D74, 0xB6F3, 0x8D75, - 0xB6F4, 0xB6DA, 0xB6F5, 0x8D76, 0xB6F6, 0x8D77, 0xB6F7, 0x8D78, 0xB6F8, 0xB6DB, 0xB6F9, 0x8D79, 0xB6FA, 0x8D7A, 0xB6FB, 0x8D81, - 0xB6FC, 0x8D82, 0xB6FD, 0x8D83, 0xB6FE, 0x8D84, 0xB6FF, 0x8D85, 0xB700, 0xB6DC, 0xB701, 0xB6DD, 0xB702, 0x8D86, 0xB703, 0x8D87, - 0xB704, 0x8D88, 0xB705, 0xB6DE, 0xB706, 0x8D89, 0xB707, 0x8D8A, 0xB708, 0x8D8B, 0xB709, 0x8D8C, 0xB70A, 0x8D8D, 0xB70B, 0x8D8E, - 0xB70C, 0x8D8F, 0xB70D, 0x8D90, 0xB70E, 0x8D91, 0xB70F, 0x8D92, 0xB710, 0x8D93, 0xB711, 0x8D94, 0xB712, 0x8D95, 0xB713, 0x8D96, - 0xB714, 0x8D97, 0xB715, 0x8D98, 0xB716, 0x8D99, 0xB717, 0x8D9A, 0xB718, 0x8D9B, 0xB719, 0x8D9C, 0xB71A, 0x8D9D, 0xB71B, 0x8D9E, - 0xB71C, 0x8D9F, 0xB71D, 0x8DA0, 0xB71E, 0x8DA1, 0xB71F, 0x8DA2, 0xB720, 0x8DA3, 0xB721, 0x8DA4, 0xB722, 0x8DA5, 0xB723, 0x8DA6, - 0xB724, 0x8DA7, 0xB725, 0x8DA8, 0xB726, 0x8DA9, 0xB727, 0x8DAA, 0xB728, 0xB6DF, 0xB729, 0xB6E0, 0xB72A, 0x8DAB, 0xB72B, 0x8DAC, - 0xB72C, 0xB6E1, 0xB72D, 0x8DAD, 0xB72E, 0x8DAE, 0xB72F, 0xB6E2, 0xB730, 0xB6E3, 0xB731, 0x8DAF, 0xB732, 0x8DB0, 0xB733, 0x8DB1, - 0xB734, 0x8DB2, 0xB735, 0x8DB3, 0xB736, 0x8DB4, 0xB737, 0x8DB5, 0xB738, 0xB6E4, 0xB739, 0xB6E5, 0xB73A, 0x8DB6, 0xB73B, 0xB6E6, - 0xB73C, 0x8DB7, 0xB73D, 0x8DB8, 0xB73E, 0x8DB9, 0xB73F, 0x8DBA, 0xB740, 0x8DBB, 0xB741, 0x8DBC, 0xB742, 0x8DBD, 0xB743, 0x8DBE, - 0xB744, 0xB6E7, 0xB745, 0x8DBF, 0xB746, 0x8DC0, 0xB747, 0x8DC1, 0xB748, 0xB6E8, 0xB749, 0x8DC2, 0xB74A, 0x8DC3, 0xB74B, 0x8DC4, - 0xB74C, 0xB6E9, 0xB74D, 0x8DC5, 0xB74E, 0x8DC6, 0xB74F, 0x8DC7, 0xB750, 0x8DC8, 0xB751, 0x8DC9, 0xB752, 0x8DCA, 0xB753, 0x8DCB, - 0xB754, 0xB6EA, 0xB755, 0xB6EB, 0xB756, 0x8DCC, 0xB757, 0x8DCD, 0xB758, 0x8DCE, 0xB759, 0x8DCF, 0xB75A, 0x8DD0, 0xB75B, 0x8DD1, - 0xB75C, 0x8DD2, 0xB75D, 0x8DD3, 0xB75E, 0x8DD4, 0xB75F, 0x8DD5, 0xB760, 0xB6EC, 0xB761, 0x8DD6, 0xB762, 0x8DD7, 0xB763, 0x8DD8, - 0xB764, 0xB6ED, 0xB765, 0x8DD9, 0xB766, 0x8DDA, 0xB767, 0x8DDB, 0xB768, 0xB6EE, 0xB769, 0x8DDC, 0xB76A, 0x8DDD, 0xB76B, 0x8DDE, - 0xB76C, 0x8DDF, 0xB76D, 0x8DE0, 0xB76E, 0x8DE1, 0xB76F, 0x8DE2, 0xB770, 0xB6EF, 0xB771, 0xB6F0, 0xB772, 0x8DE3, 0xB773, 0xB6F1, - 0xB774, 0x8DE4, 0xB775, 0xB6F2, 0xB776, 0x8DE5, 0xB777, 0x8DE6, 0xB778, 0x8DE7, 0xB779, 0x8DE8, 0xB77A, 0x8DE9, 0xB77B, 0x8DEA, - 0xB77C, 0xB6F3, 0xB77D, 0xB6F4, 0xB77E, 0x8DEB, 0xB77F, 0x8DEC, 0xB780, 0xB6F5, 0xB781, 0x8DED, 0xB782, 0x8DEE, 0xB783, 0x8DEF, - 0xB784, 0xB6F6, 0xB785, 0x8DF0, 0xB786, 0x8DF1, 0xB787, 0x8DF2, 0xB788, 0x8DF3, 0xB789, 0x8DF4, 0xB78A, 0x8DF5, 0xB78B, 0x8DF6, - 0xB78C, 0xB6F7, 0xB78D, 0xB6F8, 0xB78E, 0x8DF7, 0xB78F, 0xB6F9, 0xB790, 0xB6FA, 0xB791, 0xB6FB, 0xB792, 0xB6FC, 0xB793, 0x8DF8, - 0xB794, 0x8DF9, 0xB795, 0x8DFA, 0xB796, 0xB6FD, 0xB797, 0xB6FE, 0xB798, 0xB7A1, 0xB799, 0xB7A2, 0xB79A, 0x8DFB, 0xB79B, 0x8DFC, - 0xB79C, 0xB7A3, 0xB79D, 0x8DFD, 0xB79E, 0x8DFE, 0xB79F, 0x8E41, 0xB7A0, 0xB7A4, 0xB7A1, 0x8E42, 0xB7A2, 0x8E43, 0xB7A3, 0x8E44, - 0xB7A4, 0x8E45, 0xB7A5, 0x8E46, 0xB7A6, 0x8E47, 0xB7A7, 0x8E48, 0xB7A8, 0xB7A5, 0xB7A9, 0xB7A6, 0xB7AA, 0x8E49, 0xB7AB, 0xB7A7, - 0xB7AC, 0xB7A8, 0xB7AD, 0xB7A9, 0xB7AE, 0x8E4A, 0xB7AF, 0x8E4B, 0xB7B0, 0x8E4C, 0xB7B1, 0x8E4D, 0xB7B2, 0x8E4E, 0xB7B3, 0x8E4F, - 0xB7B4, 0xB7AA, 0xB7B5, 0xB7AB, 0xB7B6, 0x8E50, 0xB7B7, 0x8E51, 0xB7B8, 0xB7AC, 0xB7B9, 0x8E52, 0xB7BA, 0x8E53, 0xB7BB, 0x8E54, - 0xB7BC, 0x8E55, 0xB7BD, 0x8E56, 0xB7BE, 0x8E57, 0xB7BF, 0x8E58, 0xB7C0, 0x8E59, 0xB7C1, 0x8E5A, 0xB7C2, 0x8E61, 0xB7C3, 0x8E62, - 0xB7C4, 0x8E63, 0xB7C5, 0x8E64, 0xB7C6, 0x8E65, 0xB7C7, 0xB7AD, 0xB7C8, 0x8E66, 0xB7C9, 0xB7AE, 0xB7CA, 0x8E67, 0xB7CB, 0x8E68, - 0xB7CC, 0x8E69, 0xB7CD, 0x8E6A, 0xB7CE, 0x8E6B, 0xB7CF, 0x8E6C, 0xB7D0, 0x8E6D, 0xB7D1, 0x8E6E, 0xB7D2, 0x8E6F, 0xB7D3, 0x8E70, - 0xB7D4, 0x8E71, 0xB7D5, 0x8E72, 0xB7D6, 0x8E73, 0xB7D7, 0x8E74, 0xB7D8, 0x8E75, 0xB7D9, 0x8E76, 0xB7DA, 0x8E77, 0xB7DB, 0x8E78, - 0xB7DC, 0x8E79, 0xB7DD, 0x8E7A, 0xB7DE, 0x8E81, 0xB7DF, 0x8E82, 0xB7E0, 0x8E83, 0xB7E1, 0x8E84, 0xB7E2, 0x8E85, 0xB7E3, 0x8E86, - 0xB7E4, 0x8E87, 0xB7E5, 0x8E88, 0xB7E6, 0x8E89, 0xB7E7, 0x8E8A, 0xB7E8, 0x8E8B, 0xB7E9, 0x8E8C, 0xB7EA, 0x8E8D, 0xB7EB, 0x8E8E, - 0xB7EC, 0xB7AF, 0xB7ED, 0xB7B0, 0xB7EE, 0x8E8F, 0xB7EF, 0x8E90, 0xB7F0, 0xB7B1, 0xB7F1, 0x8E91, 0xB7F2, 0x8E92, 0xB7F3, 0x8E93, - 0xB7F4, 0xB7B2, 0xB7F5, 0x8E94, 0xB7F6, 0x8E95, 0xB7F7, 0x8E96, 0xB7F8, 0x8E97, 0xB7F9, 0x8E98, 0xB7FA, 0x8E99, 0xB7FB, 0x8E9A, - 0xB7FC, 0xB7B3, 0xB7FD, 0xB7B4, 0xB7FE, 0x8E9B, 0xB7FF, 0xB7B5, 0xB800, 0xB7B6, 0xB801, 0xB7B7, 0xB802, 0x8E9C, 0xB803, 0x8E9D, - 0xB804, 0x8E9E, 0xB805, 0x8E9F, 0xB806, 0x8EA0, 0xB807, 0xB7B8, 0xB808, 0xB7B9, 0xB809, 0xB7BA, 0xB80A, 0x8EA1, 0xB80B, 0x8EA2, - 0xB80C, 0xB7BB, 0xB80D, 0x8EA3, 0xB80E, 0x8EA4, 0xB80F, 0x8EA5, 0xB810, 0xB7BC, 0xB811, 0x8EA6, 0xB812, 0x8EA7, 0xB813, 0x8EA8, - 0xB814, 0x8EA9, 0xB815, 0x8EAA, 0xB816, 0x8EAB, 0xB817, 0x8EAC, 0xB818, 0xB7BD, 0xB819, 0xB7BE, 0xB81A, 0x8EAD, 0xB81B, 0xB7BF, - 0xB81C, 0x8EAE, 0xB81D, 0xB7C0, 0xB81E, 0x8EAF, 0xB81F, 0x8EB0, 0xB820, 0x8EB1, 0xB821, 0x8EB2, 0xB822, 0x8EB3, 0xB823, 0x8EB4, - 0xB824, 0xB7C1, 0xB825, 0xB7C2, 0xB826, 0x8EB5, 0xB827, 0x8EB6, 0xB828, 0xB7C3, 0xB829, 0x8EB7, 0xB82A, 0x8EB8, 0xB82B, 0x8EB9, - 0xB82C, 0xB7C4, 0xB82D, 0x8EBA, 0xB82E, 0x8EBB, 0xB82F, 0x8EBC, 0xB830, 0x8EBD, 0xB831, 0x8EBE, 0xB832, 0x8EBF, 0xB833, 0x8EC0, - 0xB834, 0xB7C5, 0xB835, 0xB7C6, 0xB836, 0x8EC1, 0xB837, 0xB7C7, 0xB838, 0xB7C8, 0xB839, 0xB7C9, 0xB83A, 0x8EC2, 0xB83B, 0x8EC3, - 0xB83C, 0x8EC4, 0xB83D, 0x8EC5, 0xB83E, 0x8EC6, 0xB83F, 0x8EC7, 0xB840, 0xB7CA, 0xB841, 0x8EC8, 0xB842, 0x8EC9, 0xB843, 0x8ECA, - 0xB844, 0xB7CB, 0xB845, 0x8ECB, 0xB846, 0x8ECC, 0xB847, 0x8ECD, 0xB848, 0x8ECE, 0xB849, 0x8ECF, 0xB84A, 0x8ED0, 0xB84B, 0x8ED1, - 0xB84C, 0x8ED2, 0xB84D, 0x8ED3, 0xB84E, 0x8ED4, 0xB84F, 0x8ED5, 0xB850, 0x8ED6, 0xB851, 0xB7CC, 0xB852, 0x8ED7, 0xB853, 0xB7CD, - 0xB854, 0x8ED8, 0xB855, 0x8ED9, 0xB856, 0x8EDA, 0xB857, 0x8EDB, 0xB858, 0x8EDC, 0xB859, 0x8EDD, 0xB85A, 0x8EDE, 0xB85B, 0x8EDF, - 0xB85C, 0xB7CE, 0xB85D, 0xB7CF, 0xB85E, 0x8EE0, 0xB85F, 0x8EE1, 0xB860, 0xB7D0, 0xB861, 0x8EE2, 0xB862, 0x8EE3, 0xB863, 0x8EE4, - 0xB864, 0xB7D1, 0xB865, 0x8EE5, 0xB866, 0x8EE6, 0xB867, 0x8EE7, 0xB868, 0x8EE8, 0xB869, 0x8EE9, 0xB86A, 0x8EEA, 0xB86B, 0x8EEB, - 0xB86C, 0xB7D2, 0xB86D, 0xB7D3, 0xB86E, 0x8EEC, 0xB86F, 0xB7D4, 0xB870, 0x8EED, 0xB871, 0xB7D5, 0xB872, 0x8EEE, 0xB873, 0x8EEF, - 0xB874, 0x8EF0, 0xB875, 0x8EF1, 0xB876, 0x8EF2, 0xB877, 0x8EF3, 0xB878, 0xB7D6, 0xB879, 0x8EF4, 0xB87A, 0x8EF5, 0xB87B, 0x8EF6, - 0xB87C, 0xB7D7, 0xB87D, 0x8EF7, 0xB87E, 0x8EF8, 0xB87F, 0x8EF9, 0xB880, 0x8EFA, 0xB881, 0x8EFB, 0xB882, 0x8EFC, 0xB883, 0x8EFD, - 0xB884, 0x8EFE, 0xB885, 0x8F41, 0xB886, 0x8F42, 0xB887, 0x8F43, 0xB888, 0x8F44, 0xB889, 0x8F45, 0xB88A, 0x8F46, 0xB88B, 0x8F47, - 0xB88C, 0x8F48, 0xB88D, 0xB7D8, 0xB88E, 0x8F49, 0xB88F, 0x8F4A, 0xB890, 0x8F4B, 0xB891, 0x8F4C, 0xB892, 0x8F4D, 0xB893, 0x8F4E, - 0xB894, 0x8F4F, 0xB895, 0x8F50, 0xB896, 0x8F51, 0xB897, 0x8F52, 0xB898, 0x8F53, 0xB899, 0x8F54, 0xB89A, 0x8F55, 0xB89B, 0x8F56, - 0xB89C, 0x8F57, 0xB89D, 0x8F58, 0xB89E, 0x8F59, 0xB89F, 0x8F5A, 0xB8A0, 0x8F61, 0xB8A1, 0x8F62, 0xB8A2, 0x8F63, 0xB8A3, 0x8F64, - 0xB8A4, 0x8F65, 0xB8A5, 0x8F66, 0xB8A6, 0x8F67, 0xB8A7, 0x8F68, 0xB8A8, 0xB7D9, 0xB8A9, 0x8F69, 0xB8AA, 0x8F6A, 0xB8AB, 0x8F6B, - 0xB8AC, 0x8F6C, 0xB8AD, 0x8F6D, 0xB8AE, 0x8F6E, 0xB8AF, 0x8F6F, 0xB8B0, 0xB7DA, 0xB8B1, 0x8F70, 0xB8B2, 0x8F71, 0xB8B3, 0x8F72, - 0xB8B4, 0xB7DB, 0xB8B5, 0x8F73, 0xB8B6, 0x8F74, 0xB8B7, 0x8F75, 0xB8B8, 0xB7DC, 0xB8B9, 0x8F76, 0xB8BA, 0x8F77, 0xB8BB, 0x8F78, - 0xB8BC, 0x8F79, 0xB8BD, 0x8F7A, 0xB8BE, 0x8F81, 0xB8BF, 0x8F82, 0xB8C0, 0xB7DD, 0xB8C1, 0xB7DE, 0xB8C2, 0x8F83, 0xB8C3, 0xB7DF, - 0xB8C4, 0x8F84, 0xB8C5, 0xB7E0, 0xB8C6, 0x8F85, 0xB8C7, 0x8F86, 0xB8C8, 0x8F87, 0xB8C9, 0x8F88, 0xB8CA, 0x8F89, 0xB8CB, 0x8F8A, - 0xB8CC, 0xB7E1, 0xB8CD, 0x8F8B, 0xB8CE, 0x8F8C, 0xB8CF, 0x8F8D, 0xB8D0, 0xB7E2, 0xB8D1, 0x8F8E, 0xB8D2, 0x8F8F, 0xB8D3, 0x8F90, - 0xB8D4, 0xB7E3, 0xB8D5, 0x8F91, 0xB8D6, 0x8F92, 0xB8D7, 0x8F93, 0xB8D8, 0x8F94, 0xB8D9, 0x8F95, 0xB8DA, 0x8F96, 0xB8DB, 0x8F97, - 0xB8DC, 0x8F98, 0xB8DD, 0xB7E4, 0xB8DE, 0x8F99, 0xB8DF, 0xB7E5, 0xB8E0, 0x8F9A, 0xB8E1, 0xB7E6, 0xB8E2, 0x8F9B, 0xB8E3, 0x8F9C, - 0xB8E4, 0x8F9D, 0xB8E5, 0x8F9E, 0xB8E6, 0x8F9F, 0xB8E7, 0x8FA0, 0xB8E8, 0xB7E7, 0xB8E9, 0xB7E8, 0xB8EA, 0x8FA1, 0xB8EB, 0x8FA2, - 0xB8EC, 0xB7E9, 0xB8ED, 0x8FA3, 0xB8EE, 0x8FA4, 0xB8EF, 0x8FA5, 0xB8F0, 0xB7EA, 0xB8F1, 0x8FA6, 0xB8F2, 0x8FA7, 0xB8F3, 0x8FA8, - 0xB8F4, 0x8FA9, 0xB8F5, 0x8FAA, 0xB8F6, 0x8FAB, 0xB8F7, 0x8FAC, 0xB8F8, 0xB7EB, 0xB8F9, 0xB7EC, 0xB8FA, 0x8FAD, 0xB8FB, 0xB7ED, - 0xB8FC, 0x8FAE, 0xB8FD, 0xB7EE, 0xB8FE, 0x8FAF, 0xB8FF, 0x8FB0, 0xB900, 0x8FB1, 0xB901, 0x8FB2, 0xB902, 0x8FB3, 0xB903, 0x8FB4, - 0xB904, 0xB7EF, 0xB905, 0x8FB5, 0xB906, 0x8FB6, 0xB907, 0x8FB7, 0xB908, 0x8FB8, 0xB909, 0x8FB9, 0xB90A, 0x8FBA, 0xB90B, 0x8FBB, - 0xB90C, 0x8FBC, 0xB90D, 0x8FBD, 0xB90E, 0x8FBE, 0xB90F, 0x8FBF, 0xB910, 0x8FC0, 0xB911, 0x8FC1, 0xB912, 0x8FC2, 0xB913, 0x8FC3, - 0xB914, 0x8FC4, 0xB915, 0x8FC5, 0xB916, 0x8FC6, 0xB917, 0x8FC7, 0xB918, 0xB7F0, 0xB919, 0x8FC8, 0xB91A, 0x8FC9, 0xB91B, 0x8FCA, - 0xB91C, 0x8FCB, 0xB91D, 0x8FCC, 0xB91E, 0x8FCD, 0xB91F, 0x8FCE, 0xB920, 0xB7F1, 0xB921, 0x8FCF, 0xB922, 0x8FD0, 0xB923, 0x8FD1, - 0xB924, 0x8FD2, 0xB925, 0x8FD3, 0xB926, 0x8FD4, 0xB927, 0x8FD5, 0xB928, 0x8FD6, 0xB929, 0x8FD7, 0xB92A, 0x8FD8, 0xB92B, 0x8FD9, - 0xB92C, 0x8FDA, 0xB92D, 0x8FDB, 0xB92E, 0x8FDC, 0xB92F, 0x8FDD, 0xB930, 0x8FDE, 0xB931, 0x8FDF, 0xB932, 0x8FE0, 0xB933, 0x8FE1, - 0xB934, 0x8FE2, 0xB935, 0x8FE3, 0xB936, 0x8FE4, 0xB937, 0x8FE5, 0xB938, 0x8FE6, 0xB939, 0x8FE7, 0xB93A, 0x8FE8, 0xB93B, 0x8FE9, - 0xB93C, 0xB7F2, 0xB93D, 0xB7F3, 0xB93E, 0x8FEA, 0xB93F, 0x8FEB, 0xB940, 0xB7F4, 0xB941, 0x8FEC, 0xB942, 0x8FED, 0xB943, 0x8FEE, - 0xB944, 0xB7F5, 0xB945, 0x8FEF, 0xB946, 0x8FF0, 0xB947, 0x8FF1, 0xB948, 0x8FF2, 0xB949, 0x8FF3, 0xB94A, 0x8FF4, 0xB94B, 0x8FF5, - 0xB94C, 0xB7F6, 0xB94D, 0x8FF6, 0xB94E, 0x8FF7, 0xB94F, 0xB7F7, 0xB950, 0x8FF8, 0xB951, 0xB7F8, 0xB952, 0x8FF9, 0xB953, 0x8FFA, - 0xB954, 0x8FFB, 0xB955, 0x8FFC, 0xB956, 0x8FFD, 0xB957, 0x8FFE, 0xB958, 0xB7F9, 0xB959, 0xB7FA, 0xB95A, 0x9041, 0xB95B, 0x9042, - 0xB95C, 0xB7FB, 0xB95D, 0x9043, 0xB95E, 0x9044, 0xB95F, 0x9045, 0xB960, 0xB7FC, 0xB961, 0x9046, 0xB962, 0x9047, 0xB963, 0x9048, - 0xB964, 0x9049, 0xB965, 0x904A, 0xB966, 0x904B, 0xB967, 0x904C, 0xB968, 0xB7FD, 0xB969, 0xB7FE, 0xB96A, 0x904D, 0xB96B, 0xB8A1, - 0xB96C, 0x904E, 0xB96D, 0xB8A2, 0xB96E, 0x904F, 0xB96F, 0x9050, 0xB970, 0x9051, 0xB971, 0x9052, 0xB972, 0x9053, 0xB973, 0x9054, - 0xB974, 0xB8A3, 0xB975, 0xB8A4, 0xB976, 0x9055, 0xB977, 0x9056, 0xB978, 0xB8A5, 0xB979, 0x9057, 0xB97A, 0x9058, 0xB97B, 0x9059, - 0xB97C, 0xB8A6, 0xB97D, 0x905A, 0xB97E, 0x9061, 0xB97F, 0x9062, 0xB980, 0x9063, 0xB981, 0x9064, 0xB982, 0x9065, 0xB983, 0x9066, - 0xB984, 0xB8A7, 0xB985, 0xB8A8, 0xB986, 0x9067, 0xB987, 0xB8A9, 0xB988, 0x9068, 0xB989, 0xB8AA, 0xB98A, 0xB8AB, 0xB98B, 0x9069, - 0xB98C, 0x906A, 0xB98D, 0xB8AC, 0xB98E, 0xB8AD, 0xB98F, 0x906B, 0xB990, 0x906C, 0xB991, 0x906D, 0xB992, 0x906E, 0xB993, 0x906F, - 0xB994, 0x9070, 0xB995, 0x9071, 0xB996, 0x9072, 0xB997, 0x9073, 0xB998, 0x9074, 0xB999, 0x9075, 0xB99A, 0x9076, 0xB99B, 0x9077, - 0xB99C, 0x9078, 0xB99D, 0x9079, 0xB99E, 0x907A, 0xB99F, 0x9081, 0xB9A0, 0x9082, 0xB9A1, 0x9083, 0xB9A2, 0x9084, 0xB9A3, 0x9085, - 0xB9A4, 0x9086, 0xB9A5, 0x9087, 0xB9A6, 0x9088, 0xB9A7, 0x9089, 0xB9A8, 0x908A, 0xB9A9, 0x908B, 0xB9AA, 0x908C, 0xB9AB, 0x908D, - 0xB9AC, 0xB8AE, 0xB9AD, 0xB8AF, 0xB9AE, 0x908E, 0xB9AF, 0x908F, 0xB9B0, 0xB8B0, 0xB9B1, 0x9090, 0xB9B2, 0x9091, 0xB9B3, 0x9092, - 0xB9B4, 0xB8B1, 0xB9B5, 0x9093, 0xB9B6, 0x9094, 0xB9B7, 0x9095, 0xB9B8, 0x9096, 0xB9B9, 0x9097, 0xB9BA, 0x9098, 0xB9BB, 0x9099, - 0xB9BC, 0xB8B2, 0xB9BD, 0xB8B3, 0xB9BE, 0x909A, 0xB9BF, 0xB8B4, 0xB9C0, 0x909B, 0xB9C1, 0xB8B5, 0xB9C2, 0x909C, 0xB9C3, 0x909D, - 0xB9C4, 0x909E, 0xB9C5, 0x909F, 0xB9C6, 0x90A0, 0xB9C7, 0x90A1, 0xB9C8, 0xB8B6, 0xB9C9, 0xB8B7, 0xB9CA, 0x90A2, 0xB9CB, 0x90A3, - 0xB9CC, 0xB8B8, 0xB9CD, 0x90A4, 0xB9CE, 0xB8B9, 0xB9CF, 0xB8BA, 0xB9D0, 0xB8BB, 0xB9D1, 0xB8BC, 0xB9D2, 0xB8BD, 0xB9D3, 0x90A5, - 0xB9D4, 0x90A6, 0xB9D5, 0x90A7, 0xB9D6, 0x90A8, 0xB9D7, 0x90A9, 0xB9D8, 0xB8BE, 0xB9D9, 0xB8BF, 0xB9DA, 0x90AA, 0xB9DB, 0xB8C0, - 0xB9DC, 0x90AB, 0xB9DD, 0xB8C1, 0xB9DE, 0xB8C2, 0xB9DF, 0x90AC, 0xB9E0, 0x90AD, 0xB9E1, 0xB8C3, 0xB9E2, 0x90AE, 0xB9E3, 0xB8C4, - 0xB9E4, 0xB8C5, 0xB9E5, 0xB8C6, 0xB9E6, 0x90AF, 0xB9E7, 0x90B0, 0xB9E8, 0xB8C7, 0xB9E9, 0x90B1, 0xB9EA, 0x90B2, 0xB9EB, 0x90B3, - 0xB9EC, 0xB8C8, 0xB9ED, 0x90B4, 0xB9EE, 0x90B5, 0xB9EF, 0x90B6, 0xB9F0, 0x90B7, 0xB9F1, 0x90B8, 0xB9F2, 0x90B9, 0xB9F3, 0x90BA, - 0xB9F4, 0xB8C9, 0xB9F5, 0xB8CA, 0xB9F6, 0x90BB, 0xB9F7, 0xB8CB, 0xB9F8, 0xB8CC, 0xB9F9, 0xB8CD, 0xB9FA, 0xB8CE, 0xB9FB, 0x90BC, - 0xB9FC, 0x90BD, 0xB9FD, 0x90BE, 0xB9FE, 0x90BF, 0xB9FF, 0x90C0, 0xBA00, 0xB8CF, 0xBA01, 0xB8D0, 0xBA02, 0x90C1, 0xBA03, 0x90C2, - 0xBA04, 0x90C3, 0xBA05, 0x90C4, 0xBA06, 0x90C5, 0xBA07, 0x90C6, 0xBA08, 0xB8D1, 0xBA09, 0x90C7, 0xBA0A, 0x90C8, 0xBA0B, 0x90C9, - 0xBA0C, 0x90CA, 0xBA0D, 0x90CB, 0xBA0E, 0x90CC, 0xBA0F, 0x90CD, 0xBA10, 0x90CE, 0xBA11, 0x90CF, 0xBA12, 0x90D0, 0xBA13, 0x90D1, - 0xBA14, 0x90D2, 0xBA15, 0xB8D2, 0xBA16, 0x90D3, 0xBA17, 0x90D4, 0xBA18, 0x90D5, 0xBA19, 0x90D6, 0xBA1A, 0x90D7, 0xBA1B, 0x90D8, - 0xBA1C, 0x90D9, 0xBA1D, 0x90DA, 0xBA1E, 0x90DB, 0xBA1F, 0x90DC, 0xBA20, 0x90DD, 0xBA21, 0x90DE, 0xBA22, 0x90DF, 0xBA23, 0x90E0, - 0xBA24, 0x90E1, 0xBA25, 0x90E2, 0xBA26, 0x90E3, 0xBA27, 0x90E4, 0xBA28, 0x90E5, 0xBA29, 0x90E6, 0xBA2A, 0x90E7, 0xBA2B, 0x90E8, - 0xBA2C, 0x90E9, 0xBA2D, 0x90EA, 0xBA2E, 0x90EB, 0xBA2F, 0x90EC, 0xBA30, 0x90ED, 0xBA31, 0x90EE, 0xBA32, 0x90EF, 0xBA33, 0x90F0, - 0xBA34, 0x90F1, 0xBA35, 0x90F2, 0xBA36, 0x90F3, 0xBA37, 0x90F4, 0xBA38, 0xB8D3, 0xBA39, 0xB8D4, 0xBA3A, 0x90F5, 0xBA3B, 0x90F6, - 0xBA3C, 0xB8D5, 0xBA3D, 0x90F7, 0xBA3E, 0x90F8, 0xBA3F, 0x90F9, 0xBA40, 0xB8D6, 0xBA41, 0x90FA, 0xBA42, 0xB8D7, 0xBA43, 0x90FB, - 0xBA44, 0x90FC, 0xBA45, 0x90FD, 0xBA46, 0x90FE, 0xBA47, 0x9141, 0xBA48, 0xB8D8, 0xBA49, 0xB8D9, 0xBA4A, 0x9142, 0xBA4B, 0xB8DA, - 0xBA4C, 0x9143, 0xBA4D, 0xB8DB, 0xBA4E, 0xB8DC, 0xBA4F, 0x9144, 0xBA50, 0x9145, 0xBA51, 0x9146, 0xBA52, 0x9147, 0xBA53, 0xB8DD, - 0xBA54, 0xB8DE, 0xBA55, 0xB8DF, 0xBA56, 0x9148, 0xBA57, 0x9149, 0xBA58, 0xB8E0, 0xBA59, 0x914A, 0xBA5A, 0x914B, 0xBA5B, 0x914C, - 0xBA5C, 0xB8E1, 0xBA5D, 0x914D, 0xBA5E, 0x914E, 0xBA5F, 0x914F, 0xBA60, 0x9150, 0xBA61, 0x9151, 0xBA62, 0x9152, 0xBA63, 0x9153, - 0xBA64, 0xB8E2, 0xBA65, 0xB8E3, 0xBA66, 0x9154, 0xBA67, 0xB8E4, 0xBA68, 0xB8E5, 0xBA69, 0xB8E6, 0xBA6A, 0x9155, 0xBA6B, 0x9156, - 0xBA6C, 0x9157, 0xBA6D, 0x9158, 0xBA6E, 0x9159, 0xBA6F, 0x915A, 0xBA70, 0xB8E7, 0xBA71, 0xB8E8, 0xBA72, 0x9161, 0xBA73, 0x9162, - 0xBA74, 0xB8E9, 0xBA75, 0x9163, 0xBA76, 0x9164, 0xBA77, 0x9165, 0xBA78, 0xB8EA, 0xBA79, 0x9166, 0xBA7A, 0x9167, 0xBA7B, 0x9168, - 0xBA7C, 0x9169, 0xBA7D, 0x916A, 0xBA7E, 0x916B, 0xBA7F, 0x916C, 0xBA80, 0x916D, 0xBA81, 0x916E, 0xBA82, 0x916F, 0xBA83, 0xB8EB, - 0xBA84, 0xB8EC, 0xBA85, 0xB8ED, 0xBA86, 0x9170, 0xBA87, 0xB8EE, 0xBA88, 0x9171, 0xBA89, 0x9172, 0xBA8A, 0x9173, 0xBA8B, 0x9174, - 0xBA8C, 0xB8EF, 0xBA8D, 0x9175, 0xBA8E, 0x9176, 0xBA8F, 0x9177, 0xBA90, 0x9178, 0xBA91, 0x9179, 0xBA92, 0x917A, 0xBA93, 0x9181, - 0xBA94, 0x9182, 0xBA95, 0x9183, 0xBA96, 0x9184, 0xBA97, 0x9185, 0xBA98, 0x9186, 0xBA99, 0x9187, 0xBA9A, 0x9188, 0xBA9B, 0x9189, - 0xBA9C, 0x918A, 0xBA9D, 0x918B, 0xBA9E, 0x918C, 0xBA9F, 0x918D, 0xBAA0, 0x918E, 0xBAA1, 0x918F, 0xBAA2, 0x9190, 0xBAA3, 0x9191, - 0xBAA4, 0x9192, 0xBAA5, 0x9193, 0xBAA6, 0x9194, 0xBAA7, 0x9195, 0xBAA8, 0xB8F0, 0xBAA9, 0xB8F1, 0xBAAA, 0x9196, 0xBAAB, 0xB8F2, - 0xBAAC, 0xB8F3, 0xBAAD, 0x9197, 0xBAAE, 0x9198, 0xBAAF, 0x9199, 0xBAB0, 0xB8F4, 0xBAB1, 0x919A, 0xBAB2, 0xB8F5, 0xBAB3, 0x919B, - 0xBAB4, 0x919C, 0xBAB5, 0x919D, 0xBAB6, 0x919E, 0xBAB7, 0x919F, 0xBAB8, 0xB8F6, 0xBAB9, 0xB8F7, 0xBABA, 0x91A0, 0xBABB, 0xB8F8, - 0xBABC, 0x91A1, 0xBABD, 0xB8F9, 0xBABE, 0x91A2, 0xBABF, 0x91A3, 0xBAC0, 0x91A4, 0xBAC1, 0x91A5, 0xBAC2, 0x91A6, 0xBAC3, 0x91A7, - 0xBAC4, 0xB8FA, 0xBAC5, 0x91A8, 0xBAC6, 0x91A9, 0xBAC7, 0x91AA, 0xBAC8, 0xB8FB, 0xBAC9, 0x91AB, 0xBACA, 0x91AC, 0xBACB, 0x91AD, - 0xBACC, 0x91AE, 0xBACD, 0x91AF, 0xBACE, 0x91B0, 0xBACF, 0x91B1, 0xBAD0, 0x91B2, 0xBAD1, 0x91B3, 0xBAD2, 0x91B4, 0xBAD3, 0x91B5, - 0xBAD4, 0x91B6, 0xBAD5, 0x91B7, 0xBAD6, 0x91B8, 0xBAD7, 0x91B9, 0xBAD8, 0xB8FC, 0xBAD9, 0xB8FD, 0xBADA, 0x91BA, 0xBADB, 0x91BB, - 0xBADC, 0x91BC, 0xBADD, 0x91BD, 0xBADE, 0x91BE, 0xBADF, 0x91BF, 0xBAE0, 0x91C0, 0xBAE1, 0x91C1, 0xBAE2, 0x91C2, 0xBAE3, 0x91C3, - 0xBAE4, 0x91C4, 0xBAE5, 0x91C5, 0xBAE6, 0x91C6, 0xBAE7, 0x91C7, 0xBAE8, 0x91C8, 0xBAE9, 0x91C9, 0xBAEA, 0x91CA, 0xBAEB, 0x91CB, - 0xBAEC, 0x91CC, 0xBAED, 0x91CD, 0xBAEE, 0x91CE, 0xBAEF, 0x91CF, 0xBAF0, 0x91D0, 0xBAF1, 0x91D1, 0xBAF2, 0x91D2, 0xBAF3, 0x91D3, - 0xBAF4, 0x91D4, 0xBAF5, 0x91D5, 0xBAF6, 0x91D6, 0xBAF7, 0x91D7, 0xBAF8, 0x91D8, 0xBAF9, 0x91D9, 0xBAFA, 0x91DA, 0xBAFB, 0x91DB, - 0xBAFC, 0xB8FE, 0xBAFD, 0x91DC, 0xBAFE, 0x91DD, 0xBAFF, 0x91DE, 0xBB00, 0xB9A1, 0xBB01, 0x91DF, 0xBB02, 0x91E0, 0xBB03, 0x91E1, - 0xBB04, 0xB9A2, 0xBB05, 0x91E2, 0xBB06, 0x91E3, 0xBB07, 0x91E4, 0xBB08, 0x91E5, 0xBB09, 0x91E6, 0xBB0A, 0x91E7, 0xBB0B, 0x91E8, - 0xBB0C, 0x91E9, 0xBB0D, 0xB9A3, 0xBB0E, 0x91EA, 0xBB0F, 0xB9A4, 0xBB10, 0x91EB, 0xBB11, 0xB9A5, 0xBB12, 0x91EC, 0xBB13, 0x91ED, - 0xBB14, 0x91EE, 0xBB15, 0x91EF, 0xBB16, 0x91F0, 0xBB17, 0x91F1, 0xBB18, 0xB9A6, 0xBB19, 0x91F2, 0xBB1A, 0x91F3, 0xBB1B, 0x91F4, - 0xBB1C, 0xB9A7, 0xBB1D, 0x91F5, 0xBB1E, 0x91F6, 0xBB1F, 0x91F7, 0xBB20, 0xB9A8, 0xBB21, 0x91F8, 0xBB22, 0x91F9, 0xBB23, 0x91FA, - 0xBB24, 0x91FB, 0xBB25, 0x91FC, 0xBB26, 0x91FD, 0xBB27, 0x91FE, 0xBB28, 0x9241, 0xBB29, 0xB9A9, 0xBB2A, 0x9242, 0xBB2B, 0xB9AA, - 0xBB2C, 0x9243, 0xBB2D, 0x9244, 0xBB2E, 0x9245, 0xBB2F, 0x9246, 0xBB30, 0x9247, 0xBB31, 0x9248, 0xBB32, 0x9249, 0xBB33, 0x924A, - 0xBB34, 0xB9AB, 0xBB35, 0xB9AC, 0xBB36, 0xB9AD, 0xBB37, 0x924B, 0xBB38, 0xB9AE, 0xBB39, 0x924C, 0xBB3A, 0x924D, 0xBB3B, 0xB9AF, - 0xBB3C, 0xB9B0, 0xBB3D, 0xB9B1, 0xBB3E, 0xB9B2, 0xBB3F, 0x924E, 0xBB40, 0x924F, 0xBB41, 0x9250, 0xBB42, 0x9251, 0xBB43, 0x9252, - 0xBB44, 0xB9B3, 0xBB45, 0xB9B4, 0xBB46, 0x9253, 0xBB47, 0xB9B5, 0xBB48, 0x9254, 0xBB49, 0xB9B6, 0xBB4A, 0x9255, 0xBB4B, 0x9256, - 0xBB4C, 0x9257, 0xBB4D, 0xB9B7, 0xBB4E, 0x9258, 0xBB4F, 0xB9B8, 0xBB50, 0xB9B9, 0xBB51, 0x9259, 0xBB52, 0x925A, 0xBB53, 0x9261, - 0xBB54, 0xB9BA, 0xBB55, 0x9262, 0xBB56, 0x9263, 0xBB57, 0x9264, 0xBB58, 0xB9BB, 0xBB59, 0x9265, 0xBB5A, 0x9266, 0xBB5B, 0x9267, - 0xBB5C, 0x9268, 0xBB5D, 0x9269, 0xBB5E, 0x926A, 0xBB5F, 0x926B, 0xBB60, 0x926C, 0xBB61, 0xB9BC, 0xBB62, 0x926D, 0xBB63, 0xB9BD, - 0xBB64, 0x926E, 0xBB65, 0x926F, 0xBB66, 0x9270, 0xBB67, 0x9271, 0xBB68, 0x9272, 0xBB69, 0x9273, 0xBB6A, 0x9274, 0xBB6B, 0x9275, - 0xBB6C, 0xB9BE, 0xBB6D, 0x9276, 0xBB6E, 0x9277, 0xBB6F, 0x9278, 0xBB70, 0x9279, 0xBB71, 0x927A, 0xBB72, 0x9281, 0xBB73, 0x9282, - 0xBB74, 0x9283, 0xBB75, 0x9284, 0xBB76, 0x9285, 0xBB77, 0x9286, 0xBB78, 0x9287, 0xBB79, 0x9288, 0xBB7A, 0x9289, 0xBB7B, 0x928A, - 0xBB7C, 0x928B, 0xBB7D, 0x928C, 0xBB7E, 0x928D, 0xBB7F, 0x928E, 0xBB80, 0x928F, 0xBB81, 0x9290, 0xBB82, 0x9291, 0xBB83, 0x9292, - 0xBB84, 0x9293, 0xBB85, 0x9294, 0xBB86, 0x9295, 0xBB87, 0x9296, 0xBB88, 0xB9BF, 0xBB89, 0x9297, 0xBB8A, 0x9298, 0xBB8B, 0x9299, - 0xBB8C, 0xB9C0, 0xBB8D, 0x929A, 0xBB8E, 0x929B, 0xBB8F, 0x929C, 0xBB90, 0xB9C1, 0xBB91, 0x929D, 0xBB92, 0x929E, 0xBB93, 0x929F, - 0xBB94, 0x92A0, 0xBB95, 0x92A1, 0xBB96, 0x92A2, 0xBB97, 0x92A3, 0xBB98, 0x92A4, 0xBB99, 0x92A5, 0xBB9A, 0x92A6, 0xBB9B, 0x92A7, - 0xBB9C, 0x92A8, 0xBB9D, 0x92A9, 0xBB9E, 0x92AA, 0xBB9F, 0x92AB, 0xBBA0, 0x92AC, 0xBBA1, 0x92AD, 0xBBA2, 0x92AE, 0xBBA3, 0x92AF, - 0xBBA4, 0xB9C2, 0xBBA5, 0x92B0, 0xBBA6, 0x92B1, 0xBBA7, 0x92B2, 0xBBA8, 0xB9C3, 0xBBA9, 0x92B3, 0xBBAA, 0x92B4, 0xBBAB, 0x92B5, - 0xBBAC, 0xB9C4, 0xBBAD, 0x92B6, 0xBBAE, 0x92B7, 0xBBAF, 0x92B8, 0xBBB0, 0x92B9, 0xBBB1, 0x92BA, 0xBBB2, 0x92BB, 0xBBB3, 0x92BC, - 0xBBB4, 0xB9C5, 0xBBB5, 0x92BD, 0xBBB6, 0x92BE, 0xBBB7, 0xB9C6, 0xBBB8, 0x92BF, 0xBBB9, 0x92C0, 0xBBBA, 0x92C1, 0xBBBB, 0x92C2, - 0xBBBC, 0x92C3, 0xBBBD, 0x92C4, 0xBBBE, 0x92C5, 0xBBBF, 0x92C6, 0xBBC0, 0xB9C7, 0xBBC1, 0x92C7, 0xBBC2, 0x92C8, 0xBBC3, 0x92C9, - 0xBBC4, 0xB9C8, 0xBBC5, 0x92CA, 0xBBC6, 0x92CB, 0xBBC7, 0x92CC, 0xBBC8, 0xB9C9, 0xBBC9, 0x92CD, 0xBBCA, 0x92CE, 0xBBCB, 0x92CF, - 0xBBCC, 0x92D0, 0xBBCD, 0x92D1, 0xBBCE, 0x92D2, 0xBBCF, 0x92D3, 0xBBD0, 0xB9CA, 0xBBD1, 0x92D4, 0xBBD2, 0x92D5, 0xBBD3, 0xB9CB, - 0xBBD4, 0x92D6, 0xBBD5, 0x92D7, 0xBBD6, 0x92D8, 0xBBD7, 0x92D9, 0xBBD8, 0x92DA, 0xBBD9, 0x92DB, 0xBBDA, 0x92DC, 0xBBDB, 0x92DD, - 0xBBDC, 0x92DE, 0xBBDD, 0x92DF, 0xBBDE, 0x92E0, 0xBBDF, 0x92E1, 0xBBE0, 0x92E2, 0xBBE1, 0x92E3, 0xBBE2, 0x92E4, 0xBBE3, 0x92E5, - 0xBBE4, 0x92E6, 0xBBE5, 0x92E7, 0xBBE6, 0x92E8, 0xBBE7, 0x92E9, 0xBBE8, 0x92EA, 0xBBE9, 0x92EB, 0xBBEA, 0x92EC, 0xBBEB, 0x92ED, - 0xBBEC, 0x92EE, 0xBBED, 0x92EF, 0xBBEE, 0x92F0, 0xBBEF, 0x92F1, 0xBBF0, 0x92F2, 0xBBF1, 0x92F3, 0xBBF2, 0x92F4, 0xBBF3, 0x92F5, - 0xBBF4, 0x92F6, 0xBBF5, 0x92F7, 0xBBF6, 0x92F8, 0xBBF7, 0x92F9, 0xBBF8, 0xB9CC, 0xBBF9, 0xB9CD, 0xBBFA, 0x92FA, 0xBBFB, 0x92FB, - 0xBBFC, 0xB9CE, 0xBBFD, 0x92FC, 0xBBFE, 0x92FD, 0xBBFF, 0xB9CF, 0xBC00, 0xB9D0, 0xBC01, 0x92FE, 0xBC02, 0xB9D1, 0xBC03, 0x9341, - 0xBC04, 0x9342, 0xBC05, 0x9343, 0xBC06, 0x9344, 0xBC07, 0x9345, 0xBC08, 0xB9D2, 0xBC09, 0xB9D3, 0xBC0A, 0x9346, 0xBC0B, 0xB9D4, - 0xBC0C, 0xB9D5, 0xBC0D, 0xB9D6, 0xBC0E, 0x9347, 0xBC0F, 0xB9D7, 0xBC10, 0x9348, 0xBC11, 0xB9D8, 0xBC12, 0x9349, 0xBC13, 0x934A, - 0xBC14, 0xB9D9, 0xBC15, 0xB9DA, 0xBC16, 0xB9DB, 0xBC17, 0xB9DC, 0xBC18, 0xB9DD, 0xBC19, 0x934B, 0xBC1A, 0x934C, 0xBC1B, 0xB9DE, - 0xBC1C, 0xB9DF, 0xBC1D, 0xB9E0, 0xBC1E, 0xB9E1, 0xBC1F, 0xB9E2, 0xBC20, 0x934D, 0xBC21, 0x934E, 0xBC22, 0x934F, 0xBC23, 0x9350, - 0xBC24, 0xB9E3, 0xBC25, 0xB9E4, 0xBC26, 0x9351, 0xBC27, 0xB9E5, 0xBC28, 0x9352, 0xBC29, 0xB9E6, 0xBC2A, 0x9353, 0xBC2B, 0x9354, - 0xBC2C, 0x9355, 0xBC2D, 0xB9E7, 0xBC2E, 0x9356, 0xBC2F, 0x9357, 0xBC30, 0xB9E8, 0xBC31, 0xB9E9, 0xBC32, 0x9358, 0xBC33, 0x9359, - 0xBC34, 0xB9EA, 0xBC35, 0x935A, 0xBC36, 0x9361, 0xBC37, 0x9362, 0xBC38, 0xB9EB, 0xBC39, 0x9363, 0xBC3A, 0x9364, 0xBC3B, 0x9365, - 0xBC3C, 0x9366, 0xBC3D, 0x9367, 0xBC3E, 0x9368, 0xBC3F, 0x9369, 0xBC40, 0xB9EC, 0xBC41, 0xB9ED, 0xBC42, 0x936A, 0xBC43, 0xB9EE, - 0xBC44, 0xB9EF, 0xBC45, 0xB9F0, 0xBC46, 0x936B, 0xBC47, 0x936C, 0xBC48, 0x936D, 0xBC49, 0xB9F1, 0xBC4A, 0x936E, 0xBC4B, 0x936F, - 0xBC4C, 0xB9F2, 0xBC4D, 0xB9F3, 0xBC4E, 0x9370, 0xBC4F, 0x9371, 0xBC50, 0xB9F4, 0xBC51, 0x9372, 0xBC52, 0x9373, 0xBC53, 0x9374, - 0xBC54, 0x9375, 0xBC55, 0x9376, 0xBC56, 0x9377, 0xBC57, 0x9378, 0xBC58, 0x9379, 0xBC59, 0x937A, 0xBC5A, 0x9381, 0xBC5B, 0x9382, - 0xBC5C, 0x9383, 0xBC5D, 0xB9F5, 0xBC5E, 0x9384, 0xBC5F, 0x9385, 0xBC60, 0x9386, 0xBC61, 0x9387, 0xBC62, 0x9388, 0xBC63, 0x9389, - 0xBC64, 0x938A, 0xBC65, 0x938B, 0xBC66, 0x938C, 0xBC67, 0x938D, 0xBC68, 0x938E, 0xBC69, 0x938F, 0xBC6A, 0x9390, 0xBC6B, 0x9391, - 0xBC6C, 0x9392, 0xBC6D, 0x9393, 0xBC6E, 0x9394, 0xBC6F, 0x9395, 0xBC70, 0x9396, 0xBC71, 0x9397, 0xBC72, 0x9398, 0xBC73, 0x9399, - 0xBC74, 0x939A, 0xBC75, 0x939B, 0xBC76, 0x939C, 0xBC77, 0x939D, 0xBC78, 0x939E, 0xBC79, 0x939F, 0xBC7A, 0x93A0, 0xBC7B, 0x93A1, - 0xBC7C, 0x93A2, 0xBC7D, 0x93A3, 0xBC7E, 0x93A4, 0xBC7F, 0x93A5, 0xBC80, 0x93A6, 0xBC81, 0x93A7, 0xBC82, 0x93A8, 0xBC83, 0x93A9, - 0xBC84, 0xB9F6, 0xBC85, 0xB9F7, 0xBC86, 0x93AA, 0xBC87, 0x93AB, 0xBC88, 0xB9F8, 0xBC89, 0x93AC, 0xBC8A, 0x93AD, 0xBC8B, 0xB9F9, - 0xBC8C, 0xB9FA, 0xBC8D, 0x93AE, 0xBC8E, 0xB9FB, 0xBC8F, 0x93AF, 0xBC90, 0x93B0, 0xBC91, 0x93B1, 0xBC92, 0x93B2, 0xBC93, 0x93B3, - 0xBC94, 0xB9FC, 0xBC95, 0xB9FD, 0xBC96, 0x93B4, 0xBC97, 0xB9FE, 0xBC98, 0x93B5, 0xBC99, 0xBAA1, 0xBC9A, 0xBAA2, 0xBC9B, 0x93B6, - 0xBC9C, 0x93B7, 0xBC9D, 0x93B8, 0xBC9E, 0x93B9, 0xBC9F, 0x93BA, 0xBCA0, 0xBAA3, 0xBCA1, 0xBAA4, 0xBCA2, 0x93BB, 0xBCA3, 0x93BC, - 0xBCA4, 0xBAA5, 0xBCA5, 0x93BD, 0xBCA6, 0x93BE, 0xBCA7, 0xBAA6, 0xBCA8, 0xBAA7, 0xBCA9, 0x93BF, 0xBCAA, 0x93C0, 0xBCAB, 0x93C1, - 0xBCAC, 0x93C2, 0xBCAD, 0x93C3, 0xBCAE, 0x93C4, 0xBCAF, 0x93C5, 0xBCB0, 0xBAA8, 0xBCB1, 0xBAA9, 0xBCB2, 0x93C6, 0xBCB3, 0xBAAA, - 0xBCB4, 0xBAAB, 0xBCB5, 0xBAAC, 0xBCB6, 0x93C7, 0xBCB7, 0x93C8, 0xBCB8, 0x93C9, 0xBCB9, 0x93CA, 0xBCBA, 0x93CB, 0xBCBB, 0x93CC, - 0xBCBC, 0xBAAD, 0xBCBD, 0xBAAE, 0xBCBE, 0x93CD, 0xBCBF, 0x93CE, 0xBCC0, 0xBAAF, 0xBCC1, 0x93CF, 0xBCC2, 0x93D0, 0xBCC3, 0x93D1, - 0xBCC4, 0xBAB0, 0xBCC5, 0x93D2, 0xBCC6, 0x93D3, 0xBCC7, 0x93D4, 0xBCC8, 0x93D5, 0xBCC9, 0x93D6, 0xBCCA, 0x93D7, 0xBCCB, 0x93D8, - 0xBCCC, 0x93D9, 0xBCCD, 0xBAB1, 0xBCCE, 0x93DA, 0xBCCF, 0xBAB2, 0xBCD0, 0xBAB3, 0xBCD1, 0xBAB4, 0xBCD2, 0x93DB, 0xBCD3, 0x93DC, - 0xBCD4, 0x93DD, 0xBCD5, 0xBAB5, 0xBCD6, 0x93DE, 0xBCD7, 0x93DF, 0xBCD8, 0xBAB6, 0xBCD9, 0x93E0, 0xBCDA, 0x93E1, 0xBCDB, 0x93E2, - 0xBCDC, 0xBAB7, 0xBCDD, 0x93E3, 0xBCDE, 0x93E4, 0xBCDF, 0x93E5, 0xBCE0, 0x93E6, 0xBCE1, 0x93E7, 0xBCE2, 0x93E8, 0xBCE3, 0x93E9, - 0xBCE4, 0x93EA, 0xBCE5, 0x93EB, 0xBCE6, 0x93EC, 0xBCE7, 0x93ED, 0xBCE8, 0x93EE, 0xBCE9, 0x93EF, 0xBCEA, 0x93F0, 0xBCEB, 0x93F1, - 0xBCEC, 0x93F2, 0xBCED, 0x93F3, 0xBCEE, 0x93F4, 0xBCEF, 0x93F5, 0xBCF0, 0x93F6, 0xBCF1, 0x93F7, 0xBCF2, 0x93F8, 0xBCF3, 0x93F9, - 0xBCF4, 0xBAB8, 0xBCF5, 0xBAB9, 0xBCF6, 0xBABA, 0xBCF7, 0x93FA, 0xBCF8, 0xBABB, 0xBCF9, 0x93FB, 0xBCFA, 0x93FC, 0xBCFB, 0x93FD, - 0xBCFC, 0xBABC, 0xBCFD, 0x93FE, 0xBCFE, 0x9441, 0xBCFF, 0x9442, 0xBD00, 0x9443, 0xBD01, 0x9444, 0xBD02, 0x9445, 0xBD03, 0x9446, - 0xBD04, 0xBABD, 0xBD05, 0xBABE, 0xBD06, 0x9447, 0xBD07, 0xBABF, 0xBD08, 0x9448, 0xBD09, 0xBAC0, 0xBD0A, 0x9449, 0xBD0B, 0x944A, - 0xBD0C, 0x944B, 0xBD0D, 0x944C, 0xBD0E, 0x944D, 0xBD0F, 0x944E, 0xBD10, 0xBAC1, 0xBD11, 0x944F, 0xBD12, 0x9450, 0xBD13, 0x9451, - 0xBD14, 0xBAC2, 0xBD15, 0x9452, 0xBD16, 0x9453, 0xBD17, 0x9454, 0xBD18, 0x9455, 0xBD19, 0x9456, 0xBD1A, 0x9457, 0xBD1B, 0x9458, - 0xBD1C, 0x9459, 0xBD1D, 0x945A, 0xBD1E, 0x9461, 0xBD1F, 0x9462, 0xBD20, 0x9463, 0xBD21, 0x9464, 0xBD22, 0x9465, 0xBD23, 0x9466, - 0xBD24, 0xBAC3, 0xBD25, 0x9467, 0xBD26, 0x9468, 0xBD27, 0x9469, 0xBD28, 0x946A, 0xBD29, 0x946B, 0xBD2A, 0x946C, 0xBD2B, 0x946D, - 0xBD2C, 0xBAC4, 0xBD2D, 0x946E, 0xBD2E, 0x946F, 0xBD2F, 0x9470, 0xBD30, 0x9471, 0xBD31, 0x9472, 0xBD32, 0x9473, 0xBD33, 0x9474, - 0xBD34, 0x9475, 0xBD35, 0x9476, 0xBD36, 0x9477, 0xBD37, 0x9478, 0xBD38, 0x9479, 0xBD39, 0x947A, 0xBD3A, 0x9481, 0xBD3B, 0x9482, - 0xBD3C, 0x9483, 0xBD3D, 0x9484, 0xBD3E, 0x9485, 0xBD3F, 0x9486, 0xBD40, 0xBAC5, 0xBD41, 0x9487, 0xBD42, 0x9488, 0xBD43, 0x9489, - 0xBD44, 0x948A, 0xBD45, 0x948B, 0xBD46, 0x948C, 0xBD47, 0x948D, 0xBD48, 0xBAC6, 0xBD49, 0xBAC7, 0xBD4A, 0x948E, 0xBD4B, 0x948F, - 0xBD4C, 0xBAC8, 0xBD4D, 0x9490, 0xBD4E, 0x9491, 0xBD4F, 0x9492, 0xBD50, 0xBAC9, 0xBD51, 0x9493, 0xBD52, 0x9494, 0xBD53, 0x9495, - 0xBD54, 0x9496, 0xBD55, 0x9497, 0xBD56, 0x9498, 0xBD57, 0x9499, 0xBD58, 0xBACA, 0xBD59, 0xBACB, 0xBD5A, 0x949A, 0xBD5B, 0x949B, - 0xBD5C, 0x949C, 0xBD5D, 0x949D, 0xBD5E, 0x949E, 0xBD5F, 0x949F, 0xBD60, 0x94A0, 0xBD61, 0x94A1, 0xBD62, 0x94A2, 0xBD63, 0x94A3, - 0xBD64, 0xBACC, 0xBD65, 0x94A4, 0xBD66, 0x94A5, 0xBD67, 0x94A6, 0xBD68, 0xBACD, 0xBD69, 0x94A7, 0xBD6A, 0x94A8, 0xBD6B, 0x94A9, - 0xBD6C, 0x94AA, 0xBD6D, 0x94AB, 0xBD6E, 0x94AC, 0xBD6F, 0x94AD, 0xBD70, 0x94AE, 0xBD71, 0x94AF, 0xBD72, 0x94B0, 0xBD73, 0x94B1, - 0xBD74, 0x94B2, 0xBD75, 0x94B3, 0xBD76, 0x94B4, 0xBD77, 0x94B5, 0xBD78, 0x94B6, 0xBD79, 0x94B7, 0xBD7A, 0x94B8, 0xBD7B, 0x94B9, - 0xBD7C, 0x94BA, 0xBD7D, 0x94BB, 0xBD7E, 0x94BC, 0xBD7F, 0x94BD, 0xBD80, 0xBACE, 0xBD81, 0xBACF, 0xBD82, 0x94BE, 0xBD83, 0x94BF, - 0xBD84, 0xBAD0, 0xBD85, 0x94C0, 0xBD86, 0x94C1, 0xBD87, 0xBAD1, 0xBD88, 0xBAD2, 0xBD89, 0xBAD3, 0xBD8A, 0xBAD4, 0xBD8B, 0x94C2, - 0xBD8C, 0x94C3, 0xBD8D, 0x94C4, 0xBD8E, 0x94C5, 0xBD8F, 0x94C6, 0xBD90, 0xBAD5, 0xBD91, 0xBAD6, 0xBD92, 0x94C7, 0xBD93, 0xBAD7, - 0xBD94, 0x94C8, 0xBD95, 0xBAD8, 0xBD96, 0x94C9, 0xBD97, 0x94CA, 0xBD98, 0x94CB, 0xBD99, 0xBAD9, 0xBD9A, 0xBADA, 0xBD9B, 0x94CC, - 0xBD9C, 0xBADB, 0xBD9D, 0x94CD, 0xBD9E, 0x94CE, 0xBD9F, 0x94CF, 0xBDA0, 0x94D0, 0xBDA1, 0x94D1, 0xBDA2, 0x94D2, 0xBDA3, 0x94D3, - 0xBDA4, 0xBADC, 0xBDA5, 0x94D4, 0xBDA6, 0x94D5, 0xBDA7, 0x94D6, 0xBDA8, 0x94D7, 0xBDA9, 0x94D8, 0xBDAA, 0x94D9, 0xBDAB, 0x94DA, - 0xBDAC, 0x94DB, 0xBDAD, 0x94DC, 0xBDAE, 0x94DD, 0xBDAF, 0x94DE, 0xBDB0, 0xBADD, 0xBDB1, 0x94DF, 0xBDB2, 0x94E0, 0xBDB3, 0x94E1, - 0xBDB4, 0x94E2, 0xBDB5, 0x94E3, 0xBDB6, 0x94E4, 0xBDB7, 0x94E5, 0xBDB8, 0xBADE, 0xBDB9, 0x94E6, 0xBDBA, 0x94E7, 0xBDBB, 0x94E8, - 0xBDBC, 0x94E9, 0xBDBD, 0x94EA, 0xBDBE, 0x94EB, 0xBDBF, 0x94EC, 0xBDC0, 0x94ED, 0xBDC1, 0x94EE, 0xBDC2, 0x94EF, 0xBDC3, 0x94F0, - 0xBDC4, 0x94F1, 0xBDC5, 0x94F2, 0xBDC6, 0x94F3, 0xBDC7, 0x94F4, 0xBDC8, 0x94F5, 0xBDC9, 0x94F6, 0xBDCA, 0x94F7, 0xBDCB, 0x94F8, - 0xBDCC, 0x94F9, 0xBDCD, 0x94FA, 0xBDCE, 0x94FB, 0xBDCF, 0x94FC, 0xBDD0, 0x94FD, 0xBDD1, 0x94FE, 0xBDD2, 0x9541, 0xBDD3, 0x9542, - 0xBDD4, 0xBADF, 0xBDD5, 0xBAE0, 0xBDD6, 0x9543, 0xBDD7, 0x9544, 0xBDD8, 0xBAE1, 0xBDD9, 0x9545, 0xBDDA, 0x9546, 0xBDDB, 0x9547, - 0xBDDC, 0xBAE2, 0xBDDD, 0x9548, 0xBDDE, 0x9549, 0xBDDF, 0x954A, 0xBDE0, 0x954B, 0xBDE1, 0x954C, 0xBDE2, 0x954D, 0xBDE3, 0x954E, - 0xBDE4, 0x954F, 0xBDE5, 0x9550, 0xBDE6, 0x9551, 0xBDE7, 0x9552, 0xBDE8, 0x9553, 0xBDE9, 0xBAE3, 0xBDEA, 0x9554, 0xBDEB, 0x9555, - 0xBDEC, 0x9556, 0xBDED, 0x9557, 0xBDEE, 0x9558, 0xBDEF, 0x9559, 0xBDF0, 0xBAE4, 0xBDF1, 0x955A, 0xBDF2, 0x9561, 0xBDF3, 0x9562, - 0xBDF4, 0xBAE5, 0xBDF5, 0x9563, 0xBDF6, 0x9564, 0xBDF7, 0x9565, 0xBDF8, 0xBAE6, 0xBDF9, 0x9566, 0xBDFA, 0x9567, 0xBDFB, 0x9568, - 0xBDFC, 0x9569, 0xBDFD, 0x956A, 0xBDFE, 0x956B, 0xBDFF, 0x956C, 0xBE00, 0xBAE7, 0xBE01, 0x956D, 0xBE02, 0x956E, 0xBE03, 0xBAE8, - 0xBE04, 0x956F, 0xBE05, 0xBAE9, 0xBE06, 0x9570, 0xBE07, 0x9571, 0xBE08, 0x9572, 0xBE09, 0x9573, 0xBE0A, 0x9574, 0xBE0B, 0x9575, - 0xBE0C, 0xBAEA, 0xBE0D, 0xBAEB, 0xBE0E, 0x9576, 0xBE0F, 0x9577, 0xBE10, 0xBAEC, 0xBE11, 0x9578, 0xBE12, 0x9579, 0xBE13, 0x957A, - 0xBE14, 0xBAED, 0xBE15, 0x9581, 0xBE16, 0x9582, 0xBE17, 0x9583, 0xBE18, 0x9584, 0xBE19, 0x9585, 0xBE1A, 0x9586, 0xBE1B, 0x9587, - 0xBE1C, 0xBAEE, 0xBE1D, 0xBAEF, 0xBE1E, 0x9588, 0xBE1F, 0xBAF0, 0xBE20, 0x9589, 0xBE21, 0x958A, 0xBE22, 0x958B, 0xBE23, 0x958C, - 0xBE24, 0x958D, 0xBE25, 0x958E, 0xBE26, 0x958F, 0xBE27, 0x9590, 0xBE28, 0x9591, 0xBE29, 0x9592, 0xBE2A, 0x9593, 0xBE2B, 0x9594, - 0xBE2C, 0x9595, 0xBE2D, 0x9596, 0xBE2E, 0x9597, 0xBE2F, 0x9598, 0xBE30, 0x9599, 0xBE31, 0x959A, 0xBE32, 0x959B, 0xBE33, 0x959C, - 0xBE34, 0x959D, 0xBE35, 0x959E, 0xBE36, 0x959F, 0xBE37, 0x95A0, 0xBE38, 0x95A1, 0xBE39, 0x95A2, 0xBE3A, 0x95A3, 0xBE3B, 0x95A4, - 0xBE3C, 0x95A5, 0xBE3D, 0x95A6, 0xBE3E, 0x95A7, 0xBE3F, 0x95A8, 0xBE40, 0x95A9, 0xBE41, 0x95AA, 0xBE42, 0x95AB, 0xBE43, 0x95AC, - 0xBE44, 0xBAF1, 0xBE45, 0xBAF2, 0xBE46, 0x95AD, 0xBE47, 0x95AE, 0xBE48, 0xBAF3, 0xBE49, 0x95AF, 0xBE4A, 0x95B0, 0xBE4B, 0x95B1, - 0xBE4C, 0xBAF4, 0xBE4D, 0x95B2, 0xBE4E, 0xBAF5, 0xBE4F, 0x95B3, 0xBE50, 0x95B4, 0xBE51, 0x95B5, 0xBE52, 0x95B6, 0xBE53, 0x95B7, - 0xBE54, 0xBAF6, 0xBE55, 0xBAF7, 0xBE56, 0x95B8, 0xBE57, 0xBAF8, 0xBE58, 0x95B9, 0xBE59, 0xBAF9, 0xBE5A, 0xBAFA, 0xBE5B, 0xBAFB, - 0xBE5C, 0x95BA, 0xBE5D, 0x95BB, 0xBE5E, 0x95BC, 0xBE5F, 0x95BD, 0xBE60, 0xBAFC, 0xBE61, 0xBAFD, 0xBE62, 0x95BE, 0xBE63, 0x95BF, - 0xBE64, 0xBAFE, 0xBE65, 0x95C0, 0xBE66, 0x95C1, 0xBE67, 0x95C2, 0xBE68, 0xBBA1, 0xBE69, 0x95C3, 0xBE6A, 0xBBA2, 0xBE6B, 0x95C4, - 0xBE6C, 0x95C5, 0xBE6D, 0x95C6, 0xBE6E, 0x95C7, 0xBE6F, 0x95C8, 0xBE70, 0xBBA3, 0xBE71, 0xBBA4, 0xBE72, 0x95C9, 0xBE73, 0xBBA5, - 0xBE74, 0xBBA6, 0xBE75, 0xBBA7, 0xBE76, 0x95CA, 0xBE77, 0x95CB, 0xBE78, 0x95CC, 0xBE79, 0x95CD, 0xBE7A, 0x95CE, 0xBE7B, 0xBBA8, - 0xBE7C, 0xBBA9, 0xBE7D, 0xBBAA, 0xBE7E, 0x95CF, 0xBE7F, 0x95D0, 0xBE80, 0xBBAB, 0xBE81, 0x95D1, 0xBE82, 0x95D2, 0xBE83, 0x95D3, - 0xBE84, 0xBBAC, 0xBE85, 0x95D4, 0xBE86, 0x95D5, 0xBE87, 0x95D6, 0xBE88, 0x95D7, 0xBE89, 0x95D8, 0xBE8A, 0x95D9, 0xBE8B, 0x95DA, - 0xBE8C, 0xBBAD, 0xBE8D, 0xBBAE, 0xBE8E, 0x95DB, 0xBE8F, 0xBBAF, 0xBE90, 0xBBB0, 0xBE91, 0xBBB1, 0xBE92, 0x95DC, 0xBE93, 0x95DD, - 0xBE94, 0x95DE, 0xBE95, 0x95DF, 0xBE96, 0x95E0, 0xBE97, 0x95E1, 0xBE98, 0xBBB2, 0xBE99, 0xBBB3, 0xBE9A, 0x95E2, 0xBE9B, 0x95E3, - 0xBE9C, 0x95E4, 0xBE9D, 0x95E5, 0xBE9E, 0x95E6, 0xBE9F, 0x95E7, 0xBEA0, 0x95E8, 0xBEA1, 0x95E9, 0xBEA2, 0x95EA, 0xBEA3, 0x95EB, - 0xBEA4, 0x95EC, 0xBEA5, 0x95ED, 0xBEA6, 0x95EE, 0xBEA7, 0x95EF, 0xBEA8, 0xBBB4, 0xBEA9, 0x95F0, 0xBEAA, 0x95F1, 0xBEAB, 0x95F2, - 0xBEAC, 0x95F3, 0xBEAD, 0x95F4, 0xBEAE, 0x95F5, 0xBEAF, 0x95F6, 0xBEB0, 0x95F7, 0xBEB1, 0x95F8, 0xBEB2, 0x95F9, 0xBEB3, 0x95FA, - 0xBEB4, 0x95FB, 0xBEB5, 0x95FC, 0xBEB6, 0x95FD, 0xBEB7, 0x95FE, 0xBEB8, 0x9641, 0xBEB9, 0x9642, 0xBEBA, 0x9643, 0xBEBB, 0x9644, - 0xBEBC, 0x9645, 0xBEBD, 0x9646, 0xBEBE, 0x9647, 0xBEBF, 0x9648, 0xBEC0, 0x9649, 0xBEC1, 0x964A, 0xBEC2, 0x964B, 0xBEC3, 0x964C, - 0xBEC4, 0x964D, 0xBEC5, 0x964E, 0xBEC6, 0x964F, 0xBEC7, 0x9650, 0xBEC8, 0x9651, 0xBEC9, 0x9652, 0xBECA, 0x9653, 0xBECB, 0x9654, - 0xBECC, 0x9655, 0xBECD, 0x9656, 0xBECE, 0x9657, 0xBECF, 0x9658, 0xBED0, 0xBBB5, 0xBED1, 0xBBB6, 0xBED2, 0x9659, 0xBED3, 0x965A, - 0xBED4, 0xBBB7, 0xBED5, 0x9661, 0xBED6, 0x9662, 0xBED7, 0xBBB8, 0xBED8, 0xBBB9, 0xBED9, 0x9663, 0xBEDA, 0x9664, 0xBEDB, 0x9665, - 0xBEDC, 0x9666, 0xBEDD, 0x9667, 0xBEDE, 0x9668, 0xBEDF, 0x9669, 0xBEE0, 0xBBBA, 0xBEE1, 0x966A, 0xBEE2, 0x966B, 0xBEE3, 0xBBBB, - 0xBEE4, 0xBBBC, 0xBEE5, 0xBBBD, 0xBEE6, 0x966C, 0xBEE7, 0x966D, 0xBEE8, 0x966E, 0xBEE9, 0x966F, 0xBEEA, 0x9670, 0xBEEB, 0x9671, - 0xBEEC, 0xBBBE, 0xBEED, 0x9672, 0xBEEE, 0x9673, 0xBEEF, 0x9674, 0xBEF0, 0x9675, 0xBEF1, 0x9676, 0xBEF2, 0x9677, 0xBEF3, 0x9678, - 0xBEF4, 0x9679, 0xBEF5, 0x967A, 0xBEF6, 0x9681, 0xBEF7, 0x9682, 0xBEF8, 0x9683, 0xBEF9, 0x9684, 0xBEFA, 0x9685, 0xBEFB, 0x9686, - 0xBEFC, 0x9687, 0xBEFD, 0x9688, 0xBEFE, 0x9689, 0xBEFF, 0x968A, 0xBF00, 0x968B, 0xBF01, 0xBBBF, 0xBF02, 0x968C, 0xBF03, 0x968D, - 0xBF04, 0x968E, 0xBF05, 0x968F, 0xBF06, 0x9690, 0xBF07, 0x9691, 0xBF08, 0xBBC0, 0xBF09, 0xBBC1, 0xBF0A, 0x9692, 0xBF0B, 0x9693, - 0xBF0C, 0x9694, 0xBF0D, 0x9695, 0xBF0E, 0x9696, 0xBF0F, 0x9697, 0xBF10, 0x9698, 0xBF11, 0x9699, 0xBF12, 0x969A, 0xBF13, 0x969B, - 0xBF14, 0x969C, 0xBF15, 0x969D, 0xBF16, 0x969E, 0xBF17, 0x969F, 0xBF18, 0xBBC2, 0xBF19, 0xBBC3, 0xBF1A, 0x96A0, 0xBF1B, 0xBBC4, - 0xBF1C, 0xBBC5, 0xBF1D, 0xBBC6, 0xBF1E, 0x96A1, 0xBF1F, 0x96A2, 0xBF20, 0x96A3, 0xBF21, 0x96A4, 0xBF22, 0x96A5, 0xBF23, 0x96A6, - 0xBF24, 0x96A7, 0xBF25, 0x96A8, 0xBF26, 0x96A9, 0xBF27, 0x96AA, 0xBF28, 0x96AB, 0xBF29, 0x96AC, 0xBF2A, 0x96AD, 0xBF2B, 0x96AE, - 0xBF2C, 0x96AF, 0xBF2D, 0x96B0, 0xBF2E, 0x96B1, 0xBF2F, 0x96B2, 0xBF30, 0x96B3, 0xBF31, 0x96B4, 0xBF32, 0x96B5, 0xBF33, 0x96B6, - 0xBF34, 0x96B7, 0xBF35, 0x96B8, 0xBF36, 0x96B9, 0xBF37, 0x96BA, 0xBF38, 0x96BB, 0xBF39, 0x96BC, 0xBF3A, 0x96BD, 0xBF3B, 0x96BE, - 0xBF3C, 0x96BF, 0xBF3D, 0x96C0, 0xBF3E, 0x96C1, 0xBF3F, 0x96C2, 0xBF40, 0xBBC7, 0xBF41, 0xBBC8, 0xBF42, 0x96C3, 0xBF43, 0x96C4, - 0xBF44, 0xBBC9, 0xBF45, 0x96C5, 0xBF46, 0x96C6, 0xBF47, 0x96C7, 0xBF48, 0xBBCA, 0xBF49, 0x96C8, 0xBF4A, 0x96C9, 0xBF4B, 0x96CA, - 0xBF4C, 0x96CB, 0xBF4D, 0x96CC, 0xBF4E, 0x96CD, 0xBF4F, 0x96CE, 0xBF50, 0xBBCB, 0xBF51, 0xBBCC, 0xBF52, 0x96CF, 0xBF53, 0x96D0, - 0xBF54, 0x96D1, 0xBF55, 0xBBCD, 0xBF56, 0x96D2, 0xBF57, 0x96D3, 0xBF58, 0x96D4, 0xBF59, 0x96D5, 0xBF5A, 0x96D6, 0xBF5B, 0x96D7, - 0xBF5C, 0x96D8, 0xBF5D, 0x96D9, 0xBF5E, 0x96DA, 0xBF5F, 0x96DB, 0xBF60, 0x96DC, 0xBF61, 0x96DD, 0xBF62, 0x96DE, 0xBF63, 0x96DF, - 0xBF64, 0x96E0, 0xBF65, 0x96E1, 0xBF66, 0x96E2, 0xBF67, 0x96E3, 0xBF68, 0x96E4, 0xBF69, 0x96E5, 0xBF6A, 0x96E6, 0xBF6B, 0x96E7, - 0xBF6C, 0x96E8, 0xBF6D, 0x96E9, 0xBF6E, 0x96EA, 0xBF6F, 0x96EB, 0xBF70, 0x96EC, 0xBF71, 0x96ED, 0xBF72, 0x96EE, 0xBF73, 0x96EF, - 0xBF74, 0x96F0, 0xBF75, 0x96F1, 0xBF76, 0x96F2, 0xBF77, 0x96F3, 0xBF78, 0x96F4, 0xBF79, 0x96F5, 0xBF7A, 0x96F6, 0xBF7B, 0x96F7, - 0xBF7C, 0x96F8, 0xBF7D, 0x96F9, 0xBF7E, 0x96FA, 0xBF7F, 0x96FB, 0xBF80, 0x96FC, 0xBF81, 0x96FD, 0xBF82, 0x96FE, 0xBF83, 0x9741, - 0xBF84, 0x9742, 0xBF85, 0x9743, 0xBF86, 0x9744, 0xBF87, 0x9745, 0xBF88, 0x9746, 0xBF89, 0x9747, 0xBF8A, 0x9748, 0xBF8B, 0x9749, - 0xBF8C, 0x974A, 0xBF8D, 0x974B, 0xBF8E, 0x974C, 0xBF8F, 0x974D, 0xBF90, 0x974E, 0xBF91, 0x974F, 0xBF92, 0x9750, 0xBF93, 0x9751, - 0xBF94, 0xBBCE, 0xBF95, 0x9752, 0xBF96, 0x9753, 0xBF97, 0x9754, 0xBF98, 0x9755, 0xBF99, 0x9756, 0xBF9A, 0x9757, 0xBF9B, 0x9758, - 0xBF9C, 0x9759, 0xBF9D, 0x975A, 0xBF9E, 0x9761, 0xBF9F, 0x9762, 0xBFA0, 0x9763, 0xBFA1, 0x9764, 0xBFA2, 0x9765, 0xBFA3, 0x9766, - 0xBFA4, 0x9767, 0xBFA5, 0x9768, 0xBFA6, 0x9769, 0xBFA7, 0x976A, 0xBFA8, 0x976B, 0xBFA9, 0x976C, 0xBFAA, 0x976D, 0xBFAB, 0x976E, - 0xBFAC, 0x976F, 0xBFAD, 0x9770, 0xBFAE, 0x9771, 0xBFAF, 0x9772, 0xBFB0, 0xBBCF, 0xBFB1, 0x9773, 0xBFB2, 0x9774, 0xBFB3, 0x9775, - 0xBFB4, 0x9776, 0xBFB5, 0x9777, 0xBFB6, 0x9778, 0xBFB7, 0x9779, 0xBFB8, 0x977A, 0xBFB9, 0x9781, 0xBFBA, 0x9782, 0xBFBB, 0x9783, - 0xBFBC, 0x9784, 0xBFBD, 0x9785, 0xBFBE, 0x9786, 0xBFBF, 0x9787, 0xBFC0, 0x9788, 0xBFC1, 0x9789, 0xBFC2, 0x978A, 0xBFC3, 0x978B, - 0xBFC4, 0x978C, 0xBFC5, 0xBBD0, 0xBFC6, 0x978D, 0xBFC7, 0x978E, 0xBFC8, 0x978F, 0xBFC9, 0x9790, 0xBFCA, 0x9791, 0xBFCB, 0x9792, - 0xBFCC, 0xBBD1, 0xBFCD, 0xBBD2, 0xBFCE, 0x9793, 0xBFCF, 0x9794, 0xBFD0, 0xBBD3, 0xBFD1, 0x9795, 0xBFD2, 0x9796, 0xBFD3, 0x9797, - 0xBFD4, 0xBBD4, 0xBFD5, 0x9798, 0xBFD6, 0x9799, 0xBFD7, 0x979A, 0xBFD8, 0x979B, 0xBFD9, 0x979C, 0xBFDA, 0x979D, 0xBFDB, 0x979E, - 0xBFDC, 0xBBD5, 0xBFDD, 0x979F, 0xBFDE, 0x97A0, 0xBFDF, 0xBBD6, 0xBFE0, 0x97A1, 0xBFE1, 0xBBD7, 0xBFE2, 0x97A2, 0xBFE3, 0x97A3, - 0xBFE4, 0x97A4, 0xBFE5, 0x97A5, 0xBFE6, 0x97A6, 0xBFE7, 0x97A7, 0xBFE8, 0x97A8, 0xBFE9, 0x97A9, 0xBFEA, 0x97AA, 0xBFEB, 0x97AB, - 0xBFEC, 0x97AC, 0xBFED, 0x97AD, 0xBFEE, 0x97AE, 0xBFEF, 0x97AF, 0xBFF0, 0x97B0, 0xBFF1, 0x97B1, 0xBFF2, 0x97B2, 0xBFF3, 0x97B3, - 0xBFF4, 0x97B4, 0xBFF5, 0x97B5, 0xBFF6, 0x97B6, 0xBFF7, 0x97B7, 0xBFF8, 0x97B8, 0xBFF9, 0x97B9, 0xBFFA, 0x97BA, 0xBFFB, 0x97BB, - 0xBFFC, 0x97BC, 0xBFFD, 0x97BD, 0xBFFE, 0x97BE, 0xBFFF, 0x97BF, 0xC000, 0x97C0, 0xC001, 0x97C1, 0xC002, 0x97C2, 0xC003, 0x97C3, - 0xC004, 0x97C4, 0xC005, 0x97C5, 0xC006, 0x97C6, 0xC007, 0x97C7, 0xC008, 0x97C8, 0xC009, 0x97C9, 0xC00A, 0x97CA, 0xC00B, 0x97CB, - 0xC00C, 0x97CC, 0xC00D, 0x97CD, 0xC00E, 0x97CE, 0xC00F, 0x97CF, 0xC010, 0x97D0, 0xC011, 0x97D1, 0xC012, 0x97D2, 0xC013, 0x97D3, - 0xC014, 0x97D4, 0xC015, 0x97D5, 0xC016, 0x97D6, 0xC017, 0x97D7, 0xC018, 0x97D8, 0xC019, 0x97D9, 0xC01A, 0x97DA, 0xC01B, 0x97DB, - 0xC01C, 0x97DC, 0xC01D, 0x97DD, 0xC01E, 0x97DE, 0xC01F, 0x97DF, 0xC020, 0x97E0, 0xC021, 0x97E1, 0xC022, 0x97E2, 0xC023, 0x97E3, - 0xC024, 0x97E4, 0xC025, 0x97E5, 0xC026, 0x97E6, 0xC027, 0x97E7, 0xC028, 0x97E8, 0xC029, 0x97E9, 0xC02A, 0x97EA, 0xC02B, 0x97EB, - 0xC02C, 0x97EC, 0xC02D, 0x97ED, 0xC02E, 0x97EE, 0xC02F, 0x97EF, 0xC030, 0x97F0, 0xC031, 0x97F1, 0xC032, 0x97F2, 0xC033, 0x97F3, - 0xC034, 0x97F4, 0xC035, 0x97F5, 0xC036, 0x97F6, 0xC037, 0x97F7, 0xC038, 0x97F8, 0xC039, 0x97F9, 0xC03A, 0x97FA, 0xC03B, 0x97FB, - 0xC03C, 0xBBD8, 0xC03D, 0x97FC, 0xC03E, 0x97FD, 0xC03F, 0x97FE, 0xC040, 0x9841, 0xC041, 0x9842, 0xC042, 0x9843, 0xC043, 0x9844, - 0xC044, 0x9845, 0xC045, 0x9846, 0xC046, 0x9847, 0xC047, 0x9848, 0xC048, 0x9849, 0xC049, 0x984A, 0xC04A, 0x984B, 0xC04B, 0x984C, - 0xC04C, 0x984D, 0xC04D, 0x984E, 0xC04E, 0x984F, 0xC04F, 0x9850, 0xC050, 0x9851, 0xC051, 0xBBD9, 0xC052, 0x9852, 0xC053, 0x9853, - 0xC054, 0x9854, 0xC055, 0x9855, 0xC056, 0x9856, 0xC057, 0x9857, 0xC058, 0xBBDA, 0xC059, 0x9858, 0xC05A, 0x9859, 0xC05B, 0x985A, - 0xC05C, 0xBBDB, 0xC05D, 0x9861, 0xC05E, 0x9862, 0xC05F, 0x9863, 0xC060, 0xBBDC, 0xC061, 0x9864, 0xC062, 0x9865, 0xC063, 0x9866, - 0xC064, 0x9867, 0xC065, 0x9868, 0xC066, 0x9869, 0xC067, 0x986A, 0xC068, 0xBBDD, 0xC069, 0xBBDE, 0xC06A, 0x986B, 0xC06B, 0x986C, - 0xC06C, 0x986D, 0xC06D, 0x986E, 0xC06E, 0x986F, 0xC06F, 0x9870, 0xC070, 0x9871, 0xC071, 0x9872, 0xC072, 0x9873, 0xC073, 0x9874, - 0xC074, 0x9875, 0xC075, 0x9876, 0xC076, 0x9877, 0xC077, 0x9878, 0xC078, 0x9879, 0xC079, 0x987A, 0xC07A, 0x9881, 0xC07B, 0x9882, - 0xC07C, 0x9883, 0xC07D, 0x9884, 0xC07E, 0x9885, 0xC07F, 0x9886, 0xC080, 0x9887, 0xC081, 0x9888, 0xC082, 0x9889, 0xC083, 0x988A, - 0xC084, 0x988B, 0xC085, 0x988C, 0xC086, 0x988D, 0xC087, 0x988E, 0xC088, 0x988F, 0xC089, 0x9890, 0xC08A, 0x9891, 0xC08B, 0x9892, - 0xC08C, 0x9893, 0xC08D, 0x9894, 0xC08E, 0x9895, 0xC08F, 0x9896, 0xC090, 0xBBDF, 0xC091, 0xBBE0, 0xC092, 0x9897, 0xC093, 0x9898, - 0xC094, 0xBBE1, 0xC095, 0x9899, 0xC096, 0x989A, 0xC097, 0x989B, 0xC098, 0xBBE2, 0xC099, 0x989C, 0xC09A, 0x989D, 0xC09B, 0x989E, - 0xC09C, 0x989F, 0xC09D, 0x98A0, 0xC09E, 0x98A1, 0xC09F, 0x98A2, 0xC0A0, 0xBBE3, 0xC0A1, 0xBBE4, 0xC0A2, 0x98A3, 0xC0A3, 0xBBE5, - 0xC0A4, 0x98A4, 0xC0A5, 0xBBE6, 0xC0A6, 0x98A5, 0xC0A7, 0x98A6, 0xC0A8, 0x98A7, 0xC0A9, 0x98A8, 0xC0AA, 0x98A9, 0xC0AB, 0x98AA, - 0xC0AC, 0xBBE7, 0xC0AD, 0xBBE8, 0xC0AE, 0x98AB, 0xC0AF, 0xBBE9, 0xC0B0, 0xBBEA, 0xC0B1, 0x98AC, 0xC0B2, 0x98AD, 0xC0B3, 0xBBEB, - 0xC0B4, 0xBBEC, 0xC0B5, 0xBBED, 0xC0B6, 0xBBEE, 0xC0B7, 0x98AE, 0xC0B8, 0x98AF, 0xC0B9, 0x98B0, 0xC0BA, 0x98B1, 0xC0BB, 0x98B2, - 0xC0BC, 0xBBEF, 0xC0BD, 0xBBF0, 0xC0BE, 0x98B3, 0xC0BF, 0xBBF1, 0xC0C0, 0xBBF2, 0xC0C1, 0xBBF3, 0xC0C2, 0x98B4, 0xC0C3, 0x98B5, - 0xC0C4, 0x98B6, 0xC0C5, 0xBBF4, 0xC0C6, 0x98B7, 0xC0C7, 0x98B8, 0xC0C8, 0xBBF5, 0xC0C9, 0xBBF6, 0xC0CA, 0x98B9, 0xC0CB, 0x98BA, - 0xC0CC, 0xBBF7, 0xC0CD, 0x98BB, 0xC0CE, 0x98BC, 0xC0CF, 0x98BD, 0xC0D0, 0xBBF8, 0xC0D1, 0x98BE, 0xC0D2, 0x98BF, 0xC0D3, 0x98C0, - 0xC0D4, 0x98C1, 0xC0D5, 0x98C2, 0xC0D6, 0x98C3, 0xC0D7, 0x98C4, 0xC0D8, 0xBBF9, 0xC0D9, 0xBBFA, 0xC0DA, 0x98C5, 0xC0DB, 0xBBFB, - 0xC0DC, 0xBBFC, 0xC0DD, 0xBBFD, 0xC0DE, 0x98C6, 0xC0DF, 0x98C7, 0xC0E0, 0x98C8, 0xC0E1, 0x98C9, 0xC0E2, 0x98CA, 0xC0E3, 0x98CB, - 0xC0E4, 0xBBFE, 0xC0E5, 0xBCA1, 0xC0E6, 0x98CC, 0xC0E7, 0x98CD, 0xC0E8, 0xBCA2, 0xC0E9, 0x98CE, 0xC0EA, 0x98CF, 0xC0EB, 0x98D0, - 0xC0EC, 0xBCA3, 0xC0ED, 0x98D1, 0xC0EE, 0x98D2, 0xC0EF, 0x98D3, 0xC0F0, 0x98D4, 0xC0F1, 0x98D5, 0xC0F2, 0x98D6, 0xC0F3, 0x98D7, - 0xC0F4, 0xBCA4, 0xC0F5, 0xBCA5, 0xC0F6, 0x98D8, 0xC0F7, 0xBCA6, 0xC0F8, 0x98D9, 0xC0F9, 0xBCA7, 0xC0FA, 0x98DA, 0xC0FB, 0x98DB, - 0xC0FC, 0x98DC, 0xC0FD, 0x98DD, 0xC0FE, 0x98DE, 0xC0FF, 0x98DF, 0xC100, 0xBCA8, 0xC101, 0x98E0, 0xC102, 0x98E1, 0xC103, 0x98E2, - 0xC104, 0xBCA9, 0xC105, 0x98E3, 0xC106, 0x98E4, 0xC107, 0x98E5, 0xC108, 0xBCAA, 0xC109, 0x98E6, 0xC10A, 0x98E7, 0xC10B, 0x98E8, - 0xC10C, 0x98E9, 0xC10D, 0x98EA, 0xC10E, 0x98EB, 0xC10F, 0x98EC, 0xC110, 0xBCAB, 0xC111, 0x98ED, 0xC112, 0x98EE, 0xC113, 0x98EF, - 0xC114, 0x98F0, 0xC115, 0xBCAC, 0xC116, 0x98F1, 0xC117, 0x98F2, 0xC118, 0x98F3, 0xC119, 0x98F4, 0xC11A, 0x98F5, 0xC11B, 0x98F6, - 0xC11C, 0xBCAD, 0xC11D, 0xBCAE, 0xC11E, 0xBCAF, 0xC11F, 0xBCB0, 0xC120, 0xBCB1, 0xC121, 0x98F7, 0xC122, 0x98F8, 0xC123, 0xBCB2, - 0xC124, 0xBCB3, 0xC125, 0x98F9, 0xC126, 0xBCB4, 0xC127, 0xBCB5, 0xC128, 0x98FA, 0xC129, 0x98FB, 0xC12A, 0x98FC, 0xC12B, 0x98FD, - 0xC12C, 0xBCB6, 0xC12D, 0xBCB7, 0xC12E, 0x98FE, 0xC12F, 0xBCB8, 0xC130, 0xBCB9, 0xC131, 0xBCBA, 0xC132, 0x9941, 0xC133, 0x9942, - 0xC134, 0x9943, 0xC135, 0x9944, 0xC136, 0xBCBB, 0xC137, 0x9945, 0xC138, 0xBCBC, 0xC139, 0xBCBD, 0xC13A, 0x9946, 0xC13B, 0x9947, - 0xC13C, 0xBCBE, 0xC13D, 0x9948, 0xC13E, 0x9949, 0xC13F, 0x994A, 0xC140, 0xBCBF, 0xC141, 0x994B, 0xC142, 0x994C, 0xC143, 0x994D, - 0xC144, 0x994E, 0xC145, 0x994F, 0xC146, 0x9950, 0xC147, 0x9951, 0xC148, 0xBCC0, 0xC149, 0xBCC1, 0xC14A, 0x9952, 0xC14B, 0xBCC2, - 0xC14C, 0xBCC3, 0xC14D, 0xBCC4, 0xC14E, 0x9953, 0xC14F, 0x9954, 0xC150, 0x9955, 0xC151, 0x9956, 0xC152, 0x9957, 0xC153, 0x9958, - 0xC154, 0xBCC5, 0xC155, 0xBCC6, 0xC156, 0x9959, 0xC157, 0x995A, 0xC158, 0xBCC7, 0xC159, 0x9961, 0xC15A, 0x9962, 0xC15B, 0x9963, - 0xC15C, 0xBCC8, 0xC15D, 0x9964, 0xC15E, 0x9965, 0xC15F, 0x9966, 0xC160, 0x9967, 0xC161, 0x9968, 0xC162, 0x9969, 0xC163, 0x996A, - 0xC164, 0xBCC9, 0xC165, 0xBCCA, 0xC166, 0x996B, 0xC167, 0xBCCB, 0xC168, 0xBCCC, 0xC169, 0xBCCD, 0xC16A, 0x996C, 0xC16B, 0x996D, - 0xC16C, 0x996E, 0xC16D, 0x996F, 0xC16E, 0x9970, 0xC16F, 0x9971, 0xC170, 0xBCCE, 0xC171, 0x9972, 0xC172, 0x9973, 0xC173, 0x9974, - 0xC174, 0xBCCF, 0xC175, 0x9975, 0xC176, 0x9976, 0xC177, 0x9977, 0xC178, 0xBCD0, 0xC179, 0x9978, 0xC17A, 0x9979, 0xC17B, 0x997A, - 0xC17C, 0x9981, 0xC17D, 0x9982, 0xC17E, 0x9983, 0xC17F, 0x9984, 0xC180, 0x9985, 0xC181, 0x9986, 0xC182, 0x9987, 0xC183, 0x9988, - 0xC184, 0x9989, 0xC185, 0xBCD1, 0xC186, 0x998A, 0xC187, 0x998B, 0xC188, 0x998C, 0xC189, 0x998D, 0xC18A, 0x998E, 0xC18B, 0x998F, - 0xC18C, 0xBCD2, 0xC18D, 0xBCD3, 0xC18E, 0xBCD4, 0xC18F, 0x9990, 0xC190, 0xBCD5, 0xC191, 0x9991, 0xC192, 0x9992, 0xC193, 0x9993, - 0xC194, 0xBCD6, 0xC195, 0x9994, 0xC196, 0xBCD7, 0xC197, 0x9995, 0xC198, 0x9996, 0xC199, 0x9997, 0xC19A, 0x9998, 0xC19B, 0x9999, - 0xC19C, 0xBCD8, 0xC19D, 0xBCD9, 0xC19E, 0x999A, 0xC19F, 0xBCDA, 0xC1A0, 0x999B, 0xC1A1, 0xBCDB, 0xC1A2, 0x999C, 0xC1A3, 0x999D, - 0xC1A4, 0x999E, 0xC1A5, 0xBCDC, 0xC1A6, 0x999F, 0xC1A7, 0x99A0, 0xC1A8, 0xBCDD, 0xC1A9, 0xBCDE, 0xC1AA, 0x99A1, 0xC1AB, 0x99A2, - 0xC1AC, 0xBCDF, 0xC1AD, 0x99A3, 0xC1AE, 0x99A4, 0xC1AF, 0x99A5, 0xC1B0, 0xBCE0, 0xC1B1, 0x99A6, 0xC1B2, 0x99A7, 0xC1B3, 0x99A8, - 0xC1B4, 0x99A9, 0xC1B5, 0x99AA, 0xC1B6, 0x99AB, 0xC1B7, 0x99AC, 0xC1B8, 0x99AD, 0xC1B9, 0x99AE, 0xC1BA, 0x99AF, 0xC1BB, 0x99B0, - 0xC1BC, 0x99B1, 0xC1BD, 0xBCE1, 0xC1BE, 0x99B2, 0xC1BF, 0x99B3, 0xC1C0, 0x99B4, 0xC1C1, 0x99B5, 0xC1C2, 0x99B6, 0xC1C3, 0x99B7, - 0xC1C4, 0xBCE2, 0xC1C5, 0x99B8, 0xC1C6, 0x99B9, 0xC1C7, 0x99BA, 0xC1C8, 0xBCE3, 0xC1C9, 0x99BB, 0xC1CA, 0x99BC, 0xC1CB, 0x99BD, - 0xC1CC, 0xBCE4, 0xC1CD, 0x99BE, 0xC1CE, 0x99BF, 0xC1CF, 0x99C0, 0xC1D0, 0x99C1, 0xC1D1, 0x99C2, 0xC1D2, 0x99C3, 0xC1D3, 0x99C4, - 0xC1D4, 0xBCE5, 0xC1D5, 0x99C5, 0xC1D6, 0x99C6, 0xC1D7, 0xBCE6, 0xC1D8, 0xBCE7, 0xC1D9, 0x99C7, 0xC1DA, 0x99C8, 0xC1DB, 0x99C9, - 0xC1DC, 0x99CA, 0xC1DD, 0x99CB, 0xC1DE, 0x99CC, 0xC1DF, 0x99CD, 0xC1E0, 0xBCE8, 0xC1E1, 0x99CE, 0xC1E2, 0x99CF, 0xC1E3, 0x99D0, - 0xC1E4, 0xBCE9, 0xC1E5, 0x99D1, 0xC1E6, 0x99D2, 0xC1E7, 0x99D3, 0xC1E8, 0xBCEA, 0xC1E9, 0x99D4, 0xC1EA, 0x99D5, 0xC1EB, 0x99D6, - 0xC1EC, 0x99D7, 0xC1ED, 0x99D8, 0xC1EE, 0x99D9, 0xC1EF, 0x99DA, 0xC1F0, 0xBCEB, 0xC1F1, 0xBCEC, 0xC1F2, 0x99DB, 0xC1F3, 0xBCED, - 0xC1F4, 0x99DC, 0xC1F5, 0x99DD, 0xC1F6, 0x99DE, 0xC1F7, 0x99DF, 0xC1F8, 0x99E0, 0xC1F9, 0x99E1, 0xC1FA, 0x99E2, 0xC1FB, 0x99E3, - 0xC1FC, 0xBCEE, 0xC1FD, 0xBCEF, 0xC1FE, 0x99E4, 0xC1FF, 0x99E5, 0xC200, 0xBCF0, 0xC201, 0x99E6, 0xC202, 0x99E7, 0xC203, 0x99E8, - 0xC204, 0xBCF1, 0xC205, 0x99E9, 0xC206, 0x99EA, 0xC207, 0x99EB, 0xC208, 0x99EC, 0xC209, 0x99ED, 0xC20A, 0x99EE, 0xC20B, 0x99EF, - 0xC20C, 0xBCF2, 0xC20D, 0xBCF3, 0xC20E, 0x99F0, 0xC20F, 0xBCF4, 0xC210, 0x99F1, 0xC211, 0xBCF5, 0xC212, 0x99F2, 0xC213, 0x99F3, - 0xC214, 0x99F4, 0xC215, 0x99F5, 0xC216, 0x99F6, 0xC217, 0x99F7, 0xC218, 0xBCF6, 0xC219, 0xBCF7, 0xC21A, 0x99F8, 0xC21B, 0x99F9, - 0xC21C, 0xBCF8, 0xC21D, 0x99FA, 0xC21E, 0x99FB, 0xC21F, 0xBCF9, 0xC220, 0xBCFA, 0xC221, 0x99FC, 0xC222, 0x99FD, 0xC223, 0x99FE, - 0xC224, 0x9A41, 0xC225, 0x9A42, 0xC226, 0x9A43, 0xC227, 0x9A44, 0xC228, 0xBCFB, 0xC229, 0xBCFC, 0xC22A, 0x9A45, 0xC22B, 0xBCFD, - 0xC22C, 0x9A46, 0xC22D, 0xBCFE, 0xC22E, 0x9A47, 0xC22F, 0xBDA1, 0xC230, 0x9A48, 0xC231, 0xBDA2, 0xC232, 0xBDA3, 0xC233, 0x9A49, - 0xC234, 0xBDA4, 0xC235, 0x9A4A, 0xC236, 0x9A4B, 0xC237, 0x9A4C, 0xC238, 0x9A4D, 0xC239, 0x9A4E, 0xC23A, 0x9A4F, 0xC23B, 0x9A50, - 0xC23C, 0x9A51, 0xC23D, 0x9A52, 0xC23E, 0x9A53, 0xC23F, 0x9A54, 0xC240, 0x9A55, 0xC241, 0x9A56, 0xC242, 0x9A57, 0xC243, 0x9A58, - 0xC244, 0x9A59, 0xC245, 0x9A5A, 0xC246, 0x9A61, 0xC247, 0x9A62, 0xC248, 0xBDA5, 0xC249, 0x9A63, 0xC24A, 0x9A64, 0xC24B, 0x9A65, - 0xC24C, 0x9A66, 0xC24D, 0x9A67, 0xC24E, 0x9A68, 0xC24F, 0x9A69, 0xC250, 0xBDA6, 0xC251, 0xBDA7, 0xC252, 0x9A6A, 0xC253, 0x9A6B, - 0xC254, 0xBDA8, 0xC255, 0x9A6C, 0xC256, 0x9A6D, 0xC257, 0x9A6E, 0xC258, 0xBDA9, 0xC259, 0x9A6F, 0xC25A, 0x9A70, 0xC25B, 0x9A71, - 0xC25C, 0x9A72, 0xC25D, 0x9A73, 0xC25E, 0x9A74, 0xC25F, 0x9A75, 0xC260, 0xBDAA, 0xC261, 0x9A76, 0xC262, 0x9A77, 0xC263, 0x9A78, - 0xC264, 0x9A79, 0xC265, 0xBDAB, 0xC266, 0x9A7A, 0xC267, 0x9A81, 0xC268, 0x9A82, 0xC269, 0x9A83, 0xC26A, 0x9A84, 0xC26B, 0x9A85, - 0xC26C, 0xBDAC, 0xC26D, 0xBDAD, 0xC26E, 0x9A86, 0xC26F, 0x9A87, 0xC270, 0xBDAE, 0xC271, 0x9A88, 0xC272, 0x9A89, 0xC273, 0x9A8A, - 0xC274, 0xBDAF, 0xC275, 0x9A8B, 0xC276, 0x9A8C, 0xC277, 0x9A8D, 0xC278, 0x9A8E, 0xC279, 0x9A8F, 0xC27A, 0x9A90, 0xC27B, 0x9A91, - 0xC27C, 0xBDB0, 0xC27D, 0xBDB1, 0xC27E, 0x9A92, 0xC27F, 0xBDB2, 0xC280, 0x9A93, 0xC281, 0xBDB3, 0xC282, 0x9A94, 0xC283, 0x9A95, - 0xC284, 0x9A96, 0xC285, 0x9A97, 0xC286, 0x9A98, 0xC287, 0x9A99, 0xC288, 0xBDB4, 0xC289, 0xBDB5, 0xC28A, 0x9A9A, 0xC28B, 0x9A9B, - 0xC28C, 0x9A9C, 0xC28D, 0x9A9D, 0xC28E, 0x9A9E, 0xC28F, 0x9A9F, 0xC290, 0xBDB6, 0xC291, 0x9AA0, 0xC292, 0x9AA1, 0xC293, 0x9AA2, - 0xC294, 0x9AA3, 0xC295, 0x9AA4, 0xC296, 0x9AA5, 0xC297, 0x9AA6, 0xC298, 0xBDB7, 0xC299, 0x9AA7, 0xC29A, 0x9AA8, 0xC29B, 0xBDB8, - 0xC29C, 0x9AA9, 0xC29D, 0xBDB9, 0xC29E, 0x9AAA, 0xC29F, 0x9AAB, 0xC2A0, 0x9AAC, 0xC2A1, 0x9AAD, 0xC2A2, 0x9AAE, 0xC2A3, 0x9AAF, - 0xC2A4, 0xBDBA, 0xC2A5, 0xBDBB, 0xC2A6, 0x9AB0, 0xC2A7, 0x9AB1, 0xC2A8, 0xBDBC, 0xC2A9, 0x9AB2, 0xC2AA, 0x9AB3, 0xC2AB, 0x9AB4, - 0xC2AC, 0xBDBD, 0xC2AD, 0xBDBE, 0xC2AE, 0x9AB5, 0xC2AF, 0x9AB6, 0xC2B0, 0x9AB7, 0xC2B1, 0x9AB8, 0xC2B2, 0x9AB9, 0xC2B3, 0x9ABA, - 0xC2B4, 0xBDBF, 0xC2B5, 0xBDC0, 0xC2B6, 0x9ABB, 0xC2B7, 0xBDC1, 0xC2B8, 0x9ABC, 0xC2B9, 0xBDC2, 0xC2BA, 0x9ABD, 0xC2BB, 0x9ABE, - 0xC2BC, 0x9ABF, 0xC2BD, 0x9AC0, 0xC2BE, 0x9AC1, 0xC2BF, 0x9AC2, 0xC2C0, 0x9AC3, 0xC2C1, 0x9AC4, 0xC2C2, 0x9AC5, 0xC2C3, 0x9AC6, - 0xC2C4, 0x9AC7, 0xC2C5, 0x9AC8, 0xC2C6, 0x9AC9, 0xC2C7, 0x9ACA, 0xC2C8, 0x9ACB, 0xC2C9, 0x9ACC, 0xC2CA, 0x9ACD, 0xC2CB, 0x9ACE, - 0xC2CC, 0x9ACF, 0xC2CD, 0x9AD0, 0xC2CE, 0x9AD1, 0xC2CF, 0x9AD2, 0xC2D0, 0x9AD3, 0xC2D1, 0x9AD4, 0xC2D2, 0x9AD5, 0xC2D3, 0x9AD6, - 0xC2D4, 0x9AD7, 0xC2D5, 0x9AD8, 0xC2D6, 0x9AD9, 0xC2D7, 0x9ADA, 0xC2D8, 0x9ADB, 0xC2D9, 0x9ADC, 0xC2DA, 0x9ADD, 0xC2DB, 0x9ADE, - 0xC2DC, 0xBDC3, 0xC2DD, 0xBDC4, 0xC2DE, 0x9ADF, 0xC2DF, 0x9AE0, 0xC2E0, 0xBDC5, 0xC2E1, 0x9AE1, 0xC2E2, 0x9AE2, 0xC2E3, 0xBDC6, - 0xC2E4, 0xBDC7, 0xC2E5, 0x9AE3, 0xC2E6, 0x9AE4, 0xC2E7, 0x9AE5, 0xC2E8, 0x9AE6, 0xC2E9, 0x9AE7, 0xC2EA, 0x9AE8, 0xC2EB, 0xBDC8, - 0xC2EC, 0xBDC9, 0xC2ED, 0xBDCA, 0xC2EE, 0x9AE9, 0xC2EF, 0xBDCB, 0xC2F0, 0x9AEA, 0xC2F1, 0xBDCC, 0xC2F2, 0x9AEB, 0xC2F3, 0x9AEC, - 0xC2F4, 0x9AED, 0xC2F5, 0x9AEE, 0xC2F6, 0xBDCD, 0xC2F7, 0x9AEF, 0xC2F8, 0xBDCE, 0xC2F9, 0xBDCF, 0xC2FA, 0x9AF0, 0xC2FB, 0xBDD0, - 0xC2FC, 0xBDD1, 0xC2FD, 0x9AF1, 0xC2FE, 0x9AF2, 0xC2FF, 0x9AF3, 0xC300, 0xBDD2, 0xC301, 0x9AF4, 0xC302, 0x9AF5, 0xC303, 0x9AF6, - 0xC304, 0x9AF7, 0xC305, 0x9AF8, 0xC306, 0x9AF9, 0xC307, 0x9AFA, 0xC308, 0xBDD3, 0xC309, 0xBDD4, 0xC30A, 0x9AFB, 0xC30B, 0x9AFC, - 0xC30C, 0xBDD5, 0xC30D, 0xBDD6, 0xC30E, 0x9AFD, 0xC30F, 0x9AFE, 0xC310, 0x9B41, 0xC311, 0x9B42, 0xC312, 0x9B43, 0xC313, 0xBDD7, - 0xC314, 0xBDD8, 0xC315, 0xBDD9, 0xC316, 0x9B44, 0xC317, 0x9B45, 0xC318, 0xBDDA, 0xC319, 0x9B46, 0xC31A, 0x9B47, 0xC31B, 0x9B48, - 0xC31C, 0xBDDB, 0xC31D, 0x9B49, 0xC31E, 0x9B4A, 0xC31F, 0x9B4B, 0xC320, 0x9B4C, 0xC321, 0x9B4D, 0xC322, 0x9B4E, 0xC323, 0x9B4F, - 0xC324, 0xBDDC, 0xC325, 0xBDDD, 0xC326, 0x9B50, 0xC327, 0x9B51, 0xC328, 0xBDDE, 0xC329, 0xBDDF, 0xC32A, 0x9B52, 0xC32B, 0x9B53, - 0xC32C, 0x9B54, 0xC32D, 0x9B55, 0xC32E, 0x9B56, 0xC32F, 0x9B57, 0xC330, 0x9B58, 0xC331, 0x9B59, 0xC332, 0x9B5A, 0xC333, 0x9B61, - 0xC334, 0x9B62, 0xC335, 0x9B63, 0xC336, 0x9B64, 0xC337, 0x9B65, 0xC338, 0x9B66, 0xC339, 0x9B67, 0xC33A, 0x9B68, 0xC33B, 0x9B69, - 0xC33C, 0x9B6A, 0xC33D, 0x9B6B, 0xC33E, 0x9B6C, 0xC33F, 0x9B6D, 0xC340, 0x9B6E, 0xC341, 0x9B6F, 0xC342, 0x9B70, 0xC343, 0x9B71, - 0xC344, 0x9B72, 0xC345, 0xBDE0, 0xC346, 0x9B73, 0xC347, 0x9B74, 0xC348, 0x9B75, 0xC349, 0x9B76, 0xC34A, 0x9B77, 0xC34B, 0x9B78, - 0xC34C, 0x9B79, 0xC34D, 0x9B7A, 0xC34E, 0x9B81, 0xC34F, 0x9B82, 0xC350, 0x9B83, 0xC351, 0x9B84, 0xC352, 0x9B85, 0xC353, 0x9B86, - 0xC354, 0x9B87, 0xC355, 0x9B88, 0xC356, 0x9B89, 0xC357, 0x9B8A, 0xC358, 0x9B8B, 0xC359, 0x9B8C, 0xC35A, 0x9B8D, 0xC35B, 0x9B8E, - 0xC35C, 0x9B8F, 0xC35D, 0x9B90, 0xC35E, 0x9B91, 0xC35F, 0x9B92, 0xC360, 0x9B93, 0xC361, 0x9B94, 0xC362, 0x9B95, 0xC363, 0x9B96, - 0xC364, 0x9B97, 0xC365, 0x9B98, 0xC366, 0x9B99, 0xC367, 0x9B9A, 0xC368, 0xBDE1, 0xC369, 0xBDE2, 0xC36A, 0x9B9B, 0xC36B, 0x9B9C, - 0xC36C, 0xBDE3, 0xC36D, 0x9B9D, 0xC36E, 0x9B9E, 0xC36F, 0x9B9F, 0xC370, 0xBDE4, 0xC371, 0x9BA0, 0xC372, 0xBDE5, 0xC373, 0x9BA1, - 0xC374, 0x9BA2, 0xC375, 0x9BA3, 0xC376, 0x9BA4, 0xC377, 0x9BA5, 0xC378, 0xBDE6, 0xC379, 0xBDE7, 0xC37A, 0x9BA6, 0xC37B, 0x9BA7, - 0xC37C, 0xBDE8, 0xC37D, 0xBDE9, 0xC37E, 0x9BA8, 0xC37F, 0x9BA9, 0xC380, 0x9BAA, 0xC381, 0x9BAB, 0xC382, 0x9BAC, 0xC383, 0x9BAD, - 0xC384, 0xBDEA, 0xC385, 0x9BAE, 0xC386, 0x9BAF, 0xC387, 0x9BB0, 0xC388, 0xBDEB, 0xC389, 0x9BB1, 0xC38A, 0x9BB2, 0xC38B, 0x9BB3, - 0xC38C, 0xBDEC, 0xC38D, 0x9BB4, 0xC38E, 0x9BB5, 0xC38F, 0x9BB6, 0xC390, 0x9BB7, 0xC391, 0x9BB8, 0xC392, 0x9BB9, 0xC393, 0x9BBA, - 0xC394, 0x9BBB, 0xC395, 0x9BBC, 0xC396, 0x9BBD, 0xC397, 0x9BBE, 0xC398, 0x9BBF, 0xC399, 0x9BC0, 0xC39A, 0x9BC1, 0xC39B, 0x9BC2, - 0xC39C, 0x9BC3, 0xC39D, 0x9BC4, 0xC39E, 0x9BC5, 0xC39F, 0x9BC6, 0xC3A0, 0x9BC7, 0xC3A1, 0x9BC8, 0xC3A2, 0x9BC9, 0xC3A3, 0x9BCA, - 0xC3A4, 0x9BCB, 0xC3A5, 0x9BCC, 0xC3A6, 0x9BCD, 0xC3A7, 0x9BCE, 0xC3A8, 0x9BCF, 0xC3A9, 0x9BD0, 0xC3AA, 0x9BD1, 0xC3AB, 0x9BD2, - 0xC3AC, 0x9BD3, 0xC3AD, 0x9BD4, 0xC3AE, 0x9BD5, 0xC3AF, 0x9BD6, 0xC3B0, 0x9BD7, 0xC3B1, 0x9BD8, 0xC3B2, 0x9BD9, 0xC3B3, 0x9BDA, - 0xC3B4, 0x9BDB, 0xC3B5, 0x9BDC, 0xC3B6, 0x9BDD, 0xC3B7, 0x9BDE, 0xC3B8, 0x9BDF, 0xC3B9, 0x9BE0, 0xC3BA, 0x9BE1, 0xC3BB, 0x9BE2, - 0xC3BC, 0x9BE3, 0xC3BD, 0x9BE4, 0xC3BE, 0x9BE5, 0xC3BF, 0x9BE6, 0xC3C0, 0xBDED, 0xC3C1, 0x9BE7, 0xC3C2, 0x9BE8, 0xC3C3, 0x9BE9, - 0xC3C4, 0x9BEA, 0xC3C5, 0x9BEB, 0xC3C6, 0x9BEC, 0xC3C7, 0x9BED, 0xC3C8, 0x9BEE, 0xC3C9, 0x9BEF, 0xC3CA, 0x9BF0, 0xC3CB, 0x9BF1, - 0xC3CC, 0x9BF2, 0xC3CD, 0x9BF3, 0xC3CE, 0x9BF4, 0xC3CF, 0x9BF5, 0xC3D0, 0x9BF6, 0xC3D1, 0x9BF7, 0xC3D2, 0x9BF8, 0xC3D3, 0x9BF9, - 0xC3D4, 0x9BFA, 0xC3D5, 0x9BFB, 0xC3D6, 0x9BFC, 0xC3D7, 0x9BFD, 0xC3D8, 0xBDEE, 0xC3D9, 0xBDEF, 0xC3DA, 0x9BFE, 0xC3DB, 0x9C41, - 0xC3DC, 0xBDF0, 0xC3DD, 0x9C42, 0xC3DE, 0x9C43, 0xC3DF, 0xBDF1, 0xC3E0, 0xBDF2, 0xC3E1, 0x9C44, 0xC3E2, 0xBDF3, 0xC3E3, 0x9C45, - 0xC3E4, 0x9C46, 0xC3E5, 0x9C47, 0xC3E6, 0x9C48, 0xC3E7, 0x9C49, 0xC3E8, 0xBDF4, 0xC3E9, 0xBDF5, 0xC3EA, 0x9C4A, 0xC3EB, 0x9C4B, - 0xC3EC, 0x9C4C, 0xC3ED, 0xBDF6, 0xC3EE, 0x9C4D, 0xC3EF, 0x9C4E, 0xC3F0, 0x9C4F, 0xC3F1, 0x9C50, 0xC3F2, 0x9C51, 0xC3F3, 0x9C52, - 0xC3F4, 0xBDF7, 0xC3F5, 0xBDF8, 0xC3F6, 0x9C53, 0xC3F7, 0x9C54, 0xC3F8, 0xBDF9, 0xC3F9, 0x9C55, 0xC3FA, 0x9C56, 0xC3FB, 0x9C57, - 0xC3FC, 0x9C58, 0xC3FD, 0x9C59, 0xC3FE, 0x9C5A, 0xC3FF, 0x9C61, 0xC400, 0x9C62, 0xC401, 0x9C63, 0xC402, 0x9C64, 0xC403, 0x9C65, - 0xC404, 0x9C66, 0xC405, 0x9C67, 0xC406, 0x9C68, 0xC407, 0x9C69, 0xC408, 0xBDFA, 0xC409, 0x9C6A, 0xC40A, 0x9C6B, 0xC40B, 0x9C6C, - 0xC40C, 0x9C6D, 0xC40D, 0x9C6E, 0xC40E, 0x9C6F, 0xC40F, 0x9C70, 0xC410, 0xBDFB, 0xC411, 0x9C71, 0xC412, 0x9C72, 0xC413, 0x9C73, - 0xC414, 0x9C74, 0xC415, 0x9C75, 0xC416, 0x9C76, 0xC417, 0x9C77, 0xC418, 0x9C78, 0xC419, 0x9C79, 0xC41A, 0x9C7A, 0xC41B, 0x9C81, - 0xC41C, 0x9C82, 0xC41D, 0x9C83, 0xC41E, 0x9C84, 0xC41F, 0x9C85, 0xC420, 0x9C86, 0xC421, 0x9C87, 0xC422, 0x9C88, 0xC423, 0x9C89, - 0xC424, 0xBDFC, 0xC425, 0x9C8A, 0xC426, 0x9C8B, 0xC427, 0x9C8C, 0xC428, 0x9C8D, 0xC429, 0x9C8E, 0xC42A, 0x9C8F, 0xC42B, 0x9C90, - 0xC42C, 0xBDFD, 0xC42D, 0x9C91, 0xC42E, 0x9C92, 0xC42F, 0x9C93, 0xC430, 0xBDFE, 0xC431, 0x9C94, 0xC432, 0x9C95, 0xC433, 0x9C96, - 0xC434, 0xBEA1, 0xC435, 0x9C97, 0xC436, 0x9C98, 0xC437, 0x9C99, 0xC438, 0x9C9A, 0xC439, 0x9C9B, 0xC43A, 0x9C9C, 0xC43B, 0x9C9D, - 0xC43C, 0xBEA2, 0xC43D, 0xBEA3, 0xC43E, 0x9C9E, 0xC43F, 0x9C9F, 0xC440, 0x9CA0, 0xC441, 0x9CA1, 0xC442, 0x9CA2, 0xC443, 0x9CA3, - 0xC444, 0x9CA4, 0xC445, 0x9CA5, 0xC446, 0x9CA6, 0xC447, 0x9CA7, 0xC448, 0xBEA4, 0xC449, 0x9CA8, 0xC44A, 0x9CA9, 0xC44B, 0x9CAA, - 0xC44C, 0x9CAB, 0xC44D, 0x9CAC, 0xC44E, 0x9CAD, 0xC44F, 0x9CAE, 0xC450, 0x9CAF, 0xC451, 0x9CB0, 0xC452, 0x9CB1, 0xC453, 0x9CB2, - 0xC454, 0x9CB3, 0xC455, 0x9CB4, 0xC456, 0x9CB5, 0xC457, 0x9CB6, 0xC458, 0x9CB7, 0xC459, 0x9CB8, 0xC45A, 0x9CB9, 0xC45B, 0x9CBA, - 0xC45C, 0x9CBB, 0xC45D, 0x9CBC, 0xC45E, 0x9CBD, 0xC45F, 0x9CBE, 0xC460, 0x9CBF, 0xC461, 0x9CC0, 0xC462, 0x9CC1, 0xC463, 0x9CC2, - 0xC464, 0xBEA5, 0xC465, 0xBEA6, 0xC466, 0x9CC3, 0xC467, 0x9CC4, 0xC468, 0xBEA7, 0xC469, 0x9CC5, 0xC46A, 0x9CC6, 0xC46B, 0x9CC7, - 0xC46C, 0xBEA8, 0xC46D, 0x9CC8, 0xC46E, 0x9CC9, 0xC46F, 0x9CCA, 0xC470, 0x9CCB, 0xC471, 0x9CCC, 0xC472, 0x9CCD, 0xC473, 0x9CCE, - 0xC474, 0xBEA9, 0xC475, 0xBEAA, 0xC476, 0x9CCF, 0xC477, 0x9CD0, 0xC478, 0x9CD1, 0xC479, 0xBEAB, 0xC47A, 0x9CD2, 0xC47B, 0x9CD3, - 0xC47C, 0x9CD4, 0xC47D, 0x9CD5, 0xC47E, 0x9CD6, 0xC47F, 0x9CD7, 0xC480, 0xBEAC, 0xC481, 0x9CD8, 0xC482, 0x9CD9, 0xC483, 0x9CDA, - 0xC484, 0x9CDB, 0xC485, 0x9CDC, 0xC486, 0x9CDD, 0xC487, 0x9CDE, 0xC488, 0x9CDF, 0xC489, 0x9CE0, 0xC48A, 0x9CE1, 0xC48B, 0x9CE2, - 0xC48C, 0x9CE3, 0xC48D, 0x9CE4, 0xC48E, 0x9CE5, 0xC48F, 0x9CE6, 0xC490, 0x9CE7, 0xC491, 0x9CE8, 0xC492, 0x9CE9, 0xC493, 0x9CEA, - 0xC494, 0xBEAD, 0xC495, 0x9CEB, 0xC496, 0x9CEC, 0xC497, 0x9CED, 0xC498, 0x9CEE, 0xC499, 0x9CEF, 0xC49A, 0x9CF0, 0xC49B, 0x9CF1, - 0xC49C, 0xBEAE, 0xC49D, 0x9CF2, 0xC49E, 0x9CF3, 0xC49F, 0x9CF4, 0xC4A0, 0x9CF5, 0xC4A1, 0x9CF6, 0xC4A2, 0x9CF7, 0xC4A3, 0x9CF8, - 0xC4A4, 0x9CF9, 0xC4A5, 0x9CFA, 0xC4A6, 0x9CFB, 0xC4A7, 0x9CFC, 0xC4A8, 0x9CFD, 0xC4A9, 0x9CFE, 0xC4AA, 0x9D41, 0xC4AB, 0x9D42, - 0xC4AC, 0x9D43, 0xC4AD, 0x9D44, 0xC4AE, 0x9D45, 0xC4AF, 0x9D46, 0xC4B0, 0x9D47, 0xC4B1, 0x9D48, 0xC4B2, 0x9D49, 0xC4B3, 0x9D4A, - 0xC4B4, 0x9D4B, 0xC4B5, 0x9D4C, 0xC4B6, 0x9D4D, 0xC4B7, 0x9D4E, 0xC4B8, 0xBEAF, 0xC4B9, 0x9D4F, 0xC4BA, 0x9D50, 0xC4BB, 0x9D51, - 0xC4BC, 0xBEB0, 0xC4BD, 0x9D52, 0xC4BE, 0x9D53, 0xC4BF, 0x9D54, 0xC4C0, 0x9D55, 0xC4C1, 0x9D56, 0xC4C2, 0x9D57, 0xC4C3, 0x9D58, - 0xC4C4, 0x9D59, 0xC4C5, 0x9D5A, 0xC4C6, 0x9D61, 0xC4C7, 0x9D62, 0xC4C8, 0x9D63, 0xC4C9, 0x9D64, 0xC4CA, 0x9D65, 0xC4CB, 0x9D66, - 0xC4CC, 0x9D67, 0xC4CD, 0x9D68, 0xC4CE, 0x9D69, 0xC4CF, 0x9D6A, 0xC4D0, 0x9D6B, 0xC4D1, 0x9D6C, 0xC4D2, 0x9D6D, 0xC4D3, 0x9D6E, - 0xC4D4, 0x9D6F, 0xC4D5, 0x9D70, 0xC4D6, 0x9D71, 0xC4D7, 0x9D72, 0xC4D8, 0x9D73, 0xC4D9, 0x9D74, 0xC4DA, 0x9D75, 0xC4DB, 0x9D76, - 0xC4DC, 0x9D77, 0xC4DD, 0x9D78, 0xC4DE, 0x9D79, 0xC4DF, 0x9D7A, 0xC4E0, 0x9D81, 0xC4E1, 0x9D82, 0xC4E2, 0x9D83, 0xC4E3, 0x9D84, - 0xC4E4, 0x9D85, 0xC4E5, 0x9D86, 0xC4E6, 0x9D87, 0xC4E7, 0x9D88, 0xC4E8, 0x9D89, 0xC4E9, 0xBEB1, 0xC4EA, 0x9D8A, 0xC4EB, 0x9D8B, - 0xC4EC, 0x9D8C, 0xC4ED, 0x9D8D, 0xC4EE, 0x9D8E, 0xC4EF, 0x9D8F, 0xC4F0, 0xBEB2, 0xC4F1, 0xBEB3, 0xC4F2, 0x9D90, 0xC4F3, 0x9D91, - 0xC4F4, 0xBEB4, 0xC4F5, 0x9D92, 0xC4F6, 0x9D93, 0xC4F7, 0x9D94, 0xC4F8, 0xBEB5, 0xC4F9, 0x9D95, 0xC4FA, 0xBEB6, 0xC4FB, 0x9D96, - 0xC4FC, 0x9D97, 0xC4FD, 0x9D98, 0xC4FE, 0x9D99, 0xC4FF, 0xBEB7, 0xC500, 0xBEB8, 0xC501, 0xBEB9, 0xC502, 0x9D9A, 0xC503, 0x9D9B, - 0xC504, 0x9D9C, 0xC505, 0x9D9D, 0xC506, 0x9D9E, 0xC507, 0x9D9F, 0xC508, 0x9DA0, 0xC509, 0x9DA1, 0xC50A, 0x9DA2, 0xC50B, 0x9DA3, - 0xC50C, 0xBEBA, 0xC50D, 0x9DA4, 0xC50E, 0x9DA5, 0xC50F, 0x9DA6, 0xC510, 0xBEBB, 0xC511, 0x9DA7, 0xC512, 0x9DA8, 0xC513, 0x9DA9, - 0xC514, 0xBEBC, 0xC515, 0x9DAA, 0xC516, 0x9DAB, 0xC517, 0x9DAC, 0xC518, 0x9DAD, 0xC519, 0x9DAE, 0xC51A, 0x9DAF, 0xC51B, 0x9DB0, - 0xC51C, 0xBEBD, 0xC51D, 0x9DB1, 0xC51E, 0x9DB2, 0xC51F, 0x9DB3, 0xC520, 0x9DB4, 0xC521, 0x9DB5, 0xC522, 0x9DB6, 0xC523, 0x9DB7, - 0xC524, 0x9DB8, 0xC525, 0x9DB9, 0xC526, 0x9DBA, 0xC527, 0x9DBB, 0xC528, 0xBEBE, 0xC529, 0xBEBF, 0xC52A, 0x9DBC, 0xC52B, 0x9DBD, - 0xC52C, 0xBEC0, 0xC52D, 0x9DBE, 0xC52E, 0x9DBF, 0xC52F, 0x9DC0, 0xC530, 0xBEC1, 0xC531, 0x9DC1, 0xC532, 0x9DC2, 0xC533, 0x9DC3, - 0xC534, 0x9DC4, 0xC535, 0x9DC5, 0xC536, 0x9DC6, 0xC537, 0x9DC7, 0xC538, 0xBEC2, 0xC539, 0xBEC3, 0xC53A, 0x9DC8, 0xC53B, 0xBEC4, - 0xC53C, 0x9DC9, 0xC53D, 0xBEC5, 0xC53E, 0x9DCA, 0xC53F, 0x9DCB, 0xC540, 0x9DCC, 0xC541, 0x9DCD, 0xC542, 0x9DCE, 0xC543, 0x9DCF, - 0xC544, 0xBEC6, 0xC545, 0xBEC7, 0xC546, 0x9DD0, 0xC547, 0x9DD1, 0xC548, 0xBEC8, 0xC549, 0xBEC9, 0xC54A, 0xBECA, 0xC54B, 0x9DD2, - 0xC54C, 0xBECB, 0xC54D, 0xBECC, 0xC54E, 0xBECD, 0xC54F, 0x9DD3, 0xC550, 0x9DD4, 0xC551, 0x9DD5, 0xC552, 0x9DD6, 0xC553, 0xBECE, - 0xC554, 0xBECF, 0xC555, 0xBED0, 0xC556, 0x9DD7, 0xC557, 0xBED1, 0xC558, 0xBED2, 0xC559, 0xBED3, 0xC55A, 0x9DD8, 0xC55B, 0x9DD9, - 0xC55C, 0x9DDA, 0xC55D, 0xBED4, 0xC55E, 0xBED5, 0xC55F, 0x9DDB, 0xC560, 0xBED6, 0xC561, 0xBED7, 0xC562, 0x9DDC, 0xC563, 0x9DDD, - 0xC564, 0xBED8, 0xC565, 0x9DDE, 0xC566, 0x9DDF, 0xC567, 0x9DE0, 0xC568, 0xBED9, 0xC569, 0x9DE1, 0xC56A, 0x9DE2, 0xC56B, 0x9DE3, - 0xC56C, 0x9DE4, 0xC56D, 0x9DE5, 0xC56E, 0x9DE6, 0xC56F, 0x9DE7, 0xC570, 0xBEDA, 0xC571, 0xBEDB, 0xC572, 0x9DE8, 0xC573, 0xBEDC, - 0xC574, 0xBEDD, 0xC575, 0xBEDE, 0xC576, 0x9DE9, 0xC577, 0x9DEA, 0xC578, 0x9DEB, 0xC579, 0x9DEC, 0xC57A, 0x9DED, 0xC57B, 0x9DEE, - 0xC57C, 0xBEDF, 0xC57D, 0xBEE0, 0xC57E, 0x9DEF, 0xC57F, 0x9DF0, 0xC580, 0xBEE1, 0xC581, 0x9DF1, 0xC582, 0x9DF2, 0xC583, 0x9DF3, - 0xC584, 0xBEE2, 0xC585, 0x9DF4, 0xC586, 0x9DF5, 0xC587, 0xBEE3, 0xC588, 0x9DF6, 0xC589, 0x9DF7, 0xC58A, 0x9DF8, 0xC58B, 0x9DF9, - 0xC58C, 0xBEE4, 0xC58D, 0xBEE5, 0xC58E, 0x9DFA, 0xC58F, 0xBEE6, 0xC590, 0x9DFB, 0xC591, 0xBEE7, 0xC592, 0x9DFC, 0xC593, 0x9DFD, - 0xC594, 0x9DFE, 0xC595, 0xBEE8, 0xC596, 0x9E41, 0xC597, 0xBEE9, 0xC598, 0xBEEA, 0xC599, 0x9E42, 0xC59A, 0x9E43, 0xC59B, 0x9E44, - 0xC59C, 0xBEEB, 0xC59D, 0x9E45, 0xC59E, 0x9E46, 0xC59F, 0x9E47, 0xC5A0, 0xBEEC, 0xC5A1, 0x9E48, 0xC5A2, 0x9E49, 0xC5A3, 0x9E4A, - 0xC5A4, 0x9E4B, 0xC5A5, 0x9E4C, 0xC5A6, 0x9E4D, 0xC5A7, 0x9E4E, 0xC5A8, 0x9E4F, 0xC5A9, 0xBEED, 0xC5AA, 0x9E50, 0xC5AB, 0x9E51, - 0xC5AC, 0x9E52, 0xC5AD, 0x9E53, 0xC5AE, 0x9E54, 0xC5AF, 0x9E55, 0xC5B0, 0x9E56, 0xC5B1, 0x9E57, 0xC5B2, 0x9E58, 0xC5B3, 0x9E59, - 0xC5B4, 0xBEEE, 0xC5B5, 0xBEEF, 0xC5B6, 0x9E5A, 0xC5B7, 0x9E61, 0xC5B8, 0xBEF0, 0xC5B9, 0xBEF1, 0xC5BA, 0x9E62, 0xC5BB, 0xBEF2, - 0xC5BC, 0xBEF3, 0xC5BD, 0xBEF4, 0xC5BE, 0xBEF5, 0xC5BF, 0x9E63, 0xC5C0, 0x9E64, 0xC5C1, 0x9E65, 0xC5C2, 0x9E66, 0xC5C3, 0x9E67, - 0xC5C4, 0xBEF6, 0xC5C5, 0xBEF7, 0xC5C6, 0xBEF8, 0xC5C7, 0xBEF9, 0xC5C8, 0xBEFA, 0xC5C9, 0xBEFB, 0xC5CA, 0xBEFC, 0xC5CB, 0x9E68, - 0xC5CC, 0xBEFD, 0xC5CD, 0x9E69, 0xC5CE, 0xBEFE, 0xC5CF, 0x9E6A, 0xC5D0, 0xBFA1, 0xC5D1, 0xBFA2, 0xC5D2, 0x9E6B, 0xC5D3, 0x9E6C, - 0xC5D4, 0xBFA3, 0xC5D5, 0x9E6D, 0xC5D6, 0x9E6E, 0xC5D7, 0x9E6F, 0xC5D8, 0xBFA4, 0xC5D9, 0x9E70, 0xC5DA, 0x9E71, 0xC5DB, 0x9E72, - 0xC5DC, 0x9E73, 0xC5DD, 0x9E74, 0xC5DE, 0x9E75, 0xC5DF, 0x9E76, 0xC5E0, 0xBFA5, 0xC5E1, 0xBFA6, 0xC5E2, 0x9E77, 0xC5E3, 0xBFA7, - 0xC5E4, 0x9E78, 0xC5E5, 0xBFA8, 0xC5E6, 0x9E79, 0xC5E7, 0x9E7A, 0xC5E8, 0x9E81, 0xC5E9, 0x9E82, 0xC5EA, 0x9E83, 0xC5EB, 0x9E84, - 0xC5EC, 0xBFA9, 0xC5ED, 0xBFAA, 0xC5EE, 0xBFAB, 0xC5EF, 0x9E85, 0xC5F0, 0xBFAC, 0xC5F1, 0x9E86, 0xC5F2, 0x9E87, 0xC5F3, 0x9E88, - 0xC5F4, 0xBFAD, 0xC5F5, 0x9E89, 0xC5F6, 0xBFAE, 0xC5F7, 0xBFAF, 0xC5F8, 0x9E8A, 0xC5F9, 0x9E8B, 0xC5FA, 0x9E8C, 0xC5FB, 0x9E8D, - 0xC5FC, 0xBFB0, 0xC5FD, 0xBFB1, 0xC5FE, 0xBFB2, 0xC5FF, 0xBFB3, 0xC600, 0xBFB4, 0xC601, 0xBFB5, 0xC602, 0x9E8E, 0xC603, 0x9E8F, - 0xC604, 0x9E90, 0xC605, 0xBFB6, 0xC606, 0xBFB7, 0xC607, 0xBFB8, 0xC608, 0xBFB9, 0xC609, 0x9E91, 0xC60A, 0x9E92, 0xC60B, 0x9E93, - 0xC60C, 0xBFBA, 0xC60D, 0x9E94, 0xC60E, 0x9E95, 0xC60F, 0x9E96, 0xC610, 0xBFBB, 0xC611, 0x9E97, 0xC612, 0x9E98, 0xC613, 0x9E99, - 0xC614, 0x9E9A, 0xC615, 0x9E9B, 0xC616, 0x9E9C, 0xC617, 0x9E9D, 0xC618, 0xBFBC, 0xC619, 0xBFBD, 0xC61A, 0x9E9E, 0xC61B, 0xBFBE, - 0xC61C, 0xBFBF, 0xC61D, 0x9E9F, 0xC61E, 0x9EA0, 0xC61F, 0x9EA1, 0xC620, 0x9EA2, 0xC621, 0x9EA3, 0xC622, 0x9EA4, 0xC623, 0x9EA5, - 0xC624, 0xBFC0, 0xC625, 0xBFC1, 0xC626, 0x9EA6, 0xC627, 0x9EA7, 0xC628, 0xBFC2, 0xC629, 0x9EA8, 0xC62A, 0x9EA9, 0xC62B, 0x9EAA, - 0xC62C, 0xBFC3, 0xC62D, 0xBFC4, 0xC62E, 0xBFC5, 0xC62F, 0x9EAB, 0xC630, 0xBFC6, 0xC631, 0x9EAC, 0xC632, 0x9EAD, 0xC633, 0xBFC7, - 0xC634, 0xBFC8, 0xC635, 0xBFC9, 0xC636, 0x9EAE, 0xC637, 0xBFCA, 0xC638, 0x9EAF, 0xC639, 0xBFCB, 0xC63A, 0x9EB0, 0xC63B, 0xBFCC, - 0xC63C, 0x9EB1, 0xC63D, 0x9EB2, 0xC63E, 0x9EB3, 0xC63F, 0x9EB4, 0xC640, 0xBFCD, 0xC641, 0xBFCE, 0xC642, 0x9EB5, 0xC643, 0x9EB6, - 0xC644, 0xBFCF, 0xC645, 0x9EB7, 0xC646, 0x9EB8, 0xC647, 0x9EB9, 0xC648, 0xBFD0, 0xC649, 0x9EBA, 0xC64A, 0x9EBB, 0xC64B, 0x9EBC, - 0xC64C, 0x9EBD, 0xC64D, 0x9EBE, 0xC64E, 0x9EBF, 0xC64F, 0x9EC0, 0xC650, 0xBFD1, 0xC651, 0xBFD2, 0xC652, 0x9EC1, 0xC653, 0xBFD3, - 0xC654, 0xBFD4, 0xC655, 0xBFD5, 0xC656, 0x9EC2, 0xC657, 0x9EC3, 0xC658, 0x9EC4, 0xC659, 0x9EC5, 0xC65A, 0x9EC6, 0xC65B, 0x9EC7, - 0xC65C, 0xBFD6, 0xC65D, 0xBFD7, 0xC65E, 0x9EC8, 0xC65F, 0x9EC9, 0xC660, 0xBFD8, 0xC661, 0x9ECA, 0xC662, 0x9ECB, 0xC663, 0x9ECC, - 0xC664, 0x9ECD, 0xC665, 0x9ECE, 0xC666, 0x9ECF, 0xC667, 0x9ED0, 0xC668, 0x9ED1, 0xC669, 0x9ED2, 0xC66A, 0x9ED3, 0xC66B, 0x9ED4, - 0xC66C, 0xBFD9, 0xC66D, 0x9ED5, 0xC66E, 0x9ED6, 0xC66F, 0xBFDA, 0xC670, 0x9ED7, 0xC671, 0xBFDB, 0xC672, 0x9ED8, 0xC673, 0x9ED9, - 0xC674, 0x9EDA, 0xC675, 0x9EDB, 0xC676, 0x9EDC, 0xC677, 0x9EDD, 0xC678, 0xBFDC, 0xC679, 0xBFDD, 0xC67A, 0x9EDE, 0xC67B, 0x9EDF, - 0xC67C, 0xBFDE, 0xC67D, 0x9EE0, 0xC67E, 0x9EE1, 0xC67F, 0x9EE2, 0xC680, 0xBFDF, 0xC681, 0x9EE3, 0xC682, 0x9EE4, 0xC683, 0x9EE5, - 0xC684, 0x9EE6, 0xC685, 0x9EE7, 0xC686, 0x9EE8, 0xC687, 0x9EE9, 0xC688, 0xBFE0, 0xC689, 0xBFE1, 0xC68A, 0x9EEA, 0xC68B, 0xBFE2, - 0xC68C, 0x9EEB, 0xC68D, 0xBFE3, 0xC68E, 0x9EEC, 0xC68F, 0x9EED, 0xC690, 0x9EEE, 0xC691, 0x9EEF, 0xC692, 0x9EF0, 0xC693, 0x9EF1, - 0xC694, 0xBFE4, 0xC695, 0xBFE5, 0xC696, 0x9EF2, 0xC697, 0x9EF3, 0xC698, 0xBFE6, 0xC699, 0x9EF4, 0xC69A, 0x9EF5, 0xC69B, 0x9EF6, - 0xC69C, 0xBFE7, 0xC69D, 0x9EF7, 0xC69E, 0x9EF8, 0xC69F, 0x9EF9, 0xC6A0, 0x9EFA, 0xC6A1, 0x9EFB, 0xC6A2, 0x9EFC, 0xC6A3, 0x9EFD, - 0xC6A4, 0xBFE8, 0xC6A5, 0xBFE9, 0xC6A6, 0x9EFE, 0xC6A7, 0xBFEA, 0xC6A8, 0x9F41, 0xC6A9, 0xBFEB, 0xC6AA, 0x9F42, 0xC6AB, 0x9F43, - 0xC6AC, 0x9F44, 0xC6AD, 0x9F45, 0xC6AE, 0x9F46, 0xC6AF, 0x9F47, 0xC6B0, 0xBFEC, 0xC6B1, 0xBFED, 0xC6B2, 0x9F48, 0xC6B3, 0x9F49, - 0xC6B4, 0xBFEE, 0xC6B5, 0x9F4A, 0xC6B6, 0x9F4B, 0xC6B7, 0x9F4C, 0xC6B8, 0xBFEF, 0xC6B9, 0xBFF0, 0xC6BA, 0xBFF1, 0xC6BB, 0x9F4D, - 0xC6BC, 0x9F4E, 0xC6BD, 0x9F4F, 0xC6BE, 0x9F50, 0xC6BF, 0x9F51, 0xC6C0, 0xBFF2, 0xC6C1, 0xBFF3, 0xC6C2, 0x9F52, 0xC6C3, 0xBFF4, - 0xC6C4, 0x9F53, 0xC6C5, 0xBFF5, 0xC6C6, 0x9F54, 0xC6C7, 0x9F55, 0xC6C8, 0x9F56, 0xC6C9, 0x9F57, 0xC6CA, 0x9F58, 0xC6CB, 0x9F59, - 0xC6CC, 0xBFF6, 0xC6CD, 0xBFF7, 0xC6CE, 0x9F5A, 0xC6CF, 0x9F61, 0xC6D0, 0xBFF8, 0xC6D1, 0x9F62, 0xC6D2, 0x9F63, 0xC6D3, 0x9F64, - 0xC6D4, 0xBFF9, 0xC6D5, 0x9F65, 0xC6D6, 0x9F66, 0xC6D7, 0x9F67, 0xC6D8, 0x9F68, 0xC6D9, 0x9F69, 0xC6DA, 0x9F6A, 0xC6DB, 0x9F6B, - 0xC6DC, 0xBFFA, 0xC6DD, 0xBFFB, 0xC6DE, 0x9F6C, 0xC6DF, 0x9F6D, 0xC6E0, 0xBFFC, 0xC6E1, 0xBFFD, 0xC6E2, 0x9F6E, 0xC6E3, 0x9F6F, - 0xC6E4, 0x9F70, 0xC6E5, 0x9F71, 0xC6E6, 0x9F72, 0xC6E7, 0x9F73, 0xC6E8, 0xBFFE, 0xC6E9, 0xC0A1, 0xC6EA, 0x9F74, 0xC6EB, 0x9F75, - 0xC6EC, 0xC0A2, 0xC6ED, 0x9F76, 0xC6EE, 0x9F77, 0xC6EF, 0x9F78, 0xC6F0, 0xC0A3, 0xC6F1, 0x9F79, 0xC6F2, 0x9F7A, 0xC6F3, 0x9F81, - 0xC6F4, 0x9F82, 0xC6F5, 0x9F83, 0xC6F6, 0x9F84, 0xC6F7, 0x9F85, 0xC6F8, 0xC0A4, 0xC6F9, 0xC0A5, 0xC6FA, 0x9F86, 0xC6FB, 0x9F87, - 0xC6FC, 0x9F88, 0xC6FD, 0xC0A6, 0xC6FE, 0x9F89, 0xC6FF, 0x9F8A, 0xC700, 0x9F8B, 0xC701, 0x9F8C, 0xC702, 0x9F8D, 0xC703, 0x9F8E, - 0xC704, 0xC0A7, 0xC705, 0xC0A8, 0xC706, 0x9F8F, 0xC707, 0x9F90, 0xC708, 0xC0A9, 0xC709, 0x9F91, 0xC70A, 0x9F92, 0xC70B, 0x9F93, - 0xC70C, 0xC0AA, 0xC70D, 0x9F94, 0xC70E, 0x9F95, 0xC70F, 0x9F96, 0xC710, 0x9F97, 0xC711, 0x9F98, 0xC712, 0x9F99, 0xC713, 0x9F9A, - 0xC714, 0xC0AB, 0xC715, 0xC0AC, 0xC716, 0x9F9B, 0xC717, 0xC0AD, 0xC718, 0x9F9C, 0xC719, 0xC0AE, 0xC71A, 0x9F9D, 0xC71B, 0x9F9E, - 0xC71C, 0x9F9F, 0xC71D, 0x9FA0, 0xC71E, 0x9FA1, 0xC71F, 0x9FA2, 0xC720, 0xC0AF, 0xC721, 0xC0B0, 0xC722, 0x9FA3, 0xC723, 0x9FA4, - 0xC724, 0xC0B1, 0xC725, 0x9FA5, 0xC726, 0x9FA6, 0xC727, 0x9FA7, 0xC728, 0xC0B2, 0xC729, 0x9FA8, 0xC72A, 0x9FA9, 0xC72B, 0x9FAA, - 0xC72C, 0x9FAB, 0xC72D, 0x9FAC, 0xC72E, 0x9FAD, 0xC72F, 0x9FAE, 0xC730, 0xC0B3, 0xC731, 0xC0B4, 0xC732, 0x9FAF, 0xC733, 0xC0B5, - 0xC734, 0x9FB0, 0xC735, 0xC0B6, 0xC736, 0x9FB1, 0xC737, 0xC0B7, 0xC738, 0x9FB2, 0xC739, 0x9FB3, 0xC73A, 0x9FB4, 0xC73B, 0x9FB5, - 0xC73C, 0xC0B8, 0xC73D, 0xC0B9, 0xC73E, 0x9FB6, 0xC73F, 0x9FB7, 0xC740, 0xC0BA, 0xC741, 0x9FB8, 0xC742, 0x9FB9, 0xC743, 0x9FBA, - 0xC744, 0xC0BB, 0xC745, 0x9FBB, 0xC746, 0x9FBC, 0xC747, 0x9FBD, 0xC748, 0x9FBE, 0xC749, 0x9FBF, 0xC74A, 0xC0BC, 0xC74B, 0x9FC0, - 0xC74C, 0xC0BD, 0xC74D, 0xC0BE, 0xC74E, 0x9FC1, 0xC74F, 0xC0BF, 0xC750, 0x9FC2, 0xC751, 0xC0C0, 0xC752, 0xC0C1, 0xC753, 0xC0C2, - 0xC754, 0xC0C3, 0xC755, 0xC0C4, 0xC756, 0xC0C5, 0xC757, 0xC0C6, 0xC758, 0xC0C7, 0xC759, 0x9FC3, 0xC75A, 0x9FC4, 0xC75B, 0x9FC5, - 0xC75C, 0xC0C8, 0xC75D, 0x9FC6, 0xC75E, 0x9FC7, 0xC75F, 0x9FC8, 0xC760, 0xC0C9, 0xC761, 0x9FC9, 0xC762, 0x9FCA, 0xC763, 0x9FCB, - 0xC764, 0x9FCC, 0xC765, 0x9FCD, 0xC766, 0x9FCE, 0xC767, 0x9FCF, 0xC768, 0xC0CA, 0xC769, 0x9FD0, 0xC76A, 0x9FD1, 0xC76B, 0xC0CB, - 0xC76C, 0x9FD2, 0xC76D, 0x9FD3, 0xC76E, 0x9FD4, 0xC76F, 0x9FD5, 0xC770, 0x9FD6, 0xC771, 0x9FD7, 0xC772, 0x9FD8, 0xC773, 0x9FD9, - 0xC774, 0xC0CC, 0xC775, 0xC0CD, 0xC776, 0x9FDA, 0xC777, 0x9FDB, 0xC778, 0xC0CE, 0xC779, 0x9FDC, 0xC77A, 0x9FDD, 0xC77B, 0x9FDE, - 0xC77C, 0xC0CF, 0xC77D, 0xC0D0, 0xC77E, 0xC0D1, 0xC77F, 0x9FDF, 0xC780, 0x9FE0, 0xC781, 0x9FE1, 0xC782, 0x9FE2, 0xC783, 0xC0D2, - 0xC784, 0xC0D3, 0xC785, 0xC0D4, 0xC786, 0x9FE3, 0xC787, 0xC0D5, 0xC788, 0xC0D6, 0xC789, 0xC0D7, 0xC78A, 0xC0D8, 0xC78B, 0x9FE4, - 0xC78C, 0x9FE5, 0xC78D, 0x9FE6, 0xC78E, 0xC0D9, 0xC78F, 0x9FE7, 0xC790, 0xC0DA, 0xC791, 0xC0DB, 0xC792, 0x9FE8, 0xC793, 0x9FE9, - 0xC794, 0xC0DC, 0xC795, 0x9FEA, 0xC796, 0xC0DD, 0xC797, 0xC0DE, 0xC798, 0xC0DF, 0xC799, 0x9FEB, 0xC79A, 0xC0E0, 0xC79B, 0x9FEC, - 0xC79C, 0x9FED, 0xC79D, 0x9FEE, 0xC79E, 0x9FEF, 0xC79F, 0x9FF0, 0xC7A0, 0xC0E1, 0xC7A1, 0xC0E2, 0xC7A2, 0x9FF1, 0xC7A3, 0xC0E3, - 0xC7A4, 0xC0E4, 0xC7A5, 0xC0E5, 0xC7A6, 0xC0E6, 0xC7A7, 0x9FF2, 0xC7A8, 0x9FF3, 0xC7A9, 0x9FF4, 0xC7AA, 0x9FF5, 0xC7AB, 0x9FF6, - 0xC7AC, 0xC0E7, 0xC7AD, 0xC0E8, 0xC7AE, 0x9FF7, 0xC7AF, 0x9FF8, 0xC7B0, 0xC0E9, 0xC7B1, 0x9FF9, 0xC7B2, 0x9FFA, 0xC7B3, 0x9FFB, - 0xC7B4, 0xC0EA, 0xC7B5, 0x9FFC, 0xC7B6, 0x9FFD, 0xC7B7, 0x9FFE, 0xC7B8, 0xA041, 0xC7B9, 0xA042, 0xC7BA, 0xA043, 0xC7BB, 0xA044, - 0xC7BC, 0xC0EB, 0xC7BD, 0xC0EC, 0xC7BE, 0xA045, 0xC7BF, 0xC0ED, 0xC7C0, 0xC0EE, 0xC7C1, 0xC0EF, 0xC7C2, 0xA046, 0xC7C3, 0xA047, - 0xC7C4, 0xA048, 0xC7C5, 0xA049, 0xC7C6, 0xA04A, 0xC7C7, 0xA04B, 0xC7C8, 0xC0F0, 0xC7C9, 0xC0F1, 0xC7CA, 0xA04C, 0xC7CB, 0xA04D, - 0xC7CC, 0xC0F2, 0xC7CD, 0xA04E, 0xC7CE, 0xC0F3, 0xC7CF, 0xA04F, 0xC7D0, 0xC0F4, 0xC7D1, 0xA050, 0xC7D2, 0xA051, 0xC7D3, 0xA052, - 0xC7D4, 0xA053, 0xC7D5, 0xA054, 0xC7D6, 0xA055, 0xC7D7, 0xA056, 0xC7D8, 0xC0F5, 0xC7D9, 0xA057, 0xC7DA, 0xA058, 0xC7DB, 0xA059, - 0xC7DC, 0xA05A, 0xC7DD, 0xC0F6, 0xC7DE, 0xA061, 0xC7DF, 0xA062, 0xC7E0, 0xA063, 0xC7E1, 0xA064, 0xC7E2, 0xA065, 0xC7E3, 0xA066, - 0xC7E4, 0xC0F7, 0xC7E5, 0xA067, 0xC7E6, 0xA068, 0xC7E7, 0xA069, 0xC7E8, 0xC0F8, 0xC7E9, 0xA06A, 0xC7EA, 0xA06B, 0xC7EB, 0xA06C, - 0xC7EC, 0xC0F9, 0xC7ED, 0xA06D, 0xC7EE, 0xA06E, 0xC7EF, 0xA06F, 0xC7F0, 0xA070, 0xC7F1, 0xA071, 0xC7F2, 0xA072, 0xC7F3, 0xA073, - 0xC7F4, 0xA074, 0xC7F5, 0xA075, 0xC7F6, 0xA076, 0xC7F7, 0xA077, 0xC7F8, 0xA078, 0xC7F9, 0xA079, 0xC7FA, 0xA07A, 0xC7FB, 0xA081, - 0xC7FC, 0xA082, 0xC7FD, 0xA083, 0xC7FE, 0xA084, 0xC7FF, 0xA085, 0xC800, 0xC0FA, 0xC801, 0xC0FB, 0xC802, 0xA086, 0xC803, 0xA087, - 0xC804, 0xC0FC, 0xC805, 0xA088, 0xC806, 0xA089, 0xC807, 0xA08A, 0xC808, 0xC0FD, 0xC809, 0xA08B, 0xC80A, 0xC0FE, 0xC80B, 0xA08C, - 0xC80C, 0xA08D, 0xC80D, 0xA08E, 0xC80E, 0xA08F, 0xC80F, 0xA090, 0xC810, 0xC1A1, 0xC811, 0xC1A2, 0xC812, 0xA091, 0xC813, 0xC1A3, - 0xC814, 0xA092, 0xC815, 0xC1A4, 0xC816, 0xC1A5, 0xC817, 0xA093, 0xC818, 0xA094, 0xC819, 0xA095, 0xC81A, 0xA096, 0xC81B, 0xA097, - 0xC81C, 0xC1A6, 0xC81D, 0xC1A7, 0xC81E, 0xA098, 0xC81F, 0xA099, 0xC820, 0xC1A8, 0xC821, 0xA09A, 0xC822, 0xA09B, 0xC823, 0xA09C, - 0xC824, 0xC1A9, 0xC825, 0xA09D, 0xC826, 0xA09E, 0xC827, 0xA09F, 0xC828, 0xA0A0, 0xC829, 0xA0A1, 0xC82A, 0xA0A2, 0xC82B, 0xA0A3, - 0xC82C, 0xC1AA, 0xC82D, 0xC1AB, 0xC82E, 0xA0A4, 0xC82F, 0xC1AC, 0xC830, 0xA0A5, 0xC831, 0xC1AD, 0xC832, 0xA0A6, 0xC833, 0xA0A7, - 0xC834, 0xA0A8, 0xC835, 0xA0A9, 0xC836, 0xA0AA, 0xC837, 0xA0AB, 0xC838, 0xC1AE, 0xC839, 0xA0AC, 0xC83A, 0xA0AD, 0xC83B, 0xA0AE, - 0xC83C, 0xC1AF, 0xC83D, 0xA0AF, 0xC83E, 0xA0B0, 0xC83F, 0xA0B1, 0xC840, 0xC1B0, 0xC841, 0xA0B2, 0xC842, 0xA0B3, 0xC843, 0xA0B4, - 0xC844, 0xA0B5, 0xC845, 0xA0B6, 0xC846, 0xA0B7, 0xC847, 0xA0B8, 0xC848, 0xC1B1, 0xC849, 0xC1B2, 0xC84A, 0xA0B9, 0xC84B, 0xA0BA, - 0xC84C, 0xC1B3, 0xC84D, 0xC1B4, 0xC84E, 0xA0BB, 0xC84F, 0xA0BC, 0xC850, 0xA0BD, 0xC851, 0xA0BE, 0xC852, 0xA0BF, 0xC853, 0xA0C0, - 0xC854, 0xC1B5, 0xC855, 0xA0C1, 0xC856, 0xA0C2, 0xC857, 0xA0C3, 0xC858, 0xA0C4, 0xC859, 0xA0C5, 0xC85A, 0xA0C6, 0xC85B, 0xA0C7, - 0xC85C, 0xA0C8, 0xC85D, 0xA0C9, 0xC85E, 0xA0CA, 0xC85F, 0xA0CB, 0xC860, 0xA0CC, 0xC861, 0xA0CD, 0xC862, 0xA0CE, 0xC863, 0xA0CF, - 0xC864, 0xA0D0, 0xC865, 0xA0D1, 0xC866, 0xA0D2, 0xC867, 0xA0D3, 0xC868, 0xA0D4, 0xC869, 0xA0D5, 0xC86A, 0xA0D6, 0xC86B, 0xA0D7, - 0xC86C, 0xA0D8, 0xC86D, 0xA0D9, 0xC86E, 0xA0DA, 0xC86F, 0xA0DB, 0xC870, 0xC1B6, 0xC871, 0xC1B7, 0xC872, 0xA0DC, 0xC873, 0xA0DD, - 0xC874, 0xC1B8, 0xC875, 0xA0DE, 0xC876, 0xA0DF, 0xC877, 0xA0E0, 0xC878, 0xC1B9, 0xC879, 0xA0E1, 0xC87A, 0xC1BA, 0xC87B, 0xA0E2, - 0xC87C, 0xA0E3, 0xC87D, 0xA0E4, 0xC87E, 0xA0E5, 0xC87F, 0xA0E6, 0xC880, 0xC1BB, 0xC881, 0xC1BC, 0xC882, 0xA0E7, 0xC883, 0xC1BD, - 0xC884, 0xA0E8, 0xC885, 0xC1BE, 0xC886, 0xC1BF, 0xC887, 0xC1C0, 0xC888, 0xA0E9, 0xC889, 0xA0EA, 0xC88A, 0xA0EB, 0xC88B, 0xC1C1, - 0xC88C, 0xC1C2, 0xC88D, 0xC1C3, 0xC88E, 0xA0EC, 0xC88F, 0xA0ED, 0xC890, 0xA0EE, 0xC891, 0xA0EF, 0xC892, 0xA0F0, 0xC893, 0xA0F1, - 0xC894, 0xC1C4, 0xC895, 0xA0F2, 0xC896, 0xA0F3, 0xC897, 0xA0F4, 0xC898, 0xA0F5, 0xC899, 0xA0F6, 0xC89A, 0xA0F7, 0xC89B, 0xA0F8, - 0xC89C, 0xA0F9, 0xC89D, 0xC1C5, 0xC89E, 0xA0FA, 0xC89F, 0xC1C6, 0xC8A0, 0xA0FB, 0xC8A1, 0xC1C7, 0xC8A2, 0xA0FC, 0xC8A3, 0xA0FD, - 0xC8A4, 0xA0FE, 0xC8A5, 0xA141, 0xC8A6, 0xA142, 0xC8A7, 0xA143, 0xC8A8, 0xC1C8, 0xC8A9, 0xA144, 0xC8AA, 0xA145, 0xC8AB, 0xA146, - 0xC8AC, 0xA147, 0xC8AD, 0xA148, 0xC8AE, 0xA149, 0xC8AF, 0xA14A, 0xC8B0, 0xA14B, 0xC8B1, 0xA14C, 0xC8B2, 0xA14D, 0xC8B3, 0xA14E, - 0xC8B4, 0xA14F, 0xC8B5, 0xA150, 0xC8B6, 0xA151, 0xC8B7, 0xA152, 0xC8B8, 0xA153, 0xC8B9, 0xA154, 0xC8BA, 0xA155, 0xC8BB, 0xA156, - 0xC8BC, 0xC1C9, 0xC8BD, 0xC1CA, 0xC8BE, 0xA157, 0xC8BF, 0xA158, 0xC8C0, 0xA159, 0xC8C1, 0xA15A, 0xC8C2, 0xA161, 0xC8C3, 0xA162, - 0xC8C4, 0xC1CB, 0xC8C5, 0xA163, 0xC8C6, 0xA164, 0xC8C7, 0xA165, 0xC8C8, 0xC1CC, 0xC8C9, 0xA166, 0xC8CA, 0xA167, 0xC8CB, 0xA168, - 0xC8CC, 0xC1CD, 0xC8CD, 0xA169, 0xC8CE, 0xA16A, 0xC8CF, 0xA16B, 0xC8D0, 0xA16C, 0xC8D1, 0xA16D, 0xC8D2, 0xA16E, 0xC8D3, 0xA16F, - 0xC8D4, 0xC1CE, 0xC8D5, 0xC1CF, 0xC8D6, 0xA170, 0xC8D7, 0xC1D0, 0xC8D8, 0xA171, 0xC8D9, 0xC1D1, 0xC8DA, 0xA172, 0xC8DB, 0xA173, - 0xC8DC, 0xA174, 0xC8DD, 0xA175, 0xC8DE, 0xA176, 0xC8DF, 0xA177, 0xC8E0, 0xC1D2, 0xC8E1, 0xC1D3, 0xC8E2, 0xA178, 0xC8E3, 0xA179, - 0xC8E4, 0xC1D4, 0xC8E5, 0xA17A, 0xC8E6, 0xA181, 0xC8E7, 0xA182, 0xC8E8, 0xA183, 0xC8E9, 0xA184, 0xC8EA, 0xA185, 0xC8EB, 0xA186, - 0xC8EC, 0xA187, 0xC8ED, 0xA188, 0xC8EE, 0xA189, 0xC8EF, 0xA18A, 0xC8F0, 0xA18B, 0xC8F1, 0xA18C, 0xC8F2, 0xA18D, 0xC8F3, 0xA18E, - 0xC8F4, 0xA18F, 0xC8F5, 0xC1D5, 0xC8F6, 0xA190, 0xC8F7, 0xA191, 0xC8F8, 0xA192, 0xC8F9, 0xA193, 0xC8FA, 0xA194, 0xC8FB, 0xA195, - 0xC8FC, 0xC1D6, 0xC8FD, 0xC1D7, 0xC8FE, 0xA196, 0xC8FF, 0xA197, 0xC900, 0xC1D8, 0xC901, 0xA198, 0xC902, 0xA199, 0xC903, 0xA19A, - 0xC904, 0xC1D9, 0xC905, 0xC1DA, 0xC906, 0xC1DB, 0xC907, 0xA19B, 0xC908, 0xA19C, 0xC909, 0xA19D, 0xC90A, 0xA19E, 0xC90B, 0xA19F, - 0xC90C, 0xC1DC, 0xC90D, 0xC1DD, 0xC90E, 0xA1A0, 0xC90F, 0xC1DE, 0xC910, 0xA241, 0xC911, 0xC1DF, 0xC912, 0xA242, 0xC913, 0xA243, - 0xC914, 0xA244, 0xC915, 0xA245, 0xC916, 0xA246, 0xC917, 0xA247, 0xC918, 0xC1E0, 0xC919, 0xA248, 0xC91A, 0xA249, 0xC91B, 0xA24A, - 0xC91C, 0xA24B, 0xC91D, 0xA24C, 0xC91E, 0xA24D, 0xC91F, 0xA24E, 0xC920, 0xA24F, 0xC921, 0xA250, 0xC922, 0xA251, 0xC923, 0xA252, - 0xC924, 0xA253, 0xC925, 0xA254, 0xC926, 0xA255, 0xC927, 0xA256, 0xC928, 0xA257, 0xC929, 0xA258, 0xC92A, 0xA259, 0xC92B, 0xA25A, - 0xC92C, 0xC1E1, 0xC92D, 0xA261, 0xC92E, 0xA262, 0xC92F, 0xA263, 0xC930, 0xA264, 0xC931, 0xA265, 0xC932, 0xA266, 0xC933, 0xA267, - 0xC934, 0xC1E2, 0xC935, 0xA268, 0xC936, 0xA269, 0xC937, 0xA26A, 0xC938, 0xA26B, 0xC939, 0xA26C, 0xC93A, 0xA26D, 0xC93B, 0xA26E, - 0xC93C, 0xA26F, 0xC93D, 0xA270, 0xC93E, 0xA271, 0xC93F, 0xA272, 0xC940, 0xA273, 0xC941, 0xA274, 0xC942, 0xA275, 0xC943, 0xA276, - 0xC944, 0xA277, 0xC945, 0xA278, 0xC946, 0xA279, 0xC947, 0xA27A, 0xC948, 0xA281, 0xC949, 0xA282, 0xC94A, 0xA283, 0xC94B, 0xA284, - 0xC94C, 0xA285, 0xC94D, 0xA286, 0xC94E, 0xA287, 0xC94F, 0xA288, 0xC950, 0xC1E3, 0xC951, 0xC1E4, 0xC952, 0xA289, 0xC953, 0xA28A, - 0xC954, 0xC1E5, 0xC955, 0xA28B, 0xC956, 0xA28C, 0xC957, 0xA28D, 0xC958, 0xC1E6, 0xC959, 0xA28E, 0xC95A, 0xA28F, 0xC95B, 0xA290, - 0xC95C, 0xA291, 0xC95D, 0xA292, 0xC95E, 0xA293, 0xC95F, 0xA294, 0xC960, 0xC1E7, 0xC961, 0xC1E8, 0xC962, 0xA295, 0xC963, 0xC1E9, - 0xC964, 0xA296, 0xC965, 0xA297, 0xC966, 0xA298, 0xC967, 0xA299, 0xC968, 0xA29A, 0xC969, 0xA29B, 0xC96A, 0xA29C, 0xC96B, 0xA29D, - 0xC96C, 0xC1EA, 0xC96D, 0xA29E, 0xC96E, 0xA29F, 0xC96F, 0xA2A0, 0xC970, 0xC1EB, 0xC971, 0xA341, 0xC972, 0xA342, 0xC973, 0xA343, - 0xC974, 0xC1EC, 0xC975, 0xA344, 0xC976, 0xA345, 0xC977, 0xA346, 0xC978, 0xA347, 0xC979, 0xA348, 0xC97A, 0xA349, 0xC97B, 0xA34A, - 0xC97C, 0xC1ED, 0xC97D, 0xA34B, 0xC97E, 0xA34C, 0xC97F, 0xA34D, 0xC980, 0xA34E, 0xC981, 0xA34F, 0xC982, 0xA350, 0xC983, 0xA351, - 0xC984, 0xA352, 0xC985, 0xA353, 0xC986, 0xA354, 0xC987, 0xA355, 0xC988, 0xC1EE, 0xC989, 0xC1EF, 0xC98A, 0xA356, 0xC98B, 0xA357, - 0xC98C, 0xC1F0, 0xC98D, 0xA358, 0xC98E, 0xA359, 0xC98F, 0xA35A, 0xC990, 0xC1F1, 0xC991, 0xA361, 0xC992, 0xA362, 0xC993, 0xA363, - 0xC994, 0xA364, 0xC995, 0xA365, 0xC996, 0xA366, 0xC997, 0xA367, 0xC998, 0xC1F2, 0xC999, 0xC1F3, 0xC99A, 0xA368, 0xC99B, 0xC1F4, - 0xC99C, 0xA369, 0xC99D, 0xC1F5, 0xC99E, 0xA36A, 0xC99F, 0xA36B, 0xC9A0, 0xA36C, 0xC9A1, 0xA36D, 0xC9A2, 0xA36E, 0xC9A3, 0xA36F, - 0xC9A4, 0xA370, 0xC9A5, 0xA371, 0xC9A6, 0xA372, 0xC9A7, 0xA373, 0xC9A8, 0xA374, 0xC9A9, 0xA375, 0xC9AA, 0xA376, 0xC9AB, 0xA377, - 0xC9AC, 0xA378, 0xC9AD, 0xA379, 0xC9AE, 0xA37A, 0xC9AF, 0xA381, 0xC9B0, 0xA382, 0xC9B1, 0xA383, 0xC9B2, 0xA384, 0xC9B3, 0xA385, - 0xC9B4, 0xA386, 0xC9B5, 0xA387, 0xC9B6, 0xA388, 0xC9B7, 0xA389, 0xC9B8, 0xA38A, 0xC9B9, 0xA38B, 0xC9BA, 0xA38C, 0xC9BB, 0xA38D, - 0xC9BC, 0xA38E, 0xC9BD, 0xA38F, 0xC9BE, 0xA390, 0xC9BF, 0xA391, 0xC9C0, 0xC1F6, 0xC9C1, 0xC1F7, 0xC9C2, 0xA392, 0xC9C3, 0xA393, - 0xC9C4, 0xC1F8, 0xC9C5, 0xA394, 0xC9C6, 0xA395, 0xC9C7, 0xC1F9, 0xC9C8, 0xC1FA, 0xC9C9, 0xA396, 0xC9CA, 0xC1FB, 0xC9CB, 0xA397, - 0xC9CC, 0xA398, 0xC9CD, 0xA399, 0xC9CE, 0xA39A, 0xC9CF, 0xA39B, 0xC9D0, 0xC1FC, 0xC9D1, 0xC1FD, 0xC9D2, 0xA39C, 0xC9D3, 0xC1FE, - 0xC9D4, 0xA39D, 0xC9D5, 0xC2A1, 0xC9D6, 0xC2A2, 0xC9D7, 0xA39E, 0xC9D8, 0xA39F, 0xC9D9, 0xC2A3, 0xC9DA, 0xC2A4, 0xC9DB, 0xA3A0, - 0xC9DC, 0xC2A5, 0xC9DD, 0xC2A6, 0xC9DE, 0xA441, 0xC9DF, 0xA442, 0xC9E0, 0xC2A7, 0xC9E1, 0xA443, 0xC9E2, 0xC2A8, 0xC9E3, 0xA444, - 0xC9E4, 0xC2A9, 0xC9E5, 0xA445, 0xC9E6, 0xA446, 0xC9E7, 0xC2AA, 0xC9E8, 0xA447, 0xC9E9, 0xA448, 0xC9EA, 0xA449, 0xC9EB, 0xA44A, - 0xC9EC, 0xC2AB, 0xC9ED, 0xC2AC, 0xC9EE, 0xA44B, 0xC9EF, 0xC2AD, 0xC9F0, 0xC2AE, 0xC9F1, 0xC2AF, 0xC9F2, 0xA44C, 0xC9F3, 0xA44D, - 0xC9F4, 0xA44E, 0xC9F5, 0xA44F, 0xC9F6, 0xA450, 0xC9F7, 0xA451, 0xC9F8, 0xC2B0, 0xC9F9, 0xC2B1, 0xC9FA, 0xA452, 0xC9FB, 0xA453, - 0xC9FC, 0xC2B2, 0xC9FD, 0xA454, 0xC9FE, 0xA455, 0xC9FF, 0xA456, 0xCA00, 0xC2B3, 0xCA01, 0xA457, 0xCA02, 0xA458, 0xCA03, 0xA459, - 0xCA04, 0xA45A, 0xCA05, 0xA461, 0xCA06, 0xA462, 0xCA07, 0xA463, 0xCA08, 0xC2B4, 0xCA09, 0xC2B5, 0xCA0A, 0xA464, 0xCA0B, 0xC2B6, - 0xCA0C, 0xC2B7, 0xCA0D, 0xC2B8, 0xCA0E, 0xA465, 0xCA0F, 0xA466, 0xCA10, 0xA467, 0xCA11, 0xA468, 0xCA12, 0xA469, 0xCA13, 0xA46A, - 0xCA14, 0xC2B9, 0xCA15, 0xA46B, 0xCA16, 0xA46C, 0xCA17, 0xA46D, 0xCA18, 0xC2BA, 0xCA19, 0xA46E, 0xCA1A, 0xA46F, 0xCA1B, 0xA470, - 0xCA1C, 0xA471, 0xCA1D, 0xA472, 0xCA1E, 0xA473, 0xCA1F, 0xA474, 0xCA20, 0xA475, 0xCA21, 0xA476, 0xCA22, 0xA477, 0xCA23, 0xA478, - 0xCA24, 0xA479, 0xCA25, 0xA47A, 0xCA26, 0xA481, 0xCA27, 0xA482, 0xCA28, 0xA483, 0xCA29, 0xC2BB, 0xCA2A, 0xA484, 0xCA2B, 0xA485, - 0xCA2C, 0xA486, 0xCA2D, 0xA487, 0xCA2E, 0xA488, 0xCA2F, 0xA489, 0xCA30, 0xA48A, 0xCA31, 0xA48B, 0xCA32, 0xA48C, 0xCA33, 0xA48D, - 0xCA34, 0xA48E, 0xCA35, 0xA48F, 0xCA36, 0xA490, 0xCA37, 0xA491, 0xCA38, 0xA492, 0xCA39, 0xA493, 0xCA3A, 0xA494, 0xCA3B, 0xA495, - 0xCA3C, 0xA496, 0xCA3D, 0xA497, 0xCA3E, 0xA498, 0xCA3F, 0xA499, 0xCA40, 0xA49A, 0xCA41, 0xA49B, 0xCA42, 0xA49C, 0xCA43, 0xA49D, - 0xCA44, 0xA49E, 0xCA45, 0xA49F, 0xCA46, 0xA4A0, 0xCA47, 0xA541, 0xCA48, 0xA542, 0xCA49, 0xA543, 0xCA4A, 0xA544, 0xCA4B, 0xA545, - 0xCA4C, 0xC2BC, 0xCA4D, 0xC2BD, 0xCA4E, 0xA546, 0xCA4F, 0xA547, 0xCA50, 0xC2BE, 0xCA51, 0xA548, 0xCA52, 0xA549, 0xCA53, 0xA54A, - 0xCA54, 0xC2BF, 0xCA55, 0xA54B, 0xCA56, 0xA54C, 0xCA57, 0xA54D, 0xCA58, 0xA54E, 0xCA59, 0xA54F, 0xCA5A, 0xA550, 0xCA5B, 0xA551, - 0xCA5C, 0xC2C0, 0xCA5D, 0xC2C1, 0xCA5E, 0xA552, 0xCA5F, 0xC2C2, 0xCA60, 0xC2C3, 0xCA61, 0xC2C4, 0xCA62, 0xA553, 0xCA63, 0xA554, - 0xCA64, 0xA555, 0xCA65, 0xA556, 0xCA66, 0xA557, 0xCA67, 0xA558, 0xCA68, 0xC2C5, 0xCA69, 0xA559, 0xCA6A, 0xA55A, 0xCA6B, 0xA561, - 0xCA6C, 0xA562, 0xCA6D, 0xA563, 0xCA6E, 0xA564, 0xCA6F, 0xA565, 0xCA70, 0xA566, 0xCA71, 0xA567, 0xCA72, 0xA568, 0xCA73, 0xA569, - 0xCA74, 0xA56A, 0xCA75, 0xA56B, 0xCA76, 0xA56C, 0xCA77, 0xA56D, 0xCA78, 0xA56E, 0xCA79, 0xA56F, 0xCA7A, 0xA570, 0xCA7B, 0xA571, - 0xCA7C, 0xA572, 0xCA7D, 0xC2C6, 0xCA7E, 0xA573, 0xCA7F, 0xA574, 0xCA80, 0xA575, 0xCA81, 0xA576, 0xCA82, 0xA577, 0xCA83, 0xA578, - 0xCA84, 0xC2C7, 0xCA85, 0xA579, 0xCA86, 0xA57A, 0xCA87, 0xA581, 0xCA88, 0xA582, 0xCA89, 0xA583, 0xCA8A, 0xA584, 0xCA8B, 0xA585, - 0xCA8C, 0xA586, 0xCA8D, 0xA587, 0xCA8E, 0xA588, 0xCA8F, 0xA589, 0xCA90, 0xA58A, 0xCA91, 0xA58B, 0xCA92, 0xA58C, 0xCA93, 0xA58D, - 0xCA94, 0xA58E, 0xCA95, 0xA58F, 0xCA96, 0xA590, 0xCA97, 0xA591, 0xCA98, 0xC2C8, 0xCA99, 0xA592, 0xCA9A, 0xA593, 0xCA9B, 0xA594, - 0xCA9C, 0xA595, 0xCA9D, 0xA596, 0xCA9E, 0xA597, 0xCA9F, 0xA598, 0xCAA0, 0xA599, 0xCAA1, 0xA59A, 0xCAA2, 0xA59B, 0xCAA3, 0xA59C, - 0xCAA4, 0xA59D, 0xCAA5, 0xA59E, 0xCAA6, 0xA59F, 0xCAA7, 0xA5A0, 0xCAA8, 0xA641, 0xCAA9, 0xA642, 0xCAAA, 0xA643, 0xCAAB, 0xA644, - 0xCAAC, 0xA645, 0xCAAD, 0xA646, 0xCAAE, 0xA647, 0xCAAF, 0xA648, 0xCAB0, 0xA649, 0xCAB1, 0xA64A, 0xCAB2, 0xA64B, 0xCAB3, 0xA64C, - 0xCAB4, 0xA64D, 0xCAB5, 0xA64E, 0xCAB6, 0xA64F, 0xCAB7, 0xA650, 0xCAB8, 0xA651, 0xCAB9, 0xA652, 0xCABA, 0xA653, 0xCABB, 0xA654, - 0xCABC, 0xC2C9, 0xCABD, 0xC2CA, 0xCABE, 0xA655, 0xCABF, 0xA656, 0xCAC0, 0xC2CB, 0xCAC1, 0xA657, 0xCAC2, 0xA658, 0xCAC3, 0xA659, - 0xCAC4, 0xC2CC, 0xCAC5, 0xA65A, 0xCAC6, 0xA661, 0xCAC7, 0xA662, 0xCAC8, 0xA663, 0xCAC9, 0xA664, 0xCACA, 0xA665, 0xCACB, 0xA666, - 0xCACC, 0xC2CD, 0xCACD, 0xC2CE, 0xCACE, 0xA667, 0xCACF, 0xC2CF, 0xCAD0, 0xA668, 0xCAD1, 0xC2D0, 0xCAD2, 0xA669, 0xCAD3, 0xC2D1, - 0xCAD4, 0xA66A, 0xCAD5, 0xA66B, 0xCAD6, 0xA66C, 0xCAD7, 0xA66D, 0xCAD8, 0xC2D2, 0xCAD9, 0xC2D3, 0xCADA, 0xA66E, 0xCADB, 0xA66F, - 0xCADC, 0xA670, 0xCADD, 0xA671, 0xCADE, 0xA672, 0xCADF, 0xA673, 0xCAE0, 0xC2D4, 0xCAE1, 0xA674, 0xCAE2, 0xA675, 0xCAE3, 0xA676, - 0xCAE4, 0xA677, 0xCAE5, 0xA678, 0xCAE6, 0xA679, 0xCAE7, 0xA67A, 0xCAE8, 0xA681, 0xCAE9, 0xA682, 0xCAEA, 0xA683, 0xCAEB, 0xA684, - 0xCAEC, 0xC2D5, 0xCAED, 0xA685, 0xCAEE, 0xA686, 0xCAEF, 0xA687, 0xCAF0, 0xA688, 0xCAF1, 0xA689, 0xCAF2, 0xA68A, 0xCAF3, 0xA68B, - 0xCAF4, 0xC2D6, 0xCAF5, 0xA68C, 0xCAF6, 0xA68D, 0xCAF7, 0xA68E, 0xCAF8, 0xA68F, 0xCAF9, 0xA690, 0xCAFA, 0xA691, 0xCAFB, 0xA692, - 0xCAFC, 0xA693, 0xCAFD, 0xA694, 0xCAFE, 0xA695, 0xCAFF, 0xA696, 0xCB00, 0xA697, 0xCB01, 0xA698, 0xCB02, 0xA699, 0xCB03, 0xA69A, - 0xCB04, 0xA69B, 0xCB05, 0xA69C, 0xCB06, 0xA69D, 0xCB07, 0xA69E, 0xCB08, 0xC2D7, 0xCB09, 0xA69F, 0xCB0A, 0xA6A0, 0xCB0B, 0xA741, - 0xCB0C, 0xA742, 0xCB0D, 0xA743, 0xCB0E, 0xA744, 0xCB0F, 0xA745, 0xCB10, 0xC2D8, 0xCB11, 0xA746, 0xCB12, 0xA747, 0xCB13, 0xA748, - 0xCB14, 0xC2D9, 0xCB15, 0xA749, 0xCB16, 0xA74A, 0xCB17, 0xA74B, 0xCB18, 0xC2DA, 0xCB19, 0xA74C, 0xCB1A, 0xA74D, 0xCB1B, 0xA74E, - 0xCB1C, 0xA74F, 0xCB1D, 0xA750, 0xCB1E, 0xA751, 0xCB1F, 0xA752, 0xCB20, 0xC2DB, 0xCB21, 0xC2DC, 0xCB22, 0xA753, 0xCB23, 0xA754, - 0xCB24, 0xA755, 0xCB25, 0xA756, 0xCB26, 0xA757, 0xCB27, 0xA758, 0xCB28, 0xA759, 0xCB29, 0xA75A, 0xCB2A, 0xA761, 0xCB2B, 0xA762, - 0xCB2C, 0xA763, 0xCB2D, 0xA764, 0xCB2E, 0xA765, 0xCB2F, 0xA766, 0xCB30, 0xA767, 0xCB31, 0xA768, 0xCB32, 0xA769, 0xCB33, 0xA76A, - 0xCB34, 0xA76B, 0xCB35, 0xA76C, 0xCB36, 0xA76D, 0xCB37, 0xA76E, 0xCB38, 0xA76F, 0xCB39, 0xA770, 0xCB3A, 0xA771, 0xCB3B, 0xA772, - 0xCB3C, 0xA773, 0xCB3D, 0xA774, 0xCB3E, 0xA775, 0xCB3F, 0xA776, 0xCB40, 0xA777, 0xCB41, 0xC2DD, 0xCB42, 0xA778, 0xCB43, 0xA779, - 0xCB44, 0xA77A, 0xCB45, 0xA781, 0xCB46, 0xA782, 0xCB47, 0xA783, 0xCB48, 0xC2DE, 0xCB49, 0xC2DF, 0xCB4A, 0xA784, 0xCB4B, 0xA785, - 0xCB4C, 0xC2E0, 0xCB4D, 0xA786, 0xCB4E, 0xA787, 0xCB4F, 0xA788, 0xCB50, 0xC2E1, 0xCB51, 0xA789, 0xCB52, 0xA78A, 0xCB53, 0xA78B, - 0xCB54, 0xA78C, 0xCB55, 0xA78D, 0xCB56, 0xA78E, 0xCB57, 0xA78F, 0xCB58, 0xC2E2, 0xCB59, 0xC2E3, 0xCB5A, 0xA790, 0xCB5B, 0xA791, - 0xCB5C, 0xA792, 0xCB5D, 0xC2E4, 0xCB5E, 0xA793, 0xCB5F, 0xA794, 0xCB60, 0xA795, 0xCB61, 0xA796, 0xCB62, 0xA797, 0xCB63, 0xA798, - 0xCB64, 0xC2E5, 0xCB65, 0xA799, 0xCB66, 0xA79A, 0xCB67, 0xA79B, 0xCB68, 0xA79C, 0xCB69, 0xA79D, 0xCB6A, 0xA79E, 0xCB6B, 0xA79F, - 0xCB6C, 0xA7A0, 0xCB6D, 0xA841, 0xCB6E, 0xA842, 0xCB6F, 0xA843, 0xCB70, 0xA844, 0xCB71, 0xA845, 0xCB72, 0xA846, 0xCB73, 0xA847, - 0xCB74, 0xA848, 0xCB75, 0xA849, 0xCB76, 0xA84A, 0xCB77, 0xA84B, 0xCB78, 0xC2E6, 0xCB79, 0xC2E7, 0xCB7A, 0xA84C, 0xCB7B, 0xA84D, - 0xCB7C, 0xA84E, 0xCB7D, 0xA84F, 0xCB7E, 0xA850, 0xCB7F, 0xA851, 0xCB80, 0xA852, 0xCB81, 0xA853, 0xCB82, 0xA854, 0xCB83, 0xA855, - 0xCB84, 0xA856, 0xCB85, 0xA857, 0xCB86, 0xA858, 0xCB87, 0xA859, 0xCB88, 0xA85A, 0xCB89, 0xA861, 0xCB8A, 0xA862, 0xCB8B, 0xA863, - 0xCB8C, 0xA864, 0xCB8D, 0xA865, 0xCB8E, 0xA866, 0xCB8F, 0xA867, 0xCB90, 0xA868, 0xCB91, 0xA869, 0xCB92, 0xA86A, 0xCB93, 0xA86B, - 0xCB94, 0xA86C, 0xCB95, 0xA86D, 0xCB96, 0xA86E, 0xCB97, 0xA86F, 0xCB98, 0xA870, 0xCB99, 0xA871, 0xCB9A, 0xA872, 0xCB9B, 0xA873, - 0xCB9C, 0xC2E8, 0xCB9D, 0xA874, 0xCB9E, 0xA875, 0xCB9F, 0xA876, 0xCBA0, 0xA877, 0xCBA1, 0xA878, 0xCBA2, 0xA879, 0xCBA3, 0xA87A, - 0xCBA4, 0xA881, 0xCBA5, 0xA882, 0xCBA6, 0xA883, 0xCBA7, 0xA884, 0xCBA8, 0xA885, 0xCBA9, 0xA886, 0xCBAA, 0xA887, 0xCBAB, 0xA888, - 0xCBAC, 0xA889, 0xCBAD, 0xA88A, 0xCBAE, 0xA88B, 0xCBAF, 0xA88C, 0xCBB0, 0xA88D, 0xCBB1, 0xA88E, 0xCBB2, 0xA88F, 0xCBB3, 0xA890, - 0xCBB4, 0xA891, 0xCBB5, 0xA892, 0xCBB6, 0xA893, 0xCBB7, 0xA894, 0xCBB8, 0xC2E9, 0xCBB9, 0xA895, 0xCBBA, 0xA896, 0xCBBB, 0xA897, - 0xCBBC, 0xA898, 0xCBBD, 0xA899, 0xCBBE, 0xA89A, 0xCBBF, 0xA89B, 0xCBC0, 0xA89C, 0xCBC1, 0xA89D, 0xCBC2, 0xA89E, 0xCBC3, 0xA89F, - 0xCBC4, 0xA8A0, 0xCBC5, 0xA941, 0xCBC6, 0xA942, 0xCBC7, 0xA943, 0xCBC8, 0xA944, 0xCBC9, 0xA945, 0xCBCA, 0xA946, 0xCBCB, 0xA947, - 0xCBCC, 0xA948, 0xCBCD, 0xA949, 0xCBCE, 0xA94A, 0xCBCF, 0xA94B, 0xCBD0, 0xA94C, 0xCBD1, 0xA94D, 0xCBD2, 0xA94E, 0xCBD3, 0xA94F, - 0xCBD4, 0xC2EA, 0xCBD5, 0xA950, 0xCBD6, 0xA951, 0xCBD7, 0xA952, 0xCBD8, 0xA953, 0xCBD9, 0xA954, 0xCBDA, 0xA955, 0xCBDB, 0xA956, - 0xCBDC, 0xA957, 0xCBDD, 0xA958, 0xCBDE, 0xA959, 0xCBDF, 0xA95A, 0xCBE0, 0xA961, 0xCBE1, 0xA962, 0xCBE2, 0xA963, 0xCBE3, 0xA964, - 0xCBE4, 0xC2EB, 0xCBE5, 0xA965, 0xCBE6, 0xA966, 0xCBE7, 0xC2EC, 0xCBE8, 0xA967, 0xCBE9, 0xC2ED, 0xCBEA, 0xA968, 0xCBEB, 0xA969, - 0xCBEC, 0xA96A, 0xCBED, 0xA96B, 0xCBEE, 0xA96C, 0xCBEF, 0xA96D, 0xCBF0, 0xA96E, 0xCBF1, 0xA96F, 0xCBF2, 0xA970, 0xCBF3, 0xA971, - 0xCBF4, 0xA972, 0xCBF5, 0xA973, 0xCBF6, 0xA974, 0xCBF7, 0xA975, 0xCBF8, 0xA976, 0xCBF9, 0xA977, 0xCBFA, 0xA978, 0xCBFB, 0xA979, - 0xCBFC, 0xA97A, 0xCBFD, 0xA981, 0xCBFE, 0xA982, 0xCBFF, 0xA983, 0xCC00, 0xA984, 0xCC01, 0xA985, 0xCC02, 0xA986, 0xCC03, 0xA987, - 0xCC04, 0xA988, 0xCC05, 0xA989, 0xCC06, 0xA98A, 0xCC07, 0xA98B, 0xCC08, 0xA98C, 0xCC09, 0xA98D, 0xCC0A, 0xA98E, 0xCC0B, 0xA98F, - 0xCC0C, 0xC2EE, 0xCC0D, 0xC2EF, 0xCC0E, 0xA990, 0xCC0F, 0xA991, 0xCC10, 0xC2F0, 0xCC11, 0xA992, 0xCC12, 0xA993, 0xCC13, 0xA994, - 0xCC14, 0xC2F1, 0xCC15, 0xA995, 0xCC16, 0xA996, 0xCC17, 0xA997, 0xCC18, 0xA998, 0xCC19, 0xA999, 0xCC1A, 0xA99A, 0xCC1B, 0xA99B, - 0xCC1C, 0xC2F2, 0xCC1D, 0xC2F3, 0xCC1E, 0xA99C, 0xCC1F, 0xA99D, 0xCC20, 0xA99E, 0xCC21, 0xC2F4, 0xCC22, 0xC2F5, 0xCC23, 0xA99F, - 0xCC24, 0xA9A0, 0xCC25, 0xAA41, 0xCC26, 0xAA42, 0xCC27, 0xC2F6, 0xCC28, 0xC2F7, 0xCC29, 0xC2F8, 0xCC2A, 0xAA43, 0xCC2B, 0xAA44, - 0xCC2C, 0xC2F9, 0xCC2D, 0xAA45, 0xCC2E, 0xC2FA, 0xCC2F, 0xAA46, 0xCC30, 0xC2FB, 0xCC31, 0xAA47, 0xCC32, 0xAA48, 0xCC33, 0xAA49, - 0xCC34, 0xAA4A, 0xCC35, 0xAA4B, 0xCC36, 0xAA4C, 0xCC37, 0xAA4D, 0xCC38, 0xC2FC, 0xCC39, 0xC2FD, 0xCC3A, 0xAA4E, 0xCC3B, 0xC2FE, - 0xCC3C, 0xC3A1, 0xCC3D, 0xC3A2, 0xCC3E, 0xC3A3, 0xCC3F, 0xAA4F, 0xCC40, 0xAA50, 0xCC41, 0xAA51, 0xCC42, 0xAA52, 0xCC43, 0xAA53, - 0xCC44, 0xC3A4, 0xCC45, 0xC3A5, 0xCC46, 0xAA54, 0xCC47, 0xAA55, 0xCC48, 0xC3A6, 0xCC49, 0xAA56, 0xCC4A, 0xAA57, 0xCC4B, 0xAA58, - 0xCC4C, 0xC3A7, 0xCC4D, 0xAA59, 0xCC4E, 0xAA5A, 0xCC4F, 0xAA61, 0xCC50, 0xAA62, 0xCC51, 0xAA63, 0xCC52, 0xAA64, 0xCC53, 0xAA65, - 0xCC54, 0xC3A8, 0xCC55, 0xC3A9, 0xCC56, 0xAA66, 0xCC57, 0xC3AA, 0xCC58, 0xC3AB, 0xCC59, 0xC3AC, 0xCC5A, 0xAA67, 0xCC5B, 0xAA68, - 0xCC5C, 0xAA69, 0xCC5D, 0xAA6A, 0xCC5E, 0xAA6B, 0xCC5F, 0xAA6C, 0xCC60, 0xC3AD, 0xCC61, 0xAA6D, 0xCC62, 0xAA6E, 0xCC63, 0xAA6F, - 0xCC64, 0xC3AE, 0xCC65, 0xAA70, 0xCC66, 0xC3AF, 0xCC67, 0xAA71, 0xCC68, 0xC3B0, 0xCC69, 0xAA72, 0xCC6A, 0xAA73, 0xCC6B, 0xAA74, - 0xCC6C, 0xAA75, 0xCC6D, 0xAA76, 0xCC6E, 0xAA77, 0xCC6F, 0xAA78, 0xCC70, 0xC3B1, 0xCC71, 0xAA79, 0xCC72, 0xAA7A, 0xCC73, 0xAA81, - 0xCC74, 0xAA82, 0xCC75, 0xC3B2, 0xCC76, 0xAA83, 0xCC77, 0xAA84, 0xCC78, 0xAA85, 0xCC79, 0xAA86, 0xCC7A, 0xAA87, 0xCC7B, 0xAA88, - 0xCC7C, 0xAA89, 0xCC7D, 0xAA8A, 0xCC7E, 0xAA8B, 0xCC7F, 0xAA8C, 0xCC80, 0xAA8D, 0xCC81, 0xAA8E, 0xCC82, 0xAA8F, 0xCC83, 0xAA90, - 0xCC84, 0xAA91, 0xCC85, 0xAA92, 0xCC86, 0xAA93, 0xCC87, 0xAA94, 0xCC88, 0xAA95, 0xCC89, 0xAA96, 0xCC8A, 0xAA97, 0xCC8B, 0xAA98, - 0xCC8C, 0xAA99, 0xCC8D, 0xAA9A, 0xCC8E, 0xAA9B, 0xCC8F, 0xAA9C, 0xCC90, 0xAA9D, 0xCC91, 0xAA9E, 0xCC92, 0xAA9F, 0xCC93, 0xAAA0, - 0xCC94, 0xAB41, 0xCC95, 0xAB42, 0xCC96, 0xAB43, 0xCC97, 0xAB44, 0xCC98, 0xC3B3, 0xCC99, 0xC3B4, 0xCC9A, 0xAB45, 0xCC9B, 0xAB46, - 0xCC9C, 0xC3B5, 0xCC9D, 0xAB47, 0xCC9E, 0xAB48, 0xCC9F, 0xAB49, 0xCCA0, 0xC3B6, 0xCCA1, 0xAB4A, 0xCCA2, 0xAB4B, 0xCCA3, 0xAB4C, - 0xCCA4, 0xAB4D, 0xCCA5, 0xAB4E, 0xCCA6, 0xAB4F, 0xCCA7, 0xAB50, 0xCCA8, 0xC3B7, 0xCCA9, 0xC3B8, 0xCCAA, 0xAB51, 0xCCAB, 0xC3B9, - 0xCCAC, 0xC3BA, 0xCCAD, 0xC3BB, 0xCCAE, 0xAB52, 0xCCAF, 0xAB53, 0xCCB0, 0xAB54, 0xCCB1, 0xAB55, 0xCCB2, 0xAB56, 0xCCB3, 0xAB57, - 0xCCB4, 0xC3BC, 0xCCB5, 0xC3BD, 0xCCB6, 0xAB58, 0xCCB7, 0xAB59, 0xCCB8, 0xC3BE, 0xCCB9, 0xAB5A, 0xCCBA, 0xAB61, 0xCCBB, 0xAB62, - 0xCCBC, 0xC3BF, 0xCCBD, 0xAB63, 0xCCBE, 0xAB64, 0xCCBF, 0xAB65, 0xCCC0, 0xAB66, 0xCCC1, 0xAB67, 0xCCC2, 0xAB68, 0xCCC3, 0xAB69, - 0xCCC4, 0xC3C0, 0xCCC5, 0xC3C1, 0xCCC6, 0xAB6A, 0xCCC7, 0xC3C2, 0xCCC8, 0xAB6B, 0xCCC9, 0xC3C3, 0xCCCA, 0xAB6C, 0xCCCB, 0xAB6D, - 0xCCCC, 0xAB6E, 0xCCCD, 0xAB6F, 0xCCCE, 0xAB70, 0xCCCF, 0xAB71, 0xCCD0, 0xC3C4, 0xCCD1, 0xAB72, 0xCCD2, 0xAB73, 0xCCD3, 0xAB74, - 0xCCD4, 0xC3C5, 0xCCD5, 0xAB75, 0xCCD6, 0xAB76, 0xCCD7, 0xAB77, 0xCCD8, 0xAB78, 0xCCD9, 0xAB79, 0xCCDA, 0xAB7A, 0xCCDB, 0xAB81, - 0xCCDC, 0xAB82, 0xCCDD, 0xAB83, 0xCCDE, 0xAB84, 0xCCDF, 0xAB85, 0xCCE0, 0xAB86, 0xCCE1, 0xAB87, 0xCCE2, 0xAB88, 0xCCE3, 0xAB89, - 0xCCE4, 0xC3C6, 0xCCE5, 0xAB8A, 0xCCE6, 0xAB8B, 0xCCE7, 0xAB8C, 0xCCE8, 0xAB8D, 0xCCE9, 0xAB8E, 0xCCEA, 0xAB8F, 0xCCEB, 0xAB90, - 0xCCEC, 0xC3C7, 0xCCED, 0xAB91, 0xCCEE, 0xAB92, 0xCCEF, 0xAB93, 0xCCF0, 0xC3C8, 0xCCF1, 0xAB94, 0xCCF2, 0xAB95, 0xCCF3, 0xAB96, - 0xCCF4, 0xAB97, 0xCCF5, 0xAB98, 0xCCF6, 0xAB99, 0xCCF7, 0xAB9A, 0xCCF8, 0xAB9B, 0xCCF9, 0xAB9C, 0xCCFA, 0xAB9D, 0xCCFB, 0xAB9E, - 0xCCFC, 0xAB9F, 0xCCFD, 0xABA0, 0xCCFE, 0xAC41, 0xCCFF, 0xAC42, 0xCD00, 0xAC43, 0xCD01, 0xC3C9, 0xCD02, 0xAC44, 0xCD03, 0xAC45, - 0xCD04, 0xAC46, 0xCD05, 0xAC47, 0xCD06, 0xAC48, 0xCD07, 0xAC49, 0xCD08, 0xC3CA, 0xCD09, 0xC3CB, 0xCD0A, 0xAC4A, 0xCD0B, 0xAC4B, - 0xCD0C, 0xC3CC, 0xCD0D, 0xAC4C, 0xCD0E, 0xAC4D, 0xCD0F, 0xAC4E, 0xCD10, 0xC3CD, 0xCD11, 0xAC4F, 0xCD12, 0xAC50, 0xCD13, 0xAC51, - 0xCD14, 0xAC52, 0xCD15, 0xAC53, 0xCD16, 0xAC54, 0xCD17, 0xAC55, 0xCD18, 0xC3CE, 0xCD19, 0xC3CF, 0xCD1A, 0xAC56, 0xCD1B, 0xC3D0, - 0xCD1C, 0xAC57, 0xCD1D, 0xC3D1, 0xCD1E, 0xAC58, 0xCD1F, 0xAC59, 0xCD20, 0xAC5A, 0xCD21, 0xAC61, 0xCD22, 0xAC62, 0xCD23, 0xAC63, - 0xCD24, 0xC3D2, 0xCD25, 0xAC64, 0xCD26, 0xAC65, 0xCD27, 0xAC66, 0xCD28, 0xC3D3, 0xCD29, 0xAC67, 0xCD2A, 0xAC68, 0xCD2B, 0xAC69, - 0xCD2C, 0xC3D4, 0xCD2D, 0xAC6A, 0xCD2E, 0xAC6B, 0xCD2F, 0xAC6C, 0xCD30, 0xAC6D, 0xCD31, 0xAC6E, 0xCD32, 0xAC6F, 0xCD33, 0xAC70, - 0xCD34, 0xAC71, 0xCD35, 0xAC72, 0xCD36, 0xAC73, 0xCD37, 0xAC74, 0xCD38, 0xAC75, 0xCD39, 0xC3D5, 0xCD3A, 0xAC76, 0xCD3B, 0xAC77, - 0xCD3C, 0xAC78, 0xCD3D, 0xAC79, 0xCD3E, 0xAC7A, 0xCD3F, 0xAC81, 0xCD40, 0xAC82, 0xCD41, 0xAC83, 0xCD42, 0xAC84, 0xCD43, 0xAC85, - 0xCD44, 0xAC86, 0xCD45, 0xAC87, 0xCD46, 0xAC88, 0xCD47, 0xAC89, 0xCD48, 0xAC8A, 0xCD49, 0xAC8B, 0xCD4A, 0xAC8C, 0xCD4B, 0xAC8D, - 0xCD4C, 0xAC8E, 0xCD4D, 0xAC8F, 0xCD4E, 0xAC90, 0xCD4F, 0xAC91, 0xCD50, 0xAC92, 0xCD51, 0xAC93, 0xCD52, 0xAC94, 0xCD53, 0xAC95, - 0xCD54, 0xAC96, 0xCD55, 0xAC97, 0xCD56, 0xAC98, 0xCD57, 0xAC99, 0xCD58, 0xAC9A, 0xCD59, 0xAC9B, 0xCD5A, 0xAC9C, 0xCD5B, 0xAC9D, - 0xCD5C, 0xC3D6, 0xCD5D, 0xAC9E, 0xCD5E, 0xAC9F, 0xCD5F, 0xACA0, 0xCD60, 0xC3D7, 0xCD61, 0xAD41, 0xCD62, 0xAD42, 0xCD63, 0xAD43, - 0xCD64, 0xC3D8, 0xCD65, 0xAD44, 0xCD66, 0xAD45, 0xCD67, 0xAD46, 0xCD68, 0xAD47, 0xCD69, 0xAD48, 0xCD6A, 0xAD49, 0xCD6B, 0xAD4A, - 0xCD6C, 0xC3D9, 0xCD6D, 0xC3DA, 0xCD6E, 0xAD4B, 0xCD6F, 0xC3DB, 0xCD70, 0xAD4C, 0xCD71, 0xC3DC, 0xCD72, 0xAD4D, 0xCD73, 0xAD4E, - 0xCD74, 0xAD4F, 0xCD75, 0xAD50, 0xCD76, 0xAD51, 0xCD77, 0xAD52, 0xCD78, 0xC3DD, 0xCD79, 0xAD53, 0xCD7A, 0xAD54, 0xCD7B, 0xAD55, - 0xCD7C, 0xAD56, 0xCD7D, 0xAD57, 0xCD7E, 0xAD58, 0xCD7F, 0xAD59, 0xCD80, 0xAD5A, 0xCD81, 0xAD61, 0xCD82, 0xAD62, 0xCD83, 0xAD63, - 0xCD84, 0xAD64, 0xCD85, 0xAD65, 0xCD86, 0xAD66, 0xCD87, 0xAD67, 0xCD88, 0xC3DE, 0xCD89, 0xAD68, 0xCD8A, 0xAD69, 0xCD8B, 0xAD6A, - 0xCD8C, 0xAD6B, 0xCD8D, 0xAD6C, 0xCD8E, 0xAD6D, 0xCD8F, 0xAD6E, 0xCD90, 0xAD6F, 0xCD91, 0xAD70, 0xCD92, 0xAD71, 0xCD93, 0xAD72, - 0xCD94, 0xC3DF, 0xCD95, 0xC3E0, 0xCD96, 0xAD73, 0xCD97, 0xAD74, 0xCD98, 0xC3E1, 0xCD99, 0xAD75, 0xCD9A, 0xAD76, 0xCD9B, 0xAD77, - 0xCD9C, 0xC3E2, 0xCD9D, 0xAD78, 0xCD9E, 0xAD79, 0xCD9F, 0xAD7A, 0xCDA0, 0xAD81, 0xCDA1, 0xAD82, 0xCDA2, 0xAD83, 0xCDA3, 0xAD84, - 0xCDA4, 0xC3E3, 0xCDA5, 0xC3E4, 0xCDA6, 0xAD85, 0xCDA7, 0xC3E5, 0xCDA8, 0xAD86, 0xCDA9, 0xC3E6, 0xCDAA, 0xAD87, 0xCDAB, 0xAD88, - 0xCDAC, 0xAD89, 0xCDAD, 0xAD8A, 0xCDAE, 0xAD8B, 0xCDAF, 0xAD8C, 0xCDB0, 0xC3E7, 0xCDB1, 0xAD8D, 0xCDB2, 0xAD8E, 0xCDB3, 0xAD8F, - 0xCDB4, 0xAD90, 0xCDB5, 0xAD91, 0xCDB6, 0xAD92, 0xCDB7, 0xAD93, 0xCDB8, 0xAD94, 0xCDB9, 0xAD95, 0xCDBA, 0xAD96, 0xCDBB, 0xAD97, - 0xCDBC, 0xAD98, 0xCDBD, 0xAD99, 0xCDBE, 0xAD9A, 0xCDBF, 0xAD9B, 0xCDC0, 0xAD9C, 0xCDC1, 0xAD9D, 0xCDC2, 0xAD9E, 0xCDC3, 0xAD9F, - 0xCDC4, 0xC3E8, 0xCDC5, 0xADA0, 0xCDC6, 0xAE41, 0xCDC7, 0xAE42, 0xCDC8, 0xAE43, 0xCDC9, 0xAE44, 0xCDCA, 0xAE45, 0xCDCB, 0xAE46, - 0xCDCC, 0xC3E9, 0xCDCD, 0xAE47, 0xCDCE, 0xAE48, 0xCDCF, 0xAE49, 0xCDD0, 0xC3EA, 0xCDD1, 0xAE4A, 0xCDD2, 0xAE4B, 0xCDD3, 0xAE4C, - 0xCDD4, 0xAE4D, 0xCDD5, 0xAE4E, 0xCDD6, 0xAE4F, 0xCDD7, 0xAE50, 0xCDD8, 0xAE51, 0xCDD9, 0xAE52, 0xCDDA, 0xAE53, 0xCDDB, 0xAE54, - 0xCDDC, 0xAE55, 0xCDDD, 0xAE56, 0xCDDE, 0xAE57, 0xCDDF, 0xAE58, 0xCDE0, 0xAE59, 0xCDE1, 0xAE5A, 0xCDE2, 0xAE61, 0xCDE3, 0xAE62, - 0xCDE4, 0xAE63, 0xCDE5, 0xAE64, 0xCDE6, 0xAE65, 0xCDE7, 0xAE66, 0xCDE8, 0xC3EB, 0xCDE9, 0xAE67, 0xCDEA, 0xAE68, 0xCDEB, 0xAE69, - 0xCDEC, 0xC3EC, 0xCDED, 0xAE6A, 0xCDEE, 0xAE6B, 0xCDEF, 0xAE6C, 0xCDF0, 0xC3ED, 0xCDF1, 0xAE6D, 0xCDF2, 0xAE6E, 0xCDF3, 0xAE6F, - 0xCDF4, 0xAE70, 0xCDF5, 0xAE71, 0xCDF6, 0xAE72, 0xCDF7, 0xAE73, 0xCDF8, 0xC3EE, 0xCDF9, 0xC3EF, 0xCDFA, 0xAE74, 0xCDFB, 0xC3F0, - 0xCDFC, 0xAE75, 0xCDFD, 0xC3F1, 0xCDFE, 0xAE76, 0xCDFF, 0xAE77, 0xCE00, 0xAE78, 0xCE01, 0xAE79, 0xCE02, 0xAE7A, 0xCE03, 0xAE81, - 0xCE04, 0xC3F2, 0xCE05, 0xAE82, 0xCE06, 0xAE83, 0xCE07, 0xAE84, 0xCE08, 0xC3F3, 0xCE09, 0xAE85, 0xCE0A, 0xAE86, 0xCE0B, 0xAE87, - 0xCE0C, 0xC3F4, 0xCE0D, 0xAE88, 0xCE0E, 0xAE89, 0xCE0F, 0xAE8A, 0xCE10, 0xAE8B, 0xCE11, 0xAE8C, 0xCE12, 0xAE8D, 0xCE13, 0xAE8E, - 0xCE14, 0xC3F5, 0xCE15, 0xAE8F, 0xCE16, 0xAE90, 0xCE17, 0xAE91, 0xCE18, 0xAE92, 0xCE19, 0xC3F6, 0xCE1A, 0xAE93, 0xCE1B, 0xAE94, - 0xCE1C, 0xAE95, 0xCE1D, 0xAE96, 0xCE1E, 0xAE97, 0xCE1F, 0xAE98, 0xCE20, 0xC3F7, 0xCE21, 0xC3F8, 0xCE22, 0xAE99, 0xCE23, 0xAE9A, - 0xCE24, 0xC3F9, 0xCE25, 0xAE9B, 0xCE26, 0xAE9C, 0xCE27, 0xAE9D, 0xCE28, 0xC3FA, 0xCE29, 0xAE9E, 0xCE2A, 0xAE9F, 0xCE2B, 0xAEA0, - 0xCE2C, 0xAF41, 0xCE2D, 0xAF42, 0xCE2E, 0xAF43, 0xCE2F, 0xAF44, 0xCE30, 0xC3FB, 0xCE31, 0xC3FC, 0xCE32, 0xAF45, 0xCE33, 0xC3FD, - 0xCE34, 0xAF46, 0xCE35, 0xC3FE, 0xCE36, 0xAF47, 0xCE37, 0xAF48, 0xCE38, 0xAF49, 0xCE39, 0xAF4A, 0xCE3A, 0xAF4B, 0xCE3B, 0xAF4C, - 0xCE3C, 0xAF4D, 0xCE3D, 0xAF4E, 0xCE3E, 0xAF4F, 0xCE3F, 0xAF50, 0xCE40, 0xAF51, 0xCE41, 0xAF52, 0xCE42, 0xAF53, 0xCE43, 0xAF54, - 0xCE44, 0xAF55, 0xCE45, 0xAF56, 0xCE46, 0xAF57, 0xCE47, 0xAF58, 0xCE48, 0xAF59, 0xCE49, 0xAF5A, 0xCE4A, 0xAF61, 0xCE4B, 0xAF62, - 0xCE4C, 0xAF63, 0xCE4D, 0xAF64, 0xCE4E, 0xAF65, 0xCE4F, 0xAF66, 0xCE50, 0xAF67, 0xCE51, 0xAF68, 0xCE52, 0xAF69, 0xCE53, 0xAF6A, - 0xCE54, 0xAF6B, 0xCE55, 0xAF6C, 0xCE56, 0xAF6D, 0xCE57, 0xAF6E, 0xCE58, 0xC4A1, 0xCE59, 0xC4A2, 0xCE5A, 0xAF6F, 0xCE5B, 0xAF70, - 0xCE5C, 0xC4A3, 0xCE5D, 0xAF71, 0xCE5E, 0xAF72, 0xCE5F, 0xC4A4, 0xCE60, 0xC4A5, 0xCE61, 0xC4A6, 0xCE62, 0xAF73, 0xCE63, 0xAF74, - 0xCE64, 0xAF75, 0xCE65, 0xAF76, 0xCE66, 0xAF77, 0xCE67, 0xAF78, 0xCE68, 0xC4A7, 0xCE69, 0xC4A8, 0xCE6A, 0xAF79, 0xCE6B, 0xC4A9, - 0xCE6C, 0xAF7A, 0xCE6D, 0xC4AA, 0xCE6E, 0xAF81, 0xCE6F, 0xAF82, 0xCE70, 0xAF83, 0xCE71, 0xAF84, 0xCE72, 0xAF85, 0xCE73, 0xAF86, - 0xCE74, 0xC4AB, 0xCE75, 0xC4AC, 0xCE76, 0xAF87, 0xCE77, 0xAF88, 0xCE78, 0xC4AD, 0xCE79, 0xAF89, 0xCE7A, 0xAF8A, 0xCE7B, 0xAF8B, - 0xCE7C, 0xC4AE, 0xCE7D, 0xAF8C, 0xCE7E, 0xAF8D, 0xCE7F, 0xAF8E, 0xCE80, 0xAF8F, 0xCE81, 0xAF90, 0xCE82, 0xAF91, 0xCE83, 0xAF92, - 0xCE84, 0xC4AF, 0xCE85, 0xC4B0, 0xCE86, 0xAF93, 0xCE87, 0xC4B1, 0xCE88, 0xAF94, 0xCE89, 0xC4B2, 0xCE8A, 0xAF95, 0xCE8B, 0xAF96, - 0xCE8C, 0xAF97, 0xCE8D, 0xAF98, 0xCE8E, 0xAF99, 0xCE8F, 0xAF9A, 0xCE90, 0xC4B3, 0xCE91, 0xC4B4, 0xCE92, 0xAF9B, 0xCE93, 0xAF9C, - 0xCE94, 0xC4B5, 0xCE95, 0xAF9D, 0xCE96, 0xAF9E, 0xCE97, 0xAF9F, 0xCE98, 0xC4B6, 0xCE99, 0xAFA0, 0xCE9A, 0xB041, 0xCE9B, 0xB042, - 0xCE9C, 0xB043, 0xCE9D, 0xB044, 0xCE9E, 0xB045, 0xCE9F, 0xB046, 0xCEA0, 0xC4B7, 0xCEA1, 0xC4B8, 0xCEA2, 0xB047, 0xCEA3, 0xC4B9, - 0xCEA4, 0xC4BA, 0xCEA5, 0xC4BB, 0xCEA6, 0xB048, 0xCEA7, 0xB049, 0xCEA8, 0xB04A, 0xCEA9, 0xB04B, 0xCEAA, 0xB04C, 0xCEAB, 0xB04D, - 0xCEAC, 0xC4BC, 0xCEAD, 0xC4BD, 0xCEAE, 0xB04E, 0xCEAF, 0xB04F, 0xCEB0, 0xB050, 0xCEB1, 0xB051, 0xCEB2, 0xB052, 0xCEB3, 0xB053, - 0xCEB4, 0xB054, 0xCEB5, 0xB055, 0xCEB6, 0xB056, 0xCEB7, 0xB057, 0xCEB8, 0xB058, 0xCEB9, 0xB059, 0xCEBA, 0xB05A, 0xCEBB, 0xB061, - 0xCEBC, 0xB062, 0xCEBD, 0xB063, 0xCEBE, 0xB064, 0xCEBF, 0xB065, 0xCEC0, 0xB066, 0xCEC1, 0xC4BE, 0xCEC2, 0xB067, 0xCEC3, 0xB068, - 0xCEC4, 0xB069, 0xCEC5, 0xB06A, 0xCEC6, 0xB06B, 0xCEC7, 0xB06C, 0xCEC8, 0xB06D, 0xCEC9, 0xB06E, 0xCECA, 0xB06F, 0xCECB, 0xB070, - 0xCECC, 0xB071, 0xCECD, 0xB072, 0xCECE, 0xB073, 0xCECF, 0xB074, 0xCED0, 0xB075, 0xCED1, 0xB076, 0xCED2, 0xB077, 0xCED3, 0xB078, - 0xCED4, 0xB079, 0xCED5, 0xB07A, 0xCED6, 0xB081, 0xCED7, 0xB082, 0xCED8, 0xB083, 0xCED9, 0xB084, 0xCEDA, 0xB085, 0xCEDB, 0xB086, - 0xCEDC, 0xB087, 0xCEDD, 0xB088, 0xCEDE, 0xB089, 0xCEDF, 0xB08A, 0xCEE0, 0xB08B, 0xCEE1, 0xB08C, 0xCEE2, 0xB08D, 0xCEE3, 0xB08E, - 0xCEE4, 0xC4BF, 0xCEE5, 0xC4C0, 0xCEE6, 0xB08F, 0xCEE7, 0xB090, 0xCEE8, 0xC4C1, 0xCEE9, 0xB091, 0xCEEA, 0xB092, 0xCEEB, 0xC4C2, - 0xCEEC, 0xC4C3, 0xCEED, 0xB093, 0xCEEE, 0xB094, 0xCEEF, 0xB095, 0xCEF0, 0xB096, 0xCEF1, 0xB097, 0xCEF2, 0xB098, 0xCEF3, 0xB099, - 0xCEF4, 0xC4C4, 0xCEF5, 0xC4C5, 0xCEF6, 0xB09A, 0xCEF7, 0xC4C6, 0xCEF8, 0xC4C7, 0xCEF9, 0xC4C8, 0xCEFA, 0xB09B, 0xCEFB, 0xB09C, - 0xCEFC, 0xB09D, 0xCEFD, 0xB09E, 0xCEFE, 0xB09F, 0xCEFF, 0xB0A0, 0xCF00, 0xC4C9, 0xCF01, 0xC4CA, 0xCF02, 0xB141, 0xCF03, 0xB142, - 0xCF04, 0xC4CB, 0xCF05, 0xB143, 0xCF06, 0xB144, 0xCF07, 0xB145, 0xCF08, 0xC4CC, 0xCF09, 0xB146, 0xCF0A, 0xB147, 0xCF0B, 0xB148, - 0xCF0C, 0xB149, 0xCF0D, 0xB14A, 0xCF0E, 0xB14B, 0xCF0F, 0xB14C, 0xCF10, 0xC4CD, 0xCF11, 0xC4CE, 0xCF12, 0xB14D, 0xCF13, 0xC4CF, - 0xCF14, 0xB14E, 0xCF15, 0xC4D0, 0xCF16, 0xB14F, 0xCF17, 0xB150, 0xCF18, 0xB151, 0xCF19, 0xB152, 0xCF1A, 0xB153, 0xCF1B, 0xB154, - 0xCF1C, 0xC4D1, 0xCF1D, 0xB155, 0xCF1E, 0xB156, 0xCF1F, 0xB157, 0xCF20, 0xC4D2, 0xCF21, 0xB158, 0xCF22, 0xB159, 0xCF23, 0xB15A, - 0xCF24, 0xC4D3, 0xCF25, 0xB161, 0xCF26, 0xB162, 0xCF27, 0xB163, 0xCF28, 0xB164, 0xCF29, 0xB165, 0xCF2A, 0xB166, 0xCF2B, 0xB167, - 0xCF2C, 0xC4D4, 0xCF2D, 0xC4D5, 0xCF2E, 0xB168, 0xCF2F, 0xC4D6, 0xCF30, 0xC4D7, 0xCF31, 0xC4D8, 0xCF32, 0xB169, 0xCF33, 0xB16A, - 0xCF34, 0xB16B, 0xCF35, 0xB16C, 0xCF36, 0xB16D, 0xCF37, 0xB16E, 0xCF38, 0xC4D9, 0xCF39, 0xB16F, 0xCF3A, 0xB170, 0xCF3B, 0xB171, - 0xCF3C, 0xB172, 0xCF3D, 0xB173, 0xCF3E, 0xB174, 0xCF3F, 0xB175, 0xCF40, 0xB176, 0xCF41, 0xB177, 0xCF42, 0xB178, 0xCF43, 0xB179, - 0xCF44, 0xB17A, 0xCF45, 0xB181, 0xCF46, 0xB182, 0xCF47, 0xB183, 0xCF48, 0xB184, 0xCF49, 0xB185, 0xCF4A, 0xB186, 0xCF4B, 0xB187, - 0xCF4C, 0xB188, 0xCF4D, 0xB189, 0xCF4E, 0xB18A, 0xCF4F, 0xB18B, 0xCF50, 0xB18C, 0xCF51, 0xB18D, 0xCF52, 0xB18E, 0xCF53, 0xB18F, - 0xCF54, 0xC4DA, 0xCF55, 0xC4DB, 0xCF56, 0xB190, 0xCF57, 0xB191, 0xCF58, 0xC4DC, 0xCF59, 0xB192, 0xCF5A, 0xB193, 0xCF5B, 0xB194, - 0xCF5C, 0xC4DD, 0xCF5D, 0xB195, 0xCF5E, 0xB196, 0xCF5F, 0xB197, 0xCF60, 0xB198, 0xCF61, 0xB199, 0xCF62, 0xB19A, 0xCF63, 0xB19B, - 0xCF64, 0xC4DE, 0xCF65, 0xC4DF, 0xCF66, 0xB19C, 0xCF67, 0xC4E0, 0xCF68, 0xB19D, 0xCF69, 0xC4E1, 0xCF6A, 0xB19E, 0xCF6B, 0xB19F, - 0xCF6C, 0xB1A0, 0xCF6D, 0xB241, 0xCF6E, 0xB242, 0xCF6F, 0xB243, 0xCF70, 0xC4E2, 0xCF71, 0xC4E3, 0xCF72, 0xB244, 0xCF73, 0xB245, - 0xCF74, 0xC4E4, 0xCF75, 0xB246, 0xCF76, 0xB247, 0xCF77, 0xB248, 0xCF78, 0xC4E5, 0xCF79, 0xB249, 0xCF7A, 0xB24A, 0xCF7B, 0xB24B, - 0xCF7C, 0xB24C, 0xCF7D, 0xB24D, 0xCF7E, 0xB24E, 0xCF7F, 0xB24F, 0xCF80, 0xC4E6, 0xCF81, 0xB250, 0xCF82, 0xB251, 0xCF83, 0xB252, - 0xCF84, 0xB253, 0xCF85, 0xC4E7, 0xCF86, 0xB254, 0xCF87, 0xB255, 0xCF88, 0xB256, 0xCF89, 0xB257, 0xCF8A, 0xB258, 0xCF8B, 0xB259, - 0xCF8C, 0xC4E8, 0xCF8D, 0xB25A, 0xCF8E, 0xB261, 0xCF8F, 0xB262, 0xCF90, 0xB263, 0xCF91, 0xB264, 0xCF92, 0xB265, 0xCF93, 0xB266, - 0xCF94, 0xB267, 0xCF95, 0xB268, 0xCF96, 0xB269, 0xCF97, 0xB26A, 0xCF98, 0xB26B, 0xCF99, 0xB26C, 0xCF9A, 0xB26D, 0xCF9B, 0xB26E, - 0xCF9C, 0xB26F, 0xCF9D, 0xB270, 0xCF9E, 0xB271, 0xCF9F, 0xB272, 0xCFA0, 0xB273, 0xCFA1, 0xC4E9, 0xCFA2, 0xB274, 0xCFA3, 0xB275, - 0xCFA4, 0xB276, 0xCFA5, 0xB277, 0xCFA6, 0xB278, 0xCFA7, 0xB279, 0xCFA8, 0xC4EA, 0xCFA9, 0xB27A, 0xCFAA, 0xB281, 0xCFAB, 0xB282, - 0xCFAC, 0xB283, 0xCFAD, 0xB284, 0xCFAE, 0xB285, 0xCFAF, 0xB286, 0xCFB0, 0xC4EB, 0xCFB1, 0xB287, 0xCFB2, 0xB288, 0xCFB3, 0xB289, - 0xCFB4, 0xB28A, 0xCFB5, 0xB28B, 0xCFB6, 0xB28C, 0xCFB7, 0xB28D, 0xCFB8, 0xB28E, 0xCFB9, 0xB28F, 0xCFBA, 0xB290, 0xCFBB, 0xB291, - 0xCFBC, 0xB292, 0xCFBD, 0xB293, 0xCFBE, 0xB294, 0xCFBF, 0xB295, 0xCFC0, 0xB296, 0xCFC1, 0xB297, 0xCFC2, 0xB298, 0xCFC3, 0xB299, - 0xCFC4, 0xC4EC, 0xCFC5, 0xB29A, 0xCFC6, 0xB29B, 0xCFC7, 0xB29C, 0xCFC8, 0xB29D, 0xCFC9, 0xB29E, 0xCFCA, 0xB29F, 0xCFCB, 0xB2A0, - 0xCFCC, 0xB341, 0xCFCD, 0xB342, 0xCFCE, 0xB343, 0xCFCF, 0xB344, 0xCFD0, 0xB345, 0xCFD1, 0xB346, 0xCFD2, 0xB347, 0xCFD3, 0xB348, - 0xCFD4, 0xB349, 0xCFD5, 0xB34A, 0xCFD6, 0xB34B, 0xCFD7, 0xB34C, 0xCFD8, 0xB34D, 0xCFD9, 0xB34E, 0xCFDA, 0xB34F, 0xCFDB, 0xB350, - 0xCFDC, 0xB351, 0xCFDD, 0xB352, 0xCFDE, 0xB353, 0xCFDF, 0xB354, 0xCFE0, 0xC4ED, 0xCFE1, 0xC4EE, 0xCFE2, 0xB355, 0xCFE3, 0xB356, - 0xCFE4, 0xC4EF, 0xCFE5, 0xB357, 0xCFE6, 0xB358, 0xCFE7, 0xB359, 0xCFE8, 0xC4F0, 0xCFE9, 0xB35A, 0xCFEA, 0xB361, 0xCFEB, 0xB362, - 0xCFEC, 0xB363, 0xCFED, 0xB364, 0xCFEE, 0xB365, 0xCFEF, 0xB366, 0xCFF0, 0xC4F1, 0xCFF1, 0xC4F2, 0xCFF2, 0xB367, 0xCFF3, 0xC4F3, - 0xCFF4, 0xB368, 0xCFF5, 0xC4F4, 0xCFF6, 0xB369, 0xCFF7, 0xB36A, 0xCFF8, 0xB36B, 0xCFF9, 0xB36C, 0xCFFA, 0xB36D, 0xCFFB, 0xB36E, - 0xCFFC, 0xC4F5, 0xCFFD, 0xB36F, 0xCFFE, 0xB370, 0xCFFF, 0xB371, 0xD000, 0xC4F6, 0xD001, 0xB372, 0xD002, 0xB373, 0xD003, 0xB374, - 0xD004, 0xC4F7, 0xD005, 0xB375, 0xD006, 0xB376, 0xD007, 0xB377, 0xD008, 0xB378, 0xD009, 0xB379, 0xD00A, 0xB37A, 0xD00B, 0xB381, - 0xD00C, 0xB382, 0xD00D, 0xB383, 0xD00E, 0xB384, 0xD00F, 0xB385, 0xD010, 0xB386, 0xD011, 0xC4F8, 0xD012, 0xB387, 0xD013, 0xB388, - 0xD014, 0xB389, 0xD015, 0xB38A, 0xD016, 0xB38B, 0xD017, 0xB38C, 0xD018, 0xC4F9, 0xD019, 0xB38D, 0xD01A, 0xB38E, 0xD01B, 0xB38F, - 0xD01C, 0xB390, 0xD01D, 0xB391, 0xD01E, 0xB392, 0xD01F, 0xB393, 0xD020, 0xB394, 0xD021, 0xB395, 0xD022, 0xB396, 0xD023, 0xB397, - 0xD024, 0xB398, 0xD025, 0xB399, 0xD026, 0xB39A, 0xD027, 0xB39B, 0xD028, 0xB39C, 0xD029, 0xB39D, 0xD02A, 0xB39E, 0xD02B, 0xB39F, - 0xD02C, 0xB3A0, 0xD02D, 0xC4FA, 0xD02E, 0xB441, 0xD02F, 0xB442, 0xD030, 0xB443, 0xD031, 0xB444, 0xD032, 0xB445, 0xD033, 0xB446, - 0xD034, 0xC4FB, 0xD035, 0xC4FC, 0xD036, 0xB447, 0xD037, 0xB448, 0xD038, 0xC4FD, 0xD039, 0xB449, 0xD03A, 0xB44A, 0xD03B, 0xB44B, - 0xD03C, 0xC4FE, 0xD03D, 0xB44C, 0xD03E, 0xB44D, 0xD03F, 0xB44E, 0xD040, 0xB44F, 0xD041, 0xB450, 0xD042, 0xB451, 0xD043, 0xB452, - 0xD044, 0xC5A1, 0xD045, 0xC5A2, 0xD046, 0xB453, 0xD047, 0xC5A3, 0xD048, 0xB454, 0xD049, 0xC5A4, 0xD04A, 0xB455, 0xD04B, 0xB456, - 0xD04C, 0xB457, 0xD04D, 0xB458, 0xD04E, 0xB459, 0xD04F, 0xB45A, 0xD050, 0xC5A5, 0xD051, 0xB461, 0xD052, 0xB462, 0xD053, 0xB463, - 0xD054, 0xC5A6, 0xD055, 0xB464, 0xD056, 0xB465, 0xD057, 0xB466, 0xD058, 0xC5A7, 0xD059, 0xB467, 0xD05A, 0xB468, 0xD05B, 0xB469, - 0xD05C, 0xB46A, 0xD05D, 0xB46B, 0xD05E, 0xB46C, 0xD05F, 0xB46D, 0xD060, 0xC5A8, 0xD061, 0xB46E, 0xD062, 0xB46F, 0xD063, 0xB470, - 0xD064, 0xB471, 0xD065, 0xB472, 0xD066, 0xB473, 0xD067, 0xB474, 0xD068, 0xB475, 0xD069, 0xB476, 0xD06A, 0xB477, 0xD06B, 0xB478, - 0xD06C, 0xC5A9, 0xD06D, 0xC5AA, 0xD06E, 0xB479, 0xD06F, 0xB47A, 0xD070, 0xC5AB, 0xD071, 0xB481, 0xD072, 0xB482, 0xD073, 0xB483, - 0xD074, 0xC5AC, 0xD075, 0xB484, 0xD076, 0xB485, 0xD077, 0xB486, 0xD078, 0xB487, 0xD079, 0xB488, 0xD07A, 0xB489, 0xD07B, 0xB48A, - 0xD07C, 0xC5AD, 0xD07D, 0xC5AE, 0xD07E, 0xB48B, 0xD07F, 0xB48C, 0xD080, 0xB48D, 0xD081, 0xC5AF, 0xD082, 0xB48E, 0xD083, 0xB48F, - 0xD084, 0xB490, 0xD085, 0xB491, 0xD086, 0xB492, 0xD087, 0xB493, 0xD088, 0xB494, 0xD089, 0xB495, 0xD08A, 0xB496, 0xD08B, 0xB497, - 0xD08C, 0xB498, 0xD08D, 0xB499, 0xD08E, 0xB49A, 0xD08F, 0xB49B, 0xD090, 0xB49C, 0xD091, 0xB49D, 0xD092, 0xB49E, 0xD093, 0xB49F, - 0xD094, 0xB4A0, 0xD095, 0xB541, 0xD096, 0xB542, 0xD097, 0xB543, 0xD098, 0xB544, 0xD099, 0xB545, 0xD09A, 0xB546, 0xD09B, 0xB547, - 0xD09C, 0xB548, 0xD09D, 0xB549, 0xD09E, 0xB54A, 0xD09F, 0xB54B, 0xD0A0, 0xB54C, 0xD0A1, 0xB54D, 0xD0A2, 0xB54E, 0xD0A3, 0xB54F, - 0xD0A4, 0xC5B0, 0xD0A5, 0xC5B1, 0xD0A6, 0xB550, 0xD0A7, 0xB551, 0xD0A8, 0xC5B2, 0xD0A9, 0xB552, 0xD0AA, 0xB553, 0xD0AB, 0xB554, - 0xD0AC, 0xC5B3, 0xD0AD, 0xB555, 0xD0AE, 0xB556, 0xD0AF, 0xB557, 0xD0B0, 0xB558, 0xD0B1, 0xB559, 0xD0B2, 0xB55A, 0xD0B3, 0xB561, - 0xD0B4, 0xC5B4, 0xD0B5, 0xC5B5, 0xD0B6, 0xB562, 0xD0B7, 0xC5B6, 0xD0B8, 0xB563, 0xD0B9, 0xC5B7, 0xD0BA, 0xB564, 0xD0BB, 0xB565, - 0xD0BC, 0xB566, 0xD0BD, 0xB567, 0xD0BE, 0xB568, 0xD0BF, 0xB569, 0xD0C0, 0xC5B8, 0xD0C1, 0xC5B9, 0xD0C2, 0xB56A, 0xD0C3, 0xB56B, - 0xD0C4, 0xC5BA, 0xD0C5, 0xB56C, 0xD0C6, 0xB56D, 0xD0C7, 0xB56E, 0xD0C8, 0xC5BB, 0xD0C9, 0xC5BC, 0xD0CA, 0xB56F, 0xD0CB, 0xB570, - 0xD0CC, 0xB571, 0xD0CD, 0xB572, 0xD0CE, 0xB573, 0xD0CF, 0xB574, 0xD0D0, 0xC5BD, 0xD0D1, 0xC5BE, 0xD0D2, 0xB575, 0xD0D3, 0xC5BF, - 0xD0D4, 0xC5C0, 0xD0D5, 0xC5C1, 0xD0D6, 0xB576, 0xD0D7, 0xB577, 0xD0D8, 0xB578, 0xD0D9, 0xB579, 0xD0DA, 0xB57A, 0xD0DB, 0xB581, - 0xD0DC, 0xC5C2, 0xD0DD, 0xC5C3, 0xD0DE, 0xB582, 0xD0DF, 0xB583, 0xD0E0, 0xC5C4, 0xD0E1, 0xB584, 0xD0E2, 0xB585, 0xD0E3, 0xB586, - 0xD0E4, 0xC5C5, 0xD0E5, 0xB587, 0xD0E6, 0xB588, 0xD0E7, 0xB589, 0xD0E8, 0xB58A, 0xD0E9, 0xB58B, 0xD0EA, 0xB58C, 0xD0EB, 0xB58D, - 0xD0EC, 0xC5C6, 0xD0ED, 0xC5C7, 0xD0EE, 0xB58E, 0xD0EF, 0xC5C8, 0xD0F0, 0xC5C9, 0xD0F1, 0xC5CA, 0xD0F2, 0xB58F, 0xD0F3, 0xB590, - 0xD0F4, 0xB591, 0xD0F5, 0xB592, 0xD0F6, 0xB593, 0xD0F7, 0xB594, 0xD0F8, 0xC5CB, 0xD0F9, 0xB595, 0xD0FA, 0xB596, 0xD0FB, 0xB597, - 0xD0FC, 0xB598, 0xD0FD, 0xB599, 0xD0FE, 0xB59A, 0xD0FF, 0xB59B, 0xD100, 0xB59C, 0xD101, 0xB59D, 0xD102, 0xB59E, 0xD103, 0xB59F, - 0xD104, 0xB5A0, 0xD105, 0xB641, 0xD106, 0xB642, 0xD107, 0xB643, 0xD108, 0xB644, 0xD109, 0xB645, 0xD10A, 0xB646, 0xD10B, 0xB647, - 0xD10C, 0xB648, 0xD10D, 0xC5CC, 0xD10E, 0xB649, 0xD10F, 0xB64A, 0xD110, 0xB64B, 0xD111, 0xB64C, 0xD112, 0xB64D, 0xD113, 0xB64E, - 0xD114, 0xB64F, 0xD115, 0xB650, 0xD116, 0xB651, 0xD117, 0xB652, 0xD118, 0xB653, 0xD119, 0xB654, 0xD11A, 0xB655, 0xD11B, 0xB656, - 0xD11C, 0xB657, 0xD11D, 0xB658, 0xD11E, 0xB659, 0xD11F, 0xB65A, 0xD120, 0xB661, 0xD121, 0xB662, 0xD122, 0xB663, 0xD123, 0xB664, - 0xD124, 0xB665, 0xD125, 0xB666, 0xD126, 0xB667, 0xD127, 0xB668, 0xD128, 0xB669, 0xD129, 0xB66A, 0xD12A, 0xB66B, 0xD12B, 0xB66C, - 0xD12C, 0xB66D, 0xD12D, 0xB66E, 0xD12E, 0xB66F, 0xD12F, 0xB670, 0xD130, 0xC5CD, 0xD131, 0xC5CE, 0xD132, 0xB671, 0xD133, 0xB672, - 0xD134, 0xC5CF, 0xD135, 0xB673, 0xD136, 0xB674, 0xD137, 0xB675, 0xD138, 0xC5D0, 0xD139, 0xB676, 0xD13A, 0xC5D1, 0xD13B, 0xB677, - 0xD13C, 0xB678, 0xD13D, 0xB679, 0xD13E, 0xB67A, 0xD13F, 0xB681, 0xD140, 0xC5D2, 0xD141, 0xC5D3, 0xD142, 0xB682, 0xD143, 0xC5D4, - 0xD144, 0xC5D5, 0xD145, 0xC5D6, 0xD146, 0xB683, 0xD147, 0xB684, 0xD148, 0xB685, 0xD149, 0xB686, 0xD14A, 0xB687, 0xD14B, 0xB688, - 0xD14C, 0xC5D7, 0xD14D, 0xC5D8, 0xD14E, 0xB689, 0xD14F, 0xB68A, 0xD150, 0xC5D9, 0xD151, 0xB68B, 0xD152, 0xB68C, 0xD153, 0xB68D, - 0xD154, 0xC5DA, 0xD155, 0xB68E, 0xD156, 0xB68F, 0xD157, 0xB690, 0xD158, 0xB691, 0xD159, 0xB692, 0xD15A, 0xB693, 0xD15B, 0xB694, - 0xD15C, 0xC5DB, 0xD15D, 0xC5DC, 0xD15E, 0xB695, 0xD15F, 0xC5DD, 0xD160, 0xB696, 0xD161, 0xC5DE, 0xD162, 0xB697, 0xD163, 0xB698, - 0xD164, 0xB699, 0xD165, 0xB69A, 0xD166, 0xB69B, 0xD167, 0xB69C, 0xD168, 0xC5DF, 0xD169, 0xB69D, 0xD16A, 0xB69E, 0xD16B, 0xB69F, - 0xD16C, 0xC5E0, 0xD16D, 0xB6A0, 0xD16E, 0xB741, 0xD16F, 0xB742, 0xD170, 0xB743, 0xD171, 0xB744, 0xD172, 0xB745, 0xD173, 0xB746, - 0xD174, 0xB747, 0xD175, 0xB748, 0xD176, 0xB749, 0xD177, 0xB74A, 0xD178, 0xB74B, 0xD179, 0xB74C, 0xD17A, 0xB74D, 0xD17B, 0xB74E, - 0xD17C, 0xC5E1, 0xD17D, 0xB74F, 0xD17E, 0xB750, 0xD17F, 0xB751, 0xD180, 0xB752, 0xD181, 0xB753, 0xD182, 0xB754, 0xD183, 0xB755, - 0xD184, 0xC5E2, 0xD185, 0xB756, 0xD186, 0xB757, 0xD187, 0xB758, 0xD188, 0xC5E3, 0xD189, 0xB759, 0xD18A, 0xB75A, 0xD18B, 0xB761, - 0xD18C, 0xB762, 0xD18D, 0xB763, 0xD18E, 0xB764, 0xD18F, 0xB765, 0xD190, 0xB766, 0xD191, 0xB767, 0xD192, 0xB768, 0xD193, 0xB769, - 0xD194, 0xB76A, 0xD195, 0xB76B, 0xD196, 0xB76C, 0xD197, 0xB76D, 0xD198, 0xB76E, 0xD199, 0xB76F, 0xD19A, 0xB770, 0xD19B, 0xB771, - 0xD19C, 0xB772, 0xD19D, 0xB773, 0xD19E, 0xB774, 0xD19F, 0xB775, 0xD1A0, 0xC5E4, 0xD1A1, 0xC5E5, 0xD1A2, 0xB776, 0xD1A3, 0xB777, - 0xD1A4, 0xC5E6, 0xD1A5, 0xB778, 0xD1A6, 0xB779, 0xD1A7, 0xB77A, 0xD1A8, 0xC5E7, 0xD1A9, 0xB781, 0xD1AA, 0xB782, 0xD1AB, 0xB783, - 0xD1AC, 0xB784, 0xD1AD, 0xB785, 0xD1AE, 0xB786, 0xD1AF, 0xB787, 0xD1B0, 0xC5E8, 0xD1B1, 0xC5E9, 0xD1B2, 0xB788, 0xD1B3, 0xC5EA, - 0xD1B4, 0xB789, 0xD1B5, 0xC5EB, 0xD1B6, 0xB78A, 0xD1B7, 0xB78B, 0xD1B8, 0xB78C, 0xD1B9, 0xB78D, 0xD1BA, 0xC5EC, 0xD1BB, 0xB78E, - 0xD1BC, 0xC5ED, 0xD1BD, 0xB78F, 0xD1BE, 0xB790, 0xD1BF, 0xB791, 0xD1C0, 0xC5EE, 0xD1C1, 0xB792, 0xD1C2, 0xB793, 0xD1C3, 0xB794, - 0xD1C4, 0xB795, 0xD1C5, 0xB796, 0xD1C6, 0xB797, 0xD1C7, 0xB798, 0xD1C8, 0xB799, 0xD1C9, 0xB79A, 0xD1CA, 0xB79B, 0xD1CB, 0xB79C, - 0xD1CC, 0xB79D, 0xD1CD, 0xB79E, 0xD1CE, 0xB79F, 0xD1CF, 0xB7A0, 0xD1D0, 0xB841, 0xD1D1, 0xB842, 0xD1D2, 0xB843, 0xD1D3, 0xB844, - 0xD1D4, 0xB845, 0xD1D5, 0xB846, 0xD1D6, 0xB847, 0xD1D7, 0xB848, 0xD1D8, 0xC5EF, 0xD1D9, 0xB849, 0xD1DA, 0xB84A, 0xD1DB, 0xB84B, - 0xD1DC, 0xB84C, 0xD1DD, 0xB84D, 0xD1DE, 0xB84E, 0xD1DF, 0xB84F, 0xD1E0, 0xB850, 0xD1E1, 0xB851, 0xD1E2, 0xB852, 0xD1E3, 0xB853, - 0xD1E4, 0xB854, 0xD1E5, 0xB855, 0xD1E6, 0xB856, 0xD1E7, 0xB857, 0xD1E8, 0xB858, 0xD1E9, 0xB859, 0xD1EA, 0xB85A, 0xD1EB, 0xB861, - 0xD1EC, 0xB862, 0xD1ED, 0xB863, 0xD1EE, 0xB864, 0xD1EF, 0xB865, 0xD1F0, 0xB866, 0xD1F1, 0xB867, 0xD1F2, 0xB868, 0xD1F3, 0xB869, - 0xD1F4, 0xC5F0, 0xD1F5, 0xB86A, 0xD1F6, 0xB86B, 0xD1F7, 0xB86C, 0xD1F8, 0xC5F1, 0xD1F9, 0xB86D, 0xD1FA, 0xB86E, 0xD1FB, 0xB86F, - 0xD1FC, 0xB870, 0xD1FD, 0xB871, 0xD1FE, 0xB872, 0xD1FF, 0xB873, 0xD200, 0xB874, 0xD201, 0xB875, 0xD202, 0xB876, 0xD203, 0xB877, - 0xD204, 0xB878, 0xD205, 0xB879, 0xD206, 0xB87A, 0xD207, 0xC5F2, 0xD208, 0xB881, 0xD209, 0xC5F3, 0xD20A, 0xB882, 0xD20B, 0xB883, - 0xD20C, 0xB884, 0xD20D, 0xB885, 0xD20E, 0xB886, 0xD20F, 0xB887, 0xD210, 0xC5F4, 0xD211, 0xB888, 0xD212, 0xB889, 0xD213, 0xB88A, - 0xD214, 0xB88B, 0xD215, 0xB88C, 0xD216, 0xB88D, 0xD217, 0xB88E, 0xD218, 0xB88F, 0xD219, 0xB890, 0xD21A, 0xB891, 0xD21B, 0xB892, - 0xD21C, 0xB893, 0xD21D, 0xB894, 0xD21E, 0xB895, 0xD21F, 0xB896, 0xD220, 0xB897, 0xD221, 0xB898, 0xD222, 0xB899, 0xD223, 0xB89A, - 0xD224, 0xB89B, 0xD225, 0xB89C, 0xD226, 0xB89D, 0xD227, 0xB89E, 0xD228, 0xB89F, 0xD229, 0xB8A0, 0xD22A, 0xB941, 0xD22B, 0xB942, - 0xD22C, 0xC5F5, 0xD22D, 0xC5F6, 0xD22E, 0xB943, 0xD22F, 0xB944, 0xD230, 0xC5F7, 0xD231, 0xB945, 0xD232, 0xB946, 0xD233, 0xB947, - 0xD234, 0xC5F8, 0xD235, 0xB948, 0xD236, 0xB949, 0xD237, 0xB94A, 0xD238, 0xB94B, 0xD239, 0xB94C, 0xD23A, 0xB94D, 0xD23B, 0xB94E, - 0xD23C, 0xC5F9, 0xD23D, 0xC5FA, 0xD23E, 0xB94F, 0xD23F, 0xC5FB, 0xD240, 0xB950, 0xD241, 0xC5FC, 0xD242, 0xB951, 0xD243, 0xB952, - 0xD244, 0xB953, 0xD245, 0xB954, 0xD246, 0xB955, 0xD247, 0xB956, 0xD248, 0xC5FD, 0xD249, 0xB957, 0xD24A, 0xB958, 0xD24B, 0xB959, - 0xD24C, 0xB95A, 0xD24D, 0xB961, 0xD24E, 0xB962, 0xD24F, 0xB963, 0xD250, 0xB964, 0xD251, 0xB965, 0xD252, 0xB966, 0xD253, 0xB967, - 0xD254, 0xB968, 0xD255, 0xB969, 0xD256, 0xB96A, 0xD257, 0xB96B, 0xD258, 0xB96C, 0xD259, 0xB96D, 0xD25A, 0xB96E, 0xD25B, 0xB96F, - 0xD25C, 0xC5FE, 0xD25D, 0xB970, 0xD25E, 0xB971, 0xD25F, 0xB972, 0xD260, 0xB973, 0xD261, 0xB974, 0xD262, 0xB975, 0xD263, 0xB976, - 0xD264, 0xC6A1, 0xD265, 0xB977, 0xD266, 0xB978, 0xD267, 0xB979, 0xD268, 0xB97A, 0xD269, 0xB981, 0xD26A, 0xB982, 0xD26B, 0xB983, - 0xD26C, 0xB984, 0xD26D, 0xB985, 0xD26E, 0xB986, 0xD26F, 0xB987, 0xD270, 0xB988, 0xD271, 0xB989, 0xD272, 0xB98A, 0xD273, 0xB98B, - 0xD274, 0xB98C, 0xD275, 0xB98D, 0xD276, 0xB98E, 0xD277, 0xB98F, 0xD278, 0xB990, 0xD279, 0xB991, 0xD27A, 0xB992, 0xD27B, 0xB993, - 0xD27C, 0xB994, 0xD27D, 0xB995, 0xD27E, 0xB996, 0xD27F, 0xB997, 0xD280, 0xC6A2, 0xD281, 0xC6A3, 0xD282, 0xB998, 0xD283, 0xB999, - 0xD284, 0xC6A4, 0xD285, 0xB99A, 0xD286, 0xB99B, 0xD287, 0xB99C, 0xD288, 0xC6A5, 0xD289, 0xB99D, 0xD28A, 0xB99E, 0xD28B, 0xB99F, - 0xD28C, 0xB9A0, 0xD28D, 0xBA41, 0xD28E, 0xBA42, 0xD28F, 0xBA43, 0xD290, 0xC6A6, 0xD291, 0xC6A7, 0xD292, 0xBA44, 0xD293, 0xBA45, - 0xD294, 0xBA46, 0xD295, 0xC6A8, 0xD296, 0xBA47, 0xD297, 0xBA48, 0xD298, 0xBA49, 0xD299, 0xBA4A, 0xD29A, 0xBA4B, 0xD29B, 0xBA4C, - 0xD29C, 0xC6A9, 0xD29D, 0xBA4D, 0xD29E, 0xBA4E, 0xD29F, 0xBA4F, 0xD2A0, 0xC6AA, 0xD2A1, 0xBA50, 0xD2A2, 0xBA51, 0xD2A3, 0xBA52, - 0xD2A4, 0xC6AB, 0xD2A5, 0xBA53, 0xD2A6, 0xBA54, 0xD2A7, 0xBA55, 0xD2A8, 0xBA56, 0xD2A9, 0xBA57, 0xD2AA, 0xBA58, 0xD2AB, 0xBA59, - 0xD2AC, 0xC6AC, 0xD2AD, 0xBA5A, 0xD2AE, 0xBA61, 0xD2AF, 0xBA62, 0xD2B0, 0xBA63, 0xD2B1, 0xC6AD, 0xD2B2, 0xBA64, 0xD2B3, 0xBA65, - 0xD2B4, 0xBA66, 0xD2B5, 0xBA67, 0xD2B6, 0xBA68, 0xD2B7, 0xBA69, 0xD2B8, 0xC6AE, 0xD2B9, 0xC6AF, 0xD2BA, 0xBA6A, 0xD2BB, 0xBA6B, - 0xD2BC, 0xC6B0, 0xD2BD, 0xBA6C, 0xD2BE, 0xBA6D, 0xD2BF, 0xC6B1, 0xD2C0, 0xC6B2, 0xD2C1, 0xBA6E, 0xD2C2, 0xC6B3, 0xD2C3, 0xBA6F, - 0xD2C4, 0xBA70, 0xD2C5, 0xBA71, 0xD2C6, 0xBA72, 0xD2C7, 0xBA73, 0xD2C8, 0xC6B4, 0xD2C9, 0xC6B5, 0xD2CA, 0xBA74, 0xD2CB, 0xC6B6, - 0xD2CC, 0xBA75, 0xD2CD, 0xBA76, 0xD2CE, 0xBA77, 0xD2CF, 0xBA78, 0xD2D0, 0xBA79, 0xD2D1, 0xBA7A, 0xD2D2, 0xBA81, 0xD2D3, 0xBA82, - 0xD2D4, 0xC6B7, 0xD2D5, 0xBA83, 0xD2D6, 0xBA84, 0xD2D7, 0xBA85, 0xD2D8, 0xC6B8, 0xD2D9, 0xBA86, 0xD2DA, 0xBA87, 0xD2DB, 0xBA88, - 0xD2DC, 0xC6B9, 0xD2DD, 0xBA89, 0xD2DE, 0xBA8A, 0xD2DF, 0xBA8B, 0xD2E0, 0xBA8C, 0xD2E1, 0xBA8D, 0xD2E2, 0xBA8E, 0xD2E3, 0xBA8F, - 0xD2E4, 0xC6BA, 0xD2E5, 0xC6BB, 0xD2E6, 0xBA90, 0xD2E7, 0xBA91, 0xD2E8, 0xBA92, 0xD2E9, 0xBA93, 0xD2EA, 0xBA94, 0xD2EB, 0xBA95, - 0xD2EC, 0xBA96, 0xD2ED, 0xBA97, 0xD2EE, 0xBA98, 0xD2EF, 0xBA99, 0xD2F0, 0xC6BC, 0xD2F1, 0xC6BD, 0xD2F2, 0xBA9A, 0xD2F3, 0xBA9B, - 0xD2F4, 0xC6BE, 0xD2F5, 0xBA9C, 0xD2F6, 0xBA9D, 0xD2F7, 0xBA9E, 0xD2F8, 0xC6BF, 0xD2F9, 0xBA9F, 0xD2FA, 0xBAA0, 0xD2FB, 0xBB41, - 0xD2FC, 0xBB42, 0xD2FD, 0xBB43, 0xD2FE, 0xBB44, 0xD2FF, 0xBB45, 0xD300, 0xC6C0, 0xD301, 0xC6C1, 0xD302, 0xBB46, 0xD303, 0xC6C2, - 0xD304, 0xBB47, 0xD305, 0xC6C3, 0xD306, 0xBB48, 0xD307, 0xBB49, 0xD308, 0xBB4A, 0xD309, 0xBB4B, 0xD30A, 0xBB4C, 0xD30B, 0xBB4D, - 0xD30C, 0xC6C4, 0xD30D, 0xC6C5, 0xD30E, 0xC6C6, 0xD30F, 0xBB4E, 0xD310, 0xC6C7, 0xD311, 0xBB4F, 0xD312, 0xBB50, 0xD313, 0xBB51, - 0xD314, 0xC6C8, 0xD315, 0xBB52, 0xD316, 0xC6C9, 0xD317, 0xBB53, 0xD318, 0xBB54, 0xD319, 0xBB55, 0xD31A, 0xBB56, 0xD31B, 0xBB57, - 0xD31C, 0xC6CA, 0xD31D, 0xC6CB, 0xD31E, 0xBB58, 0xD31F, 0xC6CC, 0xD320, 0xC6CD, 0xD321, 0xC6CE, 0xD322, 0xBB59, 0xD323, 0xBB5A, - 0xD324, 0xBB61, 0xD325, 0xC6CF, 0xD326, 0xBB62, 0xD327, 0xBB63, 0xD328, 0xC6D0, 0xD329, 0xC6D1, 0xD32A, 0xBB64, 0xD32B, 0xBB65, - 0xD32C, 0xC6D2, 0xD32D, 0xBB66, 0xD32E, 0xBB67, 0xD32F, 0xBB68, 0xD330, 0xC6D3, 0xD331, 0xBB69, 0xD332, 0xBB6A, 0xD333, 0xBB6B, - 0xD334, 0xBB6C, 0xD335, 0xBB6D, 0xD336, 0xBB6E, 0xD337, 0xBB6F, 0xD338, 0xC6D4, 0xD339, 0xC6D5, 0xD33A, 0xBB70, 0xD33B, 0xC6D6, - 0xD33C, 0xC6D7, 0xD33D, 0xC6D8, 0xD33E, 0xBB71, 0xD33F, 0xBB72, 0xD340, 0xBB73, 0xD341, 0xBB74, 0xD342, 0xBB75, 0xD343, 0xBB76, - 0xD344, 0xC6D9, 0xD345, 0xC6DA, 0xD346, 0xBB77, 0xD347, 0xBB78, 0xD348, 0xBB79, 0xD349, 0xBB7A, 0xD34A, 0xBB81, 0xD34B, 0xBB82, - 0xD34C, 0xBB83, 0xD34D, 0xBB84, 0xD34E, 0xBB85, 0xD34F, 0xBB86, 0xD350, 0xBB87, 0xD351, 0xBB88, 0xD352, 0xBB89, 0xD353, 0xBB8A, - 0xD354, 0xBB8B, 0xD355, 0xBB8C, 0xD356, 0xBB8D, 0xD357, 0xBB8E, 0xD358, 0xBB8F, 0xD359, 0xBB90, 0xD35A, 0xBB91, 0xD35B, 0xBB92, - 0xD35C, 0xBB93, 0xD35D, 0xBB94, 0xD35E, 0xBB95, 0xD35F, 0xBB96, 0xD360, 0xBB97, 0xD361, 0xBB98, 0xD362, 0xBB99, 0xD363, 0xBB9A, - 0xD364, 0xBB9B, 0xD365, 0xBB9C, 0xD366, 0xBB9D, 0xD367, 0xBB9E, 0xD368, 0xBB9F, 0xD369, 0xBBA0, 0xD36A, 0xBC41, 0xD36B, 0xBC42, - 0xD36C, 0xBC43, 0xD36D, 0xBC44, 0xD36E, 0xBC45, 0xD36F, 0xBC46, 0xD370, 0xBC47, 0xD371, 0xBC48, 0xD372, 0xBC49, 0xD373, 0xBC4A, - 0xD374, 0xBC4B, 0xD375, 0xBC4C, 0xD376, 0xBC4D, 0xD377, 0xBC4E, 0xD378, 0xBC4F, 0xD379, 0xBC50, 0xD37A, 0xBC51, 0xD37B, 0xBC52, - 0xD37C, 0xC6DB, 0xD37D, 0xC6DC, 0xD37E, 0xBC53, 0xD37F, 0xBC54, 0xD380, 0xC6DD, 0xD381, 0xBC55, 0xD382, 0xBC56, 0xD383, 0xBC57, - 0xD384, 0xC6DE, 0xD385, 0xBC58, 0xD386, 0xBC59, 0xD387, 0xBC5A, 0xD388, 0xBC61, 0xD389, 0xBC62, 0xD38A, 0xBC63, 0xD38B, 0xBC64, - 0xD38C, 0xC6DF, 0xD38D, 0xC6E0, 0xD38E, 0xBC65, 0xD38F, 0xC6E1, 0xD390, 0xC6E2, 0xD391, 0xC6E3, 0xD392, 0xBC66, 0xD393, 0xBC67, - 0xD394, 0xBC68, 0xD395, 0xBC69, 0xD396, 0xBC6A, 0xD397, 0xBC6B, 0xD398, 0xC6E4, 0xD399, 0xC6E5, 0xD39A, 0xBC6C, 0xD39B, 0xBC6D, - 0xD39C, 0xC6E6, 0xD39D, 0xBC6E, 0xD39E, 0xBC6F, 0xD39F, 0xBC70, 0xD3A0, 0xC6E7, 0xD3A1, 0xBC71, 0xD3A2, 0xBC72, 0xD3A3, 0xBC73, - 0xD3A4, 0xBC74, 0xD3A5, 0xBC75, 0xD3A6, 0xBC76, 0xD3A7, 0xBC77, 0xD3A8, 0xC6E8, 0xD3A9, 0xC6E9, 0xD3AA, 0xBC78, 0xD3AB, 0xC6EA, - 0xD3AC, 0xBC79, 0xD3AD, 0xC6EB, 0xD3AE, 0xBC7A, 0xD3AF, 0xBC81, 0xD3B0, 0xBC82, 0xD3B1, 0xBC83, 0xD3B2, 0xBC84, 0xD3B3, 0xBC85, - 0xD3B4, 0xC6EC, 0xD3B5, 0xBC86, 0xD3B6, 0xBC87, 0xD3B7, 0xBC88, 0xD3B8, 0xC6ED, 0xD3B9, 0xBC89, 0xD3BA, 0xBC8A, 0xD3BB, 0xBC8B, - 0xD3BC, 0xC6EE, 0xD3BD, 0xBC8C, 0xD3BE, 0xBC8D, 0xD3BF, 0xBC8E, 0xD3C0, 0xBC8F, 0xD3C1, 0xBC90, 0xD3C2, 0xBC91, 0xD3C3, 0xBC92, - 0xD3C4, 0xC6EF, 0xD3C5, 0xC6F0, 0xD3C6, 0xBC93, 0xD3C7, 0xBC94, 0xD3C8, 0xC6F1, 0xD3C9, 0xC6F2, 0xD3CA, 0xBC95, 0xD3CB, 0xBC96, - 0xD3CC, 0xBC97, 0xD3CD, 0xBC98, 0xD3CE, 0xBC99, 0xD3CF, 0xBC9A, 0xD3D0, 0xC6F3, 0xD3D1, 0xBC9B, 0xD3D2, 0xBC9C, 0xD3D3, 0xBC9D, - 0xD3D4, 0xBC9E, 0xD3D5, 0xBC9F, 0xD3D6, 0xBCA0, 0xD3D7, 0xBD41, 0xD3D8, 0xC6F4, 0xD3D9, 0xBD42, 0xD3DA, 0xBD43, 0xD3DB, 0xBD44, - 0xD3DC, 0xBD45, 0xD3DD, 0xBD46, 0xD3DE, 0xBD47, 0xD3DF, 0xBD48, 0xD3E0, 0xBD49, 0xD3E1, 0xC6F5, 0xD3E2, 0xBD4A, 0xD3E3, 0xC6F6, - 0xD3E4, 0xBD4B, 0xD3E5, 0xBD4C, 0xD3E6, 0xBD4D, 0xD3E7, 0xBD4E, 0xD3E8, 0xBD4F, 0xD3E9, 0xBD50, 0xD3EA, 0xBD51, 0xD3EB, 0xBD52, - 0xD3EC, 0xC6F7, 0xD3ED, 0xC6F8, 0xD3EE, 0xBD53, 0xD3EF, 0xBD54, 0xD3F0, 0xC6F9, 0xD3F1, 0xBD55, 0xD3F2, 0xBD56, 0xD3F3, 0xBD57, - 0xD3F4, 0xC6FA, 0xD3F5, 0xBD58, 0xD3F6, 0xBD59, 0xD3F7, 0xBD5A, 0xD3F8, 0xBD61, 0xD3F9, 0xBD62, 0xD3FA, 0xBD63, 0xD3FB, 0xBD64, - 0xD3FC, 0xC6FB, 0xD3FD, 0xC6FC, 0xD3FE, 0xBD65, 0xD3FF, 0xC6FD, 0xD400, 0xBD66, 0xD401, 0xC6FE, 0xD402, 0xBD67, 0xD403, 0xBD68, - 0xD404, 0xBD69, 0xD405, 0xBD6A, 0xD406, 0xBD6B, 0xD407, 0xBD6C, 0xD408, 0xC7A1, 0xD409, 0xBD6D, 0xD40A, 0xBD6E, 0xD40B, 0xBD6F, - 0xD40C, 0xBD70, 0xD40D, 0xBD71, 0xD40E, 0xBD72, 0xD40F, 0xBD73, 0xD410, 0xBD74, 0xD411, 0xBD75, 0xD412, 0xBD76, 0xD413, 0xBD77, - 0xD414, 0xBD78, 0xD415, 0xBD79, 0xD416, 0xBD7A, 0xD417, 0xBD81, 0xD418, 0xBD82, 0xD419, 0xBD83, 0xD41A, 0xBD84, 0xD41B, 0xBD85, - 0xD41C, 0xBD86, 0xD41D, 0xC7A2, 0xD41E, 0xBD87, 0xD41F, 0xBD88, 0xD420, 0xBD89, 0xD421, 0xBD8A, 0xD422, 0xBD8B, 0xD423, 0xBD8C, - 0xD424, 0xBD8D, 0xD425, 0xBD8E, 0xD426, 0xBD8F, 0xD427, 0xBD90, 0xD428, 0xBD91, 0xD429, 0xBD92, 0xD42A, 0xBD93, 0xD42B, 0xBD94, - 0xD42C, 0xBD95, 0xD42D, 0xBD96, 0xD42E, 0xBD97, 0xD42F, 0xBD98, 0xD430, 0xBD99, 0xD431, 0xBD9A, 0xD432, 0xBD9B, 0xD433, 0xBD9C, - 0xD434, 0xBD9D, 0xD435, 0xBD9E, 0xD436, 0xBD9F, 0xD437, 0xBDA0, 0xD438, 0xBE41, 0xD439, 0xBE42, 0xD43A, 0xBE43, 0xD43B, 0xBE44, - 0xD43C, 0xBE45, 0xD43D, 0xBE46, 0xD43E, 0xBE47, 0xD43F, 0xBE48, 0xD440, 0xC7A3, 0xD441, 0xBE49, 0xD442, 0xBE4A, 0xD443, 0xBE4B, - 0xD444, 0xC7A4, 0xD445, 0xBE4C, 0xD446, 0xBE4D, 0xD447, 0xBE4E, 0xD448, 0xBE4F, 0xD449, 0xBE50, 0xD44A, 0xBE51, 0xD44B, 0xBE52, - 0xD44C, 0xBE53, 0xD44D, 0xBE54, 0xD44E, 0xBE55, 0xD44F, 0xBE56, 0xD450, 0xBE57, 0xD451, 0xBE58, 0xD452, 0xBE59, 0xD453, 0xBE5A, - 0xD454, 0xBE61, 0xD455, 0xBE62, 0xD456, 0xBE63, 0xD457, 0xBE64, 0xD458, 0xBE65, 0xD459, 0xBE66, 0xD45A, 0xBE67, 0xD45B, 0xBE68, - 0xD45C, 0xC7A5, 0xD45D, 0xBE69, 0xD45E, 0xBE6A, 0xD45F, 0xBE6B, 0xD460, 0xC7A6, 0xD461, 0xBE6C, 0xD462, 0xBE6D, 0xD463, 0xBE6E, - 0xD464, 0xC7A7, 0xD465, 0xBE6F, 0xD466, 0xBE70, 0xD467, 0xBE71, 0xD468, 0xBE72, 0xD469, 0xBE73, 0xD46A, 0xBE74, 0xD46B, 0xBE75, - 0xD46C, 0xBE76, 0xD46D, 0xC7A8, 0xD46E, 0xBE77, 0xD46F, 0xC7A9, 0xD470, 0xBE78, 0xD471, 0xBE79, 0xD472, 0xBE7A, 0xD473, 0xBE81, - 0xD474, 0xBE82, 0xD475, 0xBE83, 0xD476, 0xBE84, 0xD477, 0xBE85, 0xD478, 0xC7AA, 0xD479, 0xC7AB, 0xD47A, 0xBE86, 0xD47B, 0xBE87, - 0xD47C, 0xC7AC, 0xD47D, 0xBE88, 0xD47E, 0xBE89, 0xD47F, 0xC7AD, 0xD480, 0xC7AE, 0xD481, 0xBE8A, 0xD482, 0xC7AF, 0xD483, 0xBE8B, - 0xD484, 0xBE8C, 0xD485, 0xBE8D, 0xD486, 0xBE8E, 0xD487, 0xBE8F, 0xD488, 0xC7B0, 0xD489, 0xC7B1, 0xD48A, 0xBE90, 0xD48B, 0xC7B2, - 0xD48C, 0xBE91, 0xD48D, 0xC7B3, 0xD48E, 0xBE92, 0xD48F, 0xBE93, 0xD490, 0xBE94, 0xD491, 0xBE95, 0xD492, 0xBE96, 0xD493, 0xBE97, - 0xD494, 0xC7B4, 0xD495, 0xBE98, 0xD496, 0xBE99, 0xD497, 0xBE9A, 0xD498, 0xBE9B, 0xD499, 0xBE9C, 0xD49A, 0xBE9D, 0xD49B, 0xBE9E, - 0xD49C, 0xBE9F, 0xD49D, 0xBEA0, 0xD49E, 0xBF41, 0xD49F, 0xBF42, 0xD4A0, 0xBF43, 0xD4A1, 0xBF44, 0xD4A2, 0xBF45, 0xD4A3, 0xBF46, - 0xD4A4, 0xBF47, 0xD4A5, 0xBF48, 0xD4A6, 0xBF49, 0xD4A7, 0xBF4A, 0xD4A8, 0xBF4B, 0xD4A9, 0xC7B5, 0xD4AA, 0xBF4C, 0xD4AB, 0xBF4D, - 0xD4AC, 0xBF4E, 0xD4AD, 0xBF4F, 0xD4AE, 0xBF50, 0xD4AF, 0xBF51, 0xD4B0, 0xBF52, 0xD4B1, 0xBF53, 0xD4B2, 0xBF54, 0xD4B3, 0xBF55, - 0xD4B4, 0xBF56, 0xD4B5, 0xBF57, 0xD4B6, 0xBF58, 0xD4B7, 0xBF59, 0xD4B8, 0xBF5A, 0xD4B9, 0xBF61, 0xD4BA, 0xBF62, 0xD4BB, 0xBF63, - 0xD4BC, 0xBF64, 0xD4BD, 0xBF65, 0xD4BE, 0xBF66, 0xD4BF, 0xBF67, 0xD4C0, 0xBF68, 0xD4C1, 0xBF69, 0xD4C2, 0xBF6A, 0xD4C3, 0xBF6B, - 0xD4C4, 0xBF6C, 0xD4C5, 0xBF6D, 0xD4C6, 0xBF6E, 0xD4C7, 0xBF6F, 0xD4C8, 0xBF70, 0xD4C9, 0xBF71, 0xD4CA, 0xBF72, 0xD4CB, 0xBF73, - 0xD4CC, 0xC7B6, 0xD4CD, 0xBF74, 0xD4CE, 0xBF75, 0xD4CF, 0xBF76, 0xD4D0, 0xC7B7, 0xD4D1, 0xBF77, 0xD4D2, 0xBF78, 0xD4D3, 0xBF79, - 0xD4D4, 0xC7B8, 0xD4D5, 0xBF7A, 0xD4D6, 0xBF81, 0xD4D7, 0xBF82, 0xD4D8, 0xBF83, 0xD4D9, 0xBF84, 0xD4DA, 0xBF85, 0xD4DB, 0xBF86, - 0xD4DC, 0xC7B9, 0xD4DD, 0xBF87, 0xD4DE, 0xBF88, 0xD4DF, 0xC7BA, 0xD4E0, 0xBF89, 0xD4E1, 0xBF8A, 0xD4E2, 0xBF8B, 0xD4E3, 0xBF8C, - 0xD4E4, 0xBF8D, 0xD4E5, 0xBF8E, 0xD4E6, 0xBF8F, 0xD4E7, 0xBF90, 0xD4E8, 0xC7BB, 0xD4E9, 0xBF91, 0xD4EA, 0xBF92, 0xD4EB, 0xBF93, - 0xD4EC, 0xC7BC, 0xD4ED, 0xBF94, 0xD4EE, 0xBF95, 0xD4EF, 0xBF96, 0xD4F0, 0xC7BD, 0xD4F1, 0xBF97, 0xD4F2, 0xBF98, 0xD4F3, 0xBF99, - 0xD4F4, 0xBF9A, 0xD4F5, 0xBF9B, 0xD4F6, 0xBF9C, 0xD4F7, 0xBF9D, 0xD4F8, 0xC7BE, 0xD4F9, 0xBF9E, 0xD4FA, 0xBF9F, 0xD4FB, 0xC7BF, - 0xD4FC, 0xBFA0, 0xD4FD, 0xC7C0, 0xD4FE, 0xC041, 0xD4FF, 0xC042, 0xD500, 0xC043, 0xD501, 0xC044, 0xD502, 0xC045, 0xD503, 0xC046, - 0xD504, 0xC7C1, 0xD505, 0xC047, 0xD506, 0xC048, 0xD507, 0xC049, 0xD508, 0xC7C2, 0xD509, 0xC04A, 0xD50A, 0xC04B, 0xD50B, 0xC04C, - 0xD50C, 0xC7C3, 0xD50D, 0xC04D, 0xD50E, 0xC04E, 0xD50F, 0xC04F, 0xD510, 0xC050, 0xD511, 0xC051, 0xD512, 0xC052, 0xD513, 0xC053, - 0xD514, 0xC7C4, 0xD515, 0xC7C5, 0xD516, 0xC054, 0xD517, 0xC7C6, 0xD518, 0xC055, 0xD519, 0xC056, 0xD51A, 0xC057, 0xD51B, 0xC058, - 0xD51C, 0xC059, 0xD51D, 0xC05A, 0xD51E, 0xC061, 0xD51F, 0xC062, 0xD520, 0xC063, 0xD521, 0xC064, 0xD522, 0xC065, 0xD523, 0xC066, - 0xD524, 0xC067, 0xD525, 0xC068, 0xD526, 0xC069, 0xD527, 0xC06A, 0xD528, 0xC06B, 0xD529, 0xC06C, 0xD52A, 0xC06D, 0xD52B, 0xC06E, - 0xD52C, 0xC06F, 0xD52D, 0xC070, 0xD52E, 0xC071, 0xD52F, 0xC072, 0xD530, 0xC073, 0xD531, 0xC074, 0xD532, 0xC075, 0xD533, 0xC076, - 0xD534, 0xC077, 0xD535, 0xC078, 0xD536, 0xC079, 0xD537, 0xC07A, 0xD538, 0xC081, 0xD539, 0xC082, 0xD53A, 0xC083, 0xD53B, 0xC084, - 0xD53C, 0xC7C7, 0xD53D, 0xC7C8, 0xD53E, 0xC085, 0xD53F, 0xC086, 0xD540, 0xC7C9, 0xD541, 0xC087, 0xD542, 0xC088, 0xD543, 0xC089, - 0xD544, 0xC7CA, 0xD545, 0xC08A, 0xD546, 0xC08B, 0xD547, 0xC08C, 0xD548, 0xC08D, 0xD549, 0xC08E, 0xD54A, 0xC08F, 0xD54B, 0xC090, - 0xD54C, 0xC7CB, 0xD54D, 0xC7CC, 0xD54E, 0xC091, 0xD54F, 0xC7CD, 0xD550, 0xC092, 0xD551, 0xC7CE, 0xD552, 0xC093, 0xD553, 0xC094, - 0xD554, 0xC095, 0xD555, 0xC096, 0xD556, 0xC097, 0xD557, 0xC098, 0xD558, 0xC7CF, 0xD559, 0xC7D0, 0xD55A, 0xC099, 0xD55B, 0xC09A, - 0xD55C, 0xC7D1, 0xD55D, 0xC09B, 0xD55E, 0xC09C, 0xD55F, 0xC09D, 0xD560, 0xC7D2, 0xD561, 0xC09E, 0xD562, 0xC09F, 0xD563, 0xC0A0, - 0xD564, 0xC141, 0xD565, 0xC7D3, 0xD566, 0xC142, 0xD567, 0xC143, 0xD568, 0xC7D4, 0xD569, 0xC7D5, 0xD56A, 0xC144, 0xD56B, 0xC7D6, - 0xD56C, 0xC145, 0xD56D, 0xC7D7, 0xD56E, 0xC146, 0xD56F, 0xC147, 0xD570, 0xC148, 0xD571, 0xC149, 0xD572, 0xC14A, 0xD573, 0xC14B, - 0xD574, 0xC7D8, 0xD575, 0xC7D9, 0xD576, 0xC14C, 0xD577, 0xC14D, 0xD578, 0xC7DA, 0xD579, 0xC14E, 0xD57A, 0xC14F, 0xD57B, 0xC150, - 0xD57C, 0xC7DB, 0xD57D, 0xC151, 0xD57E, 0xC152, 0xD57F, 0xC153, 0xD580, 0xC154, 0xD581, 0xC155, 0xD582, 0xC156, 0xD583, 0xC157, - 0xD584, 0xC7DC, 0xD585, 0xC7DD, 0xD586, 0xC158, 0xD587, 0xC7DE, 0xD588, 0xC7DF, 0xD589, 0xC7E0, 0xD58A, 0xC159, 0xD58B, 0xC15A, - 0xD58C, 0xC161, 0xD58D, 0xC162, 0xD58E, 0xC163, 0xD58F, 0xC164, 0xD590, 0xC7E1, 0xD591, 0xC165, 0xD592, 0xC166, 0xD593, 0xC167, - 0xD594, 0xC168, 0xD595, 0xC169, 0xD596, 0xC16A, 0xD597, 0xC16B, 0xD598, 0xC16C, 0xD599, 0xC16D, 0xD59A, 0xC16E, 0xD59B, 0xC16F, - 0xD59C, 0xC170, 0xD59D, 0xC171, 0xD59E, 0xC172, 0xD59F, 0xC173, 0xD5A0, 0xC174, 0xD5A1, 0xC175, 0xD5A2, 0xC176, 0xD5A3, 0xC177, - 0xD5A4, 0xC178, 0xD5A5, 0xC7E2, 0xD5A6, 0xC179, 0xD5A7, 0xC17A, 0xD5A8, 0xC181, 0xD5A9, 0xC182, 0xD5AA, 0xC183, 0xD5AB, 0xC184, - 0xD5AC, 0xC185, 0xD5AD, 0xC186, 0xD5AE, 0xC187, 0xD5AF, 0xC188, 0xD5B0, 0xC189, 0xD5B1, 0xC18A, 0xD5B2, 0xC18B, 0xD5B3, 0xC18C, - 0xD5B4, 0xC18D, 0xD5B5, 0xC18E, 0xD5B6, 0xC18F, 0xD5B7, 0xC190, 0xD5B8, 0xC191, 0xD5B9, 0xC192, 0xD5BA, 0xC193, 0xD5BB, 0xC194, - 0xD5BC, 0xC195, 0xD5BD, 0xC196, 0xD5BE, 0xC197, 0xD5BF, 0xC198, 0xD5C0, 0xC199, 0xD5C1, 0xC19A, 0xD5C2, 0xC19B, 0xD5C3, 0xC19C, - 0xD5C4, 0xC19D, 0xD5C5, 0xC19E, 0xD5C6, 0xC19F, 0xD5C7, 0xC1A0, 0xD5C8, 0xC7E3, 0xD5C9, 0xC7E4, 0xD5CA, 0xC241, 0xD5CB, 0xC242, - 0xD5CC, 0xC7E5, 0xD5CD, 0xC243, 0xD5CE, 0xC244, 0xD5CF, 0xC245, 0xD5D0, 0xC7E6, 0xD5D1, 0xC246, 0xD5D2, 0xC7E7, 0xD5D3, 0xC247, - 0xD5D4, 0xC248, 0xD5D5, 0xC249, 0xD5D6, 0xC24A, 0xD5D7, 0xC24B, 0xD5D8, 0xC7E8, 0xD5D9, 0xC7E9, 0xD5DA, 0xC24C, 0xD5DB, 0xC7EA, - 0xD5DC, 0xC24D, 0xD5DD, 0xC7EB, 0xD5DE, 0xC24E, 0xD5DF, 0xC24F, 0xD5E0, 0xC250, 0xD5E1, 0xC251, 0xD5E2, 0xC252, 0xD5E3, 0xC253, - 0xD5E4, 0xC7EC, 0xD5E5, 0xC7ED, 0xD5E6, 0xC254, 0xD5E7, 0xC255, 0xD5E8, 0xC7EE, 0xD5E9, 0xC256, 0xD5EA, 0xC257, 0xD5EB, 0xC258, - 0xD5EC, 0xC7EF, 0xD5ED, 0xC259, 0xD5EE, 0xC25A, 0xD5EF, 0xC261, 0xD5F0, 0xC262, 0xD5F1, 0xC263, 0xD5F2, 0xC264, 0xD5F3, 0xC265, - 0xD5F4, 0xC7F0, 0xD5F5, 0xC7F1, 0xD5F6, 0xC266, 0xD5F7, 0xC7F2, 0xD5F8, 0xC267, 0xD5F9, 0xC7F3, 0xD5FA, 0xC268, 0xD5FB, 0xC269, - 0xD5FC, 0xC26A, 0xD5FD, 0xC26B, 0xD5FE, 0xC26C, 0xD5FF, 0xC26D, 0xD600, 0xC7F4, 0xD601, 0xC7F5, 0xD602, 0xC26E, 0xD603, 0xC26F, - 0xD604, 0xC7F6, 0xD605, 0xC270, 0xD606, 0xC271, 0xD607, 0xC272, 0xD608, 0xC7F7, 0xD609, 0xC273, 0xD60A, 0xC274, 0xD60B, 0xC275, - 0xD60C, 0xC276, 0xD60D, 0xC277, 0xD60E, 0xC278, 0xD60F, 0xC279, 0xD610, 0xC7F8, 0xD611, 0xC7F9, 0xD612, 0xC27A, 0xD613, 0xC7FA, - 0xD614, 0xC7FB, 0xD615, 0xC7FC, 0xD616, 0xC281, 0xD617, 0xC282, 0xD618, 0xC283, 0xD619, 0xC284, 0xD61A, 0xC285, 0xD61B, 0xC286, - 0xD61C, 0xC7FD, 0xD61D, 0xC287, 0xD61E, 0xC288, 0xD61F, 0xC289, 0xD620, 0xC7FE, 0xD621, 0xC28A, 0xD622, 0xC28B, 0xD623, 0xC28C, - 0xD624, 0xC8A1, 0xD625, 0xC28D, 0xD626, 0xC28E, 0xD627, 0xC28F, 0xD628, 0xC290, 0xD629, 0xC291, 0xD62A, 0xC292, 0xD62B, 0xC293, - 0xD62C, 0xC294, 0xD62D, 0xC8A2, 0xD62E, 0xC295, 0xD62F, 0xC296, 0xD630, 0xC297, 0xD631, 0xC298, 0xD632, 0xC299, 0xD633, 0xC29A, - 0xD634, 0xC29B, 0xD635, 0xC29C, 0xD636, 0xC29D, 0xD637, 0xC29E, 0xD638, 0xC8A3, 0xD639, 0xC8A4, 0xD63A, 0xC29F, 0xD63B, 0xC2A0, - 0xD63C, 0xC8A5, 0xD63D, 0xC341, 0xD63E, 0xC342, 0xD63F, 0xC343, 0xD640, 0xC8A6, 0xD641, 0xC344, 0xD642, 0xC345, 0xD643, 0xC346, - 0xD644, 0xC347, 0xD645, 0xC8A7, 0xD646, 0xC348, 0xD647, 0xC349, 0xD648, 0xC8A8, 0xD649, 0xC8A9, 0xD64A, 0xC34A, 0xD64B, 0xC8AA, - 0xD64C, 0xC34B, 0xD64D, 0xC8AB, 0xD64E, 0xC34C, 0xD64F, 0xC34D, 0xD650, 0xC34E, 0xD651, 0xC8AC, 0xD652, 0xC34F, 0xD653, 0xC350, - 0xD654, 0xC8AD, 0xD655, 0xC8AE, 0xD656, 0xC351, 0xD657, 0xC352, 0xD658, 0xC8AF, 0xD659, 0xC353, 0xD65A, 0xC354, 0xD65B, 0xC355, - 0xD65C, 0xC8B0, 0xD65D, 0xC356, 0xD65E, 0xC357, 0xD65F, 0xC358, 0xD660, 0xC359, 0xD661, 0xC35A, 0xD662, 0xC361, 0xD663, 0xC362, - 0xD664, 0xC363, 0xD665, 0xC364, 0xD666, 0xC365, 0xD667, 0xC8B1, 0xD668, 0xC366, 0xD669, 0xC8B2, 0xD66A, 0xC367, 0xD66B, 0xC368, - 0xD66C, 0xC369, 0xD66D, 0xC36A, 0xD66E, 0xC36B, 0xD66F, 0xC36C, 0xD670, 0xC8B3, 0xD671, 0xC8B4, 0xD672, 0xC36D, 0xD673, 0xC36E, - 0xD674, 0xC8B5, 0xD675, 0xC36F, 0xD676, 0xC370, 0xD677, 0xC371, 0xD678, 0xC372, 0xD679, 0xC373, 0xD67A, 0xC374, 0xD67B, 0xC375, - 0xD67C, 0xC376, 0xD67D, 0xC377, 0xD67E, 0xC378, 0xD67F, 0xC379, 0xD680, 0xC37A, 0xD681, 0xC381, 0xD682, 0xC382, 0xD683, 0xC8B6, - 0xD684, 0xC383, 0xD685, 0xC8B7, 0xD686, 0xC384, 0xD687, 0xC385, 0xD688, 0xC386, 0xD689, 0xC387, 0xD68A, 0xC388, 0xD68B, 0xC389, - 0xD68C, 0xC8B8, 0xD68D, 0xC8B9, 0xD68E, 0xC38A, 0xD68F, 0xC38B, 0xD690, 0xC8BA, 0xD691, 0xC38C, 0xD692, 0xC38D, 0xD693, 0xC38E, - 0xD694, 0xC8BB, 0xD695, 0xC38F, 0xD696, 0xC390, 0xD697, 0xC391, 0xD698, 0xC392, 0xD699, 0xC393, 0xD69A, 0xC394, 0xD69B, 0xC395, - 0xD69C, 0xC396, 0xD69D, 0xC8BC, 0xD69E, 0xC397, 0xD69F, 0xC8BD, 0xD6A0, 0xC398, 0xD6A1, 0xC8BE, 0xD6A2, 0xC399, 0xD6A3, 0xC39A, - 0xD6A4, 0xC39B, 0xD6A5, 0xC39C, 0xD6A6, 0xC39D, 0xD6A7, 0xC39E, 0xD6A8, 0xC8BF, 0xD6A9, 0xC39F, 0xD6AA, 0xC3A0, 0xD6AB, 0xC441, - 0xD6AC, 0xC8C0, 0xD6AD, 0xC442, 0xD6AE, 0xC443, 0xD6AF, 0xC444, 0xD6B0, 0xC8C1, 0xD6B1, 0xC445, 0xD6B2, 0xC446, 0xD6B3, 0xC447, - 0xD6B4, 0xC448, 0xD6B5, 0xC449, 0xD6B6, 0xC44A, 0xD6B7, 0xC44B, 0xD6B8, 0xC44C, 0xD6B9, 0xC8C2, 0xD6BA, 0xC44D, 0xD6BB, 0xC8C3, - 0xD6BC, 0xC44E, 0xD6BD, 0xC44F, 0xD6BE, 0xC450, 0xD6BF, 0xC451, 0xD6C0, 0xC452, 0xD6C1, 0xC453, 0xD6C2, 0xC454, 0xD6C3, 0xC455, - 0xD6C4, 0xC8C4, 0xD6C5, 0xC8C5, 0xD6C6, 0xC456, 0xD6C7, 0xC457, 0xD6C8, 0xC8C6, 0xD6C9, 0xC458, 0xD6CA, 0xC459, 0xD6CB, 0xC45A, - 0xD6CC, 0xC8C7, 0xD6CD, 0xC461, 0xD6CE, 0xC462, 0xD6CF, 0xC463, 0xD6D0, 0xC464, 0xD6D1, 0xC8C8, 0xD6D2, 0xC465, 0xD6D3, 0xC466, - 0xD6D4, 0xC8C9, 0xD6D5, 0xC467, 0xD6D6, 0xC468, 0xD6D7, 0xC8CA, 0xD6D8, 0xC469, 0xD6D9, 0xC8CB, 0xD6DA, 0xC46A, 0xD6DB, 0xC46B, - 0xD6DC, 0xC46C, 0xD6DD, 0xC46D, 0xD6DE, 0xC46E, 0xD6DF, 0xC46F, 0xD6E0, 0xC8CC, 0xD6E1, 0xC470, 0xD6E2, 0xC471, 0xD6E3, 0xC472, - 0xD6E4, 0xC8CD, 0xD6E5, 0xC473, 0xD6E6, 0xC474, 0xD6E7, 0xC475, 0xD6E8, 0xC8CE, 0xD6E9, 0xC476, 0xD6EA, 0xC477, 0xD6EB, 0xC478, - 0xD6EC, 0xC479, 0xD6ED, 0xC47A, 0xD6EE, 0xC481, 0xD6EF, 0xC482, 0xD6F0, 0xC8CF, 0xD6F1, 0xC483, 0xD6F2, 0xC484, 0xD6F3, 0xC485, - 0xD6F4, 0xC486, 0xD6F5, 0xC8D0, 0xD6F6, 0xC487, 0xD6F7, 0xC488, 0xD6F8, 0xC489, 0xD6F9, 0xC48A, 0xD6FA, 0xC48B, 0xD6FB, 0xC48C, - 0xD6FC, 0xC8D1, 0xD6FD, 0xC8D2, 0xD6FE, 0xC48D, 0xD6FF, 0xC48E, 0xD700, 0xC8D3, 0xD701, 0xC48F, 0xD702, 0xC490, 0xD703, 0xC491, - 0xD704, 0xC8D4, 0xD705, 0xC492, 0xD706, 0xC493, 0xD707, 0xC494, 0xD708, 0xC495, 0xD709, 0xC496, 0xD70A, 0xC497, 0xD70B, 0xC498, - 0xD70C, 0xC499, 0xD70D, 0xC49A, 0xD70E, 0xC49B, 0xD70F, 0xC49C, 0xD710, 0xC49D, 0xD711, 0xC8D5, 0xD712, 0xC49E, 0xD713, 0xC49F, - 0xD714, 0xC4A0, 0xD715, 0xC541, 0xD716, 0xC542, 0xD717, 0xC543, 0xD718, 0xC8D6, 0xD719, 0xC8D7, 0xD71A, 0xC544, 0xD71B, 0xC545, - 0xD71C, 0xC8D8, 0xD71D, 0xC546, 0xD71E, 0xC547, 0xD71F, 0xC548, 0xD720, 0xC8D9, 0xD721, 0xC549, 0xD722, 0xC54A, 0xD723, 0xC54B, - 0xD724, 0xC54C, 0xD725, 0xC54D, 0xD726, 0xC54E, 0xD727, 0xC54F, 0xD728, 0xC8DA, 0xD729, 0xC8DB, 0xD72A, 0xC550, 0xD72B, 0xC8DC, - 0xD72C, 0xC551, 0xD72D, 0xC8DD, 0xD72E, 0xC552, 0xD72F, 0xC553, 0xD730, 0xC554, 0xD731, 0xC555, 0xD732, 0xC556, 0xD733, 0xC557, - 0xD734, 0xC8DE, 0xD735, 0xC8DF, 0xD736, 0xC558, 0xD737, 0xC559, 0xD738, 0xC8E0, 0xD739, 0xC55A, 0xD73A, 0xC561, 0xD73B, 0xC562, - 0xD73C, 0xC8E1, 0xD73D, 0xC563, 0xD73E, 0xC564, 0xD73F, 0xC565, 0xD740, 0xC566, 0xD741, 0xC567, 0xD742, 0xC568, 0xD743, 0xC569, - 0xD744, 0xC8E2, 0xD745, 0xC56A, 0xD746, 0xC56B, 0xD747, 0xC8E3, 0xD748, 0xC56C, 0xD749, 0xC8E4, 0xD74A, 0xC56D, 0xD74B, 0xC56E, - 0xD74C, 0xC56F, 0xD74D, 0xC570, 0xD74E, 0xC571, 0xD74F, 0xC572, 0xD750, 0xC8E5, 0xD751, 0xC8E6, 0xD752, 0xC573, 0xD753, 0xC574, - 0xD754, 0xC8E7, 0xD755, 0xC575, 0xD756, 0xC8E8, 0xD757, 0xC8E9, 0xD758, 0xC8EA, 0xD759, 0xC8EB, 0xD75A, 0xC576, 0xD75B, 0xC577, - 0xD75C, 0xC578, 0xD75D, 0xC579, 0xD75E, 0xC57A, 0xD75F, 0xC581, 0xD760, 0xC8EC, 0xD761, 0xC8ED, 0xD762, 0xC582, 0xD763, 0xC8EE, - 0xD764, 0xC583, 0xD765, 0xC8EF, 0xD766, 0xC584, 0xD767, 0xC585, 0xD768, 0xC586, 0xD769, 0xC8F0, 0xD76A, 0xC587, 0xD76B, 0xC588, - 0xD76C, 0xC8F1, 0xD76D, 0xC589, 0xD76E, 0xC58A, 0xD76F, 0xC58B, 0xD770, 0xC8F2, 0xD771, 0xC58C, 0xD772, 0xC58D, 0xD773, 0xC58E, - 0xD774, 0xC8F3, 0xD775, 0xC58F, 0xD776, 0xC590, 0xD777, 0xC591, 0xD778, 0xC592, 0xD779, 0xC593, 0xD77A, 0xC594, 0xD77B, 0xC595, - 0xD77C, 0xC8F4, 0xD77D, 0xC8F5, 0xD77E, 0xC596, 0xD77F, 0xC597, 0xD780, 0xC598, 0xD781, 0xC8F6, 0xD782, 0xC599, 0xD783, 0xC59A, - 0xD784, 0xC59B, 0xD785, 0xC59C, 0xD786, 0xC59D, 0xD787, 0xC59E, 0xD788, 0xC8F7, 0xD789, 0xC8F8, 0xD78A, 0xC59F, 0xD78B, 0xC5A0, - 0xD78C, 0xC8F9, 0xD78D, 0xC641, 0xD78E, 0xC642, 0xD78F, 0xC643, 0xD790, 0xC8FA, 0xD791, 0xC644, 0xD792, 0xC645, 0xD793, 0xC646, - 0xD794, 0xC647, 0xD795, 0xC648, 0xD796, 0xC649, 0xD797, 0xC64A, 0xD798, 0xC8FB, 0xD799, 0xC8FC, 0xD79A, 0xC64B, 0xD79B, 0xC8FD, - 0xD79C, 0xC64C, 0xD79D, 0xC8FE, 0xD79E, 0xC64D, 0xD79F, 0xC64E, 0xD7A0, 0xC64F, 0xD7A1, 0xC650, 0xD7A2, 0xC651, 0xD7A3, 0xC652, - 0xF900, 0xCBD0, 0xF901, 0xCBD6, 0xF902, 0xCBE7, 0xF903, 0xCDCF, 0xF904, 0xCDE8, 0xF905, 0xCEAD, 0xF906, 0xCFFB, 0xF907, 0xD0A2, - 0xF908, 0xD0B8, 0xF909, 0xD0D0, 0xF90A, 0xD0DD, 0xF90B, 0xD1D4, 0xF90C, 0xD1D5, 0xF90D, 0xD1D8, 0xF90E, 0xD1DB, 0xF90F, 0xD1DC, - 0xF910, 0xD1DD, 0xF911, 0xD1DE, 0xF912, 0xD1DF, 0xF913, 0xD1E0, 0xF914, 0xD1E2, 0xF915, 0xD1E3, 0xF916, 0xD1E4, 0xF917, 0xD1E5, - 0xF918, 0xD1E6, 0xF919, 0xD1E8, 0xF91A, 0xD1E9, 0xF91B, 0xD1EA, 0xF91C, 0xD1EB, 0xF91D, 0xD1ED, 0xF91E, 0xD1EF, 0xF91F, 0xD1F0, - 0xF920, 0xD1F2, 0xF921, 0xD1F6, 0xF922, 0xD1FA, 0xF923, 0xD1FC, 0xF924, 0xD1FD, 0xF925, 0xD1FE, 0xF926, 0xD2A2, 0xF927, 0xD2A3, - 0xF928, 0xD2A7, 0xF929, 0xD2A8, 0xF92A, 0xD2A9, 0xF92B, 0xD2AA, 0xF92C, 0xD2AB, 0xF92D, 0xD2AD, 0xF92E, 0xD2B2, 0xF92F, 0xD2BE, - 0xF930, 0xD2C2, 0xF931, 0xD2C3, 0xF932, 0xD2C4, 0xF933, 0xD2C6, 0xF934, 0xD2C7, 0xF935, 0xD2C8, 0xF936, 0xD2C9, 0xF937, 0xD2CA, - 0xF938, 0xD2CB, 0xF939, 0xD2CD, 0xF93A, 0xD2CE, 0xF93B, 0xD2CF, 0xF93C, 0xD2D0, 0xF93D, 0xD2D1, 0xF93E, 0xD2D2, 0xF93F, 0xD2D3, - 0xF940, 0xD2D4, 0xF941, 0xD2D5, 0xF942, 0xD2D6, 0xF943, 0xD2D7, 0xF944, 0xD2D9, 0xF945, 0xD2DA, 0xF946, 0xD2DE, 0xF947, 0xD2DF, - 0xF948, 0xD2E1, 0xF949, 0xD2E2, 0xF94A, 0xD2E4, 0xF94B, 0xD2E5, 0xF94C, 0xD2E6, 0xF94D, 0xD2E7, 0xF94E, 0xD2E8, 0xF94F, 0xD2E9, - 0xF950, 0xD2EA, 0xF951, 0xD2EB, 0xF952, 0xD2F0, 0xF953, 0xD2F1, 0xF954, 0xD2F2, 0xF955, 0xD2F3, 0xF956, 0xD2F4, 0xF957, 0xD2F5, - 0xF958, 0xD2F7, 0xF959, 0xD2F8, 0xF95A, 0xD4E6, 0xF95B, 0xD4FC, 0xF95C, 0xD5A5, 0xF95D, 0xD5AB, 0xF95E, 0xD5AE, 0xF95F, 0xD6B8, - 0xF960, 0xD6CD, 0xF961, 0xD7CB, 0xF962, 0xD7E4, 0xF963, 0xDBC5, 0xF964, 0xDBE4, 0xF965, 0xDCA5, 0xF966, 0xDDA5, 0xF967, 0xDDD5, - 0xF968, 0xDDF4, 0xF969, 0xDEFC, 0xF96A, 0xDEFE, 0xF96B, 0xDFB3, 0xF96C, 0xDFE1, 0xF96D, 0xDFE8, 0xF96E, 0xE0F1, 0xF96F, 0xE1AD, - 0xF970, 0xE1ED, 0xF971, 0xE3F5, 0xF972, 0xE4A1, 0xF973, 0xE4A9, 0xF974, 0xE5AE, 0xF975, 0xE5B1, 0xF976, 0xE5B2, 0xF977, 0xE5B9, - 0xF978, 0xE5BB, 0xF979, 0xE5BC, 0xF97A, 0xE5C4, 0xF97B, 0xE5CE, 0xF97C, 0xE5D0, 0xF97D, 0xE5D2, 0xF97E, 0xE5D6, 0xF97F, 0xE5FA, - 0xF980, 0xE5FB, 0xF981, 0xE5FC, 0xF982, 0xE5FE, 0xF983, 0xE6A1, 0xF984, 0xE6A4, 0xF985, 0xE6A7, 0xF986, 0xE6AD, 0xF987, 0xE6AF, - 0xF988, 0xE6B0, 0xF989, 0xE6B1, 0xF98A, 0xE6B3, 0xF98B, 0xE6B7, 0xF98C, 0xE6B8, 0xF98D, 0xE6BC, 0xF98E, 0xE6C4, 0xF98F, 0xE6C6, - 0xF990, 0xE6C7, 0xF991, 0xE6CA, 0xF992, 0xE6D2, 0xF993, 0xE6D6, 0xF994, 0xE6D9, 0xF995, 0xE6DC, 0xF996, 0xE6DF, 0xF997, 0xE6E1, - 0xF998, 0xE6E4, 0xF999, 0xE6E5, 0xF99A, 0xE6E6, 0xF99B, 0xE6E8, 0xF99C, 0xE6EA, 0xF99D, 0xE6EB, 0xF99E, 0xE6EC, 0xF99F, 0xE6EF, - 0xF9A0, 0xE6F1, 0xF9A1, 0xE6F2, 0xF9A2, 0xE6F5, 0xF9A3, 0xE6F6, 0xF9A4, 0xE6F7, 0xF9A5, 0xE6F9, 0xF9A6, 0xE7A1, 0xF9A7, 0xE7A6, - 0xF9A8, 0xE7A9, 0xF9A9, 0xE7AA, 0xF9AA, 0xE7AC, 0xF9AB, 0xE7AD, 0xF9AC, 0xE7B0, 0xF9AD, 0xE7BF, 0xF9AE, 0xE7C1, 0xF9AF, 0xE7C6, - 0xF9B0, 0xE7C7, 0xF9B1, 0xE7CB, 0xF9B2, 0xE7CD, 0xF9B3, 0xE7CF, 0xF9B4, 0xE7D0, 0xF9B5, 0xE7D3, 0xF9B6, 0xE7DF, 0xF9B7, 0xE7E4, - 0xF9B8, 0xE7E6, 0xF9B9, 0xE7F7, 0xF9BA, 0xE8E7, 0xF9BB, 0xE8E8, 0xF9BC, 0xE8F0, 0xF9BD, 0xE8F1, 0xF9BE, 0xE8F7, 0xF9BF, 0xE8F9, - 0xF9C0, 0xE8FB, 0xF9C1, 0xE8FE, 0xF9C2, 0xE9A7, 0xF9C3, 0xE9AC, 0xF9C4, 0xE9CC, 0xF9C5, 0xE9F7, 0xF9C6, 0xEAC1, 0xF9C7, 0xEAE5, - 0xF9C8, 0xEAF4, 0xF9C9, 0xEAF7, 0xF9CA, 0xEAFC, 0xF9CB, 0xEAFE, 0xF9CC, 0xEBA4, 0xF9CD, 0xEBA7, 0xF9CE, 0xEBA9, 0xF9CF, 0xEBAA, - 0xF9D0, 0xEBBA, 0xF9D1, 0xEBBB, 0xF9D2, 0xEBBD, 0xF9D3, 0xEBC1, 0xF9D4, 0xEBC2, 0xF9D5, 0xEBC6, 0xF9D6, 0xEBC7, 0xF9D7, 0xEBCC, - 0xF9D8, 0xEBCF, 0xF9D9, 0xEBD0, 0xF9DA, 0xEBD1, 0xF9DB, 0xEBD2, 0xF9DC, 0xEBD8, 0xF9DD, 0xECA6, 0xF9DE, 0xECA7, 0xF9DF, 0xECAA, - 0xF9E0, 0xECAF, 0xF9E1, 0xECB0, 0xF9E2, 0xECB1, 0xF9E3, 0xECB2, 0xF9E4, 0xECB5, 0xF9E5, 0xECB8, 0xF9E6, 0xECBA, 0xF9E7, 0xECC0, - 0xF9E8, 0xECC1, 0xF9E9, 0xECC5, 0xF9EA, 0xECC6, 0xF9EB, 0xECC9, 0xF9EC, 0xECCA, 0xF9ED, 0xECD5, 0xF9EE, 0xECDD, 0xF9EF, 0xECDE, - 0xF9F0, 0xECE1, 0xF9F1, 0xECE4, 0xF9F2, 0xECE7, 0xF9F3, 0xECE8, 0xF9F4, 0xECF7, 0xF9F5, 0xECF8, 0xF9F6, 0xECFA, 0xF9F7, 0xEDA1, - 0xF9F8, 0xEDA2, 0xF9F9, 0xEDA3, 0xF9FA, 0xEDEE, 0xF9FB, 0xEEDB, 0xF9FC, 0xF2BD, 0xF9FD, 0xF2FA, 0xF9FE, 0xF3B1, 0xF9FF, 0xF4A7, - 0xFA00, 0xF4EE, 0xFA01, 0xF6F4, 0xFA02, 0xF6F6, 0xFA03, 0xF7B8, 0xFA04, 0xF7C8, 0xFA05, 0xF7D3, 0xFA06, 0xF8DB, 0xFA07, 0xF8F0, - 0xFA08, 0xFAA1, 0xFA09, 0xFAA2, 0xFA0A, 0xFAE6, 0xFA0B, 0xFCA9, 0xFF01, 0xA3A1, 0xFF02, 0xA3A2, 0xFF03, 0xA3A3, 0xFF04, 0xA3A4, - 0xFF05, 0xA3A5, 0xFF06, 0xA3A6, 0xFF07, 0xA3A7, 0xFF08, 0xA3A8, 0xFF09, 0xA3A9, 0xFF0A, 0xA3AA, 0xFF0B, 0xA3AB, 0xFF0C, 0xA3AC, - 0xFF0D, 0xA3AD, 0xFF0E, 0xA3AE, 0xFF0F, 0xA3AF, 0xFF10, 0xA3B0, 0xFF11, 0xA3B1, 0xFF12, 0xA3B2, 0xFF13, 0xA3B3, 0xFF14, 0xA3B4, - 0xFF15, 0xA3B5, 0xFF16, 0xA3B6, 0xFF17, 0xA3B7, 0xFF18, 0xA3B8, 0xFF19, 0xA3B9, 0xFF1A, 0xA3BA, 0xFF1B, 0xA3BB, 0xFF1C, 0xA3BC, - 0xFF1D, 0xA3BD, 0xFF1E, 0xA3BE, 0xFF1F, 0xA3BF, 0xFF20, 0xA3C0, 0xFF21, 0xA3C1, 0xFF22, 0xA3C2, 0xFF23, 0xA3C3, 0xFF24, 0xA3C4, - 0xFF25, 0xA3C5, 0xFF26, 0xA3C6, 0xFF27, 0xA3C7, 0xFF28, 0xA3C8, 0xFF29, 0xA3C9, 0xFF2A, 0xA3CA, 0xFF2B, 0xA3CB, 0xFF2C, 0xA3CC, - 0xFF2D, 0xA3CD, 0xFF2E, 0xA3CE, 0xFF2F, 0xA3CF, 0xFF30, 0xA3D0, 0xFF31, 0xA3D1, 0xFF32, 0xA3D2, 0xFF33, 0xA3D3, 0xFF34, 0xA3D4, - 0xFF35, 0xA3D5, 0xFF36, 0xA3D6, 0xFF37, 0xA3D7, 0xFF38, 0xA3D8, 0xFF39, 0xA3D9, 0xFF3A, 0xA3DA, 0xFF3B, 0xA3DB, 0xFF3C, 0xA1AC, - 0xFF3D, 0xA3DD, 0xFF3E, 0xA3DE, 0xFF3F, 0xA3DF, 0xFF40, 0xA3E0, 0xFF41, 0xA3E1, 0xFF42, 0xA3E2, 0xFF43, 0xA3E3, 0xFF44, 0xA3E4, - 0xFF45, 0xA3E5, 0xFF46, 0xA3E6, 0xFF47, 0xA3E7, 0xFF48, 0xA3E8, 0xFF49, 0xA3E9, 0xFF4A, 0xA3EA, 0xFF4B, 0xA3EB, 0xFF4C, 0xA3EC, - 0xFF4D, 0xA3ED, 0xFF4E, 0xA3EE, 0xFF4F, 0xA3EF, 0xFF50, 0xA3F0, 0xFF51, 0xA3F1, 0xFF52, 0xA3F2, 0xFF53, 0xA3F3, 0xFF54, 0xA3F4, - 0xFF55, 0xA3F5, 0xFF56, 0xA3F6, 0xFF57, 0xA3F7, 0xFF58, 0xA3F8, 0xFF59, 0xA3F9, 0xFF5A, 0xA3FA, 0xFF5B, 0xA3FB, 0xFF5C, 0xA3FC, - 0xFF5D, 0xA3FD, 0xFF5E, 0xA2A6, 0xFFE0, 0xA1CB, 0xFFE1, 0xA1CC, 0xFFE2, 0xA1FE, 0xFFE3, 0xA3FE, 0xFFE5, 0xA1CD, 0xFFE6, 0xA3DC, - 0, 0 -}; - -static const WCHAR oem2uni949[] = { /* Korean --> Unicode pairs */ - 0x8141, 0xAC02, 0x8142, 0xAC03, 0x8143, 0xAC05, 0x8144, 0xAC06, 0x8145, 0xAC0B, 0x8146, 0xAC0C, 0x8147, 0xAC0D, 0x8148, 0xAC0E, - 0x8149, 0xAC0F, 0x814A, 0xAC18, 0x814B, 0xAC1E, 0x814C, 0xAC1F, 0x814D, 0xAC21, 0x814E, 0xAC22, 0x814F, 0xAC23, 0x8150, 0xAC25, - 0x8151, 0xAC26, 0x8152, 0xAC27, 0x8153, 0xAC28, 0x8154, 0xAC29, 0x8155, 0xAC2A, 0x8156, 0xAC2B, 0x8157, 0xAC2E, 0x8158, 0xAC32, - 0x8159, 0xAC33, 0x815A, 0xAC34, 0x8161, 0xAC35, 0x8162, 0xAC36, 0x8163, 0xAC37, 0x8164, 0xAC3A, 0x8165, 0xAC3B, 0x8166, 0xAC3D, - 0x8167, 0xAC3E, 0x8168, 0xAC3F, 0x8169, 0xAC41, 0x816A, 0xAC42, 0x816B, 0xAC43, 0x816C, 0xAC44, 0x816D, 0xAC45, 0x816E, 0xAC46, - 0x816F, 0xAC47, 0x8170, 0xAC48, 0x8171, 0xAC49, 0x8172, 0xAC4A, 0x8173, 0xAC4C, 0x8174, 0xAC4E, 0x8175, 0xAC4F, 0x8176, 0xAC50, - 0x8177, 0xAC51, 0x8178, 0xAC52, 0x8179, 0xAC53, 0x817A, 0xAC55, 0x8181, 0xAC56, 0x8182, 0xAC57, 0x8183, 0xAC59, 0x8184, 0xAC5A, - 0x8185, 0xAC5B, 0x8186, 0xAC5D, 0x8187, 0xAC5E, 0x8188, 0xAC5F, 0x8189, 0xAC60, 0x818A, 0xAC61, 0x818B, 0xAC62, 0x818C, 0xAC63, - 0x818D, 0xAC64, 0x818E, 0xAC65, 0x818F, 0xAC66, 0x8190, 0xAC67, 0x8191, 0xAC68, 0x8192, 0xAC69, 0x8193, 0xAC6A, 0x8194, 0xAC6B, - 0x8195, 0xAC6C, 0x8196, 0xAC6D, 0x8197, 0xAC6E, 0x8198, 0xAC6F, 0x8199, 0xAC72, 0x819A, 0xAC73, 0x819B, 0xAC75, 0x819C, 0xAC76, - 0x819D, 0xAC79, 0x819E, 0xAC7B, 0x819F, 0xAC7C, 0x81A0, 0xAC7D, 0x81A1, 0xAC7E, 0x81A2, 0xAC7F, 0x81A3, 0xAC82, 0x81A4, 0xAC87, - 0x81A5, 0xAC88, 0x81A6, 0xAC8D, 0x81A7, 0xAC8E, 0x81A8, 0xAC8F, 0x81A9, 0xAC91, 0x81AA, 0xAC92, 0x81AB, 0xAC93, 0x81AC, 0xAC95, - 0x81AD, 0xAC96, 0x81AE, 0xAC97, 0x81AF, 0xAC98, 0x81B0, 0xAC99, 0x81B1, 0xAC9A, 0x81B2, 0xAC9B, 0x81B3, 0xAC9E, 0x81B4, 0xACA2, - 0x81B5, 0xACA3, 0x81B6, 0xACA4, 0x81B7, 0xACA5, 0x81B8, 0xACA6, 0x81B9, 0xACA7, 0x81BA, 0xACAB, 0x81BB, 0xACAD, 0x81BC, 0xACAE, - 0x81BD, 0xACB1, 0x81BE, 0xACB2, 0x81BF, 0xACB3, 0x81C0, 0xACB4, 0x81C1, 0xACB5, 0x81C2, 0xACB6, 0x81C3, 0xACB7, 0x81C4, 0xACBA, - 0x81C5, 0xACBE, 0x81C6, 0xACBF, 0x81C7, 0xACC0, 0x81C8, 0xACC2, 0x81C9, 0xACC3, 0x81CA, 0xACC5, 0x81CB, 0xACC6, 0x81CC, 0xACC7, - 0x81CD, 0xACC9, 0x81CE, 0xACCA, 0x81CF, 0xACCB, 0x81D0, 0xACCD, 0x81D1, 0xACCE, 0x81D2, 0xACCF, 0x81D3, 0xACD0, 0x81D4, 0xACD1, - 0x81D5, 0xACD2, 0x81D6, 0xACD3, 0x81D7, 0xACD4, 0x81D8, 0xACD6, 0x81D9, 0xACD8, 0x81DA, 0xACD9, 0x81DB, 0xACDA, 0x81DC, 0xACDB, - 0x81DD, 0xACDC, 0x81DE, 0xACDD, 0x81DF, 0xACDE, 0x81E0, 0xACDF, 0x81E1, 0xACE2, 0x81E2, 0xACE3, 0x81E3, 0xACE5, 0x81E4, 0xACE6, - 0x81E5, 0xACE9, 0x81E6, 0xACEB, 0x81E7, 0xACED, 0x81E8, 0xACEE, 0x81E9, 0xACF2, 0x81EA, 0xACF4, 0x81EB, 0xACF7, 0x81EC, 0xACF8, - 0x81ED, 0xACF9, 0x81EE, 0xACFA, 0x81EF, 0xACFB, 0x81F0, 0xACFE, 0x81F1, 0xACFF, 0x81F2, 0xAD01, 0x81F3, 0xAD02, 0x81F4, 0xAD03, - 0x81F5, 0xAD05, 0x81F6, 0xAD07, 0x81F7, 0xAD08, 0x81F8, 0xAD09, 0x81F9, 0xAD0A, 0x81FA, 0xAD0B, 0x81FB, 0xAD0E, 0x81FC, 0xAD10, - 0x81FD, 0xAD12, 0x81FE, 0xAD13, 0x8241, 0xAD14, 0x8242, 0xAD15, 0x8243, 0xAD16, 0x8244, 0xAD17, 0x8245, 0xAD19, 0x8246, 0xAD1A, - 0x8247, 0xAD1B, 0x8248, 0xAD1D, 0x8249, 0xAD1E, 0x824A, 0xAD1F, 0x824B, 0xAD21, 0x824C, 0xAD22, 0x824D, 0xAD23, 0x824E, 0xAD24, - 0x824F, 0xAD25, 0x8250, 0xAD26, 0x8251, 0xAD27, 0x8252, 0xAD28, 0x8253, 0xAD2A, 0x8254, 0xAD2B, 0x8255, 0xAD2E, 0x8256, 0xAD2F, - 0x8257, 0xAD30, 0x8258, 0xAD31, 0x8259, 0xAD32, 0x825A, 0xAD33, 0x8261, 0xAD36, 0x8262, 0xAD37, 0x8263, 0xAD39, 0x8264, 0xAD3A, - 0x8265, 0xAD3B, 0x8266, 0xAD3D, 0x8267, 0xAD3E, 0x8268, 0xAD3F, 0x8269, 0xAD40, 0x826A, 0xAD41, 0x826B, 0xAD42, 0x826C, 0xAD43, - 0x826D, 0xAD46, 0x826E, 0xAD48, 0x826F, 0xAD4A, 0x8270, 0xAD4B, 0x8271, 0xAD4C, 0x8272, 0xAD4D, 0x8273, 0xAD4E, 0x8274, 0xAD4F, - 0x8275, 0xAD51, 0x8276, 0xAD52, 0x8277, 0xAD53, 0x8278, 0xAD55, 0x8279, 0xAD56, 0x827A, 0xAD57, 0x8281, 0xAD59, 0x8282, 0xAD5A, - 0x8283, 0xAD5B, 0x8284, 0xAD5C, 0x8285, 0xAD5D, 0x8286, 0xAD5E, 0x8287, 0xAD5F, 0x8288, 0xAD60, 0x8289, 0xAD62, 0x828A, 0xAD64, - 0x828B, 0xAD65, 0x828C, 0xAD66, 0x828D, 0xAD67, 0x828E, 0xAD68, 0x828F, 0xAD69, 0x8290, 0xAD6A, 0x8291, 0xAD6B, 0x8292, 0xAD6E, - 0x8293, 0xAD6F, 0x8294, 0xAD71, 0x8295, 0xAD72, 0x8296, 0xAD77, 0x8297, 0xAD78, 0x8298, 0xAD79, 0x8299, 0xAD7A, 0x829A, 0xAD7E, - 0x829B, 0xAD80, 0x829C, 0xAD83, 0x829D, 0xAD84, 0x829E, 0xAD85, 0x829F, 0xAD86, 0x82A0, 0xAD87, 0x82A1, 0xAD8A, 0x82A2, 0xAD8B, - 0x82A3, 0xAD8D, 0x82A4, 0xAD8E, 0x82A5, 0xAD8F, 0x82A6, 0xAD91, 0x82A7, 0xAD92, 0x82A8, 0xAD93, 0x82A9, 0xAD94, 0x82AA, 0xAD95, - 0x82AB, 0xAD96, 0x82AC, 0xAD97, 0x82AD, 0xAD98, 0x82AE, 0xAD99, 0x82AF, 0xAD9A, 0x82B0, 0xAD9B, 0x82B1, 0xAD9E, 0x82B2, 0xAD9F, - 0x82B3, 0xADA0, 0x82B4, 0xADA1, 0x82B5, 0xADA2, 0x82B6, 0xADA3, 0x82B7, 0xADA5, 0x82B8, 0xADA6, 0x82B9, 0xADA7, 0x82BA, 0xADA8, - 0x82BB, 0xADA9, 0x82BC, 0xADAA, 0x82BD, 0xADAB, 0x82BE, 0xADAC, 0x82BF, 0xADAD, 0x82C0, 0xADAE, 0x82C1, 0xADAF, 0x82C2, 0xADB0, - 0x82C3, 0xADB1, 0x82C4, 0xADB2, 0x82C5, 0xADB3, 0x82C6, 0xADB4, 0x82C7, 0xADB5, 0x82C8, 0xADB6, 0x82C9, 0xADB8, 0x82CA, 0xADB9, - 0x82CB, 0xADBA, 0x82CC, 0xADBB, 0x82CD, 0xADBC, 0x82CE, 0xADBD, 0x82CF, 0xADBE, 0x82D0, 0xADBF, 0x82D1, 0xADC2, 0x82D2, 0xADC3, - 0x82D3, 0xADC5, 0x82D4, 0xADC6, 0x82D5, 0xADC7, 0x82D6, 0xADC9, 0x82D7, 0xADCA, 0x82D8, 0xADCB, 0x82D9, 0xADCC, 0x82DA, 0xADCD, - 0x82DB, 0xADCE, 0x82DC, 0xADCF, 0x82DD, 0xADD2, 0x82DE, 0xADD4, 0x82DF, 0xADD5, 0x82E0, 0xADD6, 0x82E1, 0xADD7, 0x82E2, 0xADD8, - 0x82E3, 0xADD9, 0x82E4, 0xADDA, 0x82E5, 0xADDB, 0x82E6, 0xADDD, 0x82E7, 0xADDE, 0x82E8, 0xADDF, 0x82E9, 0xADE1, 0x82EA, 0xADE2, - 0x82EB, 0xADE3, 0x82EC, 0xADE5, 0x82ED, 0xADE6, 0x82EE, 0xADE7, 0x82EF, 0xADE8, 0x82F0, 0xADE9, 0x82F1, 0xADEA, 0x82F2, 0xADEB, - 0x82F3, 0xADEC, 0x82F4, 0xADED, 0x82F5, 0xADEE, 0x82F6, 0xADEF, 0x82F7, 0xADF0, 0x82F8, 0xADF1, 0x82F9, 0xADF2, 0x82FA, 0xADF3, - 0x82FB, 0xADF4, 0x82FC, 0xADF5, 0x82FD, 0xADF6, 0x82FE, 0xADF7, 0x8341, 0xADFA, 0x8342, 0xADFB, 0x8343, 0xADFD, 0x8344, 0xADFE, - 0x8345, 0xAE02, 0x8346, 0xAE03, 0x8347, 0xAE04, 0x8348, 0xAE05, 0x8349, 0xAE06, 0x834A, 0xAE07, 0x834B, 0xAE0A, 0x834C, 0xAE0C, - 0x834D, 0xAE0E, 0x834E, 0xAE0F, 0x834F, 0xAE10, 0x8350, 0xAE11, 0x8351, 0xAE12, 0x8352, 0xAE13, 0x8353, 0xAE15, 0x8354, 0xAE16, - 0x8355, 0xAE17, 0x8356, 0xAE18, 0x8357, 0xAE19, 0x8358, 0xAE1A, 0x8359, 0xAE1B, 0x835A, 0xAE1C, 0x8361, 0xAE1D, 0x8362, 0xAE1E, - 0x8363, 0xAE1F, 0x8364, 0xAE20, 0x8365, 0xAE21, 0x8366, 0xAE22, 0x8367, 0xAE23, 0x8368, 0xAE24, 0x8369, 0xAE25, 0x836A, 0xAE26, - 0x836B, 0xAE27, 0x836C, 0xAE28, 0x836D, 0xAE29, 0x836E, 0xAE2A, 0x836F, 0xAE2B, 0x8370, 0xAE2C, 0x8371, 0xAE2D, 0x8372, 0xAE2E, - 0x8373, 0xAE2F, 0x8374, 0xAE32, 0x8375, 0xAE33, 0x8376, 0xAE35, 0x8377, 0xAE36, 0x8378, 0xAE39, 0x8379, 0xAE3B, 0x837A, 0xAE3C, - 0x8381, 0xAE3D, 0x8382, 0xAE3E, 0x8383, 0xAE3F, 0x8384, 0xAE42, 0x8385, 0xAE44, 0x8386, 0xAE47, 0x8387, 0xAE48, 0x8388, 0xAE49, - 0x8389, 0xAE4B, 0x838A, 0xAE4F, 0x838B, 0xAE51, 0x838C, 0xAE52, 0x838D, 0xAE53, 0x838E, 0xAE55, 0x838F, 0xAE57, 0x8390, 0xAE58, - 0x8391, 0xAE59, 0x8392, 0xAE5A, 0x8393, 0xAE5B, 0x8394, 0xAE5E, 0x8395, 0xAE62, 0x8396, 0xAE63, 0x8397, 0xAE64, 0x8398, 0xAE66, - 0x8399, 0xAE67, 0x839A, 0xAE6A, 0x839B, 0xAE6B, 0x839C, 0xAE6D, 0x839D, 0xAE6E, 0x839E, 0xAE6F, 0x839F, 0xAE71, 0x83A0, 0xAE72, - 0x83A1, 0xAE73, 0x83A2, 0xAE74, 0x83A3, 0xAE75, 0x83A4, 0xAE76, 0x83A5, 0xAE77, 0x83A6, 0xAE7A, 0x83A7, 0xAE7E, 0x83A8, 0xAE7F, - 0x83A9, 0xAE80, 0x83AA, 0xAE81, 0x83AB, 0xAE82, 0x83AC, 0xAE83, 0x83AD, 0xAE86, 0x83AE, 0xAE87, 0x83AF, 0xAE88, 0x83B0, 0xAE89, - 0x83B1, 0xAE8A, 0x83B2, 0xAE8B, 0x83B3, 0xAE8D, 0x83B4, 0xAE8E, 0x83B5, 0xAE8F, 0x83B6, 0xAE90, 0x83B7, 0xAE91, 0x83B8, 0xAE92, - 0x83B9, 0xAE93, 0x83BA, 0xAE94, 0x83BB, 0xAE95, 0x83BC, 0xAE96, 0x83BD, 0xAE97, 0x83BE, 0xAE98, 0x83BF, 0xAE99, 0x83C0, 0xAE9A, - 0x83C1, 0xAE9B, 0x83C2, 0xAE9C, 0x83C3, 0xAE9D, 0x83C4, 0xAE9E, 0x83C5, 0xAE9F, 0x83C6, 0xAEA0, 0x83C7, 0xAEA1, 0x83C8, 0xAEA2, - 0x83C9, 0xAEA3, 0x83CA, 0xAEA4, 0x83CB, 0xAEA5, 0x83CC, 0xAEA6, 0x83CD, 0xAEA7, 0x83CE, 0xAEA8, 0x83CF, 0xAEA9, 0x83D0, 0xAEAA, - 0x83D1, 0xAEAB, 0x83D2, 0xAEAC, 0x83D3, 0xAEAD, 0x83D4, 0xAEAE, 0x83D5, 0xAEAF, 0x83D6, 0xAEB0, 0x83D7, 0xAEB1, 0x83D8, 0xAEB2, - 0x83D9, 0xAEB3, 0x83DA, 0xAEB4, 0x83DB, 0xAEB5, 0x83DC, 0xAEB6, 0x83DD, 0xAEB7, 0x83DE, 0xAEB8, 0x83DF, 0xAEB9, 0x83E0, 0xAEBA, - 0x83E1, 0xAEBB, 0x83E2, 0xAEBF, 0x83E3, 0xAEC1, 0x83E4, 0xAEC2, 0x83E5, 0xAEC3, 0x83E6, 0xAEC5, 0x83E7, 0xAEC6, 0x83E8, 0xAEC7, - 0x83E9, 0xAEC8, 0x83EA, 0xAEC9, 0x83EB, 0xAECA, 0x83EC, 0xAECB, 0x83ED, 0xAECE, 0x83EE, 0xAED2, 0x83EF, 0xAED3, 0x83F0, 0xAED4, - 0x83F1, 0xAED5, 0x83F2, 0xAED6, 0x83F3, 0xAED7, 0x83F4, 0xAEDA, 0x83F5, 0xAEDB, 0x83F6, 0xAEDD, 0x83F7, 0xAEDE, 0x83F8, 0xAEDF, - 0x83F9, 0xAEE0, 0x83FA, 0xAEE1, 0x83FB, 0xAEE2, 0x83FC, 0xAEE3, 0x83FD, 0xAEE4, 0x83FE, 0xAEE5, 0x8441, 0xAEE6, 0x8442, 0xAEE7, - 0x8443, 0xAEE9, 0x8444, 0xAEEA, 0x8445, 0xAEEC, 0x8446, 0xAEEE, 0x8447, 0xAEEF, 0x8448, 0xAEF0, 0x8449, 0xAEF1, 0x844A, 0xAEF2, - 0x844B, 0xAEF3, 0x844C, 0xAEF5, 0x844D, 0xAEF6, 0x844E, 0xAEF7, 0x844F, 0xAEF9, 0x8450, 0xAEFA, 0x8451, 0xAEFB, 0x8452, 0xAEFD, - 0x8453, 0xAEFE, 0x8454, 0xAEFF, 0x8455, 0xAF00, 0x8456, 0xAF01, 0x8457, 0xAF02, 0x8458, 0xAF03, 0x8459, 0xAF04, 0x845A, 0xAF05, - 0x8461, 0xAF06, 0x8462, 0xAF09, 0x8463, 0xAF0A, 0x8464, 0xAF0B, 0x8465, 0xAF0C, 0x8466, 0xAF0E, 0x8467, 0xAF0F, 0x8468, 0xAF11, - 0x8469, 0xAF12, 0x846A, 0xAF13, 0x846B, 0xAF14, 0x846C, 0xAF15, 0x846D, 0xAF16, 0x846E, 0xAF17, 0x846F, 0xAF18, 0x8470, 0xAF19, - 0x8471, 0xAF1A, 0x8472, 0xAF1B, 0x8473, 0xAF1C, 0x8474, 0xAF1D, 0x8475, 0xAF1E, 0x8476, 0xAF1F, 0x8477, 0xAF20, 0x8478, 0xAF21, - 0x8479, 0xAF22, 0x847A, 0xAF23, 0x8481, 0xAF24, 0x8482, 0xAF25, 0x8483, 0xAF26, 0x8484, 0xAF27, 0x8485, 0xAF28, 0x8486, 0xAF29, - 0x8487, 0xAF2A, 0x8488, 0xAF2B, 0x8489, 0xAF2E, 0x848A, 0xAF2F, 0x848B, 0xAF31, 0x848C, 0xAF33, 0x848D, 0xAF35, 0x848E, 0xAF36, - 0x848F, 0xAF37, 0x8490, 0xAF38, 0x8491, 0xAF39, 0x8492, 0xAF3A, 0x8493, 0xAF3B, 0x8494, 0xAF3E, 0x8495, 0xAF40, 0x8496, 0xAF44, - 0x8497, 0xAF45, 0x8498, 0xAF46, 0x8499, 0xAF47, 0x849A, 0xAF4A, 0x849B, 0xAF4B, 0x849C, 0xAF4C, 0x849D, 0xAF4D, 0x849E, 0xAF4E, - 0x849F, 0xAF4F, 0x84A0, 0xAF51, 0x84A1, 0xAF52, 0x84A2, 0xAF53, 0x84A3, 0xAF54, 0x84A4, 0xAF55, 0x84A5, 0xAF56, 0x84A6, 0xAF57, - 0x84A7, 0xAF58, 0x84A8, 0xAF59, 0x84A9, 0xAF5A, 0x84AA, 0xAF5B, 0x84AB, 0xAF5E, 0x84AC, 0xAF5F, 0x84AD, 0xAF60, 0x84AE, 0xAF61, - 0x84AF, 0xAF62, 0x84B0, 0xAF63, 0x84B1, 0xAF66, 0x84B2, 0xAF67, 0x84B3, 0xAF68, 0x84B4, 0xAF69, 0x84B5, 0xAF6A, 0x84B6, 0xAF6B, - 0x84B7, 0xAF6C, 0x84B8, 0xAF6D, 0x84B9, 0xAF6E, 0x84BA, 0xAF6F, 0x84BB, 0xAF70, 0x84BC, 0xAF71, 0x84BD, 0xAF72, 0x84BE, 0xAF73, - 0x84BF, 0xAF74, 0x84C0, 0xAF75, 0x84C1, 0xAF76, 0x84C2, 0xAF77, 0x84C3, 0xAF78, 0x84C4, 0xAF7A, 0x84C5, 0xAF7B, 0x84C6, 0xAF7C, - 0x84C7, 0xAF7D, 0x84C8, 0xAF7E, 0x84C9, 0xAF7F, 0x84CA, 0xAF81, 0x84CB, 0xAF82, 0x84CC, 0xAF83, 0x84CD, 0xAF85, 0x84CE, 0xAF86, - 0x84CF, 0xAF87, 0x84D0, 0xAF89, 0x84D1, 0xAF8A, 0x84D2, 0xAF8B, 0x84D3, 0xAF8C, 0x84D4, 0xAF8D, 0x84D5, 0xAF8E, 0x84D6, 0xAF8F, - 0x84D7, 0xAF92, 0x84D8, 0xAF93, 0x84D9, 0xAF94, 0x84DA, 0xAF96, 0x84DB, 0xAF97, 0x84DC, 0xAF98, 0x84DD, 0xAF99, 0x84DE, 0xAF9A, - 0x84DF, 0xAF9B, 0x84E0, 0xAF9D, 0x84E1, 0xAF9E, 0x84E2, 0xAF9F, 0x84E3, 0xAFA0, 0x84E4, 0xAFA1, 0x84E5, 0xAFA2, 0x84E6, 0xAFA3, - 0x84E7, 0xAFA4, 0x84E8, 0xAFA5, 0x84E9, 0xAFA6, 0x84EA, 0xAFA7, 0x84EB, 0xAFA8, 0x84EC, 0xAFA9, 0x84ED, 0xAFAA, 0x84EE, 0xAFAB, - 0x84EF, 0xAFAC, 0x84F0, 0xAFAD, 0x84F1, 0xAFAE, 0x84F2, 0xAFAF, 0x84F3, 0xAFB0, 0x84F4, 0xAFB1, 0x84F5, 0xAFB2, 0x84F6, 0xAFB3, - 0x84F7, 0xAFB4, 0x84F8, 0xAFB5, 0x84F9, 0xAFB6, 0x84FA, 0xAFB7, 0x84FB, 0xAFBA, 0x84FC, 0xAFBB, 0x84FD, 0xAFBD, 0x84FE, 0xAFBE, - 0x8541, 0xAFBF, 0x8542, 0xAFC1, 0x8543, 0xAFC2, 0x8544, 0xAFC3, 0x8545, 0xAFC4, 0x8546, 0xAFC5, 0x8547, 0xAFC6, 0x8548, 0xAFCA, - 0x8549, 0xAFCC, 0x854A, 0xAFCF, 0x854B, 0xAFD0, 0x854C, 0xAFD1, 0x854D, 0xAFD2, 0x854E, 0xAFD3, 0x854F, 0xAFD5, 0x8550, 0xAFD6, - 0x8551, 0xAFD7, 0x8552, 0xAFD8, 0x8553, 0xAFD9, 0x8554, 0xAFDA, 0x8555, 0xAFDB, 0x8556, 0xAFDD, 0x8557, 0xAFDE, 0x8558, 0xAFDF, - 0x8559, 0xAFE0, 0x855A, 0xAFE1, 0x8561, 0xAFE2, 0x8562, 0xAFE3, 0x8563, 0xAFE4, 0x8564, 0xAFE5, 0x8565, 0xAFE6, 0x8566, 0xAFE7, - 0x8567, 0xAFEA, 0x8568, 0xAFEB, 0x8569, 0xAFEC, 0x856A, 0xAFED, 0x856B, 0xAFEE, 0x856C, 0xAFEF, 0x856D, 0xAFF2, 0x856E, 0xAFF3, - 0x856F, 0xAFF5, 0x8570, 0xAFF6, 0x8571, 0xAFF7, 0x8572, 0xAFF9, 0x8573, 0xAFFA, 0x8574, 0xAFFB, 0x8575, 0xAFFC, 0x8576, 0xAFFD, - 0x8577, 0xAFFE, 0x8578, 0xAFFF, 0x8579, 0xB002, 0x857A, 0xB003, 0x8581, 0xB005, 0x8582, 0xB006, 0x8583, 0xB007, 0x8584, 0xB008, - 0x8585, 0xB009, 0x8586, 0xB00A, 0x8587, 0xB00B, 0x8588, 0xB00D, 0x8589, 0xB00E, 0x858A, 0xB00F, 0x858B, 0xB011, 0x858C, 0xB012, - 0x858D, 0xB013, 0x858E, 0xB015, 0x858F, 0xB016, 0x8590, 0xB017, 0x8591, 0xB018, 0x8592, 0xB019, 0x8593, 0xB01A, 0x8594, 0xB01B, - 0x8595, 0xB01E, 0x8596, 0xB01F, 0x8597, 0xB020, 0x8598, 0xB021, 0x8599, 0xB022, 0x859A, 0xB023, 0x859B, 0xB024, 0x859C, 0xB025, - 0x859D, 0xB026, 0x859E, 0xB027, 0x859F, 0xB029, 0x85A0, 0xB02A, 0x85A1, 0xB02B, 0x85A2, 0xB02C, 0x85A3, 0xB02D, 0x85A4, 0xB02E, - 0x85A5, 0xB02F, 0x85A6, 0xB030, 0x85A7, 0xB031, 0x85A8, 0xB032, 0x85A9, 0xB033, 0x85AA, 0xB034, 0x85AB, 0xB035, 0x85AC, 0xB036, - 0x85AD, 0xB037, 0x85AE, 0xB038, 0x85AF, 0xB039, 0x85B0, 0xB03A, 0x85B1, 0xB03B, 0x85B2, 0xB03C, 0x85B3, 0xB03D, 0x85B4, 0xB03E, - 0x85B5, 0xB03F, 0x85B6, 0xB040, 0x85B7, 0xB041, 0x85B8, 0xB042, 0x85B9, 0xB043, 0x85BA, 0xB046, 0x85BB, 0xB047, 0x85BC, 0xB049, - 0x85BD, 0xB04B, 0x85BE, 0xB04D, 0x85BF, 0xB04F, 0x85C0, 0xB050, 0x85C1, 0xB051, 0x85C2, 0xB052, 0x85C3, 0xB056, 0x85C4, 0xB058, - 0x85C5, 0xB05A, 0x85C6, 0xB05B, 0x85C7, 0xB05C, 0x85C8, 0xB05E, 0x85C9, 0xB05F, 0x85CA, 0xB060, 0x85CB, 0xB061, 0x85CC, 0xB062, - 0x85CD, 0xB063, 0x85CE, 0xB064, 0x85CF, 0xB065, 0x85D0, 0xB066, 0x85D1, 0xB067, 0x85D2, 0xB068, 0x85D3, 0xB069, 0x85D4, 0xB06A, - 0x85D5, 0xB06B, 0x85D6, 0xB06C, 0x85D7, 0xB06D, 0x85D8, 0xB06E, 0x85D9, 0xB06F, 0x85DA, 0xB070, 0x85DB, 0xB071, 0x85DC, 0xB072, - 0x85DD, 0xB073, 0x85DE, 0xB074, 0x85DF, 0xB075, 0x85E0, 0xB076, 0x85E1, 0xB077, 0x85E2, 0xB078, 0x85E3, 0xB079, 0x85E4, 0xB07A, - 0x85E5, 0xB07B, 0x85E6, 0xB07E, 0x85E7, 0xB07F, 0x85E8, 0xB081, 0x85E9, 0xB082, 0x85EA, 0xB083, 0x85EB, 0xB085, 0x85EC, 0xB086, - 0x85ED, 0xB087, 0x85EE, 0xB088, 0x85EF, 0xB089, 0x85F0, 0xB08A, 0x85F1, 0xB08B, 0x85F2, 0xB08E, 0x85F3, 0xB090, 0x85F4, 0xB092, - 0x85F5, 0xB093, 0x85F6, 0xB094, 0x85F7, 0xB095, 0x85F8, 0xB096, 0x85F9, 0xB097, 0x85FA, 0xB09B, 0x85FB, 0xB09D, 0x85FC, 0xB09E, - 0x85FD, 0xB0A3, 0x85FE, 0xB0A4, 0x8641, 0xB0A5, 0x8642, 0xB0A6, 0x8643, 0xB0A7, 0x8644, 0xB0AA, 0x8645, 0xB0B0, 0x8646, 0xB0B2, - 0x8647, 0xB0B6, 0x8648, 0xB0B7, 0x8649, 0xB0B9, 0x864A, 0xB0BA, 0x864B, 0xB0BB, 0x864C, 0xB0BD, 0x864D, 0xB0BE, 0x864E, 0xB0BF, - 0x864F, 0xB0C0, 0x8650, 0xB0C1, 0x8651, 0xB0C2, 0x8652, 0xB0C3, 0x8653, 0xB0C6, 0x8654, 0xB0CA, 0x8655, 0xB0CB, 0x8656, 0xB0CC, - 0x8657, 0xB0CD, 0x8658, 0xB0CE, 0x8659, 0xB0CF, 0x865A, 0xB0D2, 0x8661, 0xB0D3, 0x8662, 0xB0D5, 0x8663, 0xB0D6, 0x8664, 0xB0D7, - 0x8665, 0xB0D9, 0x8666, 0xB0DA, 0x8667, 0xB0DB, 0x8668, 0xB0DC, 0x8669, 0xB0DD, 0x866A, 0xB0DE, 0x866B, 0xB0DF, 0x866C, 0xB0E1, - 0x866D, 0xB0E2, 0x866E, 0xB0E3, 0x866F, 0xB0E4, 0x8670, 0xB0E6, 0x8671, 0xB0E7, 0x8672, 0xB0E8, 0x8673, 0xB0E9, 0x8674, 0xB0EA, - 0x8675, 0xB0EB, 0x8676, 0xB0EC, 0x8677, 0xB0ED, 0x8678, 0xB0EE, 0x8679, 0xB0EF, 0x867A, 0xB0F0, 0x8681, 0xB0F1, 0x8682, 0xB0F2, - 0x8683, 0xB0F3, 0x8684, 0xB0F4, 0x8685, 0xB0F5, 0x8686, 0xB0F6, 0x8687, 0xB0F7, 0x8688, 0xB0F8, 0x8689, 0xB0F9, 0x868A, 0xB0FA, - 0x868B, 0xB0FB, 0x868C, 0xB0FC, 0x868D, 0xB0FD, 0x868E, 0xB0FE, 0x868F, 0xB0FF, 0x8690, 0xB100, 0x8691, 0xB101, 0x8692, 0xB102, - 0x8693, 0xB103, 0x8694, 0xB104, 0x8695, 0xB105, 0x8696, 0xB106, 0x8697, 0xB107, 0x8698, 0xB10A, 0x8699, 0xB10D, 0x869A, 0xB10E, - 0x869B, 0xB10F, 0x869C, 0xB111, 0x869D, 0xB114, 0x869E, 0xB115, 0x869F, 0xB116, 0x86A0, 0xB117, 0x86A1, 0xB11A, 0x86A2, 0xB11E, - 0x86A3, 0xB11F, 0x86A4, 0xB120, 0x86A5, 0xB121, 0x86A6, 0xB122, 0x86A7, 0xB126, 0x86A8, 0xB127, 0x86A9, 0xB129, 0x86AA, 0xB12A, - 0x86AB, 0xB12B, 0x86AC, 0xB12D, 0x86AD, 0xB12E, 0x86AE, 0xB12F, 0x86AF, 0xB130, 0x86B0, 0xB131, 0x86B1, 0xB132, 0x86B2, 0xB133, - 0x86B3, 0xB136, 0x86B4, 0xB13A, 0x86B5, 0xB13B, 0x86B6, 0xB13C, 0x86B7, 0xB13D, 0x86B8, 0xB13E, 0x86B9, 0xB13F, 0x86BA, 0xB142, - 0x86BB, 0xB143, 0x86BC, 0xB145, 0x86BD, 0xB146, 0x86BE, 0xB147, 0x86BF, 0xB149, 0x86C0, 0xB14A, 0x86C1, 0xB14B, 0x86C2, 0xB14C, - 0x86C3, 0xB14D, 0x86C4, 0xB14E, 0x86C5, 0xB14F, 0x86C6, 0xB152, 0x86C7, 0xB153, 0x86C8, 0xB156, 0x86C9, 0xB157, 0x86CA, 0xB159, - 0x86CB, 0xB15A, 0x86CC, 0xB15B, 0x86CD, 0xB15D, 0x86CE, 0xB15E, 0x86CF, 0xB15F, 0x86D0, 0xB161, 0x86D1, 0xB162, 0x86D2, 0xB163, - 0x86D3, 0xB164, 0x86D4, 0xB165, 0x86D5, 0xB166, 0x86D6, 0xB167, 0x86D7, 0xB168, 0x86D8, 0xB169, 0x86D9, 0xB16A, 0x86DA, 0xB16B, - 0x86DB, 0xB16C, 0x86DC, 0xB16D, 0x86DD, 0xB16E, 0x86DE, 0xB16F, 0x86DF, 0xB170, 0x86E0, 0xB171, 0x86E1, 0xB172, 0x86E2, 0xB173, - 0x86E3, 0xB174, 0x86E4, 0xB175, 0x86E5, 0xB176, 0x86E6, 0xB177, 0x86E7, 0xB17A, 0x86E8, 0xB17B, 0x86E9, 0xB17D, 0x86EA, 0xB17E, - 0x86EB, 0xB17F, 0x86EC, 0xB181, 0x86ED, 0xB183, 0x86EE, 0xB184, 0x86EF, 0xB185, 0x86F0, 0xB186, 0x86F1, 0xB187, 0x86F2, 0xB18A, - 0x86F3, 0xB18C, 0x86F4, 0xB18E, 0x86F5, 0xB18F, 0x86F6, 0xB190, 0x86F7, 0xB191, 0x86F8, 0xB195, 0x86F9, 0xB196, 0x86FA, 0xB197, - 0x86FB, 0xB199, 0x86FC, 0xB19A, 0x86FD, 0xB19B, 0x86FE, 0xB19D, 0x8741, 0xB19E, 0x8742, 0xB19F, 0x8743, 0xB1A0, 0x8744, 0xB1A1, - 0x8745, 0xB1A2, 0x8746, 0xB1A3, 0x8747, 0xB1A4, 0x8748, 0xB1A5, 0x8749, 0xB1A6, 0x874A, 0xB1A7, 0x874B, 0xB1A9, 0x874C, 0xB1AA, - 0x874D, 0xB1AB, 0x874E, 0xB1AC, 0x874F, 0xB1AD, 0x8750, 0xB1AE, 0x8751, 0xB1AF, 0x8752, 0xB1B0, 0x8753, 0xB1B1, 0x8754, 0xB1B2, - 0x8755, 0xB1B3, 0x8756, 0xB1B4, 0x8757, 0xB1B5, 0x8758, 0xB1B6, 0x8759, 0xB1B7, 0x875A, 0xB1B8, 0x8761, 0xB1B9, 0x8762, 0xB1BA, - 0x8763, 0xB1BB, 0x8764, 0xB1BC, 0x8765, 0xB1BD, 0x8766, 0xB1BE, 0x8767, 0xB1BF, 0x8768, 0xB1C0, 0x8769, 0xB1C1, 0x876A, 0xB1C2, - 0x876B, 0xB1C3, 0x876C, 0xB1C4, 0x876D, 0xB1C5, 0x876E, 0xB1C6, 0x876F, 0xB1C7, 0x8770, 0xB1C8, 0x8771, 0xB1C9, 0x8772, 0xB1CA, - 0x8773, 0xB1CB, 0x8774, 0xB1CD, 0x8775, 0xB1CE, 0x8776, 0xB1CF, 0x8777, 0xB1D1, 0x8778, 0xB1D2, 0x8779, 0xB1D3, 0x877A, 0xB1D5, - 0x8781, 0xB1D6, 0x8782, 0xB1D7, 0x8783, 0xB1D8, 0x8784, 0xB1D9, 0x8785, 0xB1DA, 0x8786, 0xB1DB, 0x8787, 0xB1DE, 0x8788, 0xB1E0, - 0x8789, 0xB1E1, 0x878A, 0xB1E2, 0x878B, 0xB1E3, 0x878C, 0xB1E4, 0x878D, 0xB1E5, 0x878E, 0xB1E6, 0x878F, 0xB1E7, 0x8790, 0xB1EA, - 0x8791, 0xB1EB, 0x8792, 0xB1ED, 0x8793, 0xB1EE, 0x8794, 0xB1EF, 0x8795, 0xB1F1, 0x8796, 0xB1F2, 0x8797, 0xB1F3, 0x8798, 0xB1F4, - 0x8799, 0xB1F5, 0x879A, 0xB1F6, 0x879B, 0xB1F7, 0x879C, 0xB1F8, 0x879D, 0xB1FA, 0x879E, 0xB1FC, 0x879F, 0xB1FE, 0x87A0, 0xB1FF, - 0x87A1, 0xB200, 0x87A2, 0xB201, 0x87A3, 0xB202, 0x87A4, 0xB203, 0x87A5, 0xB206, 0x87A6, 0xB207, 0x87A7, 0xB209, 0x87A8, 0xB20A, - 0x87A9, 0xB20D, 0x87AA, 0xB20E, 0x87AB, 0xB20F, 0x87AC, 0xB210, 0x87AD, 0xB211, 0x87AE, 0xB212, 0x87AF, 0xB213, 0x87B0, 0xB216, - 0x87B1, 0xB218, 0x87B2, 0xB21A, 0x87B3, 0xB21B, 0x87B4, 0xB21C, 0x87B5, 0xB21D, 0x87B6, 0xB21E, 0x87B7, 0xB21F, 0x87B8, 0xB221, - 0x87B9, 0xB222, 0x87BA, 0xB223, 0x87BB, 0xB224, 0x87BC, 0xB225, 0x87BD, 0xB226, 0x87BE, 0xB227, 0x87BF, 0xB228, 0x87C0, 0xB229, - 0x87C1, 0xB22A, 0x87C2, 0xB22B, 0x87C3, 0xB22C, 0x87C4, 0xB22D, 0x87C5, 0xB22E, 0x87C6, 0xB22F, 0x87C7, 0xB230, 0x87C8, 0xB231, - 0x87C9, 0xB232, 0x87CA, 0xB233, 0x87CB, 0xB235, 0x87CC, 0xB236, 0x87CD, 0xB237, 0x87CE, 0xB238, 0x87CF, 0xB239, 0x87D0, 0xB23A, - 0x87D1, 0xB23B, 0x87D2, 0xB23D, 0x87D3, 0xB23E, 0x87D4, 0xB23F, 0x87D5, 0xB240, 0x87D6, 0xB241, 0x87D7, 0xB242, 0x87D8, 0xB243, - 0x87D9, 0xB244, 0x87DA, 0xB245, 0x87DB, 0xB246, 0x87DC, 0xB247, 0x87DD, 0xB248, 0x87DE, 0xB249, 0x87DF, 0xB24A, 0x87E0, 0xB24B, - 0x87E1, 0xB24C, 0x87E2, 0xB24D, 0x87E3, 0xB24E, 0x87E4, 0xB24F, 0x87E5, 0xB250, 0x87E6, 0xB251, 0x87E7, 0xB252, 0x87E8, 0xB253, - 0x87E9, 0xB254, 0x87EA, 0xB255, 0x87EB, 0xB256, 0x87EC, 0xB257, 0x87ED, 0xB259, 0x87EE, 0xB25A, 0x87EF, 0xB25B, 0x87F0, 0xB25D, - 0x87F1, 0xB25E, 0x87F2, 0xB25F, 0x87F3, 0xB261, 0x87F4, 0xB262, 0x87F5, 0xB263, 0x87F6, 0xB264, 0x87F7, 0xB265, 0x87F8, 0xB266, - 0x87F9, 0xB267, 0x87FA, 0xB26A, 0x87FB, 0xB26B, 0x87FC, 0xB26C, 0x87FD, 0xB26D, 0x87FE, 0xB26E, 0x8841, 0xB26F, 0x8842, 0xB270, - 0x8843, 0xB271, 0x8844, 0xB272, 0x8845, 0xB273, 0x8846, 0xB276, 0x8847, 0xB277, 0x8848, 0xB278, 0x8849, 0xB279, 0x884A, 0xB27A, - 0x884B, 0xB27B, 0x884C, 0xB27D, 0x884D, 0xB27E, 0x884E, 0xB27F, 0x884F, 0xB280, 0x8850, 0xB281, 0x8851, 0xB282, 0x8852, 0xB283, - 0x8853, 0xB286, 0x8854, 0xB287, 0x8855, 0xB288, 0x8856, 0xB28A, 0x8857, 0xB28B, 0x8858, 0xB28C, 0x8859, 0xB28D, 0x885A, 0xB28E, - 0x8861, 0xB28F, 0x8862, 0xB292, 0x8863, 0xB293, 0x8864, 0xB295, 0x8865, 0xB296, 0x8866, 0xB297, 0x8867, 0xB29B, 0x8868, 0xB29C, - 0x8869, 0xB29D, 0x886A, 0xB29E, 0x886B, 0xB29F, 0x886C, 0xB2A2, 0x886D, 0xB2A4, 0x886E, 0xB2A7, 0x886F, 0xB2A8, 0x8870, 0xB2A9, - 0x8871, 0xB2AB, 0x8872, 0xB2AD, 0x8873, 0xB2AE, 0x8874, 0xB2AF, 0x8875, 0xB2B1, 0x8876, 0xB2B2, 0x8877, 0xB2B3, 0x8878, 0xB2B5, - 0x8879, 0xB2B6, 0x887A, 0xB2B7, 0x8881, 0xB2B8, 0x8882, 0xB2B9, 0x8883, 0xB2BA, 0x8884, 0xB2BB, 0x8885, 0xB2BC, 0x8886, 0xB2BD, - 0x8887, 0xB2BE, 0x8888, 0xB2BF, 0x8889, 0xB2C0, 0x888A, 0xB2C1, 0x888B, 0xB2C2, 0x888C, 0xB2C3, 0x888D, 0xB2C4, 0x888E, 0xB2C5, - 0x888F, 0xB2C6, 0x8890, 0xB2C7, 0x8891, 0xB2CA, 0x8892, 0xB2CB, 0x8893, 0xB2CD, 0x8894, 0xB2CE, 0x8895, 0xB2CF, 0x8896, 0xB2D1, - 0x8897, 0xB2D3, 0x8898, 0xB2D4, 0x8899, 0xB2D5, 0x889A, 0xB2D6, 0x889B, 0xB2D7, 0x889C, 0xB2DA, 0x889D, 0xB2DC, 0x889E, 0xB2DE, - 0x889F, 0xB2DF, 0x88A0, 0xB2E0, 0x88A1, 0xB2E1, 0x88A2, 0xB2E3, 0x88A3, 0xB2E7, 0x88A4, 0xB2E9, 0x88A5, 0xB2EA, 0x88A6, 0xB2F0, - 0x88A7, 0xB2F1, 0x88A8, 0xB2F2, 0x88A9, 0xB2F6, 0x88AA, 0xB2FC, 0x88AB, 0xB2FD, 0x88AC, 0xB2FE, 0x88AD, 0xB302, 0x88AE, 0xB303, - 0x88AF, 0xB305, 0x88B0, 0xB306, 0x88B1, 0xB307, 0x88B2, 0xB309, 0x88B3, 0xB30A, 0x88B4, 0xB30B, 0x88B5, 0xB30C, 0x88B6, 0xB30D, - 0x88B7, 0xB30E, 0x88B8, 0xB30F, 0x88B9, 0xB312, 0x88BA, 0xB316, 0x88BB, 0xB317, 0x88BC, 0xB318, 0x88BD, 0xB319, 0x88BE, 0xB31A, - 0x88BF, 0xB31B, 0x88C0, 0xB31D, 0x88C1, 0xB31E, 0x88C2, 0xB31F, 0x88C3, 0xB320, 0x88C4, 0xB321, 0x88C5, 0xB322, 0x88C6, 0xB323, - 0x88C7, 0xB324, 0x88C8, 0xB325, 0x88C9, 0xB326, 0x88CA, 0xB327, 0x88CB, 0xB328, 0x88CC, 0xB329, 0x88CD, 0xB32A, 0x88CE, 0xB32B, - 0x88CF, 0xB32C, 0x88D0, 0xB32D, 0x88D1, 0xB32E, 0x88D2, 0xB32F, 0x88D3, 0xB330, 0x88D4, 0xB331, 0x88D5, 0xB332, 0x88D6, 0xB333, - 0x88D7, 0xB334, 0x88D8, 0xB335, 0x88D9, 0xB336, 0x88DA, 0xB337, 0x88DB, 0xB338, 0x88DC, 0xB339, 0x88DD, 0xB33A, 0x88DE, 0xB33B, - 0x88DF, 0xB33C, 0x88E0, 0xB33D, 0x88E1, 0xB33E, 0x88E2, 0xB33F, 0x88E3, 0xB340, 0x88E4, 0xB341, 0x88E5, 0xB342, 0x88E6, 0xB343, - 0x88E7, 0xB344, 0x88E8, 0xB345, 0x88E9, 0xB346, 0x88EA, 0xB347, 0x88EB, 0xB348, 0x88EC, 0xB349, 0x88ED, 0xB34A, 0x88EE, 0xB34B, - 0x88EF, 0xB34C, 0x88F0, 0xB34D, 0x88F1, 0xB34E, 0x88F2, 0xB34F, 0x88F3, 0xB350, 0x88F4, 0xB351, 0x88F5, 0xB352, 0x88F6, 0xB353, - 0x88F7, 0xB357, 0x88F8, 0xB359, 0x88F9, 0xB35A, 0x88FA, 0xB35D, 0x88FB, 0xB360, 0x88FC, 0xB361, 0x88FD, 0xB362, 0x88FE, 0xB363, - 0x8941, 0xB366, 0x8942, 0xB368, 0x8943, 0xB36A, 0x8944, 0xB36C, 0x8945, 0xB36D, 0x8946, 0xB36F, 0x8947, 0xB372, 0x8948, 0xB373, - 0x8949, 0xB375, 0x894A, 0xB376, 0x894B, 0xB377, 0x894C, 0xB379, 0x894D, 0xB37A, 0x894E, 0xB37B, 0x894F, 0xB37C, 0x8950, 0xB37D, - 0x8951, 0xB37E, 0x8952, 0xB37F, 0x8953, 0xB382, 0x8954, 0xB386, 0x8955, 0xB387, 0x8956, 0xB388, 0x8957, 0xB389, 0x8958, 0xB38A, - 0x8959, 0xB38B, 0x895A, 0xB38D, 0x8961, 0xB38E, 0x8962, 0xB38F, 0x8963, 0xB391, 0x8964, 0xB392, 0x8965, 0xB393, 0x8966, 0xB395, - 0x8967, 0xB396, 0x8968, 0xB397, 0x8969, 0xB398, 0x896A, 0xB399, 0x896B, 0xB39A, 0x896C, 0xB39B, 0x896D, 0xB39C, 0x896E, 0xB39D, - 0x896F, 0xB39E, 0x8970, 0xB39F, 0x8971, 0xB3A2, 0x8972, 0xB3A3, 0x8973, 0xB3A4, 0x8974, 0xB3A5, 0x8975, 0xB3A6, 0x8976, 0xB3A7, - 0x8977, 0xB3A9, 0x8978, 0xB3AA, 0x8979, 0xB3AB, 0x897A, 0xB3AD, 0x8981, 0xB3AE, 0x8982, 0xB3AF, 0x8983, 0xB3B0, 0x8984, 0xB3B1, - 0x8985, 0xB3B2, 0x8986, 0xB3B3, 0x8987, 0xB3B4, 0x8988, 0xB3B5, 0x8989, 0xB3B6, 0x898A, 0xB3B7, 0x898B, 0xB3B8, 0x898C, 0xB3B9, - 0x898D, 0xB3BA, 0x898E, 0xB3BB, 0x898F, 0xB3BC, 0x8990, 0xB3BD, 0x8991, 0xB3BE, 0x8992, 0xB3BF, 0x8993, 0xB3C0, 0x8994, 0xB3C1, - 0x8995, 0xB3C2, 0x8996, 0xB3C3, 0x8997, 0xB3C6, 0x8998, 0xB3C7, 0x8999, 0xB3C9, 0x899A, 0xB3CA, 0x899B, 0xB3CD, 0x899C, 0xB3CF, - 0x899D, 0xB3D1, 0x899E, 0xB3D2, 0x899F, 0xB3D3, 0x89A0, 0xB3D6, 0x89A1, 0xB3D8, 0x89A2, 0xB3DA, 0x89A3, 0xB3DC, 0x89A4, 0xB3DE, - 0x89A5, 0xB3DF, 0x89A6, 0xB3E1, 0x89A7, 0xB3E2, 0x89A8, 0xB3E3, 0x89A9, 0xB3E5, 0x89AA, 0xB3E6, 0x89AB, 0xB3E7, 0x89AC, 0xB3E9, - 0x89AD, 0xB3EA, 0x89AE, 0xB3EB, 0x89AF, 0xB3EC, 0x89B0, 0xB3ED, 0x89B1, 0xB3EE, 0x89B2, 0xB3EF, 0x89B3, 0xB3F0, 0x89B4, 0xB3F1, - 0x89B5, 0xB3F2, 0x89B6, 0xB3F3, 0x89B7, 0xB3F4, 0x89B8, 0xB3F5, 0x89B9, 0xB3F6, 0x89BA, 0xB3F7, 0x89BB, 0xB3F8, 0x89BC, 0xB3F9, - 0x89BD, 0xB3FA, 0x89BE, 0xB3FB, 0x89BF, 0xB3FD, 0x89C0, 0xB3FE, 0x89C1, 0xB3FF, 0x89C2, 0xB400, 0x89C3, 0xB401, 0x89C4, 0xB402, - 0x89C5, 0xB403, 0x89C6, 0xB404, 0x89C7, 0xB405, 0x89C8, 0xB406, 0x89C9, 0xB407, 0x89CA, 0xB408, 0x89CB, 0xB409, 0x89CC, 0xB40A, - 0x89CD, 0xB40B, 0x89CE, 0xB40C, 0x89CF, 0xB40D, 0x89D0, 0xB40E, 0x89D1, 0xB40F, 0x89D2, 0xB411, 0x89D3, 0xB412, 0x89D4, 0xB413, - 0x89D5, 0xB414, 0x89D6, 0xB415, 0x89D7, 0xB416, 0x89D8, 0xB417, 0x89D9, 0xB419, 0x89DA, 0xB41A, 0x89DB, 0xB41B, 0x89DC, 0xB41D, - 0x89DD, 0xB41E, 0x89DE, 0xB41F, 0x89DF, 0xB421, 0x89E0, 0xB422, 0x89E1, 0xB423, 0x89E2, 0xB424, 0x89E3, 0xB425, 0x89E4, 0xB426, - 0x89E5, 0xB427, 0x89E6, 0xB42A, 0x89E7, 0xB42C, 0x89E8, 0xB42D, 0x89E9, 0xB42E, 0x89EA, 0xB42F, 0x89EB, 0xB430, 0x89EC, 0xB431, - 0x89ED, 0xB432, 0x89EE, 0xB433, 0x89EF, 0xB435, 0x89F0, 0xB436, 0x89F1, 0xB437, 0x89F2, 0xB438, 0x89F3, 0xB439, 0x89F4, 0xB43A, - 0x89F5, 0xB43B, 0x89F6, 0xB43C, 0x89F7, 0xB43D, 0x89F8, 0xB43E, 0x89F9, 0xB43F, 0x89FA, 0xB440, 0x89FB, 0xB441, 0x89FC, 0xB442, - 0x89FD, 0xB443, 0x89FE, 0xB444, 0x8A41, 0xB445, 0x8A42, 0xB446, 0x8A43, 0xB447, 0x8A44, 0xB448, 0x8A45, 0xB449, 0x8A46, 0xB44A, - 0x8A47, 0xB44B, 0x8A48, 0xB44C, 0x8A49, 0xB44D, 0x8A4A, 0xB44E, 0x8A4B, 0xB44F, 0x8A4C, 0xB452, 0x8A4D, 0xB453, 0x8A4E, 0xB455, - 0x8A4F, 0xB456, 0x8A50, 0xB457, 0x8A51, 0xB459, 0x8A52, 0xB45A, 0x8A53, 0xB45B, 0x8A54, 0xB45C, 0x8A55, 0xB45D, 0x8A56, 0xB45E, - 0x8A57, 0xB45F, 0x8A58, 0xB462, 0x8A59, 0xB464, 0x8A5A, 0xB466, 0x8A61, 0xB467, 0x8A62, 0xB468, 0x8A63, 0xB469, 0x8A64, 0xB46A, - 0x8A65, 0xB46B, 0x8A66, 0xB46D, 0x8A67, 0xB46E, 0x8A68, 0xB46F, 0x8A69, 0xB470, 0x8A6A, 0xB471, 0x8A6B, 0xB472, 0x8A6C, 0xB473, - 0x8A6D, 0xB474, 0x8A6E, 0xB475, 0x8A6F, 0xB476, 0x8A70, 0xB477, 0x8A71, 0xB478, 0x8A72, 0xB479, 0x8A73, 0xB47A, 0x8A74, 0xB47B, - 0x8A75, 0xB47C, 0x8A76, 0xB47D, 0x8A77, 0xB47E, 0x8A78, 0xB47F, 0x8A79, 0xB481, 0x8A7A, 0xB482, 0x8A81, 0xB483, 0x8A82, 0xB484, - 0x8A83, 0xB485, 0x8A84, 0xB486, 0x8A85, 0xB487, 0x8A86, 0xB489, 0x8A87, 0xB48A, 0x8A88, 0xB48B, 0x8A89, 0xB48C, 0x8A8A, 0xB48D, - 0x8A8B, 0xB48E, 0x8A8C, 0xB48F, 0x8A8D, 0xB490, 0x8A8E, 0xB491, 0x8A8F, 0xB492, 0x8A90, 0xB493, 0x8A91, 0xB494, 0x8A92, 0xB495, - 0x8A93, 0xB496, 0x8A94, 0xB497, 0x8A95, 0xB498, 0x8A96, 0xB499, 0x8A97, 0xB49A, 0x8A98, 0xB49B, 0x8A99, 0xB49C, 0x8A9A, 0xB49E, - 0x8A9B, 0xB49F, 0x8A9C, 0xB4A0, 0x8A9D, 0xB4A1, 0x8A9E, 0xB4A2, 0x8A9F, 0xB4A3, 0x8AA0, 0xB4A5, 0x8AA1, 0xB4A6, 0x8AA2, 0xB4A7, - 0x8AA3, 0xB4A9, 0x8AA4, 0xB4AA, 0x8AA5, 0xB4AB, 0x8AA6, 0xB4AD, 0x8AA7, 0xB4AE, 0x8AA8, 0xB4AF, 0x8AA9, 0xB4B0, 0x8AAA, 0xB4B1, - 0x8AAB, 0xB4B2, 0x8AAC, 0xB4B3, 0x8AAD, 0xB4B4, 0x8AAE, 0xB4B6, 0x8AAF, 0xB4B8, 0x8AB0, 0xB4BA, 0x8AB1, 0xB4BB, 0x8AB2, 0xB4BC, - 0x8AB3, 0xB4BD, 0x8AB4, 0xB4BE, 0x8AB5, 0xB4BF, 0x8AB6, 0xB4C1, 0x8AB7, 0xB4C2, 0x8AB8, 0xB4C3, 0x8AB9, 0xB4C5, 0x8ABA, 0xB4C6, - 0x8ABB, 0xB4C7, 0x8ABC, 0xB4C9, 0x8ABD, 0xB4CA, 0x8ABE, 0xB4CB, 0x8ABF, 0xB4CC, 0x8AC0, 0xB4CD, 0x8AC1, 0xB4CE, 0x8AC2, 0xB4CF, - 0x8AC3, 0xB4D1, 0x8AC4, 0xB4D2, 0x8AC5, 0xB4D3, 0x8AC6, 0xB4D4, 0x8AC7, 0xB4D6, 0x8AC8, 0xB4D7, 0x8AC9, 0xB4D8, 0x8ACA, 0xB4D9, - 0x8ACB, 0xB4DA, 0x8ACC, 0xB4DB, 0x8ACD, 0xB4DE, 0x8ACE, 0xB4DF, 0x8ACF, 0xB4E1, 0x8AD0, 0xB4E2, 0x8AD1, 0xB4E5, 0x8AD2, 0xB4E7, - 0x8AD3, 0xB4E8, 0x8AD4, 0xB4E9, 0x8AD5, 0xB4EA, 0x8AD6, 0xB4EB, 0x8AD7, 0xB4EE, 0x8AD8, 0xB4F0, 0x8AD9, 0xB4F2, 0x8ADA, 0xB4F3, - 0x8ADB, 0xB4F4, 0x8ADC, 0xB4F5, 0x8ADD, 0xB4F6, 0x8ADE, 0xB4F7, 0x8ADF, 0xB4F9, 0x8AE0, 0xB4FA, 0x8AE1, 0xB4FB, 0x8AE2, 0xB4FC, - 0x8AE3, 0xB4FD, 0x8AE4, 0xB4FE, 0x8AE5, 0xB4FF, 0x8AE6, 0xB500, 0x8AE7, 0xB501, 0x8AE8, 0xB502, 0x8AE9, 0xB503, 0x8AEA, 0xB504, - 0x8AEB, 0xB505, 0x8AEC, 0xB506, 0x8AED, 0xB507, 0x8AEE, 0xB508, 0x8AEF, 0xB509, 0x8AF0, 0xB50A, 0x8AF1, 0xB50B, 0x8AF2, 0xB50C, - 0x8AF3, 0xB50D, 0x8AF4, 0xB50E, 0x8AF5, 0xB50F, 0x8AF6, 0xB510, 0x8AF7, 0xB511, 0x8AF8, 0xB512, 0x8AF9, 0xB513, 0x8AFA, 0xB516, - 0x8AFB, 0xB517, 0x8AFC, 0xB519, 0x8AFD, 0xB51A, 0x8AFE, 0xB51D, 0x8B41, 0xB51E, 0x8B42, 0xB51F, 0x8B43, 0xB520, 0x8B44, 0xB521, - 0x8B45, 0xB522, 0x8B46, 0xB523, 0x8B47, 0xB526, 0x8B48, 0xB52B, 0x8B49, 0xB52C, 0x8B4A, 0xB52D, 0x8B4B, 0xB52E, 0x8B4C, 0xB52F, - 0x8B4D, 0xB532, 0x8B4E, 0xB533, 0x8B4F, 0xB535, 0x8B50, 0xB536, 0x8B51, 0xB537, 0x8B52, 0xB539, 0x8B53, 0xB53A, 0x8B54, 0xB53B, - 0x8B55, 0xB53C, 0x8B56, 0xB53D, 0x8B57, 0xB53E, 0x8B58, 0xB53F, 0x8B59, 0xB542, 0x8B5A, 0xB546, 0x8B61, 0xB547, 0x8B62, 0xB548, - 0x8B63, 0xB549, 0x8B64, 0xB54A, 0x8B65, 0xB54E, 0x8B66, 0xB54F, 0x8B67, 0xB551, 0x8B68, 0xB552, 0x8B69, 0xB553, 0x8B6A, 0xB555, - 0x8B6B, 0xB556, 0x8B6C, 0xB557, 0x8B6D, 0xB558, 0x8B6E, 0xB559, 0x8B6F, 0xB55A, 0x8B70, 0xB55B, 0x8B71, 0xB55E, 0x8B72, 0xB562, - 0x8B73, 0xB563, 0x8B74, 0xB564, 0x8B75, 0xB565, 0x8B76, 0xB566, 0x8B77, 0xB567, 0x8B78, 0xB568, 0x8B79, 0xB569, 0x8B7A, 0xB56A, - 0x8B81, 0xB56B, 0x8B82, 0xB56C, 0x8B83, 0xB56D, 0x8B84, 0xB56E, 0x8B85, 0xB56F, 0x8B86, 0xB570, 0x8B87, 0xB571, 0x8B88, 0xB572, - 0x8B89, 0xB573, 0x8B8A, 0xB574, 0x8B8B, 0xB575, 0x8B8C, 0xB576, 0x8B8D, 0xB577, 0x8B8E, 0xB578, 0x8B8F, 0xB579, 0x8B90, 0xB57A, - 0x8B91, 0xB57B, 0x8B92, 0xB57C, 0x8B93, 0xB57D, 0x8B94, 0xB57E, 0x8B95, 0xB57F, 0x8B96, 0xB580, 0x8B97, 0xB581, 0x8B98, 0xB582, - 0x8B99, 0xB583, 0x8B9A, 0xB584, 0x8B9B, 0xB585, 0x8B9C, 0xB586, 0x8B9D, 0xB587, 0x8B9E, 0xB588, 0x8B9F, 0xB589, 0x8BA0, 0xB58A, - 0x8BA1, 0xB58B, 0x8BA2, 0xB58C, 0x8BA3, 0xB58D, 0x8BA4, 0xB58E, 0x8BA5, 0xB58F, 0x8BA6, 0xB590, 0x8BA7, 0xB591, 0x8BA8, 0xB592, - 0x8BA9, 0xB593, 0x8BAA, 0xB594, 0x8BAB, 0xB595, 0x8BAC, 0xB596, 0x8BAD, 0xB597, 0x8BAE, 0xB598, 0x8BAF, 0xB599, 0x8BB0, 0xB59A, - 0x8BB1, 0xB59B, 0x8BB2, 0xB59C, 0x8BB3, 0xB59D, 0x8BB4, 0xB59E, 0x8BB5, 0xB59F, 0x8BB6, 0xB5A2, 0x8BB7, 0xB5A3, 0x8BB8, 0xB5A5, - 0x8BB9, 0xB5A6, 0x8BBA, 0xB5A7, 0x8BBB, 0xB5A9, 0x8BBC, 0xB5AC, 0x8BBD, 0xB5AD, 0x8BBE, 0xB5AE, 0x8BBF, 0xB5AF, 0x8BC0, 0xB5B2, - 0x8BC1, 0xB5B6, 0x8BC2, 0xB5B7, 0x8BC3, 0xB5B8, 0x8BC4, 0xB5B9, 0x8BC5, 0xB5BA, 0x8BC6, 0xB5BE, 0x8BC7, 0xB5BF, 0x8BC8, 0xB5C1, - 0x8BC9, 0xB5C2, 0x8BCA, 0xB5C3, 0x8BCB, 0xB5C5, 0x8BCC, 0xB5C6, 0x8BCD, 0xB5C7, 0x8BCE, 0xB5C8, 0x8BCF, 0xB5C9, 0x8BD0, 0xB5CA, - 0x8BD1, 0xB5CB, 0x8BD2, 0xB5CE, 0x8BD3, 0xB5D2, 0x8BD4, 0xB5D3, 0x8BD5, 0xB5D4, 0x8BD6, 0xB5D5, 0x8BD7, 0xB5D6, 0x8BD8, 0xB5D7, - 0x8BD9, 0xB5D9, 0x8BDA, 0xB5DA, 0x8BDB, 0xB5DB, 0x8BDC, 0xB5DC, 0x8BDD, 0xB5DD, 0x8BDE, 0xB5DE, 0x8BDF, 0xB5DF, 0x8BE0, 0xB5E0, - 0x8BE1, 0xB5E1, 0x8BE2, 0xB5E2, 0x8BE3, 0xB5E3, 0x8BE4, 0xB5E4, 0x8BE5, 0xB5E5, 0x8BE6, 0xB5E6, 0x8BE7, 0xB5E7, 0x8BE8, 0xB5E8, - 0x8BE9, 0xB5E9, 0x8BEA, 0xB5EA, 0x8BEB, 0xB5EB, 0x8BEC, 0xB5ED, 0x8BED, 0xB5EE, 0x8BEE, 0xB5EF, 0x8BEF, 0xB5F0, 0x8BF0, 0xB5F1, - 0x8BF1, 0xB5F2, 0x8BF2, 0xB5F3, 0x8BF3, 0xB5F4, 0x8BF4, 0xB5F5, 0x8BF5, 0xB5F6, 0x8BF6, 0xB5F7, 0x8BF7, 0xB5F8, 0x8BF8, 0xB5F9, - 0x8BF9, 0xB5FA, 0x8BFA, 0xB5FB, 0x8BFB, 0xB5FC, 0x8BFC, 0xB5FD, 0x8BFD, 0xB5FE, 0x8BFE, 0xB5FF, 0x8C41, 0xB600, 0x8C42, 0xB601, - 0x8C43, 0xB602, 0x8C44, 0xB603, 0x8C45, 0xB604, 0x8C46, 0xB605, 0x8C47, 0xB606, 0x8C48, 0xB607, 0x8C49, 0xB608, 0x8C4A, 0xB609, - 0x8C4B, 0xB60A, 0x8C4C, 0xB60B, 0x8C4D, 0xB60C, 0x8C4E, 0xB60D, 0x8C4F, 0xB60E, 0x8C50, 0xB60F, 0x8C51, 0xB612, 0x8C52, 0xB613, - 0x8C53, 0xB615, 0x8C54, 0xB616, 0x8C55, 0xB617, 0x8C56, 0xB619, 0x8C57, 0xB61A, 0x8C58, 0xB61B, 0x8C59, 0xB61C, 0x8C5A, 0xB61D, - 0x8C61, 0xB61E, 0x8C62, 0xB61F, 0x8C63, 0xB620, 0x8C64, 0xB621, 0x8C65, 0xB622, 0x8C66, 0xB623, 0x8C67, 0xB624, 0x8C68, 0xB626, - 0x8C69, 0xB627, 0x8C6A, 0xB628, 0x8C6B, 0xB629, 0x8C6C, 0xB62A, 0x8C6D, 0xB62B, 0x8C6E, 0xB62D, 0x8C6F, 0xB62E, 0x8C70, 0xB62F, - 0x8C71, 0xB630, 0x8C72, 0xB631, 0x8C73, 0xB632, 0x8C74, 0xB633, 0x8C75, 0xB635, 0x8C76, 0xB636, 0x8C77, 0xB637, 0x8C78, 0xB638, - 0x8C79, 0xB639, 0x8C7A, 0xB63A, 0x8C81, 0xB63B, 0x8C82, 0xB63C, 0x8C83, 0xB63D, 0x8C84, 0xB63E, 0x8C85, 0xB63F, 0x8C86, 0xB640, - 0x8C87, 0xB641, 0x8C88, 0xB642, 0x8C89, 0xB643, 0x8C8A, 0xB644, 0x8C8B, 0xB645, 0x8C8C, 0xB646, 0x8C8D, 0xB647, 0x8C8E, 0xB649, - 0x8C8F, 0xB64A, 0x8C90, 0xB64B, 0x8C91, 0xB64C, 0x8C92, 0xB64D, 0x8C93, 0xB64E, 0x8C94, 0xB64F, 0x8C95, 0xB650, 0x8C96, 0xB651, - 0x8C97, 0xB652, 0x8C98, 0xB653, 0x8C99, 0xB654, 0x8C9A, 0xB655, 0x8C9B, 0xB656, 0x8C9C, 0xB657, 0x8C9D, 0xB658, 0x8C9E, 0xB659, - 0x8C9F, 0xB65A, 0x8CA0, 0xB65B, 0x8CA1, 0xB65C, 0x8CA2, 0xB65D, 0x8CA3, 0xB65E, 0x8CA4, 0xB65F, 0x8CA5, 0xB660, 0x8CA6, 0xB661, - 0x8CA7, 0xB662, 0x8CA8, 0xB663, 0x8CA9, 0xB665, 0x8CAA, 0xB666, 0x8CAB, 0xB667, 0x8CAC, 0xB669, 0x8CAD, 0xB66A, 0x8CAE, 0xB66B, - 0x8CAF, 0xB66C, 0x8CB0, 0xB66D, 0x8CB1, 0xB66E, 0x8CB2, 0xB66F, 0x8CB3, 0xB670, 0x8CB4, 0xB671, 0x8CB5, 0xB672, 0x8CB6, 0xB673, - 0x8CB7, 0xB674, 0x8CB8, 0xB675, 0x8CB9, 0xB676, 0x8CBA, 0xB677, 0x8CBB, 0xB678, 0x8CBC, 0xB679, 0x8CBD, 0xB67A, 0x8CBE, 0xB67B, - 0x8CBF, 0xB67C, 0x8CC0, 0xB67D, 0x8CC1, 0xB67E, 0x8CC2, 0xB67F, 0x8CC3, 0xB680, 0x8CC4, 0xB681, 0x8CC5, 0xB682, 0x8CC6, 0xB683, - 0x8CC7, 0xB684, 0x8CC8, 0xB685, 0x8CC9, 0xB686, 0x8CCA, 0xB687, 0x8CCB, 0xB688, 0x8CCC, 0xB689, 0x8CCD, 0xB68A, 0x8CCE, 0xB68B, - 0x8CCF, 0xB68C, 0x8CD0, 0xB68D, 0x8CD1, 0xB68E, 0x8CD2, 0xB68F, 0x8CD3, 0xB690, 0x8CD4, 0xB691, 0x8CD5, 0xB692, 0x8CD6, 0xB693, - 0x8CD7, 0xB694, 0x8CD8, 0xB695, 0x8CD9, 0xB696, 0x8CDA, 0xB697, 0x8CDB, 0xB698, 0x8CDC, 0xB699, 0x8CDD, 0xB69A, 0x8CDE, 0xB69B, - 0x8CDF, 0xB69E, 0x8CE0, 0xB69F, 0x8CE1, 0xB6A1, 0x8CE2, 0xB6A2, 0x8CE3, 0xB6A3, 0x8CE4, 0xB6A5, 0x8CE5, 0xB6A6, 0x8CE6, 0xB6A7, - 0x8CE7, 0xB6A8, 0x8CE8, 0xB6A9, 0x8CE9, 0xB6AA, 0x8CEA, 0xB6AD, 0x8CEB, 0xB6AE, 0x8CEC, 0xB6AF, 0x8CED, 0xB6B0, 0x8CEE, 0xB6B2, - 0x8CEF, 0xB6B3, 0x8CF0, 0xB6B4, 0x8CF1, 0xB6B5, 0x8CF2, 0xB6B6, 0x8CF3, 0xB6B7, 0x8CF4, 0xB6B8, 0x8CF5, 0xB6B9, 0x8CF6, 0xB6BA, - 0x8CF7, 0xB6BB, 0x8CF8, 0xB6BC, 0x8CF9, 0xB6BD, 0x8CFA, 0xB6BE, 0x8CFB, 0xB6BF, 0x8CFC, 0xB6C0, 0x8CFD, 0xB6C1, 0x8CFE, 0xB6C2, - 0x8D41, 0xB6C3, 0x8D42, 0xB6C4, 0x8D43, 0xB6C5, 0x8D44, 0xB6C6, 0x8D45, 0xB6C7, 0x8D46, 0xB6C8, 0x8D47, 0xB6C9, 0x8D48, 0xB6CA, - 0x8D49, 0xB6CB, 0x8D4A, 0xB6CC, 0x8D4B, 0xB6CD, 0x8D4C, 0xB6CE, 0x8D4D, 0xB6CF, 0x8D4E, 0xB6D0, 0x8D4F, 0xB6D1, 0x8D50, 0xB6D2, - 0x8D51, 0xB6D3, 0x8D52, 0xB6D5, 0x8D53, 0xB6D6, 0x8D54, 0xB6D7, 0x8D55, 0xB6D8, 0x8D56, 0xB6D9, 0x8D57, 0xB6DA, 0x8D58, 0xB6DB, - 0x8D59, 0xB6DC, 0x8D5A, 0xB6DD, 0x8D61, 0xB6DE, 0x8D62, 0xB6DF, 0x8D63, 0xB6E0, 0x8D64, 0xB6E1, 0x8D65, 0xB6E2, 0x8D66, 0xB6E3, - 0x8D67, 0xB6E4, 0x8D68, 0xB6E5, 0x8D69, 0xB6E6, 0x8D6A, 0xB6E7, 0x8D6B, 0xB6E8, 0x8D6C, 0xB6E9, 0x8D6D, 0xB6EA, 0x8D6E, 0xB6EB, - 0x8D6F, 0xB6EC, 0x8D70, 0xB6ED, 0x8D71, 0xB6EE, 0x8D72, 0xB6EF, 0x8D73, 0xB6F1, 0x8D74, 0xB6F2, 0x8D75, 0xB6F3, 0x8D76, 0xB6F5, - 0x8D77, 0xB6F6, 0x8D78, 0xB6F7, 0x8D79, 0xB6F9, 0x8D7A, 0xB6FA, 0x8D81, 0xB6FB, 0x8D82, 0xB6FC, 0x8D83, 0xB6FD, 0x8D84, 0xB6FE, - 0x8D85, 0xB6FF, 0x8D86, 0xB702, 0x8D87, 0xB703, 0x8D88, 0xB704, 0x8D89, 0xB706, 0x8D8A, 0xB707, 0x8D8B, 0xB708, 0x8D8C, 0xB709, - 0x8D8D, 0xB70A, 0x8D8E, 0xB70B, 0x8D8F, 0xB70C, 0x8D90, 0xB70D, 0x8D91, 0xB70E, 0x8D92, 0xB70F, 0x8D93, 0xB710, 0x8D94, 0xB711, - 0x8D95, 0xB712, 0x8D96, 0xB713, 0x8D97, 0xB714, 0x8D98, 0xB715, 0x8D99, 0xB716, 0x8D9A, 0xB717, 0x8D9B, 0xB718, 0x8D9C, 0xB719, - 0x8D9D, 0xB71A, 0x8D9E, 0xB71B, 0x8D9F, 0xB71C, 0x8DA0, 0xB71D, 0x8DA1, 0xB71E, 0x8DA2, 0xB71F, 0x8DA3, 0xB720, 0x8DA4, 0xB721, - 0x8DA5, 0xB722, 0x8DA6, 0xB723, 0x8DA7, 0xB724, 0x8DA8, 0xB725, 0x8DA9, 0xB726, 0x8DAA, 0xB727, 0x8DAB, 0xB72A, 0x8DAC, 0xB72B, - 0x8DAD, 0xB72D, 0x8DAE, 0xB72E, 0x8DAF, 0xB731, 0x8DB0, 0xB732, 0x8DB1, 0xB733, 0x8DB2, 0xB734, 0x8DB3, 0xB735, 0x8DB4, 0xB736, - 0x8DB5, 0xB737, 0x8DB6, 0xB73A, 0x8DB7, 0xB73C, 0x8DB8, 0xB73D, 0x8DB9, 0xB73E, 0x8DBA, 0xB73F, 0x8DBB, 0xB740, 0x8DBC, 0xB741, - 0x8DBD, 0xB742, 0x8DBE, 0xB743, 0x8DBF, 0xB745, 0x8DC0, 0xB746, 0x8DC1, 0xB747, 0x8DC2, 0xB749, 0x8DC3, 0xB74A, 0x8DC4, 0xB74B, - 0x8DC5, 0xB74D, 0x8DC6, 0xB74E, 0x8DC7, 0xB74F, 0x8DC8, 0xB750, 0x8DC9, 0xB751, 0x8DCA, 0xB752, 0x8DCB, 0xB753, 0x8DCC, 0xB756, - 0x8DCD, 0xB757, 0x8DCE, 0xB758, 0x8DCF, 0xB759, 0x8DD0, 0xB75A, 0x8DD1, 0xB75B, 0x8DD2, 0xB75C, 0x8DD3, 0xB75D, 0x8DD4, 0xB75E, - 0x8DD5, 0xB75F, 0x8DD6, 0xB761, 0x8DD7, 0xB762, 0x8DD8, 0xB763, 0x8DD9, 0xB765, 0x8DDA, 0xB766, 0x8DDB, 0xB767, 0x8DDC, 0xB769, - 0x8DDD, 0xB76A, 0x8DDE, 0xB76B, 0x8DDF, 0xB76C, 0x8DE0, 0xB76D, 0x8DE1, 0xB76E, 0x8DE2, 0xB76F, 0x8DE3, 0xB772, 0x8DE4, 0xB774, - 0x8DE5, 0xB776, 0x8DE6, 0xB777, 0x8DE7, 0xB778, 0x8DE8, 0xB779, 0x8DE9, 0xB77A, 0x8DEA, 0xB77B, 0x8DEB, 0xB77E, 0x8DEC, 0xB77F, - 0x8DED, 0xB781, 0x8DEE, 0xB782, 0x8DEF, 0xB783, 0x8DF0, 0xB785, 0x8DF1, 0xB786, 0x8DF2, 0xB787, 0x8DF3, 0xB788, 0x8DF4, 0xB789, - 0x8DF5, 0xB78A, 0x8DF6, 0xB78B, 0x8DF7, 0xB78E, 0x8DF8, 0xB793, 0x8DF9, 0xB794, 0x8DFA, 0xB795, 0x8DFB, 0xB79A, 0x8DFC, 0xB79B, - 0x8DFD, 0xB79D, 0x8DFE, 0xB79E, 0x8E41, 0xB79F, 0x8E42, 0xB7A1, 0x8E43, 0xB7A2, 0x8E44, 0xB7A3, 0x8E45, 0xB7A4, 0x8E46, 0xB7A5, - 0x8E47, 0xB7A6, 0x8E48, 0xB7A7, 0x8E49, 0xB7AA, 0x8E4A, 0xB7AE, 0x8E4B, 0xB7AF, 0x8E4C, 0xB7B0, 0x8E4D, 0xB7B1, 0x8E4E, 0xB7B2, - 0x8E4F, 0xB7B3, 0x8E50, 0xB7B6, 0x8E51, 0xB7B7, 0x8E52, 0xB7B9, 0x8E53, 0xB7BA, 0x8E54, 0xB7BB, 0x8E55, 0xB7BC, 0x8E56, 0xB7BD, - 0x8E57, 0xB7BE, 0x8E58, 0xB7BF, 0x8E59, 0xB7C0, 0x8E5A, 0xB7C1, 0x8E61, 0xB7C2, 0x8E62, 0xB7C3, 0x8E63, 0xB7C4, 0x8E64, 0xB7C5, - 0x8E65, 0xB7C6, 0x8E66, 0xB7C8, 0x8E67, 0xB7CA, 0x8E68, 0xB7CB, 0x8E69, 0xB7CC, 0x8E6A, 0xB7CD, 0x8E6B, 0xB7CE, 0x8E6C, 0xB7CF, - 0x8E6D, 0xB7D0, 0x8E6E, 0xB7D1, 0x8E6F, 0xB7D2, 0x8E70, 0xB7D3, 0x8E71, 0xB7D4, 0x8E72, 0xB7D5, 0x8E73, 0xB7D6, 0x8E74, 0xB7D7, - 0x8E75, 0xB7D8, 0x8E76, 0xB7D9, 0x8E77, 0xB7DA, 0x8E78, 0xB7DB, 0x8E79, 0xB7DC, 0x8E7A, 0xB7DD, 0x8E81, 0xB7DE, 0x8E82, 0xB7DF, - 0x8E83, 0xB7E0, 0x8E84, 0xB7E1, 0x8E85, 0xB7E2, 0x8E86, 0xB7E3, 0x8E87, 0xB7E4, 0x8E88, 0xB7E5, 0x8E89, 0xB7E6, 0x8E8A, 0xB7E7, - 0x8E8B, 0xB7E8, 0x8E8C, 0xB7E9, 0x8E8D, 0xB7EA, 0x8E8E, 0xB7EB, 0x8E8F, 0xB7EE, 0x8E90, 0xB7EF, 0x8E91, 0xB7F1, 0x8E92, 0xB7F2, - 0x8E93, 0xB7F3, 0x8E94, 0xB7F5, 0x8E95, 0xB7F6, 0x8E96, 0xB7F7, 0x8E97, 0xB7F8, 0x8E98, 0xB7F9, 0x8E99, 0xB7FA, 0x8E9A, 0xB7FB, - 0x8E9B, 0xB7FE, 0x8E9C, 0xB802, 0x8E9D, 0xB803, 0x8E9E, 0xB804, 0x8E9F, 0xB805, 0x8EA0, 0xB806, 0x8EA1, 0xB80A, 0x8EA2, 0xB80B, - 0x8EA3, 0xB80D, 0x8EA4, 0xB80E, 0x8EA5, 0xB80F, 0x8EA6, 0xB811, 0x8EA7, 0xB812, 0x8EA8, 0xB813, 0x8EA9, 0xB814, 0x8EAA, 0xB815, - 0x8EAB, 0xB816, 0x8EAC, 0xB817, 0x8EAD, 0xB81A, 0x8EAE, 0xB81C, 0x8EAF, 0xB81E, 0x8EB0, 0xB81F, 0x8EB1, 0xB820, 0x8EB2, 0xB821, - 0x8EB3, 0xB822, 0x8EB4, 0xB823, 0x8EB5, 0xB826, 0x8EB6, 0xB827, 0x8EB7, 0xB829, 0x8EB8, 0xB82A, 0x8EB9, 0xB82B, 0x8EBA, 0xB82D, - 0x8EBB, 0xB82E, 0x8EBC, 0xB82F, 0x8EBD, 0xB830, 0x8EBE, 0xB831, 0x8EBF, 0xB832, 0x8EC0, 0xB833, 0x8EC1, 0xB836, 0x8EC2, 0xB83A, - 0x8EC3, 0xB83B, 0x8EC4, 0xB83C, 0x8EC5, 0xB83D, 0x8EC6, 0xB83E, 0x8EC7, 0xB83F, 0x8EC8, 0xB841, 0x8EC9, 0xB842, 0x8ECA, 0xB843, - 0x8ECB, 0xB845, 0x8ECC, 0xB846, 0x8ECD, 0xB847, 0x8ECE, 0xB848, 0x8ECF, 0xB849, 0x8ED0, 0xB84A, 0x8ED1, 0xB84B, 0x8ED2, 0xB84C, - 0x8ED3, 0xB84D, 0x8ED4, 0xB84E, 0x8ED5, 0xB84F, 0x8ED6, 0xB850, 0x8ED7, 0xB852, 0x8ED8, 0xB854, 0x8ED9, 0xB855, 0x8EDA, 0xB856, - 0x8EDB, 0xB857, 0x8EDC, 0xB858, 0x8EDD, 0xB859, 0x8EDE, 0xB85A, 0x8EDF, 0xB85B, 0x8EE0, 0xB85E, 0x8EE1, 0xB85F, 0x8EE2, 0xB861, - 0x8EE3, 0xB862, 0x8EE4, 0xB863, 0x8EE5, 0xB865, 0x8EE6, 0xB866, 0x8EE7, 0xB867, 0x8EE8, 0xB868, 0x8EE9, 0xB869, 0x8EEA, 0xB86A, - 0x8EEB, 0xB86B, 0x8EEC, 0xB86E, 0x8EED, 0xB870, 0x8EEE, 0xB872, 0x8EEF, 0xB873, 0x8EF0, 0xB874, 0x8EF1, 0xB875, 0x8EF2, 0xB876, - 0x8EF3, 0xB877, 0x8EF4, 0xB879, 0x8EF5, 0xB87A, 0x8EF6, 0xB87B, 0x8EF7, 0xB87D, 0x8EF8, 0xB87E, 0x8EF9, 0xB87F, 0x8EFA, 0xB880, - 0x8EFB, 0xB881, 0x8EFC, 0xB882, 0x8EFD, 0xB883, 0x8EFE, 0xB884, 0x8F41, 0xB885, 0x8F42, 0xB886, 0x8F43, 0xB887, 0x8F44, 0xB888, - 0x8F45, 0xB889, 0x8F46, 0xB88A, 0x8F47, 0xB88B, 0x8F48, 0xB88C, 0x8F49, 0xB88E, 0x8F4A, 0xB88F, 0x8F4B, 0xB890, 0x8F4C, 0xB891, - 0x8F4D, 0xB892, 0x8F4E, 0xB893, 0x8F4F, 0xB894, 0x8F50, 0xB895, 0x8F51, 0xB896, 0x8F52, 0xB897, 0x8F53, 0xB898, 0x8F54, 0xB899, - 0x8F55, 0xB89A, 0x8F56, 0xB89B, 0x8F57, 0xB89C, 0x8F58, 0xB89D, 0x8F59, 0xB89E, 0x8F5A, 0xB89F, 0x8F61, 0xB8A0, 0x8F62, 0xB8A1, - 0x8F63, 0xB8A2, 0x8F64, 0xB8A3, 0x8F65, 0xB8A4, 0x8F66, 0xB8A5, 0x8F67, 0xB8A6, 0x8F68, 0xB8A7, 0x8F69, 0xB8A9, 0x8F6A, 0xB8AA, - 0x8F6B, 0xB8AB, 0x8F6C, 0xB8AC, 0x8F6D, 0xB8AD, 0x8F6E, 0xB8AE, 0x8F6F, 0xB8AF, 0x8F70, 0xB8B1, 0x8F71, 0xB8B2, 0x8F72, 0xB8B3, - 0x8F73, 0xB8B5, 0x8F74, 0xB8B6, 0x8F75, 0xB8B7, 0x8F76, 0xB8B9, 0x8F77, 0xB8BA, 0x8F78, 0xB8BB, 0x8F79, 0xB8BC, 0x8F7A, 0xB8BD, - 0x8F81, 0xB8BE, 0x8F82, 0xB8BF, 0x8F83, 0xB8C2, 0x8F84, 0xB8C4, 0x8F85, 0xB8C6, 0x8F86, 0xB8C7, 0x8F87, 0xB8C8, 0x8F88, 0xB8C9, - 0x8F89, 0xB8CA, 0x8F8A, 0xB8CB, 0x8F8B, 0xB8CD, 0x8F8C, 0xB8CE, 0x8F8D, 0xB8CF, 0x8F8E, 0xB8D1, 0x8F8F, 0xB8D2, 0x8F90, 0xB8D3, - 0x8F91, 0xB8D5, 0x8F92, 0xB8D6, 0x8F93, 0xB8D7, 0x8F94, 0xB8D8, 0x8F95, 0xB8D9, 0x8F96, 0xB8DA, 0x8F97, 0xB8DB, 0x8F98, 0xB8DC, - 0x8F99, 0xB8DE, 0x8F9A, 0xB8E0, 0x8F9B, 0xB8E2, 0x8F9C, 0xB8E3, 0x8F9D, 0xB8E4, 0x8F9E, 0xB8E5, 0x8F9F, 0xB8E6, 0x8FA0, 0xB8E7, - 0x8FA1, 0xB8EA, 0x8FA2, 0xB8EB, 0x8FA3, 0xB8ED, 0x8FA4, 0xB8EE, 0x8FA5, 0xB8EF, 0x8FA6, 0xB8F1, 0x8FA7, 0xB8F2, 0x8FA8, 0xB8F3, - 0x8FA9, 0xB8F4, 0x8FAA, 0xB8F5, 0x8FAB, 0xB8F6, 0x8FAC, 0xB8F7, 0x8FAD, 0xB8FA, 0x8FAE, 0xB8FC, 0x8FAF, 0xB8FE, 0x8FB0, 0xB8FF, - 0x8FB1, 0xB900, 0x8FB2, 0xB901, 0x8FB3, 0xB902, 0x8FB4, 0xB903, 0x8FB5, 0xB905, 0x8FB6, 0xB906, 0x8FB7, 0xB907, 0x8FB8, 0xB908, - 0x8FB9, 0xB909, 0x8FBA, 0xB90A, 0x8FBB, 0xB90B, 0x8FBC, 0xB90C, 0x8FBD, 0xB90D, 0x8FBE, 0xB90E, 0x8FBF, 0xB90F, 0x8FC0, 0xB910, - 0x8FC1, 0xB911, 0x8FC2, 0xB912, 0x8FC3, 0xB913, 0x8FC4, 0xB914, 0x8FC5, 0xB915, 0x8FC6, 0xB916, 0x8FC7, 0xB917, 0x8FC8, 0xB919, - 0x8FC9, 0xB91A, 0x8FCA, 0xB91B, 0x8FCB, 0xB91C, 0x8FCC, 0xB91D, 0x8FCD, 0xB91E, 0x8FCE, 0xB91F, 0x8FCF, 0xB921, 0x8FD0, 0xB922, - 0x8FD1, 0xB923, 0x8FD2, 0xB924, 0x8FD3, 0xB925, 0x8FD4, 0xB926, 0x8FD5, 0xB927, 0x8FD6, 0xB928, 0x8FD7, 0xB929, 0x8FD8, 0xB92A, - 0x8FD9, 0xB92B, 0x8FDA, 0xB92C, 0x8FDB, 0xB92D, 0x8FDC, 0xB92E, 0x8FDD, 0xB92F, 0x8FDE, 0xB930, 0x8FDF, 0xB931, 0x8FE0, 0xB932, - 0x8FE1, 0xB933, 0x8FE2, 0xB934, 0x8FE3, 0xB935, 0x8FE4, 0xB936, 0x8FE5, 0xB937, 0x8FE6, 0xB938, 0x8FE7, 0xB939, 0x8FE8, 0xB93A, - 0x8FE9, 0xB93B, 0x8FEA, 0xB93E, 0x8FEB, 0xB93F, 0x8FEC, 0xB941, 0x8FED, 0xB942, 0x8FEE, 0xB943, 0x8FEF, 0xB945, 0x8FF0, 0xB946, - 0x8FF1, 0xB947, 0x8FF2, 0xB948, 0x8FF3, 0xB949, 0x8FF4, 0xB94A, 0x8FF5, 0xB94B, 0x8FF6, 0xB94D, 0x8FF7, 0xB94E, 0x8FF8, 0xB950, - 0x8FF9, 0xB952, 0x8FFA, 0xB953, 0x8FFB, 0xB954, 0x8FFC, 0xB955, 0x8FFD, 0xB956, 0x8FFE, 0xB957, 0x9041, 0xB95A, 0x9042, 0xB95B, - 0x9043, 0xB95D, 0x9044, 0xB95E, 0x9045, 0xB95F, 0x9046, 0xB961, 0x9047, 0xB962, 0x9048, 0xB963, 0x9049, 0xB964, 0x904A, 0xB965, - 0x904B, 0xB966, 0x904C, 0xB967, 0x904D, 0xB96A, 0x904E, 0xB96C, 0x904F, 0xB96E, 0x9050, 0xB96F, 0x9051, 0xB970, 0x9052, 0xB971, - 0x9053, 0xB972, 0x9054, 0xB973, 0x9055, 0xB976, 0x9056, 0xB977, 0x9057, 0xB979, 0x9058, 0xB97A, 0x9059, 0xB97B, 0x905A, 0xB97D, - 0x9061, 0xB97E, 0x9062, 0xB97F, 0x9063, 0xB980, 0x9064, 0xB981, 0x9065, 0xB982, 0x9066, 0xB983, 0x9067, 0xB986, 0x9068, 0xB988, - 0x9069, 0xB98B, 0x906A, 0xB98C, 0x906B, 0xB98F, 0x906C, 0xB990, 0x906D, 0xB991, 0x906E, 0xB992, 0x906F, 0xB993, 0x9070, 0xB994, - 0x9071, 0xB995, 0x9072, 0xB996, 0x9073, 0xB997, 0x9074, 0xB998, 0x9075, 0xB999, 0x9076, 0xB99A, 0x9077, 0xB99B, 0x9078, 0xB99C, - 0x9079, 0xB99D, 0x907A, 0xB99E, 0x9081, 0xB99F, 0x9082, 0xB9A0, 0x9083, 0xB9A1, 0x9084, 0xB9A2, 0x9085, 0xB9A3, 0x9086, 0xB9A4, - 0x9087, 0xB9A5, 0x9088, 0xB9A6, 0x9089, 0xB9A7, 0x908A, 0xB9A8, 0x908B, 0xB9A9, 0x908C, 0xB9AA, 0x908D, 0xB9AB, 0x908E, 0xB9AE, - 0x908F, 0xB9AF, 0x9090, 0xB9B1, 0x9091, 0xB9B2, 0x9092, 0xB9B3, 0x9093, 0xB9B5, 0x9094, 0xB9B6, 0x9095, 0xB9B7, 0x9096, 0xB9B8, - 0x9097, 0xB9B9, 0x9098, 0xB9BA, 0x9099, 0xB9BB, 0x909A, 0xB9BE, 0x909B, 0xB9C0, 0x909C, 0xB9C2, 0x909D, 0xB9C3, 0x909E, 0xB9C4, - 0x909F, 0xB9C5, 0x90A0, 0xB9C6, 0x90A1, 0xB9C7, 0x90A2, 0xB9CA, 0x90A3, 0xB9CB, 0x90A4, 0xB9CD, 0x90A5, 0xB9D3, 0x90A6, 0xB9D4, - 0x90A7, 0xB9D5, 0x90A8, 0xB9D6, 0x90A9, 0xB9D7, 0x90AA, 0xB9DA, 0x90AB, 0xB9DC, 0x90AC, 0xB9DF, 0x90AD, 0xB9E0, 0x90AE, 0xB9E2, - 0x90AF, 0xB9E6, 0x90B0, 0xB9E7, 0x90B1, 0xB9E9, 0x90B2, 0xB9EA, 0x90B3, 0xB9EB, 0x90B4, 0xB9ED, 0x90B5, 0xB9EE, 0x90B6, 0xB9EF, - 0x90B7, 0xB9F0, 0x90B8, 0xB9F1, 0x90B9, 0xB9F2, 0x90BA, 0xB9F3, 0x90BB, 0xB9F6, 0x90BC, 0xB9FB, 0x90BD, 0xB9FC, 0x90BE, 0xB9FD, - 0x90BF, 0xB9FE, 0x90C0, 0xB9FF, 0x90C1, 0xBA02, 0x90C2, 0xBA03, 0x90C3, 0xBA04, 0x90C4, 0xBA05, 0x90C5, 0xBA06, 0x90C6, 0xBA07, - 0x90C7, 0xBA09, 0x90C8, 0xBA0A, 0x90C9, 0xBA0B, 0x90CA, 0xBA0C, 0x90CB, 0xBA0D, 0x90CC, 0xBA0E, 0x90CD, 0xBA0F, 0x90CE, 0xBA10, - 0x90CF, 0xBA11, 0x90D0, 0xBA12, 0x90D1, 0xBA13, 0x90D2, 0xBA14, 0x90D3, 0xBA16, 0x90D4, 0xBA17, 0x90D5, 0xBA18, 0x90D6, 0xBA19, - 0x90D7, 0xBA1A, 0x90D8, 0xBA1B, 0x90D9, 0xBA1C, 0x90DA, 0xBA1D, 0x90DB, 0xBA1E, 0x90DC, 0xBA1F, 0x90DD, 0xBA20, 0x90DE, 0xBA21, - 0x90DF, 0xBA22, 0x90E0, 0xBA23, 0x90E1, 0xBA24, 0x90E2, 0xBA25, 0x90E3, 0xBA26, 0x90E4, 0xBA27, 0x90E5, 0xBA28, 0x90E6, 0xBA29, - 0x90E7, 0xBA2A, 0x90E8, 0xBA2B, 0x90E9, 0xBA2C, 0x90EA, 0xBA2D, 0x90EB, 0xBA2E, 0x90EC, 0xBA2F, 0x90ED, 0xBA30, 0x90EE, 0xBA31, - 0x90EF, 0xBA32, 0x90F0, 0xBA33, 0x90F1, 0xBA34, 0x90F2, 0xBA35, 0x90F3, 0xBA36, 0x90F4, 0xBA37, 0x90F5, 0xBA3A, 0x90F6, 0xBA3B, - 0x90F7, 0xBA3D, 0x90F8, 0xBA3E, 0x90F9, 0xBA3F, 0x90FA, 0xBA41, 0x90FB, 0xBA43, 0x90FC, 0xBA44, 0x90FD, 0xBA45, 0x90FE, 0xBA46, - 0x9141, 0xBA47, 0x9142, 0xBA4A, 0x9143, 0xBA4C, 0x9144, 0xBA4F, 0x9145, 0xBA50, 0x9146, 0xBA51, 0x9147, 0xBA52, 0x9148, 0xBA56, - 0x9149, 0xBA57, 0x914A, 0xBA59, 0x914B, 0xBA5A, 0x914C, 0xBA5B, 0x914D, 0xBA5D, 0x914E, 0xBA5E, 0x914F, 0xBA5F, 0x9150, 0xBA60, - 0x9151, 0xBA61, 0x9152, 0xBA62, 0x9153, 0xBA63, 0x9154, 0xBA66, 0x9155, 0xBA6A, 0x9156, 0xBA6B, 0x9157, 0xBA6C, 0x9158, 0xBA6D, - 0x9159, 0xBA6E, 0x915A, 0xBA6F, 0x9161, 0xBA72, 0x9162, 0xBA73, 0x9163, 0xBA75, 0x9164, 0xBA76, 0x9165, 0xBA77, 0x9166, 0xBA79, - 0x9167, 0xBA7A, 0x9168, 0xBA7B, 0x9169, 0xBA7C, 0x916A, 0xBA7D, 0x916B, 0xBA7E, 0x916C, 0xBA7F, 0x916D, 0xBA80, 0x916E, 0xBA81, - 0x916F, 0xBA82, 0x9170, 0xBA86, 0x9171, 0xBA88, 0x9172, 0xBA89, 0x9173, 0xBA8A, 0x9174, 0xBA8B, 0x9175, 0xBA8D, 0x9176, 0xBA8E, - 0x9177, 0xBA8F, 0x9178, 0xBA90, 0x9179, 0xBA91, 0x917A, 0xBA92, 0x9181, 0xBA93, 0x9182, 0xBA94, 0x9183, 0xBA95, 0x9184, 0xBA96, - 0x9185, 0xBA97, 0x9186, 0xBA98, 0x9187, 0xBA99, 0x9188, 0xBA9A, 0x9189, 0xBA9B, 0x918A, 0xBA9C, 0x918B, 0xBA9D, 0x918C, 0xBA9E, - 0x918D, 0xBA9F, 0x918E, 0xBAA0, 0x918F, 0xBAA1, 0x9190, 0xBAA2, 0x9191, 0xBAA3, 0x9192, 0xBAA4, 0x9193, 0xBAA5, 0x9194, 0xBAA6, - 0x9195, 0xBAA7, 0x9196, 0xBAAA, 0x9197, 0xBAAD, 0x9198, 0xBAAE, 0x9199, 0xBAAF, 0x919A, 0xBAB1, 0x919B, 0xBAB3, 0x919C, 0xBAB4, - 0x919D, 0xBAB5, 0x919E, 0xBAB6, 0x919F, 0xBAB7, 0x91A0, 0xBABA, 0x91A1, 0xBABC, 0x91A2, 0xBABE, 0x91A3, 0xBABF, 0x91A4, 0xBAC0, - 0x91A5, 0xBAC1, 0x91A6, 0xBAC2, 0x91A7, 0xBAC3, 0x91A8, 0xBAC5, 0x91A9, 0xBAC6, 0x91AA, 0xBAC7, 0x91AB, 0xBAC9, 0x91AC, 0xBACA, - 0x91AD, 0xBACB, 0x91AE, 0xBACC, 0x91AF, 0xBACD, 0x91B0, 0xBACE, 0x91B1, 0xBACF, 0x91B2, 0xBAD0, 0x91B3, 0xBAD1, 0x91B4, 0xBAD2, - 0x91B5, 0xBAD3, 0x91B6, 0xBAD4, 0x91B7, 0xBAD5, 0x91B8, 0xBAD6, 0x91B9, 0xBAD7, 0x91BA, 0xBADA, 0x91BB, 0xBADB, 0x91BC, 0xBADC, - 0x91BD, 0xBADD, 0x91BE, 0xBADE, 0x91BF, 0xBADF, 0x91C0, 0xBAE0, 0x91C1, 0xBAE1, 0x91C2, 0xBAE2, 0x91C3, 0xBAE3, 0x91C4, 0xBAE4, - 0x91C5, 0xBAE5, 0x91C6, 0xBAE6, 0x91C7, 0xBAE7, 0x91C8, 0xBAE8, 0x91C9, 0xBAE9, 0x91CA, 0xBAEA, 0x91CB, 0xBAEB, 0x91CC, 0xBAEC, - 0x91CD, 0xBAED, 0x91CE, 0xBAEE, 0x91CF, 0xBAEF, 0x91D0, 0xBAF0, 0x91D1, 0xBAF1, 0x91D2, 0xBAF2, 0x91D3, 0xBAF3, 0x91D4, 0xBAF4, - 0x91D5, 0xBAF5, 0x91D6, 0xBAF6, 0x91D7, 0xBAF7, 0x91D8, 0xBAF8, 0x91D9, 0xBAF9, 0x91DA, 0xBAFA, 0x91DB, 0xBAFB, 0x91DC, 0xBAFD, - 0x91DD, 0xBAFE, 0x91DE, 0xBAFF, 0x91DF, 0xBB01, 0x91E0, 0xBB02, 0x91E1, 0xBB03, 0x91E2, 0xBB05, 0x91E3, 0xBB06, 0x91E4, 0xBB07, - 0x91E5, 0xBB08, 0x91E6, 0xBB09, 0x91E7, 0xBB0A, 0x91E8, 0xBB0B, 0x91E9, 0xBB0C, 0x91EA, 0xBB0E, 0x91EB, 0xBB10, 0x91EC, 0xBB12, - 0x91ED, 0xBB13, 0x91EE, 0xBB14, 0x91EF, 0xBB15, 0x91F0, 0xBB16, 0x91F1, 0xBB17, 0x91F2, 0xBB19, 0x91F3, 0xBB1A, 0x91F4, 0xBB1B, - 0x91F5, 0xBB1D, 0x91F6, 0xBB1E, 0x91F7, 0xBB1F, 0x91F8, 0xBB21, 0x91F9, 0xBB22, 0x91FA, 0xBB23, 0x91FB, 0xBB24, 0x91FC, 0xBB25, - 0x91FD, 0xBB26, 0x91FE, 0xBB27, 0x9241, 0xBB28, 0x9242, 0xBB2A, 0x9243, 0xBB2C, 0x9244, 0xBB2D, 0x9245, 0xBB2E, 0x9246, 0xBB2F, - 0x9247, 0xBB30, 0x9248, 0xBB31, 0x9249, 0xBB32, 0x924A, 0xBB33, 0x924B, 0xBB37, 0x924C, 0xBB39, 0x924D, 0xBB3A, 0x924E, 0xBB3F, - 0x924F, 0xBB40, 0x9250, 0xBB41, 0x9251, 0xBB42, 0x9252, 0xBB43, 0x9253, 0xBB46, 0x9254, 0xBB48, 0x9255, 0xBB4A, 0x9256, 0xBB4B, - 0x9257, 0xBB4C, 0x9258, 0xBB4E, 0x9259, 0xBB51, 0x925A, 0xBB52, 0x9261, 0xBB53, 0x9262, 0xBB55, 0x9263, 0xBB56, 0x9264, 0xBB57, - 0x9265, 0xBB59, 0x9266, 0xBB5A, 0x9267, 0xBB5B, 0x9268, 0xBB5C, 0x9269, 0xBB5D, 0x926A, 0xBB5E, 0x926B, 0xBB5F, 0x926C, 0xBB60, - 0x926D, 0xBB62, 0x926E, 0xBB64, 0x926F, 0xBB65, 0x9270, 0xBB66, 0x9271, 0xBB67, 0x9272, 0xBB68, 0x9273, 0xBB69, 0x9274, 0xBB6A, - 0x9275, 0xBB6B, 0x9276, 0xBB6D, 0x9277, 0xBB6E, 0x9278, 0xBB6F, 0x9279, 0xBB70, 0x927A, 0xBB71, 0x9281, 0xBB72, 0x9282, 0xBB73, - 0x9283, 0xBB74, 0x9284, 0xBB75, 0x9285, 0xBB76, 0x9286, 0xBB77, 0x9287, 0xBB78, 0x9288, 0xBB79, 0x9289, 0xBB7A, 0x928A, 0xBB7B, - 0x928B, 0xBB7C, 0x928C, 0xBB7D, 0x928D, 0xBB7E, 0x928E, 0xBB7F, 0x928F, 0xBB80, 0x9290, 0xBB81, 0x9291, 0xBB82, 0x9292, 0xBB83, - 0x9293, 0xBB84, 0x9294, 0xBB85, 0x9295, 0xBB86, 0x9296, 0xBB87, 0x9297, 0xBB89, 0x9298, 0xBB8A, 0x9299, 0xBB8B, 0x929A, 0xBB8D, - 0x929B, 0xBB8E, 0x929C, 0xBB8F, 0x929D, 0xBB91, 0x929E, 0xBB92, 0x929F, 0xBB93, 0x92A0, 0xBB94, 0x92A1, 0xBB95, 0x92A2, 0xBB96, - 0x92A3, 0xBB97, 0x92A4, 0xBB98, 0x92A5, 0xBB99, 0x92A6, 0xBB9A, 0x92A7, 0xBB9B, 0x92A8, 0xBB9C, 0x92A9, 0xBB9D, 0x92AA, 0xBB9E, - 0x92AB, 0xBB9F, 0x92AC, 0xBBA0, 0x92AD, 0xBBA1, 0x92AE, 0xBBA2, 0x92AF, 0xBBA3, 0x92B0, 0xBBA5, 0x92B1, 0xBBA6, 0x92B2, 0xBBA7, - 0x92B3, 0xBBA9, 0x92B4, 0xBBAA, 0x92B5, 0xBBAB, 0x92B6, 0xBBAD, 0x92B7, 0xBBAE, 0x92B8, 0xBBAF, 0x92B9, 0xBBB0, 0x92BA, 0xBBB1, - 0x92BB, 0xBBB2, 0x92BC, 0xBBB3, 0x92BD, 0xBBB5, 0x92BE, 0xBBB6, 0x92BF, 0xBBB8, 0x92C0, 0xBBB9, 0x92C1, 0xBBBA, 0x92C2, 0xBBBB, - 0x92C3, 0xBBBC, 0x92C4, 0xBBBD, 0x92C5, 0xBBBE, 0x92C6, 0xBBBF, 0x92C7, 0xBBC1, 0x92C8, 0xBBC2, 0x92C9, 0xBBC3, 0x92CA, 0xBBC5, - 0x92CB, 0xBBC6, 0x92CC, 0xBBC7, 0x92CD, 0xBBC9, 0x92CE, 0xBBCA, 0x92CF, 0xBBCB, 0x92D0, 0xBBCC, 0x92D1, 0xBBCD, 0x92D2, 0xBBCE, - 0x92D3, 0xBBCF, 0x92D4, 0xBBD1, 0x92D5, 0xBBD2, 0x92D6, 0xBBD4, 0x92D7, 0xBBD5, 0x92D8, 0xBBD6, 0x92D9, 0xBBD7, 0x92DA, 0xBBD8, - 0x92DB, 0xBBD9, 0x92DC, 0xBBDA, 0x92DD, 0xBBDB, 0x92DE, 0xBBDC, 0x92DF, 0xBBDD, 0x92E0, 0xBBDE, 0x92E1, 0xBBDF, 0x92E2, 0xBBE0, - 0x92E3, 0xBBE1, 0x92E4, 0xBBE2, 0x92E5, 0xBBE3, 0x92E6, 0xBBE4, 0x92E7, 0xBBE5, 0x92E8, 0xBBE6, 0x92E9, 0xBBE7, 0x92EA, 0xBBE8, - 0x92EB, 0xBBE9, 0x92EC, 0xBBEA, 0x92ED, 0xBBEB, 0x92EE, 0xBBEC, 0x92EF, 0xBBED, 0x92F0, 0xBBEE, 0x92F1, 0xBBEF, 0x92F2, 0xBBF0, - 0x92F3, 0xBBF1, 0x92F4, 0xBBF2, 0x92F5, 0xBBF3, 0x92F6, 0xBBF4, 0x92F7, 0xBBF5, 0x92F8, 0xBBF6, 0x92F9, 0xBBF7, 0x92FA, 0xBBFA, - 0x92FB, 0xBBFB, 0x92FC, 0xBBFD, 0x92FD, 0xBBFE, 0x92FE, 0xBC01, 0x9341, 0xBC03, 0x9342, 0xBC04, 0x9343, 0xBC05, 0x9344, 0xBC06, - 0x9345, 0xBC07, 0x9346, 0xBC0A, 0x9347, 0xBC0E, 0x9348, 0xBC10, 0x9349, 0xBC12, 0x934A, 0xBC13, 0x934B, 0xBC19, 0x934C, 0xBC1A, - 0x934D, 0xBC20, 0x934E, 0xBC21, 0x934F, 0xBC22, 0x9350, 0xBC23, 0x9351, 0xBC26, 0x9352, 0xBC28, 0x9353, 0xBC2A, 0x9354, 0xBC2B, - 0x9355, 0xBC2C, 0x9356, 0xBC2E, 0x9357, 0xBC2F, 0x9358, 0xBC32, 0x9359, 0xBC33, 0x935A, 0xBC35, 0x9361, 0xBC36, 0x9362, 0xBC37, - 0x9363, 0xBC39, 0x9364, 0xBC3A, 0x9365, 0xBC3B, 0x9366, 0xBC3C, 0x9367, 0xBC3D, 0x9368, 0xBC3E, 0x9369, 0xBC3F, 0x936A, 0xBC42, - 0x936B, 0xBC46, 0x936C, 0xBC47, 0x936D, 0xBC48, 0x936E, 0xBC4A, 0x936F, 0xBC4B, 0x9370, 0xBC4E, 0x9371, 0xBC4F, 0x9372, 0xBC51, - 0x9373, 0xBC52, 0x9374, 0xBC53, 0x9375, 0xBC54, 0x9376, 0xBC55, 0x9377, 0xBC56, 0x9378, 0xBC57, 0x9379, 0xBC58, 0x937A, 0xBC59, - 0x9381, 0xBC5A, 0x9382, 0xBC5B, 0x9383, 0xBC5C, 0x9384, 0xBC5E, 0x9385, 0xBC5F, 0x9386, 0xBC60, 0x9387, 0xBC61, 0x9388, 0xBC62, - 0x9389, 0xBC63, 0x938A, 0xBC64, 0x938B, 0xBC65, 0x938C, 0xBC66, 0x938D, 0xBC67, 0x938E, 0xBC68, 0x938F, 0xBC69, 0x9390, 0xBC6A, - 0x9391, 0xBC6B, 0x9392, 0xBC6C, 0x9393, 0xBC6D, 0x9394, 0xBC6E, 0x9395, 0xBC6F, 0x9396, 0xBC70, 0x9397, 0xBC71, 0x9398, 0xBC72, - 0x9399, 0xBC73, 0x939A, 0xBC74, 0x939B, 0xBC75, 0x939C, 0xBC76, 0x939D, 0xBC77, 0x939E, 0xBC78, 0x939F, 0xBC79, 0x93A0, 0xBC7A, - 0x93A1, 0xBC7B, 0x93A2, 0xBC7C, 0x93A3, 0xBC7D, 0x93A4, 0xBC7E, 0x93A5, 0xBC7F, 0x93A6, 0xBC80, 0x93A7, 0xBC81, 0x93A8, 0xBC82, - 0x93A9, 0xBC83, 0x93AA, 0xBC86, 0x93AB, 0xBC87, 0x93AC, 0xBC89, 0x93AD, 0xBC8A, 0x93AE, 0xBC8D, 0x93AF, 0xBC8F, 0x93B0, 0xBC90, - 0x93B1, 0xBC91, 0x93B2, 0xBC92, 0x93B3, 0xBC93, 0x93B4, 0xBC96, 0x93B5, 0xBC98, 0x93B6, 0xBC9B, 0x93B7, 0xBC9C, 0x93B8, 0xBC9D, - 0x93B9, 0xBC9E, 0x93BA, 0xBC9F, 0x93BB, 0xBCA2, 0x93BC, 0xBCA3, 0x93BD, 0xBCA5, 0x93BE, 0xBCA6, 0x93BF, 0xBCA9, 0x93C0, 0xBCAA, - 0x93C1, 0xBCAB, 0x93C2, 0xBCAC, 0x93C3, 0xBCAD, 0x93C4, 0xBCAE, 0x93C5, 0xBCAF, 0x93C6, 0xBCB2, 0x93C7, 0xBCB6, 0x93C8, 0xBCB7, - 0x93C9, 0xBCB8, 0x93CA, 0xBCB9, 0x93CB, 0xBCBA, 0x93CC, 0xBCBB, 0x93CD, 0xBCBE, 0x93CE, 0xBCBF, 0x93CF, 0xBCC1, 0x93D0, 0xBCC2, - 0x93D1, 0xBCC3, 0x93D2, 0xBCC5, 0x93D3, 0xBCC6, 0x93D4, 0xBCC7, 0x93D5, 0xBCC8, 0x93D6, 0xBCC9, 0x93D7, 0xBCCA, 0x93D8, 0xBCCB, - 0x93D9, 0xBCCC, 0x93DA, 0xBCCE, 0x93DB, 0xBCD2, 0x93DC, 0xBCD3, 0x93DD, 0xBCD4, 0x93DE, 0xBCD6, 0x93DF, 0xBCD7, 0x93E0, 0xBCD9, - 0x93E1, 0xBCDA, 0x93E2, 0xBCDB, 0x93E3, 0xBCDD, 0x93E4, 0xBCDE, 0x93E5, 0xBCDF, 0x93E6, 0xBCE0, 0x93E7, 0xBCE1, 0x93E8, 0xBCE2, - 0x93E9, 0xBCE3, 0x93EA, 0xBCE4, 0x93EB, 0xBCE5, 0x93EC, 0xBCE6, 0x93ED, 0xBCE7, 0x93EE, 0xBCE8, 0x93EF, 0xBCE9, 0x93F0, 0xBCEA, - 0x93F1, 0xBCEB, 0x93F2, 0xBCEC, 0x93F3, 0xBCED, 0x93F4, 0xBCEE, 0x93F5, 0xBCEF, 0x93F6, 0xBCF0, 0x93F7, 0xBCF1, 0x93F8, 0xBCF2, - 0x93F9, 0xBCF3, 0x93FA, 0xBCF7, 0x93FB, 0xBCF9, 0x93FC, 0xBCFA, 0x93FD, 0xBCFB, 0x93FE, 0xBCFD, 0x9441, 0xBCFE, 0x9442, 0xBCFF, - 0x9443, 0xBD00, 0x9444, 0xBD01, 0x9445, 0xBD02, 0x9446, 0xBD03, 0x9447, 0xBD06, 0x9448, 0xBD08, 0x9449, 0xBD0A, 0x944A, 0xBD0B, - 0x944B, 0xBD0C, 0x944C, 0xBD0D, 0x944D, 0xBD0E, 0x944E, 0xBD0F, 0x944F, 0xBD11, 0x9450, 0xBD12, 0x9451, 0xBD13, 0x9452, 0xBD15, - 0x9453, 0xBD16, 0x9454, 0xBD17, 0x9455, 0xBD18, 0x9456, 0xBD19, 0x9457, 0xBD1A, 0x9458, 0xBD1B, 0x9459, 0xBD1C, 0x945A, 0xBD1D, - 0x9461, 0xBD1E, 0x9462, 0xBD1F, 0x9463, 0xBD20, 0x9464, 0xBD21, 0x9465, 0xBD22, 0x9466, 0xBD23, 0x9467, 0xBD25, 0x9468, 0xBD26, - 0x9469, 0xBD27, 0x946A, 0xBD28, 0x946B, 0xBD29, 0x946C, 0xBD2A, 0x946D, 0xBD2B, 0x946E, 0xBD2D, 0x946F, 0xBD2E, 0x9470, 0xBD2F, - 0x9471, 0xBD30, 0x9472, 0xBD31, 0x9473, 0xBD32, 0x9474, 0xBD33, 0x9475, 0xBD34, 0x9476, 0xBD35, 0x9477, 0xBD36, 0x9478, 0xBD37, - 0x9479, 0xBD38, 0x947A, 0xBD39, 0x9481, 0xBD3A, 0x9482, 0xBD3B, 0x9483, 0xBD3C, 0x9484, 0xBD3D, 0x9485, 0xBD3E, 0x9486, 0xBD3F, - 0x9487, 0xBD41, 0x9488, 0xBD42, 0x9489, 0xBD43, 0x948A, 0xBD44, 0x948B, 0xBD45, 0x948C, 0xBD46, 0x948D, 0xBD47, 0x948E, 0xBD4A, - 0x948F, 0xBD4B, 0x9490, 0xBD4D, 0x9491, 0xBD4E, 0x9492, 0xBD4F, 0x9493, 0xBD51, 0x9494, 0xBD52, 0x9495, 0xBD53, 0x9496, 0xBD54, - 0x9497, 0xBD55, 0x9498, 0xBD56, 0x9499, 0xBD57, 0x949A, 0xBD5A, 0x949B, 0xBD5B, 0x949C, 0xBD5C, 0x949D, 0xBD5D, 0x949E, 0xBD5E, - 0x949F, 0xBD5F, 0x94A0, 0xBD60, 0x94A1, 0xBD61, 0x94A2, 0xBD62, 0x94A3, 0xBD63, 0x94A4, 0xBD65, 0x94A5, 0xBD66, 0x94A6, 0xBD67, - 0x94A7, 0xBD69, 0x94A8, 0xBD6A, 0x94A9, 0xBD6B, 0x94AA, 0xBD6C, 0x94AB, 0xBD6D, 0x94AC, 0xBD6E, 0x94AD, 0xBD6F, 0x94AE, 0xBD70, - 0x94AF, 0xBD71, 0x94B0, 0xBD72, 0x94B1, 0xBD73, 0x94B2, 0xBD74, 0x94B3, 0xBD75, 0x94B4, 0xBD76, 0x94B5, 0xBD77, 0x94B6, 0xBD78, - 0x94B7, 0xBD79, 0x94B8, 0xBD7A, 0x94B9, 0xBD7B, 0x94BA, 0xBD7C, 0x94BB, 0xBD7D, 0x94BC, 0xBD7E, 0x94BD, 0xBD7F, 0x94BE, 0xBD82, - 0x94BF, 0xBD83, 0x94C0, 0xBD85, 0x94C1, 0xBD86, 0x94C2, 0xBD8B, 0x94C3, 0xBD8C, 0x94C4, 0xBD8D, 0x94C5, 0xBD8E, 0x94C6, 0xBD8F, - 0x94C7, 0xBD92, 0x94C8, 0xBD94, 0x94C9, 0xBD96, 0x94CA, 0xBD97, 0x94CB, 0xBD98, 0x94CC, 0xBD9B, 0x94CD, 0xBD9D, 0x94CE, 0xBD9E, - 0x94CF, 0xBD9F, 0x94D0, 0xBDA0, 0x94D1, 0xBDA1, 0x94D2, 0xBDA2, 0x94D3, 0xBDA3, 0x94D4, 0xBDA5, 0x94D5, 0xBDA6, 0x94D6, 0xBDA7, - 0x94D7, 0xBDA8, 0x94D8, 0xBDA9, 0x94D9, 0xBDAA, 0x94DA, 0xBDAB, 0x94DB, 0xBDAC, 0x94DC, 0xBDAD, 0x94DD, 0xBDAE, 0x94DE, 0xBDAF, - 0x94DF, 0xBDB1, 0x94E0, 0xBDB2, 0x94E1, 0xBDB3, 0x94E2, 0xBDB4, 0x94E3, 0xBDB5, 0x94E4, 0xBDB6, 0x94E5, 0xBDB7, 0x94E6, 0xBDB9, - 0x94E7, 0xBDBA, 0x94E8, 0xBDBB, 0x94E9, 0xBDBC, 0x94EA, 0xBDBD, 0x94EB, 0xBDBE, 0x94EC, 0xBDBF, 0x94ED, 0xBDC0, 0x94EE, 0xBDC1, - 0x94EF, 0xBDC2, 0x94F0, 0xBDC3, 0x94F1, 0xBDC4, 0x94F2, 0xBDC5, 0x94F3, 0xBDC6, 0x94F4, 0xBDC7, 0x94F5, 0xBDC8, 0x94F6, 0xBDC9, - 0x94F7, 0xBDCA, 0x94F8, 0xBDCB, 0x94F9, 0xBDCC, 0x94FA, 0xBDCD, 0x94FB, 0xBDCE, 0x94FC, 0xBDCF, 0x94FD, 0xBDD0, 0x94FE, 0xBDD1, - 0x9541, 0xBDD2, 0x9542, 0xBDD3, 0x9543, 0xBDD6, 0x9544, 0xBDD7, 0x9545, 0xBDD9, 0x9546, 0xBDDA, 0x9547, 0xBDDB, 0x9548, 0xBDDD, - 0x9549, 0xBDDE, 0x954A, 0xBDDF, 0x954B, 0xBDE0, 0x954C, 0xBDE1, 0x954D, 0xBDE2, 0x954E, 0xBDE3, 0x954F, 0xBDE4, 0x9550, 0xBDE5, - 0x9551, 0xBDE6, 0x9552, 0xBDE7, 0x9553, 0xBDE8, 0x9554, 0xBDEA, 0x9555, 0xBDEB, 0x9556, 0xBDEC, 0x9557, 0xBDED, 0x9558, 0xBDEE, - 0x9559, 0xBDEF, 0x955A, 0xBDF1, 0x9561, 0xBDF2, 0x9562, 0xBDF3, 0x9563, 0xBDF5, 0x9564, 0xBDF6, 0x9565, 0xBDF7, 0x9566, 0xBDF9, - 0x9567, 0xBDFA, 0x9568, 0xBDFB, 0x9569, 0xBDFC, 0x956A, 0xBDFD, 0x956B, 0xBDFE, 0x956C, 0xBDFF, 0x956D, 0xBE01, 0x956E, 0xBE02, - 0x956F, 0xBE04, 0x9570, 0xBE06, 0x9571, 0xBE07, 0x9572, 0xBE08, 0x9573, 0xBE09, 0x9574, 0xBE0A, 0x9575, 0xBE0B, 0x9576, 0xBE0E, - 0x9577, 0xBE0F, 0x9578, 0xBE11, 0x9579, 0xBE12, 0x957A, 0xBE13, 0x9581, 0xBE15, 0x9582, 0xBE16, 0x9583, 0xBE17, 0x9584, 0xBE18, - 0x9585, 0xBE19, 0x9586, 0xBE1A, 0x9587, 0xBE1B, 0x9588, 0xBE1E, 0x9589, 0xBE20, 0x958A, 0xBE21, 0x958B, 0xBE22, 0x958C, 0xBE23, - 0x958D, 0xBE24, 0x958E, 0xBE25, 0x958F, 0xBE26, 0x9590, 0xBE27, 0x9591, 0xBE28, 0x9592, 0xBE29, 0x9593, 0xBE2A, 0x9594, 0xBE2B, - 0x9595, 0xBE2C, 0x9596, 0xBE2D, 0x9597, 0xBE2E, 0x9598, 0xBE2F, 0x9599, 0xBE30, 0x959A, 0xBE31, 0x959B, 0xBE32, 0x959C, 0xBE33, - 0x959D, 0xBE34, 0x959E, 0xBE35, 0x959F, 0xBE36, 0x95A0, 0xBE37, 0x95A1, 0xBE38, 0x95A2, 0xBE39, 0x95A3, 0xBE3A, 0x95A4, 0xBE3B, - 0x95A5, 0xBE3C, 0x95A6, 0xBE3D, 0x95A7, 0xBE3E, 0x95A8, 0xBE3F, 0x95A9, 0xBE40, 0x95AA, 0xBE41, 0x95AB, 0xBE42, 0x95AC, 0xBE43, - 0x95AD, 0xBE46, 0x95AE, 0xBE47, 0x95AF, 0xBE49, 0x95B0, 0xBE4A, 0x95B1, 0xBE4B, 0x95B2, 0xBE4D, 0x95B3, 0xBE4F, 0x95B4, 0xBE50, - 0x95B5, 0xBE51, 0x95B6, 0xBE52, 0x95B7, 0xBE53, 0x95B8, 0xBE56, 0x95B9, 0xBE58, 0x95BA, 0xBE5C, 0x95BB, 0xBE5D, 0x95BC, 0xBE5E, - 0x95BD, 0xBE5F, 0x95BE, 0xBE62, 0x95BF, 0xBE63, 0x95C0, 0xBE65, 0x95C1, 0xBE66, 0x95C2, 0xBE67, 0x95C3, 0xBE69, 0x95C4, 0xBE6B, - 0x95C5, 0xBE6C, 0x95C6, 0xBE6D, 0x95C7, 0xBE6E, 0x95C8, 0xBE6F, 0x95C9, 0xBE72, 0x95CA, 0xBE76, 0x95CB, 0xBE77, 0x95CC, 0xBE78, - 0x95CD, 0xBE79, 0x95CE, 0xBE7A, 0x95CF, 0xBE7E, 0x95D0, 0xBE7F, 0x95D1, 0xBE81, 0x95D2, 0xBE82, 0x95D3, 0xBE83, 0x95D4, 0xBE85, - 0x95D5, 0xBE86, 0x95D6, 0xBE87, 0x95D7, 0xBE88, 0x95D8, 0xBE89, 0x95D9, 0xBE8A, 0x95DA, 0xBE8B, 0x95DB, 0xBE8E, 0x95DC, 0xBE92, - 0x95DD, 0xBE93, 0x95DE, 0xBE94, 0x95DF, 0xBE95, 0x95E0, 0xBE96, 0x95E1, 0xBE97, 0x95E2, 0xBE9A, 0x95E3, 0xBE9B, 0x95E4, 0xBE9C, - 0x95E5, 0xBE9D, 0x95E6, 0xBE9E, 0x95E7, 0xBE9F, 0x95E8, 0xBEA0, 0x95E9, 0xBEA1, 0x95EA, 0xBEA2, 0x95EB, 0xBEA3, 0x95EC, 0xBEA4, - 0x95ED, 0xBEA5, 0x95EE, 0xBEA6, 0x95EF, 0xBEA7, 0x95F0, 0xBEA9, 0x95F1, 0xBEAA, 0x95F2, 0xBEAB, 0x95F3, 0xBEAC, 0x95F4, 0xBEAD, - 0x95F5, 0xBEAE, 0x95F6, 0xBEAF, 0x95F7, 0xBEB0, 0x95F8, 0xBEB1, 0x95F9, 0xBEB2, 0x95FA, 0xBEB3, 0x95FB, 0xBEB4, 0x95FC, 0xBEB5, - 0x95FD, 0xBEB6, 0x95FE, 0xBEB7, 0x9641, 0xBEB8, 0x9642, 0xBEB9, 0x9643, 0xBEBA, 0x9644, 0xBEBB, 0x9645, 0xBEBC, 0x9646, 0xBEBD, - 0x9647, 0xBEBE, 0x9648, 0xBEBF, 0x9649, 0xBEC0, 0x964A, 0xBEC1, 0x964B, 0xBEC2, 0x964C, 0xBEC3, 0x964D, 0xBEC4, 0x964E, 0xBEC5, - 0x964F, 0xBEC6, 0x9650, 0xBEC7, 0x9651, 0xBEC8, 0x9652, 0xBEC9, 0x9653, 0xBECA, 0x9654, 0xBECB, 0x9655, 0xBECC, 0x9656, 0xBECD, - 0x9657, 0xBECE, 0x9658, 0xBECF, 0x9659, 0xBED2, 0x965A, 0xBED3, 0x9661, 0xBED5, 0x9662, 0xBED6, 0x9663, 0xBED9, 0x9664, 0xBEDA, - 0x9665, 0xBEDB, 0x9666, 0xBEDC, 0x9667, 0xBEDD, 0x9668, 0xBEDE, 0x9669, 0xBEDF, 0x966A, 0xBEE1, 0x966B, 0xBEE2, 0x966C, 0xBEE6, - 0x966D, 0xBEE7, 0x966E, 0xBEE8, 0x966F, 0xBEE9, 0x9670, 0xBEEA, 0x9671, 0xBEEB, 0x9672, 0xBEED, 0x9673, 0xBEEE, 0x9674, 0xBEEF, - 0x9675, 0xBEF0, 0x9676, 0xBEF1, 0x9677, 0xBEF2, 0x9678, 0xBEF3, 0x9679, 0xBEF4, 0x967A, 0xBEF5, 0x9681, 0xBEF6, 0x9682, 0xBEF7, - 0x9683, 0xBEF8, 0x9684, 0xBEF9, 0x9685, 0xBEFA, 0x9686, 0xBEFB, 0x9687, 0xBEFC, 0x9688, 0xBEFD, 0x9689, 0xBEFE, 0x968A, 0xBEFF, - 0x968B, 0xBF00, 0x968C, 0xBF02, 0x968D, 0xBF03, 0x968E, 0xBF04, 0x968F, 0xBF05, 0x9690, 0xBF06, 0x9691, 0xBF07, 0x9692, 0xBF0A, - 0x9693, 0xBF0B, 0x9694, 0xBF0C, 0x9695, 0xBF0D, 0x9696, 0xBF0E, 0x9697, 0xBF0F, 0x9698, 0xBF10, 0x9699, 0xBF11, 0x969A, 0xBF12, - 0x969B, 0xBF13, 0x969C, 0xBF14, 0x969D, 0xBF15, 0x969E, 0xBF16, 0x969F, 0xBF17, 0x96A0, 0xBF1A, 0x96A1, 0xBF1E, 0x96A2, 0xBF1F, - 0x96A3, 0xBF20, 0x96A4, 0xBF21, 0x96A5, 0xBF22, 0x96A6, 0xBF23, 0x96A7, 0xBF24, 0x96A8, 0xBF25, 0x96A9, 0xBF26, 0x96AA, 0xBF27, - 0x96AB, 0xBF28, 0x96AC, 0xBF29, 0x96AD, 0xBF2A, 0x96AE, 0xBF2B, 0x96AF, 0xBF2C, 0x96B0, 0xBF2D, 0x96B1, 0xBF2E, 0x96B2, 0xBF2F, - 0x96B3, 0xBF30, 0x96B4, 0xBF31, 0x96B5, 0xBF32, 0x96B6, 0xBF33, 0x96B7, 0xBF34, 0x96B8, 0xBF35, 0x96B9, 0xBF36, 0x96BA, 0xBF37, - 0x96BB, 0xBF38, 0x96BC, 0xBF39, 0x96BD, 0xBF3A, 0x96BE, 0xBF3B, 0x96BF, 0xBF3C, 0x96C0, 0xBF3D, 0x96C1, 0xBF3E, 0x96C2, 0xBF3F, - 0x96C3, 0xBF42, 0x96C4, 0xBF43, 0x96C5, 0xBF45, 0x96C6, 0xBF46, 0x96C7, 0xBF47, 0x96C8, 0xBF49, 0x96C9, 0xBF4A, 0x96CA, 0xBF4B, - 0x96CB, 0xBF4C, 0x96CC, 0xBF4D, 0x96CD, 0xBF4E, 0x96CE, 0xBF4F, 0x96CF, 0xBF52, 0x96D0, 0xBF53, 0x96D1, 0xBF54, 0x96D2, 0xBF56, - 0x96D3, 0xBF57, 0x96D4, 0xBF58, 0x96D5, 0xBF59, 0x96D6, 0xBF5A, 0x96D7, 0xBF5B, 0x96D8, 0xBF5C, 0x96D9, 0xBF5D, 0x96DA, 0xBF5E, - 0x96DB, 0xBF5F, 0x96DC, 0xBF60, 0x96DD, 0xBF61, 0x96DE, 0xBF62, 0x96DF, 0xBF63, 0x96E0, 0xBF64, 0x96E1, 0xBF65, 0x96E2, 0xBF66, - 0x96E3, 0xBF67, 0x96E4, 0xBF68, 0x96E5, 0xBF69, 0x96E6, 0xBF6A, 0x96E7, 0xBF6B, 0x96E8, 0xBF6C, 0x96E9, 0xBF6D, 0x96EA, 0xBF6E, - 0x96EB, 0xBF6F, 0x96EC, 0xBF70, 0x96ED, 0xBF71, 0x96EE, 0xBF72, 0x96EF, 0xBF73, 0x96F0, 0xBF74, 0x96F1, 0xBF75, 0x96F2, 0xBF76, - 0x96F3, 0xBF77, 0x96F4, 0xBF78, 0x96F5, 0xBF79, 0x96F6, 0xBF7A, 0x96F7, 0xBF7B, 0x96F8, 0xBF7C, 0x96F9, 0xBF7D, 0x96FA, 0xBF7E, - 0x96FB, 0xBF7F, 0x96FC, 0xBF80, 0x96FD, 0xBF81, 0x96FE, 0xBF82, 0x9741, 0xBF83, 0x9742, 0xBF84, 0x9743, 0xBF85, 0x9744, 0xBF86, - 0x9745, 0xBF87, 0x9746, 0xBF88, 0x9747, 0xBF89, 0x9748, 0xBF8A, 0x9749, 0xBF8B, 0x974A, 0xBF8C, 0x974B, 0xBF8D, 0x974C, 0xBF8E, - 0x974D, 0xBF8F, 0x974E, 0xBF90, 0x974F, 0xBF91, 0x9750, 0xBF92, 0x9751, 0xBF93, 0x9752, 0xBF95, 0x9753, 0xBF96, 0x9754, 0xBF97, - 0x9755, 0xBF98, 0x9756, 0xBF99, 0x9757, 0xBF9A, 0x9758, 0xBF9B, 0x9759, 0xBF9C, 0x975A, 0xBF9D, 0x9761, 0xBF9E, 0x9762, 0xBF9F, - 0x9763, 0xBFA0, 0x9764, 0xBFA1, 0x9765, 0xBFA2, 0x9766, 0xBFA3, 0x9767, 0xBFA4, 0x9768, 0xBFA5, 0x9769, 0xBFA6, 0x976A, 0xBFA7, - 0x976B, 0xBFA8, 0x976C, 0xBFA9, 0x976D, 0xBFAA, 0x976E, 0xBFAB, 0x976F, 0xBFAC, 0x9770, 0xBFAD, 0x9771, 0xBFAE, 0x9772, 0xBFAF, - 0x9773, 0xBFB1, 0x9774, 0xBFB2, 0x9775, 0xBFB3, 0x9776, 0xBFB4, 0x9777, 0xBFB5, 0x9778, 0xBFB6, 0x9779, 0xBFB7, 0x977A, 0xBFB8, - 0x9781, 0xBFB9, 0x9782, 0xBFBA, 0x9783, 0xBFBB, 0x9784, 0xBFBC, 0x9785, 0xBFBD, 0x9786, 0xBFBE, 0x9787, 0xBFBF, 0x9788, 0xBFC0, - 0x9789, 0xBFC1, 0x978A, 0xBFC2, 0x978B, 0xBFC3, 0x978C, 0xBFC4, 0x978D, 0xBFC6, 0x978E, 0xBFC7, 0x978F, 0xBFC8, 0x9790, 0xBFC9, - 0x9791, 0xBFCA, 0x9792, 0xBFCB, 0x9793, 0xBFCE, 0x9794, 0xBFCF, 0x9795, 0xBFD1, 0x9796, 0xBFD2, 0x9797, 0xBFD3, 0x9798, 0xBFD5, - 0x9799, 0xBFD6, 0x979A, 0xBFD7, 0x979B, 0xBFD8, 0x979C, 0xBFD9, 0x979D, 0xBFDA, 0x979E, 0xBFDB, 0x979F, 0xBFDD, 0x97A0, 0xBFDE, - 0x97A1, 0xBFE0, 0x97A2, 0xBFE2, 0x97A3, 0xBFE3, 0x97A4, 0xBFE4, 0x97A5, 0xBFE5, 0x97A6, 0xBFE6, 0x97A7, 0xBFE7, 0x97A8, 0xBFE8, - 0x97A9, 0xBFE9, 0x97AA, 0xBFEA, 0x97AB, 0xBFEB, 0x97AC, 0xBFEC, 0x97AD, 0xBFED, 0x97AE, 0xBFEE, 0x97AF, 0xBFEF, 0x97B0, 0xBFF0, - 0x97B1, 0xBFF1, 0x97B2, 0xBFF2, 0x97B3, 0xBFF3, 0x97B4, 0xBFF4, 0x97B5, 0xBFF5, 0x97B6, 0xBFF6, 0x97B7, 0xBFF7, 0x97B8, 0xBFF8, - 0x97B9, 0xBFF9, 0x97BA, 0xBFFA, 0x97BB, 0xBFFB, 0x97BC, 0xBFFC, 0x97BD, 0xBFFD, 0x97BE, 0xBFFE, 0x97BF, 0xBFFF, 0x97C0, 0xC000, - 0x97C1, 0xC001, 0x97C2, 0xC002, 0x97C3, 0xC003, 0x97C4, 0xC004, 0x97C5, 0xC005, 0x97C6, 0xC006, 0x97C7, 0xC007, 0x97C8, 0xC008, - 0x97C9, 0xC009, 0x97CA, 0xC00A, 0x97CB, 0xC00B, 0x97CC, 0xC00C, 0x97CD, 0xC00D, 0x97CE, 0xC00E, 0x97CF, 0xC00F, 0x97D0, 0xC010, - 0x97D1, 0xC011, 0x97D2, 0xC012, 0x97D3, 0xC013, 0x97D4, 0xC014, 0x97D5, 0xC015, 0x97D6, 0xC016, 0x97D7, 0xC017, 0x97D8, 0xC018, - 0x97D9, 0xC019, 0x97DA, 0xC01A, 0x97DB, 0xC01B, 0x97DC, 0xC01C, 0x97DD, 0xC01D, 0x97DE, 0xC01E, 0x97DF, 0xC01F, 0x97E0, 0xC020, - 0x97E1, 0xC021, 0x97E2, 0xC022, 0x97E3, 0xC023, 0x97E4, 0xC024, 0x97E5, 0xC025, 0x97E6, 0xC026, 0x97E7, 0xC027, 0x97E8, 0xC028, - 0x97E9, 0xC029, 0x97EA, 0xC02A, 0x97EB, 0xC02B, 0x97EC, 0xC02C, 0x97ED, 0xC02D, 0x97EE, 0xC02E, 0x97EF, 0xC02F, 0x97F0, 0xC030, - 0x97F1, 0xC031, 0x97F2, 0xC032, 0x97F3, 0xC033, 0x97F4, 0xC034, 0x97F5, 0xC035, 0x97F6, 0xC036, 0x97F7, 0xC037, 0x97F8, 0xC038, - 0x97F9, 0xC039, 0x97FA, 0xC03A, 0x97FB, 0xC03B, 0x97FC, 0xC03D, 0x97FD, 0xC03E, 0x97FE, 0xC03F, 0x9841, 0xC040, 0x9842, 0xC041, - 0x9843, 0xC042, 0x9844, 0xC043, 0x9845, 0xC044, 0x9846, 0xC045, 0x9847, 0xC046, 0x9848, 0xC047, 0x9849, 0xC048, 0x984A, 0xC049, - 0x984B, 0xC04A, 0x984C, 0xC04B, 0x984D, 0xC04C, 0x984E, 0xC04D, 0x984F, 0xC04E, 0x9850, 0xC04F, 0x9851, 0xC050, 0x9852, 0xC052, - 0x9853, 0xC053, 0x9854, 0xC054, 0x9855, 0xC055, 0x9856, 0xC056, 0x9857, 0xC057, 0x9858, 0xC059, 0x9859, 0xC05A, 0x985A, 0xC05B, - 0x9861, 0xC05D, 0x9862, 0xC05E, 0x9863, 0xC05F, 0x9864, 0xC061, 0x9865, 0xC062, 0x9866, 0xC063, 0x9867, 0xC064, 0x9868, 0xC065, - 0x9869, 0xC066, 0x986A, 0xC067, 0x986B, 0xC06A, 0x986C, 0xC06B, 0x986D, 0xC06C, 0x986E, 0xC06D, 0x986F, 0xC06E, 0x9870, 0xC06F, - 0x9871, 0xC070, 0x9872, 0xC071, 0x9873, 0xC072, 0x9874, 0xC073, 0x9875, 0xC074, 0x9876, 0xC075, 0x9877, 0xC076, 0x9878, 0xC077, - 0x9879, 0xC078, 0x987A, 0xC079, 0x9881, 0xC07A, 0x9882, 0xC07B, 0x9883, 0xC07C, 0x9884, 0xC07D, 0x9885, 0xC07E, 0x9886, 0xC07F, - 0x9887, 0xC080, 0x9888, 0xC081, 0x9889, 0xC082, 0x988A, 0xC083, 0x988B, 0xC084, 0x988C, 0xC085, 0x988D, 0xC086, 0x988E, 0xC087, - 0x988F, 0xC088, 0x9890, 0xC089, 0x9891, 0xC08A, 0x9892, 0xC08B, 0x9893, 0xC08C, 0x9894, 0xC08D, 0x9895, 0xC08E, 0x9896, 0xC08F, - 0x9897, 0xC092, 0x9898, 0xC093, 0x9899, 0xC095, 0x989A, 0xC096, 0x989B, 0xC097, 0x989C, 0xC099, 0x989D, 0xC09A, 0x989E, 0xC09B, - 0x989F, 0xC09C, 0x98A0, 0xC09D, 0x98A1, 0xC09E, 0x98A2, 0xC09F, 0x98A3, 0xC0A2, 0x98A4, 0xC0A4, 0x98A5, 0xC0A6, 0x98A6, 0xC0A7, - 0x98A7, 0xC0A8, 0x98A8, 0xC0A9, 0x98A9, 0xC0AA, 0x98AA, 0xC0AB, 0x98AB, 0xC0AE, 0x98AC, 0xC0B1, 0x98AD, 0xC0B2, 0x98AE, 0xC0B7, - 0x98AF, 0xC0B8, 0x98B0, 0xC0B9, 0x98B1, 0xC0BA, 0x98B2, 0xC0BB, 0x98B3, 0xC0BE, 0x98B4, 0xC0C2, 0x98B5, 0xC0C3, 0x98B6, 0xC0C4, - 0x98B7, 0xC0C6, 0x98B8, 0xC0C7, 0x98B9, 0xC0CA, 0x98BA, 0xC0CB, 0x98BB, 0xC0CD, 0x98BC, 0xC0CE, 0x98BD, 0xC0CF, 0x98BE, 0xC0D1, - 0x98BF, 0xC0D2, 0x98C0, 0xC0D3, 0x98C1, 0xC0D4, 0x98C2, 0xC0D5, 0x98C3, 0xC0D6, 0x98C4, 0xC0D7, 0x98C5, 0xC0DA, 0x98C6, 0xC0DE, - 0x98C7, 0xC0DF, 0x98C8, 0xC0E0, 0x98C9, 0xC0E1, 0x98CA, 0xC0E2, 0x98CB, 0xC0E3, 0x98CC, 0xC0E6, 0x98CD, 0xC0E7, 0x98CE, 0xC0E9, - 0x98CF, 0xC0EA, 0x98D0, 0xC0EB, 0x98D1, 0xC0ED, 0x98D2, 0xC0EE, 0x98D3, 0xC0EF, 0x98D4, 0xC0F0, 0x98D5, 0xC0F1, 0x98D6, 0xC0F2, - 0x98D7, 0xC0F3, 0x98D8, 0xC0F6, 0x98D9, 0xC0F8, 0x98DA, 0xC0FA, 0x98DB, 0xC0FB, 0x98DC, 0xC0FC, 0x98DD, 0xC0FD, 0x98DE, 0xC0FE, - 0x98DF, 0xC0FF, 0x98E0, 0xC101, 0x98E1, 0xC102, 0x98E2, 0xC103, 0x98E3, 0xC105, 0x98E4, 0xC106, 0x98E5, 0xC107, 0x98E6, 0xC109, - 0x98E7, 0xC10A, 0x98E8, 0xC10B, 0x98E9, 0xC10C, 0x98EA, 0xC10D, 0x98EB, 0xC10E, 0x98EC, 0xC10F, 0x98ED, 0xC111, 0x98EE, 0xC112, - 0x98EF, 0xC113, 0x98F0, 0xC114, 0x98F1, 0xC116, 0x98F2, 0xC117, 0x98F3, 0xC118, 0x98F4, 0xC119, 0x98F5, 0xC11A, 0x98F6, 0xC11B, - 0x98F7, 0xC121, 0x98F8, 0xC122, 0x98F9, 0xC125, 0x98FA, 0xC128, 0x98FB, 0xC129, 0x98FC, 0xC12A, 0x98FD, 0xC12B, 0x98FE, 0xC12E, - 0x9941, 0xC132, 0x9942, 0xC133, 0x9943, 0xC134, 0x9944, 0xC135, 0x9945, 0xC137, 0x9946, 0xC13A, 0x9947, 0xC13B, 0x9948, 0xC13D, - 0x9949, 0xC13E, 0x994A, 0xC13F, 0x994B, 0xC141, 0x994C, 0xC142, 0x994D, 0xC143, 0x994E, 0xC144, 0x994F, 0xC145, 0x9950, 0xC146, - 0x9951, 0xC147, 0x9952, 0xC14A, 0x9953, 0xC14E, 0x9954, 0xC14F, 0x9955, 0xC150, 0x9956, 0xC151, 0x9957, 0xC152, 0x9958, 0xC153, - 0x9959, 0xC156, 0x995A, 0xC157, 0x9961, 0xC159, 0x9962, 0xC15A, 0x9963, 0xC15B, 0x9964, 0xC15D, 0x9965, 0xC15E, 0x9966, 0xC15F, - 0x9967, 0xC160, 0x9968, 0xC161, 0x9969, 0xC162, 0x996A, 0xC163, 0x996B, 0xC166, 0x996C, 0xC16A, 0x996D, 0xC16B, 0x996E, 0xC16C, - 0x996F, 0xC16D, 0x9970, 0xC16E, 0x9971, 0xC16F, 0x9972, 0xC171, 0x9973, 0xC172, 0x9974, 0xC173, 0x9975, 0xC175, 0x9976, 0xC176, - 0x9977, 0xC177, 0x9978, 0xC179, 0x9979, 0xC17A, 0x997A, 0xC17B, 0x9981, 0xC17C, 0x9982, 0xC17D, 0x9983, 0xC17E, 0x9984, 0xC17F, - 0x9985, 0xC180, 0x9986, 0xC181, 0x9987, 0xC182, 0x9988, 0xC183, 0x9989, 0xC184, 0x998A, 0xC186, 0x998B, 0xC187, 0x998C, 0xC188, - 0x998D, 0xC189, 0x998E, 0xC18A, 0x998F, 0xC18B, 0x9990, 0xC18F, 0x9991, 0xC191, 0x9992, 0xC192, 0x9993, 0xC193, 0x9994, 0xC195, - 0x9995, 0xC197, 0x9996, 0xC198, 0x9997, 0xC199, 0x9998, 0xC19A, 0x9999, 0xC19B, 0x999A, 0xC19E, 0x999B, 0xC1A0, 0x999C, 0xC1A2, - 0x999D, 0xC1A3, 0x999E, 0xC1A4, 0x999F, 0xC1A6, 0x99A0, 0xC1A7, 0x99A1, 0xC1AA, 0x99A2, 0xC1AB, 0x99A3, 0xC1AD, 0x99A4, 0xC1AE, - 0x99A5, 0xC1AF, 0x99A6, 0xC1B1, 0x99A7, 0xC1B2, 0x99A8, 0xC1B3, 0x99A9, 0xC1B4, 0x99AA, 0xC1B5, 0x99AB, 0xC1B6, 0x99AC, 0xC1B7, - 0x99AD, 0xC1B8, 0x99AE, 0xC1B9, 0x99AF, 0xC1BA, 0x99B0, 0xC1BB, 0x99B1, 0xC1BC, 0x99B2, 0xC1BE, 0x99B3, 0xC1BF, 0x99B4, 0xC1C0, - 0x99B5, 0xC1C1, 0x99B6, 0xC1C2, 0x99B7, 0xC1C3, 0x99B8, 0xC1C5, 0x99B9, 0xC1C6, 0x99BA, 0xC1C7, 0x99BB, 0xC1C9, 0x99BC, 0xC1CA, - 0x99BD, 0xC1CB, 0x99BE, 0xC1CD, 0x99BF, 0xC1CE, 0x99C0, 0xC1CF, 0x99C1, 0xC1D0, 0x99C2, 0xC1D1, 0x99C3, 0xC1D2, 0x99C4, 0xC1D3, - 0x99C5, 0xC1D5, 0x99C6, 0xC1D6, 0x99C7, 0xC1D9, 0x99C8, 0xC1DA, 0x99C9, 0xC1DB, 0x99CA, 0xC1DC, 0x99CB, 0xC1DD, 0x99CC, 0xC1DE, - 0x99CD, 0xC1DF, 0x99CE, 0xC1E1, 0x99CF, 0xC1E2, 0x99D0, 0xC1E3, 0x99D1, 0xC1E5, 0x99D2, 0xC1E6, 0x99D3, 0xC1E7, 0x99D4, 0xC1E9, - 0x99D5, 0xC1EA, 0x99D6, 0xC1EB, 0x99D7, 0xC1EC, 0x99D8, 0xC1ED, 0x99D9, 0xC1EE, 0x99DA, 0xC1EF, 0x99DB, 0xC1F2, 0x99DC, 0xC1F4, - 0x99DD, 0xC1F5, 0x99DE, 0xC1F6, 0x99DF, 0xC1F7, 0x99E0, 0xC1F8, 0x99E1, 0xC1F9, 0x99E2, 0xC1FA, 0x99E3, 0xC1FB, 0x99E4, 0xC1FE, - 0x99E5, 0xC1FF, 0x99E6, 0xC201, 0x99E7, 0xC202, 0x99E8, 0xC203, 0x99E9, 0xC205, 0x99EA, 0xC206, 0x99EB, 0xC207, 0x99EC, 0xC208, - 0x99ED, 0xC209, 0x99EE, 0xC20A, 0x99EF, 0xC20B, 0x99F0, 0xC20E, 0x99F1, 0xC210, 0x99F2, 0xC212, 0x99F3, 0xC213, 0x99F4, 0xC214, - 0x99F5, 0xC215, 0x99F6, 0xC216, 0x99F7, 0xC217, 0x99F8, 0xC21A, 0x99F9, 0xC21B, 0x99FA, 0xC21D, 0x99FB, 0xC21E, 0x99FC, 0xC221, - 0x99FD, 0xC222, 0x99FE, 0xC223, 0x9A41, 0xC224, 0x9A42, 0xC225, 0x9A43, 0xC226, 0x9A44, 0xC227, 0x9A45, 0xC22A, 0x9A46, 0xC22C, - 0x9A47, 0xC22E, 0x9A48, 0xC230, 0x9A49, 0xC233, 0x9A4A, 0xC235, 0x9A4B, 0xC236, 0x9A4C, 0xC237, 0x9A4D, 0xC238, 0x9A4E, 0xC239, - 0x9A4F, 0xC23A, 0x9A50, 0xC23B, 0x9A51, 0xC23C, 0x9A52, 0xC23D, 0x9A53, 0xC23E, 0x9A54, 0xC23F, 0x9A55, 0xC240, 0x9A56, 0xC241, - 0x9A57, 0xC242, 0x9A58, 0xC243, 0x9A59, 0xC244, 0x9A5A, 0xC245, 0x9A61, 0xC246, 0x9A62, 0xC247, 0x9A63, 0xC249, 0x9A64, 0xC24A, - 0x9A65, 0xC24B, 0x9A66, 0xC24C, 0x9A67, 0xC24D, 0x9A68, 0xC24E, 0x9A69, 0xC24F, 0x9A6A, 0xC252, 0x9A6B, 0xC253, 0x9A6C, 0xC255, - 0x9A6D, 0xC256, 0x9A6E, 0xC257, 0x9A6F, 0xC259, 0x9A70, 0xC25A, 0x9A71, 0xC25B, 0x9A72, 0xC25C, 0x9A73, 0xC25D, 0x9A74, 0xC25E, - 0x9A75, 0xC25F, 0x9A76, 0xC261, 0x9A77, 0xC262, 0x9A78, 0xC263, 0x9A79, 0xC264, 0x9A7A, 0xC266, 0x9A81, 0xC267, 0x9A82, 0xC268, - 0x9A83, 0xC269, 0x9A84, 0xC26A, 0x9A85, 0xC26B, 0x9A86, 0xC26E, 0x9A87, 0xC26F, 0x9A88, 0xC271, 0x9A89, 0xC272, 0x9A8A, 0xC273, - 0x9A8B, 0xC275, 0x9A8C, 0xC276, 0x9A8D, 0xC277, 0x9A8E, 0xC278, 0x9A8F, 0xC279, 0x9A90, 0xC27A, 0x9A91, 0xC27B, 0x9A92, 0xC27E, - 0x9A93, 0xC280, 0x9A94, 0xC282, 0x9A95, 0xC283, 0x9A96, 0xC284, 0x9A97, 0xC285, 0x9A98, 0xC286, 0x9A99, 0xC287, 0x9A9A, 0xC28A, - 0x9A9B, 0xC28B, 0x9A9C, 0xC28C, 0x9A9D, 0xC28D, 0x9A9E, 0xC28E, 0x9A9F, 0xC28F, 0x9AA0, 0xC291, 0x9AA1, 0xC292, 0x9AA2, 0xC293, - 0x9AA3, 0xC294, 0x9AA4, 0xC295, 0x9AA5, 0xC296, 0x9AA6, 0xC297, 0x9AA7, 0xC299, 0x9AA8, 0xC29A, 0x9AA9, 0xC29C, 0x9AAA, 0xC29E, - 0x9AAB, 0xC29F, 0x9AAC, 0xC2A0, 0x9AAD, 0xC2A1, 0x9AAE, 0xC2A2, 0x9AAF, 0xC2A3, 0x9AB0, 0xC2A6, 0x9AB1, 0xC2A7, 0x9AB2, 0xC2A9, - 0x9AB3, 0xC2AA, 0x9AB4, 0xC2AB, 0x9AB5, 0xC2AE, 0x9AB6, 0xC2AF, 0x9AB7, 0xC2B0, 0x9AB8, 0xC2B1, 0x9AB9, 0xC2B2, 0x9ABA, 0xC2B3, - 0x9ABB, 0xC2B6, 0x9ABC, 0xC2B8, 0x9ABD, 0xC2BA, 0x9ABE, 0xC2BB, 0x9ABF, 0xC2BC, 0x9AC0, 0xC2BD, 0x9AC1, 0xC2BE, 0x9AC2, 0xC2BF, - 0x9AC3, 0xC2C0, 0x9AC4, 0xC2C1, 0x9AC5, 0xC2C2, 0x9AC6, 0xC2C3, 0x9AC7, 0xC2C4, 0x9AC8, 0xC2C5, 0x9AC9, 0xC2C6, 0x9ACA, 0xC2C7, - 0x9ACB, 0xC2C8, 0x9ACC, 0xC2C9, 0x9ACD, 0xC2CA, 0x9ACE, 0xC2CB, 0x9ACF, 0xC2CC, 0x9AD0, 0xC2CD, 0x9AD1, 0xC2CE, 0x9AD2, 0xC2CF, - 0x9AD3, 0xC2D0, 0x9AD4, 0xC2D1, 0x9AD5, 0xC2D2, 0x9AD6, 0xC2D3, 0x9AD7, 0xC2D4, 0x9AD8, 0xC2D5, 0x9AD9, 0xC2D6, 0x9ADA, 0xC2D7, - 0x9ADB, 0xC2D8, 0x9ADC, 0xC2D9, 0x9ADD, 0xC2DA, 0x9ADE, 0xC2DB, 0x9ADF, 0xC2DE, 0x9AE0, 0xC2DF, 0x9AE1, 0xC2E1, 0x9AE2, 0xC2E2, - 0x9AE3, 0xC2E5, 0x9AE4, 0xC2E6, 0x9AE5, 0xC2E7, 0x9AE6, 0xC2E8, 0x9AE7, 0xC2E9, 0x9AE8, 0xC2EA, 0x9AE9, 0xC2EE, 0x9AEA, 0xC2F0, - 0x9AEB, 0xC2F2, 0x9AEC, 0xC2F3, 0x9AED, 0xC2F4, 0x9AEE, 0xC2F5, 0x9AEF, 0xC2F7, 0x9AF0, 0xC2FA, 0x9AF1, 0xC2FD, 0x9AF2, 0xC2FE, - 0x9AF3, 0xC2FF, 0x9AF4, 0xC301, 0x9AF5, 0xC302, 0x9AF6, 0xC303, 0x9AF7, 0xC304, 0x9AF8, 0xC305, 0x9AF9, 0xC306, 0x9AFA, 0xC307, - 0x9AFB, 0xC30A, 0x9AFC, 0xC30B, 0x9AFD, 0xC30E, 0x9AFE, 0xC30F, 0x9B41, 0xC310, 0x9B42, 0xC311, 0x9B43, 0xC312, 0x9B44, 0xC316, - 0x9B45, 0xC317, 0x9B46, 0xC319, 0x9B47, 0xC31A, 0x9B48, 0xC31B, 0x9B49, 0xC31D, 0x9B4A, 0xC31E, 0x9B4B, 0xC31F, 0x9B4C, 0xC320, - 0x9B4D, 0xC321, 0x9B4E, 0xC322, 0x9B4F, 0xC323, 0x9B50, 0xC326, 0x9B51, 0xC327, 0x9B52, 0xC32A, 0x9B53, 0xC32B, 0x9B54, 0xC32C, - 0x9B55, 0xC32D, 0x9B56, 0xC32E, 0x9B57, 0xC32F, 0x9B58, 0xC330, 0x9B59, 0xC331, 0x9B5A, 0xC332, 0x9B61, 0xC333, 0x9B62, 0xC334, - 0x9B63, 0xC335, 0x9B64, 0xC336, 0x9B65, 0xC337, 0x9B66, 0xC338, 0x9B67, 0xC339, 0x9B68, 0xC33A, 0x9B69, 0xC33B, 0x9B6A, 0xC33C, - 0x9B6B, 0xC33D, 0x9B6C, 0xC33E, 0x9B6D, 0xC33F, 0x9B6E, 0xC340, 0x9B6F, 0xC341, 0x9B70, 0xC342, 0x9B71, 0xC343, 0x9B72, 0xC344, - 0x9B73, 0xC346, 0x9B74, 0xC347, 0x9B75, 0xC348, 0x9B76, 0xC349, 0x9B77, 0xC34A, 0x9B78, 0xC34B, 0x9B79, 0xC34C, 0x9B7A, 0xC34D, - 0x9B81, 0xC34E, 0x9B82, 0xC34F, 0x9B83, 0xC350, 0x9B84, 0xC351, 0x9B85, 0xC352, 0x9B86, 0xC353, 0x9B87, 0xC354, 0x9B88, 0xC355, - 0x9B89, 0xC356, 0x9B8A, 0xC357, 0x9B8B, 0xC358, 0x9B8C, 0xC359, 0x9B8D, 0xC35A, 0x9B8E, 0xC35B, 0x9B8F, 0xC35C, 0x9B90, 0xC35D, - 0x9B91, 0xC35E, 0x9B92, 0xC35F, 0x9B93, 0xC360, 0x9B94, 0xC361, 0x9B95, 0xC362, 0x9B96, 0xC363, 0x9B97, 0xC364, 0x9B98, 0xC365, - 0x9B99, 0xC366, 0x9B9A, 0xC367, 0x9B9B, 0xC36A, 0x9B9C, 0xC36B, 0x9B9D, 0xC36D, 0x9B9E, 0xC36E, 0x9B9F, 0xC36F, 0x9BA0, 0xC371, - 0x9BA1, 0xC373, 0x9BA2, 0xC374, 0x9BA3, 0xC375, 0x9BA4, 0xC376, 0x9BA5, 0xC377, 0x9BA6, 0xC37A, 0x9BA7, 0xC37B, 0x9BA8, 0xC37E, - 0x9BA9, 0xC37F, 0x9BAA, 0xC380, 0x9BAB, 0xC381, 0x9BAC, 0xC382, 0x9BAD, 0xC383, 0x9BAE, 0xC385, 0x9BAF, 0xC386, 0x9BB0, 0xC387, - 0x9BB1, 0xC389, 0x9BB2, 0xC38A, 0x9BB3, 0xC38B, 0x9BB4, 0xC38D, 0x9BB5, 0xC38E, 0x9BB6, 0xC38F, 0x9BB7, 0xC390, 0x9BB8, 0xC391, - 0x9BB9, 0xC392, 0x9BBA, 0xC393, 0x9BBB, 0xC394, 0x9BBC, 0xC395, 0x9BBD, 0xC396, 0x9BBE, 0xC397, 0x9BBF, 0xC398, 0x9BC0, 0xC399, - 0x9BC1, 0xC39A, 0x9BC2, 0xC39B, 0x9BC3, 0xC39C, 0x9BC4, 0xC39D, 0x9BC5, 0xC39E, 0x9BC6, 0xC39F, 0x9BC7, 0xC3A0, 0x9BC8, 0xC3A1, - 0x9BC9, 0xC3A2, 0x9BCA, 0xC3A3, 0x9BCB, 0xC3A4, 0x9BCC, 0xC3A5, 0x9BCD, 0xC3A6, 0x9BCE, 0xC3A7, 0x9BCF, 0xC3A8, 0x9BD0, 0xC3A9, - 0x9BD1, 0xC3AA, 0x9BD2, 0xC3AB, 0x9BD3, 0xC3AC, 0x9BD4, 0xC3AD, 0x9BD5, 0xC3AE, 0x9BD6, 0xC3AF, 0x9BD7, 0xC3B0, 0x9BD8, 0xC3B1, - 0x9BD9, 0xC3B2, 0x9BDA, 0xC3B3, 0x9BDB, 0xC3B4, 0x9BDC, 0xC3B5, 0x9BDD, 0xC3B6, 0x9BDE, 0xC3B7, 0x9BDF, 0xC3B8, 0x9BE0, 0xC3B9, - 0x9BE1, 0xC3BA, 0x9BE2, 0xC3BB, 0x9BE3, 0xC3BC, 0x9BE4, 0xC3BD, 0x9BE5, 0xC3BE, 0x9BE6, 0xC3BF, 0x9BE7, 0xC3C1, 0x9BE8, 0xC3C2, - 0x9BE9, 0xC3C3, 0x9BEA, 0xC3C4, 0x9BEB, 0xC3C5, 0x9BEC, 0xC3C6, 0x9BED, 0xC3C7, 0x9BEE, 0xC3C8, 0x9BEF, 0xC3C9, 0x9BF0, 0xC3CA, - 0x9BF1, 0xC3CB, 0x9BF2, 0xC3CC, 0x9BF3, 0xC3CD, 0x9BF4, 0xC3CE, 0x9BF5, 0xC3CF, 0x9BF6, 0xC3D0, 0x9BF7, 0xC3D1, 0x9BF8, 0xC3D2, - 0x9BF9, 0xC3D3, 0x9BFA, 0xC3D4, 0x9BFB, 0xC3D5, 0x9BFC, 0xC3D6, 0x9BFD, 0xC3D7, 0x9BFE, 0xC3DA, 0x9C41, 0xC3DB, 0x9C42, 0xC3DD, - 0x9C43, 0xC3DE, 0x9C44, 0xC3E1, 0x9C45, 0xC3E3, 0x9C46, 0xC3E4, 0x9C47, 0xC3E5, 0x9C48, 0xC3E6, 0x9C49, 0xC3E7, 0x9C4A, 0xC3EA, - 0x9C4B, 0xC3EB, 0x9C4C, 0xC3EC, 0x9C4D, 0xC3EE, 0x9C4E, 0xC3EF, 0x9C4F, 0xC3F0, 0x9C50, 0xC3F1, 0x9C51, 0xC3F2, 0x9C52, 0xC3F3, - 0x9C53, 0xC3F6, 0x9C54, 0xC3F7, 0x9C55, 0xC3F9, 0x9C56, 0xC3FA, 0x9C57, 0xC3FB, 0x9C58, 0xC3FC, 0x9C59, 0xC3FD, 0x9C5A, 0xC3FE, - 0x9C61, 0xC3FF, 0x9C62, 0xC400, 0x9C63, 0xC401, 0x9C64, 0xC402, 0x9C65, 0xC403, 0x9C66, 0xC404, 0x9C67, 0xC405, 0x9C68, 0xC406, - 0x9C69, 0xC407, 0x9C6A, 0xC409, 0x9C6B, 0xC40A, 0x9C6C, 0xC40B, 0x9C6D, 0xC40C, 0x9C6E, 0xC40D, 0x9C6F, 0xC40E, 0x9C70, 0xC40F, - 0x9C71, 0xC411, 0x9C72, 0xC412, 0x9C73, 0xC413, 0x9C74, 0xC414, 0x9C75, 0xC415, 0x9C76, 0xC416, 0x9C77, 0xC417, 0x9C78, 0xC418, - 0x9C79, 0xC419, 0x9C7A, 0xC41A, 0x9C81, 0xC41B, 0x9C82, 0xC41C, 0x9C83, 0xC41D, 0x9C84, 0xC41E, 0x9C85, 0xC41F, 0x9C86, 0xC420, - 0x9C87, 0xC421, 0x9C88, 0xC422, 0x9C89, 0xC423, 0x9C8A, 0xC425, 0x9C8B, 0xC426, 0x9C8C, 0xC427, 0x9C8D, 0xC428, 0x9C8E, 0xC429, - 0x9C8F, 0xC42A, 0x9C90, 0xC42B, 0x9C91, 0xC42D, 0x9C92, 0xC42E, 0x9C93, 0xC42F, 0x9C94, 0xC431, 0x9C95, 0xC432, 0x9C96, 0xC433, - 0x9C97, 0xC435, 0x9C98, 0xC436, 0x9C99, 0xC437, 0x9C9A, 0xC438, 0x9C9B, 0xC439, 0x9C9C, 0xC43A, 0x9C9D, 0xC43B, 0x9C9E, 0xC43E, - 0x9C9F, 0xC43F, 0x9CA0, 0xC440, 0x9CA1, 0xC441, 0x9CA2, 0xC442, 0x9CA3, 0xC443, 0x9CA4, 0xC444, 0x9CA5, 0xC445, 0x9CA6, 0xC446, - 0x9CA7, 0xC447, 0x9CA8, 0xC449, 0x9CA9, 0xC44A, 0x9CAA, 0xC44B, 0x9CAB, 0xC44C, 0x9CAC, 0xC44D, 0x9CAD, 0xC44E, 0x9CAE, 0xC44F, - 0x9CAF, 0xC450, 0x9CB0, 0xC451, 0x9CB1, 0xC452, 0x9CB2, 0xC453, 0x9CB3, 0xC454, 0x9CB4, 0xC455, 0x9CB5, 0xC456, 0x9CB6, 0xC457, - 0x9CB7, 0xC458, 0x9CB8, 0xC459, 0x9CB9, 0xC45A, 0x9CBA, 0xC45B, 0x9CBB, 0xC45C, 0x9CBC, 0xC45D, 0x9CBD, 0xC45E, 0x9CBE, 0xC45F, - 0x9CBF, 0xC460, 0x9CC0, 0xC461, 0x9CC1, 0xC462, 0x9CC2, 0xC463, 0x9CC3, 0xC466, 0x9CC4, 0xC467, 0x9CC5, 0xC469, 0x9CC6, 0xC46A, - 0x9CC7, 0xC46B, 0x9CC8, 0xC46D, 0x9CC9, 0xC46E, 0x9CCA, 0xC46F, 0x9CCB, 0xC470, 0x9CCC, 0xC471, 0x9CCD, 0xC472, 0x9CCE, 0xC473, - 0x9CCF, 0xC476, 0x9CD0, 0xC477, 0x9CD1, 0xC478, 0x9CD2, 0xC47A, 0x9CD3, 0xC47B, 0x9CD4, 0xC47C, 0x9CD5, 0xC47D, 0x9CD6, 0xC47E, - 0x9CD7, 0xC47F, 0x9CD8, 0xC481, 0x9CD9, 0xC482, 0x9CDA, 0xC483, 0x9CDB, 0xC484, 0x9CDC, 0xC485, 0x9CDD, 0xC486, 0x9CDE, 0xC487, - 0x9CDF, 0xC488, 0x9CE0, 0xC489, 0x9CE1, 0xC48A, 0x9CE2, 0xC48B, 0x9CE3, 0xC48C, 0x9CE4, 0xC48D, 0x9CE5, 0xC48E, 0x9CE6, 0xC48F, - 0x9CE7, 0xC490, 0x9CE8, 0xC491, 0x9CE9, 0xC492, 0x9CEA, 0xC493, 0x9CEB, 0xC495, 0x9CEC, 0xC496, 0x9CED, 0xC497, 0x9CEE, 0xC498, - 0x9CEF, 0xC499, 0x9CF0, 0xC49A, 0x9CF1, 0xC49B, 0x9CF2, 0xC49D, 0x9CF3, 0xC49E, 0x9CF4, 0xC49F, 0x9CF5, 0xC4A0, 0x9CF6, 0xC4A1, - 0x9CF7, 0xC4A2, 0x9CF8, 0xC4A3, 0x9CF9, 0xC4A4, 0x9CFA, 0xC4A5, 0x9CFB, 0xC4A6, 0x9CFC, 0xC4A7, 0x9CFD, 0xC4A8, 0x9CFE, 0xC4A9, - 0x9D41, 0xC4AA, 0x9D42, 0xC4AB, 0x9D43, 0xC4AC, 0x9D44, 0xC4AD, 0x9D45, 0xC4AE, 0x9D46, 0xC4AF, 0x9D47, 0xC4B0, 0x9D48, 0xC4B1, - 0x9D49, 0xC4B2, 0x9D4A, 0xC4B3, 0x9D4B, 0xC4B4, 0x9D4C, 0xC4B5, 0x9D4D, 0xC4B6, 0x9D4E, 0xC4B7, 0x9D4F, 0xC4B9, 0x9D50, 0xC4BA, - 0x9D51, 0xC4BB, 0x9D52, 0xC4BD, 0x9D53, 0xC4BE, 0x9D54, 0xC4BF, 0x9D55, 0xC4C0, 0x9D56, 0xC4C1, 0x9D57, 0xC4C2, 0x9D58, 0xC4C3, - 0x9D59, 0xC4C4, 0x9D5A, 0xC4C5, 0x9D61, 0xC4C6, 0x9D62, 0xC4C7, 0x9D63, 0xC4C8, 0x9D64, 0xC4C9, 0x9D65, 0xC4CA, 0x9D66, 0xC4CB, - 0x9D67, 0xC4CC, 0x9D68, 0xC4CD, 0x9D69, 0xC4CE, 0x9D6A, 0xC4CF, 0x9D6B, 0xC4D0, 0x9D6C, 0xC4D1, 0x9D6D, 0xC4D2, 0x9D6E, 0xC4D3, - 0x9D6F, 0xC4D4, 0x9D70, 0xC4D5, 0x9D71, 0xC4D6, 0x9D72, 0xC4D7, 0x9D73, 0xC4D8, 0x9D74, 0xC4D9, 0x9D75, 0xC4DA, 0x9D76, 0xC4DB, - 0x9D77, 0xC4DC, 0x9D78, 0xC4DD, 0x9D79, 0xC4DE, 0x9D7A, 0xC4DF, 0x9D81, 0xC4E0, 0x9D82, 0xC4E1, 0x9D83, 0xC4E2, 0x9D84, 0xC4E3, - 0x9D85, 0xC4E4, 0x9D86, 0xC4E5, 0x9D87, 0xC4E6, 0x9D88, 0xC4E7, 0x9D89, 0xC4E8, 0x9D8A, 0xC4EA, 0x9D8B, 0xC4EB, 0x9D8C, 0xC4EC, - 0x9D8D, 0xC4ED, 0x9D8E, 0xC4EE, 0x9D8F, 0xC4EF, 0x9D90, 0xC4F2, 0x9D91, 0xC4F3, 0x9D92, 0xC4F5, 0x9D93, 0xC4F6, 0x9D94, 0xC4F7, - 0x9D95, 0xC4F9, 0x9D96, 0xC4FB, 0x9D97, 0xC4FC, 0x9D98, 0xC4FD, 0x9D99, 0xC4FE, 0x9D9A, 0xC502, 0x9D9B, 0xC503, 0x9D9C, 0xC504, - 0x9D9D, 0xC505, 0x9D9E, 0xC506, 0x9D9F, 0xC507, 0x9DA0, 0xC508, 0x9DA1, 0xC509, 0x9DA2, 0xC50A, 0x9DA3, 0xC50B, 0x9DA4, 0xC50D, - 0x9DA5, 0xC50E, 0x9DA6, 0xC50F, 0x9DA7, 0xC511, 0x9DA8, 0xC512, 0x9DA9, 0xC513, 0x9DAA, 0xC515, 0x9DAB, 0xC516, 0x9DAC, 0xC517, - 0x9DAD, 0xC518, 0x9DAE, 0xC519, 0x9DAF, 0xC51A, 0x9DB0, 0xC51B, 0x9DB1, 0xC51D, 0x9DB2, 0xC51E, 0x9DB3, 0xC51F, 0x9DB4, 0xC520, - 0x9DB5, 0xC521, 0x9DB6, 0xC522, 0x9DB7, 0xC523, 0x9DB8, 0xC524, 0x9DB9, 0xC525, 0x9DBA, 0xC526, 0x9DBB, 0xC527, 0x9DBC, 0xC52A, - 0x9DBD, 0xC52B, 0x9DBE, 0xC52D, 0x9DBF, 0xC52E, 0x9DC0, 0xC52F, 0x9DC1, 0xC531, 0x9DC2, 0xC532, 0x9DC3, 0xC533, 0x9DC4, 0xC534, - 0x9DC5, 0xC535, 0x9DC6, 0xC536, 0x9DC7, 0xC537, 0x9DC8, 0xC53A, 0x9DC9, 0xC53C, 0x9DCA, 0xC53E, 0x9DCB, 0xC53F, 0x9DCC, 0xC540, - 0x9DCD, 0xC541, 0x9DCE, 0xC542, 0x9DCF, 0xC543, 0x9DD0, 0xC546, 0x9DD1, 0xC547, 0x9DD2, 0xC54B, 0x9DD3, 0xC54F, 0x9DD4, 0xC550, - 0x9DD5, 0xC551, 0x9DD6, 0xC552, 0x9DD7, 0xC556, 0x9DD8, 0xC55A, 0x9DD9, 0xC55B, 0x9DDA, 0xC55C, 0x9DDB, 0xC55F, 0x9DDC, 0xC562, - 0x9DDD, 0xC563, 0x9DDE, 0xC565, 0x9DDF, 0xC566, 0x9DE0, 0xC567, 0x9DE1, 0xC569, 0x9DE2, 0xC56A, 0x9DE3, 0xC56B, 0x9DE4, 0xC56C, - 0x9DE5, 0xC56D, 0x9DE6, 0xC56E, 0x9DE7, 0xC56F, 0x9DE8, 0xC572, 0x9DE9, 0xC576, 0x9DEA, 0xC577, 0x9DEB, 0xC578, 0x9DEC, 0xC579, - 0x9DED, 0xC57A, 0x9DEE, 0xC57B, 0x9DEF, 0xC57E, 0x9DF0, 0xC57F, 0x9DF1, 0xC581, 0x9DF2, 0xC582, 0x9DF3, 0xC583, 0x9DF4, 0xC585, - 0x9DF5, 0xC586, 0x9DF6, 0xC588, 0x9DF7, 0xC589, 0x9DF8, 0xC58A, 0x9DF9, 0xC58B, 0x9DFA, 0xC58E, 0x9DFB, 0xC590, 0x9DFC, 0xC592, - 0x9DFD, 0xC593, 0x9DFE, 0xC594, 0x9E41, 0xC596, 0x9E42, 0xC599, 0x9E43, 0xC59A, 0x9E44, 0xC59B, 0x9E45, 0xC59D, 0x9E46, 0xC59E, - 0x9E47, 0xC59F, 0x9E48, 0xC5A1, 0x9E49, 0xC5A2, 0x9E4A, 0xC5A3, 0x9E4B, 0xC5A4, 0x9E4C, 0xC5A5, 0x9E4D, 0xC5A6, 0x9E4E, 0xC5A7, - 0x9E4F, 0xC5A8, 0x9E50, 0xC5AA, 0x9E51, 0xC5AB, 0x9E52, 0xC5AC, 0x9E53, 0xC5AD, 0x9E54, 0xC5AE, 0x9E55, 0xC5AF, 0x9E56, 0xC5B0, - 0x9E57, 0xC5B1, 0x9E58, 0xC5B2, 0x9E59, 0xC5B3, 0x9E5A, 0xC5B6, 0x9E61, 0xC5B7, 0x9E62, 0xC5BA, 0x9E63, 0xC5BF, 0x9E64, 0xC5C0, - 0x9E65, 0xC5C1, 0x9E66, 0xC5C2, 0x9E67, 0xC5C3, 0x9E68, 0xC5CB, 0x9E69, 0xC5CD, 0x9E6A, 0xC5CF, 0x9E6B, 0xC5D2, 0x9E6C, 0xC5D3, - 0x9E6D, 0xC5D5, 0x9E6E, 0xC5D6, 0x9E6F, 0xC5D7, 0x9E70, 0xC5D9, 0x9E71, 0xC5DA, 0x9E72, 0xC5DB, 0x9E73, 0xC5DC, 0x9E74, 0xC5DD, - 0x9E75, 0xC5DE, 0x9E76, 0xC5DF, 0x9E77, 0xC5E2, 0x9E78, 0xC5E4, 0x9E79, 0xC5E6, 0x9E7A, 0xC5E7, 0x9E81, 0xC5E8, 0x9E82, 0xC5E9, - 0x9E83, 0xC5EA, 0x9E84, 0xC5EB, 0x9E85, 0xC5EF, 0x9E86, 0xC5F1, 0x9E87, 0xC5F2, 0x9E88, 0xC5F3, 0x9E89, 0xC5F5, 0x9E8A, 0xC5F8, - 0x9E8B, 0xC5F9, 0x9E8C, 0xC5FA, 0x9E8D, 0xC5FB, 0x9E8E, 0xC602, 0x9E8F, 0xC603, 0x9E90, 0xC604, 0x9E91, 0xC609, 0x9E92, 0xC60A, - 0x9E93, 0xC60B, 0x9E94, 0xC60D, 0x9E95, 0xC60E, 0x9E96, 0xC60F, 0x9E97, 0xC611, 0x9E98, 0xC612, 0x9E99, 0xC613, 0x9E9A, 0xC614, - 0x9E9B, 0xC615, 0x9E9C, 0xC616, 0x9E9D, 0xC617, 0x9E9E, 0xC61A, 0x9E9F, 0xC61D, 0x9EA0, 0xC61E, 0x9EA1, 0xC61F, 0x9EA2, 0xC620, - 0x9EA3, 0xC621, 0x9EA4, 0xC622, 0x9EA5, 0xC623, 0x9EA6, 0xC626, 0x9EA7, 0xC627, 0x9EA8, 0xC629, 0x9EA9, 0xC62A, 0x9EAA, 0xC62B, - 0x9EAB, 0xC62F, 0x9EAC, 0xC631, 0x9EAD, 0xC632, 0x9EAE, 0xC636, 0x9EAF, 0xC638, 0x9EB0, 0xC63A, 0x9EB1, 0xC63C, 0x9EB2, 0xC63D, - 0x9EB3, 0xC63E, 0x9EB4, 0xC63F, 0x9EB5, 0xC642, 0x9EB6, 0xC643, 0x9EB7, 0xC645, 0x9EB8, 0xC646, 0x9EB9, 0xC647, 0x9EBA, 0xC649, - 0x9EBB, 0xC64A, 0x9EBC, 0xC64B, 0x9EBD, 0xC64C, 0x9EBE, 0xC64D, 0x9EBF, 0xC64E, 0x9EC0, 0xC64F, 0x9EC1, 0xC652, 0x9EC2, 0xC656, - 0x9EC3, 0xC657, 0x9EC4, 0xC658, 0x9EC5, 0xC659, 0x9EC6, 0xC65A, 0x9EC7, 0xC65B, 0x9EC8, 0xC65E, 0x9EC9, 0xC65F, 0x9ECA, 0xC661, - 0x9ECB, 0xC662, 0x9ECC, 0xC663, 0x9ECD, 0xC664, 0x9ECE, 0xC665, 0x9ECF, 0xC666, 0x9ED0, 0xC667, 0x9ED1, 0xC668, 0x9ED2, 0xC669, - 0x9ED3, 0xC66A, 0x9ED4, 0xC66B, 0x9ED5, 0xC66D, 0x9ED6, 0xC66E, 0x9ED7, 0xC670, 0x9ED8, 0xC672, 0x9ED9, 0xC673, 0x9EDA, 0xC674, - 0x9EDB, 0xC675, 0x9EDC, 0xC676, 0x9EDD, 0xC677, 0x9EDE, 0xC67A, 0x9EDF, 0xC67B, 0x9EE0, 0xC67D, 0x9EE1, 0xC67E, 0x9EE2, 0xC67F, - 0x9EE3, 0xC681, 0x9EE4, 0xC682, 0x9EE5, 0xC683, 0x9EE6, 0xC684, 0x9EE7, 0xC685, 0x9EE8, 0xC686, 0x9EE9, 0xC687, 0x9EEA, 0xC68A, - 0x9EEB, 0xC68C, 0x9EEC, 0xC68E, 0x9EED, 0xC68F, 0x9EEE, 0xC690, 0x9EEF, 0xC691, 0x9EF0, 0xC692, 0x9EF1, 0xC693, 0x9EF2, 0xC696, - 0x9EF3, 0xC697, 0x9EF4, 0xC699, 0x9EF5, 0xC69A, 0x9EF6, 0xC69B, 0x9EF7, 0xC69D, 0x9EF8, 0xC69E, 0x9EF9, 0xC69F, 0x9EFA, 0xC6A0, - 0x9EFB, 0xC6A1, 0x9EFC, 0xC6A2, 0x9EFD, 0xC6A3, 0x9EFE, 0xC6A6, 0x9F41, 0xC6A8, 0x9F42, 0xC6AA, 0x9F43, 0xC6AB, 0x9F44, 0xC6AC, - 0x9F45, 0xC6AD, 0x9F46, 0xC6AE, 0x9F47, 0xC6AF, 0x9F48, 0xC6B2, 0x9F49, 0xC6B3, 0x9F4A, 0xC6B5, 0x9F4B, 0xC6B6, 0x9F4C, 0xC6B7, - 0x9F4D, 0xC6BB, 0x9F4E, 0xC6BC, 0x9F4F, 0xC6BD, 0x9F50, 0xC6BE, 0x9F51, 0xC6BF, 0x9F52, 0xC6C2, 0x9F53, 0xC6C4, 0x9F54, 0xC6C6, - 0x9F55, 0xC6C7, 0x9F56, 0xC6C8, 0x9F57, 0xC6C9, 0x9F58, 0xC6CA, 0x9F59, 0xC6CB, 0x9F5A, 0xC6CE, 0x9F61, 0xC6CF, 0x9F62, 0xC6D1, - 0x9F63, 0xC6D2, 0x9F64, 0xC6D3, 0x9F65, 0xC6D5, 0x9F66, 0xC6D6, 0x9F67, 0xC6D7, 0x9F68, 0xC6D8, 0x9F69, 0xC6D9, 0x9F6A, 0xC6DA, - 0x9F6B, 0xC6DB, 0x9F6C, 0xC6DE, 0x9F6D, 0xC6DF, 0x9F6E, 0xC6E2, 0x9F6F, 0xC6E3, 0x9F70, 0xC6E4, 0x9F71, 0xC6E5, 0x9F72, 0xC6E6, - 0x9F73, 0xC6E7, 0x9F74, 0xC6EA, 0x9F75, 0xC6EB, 0x9F76, 0xC6ED, 0x9F77, 0xC6EE, 0x9F78, 0xC6EF, 0x9F79, 0xC6F1, 0x9F7A, 0xC6F2, - 0x9F81, 0xC6F3, 0x9F82, 0xC6F4, 0x9F83, 0xC6F5, 0x9F84, 0xC6F6, 0x9F85, 0xC6F7, 0x9F86, 0xC6FA, 0x9F87, 0xC6FB, 0x9F88, 0xC6FC, - 0x9F89, 0xC6FE, 0x9F8A, 0xC6FF, 0x9F8B, 0xC700, 0x9F8C, 0xC701, 0x9F8D, 0xC702, 0x9F8E, 0xC703, 0x9F8F, 0xC706, 0x9F90, 0xC707, - 0x9F91, 0xC709, 0x9F92, 0xC70A, 0x9F93, 0xC70B, 0x9F94, 0xC70D, 0x9F95, 0xC70E, 0x9F96, 0xC70F, 0x9F97, 0xC710, 0x9F98, 0xC711, - 0x9F99, 0xC712, 0x9F9A, 0xC713, 0x9F9B, 0xC716, 0x9F9C, 0xC718, 0x9F9D, 0xC71A, 0x9F9E, 0xC71B, 0x9F9F, 0xC71C, 0x9FA0, 0xC71D, - 0x9FA1, 0xC71E, 0x9FA2, 0xC71F, 0x9FA3, 0xC722, 0x9FA4, 0xC723, 0x9FA5, 0xC725, 0x9FA6, 0xC726, 0x9FA7, 0xC727, 0x9FA8, 0xC729, - 0x9FA9, 0xC72A, 0x9FAA, 0xC72B, 0x9FAB, 0xC72C, 0x9FAC, 0xC72D, 0x9FAD, 0xC72E, 0x9FAE, 0xC72F, 0x9FAF, 0xC732, 0x9FB0, 0xC734, - 0x9FB1, 0xC736, 0x9FB2, 0xC738, 0x9FB3, 0xC739, 0x9FB4, 0xC73A, 0x9FB5, 0xC73B, 0x9FB6, 0xC73E, 0x9FB7, 0xC73F, 0x9FB8, 0xC741, - 0x9FB9, 0xC742, 0x9FBA, 0xC743, 0x9FBB, 0xC745, 0x9FBC, 0xC746, 0x9FBD, 0xC747, 0x9FBE, 0xC748, 0x9FBF, 0xC749, 0x9FC0, 0xC74B, - 0x9FC1, 0xC74E, 0x9FC2, 0xC750, 0x9FC3, 0xC759, 0x9FC4, 0xC75A, 0x9FC5, 0xC75B, 0x9FC6, 0xC75D, 0x9FC7, 0xC75E, 0x9FC8, 0xC75F, - 0x9FC9, 0xC761, 0x9FCA, 0xC762, 0x9FCB, 0xC763, 0x9FCC, 0xC764, 0x9FCD, 0xC765, 0x9FCE, 0xC766, 0x9FCF, 0xC767, 0x9FD0, 0xC769, - 0x9FD1, 0xC76A, 0x9FD2, 0xC76C, 0x9FD3, 0xC76D, 0x9FD4, 0xC76E, 0x9FD5, 0xC76F, 0x9FD6, 0xC770, 0x9FD7, 0xC771, 0x9FD8, 0xC772, - 0x9FD9, 0xC773, 0x9FDA, 0xC776, 0x9FDB, 0xC777, 0x9FDC, 0xC779, 0x9FDD, 0xC77A, 0x9FDE, 0xC77B, 0x9FDF, 0xC77F, 0x9FE0, 0xC780, - 0x9FE1, 0xC781, 0x9FE2, 0xC782, 0x9FE3, 0xC786, 0x9FE4, 0xC78B, 0x9FE5, 0xC78C, 0x9FE6, 0xC78D, 0x9FE7, 0xC78F, 0x9FE8, 0xC792, - 0x9FE9, 0xC793, 0x9FEA, 0xC795, 0x9FEB, 0xC799, 0x9FEC, 0xC79B, 0x9FED, 0xC79C, 0x9FEE, 0xC79D, 0x9FEF, 0xC79E, 0x9FF0, 0xC79F, - 0x9FF1, 0xC7A2, 0x9FF2, 0xC7A7, 0x9FF3, 0xC7A8, 0x9FF4, 0xC7A9, 0x9FF5, 0xC7AA, 0x9FF6, 0xC7AB, 0x9FF7, 0xC7AE, 0x9FF8, 0xC7AF, - 0x9FF9, 0xC7B1, 0x9FFA, 0xC7B2, 0x9FFB, 0xC7B3, 0x9FFC, 0xC7B5, 0x9FFD, 0xC7B6, 0x9FFE, 0xC7B7, 0xA041, 0xC7B8, 0xA042, 0xC7B9, - 0xA043, 0xC7BA, 0xA044, 0xC7BB, 0xA045, 0xC7BE, 0xA046, 0xC7C2, 0xA047, 0xC7C3, 0xA048, 0xC7C4, 0xA049, 0xC7C5, 0xA04A, 0xC7C6, - 0xA04B, 0xC7C7, 0xA04C, 0xC7CA, 0xA04D, 0xC7CB, 0xA04E, 0xC7CD, 0xA04F, 0xC7CF, 0xA050, 0xC7D1, 0xA051, 0xC7D2, 0xA052, 0xC7D3, - 0xA053, 0xC7D4, 0xA054, 0xC7D5, 0xA055, 0xC7D6, 0xA056, 0xC7D7, 0xA057, 0xC7D9, 0xA058, 0xC7DA, 0xA059, 0xC7DB, 0xA05A, 0xC7DC, - 0xA061, 0xC7DE, 0xA062, 0xC7DF, 0xA063, 0xC7E0, 0xA064, 0xC7E1, 0xA065, 0xC7E2, 0xA066, 0xC7E3, 0xA067, 0xC7E5, 0xA068, 0xC7E6, - 0xA069, 0xC7E7, 0xA06A, 0xC7E9, 0xA06B, 0xC7EA, 0xA06C, 0xC7EB, 0xA06D, 0xC7ED, 0xA06E, 0xC7EE, 0xA06F, 0xC7EF, 0xA070, 0xC7F0, - 0xA071, 0xC7F1, 0xA072, 0xC7F2, 0xA073, 0xC7F3, 0xA074, 0xC7F4, 0xA075, 0xC7F5, 0xA076, 0xC7F6, 0xA077, 0xC7F7, 0xA078, 0xC7F8, - 0xA079, 0xC7F9, 0xA07A, 0xC7FA, 0xA081, 0xC7FB, 0xA082, 0xC7FC, 0xA083, 0xC7FD, 0xA084, 0xC7FE, 0xA085, 0xC7FF, 0xA086, 0xC802, - 0xA087, 0xC803, 0xA088, 0xC805, 0xA089, 0xC806, 0xA08A, 0xC807, 0xA08B, 0xC809, 0xA08C, 0xC80B, 0xA08D, 0xC80C, 0xA08E, 0xC80D, - 0xA08F, 0xC80E, 0xA090, 0xC80F, 0xA091, 0xC812, 0xA092, 0xC814, 0xA093, 0xC817, 0xA094, 0xC818, 0xA095, 0xC819, 0xA096, 0xC81A, - 0xA097, 0xC81B, 0xA098, 0xC81E, 0xA099, 0xC81F, 0xA09A, 0xC821, 0xA09B, 0xC822, 0xA09C, 0xC823, 0xA09D, 0xC825, 0xA09E, 0xC826, - 0xA09F, 0xC827, 0xA0A0, 0xC828, 0xA0A1, 0xC829, 0xA0A2, 0xC82A, 0xA0A3, 0xC82B, 0xA0A4, 0xC82E, 0xA0A5, 0xC830, 0xA0A6, 0xC832, - 0xA0A7, 0xC833, 0xA0A8, 0xC834, 0xA0A9, 0xC835, 0xA0AA, 0xC836, 0xA0AB, 0xC837, 0xA0AC, 0xC839, 0xA0AD, 0xC83A, 0xA0AE, 0xC83B, - 0xA0AF, 0xC83D, 0xA0B0, 0xC83E, 0xA0B1, 0xC83F, 0xA0B2, 0xC841, 0xA0B3, 0xC842, 0xA0B4, 0xC843, 0xA0B5, 0xC844, 0xA0B6, 0xC845, - 0xA0B7, 0xC846, 0xA0B8, 0xC847, 0xA0B9, 0xC84A, 0xA0BA, 0xC84B, 0xA0BB, 0xC84E, 0xA0BC, 0xC84F, 0xA0BD, 0xC850, 0xA0BE, 0xC851, - 0xA0BF, 0xC852, 0xA0C0, 0xC853, 0xA0C1, 0xC855, 0xA0C2, 0xC856, 0xA0C3, 0xC857, 0xA0C4, 0xC858, 0xA0C5, 0xC859, 0xA0C6, 0xC85A, - 0xA0C7, 0xC85B, 0xA0C8, 0xC85C, 0xA0C9, 0xC85D, 0xA0CA, 0xC85E, 0xA0CB, 0xC85F, 0xA0CC, 0xC860, 0xA0CD, 0xC861, 0xA0CE, 0xC862, - 0xA0CF, 0xC863, 0xA0D0, 0xC864, 0xA0D1, 0xC865, 0xA0D2, 0xC866, 0xA0D3, 0xC867, 0xA0D4, 0xC868, 0xA0D5, 0xC869, 0xA0D6, 0xC86A, - 0xA0D7, 0xC86B, 0xA0D8, 0xC86C, 0xA0D9, 0xC86D, 0xA0DA, 0xC86E, 0xA0DB, 0xC86F, 0xA0DC, 0xC872, 0xA0DD, 0xC873, 0xA0DE, 0xC875, - 0xA0DF, 0xC876, 0xA0E0, 0xC877, 0xA0E1, 0xC879, 0xA0E2, 0xC87B, 0xA0E3, 0xC87C, 0xA0E4, 0xC87D, 0xA0E5, 0xC87E, 0xA0E6, 0xC87F, - 0xA0E7, 0xC882, 0xA0E8, 0xC884, 0xA0E9, 0xC888, 0xA0EA, 0xC889, 0xA0EB, 0xC88A, 0xA0EC, 0xC88E, 0xA0ED, 0xC88F, 0xA0EE, 0xC890, - 0xA0EF, 0xC891, 0xA0F0, 0xC892, 0xA0F1, 0xC893, 0xA0F2, 0xC895, 0xA0F3, 0xC896, 0xA0F4, 0xC897, 0xA0F5, 0xC898, 0xA0F6, 0xC899, - 0xA0F7, 0xC89A, 0xA0F8, 0xC89B, 0xA0F9, 0xC89C, 0xA0FA, 0xC89E, 0xA0FB, 0xC8A0, 0xA0FC, 0xC8A2, 0xA0FD, 0xC8A3, 0xA0FE, 0xC8A4, - 0xA141, 0xC8A5, 0xA142, 0xC8A6, 0xA143, 0xC8A7, 0xA144, 0xC8A9, 0xA145, 0xC8AA, 0xA146, 0xC8AB, 0xA147, 0xC8AC, 0xA148, 0xC8AD, - 0xA149, 0xC8AE, 0xA14A, 0xC8AF, 0xA14B, 0xC8B0, 0xA14C, 0xC8B1, 0xA14D, 0xC8B2, 0xA14E, 0xC8B3, 0xA14F, 0xC8B4, 0xA150, 0xC8B5, - 0xA151, 0xC8B6, 0xA152, 0xC8B7, 0xA153, 0xC8B8, 0xA154, 0xC8B9, 0xA155, 0xC8BA, 0xA156, 0xC8BB, 0xA157, 0xC8BE, 0xA158, 0xC8BF, - 0xA159, 0xC8C0, 0xA15A, 0xC8C1, 0xA161, 0xC8C2, 0xA162, 0xC8C3, 0xA163, 0xC8C5, 0xA164, 0xC8C6, 0xA165, 0xC8C7, 0xA166, 0xC8C9, - 0xA167, 0xC8CA, 0xA168, 0xC8CB, 0xA169, 0xC8CD, 0xA16A, 0xC8CE, 0xA16B, 0xC8CF, 0xA16C, 0xC8D0, 0xA16D, 0xC8D1, 0xA16E, 0xC8D2, - 0xA16F, 0xC8D3, 0xA170, 0xC8D6, 0xA171, 0xC8D8, 0xA172, 0xC8DA, 0xA173, 0xC8DB, 0xA174, 0xC8DC, 0xA175, 0xC8DD, 0xA176, 0xC8DE, - 0xA177, 0xC8DF, 0xA178, 0xC8E2, 0xA179, 0xC8E3, 0xA17A, 0xC8E5, 0xA181, 0xC8E6, 0xA182, 0xC8E7, 0xA183, 0xC8E8, 0xA184, 0xC8E9, - 0xA185, 0xC8EA, 0xA186, 0xC8EB, 0xA187, 0xC8EC, 0xA188, 0xC8ED, 0xA189, 0xC8EE, 0xA18A, 0xC8EF, 0xA18B, 0xC8F0, 0xA18C, 0xC8F1, - 0xA18D, 0xC8F2, 0xA18E, 0xC8F3, 0xA18F, 0xC8F4, 0xA190, 0xC8F6, 0xA191, 0xC8F7, 0xA192, 0xC8F8, 0xA193, 0xC8F9, 0xA194, 0xC8FA, - 0xA195, 0xC8FB, 0xA196, 0xC8FE, 0xA197, 0xC8FF, 0xA198, 0xC901, 0xA199, 0xC902, 0xA19A, 0xC903, 0xA19B, 0xC907, 0xA19C, 0xC908, - 0xA19D, 0xC909, 0xA19E, 0xC90A, 0xA19F, 0xC90B, 0xA1A0, 0xC90E, 0xA1A1, 0x3000, 0xA1A2, 0x3001, 0xA1A3, 0x3002, 0xA1A4, 0x00B7, - 0xA1A5, 0x2025, 0xA1A6, 0x2026, 0xA1A7, 0x00A8, 0xA1A8, 0x3003, 0xA1A9, 0x00AD, 0xA1AA, 0x2015, 0xA1AB, 0x2225, 0xA1AC, 0xFF3C, - 0xA1AD, 0x223C, 0xA1AE, 0x2018, 0xA1AF, 0x2019, 0xA1B0, 0x201C, 0xA1B1, 0x201D, 0xA1B2, 0x3014, 0xA1B3, 0x3015, 0xA1B4, 0x3008, - 0xA1B5, 0x3009, 0xA1B6, 0x300A, 0xA1B7, 0x300B, 0xA1B8, 0x300C, 0xA1B9, 0x300D, 0xA1BA, 0x300E, 0xA1BB, 0x300F, 0xA1BC, 0x3010, - 0xA1BD, 0x3011, 0xA1BE, 0x00B1, 0xA1BF, 0x00D7, 0xA1C0, 0x00F7, 0xA1C1, 0x2260, 0xA1C2, 0x2264, 0xA1C3, 0x2265, 0xA1C4, 0x221E, - 0xA1C5, 0x2234, 0xA1C6, 0x00B0, 0xA1C7, 0x2032, 0xA1C8, 0x2033, 0xA1C9, 0x2103, 0xA1CA, 0x212B, 0xA1CB, 0xFFE0, 0xA1CC, 0xFFE1, - 0xA1CD, 0xFFE5, 0xA1CE, 0x2642, 0xA1CF, 0x2640, 0xA1D0, 0x2220, 0xA1D1, 0x22A5, 0xA1D2, 0x2312, 0xA1D3, 0x2202, 0xA1D4, 0x2207, - 0xA1D5, 0x2261, 0xA1D6, 0x2252, 0xA1D7, 0x00A7, 0xA1D8, 0x203B, 0xA1D9, 0x2606, 0xA1DA, 0x2605, 0xA1DB, 0x25CB, 0xA1DC, 0x25CF, - 0xA1DD, 0x25CE, 0xA1DE, 0x25C7, 0xA1DF, 0x25C6, 0xA1E0, 0x25A1, 0xA1E1, 0x25A0, 0xA1E2, 0x25B3, 0xA1E3, 0x25B2, 0xA1E4, 0x25BD, - 0xA1E5, 0x25BC, 0xA1E6, 0x2192, 0xA1E7, 0x2190, 0xA1E8, 0x2191, 0xA1E9, 0x2193, 0xA1EA, 0x2194, 0xA1EB, 0x3013, 0xA1EC, 0x226A, - 0xA1ED, 0x226B, 0xA1EE, 0x221A, 0xA1EF, 0x223D, 0xA1F0, 0x221D, 0xA1F1, 0x2235, 0xA1F2, 0x222B, 0xA1F3, 0x222C, 0xA1F4, 0x2208, - 0xA1F5, 0x220B, 0xA1F6, 0x2286, 0xA1F7, 0x2287, 0xA1F8, 0x2282, 0xA1F9, 0x2283, 0xA1FA, 0x222A, 0xA1FB, 0x2229, 0xA1FC, 0x2227, - 0xA1FD, 0x2228, 0xA1FE, 0xFFE2, 0xA241, 0xC910, 0xA242, 0xC912, 0xA243, 0xC913, 0xA244, 0xC914, 0xA245, 0xC915, 0xA246, 0xC916, - 0xA247, 0xC917, 0xA248, 0xC919, 0xA249, 0xC91A, 0xA24A, 0xC91B, 0xA24B, 0xC91C, 0xA24C, 0xC91D, 0xA24D, 0xC91E, 0xA24E, 0xC91F, - 0xA24F, 0xC920, 0xA250, 0xC921, 0xA251, 0xC922, 0xA252, 0xC923, 0xA253, 0xC924, 0xA254, 0xC925, 0xA255, 0xC926, 0xA256, 0xC927, - 0xA257, 0xC928, 0xA258, 0xC929, 0xA259, 0xC92A, 0xA25A, 0xC92B, 0xA261, 0xC92D, 0xA262, 0xC92E, 0xA263, 0xC92F, 0xA264, 0xC930, - 0xA265, 0xC931, 0xA266, 0xC932, 0xA267, 0xC933, 0xA268, 0xC935, 0xA269, 0xC936, 0xA26A, 0xC937, 0xA26B, 0xC938, 0xA26C, 0xC939, - 0xA26D, 0xC93A, 0xA26E, 0xC93B, 0xA26F, 0xC93C, 0xA270, 0xC93D, 0xA271, 0xC93E, 0xA272, 0xC93F, 0xA273, 0xC940, 0xA274, 0xC941, - 0xA275, 0xC942, 0xA276, 0xC943, 0xA277, 0xC944, 0xA278, 0xC945, 0xA279, 0xC946, 0xA27A, 0xC947, 0xA281, 0xC948, 0xA282, 0xC949, - 0xA283, 0xC94A, 0xA284, 0xC94B, 0xA285, 0xC94C, 0xA286, 0xC94D, 0xA287, 0xC94E, 0xA288, 0xC94F, 0xA289, 0xC952, 0xA28A, 0xC953, - 0xA28B, 0xC955, 0xA28C, 0xC956, 0xA28D, 0xC957, 0xA28E, 0xC959, 0xA28F, 0xC95A, 0xA290, 0xC95B, 0xA291, 0xC95C, 0xA292, 0xC95D, - 0xA293, 0xC95E, 0xA294, 0xC95F, 0xA295, 0xC962, 0xA296, 0xC964, 0xA297, 0xC965, 0xA298, 0xC966, 0xA299, 0xC967, 0xA29A, 0xC968, - 0xA29B, 0xC969, 0xA29C, 0xC96A, 0xA29D, 0xC96B, 0xA29E, 0xC96D, 0xA29F, 0xC96E, 0xA2A0, 0xC96F, 0xA2A1, 0x21D2, 0xA2A2, 0x21D4, - 0xA2A3, 0x2200, 0xA2A4, 0x2203, 0xA2A5, 0x00B4, 0xA2A6, 0xFF5E, 0xA2A7, 0x02C7, 0xA2A8, 0x02D8, 0xA2A9, 0x02DD, 0xA2AA, 0x02DA, - 0xA2AB, 0x02D9, 0xA2AC, 0x00B8, 0xA2AD, 0x02DB, 0xA2AE, 0x00A1, 0xA2AF, 0x00BF, 0xA2B0, 0x02D0, 0xA2B1, 0x222E, 0xA2B2, 0x2211, - 0xA2B3, 0x220F, 0xA2B4, 0x00A4, 0xA2B5, 0x2109, 0xA2B6, 0x2030, 0xA2B7, 0x25C1, 0xA2B8, 0x25C0, 0xA2B9, 0x25B7, 0xA2BA, 0x25B6, - 0xA2BB, 0x2664, 0xA2BC, 0x2660, 0xA2BD, 0x2661, 0xA2BE, 0x2665, 0xA2BF, 0x2667, 0xA2C0, 0x2663, 0xA2C1, 0x2299, 0xA2C2, 0x25C8, - 0xA2C3, 0x25A3, 0xA2C4, 0x25D0, 0xA2C5, 0x25D1, 0xA2C6, 0x2592, 0xA2C7, 0x25A4, 0xA2C8, 0x25A5, 0xA2C9, 0x25A8, 0xA2CA, 0x25A7, - 0xA2CB, 0x25A6, 0xA2CC, 0x25A9, 0xA2CD, 0x2668, 0xA2CE, 0x260F, 0xA2CF, 0x260E, 0xA2D0, 0x261C, 0xA2D1, 0x261E, 0xA2D2, 0x00B6, - 0xA2D3, 0x2020, 0xA2D4, 0x2021, 0xA2D5, 0x2195, 0xA2D6, 0x2197, 0xA2D7, 0x2199, 0xA2D8, 0x2196, 0xA2D9, 0x2198, 0xA2DA, 0x266D, - 0xA2DB, 0x2669, 0xA2DC, 0x266A, 0xA2DD, 0x266C, 0xA2DE, 0x327F, 0xA2DF, 0x321C, 0xA2E0, 0x2116, 0xA2E1, 0x33C7, 0xA2E2, 0x2122, - 0xA2E3, 0x33C2, 0xA2E4, 0x33D8, 0xA2E5, 0x2121, 0xA2E6, 0x20AC, 0xA2E7, 0x00AE, 0xA341, 0xC971, 0xA342, 0xC972, 0xA343, 0xC973, - 0xA344, 0xC975, 0xA345, 0xC976, 0xA346, 0xC977, 0xA347, 0xC978, 0xA348, 0xC979, 0xA349, 0xC97A, 0xA34A, 0xC97B, 0xA34B, 0xC97D, - 0xA34C, 0xC97E, 0xA34D, 0xC97F, 0xA34E, 0xC980, 0xA34F, 0xC981, 0xA350, 0xC982, 0xA351, 0xC983, 0xA352, 0xC984, 0xA353, 0xC985, - 0xA354, 0xC986, 0xA355, 0xC987, 0xA356, 0xC98A, 0xA357, 0xC98B, 0xA358, 0xC98D, 0xA359, 0xC98E, 0xA35A, 0xC98F, 0xA361, 0xC991, - 0xA362, 0xC992, 0xA363, 0xC993, 0xA364, 0xC994, 0xA365, 0xC995, 0xA366, 0xC996, 0xA367, 0xC997, 0xA368, 0xC99A, 0xA369, 0xC99C, - 0xA36A, 0xC99E, 0xA36B, 0xC99F, 0xA36C, 0xC9A0, 0xA36D, 0xC9A1, 0xA36E, 0xC9A2, 0xA36F, 0xC9A3, 0xA370, 0xC9A4, 0xA371, 0xC9A5, - 0xA372, 0xC9A6, 0xA373, 0xC9A7, 0xA374, 0xC9A8, 0xA375, 0xC9A9, 0xA376, 0xC9AA, 0xA377, 0xC9AB, 0xA378, 0xC9AC, 0xA379, 0xC9AD, - 0xA37A, 0xC9AE, 0xA381, 0xC9AF, 0xA382, 0xC9B0, 0xA383, 0xC9B1, 0xA384, 0xC9B2, 0xA385, 0xC9B3, 0xA386, 0xC9B4, 0xA387, 0xC9B5, - 0xA388, 0xC9B6, 0xA389, 0xC9B7, 0xA38A, 0xC9B8, 0xA38B, 0xC9B9, 0xA38C, 0xC9BA, 0xA38D, 0xC9BB, 0xA38E, 0xC9BC, 0xA38F, 0xC9BD, - 0xA390, 0xC9BE, 0xA391, 0xC9BF, 0xA392, 0xC9C2, 0xA393, 0xC9C3, 0xA394, 0xC9C5, 0xA395, 0xC9C6, 0xA396, 0xC9C9, 0xA397, 0xC9CB, - 0xA398, 0xC9CC, 0xA399, 0xC9CD, 0xA39A, 0xC9CE, 0xA39B, 0xC9CF, 0xA39C, 0xC9D2, 0xA39D, 0xC9D4, 0xA39E, 0xC9D7, 0xA39F, 0xC9D8, - 0xA3A0, 0xC9DB, 0xA3A1, 0xFF01, 0xA3A2, 0xFF02, 0xA3A3, 0xFF03, 0xA3A4, 0xFF04, 0xA3A5, 0xFF05, 0xA3A6, 0xFF06, 0xA3A7, 0xFF07, - 0xA3A8, 0xFF08, 0xA3A9, 0xFF09, 0xA3AA, 0xFF0A, 0xA3AB, 0xFF0B, 0xA3AC, 0xFF0C, 0xA3AD, 0xFF0D, 0xA3AE, 0xFF0E, 0xA3AF, 0xFF0F, - 0xA3B0, 0xFF10, 0xA3B1, 0xFF11, 0xA3B2, 0xFF12, 0xA3B3, 0xFF13, 0xA3B4, 0xFF14, 0xA3B5, 0xFF15, 0xA3B6, 0xFF16, 0xA3B7, 0xFF17, - 0xA3B8, 0xFF18, 0xA3B9, 0xFF19, 0xA3BA, 0xFF1A, 0xA3BB, 0xFF1B, 0xA3BC, 0xFF1C, 0xA3BD, 0xFF1D, 0xA3BE, 0xFF1E, 0xA3BF, 0xFF1F, - 0xA3C0, 0xFF20, 0xA3C1, 0xFF21, 0xA3C2, 0xFF22, 0xA3C3, 0xFF23, 0xA3C4, 0xFF24, 0xA3C5, 0xFF25, 0xA3C6, 0xFF26, 0xA3C7, 0xFF27, - 0xA3C8, 0xFF28, 0xA3C9, 0xFF29, 0xA3CA, 0xFF2A, 0xA3CB, 0xFF2B, 0xA3CC, 0xFF2C, 0xA3CD, 0xFF2D, 0xA3CE, 0xFF2E, 0xA3CF, 0xFF2F, - 0xA3D0, 0xFF30, 0xA3D1, 0xFF31, 0xA3D2, 0xFF32, 0xA3D3, 0xFF33, 0xA3D4, 0xFF34, 0xA3D5, 0xFF35, 0xA3D6, 0xFF36, 0xA3D7, 0xFF37, - 0xA3D8, 0xFF38, 0xA3D9, 0xFF39, 0xA3DA, 0xFF3A, 0xA3DB, 0xFF3B, 0xA3DC, 0xFFE6, 0xA3DD, 0xFF3D, 0xA3DE, 0xFF3E, 0xA3DF, 0xFF3F, - 0xA3E0, 0xFF40, 0xA3E1, 0xFF41, 0xA3E2, 0xFF42, 0xA3E3, 0xFF43, 0xA3E4, 0xFF44, 0xA3E5, 0xFF45, 0xA3E6, 0xFF46, 0xA3E7, 0xFF47, - 0xA3E8, 0xFF48, 0xA3E9, 0xFF49, 0xA3EA, 0xFF4A, 0xA3EB, 0xFF4B, 0xA3EC, 0xFF4C, 0xA3ED, 0xFF4D, 0xA3EE, 0xFF4E, 0xA3EF, 0xFF4F, - 0xA3F0, 0xFF50, 0xA3F1, 0xFF51, 0xA3F2, 0xFF52, 0xA3F3, 0xFF53, 0xA3F4, 0xFF54, 0xA3F5, 0xFF55, 0xA3F6, 0xFF56, 0xA3F7, 0xFF57, - 0xA3F8, 0xFF58, 0xA3F9, 0xFF59, 0xA3FA, 0xFF5A, 0xA3FB, 0xFF5B, 0xA3FC, 0xFF5C, 0xA3FD, 0xFF5D, 0xA3FE, 0xFFE3, 0xA441, 0xC9DE, - 0xA442, 0xC9DF, 0xA443, 0xC9E1, 0xA444, 0xC9E3, 0xA445, 0xC9E5, 0xA446, 0xC9E6, 0xA447, 0xC9E8, 0xA448, 0xC9E9, 0xA449, 0xC9EA, - 0xA44A, 0xC9EB, 0xA44B, 0xC9EE, 0xA44C, 0xC9F2, 0xA44D, 0xC9F3, 0xA44E, 0xC9F4, 0xA44F, 0xC9F5, 0xA450, 0xC9F6, 0xA451, 0xC9F7, - 0xA452, 0xC9FA, 0xA453, 0xC9FB, 0xA454, 0xC9FD, 0xA455, 0xC9FE, 0xA456, 0xC9FF, 0xA457, 0xCA01, 0xA458, 0xCA02, 0xA459, 0xCA03, - 0xA45A, 0xCA04, 0xA461, 0xCA05, 0xA462, 0xCA06, 0xA463, 0xCA07, 0xA464, 0xCA0A, 0xA465, 0xCA0E, 0xA466, 0xCA0F, 0xA467, 0xCA10, - 0xA468, 0xCA11, 0xA469, 0xCA12, 0xA46A, 0xCA13, 0xA46B, 0xCA15, 0xA46C, 0xCA16, 0xA46D, 0xCA17, 0xA46E, 0xCA19, 0xA46F, 0xCA1A, - 0xA470, 0xCA1B, 0xA471, 0xCA1C, 0xA472, 0xCA1D, 0xA473, 0xCA1E, 0xA474, 0xCA1F, 0xA475, 0xCA20, 0xA476, 0xCA21, 0xA477, 0xCA22, - 0xA478, 0xCA23, 0xA479, 0xCA24, 0xA47A, 0xCA25, 0xA481, 0xCA26, 0xA482, 0xCA27, 0xA483, 0xCA28, 0xA484, 0xCA2A, 0xA485, 0xCA2B, - 0xA486, 0xCA2C, 0xA487, 0xCA2D, 0xA488, 0xCA2E, 0xA489, 0xCA2F, 0xA48A, 0xCA30, 0xA48B, 0xCA31, 0xA48C, 0xCA32, 0xA48D, 0xCA33, - 0xA48E, 0xCA34, 0xA48F, 0xCA35, 0xA490, 0xCA36, 0xA491, 0xCA37, 0xA492, 0xCA38, 0xA493, 0xCA39, 0xA494, 0xCA3A, 0xA495, 0xCA3B, - 0xA496, 0xCA3C, 0xA497, 0xCA3D, 0xA498, 0xCA3E, 0xA499, 0xCA3F, 0xA49A, 0xCA40, 0xA49B, 0xCA41, 0xA49C, 0xCA42, 0xA49D, 0xCA43, - 0xA49E, 0xCA44, 0xA49F, 0xCA45, 0xA4A0, 0xCA46, 0xA4A1, 0x3131, 0xA4A2, 0x3132, 0xA4A3, 0x3133, 0xA4A4, 0x3134, 0xA4A5, 0x3135, - 0xA4A6, 0x3136, 0xA4A7, 0x3137, 0xA4A8, 0x3138, 0xA4A9, 0x3139, 0xA4AA, 0x313A, 0xA4AB, 0x313B, 0xA4AC, 0x313C, 0xA4AD, 0x313D, - 0xA4AE, 0x313E, 0xA4AF, 0x313F, 0xA4B0, 0x3140, 0xA4B1, 0x3141, 0xA4B2, 0x3142, 0xA4B3, 0x3143, 0xA4B4, 0x3144, 0xA4B5, 0x3145, - 0xA4B6, 0x3146, 0xA4B7, 0x3147, 0xA4B8, 0x3148, 0xA4B9, 0x3149, 0xA4BA, 0x314A, 0xA4BB, 0x314B, 0xA4BC, 0x314C, 0xA4BD, 0x314D, - 0xA4BE, 0x314E, 0xA4BF, 0x314F, 0xA4C0, 0x3150, 0xA4C1, 0x3151, 0xA4C2, 0x3152, 0xA4C3, 0x3153, 0xA4C4, 0x3154, 0xA4C5, 0x3155, - 0xA4C6, 0x3156, 0xA4C7, 0x3157, 0xA4C8, 0x3158, 0xA4C9, 0x3159, 0xA4CA, 0x315A, 0xA4CB, 0x315B, 0xA4CC, 0x315C, 0xA4CD, 0x315D, - 0xA4CE, 0x315E, 0xA4CF, 0x315F, 0xA4D0, 0x3160, 0xA4D1, 0x3161, 0xA4D2, 0x3162, 0xA4D3, 0x3163, 0xA4D4, 0x3164, 0xA4D5, 0x3165, - 0xA4D6, 0x3166, 0xA4D7, 0x3167, 0xA4D8, 0x3168, 0xA4D9, 0x3169, 0xA4DA, 0x316A, 0xA4DB, 0x316B, 0xA4DC, 0x316C, 0xA4DD, 0x316D, - 0xA4DE, 0x316E, 0xA4DF, 0x316F, 0xA4E0, 0x3170, 0xA4E1, 0x3171, 0xA4E2, 0x3172, 0xA4E3, 0x3173, 0xA4E4, 0x3174, 0xA4E5, 0x3175, - 0xA4E6, 0x3176, 0xA4E7, 0x3177, 0xA4E8, 0x3178, 0xA4E9, 0x3179, 0xA4EA, 0x317A, 0xA4EB, 0x317B, 0xA4EC, 0x317C, 0xA4ED, 0x317D, - 0xA4EE, 0x317E, 0xA4EF, 0x317F, 0xA4F0, 0x3180, 0xA4F1, 0x3181, 0xA4F2, 0x3182, 0xA4F3, 0x3183, 0xA4F4, 0x3184, 0xA4F5, 0x3185, - 0xA4F6, 0x3186, 0xA4F7, 0x3187, 0xA4F8, 0x3188, 0xA4F9, 0x3189, 0xA4FA, 0x318A, 0xA4FB, 0x318B, 0xA4FC, 0x318C, 0xA4FD, 0x318D, - 0xA4FE, 0x318E, 0xA541, 0xCA47, 0xA542, 0xCA48, 0xA543, 0xCA49, 0xA544, 0xCA4A, 0xA545, 0xCA4B, 0xA546, 0xCA4E, 0xA547, 0xCA4F, - 0xA548, 0xCA51, 0xA549, 0xCA52, 0xA54A, 0xCA53, 0xA54B, 0xCA55, 0xA54C, 0xCA56, 0xA54D, 0xCA57, 0xA54E, 0xCA58, 0xA54F, 0xCA59, - 0xA550, 0xCA5A, 0xA551, 0xCA5B, 0xA552, 0xCA5E, 0xA553, 0xCA62, 0xA554, 0xCA63, 0xA555, 0xCA64, 0xA556, 0xCA65, 0xA557, 0xCA66, - 0xA558, 0xCA67, 0xA559, 0xCA69, 0xA55A, 0xCA6A, 0xA561, 0xCA6B, 0xA562, 0xCA6C, 0xA563, 0xCA6D, 0xA564, 0xCA6E, 0xA565, 0xCA6F, - 0xA566, 0xCA70, 0xA567, 0xCA71, 0xA568, 0xCA72, 0xA569, 0xCA73, 0xA56A, 0xCA74, 0xA56B, 0xCA75, 0xA56C, 0xCA76, 0xA56D, 0xCA77, - 0xA56E, 0xCA78, 0xA56F, 0xCA79, 0xA570, 0xCA7A, 0xA571, 0xCA7B, 0xA572, 0xCA7C, 0xA573, 0xCA7E, 0xA574, 0xCA7F, 0xA575, 0xCA80, - 0xA576, 0xCA81, 0xA577, 0xCA82, 0xA578, 0xCA83, 0xA579, 0xCA85, 0xA57A, 0xCA86, 0xA581, 0xCA87, 0xA582, 0xCA88, 0xA583, 0xCA89, - 0xA584, 0xCA8A, 0xA585, 0xCA8B, 0xA586, 0xCA8C, 0xA587, 0xCA8D, 0xA588, 0xCA8E, 0xA589, 0xCA8F, 0xA58A, 0xCA90, 0xA58B, 0xCA91, - 0xA58C, 0xCA92, 0xA58D, 0xCA93, 0xA58E, 0xCA94, 0xA58F, 0xCA95, 0xA590, 0xCA96, 0xA591, 0xCA97, 0xA592, 0xCA99, 0xA593, 0xCA9A, - 0xA594, 0xCA9B, 0xA595, 0xCA9C, 0xA596, 0xCA9D, 0xA597, 0xCA9E, 0xA598, 0xCA9F, 0xA599, 0xCAA0, 0xA59A, 0xCAA1, 0xA59B, 0xCAA2, - 0xA59C, 0xCAA3, 0xA59D, 0xCAA4, 0xA59E, 0xCAA5, 0xA59F, 0xCAA6, 0xA5A0, 0xCAA7, 0xA5A1, 0x2170, 0xA5A2, 0x2171, 0xA5A3, 0x2172, - 0xA5A4, 0x2173, 0xA5A5, 0x2174, 0xA5A6, 0x2175, 0xA5A7, 0x2176, 0xA5A8, 0x2177, 0xA5A9, 0x2178, 0xA5AA, 0x2179, 0xA5B0, 0x2160, - 0xA5B1, 0x2161, 0xA5B2, 0x2162, 0xA5B3, 0x2163, 0xA5B4, 0x2164, 0xA5B5, 0x2165, 0xA5B6, 0x2166, 0xA5B7, 0x2167, 0xA5B8, 0x2168, - 0xA5B9, 0x2169, 0xA5C1, 0x0391, 0xA5C2, 0x0392, 0xA5C3, 0x0393, 0xA5C4, 0x0394, 0xA5C5, 0x0395, 0xA5C6, 0x0396, 0xA5C7, 0x0397, - 0xA5C8, 0x0398, 0xA5C9, 0x0399, 0xA5CA, 0x039A, 0xA5CB, 0x039B, 0xA5CC, 0x039C, 0xA5CD, 0x039D, 0xA5CE, 0x039E, 0xA5CF, 0x039F, - 0xA5D0, 0x03A0, 0xA5D1, 0x03A1, 0xA5D2, 0x03A3, 0xA5D3, 0x03A4, 0xA5D4, 0x03A5, 0xA5D5, 0x03A6, 0xA5D6, 0x03A7, 0xA5D7, 0x03A8, - 0xA5D8, 0x03A9, 0xA5E1, 0x03B1, 0xA5E2, 0x03B2, 0xA5E3, 0x03B3, 0xA5E4, 0x03B4, 0xA5E5, 0x03B5, 0xA5E6, 0x03B6, 0xA5E7, 0x03B7, - 0xA5E8, 0x03B8, 0xA5E9, 0x03B9, 0xA5EA, 0x03BA, 0xA5EB, 0x03BB, 0xA5EC, 0x03BC, 0xA5ED, 0x03BD, 0xA5EE, 0x03BE, 0xA5EF, 0x03BF, - 0xA5F0, 0x03C0, 0xA5F1, 0x03C1, 0xA5F2, 0x03C3, 0xA5F3, 0x03C4, 0xA5F4, 0x03C5, 0xA5F5, 0x03C6, 0xA5F6, 0x03C7, 0xA5F7, 0x03C8, - 0xA5F8, 0x03C9, 0xA641, 0xCAA8, 0xA642, 0xCAA9, 0xA643, 0xCAAA, 0xA644, 0xCAAB, 0xA645, 0xCAAC, 0xA646, 0xCAAD, 0xA647, 0xCAAE, - 0xA648, 0xCAAF, 0xA649, 0xCAB0, 0xA64A, 0xCAB1, 0xA64B, 0xCAB2, 0xA64C, 0xCAB3, 0xA64D, 0xCAB4, 0xA64E, 0xCAB5, 0xA64F, 0xCAB6, - 0xA650, 0xCAB7, 0xA651, 0xCAB8, 0xA652, 0xCAB9, 0xA653, 0xCABA, 0xA654, 0xCABB, 0xA655, 0xCABE, 0xA656, 0xCABF, 0xA657, 0xCAC1, - 0xA658, 0xCAC2, 0xA659, 0xCAC3, 0xA65A, 0xCAC5, 0xA661, 0xCAC6, 0xA662, 0xCAC7, 0xA663, 0xCAC8, 0xA664, 0xCAC9, 0xA665, 0xCACA, - 0xA666, 0xCACB, 0xA667, 0xCACE, 0xA668, 0xCAD0, 0xA669, 0xCAD2, 0xA66A, 0xCAD4, 0xA66B, 0xCAD5, 0xA66C, 0xCAD6, 0xA66D, 0xCAD7, - 0xA66E, 0xCADA, 0xA66F, 0xCADB, 0xA670, 0xCADC, 0xA671, 0xCADD, 0xA672, 0xCADE, 0xA673, 0xCADF, 0xA674, 0xCAE1, 0xA675, 0xCAE2, - 0xA676, 0xCAE3, 0xA677, 0xCAE4, 0xA678, 0xCAE5, 0xA679, 0xCAE6, 0xA67A, 0xCAE7, 0xA681, 0xCAE8, 0xA682, 0xCAE9, 0xA683, 0xCAEA, - 0xA684, 0xCAEB, 0xA685, 0xCAED, 0xA686, 0xCAEE, 0xA687, 0xCAEF, 0xA688, 0xCAF0, 0xA689, 0xCAF1, 0xA68A, 0xCAF2, 0xA68B, 0xCAF3, - 0xA68C, 0xCAF5, 0xA68D, 0xCAF6, 0xA68E, 0xCAF7, 0xA68F, 0xCAF8, 0xA690, 0xCAF9, 0xA691, 0xCAFA, 0xA692, 0xCAFB, 0xA693, 0xCAFC, - 0xA694, 0xCAFD, 0xA695, 0xCAFE, 0xA696, 0xCAFF, 0xA697, 0xCB00, 0xA698, 0xCB01, 0xA699, 0xCB02, 0xA69A, 0xCB03, 0xA69B, 0xCB04, - 0xA69C, 0xCB05, 0xA69D, 0xCB06, 0xA69E, 0xCB07, 0xA69F, 0xCB09, 0xA6A0, 0xCB0A, 0xA6A1, 0x2500, 0xA6A2, 0x2502, 0xA6A3, 0x250C, - 0xA6A4, 0x2510, 0xA6A5, 0x2518, 0xA6A6, 0x2514, 0xA6A7, 0x251C, 0xA6A8, 0x252C, 0xA6A9, 0x2524, 0xA6AA, 0x2534, 0xA6AB, 0x253C, - 0xA6AC, 0x2501, 0xA6AD, 0x2503, 0xA6AE, 0x250F, 0xA6AF, 0x2513, 0xA6B0, 0x251B, 0xA6B1, 0x2517, 0xA6B2, 0x2523, 0xA6B3, 0x2533, - 0xA6B4, 0x252B, 0xA6B5, 0x253B, 0xA6B6, 0x254B, 0xA6B7, 0x2520, 0xA6B8, 0x252F, 0xA6B9, 0x2528, 0xA6BA, 0x2537, 0xA6BB, 0x253F, - 0xA6BC, 0x251D, 0xA6BD, 0x2530, 0xA6BE, 0x2525, 0xA6BF, 0x2538, 0xA6C0, 0x2542, 0xA6C1, 0x2512, 0xA6C2, 0x2511, 0xA6C3, 0x251A, - 0xA6C4, 0x2519, 0xA6C5, 0x2516, 0xA6C6, 0x2515, 0xA6C7, 0x250E, 0xA6C8, 0x250D, 0xA6C9, 0x251E, 0xA6CA, 0x251F, 0xA6CB, 0x2521, - 0xA6CC, 0x2522, 0xA6CD, 0x2526, 0xA6CE, 0x2527, 0xA6CF, 0x2529, 0xA6D0, 0x252A, 0xA6D1, 0x252D, 0xA6D2, 0x252E, 0xA6D3, 0x2531, - 0xA6D4, 0x2532, 0xA6D5, 0x2535, 0xA6D6, 0x2536, 0xA6D7, 0x2539, 0xA6D8, 0x253A, 0xA6D9, 0x253D, 0xA6DA, 0x253E, 0xA6DB, 0x2540, - 0xA6DC, 0x2541, 0xA6DD, 0x2543, 0xA6DE, 0x2544, 0xA6DF, 0x2545, 0xA6E0, 0x2546, 0xA6E1, 0x2547, 0xA6E2, 0x2548, 0xA6E3, 0x2549, - 0xA6E4, 0x254A, 0xA741, 0xCB0B, 0xA742, 0xCB0C, 0xA743, 0xCB0D, 0xA744, 0xCB0E, 0xA745, 0xCB0F, 0xA746, 0xCB11, 0xA747, 0xCB12, - 0xA748, 0xCB13, 0xA749, 0xCB15, 0xA74A, 0xCB16, 0xA74B, 0xCB17, 0xA74C, 0xCB19, 0xA74D, 0xCB1A, 0xA74E, 0xCB1B, 0xA74F, 0xCB1C, - 0xA750, 0xCB1D, 0xA751, 0xCB1E, 0xA752, 0xCB1F, 0xA753, 0xCB22, 0xA754, 0xCB23, 0xA755, 0xCB24, 0xA756, 0xCB25, 0xA757, 0xCB26, - 0xA758, 0xCB27, 0xA759, 0xCB28, 0xA75A, 0xCB29, 0xA761, 0xCB2A, 0xA762, 0xCB2B, 0xA763, 0xCB2C, 0xA764, 0xCB2D, 0xA765, 0xCB2E, - 0xA766, 0xCB2F, 0xA767, 0xCB30, 0xA768, 0xCB31, 0xA769, 0xCB32, 0xA76A, 0xCB33, 0xA76B, 0xCB34, 0xA76C, 0xCB35, 0xA76D, 0xCB36, - 0xA76E, 0xCB37, 0xA76F, 0xCB38, 0xA770, 0xCB39, 0xA771, 0xCB3A, 0xA772, 0xCB3B, 0xA773, 0xCB3C, 0xA774, 0xCB3D, 0xA775, 0xCB3E, - 0xA776, 0xCB3F, 0xA777, 0xCB40, 0xA778, 0xCB42, 0xA779, 0xCB43, 0xA77A, 0xCB44, 0xA781, 0xCB45, 0xA782, 0xCB46, 0xA783, 0xCB47, - 0xA784, 0xCB4A, 0xA785, 0xCB4B, 0xA786, 0xCB4D, 0xA787, 0xCB4E, 0xA788, 0xCB4F, 0xA789, 0xCB51, 0xA78A, 0xCB52, 0xA78B, 0xCB53, - 0xA78C, 0xCB54, 0xA78D, 0xCB55, 0xA78E, 0xCB56, 0xA78F, 0xCB57, 0xA790, 0xCB5A, 0xA791, 0xCB5B, 0xA792, 0xCB5C, 0xA793, 0xCB5E, - 0xA794, 0xCB5F, 0xA795, 0xCB60, 0xA796, 0xCB61, 0xA797, 0xCB62, 0xA798, 0xCB63, 0xA799, 0xCB65, 0xA79A, 0xCB66, 0xA79B, 0xCB67, - 0xA79C, 0xCB68, 0xA79D, 0xCB69, 0xA79E, 0xCB6A, 0xA79F, 0xCB6B, 0xA7A0, 0xCB6C, 0xA7A1, 0x3395, 0xA7A2, 0x3396, 0xA7A3, 0x3397, - 0xA7A4, 0x2113, 0xA7A5, 0x3398, 0xA7A6, 0x33C4, 0xA7A7, 0x33A3, 0xA7A8, 0x33A4, 0xA7A9, 0x33A5, 0xA7AA, 0x33A6, 0xA7AB, 0x3399, - 0xA7AC, 0x339A, 0xA7AD, 0x339B, 0xA7AE, 0x339C, 0xA7AF, 0x339D, 0xA7B0, 0x339E, 0xA7B1, 0x339F, 0xA7B2, 0x33A0, 0xA7B3, 0x33A1, - 0xA7B4, 0x33A2, 0xA7B5, 0x33CA, 0xA7B6, 0x338D, 0xA7B7, 0x338E, 0xA7B8, 0x338F, 0xA7B9, 0x33CF, 0xA7BA, 0x3388, 0xA7BB, 0x3389, - 0xA7BC, 0x33C8, 0xA7BD, 0x33A7, 0xA7BE, 0x33A8, 0xA7BF, 0x33B0, 0xA7C0, 0x33B1, 0xA7C1, 0x33B2, 0xA7C2, 0x33B3, 0xA7C3, 0x33B4, - 0xA7C4, 0x33B5, 0xA7C5, 0x33B6, 0xA7C6, 0x33B7, 0xA7C7, 0x33B8, 0xA7C8, 0x33B9, 0xA7C9, 0x3380, 0xA7CA, 0x3381, 0xA7CB, 0x3382, - 0xA7CC, 0x3383, 0xA7CD, 0x3384, 0xA7CE, 0x33BA, 0xA7CF, 0x33BB, 0xA7D0, 0x33BC, 0xA7D1, 0x33BD, 0xA7D2, 0x33BE, 0xA7D3, 0x33BF, - 0xA7D4, 0x3390, 0xA7D5, 0x3391, 0xA7D6, 0x3392, 0xA7D7, 0x3393, 0xA7D8, 0x3394, 0xA7D9, 0x2126, 0xA7DA, 0x33C0, 0xA7DB, 0x33C1, - 0xA7DC, 0x338A, 0xA7DD, 0x338B, 0xA7DE, 0x338C, 0xA7DF, 0x33D6, 0xA7E0, 0x33C5, 0xA7E1, 0x33AD, 0xA7E2, 0x33AE, 0xA7E3, 0x33AF, - 0xA7E4, 0x33DB, 0xA7E5, 0x33A9, 0xA7E6, 0x33AA, 0xA7E7, 0x33AB, 0xA7E8, 0x33AC, 0xA7E9, 0x33DD, 0xA7EA, 0x33D0, 0xA7EB, 0x33D3, - 0xA7EC, 0x33C3, 0xA7ED, 0x33C9, 0xA7EE, 0x33DC, 0xA7EF, 0x33C6, 0xA841, 0xCB6D, 0xA842, 0xCB6E, 0xA843, 0xCB6F, 0xA844, 0xCB70, - 0xA845, 0xCB71, 0xA846, 0xCB72, 0xA847, 0xCB73, 0xA848, 0xCB74, 0xA849, 0xCB75, 0xA84A, 0xCB76, 0xA84B, 0xCB77, 0xA84C, 0xCB7A, - 0xA84D, 0xCB7B, 0xA84E, 0xCB7C, 0xA84F, 0xCB7D, 0xA850, 0xCB7E, 0xA851, 0xCB7F, 0xA852, 0xCB80, 0xA853, 0xCB81, 0xA854, 0xCB82, - 0xA855, 0xCB83, 0xA856, 0xCB84, 0xA857, 0xCB85, 0xA858, 0xCB86, 0xA859, 0xCB87, 0xA85A, 0xCB88, 0xA861, 0xCB89, 0xA862, 0xCB8A, - 0xA863, 0xCB8B, 0xA864, 0xCB8C, 0xA865, 0xCB8D, 0xA866, 0xCB8E, 0xA867, 0xCB8F, 0xA868, 0xCB90, 0xA869, 0xCB91, 0xA86A, 0xCB92, - 0xA86B, 0xCB93, 0xA86C, 0xCB94, 0xA86D, 0xCB95, 0xA86E, 0xCB96, 0xA86F, 0xCB97, 0xA870, 0xCB98, 0xA871, 0xCB99, 0xA872, 0xCB9A, - 0xA873, 0xCB9B, 0xA874, 0xCB9D, 0xA875, 0xCB9E, 0xA876, 0xCB9F, 0xA877, 0xCBA0, 0xA878, 0xCBA1, 0xA879, 0xCBA2, 0xA87A, 0xCBA3, - 0xA881, 0xCBA4, 0xA882, 0xCBA5, 0xA883, 0xCBA6, 0xA884, 0xCBA7, 0xA885, 0xCBA8, 0xA886, 0xCBA9, 0xA887, 0xCBAA, 0xA888, 0xCBAB, - 0xA889, 0xCBAC, 0xA88A, 0xCBAD, 0xA88B, 0xCBAE, 0xA88C, 0xCBAF, 0xA88D, 0xCBB0, 0xA88E, 0xCBB1, 0xA88F, 0xCBB2, 0xA890, 0xCBB3, - 0xA891, 0xCBB4, 0xA892, 0xCBB5, 0xA893, 0xCBB6, 0xA894, 0xCBB7, 0xA895, 0xCBB9, 0xA896, 0xCBBA, 0xA897, 0xCBBB, 0xA898, 0xCBBC, - 0xA899, 0xCBBD, 0xA89A, 0xCBBE, 0xA89B, 0xCBBF, 0xA89C, 0xCBC0, 0xA89D, 0xCBC1, 0xA89E, 0xCBC2, 0xA89F, 0xCBC3, 0xA8A0, 0xCBC4, - 0xA8A1, 0x00C6, 0xA8A2, 0x00D0, 0xA8A3, 0x00AA, 0xA8A4, 0x0126, 0xA8A6, 0x0132, 0xA8A8, 0x013F, 0xA8A9, 0x0141, 0xA8AA, 0x00D8, - 0xA8AB, 0x0152, 0xA8AC, 0x00BA, 0xA8AD, 0x00DE, 0xA8AE, 0x0166, 0xA8AF, 0x014A, 0xA8B1, 0x3260, 0xA8B2, 0x3261, 0xA8B3, 0x3262, - 0xA8B4, 0x3263, 0xA8B5, 0x3264, 0xA8B6, 0x3265, 0xA8B7, 0x3266, 0xA8B8, 0x3267, 0xA8B9, 0x3268, 0xA8BA, 0x3269, 0xA8BB, 0x326A, - 0xA8BC, 0x326B, 0xA8BD, 0x326C, 0xA8BE, 0x326D, 0xA8BF, 0x326E, 0xA8C0, 0x326F, 0xA8C1, 0x3270, 0xA8C2, 0x3271, 0xA8C3, 0x3272, - 0xA8C4, 0x3273, 0xA8C5, 0x3274, 0xA8C6, 0x3275, 0xA8C7, 0x3276, 0xA8C8, 0x3277, 0xA8C9, 0x3278, 0xA8CA, 0x3279, 0xA8CB, 0x327A, - 0xA8CC, 0x327B, 0xA8CD, 0x24D0, 0xA8CE, 0x24D1, 0xA8CF, 0x24D2, 0xA8D0, 0x24D3, 0xA8D1, 0x24D4, 0xA8D2, 0x24D5, 0xA8D3, 0x24D6, - 0xA8D4, 0x24D7, 0xA8D5, 0x24D8, 0xA8D6, 0x24D9, 0xA8D7, 0x24DA, 0xA8D8, 0x24DB, 0xA8D9, 0x24DC, 0xA8DA, 0x24DD, 0xA8DB, 0x24DE, - 0xA8DC, 0x24DF, 0xA8DD, 0x24E0, 0xA8DE, 0x24E1, 0xA8DF, 0x24E2, 0xA8E0, 0x24E3, 0xA8E1, 0x24E4, 0xA8E2, 0x24E5, 0xA8E3, 0x24E6, - 0xA8E4, 0x24E7, 0xA8E5, 0x24E8, 0xA8E6, 0x24E9, 0xA8E7, 0x2460, 0xA8E8, 0x2461, 0xA8E9, 0x2462, 0xA8EA, 0x2463, 0xA8EB, 0x2464, - 0xA8EC, 0x2465, 0xA8ED, 0x2466, 0xA8EE, 0x2467, 0xA8EF, 0x2468, 0xA8F0, 0x2469, 0xA8F1, 0x246A, 0xA8F2, 0x246B, 0xA8F3, 0x246C, - 0xA8F4, 0x246D, 0xA8F5, 0x246E, 0xA8F6, 0x00BD, 0xA8F7, 0x2153, 0xA8F8, 0x2154, 0xA8F9, 0x00BC, 0xA8FA, 0x00BE, 0xA8FB, 0x215B, - 0xA8FC, 0x215C, 0xA8FD, 0x215D, 0xA8FE, 0x215E, 0xA941, 0xCBC5, 0xA942, 0xCBC6, 0xA943, 0xCBC7, 0xA944, 0xCBC8, 0xA945, 0xCBC9, - 0xA946, 0xCBCA, 0xA947, 0xCBCB, 0xA948, 0xCBCC, 0xA949, 0xCBCD, 0xA94A, 0xCBCE, 0xA94B, 0xCBCF, 0xA94C, 0xCBD0, 0xA94D, 0xCBD1, - 0xA94E, 0xCBD2, 0xA94F, 0xCBD3, 0xA950, 0xCBD5, 0xA951, 0xCBD6, 0xA952, 0xCBD7, 0xA953, 0xCBD8, 0xA954, 0xCBD9, 0xA955, 0xCBDA, - 0xA956, 0xCBDB, 0xA957, 0xCBDC, 0xA958, 0xCBDD, 0xA959, 0xCBDE, 0xA95A, 0xCBDF, 0xA961, 0xCBE0, 0xA962, 0xCBE1, 0xA963, 0xCBE2, - 0xA964, 0xCBE3, 0xA965, 0xCBE5, 0xA966, 0xCBE6, 0xA967, 0xCBE8, 0xA968, 0xCBEA, 0xA969, 0xCBEB, 0xA96A, 0xCBEC, 0xA96B, 0xCBED, - 0xA96C, 0xCBEE, 0xA96D, 0xCBEF, 0xA96E, 0xCBF0, 0xA96F, 0xCBF1, 0xA970, 0xCBF2, 0xA971, 0xCBF3, 0xA972, 0xCBF4, 0xA973, 0xCBF5, - 0xA974, 0xCBF6, 0xA975, 0xCBF7, 0xA976, 0xCBF8, 0xA977, 0xCBF9, 0xA978, 0xCBFA, 0xA979, 0xCBFB, 0xA97A, 0xCBFC, 0xA981, 0xCBFD, - 0xA982, 0xCBFE, 0xA983, 0xCBFF, 0xA984, 0xCC00, 0xA985, 0xCC01, 0xA986, 0xCC02, 0xA987, 0xCC03, 0xA988, 0xCC04, 0xA989, 0xCC05, - 0xA98A, 0xCC06, 0xA98B, 0xCC07, 0xA98C, 0xCC08, 0xA98D, 0xCC09, 0xA98E, 0xCC0A, 0xA98F, 0xCC0B, 0xA990, 0xCC0E, 0xA991, 0xCC0F, - 0xA992, 0xCC11, 0xA993, 0xCC12, 0xA994, 0xCC13, 0xA995, 0xCC15, 0xA996, 0xCC16, 0xA997, 0xCC17, 0xA998, 0xCC18, 0xA999, 0xCC19, - 0xA99A, 0xCC1A, 0xA99B, 0xCC1B, 0xA99C, 0xCC1E, 0xA99D, 0xCC1F, 0xA99E, 0xCC20, 0xA99F, 0xCC23, 0xA9A0, 0xCC24, 0xA9A1, 0x00E6, - 0xA9A2, 0x0111, 0xA9A3, 0x00F0, 0xA9A4, 0x0127, 0xA9A5, 0x0131, 0xA9A6, 0x0133, 0xA9A7, 0x0138, 0xA9A8, 0x0140, 0xA9A9, 0x0142, - 0xA9AA, 0x00F8, 0xA9AB, 0x0153, 0xA9AC, 0x00DF, 0xA9AD, 0x00FE, 0xA9AE, 0x0167, 0xA9AF, 0x014B, 0xA9B0, 0x0149, 0xA9B1, 0x3200, - 0xA9B2, 0x3201, 0xA9B3, 0x3202, 0xA9B4, 0x3203, 0xA9B5, 0x3204, 0xA9B6, 0x3205, 0xA9B7, 0x3206, 0xA9B8, 0x3207, 0xA9B9, 0x3208, - 0xA9BA, 0x3209, 0xA9BB, 0x320A, 0xA9BC, 0x320B, 0xA9BD, 0x320C, 0xA9BE, 0x320D, 0xA9BF, 0x320E, 0xA9C0, 0x320F, 0xA9C1, 0x3210, - 0xA9C2, 0x3211, 0xA9C3, 0x3212, 0xA9C4, 0x3213, 0xA9C5, 0x3214, 0xA9C6, 0x3215, 0xA9C7, 0x3216, 0xA9C8, 0x3217, 0xA9C9, 0x3218, - 0xA9CA, 0x3219, 0xA9CB, 0x321A, 0xA9CC, 0x321B, 0xA9CD, 0x249C, 0xA9CE, 0x249D, 0xA9CF, 0x249E, 0xA9D0, 0x249F, 0xA9D1, 0x24A0, - 0xA9D2, 0x24A1, 0xA9D3, 0x24A2, 0xA9D4, 0x24A3, 0xA9D5, 0x24A4, 0xA9D6, 0x24A5, 0xA9D7, 0x24A6, 0xA9D8, 0x24A7, 0xA9D9, 0x24A8, - 0xA9DA, 0x24A9, 0xA9DB, 0x24AA, 0xA9DC, 0x24AB, 0xA9DD, 0x24AC, 0xA9DE, 0x24AD, 0xA9DF, 0x24AE, 0xA9E0, 0x24AF, 0xA9E1, 0x24B0, - 0xA9E2, 0x24B1, 0xA9E3, 0x24B2, 0xA9E4, 0x24B3, 0xA9E5, 0x24B4, 0xA9E6, 0x24B5, 0xA9E7, 0x2474, 0xA9E8, 0x2475, 0xA9E9, 0x2476, - 0xA9EA, 0x2477, 0xA9EB, 0x2478, 0xA9EC, 0x2479, 0xA9ED, 0x247A, 0xA9EE, 0x247B, 0xA9EF, 0x247C, 0xA9F0, 0x247D, 0xA9F1, 0x247E, - 0xA9F2, 0x247F, 0xA9F3, 0x2480, 0xA9F4, 0x2481, 0xA9F5, 0x2482, 0xA9F6, 0x00B9, 0xA9F7, 0x00B2, 0xA9F8, 0x00B3, 0xA9F9, 0x2074, - 0xA9FA, 0x207F, 0xA9FB, 0x2081, 0xA9FC, 0x2082, 0xA9FD, 0x2083, 0xA9FE, 0x2084, 0xAA41, 0xCC25, 0xAA42, 0xCC26, 0xAA43, 0xCC2A, - 0xAA44, 0xCC2B, 0xAA45, 0xCC2D, 0xAA46, 0xCC2F, 0xAA47, 0xCC31, 0xAA48, 0xCC32, 0xAA49, 0xCC33, 0xAA4A, 0xCC34, 0xAA4B, 0xCC35, - 0xAA4C, 0xCC36, 0xAA4D, 0xCC37, 0xAA4E, 0xCC3A, 0xAA4F, 0xCC3F, 0xAA50, 0xCC40, 0xAA51, 0xCC41, 0xAA52, 0xCC42, 0xAA53, 0xCC43, - 0xAA54, 0xCC46, 0xAA55, 0xCC47, 0xAA56, 0xCC49, 0xAA57, 0xCC4A, 0xAA58, 0xCC4B, 0xAA59, 0xCC4D, 0xAA5A, 0xCC4E, 0xAA61, 0xCC4F, - 0xAA62, 0xCC50, 0xAA63, 0xCC51, 0xAA64, 0xCC52, 0xAA65, 0xCC53, 0xAA66, 0xCC56, 0xAA67, 0xCC5A, 0xAA68, 0xCC5B, 0xAA69, 0xCC5C, - 0xAA6A, 0xCC5D, 0xAA6B, 0xCC5E, 0xAA6C, 0xCC5F, 0xAA6D, 0xCC61, 0xAA6E, 0xCC62, 0xAA6F, 0xCC63, 0xAA70, 0xCC65, 0xAA71, 0xCC67, - 0xAA72, 0xCC69, 0xAA73, 0xCC6A, 0xAA74, 0xCC6B, 0xAA75, 0xCC6C, 0xAA76, 0xCC6D, 0xAA77, 0xCC6E, 0xAA78, 0xCC6F, 0xAA79, 0xCC71, - 0xAA7A, 0xCC72, 0xAA81, 0xCC73, 0xAA82, 0xCC74, 0xAA83, 0xCC76, 0xAA84, 0xCC77, 0xAA85, 0xCC78, 0xAA86, 0xCC79, 0xAA87, 0xCC7A, - 0xAA88, 0xCC7B, 0xAA89, 0xCC7C, 0xAA8A, 0xCC7D, 0xAA8B, 0xCC7E, 0xAA8C, 0xCC7F, 0xAA8D, 0xCC80, 0xAA8E, 0xCC81, 0xAA8F, 0xCC82, - 0xAA90, 0xCC83, 0xAA91, 0xCC84, 0xAA92, 0xCC85, 0xAA93, 0xCC86, 0xAA94, 0xCC87, 0xAA95, 0xCC88, 0xAA96, 0xCC89, 0xAA97, 0xCC8A, - 0xAA98, 0xCC8B, 0xAA99, 0xCC8C, 0xAA9A, 0xCC8D, 0xAA9B, 0xCC8E, 0xAA9C, 0xCC8F, 0xAA9D, 0xCC90, 0xAA9E, 0xCC91, 0xAA9F, 0xCC92, - 0xAAA0, 0xCC93, 0xAAA1, 0x3041, 0xAAA2, 0x3042, 0xAAA3, 0x3043, 0xAAA4, 0x3044, 0xAAA5, 0x3045, 0xAAA6, 0x3046, 0xAAA7, 0x3047, - 0xAAA8, 0x3048, 0xAAA9, 0x3049, 0xAAAA, 0x304A, 0xAAAB, 0x304B, 0xAAAC, 0x304C, 0xAAAD, 0x304D, 0xAAAE, 0x304E, 0xAAAF, 0x304F, - 0xAAB0, 0x3050, 0xAAB1, 0x3051, 0xAAB2, 0x3052, 0xAAB3, 0x3053, 0xAAB4, 0x3054, 0xAAB5, 0x3055, 0xAAB6, 0x3056, 0xAAB7, 0x3057, - 0xAAB8, 0x3058, 0xAAB9, 0x3059, 0xAABA, 0x305A, 0xAABB, 0x305B, 0xAABC, 0x305C, 0xAABD, 0x305D, 0xAABE, 0x305E, 0xAABF, 0x305F, - 0xAAC0, 0x3060, 0xAAC1, 0x3061, 0xAAC2, 0x3062, 0xAAC3, 0x3063, 0xAAC4, 0x3064, 0xAAC5, 0x3065, 0xAAC6, 0x3066, 0xAAC7, 0x3067, - 0xAAC8, 0x3068, 0xAAC9, 0x3069, 0xAACA, 0x306A, 0xAACB, 0x306B, 0xAACC, 0x306C, 0xAACD, 0x306D, 0xAACE, 0x306E, 0xAACF, 0x306F, - 0xAAD0, 0x3070, 0xAAD1, 0x3071, 0xAAD2, 0x3072, 0xAAD3, 0x3073, 0xAAD4, 0x3074, 0xAAD5, 0x3075, 0xAAD6, 0x3076, 0xAAD7, 0x3077, - 0xAAD8, 0x3078, 0xAAD9, 0x3079, 0xAADA, 0x307A, 0xAADB, 0x307B, 0xAADC, 0x307C, 0xAADD, 0x307D, 0xAADE, 0x307E, 0xAADF, 0x307F, - 0xAAE0, 0x3080, 0xAAE1, 0x3081, 0xAAE2, 0x3082, 0xAAE3, 0x3083, 0xAAE4, 0x3084, 0xAAE5, 0x3085, 0xAAE6, 0x3086, 0xAAE7, 0x3087, - 0xAAE8, 0x3088, 0xAAE9, 0x3089, 0xAAEA, 0x308A, 0xAAEB, 0x308B, 0xAAEC, 0x308C, 0xAAED, 0x308D, 0xAAEE, 0x308E, 0xAAEF, 0x308F, - 0xAAF0, 0x3090, 0xAAF1, 0x3091, 0xAAF2, 0x3092, 0xAAF3, 0x3093, 0xAB41, 0xCC94, 0xAB42, 0xCC95, 0xAB43, 0xCC96, 0xAB44, 0xCC97, - 0xAB45, 0xCC9A, 0xAB46, 0xCC9B, 0xAB47, 0xCC9D, 0xAB48, 0xCC9E, 0xAB49, 0xCC9F, 0xAB4A, 0xCCA1, 0xAB4B, 0xCCA2, 0xAB4C, 0xCCA3, - 0xAB4D, 0xCCA4, 0xAB4E, 0xCCA5, 0xAB4F, 0xCCA6, 0xAB50, 0xCCA7, 0xAB51, 0xCCAA, 0xAB52, 0xCCAE, 0xAB53, 0xCCAF, 0xAB54, 0xCCB0, - 0xAB55, 0xCCB1, 0xAB56, 0xCCB2, 0xAB57, 0xCCB3, 0xAB58, 0xCCB6, 0xAB59, 0xCCB7, 0xAB5A, 0xCCB9, 0xAB61, 0xCCBA, 0xAB62, 0xCCBB, - 0xAB63, 0xCCBD, 0xAB64, 0xCCBE, 0xAB65, 0xCCBF, 0xAB66, 0xCCC0, 0xAB67, 0xCCC1, 0xAB68, 0xCCC2, 0xAB69, 0xCCC3, 0xAB6A, 0xCCC6, - 0xAB6B, 0xCCC8, 0xAB6C, 0xCCCA, 0xAB6D, 0xCCCB, 0xAB6E, 0xCCCC, 0xAB6F, 0xCCCD, 0xAB70, 0xCCCE, 0xAB71, 0xCCCF, 0xAB72, 0xCCD1, - 0xAB73, 0xCCD2, 0xAB74, 0xCCD3, 0xAB75, 0xCCD5, 0xAB76, 0xCCD6, 0xAB77, 0xCCD7, 0xAB78, 0xCCD8, 0xAB79, 0xCCD9, 0xAB7A, 0xCCDA, - 0xAB81, 0xCCDB, 0xAB82, 0xCCDC, 0xAB83, 0xCCDD, 0xAB84, 0xCCDE, 0xAB85, 0xCCDF, 0xAB86, 0xCCE0, 0xAB87, 0xCCE1, 0xAB88, 0xCCE2, - 0xAB89, 0xCCE3, 0xAB8A, 0xCCE5, 0xAB8B, 0xCCE6, 0xAB8C, 0xCCE7, 0xAB8D, 0xCCE8, 0xAB8E, 0xCCE9, 0xAB8F, 0xCCEA, 0xAB90, 0xCCEB, - 0xAB91, 0xCCED, 0xAB92, 0xCCEE, 0xAB93, 0xCCEF, 0xAB94, 0xCCF1, 0xAB95, 0xCCF2, 0xAB96, 0xCCF3, 0xAB97, 0xCCF4, 0xAB98, 0xCCF5, - 0xAB99, 0xCCF6, 0xAB9A, 0xCCF7, 0xAB9B, 0xCCF8, 0xAB9C, 0xCCF9, 0xAB9D, 0xCCFA, 0xAB9E, 0xCCFB, 0xAB9F, 0xCCFC, 0xABA0, 0xCCFD, - 0xABA1, 0x30A1, 0xABA2, 0x30A2, 0xABA3, 0x30A3, 0xABA4, 0x30A4, 0xABA5, 0x30A5, 0xABA6, 0x30A6, 0xABA7, 0x30A7, 0xABA8, 0x30A8, - 0xABA9, 0x30A9, 0xABAA, 0x30AA, 0xABAB, 0x30AB, 0xABAC, 0x30AC, 0xABAD, 0x30AD, 0xABAE, 0x30AE, 0xABAF, 0x30AF, 0xABB0, 0x30B0, - 0xABB1, 0x30B1, 0xABB2, 0x30B2, 0xABB3, 0x30B3, 0xABB4, 0x30B4, 0xABB5, 0x30B5, 0xABB6, 0x30B6, 0xABB7, 0x30B7, 0xABB8, 0x30B8, - 0xABB9, 0x30B9, 0xABBA, 0x30BA, 0xABBB, 0x30BB, 0xABBC, 0x30BC, 0xABBD, 0x30BD, 0xABBE, 0x30BE, 0xABBF, 0x30BF, 0xABC0, 0x30C0, - 0xABC1, 0x30C1, 0xABC2, 0x30C2, 0xABC3, 0x30C3, 0xABC4, 0x30C4, 0xABC5, 0x30C5, 0xABC6, 0x30C6, 0xABC7, 0x30C7, 0xABC8, 0x30C8, - 0xABC9, 0x30C9, 0xABCA, 0x30CA, 0xABCB, 0x30CB, 0xABCC, 0x30CC, 0xABCD, 0x30CD, 0xABCE, 0x30CE, 0xABCF, 0x30CF, 0xABD0, 0x30D0, - 0xABD1, 0x30D1, 0xABD2, 0x30D2, 0xABD3, 0x30D3, 0xABD4, 0x30D4, 0xABD5, 0x30D5, 0xABD6, 0x30D6, 0xABD7, 0x30D7, 0xABD8, 0x30D8, - 0xABD9, 0x30D9, 0xABDA, 0x30DA, 0xABDB, 0x30DB, 0xABDC, 0x30DC, 0xABDD, 0x30DD, 0xABDE, 0x30DE, 0xABDF, 0x30DF, 0xABE0, 0x30E0, - 0xABE1, 0x30E1, 0xABE2, 0x30E2, 0xABE3, 0x30E3, 0xABE4, 0x30E4, 0xABE5, 0x30E5, 0xABE6, 0x30E6, 0xABE7, 0x30E7, 0xABE8, 0x30E8, - 0xABE9, 0x30E9, 0xABEA, 0x30EA, 0xABEB, 0x30EB, 0xABEC, 0x30EC, 0xABED, 0x30ED, 0xABEE, 0x30EE, 0xABEF, 0x30EF, 0xABF0, 0x30F0, - 0xABF1, 0x30F1, 0xABF2, 0x30F2, 0xABF3, 0x30F3, 0xABF4, 0x30F4, 0xABF5, 0x30F5, 0xABF6, 0x30F6, 0xAC41, 0xCCFE, 0xAC42, 0xCCFF, - 0xAC43, 0xCD00, 0xAC44, 0xCD02, 0xAC45, 0xCD03, 0xAC46, 0xCD04, 0xAC47, 0xCD05, 0xAC48, 0xCD06, 0xAC49, 0xCD07, 0xAC4A, 0xCD0A, - 0xAC4B, 0xCD0B, 0xAC4C, 0xCD0D, 0xAC4D, 0xCD0E, 0xAC4E, 0xCD0F, 0xAC4F, 0xCD11, 0xAC50, 0xCD12, 0xAC51, 0xCD13, 0xAC52, 0xCD14, - 0xAC53, 0xCD15, 0xAC54, 0xCD16, 0xAC55, 0xCD17, 0xAC56, 0xCD1A, 0xAC57, 0xCD1C, 0xAC58, 0xCD1E, 0xAC59, 0xCD1F, 0xAC5A, 0xCD20, - 0xAC61, 0xCD21, 0xAC62, 0xCD22, 0xAC63, 0xCD23, 0xAC64, 0xCD25, 0xAC65, 0xCD26, 0xAC66, 0xCD27, 0xAC67, 0xCD29, 0xAC68, 0xCD2A, - 0xAC69, 0xCD2B, 0xAC6A, 0xCD2D, 0xAC6B, 0xCD2E, 0xAC6C, 0xCD2F, 0xAC6D, 0xCD30, 0xAC6E, 0xCD31, 0xAC6F, 0xCD32, 0xAC70, 0xCD33, - 0xAC71, 0xCD34, 0xAC72, 0xCD35, 0xAC73, 0xCD36, 0xAC74, 0xCD37, 0xAC75, 0xCD38, 0xAC76, 0xCD3A, 0xAC77, 0xCD3B, 0xAC78, 0xCD3C, - 0xAC79, 0xCD3D, 0xAC7A, 0xCD3E, 0xAC81, 0xCD3F, 0xAC82, 0xCD40, 0xAC83, 0xCD41, 0xAC84, 0xCD42, 0xAC85, 0xCD43, 0xAC86, 0xCD44, - 0xAC87, 0xCD45, 0xAC88, 0xCD46, 0xAC89, 0xCD47, 0xAC8A, 0xCD48, 0xAC8B, 0xCD49, 0xAC8C, 0xCD4A, 0xAC8D, 0xCD4B, 0xAC8E, 0xCD4C, - 0xAC8F, 0xCD4D, 0xAC90, 0xCD4E, 0xAC91, 0xCD4F, 0xAC92, 0xCD50, 0xAC93, 0xCD51, 0xAC94, 0xCD52, 0xAC95, 0xCD53, 0xAC96, 0xCD54, - 0xAC97, 0xCD55, 0xAC98, 0xCD56, 0xAC99, 0xCD57, 0xAC9A, 0xCD58, 0xAC9B, 0xCD59, 0xAC9C, 0xCD5A, 0xAC9D, 0xCD5B, 0xAC9E, 0xCD5D, - 0xAC9F, 0xCD5E, 0xACA0, 0xCD5F, 0xACA1, 0x0410, 0xACA2, 0x0411, 0xACA3, 0x0412, 0xACA4, 0x0413, 0xACA5, 0x0414, 0xACA6, 0x0415, - 0xACA7, 0x0401, 0xACA8, 0x0416, 0xACA9, 0x0417, 0xACAA, 0x0418, 0xACAB, 0x0419, 0xACAC, 0x041A, 0xACAD, 0x041B, 0xACAE, 0x041C, - 0xACAF, 0x041D, 0xACB0, 0x041E, 0xACB1, 0x041F, 0xACB2, 0x0420, 0xACB3, 0x0421, 0xACB4, 0x0422, 0xACB5, 0x0423, 0xACB6, 0x0424, - 0xACB7, 0x0425, 0xACB8, 0x0426, 0xACB9, 0x0427, 0xACBA, 0x0428, 0xACBB, 0x0429, 0xACBC, 0x042A, 0xACBD, 0x042B, 0xACBE, 0x042C, - 0xACBF, 0x042D, 0xACC0, 0x042E, 0xACC1, 0x042F, 0xACD1, 0x0430, 0xACD2, 0x0431, 0xACD3, 0x0432, 0xACD4, 0x0433, 0xACD5, 0x0434, - 0xACD6, 0x0435, 0xACD7, 0x0451, 0xACD8, 0x0436, 0xACD9, 0x0437, 0xACDA, 0x0438, 0xACDB, 0x0439, 0xACDC, 0x043A, 0xACDD, 0x043B, - 0xACDE, 0x043C, 0xACDF, 0x043D, 0xACE0, 0x043E, 0xACE1, 0x043F, 0xACE2, 0x0440, 0xACE3, 0x0441, 0xACE4, 0x0442, 0xACE5, 0x0443, - 0xACE6, 0x0444, 0xACE7, 0x0445, 0xACE8, 0x0446, 0xACE9, 0x0447, 0xACEA, 0x0448, 0xACEB, 0x0449, 0xACEC, 0x044A, 0xACED, 0x044B, - 0xACEE, 0x044C, 0xACEF, 0x044D, 0xACF0, 0x044E, 0xACF1, 0x044F, 0xAD41, 0xCD61, 0xAD42, 0xCD62, 0xAD43, 0xCD63, 0xAD44, 0xCD65, - 0xAD45, 0xCD66, 0xAD46, 0xCD67, 0xAD47, 0xCD68, 0xAD48, 0xCD69, 0xAD49, 0xCD6A, 0xAD4A, 0xCD6B, 0xAD4B, 0xCD6E, 0xAD4C, 0xCD70, - 0xAD4D, 0xCD72, 0xAD4E, 0xCD73, 0xAD4F, 0xCD74, 0xAD50, 0xCD75, 0xAD51, 0xCD76, 0xAD52, 0xCD77, 0xAD53, 0xCD79, 0xAD54, 0xCD7A, - 0xAD55, 0xCD7B, 0xAD56, 0xCD7C, 0xAD57, 0xCD7D, 0xAD58, 0xCD7E, 0xAD59, 0xCD7F, 0xAD5A, 0xCD80, 0xAD61, 0xCD81, 0xAD62, 0xCD82, - 0xAD63, 0xCD83, 0xAD64, 0xCD84, 0xAD65, 0xCD85, 0xAD66, 0xCD86, 0xAD67, 0xCD87, 0xAD68, 0xCD89, 0xAD69, 0xCD8A, 0xAD6A, 0xCD8B, - 0xAD6B, 0xCD8C, 0xAD6C, 0xCD8D, 0xAD6D, 0xCD8E, 0xAD6E, 0xCD8F, 0xAD6F, 0xCD90, 0xAD70, 0xCD91, 0xAD71, 0xCD92, 0xAD72, 0xCD93, - 0xAD73, 0xCD96, 0xAD74, 0xCD97, 0xAD75, 0xCD99, 0xAD76, 0xCD9A, 0xAD77, 0xCD9B, 0xAD78, 0xCD9D, 0xAD79, 0xCD9E, 0xAD7A, 0xCD9F, - 0xAD81, 0xCDA0, 0xAD82, 0xCDA1, 0xAD83, 0xCDA2, 0xAD84, 0xCDA3, 0xAD85, 0xCDA6, 0xAD86, 0xCDA8, 0xAD87, 0xCDAA, 0xAD88, 0xCDAB, - 0xAD89, 0xCDAC, 0xAD8A, 0xCDAD, 0xAD8B, 0xCDAE, 0xAD8C, 0xCDAF, 0xAD8D, 0xCDB1, 0xAD8E, 0xCDB2, 0xAD8F, 0xCDB3, 0xAD90, 0xCDB4, - 0xAD91, 0xCDB5, 0xAD92, 0xCDB6, 0xAD93, 0xCDB7, 0xAD94, 0xCDB8, 0xAD95, 0xCDB9, 0xAD96, 0xCDBA, 0xAD97, 0xCDBB, 0xAD98, 0xCDBC, - 0xAD99, 0xCDBD, 0xAD9A, 0xCDBE, 0xAD9B, 0xCDBF, 0xAD9C, 0xCDC0, 0xAD9D, 0xCDC1, 0xAD9E, 0xCDC2, 0xAD9F, 0xCDC3, 0xADA0, 0xCDC5, - 0xAE41, 0xCDC6, 0xAE42, 0xCDC7, 0xAE43, 0xCDC8, 0xAE44, 0xCDC9, 0xAE45, 0xCDCA, 0xAE46, 0xCDCB, 0xAE47, 0xCDCD, 0xAE48, 0xCDCE, - 0xAE49, 0xCDCF, 0xAE4A, 0xCDD1, 0xAE4B, 0xCDD2, 0xAE4C, 0xCDD3, 0xAE4D, 0xCDD4, 0xAE4E, 0xCDD5, 0xAE4F, 0xCDD6, 0xAE50, 0xCDD7, - 0xAE51, 0xCDD8, 0xAE52, 0xCDD9, 0xAE53, 0xCDDA, 0xAE54, 0xCDDB, 0xAE55, 0xCDDC, 0xAE56, 0xCDDD, 0xAE57, 0xCDDE, 0xAE58, 0xCDDF, - 0xAE59, 0xCDE0, 0xAE5A, 0xCDE1, 0xAE61, 0xCDE2, 0xAE62, 0xCDE3, 0xAE63, 0xCDE4, 0xAE64, 0xCDE5, 0xAE65, 0xCDE6, 0xAE66, 0xCDE7, - 0xAE67, 0xCDE9, 0xAE68, 0xCDEA, 0xAE69, 0xCDEB, 0xAE6A, 0xCDED, 0xAE6B, 0xCDEE, 0xAE6C, 0xCDEF, 0xAE6D, 0xCDF1, 0xAE6E, 0xCDF2, - 0xAE6F, 0xCDF3, 0xAE70, 0xCDF4, 0xAE71, 0xCDF5, 0xAE72, 0xCDF6, 0xAE73, 0xCDF7, 0xAE74, 0xCDFA, 0xAE75, 0xCDFC, 0xAE76, 0xCDFE, - 0xAE77, 0xCDFF, 0xAE78, 0xCE00, 0xAE79, 0xCE01, 0xAE7A, 0xCE02, 0xAE81, 0xCE03, 0xAE82, 0xCE05, 0xAE83, 0xCE06, 0xAE84, 0xCE07, - 0xAE85, 0xCE09, 0xAE86, 0xCE0A, 0xAE87, 0xCE0B, 0xAE88, 0xCE0D, 0xAE89, 0xCE0E, 0xAE8A, 0xCE0F, 0xAE8B, 0xCE10, 0xAE8C, 0xCE11, - 0xAE8D, 0xCE12, 0xAE8E, 0xCE13, 0xAE8F, 0xCE15, 0xAE90, 0xCE16, 0xAE91, 0xCE17, 0xAE92, 0xCE18, 0xAE93, 0xCE1A, 0xAE94, 0xCE1B, - 0xAE95, 0xCE1C, 0xAE96, 0xCE1D, 0xAE97, 0xCE1E, 0xAE98, 0xCE1F, 0xAE99, 0xCE22, 0xAE9A, 0xCE23, 0xAE9B, 0xCE25, 0xAE9C, 0xCE26, - 0xAE9D, 0xCE27, 0xAE9E, 0xCE29, 0xAE9F, 0xCE2A, 0xAEA0, 0xCE2B, 0xAF41, 0xCE2C, 0xAF42, 0xCE2D, 0xAF43, 0xCE2E, 0xAF44, 0xCE2F, - 0xAF45, 0xCE32, 0xAF46, 0xCE34, 0xAF47, 0xCE36, 0xAF48, 0xCE37, 0xAF49, 0xCE38, 0xAF4A, 0xCE39, 0xAF4B, 0xCE3A, 0xAF4C, 0xCE3B, - 0xAF4D, 0xCE3C, 0xAF4E, 0xCE3D, 0xAF4F, 0xCE3E, 0xAF50, 0xCE3F, 0xAF51, 0xCE40, 0xAF52, 0xCE41, 0xAF53, 0xCE42, 0xAF54, 0xCE43, - 0xAF55, 0xCE44, 0xAF56, 0xCE45, 0xAF57, 0xCE46, 0xAF58, 0xCE47, 0xAF59, 0xCE48, 0xAF5A, 0xCE49, 0xAF61, 0xCE4A, 0xAF62, 0xCE4B, - 0xAF63, 0xCE4C, 0xAF64, 0xCE4D, 0xAF65, 0xCE4E, 0xAF66, 0xCE4F, 0xAF67, 0xCE50, 0xAF68, 0xCE51, 0xAF69, 0xCE52, 0xAF6A, 0xCE53, - 0xAF6B, 0xCE54, 0xAF6C, 0xCE55, 0xAF6D, 0xCE56, 0xAF6E, 0xCE57, 0xAF6F, 0xCE5A, 0xAF70, 0xCE5B, 0xAF71, 0xCE5D, 0xAF72, 0xCE5E, - 0xAF73, 0xCE62, 0xAF74, 0xCE63, 0xAF75, 0xCE64, 0xAF76, 0xCE65, 0xAF77, 0xCE66, 0xAF78, 0xCE67, 0xAF79, 0xCE6A, 0xAF7A, 0xCE6C, - 0xAF81, 0xCE6E, 0xAF82, 0xCE6F, 0xAF83, 0xCE70, 0xAF84, 0xCE71, 0xAF85, 0xCE72, 0xAF86, 0xCE73, 0xAF87, 0xCE76, 0xAF88, 0xCE77, - 0xAF89, 0xCE79, 0xAF8A, 0xCE7A, 0xAF8B, 0xCE7B, 0xAF8C, 0xCE7D, 0xAF8D, 0xCE7E, 0xAF8E, 0xCE7F, 0xAF8F, 0xCE80, 0xAF90, 0xCE81, - 0xAF91, 0xCE82, 0xAF92, 0xCE83, 0xAF93, 0xCE86, 0xAF94, 0xCE88, 0xAF95, 0xCE8A, 0xAF96, 0xCE8B, 0xAF97, 0xCE8C, 0xAF98, 0xCE8D, - 0xAF99, 0xCE8E, 0xAF9A, 0xCE8F, 0xAF9B, 0xCE92, 0xAF9C, 0xCE93, 0xAF9D, 0xCE95, 0xAF9E, 0xCE96, 0xAF9F, 0xCE97, 0xAFA0, 0xCE99, - 0xB041, 0xCE9A, 0xB042, 0xCE9B, 0xB043, 0xCE9C, 0xB044, 0xCE9D, 0xB045, 0xCE9E, 0xB046, 0xCE9F, 0xB047, 0xCEA2, 0xB048, 0xCEA6, - 0xB049, 0xCEA7, 0xB04A, 0xCEA8, 0xB04B, 0xCEA9, 0xB04C, 0xCEAA, 0xB04D, 0xCEAB, 0xB04E, 0xCEAE, 0xB04F, 0xCEAF, 0xB050, 0xCEB0, - 0xB051, 0xCEB1, 0xB052, 0xCEB2, 0xB053, 0xCEB3, 0xB054, 0xCEB4, 0xB055, 0xCEB5, 0xB056, 0xCEB6, 0xB057, 0xCEB7, 0xB058, 0xCEB8, - 0xB059, 0xCEB9, 0xB05A, 0xCEBA, 0xB061, 0xCEBB, 0xB062, 0xCEBC, 0xB063, 0xCEBD, 0xB064, 0xCEBE, 0xB065, 0xCEBF, 0xB066, 0xCEC0, - 0xB067, 0xCEC2, 0xB068, 0xCEC3, 0xB069, 0xCEC4, 0xB06A, 0xCEC5, 0xB06B, 0xCEC6, 0xB06C, 0xCEC7, 0xB06D, 0xCEC8, 0xB06E, 0xCEC9, - 0xB06F, 0xCECA, 0xB070, 0xCECB, 0xB071, 0xCECC, 0xB072, 0xCECD, 0xB073, 0xCECE, 0xB074, 0xCECF, 0xB075, 0xCED0, 0xB076, 0xCED1, - 0xB077, 0xCED2, 0xB078, 0xCED3, 0xB079, 0xCED4, 0xB07A, 0xCED5, 0xB081, 0xCED6, 0xB082, 0xCED7, 0xB083, 0xCED8, 0xB084, 0xCED9, - 0xB085, 0xCEDA, 0xB086, 0xCEDB, 0xB087, 0xCEDC, 0xB088, 0xCEDD, 0xB089, 0xCEDE, 0xB08A, 0xCEDF, 0xB08B, 0xCEE0, 0xB08C, 0xCEE1, - 0xB08D, 0xCEE2, 0xB08E, 0xCEE3, 0xB08F, 0xCEE6, 0xB090, 0xCEE7, 0xB091, 0xCEE9, 0xB092, 0xCEEA, 0xB093, 0xCEED, 0xB094, 0xCEEE, - 0xB095, 0xCEEF, 0xB096, 0xCEF0, 0xB097, 0xCEF1, 0xB098, 0xCEF2, 0xB099, 0xCEF3, 0xB09A, 0xCEF6, 0xB09B, 0xCEFA, 0xB09C, 0xCEFB, - 0xB09D, 0xCEFC, 0xB09E, 0xCEFD, 0xB09F, 0xCEFE, 0xB0A0, 0xCEFF, 0xB0A1, 0xAC00, 0xB0A2, 0xAC01, 0xB0A3, 0xAC04, 0xB0A4, 0xAC07, - 0xB0A5, 0xAC08, 0xB0A6, 0xAC09, 0xB0A7, 0xAC0A, 0xB0A8, 0xAC10, 0xB0A9, 0xAC11, 0xB0AA, 0xAC12, 0xB0AB, 0xAC13, 0xB0AC, 0xAC14, - 0xB0AD, 0xAC15, 0xB0AE, 0xAC16, 0xB0AF, 0xAC17, 0xB0B0, 0xAC19, 0xB0B1, 0xAC1A, 0xB0B2, 0xAC1B, 0xB0B3, 0xAC1C, 0xB0B4, 0xAC1D, - 0xB0B5, 0xAC20, 0xB0B6, 0xAC24, 0xB0B7, 0xAC2C, 0xB0B8, 0xAC2D, 0xB0B9, 0xAC2F, 0xB0BA, 0xAC30, 0xB0BB, 0xAC31, 0xB0BC, 0xAC38, - 0xB0BD, 0xAC39, 0xB0BE, 0xAC3C, 0xB0BF, 0xAC40, 0xB0C0, 0xAC4B, 0xB0C1, 0xAC4D, 0xB0C2, 0xAC54, 0xB0C3, 0xAC58, 0xB0C4, 0xAC5C, - 0xB0C5, 0xAC70, 0xB0C6, 0xAC71, 0xB0C7, 0xAC74, 0xB0C8, 0xAC77, 0xB0C9, 0xAC78, 0xB0CA, 0xAC7A, 0xB0CB, 0xAC80, 0xB0CC, 0xAC81, - 0xB0CD, 0xAC83, 0xB0CE, 0xAC84, 0xB0CF, 0xAC85, 0xB0D0, 0xAC86, 0xB0D1, 0xAC89, 0xB0D2, 0xAC8A, 0xB0D3, 0xAC8B, 0xB0D4, 0xAC8C, - 0xB0D5, 0xAC90, 0xB0D6, 0xAC94, 0xB0D7, 0xAC9C, 0xB0D8, 0xAC9D, 0xB0D9, 0xAC9F, 0xB0DA, 0xACA0, 0xB0DB, 0xACA1, 0xB0DC, 0xACA8, - 0xB0DD, 0xACA9, 0xB0DE, 0xACAA, 0xB0DF, 0xACAC, 0xB0E0, 0xACAF, 0xB0E1, 0xACB0, 0xB0E2, 0xACB8, 0xB0E3, 0xACB9, 0xB0E4, 0xACBB, - 0xB0E5, 0xACBC, 0xB0E6, 0xACBD, 0xB0E7, 0xACC1, 0xB0E8, 0xACC4, 0xB0E9, 0xACC8, 0xB0EA, 0xACCC, 0xB0EB, 0xACD5, 0xB0EC, 0xACD7, - 0xB0ED, 0xACE0, 0xB0EE, 0xACE1, 0xB0EF, 0xACE4, 0xB0F0, 0xACE7, 0xB0F1, 0xACE8, 0xB0F2, 0xACEA, 0xB0F3, 0xACEC, 0xB0F4, 0xACEF, - 0xB0F5, 0xACF0, 0xB0F6, 0xACF1, 0xB0F7, 0xACF3, 0xB0F8, 0xACF5, 0xB0F9, 0xACF6, 0xB0FA, 0xACFC, 0xB0FB, 0xACFD, 0xB0FC, 0xAD00, - 0xB0FD, 0xAD04, 0xB0FE, 0xAD06, 0xB141, 0xCF02, 0xB142, 0xCF03, 0xB143, 0xCF05, 0xB144, 0xCF06, 0xB145, 0xCF07, 0xB146, 0xCF09, - 0xB147, 0xCF0A, 0xB148, 0xCF0B, 0xB149, 0xCF0C, 0xB14A, 0xCF0D, 0xB14B, 0xCF0E, 0xB14C, 0xCF0F, 0xB14D, 0xCF12, 0xB14E, 0xCF14, - 0xB14F, 0xCF16, 0xB150, 0xCF17, 0xB151, 0xCF18, 0xB152, 0xCF19, 0xB153, 0xCF1A, 0xB154, 0xCF1B, 0xB155, 0xCF1D, 0xB156, 0xCF1E, - 0xB157, 0xCF1F, 0xB158, 0xCF21, 0xB159, 0xCF22, 0xB15A, 0xCF23, 0xB161, 0xCF25, 0xB162, 0xCF26, 0xB163, 0xCF27, 0xB164, 0xCF28, - 0xB165, 0xCF29, 0xB166, 0xCF2A, 0xB167, 0xCF2B, 0xB168, 0xCF2E, 0xB169, 0xCF32, 0xB16A, 0xCF33, 0xB16B, 0xCF34, 0xB16C, 0xCF35, - 0xB16D, 0xCF36, 0xB16E, 0xCF37, 0xB16F, 0xCF39, 0xB170, 0xCF3A, 0xB171, 0xCF3B, 0xB172, 0xCF3C, 0xB173, 0xCF3D, 0xB174, 0xCF3E, - 0xB175, 0xCF3F, 0xB176, 0xCF40, 0xB177, 0xCF41, 0xB178, 0xCF42, 0xB179, 0xCF43, 0xB17A, 0xCF44, 0xB181, 0xCF45, 0xB182, 0xCF46, - 0xB183, 0xCF47, 0xB184, 0xCF48, 0xB185, 0xCF49, 0xB186, 0xCF4A, 0xB187, 0xCF4B, 0xB188, 0xCF4C, 0xB189, 0xCF4D, 0xB18A, 0xCF4E, - 0xB18B, 0xCF4F, 0xB18C, 0xCF50, 0xB18D, 0xCF51, 0xB18E, 0xCF52, 0xB18F, 0xCF53, 0xB190, 0xCF56, 0xB191, 0xCF57, 0xB192, 0xCF59, - 0xB193, 0xCF5A, 0xB194, 0xCF5B, 0xB195, 0xCF5D, 0xB196, 0xCF5E, 0xB197, 0xCF5F, 0xB198, 0xCF60, 0xB199, 0xCF61, 0xB19A, 0xCF62, - 0xB19B, 0xCF63, 0xB19C, 0xCF66, 0xB19D, 0xCF68, 0xB19E, 0xCF6A, 0xB19F, 0xCF6B, 0xB1A0, 0xCF6C, 0xB1A1, 0xAD0C, 0xB1A2, 0xAD0D, - 0xB1A3, 0xAD0F, 0xB1A4, 0xAD11, 0xB1A5, 0xAD18, 0xB1A6, 0xAD1C, 0xB1A7, 0xAD20, 0xB1A8, 0xAD29, 0xB1A9, 0xAD2C, 0xB1AA, 0xAD2D, - 0xB1AB, 0xAD34, 0xB1AC, 0xAD35, 0xB1AD, 0xAD38, 0xB1AE, 0xAD3C, 0xB1AF, 0xAD44, 0xB1B0, 0xAD45, 0xB1B1, 0xAD47, 0xB1B2, 0xAD49, - 0xB1B3, 0xAD50, 0xB1B4, 0xAD54, 0xB1B5, 0xAD58, 0xB1B6, 0xAD61, 0xB1B7, 0xAD63, 0xB1B8, 0xAD6C, 0xB1B9, 0xAD6D, 0xB1BA, 0xAD70, - 0xB1BB, 0xAD73, 0xB1BC, 0xAD74, 0xB1BD, 0xAD75, 0xB1BE, 0xAD76, 0xB1BF, 0xAD7B, 0xB1C0, 0xAD7C, 0xB1C1, 0xAD7D, 0xB1C2, 0xAD7F, - 0xB1C3, 0xAD81, 0xB1C4, 0xAD82, 0xB1C5, 0xAD88, 0xB1C6, 0xAD89, 0xB1C7, 0xAD8C, 0xB1C8, 0xAD90, 0xB1C9, 0xAD9C, 0xB1CA, 0xAD9D, - 0xB1CB, 0xADA4, 0xB1CC, 0xADB7, 0xB1CD, 0xADC0, 0xB1CE, 0xADC1, 0xB1CF, 0xADC4, 0xB1D0, 0xADC8, 0xB1D1, 0xADD0, 0xB1D2, 0xADD1, - 0xB1D3, 0xADD3, 0xB1D4, 0xADDC, 0xB1D5, 0xADE0, 0xB1D6, 0xADE4, 0xB1D7, 0xADF8, 0xB1D8, 0xADF9, 0xB1D9, 0xADFC, 0xB1DA, 0xADFF, - 0xB1DB, 0xAE00, 0xB1DC, 0xAE01, 0xB1DD, 0xAE08, 0xB1DE, 0xAE09, 0xB1DF, 0xAE0B, 0xB1E0, 0xAE0D, 0xB1E1, 0xAE14, 0xB1E2, 0xAE30, - 0xB1E3, 0xAE31, 0xB1E4, 0xAE34, 0xB1E5, 0xAE37, 0xB1E6, 0xAE38, 0xB1E7, 0xAE3A, 0xB1E8, 0xAE40, 0xB1E9, 0xAE41, 0xB1EA, 0xAE43, - 0xB1EB, 0xAE45, 0xB1EC, 0xAE46, 0xB1ED, 0xAE4A, 0xB1EE, 0xAE4C, 0xB1EF, 0xAE4D, 0xB1F0, 0xAE4E, 0xB1F1, 0xAE50, 0xB1F2, 0xAE54, - 0xB1F3, 0xAE56, 0xB1F4, 0xAE5C, 0xB1F5, 0xAE5D, 0xB1F6, 0xAE5F, 0xB1F7, 0xAE60, 0xB1F8, 0xAE61, 0xB1F9, 0xAE65, 0xB1FA, 0xAE68, - 0xB1FB, 0xAE69, 0xB1FC, 0xAE6C, 0xB1FD, 0xAE70, 0xB1FE, 0xAE78, 0xB241, 0xCF6D, 0xB242, 0xCF6E, 0xB243, 0xCF6F, 0xB244, 0xCF72, - 0xB245, 0xCF73, 0xB246, 0xCF75, 0xB247, 0xCF76, 0xB248, 0xCF77, 0xB249, 0xCF79, 0xB24A, 0xCF7A, 0xB24B, 0xCF7B, 0xB24C, 0xCF7C, - 0xB24D, 0xCF7D, 0xB24E, 0xCF7E, 0xB24F, 0xCF7F, 0xB250, 0xCF81, 0xB251, 0xCF82, 0xB252, 0xCF83, 0xB253, 0xCF84, 0xB254, 0xCF86, - 0xB255, 0xCF87, 0xB256, 0xCF88, 0xB257, 0xCF89, 0xB258, 0xCF8A, 0xB259, 0xCF8B, 0xB25A, 0xCF8D, 0xB261, 0xCF8E, 0xB262, 0xCF8F, - 0xB263, 0xCF90, 0xB264, 0xCF91, 0xB265, 0xCF92, 0xB266, 0xCF93, 0xB267, 0xCF94, 0xB268, 0xCF95, 0xB269, 0xCF96, 0xB26A, 0xCF97, - 0xB26B, 0xCF98, 0xB26C, 0xCF99, 0xB26D, 0xCF9A, 0xB26E, 0xCF9B, 0xB26F, 0xCF9C, 0xB270, 0xCF9D, 0xB271, 0xCF9E, 0xB272, 0xCF9F, - 0xB273, 0xCFA0, 0xB274, 0xCFA2, 0xB275, 0xCFA3, 0xB276, 0xCFA4, 0xB277, 0xCFA5, 0xB278, 0xCFA6, 0xB279, 0xCFA7, 0xB27A, 0xCFA9, - 0xB281, 0xCFAA, 0xB282, 0xCFAB, 0xB283, 0xCFAC, 0xB284, 0xCFAD, 0xB285, 0xCFAE, 0xB286, 0xCFAF, 0xB287, 0xCFB1, 0xB288, 0xCFB2, - 0xB289, 0xCFB3, 0xB28A, 0xCFB4, 0xB28B, 0xCFB5, 0xB28C, 0xCFB6, 0xB28D, 0xCFB7, 0xB28E, 0xCFB8, 0xB28F, 0xCFB9, 0xB290, 0xCFBA, - 0xB291, 0xCFBB, 0xB292, 0xCFBC, 0xB293, 0xCFBD, 0xB294, 0xCFBE, 0xB295, 0xCFBF, 0xB296, 0xCFC0, 0xB297, 0xCFC1, 0xB298, 0xCFC2, - 0xB299, 0xCFC3, 0xB29A, 0xCFC5, 0xB29B, 0xCFC6, 0xB29C, 0xCFC7, 0xB29D, 0xCFC8, 0xB29E, 0xCFC9, 0xB29F, 0xCFCA, 0xB2A0, 0xCFCB, - 0xB2A1, 0xAE79, 0xB2A2, 0xAE7B, 0xB2A3, 0xAE7C, 0xB2A4, 0xAE7D, 0xB2A5, 0xAE84, 0xB2A6, 0xAE85, 0xB2A7, 0xAE8C, 0xB2A8, 0xAEBC, - 0xB2A9, 0xAEBD, 0xB2AA, 0xAEBE, 0xB2AB, 0xAEC0, 0xB2AC, 0xAEC4, 0xB2AD, 0xAECC, 0xB2AE, 0xAECD, 0xB2AF, 0xAECF, 0xB2B0, 0xAED0, - 0xB2B1, 0xAED1, 0xB2B2, 0xAED8, 0xB2B3, 0xAED9, 0xB2B4, 0xAEDC, 0xB2B5, 0xAEE8, 0xB2B6, 0xAEEB, 0xB2B7, 0xAEED, 0xB2B8, 0xAEF4, - 0xB2B9, 0xAEF8, 0xB2BA, 0xAEFC, 0xB2BB, 0xAF07, 0xB2BC, 0xAF08, 0xB2BD, 0xAF0D, 0xB2BE, 0xAF10, 0xB2BF, 0xAF2C, 0xB2C0, 0xAF2D, - 0xB2C1, 0xAF30, 0xB2C2, 0xAF32, 0xB2C3, 0xAF34, 0xB2C4, 0xAF3C, 0xB2C5, 0xAF3D, 0xB2C6, 0xAF3F, 0xB2C7, 0xAF41, 0xB2C8, 0xAF42, - 0xB2C9, 0xAF43, 0xB2CA, 0xAF48, 0xB2CB, 0xAF49, 0xB2CC, 0xAF50, 0xB2CD, 0xAF5C, 0xB2CE, 0xAF5D, 0xB2CF, 0xAF64, 0xB2D0, 0xAF65, - 0xB2D1, 0xAF79, 0xB2D2, 0xAF80, 0xB2D3, 0xAF84, 0xB2D4, 0xAF88, 0xB2D5, 0xAF90, 0xB2D6, 0xAF91, 0xB2D7, 0xAF95, 0xB2D8, 0xAF9C, - 0xB2D9, 0xAFB8, 0xB2DA, 0xAFB9, 0xB2DB, 0xAFBC, 0xB2DC, 0xAFC0, 0xB2DD, 0xAFC7, 0xB2DE, 0xAFC8, 0xB2DF, 0xAFC9, 0xB2E0, 0xAFCB, - 0xB2E1, 0xAFCD, 0xB2E2, 0xAFCE, 0xB2E3, 0xAFD4, 0xB2E4, 0xAFDC, 0xB2E5, 0xAFE8, 0xB2E6, 0xAFE9, 0xB2E7, 0xAFF0, 0xB2E8, 0xAFF1, - 0xB2E9, 0xAFF4, 0xB2EA, 0xAFF8, 0xB2EB, 0xB000, 0xB2EC, 0xB001, 0xB2ED, 0xB004, 0xB2EE, 0xB00C, 0xB2EF, 0xB010, 0xB2F0, 0xB014, - 0xB2F1, 0xB01C, 0xB2F2, 0xB01D, 0xB2F3, 0xB028, 0xB2F4, 0xB044, 0xB2F5, 0xB045, 0xB2F6, 0xB048, 0xB2F7, 0xB04A, 0xB2F8, 0xB04C, - 0xB2F9, 0xB04E, 0xB2FA, 0xB053, 0xB2FB, 0xB054, 0xB2FC, 0xB055, 0xB2FD, 0xB057, 0xB2FE, 0xB059, 0xB341, 0xCFCC, 0xB342, 0xCFCD, - 0xB343, 0xCFCE, 0xB344, 0xCFCF, 0xB345, 0xCFD0, 0xB346, 0xCFD1, 0xB347, 0xCFD2, 0xB348, 0xCFD3, 0xB349, 0xCFD4, 0xB34A, 0xCFD5, - 0xB34B, 0xCFD6, 0xB34C, 0xCFD7, 0xB34D, 0xCFD8, 0xB34E, 0xCFD9, 0xB34F, 0xCFDA, 0xB350, 0xCFDB, 0xB351, 0xCFDC, 0xB352, 0xCFDD, - 0xB353, 0xCFDE, 0xB354, 0xCFDF, 0xB355, 0xCFE2, 0xB356, 0xCFE3, 0xB357, 0xCFE5, 0xB358, 0xCFE6, 0xB359, 0xCFE7, 0xB35A, 0xCFE9, - 0xB361, 0xCFEA, 0xB362, 0xCFEB, 0xB363, 0xCFEC, 0xB364, 0xCFED, 0xB365, 0xCFEE, 0xB366, 0xCFEF, 0xB367, 0xCFF2, 0xB368, 0xCFF4, - 0xB369, 0xCFF6, 0xB36A, 0xCFF7, 0xB36B, 0xCFF8, 0xB36C, 0xCFF9, 0xB36D, 0xCFFA, 0xB36E, 0xCFFB, 0xB36F, 0xCFFD, 0xB370, 0xCFFE, - 0xB371, 0xCFFF, 0xB372, 0xD001, 0xB373, 0xD002, 0xB374, 0xD003, 0xB375, 0xD005, 0xB376, 0xD006, 0xB377, 0xD007, 0xB378, 0xD008, - 0xB379, 0xD009, 0xB37A, 0xD00A, 0xB381, 0xD00B, 0xB382, 0xD00C, 0xB383, 0xD00D, 0xB384, 0xD00E, 0xB385, 0xD00F, 0xB386, 0xD010, - 0xB387, 0xD012, 0xB388, 0xD013, 0xB389, 0xD014, 0xB38A, 0xD015, 0xB38B, 0xD016, 0xB38C, 0xD017, 0xB38D, 0xD019, 0xB38E, 0xD01A, - 0xB38F, 0xD01B, 0xB390, 0xD01C, 0xB391, 0xD01D, 0xB392, 0xD01E, 0xB393, 0xD01F, 0xB394, 0xD020, 0xB395, 0xD021, 0xB396, 0xD022, - 0xB397, 0xD023, 0xB398, 0xD024, 0xB399, 0xD025, 0xB39A, 0xD026, 0xB39B, 0xD027, 0xB39C, 0xD028, 0xB39D, 0xD029, 0xB39E, 0xD02A, - 0xB39F, 0xD02B, 0xB3A0, 0xD02C, 0xB3A1, 0xB05D, 0xB3A2, 0xB07C, 0xB3A3, 0xB07D, 0xB3A4, 0xB080, 0xB3A5, 0xB084, 0xB3A6, 0xB08C, - 0xB3A7, 0xB08D, 0xB3A8, 0xB08F, 0xB3A9, 0xB091, 0xB3AA, 0xB098, 0xB3AB, 0xB099, 0xB3AC, 0xB09A, 0xB3AD, 0xB09C, 0xB3AE, 0xB09F, - 0xB3AF, 0xB0A0, 0xB3B0, 0xB0A1, 0xB3B1, 0xB0A2, 0xB3B2, 0xB0A8, 0xB3B3, 0xB0A9, 0xB3B4, 0xB0AB, 0xB3B5, 0xB0AC, 0xB3B6, 0xB0AD, - 0xB3B7, 0xB0AE, 0xB3B8, 0xB0AF, 0xB3B9, 0xB0B1, 0xB3BA, 0xB0B3, 0xB3BB, 0xB0B4, 0xB3BC, 0xB0B5, 0xB3BD, 0xB0B8, 0xB3BE, 0xB0BC, - 0xB3BF, 0xB0C4, 0xB3C0, 0xB0C5, 0xB3C1, 0xB0C7, 0xB3C2, 0xB0C8, 0xB3C3, 0xB0C9, 0xB3C4, 0xB0D0, 0xB3C5, 0xB0D1, 0xB3C6, 0xB0D4, - 0xB3C7, 0xB0D8, 0xB3C8, 0xB0E0, 0xB3C9, 0xB0E5, 0xB3CA, 0xB108, 0xB3CB, 0xB109, 0xB3CC, 0xB10B, 0xB3CD, 0xB10C, 0xB3CE, 0xB110, - 0xB3CF, 0xB112, 0xB3D0, 0xB113, 0xB3D1, 0xB118, 0xB3D2, 0xB119, 0xB3D3, 0xB11B, 0xB3D4, 0xB11C, 0xB3D5, 0xB11D, 0xB3D6, 0xB123, - 0xB3D7, 0xB124, 0xB3D8, 0xB125, 0xB3D9, 0xB128, 0xB3DA, 0xB12C, 0xB3DB, 0xB134, 0xB3DC, 0xB135, 0xB3DD, 0xB137, 0xB3DE, 0xB138, - 0xB3DF, 0xB139, 0xB3E0, 0xB140, 0xB3E1, 0xB141, 0xB3E2, 0xB144, 0xB3E3, 0xB148, 0xB3E4, 0xB150, 0xB3E5, 0xB151, 0xB3E6, 0xB154, - 0xB3E7, 0xB155, 0xB3E8, 0xB158, 0xB3E9, 0xB15C, 0xB3EA, 0xB160, 0xB3EB, 0xB178, 0xB3EC, 0xB179, 0xB3ED, 0xB17C, 0xB3EE, 0xB180, - 0xB3EF, 0xB182, 0xB3F0, 0xB188, 0xB3F1, 0xB189, 0xB3F2, 0xB18B, 0xB3F3, 0xB18D, 0xB3F4, 0xB192, 0xB3F5, 0xB193, 0xB3F6, 0xB194, - 0xB3F7, 0xB198, 0xB3F8, 0xB19C, 0xB3F9, 0xB1A8, 0xB3FA, 0xB1CC, 0xB3FB, 0xB1D0, 0xB3FC, 0xB1D4, 0xB3FD, 0xB1DC, 0xB3FE, 0xB1DD, - 0xB441, 0xD02E, 0xB442, 0xD02F, 0xB443, 0xD030, 0xB444, 0xD031, 0xB445, 0xD032, 0xB446, 0xD033, 0xB447, 0xD036, 0xB448, 0xD037, - 0xB449, 0xD039, 0xB44A, 0xD03A, 0xB44B, 0xD03B, 0xB44C, 0xD03D, 0xB44D, 0xD03E, 0xB44E, 0xD03F, 0xB44F, 0xD040, 0xB450, 0xD041, - 0xB451, 0xD042, 0xB452, 0xD043, 0xB453, 0xD046, 0xB454, 0xD048, 0xB455, 0xD04A, 0xB456, 0xD04B, 0xB457, 0xD04C, 0xB458, 0xD04D, - 0xB459, 0xD04E, 0xB45A, 0xD04F, 0xB461, 0xD051, 0xB462, 0xD052, 0xB463, 0xD053, 0xB464, 0xD055, 0xB465, 0xD056, 0xB466, 0xD057, - 0xB467, 0xD059, 0xB468, 0xD05A, 0xB469, 0xD05B, 0xB46A, 0xD05C, 0xB46B, 0xD05D, 0xB46C, 0xD05E, 0xB46D, 0xD05F, 0xB46E, 0xD061, - 0xB46F, 0xD062, 0xB470, 0xD063, 0xB471, 0xD064, 0xB472, 0xD065, 0xB473, 0xD066, 0xB474, 0xD067, 0xB475, 0xD068, 0xB476, 0xD069, - 0xB477, 0xD06A, 0xB478, 0xD06B, 0xB479, 0xD06E, 0xB47A, 0xD06F, 0xB481, 0xD071, 0xB482, 0xD072, 0xB483, 0xD073, 0xB484, 0xD075, - 0xB485, 0xD076, 0xB486, 0xD077, 0xB487, 0xD078, 0xB488, 0xD079, 0xB489, 0xD07A, 0xB48A, 0xD07B, 0xB48B, 0xD07E, 0xB48C, 0xD07F, - 0xB48D, 0xD080, 0xB48E, 0xD082, 0xB48F, 0xD083, 0xB490, 0xD084, 0xB491, 0xD085, 0xB492, 0xD086, 0xB493, 0xD087, 0xB494, 0xD088, - 0xB495, 0xD089, 0xB496, 0xD08A, 0xB497, 0xD08B, 0xB498, 0xD08C, 0xB499, 0xD08D, 0xB49A, 0xD08E, 0xB49B, 0xD08F, 0xB49C, 0xD090, - 0xB49D, 0xD091, 0xB49E, 0xD092, 0xB49F, 0xD093, 0xB4A0, 0xD094, 0xB4A1, 0xB1DF, 0xB4A2, 0xB1E8, 0xB4A3, 0xB1E9, 0xB4A4, 0xB1EC, - 0xB4A5, 0xB1F0, 0xB4A6, 0xB1F9, 0xB4A7, 0xB1FB, 0xB4A8, 0xB1FD, 0xB4A9, 0xB204, 0xB4AA, 0xB205, 0xB4AB, 0xB208, 0xB4AC, 0xB20B, - 0xB4AD, 0xB20C, 0xB4AE, 0xB214, 0xB4AF, 0xB215, 0xB4B0, 0xB217, 0xB4B1, 0xB219, 0xB4B2, 0xB220, 0xB4B3, 0xB234, 0xB4B4, 0xB23C, - 0xB4B5, 0xB258, 0xB4B6, 0xB25C, 0xB4B7, 0xB260, 0xB4B8, 0xB268, 0xB4B9, 0xB269, 0xB4BA, 0xB274, 0xB4BB, 0xB275, 0xB4BC, 0xB27C, - 0xB4BD, 0xB284, 0xB4BE, 0xB285, 0xB4BF, 0xB289, 0xB4C0, 0xB290, 0xB4C1, 0xB291, 0xB4C2, 0xB294, 0xB4C3, 0xB298, 0xB4C4, 0xB299, - 0xB4C5, 0xB29A, 0xB4C6, 0xB2A0, 0xB4C7, 0xB2A1, 0xB4C8, 0xB2A3, 0xB4C9, 0xB2A5, 0xB4CA, 0xB2A6, 0xB4CB, 0xB2AA, 0xB4CC, 0xB2AC, - 0xB4CD, 0xB2B0, 0xB4CE, 0xB2B4, 0xB4CF, 0xB2C8, 0xB4D0, 0xB2C9, 0xB4D1, 0xB2CC, 0xB4D2, 0xB2D0, 0xB4D3, 0xB2D2, 0xB4D4, 0xB2D8, - 0xB4D5, 0xB2D9, 0xB4D6, 0xB2DB, 0xB4D7, 0xB2DD, 0xB4D8, 0xB2E2, 0xB4D9, 0xB2E4, 0xB4DA, 0xB2E5, 0xB4DB, 0xB2E6, 0xB4DC, 0xB2E8, - 0xB4DD, 0xB2EB, 0xB4DE, 0xB2EC, 0xB4DF, 0xB2ED, 0xB4E0, 0xB2EE, 0xB4E1, 0xB2EF, 0xB4E2, 0xB2F3, 0xB4E3, 0xB2F4, 0xB4E4, 0xB2F5, - 0xB4E5, 0xB2F7, 0xB4E6, 0xB2F8, 0xB4E7, 0xB2F9, 0xB4E8, 0xB2FA, 0xB4E9, 0xB2FB, 0xB4EA, 0xB2FF, 0xB4EB, 0xB300, 0xB4EC, 0xB301, - 0xB4ED, 0xB304, 0xB4EE, 0xB308, 0xB4EF, 0xB310, 0xB4F0, 0xB311, 0xB4F1, 0xB313, 0xB4F2, 0xB314, 0xB4F3, 0xB315, 0xB4F4, 0xB31C, - 0xB4F5, 0xB354, 0xB4F6, 0xB355, 0xB4F7, 0xB356, 0xB4F8, 0xB358, 0xB4F9, 0xB35B, 0xB4FA, 0xB35C, 0xB4FB, 0xB35E, 0xB4FC, 0xB35F, - 0xB4FD, 0xB364, 0xB4FE, 0xB365, 0xB541, 0xD095, 0xB542, 0xD096, 0xB543, 0xD097, 0xB544, 0xD098, 0xB545, 0xD099, 0xB546, 0xD09A, - 0xB547, 0xD09B, 0xB548, 0xD09C, 0xB549, 0xD09D, 0xB54A, 0xD09E, 0xB54B, 0xD09F, 0xB54C, 0xD0A0, 0xB54D, 0xD0A1, 0xB54E, 0xD0A2, - 0xB54F, 0xD0A3, 0xB550, 0xD0A6, 0xB551, 0xD0A7, 0xB552, 0xD0A9, 0xB553, 0xD0AA, 0xB554, 0xD0AB, 0xB555, 0xD0AD, 0xB556, 0xD0AE, - 0xB557, 0xD0AF, 0xB558, 0xD0B0, 0xB559, 0xD0B1, 0xB55A, 0xD0B2, 0xB561, 0xD0B3, 0xB562, 0xD0B6, 0xB563, 0xD0B8, 0xB564, 0xD0BA, - 0xB565, 0xD0BB, 0xB566, 0xD0BC, 0xB567, 0xD0BD, 0xB568, 0xD0BE, 0xB569, 0xD0BF, 0xB56A, 0xD0C2, 0xB56B, 0xD0C3, 0xB56C, 0xD0C5, - 0xB56D, 0xD0C6, 0xB56E, 0xD0C7, 0xB56F, 0xD0CA, 0xB570, 0xD0CB, 0xB571, 0xD0CC, 0xB572, 0xD0CD, 0xB573, 0xD0CE, 0xB574, 0xD0CF, - 0xB575, 0xD0D2, 0xB576, 0xD0D6, 0xB577, 0xD0D7, 0xB578, 0xD0D8, 0xB579, 0xD0D9, 0xB57A, 0xD0DA, 0xB581, 0xD0DB, 0xB582, 0xD0DE, - 0xB583, 0xD0DF, 0xB584, 0xD0E1, 0xB585, 0xD0E2, 0xB586, 0xD0E3, 0xB587, 0xD0E5, 0xB588, 0xD0E6, 0xB589, 0xD0E7, 0xB58A, 0xD0E8, - 0xB58B, 0xD0E9, 0xB58C, 0xD0EA, 0xB58D, 0xD0EB, 0xB58E, 0xD0EE, 0xB58F, 0xD0F2, 0xB590, 0xD0F3, 0xB591, 0xD0F4, 0xB592, 0xD0F5, - 0xB593, 0xD0F6, 0xB594, 0xD0F7, 0xB595, 0xD0F9, 0xB596, 0xD0FA, 0xB597, 0xD0FB, 0xB598, 0xD0FC, 0xB599, 0xD0FD, 0xB59A, 0xD0FE, - 0xB59B, 0xD0FF, 0xB59C, 0xD100, 0xB59D, 0xD101, 0xB59E, 0xD102, 0xB59F, 0xD103, 0xB5A0, 0xD104, 0xB5A1, 0xB367, 0xB5A2, 0xB369, - 0xB5A3, 0xB36B, 0xB5A4, 0xB36E, 0xB5A5, 0xB370, 0xB5A6, 0xB371, 0xB5A7, 0xB374, 0xB5A8, 0xB378, 0xB5A9, 0xB380, 0xB5AA, 0xB381, - 0xB5AB, 0xB383, 0xB5AC, 0xB384, 0xB5AD, 0xB385, 0xB5AE, 0xB38C, 0xB5AF, 0xB390, 0xB5B0, 0xB394, 0xB5B1, 0xB3A0, 0xB5B2, 0xB3A1, - 0xB5B3, 0xB3A8, 0xB5B4, 0xB3AC, 0xB5B5, 0xB3C4, 0xB5B6, 0xB3C5, 0xB5B7, 0xB3C8, 0xB5B8, 0xB3CB, 0xB5B9, 0xB3CC, 0xB5BA, 0xB3CE, - 0xB5BB, 0xB3D0, 0xB5BC, 0xB3D4, 0xB5BD, 0xB3D5, 0xB5BE, 0xB3D7, 0xB5BF, 0xB3D9, 0xB5C0, 0xB3DB, 0xB5C1, 0xB3DD, 0xB5C2, 0xB3E0, - 0xB5C3, 0xB3E4, 0xB5C4, 0xB3E8, 0xB5C5, 0xB3FC, 0xB5C6, 0xB410, 0xB5C7, 0xB418, 0xB5C8, 0xB41C, 0xB5C9, 0xB420, 0xB5CA, 0xB428, - 0xB5CB, 0xB429, 0xB5CC, 0xB42B, 0xB5CD, 0xB434, 0xB5CE, 0xB450, 0xB5CF, 0xB451, 0xB5D0, 0xB454, 0xB5D1, 0xB458, 0xB5D2, 0xB460, - 0xB5D3, 0xB461, 0xB5D4, 0xB463, 0xB5D5, 0xB465, 0xB5D6, 0xB46C, 0xB5D7, 0xB480, 0xB5D8, 0xB488, 0xB5D9, 0xB49D, 0xB5DA, 0xB4A4, - 0xB5DB, 0xB4A8, 0xB5DC, 0xB4AC, 0xB5DD, 0xB4B5, 0xB5DE, 0xB4B7, 0xB5DF, 0xB4B9, 0xB5E0, 0xB4C0, 0xB5E1, 0xB4C4, 0xB5E2, 0xB4C8, - 0xB5E3, 0xB4D0, 0xB5E4, 0xB4D5, 0xB5E5, 0xB4DC, 0xB5E6, 0xB4DD, 0xB5E7, 0xB4E0, 0xB5E8, 0xB4E3, 0xB5E9, 0xB4E4, 0xB5EA, 0xB4E6, - 0xB5EB, 0xB4EC, 0xB5EC, 0xB4ED, 0xB5ED, 0xB4EF, 0xB5EE, 0xB4F1, 0xB5EF, 0xB4F8, 0xB5F0, 0xB514, 0xB5F1, 0xB515, 0xB5F2, 0xB518, - 0xB5F3, 0xB51B, 0xB5F4, 0xB51C, 0xB5F5, 0xB524, 0xB5F6, 0xB525, 0xB5F7, 0xB527, 0xB5F8, 0xB528, 0xB5F9, 0xB529, 0xB5FA, 0xB52A, - 0xB5FB, 0xB530, 0xB5FC, 0xB531, 0xB5FD, 0xB534, 0xB5FE, 0xB538, 0xB641, 0xD105, 0xB642, 0xD106, 0xB643, 0xD107, 0xB644, 0xD108, - 0xB645, 0xD109, 0xB646, 0xD10A, 0xB647, 0xD10B, 0xB648, 0xD10C, 0xB649, 0xD10E, 0xB64A, 0xD10F, 0xB64B, 0xD110, 0xB64C, 0xD111, - 0xB64D, 0xD112, 0xB64E, 0xD113, 0xB64F, 0xD114, 0xB650, 0xD115, 0xB651, 0xD116, 0xB652, 0xD117, 0xB653, 0xD118, 0xB654, 0xD119, - 0xB655, 0xD11A, 0xB656, 0xD11B, 0xB657, 0xD11C, 0xB658, 0xD11D, 0xB659, 0xD11E, 0xB65A, 0xD11F, 0xB661, 0xD120, 0xB662, 0xD121, - 0xB663, 0xD122, 0xB664, 0xD123, 0xB665, 0xD124, 0xB666, 0xD125, 0xB667, 0xD126, 0xB668, 0xD127, 0xB669, 0xD128, 0xB66A, 0xD129, - 0xB66B, 0xD12A, 0xB66C, 0xD12B, 0xB66D, 0xD12C, 0xB66E, 0xD12D, 0xB66F, 0xD12E, 0xB670, 0xD12F, 0xB671, 0xD132, 0xB672, 0xD133, - 0xB673, 0xD135, 0xB674, 0xD136, 0xB675, 0xD137, 0xB676, 0xD139, 0xB677, 0xD13B, 0xB678, 0xD13C, 0xB679, 0xD13D, 0xB67A, 0xD13E, - 0xB681, 0xD13F, 0xB682, 0xD142, 0xB683, 0xD146, 0xB684, 0xD147, 0xB685, 0xD148, 0xB686, 0xD149, 0xB687, 0xD14A, 0xB688, 0xD14B, - 0xB689, 0xD14E, 0xB68A, 0xD14F, 0xB68B, 0xD151, 0xB68C, 0xD152, 0xB68D, 0xD153, 0xB68E, 0xD155, 0xB68F, 0xD156, 0xB690, 0xD157, - 0xB691, 0xD158, 0xB692, 0xD159, 0xB693, 0xD15A, 0xB694, 0xD15B, 0xB695, 0xD15E, 0xB696, 0xD160, 0xB697, 0xD162, 0xB698, 0xD163, - 0xB699, 0xD164, 0xB69A, 0xD165, 0xB69B, 0xD166, 0xB69C, 0xD167, 0xB69D, 0xD169, 0xB69E, 0xD16A, 0xB69F, 0xD16B, 0xB6A0, 0xD16D, - 0xB6A1, 0xB540, 0xB6A2, 0xB541, 0xB6A3, 0xB543, 0xB6A4, 0xB544, 0xB6A5, 0xB545, 0xB6A6, 0xB54B, 0xB6A7, 0xB54C, 0xB6A8, 0xB54D, - 0xB6A9, 0xB550, 0xB6AA, 0xB554, 0xB6AB, 0xB55C, 0xB6AC, 0xB55D, 0xB6AD, 0xB55F, 0xB6AE, 0xB560, 0xB6AF, 0xB561, 0xB6B0, 0xB5A0, - 0xB6B1, 0xB5A1, 0xB6B2, 0xB5A4, 0xB6B3, 0xB5A8, 0xB6B4, 0xB5AA, 0xB6B5, 0xB5AB, 0xB6B6, 0xB5B0, 0xB6B7, 0xB5B1, 0xB6B8, 0xB5B3, - 0xB6B9, 0xB5B4, 0xB6BA, 0xB5B5, 0xB6BB, 0xB5BB, 0xB6BC, 0xB5BC, 0xB6BD, 0xB5BD, 0xB6BE, 0xB5C0, 0xB6BF, 0xB5C4, 0xB6C0, 0xB5CC, - 0xB6C1, 0xB5CD, 0xB6C2, 0xB5CF, 0xB6C3, 0xB5D0, 0xB6C4, 0xB5D1, 0xB6C5, 0xB5D8, 0xB6C6, 0xB5EC, 0xB6C7, 0xB610, 0xB6C8, 0xB611, - 0xB6C9, 0xB614, 0xB6CA, 0xB618, 0xB6CB, 0xB625, 0xB6CC, 0xB62C, 0xB6CD, 0xB634, 0xB6CE, 0xB648, 0xB6CF, 0xB664, 0xB6D0, 0xB668, - 0xB6D1, 0xB69C, 0xB6D2, 0xB69D, 0xB6D3, 0xB6A0, 0xB6D4, 0xB6A4, 0xB6D5, 0xB6AB, 0xB6D6, 0xB6AC, 0xB6D7, 0xB6B1, 0xB6D8, 0xB6D4, - 0xB6D9, 0xB6F0, 0xB6DA, 0xB6F4, 0xB6DB, 0xB6F8, 0xB6DC, 0xB700, 0xB6DD, 0xB701, 0xB6DE, 0xB705, 0xB6DF, 0xB728, 0xB6E0, 0xB729, - 0xB6E1, 0xB72C, 0xB6E2, 0xB72F, 0xB6E3, 0xB730, 0xB6E4, 0xB738, 0xB6E5, 0xB739, 0xB6E6, 0xB73B, 0xB6E7, 0xB744, 0xB6E8, 0xB748, - 0xB6E9, 0xB74C, 0xB6EA, 0xB754, 0xB6EB, 0xB755, 0xB6EC, 0xB760, 0xB6ED, 0xB764, 0xB6EE, 0xB768, 0xB6EF, 0xB770, 0xB6F0, 0xB771, - 0xB6F1, 0xB773, 0xB6F2, 0xB775, 0xB6F3, 0xB77C, 0xB6F4, 0xB77D, 0xB6F5, 0xB780, 0xB6F6, 0xB784, 0xB6F7, 0xB78C, 0xB6F8, 0xB78D, - 0xB6F9, 0xB78F, 0xB6FA, 0xB790, 0xB6FB, 0xB791, 0xB6FC, 0xB792, 0xB6FD, 0xB796, 0xB6FE, 0xB797, 0xB741, 0xD16E, 0xB742, 0xD16F, - 0xB743, 0xD170, 0xB744, 0xD171, 0xB745, 0xD172, 0xB746, 0xD173, 0xB747, 0xD174, 0xB748, 0xD175, 0xB749, 0xD176, 0xB74A, 0xD177, - 0xB74B, 0xD178, 0xB74C, 0xD179, 0xB74D, 0xD17A, 0xB74E, 0xD17B, 0xB74F, 0xD17D, 0xB750, 0xD17E, 0xB751, 0xD17F, 0xB752, 0xD180, - 0xB753, 0xD181, 0xB754, 0xD182, 0xB755, 0xD183, 0xB756, 0xD185, 0xB757, 0xD186, 0xB758, 0xD187, 0xB759, 0xD189, 0xB75A, 0xD18A, - 0xB761, 0xD18B, 0xB762, 0xD18C, 0xB763, 0xD18D, 0xB764, 0xD18E, 0xB765, 0xD18F, 0xB766, 0xD190, 0xB767, 0xD191, 0xB768, 0xD192, - 0xB769, 0xD193, 0xB76A, 0xD194, 0xB76B, 0xD195, 0xB76C, 0xD196, 0xB76D, 0xD197, 0xB76E, 0xD198, 0xB76F, 0xD199, 0xB770, 0xD19A, - 0xB771, 0xD19B, 0xB772, 0xD19C, 0xB773, 0xD19D, 0xB774, 0xD19E, 0xB775, 0xD19F, 0xB776, 0xD1A2, 0xB777, 0xD1A3, 0xB778, 0xD1A5, - 0xB779, 0xD1A6, 0xB77A, 0xD1A7, 0xB781, 0xD1A9, 0xB782, 0xD1AA, 0xB783, 0xD1AB, 0xB784, 0xD1AC, 0xB785, 0xD1AD, 0xB786, 0xD1AE, - 0xB787, 0xD1AF, 0xB788, 0xD1B2, 0xB789, 0xD1B4, 0xB78A, 0xD1B6, 0xB78B, 0xD1B7, 0xB78C, 0xD1B8, 0xB78D, 0xD1B9, 0xB78E, 0xD1BB, - 0xB78F, 0xD1BD, 0xB790, 0xD1BE, 0xB791, 0xD1BF, 0xB792, 0xD1C1, 0xB793, 0xD1C2, 0xB794, 0xD1C3, 0xB795, 0xD1C4, 0xB796, 0xD1C5, - 0xB797, 0xD1C6, 0xB798, 0xD1C7, 0xB799, 0xD1C8, 0xB79A, 0xD1C9, 0xB79B, 0xD1CA, 0xB79C, 0xD1CB, 0xB79D, 0xD1CC, 0xB79E, 0xD1CD, - 0xB79F, 0xD1CE, 0xB7A0, 0xD1CF, 0xB7A1, 0xB798, 0xB7A2, 0xB799, 0xB7A3, 0xB79C, 0xB7A4, 0xB7A0, 0xB7A5, 0xB7A8, 0xB7A6, 0xB7A9, - 0xB7A7, 0xB7AB, 0xB7A8, 0xB7AC, 0xB7A9, 0xB7AD, 0xB7AA, 0xB7B4, 0xB7AB, 0xB7B5, 0xB7AC, 0xB7B8, 0xB7AD, 0xB7C7, 0xB7AE, 0xB7C9, - 0xB7AF, 0xB7EC, 0xB7B0, 0xB7ED, 0xB7B1, 0xB7F0, 0xB7B2, 0xB7F4, 0xB7B3, 0xB7FC, 0xB7B4, 0xB7FD, 0xB7B5, 0xB7FF, 0xB7B6, 0xB800, - 0xB7B7, 0xB801, 0xB7B8, 0xB807, 0xB7B9, 0xB808, 0xB7BA, 0xB809, 0xB7BB, 0xB80C, 0xB7BC, 0xB810, 0xB7BD, 0xB818, 0xB7BE, 0xB819, - 0xB7BF, 0xB81B, 0xB7C0, 0xB81D, 0xB7C1, 0xB824, 0xB7C2, 0xB825, 0xB7C3, 0xB828, 0xB7C4, 0xB82C, 0xB7C5, 0xB834, 0xB7C6, 0xB835, - 0xB7C7, 0xB837, 0xB7C8, 0xB838, 0xB7C9, 0xB839, 0xB7CA, 0xB840, 0xB7CB, 0xB844, 0xB7CC, 0xB851, 0xB7CD, 0xB853, 0xB7CE, 0xB85C, - 0xB7CF, 0xB85D, 0xB7D0, 0xB860, 0xB7D1, 0xB864, 0xB7D2, 0xB86C, 0xB7D3, 0xB86D, 0xB7D4, 0xB86F, 0xB7D5, 0xB871, 0xB7D6, 0xB878, - 0xB7D7, 0xB87C, 0xB7D8, 0xB88D, 0xB7D9, 0xB8A8, 0xB7DA, 0xB8B0, 0xB7DB, 0xB8B4, 0xB7DC, 0xB8B8, 0xB7DD, 0xB8C0, 0xB7DE, 0xB8C1, - 0xB7DF, 0xB8C3, 0xB7E0, 0xB8C5, 0xB7E1, 0xB8CC, 0xB7E2, 0xB8D0, 0xB7E3, 0xB8D4, 0xB7E4, 0xB8DD, 0xB7E5, 0xB8DF, 0xB7E6, 0xB8E1, - 0xB7E7, 0xB8E8, 0xB7E8, 0xB8E9, 0xB7E9, 0xB8EC, 0xB7EA, 0xB8F0, 0xB7EB, 0xB8F8, 0xB7EC, 0xB8F9, 0xB7ED, 0xB8FB, 0xB7EE, 0xB8FD, - 0xB7EF, 0xB904, 0xB7F0, 0xB918, 0xB7F1, 0xB920, 0xB7F2, 0xB93C, 0xB7F3, 0xB93D, 0xB7F4, 0xB940, 0xB7F5, 0xB944, 0xB7F6, 0xB94C, - 0xB7F7, 0xB94F, 0xB7F8, 0xB951, 0xB7F9, 0xB958, 0xB7FA, 0xB959, 0xB7FB, 0xB95C, 0xB7FC, 0xB960, 0xB7FD, 0xB968, 0xB7FE, 0xB969, - 0xB841, 0xD1D0, 0xB842, 0xD1D1, 0xB843, 0xD1D2, 0xB844, 0xD1D3, 0xB845, 0xD1D4, 0xB846, 0xD1D5, 0xB847, 0xD1D6, 0xB848, 0xD1D7, - 0xB849, 0xD1D9, 0xB84A, 0xD1DA, 0xB84B, 0xD1DB, 0xB84C, 0xD1DC, 0xB84D, 0xD1DD, 0xB84E, 0xD1DE, 0xB84F, 0xD1DF, 0xB850, 0xD1E0, - 0xB851, 0xD1E1, 0xB852, 0xD1E2, 0xB853, 0xD1E3, 0xB854, 0xD1E4, 0xB855, 0xD1E5, 0xB856, 0xD1E6, 0xB857, 0xD1E7, 0xB858, 0xD1E8, - 0xB859, 0xD1E9, 0xB85A, 0xD1EA, 0xB861, 0xD1EB, 0xB862, 0xD1EC, 0xB863, 0xD1ED, 0xB864, 0xD1EE, 0xB865, 0xD1EF, 0xB866, 0xD1F0, - 0xB867, 0xD1F1, 0xB868, 0xD1F2, 0xB869, 0xD1F3, 0xB86A, 0xD1F5, 0xB86B, 0xD1F6, 0xB86C, 0xD1F7, 0xB86D, 0xD1F9, 0xB86E, 0xD1FA, - 0xB86F, 0xD1FB, 0xB870, 0xD1FC, 0xB871, 0xD1FD, 0xB872, 0xD1FE, 0xB873, 0xD1FF, 0xB874, 0xD200, 0xB875, 0xD201, 0xB876, 0xD202, - 0xB877, 0xD203, 0xB878, 0xD204, 0xB879, 0xD205, 0xB87A, 0xD206, 0xB881, 0xD208, 0xB882, 0xD20A, 0xB883, 0xD20B, 0xB884, 0xD20C, - 0xB885, 0xD20D, 0xB886, 0xD20E, 0xB887, 0xD20F, 0xB888, 0xD211, 0xB889, 0xD212, 0xB88A, 0xD213, 0xB88B, 0xD214, 0xB88C, 0xD215, - 0xB88D, 0xD216, 0xB88E, 0xD217, 0xB88F, 0xD218, 0xB890, 0xD219, 0xB891, 0xD21A, 0xB892, 0xD21B, 0xB893, 0xD21C, 0xB894, 0xD21D, - 0xB895, 0xD21E, 0xB896, 0xD21F, 0xB897, 0xD220, 0xB898, 0xD221, 0xB899, 0xD222, 0xB89A, 0xD223, 0xB89B, 0xD224, 0xB89C, 0xD225, - 0xB89D, 0xD226, 0xB89E, 0xD227, 0xB89F, 0xD228, 0xB8A0, 0xD229, 0xB8A1, 0xB96B, 0xB8A2, 0xB96D, 0xB8A3, 0xB974, 0xB8A4, 0xB975, - 0xB8A5, 0xB978, 0xB8A6, 0xB97C, 0xB8A7, 0xB984, 0xB8A8, 0xB985, 0xB8A9, 0xB987, 0xB8AA, 0xB989, 0xB8AB, 0xB98A, 0xB8AC, 0xB98D, - 0xB8AD, 0xB98E, 0xB8AE, 0xB9AC, 0xB8AF, 0xB9AD, 0xB8B0, 0xB9B0, 0xB8B1, 0xB9B4, 0xB8B2, 0xB9BC, 0xB8B3, 0xB9BD, 0xB8B4, 0xB9BF, - 0xB8B5, 0xB9C1, 0xB8B6, 0xB9C8, 0xB8B7, 0xB9C9, 0xB8B8, 0xB9CC, 0xB8B9, 0xB9CE, 0xB8BA, 0xB9CF, 0xB8BB, 0xB9D0, 0xB8BC, 0xB9D1, - 0xB8BD, 0xB9D2, 0xB8BE, 0xB9D8, 0xB8BF, 0xB9D9, 0xB8C0, 0xB9DB, 0xB8C1, 0xB9DD, 0xB8C2, 0xB9DE, 0xB8C3, 0xB9E1, 0xB8C4, 0xB9E3, - 0xB8C5, 0xB9E4, 0xB8C6, 0xB9E5, 0xB8C7, 0xB9E8, 0xB8C8, 0xB9EC, 0xB8C9, 0xB9F4, 0xB8CA, 0xB9F5, 0xB8CB, 0xB9F7, 0xB8CC, 0xB9F8, - 0xB8CD, 0xB9F9, 0xB8CE, 0xB9FA, 0xB8CF, 0xBA00, 0xB8D0, 0xBA01, 0xB8D1, 0xBA08, 0xB8D2, 0xBA15, 0xB8D3, 0xBA38, 0xB8D4, 0xBA39, - 0xB8D5, 0xBA3C, 0xB8D6, 0xBA40, 0xB8D7, 0xBA42, 0xB8D8, 0xBA48, 0xB8D9, 0xBA49, 0xB8DA, 0xBA4B, 0xB8DB, 0xBA4D, 0xB8DC, 0xBA4E, - 0xB8DD, 0xBA53, 0xB8DE, 0xBA54, 0xB8DF, 0xBA55, 0xB8E0, 0xBA58, 0xB8E1, 0xBA5C, 0xB8E2, 0xBA64, 0xB8E3, 0xBA65, 0xB8E4, 0xBA67, - 0xB8E5, 0xBA68, 0xB8E6, 0xBA69, 0xB8E7, 0xBA70, 0xB8E8, 0xBA71, 0xB8E9, 0xBA74, 0xB8EA, 0xBA78, 0xB8EB, 0xBA83, 0xB8EC, 0xBA84, - 0xB8ED, 0xBA85, 0xB8EE, 0xBA87, 0xB8EF, 0xBA8C, 0xB8F0, 0xBAA8, 0xB8F1, 0xBAA9, 0xB8F2, 0xBAAB, 0xB8F3, 0xBAAC, 0xB8F4, 0xBAB0, - 0xB8F5, 0xBAB2, 0xB8F6, 0xBAB8, 0xB8F7, 0xBAB9, 0xB8F8, 0xBABB, 0xB8F9, 0xBABD, 0xB8FA, 0xBAC4, 0xB8FB, 0xBAC8, 0xB8FC, 0xBAD8, - 0xB8FD, 0xBAD9, 0xB8FE, 0xBAFC, 0xB941, 0xD22A, 0xB942, 0xD22B, 0xB943, 0xD22E, 0xB944, 0xD22F, 0xB945, 0xD231, 0xB946, 0xD232, - 0xB947, 0xD233, 0xB948, 0xD235, 0xB949, 0xD236, 0xB94A, 0xD237, 0xB94B, 0xD238, 0xB94C, 0xD239, 0xB94D, 0xD23A, 0xB94E, 0xD23B, - 0xB94F, 0xD23E, 0xB950, 0xD240, 0xB951, 0xD242, 0xB952, 0xD243, 0xB953, 0xD244, 0xB954, 0xD245, 0xB955, 0xD246, 0xB956, 0xD247, - 0xB957, 0xD249, 0xB958, 0xD24A, 0xB959, 0xD24B, 0xB95A, 0xD24C, 0xB961, 0xD24D, 0xB962, 0xD24E, 0xB963, 0xD24F, 0xB964, 0xD250, - 0xB965, 0xD251, 0xB966, 0xD252, 0xB967, 0xD253, 0xB968, 0xD254, 0xB969, 0xD255, 0xB96A, 0xD256, 0xB96B, 0xD257, 0xB96C, 0xD258, - 0xB96D, 0xD259, 0xB96E, 0xD25A, 0xB96F, 0xD25B, 0xB970, 0xD25D, 0xB971, 0xD25E, 0xB972, 0xD25F, 0xB973, 0xD260, 0xB974, 0xD261, - 0xB975, 0xD262, 0xB976, 0xD263, 0xB977, 0xD265, 0xB978, 0xD266, 0xB979, 0xD267, 0xB97A, 0xD268, 0xB981, 0xD269, 0xB982, 0xD26A, - 0xB983, 0xD26B, 0xB984, 0xD26C, 0xB985, 0xD26D, 0xB986, 0xD26E, 0xB987, 0xD26F, 0xB988, 0xD270, 0xB989, 0xD271, 0xB98A, 0xD272, - 0xB98B, 0xD273, 0xB98C, 0xD274, 0xB98D, 0xD275, 0xB98E, 0xD276, 0xB98F, 0xD277, 0xB990, 0xD278, 0xB991, 0xD279, 0xB992, 0xD27A, - 0xB993, 0xD27B, 0xB994, 0xD27C, 0xB995, 0xD27D, 0xB996, 0xD27E, 0xB997, 0xD27F, 0xB998, 0xD282, 0xB999, 0xD283, 0xB99A, 0xD285, - 0xB99B, 0xD286, 0xB99C, 0xD287, 0xB99D, 0xD289, 0xB99E, 0xD28A, 0xB99F, 0xD28B, 0xB9A0, 0xD28C, 0xB9A1, 0xBB00, 0xB9A2, 0xBB04, - 0xB9A3, 0xBB0D, 0xB9A4, 0xBB0F, 0xB9A5, 0xBB11, 0xB9A6, 0xBB18, 0xB9A7, 0xBB1C, 0xB9A8, 0xBB20, 0xB9A9, 0xBB29, 0xB9AA, 0xBB2B, - 0xB9AB, 0xBB34, 0xB9AC, 0xBB35, 0xB9AD, 0xBB36, 0xB9AE, 0xBB38, 0xB9AF, 0xBB3B, 0xB9B0, 0xBB3C, 0xB9B1, 0xBB3D, 0xB9B2, 0xBB3E, - 0xB9B3, 0xBB44, 0xB9B4, 0xBB45, 0xB9B5, 0xBB47, 0xB9B6, 0xBB49, 0xB9B7, 0xBB4D, 0xB9B8, 0xBB4F, 0xB9B9, 0xBB50, 0xB9BA, 0xBB54, - 0xB9BB, 0xBB58, 0xB9BC, 0xBB61, 0xB9BD, 0xBB63, 0xB9BE, 0xBB6C, 0xB9BF, 0xBB88, 0xB9C0, 0xBB8C, 0xB9C1, 0xBB90, 0xB9C2, 0xBBA4, - 0xB9C3, 0xBBA8, 0xB9C4, 0xBBAC, 0xB9C5, 0xBBB4, 0xB9C6, 0xBBB7, 0xB9C7, 0xBBC0, 0xB9C8, 0xBBC4, 0xB9C9, 0xBBC8, 0xB9CA, 0xBBD0, - 0xB9CB, 0xBBD3, 0xB9CC, 0xBBF8, 0xB9CD, 0xBBF9, 0xB9CE, 0xBBFC, 0xB9CF, 0xBBFF, 0xB9D0, 0xBC00, 0xB9D1, 0xBC02, 0xB9D2, 0xBC08, - 0xB9D3, 0xBC09, 0xB9D4, 0xBC0B, 0xB9D5, 0xBC0C, 0xB9D6, 0xBC0D, 0xB9D7, 0xBC0F, 0xB9D8, 0xBC11, 0xB9D9, 0xBC14, 0xB9DA, 0xBC15, - 0xB9DB, 0xBC16, 0xB9DC, 0xBC17, 0xB9DD, 0xBC18, 0xB9DE, 0xBC1B, 0xB9DF, 0xBC1C, 0xB9E0, 0xBC1D, 0xB9E1, 0xBC1E, 0xB9E2, 0xBC1F, - 0xB9E3, 0xBC24, 0xB9E4, 0xBC25, 0xB9E5, 0xBC27, 0xB9E6, 0xBC29, 0xB9E7, 0xBC2D, 0xB9E8, 0xBC30, 0xB9E9, 0xBC31, 0xB9EA, 0xBC34, - 0xB9EB, 0xBC38, 0xB9EC, 0xBC40, 0xB9ED, 0xBC41, 0xB9EE, 0xBC43, 0xB9EF, 0xBC44, 0xB9F0, 0xBC45, 0xB9F1, 0xBC49, 0xB9F2, 0xBC4C, - 0xB9F3, 0xBC4D, 0xB9F4, 0xBC50, 0xB9F5, 0xBC5D, 0xB9F6, 0xBC84, 0xB9F7, 0xBC85, 0xB9F8, 0xBC88, 0xB9F9, 0xBC8B, 0xB9FA, 0xBC8C, - 0xB9FB, 0xBC8E, 0xB9FC, 0xBC94, 0xB9FD, 0xBC95, 0xB9FE, 0xBC97, 0xBA41, 0xD28D, 0xBA42, 0xD28E, 0xBA43, 0xD28F, 0xBA44, 0xD292, - 0xBA45, 0xD293, 0xBA46, 0xD294, 0xBA47, 0xD296, 0xBA48, 0xD297, 0xBA49, 0xD298, 0xBA4A, 0xD299, 0xBA4B, 0xD29A, 0xBA4C, 0xD29B, - 0xBA4D, 0xD29D, 0xBA4E, 0xD29E, 0xBA4F, 0xD29F, 0xBA50, 0xD2A1, 0xBA51, 0xD2A2, 0xBA52, 0xD2A3, 0xBA53, 0xD2A5, 0xBA54, 0xD2A6, - 0xBA55, 0xD2A7, 0xBA56, 0xD2A8, 0xBA57, 0xD2A9, 0xBA58, 0xD2AA, 0xBA59, 0xD2AB, 0xBA5A, 0xD2AD, 0xBA61, 0xD2AE, 0xBA62, 0xD2AF, - 0xBA63, 0xD2B0, 0xBA64, 0xD2B2, 0xBA65, 0xD2B3, 0xBA66, 0xD2B4, 0xBA67, 0xD2B5, 0xBA68, 0xD2B6, 0xBA69, 0xD2B7, 0xBA6A, 0xD2BA, - 0xBA6B, 0xD2BB, 0xBA6C, 0xD2BD, 0xBA6D, 0xD2BE, 0xBA6E, 0xD2C1, 0xBA6F, 0xD2C3, 0xBA70, 0xD2C4, 0xBA71, 0xD2C5, 0xBA72, 0xD2C6, - 0xBA73, 0xD2C7, 0xBA74, 0xD2CA, 0xBA75, 0xD2CC, 0xBA76, 0xD2CD, 0xBA77, 0xD2CE, 0xBA78, 0xD2CF, 0xBA79, 0xD2D0, 0xBA7A, 0xD2D1, - 0xBA81, 0xD2D2, 0xBA82, 0xD2D3, 0xBA83, 0xD2D5, 0xBA84, 0xD2D6, 0xBA85, 0xD2D7, 0xBA86, 0xD2D9, 0xBA87, 0xD2DA, 0xBA88, 0xD2DB, - 0xBA89, 0xD2DD, 0xBA8A, 0xD2DE, 0xBA8B, 0xD2DF, 0xBA8C, 0xD2E0, 0xBA8D, 0xD2E1, 0xBA8E, 0xD2E2, 0xBA8F, 0xD2E3, 0xBA90, 0xD2E6, - 0xBA91, 0xD2E7, 0xBA92, 0xD2E8, 0xBA93, 0xD2E9, 0xBA94, 0xD2EA, 0xBA95, 0xD2EB, 0xBA96, 0xD2EC, 0xBA97, 0xD2ED, 0xBA98, 0xD2EE, - 0xBA99, 0xD2EF, 0xBA9A, 0xD2F2, 0xBA9B, 0xD2F3, 0xBA9C, 0xD2F5, 0xBA9D, 0xD2F6, 0xBA9E, 0xD2F7, 0xBA9F, 0xD2F9, 0xBAA0, 0xD2FA, - 0xBAA1, 0xBC99, 0xBAA2, 0xBC9A, 0xBAA3, 0xBCA0, 0xBAA4, 0xBCA1, 0xBAA5, 0xBCA4, 0xBAA6, 0xBCA7, 0xBAA7, 0xBCA8, 0xBAA8, 0xBCB0, - 0xBAA9, 0xBCB1, 0xBAAA, 0xBCB3, 0xBAAB, 0xBCB4, 0xBAAC, 0xBCB5, 0xBAAD, 0xBCBC, 0xBAAE, 0xBCBD, 0xBAAF, 0xBCC0, 0xBAB0, 0xBCC4, - 0xBAB1, 0xBCCD, 0xBAB2, 0xBCCF, 0xBAB3, 0xBCD0, 0xBAB4, 0xBCD1, 0xBAB5, 0xBCD5, 0xBAB6, 0xBCD8, 0xBAB7, 0xBCDC, 0xBAB8, 0xBCF4, - 0xBAB9, 0xBCF5, 0xBABA, 0xBCF6, 0xBABB, 0xBCF8, 0xBABC, 0xBCFC, 0xBABD, 0xBD04, 0xBABE, 0xBD05, 0xBABF, 0xBD07, 0xBAC0, 0xBD09, - 0xBAC1, 0xBD10, 0xBAC2, 0xBD14, 0xBAC3, 0xBD24, 0xBAC4, 0xBD2C, 0xBAC5, 0xBD40, 0xBAC6, 0xBD48, 0xBAC7, 0xBD49, 0xBAC8, 0xBD4C, - 0xBAC9, 0xBD50, 0xBACA, 0xBD58, 0xBACB, 0xBD59, 0xBACC, 0xBD64, 0xBACD, 0xBD68, 0xBACE, 0xBD80, 0xBACF, 0xBD81, 0xBAD0, 0xBD84, - 0xBAD1, 0xBD87, 0xBAD2, 0xBD88, 0xBAD3, 0xBD89, 0xBAD4, 0xBD8A, 0xBAD5, 0xBD90, 0xBAD6, 0xBD91, 0xBAD7, 0xBD93, 0xBAD8, 0xBD95, - 0xBAD9, 0xBD99, 0xBADA, 0xBD9A, 0xBADB, 0xBD9C, 0xBADC, 0xBDA4, 0xBADD, 0xBDB0, 0xBADE, 0xBDB8, 0xBADF, 0xBDD4, 0xBAE0, 0xBDD5, - 0xBAE1, 0xBDD8, 0xBAE2, 0xBDDC, 0xBAE3, 0xBDE9, 0xBAE4, 0xBDF0, 0xBAE5, 0xBDF4, 0xBAE6, 0xBDF8, 0xBAE7, 0xBE00, 0xBAE8, 0xBE03, - 0xBAE9, 0xBE05, 0xBAEA, 0xBE0C, 0xBAEB, 0xBE0D, 0xBAEC, 0xBE10, 0xBAED, 0xBE14, 0xBAEE, 0xBE1C, 0xBAEF, 0xBE1D, 0xBAF0, 0xBE1F, - 0xBAF1, 0xBE44, 0xBAF2, 0xBE45, 0xBAF3, 0xBE48, 0xBAF4, 0xBE4C, 0xBAF5, 0xBE4E, 0xBAF6, 0xBE54, 0xBAF7, 0xBE55, 0xBAF8, 0xBE57, - 0xBAF9, 0xBE59, 0xBAFA, 0xBE5A, 0xBAFB, 0xBE5B, 0xBAFC, 0xBE60, 0xBAFD, 0xBE61, 0xBAFE, 0xBE64, 0xBB41, 0xD2FB, 0xBB42, 0xD2FC, - 0xBB43, 0xD2FD, 0xBB44, 0xD2FE, 0xBB45, 0xD2FF, 0xBB46, 0xD302, 0xBB47, 0xD304, 0xBB48, 0xD306, 0xBB49, 0xD307, 0xBB4A, 0xD308, - 0xBB4B, 0xD309, 0xBB4C, 0xD30A, 0xBB4D, 0xD30B, 0xBB4E, 0xD30F, 0xBB4F, 0xD311, 0xBB50, 0xD312, 0xBB51, 0xD313, 0xBB52, 0xD315, - 0xBB53, 0xD317, 0xBB54, 0xD318, 0xBB55, 0xD319, 0xBB56, 0xD31A, 0xBB57, 0xD31B, 0xBB58, 0xD31E, 0xBB59, 0xD322, 0xBB5A, 0xD323, - 0xBB61, 0xD324, 0xBB62, 0xD326, 0xBB63, 0xD327, 0xBB64, 0xD32A, 0xBB65, 0xD32B, 0xBB66, 0xD32D, 0xBB67, 0xD32E, 0xBB68, 0xD32F, - 0xBB69, 0xD331, 0xBB6A, 0xD332, 0xBB6B, 0xD333, 0xBB6C, 0xD334, 0xBB6D, 0xD335, 0xBB6E, 0xD336, 0xBB6F, 0xD337, 0xBB70, 0xD33A, - 0xBB71, 0xD33E, 0xBB72, 0xD33F, 0xBB73, 0xD340, 0xBB74, 0xD341, 0xBB75, 0xD342, 0xBB76, 0xD343, 0xBB77, 0xD346, 0xBB78, 0xD347, - 0xBB79, 0xD348, 0xBB7A, 0xD349, 0xBB81, 0xD34A, 0xBB82, 0xD34B, 0xBB83, 0xD34C, 0xBB84, 0xD34D, 0xBB85, 0xD34E, 0xBB86, 0xD34F, - 0xBB87, 0xD350, 0xBB88, 0xD351, 0xBB89, 0xD352, 0xBB8A, 0xD353, 0xBB8B, 0xD354, 0xBB8C, 0xD355, 0xBB8D, 0xD356, 0xBB8E, 0xD357, - 0xBB8F, 0xD358, 0xBB90, 0xD359, 0xBB91, 0xD35A, 0xBB92, 0xD35B, 0xBB93, 0xD35C, 0xBB94, 0xD35D, 0xBB95, 0xD35E, 0xBB96, 0xD35F, - 0xBB97, 0xD360, 0xBB98, 0xD361, 0xBB99, 0xD362, 0xBB9A, 0xD363, 0xBB9B, 0xD364, 0xBB9C, 0xD365, 0xBB9D, 0xD366, 0xBB9E, 0xD367, - 0xBB9F, 0xD368, 0xBBA0, 0xD369, 0xBBA1, 0xBE68, 0xBBA2, 0xBE6A, 0xBBA3, 0xBE70, 0xBBA4, 0xBE71, 0xBBA5, 0xBE73, 0xBBA6, 0xBE74, - 0xBBA7, 0xBE75, 0xBBA8, 0xBE7B, 0xBBA9, 0xBE7C, 0xBBAA, 0xBE7D, 0xBBAB, 0xBE80, 0xBBAC, 0xBE84, 0xBBAD, 0xBE8C, 0xBBAE, 0xBE8D, - 0xBBAF, 0xBE8F, 0xBBB0, 0xBE90, 0xBBB1, 0xBE91, 0xBBB2, 0xBE98, 0xBBB3, 0xBE99, 0xBBB4, 0xBEA8, 0xBBB5, 0xBED0, 0xBBB6, 0xBED1, - 0xBBB7, 0xBED4, 0xBBB8, 0xBED7, 0xBBB9, 0xBED8, 0xBBBA, 0xBEE0, 0xBBBB, 0xBEE3, 0xBBBC, 0xBEE4, 0xBBBD, 0xBEE5, 0xBBBE, 0xBEEC, - 0xBBBF, 0xBF01, 0xBBC0, 0xBF08, 0xBBC1, 0xBF09, 0xBBC2, 0xBF18, 0xBBC3, 0xBF19, 0xBBC4, 0xBF1B, 0xBBC5, 0xBF1C, 0xBBC6, 0xBF1D, - 0xBBC7, 0xBF40, 0xBBC8, 0xBF41, 0xBBC9, 0xBF44, 0xBBCA, 0xBF48, 0xBBCB, 0xBF50, 0xBBCC, 0xBF51, 0xBBCD, 0xBF55, 0xBBCE, 0xBF94, - 0xBBCF, 0xBFB0, 0xBBD0, 0xBFC5, 0xBBD1, 0xBFCC, 0xBBD2, 0xBFCD, 0xBBD3, 0xBFD0, 0xBBD4, 0xBFD4, 0xBBD5, 0xBFDC, 0xBBD6, 0xBFDF, - 0xBBD7, 0xBFE1, 0xBBD8, 0xC03C, 0xBBD9, 0xC051, 0xBBDA, 0xC058, 0xBBDB, 0xC05C, 0xBBDC, 0xC060, 0xBBDD, 0xC068, 0xBBDE, 0xC069, - 0xBBDF, 0xC090, 0xBBE0, 0xC091, 0xBBE1, 0xC094, 0xBBE2, 0xC098, 0xBBE3, 0xC0A0, 0xBBE4, 0xC0A1, 0xBBE5, 0xC0A3, 0xBBE6, 0xC0A5, - 0xBBE7, 0xC0AC, 0xBBE8, 0xC0AD, 0xBBE9, 0xC0AF, 0xBBEA, 0xC0B0, 0xBBEB, 0xC0B3, 0xBBEC, 0xC0B4, 0xBBED, 0xC0B5, 0xBBEE, 0xC0B6, - 0xBBEF, 0xC0BC, 0xBBF0, 0xC0BD, 0xBBF1, 0xC0BF, 0xBBF2, 0xC0C0, 0xBBF3, 0xC0C1, 0xBBF4, 0xC0C5, 0xBBF5, 0xC0C8, 0xBBF6, 0xC0C9, - 0xBBF7, 0xC0CC, 0xBBF8, 0xC0D0, 0xBBF9, 0xC0D8, 0xBBFA, 0xC0D9, 0xBBFB, 0xC0DB, 0xBBFC, 0xC0DC, 0xBBFD, 0xC0DD, 0xBBFE, 0xC0E4, - 0xBC41, 0xD36A, 0xBC42, 0xD36B, 0xBC43, 0xD36C, 0xBC44, 0xD36D, 0xBC45, 0xD36E, 0xBC46, 0xD36F, 0xBC47, 0xD370, 0xBC48, 0xD371, - 0xBC49, 0xD372, 0xBC4A, 0xD373, 0xBC4B, 0xD374, 0xBC4C, 0xD375, 0xBC4D, 0xD376, 0xBC4E, 0xD377, 0xBC4F, 0xD378, 0xBC50, 0xD379, - 0xBC51, 0xD37A, 0xBC52, 0xD37B, 0xBC53, 0xD37E, 0xBC54, 0xD37F, 0xBC55, 0xD381, 0xBC56, 0xD382, 0xBC57, 0xD383, 0xBC58, 0xD385, - 0xBC59, 0xD386, 0xBC5A, 0xD387, 0xBC61, 0xD388, 0xBC62, 0xD389, 0xBC63, 0xD38A, 0xBC64, 0xD38B, 0xBC65, 0xD38E, 0xBC66, 0xD392, - 0xBC67, 0xD393, 0xBC68, 0xD394, 0xBC69, 0xD395, 0xBC6A, 0xD396, 0xBC6B, 0xD397, 0xBC6C, 0xD39A, 0xBC6D, 0xD39B, 0xBC6E, 0xD39D, - 0xBC6F, 0xD39E, 0xBC70, 0xD39F, 0xBC71, 0xD3A1, 0xBC72, 0xD3A2, 0xBC73, 0xD3A3, 0xBC74, 0xD3A4, 0xBC75, 0xD3A5, 0xBC76, 0xD3A6, - 0xBC77, 0xD3A7, 0xBC78, 0xD3AA, 0xBC79, 0xD3AC, 0xBC7A, 0xD3AE, 0xBC81, 0xD3AF, 0xBC82, 0xD3B0, 0xBC83, 0xD3B1, 0xBC84, 0xD3B2, - 0xBC85, 0xD3B3, 0xBC86, 0xD3B5, 0xBC87, 0xD3B6, 0xBC88, 0xD3B7, 0xBC89, 0xD3B9, 0xBC8A, 0xD3BA, 0xBC8B, 0xD3BB, 0xBC8C, 0xD3BD, - 0xBC8D, 0xD3BE, 0xBC8E, 0xD3BF, 0xBC8F, 0xD3C0, 0xBC90, 0xD3C1, 0xBC91, 0xD3C2, 0xBC92, 0xD3C3, 0xBC93, 0xD3C6, 0xBC94, 0xD3C7, - 0xBC95, 0xD3CA, 0xBC96, 0xD3CB, 0xBC97, 0xD3CC, 0xBC98, 0xD3CD, 0xBC99, 0xD3CE, 0xBC9A, 0xD3CF, 0xBC9B, 0xD3D1, 0xBC9C, 0xD3D2, - 0xBC9D, 0xD3D3, 0xBC9E, 0xD3D4, 0xBC9F, 0xD3D5, 0xBCA0, 0xD3D6, 0xBCA1, 0xC0E5, 0xBCA2, 0xC0E8, 0xBCA3, 0xC0EC, 0xBCA4, 0xC0F4, - 0xBCA5, 0xC0F5, 0xBCA6, 0xC0F7, 0xBCA7, 0xC0F9, 0xBCA8, 0xC100, 0xBCA9, 0xC104, 0xBCAA, 0xC108, 0xBCAB, 0xC110, 0xBCAC, 0xC115, - 0xBCAD, 0xC11C, 0xBCAE, 0xC11D, 0xBCAF, 0xC11E, 0xBCB0, 0xC11F, 0xBCB1, 0xC120, 0xBCB2, 0xC123, 0xBCB3, 0xC124, 0xBCB4, 0xC126, - 0xBCB5, 0xC127, 0xBCB6, 0xC12C, 0xBCB7, 0xC12D, 0xBCB8, 0xC12F, 0xBCB9, 0xC130, 0xBCBA, 0xC131, 0xBCBB, 0xC136, 0xBCBC, 0xC138, - 0xBCBD, 0xC139, 0xBCBE, 0xC13C, 0xBCBF, 0xC140, 0xBCC0, 0xC148, 0xBCC1, 0xC149, 0xBCC2, 0xC14B, 0xBCC3, 0xC14C, 0xBCC4, 0xC14D, - 0xBCC5, 0xC154, 0xBCC6, 0xC155, 0xBCC7, 0xC158, 0xBCC8, 0xC15C, 0xBCC9, 0xC164, 0xBCCA, 0xC165, 0xBCCB, 0xC167, 0xBCCC, 0xC168, - 0xBCCD, 0xC169, 0xBCCE, 0xC170, 0xBCCF, 0xC174, 0xBCD0, 0xC178, 0xBCD1, 0xC185, 0xBCD2, 0xC18C, 0xBCD3, 0xC18D, 0xBCD4, 0xC18E, - 0xBCD5, 0xC190, 0xBCD6, 0xC194, 0xBCD7, 0xC196, 0xBCD8, 0xC19C, 0xBCD9, 0xC19D, 0xBCDA, 0xC19F, 0xBCDB, 0xC1A1, 0xBCDC, 0xC1A5, - 0xBCDD, 0xC1A8, 0xBCDE, 0xC1A9, 0xBCDF, 0xC1AC, 0xBCE0, 0xC1B0, 0xBCE1, 0xC1BD, 0xBCE2, 0xC1C4, 0xBCE3, 0xC1C8, 0xBCE4, 0xC1CC, - 0xBCE5, 0xC1D4, 0xBCE6, 0xC1D7, 0xBCE7, 0xC1D8, 0xBCE8, 0xC1E0, 0xBCE9, 0xC1E4, 0xBCEA, 0xC1E8, 0xBCEB, 0xC1F0, 0xBCEC, 0xC1F1, - 0xBCED, 0xC1F3, 0xBCEE, 0xC1FC, 0xBCEF, 0xC1FD, 0xBCF0, 0xC200, 0xBCF1, 0xC204, 0xBCF2, 0xC20C, 0xBCF3, 0xC20D, 0xBCF4, 0xC20F, - 0xBCF5, 0xC211, 0xBCF6, 0xC218, 0xBCF7, 0xC219, 0xBCF8, 0xC21C, 0xBCF9, 0xC21F, 0xBCFA, 0xC220, 0xBCFB, 0xC228, 0xBCFC, 0xC229, - 0xBCFD, 0xC22B, 0xBCFE, 0xC22D, 0xBD41, 0xD3D7, 0xBD42, 0xD3D9, 0xBD43, 0xD3DA, 0xBD44, 0xD3DB, 0xBD45, 0xD3DC, 0xBD46, 0xD3DD, - 0xBD47, 0xD3DE, 0xBD48, 0xD3DF, 0xBD49, 0xD3E0, 0xBD4A, 0xD3E2, 0xBD4B, 0xD3E4, 0xBD4C, 0xD3E5, 0xBD4D, 0xD3E6, 0xBD4E, 0xD3E7, - 0xBD4F, 0xD3E8, 0xBD50, 0xD3E9, 0xBD51, 0xD3EA, 0xBD52, 0xD3EB, 0xBD53, 0xD3EE, 0xBD54, 0xD3EF, 0xBD55, 0xD3F1, 0xBD56, 0xD3F2, - 0xBD57, 0xD3F3, 0xBD58, 0xD3F5, 0xBD59, 0xD3F6, 0xBD5A, 0xD3F7, 0xBD61, 0xD3F8, 0xBD62, 0xD3F9, 0xBD63, 0xD3FA, 0xBD64, 0xD3FB, - 0xBD65, 0xD3FE, 0xBD66, 0xD400, 0xBD67, 0xD402, 0xBD68, 0xD403, 0xBD69, 0xD404, 0xBD6A, 0xD405, 0xBD6B, 0xD406, 0xBD6C, 0xD407, - 0xBD6D, 0xD409, 0xBD6E, 0xD40A, 0xBD6F, 0xD40B, 0xBD70, 0xD40C, 0xBD71, 0xD40D, 0xBD72, 0xD40E, 0xBD73, 0xD40F, 0xBD74, 0xD410, - 0xBD75, 0xD411, 0xBD76, 0xD412, 0xBD77, 0xD413, 0xBD78, 0xD414, 0xBD79, 0xD415, 0xBD7A, 0xD416, 0xBD81, 0xD417, 0xBD82, 0xD418, - 0xBD83, 0xD419, 0xBD84, 0xD41A, 0xBD85, 0xD41B, 0xBD86, 0xD41C, 0xBD87, 0xD41E, 0xBD88, 0xD41F, 0xBD89, 0xD420, 0xBD8A, 0xD421, - 0xBD8B, 0xD422, 0xBD8C, 0xD423, 0xBD8D, 0xD424, 0xBD8E, 0xD425, 0xBD8F, 0xD426, 0xBD90, 0xD427, 0xBD91, 0xD428, 0xBD92, 0xD429, - 0xBD93, 0xD42A, 0xBD94, 0xD42B, 0xBD95, 0xD42C, 0xBD96, 0xD42D, 0xBD97, 0xD42E, 0xBD98, 0xD42F, 0xBD99, 0xD430, 0xBD9A, 0xD431, - 0xBD9B, 0xD432, 0xBD9C, 0xD433, 0xBD9D, 0xD434, 0xBD9E, 0xD435, 0xBD9F, 0xD436, 0xBDA0, 0xD437, 0xBDA1, 0xC22F, 0xBDA2, 0xC231, - 0xBDA3, 0xC232, 0xBDA4, 0xC234, 0xBDA5, 0xC248, 0xBDA6, 0xC250, 0xBDA7, 0xC251, 0xBDA8, 0xC254, 0xBDA9, 0xC258, 0xBDAA, 0xC260, - 0xBDAB, 0xC265, 0xBDAC, 0xC26C, 0xBDAD, 0xC26D, 0xBDAE, 0xC270, 0xBDAF, 0xC274, 0xBDB0, 0xC27C, 0xBDB1, 0xC27D, 0xBDB2, 0xC27F, - 0xBDB3, 0xC281, 0xBDB4, 0xC288, 0xBDB5, 0xC289, 0xBDB6, 0xC290, 0xBDB7, 0xC298, 0xBDB8, 0xC29B, 0xBDB9, 0xC29D, 0xBDBA, 0xC2A4, - 0xBDBB, 0xC2A5, 0xBDBC, 0xC2A8, 0xBDBD, 0xC2AC, 0xBDBE, 0xC2AD, 0xBDBF, 0xC2B4, 0xBDC0, 0xC2B5, 0xBDC1, 0xC2B7, 0xBDC2, 0xC2B9, - 0xBDC3, 0xC2DC, 0xBDC4, 0xC2DD, 0xBDC5, 0xC2E0, 0xBDC6, 0xC2E3, 0xBDC7, 0xC2E4, 0xBDC8, 0xC2EB, 0xBDC9, 0xC2EC, 0xBDCA, 0xC2ED, - 0xBDCB, 0xC2EF, 0xBDCC, 0xC2F1, 0xBDCD, 0xC2F6, 0xBDCE, 0xC2F8, 0xBDCF, 0xC2F9, 0xBDD0, 0xC2FB, 0xBDD1, 0xC2FC, 0xBDD2, 0xC300, - 0xBDD3, 0xC308, 0xBDD4, 0xC309, 0xBDD5, 0xC30C, 0xBDD6, 0xC30D, 0xBDD7, 0xC313, 0xBDD8, 0xC314, 0xBDD9, 0xC315, 0xBDDA, 0xC318, - 0xBDDB, 0xC31C, 0xBDDC, 0xC324, 0xBDDD, 0xC325, 0xBDDE, 0xC328, 0xBDDF, 0xC329, 0xBDE0, 0xC345, 0xBDE1, 0xC368, 0xBDE2, 0xC369, - 0xBDE3, 0xC36C, 0xBDE4, 0xC370, 0xBDE5, 0xC372, 0xBDE6, 0xC378, 0xBDE7, 0xC379, 0xBDE8, 0xC37C, 0xBDE9, 0xC37D, 0xBDEA, 0xC384, - 0xBDEB, 0xC388, 0xBDEC, 0xC38C, 0xBDED, 0xC3C0, 0xBDEE, 0xC3D8, 0xBDEF, 0xC3D9, 0xBDF0, 0xC3DC, 0xBDF1, 0xC3DF, 0xBDF2, 0xC3E0, - 0xBDF3, 0xC3E2, 0xBDF4, 0xC3E8, 0xBDF5, 0xC3E9, 0xBDF6, 0xC3ED, 0xBDF7, 0xC3F4, 0xBDF8, 0xC3F5, 0xBDF9, 0xC3F8, 0xBDFA, 0xC408, - 0xBDFB, 0xC410, 0xBDFC, 0xC424, 0xBDFD, 0xC42C, 0xBDFE, 0xC430, 0xBE41, 0xD438, 0xBE42, 0xD439, 0xBE43, 0xD43A, 0xBE44, 0xD43B, - 0xBE45, 0xD43C, 0xBE46, 0xD43D, 0xBE47, 0xD43E, 0xBE48, 0xD43F, 0xBE49, 0xD441, 0xBE4A, 0xD442, 0xBE4B, 0xD443, 0xBE4C, 0xD445, - 0xBE4D, 0xD446, 0xBE4E, 0xD447, 0xBE4F, 0xD448, 0xBE50, 0xD449, 0xBE51, 0xD44A, 0xBE52, 0xD44B, 0xBE53, 0xD44C, 0xBE54, 0xD44D, - 0xBE55, 0xD44E, 0xBE56, 0xD44F, 0xBE57, 0xD450, 0xBE58, 0xD451, 0xBE59, 0xD452, 0xBE5A, 0xD453, 0xBE61, 0xD454, 0xBE62, 0xD455, - 0xBE63, 0xD456, 0xBE64, 0xD457, 0xBE65, 0xD458, 0xBE66, 0xD459, 0xBE67, 0xD45A, 0xBE68, 0xD45B, 0xBE69, 0xD45D, 0xBE6A, 0xD45E, - 0xBE6B, 0xD45F, 0xBE6C, 0xD461, 0xBE6D, 0xD462, 0xBE6E, 0xD463, 0xBE6F, 0xD465, 0xBE70, 0xD466, 0xBE71, 0xD467, 0xBE72, 0xD468, - 0xBE73, 0xD469, 0xBE74, 0xD46A, 0xBE75, 0xD46B, 0xBE76, 0xD46C, 0xBE77, 0xD46E, 0xBE78, 0xD470, 0xBE79, 0xD471, 0xBE7A, 0xD472, - 0xBE81, 0xD473, 0xBE82, 0xD474, 0xBE83, 0xD475, 0xBE84, 0xD476, 0xBE85, 0xD477, 0xBE86, 0xD47A, 0xBE87, 0xD47B, 0xBE88, 0xD47D, - 0xBE89, 0xD47E, 0xBE8A, 0xD481, 0xBE8B, 0xD483, 0xBE8C, 0xD484, 0xBE8D, 0xD485, 0xBE8E, 0xD486, 0xBE8F, 0xD487, 0xBE90, 0xD48A, - 0xBE91, 0xD48C, 0xBE92, 0xD48E, 0xBE93, 0xD48F, 0xBE94, 0xD490, 0xBE95, 0xD491, 0xBE96, 0xD492, 0xBE97, 0xD493, 0xBE98, 0xD495, - 0xBE99, 0xD496, 0xBE9A, 0xD497, 0xBE9B, 0xD498, 0xBE9C, 0xD499, 0xBE9D, 0xD49A, 0xBE9E, 0xD49B, 0xBE9F, 0xD49C, 0xBEA0, 0xD49D, - 0xBEA1, 0xC434, 0xBEA2, 0xC43C, 0xBEA3, 0xC43D, 0xBEA4, 0xC448, 0xBEA5, 0xC464, 0xBEA6, 0xC465, 0xBEA7, 0xC468, 0xBEA8, 0xC46C, - 0xBEA9, 0xC474, 0xBEAA, 0xC475, 0xBEAB, 0xC479, 0xBEAC, 0xC480, 0xBEAD, 0xC494, 0xBEAE, 0xC49C, 0xBEAF, 0xC4B8, 0xBEB0, 0xC4BC, - 0xBEB1, 0xC4E9, 0xBEB2, 0xC4F0, 0xBEB3, 0xC4F1, 0xBEB4, 0xC4F4, 0xBEB5, 0xC4F8, 0xBEB6, 0xC4FA, 0xBEB7, 0xC4FF, 0xBEB8, 0xC500, - 0xBEB9, 0xC501, 0xBEBA, 0xC50C, 0xBEBB, 0xC510, 0xBEBC, 0xC514, 0xBEBD, 0xC51C, 0xBEBE, 0xC528, 0xBEBF, 0xC529, 0xBEC0, 0xC52C, - 0xBEC1, 0xC530, 0xBEC2, 0xC538, 0xBEC3, 0xC539, 0xBEC4, 0xC53B, 0xBEC5, 0xC53D, 0xBEC6, 0xC544, 0xBEC7, 0xC545, 0xBEC8, 0xC548, - 0xBEC9, 0xC549, 0xBECA, 0xC54A, 0xBECB, 0xC54C, 0xBECC, 0xC54D, 0xBECD, 0xC54E, 0xBECE, 0xC553, 0xBECF, 0xC554, 0xBED0, 0xC555, - 0xBED1, 0xC557, 0xBED2, 0xC558, 0xBED3, 0xC559, 0xBED4, 0xC55D, 0xBED5, 0xC55E, 0xBED6, 0xC560, 0xBED7, 0xC561, 0xBED8, 0xC564, - 0xBED9, 0xC568, 0xBEDA, 0xC570, 0xBEDB, 0xC571, 0xBEDC, 0xC573, 0xBEDD, 0xC574, 0xBEDE, 0xC575, 0xBEDF, 0xC57C, 0xBEE0, 0xC57D, - 0xBEE1, 0xC580, 0xBEE2, 0xC584, 0xBEE3, 0xC587, 0xBEE4, 0xC58C, 0xBEE5, 0xC58D, 0xBEE6, 0xC58F, 0xBEE7, 0xC591, 0xBEE8, 0xC595, - 0xBEE9, 0xC597, 0xBEEA, 0xC598, 0xBEEB, 0xC59C, 0xBEEC, 0xC5A0, 0xBEED, 0xC5A9, 0xBEEE, 0xC5B4, 0xBEEF, 0xC5B5, 0xBEF0, 0xC5B8, - 0xBEF1, 0xC5B9, 0xBEF2, 0xC5BB, 0xBEF3, 0xC5BC, 0xBEF4, 0xC5BD, 0xBEF5, 0xC5BE, 0xBEF6, 0xC5C4, 0xBEF7, 0xC5C5, 0xBEF8, 0xC5C6, - 0xBEF9, 0xC5C7, 0xBEFA, 0xC5C8, 0xBEFB, 0xC5C9, 0xBEFC, 0xC5CA, 0xBEFD, 0xC5CC, 0xBEFE, 0xC5CE, 0xBF41, 0xD49E, 0xBF42, 0xD49F, - 0xBF43, 0xD4A0, 0xBF44, 0xD4A1, 0xBF45, 0xD4A2, 0xBF46, 0xD4A3, 0xBF47, 0xD4A4, 0xBF48, 0xD4A5, 0xBF49, 0xD4A6, 0xBF4A, 0xD4A7, - 0xBF4B, 0xD4A8, 0xBF4C, 0xD4AA, 0xBF4D, 0xD4AB, 0xBF4E, 0xD4AC, 0xBF4F, 0xD4AD, 0xBF50, 0xD4AE, 0xBF51, 0xD4AF, 0xBF52, 0xD4B0, - 0xBF53, 0xD4B1, 0xBF54, 0xD4B2, 0xBF55, 0xD4B3, 0xBF56, 0xD4B4, 0xBF57, 0xD4B5, 0xBF58, 0xD4B6, 0xBF59, 0xD4B7, 0xBF5A, 0xD4B8, - 0xBF61, 0xD4B9, 0xBF62, 0xD4BA, 0xBF63, 0xD4BB, 0xBF64, 0xD4BC, 0xBF65, 0xD4BD, 0xBF66, 0xD4BE, 0xBF67, 0xD4BF, 0xBF68, 0xD4C0, - 0xBF69, 0xD4C1, 0xBF6A, 0xD4C2, 0xBF6B, 0xD4C3, 0xBF6C, 0xD4C4, 0xBF6D, 0xD4C5, 0xBF6E, 0xD4C6, 0xBF6F, 0xD4C7, 0xBF70, 0xD4C8, - 0xBF71, 0xD4C9, 0xBF72, 0xD4CA, 0xBF73, 0xD4CB, 0xBF74, 0xD4CD, 0xBF75, 0xD4CE, 0xBF76, 0xD4CF, 0xBF77, 0xD4D1, 0xBF78, 0xD4D2, - 0xBF79, 0xD4D3, 0xBF7A, 0xD4D5, 0xBF81, 0xD4D6, 0xBF82, 0xD4D7, 0xBF83, 0xD4D8, 0xBF84, 0xD4D9, 0xBF85, 0xD4DA, 0xBF86, 0xD4DB, - 0xBF87, 0xD4DD, 0xBF88, 0xD4DE, 0xBF89, 0xD4E0, 0xBF8A, 0xD4E1, 0xBF8B, 0xD4E2, 0xBF8C, 0xD4E3, 0xBF8D, 0xD4E4, 0xBF8E, 0xD4E5, - 0xBF8F, 0xD4E6, 0xBF90, 0xD4E7, 0xBF91, 0xD4E9, 0xBF92, 0xD4EA, 0xBF93, 0xD4EB, 0xBF94, 0xD4ED, 0xBF95, 0xD4EE, 0xBF96, 0xD4EF, - 0xBF97, 0xD4F1, 0xBF98, 0xD4F2, 0xBF99, 0xD4F3, 0xBF9A, 0xD4F4, 0xBF9B, 0xD4F5, 0xBF9C, 0xD4F6, 0xBF9D, 0xD4F7, 0xBF9E, 0xD4F9, - 0xBF9F, 0xD4FA, 0xBFA0, 0xD4FC, 0xBFA1, 0xC5D0, 0xBFA2, 0xC5D1, 0xBFA3, 0xC5D4, 0xBFA4, 0xC5D8, 0xBFA5, 0xC5E0, 0xBFA6, 0xC5E1, - 0xBFA7, 0xC5E3, 0xBFA8, 0xC5E5, 0xBFA9, 0xC5EC, 0xBFAA, 0xC5ED, 0xBFAB, 0xC5EE, 0xBFAC, 0xC5F0, 0xBFAD, 0xC5F4, 0xBFAE, 0xC5F6, - 0xBFAF, 0xC5F7, 0xBFB0, 0xC5FC, 0xBFB1, 0xC5FD, 0xBFB2, 0xC5FE, 0xBFB3, 0xC5FF, 0xBFB4, 0xC600, 0xBFB5, 0xC601, 0xBFB6, 0xC605, - 0xBFB7, 0xC606, 0xBFB8, 0xC607, 0xBFB9, 0xC608, 0xBFBA, 0xC60C, 0xBFBB, 0xC610, 0xBFBC, 0xC618, 0xBFBD, 0xC619, 0xBFBE, 0xC61B, - 0xBFBF, 0xC61C, 0xBFC0, 0xC624, 0xBFC1, 0xC625, 0xBFC2, 0xC628, 0xBFC3, 0xC62C, 0xBFC4, 0xC62D, 0xBFC5, 0xC62E, 0xBFC6, 0xC630, - 0xBFC7, 0xC633, 0xBFC8, 0xC634, 0xBFC9, 0xC635, 0xBFCA, 0xC637, 0xBFCB, 0xC639, 0xBFCC, 0xC63B, 0xBFCD, 0xC640, 0xBFCE, 0xC641, - 0xBFCF, 0xC644, 0xBFD0, 0xC648, 0xBFD1, 0xC650, 0xBFD2, 0xC651, 0xBFD3, 0xC653, 0xBFD4, 0xC654, 0xBFD5, 0xC655, 0xBFD6, 0xC65C, - 0xBFD7, 0xC65D, 0xBFD8, 0xC660, 0xBFD9, 0xC66C, 0xBFDA, 0xC66F, 0xBFDB, 0xC671, 0xBFDC, 0xC678, 0xBFDD, 0xC679, 0xBFDE, 0xC67C, - 0xBFDF, 0xC680, 0xBFE0, 0xC688, 0xBFE1, 0xC689, 0xBFE2, 0xC68B, 0xBFE3, 0xC68D, 0xBFE4, 0xC694, 0xBFE5, 0xC695, 0xBFE6, 0xC698, - 0xBFE7, 0xC69C, 0xBFE8, 0xC6A4, 0xBFE9, 0xC6A5, 0xBFEA, 0xC6A7, 0xBFEB, 0xC6A9, 0xBFEC, 0xC6B0, 0xBFED, 0xC6B1, 0xBFEE, 0xC6B4, - 0xBFEF, 0xC6B8, 0xBFF0, 0xC6B9, 0xBFF1, 0xC6BA, 0xBFF2, 0xC6C0, 0xBFF3, 0xC6C1, 0xBFF4, 0xC6C3, 0xBFF5, 0xC6C5, 0xBFF6, 0xC6CC, - 0xBFF7, 0xC6CD, 0xBFF8, 0xC6D0, 0xBFF9, 0xC6D4, 0xBFFA, 0xC6DC, 0xBFFB, 0xC6DD, 0xBFFC, 0xC6E0, 0xBFFD, 0xC6E1, 0xBFFE, 0xC6E8, - 0xC041, 0xD4FE, 0xC042, 0xD4FF, 0xC043, 0xD500, 0xC044, 0xD501, 0xC045, 0xD502, 0xC046, 0xD503, 0xC047, 0xD505, 0xC048, 0xD506, - 0xC049, 0xD507, 0xC04A, 0xD509, 0xC04B, 0xD50A, 0xC04C, 0xD50B, 0xC04D, 0xD50D, 0xC04E, 0xD50E, 0xC04F, 0xD50F, 0xC050, 0xD510, - 0xC051, 0xD511, 0xC052, 0xD512, 0xC053, 0xD513, 0xC054, 0xD516, 0xC055, 0xD518, 0xC056, 0xD519, 0xC057, 0xD51A, 0xC058, 0xD51B, - 0xC059, 0xD51C, 0xC05A, 0xD51D, 0xC061, 0xD51E, 0xC062, 0xD51F, 0xC063, 0xD520, 0xC064, 0xD521, 0xC065, 0xD522, 0xC066, 0xD523, - 0xC067, 0xD524, 0xC068, 0xD525, 0xC069, 0xD526, 0xC06A, 0xD527, 0xC06B, 0xD528, 0xC06C, 0xD529, 0xC06D, 0xD52A, 0xC06E, 0xD52B, - 0xC06F, 0xD52C, 0xC070, 0xD52D, 0xC071, 0xD52E, 0xC072, 0xD52F, 0xC073, 0xD530, 0xC074, 0xD531, 0xC075, 0xD532, 0xC076, 0xD533, - 0xC077, 0xD534, 0xC078, 0xD535, 0xC079, 0xD536, 0xC07A, 0xD537, 0xC081, 0xD538, 0xC082, 0xD539, 0xC083, 0xD53A, 0xC084, 0xD53B, - 0xC085, 0xD53E, 0xC086, 0xD53F, 0xC087, 0xD541, 0xC088, 0xD542, 0xC089, 0xD543, 0xC08A, 0xD545, 0xC08B, 0xD546, 0xC08C, 0xD547, - 0xC08D, 0xD548, 0xC08E, 0xD549, 0xC08F, 0xD54A, 0xC090, 0xD54B, 0xC091, 0xD54E, 0xC092, 0xD550, 0xC093, 0xD552, 0xC094, 0xD553, - 0xC095, 0xD554, 0xC096, 0xD555, 0xC097, 0xD556, 0xC098, 0xD557, 0xC099, 0xD55A, 0xC09A, 0xD55B, 0xC09B, 0xD55D, 0xC09C, 0xD55E, - 0xC09D, 0xD55F, 0xC09E, 0xD561, 0xC09F, 0xD562, 0xC0A0, 0xD563, 0xC0A1, 0xC6E9, 0xC0A2, 0xC6EC, 0xC0A3, 0xC6F0, 0xC0A4, 0xC6F8, - 0xC0A5, 0xC6F9, 0xC0A6, 0xC6FD, 0xC0A7, 0xC704, 0xC0A8, 0xC705, 0xC0A9, 0xC708, 0xC0AA, 0xC70C, 0xC0AB, 0xC714, 0xC0AC, 0xC715, - 0xC0AD, 0xC717, 0xC0AE, 0xC719, 0xC0AF, 0xC720, 0xC0B0, 0xC721, 0xC0B1, 0xC724, 0xC0B2, 0xC728, 0xC0B3, 0xC730, 0xC0B4, 0xC731, - 0xC0B5, 0xC733, 0xC0B6, 0xC735, 0xC0B7, 0xC737, 0xC0B8, 0xC73C, 0xC0B9, 0xC73D, 0xC0BA, 0xC740, 0xC0BB, 0xC744, 0xC0BC, 0xC74A, - 0xC0BD, 0xC74C, 0xC0BE, 0xC74D, 0xC0BF, 0xC74F, 0xC0C0, 0xC751, 0xC0C1, 0xC752, 0xC0C2, 0xC753, 0xC0C3, 0xC754, 0xC0C4, 0xC755, - 0xC0C5, 0xC756, 0xC0C6, 0xC757, 0xC0C7, 0xC758, 0xC0C8, 0xC75C, 0xC0C9, 0xC760, 0xC0CA, 0xC768, 0xC0CB, 0xC76B, 0xC0CC, 0xC774, - 0xC0CD, 0xC775, 0xC0CE, 0xC778, 0xC0CF, 0xC77C, 0xC0D0, 0xC77D, 0xC0D1, 0xC77E, 0xC0D2, 0xC783, 0xC0D3, 0xC784, 0xC0D4, 0xC785, - 0xC0D5, 0xC787, 0xC0D6, 0xC788, 0xC0D7, 0xC789, 0xC0D8, 0xC78A, 0xC0D9, 0xC78E, 0xC0DA, 0xC790, 0xC0DB, 0xC791, 0xC0DC, 0xC794, - 0xC0DD, 0xC796, 0xC0DE, 0xC797, 0xC0DF, 0xC798, 0xC0E0, 0xC79A, 0xC0E1, 0xC7A0, 0xC0E2, 0xC7A1, 0xC0E3, 0xC7A3, 0xC0E4, 0xC7A4, - 0xC0E5, 0xC7A5, 0xC0E6, 0xC7A6, 0xC0E7, 0xC7AC, 0xC0E8, 0xC7AD, 0xC0E9, 0xC7B0, 0xC0EA, 0xC7B4, 0xC0EB, 0xC7BC, 0xC0EC, 0xC7BD, - 0xC0ED, 0xC7BF, 0xC0EE, 0xC7C0, 0xC0EF, 0xC7C1, 0xC0F0, 0xC7C8, 0xC0F1, 0xC7C9, 0xC0F2, 0xC7CC, 0xC0F3, 0xC7CE, 0xC0F4, 0xC7D0, - 0xC0F5, 0xC7D8, 0xC0F6, 0xC7DD, 0xC0F7, 0xC7E4, 0xC0F8, 0xC7E8, 0xC0F9, 0xC7EC, 0xC0FA, 0xC800, 0xC0FB, 0xC801, 0xC0FC, 0xC804, - 0xC0FD, 0xC808, 0xC0FE, 0xC80A, 0xC141, 0xD564, 0xC142, 0xD566, 0xC143, 0xD567, 0xC144, 0xD56A, 0xC145, 0xD56C, 0xC146, 0xD56E, - 0xC147, 0xD56F, 0xC148, 0xD570, 0xC149, 0xD571, 0xC14A, 0xD572, 0xC14B, 0xD573, 0xC14C, 0xD576, 0xC14D, 0xD577, 0xC14E, 0xD579, - 0xC14F, 0xD57A, 0xC150, 0xD57B, 0xC151, 0xD57D, 0xC152, 0xD57E, 0xC153, 0xD57F, 0xC154, 0xD580, 0xC155, 0xD581, 0xC156, 0xD582, - 0xC157, 0xD583, 0xC158, 0xD586, 0xC159, 0xD58A, 0xC15A, 0xD58B, 0xC161, 0xD58C, 0xC162, 0xD58D, 0xC163, 0xD58E, 0xC164, 0xD58F, - 0xC165, 0xD591, 0xC166, 0xD592, 0xC167, 0xD593, 0xC168, 0xD594, 0xC169, 0xD595, 0xC16A, 0xD596, 0xC16B, 0xD597, 0xC16C, 0xD598, - 0xC16D, 0xD599, 0xC16E, 0xD59A, 0xC16F, 0xD59B, 0xC170, 0xD59C, 0xC171, 0xD59D, 0xC172, 0xD59E, 0xC173, 0xD59F, 0xC174, 0xD5A0, - 0xC175, 0xD5A1, 0xC176, 0xD5A2, 0xC177, 0xD5A3, 0xC178, 0xD5A4, 0xC179, 0xD5A6, 0xC17A, 0xD5A7, 0xC181, 0xD5A8, 0xC182, 0xD5A9, - 0xC183, 0xD5AA, 0xC184, 0xD5AB, 0xC185, 0xD5AC, 0xC186, 0xD5AD, 0xC187, 0xD5AE, 0xC188, 0xD5AF, 0xC189, 0xD5B0, 0xC18A, 0xD5B1, - 0xC18B, 0xD5B2, 0xC18C, 0xD5B3, 0xC18D, 0xD5B4, 0xC18E, 0xD5B5, 0xC18F, 0xD5B6, 0xC190, 0xD5B7, 0xC191, 0xD5B8, 0xC192, 0xD5B9, - 0xC193, 0xD5BA, 0xC194, 0xD5BB, 0xC195, 0xD5BC, 0xC196, 0xD5BD, 0xC197, 0xD5BE, 0xC198, 0xD5BF, 0xC199, 0xD5C0, 0xC19A, 0xD5C1, - 0xC19B, 0xD5C2, 0xC19C, 0xD5C3, 0xC19D, 0xD5C4, 0xC19E, 0xD5C5, 0xC19F, 0xD5C6, 0xC1A0, 0xD5C7, 0xC1A1, 0xC810, 0xC1A2, 0xC811, - 0xC1A3, 0xC813, 0xC1A4, 0xC815, 0xC1A5, 0xC816, 0xC1A6, 0xC81C, 0xC1A7, 0xC81D, 0xC1A8, 0xC820, 0xC1A9, 0xC824, 0xC1AA, 0xC82C, - 0xC1AB, 0xC82D, 0xC1AC, 0xC82F, 0xC1AD, 0xC831, 0xC1AE, 0xC838, 0xC1AF, 0xC83C, 0xC1B0, 0xC840, 0xC1B1, 0xC848, 0xC1B2, 0xC849, - 0xC1B3, 0xC84C, 0xC1B4, 0xC84D, 0xC1B5, 0xC854, 0xC1B6, 0xC870, 0xC1B7, 0xC871, 0xC1B8, 0xC874, 0xC1B9, 0xC878, 0xC1BA, 0xC87A, - 0xC1BB, 0xC880, 0xC1BC, 0xC881, 0xC1BD, 0xC883, 0xC1BE, 0xC885, 0xC1BF, 0xC886, 0xC1C0, 0xC887, 0xC1C1, 0xC88B, 0xC1C2, 0xC88C, - 0xC1C3, 0xC88D, 0xC1C4, 0xC894, 0xC1C5, 0xC89D, 0xC1C6, 0xC89F, 0xC1C7, 0xC8A1, 0xC1C8, 0xC8A8, 0xC1C9, 0xC8BC, 0xC1CA, 0xC8BD, - 0xC1CB, 0xC8C4, 0xC1CC, 0xC8C8, 0xC1CD, 0xC8CC, 0xC1CE, 0xC8D4, 0xC1CF, 0xC8D5, 0xC1D0, 0xC8D7, 0xC1D1, 0xC8D9, 0xC1D2, 0xC8E0, - 0xC1D3, 0xC8E1, 0xC1D4, 0xC8E4, 0xC1D5, 0xC8F5, 0xC1D6, 0xC8FC, 0xC1D7, 0xC8FD, 0xC1D8, 0xC900, 0xC1D9, 0xC904, 0xC1DA, 0xC905, - 0xC1DB, 0xC906, 0xC1DC, 0xC90C, 0xC1DD, 0xC90D, 0xC1DE, 0xC90F, 0xC1DF, 0xC911, 0xC1E0, 0xC918, 0xC1E1, 0xC92C, 0xC1E2, 0xC934, - 0xC1E3, 0xC950, 0xC1E4, 0xC951, 0xC1E5, 0xC954, 0xC1E6, 0xC958, 0xC1E7, 0xC960, 0xC1E8, 0xC961, 0xC1E9, 0xC963, 0xC1EA, 0xC96C, - 0xC1EB, 0xC970, 0xC1EC, 0xC974, 0xC1ED, 0xC97C, 0xC1EE, 0xC988, 0xC1EF, 0xC989, 0xC1F0, 0xC98C, 0xC1F1, 0xC990, 0xC1F2, 0xC998, - 0xC1F3, 0xC999, 0xC1F4, 0xC99B, 0xC1F5, 0xC99D, 0xC1F6, 0xC9C0, 0xC1F7, 0xC9C1, 0xC1F8, 0xC9C4, 0xC1F9, 0xC9C7, 0xC1FA, 0xC9C8, - 0xC1FB, 0xC9CA, 0xC1FC, 0xC9D0, 0xC1FD, 0xC9D1, 0xC1FE, 0xC9D3, 0xC241, 0xD5CA, 0xC242, 0xD5CB, 0xC243, 0xD5CD, 0xC244, 0xD5CE, - 0xC245, 0xD5CF, 0xC246, 0xD5D1, 0xC247, 0xD5D3, 0xC248, 0xD5D4, 0xC249, 0xD5D5, 0xC24A, 0xD5D6, 0xC24B, 0xD5D7, 0xC24C, 0xD5DA, - 0xC24D, 0xD5DC, 0xC24E, 0xD5DE, 0xC24F, 0xD5DF, 0xC250, 0xD5E0, 0xC251, 0xD5E1, 0xC252, 0xD5E2, 0xC253, 0xD5E3, 0xC254, 0xD5E6, - 0xC255, 0xD5E7, 0xC256, 0xD5E9, 0xC257, 0xD5EA, 0xC258, 0xD5EB, 0xC259, 0xD5ED, 0xC25A, 0xD5EE, 0xC261, 0xD5EF, 0xC262, 0xD5F0, - 0xC263, 0xD5F1, 0xC264, 0xD5F2, 0xC265, 0xD5F3, 0xC266, 0xD5F6, 0xC267, 0xD5F8, 0xC268, 0xD5FA, 0xC269, 0xD5FB, 0xC26A, 0xD5FC, - 0xC26B, 0xD5FD, 0xC26C, 0xD5FE, 0xC26D, 0xD5FF, 0xC26E, 0xD602, 0xC26F, 0xD603, 0xC270, 0xD605, 0xC271, 0xD606, 0xC272, 0xD607, - 0xC273, 0xD609, 0xC274, 0xD60A, 0xC275, 0xD60B, 0xC276, 0xD60C, 0xC277, 0xD60D, 0xC278, 0xD60E, 0xC279, 0xD60F, 0xC27A, 0xD612, - 0xC281, 0xD616, 0xC282, 0xD617, 0xC283, 0xD618, 0xC284, 0xD619, 0xC285, 0xD61A, 0xC286, 0xD61B, 0xC287, 0xD61D, 0xC288, 0xD61E, - 0xC289, 0xD61F, 0xC28A, 0xD621, 0xC28B, 0xD622, 0xC28C, 0xD623, 0xC28D, 0xD625, 0xC28E, 0xD626, 0xC28F, 0xD627, 0xC290, 0xD628, - 0xC291, 0xD629, 0xC292, 0xD62A, 0xC293, 0xD62B, 0xC294, 0xD62C, 0xC295, 0xD62E, 0xC296, 0xD62F, 0xC297, 0xD630, 0xC298, 0xD631, - 0xC299, 0xD632, 0xC29A, 0xD633, 0xC29B, 0xD634, 0xC29C, 0xD635, 0xC29D, 0xD636, 0xC29E, 0xD637, 0xC29F, 0xD63A, 0xC2A0, 0xD63B, - 0xC2A1, 0xC9D5, 0xC2A2, 0xC9D6, 0xC2A3, 0xC9D9, 0xC2A4, 0xC9DA, 0xC2A5, 0xC9DC, 0xC2A6, 0xC9DD, 0xC2A7, 0xC9E0, 0xC2A8, 0xC9E2, - 0xC2A9, 0xC9E4, 0xC2AA, 0xC9E7, 0xC2AB, 0xC9EC, 0xC2AC, 0xC9ED, 0xC2AD, 0xC9EF, 0xC2AE, 0xC9F0, 0xC2AF, 0xC9F1, 0xC2B0, 0xC9F8, - 0xC2B1, 0xC9F9, 0xC2B2, 0xC9FC, 0xC2B3, 0xCA00, 0xC2B4, 0xCA08, 0xC2B5, 0xCA09, 0xC2B6, 0xCA0B, 0xC2B7, 0xCA0C, 0xC2B8, 0xCA0D, - 0xC2B9, 0xCA14, 0xC2BA, 0xCA18, 0xC2BB, 0xCA29, 0xC2BC, 0xCA4C, 0xC2BD, 0xCA4D, 0xC2BE, 0xCA50, 0xC2BF, 0xCA54, 0xC2C0, 0xCA5C, - 0xC2C1, 0xCA5D, 0xC2C2, 0xCA5F, 0xC2C3, 0xCA60, 0xC2C4, 0xCA61, 0xC2C5, 0xCA68, 0xC2C6, 0xCA7D, 0xC2C7, 0xCA84, 0xC2C8, 0xCA98, - 0xC2C9, 0xCABC, 0xC2CA, 0xCABD, 0xC2CB, 0xCAC0, 0xC2CC, 0xCAC4, 0xC2CD, 0xCACC, 0xC2CE, 0xCACD, 0xC2CF, 0xCACF, 0xC2D0, 0xCAD1, - 0xC2D1, 0xCAD3, 0xC2D2, 0xCAD8, 0xC2D3, 0xCAD9, 0xC2D4, 0xCAE0, 0xC2D5, 0xCAEC, 0xC2D6, 0xCAF4, 0xC2D7, 0xCB08, 0xC2D8, 0xCB10, - 0xC2D9, 0xCB14, 0xC2DA, 0xCB18, 0xC2DB, 0xCB20, 0xC2DC, 0xCB21, 0xC2DD, 0xCB41, 0xC2DE, 0xCB48, 0xC2DF, 0xCB49, 0xC2E0, 0xCB4C, - 0xC2E1, 0xCB50, 0xC2E2, 0xCB58, 0xC2E3, 0xCB59, 0xC2E4, 0xCB5D, 0xC2E5, 0xCB64, 0xC2E6, 0xCB78, 0xC2E7, 0xCB79, 0xC2E8, 0xCB9C, - 0xC2E9, 0xCBB8, 0xC2EA, 0xCBD4, 0xC2EB, 0xCBE4, 0xC2EC, 0xCBE7, 0xC2ED, 0xCBE9, 0xC2EE, 0xCC0C, 0xC2EF, 0xCC0D, 0xC2F0, 0xCC10, - 0xC2F1, 0xCC14, 0xC2F2, 0xCC1C, 0xC2F3, 0xCC1D, 0xC2F4, 0xCC21, 0xC2F5, 0xCC22, 0xC2F6, 0xCC27, 0xC2F7, 0xCC28, 0xC2F8, 0xCC29, - 0xC2F9, 0xCC2C, 0xC2FA, 0xCC2E, 0xC2FB, 0xCC30, 0xC2FC, 0xCC38, 0xC2FD, 0xCC39, 0xC2FE, 0xCC3B, 0xC341, 0xD63D, 0xC342, 0xD63E, - 0xC343, 0xD63F, 0xC344, 0xD641, 0xC345, 0xD642, 0xC346, 0xD643, 0xC347, 0xD644, 0xC348, 0xD646, 0xC349, 0xD647, 0xC34A, 0xD64A, - 0xC34B, 0xD64C, 0xC34C, 0xD64E, 0xC34D, 0xD64F, 0xC34E, 0xD650, 0xC34F, 0xD652, 0xC350, 0xD653, 0xC351, 0xD656, 0xC352, 0xD657, - 0xC353, 0xD659, 0xC354, 0xD65A, 0xC355, 0xD65B, 0xC356, 0xD65D, 0xC357, 0xD65E, 0xC358, 0xD65F, 0xC359, 0xD660, 0xC35A, 0xD661, - 0xC361, 0xD662, 0xC362, 0xD663, 0xC363, 0xD664, 0xC364, 0xD665, 0xC365, 0xD666, 0xC366, 0xD668, 0xC367, 0xD66A, 0xC368, 0xD66B, - 0xC369, 0xD66C, 0xC36A, 0xD66D, 0xC36B, 0xD66E, 0xC36C, 0xD66F, 0xC36D, 0xD672, 0xC36E, 0xD673, 0xC36F, 0xD675, 0xC370, 0xD676, - 0xC371, 0xD677, 0xC372, 0xD678, 0xC373, 0xD679, 0xC374, 0xD67A, 0xC375, 0xD67B, 0xC376, 0xD67C, 0xC377, 0xD67D, 0xC378, 0xD67E, - 0xC379, 0xD67F, 0xC37A, 0xD680, 0xC381, 0xD681, 0xC382, 0xD682, 0xC383, 0xD684, 0xC384, 0xD686, 0xC385, 0xD687, 0xC386, 0xD688, - 0xC387, 0xD689, 0xC388, 0xD68A, 0xC389, 0xD68B, 0xC38A, 0xD68E, 0xC38B, 0xD68F, 0xC38C, 0xD691, 0xC38D, 0xD692, 0xC38E, 0xD693, - 0xC38F, 0xD695, 0xC390, 0xD696, 0xC391, 0xD697, 0xC392, 0xD698, 0xC393, 0xD699, 0xC394, 0xD69A, 0xC395, 0xD69B, 0xC396, 0xD69C, - 0xC397, 0xD69E, 0xC398, 0xD6A0, 0xC399, 0xD6A2, 0xC39A, 0xD6A3, 0xC39B, 0xD6A4, 0xC39C, 0xD6A5, 0xC39D, 0xD6A6, 0xC39E, 0xD6A7, - 0xC39F, 0xD6A9, 0xC3A0, 0xD6AA, 0xC3A1, 0xCC3C, 0xC3A2, 0xCC3D, 0xC3A3, 0xCC3E, 0xC3A4, 0xCC44, 0xC3A5, 0xCC45, 0xC3A6, 0xCC48, - 0xC3A7, 0xCC4C, 0xC3A8, 0xCC54, 0xC3A9, 0xCC55, 0xC3AA, 0xCC57, 0xC3AB, 0xCC58, 0xC3AC, 0xCC59, 0xC3AD, 0xCC60, 0xC3AE, 0xCC64, - 0xC3AF, 0xCC66, 0xC3B0, 0xCC68, 0xC3B1, 0xCC70, 0xC3B2, 0xCC75, 0xC3B3, 0xCC98, 0xC3B4, 0xCC99, 0xC3B5, 0xCC9C, 0xC3B6, 0xCCA0, - 0xC3B7, 0xCCA8, 0xC3B8, 0xCCA9, 0xC3B9, 0xCCAB, 0xC3BA, 0xCCAC, 0xC3BB, 0xCCAD, 0xC3BC, 0xCCB4, 0xC3BD, 0xCCB5, 0xC3BE, 0xCCB8, - 0xC3BF, 0xCCBC, 0xC3C0, 0xCCC4, 0xC3C1, 0xCCC5, 0xC3C2, 0xCCC7, 0xC3C3, 0xCCC9, 0xC3C4, 0xCCD0, 0xC3C5, 0xCCD4, 0xC3C6, 0xCCE4, - 0xC3C7, 0xCCEC, 0xC3C8, 0xCCF0, 0xC3C9, 0xCD01, 0xC3CA, 0xCD08, 0xC3CB, 0xCD09, 0xC3CC, 0xCD0C, 0xC3CD, 0xCD10, 0xC3CE, 0xCD18, - 0xC3CF, 0xCD19, 0xC3D0, 0xCD1B, 0xC3D1, 0xCD1D, 0xC3D2, 0xCD24, 0xC3D3, 0xCD28, 0xC3D4, 0xCD2C, 0xC3D5, 0xCD39, 0xC3D6, 0xCD5C, - 0xC3D7, 0xCD60, 0xC3D8, 0xCD64, 0xC3D9, 0xCD6C, 0xC3DA, 0xCD6D, 0xC3DB, 0xCD6F, 0xC3DC, 0xCD71, 0xC3DD, 0xCD78, 0xC3DE, 0xCD88, - 0xC3DF, 0xCD94, 0xC3E0, 0xCD95, 0xC3E1, 0xCD98, 0xC3E2, 0xCD9C, 0xC3E3, 0xCDA4, 0xC3E4, 0xCDA5, 0xC3E5, 0xCDA7, 0xC3E6, 0xCDA9, - 0xC3E7, 0xCDB0, 0xC3E8, 0xCDC4, 0xC3E9, 0xCDCC, 0xC3EA, 0xCDD0, 0xC3EB, 0xCDE8, 0xC3EC, 0xCDEC, 0xC3ED, 0xCDF0, 0xC3EE, 0xCDF8, - 0xC3EF, 0xCDF9, 0xC3F0, 0xCDFB, 0xC3F1, 0xCDFD, 0xC3F2, 0xCE04, 0xC3F3, 0xCE08, 0xC3F4, 0xCE0C, 0xC3F5, 0xCE14, 0xC3F6, 0xCE19, - 0xC3F7, 0xCE20, 0xC3F8, 0xCE21, 0xC3F9, 0xCE24, 0xC3FA, 0xCE28, 0xC3FB, 0xCE30, 0xC3FC, 0xCE31, 0xC3FD, 0xCE33, 0xC3FE, 0xCE35, - 0xC441, 0xD6AB, 0xC442, 0xD6AD, 0xC443, 0xD6AE, 0xC444, 0xD6AF, 0xC445, 0xD6B1, 0xC446, 0xD6B2, 0xC447, 0xD6B3, 0xC448, 0xD6B4, - 0xC449, 0xD6B5, 0xC44A, 0xD6B6, 0xC44B, 0xD6B7, 0xC44C, 0xD6B8, 0xC44D, 0xD6BA, 0xC44E, 0xD6BC, 0xC44F, 0xD6BD, 0xC450, 0xD6BE, - 0xC451, 0xD6BF, 0xC452, 0xD6C0, 0xC453, 0xD6C1, 0xC454, 0xD6C2, 0xC455, 0xD6C3, 0xC456, 0xD6C6, 0xC457, 0xD6C7, 0xC458, 0xD6C9, - 0xC459, 0xD6CA, 0xC45A, 0xD6CB, 0xC461, 0xD6CD, 0xC462, 0xD6CE, 0xC463, 0xD6CF, 0xC464, 0xD6D0, 0xC465, 0xD6D2, 0xC466, 0xD6D3, - 0xC467, 0xD6D5, 0xC468, 0xD6D6, 0xC469, 0xD6D8, 0xC46A, 0xD6DA, 0xC46B, 0xD6DB, 0xC46C, 0xD6DC, 0xC46D, 0xD6DD, 0xC46E, 0xD6DE, - 0xC46F, 0xD6DF, 0xC470, 0xD6E1, 0xC471, 0xD6E2, 0xC472, 0xD6E3, 0xC473, 0xD6E5, 0xC474, 0xD6E6, 0xC475, 0xD6E7, 0xC476, 0xD6E9, - 0xC477, 0xD6EA, 0xC478, 0xD6EB, 0xC479, 0xD6EC, 0xC47A, 0xD6ED, 0xC481, 0xD6EE, 0xC482, 0xD6EF, 0xC483, 0xD6F1, 0xC484, 0xD6F2, - 0xC485, 0xD6F3, 0xC486, 0xD6F4, 0xC487, 0xD6F6, 0xC488, 0xD6F7, 0xC489, 0xD6F8, 0xC48A, 0xD6F9, 0xC48B, 0xD6FA, 0xC48C, 0xD6FB, - 0xC48D, 0xD6FE, 0xC48E, 0xD6FF, 0xC48F, 0xD701, 0xC490, 0xD702, 0xC491, 0xD703, 0xC492, 0xD705, 0xC493, 0xD706, 0xC494, 0xD707, - 0xC495, 0xD708, 0xC496, 0xD709, 0xC497, 0xD70A, 0xC498, 0xD70B, 0xC499, 0xD70C, 0xC49A, 0xD70D, 0xC49B, 0xD70E, 0xC49C, 0xD70F, - 0xC49D, 0xD710, 0xC49E, 0xD712, 0xC49F, 0xD713, 0xC4A0, 0xD714, 0xC4A1, 0xCE58, 0xC4A2, 0xCE59, 0xC4A3, 0xCE5C, 0xC4A4, 0xCE5F, - 0xC4A5, 0xCE60, 0xC4A6, 0xCE61, 0xC4A7, 0xCE68, 0xC4A8, 0xCE69, 0xC4A9, 0xCE6B, 0xC4AA, 0xCE6D, 0xC4AB, 0xCE74, 0xC4AC, 0xCE75, - 0xC4AD, 0xCE78, 0xC4AE, 0xCE7C, 0xC4AF, 0xCE84, 0xC4B0, 0xCE85, 0xC4B1, 0xCE87, 0xC4B2, 0xCE89, 0xC4B3, 0xCE90, 0xC4B4, 0xCE91, - 0xC4B5, 0xCE94, 0xC4B6, 0xCE98, 0xC4B7, 0xCEA0, 0xC4B8, 0xCEA1, 0xC4B9, 0xCEA3, 0xC4BA, 0xCEA4, 0xC4BB, 0xCEA5, 0xC4BC, 0xCEAC, - 0xC4BD, 0xCEAD, 0xC4BE, 0xCEC1, 0xC4BF, 0xCEE4, 0xC4C0, 0xCEE5, 0xC4C1, 0xCEE8, 0xC4C2, 0xCEEB, 0xC4C3, 0xCEEC, 0xC4C4, 0xCEF4, - 0xC4C5, 0xCEF5, 0xC4C6, 0xCEF7, 0xC4C7, 0xCEF8, 0xC4C8, 0xCEF9, 0xC4C9, 0xCF00, 0xC4CA, 0xCF01, 0xC4CB, 0xCF04, 0xC4CC, 0xCF08, - 0xC4CD, 0xCF10, 0xC4CE, 0xCF11, 0xC4CF, 0xCF13, 0xC4D0, 0xCF15, 0xC4D1, 0xCF1C, 0xC4D2, 0xCF20, 0xC4D3, 0xCF24, 0xC4D4, 0xCF2C, - 0xC4D5, 0xCF2D, 0xC4D6, 0xCF2F, 0xC4D7, 0xCF30, 0xC4D8, 0xCF31, 0xC4D9, 0xCF38, 0xC4DA, 0xCF54, 0xC4DB, 0xCF55, 0xC4DC, 0xCF58, - 0xC4DD, 0xCF5C, 0xC4DE, 0xCF64, 0xC4DF, 0xCF65, 0xC4E0, 0xCF67, 0xC4E1, 0xCF69, 0xC4E2, 0xCF70, 0xC4E3, 0xCF71, 0xC4E4, 0xCF74, - 0xC4E5, 0xCF78, 0xC4E6, 0xCF80, 0xC4E7, 0xCF85, 0xC4E8, 0xCF8C, 0xC4E9, 0xCFA1, 0xC4EA, 0xCFA8, 0xC4EB, 0xCFB0, 0xC4EC, 0xCFC4, - 0xC4ED, 0xCFE0, 0xC4EE, 0xCFE1, 0xC4EF, 0xCFE4, 0xC4F0, 0xCFE8, 0xC4F1, 0xCFF0, 0xC4F2, 0xCFF1, 0xC4F3, 0xCFF3, 0xC4F4, 0xCFF5, - 0xC4F5, 0xCFFC, 0xC4F6, 0xD000, 0xC4F7, 0xD004, 0xC4F8, 0xD011, 0xC4F9, 0xD018, 0xC4FA, 0xD02D, 0xC4FB, 0xD034, 0xC4FC, 0xD035, - 0xC4FD, 0xD038, 0xC4FE, 0xD03C, 0xC541, 0xD715, 0xC542, 0xD716, 0xC543, 0xD717, 0xC544, 0xD71A, 0xC545, 0xD71B, 0xC546, 0xD71D, - 0xC547, 0xD71E, 0xC548, 0xD71F, 0xC549, 0xD721, 0xC54A, 0xD722, 0xC54B, 0xD723, 0xC54C, 0xD724, 0xC54D, 0xD725, 0xC54E, 0xD726, - 0xC54F, 0xD727, 0xC550, 0xD72A, 0xC551, 0xD72C, 0xC552, 0xD72E, 0xC553, 0xD72F, 0xC554, 0xD730, 0xC555, 0xD731, 0xC556, 0xD732, - 0xC557, 0xD733, 0xC558, 0xD736, 0xC559, 0xD737, 0xC55A, 0xD739, 0xC561, 0xD73A, 0xC562, 0xD73B, 0xC563, 0xD73D, 0xC564, 0xD73E, - 0xC565, 0xD73F, 0xC566, 0xD740, 0xC567, 0xD741, 0xC568, 0xD742, 0xC569, 0xD743, 0xC56A, 0xD745, 0xC56B, 0xD746, 0xC56C, 0xD748, - 0xC56D, 0xD74A, 0xC56E, 0xD74B, 0xC56F, 0xD74C, 0xC570, 0xD74D, 0xC571, 0xD74E, 0xC572, 0xD74F, 0xC573, 0xD752, 0xC574, 0xD753, - 0xC575, 0xD755, 0xC576, 0xD75A, 0xC577, 0xD75B, 0xC578, 0xD75C, 0xC579, 0xD75D, 0xC57A, 0xD75E, 0xC581, 0xD75F, 0xC582, 0xD762, - 0xC583, 0xD764, 0xC584, 0xD766, 0xC585, 0xD767, 0xC586, 0xD768, 0xC587, 0xD76A, 0xC588, 0xD76B, 0xC589, 0xD76D, 0xC58A, 0xD76E, - 0xC58B, 0xD76F, 0xC58C, 0xD771, 0xC58D, 0xD772, 0xC58E, 0xD773, 0xC58F, 0xD775, 0xC590, 0xD776, 0xC591, 0xD777, 0xC592, 0xD778, - 0xC593, 0xD779, 0xC594, 0xD77A, 0xC595, 0xD77B, 0xC596, 0xD77E, 0xC597, 0xD77F, 0xC598, 0xD780, 0xC599, 0xD782, 0xC59A, 0xD783, - 0xC59B, 0xD784, 0xC59C, 0xD785, 0xC59D, 0xD786, 0xC59E, 0xD787, 0xC59F, 0xD78A, 0xC5A0, 0xD78B, 0xC5A1, 0xD044, 0xC5A2, 0xD045, - 0xC5A3, 0xD047, 0xC5A4, 0xD049, 0xC5A5, 0xD050, 0xC5A6, 0xD054, 0xC5A7, 0xD058, 0xC5A8, 0xD060, 0xC5A9, 0xD06C, 0xC5AA, 0xD06D, - 0xC5AB, 0xD070, 0xC5AC, 0xD074, 0xC5AD, 0xD07C, 0xC5AE, 0xD07D, 0xC5AF, 0xD081, 0xC5B0, 0xD0A4, 0xC5B1, 0xD0A5, 0xC5B2, 0xD0A8, - 0xC5B3, 0xD0AC, 0xC5B4, 0xD0B4, 0xC5B5, 0xD0B5, 0xC5B6, 0xD0B7, 0xC5B7, 0xD0B9, 0xC5B8, 0xD0C0, 0xC5B9, 0xD0C1, 0xC5BA, 0xD0C4, - 0xC5BB, 0xD0C8, 0xC5BC, 0xD0C9, 0xC5BD, 0xD0D0, 0xC5BE, 0xD0D1, 0xC5BF, 0xD0D3, 0xC5C0, 0xD0D4, 0xC5C1, 0xD0D5, 0xC5C2, 0xD0DC, - 0xC5C3, 0xD0DD, 0xC5C4, 0xD0E0, 0xC5C5, 0xD0E4, 0xC5C6, 0xD0EC, 0xC5C7, 0xD0ED, 0xC5C8, 0xD0EF, 0xC5C9, 0xD0F0, 0xC5CA, 0xD0F1, - 0xC5CB, 0xD0F8, 0xC5CC, 0xD10D, 0xC5CD, 0xD130, 0xC5CE, 0xD131, 0xC5CF, 0xD134, 0xC5D0, 0xD138, 0xC5D1, 0xD13A, 0xC5D2, 0xD140, - 0xC5D3, 0xD141, 0xC5D4, 0xD143, 0xC5D5, 0xD144, 0xC5D6, 0xD145, 0xC5D7, 0xD14C, 0xC5D8, 0xD14D, 0xC5D9, 0xD150, 0xC5DA, 0xD154, - 0xC5DB, 0xD15C, 0xC5DC, 0xD15D, 0xC5DD, 0xD15F, 0xC5DE, 0xD161, 0xC5DF, 0xD168, 0xC5E0, 0xD16C, 0xC5E1, 0xD17C, 0xC5E2, 0xD184, - 0xC5E3, 0xD188, 0xC5E4, 0xD1A0, 0xC5E5, 0xD1A1, 0xC5E6, 0xD1A4, 0xC5E7, 0xD1A8, 0xC5E8, 0xD1B0, 0xC5E9, 0xD1B1, 0xC5EA, 0xD1B3, - 0xC5EB, 0xD1B5, 0xC5EC, 0xD1BA, 0xC5ED, 0xD1BC, 0xC5EE, 0xD1C0, 0xC5EF, 0xD1D8, 0xC5F0, 0xD1F4, 0xC5F1, 0xD1F8, 0xC5F2, 0xD207, - 0xC5F3, 0xD209, 0xC5F4, 0xD210, 0xC5F5, 0xD22C, 0xC5F6, 0xD22D, 0xC5F7, 0xD230, 0xC5F8, 0xD234, 0xC5F9, 0xD23C, 0xC5FA, 0xD23D, - 0xC5FB, 0xD23F, 0xC5FC, 0xD241, 0xC5FD, 0xD248, 0xC5FE, 0xD25C, 0xC641, 0xD78D, 0xC642, 0xD78E, 0xC643, 0xD78F, 0xC644, 0xD791, - 0xC645, 0xD792, 0xC646, 0xD793, 0xC647, 0xD794, 0xC648, 0xD795, 0xC649, 0xD796, 0xC64A, 0xD797, 0xC64B, 0xD79A, 0xC64C, 0xD79C, - 0xC64D, 0xD79E, 0xC64E, 0xD79F, 0xC64F, 0xD7A0, 0xC650, 0xD7A1, 0xC651, 0xD7A2, 0xC652, 0xD7A3, 0xC6A1, 0xD264, 0xC6A2, 0xD280, - 0xC6A3, 0xD281, 0xC6A4, 0xD284, 0xC6A5, 0xD288, 0xC6A6, 0xD290, 0xC6A7, 0xD291, 0xC6A8, 0xD295, 0xC6A9, 0xD29C, 0xC6AA, 0xD2A0, - 0xC6AB, 0xD2A4, 0xC6AC, 0xD2AC, 0xC6AD, 0xD2B1, 0xC6AE, 0xD2B8, 0xC6AF, 0xD2B9, 0xC6B0, 0xD2BC, 0xC6B1, 0xD2BF, 0xC6B2, 0xD2C0, - 0xC6B3, 0xD2C2, 0xC6B4, 0xD2C8, 0xC6B5, 0xD2C9, 0xC6B6, 0xD2CB, 0xC6B7, 0xD2D4, 0xC6B8, 0xD2D8, 0xC6B9, 0xD2DC, 0xC6BA, 0xD2E4, - 0xC6BB, 0xD2E5, 0xC6BC, 0xD2F0, 0xC6BD, 0xD2F1, 0xC6BE, 0xD2F4, 0xC6BF, 0xD2F8, 0xC6C0, 0xD300, 0xC6C1, 0xD301, 0xC6C2, 0xD303, - 0xC6C3, 0xD305, 0xC6C4, 0xD30C, 0xC6C5, 0xD30D, 0xC6C6, 0xD30E, 0xC6C7, 0xD310, 0xC6C8, 0xD314, 0xC6C9, 0xD316, 0xC6CA, 0xD31C, - 0xC6CB, 0xD31D, 0xC6CC, 0xD31F, 0xC6CD, 0xD320, 0xC6CE, 0xD321, 0xC6CF, 0xD325, 0xC6D0, 0xD328, 0xC6D1, 0xD329, 0xC6D2, 0xD32C, - 0xC6D3, 0xD330, 0xC6D4, 0xD338, 0xC6D5, 0xD339, 0xC6D6, 0xD33B, 0xC6D7, 0xD33C, 0xC6D8, 0xD33D, 0xC6D9, 0xD344, 0xC6DA, 0xD345, - 0xC6DB, 0xD37C, 0xC6DC, 0xD37D, 0xC6DD, 0xD380, 0xC6DE, 0xD384, 0xC6DF, 0xD38C, 0xC6E0, 0xD38D, 0xC6E1, 0xD38F, 0xC6E2, 0xD390, - 0xC6E3, 0xD391, 0xC6E4, 0xD398, 0xC6E5, 0xD399, 0xC6E6, 0xD39C, 0xC6E7, 0xD3A0, 0xC6E8, 0xD3A8, 0xC6E9, 0xD3A9, 0xC6EA, 0xD3AB, - 0xC6EB, 0xD3AD, 0xC6EC, 0xD3B4, 0xC6ED, 0xD3B8, 0xC6EE, 0xD3BC, 0xC6EF, 0xD3C4, 0xC6F0, 0xD3C5, 0xC6F1, 0xD3C8, 0xC6F2, 0xD3C9, - 0xC6F3, 0xD3D0, 0xC6F4, 0xD3D8, 0xC6F5, 0xD3E1, 0xC6F6, 0xD3E3, 0xC6F7, 0xD3EC, 0xC6F8, 0xD3ED, 0xC6F9, 0xD3F0, 0xC6FA, 0xD3F4, - 0xC6FB, 0xD3FC, 0xC6FC, 0xD3FD, 0xC6FD, 0xD3FF, 0xC6FE, 0xD401, 0xC7A1, 0xD408, 0xC7A2, 0xD41D, 0xC7A3, 0xD440, 0xC7A4, 0xD444, - 0xC7A5, 0xD45C, 0xC7A6, 0xD460, 0xC7A7, 0xD464, 0xC7A8, 0xD46D, 0xC7A9, 0xD46F, 0xC7AA, 0xD478, 0xC7AB, 0xD479, 0xC7AC, 0xD47C, - 0xC7AD, 0xD47F, 0xC7AE, 0xD480, 0xC7AF, 0xD482, 0xC7B0, 0xD488, 0xC7B1, 0xD489, 0xC7B2, 0xD48B, 0xC7B3, 0xD48D, 0xC7B4, 0xD494, - 0xC7B5, 0xD4A9, 0xC7B6, 0xD4CC, 0xC7B7, 0xD4D0, 0xC7B8, 0xD4D4, 0xC7B9, 0xD4DC, 0xC7BA, 0xD4DF, 0xC7BB, 0xD4E8, 0xC7BC, 0xD4EC, - 0xC7BD, 0xD4F0, 0xC7BE, 0xD4F8, 0xC7BF, 0xD4FB, 0xC7C0, 0xD4FD, 0xC7C1, 0xD504, 0xC7C2, 0xD508, 0xC7C3, 0xD50C, 0xC7C4, 0xD514, - 0xC7C5, 0xD515, 0xC7C6, 0xD517, 0xC7C7, 0xD53C, 0xC7C8, 0xD53D, 0xC7C9, 0xD540, 0xC7CA, 0xD544, 0xC7CB, 0xD54C, 0xC7CC, 0xD54D, - 0xC7CD, 0xD54F, 0xC7CE, 0xD551, 0xC7CF, 0xD558, 0xC7D0, 0xD559, 0xC7D1, 0xD55C, 0xC7D2, 0xD560, 0xC7D3, 0xD565, 0xC7D4, 0xD568, - 0xC7D5, 0xD569, 0xC7D6, 0xD56B, 0xC7D7, 0xD56D, 0xC7D8, 0xD574, 0xC7D9, 0xD575, 0xC7DA, 0xD578, 0xC7DB, 0xD57C, 0xC7DC, 0xD584, - 0xC7DD, 0xD585, 0xC7DE, 0xD587, 0xC7DF, 0xD588, 0xC7E0, 0xD589, 0xC7E1, 0xD590, 0xC7E2, 0xD5A5, 0xC7E3, 0xD5C8, 0xC7E4, 0xD5C9, - 0xC7E5, 0xD5CC, 0xC7E6, 0xD5D0, 0xC7E7, 0xD5D2, 0xC7E8, 0xD5D8, 0xC7E9, 0xD5D9, 0xC7EA, 0xD5DB, 0xC7EB, 0xD5DD, 0xC7EC, 0xD5E4, - 0xC7ED, 0xD5E5, 0xC7EE, 0xD5E8, 0xC7EF, 0xD5EC, 0xC7F0, 0xD5F4, 0xC7F1, 0xD5F5, 0xC7F2, 0xD5F7, 0xC7F3, 0xD5F9, 0xC7F4, 0xD600, - 0xC7F5, 0xD601, 0xC7F6, 0xD604, 0xC7F7, 0xD608, 0xC7F8, 0xD610, 0xC7F9, 0xD611, 0xC7FA, 0xD613, 0xC7FB, 0xD614, 0xC7FC, 0xD615, - 0xC7FD, 0xD61C, 0xC7FE, 0xD620, 0xC8A1, 0xD624, 0xC8A2, 0xD62D, 0xC8A3, 0xD638, 0xC8A4, 0xD639, 0xC8A5, 0xD63C, 0xC8A6, 0xD640, - 0xC8A7, 0xD645, 0xC8A8, 0xD648, 0xC8A9, 0xD649, 0xC8AA, 0xD64B, 0xC8AB, 0xD64D, 0xC8AC, 0xD651, 0xC8AD, 0xD654, 0xC8AE, 0xD655, - 0xC8AF, 0xD658, 0xC8B0, 0xD65C, 0xC8B1, 0xD667, 0xC8B2, 0xD669, 0xC8B3, 0xD670, 0xC8B4, 0xD671, 0xC8B5, 0xD674, 0xC8B6, 0xD683, - 0xC8B7, 0xD685, 0xC8B8, 0xD68C, 0xC8B9, 0xD68D, 0xC8BA, 0xD690, 0xC8BB, 0xD694, 0xC8BC, 0xD69D, 0xC8BD, 0xD69F, 0xC8BE, 0xD6A1, - 0xC8BF, 0xD6A8, 0xC8C0, 0xD6AC, 0xC8C1, 0xD6B0, 0xC8C2, 0xD6B9, 0xC8C3, 0xD6BB, 0xC8C4, 0xD6C4, 0xC8C5, 0xD6C5, 0xC8C6, 0xD6C8, - 0xC8C7, 0xD6CC, 0xC8C8, 0xD6D1, 0xC8C9, 0xD6D4, 0xC8CA, 0xD6D7, 0xC8CB, 0xD6D9, 0xC8CC, 0xD6E0, 0xC8CD, 0xD6E4, 0xC8CE, 0xD6E8, - 0xC8CF, 0xD6F0, 0xC8D0, 0xD6F5, 0xC8D1, 0xD6FC, 0xC8D2, 0xD6FD, 0xC8D3, 0xD700, 0xC8D4, 0xD704, 0xC8D5, 0xD711, 0xC8D6, 0xD718, - 0xC8D7, 0xD719, 0xC8D8, 0xD71C, 0xC8D9, 0xD720, 0xC8DA, 0xD728, 0xC8DB, 0xD729, 0xC8DC, 0xD72B, 0xC8DD, 0xD72D, 0xC8DE, 0xD734, - 0xC8DF, 0xD735, 0xC8E0, 0xD738, 0xC8E1, 0xD73C, 0xC8E2, 0xD744, 0xC8E3, 0xD747, 0xC8E4, 0xD749, 0xC8E5, 0xD750, 0xC8E6, 0xD751, - 0xC8E7, 0xD754, 0xC8E8, 0xD756, 0xC8E9, 0xD757, 0xC8EA, 0xD758, 0xC8EB, 0xD759, 0xC8EC, 0xD760, 0xC8ED, 0xD761, 0xC8EE, 0xD763, - 0xC8EF, 0xD765, 0xC8F0, 0xD769, 0xC8F1, 0xD76C, 0xC8F2, 0xD770, 0xC8F3, 0xD774, 0xC8F4, 0xD77C, 0xC8F5, 0xD77D, 0xC8F6, 0xD781, - 0xC8F7, 0xD788, 0xC8F8, 0xD789, 0xC8F9, 0xD78C, 0xC8FA, 0xD790, 0xC8FB, 0xD798, 0xC8FC, 0xD799, 0xC8FD, 0xD79B, 0xC8FE, 0xD79D, - 0xCAA1, 0x4F3D, 0xCAA2, 0x4F73, 0xCAA3, 0x5047, 0xCAA4, 0x50F9, 0xCAA5, 0x52A0, 0xCAA6, 0x53EF, 0xCAA7, 0x5475, 0xCAA8, 0x54E5, - 0xCAA9, 0x5609, 0xCAAA, 0x5AC1, 0xCAAB, 0x5BB6, 0xCAAC, 0x6687, 0xCAAD, 0x67B6, 0xCAAE, 0x67B7, 0xCAAF, 0x67EF, 0xCAB0, 0x6B4C, - 0xCAB1, 0x73C2, 0xCAB2, 0x75C2, 0xCAB3, 0x7A3C, 0xCAB4, 0x82DB, 0xCAB5, 0x8304, 0xCAB6, 0x8857, 0xCAB7, 0x8888, 0xCAB8, 0x8A36, - 0xCAB9, 0x8CC8, 0xCABA, 0x8DCF, 0xCABB, 0x8EFB, 0xCABC, 0x8FE6, 0xCABD, 0x99D5, 0xCABE, 0x523B, 0xCABF, 0x5374, 0xCAC0, 0x5404, - 0xCAC1, 0x606A, 0xCAC2, 0x6164, 0xCAC3, 0x6BBC, 0xCAC4, 0x73CF, 0xCAC5, 0x811A, 0xCAC6, 0x89BA, 0xCAC7, 0x89D2, 0xCAC8, 0x95A3, - 0xCAC9, 0x4F83, 0xCACA, 0x520A, 0xCACB, 0x58BE, 0xCACC, 0x5978, 0xCACD, 0x59E6, 0xCACE, 0x5E72, 0xCACF, 0x5E79, 0xCAD0, 0x61C7, - 0xCAD1, 0x63C0, 0xCAD2, 0x6746, 0xCAD3, 0x67EC, 0xCAD4, 0x687F, 0xCAD5, 0x6F97, 0xCAD6, 0x764E, 0xCAD7, 0x770B, 0xCAD8, 0x78F5, - 0xCAD9, 0x7A08, 0xCADA, 0x7AFF, 0xCADB, 0x7C21, 0xCADC, 0x809D, 0xCADD, 0x826E, 0xCADE, 0x8271, 0xCADF, 0x8AEB, 0xCAE0, 0x9593, - 0xCAE1, 0x4E6B, 0xCAE2, 0x559D, 0xCAE3, 0x66F7, 0xCAE4, 0x6E34, 0xCAE5, 0x78A3, 0xCAE6, 0x7AED, 0xCAE7, 0x845B, 0xCAE8, 0x8910, - 0xCAE9, 0x874E, 0xCAEA, 0x97A8, 0xCAEB, 0x52D8, 0xCAEC, 0x574E, 0xCAED, 0x582A, 0xCAEE, 0x5D4C, 0xCAEF, 0x611F, 0xCAF0, 0x61BE, - 0xCAF1, 0x6221, 0xCAF2, 0x6562, 0xCAF3, 0x67D1, 0xCAF4, 0x6A44, 0xCAF5, 0x6E1B, 0xCAF6, 0x7518, 0xCAF7, 0x75B3, 0xCAF8, 0x76E3, - 0xCAF9, 0x77B0, 0xCAFA, 0x7D3A, 0xCAFB, 0x90AF, 0xCAFC, 0x9451, 0xCAFD, 0x9452, 0xCAFE, 0x9F95, 0xCBA1, 0x5323, 0xCBA2, 0x5CAC, - 0xCBA3, 0x7532, 0xCBA4, 0x80DB, 0xCBA5, 0x9240, 0xCBA6, 0x9598, 0xCBA7, 0x525B, 0xCBA8, 0x5808, 0xCBA9, 0x59DC, 0xCBAA, 0x5CA1, - 0xCBAB, 0x5D17, 0xCBAC, 0x5EB7, 0xCBAD, 0x5F3A, 0xCBAE, 0x5F4A, 0xCBAF, 0x6177, 0xCBB0, 0x6C5F, 0xCBB1, 0x757A, 0xCBB2, 0x7586, - 0xCBB3, 0x7CE0, 0xCBB4, 0x7D73, 0xCBB5, 0x7DB1, 0xCBB6, 0x7F8C, 0xCBB7, 0x8154, 0xCBB8, 0x8221, 0xCBB9, 0x8591, 0xCBBA, 0x8941, - 0xCBBB, 0x8B1B, 0xCBBC, 0x92FC, 0xCBBD, 0x964D, 0xCBBE, 0x9C47, 0xCBBF, 0x4ECB, 0xCBC0, 0x4EF7, 0xCBC1, 0x500B, 0xCBC2, 0x51F1, - 0xCBC3, 0x584F, 0xCBC4, 0x6137, 0xCBC5, 0x613E, 0xCBC6, 0x6168, 0xCBC7, 0x6539, 0xCBC8, 0x69EA, 0xCBC9, 0x6F11, 0xCBCA, 0x75A5, - 0xCBCB, 0x7686, 0xCBCC, 0x76D6, 0xCBCD, 0x7B87, 0xCBCE, 0x82A5, 0xCBCF, 0x84CB, 0xCBD0, 0xF900, 0xCBD1, 0x93A7, 0xCBD2, 0x958B, - 0xCBD3, 0x5580, 0xCBD4, 0x5BA2, 0xCBD5, 0x5751, 0xCBD6, 0xF901, 0xCBD7, 0x7CB3, 0xCBD8, 0x7FB9, 0xCBD9, 0x91B5, 0xCBDA, 0x5028, - 0xCBDB, 0x53BB, 0xCBDC, 0x5C45, 0xCBDD, 0x5DE8, 0xCBDE, 0x62D2, 0xCBDF, 0x636E, 0xCBE0, 0x64DA, 0xCBE1, 0x64E7, 0xCBE2, 0x6E20, - 0xCBE3, 0x70AC, 0xCBE4, 0x795B, 0xCBE5, 0x8DDD, 0xCBE6, 0x8E1E, 0xCBE7, 0xF902, 0xCBE8, 0x907D, 0xCBE9, 0x9245, 0xCBEA, 0x92F8, - 0xCBEB, 0x4E7E, 0xCBEC, 0x4EF6, 0xCBED, 0x5065, 0xCBEE, 0x5DFE, 0xCBEF, 0x5EFA, 0xCBF0, 0x6106, 0xCBF1, 0x6957, 0xCBF2, 0x8171, - 0xCBF3, 0x8654, 0xCBF4, 0x8E47, 0xCBF5, 0x9375, 0xCBF6, 0x9A2B, 0xCBF7, 0x4E5E, 0xCBF8, 0x5091, 0xCBF9, 0x6770, 0xCBFA, 0x6840, - 0xCBFB, 0x5109, 0xCBFC, 0x528D, 0xCBFD, 0x5292, 0xCBFE, 0x6AA2, 0xCCA1, 0x77BC, 0xCCA2, 0x9210, 0xCCA3, 0x9ED4, 0xCCA4, 0x52AB, - 0xCCA5, 0x602F, 0xCCA6, 0x8FF2, 0xCCA7, 0x5048, 0xCCA8, 0x61A9, 0xCCA9, 0x63ED, 0xCCAA, 0x64CA, 0xCCAB, 0x683C, 0xCCAC, 0x6A84, - 0xCCAD, 0x6FC0, 0xCCAE, 0x8188, 0xCCAF, 0x89A1, 0xCCB0, 0x9694, 0xCCB1, 0x5805, 0xCCB2, 0x727D, 0xCCB3, 0x72AC, 0xCCB4, 0x7504, - 0xCCB5, 0x7D79, 0xCCB6, 0x7E6D, 0xCCB7, 0x80A9, 0xCCB8, 0x898B, 0xCCB9, 0x8B74, 0xCCBA, 0x9063, 0xCCBB, 0x9D51, 0xCCBC, 0x6289, - 0xCCBD, 0x6C7A, 0xCCBE, 0x6F54, 0xCCBF, 0x7D50, 0xCCC0, 0x7F3A, 0xCCC1, 0x8A23, 0xCCC2, 0x517C, 0xCCC3, 0x614A, 0xCCC4, 0x7B9D, - 0xCCC5, 0x8B19, 0xCCC6, 0x9257, 0xCCC7, 0x938C, 0xCCC8, 0x4EAC, 0xCCC9, 0x4FD3, 0xCCCA, 0x501E, 0xCCCB, 0x50BE, 0xCCCC, 0x5106, - 0xCCCD, 0x52C1, 0xCCCE, 0x52CD, 0xCCCF, 0x537F, 0xCCD0, 0x5770, 0xCCD1, 0x5883, 0xCCD2, 0x5E9A, 0xCCD3, 0x5F91, 0xCCD4, 0x6176, - 0xCCD5, 0x61AC, 0xCCD6, 0x64CE, 0xCCD7, 0x656C, 0xCCD8, 0x666F, 0xCCD9, 0x66BB, 0xCCDA, 0x66F4, 0xCCDB, 0x6897, 0xCCDC, 0x6D87, - 0xCCDD, 0x7085, 0xCCDE, 0x70F1, 0xCCDF, 0x749F, 0xCCE0, 0x74A5, 0xCCE1, 0x74CA, 0xCCE2, 0x75D9, 0xCCE3, 0x786C, 0xCCE4, 0x78EC, - 0xCCE5, 0x7ADF, 0xCCE6, 0x7AF6, 0xCCE7, 0x7D45, 0xCCE8, 0x7D93, 0xCCE9, 0x8015, 0xCCEA, 0x803F, 0xCCEB, 0x811B, 0xCCEC, 0x8396, - 0xCCED, 0x8B66, 0xCCEE, 0x8F15, 0xCCEF, 0x9015, 0xCCF0, 0x93E1, 0xCCF1, 0x9803, 0xCCF2, 0x9838, 0xCCF3, 0x9A5A, 0xCCF4, 0x9BE8, - 0xCCF5, 0x4FC2, 0xCCF6, 0x5553, 0xCCF7, 0x583A, 0xCCF8, 0x5951, 0xCCF9, 0x5B63, 0xCCFA, 0x5C46, 0xCCFB, 0x60B8, 0xCCFC, 0x6212, - 0xCCFD, 0x6842, 0xCCFE, 0x68B0, 0xCDA1, 0x68E8, 0xCDA2, 0x6EAA, 0xCDA3, 0x754C, 0xCDA4, 0x7678, 0xCDA5, 0x78CE, 0xCDA6, 0x7A3D, - 0xCDA7, 0x7CFB, 0xCDA8, 0x7E6B, 0xCDA9, 0x7E7C, 0xCDAA, 0x8A08, 0xCDAB, 0x8AA1, 0xCDAC, 0x8C3F, 0xCDAD, 0x968E, 0xCDAE, 0x9DC4, - 0xCDAF, 0x53E4, 0xCDB0, 0x53E9, 0xCDB1, 0x544A, 0xCDB2, 0x5471, 0xCDB3, 0x56FA, 0xCDB4, 0x59D1, 0xCDB5, 0x5B64, 0xCDB6, 0x5C3B, - 0xCDB7, 0x5EAB, 0xCDB8, 0x62F7, 0xCDB9, 0x6537, 0xCDBA, 0x6545, 0xCDBB, 0x6572, 0xCDBC, 0x66A0, 0xCDBD, 0x67AF, 0xCDBE, 0x69C1, - 0xCDBF, 0x6CBD, 0xCDC0, 0x75FC, 0xCDC1, 0x7690, 0xCDC2, 0x777E, 0xCDC3, 0x7A3F, 0xCDC4, 0x7F94, 0xCDC5, 0x8003, 0xCDC6, 0x80A1, - 0xCDC7, 0x818F, 0xCDC8, 0x82E6, 0xCDC9, 0x82FD, 0xCDCA, 0x83F0, 0xCDCB, 0x85C1, 0xCDCC, 0x8831, 0xCDCD, 0x88B4, 0xCDCE, 0x8AA5, - 0xCDCF, 0xF903, 0xCDD0, 0x8F9C, 0xCDD1, 0x932E, 0xCDD2, 0x96C7, 0xCDD3, 0x9867, 0xCDD4, 0x9AD8, 0xCDD5, 0x9F13, 0xCDD6, 0x54ED, - 0xCDD7, 0x659B, 0xCDD8, 0x66F2, 0xCDD9, 0x688F, 0xCDDA, 0x7A40, 0xCDDB, 0x8C37, 0xCDDC, 0x9D60, 0xCDDD, 0x56F0, 0xCDDE, 0x5764, - 0xCDDF, 0x5D11, 0xCDE0, 0x6606, 0xCDE1, 0x68B1, 0xCDE2, 0x68CD, 0xCDE3, 0x6EFE, 0xCDE4, 0x7428, 0xCDE5, 0x889E, 0xCDE6, 0x9BE4, - 0xCDE7, 0x6C68, 0xCDE8, 0xF904, 0xCDE9, 0x9AA8, 0xCDEA, 0x4F9B, 0xCDEB, 0x516C, 0xCDEC, 0x5171, 0xCDED, 0x529F, 0xCDEE, 0x5B54, - 0xCDEF, 0x5DE5, 0xCDF0, 0x6050, 0xCDF1, 0x606D, 0xCDF2, 0x62F1, 0xCDF3, 0x63A7, 0xCDF4, 0x653B, 0xCDF5, 0x73D9, 0xCDF6, 0x7A7A, - 0xCDF7, 0x86A3, 0xCDF8, 0x8CA2, 0xCDF9, 0x978F, 0xCDFA, 0x4E32, 0xCDFB, 0x5BE1, 0xCDFC, 0x6208, 0xCDFD, 0x679C, 0xCDFE, 0x74DC, - 0xCEA1, 0x79D1, 0xCEA2, 0x83D3, 0xCEA3, 0x8A87, 0xCEA4, 0x8AB2, 0xCEA5, 0x8DE8, 0xCEA6, 0x904E, 0xCEA7, 0x934B, 0xCEA8, 0x9846, - 0xCEA9, 0x5ED3, 0xCEAA, 0x69E8, 0xCEAB, 0x85FF, 0xCEAC, 0x90ED, 0xCEAD, 0xF905, 0xCEAE, 0x51A0, 0xCEAF, 0x5B98, 0xCEB0, 0x5BEC, - 0xCEB1, 0x6163, 0xCEB2, 0x68FA, 0xCEB3, 0x6B3E, 0xCEB4, 0x704C, 0xCEB5, 0x742F, 0xCEB6, 0x74D8, 0xCEB7, 0x7BA1, 0xCEB8, 0x7F50, - 0xCEB9, 0x83C5, 0xCEBA, 0x89C0, 0xCEBB, 0x8CAB, 0xCEBC, 0x95DC, 0xCEBD, 0x9928, 0xCEBE, 0x522E, 0xCEBF, 0x605D, 0xCEC0, 0x62EC, - 0xCEC1, 0x9002, 0xCEC2, 0x4F8A, 0xCEC3, 0x5149, 0xCEC4, 0x5321, 0xCEC5, 0x58D9, 0xCEC6, 0x5EE3, 0xCEC7, 0x66E0, 0xCEC8, 0x6D38, - 0xCEC9, 0x709A, 0xCECA, 0x72C2, 0xCECB, 0x73D6, 0xCECC, 0x7B50, 0xCECD, 0x80F1, 0xCECE, 0x945B, 0xCECF, 0x5366, 0xCED0, 0x639B, - 0xCED1, 0x7F6B, 0xCED2, 0x4E56, 0xCED3, 0x5080, 0xCED4, 0x584A, 0xCED5, 0x58DE, 0xCED6, 0x602A, 0xCED7, 0x6127, 0xCED8, 0x62D0, - 0xCED9, 0x69D0, 0xCEDA, 0x9B41, 0xCEDB, 0x5B8F, 0xCEDC, 0x7D18, 0xCEDD, 0x80B1, 0xCEDE, 0x8F5F, 0xCEDF, 0x4EA4, 0xCEE0, 0x50D1, - 0xCEE1, 0x54AC, 0xCEE2, 0x55AC, 0xCEE3, 0x5B0C, 0xCEE4, 0x5DA0, 0xCEE5, 0x5DE7, 0xCEE6, 0x652A, 0xCEE7, 0x654E, 0xCEE8, 0x6821, - 0xCEE9, 0x6A4B, 0xCEEA, 0x72E1, 0xCEEB, 0x768E, 0xCEEC, 0x77EF, 0xCEED, 0x7D5E, 0xCEEE, 0x7FF9, 0xCEEF, 0x81A0, 0xCEF0, 0x854E, - 0xCEF1, 0x86DF, 0xCEF2, 0x8F03, 0xCEF3, 0x8F4E, 0xCEF4, 0x90CA, 0xCEF5, 0x9903, 0xCEF6, 0x9A55, 0xCEF7, 0x9BAB, 0xCEF8, 0x4E18, - 0xCEF9, 0x4E45, 0xCEFA, 0x4E5D, 0xCEFB, 0x4EC7, 0xCEFC, 0x4FF1, 0xCEFD, 0x5177, 0xCEFE, 0x52FE, 0xCFA1, 0x5340, 0xCFA2, 0x53E3, - 0xCFA3, 0x53E5, 0xCFA4, 0x548E, 0xCFA5, 0x5614, 0xCFA6, 0x5775, 0xCFA7, 0x57A2, 0xCFA8, 0x5BC7, 0xCFA9, 0x5D87, 0xCFAA, 0x5ED0, - 0xCFAB, 0x61FC, 0xCFAC, 0x62D8, 0xCFAD, 0x6551, 0xCFAE, 0x67B8, 0xCFAF, 0x67E9, 0xCFB0, 0x69CB, 0xCFB1, 0x6B50, 0xCFB2, 0x6BC6, - 0xCFB3, 0x6BEC, 0xCFB4, 0x6C42, 0xCFB5, 0x6E9D, 0xCFB6, 0x7078, 0xCFB7, 0x72D7, 0xCFB8, 0x7396, 0xCFB9, 0x7403, 0xCFBA, 0x77BF, - 0xCFBB, 0x77E9, 0xCFBC, 0x7A76, 0xCFBD, 0x7D7F, 0xCFBE, 0x8009, 0xCFBF, 0x81FC, 0xCFC0, 0x8205, 0xCFC1, 0x820A, 0xCFC2, 0x82DF, - 0xCFC3, 0x8862, 0xCFC4, 0x8B33, 0xCFC5, 0x8CFC, 0xCFC6, 0x8EC0, 0xCFC7, 0x9011, 0xCFC8, 0x90B1, 0xCFC9, 0x9264, 0xCFCA, 0x92B6, - 0xCFCB, 0x99D2, 0xCFCC, 0x9A45, 0xCFCD, 0x9CE9, 0xCFCE, 0x9DD7, 0xCFCF, 0x9F9C, 0xCFD0, 0x570B, 0xCFD1, 0x5C40, 0xCFD2, 0x83CA, - 0xCFD3, 0x97A0, 0xCFD4, 0x97AB, 0xCFD5, 0x9EB4, 0xCFD6, 0x541B, 0xCFD7, 0x7A98, 0xCFD8, 0x7FA4, 0xCFD9, 0x88D9, 0xCFDA, 0x8ECD, - 0xCFDB, 0x90E1, 0xCFDC, 0x5800, 0xCFDD, 0x5C48, 0xCFDE, 0x6398, 0xCFDF, 0x7A9F, 0xCFE0, 0x5BAE, 0xCFE1, 0x5F13, 0xCFE2, 0x7A79, - 0xCFE3, 0x7AAE, 0xCFE4, 0x828E, 0xCFE5, 0x8EAC, 0xCFE6, 0x5026, 0xCFE7, 0x5238, 0xCFE8, 0x52F8, 0xCFE9, 0x5377, 0xCFEA, 0x5708, - 0xCFEB, 0x62F3, 0xCFEC, 0x6372, 0xCFED, 0x6B0A, 0xCFEE, 0x6DC3, 0xCFEF, 0x7737, 0xCFF0, 0x53A5, 0xCFF1, 0x7357, 0xCFF2, 0x8568, - 0xCFF3, 0x8E76, 0xCFF4, 0x95D5, 0xCFF5, 0x673A, 0xCFF6, 0x6AC3, 0xCFF7, 0x6F70, 0xCFF8, 0x8A6D, 0xCFF9, 0x8ECC, 0xCFFA, 0x994B, - 0xCFFB, 0xF906, 0xCFFC, 0x6677, 0xCFFD, 0x6B78, 0xCFFE, 0x8CB4, 0xD0A1, 0x9B3C, 0xD0A2, 0xF907, 0xD0A3, 0x53EB, 0xD0A4, 0x572D, - 0xD0A5, 0x594E, 0xD0A6, 0x63C6, 0xD0A7, 0x69FB, 0xD0A8, 0x73EA, 0xD0A9, 0x7845, 0xD0AA, 0x7ABA, 0xD0AB, 0x7AC5, 0xD0AC, 0x7CFE, - 0xD0AD, 0x8475, 0xD0AE, 0x898F, 0xD0AF, 0x8D73, 0xD0B0, 0x9035, 0xD0B1, 0x95A8, 0xD0B2, 0x52FB, 0xD0B3, 0x5747, 0xD0B4, 0x7547, - 0xD0B5, 0x7B60, 0xD0B6, 0x83CC, 0xD0B7, 0x921E, 0xD0B8, 0xF908, 0xD0B9, 0x6A58, 0xD0BA, 0x514B, 0xD0BB, 0x524B, 0xD0BC, 0x5287, - 0xD0BD, 0x621F, 0xD0BE, 0x68D8, 0xD0BF, 0x6975, 0xD0C0, 0x9699, 0xD0C1, 0x50C5, 0xD0C2, 0x52A4, 0xD0C3, 0x52E4, 0xD0C4, 0x61C3, - 0xD0C5, 0x65A4, 0xD0C6, 0x6839, 0xD0C7, 0x69FF, 0xD0C8, 0x747E, 0xD0C9, 0x7B4B, 0xD0CA, 0x82B9, 0xD0CB, 0x83EB, 0xD0CC, 0x89B2, - 0xD0CD, 0x8B39, 0xD0CE, 0x8FD1, 0xD0CF, 0x9949, 0xD0D0, 0xF909, 0xD0D1, 0x4ECA, 0xD0D2, 0x5997, 0xD0D3, 0x64D2, 0xD0D4, 0x6611, - 0xD0D5, 0x6A8E, 0xD0D6, 0x7434, 0xD0D7, 0x7981, 0xD0D8, 0x79BD, 0xD0D9, 0x82A9, 0xD0DA, 0x887E, 0xD0DB, 0x887F, 0xD0DC, 0x895F, - 0xD0DD, 0xF90A, 0xD0DE, 0x9326, 0xD0DF, 0x4F0B, 0xD0E0, 0x53CA, 0xD0E1, 0x6025, 0xD0E2, 0x6271, 0xD0E3, 0x6C72, 0xD0E4, 0x7D1A, - 0xD0E5, 0x7D66, 0xD0E6, 0x4E98, 0xD0E7, 0x5162, 0xD0E8, 0x77DC, 0xD0E9, 0x80AF, 0xD0EA, 0x4F01, 0xD0EB, 0x4F0E, 0xD0EC, 0x5176, - 0xD0ED, 0x5180, 0xD0EE, 0x55DC, 0xD0EF, 0x5668, 0xD0F0, 0x573B, 0xD0F1, 0x57FA, 0xD0F2, 0x57FC, 0xD0F3, 0x5914, 0xD0F4, 0x5947, - 0xD0F5, 0x5993, 0xD0F6, 0x5BC4, 0xD0F7, 0x5C90, 0xD0F8, 0x5D0E, 0xD0F9, 0x5DF1, 0xD0FA, 0x5E7E, 0xD0FB, 0x5FCC, 0xD0FC, 0x6280, - 0xD0FD, 0x65D7, 0xD0FE, 0x65E3, 0xD1A1, 0x671E, 0xD1A2, 0x671F, 0xD1A3, 0x675E, 0xD1A4, 0x68CB, 0xD1A5, 0x68C4, 0xD1A6, 0x6A5F, - 0xD1A7, 0x6B3A, 0xD1A8, 0x6C23, 0xD1A9, 0x6C7D, 0xD1AA, 0x6C82, 0xD1AB, 0x6DC7, 0xD1AC, 0x7398, 0xD1AD, 0x7426, 0xD1AE, 0x742A, - 0xD1AF, 0x7482, 0xD1B0, 0x74A3, 0xD1B1, 0x7578, 0xD1B2, 0x757F, 0xD1B3, 0x7881, 0xD1B4, 0x78EF, 0xD1B5, 0x7941, 0xD1B6, 0x7947, - 0xD1B7, 0x7948, 0xD1B8, 0x797A, 0xD1B9, 0x7B95, 0xD1BA, 0x7D00, 0xD1BB, 0x7DBA, 0xD1BC, 0x7F88, 0xD1BD, 0x8006, 0xD1BE, 0x802D, - 0xD1BF, 0x808C, 0xD1C0, 0x8A18, 0xD1C1, 0x8B4F, 0xD1C2, 0x8C48, 0xD1C3, 0x8D77, 0xD1C4, 0x9321, 0xD1C5, 0x9324, 0xD1C6, 0x98E2, - 0xD1C7, 0x9951, 0xD1C8, 0x9A0E, 0xD1C9, 0x9A0F, 0xD1CA, 0x9A65, 0xD1CB, 0x9E92, 0xD1CC, 0x7DCA, 0xD1CD, 0x4F76, 0xD1CE, 0x5409, - 0xD1CF, 0x62EE, 0xD1D0, 0x6854, 0xD1D1, 0x91D1, 0xD1D2, 0x55AB, 0xD1D3, 0x513A, 0xD1D4, 0xF90B, 0xD1D5, 0xF90C, 0xD1D6, 0x5A1C, - 0xD1D7, 0x61E6, 0xD1D8, 0xF90D, 0xD1D9, 0x62CF, 0xD1DA, 0x62FF, 0xD1DB, 0xF90E, 0xD1DC, 0xF90F, 0xD1DD, 0xF910, 0xD1DE, 0xF911, - 0xD1DF, 0xF912, 0xD1E0, 0xF913, 0xD1E1, 0x90A3, 0xD1E2, 0xF914, 0xD1E3, 0xF915, 0xD1E4, 0xF916, 0xD1E5, 0xF917, 0xD1E6, 0xF918, - 0xD1E7, 0x8AFE, 0xD1E8, 0xF919, 0xD1E9, 0xF91A, 0xD1EA, 0xF91B, 0xD1EB, 0xF91C, 0xD1EC, 0x6696, 0xD1ED, 0xF91D, 0xD1EE, 0x7156, - 0xD1EF, 0xF91E, 0xD1F0, 0xF91F, 0xD1F1, 0x96E3, 0xD1F2, 0xF920, 0xD1F3, 0x634F, 0xD1F4, 0x637A, 0xD1F5, 0x5357, 0xD1F6, 0xF921, - 0xD1F7, 0x678F, 0xD1F8, 0x6960, 0xD1F9, 0x6E73, 0xD1FA, 0xF922, 0xD1FB, 0x7537, 0xD1FC, 0xF923, 0xD1FD, 0xF924, 0xD1FE, 0xF925, - 0xD2A1, 0x7D0D, 0xD2A2, 0xF926, 0xD2A3, 0xF927, 0xD2A4, 0x8872, 0xD2A5, 0x56CA, 0xD2A6, 0x5A18, 0xD2A7, 0xF928, 0xD2A8, 0xF929, - 0xD2A9, 0xF92A, 0xD2AA, 0xF92B, 0xD2AB, 0xF92C, 0xD2AC, 0x4E43, 0xD2AD, 0xF92D, 0xD2AE, 0x5167, 0xD2AF, 0x5948, 0xD2B0, 0x67F0, - 0xD2B1, 0x8010, 0xD2B2, 0xF92E, 0xD2B3, 0x5973, 0xD2B4, 0x5E74, 0xD2B5, 0x649A, 0xD2B6, 0x79CA, 0xD2B7, 0x5FF5, 0xD2B8, 0x606C, - 0xD2B9, 0x62C8, 0xD2BA, 0x637B, 0xD2BB, 0x5BE7, 0xD2BC, 0x5BD7, 0xD2BD, 0x52AA, 0xD2BE, 0xF92F, 0xD2BF, 0x5974, 0xD2C0, 0x5F29, - 0xD2C1, 0x6012, 0xD2C2, 0xF930, 0xD2C3, 0xF931, 0xD2C4, 0xF932, 0xD2C5, 0x7459, 0xD2C6, 0xF933, 0xD2C7, 0xF934, 0xD2C8, 0xF935, - 0xD2C9, 0xF936, 0xD2CA, 0xF937, 0xD2CB, 0xF938, 0xD2CC, 0x99D1, 0xD2CD, 0xF939, 0xD2CE, 0xF93A, 0xD2CF, 0xF93B, 0xD2D0, 0xF93C, - 0xD2D1, 0xF93D, 0xD2D2, 0xF93E, 0xD2D3, 0xF93F, 0xD2D4, 0xF940, 0xD2D5, 0xF941, 0xD2D6, 0xF942, 0xD2D7, 0xF943, 0xD2D8, 0x6FC3, - 0xD2D9, 0xF944, 0xD2DA, 0xF945, 0xD2DB, 0x81BF, 0xD2DC, 0x8FB2, 0xD2DD, 0x60F1, 0xD2DE, 0xF946, 0xD2DF, 0xF947, 0xD2E0, 0x8166, - 0xD2E1, 0xF948, 0xD2E2, 0xF949, 0xD2E3, 0x5C3F, 0xD2E4, 0xF94A, 0xD2E5, 0xF94B, 0xD2E6, 0xF94C, 0xD2E7, 0xF94D, 0xD2E8, 0xF94E, - 0xD2E9, 0xF94F, 0xD2EA, 0xF950, 0xD2EB, 0xF951, 0xD2EC, 0x5AE9, 0xD2ED, 0x8A25, 0xD2EE, 0x677B, 0xD2EF, 0x7D10, 0xD2F0, 0xF952, - 0xD2F1, 0xF953, 0xD2F2, 0xF954, 0xD2F3, 0xF955, 0xD2F4, 0xF956, 0xD2F5, 0xF957, 0xD2F6, 0x80FD, 0xD2F7, 0xF958, 0xD2F8, 0xF959, - 0xD2F9, 0x5C3C, 0xD2FA, 0x6CE5, 0xD2FB, 0x533F, 0xD2FC, 0x6EBA, 0xD2FD, 0x591A, 0xD2FE, 0x8336, 0xD3A1, 0x4E39, 0xD3A2, 0x4EB6, - 0xD3A3, 0x4F46, 0xD3A4, 0x55AE, 0xD3A5, 0x5718, 0xD3A6, 0x58C7, 0xD3A7, 0x5F56, 0xD3A8, 0x65B7, 0xD3A9, 0x65E6, 0xD3AA, 0x6A80, - 0xD3AB, 0x6BB5, 0xD3AC, 0x6E4D, 0xD3AD, 0x77ED, 0xD3AE, 0x7AEF, 0xD3AF, 0x7C1E, 0xD3B0, 0x7DDE, 0xD3B1, 0x86CB, 0xD3B2, 0x8892, - 0xD3B3, 0x9132, 0xD3B4, 0x935B, 0xD3B5, 0x64BB, 0xD3B6, 0x6FBE, 0xD3B7, 0x737A, 0xD3B8, 0x75B8, 0xD3B9, 0x9054, 0xD3BA, 0x5556, - 0xD3BB, 0x574D, 0xD3BC, 0x61BA, 0xD3BD, 0x64D4, 0xD3BE, 0x66C7, 0xD3BF, 0x6DE1, 0xD3C0, 0x6E5B, 0xD3C1, 0x6F6D, 0xD3C2, 0x6FB9, - 0xD3C3, 0x75F0, 0xD3C4, 0x8043, 0xD3C5, 0x81BD, 0xD3C6, 0x8541, 0xD3C7, 0x8983, 0xD3C8, 0x8AC7, 0xD3C9, 0x8B5A, 0xD3CA, 0x931F, - 0xD3CB, 0x6C93, 0xD3CC, 0x7553, 0xD3CD, 0x7B54, 0xD3CE, 0x8E0F, 0xD3CF, 0x905D, 0xD3D0, 0x5510, 0xD3D1, 0x5802, 0xD3D2, 0x5858, - 0xD3D3, 0x5E62, 0xD3D4, 0x6207, 0xD3D5, 0x649E, 0xD3D6, 0x68E0, 0xD3D7, 0x7576, 0xD3D8, 0x7CD6, 0xD3D9, 0x87B3, 0xD3DA, 0x9EE8, - 0xD3DB, 0x4EE3, 0xD3DC, 0x5788, 0xD3DD, 0x576E, 0xD3DE, 0x5927, 0xD3DF, 0x5C0D, 0xD3E0, 0x5CB1, 0xD3E1, 0x5E36, 0xD3E2, 0x5F85, - 0xD3E3, 0x6234, 0xD3E4, 0x64E1, 0xD3E5, 0x73B3, 0xD3E6, 0x81FA, 0xD3E7, 0x888B, 0xD3E8, 0x8CB8, 0xD3E9, 0x968A, 0xD3EA, 0x9EDB, - 0xD3EB, 0x5B85, 0xD3EC, 0x5FB7, 0xD3ED, 0x60B3, 0xD3EE, 0x5012, 0xD3EF, 0x5200, 0xD3F0, 0x5230, 0xD3F1, 0x5716, 0xD3F2, 0x5835, - 0xD3F3, 0x5857, 0xD3F4, 0x5C0E, 0xD3F5, 0x5C60, 0xD3F6, 0x5CF6, 0xD3F7, 0x5D8B, 0xD3F8, 0x5EA6, 0xD3F9, 0x5F92, 0xD3FA, 0x60BC, - 0xD3FB, 0x6311, 0xD3FC, 0x6389, 0xD3FD, 0x6417, 0xD3FE, 0x6843, 0xD4A1, 0x68F9, 0xD4A2, 0x6AC2, 0xD4A3, 0x6DD8, 0xD4A4, 0x6E21, - 0xD4A5, 0x6ED4, 0xD4A6, 0x6FE4, 0xD4A7, 0x71FE, 0xD4A8, 0x76DC, 0xD4A9, 0x7779, 0xD4AA, 0x79B1, 0xD4AB, 0x7A3B, 0xD4AC, 0x8404, - 0xD4AD, 0x89A9, 0xD4AE, 0x8CED, 0xD4AF, 0x8DF3, 0xD4B0, 0x8E48, 0xD4B1, 0x9003, 0xD4B2, 0x9014, 0xD4B3, 0x9053, 0xD4B4, 0x90FD, - 0xD4B5, 0x934D, 0xD4B6, 0x9676, 0xD4B7, 0x97DC, 0xD4B8, 0x6BD2, 0xD4B9, 0x7006, 0xD4BA, 0x7258, 0xD4BB, 0x72A2, 0xD4BC, 0x7368, - 0xD4BD, 0x7763, 0xD4BE, 0x79BF, 0xD4BF, 0x7BE4, 0xD4C0, 0x7E9B, 0xD4C1, 0x8B80, 0xD4C2, 0x58A9, 0xD4C3, 0x60C7, 0xD4C4, 0x6566, - 0xD4C5, 0x65FD, 0xD4C6, 0x66BE, 0xD4C7, 0x6C8C, 0xD4C8, 0x711E, 0xD4C9, 0x71C9, 0xD4CA, 0x8C5A, 0xD4CB, 0x9813, 0xD4CC, 0x4E6D, - 0xD4CD, 0x7A81, 0xD4CE, 0x4EDD, 0xD4CF, 0x51AC, 0xD4D0, 0x51CD, 0xD4D1, 0x52D5, 0xD4D2, 0x540C, 0xD4D3, 0x61A7, 0xD4D4, 0x6771, - 0xD4D5, 0x6850, 0xD4D6, 0x68DF, 0xD4D7, 0x6D1E, 0xD4D8, 0x6F7C, 0xD4D9, 0x75BC, 0xD4DA, 0x77B3, 0xD4DB, 0x7AE5, 0xD4DC, 0x80F4, - 0xD4DD, 0x8463, 0xD4DE, 0x9285, 0xD4DF, 0x515C, 0xD4E0, 0x6597, 0xD4E1, 0x675C, 0xD4E2, 0x6793, 0xD4E3, 0x75D8, 0xD4E4, 0x7AC7, - 0xD4E5, 0x8373, 0xD4E6, 0xF95A, 0xD4E7, 0x8C46, 0xD4E8, 0x9017, 0xD4E9, 0x982D, 0xD4EA, 0x5C6F, 0xD4EB, 0x81C0, 0xD4EC, 0x829A, - 0xD4ED, 0x9041, 0xD4EE, 0x906F, 0xD4EF, 0x920D, 0xD4F0, 0x5F97, 0xD4F1, 0x5D9D, 0xD4F2, 0x6A59, 0xD4F3, 0x71C8, 0xD4F4, 0x767B, - 0xD4F5, 0x7B49, 0xD4F6, 0x85E4, 0xD4F7, 0x8B04, 0xD4F8, 0x9127, 0xD4F9, 0x9A30, 0xD4FA, 0x5587, 0xD4FB, 0x61F6, 0xD4FC, 0xF95B, - 0xD4FD, 0x7669, 0xD4FE, 0x7F85, 0xD5A1, 0x863F, 0xD5A2, 0x87BA, 0xD5A3, 0x88F8, 0xD5A4, 0x908F, 0xD5A5, 0xF95C, 0xD5A6, 0x6D1B, - 0xD5A7, 0x70D9, 0xD5A8, 0x73DE, 0xD5A9, 0x7D61, 0xD5AA, 0x843D, 0xD5AB, 0xF95D, 0xD5AC, 0x916A, 0xD5AD, 0x99F1, 0xD5AE, 0xF95E, - 0xD5AF, 0x4E82, 0xD5B0, 0x5375, 0xD5B1, 0x6B04, 0xD5B2, 0x6B12, 0xD5B3, 0x703E, 0xD5B4, 0x721B, 0xD5B5, 0x862D, 0xD5B6, 0x9E1E, - 0xD5B7, 0x524C, 0xD5B8, 0x8FA3, 0xD5B9, 0x5D50, 0xD5BA, 0x64E5, 0xD5BB, 0x652C, 0xD5BC, 0x6B16, 0xD5BD, 0x6FEB, 0xD5BE, 0x7C43, - 0xD5BF, 0x7E9C, 0xD5C0, 0x85CD, 0xD5C1, 0x8964, 0xD5C2, 0x89BD, 0xD5C3, 0x62C9, 0xD5C4, 0x81D8, 0xD5C5, 0x881F, 0xD5C6, 0x5ECA, - 0xD5C7, 0x6717, 0xD5C8, 0x6D6A, 0xD5C9, 0x72FC, 0xD5CA, 0x7405, 0xD5CB, 0x746F, 0xD5CC, 0x8782, 0xD5CD, 0x90DE, 0xD5CE, 0x4F86, - 0xD5CF, 0x5D0D, 0xD5D0, 0x5FA0, 0xD5D1, 0x840A, 0xD5D2, 0x51B7, 0xD5D3, 0x63A0, 0xD5D4, 0x7565, 0xD5D5, 0x4EAE, 0xD5D6, 0x5006, - 0xD5D7, 0x5169, 0xD5D8, 0x51C9, 0xD5D9, 0x6881, 0xD5DA, 0x6A11, 0xD5DB, 0x7CAE, 0xD5DC, 0x7CB1, 0xD5DD, 0x7CE7, 0xD5DE, 0x826F, - 0xD5DF, 0x8AD2, 0xD5E0, 0x8F1B, 0xD5E1, 0x91CF, 0xD5E2, 0x4FB6, 0xD5E3, 0x5137, 0xD5E4, 0x52F5, 0xD5E5, 0x5442, 0xD5E6, 0x5EEC, - 0xD5E7, 0x616E, 0xD5E8, 0x623E, 0xD5E9, 0x65C5, 0xD5EA, 0x6ADA, 0xD5EB, 0x6FFE, 0xD5EC, 0x792A, 0xD5ED, 0x85DC, 0xD5EE, 0x8823, - 0xD5EF, 0x95AD, 0xD5F0, 0x9A62, 0xD5F1, 0x9A6A, 0xD5F2, 0x9E97, 0xD5F3, 0x9ECE, 0xD5F4, 0x529B, 0xD5F5, 0x66C6, 0xD5F6, 0x6B77, - 0xD5F7, 0x701D, 0xD5F8, 0x792B, 0xD5F9, 0x8F62, 0xD5FA, 0x9742, 0xD5FB, 0x6190, 0xD5FC, 0x6200, 0xD5FD, 0x6523, 0xD5FE, 0x6F23, - 0xD6A1, 0x7149, 0xD6A2, 0x7489, 0xD6A3, 0x7DF4, 0xD6A4, 0x806F, 0xD6A5, 0x84EE, 0xD6A6, 0x8F26, 0xD6A7, 0x9023, 0xD6A8, 0x934A, - 0xD6A9, 0x51BD, 0xD6AA, 0x5217, 0xD6AB, 0x52A3, 0xD6AC, 0x6D0C, 0xD6AD, 0x70C8, 0xD6AE, 0x88C2, 0xD6AF, 0x5EC9, 0xD6B0, 0x6582, - 0xD6B1, 0x6BAE, 0xD6B2, 0x6FC2, 0xD6B3, 0x7C3E, 0xD6B4, 0x7375, 0xD6B5, 0x4EE4, 0xD6B6, 0x4F36, 0xD6B7, 0x56F9, 0xD6B8, 0xF95F, - 0xD6B9, 0x5CBA, 0xD6BA, 0x5DBA, 0xD6BB, 0x601C, 0xD6BC, 0x73B2, 0xD6BD, 0x7B2D, 0xD6BE, 0x7F9A, 0xD6BF, 0x7FCE, 0xD6C0, 0x8046, - 0xD6C1, 0x901E, 0xD6C2, 0x9234, 0xD6C3, 0x96F6, 0xD6C4, 0x9748, 0xD6C5, 0x9818, 0xD6C6, 0x9F61, 0xD6C7, 0x4F8B, 0xD6C8, 0x6FA7, - 0xD6C9, 0x79AE, 0xD6CA, 0x91B4, 0xD6CB, 0x96B7, 0xD6CC, 0x52DE, 0xD6CD, 0xF960, 0xD6CE, 0x6488, 0xD6CF, 0x64C4, 0xD6D0, 0x6AD3, - 0xD6D1, 0x6F5E, 0xD6D2, 0x7018, 0xD6D3, 0x7210, 0xD6D4, 0x76E7, 0xD6D5, 0x8001, 0xD6D6, 0x8606, 0xD6D7, 0x865C, 0xD6D8, 0x8DEF, - 0xD6D9, 0x8F05, 0xD6DA, 0x9732, 0xD6DB, 0x9B6F, 0xD6DC, 0x9DFA, 0xD6DD, 0x9E75, 0xD6DE, 0x788C, 0xD6DF, 0x797F, 0xD6E0, 0x7DA0, - 0xD6E1, 0x83C9, 0xD6E2, 0x9304, 0xD6E3, 0x9E7F, 0xD6E4, 0x9E93, 0xD6E5, 0x8AD6, 0xD6E6, 0x58DF, 0xD6E7, 0x5F04, 0xD6E8, 0x6727, - 0xD6E9, 0x7027, 0xD6EA, 0x74CF, 0xD6EB, 0x7C60, 0xD6EC, 0x807E, 0xD6ED, 0x5121, 0xD6EE, 0x7028, 0xD6EF, 0x7262, 0xD6F0, 0x78CA, - 0xD6F1, 0x8CC2, 0xD6F2, 0x8CDA, 0xD6F3, 0x8CF4, 0xD6F4, 0x96F7, 0xD6F5, 0x4E86, 0xD6F6, 0x50DA, 0xD6F7, 0x5BEE, 0xD6F8, 0x5ED6, - 0xD6F9, 0x6599, 0xD6FA, 0x71CE, 0xD6FB, 0x7642, 0xD6FC, 0x77AD, 0xD6FD, 0x804A, 0xD6FE, 0x84FC, 0xD7A1, 0x907C, 0xD7A2, 0x9B27, - 0xD7A3, 0x9F8D, 0xD7A4, 0x58D8, 0xD7A5, 0x5A41, 0xD7A6, 0x5C62, 0xD7A7, 0x6A13, 0xD7A8, 0x6DDA, 0xD7A9, 0x6F0F, 0xD7AA, 0x763B, - 0xD7AB, 0x7D2F, 0xD7AC, 0x7E37, 0xD7AD, 0x851E, 0xD7AE, 0x8938, 0xD7AF, 0x93E4, 0xD7B0, 0x964B, 0xD7B1, 0x5289, 0xD7B2, 0x65D2, - 0xD7B3, 0x67F3, 0xD7B4, 0x69B4, 0xD7B5, 0x6D41, 0xD7B6, 0x6E9C, 0xD7B7, 0x700F, 0xD7B8, 0x7409, 0xD7B9, 0x7460, 0xD7BA, 0x7559, - 0xD7BB, 0x7624, 0xD7BC, 0x786B, 0xD7BD, 0x8B2C, 0xD7BE, 0x985E, 0xD7BF, 0x516D, 0xD7C0, 0x622E, 0xD7C1, 0x9678, 0xD7C2, 0x4F96, - 0xD7C3, 0x502B, 0xD7C4, 0x5D19, 0xD7C5, 0x6DEA, 0xD7C6, 0x7DB8, 0xD7C7, 0x8F2A, 0xD7C8, 0x5F8B, 0xD7C9, 0x6144, 0xD7CA, 0x6817, - 0xD7CB, 0xF961, 0xD7CC, 0x9686, 0xD7CD, 0x52D2, 0xD7CE, 0x808B, 0xD7CF, 0x51DC, 0xD7D0, 0x51CC, 0xD7D1, 0x695E, 0xD7D2, 0x7A1C, - 0xD7D3, 0x7DBE, 0xD7D4, 0x83F1, 0xD7D5, 0x9675, 0xD7D6, 0x4FDA, 0xD7D7, 0x5229, 0xD7D8, 0x5398, 0xD7D9, 0x540F, 0xD7DA, 0x550E, - 0xD7DB, 0x5C65, 0xD7DC, 0x60A7, 0xD7DD, 0x674E, 0xD7DE, 0x68A8, 0xD7DF, 0x6D6C, 0xD7E0, 0x7281, 0xD7E1, 0x72F8, 0xD7E2, 0x7406, - 0xD7E3, 0x7483, 0xD7E4, 0xF962, 0xD7E5, 0x75E2, 0xD7E6, 0x7C6C, 0xD7E7, 0x7F79, 0xD7E8, 0x7FB8, 0xD7E9, 0x8389, 0xD7EA, 0x88CF, - 0xD7EB, 0x88E1, 0xD7EC, 0x91CC, 0xD7ED, 0x91D0, 0xD7EE, 0x96E2, 0xD7EF, 0x9BC9, 0xD7F0, 0x541D, 0xD7F1, 0x6F7E, 0xD7F2, 0x71D0, - 0xD7F3, 0x7498, 0xD7F4, 0x85FA, 0xD7F5, 0x8EAA, 0xD7F6, 0x96A3, 0xD7F7, 0x9C57, 0xD7F8, 0x9E9F, 0xD7F9, 0x6797, 0xD7FA, 0x6DCB, - 0xD7FB, 0x7433, 0xD7FC, 0x81E8, 0xD7FD, 0x9716, 0xD7FE, 0x782C, 0xD8A1, 0x7ACB, 0xD8A2, 0x7B20, 0xD8A3, 0x7C92, 0xD8A4, 0x6469, - 0xD8A5, 0x746A, 0xD8A6, 0x75F2, 0xD8A7, 0x78BC, 0xD8A8, 0x78E8, 0xD8A9, 0x99AC, 0xD8AA, 0x9B54, 0xD8AB, 0x9EBB, 0xD8AC, 0x5BDE, - 0xD8AD, 0x5E55, 0xD8AE, 0x6F20, 0xD8AF, 0x819C, 0xD8B0, 0x83AB, 0xD8B1, 0x9088, 0xD8B2, 0x4E07, 0xD8B3, 0x534D, 0xD8B4, 0x5A29, - 0xD8B5, 0x5DD2, 0xD8B6, 0x5F4E, 0xD8B7, 0x6162, 0xD8B8, 0x633D, 0xD8B9, 0x6669, 0xD8BA, 0x66FC, 0xD8BB, 0x6EFF, 0xD8BC, 0x6F2B, - 0xD8BD, 0x7063, 0xD8BE, 0x779E, 0xD8BF, 0x842C, 0xD8C0, 0x8513, 0xD8C1, 0x883B, 0xD8C2, 0x8F13, 0xD8C3, 0x9945, 0xD8C4, 0x9C3B, - 0xD8C5, 0x551C, 0xD8C6, 0x62B9, 0xD8C7, 0x672B, 0xD8C8, 0x6CAB, 0xD8C9, 0x8309, 0xD8CA, 0x896A, 0xD8CB, 0x977A, 0xD8CC, 0x4EA1, - 0xD8CD, 0x5984, 0xD8CE, 0x5FD8, 0xD8CF, 0x5FD9, 0xD8D0, 0x671B, 0xD8D1, 0x7DB2, 0xD8D2, 0x7F54, 0xD8D3, 0x8292, 0xD8D4, 0x832B, - 0xD8D5, 0x83BD, 0xD8D6, 0x8F1E, 0xD8D7, 0x9099, 0xD8D8, 0x57CB, 0xD8D9, 0x59B9, 0xD8DA, 0x5A92, 0xD8DB, 0x5BD0, 0xD8DC, 0x6627, - 0xD8DD, 0x679A, 0xD8DE, 0x6885, 0xD8DF, 0x6BCF, 0xD8E0, 0x7164, 0xD8E1, 0x7F75, 0xD8E2, 0x8CB7, 0xD8E3, 0x8CE3, 0xD8E4, 0x9081, - 0xD8E5, 0x9B45, 0xD8E6, 0x8108, 0xD8E7, 0x8C8A, 0xD8E8, 0x964C, 0xD8E9, 0x9A40, 0xD8EA, 0x9EA5, 0xD8EB, 0x5B5F, 0xD8EC, 0x6C13, - 0xD8ED, 0x731B, 0xD8EE, 0x76F2, 0xD8EF, 0x76DF, 0xD8F0, 0x840C, 0xD8F1, 0x51AA, 0xD8F2, 0x8993, 0xD8F3, 0x514D, 0xD8F4, 0x5195, - 0xD8F5, 0x52C9, 0xD8F6, 0x68C9, 0xD8F7, 0x6C94, 0xD8F8, 0x7704, 0xD8F9, 0x7720, 0xD8FA, 0x7DBF, 0xD8FB, 0x7DEC, 0xD8FC, 0x9762, - 0xD8FD, 0x9EB5, 0xD8FE, 0x6EC5, 0xD9A1, 0x8511, 0xD9A2, 0x51A5, 0xD9A3, 0x540D, 0xD9A4, 0x547D, 0xD9A5, 0x660E, 0xD9A6, 0x669D, - 0xD9A7, 0x6927, 0xD9A8, 0x6E9F, 0xD9A9, 0x76BF, 0xD9AA, 0x7791, 0xD9AB, 0x8317, 0xD9AC, 0x84C2, 0xD9AD, 0x879F, 0xD9AE, 0x9169, - 0xD9AF, 0x9298, 0xD9B0, 0x9CF4, 0xD9B1, 0x8882, 0xD9B2, 0x4FAE, 0xD9B3, 0x5192, 0xD9B4, 0x52DF, 0xD9B5, 0x59C6, 0xD9B6, 0x5E3D, - 0xD9B7, 0x6155, 0xD9B8, 0x6478, 0xD9B9, 0x6479, 0xD9BA, 0x66AE, 0xD9BB, 0x67D0, 0xD9BC, 0x6A21, 0xD9BD, 0x6BCD, 0xD9BE, 0x6BDB, - 0xD9BF, 0x725F, 0xD9C0, 0x7261, 0xD9C1, 0x7441, 0xD9C2, 0x7738, 0xD9C3, 0x77DB, 0xD9C4, 0x8017, 0xD9C5, 0x82BC, 0xD9C6, 0x8305, - 0xD9C7, 0x8B00, 0xD9C8, 0x8B28, 0xD9C9, 0x8C8C, 0xD9CA, 0x6728, 0xD9CB, 0x6C90, 0xD9CC, 0x7267, 0xD9CD, 0x76EE, 0xD9CE, 0x7766, - 0xD9CF, 0x7A46, 0xD9D0, 0x9DA9, 0xD9D1, 0x6B7F, 0xD9D2, 0x6C92, 0xD9D3, 0x5922, 0xD9D4, 0x6726, 0xD9D5, 0x8499, 0xD9D6, 0x536F, - 0xD9D7, 0x5893, 0xD9D8, 0x5999, 0xD9D9, 0x5EDF, 0xD9DA, 0x63CF, 0xD9DB, 0x6634, 0xD9DC, 0x6773, 0xD9DD, 0x6E3A, 0xD9DE, 0x732B, - 0xD9DF, 0x7AD7, 0xD9E0, 0x82D7, 0xD9E1, 0x9328, 0xD9E2, 0x52D9, 0xD9E3, 0x5DEB, 0xD9E4, 0x61AE, 0xD9E5, 0x61CB, 0xD9E6, 0x620A, - 0xD9E7, 0x62C7, 0xD9E8, 0x64AB, 0xD9E9, 0x65E0, 0xD9EA, 0x6959, 0xD9EB, 0x6B66, 0xD9EC, 0x6BCB, 0xD9ED, 0x7121, 0xD9EE, 0x73F7, - 0xD9EF, 0x755D, 0xD9F0, 0x7E46, 0xD9F1, 0x821E, 0xD9F2, 0x8302, 0xD9F3, 0x856A, 0xD9F4, 0x8AA3, 0xD9F5, 0x8CBF, 0xD9F6, 0x9727, - 0xD9F7, 0x9D61, 0xD9F8, 0x58A8, 0xD9F9, 0x9ED8, 0xD9FA, 0x5011, 0xD9FB, 0x520E, 0xD9FC, 0x543B, 0xD9FD, 0x554F, 0xD9FE, 0x6587, - 0xDAA1, 0x6C76, 0xDAA2, 0x7D0A, 0xDAA3, 0x7D0B, 0xDAA4, 0x805E, 0xDAA5, 0x868A, 0xDAA6, 0x9580, 0xDAA7, 0x96EF, 0xDAA8, 0x52FF, - 0xDAA9, 0x6C95, 0xDAAA, 0x7269, 0xDAAB, 0x5473, 0xDAAC, 0x5A9A, 0xDAAD, 0x5C3E, 0xDAAE, 0x5D4B, 0xDAAF, 0x5F4C, 0xDAB0, 0x5FAE, - 0xDAB1, 0x672A, 0xDAB2, 0x68B6, 0xDAB3, 0x6963, 0xDAB4, 0x6E3C, 0xDAB5, 0x6E44, 0xDAB6, 0x7709, 0xDAB7, 0x7C73, 0xDAB8, 0x7F8E, - 0xDAB9, 0x8587, 0xDABA, 0x8B0E, 0xDABB, 0x8FF7, 0xDABC, 0x9761, 0xDABD, 0x9EF4, 0xDABE, 0x5CB7, 0xDABF, 0x60B6, 0xDAC0, 0x610D, - 0xDAC1, 0x61AB, 0xDAC2, 0x654F, 0xDAC3, 0x65FB, 0xDAC4, 0x65FC, 0xDAC5, 0x6C11, 0xDAC6, 0x6CEF, 0xDAC7, 0x739F, 0xDAC8, 0x73C9, - 0xDAC9, 0x7DE1, 0xDACA, 0x9594, 0xDACB, 0x5BC6, 0xDACC, 0x871C, 0xDACD, 0x8B10, 0xDACE, 0x525D, 0xDACF, 0x535A, 0xDAD0, 0x62CD, - 0xDAD1, 0x640F, 0xDAD2, 0x64B2, 0xDAD3, 0x6734, 0xDAD4, 0x6A38, 0xDAD5, 0x6CCA, 0xDAD6, 0x73C0, 0xDAD7, 0x749E, 0xDAD8, 0x7B94, - 0xDAD9, 0x7C95, 0xDADA, 0x7E1B, 0xDADB, 0x818A, 0xDADC, 0x8236, 0xDADD, 0x8584, 0xDADE, 0x8FEB, 0xDADF, 0x96F9, 0xDAE0, 0x99C1, - 0xDAE1, 0x4F34, 0xDAE2, 0x534A, 0xDAE3, 0x53CD, 0xDAE4, 0x53DB, 0xDAE5, 0x62CC, 0xDAE6, 0x642C, 0xDAE7, 0x6500, 0xDAE8, 0x6591, - 0xDAE9, 0x69C3, 0xDAEA, 0x6CEE, 0xDAEB, 0x6F58, 0xDAEC, 0x73ED, 0xDAED, 0x7554, 0xDAEE, 0x7622, 0xDAEF, 0x76E4, 0xDAF0, 0x76FC, - 0xDAF1, 0x78D0, 0xDAF2, 0x78FB, 0xDAF3, 0x792C, 0xDAF4, 0x7D46, 0xDAF5, 0x822C, 0xDAF6, 0x87E0, 0xDAF7, 0x8FD4, 0xDAF8, 0x9812, - 0xDAF9, 0x98EF, 0xDAFA, 0x52C3, 0xDAFB, 0x62D4, 0xDAFC, 0x64A5, 0xDAFD, 0x6E24, 0xDAFE, 0x6F51, 0xDBA1, 0x767C, 0xDBA2, 0x8DCB, - 0xDBA3, 0x91B1, 0xDBA4, 0x9262, 0xDBA5, 0x9AEE, 0xDBA6, 0x9B43, 0xDBA7, 0x5023, 0xDBA8, 0x508D, 0xDBA9, 0x574A, 0xDBAA, 0x59A8, - 0xDBAB, 0x5C28, 0xDBAC, 0x5E47, 0xDBAD, 0x5F77, 0xDBAE, 0x623F, 0xDBAF, 0x653E, 0xDBB0, 0x65B9, 0xDBB1, 0x65C1, 0xDBB2, 0x6609, - 0xDBB3, 0x678B, 0xDBB4, 0x699C, 0xDBB5, 0x6EC2, 0xDBB6, 0x78C5, 0xDBB7, 0x7D21, 0xDBB8, 0x80AA, 0xDBB9, 0x8180, 0xDBBA, 0x822B, - 0xDBBB, 0x82B3, 0xDBBC, 0x84A1, 0xDBBD, 0x868C, 0xDBBE, 0x8A2A, 0xDBBF, 0x8B17, 0xDBC0, 0x90A6, 0xDBC1, 0x9632, 0xDBC2, 0x9F90, - 0xDBC3, 0x500D, 0xDBC4, 0x4FF3, 0xDBC5, 0xF963, 0xDBC6, 0x57F9, 0xDBC7, 0x5F98, 0xDBC8, 0x62DC, 0xDBC9, 0x6392, 0xDBCA, 0x676F, - 0xDBCB, 0x6E43, 0xDBCC, 0x7119, 0xDBCD, 0x76C3, 0xDBCE, 0x80CC, 0xDBCF, 0x80DA, 0xDBD0, 0x88F4, 0xDBD1, 0x88F5, 0xDBD2, 0x8919, - 0xDBD3, 0x8CE0, 0xDBD4, 0x8F29, 0xDBD5, 0x914D, 0xDBD6, 0x966A, 0xDBD7, 0x4F2F, 0xDBD8, 0x4F70, 0xDBD9, 0x5E1B, 0xDBDA, 0x67CF, - 0xDBDB, 0x6822, 0xDBDC, 0x767D, 0xDBDD, 0x767E, 0xDBDE, 0x9B44, 0xDBDF, 0x5E61, 0xDBE0, 0x6A0A, 0xDBE1, 0x7169, 0xDBE2, 0x71D4, - 0xDBE3, 0x756A, 0xDBE4, 0xF964, 0xDBE5, 0x7E41, 0xDBE6, 0x8543, 0xDBE7, 0x85E9, 0xDBE8, 0x98DC, 0xDBE9, 0x4F10, 0xDBEA, 0x7B4F, - 0xDBEB, 0x7F70, 0xDBEC, 0x95A5, 0xDBED, 0x51E1, 0xDBEE, 0x5E06, 0xDBEF, 0x68B5, 0xDBF0, 0x6C3E, 0xDBF1, 0x6C4E, 0xDBF2, 0x6CDB, - 0xDBF3, 0x72AF, 0xDBF4, 0x7BC4, 0xDBF5, 0x8303, 0xDBF6, 0x6CD5, 0xDBF7, 0x743A, 0xDBF8, 0x50FB, 0xDBF9, 0x5288, 0xDBFA, 0x58C1, - 0xDBFB, 0x64D8, 0xDBFC, 0x6A97, 0xDBFD, 0x74A7, 0xDBFE, 0x7656, 0xDCA1, 0x78A7, 0xDCA2, 0x8617, 0xDCA3, 0x95E2, 0xDCA4, 0x9739, - 0xDCA5, 0xF965, 0xDCA6, 0x535E, 0xDCA7, 0x5F01, 0xDCA8, 0x8B8A, 0xDCA9, 0x8FA8, 0xDCAA, 0x8FAF, 0xDCAB, 0x908A, 0xDCAC, 0x5225, - 0xDCAD, 0x77A5, 0xDCAE, 0x9C49, 0xDCAF, 0x9F08, 0xDCB0, 0x4E19, 0xDCB1, 0x5002, 0xDCB2, 0x5175, 0xDCB3, 0x5C5B, 0xDCB4, 0x5E77, - 0xDCB5, 0x661E, 0xDCB6, 0x663A, 0xDCB7, 0x67C4, 0xDCB8, 0x68C5, 0xDCB9, 0x70B3, 0xDCBA, 0x7501, 0xDCBB, 0x75C5, 0xDCBC, 0x79C9, - 0xDCBD, 0x7ADD, 0xDCBE, 0x8F27, 0xDCBF, 0x9920, 0xDCC0, 0x9A08, 0xDCC1, 0x4FDD, 0xDCC2, 0x5821, 0xDCC3, 0x5831, 0xDCC4, 0x5BF6, - 0xDCC5, 0x666E, 0xDCC6, 0x6B65, 0xDCC7, 0x6D11, 0xDCC8, 0x6E7A, 0xDCC9, 0x6F7D, 0xDCCA, 0x73E4, 0xDCCB, 0x752B, 0xDCCC, 0x83E9, - 0xDCCD, 0x88DC, 0xDCCE, 0x8913, 0xDCCF, 0x8B5C, 0xDCD0, 0x8F14, 0xDCD1, 0x4F0F, 0xDCD2, 0x50D5, 0xDCD3, 0x5310, 0xDCD4, 0x535C, - 0xDCD5, 0x5B93, 0xDCD6, 0x5FA9, 0xDCD7, 0x670D, 0xDCD8, 0x798F, 0xDCD9, 0x8179, 0xDCDA, 0x832F, 0xDCDB, 0x8514, 0xDCDC, 0x8907, - 0xDCDD, 0x8986, 0xDCDE, 0x8F39, 0xDCDF, 0x8F3B, 0xDCE0, 0x99A5, 0xDCE1, 0x9C12, 0xDCE2, 0x672C, 0xDCE3, 0x4E76, 0xDCE4, 0x4FF8, - 0xDCE5, 0x5949, 0xDCE6, 0x5C01, 0xDCE7, 0x5CEF, 0xDCE8, 0x5CF0, 0xDCE9, 0x6367, 0xDCEA, 0x68D2, 0xDCEB, 0x70FD, 0xDCEC, 0x71A2, - 0xDCED, 0x742B, 0xDCEE, 0x7E2B, 0xDCEF, 0x84EC, 0xDCF0, 0x8702, 0xDCF1, 0x9022, 0xDCF2, 0x92D2, 0xDCF3, 0x9CF3, 0xDCF4, 0x4E0D, - 0xDCF5, 0x4ED8, 0xDCF6, 0x4FEF, 0xDCF7, 0x5085, 0xDCF8, 0x5256, 0xDCF9, 0x526F, 0xDCFA, 0x5426, 0xDCFB, 0x5490, 0xDCFC, 0x57E0, - 0xDCFD, 0x592B, 0xDCFE, 0x5A66, 0xDDA1, 0x5B5A, 0xDDA2, 0x5B75, 0xDDA3, 0x5BCC, 0xDDA4, 0x5E9C, 0xDDA5, 0xF966, 0xDDA6, 0x6276, - 0xDDA7, 0x6577, 0xDDA8, 0x65A7, 0xDDA9, 0x6D6E, 0xDDAA, 0x6EA5, 0xDDAB, 0x7236, 0xDDAC, 0x7B26, 0xDDAD, 0x7C3F, 0xDDAE, 0x7F36, - 0xDDAF, 0x8150, 0xDDB0, 0x8151, 0xDDB1, 0x819A, 0xDDB2, 0x8240, 0xDDB3, 0x8299, 0xDDB4, 0x83A9, 0xDDB5, 0x8A03, 0xDDB6, 0x8CA0, - 0xDDB7, 0x8CE6, 0xDDB8, 0x8CFB, 0xDDB9, 0x8D74, 0xDDBA, 0x8DBA, 0xDDBB, 0x90E8, 0xDDBC, 0x91DC, 0xDDBD, 0x961C, 0xDDBE, 0x9644, - 0xDDBF, 0x99D9, 0xDDC0, 0x9CE7, 0xDDC1, 0x5317, 0xDDC2, 0x5206, 0xDDC3, 0x5429, 0xDDC4, 0x5674, 0xDDC5, 0x58B3, 0xDDC6, 0x5954, - 0xDDC7, 0x596E, 0xDDC8, 0x5FFF, 0xDDC9, 0x61A4, 0xDDCA, 0x626E, 0xDDCB, 0x6610, 0xDDCC, 0x6C7E, 0xDDCD, 0x711A, 0xDDCE, 0x76C6, - 0xDDCF, 0x7C89, 0xDDD0, 0x7CDE, 0xDDD1, 0x7D1B, 0xDDD2, 0x82AC, 0xDDD3, 0x8CC1, 0xDDD4, 0x96F0, 0xDDD5, 0xF967, 0xDDD6, 0x4F5B, - 0xDDD7, 0x5F17, 0xDDD8, 0x5F7F, 0xDDD9, 0x62C2, 0xDDDA, 0x5D29, 0xDDDB, 0x670B, 0xDDDC, 0x68DA, 0xDDDD, 0x787C, 0xDDDE, 0x7E43, - 0xDDDF, 0x9D6C, 0xDDE0, 0x4E15, 0xDDE1, 0x5099, 0xDDE2, 0x5315, 0xDDE3, 0x532A, 0xDDE4, 0x5351, 0xDDE5, 0x5983, 0xDDE6, 0x5A62, - 0xDDE7, 0x5E87, 0xDDE8, 0x60B2, 0xDDE9, 0x618A, 0xDDEA, 0x6249, 0xDDEB, 0x6279, 0xDDEC, 0x6590, 0xDDED, 0x6787, 0xDDEE, 0x69A7, - 0xDDEF, 0x6BD4, 0xDDF0, 0x6BD6, 0xDDF1, 0x6BD7, 0xDDF2, 0x6BD8, 0xDDF3, 0x6CB8, 0xDDF4, 0xF968, 0xDDF5, 0x7435, 0xDDF6, 0x75FA, - 0xDDF7, 0x7812, 0xDDF8, 0x7891, 0xDDF9, 0x79D5, 0xDDFA, 0x79D8, 0xDDFB, 0x7C83, 0xDDFC, 0x7DCB, 0xDDFD, 0x7FE1, 0xDDFE, 0x80A5, - 0xDEA1, 0x813E, 0xDEA2, 0x81C2, 0xDEA3, 0x83F2, 0xDEA4, 0x871A, 0xDEA5, 0x88E8, 0xDEA6, 0x8AB9, 0xDEA7, 0x8B6C, 0xDEA8, 0x8CBB, - 0xDEA9, 0x9119, 0xDEAA, 0x975E, 0xDEAB, 0x98DB, 0xDEAC, 0x9F3B, 0xDEAD, 0x56AC, 0xDEAE, 0x5B2A, 0xDEAF, 0x5F6C, 0xDEB0, 0x658C, - 0xDEB1, 0x6AB3, 0xDEB2, 0x6BAF, 0xDEB3, 0x6D5C, 0xDEB4, 0x6FF1, 0xDEB5, 0x7015, 0xDEB6, 0x725D, 0xDEB7, 0x73AD, 0xDEB8, 0x8CA7, - 0xDEB9, 0x8CD3, 0xDEBA, 0x983B, 0xDEBB, 0x6191, 0xDEBC, 0x6C37, 0xDEBD, 0x8058, 0xDEBE, 0x9A01, 0xDEBF, 0x4E4D, 0xDEC0, 0x4E8B, - 0xDEC1, 0x4E9B, 0xDEC2, 0x4ED5, 0xDEC3, 0x4F3A, 0xDEC4, 0x4F3C, 0xDEC5, 0x4F7F, 0xDEC6, 0x4FDF, 0xDEC7, 0x50FF, 0xDEC8, 0x53F2, - 0xDEC9, 0x53F8, 0xDECA, 0x5506, 0xDECB, 0x55E3, 0xDECC, 0x56DB, 0xDECD, 0x58EB, 0xDECE, 0x5962, 0xDECF, 0x5A11, 0xDED0, 0x5BEB, - 0xDED1, 0x5BFA, 0xDED2, 0x5C04, 0xDED3, 0x5DF3, 0xDED4, 0x5E2B, 0xDED5, 0x5F99, 0xDED6, 0x601D, 0xDED7, 0x6368, 0xDED8, 0x659C, - 0xDED9, 0x65AF, 0xDEDA, 0x67F6, 0xDEDB, 0x67FB, 0xDEDC, 0x68AD, 0xDEDD, 0x6B7B, 0xDEDE, 0x6C99, 0xDEDF, 0x6CD7, 0xDEE0, 0x6E23, - 0xDEE1, 0x7009, 0xDEE2, 0x7345, 0xDEE3, 0x7802, 0xDEE4, 0x793E, 0xDEE5, 0x7940, 0xDEE6, 0x7960, 0xDEE7, 0x79C1, 0xDEE8, 0x7BE9, - 0xDEE9, 0x7D17, 0xDEEA, 0x7D72, 0xDEEB, 0x8086, 0xDEEC, 0x820D, 0xDEED, 0x838E, 0xDEEE, 0x84D1, 0xDEEF, 0x86C7, 0xDEF0, 0x88DF, - 0xDEF1, 0x8A50, 0xDEF2, 0x8A5E, 0xDEF3, 0x8B1D, 0xDEF4, 0x8CDC, 0xDEF5, 0x8D66, 0xDEF6, 0x8FAD, 0xDEF7, 0x90AA, 0xDEF8, 0x98FC, - 0xDEF9, 0x99DF, 0xDEFA, 0x9E9D, 0xDEFB, 0x524A, 0xDEFC, 0xF969, 0xDEFD, 0x6714, 0xDEFE, 0xF96A, 0xDFA1, 0x5098, 0xDFA2, 0x522A, - 0xDFA3, 0x5C71, 0xDFA4, 0x6563, 0xDFA5, 0x6C55, 0xDFA6, 0x73CA, 0xDFA7, 0x7523, 0xDFA8, 0x759D, 0xDFA9, 0x7B97, 0xDFAA, 0x849C, - 0xDFAB, 0x9178, 0xDFAC, 0x9730, 0xDFAD, 0x4E77, 0xDFAE, 0x6492, 0xDFAF, 0x6BBA, 0xDFB0, 0x715E, 0xDFB1, 0x85A9, 0xDFB2, 0x4E09, - 0xDFB3, 0xF96B, 0xDFB4, 0x6749, 0xDFB5, 0x68EE, 0xDFB6, 0x6E17, 0xDFB7, 0x829F, 0xDFB8, 0x8518, 0xDFB9, 0x886B, 0xDFBA, 0x63F7, - 0xDFBB, 0x6F81, 0xDFBC, 0x9212, 0xDFBD, 0x98AF, 0xDFBE, 0x4E0A, 0xDFBF, 0x50B7, 0xDFC0, 0x50CF, 0xDFC1, 0x511F, 0xDFC2, 0x5546, - 0xDFC3, 0x55AA, 0xDFC4, 0x5617, 0xDFC5, 0x5B40, 0xDFC6, 0x5C19, 0xDFC7, 0x5CE0, 0xDFC8, 0x5E38, 0xDFC9, 0x5E8A, 0xDFCA, 0x5EA0, - 0xDFCB, 0x5EC2, 0xDFCC, 0x60F3, 0xDFCD, 0x6851, 0xDFCE, 0x6A61, 0xDFCF, 0x6E58, 0xDFD0, 0x723D, 0xDFD1, 0x7240, 0xDFD2, 0x72C0, - 0xDFD3, 0x76F8, 0xDFD4, 0x7965, 0xDFD5, 0x7BB1, 0xDFD6, 0x7FD4, 0xDFD7, 0x88F3, 0xDFD8, 0x89F4, 0xDFD9, 0x8A73, 0xDFDA, 0x8C61, - 0xDFDB, 0x8CDE, 0xDFDC, 0x971C, 0xDFDD, 0x585E, 0xDFDE, 0x74BD, 0xDFDF, 0x8CFD, 0xDFE0, 0x55C7, 0xDFE1, 0xF96C, 0xDFE2, 0x7A61, - 0xDFE3, 0x7D22, 0xDFE4, 0x8272, 0xDFE5, 0x7272, 0xDFE6, 0x751F, 0xDFE7, 0x7525, 0xDFE8, 0xF96D, 0xDFE9, 0x7B19, 0xDFEA, 0x5885, - 0xDFEB, 0x58FB, 0xDFEC, 0x5DBC, 0xDFED, 0x5E8F, 0xDFEE, 0x5EB6, 0xDFEF, 0x5F90, 0xDFF0, 0x6055, 0xDFF1, 0x6292, 0xDFF2, 0x637F, - 0xDFF3, 0x654D, 0xDFF4, 0x6691, 0xDFF5, 0x66D9, 0xDFF6, 0x66F8, 0xDFF7, 0x6816, 0xDFF8, 0x68F2, 0xDFF9, 0x7280, 0xDFFA, 0x745E, - 0xDFFB, 0x7B6E, 0xDFFC, 0x7D6E, 0xDFFD, 0x7DD6, 0xDFFE, 0x7F72, 0xE0A1, 0x80E5, 0xE0A2, 0x8212, 0xE0A3, 0x85AF, 0xE0A4, 0x897F, - 0xE0A5, 0x8A93, 0xE0A6, 0x901D, 0xE0A7, 0x92E4, 0xE0A8, 0x9ECD, 0xE0A9, 0x9F20, 0xE0AA, 0x5915, 0xE0AB, 0x596D, 0xE0AC, 0x5E2D, - 0xE0AD, 0x60DC, 0xE0AE, 0x6614, 0xE0AF, 0x6673, 0xE0B0, 0x6790, 0xE0B1, 0x6C50, 0xE0B2, 0x6DC5, 0xE0B3, 0x6F5F, 0xE0B4, 0x77F3, - 0xE0B5, 0x78A9, 0xE0B6, 0x84C6, 0xE0B7, 0x91CB, 0xE0B8, 0x932B, 0xE0B9, 0x4ED9, 0xE0BA, 0x50CA, 0xE0BB, 0x5148, 0xE0BC, 0x5584, - 0xE0BD, 0x5B0B, 0xE0BE, 0x5BA3, 0xE0BF, 0x6247, 0xE0C0, 0x657E, 0xE0C1, 0x65CB, 0xE0C2, 0x6E32, 0xE0C3, 0x717D, 0xE0C4, 0x7401, - 0xE0C5, 0x7444, 0xE0C6, 0x7487, 0xE0C7, 0x74BF, 0xE0C8, 0x766C, 0xE0C9, 0x79AA, 0xE0CA, 0x7DDA, 0xE0CB, 0x7E55, 0xE0CC, 0x7FA8, - 0xE0CD, 0x817A, 0xE0CE, 0x81B3, 0xE0CF, 0x8239, 0xE0D0, 0x861A, 0xE0D1, 0x87EC, 0xE0D2, 0x8A75, 0xE0D3, 0x8DE3, 0xE0D4, 0x9078, - 0xE0D5, 0x9291, 0xE0D6, 0x9425, 0xE0D7, 0x994D, 0xE0D8, 0x9BAE, 0xE0D9, 0x5368, 0xE0DA, 0x5C51, 0xE0DB, 0x6954, 0xE0DC, 0x6CC4, - 0xE0DD, 0x6D29, 0xE0DE, 0x6E2B, 0xE0DF, 0x820C, 0xE0E0, 0x859B, 0xE0E1, 0x893B, 0xE0E2, 0x8A2D, 0xE0E3, 0x8AAA, 0xE0E4, 0x96EA, - 0xE0E5, 0x9F67, 0xE0E6, 0x5261, 0xE0E7, 0x66B9, 0xE0E8, 0x6BB2, 0xE0E9, 0x7E96, 0xE0EA, 0x87FE, 0xE0EB, 0x8D0D, 0xE0EC, 0x9583, - 0xE0ED, 0x965D, 0xE0EE, 0x651D, 0xE0EF, 0x6D89, 0xE0F0, 0x71EE, 0xE0F1, 0xF96E, 0xE0F2, 0x57CE, 0xE0F3, 0x59D3, 0xE0F4, 0x5BAC, - 0xE0F5, 0x6027, 0xE0F6, 0x60FA, 0xE0F7, 0x6210, 0xE0F8, 0x661F, 0xE0F9, 0x665F, 0xE0FA, 0x7329, 0xE0FB, 0x73F9, 0xE0FC, 0x76DB, - 0xE0FD, 0x7701, 0xE0FE, 0x7B6C, 0xE1A1, 0x8056, 0xE1A2, 0x8072, 0xE1A3, 0x8165, 0xE1A4, 0x8AA0, 0xE1A5, 0x9192, 0xE1A6, 0x4E16, - 0xE1A7, 0x52E2, 0xE1A8, 0x6B72, 0xE1A9, 0x6D17, 0xE1AA, 0x7A05, 0xE1AB, 0x7B39, 0xE1AC, 0x7D30, 0xE1AD, 0xF96F, 0xE1AE, 0x8CB0, - 0xE1AF, 0x53EC, 0xE1B0, 0x562F, 0xE1B1, 0x5851, 0xE1B2, 0x5BB5, 0xE1B3, 0x5C0F, 0xE1B4, 0x5C11, 0xE1B5, 0x5DE2, 0xE1B6, 0x6240, - 0xE1B7, 0x6383, 0xE1B8, 0x6414, 0xE1B9, 0x662D, 0xE1BA, 0x68B3, 0xE1BB, 0x6CBC, 0xE1BC, 0x6D88, 0xE1BD, 0x6EAF, 0xE1BE, 0x701F, - 0xE1BF, 0x70A4, 0xE1C0, 0x71D2, 0xE1C1, 0x7526, 0xE1C2, 0x758F, 0xE1C3, 0x758E, 0xE1C4, 0x7619, 0xE1C5, 0x7B11, 0xE1C6, 0x7BE0, - 0xE1C7, 0x7C2B, 0xE1C8, 0x7D20, 0xE1C9, 0x7D39, 0xE1CA, 0x852C, 0xE1CB, 0x856D, 0xE1CC, 0x8607, 0xE1CD, 0x8A34, 0xE1CE, 0x900D, - 0xE1CF, 0x9061, 0xE1D0, 0x90B5, 0xE1D1, 0x92B7, 0xE1D2, 0x97F6, 0xE1D3, 0x9A37, 0xE1D4, 0x4FD7, 0xE1D5, 0x5C6C, 0xE1D6, 0x675F, - 0xE1D7, 0x6D91, 0xE1D8, 0x7C9F, 0xE1D9, 0x7E8C, 0xE1DA, 0x8B16, 0xE1DB, 0x8D16, 0xE1DC, 0x901F, 0xE1DD, 0x5B6B, 0xE1DE, 0x5DFD, - 0xE1DF, 0x640D, 0xE1E0, 0x84C0, 0xE1E1, 0x905C, 0xE1E2, 0x98E1, 0xE1E3, 0x7387, 0xE1E4, 0x5B8B, 0xE1E5, 0x609A, 0xE1E6, 0x677E, - 0xE1E7, 0x6DDE, 0xE1E8, 0x8A1F, 0xE1E9, 0x8AA6, 0xE1EA, 0x9001, 0xE1EB, 0x980C, 0xE1EC, 0x5237, 0xE1ED, 0xF970, 0xE1EE, 0x7051, - 0xE1EF, 0x788E, 0xE1F0, 0x9396, 0xE1F1, 0x8870, 0xE1F2, 0x91D7, 0xE1F3, 0x4FEE, 0xE1F4, 0x53D7, 0xE1F5, 0x55FD, 0xE1F6, 0x56DA, - 0xE1F7, 0x5782, 0xE1F8, 0x58FD, 0xE1F9, 0x5AC2, 0xE1FA, 0x5B88, 0xE1FB, 0x5CAB, 0xE1FC, 0x5CC0, 0xE1FD, 0x5E25, 0xE1FE, 0x6101, - 0xE2A1, 0x620D, 0xE2A2, 0x624B, 0xE2A3, 0x6388, 0xE2A4, 0x641C, 0xE2A5, 0x6536, 0xE2A6, 0x6578, 0xE2A7, 0x6A39, 0xE2A8, 0x6B8A, - 0xE2A9, 0x6C34, 0xE2AA, 0x6D19, 0xE2AB, 0x6F31, 0xE2AC, 0x71E7, 0xE2AD, 0x72E9, 0xE2AE, 0x7378, 0xE2AF, 0x7407, 0xE2B0, 0x74B2, - 0xE2B1, 0x7626, 0xE2B2, 0x7761, 0xE2B3, 0x79C0, 0xE2B4, 0x7A57, 0xE2B5, 0x7AEA, 0xE2B6, 0x7CB9, 0xE2B7, 0x7D8F, 0xE2B8, 0x7DAC, - 0xE2B9, 0x7E61, 0xE2BA, 0x7F9E, 0xE2BB, 0x8129, 0xE2BC, 0x8331, 0xE2BD, 0x8490, 0xE2BE, 0x84DA, 0xE2BF, 0x85EA, 0xE2C0, 0x8896, - 0xE2C1, 0x8AB0, 0xE2C2, 0x8B90, 0xE2C3, 0x8F38, 0xE2C4, 0x9042, 0xE2C5, 0x9083, 0xE2C6, 0x916C, 0xE2C7, 0x9296, 0xE2C8, 0x92B9, - 0xE2C9, 0x968B, 0xE2CA, 0x96A7, 0xE2CB, 0x96A8, 0xE2CC, 0x96D6, 0xE2CD, 0x9700, 0xE2CE, 0x9808, 0xE2CF, 0x9996, 0xE2D0, 0x9AD3, - 0xE2D1, 0x9B1A, 0xE2D2, 0x53D4, 0xE2D3, 0x587E, 0xE2D4, 0x5919, 0xE2D5, 0x5B70, 0xE2D6, 0x5BBF, 0xE2D7, 0x6DD1, 0xE2D8, 0x6F5A, - 0xE2D9, 0x719F, 0xE2DA, 0x7421, 0xE2DB, 0x74B9, 0xE2DC, 0x8085, 0xE2DD, 0x83FD, 0xE2DE, 0x5DE1, 0xE2DF, 0x5F87, 0xE2E0, 0x5FAA, - 0xE2E1, 0x6042, 0xE2E2, 0x65EC, 0xE2E3, 0x6812, 0xE2E4, 0x696F, 0xE2E5, 0x6A53, 0xE2E6, 0x6B89, 0xE2E7, 0x6D35, 0xE2E8, 0x6DF3, - 0xE2E9, 0x73E3, 0xE2EA, 0x76FE, 0xE2EB, 0x77AC, 0xE2EC, 0x7B4D, 0xE2ED, 0x7D14, 0xE2EE, 0x8123, 0xE2EF, 0x821C, 0xE2F0, 0x8340, - 0xE2F1, 0x84F4, 0xE2F2, 0x8563, 0xE2F3, 0x8A62, 0xE2F4, 0x8AC4, 0xE2F5, 0x9187, 0xE2F6, 0x931E, 0xE2F7, 0x9806, 0xE2F8, 0x99B4, - 0xE2F9, 0x620C, 0xE2FA, 0x8853, 0xE2FB, 0x8FF0, 0xE2FC, 0x9265, 0xE2FD, 0x5D07, 0xE2FE, 0x5D27, 0xE3A1, 0x5D69, 0xE3A2, 0x745F, - 0xE3A3, 0x819D, 0xE3A4, 0x8768, 0xE3A5, 0x6FD5, 0xE3A6, 0x62FE, 0xE3A7, 0x7FD2, 0xE3A8, 0x8936, 0xE3A9, 0x8972, 0xE3AA, 0x4E1E, - 0xE3AB, 0x4E58, 0xE3AC, 0x50E7, 0xE3AD, 0x52DD, 0xE3AE, 0x5347, 0xE3AF, 0x627F, 0xE3B0, 0x6607, 0xE3B1, 0x7E69, 0xE3B2, 0x8805, - 0xE3B3, 0x965E, 0xE3B4, 0x4F8D, 0xE3B5, 0x5319, 0xE3B6, 0x5636, 0xE3B7, 0x59CB, 0xE3B8, 0x5AA4, 0xE3B9, 0x5C38, 0xE3BA, 0x5C4E, - 0xE3BB, 0x5C4D, 0xE3BC, 0x5E02, 0xE3BD, 0x5F11, 0xE3BE, 0x6043, 0xE3BF, 0x65BD, 0xE3C0, 0x662F, 0xE3C1, 0x6642, 0xE3C2, 0x67BE, - 0xE3C3, 0x67F4, 0xE3C4, 0x731C, 0xE3C5, 0x77E2, 0xE3C6, 0x793A, 0xE3C7, 0x7FC5, 0xE3C8, 0x8494, 0xE3C9, 0x84CD, 0xE3CA, 0x8996, - 0xE3CB, 0x8A66, 0xE3CC, 0x8A69, 0xE3CD, 0x8AE1, 0xE3CE, 0x8C55, 0xE3CF, 0x8C7A, 0xE3D0, 0x57F4, 0xE3D1, 0x5BD4, 0xE3D2, 0x5F0F, - 0xE3D3, 0x606F, 0xE3D4, 0x62ED, 0xE3D5, 0x690D, 0xE3D6, 0x6B96, 0xE3D7, 0x6E5C, 0xE3D8, 0x7184, 0xE3D9, 0x7BD2, 0xE3DA, 0x8755, - 0xE3DB, 0x8B58, 0xE3DC, 0x8EFE, 0xE3DD, 0x98DF, 0xE3DE, 0x98FE, 0xE3DF, 0x4F38, 0xE3E0, 0x4F81, 0xE3E1, 0x4FE1, 0xE3E2, 0x547B, - 0xE3E3, 0x5A20, 0xE3E4, 0x5BB8, 0xE3E5, 0x613C, 0xE3E6, 0x65B0, 0xE3E7, 0x6668, 0xE3E8, 0x71FC, 0xE3E9, 0x7533, 0xE3EA, 0x795E, - 0xE3EB, 0x7D33, 0xE3EC, 0x814E, 0xE3ED, 0x81E3, 0xE3EE, 0x8398, 0xE3EF, 0x85AA, 0xE3F0, 0x85CE, 0xE3F1, 0x8703, 0xE3F2, 0x8A0A, - 0xE3F3, 0x8EAB, 0xE3F4, 0x8F9B, 0xE3F5, 0xF971, 0xE3F6, 0x8FC5, 0xE3F7, 0x5931, 0xE3F8, 0x5BA4, 0xE3F9, 0x5BE6, 0xE3FA, 0x6089, - 0xE3FB, 0x5BE9, 0xE3FC, 0x5C0B, 0xE3FD, 0x5FC3, 0xE3FE, 0x6C81, 0xE4A1, 0xF972, 0xE4A2, 0x6DF1, 0xE4A3, 0x700B, 0xE4A4, 0x751A, - 0xE4A5, 0x82AF, 0xE4A6, 0x8AF6, 0xE4A7, 0x4EC0, 0xE4A8, 0x5341, 0xE4A9, 0xF973, 0xE4AA, 0x96D9, 0xE4AB, 0x6C0F, 0xE4AC, 0x4E9E, - 0xE4AD, 0x4FC4, 0xE4AE, 0x5152, 0xE4AF, 0x555E, 0xE4B0, 0x5A25, 0xE4B1, 0x5CE8, 0xE4B2, 0x6211, 0xE4B3, 0x7259, 0xE4B4, 0x82BD, - 0xE4B5, 0x83AA, 0xE4B6, 0x86FE, 0xE4B7, 0x8859, 0xE4B8, 0x8A1D, 0xE4B9, 0x963F, 0xE4BA, 0x96C5, 0xE4BB, 0x9913, 0xE4BC, 0x9D09, - 0xE4BD, 0x9D5D, 0xE4BE, 0x580A, 0xE4BF, 0x5CB3, 0xE4C0, 0x5DBD, 0xE4C1, 0x5E44, 0xE4C2, 0x60E1, 0xE4C3, 0x6115, 0xE4C4, 0x63E1, - 0xE4C5, 0x6A02, 0xE4C6, 0x6E25, 0xE4C7, 0x9102, 0xE4C8, 0x9354, 0xE4C9, 0x984E, 0xE4CA, 0x9C10, 0xE4CB, 0x9F77, 0xE4CC, 0x5B89, - 0xE4CD, 0x5CB8, 0xE4CE, 0x6309, 0xE4CF, 0x664F, 0xE4D0, 0x6848, 0xE4D1, 0x773C, 0xE4D2, 0x96C1, 0xE4D3, 0x978D, 0xE4D4, 0x9854, - 0xE4D5, 0x9B9F, 0xE4D6, 0x65A1, 0xE4D7, 0x8B01, 0xE4D8, 0x8ECB, 0xE4D9, 0x95BC, 0xE4DA, 0x5535, 0xE4DB, 0x5CA9, 0xE4DC, 0x5DD6, - 0xE4DD, 0x5EB5, 0xE4DE, 0x6697, 0xE4DF, 0x764C, 0xE4E0, 0x83F4, 0xE4E1, 0x95C7, 0xE4E2, 0x58D3, 0xE4E3, 0x62BC, 0xE4E4, 0x72CE, - 0xE4E5, 0x9D28, 0xE4E6, 0x4EF0, 0xE4E7, 0x592E, 0xE4E8, 0x600F, 0xE4E9, 0x663B, 0xE4EA, 0x6B83, 0xE4EB, 0x79E7, 0xE4EC, 0x9D26, - 0xE4ED, 0x5393, 0xE4EE, 0x54C0, 0xE4EF, 0x57C3, 0xE4F0, 0x5D16, 0xE4F1, 0x611B, 0xE4F2, 0x66D6, 0xE4F3, 0x6DAF, 0xE4F4, 0x788D, - 0xE4F5, 0x827E, 0xE4F6, 0x9698, 0xE4F7, 0x9744, 0xE4F8, 0x5384, 0xE4F9, 0x627C, 0xE4FA, 0x6396, 0xE4FB, 0x6DB2, 0xE4FC, 0x7E0A, - 0xE4FD, 0x814B, 0xE4FE, 0x984D, 0xE5A1, 0x6AFB, 0xE5A2, 0x7F4C, 0xE5A3, 0x9DAF, 0xE5A4, 0x9E1A, 0xE5A5, 0x4E5F, 0xE5A6, 0x503B, - 0xE5A7, 0x51B6, 0xE5A8, 0x591C, 0xE5A9, 0x60F9, 0xE5AA, 0x63F6, 0xE5AB, 0x6930, 0xE5AC, 0x723A, 0xE5AD, 0x8036, 0xE5AE, 0xF974, - 0xE5AF, 0x91CE, 0xE5B0, 0x5F31, 0xE5B1, 0xF975, 0xE5B2, 0xF976, 0xE5B3, 0x7D04, 0xE5B4, 0x82E5, 0xE5B5, 0x846F, 0xE5B6, 0x84BB, - 0xE5B7, 0x85E5, 0xE5B8, 0x8E8D, 0xE5B9, 0xF977, 0xE5BA, 0x4F6F, 0xE5BB, 0xF978, 0xE5BC, 0xF979, 0xE5BD, 0x58E4, 0xE5BE, 0x5B43, - 0xE5BF, 0x6059, 0xE5C0, 0x63DA, 0xE5C1, 0x6518, 0xE5C2, 0x656D, 0xE5C3, 0x6698, 0xE5C4, 0xF97A, 0xE5C5, 0x694A, 0xE5C6, 0x6A23, - 0xE5C7, 0x6D0B, 0xE5C8, 0x7001, 0xE5C9, 0x716C, 0xE5CA, 0x75D2, 0xE5CB, 0x760D, 0xE5CC, 0x79B3, 0xE5CD, 0x7A70, 0xE5CE, 0xF97B, - 0xE5CF, 0x7F8A, 0xE5D0, 0xF97C, 0xE5D1, 0x8944, 0xE5D2, 0xF97D, 0xE5D3, 0x8B93, 0xE5D4, 0x91C0, 0xE5D5, 0x967D, 0xE5D6, 0xF97E, - 0xE5D7, 0x990A, 0xE5D8, 0x5704, 0xE5D9, 0x5FA1, 0xE5DA, 0x65BC, 0xE5DB, 0x6F01, 0xE5DC, 0x7600, 0xE5DD, 0x79A6, 0xE5DE, 0x8A9E, - 0xE5DF, 0x99AD, 0xE5E0, 0x9B5A, 0xE5E1, 0x9F6C, 0xE5E2, 0x5104, 0xE5E3, 0x61B6, 0xE5E4, 0x6291, 0xE5E5, 0x6A8D, 0xE5E6, 0x81C6, - 0xE5E7, 0x5043, 0xE5E8, 0x5830, 0xE5E9, 0x5F66, 0xE5EA, 0x7109, 0xE5EB, 0x8A00, 0xE5EC, 0x8AFA, 0xE5ED, 0x5B7C, 0xE5EE, 0x8616, - 0xE5EF, 0x4FFA, 0xE5F0, 0x513C, 0xE5F1, 0x56B4, 0xE5F2, 0x5944, 0xE5F3, 0x63A9, 0xE5F4, 0x6DF9, 0xE5F5, 0x5DAA, 0xE5F6, 0x696D, - 0xE5F7, 0x5186, 0xE5F8, 0x4E88, 0xE5F9, 0x4F59, 0xE5FA, 0xF97F, 0xE5FB, 0xF980, 0xE5FC, 0xF981, 0xE5FD, 0x5982, 0xE5FE, 0xF982, - 0xE6A1, 0xF983, 0xE6A2, 0x6B5F, 0xE6A3, 0x6C5D, 0xE6A4, 0xF984, 0xE6A5, 0x74B5, 0xE6A6, 0x7916, 0xE6A7, 0xF985, 0xE6A8, 0x8207, - 0xE6A9, 0x8245, 0xE6AA, 0x8339, 0xE6AB, 0x8F3F, 0xE6AC, 0x8F5D, 0xE6AD, 0xF986, 0xE6AE, 0x9918, 0xE6AF, 0xF987, 0xE6B0, 0xF988, - 0xE6B1, 0xF989, 0xE6B2, 0x4EA6, 0xE6B3, 0xF98A, 0xE6B4, 0x57DF, 0xE6B5, 0x5F79, 0xE6B6, 0x6613, 0xE6B7, 0xF98B, 0xE6B8, 0xF98C, - 0xE6B9, 0x75AB, 0xE6BA, 0x7E79, 0xE6BB, 0x8B6F, 0xE6BC, 0xF98D, 0xE6BD, 0x9006, 0xE6BE, 0x9A5B, 0xE6BF, 0x56A5, 0xE6C0, 0x5827, - 0xE6C1, 0x59F8, 0xE6C2, 0x5A1F, 0xE6C3, 0x5BB4, 0xE6C4, 0xF98E, 0xE6C5, 0x5EF6, 0xE6C6, 0xF98F, 0xE6C7, 0xF990, 0xE6C8, 0x6350, - 0xE6C9, 0x633B, 0xE6CA, 0xF991, 0xE6CB, 0x693D, 0xE6CC, 0x6C87, 0xE6CD, 0x6CBF, 0xE6CE, 0x6D8E, 0xE6CF, 0x6D93, 0xE6D0, 0x6DF5, - 0xE6D1, 0x6F14, 0xE6D2, 0xF992, 0xE6D3, 0x70DF, 0xE6D4, 0x7136, 0xE6D5, 0x7159, 0xE6D6, 0xF993, 0xE6D7, 0x71C3, 0xE6D8, 0x71D5, - 0xE6D9, 0xF994, 0xE6DA, 0x784F, 0xE6DB, 0x786F, 0xE6DC, 0xF995, 0xE6DD, 0x7B75, 0xE6DE, 0x7DE3, 0xE6DF, 0xF996, 0xE6E0, 0x7E2F, - 0xE6E1, 0xF997, 0xE6E2, 0x884D, 0xE6E3, 0x8EDF, 0xE6E4, 0xF998, 0xE6E5, 0xF999, 0xE6E6, 0xF99A, 0xE6E7, 0x925B, 0xE6E8, 0xF99B, - 0xE6E9, 0x9CF6, 0xE6EA, 0xF99C, 0xE6EB, 0xF99D, 0xE6EC, 0xF99E, 0xE6ED, 0x6085, 0xE6EE, 0x6D85, 0xE6EF, 0xF99F, 0xE6F0, 0x71B1, - 0xE6F1, 0xF9A0, 0xE6F2, 0xF9A1, 0xE6F3, 0x95B1, 0xE6F4, 0x53AD, 0xE6F5, 0xF9A2, 0xE6F6, 0xF9A3, 0xE6F7, 0xF9A4, 0xE6F8, 0x67D3, - 0xE6F9, 0xF9A5, 0xE6FA, 0x708E, 0xE6FB, 0x7130, 0xE6FC, 0x7430, 0xE6FD, 0x8276, 0xE6FE, 0x82D2, 0xE7A1, 0xF9A6, 0xE7A2, 0x95BB, - 0xE7A3, 0x9AE5, 0xE7A4, 0x9E7D, 0xE7A5, 0x66C4, 0xE7A6, 0xF9A7, 0xE7A7, 0x71C1, 0xE7A8, 0x8449, 0xE7A9, 0xF9A8, 0xE7AA, 0xF9A9, - 0xE7AB, 0x584B, 0xE7AC, 0xF9AA, 0xE7AD, 0xF9AB, 0xE7AE, 0x5DB8, 0xE7AF, 0x5F71, 0xE7B0, 0xF9AC, 0xE7B1, 0x6620, 0xE7B2, 0x668E, - 0xE7B3, 0x6979, 0xE7B4, 0x69AE, 0xE7B5, 0x6C38, 0xE7B6, 0x6CF3, 0xE7B7, 0x6E36, 0xE7B8, 0x6F41, 0xE7B9, 0x6FDA, 0xE7BA, 0x701B, - 0xE7BB, 0x702F, 0xE7BC, 0x7150, 0xE7BD, 0x71DF, 0xE7BE, 0x7370, 0xE7BF, 0xF9AD, 0xE7C0, 0x745B, 0xE7C1, 0xF9AE, 0xE7C2, 0x74D4, - 0xE7C3, 0x76C8, 0xE7C4, 0x7A4E, 0xE7C5, 0x7E93, 0xE7C6, 0xF9AF, 0xE7C7, 0xF9B0, 0xE7C8, 0x82F1, 0xE7C9, 0x8A60, 0xE7CA, 0x8FCE, - 0xE7CB, 0xF9B1, 0xE7CC, 0x9348, 0xE7CD, 0xF9B2, 0xE7CE, 0x9719, 0xE7CF, 0xF9B3, 0xE7D0, 0xF9B4, 0xE7D1, 0x4E42, 0xE7D2, 0x502A, - 0xE7D3, 0xF9B5, 0xE7D4, 0x5208, 0xE7D5, 0x53E1, 0xE7D6, 0x66F3, 0xE7D7, 0x6C6D, 0xE7D8, 0x6FCA, 0xE7D9, 0x730A, 0xE7DA, 0x777F, - 0xE7DB, 0x7A62, 0xE7DC, 0x82AE, 0xE7DD, 0x85DD, 0xE7DE, 0x8602, 0xE7DF, 0xF9B6, 0xE7E0, 0x88D4, 0xE7E1, 0x8A63, 0xE7E2, 0x8B7D, - 0xE7E3, 0x8C6B, 0xE7E4, 0xF9B7, 0xE7E5, 0x92B3, 0xE7E6, 0xF9B8, 0xE7E7, 0x9713, 0xE7E8, 0x9810, 0xE7E9, 0x4E94, 0xE7EA, 0x4F0D, - 0xE7EB, 0x4FC9, 0xE7EC, 0x50B2, 0xE7ED, 0x5348, 0xE7EE, 0x543E, 0xE7EF, 0x5433, 0xE7F0, 0x55DA, 0xE7F1, 0x5862, 0xE7F2, 0x58BA, - 0xE7F3, 0x5967, 0xE7F4, 0x5A1B, 0xE7F5, 0x5BE4, 0xE7F6, 0x609F, 0xE7F7, 0xF9B9, 0xE7F8, 0x61CA, 0xE7F9, 0x6556, 0xE7FA, 0x65FF, - 0xE7FB, 0x6664, 0xE7FC, 0x68A7, 0xE7FD, 0x6C5A, 0xE7FE, 0x6FB3, 0xE8A1, 0x70CF, 0xE8A2, 0x71AC, 0xE8A3, 0x7352, 0xE8A4, 0x7B7D, - 0xE8A5, 0x8708, 0xE8A6, 0x8AA4, 0xE8A7, 0x9C32, 0xE8A8, 0x9F07, 0xE8A9, 0x5C4B, 0xE8AA, 0x6C83, 0xE8AB, 0x7344, 0xE8AC, 0x7389, - 0xE8AD, 0x923A, 0xE8AE, 0x6EAB, 0xE8AF, 0x7465, 0xE8B0, 0x761F, 0xE8B1, 0x7A69, 0xE8B2, 0x7E15, 0xE8B3, 0x860A, 0xE8B4, 0x5140, - 0xE8B5, 0x58C5, 0xE8B6, 0x64C1, 0xE8B7, 0x74EE, 0xE8B8, 0x7515, 0xE8B9, 0x7670, 0xE8BA, 0x7FC1, 0xE8BB, 0x9095, 0xE8BC, 0x96CD, - 0xE8BD, 0x9954, 0xE8BE, 0x6E26, 0xE8BF, 0x74E6, 0xE8C0, 0x7AA9, 0xE8C1, 0x7AAA, 0xE8C2, 0x81E5, 0xE8C3, 0x86D9, 0xE8C4, 0x8778, - 0xE8C5, 0x8A1B, 0xE8C6, 0x5A49, 0xE8C7, 0x5B8C, 0xE8C8, 0x5B9B, 0xE8C9, 0x68A1, 0xE8CA, 0x6900, 0xE8CB, 0x6D63, 0xE8CC, 0x73A9, - 0xE8CD, 0x7413, 0xE8CE, 0x742C, 0xE8CF, 0x7897, 0xE8D0, 0x7DE9, 0xE8D1, 0x7FEB, 0xE8D2, 0x8118, 0xE8D3, 0x8155, 0xE8D4, 0x839E, - 0xE8D5, 0x8C4C, 0xE8D6, 0x962E, 0xE8D7, 0x9811, 0xE8D8, 0x66F0, 0xE8D9, 0x5F80, 0xE8DA, 0x65FA, 0xE8DB, 0x6789, 0xE8DC, 0x6C6A, - 0xE8DD, 0x738B, 0xE8DE, 0x502D, 0xE8DF, 0x5A03, 0xE8E0, 0x6B6A, 0xE8E1, 0x77EE, 0xE8E2, 0x5916, 0xE8E3, 0x5D6C, 0xE8E4, 0x5DCD, - 0xE8E5, 0x7325, 0xE8E6, 0x754F, 0xE8E7, 0xF9BA, 0xE8E8, 0xF9BB, 0xE8E9, 0x50E5, 0xE8EA, 0x51F9, 0xE8EB, 0x582F, 0xE8EC, 0x592D, - 0xE8ED, 0x5996, 0xE8EE, 0x59DA, 0xE8EF, 0x5BE5, 0xE8F0, 0xF9BC, 0xE8F1, 0xF9BD, 0xE8F2, 0x5DA2, 0xE8F3, 0x62D7, 0xE8F4, 0x6416, - 0xE8F5, 0x6493, 0xE8F6, 0x64FE, 0xE8F7, 0xF9BE, 0xE8F8, 0x66DC, 0xE8F9, 0xF9BF, 0xE8FA, 0x6A48, 0xE8FB, 0xF9C0, 0xE8FC, 0x71FF, - 0xE8FD, 0x7464, 0xE8FE, 0xF9C1, 0xE9A1, 0x7A88, 0xE9A2, 0x7AAF, 0xE9A3, 0x7E47, 0xE9A4, 0x7E5E, 0xE9A5, 0x8000, 0xE9A6, 0x8170, - 0xE9A7, 0xF9C2, 0xE9A8, 0x87EF, 0xE9A9, 0x8981, 0xE9AA, 0x8B20, 0xE9AB, 0x9059, 0xE9AC, 0xF9C3, 0xE9AD, 0x9080, 0xE9AE, 0x9952, - 0xE9AF, 0x617E, 0xE9B0, 0x6B32, 0xE9B1, 0x6D74, 0xE9B2, 0x7E1F, 0xE9B3, 0x8925, 0xE9B4, 0x8FB1, 0xE9B5, 0x4FD1, 0xE9B6, 0x50AD, - 0xE9B7, 0x5197, 0xE9B8, 0x52C7, 0xE9B9, 0x57C7, 0xE9BA, 0x5889, 0xE9BB, 0x5BB9, 0xE9BC, 0x5EB8, 0xE9BD, 0x6142, 0xE9BE, 0x6995, - 0xE9BF, 0x6D8C, 0xE9C0, 0x6E67, 0xE9C1, 0x6EB6, 0xE9C2, 0x7194, 0xE9C3, 0x7462, 0xE9C4, 0x7528, 0xE9C5, 0x752C, 0xE9C6, 0x8073, - 0xE9C7, 0x8338, 0xE9C8, 0x84C9, 0xE9C9, 0x8E0A, 0xE9CA, 0x9394, 0xE9CB, 0x93DE, 0xE9CC, 0xF9C4, 0xE9CD, 0x4E8E, 0xE9CE, 0x4F51, - 0xE9CF, 0x5076, 0xE9D0, 0x512A, 0xE9D1, 0x53C8, 0xE9D2, 0x53CB, 0xE9D3, 0x53F3, 0xE9D4, 0x5B87, 0xE9D5, 0x5BD3, 0xE9D6, 0x5C24, - 0xE9D7, 0x611A, 0xE9D8, 0x6182, 0xE9D9, 0x65F4, 0xE9DA, 0x725B, 0xE9DB, 0x7397, 0xE9DC, 0x7440, 0xE9DD, 0x76C2, 0xE9DE, 0x7950, - 0xE9DF, 0x7991, 0xE9E0, 0x79B9, 0xE9E1, 0x7D06, 0xE9E2, 0x7FBD, 0xE9E3, 0x828B, 0xE9E4, 0x85D5, 0xE9E5, 0x865E, 0xE9E6, 0x8FC2, - 0xE9E7, 0x9047, 0xE9E8, 0x90F5, 0xE9E9, 0x91EA, 0xE9EA, 0x9685, 0xE9EB, 0x96E8, 0xE9EC, 0x96E9, 0xE9ED, 0x52D6, 0xE9EE, 0x5F67, - 0xE9EF, 0x65ED, 0xE9F0, 0x6631, 0xE9F1, 0x682F, 0xE9F2, 0x715C, 0xE9F3, 0x7A36, 0xE9F4, 0x90C1, 0xE9F5, 0x980A, 0xE9F6, 0x4E91, - 0xE9F7, 0xF9C5, 0xE9F8, 0x6A52, 0xE9F9, 0x6B9E, 0xE9FA, 0x6F90, 0xE9FB, 0x7189, 0xE9FC, 0x8018, 0xE9FD, 0x82B8, 0xE9FE, 0x8553, - 0xEAA1, 0x904B, 0xEAA2, 0x9695, 0xEAA3, 0x96F2, 0xEAA4, 0x97FB, 0xEAA5, 0x851A, 0xEAA6, 0x9B31, 0xEAA7, 0x4E90, 0xEAA8, 0x718A, - 0xEAA9, 0x96C4, 0xEAAA, 0x5143, 0xEAAB, 0x539F, 0xEAAC, 0x54E1, 0xEAAD, 0x5713, 0xEAAE, 0x5712, 0xEAAF, 0x57A3, 0xEAB0, 0x5A9B, - 0xEAB1, 0x5AC4, 0xEAB2, 0x5BC3, 0xEAB3, 0x6028, 0xEAB4, 0x613F, 0xEAB5, 0x63F4, 0xEAB6, 0x6C85, 0xEAB7, 0x6D39, 0xEAB8, 0x6E72, - 0xEAB9, 0x6E90, 0xEABA, 0x7230, 0xEABB, 0x733F, 0xEABC, 0x7457, 0xEABD, 0x82D1, 0xEABE, 0x8881, 0xEABF, 0x8F45, 0xEAC0, 0x9060, - 0xEAC1, 0xF9C6, 0xEAC2, 0x9662, 0xEAC3, 0x9858, 0xEAC4, 0x9D1B, 0xEAC5, 0x6708, 0xEAC6, 0x8D8A, 0xEAC7, 0x925E, 0xEAC8, 0x4F4D, - 0xEAC9, 0x5049, 0xEACA, 0x50DE, 0xEACB, 0x5371, 0xEACC, 0x570D, 0xEACD, 0x59D4, 0xEACE, 0x5A01, 0xEACF, 0x5C09, 0xEAD0, 0x6170, - 0xEAD1, 0x6690, 0xEAD2, 0x6E2D, 0xEAD3, 0x7232, 0xEAD4, 0x744B, 0xEAD5, 0x7DEF, 0xEAD6, 0x80C3, 0xEAD7, 0x840E, 0xEAD8, 0x8466, - 0xEAD9, 0x853F, 0xEADA, 0x875F, 0xEADB, 0x885B, 0xEADC, 0x8918, 0xEADD, 0x8B02, 0xEADE, 0x9055, 0xEADF, 0x97CB, 0xEAE0, 0x9B4F, - 0xEAE1, 0x4E73, 0xEAE2, 0x4F91, 0xEAE3, 0x5112, 0xEAE4, 0x516A, 0xEAE5, 0xF9C7, 0xEAE6, 0x552F, 0xEAE7, 0x55A9, 0xEAE8, 0x5B7A, - 0xEAE9, 0x5BA5, 0xEAEA, 0x5E7C, 0xEAEB, 0x5E7D, 0xEAEC, 0x5EBE, 0xEAED, 0x60A0, 0xEAEE, 0x60DF, 0xEAEF, 0x6108, 0xEAF0, 0x6109, - 0xEAF1, 0x63C4, 0xEAF2, 0x6538, 0xEAF3, 0x6709, 0xEAF4, 0xF9C8, 0xEAF5, 0x67D4, 0xEAF6, 0x67DA, 0xEAF7, 0xF9C9, 0xEAF8, 0x6961, - 0xEAF9, 0x6962, 0xEAFA, 0x6CB9, 0xEAFB, 0x6D27, 0xEAFC, 0xF9CA, 0xEAFD, 0x6E38, 0xEAFE, 0xF9CB, 0xEBA1, 0x6FE1, 0xEBA2, 0x7336, - 0xEBA3, 0x7337, 0xEBA4, 0xF9CC, 0xEBA5, 0x745C, 0xEBA6, 0x7531, 0xEBA7, 0xF9CD, 0xEBA8, 0x7652, 0xEBA9, 0xF9CE, 0xEBAA, 0xF9CF, - 0xEBAB, 0x7DAD, 0xEBAC, 0x81FE, 0xEBAD, 0x8438, 0xEBAE, 0x88D5, 0xEBAF, 0x8A98, 0xEBB0, 0x8ADB, 0xEBB1, 0x8AED, 0xEBB2, 0x8E30, - 0xEBB3, 0x8E42, 0xEBB4, 0x904A, 0xEBB5, 0x903E, 0xEBB6, 0x907A, 0xEBB7, 0x9149, 0xEBB8, 0x91C9, 0xEBB9, 0x936E, 0xEBBA, 0xF9D0, - 0xEBBB, 0xF9D1, 0xEBBC, 0x5809, 0xEBBD, 0xF9D2, 0xEBBE, 0x6BD3, 0xEBBF, 0x8089, 0xEBC0, 0x80B2, 0xEBC1, 0xF9D3, 0xEBC2, 0xF9D4, - 0xEBC3, 0x5141, 0xEBC4, 0x596B, 0xEBC5, 0x5C39, 0xEBC6, 0xF9D5, 0xEBC7, 0xF9D6, 0xEBC8, 0x6F64, 0xEBC9, 0x73A7, 0xEBCA, 0x80E4, - 0xEBCB, 0x8D07, 0xEBCC, 0xF9D7, 0xEBCD, 0x9217, 0xEBCE, 0x958F, 0xEBCF, 0xF9D8, 0xEBD0, 0xF9D9, 0xEBD1, 0xF9DA, 0xEBD2, 0xF9DB, - 0xEBD3, 0x807F, 0xEBD4, 0x620E, 0xEBD5, 0x701C, 0xEBD6, 0x7D68, 0xEBD7, 0x878D, 0xEBD8, 0xF9DC, 0xEBD9, 0x57A0, 0xEBDA, 0x6069, - 0xEBDB, 0x6147, 0xEBDC, 0x6BB7, 0xEBDD, 0x8ABE, 0xEBDE, 0x9280, 0xEBDF, 0x96B1, 0xEBE0, 0x4E59, 0xEBE1, 0x541F, 0xEBE2, 0x6DEB, - 0xEBE3, 0x852D, 0xEBE4, 0x9670, 0xEBE5, 0x97F3, 0xEBE6, 0x98EE, 0xEBE7, 0x63D6, 0xEBE8, 0x6CE3, 0xEBE9, 0x9091, 0xEBEA, 0x51DD, - 0xEBEB, 0x61C9, 0xEBEC, 0x81BA, 0xEBED, 0x9DF9, 0xEBEE, 0x4F9D, 0xEBEF, 0x501A, 0xEBF0, 0x5100, 0xEBF1, 0x5B9C, 0xEBF2, 0x610F, - 0xEBF3, 0x61FF, 0xEBF4, 0x64EC, 0xEBF5, 0x6905, 0xEBF6, 0x6BC5, 0xEBF7, 0x7591, 0xEBF8, 0x77E3, 0xEBF9, 0x7FA9, 0xEBFA, 0x8264, - 0xEBFB, 0x858F, 0xEBFC, 0x87FB, 0xEBFD, 0x8863, 0xEBFE, 0x8ABC, 0xECA1, 0x8B70, 0xECA2, 0x91AB, 0xECA3, 0x4E8C, 0xECA4, 0x4EE5, - 0xECA5, 0x4F0A, 0xECA6, 0xF9DD, 0xECA7, 0xF9DE, 0xECA8, 0x5937, 0xECA9, 0x59E8, 0xECAA, 0xF9DF, 0xECAB, 0x5DF2, 0xECAC, 0x5F1B, - 0xECAD, 0x5F5B, 0xECAE, 0x6021, 0xECAF, 0xF9E0, 0xECB0, 0xF9E1, 0xECB1, 0xF9E2, 0xECB2, 0xF9E3, 0xECB3, 0x723E, 0xECB4, 0x73E5, - 0xECB5, 0xF9E4, 0xECB6, 0x7570, 0xECB7, 0x75CD, 0xECB8, 0xF9E5, 0xECB9, 0x79FB, 0xECBA, 0xF9E6, 0xECBB, 0x800C, 0xECBC, 0x8033, - 0xECBD, 0x8084, 0xECBE, 0x82E1, 0xECBF, 0x8351, 0xECC0, 0xF9E7, 0xECC1, 0xF9E8, 0xECC2, 0x8CBD, 0xECC3, 0x8CB3, 0xECC4, 0x9087, - 0xECC5, 0xF9E9, 0xECC6, 0xF9EA, 0xECC7, 0x98F4, 0xECC8, 0x990C, 0xECC9, 0xF9EB, 0xECCA, 0xF9EC, 0xECCB, 0x7037, 0xECCC, 0x76CA, - 0xECCD, 0x7FCA, 0xECCE, 0x7FCC, 0xECCF, 0x7FFC, 0xECD0, 0x8B1A, 0xECD1, 0x4EBA, 0xECD2, 0x4EC1, 0xECD3, 0x5203, 0xECD4, 0x5370, - 0xECD5, 0xF9ED, 0xECD6, 0x54BD, 0xECD7, 0x56E0, 0xECD8, 0x59FB, 0xECD9, 0x5BC5, 0xECDA, 0x5F15, 0xECDB, 0x5FCD, 0xECDC, 0x6E6E, - 0xECDD, 0xF9EE, 0xECDE, 0xF9EF, 0xECDF, 0x7D6A, 0xECE0, 0x8335, 0xECE1, 0xF9F0, 0xECE2, 0x8693, 0xECE3, 0x8A8D, 0xECE4, 0xF9F1, - 0xECE5, 0x976D, 0xECE6, 0x9777, 0xECE7, 0xF9F2, 0xECE8, 0xF9F3, 0xECE9, 0x4E00, 0xECEA, 0x4F5A, 0xECEB, 0x4F7E, 0xECEC, 0x58F9, - 0xECED, 0x65E5, 0xECEE, 0x6EA2, 0xECEF, 0x9038, 0xECF0, 0x93B0, 0xECF1, 0x99B9, 0xECF2, 0x4EFB, 0xECF3, 0x58EC, 0xECF4, 0x598A, - 0xECF5, 0x59D9, 0xECF6, 0x6041, 0xECF7, 0xF9F4, 0xECF8, 0xF9F5, 0xECF9, 0x7A14, 0xECFA, 0xF9F6, 0xECFB, 0x834F, 0xECFC, 0x8CC3, - 0xECFD, 0x5165, 0xECFE, 0x5344, 0xEDA1, 0xF9F7, 0xEDA2, 0xF9F8, 0xEDA3, 0xF9F9, 0xEDA4, 0x4ECD, 0xEDA5, 0x5269, 0xEDA6, 0x5B55, - 0xEDA7, 0x82BF, 0xEDA8, 0x4ED4, 0xEDA9, 0x523A, 0xEDAA, 0x54A8, 0xEDAB, 0x59C9, 0xEDAC, 0x59FF, 0xEDAD, 0x5B50, 0xEDAE, 0x5B57, - 0xEDAF, 0x5B5C, 0xEDB0, 0x6063, 0xEDB1, 0x6148, 0xEDB2, 0x6ECB, 0xEDB3, 0x7099, 0xEDB4, 0x716E, 0xEDB5, 0x7386, 0xEDB6, 0x74F7, - 0xEDB7, 0x75B5, 0xEDB8, 0x78C1, 0xEDB9, 0x7D2B, 0xEDBA, 0x8005, 0xEDBB, 0x81EA, 0xEDBC, 0x8328, 0xEDBD, 0x8517, 0xEDBE, 0x85C9, - 0xEDBF, 0x8AEE, 0xEDC0, 0x8CC7, 0xEDC1, 0x96CC, 0xEDC2, 0x4F5C, 0xEDC3, 0x52FA, 0xEDC4, 0x56BC, 0xEDC5, 0x65AB, 0xEDC6, 0x6628, - 0xEDC7, 0x707C, 0xEDC8, 0x70B8, 0xEDC9, 0x7235, 0xEDCA, 0x7DBD, 0xEDCB, 0x828D, 0xEDCC, 0x914C, 0xEDCD, 0x96C0, 0xEDCE, 0x9D72, - 0xEDCF, 0x5B71, 0xEDD0, 0x68E7, 0xEDD1, 0x6B98, 0xEDD2, 0x6F7A, 0xEDD3, 0x76DE, 0xEDD4, 0x5C91, 0xEDD5, 0x66AB, 0xEDD6, 0x6F5B, - 0xEDD7, 0x7BB4, 0xEDD8, 0x7C2A, 0xEDD9, 0x8836, 0xEDDA, 0x96DC, 0xEDDB, 0x4E08, 0xEDDC, 0x4ED7, 0xEDDD, 0x5320, 0xEDDE, 0x5834, - 0xEDDF, 0x58BB, 0xEDE0, 0x58EF, 0xEDE1, 0x596C, 0xEDE2, 0x5C07, 0xEDE3, 0x5E33, 0xEDE4, 0x5E84, 0xEDE5, 0x5F35, 0xEDE6, 0x638C, - 0xEDE7, 0x66B2, 0xEDE8, 0x6756, 0xEDE9, 0x6A1F, 0xEDEA, 0x6AA3, 0xEDEB, 0x6B0C, 0xEDEC, 0x6F3F, 0xEDED, 0x7246, 0xEDEE, 0xF9FA, - 0xEDEF, 0x7350, 0xEDF0, 0x748B, 0xEDF1, 0x7AE0, 0xEDF2, 0x7CA7, 0xEDF3, 0x8178, 0xEDF4, 0x81DF, 0xEDF5, 0x81E7, 0xEDF6, 0x838A, - 0xEDF7, 0x846C, 0xEDF8, 0x8523, 0xEDF9, 0x8594, 0xEDFA, 0x85CF, 0xEDFB, 0x88DD, 0xEDFC, 0x8D13, 0xEDFD, 0x91AC, 0xEDFE, 0x9577, - 0xEEA1, 0x969C, 0xEEA2, 0x518D, 0xEEA3, 0x54C9, 0xEEA4, 0x5728, 0xEEA5, 0x5BB0, 0xEEA6, 0x624D, 0xEEA7, 0x6750, 0xEEA8, 0x683D, - 0xEEA9, 0x6893, 0xEEAA, 0x6E3D, 0xEEAB, 0x6ED3, 0xEEAC, 0x707D, 0xEEAD, 0x7E21, 0xEEAE, 0x88C1, 0xEEAF, 0x8CA1, 0xEEB0, 0x8F09, - 0xEEB1, 0x9F4B, 0xEEB2, 0x9F4E, 0xEEB3, 0x722D, 0xEEB4, 0x7B8F, 0xEEB5, 0x8ACD, 0xEEB6, 0x931A, 0xEEB7, 0x4F47, 0xEEB8, 0x4F4E, - 0xEEB9, 0x5132, 0xEEBA, 0x5480, 0xEEBB, 0x59D0, 0xEEBC, 0x5E95, 0xEEBD, 0x62B5, 0xEEBE, 0x6775, 0xEEBF, 0x696E, 0xEEC0, 0x6A17, - 0xEEC1, 0x6CAE, 0xEEC2, 0x6E1A, 0xEEC3, 0x72D9, 0xEEC4, 0x732A, 0xEEC5, 0x75BD, 0xEEC6, 0x7BB8, 0xEEC7, 0x7D35, 0xEEC8, 0x82E7, - 0xEEC9, 0x83F9, 0xEECA, 0x8457, 0xEECB, 0x85F7, 0xEECC, 0x8A5B, 0xEECD, 0x8CAF, 0xEECE, 0x8E87, 0xEECF, 0x9019, 0xEED0, 0x90B8, - 0xEED1, 0x96CE, 0xEED2, 0x9F5F, 0xEED3, 0x52E3, 0xEED4, 0x540A, 0xEED5, 0x5AE1, 0xEED6, 0x5BC2, 0xEED7, 0x6458, 0xEED8, 0x6575, - 0xEED9, 0x6EF4, 0xEEDA, 0x72C4, 0xEEDB, 0xF9FB, 0xEEDC, 0x7684, 0xEEDD, 0x7A4D, 0xEEDE, 0x7B1B, 0xEEDF, 0x7C4D, 0xEEE0, 0x7E3E, - 0xEEE1, 0x7FDF, 0xEEE2, 0x837B, 0xEEE3, 0x8B2B, 0xEEE4, 0x8CCA, 0xEEE5, 0x8D64, 0xEEE6, 0x8DE1, 0xEEE7, 0x8E5F, 0xEEE8, 0x8FEA, - 0xEEE9, 0x8FF9, 0xEEEA, 0x9069, 0xEEEB, 0x93D1, 0xEEEC, 0x4F43, 0xEEED, 0x4F7A, 0xEEEE, 0x50B3, 0xEEEF, 0x5168, 0xEEF0, 0x5178, - 0xEEF1, 0x524D, 0xEEF2, 0x526A, 0xEEF3, 0x5861, 0xEEF4, 0x587C, 0xEEF5, 0x5960, 0xEEF6, 0x5C08, 0xEEF7, 0x5C55, 0xEEF8, 0x5EDB, - 0xEEF9, 0x609B, 0xEEFA, 0x6230, 0xEEFB, 0x6813, 0xEEFC, 0x6BBF, 0xEEFD, 0x6C08, 0xEEFE, 0x6FB1, 0xEFA1, 0x714E, 0xEFA2, 0x7420, - 0xEFA3, 0x7530, 0xEFA4, 0x7538, 0xEFA5, 0x7551, 0xEFA6, 0x7672, 0xEFA7, 0x7B4C, 0xEFA8, 0x7B8B, 0xEFA9, 0x7BAD, 0xEFAA, 0x7BC6, - 0xEFAB, 0x7E8F, 0xEFAC, 0x8A6E, 0xEFAD, 0x8F3E, 0xEFAE, 0x8F49, 0xEFAF, 0x923F, 0xEFB0, 0x9293, 0xEFB1, 0x9322, 0xEFB2, 0x942B, - 0xEFB3, 0x96FB, 0xEFB4, 0x985A, 0xEFB5, 0x986B, 0xEFB6, 0x991E, 0xEFB7, 0x5207, 0xEFB8, 0x622A, 0xEFB9, 0x6298, 0xEFBA, 0x6D59, - 0xEFBB, 0x7664, 0xEFBC, 0x7ACA, 0xEFBD, 0x7BC0, 0xEFBE, 0x7D76, 0xEFBF, 0x5360, 0xEFC0, 0x5CBE, 0xEFC1, 0x5E97, 0xEFC2, 0x6F38, - 0xEFC3, 0x70B9, 0xEFC4, 0x7C98, 0xEFC5, 0x9711, 0xEFC6, 0x9B8E, 0xEFC7, 0x9EDE, 0xEFC8, 0x63A5, 0xEFC9, 0x647A, 0xEFCA, 0x8776, - 0xEFCB, 0x4E01, 0xEFCC, 0x4E95, 0xEFCD, 0x4EAD, 0xEFCE, 0x505C, 0xEFCF, 0x5075, 0xEFD0, 0x5448, 0xEFD1, 0x59C3, 0xEFD2, 0x5B9A, - 0xEFD3, 0x5E40, 0xEFD4, 0x5EAD, 0xEFD5, 0x5EF7, 0xEFD6, 0x5F81, 0xEFD7, 0x60C5, 0xEFD8, 0x633A, 0xEFD9, 0x653F, 0xEFDA, 0x6574, - 0xEFDB, 0x65CC, 0xEFDC, 0x6676, 0xEFDD, 0x6678, 0xEFDE, 0x67FE, 0xEFDF, 0x6968, 0xEFE0, 0x6A89, 0xEFE1, 0x6B63, 0xEFE2, 0x6C40, - 0xEFE3, 0x6DC0, 0xEFE4, 0x6DE8, 0xEFE5, 0x6E1F, 0xEFE6, 0x6E5E, 0xEFE7, 0x701E, 0xEFE8, 0x70A1, 0xEFE9, 0x738E, 0xEFEA, 0x73FD, - 0xEFEB, 0x753A, 0xEFEC, 0x775B, 0xEFED, 0x7887, 0xEFEE, 0x798E, 0xEFEF, 0x7A0B, 0xEFF0, 0x7A7D, 0xEFF1, 0x7CBE, 0xEFF2, 0x7D8E, - 0xEFF3, 0x8247, 0xEFF4, 0x8A02, 0xEFF5, 0x8AEA, 0xEFF6, 0x8C9E, 0xEFF7, 0x912D, 0xEFF8, 0x914A, 0xEFF9, 0x91D8, 0xEFFA, 0x9266, - 0xEFFB, 0x92CC, 0xEFFC, 0x9320, 0xEFFD, 0x9706, 0xEFFE, 0x9756, 0xF0A1, 0x975C, 0xF0A2, 0x9802, 0xF0A3, 0x9F0E, 0xF0A4, 0x5236, - 0xF0A5, 0x5291, 0xF0A6, 0x557C, 0xF0A7, 0x5824, 0xF0A8, 0x5E1D, 0xF0A9, 0x5F1F, 0xF0AA, 0x608C, 0xF0AB, 0x63D0, 0xF0AC, 0x68AF, - 0xF0AD, 0x6FDF, 0xF0AE, 0x796D, 0xF0AF, 0x7B2C, 0xF0B0, 0x81CD, 0xF0B1, 0x85BA, 0xF0B2, 0x88FD, 0xF0B3, 0x8AF8, 0xF0B4, 0x8E44, - 0xF0B5, 0x918D, 0xF0B6, 0x9664, 0xF0B7, 0x969B, 0xF0B8, 0x973D, 0xF0B9, 0x984C, 0xF0BA, 0x9F4A, 0xF0BB, 0x4FCE, 0xF0BC, 0x5146, - 0xF0BD, 0x51CB, 0xF0BE, 0x52A9, 0xF0BF, 0x5632, 0xF0C0, 0x5F14, 0xF0C1, 0x5F6B, 0xF0C2, 0x63AA, 0xF0C3, 0x64CD, 0xF0C4, 0x65E9, - 0xF0C5, 0x6641, 0xF0C6, 0x66FA, 0xF0C7, 0x66F9, 0xF0C8, 0x671D, 0xF0C9, 0x689D, 0xF0CA, 0x68D7, 0xF0CB, 0x69FD, 0xF0CC, 0x6F15, - 0xF0CD, 0x6F6E, 0xF0CE, 0x7167, 0xF0CF, 0x71E5, 0xF0D0, 0x722A, 0xF0D1, 0x74AA, 0xF0D2, 0x773A, 0xF0D3, 0x7956, 0xF0D4, 0x795A, - 0xF0D5, 0x79DF, 0xF0D6, 0x7A20, 0xF0D7, 0x7A95, 0xF0D8, 0x7C97, 0xF0D9, 0x7CDF, 0xF0DA, 0x7D44, 0xF0DB, 0x7E70, 0xF0DC, 0x8087, - 0xF0DD, 0x85FB, 0xF0DE, 0x86A4, 0xF0DF, 0x8A54, 0xF0E0, 0x8ABF, 0xF0E1, 0x8D99, 0xF0E2, 0x8E81, 0xF0E3, 0x9020, 0xF0E4, 0x906D, - 0xF0E5, 0x91E3, 0xF0E6, 0x963B, 0xF0E7, 0x96D5, 0xF0E8, 0x9CE5, 0xF0E9, 0x65CF, 0xF0EA, 0x7C07, 0xF0EB, 0x8DB3, 0xF0EC, 0x93C3, - 0xF0ED, 0x5B58, 0xF0EE, 0x5C0A, 0xF0EF, 0x5352, 0xF0F0, 0x62D9, 0xF0F1, 0x731D, 0xF0F2, 0x5027, 0xF0F3, 0x5B97, 0xF0F4, 0x5F9E, - 0xF0F5, 0x60B0, 0xF0F6, 0x616B, 0xF0F7, 0x68D5, 0xF0F8, 0x6DD9, 0xF0F9, 0x742E, 0xF0FA, 0x7A2E, 0xF0FB, 0x7D42, 0xF0FC, 0x7D9C, - 0xF0FD, 0x7E31, 0xF0FE, 0x816B, 0xF1A1, 0x8E2A, 0xF1A2, 0x8E35, 0xF1A3, 0x937E, 0xF1A4, 0x9418, 0xF1A5, 0x4F50, 0xF1A6, 0x5750, - 0xF1A7, 0x5DE6, 0xF1A8, 0x5EA7, 0xF1A9, 0x632B, 0xF1AA, 0x7F6A, 0xF1AB, 0x4E3B, 0xF1AC, 0x4F4F, 0xF1AD, 0x4F8F, 0xF1AE, 0x505A, - 0xF1AF, 0x59DD, 0xF1B0, 0x80C4, 0xF1B1, 0x546A, 0xF1B2, 0x5468, 0xF1B3, 0x55FE, 0xF1B4, 0x594F, 0xF1B5, 0x5B99, 0xF1B6, 0x5DDE, - 0xF1B7, 0x5EDA, 0xF1B8, 0x665D, 0xF1B9, 0x6731, 0xF1BA, 0x67F1, 0xF1BB, 0x682A, 0xF1BC, 0x6CE8, 0xF1BD, 0x6D32, 0xF1BE, 0x6E4A, - 0xF1BF, 0x6F8D, 0xF1C0, 0x70B7, 0xF1C1, 0x73E0, 0xF1C2, 0x7587, 0xF1C3, 0x7C4C, 0xF1C4, 0x7D02, 0xF1C5, 0x7D2C, 0xF1C6, 0x7DA2, - 0xF1C7, 0x821F, 0xF1C8, 0x86DB, 0xF1C9, 0x8A3B, 0xF1CA, 0x8A85, 0xF1CB, 0x8D70, 0xF1CC, 0x8E8A, 0xF1CD, 0x8F33, 0xF1CE, 0x9031, - 0xF1CF, 0x914E, 0xF1D0, 0x9152, 0xF1D1, 0x9444, 0xF1D2, 0x99D0, 0xF1D3, 0x7AF9, 0xF1D4, 0x7CA5, 0xF1D5, 0x4FCA, 0xF1D6, 0x5101, - 0xF1D7, 0x51C6, 0xF1D8, 0x57C8, 0xF1D9, 0x5BEF, 0xF1DA, 0x5CFB, 0xF1DB, 0x6659, 0xF1DC, 0x6A3D, 0xF1DD, 0x6D5A, 0xF1DE, 0x6E96, - 0xF1DF, 0x6FEC, 0xF1E0, 0x710C, 0xF1E1, 0x756F, 0xF1E2, 0x7AE3, 0xF1E3, 0x8822, 0xF1E4, 0x9021, 0xF1E5, 0x9075, 0xF1E6, 0x96CB, - 0xF1E7, 0x99FF, 0xF1E8, 0x8301, 0xF1E9, 0x4E2D, 0xF1EA, 0x4EF2, 0xF1EB, 0x8846, 0xF1EC, 0x91CD, 0xF1ED, 0x537D, 0xF1EE, 0x6ADB, - 0xF1EF, 0x696B, 0xF1F0, 0x6C41, 0xF1F1, 0x847A, 0xF1F2, 0x589E, 0xF1F3, 0x618E, 0xF1F4, 0x66FE, 0xF1F5, 0x62EF, 0xF1F6, 0x70DD, - 0xF1F7, 0x7511, 0xF1F8, 0x75C7, 0xF1F9, 0x7E52, 0xF1FA, 0x84B8, 0xF1FB, 0x8B49, 0xF1FC, 0x8D08, 0xF1FD, 0x4E4B, 0xF1FE, 0x53EA, - 0xF2A1, 0x54AB, 0xF2A2, 0x5730, 0xF2A3, 0x5740, 0xF2A4, 0x5FD7, 0xF2A5, 0x6301, 0xF2A6, 0x6307, 0xF2A7, 0x646F, 0xF2A8, 0x652F, - 0xF2A9, 0x65E8, 0xF2AA, 0x667A, 0xF2AB, 0x679D, 0xF2AC, 0x67B3, 0xF2AD, 0x6B62, 0xF2AE, 0x6C60, 0xF2AF, 0x6C9A, 0xF2B0, 0x6F2C, - 0xF2B1, 0x77E5, 0xF2B2, 0x7825, 0xF2B3, 0x7949, 0xF2B4, 0x7957, 0xF2B5, 0x7D19, 0xF2B6, 0x80A2, 0xF2B7, 0x8102, 0xF2B8, 0x81F3, - 0xF2B9, 0x829D, 0xF2BA, 0x82B7, 0xF2BB, 0x8718, 0xF2BC, 0x8A8C, 0xF2BD, 0xF9FC, 0xF2BE, 0x8D04, 0xF2BF, 0x8DBE, 0xF2C0, 0x9072, - 0xF2C1, 0x76F4, 0xF2C2, 0x7A19, 0xF2C3, 0x7A37, 0xF2C4, 0x7E54, 0xF2C5, 0x8077, 0xF2C6, 0x5507, 0xF2C7, 0x55D4, 0xF2C8, 0x5875, - 0xF2C9, 0x632F, 0xF2CA, 0x6422, 0xF2CB, 0x6649, 0xF2CC, 0x664B, 0xF2CD, 0x686D, 0xF2CE, 0x699B, 0xF2CF, 0x6B84, 0xF2D0, 0x6D25, - 0xF2D1, 0x6EB1, 0xF2D2, 0x73CD, 0xF2D3, 0x7468, 0xF2D4, 0x74A1, 0xF2D5, 0x755B, 0xF2D6, 0x75B9, 0xF2D7, 0x76E1, 0xF2D8, 0x771E, - 0xF2D9, 0x778B, 0xF2DA, 0x79E6, 0xF2DB, 0x7E09, 0xF2DC, 0x7E1D, 0xF2DD, 0x81FB, 0xF2DE, 0x852F, 0xF2DF, 0x8897, 0xF2E0, 0x8A3A, - 0xF2E1, 0x8CD1, 0xF2E2, 0x8EEB, 0xF2E3, 0x8FB0, 0xF2E4, 0x9032, 0xF2E5, 0x93AD, 0xF2E6, 0x9663, 0xF2E7, 0x9673, 0xF2E8, 0x9707, - 0xF2E9, 0x4F84, 0xF2EA, 0x53F1, 0xF2EB, 0x59EA, 0xF2EC, 0x5AC9, 0xF2ED, 0x5E19, 0xF2EE, 0x684E, 0xF2EF, 0x74C6, 0xF2F0, 0x75BE, - 0xF2F1, 0x79E9, 0xF2F2, 0x7A92, 0xF2F3, 0x81A3, 0xF2F4, 0x86ED, 0xF2F5, 0x8CEA, 0xF2F6, 0x8DCC, 0xF2F7, 0x8FED, 0xF2F8, 0x659F, - 0xF2F9, 0x6715, 0xF2FA, 0xF9FD, 0xF2FB, 0x57F7, 0xF2FC, 0x6F57, 0xF2FD, 0x7DDD, 0xF2FE, 0x8F2F, 0xF3A1, 0x93F6, 0xF3A2, 0x96C6, - 0xF3A3, 0x5FB5, 0xF3A4, 0x61F2, 0xF3A5, 0x6F84, 0xF3A6, 0x4E14, 0xF3A7, 0x4F98, 0xF3A8, 0x501F, 0xF3A9, 0x53C9, 0xF3AA, 0x55DF, - 0xF3AB, 0x5D6F, 0xF3AC, 0x5DEE, 0xF3AD, 0x6B21, 0xF3AE, 0x6B64, 0xF3AF, 0x78CB, 0xF3B0, 0x7B9A, 0xF3B1, 0xF9FE, 0xF3B2, 0x8E49, - 0xF3B3, 0x8ECA, 0xF3B4, 0x906E, 0xF3B5, 0x6349, 0xF3B6, 0x643E, 0xF3B7, 0x7740, 0xF3B8, 0x7A84, 0xF3B9, 0x932F, 0xF3BA, 0x947F, - 0xF3BB, 0x9F6A, 0xF3BC, 0x64B0, 0xF3BD, 0x6FAF, 0xF3BE, 0x71E6, 0xF3BF, 0x74A8, 0xF3C0, 0x74DA, 0xF3C1, 0x7AC4, 0xF3C2, 0x7C12, - 0xF3C3, 0x7E82, 0xF3C4, 0x7CB2, 0xF3C5, 0x7E98, 0xF3C6, 0x8B9A, 0xF3C7, 0x8D0A, 0xF3C8, 0x947D, 0xF3C9, 0x9910, 0xF3CA, 0x994C, - 0xF3CB, 0x5239, 0xF3CC, 0x5BDF, 0xF3CD, 0x64E6, 0xF3CE, 0x672D, 0xF3CF, 0x7D2E, 0xF3D0, 0x50ED, 0xF3D1, 0x53C3, 0xF3D2, 0x5879, - 0xF3D3, 0x6158, 0xF3D4, 0x6159, 0xF3D5, 0x61FA, 0xF3D6, 0x65AC, 0xF3D7, 0x7AD9, 0xF3D8, 0x8B92, 0xF3D9, 0x8B96, 0xF3DA, 0x5009, - 0xF3DB, 0x5021, 0xF3DC, 0x5275, 0xF3DD, 0x5531, 0xF3DE, 0x5A3C, 0xF3DF, 0x5EE0, 0xF3E0, 0x5F70, 0xF3E1, 0x6134, 0xF3E2, 0x655E, - 0xF3E3, 0x660C, 0xF3E4, 0x6636, 0xF3E5, 0x66A2, 0xF3E6, 0x69CD, 0xF3E7, 0x6EC4, 0xF3E8, 0x6F32, 0xF3E9, 0x7316, 0xF3EA, 0x7621, - 0xF3EB, 0x7A93, 0xF3EC, 0x8139, 0xF3ED, 0x8259, 0xF3EE, 0x83D6, 0xF3EF, 0x84BC, 0xF3F0, 0x50B5, 0xF3F1, 0x57F0, 0xF3F2, 0x5BC0, - 0xF3F3, 0x5BE8, 0xF3F4, 0x5F69, 0xF3F5, 0x63A1, 0xF3F6, 0x7826, 0xF3F7, 0x7DB5, 0xF3F8, 0x83DC, 0xF3F9, 0x8521, 0xF3FA, 0x91C7, - 0xF3FB, 0x91F5, 0xF3FC, 0x518A, 0xF3FD, 0x67F5, 0xF3FE, 0x7B56, 0xF4A1, 0x8CAC, 0xF4A2, 0x51C4, 0xF4A3, 0x59BB, 0xF4A4, 0x60BD, - 0xF4A5, 0x8655, 0xF4A6, 0x501C, 0xF4A7, 0xF9FF, 0xF4A8, 0x5254, 0xF4A9, 0x5C3A, 0xF4AA, 0x617D, 0xF4AB, 0x621A, 0xF4AC, 0x62D3, - 0xF4AD, 0x64F2, 0xF4AE, 0x65A5, 0xF4AF, 0x6ECC, 0xF4B0, 0x7620, 0xF4B1, 0x810A, 0xF4B2, 0x8E60, 0xF4B3, 0x965F, 0xF4B4, 0x96BB, - 0xF4B5, 0x4EDF, 0xF4B6, 0x5343, 0xF4B7, 0x5598, 0xF4B8, 0x5929, 0xF4B9, 0x5DDD, 0xF4BA, 0x64C5, 0xF4BB, 0x6CC9, 0xF4BC, 0x6DFA, - 0xF4BD, 0x7394, 0xF4BE, 0x7A7F, 0xF4BF, 0x821B, 0xF4C0, 0x85A6, 0xF4C1, 0x8CE4, 0xF4C2, 0x8E10, 0xF4C3, 0x9077, 0xF4C4, 0x91E7, - 0xF4C5, 0x95E1, 0xF4C6, 0x9621, 0xF4C7, 0x97C6, 0xF4C8, 0x51F8, 0xF4C9, 0x54F2, 0xF4CA, 0x5586, 0xF4CB, 0x5FB9, 0xF4CC, 0x64A4, - 0xF4CD, 0x6F88, 0xF4CE, 0x7DB4, 0xF4CF, 0x8F1F, 0xF4D0, 0x8F4D, 0xF4D1, 0x9435, 0xF4D2, 0x50C9, 0xF4D3, 0x5C16, 0xF4D4, 0x6CBE, - 0xF4D5, 0x6DFB, 0xF4D6, 0x751B, 0xF4D7, 0x77BB, 0xF4D8, 0x7C3D, 0xF4D9, 0x7C64, 0xF4DA, 0x8A79, 0xF4DB, 0x8AC2, 0xF4DC, 0x581E, - 0xF4DD, 0x59BE, 0xF4DE, 0x5E16, 0xF4DF, 0x6377, 0xF4E0, 0x7252, 0xF4E1, 0x758A, 0xF4E2, 0x776B, 0xF4E3, 0x8ADC, 0xF4E4, 0x8CBC, - 0xF4E5, 0x8F12, 0xF4E6, 0x5EF3, 0xF4E7, 0x6674, 0xF4E8, 0x6DF8, 0xF4E9, 0x807D, 0xF4EA, 0x83C1, 0xF4EB, 0x8ACB, 0xF4EC, 0x9751, - 0xF4ED, 0x9BD6, 0xF4EE, 0xFA00, 0xF4EF, 0x5243, 0xF4F0, 0x66FF, 0xF4F1, 0x6D95, 0xF4F2, 0x6EEF, 0xF4F3, 0x7DE0, 0xF4F4, 0x8AE6, - 0xF4F5, 0x902E, 0xF4F6, 0x905E, 0xF4F7, 0x9AD4, 0xF4F8, 0x521D, 0xF4F9, 0x527F, 0xF4FA, 0x54E8, 0xF4FB, 0x6194, 0xF4FC, 0x6284, - 0xF4FD, 0x62DB, 0xF4FE, 0x68A2, 0xF5A1, 0x6912, 0xF5A2, 0x695A, 0xF5A3, 0x6A35, 0xF5A4, 0x7092, 0xF5A5, 0x7126, 0xF5A6, 0x785D, - 0xF5A7, 0x7901, 0xF5A8, 0x790E, 0xF5A9, 0x79D2, 0xF5AA, 0x7A0D, 0xF5AB, 0x8096, 0xF5AC, 0x8278, 0xF5AD, 0x82D5, 0xF5AE, 0x8349, - 0xF5AF, 0x8549, 0xF5B0, 0x8C82, 0xF5B1, 0x8D85, 0xF5B2, 0x9162, 0xF5B3, 0x918B, 0xF5B4, 0x91AE, 0xF5B5, 0x4FC3, 0xF5B6, 0x56D1, - 0xF5B7, 0x71ED, 0xF5B8, 0x77D7, 0xF5B9, 0x8700, 0xF5BA, 0x89F8, 0xF5BB, 0x5BF8, 0xF5BC, 0x5FD6, 0xF5BD, 0x6751, 0xF5BE, 0x90A8, - 0xF5BF, 0x53E2, 0xF5C0, 0x585A, 0xF5C1, 0x5BF5, 0xF5C2, 0x60A4, 0xF5C3, 0x6181, 0xF5C4, 0x6460, 0xF5C5, 0x7E3D, 0xF5C6, 0x8070, - 0xF5C7, 0x8525, 0xF5C8, 0x9283, 0xF5C9, 0x64AE, 0xF5CA, 0x50AC, 0xF5CB, 0x5D14, 0xF5CC, 0x6700, 0xF5CD, 0x589C, 0xF5CE, 0x62BD, - 0xF5CF, 0x63A8, 0xF5D0, 0x690E, 0xF5D1, 0x6978, 0xF5D2, 0x6A1E, 0xF5D3, 0x6E6B, 0xF5D4, 0x76BA, 0xF5D5, 0x79CB, 0xF5D6, 0x82BB, - 0xF5D7, 0x8429, 0xF5D8, 0x8ACF, 0xF5D9, 0x8DA8, 0xF5DA, 0x8FFD, 0xF5DB, 0x9112, 0xF5DC, 0x914B, 0xF5DD, 0x919C, 0xF5DE, 0x9310, - 0xF5DF, 0x9318, 0xF5E0, 0x939A, 0xF5E1, 0x96DB, 0xF5E2, 0x9A36, 0xF5E3, 0x9C0D, 0xF5E4, 0x4E11, 0xF5E5, 0x755C, 0xF5E6, 0x795D, - 0xF5E7, 0x7AFA, 0xF5E8, 0x7B51, 0xF5E9, 0x7BC9, 0xF5EA, 0x7E2E, 0xF5EB, 0x84C4, 0xF5EC, 0x8E59, 0xF5ED, 0x8E74, 0xF5EE, 0x8EF8, - 0xF5EF, 0x9010, 0xF5F0, 0x6625, 0xF5F1, 0x693F, 0xF5F2, 0x7443, 0xF5F3, 0x51FA, 0xF5F4, 0x672E, 0xF5F5, 0x9EDC, 0xF5F6, 0x5145, - 0xF5F7, 0x5FE0, 0xF5F8, 0x6C96, 0xF5F9, 0x87F2, 0xF5FA, 0x885D, 0xF5FB, 0x8877, 0xF5FC, 0x60B4, 0xF5FD, 0x81B5, 0xF5FE, 0x8403, - 0xF6A1, 0x8D05, 0xF6A2, 0x53D6, 0xF6A3, 0x5439, 0xF6A4, 0x5634, 0xF6A5, 0x5A36, 0xF6A6, 0x5C31, 0xF6A7, 0x708A, 0xF6A8, 0x7FE0, - 0xF6A9, 0x805A, 0xF6AA, 0x8106, 0xF6AB, 0x81ED, 0xF6AC, 0x8DA3, 0xF6AD, 0x9189, 0xF6AE, 0x9A5F, 0xF6AF, 0x9DF2, 0xF6B0, 0x5074, - 0xF6B1, 0x4EC4, 0xF6B2, 0x53A0, 0xF6B3, 0x60FB, 0xF6B4, 0x6E2C, 0xF6B5, 0x5C64, 0xF6B6, 0x4F88, 0xF6B7, 0x5024, 0xF6B8, 0x55E4, - 0xF6B9, 0x5CD9, 0xF6BA, 0x5E5F, 0xF6BB, 0x6065, 0xF6BC, 0x6894, 0xF6BD, 0x6CBB, 0xF6BE, 0x6DC4, 0xF6BF, 0x71BE, 0xF6C0, 0x75D4, - 0xF6C1, 0x75F4, 0xF6C2, 0x7661, 0xF6C3, 0x7A1A, 0xF6C4, 0x7A49, 0xF6C5, 0x7DC7, 0xF6C6, 0x7DFB, 0xF6C7, 0x7F6E, 0xF6C8, 0x81F4, - 0xF6C9, 0x86A9, 0xF6CA, 0x8F1C, 0xF6CB, 0x96C9, 0xF6CC, 0x99B3, 0xF6CD, 0x9F52, 0xF6CE, 0x5247, 0xF6CF, 0x52C5, 0xF6D0, 0x98ED, - 0xF6D1, 0x89AA, 0xF6D2, 0x4E03, 0xF6D3, 0x67D2, 0xF6D4, 0x6F06, 0xF6D5, 0x4FB5, 0xF6D6, 0x5BE2, 0xF6D7, 0x6795, 0xF6D8, 0x6C88, - 0xF6D9, 0x6D78, 0xF6DA, 0x741B, 0xF6DB, 0x7827, 0xF6DC, 0x91DD, 0xF6DD, 0x937C, 0xF6DE, 0x87C4, 0xF6DF, 0x79E4, 0xF6E0, 0x7A31, - 0xF6E1, 0x5FEB, 0xF6E2, 0x4ED6, 0xF6E3, 0x54A4, 0xF6E4, 0x553E, 0xF6E5, 0x58AE, 0xF6E6, 0x59A5, 0xF6E7, 0x60F0, 0xF6E8, 0x6253, - 0xF6E9, 0x62D6, 0xF6EA, 0x6736, 0xF6EB, 0x6955, 0xF6EC, 0x8235, 0xF6ED, 0x9640, 0xF6EE, 0x99B1, 0xF6EF, 0x99DD, 0xF6F0, 0x502C, - 0xF6F1, 0x5353, 0xF6F2, 0x5544, 0xF6F3, 0x577C, 0xF6F4, 0xFA01, 0xF6F5, 0x6258, 0xF6F6, 0xFA02, 0xF6F7, 0x64E2, 0xF6F8, 0x666B, - 0xF6F9, 0x67DD, 0xF6FA, 0x6FC1, 0xF6FB, 0x6FEF, 0xF6FC, 0x7422, 0xF6FD, 0x7438, 0xF6FE, 0x8A17, 0xF7A1, 0x9438, 0xF7A2, 0x5451, - 0xF7A3, 0x5606, 0xF7A4, 0x5766, 0xF7A5, 0x5F48, 0xF7A6, 0x619A, 0xF7A7, 0x6B4E, 0xF7A8, 0x7058, 0xF7A9, 0x70AD, 0xF7AA, 0x7DBB, - 0xF7AB, 0x8A95, 0xF7AC, 0x596A, 0xF7AD, 0x812B, 0xF7AE, 0x63A2, 0xF7AF, 0x7708, 0xF7B0, 0x803D, 0xF7B1, 0x8CAA, 0xF7B2, 0x5854, - 0xF7B3, 0x642D, 0xF7B4, 0x69BB, 0xF7B5, 0x5B95, 0xF7B6, 0x5E11, 0xF7B7, 0x6E6F, 0xF7B8, 0xFA03, 0xF7B9, 0x8569, 0xF7BA, 0x514C, - 0xF7BB, 0x53F0, 0xF7BC, 0x592A, 0xF7BD, 0x6020, 0xF7BE, 0x614B, 0xF7BF, 0x6B86, 0xF7C0, 0x6C70, 0xF7C1, 0x6CF0, 0xF7C2, 0x7B1E, - 0xF7C3, 0x80CE, 0xF7C4, 0x82D4, 0xF7C5, 0x8DC6, 0xF7C6, 0x90B0, 0xF7C7, 0x98B1, 0xF7C8, 0xFA04, 0xF7C9, 0x64C7, 0xF7CA, 0x6FA4, - 0xF7CB, 0x6491, 0xF7CC, 0x6504, 0xF7CD, 0x514E, 0xF7CE, 0x5410, 0xF7CF, 0x571F, 0xF7D0, 0x8A0E, 0xF7D1, 0x615F, 0xF7D2, 0x6876, - 0xF7D3, 0xFA05, 0xF7D4, 0x75DB, 0xF7D5, 0x7B52, 0xF7D6, 0x7D71, 0xF7D7, 0x901A, 0xF7D8, 0x5806, 0xF7D9, 0x69CC, 0xF7DA, 0x817F, - 0xF7DB, 0x892A, 0xF7DC, 0x9000, 0xF7DD, 0x9839, 0xF7DE, 0x5078, 0xF7DF, 0x5957, 0xF7E0, 0x59AC, 0xF7E1, 0x6295, 0xF7E2, 0x900F, - 0xF7E3, 0x9B2A, 0xF7E4, 0x615D, 0xF7E5, 0x7279, 0xF7E6, 0x95D6, 0xF7E7, 0x5761, 0xF7E8, 0x5A46, 0xF7E9, 0x5DF4, 0xF7EA, 0x628A, - 0xF7EB, 0x64AD, 0xF7EC, 0x64FA, 0xF7ED, 0x6777, 0xF7EE, 0x6CE2, 0xF7EF, 0x6D3E, 0xF7F0, 0x722C, 0xF7F1, 0x7436, 0xF7F2, 0x7834, - 0xF7F3, 0x7F77, 0xF7F4, 0x82AD, 0xF7F5, 0x8DDB, 0xF7F6, 0x9817, 0xF7F7, 0x5224, 0xF7F8, 0x5742, 0xF7F9, 0x677F, 0xF7FA, 0x7248, - 0xF7FB, 0x74E3, 0xF7FC, 0x8CA9, 0xF7FD, 0x8FA6, 0xF7FE, 0x9211, 0xF8A1, 0x962A, 0xF8A2, 0x516B, 0xF8A3, 0x53ED, 0xF8A4, 0x634C, - 0xF8A5, 0x4F69, 0xF8A6, 0x5504, 0xF8A7, 0x6096, 0xF8A8, 0x6557, 0xF8A9, 0x6C9B, 0xF8AA, 0x6D7F, 0xF8AB, 0x724C, 0xF8AC, 0x72FD, - 0xF8AD, 0x7A17, 0xF8AE, 0x8987, 0xF8AF, 0x8C9D, 0xF8B0, 0x5F6D, 0xF8B1, 0x6F8E, 0xF8B2, 0x70F9, 0xF8B3, 0x81A8, 0xF8B4, 0x610E, - 0xF8B5, 0x4FBF, 0xF8B6, 0x504F, 0xF8B7, 0x6241, 0xF8B8, 0x7247, 0xF8B9, 0x7BC7, 0xF8BA, 0x7DE8, 0xF8BB, 0x7FE9, 0xF8BC, 0x904D, - 0xF8BD, 0x97AD, 0xF8BE, 0x9A19, 0xF8BF, 0x8CB6, 0xF8C0, 0x576A, 0xF8C1, 0x5E73, 0xF8C2, 0x67B0, 0xF8C3, 0x840D, 0xF8C4, 0x8A55, - 0xF8C5, 0x5420, 0xF8C6, 0x5B16, 0xF8C7, 0x5E63, 0xF8C8, 0x5EE2, 0xF8C9, 0x5F0A, 0xF8CA, 0x6583, 0xF8CB, 0x80BA, 0xF8CC, 0x853D, - 0xF8CD, 0x9589, 0xF8CE, 0x965B, 0xF8CF, 0x4F48, 0xF8D0, 0x5305, 0xF8D1, 0x530D, 0xF8D2, 0x530F, 0xF8D3, 0x5486, 0xF8D4, 0x54FA, - 0xF8D5, 0x5703, 0xF8D6, 0x5E03, 0xF8D7, 0x6016, 0xF8D8, 0x629B, 0xF8D9, 0x62B1, 0xF8DA, 0x6355, 0xF8DB, 0xFA06, 0xF8DC, 0x6CE1, - 0xF8DD, 0x6D66, 0xF8DE, 0x75B1, 0xF8DF, 0x7832, 0xF8E0, 0x80DE, 0xF8E1, 0x812F, 0xF8E2, 0x82DE, 0xF8E3, 0x8461, 0xF8E4, 0x84B2, - 0xF8E5, 0x888D, 0xF8E6, 0x8912, 0xF8E7, 0x900B, 0xF8E8, 0x92EA, 0xF8E9, 0x98FD, 0xF8EA, 0x9B91, 0xF8EB, 0x5E45, 0xF8EC, 0x66B4, - 0xF8ED, 0x66DD, 0xF8EE, 0x7011, 0xF8EF, 0x7206, 0xF8F0, 0xFA07, 0xF8F1, 0x4FF5, 0xF8F2, 0x527D, 0xF8F3, 0x5F6A, 0xF8F4, 0x6153, - 0xF8F5, 0x6753, 0xF8F6, 0x6A19, 0xF8F7, 0x6F02, 0xF8F8, 0x74E2, 0xF8F9, 0x7968, 0xF8FA, 0x8868, 0xF8FB, 0x8C79, 0xF8FC, 0x98C7, - 0xF8FD, 0x98C4, 0xF8FE, 0x9A43, 0xF9A1, 0x54C1, 0xF9A2, 0x7A1F, 0xF9A3, 0x6953, 0xF9A4, 0x8AF7, 0xF9A5, 0x8C4A, 0xF9A6, 0x98A8, - 0xF9A7, 0x99AE, 0xF9A8, 0x5F7C, 0xF9A9, 0x62AB, 0xF9AA, 0x75B2, 0xF9AB, 0x76AE, 0xF9AC, 0x88AB, 0xF9AD, 0x907F, 0xF9AE, 0x9642, - 0xF9AF, 0x5339, 0xF9B0, 0x5F3C, 0xF9B1, 0x5FC5, 0xF9B2, 0x6CCC, 0xF9B3, 0x73CC, 0xF9B4, 0x7562, 0xF9B5, 0x758B, 0xF9B6, 0x7B46, - 0xF9B7, 0x82FE, 0xF9B8, 0x999D, 0xF9B9, 0x4E4F, 0xF9BA, 0x903C, 0xF9BB, 0x4E0B, 0xF9BC, 0x4F55, 0xF9BD, 0x53A6, 0xF9BE, 0x590F, - 0xF9BF, 0x5EC8, 0xF9C0, 0x6630, 0xF9C1, 0x6CB3, 0xF9C2, 0x7455, 0xF9C3, 0x8377, 0xF9C4, 0x8766, 0xF9C5, 0x8CC0, 0xF9C6, 0x9050, - 0xF9C7, 0x971E, 0xF9C8, 0x9C15, 0xF9C9, 0x58D1, 0xF9CA, 0x5B78, 0xF9CB, 0x8650, 0xF9CC, 0x8B14, 0xF9CD, 0x9DB4, 0xF9CE, 0x5BD2, - 0xF9CF, 0x6068, 0xF9D0, 0x608D, 0xF9D1, 0x65F1, 0xF9D2, 0x6C57, 0xF9D3, 0x6F22, 0xF9D4, 0x6FA3, 0xF9D5, 0x701A, 0xF9D6, 0x7F55, - 0xF9D7, 0x7FF0, 0xF9D8, 0x9591, 0xF9D9, 0x9592, 0xF9DA, 0x9650, 0xF9DB, 0x97D3, 0xF9DC, 0x5272, 0xF9DD, 0x8F44, 0xF9DE, 0x51FD, - 0xF9DF, 0x542B, 0xF9E0, 0x54B8, 0xF9E1, 0x5563, 0xF9E2, 0x558A, 0xF9E3, 0x6ABB, 0xF9E4, 0x6DB5, 0xF9E5, 0x7DD8, 0xF9E6, 0x8266, - 0xF9E7, 0x929C, 0xF9E8, 0x9677, 0xF9E9, 0x9E79, 0xF9EA, 0x5408, 0xF9EB, 0x54C8, 0xF9EC, 0x76D2, 0xF9ED, 0x86E4, 0xF9EE, 0x95A4, - 0xF9EF, 0x95D4, 0xF9F0, 0x965C, 0xF9F1, 0x4EA2, 0xF9F2, 0x4F09, 0xF9F3, 0x59EE, 0xF9F4, 0x5AE6, 0xF9F5, 0x5DF7, 0xF9F6, 0x6052, - 0xF9F7, 0x6297, 0xF9F8, 0x676D, 0xF9F9, 0x6841, 0xF9FA, 0x6C86, 0xF9FB, 0x6E2F, 0xF9FC, 0x7F38, 0xF9FD, 0x809B, 0xF9FE, 0x822A, - 0xFAA1, 0xFA08, 0xFAA2, 0xFA09, 0xFAA3, 0x9805, 0xFAA4, 0x4EA5, 0xFAA5, 0x5055, 0xFAA6, 0x54B3, 0xFAA7, 0x5793, 0xFAA8, 0x595A, - 0xFAA9, 0x5B69, 0xFAAA, 0x5BB3, 0xFAAB, 0x61C8, 0xFAAC, 0x6977, 0xFAAD, 0x6D77, 0xFAAE, 0x7023, 0xFAAF, 0x87F9, 0xFAB0, 0x89E3, - 0xFAB1, 0x8A72, 0xFAB2, 0x8AE7, 0xFAB3, 0x9082, 0xFAB4, 0x99ED, 0xFAB5, 0x9AB8, 0xFAB6, 0x52BE, 0xFAB7, 0x6838, 0xFAB8, 0x5016, - 0xFAB9, 0x5E78, 0xFABA, 0x674F, 0xFABB, 0x8347, 0xFABC, 0x884C, 0xFABD, 0x4EAB, 0xFABE, 0x5411, 0xFABF, 0x56AE, 0xFAC0, 0x73E6, - 0xFAC1, 0x9115, 0xFAC2, 0x97FF, 0xFAC3, 0x9909, 0xFAC4, 0x9957, 0xFAC5, 0x9999, 0xFAC6, 0x5653, 0xFAC7, 0x589F, 0xFAC8, 0x865B, - 0xFAC9, 0x8A31, 0xFACA, 0x61B2, 0xFACB, 0x6AF6, 0xFACC, 0x737B, 0xFACD, 0x8ED2, 0xFACE, 0x6B47, 0xFACF, 0x96AA, 0xFAD0, 0x9A57, - 0xFAD1, 0x5955, 0xFAD2, 0x7200, 0xFAD3, 0x8D6B, 0xFAD4, 0x9769, 0xFAD5, 0x4FD4, 0xFAD6, 0x5CF4, 0xFAD7, 0x5F26, 0xFAD8, 0x61F8, - 0xFAD9, 0x665B, 0xFADA, 0x6CEB, 0xFADB, 0x70AB, 0xFADC, 0x7384, 0xFADD, 0x73B9, 0xFADE, 0x73FE, 0xFADF, 0x7729, 0xFAE0, 0x774D, - 0xFAE1, 0x7D43, 0xFAE2, 0x7D62, 0xFAE3, 0x7E23, 0xFAE4, 0x8237, 0xFAE5, 0x8852, 0xFAE6, 0xFA0A, 0xFAE7, 0x8CE2, 0xFAE8, 0x9249, - 0xFAE9, 0x986F, 0xFAEA, 0x5B51, 0xFAEB, 0x7A74, 0xFAEC, 0x8840, 0xFAED, 0x9801, 0xFAEE, 0x5ACC, 0xFAEF, 0x4FE0, 0xFAF0, 0x5354, - 0xFAF1, 0x593E, 0xFAF2, 0x5CFD, 0xFAF3, 0x633E, 0xFAF4, 0x6D79, 0xFAF5, 0x72F9, 0xFAF6, 0x8105, 0xFAF7, 0x8107, 0xFAF8, 0x83A2, - 0xFAF9, 0x92CF, 0xFAFA, 0x9830, 0xFAFB, 0x4EA8, 0xFAFC, 0x5144, 0xFAFD, 0x5211, 0xFAFE, 0x578B, 0xFBA1, 0x5F62, 0xFBA2, 0x6CC2, - 0xFBA3, 0x6ECE, 0xFBA4, 0x7005, 0xFBA5, 0x7050, 0xFBA6, 0x70AF, 0xFBA7, 0x7192, 0xFBA8, 0x73E9, 0xFBA9, 0x7469, 0xFBAA, 0x834A, - 0xFBAB, 0x87A2, 0xFBAC, 0x8861, 0xFBAD, 0x9008, 0xFBAE, 0x90A2, 0xFBAF, 0x93A3, 0xFBB0, 0x99A8, 0xFBB1, 0x516E, 0xFBB2, 0x5F57, - 0xFBB3, 0x60E0, 0xFBB4, 0x6167, 0xFBB5, 0x66B3, 0xFBB6, 0x8559, 0xFBB7, 0x8E4A, 0xFBB8, 0x91AF, 0xFBB9, 0x978B, 0xFBBA, 0x4E4E, - 0xFBBB, 0x4E92, 0xFBBC, 0x547C, 0xFBBD, 0x58D5, 0xFBBE, 0x58FA, 0xFBBF, 0x597D, 0xFBC0, 0x5CB5, 0xFBC1, 0x5F27, 0xFBC2, 0x6236, - 0xFBC3, 0x6248, 0xFBC4, 0x660A, 0xFBC5, 0x6667, 0xFBC6, 0x6BEB, 0xFBC7, 0x6D69, 0xFBC8, 0x6DCF, 0xFBC9, 0x6E56, 0xFBCA, 0x6EF8, - 0xFBCB, 0x6F94, 0xFBCC, 0x6FE0, 0xFBCD, 0x6FE9, 0xFBCE, 0x705D, 0xFBCF, 0x72D0, 0xFBD0, 0x7425, 0xFBD1, 0x745A, 0xFBD2, 0x74E0, - 0xFBD3, 0x7693, 0xFBD4, 0x795C, 0xFBD5, 0x7CCA, 0xFBD6, 0x7E1E, 0xFBD7, 0x80E1, 0xFBD8, 0x82A6, 0xFBD9, 0x846B, 0xFBDA, 0x84BF, - 0xFBDB, 0x864E, 0xFBDC, 0x865F, 0xFBDD, 0x8774, 0xFBDE, 0x8B77, 0xFBDF, 0x8C6A, 0xFBE0, 0x93AC, 0xFBE1, 0x9800, 0xFBE2, 0x9865, - 0xFBE3, 0x60D1, 0xFBE4, 0x6216, 0xFBE5, 0x9177, 0xFBE6, 0x5A5A, 0xFBE7, 0x660F, 0xFBE8, 0x6DF7, 0xFBE9, 0x6E3E, 0xFBEA, 0x743F, - 0xFBEB, 0x9B42, 0xFBEC, 0x5FFD, 0xFBED, 0x60DA, 0xFBEE, 0x7B0F, 0xFBEF, 0x54C4, 0xFBF0, 0x5F18, 0xFBF1, 0x6C5E, 0xFBF2, 0x6CD3, - 0xFBF3, 0x6D2A, 0xFBF4, 0x70D8, 0xFBF5, 0x7D05, 0xFBF6, 0x8679, 0xFBF7, 0x8A0C, 0xFBF8, 0x9D3B, 0xFBF9, 0x5316, 0xFBFA, 0x548C, - 0xFBFB, 0x5B05, 0xFBFC, 0x6A3A, 0xFBFD, 0x706B, 0xFBFE, 0x7575, 0xFCA1, 0x798D, 0xFCA2, 0x79BE, 0xFCA3, 0x82B1, 0xFCA4, 0x83EF, - 0xFCA5, 0x8A71, 0xFCA6, 0x8B41, 0xFCA7, 0x8CA8, 0xFCA8, 0x9774, 0xFCA9, 0xFA0B, 0xFCAA, 0x64F4, 0xFCAB, 0x652B, 0xFCAC, 0x78BA, - 0xFCAD, 0x78BB, 0xFCAE, 0x7A6B, 0xFCAF, 0x4E38, 0xFCB0, 0x559A, 0xFCB1, 0x5950, 0xFCB2, 0x5BA6, 0xFCB3, 0x5E7B, 0xFCB4, 0x60A3, - 0xFCB5, 0x63DB, 0xFCB6, 0x6B61, 0xFCB7, 0x6665, 0xFCB8, 0x6853, 0xFCB9, 0x6E19, 0xFCBA, 0x7165, 0xFCBB, 0x74B0, 0xFCBC, 0x7D08, - 0xFCBD, 0x9084, 0xFCBE, 0x9A69, 0xFCBF, 0x9C25, 0xFCC0, 0x6D3B, 0xFCC1, 0x6ED1, 0xFCC2, 0x733E, 0xFCC3, 0x8C41, 0xFCC4, 0x95CA, - 0xFCC5, 0x51F0, 0xFCC6, 0x5E4C, 0xFCC7, 0x5FA8, 0xFCC8, 0x604D, 0xFCC9, 0x60F6, 0xFCCA, 0x6130, 0xFCCB, 0x614C, 0xFCCC, 0x6643, - 0xFCCD, 0x6644, 0xFCCE, 0x69A5, 0xFCCF, 0x6CC1, 0xFCD0, 0x6E5F, 0xFCD1, 0x6EC9, 0xFCD2, 0x6F62, 0xFCD3, 0x714C, 0xFCD4, 0x749C, - 0xFCD5, 0x7687, 0xFCD6, 0x7BC1, 0xFCD7, 0x7C27, 0xFCD8, 0x8352, 0xFCD9, 0x8757, 0xFCDA, 0x9051, 0xFCDB, 0x968D, 0xFCDC, 0x9EC3, - 0xFCDD, 0x532F, 0xFCDE, 0x56DE, 0xFCDF, 0x5EFB, 0xFCE0, 0x5F8A, 0xFCE1, 0x6062, 0xFCE2, 0x6094, 0xFCE3, 0x61F7, 0xFCE4, 0x6666, - 0xFCE5, 0x6703, 0xFCE6, 0x6A9C, 0xFCE7, 0x6DEE, 0xFCE8, 0x6FAE, 0xFCE9, 0x7070, 0xFCEA, 0x736A, 0xFCEB, 0x7E6A, 0xFCEC, 0x81BE, - 0xFCED, 0x8334, 0xFCEE, 0x86D4, 0xFCEF, 0x8AA8, 0xFCF0, 0x8CC4, 0xFCF1, 0x5283, 0xFCF2, 0x7372, 0xFCF3, 0x5B96, 0xFCF4, 0x6A6B, - 0xFCF5, 0x9404, 0xFCF6, 0x54EE, 0xFCF7, 0x5686, 0xFCF8, 0x5B5D, 0xFCF9, 0x6548, 0xFCFA, 0x6585, 0xFCFB, 0x66C9, 0xFCFC, 0x689F, - 0xFCFD, 0x6D8D, 0xFCFE, 0x6DC6, 0xFDA1, 0x723B, 0xFDA2, 0x80B4, 0xFDA3, 0x9175, 0xFDA4, 0x9A4D, 0xFDA5, 0x4FAF, 0xFDA6, 0x5019, - 0xFDA7, 0x539A, 0xFDA8, 0x540E, 0xFDA9, 0x543C, 0xFDAA, 0x5589, 0xFDAB, 0x55C5, 0xFDAC, 0x5E3F, 0xFDAD, 0x5F8C, 0xFDAE, 0x673D, - 0xFDAF, 0x7166, 0xFDB0, 0x73DD, 0xFDB1, 0x9005, 0xFDB2, 0x52DB, 0xFDB3, 0x52F3, 0xFDB4, 0x5864, 0xFDB5, 0x58CE, 0xFDB6, 0x7104, - 0xFDB7, 0x718F, 0xFDB8, 0x71FB, 0xFDB9, 0x85B0, 0xFDBA, 0x8A13, 0xFDBB, 0x6688, 0xFDBC, 0x85A8, 0xFDBD, 0x55A7, 0xFDBE, 0x6684, - 0xFDBF, 0x714A, 0xFDC0, 0x8431, 0xFDC1, 0x5349, 0xFDC2, 0x5599, 0xFDC3, 0x6BC1, 0xFDC4, 0x5F59, 0xFDC5, 0x5FBD, 0xFDC6, 0x63EE, - 0xFDC7, 0x6689, 0xFDC8, 0x7147, 0xFDC9, 0x8AF1, 0xFDCA, 0x8F1D, 0xFDCB, 0x9EBE, 0xFDCC, 0x4F11, 0xFDCD, 0x643A, 0xFDCE, 0x70CB, - 0xFDCF, 0x7566, 0xFDD0, 0x8667, 0xFDD1, 0x6064, 0xFDD2, 0x8B4E, 0xFDD3, 0x9DF8, 0xFDD4, 0x5147, 0xFDD5, 0x51F6, 0xFDD6, 0x5308, - 0xFDD7, 0x6D36, 0xFDD8, 0x80F8, 0xFDD9, 0x9ED1, 0xFDDA, 0x6615, 0xFDDB, 0x6B23, 0xFDDC, 0x7098, 0xFDDD, 0x75D5, 0xFDDE, 0x5403, - 0xFDDF, 0x5C79, 0xFDE0, 0x7D07, 0xFDE1, 0x8A16, 0xFDE2, 0x6B20, 0xFDE3, 0x6B3D, 0xFDE4, 0x6B46, 0xFDE5, 0x5438, 0xFDE6, 0x6070, - 0xFDE7, 0x6D3D, 0xFDE8, 0x7FD5, 0xFDE9, 0x8208, 0xFDEA, 0x50D6, 0xFDEB, 0x51DE, 0xFDEC, 0x559C, 0xFDED, 0x566B, 0xFDEE, 0x56CD, - 0xFDEF, 0x59EC, 0xFDF0, 0x5B09, 0xFDF1, 0x5E0C, 0xFDF2, 0x6199, 0xFDF3, 0x6198, 0xFDF4, 0x6231, 0xFDF5, 0x665E, 0xFDF6, 0x66E6, - 0xFDF7, 0x7199, 0xFDF8, 0x71B9, 0xFDF9, 0x71BA, 0xFDFA, 0x72A7, 0xFDFB, 0x79A7, 0xFDFC, 0x7A00, 0xFDFD, 0x7FB2, 0xFDFE, 0x8A70, - 0, 0 -}; -#endif - -#if FF_CODE_PAGE == 950 || FF_CODE_PAGE == 0 /* Traditional Chinese */ -static const WCHAR uni2oem950[] = { /* Unicode --> Big5 pairs */ - 0x00A7, 0xA1B1, 0x00AF, 0xA1C2, 0x00B0, 0xA258, 0x00B1, 0xA1D3, 0x00B7, 0xA150, 0x00D7, 0xA1D1, 0x00F7, 0xA1D2, 0x02C7, 0xA3BE, - 0x02C9, 0xA3BC, 0x02CA, 0xA3BD, 0x02CB, 0xA3BF, 0x02CD, 0xA1C5, 0x02D9, 0xA3BB, 0x0391, 0xA344, 0x0392, 0xA345, 0x0393, 0xA346, - 0x0394, 0xA347, 0x0395, 0xA348, 0x0396, 0xA349, 0x0397, 0xA34A, 0x0398, 0xA34B, 0x0399, 0xA34C, 0x039A, 0xA34D, 0x039B, 0xA34E, - 0x039C, 0xA34F, 0x039D, 0xA350, 0x039E, 0xA351, 0x039F, 0xA352, 0x03A0, 0xA353, 0x03A1, 0xA354, 0x03A3, 0xA355, 0x03A4, 0xA356, - 0x03A5, 0xA357, 0x03A6, 0xA358, 0x03A7, 0xA359, 0x03A8, 0xA35A, 0x03A9, 0xA35B, 0x03B1, 0xA35C, 0x03B2, 0xA35D, 0x03B3, 0xA35E, - 0x03B4, 0xA35F, 0x03B5, 0xA360, 0x03B6, 0xA361, 0x03B7, 0xA362, 0x03B8, 0xA363, 0x03B9, 0xA364, 0x03BA, 0xA365, 0x03BB, 0xA366, - 0x03BC, 0xA367, 0x03BD, 0xA368, 0x03BE, 0xA369, 0x03BF, 0xA36A, 0x03C0, 0xA36B, 0x03C1, 0xA36C, 0x03C3, 0xA36D, 0x03C4, 0xA36E, - 0x03C5, 0xA36F, 0x03C6, 0xA370, 0x03C7, 0xA371, 0x03C8, 0xA372, 0x03C9, 0xA373, 0x2013, 0xA156, 0x2014, 0xA158, 0x2018, 0xA1A5, - 0x2019, 0xA1A6, 0x201C, 0xA1A7, 0x201D, 0xA1A8, 0x2025, 0xA14C, 0x2026, 0xA14B, 0x2027, 0xA145, 0x2032, 0xA1AC, 0x2035, 0xA1AB, - 0x203B, 0xA1B0, 0x20AC, 0xA3E1, 0x2103, 0xA24A, 0x2105, 0xA1C1, 0x2109, 0xA24B, 0x2160, 0xA2B9, 0x2161, 0xA2BA, 0x2162, 0xA2BB, - 0x2163, 0xA2BC, 0x2164, 0xA2BD, 0x2165, 0xA2BE, 0x2166, 0xA2BF, 0x2167, 0xA2C0, 0x2168, 0xA2C1, 0x2169, 0xA2C2, 0x2190, 0xA1F6, - 0x2191, 0xA1F4, 0x2192, 0xA1F7, 0x2193, 0xA1F5, 0x2196, 0xA1F8, 0x2197, 0xA1F9, 0x2198, 0xA1FB, 0x2199, 0xA1FA, 0x2215, 0xA241, - 0x221A, 0xA1D4, 0x221E, 0xA1DB, 0x221F, 0xA1E8, 0x2220, 0xA1E7, 0x2223, 0xA1FD, 0x2225, 0xA1FC, 0x2229, 0xA1E4, 0x222A, 0xA1E5, - 0x222B, 0xA1EC, 0x222E, 0xA1ED, 0x2234, 0xA1EF, 0x2235, 0xA1EE, 0x2252, 0xA1DC, 0x2260, 0xA1DA, 0x2261, 0xA1DD, 0x2266, 0xA1D8, - 0x2267, 0xA1D9, 0x2295, 0xA1F2, 0x2299, 0xA1F3, 0x22A5, 0xA1E6, 0x22BF, 0xA1E9, 0x2500, 0xA277, 0x2502, 0xA278, 0x250C, 0xA27A, - 0x2510, 0xA27B, 0x2514, 0xA27C, 0x2518, 0xA27D, 0x251C, 0xA275, 0x2524, 0xA274, 0x252C, 0xA273, 0x2534, 0xA272, 0x253C, 0xA271, - 0x2550, 0xA2A4, 0x2550, 0xF9F9, 0x2551, 0xF9F8, 0x2552, 0xF9E6, 0x2553, 0xF9EF, 0x2554, 0xF9DD, 0x2555, 0xF9E8, 0x2556, 0xF9F1, - 0x2557, 0xF9DF, 0x2558, 0xF9EC, 0x2559, 0xF9F5, 0x255A, 0xF9E3, 0x255B, 0xF9EE, 0x255C, 0xF9F7, 0x255D, 0xF9E5, 0x255E, 0xA2A5, - 0x255E, 0xF9E9, 0x255F, 0xF9F2, 0x2560, 0xF9E0, 0x2561, 0xA2A7, 0x2561, 0xF9EB, 0x2562, 0xF9F4, 0x2563, 0xF9E2, 0x2564, 0xF9E7, - 0x2565, 0xF9F0, 0x2566, 0xF9DE, 0x2567, 0xF9ED, 0x2568, 0xF9F6, 0x2569, 0xF9E4, 0x256A, 0xA2A6, 0x256A, 0xF9EA, 0x256B, 0xF9F3, - 0x256C, 0xF9E1, 0x256D, 0xA27E, 0x256D, 0xF9FA, 0x256E, 0xA2A1, 0x256E, 0xF9FB, 0x256F, 0xA2A3, 0x256F, 0xF9FD, 0x2570, 0xA2A2, - 0x2570, 0xF9FC, 0x2571, 0xA2AC, 0x2572, 0xA2AD, 0x2573, 0xA2AE, 0x2574, 0xA15A, 0x2581, 0xA262, 0x2582, 0xA263, 0x2583, 0xA264, - 0x2584, 0xA265, 0x2585, 0xA266, 0x2586, 0xA267, 0x2587, 0xA268, 0x2588, 0xA269, 0x2589, 0xA270, 0x258A, 0xA26F, 0x258B, 0xA26E, - 0x258C, 0xA26D, 0x258D, 0xA26C, 0x258E, 0xA26B, 0x258F, 0xA26A, 0x2593, 0xF9FE, 0x2594, 0xA276, 0x2595, 0xA279, 0x25A0, 0xA1BD, - 0x25A1, 0xA1BC, 0x25B2, 0xA1B6, 0x25B3, 0xA1B5, 0x25BC, 0xA1BF, 0x25BD, 0xA1BE, 0x25C6, 0xA1BB, 0x25C7, 0xA1BA, 0x25CB, 0xA1B3, - 0x25CE, 0xA1B7, 0x25CF, 0xA1B4, 0x25E2, 0xA2A8, 0x25E3, 0xA2A9, 0x25E4, 0xA2AB, 0x25E5, 0xA2AA, 0x2605, 0xA1B9, 0x2606, 0xA1B8, - 0x2640, 0xA1F0, 0x2642, 0xA1F1, 0x3000, 0xA140, 0x3001, 0xA142, 0x3002, 0xA143, 0x3003, 0xA1B2, 0x3008, 0xA171, 0x3009, 0xA172, - 0x300A, 0xA16D, 0x300B, 0xA16E, 0x300C, 0xA175, 0x300D, 0xA176, 0x300E, 0xA179, 0x300F, 0xA17A, 0x3010, 0xA169, 0x3011, 0xA16A, - 0x3012, 0xA245, 0x3014, 0xA165, 0x3015, 0xA166, 0x301D, 0xA1A9, 0x301E, 0xA1AA, 0x3021, 0xA2C3, 0x3022, 0xA2C4, 0x3023, 0xA2C5, - 0x3024, 0xA2C6, 0x3025, 0xA2C7, 0x3026, 0xA2C8, 0x3027, 0xA2C9, 0x3028, 0xA2CA, 0x3029, 0xA2CB, 0x3105, 0xA374, 0x3106, 0xA375, - 0x3107, 0xA376, 0x3108, 0xA377, 0x3109, 0xA378, 0x310A, 0xA379, 0x310B, 0xA37A, 0x310C, 0xA37B, 0x310D, 0xA37C, 0x310E, 0xA37D, - 0x310F, 0xA37E, 0x3110, 0xA3A1, 0x3111, 0xA3A2, 0x3112, 0xA3A3, 0x3113, 0xA3A4, 0x3114, 0xA3A5, 0x3115, 0xA3A6, 0x3116, 0xA3A7, - 0x3117, 0xA3A8, 0x3118, 0xA3A9, 0x3119, 0xA3AA, 0x311A, 0xA3AB, 0x311B, 0xA3AC, 0x311C, 0xA3AD, 0x311D, 0xA3AE, 0x311E, 0xA3AF, - 0x311F, 0xA3B0, 0x3120, 0xA3B1, 0x3121, 0xA3B2, 0x3122, 0xA3B3, 0x3123, 0xA3B4, 0x3124, 0xA3B5, 0x3125, 0xA3B6, 0x3126, 0xA3B7, - 0x3127, 0xA3B8, 0x3128, 0xA3B9, 0x3129, 0xA3BA, 0x32A3, 0xA1C0, 0x338E, 0xA255, 0x338F, 0xA256, 0x339C, 0xA250, 0x339D, 0xA251, - 0x339E, 0xA252, 0x33A1, 0xA254, 0x33C4, 0xA257, 0x33CE, 0xA253, 0x33D1, 0xA1EB, 0x33D2, 0xA1EA, 0x33D5, 0xA24F, 0x4E00, 0xA440, - 0x4E01, 0xA442, 0x4E03, 0xA443, 0x4E07, 0xC945, 0x4E08, 0xA456, 0x4E09, 0xA454, 0x4E0A, 0xA457, 0x4E0B, 0xA455, 0x4E0C, 0xC946, - 0x4E0D, 0xA4A3, 0x4E0E, 0xC94F, 0x4E0F, 0xC94D, 0x4E10, 0xA4A2, 0x4E11, 0xA4A1, 0x4E14, 0xA542, 0x4E15, 0xA541, 0x4E16, 0xA540, - 0x4E18, 0xA543, 0x4E19, 0xA4FE, 0x4E1E, 0xA5E0, 0x4E1F, 0xA5E1, 0x4E26, 0xA8C3, 0x4E2B, 0xA458, 0x4E2D, 0xA4A4, 0x4E2E, 0xC950, - 0x4E30, 0xA4A5, 0x4E31, 0xC963, 0x4E32, 0xA6EA, 0x4E33, 0xCBB1, 0x4E38, 0xA459, 0x4E39, 0xA4A6, 0x4E3B, 0xA544, 0x4E3C, 0xC964, - 0x4E42, 0xC940, 0x4E43, 0xA444, 0x4E45, 0xA45B, 0x4E47, 0xC947, 0x4E48, 0xA45C, 0x4E4B, 0xA4A7, 0x4E4D, 0xA545, 0x4E4E, 0xA547, - 0x4E4F, 0xA546, 0x4E52, 0xA5E2, 0x4E53, 0xA5E3, 0x4E56, 0xA8C4, 0x4E58, 0xADBC, 0x4E59, 0xA441, 0x4E5C, 0xC941, 0x4E5D, 0xA445, - 0x4E5E, 0xA45E, 0x4E5F, 0xA45D, 0x4E69, 0xA5E4, 0x4E73, 0xA8C5, 0x4E7E, 0xB0AE, 0x4E7F, 0xD44B, 0x4E82, 0xB6C3, 0x4E83, 0xDCB1, - 0x4E84, 0xDCB2, 0x4E86, 0xA446, 0x4E88, 0xA4A9, 0x4E8B, 0xA8C6, 0x4E8C, 0xA447, 0x4E8D, 0xC948, 0x4E8E, 0xA45F, 0x4E91, 0xA4AA, - 0x4E92, 0xA4AC, 0x4E93, 0xC951, 0x4E94, 0xA4AD, 0x4E95, 0xA4AB, 0x4E99, 0xA5E5, 0x4E9B, 0xA8C7, 0x4E9E, 0xA8C8, 0x4E9F, 0xAB45, - 0x4EA1, 0xA460, 0x4EA2, 0xA4AE, 0x4EA4, 0xA5E6, 0x4EA5, 0xA5E8, 0x4EA6, 0xA5E7, 0x4EA8, 0xA6EB, 0x4EAB, 0xA8C9, 0x4EAC, 0xA8CA, - 0x4EAD, 0xAB46, 0x4EAE, 0xAB47, 0x4EB3, 0xADBD, 0x4EB6, 0xDCB3, 0x4EB9, 0xF6D6, 0x4EBA, 0xA448, 0x4EC0, 0xA4B0, 0x4EC1, 0xA4AF, - 0x4EC2, 0xC952, 0x4EC3, 0xA4B1, 0x4EC4, 0xA4B7, 0x4EC6, 0xA4B2, 0x4EC7, 0xA4B3, 0x4EC8, 0xC954, 0x4EC9, 0xC953, 0x4ECA, 0xA4B5, - 0x4ECB, 0xA4B6, 0x4ECD, 0xA4B4, 0x4ED4, 0xA54A, 0x4ED5, 0xA54B, 0x4ED6, 0xA54C, 0x4ED7, 0xA54D, 0x4ED8, 0xA549, 0x4ED9, 0xA550, - 0x4EDA, 0xC96A, 0x4EDC, 0xC966, 0x4EDD, 0xC969, 0x4EDE, 0xA551, 0x4EDF, 0xA561, 0x4EE1, 0xC968, 0x4EE3, 0xA54E, 0x4EE4, 0xA54F, - 0x4EE5, 0xA548, 0x4EE8, 0xC965, 0x4EE9, 0xC967, 0x4EF0, 0xA5F5, 0x4EF1, 0xC9B0, 0x4EF2, 0xA5F2, 0x4EF3, 0xA5F6, 0x4EF4, 0xC9BA, - 0x4EF5, 0xC9AE, 0x4EF6, 0xA5F3, 0x4EF7, 0xC9B2, 0x4EFB, 0xA5F4, 0x4EFD, 0xA5F7, 0x4EFF, 0xA5E9, 0x4F00, 0xC9B1, 0x4F01, 0xA5F8, - 0x4F02, 0xC9B5, 0x4F04, 0xC9B9, 0x4F05, 0xC9B6, 0x4F08, 0xC9B3, 0x4F09, 0xA5EA, 0x4F0A, 0xA5EC, 0x4F0B, 0xA5F9, 0x4F0D, 0xA5EE, - 0x4F0E, 0xC9AB, 0x4F0F, 0xA5F1, 0x4F10, 0xA5EF, 0x4F11, 0xA5F0, 0x4F12, 0xC9BB, 0x4F13, 0xC9B8, 0x4F14, 0xC9AF, 0x4F15, 0xA5ED, - 0x4F18, 0xC9AC, 0x4F19, 0xA5EB, 0x4F1D, 0xC9B4, 0x4F22, 0xC9B7, 0x4F2C, 0xC9AD, 0x4F2D, 0xCA66, 0x4F2F, 0xA742, 0x4F30, 0xA6F4, - 0x4F33, 0xCA67, 0x4F34, 0xA6F1, 0x4F36, 0xA744, 0x4F38, 0xA6F9, 0x4F3A, 0xA6F8, 0x4F3B, 0xCA5B, 0x4F3C, 0xA6FC, 0x4F3D, 0xA6F7, - 0x4F3E, 0xCA60, 0x4F3F, 0xCA68, 0x4F41, 0xCA64, 0x4F43, 0xA6FA, 0x4F46, 0xA6FD, 0x4F47, 0xA6EE, 0x4F48, 0xA747, 0x4F49, 0xCA5D, - 0x4F4C, 0xCBBD, 0x4F4D, 0xA6EC, 0x4F4E, 0xA743, 0x4F4F, 0xA6ED, 0x4F50, 0xA6F5, 0x4F51, 0xA6F6, 0x4F52, 0xCA62, 0x4F53, 0xCA5E, - 0x4F54, 0xA6FB, 0x4F55, 0xA6F3, 0x4F56, 0xCA5A, 0x4F57, 0xA6EF, 0x4F58, 0xCA65, 0x4F59, 0xA745, 0x4F5A, 0xA748, 0x4F5B, 0xA6F2, - 0x4F5C, 0xA740, 0x4F5D, 0xA746, 0x4F5E, 0xA6F0, 0x4F5F, 0xCA63, 0x4F60, 0xA741, 0x4F61, 0xCA69, 0x4F62, 0xCA5C, 0x4F63, 0xA6FE, - 0x4F64, 0xCA5F, 0x4F67, 0xCA61, 0x4F69, 0xA8D8, 0x4F6A, 0xCBBF, 0x4F6B, 0xCBCB, 0x4F6C, 0xA8D0, 0x4F6E, 0xCBCC, 0x4F6F, 0xA8CB, - 0x4F70, 0xA8D5, 0x4F73, 0xA8CE, 0x4F74, 0xCBB9, 0x4F75, 0xA8D6, 0x4F76, 0xCBB8, 0x4F77, 0xCBBC, 0x4F78, 0xCBC3, 0x4F79, 0xCBC1, - 0x4F7A, 0xA8DE, 0x4F7B, 0xA8D9, 0x4F7C, 0xCBB3, 0x4F7D, 0xCBB5, 0x4F7E, 0xA8DB, 0x4F7F, 0xA8CF, 0x4F80, 0xCBB6, 0x4F81, 0xCBC2, - 0x4F82, 0xCBC9, 0x4F83, 0xA8D4, 0x4F84, 0xCBBB, 0x4F85, 0xCBB4, 0x4F86, 0xA8D3, 0x4F87, 0xCBB7, 0x4F88, 0xA8D7, 0x4F89, 0xCBBA, - 0x4F8B, 0xA8D2, 0x4F8D, 0xA8CD, 0x4F8F, 0xA8DC, 0x4F90, 0xCBC4, 0x4F91, 0xA8DD, 0x4F92, 0xCBC8, 0x4F94, 0xCBC6, 0x4F95, 0xCBCA, - 0x4F96, 0xA8DA, 0x4F97, 0xCBBE, 0x4F98, 0xCBB2, 0x4F9A, 0xCBC0, 0x4F9B, 0xA8D1, 0x4F9C, 0xCBC5, 0x4F9D, 0xA8CC, 0x4F9E, 0xCBC7, - 0x4FAE, 0xAB56, 0x4FAF, 0xAB4A, 0x4FB2, 0xCDE0, 0x4FB3, 0xCDE8, 0x4FB5, 0xAB49, 0x4FB6, 0xAB51, 0x4FB7, 0xAB5D, 0x4FB9, 0xCDEE, - 0x4FBA, 0xCDEC, 0x4FBB, 0xCDE7, 0x4FBF, 0xAB4B, 0x4FC0, 0xCDED, 0x4FC1, 0xCDE3, 0x4FC2, 0xAB59, 0x4FC3, 0xAB50, 0x4FC4, 0xAB58, - 0x4FC5, 0xCDDE, 0x4FC7, 0xCDEA, 0x4FC9, 0xCDE1, 0x4FCA, 0xAB54, 0x4FCB, 0xCDE2, 0x4FCD, 0xCDDD, 0x4FCE, 0xAB5B, 0x4FCF, 0xAB4E, - 0x4FD0, 0xAB57, 0x4FD1, 0xAB4D, 0x4FD3, 0xCDDF, 0x4FD4, 0xCDE4, 0x4FD6, 0xCDEB, 0x4FD7, 0xAB55, 0x4FD8, 0xAB52, 0x4FD9, 0xCDE6, - 0x4FDA, 0xAB5A, 0x4FDB, 0xCDE9, 0x4FDC, 0xCDE5, 0x4FDD, 0xAB4F, 0x4FDE, 0xAB5C, 0x4FDF, 0xAB53, 0x4FE0, 0xAB4C, 0x4FE1, 0xAB48, - 0x4FEC, 0xCDEF, 0x4FEE, 0xADD7, 0x4FEF, 0xADC1, 0x4FF1, 0xADD1, 0x4FF3, 0xADD6, 0x4FF4, 0xD0D0, 0x4FF5, 0xD0CF, 0x4FF6, 0xD0D4, - 0x4FF7, 0xD0D5, 0x4FF8, 0xADC4, 0x4FFA, 0xADCD, 0x4FFE, 0xADDA, 0x5000, 0xADCE, 0x5005, 0xD0C9, 0x5006, 0xADC7, 0x5007, 0xD0CA, - 0x5009, 0xADDC, 0x500B, 0xADD3, 0x500C, 0xADBE, 0x500D, 0xADBF, 0x500E, 0xD0DD, 0x500F, 0xB0BF, 0x5011, 0xADCC, 0x5012, 0xADCB, - 0x5013, 0xD0CB, 0x5014, 0xADCF, 0x5015, 0xD45B, 0x5016, 0xADC6, 0x5017, 0xD0D6, 0x5018, 0xADD5, 0x5019, 0xADD4, 0x501A, 0xADCA, - 0x501B, 0xD0CE, 0x501C, 0xD0D7, 0x501E, 0xD0C8, 0x501F, 0xADC9, 0x5020, 0xD0D8, 0x5021, 0xADD2, 0x5022, 0xD0CC, 0x5023, 0xADC0, - 0x5025, 0xADC3, 0x5026, 0xADC2, 0x5027, 0xD0D9, 0x5028, 0xADD0, 0x5029, 0xADC5, 0x502A, 0xADD9, 0x502B, 0xADDB, 0x502C, 0xD0D3, - 0x502D, 0xADD8, 0x502F, 0xD0DB, 0x5030, 0xD0CD, 0x5031, 0xD0DC, 0x5033, 0xD0D1, 0x5035, 0xD0DA, 0x5037, 0xD0D2, 0x503C, 0xADC8, - 0x5040, 0xD463, 0x5041, 0xD457, 0x5043, 0xB0B3, 0x5045, 0xD45C, 0x5046, 0xD462, 0x5047, 0xB0B2, 0x5048, 0xD455, 0x5049, 0xB0B6, - 0x504A, 0xD459, 0x504B, 0xD452, 0x504C, 0xB0B4, 0x504D, 0xD456, 0x504E, 0xB0B9, 0x504F, 0xB0BE, 0x5051, 0xD467, 0x5053, 0xD451, - 0x5055, 0xB0BA, 0x5057, 0xD466, 0x505A, 0xB0B5, 0x505B, 0xD458, 0x505C, 0xB0B1, 0x505D, 0xD453, 0x505E, 0xD44F, 0x505F, 0xD45D, - 0x5060, 0xD450, 0x5061, 0xD44E, 0x5062, 0xD45A, 0x5063, 0xD460, 0x5064, 0xD461, 0x5065, 0xB0B7, 0x5068, 0xD85B, 0x5069, 0xD45E, - 0x506A, 0xD44D, 0x506B, 0xD45F, 0x506D, 0xB0C1, 0x506E, 0xD464, 0x506F, 0xB0C0, 0x5070, 0xD44C, 0x5072, 0xD454, 0x5073, 0xD465, - 0x5074, 0xB0BC, 0x5075, 0xB0BB, 0x5076, 0xB0B8, 0x5077, 0xB0BD, 0x507A, 0xB0AF, 0x507D, 0xB0B0, 0x5080, 0xB3C8, 0x5082, 0xD85E, - 0x5083, 0xD857, 0x5085, 0xB3C5, 0x5087, 0xD85F, 0x508B, 0xD855, 0x508C, 0xD858, 0x508D, 0xB3C4, 0x508E, 0xD859, 0x5091, 0xB3C7, - 0x5092, 0xD85D, 0x5094, 0xD853, 0x5095, 0xD852, 0x5096, 0xB3C9, 0x5098, 0xB3CA, 0x5099, 0xB3C6, 0x509A, 0xB3CB, 0x509B, 0xD851, - 0x509C, 0xD85C, 0x509D, 0xD85A, 0x509E, 0xD854, 0x50A2, 0xB3C3, 0x50A3, 0xD856, 0x50AC, 0xB6CA, 0x50AD, 0xB6C4, 0x50AE, 0xDCB7, - 0x50AF, 0xB6CD, 0x50B0, 0xDCBD, 0x50B1, 0xDCC0, 0x50B2, 0xB6C6, 0x50B3, 0xB6C7, 0x50B4, 0xDCBA, 0x50B5, 0xB6C5, 0x50B6, 0xDCC3, - 0x50B7, 0xB6CB, 0x50B8, 0xDCC4, 0x50BA, 0xDCBF, 0x50BB, 0xB6CC, 0x50BD, 0xDCB4, 0x50BE, 0xB6C9, 0x50BF, 0xDCB5, 0x50C1, 0xDCBE, - 0x50C2, 0xDCBC, 0x50C4, 0xDCB8, 0x50C5, 0xB6C8, 0x50C6, 0xDCB6, 0x50C7, 0xB6CE, 0x50C8, 0xDCBB, 0x50C9, 0xDCC2, 0x50CA, 0xDCB9, - 0x50CB, 0xDCC1, 0x50CE, 0xB9B6, 0x50CF, 0xB9B3, 0x50D1, 0xB9B4, 0x50D3, 0xE0F9, 0x50D4, 0xE0F1, 0x50D5, 0xB9B2, 0x50D6, 0xB9AF, - 0x50D7, 0xE0F2, 0x50DA, 0xB9B1, 0x50DB, 0xE0F5, 0x50DD, 0xE0F7, 0x50E0, 0xE0FE, 0x50E3, 0xE0FD, 0x50E4, 0xE0F8, 0x50E5, 0xB9AE, - 0x50E6, 0xE0F0, 0x50E7, 0xB9AC, 0x50E8, 0xE0F3, 0x50E9, 0xB9B7, 0x50EA, 0xE0F6, 0x50EC, 0xE0FA, 0x50ED, 0xB9B0, 0x50EE, 0xB9AD, - 0x50EF, 0xE0FC, 0x50F0, 0xE0FB, 0x50F1, 0xB9B5, 0x50F3, 0xE0F4, 0x50F5, 0xBBF8, 0x50F6, 0xE4EC, 0x50F8, 0xE4E9, 0x50F9, 0xBBF9, - 0x50FB, 0xBBF7, 0x50FD, 0xE4F0, 0x50FE, 0xE4ED, 0x50FF, 0xE4E6, 0x5100, 0xBBF6, 0x5102, 0xBBFA, 0x5103, 0xE4E7, 0x5104, 0xBBF5, - 0x5105, 0xBBFD, 0x5106, 0xE4EA, 0x5107, 0xE4EB, 0x5108, 0xBBFB, 0x5109, 0xBBFC, 0x510A, 0xE4F1, 0x510B, 0xE4EE, 0x510C, 0xE4EF, - 0x5110, 0xBEAA, 0x5111, 0xE8F8, 0x5112, 0xBEA7, 0x5113, 0xE8F5, 0x5114, 0xBEA9, 0x5115, 0xBEAB, 0x5117, 0xE8F6, 0x5118, 0xBEA8, - 0x511A, 0xE8F7, 0x511C, 0xE8F4, 0x511F, 0xC076, 0x5120, 0xECBD, 0x5121, 0xC077, 0x5122, 0xECBB, 0x5124, 0xECBC, 0x5125, 0xECBA, - 0x5126, 0xECB9, 0x5129, 0xECBE, 0x512A, 0xC075, 0x512D, 0xEFB8, 0x512E, 0xEFB9, 0x5130, 0xE4E8, 0x5131, 0xEFB7, 0x5132, 0xC078, - 0x5133, 0xC35F, 0x5134, 0xF1EB, 0x5135, 0xF1EC, 0x5137, 0xC4D7, 0x5138, 0xC4D8, 0x5139, 0xF5C1, 0x513A, 0xF5C0, 0x513B, 0xC56C, - 0x513C, 0xC56B, 0x513D, 0xF7D0, 0x513F, 0xA449, 0x5140, 0xA461, 0x5141, 0xA4B9, 0x5143, 0xA4B8, 0x5144, 0xA553, 0x5145, 0xA552, - 0x5146, 0xA5FC, 0x5147, 0xA5FB, 0x5148, 0xA5FD, 0x5149, 0xA5FA, 0x514B, 0xA74A, 0x514C, 0xA749, 0x514D, 0xA74B, 0x5152, 0xA8E0, - 0x5154, 0xA8DF, 0x5155, 0xA8E1, 0x5157, 0xAB5E, 0x5159, 0xA259, 0x515A, 0xD0DE, 0x515B, 0xA25A, 0x515C, 0xB0C2, 0x515D, 0xA25C, - 0x515E, 0xA25B, 0x515F, 0xD860, 0x5161, 0xA25D, 0x5162, 0xB9B8, 0x5163, 0xA25E, 0x5165, 0xA44A, 0x5167, 0xA4BA, 0x5168, 0xA5FE, - 0x5169, 0xA8E2, 0x516B, 0xA44B, 0x516C, 0xA4BD, 0x516D, 0xA4BB, 0x516E, 0xA4BC, 0x5171, 0xA640, 0x5175, 0xA74C, 0x5176, 0xA8E4, - 0x5177, 0xA8E3, 0x5178, 0xA8E5, 0x517C, 0xADDD, 0x5180, 0xBEAC, 0x5187, 0xC94E, 0x5189, 0xA554, 0x518A, 0xA555, 0x518D, 0xA641, - 0x518F, 0xCA6A, 0x5191, 0xAB60, 0x5192, 0xAB5F, 0x5193, 0xD0E0, 0x5194, 0xD0DF, 0x5195, 0xB0C3, 0x5197, 0xA4BE, 0x5198, 0xC955, - 0x519E, 0xCBCD, 0x51A0, 0xAB61, 0x51A2, 0xADE0, 0x51A4, 0xADDE, 0x51A5, 0xADDF, 0x51AA, 0xBEAD, 0x51AC, 0xA556, 0x51B0, 0xA642, - 0x51B1, 0xC9BC, 0x51B6, 0xA74D, 0x51B7, 0xA74E, 0x51B9, 0xCA6B, 0x51BC, 0xCBCE, 0x51BD, 0xA8E6, 0x51BE, 0xCBCF, 0x51C4, 0xD0E2, - 0x51C5, 0xD0E3, 0x51C6, 0xADE3, 0x51C8, 0xD0E4, 0x51CA, 0xD0E1, 0x51CB, 0xADE4, 0x51CC, 0xADE2, 0x51CD, 0xADE1, 0x51CE, 0xD0E5, - 0x51D0, 0xD468, 0x51D4, 0xD861, 0x51D7, 0xDCC5, 0x51D8, 0xE140, 0x51DC, 0xBBFE, 0x51DD, 0xBEAE, 0x51DE, 0xE8F9, 0x51E0, 0xA44C, - 0x51E1, 0xA45A, 0x51F0, 0xB0C4, 0x51F1, 0xB3CD, 0x51F3, 0xB9B9, 0x51F5, 0xC942, 0x51F6, 0xA4BF, 0x51F8, 0xA559, 0x51F9, 0xA557, - 0x51FA, 0xA558, 0x51FD, 0xA8E7, 0x5200, 0xA44D, 0x5201, 0xA44E, 0x5203, 0xA462, 0x5206, 0xA4C0, 0x5207, 0xA4C1, 0x5208, 0xA4C2, - 0x5209, 0xC9BE, 0x520A, 0xA55A, 0x520C, 0xC96B, 0x520E, 0xA646, 0x5210, 0xC9BF, 0x5211, 0xA644, 0x5212, 0xA645, 0x5213, 0xC9BD, - 0x5216, 0xA647, 0x5217, 0xA643, 0x521C, 0xCA6C, 0x521D, 0xAAEC, 0x521E, 0xCA6D, 0x5221, 0xCA6E, 0x5224, 0xA750, 0x5225, 0xA74F, - 0x5228, 0xA753, 0x5229, 0xA751, 0x522A, 0xA752, 0x522E, 0xA8ED, 0x5230, 0xA8EC, 0x5231, 0xCBD4, 0x5232, 0xCBD1, 0x5233, 0xCBD2, - 0x5235, 0xCBD0, 0x5236, 0xA8EE, 0x5237, 0xA8EA, 0x5238, 0xA8E9, 0x523A, 0xA8EB, 0x523B, 0xA8E8, 0x5241, 0xA8EF, 0x5243, 0xAB63, - 0x5244, 0xCDF0, 0x5246, 0xCBD3, 0x5247, 0xAB68, 0x5249, 0xCDF1, 0x524A, 0xAB64, 0x524B, 0xAB67, 0x524C, 0xAB66, 0x524D, 0xAB65, - 0x524E, 0xAB62, 0x5252, 0xD0E8, 0x5254, 0xADE7, 0x5255, 0xD0EB, 0x5256, 0xADE5, 0x525A, 0xD0E7, 0x525B, 0xADE8, 0x525C, 0xADE6, - 0x525D, 0xADE9, 0x525E, 0xD0E9, 0x525F, 0xD0EA, 0x5261, 0xD0E6, 0x5262, 0xD0EC, 0x5269, 0xB3D1, 0x526A, 0xB0C5, 0x526B, 0xD469, - 0x526C, 0xD46B, 0x526D, 0xD46A, 0x526E, 0xD46C, 0x526F, 0xB0C6, 0x5272, 0xB3CE, 0x5274, 0xB3CF, 0x5275, 0xB3D0, 0x5277, 0xB6D0, - 0x5278, 0xDCC7, 0x527A, 0xDCC6, 0x527B, 0xDCC8, 0x527C, 0xDCC9, 0x527D, 0xB6D1, 0x527F, 0xB6CF, 0x5280, 0xE141, 0x5281, 0xE142, - 0x5282, 0xB9BB, 0x5283, 0xB9BA, 0x5284, 0xE35A, 0x5287, 0xBC40, 0x5288, 0xBC41, 0x5289, 0xBC42, 0x528A, 0xBC44, 0x528B, 0xE4F2, - 0x528C, 0xE4F3, 0x528D, 0xBC43, 0x5291, 0xBEAF, 0x5293, 0xBEB0, 0x5296, 0xF1ED, 0x5297, 0xF5C3, 0x5298, 0xF5C2, 0x5299, 0xF7D1, - 0x529B, 0xA44F, 0x529F, 0xA55C, 0x52A0, 0xA55B, 0x52A3, 0xA648, 0x52A6, 0xC9C0, 0x52A9, 0xA755, 0x52AA, 0xA756, 0x52AB, 0xA754, - 0x52AC, 0xA757, 0x52AD, 0xCA6F, 0x52AE, 0xCA70, 0x52BB, 0xA8F1, 0x52BC, 0xCBD5, 0x52BE, 0xA8F0, 0x52C0, 0xCDF2, 0x52C1, 0xAB6C, - 0x52C2, 0xCDF3, 0x52C3, 0xAB6B, 0x52C7, 0xAB69, 0x52C9, 0xAB6A, 0x52CD, 0xD0ED, 0x52D2, 0xB0C7, 0x52D3, 0xD46E, 0x52D5, 0xB0CA, - 0x52D6, 0xD46D, 0x52D7, 0xB1E5, 0x52D8, 0xB0C9, 0x52D9, 0xB0C8, 0x52DB, 0xB3D4, 0x52DD, 0xB3D3, 0x52DE, 0xB3D2, 0x52DF, 0xB6D2, - 0x52E2, 0xB6D5, 0x52E3, 0xB6D6, 0x52E4, 0xB6D4, 0x52E6, 0xB6D3, 0x52E9, 0xE143, 0x52EB, 0xE144, 0x52EF, 0xE4F5, 0x52F0, 0xBC45, - 0x52F1, 0xE4F4, 0x52F3, 0xBEB1, 0x52F4, 0xECBF, 0x52F5, 0xC079, 0x52F7, 0xF1EE, 0x52F8, 0xC455, 0x52FA, 0xA463, 0x52FB, 0xA4C3, - 0x52FC, 0xC956, 0x52FE, 0xA4C4, 0x52FF, 0xA4C5, 0x5305, 0xA55D, 0x5306, 0xA55E, 0x5308, 0xA649, 0x5309, 0xCA71, 0x530A, 0xCBD6, - 0x530B, 0xCBD7, 0x530D, 0xAB6D, 0x530E, 0xD0EE, 0x530F, 0xB0CC, 0x5310, 0xB0CB, 0x5311, 0xD863, 0x5312, 0xD862, 0x5315, 0xA450, - 0x5316, 0xA4C6, 0x5317, 0xA55F, 0x5319, 0xB0CD, 0x531A, 0xC943, 0x531C, 0xC96C, 0x531D, 0xA560, 0x531F, 0xC9C2, 0x5320, 0xA64B, - 0x5321, 0xA64A, 0x5322, 0xC9C1, 0x5323, 0xA758, 0x532A, 0xADEA, 0x532D, 0xD46F, 0x532F, 0xB6D7, 0x5330, 0xE145, 0x5331, 0xB9BC, - 0x5334, 0xE8FA, 0x5337, 0xF3FD, 0x5339, 0xA4C7, 0x533C, 0xCBD8, 0x533D, 0xCDF4, 0x533E, 0xB0D0, 0x533F, 0xB0CE, 0x5340, 0xB0CF, - 0x5341, 0xA2CC, 0x5341, 0xA451, 0x5343, 0xA464, 0x5344, 0xA2CD, 0x5345, 0xA2CE, 0x5345, 0xA4CA, 0x5347, 0xA4C9, 0x5348, 0xA4C8, - 0x5349, 0xA563, 0x534A, 0xA562, 0x534C, 0xC96D, 0x534D, 0xC9C3, 0x5351, 0xA8F5, 0x5352, 0xA8F2, 0x5353, 0xA8F4, 0x5354, 0xA8F3, - 0x5357, 0xAB6E, 0x535A, 0xB3D5, 0x535C, 0xA452, 0x535E, 0xA4CB, 0x5360, 0xA565, 0x5361, 0xA564, 0x5363, 0xCA72, 0x5366, 0xA8F6, - 0x536C, 0xC957, 0x536E, 0xA567, 0x536F, 0xA566, 0x5370, 0xA64C, 0x5371, 0xA64D, 0x5372, 0xCA73, 0x5373, 0xA759, 0x5375, 0xA75A, - 0x5377, 0xA8F7, 0x5378, 0xA8F8, 0x5379, 0xA8F9, 0x537B, 0xAB6F, 0x537C, 0xCDF5, 0x537F, 0xADEB, 0x5382, 0xC944, 0x5384, 0xA4CC, - 0x538A, 0xC9C4, 0x538E, 0xCA74, 0x538F, 0xCA75, 0x5392, 0xCBD9, 0x5394, 0xCBDA, 0x5396, 0xCDF7, 0x5397, 0xCDF6, 0x5398, 0xCDF9, - 0x5399, 0xCDF8, 0x539A, 0xAB70, 0x539C, 0xD470, 0x539D, 0xADED, 0x539E, 0xD0EF, 0x539F, 0xADEC, 0x53A4, 0xD864, 0x53A5, 0xB3D6, - 0x53A7, 0xD865, 0x53AC, 0xE146, 0x53AD, 0xB9BD, 0x53B2, 0xBC46, 0x53B4, 0xF1EF, 0x53B9, 0xC958, 0x53BB, 0xA568, 0x53C3, 0xB0D1, - 0x53C8, 0xA453, 0x53C9, 0xA465, 0x53CA, 0xA4CE, 0x53CB, 0xA4CD, 0x53CD, 0xA4CF, 0x53D4, 0xA8FB, 0x53D6, 0xA8FA, 0x53D7, 0xA8FC, - 0x53DB, 0xAB71, 0x53DF, 0xADEE, 0x53E1, 0xE8FB, 0x53E2, 0xC24F, 0x53E3, 0xA466, 0x53E4, 0xA56A, 0x53E5, 0xA579, 0x53E6, 0xA574, - 0x53E8, 0xA56F, 0x53E9, 0xA56E, 0x53EA, 0xA575, 0x53EB, 0xA573, 0x53EC, 0xA56C, 0x53ED, 0xA57A, 0x53EE, 0xA56D, 0x53EF, 0xA569, - 0x53F0, 0xA578, 0x53F1, 0xA577, 0x53F2, 0xA576, 0x53F3, 0xA56B, 0x53F5, 0xA572, 0x53F8, 0xA571, 0x53FB, 0xA57B, 0x53FC, 0xA570, - 0x5401, 0xA653, 0x5403, 0xA659, 0x5404, 0xA655, 0x5406, 0xA65B, 0x5407, 0xC9C5, 0x5408, 0xA658, 0x5409, 0xA64E, 0x540A, 0xA651, - 0x540B, 0xA654, 0x540C, 0xA650, 0x540D, 0xA657, 0x540E, 0xA65A, 0x540F, 0xA64F, 0x5410, 0xA652, 0x5411, 0xA656, 0x5412, 0xA65C, - 0x5418, 0xCA7E, 0x5419, 0xCA7B, 0x541B, 0xA767, 0x541C, 0xCA7C, 0x541D, 0xA75B, 0x541E, 0xA75D, 0x541F, 0xA775, 0x5420, 0xA770, - 0x5424, 0xCAA5, 0x5425, 0xCA7D, 0x5426, 0xA75F, 0x5427, 0xA761, 0x5428, 0xCAA4, 0x5429, 0xA768, 0x542A, 0xCA78, 0x542B, 0xA774, - 0x542C, 0xA776, 0x542D, 0xA75C, 0x542E, 0xA76D, 0x5430, 0xCA76, 0x5431, 0xA773, 0x5433, 0xA764, 0x5435, 0xA76E, 0x5436, 0xA76F, - 0x5437, 0xCA77, 0x5438, 0xA76C, 0x5439, 0xA76A, 0x543B, 0xA76B, 0x543C, 0xA771, 0x543D, 0xCAA1, 0x543E, 0xA75E, 0x5440, 0xA772, - 0x5441, 0xCAA3, 0x5442, 0xA766, 0x5443, 0xA763, 0x5445, 0xCA7A, 0x5446, 0xA762, 0x5447, 0xCAA6, 0x5448, 0xA765, 0x544A, 0xA769, - 0x544E, 0xA760, 0x544F, 0xCAA2, 0x5454, 0xCA79, 0x5460, 0xCBEB, 0x5461, 0xCBEA, 0x5462, 0xA94F, 0x5463, 0xCBED, 0x5464, 0xCBEF, - 0x5465, 0xCBE4, 0x5466, 0xCBE7, 0x5467, 0xCBEE, 0x5468, 0xA950, 0x546B, 0xCBE1, 0x546C, 0xCBE5, 0x546F, 0xCBE9, 0x5470, 0xCE49, - 0x5471, 0xA94B, 0x5472, 0xCE4D, 0x5473, 0xA8FD, 0x5474, 0xCBE6, 0x5475, 0xA8FE, 0x5476, 0xA94C, 0x5477, 0xA945, 0x5478, 0xA941, - 0x547A, 0xCBE2, 0x547B, 0xA944, 0x547C, 0xA949, 0x547D, 0xA952, 0x547E, 0xCBE3, 0x547F, 0xCBDC, 0x5480, 0xA943, 0x5481, 0xCBDD, - 0x5482, 0xCBDF, 0x5484, 0xA946, 0x5486, 0xA948, 0x5487, 0xCBDB, 0x5488, 0xCBE0, 0x548B, 0xA951, 0x548C, 0xA94D, 0x548D, 0xCBE8, - 0x548E, 0xA953, 0x5490, 0xA94A, 0x5491, 0xCBDE, 0x5492, 0xA947, 0x5495, 0xA942, 0x5496, 0xA940, 0x5498, 0xCBEC, 0x549A, 0xA94E, - 0x54A0, 0xCE48, 0x54A1, 0xCDFB, 0x54A2, 0xCE4B, 0x54A5, 0xCDFD, 0x54A6, 0xAB78, 0x54A7, 0xABA8, 0x54A8, 0xAB74, 0x54A9, 0xABA7, - 0x54AA, 0xAB7D, 0x54AB, 0xABA4, 0x54AC, 0xAB72, 0x54AD, 0xCDFC, 0x54AE, 0xCE43, 0x54AF, 0xABA3, 0x54B0, 0xCE4F, 0x54B1, 0xABA5, - 0x54B3, 0xAB79, 0x54B6, 0xCE45, 0x54B7, 0xCE42, 0x54B8, 0xAB77, 0x54BA, 0xCDFA, 0x54BB, 0xABA6, 0x54BC, 0xCE4A, 0x54BD, 0xAB7C, - 0x54BE, 0xCE4C, 0x54BF, 0xABA9, 0x54C0, 0xAB73, 0x54C1, 0xAB7E, 0x54C2, 0xAB7B, 0x54C3, 0xCE40, 0x54C4, 0xABA1, 0x54C5, 0xCE46, - 0x54C6, 0xCE47, 0x54C7, 0xAB7A, 0x54C8, 0xABA2, 0x54C9, 0xAB76, 0x54CE, 0xAB75, 0x54CF, 0xCDFE, 0x54D6, 0xCE44, 0x54DE, 0xCE4E, - 0x54E0, 0xD144, 0x54E1, 0xADFB, 0x54E2, 0xD0F1, 0x54E4, 0xD0F6, 0x54E5, 0xADF4, 0x54E6, 0xAE40, 0x54E7, 0xD0F4, 0x54E8, 0xADEF, - 0x54E9, 0xADF9, 0x54EA, 0xADFE, 0x54EB, 0xD0FB, 0x54ED, 0xADFA, 0x54EE, 0xADFD, 0x54F1, 0xD0FE, 0x54F2, 0xADF5, 0x54F3, 0xD0F5, - 0x54F7, 0xD142, 0x54F8, 0xD143, 0x54FA, 0xADF7, 0x54FB, 0xD141, 0x54FC, 0xADF3, 0x54FD, 0xAE43, 0x54FF, 0xD0F8, 0x5501, 0xADF1, - 0x5503, 0xD146, 0x5504, 0xD0F9, 0x5505, 0xD0FD, 0x5506, 0xADF6, 0x5507, 0xAE42, 0x5508, 0xD0FA, 0x5509, 0xADFC, 0x550A, 0xD140, - 0x550B, 0xD147, 0x550C, 0xD4A1, 0x550E, 0xD145, 0x550F, 0xAE44, 0x5510, 0xADF0, 0x5511, 0xD0FC, 0x5512, 0xD0F3, 0x5514, 0xADF8, - 0x5517, 0xD0F2, 0x551A, 0xD0F7, 0x5526, 0xD0F0, 0x5527, 0xAE41, 0x552A, 0xD477, 0x552C, 0xB0E4, 0x552D, 0xD4A7, 0x552E, 0xB0E2, - 0x552F, 0xB0DF, 0x5530, 0xD47C, 0x5531, 0xB0DB, 0x5532, 0xD4A2, 0x5533, 0xB0E6, 0x5534, 0xD476, 0x5535, 0xD47B, 0x5536, 0xD47A, - 0x5537, 0xADF2, 0x5538, 0xB0E1, 0x5539, 0xD4A5, 0x553B, 0xD4A8, 0x553C, 0xD473, 0x553E, 0xB3E8, 0x5540, 0xD4A9, 0x5541, 0xB0E7, - 0x5543, 0xB0D9, 0x5544, 0xB0D6, 0x5545, 0xD47E, 0x5546, 0xB0D3, 0x5548, 0xD4A6, 0x554A, 0xB0DA, 0x554B, 0xD4AA, 0x554D, 0xD474, - 0x554E, 0xD4A4, 0x554F, 0xB0DD, 0x5550, 0xD475, 0x5551, 0xD478, 0x5552, 0xD47D, 0x5555, 0xB0DE, 0x5556, 0xB0DC, 0x5557, 0xB0E8, - 0x555C, 0xB0E3, 0x555E, 0xB0D7, 0x555F, 0xB1D2, 0x5561, 0xB0D8, 0x5562, 0xD479, 0x5563, 0xB0E5, 0x5564, 0xB0E0, 0x5565, 0xD4A3, - 0x5566, 0xB0D5, 0x556A, 0xB0D4, 0x5575, 0xD471, 0x5576, 0xD472, 0x5577, 0xD86A, 0x557B, 0xB3D7, 0x557C, 0xB3DA, 0x557D, 0xD875, - 0x557E, 0xB3EE, 0x557F, 0xD878, 0x5580, 0xB3D8, 0x5581, 0xD871, 0x5582, 0xB3DE, 0x5583, 0xB3E4, 0x5584, 0xB5BD, 0x5587, 0xB3E2, - 0x5588, 0xD86E, 0x5589, 0xB3EF, 0x558A, 0xB3DB, 0x558B, 0xB3E3, 0x558C, 0xD876, 0x558D, 0xDCD7, 0x558E, 0xD87B, 0x558F, 0xD86F, - 0x5591, 0xD866, 0x5592, 0xD873, 0x5593, 0xD86D, 0x5594, 0xB3E1, 0x5595, 0xD879, 0x5598, 0xB3DD, 0x5599, 0xB3F1, 0x559A, 0xB3EA, - 0x559C, 0xB3DF, 0x559D, 0xB3DC, 0x559F, 0xB3E7, 0x55A1, 0xD87A, 0x55A2, 0xD86C, 0x55A3, 0xD872, 0x55A4, 0xD874, 0x55A5, 0xD868, - 0x55A6, 0xD877, 0x55A7, 0xB3D9, 0x55A8, 0xD867, 0x55AA, 0xB3E0, 0x55AB, 0xB3F0, 0x55AC, 0xB3EC, 0x55AD, 0xD869, 0x55AE, 0xB3E6, - 0x55B1, 0xB3ED, 0x55B2, 0xB3E9, 0x55B3, 0xB3E5, 0x55B5, 0xD870, 0x55BB, 0xB3EB, 0x55BF, 0xDCD5, 0x55C0, 0xDCD1, 0x55C2, 0xDCE0, - 0x55C3, 0xDCCA, 0x55C4, 0xDCD3, 0x55C5, 0xB6E5, 0x55C6, 0xB6E6, 0x55C7, 0xB6DE, 0x55C8, 0xDCDC, 0x55C9, 0xB6E8, 0x55CA, 0xDCCF, - 0x55CB, 0xDCCE, 0x55CC, 0xDCCC, 0x55CD, 0xDCDE, 0x55CE, 0xB6DC, 0x55CF, 0xDCD8, 0x55D0, 0xDCCD, 0x55D1, 0xB6DF, 0x55D2, 0xDCD6, - 0x55D3, 0xB6DA, 0x55D4, 0xDCD2, 0x55D5, 0xDCD9, 0x55D6, 0xDCDB, 0x55D9, 0xDCDF, 0x55DA, 0xB6E3, 0x55DB, 0xDCCB, 0x55DC, 0xB6DD, - 0x55DD, 0xDCD0, 0x55DF, 0xB6D8, 0x55E1, 0xB6E4, 0x55E2, 0xDCDA, 0x55E3, 0xB6E0, 0x55E4, 0xB6E1, 0x55E5, 0xB6E7, 0x55E6, 0xB6DB, - 0x55E7, 0xA25F, 0x55E8, 0xB6D9, 0x55E9, 0xDCD4, 0x55EF, 0xB6E2, 0x55F2, 0xDCDD, 0x55F6, 0xB9CD, 0x55F7, 0xB9C8, 0x55F9, 0xE155, - 0x55FA, 0xE151, 0x55FC, 0xE14B, 0x55FD, 0xB9C2, 0x55FE, 0xB9BE, 0x55FF, 0xE154, 0x5600, 0xB9BF, 0x5601, 0xE14E, 0x5602, 0xE150, - 0x5604, 0xE153, 0x5606, 0xB9C4, 0x5608, 0xB9CB, 0x5609, 0xB9C5, 0x560C, 0xE149, 0x560D, 0xB9C6, 0x560E, 0xB9C7, 0x560F, 0xE14C, - 0x5610, 0xB9CC, 0x5612, 0xE14A, 0x5613, 0xE14F, 0x5614, 0xB9C3, 0x5615, 0xE148, 0x5616, 0xB9C9, 0x5617, 0xB9C1, 0x561B, 0xB9C0, - 0x561C, 0xE14D, 0x561D, 0xE152, 0x561F, 0xB9CA, 0x5627, 0xE147, 0x5629, 0xBC4D, 0x562A, 0xE547, 0x562C, 0xE544, 0x562E, 0xBC47, - 0x562F, 0xBC53, 0x5630, 0xBC54, 0x5632, 0xBC4A, 0x5633, 0xE542, 0x5634, 0xBC4C, 0x5635, 0xE4F9, 0x5636, 0xBC52, 0x5638, 0xE546, - 0x5639, 0xBC49, 0x563A, 0xE548, 0x563B, 0xBC48, 0x563D, 0xE543, 0x563E, 0xE545, 0x563F, 0xBC4B, 0x5640, 0xE541, 0x5641, 0xE4FA, - 0x5642, 0xE4F7, 0x5645, 0xD86B, 0x5646, 0xE4FD, 0x5648, 0xE4F6, 0x5649, 0xE4FC, 0x564A, 0xE4FB, 0x564C, 0xE4F8, 0x564E, 0xBC4F, - 0x5653, 0xBC4E, 0x5657, 0xBC50, 0x5658, 0xE4FE, 0x5659, 0xBEB2, 0x565A, 0xE540, 0x565E, 0xE945, 0x5660, 0xE8FD, 0x5662, 0xBEBE, - 0x5663, 0xE942, 0x5664, 0xBEB6, 0x5665, 0xBEBA, 0x5666, 0xE941, 0x5668, 0xBEB9, 0x5669, 0xBEB5, 0x566A, 0xBEB8, 0x566B, 0xBEB3, - 0x566C, 0xBEBD, 0x566D, 0xE943, 0x566E, 0xE8FE, 0x566F, 0xBEBC, 0x5670, 0xE8FC, 0x5671, 0xBEBB, 0x5672, 0xE944, 0x5673, 0xE940, - 0x5674, 0xBC51, 0x5676, 0xBEBF, 0x5677, 0xE946, 0x5678, 0xBEB7, 0x5679, 0xBEB4, 0x567E, 0xECC6, 0x567F, 0xECC8, 0x5680, 0xC07B, - 0x5681, 0xECC9, 0x5682, 0xECC7, 0x5683, 0xECC5, 0x5684, 0xECC4, 0x5685, 0xC07D, 0x5686, 0xECC3, 0x5687, 0xC07E, 0x568C, 0xECC1, - 0x568D, 0xECC2, 0x568E, 0xC07A, 0x568F, 0xC0A1, 0x5690, 0xC07C, 0x5693, 0xECC0, 0x5695, 0xC250, 0x5697, 0xEFBC, 0x5698, 0xEFBA, - 0x5699, 0xEFBF, 0x569A, 0xEFBD, 0x569C, 0xEFBB, 0x569D, 0xEFBE, 0x56A5, 0xC360, 0x56A6, 0xF1F2, 0x56A7, 0xF1F3, 0x56A8, 0xC456, - 0x56AA, 0xF1F4, 0x56AB, 0xF1F0, 0x56AC, 0xF1F5, 0x56AD, 0xF1F1, 0x56AE, 0xC251, 0x56B2, 0xF3FE, 0x56B3, 0xF441, 0x56B4, 0xC459, - 0x56B5, 0xF440, 0x56B6, 0xC458, 0x56B7, 0xC457, 0x56BC, 0xC45A, 0x56BD, 0xF5C5, 0x56BE, 0xF5C6, 0x56C0, 0xC4DA, 0x56C1, 0xC4D9, - 0x56C2, 0xC4DB, 0x56C3, 0xF5C4, 0x56C5, 0xF6D8, 0x56C6, 0xF6D7, 0x56C8, 0xC56D, 0x56C9, 0xC56F, 0x56CA, 0xC56E, 0x56CB, 0xF6D9, - 0x56CC, 0xC5C8, 0x56CD, 0xF8A6, 0x56D1, 0xC5F1, 0x56D3, 0xF8A5, 0x56D4, 0xF8EE, 0x56D7, 0xC949, 0x56DA, 0xA57D, 0x56DB, 0xA57C, - 0x56DD, 0xA65F, 0x56DE, 0xA65E, 0x56DF, 0xC9C7, 0x56E0, 0xA65D, 0x56E1, 0xC9C6, 0x56E4, 0xA779, 0x56E5, 0xCAA9, 0x56E7, 0xCAA8, - 0x56EA, 0xA777, 0x56EB, 0xA77A, 0x56EE, 0xCAA7, 0x56F0, 0xA778, 0x56F7, 0xCBF0, 0x56F9, 0xCBF1, 0x56FA, 0xA954, 0x56FF, 0xABAA, - 0x5701, 0xD148, 0x5702, 0xD149, 0x5703, 0xAE45, 0x5704, 0xAE46, 0x5707, 0xD4AC, 0x5708, 0xB0E9, 0x5709, 0xB0EB, 0x570A, 0xD4AB, - 0x570B, 0xB0EA, 0x570C, 0xD87C, 0x570D, 0xB3F2, 0x5712, 0xB6E9, 0x5713, 0xB6EA, 0x5714, 0xDCE1, 0x5716, 0xB9CF, 0x5718, 0xB9CE, - 0x571A, 0xE549, 0x571B, 0xE948, 0x571C, 0xE947, 0x571E, 0xF96B, 0x571F, 0xA467, 0x5720, 0xC959, 0x5722, 0xC96E, 0x5723, 0xC96F, - 0x5728, 0xA662, 0x5729, 0xA666, 0x572A, 0xC9C9, 0x572C, 0xA664, 0x572D, 0xA663, 0x572E, 0xC9C8, 0x572F, 0xA665, 0x5730, 0xA661, - 0x5733, 0xA660, 0x5734, 0xC9CA, 0x573B, 0xA7A6, 0x573E, 0xA7A3, 0x5740, 0xA77D, 0x5741, 0xCAAA, 0x5745, 0xCAAB, 0x5747, 0xA7A1, - 0x5749, 0xCAAD, 0x574A, 0xA77B, 0x574B, 0xCAAE, 0x574C, 0xCAAC, 0x574D, 0xA77E, 0x574E, 0xA7A2, 0x574F, 0xA7A5, 0x5750, 0xA7A4, - 0x5751, 0xA77C, 0x5752, 0xCAAF, 0x5761, 0xA959, 0x5762, 0xCBFE, 0x5764, 0xA95B, 0x5766, 0xA95A, 0x5768, 0xCC40, 0x5769, 0xA958, - 0x576A, 0xA957, 0x576B, 0xCBF5, 0x576D, 0xCBF4, 0x576F, 0xCBF2, 0x5770, 0xCBF7, 0x5771, 0xCBF6, 0x5772, 0xCBF3, 0x5773, 0xCBFC, - 0x5774, 0xCBFD, 0x5775, 0xCBFA, 0x5776, 0xCBF8, 0x5777, 0xA956, 0x577B, 0xCBFB, 0x577C, 0xA95C, 0x577D, 0xCC41, 0x5780, 0xCBF9, - 0x5782, 0xABAB, 0x5783, 0xA955, 0x578B, 0xABAC, 0x578C, 0xCE54, 0x578F, 0xCE5A, 0x5793, 0xABB2, 0x5794, 0xCE58, 0x5795, 0xCE5E, - 0x5797, 0xCE55, 0x5798, 0xCE59, 0x5799, 0xCE5B, 0x579A, 0xCE5D, 0x579B, 0xCE57, 0x579D, 0xCE56, 0x579E, 0xCE51, 0x579F, 0xCE52, - 0x57A0, 0xABAD, 0x57A2, 0xABAF, 0x57A3, 0xABAE, 0x57A4, 0xCE53, 0x57A5, 0xCE5C, 0x57AE, 0xABB1, 0x57B5, 0xCE50, 0x57B6, 0xD153, - 0x57B8, 0xD152, 0x57B9, 0xD157, 0x57BA, 0xD14E, 0x57BC, 0xD151, 0x57BD, 0xD150, 0x57BF, 0xD154, 0x57C1, 0xD158, 0x57C2, 0xAE47, - 0x57C3, 0xAE4A, 0x57C6, 0xD14F, 0x57C7, 0xD155, 0x57CB, 0xAE49, 0x57CC, 0xD14A, 0x57CE, 0xABB0, 0x57CF, 0xD4BA, 0x57D0, 0xD156, - 0x57D2, 0xD14D, 0x57D4, 0xAE48, 0x57D5, 0xD14C, 0x57DC, 0xD4B1, 0x57DF, 0xB0EC, 0x57E0, 0xB0F0, 0x57E1, 0xD4C1, 0x57E2, 0xD4AF, - 0x57E3, 0xD4BD, 0x57E4, 0xB0F1, 0x57E5, 0xD4BF, 0x57E7, 0xD4C5, 0x57E9, 0xD4C9, 0x57EC, 0xD4C0, 0x57ED, 0xD4B4, 0x57EE, 0xD4BC, - 0x57F0, 0xD4CA, 0x57F1, 0xD4C8, 0x57F2, 0xD4BE, 0x57F3, 0xD4B9, 0x57F4, 0xD4B2, 0x57F5, 0xD8A6, 0x57F6, 0xD4B0, 0x57F7, 0xB0F5, - 0x57F8, 0xD4B7, 0x57F9, 0xB0F6, 0x57FA, 0xB0F2, 0x57FB, 0xD4AD, 0x57FC, 0xD4C3, 0x57FD, 0xD4B5, 0x5800, 0xD4B3, 0x5801, 0xD4C6, - 0x5802, 0xB0F3, 0x5804, 0xD4CC, 0x5805, 0xB0ED, 0x5806, 0xB0EF, 0x5807, 0xD4BB, 0x5808, 0xD4B6, 0x5809, 0xAE4B, 0x580A, 0xB0EE, - 0x580B, 0xD4B8, 0x580C, 0xD4C7, 0x580D, 0xD4CB, 0x580E, 0xD4C2, 0x5810, 0xD4C4, 0x5814, 0xD4AE, 0x5819, 0xD8A1, 0x581B, 0xD8AA, - 0x581C, 0xD8A9, 0x581D, 0xB3FA, 0x581E, 0xD8A2, 0x5820, 0xB3FB, 0x5821, 0xB3F9, 0x5823, 0xD8A4, 0x5824, 0xB3F6, 0x5825, 0xD8A8, - 0x5827, 0xD8A3, 0x5828, 0xD8A5, 0x5829, 0xD87D, 0x582A, 0xB3F4, 0x582C, 0xD8B2, 0x582D, 0xD8B1, 0x582E, 0xD8AE, 0x582F, 0xB3F3, - 0x5830, 0xB3F7, 0x5831, 0xB3F8, 0x5832, 0xD14B, 0x5833, 0xD8AB, 0x5834, 0xB3F5, 0x5835, 0xB0F4, 0x5836, 0xD8AD, 0x5837, 0xD87E, - 0x5838, 0xD8B0, 0x5839, 0xD8AF, 0x583B, 0xD8B3, 0x583D, 0xDCEF, 0x583F, 0xD8AC, 0x5848, 0xD8A7, 0x5849, 0xDCE7, 0x584A, 0xB6F4, - 0x584B, 0xB6F7, 0x584C, 0xB6F2, 0x584D, 0xDCE6, 0x584E, 0xDCEA, 0x584F, 0xDCE5, 0x5851, 0xB6EC, 0x5852, 0xB6F6, 0x5853, 0xDCE2, - 0x5854, 0xB6F0, 0x5855, 0xDCE9, 0x5857, 0xB6EE, 0x5858, 0xB6ED, 0x5859, 0xDCEC, 0x585A, 0xB6EF, 0x585B, 0xDCEE, 0x585D, 0xDCEB, - 0x585E, 0xB6EB, 0x5862, 0xB6F5, 0x5863, 0xDCF0, 0x5864, 0xDCE4, 0x5865, 0xDCED, 0x5868, 0xDCE3, 0x586B, 0xB6F1, 0x586D, 0xB6F3, - 0x586F, 0xDCE8, 0x5871, 0xDCF1, 0x5874, 0xE15D, 0x5875, 0xB9D0, 0x5876, 0xE163, 0x5879, 0xB9D5, 0x587A, 0xE15F, 0x587B, 0xE166, - 0x587C, 0xE157, 0x587D, 0xB9D7, 0x587E, 0xB9D1, 0x587F, 0xE15C, 0x5880, 0xBC55, 0x5881, 0xE15B, 0x5882, 0xE164, 0x5883, 0xB9D2, - 0x5885, 0xB9D6, 0x5886, 0xE15A, 0x5887, 0xE160, 0x5888, 0xE165, 0x5889, 0xE156, 0x588A, 0xB9D4, 0x588B, 0xE15E, 0x588E, 0xE162, - 0x588F, 0xE168, 0x5890, 0xE158, 0x5891, 0xE161, 0x5893, 0xB9D3, 0x5894, 0xE167, 0x5898, 0xE159, 0x589C, 0xBC59, 0x589D, 0xE54B, - 0x589E, 0xBC57, 0x589F, 0xBC56, 0x58A0, 0xE54D, 0x58A1, 0xE552, 0x58A3, 0xE54E, 0x58A5, 0xE551, 0x58A6, 0xBC5C, 0x58A8, 0xBEA5, - 0x58A9, 0xBC5B, 0x58AB, 0xE54A, 0x58AC, 0xE550, 0x58AE, 0xBC5A, 0x58AF, 0xE54F, 0x58B1, 0xE54C, 0x58B3, 0xBC58, 0x58BA, 0xE94D, - 0x58BB, 0xF9D9, 0x58BC, 0xE94F, 0x58BD, 0xE94A, 0x58BE, 0xBEC1, 0x58BF, 0xE94C, 0x58C1, 0xBEC0, 0x58C2, 0xE94E, 0x58C5, 0xBEC3, - 0x58C6, 0xE950, 0x58C7, 0xBEC2, 0x58C8, 0xE949, 0x58C9, 0xE94B, 0x58CE, 0xC0A5, 0x58CF, 0xECCC, 0x58D1, 0xC0A4, 0x58D2, 0xECCD, - 0x58D3, 0xC0A3, 0x58D4, 0xECCB, 0x58D5, 0xC0A2, 0x58D6, 0xECCA, 0x58D8, 0xC253, 0x58D9, 0xC252, 0x58DA, 0xF1F6, 0x58DB, 0xF1F8, - 0x58DD, 0xF1F7, 0x58DE, 0xC361, 0x58DF, 0xC362, 0x58E2, 0xC363, 0x58E3, 0xF442, 0x58E4, 0xC45B, 0x58E7, 0xF7D3, 0x58E8, 0xF7D2, - 0x58E9, 0xC5F2, 0x58EB, 0xA468, 0x58EC, 0xA4D0, 0x58EF, 0xA7A7, 0x58F4, 0xCE5F, 0x58F9, 0xB3FC, 0x58FA, 0xB3FD, 0x58FC, 0xDCF2, - 0x58FD, 0xB9D8, 0x58FE, 0xE169, 0x58FF, 0xE553, 0x5903, 0xC95A, 0x5906, 0xCAB0, 0x590C, 0xCC42, 0x590D, 0xCE60, 0x590E, 0xD159, - 0x590F, 0xAE4C, 0x5912, 0xF1F9, 0x5914, 0xC4DC, 0x5915, 0xA469, 0x5916, 0xA57E, 0x5917, 0xC970, 0x5919, 0xA667, 0x591A, 0xA668, - 0x591C, 0xA95D, 0x5920, 0xB0F7, 0x5922, 0xB9DA, 0x5924, 0xB9DB, 0x5925, 0xB9D9, 0x5927, 0xA46A, 0x5929, 0xA4D1, 0x592A, 0xA4D3, - 0x592B, 0xA4D2, 0x592C, 0xC95B, 0x592D, 0xA4D4, 0x592E, 0xA5A1, 0x592F, 0xC971, 0x5931, 0xA5A2, 0x5937, 0xA669, 0x5938, 0xA66A, - 0x593C, 0xC9CB, 0x593E, 0xA7A8, 0x5940, 0xCAB1, 0x5944, 0xA961, 0x5945, 0xCC43, 0x5947, 0xA95F, 0x5948, 0xA960, 0x5949, 0xA95E, - 0x594A, 0xD15A, 0x594E, 0xABB6, 0x594F, 0xABB5, 0x5950, 0xABB7, 0x5951, 0xABB4, 0x5953, 0xCE61, 0x5954, 0xA962, 0x5955, 0xABB3, - 0x5957, 0xAE4D, 0x5958, 0xAE4E, 0x595A, 0xAE4F, 0x595C, 0xD4CD, 0x5960, 0xB3FE, 0x5961, 0xD8B4, 0x5962, 0xB0F8, 0x5967, 0xB6F8, - 0x5969, 0xB9DD, 0x596A, 0xB9DC, 0x596B, 0xE16A, 0x596D, 0xBC5D, 0x596E, 0xBEC4, 0x5970, 0xEFC0, 0x5971, 0xF6DA, 0x5972, 0xF7D4, - 0x5973, 0xA46B, 0x5974, 0xA5A3, 0x5976, 0xA5A4, 0x5977, 0xC9D1, 0x5978, 0xA66C, 0x5979, 0xA66F, 0x597B, 0xC9CF, 0x597C, 0xC9CD, - 0x597D, 0xA66E, 0x597E, 0xC9D0, 0x597F, 0xC9D2, 0x5980, 0xC9CC, 0x5981, 0xA671, 0x5982, 0xA670, 0x5983, 0xA66D, 0x5984, 0xA66B, - 0x5985, 0xC9CE, 0x598A, 0xA7B3, 0x598D, 0xA7B0, 0x598E, 0xCAB6, 0x598F, 0xCAB9, 0x5990, 0xCAB8, 0x5992, 0xA7AA, 0x5993, 0xA7B2, - 0x5996, 0xA7AF, 0x5997, 0xCAB5, 0x5998, 0xCAB3, 0x5999, 0xA7AE, 0x599D, 0xA7A9, 0x599E, 0xA7AC, 0x59A0, 0xCAB4, 0x59A1, 0xCABB, - 0x59A2, 0xCAB7, 0x59A3, 0xA7AD, 0x59A4, 0xA7B1, 0x59A5, 0xA7B4, 0x59A6, 0xCAB2, 0x59A7, 0xCABA, 0x59A8, 0xA7AB, 0x59AE, 0xA967, - 0x59AF, 0xA96F, 0x59B1, 0xCC4F, 0x59B2, 0xCC48, 0x59B3, 0xA970, 0x59B4, 0xCC53, 0x59B5, 0xCC44, 0x59B6, 0xCC4B, 0x59B9, 0xA966, - 0x59BA, 0xCC45, 0x59BB, 0xA964, 0x59BC, 0xCC4C, 0x59BD, 0xCC50, 0x59BE, 0xA963, 0x59C0, 0xCC51, 0x59C1, 0xCC4A, 0x59C3, 0xCC4D, - 0x59C5, 0xA972, 0x59C6, 0xA969, 0x59C7, 0xCC54, 0x59C8, 0xCC52, 0x59CA, 0xA96E, 0x59CB, 0xA96C, 0x59CC, 0xCC49, 0x59CD, 0xA96B, - 0x59CE, 0xCC47, 0x59CF, 0xCC46, 0x59D0, 0xA96A, 0x59D1, 0xA968, 0x59D2, 0xA971, 0x59D3, 0xA96D, 0x59D4, 0xA965, 0x59D6, 0xCC4E, - 0x59D8, 0xABB9, 0x59DA, 0xABC0, 0x59DB, 0xCE6F, 0x59DC, 0xABB8, 0x59DD, 0xCE67, 0x59DE, 0xCE63, 0x59E0, 0xCE73, 0x59E1, 0xCE62, - 0x59E3, 0xABBB, 0x59E4, 0xCE6C, 0x59E5, 0xABBE, 0x59E6, 0xABC1, 0x59E8, 0xABBC, 0x59E9, 0xCE70, 0x59EA, 0xABBF, 0x59EC, 0xAE56, - 0x59ED, 0xCE76, 0x59EE, 0xCE64, 0x59F1, 0xCE66, 0x59F2, 0xCE6D, 0x59F3, 0xCE71, 0x59F4, 0xCE75, 0x59F5, 0xCE72, 0x59F6, 0xCE6B, - 0x59F7, 0xCE6E, 0x59FA, 0xCE68, 0x59FB, 0xABC3, 0x59FC, 0xCE6A, 0x59FD, 0xCE69, 0x59FE, 0xCE74, 0x59FF, 0xABBA, 0x5A00, 0xCE65, - 0x5A01, 0xABC2, 0x5A03, 0xABBD, 0x5A09, 0xAE5C, 0x5A0A, 0xD162, 0x5A0C, 0xAE5B, 0x5A0F, 0xD160, 0x5A11, 0xAE50, 0x5A13, 0xAE55, - 0x5A15, 0xD15F, 0x5A16, 0xD15C, 0x5A17, 0xD161, 0x5A18, 0xAE51, 0x5A19, 0xD15B, 0x5A1B, 0xAE54, 0x5A1C, 0xAE52, 0x5A1E, 0xD163, - 0x5A1F, 0xAE53, 0x5A20, 0xAE57, 0x5A23, 0xAE58, 0x5A25, 0xAE5A, 0x5A29, 0xAE59, 0x5A2D, 0xD15D, 0x5A2E, 0xD15E, 0x5A33, 0xD164, - 0x5A35, 0xD4D4, 0x5A36, 0xB0F9, 0x5A37, 0xD8C2, 0x5A38, 0xD4D3, 0x5A39, 0xD4E6, 0x5A3C, 0xB140, 0x5A3E, 0xD4E4, 0x5A40, 0xB0FE, - 0x5A41, 0xB0FA, 0x5A42, 0xD4ED, 0x5A43, 0xD4DD, 0x5A44, 0xD4E0, 0x5A46, 0xB143, 0x5A47, 0xD4EA, 0x5A48, 0xD4E2, 0x5A49, 0xB0FB, - 0x5A4A, 0xB144, 0x5A4C, 0xD4E7, 0x5A4D, 0xD4E5, 0x5A50, 0xD4D6, 0x5A51, 0xD4EB, 0x5A52, 0xD4DF, 0x5A53, 0xD4DA, 0x5A55, 0xD4D0, - 0x5A56, 0xD4EC, 0x5A57, 0xD4DC, 0x5A58, 0xD4CF, 0x5A5A, 0xB142, 0x5A5B, 0xD4E1, 0x5A5C, 0xD4EE, 0x5A5D, 0xD4DE, 0x5A5E, 0xD4D2, - 0x5A5F, 0xD4D7, 0x5A60, 0xD4CE, 0x5A62, 0xB141, 0x5A64, 0xD4DB, 0x5A65, 0xD4D8, 0x5A66, 0xB0FC, 0x5A67, 0xD4D1, 0x5A69, 0xD4E9, - 0x5A6A, 0xB0FD, 0x5A6C, 0xD4D9, 0x5A6D, 0xD4D5, 0x5A70, 0xD4E8, 0x5A77, 0xB440, 0x5A78, 0xD8BB, 0x5A7A, 0xD8B8, 0x5A7B, 0xD8C9, - 0x5A7C, 0xD8BD, 0x5A7D, 0xD8CA, 0x5A7F, 0xB442, 0x5A83, 0xD8C6, 0x5A84, 0xD8C3, 0x5A8A, 0xD8C4, 0x5A8B, 0xD8C7, 0x5A8C, 0xD8CB, - 0x5A8E, 0xD4E3, 0x5A8F, 0xD8CD, 0x5A90, 0xDD47, 0x5A92, 0xB443, 0x5A93, 0xD8CE, 0x5A94, 0xD8B6, 0x5A95, 0xD8C0, 0x5A97, 0xD8C5, - 0x5A9A, 0xB441, 0x5A9B, 0xB444, 0x5A9C, 0xD8CC, 0x5A9D, 0xD8CF, 0x5A9E, 0xD8BA, 0x5A9F, 0xD8B7, 0x5AA2, 0xD8B9, 0x5AA5, 0xD8BE, - 0x5AA6, 0xD8BC, 0x5AA7, 0xB445, 0x5AA9, 0xD8C8, 0x5AAC, 0xD8BF, 0x5AAE, 0xD8C1, 0x5AAF, 0xD8B5, 0x5AB0, 0xDCFA, 0x5AB1, 0xDCF8, - 0x5AB2, 0xB742, 0x5AB3, 0xB740, 0x5AB4, 0xDD43, 0x5AB5, 0xDCF9, 0x5AB6, 0xDD44, 0x5AB7, 0xDD40, 0x5AB8, 0xDCF7, 0x5AB9, 0xDD46, - 0x5ABA, 0xDCF6, 0x5ABB, 0xDCFD, 0x5ABC, 0xB6FE, 0x5ABD, 0xB6FD, 0x5ABE, 0xB6FC, 0x5ABF, 0xDCFB, 0x5AC0, 0xDD41, 0x5AC1, 0xB6F9, - 0x5AC2, 0xB741, 0x5AC4, 0xDCF4, 0x5AC6, 0xDCFE, 0x5AC7, 0xDCF3, 0x5AC8, 0xDCFC, 0x5AC9, 0xB6FA, 0x5ACA, 0xDD42, 0x5ACB, 0xDCF5, - 0x5ACC, 0xB6FB, 0x5ACD, 0xDD45, 0x5AD5, 0xE16E, 0x5AD6, 0xB9E2, 0x5AD7, 0xB9E1, 0x5AD8, 0xB9E3, 0x5AD9, 0xE17A, 0x5ADA, 0xE170, - 0x5ADB, 0xE176, 0x5ADC, 0xE16B, 0x5ADD, 0xE179, 0x5ADE, 0xE178, 0x5ADF, 0xE17C, 0x5AE0, 0xE175, 0x5AE1, 0xB9DE, 0x5AE2, 0xE174, - 0x5AE3, 0xB9E4, 0x5AE5, 0xE16D, 0x5AE6, 0xB9DF, 0x5AE8, 0xE17B, 0x5AE9, 0xB9E0, 0x5AEA, 0xE16F, 0x5AEB, 0xE172, 0x5AEC, 0xE177, - 0x5AED, 0xE171, 0x5AEE, 0xE16C, 0x5AF3, 0xE173, 0x5AF4, 0xE555, 0x5AF5, 0xBC61, 0x5AF6, 0xE558, 0x5AF7, 0xE557, 0x5AF8, 0xE55A, - 0x5AF9, 0xE55C, 0x5AFA, 0xF9DC, 0x5AFB, 0xBC5F, 0x5AFD, 0xE556, 0x5AFF, 0xE554, 0x5B01, 0xE55D, 0x5B02, 0xE55B, 0x5B03, 0xE559, - 0x5B05, 0xE55F, 0x5B07, 0xE55E, 0x5B08, 0xBC63, 0x5B09, 0xBC5E, 0x5B0B, 0xBC60, 0x5B0C, 0xBC62, 0x5B0F, 0xE560, 0x5B10, 0xE957, - 0x5B13, 0xE956, 0x5B14, 0xE955, 0x5B16, 0xE958, 0x5B17, 0xE951, 0x5B19, 0xE952, 0x5B1A, 0xE95A, 0x5B1B, 0xE953, 0x5B1D, 0xBEC5, - 0x5B1E, 0xE95C, 0x5B20, 0xE95B, 0x5B21, 0xE954, 0x5B23, 0xECD1, 0x5B24, 0xC0A8, 0x5B25, 0xECCF, 0x5B26, 0xECD4, 0x5B27, 0xECD3, - 0x5B28, 0xE959, 0x5B2A, 0xC0A7, 0x5B2C, 0xECD2, 0x5B2D, 0xECCE, 0x5B2E, 0xECD6, 0x5B2F, 0xECD5, 0x5B30, 0xC0A6, 0x5B32, 0xECD0, - 0x5B34, 0xBEC6, 0x5B38, 0xC254, 0x5B3C, 0xEFC1, 0x5B3D, 0xF1FA, 0x5B3E, 0xF1FB, 0x5B3F, 0xF1FC, 0x5B40, 0xC45C, 0x5B43, 0xC45D, - 0x5B45, 0xF443, 0x5B47, 0xF5C8, 0x5B48, 0xF5C7, 0x5B4B, 0xF6DB, 0x5B4C, 0xF6DC, 0x5B4D, 0xF7D5, 0x5B4E, 0xF8A7, 0x5B50, 0xA46C, - 0x5B51, 0xA46D, 0x5B53, 0xA46E, 0x5B54, 0xA4D5, 0x5B55, 0xA5A5, 0x5B56, 0xC9D3, 0x5B57, 0xA672, 0x5B58, 0xA673, 0x5B5A, 0xA7B7, - 0x5B5B, 0xA7B8, 0x5B5C, 0xA7B6, 0x5B5D, 0xA7B5, 0x5B5F, 0xA973, 0x5B62, 0xCC55, 0x5B63, 0xA975, 0x5B64, 0xA974, 0x5B65, 0xCC56, - 0x5B69, 0xABC4, 0x5B6B, 0xAE5D, 0x5B6C, 0xD165, 0x5B6E, 0xD4F0, 0x5B70, 0xB145, 0x5B71, 0xB447, 0x5B72, 0xD4EF, 0x5B73, 0xB446, - 0x5B75, 0xB9E5, 0x5B77, 0xE17D, 0x5B78, 0xBEC7, 0x5B7A, 0xC0A9, 0x5B7B, 0xECD7, 0x5B7D, 0xC45E, 0x5B7F, 0xC570, 0x5B81, 0xC972, - 0x5B83, 0xA5A6, 0x5B84, 0xC973, 0x5B85, 0xA676, 0x5B87, 0xA674, 0x5B88, 0xA675, 0x5B89, 0xA677, 0x5B8B, 0xA7BA, 0x5B8C, 0xA7B9, - 0x5B8E, 0xCABC, 0x5B8F, 0xA7BB, 0x5B92, 0xCABD, 0x5B93, 0xCC57, 0x5B95, 0xCC58, 0x5B97, 0xA976, 0x5B98, 0xA978, 0x5B99, 0xA97A, - 0x5B9A, 0xA977, 0x5B9B, 0xA97B, 0x5B9C, 0xA979, 0x5BA2, 0xABC8, 0x5BA3, 0xABC5, 0x5BA4, 0xABC7, 0x5BA5, 0xABC9, 0x5BA6, 0xABC6, - 0x5BA7, 0xD166, 0x5BA8, 0xCE77, 0x5BAC, 0xD168, 0x5BAD, 0xD167, 0x5BAE, 0xAE63, 0x5BB0, 0xAE5F, 0x5BB3, 0xAE60, 0x5BB4, 0xAE62, - 0x5BB5, 0xAE64, 0x5BB6, 0xAE61, 0x5BB8, 0xAE66, 0x5BB9, 0xAE65, 0x5BBF, 0xB14A, 0x5BC0, 0xD4F2, 0x5BC1, 0xD4F1, 0x5BC2, 0xB149, - 0x5BC4, 0xB148, 0x5BC5, 0xB147, 0x5BC6, 0xB14B, 0x5BC7, 0xB146, 0x5BCA, 0xD8D5, 0x5BCB, 0xD8D2, 0x5BCC, 0xB449, 0x5BCD, 0xD8D1, - 0x5BCE, 0xD8D6, 0x5BD0, 0xB44B, 0x5BD1, 0xD8D4, 0x5BD2, 0xB448, 0x5BD3, 0xB44A, 0x5BD4, 0xD8D3, 0x5BD6, 0xDD48, 0x5BD8, 0xDD49, - 0x5BD9, 0xDD4A, 0x5BDE, 0xB9E6, 0x5BDF, 0xB9EE, 0x5BE0, 0xE17E, 0x5BE1, 0xB9E8, 0x5BE2, 0xB9EC, 0x5BE3, 0xE1A1, 0x5BE4, 0xB9ED, - 0x5BE5, 0xB9E9, 0x5BE6, 0xB9EA, 0x5BE7, 0xB9E7, 0x5BE8, 0xB9EB, 0x5BE9, 0xBC66, 0x5BEA, 0xD8D0, 0x5BEB, 0xBC67, 0x5BEC, 0xBC65, - 0x5BEE, 0xBC64, 0x5BEF, 0xE95D, 0x5BF0, 0xBEC8, 0x5BF1, 0xECD8, 0x5BF2, 0xECD9, 0x5BF5, 0xC364, 0x5BF6, 0xC45F, 0x5BF8, 0xA46F, - 0x5BFA, 0xA678, 0x5C01, 0xABCA, 0x5C03, 0xD169, 0x5C04, 0xAE67, 0x5C07, 0xB14E, 0x5C08, 0xB14D, 0x5C09, 0xB14C, 0x5C0A, 0xB44C, - 0x5C0B, 0xB44D, 0x5C0C, 0xD8D7, 0x5C0D, 0xB9EF, 0x5C0E, 0xBEC9, 0x5C0F, 0xA470, 0x5C10, 0xC95C, 0x5C11, 0xA4D6, 0x5C12, 0xC974, - 0x5C15, 0xC9D4, 0x5C16, 0xA679, 0x5C1A, 0xA97C, 0x5C1F, 0xDD4B, 0x5C22, 0xA471, 0x5C24, 0xA4D7, 0x5C25, 0xC9D5, 0x5C28, 0xCABE, - 0x5C2A, 0xCABF, 0x5C2C, 0xA7BC, 0x5C30, 0xD8D8, 0x5C31, 0xB44E, 0x5C33, 0xDD4C, 0x5C37, 0xC0AA, 0x5C38, 0xA472, 0x5C39, 0xA4A8, - 0x5C3A, 0xA4D8, 0x5C3B, 0xC975, 0x5C3C, 0xA5A7, 0x5C3E, 0xA7C0, 0x5C3F, 0xA7BF, 0x5C40, 0xA7BD, 0x5C41, 0xA7BE, 0x5C44, 0xCC59, - 0x5C45, 0xA97E, 0x5C46, 0xA9A1, 0x5C47, 0xCC5A, 0x5C48, 0xA97D, 0x5C4B, 0xABCE, 0x5C4C, 0xCE78, 0x5C4D, 0xABCD, 0x5C4E, 0xABCB, - 0x5C4F, 0xABCC, 0x5C50, 0xAE6A, 0x5C51, 0xAE68, 0x5C54, 0xD16B, 0x5C55, 0xAE69, 0x5C56, 0xD16A, 0x5C58, 0xAE5E, 0x5C59, 0xD4F3, - 0x5C5C, 0xB150, 0x5C5D, 0xB151, 0x5C60, 0xB14F, 0x5C62, 0xB9F0, 0x5C63, 0xE1A2, 0x5C64, 0xBC68, 0x5C65, 0xBC69, 0x5C67, 0xE561, - 0x5C68, 0xC0AB, 0x5C69, 0xEFC2, 0x5C6A, 0xEFC3, 0x5C6C, 0xC4DD, 0x5C6D, 0xF8A8, 0x5C6E, 0xC94B, 0x5C6F, 0xA4D9, 0x5C71, 0xA473, - 0x5C73, 0xC977, 0x5C74, 0xC976, 0x5C79, 0xA67A, 0x5C7A, 0xC9D7, 0x5C7B, 0xC9D8, 0x5C7C, 0xC9D6, 0x5C7E, 0xC9D9, 0x5C86, 0xCAC7, - 0x5C88, 0xCAC2, 0x5C89, 0xCAC4, 0x5C8A, 0xCAC6, 0x5C8B, 0xCAC3, 0x5C8C, 0xA7C4, 0x5C8D, 0xCAC0, 0x5C8F, 0xCAC1, 0x5C90, 0xA7C1, - 0x5C91, 0xA7C2, 0x5C92, 0xCAC5, 0x5C93, 0xCAC8, 0x5C94, 0xA7C3, 0x5C95, 0xCAC9, 0x5C9D, 0xCC68, 0x5C9F, 0xCC62, 0x5CA0, 0xCC5D, - 0x5CA1, 0xA9A3, 0x5CA2, 0xCC65, 0x5CA3, 0xCC63, 0x5CA4, 0xCC5C, 0x5CA5, 0xCC69, 0x5CA6, 0xCC6C, 0x5CA7, 0xCC67, 0x5CA8, 0xCC60, - 0x5CA9, 0xA9A5, 0x5CAA, 0xCC66, 0x5CAB, 0xA9A6, 0x5CAC, 0xCC61, 0x5CAD, 0xCC64, 0x5CAE, 0xCC5B, 0x5CAF, 0xCC5F, 0x5CB0, 0xCC6B, - 0x5CB1, 0xA9A7, 0x5CB3, 0xA9A8, 0x5CB5, 0xCC5E, 0x5CB6, 0xCC6A, 0x5CB7, 0xA9A2, 0x5CB8, 0xA9A4, 0x5CC6, 0xCEAB, 0x5CC7, 0xCEA4, - 0x5CC8, 0xCEAA, 0x5CC9, 0xCEA3, 0x5CCA, 0xCEA5, 0x5CCB, 0xCE7D, 0x5CCC, 0xCE7B, 0x5CCE, 0xCEAC, 0x5CCF, 0xCEA9, 0x5CD0, 0xCE79, - 0x5CD2, 0xABD0, 0x5CD3, 0xCEA7, 0x5CD4, 0xCEA8, 0x5CD6, 0xCEA6, 0x5CD7, 0xCE7C, 0x5CD8, 0xCE7A, 0x5CD9, 0xABCF, 0x5CDA, 0xCEA2, - 0x5CDB, 0xCE7E, 0x5CDE, 0xCEA1, 0x5CDF, 0xCEAD, 0x5CE8, 0xAE6F, 0x5CEA, 0xAE6E, 0x5CEC, 0xD16C, 0x5CED, 0xAE6B, 0x5CEE, 0xD16E, - 0x5CF0, 0xAE70, 0x5CF1, 0xD16F, 0x5CF4, 0xAE73, 0x5CF6, 0xAE71, 0x5CF7, 0xD170, 0x5CF8, 0xCEAE, 0x5CF9, 0xD172, 0x5CFB, 0xAE6D, - 0x5CFD, 0xAE6C, 0x5CFF, 0xD16D, 0x5D00, 0xD171, 0x5D01, 0xAE72, 0x5D06, 0xB153, 0x5D07, 0xB152, 0x5D0B, 0xD4F5, 0x5D0C, 0xD4F9, - 0x5D0D, 0xD4FB, 0x5D0E, 0xB154, 0x5D0F, 0xD4FE, 0x5D11, 0xB158, 0x5D12, 0xD541, 0x5D14, 0xB15A, 0x5D16, 0xB156, 0x5D17, 0xB15E, - 0x5D19, 0xB15B, 0x5D1A, 0xD4F7, 0x5D1B, 0xB155, 0x5D1D, 0xD4F6, 0x5D1E, 0xD4F4, 0x5D1F, 0xD543, 0x5D20, 0xD4F8, 0x5D22, 0xB157, - 0x5D23, 0xD542, 0x5D24, 0xB15C, 0x5D25, 0xD4FD, 0x5D26, 0xD4FC, 0x5D27, 0xB15D, 0x5D28, 0xD4FA, 0x5D29, 0xB159, 0x5D2E, 0xD544, - 0x5D30, 0xD540, 0x5D31, 0xD8E7, 0x5D32, 0xD8EE, 0x5D33, 0xD8E3, 0x5D34, 0xB451, 0x5D35, 0xD8DF, 0x5D36, 0xD8EF, 0x5D37, 0xD8D9, - 0x5D38, 0xD8EC, 0x5D39, 0xD8EA, 0x5D3A, 0xD8E4, 0x5D3C, 0xD8ED, 0x5D3D, 0xD8E6, 0x5D3F, 0xD8DE, 0x5D40, 0xD8F0, 0x5D41, 0xD8DC, - 0x5D42, 0xD8E9, 0x5D43, 0xD8DA, 0x5D45, 0xD8F1, 0x5D47, 0xB452, 0x5D49, 0xD8EB, 0x5D4A, 0xDD4F, 0x5D4B, 0xD8DD, 0x5D4C, 0xB44F, - 0x5D4E, 0xD8E1, 0x5D50, 0xB450, 0x5D51, 0xD8E0, 0x5D52, 0xD8E5, 0x5D55, 0xD8E2, 0x5D59, 0xD8E8, 0x5D5E, 0xDD53, 0x5D62, 0xDD56, - 0x5D63, 0xDD4E, 0x5D65, 0xDD50, 0x5D67, 0xDD55, 0x5D68, 0xDD54, 0x5D69, 0xB743, 0x5D6B, 0xD8DB, 0x5D6C, 0xDD52, 0x5D6F, 0xB744, - 0x5D71, 0xDD4D, 0x5D72, 0xDD51, 0x5D77, 0xE1A9, 0x5D79, 0xE1B0, 0x5D7A, 0xE1A7, 0x5D7C, 0xE1AE, 0x5D7D, 0xE1A5, 0x5D7E, 0xE1AD, - 0x5D7F, 0xE1B1, 0x5D80, 0xE1A4, 0x5D81, 0xE1A8, 0x5D82, 0xE1A3, 0x5D84, 0xB9F1, 0x5D86, 0xE1A6, 0x5D87, 0xB9F2, 0x5D88, 0xE1AC, - 0x5D89, 0xE1AB, 0x5D8A, 0xE1AA, 0x5D8D, 0xE1AF, 0x5D92, 0xE565, 0x5D93, 0xE567, 0x5D94, 0xBC6B, 0x5D95, 0xE568, 0x5D97, 0xE563, - 0x5D99, 0xE562, 0x5D9A, 0xE56C, 0x5D9C, 0xE56A, 0x5D9D, 0xBC6A, 0x5D9E, 0xE56D, 0x5D9F, 0xE564, 0x5DA0, 0xE569, 0x5DA1, 0xE56B, - 0x5DA2, 0xE566, 0x5DA7, 0xE961, 0x5DA8, 0xE966, 0x5DA9, 0xE960, 0x5DAA, 0xE965, 0x5DAC, 0xE95E, 0x5DAD, 0xE968, 0x5DAE, 0xE964, - 0x5DAF, 0xE969, 0x5DB0, 0xE963, 0x5DB1, 0xE95F, 0x5DB2, 0xE967, 0x5DB4, 0xE96A, 0x5DB5, 0xE962, 0x5DB7, 0xECDA, 0x5DB8, 0xC0AF, - 0x5DBA, 0xC0AD, 0x5DBC, 0xC0AC, 0x5DBD, 0xC0AE, 0x5DC0, 0xEFC4, 0x5DC2, 0xF172, 0x5DC3, 0xF1FD, 0x5DC6, 0xF444, 0x5DC7, 0xF445, - 0x5DC9, 0xC460, 0x5DCB, 0xF5C9, 0x5DCD, 0xC4DE, 0x5DCF, 0xF5CA, 0x5DD1, 0xF6DE, 0x5DD2, 0xC572, 0x5DD4, 0xC571, 0x5DD5, 0xF6DD, - 0x5DD6, 0xC5C9, 0x5DD8, 0xF7D6, 0x5DDD, 0xA474, 0x5DDE, 0xA67B, 0x5DDF, 0xC9DA, 0x5DE0, 0xCACA, 0x5DE1, 0xA8B5, 0x5DE2, 0xB15F, - 0x5DE5, 0xA475, 0x5DE6, 0xA5AA, 0x5DE7, 0xA5A9, 0x5DE8, 0xA5A8, 0x5DEB, 0xA7C5, 0x5DEE, 0xAE74, 0x5DF0, 0xDD57, 0x5DF1, 0xA476, - 0x5DF2, 0xA477, 0x5DF3, 0xA478, 0x5DF4, 0xA4DA, 0x5DF7, 0xABD1, 0x5DF9, 0xCEAF, 0x5DFD, 0xB453, 0x5DFE, 0xA479, 0x5DFF, 0xC95D, - 0x5E02, 0xA5AB, 0x5E03, 0xA5AC, 0x5E04, 0xC978, 0x5E06, 0xA67C, 0x5E0A, 0xCACB, 0x5E0C, 0xA7C6, 0x5E0E, 0xCACC, 0x5E11, 0xA9AE, - 0x5E14, 0xCC6E, 0x5E15, 0xA9AC, 0x5E16, 0xA9AB, 0x5E17, 0xCC6D, 0x5E18, 0xA9A9, 0x5E19, 0xCC6F, 0x5E1A, 0xA9AA, 0x5E1B, 0xA9AD, - 0x5E1D, 0xABD2, 0x5E1F, 0xABD4, 0x5E20, 0xCEB3, 0x5E21, 0xCEB0, 0x5E22, 0xCEB1, 0x5E23, 0xCEB2, 0x5E24, 0xCEB4, 0x5E25, 0xABD3, - 0x5E28, 0xD174, 0x5E29, 0xD173, 0x5E2B, 0xAE76, 0x5E2D, 0xAE75, 0x5E33, 0xB162, 0x5E34, 0xD546, 0x5E36, 0xB161, 0x5E37, 0xB163, - 0x5E38, 0xB160, 0x5E3D, 0xB455, 0x5E3E, 0xD545, 0x5E40, 0xB456, 0x5E41, 0xD8F3, 0x5E43, 0xB457, 0x5E44, 0xD8F2, 0x5E45, 0xB454, - 0x5E4A, 0xDD5A, 0x5E4B, 0xDD5C, 0x5E4C, 0xB745, 0x5E4D, 0xDD5B, 0x5E4E, 0xDD59, 0x5E4F, 0xDD58, 0x5E53, 0xE1B4, 0x5E54, 0xB9F7, - 0x5E55, 0xB9F5, 0x5E57, 0xB9F6, 0x5E58, 0xE1B2, 0x5E59, 0xE1B3, 0x5E5B, 0xB9F3, 0x5E5C, 0xE571, 0x5E5D, 0xE56F, 0x5E5F, 0xBC6D, - 0x5E60, 0xE570, 0x5E61, 0xBC6E, 0x5E62, 0xBC6C, 0x5E63, 0xB9F4, 0x5E66, 0xE96D, 0x5E67, 0xE96B, 0x5E68, 0xE96C, 0x5E69, 0xE56E, - 0x5E6A, 0xECDC, 0x5E6B, 0xC0B0, 0x5E6C, 0xECDB, 0x5E6D, 0xEFC5, 0x5E6E, 0xEFC6, 0x5E6F, 0xE96E, 0x5E70, 0xF1FE, 0x5E72, 0xA47A, - 0x5E73, 0xA5AD, 0x5E74, 0xA67E, 0x5E75, 0xC9DB, 0x5E76, 0xA67D, 0x5E78, 0xA9AF, 0x5E79, 0xB746, 0x5E7B, 0xA4DB, 0x5E7C, 0xA5AE, - 0x5E7D, 0xABD5, 0x5E7E, 0xB458, 0x5E80, 0xC979, 0x5E82, 0xC97A, 0x5E84, 0xC9DC, 0x5E87, 0xA7C8, 0x5E88, 0xCAD0, 0x5E89, 0xCACE, - 0x5E8A, 0xA7C9, 0x5E8B, 0xCACD, 0x5E8C, 0xCACF, 0x5E8D, 0xCAD1, 0x5E8F, 0xA7C7, 0x5E95, 0xA9B3, 0x5E96, 0xA9B4, 0x5E97, 0xA9B1, - 0x5E9A, 0xA9B0, 0x5E9B, 0xCEB8, 0x5E9C, 0xA9B2, 0x5EA0, 0xABD6, 0x5EA2, 0xCEB7, 0x5EA3, 0xCEB9, 0x5EA4, 0xCEB6, 0x5EA5, 0xCEBA, - 0x5EA6, 0xABD7, 0x5EA7, 0xAE79, 0x5EA8, 0xD175, 0x5EAA, 0xD177, 0x5EAB, 0xAE77, 0x5EAC, 0xD178, 0x5EAD, 0xAE78, 0x5EAE, 0xD176, - 0x5EB0, 0xCEB5, 0x5EB1, 0xD547, 0x5EB2, 0xD54A, 0x5EB3, 0xD54B, 0x5EB4, 0xD548, 0x5EB5, 0xB167, 0x5EB6, 0xB166, 0x5EB7, 0xB164, - 0x5EB8, 0xB165, 0x5EB9, 0xD549, 0x5EBE, 0xB168, 0x5EC1, 0xB45A, 0x5EC2, 0xB45B, 0x5EC4, 0xB45C, 0x5EC5, 0xDD5D, 0x5EC6, 0xDD5F, - 0x5EC7, 0xDD61, 0x5EC8, 0xB748, 0x5EC9, 0xB747, 0x5ECA, 0xB459, 0x5ECB, 0xDD60, 0x5ECC, 0xDD5E, 0x5ECE, 0xE1B8, 0x5ED1, 0xE1B6, - 0x5ED2, 0xE1BC, 0x5ED3, 0xB9F8, 0x5ED4, 0xE1BD, 0x5ED5, 0xE1BA, 0x5ED6, 0xB9F9, 0x5ED7, 0xE1B7, 0x5ED8, 0xE1B5, 0x5ED9, 0xE1BB, - 0x5EDA, 0xBC70, 0x5EDB, 0xE573, 0x5EDC, 0xE1B9, 0x5EDD, 0xBC72, 0x5EDE, 0xE574, 0x5EDF, 0xBC71, 0x5EE0, 0xBC74, 0x5EE1, 0xE575, - 0x5EE2, 0xBC6F, 0x5EE3, 0xBC73, 0x5EE5, 0xE973, 0x5EE6, 0xE971, 0x5EE7, 0xE970, 0x5EE8, 0xE972, 0x5EE9, 0xE96F, 0x5EEC, 0xC366, - 0x5EEE, 0xF446, 0x5EEF, 0xF447, 0x5EF1, 0xF5CB, 0x5EF2, 0xF6DF, 0x5EF3, 0xC655, 0x5EF6, 0xA9B5, 0x5EF7, 0xA7CA, 0x5EFA, 0xABD8, - 0x5EFE, 0xA47B, 0x5EFF, 0xA4DC, 0x5F01, 0xA5AF, 0x5F02, 0xC9DD, 0x5F04, 0xA7CB, 0x5F05, 0xCAD2, 0x5F07, 0xCEBB, 0x5F08, 0xABD9, - 0x5F0A, 0xB9FA, 0x5F0B, 0xA47C, 0x5F0F, 0xA6A1, 0x5F12, 0xB749, 0x5F13, 0xA47D, 0x5F14, 0xA4DD, 0x5F15, 0xA4DE, 0x5F17, 0xA5B1, - 0x5F18, 0xA5B0, 0x5F1A, 0xC9DE, 0x5F1B, 0xA6A2, 0x5F1D, 0xCAD3, 0x5F1F, 0xA7CC, 0x5F22, 0xCC71, 0x5F23, 0xCC72, 0x5F24, 0xCC73, - 0x5F26, 0xA9B6, 0x5F27, 0xA9B7, 0x5F28, 0xCC70, 0x5F29, 0xA9B8, 0x5F2D, 0xABDA, 0x5F2E, 0xCEBC, 0x5F30, 0xD17A, 0x5F31, 0xAE7A, - 0x5F33, 0xD179, 0x5F35, 0xB169, 0x5F36, 0xD54C, 0x5F37, 0xB16A, 0x5F38, 0xD54D, 0x5F3C, 0xB45D, 0x5F40, 0xDD62, 0x5F43, 0xE1BF, - 0x5F44, 0xE1BE, 0x5F46, 0xB9FB, 0x5F48, 0xBC75, 0x5F49, 0xE576, 0x5F4A, 0xBECA, 0x5F4B, 0xE974, 0x5F4C, 0xC0B1, 0x5F4E, 0xC573, - 0x5F4F, 0xF7D8, 0x5F54, 0xCC74, 0x5F56, 0xCEBD, 0x5F57, 0xB16B, 0x5F58, 0xD8F4, 0x5F59, 0xB74A, 0x5F5D, 0xC255, 0x5F62, 0xA7CE, - 0x5F64, 0xA7CD, 0x5F65, 0xABDB, 0x5F67, 0xD17B, 0x5F69, 0xB16D, 0x5F6A, 0xB343, 0x5F6B, 0xB16E, 0x5F6C, 0xB16C, 0x5F6D, 0xB45E, - 0x5F6F, 0xE1C0, 0x5F70, 0xB9FC, 0x5F71, 0xBC76, 0x5F73, 0xC94C, 0x5F74, 0xC9DF, 0x5F76, 0xCAD5, 0x5F77, 0xA7CF, 0x5F78, 0xCAD4, - 0x5F79, 0xA7D0, 0x5F7C, 0xA9BC, 0x5F7D, 0xCC77, 0x5F7E, 0xCC76, 0x5F7F, 0xA9BB, 0x5F80, 0xA9B9, 0x5F81, 0xA9BA, 0x5F82, 0xCC75, - 0x5F85, 0xABDD, 0x5F86, 0xCEBE, 0x5F87, 0xABE0, 0x5F88, 0xABDC, 0x5F89, 0xABE2, 0x5F8A, 0xABDE, 0x5F8B, 0xABDF, 0x5F8C, 0xABE1, - 0x5F90, 0xAE7D, 0x5F91, 0xAE7C, 0x5F92, 0xAE7B, 0x5F96, 0xD54F, 0x5F97, 0xB16F, 0x5F98, 0xB172, 0x5F99, 0xB170, 0x5F9B, 0xD54E, - 0x5F9C, 0xB175, 0x5F9E, 0xB171, 0x5F9F, 0xD550, 0x5FA0, 0xB174, 0x5FA1, 0xB173, 0x5FA5, 0xD8F6, 0x5FA6, 0xD8F5, 0x5FA8, 0xB461, - 0x5FA9, 0xB45F, 0x5FAA, 0xB460, 0x5FAB, 0xD8F7, 0x5FAC, 0xB74B, 0x5FAD, 0xDD64, 0x5FAE, 0xB74C, 0x5FAF, 0xDD63, 0x5FB2, 0xE577, - 0x5FB5, 0xBC78, 0x5FB6, 0xE1C1, 0x5FB7, 0xBC77, 0x5FB9, 0xB9FD, 0x5FBB, 0xECDE, 0x5FBC, 0xE975, 0x5FBD, 0xC0B2, 0x5FBE, 0xECDD, - 0x5FBF, 0xF240, 0x5FC0, 0xF448, 0x5FC1, 0xF449, 0x5FC3, 0xA4DF, 0x5FC5, 0xA5B2, 0x5FC9, 0xC97B, 0x5FCC, 0xA7D2, 0x5FCD, 0xA7D4, - 0x5FCF, 0xC9E2, 0x5FD0, 0xCAD8, 0x5FD1, 0xCAD7, 0x5FD2, 0xCAD6, 0x5FD4, 0xC9E1, 0x5FD5, 0xC9E0, 0x5FD6, 0xA6A4, 0x5FD7, 0xA7D3, - 0x5FD8, 0xA7D1, 0x5FD9, 0xA6A3, 0x5FDD, 0xA9BD, 0x5FDE, 0xCC78, 0x5FE0, 0xA9BE, 0x5FE1, 0xCADD, 0x5FE3, 0xCADF, 0x5FE4, 0xCADE, - 0x5FE5, 0xCC79, 0x5FE8, 0xCADA, 0x5FEA, 0xA7D8, 0x5FEB, 0xA7D6, 0x5FED, 0xCAD9, 0x5FEE, 0xCADB, 0x5FEF, 0xCAE1, 0x5FF1, 0xA7D5, - 0x5FF3, 0xCADC, 0x5FF4, 0xCAE5, 0x5FF5, 0xA9C0, 0x5FF7, 0xCAE2, 0x5FF8, 0xA7D7, 0x5FFA, 0xCAE0, 0x5FFB, 0xCAE3, 0x5FFD, 0xA9BF, - 0x5FFF, 0xA9C1, 0x6000, 0xCAE4, 0x6009, 0xCCAF, 0x600A, 0xCCA2, 0x600B, 0xCC7E, 0x600C, 0xCCAE, 0x600D, 0xCCA9, 0x600E, 0xABE7, - 0x600F, 0xA9C2, 0x6010, 0xCCAA, 0x6011, 0xCCAD, 0x6012, 0xABE3, 0x6013, 0xCCAC, 0x6014, 0xA9C3, 0x6015, 0xA9C8, 0x6016, 0xA9C6, - 0x6017, 0xCCA3, 0x6019, 0xCC7C, 0x601A, 0xCCA5, 0x601B, 0xA9CD, 0x601C, 0xCCB0, 0x601D, 0xABE4, 0x601E, 0xCCA6, 0x6020, 0xABE5, - 0x6021, 0xA9C9, 0x6022, 0xCCA8, 0x6024, 0xCECD, 0x6025, 0xABE6, 0x6026, 0xCC7B, 0x6027, 0xA9CA, 0x6028, 0xABE8, 0x6029, 0xA9CB, - 0x602A, 0xA9C7, 0x602B, 0xA9CC, 0x602C, 0xCCA7, 0x602D, 0xCC7A, 0x602E, 0xCCAB, 0x602F, 0xA9C4, 0x6032, 0xCC7D, 0x6033, 0xCCA4, - 0x6034, 0xCCA1, 0x6035, 0xA9C5, 0x6037, 0xCEBF, 0x6039, 0xCEC0, 0x6040, 0xCECA, 0x6041, 0xD1A1, 0x6042, 0xCECB, 0x6043, 0xABEE, - 0x6044, 0xCECE, 0x6045, 0xCEC4, 0x6046, 0xABED, 0x6047, 0xCEC6, 0x6049, 0xCEC7, 0x604C, 0xCEC9, 0x604D, 0xABE9, 0x6050, 0xAEA3, - 0x6052, 0xF9DA, 0x6053, 0xCEC5, 0x6054, 0xCEC1, 0x6055, 0xAEA4, 0x6058, 0xCECF, 0x6059, 0xAE7E, 0x605A, 0xD17D, 0x605B, 0xCEC8, - 0x605D, 0xD17C, 0x605E, 0xCEC3, 0x605F, 0xCECC, 0x6062, 0xABEC, 0x6063, 0xAEA1, 0x6064, 0xABF2, 0x6065, 0xAEA2, 0x6066, 0xCED0, - 0x6067, 0xD17E, 0x6068, 0xABEB, 0x6069, 0xAEA6, 0x606A, 0xABF1, 0x606B, 0xABF0, 0x606C, 0xABEF, 0x606D, 0xAEA5, 0x606E, 0xCED1, - 0x606F, 0xAEA7, 0x6070, 0xABEA, 0x6072, 0xCEC2, 0x607F, 0xB176, 0x6080, 0xD1A4, 0x6081, 0xD1A6, 0x6083, 0xD1A8, 0x6084, 0xAEA8, - 0x6085, 0xAEAE, 0x6086, 0xD553, 0x6087, 0xD1AC, 0x6088, 0xD1A3, 0x6089, 0xB178, 0x608A, 0xD551, 0x608C, 0xAEAD, 0x608D, 0xAEAB, - 0x608E, 0xD1AE, 0x6090, 0xD552, 0x6092, 0xD1A5, 0x6094, 0xAEAC, 0x6095, 0xD1A9, 0x6096, 0xAEAF, 0x6097, 0xD1AB, 0x609A, 0xAEAA, - 0x609B, 0xD1AA, 0x609C, 0xD1AD, 0x609D, 0xD1A7, 0x609F, 0xAEA9, 0x60A0, 0xB179, 0x60A2, 0xD1A2, 0x60A3, 0xB177, 0x60A8, 0xB17A, - 0x60B0, 0xD555, 0x60B1, 0xD55E, 0x60B2, 0xB464, 0x60B4, 0xB17C, 0x60B5, 0xB1A3, 0x60B6, 0xB465, 0x60B7, 0xD560, 0x60B8, 0xB1AA, - 0x60B9, 0xD8F9, 0x60BA, 0xD556, 0x60BB, 0xB1A2, 0x60BC, 0xB1A5, 0x60BD, 0xB17E, 0x60BE, 0xD554, 0x60BF, 0xD562, 0x60C0, 0xD565, - 0x60C1, 0xD949, 0x60C3, 0xD563, 0x60C4, 0xD8FD, 0x60C5, 0xB1A1, 0x60C6, 0xB1A8, 0x60C7, 0xB1AC, 0x60C8, 0xD55D, 0x60C9, 0xD8F8, - 0x60CA, 0xD561, 0x60CB, 0xB17B, 0x60CC, 0xD8FA, 0x60CD, 0xD564, 0x60CE, 0xD8FC, 0x60CF, 0xD559, 0x60D1, 0xB462, 0x60D3, 0xD557, - 0x60D4, 0xD558, 0x60D5, 0xB1A7, 0x60D8, 0xB1A6, 0x60D9, 0xD55B, 0x60DA, 0xB1AB, 0x60DB, 0xD55F, 0x60DC, 0xB1A4, 0x60DD, 0xD55C, - 0x60DF, 0xB1A9, 0x60E0, 0xB466, 0x60E1, 0xB463, 0x60E2, 0xD8FB, 0x60E4, 0xD55A, 0x60E6, 0xB17D, 0x60F0, 0xB46B, 0x60F1, 0xB46F, - 0x60F2, 0xD940, 0x60F3, 0xB751, 0x60F4, 0xB46D, 0x60F5, 0xD944, 0x60F6, 0xB471, 0x60F7, 0xDD65, 0x60F8, 0xD946, 0x60F9, 0xB753, - 0x60FA, 0xB469, 0x60FB, 0xB46C, 0x60FC, 0xD947, 0x60FE, 0xD948, 0x60FF, 0xD94E, 0x6100, 0xB473, 0x6101, 0xB754, 0x6103, 0xD94A, - 0x6104, 0xD94F, 0x6105, 0xD943, 0x6106, 0xB75E, 0x6108, 0xB755, 0x6109, 0xB472, 0x610A, 0xD941, 0x610B, 0xD950, 0x610D, 0xB75D, - 0x610E, 0xB470, 0x610F, 0xB74E, 0x6110, 0xD94D, 0x6112, 0xB474, 0x6113, 0xD945, 0x6114, 0xD8FE, 0x6115, 0xB46A, 0x6116, 0xD942, - 0x6118, 0xD94B, 0x611A, 0xB74D, 0x611B, 0xB752, 0x611C, 0xB467, 0x611D, 0xD94C, 0x611F, 0xB750, 0x6123, 0xB468, 0x6127, 0xB75C, - 0x6128, 0xE1C3, 0x6129, 0xDD70, 0x612B, 0xDD68, 0x612C, 0xE1C2, 0x612E, 0xDD6C, 0x612F, 0xDD6E, 0x6132, 0xDD6B, 0x6134, 0xB75B, - 0x6136, 0xDD6A, 0x6137, 0xB75F, 0x613B, 0xE1D2, 0x613E, 0xB75A, 0x613F, 0xBA40, 0x6140, 0xDD71, 0x6141, 0xE1C4, 0x6144, 0xB758, - 0x6145, 0xDD69, 0x6146, 0xDD6D, 0x6147, 0xB9FE, 0x6148, 0xB74F, 0x6149, 0xDD66, 0x614A, 0xDD67, 0x614B, 0xBA41, 0x614C, 0xB757, - 0x614D, 0xB759, 0x614E, 0xB756, 0x614F, 0xDD6F, 0x6152, 0xE1C8, 0x6153, 0xE1C9, 0x6154, 0xE1CE, 0x6155, 0xBC7D, 0x6156, 0xE1D5, - 0x6158, 0xBA47, 0x615A, 0xBA46, 0x615B, 0xE1D0, 0x615D, 0xBC7C, 0x615E, 0xE1C5, 0x615F, 0xBA45, 0x6161, 0xE1D4, 0x6162, 0xBA43, - 0x6163, 0xBA44, 0x6165, 0xE1D1, 0x6166, 0xE5AA, 0x6167, 0xBC7A, 0x6168, 0xB46E, 0x616A, 0xE1D3, 0x616B, 0xBCA3, 0x616C, 0xE1CB, - 0x616E, 0xBC7B, 0x6170, 0xBCA2, 0x6171, 0xE1C6, 0x6172, 0xE1CA, 0x6173, 0xE1C7, 0x6174, 0xE1CD, 0x6175, 0xBA48, 0x6176, 0xBC79, - 0x6177, 0xBA42, 0x6179, 0xE57A, 0x617A, 0xE1CF, 0x617C, 0xBCA1, 0x617E, 0xBCA4, 0x6180, 0xE1CC, 0x6182, 0xBC7E, 0x6183, 0xE579, - 0x6189, 0xE57E, 0x618A, 0xBECE, 0x618B, 0xE578, 0x618C, 0xE9A3, 0x618D, 0xE5A9, 0x618E, 0xBCA8, 0x6190, 0xBCA6, 0x6191, 0xBECC, - 0x6192, 0xE5A6, 0x6193, 0xE5A2, 0x6194, 0xBCAC, 0x6196, 0xE978, 0x619A, 0xBCAA, 0x619B, 0xE5A1, 0x619D, 0xE976, 0x619F, 0xE5A5, - 0x61A1, 0xE5A8, 0x61A2, 0xE57D, 0x61A4, 0xBCAB, 0x61A7, 0xBCA5, 0x61A8, 0xE977, 0x61A9, 0xBECD, 0x61AA, 0xE5A7, 0x61AB, 0xBCA7, - 0x61AC, 0xBCA9, 0x61AD, 0xE5A4, 0x61AE, 0xBCAD, 0x61AF, 0xE5A3, 0x61B0, 0xE57C, 0x61B1, 0xE57B, 0x61B2, 0xBECB, 0x61B3, 0xE5AB, - 0x61B4, 0xE97A, 0x61B5, 0xECE0, 0x61B6, 0xBED0, 0x61B8, 0xE9A2, 0x61BA, 0xE97E, 0x61BC, 0xECE1, 0x61BE, 0xBED1, 0x61BF, 0xE9A1, - 0x61C1, 0xE97C, 0x61C2, 0xC0B4, 0x61C3, 0xECDF, 0x61C5, 0xE979, 0x61C6, 0xE97B, 0x61C7, 0xC0B5, 0x61C8, 0xBED3, 0x61C9, 0xC0B3, - 0x61CA, 0xBED2, 0x61CB, 0xC0B7, 0x61CC, 0xE97D, 0x61CD, 0xBECF, 0x61D6, 0xEFCF, 0x61D8, 0xEFC7, 0x61DE, 0xECE7, 0x61DF, 0xEFC8, - 0x61E0, 0xECE3, 0x61E3, 0xC256, 0x61E4, 0xECE5, 0x61E5, 0xECE4, 0x61E6, 0xC0B6, 0x61E7, 0xECE2, 0x61E8, 0xECE6, 0x61E9, 0xEFD0, - 0x61EA, 0xEFCC, 0x61EB, 0xEFCE, 0x61ED, 0xEFC9, 0x61EE, 0xEFCA, 0x61F0, 0xEFCD, 0x61F1, 0xEFCB, 0x61F2, 0xC367, 0x61F5, 0xC36A, - 0x61F6, 0xC369, 0x61F7, 0xC368, 0x61F8, 0xC461, 0x61F9, 0xF44A, 0x61FA, 0xC462, 0x61FB, 0xF241, 0x61FC, 0xC4DF, 0x61FD, 0xF5CC, - 0x61FE, 0xC4E0, 0x61FF, 0xC574, 0x6200, 0xC5CA, 0x6201, 0xF7D9, 0x6203, 0xF7DA, 0x6204, 0xF7DB, 0x6207, 0xF9BA, 0x6208, 0xA4E0, - 0x6209, 0xC97C, 0x620A, 0xA5B3, 0x620C, 0xA6A6, 0x620D, 0xA6A7, 0x620E, 0xA6A5, 0x6210, 0xA6A8, 0x6211, 0xA7DA, 0x6212, 0xA7D9, - 0x6214, 0xCCB1, 0x6215, 0xA9CF, 0x6216, 0xA9CE, 0x6219, 0xD1AF, 0x621A, 0xB1AD, 0x621B, 0xB1AE, 0x621F, 0xB475, 0x6220, 0xDD72, - 0x6221, 0xB760, 0x6222, 0xB761, 0x6223, 0xDD74, 0x6224, 0xDD76, 0x6225, 0xDD75, 0x6227, 0xE1D7, 0x6229, 0xE1D6, 0x622A, 0xBA49, - 0x622B, 0xE1D8, 0x622D, 0xE5AC, 0x622E, 0xBCAE, 0x6230, 0xBED4, 0x6232, 0xC0B8, 0x6233, 0xC257, 0x6234, 0xC0B9, 0x6236, 0xA4E1, - 0x623A, 0xCAE6, 0x623D, 0xCCB2, 0x623E, 0xA9D1, 0x623F, 0xA9D0, 0x6240, 0xA9D2, 0x6241, 0xABF3, 0x6242, 0xCED2, 0x6243, 0xCED3, - 0x6246, 0xD1B0, 0x6247, 0xAEB0, 0x6248, 0xB1AF, 0x6249, 0xB476, 0x624A, 0xD951, 0x624B, 0xA4E2, 0x624D, 0xA47E, 0x624E, 0xA4E3, - 0x6250, 0xC97D, 0x6251, 0xA5B7, 0x6252, 0xA5B6, 0x6253, 0xA5B4, 0x6254, 0xA5B5, 0x6258, 0xA6AB, 0x6259, 0xC9E9, 0x625A, 0xC9EB, - 0x625B, 0xA6AA, 0x625C, 0xC9E3, 0x625E, 0xC9E4, 0x6260, 0xC9EA, 0x6261, 0xC9E6, 0x6262, 0xC9E8, 0x6263, 0xA6A9, 0x6264, 0xC9E5, - 0x6265, 0xC9EC, 0x6266, 0xC9E7, 0x626D, 0xA7E1, 0x626E, 0xA7EA, 0x626F, 0xA7E8, 0x6270, 0xCAF0, 0x6271, 0xCAED, 0x6272, 0xCAF5, - 0x6273, 0xA7E6, 0x6274, 0xCAF6, 0x6276, 0xA7DF, 0x6277, 0xCAF3, 0x6279, 0xA7E5, 0x627A, 0xCAEF, 0x627B, 0xCAEE, 0x627C, 0xA7E3, - 0x627D, 0xCAF4, 0x627E, 0xA7E4, 0x627F, 0xA9D3, 0x6280, 0xA7DE, 0x6281, 0xCAF1, 0x6283, 0xCAE7, 0x6284, 0xA7DB, 0x6286, 0xA7EE, - 0x6287, 0xCAEC, 0x6288, 0xCAF2, 0x6289, 0xA7E0, 0x628A, 0xA7E2, 0x628C, 0xCAE8, 0x628E, 0xCAE9, 0x628F, 0xCAEA, 0x6291, 0xA7ED, - 0x6292, 0xA7E7, 0x6293, 0xA7EC, 0x6294, 0xCAEB, 0x6295, 0xA7EB, 0x6296, 0xA7DD, 0x6297, 0xA7DC, 0x6298, 0xA7E9, 0x62A8, 0xA9E1, - 0x62A9, 0xCCBE, 0x62AA, 0xCCB7, 0x62AB, 0xA9DC, 0x62AC, 0xA9EF, 0x62AD, 0xCCB3, 0x62AE, 0xCCBA, 0x62AF, 0xCCBC, 0x62B0, 0xCCBF, - 0x62B1, 0xA9EA, 0x62B3, 0xCCBB, 0x62B4, 0xCCB4, 0x62B5, 0xA9E8, 0x62B6, 0xCCB8, 0x62B8, 0xCCC0, 0x62B9, 0xA9D9, 0x62BB, 0xCCBD, - 0x62BC, 0xA9E3, 0x62BD, 0xA9E2, 0x62BE, 0xCCB6, 0x62BF, 0xA9D7, 0x62C2, 0xA9D8, 0x62C4, 0xA9D6, 0x62C6, 0xA9EE, 0x62C7, 0xA9E6, - 0x62C8, 0xA9E0, 0x62C9, 0xA9D4, 0x62CA, 0xCCB9, 0x62CB, 0xA9DF, 0x62CC, 0xA9D5, 0x62CD, 0xA9E7, 0x62CE, 0xA9F0, 0x62CF, 0xCED4, - 0x62D0, 0xA9E4, 0x62D1, 0xCCB5, 0x62D2, 0xA9DA, 0x62D3, 0xA9DD, 0x62D4, 0xA9DE, 0x62D6, 0xA9EC, 0x62D7, 0xA9ED, 0x62D8, 0xA9EB, - 0x62D9, 0xA9E5, 0x62DA, 0xA9E9, 0x62DB, 0xA9DB, 0x62DC, 0xABF4, 0x62EB, 0xCEDA, 0x62EC, 0xAC41, 0x62ED, 0xABF8, 0x62EE, 0xABFA, - 0x62EF, 0xAC40, 0x62F0, 0xCEE6, 0x62F1, 0xABFD, 0x62F2, 0xD1B1, 0x62F3, 0xAEB1, 0x62F4, 0xAC43, 0x62F5, 0xCED7, 0x62F6, 0xCEDF, - 0x62F7, 0xABFE, 0x62F8, 0xCEDE, 0x62F9, 0xCEDB, 0x62FA, 0xCEE3, 0x62FB, 0xCEE5, 0x62FC, 0xABF7, 0x62FD, 0xABFB, 0x62FE, 0xAC42, - 0x62FF, 0xAEB3, 0x6300, 0xCEE0, 0x6301, 0xABF9, 0x6302, 0xAC45, 0x6303, 0xCED9, 0x6307, 0xABFC, 0x6308, 0xAEB2, 0x6309, 0xABF6, - 0x630B, 0xCED6, 0x630C, 0xCEDD, 0x630D, 0xCED5, 0x630E, 0xCED8, 0x630F, 0xCEDC, 0x6310, 0xD1B2, 0x6311, 0xAC44, 0x6313, 0xCEE1, - 0x6314, 0xCEE2, 0x6315, 0xCEE4, 0x6316, 0xABF5, 0x6328, 0xAEC1, 0x6329, 0xD1BE, 0x632A, 0xAEBF, 0x632B, 0xAEC0, 0x632C, 0xD1B4, - 0x632D, 0xD1C4, 0x632F, 0xAEB6, 0x6332, 0xD566, 0x6333, 0xD1C6, 0x6334, 0xD1C0, 0x6336, 0xD1B7, 0x6338, 0xD1C9, 0x6339, 0xD1BA, - 0x633A, 0xAEBC, 0x633B, 0xD57D, 0x633C, 0xD1BD, 0x633D, 0xAEBE, 0x633E, 0xAEB5, 0x6340, 0xD1CB, 0x6341, 0xD1BF, 0x6342, 0xAEB8, - 0x6343, 0xD1B8, 0x6344, 0xD1B5, 0x6345, 0xD1B6, 0x6346, 0xAEB9, 0x6347, 0xD1C5, 0x6348, 0xD1CC, 0x6349, 0xAEBB, 0x634A, 0xD1BC, - 0x634B, 0xD1BB, 0x634C, 0xAEC3, 0x634D, 0xAEC2, 0x634E, 0xAEB4, 0x634F, 0xAEBA, 0x6350, 0xAEBD, 0x6351, 0xD1C8, 0x6354, 0xD1C2, - 0x6355, 0xAEB7, 0x6356, 0xD1B3, 0x6357, 0xD1CA, 0x6358, 0xD1C1, 0x6359, 0xD1C3, 0x635A, 0xD1C7, 0x6365, 0xD567, 0x6367, 0xB1B7, - 0x6368, 0xB1CB, 0x6369, 0xB1CA, 0x636B, 0xB1BF, 0x636D, 0xD579, 0x636E, 0xD575, 0x636F, 0xD572, 0x6370, 0xD5A6, 0x6371, 0xB1BA, - 0x6372, 0xB1B2, 0x6375, 0xD577, 0x6376, 0xB4A8, 0x6377, 0xB1B6, 0x6378, 0xD5A1, 0x637A, 0xB1CC, 0x637B, 0xB1C9, 0x637C, 0xD57B, - 0x637D, 0xD56A, 0x6380, 0xB1C8, 0x6381, 0xD5A3, 0x6382, 0xD569, 0x6383, 0xB1BD, 0x6384, 0xB1C1, 0x6385, 0xD5A2, 0x6387, 0xD573, - 0x6388, 0xB1C2, 0x6389, 0xB1BC, 0x638A, 0xD568, 0x638C, 0xB478, 0x638D, 0xD5A5, 0x638E, 0xD571, 0x638F, 0xB1C7, 0x6390, 0xD574, - 0x6391, 0xD5A4, 0x6392, 0xB1C6, 0x6394, 0xD952, 0x6396, 0xB1B3, 0x6397, 0xD56F, 0x6398, 0xB1B8, 0x6399, 0xB1C3, 0x639B, 0xB1BE, - 0x639C, 0xD578, 0x639D, 0xD56E, 0x639E, 0xD56C, 0x639F, 0xD57E, 0x63A0, 0xB1B0, 0x63A1, 0xB1C4, 0x63A2, 0xB1B4, 0x63A3, 0xB477, - 0x63A4, 0xD57C, 0x63A5, 0xB1B5, 0x63A7, 0xB1B1, 0x63A8, 0xB1C0, 0x63A9, 0xB1BB, 0x63AA, 0xB1B9, 0x63AB, 0xD570, 0x63AC, 0xB1C5, - 0x63AD, 0xD56D, 0x63AE, 0xD57A, 0x63AF, 0xD576, 0x63B0, 0xD954, 0x63B1, 0xD953, 0x63BD, 0xD56B, 0x63BE, 0xD964, 0x63C0, 0xB47A, - 0x63C2, 0xD96A, 0x63C3, 0xD959, 0x63C4, 0xD967, 0x63C5, 0xDD77, 0x63C6, 0xB47D, 0x63C7, 0xD96B, 0x63C8, 0xD96E, 0x63C9, 0xB47C, - 0x63CA, 0xD95C, 0x63CB, 0xD96D, 0x63CC, 0xD96C, 0x63CD, 0xB47E, 0x63CE, 0xD955, 0x63CF, 0xB479, 0x63D0, 0xB4A3, 0x63D2, 0xB4A1, - 0x63D3, 0xD969, 0x63D5, 0xD95F, 0x63D6, 0xB4A5, 0x63D7, 0xD970, 0x63D8, 0xD968, 0x63D9, 0xD971, 0x63DA, 0xB4AD, 0x63DB, 0xB4AB, - 0x63DC, 0xD966, 0x63DD, 0xD965, 0x63DF, 0xD963, 0x63E0, 0xD95D, 0x63E1, 0xB4A4, 0x63E3, 0xB4A2, 0x63E4, 0xD1B9, 0x63E5, 0xD956, - 0x63E7, 0xDDB7, 0x63E8, 0xD957, 0x63E9, 0xB47B, 0x63EA, 0xB4AA, 0x63EB, 0xDD79, 0x63ED, 0xB4A6, 0x63EE, 0xB4A7, 0x63EF, 0xD958, - 0x63F0, 0xD96F, 0x63F1, 0xDD78, 0x63F2, 0xD960, 0x63F3, 0xD95B, 0x63F4, 0xB4A9, 0x63F5, 0xD961, 0x63F6, 0xD95E, 0x63F9, 0xB4AE, - 0x6406, 0xB770, 0x6409, 0xDD7C, 0x640A, 0xDDB1, 0x640B, 0xDDB6, 0x640C, 0xDDAA, 0x640D, 0xB76C, 0x640E, 0xDDBB, 0x640F, 0xB769, - 0x6410, 0xDD7A, 0x6412, 0xDD7B, 0x6413, 0xB762, 0x6414, 0xB76B, 0x6415, 0xDDA4, 0x6416, 0xB76E, 0x6417, 0xB76F, 0x6418, 0xDDA5, - 0x641A, 0xDDB2, 0x641B, 0xDDB8, 0x641C, 0xB76A, 0x641E, 0xB764, 0x641F, 0xDDA3, 0x6420, 0xDD7D, 0x6421, 0xDDBA, 0x6422, 0xDDA8, - 0x6423, 0xDDA9, 0x6424, 0xDD7E, 0x6425, 0xDDB4, 0x6426, 0xDDAB, 0x6427, 0xDDB5, 0x6428, 0xDDAD, 0x642A, 0xB765, 0x642B, 0xE1D9, - 0x642C, 0xB768, 0x642D, 0xB766, 0x642E, 0xDDB9, 0x642F, 0xDDB0, 0x6430, 0xDDAC, 0x6433, 0xDDA1, 0x6434, 0xBA53, 0x6435, 0xDDAF, - 0x6436, 0xB76D, 0x6437, 0xDDA7, 0x6439, 0xDDA6, 0x643D, 0xB767, 0x643E, 0xB763, 0x643F, 0xE1EE, 0x6440, 0xDDB3, 0x6441, 0xDDAE, - 0x6443, 0xDDA2, 0x644B, 0xE1E9, 0x644D, 0xE1DA, 0x644E, 0xE1E5, 0x6450, 0xE1EC, 0x6451, 0xBA51, 0x6452, 0xB4AC, 0x6453, 0xE1EA, - 0x6454, 0xBA4C, 0x6458, 0xBA4B, 0x6459, 0xE1F1, 0x645B, 0xE1DB, 0x645C, 0xE1E8, 0x645D, 0xE1DC, 0x645E, 0xE1E7, 0x645F, 0xBA4F, - 0x6460, 0xE1EB, 0x6461, 0xD962, 0x6465, 0xE1F2, 0x6466, 0xE1E3, 0x6467, 0xBA52, 0x6468, 0xE5BA, 0x6469, 0xBCAF, 0x646B, 0xE1F0, - 0x646C, 0xE1EF, 0x646D, 0xBA54, 0x646E, 0xE5AD, 0x646F, 0xBCB0, 0x6470, 0xE5AE, 0x6472, 0xE1DF, 0x6473, 0xE1E0, 0x6474, 0xE1DD, - 0x6475, 0xE1E2, 0x6476, 0xE1DE, 0x6477, 0xE1F3, 0x6478, 0xBA4E, 0x6479, 0xBCB1, 0x647A, 0xBA50, 0x647B, 0xBA55, 0x647D, 0xE1E1, - 0x647F, 0xE1ED, 0x6482, 0xE1E6, 0x6485, 0xE5B1, 0x6487, 0xBA4A, 0x6488, 0xBCB4, 0x6489, 0xE9AA, 0x648A, 0xE5B6, 0x648B, 0xE5B5, - 0x648C, 0xE5B7, 0x648F, 0xE5B4, 0x6490, 0xBCB5, 0x6492, 0xBCBB, 0x6493, 0xBCB8, 0x6495, 0xBCB9, 0x6496, 0xE5AF, 0x6497, 0xE5B2, - 0x6498, 0xE5BC, 0x6499, 0xBCC1, 0x649A, 0xBCBF, 0x649C, 0xE5B3, 0x649D, 0xD95A, 0x649E, 0xBCB2, 0x649F, 0xE5B9, 0x64A0, 0xE5B0, - 0x64A2, 0xBCC2, 0x64A3, 0xE5B8, 0x64A4, 0xBA4D, 0x64A5, 0xBCB7, 0x64A6, 0xE1E4, 0x64A9, 0xBCBA, 0x64AB, 0xBCBE, 0x64AC, 0xBCC0, - 0x64AD, 0xBCBD, 0x64AE, 0xBCBC, 0x64B0, 0xBCB6, 0x64B1, 0xE5BB, 0x64B2, 0xBCB3, 0x64B3, 0xBCC3, 0x64BB, 0xBED8, 0x64BC, 0xBED9, - 0x64BD, 0xE9A9, 0x64BE, 0xBEE2, 0x64BF, 0xBEDF, 0x64C1, 0xBED6, 0x64C2, 0xBEDD, 0x64C3, 0xE9AB, 0x64C4, 0xBEDB, 0x64C5, 0xBED5, - 0x64C7, 0xBEDC, 0x64C9, 0xE9A8, 0x64CA, 0xC0BB, 0x64CB, 0xBED7, 0x64CD, 0xBEDE, 0x64CE, 0xC0BA, 0x64CF, 0xE9A7, 0x64D0, 0xE9A6, - 0x64D2, 0xBEE0, 0x64D4, 0xBEE1, 0x64D6, 0xE9A5, 0x64D7, 0xE9A4, 0x64D8, 0xC0BC, 0x64D9, 0xE9AE, 0x64DA, 0xBEDA, 0x64DB, 0xE9AC, - 0x64E0, 0xC0BD, 0x64E2, 0xC0C2, 0x64E3, 0xECEA, 0x64E4, 0xECEC, 0x64E6, 0xC0BF, 0x64E8, 0xECED, 0x64E9, 0xECE9, 0x64EB, 0xECEB, - 0x64EC, 0xC0C0, 0x64ED, 0xC0C3, 0x64EF, 0xECE8, 0x64F0, 0xC0BE, 0x64F1, 0xC0C1, 0x64F2, 0xC259, 0x64F3, 0xE9AD, 0x64F4, 0xC258, - 0x64F7, 0xC25E, 0x64F8, 0xEFD4, 0x64FA, 0xC25C, 0x64FB, 0xC25D, 0x64FC, 0xEFD7, 0x64FD, 0xEFD3, 0x64FE, 0xC25A, 0x64FF, 0xEFD1, - 0x6500, 0xC36B, 0x6501, 0xEFD5, 0x6503, 0xEFD6, 0x6504, 0xEFD2, 0x6506, 0xC25B, 0x6507, 0xF242, 0x6509, 0xF245, 0x650C, 0xF246, - 0x650D, 0xF244, 0x650E, 0xF247, 0x650F, 0xC36C, 0x6510, 0xF243, 0x6513, 0xF44E, 0x6514, 0xC464, 0x6515, 0xF44D, 0x6516, 0xF44C, - 0x6517, 0xF44B, 0x6518, 0xC463, 0x6519, 0xC465, 0x651B, 0xF5CD, 0x651C, 0xC4E2, 0x651D, 0xC4E1, 0x6520, 0xF6E1, 0x6521, 0xF6E0, - 0x6522, 0xF6E3, 0x6523, 0xC5CB, 0x6524, 0xC575, 0x6525, 0xF7DD, 0x6526, 0xF6E2, 0x6529, 0xF7DC, 0x652A, 0xC5CD, 0x652B, 0xC5CC, - 0x652C, 0xC5F3, 0x652D, 0xF8A9, 0x652E, 0xF8EF, 0x652F, 0xA4E4, 0x6532, 0xD972, 0x6533, 0xE9AF, 0x6536, 0xA6AC, 0x6537, 0xCAF7, - 0x6538, 0xA7F1, 0x6539, 0xA7EF, 0x653B, 0xA7F0, 0x653D, 0xCCC1, 0x653E, 0xA9F1, 0x653F, 0xAC46, 0x6541, 0xCEE7, 0x6543, 0xCEE8, - 0x6545, 0xAC47, 0x6546, 0xD1CE, 0x6548, 0xAEC4, 0x6549, 0xAEC5, 0x654A, 0xD1CD, 0x654F, 0xB1D3, 0x6551, 0xB1CF, 0x6553, 0xD5A7, - 0x6554, 0xB1D6, 0x6555, 0xB1D5, 0x6556, 0xB1CE, 0x6557, 0xB1D1, 0x6558, 0xB1D4, 0x6559, 0xB1D0, 0x655C, 0xD976, 0x655D, 0xB1CD, - 0x655E, 0xB4AF, 0x6562, 0xB4B1, 0x6563, 0xB4B2, 0x6564, 0xD975, 0x6565, 0xD978, 0x6566, 0xB4B0, 0x6567, 0xD973, 0x6568, 0xD977, - 0x656A, 0xD974, 0x656C, 0xB771, 0x656F, 0xDDBC, 0x6572, 0xBA56, 0x6573, 0xE1F4, 0x6574, 0xBEE3, 0x6575, 0xBCC4, 0x6576, 0xE5BD, - 0x6577, 0xBCC5, 0x6578, 0xBCC6, 0x6579, 0xE5BF, 0x657A, 0xE5BE, 0x657B, 0xE5C0, 0x657C, 0xE9B1, 0x657F, 0xE9B0, 0x6580, 0xECEF, - 0x6581, 0xECEE, 0x6582, 0xC0C4, 0x6583, 0xC0C5, 0x6584, 0xF248, 0x6587, 0xA4E5, 0x658C, 0xD979, 0x6590, 0xB4B4, 0x6591, 0xB4B3, - 0x6592, 0xDDBD, 0x6594, 0xEFD8, 0x6595, 0xC4E3, 0x6596, 0xF7DE, 0x6597, 0xA4E6, 0x6599, 0xAEC6, 0x659B, 0xB1D8, 0x659C, 0xB1D7, - 0x659D, 0xD97A, 0x659E, 0xD97B, 0x659F, 0xB772, 0x65A0, 0xE1F5, 0x65A1, 0xBA57, 0x65A2, 0xE9B2, 0x65A4, 0xA4E7, 0x65A5, 0xA5B8, - 0x65A7, 0xA9F2, 0x65A8, 0xCCC2, 0x65AA, 0xCEE9, 0x65AB, 0xAC48, 0x65AC, 0xB1D9, 0x65AE, 0xD97C, 0x65AF, 0xB4B5, 0x65B0, 0xB773, - 0x65B2, 0xE5C1, 0x65B3, 0xE5C2, 0x65B6, 0xECF0, 0x65B7, 0xC25F, 0x65B8, 0xF8F0, 0x65B9, 0xA4E8, 0x65BB, 0xCCC3, 0x65BC, 0xA9F3, - 0x65BD, 0xAC49, 0x65BF, 0xCEEA, 0x65C1, 0xAEC7, 0x65C2, 0xD1D2, 0x65C3, 0xD1D0, 0x65C4, 0xD1D1, 0x65C5, 0xAEC8, 0x65C6, 0xD1CF, - 0x65CB, 0xB1DB, 0x65CC, 0xB1DC, 0x65CD, 0xD5A8, 0x65CE, 0xB1DD, 0x65CF, 0xB1DA, 0x65D0, 0xD97D, 0x65D2, 0xD97E, 0x65D3, 0xDDBE, - 0x65D6, 0xBA59, 0x65D7, 0xBA58, 0x65DA, 0xECF1, 0x65DB, 0xEFD9, 0x65DD, 0xF24A, 0x65DE, 0xF249, 0x65DF, 0xF44F, 0x65E1, 0xC95E, - 0x65E2, 0xAC4A, 0x65E5, 0xA4E9, 0x65E6, 0xA5B9, 0x65E8, 0xA6AE, 0x65E9, 0xA6AD, 0x65EC, 0xA6AF, 0x65ED, 0xA6B0, 0x65EE, 0xC9EE, - 0x65EF, 0xC9ED, 0x65F0, 0xCAF8, 0x65F1, 0xA7F2, 0x65F2, 0xCAFB, 0x65F3, 0xCAFA, 0x65F4, 0xCAF9, 0x65F5, 0xCAFC, 0x65FA, 0xA9F4, - 0x65FB, 0xCCC9, 0x65FC, 0xCCC5, 0x65FD, 0xCCCE, 0x6600, 0xA9FB, 0x6602, 0xA9F9, 0x6603, 0xCCCA, 0x6604, 0xCCC6, 0x6605, 0xCCCD, - 0x6606, 0xA9F8, 0x6607, 0xAA40, 0x6608, 0xCCC8, 0x6609, 0xCCC4, 0x660A, 0xA9FE, 0x660B, 0xCCCB, 0x660C, 0xA9F7, 0x660D, 0xCCCC, - 0x660E, 0xA9FA, 0x660F, 0xA9FC, 0x6610, 0xCCD0, 0x6611, 0xCCCF, 0x6612, 0xCCC7, 0x6613, 0xA9F6, 0x6614, 0xA9F5, 0x6615, 0xA9FD, - 0x661C, 0xCEEF, 0x661D, 0xCEF5, 0x661F, 0xAC50, 0x6620, 0xAC4D, 0x6621, 0xCEEC, 0x6622, 0xCEF1, 0x6624, 0xAC53, 0x6625, 0xAC4B, - 0x6626, 0xCEF0, 0x6627, 0xAC4E, 0x6628, 0xAC51, 0x662B, 0xCEF3, 0x662D, 0xAC4C, 0x662E, 0xCEF8, 0x662F, 0xAC4F, 0x6631, 0xAC52, - 0x6632, 0xCEED, 0x6633, 0xCEF2, 0x6634, 0xCEF6, 0x6635, 0xCEEE, 0x6636, 0xCEEB, 0x6639, 0xCEF7, 0x663A, 0xCEF4, 0x6641, 0xAED0, - 0x6642, 0xAEC9, 0x6643, 0xAECC, 0x6645, 0xAECF, 0x6647, 0xD1D5, 0x6649, 0xAECA, 0x664A, 0xD1D3, 0x664C, 0xAECE, 0x664F, 0xAECB, - 0x6651, 0xD1D6, 0x6652, 0xAECD, 0x6659, 0xD5AC, 0x665A, 0xB1DF, 0x665B, 0xD5AB, 0x665C, 0xD5AD, 0x665D, 0xB1DE, 0x665E, 0xB1E3, - 0x665F, 0xD1D4, 0x6661, 0xD5AA, 0x6662, 0xD5AE, 0x6664, 0xB1E0, 0x6665, 0xD5A9, 0x6666, 0xB1E2, 0x6668, 0xB1E1, 0x666A, 0xD9A7, - 0x666C, 0xD9A2, 0x666E, 0xB4B6, 0x666F, 0xB4BA, 0x6670, 0xB4B7, 0x6671, 0xD9A5, 0x6672, 0xD9A8, 0x6674, 0xB4B8, 0x6676, 0xB4B9, - 0x6677, 0xB4BE, 0x6678, 0xDDC7, 0x6679, 0xD9A6, 0x667A, 0xB4BC, 0x667B, 0xD9A3, 0x667C, 0xD9A1, 0x667E, 0xB4BD, 0x6680, 0xD9A4, - 0x6684, 0xB779, 0x6686, 0xDDBF, 0x6687, 0xB776, 0x6688, 0xB777, 0x6689, 0xB775, 0x668A, 0xDDC4, 0x668B, 0xDDC3, 0x668C, 0xDDC0, - 0x668D, 0xB77B, 0x6690, 0xDDC2, 0x6691, 0xB4BB, 0x6694, 0xDDC6, 0x6695, 0xDDC1, 0x6696, 0xB778, 0x6697, 0xB774, 0x6698, 0xB77A, - 0x6699, 0xDDC5, 0x669D, 0xBA5C, 0x669F, 0xE1F8, 0x66A0, 0xE1F7, 0x66A1, 0xE1F6, 0x66A2, 0xBA5A, 0x66A8, 0xBA5B, 0x66A9, 0xE5C5, - 0x66AA, 0xE5C8, 0x66AB, 0xBCC8, 0x66AE, 0xBCC7, 0x66AF, 0xE5C9, 0x66B0, 0xE5C4, 0x66B1, 0xBCCA, 0x66B2, 0xE5C6, 0x66B4, 0xBCC9, - 0x66B5, 0xE5C3, 0x66B7, 0xE5C7, 0x66B8, 0xBEE9, 0x66B9, 0xBEE6, 0x66BA, 0xE9BB, 0x66BB, 0xE9BA, 0x66BD, 0xE9B9, 0x66BE, 0xE9B4, - 0x66C0, 0xE9B5, 0x66C4, 0xBEE7, 0x66C6, 0xBEE4, 0x66C7, 0xBEE8, 0x66C8, 0xE9B3, 0x66C9, 0xBEE5, 0x66CA, 0xE9B6, 0x66CB, 0xE9B7, - 0x66CC, 0xE9BC, 0x66CF, 0xE9B8, 0x66D2, 0xECF2, 0x66D6, 0xC0C7, 0x66D8, 0xEFDC, 0x66D9, 0xC0C6, 0x66DA, 0xEFDA, 0x66DB, 0xEFDB, - 0x66DC, 0xC260, 0x66DD, 0xC36E, 0x66DE, 0xF24B, 0x66E0, 0xC36D, 0x66E3, 0xF451, 0x66E4, 0xF452, 0x66E6, 0xC466, 0x66E8, 0xF450, - 0x66E9, 0xC4E4, 0x66EB, 0xF7DF, 0x66EC, 0xC5CE, 0x66ED, 0xF8AA, 0x66EE, 0xF8AB, 0x66F0, 0xA4EA, 0x66F2, 0xA6B1, 0x66F3, 0xA6B2, - 0x66F4, 0xA7F3, 0x66F6, 0xCCD1, 0x66F7, 0xAC54, 0x66F8, 0xAED1, 0x66F9, 0xB1E4, 0x66FC, 0xB0D2, 0x66FE, 0xB4BF, 0x66FF, 0xB4C0, - 0x6700, 0xB3CC, 0x6701, 0xD9A9, 0x6703, 0xB77C, 0x6704, 0xE1FA, 0x6705, 0xE1F9, 0x6708, 0xA4EB, 0x6709, 0xA6B3, 0x670A, 0xCCD2, - 0x670B, 0xAA42, 0x670D, 0xAA41, 0x670F, 0xCEF9, 0x6710, 0xCEFA, 0x6712, 0xD1D7, 0x6713, 0xD1D8, 0x6714, 0xAED2, 0x6715, 0xAED3, - 0x6717, 0xAED4, 0x6718, 0xD5AF, 0x671B, 0xB1E6, 0x671D, 0xB4C2, 0x671F, 0xB4C1, 0x6720, 0xDDC8, 0x6721, 0xDF7A, 0x6722, 0xE1FB, - 0x6723, 0xE9BD, 0x6726, 0xC261, 0x6727, 0xC467, 0x6728, 0xA4EC, 0x672A, 0xA5BC, 0x672B, 0xA5BD, 0x672C, 0xA5BB, 0x672D, 0xA5BE, - 0x672E, 0xA5BA, 0x6731, 0xA6B6, 0x6733, 0xC9F6, 0x6734, 0xA6B5, 0x6735, 0xA6B7, 0x6738, 0xC9F1, 0x6739, 0xC9F0, 0x673A, 0xC9F3, - 0x673B, 0xC9F2, 0x673C, 0xC9F5, 0x673D, 0xA6B4, 0x673E, 0xC9EF, 0x673F, 0xC9F4, 0x6745, 0xCAFD, 0x6746, 0xA7FD, 0x6747, 0xCAFE, - 0x6748, 0xCB43, 0x6749, 0xA7FC, 0x674B, 0xCB47, 0x674C, 0xCB42, 0x674D, 0xCB45, 0x674E, 0xA7F5, 0x674F, 0xA7F6, 0x6750, 0xA7F7, - 0x6751, 0xA7F8, 0x6753, 0xA840, 0x6755, 0xCB41, 0x6756, 0xA7FA, 0x6757, 0xA841, 0x6759, 0xCB40, 0x675A, 0xCB46, 0x675C, 0xA7F9, - 0x675D, 0xCB44, 0x675E, 0xA7FB, 0x675F, 0xA7F4, 0x6760, 0xA7FE, 0x676A, 0xAA57, 0x676C, 0xCCD4, 0x676D, 0xAA43, 0x676F, 0xAA4D, - 0x6770, 0xAA4E, 0x6771, 0xAA46, 0x6772, 0xAA58, 0x6773, 0xAA48, 0x6774, 0xCCDC, 0x6775, 0xAA53, 0x6776, 0xCCD7, 0x6777, 0xAA49, - 0x6778, 0xCCE6, 0x6779, 0xCCE7, 0x677A, 0xCCDF, 0x677B, 0xCCD8, 0x677C, 0xAA56, 0x677D, 0xCCE4, 0x677E, 0xAA51, 0x677F, 0xAA4F, - 0x6781, 0xCCE5, 0x6783, 0xCCE3, 0x6784, 0xCCDB, 0x6785, 0xCCD3, 0x6786, 0xCCDA, 0x6787, 0xAA4A, 0x6789, 0xAA50, 0x678B, 0xAA44, - 0x678C, 0xCCDE, 0x678D, 0xCCDD, 0x678E, 0xCCD5, 0x6790, 0xAA52, 0x6791, 0xCCE1, 0x6792, 0xCCD6, 0x6793, 0xAA55, 0x6794, 0xCCE8, - 0x6795, 0xAA45, 0x6797, 0xAA4C, 0x6798, 0xCCD9, 0x6799, 0xCCE2, 0x679A, 0xAA54, 0x679C, 0xAA47, 0x679D, 0xAA4B, 0x679F, 0xCCE0, - 0x67AE, 0xCF5B, 0x67AF, 0xAC5C, 0x67B0, 0xAC69, 0x67B2, 0xCF56, 0x67B3, 0xCF4C, 0x67B4, 0xAC62, 0x67B5, 0xCF4A, 0x67B6, 0xAC5B, - 0x67B7, 0xCF45, 0x67B8, 0xAC65, 0x67B9, 0xCF52, 0x67BA, 0xCEFE, 0x67BB, 0xCF41, 0x67C0, 0xCF44, 0x67C1, 0xCEFB, 0x67C2, 0xCF51, - 0x67C3, 0xCF61, 0x67C4, 0xAC60, 0x67C5, 0xCF46, 0x67C6, 0xCF58, 0x67C8, 0xCEFD, 0x67C9, 0xCF5F, 0x67CA, 0xCF60, 0x67CB, 0xCF63, - 0x67CC, 0xCF5A, 0x67CD, 0xCF4B, 0x67CE, 0xCF53, 0x67CF, 0xAC66, 0x67D0, 0xAC59, 0x67D1, 0xAC61, 0x67D2, 0xAC6D, 0x67D3, 0xAC56, - 0x67D4, 0xAC58, 0x67D8, 0xCF43, 0x67D9, 0xAC6A, 0x67DA, 0xAC63, 0x67DB, 0xCF5D, 0x67DC, 0xCF40, 0x67DD, 0xAC6C, 0x67DE, 0xAC67, - 0x67DF, 0xCF49, 0x67E2, 0xAC6B, 0x67E3, 0xCF50, 0x67E4, 0xCF48, 0x67E5, 0xAC64, 0x67E6, 0xCF5C, 0x67E7, 0xCF54, 0x67E9, 0xAC5E, - 0x67EA, 0xCF62, 0x67EB, 0xCF47, 0x67EC, 0xAC5A, 0x67ED, 0xCF59, 0x67EE, 0xCF4F, 0x67EF, 0xAC5F, 0x67F0, 0xCF55, 0x67F1, 0xAC57, - 0x67F2, 0xCEFC, 0x67F3, 0xAC68, 0x67F4, 0xAEE3, 0x67F5, 0xAC5D, 0x67F6, 0xCF4E, 0x67F7, 0xCF4D, 0x67F8, 0xCF42, 0x67FA, 0xCF5E, - 0x67FC, 0xCF57, 0x67FF, 0xAC55, 0x6812, 0xD1EC, 0x6813, 0xAEEA, 0x6814, 0xD1ED, 0x6816, 0xD1E1, 0x6817, 0xAEDF, 0x6818, 0xAEEB, - 0x681A, 0xD1DA, 0x681C, 0xD1E3, 0x681D, 0xD1EB, 0x681F, 0xD1D9, 0x6820, 0xD1F4, 0x6821, 0xAED5, 0x6825, 0xD1F3, 0x6826, 0xD1EE, - 0x6828, 0xD1EF, 0x6829, 0xAEDD, 0x682A, 0xAEE8, 0x682B, 0xD1E5, 0x682D, 0xD1E6, 0x682E, 0xD1F0, 0x682F, 0xD1E7, 0x6831, 0xD1E2, - 0x6832, 0xD1DC, 0x6833, 0xD1DD, 0x6834, 0xD1EA, 0x6835, 0xD1E4, 0x6838, 0xAED6, 0x6839, 0xAEDA, 0x683A, 0xD1F2, 0x683B, 0xD1DE, - 0x683C, 0xAEE6, 0x683D, 0xAEE2, 0x6840, 0xAEE5, 0x6841, 0xAEEC, 0x6842, 0xAEDB, 0x6843, 0xAEE7, 0x6844, 0xD1E9, 0x6845, 0xAEE9, - 0x6846, 0xAED8, 0x6848, 0xAED7, 0x6849, 0xD1DB, 0x684B, 0xD1DF, 0x684C, 0xAEE0, 0x684D, 0xD1F1, 0x684E, 0xD1E8, 0x684F, 0xD1E0, - 0x6850, 0xAEE4, 0x6851, 0xAEE1, 0x6853, 0xAED9, 0x6854, 0xAEDC, 0x686B, 0xD5C4, 0x686D, 0xD5B4, 0x686E, 0xD5B5, 0x686F, 0xD5B9, - 0x6871, 0xD5C8, 0x6872, 0xD5C5, 0x6874, 0xD5BE, 0x6875, 0xD5BD, 0x6876, 0xB1ED, 0x6877, 0xD5C1, 0x6878, 0xD5D0, 0x6879, 0xD5B0, - 0x687B, 0xD5D1, 0x687C, 0xD5C3, 0x687D, 0xD5D5, 0x687E, 0xD5C9, 0x687F, 0xB1EC, 0x6880, 0xD5C7, 0x6881, 0xB1E7, 0x6882, 0xB1FC, - 0x6883, 0xB1F2, 0x6885, 0xB1F6, 0x6886, 0xB1F5, 0x6887, 0xD5B1, 0x6889, 0xD5CE, 0x688A, 0xD5D4, 0x688B, 0xD5CC, 0x688C, 0xD5D3, - 0x688F, 0xD5C0, 0x6890, 0xD5B2, 0x6891, 0xD5D2, 0x6892, 0xD5C2, 0x6893, 0xB1EA, 0x6894, 0xB1F7, 0x6896, 0xD5CB, 0x6897, 0xB1F0, - 0x689B, 0xD5CA, 0x689C, 0xD5B3, 0x689D, 0xB1F8, 0x689F, 0xB1FA, 0x68A0, 0xD5CD, 0x68A1, 0xB1FB, 0x68A2, 0xB1E9, 0x68A3, 0xD5BA, - 0x68A4, 0xD5CF, 0x68A7, 0xB1EF, 0x68A8, 0xB1F9, 0x68A9, 0xD5BC, 0x68AA, 0xD5C6, 0x68AB, 0xD5B7, 0x68AC, 0xD5BB, 0x68AD, 0xB1F4, - 0x68AE, 0xD5B6, 0x68AF, 0xB1E8, 0x68B0, 0xB1F1, 0x68B1, 0xB1EE, 0x68B2, 0xD5BF, 0x68B3, 0xAEDE, 0x68B4, 0xD9C0, 0x68B5, 0xB1EB, - 0x68C4, 0xB1F3, 0x68C6, 0xD9C3, 0x68C7, 0xD9D9, 0x68C8, 0xD9CE, 0x68C9, 0xB4D6, 0x68CB, 0xB4D1, 0x68CC, 0xD9BD, 0x68CD, 0xB4D2, - 0x68CE, 0xD9CD, 0x68D0, 0xD9C6, 0x68D1, 0xD9D3, 0x68D2, 0xB4CE, 0x68D3, 0xD9AB, 0x68D4, 0xD9D5, 0x68D5, 0xB4C4, 0x68D6, 0xD9B3, - 0x68D7, 0xB4C7, 0x68D8, 0xB4C6, 0x68DA, 0xB4D7, 0x68DC, 0xD9AD, 0x68DD, 0xD9CF, 0x68DE, 0xD9D0, 0x68DF, 0xB4C9, 0x68E0, 0xB4C5, - 0x68E1, 0xD9BB, 0x68E3, 0xB4D0, 0x68E4, 0xD9B6, 0x68E6, 0xD9D1, 0x68E7, 0xB4CC, 0x68E8, 0xD9C9, 0x68E9, 0xD9D6, 0x68EA, 0xD9B0, - 0x68EB, 0xD9B5, 0x68EC, 0xD9AF, 0x68EE, 0xB4CB, 0x68EF, 0xD9C2, 0x68F0, 0xDDDE, 0x68F1, 0xD9B1, 0x68F2, 0xB4CF, 0x68F3, 0xD9BA, - 0x68F4, 0xD9D2, 0x68F5, 0xB4CA, 0x68F6, 0xD9B7, 0x68F7, 0xD9B4, 0x68F8, 0xD9C5, 0x68F9, 0xB4CD, 0x68FA, 0xB4C3, 0x68FB, 0xB4D9, - 0x68FC, 0xD9C8, 0x68FD, 0xD9C7, 0x6904, 0xD9AC, 0x6905, 0xB4C8, 0x6906, 0xD9D4, 0x6907, 0xD9BC, 0x6908, 0xD9BE, 0x690A, 0xD9CB, - 0x690B, 0xD9CA, 0x690C, 0xD9AA, 0x690D, 0xB4D3, 0x690E, 0xB4D5, 0x690F, 0xD9B2, 0x6910, 0xD9B9, 0x6911, 0xD9C1, 0x6912, 0xB4D4, - 0x6913, 0xD9B8, 0x6914, 0xD9C4, 0x6915, 0xD9D7, 0x6917, 0xD9CC, 0x6925, 0xD9D8, 0x692A, 0xD9AE, 0x692F, 0xDDF2, 0x6930, 0xB7A6, - 0x6932, 0xDDF0, 0x6933, 0xDDDB, 0x6934, 0xDDE0, 0x6935, 0xDDD9, 0x6937, 0xDDEC, 0x6938, 0xDDCB, 0x6939, 0xDDD2, 0x693B, 0xDDEA, - 0x693C, 0xDDF4, 0x693D, 0xDDDC, 0x693F, 0xDDCF, 0x6940, 0xDDE2, 0x6941, 0xDDE7, 0x6942, 0xDDD3, 0x6944, 0xDDE4, 0x6945, 0xDDD0, - 0x6948, 0xDDD7, 0x6949, 0xDDD8, 0x694A, 0xB7A8, 0x694B, 0xDDEB, 0x694C, 0xDDE9, 0x694E, 0xDDCC, 0x694F, 0xDDEE, 0x6951, 0xDDEF, - 0x6952, 0xDDF1, 0x6953, 0xB7AC, 0x6954, 0xB7A4, 0x6956, 0xD5B8, 0x6957, 0xDDD4, 0x6958, 0xDDE6, 0x6959, 0xDDD5, 0x695A, 0xB7A1, - 0x695B, 0xB7B1, 0x695C, 0xDDED, 0x695D, 0xB7AF, 0x695E, 0xB7AB, 0x695F, 0xDDCA, 0x6960, 0xB7A3, 0x6962, 0xDDCD, 0x6963, 0xB7B0, - 0x6965, 0xDDDD, 0x6966, 0xDDC9, 0x6968, 0xB7A9, 0x6969, 0xDDE1, 0x696A, 0xDDD1, 0x696B, 0xB7AA, 0x696C, 0xDDDA, 0x696D, 0xB77E, - 0x696E, 0xB4D8, 0x696F, 0xDDE3, 0x6970, 0xD9BF, 0x6971, 0xDDCE, 0x6974, 0xDDE8, 0x6975, 0xB7A5, 0x6976, 0xDDE5, 0x6977, 0xB7A2, - 0x6978, 0xDDDF, 0x6979, 0xB7AD, 0x697A, 0xDDD6, 0x697B, 0xDDF3, 0x6982, 0xB7A7, 0x6983, 0xDEC6, 0x6986, 0xB7AE, 0x698D, 0xE24A, - 0x698E, 0xE248, 0x6990, 0xE25E, 0x6991, 0xE246, 0x6993, 0xE258, 0x6994, 0xB77D, 0x6995, 0xBA5F, 0x6996, 0xE242, 0x6997, 0xE25D, - 0x6999, 0xE247, 0x699A, 0xE255, 0x699B, 0xBA64, 0x699C, 0xBA5D, 0x699E, 0xE25B, 0x69A0, 0xE240, 0x69A1, 0xE25A, 0x69A3, 0xBA6F, - 0x69A4, 0xE251, 0x69A5, 0xE261, 0x69A6, 0xBA6D, 0x69A7, 0xE249, 0x69A8, 0xBA5E, 0x69A9, 0xE24B, 0x69AA, 0xE259, 0x69AB, 0xBA67, - 0x69AC, 0xE244, 0x69AD, 0xBA6B, 0x69AE, 0xBA61, 0x69AF, 0xE24D, 0x69B0, 0xE243, 0x69B1, 0xE1FC, 0x69B3, 0xE257, 0x69B4, 0xBA68, - 0x69B5, 0xE260, 0x69B6, 0xE1FD, 0x69B7, 0xBA65, 0x69B9, 0xE253, 0x69BB, 0xBA66, 0x69BC, 0xE245, 0x69BD, 0xE250, 0x69BE, 0xE24C, - 0x69BF, 0xE24E, 0x69C1, 0xBA60, 0x69C2, 0xE25F, 0x69C3, 0xBA6E, 0x69C4, 0xE24F, 0x69C6, 0xE262, 0x69C9, 0xE1FE, 0x69CA, 0xE254, - 0x69CB, 0xBA63, 0x69CC, 0xBA6C, 0x69CD, 0xBA6A, 0x69CE, 0xE241, 0x69CF, 0xE256, 0x69D0, 0xBA69, 0x69D3, 0xBA62, 0x69D4, 0xE252, - 0x69D9, 0xE25C, 0x69E2, 0xE5D5, 0x69E4, 0xE5D1, 0x69E5, 0xE5CD, 0x69E6, 0xE5E1, 0x69E7, 0xE5DE, 0x69E8, 0xBCCD, 0x69EB, 0xE5E5, - 0x69EC, 0xE5D4, 0x69ED, 0xBCD8, 0x69EE, 0xE5DB, 0x69F1, 0xE5D0, 0x69F2, 0xE5DA, 0x69F3, 0xBCD5, 0x69F4, 0xE5EE, 0x69F6, 0xE5EB, - 0x69F7, 0xE5DD, 0x69F8, 0xE5CE, 0x69FB, 0xE5E2, 0x69FC, 0xE5E4, 0x69FD, 0xBCD1, 0x69FE, 0xE5D8, 0x69FF, 0xE5D3, 0x6A00, 0xE5CA, - 0x6A01, 0xBCCE, 0x6A02, 0xBCD6, 0x6A04, 0xE5E7, 0x6A05, 0xBCD7, 0x6A06, 0xE5CB, 0x6A07, 0xE5ED, 0x6A08, 0xE5E0, 0x6A09, 0xE5E6, - 0x6A0A, 0xBCD4, 0x6A0D, 0xE5E3, 0x6A0F, 0xE5EA, 0x6A11, 0xBCD9, 0x6A13, 0xBCD3, 0x6A14, 0xE5DC, 0x6A15, 0xE5CF, 0x6A16, 0xE5EF, - 0x6A17, 0xE5CC, 0x6A18, 0xE5E8, 0x6A19, 0xBCD0, 0x6A1B, 0xE5D6, 0x6A1D, 0xE5D7, 0x6A1E, 0xBCCF, 0x6A1F, 0xBCCC, 0x6A20, 0xE5D2, - 0x6A21, 0xBCD2, 0x6A23, 0xBCCB, 0x6A25, 0xE5E9, 0x6A26, 0xE5EC, 0x6A27, 0xE5D9, 0x6A28, 0xE9CA, 0x6A32, 0xE9C2, 0x6A34, 0xE9BE, - 0x6A35, 0xBEF6, 0x6A38, 0xBEEB, 0x6A39, 0xBEF0, 0x6A3A, 0xBEEC, 0x6A3B, 0xE9CC, 0x6A3C, 0xE9D7, 0x6A3D, 0xBEEA, 0x6A3E, 0xE9C4, - 0x6A3F, 0xE9CD, 0x6A40, 0xE5DF, 0x6A41, 0xE9CE, 0x6A44, 0xBEF1, 0x6A46, 0xE9DD, 0x6A47, 0xBEF5, 0x6A48, 0xBEF8, 0x6A49, 0xE9C0, - 0x6A4B, 0xBEF4, 0x6A4D, 0xE9DB, 0x6A4E, 0xE9DC, 0x6A4F, 0xE9D2, 0x6A50, 0xE9D1, 0x6A51, 0xE9C9, 0x6A54, 0xE9D3, 0x6A55, 0xE9DA, - 0x6A56, 0xE9D9, 0x6A58, 0xBEEF, 0x6A59, 0xBEED, 0x6A5A, 0xE9CB, 0x6A5B, 0xE9C8, 0x6A5D, 0xE9C5, 0x6A5E, 0xE9D8, 0x6A5F, 0xBEF7, - 0x6A60, 0xE9D6, 0x6A61, 0xBEF3, 0x6A62, 0xBEF2, 0x6A64, 0xE9D0, 0x6A66, 0xE9BF, 0x6A67, 0xE9C1, 0x6A68, 0xE9C3, 0x6A69, 0xE9D5, - 0x6A6A, 0xE9CF, 0x6A6B, 0xBEEE, 0x6A6D, 0xE9C6, 0x6A6F, 0xE9D4, 0x6A76, 0xE9C7, 0x6A7E, 0xC0CF, 0x6A7F, 0xED45, 0x6A80, 0xC0C8, - 0x6A81, 0xECF5, 0x6A83, 0xED41, 0x6A84, 0xC0CA, 0x6A85, 0xED48, 0x6A87, 0xECFC, 0x6A89, 0xECF7, 0x6A8C, 0xED49, 0x6A8D, 0xECF3, - 0x6A8E, 0xECFE, 0x6A90, 0xC0D1, 0x6A91, 0xED44, 0x6A92, 0xED4A, 0x6A93, 0xECFD, 0x6A94, 0xC0C9, 0x6A95, 0xED40, 0x6A96, 0xECF4, - 0x6A97, 0xC0D0, 0x6A9A, 0xED47, 0x6A9B, 0xECF9, 0x6A9C, 0xC0CC, 0x6A9E, 0xECFB, 0x6A9F, 0xECF8, 0x6AA0, 0xC0D2, 0x6AA1, 0xECFA, - 0x6AA2, 0xC0CB, 0x6AA3, 0xC0CE, 0x6AA4, 0xED43, 0x6AA5, 0xECF6, 0x6AA6, 0xED46, 0x6AA8, 0xED42, 0x6AAC, 0xC263, 0x6AAD, 0xEFE7, - 0x6AAE, 0xC268, 0x6AAF, 0xC269, 0x6AB3, 0xC262, 0x6AB4, 0xEFE6, 0x6AB6, 0xEFE3, 0x6AB7, 0xEFE4, 0x6AB8, 0xC266, 0x6AB9, 0xEFDE, - 0x6ABA, 0xEFE2, 0x6ABB, 0xC265, 0x6ABD, 0xEFDF, 0x6AC2, 0xC267, 0x6AC3, 0xC264, 0x6AC5, 0xEFDD, 0x6AC6, 0xEFE1, 0x6AC7, 0xEFE5, - 0x6ACB, 0xF251, 0x6ACC, 0xF24E, 0x6ACD, 0xF257, 0x6ACF, 0xF256, 0x6AD0, 0xF254, 0x6AD1, 0xF24F, 0x6AD3, 0xC372, 0x6AD9, 0xF250, - 0x6ADA, 0xC371, 0x6ADB, 0xC0CD, 0x6ADC, 0xF253, 0x6ADD, 0xC370, 0x6ADE, 0xF258, 0x6ADF, 0xF252, 0x6AE0, 0xF24D, 0x6AE1, 0xEFE0, - 0x6AE5, 0xC36F, 0x6AE7, 0xF24C, 0x6AE8, 0xF456, 0x6AEA, 0xF455, 0x6AEB, 0xF255, 0x6AEC, 0xC468, 0x6AEE, 0xF459, 0x6AEF, 0xF45A, - 0x6AF0, 0xF454, 0x6AF1, 0xF458, 0x6AF3, 0xF453, 0x6AF8, 0xF5D1, 0x6AF9, 0xF457, 0x6AFA, 0xC4E7, 0x6AFB, 0xC4E5, 0x6AFC, 0xF5CF, - 0x6B00, 0xF5D2, 0x6B02, 0xF5CE, 0x6B03, 0xF5D0, 0x6B04, 0xC4E6, 0x6B08, 0xF6E5, 0x6B09, 0xF6E6, 0x6B0A, 0xC576, 0x6B0B, 0xF6E4, - 0x6B0F, 0xF7E2, 0x6B10, 0xC5CF, 0x6B11, 0xF7E0, 0x6B12, 0xF7E1, 0x6B13, 0xF8AC, 0x6B16, 0xC656, 0x6B17, 0xF8F3, 0x6B18, 0xF8F1, - 0x6B19, 0xF8F2, 0x6B1A, 0xF8F4, 0x6B1E, 0xF9BB, 0x6B20, 0xA4ED, 0x6B21, 0xA6B8, 0x6B23, 0xAA59, 0x6B25, 0xCCE9, 0x6B28, 0xCF64, - 0x6B2C, 0xD1F5, 0x6B2D, 0xD1F7, 0x6B2F, 0xD1F6, 0x6B31, 0xD1F8, 0x6B32, 0xB1FD, 0x6B33, 0xD5D7, 0x6B34, 0xD1F9, 0x6B36, 0xD5D6, - 0x6B37, 0xD5D8, 0x6B38, 0xD5D9, 0x6B39, 0xD9DA, 0x6B3A, 0xB4DB, 0x6B3B, 0xD9DB, 0x6B3C, 0xD9DD, 0x6B3D, 0xB4DC, 0x6B3E, 0xB4DA, - 0x6B3F, 0xD9DC, 0x6B41, 0xDDFA, 0x6B42, 0xDDF8, 0x6B43, 0xDDF7, 0x6B45, 0xDDF6, 0x6B46, 0xDDF5, 0x6B47, 0xB7B2, 0x6B48, 0xDDF9, - 0x6B49, 0xBA70, 0x6B4A, 0xE263, 0x6B4B, 0xE265, 0x6B4C, 0xBA71, 0x6B4D, 0xE264, 0x6B4E, 0xBCDB, 0x6B50, 0xBCDA, 0x6B51, 0xE5F0, - 0x6B54, 0xE9DF, 0x6B55, 0xE9DE, 0x6B56, 0xE9E0, 0x6B59, 0xBEF9, 0x6B5B, 0xED4B, 0x6B5C, 0xC0D3, 0x6B5E, 0xEFE8, 0x6B5F, 0xC26A, - 0x6B60, 0xF259, 0x6B61, 0xC577, 0x6B62, 0xA4EE, 0x6B63, 0xA5BF, 0x6B64, 0xA6B9, 0x6B65, 0xA842, 0x6B66, 0xAA5A, 0x6B67, 0xAA5B, - 0x6B6A, 0xAC6E, 0x6B6D, 0xD1FA, 0x6B72, 0xB7B3, 0x6B76, 0xE6D1, 0x6B77, 0xBEFA, 0x6B78, 0xC26B, 0x6B79, 0xA4EF, 0x6B7B, 0xA6BA, - 0x6B7E, 0xCCEB, 0x6B7F, 0xAA5C, 0x6B80, 0xCCEA, 0x6B82, 0xCF65, 0x6B83, 0xAC6F, 0x6B84, 0xCF66, 0x6B86, 0xAC70, 0x6B88, 0xD1FC, - 0x6B89, 0xAEEE, 0x6B8A, 0xAEED, 0x6B8C, 0xD5DE, 0x6B8D, 0xD5DC, 0x6B8E, 0xD5DD, 0x6B8F, 0xD5DB, 0x6B91, 0xD5DA, 0x6B94, 0xD9DE, - 0x6B95, 0xD9E1, 0x6B96, 0xB4DE, 0x6B97, 0xD9DF, 0x6B98, 0xB4DD, 0x6B99, 0xD9E0, 0x6B9B, 0xDDFB, 0x6B9E, 0xE266, 0x6B9F, 0xE267, - 0x6BA0, 0xE268, 0x6BA2, 0xE5F3, 0x6BA3, 0xE5F2, 0x6BA4, 0xBCDC, 0x6BA5, 0xE5F1, 0x6BA6, 0xE5F4, 0x6BA7, 0xE9E1, 0x6BAA, 0xE9E2, - 0x6BAB, 0xE9E3, 0x6BAD, 0xED4C, 0x6BAE, 0xC0D4, 0x6BAF, 0xC26C, 0x6BB0, 0xF25A, 0x6BB2, 0xC4E8, 0x6BB3, 0xC95F, 0x6BB5, 0xAC71, - 0x6BB6, 0xCF67, 0x6BB7, 0xAEEF, 0x6BBA, 0xB1FE, 0x6BBC, 0xB4DF, 0x6BBD, 0xD9E2, 0x6BBF, 0xB7B5, 0x6BC0, 0xB7B4, 0x6BC3, 0xE269, - 0x6BC4, 0xE26A, 0x6BC5, 0xBCDD, 0x6BC6, 0xBCDE, 0x6BC7, 0xE9E5, 0x6BC8, 0xE9E4, 0x6BC9, 0xEFE9, 0x6BCA, 0xF7E3, 0x6BCB, 0xA4F0, - 0x6BCC, 0xC960, 0x6BCD, 0xA5C0, 0x6BCF, 0xA843, 0x6BD0, 0xCB48, 0x6BD2, 0xAC72, 0x6BD3, 0xB7B6, 0x6BD4, 0xA4F1, 0x6BD6, 0xCF68, - 0x6BD7, 0xAC73, 0x6BD8, 0xCF69, 0x6BDA, 0xC0D5, 0x6BDB, 0xA4F2, 0x6BDE, 0xCCEC, 0x6BE0, 0xCF6A, 0x6BE2, 0xD242, 0x6BE3, 0xD241, - 0x6BE4, 0xD1FE, 0x6BE6, 0xD1FD, 0x6BE7, 0xD243, 0x6BE8, 0xD240, 0x6BEB, 0xB240, 0x6BEC, 0xB241, 0x6BEF, 0xB4E0, 0x6BF0, 0xD9E3, - 0x6BF2, 0xD9E4, 0x6BF3, 0xD9E5, 0x6BF7, 0xDE41, 0x6BF8, 0xDE42, 0x6BF9, 0xDE40, 0x6BFB, 0xDDFD, 0x6BFC, 0xDDFE, 0x6BFD, 0xB7B7, - 0x6BFE, 0xE26B, 0x6BFF, 0xE5F7, 0x6C00, 0xE5F6, 0x6C01, 0xE5F5, 0x6C02, 0xE5F8, 0x6C03, 0xE9E7, 0x6C04, 0xE9E6, 0x6C05, 0xBEFB, - 0x6C06, 0xE9E8, 0x6C08, 0xC0D6, 0x6C09, 0xED4D, 0x6C0B, 0xEFEA, 0x6C0C, 0xF25B, 0x6C0D, 0xF6E7, 0x6C0F, 0xA4F3, 0x6C10, 0xA5C2, - 0x6C11, 0xA5C1, 0x6C13, 0xAA5D, 0x6C14, 0xC961, 0x6C15, 0xC97E, 0x6C16, 0xA6BB, 0x6C18, 0xC9F7, 0x6C19, 0xCB49, 0x6C1A, 0xCB4A, - 0x6C1B, 0xAA5E, 0x6C1D, 0xCCED, 0x6C1F, 0xAC74, 0x6C20, 0xCF6B, 0x6C21, 0xCF6C, 0x6C23, 0xAEF0, 0x6C24, 0xAEF4, 0x6C25, 0xD244, - 0x6C26, 0xAEF3, 0x6C27, 0xAEF1, 0x6C28, 0xAEF2, 0x6C2A, 0xD5DF, 0x6C2B, 0xB242, 0x6C2C, 0xB4E3, 0x6C2E, 0xB4E1, 0x6C2F, 0xB4E2, - 0x6C30, 0xD9E6, 0x6C33, 0xBA72, 0x6C34, 0xA4F4, 0x6C36, 0xC9A1, 0x6C38, 0xA5C3, 0x6C3B, 0xC9A4, 0x6C3E, 0xA5C6, 0x6C3F, 0xC9A3, - 0x6C40, 0xA5C5, 0x6C41, 0xA5C4, 0x6C42, 0xA844, 0x6C43, 0xC9A2, 0x6C46, 0xC9F8, 0x6C4A, 0xC9FC, 0x6C4B, 0xC9FE, 0x6C4C, 0xCA40, - 0x6C4D, 0xA6C5, 0x6C4E, 0xA6C6, 0x6C4F, 0xC9FB, 0x6C50, 0xA6C1, 0x6C52, 0xC9F9, 0x6C54, 0xC9FD, 0x6C55, 0xA6C2, 0x6C57, 0xA6BD, - 0x6C59, 0xA6BE, 0x6C5B, 0xA6C4, 0x6C5C, 0xC9FA, 0x6C5D, 0xA6BC, 0x6C5E, 0xA845, 0x6C5F, 0xA6BF, 0x6C60, 0xA6C0, 0x6C61, 0xA6C3, - 0x6C65, 0xCB5B, 0x6C66, 0xCB59, 0x6C67, 0xCB4C, 0x6C68, 0xA851, 0x6C69, 0xCB53, 0x6C6A, 0xA84C, 0x6C6B, 0xCB4D, 0x6C6D, 0xCB55, - 0x6C6F, 0xCB52, 0x6C70, 0xA84F, 0x6C71, 0xCB51, 0x6C72, 0xA856, 0x6C73, 0xCB5A, 0x6C74, 0xA858, 0x6C76, 0xA85A, 0x6C78, 0xCB4B, - 0x6C7A, 0xA84D, 0x6C7B, 0xCB5C, 0x6C7D, 0xA854, 0x6C7E, 0xA857, 0x6C80, 0xCD45, 0x6C81, 0xA847, 0x6C82, 0xA85E, 0x6C83, 0xA855, - 0x6C84, 0xCB4E, 0x6C85, 0xA84A, 0x6C86, 0xA859, 0x6C87, 0xCB56, 0x6C88, 0xA848, 0x6C89, 0xA849, 0x6C8A, 0xCD43, 0x6C8B, 0xCB4F, - 0x6C8C, 0xA850, 0x6C8D, 0xA85B, 0x6C8E, 0xCB5D, 0x6C8F, 0xCB50, 0x6C90, 0xA84E, 0x6C92, 0xA853, 0x6C93, 0xCCEE, 0x6C94, 0xA85C, - 0x6C95, 0xCB57, 0x6C96, 0xA852, 0x6C98, 0xA85D, 0x6C99, 0xA846, 0x6C9A, 0xCB54, 0x6C9B, 0xA84B, 0x6C9C, 0xCB58, 0x6C9D, 0xCD44, - 0x6CAB, 0xAA6A, 0x6CAC, 0xAA7A, 0x6CAD, 0xCCF5, 0x6CAE, 0xAA71, 0x6CB0, 0xCD4B, 0x6CB1, 0xAA62, 0x6CB3, 0xAA65, 0x6CB4, 0xCD42, - 0x6CB6, 0xCCF3, 0x6CB7, 0xCCF7, 0x6CB8, 0xAA6D, 0x6CB9, 0xAA6F, 0x6CBA, 0xCCFA, 0x6CBB, 0xAA76, 0x6CBC, 0xAA68, 0x6CBD, 0xAA66, - 0x6CBE, 0xAA67, 0x6CBF, 0xAA75, 0x6CC0, 0xCD47, 0x6CC1, 0xAA70, 0x6CC2, 0xCCF9, 0x6CC3, 0xCCFB, 0x6CC4, 0xAA6E, 0x6CC5, 0xAA73, - 0x6CC6, 0xCCFC, 0x6CC7, 0xCD4A, 0x6CC9, 0xAC75, 0x6CCA, 0xAA79, 0x6CCC, 0xAA63, 0x6CCD, 0xCD49, 0x6CCF, 0xCD4D, 0x6CD0, 0xCCF8, - 0x6CD1, 0xCD4F, 0x6CD2, 0xCD40, 0x6CD3, 0xAA6C, 0x6CD4, 0xCCF4, 0x6CD5, 0xAA6B, 0x6CD6, 0xAA7D, 0x6CD7, 0xAA72, 0x6CD9, 0xCCF2, - 0x6CDA, 0xCF75, 0x6CDB, 0xAA78, 0x6CDC, 0xAA7C, 0x6CDD, 0xCD41, 0x6CDE, 0xCD46, 0x6CE0, 0xAA7E, 0x6CE1, 0xAA77, 0x6CE2, 0xAA69, - 0x6CE3, 0xAA5F, 0x6CE5, 0xAA64, 0x6CE7, 0xCCF6, 0x6CE8, 0xAA60, 0x6CE9, 0xCD4E, 0x6CEB, 0xCCF0, 0x6CEC, 0xCCEF, 0x6CED, 0xCCFD, - 0x6CEE, 0xCCF1, 0x6CEF, 0xAA7B, 0x6CF0, 0xAEF5, 0x6CF1, 0xAA74, 0x6CF2, 0xCCFE, 0x6CF3, 0xAA61, 0x6CF5, 0xACA6, 0x6CF9, 0xCD4C, - 0x6D00, 0xCF7C, 0x6D01, 0xCFA1, 0x6D03, 0xCFA4, 0x6D04, 0xCF77, 0x6D07, 0xCFA7, 0x6D08, 0xCFAA, 0x6D09, 0xCFAC, 0x6D0A, 0xCF74, - 0x6D0B, 0xAC76, 0x6D0C, 0xAC7B, 0x6D0D, 0xD249, 0x6D0E, 0xACAD, 0x6D0F, 0xCFA5, 0x6D10, 0xCFAD, 0x6D11, 0xCF7B, 0x6D12, 0xCF73, - 0x6D16, 0xD264, 0x6D17, 0xAC7E, 0x6D18, 0xCFA2, 0x6D19, 0xCF78, 0x6D1A, 0xCF7A, 0x6D1B, 0xACA5, 0x6D1D, 0xCF7D, 0x6D1E, 0xAC7D, - 0x6D1F, 0xCF70, 0x6D20, 0xCFA8, 0x6D22, 0xCFAB, 0x6D25, 0xAC7A, 0x6D27, 0xACA8, 0x6D28, 0xCF6D, 0x6D29, 0xACAA, 0x6D2A, 0xAC78, - 0x6D2B, 0xACAE, 0x6D2C, 0xCFA9, 0x6D2D, 0xCF6F, 0x6D2E, 0xACAB, 0x6D2F, 0xD25E, 0x6D30, 0xCD48, 0x6D31, 0xAC7C, 0x6D32, 0xAC77, - 0x6D33, 0xCF76, 0x6D34, 0xCF6E, 0x6D35, 0xACAC, 0x6D36, 0xACA4, 0x6D37, 0xCFA3, 0x6D38, 0xACA9, 0x6D39, 0xACA7, 0x6D3A, 0xCF79, - 0x6D3B, 0xACA1, 0x6D3C, 0xCF71, 0x6D3D, 0xACA2, 0x6D3E, 0xACA3, 0x6D3F, 0xCF72, 0x6D40, 0xCFA6, 0x6D41, 0xAC79, 0x6D42, 0xCF7E, - 0x6D58, 0xD24C, 0x6D59, 0xAEFD, 0x6D5A, 0xAF43, 0x6D5E, 0xD255, 0x6D5F, 0xD25B, 0x6D60, 0xD257, 0x6D61, 0xD24A, 0x6D62, 0xD24D, - 0x6D63, 0xD246, 0x6D64, 0xD247, 0x6D65, 0xAF4A, 0x6D66, 0xAEFA, 0x6D67, 0xD256, 0x6D68, 0xD25F, 0x6D69, 0xAF45, 0x6D6A, 0xAEF6, - 0x6D6C, 0xAF40, 0x6D6D, 0xD24E, 0x6D6E, 0xAF42, 0x6D6F, 0xD24F, 0x6D70, 0xD259, 0x6D74, 0xAF44, 0x6D75, 0xD268, 0x6D76, 0xD248, - 0x6D77, 0xAEFC, 0x6D78, 0xAEFB, 0x6D79, 0xAF48, 0x6D7A, 0xD245, 0x6D7B, 0xD266, 0x6D7C, 0xD25A, 0x6D7D, 0xD267, 0x6D7E, 0xD261, - 0x6D7F, 0xD253, 0x6D80, 0xD262, 0x6D82, 0xD25C, 0x6D83, 0xD265, 0x6D84, 0xD263, 0x6D85, 0xAF49, 0x6D86, 0xD254, 0x6D87, 0xAEF9, - 0x6D88, 0xAEF8, 0x6D89, 0xAF41, 0x6D8A, 0xAF47, 0x6D8B, 0xD260, 0x6D8C, 0xAF46, 0x6D8D, 0xD251, 0x6D8E, 0xB243, 0x6D90, 0xD269, - 0x6D91, 0xD250, 0x6D92, 0xD24B, 0x6D93, 0xAEFE, 0x6D94, 0xAF4B, 0x6D95, 0xAEF7, 0x6D97, 0xD258, 0x6D98, 0xD25D, 0x6DAA, 0xB265, - 0x6DAB, 0xD5E1, 0x6DAC, 0xD5E5, 0x6DAE, 0xB252, 0x6DAF, 0xB250, 0x6DB2, 0xB247, 0x6DB3, 0xD5E3, 0x6DB4, 0xD5E2, 0x6DB5, 0xB25B, - 0x6DB7, 0xD5E8, 0x6DB8, 0xB255, 0x6DBA, 0xD5FA, 0x6DBB, 0xD647, 0x6DBC, 0xB244, 0x6DBD, 0xD5F7, 0x6DBE, 0xD5F0, 0x6DBF, 0xB267, - 0x6DC0, 0xD5E0, 0x6DC2, 0xD5FC, 0x6DC4, 0xB264, 0x6DC5, 0xB258, 0x6DC6, 0xB263, 0x6DC7, 0xB24E, 0x6DC8, 0xD5EC, 0x6DC9, 0xD5FE, - 0x6DCA, 0xD5F6, 0x6DCB, 0xB24F, 0x6DCC, 0xB249, 0x6DCD, 0xD645, 0x6DCF, 0xD5FD, 0x6DD0, 0xD640, 0x6DD1, 0xB251, 0x6DD2, 0xB259, - 0x6DD3, 0xD642, 0x6DD4, 0xD5EA, 0x6DD5, 0xD5FB, 0x6DD6, 0xD5EF, 0x6DD7, 0xD644, 0x6DD8, 0xB25E, 0x6DD9, 0xB246, 0x6DDA, 0xB25C, - 0x6DDB, 0xD5F4, 0x6DDC, 0xD5F2, 0x6DDD, 0xD5F3, 0x6DDE, 0xB253, 0x6DDF, 0xD5EE, 0x6DE0, 0xD5ED, 0x6DE1, 0xB248, 0x6DE2, 0xD5E7, - 0x6DE3, 0xD646, 0x6DE4, 0xB24A, 0x6DE5, 0xD5F1, 0x6DE6, 0xB268, 0x6DE8, 0xB262, 0x6DE9, 0xD5E6, 0x6DEA, 0xB25F, 0x6DEB, 0xB25D, - 0x6DEC, 0xB266, 0x6DED, 0xD5F8, 0x6DEE, 0xB261, 0x6DEF, 0xD252, 0x6DF0, 0xD5F9, 0x6DF1, 0xB260, 0x6DF2, 0xD641, 0x6DF3, 0xB245, - 0x6DF4, 0xD5F5, 0x6DF5, 0xB257, 0x6DF6, 0xD5E9, 0x6DF7, 0xB256, 0x6DF9, 0xB254, 0x6DFA, 0xB24C, 0x6DFB, 0xB24B, 0x6DFC, 0xD9E7, - 0x6DFD, 0xD643, 0x6E00, 0xD5EB, 0x6E03, 0xD9FC, 0x6E05, 0xB24D, 0x6E19, 0xB541, 0x6E1A, 0xB25A, 0x6E1B, 0xB4EE, 0x6E1C, 0xD9F6, - 0x6E1D, 0xB4FC, 0x6E1F, 0xD9EA, 0x6E20, 0xB4EB, 0x6E21, 0xB4E7, 0x6E22, 0xDA49, 0x6E23, 0xB4ED, 0x6E24, 0xB4F1, 0x6E25, 0xB4EC, - 0x6E26, 0xB4F5, 0x6E27, 0xDA4D, 0x6E28, 0xDA44, 0x6E2B, 0xD9F1, 0x6E2C, 0xB4FA, 0x6E2D, 0xB4F4, 0x6E2E, 0xD9FD, 0x6E2F, 0xB4E4, - 0x6E30, 0xDA4A, 0x6E31, 0xDA43, 0x6E32, 0xB4E8, 0x6E33, 0xD9F7, 0x6E34, 0xB4F7, 0x6E35, 0xDA55, 0x6E36, 0xDA56, 0x6E38, 0xB4E5, - 0x6E39, 0xDA48, 0x6E3A, 0xB4F9, 0x6E3B, 0xD9FB, 0x6E3C, 0xD9ED, 0x6E3D, 0xD9EE, 0x6E3E, 0xB4FD, 0x6E3F, 0xD9F2, 0x6E40, 0xD9F9, - 0x6E41, 0xD9F3, 0x6E43, 0xB4FB, 0x6E44, 0xB544, 0x6E45, 0xD9EF, 0x6E46, 0xD9E8, 0x6E47, 0xD9E9, 0x6E49, 0xD9EB, 0x6E4A, 0xB4EA, - 0x6E4B, 0xD9F8, 0x6E4D, 0xB4F8, 0x6E4E, 0xB542, 0x6E51, 0xD9FA, 0x6E52, 0xDA53, 0x6E53, 0xDA4B, 0x6E54, 0xB4E6, 0x6E55, 0xDA51, - 0x6E56, 0xB4F2, 0x6E58, 0xB4F0, 0x6E5A, 0xDA57, 0x6E5B, 0xB4EF, 0x6E5C, 0xDA41, 0x6E5D, 0xD9F4, 0x6E5E, 0xD9FE, 0x6E5F, 0xB547, - 0x6E60, 0xDA45, 0x6E61, 0xDA42, 0x6E62, 0xD9F0, 0x6E63, 0xB543, 0x6E64, 0xDA4F, 0x6E65, 0xDA4C, 0x6E66, 0xDA54, 0x6E67, 0xB4E9, - 0x6E68, 0xDA40, 0x6E69, 0xB546, 0x6E6B, 0xDA47, 0x6E6E, 0xB4F3, 0x6E6F, 0xB4F6, 0x6E71, 0xDA46, 0x6E72, 0xB545, 0x6E73, 0xD9F5, - 0x6E74, 0xD5E4, 0x6E77, 0xDA50, 0x6E78, 0xDA4E, 0x6E79, 0xDA52, 0x6E88, 0xD9EC, 0x6E89, 0xB540, 0x6E8D, 0xDE61, 0x6E8E, 0xDE60, - 0x6E8F, 0xDE46, 0x6E90, 0xB7BD, 0x6E92, 0xDE5F, 0x6E93, 0xDE49, 0x6E94, 0xDE4A, 0x6E96, 0xB7C7, 0x6E97, 0xDE68, 0x6E98, 0xB7C2, - 0x6E99, 0xDE5E, 0x6E9B, 0xDE43, 0x6E9C, 0xB7C8, 0x6E9D, 0xB7BE, 0x6E9E, 0xDE52, 0x6E9F, 0xDE48, 0x6EA0, 0xDE4B, 0x6EA1, 0xDE63, - 0x6EA2, 0xB7B8, 0x6EA3, 0xDE6A, 0x6EA4, 0xDE62, 0x6EA5, 0xB7C1, 0x6EA6, 0xDE57, 0x6EA7, 0xB7CC, 0x6EAA, 0xB7CB, 0x6EAB, 0xB7C5, - 0x6EAE, 0xDE69, 0x6EAF, 0xB7B9, 0x6EB0, 0xDE55, 0x6EB1, 0xDE4C, 0x6EB2, 0xDE59, 0x6EB3, 0xDE65, 0x6EB4, 0xB7CD, 0x6EB6, 0xB7BB, - 0x6EB7, 0xDE54, 0x6EB9, 0xDE4D, 0x6EBA, 0xB7C4, 0x6EBC, 0xB7C3, 0x6EBD, 0xDE50, 0x6EBE, 0xDE5A, 0x6EBF, 0xDE64, 0x6EC0, 0xDE47, - 0x6EC1, 0xDE51, 0x6EC2, 0xB7BC, 0x6EC3, 0xDE5B, 0x6EC4, 0xB7C9, 0x6EC5, 0xB7C0, 0x6EC6, 0xDE4E, 0x6EC7, 0xB7BF, 0x6EC8, 0xDE45, - 0x6EC9, 0xDE53, 0x6ECA, 0xDE67, 0x6ECB, 0xB4FE, 0x6ECC, 0xBAB0, 0x6ECD, 0xDE56, 0x6ECE, 0xE26C, 0x6ECF, 0xDE58, 0x6ED0, 0xDE66, - 0x6ED1, 0xB7C6, 0x6ED2, 0xDE4F, 0x6ED3, 0xB7BA, 0x6ED4, 0xB7CA, 0x6ED5, 0xBCF0, 0x6ED6, 0xDE44, 0x6ED8, 0xDE5D, 0x6EDC, 0xDE5C, - 0x6EEB, 0xE2AA, 0x6EEC, 0xBAAD, 0x6EED, 0xE27D, 0x6EEE, 0xE2A4, 0x6EEF, 0xBAA2, 0x6EF1, 0xE26E, 0x6EF2, 0xBAAF, 0x6EF4, 0xBA77, - 0x6EF5, 0xE26D, 0x6EF6, 0xE2B0, 0x6EF7, 0xBAB1, 0x6EF8, 0xE271, 0x6EF9, 0xE2A3, 0x6EFB, 0xE273, 0x6EFC, 0xE2B3, 0x6EFD, 0xE2AF, - 0x6EFE, 0xBA75, 0x6EFF, 0xBAA1, 0x6F00, 0xE653, 0x6F01, 0xBAAE, 0x6F02, 0xBA7D, 0x6F03, 0xE26F, 0x6F05, 0xE2AE, 0x6F06, 0xBAA3, - 0x6F07, 0xE2AB, 0x6F08, 0xE2B8, 0x6F09, 0xE275, 0x6F0A, 0xE27E, 0x6F0D, 0xE2B6, 0x6F0E, 0xE2AC, 0x6F0F, 0xBA7C, 0x6F12, 0xE27C, - 0x6F13, 0xBA76, 0x6F14, 0xBA74, 0x6F15, 0xBAA8, 0x6F18, 0xE27A, 0x6F19, 0xE277, 0x6F1A, 0xE278, 0x6F1C, 0xE2B2, 0x6F1E, 0xE2B7, - 0x6F1F, 0xE2B5, 0x6F20, 0xBA7A, 0x6F21, 0xE2B9, 0x6F22, 0xBA7E, 0x6F23, 0xBAA7, 0x6F25, 0xE270, 0x6F26, 0xE5FA, 0x6F27, 0xE279, - 0x6F29, 0xBA78, 0x6F2A, 0xBAAC, 0x6F2B, 0xBAA9, 0x6F2C, 0xBA7B, 0x6F2D, 0xE2A5, 0x6F2E, 0xE274, 0x6F2F, 0xBAAA, 0x6F30, 0xE2A7, - 0x6F31, 0xBAA4, 0x6F32, 0xBAA6, 0x6F33, 0xBA73, 0x6F35, 0xE2A9, 0x6F36, 0xE2A1, 0x6F37, 0xE272, 0x6F38, 0xBAA5, 0x6F39, 0xE2B1, - 0x6F3A, 0xE2B4, 0x6F3B, 0xE27B, 0x6F3C, 0xE2A8, 0x6F3E, 0xBA79, 0x6F3F, 0xBCDF, 0x6F40, 0xE2A6, 0x6F41, 0xE5F9, 0x6F43, 0xE2AD, - 0x6F4E, 0xE276, 0x6F4F, 0xE644, 0x6F50, 0xE64E, 0x6F51, 0xBCE2, 0x6F52, 0xE64D, 0x6F53, 0xE659, 0x6F54, 0xBCE4, 0x6F55, 0xE64B, - 0x6F57, 0xE64F, 0x6F58, 0xBCEF, 0x6F5A, 0xE646, 0x6F5B, 0xBCE7, 0x6F5D, 0xE652, 0x6F5E, 0xE9F0, 0x6F5F, 0xBCF3, 0x6F60, 0xBCF2, - 0x6F61, 0xE654, 0x6F62, 0xE643, 0x6F63, 0xE65E, 0x6F64, 0xBCED, 0x6F66, 0xBCE3, 0x6F67, 0xE657, 0x6F69, 0xE65B, 0x6F6A, 0xE660, - 0x6F6B, 0xE655, 0x6F6C, 0xE649, 0x6F6D, 0xBCE6, 0x6F6E, 0xBCE9, 0x6F6F, 0xBCF1, 0x6F70, 0xBCEC, 0x6F72, 0xE64C, 0x6F73, 0xE2A2, - 0x6F76, 0xE648, 0x6F77, 0xE65F, 0x6F78, 0xBCE8, 0x6F7A, 0xBCEB, 0x6F7B, 0xE661, 0x6F7C, 0xBCE0, 0x6F7D, 0xE656, 0x6F7E, 0xE5FB, - 0x6F7F, 0xE65C, 0x6F80, 0xC0DF, 0x6F82, 0xE64A, 0x6F84, 0xBCE1, 0x6F85, 0xE645, 0x6F86, 0xBCE5, 0x6F87, 0xE5FC, 0x6F88, 0xBAAB, - 0x6F89, 0xE641, 0x6F8B, 0xE65A, 0x6F8C, 0xE642, 0x6F8D, 0xE640, 0x6F8E, 0xBCEA, 0x6F90, 0xE658, 0x6F92, 0xE5FE, 0x6F93, 0xE651, - 0x6F94, 0xE650, 0x6F95, 0xE65D, 0x6F96, 0xE647, 0x6F97, 0xBCEE, 0x6F9E, 0xE9F3, 0x6FA0, 0xBF49, 0x6FA1, 0xBEFE, 0x6FA2, 0xEA40, - 0x6FA3, 0xE9EB, 0x6FA4, 0xBF41, 0x6FA5, 0xE9F7, 0x6FA6, 0xBF48, 0x6FA7, 0xBF43, 0x6FA8, 0xE9F5, 0x6FA9, 0xED4F, 0x6FAA, 0xE9FB, - 0x6FAB, 0xEA42, 0x6FAC, 0xE9FA, 0x6FAD, 0xE9E9, 0x6FAE, 0xE9F8, 0x6FAF, 0xEA44, 0x6FB0, 0xEA46, 0x6FB1, 0xBEFD, 0x6FB2, 0xEA45, - 0x6FB3, 0xBF44, 0x6FB4, 0xBF4A, 0x6FB6, 0xBF47, 0x6FB8, 0xE9FE, 0x6FB9, 0xBF46, 0x6FBA, 0xE9F9, 0x6FBC, 0xE9ED, 0x6FBD, 0xE9F2, - 0x6FBF, 0xE9FD, 0x6FC0, 0xBF45, 0x6FC1, 0xBF42, 0x6FC2, 0xBEFC, 0x6FC3, 0xBF40, 0x6FC4, 0xE9F1, 0x6FC6, 0xE5FD, 0x6FC7, 0xE9EC, - 0x6FC8, 0xE9EF, 0x6FC9, 0xEA41, 0x6FCA, 0xE9F4, 0x6FCB, 0xE9EA, 0x6FCC, 0xED4E, 0x6FCD, 0xEA43, 0x6FCE, 0xE9EE, 0x6FCF, 0xE9FC, - 0x6FD4, 0xED51, 0x6FD5, 0xC0E3, 0x6FD8, 0xC0D7, 0x6FDB, 0xC0DB, 0x6FDC, 0xED53, 0x6FDD, 0xED59, 0x6FDE, 0xED57, 0x6FDF, 0xC0D9, - 0x6FE0, 0xC0DA, 0x6FE1, 0xC0E1, 0x6FE2, 0xED5A, 0x6FE3, 0xED52, 0x6FE4, 0xC0DC, 0x6FE6, 0xED56, 0x6FE7, 0xED55, 0x6FE8, 0xED5B, - 0x6FE9, 0xC0E2, 0x6FEB, 0xC0DD, 0x6FEC, 0xC0E0, 0x6FED, 0xED54, 0x6FEE, 0xC0E4, 0x6FEF, 0xC0DE, 0x6FF0, 0xC0E5, 0x6FF1, 0xC0D8, - 0x6FF2, 0xED58, 0x6FF4, 0xED50, 0x6FF7, 0xEFF7, 0x6FFA, 0xC271, 0x6FFB, 0xEFF4, 0x6FFC, 0xEFF6, 0x6FFE, 0xC26F, 0x6FFF, 0xEFF2, - 0x7000, 0xEFF3, 0x7001, 0xEFEE, 0x7004, 0xE9F6, 0x7005, 0xEFEF, 0x7006, 0xC270, 0x7007, 0xEFEB, 0x7009, 0xC26D, 0x700A, 0xEFF8, - 0x700B, 0xC26E, 0x700C, 0xEFEC, 0x700D, 0xEFED, 0x700E, 0xEFF1, 0x700F, 0xC273, 0x7011, 0xC272, 0x7014, 0xEFF0, 0x7015, 0xC378, - 0x7016, 0xF25F, 0x7017, 0xF265, 0x7018, 0xC379, 0x7019, 0xF25C, 0x701A, 0xC376, 0x701B, 0xC373, 0x701C, 0xF267, 0x701D, 0xC377, - 0x701F, 0xC374, 0x7020, 0xF25E, 0x7021, 0xF261, 0x7022, 0xF262, 0x7023, 0xF263, 0x7024, 0xF266, 0x7026, 0xEFF5, 0x7027, 0xF25D, - 0x7028, 0xC375, 0x7029, 0xF264, 0x702A, 0xF268, 0x702B, 0xF260, 0x702F, 0xF45D, 0x7030, 0xC46A, 0x7031, 0xF460, 0x7032, 0xC46B, - 0x7033, 0xF468, 0x7034, 0xF45F, 0x7035, 0xF45C, 0x7037, 0xF45E, 0x7038, 0xF462, 0x7039, 0xF465, 0x703A, 0xF464, 0x703B, 0xF467, - 0x703C, 0xF45B, 0x703E, 0xC469, 0x703F, 0xF463, 0x7040, 0xF466, 0x7041, 0xF469, 0x7042, 0xF461, 0x7043, 0xF5D3, 0x7044, 0xF5D4, - 0x7045, 0xF5D8, 0x7046, 0xF5D9, 0x7048, 0xF5D6, 0x7049, 0xF5D7, 0x704A, 0xF5D5, 0x704C, 0xC4E9, 0x7051, 0xC578, 0x7052, 0xF6EB, - 0x7055, 0xF6E8, 0x7056, 0xF6E9, 0x7057, 0xF6EA, 0x7058, 0xC579, 0x705A, 0xF7E5, 0x705B, 0xF7E4, 0x705D, 0xF8AF, 0x705E, 0xC5F4, - 0x705F, 0xF8AD, 0x7060, 0xF8B0, 0x7061, 0xF8AE, 0x7062, 0xF8F5, 0x7063, 0xC657, 0x7064, 0xC665, 0x7065, 0xF9A3, 0x7066, 0xF96C, - 0x7068, 0xF9A2, 0x7069, 0xF9D0, 0x706A, 0xF9D1, 0x706B, 0xA4F5, 0x7070, 0xA6C7, 0x7071, 0xCA41, 0x7074, 0xCB5E, 0x7076, 0xA85F, - 0x7078, 0xA862, 0x707A, 0xCB5F, 0x707C, 0xA860, 0x707D, 0xA861, 0x7082, 0xCD58, 0x7083, 0xCD5A, 0x7084, 0xCD55, 0x7085, 0xCD52, - 0x7086, 0xCD54, 0x708A, 0xAAA4, 0x708E, 0xAAA2, 0x7091, 0xCD56, 0x7092, 0xAAA3, 0x7093, 0xCD53, 0x7094, 0xCD50, 0x7095, 0xAAA1, - 0x7096, 0xCD57, 0x7098, 0xCD51, 0x7099, 0xAAA5, 0x709A, 0xCD59, 0x709F, 0xCFAF, 0x70A1, 0xCFB3, 0x70A4, 0xACB7, 0x70A9, 0xCFB6, - 0x70AB, 0xACAF, 0x70AC, 0xACB2, 0x70AD, 0xACB4, 0x70AE, 0xACB6, 0x70AF, 0xACB3, 0x70B0, 0xCFB2, 0x70B1, 0xCFB1, 0x70B3, 0xACB1, - 0x70B4, 0xCFB4, 0x70B5, 0xCFB5, 0x70B7, 0xCFAE, 0x70B8, 0xACB5, 0x70BA, 0xACB0, 0x70BE, 0xCFB0, 0x70C5, 0xD277, 0x70C6, 0xD278, - 0x70C7, 0xD279, 0x70C8, 0xAF50, 0x70CA, 0xAF4C, 0x70CB, 0xD26E, 0x70CD, 0xD276, 0x70CE, 0xD27B, 0x70CF, 0xAF51, 0x70D1, 0xD26C, - 0x70D2, 0xD272, 0x70D3, 0xD26B, 0x70D4, 0xD275, 0x70D7, 0xD271, 0x70D8, 0xAF4D, 0x70D9, 0xAF4F, 0x70DA, 0xD27A, 0x70DC, 0xD26A, - 0x70DD, 0xD26D, 0x70DE, 0xD273, 0x70E0, 0xD274, 0x70E1, 0xD27C, 0x70E2, 0xD270, 0x70E4, 0xAF4E, 0x70EF, 0xB26D, 0x70F0, 0xD64E, - 0x70F3, 0xD650, 0x70F4, 0xD64C, 0x70F6, 0xD658, 0x70F7, 0xD64A, 0x70F8, 0xD657, 0x70F9, 0xB269, 0x70FA, 0xD648, 0x70FB, 0xDA5B, - 0x70FC, 0xD652, 0x70FD, 0xB26C, 0x70FF, 0xD653, 0x7100, 0xD656, 0x7102, 0xD65A, 0x7104, 0xD64F, 0x7106, 0xD654, 0x7109, 0xB26A, - 0x710A, 0xB26B, 0x710B, 0xD659, 0x710C, 0xD64D, 0x710D, 0xD649, 0x710E, 0xD65B, 0x7110, 0xD651, 0x7113, 0xD655, 0x7117, 0xD64B, - 0x7119, 0xB548, 0x711A, 0xB549, 0x711B, 0xDA65, 0x711C, 0xB54F, 0x711E, 0xDA59, 0x711F, 0xDA62, 0x7120, 0xDA58, 0x7121, 0xB54C, - 0x7122, 0xDA60, 0x7123, 0xDA5E, 0x7125, 0xDA5F, 0x7126, 0xB54A, 0x7128, 0xDA63, 0x712E, 0xDA5C, 0x712F, 0xDA5A, 0x7130, 0xB54B, - 0x7131, 0xDA5D, 0x7132, 0xDA61, 0x7136, 0xB54D, 0x713A, 0xDA64, 0x7141, 0xDE70, 0x7142, 0xDE77, 0x7143, 0xDE79, 0x7144, 0xDEA1, - 0x7146, 0xB7DA, 0x7147, 0xDE6B, 0x7149, 0xB7D2, 0x714B, 0xDE7A, 0x714C, 0xB7D7, 0x714D, 0xDEA2, 0x714E, 0xB7CE, 0x7150, 0xDE7D, - 0x7152, 0xDE6D, 0x7153, 0xDE7E, 0x7154, 0xDE6C, 0x7156, 0xB7DC, 0x7158, 0xDE78, 0x7159, 0xB7CF, 0x715A, 0xDEA3, 0x715C, 0xB7D4, - 0x715D, 0xDE71, 0x715E, 0xB7D9, 0x715F, 0xDE7C, 0x7160, 0xDE6F, 0x7161, 0xDE76, 0x7162, 0xDE72, 0x7163, 0xDE6E, 0x7164, 0xB7D1, - 0x7165, 0xB7D8, 0x7166, 0xB7D6, 0x7167, 0xB7D3, 0x7168, 0xB7DB, 0x7169, 0xB7D0, 0x716A, 0xDE75, 0x716C, 0xB7D5, 0x716E, 0xB54E, - 0x7170, 0xDE7B, 0x7172, 0xDE73, 0x7178, 0xDE74, 0x717B, 0xE2C1, 0x717D, 0xBAB4, 0x7180, 0xE2BD, 0x7181, 0xE2C3, 0x7182, 0xE2BF, - 0x7184, 0xBAB6, 0x7185, 0xE2BE, 0x7186, 0xE2C2, 0x7187, 0xE2BA, 0x7189, 0xE2BC, 0x718A, 0xBAB5, 0x718F, 0xE2C0, 0x7190, 0xE2BB, - 0x7192, 0xBAB7, 0x7194, 0xBAB2, 0x7197, 0xE2C4, 0x7199, 0xBAB3, 0x719A, 0xE667, 0x719B, 0xE664, 0x719C, 0xE670, 0x719D, 0xE66A, - 0x719E, 0xE66C, 0x719F, 0xBCF4, 0x71A0, 0xE666, 0x71A1, 0xE66E, 0x71A4, 0xE66D, 0x71A5, 0xE66B, 0x71A7, 0xE671, 0x71A8, 0xBCF7, - 0x71A9, 0xE668, 0x71AA, 0xE66F, 0x71AC, 0xBCF5, 0x71AF, 0xE663, 0x71B0, 0xE665, 0x71B1, 0xBCF6, 0x71B2, 0xE662, 0x71B3, 0xE672, - 0x71B5, 0xE669, 0x71B8, 0xEA4A, 0x71B9, 0xBF51, 0x71BC, 0xEA55, 0x71BD, 0xEA53, 0x71BE, 0xBF4B, 0x71BF, 0xEA49, 0x71C0, 0xEA4C, - 0x71C1, 0xEA4D, 0x71C2, 0xEA48, 0x71C3, 0xBF55, 0x71C4, 0xBF56, 0x71C5, 0xEA47, 0x71C6, 0xEA56, 0x71C7, 0xEA51, 0x71C8, 0xBF4F, - 0x71C9, 0xBF4C, 0x71CA, 0xEA50, 0x71CB, 0xEA4E, 0x71CE, 0xBF52, 0x71CF, 0xEA52, 0x71D0, 0xBF4D, 0x71D2, 0xBF4E, 0x71D4, 0xEA4F, - 0x71D5, 0xBF50, 0x71D6, 0xEA4B, 0x71D8, 0xEA54, 0x71D9, 0xBF53, 0x71DA, 0xEA57, 0x71DB, 0xEA58, 0x71DC, 0xBF54, 0x71DF, 0xC0E7, - 0x71E0, 0xC0EE, 0x71E1, 0xED5C, 0x71E2, 0xED62, 0x71E4, 0xED60, 0x71E5, 0xC0EA, 0x71E6, 0xC0E9, 0x71E7, 0xC0E6, 0x71E8, 0xED5E, - 0x71EC, 0xC0EC, 0x71ED, 0xC0EB, 0x71EE, 0xC0E8, 0x71F0, 0xED61, 0x71F1, 0xED5D, 0x71F2, 0xED5F, 0x71F4, 0xC0ED, 0x71F8, 0xC277, - 0x71F9, 0xEFFB, 0x71FB, 0xC274, 0x71FC, 0xC275, 0x71FD, 0xEFFD, 0x71FE, 0xC276, 0x71FF, 0xEFFA, 0x7201, 0xEFF9, 0x7202, 0xF26C, - 0x7203, 0xEFFC, 0x7205, 0xF26D, 0x7206, 0xC37A, 0x7207, 0xF26B, 0x720A, 0xF26A, 0x720C, 0xF269, 0x720D, 0xC37B, 0x7210, 0xC46C, - 0x7213, 0xF46A, 0x7214, 0xF46B, 0x7219, 0xF5DC, 0x721A, 0xF5DB, 0x721B, 0xC4EA, 0x721D, 0xF5DA, 0x721E, 0xF6EC, 0x721F, 0xF6ED, - 0x7222, 0xF7E6, 0x7223, 0xF8B1, 0x7226, 0xF8F6, 0x7227, 0xF9BC, 0x7228, 0xC679, 0x7229, 0xF9C6, 0x722A, 0xA4F6, 0x722C, 0xAAA6, - 0x722D, 0xAAA7, 0x7230, 0xACB8, 0x7235, 0xC0EF, 0x7236, 0xA4F7, 0x7238, 0xAAA8, 0x7239, 0xAF52, 0x723A, 0xB7DD, 0x723B, 0xA4F8, - 0x723D, 0xB26E, 0x723E, 0xBAB8, 0x723F, 0xC962, 0x7241, 0xCFB7, 0x7242, 0xD27D, 0x7244, 0xE2C5, 0x7246, 0xC0F0, 0x7247, 0xA4F9, - 0x7248, 0xAAA9, 0x7249, 0xCFB8, 0x724A, 0xCFB9, 0x724B, 0xDA66, 0x724C, 0xB550, 0x724F, 0xDEA4, 0x7252, 0xB7DE, 0x7253, 0xE2C6, - 0x7256, 0xBCF8, 0x7258, 0xC37C, 0x7259, 0xA4FA, 0x725A, 0xDA67, 0x725B, 0xA4FB, 0x725D, 0xA6C9, 0x725E, 0xCA42, 0x725F, 0xA6C8, - 0x7260, 0xA865, 0x7261, 0xA864, 0x7262, 0xA863, 0x7263, 0xCB60, 0x7267, 0xAAAA, 0x7269, 0xAAAB, 0x726A, 0xCD5B, 0x726C, 0xCFBA, - 0x726E, 0xCFBD, 0x726F, 0xACBA, 0x7270, 0xCFBB, 0x7272, 0xACB9, 0x7273, 0xCFBC, 0x7274, 0xACBB, 0x7276, 0xD2A2, 0x7277, 0xD2A1, - 0x7278, 0xD27E, 0x7279, 0xAF53, 0x727B, 0xD65D, 0x727C, 0xD65E, 0x727D, 0xB26F, 0x727E, 0xD65C, 0x727F, 0xD65F, 0x7280, 0xB552, - 0x7281, 0xB270, 0x7284, 0xB551, 0x7285, 0xDA6B, 0x7286, 0xDA6A, 0x7288, 0xDA68, 0x7289, 0xDA69, 0x728B, 0xDA6C, 0x728C, 0xDEA6, - 0x728D, 0xDEA5, 0x728E, 0xDEA9, 0x7290, 0xDEA8, 0x7291, 0xDEA7, 0x7292, 0xBAB9, 0x7293, 0xE2C9, 0x7295, 0xE2C8, 0x7296, 0xBABA, - 0x7297, 0xE2C7, 0x7298, 0xE673, 0x729A, 0xE674, 0x729B, 0xBCF9, 0x729D, 0xEA59, 0x729E, 0xEA5A, 0x72A1, 0xF272, 0x72A2, 0xC37D, - 0x72A3, 0xF271, 0x72A4, 0xF270, 0x72A5, 0xF26E, 0x72A6, 0xF26F, 0x72A7, 0xC4EB, 0x72A8, 0xF46C, 0x72A9, 0xF6EE, 0x72AA, 0xF8F7, - 0x72AC, 0xA4FC, 0x72AE, 0xC9A5, 0x72AF, 0xA5C7, 0x72B0, 0xC9A6, 0x72B4, 0xCA43, 0x72B5, 0xCA44, 0x72BA, 0xCB66, 0x72BD, 0xCB62, - 0x72BF, 0xCB61, 0x72C0, 0xAAAC, 0x72C1, 0xCB65, 0x72C2, 0xA867, 0x72C3, 0xCB63, 0x72C4, 0xA866, 0x72C5, 0xCB67, 0x72C6, 0xCB64, - 0x72C9, 0xCD5F, 0x72CA, 0xCFBE, 0x72CB, 0xCD5D, 0x72CC, 0xCD64, 0x72CE, 0xAAAD, 0x72D0, 0xAAB0, 0x72D1, 0xCD65, 0x72D2, 0xCD61, - 0x72D4, 0xCD62, 0x72D6, 0xCD5C, 0x72D7, 0xAAAF, 0x72D8, 0xCD5E, 0x72D9, 0xAAAE, 0x72DA, 0xCD63, 0x72DC, 0xCD60, 0x72DF, 0xCFC2, - 0x72E0, 0xACBD, 0x72E1, 0xACBE, 0x72E3, 0xCFC5, 0x72E4, 0xCFBF, 0x72E6, 0xCFC4, 0x72E8, 0xCFC0, 0x72E9, 0xACBC, 0x72EA, 0xCFC3, - 0x72EB, 0xCFC1, 0x72F3, 0xD2A8, 0x72F4, 0xD2A5, 0x72F6, 0xD2A7, 0x72F7, 0xAF58, 0x72F8, 0xAF57, 0x72F9, 0xAF55, 0x72FA, 0xD2A4, - 0x72FB, 0xD2A9, 0x72FC, 0xAF54, 0x72FD, 0xAF56, 0x72FE, 0xD2A6, 0x72FF, 0xD667, 0x7300, 0xD2A3, 0x7301, 0xD2AA, 0x7307, 0xD662, - 0x7308, 0xD666, 0x730A, 0xD665, 0x730B, 0xDA6E, 0x730C, 0xDA79, 0x730F, 0xD668, 0x7311, 0xD663, 0x7312, 0xDA6D, 0x7313, 0xB274, - 0x7316, 0xB273, 0x7317, 0xD661, 0x7318, 0xD664, 0x7319, 0xB275, 0x731B, 0xB272, 0x731C, 0xB271, 0x731D, 0xD660, 0x731E, 0xD669, - 0x7322, 0xDA70, 0x7323, 0xDA77, 0x7325, 0xB554, 0x7326, 0xDA76, 0x7327, 0xDA73, 0x7329, 0xB556, 0x732D, 0xDA75, 0x7330, 0xDA6F, - 0x7331, 0xDA71, 0x7332, 0xDA74, 0x7333, 0xDA72, 0x7334, 0xB555, 0x7335, 0xDA78, 0x7336, 0xB553, 0x7337, 0xB7DF, 0x733A, 0xDEAD, - 0x733B, 0xDEAC, 0x733C, 0xDEAA, 0x733E, 0xB7E2, 0x733F, 0xB7E1, 0x7340, 0xDEAE, 0x7342, 0xDEAB, 0x7343, 0xE2CA, 0x7344, 0xBABB, - 0x7345, 0xB7E0, 0x7349, 0xDEB0, 0x734A, 0xDEAF, 0x734C, 0xE2CD, 0x734D, 0xE2CB, 0x734E, 0xBCFA, 0x7350, 0xBABC, 0x7351, 0xE2CC, - 0x7352, 0xE676, 0x7357, 0xBCFB, 0x7358, 0xE675, 0x7359, 0xE67E, 0x735A, 0xE67D, 0x735B, 0xE67B, 0x735D, 0xE67A, 0x735E, 0xE677, - 0x735F, 0xE678, 0x7360, 0xE679, 0x7361, 0xE67C, 0x7362, 0xE6A1, 0x7365, 0xEA5F, 0x7366, 0xEA5C, 0x7367, 0xEA5D, 0x7368, 0xBF57, - 0x7369, 0xEA5B, 0x736A, 0xEA61, 0x736B, 0xEA60, 0x736C, 0xEA5E, 0x736E, 0xED64, 0x736F, 0xED65, 0x7370, 0xC0F1, 0x7372, 0xC0F2, - 0x7373, 0xED63, 0x7375, 0xC279, 0x7376, 0xEFFE, 0x7377, 0xC278, 0x7378, 0xC37E, 0x737A, 0xC3A1, 0x737B, 0xC46D, 0x737C, 0xF46E, - 0x737D, 0xF46D, 0x737E, 0xF5DD, 0x737F, 0xF6EF, 0x7380, 0xC57A, 0x7381, 0xF7E8, 0x7382, 0xF7E7, 0x7383, 0xF7E9, 0x7384, 0xA5C8, - 0x7385, 0xCFC6, 0x7386, 0xAF59, 0x7387, 0xB276, 0x7388, 0xD66A, 0x7389, 0xA5C9, 0x738A, 0xC9A7, 0x738B, 0xA4FD, 0x738E, 0xCA45, - 0x7392, 0xCB6C, 0x7393, 0xCB6A, 0x7394, 0xCB6B, 0x7395, 0xCB68, 0x7396, 0xA868, 0x7397, 0xCB69, 0x739D, 0xCD6D, 0x739F, 0xAAB3, - 0x73A0, 0xCD6B, 0x73A1, 0xCD67, 0x73A2, 0xCD6A, 0x73A4, 0xCD66, 0x73A5, 0xAAB5, 0x73A6, 0xCD69, 0x73A8, 0xAAB2, 0x73A9, 0xAAB1, - 0x73AB, 0xAAB4, 0x73AC, 0xCD6C, 0x73AD, 0xCD68, 0x73B2, 0xACC2, 0x73B3, 0xACC5, 0x73B4, 0xCFCE, 0x73B5, 0xCFCD, 0x73B6, 0xCFCC, - 0x73B7, 0xACBF, 0x73B8, 0xCFD5, 0x73B9, 0xCFCB, 0x73BB, 0xACC1, 0x73BC, 0xD2AF, 0x73BE, 0xCFD2, 0x73BF, 0xCFD0, 0x73C0, 0xACC4, - 0x73C2, 0xCFC8, 0x73C3, 0xCFD3, 0x73C5, 0xCFCA, 0x73C6, 0xCFD4, 0x73C7, 0xCFD1, 0x73C8, 0xCFC9, 0x73CA, 0xACC0, 0x73CB, 0xCFD6, - 0x73CC, 0xCFC7, 0x73CD, 0xACC3, 0x73D2, 0xD2B4, 0x73D3, 0xD2AB, 0x73D4, 0xD2B6, 0x73D6, 0xD2AE, 0x73D7, 0xD2B9, 0x73D8, 0xD2BA, - 0x73D9, 0xD2AC, 0x73DA, 0xD2B8, 0x73DB, 0xD2B5, 0x73DC, 0xD2B3, 0x73DD, 0xD2B7, 0x73DE, 0xAF5F, 0x73E0, 0xAF5D, 0x73E3, 0xD2B1, - 0x73E5, 0xD2AD, 0x73E7, 0xD2B0, 0x73E8, 0xD2BB, 0x73E9, 0xD2B2, 0x73EA, 0xAF5E, 0x73EB, 0xCFCF, 0x73ED, 0xAF5A, 0x73EE, 0xAF5C, - 0x73F4, 0xD678, 0x73F5, 0xD66D, 0x73F6, 0xD66B, 0x73F8, 0xD66C, 0x73FA, 0xD673, 0x73FC, 0xD674, 0x73FD, 0xD670, 0x73FE, 0xB27B, - 0x73FF, 0xD675, 0x7400, 0xD672, 0x7401, 0xD66F, 0x7403, 0xB279, 0x7404, 0xD66E, 0x7405, 0xB277, 0x7406, 0xB27A, 0x7407, 0xD671, - 0x7408, 0xD679, 0x7409, 0xAF5B, 0x740A, 0xB278, 0x740B, 0xD677, 0x740C, 0xD676, 0x740D, 0xB27C, 0x7416, 0xDA7E, 0x741A, 0xDAA1, - 0x741B, 0xB560, 0x741D, 0xDAA7, 0x7420, 0xDAA9, 0x7421, 0xDAA2, 0x7422, 0xB55A, 0x7423, 0xDAA6, 0x7424, 0xDAA5, 0x7425, 0xB55B, - 0x7426, 0xB561, 0x7428, 0xB562, 0x7429, 0xDAA8, 0x742A, 0xB558, 0x742B, 0xDA7D, 0x742C, 0xDA7B, 0x742D, 0xDAA3, 0x742E, 0xDA7A, - 0x742F, 0xB55F, 0x7430, 0xDA7C, 0x7431, 0xDAA4, 0x7432, 0xDAAA, 0x7433, 0xB559, 0x7434, 0xB55E, 0x7435, 0xB55C, 0x7436, 0xB55D, - 0x743A, 0xB557, 0x743F, 0xB7E9, 0x7440, 0xDEB7, 0x7441, 0xB7E8, 0x7442, 0xDEBB, 0x7444, 0xDEB1, 0x7446, 0xDEBC, 0x744A, 0xDEB2, - 0x744B, 0xDEB3, 0x744D, 0xDEBD, 0x744E, 0xDEBA, 0x744F, 0xDEB8, 0x7450, 0xDEB9, 0x7451, 0xDEB5, 0x7452, 0xDEB4, 0x7454, 0xDEBE, - 0x7455, 0xB7E5, 0x7457, 0xDEB6, 0x7459, 0xB7EA, 0x745A, 0xB7E4, 0x745B, 0xB7EB, 0x745C, 0xB7EC, 0x745E, 0xB7E7, 0x745F, 0xB7E6, - 0x7462, 0xE2CE, 0x7463, 0xBABE, 0x7464, 0xBABD, 0x7467, 0xE2D3, 0x7469, 0xBCFC, 0x746A, 0xBABF, 0x746D, 0xBAC1, 0x746E, 0xE2D4, - 0x746F, 0xB7E3, 0x7470, 0xBAC0, 0x7471, 0xE2D0, 0x7472, 0xE2D2, 0x7473, 0xE2CF, 0x7475, 0xE2D1, 0x7479, 0xE6AB, 0x747C, 0xE6AA, - 0x747D, 0xE6A7, 0x747E, 0xBD40, 0x747F, 0xEA62, 0x7480, 0xBD41, 0x7481, 0xE6A6, 0x7483, 0xBCFE, 0x7485, 0xE6A8, 0x7486, 0xE6A5, - 0x7487, 0xE6A2, 0x7488, 0xE6A9, 0x7489, 0xE6A3, 0x748A, 0xE6A4, 0x748B, 0xBCFD, 0x7490, 0xED69, 0x7492, 0xEA66, 0x7494, 0xEA65, - 0x7495, 0xEA67, 0x7497, 0xED66, 0x7498, 0xBF5A, 0x749A, 0xEA63, 0x749C, 0xBF58, 0x749E, 0xBF5C, 0x749F, 0xBF5B, 0x74A0, 0xEA64, - 0x74A1, 0xEA68, 0x74A3, 0xBF59, 0x74A5, 0xED6D, 0x74A6, 0xC0F5, 0x74A7, 0xC27A, 0x74A8, 0xC0F6, 0x74A9, 0xC0F3, 0x74AA, 0xED6A, - 0x74AB, 0xED68, 0x74AD, 0xED6B, 0x74AF, 0xED6E, 0x74B0, 0xC0F4, 0x74B1, 0xED6C, 0x74B2, 0xED67, 0x74B5, 0xF042, 0x74B6, 0xF045, - 0x74B7, 0xF275, 0x74B8, 0xF040, 0x74BA, 0xF46F, 0x74BB, 0xF046, 0x74BD, 0xC3A2, 0x74BE, 0xF044, 0x74BF, 0xC27B, 0x74C0, 0xF041, - 0x74C1, 0xF043, 0x74C2, 0xF047, 0x74C3, 0xF276, 0x74C5, 0xF274, 0x74CA, 0xC3A3, 0x74CB, 0xF273, 0x74CF, 0xC46E, 0x74D4, 0xC4ED, - 0x74D5, 0xF6F1, 0x74D6, 0xC4EC, 0x74D7, 0xF6F3, 0x74D8, 0xF6F0, 0x74D9, 0xF6F2, 0x74DA, 0xC5D0, 0x74DB, 0xF8B2, 0x74DC, 0xA5CA, - 0x74DD, 0xCD6E, 0x74DE, 0xD2BC, 0x74DF, 0xD2BD, 0x74E0, 0xB27D, 0x74E1, 0xDEBF, 0x74E2, 0xBF5D, 0x74E3, 0xC3A4, 0x74E4, 0xC57B, - 0x74E5, 0xF8B3, 0x74E6, 0xA5CB, 0x74E8, 0xCD6F, 0x74E9, 0xA260, 0x74EC, 0xCFD7, 0x74EE, 0xCFD8, 0x74F4, 0xD2BE, 0x74F5, 0xD2BF, - 0x74F6, 0xB27E, 0x74F7, 0xB2A1, 0x74FB, 0xDAAB, 0x74FD, 0xDEC2, 0x74FE, 0xDEC1, 0x74FF, 0xDEC0, 0x7500, 0xE2D5, 0x7502, 0xE2D6, - 0x7503, 0xE2D7, 0x7504, 0xBAC2, 0x7507, 0xE6AD, 0x7508, 0xE6AC, 0x750B, 0xEA69, 0x750C, 0xBF5E, 0x750D, 0xBF5F, 0x750F, 0xED72, - 0x7510, 0xED6F, 0x7511, 0xED70, 0x7512, 0xED71, 0x7513, 0xF049, 0x7514, 0xF048, 0x7515, 0xC27C, 0x7516, 0xF277, 0x7517, 0xF5DE, - 0x7518, 0xA5CC, 0x751A, 0xACC6, 0x751C, 0xB2A2, 0x751D, 0xDEC3, 0x751F, 0xA5CD, 0x7521, 0xD2C0, 0x7522, 0xB2A3, 0x7525, 0xB563, - 0x7526, 0xB564, 0x7528, 0xA5CE, 0x7529, 0xA5CF, 0x752A, 0xCA46, 0x752B, 0xA86A, 0x752C, 0xA869, 0x752D, 0xACC7, 0x752E, 0xCFD9, - 0x752F, 0xDAAC, 0x7530, 0xA5D0, 0x7531, 0xA5D1, 0x7532, 0xA5D2, 0x7533, 0xA5D3, 0x7537, 0xA86B, 0x7538, 0xA86C, 0x7539, 0xCB6E, - 0x753A, 0xCB6D, 0x753D, 0xAAB6, 0x753E, 0xCD72, 0x753F, 0xCD70, 0x7540, 0xCD71, 0x7547, 0xCFDA, 0x7548, 0xCFDB, 0x754B, 0xACCB, - 0x754C, 0xACC9, 0x754E, 0xACCA, 0x754F, 0xACC8, 0x7554, 0xAF60, 0x7559, 0xAF64, 0x755A, 0xAF63, 0x755B, 0xD2C1, 0x755C, 0xAF62, - 0x755D, 0xAF61, 0x755F, 0xD2C2, 0x7562, 0xB2A6, 0x7563, 0xD67B, 0x7564, 0xD67A, 0x7565, 0xB2A4, 0x7566, 0xB2A5, 0x756A, 0xB566, - 0x756B, 0xB565, 0x756C, 0xDAAE, 0x756F, 0xDAAD, 0x7570, 0xB2A7, 0x7576, 0xB7ED, 0x7577, 0xDEC5, 0x7578, 0xB7EE, 0x7579, 0xDEC4, - 0x757D, 0xE2D8, 0x757E, 0xE6AE, 0x757F, 0xBD42, 0x7580, 0xEA6A, 0x7584, 0xED73, 0x7586, 0xC3A6, 0x7587, 0xC3A5, 0x758A, 0xC57C, - 0x758B, 0xA5D4, 0x758C, 0xCD73, 0x758F, 0xB2A8, 0x7590, 0xE2D9, 0x7591, 0xBAC3, 0x7594, 0xCB6F, 0x7595, 0xCB70, 0x7598, 0xCD74, - 0x7599, 0xAAB8, 0x759A, 0xAAB9, 0x759D, 0xAAB7, 0x75A2, 0xACCF, 0x75A3, 0xACD0, 0x75A4, 0xACCD, 0x75A5, 0xACCE, 0x75A7, 0xCFDC, - 0x75AA, 0xCFDD, 0x75AB, 0xACCC, 0x75B0, 0xD2C3, 0x75B2, 0xAF68, 0x75B3, 0xAF69, 0x75B5, 0xB2AB, 0x75B6, 0xD2C9, 0x75B8, 0xAF6E, - 0x75B9, 0xAF6C, 0x75BA, 0xD2CA, 0x75BB, 0xD2C5, 0x75BC, 0xAF6B, 0x75BD, 0xAF6A, 0x75BE, 0xAF65, 0x75BF, 0xD2C8, 0x75C0, 0xD2C7, - 0x75C1, 0xD2C4, 0x75C2, 0xAF6D, 0x75C4, 0xD2C6, 0x75C5, 0xAF66, 0x75C7, 0xAF67, 0x75CA, 0xB2AC, 0x75CB, 0xD6A1, 0x75CC, 0xD6A2, - 0x75CD, 0xB2AD, 0x75CE, 0xD67C, 0x75CF, 0xD67E, 0x75D0, 0xD6A4, 0x75D1, 0xD6A3, 0x75D2, 0xD67D, 0x75D4, 0xB2A9, 0x75D5, 0xB2AA, - 0x75D7, 0xDAB6, 0x75D8, 0xB56B, 0x75D9, 0xB56A, 0x75DA, 0xDAB0, 0x75DB, 0xB568, 0x75DD, 0xDAB3, 0x75DE, 0xB56C, 0x75DF, 0xDAB4, - 0x75E0, 0xB56D, 0x75E1, 0xDAB1, 0x75E2, 0xB567, 0x75E3, 0xB569, 0x75E4, 0xDAB5, 0x75E6, 0xDAB2, 0x75E7, 0xDAAF, 0x75ED, 0xDED2, - 0x75EF, 0xDEC7, 0x75F0, 0xB7F0, 0x75F1, 0xB7F3, 0x75F2, 0xB7F2, 0x75F3, 0xB7F7, 0x75F4, 0xB7F6, 0x75F5, 0xDED3, 0x75F6, 0xDED1, - 0x75F7, 0xDECA, 0x75F8, 0xDECE, 0x75F9, 0xDECD, 0x75FA, 0xB7F4, 0x75FB, 0xDED0, 0x75FC, 0xDECC, 0x75FD, 0xDED4, 0x75FE, 0xDECB, - 0x75FF, 0xB7F5, 0x7600, 0xB7EF, 0x7601, 0xB7F1, 0x7603, 0xDEC9, 0x7608, 0xE2DB, 0x7609, 0xBAC7, 0x760A, 0xE2DF, 0x760B, 0xBAC6, - 0x760C, 0xE2DC, 0x760D, 0xBAC5, 0x760F, 0xDEC8, 0x7610, 0xDECF, 0x7611, 0xE2DE, 0x7613, 0xBAC8, 0x7614, 0xE2E0, 0x7615, 0xE2DD, - 0x7616, 0xE2DA, 0x7619, 0xE6B1, 0x761A, 0xE6B5, 0x761B, 0xE6B7, 0x761C, 0xE6B3, 0x761D, 0xE6B2, 0x761E, 0xE6B0, 0x761F, 0xBD45, - 0x7620, 0xBD43, 0x7621, 0xBD48, 0x7622, 0xBD49, 0x7623, 0xE6B4, 0x7624, 0xBD46, 0x7625, 0xE6AF, 0x7626, 0xBD47, 0x7627, 0xBAC4, - 0x7628, 0xE6B6, 0x7629, 0xBD44, 0x762D, 0xEA6C, 0x762F, 0xEA6B, 0x7630, 0xEA73, 0x7631, 0xEA6D, 0x7632, 0xEA72, 0x7633, 0xEA6F, - 0x7634, 0xBF60, 0x7635, 0xEA71, 0x7638, 0xBF61, 0x763A, 0xBF62, 0x763C, 0xEA70, 0x763D, 0xEA6E, 0x7642, 0xC0F8, 0x7643, 0xED74, - 0x7646, 0xC0F7, 0x7647, 0xED77, 0x7648, 0xED75, 0x7649, 0xED76, 0x764C, 0xC0F9, 0x7650, 0xF04D, 0x7652, 0xC2A1, 0x7653, 0xF04E, - 0x7656, 0xC27D, 0x7657, 0xF04F, 0x7658, 0xC27E, 0x7659, 0xF04C, 0x765A, 0xF050, 0x765C, 0xF04A, 0x765F, 0xC3A7, 0x7660, 0xF278, - 0x7661, 0xC3A8, 0x7662, 0xC46F, 0x7664, 0xF04B, 0x7665, 0xC470, 0x7669, 0xC4EE, 0x766A, 0xF5DF, 0x766C, 0xC57E, 0x766D, 0xF6F4, - 0x766E, 0xC57D, 0x7670, 0xF7EA, 0x7671, 0xC5F5, 0x7672, 0xC5F6, 0x7675, 0xF9CC, 0x7678, 0xACD1, 0x7679, 0xCFDE, 0x767B, 0xB56E, - 0x767C, 0xB56F, 0x767D, 0xA5D5, 0x767E, 0xA6CA, 0x767F, 0xCA47, 0x7681, 0xCB71, 0x7682, 0xA86D, 0x7684, 0xAABA, 0x7686, 0xACD2, - 0x7687, 0xACD3, 0x7688, 0xACD4, 0x7689, 0xD6A6, 0x768A, 0xD2CB, 0x768B, 0xAF6F, 0x768E, 0xB2AE, 0x768F, 0xD6A5, 0x7692, 0xDAB8, - 0x7693, 0xB571, 0x7695, 0xDAB7, 0x7696, 0xB570, 0x7699, 0xDED5, 0x769A, 0xBD4A, 0x769B, 0xE6BB, 0x769C, 0xE6B8, 0x769D, 0xE6B9, - 0x769E, 0xE6BA, 0x76A4, 0xED78, 0x76A6, 0xF051, 0x76AA, 0xF471, 0x76AB, 0xF470, 0x76AD, 0xF6F5, 0x76AE, 0xA5D6, 0x76AF, 0xCD75, - 0x76B0, 0xAF70, 0x76B4, 0xB572, 0x76B5, 0xDED6, 0x76B8, 0xE2E1, 0x76BA, 0xBD4B, 0x76BB, 0xEA74, 0x76BD, 0xF052, 0x76BE, 0xF472, - 0x76BF, 0xA5D7, 0x76C2, 0xAABB, 0x76C3, 0xACD7, 0x76C4, 0xCFDF, 0x76C5, 0xACD8, 0x76C6, 0xACD6, 0x76C8, 0xACD5, 0x76C9, 0xD2CC, - 0x76CA, 0xAF71, 0x76CD, 0xAF72, 0x76CE, 0xAF73, 0x76D2, 0xB2B0, 0x76D3, 0xD6A7, 0x76D4, 0xB2AF, 0x76DA, 0xDAB9, 0x76DB, 0xB2B1, - 0x76DC, 0xB573, 0x76DD, 0xDED7, 0x76DE, 0xB7F8, 0x76DF, 0xB7F9, 0x76E1, 0xBAC9, 0x76E3, 0xBACA, 0x76E4, 0xBD4C, 0x76E5, 0xBF64, - 0x76E6, 0xEA75, 0x76E7, 0xBF63, 0x76E9, 0xED79, 0x76EA, 0xC0FA, 0x76EC, 0xF053, 0x76ED, 0xF473, 0x76EE, 0xA5D8, 0x76EF, 0xA86E, - 0x76F0, 0xCD78, 0x76F1, 0xCD77, 0x76F2, 0xAABC, 0x76F3, 0xCD76, 0x76F4, 0xAABD, 0x76F5, 0xCD79, 0x76F7, 0xCFE5, 0x76F8, 0xACDB, - 0x76F9, 0xACDA, 0x76FA, 0xCFE7, 0x76FB, 0xCFE6, 0x76FC, 0xACDF, 0x76FE, 0xACDE, 0x7701, 0xACD9, 0x7703, 0xCFE1, 0x7704, 0xCFE2, - 0x7705, 0xCFE3, 0x7707, 0xACE0, 0x7708, 0xCFE0, 0x7709, 0xACDC, 0x770A, 0xCFE4, 0x770B, 0xACDD, 0x7710, 0xD2CF, 0x7711, 0xD2D3, - 0x7712, 0xD2D1, 0x7713, 0xD2D0, 0x7715, 0xD2D4, 0x7719, 0xD2D5, 0x771A, 0xD2D6, 0x771B, 0xD2CE, 0x771D, 0xD2CD, 0x771F, 0xAF75, - 0x7720, 0xAF76, 0x7722, 0xD2D7, 0x7723, 0xD2D2, 0x7725, 0xD6B0, 0x7727, 0xD2D8, 0x7728, 0xAF77, 0x7729, 0xAF74, 0x772D, 0xD6AA, - 0x772F, 0xD6A9, 0x7731, 0xD6AB, 0x7732, 0xD6AC, 0x7733, 0xD6AE, 0x7734, 0xD6AD, 0x7735, 0xD6B2, 0x7736, 0xB2B5, 0x7737, 0xB2B2, - 0x7738, 0xB2B6, 0x7739, 0xD6A8, 0x773A, 0xB2B7, 0x773B, 0xD6B1, 0x773C, 0xB2B4, 0x773D, 0xD6AF, 0x773E, 0xB2B3, 0x7744, 0xDABC, - 0x7745, 0xDABE, 0x7746, 0xDABA, 0x7747, 0xDABB, 0x774A, 0xDABF, 0x774B, 0xDAC1, 0x774C, 0xDAC2, 0x774D, 0xDABD, 0x774E, 0xDAC0, - 0x774F, 0xB574, 0x7752, 0xDEDB, 0x7754, 0xDEE0, 0x7755, 0xDED8, 0x7756, 0xDEDC, 0x7759, 0xDEE1, 0x775A, 0xDEDD, 0x775B, 0xB7FA, - 0x775C, 0xB843, 0x775E, 0xB7FD, 0x775F, 0xDED9, 0x7760, 0xDEDA, 0x7761, 0xBACE, 0x7762, 0xB846, 0x7763, 0xB7FE, 0x7765, 0xB844, - 0x7766, 0xB7FC, 0x7767, 0xDEDF, 0x7768, 0xB845, 0x7769, 0xDEDE, 0x776A, 0xB841, 0x776B, 0xB7FB, 0x776C, 0xB842, 0x776D, 0xDEE2, - 0x776E, 0xE2E6, 0x776F, 0xE2E8, 0x7779, 0xB840, 0x777C, 0xE2E3, 0x777D, 0xBACC, 0x777E, 0xE2E9, 0x777F, 0xBACD, 0x7780, 0xE2E7, - 0x7781, 0xE2E2, 0x7782, 0xE2E5, 0x7783, 0xE2EA, 0x7784, 0xBACB, 0x7785, 0xE2E4, 0x7787, 0xBD4E, 0x7788, 0xE6BF, 0x7789, 0xE6BE, - 0x778B, 0xBD51, 0x778C, 0xBD4F, 0x778D, 0xE6BC, 0x778E, 0xBD4D, 0x778F, 0xE6BD, 0x7791, 0xBD50, 0x7795, 0xEA7D, 0x7797, 0xEAA1, - 0x7799, 0xEA7E, 0x779A, 0xEA76, 0x779B, 0xEA7A, 0x779C, 0xEA79, 0x779D, 0xEA77, 0x779E, 0xBF66, 0x779F, 0xBF67, 0x77A0, 0xBF65, - 0x77A1, 0xEA78, 0x77A2, 0xEA7B, 0x77A3, 0xEA7C, 0x77A5, 0xBF68, 0x77A7, 0xC140, 0x77A8, 0xEDA3, 0x77AA, 0xC0FC, 0x77AB, 0xED7B, - 0x77AC, 0xC0FE, 0x77AD, 0xC141, 0x77B0, 0xC0FD, 0x77B1, 0xEDA2, 0x77B2, 0xED7C, 0x77B3, 0xC0FB, 0x77B4, 0xEDA1, 0x77B5, 0xED7A, - 0x77B6, 0xED7E, 0x77B7, 0xED7D, 0x77BA, 0xF055, 0x77BB, 0xC2A4, 0x77BC, 0xC2A5, 0x77BD, 0xC2A2, 0x77BF, 0xC2A3, 0x77C2, 0xF054, - 0x77C4, 0xF27B, 0x77C7, 0xC3A9, 0x77C9, 0xF279, 0x77CA, 0xF27A, 0x77CC, 0xF474, 0x77CD, 0xF477, 0x77CE, 0xF475, 0x77CF, 0xF476, - 0x77D0, 0xF5E0, 0x77D3, 0xC4EF, 0x77D4, 0xF7EB, 0x77D5, 0xF8B4, 0x77D7, 0xC5F7, 0x77D8, 0xF8F8, 0x77D9, 0xF8F9, 0x77DA, 0xC666, - 0x77DB, 0xA5D9, 0x77DC, 0xACE1, 0x77DE, 0xDAC3, 0x77E0, 0xDEE3, 0x77E2, 0xA5DA, 0x77E3, 0xA86F, 0x77E5, 0xAABE, 0x77E7, 0xCFE8, - 0x77E8, 0xCFE9, 0x77E9, 0xAF78, 0x77EC, 0xDAC4, 0x77ED, 0xB575, 0x77EE, 0xB847, 0x77EF, 0xC142, 0x77F0, 0xEDA4, 0x77F1, 0xF27C, - 0x77F2, 0xF478, 0x77F3, 0xA5DB, 0x77F7, 0xCDA1, 0x77F8, 0xCD7A, 0x77F9, 0xCD7C, 0x77FA, 0xCD7E, 0x77FB, 0xCD7D, 0x77FC, 0xCD7B, - 0x77FD, 0xAABF, 0x7802, 0xACE2, 0x7803, 0xCFF2, 0x7805, 0xCFED, 0x7806, 0xCFEA, 0x7809, 0xCFF1, 0x780C, 0xACE4, 0x780D, 0xACE5, - 0x780E, 0xCFF0, 0x780F, 0xCFEF, 0x7810, 0xCFEE, 0x7811, 0xCFEB, 0x7812, 0xCFEC, 0x7813, 0xCFF3, 0x7814, 0xACE3, 0x781D, 0xAF7C, - 0x781F, 0xAFA4, 0x7820, 0xAFA3, 0x7821, 0xD2E1, 0x7822, 0xD2DB, 0x7823, 0xD2D9, 0x7825, 0xAFA1, 0x7826, 0xD6B9, 0x7827, 0xAF7A, - 0x7828, 0xD2DE, 0x7829, 0xD2E2, 0x782A, 0xD2E4, 0x782B, 0xD2E0, 0x782C, 0xD2DA, 0x782D, 0xAFA2, 0x782E, 0xD2DF, 0x782F, 0xD2DD, - 0x7830, 0xAF79, 0x7831, 0xD2E5, 0x7832, 0xAFA5, 0x7833, 0xD2E3, 0x7834, 0xAF7D, 0x7835, 0xD2DC, 0x7837, 0xAF7E, 0x7838, 0xAF7B, - 0x7843, 0xB2B9, 0x7845, 0xD6BA, 0x7848, 0xD6B3, 0x7849, 0xD6B5, 0x784A, 0xD6B7, 0x784C, 0xD6B8, 0x784D, 0xD6B6, 0x784E, 0xB2BA, - 0x7850, 0xD6BB, 0x7852, 0xD6B4, 0x785C, 0xDAC8, 0x785D, 0xB576, 0x785E, 0xDAD0, 0x7860, 0xDAC5, 0x7862, 0xDAD1, 0x7864, 0xDAC6, - 0x7865, 0xDAC7, 0x7868, 0xDACF, 0x7869, 0xDACE, 0x786A, 0xDACB, 0x786B, 0xB2B8, 0x786C, 0xB577, 0x786D, 0xDAC9, 0x786E, 0xDACC, - 0x786F, 0xB578, 0x7870, 0xDACD, 0x7871, 0xDACA, 0x7879, 0xDEEE, 0x787B, 0xDEF2, 0x787C, 0xB84E, 0x787E, 0xE2F0, 0x787F, 0xB851, - 0x7880, 0xDEF0, 0x7881, 0xF9D6, 0x7883, 0xDEED, 0x7884, 0xDEE8, 0x7885, 0xDEEA, 0x7886, 0xDEEB, 0x7887, 0xDEE4, 0x7889, 0xB84D, - 0x788C, 0xB84C, 0x788E, 0xB848, 0x788F, 0xDEE7, 0x7891, 0xB84F, 0x7893, 0xB850, 0x7894, 0xDEE6, 0x7895, 0xDEE9, 0x7896, 0xDEF1, - 0x7897, 0xB84A, 0x7898, 0xB84B, 0x7899, 0xDEEF, 0x789A, 0xDEE5, 0x789E, 0xE2F2, 0x789F, 0xBAD0, 0x78A0, 0xE2F4, 0x78A1, 0xDEEC, - 0x78A2, 0xE2F6, 0x78A3, 0xBAD4, 0x78A4, 0xE2F7, 0x78A5, 0xE2F3, 0x78A7, 0xBAD1, 0x78A8, 0xE2EF, 0x78A9, 0xBAD3, 0x78AA, 0xE2EC, - 0x78AB, 0xE2F1, 0x78AC, 0xE2F5, 0x78AD, 0xE2EE, 0x78B0, 0xB849, 0x78B2, 0xE2EB, 0x78B3, 0xBAD2, 0x78B4, 0xE2ED, 0x78BA, 0xBD54, - 0x78BB, 0xE6C1, 0x78BC, 0xBD58, 0x78BE, 0xBD56, 0x78C1, 0xBACF, 0x78C3, 0xE6C8, 0x78C4, 0xE6C9, 0x78C5, 0xBD53, 0x78C8, 0xE6C7, - 0x78C9, 0xE6CA, 0x78CA, 0xBD55, 0x78CB, 0xBD52, 0x78CC, 0xE6C3, 0x78CD, 0xE6C0, 0x78CE, 0xE6C5, 0x78CF, 0xE6C2, 0x78D0, 0xBD59, - 0x78D1, 0xE6C4, 0x78D4, 0xE6C6, 0x78D5, 0xBD57, 0x78DA, 0xBF6A, 0x78DB, 0xEAA8, 0x78DD, 0xEAA2, 0x78DE, 0xEAA6, 0x78DF, 0xEAAC, - 0x78E0, 0xEAAD, 0x78E1, 0xEAA9, 0x78E2, 0xEAAA, 0x78E3, 0xEAA7, 0x78E5, 0xEAA4, 0x78E7, 0xBF6C, 0x78E8, 0xBF69, 0x78E9, 0xEAA3, - 0x78EA, 0xEAA5, 0x78EC, 0xBF6B, 0x78ED, 0xEAAB, 0x78EF, 0xC146, 0x78F2, 0xEDAA, 0x78F3, 0xEDA5, 0x78F4, 0xC145, 0x78F7, 0xC143, - 0x78F9, 0xEDAC, 0x78FA, 0xC144, 0x78FB, 0xEDA8, 0x78FC, 0xEDA9, 0x78FD, 0xEDA6, 0x78FE, 0xEDAD, 0x78FF, 0xF056, 0x7901, 0xC147, - 0x7902, 0xEDA7, 0x7904, 0xEDAE, 0x7905, 0xEDAB, 0x7909, 0xF05A, 0x790C, 0xF057, 0x790E, 0xC2A6, 0x7910, 0xF05B, 0x7911, 0xF05D, - 0x7912, 0xF05C, 0x7913, 0xF058, 0x7914, 0xF059, 0x7917, 0xF2A3, 0x7919, 0xC3AA, 0x791B, 0xF27E, 0x791C, 0xF2A2, 0x791D, 0xF27D, - 0x791E, 0xF2A4, 0x7921, 0xF2A1, 0x7923, 0xF47A, 0x7924, 0xF47D, 0x7925, 0xF479, 0x7926, 0xC471, 0x7927, 0xF47B, 0x7928, 0xF47C, - 0x7929, 0xF47E, 0x792A, 0xC472, 0x792B, 0xC474, 0x792C, 0xC473, 0x792D, 0xF5E1, 0x792F, 0xF5E3, 0x7931, 0xF5E2, 0x7935, 0xF6F6, - 0x7938, 0xF8B5, 0x7939, 0xF8FA, 0x793A, 0xA5DC, 0x793D, 0xCB72, 0x793E, 0xAAC0, 0x793F, 0xCDA3, 0x7940, 0xAAC1, 0x7941, 0xAAC2, - 0x7942, 0xCDA2, 0x7944, 0xCFF8, 0x7945, 0xCFF7, 0x7946, 0xACE6, 0x7947, 0xACE9, 0x7948, 0xACE8, 0x7949, 0xACE7, 0x794A, 0xCFF4, - 0x794B, 0xCFF6, 0x794C, 0xCFF5, 0x794F, 0xD2E8, 0x7950, 0xAFA7, 0x7951, 0xD2EC, 0x7952, 0xD2EB, 0x7953, 0xD2EA, 0x7954, 0xD2E6, - 0x7955, 0xAFA6, 0x7956, 0xAFAA, 0x7957, 0xAFAD, 0x795A, 0xAFAE, 0x795B, 0xD2E7, 0x795C, 0xD2E9, 0x795D, 0xAFAC, 0x795E, 0xAFAB, - 0x795F, 0xAFA9, 0x7960, 0xAFA8, 0x7961, 0xD6C2, 0x7963, 0xD6C0, 0x7964, 0xD6BC, 0x7965, 0xB2BB, 0x7967, 0xD6BD, 0x7968, 0xB2BC, - 0x7969, 0xD6BE, 0x796A, 0xD6BF, 0x796B, 0xD6C1, 0x796D, 0xB2BD, 0x7970, 0xDAD5, 0x7972, 0xDAD4, 0x7973, 0xDAD3, 0x7974, 0xDAD2, - 0x7979, 0xDEF6, 0x797A, 0xB852, 0x797C, 0xDEF3, 0x797D, 0xDEF5, 0x797F, 0xB853, 0x7981, 0xB854, 0x7982, 0xDEF4, 0x7988, 0xE341, - 0x798A, 0xE2F9, 0x798B, 0xE2FA, 0x798D, 0xBAD7, 0x798E, 0xBAD5, 0x798F, 0xBAD6, 0x7990, 0xE343, 0x7992, 0xE342, 0x7993, 0xE2FE, - 0x7994, 0xE2FD, 0x7995, 0xE2FC, 0x7996, 0xE2FB, 0x7997, 0xE340, 0x7998, 0xE2F8, 0x799A, 0xE6CB, 0x799B, 0xE6D0, 0x799C, 0xE6CE, - 0x79A0, 0xE6CD, 0x79A1, 0xE6CC, 0x79A2, 0xE6CF, 0x79A4, 0xEAAE, 0x79A6, 0xBF6D, 0x79A7, 0xC148, 0x79A8, 0xEDB0, 0x79AA, 0xC149, - 0x79AB, 0xEDAF, 0x79AC, 0xF05F, 0x79AD, 0xF05E, 0x79AE, 0xC2A7, 0x79B0, 0xF2A5, 0x79B1, 0xC3AB, 0x79B2, 0xF4A1, 0x79B3, 0xC5A1, - 0x79B4, 0xF6F7, 0x79B6, 0xF8B7, 0x79B7, 0xF8B6, 0x79B8, 0xC9A8, 0x79B9, 0xACEA, 0x79BA, 0xACEB, 0x79BB, 0xD6C3, 0x79BD, 0xB856, - 0x79BE, 0xA5DD, 0x79BF, 0xA872, 0x79C0, 0xA871, 0x79C1, 0xA870, 0x79C5, 0xCDA4, 0x79C8, 0xAAC4, 0x79C9, 0xAAC3, 0x79CB, 0xACEE, - 0x79CD, 0xCFFA, 0x79CE, 0xCFFD, 0x79CF, 0xCFFB, 0x79D1, 0xACEC, 0x79D2, 0xACED, 0x79D5, 0xCFF9, 0x79D6, 0xCFFC, 0x79D8, 0xAFB5, - 0x79DC, 0xD2F3, 0x79DD, 0xD2F5, 0x79DE, 0xD2F4, 0x79DF, 0xAFB2, 0x79E0, 0xD2EF, 0x79E3, 0xAFB0, 0x79E4, 0xAFAF, 0x79E6, 0xAFB3, - 0x79E7, 0xAFB1, 0x79E9, 0xAFB4, 0x79EA, 0xD2F2, 0x79EB, 0xD2ED, 0x79EC, 0xD2EE, 0x79ED, 0xD2F1, 0x79EE, 0xD2F0, 0x79F6, 0xD6C6, - 0x79F7, 0xD6C7, 0x79F8, 0xD6C5, 0x79FA, 0xD6C4, 0x79FB, 0xB2BE, 0x7A00, 0xB57D, 0x7A02, 0xDAD6, 0x7A03, 0xDAD8, 0x7A04, 0xDADA, - 0x7A05, 0xB57C, 0x7A08, 0xB57A, 0x7A0A, 0xDAD7, 0x7A0B, 0xB57B, 0x7A0C, 0xDAD9, 0x7A0D, 0xB579, 0x7A10, 0xDF41, 0x7A11, 0xDEF7, - 0x7A12, 0xDEFA, 0x7A13, 0xDEFE, 0x7A14, 0xB85A, 0x7A15, 0xDEFC, 0x7A17, 0xDEFB, 0x7A18, 0xDEF8, 0x7A19, 0xDEF9, 0x7A1A, 0xB858, - 0x7A1B, 0xDF40, 0x7A1C, 0xB857, 0x7A1E, 0xB85C, 0x7A1F, 0xB85B, 0x7A20, 0xB859, 0x7A22, 0xDEFD, 0x7A26, 0xE349, 0x7A28, 0xE348, - 0x7A2B, 0xE344, 0x7A2E, 0xBAD8, 0x7A2F, 0xE347, 0x7A30, 0xE346, 0x7A31, 0xBAD9, 0x7A37, 0xBD5E, 0x7A39, 0xE6D2, 0x7A3B, 0xBD5F, - 0x7A3C, 0xBD5B, 0x7A3D, 0xBD5D, 0x7A3F, 0xBD5A, 0x7A40, 0xBD5C, 0x7A44, 0xEAAF, 0x7A46, 0xBF70, 0x7A47, 0xEAB1, 0x7A48, 0xEAB0, - 0x7A4A, 0xE345, 0x7A4B, 0xBF72, 0x7A4C, 0xBF71, 0x7A4D, 0xBF6E, 0x7A4E, 0xBF6F, 0x7A54, 0xEDB5, 0x7A56, 0xEDB3, 0x7A57, 0xC14A, - 0x7A58, 0xEDB4, 0x7A5A, 0xEDB6, 0x7A5B, 0xEDB2, 0x7A5C, 0xEDB1, 0x7A5F, 0xF060, 0x7A60, 0xC2AA, 0x7A61, 0xC2A8, 0x7A62, 0xC2A9, - 0x7A67, 0xF2A6, 0x7A68, 0xF2A7, 0x7A69, 0xC3AD, 0x7A6B, 0xC3AC, 0x7A6C, 0xF4A3, 0x7A6D, 0xF4A4, 0x7A6E, 0xF4A2, 0x7A70, 0xF6F8, - 0x7A71, 0xF6F9, 0x7A74, 0xA5DE, 0x7A75, 0xCA48, 0x7A76, 0xA873, 0x7A78, 0xCDA5, 0x7A79, 0xAAC6, 0x7A7A, 0xAAC5, 0x7A7B, 0xCDA6, - 0x7A7E, 0xD040, 0x7A7F, 0xACEF, 0x7A80, 0xCFFE, 0x7A81, 0xACF0, 0x7A84, 0xAFB6, 0x7A85, 0xD2F8, 0x7A86, 0xD2F6, 0x7A87, 0xD2FC, - 0x7A88, 0xAFB7, 0x7A89, 0xD2F7, 0x7A8A, 0xD2FB, 0x7A8B, 0xD2F9, 0x7A8C, 0xD2FA, 0x7A8F, 0xD6C8, 0x7A90, 0xD6CA, 0x7A92, 0xB2BF, - 0x7A94, 0xD6C9, 0x7A95, 0xB2C0, 0x7A96, 0xB5A2, 0x7A97, 0xB5A1, 0x7A98, 0xB57E, 0x7A99, 0xDADB, 0x7A9E, 0xDF44, 0x7A9F, 0xB85D, - 0x7AA0, 0xB85E, 0x7AA2, 0xDF43, 0x7AA3, 0xDF42, 0x7AA8, 0xE34A, 0x7AA9, 0xBADB, 0x7AAA, 0xBADA, 0x7AAB, 0xE34B, 0x7AAC, 0xE34C, - 0x7AAE, 0xBD61, 0x7AAF, 0xBD60, 0x7AB1, 0xEAB5, 0x7AB2, 0xE6D3, 0x7AB3, 0xE6D5, 0x7AB4, 0xE6D4, 0x7AB5, 0xEAB4, 0x7AB6, 0xEAB2, - 0x7AB7, 0xEAB6, 0x7AB8, 0xEAB3, 0x7ABA, 0xBF73, 0x7ABE, 0xEDB7, 0x7ABF, 0xC14B, 0x7AC0, 0xEDB8, 0x7AC1, 0xEDB9, 0x7AC4, 0xC2AB, - 0x7AC5, 0xC2AC, 0x7AC7, 0xC475, 0x7ACA, 0xC5D1, 0x7ACB, 0xA5DF, 0x7AD1, 0xD041, 0x7AD8, 0xD2FD, 0x7AD9, 0xAFB8, 0x7ADF, 0xB3BA, - 0x7AE0, 0xB3B9, 0x7AE3, 0xB5A4, 0x7AE4, 0xDADD, 0x7AE5, 0xB5A3, 0x7AE6, 0xDADC, 0x7AEB, 0xDF45, 0x7AED, 0xBADC, 0x7AEE, 0xE34D, - 0x7AEF, 0xBADD, 0x7AF6, 0xC476, 0x7AF7, 0xF4A5, 0x7AF9, 0xA6CB, 0x7AFA, 0xAAC7, 0x7AFB, 0xCDA7, 0x7AFD, 0xACF2, 0x7AFF, 0xACF1, - 0x7B00, 0xD042, 0x7B01, 0xD043, 0x7B04, 0xD340, 0x7B05, 0xD342, 0x7B06, 0xAFB9, 0x7B08, 0xD344, 0x7B09, 0xD347, 0x7B0A, 0xD345, - 0x7B0E, 0xD346, 0x7B0F, 0xD343, 0x7B10, 0xD2FE, 0x7B11, 0xAFBA, 0x7B12, 0xD348, 0x7B13, 0xD341, 0x7B18, 0xD6D3, 0x7B19, 0xB2C6, - 0x7B1A, 0xD6DC, 0x7B1B, 0xB2C3, 0x7B1D, 0xD6D5, 0x7B1E, 0xB2C7, 0x7B20, 0xB2C1, 0x7B22, 0xD6D0, 0x7B23, 0xD6DD, 0x7B24, 0xD6D1, - 0x7B25, 0xD6CE, 0x7B26, 0xB2C5, 0x7B28, 0xB2C2, 0x7B2A, 0xD6D4, 0x7B2B, 0xD6D7, 0x7B2C, 0xB2C4, 0x7B2D, 0xD6D8, 0x7B2E, 0xB2C8, - 0x7B2F, 0xD6D9, 0x7B30, 0xD6CF, 0x7B31, 0xD6D6, 0x7B32, 0xD6DA, 0x7B33, 0xD6D2, 0x7B34, 0xD6CD, 0x7B35, 0xD6CB, 0x7B38, 0xD6DB, - 0x7B3B, 0xDADF, 0x7B40, 0xDAE4, 0x7B44, 0xDAE0, 0x7B45, 0xDAE6, 0x7B46, 0xB5A7, 0x7B47, 0xD6CC, 0x7B48, 0xDAE1, 0x7B49, 0xB5A5, - 0x7B4A, 0xDADE, 0x7B4B, 0xB5AC, 0x7B4C, 0xDAE2, 0x7B4D, 0xB5AB, 0x7B4E, 0xDAE3, 0x7B4F, 0xB5AD, 0x7B50, 0xB5A8, 0x7B51, 0xB5AE, - 0x7B52, 0xB5A9, 0x7B54, 0xB5AA, 0x7B56, 0xB5A6, 0x7B58, 0xDAE5, 0x7B60, 0xB861, 0x7B61, 0xDF50, 0x7B63, 0xDF53, 0x7B64, 0xDF47, - 0x7B65, 0xDF4C, 0x7B66, 0xDF46, 0x7B67, 0xB863, 0x7B69, 0xDF4A, 0x7B6D, 0xDF48, 0x7B6E, 0xB862, 0x7B70, 0xDF4F, 0x7B71, 0xDF4E, - 0x7B72, 0xDF4B, 0x7B73, 0xDF4D, 0x7B74, 0xDF49, 0x7B75, 0xBAE1, 0x7B76, 0xDF52, 0x7B77, 0xB85F, 0x7B78, 0xDF51, 0x7B82, 0xE35D, - 0x7B84, 0xBAE8, 0x7B85, 0xE358, 0x7B87, 0xBAE7, 0x7B88, 0xE34E, 0x7B8A, 0xE350, 0x7B8B, 0xBAE0, 0x7B8C, 0xE355, 0x7B8D, 0xE354, - 0x7B8E, 0xE357, 0x7B8F, 0xBAE5, 0x7B90, 0xE352, 0x7B91, 0xE351, 0x7B94, 0xBAE4, 0x7B95, 0xBADF, 0x7B96, 0xE353, 0x7B97, 0xBAE2, - 0x7B98, 0xE359, 0x7B99, 0xE35B, 0x7B9B, 0xE356, 0x7B9C, 0xE34F, 0x7B9D, 0xBAE3, 0x7BA0, 0xBD69, 0x7BA1, 0xBADE, 0x7BA4, 0xE35C, - 0x7BAC, 0xE6D9, 0x7BAD, 0xBD62, 0x7BAF, 0xE6DB, 0x7BB1, 0xBD63, 0x7BB4, 0xBD65, 0x7BB5, 0xE6DE, 0x7BB7, 0xE6D6, 0x7BB8, 0xBAE6, - 0x7BB9, 0xE6DC, 0x7BBE, 0xE6D8, 0x7BC0, 0xB860, 0x7BC1, 0xBD68, 0x7BC4, 0xBD64, 0x7BC6, 0xBD66, 0x7BC7, 0xBD67, 0x7BC9, 0xBF76, - 0x7BCA, 0xE6DD, 0x7BCB, 0xE6D7, 0x7BCC, 0xBD6A, 0x7BCE, 0xE6DA, 0x7BD4, 0xEAC0, 0x7BD5, 0xEABB, 0x7BD8, 0xEAC5, 0x7BD9, 0xBF74, - 0x7BDA, 0xEABD, 0x7BDB, 0xBF78, 0x7BDC, 0xEAC3, 0x7BDD, 0xEABA, 0x7BDE, 0xEAB7, 0x7BDF, 0xEAC6, 0x7BE0, 0xC151, 0x7BE1, 0xBF79, - 0x7BE2, 0xEAC2, 0x7BE3, 0xEAB8, 0x7BE4, 0xBF77, 0x7BE5, 0xEABC, 0x7BE6, 0xBF7B, 0x7BE7, 0xEAB9, 0x7BE8, 0xEABE, 0x7BE9, 0xBF7A, - 0x7BEA, 0xEAC1, 0x7BEB, 0xEAC4, 0x7BF0, 0xEDCB, 0x7BF1, 0xEDCC, 0x7BF2, 0xEDBC, 0x7BF3, 0xEDC3, 0x7BF4, 0xEDC1, 0x7BF7, 0xC14F, - 0x7BF8, 0xEDC8, 0x7BF9, 0xEABF, 0x7BFB, 0xEDBF, 0x7BFD, 0xEDC9, 0x7BFE, 0xC14E, 0x7BFF, 0xEDBE, 0x7C00, 0xEDBD, 0x7C01, 0xEDC7, - 0x7C02, 0xEDC4, 0x7C03, 0xEDC6, 0x7C05, 0xEDBA, 0x7C06, 0xEDCA, 0x7C07, 0xC14C, 0x7C09, 0xEDC5, 0x7C0A, 0xEDCE, 0x7C0B, 0xEDC2, - 0x7C0C, 0xC150, 0x7C0D, 0xC14D, 0x7C0E, 0xEDC0, 0x7C0F, 0xEDBB, 0x7C10, 0xEDCD, 0x7C11, 0xBF75, 0x7C19, 0xF063, 0x7C1C, 0xF061, - 0x7C1D, 0xF067, 0x7C1E, 0xC2B0, 0x7C1F, 0xF065, 0x7C20, 0xF064, 0x7C21, 0xC2B2, 0x7C22, 0xF06A, 0x7C23, 0xC2B1, 0x7C25, 0xF06B, - 0x7C26, 0xF068, 0x7C27, 0xC2AE, 0x7C28, 0xF069, 0x7C29, 0xF062, 0x7C2A, 0xC2AF, 0x7C2B, 0xC2AD, 0x7C2C, 0xF2AB, 0x7C2D, 0xF066, - 0x7C30, 0xF06C, 0x7C33, 0xF2A8, 0x7C37, 0xC3B2, 0x7C38, 0xC3B0, 0x7C39, 0xF2AA, 0x7C3B, 0xF2AC, 0x7C3C, 0xF2A9, 0x7C3D, 0xC3B1, - 0x7C3E, 0xC3AE, 0x7C3F, 0xC3AF, 0x7C40, 0xC3B3, 0x7C43, 0xC478, 0x7C45, 0xF4AA, 0x7C47, 0xF4A9, 0x7C48, 0xF4A7, 0x7C49, 0xF4A6, - 0x7C4A, 0xF4A8, 0x7C4C, 0xC477, 0x7C4D, 0xC479, 0x7C50, 0xC4F0, 0x7C53, 0xF5E5, 0x7C54, 0xF5E4, 0x7C57, 0xF6FA, 0x7C59, 0xF6FC, - 0x7C5A, 0xF6FE, 0x7C5B, 0xF6FD, 0x7C5C, 0xF6FB, 0x7C5F, 0xC5A3, 0x7C60, 0xC5A2, 0x7C63, 0xC5D3, 0x7C64, 0xC5D2, 0x7C65, 0xC5D4, - 0x7C66, 0xF7ED, 0x7C67, 0xF7EC, 0x7C69, 0xF8FB, 0x7C6A, 0xF8B8, 0x7C6B, 0xF8FC, 0x7C6C, 0xC658, 0x7C6E, 0xC659, 0x7C6F, 0xF96D, - 0x7C72, 0xC67E, 0x7C73, 0xA6CC, 0x7C75, 0xCDA8, 0x7C78, 0xD045, 0x7C79, 0xD046, 0x7C7A, 0xD044, 0x7C7D, 0xACF3, 0x7C7F, 0xD047, - 0x7C80, 0xD048, 0x7C81, 0xD049, 0x7C84, 0xD349, 0x7C85, 0xD34F, 0x7C88, 0xD34D, 0x7C89, 0xAFBB, 0x7C8A, 0xD34B, 0x7C8C, 0xD34C, - 0x7C8D, 0xD34E, 0x7C91, 0xD34A, 0x7C92, 0xB2C9, 0x7C94, 0xD6DE, 0x7C95, 0xB2CB, 0x7C96, 0xD6E0, 0x7C97, 0xB2CA, 0x7C98, 0xD6DF, - 0x7C9E, 0xDAE8, 0x7C9F, 0xB5AF, 0x7CA1, 0xDAEA, 0x7CA2, 0xDAE7, 0x7CA3, 0xD6E1, 0x7CA5, 0xB5B0, 0x7CA7, 0xF9DB, 0x7CA8, 0xDAE9, - 0x7CAF, 0xDF56, 0x7CB1, 0xB864, 0x7CB2, 0xDF54, 0x7CB3, 0xB865, 0x7CB4, 0xDF55, 0x7CB5, 0xB866, 0x7CB9, 0xBAE9, 0x7CBA, 0xE361, - 0x7CBB, 0xE35E, 0x7CBC, 0xE360, 0x7CBD, 0xBAEA, 0x7CBE, 0xBAEB, 0x7CBF, 0xE35F, 0x7CC5, 0xE6DF, 0x7CC8, 0xE6E0, 0x7CCA, 0xBD6B, - 0x7CCB, 0xE6E2, 0x7CCC, 0xE6E1, 0x7CCE, 0xA261, 0x7CD0, 0xEACA, 0x7CD1, 0xEACB, 0x7CD2, 0xEAC7, 0x7CD4, 0xEAC8, 0x7CD5, 0xBF7C, - 0x7CD6, 0xBF7D, 0x7CD7, 0xEAC9, 0x7CD9, 0xC157, 0x7CDC, 0xC153, 0x7CDD, 0xC158, 0x7CDE, 0xC154, 0x7CDF, 0xC156, 0x7CE0, 0xC152, - 0x7CE2, 0xC155, 0x7CE7, 0xC2B3, 0x7CE8, 0xEDCF, 0x7CEA, 0xF2AE, 0x7CEC, 0xF2AD, 0x7CEE, 0xF4AB, 0x7CEF, 0xC47A, 0x7CF0, 0xC47B, - 0x7CF1, 0xF741, 0x7CF2, 0xF5E6, 0x7CF4, 0xF740, 0x7CF6, 0xF8FD, 0x7CF7, 0xF9A4, 0x7CF8, 0xA6CD, 0x7CFB, 0xA874, 0x7CFD, 0xCDA9, - 0x7CFE, 0xAAC8, 0x7D00, 0xACF6, 0x7D01, 0xD04C, 0x7D02, 0xACF4, 0x7D03, 0xD04A, 0x7D04, 0xACF9, 0x7D05, 0xACF5, 0x7D06, 0xACFA, - 0x7D07, 0xACF8, 0x7D08, 0xD04B, 0x7D09, 0xACF7, 0x7D0A, 0xAFBF, 0x7D0B, 0xAFBE, 0x7D0C, 0xD35A, 0x7D0D, 0xAFC7, 0x7D0E, 0xD353, - 0x7D0F, 0xD359, 0x7D10, 0xAFC3, 0x7D11, 0xD352, 0x7D12, 0xD358, 0x7D13, 0xD356, 0x7D14, 0xAFC2, 0x7D15, 0xAFC4, 0x7D16, 0xD355, - 0x7D17, 0xAFBD, 0x7D18, 0xD354, 0x7D19, 0xAFC8, 0x7D1A, 0xAFC5, 0x7D1B, 0xAFC9, 0x7D1C, 0xAFC6, 0x7D1D, 0xD351, 0x7D1E, 0xD350, - 0x7D1F, 0xD357, 0x7D20, 0xAFC0, 0x7D21, 0xAFBC, 0x7D22, 0xAFC1, 0x7D28, 0xD6F0, 0x7D29, 0xD6E9, 0x7D2B, 0xB5B5, 0x7D2C, 0xD6E8, - 0x7D2E, 0xB2CF, 0x7D2F, 0xB2D6, 0x7D30, 0xB2D3, 0x7D31, 0xB2D9, 0x7D32, 0xB2D8, 0x7D33, 0xB2D4, 0x7D35, 0xD6E2, 0x7D36, 0xD6E5, - 0x7D38, 0xD6E4, 0x7D39, 0xB2D0, 0x7D3A, 0xD6E6, 0x7D3B, 0xD6EF, 0x7D3C, 0xB2D1, 0x7D3D, 0xD6E3, 0x7D3E, 0xD6EC, 0x7D3F, 0xD6ED, - 0x7D40, 0xB2D2, 0x7D41, 0xD6EA, 0x7D42, 0xB2D7, 0x7D43, 0xB2CD, 0x7D44, 0xB2D5, 0x7D45, 0xD6E7, 0x7D46, 0xB2CC, 0x7D47, 0xD6EB, - 0x7D4A, 0xD6EE, 0x7D4E, 0xDAFB, 0x7D4F, 0xDAF2, 0x7D50, 0xB5B2, 0x7D51, 0xDAF9, 0x7D52, 0xDAF6, 0x7D53, 0xDAEE, 0x7D54, 0xDAF7, - 0x7D55, 0xB5B4, 0x7D56, 0xDAEF, 0x7D58, 0xDAEB, 0x7D5B, 0xB86C, 0x7D5C, 0xDAF4, 0x7D5E, 0xB5B1, 0x7D5F, 0xDAFA, 0x7D61, 0xB5B8, - 0x7D62, 0xB5BA, 0x7D63, 0xDAED, 0x7D66, 0xB5B9, 0x7D67, 0xDAF0, 0x7D68, 0xB5B3, 0x7D69, 0xDAF8, 0x7D6A, 0xDAF1, 0x7D6B, 0xDAF5, - 0x7D6D, 0xDAF3, 0x7D6E, 0xB5B6, 0x7D6F, 0xDAEC, 0x7D70, 0xB5BB, 0x7D71, 0xB2CE, 0x7D72, 0xB5B7, 0x7D73, 0xB5BC, 0x7D79, 0xB868, - 0x7D7A, 0xDF5D, 0x7D7B, 0xDF5F, 0x7D7C, 0xDF61, 0x7D7D, 0xDF65, 0x7D7F, 0xDF5B, 0x7D80, 0xDF59, 0x7D81, 0xB86A, 0x7D83, 0xDF60, - 0x7D84, 0xDF64, 0x7D85, 0xDF5C, 0x7D86, 0xDF58, 0x7D88, 0xDF57, 0x7D8C, 0xDF62, 0x7D8D, 0xDF5A, 0x7D8E, 0xDF5E, 0x7D8F, 0xB86B, - 0x7D91, 0xB869, 0x7D92, 0xDF66, 0x7D93, 0xB867, 0x7D94, 0xDF63, 0x7D96, 0xE372, 0x7D9C, 0xBAEE, 0x7D9D, 0xE36A, 0x7D9E, 0xBD78, - 0x7D9F, 0xE374, 0x7DA0, 0xBAF1, 0x7DA1, 0xE378, 0x7DA2, 0xBAF7, 0x7DA3, 0xE365, 0x7DA6, 0xE375, 0x7DA7, 0xE362, 0x7DA9, 0xE377, - 0x7DAA, 0xE366, 0x7DAC, 0xBAFE, 0x7DAD, 0xBAFB, 0x7DAE, 0xE376, 0x7DAF, 0xE370, 0x7DB0, 0xBAED, 0x7DB1, 0xBAF5, 0x7DB2, 0xBAF4, - 0x7DB4, 0xBAF3, 0x7DB5, 0xBAF9, 0x7DB7, 0xE363, 0x7DB8, 0xBAFA, 0x7DB9, 0xE371, 0x7DBA, 0xBAF6, 0x7DBB, 0xBAEC, 0x7DBC, 0xE373, - 0x7DBD, 0xBAEF, 0x7DBE, 0xBAF0, 0x7DBF, 0xBAF8, 0x7DC0, 0xE368, 0x7DC1, 0xE367, 0x7DC2, 0xE364, 0x7DC4, 0xE36C, 0x7DC5, 0xE369, - 0x7DC6, 0xE36D, 0x7DC7, 0xBAFD, 0x7DC9, 0xE379, 0x7DCA, 0xBAF2, 0x7DCB, 0xE36E, 0x7DCC, 0xE36F, 0x7DCE, 0xE36B, 0x7DD2, 0xBAFC, - 0x7DD7, 0xE6E7, 0x7DD8, 0xBD70, 0x7DD9, 0xBD79, 0x7DDA, 0xBD75, 0x7DDB, 0xE6E4, 0x7DDD, 0xBD72, 0x7DDE, 0xBD76, 0x7DDF, 0xE6F0, - 0x7DE0, 0xBD6C, 0x7DE1, 0xE6E8, 0x7DE3, 0xBD74, 0x7DE6, 0xE6EB, 0x7DE7, 0xE6E6, 0x7DE8, 0xBD73, 0x7DE9, 0xBD77, 0x7DEA, 0xE6E5, - 0x7DEC, 0xBD71, 0x7DEE, 0xE6EF, 0x7DEF, 0xBD6E, 0x7DF0, 0xE6EE, 0x7DF1, 0xE6ED, 0x7DF2, 0xBD7A, 0x7DF3, 0xE572, 0x7DF4, 0xBD6D, - 0x7DF6, 0xE6EC, 0x7DF7, 0xE6E3, 0x7DF9, 0xBD7B, 0x7DFA, 0xE6EA, 0x7DFB, 0xBD6F, 0x7E03, 0xE6E9, 0x7E08, 0xBFA2, 0x7E09, 0xBFA7, - 0x7E0A, 0xBF7E, 0x7E0B, 0xEAD8, 0x7E0C, 0xEACF, 0x7E0D, 0xEADB, 0x7E0E, 0xEAD3, 0x7E0F, 0xEAD9, 0x7E10, 0xBFA8, 0x7E11, 0xBFA1, - 0x7E12, 0xEACC, 0x7E13, 0xEAD2, 0x7E14, 0xEADC, 0x7E15, 0xEAD5, 0x7E16, 0xEADA, 0x7E17, 0xEACE, 0x7E1A, 0xEAD6, 0x7E1B, 0xBFA3, - 0x7E1C, 0xEAD4, 0x7E1D, 0xBFA6, 0x7E1E, 0xBFA5, 0x7E1F, 0xEAD0, 0x7E20, 0xEAD1, 0x7E21, 0xEACD, 0x7E22, 0xEAD7, 0x7E23, 0xBFA4, - 0x7E24, 0xEADE, 0x7E25, 0xEADD, 0x7E29, 0xEDDA, 0x7E2A, 0xEDD6, 0x7E2B, 0xC15F, 0x7E2D, 0xEDD0, 0x7E2E, 0xC159, 0x7E2F, 0xC169, - 0x7E30, 0xEDDC, 0x7E31, 0xC161, 0x7E32, 0xC15D, 0x7E33, 0xEDD3, 0x7E34, 0xC164, 0x7E35, 0xC167, 0x7E36, 0xEDDE, 0x7E37, 0xC15C, - 0x7E38, 0xEDD5, 0x7E39, 0xC165, 0x7E3A, 0xEDE0, 0x7E3B, 0xEDDD, 0x7E3C, 0xEDD1, 0x7E3D, 0xC160, 0x7E3E, 0xC15A, 0x7E3F, 0xC168, - 0x7E40, 0xEDD8, 0x7E41, 0xC163, 0x7E42, 0xEDD2, 0x7E43, 0xC15E, 0x7E44, 0xEDDF, 0x7E45, 0xC162, 0x7E46, 0xC15B, 0x7E47, 0xEDD9, - 0x7E48, 0xC166, 0x7E49, 0xEDD7, 0x7E4C, 0xEDDB, 0x7E50, 0xF06E, 0x7E51, 0xF074, 0x7E52, 0xC2B9, 0x7E53, 0xF077, 0x7E54, 0xC2B4, - 0x7E55, 0xC2B5, 0x7E56, 0xF06F, 0x7E57, 0xF076, 0x7E58, 0xF071, 0x7E59, 0xC2BA, 0x7E5A, 0xC2B7, 0x7E5C, 0xF06D, 0x7E5E, 0xC2B6, - 0x7E5F, 0xF073, 0x7E60, 0xF075, 0x7E61, 0xC2B8, 0x7E62, 0xF072, 0x7E63, 0xF070, 0x7E68, 0xF2B8, 0x7E69, 0xC3B7, 0x7E6A, 0xC3B8, - 0x7E6B, 0xC3B4, 0x7E6D, 0xC3B5, 0x7E6F, 0xF2B4, 0x7E70, 0xF2B2, 0x7E72, 0xF2B6, 0x7E73, 0xC3BA, 0x7E74, 0xF2B7, 0x7E75, 0xF2B0, - 0x7E76, 0xF2AF, 0x7E77, 0xF2B3, 0x7E78, 0xF2B1, 0x7E79, 0xC3B6, 0x7E7A, 0xF2B5, 0x7E7B, 0xF4AC, 0x7E7C, 0xC47E, 0x7E7D, 0xC47D, - 0x7E7E, 0xF4AD, 0x7E80, 0xF4AF, 0x7E81, 0xF4AE, 0x7E82, 0xC4A1, 0x7E86, 0xF5EB, 0x7E87, 0xF5E8, 0x7E88, 0xF5E9, 0x7E8A, 0xF5E7, - 0x7E8B, 0xF5EA, 0x7E8C, 0xC4F2, 0x7E8D, 0xF5EC, 0x7E8F, 0xC4F1, 0x7E91, 0xF742, 0x7E93, 0xC5D5, 0x7E94, 0xC5D7, 0x7E95, 0xF7EE, - 0x7E96, 0xC5D6, 0x7E97, 0xF8B9, 0x7E98, 0xF940, 0x7E99, 0xF942, 0x7E9A, 0xF8FE, 0x7E9B, 0xF941, 0x7E9C, 0xC66C, 0x7F36, 0xA6CE, - 0x7F38, 0xACFB, 0x7F39, 0xD26F, 0x7F3A, 0xAFCA, 0x7F3D, 0xB2DA, 0x7F3E, 0xDAFC, 0x7F3F, 0xDAFD, 0x7F43, 0xEADF, 0x7F44, 0xC16A, - 0x7F45, 0xEDE1, 0x7F48, 0xC2BB, 0x7F4A, 0xF2BA, 0x7F4B, 0xF2B9, 0x7F4C, 0xC4A2, 0x7F4D, 0xF5ED, 0x7F4F, 0xF743, 0x7F50, 0xC5F8, - 0x7F51, 0xCA49, 0x7F54, 0xAAC9, 0x7F55, 0xA875, 0x7F58, 0xD04D, 0x7F5B, 0xD360, 0x7F5C, 0xD35B, 0x7F5D, 0xD35F, 0x7F5E, 0xD35D, - 0x7F5F, 0xAFCB, 0x7F60, 0xD35E, 0x7F61, 0xD35C, 0x7F63, 0xD6F1, 0x7F65, 0xDAFE, 0x7F66, 0xDB40, 0x7F67, 0xDF69, 0x7F68, 0xDF6A, - 0x7F69, 0xB86E, 0x7F6A, 0xB86F, 0x7F6B, 0xDF68, 0x7F6C, 0xDF6B, 0x7F6D, 0xDF67, 0x7F6E, 0xB86D, 0x7F70, 0xBB40, 0x7F72, 0xB870, - 0x7F73, 0xE37A, 0x7F75, 0xBD7C, 0x7F76, 0xE6F1, 0x7F77, 0xBD7D, 0x7F79, 0xBFA9, 0x7F7A, 0xEAE2, 0x7F7B, 0xEAE0, 0x7F7C, 0xEAE1, - 0x7F7D, 0xEDE4, 0x7F7E, 0xEDE3, 0x7F7F, 0xEDE2, 0x7F83, 0xF2BB, 0x7F85, 0xC3B9, 0x7F86, 0xF2BC, 0x7F87, 0xF744, 0x7F88, 0xC5F9, - 0x7F89, 0xF8BA, 0x7F8A, 0xA6CF, 0x7F8B, 0xAACB, 0x7F8C, 0xAACA, 0x7F8D, 0xD04F, 0x7F8E, 0xACFC, 0x7F91, 0xD04E, 0x7F92, 0xD362, - 0x7F94, 0xAFCC, 0x7F95, 0xD6F2, 0x7F96, 0xD361, 0x7F9A, 0xB2DC, 0x7F9B, 0xD6F5, 0x7F9C, 0xD6F3, 0x7F9D, 0xD6F4, 0x7F9E, 0xB2DB, - 0x7FA0, 0xDB42, 0x7FA1, 0xDB43, 0x7FA2, 0xDB41, 0x7FA4, 0xB873, 0x7FA5, 0xDF6D, 0x7FA6, 0xDF6C, 0x7FA7, 0xDF6E, 0x7FA8, 0xB872, - 0x7FA9, 0xB871, 0x7FAC, 0xE6F2, 0x7FAD, 0xE6F4, 0x7FAF, 0xBD7E, 0x7FB0, 0xE6F3, 0x7FB1, 0xEAE3, 0x7FB2, 0xBFAA, 0x7FB3, 0xF079, - 0x7FB5, 0xF078, 0x7FB6, 0xC3BB, 0x7FB7, 0xF2BD, 0x7FB8, 0xC3BD, 0x7FB9, 0xC3BC, 0x7FBA, 0xF4B0, 0x7FBB, 0xF5EE, 0x7FBC, 0xC4F3, - 0x7FBD, 0xA6D0, 0x7FBE, 0xD050, 0x7FBF, 0xACFD, 0x7FC0, 0xD365, 0x7FC1, 0xAFCE, 0x7FC2, 0xD364, 0x7FC3, 0xD363, 0x7FC5, 0xAFCD, - 0x7FC7, 0xD6FB, 0x7FC9, 0xD6FD, 0x7FCA, 0xD6F6, 0x7FCB, 0xD6F7, 0x7FCC, 0xB2DD, 0x7FCD, 0xD6F8, 0x7FCE, 0xB2DE, 0x7FCF, 0xD6FC, - 0x7FD0, 0xD6F9, 0x7FD1, 0xD6FA, 0x7FD2, 0xB2DF, 0x7FD4, 0xB5BE, 0x7FD5, 0xB5BF, 0x7FD7, 0xDB44, 0x7FDB, 0xDF6F, 0x7FDC, 0xDF70, - 0x7FDE, 0xE37E, 0x7FDF, 0xBB43, 0x7FE0, 0xBB41, 0x7FE1, 0xBB42, 0x7FE2, 0xE37B, 0x7FE3, 0xE37C, 0x7FE5, 0xE37D, 0x7FE6, 0xE6F9, - 0x7FE8, 0xE6FA, 0x7FE9, 0xBDA1, 0x7FEA, 0xE6F7, 0x7FEB, 0xE6F6, 0x7FEC, 0xE6F8, 0x7FED, 0xE6F5, 0x7FEE, 0xBFAD, 0x7FEF, 0xEAE4, - 0x7FF0, 0xBFAB, 0x7FF1, 0xBFAC, 0x7FF2, 0xEDE6, 0x7FF3, 0xC16B, 0x7FF4, 0xEDE5, 0x7FF5, 0xEFA8, 0x7FF7, 0xF07A, 0x7FF8, 0xF07B, - 0x7FF9, 0xC2BC, 0x7FFB, 0xC2BD, 0x7FFC, 0xC16C, 0x7FFD, 0xF2BE, 0x7FFE, 0xF2BF, 0x7FFF, 0xF4B1, 0x8000, 0xC4A3, 0x8001, 0xA6D1, - 0x8003, 0xA6D2, 0x8004, 0xACFE, 0x8005, 0xAACC, 0x8006, 0xAFCF, 0x8007, 0xD051, 0x800B, 0xB5C0, 0x800C, 0xA6D3, 0x800D, 0xAD41, - 0x800E, 0xD052, 0x800F, 0xD053, 0x8010, 0xAD40, 0x8011, 0xAD42, 0x8012, 0xA6D4, 0x8014, 0xD054, 0x8015, 0xAFD1, 0x8016, 0xD366, - 0x8017, 0xAFD3, 0x8018, 0xAFD0, 0x8019, 0xAFD2, 0x801B, 0xD741, 0x801C, 0xB2E0, 0x801E, 0xD740, 0x801F, 0xD6FE, 0x8021, 0xDF71, - 0x8024, 0xE3A1, 0x8026, 0xBDA2, 0x8028, 0xBFAE, 0x8029, 0xEAE6, 0x802A, 0xEAE5, 0x802C, 0xEDE7, 0x8030, 0xF5EF, 0x8033, 0xA6D5, - 0x8034, 0xCB73, 0x8035, 0xCDAA, 0x8036, 0xAD43, 0x8037, 0xD055, 0x8039, 0xD368, 0x803D, 0xAFD4, 0x803E, 0xD367, 0x803F, 0xAFD5, - 0x8043, 0xD743, 0x8046, 0xB2E2, 0x8047, 0xD742, 0x8048, 0xD744, 0x804A, 0xB2E1, 0x804F, 0xDB46, 0x8050, 0xDB47, 0x8051, 0xDB45, - 0x8052, 0xB5C1, 0x8056, 0xB874, 0x8058, 0xB875, 0x805A, 0xBB45, 0x805C, 0xE3A3, 0x805D, 0xE3A2, 0x805E, 0xBB44, 0x8064, 0xE6FB, - 0x8067, 0xE6FC, 0x806C, 0xEAE7, 0x806F, 0xC170, 0x8070, 0xC16F, 0x8071, 0xC16D, 0x8072, 0xC16E, 0x8073, 0xC171, 0x8075, 0xF07C, - 0x8076, 0xC2BF, 0x8077, 0xC2BE, 0x8078, 0xF2C0, 0x8079, 0xF4B2, 0x807D, 0xC5A5, 0x807E, 0xC5A4, 0x807F, 0xA6D6, 0x8082, 0xD1FB, - 0x8084, 0xB877, 0x8085, 0xB5C2, 0x8086, 0xB876, 0x8087, 0xBB46, 0x8089, 0xA6D7, 0x808A, 0xC9A9, 0x808B, 0xA6D8, 0x808C, 0xA6D9, - 0x808F, 0xCDAB, 0x8090, 0xCB76, 0x8092, 0xCB77, 0x8093, 0xA877, 0x8095, 0xCB74, 0x8096, 0xA876, 0x8098, 0xA879, 0x8099, 0xCB75, - 0x809A, 0xA87B, 0x809B, 0xA87A, 0x809C, 0xCB78, 0x809D, 0xA878, 0x80A1, 0xAAD1, 0x80A2, 0xAACF, 0x80A3, 0xCDAD, 0x80A5, 0xAACE, - 0x80A9, 0xAAD3, 0x80AA, 0xAAD5, 0x80AB, 0xAAD2, 0x80AD, 0xCDB0, 0x80AE, 0xCDAC, 0x80AF, 0xAAD6, 0x80B1, 0xAAD0, 0x80B2, 0xA87C, - 0x80B4, 0xAAD4, 0x80B5, 0xCDAF, 0x80B8, 0xCDAE, 0x80BA, 0xAACD, 0x80C2, 0xD05B, 0x80C3, 0xAD47, 0x80C4, 0xAD48, 0x80C5, 0xD05D, - 0x80C7, 0xD057, 0x80C8, 0xD05A, 0x80C9, 0xD063, 0x80CA, 0xD061, 0x80CC, 0xAD49, 0x80CD, 0xD067, 0x80CE, 0xAD4C, 0x80CF, 0xD064, - 0x80D0, 0xD05C, 0x80D1, 0xD059, 0x80D4, 0xDB49, 0x80D5, 0xD062, 0x80D6, 0xAD44, 0x80D7, 0xD065, 0x80D8, 0xD056, 0x80D9, 0xD05F, - 0x80DA, 0xAD46, 0x80DB, 0xAD4B, 0x80DC, 0xD060, 0x80DD, 0xAD4F, 0x80DE, 0xAD4D, 0x80E0, 0xD058, 0x80E1, 0xAD4A, 0x80E3, 0xD05E, - 0x80E4, 0xAD4E, 0x80E5, 0xAD45, 0x80E6, 0xD066, 0x80ED, 0xAFDA, 0x80EF, 0xAFE3, 0x80F0, 0xAFD8, 0x80F1, 0xAFD6, 0x80F2, 0xD36A, - 0x80F3, 0xAFDE, 0x80F4, 0xAFDB, 0x80F5, 0xD36C, 0x80F8, 0xAFDD, 0x80F9, 0xD36B, 0x80FA, 0xD369, 0x80FB, 0xD36E, 0x80FC, 0xAFE2, - 0x80FD, 0xAFE0, 0x80FE, 0xDB48, 0x8100, 0xD36F, 0x8101, 0xD36D, 0x8102, 0xAFD7, 0x8105, 0xAFD9, 0x8106, 0xAFDC, 0x8108, 0xAFDF, - 0x810A, 0xAFE1, 0x8115, 0xD74E, 0x8116, 0xB2E4, 0x8118, 0xD745, 0x8119, 0xD747, 0x811B, 0xD748, 0x811D, 0xD750, 0x811E, 0xD74C, - 0x811F, 0xD74A, 0x8121, 0xD74D, 0x8122, 0xD751, 0x8123, 0xB2E5, 0x8124, 0xB2E9, 0x8125, 0xD746, 0x8127, 0xD74F, 0x8129, 0xB2E7, - 0x812B, 0xB2E6, 0x812C, 0xD74B, 0x812D, 0xD749, 0x812F, 0xB2E3, 0x8130, 0xB2E8, 0x8139, 0xB5C8, 0x813A, 0xDB51, 0x813D, 0xDB4F, - 0x813E, 0xB5CA, 0x8143, 0xDB4A, 0x8144, 0xDFA1, 0x8146, 0xB5C9, 0x8147, 0xDB4E, 0x814A, 0xDB4B, 0x814B, 0xB5C5, 0x814C, 0xB5CB, - 0x814D, 0xDB50, 0x814E, 0xB5C7, 0x814F, 0xDB4D, 0x8150, 0xBB47, 0x8151, 0xB5C6, 0x8152, 0xDB4C, 0x8153, 0xB5CC, 0x8154, 0xB5C4, - 0x8155, 0xB5C3, 0x815B, 0xDF77, 0x815C, 0xDF75, 0x815E, 0xDF7B, 0x8160, 0xDF73, 0x8161, 0xDFA2, 0x8162, 0xDF78, 0x8164, 0xDF72, - 0x8165, 0xB87B, 0x8166, 0xB8A3, 0x8167, 0xDF7D, 0x8169, 0xDF76, 0x816B, 0xB87E, 0x816E, 0xB87C, 0x816F, 0xDF7E, 0x8170, 0xB879, - 0x8171, 0xB878, 0x8172, 0xDF79, 0x8173, 0xB87D, 0x8174, 0xB5CD, 0x8176, 0xDF7C, 0x8177, 0xDF74, 0x8178, 0xB87A, 0x8179, 0xB8A1, - 0x817A, 0xB8A2, 0x817F, 0xBB4C, 0x8180, 0xBB48, 0x8182, 0xBB4D, 0x8183, 0xE3A6, 0x8186, 0xE3A5, 0x8187, 0xE3A7, 0x8188, 0xBB4A, - 0x8189, 0xE3A4, 0x818A, 0xBB4B, 0x818B, 0xE3AA, 0x818C, 0xE3A9, 0x818D, 0xE3A8, 0x818F, 0xBB49, 0x8195, 0xE741, 0x8197, 0xE744, - 0x8198, 0xBDA8, 0x8199, 0xE743, 0x819A, 0xBDA7, 0x819B, 0xBDA3, 0x819C, 0xBDA4, 0x819D, 0xBDA5, 0x819E, 0xE740, 0x819F, 0xE6FE, - 0x81A0, 0xBDA6, 0x81A2, 0xE742, 0x81A3, 0xE6FD, 0x81A6, 0xEAE9, 0x81A7, 0xEAF3, 0x81A8, 0xBFB1, 0x81A9, 0xBFB0, 0x81AB, 0xEAED, - 0x81AC, 0xEAEF, 0x81AE, 0xEAEA, 0x81B0, 0xEAEE, 0x81B1, 0xEAE8, 0x81B2, 0xEAF1, 0x81B3, 0xBFAF, 0x81B4, 0xEAF0, 0x81B5, 0xEAEC, - 0x81B7, 0xEAF2, 0x81B9, 0xEAEB, 0x81BA, 0xC174, 0x81BB, 0xEDE8, 0x81BC, 0xEDEE, 0x81BD, 0xC178, 0x81BE, 0xC17A, 0x81BF, 0xC177, - 0x81C0, 0xC176, 0x81C2, 0xC175, 0x81C3, 0xC173, 0x81C4, 0xEDE9, 0x81C5, 0xEDEC, 0x81C6, 0xC172, 0x81C7, 0xEDED, 0x81C9, 0xC179, - 0x81CA, 0xEDEB, 0x81CC, 0xEDEA, 0x81CD, 0xC2C0, 0x81CF, 0xC2C1, 0x81D0, 0xF0A1, 0x81D1, 0xF07D, 0x81D2, 0xF07E, 0x81D5, 0xF2C2, - 0x81D7, 0xF2C1, 0x81D8, 0xC3BE, 0x81D9, 0xF4B4, 0x81DA, 0xC4A4, 0x81DB, 0xF4B3, 0x81DD, 0xF5F0, 0x81DE, 0xF745, 0x81DF, 0xC5A6, - 0x81E0, 0xF943, 0x81E1, 0xF944, 0x81E2, 0xC5D8, 0x81E3, 0xA6DA, 0x81E5, 0xAAD7, 0x81E6, 0xDB52, 0x81E7, 0xBB4E, 0x81E8, 0xC17B, - 0x81E9, 0xEDEF, 0x81EA, 0xA6DB, 0x81EC, 0xAFE5, 0x81ED, 0xAFE4, 0x81EE, 0xDB53, 0x81F2, 0xEAF4, 0x81F3, 0xA6DC, 0x81F4, 0xAD50, - 0x81F7, 0xDB54, 0x81F8, 0xDB55, 0x81F9, 0xDB56, 0x81FA, 0xBB4F, 0x81FB, 0xBFB2, 0x81FC, 0xA6DD, 0x81FE, 0xAAD8, 0x81FF, 0xD068, - 0x8200, 0xAFE6, 0x8201, 0xD370, 0x8202, 0xB2EA, 0x8204, 0xDB57, 0x8205, 0xB8A4, 0x8207, 0xBB50, 0x8208, 0xBFB3, 0x8209, 0xC17C, - 0x820A, 0xC2C2, 0x820B, 0xF4B5, 0x820C, 0xA6DE, 0x820D, 0xAAD9, 0x8210, 0xAFE7, 0x8211, 0xD752, 0x8212, 0xB5CE, 0x8214, 0xBB51, - 0x8215, 0xE3AB, 0x8216, 0xE745, 0x821B, 0xA6DF, 0x821C, 0xB5CF, 0x821D, 0xDFA3, 0x821E, 0xBB52, 0x821F, 0xA6E0, 0x8220, 0xCDB1, - 0x8221, 0xD069, 0x8222, 0xAD51, 0x8225, 0xD372, 0x8228, 0xAFEA, 0x822A, 0xAFE8, 0x822B, 0xAFE9, 0x822C, 0xAFEB, 0x822F, 0xD371, - 0x8232, 0xD757, 0x8233, 0xD754, 0x8234, 0xD756, 0x8235, 0xB2EB, 0x8236, 0xB2ED, 0x8237, 0xB2EC, 0x8238, 0xD753, 0x8239, 0xB2EE, - 0x823A, 0xD755, 0x823C, 0xDB58, 0x823D, 0xDB59, 0x823F, 0xDB5A, 0x8240, 0xDFA6, 0x8242, 0xDFA7, 0x8244, 0xDFA5, 0x8245, 0xDFA8, - 0x8247, 0xB8A5, 0x8249, 0xDFA4, 0x824B, 0xBB53, 0x824E, 0xE74A, 0x824F, 0xE746, 0x8250, 0xE749, 0x8251, 0xE74B, 0x8252, 0xE748, - 0x8253, 0xE747, 0x8255, 0xEAF5, 0x8256, 0xEAF6, 0x8257, 0xEAF7, 0x8258, 0xBFB4, 0x8259, 0xBFB5, 0x825A, 0xEDF1, 0x825B, 0xEDF0, - 0x825C, 0xEDF2, 0x825E, 0xF0A3, 0x825F, 0xF0A2, 0x8261, 0xF2C4, 0x8263, 0xF2C5, 0x8264, 0xF2C3, 0x8266, 0xC4A5, 0x8268, 0xF4B6, - 0x8269, 0xF4B7, 0x826B, 0xF746, 0x826C, 0xF7EF, 0x826D, 0xF8BB, 0x826E, 0xA6E1, 0x826F, 0xA87D, 0x8271, 0xC17D, 0x8272, 0xA6E2, - 0x8274, 0xD758, 0x8275, 0xDB5B, 0x8277, 0xC641, 0x8278, 0xCA4A, 0x827C, 0xCA4B, 0x827D, 0xCA4D, 0x827E, 0xA6E3, 0x827F, 0xCA4E, - 0x8280, 0xCA4C, 0x8283, 0xCBA2, 0x8284, 0xCBA3, 0x8285, 0xCB7B, 0x828A, 0xCBA1, 0x828B, 0xA8A1, 0x828D, 0xA8A2, 0x828E, 0xCB7C, - 0x828F, 0xCB7A, 0x8290, 0xCB79, 0x8291, 0xCB7D, 0x8292, 0xA87E, 0x8293, 0xCB7E, 0x8294, 0xD06A, 0x8298, 0xCDB6, 0x8299, 0xAADC, - 0x829A, 0xCDB5, 0x829B, 0xCDB7, 0x829D, 0xAADB, 0x829E, 0xCDBC, 0x829F, 0xAADF, 0x82A0, 0xCDB2, 0x82A1, 0xCDC0, 0x82A2, 0xCDC6, - 0x82A3, 0xAAE6, 0x82A4, 0xCDC3, 0x82A5, 0xAAE3, 0x82A7, 0xCDB9, 0x82A8, 0xCDBF, 0x82A9, 0xCDC1, 0x82AB, 0xCDB4, 0x82AC, 0xAAE2, - 0x82AD, 0xAADD, 0x82AE, 0xCDBA, 0x82AF, 0xAAE4, 0x82B0, 0xAAE7, 0x82B1, 0xAAE1, 0x82B3, 0xAADA, 0x82B4, 0xCDBE, 0x82B5, 0xCDB8, - 0x82B6, 0xCDC5, 0x82B7, 0xAAE9, 0x82B8, 0xAAE5, 0x82B9, 0xAAE0, 0x82BA, 0xCDBD, 0x82BB, 0xAFEC, 0x82BC, 0xCDBB, 0x82BD, 0xAADE, - 0x82BE, 0xAAE8, 0x82C0, 0xCDB3, 0x82C2, 0xCDC2, 0x82C3, 0xCDC4, 0x82D1, 0xAD62, 0x82D2, 0xAD5C, 0x82D3, 0xAD64, 0x82D4, 0xAD61, - 0x82D5, 0xD071, 0x82D6, 0xD074, 0x82D7, 0xAD5D, 0x82D9, 0xD06B, 0x82DB, 0xAD56, 0x82DC, 0xAD60, 0x82DE, 0xAD63, 0x82DF, 0xAD65, - 0x82E0, 0xD0A2, 0x82E1, 0xD077, 0x82E3, 0xAD55, 0x82E4, 0xD0A1, 0x82E5, 0xAD59, 0x82E6, 0xAD57, 0x82E7, 0xAD52, 0x82E8, 0xD06F, - 0x82EA, 0xD07E, 0x82EB, 0xD073, 0x82EC, 0xD076, 0x82ED, 0xD0A5, 0x82EF, 0xAD66, 0x82F0, 0xD07D, 0x82F1, 0xAD5E, 0x82F2, 0xD078, - 0x82F3, 0xD0A4, 0x82F4, 0xD075, 0x82F5, 0xD079, 0x82F6, 0xD07C, 0x82F9, 0xD06D, 0x82FA, 0xD0A3, 0x82FB, 0xD07B, 0x82FE, 0xD06C, - 0x8300, 0xD070, 0x8301, 0xAD5F, 0x8302, 0xAD5A, 0x8303, 0xAD53, 0x8304, 0xAD58, 0x8305, 0xAD54, 0x8306, 0xAD67, 0x8307, 0xD06E, - 0x8308, 0xD3A5, 0x8309, 0xAD5B, 0x830C, 0xD07A, 0x830D, 0xCE41, 0x8316, 0xD3A8, 0x8317, 0xAFFA, 0x8319, 0xD376, 0x831B, 0xD3A3, - 0x831C, 0xD37D, 0x831E, 0xD3B2, 0x8320, 0xD3AA, 0x8322, 0xD37E, 0x8324, 0xD3A9, 0x8325, 0xD378, 0x8326, 0xD37C, 0x8327, 0xD3B5, - 0x8328, 0xAFFD, 0x8329, 0xD3AD, 0x832A, 0xD3A4, 0x832B, 0xAFED, 0x832C, 0xD3B3, 0x832D, 0xD374, 0x832F, 0xD3AC, 0x8331, 0xAFFC, - 0x8332, 0xAFF7, 0x8333, 0xD373, 0x8334, 0xAFF5, 0x8335, 0xAFF4, 0x8336, 0xAFF9, 0x8337, 0xD3AB, 0x8338, 0xAFF1, 0x8339, 0xAFF8, - 0x833A, 0xD072, 0x833B, 0xDB5C, 0x833C, 0xD3A6, 0x833F, 0xD37A, 0x8340, 0xAFFB, 0x8341, 0xD37B, 0x8342, 0xD3A1, 0x8343, 0xAFFE, - 0x8344, 0xD375, 0x8345, 0xD3AF, 0x8347, 0xD3AE, 0x8348, 0xD3B6, 0x8349, 0xAFF3, 0x834A, 0xAFF0, 0x834B, 0xD3B4, 0x834C, 0xD3B0, - 0x834D, 0xD3A7, 0x834E, 0xD3A2, 0x834F, 0xAFF6, 0x8350, 0xAFF2, 0x8351, 0xD377, 0x8352, 0xAFEE, 0x8353, 0xD3B1, 0x8354, 0xAFEF, - 0x8356, 0xD379, 0x8373, 0xD75E, 0x8374, 0xD760, 0x8375, 0xD765, 0x8376, 0xD779, 0x8377, 0xB2FC, 0x8378, 0xB2F2, 0x837A, 0xD75D, - 0x837B, 0xB2FD, 0x837C, 0xB2FE, 0x837D, 0xD768, 0x837E, 0xD76F, 0x837F, 0xD775, 0x8381, 0xD762, 0x8383, 0xD769, 0x8386, 0xB340, - 0x8387, 0xD777, 0x8388, 0xD772, 0x8389, 0xB2FA, 0x838A, 0xB2F8, 0x838B, 0xD76E, 0x838C, 0xD76A, 0x838D, 0xD75C, 0x838E, 0xB2EF, - 0x838F, 0xD761, 0x8390, 0xD759, 0x8392, 0xB2F7, 0x8393, 0xB2F9, 0x8394, 0xD766, 0x8395, 0xD763, 0x8396, 0xB2F4, 0x8397, 0xD773, - 0x8398, 0xB2F1, 0x8399, 0xD764, 0x839A, 0xD77A, 0x839B, 0xD76C, 0x839D, 0xD76B, 0x839E, 0xB2F0, 0x83A0, 0xB2FB, 0x83A2, 0xB2F3, - 0x83A3, 0xD75A, 0x83A4, 0xD75F, 0x83A5, 0xD770, 0x83A6, 0xD776, 0x83A7, 0xB341, 0x83A8, 0xD75B, 0x83A9, 0xD767, 0x83AA, 0xD76D, - 0x83AB, 0xB2F6, 0x83AE, 0xD778, 0x83AF, 0xD771, 0x83B0, 0xD774, 0x83BD, 0xB2F5, 0x83BF, 0xDB6C, 0x83C0, 0xDB60, 0x83C1, 0xB5D7, - 0x83C2, 0xDB7D, 0x83C3, 0xDBA7, 0x83C4, 0xDBAA, 0x83C5, 0xB5D5, 0x83C6, 0xDB68, 0x83C7, 0xDBA3, 0x83C8, 0xDB69, 0x83C9, 0xDB77, - 0x83CA, 0xB5E2, 0x83CB, 0xDB73, 0x83CC, 0xB5DF, 0x83CE, 0xDB74, 0x83CF, 0xDB5D, 0x83D1, 0xDBA4, 0x83D4, 0xB5E8, 0x83D5, 0xDBA1, - 0x83D6, 0xDB75, 0x83D7, 0xDBAC, 0x83D8, 0xDB70, 0x83D9, 0xDFC8, 0x83DB, 0xDBAF, 0x83DC, 0xB5E6, 0x83DD, 0xDB6E, 0x83DE, 0xDB7A, - 0x83DF, 0xB5E9, 0x83E0, 0xB5D4, 0x83E1, 0xDB72, 0x83E2, 0xDBAD, 0x83E3, 0xDB6B, 0x83E4, 0xDB64, 0x83E5, 0xDB6F, 0x83E7, 0xDB63, - 0x83E8, 0xDB61, 0x83E9, 0xB5D0, 0x83EA, 0xDBA5, 0x83EB, 0xDB6A, 0x83EC, 0xDBA8, 0x83EE, 0xDBA9, 0x83EF, 0xB5D8, 0x83F0, 0xB5DD, - 0x83F1, 0xB5D9, 0x83F2, 0xB5E1, 0x83F3, 0xDB7E, 0x83F4, 0xB5DA, 0x83F5, 0xDB76, 0x83F6, 0xDB66, 0x83F8, 0xB5D2, 0x83F9, 0xDB5E, - 0x83FA, 0xDBA2, 0x83FB, 0xDBAB, 0x83FC, 0xDB65, 0x83FD, 0xB5E0, 0x83FE, 0xDBB0, 0x83FF, 0xDB71, 0x8401, 0xDB6D, 0x8403, 0xB5D1, - 0x8404, 0xB5E5, 0x8406, 0xDB7C, 0x8407, 0xB5E7, 0x8409, 0xDB78, 0x840A, 0xB5DC, 0x840B, 0xB5D6, 0x840C, 0xB5DE, 0x840D, 0xB5D3, - 0x840E, 0xB5E4, 0x840F, 0xDB79, 0x8410, 0xDB67, 0x8411, 0xDB7B, 0x8412, 0xDB62, 0x8413, 0xDBA6, 0x841B, 0xDBAE, 0x8423, 0xDB5F, - 0x8429, 0xDFC7, 0x842B, 0xDFDD, 0x842C, 0xB855, 0x842D, 0xDFCC, 0x842F, 0xDFCA, 0x8430, 0xDFB5, 0x8431, 0xB8A9, 0x8432, 0xDFC5, - 0x8433, 0xDFD9, 0x8434, 0xDFC1, 0x8435, 0xB8B1, 0x8436, 0xDFD8, 0x8437, 0xDFBF, 0x8438, 0xB5E3, 0x8439, 0xDFCF, 0x843A, 0xDFC0, - 0x843B, 0xDFD6, 0x843C, 0xB8B0, 0x843D, 0xB8A8, 0x843F, 0xDFAA, 0x8440, 0xDFB2, 0x8442, 0xDFCB, 0x8443, 0xDFC3, 0x8444, 0xDFDC, - 0x8445, 0xDFC6, 0x8446, 0xB8B6, 0x8447, 0xDFD7, 0x8449, 0xB8AD, 0x844B, 0xDFC9, 0x844C, 0xDFD1, 0x844D, 0xDFB6, 0x844E, 0xDFD0, - 0x8450, 0xDFE1, 0x8451, 0xDFB1, 0x8452, 0xDFD2, 0x8454, 0xDFDF, 0x8456, 0xDFAB, 0x8457, 0xB5DB, 0x8459, 0xDFB9, 0x845A, 0xDFB8, - 0x845B, 0xB8AF, 0x845D, 0xDFBC, 0x845E, 0xDFBE, 0x845F, 0xDFCD, 0x8460, 0xDFDE, 0x8461, 0xB8B2, 0x8463, 0xB8B3, 0x8465, 0xDFB0, - 0x8466, 0xB8AB, 0x8467, 0xDFB4, 0x8468, 0xDFDA, 0x8469, 0xB8B4, 0x846B, 0xB8AC, 0x846C, 0xB8AE, 0x846D, 0xB8B5, 0x846E, 0xDFE0, - 0x846F, 0xDFD3, 0x8470, 0xDFCE, 0x8473, 0xDFBB, 0x8474, 0xDFBA, 0x8475, 0xB8AA, 0x8476, 0xDFAC, 0x8477, 0xB8A7, 0x8478, 0xDFC4, - 0x8479, 0xDFAD, 0x847A, 0xDFC2, 0x847D, 0xDFB7, 0x847E, 0xDFDB, 0x8482, 0xB8A6, 0x8486, 0xDFB3, 0x848D, 0xDFAF, 0x848E, 0xDFD5, - 0x848F, 0xDFAE, 0x8490, 0xBB60, 0x8491, 0xE3D3, 0x8494, 0xE3C2, 0x8497, 0xE3AC, 0x8498, 0xE3CA, 0x8499, 0xBB58, 0x849A, 0xE3BB, - 0x849B, 0xE3C5, 0x849C, 0xBB5B, 0x849D, 0xE3BE, 0x849E, 0xBB59, 0x849F, 0xE3AF, 0x84A0, 0xE3CD, 0x84A1, 0xE3AE, 0x84A2, 0xE3C1, - 0x84A4, 0xE3AD, 0x84A7, 0xE3BF, 0x84A8, 0xE3C8, 0x84A9, 0xE3C6, 0x84AA, 0xE3BA, 0x84AB, 0xE3B5, 0x84AC, 0xE3B3, 0x84AE, 0xE3B4, - 0x84AF, 0xE3C7, 0x84B0, 0xE3D2, 0x84B1, 0xE3BC, 0x84B2, 0xBB5A, 0x84B4, 0xE3B7, 0x84B6, 0xE3CB, 0x84B8, 0xBB5D, 0x84B9, 0xE3B6, - 0x84BA, 0xE3B0, 0x84BB, 0xE3C0, 0x84BC, 0xBB61, 0x84BF, 0xBB55, 0x84C0, 0xBB5E, 0x84C1, 0xE3B8, 0x84C2, 0xE3B2, 0x84C4, 0xBB57, - 0x84C5, 0xDFD4, 0x84C6, 0xBB56, 0x84C7, 0xE3C3, 0x84C9, 0xBB54, 0x84CA, 0xBB63, 0x84CB, 0xBB5C, 0x84CC, 0xE3C4, 0x84CD, 0xE3B9, - 0x84CE, 0xE3B1, 0x84CF, 0xE3CC, 0x84D0, 0xE3BD, 0x84D1, 0xBB62, 0x84D2, 0xE3D0, 0x84D3, 0xBB5F, 0x84D4, 0xE3CF, 0x84D6, 0xE3C9, - 0x84D7, 0xE3CE, 0x84DB, 0xE3D1, 0x84E7, 0xE773, 0x84E8, 0xE774, 0x84E9, 0xE767, 0x84EA, 0xE766, 0x84EB, 0xE762, 0x84EC, 0xBDB4, - 0x84EE, 0xBDAC, 0x84EF, 0xE776, 0x84F0, 0xE775, 0x84F1, 0xDFA9, 0x84F2, 0xE75F, 0x84F3, 0xE763, 0x84F4, 0xE75D, 0x84F6, 0xE770, - 0x84F7, 0xE761, 0x84F9, 0xE777, 0x84FA, 0xE75A, 0x84FB, 0xE758, 0x84FC, 0xE764, 0x84FD, 0xE76E, 0x84FE, 0xE769, 0x84FF, 0xBDB6, - 0x8500, 0xE74F, 0x8502, 0xE76D, 0x8506, 0xBDB7, 0x8507, 0xDFBD, 0x8508, 0xE75B, 0x8509, 0xE752, 0x850A, 0xE755, 0x850B, 0xE77B, - 0x850C, 0xE75C, 0x850D, 0xE753, 0x850E, 0xE751, 0x850F, 0xE74E, 0x8511, 0xBDB0, 0x8512, 0xE765, 0x8513, 0xBDAF, 0x8514, 0xBDB3, - 0x8515, 0xE760, 0x8516, 0xE768, 0x8517, 0xBDA9, 0x8518, 0xE778, 0x8519, 0xE77C, 0x851A, 0xBDAB, 0x851C, 0xE757, 0x851D, 0xE76B, - 0x851E, 0xE76F, 0x851F, 0xE754, 0x8520, 0xE779, 0x8521, 0xBDB2, 0x8523, 0xBDB1, 0x8524, 0xE74C, 0x8525, 0xBDB5, 0x8526, 0xE772, - 0x8527, 0xE756, 0x8528, 0xE76A, 0x8529, 0xE750, 0x852A, 0xE75E, 0x852B, 0xE759, 0x852C, 0xBDAD, 0x852D, 0xBDAE, 0x852E, 0xE76C, - 0x852F, 0xE77D, 0x8530, 0xE77A, 0x8531, 0xE771, 0x853B, 0xE74D, 0x853D, 0xBDAA, 0x853E, 0xEB49, 0x8540, 0xEB40, 0x8541, 0xEB43, - 0x8543, 0xBFBB, 0x8544, 0xEB45, 0x8545, 0xEAF9, 0x8546, 0xEB41, 0x8547, 0xEB47, 0x8548, 0xBFB8, 0x8549, 0xBFBC, 0x854A, 0xBFB6, - 0x854D, 0xEAFB, 0x854E, 0xEB4C, 0x8551, 0xEB46, 0x8553, 0xEAFC, 0x8554, 0xEB55, 0x8555, 0xEB4F, 0x8556, 0xEAF8, 0x8557, 0xEE46, - 0x8558, 0xEAFE, 0x8559, 0xBFB7, 0x855B, 0xEB4A, 0x855D, 0xEB54, 0x855E, 0xBFBF, 0x8560, 0xEB51, 0x8561, 0xEAFD, 0x8562, 0xEB44, - 0x8563, 0xEB48, 0x8564, 0xEB42, 0x8565, 0xEB56, 0x8566, 0xEB53, 0x8567, 0xEB50, 0x8568, 0xBFB9, 0x8569, 0xBFBA, 0x856A, 0xBFBE, - 0x856B, 0xEAFA, 0x856C, 0xEB57, 0x856D, 0xBFBD, 0x856E, 0xEB4D, 0x8571, 0xEB4B, 0x8575, 0xEB4E, 0x8576, 0xEE53, 0x8577, 0xEE40, - 0x8578, 0xEE45, 0x8579, 0xEE52, 0x857A, 0xEE44, 0x857B, 0xEDFB, 0x857C, 0xEE41, 0x857E, 0xC1A2, 0x8580, 0xEDF4, 0x8581, 0xEE4D, - 0x8582, 0xEE4F, 0x8583, 0xEDF3, 0x8584, 0xC1A1, 0x8585, 0xEE51, 0x8586, 0xEE49, 0x8587, 0xC1A8, 0x8588, 0xEE50, 0x8589, 0xEE42, - 0x858A, 0xC1AA, 0x858B, 0xEDF9, 0x858C, 0xEB52, 0x858D, 0xEE4A, 0x858E, 0xEE47, 0x858F, 0xEDF5, 0x8590, 0xEE55, 0x8591, 0xC1A4, - 0x8594, 0xC1A5, 0x8595, 0xEDF7, 0x8596, 0xEE48, 0x8598, 0xEE54, 0x8599, 0xEE4B, 0x859A, 0xEDFD, 0x859B, 0xC1A7, 0x859C, 0xC1A3, - 0x859D, 0xEE4C, 0x859E, 0xEDFE, 0x859F, 0xEE56, 0x85A0, 0xEDF8, 0x85A1, 0xEE43, 0x85A2, 0xEE4E, 0x85A3, 0xEDFA, 0x85A4, 0xEDFC, - 0x85A6, 0xC2CB, 0x85A7, 0xEDF6, 0x85A8, 0xC1A9, 0x85A9, 0xC2C4, 0x85AA, 0xC17E, 0x85AF, 0xC1A6, 0x85B0, 0xC2C8, 0x85B1, 0xF0B3, - 0x85B3, 0xF0A9, 0x85B4, 0xF0A4, 0x85B5, 0xF0AA, 0x85B6, 0xF0B4, 0x85B7, 0xF0B8, 0x85B8, 0xF0B7, 0x85B9, 0xC2CA, 0x85BA, 0xC2C9, - 0x85BD, 0xF0AB, 0x85BE, 0xF0B9, 0x85BF, 0xF0AE, 0x85C0, 0xF0A6, 0x85C2, 0xF0A8, 0x85C3, 0xF0A7, 0x85C4, 0xF0AD, 0x85C5, 0xF0B2, - 0x85C6, 0xF0A5, 0x85C7, 0xF0AC, 0x85C8, 0xF0B1, 0x85C9, 0xC2C7, 0x85CB, 0xF0AF, 0x85CD, 0xC2C5, 0x85CE, 0xF0B0, 0x85CF, 0xC2C3, - 0x85D0, 0xC2C6, 0x85D1, 0xF2D5, 0x85D2, 0xF0B5, 0x85D5, 0xC3C2, 0x85D7, 0xF2CD, 0x85D8, 0xF2D1, 0x85D9, 0xF2C9, 0x85DA, 0xF2CC, - 0x85DC, 0xF2D4, 0x85DD, 0xC3C0, 0x85DE, 0xF2D9, 0x85DF, 0xF2D2, 0x85E1, 0xF2CA, 0x85E2, 0xF2DA, 0x85E3, 0xF2D3, 0x85E4, 0xC3C3, - 0x85E5, 0xC3C4, 0x85E6, 0xF2D7, 0x85E8, 0xF2CB, 0x85E9, 0xC3BF, 0x85EA, 0xC3C1, 0x85EB, 0xF2C6, 0x85EC, 0xF2CE, 0x85ED, 0xF2C8, - 0x85EF, 0xF2D8, 0x85F0, 0xF2D6, 0x85F1, 0xF2C7, 0x85F2, 0xF2CF, 0x85F6, 0xF4BE, 0x85F7, 0xC3C5, 0x85F8, 0xF2D0, 0x85F9, 0xC4A7, - 0x85FA, 0xC4A9, 0x85FB, 0xC4A6, 0x85FD, 0xF4C3, 0x85FE, 0xF4BB, 0x85FF, 0xF4B9, 0x8600, 0xF4BD, 0x8601, 0xF4BA, 0x8604, 0xF4BF, - 0x8605, 0xF4C1, 0x8606, 0xC4AA, 0x8607, 0xC4AC, 0x8609, 0xF4C0, 0x860A, 0xC4AD, 0x860B, 0xC4AB, 0x860C, 0xF4C2, 0x8611, 0xC4A8, - 0x8617, 0xC4F4, 0x8618, 0xF5F1, 0x8619, 0xF5F7, 0x861A, 0xC4F6, 0x861B, 0xF4BC, 0x861C, 0xF5F6, 0x861E, 0xF5FD, 0x861F, 0xF5F4, - 0x8620, 0xF5FB, 0x8621, 0xF5FA, 0x8622, 0xF4B8, 0x8623, 0xF5F5, 0x8624, 0xF0B6, 0x8625, 0xF5FE, 0x8626, 0xF5F3, 0x8627, 0xF5F8, - 0x8629, 0xF5FC, 0x862A, 0xF5F2, 0x862C, 0xF74A, 0x862D, 0xC4F5, 0x862E, 0xF5F9, 0x8631, 0xF7F4, 0x8632, 0xF74B, 0x8633, 0xF749, - 0x8634, 0xF747, 0x8635, 0xF748, 0x8636, 0xF74C, 0x8638, 0xC5D9, 0x8639, 0xF7F2, 0x863A, 0xF7F0, 0x863B, 0xF7F5, 0x863C, 0xF7F3, - 0x863E, 0xF7F6, 0x863F, 0xC5DA, 0x8640, 0xF7F1, 0x8643, 0xF8BC, 0x8646, 0xF945, 0x8647, 0xF946, 0x8648, 0xF947, 0x864B, 0xF9C7, - 0x864C, 0xF9BD, 0x864D, 0xCA4F, 0x864E, 0xAAEA, 0x8650, 0xAD68, 0x8652, 0xD3B8, 0x8653, 0xD3B7, 0x8654, 0xB040, 0x8655, 0xB342, - 0x8656, 0xD77C, 0x8659, 0xD77B, 0x865B, 0xB5EA, 0x865C, 0xB8B8, 0x865E, 0xB8B7, 0x865F, 0xB8B9, 0x8661, 0xE3D4, 0x8662, 0xE77E, - 0x8663, 0xEB58, 0x8664, 0xEB5A, 0x8665, 0xEB59, 0x8667, 0xC1AB, 0x8668, 0xEE57, 0x8669, 0xF0BA, 0x866A, 0xF9A5, 0x866B, 0xA6E4, - 0x866D, 0xCDC9, 0x866E, 0xCDCA, 0x866F, 0xCDC8, 0x8670, 0xCDC7, 0x8671, 0xAAEB, 0x8673, 0xD0A9, 0x8674, 0xD0A7, 0x8677, 0xD0A6, - 0x8679, 0xAD69, 0x867A, 0xAD6B, 0x867B, 0xAD6A, 0x867C, 0xD0A8, 0x8685, 0xD3C4, 0x8686, 0xD3C1, 0x8687, 0xD3BF, 0x868A, 0xB041, - 0x868B, 0xD3C2, 0x868C, 0xB046, 0x868D, 0xD3BC, 0x868E, 0xD3CB, 0x8690, 0xD3CD, 0x8691, 0xD3BD, 0x8693, 0xB043, 0x8694, 0xD3CE, - 0x8695, 0xD3C9, 0x8696, 0xD3BB, 0x8697, 0xD3C0, 0x8698, 0xD3CA, 0x8699, 0xD3C6, 0x869A, 0xD3C3, 0x869C, 0xB048, 0x869D, 0xD3CC, - 0x869E, 0xD3BE, 0x86A1, 0xD3C7, 0x86A2, 0xD3B9, 0x86A3, 0xB047, 0x86A4, 0xB044, 0x86A5, 0xD3C5, 0x86A7, 0xD3C8, 0x86A8, 0xD3BA, - 0x86A9, 0xB045, 0x86AA, 0xB042, 0x86AF, 0xB34C, 0x86B0, 0xD7A5, 0x86B1, 0xB34B, 0x86B3, 0xD7A8, 0x86B4, 0xD7AB, 0x86B5, 0xB348, - 0x86B6, 0xB346, 0x86B7, 0xD77E, 0x86B8, 0xD7A9, 0x86B9, 0xD7A7, 0x86BA, 0xD7A4, 0x86BB, 0xD7AC, 0x86BC, 0xD7AD, 0x86BD, 0xD7AF, - 0x86BE, 0xD7B0, 0x86BF, 0xD77D, 0x86C0, 0xB345, 0x86C1, 0xD7A2, 0x86C2, 0xD7A1, 0x86C3, 0xD7AE, 0x86C4, 0xB347, 0x86C5, 0xD7A3, - 0x86C6, 0xB349, 0x86C7, 0xB344, 0x86C8, 0xD7A6, 0x86C9, 0xB34D, 0x86CB, 0xB34A, 0x86CC, 0xD7AA, 0x86D0, 0xB5F1, 0x86D1, 0xDBBF, - 0x86D3, 0xDBB4, 0x86D4, 0xB5EE, 0x86D6, 0xDFE7, 0x86D7, 0xDBBD, 0x86D8, 0xDBB1, 0x86D9, 0xB5EC, 0x86DA, 0xDBB6, 0x86DB, 0xB5EF, - 0x86DC, 0xDBBA, 0x86DD, 0xDBB8, 0x86DE, 0xB5F2, 0x86DF, 0xB5EB, 0x86E2, 0xDBB2, 0x86E3, 0xDBB5, 0x86E4, 0xB5F0, 0x86E6, 0xDBB3, - 0x86E8, 0xDBBE, 0x86E9, 0xDBBC, 0x86EA, 0xDBB7, 0x86EB, 0xDBB9, 0x86EC, 0xDBBB, 0x86ED, 0xB5ED, 0x86F5, 0xDFE8, 0x86F6, 0xDFEE, - 0x86F7, 0xDFE4, 0x86F8, 0xDFEA, 0x86F9, 0xB8BA, 0x86FA, 0xDFE6, 0x86FB, 0xB8C0, 0x86FE, 0xB8BF, 0x8700, 0xB8BE, 0x8701, 0xDFED, - 0x8702, 0xB8C1, 0x8703, 0xB8C2, 0x8704, 0xDFE3, 0x8705, 0xDFF0, 0x8706, 0xB8C3, 0x8707, 0xB8BD, 0x8708, 0xB8BC, 0x8709, 0xDFEC, - 0x870A, 0xB8C4, 0x870B, 0xDFE2, 0x870C, 0xDFE5, 0x870D, 0xDFEF, 0x870E, 0xDFEB, 0x8711, 0xE3F4, 0x8712, 0xE3E9, 0x8713, 0xB8BB, - 0x8718, 0xBB6A, 0x8719, 0xE3DD, 0x871A, 0xE3F2, 0x871B, 0xE3DE, 0x871C, 0xBB65, 0x871E, 0xE3DB, 0x8720, 0xE3E4, 0x8721, 0xE3DC, - 0x8722, 0xBB67, 0x8723, 0xE3D6, 0x8724, 0xE3F1, 0x8725, 0xBB68, 0x8726, 0xE3EE, 0x8727, 0xE3EF, 0x8728, 0xE3D7, 0x8729, 0xBB6D, - 0x872A, 0xE3E6, 0x872C, 0xE3E0, 0x872D, 0xE3E7, 0x872E, 0xE3DA, 0x8730, 0xE3F3, 0x8731, 0xE3EB, 0x8732, 0xE3E5, 0x8733, 0xE3D5, - 0x8734, 0xBB69, 0x8735, 0xE3EC, 0x8737, 0xBB6C, 0x8738, 0xE3F0, 0x873A, 0xE3EA, 0x873B, 0xBB66, 0x873C, 0xE3E8, 0x873E, 0xE3E2, - 0x873F, 0xBB64, 0x8740, 0xE3D9, 0x8741, 0xE3E1, 0x8742, 0xE3ED, 0x8743, 0xE3DF, 0x8746, 0xE3E3, 0x874C, 0xBDC1, 0x874D, 0xDFE9, - 0x874E, 0xE7B2, 0x874F, 0xE7BB, 0x8750, 0xE7B1, 0x8751, 0xE7AD, 0x8752, 0xE7AA, 0x8753, 0xBDC2, 0x8754, 0xE7A8, 0x8755, 0xBB6B, - 0x8756, 0xE7A1, 0x8757, 0xBDC0, 0x8758, 0xE7A7, 0x8759, 0xBDBF, 0x875A, 0xE7AC, 0x875B, 0xE7A9, 0x875C, 0xE7B9, 0x875D, 0xE7B4, - 0x875E, 0xE7AE, 0x875F, 0xE7B3, 0x8760, 0xBDBB, 0x8761, 0xE7AB, 0x8762, 0xE7BE, 0x8763, 0xE7A2, 0x8764, 0xE7A3, 0x8765, 0xE7BA, - 0x8766, 0xBDBC, 0x8767, 0xE7BF, 0x8768, 0xBDBE, 0x8769, 0xE7C0, 0x876A, 0xE7B0, 0x876B, 0xE3D8, 0x876C, 0xE7B6, 0x876D, 0xE7AF, - 0x876E, 0xE7B8, 0x876F, 0xE7B5, 0x8773, 0xE7A6, 0x8774, 0xBDB9, 0x8775, 0xE7BD, 0x8776, 0xBDBA, 0x8777, 0xE7A4, 0x8778, 0xBDBD, - 0x8779, 0xEB64, 0x877A, 0xE7B7, 0x877B, 0xE7BC, 0x8781, 0xEB61, 0x8782, 0xBDB8, 0x8783, 0xBFC0, 0x8784, 0xEB6B, 0x8785, 0xEB67, - 0x8787, 0xEB65, 0x8788, 0xEB60, 0x8789, 0xEB6F, 0x878D, 0xBFC4, 0x878F, 0xEB5C, 0x8790, 0xEB68, 0x8791, 0xEB69, 0x8792, 0xEB5F, - 0x8793, 0xEB5E, 0x8794, 0xEB6C, 0x8796, 0xEB62, 0x8797, 0xEB5D, 0x8798, 0xEB63, 0x879A, 0xEB6E, 0x879B, 0xEB5B, 0x879C, 0xEB6D, - 0x879D, 0xEB6A, 0x879E, 0xBFC2, 0x879F, 0xBFC1, 0x87A2, 0xBFC3, 0x87A3, 0xEB66, 0x87A4, 0xF0CB, 0x87AA, 0xEE59, 0x87AB, 0xC1B1, - 0x87AC, 0xEE5D, 0x87AD, 0xEE5A, 0x87AE, 0xEE61, 0x87AF, 0xEE67, 0x87B0, 0xEE5C, 0x87B2, 0xEE70, 0x87B3, 0xC1AE, 0x87B4, 0xEE6A, - 0x87B5, 0xEE5F, 0x87B6, 0xEE6B, 0x87B7, 0xEE66, 0x87B8, 0xEE6D, 0x87B9, 0xEE5E, 0x87BA, 0xC1B3, 0x87BB, 0xC1B2, 0x87BC, 0xEE60, - 0x87BD, 0xEE6E, 0x87BE, 0xEE58, 0x87BF, 0xEE6C, 0x87C0, 0xC1AC, 0x87C2, 0xEE64, 0x87C3, 0xEE63, 0x87C4, 0xEE68, 0x87C5, 0xEE5B, - 0x87C6, 0xC1B0, 0x87C8, 0xC1B4, 0x87C9, 0xEE62, 0x87CA, 0xEE69, 0x87CB, 0xC1B5, 0x87CC, 0xEE65, 0x87D1, 0xC1AD, 0x87D2, 0xC1AF, - 0x87D3, 0xF0C7, 0x87D4, 0xF0C5, 0x87D7, 0xF0CC, 0x87D8, 0xF0C9, 0x87D9, 0xF0CD, 0x87DB, 0xF0BE, 0x87DC, 0xF0C6, 0x87DD, 0xF0D1, - 0x87DE, 0xEE6F, 0x87DF, 0xF0C2, 0x87E0, 0xC2CF, 0x87E1, 0xE7A5, 0x87E2, 0xF0BD, 0x87E3, 0xF0CA, 0x87E4, 0xF0C4, 0x87E5, 0xF0C1, - 0x87E6, 0xF0BC, 0x87E7, 0xF0BB, 0x87E8, 0xF0D0, 0x87EA, 0xF0C0, 0x87EB, 0xF0BF, 0x87EC, 0xC2CD, 0x87ED, 0xF0C8, 0x87EF, 0xC2CC, - 0x87F2, 0xC2CE, 0x87F3, 0xF0C3, 0x87F4, 0xF0CF, 0x87F6, 0xF2DE, 0x87F7, 0xF2DF, 0x87F9, 0xC3C9, 0x87FA, 0xF2DC, 0x87FB, 0xC3C6, - 0x87FC, 0xF2E4, 0x87FE, 0xC3CA, 0x87FF, 0xF2E6, 0x8800, 0xF2DB, 0x8801, 0xF0CE, 0x8802, 0xF2E8, 0x8803, 0xF2DD, 0x8805, 0xC3C7, - 0x8806, 0xF2E3, 0x8808, 0xF2E5, 0x8809, 0xF2E0, 0x880A, 0xF2E7, 0x880B, 0xF2E2, 0x880C, 0xF2E1, 0x880D, 0xC3C8, 0x8810, 0xF4C5, - 0x8811, 0xF4C6, 0x8813, 0xF4C8, 0x8814, 0xC4AE, 0x8815, 0xC4AF, 0x8816, 0xF4C9, 0x8817, 0xF4C7, 0x8819, 0xF4C4, 0x881B, 0xF642, - 0x881C, 0xF645, 0x881D, 0xF641, 0x881F, 0xC4FA, 0x8820, 0xF643, 0x8821, 0xC4F9, 0x8822, 0xC4F8, 0x8823, 0xC4F7, 0x8824, 0xF644, - 0x8825, 0xF751, 0x8826, 0xF74F, 0x8828, 0xF74E, 0x8829, 0xF640, 0x882A, 0xF750, 0x882B, 0xF646, 0x882C, 0xF74D, 0x882E, 0xF7F9, - 0x882F, 0xF7D7, 0x8830, 0xF7F7, 0x8831, 0xC5DB, 0x8832, 0xF7F8, 0x8833, 0xF7FA, 0x8835, 0xF8BF, 0x8836, 0xC5FA, 0x8837, 0xF8BE, - 0x8838, 0xF8BD, 0x8839, 0xC5FB, 0x883B, 0xC65A, 0x883C, 0xF96E, 0x883D, 0xF9A7, 0x883E, 0xF9A6, 0x883F, 0xF9A8, 0x8840, 0xA6E5, - 0x8841, 0xD0AA, 0x8843, 0xD3CF, 0x8844, 0xD3D0, 0x8848, 0xDBC0, 0x884A, 0xF647, 0x884B, 0xF8C0, 0x884C, 0xA6E6, 0x884D, 0xAD6C, - 0x884E, 0xD0AB, 0x8852, 0xD7B1, 0x8853, 0xB34E, 0x8855, 0xDBC2, 0x8856, 0xDBC1, 0x8857, 0xB5F3, 0x8859, 0xB8C5, 0x885A, 0xE7C1, - 0x885B, 0xBDC3, 0x885D, 0xBDC4, 0x8861, 0xBFC5, 0x8862, 0xC5FC, 0x8863, 0xA6E7, 0x8867, 0xD0AC, 0x8868, 0xAAED, 0x8869, 0xD0AE, - 0x886A, 0xD0AD, 0x886B, 0xAD6D, 0x886D, 0xD3D1, 0x886F, 0xD3D8, 0x8870, 0xB049, 0x8871, 0xD3D6, 0x8872, 0xD3D4, 0x8874, 0xD3DB, - 0x8875, 0xD3D2, 0x8876, 0xD3D3, 0x8877, 0xB04A, 0x8879, 0xB04E, 0x887C, 0xD3DC, 0x887D, 0xB04D, 0x887E, 0xD3DA, 0x887F, 0xD3D7, - 0x8880, 0xD3D5, 0x8881, 0xB04B, 0x8882, 0xB04C, 0x8883, 0xD3D9, 0x8888, 0xB350, 0x8889, 0xD7B2, 0x888B, 0xB355, 0x888C, 0xD7C2, - 0x888D, 0xB354, 0x888E, 0xD7C4, 0x8891, 0xD7B8, 0x8892, 0xB352, 0x8893, 0xD7C3, 0x8895, 0xD7B3, 0x8896, 0xB353, 0x8897, 0xD7BF, - 0x8898, 0xD7BB, 0x8899, 0xD7BD, 0x889A, 0xD7B7, 0x889B, 0xD7BE, 0x889E, 0xB34F, 0x889F, 0xD7BA, 0x88A1, 0xD7B9, 0x88A2, 0xD7B5, - 0x88A4, 0xD7C0, 0x88A7, 0xD7BC, 0x88A8, 0xD7B4, 0x88AA, 0xD7B6, 0x88AB, 0xB351, 0x88AC, 0xD7C1, 0x88B1, 0xB5F6, 0x88B2, 0xDBCD, - 0x88B6, 0xDBC9, 0x88B7, 0xDBCB, 0x88B8, 0xDBC6, 0x88B9, 0xDBC5, 0x88BA, 0xDBC3, 0x88BC, 0xDBCA, 0x88BD, 0xDBCC, 0x88BE, 0xDBC8, - 0x88C0, 0xDBC7, 0x88C1, 0xB5F4, 0x88C2, 0xB5F5, 0x88C9, 0xDBCF, 0x88CA, 0xB8CD, 0x88CB, 0xDFF2, 0x88CC, 0xDFF8, 0x88CD, 0xDFF3, - 0x88CE, 0xDFF4, 0x88CF, 0xF9D8, 0x88D0, 0xDFF9, 0x88D2, 0xB8CF, 0x88D4, 0xB8C7, 0x88D5, 0xB8CE, 0x88D6, 0xDFF1, 0x88D7, 0xDBC4, - 0x88D8, 0xB8CA, 0x88D9, 0xB8C8, 0x88DA, 0xDFF7, 0x88DB, 0xDFF6, 0x88DC, 0xB8C9, 0x88DD, 0xB8CB, 0x88DE, 0xDFF5, 0x88DF, 0xB8C6, - 0x88E1, 0xB8CC, 0x88E7, 0xE3F6, 0x88E8, 0xBB74, 0x88EB, 0xE442, 0x88EC, 0xE441, 0x88EE, 0xE3FB, 0x88EF, 0xBB76, 0x88F0, 0xE440, - 0x88F1, 0xE3F7, 0x88F2, 0xE3F8, 0x88F3, 0xBB6E, 0x88F4, 0xBB70, 0x88F6, 0xE3FD, 0x88F7, 0xE3F5, 0x88F8, 0xBB72, 0x88F9, 0xBB71, - 0x88FA, 0xE3F9, 0x88FB, 0xE3FE, 0x88FC, 0xE3FC, 0x88FD, 0xBB73, 0x88FE, 0xE3FA, 0x8901, 0xDBCE, 0x8902, 0xBB6F, 0x8905, 0xE7C2, - 0x8906, 0xE7C9, 0x8907, 0xBDC6, 0x8909, 0xE7CD, 0x890A, 0xBDCA, 0x890B, 0xE7C5, 0x890C, 0xE7C3, 0x890E, 0xE7CC, 0x8910, 0xBDC5, - 0x8911, 0xE7CB, 0x8912, 0xBDC7, 0x8913, 0xBDC8, 0x8914, 0xE7C4, 0x8915, 0xBDC9, 0x8916, 0xE7CA, 0x8917, 0xE7C6, 0x8918, 0xE7C7, - 0x8919, 0xE7C8, 0x891A, 0xBB75, 0x891E, 0xEB70, 0x891F, 0xEB7C, 0x8921, 0xBFCA, 0x8922, 0xEB77, 0x8923, 0xEB79, 0x8925, 0xBFC8, - 0x8926, 0xEB71, 0x8927, 0xEB75, 0x8929, 0xEB78, 0x892A, 0xBFC6, 0x892B, 0xBFC9, 0x892C, 0xEB7B, 0x892D, 0xEB73, 0x892E, 0xEB74, - 0x892F, 0xEB7A, 0x8930, 0xEB72, 0x8931, 0xEB76, 0x8932, 0xBFC7, 0x8933, 0xEE72, 0x8935, 0xEE71, 0x8936, 0xC1B7, 0x8937, 0xEE77, - 0x8938, 0xC1B9, 0x893B, 0xC1B6, 0x893C, 0xEE73, 0x893D, 0xC1BA, 0x893E, 0xEE74, 0x8941, 0xEE75, 0x8942, 0xEE78, 0x8944, 0xC1B8, - 0x8946, 0xF0D6, 0x8949, 0xF0D9, 0x894B, 0xF0D3, 0x894C, 0xF0D5, 0x894F, 0xF0D4, 0x8950, 0xF0D7, 0x8951, 0xF0D8, 0x8952, 0xEE76, - 0x8953, 0xF0D2, 0x8956, 0xC3CD, 0x8957, 0xF2EC, 0x8958, 0xF2EF, 0x8959, 0xF2F1, 0x895A, 0xF2EA, 0x895B, 0xF2EB, 0x895C, 0xF2EE, - 0x895D, 0xF2F0, 0x895E, 0xC3CE, 0x895F, 0xC3CC, 0x8960, 0xC3CB, 0x8961, 0xF2ED, 0x8962, 0xF2E9, 0x8963, 0xF4CA, 0x8964, 0xC4B0, - 0x8966, 0xF4CB, 0x8969, 0xF649, 0x896A, 0xC4FB, 0x896B, 0xF64B, 0x896C, 0xC4FC, 0x896D, 0xF648, 0x896E, 0xF64A, 0x896F, 0xC5A8, - 0x8971, 0xF752, 0x8972, 0xC5A7, 0x8973, 0xF7FD, 0x8974, 0xF7FC, 0x8976, 0xF7FB, 0x8979, 0xF948, 0x897A, 0xF949, 0x897B, 0xF94B, - 0x897C, 0xF94A, 0x897E, 0xCA50, 0x897F, 0xA6E8, 0x8981, 0xAD6E, 0x8982, 0xD7C5, 0x8983, 0xB5F7, 0x8985, 0xDFFA, 0x8986, 0xC2D0, - 0x8988, 0xF2F2, 0x898B, 0xA8A3, 0x898F, 0xB357, 0x8993, 0xB356, 0x8995, 0xDBD0, 0x8996, 0xB5F8, 0x8997, 0xDBD2, 0x8998, 0xDBD1, - 0x899B, 0xDFFB, 0x899C, 0xB8D0, 0x899D, 0xE443, 0x899E, 0xE446, 0x899F, 0xE445, 0x89A1, 0xE444, 0x89A2, 0xE7CE, 0x89A3, 0xE7D0, - 0x89A4, 0xE7CF, 0x89A6, 0xBFCC, 0x89AA, 0xBFCB, 0x89AC, 0xC1BB, 0x89AD, 0xEE79, 0x89AE, 0xEE7B, 0x89AF, 0xEE7A, 0x89B2, 0xC2D1, - 0x89B6, 0xF2F4, 0x89B7, 0xF2F3, 0x89B9, 0xF4CC, 0x89BA, 0xC4B1, 0x89BD, 0xC4FD, 0x89BE, 0xF754, 0x89BF, 0xF753, 0x89C0, 0xC65B, - 0x89D2, 0xA8A4, 0x89D3, 0xD0AF, 0x89D4, 0xAD6F, 0x89D5, 0xD7C8, 0x89D6, 0xD7C6, 0x89D9, 0xD7C7, 0x89DA, 0xDBD4, 0x89DB, 0xDBD5, - 0x89DC, 0xE043, 0x89DD, 0xDBD3, 0x89DF, 0xDFFC, 0x89E0, 0xE041, 0x89E1, 0xE040, 0x89E2, 0xE042, 0x89E3, 0xB8D1, 0x89E4, 0xDFFE, - 0x89E5, 0xDFFD, 0x89E6, 0xE044, 0x89E8, 0xE449, 0x89E9, 0xE447, 0x89EB, 0xE448, 0x89EC, 0xE7D3, 0x89ED, 0xE7D1, 0x89F0, 0xE7D2, - 0x89F1, 0xEB7D, 0x89F2, 0xEE7C, 0x89F3, 0xEE7D, 0x89F4, 0xC2D2, 0x89F6, 0xF2F5, 0x89F7, 0xF4CD, 0x89F8, 0xC4B2, 0x89FA, 0xF64C, - 0x89FB, 0xF755, 0x89FC, 0xC5A9, 0x89FE, 0xF7FE, 0x89FF, 0xF94C, 0x8A00, 0xA8A5, 0x8A02, 0xAD71, 0x8A03, 0xAD72, 0x8A04, 0xD0B0, - 0x8A07, 0xD0B1, 0x8A08, 0xAD70, 0x8A0A, 0xB054, 0x8A0C, 0xB052, 0x8A0E, 0xB051, 0x8A0F, 0xB058, 0x8A10, 0xB050, 0x8A11, 0xB059, - 0x8A12, 0xD3DD, 0x8A13, 0xB056, 0x8A15, 0xB053, 0x8A16, 0xB057, 0x8A17, 0xB055, 0x8A18, 0xB04F, 0x8A1B, 0xB35F, 0x8A1D, 0xB359, - 0x8A1E, 0xD7CC, 0x8A1F, 0xB35E, 0x8A22, 0xB360, 0x8A23, 0xB35A, 0x8A25, 0xB35B, 0x8A27, 0xD7CA, 0x8A2A, 0xB358, 0x8A2C, 0xD7CB, - 0x8A2D, 0xB35D, 0x8A30, 0xD7C9, 0x8A31, 0xB35C, 0x8A34, 0xB644, 0x8A36, 0xB646, 0x8A39, 0xDBD8, 0x8A3A, 0xB645, 0x8A3B, 0xB5F9, - 0x8A3C, 0xB5FD, 0x8A3E, 0xB8E4, 0x8A3F, 0xE049, 0x8A40, 0xDBDA, 0x8A41, 0xB5FE, 0x8A44, 0xDBDD, 0x8A45, 0xDBDE, 0x8A46, 0xB643, - 0x8A48, 0xDBE0, 0x8A4A, 0xDBE2, 0x8A4C, 0xDBE3, 0x8A4D, 0xDBD7, 0x8A4E, 0xDBD6, 0x8A4F, 0xDBE4, 0x8A50, 0xB642, 0x8A51, 0xDBE1, - 0x8A52, 0xDBDF, 0x8A54, 0xB640, 0x8A55, 0xB5FB, 0x8A56, 0xB647, 0x8A57, 0xDBDB, 0x8A58, 0xDBDC, 0x8A59, 0xDBD9, 0x8A5B, 0xB641, - 0x8A5E, 0xB5FC, 0x8A60, 0xB5FA, 0x8A61, 0xE048, 0x8A62, 0xB8DF, 0x8A63, 0xB8DA, 0x8A66, 0xB8D5, 0x8A68, 0xB8E5, 0x8A69, 0xB8D6, - 0x8A6B, 0xB8D2, 0x8A6C, 0xB8E1, 0x8A6D, 0xB8DE, 0x8A6E, 0xB8E0, 0x8A70, 0xB8D7, 0x8A71, 0xB8DC, 0x8A72, 0xB8D3, 0x8A73, 0xB8D4, - 0x8A74, 0xE050, 0x8A75, 0xE04D, 0x8A76, 0xE045, 0x8A77, 0xE04A, 0x8A79, 0xB8E2, 0x8A7A, 0xE051, 0x8A7B, 0xB8E3, 0x8A7C, 0xB8D9, - 0x8A7F, 0xE047, 0x8A81, 0xE04F, 0x8A82, 0xE04B, 0x8A83, 0xE04E, 0x8A84, 0xE04C, 0x8A85, 0xB8DD, 0x8A86, 0xE046, 0x8A87, 0xB8D8, - 0x8A8B, 0xE44C, 0x8A8C, 0xBB78, 0x8A8D, 0xBB7B, 0x8A8F, 0xE44E, 0x8A91, 0xBBA5, 0x8A92, 0xE44D, 0x8A93, 0xBB7D, 0x8A95, 0xBDCF, - 0x8A96, 0xE44F, 0x8A98, 0xBBA4, 0x8A99, 0xE44B, 0x8A9A, 0xBBA6, 0x8A9E, 0xBB79, 0x8AA0, 0xB8DB, 0x8AA1, 0xBB7C, 0x8AA3, 0xBB7A, - 0x8AA4, 0xBB7E, 0x8AA5, 0xBBA2, 0x8AA6, 0xBB77, 0x8AA7, 0xBBA7, 0x8AA8, 0xBBA3, 0x8AAA, 0xBBA1, 0x8AAB, 0xE44A, 0x8AB0, 0xBDD6, - 0x8AB2, 0xBDD2, 0x8AB6, 0xBDD9, 0x8AB8, 0xE7D6, 0x8AB9, 0xBDDA, 0x8ABA, 0xE7E2, 0x8ABB, 0xE7DB, 0x8ABC, 0xBDCB, 0x8ABD, 0xE7E3, - 0x8ABE, 0xE7DD, 0x8ABF, 0xBDD5, 0x8AC0, 0xE7DE, 0x8AC2, 0xBDD4, 0x8AC3, 0xE7E1, 0x8AC4, 0xBDCE, 0x8AC5, 0xE7DF, 0x8AC6, 0xE7D5, - 0x8AC7, 0xBDCD, 0x8AC8, 0xEBAA, 0x8AC9, 0xBDD3, 0x8ACB, 0xBDD0, 0x8ACD, 0xBDD8, 0x8ACF, 0xE7D4, 0x8AD1, 0xE7D8, 0x8AD2, 0xBDCC, - 0x8AD3, 0xE7D7, 0x8AD4, 0xE7D9, 0x8AD5, 0xE7DA, 0x8AD6, 0xBDD7, 0x8AD7, 0xE7DC, 0x8AD8, 0xE7E0, 0x8AD9, 0xE7E4, 0x8ADB, 0xBDDB, - 0x8ADC, 0xBFD2, 0x8ADD, 0xEBA5, 0x8ADE, 0xEBAB, 0x8ADF, 0xEBA8, 0x8AE0, 0xEB7E, 0x8AE1, 0xEBAC, 0x8AE2, 0xEBA1, 0x8AE4, 0xEBA7, - 0x8AE6, 0xBFCD, 0x8AE7, 0xBFD3, 0x8AE8, 0xEBAD, 0x8AEB, 0xBFCF, 0x8AED, 0xBFD9, 0x8AEE, 0xBFD4, 0x8AEF, 0xEBAF, 0x8AF0, 0xEBA9, - 0x8AF1, 0xBFD0, 0x8AF2, 0xEBA2, 0x8AF3, 0xBFDA, 0x8AF4, 0xEBA3, 0x8AF5, 0xEBA4, 0x8AF6, 0xBFDB, 0x8AF7, 0xBFD8, 0x8AF8, 0xBDD1, - 0x8AFA, 0xBFCE, 0x8AFB, 0xEBB0, 0x8AFC, 0xBFDC, 0x8AFE, 0xBFD5, 0x8AFF, 0xEBAE, 0x8B00, 0xBFD1, 0x8B01, 0xBFD6, 0x8B02, 0xBFD7, - 0x8B04, 0xC1C3, 0x8B05, 0xEEA4, 0x8B06, 0xEEAD, 0x8B07, 0xEEAA, 0x8B08, 0xEEAC, 0x8B0A, 0xC1C0, 0x8B0B, 0xEEA5, 0x8B0D, 0xEEAB, - 0x8B0E, 0xC1BC, 0x8B0F, 0xEEA7, 0x8B10, 0xC1C4, 0x8B11, 0xEEA3, 0x8B12, 0xEEA8, 0x8B13, 0xEEAF, 0x8B14, 0xEBA6, 0x8B15, 0xEEA9, - 0x8B16, 0xEEA2, 0x8B17, 0xC1BD, 0x8B18, 0xEEA1, 0x8B19, 0xC1BE, 0x8B1A, 0xEEB0, 0x8B1B, 0xC1BF, 0x8B1C, 0xEEAE, 0x8B1D, 0xC1C2, - 0x8B1E, 0xEE7E, 0x8B20, 0xC1C1, 0x8B22, 0xEEA6, 0x8B23, 0xF0DC, 0x8B24, 0xF0EA, 0x8B25, 0xF0E5, 0x8B26, 0xF0E7, 0x8B27, 0xF0DB, - 0x8B28, 0xC2D3, 0x8B2A, 0xF0DA, 0x8B2B, 0xC2D6, 0x8B2C, 0xC2D5, 0x8B2E, 0xF0E9, 0x8B2F, 0xF0E1, 0x8B30, 0xF0DE, 0x8B31, 0xF0E4, - 0x8B33, 0xF0DD, 0x8B35, 0xF0DF, 0x8B36, 0xF0E8, 0x8B37, 0xF0E6, 0x8B39, 0xC2D4, 0x8B3A, 0xF0ED, 0x8B3B, 0xF0EB, 0x8B3C, 0xF0E2, - 0x8B3D, 0xF0EC, 0x8B3E, 0xF0E3, 0x8B40, 0xF2F9, 0x8B41, 0xC3CF, 0x8B42, 0xF341, 0x8B45, 0xF64F, 0x8B46, 0xC3D6, 0x8B47, 0xF0E0, - 0x8B48, 0xF2F7, 0x8B49, 0xC3D2, 0x8B4A, 0xF2F8, 0x8B4B, 0xF2FD, 0x8B4E, 0xC3D4, 0x8B4F, 0xC3D5, 0x8B50, 0xF2F6, 0x8B51, 0xF340, - 0x8B52, 0xF342, 0x8B53, 0xF2FA, 0x8B54, 0xF2FC, 0x8B55, 0xF2FE, 0x8B56, 0xF2FB, 0x8B57, 0xF343, 0x8B58, 0xC3D1, 0x8B59, 0xC3D7, - 0x8B5A, 0xC3D3, 0x8B5C, 0xC3D0, 0x8B5D, 0xF4D0, 0x8B5F, 0xC4B7, 0x8B60, 0xF4CE, 0x8B63, 0xF4D2, 0x8B65, 0xF4D3, 0x8B66, 0xC4B5, - 0x8B67, 0xF4D4, 0x8B68, 0xF4D1, 0x8B6A, 0xF4CF, 0x8B6B, 0xC4B8, 0x8B6C, 0xC4B4, 0x8B6D, 0xF4D5, 0x8B6F, 0xC4B6, 0x8B70, 0xC4B3, - 0x8B74, 0xC4FE, 0x8B77, 0xC540, 0x8B78, 0xF64E, 0x8B79, 0xF64D, 0x8B7A, 0xF650, 0x8B7B, 0xF651, 0x8B7D, 0xC541, 0x8B7E, 0xF756, - 0x8B7F, 0xF75B, 0x8B80, 0xC5AA, 0x8B82, 0xF758, 0x8B84, 0xF757, 0x8B85, 0xF75A, 0x8B86, 0xF759, 0x8B88, 0xF843, 0x8B8A, 0xC5DC, - 0x8B8B, 0xF842, 0x8B8C, 0xF840, 0x8B8E, 0xF841, 0x8B92, 0xC5FE, 0x8B93, 0xC5FD, 0x8B94, 0xF8C1, 0x8B95, 0xF8C2, 0x8B96, 0xC640, - 0x8B98, 0xF94D, 0x8B99, 0xF94E, 0x8B9A, 0xC667, 0x8B9C, 0xC66D, 0x8B9E, 0xF9A9, 0x8B9F, 0xF9C8, 0x8C37, 0xA8A6, 0x8C39, 0xD7CD, - 0x8C3B, 0xD7CE, 0x8C3C, 0xE052, 0x8C3D, 0xE450, 0x8C3E, 0xE7E5, 0x8C3F, 0xC1C6, 0x8C41, 0xC1C5, 0x8C42, 0xF0EE, 0x8C43, 0xF344, - 0x8C45, 0xF844, 0x8C46, 0xA8A7, 0x8C47, 0xD3DE, 0x8C48, 0xB05A, 0x8C49, 0xB361, 0x8C4A, 0xE054, 0x8C4B, 0xE053, 0x8C4C, 0xBDDC, - 0x8C4D, 0xE7E6, 0x8C4E, 0xBDDD, 0x8C4F, 0xEEB1, 0x8C50, 0xC2D7, 0x8C54, 0xC676, 0x8C55, 0xA8A8, 0x8C56, 0xCDCB, 0x8C57, 0xD3DF, - 0x8C5A, 0xB362, 0x8C5C, 0xD7CF, 0x8C5D, 0xD7D0, 0x8C5F, 0xDBE5, 0x8C61, 0xB648, 0x8C62, 0xB8E6, 0x8C64, 0xE056, 0x8C65, 0xE055, - 0x8C66, 0xE057, 0x8C68, 0xE451, 0x8C69, 0xE452, 0x8C6A, 0xBBA8, 0x8C6B, 0xBFDD, 0x8C6C, 0xBDDE, 0x8C6D, 0xBFDE, 0x8C6F, 0xEEB5, - 0x8C70, 0xEEB2, 0x8C71, 0xEEB4, 0x8C72, 0xEEB3, 0x8C73, 0xC1C7, 0x8C75, 0xF0EF, 0x8C76, 0xF346, 0x8C77, 0xF345, 0x8C78, 0xCBA4, - 0x8C79, 0xB05C, 0x8C7A, 0xB05B, 0x8C7B, 0xD3E0, 0x8C7D, 0xD7D1, 0x8C80, 0xDBE7, 0x8C81, 0xDBE6, 0x8C82, 0xB649, 0x8C84, 0xE059, - 0x8C85, 0xE05A, 0x8C86, 0xE058, 0x8C89, 0xB8E8, 0x8C8A, 0xB8E7, 0x8C8C, 0xBBAA, 0x8C8D, 0xBBA9, 0x8C8F, 0xE7E7, 0x8C90, 0xEBB3, - 0x8C91, 0xEBB1, 0x8C92, 0xEBB2, 0x8C93, 0xBFDF, 0x8C94, 0xEEB7, 0x8C95, 0xEEB6, 0x8C97, 0xF0F2, 0x8C98, 0xF0F1, 0x8C99, 0xF0F0, - 0x8C9A, 0xF347, 0x8C9C, 0xF9AA, 0x8C9D, 0xA8A9, 0x8C9E, 0xAD73, 0x8CA0, 0xAD74, 0x8CA1, 0xB05D, 0x8CA2, 0xB05E, 0x8CA3, 0xD3E2, - 0x8CA4, 0xD3E1, 0x8CA5, 0xD7D2, 0x8CA7, 0xB368, 0x8CA8, 0xB366, 0x8CA9, 0xB363, 0x8CAA, 0xB367, 0x8CAB, 0xB365, 0x8CAC, 0xB364, - 0x8CAF, 0xB64A, 0x8CB0, 0xDBEA, 0x8CB2, 0xB8ED, 0x8CB3, 0xB64C, 0x8CB4, 0xB651, 0x8CB5, 0xDBEC, 0x8CB6, 0xB653, 0x8CB7, 0xB652, - 0x8CB8, 0xB655, 0x8CB9, 0xDBEB, 0x8CBA, 0xDBE8, 0x8CBB, 0xB64F, 0x8CBC, 0xB64B, 0x8CBD, 0xB64D, 0x8CBE, 0xDBE9, 0x8CBF, 0xB654, - 0x8CC0, 0xB650, 0x8CC1, 0xB64E, 0x8CC2, 0xB8EF, 0x8CC3, 0xB8EE, 0x8CC4, 0xB8EC, 0x8CC5, 0xB8F0, 0x8CC7, 0xB8EA, 0x8CC8, 0xB8EB, - 0x8CCA, 0xB8E9, 0x8CCC, 0xE05B, 0x8CCF, 0xE454, 0x8CD1, 0xBBAC, 0x8CD2, 0xBBAD, 0x8CD3, 0xBBAB, 0x8CD5, 0xE453, 0x8CD7, 0xE455, - 0x8CD9, 0xE7EA, 0x8CDA, 0xE7EC, 0x8CDC, 0xBDE7, 0x8CDD, 0xE7ED, 0x8CDE, 0xBDE0, 0x8CDF, 0xE7E9, 0x8CE0, 0xBDDF, 0x8CE1, 0xBDE9, - 0x8CE2, 0xBDE5, 0x8CE3, 0xBDE6, 0x8CE4, 0xBDE2, 0x8CE5, 0xE7E8, 0x8CE6, 0xBDE1, 0x8CE7, 0xE7EE, 0x8CE8, 0xE7EB, 0x8CEA, 0xBDE8, - 0x8CEC, 0xBDE3, 0x8CED, 0xBDE4, 0x8CEE, 0xEBB5, 0x8CF0, 0xEBB7, 0x8CF1, 0xEBB6, 0x8CF3, 0xEBB8, 0x8CF4, 0xBFE0, 0x8CF5, 0xEBB4, - 0x8CF8, 0xC1CB, 0x8CF9, 0xEEB8, 0x8CFA, 0xC1C8, 0x8CFB, 0xC1CC, 0x8CFC, 0xC1CA, 0x8CFD, 0xC1C9, 0x8CFE, 0xF0F3, 0x8D00, 0xF0F6, - 0x8D02, 0xF0F5, 0x8D04, 0xF0F4, 0x8D05, 0xC2D8, 0x8D06, 0xF348, 0x8D07, 0xF349, 0x8D08, 0xC3D8, 0x8D09, 0xF34A, 0x8D0A, 0xC3D9, - 0x8D0D, 0xC4BA, 0x8D0F, 0xC4B9, 0x8D10, 0xF652, 0x8D13, 0xC542, 0x8D14, 0xF653, 0x8D15, 0xF75C, 0x8D16, 0xC5AB, 0x8D17, 0xC5AC, - 0x8D19, 0xF845, 0x8D1B, 0xC642, 0x8D64, 0xA8AA, 0x8D66, 0xB36A, 0x8D67, 0xB369, 0x8D68, 0xE05C, 0x8D69, 0xE05D, 0x8D6B, 0xBBAE, - 0x8D6C, 0xEBB9, 0x8D6D, 0xBDEA, 0x8D6E, 0xEBBA, 0x8D6F, 0xEEB9, 0x8D70, 0xA8AB, 0x8D72, 0xD0B2, 0x8D73, 0xAD76, 0x8D74, 0xAD75, - 0x8D76, 0xD3E3, 0x8D77, 0xB05F, 0x8D78, 0xD3E4, 0x8D79, 0xD7D5, 0x8D7B, 0xD7D4, 0x8D7D, 0xD7D3, 0x8D80, 0xDBEE, 0x8D81, 0xB658, - 0x8D84, 0xDBED, 0x8D85, 0xB657, 0x8D89, 0xDBEF, 0x8D8A, 0xB656, 0x8D8C, 0xE05F, 0x8D8D, 0xE062, 0x8D8E, 0xE060, 0x8D8F, 0xE061, - 0x8D90, 0xE065, 0x8D91, 0xE05E, 0x8D92, 0xE066, 0x8D93, 0xE063, 0x8D94, 0xE064, 0x8D95, 0xBBB0, 0x8D96, 0xE456, 0x8D99, 0xBBAF, - 0x8D9B, 0xE7F2, 0x8D9C, 0xE7F0, 0x8D9F, 0xBDEB, 0x8DA0, 0xE7EF, 0x8DA1, 0xE7F1, 0x8DA3, 0xBDEC, 0x8DA5, 0xEBBB, 0x8DA7, 0xEBBC, - 0x8DA8, 0xC1CD, 0x8DAA, 0xF34C, 0x8DAB, 0xF34E, 0x8DAC, 0xF34B, 0x8DAD, 0xF34D, 0x8DAE, 0xF4D6, 0x8DAF, 0xF654, 0x8DB2, 0xF96F, - 0x8DB3, 0xA8AC, 0x8DB4, 0xAD77, 0x8DB5, 0xD3E5, 0x8DB6, 0xD3E7, 0x8DB7, 0xD3E6, 0x8DB9, 0xD7D8, 0x8DBA, 0xB36C, 0x8DBC, 0xD7D6, - 0x8DBE, 0xB36B, 0x8DBF, 0xD7D9, 0x8DC1, 0xD7DA, 0x8DC2, 0xD7D7, 0x8DC5, 0xDBFB, 0x8DC6, 0xB660, 0x8DC7, 0xDBF3, 0x8DC8, 0xDBF9, - 0x8DCB, 0xB65B, 0x8DCC, 0xB65E, 0x8DCD, 0xDBF2, 0x8DCE, 0xB659, 0x8DCF, 0xDBF6, 0x8DD0, 0xE06C, 0x8DD1, 0xB65D, 0x8DD3, 0xDBF1, - 0x8DD5, 0xDBF7, 0x8DD6, 0xDBF4, 0x8DD7, 0xDBFA, 0x8DD8, 0xDBF0, 0x8DD9, 0xDBF8, 0x8DDA, 0xB65C, 0x8DDB, 0xB65F, 0x8DDC, 0xDBF5, - 0x8DDD, 0xB65A, 0x8DDF, 0xB8F2, 0x8DE0, 0xE068, 0x8DE1, 0xB8F1, 0x8DE2, 0xE06F, 0x8DE3, 0xE06E, 0x8DE4, 0xB8F8, 0x8DE6, 0xB8F9, - 0x8DE7, 0xE070, 0x8DE8, 0xB8F3, 0x8DE9, 0xE06D, 0x8DEA, 0xB8F7, 0x8DEB, 0xE072, 0x8DEC, 0xE069, 0x8DEE, 0xE06B, 0x8DEF, 0xB8F4, - 0x8DF0, 0xE067, 0x8DF1, 0xE06A, 0x8DF2, 0xE071, 0x8DF3, 0xB8F5, 0x8DF4, 0xE073, 0x8DFA, 0xB8F6, 0x8DFC, 0xBBB1, 0x8DFD, 0xE45B, - 0x8DFE, 0xE461, 0x8DFF, 0xE459, 0x8E00, 0xE462, 0x8E02, 0xE458, 0x8E03, 0xE45D, 0x8E04, 0xE463, 0x8E05, 0xE460, 0x8E06, 0xE45F, - 0x8E07, 0xE45E, 0x8E09, 0xE457, 0x8E0A, 0xE45C, 0x8E0D, 0xE45A, 0x8E0F, 0xBDF1, 0x8E10, 0xBDEE, 0x8E11, 0xE7FB, 0x8E12, 0xE841, - 0x8E13, 0xE843, 0x8E14, 0xE840, 0x8E15, 0xE7F8, 0x8E16, 0xE7FA, 0x8E17, 0xE845, 0x8E18, 0xE842, 0x8E19, 0xE7FC, 0x8E1A, 0xE846, - 0x8E1B, 0xE7F9, 0x8E1C, 0xE844, 0x8E1D, 0xBDEF, 0x8E1E, 0xBDF5, 0x8E1F, 0xBDF3, 0x8E20, 0xE7F3, 0x8E21, 0xBDF4, 0x8E22, 0xBDF0, - 0x8E23, 0xE7F4, 0x8E24, 0xE7F6, 0x8E25, 0xE7F5, 0x8E26, 0xE7FD, 0x8E27, 0xE7FE, 0x8E29, 0xBDF2, 0x8E2B, 0xBDED, 0x8E2E, 0xE7F7, - 0x8E30, 0xEBC6, 0x8E31, 0xBFE2, 0x8E33, 0xEBBD, 0x8E34, 0xBFE3, 0x8E35, 0xBFE6, 0x8E36, 0xEBC2, 0x8E38, 0xEBBF, 0x8E39, 0xBFE5, - 0x8E3C, 0xEBC3, 0x8E3D, 0xEBC4, 0x8E3E, 0xEBBE, 0x8E3F, 0xEBC7, 0x8E40, 0xEBC0, 0x8E41, 0xEBC5, 0x8E42, 0xBFE4, 0x8E44, 0xBFE1, - 0x8E45, 0xEBC1, 0x8E47, 0xEEBF, 0x8E48, 0xC1D0, 0x8E49, 0xC1CE, 0x8E4A, 0xC1D1, 0x8E4B, 0xC1CF, 0x8E4C, 0xEEBE, 0x8E4D, 0xEEBB, - 0x8E4E, 0xEEBA, 0x8E50, 0xEEBD, 0x8E53, 0xEEBC, 0x8E54, 0xF145, 0x8E55, 0xC2DE, 0x8E56, 0xF0FB, 0x8E57, 0xF0FA, 0x8E59, 0xC2D9, - 0x8E5A, 0xF141, 0x8E5B, 0xF140, 0x8E5C, 0xF0F7, 0x8E5D, 0xF143, 0x8E5E, 0xF0FC, 0x8E5F, 0xC2DD, 0x8E60, 0xF0F9, 0x8E61, 0xF142, - 0x8E62, 0xF0F8, 0x8E63, 0xC2DA, 0x8E64, 0xC2DC, 0x8E65, 0xF0FD, 0x8E66, 0xC2DB, 0x8E67, 0xF0FE, 0x8E69, 0xF144, 0x8E6A, 0xF352, - 0x8E6C, 0xC3DE, 0x8E6D, 0xF34F, 0x8E6F, 0xF353, 0x8E72, 0xC3DB, 0x8E73, 0xF351, 0x8E74, 0xC3E0, 0x8E76, 0xC3DD, 0x8E78, 0xF350, - 0x8E7A, 0xC3DF, 0x8E7B, 0xF354, 0x8E7C, 0xC3DA, 0x8E81, 0xC4BC, 0x8E82, 0xC4BE, 0x8E84, 0xF4D9, 0x8E85, 0xC4BD, 0x8E86, 0xF4D7, - 0x8E87, 0xC3DC, 0x8E88, 0xF4D8, 0x8E89, 0xC4BB, 0x8E8A, 0xC543, 0x8E8B, 0xC545, 0x8E8C, 0xF656, 0x8E8D, 0xC544, 0x8E8E, 0xF655, - 0x8E90, 0xF761, 0x8E91, 0xC5AD, 0x8E92, 0xF760, 0x8E93, 0xC5AE, 0x8E94, 0xF75E, 0x8E95, 0xF75D, 0x8E96, 0xF762, 0x8E97, 0xF763, - 0x8E98, 0xF846, 0x8E9A, 0xF75F, 0x8E9D, 0xF8C6, 0x8E9E, 0xF8C3, 0x8E9F, 0xF8C4, 0x8EA0, 0xF8C5, 0x8EA1, 0xC65C, 0x8EA3, 0xF951, - 0x8EA4, 0xF950, 0x8EA5, 0xF94F, 0x8EA6, 0xF970, 0x8EA8, 0xF9BE, 0x8EA9, 0xF9AB, 0x8EAA, 0xC66E, 0x8EAB, 0xA8AD, 0x8EAC, 0xB060, - 0x8EB2, 0xB8FA, 0x8EBA, 0xBDF6, 0x8EBD, 0xEBC8, 0x8EC0, 0xC2DF, 0x8EC2, 0xF355, 0x8EC9, 0xF9AC, 0x8ECA, 0xA8AE, 0x8ECB, 0xAAEE, - 0x8ECC, 0xAD79, 0x8ECD, 0xAD78, 0x8ECF, 0xB063, 0x8ED1, 0xD3E8, 0x8ED2, 0xB061, 0x8ED3, 0xD3E9, 0x8ED4, 0xB062, 0x8ED7, 0xD7DF, - 0x8ED8, 0xD7DB, 0x8EDB, 0xB36D, 0x8EDC, 0xD7DE, 0x8EDD, 0xD7DD, 0x8EDE, 0xD7DC, 0x8EDF, 0xB36E, 0x8EE0, 0xD7E0, 0x8EE1, 0xD7E1, - 0x8EE5, 0xDC43, 0x8EE6, 0xDC41, 0x8EE7, 0xDC45, 0x8EE8, 0xDC46, 0x8EE9, 0xDC4C, 0x8EEB, 0xDC48, 0x8EEC, 0xDC4A, 0x8EEE, 0xDC42, - 0x8EEF, 0xDBFC, 0x8EF1, 0xDC49, 0x8EF4, 0xDC4B, 0x8EF5, 0xDC44, 0x8EF6, 0xDC47, 0x8EF7, 0xDBFD, 0x8EF8, 0xB662, 0x8EF9, 0xDC40, - 0x8EFA, 0xDBFE, 0x8EFB, 0xB661, 0x8EFC, 0xB663, 0x8EFE, 0xB8FD, 0x8EFF, 0xE075, 0x8F00, 0xE077, 0x8F01, 0xE076, 0x8F02, 0xE07B, - 0x8F03, 0xB8FB, 0x8F05, 0xE078, 0x8F06, 0xE074, 0x8F07, 0xE079, 0x8F08, 0xE07A, 0x8F09, 0xB8FC, 0x8F0A, 0xB8FE, 0x8F0B, 0xE07C, - 0x8F0D, 0xE467, 0x8F0E, 0xE466, 0x8F10, 0xE464, 0x8F11, 0xE465, 0x8F12, 0xBBB3, 0x8F13, 0xBBB5, 0x8F14, 0xBBB2, 0x8F15, 0xBBB4, - 0x8F16, 0xE84D, 0x8F17, 0xE84E, 0x8F18, 0xE849, 0x8F1A, 0xE84A, 0x8F1B, 0xBDF8, 0x8F1C, 0xBDFD, 0x8F1D, 0xBDF7, 0x8F1E, 0xBDFE, - 0x8F1F, 0xBDF9, 0x8F20, 0xE84B, 0x8F23, 0xE84C, 0x8F24, 0xE848, 0x8F25, 0xBE40, 0x8F26, 0xBDFB, 0x8F29, 0xBDFA, 0x8F2A, 0xBDFC, - 0x8F2C, 0xE847, 0x8F2E, 0xEBCA, 0x8F2F, 0xBFE8, 0x8F32, 0xEBCC, 0x8F33, 0xBFEA, 0x8F34, 0xEBCF, 0x8F35, 0xEBCB, 0x8F36, 0xEBC9, - 0x8F37, 0xEBCE, 0x8F38, 0xBFE9, 0x8F39, 0xEBCD, 0x8F3B, 0xBFE7, 0x8F3E, 0xC1D3, 0x8F3F, 0xC1D6, 0x8F40, 0xEEC1, 0x8F42, 0xC1D4, - 0x8F43, 0xEEC0, 0x8F44, 0xC1D2, 0x8F45, 0xC1D5, 0x8F46, 0xF146, 0x8F47, 0xF147, 0x8F48, 0xF148, 0x8F49, 0xC2E0, 0x8F4B, 0xF149, - 0x8F4D, 0xC2E1, 0x8F4E, 0xC3E2, 0x8F4F, 0xF358, 0x8F50, 0xF359, 0x8F51, 0xF357, 0x8F52, 0xF356, 0x8F53, 0xF35A, 0x8F54, 0xC3E1, - 0x8F55, 0xF4DD, 0x8F56, 0xF4DB, 0x8F57, 0xF4DC, 0x8F58, 0xF4DE, 0x8F59, 0xF4DA, 0x8F5A, 0xF4DF, 0x8F5B, 0xF658, 0x8F5D, 0xF659, - 0x8F5E, 0xF657, 0x8F5F, 0xC546, 0x8F60, 0xF764, 0x8F61, 0xC5AF, 0x8F62, 0xF765, 0x8F63, 0xF848, 0x8F64, 0xF847, 0x8F9B, 0xA8AF, - 0x8F9C, 0xB664, 0x8F9F, 0xB940, 0x8FA3, 0xBBB6, 0x8FA6, 0xBFEC, 0x8FA8, 0xBFEB, 0x8FAD, 0xC3E3, 0x8FAE, 0xC47C, 0x8FAF, 0xC547, - 0x8FB0, 0xA8B0, 0x8FB1, 0xB064, 0x8FB2, 0xB941, 0x8FB4, 0xF35B, 0x8FBF, 0xCBA6, 0x8FC2, 0xA8B1, 0x8FC4, 0xA8B4, 0x8FC5, 0xA8B3, - 0x8FC6, 0xA8B2, 0x8FC9, 0xCBA5, 0x8FCB, 0xCDCD, 0x8FCD, 0xCDCF, 0x8FCE, 0xAAEF, 0x8FD1, 0xAAF1, 0x8FD2, 0xCDCC, 0x8FD3, 0xCDCE, - 0x8FD4, 0xAAF0, 0x8FD5, 0xCDD1, 0x8FD6, 0xCDD0, 0x8FD7, 0xCDD2, 0x8FE0, 0xD0B6, 0x8FE1, 0xD0B4, 0x8FE2, 0xAD7C, 0x8FE3, 0xD0B3, - 0x8FE4, 0xADA3, 0x8FE5, 0xAD7E, 0x8FE6, 0xAD7B, 0x8FE8, 0xADA4, 0x8FEA, 0xAD7D, 0x8FEB, 0xADA2, 0x8FED, 0xADA1, 0x8FEE, 0xD0B5, - 0x8FF0, 0xAD7A, 0x8FF4, 0xB06A, 0x8FF5, 0xD3EB, 0x8FF6, 0xD3F1, 0x8FF7, 0xB067, 0x8FF8, 0xB06E, 0x8FFA, 0xB069, 0x8FFB, 0xD3EE, - 0x8FFC, 0xD3F0, 0x8FFD, 0xB06C, 0x8FFE, 0xD3EA, 0x8FFF, 0xD3ED, 0x9000, 0xB068, 0x9001, 0xB065, 0x9002, 0xD3EC, 0x9003, 0xB06B, - 0x9004, 0xD3EF, 0x9005, 0xB06D, 0x9006, 0xB066, 0x900B, 0xD7E3, 0x900C, 0xD7E6, 0x900D, 0xB370, 0x900F, 0xB37A, 0x9010, 0xB376, - 0x9011, 0xD7E4, 0x9014, 0xB37E, 0x9015, 0xB377, 0x9016, 0xB37C, 0x9017, 0xB372, 0x9019, 0xB36F, 0x901A, 0xB371, 0x901B, 0xB37D, - 0x901C, 0xD7E5, 0x901D, 0xB375, 0x901E, 0xB378, 0x901F, 0xB374, 0x9020, 0xB379, 0x9021, 0xD7E7, 0x9022, 0xB37B, 0x9023, 0xB373, - 0x9024, 0xD7E2, 0x902D, 0xDC4D, 0x902E, 0xB665, 0x902F, 0xDC4F, 0x9031, 0xB667, 0x9032, 0xB669, 0x9034, 0xDC4E, 0x9035, 0xB666, - 0x9036, 0xB66A, 0x9038, 0xB668, 0x903C, 0xB947, 0x903D, 0xE0A3, 0x903E, 0xB94F, 0x903F, 0xE07E, 0x9041, 0xB950, 0x9042, 0xB945, - 0x9044, 0xE0A1, 0x9047, 0xB94A, 0x9049, 0xE0A2, 0x904A, 0xB943, 0x904B, 0xB942, 0x904D, 0xB94D, 0x904E, 0xB94C, 0x904F, 0xB94B, - 0x9050, 0xB949, 0x9051, 0xB94E, 0x9052, 0xE07D, 0x9053, 0xB944, 0x9054, 0xB946, 0x9055, 0xB948, 0x9058, 0xBBB8, 0x9059, 0xBBBB, - 0x905B, 0xBBBF, 0x905C, 0xBBB9, 0x905D, 0xBBBE, 0x905E, 0xBBBC, 0x9060, 0xBBB7, 0x9062, 0xBBBD, 0x9063, 0xBBBA, 0x9067, 0xE852, - 0x9068, 0xBE43, 0x9069, 0xBE41, 0x906B, 0xE853, 0x906D, 0xBE44, 0x906E, 0xBE42, 0x906F, 0xE851, 0x9070, 0xE850, 0x9072, 0xBFF0, - 0x9073, 0xE84F, 0x9074, 0xBFEE, 0x9075, 0xBFED, 0x9076, 0xEBD0, 0x9077, 0xBE45, 0x9078, 0xBFEF, 0x9079, 0xEBD1, 0x907A, 0xBFF2, - 0x907B, 0xEBD2, 0x907C, 0xBFF1, 0x907D, 0xC1D8, 0x907E, 0xEEC3, 0x907F, 0xC1D7, 0x9080, 0xC1DC, 0x9081, 0xC1DA, 0x9082, 0xC1DB, - 0x9083, 0xC2E3, 0x9084, 0xC1D9, 0x9085, 0xEEC2, 0x9086, 0xEBD3, 0x9087, 0xC2E2, 0x9088, 0xC2E4, 0x908A, 0xC3E4, 0x908B, 0xC3E5, - 0x908D, 0xF4E0, 0x908F, 0xC5DE, 0x9090, 0xC5DD, 0x9091, 0xA8B6, 0x9094, 0xCA55, 0x9095, 0xB06F, 0x9097, 0xCA52, 0x9098, 0xCA53, - 0x9099, 0xCA51, 0x909B, 0xCA54, 0x909E, 0xCBAA, 0x909F, 0xCBA7, 0x90A0, 0xCBAC, 0x90A1, 0xCBA8, 0x90A2, 0xA8B7, 0x90A3, 0xA8BA, - 0x90A5, 0xCBA9, 0x90A6, 0xA8B9, 0x90A7, 0xCBAB, 0x90AA, 0xA8B8, 0x90AF, 0xCDD5, 0x90B0, 0xCDD7, 0x90B1, 0xAAF4, 0x90B2, 0xCDD3, - 0x90B3, 0xCDD6, 0x90B4, 0xCDD4, 0x90B5, 0xAAF2, 0x90B6, 0xAAF5, 0x90B8, 0xAAF3, 0x90BD, 0xD0B8, 0x90BE, 0xD0BC, 0x90BF, 0xD0B9, - 0x90C1, 0xADA7, 0x90C3, 0xADA8, 0x90C5, 0xD0BB, 0x90C7, 0xD0BD, 0x90C8, 0xD0BF, 0x90CA, 0xADA5, 0x90CB, 0xD0BE, 0x90CE, 0xADA6, - 0x90D4, 0xD7EE, 0x90D5, 0xD0BA, 0x90D6, 0xD3F2, 0x90D7, 0xD3FB, 0x90D8, 0xD3F9, 0x90D9, 0xD3F4, 0x90DA, 0xD3F5, 0x90DB, 0xD3FA, - 0x90DC, 0xD3FC, 0x90DD, 0xB071, 0x90DF, 0xD3F7, 0x90E0, 0xD3F3, 0x90E1, 0xB070, 0x90E2, 0xB072, 0x90E3, 0xD3F6, 0x90E4, 0xD3FD, - 0x90E5, 0xD3F8, 0x90E8, 0xB3A1, 0x90E9, 0xD7F1, 0x90EA, 0xD7E9, 0x90EB, 0xD7EF, 0x90EC, 0xD7F0, 0x90ED, 0xB3A2, 0x90EF, 0xD7E8, - 0x90F0, 0xD7EA, 0x90F1, 0xD0B7, 0x90F2, 0xD7EC, 0x90F3, 0xD7ED, 0x90F4, 0xD7EB, 0x90F5, 0xB66C, 0x90F9, 0xDC56, 0x90FA, 0xEBD4, - 0x90FB, 0xDC57, 0x90FC, 0xDC54, 0x90FD, 0xB3A3, 0x90FE, 0xB66E, 0x90FF, 0xDC53, 0x9100, 0xDC59, 0x9101, 0xDC58, 0x9102, 0xB66B, - 0x9103, 0xDC5C, 0x9104, 0xDC52, 0x9105, 0xDC5B, 0x9106, 0xDC50, 0x9107, 0xDC5A, 0x9108, 0xDC55, 0x9109, 0xB66D, 0x910B, 0xE0AA, - 0x910D, 0xE0A5, 0x910E, 0xE0AB, 0x910F, 0xE0A6, 0x9110, 0xE0A4, 0x9111, 0xE0A7, 0x9112, 0xB951, 0x9114, 0xE0A9, 0x9116, 0xE0A8, - 0x9117, 0xB952, 0x9118, 0xBBC1, 0x9119, 0xBBC0, 0x911A, 0xE46E, 0x911B, 0xE471, 0x911C, 0xE469, 0x911D, 0xE46D, 0x911E, 0xBBC2, - 0x911F, 0xE46C, 0x9120, 0xE46A, 0x9121, 0xE470, 0x9122, 0xE46B, 0x9123, 0xE468, 0x9124, 0xE46F, 0x9126, 0xE859, 0x9127, 0xBE48, - 0x9128, 0xF14A, 0x9129, 0xE856, 0x912A, 0xE857, 0x912B, 0xE855, 0x912C, 0xDC51, 0x912D, 0xBE47, 0x912E, 0xE85A, 0x912F, 0xE854, - 0x9130, 0xBE46, 0x9131, 0xBE49, 0x9132, 0xE858, 0x9133, 0xEBD5, 0x9134, 0xBFF3, 0x9135, 0xEBD6, 0x9136, 0xEBD7, 0x9138, 0xEEC4, - 0x9139, 0xC1DD, 0x913A, 0xF14B, 0x913B, 0xF14C, 0x913E, 0xF14D, 0x913F, 0xF35D, 0x9140, 0xF35C, 0x9141, 0xF4E2, 0x9143, 0xF4E1, - 0x9144, 0xF65B, 0x9145, 0xF65C, 0x9146, 0xF65A, 0x9147, 0xF766, 0x9148, 0xC5B0, 0x9149, 0xA8BB, 0x914A, 0xADAA, 0x914B, 0xADA9, - 0x914C, 0xB075, 0x914D, 0xB074, 0x914E, 0xD440, 0x914F, 0xD441, 0x9150, 0xD3FE, 0x9152, 0xB073, 0x9153, 0xD7F5, 0x9155, 0xD7F6, - 0x9156, 0xD7F2, 0x9157, 0xB3A4, 0x9158, 0xD7F3, 0x915A, 0xD7F4, 0x915F, 0xDC5F, 0x9160, 0xDC61, 0x9161, 0xDC5D, 0x9162, 0xDC60, - 0x9163, 0xB66F, 0x9164, 0xDC5E, 0x9165, 0xB670, 0x9168, 0xDD73, 0x9169, 0xB955, 0x916A, 0xB954, 0x916C, 0xB953, 0x916E, 0xE0AC, - 0x916F, 0xE0AD, 0x9172, 0xE473, 0x9173, 0xE475, 0x9174, 0xBBC6, 0x9175, 0xBBC3, 0x9177, 0xBBC5, 0x9178, 0xBBC4, 0x9179, 0xE474, - 0x917A, 0xE472, 0x9180, 0xE861, 0x9181, 0xE85E, 0x9182, 0xE85F, 0x9183, 0xBE4D, 0x9184, 0xE860, 0x9185, 0xE85B, 0x9186, 0xE85C, - 0x9187, 0xBE4A, 0x9189, 0xBE4B, 0x918A, 0xE85D, 0x918B, 0xBE4C, 0x918D, 0xEBDB, 0x918F, 0xEBDC, 0x9190, 0xEBD9, 0x9191, 0xEBDA, - 0x9192, 0xBFF4, 0x9193, 0xEBD8, 0x9199, 0xEEC8, 0x919A, 0xEEC5, 0x919B, 0xEEC7, 0x919C, 0xC1E0, 0x919D, 0xEECB, 0x919E, 0xC1DF, - 0x919F, 0xEEC9, 0x91A0, 0xEECC, 0x91A1, 0xEECA, 0x91A2, 0xEEC6, 0x91A3, 0xC1DE, 0x91A5, 0xF14F, 0x91A7, 0xF150, 0x91A8, 0xF14E, - 0x91AA, 0xF152, 0x91AB, 0xC2E5, 0x91AC, 0xC2E6, 0x91AD, 0xF35F, 0x91AE, 0xC3E7, 0x91AF, 0xF151, 0x91B0, 0xF35E, 0x91B1, 0xC3E6, - 0x91B2, 0xF4E5, 0x91B3, 0xF4E6, 0x91B4, 0xC4BF, 0x91B5, 0xF4E4, 0x91B7, 0xF4E3, 0x91B9, 0xF65D, 0x91BA, 0xC548, 0x91BC, 0xF849, - 0x91BD, 0xF8C8, 0x91BE, 0xF8C7, 0x91C0, 0xC643, 0x91C1, 0xC65D, 0x91C2, 0xF8C9, 0x91C3, 0xF971, 0x91C5, 0xC66F, 0x91C6, 0xA8BC, - 0x91C7, 0xAAF6, 0x91C9, 0xB956, 0x91CB, 0xC4C0, 0x91CC, 0xA8BD, 0x91CD, 0xADAB, 0x91CE, 0xB3A5, 0x91CF, 0xB671, 0x91D0, 0xC2E7, - 0x91D1, 0xAAF7, 0x91D3, 0xD0C1, 0x91D4, 0xD0C0, 0x91D5, 0xD442, 0x91D7, 0xB078, 0x91D8, 0xB076, 0x91D9, 0xB07A, 0x91DA, 0xD444, - 0x91DC, 0xB079, 0x91DD, 0xB077, 0x91E2, 0xD443, 0x91E3, 0xB3A8, 0x91E4, 0xD7FC, 0x91E6, 0xB3A7, 0x91E7, 0xB3A9, 0x91E8, 0xD842, - 0x91E9, 0xB3AB, 0x91EA, 0xD7FE, 0x91EB, 0xD840, 0x91EC, 0xD7F7, 0x91ED, 0xB3AA, 0x91EE, 0xD843, 0x91F1, 0xD7F9, 0x91F3, 0xD7FA, - 0x91F4, 0xD7F8, 0x91F5, 0xB3A6, 0x91F7, 0xD841, 0x91F8, 0xD7FB, 0x91F9, 0xD7FD, 0x91FD, 0xDC6D, 0x91FF, 0xDC6C, 0x9200, 0xDC6A, - 0x9201, 0xDC62, 0x9202, 0xDC71, 0x9203, 0xDC65, 0x9204, 0xDC6F, 0x9205, 0xDC76, 0x9206, 0xDC6E, 0x9207, 0xB679, 0x9209, 0xB675, - 0x920A, 0xDC63, 0x920C, 0xDC69, 0x920D, 0xB677, 0x920F, 0xDC68, 0x9210, 0xB678, 0x9211, 0xB67A, 0x9212, 0xDC6B, 0x9214, 0xB672, - 0x9215, 0xB673, 0x9216, 0xDC77, 0x9217, 0xDC75, 0x9219, 0xDC74, 0x921A, 0xDC66, 0x921C, 0xDC72, 0x921E, 0xB676, 0x9223, 0xB674, - 0x9224, 0xDC73, 0x9225, 0xDC64, 0x9226, 0xDC67, 0x9227, 0xDC70, 0x922D, 0xE4BA, 0x922E, 0xE0B7, 0x9230, 0xE0B0, 0x9231, 0xE0C3, - 0x9232, 0xE0CC, 0x9233, 0xE0B3, 0x9234, 0xB961, 0x9236, 0xE0C0, 0x9237, 0xB957, 0x9238, 0xB959, 0x9239, 0xB965, 0x923A, 0xE0B1, - 0x923D, 0xB95A, 0x923E, 0xB95C, 0x923F, 0xB966, 0x9240, 0xB95B, 0x9245, 0xB964, 0x9246, 0xE0B9, 0x9248, 0xE0AE, 0x9249, 0xB962, - 0x924A, 0xE0B8, 0x924B, 0xB95E, 0x924C, 0xE0CA, 0x924D, 0xB963, 0x924E, 0xE0C8, 0x924F, 0xE0BC, 0x9250, 0xE0C6, 0x9251, 0xB960, - 0x9252, 0xE0AF, 0x9253, 0xE0C9, 0x9254, 0xE0C4, 0x9256, 0xE0CB, 0x9257, 0xB958, 0x925A, 0xB967, 0x925B, 0xB95D, 0x925E, 0xE0B5, - 0x9260, 0xE0BD, 0x9261, 0xE0C1, 0x9263, 0xE0C5, 0x9264, 0xB95F, 0x9265, 0xE0B4, 0x9266, 0xE0B2, 0x9267, 0xE0BE, 0x926C, 0xE0BB, - 0x926D, 0xE0BA, 0x926F, 0xE0BF, 0x9270, 0xE0C2, 0x9272, 0xE0C7, 0x9276, 0xE478, 0x9278, 0xBBC7, 0x9279, 0xE4A4, 0x927A, 0xE47A, - 0x927B, 0xBBCC, 0x927C, 0xBBD0, 0x927D, 0xE4AD, 0x927E, 0xE4B5, 0x927F, 0xE4A6, 0x9280, 0xBBC8, 0x9282, 0xE4AA, 0x9283, 0xE0B6, - 0x9285, 0xBBC9, 0x9286, 0xE4B1, 0x9287, 0xE4B6, 0x9288, 0xE4AE, 0x928A, 0xE4B0, 0x928B, 0xE4B9, 0x928C, 0xE4B2, 0x928D, 0xE47E, - 0x928E, 0xE4A9, 0x9291, 0xBBD1, 0x9293, 0xBBCD, 0x9294, 0xE47C, 0x9295, 0xE4AB, 0x9296, 0xBBCB, 0x9297, 0xE4A5, 0x9298, 0xBBCA, - 0x9299, 0xE4B3, 0x929A, 0xE4A2, 0x929B, 0xE479, 0x929C, 0xBBCE, 0x929D, 0xE4B8, 0x92A0, 0xE47B, 0x92A1, 0xE4AF, 0x92A2, 0xE4AC, - 0x92A3, 0xE4A7, 0x92A4, 0xE477, 0x92A5, 0xE476, 0x92A6, 0xE4A1, 0x92A7, 0xE4B4, 0x92A8, 0xBBCF, 0x92A9, 0xE4B7, 0x92AA, 0xE47D, - 0x92AB, 0xE4A3, 0x92AC, 0xBE52, 0x92B2, 0xBE5A, 0x92B3, 0xBE55, 0x92B4, 0xE8A4, 0x92B5, 0xE8A1, 0x92B6, 0xE867, 0x92B7, 0xBE50, - 0x92B9, 0xF9D7, 0x92BB, 0xBE4F, 0x92BC, 0xBE56, 0x92C0, 0xE865, 0x92C1, 0xBE54, 0x92C2, 0xE871, 0x92C3, 0xE863, 0x92C4, 0xE864, - 0x92C5, 0xBE4E, 0x92C6, 0xE8A3, 0x92C7, 0xBE58, 0x92C8, 0xE874, 0x92C9, 0xE879, 0x92CA, 0xE873, 0x92CB, 0xEBEE, 0x92CC, 0xE86F, - 0x92CD, 0xE877, 0x92CE, 0xE875, 0x92CF, 0xE868, 0x92D0, 0xE862, 0x92D1, 0xE87D, 0x92D2, 0xBE57, 0x92D3, 0xE87E, 0x92D5, 0xE878, - 0x92D7, 0xE86D, 0x92D8, 0xE86B, 0x92D9, 0xE866, 0x92DD, 0xE86E, 0x92DE, 0xE87B, 0x92DF, 0xE86A, 0x92E0, 0xE87A, 0x92E1, 0xE8A2, - 0x92E4, 0xBE53, 0x92E6, 0xE876, 0x92E7, 0xE87C, 0x92E8, 0xE872, 0x92E9, 0xE86C, 0x92EA, 0xBE51, 0x92EE, 0xE4A8, 0x92EF, 0xE870, - 0x92F0, 0xBE59, 0x92F1, 0xE869, 0x92F7, 0xEBF4, 0x92F8, 0xBFF7, 0x92F9, 0xEBF3, 0x92FA, 0xEBF0, 0x92FB, 0xEC44, 0x92FC, 0xBFFB, - 0x92FE, 0xEC41, 0x92FF, 0xEBF8, 0x9300, 0xEC43, 0x9301, 0xEBE9, 0x9302, 0xEBF6, 0x9304, 0xBFFD, 0x9306, 0xEBE1, 0x9308, 0xEBDF, - 0x9309, 0xEC42, 0x930B, 0xEC40, 0x930C, 0xEBFE, 0x930D, 0xEBED, 0x930E, 0xEBEC, 0x930F, 0xEBE2, 0x9310, 0xC040, 0x9312, 0xEBE8, - 0x9313, 0xEBF2, 0x9314, 0xEBFD, 0x9315, 0xC043, 0x9316, 0xEC45, 0x9318, 0xC1E8, 0x9319, 0xC045, 0x931A, 0xBFFE, 0x931B, 0xEBE6, - 0x931D, 0xEBEF, 0x931E, 0xEBDE, 0x931F, 0xEBE0, 0x9320, 0xBFF5, 0x9321, 0xC042, 0x9322, 0xBFFA, 0x9323, 0xEBE7, 0x9324, 0xEBF7, - 0x9325, 0xEBF1, 0x9326, 0xC041, 0x9327, 0xEBDD, 0x9328, 0xC1E3, 0x9329, 0xEBF9, 0x932A, 0xEBFC, 0x932B, 0xBFFC, 0x932D, 0xEBEB, - 0x932E, 0xC044, 0x932F, 0xBFF9, 0x9333, 0xBFF8, 0x9334, 0xEBF5, 0x9335, 0xEBFB, 0x9336, 0xBFF6, 0x9338, 0xEBE4, 0x9339, 0xEBFA, - 0x933C, 0xEBE5, 0x9346, 0xEBEA, 0x9347, 0xEED2, 0x9349, 0xEED7, 0x934A, 0xC1E5, 0x934B, 0xC1E7, 0x934C, 0xEEDD, 0x934D, 0xC1E1, - 0x934E, 0xEEEC, 0x934F, 0xEEE3, 0x9350, 0xEED8, 0x9351, 0xEED9, 0x9352, 0xEEE2, 0x9354, 0xC1EE, 0x9355, 0xEEE1, 0x9356, 0xEED1, - 0x9357, 0xEEE0, 0x9358, 0xEED4, 0x9359, 0xEEED, 0x935A, 0xC1ED, 0x935B, 0xC1EB, 0x935C, 0xEED5, 0x935E, 0xEEE8, 0x9360, 0xEEDA, - 0x9361, 0xEEE7, 0x9363, 0xEEE9, 0x9364, 0xEED0, 0x9365, 0xC1E6, 0x9367, 0xEEEA, 0x936A, 0xEEDE, 0x936C, 0xC1EA, 0x936D, 0xEEDB, - 0x9370, 0xC1EC, 0x9371, 0xEEE4, 0x9375, 0xC1E4, 0x9376, 0xEED6, 0x9377, 0xEEE5, 0x9379, 0xEEDF, 0x937A, 0xEBE3, 0x937B, 0xEEE6, - 0x937C, 0xEED3, 0x937E, 0xC1E9, 0x9380, 0xEEEB, 0x9382, 0xC1E2, 0x9383, 0xEECE, 0x9388, 0xF160, 0x9389, 0xF159, 0x938A, 0xC2E9, - 0x938C, 0xF154, 0x938D, 0xF163, 0x938E, 0xF15B, 0x938F, 0xEEDC, 0x9391, 0xF165, 0x9392, 0xF155, 0x9394, 0xC2E8, 0x9395, 0xF15F, - 0x9396, 0xC2EA, 0x9397, 0xC2F2, 0x9398, 0xC2F0, 0x9399, 0xF161, 0x939A, 0xC2F1, 0x939B, 0xF157, 0x939D, 0xF158, 0x939E, 0xF15D, - 0x939F, 0xF162, 0x93A1, 0xEECD, 0x93A2, 0xC2EB, 0x93A3, 0xF16A, 0x93A4, 0xF167, 0x93A5, 0xF16B, 0x93A6, 0xF15E, 0x93A7, 0xF15A, - 0x93A8, 0xF168, 0x93A9, 0xF36A, 0x93AA, 0xF15C, 0x93AC, 0xC2EE, 0x93AE, 0xC2ED, 0x93AF, 0xEECF, 0x93B0, 0xC2EF, 0x93B1, 0xF164, - 0x93B2, 0xF166, 0x93B3, 0xC2EC, 0x93B4, 0xF169, 0x93B5, 0xF153, 0x93B7, 0xF156, 0x93C0, 0xF373, 0x93C2, 0xF363, 0x93C3, 0xC3EB, - 0x93C4, 0xF371, 0x93C7, 0xF361, 0x93C8, 0xC3EC, 0x93CA, 0xF36C, 0x93CC, 0xF368, 0x93CD, 0xC3F1, 0x93CE, 0xF372, 0x93CF, 0xF362, - 0x93D0, 0xF365, 0x93D1, 0xC3E9, 0x93D2, 0xF374, 0x93D4, 0xF36D, 0x93D5, 0xF370, 0x93D6, 0xC3EF, 0x93D7, 0xC3F4, 0x93D8, 0xC3F2, - 0x93D9, 0xF369, 0x93DA, 0xF364, 0x93DC, 0xC3ED, 0x93DD, 0xC3EE, 0x93DE, 0xF360, 0x93DF, 0xC3EA, 0x93E1, 0xC3E8, 0x93E2, 0xC3F0, - 0x93E3, 0xF36F, 0x93E4, 0xC3F3, 0x93E6, 0xF36B, 0x93E7, 0xF375, 0x93E8, 0xC3F5, 0x93EC, 0xF367, 0x93EE, 0xF36E, 0x93F5, 0xF4F3, - 0x93F6, 0xF542, 0x93F7, 0xF4F5, 0x93F8, 0xF4FC, 0x93F9, 0xF366, 0x93FA, 0xF4FA, 0x93FB, 0xF4E9, 0x93FC, 0xF540, 0x93FD, 0xC4C3, - 0x93FE, 0xF4ED, 0x93FF, 0xF4FE, 0x9400, 0xF4F4, 0x9403, 0xC4C2, 0x9406, 0xF544, 0x9407, 0xF4F6, 0x9409, 0xF4FB, 0x940A, 0xF4FD, - 0x940B, 0xF4E7, 0x940C, 0xF541, 0x940D, 0xF4F2, 0x940E, 0xF4F7, 0x940F, 0xF4EB, 0x9410, 0xF4EF, 0x9411, 0xF543, 0x9412, 0xF4F9, - 0x9413, 0xF4E8, 0x9414, 0xF4EC, 0x9415, 0xF4EE, 0x9416, 0xF4F8, 0x9418, 0xC4C1, 0x9419, 0xF4F1, 0x9420, 0xF4EA, 0x9428, 0xF4F0, - 0x9429, 0xF661, 0x942A, 0xF666, 0x942B, 0xC54F, 0x942C, 0xF668, 0x942E, 0xC549, 0x9430, 0xF664, 0x9431, 0xF66A, 0x9432, 0xC54E, - 0x9433, 0xC54A, 0x9435, 0xC54B, 0x9436, 0xF660, 0x9437, 0xF667, 0x9438, 0xC54D, 0x9439, 0xF665, 0x943A, 0xC54C, 0x943B, 0xF65F, - 0x943C, 0xF663, 0x943D, 0xF662, 0x943F, 0xF65E, 0x9440, 0xF669, 0x9444, 0xC5B1, 0x9445, 0xF76D, 0x9446, 0xF770, 0x9447, 0xF76C, - 0x9448, 0xF76E, 0x9449, 0xF76F, 0x944A, 0xF769, 0x944B, 0xF76A, 0x944C, 0xF767, 0x944F, 0xF76B, 0x9450, 0xF768, 0x9451, 0xC5B2, - 0x9452, 0xC5B3, 0x9455, 0xF84B, 0x9457, 0xF84D, 0x945D, 0xF84C, 0x945E, 0xF84E, 0x9460, 0xC5E0, 0x9462, 0xF84A, 0x9463, 0xC5DF, - 0x9464, 0xC5E1, 0x9468, 0xF8CB, 0x9469, 0xF8CC, 0x946A, 0xC644, 0x946B, 0xF8CA, 0x946D, 0xF953, 0x946E, 0xF952, 0x946F, 0xF954, - 0x9470, 0xC65F, 0x9471, 0xF955, 0x9472, 0xC65E, 0x9473, 0xF956, 0x9474, 0xF972, 0x9475, 0xF975, 0x9476, 0xF974, 0x9477, 0xC668, - 0x9478, 0xF973, 0x947C, 0xC672, 0x947D, 0xC670, 0x947E, 0xC671, 0x947F, 0xC677, 0x9480, 0xF9C0, 0x9481, 0xF9C1, 0x9482, 0xF9BF, - 0x9483, 0xF9C9, 0x9577, 0xAAF8, 0x957A, 0xD844, 0x957B, 0xDC78, 0x957C, 0xE8A5, 0x957D, 0xF376, 0x9580, 0xAAF9, 0x9582, 0xADAC, - 0x9583, 0xB07B, 0x9586, 0xD845, 0x9588, 0xD846, 0x9589, 0xB3AC, 0x958B, 0xB67D, 0x958C, 0xDC7A, 0x958D, 0xDC79, 0x958E, 0xB6A3, - 0x958F, 0xB67C, 0x9590, 0xDC7B, 0x9591, 0xB67E, 0x9592, 0xB6A2, 0x9593, 0xB6A1, 0x9594, 0xB67B, 0x9598, 0xB968, 0x959B, 0xE0D0, - 0x959C, 0xE0CE, 0x959E, 0xE0CF, 0x959F, 0xE0CD, 0x95A1, 0xBBD2, 0x95A3, 0xBBD5, 0x95A4, 0xBBD7, 0x95A5, 0xBBD6, 0x95A8, 0xBBD3, - 0x95A9, 0xBBD4, 0x95AB, 0xE8A7, 0x95AC, 0xE8A6, 0x95AD, 0xBE5B, 0x95AE, 0xE8A8, 0x95B0, 0xE8A9, 0x95B1, 0xBE5C, 0x95B5, 0xEC4D, - 0x95B6, 0xEC4B, 0x95B7, 0xEEF3, 0x95B9, 0xEC49, 0x95BA, 0xEC4A, 0x95BB, 0xC046, 0x95BC, 0xEC46, 0x95BD, 0xEC4E, 0x95BE, 0xEC48, - 0x95BF, 0xEC4C, 0x95C0, 0xEEEF, 0x95C3, 0xEEF1, 0x95C5, 0xEEF2, 0x95C6, 0xC1F3, 0x95C7, 0xEEEE, 0x95C8, 0xC1F2, 0x95C9, 0xEEF0, - 0x95CA, 0xC1EF, 0x95CB, 0xC1F0, 0x95CC, 0xC1F1, 0x95CD, 0xEC47, 0x95D0, 0xC2F5, 0x95D1, 0xF16E, 0x95D2, 0xF16C, 0x95D3, 0xF16D, - 0x95D4, 0xC2F3, 0x95D5, 0xC2F6, 0x95D6, 0xC2F4, 0x95DA, 0xF377, 0x95DB, 0xF378, 0x95DC, 0xC3F6, 0x95DE, 0xF545, 0x95DF, 0xF547, - 0x95E0, 0xF546, 0x95E1, 0xC4C4, 0x95E2, 0xC550, 0x95E3, 0xF66D, 0x95E4, 0xF66C, 0x95E5, 0xF66B, 0x961C, 0xAAFA, 0x961E, 0xC9AA, - 0x9620, 0xCA58, 0x9621, 0xA6E9, 0x9622, 0xCA56, 0x9623, 0xCA59, 0x9624, 0xCA57, 0x9628, 0xCBAE, 0x962A, 0xA8C1, 0x962C, 0xA8C2, - 0x962D, 0xCBB0, 0x962E, 0xA8BF, 0x962F, 0xCBAF, 0x9630, 0xCBAD, 0x9631, 0xA8C0, 0x9632, 0xA8BE, 0x9639, 0xCDD8, 0x963A, 0xCDDB, - 0x963B, 0xAAFD, 0x963C, 0xCDDA, 0x963D, 0xCDD9, 0x963F, 0xAAFC, 0x9640, 0xAAFB, 0x9642, 0xAB40, 0x9643, 0xCDDC, 0x9644, 0xAAFE, - 0x964A, 0xD0C6, 0x964B, 0xADAE, 0x964C, 0xADAF, 0x964D, 0xADB0, 0x964E, 0xD0C7, 0x964F, 0xD0C3, 0x9650, 0xADAD, 0x9651, 0xD0C4, - 0x9653, 0xD0C5, 0x9654, 0xD0C2, 0x9658, 0xB0A4, 0x965B, 0xB0A1, 0x965C, 0xD445, 0x965D, 0xB0A2, 0x965E, 0xB0A5, 0x965F, 0xD446, - 0x9661, 0xB07E, 0x9662, 0xB07C, 0x9663, 0xB07D, 0x9664, 0xB0A3, 0x966A, 0xB3AD, 0x966B, 0xD849, 0x966C, 0xB3B5, 0x966D, 0xD848, - 0x966F, 0xD84B, 0x9670, 0xB3B1, 0x9671, 0xD84A, 0x9672, 0xB6AB, 0x9673, 0xB3AF, 0x9674, 0xB3B2, 0x9675, 0xB3AE, 0x9676, 0xB3B3, - 0x9677, 0xB3B4, 0x9678, 0xB3B0, 0x967C, 0xD847, 0x967D, 0xB6A7, 0x967E, 0xDC7D, 0x9680, 0xDCA3, 0x9683, 0xDCA2, 0x9684, 0xB6AC, - 0x9685, 0xB6A8, 0x9686, 0xB6A9, 0x9687, 0xDC7C, 0x9688, 0xDC7E, 0x9689, 0xDCA1, 0x968A, 0xB6A4, 0x968B, 0xB6A6, 0x968D, 0xB6AA, - 0x968E, 0xB6A5, 0x9691, 0xE0D3, 0x9692, 0xE0D1, 0x9693, 0xE0D2, 0x9694, 0xB96A, 0x9695, 0xB96B, 0x9697, 0xE0D4, 0x9698, 0xB969, - 0x9699, 0xBBD8, 0x969B, 0xBBDA, 0x969C, 0xBBD9, 0x969E, 0xE4BB, 0x96A1, 0xE4BC, 0x96A2, 0xE8AB, 0x96A4, 0xE8AA, 0x96A7, 0xC047, - 0x96A8, 0xC048, 0x96A9, 0xEC4F, 0x96AA, 0xC049, 0x96AC, 0xEEF6, 0x96AE, 0xEEF4, 0x96B0, 0xEEF5, 0x96B1, 0xC1F4, 0x96B3, 0xF16F, - 0x96B4, 0xC3F7, 0x96B8, 0xC1F5, 0x96B9, 0xAB41, 0x96BB, 0xB0A6, 0x96BC, 0xD447, 0x96BF, 0xD84C, 0x96C0, 0xB3B6, 0x96C1, 0xB6AD, - 0x96C2, 0xDCA4, 0x96C3, 0xDCA6, 0x96C4, 0xB6AF, 0x96C5, 0xB6AE, 0x96C6, 0xB6B0, 0x96C7, 0xB6B1, 0x96C8, 0xDCA5, 0x96C9, 0xB96E, - 0x96CA, 0xB96F, 0x96CB, 0xB96D, 0x96CC, 0xBBDB, 0x96CD, 0xB96C, 0x96CE, 0xE0D5, 0x96D2, 0xBBDC, 0x96D3, 0xE8AC, 0x96D4, 0xEC50, - 0x96D5, 0xC04A, 0x96D6, 0xC1F6, 0x96D7, 0xF170, 0x96D8, 0xF174, 0x96D9, 0xC2F9, 0x96DA, 0xF171, 0x96DB, 0xC2FA, 0x96DC, 0xC2F8, - 0x96DD, 0xF175, 0x96DE, 0xC2FB, 0x96DF, 0xF173, 0x96E1, 0xF379, 0x96E2, 0xC2F7, 0x96E3, 0xC3F8, 0x96E5, 0xF8CD, 0x96E8, 0xAB42, - 0x96E9, 0xB3B8, 0x96EA, 0xB3B7, 0x96EF, 0xB6B2, 0x96F0, 0xDCA8, 0x96F1, 0xDCA7, 0x96F2, 0xB6B3, 0x96F5, 0xE0D9, 0x96F6, 0xB973, - 0x96F7, 0xB970, 0x96F8, 0xE0D8, 0x96F9, 0xB972, 0x96FA, 0xE0D6, 0x96FB, 0xB971, 0x96FD, 0xE0D7, 0x96FF, 0xE4BD, 0x9700, 0xBBDD, - 0x9702, 0xE8AF, 0x9704, 0xBE5D, 0x9705, 0xE8AD, 0x9706, 0xBE5E, 0x9707, 0xBE5F, 0x9708, 0xE8AE, 0x9709, 0xBE60, 0x970B, 0xEC51, - 0x970D, 0xC04E, 0x970E, 0xC04B, 0x970F, 0xC050, 0x9710, 0xEC53, 0x9711, 0xC04C, 0x9712, 0xEC52, 0x9713, 0xC04F, 0x9716, 0xC04D, - 0x9718, 0xEEF9, 0x9719, 0xEEFB, 0x971C, 0xC1F7, 0x971D, 0xEEFA, 0x971E, 0xC1F8, 0x971F, 0xEEF8, 0x9720, 0xEEF7, 0x9722, 0xF177, - 0x9723, 0xF176, 0x9724, 0xC2FC, 0x9725, 0xF178, 0x9726, 0xF37E, 0x9727, 0xC3FA, 0x9728, 0xF37D, 0x9729, 0xF37A, 0x972A, 0xC3F9, - 0x972B, 0xF37B, 0x972C, 0xF37C, 0x972E, 0xF548, 0x972F, 0xF549, 0x9730, 0xC4C5, 0x9732, 0xC553, 0x9735, 0xF66E, 0x9738, 0xC551, - 0x9739, 0xC552, 0x973A, 0xF66F, 0x973D, 0xC5B4, 0x973E, 0xC5B5, 0x973F, 0xF771, 0x9742, 0xC645, 0x9743, 0xF8CF, 0x9744, 0xC647, - 0x9746, 0xF8CE, 0x9747, 0xF8D0, 0x9748, 0xC646, 0x9749, 0xF957, 0x974B, 0xF9AD, 0x9752, 0xAB43, 0x9756, 0xB974, 0x9758, 0xE4BE, - 0x975A, 0xE8B0, 0x975B, 0xC051, 0x975C, 0xC052, 0x975E, 0xAB44, 0x9760, 0xBE61, 0x9761, 0xC3FB, 0x9762, 0xADB1, 0x9766, 0xC053, - 0x9768, 0xC5E2, 0x9769, 0xADB2, 0x976A, 0xD84D, 0x976C, 0xDCA9, 0x976E, 0xDCAB, 0x9770, 0xDCAA, 0x9772, 0xE0DD, 0x9773, 0xE0DA, - 0x9774, 0xB975, 0x9776, 0xB976, 0x9777, 0xE0DB, 0x9778, 0xE0DC, 0x977A, 0xE4C0, 0x977B, 0xE4C5, 0x977C, 0xBBDE, 0x977D, 0xE4BF, - 0x977E, 0xE4C1, 0x977F, 0xE4C8, 0x9780, 0xE4C3, 0x9781, 0xE4C7, 0x9782, 0xE4C4, 0x9783, 0xE4C2, 0x9784, 0xE4C6, 0x9785, 0xBBDF, - 0x9788, 0xE8B3, 0x978A, 0xE8B1, 0x978B, 0xBE63, 0x978D, 0xBE62, 0x978E, 0xE8B2, 0x978F, 0xBE64, 0x9794, 0xEC56, 0x9797, 0xEC55, - 0x9798, 0xC054, 0x9799, 0xEC54, 0x979A, 0xEEFC, 0x979C, 0xEEFE, 0x979D, 0xEF41, 0x979E, 0xEF40, 0x97A0, 0xC1F9, 0x97A1, 0xEEFD, - 0x97A2, 0xF1A1, 0x97A3, 0xC2FD, 0x97A4, 0xF17D, 0x97A5, 0xF1A2, 0x97A6, 0xC2FE, 0x97A8, 0xF17B, 0x97AA, 0xF17E, 0x97AB, 0xF17C, - 0x97AC, 0xF179, 0x97AD, 0xC340, 0x97AE, 0xF17A, 0x97B3, 0xF3A1, 0x97B6, 0xF3A3, 0x97B7, 0xF3A2, 0x97B9, 0xF54A, 0x97BB, 0xF54B, - 0x97BF, 0xF670, 0x97C1, 0xC5B7, 0x97C3, 0xC5B6, 0x97C4, 0xF84F, 0x97C5, 0xF850, 0x97C6, 0xC648, 0x97C7, 0xF8D1, 0x97C9, 0xC669, - 0x97CB, 0xADB3, 0x97CC, 0xB6B4, 0x97CD, 0xE4CA, 0x97CE, 0xE4C9, 0x97CF, 0xE8B5, 0x97D0, 0xE8B4, 0x97D3, 0xC1FA, 0x97D4, 0xEF43, - 0x97D5, 0xEF42, 0x97D6, 0xF1A5, 0x97D7, 0xF1A3, 0x97D8, 0xF1A6, 0x97D9, 0xF1A4, 0x97DC, 0xC3FC, 0x97DD, 0xF3A4, 0x97DE, 0xF3A5, - 0x97DF, 0xF3A6, 0x97E1, 0xF671, 0x97E3, 0xF772, 0x97E5, 0xF8D2, 0x97ED, 0xADB4, 0x97F0, 0xEC57, 0x97F1, 0xEF44, 0x97F3, 0xADB5, - 0x97F6, 0xBBE0, 0x97F8, 0xEC58, 0x97F9, 0xC341, 0x97FA, 0xF1A7, 0x97FB, 0xC3FD, 0x97FD, 0xF54C, 0x97FE, 0xF54D, 0x97FF, 0xC554, - 0x9800, 0xF851, 0x9801, 0xADB6, 0x9802, 0xB3BB, 0x9803, 0xB3BC, 0x9804, 0xD84E, 0x9805, 0xB6B5, 0x9806, 0xB6B6, 0x9807, 0xDCAC, - 0x9808, 0xB6B7, 0x980A, 0xB97A, 0x980C, 0xB97C, 0x980D, 0xE0DF, 0x980E, 0xE0E0, 0x980F, 0xE0DE, 0x9810, 0xB977, 0x9811, 0xB978, - 0x9812, 0xB97B, 0x9813, 0xB979, 0x9816, 0xE4CB, 0x9817, 0xBBE1, 0x9818, 0xBBE2, 0x981B, 0xE8BC, 0x981C, 0xBE67, 0x981D, 0xE8B7, - 0x981E, 0xE8B6, 0x9820, 0xE8BB, 0x9821, 0xBE65, 0x9824, 0xC05B, 0x9826, 0xE8B8, 0x9827, 0xE8BD, 0x9828, 0xE8BA, 0x9829, 0xE8B9, - 0x982B, 0xBE66, 0x982D, 0xC059, 0x982F, 0xEC5A, 0x9830, 0xC055, 0x9832, 0xEC5B, 0x9835, 0xEC59, 0x9837, 0xC058, 0x9838, 0xC056, - 0x9839, 0xC05A, 0x983B, 0xC057, 0x9841, 0xEF45, 0x9843, 0xEF4A, 0x9844, 0xEF46, 0x9845, 0xEF49, 0x9846, 0xC1FB, 0x9848, 0xEDD4, - 0x9849, 0xEF48, 0x984A, 0xEF47, 0x984C, 0xC344, 0x984D, 0xC342, 0x984E, 0xC345, 0x984F, 0xC343, 0x9850, 0xF1A8, 0x9851, 0xF1A9, - 0x9852, 0xF1AA, 0x9853, 0xC346, 0x9857, 0xF3AA, 0x9858, 0xC440, 0x9859, 0xF3A8, 0x985B, 0xC441, 0x985C, 0xF3A7, 0x985D, 0xF3A9, - 0x985E, 0xC3FE, 0x985F, 0xF551, 0x9860, 0xF54E, 0x9862, 0xF54F, 0x9863, 0xF550, 0x9864, 0xF672, 0x9865, 0xC556, 0x9867, 0xC555, - 0x9869, 0xF774, 0x986A, 0xF773, 0x986B, 0xC5B8, 0x986F, 0xC5E3, 0x9870, 0xC649, 0x9871, 0xC660, 0x9872, 0xF958, 0x9873, 0xF9AE, - 0x9874, 0xF9AF, 0x98A8, 0xADB7, 0x98A9, 0xDCAD, 0x98AC, 0xE0E1, 0x98AD, 0xE4CC, 0x98AE, 0xE4CD, 0x98AF, 0xBBE3, 0x98B1, 0xBBE4, - 0x98B2, 0xE8BE, 0x98B3, 0xBE68, 0x98B6, 0xC1FC, 0x98B8, 0xF1AB, 0x98BA, 0xC347, 0x98BB, 0xF3AD, 0x98BC, 0xC442, 0x98BD, 0xF3AC, - 0x98BE, 0xF3AE, 0x98BF, 0xF3AB, 0x98C0, 0xF675, 0x98C1, 0xF552, 0x98C2, 0xF553, 0x98C4, 0xC4C6, 0x98C6, 0xF674, 0x98C9, 0xF673, - 0x98CB, 0xF775, 0x98CC, 0xF9B0, 0x98DB, 0xADB8, 0x98DF, 0xADB9, 0x98E2, 0xB0A7, 0x98E3, 0xD448, 0x98E5, 0xD84F, 0x98E7, 0xB6B8, - 0x98E9, 0xB6BB, 0x98EA, 0xB6B9, 0x98EB, 0xDCAE, 0x98ED, 0xB6BD, 0x98EF, 0xB6BA, 0x98F2, 0xB6BC, 0x98F4, 0xB97E, 0x98F6, 0xE0E2, - 0x98F9, 0xE0E3, 0x98FA, 0xE8C0, 0x98FC, 0xB97D, 0x98FD, 0xB9A1, 0x98FE, 0xB9A2, 0x9900, 0xE4CF, 0x9902, 0xE4CE, 0x9903, 0xBBE5, - 0x9905, 0xBBE6, 0x9907, 0xE4D0, 0x9908, 0xE8BF, 0x9909, 0xBBE8, 0x990A, 0xBE69, 0x990C, 0xBBE7, 0x9910, 0xC05C, 0x9911, 0xE8C1, - 0x9912, 0xBE6B, 0x9913, 0xBE6A, 0x9914, 0xE8C2, 0x9915, 0xE8C5, 0x9916, 0xE8C3, 0x9917, 0xE8C4, 0x9918, 0xBE6C, 0x991A, 0xC061, - 0x991B, 0xC05F, 0x991E, 0xC05E, 0x991F, 0xEC5D, 0x9921, 0xC060, 0x9924, 0xEC5C, 0x9925, 0xEF4B, 0x9927, 0xEC5E, 0x9928, 0xC05D, - 0x9929, 0xEC5F, 0x992A, 0xEF4E, 0x992B, 0xEF4C, 0x992C, 0xEF4D, 0x992D, 0xEF52, 0x992E, 0xC34B, 0x992F, 0xEF51, 0x9930, 0xEF54, - 0x9931, 0xEF53, 0x9932, 0xEF50, 0x9933, 0xEF4F, 0x9935, 0xC1FD, 0x993A, 0xF1AE, 0x993C, 0xF1AD, 0x993D, 0xC34A, 0x993E, 0xC348, - 0x993F, 0xC349, 0x9941, 0xF1AC, 0x9943, 0xF3B1, 0x9945, 0xC443, 0x9947, 0xF3B0, 0x9948, 0xF3AF, 0x9949, 0xC444, 0x994B, 0xF558, - 0x994C, 0xF557, 0x994E, 0xF555, 0x9950, 0xF554, 0x9951, 0xC4C8, 0x9952, 0xC4C7, 0x9953, 0xF559, 0x9954, 0xF776, 0x9955, 0xC5B9, - 0x9956, 0xF677, 0x9957, 0xC557, 0x9958, 0xF676, 0x9959, 0xF556, 0x995B, 0xF777, 0x995C, 0xC5E4, 0x995E, 0xC661, 0x995F, 0xF959, - 0x9961, 0xF9B1, 0x9996, 0xADBA, 0x9997, 0xD850, 0x9998, 0xEF55, 0x9999, 0xADBB, 0x999C, 0xE4D2, 0x999D, 0xE4D1, 0x999E, 0xEC60, - 0x99A1, 0xEF57, 0x99A3, 0xEF56, 0x99A5, 0xC34C, 0x99A6, 0xF3B2, 0x99A7, 0xF3B3, 0x99A8, 0xC4C9, 0x99AB, 0xF9B2, 0x99AC, 0xB0A8, - 0x99AD, 0xB6BF, 0x99AE, 0xB6BE, 0x99AF, 0xE0E4, 0x99B0, 0xE0E6, 0x99B1, 0xB9A4, 0x99B2, 0xE0E5, 0x99B3, 0xB9A3, 0x99B4, 0xB9A5, - 0x99B5, 0xE0E7, 0x99B9, 0xE4D4, 0x99BA, 0xE4D6, 0x99BB, 0xE4D5, 0x99BD, 0xE4D8, 0x99C1, 0xBBE9, 0x99C2, 0xE4D7, 0x99C3, 0xE4D3, - 0x99C7, 0xE4D9, 0x99C9, 0xE8CC, 0x99CB, 0xE8CF, 0x99CC, 0xE8D1, 0x99CD, 0xE8C7, 0x99CE, 0xE8CB, 0x99CF, 0xE8C8, 0x99D0, 0xBE6E, - 0x99D1, 0xBE71, 0x99D2, 0xBE73, 0x99D3, 0xE8C9, 0x99D4, 0xE8CA, 0x99D5, 0xBE72, 0x99D6, 0xE8CD, 0x99D7, 0xE8D0, 0x99D8, 0xE8CE, - 0x99D9, 0xBE74, 0x99DB, 0xBE70, 0x99DC, 0xE8C6, 0x99DD, 0xBE6D, 0x99DF, 0xBE6F, 0x99E2, 0xC063, 0x99E3, 0xEC66, 0x99E4, 0xEC64, - 0x99E5, 0xEC63, 0x99E7, 0xEC69, 0x99E9, 0xEC68, 0x99EA, 0xEC67, 0x99EC, 0xEC62, 0x99ED, 0xC062, 0x99EE, 0xEC61, 0x99F0, 0xEC65, - 0x99F1, 0xC064, 0x99F4, 0xEF5A, 0x99F6, 0xEF5E, 0x99F7, 0xEF5B, 0x99F8, 0xEF5D, 0x99F9, 0xEF5C, 0x99FA, 0xEF59, 0x99FB, 0xEF5F, - 0x99FC, 0xEF62, 0x99FD, 0xEF60, 0x99FE, 0xEF61, 0x99FF, 0xC240, 0x9A01, 0xC1FE, 0x9A02, 0xEF58, 0x9A03, 0xEF63, 0x9A04, 0xF1B3, - 0x9A05, 0xF1B6, 0x9A06, 0xF1B8, 0x9A07, 0xF1B7, 0x9A09, 0xF1B1, 0x9A0A, 0xF1B5, 0x9A0B, 0xF1B0, 0x9A0D, 0xF1B2, 0x9A0E, 0xC34D, - 0x9A0F, 0xF1AF, 0x9A11, 0xF1B4, 0x9A14, 0xF3C0, 0x9A15, 0xF3B5, 0x9A16, 0xC445, 0x9A19, 0xC446, 0x9A1A, 0xF3B4, 0x9A1B, 0xF3B9, - 0x9A1C, 0xF3BF, 0x9A1D, 0xF3B7, 0x9A1E, 0xF3BE, 0x9A20, 0xF3BB, 0x9A22, 0xF3BA, 0x9A23, 0xF3BD, 0x9A24, 0xF3B8, 0x9A25, 0xF3B6, - 0x9A27, 0xF3BC, 0x9A29, 0xF560, 0x9A2A, 0xF55E, 0x9A2B, 0xC4CA, 0x9A2C, 0xF55D, 0x9A2D, 0xF563, 0x9A2E, 0xF561, 0x9A30, 0xC4CB, - 0x9A31, 0xF55C, 0x9A32, 0xF55A, 0x9A34, 0xF55B, 0x9A35, 0xC4CD, 0x9A36, 0xF55F, 0x9A37, 0xC4CC, 0x9A38, 0xF562, 0x9A39, 0xF678, - 0x9A3A, 0xF67E, 0x9A3D, 0xF679, 0x9A3E, 0xC55B, 0x9A3F, 0xF6A1, 0x9A40, 0xC55A, 0x9A41, 0xF67D, 0x9A42, 0xF67C, 0x9A43, 0xC559, - 0x9A44, 0xF67B, 0x9A45, 0xC558, 0x9A46, 0xF67A, 0x9A48, 0xF77D, 0x9A49, 0xF7A1, 0x9A4A, 0xF77E, 0x9A4C, 0xF77B, 0x9A4D, 0xC5BB, - 0x9A4E, 0xF778, 0x9A4F, 0xF77C, 0x9A50, 0xF7A3, 0x9A52, 0xF7A2, 0x9A53, 0xF779, 0x9A54, 0xF77A, 0x9A55, 0xC5BA, 0x9A56, 0xF852, - 0x9A57, 0xC5E7, 0x9A59, 0xF853, 0x9A5A, 0xC5E5, 0x9A5B, 0xC5E6, 0x9A5E, 0xF8D3, 0x9A5F, 0xC64A, 0x9A60, 0xF976, 0x9A62, 0xC66A, - 0x9A64, 0xF9B3, 0x9A65, 0xC66B, 0x9A66, 0xF9B4, 0x9A67, 0xF9B5, 0x9A68, 0xF9C3, 0x9A69, 0xF9C2, 0x9A6A, 0xC67A, 0x9A6B, 0xF9CD, - 0x9AA8, 0xB0A9, 0x9AAB, 0xE0E9, 0x9AAD, 0xE0E8, 0x9AAF, 0xBBEA, 0x9AB0, 0xBBEB, 0x9AB1, 0xE4DA, 0x9AB3, 0xE8D2, 0x9AB4, 0xEC6C, - 0x9AB7, 0xBE75, 0x9AB8, 0xC065, 0x9AB9, 0xEC6A, 0x9ABB, 0xEC6D, 0x9ABC, 0xC066, 0x9ABE, 0xEF64, 0x9ABF, 0xEC6B, 0x9AC0, 0xF1B9, - 0x9AC1, 0xC34E, 0x9AC2, 0xF3C1, 0x9AC6, 0xF566, 0x9AC7, 0xF564, 0x9ACA, 0xF565, 0x9ACD, 0xF6A2, 0x9ACF, 0xC55C, 0x9AD0, 0xF7A4, - 0x9AD1, 0xC5EA, 0x9AD2, 0xC5BC, 0x9AD3, 0xC5E8, 0x9AD4, 0xC5E9, 0x9AD5, 0xF8D4, 0x9AD6, 0xC662, 0x9AD8, 0xB0AA, 0x9ADC, 0xF1BA, - 0x9ADF, 0xD449, 0x9AE1, 0xB9A6, 0x9AE3, 0xE4DB, 0x9AE6, 0xBBEC, 0x9AE7, 0xE4DC, 0x9AEB, 0xE8D4, 0x9AEC, 0xE8D3, 0x9AED, 0xC068, - 0x9AEE, 0xBE76, 0x9AEF, 0xBE77, 0x9AF1, 0xE8D7, 0x9AF2, 0xE8D6, 0x9AF3, 0xE8D5, 0x9AF6, 0xEC6E, 0x9AF7, 0xEC71, 0x9AF9, 0xEC70, - 0x9AFA, 0xEC6F, 0x9AFB, 0xC067, 0x9AFC, 0xEF68, 0x9AFD, 0xEF66, 0x9AFE, 0xEF65, 0x9B01, 0xEF67, 0x9B03, 0xC34F, 0x9B04, 0xF1BC, - 0x9B05, 0xF1BD, 0x9B06, 0xC350, 0x9B08, 0xF1BB, 0x9B0A, 0xF3C3, 0x9B0B, 0xF3C2, 0x9B0C, 0xF3C5, 0x9B0D, 0xC447, 0x9B0E, 0xF3C4, - 0x9B10, 0xF567, 0x9B11, 0xF569, 0x9B12, 0xF568, 0x9B15, 0xF6A3, 0x9B16, 0xF6A6, 0x9B17, 0xF6A4, 0x9B18, 0xF6A5, 0x9B19, 0xF7A5, - 0x9B1A, 0xC5BD, 0x9B1E, 0xF854, 0x9B1F, 0xF855, 0x9B20, 0xF856, 0x9B22, 0xC64B, 0x9B23, 0xC663, 0x9B24, 0xF9B6, 0x9B25, 0xB0AB, - 0x9B27, 0xBE78, 0x9B28, 0xC069, 0x9B29, 0xF1BE, 0x9B2B, 0xF7A6, 0x9B2E, 0xF9C4, 0x9B2F, 0xD44A, 0x9B31, 0xC67B, 0x9B32, 0xB0AC, - 0x9B33, 0xEC72, 0x9B35, 0xF1BF, 0x9B37, 0xF3C6, 0x9B3A, 0xF6A7, 0x9B3B, 0xF7A7, 0x9B3C, 0xB0AD, 0x9B3E, 0xE4DD, 0x9B3F, 0xE4DE, - 0x9B41, 0xBBED, 0x9B42, 0xBBEE, 0x9B43, 0xE8D9, 0x9B44, 0xBE7A, 0x9B45, 0xBE79, 0x9B46, 0xE8D8, 0x9B48, 0xEF69, 0x9B4A, 0xF1C0, - 0x9B4B, 0xF1C2, 0x9B4C, 0xF1C1, 0x9B4D, 0xC353, 0x9B4E, 0xC352, 0x9B4F, 0xC351, 0x9B51, 0xC55E, 0x9B52, 0xF6A8, 0x9B54, 0xC55D, - 0x9B55, 0xF7A9, 0x9B56, 0xF7A8, 0x9B58, 0xC64C, 0x9B59, 0xF8D5, 0x9B5A, 0xB3BD, 0x9B5B, 0xE0EA, 0x9B5F, 0xE4E1, 0x9B60, 0xE4DF, - 0x9B61, 0xE4E0, 0x9B64, 0xE8E2, 0x9B66, 0xE8DD, 0x9B67, 0xE8DA, 0x9B68, 0xE8E1, 0x9B6C, 0xE8E3, 0x9B6F, 0xBE7C, 0x9B70, 0xE8E0, - 0x9B71, 0xE8DC, 0x9B74, 0xE8DB, 0x9B75, 0xE8DF, 0x9B76, 0xE8DE, 0x9B77, 0xBE7B, 0x9B7A, 0xEC7D, 0x9B7B, 0xEC78, 0x9B7C, 0xEC76, - 0x9B7D, 0xECA1, 0x9B7E, 0xEC77, 0x9B80, 0xEC73, 0x9B82, 0xEC79, 0x9B85, 0xEC74, 0x9B86, 0xEF72, 0x9B87, 0xEC75, 0x9B88, 0xECA2, - 0x9B90, 0xEC7C, 0x9B91, 0xC06A, 0x9B92, 0xEC7B, 0x9B93, 0xEC7A, 0x9B95, 0xEC7E, 0x9B9A, 0xEF6A, 0x9B9B, 0xEF6D, 0x9B9E, 0xEF6C, - 0x9BA0, 0xEF74, 0x9BA1, 0xEF6F, 0x9BA2, 0xEF73, 0x9BA4, 0xEF71, 0x9BA5, 0xEF70, 0x9BA6, 0xEF6E, 0x9BA8, 0xEF6B, 0x9BAA, 0xC243, - 0x9BAB, 0xC242, 0x9BAD, 0xC244, 0x9BAE, 0xC241, 0x9BAF, 0xEF75, 0x9BB5, 0xF1C8, 0x9BB6, 0xF1CB, 0x9BB8, 0xF1C9, 0x9BB9, 0xF1CD, - 0x9BBD, 0xF1CE, 0x9BBF, 0xF1C6, 0x9BC0, 0xC358, 0x9BC1, 0xF1C7, 0x9BC3, 0xF1C5, 0x9BC4, 0xF1CC, 0x9BC6, 0xF1C4, 0x9BC7, 0xF1C3, - 0x9BC8, 0xC357, 0x9BC9, 0xC355, 0x9BCA, 0xC354, 0x9BD3, 0xF1CA, 0x9BD4, 0xF3CF, 0x9BD5, 0xF3D5, 0x9BD6, 0xC44A, 0x9BD7, 0xF3D0, - 0x9BD9, 0xF3D3, 0x9BDA, 0xF3D7, 0x9BDB, 0xC44B, 0x9BDC, 0xF3D2, 0x9BDE, 0xF3CA, 0x9BE0, 0xF3C9, 0x9BE1, 0xF3D6, 0x9BE2, 0xF3CD, - 0x9BE4, 0xF3CB, 0x9BE5, 0xF3D4, 0x9BE6, 0xF3CC, 0x9BE7, 0xC449, 0x9BE8, 0xC448, 0x9BEA, 0xF3C7, 0x9BEB, 0xF3C8, 0x9BEC, 0xF3D1, - 0x9BF0, 0xF3CE, 0x9BF7, 0xF56C, 0x9BF8, 0xF56F, 0x9BFD, 0xC356, 0x9C05, 0xF56D, 0x9C06, 0xF573, 0x9C07, 0xF571, 0x9C08, 0xF56B, - 0x9C09, 0xF576, 0x9C0B, 0xF56A, 0x9C0D, 0xC4CF, 0x9C0E, 0xF572, 0x9C12, 0xF56E, 0x9C13, 0xC4CE, 0x9C14, 0xF575, 0x9C17, 0xF574, - 0x9C1C, 0xF6AB, 0x9C1D, 0xF6AA, 0x9C21, 0xF6B1, 0x9C23, 0xF6AD, 0x9C24, 0xF6B0, 0x9C25, 0xC560, 0x9C28, 0xF6AE, 0x9C29, 0xF6AF, - 0x9C2B, 0xF6A9, 0x9C2C, 0xF6AC, 0x9C2D, 0xC55F, 0x9C31, 0xC5BF, 0x9C32, 0xF7B4, 0x9C33, 0xF7AF, 0x9C34, 0xF7B3, 0x9C36, 0xF7B6, - 0x9C37, 0xF7B2, 0x9C39, 0xF7AE, 0x9C3B, 0xC5C1, 0x9C3C, 0xF7B1, 0x9C3D, 0xF7B5, 0x9C3E, 0xC5C0, 0x9C3F, 0xF7AC, 0x9C40, 0xF570, - 0x9C41, 0xF7B0, 0x9C44, 0xF7AD, 0x9C46, 0xF7AA, 0x9C48, 0xF7AB, 0x9C49, 0xC5BE, 0x9C4A, 0xF85A, 0x9C4B, 0xF85C, 0x9C4C, 0xF85F, - 0x9C4D, 0xF85B, 0x9C4E, 0xF860, 0x9C50, 0xF859, 0x9C52, 0xF857, 0x9C54, 0xC5EB, 0x9C55, 0xF85D, 0x9C56, 0xC5ED, 0x9C57, 0xC5EC, - 0x9C58, 0xF858, 0x9C59, 0xF85E, 0x9C5E, 0xF8DA, 0x9C5F, 0xC64D, 0x9C60, 0xF8DB, 0x9C62, 0xF8D9, 0x9C63, 0xF8D6, 0x9C66, 0xF8D8, - 0x9C67, 0xF8D7, 0x9C68, 0xF95A, 0x9C6D, 0xF95C, 0x9C6E, 0xF95B, 0x9C71, 0xF979, 0x9C73, 0xF978, 0x9C74, 0xF977, 0x9C75, 0xF97A, - 0x9C77, 0xC673, 0x9C78, 0xC674, 0x9C79, 0xF9CA, 0x9C7A, 0xF9CE, 0x9CE5, 0xB3BE, 0x9CE6, 0xDCAF, 0x9CE7, 0xE0ED, 0x9CE9, 0xB9A7, - 0x9CEA, 0xE0EB, 0x9CED, 0xE0EC, 0x9CF1, 0xE4E2, 0x9CF2, 0xE4E3, 0x9CF3, 0xBBF1, 0x9CF4, 0xBBEF, 0x9CF5, 0xE4E4, 0x9CF6, 0xBBF0, - 0x9CF7, 0xE8E8, 0x9CF9, 0xE8EB, 0x9CFA, 0xE8E5, 0x9CFB, 0xE8EC, 0x9CFC, 0xE8E4, 0x9CFD, 0xE8E6, 0x9CFF, 0xE8E7, 0x9D00, 0xE8EA, - 0x9D03, 0xBEA1, 0x9D04, 0xE8EF, 0x9D05, 0xE8EE, 0x9D06, 0xBE7D, 0x9D07, 0xE8E9, 0x9D08, 0xE8ED, 0x9D09, 0xBE7E, 0x9D10, 0xECAC, - 0x9D12, 0xC06F, 0x9D14, 0xECA7, 0x9D15, 0xC06B, 0x9D17, 0xECA4, 0x9D18, 0xECAA, 0x9D19, 0xECAD, 0x9D1B, 0xC070, 0x9D1D, 0xECA9, - 0x9D1E, 0xECA6, 0x9D1F, 0xECAE, 0x9D20, 0xECA5, 0x9D22, 0xECAB, 0x9D23, 0xC06C, 0x9D25, 0xECA3, 0x9D26, 0xC06D, 0x9D28, 0xC06E, - 0x9D29, 0xECA8, 0x9D2D, 0xEFA9, 0x9D2E, 0xEF7A, 0x9D2F, 0xEF7B, 0x9D30, 0xEF7E, 0x9D31, 0xEF7C, 0x9D33, 0xEF76, 0x9D36, 0xEF79, - 0x9D37, 0xEFA5, 0x9D38, 0xEF7D, 0x9D3B, 0xC245, 0x9D3D, 0xEFA7, 0x9D3E, 0xEFA4, 0x9D3F, 0xC246, 0x9D40, 0xEFA6, 0x9D41, 0xEF77, - 0x9D42, 0xEFA2, 0x9D43, 0xEFA3, 0x9D45, 0xEFA1, 0x9D4A, 0xF1D2, 0x9D4B, 0xF1D4, 0x9D4C, 0xF1D7, 0x9D4F, 0xF1D1, 0x9D51, 0xC359, - 0x9D52, 0xF1D9, 0x9D53, 0xF1D0, 0x9D54, 0xF1DA, 0x9D56, 0xF1D6, 0x9D57, 0xF1D8, 0x9D58, 0xF1DC, 0x9D59, 0xF1D5, 0x9D5A, 0xF1DD, - 0x9D5B, 0xF1D3, 0x9D5C, 0xF1CF, 0x9D5D, 0xC35A, 0x9D5F, 0xF1DB, 0x9D60, 0xC35B, 0x9D61, 0xC44D, 0x9D67, 0xEF78, 0x9D68, 0xF3F1, - 0x9D69, 0xF3E8, 0x9D6A, 0xC44F, 0x9D6B, 0xF3E4, 0x9D6C, 0xC450, 0x9D6F, 0xF3ED, 0x9D70, 0xF3E7, 0x9D71, 0xF3DD, 0x9D72, 0xC44E, - 0x9D73, 0xF3EA, 0x9D74, 0xF3E5, 0x9D75, 0xF3E6, 0x9D77, 0xF3D8, 0x9D78, 0xF3DF, 0x9D79, 0xF3EE, 0x9D7B, 0xF3EB, 0x9D7D, 0xF3E3, - 0x9D7F, 0xF3EF, 0x9D80, 0xF3DE, 0x9D81, 0xF3D9, 0x9D82, 0xF3EC, 0x9D84, 0xF3DB, 0x9D85, 0xF3E9, 0x9D86, 0xF3E0, 0x9D87, 0xF3F0, - 0x9D88, 0xF3DC, 0x9D89, 0xC44C, 0x9D8A, 0xF3DA, 0x9D8B, 0xF3E1, 0x9D8C, 0xF3E2, 0x9D90, 0xF57D, 0x9D92, 0xF57B, 0x9D94, 0xF5A2, - 0x9D96, 0xF5AE, 0x9D97, 0xF5A5, 0x9D98, 0xF57C, 0x9D99, 0xF578, 0x9D9A, 0xF5A7, 0x9D9B, 0xF57E, 0x9D9C, 0xF5A3, 0x9D9D, 0xF57A, - 0x9D9E, 0xF5AA, 0x9D9F, 0xF577, 0x9DA0, 0xF5A1, 0x9DA1, 0xF5A6, 0x9DA2, 0xF5A8, 0x9DA3, 0xF5AB, 0x9DA4, 0xF579, 0x9DA6, 0xF5AF, - 0x9DA7, 0xF5B0, 0x9DA8, 0xF5A9, 0x9DA9, 0xF5AD, 0x9DAA, 0xF5A4, 0x9DAC, 0xF6C1, 0x9DAD, 0xF6C4, 0x9DAF, 0xC561, 0x9DB1, 0xF6C3, - 0x9DB2, 0xF6C8, 0x9DB3, 0xF6C6, 0x9DB4, 0xC562, 0x9DB5, 0xF6BD, 0x9DB6, 0xF6B3, 0x9DB7, 0xF6B2, 0x9DB8, 0xC564, 0x9DB9, 0xF6BF, - 0x9DBA, 0xF6C0, 0x9DBB, 0xF6BC, 0x9DBC, 0xF6B4, 0x9DBE, 0xF6B9, 0x9DBF, 0xF5AC, 0x9DC1, 0xF6B5, 0x9DC2, 0xC563, 0x9DC3, 0xF6BB, - 0x9DC5, 0xF6BA, 0x9DC7, 0xF6B6, 0x9DC8, 0xF6C2, 0x9DCA, 0xF6B7, 0x9DCB, 0xF7BB, 0x9DCC, 0xF6C5, 0x9DCD, 0xF6C7, 0x9DCE, 0xF6BE, - 0x9DCF, 0xF6B8, 0x9DD0, 0xF7BC, 0x9DD1, 0xF7BE, 0x9DD2, 0xF7B8, 0x9DD3, 0xC5C2, 0x9DD5, 0xF7C5, 0x9DD6, 0xF7C3, 0x9DD7, 0xC5C3, - 0x9DD8, 0xF7C2, 0x9DD9, 0xF7C1, 0x9DDA, 0xF7BA, 0x9DDB, 0xF7B7, 0x9DDC, 0xF7BD, 0x9DDD, 0xF7C6, 0x9DDE, 0xF7B9, 0x9DDF, 0xF7BF, - 0x9DE1, 0xF869, 0x9DE2, 0xF86E, 0x9DE3, 0xF864, 0x9DE4, 0xF867, 0x9DE5, 0xC5EE, 0x9DE6, 0xF86B, 0x9DE8, 0xF872, 0x9DE9, 0xF7C0, - 0x9DEB, 0xF865, 0x9DEC, 0xF86F, 0x9DED, 0xF873, 0x9DEE, 0xF86A, 0x9DEF, 0xF863, 0x9DF0, 0xF86D, 0x9DF2, 0xF86C, 0x9DF3, 0xF871, - 0x9DF4, 0xF870, 0x9DF5, 0xF7C4, 0x9DF6, 0xF868, 0x9DF7, 0xF862, 0x9DF8, 0xF866, 0x9DF9, 0xC64E, 0x9DFA, 0xC64F, 0x9DFB, 0xF861, - 0x9DFD, 0xF8E6, 0x9DFE, 0xF8DD, 0x9DFF, 0xF8E5, 0x9E00, 0xF8E2, 0x9E01, 0xF8E3, 0x9E02, 0xF8DC, 0x9E03, 0xF8DF, 0x9E04, 0xF8E7, - 0x9E05, 0xF8E1, 0x9E06, 0xF8E0, 0x9E07, 0xF8DE, 0x9E09, 0xF8E4, 0x9E0B, 0xF95D, 0x9E0D, 0xF95E, 0x9E0F, 0xF960, 0x9E10, 0xF95F, - 0x9E11, 0xF962, 0x9E12, 0xF961, 0x9E13, 0xF97C, 0x9E14, 0xF97B, 0x9E15, 0xF9B7, 0x9E17, 0xF9B8, 0x9E19, 0xF9C5, 0x9E1A, 0xC678, - 0x9E1B, 0xC67C, 0x9E1D, 0xF9CF, 0x9E1E, 0xC67D, 0x9E75, 0xB3BF, 0x9E79, 0xC4D0, 0x9E7A, 0xF6C9, 0x9E7C, 0xC650, 0x9E7D, 0xC651, - 0x9E7F, 0xB3C0, 0x9E80, 0xE0EE, 0x9E82, 0xB9A8, 0x9E83, 0xE8F0, 0x9E86, 0xECB0, 0x9E87, 0xECB1, 0x9E88, 0xECAF, 0x9E89, 0xEFAB, - 0x9E8A, 0xEFAA, 0x9E8B, 0xC247, 0x9E8C, 0xF1DF, 0x9E8D, 0xEFAC, 0x9E8E, 0xF1DE, 0x9E91, 0xF3F3, 0x9E92, 0xC451, 0x9E93, 0xC453, - 0x9E94, 0xF3F2, 0x9E97, 0xC452, 0x9E99, 0xF5B1, 0x9E9A, 0xF5B3, 0x9E9B, 0xF5B2, 0x9E9C, 0xF6CA, 0x9E9D, 0xC565, 0x9E9F, 0xC5EF, - 0x9EA0, 0xF8E8, 0x9EA1, 0xF963, 0x9EA4, 0xF9D2, 0x9EA5, 0xB3C1, 0x9EA7, 0xE4E5, 0x9EA9, 0xBEA2, 0x9EAD, 0xECB3, 0x9EAE, 0xECB2, - 0x9EB0, 0xEFAD, 0x9EB4, 0xC454, 0x9EB5, 0xC4D1, 0x9EB6, 0xF7C7, 0x9EB7, 0xF9CB, 0x9EBB, 0xB3C2, 0x9EBC, 0xBBF2, 0x9EBE, 0xBEA3, - 0x9EC0, 0xF3F4, 0x9EC2, 0xF874, 0x9EC3, 0xB6C0, 0x9EC8, 0xEFAE, 0x9ECC, 0xC664, 0x9ECD, 0xB6C1, 0x9ECE, 0xBEA4, 0x9ECF, 0xC248, - 0x9ED0, 0xF875, 0x9ED1, 0xB6C2, 0x9ED3, 0xE8F1, 0x9ED4, 0xC072, 0x9ED5, 0xECB4, 0x9ED6, 0xECB5, 0x9ED8, 0xC071, 0x9EDA, 0xEFAF, - 0x9EDB, 0xC24C, 0x9EDC, 0xC24A, 0x9EDD, 0xC24B, 0x9EDE, 0xC249, 0x9EDF, 0xF1E0, 0x9EE0, 0xC35C, 0x9EE4, 0xF5B5, 0x9EE5, 0xF5B4, - 0x9EE6, 0xF5B7, 0x9EE7, 0xF5B6, 0x9EE8, 0xC4D2, 0x9EEB, 0xF6CB, 0x9EED, 0xF6CD, 0x9EEE, 0xF6CC, 0x9EEF, 0xC566, 0x9EF0, 0xF7C8, - 0x9EF2, 0xF876, 0x9EF3, 0xF877, 0x9EF4, 0xC5F0, 0x9EF5, 0xF964, 0x9EF6, 0xF97D, 0x9EF7, 0xC675, 0x9EF9, 0xDCB0, 0x9EFA, 0xECB6, - 0x9EFB, 0xEFB0, 0x9EFC, 0xF3F5, 0x9EFD, 0xE0EF, 0x9EFF, 0xEFB1, 0x9F00, 0xF1E2, 0x9F01, 0xF1E1, 0x9F06, 0xF878, 0x9F07, 0xC652, - 0x9F09, 0xF965, 0x9F0A, 0xF97E, 0x9F0E, 0xB9A9, 0x9F0F, 0xE8F2, 0x9F10, 0xE8F3, 0x9F12, 0xECB7, 0x9F13, 0xB9AA, 0x9F15, 0xC35D, - 0x9F16, 0xF1E3, 0x9F18, 0xF6CF, 0x9F19, 0xC567, 0x9F1A, 0xF6D0, 0x9F1B, 0xF6CE, 0x9F1C, 0xF879, 0x9F1E, 0xF8E9, 0x9F20, 0xB9AB, - 0x9F22, 0xEFB4, 0x9F23, 0xEFB3, 0x9F24, 0xEFB2, 0x9F25, 0xF1E4, 0x9F28, 0xF1E8, 0x9F29, 0xF1E7, 0x9F2A, 0xF1E6, 0x9F2B, 0xF1E5, - 0x9F2C, 0xC35E, 0x9F2D, 0xF3F6, 0x9F2E, 0xF5B9, 0x9F2F, 0xC4D3, 0x9F30, 0xF5B8, 0x9F31, 0xF6D1, 0x9F32, 0xF7CB, 0x9F33, 0xF7CA, - 0x9F34, 0xC5C4, 0x9F35, 0xF7C9, 0x9F36, 0xF87C, 0x9F37, 0xF87B, 0x9F38, 0xF87A, 0x9F3B, 0xBBF3, 0x9F3D, 0xECB8, 0x9F3E, 0xC24D, - 0x9F40, 0xF3F7, 0x9F41, 0xF3F8, 0x9F42, 0xF7CC, 0x9F43, 0xF87D, 0x9F46, 0xF8EA, 0x9F47, 0xF966, 0x9F48, 0xF9B9, 0x9F49, 0xF9D4, - 0x9F4A, 0xBBF4, 0x9F4B, 0xC24E, 0x9F4C, 0xF1E9, 0x9F4D, 0xF3F9, 0x9F4E, 0xF6D2, 0x9F4F, 0xF87E, 0x9F52, 0xBEA6, 0x9F54, 0xEFB5, - 0x9F55, 0xF1EA, 0x9F56, 0xF3FA, 0x9F57, 0xF3FB, 0x9F58, 0xF3FC, 0x9F59, 0xF5BE, 0x9F5B, 0xF5BA, 0x9F5C, 0xC568, 0x9F5D, 0xF5BD, - 0x9F5E, 0xF5BC, 0x9F5F, 0xC4D4, 0x9F60, 0xF5BB, 0x9F61, 0xC4D6, 0x9F63, 0xC4D5, 0x9F64, 0xF6D4, 0x9F65, 0xF6D3, 0x9F66, 0xC569, - 0x9F67, 0xC56A, 0x9F6A, 0xC5C6, 0x9F6B, 0xF7CD, 0x9F6C, 0xC5C5, 0x9F6E, 0xF8A3, 0x9F6F, 0xF8A4, 0x9F70, 0xF8A2, 0x9F71, 0xF8A1, - 0x9F72, 0xC654, 0x9F74, 0xF8EB, 0x9F75, 0xF8EC, 0x9F76, 0xF8ED, 0x9F77, 0xC653, 0x9F78, 0xF967, 0x9F79, 0xF96A, 0x9F7A, 0xF969, - 0x9F7B, 0xF968, 0x9F7E, 0xF9D3, 0x9F8D, 0xC073, 0x9F90, 0xC365, 0x9F91, 0xF5BF, 0x9F92, 0xF6D5, 0x9F94, 0xC5C7, 0x9F95, 0xF7CE, - 0x9F98, 0xF9D5, 0x9F9C, 0xC074, 0x9FA0, 0xEFB6, 0x9FA2, 0xF7CF, 0x9FA4, 0xF9A1, 0xFA0C, 0xC94A, 0xFA0D, 0xDDFC, 0xFE30, 0xA14A, - 0xFE31, 0xA157, 0xFE33, 0xA159, 0xFE34, 0xA15B, 0xFE35, 0xA15F, 0xFE36, 0xA160, 0xFE37, 0xA163, 0xFE38, 0xA164, 0xFE39, 0xA167, - 0xFE3A, 0xA168, 0xFE3B, 0xA16B, 0xFE3C, 0xA16C, 0xFE3D, 0xA16F, 0xFE3E, 0xA170, 0xFE3F, 0xA173, 0xFE40, 0xA174, 0xFE41, 0xA177, - 0xFE42, 0xA178, 0xFE43, 0xA17B, 0xFE44, 0xA17C, 0xFE49, 0xA1C6, 0xFE4A, 0xA1C7, 0xFE4B, 0xA1CA, 0xFE4C, 0xA1CB, 0xFE4D, 0xA1C8, - 0xFE4E, 0xA1C9, 0xFE4F, 0xA15C, 0xFE50, 0xA14D, 0xFE51, 0xA14E, 0xFE52, 0xA14F, 0xFE54, 0xA151, 0xFE55, 0xA152, 0xFE56, 0xA153, - 0xFE57, 0xA154, 0xFE59, 0xA17D, 0xFE5A, 0xA17E, 0xFE5B, 0xA1A1, 0xFE5C, 0xA1A2, 0xFE5D, 0xA1A3, 0xFE5E, 0xA1A4, 0xFE5F, 0xA1CC, - 0xFE60, 0xA1CD, 0xFE61, 0xA1CE, 0xFE62, 0xA1DE, 0xFE63, 0xA1DF, 0xFE64, 0xA1E0, 0xFE65, 0xA1E1, 0xFE66, 0xA1E2, 0xFE68, 0xA242, - 0xFE69, 0xA24C, 0xFE6A, 0xA24D, 0xFE6B, 0xA24E, 0xFF01, 0xA149, 0xFF03, 0xA1AD, 0xFF04, 0xA243, 0xFF05, 0xA248, 0xFF06, 0xA1AE, - 0xFF08, 0xA15D, 0xFF09, 0xA15E, 0xFF0A, 0xA1AF, 0xFF0B, 0xA1CF, 0xFF0C, 0xA141, 0xFF0D, 0xA1D0, 0xFF0E, 0xA144, 0xFF0F, 0xA1FE, - 0xFF10, 0xA2AF, 0xFF11, 0xA2B0, 0xFF12, 0xA2B1, 0xFF13, 0xA2B2, 0xFF14, 0xA2B3, 0xFF15, 0xA2B4, 0xFF16, 0xA2B5, 0xFF17, 0xA2B6, - 0xFF18, 0xA2B7, 0xFF19, 0xA2B8, 0xFF1A, 0xA147, 0xFF1B, 0xA146, 0xFF1C, 0xA1D5, 0xFF1D, 0xA1D7, 0xFF1E, 0xA1D6, 0xFF1F, 0xA148, - 0xFF20, 0xA249, 0xFF21, 0xA2CF, 0xFF22, 0xA2D0, 0xFF23, 0xA2D1, 0xFF24, 0xA2D2, 0xFF25, 0xA2D3, 0xFF26, 0xA2D4, 0xFF27, 0xA2D5, - 0xFF28, 0xA2D6, 0xFF29, 0xA2D7, 0xFF2A, 0xA2D8, 0xFF2B, 0xA2D9, 0xFF2C, 0xA2DA, 0xFF2D, 0xA2DB, 0xFF2E, 0xA2DC, 0xFF2F, 0xA2DD, - 0xFF30, 0xA2DE, 0xFF31, 0xA2DF, 0xFF32, 0xA2E0, 0xFF33, 0xA2E1, 0xFF34, 0xA2E2, 0xFF35, 0xA2E3, 0xFF36, 0xA2E4, 0xFF37, 0xA2E5, - 0xFF38, 0xA2E6, 0xFF39, 0xA2E7, 0xFF3A, 0xA2E8, 0xFF3C, 0xA240, 0xFF3F, 0xA1C4, 0xFF41, 0xA2E9, 0xFF42, 0xA2EA, 0xFF43, 0xA2EB, - 0xFF44, 0xA2EC, 0xFF45, 0xA2ED, 0xFF46, 0xA2EE, 0xFF47, 0xA2EF, 0xFF48, 0xA2F0, 0xFF49, 0xA2F1, 0xFF4A, 0xA2F2, 0xFF4B, 0xA2F3, - 0xFF4C, 0xA2F4, 0xFF4D, 0xA2F5, 0xFF4E, 0xA2F6, 0xFF4F, 0xA2F7, 0xFF50, 0xA2F8, 0xFF51, 0xA2F9, 0xFF52, 0xA2FA, 0xFF53, 0xA2FB, - 0xFF54, 0xA2FC, 0xFF55, 0xA2FD, 0xFF56, 0xA2FE, 0xFF57, 0xA340, 0xFF58, 0xA341, 0xFF59, 0xA342, 0xFF5A, 0xA343, 0xFF5B, 0xA161, - 0xFF5C, 0xA155, 0xFF5D, 0xA162, 0xFF5E, 0xA1E3, 0xFFE0, 0xA246, 0xFFE1, 0xA247, 0xFFE3, 0xA1C3, 0xFFE5, 0xA244, 0, 0 -}; - -static const WCHAR oem2uni950[] = { /* Big5 --> Unicode pairs */ - 0xA140, 0x3000, 0xA141, 0xFF0C, 0xA142, 0x3001, 0xA143, 0x3002, 0xA144, 0xFF0E, 0xA145, 0x2027, 0xA146, 0xFF1B, 0xA147, 0xFF1A, - 0xA148, 0xFF1F, 0xA149, 0xFF01, 0xA14A, 0xFE30, 0xA14B, 0x2026, 0xA14C, 0x2025, 0xA14D, 0xFE50, 0xA14E, 0xFE51, 0xA14F, 0xFE52, - 0xA150, 0x00B7, 0xA151, 0xFE54, 0xA152, 0xFE55, 0xA153, 0xFE56, 0xA154, 0xFE57, 0xA155, 0xFF5C, 0xA156, 0x2013, 0xA157, 0xFE31, - 0xA158, 0x2014, 0xA159, 0xFE33, 0xA15A, 0x2574, 0xA15B, 0xFE34, 0xA15C, 0xFE4F, 0xA15D, 0xFF08, 0xA15E, 0xFF09, 0xA15F, 0xFE35, - 0xA160, 0xFE36, 0xA161, 0xFF5B, 0xA162, 0xFF5D, 0xA163, 0xFE37, 0xA164, 0xFE38, 0xA165, 0x3014, 0xA166, 0x3015, 0xA167, 0xFE39, - 0xA168, 0xFE3A, 0xA169, 0x3010, 0xA16A, 0x3011, 0xA16B, 0xFE3B, 0xA16C, 0xFE3C, 0xA16D, 0x300A, 0xA16E, 0x300B, 0xA16F, 0xFE3D, - 0xA170, 0xFE3E, 0xA171, 0x3008, 0xA172, 0x3009, 0xA173, 0xFE3F, 0xA174, 0xFE40, 0xA175, 0x300C, 0xA176, 0x300D, 0xA177, 0xFE41, - 0xA178, 0xFE42, 0xA179, 0x300E, 0xA17A, 0x300F, 0xA17B, 0xFE43, 0xA17C, 0xFE44, 0xA17D, 0xFE59, 0xA17E, 0xFE5A, 0xA1A1, 0xFE5B, - 0xA1A2, 0xFE5C, 0xA1A3, 0xFE5D, 0xA1A4, 0xFE5E, 0xA1A5, 0x2018, 0xA1A6, 0x2019, 0xA1A7, 0x201C, 0xA1A8, 0x201D, 0xA1A9, 0x301D, - 0xA1AA, 0x301E, 0xA1AB, 0x2035, 0xA1AC, 0x2032, 0xA1AD, 0xFF03, 0xA1AE, 0xFF06, 0xA1AF, 0xFF0A, 0xA1B0, 0x203B, 0xA1B1, 0x00A7, - 0xA1B2, 0x3003, 0xA1B3, 0x25CB, 0xA1B4, 0x25CF, 0xA1B5, 0x25B3, 0xA1B6, 0x25B2, 0xA1B7, 0x25CE, 0xA1B8, 0x2606, 0xA1B9, 0x2605, - 0xA1BA, 0x25C7, 0xA1BB, 0x25C6, 0xA1BC, 0x25A1, 0xA1BD, 0x25A0, 0xA1BE, 0x25BD, 0xA1BF, 0x25BC, 0xA1C0, 0x32A3, 0xA1C1, 0x2105, - 0xA1C2, 0x00AF, 0xA1C3, 0xFFE3, 0xA1C4, 0xFF3F, 0xA1C5, 0x02CD, 0xA1C6, 0xFE49, 0xA1C7, 0xFE4A, 0xA1C8, 0xFE4D, 0xA1C9, 0xFE4E, - 0xA1CA, 0xFE4B, 0xA1CB, 0xFE4C, 0xA1CC, 0xFE5F, 0xA1CD, 0xFE60, 0xA1CE, 0xFE61, 0xA1CF, 0xFF0B, 0xA1D0, 0xFF0D, 0xA1D1, 0x00D7, - 0xA1D2, 0x00F7, 0xA1D3, 0x00B1, 0xA1D4, 0x221A, 0xA1D5, 0xFF1C, 0xA1D6, 0xFF1E, 0xA1D7, 0xFF1D, 0xA1D8, 0x2266, 0xA1D9, 0x2267, - 0xA1DA, 0x2260, 0xA1DB, 0x221E, 0xA1DC, 0x2252, 0xA1DD, 0x2261, 0xA1DE, 0xFE62, 0xA1DF, 0xFE63, 0xA1E0, 0xFE64, 0xA1E1, 0xFE65, - 0xA1E2, 0xFE66, 0xA1E3, 0xFF5E, 0xA1E4, 0x2229, 0xA1E5, 0x222A, 0xA1E6, 0x22A5, 0xA1E7, 0x2220, 0xA1E8, 0x221F, 0xA1E9, 0x22BF, - 0xA1EA, 0x33D2, 0xA1EB, 0x33D1, 0xA1EC, 0x222B, 0xA1ED, 0x222E, 0xA1EE, 0x2235, 0xA1EF, 0x2234, 0xA1F0, 0x2640, 0xA1F1, 0x2642, - 0xA1F2, 0x2295, 0xA1F3, 0x2299, 0xA1F4, 0x2191, 0xA1F5, 0x2193, 0xA1F6, 0x2190, 0xA1F7, 0x2192, 0xA1F8, 0x2196, 0xA1F9, 0x2197, - 0xA1FA, 0x2199, 0xA1FB, 0x2198, 0xA1FC, 0x2225, 0xA1FD, 0x2223, 0xA1FE, 0xFF0F, 0xA240, 0xFF3C, 0xA241, 0x2215, 0xA242, 0xFE68, - 0xA243, 0xFF04, 0xA244, 0xFFE5, 0xA245, 0x3012, 0xA246, 0xFFE0, 0xA247, 0xFFE1, 0xA248, 0xFF05, 0xA249, 0xFF20, 0xA24A, 0x2103, - 0xA24B, 0x2109, 0xA24C, 0xFE69, 0xA24D, 0xFE6A, 0xA24E, 0xFE6B, 0xA24F, 0x33D5, 0xA250, 0x339C, 0xA251, 0x339D, 0xA252, 0x339E, - 0xA253, 0x33CE, 0xA254, 0x33A1, 0xA255, 0x338E, 0xA256, 0x338F, 0xA257, 0x33C4, 0xA258, 0x00B0, 0xA259, 0x5159, 0xA25A, 0x515B, - 0xA25B, 0x515E, 0xA25C, 0x515D, 0xA25D, 0x5161, 0xA25E, 0x5163, 0xA25F, 0x55E7, 0xA260, 0x74E9, 0xA261, 0x7CCE, 0xA262, 0x2581, - 0xA263, 0x2582, 0xA264, 0x2583, 0xA265, 0x2584, 0xA266, 0x2585, 0xA267, 0x2586, 0xA268, 0x2587, 0xA269, 0x2588, 0xA26A, 0x258F, - 0xA26B, 0x258E, 0xA26C, 0x258D, 0xA26D, 0x258C, 0xA26E, 0x258B, 0xA26F, 0x258A, 0xA270, 0x2589, 0xA271, 0x253C, 0xA272, 0x2534, - 0xA273, 0x252C, 0xA274, 0x2524, 0xA275, 0x251C, 0xA276, 0x2594, 0xA277, 0x2500, 0xA278, 0x2502, 0xA279, 0x2595, 0xA27A, 0x250C, - 0xA27B, 0x2510, 0xA27C, 0x2514, 0xA27D, 0x2518, 0xA27E, 0x256D, 0xA2A1, 0x256E, 0xA2A2, 0x2570, 0xA2A3, 0x256F, 0xA2A4, 0x2550, - 0xA2A5, 0x255E, 0xA2A6, 0x256A, 0xA2A7, 0x2561, 0xA2A8, 0x25E2, 0xA2A9, 0x25E3, 0xA2AA, 0x25E5, 0xA2AB, 0x25E4, 0xA2AC, 0x2571, - 0xA2AD, 0x2572, 0xA2AE, 0x2573, 0xA2AF, 0xFF10, 0xA2B0, 0xFF11, 0xA2B1, 0xFF12, 0xA2B2, 0xFF13, 0xA2B3, 0xFF14, 0xA2B4, 0xFF15, - 0xA2B5, 0xFF16, 0xA2B6, 0xFF17, 0xA2B7, 0xFF18, 0xA2B8, 0xFF19, 0xA2B9, 0x2160, 0xA2BA, 0x2161, 0xA2BB, 0x2162, 0xA2BC, 0x2163, - 0xA2BD, 0x2164, 0xA2BE, 0x2165, 0xA2BF, 0x2166, 0xA2C0, 0x2167, 0xA2C1, 0x2168, 0xA2C2, 0x2169, 0xA2C3, 0x3021, 0xA2C4, 0x3022, - 0xA2C5, 0x3023, 0xA2C6, 0x3024, 0xA2C7, 0x3025, 0xA2C8, 0x3026, 0xA2C9, 0x3027, 0xA2CA, 0x3028, 0xA2CB, 0x3029, 0xA2CC, 0x5341, - 0xA2CD, 0x5344, 0xA2CE, 0x5345, 0xA2CF, 0xFF21, 0xA2D0, 0xFF22, 0xA2D1, 0xFF23, 0xA2D2, 0xFF24, 0xA2D3, 0xFF25, 0xA2D4, 0xFF26, - 0xA2D5, 0xFF27, 0xA2D6, 0xFF28, 0xA2D7, 0xFF29, 0xA2D8, 0xFF2A, 0xA2D9, 0xFF2B, 0xA2DA, 0xFF2C, 0xA2DB, 0xFF2D, 0xA2DC, 0xFF2E, - 0xA2DD, 0xFF2F, 0xA2DE, 0xFF30, 0xA2DF, 0xFF31, 0xA2E0, 0xFF32, 0xA2E1, 0xFF33, 0xA2E2, 0xFF34, 0xA2E3, 0xFF35, 0xA2E4, 0xFF36, - 0xA2E5, 0xFF37, 0xA2E6, 0xFF38, 0xA2E7, 0xFF39, 0xA2E8, 0xFF3A, 0xA2E9, 0xFF41, 0xA2EA, 0xFF42, 0xA2EB, 0xFF43, 0xA2EC, 0xFF44, - 0xA2ED, 0xFF45, 0xA2EE, 0xFF46, 0xA2EF, 0xFF47, 0xA2F0, 0xFF48, 0xA2F1, 0xFF49, 0xA2F2, 0xFF4A, 0xA2F3, 0xFF4B, 0xA2F4, 0xFF4C, - 0xA2F5, 0xFF4D, 0xA2F6, 0xFF4E, 0xA2F7, 0xFF4F, 0xA2F8, 0xFF50, 0xA2F9, 0xFF51, 0xA2FA, 0xFF52, 0xA2FB, 0xFF53, 0xA2FC, 0xFF54, - 0xA2FD, 0xFF55, 0xA2FE, 0xFF56, 0xA340, 0xFF57, 0xA341, 0xFF58, 0xA342, 0xFF59, 0xA343, 0xFF5A, 0xA344, 0x0391, 0xA345, 0x0392, - 0xA346, 0x0393, 0xA347, 0x0394, 0xA348, 0x0395, 0xA349, 0x0396, 0xA34A, 0x0397, 0xA34B, 0x0398, 0xA34C, 0x0399, 0xA34D, 0x039A, - 0xA34E, 0x039B, 0xA34F, 0x039C, 0xA350, 0x039D, 0xA351, 0x039E, 0xA352, 0x039F, 0xA353, 0x03A0, 0xA354, 0x03A1, 0xA355, 0x03A3, - 0xA356, 0x03A4, 0xA357, 0x03A5, 0xA358, 0x03A6, 0xA359, 0x03A7, 0xA35A, 0x03A8, 0xA35B, 0x03A9, 0xA35C, 0x03B1, 0xA35D, 0x03B2, - 0xA35E, 0x03B3, 0xA35F, 0x03B4, 0xA360, 0x03B5, 0xA361, 0x03B6, 0xA362, 0x03B7, 0xA363, 0x03B8, 0xA364, 0x03B9, 0xA365, 0x03BA, - 0xA366, 0x03BB, 0xA367, 0x03BC, 0xA368, 0x03BD, 0xA369, 0x03BE, 0xA36A, 0x03BF, 0xA36B, 0x03C0, 0xA36C, 0x03C1, 0xA36D, 0x03C3, - 0xA36E, 0x03C4, 0xA36F, 0x03C5, 0xA370, 0x03C6, 0xA371, 0x03C7, 0xA372, 0x03C8, 0xA373, 0x03C9, 0xA374, 0x3105, 0xA375, 0x3106, - 0xA376, 0x3107, 0xA377, 0x3108, 0xA378, 0x3109, 0xA379, 0x310A, 0xA37A, 0x310B, 0xA37B, 0x310C, 0xA37C, 0x310D, 0xA37D, 0x310E, - 0xA37E, 0x310F, 0xA3A1, 0x3110, 0xA3A2, 0x3111, 0xA3A3, 0x3112, 0xA3A4, 0x3113, 0xA3A5, 0x3114, 0xA3A6, 0x3115, 0xA3A7, 0x3116, - 0xA3A8, 0x3117, 0xA3A9, 0x3118, 0xA3AA, 0x3119, 0xA3AB, 0x311A, 0xA3AC, 0x311B, 0xA3AD, 0x311C, 0xA3AE, 0x311D, 0xA3AF, 0x311E, - 0xA3B0, 0x311F, 0xA3B1, 0x3120, 0xA3B2, 0x3121, 0xA3B3, 0x3122, 0xA3B4, 0x3123, 0xA3B5, 0x3124, 0xA3B6, 0x3125, 0xA3B7, 0x3126, - 0xA3B8, 0x3127, 0xA3B9, 0x3128, 0xA3BA, 0x3129, 0xA3BB, 0x02D9, 0xA3BC, 0x02C9, 0xA3BD, 0x02CA, 0xA3BE, 0x02C7, 0xA3BF, 0x02CB, - 0xA3E1, 0x20AC, 0xA440, 0x4E00, 0xA441, 0x4E59, 0xA442, 0x4E01, 0xA443, 0x4E03, 0xA444, 0x4E43, 0xA445, 0x4E5D, 0xA446, 0x4E86, - 0xA447, 0x4E8C, 0xA448, 0x4EBA, 0xA449, 0x513F, 0xA44A, 0x5165, 0xA44B, 0x516B, 0xA44C, 0x51E0, 0xA44D, 0x5200, 0xA44E, 0x5201, - 0xA44F, 0x529B, 0xA450, 0x5315, 0xA451, 0x5341, 0xA452, 0x535C, 0xA453, 0x53C8, 0xA454, 0x4E09, 0xA455, 0x4E0B, 0xA456, 0x4E08, - 0xA457, 0x4E0A, 0xA458, 0x4E2B, 0xA459, 0x4E38, 0xA45A, 0x51E1, 0xA45B, 0x4E45, 0xA45C, 0x4E48, 0xA45D, 0x4E5F, 0xA45E, 0x4E5E, - 0xA45F, 0x4E8E, 0xA460, 0x4EA1, 0xA461, 0x5140, 0xA462, 0x5203, 0xA463, 0x52FA, 0xA464, 0x5343, 0xA465, 0x53C9, 0xA466, 0x53E3, - 0xA467, 0x571F, 0xA468, 0x58EB, 0xA469, 0x5915, 0xA46A, 0x5927, 0xA46B, 0x5973, 0xA46C, 0x5B50, 0xA46D, 0x5B51, 0xA46E, 0x5B53, - 0xA46F, 0x5BF8, 0xA470, 0x5C0F, 0xA471, 0x5C22, 0xA472, 0x5C38, 0xA473, 0x5C71, 0xA474, 0x5DDD, 0xA475, 0x5DE5, 0xA476, 0x5DF1, - 0xA477, 0x5DF2, 0xA478, 0x5DF3, 0xA479, 0x5DFE, 0xA47A, 0x5E72, 0xA47B, 0x5EFE, 0xA47C, 0x5F0B, 0xA47D, 0x5F13, 0xA47E, 0x624D, - 0xA4A1, 0x4E11, 0xA4A2, 0x4E10, 0xA4A3, 0x4E0D, 0xA4A4, 0x4E2D, 0xA4A5, 0x4E30, 0xA4A6, 0x4E39, 0xA4A7, 0x4E4B, 0xA4A8, 0x5C39, - 0xA4A9, 0x4E88, 0xA4AA, 0x4E91, 0xA4AB, 0x4E95, 0xA4AC, 0x4E92, 0xA4AD, 0x4E94, 0xA4AE, 0x4EA2, 0xA4AF, 0x4EC1, 0xA4B0, 0x4EC0, - 0xA4B1, 0x4EC3, 0xA4B2, 0x4EC6, 0xA4B3, 0x4EC7, 0xA4B4, 0x4ECD, 0xA4B5, 0x4ECA, 0xA4B6, 0x4ECB, 0xA4B7, 0x4EC4, 0xA4B8, 0x5143, - 0xA4B9, 0x5141, 0xA4BA, 0x5167, 0xA4BB, 0x516D, 0xA4BC, 0x516E, 0xA4BD, 0x516C, 0xA4BE, 0x5197, 0xA4BF, 0x51F6, 0xA4C0, 0x5206, - 0xA4C1, 0x5207, 0xA4C2, 0x5208, 0xA4C3, 0x52FB, 0xA4C4, 0x52FE, 0xA4C5, 0x52FF, 0xA4C6, 0x5316, 0xA4C7, 0x5339, 0xA4C8, 0x5348, - 0xA4C9, 0x5347, 0xA4CA, 0x5345, 0xA4CB, 0x535E, 0xA4CC, 0x5384, 0xA4CD, 0x53CB, 0xA4CE, 0x53CA, 0xA4CF, 0x53CD, 0xA4D0, 0x58EC, - 0xA4D1, 0x5929, 0xA4D2, 0x592B, 0xA4D3, 0x592A, 0xA4D4, 0x592D, 0xA4D5, 0x5B54, 0xA4D6, 0x5C11, 0xA4D7, 0x5C24, 0xA4D8, 0x5C3A, - 0xA4D9, 0x5C6F, 0xA4DA, 0x5DF4, 0xA4DB, 0x5E7B, 0xA4DC, 0x5EFF, 0xA4DD, 0x5F14, 0xA4DE, 0x5F15, 0xA4DF, 0x5FC3, 0xA4E0, 0x6208, - 0xA4E1, 0x6236, 0xA4E2, 0x624B, 0xA4E3, 0x624E, 0xA4E4, 0x652F, 0xA4E5, 0x6587, 0xA4E6, 0x6597, 0xA4E7, 0x65A4, 0xA4E8, 0x65B9, - 0xA4E9, 0x65E5, 0xA4EA, 0x66F0, 0xA4EB, 0x6708, 0xA4EC, 0x6728, 0xA4ED, 0x6B20, 0xA4EE, 0x6B62, 0xA4EF, 0x6B79, 0xA4F0, 0x6BCB, - 0xA4F1, 0x6BD4, 0xA4F2, 0x6BDB, 0xA4F3, 0x6C0F, 0xA4F4, 0x6C34, 0xA4F5, 0x706B, 0xA4F6, 0x722A, 0xA4F7, 0x7236, 0xA4F8, 0x723B, - 0xA4F9, 0x7247, 0xA4FA, 0x7259, 0xA4FB, 0x725B, 0xA4FC, 0x72AC, 0xA4FD, 0x738B, 0xA4FE, 0x4E19, 0xA540, 0x4E16, 0xA541, 0x4E15, - 0xA542, 0x4E14, 0xA543, 0x4E18, 0xA544, 0x4E3B, 0xA545, 0x4E4D, 0xA546, 0x4E4F, 0xA547, 0x4E4E, 0xA548, 0x4EE5, 0xA549, 0x4ED8, - 0xA54A, 0x4ED4, 0xA54B, 0x4ED5, 0xA54C, 0x4ED6, 0xA54D, 0x4ED7, 0xA54E, 0x4EE3, 0xA54F, 0x4EE4, 0xA550, 0x4ED9, 0xA551, 0x4EDE, - 0xA552, 0x5145, 0xA553, 0x5144, 0xA554, 0x5189, 0xA555, 0x518A, 0xA556, 0x51AC, 0xA557, 0x51F9, 0xA558, 0x51FA, 0xA559, 0x51F8, - 0xA55A, 0x520A, 0xA55B, 0x52A0, 0xA55C, 0x529F, 0xA55D, 0x5305, 0xA55E, 0x5306, 0xA55F, 0x5317, 0xA560, 0x531D, 0xA561, 0x4EDF, - 0xA562, 0x534A, 0xA563, 0x5349, 0xA564, 0x5361, 0xA565, 0x5360, 0xA566, 0x536F, 0xA567, 0x536E, 0xA568, 0x53BB, 0xA569, 0x53EF, - 0xA56A, 0x53E4, 0xA56B, 0x53F3, 0xA56C, 0x53EC, 0xA56D, 0x53EE, 0xA56E, 0x53E9, 0xA56F, 0x53E8, 0xA570, 0x53FC, 0xA571, 0x53F8, - 0xA572, 0x53F5, 0xA573, 0x53EB, 0xA574, 0x53E6, 0xA575, 0x53EA, 0xA576, 0x53F2, 0xA577, 0x53F1, 0xA578, 0x53F0, 0xA579, 0x53E5, - 0xA57A, 0x53ED, 0xA57B, 0x53FB, 0xA57C, 0x56DB, 0xA57D, 0x56DA, 0xA57E, 0x5916, 0xA5A1, 0x592E, 0xA5A2, 0x5931, 0xA5A3, 0x5974, - 0xA5A4, 0x5976, 0xA5A5, 0x5B55, 0xA5A6, 0x5B83, 0xA5A7, 0x5C3C, 0xA5A8, 0x5DE8, 0xA5A9, 0x5DE7, 0xA5AA, 0x5DE6, 0xA5AB, 0x5E02, - 0xA5AC, 0x5E03, 0xA5AD, 0x5E73, 0xA5AE, 0x5E7C, 0xA5AF, 0x5F01, 0xA5B0, 0x5F18, 0xA5B1, 0x5F17, 0xA5B2, 0x5FC5, 0xA5B3, 0x620A, - 0xA5B4, 0x6253, 0xA5B5, 0x6254, 0xA5B6, 0x6252, 0xA5B7, 0x6251, 0xA5B8, 0x65A5, 0xA5B9, 0x65E6, 0xA5BA, 0x672E, 0xA5BB, 0x672C, - 0xA5BC, 0x672A, 0xA5BD, 0x672B, 0xA5BE, 0x672D, 0xA5BF, 0x6B63, 0xA5C0, 0x6BCD, 0xA5C1, 0x6C11, 0xA5C2, 0x6C10, 0xA5C3, 0x6C38, - 0xA5C4, 0x6C41, 0xA5C5, 0x6C40, 0xA5C6, 0x6C3E, 0xA5C7, 0x72AF, 0xA5C8, 0x7384, 0xA5C9, 0x7389, 0xA5CA, 0x74DC, 0xA5CB, 0x74E6, - 0xA5CC, 0x7518, 0xA5CD, 0x751F, 0xA5CE, 0x7528, 0xA5CF, 0x7529, 0xA5D0, 0x7530, 0xA5D1, 0x7531, 0xA5D2, 0x7532, 0xA5D3, 0x7533, - 0xA5D4, 0x758B, 0xA5D5, 0x767D, 0xA5D6, 0x76AE, 0xA5D7, 0x76BF, 0xA5D8, 0x76EE, 0xA5D9, 0x77DB, 0xA5DA, 0x77E2, 0xA5DB, 0x77F3, - 0xA5DC, 0x793A, 0xA5DD, 0x79BE, 0xA5DE, 0x7A74, 0xA5DF, 0x7ACB, 0xA5E0, 0x4E1E, 0xA5E1, 0x4E1F, 0xA5E2, 0x4E52, 0xA5E3, 0x4E53, - 0xA5E4, 0x4E69, 0xA5E5, 0x4E99, 0xA5E6, 0x4EA4, 0xA5E7, 0x4EA6, 0xA5E8, 0x4EA5, 0xA5E9, 0x4EFF, 0xA5EA, 0x4F09, 0xA5EB, 0x4F19, - 0xA5EC, 0x4F0A, 0xA5ED, 0x4F15, 0xA5EE, 0x4F0D, 0xA5EF, 0x4F10, 0xA5F0, 0x4F11, 0xA5F1, 0x4F0F, 0xA5F2, 0x4EF2, 0xA5F3, 0x4EF6, - 0xA5F4, 0x4EFB, 0xA5F5, 0x4EF0, 0xA5F6, 0x4EF3, 0xA5F7, 0x4EFD, 0xA5F8, 0x4F01, 0xA5F9, 0x4F0B, 0xA5FA, 0x5149, 0xA5FB, 0x5147, - 0xA5FC, 0x5146, 0xA5FD, 0x5148, 0xA5FE, 0x5168, 0xA640, 0x5171, 0xA641, 0x518D, 0xA642, 0x51B0, 0xA643, 0x5217, 0xA644, 0x5211, - 0xA645, 0x5212, 0xA646, 0x520E, 0xA647, 0x5216, 0xA648, 0x52A3, 0xA649, 0x5308, 0xA64A, 0x5321, 0xA64B, 0x5320, 0xA64C, 0x5370, - 0xA64D, 0x5371, 0xA64E, 0x5409, 0xA64F, 0x540F, 0xA650, 0x540C, 0xA651, 0x540A, 0xA652, 0x5410, 0xA653, 0x5401, 0xA654, 0x540B, - 0xA655, 0x5404, 0xA656, 0x5411, 0xA657, 0x540D, 0xA658, 0x5408, 0xA659, 0x5403, 0xA65A, 0x540E, 0xA65B, 0x5406, 0xA65C, 0x5412, - 0xA65D, 0x56E0, 0xA65E, 0x56DE, 0xA65F, 0x56DD, 0xA660, 0x5733, 0xA661, 0x5730, 0xA662, 0x5728, 0xA663, 0x572D, 0xA664, 0x572C, - 0xA665, 0x572F, 0xA666, 0x5729, 0xA667, 0x5919, 0xA668, 0x591A, 0xA669, 0x5937, 0xA66A, 0x5938, 0xA66B, 0x5984, 0xA66C, 0x5978, - 0xA66D, 0x5983, 0xA66E, 0x597D, 0xA66F, 0x5979, 0xA670, 0x5982, 0xA671, 0x5981, 0xA672, 0x5B57, 0xA673, 0x5B58, 0xA674, 0x5B87, - 0xA675, 0x5B88, 0xA676, 0x5B85, 0xA677, 0x5B89, 0xA678, 0x5BFA, 0xA679, 0x5C16, 0xA67A, 0x5C79, 0xA67B, 0x5DDE, 0xA67C, 0x5E06, - 0xA67D, 0x5E76, 0xA67E, 0x5E74, 0xA6A1, 0x5F0F, 0xA6A2, 0x5F1B, 0xA6A3, 0x5FD9, 0xA6A4, 0x5FD6, 0xA6A5, 0x620E, 0xA6A6, 0x620C, - 0xA6A7, 0x620D, 0xA6A8, 0x6210, 0xA6A9, 0x6263, 0xA6AA, 0x625B, 0xA6AB, 0x6258, 0xA6AC, 0x6536, 0xA6AD, 0x65E9, 0xA6AE, 0x65E8, - 0xA6AF, 0x65EC, 0xA6B0, 0x65ED, 0xA6B1, 0x66F2, 0xA6B2, 0x66F3, 0xA6B3, 0x6709, 0xA6B4, 0x673D, 0xA6B5, 0x6734, 0xA6B6, 0x6731, - 0xA6B7, 0x6735, 0xA6B8, 0x6B21, 0xA6B9, 0x6B64, 0xA6BA, 0x6B7B, 0xA6BB, 0x6C16, 0xA6BC, 0x6C5D, 0xA6BD, 0x6C57, 0xA6BE, 0x6C59, - 0xA6BF, 0x6C5F, 0xA6C0, 0x6C60, 0xA6C1, 0x6C50, 0xA6C2, 0x6C55, 0xA6C3, 0x6C61, 0xA6C4, 0x6C5B, 0xA6C5, 0x6C4D, 0xA6C6, 0x6C4E, - 0xA6C7, 0x7070, 0xA6C8, 0x725F, 0xA6C9, 0x725D, 0xA6CA, 0x767E, 0xA6CB, 0x7AF9, 0xA6CC, 0x7C73, 0xA6CD, 0x7CF8, 0xA6CE, 0x7F36, - 0xA6CF, 0x7F8A, 0xA6D0, 0x7FBD, 0xA6D1, 0x8001, 0xA6D2, 0x8003, 0xA6D3, 0x800C, 0xA6D4, 0x8012, 0xA6D5, 0x8033, 0xA6D6, 0x807F, - 0xA6D7, 0x8089, 0xA6D8, 0x808B, 0xA6D9, 0x808C, 0xA6DA, 0x81E3, 0xA6DB, 0x81EA, 0xA6DC, 0x81F3, 0xA6DD, 0x81FC, 0xA6DE, 0x820C, - 0xA6DF, 0x821B, 0xA6E0, 0x821F, 0xA6E1, 0x826E, 0xA6E2, 0x8272, 0xA6E3, 0x827E, 0xA6E4, 0x866B, 0xA6E5, 0x8840, 0xA6E6, 0x884C, - 0xA6E7, 0x8863, 0xA6E8, 0x897F, 0xA6E9, 0x9621, 0xA6EA, 0x4E32, 0xA6EB, 0x4EA8, 0xA6EC, 0x4F4D, 0xA6ED, 0x4F4F, 0xA6EE, 0x4F47, - 0xA6EF, 0x4F57, 0xA6F0, 0x4F5E, 0xA6F1, 0x4F34, 0xA6F2, 0x4F5B, 0xA6F3, 0x4F55, 0xA6F4, 0x4F30, 0xA6F5, 0x4F50, 0xA6F6, 0x4F51, - 0xA6F7, 0x4F3D, 0xA6F8, 0x4F3A, 0xA6F9, 0x4F38, 0xA6FA, 0x4F43, 0xA6FB, 0x4F54, 0xA6FC, 0x4F3C, 0xA6FD, 0x4F46, 0xA6FE, 0x4F63, - 0xA740, 0x4F5C, 0xA741, 0x4F60, 0xA742, 0x4F2F, 0xA743, 0x4F4E, 0xA744, 0x4F36, 0xA745, 0x4F59, 0xA746, 0x4F5D, 0xA747, 0x4F48, - 0xA748, 0x4F5A, 0xA749, 0x514C, 0xA74A, 0x514B, 0xA74B, 0x514D, 0xA74C, 0x5175, 0xA74D, 0x51B6, 0xA74E, 0x51B7, 0xA74F, 0x5225, - 0xA750, 0x5224, 0xA751, 0x5229, 0xA752, 0x522A, 0xA753, 0x5228, 0xA754, 0x52AB, 0xA755, 0x52A9, 0xA756, 0x52AA, 0xA757, 0x52AC, - 0xA758, 0x5323, 0xA759, 0x5373, 0xA75A, 0x5375, 0xA75B, 0x541D, 0xA75C, 0x542D, 0xA75D, 0x541E, 0xA75E, 0x543E, 0xA75F, 0x5426, - 0xA760, 0x544E, 0xA761, 0x5427, 0xA762, 0x5446, 0xA763, 0x5443, 0xA764, 0x5433, 0xA765, 0x5448, 0xA766, 0x5442, 0xA767, 0x541B, - 0xA768, 0x5429, 0xA769, 0x544A, 0xA76A, 0x5439, 0xA76B, 0x543B, 0xA76C, 0x5438, 0xA76D, 0x542E, 0xA76E, 0x5435, 0xA76F, 0x5436, - 0xA770, 0x5420, 0xA771, 0x543C, 0xA772, 0x5440, 0xA773, 0x5431, 0xA774, 0x542B, 0xA775, 0x541F, 0xA776, 0x542C, 0xA777, 0x56EA, - 0xA778, 0x56F0, 0xA779, 0x56E4, 0xA77A, 0x56EB, 0xA77B, 0x574A, 0xA77C, 0x5751, 0xA77D, 0x5740, 0xA77E, 0x574D, 0xA7A1, 0x5747, - 0xA7A2, 0x574E, 0xA7A3, 0x573E, 0xA7A4, 0x5750, 0xA7A5, 0x574F, 0xA7A6, 0x573B, 0xA7A7, 0x58EF, 0xA7A8, 0x593E, 0xA7A9, 0x599D, - 0xA7AA, 0x5992, 0xA7AB, 0x59A8, 0xA7AC, 0x599E, 0xA7AD, 0x59A3, 0xA7AE, 0x5999, 0xA7AF, 0x5996, 0xA7B0, 0x598D, 0xA7B1, 0x59A4, - 0xA7B2, 0x5993, 0xA7B3, 0x598A, 0xA7B4, 0x59A5, 0xA7B5, 0x5B5D, 0xA7B6, 0x5B5C, 0xA7B7, 0x5B5A, 0xA7B8, 0x5B5B, 0xA7B9, 0x5B8C, - 0xA7BA, 0x5B8B, 0xA7BB, 0x5B8F, 0xA7BC, 0x5C2C, 0xA7BD, 0x5C40, 0xA7BE, 0x5C41, 0xA7BF, 0x5C3F, 0xA7C0, 0x5C3E, 0xA7C1, 0x5C90, - 0xA7C2, 0x5C91, 0xA7C3, 0x5C94, 0xA7C4, 0x5C8C, 0xA7C5, 0x5DEB, 0xA7C6, 0x5E0C, 0xA7C7, 0x5E8F, 0xA7C8, 0x5E87, 0xA7C9, 0x5E8A, - 0xA7CA, 0x5EF7, 0xA7CB, 0x5F04, 0xA7CC, 0x5F1F, 0xA7CD, 0x5F64, 0xA7CE, 0x5F62, 0xA7CF, 0x5F77, 0xA7D0, 0x5F79, 0xA7D1, 0x5FD8, - 0xA7D2, 0x5FCC, 0xA7D3, 0x5FD7, 0xA7D4, 0x5FCD, 0xA7D5, 0x5FF1, 0xA7D6, 0x5FEB, 0xA7D7, 0x5FF8, 0xA7D8, 0x5FEA, 0xA7D9, 0x6212, - 0xA7DA, 0x6211, 0xA7DB, 0x6284, 0xA7DC, 0x6297, 0xA7DD, 0x6296, 0xA7DE, 0x6280, 0xA7DF, 0x6276, 0xA7E0, 0x6289, 0xA7E1, 0x626D, - 0xA7E2, 0x628A, 0xA7E3, 0x627C, 0xA7E4, 0x627E, 0xA7E5, 0x6279, 0xA7E6, 0x6273, 0xA7E7, 0x6292, 0xA7E8, 0x626F, 0xA7E9, 0x6298, - 0xA7EA, 0x626E, 0xA7EB, 0x6295, 0xA7EC, 0x6293, 0xA7ED, 0x6291, 0xA7EE, 0x6286, 0xA7EF, 0x6539, 0xA7F0, 0x653B, 0xA7F1, 0x6538, - 0xA7F2, 0x65F1, 0xA7F3, 0x66F4, 0xA7F4, 0x675F, 0xA7F5, 0x674E, 0xA7F6, 0x674F, 0xA7F7, 0x6750, 0xA7F8, 0x6751, 0xA7F9, 0x675C, - 0xA7FA, 0x6756, 0xA7FB, 0x675E, 0xA7FC, 0x6749, 0xA7FD, 0x6746, 0xA7FE, 0x6760, 0xA840, 0x6753, 0xA841, 0x6757, 0xA842, 0x6B65, - 0xA843, 0x6BCF, 0xA844, 0x6C42, 0xA845, 0x6C5E, 0xA846, 0x6C99, 0xA847, 0x6C81, 0xA848, 0x6C88, 0xA849, 0x6C89, 0xA84A, 0x6C85, - 0xA84B, 0x6C9B, 0xA84C, 0x6C6A, 0xA84D, 0x6C7A, 0xA84E, 0x6C90, 0xA84F, 0x6C70, 0xA850, 0x6C8C, 0xA851, 0x6C68, 0xA852, 0x6C96, - 0xA853, 0x6C92, 0xA854, 0x6C7D, 0xA855, 0x6C83, 0xA856, 0x6C72, 0xA857, 0x6C7E, 0xA858, 0x6C74, 0xA859, 0x6C86, 0xA85A, 0x6C76, - 0xA85B, 0x6C8D, 0xA85C, 0x6C94, 0xA85D, 0x6C98, 0xA85E, 0x6C82, 0xA85F, 0x7076, 0xA860, 0x707C, 0xA861, 0x707D, 0xA862, 0x7078, - 0xA863, 0x7262, 0xA864, 0x7261, 0xA865, 0x7260, 0xA866, 0x72C4, 0xA867, 0x72C2, 0xA868, 0x7396, 0xA869, 0x752C, 0xA86A, 0x752B, - 0xA86B, 0x7537, 0xA86C, 0x7538, 0xA86D, 0x7682, 0xA86E, 0x76EF, 0xA86F, 0x77E3, 0xA870, 0x79C1, 0xA871, 0x79C0, 0xA872, 0x79BF, - 0xA873, 0x7A76, 0xA874, 0x7CFB, 0xA875, 0x7F55, 0xA876, 0x8096, 0xA877, 0x8093, 0xA878, 0x809D, 0xA879, 0x8098, 0xA87A, 0x809B, - 0xA87B, 0x809A, 0xA87C, 0x80B2, 0xA87D, 0x826F, 0xA87E, 0x8292, 0xA8A1, 0x828B, 0xA8A2, 0x828D, 0xA8A3, 0x898B, 0xA8A4, 0x89D2, - 0xA8A5, 0x8A00, 0xA8A6, 0x8C37, 0xA8A7, 0x8C46, 0xA8A8, 0x8C55, 0xA8A9, 0x8C9D, 0xA8AA, 0x8D64, 0xA8AB, 0x8D70, 0xA8AC, 0x8DB3, - 0xA8AD, 0x8EAB, 0xA8AE, 0x8ECA, 0xA8AF, 0x8F9B, 0xA8B0, 0x8FB0, 0xA8B1, 0x8FC2, 0xA8B2, 0x8FC6, 0xA8B3, 0x8FC5, 0xA8B4, 0x8FC4, - 0xA8B5, 0x5DE1, 0xA8B6, 0x9091, 0xA8B7, 0x90A2, 0xA8B8, 0x90AA, 0xA8B9, 0x90A6, 0xA8BA, 0x90A3, 0xA8BB, 0x9149, 0xA8BC, 0x91C6, - 0xA8BD, 0x91CC, 0xA8BE, 0x9632, 0xA8BF, 0x962E, 0xA8C0, 0x9631, 0xA8C1, 0x962A, 0xA8C2, 0x962C, 0xA8C3, 0x4E26, 0xA8C4, 0x4E56, - 0xA8C5, 0x4E73, 0xA8C6, 0x4E8B, 0xA8C7, 0x4E9B, 0xA8C8, 0x4E9E, 0xA8C9, 0x4EAB, 0xA8CA, 0x4EAC, 0xA8CB, 0x4F6F, 0xA8CC, 0x4F9D, - 0xA8CD, 0x4F8D, 0xA8CE, 0x4F73, 0xA8CF, 0x4F7F, 0xA8D0, 0x4F6C, 0xA8D1, 0x4F9B, 0xA8D2, 0x4F8B, 0xA8D3, 0x4F86, 0xA8D4, 0x4F83, - 0xA8D5, 0x4F70, 0xA8D6, 0x4F75, 0xA8D7, 0x4F88, 0xA8D8, 0x4F69, 0xA8D9, 0x4F7B, 0xA8DA, 0x4F96, 0xA8DB, 0x4F7E, 0xA8DC, 0x4F8F, - 0xA8DD, 0x4F91, 0xA8DE, 0x4F7A, 0xA8DF, 0x5154, 0xA8E0, 0x5152, 0xA8E1, 0x5155, 0xA8E2, 0x5169, 0xA8E3, 0x5177, 0xA8E4, 0x5176, - 0xA8E5, 0x5178, 0xA8E6, 0x51BD, 0xA8E7, 0x51FD, 0xA8E8, 0x523B, 0xA8E9, 0x5238, 0xA8EA, 0x5237, 0xA8EB, 0x523A, 0xA8EC, 0x5230, - 0xA8ED, 0x522E, 0xA8EE, 0x5236, 0xA8EF, 0x5241, 0xA8F0, 0x52BE, 0xA8F1, 0x52BB, 0xA8F2, 0x5352, 0xA8F3, 0x5354, 0xA8F4, 0x5353, - 0xA8F5, 0x5351, 0xA8F6, 0x5366, 0xA8F7, 0x5377, 0xA8F8, 0x5378, 0xA8F9, 0x5379, 0xA8FA, 0x53D6, 0xA8FB, 0x53D4, 0xA8FC, 0x53D7, - 0xA8FD, 0x5473, 0xA8FE, 0x5475, 0xA940, 0x5496, 0xA941, 0x5478, 0xA942, 0x5495, 0xA943, 0x5480, 0xA944, 0x547B, 0xA945, 0x5477, - 0xA946, 0x5484, 0xA947, 0x5492, 0xA948, 0x5486, 0xA949, 0x547C, 0xA94A, 0x5490, 0xA94B, 0x5471, 0xA94C, 0x5476, 0xA94D, 0x548C, - 0xA94E, 0x549A, 0xA94F, 0x5462, 0xA950, 0x5468, 0xA951, 0x548B, 0xA952, 0x547D, 0xA953, 0x548E, 0xA954, 0x56FA, 0xA955, 0x5783, - 0xA956, 0x5777, 0xA957, 0x576A, 0xA958, 0x5769, 0xA959, 0x5761, 0xA95A, 0x5766, 0xA95B, 0x5764, 0xA95C, 0x577C, 0xA95D, 0x591C, - 0xA95E, 0x5949, 0xA95F, 0x5947, 0xA960, 0x5948, 0xA961, 0x5944, 0xA962, 0x5954, 0xA963, 0x59BE, 0xA964, 0x59BB, 0xA965, 0x59D4, - 0xA966, 0x59B9, 0xA967, 0x59AE, 0xA968, 0x59D1, 0xA969, 0x59C6, 0xA96A, 0x59D0, 0xA96B, 0x59CD, 0xA96C, 0x59CB, 0xA96D, 0x59D3, - 0xA96E, 0x59CA, 0xA96F, 0x59AF, 0xA970, 0x59B3, 0xA971, 0x59D2, 0xA972, 0x59C5, 0xA973, 0x5B5F, 0xA974, 0x5B64, 0xA975, 0x5B63, - 0xA976, 0x5B97, 0xA977, 0x5B9A, 0xA978, 0x5B98, 0xA979, 0x5B9C, 0xA97A, 0x5B99, 0xA97B, 0x5B9B, 0xA97C, 0x5C1A, 0xA97D, 0x5C48, - 0xA97E, 0x5C45, 0xA9A1, 0x5C46, 0xA9A2, 0x5CB7, 0xA9A3, 0x5CA1, 0xA9A4, 0x5CB8, 0xA9A5, 0x5CA9, 0xA9A6, 0x5CAB, 0xA9A7, 0x5CB1, - 0xA9A8, 0x5CB3, 0xA9A9, 0x5E18, 0xA9AA, 0x5E1A, 0xA9AB, 0x5E16, 0xA9AC, 0x5E15, 0xA9AD, 0x5E1B, 0xA9AE, 0x5E11, 0xA9AF, 0x5E78, - 0xA9B0, 0x5E9A, 0xA9B1, 0x5E97, 0xA9B2, 0x5E9C, 0xA9B3, 0x5E95, 0xA9B4, 0x5E96, 0xA9B5, 0x5EF6, 0xA9B6, 0x5F26, 0xA9B7, 0x5F27, - 0xA9B8, 0x5F29, 0xA9B9, 0x5F80, 0xA9BA, 0x5F81, 0xA9BB, 0x5F7F, 0xA9BC, 0x5F7C, 0xA9BD, 0x5FDD, 0xA9BE, 0x5FE0, 0xA9BF, 0x5FFD, - 0xA9C0, 0x5FF5, 0xA9C1, 0x5FFF, 0xA9C2, 0x600F, 0xA9C3, 0x6014, 0xA9C4, 0x602F, 0xA9C5, 0x6035, 0xA9C6, 0x6016, 0xA9C7, 0x602A, - 0xA9C8, 0x6015, 0xA9C9, 0x6021, 0xA9CA, 0x6027, 0xA9CB, 0x6029, 0xA9CC, 0x602B, 0xA9CD, 0x601B, 0xA9CE, 0x6216, 0xA9CF, 0x6215, - 0xA9D0, 0x623F, 0xA9D1, 0x623E, 0xA9D2, 0x6240, 0xA9D3, 0x627F, 0xA9D4, 0x62C9, 0xA9D5, 0x62CC, 0xA9D6, 0x62C4, 0xA9D7, 0x62BF, - 0xA9D8, 0x62C2, 0xA9D9, 0x62B9, 0xA9DA, 0x62D2, 0xA9DB, 0x62DB, 0xA9DC, 0x62AB, 0xA9DD, 0x62D3, 0xA9DE, 0x62D4, 0xA9DF, 0x62CB, - 0xA9E0, 0x62C8, 0xA9E1, 0x62A8, 0xA9E2, 0x62BD, 0xA9E3, 0x62BC, 0xA9E4, 0x62D0, 0xA9E5, 0x62D9, 0xA9E6, 0x62C7, 0xA9E7, 0x62CD, - 0xA9E8, 0x62B5, 0xA9E9, 0x62DA, 0xA9EA, 0x62B1, 0xA9EB, 0x62D8, 0xA9EC, 0x62D6, 0xA9ED, 0x62D7, 0xA9EE, 0x62C6, 0xA9EF, 0x62AC, - 0xA9F0, 0x62CE, 0xA9F1, 0x653E, 0xA9F2, 0x65A7, 0xA9F3, 0x65BC, 0xA9F4, 0x65FA, 0xA9F5, 0x6614, 0xA9F6, 0x6613, 0xA9F7, 0x660C, - 0xA9F8, 0x6606, 0xA9F9, 0x6602, 0xA9FA, 0x660E, 0xA9FB, 0x6600, 0xA9FC, 0x660F, 0xA9FD, 0x6615, 0xA9FE, 0x660A, 0xAA40, 0x6607, - 0xAA41, 0x670D, 0xAA42, 0x670B, 0xAA43, 0x676D, 0xAA44, 0x678B, 0xAA45, 0x6795, 0xAA46, 0x6771, 0xAA47, 0x679C, 0xAA48, 0x6773, - 0xAA49, 0x6777, 0xAA4A, 0x6787, 0xAA4B, 0x679D, 0xAA4C, 0x6797, 0xAA4D, 0x676F, 0xAA4E, 0x6770, 0xAA4F, 0x677F, 0xAA50, 0x6789, - 0xAA51, 0x677E, 0xAA52, 0x6790, 0xAA53, 0x6775, 0xAA54, 0x679A, 0xAA55, 0x6793, 0xAA56, 0x677C, 0xAA57, 0x676A, 0xAA58, 0x6772, - 0xAA59, 0x6B23, 0xAA5A, 0x6B66, 0xAA5B, 0x6B67, 0xAA5C, 0x6B7F, 0xAA5D, 0x6C13, 0xAA5E, 0x6C1B, 0xAA5F, 0x6CE3, 0xAA60, 0x6CE8, - 0xAA61, 0x6CF3, 0xAA62, 0x6CB1, 0xAA63, 0x6CCC, 0xAA64, 0x6CE5, 0xAA65, 0x6CB3, 0xAA66, 0x6CBD, 0xAA67, 0x6CBE, 0xAA68, 0x6CBC, - 0xAA69, 0x6CE2, 0xAA6A, 0x6CAB, 0xAA6B, 0x6CD5, 0xAA6C, 0x6CD3, 0xAA6D, 0x6CB8, 0xAA6E, 0x6CC4, 0xAA6F, 0x6CB9, 0xAA70, 0x6CC1, - 0xAA71, 0x6CAE, 0xAA72, 0x6CD7, 0xAA73, 0x6CC5, 0xAA74, 0x6CF1, 0xAA75, 0x6CBF, 0xAA76, 0x6CBB, 0xAA77, 0x6CE1, 0xAA78, 0x6CDB, - 0xAA79, 0x6CCA, 0xAA7A, 0x6CAC, 0xAA7B, 0x6CEF, 0xAA7C, 0x6CDC, 0xAA7D, 0x6CD6, 0xAA7E, 0x6CE0, 0xAAA1, 0x7095, 0xAAA2, 0x708E, - 0xAAA3, 0x7092, 0xAAA4, 0x708A, 0xAAA5, 0x7099, 0xAAA6, 0x722C, 0xAAA7, 0x722D, 0xAAA8, 0x7238, 0xAAA9, 0x7248, 0xAAAA, 0x7267, - 0xAAAB, 0x7269, 0xAAAC, 0x72C0, 0xAAAD, 0x72CE, 0xAAAE, 0x72D9, 0xAAAF, 0x72D7, 0xAAB0, 0x72D0, 0xAAB1, 0x73A9, 0xAAB2, 0x73A8, - 0xAAB3, 0x739F, 0xAAB4, 0x73AB, 0xAAB5, 0x73A5, 0xAAB6, 0x753D, 0xAAB7, 0x759D, 0xAAB8, 0x7599, 0xAAB9, 0x759A, 0xAABA, 0x7684, - 0xAABB, 0x76C2, 0xAABC, 0x76F2, 0xAABD, 0x76F4, 0xAABE, 0x77E5, 0xAABF, 0x77FD, 0xAAC0, 0x793E, 0xAAC1, 0x7940, 0xAAC2, 0x7941, - 0xAAC3, 0x79C9, 0xAAC4, 0x79C8, 0xAAC5, 0x7A7A, 0xAAC6, 0x7A79, 0xAAC7, 0x7AFA, 0xAAC8, 0x7CFE, 0xAAC9, 0x7F54, 0xAACA, 0x7F8C, - 0xAACB, 0x7F8B, 0xAACC, 0x8005, 0xAACD, 0x80BA, 0xAACE, 0x80A5, 0xAACF, 0x80A2, 0xAAD0, 0x80B1, 0xAAD1, 0x80A1, 0xAAD2, 0x80AB, - 0xAAD3, 0x80A9, 0xAAD4, 0x80B4, 0xAAD5, 0x80AA, 0xAAD6, 0x80AF, 0xAAD7, 0x81E5, 0xAAD8, 0x81FE, 0xAAD9, 0x820D, 0xAADA, 0x82B3, - 0xAADB, 0x829D, 0xAADC, 0x8299, 0xAADD, 0x82AD, 0xAADE, 0x82BD, 0xAADF, 0x829F, 0xAAE0, 0x82B9, 0xAAE1, 0x82B1, 0xAAE2, 0x82AC, - 0xAAE3, 0x82A5, 0xAAE4, 0x82AF, 0xAAE5, 0x82B8, 0xAAE6, 0x82A3, 0xAAE7, 0x82B0, 0xAAE8, 0x82BE, 0xAAE9, 0x82B7, 0xAAEA, 0x864E, - 0xAAEB, 0x8671, 0xAAEC, 0x521D, 0xAAED, 0x8868, 0xAAEE, 0x8ECB, 0xAAEF, 0x8FCE, 0xAAF0, 0x8FD4, 0xAAF1, 0x8FD1, 0xAAF2, 0x90B5, - 0xAAF3, 0x90B8, 0xAAF4, 0x90B1, 0xAAF5, 0x90B6, 0xAAF6, 0x91C7, 0xAAF7, 0x91D1, 0xAAF8, 0x9577, 0xAAF9, 0x9580, 0xAAFA, 0x961C, - 0xAAFB, 0x9640, 0xAAFC, 0x963F, 0xAAFD, 0x963B, 0xAAFE, 0x9644, 0xAB40, 0x9642, 0xAB41, 0x96B9, 0xAB42, 0x96E8, 0xAB43, 0x9752, - 0xAB44, 0x975E, 0xAB45, 0x4E9F, 0xAB46, 0x4EAD, 0xAB47, 0x4EAE, 0xAB48, 0x4FE1, 0xAB49, 0x4FB5, 0xAB4A, 0x4FAF, 0xAB4B, 0x4FBF, - 0xAB4C, 0x4FE0, 0xAB4D, 0x4FD1, 0xAB4E, 0x4FCF, 0xAB4F, 0x4FDD, 0xAB50, 0x4FC3, 0xAB51, 0x4FB6, 0xAB52, 0x4FD8, 0xAB53, 0x4FDF, - 0xAB54, 0x4FCA, 0xAB55, 0x4FD7, 0xAB56, 0x4FAE, 0xAB57, 0x4FD0, 0xAB58, 0x4FC4, 0xAB59, 0x4FC2, 0xAB5A, 0x4FDA, 0xAB5B, 0x4FCE, - 0xAB5C, 0x4FDE, 0xAB5D, 0x4FB7, 0xAB5E, 0x5157, 0xAB5F, 0x5192, 0xAB60, 0x5191, 0xAB61, 0x51A0, 0xAB62, 0x524E, 0xAB63, 0x5243, - 0xAB64, 0x524A, 0xAB65, 0x524D, 0xAB66, 0x524C, 0xAB67, 0x524B, 0xAB68, 0x5247, 0xAB69, 0x52C7, 0xAB6A, 0x52C9, 0xAB6B, 0x52C3, - 0xAB6C, 0x52C1, 0xAB6D, 0x530D, 0xAB6E, 0x5357, 0xAB6F, 0x537B, 0xAB70, 0x539A, 0xAB71, 0x53DB, 0xAB72, 0x54AC, 0xAB73, 0x54C0, - 0xAB74, 0x54A8, 0xAB75, 0x54CE, 0xAB76, 0x54C9, 0xAB77, 0x54B8, 0xAB78, 0x54A6, 0xAB79, 0x54B3, 0xAB7A, 0x54C7, 0xAB7B, 0x54C2, - 0xAB7C, 0x54BD, 0xAB7D, 0x54AA, 0xAB7E, 0x54C1, 0xABA1, 0x54C4, 0xABA2, 0x54C8, 0xABA3, 0x54AF, 0xABA4, 0x54AB, 0xABA5, 0x54B1, - 0xABA6, 0x54BB, 0xABA7, 0x54A9, 0xABA8, 0x54A7, 0xABA9, 0x54BF, 0xABAA, 0x56FF, 0xABAB, 0x5782, 0xABAC, 0x578B, 0xABAD, 0x57A0, - 0xABAE, 0x57A3, 0xABAF, 0x57A2, 0xABB0, 0x57CE, 0xABB1, 0x57AE, 0xABB2, 0x5793, 0xABB3, 0x5955, 0xABB4, 0x5951, 0xABB5, 0x594F, - 0xABB6, 0x594E, 0xABB7, 0x5950, 0xABB8, 0x59DC, 0xABB9, 0x59D8, 0xABBA, 0x59FF, 0xABBB, 0x59E3, 0xABBC, 0x59E8, 0xABBD, 0x5A03, - 0xABBE, 0x59E5, 0xABBF, 0x59EA, 0xABC0, 0x59DA, 0xABC1, 0x59E6, 0xABC2, 0x5A01, 0xABC3, 0x59FB, 0xABC4, 0x5B69, 0xABC5, 0x5BA3, - 0xABC6, 0x5BA6, 0xABC7, 0x5BA4, 0xABC8, 0x5BA2, 0xABC9, 0x5BA5, 0xABCA, 0x5C01, 0xABCB, 0x5C4E, 0xABCC, 0x5C4F, 0xABCD, 0x5C4D, - 0xABCE, 0x5C4B, 0xABCF, 0x5CD9, 0xABD0, 0x5CD2, 0xABD1, 0x5DF7, 0xABD2, 0x5E1D, 0xABD3, 0x5E25, 0xABD4, 0x5E1F, 0xABD5, 0x5E7D, - 0xABD6, 0x5EA0, 0xABD7, 0x5EA6, 0xABD8, 0x5EFA, 0xABD9, 0x5F08, 0xABDA, 0x5F2D, 0xABDB, 0x5F65, 0xABDC, 0x5F88, 0xABDD, 0x5F85, - 0xABDE, 0x5F8A, 0xABDF, 0x5F8B, 0xABE0, 0x5F87, 0xABE1, 0x5F8C, 0xABE2, 0x5F89, 0xABE3, 0x6012, 0xABE4, 0x601D, 0xABE5, 0x6020, - 0xABE6, 0x6025, 0xABE7, 0x600E, 0xABE8, 0x6028, 0xABE9, 0x604D, 0xABEA, 0x6070, 0xABEB, 0x6068, 0xABEC, 0x6062, 0xABED, 0x6046, - 0xABEE, 0x6043, 0xABEF, 0x606C, 0xABF0, 0x606B, 0xABF1, 0x606A, 0xABF2, 0x6064, 0xABF3, 0x6241, 0xABF4, 0x62DC, 0xABF5, 0x6316, - 0xABF6, 0x6309, 0xABF7, 0x62FC, 0xABF8, 0x62ED, 0xABF9, 0x6301, 0xABFA, 0x62EE, 0xABFB, 0x62FD, 0xABFC, 0x6307, 0xABFD, 0x62F1, - 0xABFE, 0x62F7, 0xAC40, 0x62EF, 0xAC41, 0x62EC, 0xAC42, 0x62FE, 0xAC43, 0x62F4, 0xAC44, 0x6311, 0xAC45, 0x6302, 0xAC46, 0x653F, - 0xAC47, 0x6545, 0xAC48, 0x65AB, 0xAC49, 0x65BD, 0xAC4A, 0x65E2, 0xAC4B, 0x6625, 0xAC4C, 0x662D, 0xAC4D, 0x6620, 0xAC4E, 0x6627, - 0xAC4F, 0x662F, 0xAC50, 0x661F, 0xAC51, 0x6628, 0xAC52, 0x6631, 0xAC53, 0x6624, 0xAC54, 0x66F7, 0xAC55, 0x67FF, 0xAC56, 0x67D3, - 0xAC57, 0x67F1, 0xAC58, 0x67D4, 0xAC59, 0x67D0, 0xAC5A, 0x67EC, 0xAC5B, 0x67B6, 0xAC5C, 0x67AF, 0xAC5D, 0x67F5, 0xAC5E, 0x67E9, - 0xAC5F, 0x67EF, 0xAC60, 0x67C4, 0xAC61, 0x67D1, 0xAC62, 0x67B4, 0xAC63, 0x67DA, 0xAC64, 0x67E5, 0xAC65, 0x67B8, 0xAC66, 0x67CF, - 0xAC67, 0x67DE, 0xAC68, 0x67F3, 0xAC69, 0x67B0, 0xAC6A, 0x67D9, 0xAC6B, 0x67E2, 0xAC6C, 0x67DD, 0xAC6D, 0x67D2, 0xAC6E, 0x6B6A, - 0xAC6F, 0x6B83, 0xAC70, 0x6B86, 0xAC71, 0x6BB5, 0xAC72, 0x6BD2, 0xAC73, 0x6BD7, 0xAC74, 0x6C1F, 0xAC75, 0x6CC9, 0xAC76, 0x6D0B, - 0xAC77, 0x6D32, 0xAC78, 0x6D2A, 0xAC79, 0x6D41, 0xAC7A, 0x6D25, 0xAC7B, 0x6D0C, 0xAC7C, 0x6D31, 0xAC7D, 0x6D1E, 0xAC7E, 0x6D17, - 0xACA1, 0x6D3B, 0xACA2, 0x6D3D, 0xACA3, 0x6D3E, 0xACA4, 0x6D36, 0xACA5, 0x6D1B, 0xACA6, 0x6CF5, 0xACA7, 0x6D39, 0xACA8, 0x6D27, - 0xACA9, 0x6D38, 0xACAA, 0x6D29, 0xACAB, 0x6D2E, 0xACAC, 0x6D35, 0xACAD, 0x6D0E, 0xACAE, 0x6D2B, 0xACAF, 0x70AB, 0xACB0, 0x70BA, - 0xACB1, 0x70B3, 0xACB2, 0x70AC, 0xACB3, 0x70AF, 0xACB4, 0x70AD, 0xACB5, 0x70B8, 0xACB6, 0x70AE, 0xACB7, 0x70A4, 0xACB8, 0x7230, - 0xACB9, 0x7272, 0xACBA, 0x726F, 0xACBB, 0x7274, 0xACBC, 0x72E9, 0xACBD, 0x72E0, 0xACBE, 0x72E1, 0xACBF, 0x73B7, 0xACC0, 0x73CA, - 0xACC1, 0x73BB, 0xACC2, 0x73B2, 0xACC3, 0x73CD, 0xACC4, 0x73C0, 0xACC5, 0x73B3, 0xACC6, 0x751A, 0xACC7, 0x752D, 0xACC8, 0x754F, - 0xACC9, 0x754C, 0xACCA, 0x754E, 0xACCB, 0x754B, 0xACCC, 0x75AB, 0xACCD, 0x75A4, 0xACCE, 0x75A5, 0xACCF, 0x75A2, 0xACD0, 0x75A3, - 0xACD1, 0x7678, 0xACD2, 0x7686, 0xACD3, 0x7687, 0xACD4, 0x7688, 0xACD5, 0x76C8, 0xACD6, 0x76C6, 0xACD7, 0x76C3, 0xACD8, 0x76C5, - 0xACD9, 0x7701, 0xACDA, 0x76F9, 0xACDB, 0x76F8, 0xACDC, 0x7709, 0xACDD, 0x770B, 0xACDE, 0x76FE, 0xACDF, 0x76FC, 0xACE0, 0x7707, - 0xACE1, 0x77DC, 0xACE2, 0x7802, 0xACE3, 0x7814, 0xACE4, 0x780C, 0xACE5, 0x780D, 0xACE6, 0x7946, 0xACE7, 0x7949, 0xACE8, 0x7948, - 0xACE9, 0x7947, 0xACEA, 0x79B9, 0xACEB, 0x79BA, 0xACEC, 0x79D1, 0xACED, 0x79D2, 0xACEE, 0x79CB, 0xACEF, 0x7A7F, 0xACF0, 0x7A81, - 0xACF1, 0x7AFF, 0xACF2, 0x7AFD, 0xACF3, 0x7C7D, 0xACF4, 0x7D02, 0xACF5, 0x7D05, 0xACF6, 0x7D00, 0xACF7, 0x7D09, 0xACF8, 0x7D07, - 0xACF9, 0x7D04, 0xACFA, 0x7D06, 0xACFB, 0x7F38, 0xACFC, 0x7F8E, 0xACFD, 0x7FBF, 0xACFE, 0x8004, 0xAD40, 0x8010, 0xAD41, 0x800D, - 0xAD42, 0x8011, 0xAD43, 0x8036, 0xAD44, 0x80D6, 0xAD45, 0x80E5, 0xAD46, 0x80DA, 0xAD47, 0x80C3, 0xAD48, 0x80C4, 0xAD49, 0x80CC, - 0xAD4A, 0x80E1, 0xAD4B, 0x80DB, 0xAD4C, 0x80CE, 0xAD4D, 0x80DE, 0xAD4E, 0x80E4, 0xAD4F, 0x80DD, 0xAD50, 0x81F4, 0xAD51, 0x8222, - 0xAD52, 0x82E7, 0xAD53, 0x8303, 0xAD54, 0x8305, 0xAD55, 0x82E3, 0xAD56, 0x82DB, 0xAD57, 0x82E6, 0xAD58, 0x8304, 0xAD59, 0x82E5, - 0xAD5A, 0x8302, 0xAD5B, 0x8309, 0xAD5C, 0x82D2, 0xAD5D, 0x82D7, 0xAD5E, 0x82F1, 0xAD5F, 0x8301, 0xAD60, 0x82DC, 0xAD61, 0x82D4, - 0xAD62, 0x82D1, 0xAD63, 0x82DE, 0xAD64, 0x82D3, 0xAD65, 0x82DF, 0xAD66, 0x82EF, 0xAD67, 0x8306, 0xAD68, 0x8650, 0xAD69, 0x8679, - 0xAD6A, 0x867B, 0xAD6B, 0x867A, 0xAD6C, 0x884D, 0xAD6D, 0x886B, 0xAD6E, 0x8981, 0xAD6F, 0x89D4, 0xAD70, 0x8A08, 0xAD71, 0x8A02, - 0xAD72, 0x8A03, 0xAD73, 0x8C9E, 0xAD74, 0x8CA0, 0xAD75, 0x8D74, 0xAD76, 0x8D73, 0xAD77, 0x8DB4, 0xAD78, 0x8ECD, 0xAD79, 0x8ECC, - 0xAD7A, 0x8FF0, 0xAD7B, 0x8FE6, 0xAD7C, 0x8FE2, 0xAD7D, 0x8FEA, 0xAD7E, 0x8FE5, 0xADA1, 0x8FED, 0xADA2, 0x8FEB, 0xADA3, 0x8FE4, - 0xADA4, 0x8FE8, 0xADA5, 0x90CA, 0xADA6, 0x90CE, 0xADA7, 0x90C1, 0xADA8, 0x90C3, 0xADA9, 0x914B, 0xADAA, 0x914A, 0xADAB, 0x91CD, - 0xADAC, 0x9582, 0xADAD, 0x9650, 0xADAE, 0x964B, 0xADAF, 0x964C, 0xADB0, 0x964D, 0xADB1, 0x9762, 0xADB2, 0x9769, 0xADB3, 0x97CB, - 0xADB4, 0x97ED, 0xADB5, 0x97F3, 0xADB6, 0x9801, 0xADB7, 0x98A8, 0xADB8, 0x98DB, 0xADB9, 0x98DF, 0xADBA, 0x9996, 0xADBB, 0x9999, - 0xADBC, 0x4E58, 0xADBD, 0x4EB3, 0xADBE, 0x500C, 0xADBF, 0x500D, 0xADC0, 0x5023, 0xADC1, 0x4FEF, 0xADC2, 0x5026, 0xADC3, 0x5025, - 0xADC4, 0x4FF8, 0xADC5, 0x5029, 0xADC6, 0x5016, 0xADC7, 0x5006, 0xADC8, 0x503C, 0xADC9, 0x501F, 0xADCA, 0x501A, 0xADCB, 0x5012, - 0xADCC, 0x5011, 0xADCD, 0x4FFA, 0xADCE, 0x5000, 0xADCF, 0x5014, 0xADD0, 0x5028, 0xADD1, 0x4FF1, 0xADD2, 0x5021, 0xADD3, 0x500B, - 0xADD4, 0x5019, 0xADD5, 0x5018, 0xADD6, 0x4FF3, 0xADD7, 0x4FEE, 0xADD8, 0x502D, 0xADD9, 0x502A, 0xADDA, 0x4FFE, 0xADDB, 0x502B, - 0xADDC, 0x5009, 0xADDD, 0x517C, 0xADDE, 0x51A4, 0xADDF, 0x51A5, 0xADE0, 0x51A2, 0xADE1, 0x51CD, 0xADE2, 0x51CC, 0xADE3, 0x51C6, - 0xADE4, 0x51CB, 0xADE5, 0x5256, 0xADE6, 0x525C, 0xADE7, 0x5254, 0xADE8, 0x525B, 0xADE9, 0x525D, 0xADEA, 0x532A, 0xADEB, 0x537F, - 0xADEC, 0x539F, 0xADED, 0x539D, 0xADEE, 0x53DF, 0xADEF, 0x54E8, 0xADF0, 0x5510, 0xADF1, 0x5501, 0xADF2, 0x5537, 0xADF3, 0x54FC, - 0xADF4, 0x54E5, 0xADF5, 0x54F2, 0xADF6, 0x5506, 0xADF7, 0x54FA, 0xADF8, 0x5514, 0xADF9, 0x54E9, 0xADFA, 0x54ED, 0xADFB, 0x54E1, - 0xADFC, 0x5509, 0xADFD, 0x54EE, 0xADFE, 0x54EA, 0xAE40, 0x54E6, 0xAE41, 0x5527, 0xAE42, 0x5507, 0xAE43, 0x54FD, 0xAE44, 0x550F, - 0xAE45, 0x5703, 0xAE46, 0x5704, 0xAE47, 0x57C2, 0xAE48, 0x57D4, 0xAE49, 0x57CB, 0xAE4A, 0x57C3, 0xAE4B, 0x5809, 0xAE4C, 0x590F, - 0xAE4D, 0x5957, 0xAE4E, 0x5958, 0xAE4F, 0x595A, 0xAE50, 0x5A11, 0xAE51, 0x5A18, 0xAE52, 0x5A1C, 0xAE53, 0x5A1F, 0xAE54, 0x5A1B, - 0xAE55, 0x5A13, 0xAE56, 0x59EC, 0xAE57, 0x5A20, 0xAE58, 0x5A23, 0xAE59, 0x5A29, 0xAE5A, 0x5A25, 0xAE5B, 0x5A0C, 0xAE5C, 0x5A09, - 0xAE5D, 0x5B6B, 0xAE5E, 0x5C58, 0xAE5F, 0x5BB0, 0xAE60, 0x5BB3, 0xAE61, 0x5BB6, 0xAE62, 0x5BB4, 0xAE63, 0x5BAE, 0xAE64, 0x5BB5, - 0xAE65, 0x5BB9, 0xAE66, 0x5BB8, 0xAE67, 0x5C04, 0xAE68, 0x5C51, 0xAE69, 0x5C55, 0xAE6A, 0x5C50, 0xAE6B, 0x5CED, 0xAE6C, 0x5CFD, - 0xAE6D, 0x5CFB, 0xAE6E, 0x5CEA, 0xAE6F, 0x5CE8, 0xAE70, 0x5CF0, 0xAE71, 0x5CF6, 0xAE72, 0x5D01, 0xAE73, 0x5CF4, 0xAE74, 0x5DEE, - 0xAE75, 0x5E2D, 0xAE76, 0x5E2B, 0xAE77, 0x5EAB, 0xAE78, 0x5EAD, 0xAE79, 0x5EA7, 0xAE7A, 0x5F31, 0xAE7B, 0x5F92, 0xAE7C, 0x5F91, - 0xAE7D, 0x5F90, 0xAE7E, 0x6059, 0xAEA1, 0x6063, 0xAEA2, 0x6065, 0xAEA3, 0x6050, 0xAEA4, 0x6055, 0xAEA5, 0x606D, 0xAEA6, 0x6069, - 0xAEA7, 0x606F, 0xAEA8, 0x6084, 0xAEA9, 0x609F, 0xAEAA, 0x609A, 0xAEAB, 0x608D, 0xAEAC, 0x6094, 0xAEAD, 0x608C, 0xAEAE, 0x6085, - 0xAEAF, 0x6096, 0xAEB0, 0x6247, 0xAEB1, 0x62F3, 0xAEB2, 0x6308, 0xAEB3, 0x62FF, 0xAEB4, 0x634E, 0xAEB5, 0x633E, 0xAEB6, 0x632F, - 0xAEB7, 0x6355, 0xAEB8, 0x6342, 0xAEB9, 0x6346, 0xAEBA, 0x634F, 0xAEBB, 0x6349, 0xAEBC, 0x633A, 0xAEBD, 0x6350, 0xAEBE, 0x633D, - 0xAEBF, 0x632A, 0xAEC0, 0x632B, 0xAEC1, 0x6328, 0xAEC2, 0x634D, 0xAEC3, 0x634C, 0xAEC4, 0x6548, 0xAEC5, 0x6549, 0xAEC6, 0x6599, - 0xAEC7, 0x65C1, 0xAEC8, 0x65C5, 0xAEC9, 0x6642, 0xAECA, 0x6649, 0xAECB, 0x664F, 0xAECC, 0x6643, 0xAECD, 0x6652, 0xAECE, 0x664C, - 0xAECF, 0x6645, 0xAED0, 0x6641, 0xAED1, 0x66F8, 0xAED2, 0x6714, 0xAED3, 0x6715, 0xAED4, 0x6717, 0xAED5, 0x6821, 0xAED6, 0x6838, - 0xAED7, 0x6848, 0xAED8, 0x6846, 0xAED9, 0x6853, 0xAEDA, 0x6839, 0xAEDB, 0x6842, 0xAEDC, 0x6854, 0xAEDD, 0x6829, 0xAEDE, 0x68B3, - 0xAEDF, 0x6817, 0xAEE0, 0x684C, 0xAEE1, 0x6851, 0xAEE2, 0x683D, 0xAEE3, 0x67F4, 0xAEE4, 0x6850, 0xAEE5, 0x6840, 0xAEE6, 0x683C, - 0xAEE7, 0x6843, 0xAEE8, 0x682A, 0xAEE9, 0x6845, 0xAEEA, 0x6813, 0xAEEB, 0x6818, 0xAEEC, 0x6841, 0xAEED, 0x6B8A, 0xAEEE, 0x6B89, - 0xAEEF, 0x6BB7, 0xAEF0, 0x6C23, 0xAEF1, 0x6C27, 0xAEF2, 0x6C28, 0xAEF3, 0x6C26, 0xAEF4, 0x6C24, 0xAEF5, 0x6CF0, 0xAEF6, 0x6D6A, - 0xAEF7, 0x6D95, 0xAEF8, 0x6D88, 0xAEF9, 0x6D87, 0xAEFA, 0x6D66, 0xAEFB, 0x6D78, 0xAEFC, 0x6D77, 0xAEFD, 0x6D59, 0xAEFE, 0x6D93, - 0xAF40, 0x6D6C, 0xAF41, 0x6D89, 0xAF42, 0x6D6E, 0xAF43, 0x6D5A, 0xAF44, 0x6D74, 0xAF45, 0x6D69, 0xAF46, 0x6D8C, 0xAF47, 0x6D8A, - 0xAF48, 0x6D79, 0xAF49, 0x6D85, 0xAF4A, 0x6D65, 0xAF4B, 0x6D94, 0xAF4C, 0x70CA, 0xAF4D, 0x70D8, 0xAF4E, 0x70E4, 0xAF4F, 0x70D9, - 0xAF50, 0x70C8, 0xAF51, 0x70CF, 0xAF52, 0x7239, 0xAF53, 0x7279, 0xAF54, 0x72FC, 0xAF55, 0x72F9, 0xAF56, 0x72FD, 0xAF57, 0x72F8, - 0xAF58, 0x72F7, 0xAF59, 0x7386, 0xAF5A, 0x73ED, 0xAF5B, 0x7409, 0xAF5C, 0x73EE, 0xAF5D, 0x73E0, 0xAF5E, 0x73EA, 0xAF5F, 0x73DE, - 0xAF60, 0x7554, 0xAF61, 0x755D, 0xAF62, 0x755C, 0xAF63, 0x755A, 0xAF64, 0x7559, 0xAF65, 0x75BE, 0xAF66, 0x75C5, 0xAF67, 0x75C7, - 0xAF68, 0x75B2, 0xAF69, 0x75B3, 0xAF6A, 0x75BD, 0xAF6B, 0x75BC, 0xAF6C, 0x75B9, 0xAF6D, 0x75C2, 0xAF6E, 0x75B8, 0xAF6F, 0x768B, - 0xAF70, 0x76B0, 0xAF71, 0x76CA, 0xAF72, 0x76CD, 0xAF73, 0x76CE, 0xAF74, 0x7729, 0xAF75, 0x771F, 0xAF76, 0x7720, 0xAF77, 0x7728, - 0xAF78, 0x77E9, 0xAF79, 0x7830, 0xAF7A, 0x7827, 0xAF7B, 0x7838, 0xAF7C, 0x781D, 0xAF7D, 0x7834, 0xAF7E, 0x7837, 0xAFA1, 0x7825, - 0xAFA2, 0x782D, 0xAFA3, 0x7820, 0xAFA4, 0x781F, 0xAFA5, 0x7832, 0xAFA6, 0x7955, 0xAFA7, 0x7950, 0xAFA8, 0x7960, 0xAFA9, 0x795F, - 0xAFAA, 0x7956, 0xAFAB, 0x795E, 0xAFAC, 0x795D, 0xAFAD, 0x7957, 0xAFAE, 0x795A, 0xAFAF, 0x79E4, 0xAFB0, 0x79E3, 0xAFB1, 0x79E7, - 0xAFB2, 0x79DF, 0xAFB3, 0x79E6, 0xAFB4, 0x79E9, 0xAFB5, 0x79D8, 0xAFB6, 0x7A84, 0xAFB7, 0x7A88, 0xAFB8, 0x7AD9, 0xAFB9, 0x7B06, - 0xAFBA, 0x7B11, 0xAFBB, 0x7C89, 0xAFBC, 0x7D21, 0xAFBD, 0x7D17, 0xAFBE, 0x7D0B, 0xAFBF, 0x7D0A, 0xAFC0, 0x7D20, 0xAFC1, 0x7D22, - 0xAFC2, 0x7D14, 0xAFC3, 0x7D10, 0xAFC4, 0x7D15, 0xAFC5, 0x7D1A, 0xAFC6, 0x7D1C, 0xAFC7, 0x7D0D, 0xAFC8, 0x7D19, 0xAFC9, 0x7D1B, - 0xAFCA, 0x7F3A, 0xAFCB, 0x7F5F, 0xAFCC, 0x7F94, 0xAFCD, 0x7FC5, 0xAFCE, 0x7FC1, 0xAFCF, 0x8006, 0xAFD0, 0x8018, 0xAFD1, 0x8015, - 0xAFD2, 0x8019, 0xAFD3, 0x8017, 0xAFD4, 0x803D, 0xAFD5, 0x803F, 0xAFD6, 0x80F1, 0xAFD7, 0x8102, 0xAFD8, 0x80F0, 0xAFD9, 0x8105, - 0xAFDA, 0x80ED, 0xAFDB, 0x80F4, 0xAFDC, 0x8106, 0xAFDD, 0x80F8, 0xAFDE, 0x80F3, 0xAFDF, 0x8108, 0xAFE0, 0x80FD, 0xAFE1, 0x810A, - 0xAFE2, 0x80FC, 0xAFE3, 0x80EF, 0xAFE4, 0x81ED, 0xAFE5, 0x81EC, 0xAFE6, 0x8200, 0xAFE7, 0x8210, 0xAFE8, 0x822A, 0xAFE9, 0x822B, - 0xAFEA, 0x8228, 0xAFEB, 0x822C, 0xAFEC, 0x82BB, 0xAFED, 0x832B, 0xAFEE, 0x8352, 0xAFEF, 0x8354, 0xAFF0, 0x834A, 0xAFF1, 0x8338, - 0xAFF2, 0x8350, 0xAFF3, 0x8349, 0xAFF4, 0x8335, 0xAFF5, 0x8334, 0xAFF6, 0x834F, 0xAFF7, 0x8332, 0xAFF8, 0x8339, 0xAFF9, 0x8336, - 0xAFFA, 0x8317, 0xAFFB, 0x8340, 0xAFFC, 0x8331, 0xAFFD, 0x8328, 0xAFFE, 0x8343, 0xB040, 0x8654, 0xB041, 0x868A, 0xB042, 0x86AA, - 0xB043, 0x8693, 0xB044, 0x86A4, 0xB045, 0x86A9, 0xB046, 0x868C, 0xB047, 0x86A3, 0xB048, 0x869C, 0xB049, 0x8870, 0xB04A, 0x8877, - 0xB04B, 0x8881, 0xB04C, 0x8882, 0xB04D, 0x887D, 0xB04E, 0x8879, 0xB04F, 0x8A18, 0xB050, 0x8A10, 0xB051, 0x8A0E, 0xB052, 0x8A0C, - 0xB053, 0x8A15, 0xB054, 0x8A0A, 0xB055, 0x8A17, 0xB056, 0x8A13, 0xB057, 0x8A16, 0xB058, 0x8A0F, 0xB059, 0x8A11, 0xB05A, 0x8C48, - 0xB05B, 0x8C7A, 0xB05C, 0x8C79, 0xB05D, 0x8CA1, 0xB05E, 0x8CA2, 0xB05F, 0x8D77, 0xB060, 0x8EAC, 0xB061, 0x8ED2, 0xB062, 0x8ED4, - 0xB063, 0x8ECF, 0xB064, 0x8FB1, 0xB065, 0x9001, 0xB066, 0x9006, 0xB067, 0x8FF7, 0xB068, 0x9000, 0xB069, 0x8FFA, 0xB06A, 0x8FF4, - 0xB06B, 0x9003, 0xB06C, 0x8FFD, 0xB06D, 0x9005, 0xB06E, 0x8FF8, 0xB06F, 0x9095, 0xB070, 0x90E1, 0xB071, 0x90DD, 0xB072, 0x90E2, - 0xB073, 0x9152, 0xB074, 0x914D, 0xB075, 0x914C, 0xB076, 0x91D8, 0xB077, 0x91DD, 0xB078, 0x91D7, 0xB079, 0x91DC, 0xB07A, 0x91D9, - 0xB07B, 0x9583, 0xB07C, 0x9662, 0xB07D, 0x9663, 0xB07E, 0x9661, 0xB0A1, 0x965B, 0xB0A2, 0x965D, 0xB0A3, 0x9664, 0xB0A4, 0x9658, - 0xB0A5, 0x965E, 0xB0A6, 0x96BB, 0xB0A7, 0x98E2, 0xB0A8, 0x99AC, 0xB0A9, 0x9AA8, 0xB0AA, 0x9AD8, 0xB0AB, 0x9B25, 0xB0AC, 0x9B32, - 0xB0AD, 0x9B3C, 0xB0AE, 0x4E7E, 0xB0AF, 0x507A, 0xB0B0, 0x507D, 0xB0B1, 0x505C, 0xB0B2, 0x5047, 0xB0B3, 0x5043, 0xB0B4, 0x504C, - 0xB0B5, 0x505A, 0xB0B6, 0x5049, 0xB0B7, 0x5065, 0xB0B8, 0x5076, 0xB0B9, 0x504E, 0xB0BA, 0x5055, 0xB0BB, 0x5075, 0xB0BC, 0x5074, - 0xB0BD, 0x5077, 0xB0BE, 0x504F, 0xB0BF, 0x500F, 0xB0C0, 0x506F, 0xB0C1, 0x506D, 0xB0C2, 0x515C, 0xB0C3, 0x5195, 0xB0C4, 0x51F0, - 0xB0C5, 0x526A, 0xB0C6, 0x526F, 0xB0C7, 0x52D2, 0xB0C8, 0x52D9, 0xB0C9, 0x52D8, 0xB0CA, 0x52D5, 0xB0CB, 0x5310, 0xB0CC, 0x530F, - 0xB0CD, 0x5319, 0xB0CE, 0x533F, 0xB0CF, 0x5340, 0xB0D0, 0x533E, 0xB0D1, 0x53C3, 0xB0D2, 0x66FC, 0xB0D3, 0x5546, 0xB0D4, 0x556A, - 0xB0D5, 0x5566, 0xB0D6, 0x5544, 0xB0D7, 0x555E, 0xB0D8, 0x5561, 0xB0D9, 0x5543, 0xB0DA, 0x554A, 0xB0DB, 0x5531, 0xB0DC, 0x5556, - 0xB0DD, 0x554F, 0xB0DE, 0x5555, 0xB0DF, 0x552F, 0xB0E0, 0x5564, 0xB0E1, 0x5538, 0xB0E2, 0x552E, 0xB0E3, 0x555C, 0xB0E4, 0x552C, - 0xB0E5, 0x5563, 0xB0E6, 0x5533, 0xB0E7, 0x5541, 0xB0E8, 0x5557, 0xB0E9, 0x5708, 0xB0EA, 0x570B, 0xB0EB, 0x5709, 0xB0EC, 0x57DF, - 0xB0ED, 0x5805, 0xB0EE, 0x580A, 0xB0EF, 0x5806, 0xB0F0, 0x57E0, 0xB0F1, 0x57E4, 0xB0F2, 0x57FA, 0xB0F3, 0x5802, 0xB0F4, 0x5835, - 0xB0F5, 0x57F7, 0xB0F6, 0x57F9, 0xB0F7, 0x5920, 0xB0F8, 0x5962, 0xB0F9, 0x5A36, 0xB0FA, 0x5A41, 0xB0FB, 0x5A49, 0xB0FC, 0x5A66, - 0xB0FD, 0x5A6A, 0xB0FE, 0x5A40, 0xB140, 0x5A3C, 0xB141, 0x5A62, 0xB142, 0x5A5A, 0xB143, 0x5A46, 0xB144, 0x5A4A, 0xB145, 0x5B70, - 0xB146, 0x5BC7, 0xB147, 0x5BC5, 0xB148, 0x5BC4, 0xB149, 0x5BC2, 0xB14A, 0x5BBF, 0xB14B, 0x5BC6, 0xB14C, 0x5C09, 0xB14D, 0x5C08, - 0xB14E, 0x5C07, 0xB14F, 0x5C60, 0xB150, 0x5C5C, 0xB151, 0x5C5D, 0xB152, 0x5D07, 0xB153, 0x5D06, 0xB154, 0x5D0E, 0xB155, 0x5D1B, - 0xB156, 0x5D16, 0xB157, 0x5D22, 0xB158, 0x5D11, 0xB159, 0x5D29, 0xB15A, 0x5D14, 0xB15B, 0x5D19, 0xB15C, 0x5D24, 0xB15D, 0x5D27, - 0xB15E, 0x5D17, 0xB15F, 0x5DE2, 0xB160, 0x5E38, 0xB161, 0x5E36, 0xB162, 0x5E33, 0xB163, 0x5E37, 0xB164, 0x5EB7, 0xB165, 0x5EB8, - 0xB166, 0x5EB6, 0xB167, 0x5EB5, 0xB168, 0x5EBE, 0xB169, 0x5F35, 0xB16A, 0x5F37, 0xB16B, 0x5F57, 0xB16C, 0x5F6C, 0xB16D, 0x5F69, - 0xB16E, 0x5F6B, 0xB16F, 0x5F97, 0xB170, 0x5F99, 0xB171, 0x5F9E, 0xB172, 0x5F98, 0xB173, 0x5FA1, 0xB174, 0x5FA0, 0xB175, 0x5F9C, - 0xB176, 0x607F, 0xB177, 0x60A3, 0xB178, 0x6089, 0xB179, 0x60A0, 0xB17A, 0x60A8, 0xB17B, 0x60CB, 0xB17C, 0x60B4, 0xB17D, 0x60E6, - 0xB17E, 0x60BD, 0xB1A1, 0x60C5, 0xB1A2, 0x60BB, 0xB1A3, 0x60B5, 0xB1A4, 0x60DC, 0xB1A5, 0x60BC, 0xB1A6, 0x60D8, 0xB1A7, 0x60D5, - 0xB1A8, 0x60C6, 0xB1A9, 0x60DF, 0xB1AA, 0x60B8, 0xB1AB, 0x60DA, 0xB1AC, 0x60C7, 0xB1AD, 0x621A, 0xB1AE, 0x621B, 0xB1AF, 0x6248, - 0xB1B0, 0x63A0, 0xB1B1, 0x63A7, 0xB1B2, 0x6372, 0xB1B3, 0x6396, 0xB1B4, 0x63A2, 0xB1B5, 0x63A5, 0xB1B6, 0x6377, 0xB1B7, 0x6367, - 0xB1B8, 0x6398, 0xB1B9, 0x63AA, 0xB1BA, 0x6371, 0xB1BB, 0x63A9, 0xB1BC, 0x6389, 0xB1BD, 0x6383, 0xB1BE, 0x639B, 0xB1BF, 0x636B, - 0xB1C0, 0x63A8, 0xB1C1, 0x6384, 0xB1C2, 0x6388, 0xB1C3, 0x6399, 0xB1C4, 0x63A1, 0xB1C5, 0x63AC, 0xB1C6, 0x6392, 0xB1C7, 0x638F, - 0xB1C8, 0x6380, 0xB1C9, 0x637B, 0xB1CA, 0x6369, 0xB1CB, 0x6368, 0xB1CC, 0x637A, 0xB1CD, 0x655D, 0xB1CE, 0x6556, 0xB1CF, 0x6551, - 0xB1D0, 0x6559, 0xB1D1, 0x6557, 0xB1D2, 0x555F, 0xB1D3, 0x654F, 0xB1D4, 0x6558, 0xB1D5, 0x6555, 0xB1D6, 0x6554, 0xB1D7, 0x659C, - 0xB1D8, 0x659B, 0xB1D9, 0x65AC, 0xB1DA, 0x65CF, 0xB1DB, 0x65CB, 0xB1DC, 0x65CC, 0xB1DD, 0x65CE, 0xB1DE, 0x665D, 0xB1DF, 0x665A, - 0xB1E0, 0x6664, 0xB1E1, 0x6668, 0xB1E2, 0x6666, 0xB1E3, 0x665E, 0xB1E4, 0x66F9, 0xB1E5, 0x52D7, 0xB1E6, 0x671B, 0xB1E7, 0x6881, - 0xB1E8, 0x68AF, 0xB1E9, 0x68A2, 0xB1EA, 0x6893, 0xB1EB, 0x68B5, 0xB1EC, 0x687F, 0xB1ED, 0x6876, 0xB1EE, 0x68B1, 0xB1EF, 0x68A7, - 0xB1F0, 0x6897, 0xB1F1, 0x68B0, 0xB1F2, 0x6883, 0xB1F3, 0x68C4, 0xB1F4, 0x68AD, 0xB1F5, 0x6886, 0xB1F6, 0x6885, 0xB1F7, 0x6894, - 0xB1F8, 0x689D, 0xB1F9, 0x68A8, 0xB1FA, 0x689F, 0xB1FB, 0x68A1, 0xB1FC, 0x6882, 0xB1FD, 0x6B32, 0xB1FE, 0x6BBA, 0xB240, 0x6BEB, - 0xB241, 0x6BEC, 0xB242, 0x6C2B, 0xB243, 0x6D8E, 0xB244, 0x6DBC, 0xB245, 0x6DF3, 0xB246, 0x6DD9, 0xB247, 0x6DB2, 0xB248, 0x6DE1, - 0xB249, 0x6DCC, 0xB24A, 0x6DE4, 0xB24B, 0x6DFB, 0xB24C, 0x6DFA, 0xB24D, 0x6E05, 0xB24E, 0x6DC7, 0xB24F, 0x6DCB, 0xB250, 0x6DAF, - 0xB251, 0x6DD1, 0xB252, 0x6DAE, 0xB253, 0x6DDE, 0xB254, 0x6DF9, 0xB255, 0x6DB8, 0xB256, 0x6DF7, 0xB257, 0x6DF5, 0xB258, 0x6DC5, - 0xB259, 0x6DD2, 0xB25A, 0x6E1A, 0xB25B, 0x6DB5, 0xB25C, 0x6DDA, 0xB25D, 0x6DEB, 0xB25E, 0x6DD8, 0xB25F, 0x6DEA, 0xB260, 0x6DF1, - 0xB261, 0x6DEE, 0xB262, 0x6DE8, 0xB263, 0x6DC6, 0xB264, 0x6DC4, 0xB265, 0x6DAA, 0xB266, 0x6DEC, 0xB267, 0x6DBF, 0xB268, 0x6DE6, - 0xB269, 0x70F9, 0xB26A, 0x7109, 0xB26B, 0x710A, 0xB26C, 0x70FD, 0xB26D, 0x70EF, 0xB26E, 0x723D, 0xB26F, 0x727D, 0xB270, 0x7281, - 0xB271, 0x731C, 0xB272, 0x731B, 0xB273, 0x7316, 0xB274, 0x7313, 0xB275, 0x7319, 0xB276, 0x7387, 0xB277, 0x7405, 0xB278, 0x740A, - 0xB279, 0x7403, 0xB27A, 0x7406, 0xB27B, 0x73FE, 0xB27C, 0x740D, 0xB27D, 0x74E0, 0xB27E, 0x74F6, 0xB2A1, 0x74F7, 0xB2A2, 0x751C, - 0xB2A3, 0x7522, 0xB2A4, 0x7565, 0xB2A5, 0x7566, 0xB2A6, 0x7562, 0xB2A7, 0x7570, 0xB2A8, 0x758F, 0xB2A9, 0x75D4, 0xB2AA, 0x75D5, - 0xB2AB, 0x75B5, 0xB2AC, 0x75CA, 0xB2AD, 0x75CD, 0xB2AE, 0x768E, 0xB2AF, 0x76D4, 0xB2B0, 0x76D2, 0xB2B1, 0x76DB, 0xB2B2, 0x7737, - 0xB2B3, 0x773E, 0xB2B4, 0x773C, 0xB2B5, 0x7736, 0xB2B6, 0x7738, 0xB2B7, 0x773A, 0xB2B8, 0x786B, 0xB2B9, 0x7843, 0xB2BA, 0x784E, - 0xB2BB, 0x7965, 0xB2BC, 0x7968, 0xB2BD, 0x796D, 0xB2BE, 0x79FB, 0xB2BF, 0x7A92, 0xB2C0, 0x7A95, 0xB2C1, 0x7B20, 0xB2C2, 0x7B28, - 0xB2C3, 0x7B1B, 0xB2C4, 0x7B2C, 0xB2C5, 0x7B26, 0xB2C6, 0x7B19, 0xB2C7, 0x7B1E, 0xB2C8, 0x7B2E, 0xB2C9, 0x7C92, 0xB2CA, 0x7C97, - 0xB2CB, 0x7C95, 0xB2CC, 0x7D46, 0xB2CD, 0x7D43, 0xB2CE, 0x7D71, 0xB2CF, 0x7D2E, 0xB2D0, 0x7D39, 0xB2D1, 0x7D3C, 0xB2D2, 0x7D40, - 0xB2D3, 0x7D30, 0xB2D4, 0x7D33, 0xB2D5, 0x7D44, 0xB2D6, 0x7D2F, 0xB2D7, 0x7D42, 0xB2D8, 0x7D32, 0xB2D9, 0x7D31, 0xB2DA, 0x7F3D, - 0xB2DB, 0x7F9E, 0xB2DC, 0x7F9A, 0xB2DD, 0x7FCC, 0xB2DE, 0x7FCE, 0xB2DF, 0x7FD2, 0xB2E0, 0x801C, 0xB2E1, 0x804A, 0xB2E2, 0x8046, - 0xB2E3, 0x812F, 0xB2E4, 0x8116, 0xB2E5, 0x8123, 0xB2E6, 0x812B, 0xB2E7, 0x8129, 0xB2E8, 0x8130, 0xB2E9, 0x8124, 0xB2EA, 0x8202, - 0xB2EB, 0x8235, 0xB2EC, 0x8237, 0xB2ED, 0x8236, 0xB2EE, 0x8239, 0xB2EF, 0x838E, 0xB2F0, 0x839E, 0xB2F1, 0x8398, 0xB2F2, 0x8378, - 0xB2F3, 0x83A2, 0xB2F4, 0x8396, 0xB2F5, 0x83BD, 0xB2F6, 0x83AB, 0xB2F7, 0x8392, 0xB2F8, 0x838A, 0xB2F9, 0x8393, 0xB2FA, 0x8389, - 0xB2FB, 0x83A0, 0xB2FC, 0x8377, 0xB2FD, 0x837B, 0xB2FE, 0x837C, 0xB340, 0x8386, 0xB341, 0x83A7, 0xB342, 0x8655, 0xB343, 0x5F6A, - 0xB344, 0x86C7, 0xB345, 0x86C0, 0xB346, 0x86B6, 0xB347, 0x86C4, 0xB348, 0x86B5, 0xB349, 0x86C6, 0xB34A, 0x86CB, 0xB34B, 0x86B1, - 0xB34C, 0x86AF, 0xB34D, 0x86C9, 0xB34E, 0x8853, 0xB34F, 0x889E, 0xB350, 0x8888, 0xB351, 0x88AB, 0xB352, 0x8892, 0xB353, 0x8896, - 0xB354, 0x888D, 0xB355, 0x888B, 0xB356, 0x8993, 0xB357, 0x898F, 0xB358, 0x8A2A, 0xB359, 0x8A1D, 0xB35A, 0x8A23, 0xB35B, 0x8A25, - 0xB35C, 0x8A31, 0xB35D, 0x8A2D, 0xB35E, 0x8A1F, 0xB35F, 0x8A1B, 0xB360, 0x8A22, 0xB361, 0x8C49, 0xB362, 0x8C5A, 0xB363, 0x8CA9, - 0xB364, 0x8CAC, 0xB365, 0x8CAB, 0xB366, 0x8CA8, 0xB367, 0x8CAA, 0xB368, 0x8CA7, 0xB369, 0x8D67, 0xB36A, 0x8D66, 0xB36B, 0x8DBE, - 0xB36C, 0x8DBA, 0xB36D, 0x8EDB, 0xB36E, 0x8EDF, 0xB36F, 0x9019, 0xB370, 0x900D, 0xB371, 0x901A, 0xB372, 0x9017, 0xB373, 0x9023, - 0xB374, 0x901F, 0xB375, 0x901D, 0xB376, 0x9010, 0xB377, 0x9015, 0xB378, 0x901E, 0xB379, 0x9020, 0xB37A, 0x900F, 0xB37B, 0x9022, - 0xB37C, 0x9016, 0xB37D, 0x901B, 0xB37E, 0x9014, 0xB3A1, 0x90E8, 0xB3A2, 0x90ED, 0xB3A3, 0x90FD, 0xB3A4, 0x9157, 0xB3A5, 0x91CE, - 0xB3A6, 0x91F5, 0xB3A7, 0x91E6, 0xB3A8, 0x91E3, 0xB3A9, 0x91E7, 0xB3AA, 0x91ED, 0xB3AB, 0x91E9, 0xB3AC, 0x9589, 0xB3AD, 0x966A, - 0xB3AE, 0x9675, 0xB3AF, 0x9673, 0xB3B0, 0x9678, 0xB3B1, 0x9670, 0xB3B2, 0x9674, 0xB3B3, 0x9676, 0xB3B4, 0x9677, 0xB3B5, 0x966C, - 0xB3B6, 0x96C0, 0xB3B7, 0x96EA, 0xB3B8, 0x96E9, 0xB3B9, 0x7AE0, 0xB3BA, 0x7ADF, 0xB3BB, 0x9802, 0xB3BC, 0x9803, 0xB3BD, 0x9B5A, - 0xB3BE, 0x9CE5, 0xB3BF, 0x9E75, 0xB3C0, 0x9E7F, 0xB3C1, 0x9EA5, 0xB3C2, 0x9EBB, 0xB3C3, 0x50A2, 0xB3C4, 0x508D, 0xB3C5, 0x5085, - 0xB3C6, 0x5099, 0xB3C7, 0x5091, 0xB3C8, 0x5080, 0xB3C9, 0x5096, 0xB3CA, 0x5098, 0xB3CB, 0x509A, 0xB3CC, 0x6700, 0xB3CD, 0x51F1, - 0xB3CE, 0x5272, 0xB3CF, 0x5274, 0xB3D0, 0x5275, 0xB3D1, 0x5269, 0xB3D2, 0x52DE, 0xB3D3, 0x52DD, 0xB3D4, 0x52DB, 0xB3D5, 0x535A, - 0xB3D6, 0x53A5, 0xB3D7, 0x557B, 0xB3D8, 0x5580, 0xB3D9, 0x55A7, 0xB3DA, 0x557C, 0xB3DB, 0x558A, 0xB3DC, 0x559D, 0xB3DD, 0x5598, - 0xB3DE, 0x5582, 0xB3DF, 0x559C, 0xB3E0, 0x55AA, 0xB3E1, 0x5594, 0xB3E2, 0x5587, 0xB3E3, 0x558B, 0xB3E4, 0x5583, 0xB3E5, 0x55B3, - 0xB3E6, 0x55AE, 0xB3E7, 0x559F, 0xB3E8, 0x553E, 0xB3E9, 0x55B2, 0xB3EA, 0x559A, 0xB3EB, 0x55BB, 0xB3EC, 0x55AC, 0xB3ED, 0x55B1, - 0xB3EE, 0x557E, 0xB3EF, 0x5589, 0xB3F0, 0x55AB, 0xB3F1, 0x5599, 0xB3F2, 0x570D, 0xB3F3, 0x582F, 0xB3F4, 0x582A, 0xB3F5, 0x5834, - 0xB3F6, 0x5824, 0xB3F7, 0x5830, 0xB3F8, 0x5831, 0xB3F9, 0x5821, 0xB3FA, 0x581D, 0xB3FB, 0x5820, 0xB3FC, 0x58F9, 0xB3FD, 0x58FA, - 0xB3FE, 0x5960, 0xB440, 0x5A77, 0xB441, 0x5A9A, 0xB442, 0x5A7F, 0xB443, 0x5A92, 0xB444, 0x5A9B, 0xB445, 0x5AA7, 0xB446, 0x5B73, - 0xB447, 0x5B71, 0xB448, 0x5BD2, 0xB449, 0x5BCC, 0xB44A, 0x5BD3, 0xB44B, 0x5BD0, 0xB44C, 0x5C0A, 0xB44D, 0x5C0B, 0xB44E, 0x5C31, - 0xB44F, 0x5D4C, 0xB450, 0x5D50, 0xB451, 0x5D34, 0xB452, 0x5D47, 0xB453, 0x5DFD, 0xB454, 0x5E45, 0xB455, 0x5E3D, 0xB456, 0x5E40, - 0xB457, 0x5E43, 0xB458, 0x5E7E, 0xB459, 0x5ECA, 0xB45A, 0x5EC1, 0xB45B, 0x5EC2, 0xB45C, 0x5EC4, 0xB45D, 0x5F3C, 0xB45E, 0x5F6D, - 0xB45F, 0x5FA9, 0xB460, 0x5FAA, 0xB461, 0x5FA8, 0xB462, 0x60D1, 0xB463, 0x60E1, 0xB464, 0x60B2, 0xB465, 0x60B6, 0xB466, 0x60E0, - 0xB467, 0x611C, 0xB468, 0x6123, 0xB469, 0x60FA, 0xB46A, 0x6115, 0xB46B, 0x60F0, 0xB46C, 0x60FB, 0xB46D, 0x60F4, 0xB46E, 0x6168, - 0xB46F, 0x60F1, 0xB470, 0x610E, 0xB471, 0x60F6, 0xB472, 0x6109, 0xB473, 0x6100, 0xB474, 0x6112, 0xB475, 0x621F, 0xB476, 0x6249, - 0xB477, 0x63A3, 0xB478, 0x638C, 0xB479, 0x63CF, 0xB47A, 0x63C0, 0xB47B, 0x63E9, 0xB47C, 0x63C9, 0xB47D, 0x63C6, 0xB47E, 0x63CD, - 0xB4A1, 0x63D2, 0xB4A2, 0x63E3, 0xB4A3, 0x63D0, 0xB4A4, 0x63E1, 0xB4A5, 0x63D6, 0xB4A6, 0x63ED, 0xB4A7, 0x63EE, 0xB4A8, 0x6376, - 0xB4A9, 0x63F4, 0xB4AA, 0x63EA, 0xB4AB, 0x63DB, 0xB4AC, 0x6452, 0xB4AD, 0x63DA, 0xB4AE, 0x63F9, 0xB4AF, 0x655E, 0xB4B0, 0x6566, - 0xB4B1, 0x6562, 0xB4B2, 0x6563, 0xB4B3, 0x6591, 0xB4B4, 0x6590, 0xB4B5, 0x65AF, 0xB4B6, 0x666E, 0xB4B7, 0x6670, 0xB4B8, 0x6674, - 0xB4B9, 0x6676, 0xB4BA, 0x666F, 0xB4BB, 0x6691, 0xB4BC, 0x667A, 0xB4BD, 0x667E, 0xB4BE, 0x6677, 0xB4BF, 0x66FE, 0xB4C0, 0x66FF, - 0xB4C1, 0x671F, 0xB4C2, 0x671D, 0xB4C3, 0x68FA, 0xB4C4, 0x68D5, 0xB4C5, 0x68E0, 0xB4C6, 0x68D8, 0xB4C7, 0x68D7, 0xB4C8, 0x6905, - 0xB4C9, 0x68DF, 0xB4CA, 0x68F5, 0xB4CB, 0x68EE, 0xB4CC, 0x68E7, 0xB4CD, 0x68F9, 0xB4CE, 0x68D2, 0xB4CF, 0x68F2, 0xB4D0, 0x68E3, - 0xB4D1, 0x68CB, 0xB4D2, 0x68CD, 0xB4D3, 0x690D, 0xB4D4, 0x6912, 0xB4D5, 0x690E, 0xB4D6, 0x68C9, 0xB4D7, 0x68DA, 0xB4D8, 0x696E, - 0xB4D9, 0x68FB, 0xB4DA, 0x6B3E, 0xB4DB, 0x6B3A, 0xB4DC, 0x6B3D, 0xB4DD, 0x6B98, 0xB4DE, 0x6B96, 0xB4DF, 0x6BBC, 0xB4E0, 0x6BEF, - 0xB4E1, 0x6C2E, 0xB4E2, 0x6C2F, 0xB4E3, 0x6C2C, 0xB4E4, 0x6E2F, 0xB4E5, 0x6E38, 0xB4E6, 0x6E54, 0xB4E7, 0x6E21, 0xB4E8, 0x6E32, - 0xB4E9, 0x6E67, 0xB4EA, 0x6E4A, 0xB4EB, 0x6E20, 0xB4EC, 0x6E25, 0xB4ED, 0x6E23, 0xB4EE, 0x6E1B, 0xB4EF, 0x6E5B, 0xB4F0, 0x6E58, - 0xB4F1, 0x6E24, 0xB4F2, 0x6E56, 0xB4F3, 0x6E6E, 0xB4F4, 0x6E2D, 0xB4F5, 0x6E26, 0xB4F6, 0x6E6F, 0xB4F7, 0x6E34, 0xB4F8, 0x6E4D, - 0xB4F9, 0x6E3A, 0xB4FA, 0x6E2C, 0xB4FB, 0x6E43, 0xB4FC, 0x6E1D, 0xB4FD, 0x6E3E, 0xB4FE, 0x6ECB, 0xB540, 0x6E89, 0xB541, 0x6E19, - 0xB542, 0x6E4E, 0xB543, 0x6E63, 0xB544, 0x6E44, 0xB545, 0x6E72, 0xB546, 0x6E69, 0xB547, 0x6E5F, 0xB548, 0x7119, 0xB549, 0x711A, - 0xB54A, 0x7126, 0xB54B, 0x7130, 0xB54C, 0x7121, 0xB54D, 0x7136, 0xB54E, 0x716E, 0xB54F, 0x711C, 0xB550, 0x724C, 0xB551, 0x7284, - 0xB552, 0x7280, 0xB553, 0x7336, 0xB554, 0x7325, 0xB555, 0x7334, 0xB556, 0x7329, 0xB557, 0x743A, 0xB558, 0x742A, 0xB559, 0x7433, - 0xB55A, 0x7422, 0xB55B, 0x7425, 0xB55C, 0x7435, 0xB55D, 0x7436, 0xB55E, 0x7434, 0xB55F, 0x742F, 0xB560, 0x741B, 0xB561, 0x7426, - 0xB562, 0x7428, 0xB563, 0x7525, 0xB564, 0x7526, 0xB565, 0x756B, 0xB566, 0x756A, 0xB567, 0x75E2, 0xB568, 0x75DB, 0xB569, 0x75E3, - 0xB56A, 0x75D9, 0xB56B, 0x75D8, 0xB56C, 0x75DE, 0xB56D, 0x75E0, 0xB56E, 0x767B, 0xB56F, 0x767C, 0xB570, 0x7696, 0xB571, 0x7693, - 0xB572, 0x76B4, 0xB573, 0x76DC, 0xB574, 0x774F, 0xB575, 0x77ED, 0xB576, 0x785D, 0xB577, 0x786C, 0xB578, 0x786F, 0xB579, 0x7A0D, - 0xB57A, 0x7A08, 0xB57B, 0x7A0B, 0xB57C, 0x7A05, 0xB57D, 0x7A00, 0xB57E, 0x7A98, 0xB5A1, 0x7A97, 0xB5A2, 0x7A96, 0xB5A3, 0x7AE5, - 0xB5A4, 0x7AE3, 0xB5A5, 0x7B49, 0xB5A6, 0x7B56, 0xB5A7, 0x7B46, 0xB5A8, 0x7B50, 0xB5A9, 0x7B52, 0xB5AA, 0x7B54, 0xB5AB, 0x7B4D, - 0xB5AC, 0x7B4B, 0xB5AD, 0x7B4F, 0xB5AE, 0x7B51, 0xB5AF, 0x7C9F, 0xB5B0, 0x7CA5, 0xB5B1, 0x7D5E, 0xB5B2, 0x7D50, 0xB5B3, 0x7D68, - 0xB5B4, 0x7D55, 0xB5B5, 0x7D2B, 0xB5B6, 0x7D6E, 0xB5B7, 0x7D72, 0xB5B8, 0x7D61, 0xB5B9, 0x7D66, 0xB5BA, 0x7D62, 0xB5BB, 0x7D70, - 0xB5BC, 0x7D73, 0xB5BD, 0x5584, 0xB5BE, 0x7FD4, 0xB5BF, 0x7FD5, 0xB5C0, 0x800B, 0xB5C1, 0x8052, 0xB5C2, 0x8085, 0xB5C3, 0x8155, - 0xB5C4, 0x8154, 0xB5C5, 0x814B, 0xB5C6, 0x8151, 0xB5C7, 0x814E, 0xB5C8, 0x8139, 0xB5C9, 0x8146, 0xB5CA, 0x813E, 0xB5CB, 0x814C, - 0xB5CC, 0x8153, 0xB5CD, 0x8174, 0xB5CE, 0x8212, 0xB5CF, 0x821C, 0xB5D0, 0x83E9, 0xB5D1, 0x8403, 0xB5D2, 0x83F8, 0xB5D3, 0x840D, - 0xB5D4, 0x83E0, 0xB5D5, 0x83C5, 0xB5D6, 0x840B, 0xB5D7, 0x83C1, 0xB5D8, 0x83EF, 0xB5D9, 0x83F1, 0xB5DA, 0x83F4, 0xB5DB, 0x8457, - 0xB5DC, 0x840A, 0xB5DD, 0x83F0, 0xB5DE, 0x840C, 0xB5DF, 0x83CC, 0xB5E0, 0x83FD, 0xB5E1, 0x83F2, 0xB5E2, 0x83CA, 0xB5E3, 0x8438, - 0xB5E4, 0x840E, 0xB5E5, 0x8404, 0xB5E6, 0x83DC, 0xB5E7, 0x8407, 0xB5E8, 0x83D4, 0xB5E9, 0x83DF, 0xB5EA, 0x865B, 0xB5EB, 0x86DF, - 0xB5EC, 0x86D9, 0xB5ED, 0x86ED, 0xB5EE, 0x86D4, 0xB5EF, 0x86DB, 0xB5F0, 0x86E4, 0xB5F1, 0x86D0, 0xB5F2, 0x86DE, 0xB5F3, 0x8857, - 0xB5F4, 0x88C1, 0xB5F5, 0x88C2, 0xB5F6, 0x88B1, 0xB5F7, 0x8983, 0xB5F8, 0x8996, 0xB5F9, 0x8A3B, 0xB5FA, 0x8A60, 0xB5FB, 0x8A55, - 0xB5FC, 0x8A5E, 0xB5FD, 0x8A3C, 0xB5FE, 0x8A41, 0xB640, 0x8A54, 0xB641, 0x8A5B, 0xB642, 0x8A50, 0xB643, 0x8A46, 0xB644, 0x8A34, - 0xB645, 0x8A3A, 0xB646, 0x8A36, 0xB647, 0x8A56, 0xB648, 0x8C61, 0xB649, 0x8C82, 0xB64A, 0x8CAF, 0xB64B, 0x8CBC, 0xB64C, 0x8CB3, - 0xB64D, 0x8CBD, 0xB64E, 0x8CC1, 0xB64F, 0x8CBB, 0xB650, 0x8CC0, 0xB651, 0x8CB4, 0xB652, 0x8CB7, 0xB653, 0x8CB6, 0xB654, 0x8CBF, - 0xB655, 0x8CB8, 0xB656, 0x8D8A, 0xB657, 0x8D85, 0xB658, 0x8D81, 0xB659, 0x8DCE, 0xB65A, 0x8DDD, 0xB65B, 0x8DCB, 0xB65C, 0x8DDA, - 0xB65D, 0x8DD1, 0xB65E, 0x8DCC, 0xB65F, 0x8DDB, 0xB660, 0x8DC6, 0xB661, 0x8EFB, 0xB662, 0x8EF8, 0xB663, 0x8EFC, 0xB664, 0x8F9C, - 0xB665, 0x902E, 0xB666, 0x9035, 0xB667, 0x9031, 0xB668, 0x9038, 0xB669, 0x9032, 0xB66A, 0x9036, 0xB66B, 0x9102, 0xB66C, 0x90F5, - 0xB66D, 0x9109, 0xB66E, 0x90FE, 0xB66F, 0x9163, 0xB670, 0x9165, 0xB671, 0x91CF, 0xB672, 0x9214, 0xB673, 0x9215, 0xB674, 0x9223, - 0xB675, 0x9209, 0xB676, 0x921E, 0xB677, 0x920D, 0xB678, 0x9210, 0xB679, 0x9207, 0xB67A, 0x9211, 0xB67B, 0x9594, 0xB67C, 0x958F, - 0xB67D, 0x958B, 0xB67E, 0x9591, 0xB6A1, 0x9593, 0xB6A2, 0x9592, 0xB6A3, 0x958E, 0xB6A4, 0x968A, 0xB6A5, 0x968E, 0xB6A6, 0x968B, - 0xB6A7, 0x967D, 0xB6A8, 0x9685, 0xB6A9, 0x9686, 0xB6AA, 0x968D, 0xB6AB, 0x9672, 0xB6AC, 0x9684, 0xB6AD, 0x96C1, 0xB6AE, 0x96C5, - 0xB6AF, 0x96C4, 0xB6B0, 0x96C6, 0xB6B1, 0x96C7, 0xB6B2, 0x96EF, 0xB6B3, 0x96F2, 0xB6B4, 0x97CC, 0xB6B5, 0x9805, 0xB6B6, 0x9806, - 0xB6B7, 0x9808, 0xB6B8, 0x98E7, 0xB6B9, 0x98EA, 0xB6BA, 0x98EF, 0xB6BB, 0x98E9, 0xB6BC, 0x98F2, 0xB6BD, 0x98ED, 0xB6BE, 0x99AE, - 0xB6BF, 0x99AD, 0xB6C0, 0x9EC3, 0xB6C1, 0x9ECD, 0xB6C2, 0x9ED1, 0xB6C3, 0x4E82, 0xB6C4, 0x50AD, 0xB6C5, 0x50B5, 0xB6C6, 0x50B2, - 0xB6C7, 0x50B3, 0xB6C8, 0x50C5, 0xB6C9, 0x50BE, 0xB6CA, 0x50AC, 0xB6CB, 0x50B7, 0xB6CC, 0x50BB, 0xB6CD, 0x50AF, 0xB6CE, 0x50C7, - 0xB6CF, 0x527F, 0xB6D0, 0x5277, 0xB6D1, 0x527D, 0xB6D2, 0x52DF, 0xB6D3, 0x52E6, 0xB6D4, 0x52E4, 0xB6D5, 0x52E2, 0xB6D6, 0x52E3, - 0xB6D7, 0x532F, 0xB6D8, 0x55DF, 0xB6D9, 0x55E8, 0xB6DA, 0x55D3, 0xB6DB, 0x55E6, 0xB6DC, 0x55CE, 0xB6DD, 0x55DC, 0xB6DE, 0x55C7, - 0xB6DF, 0x55D1, 0xB6E0, 0x55E3, 0xB6E1, 0x55E4, 0xB6E2, 0x55EF, 0xB6E3, 0x55DA, 0xB6E4, 0x55E1, 0xB6E5, 0x55C5, 0xB6E6, 0x55C6, - 0xB6E7, 0x55E5, 0xB6E8, 0x55C9, 0xB6E9, 0x5712, 0xB6EA, 0x5713, 0xB6EB, 0x585E, 0xB6EC, 0x5851, 0xB6ED, 0x5858, 0xB6EE, 0x5857, - 0xB6EF, 0x585A, 0xB6F0, 0x5854, 0xB6F1, 0x586B, 0xB6F2, 0x584C, 0xB6F3, 0x586D, 0xB6F4, 0x584A, 0xB6F5, 0x5862, 0xB6F6, 0x5852, - 0xB6F7, 0x584B, 0xB6F8, 0x5967, 0xB6F9, 0x5AC1, 0xB6FA, 0x5AC9, 0xB6FB, 0x5ACC, 0xB6FC, 0x5ABE, 0xB6FD, 0x5ABD, 0xB6FE, 0x5ABC, - 0xB740, 0x5AB3, 0xB741, 0x5AC2, 0xB742, 0x5AB2, 0xB743, 0x5D69, 0xB744, 0x5D6F, 0xB745, 0x5E4C, 0xB746, 0x5E79, 0xB747, 0x5EC9, - 0xB748, 0x5EC8, 0xB749, 0x5F12, 0xB74A, 0x5F59, 0xB74B, 0x5FAC, 0xB74C, 0x5FAE, 0xB74D, 0x611A, 0xB74E, 0x610F, 0xB74F, 0x6148, - 0xB750, 0x611F, 0xB751, 0x60F3, 0xB752, 0x611B, 0xB753, 0x60F9, 0xB754, 0x6101, 0xB755, 0x6108, 0xB756, 0x614E, 0xB757, 0x614C, - 0xB758, 0x6144, 0xB759, 0x614D, 0xB75A, 0x613E, 0xB75B, 0x6134, 0xB75C, 0x6127, 0xB75D, 0x610D, 0xB75E, 0x6106, 0xB75F, 0x6137, - 0xB760, 0x6221, 0xB761, 0x6222, 0xB762, 0x6413, 0xB763, 0x643E, 0xB764, 0x641E, 0xB765, 0x642A, 0xB766, 0x642D, 0xB767, 0x643D, - 0xB768, 0x642C, 0xB769, 0x640F, 0xB76A, 0x641C, 0xB76B, 0x6414, 0xB76C, 0x640D, 0xB76D, 0x6436, 0xB76E, 0x6416, 0xB76F, 0x6417, - 0xB770, 0x6406, 0xB771, 0x656C, 0xB772, 0x659F, 0xB773, 0x65B0, 0xB774, 0x6697, 0xB775, 0x6689, 0xB776, 0x6687, 0xB777, 0x6688, - 0xB778, 0x6696, 0xB779, 0x6684, 0xB77A, 0x6698, 0xB77B, 0x668D, 0xB77C, 0x6703, 0xB77D, 0x6994, 0xB77E, 0x696D, 0xB7A1, 0x695A, - 0xB7A2, 0x6977, 0xB7A3, 0x6960, 0xB7A4, 0x6954, 0xB7A5, 0x6975, 0xB7A6, 0x6930, 0xB7A7, 0x6982, 0xB7A8, 0x694A, 0xB7A9, 0x6968, - 0xB7AA, 0x696B, 0xB7AB, 0x695E, 0xB7AC, 0x6953, 0xB7AD, 0x6979, 0xB7AE, 0x6986, 0xB7AF, 0x695D, 0xB7B0, 0x6963, 0xB7B1, 0x695B, - 0xB7B2, 0x6B47, 0xB7B3, 0x6B72, 0xB7B4, 0x6BC0, 0xB7B5, 0x6BBF, 0xB7B6, 0x6BD3, 0xB7B7, 0x6BFD, 0xB7B8, 0x6EA2, 0xB7B9, 0x6EAF, - 0xB7BA, 0x6ED3, 0xB7BB, 0x6EB6, 0xB7BC, 0x6EC2, 0xB7BD, 0x6E90, 0xB7BE, 0x6E9D, 0xB7BF, 0x6EC7, 0xB7C0, 0x6EC5, 0xB7C1, 0x6EA5, - 0xB7C2, 0x6E98, 0xB7C3, 0x6EBC, 0xB7C4, 0x6EBA, 0xB7C5, 0x6EAB, 0xB7C6, 0x6ED1, 0xB7C7, 0x6E96, 0xB7C8, 0x6E9C, 0xB7C9, 0x6EC4, - 0xB7CA, 0x6ED4, 0xB7CB, 0x6EAA, 0xB7CC, 0x6EA7, 0xB7CD, 0x6EB4, 0xB7CE, 0x714E, 0xB7CF, 0x7159, 0xB7D0, 0x7169, 0xB7D1, 0x7164, - 0xB7D2, 0x7149, 0xB7D3, 0x7167, 0xB7D4, 0x715C, 0xB7D5, 0x716C, 0xB7D6, 0x7166, 0xB7D7, 0x714C, 0xB7D8, 0x7165, 0xB7D9, 0x715E, - 0xB7DA, 0x7146, 0xB7DB, 0x7168, 0xB7DC, 0x7156, 0xB7DD, 0x723A, 0xB7DE, 0x7252, 0xB7DF, 0x7337, 0xB7E0, 0x7345, 0xB7E1, 0x733F, - 0xB7E2, 0x733E, 0xB7E3, 0x746F, 0xB7E4, 0x745A, 0xB7E5, 0x7455, 0xB7E6, 0x745F, 0xB7E7, 0x745E, 0xB7E8, 0x7441, 0xB7E9, 0x743F, - 0xB7EA, 0x7459, 0xB7EB, 0x745B, 0xB7EC, 0x745C, 0xB7ED, 0x7576, 0xB7EE, 0x7578, 0xB7EF, 0x7600, 0xB7F0, 0x75F0, 0xB7F1, 0x7601, - 0xB7F2, 0x75F2, 0xB7F3, 0x75F1, 0xB7F4, 0x75FA, 0xB7F5, 0x75FF, 0xB7F6, 0x75F4, 0xB7F7, 0x75F3, 0xB7F8, 0x76DE, 0xB7F9, 0x76DF, - 0xB7FA, 0x775B, 0xB7FB, 0x776B, 0xB7FC, 0x7766, 0xB7FD, 0x775E, 0xB7FE, 0x7763, 0xB840, 0x7779, 0xB841, 0x776A, 0xB842, 0x776C, - 0xB843, 0x775C, 0xB844, 0x7765, 0xB845, 0x7768, 0xB846, 0x7762, 0xB847, 0x77EE, 0xB848, 0x788E, 0xB849, 0x78B0, 0xB84A, 0x7897, - 0xB84B, 0x7898, 0xB84C, 0x788C, 0xB84D, 0x7889, 0xB84E, 0x787C, 0xB84F, 0x7891, 0xB850, 0x7893, 0xB851, 0x787F, 0xB852, 0x797A, - 0xB853, 0x797F, 0xB854, 0x7981, 0xB855, 0x842C, 0xB856, 0x79BD, 0xB857, 0x7A1C, 0xB858, 0x7A1A, 0xB859, 0x7A20, 0xB85A, 0x7A14, - 0xB85B, 0x7A1F, 0xB85C, 0x7A1E, 0xB85D, 0x7A9F, 0xB85E, 0x7AA0, 0xB85F, 0x7B77, 0xB860, 0x7BC0, 0xB861, 0x7B60, 0xB862, 0x7B6E, - 0xB863, 0x7B67, 0xB864, 0x7CB1, 0xB865, 0x7CB3, 0xB866, 0x7CB5, 0xB867, 0x7D93, 0xB868, 0x7D79, 0xB869, 0x7D91, 0xB86A, 0x7D81, - 0xB86B, 0x7D8F, 0xB86C, 0x7D5B, 0xB86D, 0x7F6E, 0xB86E, 0x7F69, 0xB86F, 0x7F6A, 0xB870, 0x7F72, 0xB871, 0x7FA9, 0xB872, 0x7FA8, - 0xB873, 0x7FA4, 0xB874, 0x8056, 0xB875, 0x8058, 0xB876, 0x8086, 0xB877, 0x8084, 0xB878, 0x8171, 0xB879, 0x8170, 0xB87A, 0x8178, - 0xB87B, 0x8165, 0xB87C, 0x816E, 0xB87D, 0x8173, 0xB87E, 0x816B, 0xB8A1, 0x8179, 0xB8A2, 0x817A, 0xB8A3, 0x8166, 0xB8A4, 0x8205, - 0xB8A5, 0x8247, 0xB8A6, 0x8482, 0xB8A7, 0x8477, 0xB8A8, 0x843D, 0xB8A9, 0x8431, 0xB8AA, 0x8475, 0xB8AB, 0x8466, 0xB8AC, 0x846B, - 0xB8AD, 0x8449, 0xB8AE, 0x846C, 0xB8AF, 0x845B, 0xB8B0, 0x843C, 0xB8B1, 0x8435, 0xB8B2, 0x8461, 0xB8B3, 0x8463, 0xB8B4, 0x8469, - 0xB8B5, 0x846D, 0xB8B6, 0x8446, 0xB8B7, 0x865E, 0xB8B8, 0x865C, 0xB8B9, 0x865F, 0xB8BA, 0x86F9, 0xB8BB, 0x8713, 0xB8BC, 0x8708, - 0xB8BD, 0x8707, 0xB8BE, 0x8700, 0xB8BF, 0x86FE, 0xB8C0, 0x86FB, 0xB8C1, 0x8702, 0xB8C2, 0x8703, 0xB8C3, 0x8706, 0xB8C4, 0x870A, - 0xB8C5, 0x8859, 0xB8C6, 0x88DF, 0xB8C7, 0x88D4, 0xB8C8, 0x88D9, 0xB8C9, 0x88DC, 0xB8CA, 0x88D8, 0xB8CB, 0x88DD, 0xB8CC, 0x88E1, - 0xB8CD, 0x88CA, 0xB8CE, 0x88D5, 0xB8CF, 0x88D2, 0xB8D0, 0x899C, 0xB8D1, 0x89E3, 0xB8D2, 0x8A6B, 0xB8D3, 0x8A72, 0xB8D4, 0x8A73, - 0xB8D5, 0x8A66, 0xB8D6, 0x8A69, 0xB8D7, 0x8A70, 0xB8D8, 0x8A87, 0xB8D9, 0x8A7C, 0xB8DA, 0x8A63, 0xB8DB, 0x8AA0, 0xB8DC, 0x8A71, - 0xB8DD, 0x8A85, 0xB8DE, 0x8A6D, 0xB8DF, 0x8A62, 0xB8E0, 0x8A6E, 0xB8E1, 0x8A6C, 0xB8E2, 0x8A79, 0xB8E3, 0x8A7B, 0xB8E4, 0x8A3E, - 0xB8E5, 0x8A68, 0xB8E6, 0x8C62, 0xB8E7, 0x8C8A, 0xB8E8, 0x8C89, 0xB8E9, 0x8CCA, 0xB8EA, 0x8CC7, 0xB8EB, 0x8CC8, 0xB8EC, 0x8CC4, - 0xB8ED, 0x8CB2, 0xB8EE, 0x8CC3, 0xB8EF, 0x8CC2, 0xB8F0, 0x8CC5, 0xB8F1, 0x8DE1, 0xB8F2, 0x8DDF, 0xB8F3, 0x8DE8, 0xB8F4, 0x8DEF, - 0xB8F5, 0x8DF3, 0xB8F6, 0x8DFA, 0xB8F7, 0x8DEA, 0xB8F8, 0x8DE4, 0xB8F9, 0x8DE6, 0xB8FA, 0x8EB2, 0xB8FB, 0x8F03, 0xB8FC, 0x8F09, - 0xB8FD, 0x8EFE, 0xB8FE, 0x8F0A, 0xB940, 0x8F9F, 0xB941, 0x8FB2, 0xB942, 0x904B, 0xB943, 0x904A, 0xB944, 0x9053, 0xB945, 0x9042, - 0xB946, 0x9054, 0xB947, 0x903C, 0xB948, 0x9055, 0xB949, 0x9050, 0xB94A, 0x9047, 0xB94B, 0x904F, 0xB94C, 0x904E, 0xB94D, 0x904D, - 0xB94E, 0x9051, 0xB94F, 0x903E, 0xB950, 0x9041, 0xB951, 0x9112, 0xB952, 0x9117, 0xB953, 0x916C, 0xB954, 0x916A, 0xB955, 0x9169, - 0xB956, 0x91C9, 0xB957, 0x9237, 0xB958, 0x9257, 0xB959, 0x9238, 0xB95A, 0x923D, 0xB95B, 0x9240, 0xB95C, 0x923E, 0xB95D, 0x925B, - 0xB95E, 0x924B, 0xB95F, 0x9264, 0xB960, 0x9251, 0xB961, 0x9234, 0xB962, 0x9249, 0xB963, 0x924D, 0xB964, 0x9245, 0xB965, 0x9239, - 0xB966, 0x923F, 0xB967, 0x925A, 0xB968, 0x9598, 0xB969, 0x9698, 0xB96A, 0x9694, 0xB96B, 0x9695, 0xB96C, 0x96CD, 0xB96D, 0x96CB, - 0xB96E, 0x96C9, 0xB96F, 0x96CA, 0xB970, 0x96F7, 0xB971, 0x96FB, 0xB972, 0x96F9, 0xB973, 0x96F6, 0xB974, 0x9756, 0xB975, 0x9774, - 0xB976, 0x9776, 0xB977, 0x9810, 0xB978, 0x9811, 0xB979, 0x9813, 0xB97A, 0x980A, 0xB97B, 0x9812, 0xB97C, 0x980C, 0xB97D, 0x98FC, - 0xB97E, 0x98F4, 0xB9A1, 0x98FD, 0xB9A2, 0x98FE, 0xB9A3, 0x99B3, 0xB9A4, 0x99B1, 0xB9A5, 0x99B4, 0xB9A6, 0x9AE1, 0xB9A7, 0x9CE9, - 0xB9A8, 0x9E82, 0xB9A9, 0x9F0E, 0xB9AA, 0x9F13, 0xB9AB, 0x9F20, 0xB9AC, 0x50E7, 0xB9AD, 0x50EE, 0xB9AE, 0x50E5, 0xB9AF, 0x50D6, - 0xB9B0, 0x50ED, 0xB9B1, 0x50DA, 0xB9B2, 0x50D5, 0xB9B3, 0x50CF, 0xB9B4, 0x50D1, 0xB9B5, 0x50F1, 0xB9B6, 0x50CE, 0xB9B7, 0x50E9, - 0xB9B8, 0x5162, 0xB9B9, 0x51F3, 0xB9BA, 0x5283, 0xB9BB, 0x5282, 0xB9BC, 0x5331, 0xB9BD, 0x53AD, 0xB9BE, 0x55FE, 0xB9BF, 0x5600, - 0xB9C0, 0x561B, 0xB9C1, 0x5617, 0xB9C2, 0x55FD, 0xB9C3, 0x5614, 0xB9C4, 0x5606, 0xB9C5, 0x5609, 0xB9C6, 0x560D, 0xB9C7, 0x560E, - 0xB9C8, 0x55F7, 0xB9C9, 0x5616, 0xB9CA, 0x561F, 0xB9CB, 0x5608, 0xB9CC, 0x5610, 0xB9CD, 0x55F6, 0xB9CE, 0x5718, 0xB9CF, 0x5716, - 0xB9D0, 0x5875, 0xB9D1, 0x587E, 0xB9D2, 0x5883, 0xB9D3, 0x5893, 0xB9D4, 0x588A, 0xB9D5, 0x5879, 0xB9D6, 0x5885, 0xB9D7, 0x587D, - 0xB9D8, 0x58FD, 0xB9D9, 0x5925, 0xB9DA, 0x5922, 0xB9DB, 0x5924, 0xB9DC, 0x596A, 0xB9DD, 0x5969, 0xB9DE, 0x5AE1, 0xB9DF, 0x5AE6, - 0xB9E0, 0x5AE9, 0xB9E1, 0x5AD7, 0xB9E2, 0x5AD6, 0xB9E3, 0x5AD8, 0xB9E4, 0x5AE3, 0xB9E5, 0x5B75, 0xB9E6, 0x5BDE, 0xB9E7, 0x5BE7, - 0xB9E8, 0x5BE1, 0xB9E9, 0x5BE5, 0xB9EA, 0x5BE6, 0xB9EB, 0x5BE8, 0xB9EC, 0x5BE2, 0xB9ED, 0x5BE4, 0xB9EE, 0x5BDF, 0xB9EF, 0x5C0D, - 0xB9F0, 0x5C62, 0xB9F1, 0x5D84, 0xB9F2, 0x5D87, 0xB9F3, 0x5E5B, 0xB9F4, 0x5E63, 0xB9F5, 0x5E55, 0xB9F6, 0x5E57, 0xB9F7, 0x5E54, - 0xB9F8, 0x5ED3, 0xB9F9, 0x5ED6, 0xB9FA, 0x5F0A, 0xB9FB, 0x5F46, 0xB9FC, 0x5F70, 0xB9FD, 0x5FB9, 0xB9FE, 0x6147, 0xBA40, 0x613F, - 0xBA41, 0x614B, 0xBA42, 0x6177, 0xBA43, 0x6162, 0xBA44, 0x6163, 0xBA45, 0x615F, 0xBA46, 0x615A, 0xBA47, 0x6158, 0xBA48, 0x6175, - 0xBA49, 0x622A, 0xBA4A, 0x6487, 0xBA4B, 0x6458, 0xBA4C, 0x6454, 0xBA4D, 0x64A4, 0xBA4E, 0x6478, 0xBA4F, 0x645F, 0xBA50, 0x647A, - 0xBA51, 0x6451, 0xBA52, 0x6467, 0xBA53, 0x6434, 0xBA54, 0x646D, 0xBA55, 0x647B, 0xBA56, 0x6572, 0xBA57, 0x65A1, 0xBA58, 0x65D7, - 0xBA59, 0x65D6, 0xBA5A, 0x66A2, 0xBA5B, 0x66A8, 0xBA5C, 0x669D, 0xBA5D, 0x699C, 0xBA5E, 0x69A8, 0xBA5F, 0x6995, 0xBA60, 0x69C1, - 0xBA61, 0x69AE, 0xBA62, 0x69D3, 0xBA63, 0x69CB, 0xBA64, 0x699B, 0xBA65, 0x69B7, 0xBA66, 0x69BB, 0xBA67, 0x69AB, 0xBA68, 0x69B4, - 0xBA69, 0x69D0, 0xBA6A, 0x69CD, 0xBA6B, 0x69AD, 0xBA6C, 0x69CC, 0xBA6D, 0x69A6, 0xBA6E, 0x69C3, 0xBA6F, 0x69A3, 0xBA70, 0x6B49, - 0xBA71, 0x6B4C, 0xBA72, 0x6C33, 0xBA73, 0x6F33, 0xBA74, 0x6F14, 0xBA75, 0x6EFE, 0xBA76, 0x6F13, 0xBA77, 0x6EF4, 0xBA78, 0x6F29, - 0xBA79, 0x6F3E, 0xBA7A, 0x6F20, 0xBA7B, 0x6F2C, 0xBA7C, 0x6F0F, 0xBA7D, 0x6F02, 0xBA7E, 0x6F22, 0xBAA1, 0x6EFF, 0xBAA2, 0x6EEF, - 0xBAA3, 0x6F06, 0xBAA4, 0x6F31, 0xBAA5, 0x6F38, 0xBAA6, 0x6F32, 0xBAA7, 0x6F23, 0xBAA8, 0x6F15, 0xBAA9, 0x6F2B, 0xBAAA, 0x6F2F, - 0xBAAB, 0x6F88, 0xBAAC, 0x6F2A, 0xBAAD, 0x6EEC, 0xBAAE, 0x6F01, 0xBAAF, 0x6EF2, 0xBAB0, 0x6ECC, 0xBAB1, 0x6EF7, 0xBAB2, 0x7194, - 0xBAB3, 0x7199, 0xBAB4, 0x717D, 0xBAB5, 0x718A, 0xBAB6, 0x7184, 0xBAB7, 0x7192, 0xBAB8, 0x723E, 0xBAB9, 0x7292, 0xBABA, 0x7296, - 0xBABB, 0x7344, 0xBABC, 0x7350, 0xBABD, 0x7464, 0xBABE, 0x7463, 0xBABF, 0x746A, 0xBAC0, 0x7470, 0xBAC1, 0x746D, 0xBAC2, 0x7504, - 0xBAC3, 0x7591, 0xBAC4, 0x7627, 0xBAC5, 0x760D, 0xBAC6, 0x760B, 0xBAC7, 0x7609, 0xBAC8, 0x7613, 0xBAC9, 0x76E1, 0xBACA, 0x76E3, - 0xBACB, 0x7784, 0xBACC, 0x777D, 0xBACD, 0x777F, 0xBACE, 0x7761, 0xBACF, 0x78C1, 0xBAD0, 0x789F, 0xBAD1, 0x78A7, 0xBAD2, 0x78B3, - 0xBAD3, 0x78A9, 0xBAD4, 0x78A3, 0xBAD5, 0x798E, 0xBAD6, 0x798F, 0xBAD7, 0x798D, 0xBAD8, 0x7A2E, 0xBAD9, 0x7A31, 0xBADA, 0x7AAA, - 0xBADB, 0x7AA9, 0xBADC, 0x7AED, 0xBADD, 0x7AEF, 0xBADE, 0x7BA1, 0xBADF, 0x7B95, 0xBAE0, 0x7B8B, 0xBAE1, 0x7B75, 0xBAE2, 0x7B97, - 0xBAE3, 0x7B9D, 0xBAE4, 0x7B94, 0xBAE5, 0x7B8F, 0xBAE6, 0x7BB8, 0xBAE7, 0x7B87, 0xBAE8, 0x7B84, 0xBAE9, 0x7CB9, 0xBAEA, 0x7CBD, - 0xBAEB, 0x7CBE, 0xBAEC, 0x7DBB, 0xBAED, 0x7DB0, 0xBAEE, 0x7D9C, 0xBAEF, 0x7DBD, 0xBAF0, 0x7DBE, 0xBAF1, 0x7DA0, 0xBAF2, 0x7DCA, - 0xBAF3, 0x7DB4, 0xBAF4, 0x7DB2, 0xBAF5, 0x7DB1, 0xBAF6, 0x7DBA, 0xBAF7, 0x7DA2, 0xBAF8, 0x7DBF, 0xBAF9, 0x7DB5, 0xBAFA, 0x7DB8, - 0xBAFB, 0x7DAD, 0xBAFC, 0x7DD2, 0xBAFD, 0x7DC7, 0xBAFE, 0x7DAC, 0xBB40, 0x7F70, 0xBB41, 0x7FE0, 0xBB42, 0x7FE1, 0xBB43, 0x7FDF, - 0xBB44, 0x805E, 0xBB45, 0x805A, 0xBB46, 0x8087, 0xBB47, 0x8150, 0xBB48, 0x8180, 0xBB49, 0x818F, 0xBB4A, 0x8188, 0xBB4B, 0x818A, - 0xBB4C, 0x817F, 0xBB4D, 0x8182, 0xBB4E, 0x81E7, 0xBB4F, 0x81FA, 0xBB50, 0x8207, 0xBB51, 0x8214, 0xBB52, 0x821E, 0xBB53, 0x824B, - 0xBB54, 0x84C9, 0xBB55, 0x84BF, 0xBB56, 0x84C6, 0xBB57, 0x84C4, 0xBB58, 0x8499, 0xBB59, 0x849E, 0xBB5A, 0x84B2, 0xBB5B, 0x849C, - 0xBB5C, 0x84CB, 0xBB5D, 0x84B8, 0xBB5E, 0x84C0, 0xBB5F, 0x84D3, 0xBB60, 0x8490, 0xBB61, 0x84BC, 0xBB62, 0x84D1, 0xBB63, 0x84CA, - 0xBB64, 0x873F, 0xBB65, 0x871C, 0xBB66, 0x873B, 0xBB67, 0x8722, 0xBB68, 0x8725, 0xBB69, 0x8734, 0xBB6A, 0x8718, 0xBB6B, 0x8755, - 0xBB6C, 0x8737, 0xBB6D, 0x8729, 0xBB6E, 0x88F3, 0xBB6F, 0x8902, 0xBB70, 0x88F4, 0xBB71, 0x88F9, 0xBB72, 0x88F8, 0xBB73, 0x88FD, - 0xBB74, 0x88E8, 0xBB75, 0x891A, 0xBB76, 0x88EF, 0xBB77, 0x8AA6, 0xBB78, 0x8A8C, 0xBB79, 0x8A9E, 0xBB7A, 0x8AA3, 0xBB7B, 0x8A8D, - 0xBB7C, 0x8AA1, 0xBB7D, 0x8A93, 0xBB7E, 0x8AA4, 0xBBA1, 0x8AAA, 0xBBA2, 0x8AA5, 0xBBA3, 0x8AA8, 0xBBA4, 0x8A98, 0xBBA5, 0x8A91, - 0xBBA6, 0x8A9A, 0xBBA7, 0x8AA7, 0xBBA8, 0x8C6A, 0xBBA9, 0x8C8D, 0xBBAA, 0x8C8C, 0xBBAB, 0x8CD3, 0xBBAC, 0x8CD1, 0xBBAD, 0x8CD2, - 0xBBAE, 0x8D6B, 0xBBAF, 0x8D99, 0xBBB0, 0x8D95, 0xBBB1, 0x8DFC, 0xBBB2, 0x8F14, 0xBBB3, 0x8F12, 0xBBB4, 0x8F15, 0xBBB5, 0x8F13, - 0xBBB6, 0x8FA3, 0xBBB7, 0x9060, 0xBBB8, 0x9058, 0xBBB9, 0x905C, 0xBBBA, 0x9063, 0xBBBB, 0x9059, 0xBBBC, 0x905E, 0xBBBD, 0x9062, - 0xBBBE, 0x905D, 0xBBBF, 0x905B, 0xBBC0, 0x9119, 0xBBC1, 0x9118, 0xBBC2, 0x911E, 0xBBC3, 0x9175, 0xBBC4, 0x9178, 0xBBC5, 0x9177, - 0xBBC6, 0x9174, 0xBBC7, 0x9278, 0xBBC8, 0x9280, 0xBBC9, 0x9285, 0xBBCA, 0x9298, 0xBBCB, 0x9296, 0xBBCC, 0x927B, 0xBBCD, 0x9293, - 0xBBCE, 0x929C, 0xBBCF, 0x92A8, 0xBBD0, 0x927C, 0xBBD1, 0x9291, 0xBBD2, 0x95A1, 0xBBD3, 0x95A8, 0xBBD4, 0x95A9, 0xBBD5, 0x95A3, - 0xBBD6, 0x95A5, 0xBBD7, 0x95A4, 0xBBD8, 0x9699, 0xBBD9, 0x969C, 0xBBDA, 0x969B, 0xBBDB, 0x96CC, 0xBBDC, 0x96D2, 0xBBDD, 0x9700, - 0xBBDE, 0x977C, 0xBBDF, 0x9785, 0xBBE0, 0x97F6, 0xBBE1, 0x9817, 0xBBE2, 0x9818, 0xBBE3, 0x98AF, 0xBBE4, 0x98B1, 0xBBE5, 0x9903, - 0xBBE6, 0x9905, 0xBBE7, 0x990C, 0xBBE8, 0x9909, 0xBBE9, 0x99C1, 0xBBEA, 0x9AAF, 0xBBEB, 0x9AB0, 0xBBEC, 0x9AE6, 0xBBED, 0x9B41, - 0xBBEE, 0x9B42, 0xBBEF, 0x9CF4, 0xBBF0, 0x9CF6, 0xBBF1, 0x9CF3, 0xBBF2, 0x9EBC, 0xBBF3, 0x9F3B, 0xBBF4, 0x9F4A, 0xBBF5, 0x5104, - 0xBBF6, 0x5100, 0xBBF7, 0x50FB, 0xBBF8, 0x50F5, 0xBBF9, 0x50F9, 0xBBFA, 0x5102, 0xBBFB, 0x5108, 0xBBFC, 0x5109, 0xBBFD, 0x5105, - 0xBBFE, 0x51DC, 0xBC40, 0x5287, 0xBC41, 0x5288, 0xBC42, 0x5289, 0xBC43, 0x528D, 0xBC44, 0x528A, 0xBC45, 0x52F0, 0xBC46, 0x53B2, - 0xBC47, 0x562E, 0xBC48, 0x563B, 0xBC49, 0x5639, 0xBC4A, 0x5632, 0xBC4B, 0x563F, 0xBC4C, 0x5634, 0xBC4D, 0x5629, 0xBC4E, 0x5653, - 0xBC4F, 0x564E, 0xBC50, 0x5657, 0xBC51, 0x5674, 0xBC52, 0x5636, 0xBC53, 0x562F, 0xBC54, 0x5630, 0xBC55, 0x5880, 0xBC56, 0x589F, - 0xBC57, 0x589E, 0xBC58, 0x58B3, 0xBC59, 0x589C, 0xBC5A, 0x58AE, 0xBC5B, 0x58A9, 0xBC5C, 0x58A6, 0xBC5D, 0x596D, 0xBC5E, 0x5B09, - 0xBC5F, 0x5AFB, 0xBC60, 0x5B0B, 0xBC61, 0x5AF5, 0xBC62, 0x5B0C, 0xBC63, 0x5B08, 0xBC64, 0x5BEE, 0xBC65, 0x5BEC, 0xBC66, 0x5BE9, - 0xBC67, 0x5BEB, 0xBC68, 0x5C64, 0xBC69, 0x5C65, 0xBC6A, 0x5D9D, 0xBC6B, 0x5D94, 0xBC6C, 0x5E62, 0xBC6D, 0x5E5F, 0xBC6E, 0x5E61, - 0xBC6F, 0x5EE2, 0xBC70, 0x5EDA, 0xBC71, 0x5EDF, 0xBC72, 0x5EDD, 0xBC73, 0x5EE3, 0xBC74, 0x5EE0, 0xBC75, 0x5F48, 0xBC76, 0x5F71, - 0xBC77, 0x5FB7, 0xBC78, 0x5FB5, 0xBC79, 0x6176, 0xBC7A, 0x6167, 0xBC7B, 0x616E, 0xBC7C, 0x615D, 0xBC7D, 0x6155, 0xBC7E, 0x6182, - 0xBCA1, 0x617C, 0xBCA2, 0x6170, 0xBCA3, 0x616B, 0xBCA4, 0x617E, 0xBCA5, 0x61A7, 0xBCA6, 0x6190, 0xBCA7, 0x61AB, 0xBCA8, 0x618E, - 0xBCA9, 0x61AC, 0xBCAA, 0x619A, 0xBCAB, 0x61A4, 0xBCAC, 0x6194, 0xBCAD, 0x61AE, 0xBCAE, 0x622E, 0xBCAF, 0x6469, 0xBCB0, 0x646F, - 0xBCB1, 0x6479, 0xBCB2, 0x649E, 0xBCB3, 0x64B2, 0xBCB4, 0x6488, 0xBCB5, 0x6490, 0xBCB6, 0x64B0, 0xBCB7, 0x64A5, 0xBCB8, 0x6493, - 0xBCB9, 0x6495, 0xBCBA, 0x64A9, 0xBCBB, 0x6492, 0xBCBC, 0x64AE, 0xBCBD, 0x64AD, 0xBCBE, 0x64AB, 0xBCBF, 0x649A, 0xBCC0, 0x64AC, - 0xBCC1, 0x6499, 0xBCC2, 0x64A2, 0xBCC3, 0x64B3, 0xBCC4, 0x6575, 0xBCC5, 0x6577, 0xBCC6, 0x6578, 0xBCC7, 0x66AE, 0xBCC8, 0x66AB, - 0xBCC9, 0x66B4, 0xBCCA, 0x66B1, 0xBCCB, 0x6A23, 0xBCCC, 0x6A1F, 0xBCCD, 0x69E8, 0xBCCE, 0x6A01, 0xBCCF, 0x6A1E, 0xBCD0, 0x6A19, - 0xBCD1, 0x69FD, 0xBCD2, 0x6A21, 0xBCD3, 0x6A13, 0xBCD4, 0x6A0A, 0xBCD5, 0x69F3, 0xBCD6, 0x6A02, 0xBCD7, 0x6A05, 0xBCD8, 0x69ED, - 0xBCD9, 0x6A11, 0xBCDA, 0x6B50, 0xBCDB, 0x6B4E, 0xBCDC, 0x6BA4, 0xBCDD, 0x6BC5, 0xBCDE, 0x6BC6, 0xBCDF, 0x6F3F, 0xBCE0, 0x6F7C, - 0xBCE1, 0x6F84, 0xBCE2, 0x6F51, 0xBCE3, 0x6F66, 0xBCE4, 0x6F54, 0xBCE5, 0x6F86, 0xBCE6, 0x6F6D, 0xBCE7, 0x6F5B, 0xBCE8, 0x6F78, - 0xBCE9, 0x6F6E, 0xBCEA, 0x6F8E, 0xBCEB, 0x6F7A, 0xBCEC, 0x6F70, 0xBCED, 0x6F64, 0xBCEE, 0x6F97, 0xBCEF, 0x6F58, 0xBCF0, 0x6ED5, - 0xBCF1, 0x6F6F, 0xBCF2, 0x6F60, 0xBCF3, 0x6F5F, 0xBCF4, 0x719F, 0xBCF5, 0x71AC, 0xBCF6, 0x71B1, 0xBCF7, 0x71A8, 0xBCF8, 0x7256, - 0xBCF9, 0x729B, 0xBCFA, 0x734E, 0xBCFB, 0x7357, 0xBCFC, 0x7469, 0xBCFD, 0x748B, 0xBCFE, 0x7483, 0xBD40, 0x747E, 0xBD41, 0x7480, - 0xBD42, 0x757F, 0xBD43, 0x7620, 0xBD44, 0x7629, 0xBD45, 0x761F, 0xBD46, 0x7624, 0xBD47, 0x7626, 0xBD48, 0x7621, 0xBD49, 0x7622, - 0xBD4A, 0x769A, 0xBD4B, 0x76BA, 0xBD4C, 0x76E4, 0xBD4D, 0x778E, 0xBD4E, 0x7787, 0xBD4F, 0x778C, 0xBD50, 0x7791, 0xBD51, 0x778B, - 0xBD52, 0x78CB, 0xBD53, 0x78C5, 0xBD54, 0x78BA, 0xBD55, 0x78CA, 0xBD56, 0x78BE, 0xBD57, 0x78D5, 0xBD58, 0x78BC, 0xBD59, 0x78D0, - 0xBD5A, 0x7A3F, 0xBD5B, 0x7A3C, 0xBD5C, 0x7A40, 0xBD5D, 0x7A3D, 0xBD5E, 0x7A37, 0xBD5F, 0x7A3B, 0xBD60, 0x7AAF, 0xBD61, 0x7AAE, - 0xBD62, 0x7BAD, 0xBD63, 0x7BB1, 0xBD64, 0x7BC4, 0xBD65, 0x7BB4, 0xBD66, 0x7BC6, 0xBD67, 0x7BC7, 0xBD68, 0x7BC1, 0xBD69, 0x7BA0, - 0xBD6A, 0x7BCC, 0xBD6B, 0x7CCA, 0xBD6C, 0x7DE0, 0xBD6D, 0x7DF4, 0xBD6E, 0x7DEF, 0xBD6F, 0x7DFB, 0xBD70, 0x7DD8, 0xBD71, 0x7DEC, - 0xBD72, 0x7DDD, 0xBD73, 0x7DE8, 0xBD74, 0x7DE3, 0xBD75, 0x7DDA, 0xBD76, 0x7DDE, 0xBD77, 0x7DE9, 0xBD78, 0x7D9E, 0xBD79, 0x7DD9, - 0xBD7A, 0x7DF2, 0xBD7B, 0x7DF9, 0xBD7C, 0x7F75, 0xBD7D, 0x7F77, 0xBD7E, 0x7FAF, 0xBDA1, 0x7FE9, 0xBDA2, 0x8026, 0xBDA3, 0x819B, - 0xBDA4, 0x819C, 0xBDA5, 0x819D, 0xBDA6, 0x81A0, 0xBDA7, 0x819A, 0xBDA8, 0x8198, 0xBDA9, 0x8517, 0xBDAA, 0x853D, 0xBDAB, 0x851A, - 0xBDAC, 0x84EE, 0xBDAD, 0x852C, 0xBDAE, 0x852D, 0xBDAF, 0x8513, 0xBDB0, 0x8511, 0xBDB1, 0x8523, 0xBDB2, 0x8521, 0xBDB3, 0x8514, - 0xBDB4, 0x84EC, 0xBDB5, 0x8525, 0xBDB6, 0x84FF, 0xBDB7, 0x8506, 0xBDB8, 0x8782, 0xBDB9, 0x8774, 0xBDBA, 0x8776, 0xBDBB, 0x8760, - 0xBDBC, 0x8766, 0xBDBD, 0x8778, 0xBDBE, 0x8768, 0xBDBF, 0x8759, 0xBDC0, 0x8757, 0xBDC1, 0x874C, 0xBDC2, 0x8753, 0xBDC3, 0x885B, - 0xBDC4, 0x885D, 0xBDC5, 0x8910, 0xBDC6, 0x8907, 0xBDC7, 0x8912, 0xBDC8, 0x8913, 0xBDC9, 0x8915, 0xBDCA, 0x890A, 0xBDCB, 0x8ABC, - 0xBDCC, 0x8AD2, 0xBDCD, 0x8AC7, 0xBDCE, 0x8AC4, 0xBDCF, 0x8A95, 0xBDD0, 0x8ACB, 0xBDD1, 0x8AF8, 0xBDD2, 0x8AB2, 0xBDD3, 0x8AC9, - 0xBDD4, 0x8AC2, 0xBDD5, 0x8ABF, 0xBDD6, 0x8AB0, 0xBDD7, 0x8AD6, 0xBDD8, 0x8ACD, 0xBDD9, 0x8AB6, 0xBDDA, 0x8AB9, 0xBDDB, 0x8ADB, - 0xBDDC, 0x8C4C, 0xBDDD, 0x8C4E, 0xBDDE, 0x8C6C, 0xBDDF, 0x8CE0, 0xBDE0, 0x8CDE, 0xBDE1, 0x8CE6, 0xBDE2, 0x8CE4, 0xBDE3, 0x8CEC, - 0xBDE4, 0x8CED, 0xBDE5, 0x8CE2, 0xBDE6, 0x8CE3, 0xBDE7, 0x8CDC, 0xBDE8, 0x8CEA, 0xBDE9, 0x8CE1, 0xBDEA, 0x8D6D, 0xBDEB, 0x8D9F, - 0xBDEC, 0x8DA3, 0xBDED, 0x8E2B, 0xBDEE, 0x8E10, 0xBDEF, 0x8E1D, 0xBDF0, 0x8E22, 0xBDF1, 0x8E0F, 0xBDF2, 0x8E29, 0xBDF3, 0x8E1F, - 0xBDF4, 0x8E21, 0xBDF5, 0x8E1E, 0xBDF6, 0x8EBA, 0xBDF7, 0x8F1D, 0xBDF8, 0x8F1B, 0xBDF9, 0x8F1F, 0xBDFA, 0x8F29, 0xBDFB, 0x8F26, - 0xBDFC, 0x8F2A, 0xBDFD, 0x8F1C, 0xBDFE, 0x8F1E, 0xBE40, 0x8F25, 0xBE41, 0x9069, 0xBE42, 0x906E, 0xBE43, 0x9068, 0xBE44, 0x906D, - 0xBE45, 0x9077, 0xBE46, 0x9130, 0xBE47, 0x912D, 0xBE48, 0x9127, 0xBE49, 0x9131, 0xBE4A, 0x9187, 0xBE4B, 0x9189, 0xBE4C, 0x918B, - 0xBE4D, 0x9183, 0xBE4E, 0x92C5, 0xBE4F, 0x92BB, 0xBE50, 0x92B7, 0xBE51, 0x92EA, 0xBE52, 0x92AC, 0xBE53, 0x92E4, 0xBE54, 0x92C1, - 0xBE55, 0x92B3, 0xBE56, 0x92BC, 0xBE57, 0x92D2, 0xBE58, 0x92C7, 0xBE59, 0x92F0, 0xBE5A, 0x92B2, 0xBE5B, 0x95AD, 0xBE5C, 0x95B1, - 0xBE5D, 0x9704, 0xBE5E, 0x9706, 0xBE5F, 0x9707, 0xBE60, 0x9709, 0xBE61, 0x9760, 0xBE62, 0x978D, 0xBE63, 0x978B, 0xBE64, 0x978F, - 0xBE65, 0x9821, 0xBE66, 0x982B, 0xBE67, 0x981C, 0xBE68, 0x98B3, 0xBE69, 0x990A, 0xBE6A, 0x9913, 0xBE6B, 0x9912, 0xBE6C, 0x9918, - 0xBE6D, 0x99DD, 0xBE6E, 0x99D0, 0xBE6F, 0x99DF, 0xBE70, 0x99DB, 0xBE71, 0x99D1, 0xBE72, 0x99D5, 0xBE73, 0x99D2, 0xBE74, 0x99D9, - 0xBE75, 0x9AB7, 0xBE76, 0x9AEE, 0xBE77, 0x9AEF, 0xBE78, 0x9B27, 0xBE79, 0x9B45, 0xBE7A, 0x9B44, 0xBE7B, 0x9B77, 0xBE7C, 0x9B6F, - 0xBE7D, 0x9D06, 0xBE7E, 0x9D09, 0xBEA1, 0x9D03, 0xBEA2, 0x9EA9, 0xBEA3, 0x9EBE, 0xBEA4, 0x9ECE, 0xBEA5, 0x58A8, 0xBEA6, 0x9F52, - 0xBEA7, 0x5112, 0xBEA8, 0x5118, 0xBEA9, 0x5114, 0xBEAA, 0x5110, 0xBEAB, 0x5115, 0xBEAC, 0x5180, 0xBEAD, 0x51AA, 0xBEAE, 0x51DD, - 0xBEAF, 0x5291, 0xBEB0, 0x5293, 0xBEB1, 0x52F3, 0xBEB2, 0x5659, 0xBEB3, 0x566B, 0xBEB4, 0x5679, 0xBEB5, 0x5669, 0xBEB6, 0x5664, - 0xBEB7, 0x5678, 0xBEB8, 0x566A, 0xBEB9, 0x5668, 0xBEBA, 0x5665, 0xBEBB, 0x5671, 0xBEBC, 0x566F, 0xBEBD, 0x566C, 0xBEBE, 0x5662, - 0xBEBF, 0x5676, 0xBEC0, 0x58C1, 0xBEC1, 0x58BE, 0xBEC2, 0x58C7, 0xBEC3, 0x58C5, 0xBEC4, 0x596E, 0xBEC5, 0x5B1D, 0xBEC6, 0x5B34, - 0xBEC7, 0x5B78, 0xBEC8, 0x5BF0, 0xBEC9, 0x5C0E, 0xBECA, 0x5F4A, 0xBECB, 0x61B2, 0xBECC, 0x6191, 0xBECD, 0x61A9, 0xBECE, 0x618A, - 0xBECF, 0x61CD, 0xBED0, 0x61B6, 0xBED1, 0x61BE, 0xBED2, 0x61CA, 0xBED3, 0x61C8, 0xBED4, 0x6230, 0xBED5, 0x64C5, 0xBED6, 0x64C1, - 0xBED7, 0x64CB, 0xBED8, 0x64BB, 0xBED9, 0x64BC, 0xBEDA, 0x64DA, 0xBEDB, 0x64C4, 0xBEDC, 0x64C7, 0xBEDD, 0x64C2, 0xBEDE, 0x64CD, - 0xBEDF, 0x64BF, 0xBEE0, 0x64D2, 0xBEE1, 0x64D4, 0xBEE2, 0x64BE, 0xBEE3, 0x6574, 0xBEE4, 0x66C6, 0xBEE5, 0x66C9, 0xBEE6, 0x66B9, - 0xBEE7, 0x66C4, 0xBEE8, 0x66C7, 0xBEE9, 0x66B8, 0xBEEA, 0x6A3D, 0xBEEB, 0x6A38, 0xBEEC, 0x6A3A, 0xBEED, 0x6A59, 0xBEEE, 0x6A6B, - 0xBEEF, 0x6A58, 0xBEF0, 0x6A39, 0xBEF1, 0x6A44, 0xBEF2, 0x6A62, 0xBEF3, 0x6A61, 0xBEF4, 0x6A4B, 0xBEF5, 0x6A47, 0xBEF6, 0x6A35, - 0xBEF7, 0x6A5F, 0xBEF8, 0x6A48, 0xBEF9, 0x6B59, 0xBEFA, 0x6B77, 0xBEFB, 0x6C05, 0xBEFC, 0x6FC2, 0xBEFD, 0x6FB1, 0xBEFE, 0x6FA1, - 0xBF40, 0x6FC3, 0xBF41, 0x6FA4, 0xBF42, 0x6FC1, 0xBF43, 0x6FA7, 0xBF44, 0x6FB3, 0xBF45, 0x6FC0, 0xBF46, 0x6FB9, 0xBF47, 0x6FB6, - 0xBF48, 0x6FA6, 0xBF49, 0x6FA0, 0xBF4A, 0x6FB4, 0xBF4B, 0x71BE, 0xBF4C, 0x71C9, 0xBF4D, 0x71D0, 0xBF4E, 0x71D2, 0xBF4F, 0x71C8, - 0xBF50, 0x71D5, 0xBF51, 0x71B9, 0xBF52, 0x71CE, 0xBF53, 0x71D9, 0xBF54, 0x71DC, 0xBF55, 0x71C3, 0xBF56, 0x71C4, 0xBF57, 0x7368, - 0xBF58, 0x749C, 0xBF59, 0x74A3, 0xBF5A, 0x7498, 0xBF5B, 0x749F, 0xBF5C, 0x749E, 0xBF5D, 0x74E2, 0xBF5E, 0x750C, 0xBF5F, 0x750D, - 0xBF60, 0x7634, 0xBF61, 0x7638, 0xBF62, 0x763A, 0xBF63, 0x76E7, 0xBF64, 0x76E5, 0xBF65, 0x77A0, 0xBF66, 0x779E, 0xBF67, 0x779F, - 0xBF68, 0x77A5, 0xBF69, 0x78E8, 0xBF6A, 0x78DA, 0xBF6B, 0x78EC, 0xBF6C, 0x78E7, 0xBF6D, 0x79A6, 0xBF6E, 0x7A4D, 0xBF6F, 0x7A4E, - 0xBF70, 0x7A46, 0xBF71, 0x7A4C, 0xBF72, 0x7A4B, 0xBF73, 0x7ABA, 0xBF74, 0x7BD9, 0xBF75, 0x7C11, 0xBF76, 0x7BC9, 0xBF77, 0x7BE4, - 0xBF78, 0x7BDB, 0xBF79, 0x7BE1, 0xBF7A, 0x7BE9, 0xBF7B, 0x7BE6, 0xBF7C, 0x7CD5, 0xBF7D, 0x7CD6, 0xBF7E, 0x7E0A, 0xBFA1, 0x7E11, - 0xBFA2, 0x7E08, 0xBFA3, 0x7E1B, 0xBFA4, 0x7E23, 0xBFA5, 0x7E1E, 0xBFA6, 0x7E1D, 0xBFA7, 0x7E09, 0xBFA8, 0x7E10, 0xBFA9, 0x7F79, - 0xBFAA, 0x7FB2, 0xBFAB, 0x7FF0, 0xBFAC, 0x7FF1, 0xBFAD, 0x7FEE, 0xBFAE, 0x8028, 0xBFAF, 0x81B3, 0xBFB0, 0x81A9, 0xBFB1, 0x81A8, - 0xBFB2, 0x81FB, 0xBFB3, 0x8208, 0xBFB4, 0x8258, 0xBFB5, 0x8259, 0xBFB6, 0x854A, 0xBFB7, 0x8559, 0xBFB8, 0x8548, 0xBFB9, 0x8568, - 0xBFBA, 0x8569, 0xBFBB, 0x8543, 0xBFBC, 0x8549, 0xBFBD, 0x856D, 0xBFBE, 0x856A, 0xBFBF, 0x855E, 0xBFC0, 0x8783, 0xBFC1, 0x879F, - 0xBFC2, 0x879E, 0xBFC3, 0x87A2, 0xBFC4, 0x878D, 0xBFC5, 0x8861, 0xBFC6, 0x892A, 0xBFC7, 0x8932, 0xBFC8, 0x8925, 0xBFC9, 0x892B, - 0xBFCA, 0x8921, 0xBFCB, 0x89AA, 0xBFCC, 0x89A6, 0xBFCD, 0x8AE6, 0xBFCE, 0x8AFA, 0xBFCF, 0x8AEB, 0xBFD0, 0x8AF1, 0xBFD1, 0x8B00, - 0xBFD2, 0x8ADC, 0xBFD3, 0x8AE7, 0xBFD4, 0x8AEE, 0xBFD5, 0x8AFE, 0xBFD6, 0x8B01, 0xBFD7, 0x8B02, 0xBFD8, 0x8AF7, 0xBFD9, 0x8AED, - 0xBFDA, 0x8AF3, 0xBFDB, 0x8AF6, 0xBFDC, 0x8AFC, 0xBFDD, 0x8C6B, 0xBFDE, 0x8C6D, 0xBFDF, 0x8C93, 0xBFE0, 0x8CF4, 0xBFE1, 0x8E44, - 0xBFE2, 0x8E31, 0xBFE3, 0x8E34, 0xBFE4, 0x8E42, 0xBFE5, 0x8E39, 0xBFE6, 0x8E35, 0xBFE7, 0x8F3B, 0xBFE8, 0x8F2F, 0xBFE9, 0x8F38, - 0xBFEA, 0x8F33, 0xBFEB, 0x8FA8, 0xBFEC, 0x8FA6, 0xBFED, 0x9075, 0xBFEE, 0x9074, 0xBFEF, 0x9078, 0xBFF0, 0x9072, 0xBFF1, 0x907C, - 0xBFF2, 0x907A, 0xBFF3, 0x9134, 0xBFF4, 0x9192, 0xBFF5, 0x9320, 0xBFF6, 0x9336, 0xBFF7, 0x92F8, 0xBFF8, 0x9333, 0xBFF9, 0x932F, - 0xBFFA, 0x9322, 0xBFFB, 0x92FC, 0xBFFC, 0x932B, 0xBFFD, 0x9304, 0xBFFE, 0x931A, 0xC040, 0x9310, 0xC041, 0x9326, 0xC042, 0x9321, - 0xC043, 0x9315, 0xC044, 0x932E, 0xC045, 0x9319, 0xC046, 0x95BB, 0xC047, 0x96A7, 0xC048, 0x96A8, 0xC049, 0x96AA, 0xC04A, 0x96D5, - 0xC04B, 0x970E, 0xC04C, 0x9711, 0xC04D, 0x9716, 0xC04E, 0x970D, 0xC04F, 0x9713, 0xC050, 0x970F, 0xC051, 0x975B, 0xC052, 0x975C, - 0xC053, 0x9766, 0xC054, 0x9798, 0xC055, 0x9830, 0xC056, 0x9838, 0xC057, 0x983B, 0xC058, 0x9837, 0xC059, 0x982D, 0xC05A, 0x9839, - 0xC05B, 0x9824, 0xC05C, 0x9910, 0xC05D, 0x9928, 0xC05E, 0x991E, 0xC05F, 0x991B, 0xC060, 0x9921, 0xC061, 0x991A, 0xC062, 0x99ED, - 0xC063, 0x99E2, 0xC064, 0x99F1, 0xC065, 0x9AB8, 0xC066, 0x9ABC, 0xC067, 0x9AFB, 0xC068, 0x9AED, 0xC069, 0x9B28, 0xC06A, 0x9B91, - 0xC06B, 0x9D15, 0xC06C, 0x9D23, 0xC06D, 0x9D26, 0xC06E, 0x9D28, 0xC06F, 0x9D12, 0xC070, 0x9D1B, 0xC071, 0x9ED8, 0xC072, 0x9ED4, - 0xC073, 0x9F8D, 0xC074, 0x9F9C, 0xC075, 0x512A, 0xC076, 0x511F, 0xC077, 0x5121, 0xC078, 0x5132, 0xC079, 0x52F5, 0xC07A, 0x568E, - 0xC07B, 0x5680, 0xC07C, 0x5690, 0xC07D, 0x5685, 0xC07E, 0x5687, 0xC0A1, 0x568F, 0xC0A2, 0x58D5, 0xC0A3, 0x58D3, 0xC0A4, 0x58D1, - 0xC0A5, 0x58CE, 0xC0A6, 0x5B30, 0xC0A7, 0x5B2A, 0xC0A8, 0x5B24, 0xC0A9, 0x5B7A, 0xC0AA, 0x5C37, 0xC0AB, 0x5C68, 0xC0AC, 0x5DBC, - 0xC0AD, 0x5DBA, 0xC0AE, 0x5DBD, 0xC0AF, 0x5DB8, 0xC0B0, 0x5E6B, 0xC0B1, 0x5F4C, 0xC0B2, 0x5FBD, 0xC0B3, 0x61C9, 0xC0B4, 0x61C2, - 0xC0B5, 0x61C7, 0xC0B6, 0x61E6, 0xC0B7, 0x61CB, 0xC0B8, 0x6232, 0xC0B9, 0x6234, 0xC0BA, 0x64CE, 0xC0BB, 0x64CA, 0xC0BC, 0x64D8, - 0xC0BD, 0x64E0, 0xC0BE, 0x64F0, 0xC0BF, 0x64E6, 0xC0C0, 0x64EC, 0xC0C1, 0x64F1, 0xC0C2, 0x64E2, 0xC0C3, 0x64ED, 0xC0C4, 0x6582, - 0xC0C5, 0x6583, 0xC0C6, 0x66D9, 0xC0C7, 0x66D6, 0xC0C8, 0x6A80, 0xC0C9, 0x6A94, 0xC0CA, 0x6A84, 0xC0CB, 0x6AA2, 0xC0CC, 0x6A9C, - 0xC0CD, 0x6ADB, 0xC0CE, 0x6AA3, 0xC0CF, 0x6A7E, 0xC0D0, 0x6A97, 0xC0D1, 0x6A90, 0xC0D2, 0x6AA0, 0xC0D3, 0x6B5C, 0xC0D4, 0x6BAE, - 0xC0D5, 0x6BDA, 0xC0D6, 0x6C08, 0xC0D7, 0x6FD8, 0xC0D8, 0x6FF1, 0xC0D9, 0x6FDF, 0xC0DA, 0x6FE0, 0xC0DB, 0x6FDB, 0xC0DC, 0x6FE4, - 0xC0DD, 0x6FEB, 0xC0DE, 0x6FEF, 0xC0DF, 0x6F80, 0xC0E0, 0x6FEC, 0xC0E1, 0x6FE1, 0xC0E2, 0x6FE9, 0xC0E3, 0x6FD5, 0xC0E4, 0x6FEE, - 0xC0E5, 0x6FF0, 0xC0E6, 0x71E7, 0xC0E7, 0x71DF, 0xC0E8, 0x71EE, 0xC0E9, 0x71E6, 0xC0EA, 0x71E5, 0xC0EB, 0x71ED, 0xC0EC, 0x71EC, - 0xC0ED, 0x71F4, 0xC0EE, 0x71E0, 0xC0EF, 0x7235, 0xC0F0, 0x7246, 0xC0F1, 0x7370, 0xC0F2, 0x7372, 0xC0F3, 0x74A9, 0xC0F4, 0x74B0, - 0xC0F5, 0x74A6, 0xC0F6, 0x74A8, 0xC0F7, 0x7646, 0xC0F8, 0x7642, 0xC0F9, 0x764C, 0xC0FA, 0x76EA, 0xC0FB, 0x77B3, 0xC0FC, 0x77AA, - 0xC0FD, 0x77B0, 0xC0FE, 0x77AC, 0xC140, 0x77A7, 0xC141, 0x77AD, 0xC142, 0x77EF, 0xC143, 0x78F7, 0xC144, 0x78FA, 0xC145, 0x78F4, - 0xC146, 0x78EF, 0xC147, 0x7901, 0xC148, 0x79A7, 0xC149, 0x79AA, 0xC14A, 0x7A57, 0xC14B, 0x7ABF, 0xC14C, 0x7C07, 0xC14D, 0x7C0D, - 0xC14E, 0x7BFE, 0xC14F, 0x7BF7, 0xC150, 0x7C0C, 0xC151, 0x7BE0, 0xC152, 0x7CE0, 0xC153, 0x7CDC, 0xC154, 0x7CDE, 0xC155, 0x7CE2, - 0xC156, 0x7CDF, 0xC157, 0x7CD9, 0xC158, 0x7CDD, 0xC159, 0x7E2E, 0xC15A, 0x7E3E, 0xC15B, 0x7E46, 0xC15C, 0x7E37, 0xC15D, 0x7E32, - 0xC15E, 0x7E43, 0xC15F, 0x7E2B, 0xC160, 0x7E3D, 0xC161, 0x7E31, 0xC162, 0x7E45, 0xC163, 0x7E41, 0xC164, 0x7E34, 0xC165, 0x7E39, - 0xC166, 0x7E48, 0xC167, 0x7E35, 0xC168, 0x7E3F, 0xC169, 0x7E2F, 0xC16A, 0x7F44, 0xC16B, 0x7FF3, 0xC16C, 0x7FFC, 0xC16D, 0x8071, - 0xC16E, 0x8072, 0xC16F, 0x8070, 0xC170, 0x806F, 0xC171, 0x8073, 0xC172, 0x81C6, 0xC173, 0x81C3, 0xC174, 0x81BA, 0xC175, 0x81C2, - 0xC176, 0x81C0, 0xC177, 0x81BF, 0xC178, 0x81BD, 0xC179, 0x81C9, 0xC17A, 0x81BE, 0xC17B, 0x81E8, 0xC17C, 0x8209, 0xC17D, 0x8271, - 0xC17E, 0x85AA, 0xC1A1, 0x8584, 0xC1A2, 0x857E, 0xC1A3, 0x859C, 0xC1A4, 0x8591, 0xC1A5, 0x8594, 0xC1A6, 0x85AF, 0xC1A7, 0x859B, - 0xC1A8, 0x8587, 0xC1A9, 0x85A8, 0xC1AA, 0x858A, 0xC1AB, 0x8667, 0xC1AC, 0x87C0, 0xC1AD, 0x87D1, 0xC1AE, 0x87B3, 0xC1AF, 0x87D2, - 0xC1B0, 0x87C6, 0xC1B1, 0x87AB, 0xC1B2, 0x87BB, 0xC1B3, 0x87BA, 0xC1B4, 0x87C8, 0xC1B5, 0x87CB, 0xC1B6, 0x893B, 0xC1B7, 0x8936, - 0xC1B8, 0x8944, 0xC1B9, 0x8938, 0xC1BA, 0x893D, 0xC1BB, 0x89AC, 0xC1BC, 0x8B0E, 0xC1BD, 0x8B17, 0xC1BE, 0x8B19, 0xC1BF, 0x8B1B, - 0xC1C0, 0x8B0A, 0xC1C1, 0x8B20, 0xC1C2, 0x8B1D, 0xC1C3, 0x8B04, 0xC1C4, 0x8B10, 0xC1C5, 0x8C41, 0xC1C6, 0x8C3F, 0xC1C7, 0x8C73, - 0xC1C8, 0x8CFA, 0xC1C9, 0x8CFD, 0xC1CA, 0x8CFC, 0xC1CB, 0x8CF8, 0xC1CC, 0x8CFB, 0xC1CD, 0x8DA8, 0xC1CE, 0x8E49, 0xC1CF, 0x8E4B, - 0xC1D0, 0x8E48, 0xC1D1, 0x8E4A, 0xC1D2, 0x8F44, 0xC1D3, 0x8F3E, 0xC1D4, 0x8F42, 0xC1D5, 0x8F45, 0xC1D6, 0x8F3F, 0xC1D7, 0x907F, - 0xC1D8, 0x907D, 0xC1D9, 0x9084, 0xC1DA, 0x9081, 0xC1DB, 0x9082, 0xC1DC, 0x9080, 0xC1DD, 0x9139, 0xC1DE, 0x91A3, 0xC1DF, 0x919E, - 0xC1E0, 0x919C, 0xC1E1, 0x934D, 0xC1E2, 0x9382, 0xC1E3, 0x9328, 0xC1E4, 0x9375, 0xC1E5, 0x934A, 0xC1E6, 0x9365, 0xC1E7, 0x934B, - 0xC1E8, 0x9318, 0xC1E9, 0x937E, 0xC1EA, 0x936C, 0xC1EB, 0x935B, 0xC1EC, 0x9370, 0xC1ED, 0x935A, 0xC1EE, 0x9354, 0xC1EF, 0x95CA, - 0xC1F0, 0x95CB, 0xC1F1, 0x95CC, 0xC1F2, 0x95C8, 0xC1F3, 0x95C6, 0xC1F4, 0x96B1, 0xC1F5, 0x96B8, 0xC1F6, 0x96D6, 0xC1F7, 0x971C, - 0xC1F8, 0x971E, 0xC1F9, 0x97A0, 0xC1FA, 0x97D3, 0xC1FB, 0x9846, 0xC1FC, 0x98B6, 0xC1FD, 0x9935, 0xC1FE, 0x9A01, 0xC240, 0x99FF, - 0xC241, 0x9BAE, 0xC242, 0x9BAB, 0xC243, 0x9BAA, 0xC244, 0x9BAD, 0xC245, 0x9D3B, 0xC246, 0x9D3F, 0xC247, 0x9E8B, 0xC248, 0x9ECF, - 0xC249, 0x9EDE, 0xC24A, 0x9EDC, 0xC24B, 0x9EDD, 0xC24C, 0x9EDB, 0xC24D, 0x9F3E, 0xC24E, 0x9F4B, 0xC24F, 0x53E2, 0xC250, 0x5695, - 0xC251, 0x56AE, 0xC252, 0x58D9, 0xC253, 0x58D8, 0xC254, 0x5B38, 0xC255, 0x5F5D, 0xC256, 0x61E3, 0xC257, 0x6233, 0xC258, 0x64F4, - 0xC259, 0x64F2, 0xC25A, 0x64FE, 0xC25B, 0x6506, 0xC25C, 0x64FA, 0xC25D, 0x64FB, 0xC25E, 0x64F7, 0xC25F, 0x65B7, 0xC260, 0x66DC, - 0xC261, 0x6726, 0xC262, 0x6AB3, 0xC263, 0x6AAC, 0xC264, 0x6AC3, 0xC265, 0x6ABB, 0xC266, 0x6AB8, 0xC267, 0x6AC2, 0xC268, 0x6AAE, - 0xC269, 0x6AAF, 0xC26A, 0x6B5F, 0xC26B, 0x6B78, 0xC26C, 0x6BAF, 0xC26D, 0x7009, 0xC26E, 0x700B, 0xC26F, 0x6FFE, 0xC270, 0x7006, - 0xC271, 0x6FFA, 0xC272, 0x7011, 0xC273, 0x700F, 0xC274, 0x71FB, 0xC275, 0x71FC, 0xC276, 0x71FE, 0xC277, 0x71F8, 0xC278, 0x7377, - 0xC279, 0x7375, 0xC27A, 0x74A7, 0xC27B, 0x74BF, 0xC27C, 0x7515, 0xC27D, 0x7656, 0xC27E, 0x7658, 0xC2A1, 0x7652, 0xC2A2, 0x77BD, - 0xC2A3, 0x77BF, 0xC2A4, 0x77BB, 0xC2A5, 0x77BC, 0xC2A6, 0x790E, 0xC2A7, 0x79AE, 0xC2A8, 0x7A61, 0xC2A9, 0x7A62, 0xC2AA, 0x7A60, - 0xC2AB, 0x7AC4, 0xC2AC, 0x7AC5, 0xC2AD, 0x7C2B, 0xC2AE, 0x7C27, 0xC2AF, 0x7C2A, 0xC2B0, 0x7C1E, 0xC2B1, 0x7C23, 0xC2B2, 0x7C21, - 0xC2B3, 0x7CE7, 0xC2B4, 0x7E54, 0xC2B5, 0x7E55, 0xC2B6, 0x7E5E, 0xC2B7, 0x7E5A, 0xC2B8, 0x7E61, 0xC2B9, 0x7E52, 0xC2BA, 0x7E59, - 0xC2BB, 0x7F48, 0xC2BC, 0x7FF9, 0xC2BD, 0x7FFB, 0xC2BE, 0x8077, 0xC2BF, 0x8076, 0xC2C0, 0x81CD, 0xC2C1, 0x81CF, 0xC2C2, 0x820A, - 0xC2C3, 0x85CF, 0xC2C4, 0x85A9, 0xC2C5, 0x85CD, 0xC2C6, 0x85D0, 0xC2C7, 0x85C9, 0xC2C8, 0x85B0, 0xC2C9, 0x85BA, 0xC2CA, 0x85B9, - 0xC2CB, 0x85A6, 0xC2CC, 0x87EF, 0xC2CD, 0x87EC, 0xC2CE, 0x87F2, 0xC2CF, 0x87E0, 0xC2D0, 0x8986, 0xC2D1, 0x89B2, 0xC2D2, 0x89F4, - 0xC2D3, 0x8B28, 0xC2D4, 0x8B39, 0xC2D5, 0x8B2C, 0xC2D6, 0x8B2B, 0xC2D7, 0x8C50, 0xC2D8, 0x8D05, 0xC2D9, 0x8E59, 0xC2DA, 0x8E63, - 0xC2DB, 0x8E66, 0xC2DC, 0x8E64, 0xC2DD, 0x8E5F, 0xC2DE, 0x8E55, 0xC2DF, 0x8EC0, 0xC2E0, 0x8F49, 0xC2E1, 0x8F4D, 0xC2E2, 0x9087, - 0xC2E3, 0x9083, 0xC2E4, 0x9088, 0xC2E5, 0x91AB, 0xC2E6, 0x91AC, 0xC2E7, 0x91D0, 0xC2E8, 0x9394, 0xC2E9, 0x938A, 0xC2EA, 0x9396, - 0xC2EB, 0x93A2, 0xC2EC, 0x93B3, 0xC2ED, 0x93AE, 0xC2EE, 0x93AC, 0xC2EF, 0x93B0, 0xC2F0, 0x9398, 0xC2F1, 0x939A, 0xC2F2, 0x9397, - 0xC2F3, 0x95D4, 0xC2F4, 0x95D6, 0xC2F5, 0x95D0, 0xC2F6, 0x95D5, 0xC2F7, 0x96E2, 0xC2F8, 0x96DC, 0xC2F9, 0x96D9, 0xC2FA, 0x96DB, - 0xC2FB, 0x96DE, 0xC2FC, 0x9724, 0xC2FD, 0x97A3, 0xC2FE, 0x97A6, 0xC340, 0x97AD, 0xC341, 0x97F9, 0xC342, 0x984D, 0xC343, 0x984F, - 0xC344, 0x984C, 0xC345, 0x984E, 0xC346, 0x9853, 0xC347, 0x98BA, 0xC348, 0x993E, 0xC349, 0x993F, 0xC34A, 0x993D, 0xC34B, 0x992E, - 0xC34C, 0x99A5, 0xC34D, 0x9A0E, 0xC34E, 0x9AC1, 0xC34F, 0x9B03, 0xC350, 0x9B06, 0xC351, 0x9B4F, 0xC352, 0x9B4E, 0xC353, 0x9B4D, - 0xC354, 0x9BCA, 0xC355, 0x9BC9, 0xC356, 0x9BFD, 0xC357, 0x9BC8, 0xC358, 0x9BC0, 0xC359, 0x9D51, 0xC35A, 0x9D5D, 0xC35B, 0x9D60, - 0xC35C, 0x9EE0, 0xC35D, 0x9F15, 0xC35E, 0x9F2C, 0xC35F, 0x5133, 0xC360, 0x56A5, 0xC361, 0x58DE, 0xC362, 0x58DF, 0xC363, 0x58E2, - 0xC364, 0x5BF5, 0xC365, 0x9F90, 0xC366, 0x5EEC, 0xC367, 0x61F2, 0xC368, 0x61F7, 0xC369, 0x61F6, 0xC36A, 0x61F5, 0xC36B, 0x6500, - 0xC36C, 0x650F, 0xC36D, 0x66E0, 0xC36E, 0x66DD, 0xC36F, 0x6AE5, 0xC370, 0x6ADD, 0xC371, 0x6ADA, 0xC372, 0x6AD3, 0xC373, 0x701B, - 0xC374, 0x701F, 0xC375, 0x7028, 0xC376, 0x701A, 0xC377, 0x701D, 0xC378, 0x7015, 0xC379, 0x7018, 0xC37A, 0x7206, 0xC37B, 0x720D, - 0xC37C, 0x7258, 0xC37D, 0x72A2, 0xC37E, 0x7378, 0xC3A1, 0x737A, 0xC3A2, 0x74BD, 0xC3A3, 0x74CA, 0xC3A4, 0x74E3, 0xC3A5, 0x7587, - 0xC3A6, 0x7586, 0xC3A7, 0x765F, 0xC3A8, 0x7661, 0xC3A9, 0x77C7, 0xC3AA, 0x7919, 0xC3AB, 0x79B1, 0xC3AC, 0x7A6B, 0xC3AD, 0x7A69, - 0xC3AE, 0x7C3E, 0xC3AF, 0x7C3F, 0xC3B0, 0x7C38, 0xC3B1, 0x7C3D, 0xC3B2, 0x7C37, 0xC3B3, 0x7C40, 0xC3B4, 0x7E6B, 0xC3B5, 0x7E6D, - 0xC3B6, 0x7E79, 0xC3B7, 0x7E69, 0xC3B8, 0x7E6A, 0xC3B9, 0x7F85, 0xC3BA, 0x7E73, 0xC3BB, 0x7FB6, 0xC3BC, 0x7FB9, 0xC3BD, 0x7FB8, - 0xC3BE, 0x81D8, 0xC3BF, 0x85E9, 0xC3C0, 0x85DD, 0xC3C1, 0x85EA, 0xC3C2, 0x85D5, 0xC3C3, 0x85E4, 0xC3C4, 0x85E5, 0xC3C5, 0x85F7, - 0xC3C6, 0x87FB, 0xC3C7, 0x8805, 0xC3C8, 0x880D, 0xC3C9, 0x87F9, 0xC3CA, 0x87FE, 0xC3CB, 0x8960, 0xC3CC, 0x895F, 0xC3CD, 0x8956, - 0xC3CE, 0x895E, 0xC3CF, 0x8B41, 0xC3D0, 0x8B5C, 0xC3D1, 0x8B58, 0xC3D2, 0x8B49, 0xC3D3, 0x8B5A, 0xC3D4, 0x8B4E, 0xC3D5, 0x8B4F, - 0xC3D6, 0x8B46, 0xC3D7, 0x8B59, 0xC3D8, 0x8D08, 0xC3D9, 0x8D0A, 0xC3DA, 0x8E7C, 0xC3DB, 0x8E72, 0xC3DC, 0x8E87, 0xC3DD, 0x8E76, - 0xC3DE, 0x8E6C, 0xC3DF, 0x8E7A, 0xC3E0, 0x8E74, 0xC3E1, 0x8F54, 0xC3E2, 0x8F4E, 0xC3E3, 0x8FAD, 0xC3E4, 0x908A, 0xC3E5, 0x908B, - 0xC3E6, 0x91B1, 0xC3E7, 0x91AE, 0xC3E8, 0x93E1, 0xC3E9, 0x93D1, 0xC3EA, 0x93DF, 0xC3EB, 0x93C3, 0xC3EC, 0x93C8, 0xC3ED, 0x93DC, - 0xC3EE, 0x93DD, 0xC3EF, 0x93D6, 0xC3F0, 0x93E2, 0xC3F1, 0x93CD, 0xC3F2, 0x93D8, 0xC3F3, 0x93E4, 0xC3F4, 0x93D7, 0xC3F5, 0x93E8, - 0xC3F6, 0x95DC, 0xC3F7, 0x96B4, 0xC3F8, 0x96E3, 0xC3F9, 0x972A, 0xC3FA, 0x9727, 0xC3FB, 0x9761, 0xC3FC, 0x97DC, 0xC3FD, 0x97FB, - 0xC3FE, 0x985E, 0xC440, 0x9858, 0xC441, 0x985B, 0xC442, 0x98BC, 0xC443, 0x9945, 0xC444, 0x9949, 0xC445, 0x9A16, 0xC446, 0x9A19, - 0xC447, 0x9B0D, 0xC448, 0x9BE8, 0xC449, 0x9BE7, 0xC44A, 0x9BD6, 0xC44B, 0x9BDB, 0xC44C, 0x9D89, 0xC44D, 0x9D61, 0xC44E, 0x9D72, - 0xC44F, 0x9D6A, 0xC450, 0x9D6C, 0xC451, 0x9E92, 0xC452, 0x9E97, 0xC453, 0x9E93, 0xC454, 0x9EB4, 0xC455, 0x52F8, 0xC456, 0x56A8, - 0xC457, 0x56B7, 0xC458, 0x56B6, 0xC459, 0x56B4, 0xC45A, 0x56BC, 0xC45B, 0x58E4, 0xC45C, 0x5B40, 0xC45D, 0x5B43, 0xC45E, 0x5B7D, - 0xC45F, 0x5BF6, 0xC460, 0x5DC9, 0xC461, 0x61F8, 0xC462, 0x61FA, 0xC463, 0x6518, 0xC464, 0x6514, 0xC465, 0x6519, 0xC466, 0x66E6, - 0xC467, 0x6727, 0xC468, 0x6AEC, 0xC469, 0x703E, 0xC46A, 0x7030, 0xC46B, 0x7032, 0xC46C, 0x7210, 0xC46D, 0x737B, 0xC46E, 0x74CF, - 0xC46F, 0x7662, 0xC470, 0x7665, 0xC471, 0x7926, 0xC472, 0x792A, 0xC473, 0x792C, 0xC474, 0x792B, 0xC475, 0x7AC7, 0xC476, 0x7AF6, - 0xC477, 0x7C4C, 0xC478, 0x7C43, 0xC479, 0x7C4D, 0xC47A, 0x7CEF, 0xC47B, 0x7CF0, 0xC47C, 0x8FAE, 0xC47D, 0x7E7D, 0xC47E, 0x7E7C, - 0xC4A1, 0x7E82, 0xC4A2, 0x7F4C, 0xC4A3, 0x8000, 0xC4A4, 0x81DA, 0xC4A5, 0x8266, 0xC4A6, 0x85FB, 0xC4A7, 0x85F9, 0xC4A8, 0x8611, - 0xC4A9, 0x85FA, 0xC4AA, 0x8606, 0xC4AB, 0x860B, 0xC4AC, 0x8607, 0xC4AD, 0x860A, 0xC4AE, 0x8814, 0xC4AF, 0x8815, 0xC4B0, 0x8964, - 0xC4B1, 0x89BA, 0xC4B2, 0x89F8, 0xC4B3, 0x8B70, 0xC4B4, 0x8B6C, 0xC4B5, 0x8B66, 0xC4B6, 0x8B6F, 0xC4B7, 0x8B5F, 0xC4B8, 0x8B6B, - 0xC4B9, 0x8D0F, 0xC4BA, 0x8D0D, 0xC4BB, 0x8E89, 0xC4BC, 0x8E81, 0xC4BD, 0x8E85, 0xC4BE, 0x8E82, 0xC4BF, 0x91B4, 0xC4C0, 0x91CB, - 0xC4C1, 0x9418, 0xC4C2, 0x9403, 0xC4C3, 0x93FD, 0xC4C4, 0x95E1, 0xC4C5, 0x9730, 0xC4C6, 0x98C4, 0xC4C7, 0x9952, 0xC4C8, 0x9951, - 0xC4C9, 0x99A8, 0xC4CA, 0x9A2B, 0xC4CB, 0x9A30, 0xC4CC, 0x9A37, 0xC4CD, 0x9A35, 0xC4CE, 0x9C13, 0xC4CF, 0x9C0D, 0xC4D0, 0x9E79, - 0xC4D1, 0x9EB5, 0xC4D2, 0x9EE8, 0xC4D3, 0x9F2F, 0xC4D4, 0x9F5F, 0xC4D5, 0x9F63, 0xC4D6, 0x9F61, 0xC4D7, 0x5137, 0xC4D8, 0x5138, - 0xC4D9, 0x56C1, 0xC4DA, 0x56C0, 0xC4DB, 0x56C2, 0xC4DC, 0x5914, 0xC4DD, 0x5C6C, 0xC4DE, 0x5DCD, 0xC4DF, 0x61FC, 0xC4E0, 0x61FE, - 0xC4E1, 0x651D, 0xC4E2, 0x651C, 0xC4E3, 0x6595, 0xC4E4, 0x66E9, 0xC4E5, 0x6AFB, 0xC4E6, 0x6B04, 0xC4E7, 0x6AFA, 0xC4E8, 0x6BB2, - 0xC4E9, 0x704C, 0xC4EA, 0x721B, 0xC4EB, 0x72A7, 0xC4EC, 0x74D6, 0xC4ED, 0x74D4, 0xC4EE, 0x7669, 0xC4EF, 0x77D3, 0xC4F0, 0x7C50, - 0xC4F1, 0x7E8F, 0xC4F2, 0x7E8C, 0xC4F3, 0x7FBC, 0xC4F4, 0x8617, 0xC4F5, 0x862D, 0xC4F6, 0x861A, 0xC4F7, 0x8823, 0xC4F8, 0x8822, - 0xC4F9, 0x8821, 0xC4FA, 0x881F, 0xC4FB, 0x896A, 0xC4FC, 0x896C, 0xC4FD, 0x89BD, 0xC4FE, 0x8B74, 0xC540, 0x8B77, 0xC541, 0x8B7D, - 0xC542, 0x8D13, 0xC543, 0x8E8A, 0xC544, 0x8E8D, 0xC545, 0x8E8B, 0xC546, 0x8F5F, 0xC547, 0x8FAF, 0xC548, 0x91BA, 0xC549, 0x942E, - 0xC54A, 0x9433, 0xC54B, 0x9435, 0xC54C, 0x943A, 0xC54D, 0x9438, 0xC54E, 0x9432, 0xC54F, 0x942B, 0xC550, 0x95E2, 0xC551, 0x9738, - 0xC552, 0x9739, 0xC553, 0x9732, 0xC554, 0x97FF, 0xC555, 0x9867, 0xC556, 0x9865, 0xC557, 0x9957, 0xC558, 0x9A45, 0xC559, 0x9A43, - 0xC55A, 0x9A40, 0xC55B, 0x9A3E, 0xC55C, 0x9ACF, 0xC55D, 0x9B54, 0xC55E, 0x9B51, 0xC55F, 0x9C2D, 0xC560, 0x9C25, 0xC561, 0x9DAF, - 0xC562, 0x9DB4, 0xC563, 0x9DC2, 0xC564, 0x9DB8, 0xC565, 0x9E9D, 0xC566, 0x9EEF, 0xC567, 0x9F19, 0xC568, 0x9F5C, 0xC569, 0x9F66, - 0xC56A, 0x9F67, 0xC56B, 0x513C, 0xC56C, 0x513B, 0xC56D, 0x56C8, 0xC56E, 0x56CA, 0xC56F, 0x56C9, 0xC570, 0x5B7F, 0xC571, 0x5DD4, - 0xC572, 0x5DD2, 0xC573, 0x5F4E, 0xC574, 0x61FF, 0xC575, 0x6524, 0xC576, 0x6B0A, 0xC577, 0x6B61, 0xC578, 0x7051, 0xC579, 0x7058, - 0xC57A, 0x7380, 0xC57B, 0x74E4, 0xC57C, 0x758A, 0xC57D, 0x766E, 0xC57E, 0x766C, 0xC5A1, 0x79B3, 0xC5A2, 0x7C60, 0xC5A3, 0x7C5F, - 0xC5A4, 0x807E, 0xC5A5, 0x807D, 0xC5A6, 0x81DF, 0xC5A7, 0x8972, 0xC5A8, 0x896F, 0xC5A9, 0x89FC, 0xC5AA, 0x8B80, 0xC5AB, 0x8D16, - 0xC5AC, 0x8D17, 0xC5AD, 0x8E91, 0xC5AE, 0x8E93, 0xC5AF, 0x8F61, 0xC5B0, 0x9148, 0xC5B1, 0x9444, 0xC5B2, 0x9451, 0xC5B3, 0x9452, - 0xC5B4, 0x973D, 0xC5B5, 0x973E, 0xC5B6, 0x97C3, 0xC5B7, 0x97C1, 0xC5B8, 0x986B, 0xC5B9, 0x9955, 0xC5BA, 0x9A55, 0xC5BB, 0x9A4D, - 0xC5BC, 0x9AD2, 0xC5BD, 0x9B1A, 0xC5BE, 0x9C49, 0xC5BF, 0x9C31, 0xC5C0, 0x9C3E, 0xC5C1, 0x9C3B, 0xC5C2, 0x9DD3, 0xC5C3, 0x9DD7, - 0xC5C4, 0x9F34, 0xC5C5, 0x9F6C, 0xC5C6, 0x9F6A, 0xC5C7, 0x9F94, 0xC5C8, 0x56CC, 0xC5C9, 0x5DD6, 0xC5CA, 0x6200, 0xC5CB, 0x6523, - 0xC5CC, 0x652B, 0xC5CD, 0x652A, 0xC5CE, 0x66EC, 0xC5CF, 0x6B10, 0xC5D0, 0x74DA, 0xC5D1, 0x7ACA, 0xC5D2, 0x7C64, 0xC5D3, 0x7C63, - 0xC5D4, 0x7C65, 0xC5D5, 0x7E93, 0xC5D6, 0x7E96, 0xC5D7, 0x7E94, 0xC5D8, 0x81E2, 0xC5D9, 0x8638, 0xC5DA, 0x863F, 0xC5DB, 0x8831, - 0xC5DC, 0x8B8A, 0xC5DD, 0x9090, 0xC5DE, 0x908F, 0xC5DF, 0x9463, 0xC5E0, 0x9460, 0xC5E1, 0x9464, 0xC5E2, 0x9768, 0xC5E3, 0x986F, - 0xC5E4, 0x995C, 0xC5E5, 0x9A5A, 0xC5E6, 0x9A5B, 0xC5E7, 0x9A57, 0xC5E8, 0x9AD3, 0xC5E9, 0x9AD4, 0xC5EA, 0x9AD1, 0xC5EB, 0x9C54, - 0xC5EC, 0x9C57, 0xC5ED, 0x9C56, 0xC5EE, 0x9DE5, 0xC5EF, 0x9E9F, 0xC5F0, 0x9EF4, 0xC5F1, 0x56D1, 0xC5F2, 0x58E9, 0xC5F3, 0x652C, - 0xC5F4, 0x705E, 0xC5F5, 0x7671, 0xC5F6, 0x7672, 0xC5F7, 0x77D7, 0xC5F8, 0x7F50, 0xC5F9, 0x7F88, 0xC5FA, 0x8836, 0xC5FB, 0x8839, - 0xC5FC, 0x8862, 0xC5FD, 0x8B93, 0xC5FE, 0x8B92, 0xC640, 0x8B96, 0xC641, 0x8277, 0xC642, 0x8D1B, 0xC643, 0x91C0, 0xC644, 0x946A, - 0xC645, 0x9742, 0xC646, 0x9748, 0xC647, 0x9744, 0xC648, 0x97C6, 0xC649, 0x9870, 0xC64A, 0x9A5F, 0xC64B, 0x9B22, 0xC64C, 0x9B58, - 0xC64D, 0x9C5F, 0xC64E, 0x9DF9, 0xC64F, 0x9DFA, 0xC650, 0x9E7C, 0xC651, 0x9E7D, 0xC652, 0x9F07, 0xC653, 0x9F77, 0xC654, 0x9F72, - 0xC655, 0x5EF3, 0xC656, 0x6B16, 0xC657, 0x7063, 0xC658, 0x7C6C, 0xC659, 0x7C6E, 0xC65A, 0x883B, 0xC65B, 0x89C0, 0xC65C, 0x8EA1, - 0xC65D, 0x91C1, 0xC65E, 0x9472, 0xC65F, 0x9470, 0xC660, 0x9871, 0xC661, 0x995E, 0xC662, 0x9AD6, 0xC663, 0x9B23, 0xC664, 0x9ECC, - 0xC665, 0x7064, 0xC666, 0x77DA, 0xC667, 0x8B9A, 0xC668, 0x9477, 0xC669, 0x97C9, 0xC66A, 0x9A62, 0xC66B, 0x9A65, 0xC66C, 0x7E9C, - 0xC66D, 0x8B9C, 0xC66E, 0x8EAA, 0xC66F, 0x91C5, 0xC670, 0x947D, 0xC671, 0x947E, 0xC672, 0x947C, 0xC673, 0x9C77, 0xC674, 0x9C78, - 0xC675, 0x9EF7, 0xC676, 0x8C54, 0xC677, 0x947F, 0xC678, 0x9E1A, 0xC679, 0x7228, 0xC67A, 0x9A6A, 0xC67B, 0x9B31, 0xC67C, 0x9E1B, - 0xC67D, 0x9E1E, 0xC67E, 0x7C72, 0xC940, 0x4E42, 0xC941, 0x4E5C, 0xC942, 0x51F5, 0xC943, 0x531A, 0xC944, 0x5382, 0xC945, 0x4E07, - 0xC946, 0x4E0C, 0xC947, 0x4E47, 0xC948, 0x4E8D, 0xC949, 0x56D7, 0xC94A, 0xFA0C, 0xC94B, 0x5C6E, 0xC94C, 0x5F73, 0xC94D, 0x4E0F, - 0xC94E, 0x5187, 0xC94F, 0x4E0E, 0xC950, 0x4E2E, 0xC951, 0x4E93, 0xC952, 0x4EC2, 0xC953, 0x4EC9, 0xC954, 0x4EC8, 0xC955, 0x5198, - 0xC956, 0x52FC, 0xC957, 0x536C, 0xC958, 0x53B9, 0xC959, 0x5720, 0xC95A, 0x5903, 0xC95B, 0x592C, 0xC95C, 0x5C10, 0xC95D, 0x5DFF, - 0xC95E, 0x65E1, 0xC95F, 0x6BB3, 0xC960, 0x6BCC, 0xC961, 0x6C14, 0xC962, 0x723F, 0xC963, 0x4E31, 0xC964, 0x4E3C, 0xC965, 0x4EE8, - 0xC966, 0x4EDC, 0xC967, 0x4EE9, 0xC968, 0x4EE1, 0xC969, 0x4EDD, 0xC96A, 0x4EDA, 0xC96B, 0x520C, 0xC96C, 0x531C, 0xC96D, 0x534C, - 0xC96E, 0x5722, 0xC96F, 0x5723, 0xC970, 0x5917, 0xC971, 0x592F, 0xC972, 0x5B81, 0xC973, 0x5B84, 0xC974, 0x5C12, 0xC975, 0x5C3B, - 0xC976, 0x5C74, 0xC977, 0x5C73, 0xC978, 0x5E04, 0xC979, 0x5E80, 0xC97A, 0x5E82, 0xC97B, 0x5FC9, 0xC97C, 0x6209, 0xC97D, 0x6250, - 0xC97E, 0x6C15, 0xC9A1, 0x6C36, 0xC9A2, 0x6C43, 0xC9A3, 0x6C3F, 0xC9A4, 0x6C3B, 0xC9A5, 0x72AE, 0xC9A6, 0x72B0, 0xC9A7, 0x738A, - 0xC9A8, 0x79B8, 0xC9A9, 0x808A, 0xC9AA, 0x961E, 0xC9AB, 0x4F0E, 0xC9AC, 0x4F18, 0xC9AD, 0x4F2C, 0xC9AE, 0x4EF5, 0xC9AF, 0x4F14, - 0xC9B0, 0x4EF1, 0xC9B1, 0x4F00, 0xC9B2, 0x4EF7, 0xC9B3, 0x4F08, 0xC9B4, 0x4F1D, 0xC9B5, 0x4F02, 0xC9B6, 0x4F05, 0xC9B7, 0x4F22, - 0xC9B8, 0x4F13, 0xC9B9, 0x4F04, 0xC9BA, 0x4EF4, 0xC9BB, 0x4F12, 0xC9BC, 0x51B1, 0xC9BD, 0x5213, 0xC9BE, 0x5209, 0xC9BF, 0x5210, - 0xC9C0, 0x52A6, 0xC9C1, 0x5322, 0xC9C2, 0x531F, 0xC9C3, 0x534D, 0xC9C4, 0x538A, 0xC9C5, 0x5407, 0xC9C6, 0x56E1, 0xC9C7, 0x56DF, - 0xC9C8, 0x572E, 0xC9C9, 0x572A, 0xC9CA, 0x5734, 0xC9CB, 0x593C, 0xC9CC, 0x5980, 0xC9CD, 0x597C, 0xC9CE, 0x5985, 0xC9CF, 0x597B, - 0xC9D0, 0x597E, 0xC9D1, 0x5977, 0xC9D2, 0x597F, 0xC9D3, 0x5B56, 0xC9D4, 0x5C15, 0xC9D5, 0x5C25, 0xC9D6, 0x5C7C, 0xC9D7, 0x5C7A, - 0xC9D8, 0x5C7B, 0xC9D9, 0x5C7E, 0xC9DA, 0x5DDF, 0xC9DB, 0x5E75, 0xC9DC, 0x5E84, 0xC9DD, 0x5F02, 0xC9DE, 0x5F1A, 0xC9DF, 0x5F74, - 0xC9E0, 0x5FD5, 0xC9E1, 0x5FD4, 0xC9E2, 0x5FCF, 0xC9E3, 0x625C, 0xC9E4, 0x625E, 0xC9E5, 0x6264, 0xC9E6, 0x6261, 0xC9E7, 0x6266, - 0xC9E8, 0x6262, 0xC9E9, 0x6259, 0xC9EA, 0x6260, 0xC9EB, 0x625A, 0xC9EC, 0x6265, 0xC9ED, 0x65EF, 0xC9EE, 0x65EE, 0xC9EF, 0x673E, - 0xC9F0, 0x6739, 0xC9F1, 0x6738, 0xC9F2, 0x673B, 0xC9F3, 0x673A, 0xC9F4, 0x673F, 0xC9F5, 0x673C, 0xC9F6, 0x6733, 0xC9F7, 0x6C18, - 0xC9F8, 0x6C46, 0xC9F9, 0x6C52, 0xC9FA, 0x6C5C, 0xC9FB, 0x6C4F, 0xC9FC, 0x6C4A, 0xC9FD, 0x6C54, 0xC9FE, 0x6C4B, 0xCA40, 0x6C4C, - 0xCA41, 0x7071, 0xCA42, 0x725E, 0xCA43, 0x72B4, 0xCA44, 0x72B5, 0xCA45, 0x738E, 0xCA46, 0x752A, 0xCA47, 0x767F, 0xCA48, 0x7A75, - 0xCA49, 0x7F51, 0xCA4A, 0x8278, 0xCA4B, 0x827C, 0xCA4C, 0x8280, 0xCA4D, 0x827D, 0xCA4E, 0x827F, 0xCA4F, 0x864D, 0xCA50, 0x897E, - 0xCA51, 0x9099, 0xCA52, 0x9097, 0xCA53, 0x9098, 0xCA54, 0x909B, 0xCA55, 0x9094, 0xCA56, 0x9622, 0xCA57, 0x9624, 0xCA58, 0x9620, - 0xCA59, 0x9623, 0xCA5A, 0x4F56, 0xCA5B, 0x4F3B, 0xCA5C, 0x4F62, 0xCA5D, 0x4F49, 0xCA5E, 0x4F53, 0xCA5F, 0x4F64, 0xCA60, 0x4F3E, - 0xCA61, 0x4F67, 0xCA62, 0x4F52, 0xCA63, 0x4F5F, 0xCA64, 0x4F41, 0xCA65, 0x4F58, 0xCA66, 0x4F2D, 0xCA67, 0x4F33, 0xCA68, 0x4F3F, - 0xCA69, 0x4F61, 0xCA6A, 0x518F, 0xCA6B, 0x51B9, 0xCA6C, 0x521C, 0xCA6D, 0x521E, 0xCA6E, 0x5221, 0xCA6F, 0x52AD, 0xCA70, 0x52AE, - 0xCA71, 0x5309, 0xCA72, 0x5363, 0xCA73, 0x5372, 0xCA74, 0x538E, 0xCA75, 0x538F, 0xCA76, 0x5430, 0xCA77, 0x5437, 0xCA78, 0x542A, - 0xCA79, 0x5454, 0xCA7A, 0x5445, 0xCA7B, 0x5419, 0xCA7C, 0x541C, 0xCA7D, 0x5425, 0xCA7E, 0x5418, 0xCAA1, 0x543D, 0xCAA2, 0x544F, - 0xCAA3, 0x5441, 0xCAA4, 0x5428, 0xCAA5, 0x5424, 0xCAA6, 0x5447, 0xCAA7, 0x56EE, 0xCAA8, 0x56E7, 0xCAA9, 0x56E5, 0xCAAA, 0x5741, - 0xCAAB, 0x5745, 0xCAAC, 0x574C, 0xCAAD, 0x5749, 0xCAAE, 0x574B, 0xCAAF, 0x5752, 0xCAB0, 0x5906, 0xCAB1, 0x5940, 0xCAB2, 0x59A6, - 0xCAB3, 0x5998, 0xCAB4, 0x59A0, 0xCAB5, 0x5997, 0xCAB6, 0x598E, 0xCAB7, 0x59A2, 0xCAB8, 0x5990, 0xCAB9, 0x598F, 0xCABA, 0x59A7, - 0xCABB, 0x59A1, 0xCABC, 0x5B8E, 0xCABD, 0x5B92, 0xCABE, 0x5C28, 0xCABF, 0x5C2A, 0xCAC0, 0x5C8D, 0xCAC1, 0x5C8F, 0xCAC2, 0x5C88, - 0xCAC3, 0x5C8B, 0xCAC4, 0x5C89, 0xCAC5, 0x5C92, 0xCAC6, 0x5C8A, 0xCAC7, 0x5C86, 0xCAC8, 0x5C93, 0xCAC9, 0x5C95, 0xCACA, 0x5DE0, - 0xCACB, 0x5E0A, 0xCACC, 0x5E0E, 0xCACD, 0x5E8B, 0xCACE, 0x5E89, 0xCACF, 0x5E8C, 0xCAD0, 0x5E88, 0xCAD1, 0x5E8D, 0xCAD2, 0x5F05, - 0xCAD3, 0x5F1D, 0xCAD4, 0x5F78, 0xCAD5, 0x5F76, 0xCAD6, 0x5FD2, 0xCAD7, 0x5FD1, 0xCAD8, 0x5FD0, 0xCAD9, 0x5FED, 0xCADA, 0x5FE8, - 0xCADB, 0x5FEE, 0xCADC, 0x5FF3, 0xCADD, 0x5FE1, 0xCADE, 0x5FE4, 0xCADF, 0x5FE3, 0xCAE0, 0x5FFA, 0xCAE1, 0x5FEF, 0xCAE2, 0x5FF7, - 0xCAE3, 0x5FFB, 0xCAE4, 0x6000, 0xCAE5, 0x5FF4, 0xCAE6, 0x623A, 0xCAE7, 0x6283, 0xCAE8, 0x628C, 0xCAE9, 0x628E, 0xCAEA, 0x628F, - 0xCAEB, 0x6294, 0xCAEC, 0x6287, 0xCAED, 0x6271, 0xCAEE, 0x627B, 0xCAEF, 0x627A, 0xCAF0, 0x6270, 0xCAF1, 0x6281, 0xCAF2, 0x6288, - 0xCAF3, 0x6277, 0xCAF4, 0x627D, 0xCAF5, 0x6272, 0xCAF6, 0x6274, 0xCAF7, 0x6537, 0xCAF8, 0x65F0, 0xCAF9, 0x65F4, 0xCAFA, 0x65F3, - 0xCAFB, 0x65F2, 0xCAFC, 0x65F5, 0xCAFD, 0x6745, 0xCAFE, 0x6747, 0xCB40, 0x6759, 0xCB41, 0x6755, 0xCB42, 0x674C, 0xCB43, 0x6748, - 0xCB44, 0x675D, 0xCB45, 0x674D, 0xCB46, 0x675A, 0xCB47, 0x674B, 0xCB48, 0x6BD0, 0xCB49, 0x6C19, 0xCB4A, 0x6C1A, 0xCB4B, 0x6C78, - 0xCB4C, 0x6C67, 0xCB4D, 0x6C6B, 0xCB4E, 0x6C84, 0xCB4F, 0x6C8B, 0xCB50, 0x6C8F, 0xCB51, 0x6C71, 0xCB52, 0x6C6F, 0xCB53, 0x6C69, - 0xCB54, 0x6C9A, 0xCB55, 0x6C6D, 0xCB56, 0x6C87, 0xCB57, 0x6C95, 0xCB58, 0x6C9C, 0xCB59, 0x6C66, 0xCB5A, 0x6C73, 0xCB5B, 0x6C65, - 0xCB5C, 0x6C7B, 0xCB5D, 0x6C8E, 0xCB5E, 0x7074, 0xCB5F, 0x707A, 0xCB60, 0x7263, 0xCB61, 0x72BF, 0xCB62, 0x72BD, 0xCB63, 0x72C3, - 0xCB64, 0x72C6, 0xCB65, 0x72C1, 0xCB66, 0x72BA, 0xCB67, 0x72C5, 0xCB68, 0x7395, 0xCB69, 0x7397, 0xCB6A, 0x7393, 0xCB6B, 0x7394, - 0xCB6C, 0x7392, 0xCB6D, 0x753A, 0xCB6E, 0x7539, 0xCB6F, 0x7594, 0xCB70, 0x7595, 0xCB71, 0x7681, 0xCB72, 0x793D, 0xCB73, 0x8034, - 0xCB74, 0x8095, 0xCB75, 0x8099, 0xCB76, 0x8090, 0xCB77, 0x8092, 0xCB78, 0x809C, 0xCB79, 0x8290, 0xCB7A, 0x828F, 0xCB7B, 0x8285, - 0xCB7C, 0x828E, 0xCB7D, 0x8291, 0xCB7E, 0x8293, 0xCBA1, 0x828A, 0xCBA2, 0x8283, 0xCBA3, 0x8284, 0xCBA4, 0x8C78, 0xCBA5, 0x8FC9, - 0xCBA6, 0x8FBF, 0xCBA7, 0x909F, 0xCBA8, 0x90A1, 0xCBA9, 0x90A5, 0xCBAA, 0x909E, 0xCBAB, 0x90A7, 0xCBAC, 0x90A0, 0xCBAD, 0x9630, - 0xCBAE, 0x9628, 0xCBAF, 0x962F, 0xCBB0, 0x962D, 0xCBB1, 0x4E33, 0xCBB2, 0x4F98, 0xCBB3, 0x4F7C, 0xCBB4, 0x4F85, 0xCBB5, 0x4F7D, - 0xCBB6, 0x4F80, 0xCBB7, 0x4F87, 0xCBB8, 0x4F76, 0xCBB9, 0x4F74, 0xCBBA, 0x4F89, 0xCBBB, 0x4F84, 0xCBBC, 0x4F77, 0xCBBD, 0x4F4C, - 0xCBBE, 0x4F97, 0xCBBF, 0x4F6A, 0xCBC0, 0x4F9A, 0xCBC1, 0x4F79, 0xCBC2, 0x4F81, 0xCBC3, 0x4F78, 0xCBC4, 0x4F90, 0xCBC5, 0x4F9C, - 0xCBC6, 0x4F94, 0xCBC7, 0x4F9E, 0xCBC8, 0x4F92, 0xCBC9, 0x4F82, 0xCBCA, 0x4F95, 0xCBCB, 0x4F6B, 0xCBCC, 0x4F6E, 0xCBCD, 0x519E, - 0xCBCE, 0x51BC, 0xCBCF, 0x51BE, 0xCBD0, 0x5235, 0xCBD1, 0x5232, 0xCBD2, 0x5233, 0xCBD3, 0x5246, 0xCBD4, 0x5231, 0xCBD5, 0x52BC, - 0xCBD6, 0x530A, 0xCBD7, 0x530B, 0xCBD8, 0x533C, 0xCBD9, 0x5392, 0xCBDA, 0x5394, 0xCBDB, 0x5487, 0xCBDC, 0x547F, 0xCBDD, 0x5481, - 0xCBDE, 0x5491, 0xCBDF, 0x5482, 0xCBE0, 0x5488, 0xCBE1, 0x546B, 0xCBE2, 0x547A, 0xCBE3, 0x547E, 0xCBE4, 0x5465, 0xCBE5, 0x546C, - 0xCBE6, 0x5474, 0xCBE7, 0x5466, 0xCBE8, 0x548D, 0xCBE9, 0x546F, 0xCBEA, 0x5461, 0xCBEB, 0x5460, 0xCBEC, 0x5498, 0xCBED, 0x5463, - 0xCBEE, 0x5467, 0xCBEF, 0x5464, 0xCBF0, 0x56F7, 0xCBF1, 0x56F9, 0xCBF2, 0x576F, 0xCBF3, 0x5772, 0xCBF4, 0x576D, 0xCBF5, 0x576B, - 0xCBF6, 0x5771, 0xCBF7, 0x5770, 0xCBF8, 0x5776, 0xCBF9, 0x5780, 0xCBFA, 0x5775, 0xCBFB, 0x577B, 0xCBFC, 0x5773, 0xCBFD, 0x5774, - 0xCBFE, 0x5762, 0xCC40, 0x5768, 0xCC41, 0x577D, 0xCC42, 0x590C, 0xCC43, 0x5945, 0xCC44, 0x59B5, 0xCC45, 0x59BA, 0xCC46, 0x59CF, - 0xCC47, 0x59CE, 0xCC48, 0x59B2, 0xCC49, 0x59CC, 0xCC4A, 0x59C1, 0xCC4B, 0x59B6, 0xCC4C, 0x59BC, 0xCC4D, 0x59C3, 0xCC4E, 0x59D6, - 0xCC4F, 0x59B1, 0xCC50, 0x59BD, 0xCC51, 0x59C0, 0xCC52, 0x59C8, 0xCC53, 0x59B4, 0xCC54, 0x59C7, 0xCC55, 0x5B62, 0xCC56, 0x5B65, - 0xCC57, 0x5B93, 0xCC58, 0x5B95, 0xCC59, 0x5C44, 0xCC5A, 0x5C47, 0xCC5B, 0x5CAE, 0xCC5C, 0x5CA4, 0xCC5D, 0x5CA0, 0xCC5E, 0x5CB5, - 0xCC5F, 0x5CAF, 0xCC60, 0x5CA8, 0xCC61, 0x5CAC, 0xCC62, 0x5C9F, 0xCC63, 0x5CA3, 0xCC64, 0x5CAD, 0xCC65, 0x5CA2, 0xCC66, 0x5CAA, - 0xCC67, 0x5CA7, 0xCC68, 0x5C9D, 0xCC69, 0x5CA5, 0xCC6A, 0x5CB6, 0xCC6B, 0x5CB0, 0xCC6C, 0x5CA6, 0xCC6D, 0x5E17, 0xCC6E, 0x5E14, - 0xCC6F, 0x5E19, 0xCC70, 0x5F28, 0xCC71, 0x5F22, 0xCC72, 0x5F23, 0xCC73, 0x5F24, 0xCC74, 0x5F54, 0xCC75, 0x5F82, 0xCC76, 0x5F7E, - 0xCC77, 0x5F7D, 0xCC78, 0x5FDE, 0xCC79, 0x5FE5, 0xCC7A, 0x602D, 0xCC7B, 0x6026, 0xCC7C, 0x6019, 0xCC7D, 0x6032, 0xCC7E, 0x600B, - 0xCCA1, 0x6034, 0xCCA2, 0x600A, 0xCCA3, 0x6017, 0xCCA4, 0x6033, 0xCCA5, 0x601A, 0xCCA6, 0x601E, 0xCCA7, 0x602C, 0xCCA8, 0x6022, - 0xCCA9, 0x600D, 0xCCAA, 0x6010, 0xCCAB, 0x602E, 0xCCAC, 0x6013, 0xCCAD, 0x6011, 0xCCAE, 0x600C, 0xCCAF, 0x6009, 0xCCB0, 0x601C, - 0xCCB1, 0x6214, 0xCCB2, 0x623D, 0xCCB3, 0x62AD, 0xCCB4, 0x62B4, 0xCCB5, 0x62D1, 0xCCB6, 0x62BE, 0xCCB7, 0x62AA, 0xCCB8, 0x62B6, - 0xCCB9, 0x62CA, 0xCCBA, 0x62AE, 0xCCBB, 0x62B3, 0xCCBC, 0x62AF, 0xCCBD, 0x62BB, 0xCCBE, 0x62A9, 0xCCBF, 0x62B0, 0xCCC0, 0x62B8, - 0xCCC1, 0x653D, 0xCCC2, 0x65A8, 0xCCC3, 0x65BB, 0xCCC4, 0x6609, 0xCCC5, 0x65FC, 0xCCC6, 0x6604, 0xCCC7, 0x6612, 0xCCC8, 0x6608, - 0xCCC9, 0x65FB, 0xCCCA, 0x6603, 0xCCCB, 0x660B, 0xCCCC, 0x660D, 0xCCCD, 0x6605, 0xCCCE, 0x65FD, 0xCCCF, 0x6611, 0xCCD0, 0x6610, - 0xCCD1, 0x66F6, 0xCCD2, 0x670A, 0xCCD3, 0x6785, 0xCCD4, 0x676C, 0xCCD5, 0x678E, 0xCCD6, 0x6792, 0xCCD7, 0x6776, 0xCCD8, 0x677B, - 0xCCD9, 0x6798, 0xCCDA, 0x6786, 0xCCDB, 0x6784, 0xCCDC, 0x6774, 0xCCDD, 0x678D, 0xCCDE, 0x678C, 0xCCDF, 0x677A, 0xCCE0, 0x679F, - 0xCCE1, 0x6791, 0xCCE2, 0x6799, 0xCCE3, 0x6783, 0xCCE4, 0x677D, 0xCCE5, 0x6781, 0xCCE6, 0x6778, 0xCCE7, 0x6779, 0xCCE8, 0x6794, - 0xCCE9, 0x6B25, 0xCCEA, 0x6B80, 0xCCEB, 0x6B7E, 0xCCEC, 0x6BDE, 0xCCED, 0x6C1D, 0xCCEE, 0x6C93, 0xCCEF, 0x6CEC, 0xCCF0, 0x6CEB, - 0xCCF1, 0x6CEE, 0xCCF2, 0x6CD9, 0xCCF3, 0x6CB6, 0xCCF4, 0x6CD4, 0xCCF5, 0x6CAD, 0xCCF6, 0x6CE7, 0xCCF7, 0x6CB7, 0xCCF8, 0x6CD0, - 0xCCF9, 0x6CC2, 0xCCFA, 0x6CBA, 0xCCFB, 0x6CC3, 0xCCFC, 0x6CC6, 0xCCFD, 0x6CED, 0xCCFE, 0x6CF2, 0xCD40, 0x6CD2, 0xCD41, 0x6CDD, - 0xCD42, 0x6CB4, 0xCD43, 0x6C8A, 0xCD44, 0x6C9D, 0xCD45, 0x6C80, 0xCD46, 0x6CDE, 0xCD47, 0x6CC0, 0xCD48, 0x6D30, 0xCD49, 0x6CCD, - 0xCD4A, 0x6CC7, 0xCD4B, 0x6CB0, 0xCD4C, 0x6CF9, 0xCD4D, 0x6CCF, 0xCD4E, 0x6CE9, 0xCD4F, 0x6CD1, 0xCD50, 0x7094, 0xCD51, 0x7098, - 0xCD52, 0x7085, 0xCD53, 0x7093, 0xCD54, 0x7086, 0xCD55, 0x7084, 0xCD56, 0x7091, 0xCD57, 0x7096, 0xCD58, 0x7082, 0xCD59, 0x709A, - 0xCD5A, 0x7083, 0xCD5B, 0x726A, 0xCD5C, 0x72D6, 0xCD5D, 0x72CB, 0xCD5E, 0x72D8, 0xCD5F, 0x72C9, 0xCD60, 0x72DC, 0xCD61, 0x72D2, - 0xCD62, 0x72D4, 0xCD63, 0x72DA, 0xCD64, 0x72CC, 0xCD65, 0x72D1, 0xCD66, 0x73A4, 0xCD67, 0x73A1, 0xCD68, 0x73AD, 0xCD69, 0x73A6, - 0xCD6A, 0x73A2, 0xCD6B, 0x73A0, 0xCD6C, 0x73AC, 0xCD6D, 0x739D, 0xCD6E, 0x74DD, 0xCD6F, 0x74E8, 0xCD70, 0x753F, 0xCD71, 0x7540, - 0xCD72, 0x753E, 0xCD73, 0x758C, 0xCD74, 0x7598, 0xCD75, 0x76AF, 0xCD76, 0x76F3, 0xCD77, 0x76F1, 0xCD78, 0x76F0, 0xCD79, 0x76F5, - 0xCD7A, 0x77F8, 0xCD7B, 0x77FC, 0xCD7C, 0x77F9, 0xCD7D, 0x77FB, 0xCD7E, 0x77FA, 0xCDA1, 0x77F7, 0xCDA2, 0x7942, 0xCDA3, 0x793F, - 0xCDA4, 0x79C5, 0xCDA5, 0x7A78, 0xCDA6, 0x7A7B, 0xCDA7, 0x7AFB, 0xCDA8, 0x7C75, 0xCDA9, 0x7CFD, 0xCDAA, 0x8035, 0xCDAB, 0x808F, - 0xCDAC, 0x80AE, 0xCDAD, 0x80A3, 0xCDAE, 0x80B8, 0xCDAF, 0x80B5, 0xCDB0, 0x80AD, 0xCDB1, 0x8220, 0xCDB2, 0x82A0, 0xCDB3, 0x82C0, - 0xCDB4, 0x82AB, 0xCDB5, 0x829A, 0xCDB6, 0x8298, 0xCDB7, 0x829B, 0xCDB8, 0x82B5, 0xCDB9, 0x82A7, 0xCDBA, 0x82AE, 0xCDBB, 0x82BC, - 0xCDBC, 0x829E, 0xCDBD, 0x82BA, 0xCDBE, 0x82B4, 0xCDBF, 0x82A8, 0xCDC0, 0x82A1, 0xCDC1, 0x82A9, 0xCDC2, 0x82C2, 0xCDC3, 0x82A4, - 0xCDC4, 0x82C3, 0xCDC5, 0x82B6, 0xCDC6, 0x82A2, 0xCDC7, 0x8670, 0xCDC8, 0x866F, 0xCDC9, 0x866D, 0xCDCA, 0x866E, 0xCDCB, 0x8C56, - 0xCDCC, 0x8FD2, 0xCDCD, 0x8FCB, 0xCDCE, 0x8FD3, 0xCDCF, 0x8FCD, 0xCDD0, 0x8FD6, 0xCDD1, 0x8FD5, 0xCDD2, 0x8FD7, 0xCDD3, 0x90B2, - 0xCDD4, 0x90B4, 0xCDD5, 0x90AF, 0xCDD6, 0x90B3, 0xCDD7, 0x90B0, 0xCDD8, 0x9639, 0xCDD9, 0x963D, 0xCDDA, 0x963C, 0xCDDB, 0x963A, - 0xCDDC, 0x9643, 0xCDDD, 0x4FCD, 0xCDDE, 0x4FC5, 0xCDDF, 0x4FD3, 0xCDE0, 0x4FB2, 0xCDE1, 0x4FC9, 0xCDE2, 0x4FCB, 0xCDE3, 0x4FC1, - 0xCDE4, 0x4FD4, 0xCDE5, 0x4FDC, 0xCDE6, 0x4FD9, 0xCDE7, 0x4FBB, 0xCDE8, 0x4FB3, 0xCDE9, 0x4FDB, 0xCDEA, 0x4FC7, 0xCDEB, 0x4FD6, - 0xCDEC, 0x4FBA, 0xCDED, 0x4FC0, 0xCDEE, 0x4FB9, 0xCDEF, 0x4FEC, 0xCDF0, 0x5244, 0xCDF1, 0x5249, 0xCDF2, 0x52C0, 0xCDF3, 0x52C2, - 0xCDF4, 0x533D, 0xCDF5, 0x537C, 0xCDF6, 0x5397, 0xCDF7, 0x5396, 0xCDF8, 0x5399, 0xCDF9, 0x5398, 0xCDFA, 0x54BA, 0xCDFB, 0x54A1, - 0xCDFC, 0x54AD, 0xCDFD, 0x54A5, 0xCDFE, 0x54CF, 0xCE40, 0x54C3, 0xCE41, 0x830D, 0xCE42, 0x54B7, 0xCE43, 0x54AE, 0xCE44, 0x54D6, - 0xCE45, 0x54B6, 0xCE46, 0x54C5, 0xCE47, 0x54C6, 0xCE48, 0x54A0, 0xCE49, 0x5470, 0xCE4A, 0x54BC, 0xCE4B, 0x54A2, 0xCE4C, 0x54BE, - 0xCE4D, 0x5472, 0xCE4E, 0x54DE, 0xCE4F, 0x54B0, 0xCE50, 0x57B5, 0xCE51, 0x579E, 0xCE52, 0x579F, 0xCE53, 0x57A4, 0xCE54, 0x578C, - 0xCE55, 0x5797, 0xCE56, 0x579D, 0xCE57, 0x579B, 0xCE58, 0x5794, 0xCE59, 0x5798, 0xCE5A, 0x578F, 0xCE5B, 0x5799, 0xCE5C, 0x57A5, - 0xCE5D, 0x579A, 0xCE5E, 0x5795, 0xCE5F, 0x58F4, 0xCE60, 0x590D, 0xCE61, 0x5953, 0xCE62, 0x59E1, 0xCE63, 0x59DE, 0xCE64, 0x59EE, - 0xCE65, 0x5A00, 0xCE66, 0x59F1, 0xCE67, 0x59DD, 0xCE68, 0x59FA, 0xCE69, 0x59FD, 0xCE6A, 0x59FC, 0xCE6B, 0x59F6, 0xCE6C, 0x59E4, - 0xCE6D, 0x59F2, 0xCE6E, 0x59F7, 0xCE6F, 0x59DB, 0xCE70, 0x59E9, 0xCE71, 0x59F3, 0xCE72, 0x59F5, 0xCE73, 0x59E0, 0xCE74, 0x59FE, - 0xCE75, 0x59F4, 0xCE76, 0x59ED, 0xCE77, 0x5BA8, 0xCE78, 0x5C4C, 0xCE79, 0x5CD0, 0xCE7A, 0x5CD8, 0xCE7B, 0x5CCC, 0xCE7C, 0x5CD7, - 0xCE7D, 0x5CCB, 0xCE7E, 0x5CDB, 0xCEA1, 0x5CDE, 0xCEA2, 0x5CDA, 0xCEA3, 0x5CC9, 0xCEA4, 0x5CC7, 0xCEA5, 0x5CCA, 0xCEA6, 0x5CD6, - 0xCEA7, 0x5CD3, 0xCEA8, 0x5CD4, 0xCEA9, 0x5CCF, 0xCEAA, 0x5CC8, 0xCEAB, 0x5CC6, 0xCEAC, 0x5CCE, 0xCEAD, 0x5CDF, 0xCEAE, 0x5CF8, - 0xCEAF, 0x5DF9, 0xCEB0, 0x5E21, 0xCEB1, 0x5E22, 0xCEB2, 0x5E23, 0xCEB3, 0x5E20, 0xCEB4, 0x5E24, 0xCEB5, 0x5EB0, 0xCEB6, 0x5EA4, - 0xCEB7, 0x5EA2, 0xCEB8, 0x5E9B, 0xCEB9, 0x5EA3, 0xCEBA, 0x5EA5, 0xCEBB, 0x5F07, 0xCEBC, 0x5F2E, 0xCEBD, 0x5F56, 0xCEBE, 0x5F86, - 0xCEBF, 0x6037, 0xCEC0, 0x6039, 0xCEC1, 0x6054, 0xCEC2, 0x6072, 0xCEC3, 0x605E, 0xCEC4, 0x6045, 0xCEC5, 0x6053, 0xCEC6, 0x6047, - 0xCEC7, 0x6049, 0xCEC8, 0x605B, 0xCEC9, 0x604C, 0xCECA, 0x6040, 0xCECB, 0x6042, 0xCECC, 0x605F, 0xCECD, 0x6024, 0xCECE, 0x6044, - 0xCECF, 0x6058, 0xCED0, 0x6066, 0xCED1, 0x606E, 0xCED2, 0x6242, 0xCED3, 0x6243, 0xCED4, 0x62CF, 0xCED5, 0x630D, 0xCED6, 0x630B, - 0xCED7, 0x62F5, 0xCED8, 0x630E, 0xCED9, 0x6303, 0xCEDA, 0x62EB, 0xCEDB, 0x62F9, 0xCEDC, 0x630F, 0xCEDD, 0x630C, 0xCEDE, 0x62F8, - 0xCEDF, 0x62F6, 0xCEE0, 0x6300, 0xCEE1, 0x6313, 0xCEE2, 0x6314, 0xCEE3, 0x62FA, 0xCEE4, 0x6315, 0xCEE5, 0x62FB, 0xCEE6, 0x62F0, - 0xCEE7, 0x6541, 0xCEE8, 0x6543, 0xCEE9, 0x65AA, 0xCEEA, 0x65BF, 0xCEEB, 0x6636, 0xCEEC, 0x6621, 0xCEED, 0x6632, 0xCEEE, 0x6635, - 0xCEEF, 0x661C, 0xCEF0, 0x6626, 0xCEF1, 0x6622, 0xCEF2, 0x6633, 0xCEF3, 0x662B, 0xCEF4, 0x663A, 0xCEF5, 0x661D, 0xCEF6, 0x6634, - 0xCEF7, 0x6639, 0xCEF8, 0x662E, 0xCEF9, 0x670F, 0xCEFA, 0x6710, 0xCEFB, 0x67C1, 0xCEFC, 0x67F2, 0xCEFD, 0x67C8, 0xCEFE, 0x67BA, - 0xCF40, 0x67DC, 0xCF41, 0x67BB, 0xCF42, 0x67F8, 0xCF43, 0x67D8, 0xCF44, 0x67C0, 0xCF45, 0x67B7, 0xCF46, 0x67C5, 0xCF47, 0x67EB, - 0xCF48, 0x67E4, 0xCF49, 0x67DF, 0xCF4A, 0x67B5, 0xCF4B, 0x67CD, 0xCF4C, 0x67B3, 0xCF4D, 0x67F7, 0xCF4E, 0x67F6, 0xCF4F, 0x67EE, - 0xCF50, 0x67E3, 0xCF51, 0x67C2, 0xCF52, 0x67B9, 0xCF53, 0x67CE, 0xCF54, 0x67E7, 0xCF55, 0x67F0, 0xCF56, 0x67B2, 0xCF57, 0x67FC, - 0xCF58, 0x67C6, 0xCF59, 0x67ED, 0xCF5A, 0x67CC, 0xCF5B, 0x67AE, 0xCF5C, 0x67E6, 0xCF5D, 0x67DB, 0xCF5E, 0x67FA, 0xCF5F, 0x67C9, - 0xCF60, 0x67CA, 0xCF61, 0x67C3, 0xCF62, 0x67EA, 0xCF63, 0x67CB, 0xCF64, 0x6B28, 0xCF65, 0x6B82, 0xCF66, 0x6B84, 0xCF67, 0x6BB6, - 0xCF68, 0x6BD6, 0xCF69, 0x6BD8, 0xCF6A, 0x6BE0, 0xCF6B, 0x6C20, 0xCF6C, 0x6C21, 0xCF6D, 0x6D28, 0xCF6E, 0x6D34, 0xCF6F, 0x6D2D, - 0xCF70, 0x6D1F, 0xCF71, 0x6D3C, 0xCF72, 0x6D3F, 0xCF73, 0x6D12, 0xCF74, 0x6D0A, 0xCF75, 0x6CDA, 0xCF76, 0x6D33, 0xCF77, 0x6D04, - 0xCF78, 0x6D19, 0xCF79, 0x6D3A, 0xCF7A, 0x6D1A, 0xCF7B, 0x6D11, 0xCF7C, 0x6D00, 0xCF7D, 0x6D1D, 0xCF7E, 0x6D42, 0xCFA1, 0x6D01, - 0xCFA2, 0x6D18, 0xCFA3, 0x6D37, 0xCFA4, 0x6D03, 0xCFA5, 0x6D0F, 0xCFA6, 0x6D40, 0xCFA7, 0x6D07, 0xCFA8, 0x6D20, 0xCFA9, 0x6D2C, - 0xCFAA, 0x6D08, 0xCFAB, 0x6D22, 0xCFAC, 0x6D09, 0xCFAD, 0x6D10, 0xCFAE, 0x70B7, 0xCFAF, 0x709F, 0xCFB0, 0x70BE, 0xCFB1, 0x70B1, - 0xCFB2, 0x70B0, 0xCFB3, 0x70A1, 0xCFB4, 0x70B4, 0xCFB5, 0x70B5, 0xCFB6, 0x70A9, 0xCFB7, 0x7241, 0xCFB8, 0x7249, 0xCFB9, 0x724A, - 0xCFBA, 0x726C, 0xCFBB, 0x7270, 0xCFBC, 0x7273, 0xCFBD, 0x726E, 0xCFBE, 0x72CA, 0xCFBF, 0x72E4, 0xCFC0, 0x72E8, 0xCFC1, 0x72EB, - 0xCFC2, 0x72DF, 0xCFC3, 0x72EA, 0xCFC4, 0x72E6, 0xCFC5, 0x72E3, 0xCFC6, 0x7385, 0xCFC7, 0x73CC, 0xCFC8, 0x73C2, 0xCFC9, 0x73C8, - 0xCFCA, 0x73C5, 0xCFCB, 0x73B9, 0xCFCC, 0x73B6, 0xCFCD, 0x73B5, 0xCFCE, 0x73B4, 0xCFCF, 0x73EB, 0xCFD0, 0x73BF, 0xCFD1, 0x73C7, - 0xCFD2, 0x73BE, 0xCFD3, 0x73C3, 0xCFD4, 0x73C6, 0xCFD5, 0x73B8, 0xCFD6, 0x73CB, 0xCFD7, 0x74EC, 0xCFD8, 0x74EE, 0xCFD9, 0x752E, - 0xCFDA, 0x7547, 0xCFDB, 0x7548, 0xCFDC, 0x75A7, 0xCFDD, 0x75AA, 0xCFDE, 0x7679, 0xCFDF, 0x76C4, 0xCFE0, 0x7708, 0xCFE1, 0x7703, - 0xCFE2, 0x7704, 0xCFE3, 0x7705, 0xCFE4, 0x770A, 0xCFE5, 0x76F7, 0xCFE6, 0x76FB, 0xCFE7, 0x76FA, 0xCFE8, 0x77E7, 0xCFE9, 0x77E8, - 0xCFEA, 0x7806, 0xCFEB, 0x7811, 0xCFEC, 0x7812, 0xCFED, 0x7805, 0xCFEE, 0x7810, 0xCFEF, 0x780F, 0xCFF0, 0x780E, 0xCFF1, 0x7809, - 0xCFF2, 0x7803, 0xCFF3, 0x7813, 0xCFF4, 0x794A, 0xCFF5, 0x794C, 0xCFF6, 0x794B, 0xCFF7, 0x7945, 0xCFF8, 0x7944, 0xCFF9, 0x79D5, - 0xCFFA, 0x79CD, 0xCFFB, 0x79CF, 0xCFFC, 0x79D6, 0xCFFD, 0x79CE, 0xCFFE, 0x7A80, 0xD040, 0x7A7E, 0xD041, 0x7AD1, 0xD042, 0x7B00, - 0xD043, 0x7B01, 0xD044, 0x7C7A, 0xD045, 0x7C78, 0xD046, 0x7C79, 0xD047, 0x7C7F, 0xD048, 0x7C80, 0xD049, 0x7C81, 0xD04A, 0x7D03, - 0xD04B, 0x7D08, 0xD04C, 0x7D01, 0xD04D, 0x7F58, 0xD04E, 0x7F91, 0xD04F, 0x7F8D, 0xD050, 0x7FBE, 0xD051, 0x8007, 0xD052, 0x800E, - 0xD053, 0x800F, 0xD054, 0x8014, 0xD055, 0x8037, 0xD056, 0x80D8, 0xD057, 0x80C7, 0xD058, 0x80E0, 0xD059, 0x80D1, 0xD05A, 0x80C8, - 0xD05B, 0x80C2, 0xD05C, 0x80D0, 0xD05D, 0x80C5, 0xD05E, 0x80E3, 0xD05F, 0x80D9, 0xD060, 0x80DC, 0xD061, 0x80CA, 0xD062, 0x80D5, - 0xD063, 0x80C9, 0xD064, 0x80CF, 0xD065, 0x80D7, 0xD066, 0x80E6, 0xD067, 0x80CD, 0xD068, 0x81FF, 0xD069, 0x8221, 0xD06A, 0x8294, - 0xD06B, 0x82D9, 0xD06C, 0x82FE, 0xD06D, 0x82F9, 0xD06E, 0x8307, 0xD06F, 0x82E8, 0xD070, 0x8300, 0xD071, 0x82D5, 0xD072, 0x833A, - 0xD073, 0x82EB, 0xD074, 0x82D6, 0xD075, 0x82F4, 0xD076, 0x82EC, 0xD077, 0x82E1, 0xD078, 0x82F2, 0xD079, 0x82F5, 0xD07A, 0x830C, - 0xD07B, 0x82FB, 0xD07C, 0x82F6, 0xD07D, 0x82F0, 0xD07E, 0x82EA, 0xD0A1, 0x82E4, 0xD0A2, 0x82E0, 0xD0A3, 0x82FA, 0xD0A4, 0x82F3, - 0xD0A5, 0x82ED, 0xD0A6, 0x8677, 0xD0A7, 0x8674, 0xD0A8, 0x867C, 0xD0A9, 0x8673, 0xD0AA, 0x8841, 0xD0AB, 0x884E, 0xD0AC, 0x8867, - 0xD0AD, 0x886A, 0xD0AE, 0x8869, 0xD0AF, 0x89D3, 0xD0B0, 0x8A04, 0xD0B1, 0x8A07, 0xD0B2, 0x8D72, 0xD0B3, 0x8FE3, 0xD0B4, 0x8FE1, - 0xD0B5, 0x8FEE, 0xD0B6, 0x8FE0, 0xD0B7, 0x90F1, 0xD0B8, 0x90BD, 0xD0B9, 0x90BF, 0xD0BA, 0x90D5, 0xD0BB, 0x90C5, 0xD0BC, 0x90BE, - 0xD0BD, 0x90C7, 0xD0BE, 0x90CB, 0xD0BF, 0x90C8, 0xD0C0, 0x91D4, 0xD0C1, 0x91D3, 0xD0C2, 0x9654, 0xD0C3, 0x964F, 0xD0C4, 0x9651, - 0xD0C5, 0x9653, 0xD0C6, 0x964A, 0xD0C7, 0x964E, 0xD0C8, 0x501E, 0xD0C9, 0x5005, 0xD0CA, 0x5007, 0xD0CB, 0x5013, 0xD0CC, 0x5022, - 0xD0CD, 0x5030, 0xD0CE, 0x501B, 0xD0CF, 0x4FF5, 0xD0D0, 0x4FF4, 0xD0D1, 0x5033, 0xD0D2, 0x5037, 0xD0D3, 0x502C, 0xD0D4, 0x4FF6, - 0xD0D5, 0x4FF7, 0xD0D6, 0x5017, 0xD0D7, 0x501C, 0xD0D8, 0x5020, 0xD0D9, 0x5027, 0xD0DA, 0x5035, 0xD0DB, 0x502F, 0xD0DC, 0x5031, - 0xD0DD, 0x500E, 0xD0DE, 0x515A, 0xD0DF, 0x5194, 0xD0E0, 0x5193, 0xD0E1, 0x51CA, 0xD0E2, 0x51C4, 0xD0E3, 0x51C5, 0xD0E4, 0x51C8, - 0xD0E5, 0x51CE, 0xD0E6, 0x5261, 0xD0E7, 0x525A, 0xD0E8, 0x5252, 0xD0E9, 0x525E, 0xD0EA, 0x525F, 0xD0EB, 0x5255, 0xD0EC, 0x5262, - 0xD0ED, 0x52CD, 0xD0EE, 0x530E, 0xD0EF, 0x539E, 0xD0F0, 0x5526, 0xD0F1, 0x54E2, 0xD0F2, 0x5517, 0xD0F3, 0x5512, 0xD0F4, 0x54E7, - 0xD0F5, 0x54F3, 0xD0F6, 0x54E4, 0xD0F7, 0x551A, 0xD0F8, 0x54FF, 0xD0F9, 0x5504, 0xD0FA, 0x5508, 0xD0FB, 0x54EB, 0xD0FC, 0x5511, - 0xD0FD, 0x5505, 0xD0FE, 0x54F1, 0xD140, 0x550A, 0xD141, 0x54FB, 0xD142, 0x54F7, 0xD143, 0x54F8, 0xD144, 0x54E0, 0xD145, 0x550E, - 0xD146, 0x5503, 0xD147, 0x550B, 0xD148, 0x5701, 0xD149, 0x5702, 0xD14A, 0x57CC, 0xD14B, 0x5832, 0xD14C, 0x57D5, 0xD14D, 0x57D2, - 0xD14E, 0x57BA, 0xD14F, 0x57C6, 0xD150, 0x57BD, 0xD151, 0x57BC, 0xD152, 0x57B8, 0xD153, 0x57B6, 0xD154, 0x57BF, 0xD155, 0x57C7, - 0xD156, 0x57D0, 0xD157, 0x57B9, 0xD158, 0x57C1, 0xD159, 0x590E, 0xD15A, 0x594A, 0xD15B, 0x5A19, 0xD15C, 0x5A16, 0xD15D, 0x5A2D, - 0xD15E, 0x5A2E, 0xD15F, 0x5A15, 0xD160, 0x5A0F, 0xD161, 0x5A17, 0xD162, 0x5A0A, 0xD163, 0x5A1E, 0xD164, 0x5A33, 0xD165, 0x5B6C, - 0xD166, 0x5BA7, 0xD167, 0x5BAD, 0xD168, 0x5BAC, 0xD169, 0x5C03, 0xD16A, 0x5C56, 0xD16B, 0x5C54, 0xD16C, 0x5CEC, 0xD16D, 0x5CFF, - 0xD16E, 0x5CEE, 0xD16F, 0x5CF1, 0xD170, 0x5CF7, 0xD171, 0x5D00, 0xD172, 0x5CF9, 0xD173, 0x5E29, 0xD174, 0x5E28, 0xD175, 0x5EA8, - 0xD176, 0x5EAE, 0xD177, 0x5EAA, 0xD178, 0x5EAC, 0xD179, 0x5F33, 0xD17A, 0x5F30, 0xD17B, 0x5F67, 0xD17C, 0x605D, 0xD17D, 0x605A, - 0xD17E, 0x6067, 0xD1A1, 0x6041, 0xD1A2, 0x60A2, 0xD1A3, 0x6088, 0xD1A4, 0x6080, 0xD1A5, 0x6092, 0xD1A6, 0x6081, 0xD1A7, 0x609D, - 0xD1A8, 0x6083, 0xD1A9, 0x6095, 0xD1AA, 0x609B, 0xD1AB, 0x6097, 0xD1AC, 0x6087, 0xD1AD, 0x609C, 0xD1AE, 0x608E, 0xD1AF, 0x6219, - 0xD1B0, 0x6246, 0xD1B1, 0x62F2, 0xD1B2, 0x6310, 0xD1B3, 0x6356, 0xD1B4, 0x632C, 0xD1B5, 0x6344, 0xD1B6, 0x6345, 0xD1B7, 0x6336, - 0xD1B8, 0x6343, 0xD1B9, 0x63E4, 0xD1BA, 0x6339, 0xD1BB, 0x634B, 0xD1BC, 0x634A, 0xD1BD, 0x633C, 0xD1BE, 0x6329, 0xD1BF, 0x6341, - 0xD1C0, 0x6334, 0xD1C1, 0x6358, 0xD1C2, 0x6354, 0xD1C3, 0x6359, 0xD1C4, 0x632D, 0xD1C5, 0x6347, 0xD1C6, 0x6333, 0xD1C7, 0x635A, - 0xD1C8, 0x6351, 0xD1C9, 0x6338, 0xD1CA, 0x6357, 0xD1CB, 0x6340, 0xD1CC, 0x6348, 0xD1CD, 0x654A, 0xD1CE, 0x6546, 0xD1CF, 0x65C6, - 0xD1D0, 0x65C3, 0xD1D1, 0x65C4, 0xD1D2, 0x65C2, 0xD1D3, 0x664A, 0xD1D4, 0x665F, 0xD1D5, 0x6647, 0xD1D6, 0x6651, 0xD1D7, 0x6712, - 0xD1D8, 0x6713, 0xD1D9, 0x681F, 0xD1DA, 0x681A, 0xD1DB, 0x6849, 0xD1DC, 0x6832, 0xD1DD, 0x6833, 0xD1DE, 0x683B, 0xD1DF, 0x684B, - 0xD1E0, 0x684F, 0xD1E1, 0x6816, 0xD1E2, 0x6831, 0xD1E3, 0x681C, 0xD1E4, 0x6835, 0xD1E5, 0x682B, 0xD1E6, 0x682D, 0xD1E7, 0x682F, - 0xD1E8, 0x684E, 0xD1E9, 0x6844, 0xD1EA, 0x6834, 0xD1EB, 0x681D, 0xD1EC, 0x6812, 0xD1ED, 0x6814, 0xD1EE, 0x6826, 0xD1EF, 0x6828, - 0xD1F0, 0x682E, 0xD1F1, 0x684D, 0xD1F2, 0x683A, 0xD1F3, 0x6825, 0xD1F4, 0x6820, 0xD1F5, 0x6B2C, 0xD1F6, 0x6B2F, 0xD1F7, 0x6B2D, - 0xD1F8, 0x6B31, 0xD1F9, 0x6B34, 0xD1FA, 0x6B6D, 0xD1FB, 0x8082, 0xD1FC, 0x6B88, 0xD1FD, 0x6BE6, 0xD1FE, 0x6BE4, 0xD240, 0x6BE8, - 0xD241, 0x6BE3, 0xD242, 0x6BE2, 0xD243, 0x6BE7, 0xD244, 0x6C25, 0xD245, 0x6D7A, 0xD246, 0x6D63, 0xD247, 0x6D64, 0xD248, 0x6D76, - 0xD249, 0x6D0D, 0xD24A, 0x6D61, 0xD24B, 0x6D92, 0xD24C, 0x6D58, 0xD24D, 0x6D62, 0xD24E, 0x6D6D, 0xD24F, 0x6D6F, 0xD250, 0x6D91, - 0xD251, 0x6D8D, 0xD252, 0x6DEF, 0xD253, 0x6D7F, 0xD254, 0x6D86, 0xD255, 0x6D5E, 0xD256, 0x6D67, 0xD257, 0x6D60, 0xD258, 0x6D97, - 0xD259, 0x6D70, 0xD25A, 0x6D7C, 0xD25B, 0x6D5F, 0xD25C, 0x6D82, 0xD25D, 0x6D98, 0xD25E, 0x6D2F, 0xD25F, 0x6D68, 0xD260, 0x6D8B, - 0xD261, 0x6D7E, 0xD262, 0x6D80, 0xD263, 0x6D84, 0xD264, 0x6D16, 0xD265, 0x6D83, 0xD266, 0x6D7B, 0xD267, 0x6D7D, 0xD268, 0x6D75, - 0xD269, 0x6D90, 0xD26A, 0x70DC, 0xD26B, 0x70D3, 0xD26C, 0x70D1, 0xD26D, 0x70DD, 0xD26E, 0x70CB, 0xD26F, 0x7F39, 0xD270, 0x70E2, - 0xD271, 0x70D7, 0xD272, 0x70D2, 0xD273, 0x70DE, 0xD274, 0x70E0, 0xD275, 0x70D4, 0xD276, 0x70CD, 0xD277, 0x70C5, 0xD278, 0x70C6, - 0xD279, 0x70C7, 0xD27A, 0x70DA, 0xD27B, 0x70CE, 0xD27C, 0x70E1, 0xD27D, 0x7242, 0xD27E, 0x7278, 0xD2A1, 0x7277, 0xD2A2, 0x7276, - 0xD2A3, 0x7300, 0xD2A4, 0x72FA, 0xD2A5, 0x72F4, 0xD2A6, 0x72FE, 0xD2A7, 0x72F6, 0xD2A8, 0x72F3, 0xD2A9, 0x72FB, 0xD2AA, 0x7301, - 0xD2AB, 0x73D3, 0xD2AC, 0x73D9, 0xD2AD, 0x73E5, 0xD2AE, 0x73D6, 0xD2AF, 0x73BC, 0xD2B0, 0x73E7, 0xD2B1, 0x73E3, 0xD2B2, 0x73E9, - 0xD2B3, 0x73DC, 0xD2B4, 0x73D2, 0xD2B5, 0x73DB, 0xD2B6, 0x73D4, 0xD2B7, 0x73DD, 0xD2B8, 0x73DA, 0xD2B9, 0x73D7, 0xD2BA, 0x73D8, - 0xD2BB, 0x73E8, 0xD2BC, 0x74DE, 0xD2BD, 0x74DF, 0xD2BE, 0x74F4, 0xD2BF, 0x74F5, 0xD2C0, 0x7521, 0xD2C1, 0x755B, 0xD2C2, 0x755F, - 0xD2C3, 0x75B0, 0xD2C4, 0x75C1, 0xD2C5, 0x75BB, 0xD2C6, 0x75C4, 0xD2C7, 0x75C0, 0xD2C8, 0x75BF, 0xD2C9, 0x75B6, 0xD2CA, 0x75BA, - 0xD2CB, 0x768A, 0xD2CC, 0x76C9, 0xD2CD, 0x771D, 0xD2CE, 0x771B, 0xD2CF, 0x7710, 0xD2D0, 0x7713, 0xD2D1, 0x7712, 0xD2D2, 0x7723, - 0xD2D3, 0x7711, 0xD2D4, 0x7715, 0xD2D5, 0x7719, 0xD2D6, 0x771A, 0xD2D7, 0x7722, 0xD2D8, 0x7727, 0xD2D9, 0x7823, 0xD2DA, 0x782C, - 0xD2DB, 0x7822, 0xD2DC, 0x7835, 0xD2DD, 0x782F, 0xD2DE, 0x7828, 0xD2DF, 0x782E, 0xD2E0, 0x782B, 0xD2E1, 0x7821, 0xD2E2, 0x7829, - 0xD2E3, 0x7833, 0xD2E4, 0x782A, 0xD2E5, 0x7831, 0xD2E6, 0x7954, 0xD2E7, 0x795B, 0xD2E8, 0x794F, 0xD2E9, 0x795C, 0xD2EA, 0x7953, - 0xD2EB, 0x7952, 0xD2EC, 0x7951, 0xD2ED, 0x79EB, 0xD2EE, 0x79EC, 0xD2EF, 0x79E0, 0xD2F0, 0x79EE, 0xD2F1, 0x79ED, 0xD2F2, 0x79EA, - 0xD2F3, 0x79DC, 0xD2F4, 0x79DE, 0xD2F5, 0x79DD, 0xD2F6, 0x7A86, 0xD2F7, 0x7A89, 0xD2F8, 0x7A85, 0xD2F9, 0x7A8B, 0xD2FA, 0x7A8C, - 0xD2FB, 0x7A8A, 0xD2FC, 0x7A87, 0xD2FD, 0x7AD8, 0xD2FE, 0x7B10, 0xD340, 0x7B04, 0xD341, 0x7B13, 0xD342, 0x7B05, 0xD343, 0x7B0F, - 0xD344, 0x7B08, 0xD345, 0x7B0A, 0xD346, 0x7B0E, 0xD347, 0x7B09, 0xD348, 0x7B12, 0xD349, 0x7C84, 0xD34A, 0x7C91, 0xD34B, 0x7C8A, - 0xD34C, 0x7C8C, 0xD34D, 0x7C88, 0xD34E, 0x7C8D, 0xD34F, 0x7C85, 0xD350, 0x7D1E, 0xD351, 0x7D1D, 0xD352, 0x7D11, 0xD353, 0x7D0E, - 0xD354, 0x7D18, 0xD355, 0x7D16, 0xD356, 0x7D13, 0xD357, 0x7D1F, 0xD358, 0x7D12, 0xD359, 0x7D0F, 0xD35A, 0x7D0C, 0xD35B, 0x7F5C, - 0xD35C, 0x7F61, 0xD35D, 0x7F5E, 0xD35E, 0x7F60, 0xD35F, 0x7F5D, 0xD360, 0x7F5B, 0xD361, 0x7F96, 0xD362, 0x7F92, 0xD363, 0x7FC3, - 0xD364, 0x7FC2, 0xD365, 0x7FC0, 0xD366, 0x8016, 0xD367, 0x803E, 0xD368, 0x8039, 0xD369, 0x80FA, 0xD36A, 0x80F2, 0xD36B, 0x80F9, - 0xD36C, 0x80F5, 0xD36D, 0x8101, 0xD36E, 0x80FB, 0xD36F, 0x8100, 0xD370, 0x8201, 0xD371, 0x822F, 0xD372, 0x8225, 0xD373, 0x8333, - 0xD374, 0x832D, 0xD375, 0x8344, 0xD376, 0x8319, 0xD377, 0x8351, 0xD378, 0x8325, 0xD379, 0x8356, 0xD37A, 0x833F, 0xD37B, 0x8341, - 0xD37C, 0x8326, 0xD37D, 0x831C, 0xD37E, 0x8322, 0xD3A1, 0x8342, 0xD3A2, 0x834E, 0xD3A3, 0x831B, 0xD3A4, 0x832A, 0xD3A5, 0x8308, - 0xD3A6, 0x833C, 0xD3A7, 0x834D, 0xD3A8, 0x8316, 0xD3A9, 0x8324, 0xD3AA, 0x8320, 0xD3AB, 0x8337, 0xD3AC, 0x832F, 0xD3AD, 0x8329, - 0xD3AE, 0x8347, 0xD3AF, 0x8345, 0xD3B0, 0x834C, 0xD3B1, 0x8353, 0xD3B2, 0x831E, 0xD3B3, 0x832C, 0xD3B4, 0x834B, 0xD3B5, 0x8327, - 0xD3B6, 0x8348, 0xD3B7, 0x8653, 0xD3B8, 0x8652, 0xD3B9, 0x86A2, 0xD3BA, 0x86A8, 0xD3BB, 0x8696, 0xD3BC, 0x868D, 0xD3BD, 0x8691, - 0xD3BE, 0x869E, 0xD3BF, 0x8687, 0xD3C0, 0x8697, 0xD3C1, 0x8686, 0xD3C2, 0x868B, 0xD3C3, 0x869A, 0xD3C4, 0x8685, 0xD3C5, 0x86A5, - 0xD3C6, 0x8699, 0xD3C7, 0x86A1, 0xD3C8, 0x86A7, 0xD3C9, 0x8695, 0xD3CA, 0x8698, 0xD3CB, 0x868E, 0xD3CC, 0x869D, 0xD3CD, 0x8690, - 0xD3CE, 0x8694, 0xD3CF, 0x8843, 0xD3D0, 0x8844, 0xD3D1, 0x886D, 0xD3D2, 0x8875, 0xD3D3, 0x8876, 0xD3D4, 0x8872, 0xD3D5, 0x8880, - 0xD3D6, 0x8871, 0xD3D7, 0x887F, 0xD3D8, 0x886F, 0xD3D9, 0x8883, 0xD3DA, 0x887E, 0xD3DB, 0x8874, 0xD3DC, 0x887C, 0xD3DD, 0x8A12, - 0xD3DE, 0x8C47, 0xD3DF, 0x8C57, 0xD3E0, 0x8C7B, 0xD3E1, 0x8CA4, 0xD3E2, 0x8CA3, 0xD3E3, 0x8D76, 0xD3E4, 0x8D78, 0xD3E5, 0x8DB5, - 0xD3E6, 0x8DB7, 0xD3E7, 0x8DB6, 0xD3E8, 0x8ED1, 0xD3E9, 0x8ED3, 0xD3EA, 0x8FFE, 0xD3EB, 0x8FF5, 0xD3EC, 0x9002, 0xD3ED, 0x8FFF, - 0xD3EE, 0x8FFB, 0xD3EF, 0x9004, 0xD3F0, 0x8FFC, 0xD3F1, 0x8FF6, 0xD3F2, 0x90D6, 0xD3F3, 0x90E0, 0xD3F4, 0x90D9, 0xD3F5, 0x90DA, - 0xD3F6, 0x90E3, 0xD3F7, 0x90DF, 0xD3F8, 0x90E5, 0xD3F9, 0x90D8, 0xD3FA, 0x90DB, 0xD3FB, 0x90D7, 0xD3FC, 0x90DC, 0xD3FD, 0x90E4, - 0xD3FE, 0x9150, 0xD440, 0x914E, 0xD441, 0x914F, 0xD442, 0x91D5, 0xD443, 0x91E2, 0xD444, 0x91DA, 0xD445, 0x965C, 0xD446, 0x965F, - 0xD447, 0x96BC, 0xD448, 0x98E3, 0xD449, 0x9ADF, 0xD44A, 0x9B2F, 0xD44B, 0x4E7F, 0xD44C, 0x5070, 0xD44D, 0x506A, 0xD44E, 0x5061, - 0xD44F, 0x505E, 0xD450, 0x5060, 0xD451, 0x5053, 0xD452, 0x504B, 0xD453, 0x505D, 0xD454, 0x5072, 0xD455, 0x5048, 0xD456, 0x504D, - 0xD457, 0x5041, 0xD458, 0x505B, 0xD459, 0x504A, 0xD45A, 0x5062, 0xD45B, 0x5015, 0xD45C, 0x5045, 0xD45D, 0x505F, 0xD45E, 0x5069, - 0xD45F, 0x506B, 0xD460, 0x5063, 0xD461, 0x5064, 0xD462, 0x5046, 0xD463, 0x5040, 0xD464, 0x506E, 0xD465, 0x5073, 0xD466, 0x5057, - 0xD467, 0x5051, 0xD468, 0x51D0, 0xD469, 0x526B, 0xD46A, 0x526D, 0xD46B, 0x526C, 0xD46C, 0x526E, 0xD46D, 0x52D6, 0xD46E, 0x52D3, - 0xD46F, 0x532D, 0xD470, 0x539C, 0xD471, 0x5575, 0xD472, 0x5576, 0xD473, 0x553C, 0xD474, 0x554D, 0xD475, 0x5550, 0xD476, 0x5534, - 0xD477, 0x552A, 0xD478, 0x5551, 0xD479, 0x5562, 0xD47A, 0x5536, 0xD47B, 0x5535, 0xD47C, 0x5530, 0xD47D, 0x5552, 0xD47E, 0x5545, - 0xD4A1, 0x550C, 0xD4A2, 0x5532, 0xD4A3, 0x5565, 0xD4A4, 0x554E, 0xD4A5, 0x5539, 0xD4A6, 0x5548, 0xD4A7, 0x552D, 0xD4A8, 0x553B, - 0xD4A9, 0x5540, 0xD4AA, 0x554B, 0xD4AB, 0x570A, 0xD4AC, 0x5707, 0xD4AD, 0x57FB, 0xD4AE, 0x5814, 0xD4AF, 0x57E2, 0xD4B0, 0x57F6, - 0xD4B1, 0x57DC, 0xD4B2, 0x57F4, 0xD4B3, 0x5800, 0xD4B4, 0x57ED, 0xD4B5, 0x57FD, 0xD4B6, 0x5808, 0xD4B7, 0x57F8, 0xD4B8, 0x580B, - 0xD4B9, 0x57F3, 0xD4BA, 0x57CF, 0xD4BB, 0x5807, 0xD4BC, 0x57EE, 0xD4BD, 0x57E3, 0xD4BE, 0x57F2, 0xD4BF, 0x57E5, 0xD4C0, 0x57EC, - 0xD4C1, 0x57E1, 0xD4C2, 0x580E, 0xD4C3, 0x57FC, 0xD4C4, 0x5810, 0xD4C5, 0x57E7, 0xD4C6, 0x5801, 0xD4C7, 0x580C, 0xD4C8, 0x57F1, - 0xD4C9, 0x57E9, 0xD4CA, 0x57F0, 0xD4CB, 0x580D, 0xD4CC, 0x5804, 0xD4CD, 0x595C, 0xD4CE, 0x5A60, 0xD4CF, 0x5A58, 0xD4D0, 0x5A55, - 0xD4D1, 0x5A67, 0xD4D2, 0x5A5E, 0xD4D3, 0x5A38, 0xD4D4, 0x5A35, 0xD4D5, 0x5A6D, 0xD4D6, 0x5A50, 0xD4D7, 0x5A5F, 0xD4D8, 0x5A65, - 0xD4D9, 0x5A6C, 0xD4DA, 0x5A53, 0xD4DB, 0x5A64, 0xD4DC, 0x5A57, 0xD4DD, 0x5A43, 0xD4DE, 0x5A5D, 0xD4DF, 0x5A52, 0xD4E0, 0x5A44, - 0xD4E1, 0x5A5B, 0xD4E2, 0x5A48, 0xD4E3, 0x5A8E, 0xD4E4, 0x5A3E, 0xD4E5, 0x5A4D, 0xD4E6, 0x5A39, 0xD4E7, 0x5A4C, 0xD4E8, 0x5A70, - 0xD4E9, 0x5A69, 0xD4EA, 0x5A47, 0xD4EB, 0x5A51, 0xD4EC, 0x5A56, 0xD4ED, 0x5A42, 0xD4EE, 0x5A5C, 0xD4EF, 0x5B72, 0xD4F0, 0x5B6E, - 0xD4F1, 0x5BC1, 0xD4F2, 0x5BC0, 0xD4F3, 0x5C59, 0xD4F4, 0x5D1E, 0xD4F5, 0x5D0B, 0xD4F6, 0x5D1D, 0xD4F7, 0x5D1A, 0xD4F8, 0x5D20, - 0xD4F9, 0x5D0C, 0xD4FA, 0x5D28, 0xD4FB, 0x5D0D, 0xD4FC, 0x5D26, 0xD4FD, 0x5D25, 0xD4FE, 0x5D0F, 0xD540, 0x5D30, 0xD541, 0x5D12, - 0xD542, 0x5D23, 0xD543, 0x5D1F, 0xD544, 0x5D2E, 0xD545, 0x5E3E, 0xD546, 0x5E34, 0xD547, 0x5EB1, 0xD548, 0x5EB4, 0xD549, 0x5EB9, - 0xD54A, 0x5EB2, 0xD54B, 0x5EB3, 0xD54C, 0x5F36, 0xD54D, 0x5F38, 0xD54E, 0x5F9B, 0xD54F, 0x5F96, 0xD550, 0x5F9F, 0xD551, 0x608A, - 0xD552, 0x6090, 0xD553, 0x6086, 0xD554, 0x60BE, 0xD555, 0x60B0, 0xD556, 0x60BA, 0xD557, 0x60D3, 0xD558, 0x60D4, 0xD559, 0x60CF, - 0xD55A, 0x60E4, 0xD55B, 0x60D9, 0xD55C, 0x60DD, 0xD55D, 0x60C8, 0xD55E, 0x60B1, 0xD55F, 0x60DB, 0xD560, 0x60B7, 0xD561, 0x60CA, - 0xD562, 0x60BF, 0xD563, 0x60C3, 0xD564, 0x60CD, 0xD565, 0x60C0, 0xD566, 0x6332, 0xD567, 0x6365, 0xD568, 0x638A, 0xD569, 0x6382, - 0xD56A, 0x637D, 0xD56B, 0x63BD, 0xD56C, 0x639E, 0xD56D, 0x63AD, 0xD56E, 0x639D, 0xD56F, 0x6397, 0xD570, 0x63AB, 0xD571, 0x638E, - 0xD572, 0x636F, 0xD573, 0x6387, 0xD574, 0x6390, 0xD575, 0x636E, 0xD576, 0x63AF, 0xD577, 0x6375, 0xD578, 0x639C, 0xD579, 0x636D, - 0xD57A, 0x63AE, 0xD57B, 0x637C, 0xD57C, 0x63A4, 0xD57D, 0x633B, 0xD57E, 0x639F, 0xD5A1, 0x6378, 0xD5A2, 0x6385, 0xD5A3, 0x6381, - 0xD5A4, 0x6391, 0xD5A5, 0x638D, 0xD5A6, 0x6370, 0xD5A7, 0x6553, 0xD5A8, 0x65CD, 0xD5A9, 0x6665, 0xD5AA, 0x6661, 0xD5AB, 0x665B, - 0xD5AC, 0x6659, 0xD5AD, 0x665C, 0xD5AE, 0x6662, 0xD5AF, 0x6718, 0xD5B0, 0x6879, 0xD5B1, 0x6887, 0xD5B2, 0x6890, 0xD5B3, 0x689C, - 0xD5B4, 0x686D, 0xD5B5, 0x686E, 0xD5B6, 0x68AE, 0xD5B7, 0x68AB, 0xD5B8, 0x6956, 0xD5B9, 0x686F, 0xD5BA, 0x68A3, 0xD5BB, 0x68AC, - 0xD5BC, 0x68A9, 0xD5BD, 0x6875, 0xD5BE, 0x6874, 0xD5BF, 0x68B2, 0xD5C0, 0x688F, 0xD5C1, 0x6877, 0xD5C2, 0x6892, 0xD5C3, 0x687C, - 0xD5C4, 0x686B, 0xD5C5, 0x6872, 0xD5C6, 0x68AA, 0xD5C7, 0x6880, 0xD5C8, 0x6871, 0xD5C9, 0x687E, 0xD5CA, 0x689B, 0xD5CB, 0x6896, - 0xD5CC, 0x688B, 0xD5CD, 0x68A0, 0xD5CE, 0x6889, 0xD5CF, 0x68A4, 0xD5D0, 0x6878, 0xD5D1, 0x687B, 0xD5D2, 0x6891, 0xD5D3, 0x688C, - 0xD5D4, 0x688A, 0xD5D5, 0x687D, 0xD5D6, 0x6B36, 0xD5D7, 0x6B33, 0xD5D8, 0x6B37, 0xD5D9, 0x6B38, 0xD5DA, 0x6B91, 0xD5DB, 0x6B8F, - 0xD5DC, 0x6B8D, 0xD5DD, 0x6B8E, 0xD5DE, 0x6B8C, 0xD5DF, 0x6C2A, 0xD5E0, 0x6DC0, 0xD5E1, 0x6DAB, 0xD5E2, 0x6DB4, 0xD5E3, 0x6DB3, - 0xD5E4, 0x6E74, 0xD5E5, 0x6DAC, 0xD5E6, 0x6DE9, 0xD5E7, 0x6DE2, 0xD5E8, 0x6DB7, 0xD5E9, 0x6DF6, 0xD5EA, 0x6DD4, 0xD5EB, 0x6E00, - 0xD5EC, 0x6DC8, 0xD5ED, 0x6DE0, 0xD5EE, 0x6DDF, 0xD5EF, 0x6DD6, 0xD5F0, 0x6DBE, 0xD5F1, 0x6DE5, 0xD5F2, 0x6DDC, 0xD5F3, 0x6DDD, - 0xD5F4, 0x6DDB, 0xD5F5, 0x6DF4, 0xD5F6, 0x6DCA, 0xD5F7, 0x6DBD, 0xD5F8, 0x6DED, 0xD5F9, 0x6DF0, 0xD5FA, 0x6DBA, 0xD5FB, 0x6DD5, - 0xD5FC, 0x6DC2, 0xD5FD, 0x6DCF, 0xD5FE, 0x6DC9, 0xD640, 0x6DD0, 0xD641, 0x6DF2, 0xD642, 0x6DD3, 0xD643, 0x6DFD, 0xD644, 0x6DD7, - 0xD645, 0x6DCD, 0xD646, 0x6DE3, 0xD647, 0x6DBB, 0xD648, 0x70FA, 0xD649, 0x710D, 0xD64A, 0x70F7, 0xD64B, 0x7117, 0xD64C, 0x70F4, - 0xD64D, 0x710C, 0xD64E, 0x70F0, 0xD64F, 0x7104, 0xD650, 0x70F3, 0xD651, 0x7110, 0xD652, 0x70FC, 0xD653, 0x70FF, 0xD654, 0x7106, - 0xD655, 0x7113, 0xD656, 0x7100, 0xD657, 0x70F8, 0xD658, 0x70F6, 0xD659, 0x710B, 0xD65A, 0x7102, 0xD65B, 0x710E, 0xD65C, 0x727E, - 0xD65D, 0x727B, 0xD65E, 0x727C, 0xD65F, 0x727F, 0xD660, 0x731D, 0xD661, 0x7317, 0xD662, 0x7307, 0xD663, 0x7311, 0xD664, 0x7318, - 0xD665, 0x730A, 0xD666, 0x7308, 0xD667, 0x72FF, 0xD668, 0x730F, 0xD669, 0x731E, 0xD66A, 0x7388, 0xD66B, 0x73F6, 0xD66C, 0x73F8, - 0xD66D, 0x73F5, 0xD66E, 0x7404, 0xD66F, 0x7401, 0xD670, 0x73FD, 0xD671, 0x7407, 0xD672, 0x7400, 0xD673, 0x73FA, 0xD674, 0x73FC, - 0xD675, 0x73FF, 0xD676, 0x740C, 0xD677, 0x740B, 0xD678, 0x73F4, 0xD679, 0x7408, 0xD67A, 0x7564, 0xD67B, 0x7563, 0xD67C, 0x75CE, - 0xD67D, 0x75D2, 0xD67E, 0x75CF, 0xD6A1, 0x75CB, 0xD6A2, 0x75CC, 0xD6A3, 0x75D1, 0xD6A4, 0x75D0, 0xD6A5, 0x768F, 0xD6A6, 0x7689, - 0xD6A7, 0x76D3, 0xD6A8, 0x7739, 0xD6A9, 0x772F, 0xD6AA, 0x772D, 0xD6AB, 0x7731, 0xD6AC, 0x7732, 0xD6AD, 0x7734, 0xD6AE, 0x7733, - 0xD6AF, 0x773D, 0xD6B0, 0x7725, 0xD6B1, 0x773B, 0xD6B2, 0x7735, 0xD6B3, 0x7848, 0xD6B4, 0x7852, 0xD6B5, 0x7849, 0xD6B6, 0x784D, - 0xD6B7, 0x784A, 0xD6B8, 0x784C, 0xD6B9, 0x7826, 0xD6BA, 0x7845, 0xD6BB, 0x7850, 0xD6BC, 0x7964, 0xD6BD, 0x7967, 0xD6BE, 0x7969, - 0xD6BF, 0x796A, 0xD6C0, 0x7963, 0xD6C1, 0x796B, 0xD6C2, 0x7961, 0xD6C3, 0x79BB, 0xD6C4, 0x79FA, 0xD6C5, 0x79F8, 0xD6C6, 0x79F6, - 0xD6C7, 0x79F7, 0xD6C8, 0x7A8F, 0xD6C9, 0x7A94, 0xD6CA, 0x7A90, 0xD6CB, 0x7B35, 0xD6CC, 0x7B47, 0xD6CD, 0x7B34, 0xD6CE, 0x7B25, - 0xD6CF, 0x7B30, 0xD6D0, 0x7B22, 0xD6D1, 0x7B24, 0xD6D2, 0x7B33, 0xD6D3, 0x7B18, 0xD6D4, 0x7B2A, 0xD6D5, 0x7B1D, 0xD6D6, 0x7B31, - 0xD6D7, 0x7B2B, 0xD6D8, 0x7B2D, 0xD6D9, 0x7B2F, 0xD6DA, 0x7B32, 0xD6DB, 0x7B38, 0xD6DC, 0x7B1A, 0xD6DD, 0x7B23, 0xD6DE, 0x7C94, - 0xD6DF, 0x7C98, 0xD6E0, 0x7C96, 0xD6E1, 0x7CA3, 0xD6E2, 0x7D35, 0xD6E3, 0x7D3D, 0xD6E4, 0x7D38, 0xD6E5, 0x7D36, 0xD6E6, 0x7D3A, - 0xD6E7, 0x7D45, 0xD6E8, 0x7D2C, 0xD6E9, 0x7D29, 0xD6EA, 0x7D41, 0xD6EB, 0x7D47, 0xD6EC, 0x7D3E, 0xD6ED, 0x7D3F, 0xD6EE, 0x7D4A, - 0xD6EF, 0x7D3B, 0xD6F0, 0x7D28, 0xD6F1, 0x7F63, 0xD6F2, 0x7F95, 0xD6F3, 0x7F9C, 0xD6F4, 0x7F9D, 0xD6F5, 0x7F9B, 0xD6F6, 0x7FCA, - 0xD6F7, 0x7FCB, 0xD6F8, 0x7FCD, 0xD6F9, 0x7FD0, 0xD6FA, 0x7FD1, 0xD6FB, 0x7FC7, 0xD6FC, 0x7FCF, 0xD6FD, 0x7FC9, 0xD6FE, 0x801F, - 0xD740, 0x801E, 0xD741, 0x801B, 0xD742, 0x8047, 0xD743, 0x8043, 0xD744, 0x8048, 0xD745, 0x8118, 0xD746, 0x8125, 0xD747, 0x8119, - 0xD748, 0x811B, 0xD749, 0x812D, 0xD74A, 0x811F, 0xD74B, 0x812C, 0xD74C, 0x811E, 0xD74D, 0x8121, 0xD74E, 0x8115, 0xD74F, 0x8127, - 0xD750, 0x811D, 0xD751, 0x8122, 0xD752, 0x8211, 0xD753, 0x8238, 0xD754, 0x8233, 0xD755, 0x823A, 0xD756, 0x8234, 0xD757, 0x8232, - 0xD758, 0x8274, 0xD759, 0x8390, 0xD75A, 0x83A3, 0xD75B, 0x83A8, 0xD75C, 0x838D, 0xD75D, 0x837A, 0xD75E, 0x8373, 0xD75F, 0x83A4, - 0xD760, 0x8374, 0xD761, 0x838F, 0xD762, 0x8381, 0xD763, 0x8395, 0xD764, 0x8399, 0xD765, 0x8375, 0xD766, 0x8394, 0xD767, 0x83A9, - 0xD768, 0x837D, 0xD769, 0x8383, 0xD76A, 0x838C, 0xD76B, 0x839D, 0xD76C, 0x839B, 0xD76D, 0x83AA, 0xD76E, 0x838B, 0xD76F, 0x837E, - 0xD770, 0x83A5, 0xD771, 0x83AF, 0xD772, 0x8388, 0xD773, 0x8397, 0xD774, 0x83B0, 0xD775, 0x837F, 0xD776, 0x83A6, 0xD777, 0x8387, - 0xD778, 0x83AE, 0xD779, 0x8376, 0xD77A, 0x839A, 0xD77B, 0x8659, 0xD77C, 0x8656, 0xD77D, 0x86BF, 0xD77E, 0x86B7, 0xD7A1, 0x86C2, - 0xD7A2, 0x86C1, 0xD7A3, 0x86C5, 0xD7A4, 0x86BA, 0xD7A5, 0x86B0, 0xD7A6, 0x86C8, 0xD7A7, 0x86B9, 0xD7A8, 0x86B3, 0xD7A9, 0x86B8, - 0xD7AA, 0x86CC, 0xD7AB, 0x86B4, 0xD7AC, 0x86BB, 0xD7AD, 0x86BC, 0xD7AE, 0x86C3, 0xD7AF, 0x86BD, 0xD7B0, 0x86BE, 0xD7B1, 0x8852, - 0xD7B2, 0x8889, 0xD7B3, 0x8895, 0xD7B4, 0x88A8, 0xD7B5, 0x88A2, 0xD7B6, 0x88AA, 0xD7B7, 0x889A, 0xD7B8, 0x8891, 0xD7B9, 0x88A1, - 0xD7BA, 0x889F, 0xD7BB, 0x8898, 0xD7BC, 0x88A7, 0xD7BD, 0x8899, 0xD7BE, 0x889B, 0xD7BF, 0x8897, 0xD7C0, 0x88A4, 0xD7C1, 0x88AC, - 0xD7C2, 0x888C, 0xD7C3, 0x8893, 0xD7C4, 0x888E, 0xD7C5, 0x8982, 0xD7C6, 0x89D6, 0xD7C7, 0x89D9, 0xD7C8, 0x89D5, 0xD7C9, 0x8A30, - 0xD7CA, 0x8A27, 0xD7CB, 0x8A2C, 0xD7CC, 0x8A1E, 0xD7CD, 0x8C39, 0xD7CE, 0x8C3B, 0xD7CF, 0x8C5C, 0xD7D0, 0x8C5D, 0xD7D1, 0x8C7D, - 0xD7D2, 0x8CA5, 0xD7D3, 0x8D7D, 0xD7D4, 0x8D7B, 0xD7D5, 0x8D79, 0xD7D6, 0x8DBC, 0xD7D7, 0x8DC2, 0xD7D8, 0x8DB9, 0xD7D9, 0x8DBF, - 0xD7DA, 0x8DC1, 0xD7DB, 0x8ED8, 0xD7DC, 0x8EDE, 0xD7DD, 0x8EDD, 0xD7DE, 0x8EDC, 0xD7DF, 0x8ED7, 0xD7E0, 0x8EE0, 0xD7E1, 0x8EE1, - 0xD7E2, 0x9024, 0xD7E3, 0x900B, 0xD7E4, 0x9011, 0xD7E5, 0x901C, 0xD7E6, 0x900C, 0xD7E7, 0x9021, 0xD7E8, 0x90EF, 0xD7E9, 0x90EA, - 0xD7EA, 0x90F0, 0xD7EB, 0x90F4, 0xD7EC, 0x90F2, 0xD7ED, 0x90F3, 0xD7EE, 0x90D4, 0xD7EF, 0x90EB, 0xD7F0, 0x90EC, 0xD7F1, 0x90E9, - 0xD7F2, 0x9156, 0xD7F3, 0x9158, 0xD7F4, 0x915A, 0xD7F5, 0x9153, 0xD7F6, 0x9155, 0xD7F7, 0x91EC, 0xD7F8, 0x91F4, 0xD7F9, 0x91F1, - 0xD7FA, 0x91F3, 0xD7FB, 0x91F8, 0xD7FC, 0x91E4, 0xD7FD, 0x91F9, 0xD7FE, 0x91EA, 0xD840, 0x91EB, 0xD841, 0x91F7, 0xD842, 0x91E8, - 0xD843, 0x91EE, 0xD844, 0x957A, 0xD845, 0x9586, 0xD846, 0x9588, 0xD847, 0x967C, 0xD848, 0x966D, 0xD849, 0x966B, 0xD84A, 0x9671, - 0xD84B, 0x966F, 0xD84C, 0x96BF, 0xD84D, 0x976A, 0xD84E, 0x9804, 0xD84F, 0x98E5, 0xD850, 0x9997, 0xD851, 0x509B, 0xD852, 0x5095, - 0xD853, 0x5094, 0xD854, 0x509E, 0xD855, 0x508B, 0xD856, 0x50A3, 0xD857, 0x5083, 0xD858, 0x508C, 0xD859, 0x508E, 0xD85A, 0x509D, - 0xD85B, 0x5068, 0xD85C, 0x509C, 0xD85D, 0x5092, 0xD85E, 0x5082, 0xD85F, 0x5087, 0xD860, 0x515F, 0xD861, 0x51D4, 0xD862, 0x5312, - 0xD863, 0x5311, 0xD864, 0x53A4, 0xD865, 0x53A7, 0xD866, 0x5591, 0xD867, 0x55A8, 0xD868, 0x55A5, 0xD869, 0x55AD, 0xD86A, 0x5577, - 0xD86B, 0x5645, 0xD86C, 0x55A2, 0xD86D, 0x5593, 0xD86E, 0x5588, 0xD86F, 0x558F, 0xD870, 0x55B5, 0xD871, 0x5581, 0xD872, 0x55A3, - 0xD873, 0x5592, 0xD874, 0x55A4, 0xD875, 0x557D, 0xD876, 0x558C, 0xD877, 0x55A6, 0xD878, 0x557F, 0xD879, 0x5595, 0xD87A, 0x55A1, - 0xD87B, 0x558E, 0xD87C, 0x570C, 0xD87D, 0x5829, 0xD87E, 0x5837, 0xD8A1, 0x5819, 0xD8A2, 0x581E, 0xD8A3, 0x5827, 0xD8A4, 0x5823, - 0xD8A5, 0x5828, 0xD8A6, 0x57F5, 0xD8A7, 0x5848, 0xD8A8, 0x5825, 0xD8A9, 0x581C, 0xD8AA, 0x581B, 0xD8AB, 0x5833, 0xD8AC, 0x583F, - 0xD8AD, 0x5836, 0xD8AE, 0x582E, 0xD8AF, 0x5839, 0xD8B0, 0x5838, 0xD8B1, 0x582D, 0xD8B2, 0x582C, 0xD8B3, 0x583B, 0xD8B4, 0x5961, - 0xD8B5, 0x5AAF, 0xD8B6, 0x5A94, 0xD8B7, 0x5A9F, 0xD8B8, 0x5A7A, 0xD8B9, 0x5AA2, 0xD8BA, 0x5A9E, 0xD8BB, 0x5A78, 0xD8BC, 0x5AA6, - 0xD8BD, 0x5A7C, 0xD8BE, 0x5AA5, 0xD8BF, 0x5AAC, 0xD8C0, 0x5A95, 0xD8C1, 0x5AAE, 0xD8C2, 0x5A37, 0xD8C3, 0x5A84, 0xD8C4, 0x5A8A, - 0xD8C5, 0x5A97, 0xD8C6, 0x5A83, 0xD8C7, 0x5A8B, 0xD8C8, 0x5AA9, 0xD8C9, 0x5A7B, 0xD8CA, 0x5A7D, 0xD8CB, 0x5A8C, 0xD8CC, 0x5A9C, - 0xD8CD, 0x5A8F, 0xD8CE, 0x5A93, 0xD8CF, 0x5A9D, 0xD8D0, 0x5BEA, 0xD8D1, 0x5BCD, 0xD8D2, 0x5BCB, 0xD8D3, 0x5BD4, 0xD8D4, 0x5BD1, - 0xD8D5, 0x5BCA, 0xD8D6, 0x5BCE, 0xD8D7, 0x5C0C, 0xD8D8, 0x5C30, 0xD8D9, 0x5D37, 0xD8DA, 0x5D43, 0xD8DB, 0x5D6B, 0xD8DC, 0x5D41, - 0xD8DD, 0x5D4B, 0xD8DE, 0x5D3F, 0xD8DF, 0x5D35, 0xD8E0, 0x5D51, 0xD8E1, 0x5D4E, 0xD8E2, 0x5D55, 0xD8E3, 0x5D33, 0xD8E4, 0x5D3A, - 0xD8E5, 0x5D52, 0xD8E6, 0x5D3D, 0xD8E7, 0x5D31, 0xD8E8, 0x5D59, 0xD8E9, 0x5D42, 0xD8EA, 0x5D39, 0xD8EB, 0x5D49, 0xD8EC, 0x5D38, - 0xD8ED, 0x5D3C, 0xD8EE, 0x5D32, 0xD8EF, 0x5D36, 0xD8F0, 0x5D40, 0xD8F1, 0x5D45, 0xD8F2, 0x5E44, 0xD8F3, 0x5E41, 0xD8F4, 0x5F58, - 0xD8F5, 0x5FA6, 0xD8F6, 0x5FA5, 0xD8F7, 0x5FAB, 0xD8F8, 0x60C9, 0xD8F9, 0x60B9, 0xD8FA, 0x60CC, 0xD8FB, 0x60E2, 0xD8FC, 0x60CE, - 0xD8FD, 0x60C4, 0xD8FE, 0x6114, 0xD940, 0x60F2, 0xD941, 0x610A, 0xD942, 0x6116, 0xD943, 0x6105, 0xD944, 0x60F5, 0xD945, 0x6113, - 0xD946, 0x60F8, 0xD947, 0x60FC, 0xD948, 0x60FE, 0xD949, 0x60C1, 0xD94A, 0x6103, 0xD94B, 0x6118, 0xD94C, 0x611D, 0xD94D, 0x6110, - 0xD94E, 0x60FF, 0xD94F, 0x6104, 0xD950, 0x610B, 0xD951, 0x624A, 0xD952, 0x6394, 0xD953, 0x63B1, 0xD954, 0x63B0, 0xD955, 0x63CE, - 0xD956, 0x63E5, 0xD957, 0x63E8, 0xD958, 0x63EF, 0xD959, 0x63C3, 0xD95A, 0x649D, 0xD95B, 0x63F3, 0xD95C, 0x63CA, 0xD95D, 0x63E0, - 0xD95E, 0x63F6, 0xD95F, 0x63D5, 0xD960, 0x63F2, 0xD961, 0x63F5, 0xD962, 0x6461, 0xD963, 0x63DF, 0xD964, 0x63BE, 0xD965, 0x63DD, - 0xD966, 0x63DC, 0xD967, 0x63C4, 0xD968, 0x63D8, 0xD969, 0x63D3, 0xD96A, 0x63C2, 0xD96B, 0x63C7, 0xD96C, 0x63CC, 0xD96D, 0x63CB, - 0xD96E, 0x63C8, 0xD96F, 0x63F0, 0xD970, 0x63D7, 0xD971, 0x63D9, 0xD972, 0x6532, 0xD973, 0x6567, 0xD974, 0x656A, 0xD975, 0x6564, - 0xD976, 0x655C, 0xD977, 0x6568, 0xD978, 0x6565, 0xD979, 0x658C, 0xD97A, 0x659D, 0xD97B, 0x659E, 0xD97C, 0x65AE, 0xD97D, 0x65D0, - 0xD97E, 0x65D2, 0xD9A1, 0x667C, 0xD9A2, 0x666C, 0xD9A3, 0x667B, 0xD9A4, 0x6680, 0xD9A5, 0x6671, 0xD9A6, 0x6679, 0xD9A7, 0x666A, - 0xD9A8, 0x6672, 0xD9A9, 0x6701, 0xD9AA, 0x690C, 0xD9AB, 0x68D3, 0xD9AC, 0x6904, 0xD9AD, 0x68DC, 0xD9AE, 0x692A, 0xD9AF, 0x68EC, - 0xD9B0, 0x68EA, 0xD9B1, 0x68F1, 0xD9B2, 0x690F, 0xD9B3, 0x68D6, 0xD9B4, 0x68F7, 0xD9B5, 0x68EB, 0xD9B6, 0x68E4, 0xD9B7, 0x68F6, - 0xD9B8, 0x6913, 0xD9B9, 0x6910, 0xD9BA, 0x68F3, 0xD9BB, 0x68E1, 0xD9BC, 0x6907, 0xD9BD, 0x68CC, 0xD9BE, 0x6908, 0xD9BF, 0x6970, - 0xD9C0, 0x68B4, 0xD9C1, 0x6911, 0xD9C2, 0x68EF, 0xD9C3, 0x68C6, 0xD9C4, 0x6914, 0xD9C5, 0x68F8, 0xD9C6, 0x68D0, 0xD9C7, 0x68FD, - 0xD9C8, 0x68FC, 0xD9C9, 0x68E8, 0xD9CA, 0x690B, 0xD9CB, 0x690A, 0xD9CC, 0x6917, 0xD9CD, 0x68CE, 0xD9CE, 0x68C8, 0xD9CF, 0x68DD, - 0xD9D0, 0x68DE, 0xD9D1, 0x68E6, 0xD9D2, 0x68F4, 0xD9D3, 0x68D1, 0xD9D4, 0x6906, 0xD9D5, 0x68D4, 0xD9D6, 0x68E9, 0xD9D7, 0x6915, - 0xD9D8, 0x6925, 0xD9D9, 0x68C7, 0xD9DA, 0x6B39, 0xD9DB, 0x6B3B, 0xD9DC, 0x6B3F, 0xD9DD, 0x6B3C, 0xD9DE, 0x6B94, 0xD9DF, 0x6B97, - 0xD9E0, 0x6B99, 0xD9E1, 0x6B95, 0xD9E2, 0x6BBD, 0xD9E3, 0x6BF0, 0xD9E4, 0x6BF2, 0xD9E5, 0x6BF3, 0xD9E6, 0x6C30, 0xD9E7, 0x6DFC, - 0xD9E8, 0x6E46, 0xD9E9, 0x6E47, 0xD9EA, 0x6E1F, 0xD9EB, 0x6E49, 0xD9EC, 0x6E88, 0xD9ED, 0x6E3C, 0xD9EE, 0x6E3D, 0xD9EF, 0x6E45, - 0xD9F0, 0x6E62, 0xD9F1, 0x6E2B, 0xD9F2, 0x6E3F, 0xD9F3, 0x6E41, 0xD9F4, 0x6E5D, 0xD9F5, 0x6E73, 0xD9F6, 0x6E1C, 0xD9F7, 0x6E33, - 0xD9F8, 0x6E4B, 0xD9F9, 0x6E40, 0xD9FA, 0x6E51, 0xD9FB, 0x6E3B, 0xD9FC, 0x6E03, 0xD9FD, 0x6E2E, 0xD9FE, 0x6E5E, 0xDA40, 0x6E68, - 0xDA41, 0x6E5C, 0xDA42, 0x6E61, 0xDA43, 0x6E31, 0xDA44, 0x6E28, 0xDA45, 0x6E60, 0xDA46, 0x6E71, 0xDA47, 0x6E6B, 0xDA48, 0x6E39, - 0xDA49, 0x6E22, 0xDA4A, 0x6E30, 0xDA4B, 0x6E53, 0xDA4C, 0x6E65, 0xDA4D, 0x6E27, 0xDA4E, 0x6E78, 0xDA4F, 0x6E64, 0xDA50, 0x6E77, - 0xDA51, 0x6E55, 0xDA52, 0x6E79, 0xDA53, 0x6E52, 0xDA54, 0x6E66, 0xDA55, 0x6E35, 0xDA56, 0x6E36, 0xDA57, 0x6E5A, 0xDA58, 0x7120, - 0xDA59, 0x711E, 0xDA5A, 0x712F, 0xDA5B, 0x70FB, 0xDA5C, 0x712E, 0xDA5D, 0x7131, 0xDA5E, 0x7123, 0xDA5F, 0x7125, 0xDA60, 0x7122, - 0xDA61, 0x7132, 0xDA62, 0x711F, 0xDA63, 0x7128, 0xDA64, 0x713A, 0xDA65, 0x711B, 0xDA66, 0x724B, 0xDA67, 0x725A, 0xDA68, 0x7288, - 0xDA69, 0x7289, 0xDA6A, 0x7286, 0xDA6B, 0x7285, 0xDA6C, 0x728B, 0xDA6D, 0x7312, 0xDA6E, 0x730B, 0xDA6F, 0x7330, 0xDA70, 0x7322, - 0xDA71, 0x7331, 0xDA72, 0x7333, 0xDA73, 0x7327, 0xDA74, 0x7332, 0xDA75, 0x732D, 0xDA76, 0x7326, 0xDA77, 0x7323, 0xDA78, 0x7335, - 0xDA79, 0x730C, 0xDA7A, 0x742E, 0xDA7B, 0x742C, 0xDA7C, 0x7430, 0xDA7D, 0x742B, 0xDA7E, 0x7416, 0xDAA1, 0x741A, 0xDAA2, 0x7421, - 0xDAA3, 0x742D, 0xDAA4, 0x7431, 0xDAA5, 0x7424, 0xDAA6, 0x7423, 0xDAA7, 0x741D, 0xDAA8, 0x7429, 0xDAA9, 0x7420, 0xDAAA, 0x7432, - 0xDAAB, 0x74FB, 0xDAAC, 0x752F, 0xDAAD, 0x756F, 0xDAAE, 0x756C, 0xDAAF, 0x75E7, 0xDAB0, 0x75DA, 0xDAB1, 0x75E1, 0xDAB2, 0x75E6, - 0xDAB3, 0x75DD, 0xDAB4, 0x75DF, 0xDAB5, 0x75E4, 0xDAB6, 0x75D7, 0xDAB7, 0x7695, 0xDAB8, 0x7692, 0xDAB9, 0x76DA, 0xDABA, 0x7746, - 0xDABB, 0x7747, 0xDABC, 0x7744, 0xDABD, 0x774D, 0xDABE, 0x7745, 0xDABF, 0x774A, 0xDAC0, 0x774E, 0xDAC1, 0x774B, 0xDAC2, 0x774C, - 0xDAC3, 0x77DE, 0xDAC4, 0x77EC, 0xDAC5, 0x7860, 0xDAC6, 0x7864, 0xDAC7, 0x7865, 0xDAC8, 0x785C, 0xDAC9, 0x786D, 0xDACA, 0x7871, - 0xDACB, 0x786A, 0xDACC, 0x786E, 0xDACD, 0x7870, 0xDACE, 0x7869, 0xDACF, 0x7868, 0xDAD0, 0x785E, 0xDAD1, 0x7862, 0xDAD2, 0x7974, - 0xDAD3, 0x7973, 0xDAD4, 0x7972, 0xDAD5, 0x7970, 0xDAD6, 0x7A02, 0xDAD7, 0x7A0A, 0xDAD8, 0x7A03, 0xDAD9, 0x7A0C, 0xDADA, 0x7A04, - 0xDADB, 0x7A99, 0xDADC, 0x7AE6, 0xDADD, 0x7AE4, 0xDADE, 0x7B4A, 0xDADF, 0x7B3B, 0xDAE0, 0x7B44, 0xDAE1, 0x7B48, 0xDAE2, 0x7B4C, - 0xDAE3, 0x7B4E, 0xDAE4, 0x7B40, 0xDAE5, 0x7B58, 0xDAE6, 0x7B45, 0xDAE7, 0x7CA2, 0xDAE8, 0x7C9E, 0xDAE9, 0x7CA8, 0xDAEA, 0x7CA1, - 0xDAEB, 0x7D58, 0xDAEC, 0x7D6F, 0xDAED, 0x7D63, 0xDAEE, 0x7D53, 0xDAEF, 0x7D56, 0xDAF0, 0x7D67, 0xDAF1, 0x7D6A, 0xDAF2, 0x7D4F, - 0xDAF3, 0x7D6D, 0xDAF4, 0x7D5C, 0xDAF5, 0x7D6B, 0xDAF6, 0x7D52, 0xDAF7, 0x7D54, 0xDAF8, 0x7D69, 0xDAF9, 0x7D51, 0xDAFA, 0x7D5F, - 0xDAFB, 0x7D4E, 0xDAFC, 0x7F3E, 0xDAFD, 0x7F3F, 0xDAFE, 0x7F65, 0xDB40, 0x7F66, 0xDB41, 0x7FA2, 0xDB42, 0x7FA0, 0xDB43, 0x7FA1, - 0xDB44, 0x7FD7, 0xDB45, 0x8051, 0xDB46, 0x804F, 0xDB47, 0x8050, 0xDB48, 0x80FE, 0xDB49, 0x80D4, 0xDB4A, 0x8143, 0xDB4B, 0x814A, - 0xDB4C, 0x8152, 0xDB4D, 0x814F, 0xDB4E, 0x8147, 0xDB4F, 0x813D, 0xDB50, 0x814D, 0xDB51, 0x813A, 0xDB52, 0x81E6, 0xDB53, 0x81EE, - 0xDB54, 0x81F7, 0xDB55, 0x81F8, 0xDB56, 0x81F9, 0xDB57, 0x8204, 0xDB58, 0x823C, 0xDB59, 0x823D, 0xDB5A, 0x823F, 0xDB5B, 0x8275, - 0xDB5C, 0x833B, 0xDB5D, 0x83CF, 0xDB5E, 0x83F9, 0xDB5F, 0x8423, 0xDB60, 0x83C0, 0xDB61, 0x83E8, 0xDB62, 0x8412, 0xDB63, 0x83E7, - 0xDB64, 0x83E4, 0xDB65, 0x83FC, 0xDB66, 0x83F6, 0xDB67, 0x8410, 0xDB68, 0x83C6, 0xDB69, 0x83C8, 0xDB6A, 0x83EB, 0xDB6B, 0x83E3, - 0xDB6C, 0x83BF, 0xDB6D, 0x8401, 0xDB6E, 0x83DD, 0xDB6F, 0x83E5, 0xDB70, 0x83D8, 0xDB71, 0x83FF, 0xDB72, 0x83E1, 0xDB73, 0x83CB, - 0xDB74, 0x83CE, 0xDB75, 0x83D6, 0xDB76, 0x83F5, 0xDB77, 0x83C9, 0xDB78, 0x8409, 0xDB79, 0x840F, 0xDB7A, 0x83DE, 0xDB7B, 0x8411, - 0xDB7C, 0x8406, 0xDB7D, 0x83C2, 0xDB7E, 0x83F3, 0xDBA1, 0x83D5, 0xDBA2, 0x83FA, 0xDBA3, 0x83C7, 0xDBA4, 0x83D1, 0xDBA5, 0x83EA, - 0xDBA6, 0x8413, 0xDBA7, 0x83C3, 0xDBA8, 0x83EC, 0xDBA9, 0x83EE, 0xDBAA, 0x83C4, 0xDBAB, 0x83FB, 0xDBAC, 0x83D7, 0xDBAD, 0x83E2, - 0xDBAE, 0x841B, 0xDBAF, 0x83DB, 0xDBB0, 0x83FE, 0xDBB1, 0x86D8, 0xDBB2, 0x86E2, 0xDBB3, 0x86E6, 0xDBB4, 0x86D3, 0xDBB5, 0x86E3, - 0xDBB6, 0x86DA, 0xDBB7, 0x86EA, 0xDBB8, 0x86DD, 0xDBB9, 0x86EB, 0xDBBA, 0x86DC, 0xDBBB, 0x86EC, 0xDBBC, 0x86E9, 0xDBBD, 0x86D7, - 0xDBBE, 0x86E8, 0xDBBF, 0x86D1, 0xDBC0, 0x8848, 0xDBC1, 0x8856, 0xDBC2, 0x8855, 0xDBC3, 0x88BA, 0xDBC4, 0x88D7, 0xDBC5, 0x88B9, - 0xDBC6, 0x88B8, 0xDBC7, 0x88C0, 0xDBC8, 0x88BE, 0xDBC9, 0x88B6, 0xDBCA, 0x88BC, 0xDBCB, 0x88B7, 0xDBCC, 0x88BD, 0xDBCD, 0x88B2, - 0xDBCE, 0x8901, 0xDBCF, 0x88C9, 0xDBD0, 0x8995, 0xDBD1, 0x8998, 0xDBD2, 0x8997, 0xDBD3, 0x89DD, 0xDBD4, 0x89DA, 0xDBD5, 0x89DB, - 0xDBD6, 0x8A4E, 0xDBD7, 0x8A4D, 0xDBD8, 0x8A39, 0xDBD9, 0x8A59, 0xDBDA, 0x8A40, 0xDBDB, 0x8A57, 0xDBDC, 0x8A58, 0xDBDD, 0x8A44, - 0xDBDE, 0x8A45, 0xDBDF, 0x8A52, 0xDBE0, 0x8A48, 0xDBE1, 0x8A51, 0xDBE2, 0x8A4A, 0xDBE3, 0x8A4C, 0xDBE4, 0x8A4F, 0xDBE5, 0x8C5F, - 0xDBE6, 0x8C81, 0xDBE7, 0x8C80, 0xDBE8, 0x8CBA, 0xDBE9, 0x8CBE, 0xDBEA, 0x8CB0, 0xDBEB, 0x8CB9, 0xDBEC, 0x8CB5, 0xDBED, 0x8D84, - 0xDBEE, 0x8D80, 0xDBEF, 0x8D89, 0xDBF0, 0x8DD8, 0xDBF1, 0x8DD3, 0xDBF2, 0x8DCD, 0xDBF3, 0x8DC7, 0xDBF4, 0x8DD6, 0xDBF5, 0x8DDC, - 0xDBF6, 0x8DCF, 0xDBF7, 0x8DD5, 0xDBF8, 0x8DD9, 0xDBF9, 0x8DC8, 0xDBFA, 0x8DD7, 0xDBFB, 0x8DC5, 0xDBFC, 0x8EEF, 0xDBFD, 0x8EF7, - 0xDBFE, 0x8EFA, 0xDC40, 0x8EF9, 0xDC41, 0x8EE6, 0xDC42, 0x8EEE, 0xDC43, 0x8EE5, 0xDC44, 0x8EF5, 0xDC45, 0x8EE7, 0xDC46, 0x8EE8, - 0xDC47, 0x8EF6, 0xDC48, 0x8EEB, 0xDC49, 0x8EF1, 0xDC4A, 0x8EEC, 0xDC4B, 0x8EF4, 0xDC4C, 0x8EE9, 0xDC4D, 0x902D, 0xDC4E, 0x9034, - 0xDC4F, 0x902F, 0xDC50, 0x9106, 0xDC51, 0x912C, 0xDC52, 0x9104, 0xDC53, 0x90FF, 0xDC54, 0x90FC, 0xDC55, 0x9108, 0xDC56, 0x90F9, - 0xDC57, 0x90FB, 0xDC58, 0x9101, 0xDC59, 0x9100, 0xDC5A, 0x9107, 0xDC5B, 0x9105, 0xDC5C, 0x9103, 0xDC5D, 0x9161, 0xDC5E, 0x9164, - 0xDC5F, 0x915F, 0xDC60, 0x9162, 0xDC61, 0x9160, 0xDC62, 0x9201, 0xDC63, 0x920A, 0xDC64, 0x9225, 0xDC65, 0x9203, 0xDC66, 0x921A, - 0xDC67, 0x9226, 0xDC68, 0x920F, 0xDC69, 0x920C, 0xDC6A, 0x9200, 0xDC6B, 0x9212, 0xDC6C, 0x91FF, 0xDC6D, 0x91FD, 0xDC6E, 0x9206, - 0xDC6F, 0x9204, 0xDC70, 0x9227, 0xDC71, 0x9202, 0xDC72, 0x921C, 0xDC73, 0x9224, 0xDC74, 0x9219, 0xDC75, 0x9217, 0xDC76, 0x9205, - 0xDC77, 0x9216, 0xDC78, 0x957B, 0xDC79, 0x958D, 0xDC7A, 0x958C, 0xDC7B, 0x9590, 0xDC7C, 0x9687, 0xDC7D, 0x967E, 0xDC7E, 0x9688, - 0xDCA1, 0x9689, 0xDCA2, 0x9683, 0xDCA3, 0x9680, 0xDCA4, 0x96C2, 0xDCA5, 0x96C8, 0xDCA6, 0x96C3, 0xDCA7, 0x96F1, 0xDCA8, 0x96F0, - 0xDCA9, 0x976C, 0xDCAA, 0x9770, 0xDCAB, 0x976E, 0xDCAC, 0x9807, 0xDCAD, 0x98A9, 0xDCAE, 0x98EB, 0xDCAF, 0x9CE6, 0xDCB0, 0x9EF9, - 0xDCB1, 0x4E83, 0xDCB2, 0x4E84, 0xDCB3, 0x4EB6, 0xDCB4, 0x50BD, 0xDCB5, 0x50BF, 0xDCB6, 0x50C6, 0xDCB7, 0x50AE, 0xDCB8, 0x50C4, - 0xDCB9, 0x50CA, 0xDCBA, 0x50B4, 0xDCBB, 0x50C8, 0xDCBC, 0x50C2, 0xDCBD, 0x50B0, 0xDCBE, 0x50C1, 0xDCBF, 0x50BA, 0xDCC0, 0x50B1, - 0xDCC1, 0x50CB, 0xDCC2, 0x50C9, 0xDCC3, 0x50B6, 0xDCC4, 0x50B8, 0xDCC5, 0x51D7, 0xDCC6, 0x527A, 0xDCC7, 0x5278, 0xDCC8, 0x527B, - 0xDCC9, 0x527C, 0xDCCA, 0x55C3, 0xDCCB, 0x55DB, 0xDCCC, 0x55CC, 0xDCCD, 0x55D0, 0xDCCE, 0x55CB, 0xDCCF, 0x55CA, 0xDCD0, 0x55DD, - 0xDCD1, 0x55C0, 0xDCD2, 0x55D4, 0xDCD3, 0x55C4, 0xDCD4, 0x55E9, 0xDCD5, 0x55BF, 0xDCD6, 0x55D2, 0xDCD7, 0x558D, 0xDCD8, 0x55CF, - 0xDCD9, 0x55D5, 0xDCDA, 0x55E2, 0xDCDB, 0x55D6, 0xDCDC, 0x55C8, 0xDCDD, 0x55F2, 0xDCDE, 0x55CD, 0xDCDF, 0x55D9, 0xDCE0, 0x55C2, - 0xDCE1, 0x5714, 0xDCE2, 0x5853, 0xDCE3, 0x5868, 0xDCE4, 0x5864, 0xDCE5, 0x584F, 0xDCE6, 0x584D, 0xDCE7, 0x5849, 0xDCE8, 0x586F, - 0xDCE9, 0x5855, 0xDCEA, 0x584E, 0xDCEB, 0x585D, 0xDCEC, 0x5859, 0xDCED, 0x5865, 0xDCEE, 0x585B, 0xDCEF, 0x583D, 0xDCF0, 0x5863, - 0xDCF1, 0x5871, 0xDCF2, 0x58FC, 0xDCF3, 0x5AC7, 0xDCF4, 0x5AC4, 0xDCF5, 0x5ACB, 0xDCF6, 0x5ABA, 0xDCF7, 0x5AB8, 0xDCF8, 0x5AB1, - 0xDCF9, 0x5AB5, 0xDCFA, 0x5AB0, 0xDCFB, 0x5ABF, 0xDCFC, 0x5AC8, 0xDCFD, 0x5ABB, 0xDCFE, 0x5AC6, 0xDD40, 0x5AB7, 0xDD41, 0x5AC0, - 0xDD42, 0x5ACA, 0xDD43, 0x5AB4, 0xDD44, 0x5AB6, 0xDD45, 0x5ACD, 0xDD46, 0x5AB9, 0xDD47, 0x5A90, 0xDD48, 0x5BD6, 0xDD49, 0x5BD8, - 0xDD4A, 0x5BD9, 0xDD4B, 0x5C1F, 0xDD4C, 0x5C33, 0xDD4D, 0x5D71, 0xDD4E, 0x5D63, 0xDD4F, 0x5D4A, 0xDD50, 0x5D65, 0xDD51, 0x5D72, - 0xDD52, 0x5D6C, 0xDD53, 0x5D5E, 0xDD54, 0x5D68, 0xDD55, 0x5D67, 0xDD56, 0x5D62, 0xDD57, 0x5DF0, 0xDD58, 0x5E4F, 0xDD59, 0x5E4E, - 0xDD5A, 0x5E4A, 0xDD5B, 0x5E4D, 0xDD5C, 0x5E4B, 0xDD5D, 0x5EC5, 0xDD5E, 0x5ECC, 0xDD5F, 0x5EC6, 0xDD60, 0x5ECB, 0xDD61, 0x5EC7, - 0xDD62, 0x5F40, 0xDD63, 0x5FAF, 0xDD64, 0x5FAD, 0xDD65, 0x60F7, 0xDD66, 0x6149, 0xDD67, 0x614A, 0xDD68, 0x612B, 0xDD69, 0x6145, - 0xDD6A, 0x6136, 0xDD6B, 0x6132, 0xDD6C, 0x612E, 0xDD6D, 0x6146, 0xDD6E, 0x612F, 0xDD6F, 0x614F, 0xDD70, 0x6129, 0xDD71, 0x6140, - 0xDD72, 0x6220, 0xDD73, 0x9168, 0xDD74, 0x6223, 0xDD75, 0x6225, 0xDD76, 0x6224, 0xDD77, 0x63C5, 0xDD78, 0x63F1, 0xDD79, 0x63EB, - 0xDD7A, 0x6410, 0xDD7B, 0x6412, 0xDD7C, 0x6409, 0xDD7D, 0x6420, 0xDD7E, 0x6424, 0xDDA1, 0x6433, 0xDDA2, 0x6443, 0xDDA3, 0x641F, - 0xDDA4, 0x6415, 0xDDA5, 0x6418, 0xDDA6, 0x6439, 0xDDA7, 0x6437, 0xDDA8, 0x6422, 0xDDA9, 0x6423, 0xDDAA, 0x640C, 0xDDAB, 0x6426, - 0xDDAC, 0x6430, 0xDDAD, 0x6428, 0xDDAE, 0x6441, 0xDDAF, 0x6435, 0xDDB0, 0x642F, 0xDDB1, 0x640A, 0xDDB2, 0x641A, 0xDDB3, 0x6440, - 0xDDB4, 0x6425, 0xDDB5, 0x6427, 0xDDB6, 0x640B, 0xDDB7, 0x63E7, 0xDDB8, 0x641B, 0xDDB9, 0x642E, 0xDDBA, 0x6421, 0xDDBB, 0x640E, - 0xDDBC, 0x656F, 0xDDBD, 0x6592, 0xDDBE, 0x65D3, 0xDDBF, 0x6686, 0xDDC0, 0x668C, 0xDDC1, 0x6695, 0xDDC2, 0x6690, 0xDDC3, 0x668B, - 0xDDC4, 0x668A, 0xDDC5, 0x6699, 0xDDC6, 0x6694, 0xDDC7, 0x6678, 0xDDC8, 0x6720, 0xDDC9, 0x6966, 0xDDCA, 0x695F, 0xDDCB, 0x6938, - 0xDDCC, 0x694E, 0xDDCD, 0x6962, 0xDDCE, 0x6971, 0xDDCF, 0x693F, 0xDDD0, 0x6945, 0xDDD1, 0x696A, 0xDDD2, 0x6939, 0xDDD3, 0x6942, - 0xDDD4, 0x6957, 0xDDD5, 0x6959, 0xDDD6, 0x697A, 0xDDD7, 0x6948, 0xDDD8, 0x6949, 0xDDD9, 0x6935, 0xDDDA, 0x696C, 0xDDDB, 0x6933, - 0xDDDC, 0x693D, 0xDDDD, 0x6965, 0xDDDE, 0x68F0, 0xDDDF, 0x6978, 0xDDE0, 0x6934, 0xDDE1, 0x6969, 0xDDE2, 0x6940, 0xDDE3, 0x696F, - 0xDDE4, 0x6944, 0xDDE5, 0x6976, 0xDDE6, 0x6958, 0xDDE7, 0x6941, 0xDDE8, 0x6974, 0xDDE9, 0x694C, 0xDDEA, 0x693B, 0xDDEB, 0x694B, - 0xDDEC, 0x6937, 0xDDED, 0x695C, 0xDDEE, 0x694F, 0xDDEF, 0x6951, 0xDDF0, 0x6932, 0xDDF1, 0x6952, 0xDDF2, 0x692F, 0xDDF3, 0x697B, - 0xDDF4, 0x693C, 0xDDF5, 0x6B46, 0xDDF6, 0x6B45, 0xDDF7, 0x6B43, 0xDDF8, 0x6B42, 0xDDF9, 0x6B48, 0xDDFA, 0x6B41, 0xDDFB, 0x6B9B, - 0xDDFC, 0xFA0D, 0xDDFD, 0x6BFB, 0xDDFE, 0x6BFC, 0xDE40, 0x6BF9, 0xDE41, 0x6BF7, 0xDE42, 0x6BF8, 0xDE43, 0x6E9B, 0xDE44, 0x6ED6, - 0xDE45, 0x6EC8, 0xDE46, 0x6E8F, 0xDE47, 0x6EC0, 0xDE48, 0x6E9F, 0xDE49, 0x6E93, 0xDE4A, 0x6E94, 0xDE4B, 0x6EA0, 0xDE4C, 0x6EB1, - 0xDE4D, 0x6EB9, 0xDE4E, 0x6EC6, 0xDE4F, 0x6ED2, 0xDE50, 0x6EBD, 0xDE51, 0x6EC1, 0xDE52, 0x6E9E, 0xDE53, 0x6EC9, 0xDE54, 0x6EB7, - 0xDE55, 0x6EB0, 0xDE56, 0x6ECD, 0xDE57, 0x6EA6, 0xDE58, 0x6ECF, 0xDE59, 0x6EB2, 0xDE5A, 0x6EBE, 0xDE5B, 0x6EC3, 0xDE5C, 0x6EDC, - 0xDE5D, 0x6ED8, 0xDE5E, 0x6E99, 0xDE5F, 0x6E92, 0xDE60, 0x6E8E, 0xDE61, 0x6E8D, 0xDE62, 0x6EA4, 0xDE63, 0x6EA1, 0xDE64, 0x6EBF, - 0xDE65, 0x6EB3, 0xDE66, 0x6ED0, 0xDE67, 0x6ECA, 0xDE68, 0x6E97, 0xDE69, 0x6EAE, 0xDE6A, 0x6EA3, 0xDE6B, 0x7147, 0xDE6C, 0x7154, - 0xDE6D, 0x7152, 0xDE6E, 0x7163, 0xDE6F, 0x7160, 0xDE70, 0x7141, 0xDE71, 0x715D, 0xDE72, 0x7162, 0xDE73, 0x7172, 0xDE74, 0x7178, - 0xDE75, 0x716A, 0xDE76, 0x7161, 0xDE77, 0x7142, 0xDE78, 0x7158, 0xDE79, 0x7143, 0xDE7A, 0x714B, 0xDE7B, 0x7170, 0xDE7C, 0x715F, - 0xDE7D, 0x7150, 0xDE7E, 0x7153, 0xDEA1, 0x7144, 0xDEA2, 0x714D, 0xDEA3, 0x715A, 0xDEA4, 0x724F, 0xDEA5, 0x728D, 0xDEA6, 0x728C, - 0xDEA7, 0x7291, 0xDEA8, 0x7290, 0xDEA9, 0x728E, 0xDEAA, 0x733C, 0xDEAB, 0x7342, 0xDEAC, 0x733B, 0xDEAD, 0x733A, 0xDEAE, 0x7340, - 0xDEAF, 0x734A, 0xDEB0, 0x7349, 0xDEB1, 0x7444, 0xDEB2, 0x744A, 0xDEB3, 0x744B, 0xDEB4, 0x7452, 0xDEB5, 0x7451, 0xDEB6, 0x7457, - 0xDEB7, 0x7440, 0xDEB8, 0x744F, 0xDEB9, 0x7450, 0xDEBA, 0x744E, 0xDEBB, 0x7442, 0xDEBC, 0x7446, 0xDEBD, 0x744D, 0xDEBE, 0x7454, - 0xDEBF, 0x74E1, 0xDEC0, 0x74FF, 0xDEC1, 0x74FE, 0xDEC2, 0x74FD, 0xDEC3, 0x751D, 0xDEC4, 0x7579, 0xDEC5, 0x7577, 0xDEC6, 0x6983, - 0xDEC7, 0x75EF, 0xDEC8, 0x760F, 0xDEC9, 0x7603, 0xDECA, 0x75F7, 0xDECB, 0x75FE, 0xDECC, 0x75FC, 0xDECD, 0x75F9, 0xDECE, 0x75F8, - 0xDECF, 0x7610, 0xDED0, 0x75FB, 0xDED1, 0x75F6, 0xDED2, 0x75ED, 0xDED3, 0x75F5, 0xDED4, 0x75FD, 0xDED5, 0x7699, 0xDED6, 0x76B5, - 0xDED7, 0x76DD, 0xDED8, 0x7755, 0xDED9, 0x775F, 0xDEDA, 0x7760, 0xDEDB, 0x7752, 0xDEDC, 0x7756, 0xDEDD, 0x775A, 0xDEDE, 0x7769, - 0xDEDF, 0x7767, 0xDEE0, 0x7754, 0xDEE1, 0x7759, 0xDEE2, 0x776D, 0xDEE3, 0x77E0, 0xDEE4, 0x7887, 0xDEE5, 0x789A, 0xDEE6, 0x7894, - 0xDEE7, 0x788F, 0xDEE8, 0x7884, 0xDEE9, 0x7895, 0xDEEA, 0x7885, 0xDEEB, 0x7886, 0xDEEC, 0x78A1, 0xDEED, 0x7883, 0xDEEE, 0x7879, - 0xDEEF, 0x7899, 0xDEF0, 0x7880, 0xDEF1, 0x7896, 0xDEF2, 0x787B, 0xDEF3, 0x797C, 0xDEF4, 0x7982, 0xDEF5, 0x797D, 0xDEF6, 0x7979, - 0xDEF7, 0x7A11, 0xDEF8, 0x7A18, 0xDEF9, 0x7A19, 0xDEFA, 0x7A12, 0xDEFB, 0x7A17, 0xDEFC, 0x7A15, 0xDEFD, 0x7A22, 0xDEFE, 0x7A13, - 0xDF40, 0x7A1B, 0xDF41, 0x7A10, 0xDF42, 0x7AA3, 0xDF43, 0x7AA2, 0xDF44, 0x7A9E, 0xDF45, 0x7AEB, 0xDF46, 0x7B66, 0xDF47, 0x7B64, - 0xDF48, 0x7B6D, 0xDF49, 0x7B74, 0xDF4A, 0x7B69, 0xDF4B, 0x7B72, 0xDF4C, 0x7B65, 0xDF4D, 0x7B73, 0xDF4E, 0x7B71, 0xDF4F, 0x7B70, - 0xDF50, 0x7B61, 0xDF51, 0x7B78, 0xDF52, 0x7B76, 0xDF53, 0x7B63, 0xDF54, 0x7CB2, 0xDF55, 0x7CB4, 0xDF56, 0x7CAF, 0xDF57, 0x7D88, - 0xDF58, 0x7D86, 0xDF59, 0x7D80, 0xDF5A, 0x7D8D, 0xDF5B, 0x7D7F, 0xDF5C, 0x7D85, 0xDF5D, 0x7D7A, 0xDF5E, 0x7D8E, 0xDF5F, 0x7D7B, - 0xDF60, 0x7D83, 0xDF61, 0x7D7C, 0xDF62, 0x7D8C, 0xDF63, 0x7D94, 0xDF64, 0x7D84, 0xDF65, 0x7D7D, 0xDF66, 0x7D92, 0xDF67, 0x7F6D, - 0xDF68, 0x7F6B, 0xDF69, 0x7F67, 0xDF6A, 0x7F68, 0xDF6B, 0x7F6C, 0xDF6C, 0x7FA6, 0xDF6D, 0x7FA5, 0xDF6E, 0x7FA7, 0xDF6F, 0x7FDB, - 0xDF70, 0x7FDC, 0xDF71, 0x8021, 0xDF72, 0x8164, 0xDF73, 0x8160, 0xDF74, 0x8177, 0xDF75, 0x815C, 0xDF76, 0x8169, 0xDF77, 0x815B, - 0xDF78, 0x8162, 0xDF79, 0x8172, 0xDF7A, 0x6721, 0xDF7B, 0x815E, 0xDF7C, 0x8176, 0xDF7D, 0x8167, 0xDF7E, 0x816F, 0xDFA1, 0x8144, - 0xDFA2, 0x8161, 0xDFA3, 0x821D, 0xDFA4, 0x8249, 0xDFA5, 0x8244, 0xDFA6, 0x8240, 0xDFA7, 0x8242, 0xDFA8, 0x8245, 0xDFA9, 0x84F1, - 0xDFAA, 0x843F, 0xDFAB, 0x8456, 0xDFAC, 0x8476, 0xDFAD, 0x8479, 0xDFAE, 0x848F, 0xDFAF, 0x848D, 0xDFB0, 0x8465, 0xDFB1, 0x8451, - 0xDFB2, 0x8440, 0xDFB3, 0x8486, 0xDFB4, 0x8467, 0xDFB5, 0x8430, 0xDFB6, 0x844D, 0xDFB7, 0x847D, 0xDFB8, 0x845A, 0xDFB9, 0x8459, - 0xDFBA, 0x8474, 0xDFBB, 0x8473, 0xDFBC, 0x845D, 0xDFBD, 0x8507, 0xDFBE, 0x845E, 0xDFBF, 0x8437, 0xDFC0, 0x843A, 0xDFC1, 0x8434, - 0xDFC2, 0x847A, 0xDFC3, 0x8443, 0xDFC4, 0x8478, 0xDFC5, 0x8432, 0xDFC6, 0x8445, 0xDFC7, 0x8429, 0xDFC8, 0x83D9, 0xDFC9, 0x844B, - 0xDFCA, 0x842F, 0xDFCB, 0x8442, 0xDFCC, 0x842D, 0xDFCD, 0x845F, 0xDFCE, 0x8470, 0xDFCF, 0x8439, 0xDFD0, 0x844E, 0xDFD1, 0x844C, - 0xDFD2, 0x8452, 0xDFD3, 0x846F, 0xDFD4, 0x84C5, 0xDFD5, 0x848E, 0xDFD6, 0x843B, 0xDFD7, 0x8447, 0xDFD8, 0x8436, 0xDFD9, 0x8433, - 0xDFDA, 0x8468, 0xDFDB, 0x847E, 0xDFDC, 0x8444, 0xDFDD, 0x842B, 0xDFDE, 0x8460, 0xDFDF, 0x8454, 0xDFE0, 0x846E, 0xDFE1, 0x8450, - 0xDFE2, 0x870B, 0xDFE3, 0x8704, 0xDFE4, 0x86F7, 0xDFE5, 0x870C, 0xDFE6, 0x86FA, 0xDFE7, 0x86D6, 0xDFE8, 0x86F5, 0xDFE9, 0x874D, - 0xDFEA, 0x86F8, 0xDFEB, 0x870E, 0xDFEC, 0x8709, 0xDFED, 0x8701, 0xDFEE, 0x86F6, 0xDFEF, 0x870D, 0xDFF0, 0x8705, 0xDFF1, 0x88D6, - 0xDFF2, 0x88CB, 0xDFF3, 0x88CD, 0xDFF4, 0x88CE, 0xDFF5, 0x88DE, 0xDFF6, 0x88DB, 0xDFF7, 0x88DA, 0xDFF8, 0x88CC, 0xDFF9, 0x88D0, - 0xDFFA, 0x8985, 0xDFFB, 0x899B, 0xDFFC, 0x89DF, 0xDFFD, 0x89E5, 0xDFFE, 0x89E4, 0xE040, 0x89E1, 0xE041, 0x89E0, 0xE042, 0x89E2, - 0xE043, 0x89DC, 0xE044, 0x89E6, 0xE045, 0x8A76, 0xE046, 0x8A86, 0xE047, 0x8A7F, 0xE048, 0x8A61, 0xE049, 0x8A3F, 0xE04A, 0x8A77, - 0xE04B, 0x8A82, 0xE04C, 0x8A84, 0xE04D, 0x8A75, 0xE04E, 0x8A83, 0xE04F, 0x8A81, 0xE050, 0x8A74, 0xE051, 0x8A7A, 0xE052, 0x8C3C, - 0xE053, 0x8C4B, 0xE054, 0x8C4A, 0xE055, 0x8C65, 0xE056, 0x8C64, 0xE057, 0x8C66, 0xE058, 0x8C86, 0xE059, 0x8C84, 0xE05A, 0x8C85, - 0xE05B, 0x8CCC, 0xE05C, 0x8D68, 0xE05D, 0x8D69, 0xE05E, 0x8D91, 0xE05F, 0x8D8C, 0xE060, 0x8D8E, 0xE061, 0x8D8F, 0xE062, 0x8D8D, - 0xE063, 0x8D93, 0xE064, 0x8D94, 0xE065, 0x8D90, 0xE066, 0x8D92, 0xE067, 0x8DF0, 0xE068, 0x8DE0, 0xE069, 0x8DEC, 0xE06A, 0x8DF1, - 0xE06B, 0x8DEE, 0xE06C, 0x8DD0, 0xE06D, 0x8DE9, 0xE06E, 0x8DE3, 0xE06F, 0x8DE2, 0xE070, 0x8DE7, 0xE071, 0x8DF2, 0xE072, 0x8DEB, - 0xE073, 0x8DF4, 0xE074, 0x8F06, 0xE075, 0x8EFF, 0xE076, 0x8F01, 0xE077, 0x8F00, 0xE078, 0x8F05, 0xE079, 0x8F07, 0xE07A, 0x8F08, - 0xE07B, 0x8F02, 0xE07C, 0x8F0B, 0xE07D, 0x9052, 0xE07E, 0x903F, 0xE0A1, 0x9044, 0xE0A2, 0x9049, 0xE0A3, 0x903D, 0xE0A4, 0x9110, - 0xE0A5, 0x910D, 0xE0A6, 0x910F, 0xE0A7, 0x9111, 0xE0A8, 0x9116, 0xE0A9, 0x9114, 0xE0AA, 0x910B, 0xE0AB, 0x910E, 0xE0AC, 0x916E, - 0xE0AD, 0x916F, 0xE0AE, 0x9248, 0xE0AF, 0x9252, 0xE0B0, 0x9230, 0xE0B1, 0x923A, 0xE0B2, 0x9266, 0xE0B3, 0x9233, 0xE0B4, 0x9265, - 0xE0B5, 0x925E, 0xE0B6, 0x9283, 0xE0B7, 0x922E, 0xE0B8, 0x924A, 0xE0B9, 0x9246, 0xE0BA, 0x926D, 0xE0BB, 0x926C, 0xE0BC, 0x924F, - 0xE0BD, 0x9260, 0xE0BE, 0x9267, 0xE0BF, 0x926F, 0xE0C0, 0x9236, 0xE0C1, 0x9261, 0xE0C2, 0x9270, 0xE0C3, 0x9231, 0xE0C4, 0x9254, - 0xE0C5, 0x9263, 0xE0C6, 0x9250, 0xE0C7, 0x9272, 0xE0C8, 0x924E, 0xE0C9, 0x9253, 0xE0CA, 0x924C, 0xE0CB, 0x9256, 0xE0CC, 0x9232, - 0xE0CD, 0x959F, 0xE0CE, 0x959C, 0xE0CF, 0x959E, 0xE0D0, 0x959B, 0xE0D1, 0x9692, 0xE0D2, 0x9693, 0xE0D3, 0x9691, 0xE0D4, 0x9697, - 0xE0D5, 0x96CE, 0xE0D6, 0x96FA, 0xE0D7, 0x96FD, 0xE0D8, 0x96F8, 0xE0D9, 0x96F5, 0xE0DA, 0x9773, 0xE0DB, 0x9777, 0xE0DC, 0x9778, - 0xE0DD, 0x9772, 0xE0DE, 0x980F, 0xE0DF, 0x980D, 0xE0E0, 0x980E, 0xE0E1, 0x98AC, 0xE0E2, 0x98F6, 0xE0E3, 0x98F9, 0xE0E4, 0x99AF, - 0xE0E5, 0x99B2, 0xE0E6, 0x99B0, 0xE0E7, 0x99B5, 0xE0E8, 0x9AAD, 0xE0E9, 0x9AAB, 0xE0EA, 0x9B5B, 0xE0EB, 0x9CEA, 0xE0EC, 0x9CED, - 0xE0ED, 0x9CE7, 0xE0EE, 0x9E80, 0xE0EF, 0x9EFD, 0xE0F0, 0x50E6, 0xE0F1, 0x50D4, 0xE0F2, 0x50D7, 0xE0F3, 0x50E8, 0xE0F4, 0x50F3, - 0xE0F5, 0x50DB, 0xE0F6, 0x50EA, 0xE0F7, 0x50DD, 0xE0F8, 0x50E4, 0xE0F9, 0x50D3, 0xE0FA, 0x50EC, 0xE0FB, 0x50F0, 0xE0FC, 0x50EF, - 0xE0FD, 0x50E3, 0xE0FE, 0x50E0, 0xE140, 0x51D8, 0xE141, 0x5280, 0xE142, 0x5281, 0xE143, 0x52E9, 0xE144, 0x52EB, 0xE145, 0x5330, - 0xE146, 0x53AC, 0xE147, 0x5627, 0xE148, 0x5615, 0xE149, 0x560C, 0xE14A, 0x5612, 0xE14B, 0x55FC, 0xE14C, 0x560F, 0xE14D, 0x561C, - 0xE14E, 0x5601, 0xE14F, 0x5613, 0xE150, 0x5602, 0xE151, 0x55FA, 0xE152, 0x561D, 0xE153, 0x5604, 0xE154, 0x55FF, 0xE155, 0x55F9, - 0xE156, 0x5889, 0xE157, 0x587C, 0xE158, 0x5890, 0xE159, 0x5898, 0xE15A, 0x5886, 0xE15B, 0x5881, 0xE15C, 0x587F, 0xE15D, 0x5874, - 0xE15E, 0x588B, 0xE15F, 0x587A, 0xE160, 0x5887, 0xE161, 0x5891, 0xE162, 0x588E, 0xE163, 0x5876, 0xE164, 0x5882, 0xE165, 0x5888, - 0xE166, 0x587B, 0xE167, 0x5894, 0xE168, 0x588F, 0xE169, 0x58FE, 0xE16A, 0x596B, 0xE16B, 0x5ADC, 0xE16C, 0x5AEE, 0xE16D, 0x5AE5, - 0xE16E, 0x5AD5, 0xE16F, 0x5AEA, 0xE170, 0x5ADA, 0xE171, 0x5AED, 0xE172, 0x5AEB, 0xE173, 0x5AF3, 0xE174, 0x5AE2, 0xE175, 0x5AE0, - 0xE176, 0x5ADB, 0xE177, 0x5AEC, 0xE178, 0x5ADE, 0xE179, 0x5ADD, 0xE17A, 0x5AD9, 0xE17B, 0x5AE8, 0xE17C, 0x5ADF, 0xE17D, 0x5B77, - 0xE17E, 0x5BE0, 0xE1A1, 0x5BE3, 0xE1A2, 0x5C63, 0xE1A3, 0x5D82, 0xE1A4, 0x5D80, 0xE1A5, 0x5D7D, 0xE1A6, 0x5D86, 0xE1A7, 0x5D7A, - 0xE1A8, 0x5D81, 0xE1A9, 0x5D77, 0xE1AA, 0x5D8A, 0xE1AB, 0x5D89, 0xE1AC, 0x5D88, 0xE1AD, 0x5D7E, 0xE1AE, 0x5D7C, 0xE1AF, 0x5D8D, - 0xE1B0, 0x5D79, 0xE1B1, 0x5D7F, 0xE1B2, 0x5E58, 0xE1B3, 0x5E59, 0xE1B4, 0x5E53, 0xE1B5, 0x5ED8, 0xE1B6, 0x5ED1, 0xE1B7, 0x5ED7, - 0xE1B8, 0x5ECE, 0xE1B9, 0x5EDC, 0xE1BA, 0x5ED5, 0xE1BB, 0x5ED9, 0xE1BC, 0x5ED2, 0xE1BD, 0x5ED4, 0xE1BE, 0x5F44, 0xE1BF, 0x5F43, - 0xE1C0, 0x5F6F, 0xE1C1, 0x5FB6, 0xE1C2, 0x612C, 0xE1C3, 0x6128, 0xE1C4, 0x6141, 0xE1C5, 0x615E, 0xE1C6, 0x6171, 0xE1C7, 0x6173, - 0xE1C8, 0x6152, 0xE1C9, 0x6153, 0xE1CA, 0x6172, 0xE1CB, 0x616C, 0xE1CC, 0x6180, 0xE1CD, 0x6174, 0xE1CE, 0x6154, 0xE1CF, 0x617A, - 0xE1D0, 0x615B, 0xE1D1, 0x6165, 0xE1D2, 0x613B, 0xE1D3, 0x616A, 0xE1D4, 0x6161, 0xE1D5, 0x6156, 0xE1D6, 0x6229, 0xE1D7, 0x6227, - 0xE1D8, 0x622B, 0xE1D9, 0x642B, 0xE1DA, 0x644D, 0xE1DB, 0x645B, 0xE1DC, 0x645D, 0xE1DD, 0x6474, 0xE1DE, 0x6476, 0xE1DF, 0x6472, - 0xE1E0, 0x6473, 0xE1E1, 0x647D, 0xE1E2, 0x6475, 0xE1E3, 0x6466, 0xE1E4, 0x64A6, 0xE1E5, 0x644E, 0xE1E6, 0x6482, 0xE1E7, 0x645E, - 0xE1E8, 0x645C, 0xE1E9, 0x644B, 0xE1EA, 0x6453, 0xE1EB, 0x6460, 0xE1EC, 0x6450, 0xE1ED, 0x647F, 0xE1EE, 0x643F, 0xE1EF, 0x646C, - 0xE1F0, 0x646B, 0xE1F1, 0x6459, 0xE1F2, 0x6465, 0xE1F3, 0x6477, 0xE1F4, 0x6573, 0xE1F5, 0x65A0, 0xE1F6, 0x66A1, 0xE1F7, 0x66A0, - 0xE1F8, 0x669F, 0xE1F9, 0x6705, 0xE1FA, 0x6704, 0xE1FB, 0x6722, 0xE1FC, 0x69B1, 0xE1FD, 0x69B6, 0xE1FE, 0x69C9, 0xE240, 0x69A0, - 0xE241, 0x69CE, 0xE242, 0x6996, 0xE243, 0x69B0, 0xE244, 0x69AC, 0xE245, 0x69BC, 0xE246, 0x6991, 0xE247, 0x6999, 0xE248, 0x698E, - 0xE249, 0x69A7, 0xE24A, 0x698D, 0xE24B, 0x69A9, 0xE24C, 0x69BE, 0xE24D, 0x69AF, 0xE24E, 0x69BF, 0xE24F, 0x69C4, 0xE250, 0x69BD, - 0xE251, 0x69A4, 0xE252, 0x69D4, 0xE253, 0x69B9, 0xE254, 0x69CA, 0xE255, 0x699A, 0xE256, 0x69CF, 0xE257, 0x69B3, 0xE258, 0x6993, - 0xE259, 0x69AA, 0xE25A, 0x69A1, 0xE25B, 0x699E, 0xE25C, 0x69D9, 0xE25D, 0x6997, 0xE25E, 0x6990, 0xE25F, 0x69C2, 0xE260, 0x69B5, - 0xE261, 0x69A5, 0xE262, 0x69C6, 0xE263, 0x6B4A, 0xE264, 0x6B4D, 0xE265, 0x6B4B, 0xE266, 0x6B9E, 0xE267, 0x6B9F, 0xE268, 0x6BA0, - 0xE269, 0x6BC3, 0xE26A, 0x6BC4, 0xE26B, 0x6BFE, 0xE26C, 0x6ECE, 0xE26D, 0x6EF5, 0xE26E, 0x6EF1, 0xE26F, 0x6F03, 0xE270, 0x6F25, - 0xE271, 0x6EF8, 0xE272, 0x6F37, 0xE273, 0x6EFB, 0xE274, 0x6F2E, 0xE275, 0x6F09, 0xE276, 0x6F4E, 0xE277, 0x6F19, 0xE278, 0x6F1A, - 0xE279, 0x6F27, 0xE27A, 0x6F18, 0xE27B, 0x6F3B, 0xE27C, 0x6F12, 0xE27D, 0x6EED, 0xE27E, 0x6F0A, 0xE2A1, 0x6F36, 0xE2A2, 0x6F73, - 0xE2A3, 0x6EF9, 0xE2A4, 0x6EEE, 0xE2A5, 0x6F2D, 0xE2A6, 0x6F40, 0xE2A7, 0x6F30, 0xE2A8, 0x6F3C, 0xE2A9, 0x6F35, 0xE2AA, 0x6EEB, - 0xE2AB, 0x6F07, 0xE2AC, 0x6F0E, 0xE2AD, 0x6F43, 0xE2AE, 0x6F05, 0xE2AF, 0x6EFD, 0xE2B0, 0x6EF6, 0xE2B1, 0x6F39, 0xE2B2, 0x6F1C, - 0xE2B3, 0x6EFC, 0xE2B4, 0x6F3A, 0xE2B5, 0x6F1F, 0xE2B6, 0x6F0D, 0xE2B7, 0x6F1E, 0xE2B8, 0x6F08, 0xE2B9, 0x6F21, 0xE2BA, 0x7187, - 0xE2BB, 0x7190, 0xE2BC, 0x7189, 0xE2BD, 0x7180, 0xE2BE, 0x7185, 0xE2BF, 0x7182, 0xE2C0, 0x718F, 0xE2C1, 0x717B, 0xE2C2, 0x7186, - 0xE2C3, 0x7181, 0xE2C4, 0x7197, 0xE2C5, 0x7244, 0xE2C6, 0x7253, 0xE2C7, 0x7297, 0xE2C8, 0x7295, 0xE2C9, 0x7293, 0xE2CA, 0x7343, - 0xE2CB, 0x734D, 0xE2CC, 0x7351, 0xE2CD, 0x734C, 0xE2CE, 0x7462, 0xE2CF, 0x7473, 0xE2D0, 0x7471, 0xE2D1, 0x7475, 0xE2D2, 0x7472, - 0xE2D3, 0x7467, 0xE2D4, 0x746E, 0xE2D5, 0x7500, 0xE2D6, 0x7502, 0xE2D7, 0x7503, 0xE2D8, 0x757D, 0xE2D9, 0x7590, 0xE2DA, 0x7616, - 0xE2DB, 0x7608, 0xE2DC, 0x760C, 0xE2DD, 0x7615, 0xE2DE, 0x7611, 0xE2DF, 0x760A, 0xE2E0, 0x7614, 0xE2E1, 0x76B8, 0xE2E2, 0x7781, - 0xE2E3, 0x777C, 0xE2E4, 0x7785, 0xE2E5, 0x7782, 0xE2E6, 0x776E, 0xE2E7, 0x7780, 0xE2E8, 0x776F, 0xE2E9, 0x777E, 0xE2EA, 0x7783, - 0xE2EB, 0x78B2, 0xE2EC, 0x78AA, 0xE2ED, 0x78B4, 0xE2EE, 0x78AD, 0xE2EF, 0x78A8, 0xE2F0, 0x787E, 0xE2F1, 0x78AB, 0xE2F2, 0x789E, - 0xE2F3, 0x78A5, 0xE2F4, 0x78A0, 0xE2F5, 0x78AC, 0xE2F6, 0x78A2, 0xE2F7, 0x78A4, 0xE2F8, 0x7998, 0xE2F9, 0x798A, 0xE2FA, 0x798B, - 0xE2FB, 0x7996, 0xE2FC, 0x7995, 0xE2FD, 0x7994, 0xE2FE, 0x7993, 0xE340, 0x7997, 0xE341, 0x7988, 0xE342, 0x7992, 0xE343, 0x7990, - 0xE344, 0x7A2B, 0xE345, 0x7A4A, 0xE346, 0x7A30, 0xE347, 0x7A2F, 0xE348, 0x7A28, 0xE349, 0x7A26, 0xE34A, 0x7AA8, 0xE34B, 0x7AAB, - 0xE34C, 0x7AAC, 0xE34D, 0x7AEE, 0xE34E, 0x7B88, 0xE34F, 0x7B9C, 0xE350, 0x7B8A, 0xE351, 0x7B91, 0xE352, 0x7B90, 0xE353, 0x7B96, - 0xE354, 0x7B8D, 0xE355, 0x7B8C, 0xE356, 0x7B9B, 0xE357, 0x7B8E, 0xE358, 0x7B85, 0xE359, 0x7B98, 0xE35A, 0x5284, 0xE35B, 0x7B99, - 0xE35C, 0x7BA4, 0xE35D, 0x7B82, 0xE35E, 0x7CBB, 0xE35F, 0x7CBF, 0xE360, 0x7CBC, 0xE361, 0x7CBA, 0xE362, 0x7DA7, 0xE363, 0x7DB7, - 0xE364, 0x7DC2, 0xE365, 0x7DA3, 0xE366, 0x7DAA, 0xE367, 0x7DC1, 0xE368, 0x7DC0, 0xE369, 0x7DC5, 0xE36A, 0x7D9D, 0xE36B, 0x7DCE, - 0xE36C, 0x7DC4, 0xE36D, 0x7DC6, 0xE36E, 0x7DCB, 0xE36F, 0x7DCC, 0xE370, 0x7DAF, 0xE371, 0x7DB9, 0xE372, 0x7D96, 0xE373, 0x7DBC, - 0xE374, 0x7D9F, 0xE375, 0x7DA6, 0xE376, 0x7DAE, 0xE377, 0x7DA9, 0xE378, 0x7DA1, 0xE379, 0x7DC9, 0xE37A, 0x7F73, 0xE37B, 0x7FE2, - 0xE37C, 0x7FE3, 0xE37D, 0x7FE5, 0xE37E, 0x7FDE, 0xE3A1, 0x8024, 0xE3A2, 0x805D, 0xE3A3, 0x805C, 0xE3A4, 0x8189, 0xE3A5, 0x8186, - 0xE3A6, 0x8183, 0xE3A7, 0x8187, 0xE3A8, 0x818D, 0xE3A9, 0x818C, 0xE3AA, 0x818B, 0xE3AB, 0x8215, 0xE3AC, 0x8497, 0xE3AD, 0x84A4, - 0xE3AE, 0x84A1, 0xE3AF, 0x849F, 0xE3B0, 0x84BA, 0xE3B1, 0x84CE, 0xE3B2, 0x84C2, 0xE3B3, 0x84AC, 0xE3B4, 0x84AE, 0xE3B5, 0x84AB, - 0xE3B6, 0x84B9, 0xE3B7, 0x84B4, 0xE3B8, 0x84C1, 0xE3B9, 0x84CD, 0xE3BA, 0x84AA, 0xE3BB, 0x849A, 0xE3BC, 0x84B1, 0xE3BD, 0x84D0, - 0xE3BE, 0x849D, 0xE3BF, 0x84A7, 0xE3C0, 0x84BB, 0xE3C1, 0x84A2, 0xE3C2, 0x8494, 0xE3C3, 0x84C7, 0xE3C4, 0x84CC, 0xE3C5, 0x849B, - 0xE3C6, 0x84A9, 0xE3C7, 0x84AF, 0xE3C8, 0x84A8, 0xE3C9, 0x84D6, 0xE3CA, 0x8498, 0xE3CB, 0x84B6, 0xE3CC, 0x84CF, 0xE3CD, 0x84A0, - 0xE3CE, 0x84D7, 0xE3CF, 0x84D4, 0xE3D0, 0x84D2, 0xE3D1, 0x84DB, 0xE3D2, 0x84B0, 0xE3D3, 0x8491, 0xE3D4, 0x8661, 0xE3D5, 0x8733, - 0xE3D6, 0x8723, 0xE3D7, 0x8728, 0xE3D8, 0x876B, 0xE3D9, 0x8740, 0xE3DA, 0x872E, 0xE3DB, 0x871E, 0xE3DC, 0x8721, 0xE3DD, 0x8719, - 0xE3DE, 0x871B, 0xE3DF, 0x8743, 0xE3E0, 0x872C, 0xE3E1, 0x8741, 0xE3E2, 0x873E, 0xE3E3, 0x8746, 0xE3E4, 0x8720, 0xE3E5, 0x8732, - 0xE3E6, 0x872A, 0xE3E7, 0x872D, 0xE3E8, 0x873C, 0xE3E9, 0x8712, 0xE3EA, 0x873A, 0xE3EB, 0x8731, 0xE3EC, 0x8735, 0xE3ED, 0x8742, - 0xE3EE, 0x8726, 0xE3EF, 0x8727, 0xE3F0, 0x8738, 0xE3F1, 0x8724, 0xE3F2, 0x871A, 0xE3F3, 0x8730, 0xE3F4, 0x8711, 0xE3F5, 0x88F7, - 0xE3F6, 0x88E7, 0xE3F7, 0x88F1, 0xE3F8, 0x88F2, 0xE3F9, 0x88FA, 0xE3FA, 0x88FE, 0xE3FB, 0x88EE, 0xE3FC, 0x88FC, 0xE3FD, 0x88F6, - 0xE3FE, 0x88FB, 0xE440, 0x88F0, 0xE441, 0x88EC, 0xE442, 0x88EB, 0xE443, 0x899D, 0xE444, 0x89A1, 0xE445, 0x899F, 0xE446, 0x899E, - 0xE447, 0x89E9, 0xE448, 0x89EB, 0xE449, 0x89E8, 0xE44A, 0x8AAB, 0xE44B, 0x8A99, 0xE44C, 0x8A8B, 0xE44D, 0x8A92, 0xE44E, 0x8A8F, - 0xE44F, 0x8A96, 0xE450, 0x8C3D, 0xE451, 0x8C68, 0xE452, 0x8C69, 0xE453, 0x8CD5, 0xE454, 0x8CCF, 0xE455, 0x8CD7, 0xE456, 0x8D96, - 0xE457, 0x8E09, 0xE458, 0x8E02, 0xE459, 0x8DFF, 0xE45A, 0x8E0D, 0xE45B, 0x8DFD, 0xE45C, 0x8E0A, 0xE45D, 0x8E03, 0xE45E, 0x8E07, - 0xE45F, 0x8E06, 0xE460, 0x8E05, 0xE461, 0x8DFE, 0xE462, 0x8E00, 0xE463, 0x8E04, 0xE464, 0x8F10, 0xE465, 0x8F11, 0xE466, 0x8F0E, - 0xE467, 0x8F0D, 0xE468, 0x9123, 0xE469, 0x911C, 0xE46A, 0x9120, 0xE46B, 0x9122, 0xE46C, 0x911F, 0xE46D, 0x911D, 0xE46E, 0x911A, - 0xE46F, 0x9124, 0xE470, 0x9121, 0xE471, 0x911B, 0xE472, 0x917A, 0xE473, 0x9172, 0xE474, 0x9179, 0xE475, 0x9173, 0xE476, 0x92A5, - 0xE477, 0x92A4, 0xE478, 0x9276, 0xE479, 0x929B, 0xE47A, 0x927A, 0xE47B, 0x92A0, 0xE47C, 0x9294, 0xE47D, 0x92AA, 0xE47E, 0x928D, - 0xE4A1, 0x92A6, 0xE4A2, 0x929A, 0xE4A3, 0x92AB, 0xE4A4, 0x9279, 0xE4A5, 0x9297, 0xE4A6, 0x927F, 0xE4A7, 0x92A3, 0xE4A8, 0x92EE, - 0xE4A9, 0x928E, 0xE4AA, 0x9282, 0xE4AB, 0x9295, 0xE4AC, 0x92A2, 0xE4AD, 0x927D, 0xE4AE, 0x9288, 0xE4AF, 0x92A1, 0xE4B0, 0x928A, - 0xE4B1, 0x9286, 0xE4B2, 0x928C, 0xE4B3, 0x9299, 0xE4B4, 0x92A7, 0xE4B5, 0x927E, 0xE4B6, 0x9287, 0xE4B7, 0x92A9, 0xE4B8, 0x929D, - 0xE4B9, 0x928B, 0xE4BA, 0x922D, 0xE4BB, 0x969E, 0xE4BC, 0x96A1, 0xE4BD, 0x96FF, 0xE4BE, 0x9758, 0xE4BF, 0x977D, 0xE4C0, 0x977A, - 0xE4C1, 0x977E, 0xE4C2, 0x9783, 0xE4C3, 0x9780, 0xE4C4, 0x9782, 0xE4C5, 0x977B, 0xE4C6, 0x9784, 0xE4C7, 0x9781, 0xE4C8, 0x977F, - 0xE4C9, 0x97CE, 0xE4CA, 0x97CD, 0xE4CB, 0x9816, 0xE4CC, 0x98AD, 0xE4CD, 0x98AE, 0xE4CE, 0x9902, 0xE4CF, 0x9900, 0xE4D0, 0x9907, - 0xE4D1, 0x999D, 0xE4D2, 0x999C, 0xE4D3, 0x99C3, 0xE4D4, 0x99B9, 0xE4D5, 0x99BB, 0xE4D6, 0x99BA, 0xE4D7, 0x99C2, 0xE4D8, 0x99BD, - 0xE4D9, 0x99C7, 0xE4DA, 0x9AB1, 0xE4DB, 0x9AE3, 0xE4DC, 0x9AE7, 0xE4DD, 0x9B3E, 0xE4DE, 0x9B3F, 0xE4DF, 0x9B60, 0xE4E0, 0x9B61, - 0xE4E1, 0x9B5F, 0xE4E2, 0x9CF1, 0xE4E3, 0x9CF2, 0xE4E4, 0x9CF5, 0xE4E5, 0x9EA7, 0xE4E6, 0x50FF, 0xE4E7, 0x5103, 0xE4E8, 0x5130, - 0xE4E9, 0x50F8, 0xE4EA, 0x5106, 0xE4EB, 0x5107, 0xE4EC, 0x50F6, 0xE4ED, 0x50FE, 0xE4EE, 0x510B, 0xE4EF, 0x510C, 0xE4F0, 0x50FD, - 0xE4F1, 0x510A, 0xE4F2, 0x528B, 0xE4F3, 0x528C, 0xE4F4, 0x52F1, 0xE4F5, 0x52EF, 0xE4F6, 0x5648, 0xE4F7, 0x5642, 0xE4F8, 0x564C, - 0xE4F9, 0x5635, 0xE4FA, 0x5641, 0xE4FB, 0x564A, 0xE4FC, 0x5649, 0xE4FD, 0x5646, 0xE4FE, 0x5658, 0xE540, 0x565A, 0xE541, 0x5640, - 0xE542, 0x5633, 0xE543, 0x563D, 0xE544, 0x562C, 0xE545, 0x563E, 0xE546, 0x5638, 0xE547, 0x562A, 0xE548, 0x563A, 0xE549, 0x571A, - 0xE54A, 0x58AB, 0xE54B, 0x589D, 0xE54C, 0x58B1, 0xE54D, 0x58A0, 0xE54E, 0x58A3, 0xE54F, 0x58AF, 0xE550, 0x58AC, 0xE551, 0x58A5, - 0xE552, 0x58A1, 0xE553, 0x58FF, 0xE554, 0x5AFF, 0xE555, 0x5AF4, 0xE556, 0x5AFD, 0xE557, 0x5AF7, 0xE558, 0x5AF6, 0xE559, 0x5B03, - 0xE55A, 0x5AF8, 0xE55B, 0x5B02, 0xE55C, 0x5AF9, 0xE55D, 0x5B01, 0xE55E, 0x5B07, 0xE55F, 0x5B05, 0xE560, 0x5B0F, 0xE561, 0x5C67, - 0xE562, 0x5D99, 0xE563, 0x5D97, 0xE564, 0x5D9F, 0xE565, 0x5D92, 0xE566, 0x5DA2, 0xE567, 0x5D93, 0xE568, 0x5D95, 0xE569, 0x5DA0, - 0xE56A, 0x5D9C, 0xE56B, 0x5DA1, 0xE56C, 0x5D9A, 0xE56D, 0x5D9E, 0xE56E, 0x5E69, 0xE56F, 0x5E5D, 0xE570, 0x5E60, 0xE571, 0x5E5C, - 0xE572, 0x7DF3, 0xE573, 0x5EDB, 0xE574, 0x5EDE, 0xE575, 0x5EE1, 0xE576, 0x5F49, 0xE577, 0x5FB2, 0xE578, 0x618B, 0xE579, 0x6183, - 0xE57A, 0x6179, 0xE57B, 0x61B1, 0xE57C, 0x61B0, 0xE57D, 0x61A2, 0xE57E, 0x6189, 0xE5A1, 0x619B, 0xE5A2, 0x6193, 0xE5A3, 0x61AF, - 0xE5A4, 0x61AD, 0xE5A5, 0x619F, 0xE5A6, 0x6192, 0xE5A7, 0x61AA, 0xE5A8, 0x61A1, 0xE5A9, 0x618D, 0xE5AA, 0x6166, 0xE5AB, 0x61B3, - 0xE5AC, 0x622D, 0xE5AD, 0x646E, 0xE5AE, 0x6470, 0xE5AF, 0x6496, 0xE5B0, 0x64A0, 0xE5B1, 0x6485, 0xE5B2, 0x6497, 0xE5B3, 0x649C, - 0xE5B4, 0x648F, 0xE5B5, 0x648B, 0xE5B6, 0x648A, 0xE5B7, 0x648C, 0xE5B8, 0x64A3, 0xE5B9, 0x649F, 0xE5BA, 0x6468, 0xE5BB, 0x64B1, - 0xE5BC, 0x6498, 0xE5BD, 0x6576, 0xE5BE, 0x657A, 0xE5BF, 0x6579, 0xE5C0, 0x657B, 0xE5C1, 0x65B2, 0xE5C2, 0x65B3, 0xE5C3, 0x66B5, - 0xE5C4, 0x66B0, 0xE5C5, 0x66A9, 0xE5C6, 0x66B2, 0xE5C7, 0x66B7, 0xE5C8, 0x66AA, 0xE5C9, 0x66AF, 0xE5CA, 0x6A00, 0xE5CB, 0x6A06, - 0xE5CC, 0x6A17, 0xE5CD, 0x69E5, 0xE5CE, 0x69F8, 0xE5CF, 0x6A15, 0xE5D0, 0x69F1, 0xE5D1, 0x69E4, 0xE5D2, 0x6A20, 0xE5D3, 0x69FF, - 0xE5D4, 0x69EC, 0xE5D5, 0x69E2, 0xE5D6, 0x6A1B, 0xE5D7, 0x6A1D, 0xE5D8, 0x69FE, 0xE5D9, 0x6A27, 0xE5DA, 0x69F2, 0xE5DB, 0x69EE, - 0xE5DC, 0x6A14, 0xE5DD, 0x69F7, 0xE5DE, 0x69E7, 0xE5DF, 0x6A40, 0xE5E0, 0x6A08, 0xE5E1, 0x69E6, 0xE5E2, 0x69FB, 0xE5E3, 0x6A0D, - 0xE5E4, 0x69FC, 0xE5E5, 0x69EB, 0xE5E6, 0x6A09, 0xE5E7, 0x6A04, 0xE5E8, 0x6A18, 0xE5E9, 0x6A25, 0xE5EA, 0x6A0F, 0xE5EB, 0x69F6, - 0xE5EC, 0x6A26, 0xE5ED, 0x6A07, 0xE5EE, 0x69F4, 0xE5EF, 0x6A16, 0xE5F0, 0x6B51, 0xE5F1, 0x6BA5, 0xE5F2, 0x6BA3, 0xE5F3, 0x6BA2, - 0xE5F4, 0x6BA6, 0xE5F5, 0x6C01, 0xE5F6, 0x6C00, 0xE5F7, 0x6BFF, 0xE5F8, 0x6C02, 0xE5F9, 0x6F41, 0xE5FA, 0x6F26, 0xE5FB, 0x6F7E, - 0xE5FC, 0x6F87, 0xE5FD, 0x6FC6, 0xE5FE, 0x6F92, 0xE640, 0x6F8D, 0xE641, 0x6F89, 0xE642, 0x6F8C, 0xE643, 0x6F62, 0xE644, 0x6F4F, - 0xE645, 0x6F85, 0xE646, 0x6F5A, 0xE647, 0x6F96, 0xE648, 0x6F76, 0xE649, 0x6F6C, 0xE64A, 0x6F82, 0xE64B, 0x6F55, 0xE64C, 0x6F72, - 0xE64D, 0x6F52, 0xE64E, 0x6F50, 0xE64F, 0x6F57, 0xE650, 0x6F94, 0xE651, 0x6F93, 0xE652, 0x6F5D, 0xE653, 0x6F00, 0xE654, 0x6F61, - 0xE655, 0x6F6B, 0xE656, 0x6F7D, 0xE657, 0x6F67, 0xE658, 0x6F90, 0xE659, 0x6F53, 0xE65A, 0x6F8B, 0xE65B, 0x6F69, 0xE65C, 0x6F7F, - 0xE65D, 0x6F95, 0xE65E, 0x6F63, 0xE65F, 0x6F77, 0xE660, 0x6F6A, 0xE661, 0x6F7B, 0xE662, 0x71B2, 0xE663, 0x71AF, 0xE664, 0x719B, - 0xE665, 0x71B0, 0xE666, 0x71A0, 0xE667, 0x719A, 0xE668, 0x71A9, 0xE669, 0x71B5, 0xE66A, 0x719D, 0xE66B, 0x71A5, 0xE66C, 0x719E, - 0xE66D, 0x71A4, 0xE66E, 0x71A1, 0xE66F, 0x71AA, 0xE670, 0x719C, 0xE671, 0x71A7, 0xE672, 0x71B3, 0xE673, 0x7298, 0xE674, 0x729A, - 0xE675, 0x7358, 0xE676, 0x7352, 0xE677, 0x735E, 0xE678, 0x735F, 0xE679, 0x7360, 0xE67A, 0x735D, 0xE67B, 0x735B, 0xE67C, 0x7361, - 0xE67D, 0x735A, 0xE67E, 0x7359, 0xE6A1, 0x7362, 0xE6A2, 0x7487, 0xE6A3, 0x7489, 0xE6A4, 0x748A, 0xE6A5, 0x7486, 0xE6A6, 0x7481, - 0xE6A7, 0x747D, 0xE6A8, 0x7485, 0xE6A9, 0x7488, 0xE6AA, 0x747C, 0xE6AB, 0x7479, 0xE6AC, 0x7508, 0xE6AD, 0x7507, 0xE6AE, 0x757E, - 0xE6AF, 0x7625, 0xE6B0, 0x761E, 0xE6B1, 0x7619, 0xE6B2, 0x761D, 0xE6B3, 0x761C, 0xE6B4, 0x7623, 0xE6B5, 0x761A, 0xE6B6, 0x7628, - 0xE6B7, 0x761B, 0xE6B8, 0x769C, 0xE6B9, 0x769D, 0xE6BA, 0x769E, 0xE6BB, 0x769B, 0xE6BC, 0x778D, 0xE6BD, 0x778F, 0xE6BE, 0x7789, - 0xE6BF, 0x7788, 0xE6C0, 0x78CD, 0xE6C1, 0x78BB, 0xE6C2, 0x78CF, 0xE6C3, 0x78CC, 0xE6C4, 0x78D1, 0xE6C5, 0x78CE, 0xE6C6, 0x78D4, - 0xE6C7, 0x78C8, 0xE6C8, 0x78C3, 0xE6C9, 0x78C4, 0xE6CA, 0x78C9, 0xE6CB, 0x799A, 0xE6CC, 0x79A1, 0xE6CD, 0x79A0, 0xE6CE, 0x799C, - 0xE6CF, 0x79A2, 0xE6D0, 0x799B, 0xE6D1, 0x6B76, 0xE6D2, 0x7A39, 0xE6D3, 0x7AB2, 0xE6D4, 0x7AB4, 0xE6D5, 0x7AB3, 0xE6D6, 0x7BB7, - 0xE6D7, 0x7BCB, 0xE6D8, 0x7BBE, 0xE6D9, 0x7BAC, 0xE6DA, 0x7BCE, 0xE6DB, 0x7BAF, 0xE6DC, 0x7BB9, 0xE6DD, 0x7BCA, 0xE6DE, 0x7BB5, - 0xE6DF, 0x7CC5, 0xE6E0, 0x7CC8, 0xE6E1, 0x7CCC, 0xE6E2, 0x7CCB, 0xE6E3, 0x7DF7, 0xE6E4, 0x7DDB, 0xE6E5, 0x7DEA, 0xE6E6, 0x7DE7, - 0xE6E7, 0x7DD7, 0xE6E8, 0x7DE1, 0xE6E9, 0x7E03, 0xE6EA, 0x7DFA, 0xE6EB, 0x7DE6, 0xE6EC, 0x7DF6, 0xE6ED, 0x7DF1, 0xE6EE, 0x7DF0, - 0xE6EF, 0x7DEE, 0xE6F0, 0x7DDF, 0xE6F1, 0x7F76, 0xE6F2, 0x7FAC, 0xE6F3, 0x7FB0, 0xE6F4, 0x7FAD, 0xE6F5, 0x7FED, 0xE6F6, 0x7FEB, - 0xE6F7, 0x7FEA, 0xE6F8, 0x7FEC, 0xE6F9, 0x7FE6, 0xE6FA, 0x7FE8, 0xE6FB, 0x8064, 0xE6FC, 0x8067, 0xE6FD, 0x81A3, 0xE6FE, 0x819F, - 0xE740, 0x819E, 0xE741, 0x8195, 0xE742, 0x81A2, 0xE743, 0x8199, 0xE744, 0x8197, 0xE745, 0x8216, 0xE746, 0x824F, 0xE747, 0x8253, - 0xE748, 0x8252, 0xE749, 0x8250, 0xE74A, 0x824E, 0xE74B, 0x8251, 0xE74C, 0x8524, 0xE74D, 0x853B, 0xE74E, 0x850F, 0xE74F, 0x8500, - 0xE750, 0x8529, 0xE751, 0x850E, 0xE752, 0x8509, 0xE753, 0x850D, 0xE754, 0x851F, 0xE755, 0x850A, 0xE756, 0x8527, 0xE757, 0x851C, - 0xE758, 0x84FB, 0xE759, 0x852B, 0xE75A, 0x84FA, 0xE75B, 0x8508, 0xE75C, 0x850C, 0xE75D, 0x84F4, 0xE75E, 0x852A, 0xE75F, 0x84F2, - 0xE760, 0x8515, 0xE761, 0x84F7, 0xE762, 0x84EB, 0xE763, 0x84F3, 0xE764, 0x84FC, 0xE765, 0x8512, 0xE766, 0x84EA, 0xE767, 0x84E9, - 0xE768, 0x8516, 0xE769, 0x84FE, 0xE76A, 0x8528, 0xE76B, 0x851D, 0xE76C, 0x852E, 0xE76D, 0x8502, 0xE76E, 0x84FD, 0xE76F, 0x851E, - 0xE770, 0x84F6, 0xE771, 0x8531, 0xE772, 0x8526, 0xE773, 0x84E7, 0xE774, 0x84E8, 0xE775, 0x84F0, 0xE776, 0x84EF, 0xE777, 0x84F9, - 0xE778, 0x8518, 0xE779, 0x8520, 0xE77A, 0x8530, 0xE77B, 0x850B, 0xE77C, 0x8519, 0xE77D, 0x852F, 0xE77E, 0x8662, 0xE7A1, 0x8756, - 0xE7A2, 0x8763, 0xE7A3, 0x8764, 0xE7A4, 0x8777, 0xE7A5, 0x87E1, 0xE7A6, 0x8773, 0xE7A7, 0x8758, 0xE7A8, 0x8754, 0xE7A9, 0x875B, - 0xE7AA, 0x8752, 0xE7AB, 0x8761, 0xE7AC, 0x875A, 0xE7AD, 0x8751, 0xE7AE, 0x875E, 0xE7AF, 0x876D, 0xE7B0, 0x876A, 0xE7B1, 0x8750, - 0xE7B2, 0x874E, 0xE7B3, 0x875F, 0xE7B4, 0x875D, 0xE7B5, 0x876F, 0xE7B6, 0x876C, 0xE7B7, 0x877A, 0xE7B8, 0x876E, 0xE7B9, 0x875C, - 0xE7BA, 0x8765, 0xE7BB, 0x874F, 0xE7BC, 0x877B, 0xE7BD, 0x8775, 0xE7BE, 0x8762, 0xE7BF, 0x8767, 0xE7C0, 0x8769, 0xE7C1, 0x885A, - 0xE7C2, 0x8905, 0xE7C3, 0x890C, 0xE7C4, 0x8914, 0xE7C5, 0x890B, 0xE7C6, 0x8917, 0xE7C7, 0x8918, 0xE7C8, 0x8919, 0xE7C9, 0x8906, - 0xE7CA, 0x8916, 0xE7CB, 0x8911, 0xE7CC, 0x890E, 0xE7CD, 0x8909, 0xE7CE, 0x89A2, 0xE7CF, 0x89A4, 0xE7D0, 0x89A3, 0xE7D1, 0x89ED, - 0xE7D2, 0x89F0, 0xE7D3, 0x89EC, 0xE7D4, 0x8ACF, 0xE7D5, 0x8AC6, 0xE7D6, 0x8AB8, 0xE7D7, 0x8AD3, 0xE7D8, 0x8AD1, 0xE7D9, 0x8AD4, - 0xE7DA, 0x8AD5, 0xE7DB, 0x8ABB, 0xE7DC, 0x8AD7, 0xE7DD, 0x8ABE, 0xE7DE, 0x8AC0, 0xE7DF, 0x8AC5, 0xE7E0, 0x8AD8, 0xE7E1, 0x8AC3, - 0xE7E2, 0x8ABA, 0xE7E3, 0x8ABD, 0xE7E4, 0x8AD9, 0xE7E5, 0x8C3E, 0xE7E6, 0x8C4D, 0xE7E7, 0x8C8F, 0xE7E8, 0x8CE5, 0xE7E9, 0x8CDF, - 0xE7EA, 0x8CD9, 0xE7EB, 0x8CE8, 0xE7EC, 0x8CDA, 0xE7ED, 0x8CDD, 0xE7EE, 0x8CE7, 0xE7EF, 0x8DA0, 0xE7F0, 0x8D9C, 0xE7F1, 0x8DA1, - 0xE7F2, 0x8D9B, 0xE7F3, 0x8E20, 0xE7F4, 0x8E23, 0xE7F5, 0x8E25, 0xE7F6, 0x8E24, 0xE7F7, 0x8E2E, 0xE7F8, 0x8E15, 0xE7F9, 0x8E1B, - 0xE7FA, 0x8E16, 0xE7FB, 0x8E11, 0xE7FC, 0x8E19, 0xE7FD, 0x8E26, 0xE7FE, 0x8E27, 0xE840, 0x8E14, 0xE841, 0x8E12, 0xE842, 0x8E18, - 0xE843, 0x8E13, 0xE844, 0x8E1C, 0xE845, 0x8E17, 0xE846, 0x8E1A, 0xE847, 0x8F2C, 0xE848, 0x8F24, 0xE849, 0x8F18, 0xE84A, 0x8F1A, - 0xE84B, 0x8F20, 0xE84C, 0x8F23, 0xE84D, 0x8F16, 0xE84E, 0x8F17, 0xE84F, 0x9073, 0xE850, 0x9070, 0xE851, 0x906F, 0xE852, 0x9067, - 0xE853, 0x906B, 0xE854, 0x912F, 0xE855, 0x912B, 0xE856, 0x9129, 0xE857, 0x912A, 0xE858, 0x9132, 0xE859, 0x9126, 0xE85A, 0x912E, - 0xE85B, 0x9185, 0xE85C, 0x9186, 0xE85D, 0x918A, 0xE85E, 0x9181, 0xE85F, 0x9182, 0xE860, 0x9184, 0xE861, 0x9180, 0xE862, 0x92D0, - 0xE863, 0x92C3, 0xE864, 0x92C4, 0xE865, 0x92C0, 0xE866, 0x92D9, 0xE867, 0x92B6, 0xE868, 0x92CF, 0xE869, 0x92F1, 0xE86A, 0x92DF, - 0xE86B, 0x92D8, 0xE86C, 0x92E9, 0xE86D, 0x92D7, 0xE86E, 0x92DD, 0xE86F, 0x92CC, 0xE870, 0x92EF, 0xE871, 0x92C2, 0xE872, 0x92E8, - 0xE873, 0x92CA, 0xE874, 0x92C8, 0xE875, 0x92CE, 0xE876, 0x92E6, 0xE877, 0x92CD, 0xE878, 0x92D5, 0xE879, 0x92C9, 0xE87A, 0x92E0, - 0xE87B, 0x92DE, 0xE87C, 0x92E7, 0xE87D, 0x92D1, 0xE87E, 0x92D3, 0xE8A1, 0x92B5, 0xE8A2, 0x92E1, 0xE8A3, 0x92C6, 0xE8A4, 0x92B4, - 0xE8A5, 0x957C, 0xE8A6, 0x95AC, 0xE8A7, 0x95AB, 0xE8A8, 0x95AE, 0xE8A9, 0x95B0, 0xE8AA, 0x96A4, 0xE8AB, 0x96A2, 0xE8AC, 0x96D3, - 0xE8AD, 0x9705, 0xE8AE, 0x9708, 0xE8AF, 0x9702, 0xE8B0, 0x975A, 0xE8B1, 0x978A, 0xE8B2, 0x978E, 0xE8B3, 0x9788, 0xE8B4, 0x97D0, - 0xE8B5, 0x97CF, 0xE8B6, 0x981E, 0xE8B7, 0x981D, 0xE8B8, 0x9826, 0xE8B9, 0x9829, 0xE8BA, 0x9828, 0xE8BB, 0x9820, 0xE8BC, 0x981B, - 0xE8BD, 0x9827, 0xE8BE, 0x98B2, 0xE8BF, 0x9908, 0xE8C0, 0x98FA, 0xE8C1, 0x9911, 0xE8C2, 0x9914, 0xE8C3, 0x9916, 0xE8C4, 0x9917, - 0xE8C5, 0x9915, 0xE8C6, 0x99DC, 0xE8C7, 0x99CD, 0xE8C8, 0x99CF, 0xE8C9, 0x99D3, 0xE8CA, 0x99D4, 0xE8CB, 0x99CE, 0xE8CC, 0x99C9, - 0xE8CD, 0x99D6, 0xE8CE, 0x99D8, 0xE8CF, 0x99CB, 0xE8D0, 0x99D7, 0xE8D1, 0x99CC, 0xE8D2, 0x9AB3, 0xE8D3, 0x9AEC, 0xE8D4, 0x9AEB, - 0xE8D5, 0x9AF3, 0xE8D6, 0x9AF2, 0xE8D7, 0x9AF1, 0xE8D8, 0x9B46, 0xE8D9, 0x9B43, 0xE8DA, 0x9B67, 0xE8DB, 0x9B74, 0xE8DC, 0x9B71, - 0xE8DD, 0x9B66, 0xE8DE, 0x9B76, 0xE8DF, 0x9B75, 0xE8E0, 0x9B70, 0xE8E1, 0x9B68, 0xE8E2, 0x9B64, 0xE8E3, 0x9B6C, 0xE8E4, 0x9CFC, - 0xE8E5, 0x9CFA, 0xE8E6, 0x9CFD, 0xE8E7, 0x9CFF, 0xE8E8, 0x9CF7, 0xE8E9, 0x9D07, 0xE8EA, 0x9D00, 0xE8EB, 0x9CF9, 0xE8EC, 0x9CFB, - 0xE8ED, 0x9D08, 0xE8EE, 0x9D05, 0xE8EF, 0x9D04, 0xE8F0, 0x9E83, 0xE8F1, 0x9ED3, 0xE8F2, 0x9F0F, 0xE8F3, 0x9F10, 0xE8F4, 0x511C, - 0xE8F5, 0x5113, 0xE8F6, 0x5117, 0xE8F7, 0x511A, 0xE8F8, 0x5111, 0xE8F9, 0x51DE, 0xE8FA, 0x5334, 0xE8FB, 0x53E1, 0xE8FC, 0x5670, - 0xE8FD, 0x5660, 0xE8FE, 0x566E, 0xE940, 0x5673, 0xE941, 0x5666, 0xE942, 0x5663, 0xE943, 0x566D, 0xE944, 0x5672, 0xE945, 0x565E, - 0xE946, 0x5677, 0xE947, 0x571C, 0xE948, 0x571B, 0xE949, 0x58C8, 0xE94A, 0x58BD, 0xE94B, 0x58C9, 0xE94C, 0x58BF, 0xE94D, 0x58BA, - 0xE94E, 0x58C2, 0xE94F, 0x58BC, 0xE950, 0x58C6, 0xE951, 0x5B17, 0xE952, 0x5B19, 0xE953, 0x5B1B, 0xE954, 0x5B21, 0xE955, 0x5B14, - 0xE956, 0x5B13, 0xE957, 0x5B10, 0xE958, 0x5B16, 0xE959, 0x5B28, 0xE95A, 0x5B1A, 0xE95B, 0x5B20, 0xE95C, 0x5B1E, 0xE95D, 0x5BEF, - 0xE95E, 0x5DAC, 0xE95F, 0x5DB1, 0xE960, 0x5DA9, 0xE961, 0x5DA7, 0xE962, 0x5DB5, 0xE963, 0x5DB0, 0xE964, 0x5DAE, 0xE965, 0x5DAA, - 0xE966, 0x5DA8, 0xE967, 0x5DB2, 0xE968, 0x5DAD, 0xE969, 0x5DAF, 0xE96A, 0x5DB4, 0xE96B, 0x5E67, 0xE96C, 0x5E68, 0xE96D, 0x5E66, - 0xE96E, 0x5E6F, 0xE96F, 0x5EE9, 0xE970, 0x5EE7, 0xE971, 0x5EE6, 0xE972, 0x5EE8, 0xE973, 0x5EE5, 0xE974, 0x5F4B, 0xE975, 0x5FBC, - 0xE976, 0x619D, 0xE977, 0x61A8, 0xE978, 0x6196, 0xE979, 0x61C5, 0xE97A, 0x61B4, 0xE97B, 0x61C6, 0xE97C, 0x61C1, 0xE97D, 0x61CC, - 0xE97E, 0x61BA, 0xE9A1, 0x61BF, 0xE9A2, 0x61B8, 0xE9A3, 0x618C, 0xE9A4, 0x64D7, 0xE9A5, 0x64D6, 0xE9A6, 0x64D0, 0xE9A7, 0x64CF, - 0xE9A8, 0x64C9, 0xE9A9, 0x64BD, 0xE9AA, 0x6489, 0xE9AB, 0x64C3, 0xE9AC, 0x64DB, 0xE9AD, 0x64F3, 0xE9AE, 0x64D9, 0xE9AF, 0x6533, - 0xE9B0, 0x657F, 0xE9B1, 0x657C, 0xE9B2, 0x65A2, 0xE9B3, 0x66C8, 0xE9B4, 0x66BE, 0xE9B5, 0x66C0, 0xE9B6, 0x66CA, 0xE9B7, 0x66CB, - 0xE9B8, 0x66CF, 0xE9B9, 0x66BD, 0xE9BA, 0x66BB, 0xE9BB, 0x66BA, 0xE9BC, 0x66CC, 0xE9BD, 0x6723, 0xE9BE, 0x6A34, 0xE9BF, 0x6A66, - 0xE9C0, 0x6A49, 0xE9C1, 0x6A67, 0xE9C2, 0x6A32, 0xE9C3, 0x6A68, 0xE9C4, 0x6A3E, 0xE9C5, 0x6A5D, 0xE9C6, 0x6A6D, 0xE9C7, 0x6A76, - 0xE9C8, 0x6A5B, 0xE9C9, 0x6A51, 0xE9CA, 0x6A28, 0xE9CB, 0x6A5A, 0xE9CC, 0x6A3B, 0xE9CD, 0x6A3F, 0xE9CE, 0x6A41, 0xE9CF, 0x6A6A, - 0xE9D0, 0x6A64, 0xE9D1, 0x6A50, 0xE9D2, 0x6A4F, 0xE9D3, 0x6A54, 0xE9D4, 0x6A6F, 0xE9D5, 0x6A69, 0xE9D6, 0x6A60, 0xE9D7, 0x6A3C, - 0xE9D8, 0x6A5E, 0xE9D9, 0x6A56, 0xE9DA, 0x6A55, 0xE9DB, 0x6A4D, 0xE9DC, 0x6A4E, 0xE9DD, 0x6A46, 0xE9DE, 0x6B55, 0xE9DF, 0x6B54, - 0xE9E0, 0x6B56, 0xE9E1, 0x6BA7, 0xE9E2, 0x6BAA, 0xE9E3, 0x6BAB, 0xE9E4, 0x6BC8, 0xE9E5, 0x6BC7, 0xE9E6, 0x6C04, 0xE9E7, 0x6C03, - 0xE9E8, 0x6C06, 0xE9E9, 0x6FAD, 0xE9EA, 0x6FCB, 0xE9EB, 0x6FA3, 0xE9EC, 0x6FC7, 0xE9ED, 0x6FBC, 0xE9EE, 0x6FCE, 0xE9EF, 0x6FC8, - 0xE9F0, 0x6F5E, 0xE9F1, 0x6FC4, 0xE9F2, 0x6FBD, 0xE9F3, 0x6F9E, 0xE9F4, 0x6FCA, 0xE9F5, 0x6FA8, 0xE9F6, 0x7004, 0xE9F7, 0x6FA5, - 0xE9F8, 0x6FAE, 0xE9F9, 0x6FBA, 0xE9FA, 0x6FAC, 0xE9FB, 0x6FAA, 0xE9FC, 0x6FCF, 0xE9FD, 0x6FBF, 0xE9FE, 0x6FB8, 0xEA40, 0x6FA2, - 0xEA41, 0x6FC9, 0xEA42, 0x6FAB, 0xEA43, 0x6FCD, 0xEA44, 0x6FAF, 0xEA45, 0x6FB2, 0xEA46, 0x6FB0, 0xEA47, 0x71C5, 0xEA48, 0x71C2, - 0xEA49, 0x71BF, 0xEA4A, 0x71B8, 0xEA4B, 0x71D6, 0xEA4C, 0x71C0, 0xEA4D, 0x71C1, 0xEA4E, 0x71CB, 0xEA4F, 0x71D4, 0xEA50, 0x71CA, - 0xEA51, 0x71C7, 0xEA52, 0x71CF, 0xEA53, 0x71BD, 0xEA54, 0x71D8, 0xEA55, 0x71BC, 0xEA56, 0x71C6, 0xEA57, 0x71DA, 0xEA58, 0x71DB, - 0xEA59, 0x729D, 0xEA5A, 0x729E, 0xEA5B, 0x7369, 0xEA5C, 0x7366, 0xEA5D, 0x7367, 0xEA5E, 0x736C, 0xEA5F, 0x7365, 0xEA60, 0x736B, - 0xEA61, 0x736A, 0xEA62, 0x747F, 0xEA63, 0x749A, 0xEA64, 0x74A0, 0xEA65, 0x7494, 0xEA66, 0x7492, 0xEA67, 0x7495, 0xEA68, 0x74A1, - 0xEA69, 0x750B, 0xEA6A, 0x7580, 0xEA6B, 0x762F, 0xEA6C, 0x762D, 0xEA6D, 0x7631, 0xEA6E, 0x763D, 0xEA6F, 0x7633, 0xEA70, 0x763C, - 0xEA71, 0x7635, 0xEA72, 0x7632, 0xEA73, 0x7630, 0xEA74, 0x76BB, 0xEA75, 0x76E6, 0xEA76, 0x779A, 0xEA77, 0x779D, 0xEA78, 0x77A1, - 0xEA79, 0x779C, 0xEA7A, 0x779B, 0xEA7B, 0x77A2, 0xEA7C, 0x77A3, 0xEA7D, 0x7795, 0xEA7E, 0x7799, 0xEAA1, 0x7797, 0xEAA2, 0x78DD, - 0xEAA3, 0x78E9, 0xEAA4, 0x78E5, 0xEAA5, 0x78EA, 0xEAA6, 0x78DE, 0xEAA7, 0x78E3, 0xEAA8, 0x78DB, 0xEAA9, 0x78E1, 0xEAAA, 0x78E2, - 0xEAAB, 0x78ED, 0xEAAC, 0x78DF, 0xEAAD, 0x78E0, 0xEAAE, 0x79A4, 0xEAAF, 0x7A44, 0xEAB0, 0x7A48, 0xEAB1, 0x7A47, 0xEAB2, 0x7AB6, - 0xEAB3, 0x7AB8, 0xEAB4, 0x7AB5, 0xEAB5, 0x7AB1, 0xEAB6, 0x7AB7, 0xEAB7, 0x7BDE, 0xEAB8, 0x7BE3, 0xEAB9, 0x7BE7, 0xEABA, 0x7BDD, - 0xEABB, 0x7BD5, 0xEABC, 0x7BE5, 0xEABD, 0x7BDA, 0xEABE, 0x7BE8, 0xEABF, 0x7BF9, 0xEAC0, 0x7BD4, 0xEAC1, 0x7BEA, 0xEAC2, 0x7BE2, - 0xEAC3, 0x7BDC, 0xEAC4, 0x7BEB, 0xEAC5, 0x7BD8, 0xEAC6, 0x7BDF, 0xEAC7, 0x7CD2, 0xEAC8, 0x7CD4, 0xEAC9, 0x7CD7, 0xEACA, 0x7CD0, - 0xEACB, 0x7CD1, 0xEACC, 0x7E12, 0xEACD, 0x7E21, 0xEACE, 0x7E17, 0xEACF, 0x7E0C, 0xEAD0, 0x7E1F, 0xEAD1, 0x7E20, 0xEAD2, 0x7E13, - 0xEAD3, 0x7E0E, 0xEAD4, 0x7E1C, 0xEAD5, 0x7E15, 0xEAD6, 0x7E1A, 0xEAD7, 0x7E22, 0xEAD8, 0x7E0B, 0xEAD9, 0x7E0F, 0xEADA, 0x7E16, - 0xEADB, 0x7E0D, 0xEADC, 0x7E14, 0xEADD, 0x7E25, 0xEADE, 0x7E24, 0xEADF, 0x7F43, 0xEAE0, 0x7F7B, 0xEAE1, 0x7F7C, 0xEAE2, 0x7F7A, - 0xEAE3, 0x7FB1, 0xEAE4, 0x7FEF, 0xEAE5, 0x802A, 0xEAE6, 0x8029, 0xEAE7, 0x806C, 0xEAE8, 0x81B1, 0xEAE9, 0x81A6, 0xEAEA, 0x81AE, - 0xEAEB, 0x81B9, 0xEAEC, 0x81B5, 0xEAED, 0x81AB, 0xEAEE, 0x81B0, 0xEAEF, 0x81AC, 0xEAF0, 0x81B4, 0xEAF1, 0x81B2, 0xEAF2, 0x81B7, - 0xEAF3, 0x81A7, 0xEAF4, 0x81F2, 0xEAF5, 0x8255, 0xEAF6, 0x8256, 0xEAF7, 0x8257, 0xEAF8, 0x8556, 0xEAF9, 0x8545, 0xEAFA, 0x856B, - 0xEAFB, 0x854D, 0xEAFC, 0x8553, 0xEAFD, 0x8561, 0xEAFE, 0x8558, 0xEB40, 0x8540, 0xEB41, 0x8546, 0xEB42, 0x8564, 0xEB43, 0x8541, - 0xEB44, 0x8562, 0xEB45, 0x8544, 0xEB46, 0x8551, 0xEB47, 0x8547, 0xEB48, 0x8563, 0xEB49, 0x853E, 0xEB4A, 0x855B, 0xEB4B, 0x8571, - 0xEB4C, 0x854E, 0xEB4D, 0x856E, 0xEB4E, 0x8575, 0xEB4F, 0x8555, 0xEB50, 0x8567, 0xEB51, 0x8560, 0xEB52, 0x858C, 0xEB53, 0x8566, - 0xEB54, 0x855D, 0xEB55, 0x8554, 0xEB56, 0x8565, 0xEB57, 0x856C, 0xEB58, 0x8663, 0xEB59, 0x8665, 0xEB5A, 0x8664, 0xEB5B, 0x879B, - 0xEB5C, 0x878F, 0xEB5D, 0x8797, 0xEB5E, 0x8793, 0xEB5F, 0x8792, 0xEB60, 0x8788, 0xEB61, 0x8781, 0xEB62, 0x8796, 0xEB63, 0x8798, - 0xEB64, 0x8779, 0xEB65, 0x8787, 0xEB66, 0x87A3, 0xEB67, 0x8785, 0xEB68, 0x8790, 0xEB69, 0x8791, 0xEB6A, 0x879D, 0xEB6B, 0x8784, - 0xEB6C, 0x8794, 0xEB6D, 0x879C, 0xEB6E, 0x879A, 0xEB6F, 0x8789, 0xEB70, 0x891E, 0xEB71, 0x8926, 0xEB72, 0x8930, 0xEB73, 0x892D, - 0xEB74, 0x892E, 0xEB75, 0x8927, 0xEB76, 0x8931, 0xEB77, 0x8922, 0xEB78, 0x8929, 0xEB79, 0x8923, 0xEB7A, 0x892F, 0xEB7B, 0x892C, - 0xEB7C, 0x891F, 0xEB7D, 0x89F1, 0xEB7E, 0x8AE0, 0xEBA1, 0x8AE2, 0xEBA2, 0x8AF2, 0xEBA3, 0x8AF4, 0xEBA4, 0x8AF5, 0xEBA5, 0x8ADD, - 0xEBA6, 0x8B14, 0xEBA7, 0x8AE4, 0xEBA8, 0x8ADF, 0xEBA9, 0x8AF0, 0xEBAA, 0x8AC8, 0xEBAB, 0x8ADE, 0xEBAC, 0x8AE1, 0xEBAD, 0x8AE8, - 0xEBAE, 0x8AFF, 0xEBAF, 0x8AEF, 0xEBB0, 0x8AFB, 0xEBB1, 0x8C91, 0xEBB2, 0x8C92, 0xEBB3, 0x8C90, 0xEBB4, 0x8CF5, 0xEBB5, 0x8CEE, - 0xEBB6, 0x8CF1, 0xEBB7, 0x8CF0, 0xEBB8, 0x8CF3, 0xEBB9, 0x8D6C, 0xEBBA, 0x8D6E, 0xEBBB, 0x8DA5, 0xEBBC, 0x8DA7, 0xEBBD, 0x8E33, - 0xEBBE, 0x8E3E, 0xEBBF, 0x8E38, 0xEBC0, 0x8E40, 0xEBC1, 0x8E45, 0xEBC2, 0x8E36, 0xEBC3, 0x8E3C, 0xEBC4, 0x8E3D, 0xEBC5, 0x8E41, - 0xEBC6, 0x8E30, 0xEBC7, 0x8E3F, 0xEBC8, 0x8EBD, 0xEBC9, 0x8F36, 0xEBCA, 0x8F2E, 0xEBCB, 0x8F35, 0xEBCC, 0x8F32, 0xEBCD, 0x8F39, - 0xEBCE, 0x8F37, 0xEBCF, 0x8F34, 0xEBD0, 0x9076, 0xEBD1, 0x9079, 0xEBD2, 0x907B, 0xEBD3, 0x9086, 0xEBD4, 0x90FA, 0xEBD5, 0x9133, - 0xEBD6, 0x9135, 0xEBD7, 0x9136, 0xEBD8, 0x9193, 0xEBD9, 0x9190, 0xEBDA, 0x9191, 0xEBDB, 0x918D, 0xEBDC, 0x918F, 0xEBDD, 0x9327, - 0xEBDE, 0x931E, 0xEBDF, 0x9308, 0xEBE0, 0x931F, 0xEBE1, 0x9306, 0xEBE2, 0x930F, 0xEBE3, 0x937A, 0xEBE4, 0x9338, 0xEBE5, 0x933C, - 0xEBE6, 0x931B, 0xEBE7, 0x9323, 0xEBE8, 0x9312, 0xEBE9, 0x9301, 0xEBEA, 0x9346, 0xEBEB, 0x932D, 0xEBEC, 0x930E, 0xEBED, 0x930D, - 0xEBEE, 0x92CB, 0xEBEF, 0x931D, 0xEBF0, 0x92FA, 0xEBF1, 0x9325, 0xEBF2, 0x9313, 0xEBF3, 0x92F9, 0xEBF4, 0x92F7, 0xEBF5, 0x9334, - 0xEBF6, 0x9302, 0xEBF7, 0x9324, 0xEBF8, 0x92FF, 0xEBF9, 0x9329, 0xEBFA, 0x9339, 0xEBFB, 0x9335, 0xEBFC, 0x932A, 0xEBFD, 0x9314, - 0xEBFE, 0x930C, 0xEC40, 0x930B, 0xEC41, 0x92FE, 0xEC42, 0x9309, 0xEC43, 0x9300, 0xEC44, 0x92FB, 0xEC45, 0x9316, 0xEC46, 0x95BC, - 0xEC47, 0x95CD, 0xEC48, 0x95BE, 0xEC49, 0x95B9, 0xEC4A, 0x95BA, 0xEC4B, 0x95B6, 0xEC4C, 0x95BF, 0xEC4D, 0x95B5, 0xEC4E, 0x95BD, - 0xEC4F, 0x96A9, 0xEC50, 0x96D4, 0xEC51, 0x970B, 0xEC52, 0x9712, 0xEC53, 0x9710, 0xEC54, 0x9799, 0xEC55, 0x9797, 0xEC56, 0x9794, - 0xEC57, 0x97F0, 0xEC58, 0x97F8, 0xEC59, 0x9835, 0xEC5A, 0x982F, 0xEC5B, 0x9832, 0xEC5C, 0x9924, 0xEC5D, 0x991F, 0xEC5E, 0x9927, - 0xEC5F, 0x9929, 0xEC60, 0x999E, 0xEC61, 0x99EE, 0xEC62, 0x99EC, 0xEC63, 0x99E5, 0xEC64, 0x99E4, 0xEC65, 0x99F0, 0xEC66, 0x99E3, - 0xEC67, 0x99EA, 0xEC68, 0x99E9, 0xEC69, 0x99E7, 0xEC6A, 0x9AB9, 0xEC6B, 0x9ABF, 0xEC6C, 0x9AB4, 0xEC6D, 0x9ABB, 0xEC6E, 0x9AF6, - 0xEC6F, 0x9AFA, 0xEC70, 0x9AF9, 0xEC71, 0x9AF7, 0xEC72, 0x9B33, 0xEC73, 0x9B80, 0xEC74, 0x9B85, 0xEC75, 0x9B87, 0xEC76, 0x9B7C, - 0xEC77, 0x9B7E, 0xEC78, 0x9B7B, 0xEC79, 0x9B82, 0xEC7A, 0x9B93, 0xEC7B, 0x9B92, 0xEC7C, 0x9B90, 0xEC7D, 0x9B7A, 0xEC7E, 0x9B95, - 0xECA1, 0x9B7D, 0xECA2, 0x9B88, 0xECA3, 0x9D25, 0xECA4, 0x9D17, 0xECA5, 0x9D20, 0xECA6, 0x9D1E, 0xECA7, 0x9D14, 0xECA8, 0x9D29, - 0xECA9, 0x9D1D, 0xECAA, 0x9D18, 0xECAB, 0x9D22, 0xECAC, 0x9D10, 0xECAD, 0x9D19, 0xECAE, 0x9D1F, 0xECAF, 0x9E88, 0xECB0, 0x9E86, - 0xECB1, 0x9E87, 0xECB2, 0x9EAE, 0xECB3, 0x9EAD, 0xECB4, 0x9ED5, 0xECB5, 0x9ED6, 0xECB6, 0x9EFA, 0xECB7, 0x9F12, 0xECB8, 0x9F3D, - 0xECB9, 0x5126, 0xECBA, 0x5125, 0xECBB, 0x5122, 0xECBC, 0x5124, 0xECBD, 0x5120, 0xECBE, 0x5129, 0xECBF, 0x52F4, 0xECC0, 0x5693, - 0xECC1, 0x568C, 0xECC2, 0x568D, 0xECC3, 0x5686, 0xECC4, 0x5684, 0xECC5, 0x5683, 0xECC6, 0x567E, 0xECC7, 0x5682, 0xECC8, 0x567F, - 0xECC9, 0x5681, 0xECCA, 0x58D6, 0xECCB, 0x58D4, 0xECCC, 0x58CF, 0xECCD, 0x58D2, 0xECCE, 0x5B2D, 0xECCF, 0x5B25, 0xECD0, 0x5B32, - 0xECD1, 0x5B23, 0xECD2, 0x5B2C, 0xECD3, 0x5B27, 0xECD4, 0x5B26, 0xECD5, 0x5B2F, 0xECD6, 0x5B2E, 0xECD7, 0x5B7B, 0xECD8, 0x5BF1, - 0xECD9, 0x5BF2, 0xECDA, 0x5DB7, 0xECDB, 0x5E6C, 0xECDC, 0x5E6A, 0xECDD, 0x5FBE, 0xECDE, 0x5FBB, 0xECDF, 0x61C3, 0xECE0, 0x61B5, - 0xECE1, 0x61BC, 0xECE2, 0x61E7, 0xECE3, 0x61E0, 0xECE4, 0x61E5, 0xECE5, 0x61E4, 0xECE6, 0x61E8, 0xECE7, 0x61DE, 0xECE8, 0x64EF, - 0xECE9, 0x64E9, 0xECEA, 0x64E3, 0xECEB, 0x64EB, 0xECEC, 0x64E4, 0xECED, 0x64E8, 0xECEE, 0x6581, 0xECEF, 0x6580, 0xECF0, 0x65B6, - 0xECF1, 0x65DA, 0xECF2, 0x66D2, 0xECF3, 0x6A8D, 0xECF4, 0x6A96, 0xECF5, 0x6A81, 0xECF6, 0x6AA5, 0xECF7, 0x6A89, 0xECF8, 0x6A9F, - 0xECF9, 0x6A9B, 0xECFA, 0x6AA1, 0xECFB, 0x6A9E, 0xECFC, 0x6A87, 0xECFD, 0x6A93, 0xECFE, 0x6A8E, 0xED40, 0x6A95, 0xED41, 0x6A83, - 0xED42, 0x6AA8, 0xED43, 0x6AA4, 0xED44, 0x6A91, 0xED45, 0x6A7F, 0xED46, 0x6AA6, 0xED47, 0x6A9A, 0xED48, 0x6A85, 0xED49, 0x6A8C, - 0xED4A, 0x6A92, 0xED4B, 0x6B5B, 0xED4C, 0x6BAD, 0xED4D, 0x6C09, 0xED4E, 0x6FCC, 0xED4F, 0x6FA9, 0xED50, 0x6FF4, 0xED51, 0x6FD4, - 0xED52, 0x6FE3, 0xED53, 0x6FDC, 0xED54, 0x6FED, 0xED55, 0x6FE7, 0xED56, 0x6FE6, 0xED57, 0x6FDE, 0xED58, 0x6FF2, 0xED59, 0x6FDD, - 0xED5A, 0x6FE2, 0xED5B, 0x6FE8, 0xED5C, 0x71E1, 0xED5D, 0x71F1, 0xED5E, 0x71E8, 0xED5F, 0x71F2, 0xED60, 0x71E4, 0xED61, 0x71F0, - 0xED62, 0x71E2, 0xED63, 0x7373, 0xED64, 0x736E, 0xED65, 0x736F, 0xED66, 0x7497, 0xED67, 0x74B2, 0xED68, 0x74AB, 0xED69, 0x7490, - 0xED6A, 0x74AA, 0xED6B, 0x74AD, 0xED6C, 0x74B1, 0xED6D, 0x74A5, 0xED6E, 0x74AF, 0xED6F, 0x7510, 0xED70, 0x7511, 0xED71, 0x7512, - 0xED72, 0x750F, 0xED73, 0x7584, 0xED74, 0x7643, 0xED75, 0x7648, 0xED76, 0x7649, 0xED77, 0x7647, 0xED78, 0x76A4, 0xED79, 0x76E9, - 0xED7A, 0x77B5, 0xED7B, 0x77AB, 0xED7C, 0x77B2, 0xED7D, 0x77B7, 0xED7E, 0x77B6, 0xEDA1, 0x77B4, 0xEDA2, 0x77B1, 0xEDA3, 0x77A8, - 0xEDA4, 0x77F0, 0xEDA5, 0x78F3, 0xEDA6, 0x78FD, 0xEDA7, 0x7902, 0xEDA8, 0x78FB, 0xEDA9, 0x78FC, 0xEDAA, 0x78F2, 0xEDAB, 0x7905, - 0xEDAC, 0x78F9, 0xEDAD, 0x78FE, 0xEDAE, 0x7904, 0xEDAF, 0x79AB, 0xEDB0, 0x79A8, 0xEDB1, 0x7A5C, 0xEDB2, 0x7A5B, 0xEDB3, 0x7A56, - 0xEDB4, 0x7A58, 0xEDB5, 0x7A54, 0xEDB6, 0x7A5A, 0xEDB7, 0x7ABE, 0xEDB8, 0x7AC0, 0xEDB9, 0x7AC1, 0xEDBA, 0x7C05, 0xEDBB, 0x7C0F, - 0xEDBC, 0x7BF2, 0xEDBD, 0x7C00, 0xEDBE, 0x7BFF, 0xEDBF, 0x7BFB, 0xEDC0, 0x7C0E, 0xEDC1, 0x7BF4, 0xEDC2, 0x7C0B, 0xEDC3, 0x7BF3, - 0xEDC4, 0x7C02, 0xEDC5, 0x7C09, 0xEDC6, 0x7C03, 0xEDC7, 0x7C01, 0xEDC8, 0x7BF8, 0xEDC9, 0x7BFD, 0xEDCA, 0x7C06, 0xEDCB, 0x7BF0, - 0xEDCC, 0x7BF1, 0xEDCD, 0x7C10, 0xEDCE, 0x7C0A, 0xEDCF, 0x7CE8, 0xEDD0, 0x7E2D, 0xEDD1, 0x7E3C, 0xEDD2, 0x7E42, 0xEDD3, 0x7E33, - 0xEDD4, 0x9848, 0xEDD5, 0x7E38, 0xEDD6, 0x7E2A, 0xEDD7, 0x7E49, 0xEDD8, 0x7E40, 0xEDD9, 0x7E47, 0xEDDA, 0x7E29, 0xEDDB, 0x7E4C, - 0xEDDC, 0x7E30, 0xEDDD, 0x7E3B, 0xEDDE, 0x7E36, 0xEDDF, 0x7E44, 0xEDE0, 0x7E3A, 0xEDE1, 0x7F45, 0xEDE2, 0x7F7F, 0xEDE3, 0x7F7E, - 0xEDE4, 0x7F7D, 0xEDE5, 0x7FF4, 0xEDE6, 0x7FF2, 0xEDE7, 0x802C, 0xEDE8, 0x81BB, 0xEDE9, 0x81C4, 0xEDEA, 0x81CC, 0xEDEB, 0x81CA, - 0xEDEC, 0x81C5, 0xEDED, 0x81C7, 0xEDEE, 0x81BC, 0xEDEF, 0x81E9, 0xEDF0, 0x825B, 0xEDF1, 0x825A, 0xEDF2, 0x825C, 0xEDF3, 0x8583, - 0xEDF4, 0x8580, 0xEDF5, 0x858F, 0xEDF6, 0x85A7, 0xEDF7, 0x8595, 0xEDF8, 0x85A0, 0xEDF9, 0x858B, 0xEDFA, 0x85A3, 0xEDFB, 0x857B, - 0xEDFC, 0x85A4, 0xEDFD, 0x859A, 0xEDFE, 0x859E, 0xEE40, 0x8577, 0xEE41, 0x857C, 0xEE42, 0x8589, 0xEE43, 0x85A1, 0xEE44, 0x857A, - 0xEE45, 0x8578, 0xEE46, 0x8557, 0xEE47, 0x858E, 0xEE48, 0x8596, 0xEE49, 0x8586, 0xEE4A, 0x858D, 0xEE4B, 0x8599, 0xEE4C, 0x859D, - 0xEE4D, 0x8581, 0xEE4E, 0x85A2, 0xEE4F, 0x8582, 0xEE50, 0x8588, 0xEE51, 0x8585, 0xEE52, 0x8579, 0xEE53, 0x8576, 0xEE54, 0x8598, - 0xEE55, 0x8590, 0xEE56, 0x859F, 0xEE57, 0x8668, 0xEE58, 0x87BE, 0xEE59, 0x87AA, 0xEE5A, 0x87AD, 0xEE5B, 0x87C5, 0xEE5C, 0x87B0, - 0xEE5D, 0x87AC, 0xEE5E, 0x87B9, 0xEE5F, 0x87B5, 0xEE60, 0x87BC, 0xEE61, 0x87AE, 0xEE62, 0x87C9, 0xEE63, 0x87C3, 0xEE64, 0x87C2, - 0xEE65, 0x87CC, 0xEE66, 0x87B7, 0xEE67, 0x87AF, 0xEE68, 0x87C4, 0xEE69, 0x87CA, 0xEE6A, 0x87B4, 0xEE6B, 0x87B6, 0xEE6C, 0x87BF, - 0xEE6D, 0x87B8, 0xEE6E, 0x87BD, 0xEE6F, 0x87DE, 0xEE70, 0x87B2, 0xEE71, 0x8935, 0xEE72, 0x8933, 0xEE73, 0x893C, 0xEE74, 0x893E, - 0xEE75, 0x8941, 0xEE76, 0x8952, 0xEE77, 0x8937, 0xEE78, 0x8942, 0xEE79, 0x89AD, 0xEE7A, 0x89AF, 0xEE7B, 0x89AE, 0xEE7C, 0x89F2, - 0xEE7D, 0x89F3, 0xEE7E, 0x8B1E, 0xEEA1, 0x8B18, 0xEEA2, 0x8B16, 0xEEA3, 0x8B11, 0xEEA4, 0x8B05, 0xEEA5, 0x8B0B, 0xEEA6, 0x8B22, - 0xEEA7, 0x8B0F, 0xEEA8, 0x8B12, 0xEEA9, 0x8B15, 0xEEAA, 0x8B07, 0xEEAB, 0x8B0D, 0xEEAC, 0x8B08, 0xEEAD, 0x8B06, 0xEEAE, 0x8B1C, - 0xEEAF, 0x8B13, 0xEEB0, 0x8B1A, 0xEEB1, 0x8C4F, 0xEEB2, 0x8C70, 0xEEB3, 0x8C72, 0xEEB4, 0x8C71, 0xEEB5, 0x8C6F, 0xEEB6, 0x8C95, - 0xEEB7, 0x8C94, 0xEEB8, 0x8CF9, 0xEEB9, 0x8D6F, 0xEEBA, 0x8E4E, 0xEEBB, 0x8E4D, 0xEEBC, 0x8E53, 0xEEBD, 0x8E50, 0xEEBE, 0x8E4C, - 0xEEBF, 0x8E47, 0xEEC0, 0x8F43, 0xEEC1, 0x8F40, 0xEEC2, 0x9085, 0xEEC3, 0x907E, 0xEEC4, 0x9138, 0xEEC5, 0x919A, 0xEEC6, 0x91A2, - 0xEEC7, 0x919B, 0xEEC8, 0x9199, 0xEEC9, 0x919F, 0xEECA, 0x91A1, 0xEECB, 0x919D, 0xEECC, 0x91A0, 0xEECD, 0x93A1, 0xEECE, 0x9383, - 0xEECF, 0x93AF, 0xEED0, 0x9364, 0xEED1, 0x9356, 0xEED2, 0x9347, 0xEED3, 0x937C, 0xEED4, 0x9358, 0xEED5, 0x935C, 0xEED6, 0x9376, - 0xEED7, 0x9349, 0xEED8, 0x9350, 0xEED9, 0x9351, 0xEEDA, 0x9360, 0xEEDB, 0x936D, 0xEEDC, 0x938F, 0xEEDD, 0x934C, 0xEEDE, 0x936A, - 0xEEDF, 0x9379, 0xEEE0, 0x9357, 0xEEE1, 0x9355, 0xEEE2, 0x9352, 0xEEE3, 0x934F, 0xEEE4, 0x9371, 0xEEE5, 0x9377, 0xEEE6, 0x937B, - 0xEEE7, 0x9361, 0xEEE8, 0x935E, 0xEEE9, 0x9363, 0xEEEA, 0x9367, 0xEEEB, 0x9380, 0xEEEC, 0x934E, 0xEEED, 0x9359, 0xEEEE, 0x95C7, - 0xEEEF, 0x95C0, 0xEEF0, 0x95C9, 0xEEF1, 0x95C3, 0xEEF2, 0x95C5, 0xEEF3, 0x95B7, 0xEEF4, 0x96AE, 0xEEF5, 0x96B0, 0xEEF6, 0x96AC, - 0xEEF7, 0x9720, 0xEEF8, 0x971F, 0xEEF9, 0x9718, 0xEEFA, 0x971D, 0xEEFB, 0x9719, 0xEEFC, 0x979A, 0xEEFD, 0x97A1, 0xEEFE, 0x979C, - 0xEF40, 0x979E, 0xEF41, 0x979D, 0xEF42, 0x97D5, 0xEF43, 0x97D4, 0xEF44, 0x97F1, 0xEF45, 0x9841, 0xEF46, 0x9844, 0xEF47, 0x984A, - 0xEF48, 0x9849, 0xEF49, 0x9845, 0xEF4A, 0x9843, 0xEF4B, 0x9925, 0xEF4C, 0x992B, 0xEF4D, 0x992C, 0xEF4E, 0x992A, 0xEF4F, 0x9933, - 0xEF50, 0x9932, 0xEF51, 0x992F, 0xEF52, 0x992D, 0xEF53, 0x9931, 0xEF54, 0x9930, 0xEF55, 0x9998, 0xEF56, 0x99A3, 0xEF57, 0x99A1, - 0xEF58, 0x9A02, 0xEF59, 0x99FA, 0xEF5A, 0x99F4, 0xEF5B, 0x99F7, 0xEF5C, 0x99F9, 0xEF5D, 0x99F8, 0xEF5E, 0x99F6, 0xEF5F, 0x99FB, - 0xEF60, 0x99FD, 0xEF61, 0x99FE, 0xEF62, 0x99FC, 0xEF63, 0x9A03, 0xEF64, 0x9ABE, 0xEF65, 0x9AFE, 0xEF66, 0x9AFD, 0xEF67, 0x9B01, - 0xEF68, 0x9AFC, 0xEF69, 0x9B48, 0xEF6A, 0x9B9A, 0xEF6B, 0x9BA8, 0xEF6C, 0x9B9E, 0xEF6D, 0x9B9B, 0xEF6E, 0x9BA6, 0xEF6F, 0x9BA1, - 0xEF70, 0x9BA5, 0xEF71, 0x9BA4, 0xEF72, 0x9B86, 0xEF73, 0x9BA2, 0xEF74, 0x9BA0, 0xEF75, 0x9BAF, 0xEF76, 0x9D33, 0xEF77, 0x9D41, - 0xEF78, 0x9D67, 0xEF79, 0x9D36, 0xEF7A, 0x9D2E, 0xEF7B, 0x9D2F, 0xEF7C, 0x9D31, 0xEF7D, 0x9D38, 0xEF7E, 0x9D30, 0xEFA1, 0x9D45, - 0xEFA2, 0x9D42, 0xEFA3, 0x9D43, 0xEFA4, 0x9D3E, 0xEFA5, 0x9D37, 0xEFA6, 0x9D40, 0xEFA7, 0x9D3D, 0xEFA8, 0x7FF5, 0xEFA9, 0x9D2D, - 0xEFAA, 0x9E8A, 0xEFAB, 0x9E89, 0xEFAC, 0x9E8D, 0xEFAD, 0x9EB0, 0xEFAE, 0x9EC8, 0xEFAF, 0x9EDA, 0xEFB0, 0x9EFB, 0xEFB1, 0x9EFF, - 0xEFB2, 0x9F24, 0xEFB3, 0x9F23, 0xEFB4, 0x9F22, 0xEFB5, 0x9F54, 0xEFB6, 0x9FA0, 0xEFB7, 0x5131, 0xEFB8, 0x512D, 0xEFB9, 0x512E, - 0xEFBA, 0x5698, 0xEFBB, 0x569C, 0xEFBC, 0x5697, 0xEFBD, 0x569A, 0xEFBE, 0x569D, 0xEFBF, 0x5699, 0xEFC0, 0x5970, 0xEFC1, 0x5B3C, - 0xEFC2, 0x5C69, 0xEFC3, 0x5C6A, 0xEFC4, 0x5DC0, 0xEFC5, 0x5E6D, 0xEFC6, 0x5E6E, 0xEFC7, 0x61D8, 0xEFC8, 0x61DF, 0xEFC9, 0x61ED, - 0xEFCA, 0x61EE, 0xEFCB, 0x61F1, 0xEFCC, 0x61EA, 0xEFCD, 0x61F0, 0xEFCE, 0x61EB, 0xEFCF, 0x61D6, 0xEFD0, 0x61E9, 0xEFD1, 0x64FF, - 0xEFD2, 0x6504, 0xEFD3, 0x64FD, 0xEFD4, 0x64F8, 0xEFD5, 0x6501, 0xEFD6, 0x6503, 0xEFD7, 0x64FC, 0xEFD8, 0x6594, 0xEFD9, 0x65DB, - 0xEFDA, 0x66DA, 0xEFDB, 0x66DB, 0xEFDC, 0x66D8, 0xEFDD, 0x6AC5, 0xEFDE, 0x6AB9, 0xEFDF, 0x6ABD, 0xEFE0, 0x6AE1, 0xEFE1, 0x6AC6, - 0xEFE2, 0x6ABA, 0xEFE3, 0x6AB6, 0xEFE4, 0x6AB7, 0xEFE5, 0x6AC7, 0xEFE6, 0x6AB4, 0xEFE7, 0x6AAD, 0xEFE8, 0x6B5E, 0xEFE9, 0x6BC9, - 0xEFEA, 0x6C0B, 0xEFEB, 0x7007, 0xEFEC, 0x700C, 0xEFED, 0x700D, 0xEFEE, 0x7001, 0xEFEF, 0x7005, 0xEFF0, 0x7014, 0xEFF1, 0x700E, - 0xEFF2, 0x6FFF, 0xEFF3, 0x7000, 0xEFF4, 0x6FFB, 0xEFF5, 0x7026, 0xEFF6, 0x6FFC, 0xEFF7, 0x6FF7, 0xEFF8, 0x700A, 0xEFF9, 0x7201, - 0xEFFA, 0x71FF, 0xEFFB, 0x71F9, 0xEFFC, 0x7203, 0xEFFD, 0x71FD, 0xEFFE, 0x7376, 0xF040, 0x74B8, 0xF041, 0x74C0, 0xF042, 0x74B5, - 0xF043, 0x74C1, 0xF044, 0x74BE, 0xF045, 0x74B6, 0xF046, 0x74BB, 0xF047, 0x74C2, 0xF048, 0x7514, 0xF049, 0x7513, 0xF04A, 0x765C, - 0xF04B, 0x7664, 0xF04C, 0x7659, 0xF04D, 0x7650, 0xF04E, 0x7653, 0xF04F, 0x7657, 0xF050, 0x765A, 0xF051, 0x76A6, 0xF052, 0x76BD, - 0xF053, 0x76EC, 0xF054, 0x77C2, 0xF055, 0x77BA, 0xF056, 0x78FF, 0xF057, 0x790C, 0xF058, 0x7913, 0xF059, 0x7914, 0xF05A, 0x7909, - 0xF05B, 0x7910, 0xF05C, 0x7912, 0xF05D, 0x7911, 0xF05E, 0x79AD, 0xF05F, 0x79AC, 0xF060, 0x7A5F, 0xF061, 0x7C1C, 0xF062, 0x7C29, - 0xF063, 0x7C19, 0xF064, 0x7C20, 0xF065, 0x7C1F, 0xF066, 0x7C2D, 0xF067, 0x7C1D, 0xF068, 0x7C26, 0xF069, 0x7C28, 0xF06A, 0x7C22, - 0xF06B, 0x7C25, 0xF06C, 0x7C30, 0xF06D, 0x7E5C, 0xF06E, 0x7E50, 0xF06F, 0x7E56, 0xF070, 0x7E63, 0xF071, 0x7E58, 0xF072, 0x7E62, - 0xF073, 0x7E5F, 0xF074, 0x7E51, 0xF075, 0x7E60, 0xF076, 0x7E57, 0xF077, 0x7E53, 0xF078, 0x7FB5, 0xF079, 0x7FB3, 0xF07A, 0x7FF7, - 0xF07B, 0x7FF8, 0xF07C, 0x8075, 0xF07D, 0x81D1, 0xF07E, 0x81D2, 0xF0A1, 0x81D0, 0xF0A2, 0x825F, 0xF0A3, 0x825E, 0xF0A4, 0x85B4, - 0xF0A5, 0x85C6, 0xF0A6, 0x85C0, 0xF0A7, 0x85C3, 0xF0A8, 0x85C2, 0xF0A9, 0x85B3, 0xF0AA, 0x85B5, 0xF0AB, 0x85BD, 0xF0AC, 0x85C7, - 0xF0AD, 0x85C4, 0xF0AE, 0x85BF, 0xF0AF, 0x85CB, 0xF0B0, 0x85CE, 0xF0B1, 0x85C8, 0xF0B2, 0x85C5, 0xF0B3, 0x85B1, 0xF0B4, 0x85B6, - 0xF0B5, 0x85D2, 0xF0B6, 0x8624, 0xF0B7, 0x85B8, 0xF0B8, 0x85B7, 0xF0B9, 0x85BE, 0xF0BA, 0x8669, 0xF0BB, 0x87E7, 0xF0BC, 0x87E6, - 0xF0BD, 0x87E2, 0xF0BE, 0x87DB, 0xF0BF, 0x87EB, 0xF0C0, 0x87EA, 0xF0C1, 0x87E5, 0xF0C2, 0x87DF, 0xF0C3, 0x87F3, 0xF0C4, 0x87E4, - 0xF0C5, 0x87D4, 0xF0C6, 0x87DC, 0xF0C7, 0x87D3, 0xF0C8, 0x87ED, 0xF0C9, 0x87D8, 0xF0CA, 0x87E3, 0xF0CB, 0x87A4, 0xF0CC, 0x87D7, - 0xF0CD, 0x87D9, 0xF0CE, 0x8801, 0xF0CF, 0x87F4, 0xF0D0, 0x87E8, 0xF0D1, 0x87DD, 0xF0D2, 0x8953, 0xF0D3, 0x894B, 0xF0D4, 0x894F, - 0xF0D5, 0x894C, 0xF0D6, 0x8946, 0xF0D7, 0x8950, 0xF0D8, 0x8951, 0xF0D9, 0x8949, 0xF0DA, 0x8B2A, 0xF0DB, 0x8B27, 0xF0DC, 0x8B23, - 0xF0DD, 0x8B33, 0xF0DE, 0x8B30, 0xF0DF, 0x8B35, 0xF0E0, 0x8B47, 0xF0E1, 0x8B2F, 0xF0E2, 0x8B3C, 0xF0E3, 0x8B3E, 0xF0E4, 0x8B31, - 0xF0E5, 0x8B25, 0xF0E6, 0x8B37, 0xF0E7, 0x8B26, 0xF0E8, 0x8B36, 0xF0E9, 0x8B2E, 0xF0EA, 0x8B24, 0xF0EB, 0x8B3B, 0xF0EC, 0x8B3D, - 0xF0ED, 0x8B3A, 0xF0EE, 0x8C42, 0xF0EF, 0x8C75, 0xF0F0, 0x8C99, 0xF0F1, 0x8C98, 0xF0F2, 0x8C97, 0xF0F3, 0x8CFE, 0xF0F4, 0x8D04, - 0xF0F5, 0x8D02, 0xF0F6, 0x8D00, 0xF0F7, 0x8E5C, 0xF0F8, 0x8E62, 0xF0F9, 0x8E60, 0xF0FA, 0x8E57, 0xF0FB, 0x8E56, 0xF0FC, 0x8E5E, - 0xF0FD, 0x8E65, 0xF0FE, 0x8E67, 0xF140, 0x8E5B, 0xF141, 0x8E5A, 0xF142, 0x8E61, 0xF143, 0x8E5D, 0xF144, 0x8E69, 0xF145, 0x8E54, - 0xF146, 0x8F46, 0xF147, 0x8F47, 0xF148, 0x8F48, 0xF149, 0x8F4B, 0xF14A, 0x9128, 0xF14B, 0x913A, 0xF14C, 0x913B, 0xF14D, 0x913E, - 0xF14E, 0x91A8, 0xF14F, 0x91A5, 0xF150, 0x91A7, 0xF151, 0x91AF, 0xF152, 0x91AA, 0xF153, 0x93B5, 0xF154, 0x938C, 0xF155, 0x9392, - 0xF156, 0x93B7, 0xF157, 0x939B, 0xF158, 0x939D, 0xF159, 0x9389, 0xF15A, 0x93A7, 0xF15B, 0x938E, 0xF15C, 0x93AA, 0xF15D, 0x939E, - 0xF15E, 0x93A6, 0xF15F, 0x9395, 0xF160, 0x9388, 0xF161, 0x9399, 0xF162, 0x939F, 0xF163, 0x938D, 0xF164, 0x93B1, 0xF165, 0x9391, - 0xF166, 0x93B2, 0xF167, 0x93A4, 0xF168, 0x93A8, 0xF169, 0x93B4, 0xF16A, 0x93A3, 0xF16B, 0x93A5, 0xF16C, 0x95D2, 0xF16D, 0x95D3, - 0xF16E, 0x95D1, 0xF16F, 0x96B3, 0xF170, 0x96D7, 0xF171, 0x96DA, 0xF172, 0x5DC2, 0xF173, 0x96DF, 0xF174, 0x96D8, 0xF175, 0x96DD, - 0xF176, 0x9723, 0xF177, 0x9722, 0xF178, 0x9725, 0xF179, 0x97AC, 0xF17A, 0x97AE, 0xF17B, 0x97A8, 0xF17C, 0x97AB, 0xF17D, 0x97A4, - 0xF17E, 0x97AA, 0xF1A1, 0x97A2, 0xF1A2, 0x97A5, 0xF1A3, 0x97D7, 0xF1A4, 0x97D9, 0xF1A5, 0x97D6, 0xF1A6, 0x97D8, 0xF1A7, 0x97FA, - 0xF1A8, 0x9850, 0xF1A9, 0x9851, 0xF1AA, 0x9852, 0xF1AB, 0x98B8, 0xF1AC, 0x9941, 0xF1AD, 0x993C, 0xF1AE, 0x993A, 0xF1AF, 0x9A0F, - 0xF1B0, 0x9A0B, 0xF1B1, 0x9A09, 0xF1B2, 0x9A0D, 0xF1B3, 0x9A04, 0xF1B4, 0x9A11, 0xF1B5, 0x9A0A, 0xF1B6, 0x9A05, 0xF1B7, 0x9A07, - 0xF1B8, 0x9A06, 0xF1B9, 0x9AC0, 0xF1BA, 0x9ADC, 0xF1BB, 0x9B08, 0xF1BC, 0x9B04, 0xF1BD, 0x9B05, 0xF1BE, 0x9B29, 0xF1BF, 0x9B35, - 0xF1C0, 0x9B4A, 0xF1C1, 0x9B4C, 0xF1C2, 0x9B4B, 0xF1C3, 0x9BC7, 0xF1C4, 0x9BC6, 0xF1C5, 0x9BC3, 0xF1C6, 0x9BBF, 0xF1C7, 0x9BC1, - 0xF1C8, 0x9BB5, 0xF1C9, 0x9BB8, 0xF1CA, 0x9BD3, 0xF1CB, 0x9BB6, 0xF1CC, 0x9BC4, 0xF1CD, 0x9BB9, 0xF1CE, 0x9BBD, 0xF1CF, 0x9D5C, - 0xF1D0, 0x9D53, 0xF1D1, 0x9D4F, 0xF1D2, 0x9D4A, 0xF1D3, 0x9D5B, 0xF1D4, 0x9D4B, 0xF1D5, 0x9D59, 0xF1D6, 0x9D56, 0xF1D7, 0x9D4C, - 0xF1D8, 0x9D57, 0xF1D9, 0x9D52, 0xF1DA, 0x9D54, 0xF1DB, 0x9D5F, 0xF1DC, 0x9D58, 0xF1DD, 0x9D5A, 0xF1DE, 0x9E8E, 0xF1DF, 0x9E8C, - 0xF1E0, 0x9EDF, 0xF1E1, 0x9F01, 0xF1E2, 0x9F00, 0xF1E3, 0x9F16, 0xF1E4, 0x9F25, 0xF1E5, 0x9F2B, 0xF1E6, 0x9F2A, 0xF1E7, 0x9F29, - 0xF1E8, 0x9F28, 0xF1E9, 0x9F4C, 0xF1EA, 0x9F55, 0xF1EB, 0x5134, 0xF1EC, 0x5135, 0xF1ED, 0x5296, 0xF1EE, 0x52F7, 0xF1EF, 0x53B4, - 0xF1F0, 0x56AB, 0xF1F1, 0x56AD, 0xF1F2, 0x56A6, 0xF1F3, 0x56A7, 0xF1F4, 0x56AA, 0xF1F5, 0x56AC, 0xF1F6, 0x58DA, 0xF1F7, 0x58DD, - 0xF1F8, 0x58DB, 0xF1F9, 0x5912, 0xF1FA, 0x5B3D, 0xF1FB, 0x5B3E, 0xF1FC, 0x5B3F, 0xF1FD, 0x5DC3, 0xF1FE, 0x5E70, 0xF240, 0x5FBF, - 0xF241, 0x61FB, 0xF242, 0x6507, 0xF243, 0x6510, 0xF244, 0x650D, 0xF245, 0x6509, 0xF246, 0x650C, 0xF247, 0x650E, 0xF248, 0x6584, - 0xF249, 0x65DE, 0xF24A, 0x65DD, 0xF24B, 0x66DE, 0xF24C, 0x6AE7, 0xF24D, 0x6AE0, 0xF24E, 0x6ACC, 0xF24F, 0x6AD1, 0xF250, 0x6AD9, - 0xF251, 0x6ACB, 0xF252, 0x6ADF, 0xF253, 0x6ADC, 0xF254, 0x6AD0, 0xF255, 0x6AEB, 0xF256, 0x6ACF, 0xF257, 0x6ACD, 0xF258, 0x6ADE, - 0xF259, 0x6B60, 0xF25A, 0x6BB0, 0xF25B, 0x6C0C, 0xF25C, 0x7019, 0xF25D, 0x7027, 0xF25E, 0x7020, 0xF25F, 0x7016, 0xF260, 0x702B, - 0xF261, 0x7021, 0xF262, 0x7022, 0xF263, 0x7023, 0xF264, 0x7029, 0xF265, 0x7017, 0xF266, 0x7024, 0xF267, 0x701C, 0xF268, 0x702A, - 0xF269, 0x720C, 0xF26A, 0x720A, 0xF26B, 0x7207, 0xF26C, 0x7202, 0xF26D, 0x7205, 0xF26E, 0x72A5, 0xF26F, 0x72A6, 0xF270, 0x72A4, - 0xF271, 0x72A3, 0xF272, 0x72A1, 0xF273, 0x74CB, 0xF274, 0x74C5, 0xF275, 0x74B7, 0xF276, 0x74C3, 0xF277, 0x7516, 0xF278, 0x7660, - 0xF279, 0x77C9, 0xF27A, 0x77CA, 0xF27B, 0x77C4, 0xF27C, 0x77F1, 0xF27D, 0x791D, 0xF27E, 0x791B, 0xF2A1, 0x7921, 0xF2A2, 0x791C, - 0xF2A3, 0x7917, 0xF2A4, 0x791E, 0xF2A5, 0x79B0, 0xF2A6, 0x7A67, 0xF2A7, 0x7A68, 0xF2A8, 0x7C33, 0xF2A9, 0x7C3C, 0xF2AA, 0x7C39, - 0xF2AB, 0x7C2C, 0xF2AC, 0x7C3B, 0xF2AD, 0x7CEC, 0xF2AE, 0x7CEA, 0xF2AF, 0x7E76, 0xF2B0, 0x7E75, 0xF2B1, 0x7E78, 0xF2B2, 0x7E70, - 0xF2B3, 0x7E77, 0xF2B4, 0x7E6F, 0xF2B5, 0x7E7A, 0xF2B6, 0x7E72, 0xF2B7, 0x7E74, 0xF2B8, 0x7E68, 0xF2B9, 0x7F4B, 0xF2BA, 0x7F4A, - 0xF2BB, 0x7F83, 0xF2BC, 0x7F86, 0xF2BD, 0x7FB7, 0xF2BE, 0x7FFD, 0xF2BF, 0x7FFE, 0xF2C0, 0x8078, 0xF2C1, 0x81D7, 0xF2C2, 0x81D5, - 0xF2C3, 0x8264, 0xF2C4, 0x8261, 0xF2C5, 0x8263, 0xF2C6, 0x85EB, 0xF2C7, 0x85F1, 0xF2C8, 0x85ED, 0xF2C9, 0x85D9, 0xF2CA, 0x85E1, - 0xF2CB, 0x85E8, 0xF2CC, 0x85DA, 0xF2CD, 0x85D7, 0xF2CE, 0x85EC, 0xF2CF, 0x85F2, 0xF2D0, 0x85F8, 0xF2D1, 0x85D8, 0xF2D2, 0x85DF, - 0xF2D3, 0x85E3, 0xF2D4, 0x85DC, 0xF2D5, 0x85D1, 0xF2D6, 0x85F0, 0xF2D7, 0x85E6, 0xF2D8, 0x85EF, 0xF2D9, 0x85DE, 0xF2DA, 0x85E2, - 0xF2DB, 0x8800, 0xF2DC, 0x87FA, 0xF2DD, 0x8803, 0xF2DE, 0x87F6, 0xF2DF, 0x87F7, 0xF2E0, 0x8809, 0xF2E1, 0x880C, 0xF2E2, 0x880B, - 0xF2E3, 0x8806, 0xF2E4, 0x87FC, 0xF2E5, 0x8808, 0xF2E6, 0x87FF, 0xF2E7, 0x880A, 0xF2E8, 0x8802, 0xF2E9, 0x8962, 0xF2EA, 0x895A, - 0xF2EB, 0x895B, 0xF2EC, 0x8957, 0xF2ED, 0x8961, 0xF2EE, 0x895C, 0xF2EF, 0x8958, 0xF2F0, 0x895D, 0xF2F1, 0x8959, 0xF2F2, 0x8988, - 0xF2F3, 0x89B7, 0xF2F4, 0x89B6, 0xF2F5, 0x89F6, 0xF2F6, 0x8B50, 0xF2F7, 0x8B48, 0xF2F8, 0x8B4A, 0xF2F9, 0x8B40, 0xF2FA, 0x8B53, - 0xF2FB, 0x8B56, 0xF2FC, 0x8B54, 0xF2FD, 0x8B4B, 0xF2FE, 0x8B55, 0xF340, 0x8B51, 0xF341, 0x8B42, 0xF342, 0x8B52, 0xF343, 0x8B57, - 0xF344, 0x8C43, 0xF345, 0x8C77, 0xF346, 0x8C76, 0xF347, 0x8C9A, 0xF348, 0x8D06, 0xF349, 0x8D07, 0xF34A, 0x8D09, 0xF34B, 0x8DAC, - 0xF34C, 0x8DAA, 0xF34D, 0x8DAD, 0xF34E, 0x8DAB, 0xF34F, 0x8E6D, 0xF350, 0x8E78, 0xF351, 0x8E73, 0xF352, 0x8E6A, 0xF353, 0x8E6F, - 0xF354, 0x8E7B, 0xF355, 0x8EC2, 0xF356, 0x8F52, 0xF357, 0x8F51, 0xF358, 0x8F4F, 0xF359, 0x8F50, 0xF35A, 0x8F53, 0xF35B, 0x8FB4, - 0xF35C, 0x9140, 0xF35D, 0x913F, 0xF35E, 0x91B0, 0xF35F, 0x91AD, 0xF360, 0x93DE, 0xF361, 0x93C7, 0xF362, 0x93CF, 0xF363, 0x93C2, - 0xF364, 0x93DA, 0xF365, 0x93D0, 0xF366, 0x93F9, 0xF367, 0x93EC, 0xF368, 0x93CC, 0xF369, 0x93D9, 0xF36A, 0x93A9, 0xF36B, 0x93E6, - 0xF36C, 0x93CA, 0xF36D, 0x93D4, 0xF36E, 0x93EE, 0xF36F, 0x93E3, 0xF370, 0x93D5, 0xF371, 0x93C4, 0xF372, 0x93CE, 0xF373, 0x93C0, - 0xF374, 0x93D2, 0xF375, 0x93E7, 0xF376, 0x957D, 0xF377, 0x95DA, 0xF378, 0x95DB, 0xF379, 0x96E1, 0xF37A, 0x9729, 0xF37B, 0x972B, - 0xF37C, 0x972C, 0xF37D, 0x9728, 0xF37E, 0x9726, 0xF3A1, 0x97B3, 0xF3A2, 0x97B7, 0xF3A3, 0x97B6, 0xF3A4, 0x97DD, 0xF3A5, 0x97DE, - 0xF3A6, 0x97DF, 0xF3A7, 0x985C, 0xF3A8, 0x9859, 0xF3A9, 0x985D, 0xF3AA, 0x9857, 0xF3AB, 0x98BF, 0xF3AC, 0x98BD, 0xF3AD, 0x98BB, - 0xF3AE, 0x98BE, 0xF3AF, 0x9948, 0xF3B0, 0x9947, 0xF3B1, 0x9943, 0xF3B2, 0x99A6, 0xF3B3, 0x99A7, 0xF3B4, 0x9A1A, 0xF3B5, 0x9A15, - 0xF3B6, 0x9A25, 0xF3B7, 0x9A1D, 0xF3B8, 0x9A24, 0xF3B9, 0x9A1B, 0xF3BA, 0x9A22, 0xF3BB, 0x9A20, 0xF3BC, 0x9A27, 0xF3BD, 0x9A23, - 0xF3BE, 0x9A1E, 0xF3BF, 0x9A1C, 0xF3C0, 0x9A14, 0xF3C1, 0x9AC2, 0xF3C2, 0x9B0B, 0xF3C3, 0x9B0A, 0xF3C4, 0x9B0E, 0xF3C5, 0x9B0C, - 0xF3C6, 0x9B37, 0xF3C7, 0x9BEA, 0xF3C8, 0x9BEB, 0xF3C9, 0x9BE0, 0xF3CA, 0x9BDE, 0xF3CB, 0x9BE4, 0xF3CC, 0x9BE6, 0xF3CD, 0x9BE2, - 0xF3CE, 0x9BF0, 0xF3CF, 0x9BD4, 0xF3D0, 0x9BD7, 0xF3D1, 0x9BEC, 0xF3D2, 0x9BDC, 0xF3D3, 0x9BD9, 0xF3D4, 0x9BE5, 0xF3D5, 0x9BD5, - 0xF3D6, 0x9BE1, 0xF3D7, 0x9BDA, 0xF3D8, 0x9D77, 0xF3D9, 0x9D81, 0xF3DA, 0x9D8A, 0xF3DB, 0x9D84, 0xF3DC, 0x9D88, 0xF3DD, 0x9D71, - 0xF3DE, 0x9D80, 0xF3DF, 0x9D78, 0xF3E0, 0x9D86, 0xF3E1, 0x9D8B, 0xF3E2, 0x9D8C, 0xF3E3, 0x9D7D, 0xF3E4, 0x9D6B, 0xF3E5, 0x9D74, - 0xF3E6, 0x9D75, 0xF3E7, 0x9D70, 0xF3E8, 0x9D69, 0xF3E9, 0x9D85, 0xF3EA, 0x9D73, 0xF3EB, 0x9D7B, 0xF3EC, 0x9D82, 0xF3ED, 0x9D6F, - 0xF3EE, 0x9D79, 0xF3EF, 0x9D7F, 0xF3F0, 0x9D87, 0xF3F1, 0x9D68, 0xF3F2, 0x9E94, 0xF3F3, 0x9E91, 0xF3F4, 0x9EC0, 0xF3F5, 0x9EFC, - 0xF3F6, 0x9F2D, 0xF3F7, 0x9F40, 0xF3F8, 0x9F41, 0xF3F9, 0x9F4D, 0xF3FA, 0x9F56, 0xF3FB, 0x9F57, 0xF3FC, 0x9F58, 0xF3FD, 0x5337, - 0xF3FE, 0x56B2, 0xF440, 0x56B5, 0xF441, 0x56B3, 0xF442, 0x58E3, 0xF443, 0x5B45, 0xF444, 0x5DC6, 0xF445, 0x5DC7, 0xF446, 0x5EEE, - 0xF447, 0x5EEF, 0xF448, 0x5FC0, 0xF449, 0x5FC1, 0xF44A, 0x61F9, 0xF44B, 0x6517, 0xF44C, 0x6516, 0xF44D, 0x6515, 0xF44E, 0x6513, - 0xF44F, 0x65DF, 0xF450, 0x66E8, 0xF451, 0x66E3, 0xF452, 0x66E4, 0xF453, 0x6AF3, 0xF454, 0x6AF0, 0xF455, 0x6AEA, 0xF456, 0x6AE8, - 0xF457, 0x6AF9, 0xF458, 0x6AF1, 0xF459, 0x6AEE, 0xF45A, 0x6AEF, 0xF45B, 0x703C, 0xF45C, 0x7035, 0xF45D, 0x702F, 0xF45E, 0x7037, - 0xF45F, 0x7034, 0xF460, 0x7031, 0xF461, 0x7042, 0xF462, 0x7038, 0xF463, 0x703F, 0xF464, 0x703A, 0xF465, 0x7039, 0xF466, 0x7040, - 0xF467, 0x703B, 0xF468, 0x7033, 0xF469, 0x7041, 0xF46A, 0x7213, 0xF46B, 0x7214, 0xF46C, 0x72A8, 0xF46D, 0x737D, 0xF46E, 0x737C, - 0xF46F, 0x74BA, 0xF470, 0x76AB, 0xF471, 0x76AA, 0xF472, 0x76BE, 0xF473, 0x76ED, 0xF474, 0x77CC, 0xF475, 0x77CE, 0xF476, 0x77CF, - 0xF477, 0x77CD, 0xF478, 0x77F2, 0xF479, 0x7925, 0xF47A, 0x7923, 0xF47B, 0x7927, 0xF47C, 0x7928, 0xF47D, 0x7924, 0xF47E, 0x7929, - 0xF4A1, 0x79B2, 0xF4A2, 0x7A6E, 0xF4A3, 0x7A6C, 0xF4A4, 0x7A6D, 0xF4A5, 0x7AF7, 0xF4A6, 0x7C49, 0xF4A7, 0x7C48, 0xF4A8, 0x7C4A, - 0xF4A9, 0x7C47, 0xF4AA, 0x7C45, 0xF4AB, 0x7CEE, 0xF4AC, 0x7E7B, 0xF4AD, 0x7E7E, 0xF4AE, 0x7E81, 0xF4AF, 0x7E80, 0xF4B0, 0x7FBA, - 0xF4B1, 0x7FFF, 0xF4B2, 0x8079, 0xF4B3, 0x81DB, 0xF4B4, 0x81D9, 0xF4B5, 0x820B, 0xF4B6, 0x8268, 0xF4B7, 0x8269, 0xF4B8, 0x8622, - 0xF4B9, 0x85FF, 0xF4BA, 0x8601, 0xF4BB, 0x85FE, 0xF4BC, 0x861B, 0xF4BD, 0x8600, 0xF4BE, 0x85F6, 0xF4BF, 0x8604, 0xF4C0, 0x8609, - 0xF4C1, 0x8605, 0xF4C2, 0x860C, 0xF4C3, 0x85FD, 0xF4C4, 0x8819, 0xF4C5, 0x8810, 0xF4C6, 0x8811, 0xF4C7, 0x8817, 0xF4C8, 0x8813, - 0xF4C9, 0x8816, 0xF4CA, 0x8963, 0xF4CB, 0x8966, 0xF4CC, 0x89B9, 0xF4CD, 0x89F7, 0xF4CE, 0x8B60, 0xF4CF, 0x8B6A, 0xF4D0, 0x8B5D, - 0xF4D1, 0x8B68, 0xF4D2, 0x8B63, 0xF4D3, 0x8B65, 0xF4D4, 0x8B67, 0xF4D5, 0x8B6D, 0xF4D6, 0x8DAE, 0xF4D7, 0x8E86, 0xF4D8, 0x8E88, - 0xF4D9, 0x8E84, 0xF4DA, 0x8F59, 0xF4DB, 0x8F56, 0xF4DC, 0x8F57, 0xF4DD, 0x8F55, 0xF4DE, 0x8F58, 0xF4DF, 0x8F5A, 0xF4E0, 0x908D, - 0xF4E1, 0x9143, 0xF4E2, 0x9141, 0xF4E3, 0x91B7, 0xF4E4, 0x91B5, 0xF4E5, 0x91B2, 0xF4E6, 0x91B3, 0xF4E7, 0x940B, 0xF4E8, 0x9413, - 0xF4E9, 0x93FB, 0xF4EA, 0x9420, 0xF4EB, 0x940F, 0xF4EC, 0x9414, 0xF4ED, 0x93FE, 0xF4EE, 0x9415, 0xF4EF, 0x9410, 0xF4F0, 0x9428, - 0xF4F1, 0x9419, 0xF4F2, 0x940D, 0xF4F3, 0x93F5, 0xF4F4, 0x9400, 0xF4F5, 0x93F7, 0xF4F6, 0x9407, 0xF4F7, 0x940E, 0xF4F8, 0x9416, - 0xF4F9, 0x9412, 0xF4FA, 0x93FA, 0xF4FB, 0x9409, 0xF4FC, 0x93F8, 0xF4FD, 0x940A, 0xF4FE, 0x93FF, 0xF540, 0x93FC, 0xF541, 0x940C, - 0xF542, 0x93F6, 0xF543, 0x9411, 0xF544, 0x9406, 0xF545, 0x95DE, 0xF546, 0x95E0, 0xF547, 0x95DF, 0xF548, 0x972E, 0xF549, 0x972F, - 0xF54A, 0x97B9, 0xF54B, 0x97BB, 0xF54C, 0x97FD, 0xF54D, 0x97FE, 0xF54E, 0x9860, 0xF54F, 0x9862, 0xF550, 0x9863, 0xF551, 0x985F, - 0xF552, 0x98C1, 0xF553, 0x98C2, 0xF554, 0x9950, 0xF555, 0x994E, 0xF556, 0x9959, 0xF557, 0x994C, 0xF558, 0x994B, 0xF559, 0x9953, - 0xF55A, 0x9A32, 0xF55B, 0x9A34, 0xF55C, 0x9A31, 0xF55D, 0x9A2C, 0xF55E, 0x9A2A, 0xF55F, 0x9A36, 0xF560, 0x9A29, 0xF561, 0x9A2E, - 0xF562, 0x9A38, 0xF563, 0x9A2D, 0xF564, 0x9AC7, 0xF565, 0x9ACA, 0xF566, 0x9AC6, 0xF567, 0x9B10, 0xF568, 0x9B12, 0xF569, 0x9B11, - 0xF56A, 0x9C0B, 0xF56B, 0x9C08, 0xF56C, 0x9BF7, 0xF56D, 0x9C05, 0xF56E, 0x9C12, 0xF56F, 0x9BF8, 0xF570, 0x9C40, 0xF571, 0x9C07, - 0xF572, 0x9C0E, 0xF573, 0x9C06, 0xF574, 0x9C17, 0xF575, 0x9C14, 0xF576, 0x9C09, 0xF577, 0x9D9F, 0xF578, 0x9D99, 0xF579, 0x9DA4, - 0xF57A, 0x9D9D, 0xF57B, 0x9D92, 0xF57C, 0x9D98, 0xF57D, 0x9D90, 0xF57E, 0x9D9B, 0xF5A1, 0x9DA0, 0xF5A2, 0x9D94, 0xF5A3, 0x9D9C, - 0xF5A4, 0x9DAA, 0xF5A5, 0x9D97, 0xF5A6, 0x9DA1, 0xF5A7, 0x9D9A, 0xF5A8, 0x9DA2, 0xF5A9, 0x9DA8, 0xF5AA, 0x9D9E, 0xF5AB, 0x9DA3, - 0xF5AC, 0x9DBF, 0xF5AD, 0x9DA9, 0xF5AE, 0x9D96, 0xF5AF, 0x9DA6, 0xF5B0, 0x9DA7, 0xF5B1, 0x9E99, 0xF5B2, 0x9E9B, 0xF5B3, 0x9E9A, - 0xF5B4, 0x9EE5, 0xF5B5, 0x9EE4, 0xF5B6, 0x9EE7, 0xF5B7, 0x9EE6, 0xF5B8, 0x9F30, 0xF5B9, 0x9F2E, 0xF5BA, 0x9F5B, 0xF5BB, 0x9F60, - 0xF5BC, 0x9F5E, 0xF5BD, 0x9F5D, 0xF5BE, 0x9F59, 0xF5BF, 0x9F91, 0xF5C0, 0x513A, 0xF5C1, 0x5139, 0xF5C2, 0x5298, 0xF5C3, 0x5297, - 0xF5C4, 0x56C3, 0xF5C5, 0x56BD, 0xF5C6, 0x56BE, 0xF5C7, 0x5B48, 0xF5C8, 0x5B47, 0xF5C9, 0x5DCB, 0xF5CA, 0x5DCF, 0xF5CB, 0x5EF1, - 0xF5CC, 0x61FD, 0xF5CD, 0x651B, 0xF5CE, 0x6B02, 0xF5CF, 0x6AFC, 0xF5D0, 0x6B03, 0xF5D1, 0x6AF8, 0xF5D2, 0x6B00, 0xF5D3, 0x7043, - 0xF5D4, 0x7044, 0xF5D5, 0x704A, 0xF5D6, 0x7048, 0xF5D7, 0x7049, 0xF5D8, 0x7045, 0xF5D9, 0x7046, 0xF5DA, 0x721D, 0xF5DB, 0x721A, - 0xF5DC, 0x7219, 0xF5DD, 0x737E, 0xF5DE, 0x7517, 0xF5DF, 0x766A, 0xF5E0, 0x77D0, 0xF5E1, 0x792D, 0xF5E2, 0x7931, 0xF5E3, 0x792F, - 0xF5E4, 0x7C54, 0xF5E5, 0x7C53, 0xF5E6, 0x7CF2, 0xF5E7, 0x7E8A, 0xF5E8, 0x7E87, 0xF5E9, 0x7E88, 0xF5EA, 0x7E8B, 0xF5EB, 0x7E86, - 0xF5EC, 0x7E8D, 0xF5ED, 0x7F4D, 0xF5EE, 0x7FBB, 0xF5EF, 0x8030, 0xF5F0, 0x81DD, 0xF5F1, 0x8618, 0xF5F2, 0x862A, 0xF5F3, 0x8626, - 0xF5F4, 0x861F, 0xF5F5, 0x8623, 0xF5F6, 0x861C, 0xF5F7, 0x8619, 0xF5F8, 0x8627, 0xF5F9, 0x862E, 0xF5FA, 0x8621, 0xF5FB, 0x8620, - 0xF5FC, 0x8629, 0xF5FD, 0x861E, 0xF5FE, 0x8625, 0xF640, 0x8829, 0xF641, 0x881D, 0xF642, 0x881B, 0xF643, 0x8820, 0xF644, 0x8824, - 0xF645, 0x881C, 0xF646, 0x882B, 0xF647, 0x884A, 0xF648, 0x896D, 0xF649, 0x8969, 0xF64A, 0x896E, 0xF64B, 0x896B, 0xF64C, 0x89FA, - 0xF64D, 0x8B79, 0xF64E, 0x8B78, 0xF64F, 0x8B45, 0xF650, 0x8B7A, 0xF651, 0x8B7B, 0xF652, 0x8D10, 0xF653, 0x8D14, 0xF654, 0x8DAF, - 0xF655, 0x8E8E, 0xF656, 0x8E8C, 0xF657, 0x8F5E, 0xF658, 0x8F5B, 0xF659, 0x8F5D, 0xF65A, 0x9146, 0xF65B, 0x9144, 0xF65C, 0x9145, - 0xF65D, 0x91B9, 0xF65E, 0x943F, 0xF65F, 0x943B, 0xF660, 0x9436, 0xF661, 0x9429, 0xF662, 0x943D, 0xF663, 0x943C, 0xF664, 0x9430, - 0xF665, 0x9439, 0xF666, 0x942A, 0xF667, 0x9437, 0xF668, 0x942C, 0xF669, 0x9440, 0xF66A, 0x9431, 0xF66B, 0x95E5, 0xF66C, 0x95E4, - 0xF66D, 0x95E3, 0xF66E, 0x9735, 0xF66F, 0x973A, 0xF670, 0x97BF, 0xF671, 0x97E1, 0xF672, 0x9864, 0xF673, 0x98C9, 0xF674, 0x98C6, - 0xF675, 0x98C0, 0xF676, 0x9958, 0xF677, 0x9956, 0xF678, 0x9A39, 0xF679, 0x9A3D, 0xF67A, 0x9A46, 0xF67B, 0x9A44, 0xF67C, 0x9A42, - 0xF67D, 0x9A41, 0xF67E, 0x9A3A, 0xF6A1, 0x9A3F, 0xF6A2, 0x9ACD, 0xF6A3, 0x9B15, 0xF6A4, 0x9B17, 0xF6A5, 0x9B18, 0xF6A6, 0x9B16, - 0xF6A7, 0x9B3A, 0xF6A8, 0x9B52, 0xF6A9, 0x9C2B, 0xF6AA, 0x9C1D, 0xF6AB, 0x9C1C, 0xF6AC, 0x9C2C, 0xF6AD, 0x9C23, 0xF6AE, 0x9C28, - 0xF6AF, 0x9C29, 0xF6B0, 0x9C24, 0xF6B1, 0x9C21, 0xF6B2, 0x9DB7, 0xF6B3, 0x9DB6, 0xF6B4, 0x9DBC, 0xF6B5, 0x9DC1, 0xF6B6, 0x9DC7, - 0xF6B7, 0x9DCA, 0xF6B8, 0x9DCF, 0xF6B9, 0x9DBE, 0xF6BA, 0x9DC5, 0xF6BB, 0x9DC3, 0xF6BC, 0x9DBB, 0xF6BD, 0x9DB5, 0xF6BE, 0x9DCE, - 0xF6BF, 0x9DB9, 0xF6C0, 0x9DBA, 0xF6C1, 0x9DAC, 0xF6C2, 0x9DC8, 0xF6C3, 0x9DB1, 0xF6C4, 0x9DAD, 0xF6C5, 0x9DCC, 0xF6C6, 0x9DB3, - 0xF6C7, 0x9DCD, 0xF6C8, 0x9DB2, 0xF6C9, 0x9E7A, 0xF6CA, 0x9E9C, 0xF6CB, 0x9EEB, 0xF6CC, 0x9EEE, 0xF6CD, 0x9EED, 0xF6CE, 0x9F1B, - 0xF6CF, 0x9F18, 0xF6D0, 0x9F1A, 0xF6D1, 0x9F31, 0xF6D2, 0x9F4E, 0xF6D3, 0x9F65, 0xF6D4, 0x9F64, 0xF6D5, 0x9F92, 0xF6D6, 0x4EB9, - 0xF6D7, 0x56C6, 0xF6D8, 0x56C5, 0xF6D9, 0x56CB, 0xF6DA, 0x5971, 0xF6DB, 0x5B4B, 0xF6DC, 0x5B4C, 0xF6DD, 0x5DD5, 0xF6DE, 0x5DD1, - 0xF6DF, 0x5EF2, 0xF6E0, 0x6521, 0xF6E1, 0x6520, 0xF6E2, 0x6526, 0xF6E3, 0x6522, 0xF6E4, 0x6B0B, 0xF6E5, 0x6B08, 0xF6E6, 0x6B09, - 0xF6E7, 0x6C0D, 0xF6E8, 0x7055, 0xF6E9, 0x7056, 0xF6EA, 0x7057, 0xF6EB, 0x7052, 0xF6EC, 0x721E, 0xF6ED, 0x721F, 0xF6EE, 0x72A9, - 0xF6EF, 0x737F, 0xF6F0, 0x74D8, 0xF6F1, 0x74D5, 0xF6F2, 0x74D9, 0xF6F3, 0x74D7, 0xF6F4, 0x766D, 0xF6F5, 0x76AD, 0xF6F6, 0x7935, - 0xF6F7, 0x79B4, 0xF6F8, 0x7A70, 0xF6F9, 0x7A71, 0xF6FA, 0x7C57, 0xF6FB, 0x7C5C, 0xF6FC, 0x7C59, 0xF6FD, 0x7C5B, 0xF6FE, 0x7C5A, - 0xF740, 0x7CF4, 0xF741, 0x7CF1, 0xF742, 0x7E91, 0xF743, 0x7F4F, 0xF744, 0x7F87, 0xF745, 0x81DE, 0xF746, 0x826B, 0xF747, 0x8634, - 0xF748, 0x8635, 0xF749, 0x8633, 0xF74A, 0x862C, 0xF74B, 0x8632, 0xF74C, 0x8636, 0xF74D, 0x882C, 0xF74E, 0x8828, 0xF74F, 0x8826, - 0xF750, 0x882A, 0xF751, 0x8825, 0xF752, 0x8971, 0xF753, 0x89BF, 0xF754, 0x89BE, 0xF755, 0x89FB, 0xF756, 0x8B7E, 0xF757, 0x8B84, - 0xF758, 0x8B82, 0xF759, 0x8B86, 0xF75A, 0x8B85, 0xF75B, 0x8B7F, 0xF75C, 0x8D15, 0xF75D, 0x8E95, 0xF75E, 0x8E94, 0xF75F, 0x8E9A, - 0xF760, 0x8E92, 0xF761, 0x8E90, 0xF762, 0x8E96, 0xF763, 0x8E97, 0xF764, 0x8F60, 0xF765, 0x8F62, 0xF766, 0x9147, 0xF767, 0x944C, - 0xF768, 0x9450, 0xF769, 0x944A, 0xF76A, 0x944B, 0xF76B, 0x944F, 0xF76C, 0x9447, 0xF76D, 0x9445, 0xF76E, 0x9448, 0xF76F, 0x9449, - 0xF770, 0x9446, 0xF771, 0x973F, 0xF772, 0x97E3, 0xF773, 0x986A, 0xF774, 0x9869, 0xF775, 0x98CB, 0xF776, 0x9954, 0xF777, 0x995B, - 0xF778, 0x9A4E, 0xF779, 0x9A53, 0xF77A, 0x9A54, 0xF77B, 0x9A4C, 0xF77C, 0x9A4F, 0xF77D, 0x9A48, 0xF77E, 0x9A4A, 0xF7A1, 0x9A49, - 0xF7A2, 0x9A52, 0xF7A3, 0x9A50, 0xF7A4, 0x9AD0, 0xF7A5, 0x9B19, 0xF7A6, 0x9B2B, 0xF7A7, 0x9B3B, 0xF7A8, 0x9B56, 0xF7A9, 0x9B55, - 0xF7AA, 0x9C46, 0xF7AB, 0x9C48, 0xF7AC, 0x9C3F, 0xF7AD, 0x9C44, 0xF7AE, 0x9C39, 0xF7AF, 0x9C33, 0xF7B0, 0x9C41, 0xF7B1, 0x9C3C, - 0xF7B2, 0x9C37, 0xF7B3, 0x9C34, 0xF7B4, 0x9C32, 0xF7B5, 0x9C3D, 0xF7B6, 0x9C36, 0xF7B7, 0x9DDB, 0xF7B8, 0x9DD2, 0xF7B9, 0x9DDE, - 0xF7BA, 0x9DDA, 0xF7BB, 0x9DCB, 0xF7BC, 0x9DD0, 0xF7BD, 0x9DDC, 0xF7BE, 0x9DD1, 0xF7BF, 0x9DDF, 0xF7C0, 0x9DE9, 0xF7C1, 0x9DD9, - 0xF7C2, 0x9DD8, 0xF7C3, 0x9DD6, 0xF7C4, 0x9DF5, 0xF7C5, 0x9DD5, 0xF7C6, 0x9DDD, 0xF7C7, 0x9EB6, 0xF7C8, 0x9EF0, 0xF7C9, 0x9F35, - 0xF7CA, 0x9F33, 0xF7CB, 0x9F32, 0xF7CC, 0x9F42, 0xF7CD, 0x9F6B, 0xF7CE, 0x9F95, 0xF7CF, 0x9FA2, 0xF7D0, 0x513D, 0xF7D1, 0x5299, - 0xF7D2, 0x58E8, 0xF7D3, 0x58E7, 0xF7D4, 0x5972, 0xF7D5, 0x5B4D, 0xF7D6, 0x5DD8, 0xF7D7, 0x882F, 0xF7D8, 0x5F4F, 0xF7D9, 0x6201, - 0xF7DA, 0x6203, 0xF7DB, 0x6204, 0xF7DC, 0x6529, 0xF7DD, 0x6525, 0xF7DE, 0x6596, 0xF7DF, 0x66EB, 0xF7E0, 0x6B11, 0xF7E1, 0x6B12, - 0xF7E2, 0x6B0F, 0xF7E3, 0x6BCA, 0xF7E4, 0x705B, 0xF7E5, 0x705A, 0xF7E6, 0x7222, 0xF7E7, 0x7382, 0xF7E8, 0x7381, 0xF7E9, 0x7383, - 0xF7EA, 0x7670, 0xF7EB, 0x77D4, 0xF7EC, 0x7C67, 0xF7ED, 0x7C66, 0xF7EE, 0x7E95, 0xF7EF, 0x826C, 0xF7F0, 0x863A, 0xF7F1, 0x8640, - 0xF7F2, 0x8639, 0xF7F3, 0x863C, 0xF7F4, 0x8631, 0xF7F5, 0x863B, 0xF7F6, 0x863E, 0xF7F7, 0x8830, 0xF7F8, 0x8832, 0xF7F9, 0x882E, - 0xF7FA, 0x8833, 0xF7FB, 0x8976, 0xF7FC, 0x8974, 0xF7FD, 0x8973, 0xF7FE, 0x89FE, 0xF840, 0x8B8C, 0xF841, 0x8B8E, 0xF842, 0x8B8B, - 0xF843, 0x8B88, 0xF844, 0x8C45, 0xF845, 0x8D19, 0xF846, 0x8E98, 0xF847, 0x8F64, 0xF848, 0x8F63, 0xF849, 0x91BC, 0xF84A, 0x9462, - 0xF84B, 0x9455, 0xF84C, 0x945D, 0xF84D, 0x9457, 0xF84E, 0x945E, 0xF84F, 0x97C4, 0xF850, 0x97C5, 0xF851, 0x9800, 0xF852, 0x9A56, - 0xF853, 0x9A59, 0xF854, 0x9B1E, 0xF855, 0x9B1F, 0xF856, 0x9B20, 0xF857, 0x9C52, 0xF858, 0x9C58, 0xF859, 0x9C50, 0xF85A, 0x9C4A, - 0xF85B, 0x9C4D, 0xF85C, 0x9C4B, 0xF85D, 0x9C55, 0xF85E, 0x9C59, 0xF85F, 0x9C4C, 0xF860, 0x9C4E, 0xF861, 0x9DFB, 0xF862, 0x9DF7, - 0xF863, 0x9DEF, 0xF864, 0x9DE3, 0xF865, 0x9DEB, 0xF866, 0x9DF8, 0xF867, 0x9DE4, 0xF868, 0x9DF6, 0xF869, 0x9DE1, 0xF86A, 0x9DEE, - 0xF86B, 0x9DE6, 0xF86C, 0x9DF2, 0xF86D, 0x9DF0, 0xF86E, 0x9DE2, 0xF86F, 0x9DEC, 0xF870, 0x9DF4, 0xF871, 0x9DF3, 0xF872, 0x9DE8, - 0xF873, 0x9DED, 0xF874, 0x9EC2, 0xF875, 0x9ED0, 0xF876, 0x9EF2, 0xF877, 0x9EF3, 0xF878, 0x9F06, 0xF879, 0x9F1C, 0xF87A, 0x9F38, - 0xF87B, 0x9F37, 0xF87C, 0x9F36, 0xF87D, 0x9F43, 0xF87E, 0x9F4F, 0xF8A1, 0x9F71, 0xF8A2, 0x9F70, 0xF8A3, 0x9F6E, 0xF8A4, 0x9F6F, - 0xF8A5, 0x56D3, 0xF8A6, 0x56CD, 0xF8A7, 0x5B4E, 0xF8A8, 0x5C6D, 0xF8A9, 0x652D, 0xF8AA, 0x66ED, 0xF8AB, 0x66EE, 0xF8AC, 0x6B13, - 0xF8AD, 0x705F, 0xF8AE, 0x7061, 0xF8AF, 0x705D, 0xF8B0, 0x7060, 0xF8B1, 0x7223, 0xF8B2, 0x74DB, 0xF8B3, 0x74E5, 0xF8B4, 0x77D5, - 0xF8B5, 0x7938, 0xF8B6, 0x79B7, 0xF8B7, 0x79B6, 0xF8B8, 0x7C6A, 0xF8B9, 0x7E97, 0xF8BA, 0x7F89, 0xF8BB, 0x826D, 0xF8BC, 0x8643, - 0xF8BD, 0x8838, 0xF8BE, 0x8837, 0xF8BF, 0x8835, 0xF8C0, 0x884B, 0xF8C1, 0x8B94, 0xF8C2, 0x8B95, 0xF8C3, 0x8E9E, 0xF8C4, 0x8E9F, - 0xF8C5, 0x8EA0, 0xF8C6, 0x8E9D, 0xF8C7, 0x91BE, 0xF8C8, 0x91BD, 0xF8C9, 0x91C2, 0xF8CA, 0x946B, 0xF8CB, 0x9468, 0xF8CC, 0x9469, - 0xF8CD, 0x96E5, 0xF8CE, 0x9746, 0xF8CF, 0x9743, 0xF8D0, 0x9747, 0xF8D1, 0x97C7, 0xF8D2, 0x97E5, 0xF8D3, 0x9A5E, 0xF8D4, 0x9AD5, - 0xF8D5, 0x9B59, 0xF8D6, 0x9C63, 0xF8D7, 0x9C67, 0xF8D8, 0x9C66, 0xF8D9, 0x9C62, 0xF8DA, 0x9C5E, 0xF8DB, 0x9C60, 0xF8DC, 0x9E02, - 0xF8DD, 0x9DFE, 0xF8DE, 0x9E07, 0xF8DF, 0x9E03, 0xF8E0, 0x9E06, 0xF8E1, 0x9E05, 0xF8E2, 0x9E00, 0xF8E3, 0x9E01, 0xF8E4, 0x9E09, - 0xF8E5, 0x9DFF, 0xF8E6, 0x9DFD, 0xF8E7, 0x9E04, 0xF8E8, 0x9EA0, 0xF8E9, 0x9F1E, 0xF8EA, 0x9F46, 0xF8EB, 0x9F74, 0xF8EC, 0x9F75, - 0xF8ED, 0x9F76, 0xF8EE, 0x56D4, 0xF8EF, 0x652E, 0xF8F0, 0x65B8, 0xF8F1, 0x6B18, 0xF8F2, 0x6B19, 0xF8F3, 0x6B17, 0xF8F4, 0x6B1A, - 0xF8F5, 0x7062, 0xF8F6, 0x7226, 0xF8F7, 0x72AA, 0xF8F8, 0x77D8, 0xF8F9, 0x77D9, 0xF8FA, 0x7939, 0xF8FB, 0x7C69, 0xF8FC, 0x7C6B, - 0xF8FD, 0x7CF6, 0xF8FE, 0x7E9A, 0xF940, 0x7E98, 0xF941, 0x7E9B, 0xF942, 0x7E99, 0xF943, 0x81E0, 0xF944, 0x81E1, 0xF945, 0x8646, - 0xF946, 0x8647, 0xF947, 0x8648, 0xF948, 0x8979, 0xF949, 0x897A, 0xF94A, 0x897C, 0xF94B, 0x897B, 0xF94C, 0x89FF, 0xF94D, 0x8B98, - 0xF94E, 0x8B99, 0xF94F, 0x8EA5, 0xF950, 0x8EA4, 0xF951, 0x8EA3, 0xF952, 0x946E, 0xF953, 0x946D, 0xF954, 0x946F, 0xF955, 0x9471, - 0xF956, 0x9473, 0xF957, 0x9749, 0xF958, 0x9872, 0xF959, 0x995F, 0xF95A, 0x9C68, 0xF95B, 0x9C6E, 0xF95C, 0x9C6D, 0xF95D, 0x9E0B, - 0xF95E, 0x9E0D, 0xF95F, 0x9E10, 0xF960, 0x9E0F, 0xF961, 0x9E12, 0xF962, 0x9E11, 0xF963, 0x9EA1, 0xF964, 0x9EF5, 0xF965, 0x9F09, - 0xF966, 0x9F47, 0xF967, 0x9F78, 0xF968, 0x9F7B, 0xF969, 0x9F7A, 0xF96A, 0x9F79, 0xF96B, 0x571E, 0xF96C, 0x7066, 0xF96D, 0x7C6F, - 0xF96E, 0x883C, 0xF96F, 0x8DB2, 0xF970, 0x8EA6, 0xF971, 0x91C3, 0xF972, 0x9474, 0xF973, 0x9478, 0xF974, 0x9476, 0xF975, 0x9475, - 0xF976, 0x9A60, 0xF977, 0x9C74, 0xF978, 0x9C73, 0xF979, 0x9C71, 0xF97A, 0x9C75, 0xF97B, 0x9E14, 0xF97C, 0x9E13, 0xF97D, 0x9EF6, - 0xF97E, 0x9F0A, 0xF9A1, 0x9FA4, 0xF9A2, 0x7068, 0xF9A3, 0x7065, 0xF9A4, 0x7CF7, 0xF9A5, 0x866A, 0xF9A6, 0x883E, 0xF9A7, 0x883D, - 0xF9A8, 0x883F, 0xF9A9, 0x8B9E, 0xF9AA, 0x8C9C, 0xF9AB, 0x8EA9, 0xF9AC, 0x8EC9, 0xF9AD, 0x974B, 0xF9AE, 0x9873, 0xF9AF, 0x9874, - 0xF9B0, 0x98CC, 0xF9B1, 0x9961, 0xF9B2, 0x99AB, 0xF9B3, 0x9A64, 0xF9B4, 0x9A66, 0xF9B5, 0x9A67, 0xF9B6, 0x9B24, 0xF9B7, 0x9E15, - 0xF9B8, 0x9E17, 0xF9B9, 0x9F48, 0xF9BA, 0x6207, 0xF9BB, 0x6B1E, 0xF9BC, 0x7227, 0xF9BD, 0x864C, 0xF9BE, 0x8EA8, 0xF9BF, 0x9482, - 0xF9C0, 0x9480, 0xF9C1, 0x9481, 0xF9C2, 0x9A69, 0xF9C3, 0x9A68, 0xF9C4, 0x9B2E, 0xF9C5, 0x9E19, 0xF9C6, 0x7229, 0xF9C7, 0x864B, - 0xF9C8, 0x8B9F, 0xF9C9, 0x9483, 0xF9CA, 0x9C79, 0xF9CB, 0x9EB7, 0xF9CC, 0x7675, 0xF9CD, 0x9A6B, 0xF9CE, 0x9C7A, 0xF9CF, 0x9E1D, - 0xF9D0, 0x7069, 0xF9D1, 0x706A, 0xF9D2, 0x9EA4, 0xF9D3, 0x9F7E, 0xF9D4, 0x9F49, 0xF9D5, 0x9F98, 0xF9D6, 0x7881, 0xF9D7, 0x92B9, - 0xF9D8, 0x88CF, 0xF9D9, 0x58BB, 0xF9DA, 0x6052, 0xF9DB, 0x7CA7, 0xF9DC, 0x5AFA, 0xF9DD, 0x2554, 0xF9DE, 0x2566, 0xF9DF, 0x2557, - 0xF9E0, 0x2560, 0xF9E1, 0x256C, 0xF9E2, 0x2563, 0xF9E3, 0x255A, 0xF9E4, 0x2569, 0xF9E5, 0x255D, 0xF9E6, 0x2552, 0xF9E7, 0x2564, - 0xF9E8, 0x2555, 0xF9E9, 0x255E, 0xF9EA, 0x256A, 0xF9EB, 0x2561, 0xF9EC, 0x2558, 0xF9ED, 0x2567, 0xF9EE, 0x255B, 0xF9EF, 0x2553, - 0xF9F0, 0x2565, 0xF9F1, 0x2556, 0xF9F2, 0x255F, 0xF9F3, 0x256B, 0xF9F4, 0x2562, 0xF9F5, 0x2559, 0xF9F6, 0x2568, 0xF9F7, 0x255C, - 0xF9F8, 0x2551, 0xF9F9, 0x2550, 0xF9FA, 0x256D, 0xF9FB, 0x256E, 0xF9FC, 0x2570, 0xF9FD, 0x256F, 0xF9FE, 0x2593, 0, 0 -}; -#endif - -#if FF_CODE_PAGE == 437 || FF_CODE_PAGE == 0 -static const WCHAR uc437[] = { /* CP437(U.S.) to Unicode conversion table */ - 0x00C7, 0x00FC, 0x00E9, 0x00E2, 0x00E4, 0x00E0, 0x00E5, 0x00E7, 0x00EA, 0x00EB, 0x00E8, 0x00EF, 0x00EE, 0x00EC, 0x00C4, 0x00C5, - 0x00C9, 0x00E6, 0x00C6, 0x00F4, 0x00F6, 0x00F2, 0x00FB, 0x00F9, 0x00FF, 0x00D6, 0x00DC, 0x00A2, 0x00A3, 0x00A5, 0x20A7, 0x0192, - 0x00E1, 0x00ED, 0x00F3, 0x00FA, 0x00F1, 0x00D1, 0x00AA, 0x00BA, 0x00BF, 0x2310, 0x00AC, 0x00BD, 0x00BC, 0x00A1, 0x00AB, 0x00BB, - 0x2591, 0x2592, 0x2593, 0x2502, 0x2524, 0x2561, 0x2562, 0x2556, 0x2555, 0x2563, 0x2551, 0x2557, 0x255D, 0x255C, 0x255B, 0x2510, - 0x2514, 0x2534, 0x252C, 0x251C, 0x2500, 0x253C, 0x255E, 0x255F, 0x255A, 0x2554, 0x2569, 0x2566, 0x2560, 0x2550, 0x256C, 0x2567, - 0x2568, 0x2564, 0x2565, 0x2559, 0x2558, 0x2552, 0x2553, 0x256B, 0x256A, 0x2518, 0x250C, 0x2588, 0x2584, 0x258C, 0x2590, 0x2580, - 0x03B1, 0x00DF, 0x0393, 0x03C0, 0x03A3, 0x03C3, 0x00B5, 0x03C4, 0x03A6, 0x0398, 0x03A9, 0x03B4, 0x221E, 0x03C6, 0x03B5, 0x2229, - 0x2261, 0x00B1, 0x2265, 0x2264, 0x2320, 0x2321, 0x00F7, 0x2248, 0x00B0, 0x2219, 0x00B7, 0x221A, 0x207F, 0x00B2, 0x25A0, 0x00A0 -}; -#endif -#if FF_CODE_PAGE == 720 || FF_CODE_PAGE == 0 -static const WCHAR uc720[] = { /* CP720(Arabic) to Unicode conversion table */ - 0x0000, 0x0000, 0x00E9, 0x00E2, 0x0000, 0x00E0, 0x0000, 0x00E7, 0x00EA, 0x00EB, 0x00E8, 0x00EF, 0x00EE, 0x0000, 0x0000, 0x0000, - 0x0000, 0x0651, 0x0652, 0x00F4, 0x00A4, 0x0640, 0x00FB, 0x00F9, 0x0621, 0x0622, 0x0623, 0x0624, 0x00A3, 0x0625, 0x0626, 0x0627, - 0x0628, 0x0629, 0x062A, 0x062B, 0x062C, 0x062D, 0x062E, 0x062F, 0x0630, 0x0631, 0x0632, 0x0633, 0x0634, 0x0635, 0x00AB, 0x00BB, - 0x2591, 0x2592, 0x2593, 0x2502, 0x2524, 0x2561, 0x2562, 0x2556, 0x2555, 0x2563, 0x2551, 0x2557, 0x255D, 0x255C, 0x255B, 0x2510, - 0x2514, 0x2534, 0x252C, 0x251C, 0x2500, 0x253C, 0x255E, 0x255F, 0x255A, 0x2554, 0x2569, 0x2566, 0x2560, 0x2550, 0x256C, 0x2567, - 0x2568, 0x2564, 0x2565, 0x2559, 0x2558, 0x2552, 0x2553, 0x256B, 0x256A, 0x2518, 0x250C, 0x2588, 0x2584, 0x258C, 0x2590, 0x2580, - 0x0636, 0x0637, 0x0638, 0x0639, 0x063A, 0x0641, 0x00B5, 0x0642, 0x0643, 0x0644, 0x0645, 0x0646, 0x0647, 0x0648, 0x0649, 0x064A, - 0x2261, 0x064B, 0x064C, 0x064D, 0x064E, 0x064F, 0x0650, 0x2248, 0x00B0, 0x2219, 0x00B7, 0x221A, 0x207F, 0x00B2, 0x25A0, 0x00A0 -}; -#endif -#if FF_CODE_PAGE == 737 || FF_CODE_PAGE == 0 -static const WCHAR uc737[] = { /* CP737(Greek) to Unicode conversion table */ - 0x0391, 0x0392, 0x0393, 0x0394, 0x0395, 0x0396, 0x0397, 0x0398, 0x0399, 0x039A, 0x039B, 0x039C, 0x039D, 0x039E, 0x039F, 0x03A0, - 0x03A1, 0x03A3, 0x03A4, 0x03A5, 0x03A6, 0x03A7, 0x03A8, 0x03A9, 0x03B1, 0x03B2, 0x03B3, 0x03B4, 0x03B5, 0x03B6, 0x03B7, 0x03B8, - 0x03B9, 0x03BA, 0x03BB, 0x03BC, 0x03BD, 0x03BE, 0x03BF, 0x03C0, 0x03C1, 0x03C3, 0x03C2, 0x03C4, 0x03C5, 0x03C6, 0x03C7, 0x03C8, - 0x2591, 0x2592, 0x2593, 0x2502, 0x2524, 0x2561, 0x2562, 0x2556, 0x2555, 0x2563, 0x2551, 0x2557, 0x255D, 0x255C, 0x255B, 0x2510, - 0x2514, 0x2534, 0x252C, 0x251C, 0x2500, 0x253C, 0x255E, 0x255F, 0x255A, 0x2554, 0x2569, 0x2566, 0x2560, 0x2550, 0x256C, 0x2567, - 0x2568, 0x2564, 0x2565, 0x2559, 0x2558, 0x2552, 0x2553, 0x256B, 0x256A, 0x2518, 0x250C, 0x2588, 0x2584, 0x258C, 0x2590, 0x2580, - 0x03C9, 0x03AC, 0x03AD, 0x03AE, 0x03CA, 0x03AF, 0x03CC, 0x03CD, 0x03CB, 0x03CE, 0x0386, 0x0388, 0x0389, 0x038A, 0x038C, 0x038E, - 0x038F, 0x00B1, 0x2265, 0x2264, 0x03AA, 0x03AB, 0x00F7, 0x2248, 0x00B0, 0x2219, 0x00B7, 0x221A, 0x207F, 0x00B2, 0x25A0, 0x00A0 -}; -#endif -#if FF_CODE_PAGE == 771 || FF_CODE_PAGE == 0 -static const WCHAR uc771[] = { /* CP771(KBL) to Unicode conversion table */ - 0x0410, 0x0411, 0x0412, 0x0413, 0x0414, 0x0415, 0x0416, 0x0417, 0x0418, 0x0419, 0x041A, 0x041B, 0x041C, 0x041D, 0x041E, 0x041F, - 0x0420, 0x0421, 0x0422, 0x0423, 0x0424, 0x0425, 0x0426, 0x0427, 0x0428, 0x0429, 0x042A, 0x042B, 0x042C, 0x042D, 0x042E, 0x042F, - 0x0430, 0x0431, 0x0432, 0x0433, 0x0434, 0x0435, 0x0436, 0x0437, 0x0438, 0x0439, 0x043A, 0x043B, 0x043C, 0x043D, 0x043E, 0x043F, - 0x2591, 0x2592, 0x2593, 0x2502, 0x2524, 0x2561, 0x2562, 0x2556, 0x2555, 0x2563, 0x2551, 0x2557, 0x255D, 0x255C, 0x2558, 0x2510, - 0x2514, 0x2534, 0x252C, 0x251C, 0x2500, 0x253C, 0x255E, 0x255F, 0x255A, 0x2554, 0x2569, 0x2566, 0x2560, 0x2550, 0x256C, 0x2567, - 0x2568, 0x2564, 0x2565, 0x2559, 0x2558, 0x2552, 0x2553, 0x256B, 0x256A, 0x2518, 0x250C, 0x2588, 0x0104, 0x0105, 0x010C, 0x010D, - 0x0440, 0x0441, 0x0442, 0x0443, 0x0444, 0x0445, 0x0446, 0x0447, 0x0448, 0x0449, 0x044A, 0x044B, 0x044C, 0x044D, 0x044E, 0x044F, - 0x0118, 0x0119, 0x0116, 0x0117, 0x012E, 0x012F, 0x0160, 0x0161, 0x0172, 0x0173, 0x016A, 0x016B, 0x017D, 0x017E, 0x25A0, 0x00A0 -}; -#endif -#if FF_CODE_PAGE == 775 || FF_CODE_PAGE == 0 -static const WCHAR uc775[] = { /* CP775(Baltic) to Unicode conversion table */ - 0x0106, 0x00FC, 0x00E9, 0x0101, 0x00E4, 0x0123, 0x00E5, 0x0107, 0x0142, 0x0113, 0x0156, 0x0157, 0x012B, 0x0179, 0x00C4, 0x00C5, - 0x00C9, 0x00E6, 0x00C6, 0x014D, 0x00F6, 0x0122, 0x00A2, 0x015A, 0x015B, 0x00D6, 0x00DC, 0x00F8, 0x00A3, 0x00D8, 0x00D7, 0x00A4, - 0x0100, 0x012A, 0x00F3, 0x017B, 0x017C, 0x017A, 0x201D, 0x00A6, 0x00A9, 0x00AE, 0x00AC, 0x00BD, 0x00BC, 0x0141, 0x00AB, 0x00BB, - 0x2591, 0x2592, 0x2593, 0x2502, 0x2524, 0x0104, 0x010C, 0x0118, 0x0116, 0x2563, 0x2551, 0x2557, 0x255D, 0x012E, 0x0160, 0x2510, - 0x2514, 0x2534, 0x252C, 0x251C, 0x2500, 0x253C, 0x0172, 0x016A, 0x255A, 0x2554, 0x2569, 0x2566, 0x2560, 0x2550, 0x256C, 0x017D, - 0x0105, 0x010D, 0x0119, 0x0117, 0x012F, 0x0161, 0x0173, 0x016B, 0x017E, 0x2518, 0x250C, 0x2588, 0x2584, 0x258C, 0x2590, 0x2580, - 0x00D3, 0x00DF, 0x014C, 0x0143, 0x00F5, 0x00D5, 0x00B5, 0x0144, 0x0136, 0x0137, 0x013B, 0x013C, 0x0146, 0x0112, 0x0145, 0x2019, - 0x00AD, 0x00B1, 0x201C, 0x00BE, 0x00B6, 0x00A7, 0x00F7, 0x201E, 0x00B0, 0x2219, 0x00B7, 0x00B9, 0x00B3, 0x00B2, 0x25A0, 0x00A0 -}; -#endif -#if FF_CODE_PAGE == 850 || FF_CODE_PAGE == 0 -static const WCHAR uc850[] = { /* CP850(Latin 1) to Unicode conversion table */ - 0x00C7, 0x00FC, 0x00E9, 0x00E2, 0x00E4, 0x00E0, 0x00E5, 0x00E7, 0x00EA, 0x00EB, 0x00E8, 0x00EF, 0x00EE, 0x00EC, 0x00C4, 0x00C5, - 0x00C9, 0x00E6, 0x00C6, 0x00F4, 0x00F6, 0x00F2, 0x00FB, 0x00F9, 0x00FF, 0x00D6, 0x00DC, 0x00F8, 0x00A3, 0x00D8, 0x00D7, 0x0192, - 0x00E1, 0x00ED, 0x00F3, 0x00FA, 0x00F1, 0x00D1, 0x00AA, 0x00BA, 0x00BF, 0x00AE, 0x00AC, 0x00BD, 0x00BC, 0x00A1, 0x00AB, 0x00BB, - 0x2591, 0x2592, 0x2593, 0x2502, 0x2524, 0x00C1, 0x00C2, 0x00C0, 0x00A9, 0x2563, 0x2551, 0x2557, 0x255D, 0x00A2, 0x00A5, 0x2510, - 0x2514, 0x2534, 0x252C, 0x251C, 0x2500, 0x253C, 0x00E3, 0x00C3, 0x255A, 0x2554, 0x2569, 0x2566, 0x2560, 0x2550, 0x256C, 0x00A4, - 0x00F0, 0x00D0, 0x00CA, 0x00CB, 0x00C8, 0x0131, 0x00CD, 0x00CE, 0x00CF, 0x2518, 0x250C, 0x2588, 0x2584, 0x00A6, 0x00CC, 0x2580, - 0x00D3, 0x00DF, 0x00D4, 0x00D2, 0x00F5, 0x00D5, 0x00B5, 0x00FE, 0x00DE, 0x00DA, 0x00DB, 0x00D9, 0x00FD, 0x00DD, 0x00AF, 0x00B4, - 0x00AD, 0x00B1, 0x2017, 0x00BE, 0x00B6, 0x00A7, 0x00F7, 0x00B8, 0x00B0, 0x00A8, 0x00B7, 0x00B9, 0x00B3, 0x00B2, 0x25A0, 0x00A0 -}; -#endif -#if FF_CODE_PAGE == 852 || FF_CODE_PAGE == 0 -static const WCHAR uc852[] = { /* CP852(Latin 2) to Unicode conversion table */ - 0x00C7, 0x00FC, 0x00E9, 0x00E2, 0x00E4, 0x016F, 0x0107, 0x00E7, 0x0142, 0x00EB, 0x0150, 0x0151, 0x00EE, 0x0179, 0x00C4, 0x0106, - 0x00C9, 0x0139, 0x013A, 0x00F4, 0x00F6, 0x013D, 0x013E, 0x015A, 0x015B, 0x00D6, 0x00DC, 0x0164, 0x0165, 0x0141, 0x00D7, 0x010D, - 0x00E1, 0x00ED, 0x00F3, 0x00FA, 0x0104, 0x0105, 0x017D, 0x017E, 0x0118, 0x0119, 0x00AC, 0x017A, 0x010C, 0x015F, 0x00AB, 0x00BB, - 0x2591, 0x2592, 0x2593, 0x2502, 0x2524, 0x00C1, 0x00C2, 0x011A, 0x015E, 0x2563, 0x2551, 0x2557, 0x255D, 0x017B, 0x017C, 0x2510, - 0x2514, 0x2534, 0x252C, 0x251C, 0x2500, 0x253C, 0x0102, 0x0103, 0x255A, 0x2554, 0x2569, 0x2566, 0x2560, 0x2550, 0x256C, 0x00A4, - 0x0111, 0x0110, 0x010E, 0x00CB, 0x010F, 0x0147, 0x00CD, 0x00CE, 0x011B, 0x2518, 0x250C, 0x2588, 0x2584, 0x0162, 0x016E, 0x2580, - 0x00D3, 0x00DF, 0x00D4, 0x0143, 0x0144, 0x0148, 0x0160, 0x0161, 0x0154, 0x00DA, 0x0155, 0x0170, 0x00FD, 0x00DD, 0x0163, 0x00B4, - 0x00AD, 0x02DD, 0x02DB, 0x02C7, 0x02D8, 0x00A7, 0x00F7, 0x00B8, 0x00B0, 0x00A8, 0x02D9, 0x0171, 0x0158, 0x0159, 0x25A0, 0x00A0 -}; -#endif -#if FF_CODE_PAGE == 855 || FF_CODE_PAGE == 0 -static const WCHAR uc855[] = { /* CP855(Cyrillic) to Unicode conversion table */ - 0x0452, 0x0402, 0x0453, 0x0403, 0x0451, 0x0401, 0x0454, 0x0404, 0x0455, 0x0405, 0x0456, 0x0406, 0x0457, 0x0407, 0x0458, 0x0408, - 0x0459, 0x0409, 0x045A, 0x040A, 0x045B, 0x040B, 0x045C, 0x040C, 0x045E, 0x040E, 0x045F, 0x040F, 0x044E, 0x042E, 0x044A, 0x042A, - 0x0430, 0x0410, 0x0431, 0x0411, 0x0446, 0x0426, 0x0434, 0x0414, 0x0435, 0x0415, 0x0444, 0x0424, 0x0433, 0x0413, 0x00AB, 0x00BB, - 0x2591, 0x2592, 0x2593, 0x2502, 0x2524, 0x0445, 0x0425, 0x0438, 0x0418, 0x2563, 0x2551, 0x2557, 0x255D, 0x0439, 0x0419, 0x2510, - 0x2514, 0x2534, 0x252C, 0x251C, 0x2500, 0x253C, 0x043A, 0x041A, 0x255A, 0x2554, 0x2569, 0x2566, 0x2560, 0x2550, 0x256C, 0x00A4, - 0x043B, 0x041B, 0x043C, 0x041C, 0x043D, 0x041D, 0x043E, 0x041E, 0x043F, 0x2518, 0x250C, 0x2588, 0x2584, 0x041F, 0x044F, 0x2580, - 0x042F, 0x0440, 0x0420, 0x0441, 0x0421, 0x0442, 0x0422, 0x0443, 0x0423, 0x0436, 0x0416, 0x0432, 0x0412, 0x044C, 0x042C, 0x2116, - 0x00AD, 0x044B, 0x042B, 0x0437, 0x0417, 0x0448, 0x0428, 0x044D, 0x042D, 0x0449, 0x0429, 0x0447, 0x0427, 0x00A7, 0x25A0, 0x00A0 -}; -#endif -#if FF_CODE_PAGE == 857 || FF_CODE_PAGE == 0 -static const WCHAR uc857[] = { /* CP857(Turkish) to Unicode conversion table */ - 0x00C7, 0x00FC, 0x00E9, 0x00E2, 0x00E4, 0x00E0, 0x00E5, 0x00E7, 0x00EA, 0x00EB, 0x00E8, 0x00EF, 0x00EE, 0x0131, 0x00C4, 0x00C5, - 0x00C9, 0x00E6, 0x00C6, 0x00F4, 0x00F6, 0x00F2, 0x00FB, 0x00F9, 0x0130, 0x00D6, 0x00DC, 0x00F8, 0x00A3, 0x00D8, 0x015E, 0x015F, - 0x00E1, 0x00ED, 0x00F3, 0x00FA, 0x00F1, 0x00D1, 0x011E, 0x011F, 0x00BF, 0x00AE, 0x00AC, 0x00BD, 0x00BC, 0x00A1, 0x00AB, 0x00BB, - 0x2591, 0x2592, 0x2593, 0x2502, 0x2524, 0x00C1, 0x00C2, 0x00C0, 0x00A9, 0x2563, 0x2551, 0x2557, 0x255D, 0x00A2, 0x00A5, 0x2510, - 0x2514, 0x2534, 0x252C, 0x251C, 0x2500, 0x253C, 0x00E3, 0x00C3, 0x255A, 0x2554, 0x2569, 0x2566, 0x2560, 0x2550, 0x256C, 0x00A4, - 0x00BA, 0x00AA, 0x00CA, 0x00CB, 0x00C8, 0x0000, 0x00CD, 0x00CE, 0x00CF, 0x2518, 0x250C, 0x2588, 0x2584, 0x00A6, 0x00CC, 0x2580, - 0x00D3, 0x00DF, 0x00D4, 0x00D2, 0x00F5, 0x00D5, 0x00B5, 0x0000, 0x00D7, 0x00DA, 0x00DB, 0x00D9, 0x00EC, 0x00FF, 0x00AF, 0x00B4, - 0x00AD, 0x00B1, 0x0000, 0x00BE, 0x00B6, 0x00A7, 0x00F7, 0x00B8, 0x00B0, 0x00A8, 0x00B7, 0x00B9, 0x00B3, 0x00B2, 0x25A0, 0x00A0 -}; -#endif -#if FF_CODE_PAGE == 860 || FF_CODE_PAGE == 0 -static const WCHAR uc860[] = { /* CP860(Portuguese) to Unicode conversion table */ - 0x00C7, 0x00FC, 0x00E9, 0x00E2, 0x00E3, 0x00E0, 0x00C1, 0x00E7, 0x00EA, 0x00CA, 0x00E8, 0x00CD, 0x00D4, 0x00EC, 0x00C3, 0x00C2, - 0x00C9, 0x00C0, 0x00C8, 0x00F4, 0x00F5, 0x00F2, 0x00DA, 0x00F9, 0x00CC, 0x00D5, 0x00DC, 0x00A2, 0x00A3, 0x00D9, 0x20A7, 0x00D3, - 0x00E1, 0x00ED, 0x00F3, 0x00FA, 0x00F1, 0x00D1, 0x00AA, 0x00BA, 0x00BF, 0x00D2, 0x00AC, 0x00BD, 0x00BC, 0x00A1, 0x00AB, 0x00BB, - 0x2591, 0x2592, 0x2593, 0x2502, 0x2524, 0x2561, 0x2562, 0x2556, 0x2555, 0x2563, 0x2551, 0x2557, 0x255D, 0x255C, 0x2558, 0x2510, - 0x2514, 0x2534, 0x252C, 0x251C, 0x2500, 0x253C, 0x255E, 0x255F, 0x255A, 0x2554, 0x2569, 0x2566, 0x2560, 0x2550, 0x256C, 0x2567, - 0x2568, 0x2564, 0x2565, 0x2559, 0x2558, 0x2552, 0x2553, 0x256B, 0x256A, 0x2518, 0x250C, 0x2588, 0x2584, 0x258C, 0x2590, 0x2580, - 0x03B1, 0x00DF, 0x0393, 0x03C0, 0x03A3, 0x03C3, 0x00B5, 0x03C4, 0x03A6, 0x0398, 0x03A9, 0x03B4, 0x221E, 0x03C6, 0x03B5, 0x2229, - 0x2261, 0x00B1, 0x2265, 0x2264, 0x2320, 0x2321, 0x00F7, 0x2248, 0x00B0, 0x2219, 0x00B7, 0x221A, 0x207F, 0x00B2, 0x25A0, 0x00A0 -}; -#endif -#if FF_CODE_PAGE == 861 || FF_CODE_PAGE == 0 -static const WCHAR uc861[] = { /* CP861(Icelandic) to Unicode conversion table */ - 0x00C7, 0x00FC, 0x00E9, 0x00E2, 0x00E4, 0x00E0, 0x00E6, 0x00E7, 0x00EA, 0x00EB, 0x00E8, 0x00D0, 0x00F0, 0x00DE, 0x00C4, 0x00C5, - 0x00C9, 0x00E6, 0x00C6, 0x00F4, 0x00F6, 0x00FE, 0x00FB, 0x00DD, 0x00FD, 0x00D6, 0x00DC, 0x00F8, 0x00A3, 0x00D8, 0x20A7, 0x0192, - 0x00E1, 0x00ED, 0x00F3, 0x00FA, 0x00C1, 0x00CD, 0x00D3, 0x00DA, 0x00BF, 0x2310, 0x00AC, 0x00BD, 0x00BC, 0x00A1, 0x00AB, 0x00BB, - 0x2591, 0x2592, 0x2593, 0x2502, 0x2524, 0x2561, 0x2562, 0x2556, 0x2555, 0x2563, 0x2551, 0x2557, 0x255D, 0x255C, 0x255B, 0x2510, - 0x2514, 0x2534, 0x252C, 0x251C, 0x2500, 0x253C, 0x255E, 0x255F, 0x255A, 0x2554, 0x2569, 0x2566, 0x2560, 0x2550, 0x256C, 0x2567, - 0x2568, 0x2564, 0x2565, 0x2559, 0x2558, 0x2552, 0x2553, 0x256B, 0x256A, 0x2518, 0x250C, 0x2588, 0x2584, 0x258C, 0x2590, 0x2580, - 0x03B1, 0x00DF, 0x0393, 0x03C0, 0x03A3, 0x03C3, 0x00B5, 0x03C4, 0x03A6, 0x0398, 0x03A9, 0x03B4, 0x221E, 0x03C6, 0x03B5, 0x2229, - 0x2261, 0x00B1, 0x2265, 0x2264, 0x2320, 0x2321, 0x00F7, 0x2248, 0x00B0, 0x2219, 0x00B7, 0x221A, 0x207F, 0x00B2, 0x25A0, 0x00A0 -}; -#endif -#if FF_CODE_PAGE == 862 || FF_CODE_PAGE == 0 -static const WCHAR uc862[] = { /* CP862(Hebrew) to Unicode conversion table */ - 0x05D0, 0x05D1, 0x05D2, 0x05D3, 0x05D4, 0x05D5, 0x05D6, 0x05D7, 0x05D8, 0x05D9, 0x05DA, 0x05DB, 0x05DC, 0x05DD, 0x05DE, 0x05DF, - 0x05E0, 0x05E1, 0x05E2, 0x05E3, 0x05E4, 0x05E5, 0x05E6, 0x05E7, 0x05E8, 0x05E9, 0x05EA, 0x00A2, 0x00A3, 0x00A5, 0x20A7, 0x0192, - 0x00E1, 0x00ED, 0x00F3, 0x00FA, 0x00F1, 0x00D1, 0x00AA, 0x00BA, 0x00BF, 0x2310, 0x00AC, 0x00BD, 0x00BC, 0x00A1, 0x00AB, 0x00BB, - 0x2591, 0x2592, 0x2593, 0x2502, 0x2524, 0x2561, 0x2562, 0x2556, 0x2555, 0x2563, 0x2551, 0x2557, 0x255D, 0x255C, 0x255B, 0x2510, - 0x2514, 0x2534, 0x252C, 0x251C, 0x2500, 0x253C, 0x255E, 0x255F, 0x255A, 0x2554, 0x2569, 0x2566, 0x2560, 0x2550, 0x256C, 0x2567, - 0x2568, 0x2564, 0x2565, 0x2559, 0x2558, 0x2552, 0x2553, 0x256B, 0x256A, 0x2518, 0x250C, 0x2588, 0x2584, 0x258C, 0x2590, 0x2580, - 0x03B1, 0x00DF, 0x0393, 0x03C0, 0x03A3, 0x03C3, 0x00B5, 0x03C4, 0x03A6, 0x0398, 0x03A9, 0x03B4, 0x221E, 0x03C6, 0x03B5, 0x2229, - 0x2261, 0x00B1, 0x2265, 0x2264, 0x2320, 0x2321, 0x00F7, 0x2248, 0x00B0, 0x2219, 0x00B7, 0x221A, 0x207F, 0x00B2, 0x25A0, 0x00A0 -}; -#endif -#if FF_CODE_PAGE == 863 || FF_CODE_PAGE == 0 -static const WCHAR uc863[] = { /* CP863(Canadian French) to Unicode conversion table */ - 0x00C7, 0x00FC, 0x00E9, 0x00E2, 0x00C2, 0x00E0, 0x00B6, 0x00E7, 0x00EA, 0x00EB, 0x00E8, 0x00EF, 0x00EE, 0x00EC, 0x2017, 0x00C0, - 0x00C9, 0x00C8, 0x00CA, 0x00F4, 0x00CB, 0x00CF, 0x00FB, 0x00F9, 0x00A4, 0x00D4, 0x00DC, 0x00A2, 0x00A3, 0x00D9, 0x00DB, 0x0192, - 0x00A6, 0x00B4, 0x00F3, 0x00FA, 0x00A8, 0x00BB, 0x00B3, 0x00AF, 0x00CE, 0x3210, 0x00AC, 0x00BD, 0x00BC, 0x00BE, 0x00AB, 0x00BB, - 0x2591, 0x2592, 0x2593, 0x2502, 0x2524, 0x2561, 0x2562, 0x2556, 0x2555, 0x2563, 0x2551, 0x2557, 0x255D, 0x255C, 0x255B, 0x2510, - 0x2514, 0x2534, 0x252C, 0x251C, 0x2500, 0x253C, 0x255E, 0x255F, 0x255A, 0x2554, 0x2569, 0x2566, 0x2560, 0x2550, 0x256C, 0x2567, - 0x2568, 0x2564, 0x2565, 0x2559, 0x2558, 0x2552, 0x2553, 0x256B, 0x256A, 0x2518, 0x250C, 0x2588, 0x2584, 0x258C, 0x2590, 0x2580, - 0x03B1, 0x00DF, 0x0393, 0x03C0, 0x03A3, 0x03C3, 0x00B5, 0x03C4, 0x03A6, 0x0398, 0x03A9, 0x03B4, 0x221E, 0x03C6, 0x03B5, 0x2219, - 0x2261, 0x00B1, 0x2265, 0x2264, 0x2320, 0x2321, 0x00F7, 0x2248, 0x00B0, 0x2219, 0x00B7, 0x221A, 0x207F, 0x00B2, 0x25A0, 0x00A0 -}; -#endif -#if FF_CODE_PAGE == 864 || FF_CODE_PAGE == 0 -static const WCHAR uc864[] = { /* CP864(Arabic) to Unicode conversion table */ - 0x00B0, 0x00B7, 0x2219, 0x221A, 0x2592, 0x2500, 0x2502, 0x253C, 0x2524, 0x252C, 0x251C, 0x2534, 0x2510, 0x250C, 0x2514, 0x2518, - 0x03B2, 0x221E, 0x03C6, 0x00B1, 0x00BD, 0x00BC, 0x2248, 0x00AB, 0x00BB, 0xFEF7, 0xFEF8, 0x0000, 0x0000, 0xFEFB, 0xFEFC, 0x0000, - 0x00A0, 0x00AD, 0xFE82, 0x00A3, 0x00A4, 0xFE84, 0x0000, 0x20AC, 0xFE8E, 0xFE8F, 0xFE95, 0xFE99, 0x060C, 0xFE9D, 0xFEA1, 0xFEA5, - 0x0660, 0x0661, 0x0662, 0x0663, 0x0664, 0x0665, 0x0666, 0x0667, 0x0668, 0x0669, 0xFED1, 0x061B, 0xFEB1, 0xFEB5, 0xFEB9, 0x061F, - 0x00A2, 0xFE80, 0xFE81, 0xFE83, 0xFE85, 0xFECA, 0xFE8B, 0xFE8D, 0xFE91, 0xFE93, 0xFE97, 0xFE9B, 0xFE9F, 0xFEA3, 0xFEA7, 0xFEA9, - 0xFEAB, 0xFEAD, 0xFEAF, 0xFEB3, 0xFEB7, 0xFEBB, 0xFEBF, 0xFEC1, 0xFEC5, 0xFECB, 0xFECF, 0x00A6, 0x00AC, 0x00F7, 0x00D7, 0xFEC9, - 0x0640, 0xFED3, 0xFED7, 0xFEDB, 0xFEDF, 0xFEE3, 0xFEE7, 0xFEEB, 0xFEED, 0xFEEF, 0xFEF3, 0xFEBD, 0xFECC, 0xFECE, 0xFECD, 0xFEE1, - 0xFE7D, 0x0651, 0xFEE5, 0xFEE9, 0xFEEC, 0xFEF0, 0xFEF2, 0xFED0, 0xFED5, 0xFEF5, 0xFEF6, 0xFEDD, 0xFED9, 0xFEF1, 0x25A0, 0x0000 -}; -#endif -#if FF_CODE_PAGE == 865 || FF_CODE_PAGE == 0 -static const WCHAR uc865[] = { /* CP865(Nordic) to Unicode conversion table */ - 0x00C7, 0x00FC, 0x00E9, 0x00E2, 0x00E4, 0x00E0, 0x00E5, 0x00E7, 0x00EA, 0x00EB, 0x00E8, 0x00EF, 0x00EE, 0x00EC, 0x00C4, 0x00C5, - 0x00C5, 0x00E6, 0x00C6, 0x00F4, 0x00F6, 0x00F2, 0x00FB, 0x00F9, 0x00FF, 0x00D6, 0x00DC, 0x00F8, 0x00A3, 0x00D8, 0x20A7, 0x0192, - 0x00E1, 0x00ED, 0x00F3, 0x00FA, 0x00F1, 0x00D1, 0x00AA, 0x00BA, 0x00BF, 0x2310, 0x00AC, 0x00BD, 0x00BC, 0x00A1, 0x00AB, 0x00A4, - 0x2591, 0x2592, 0x2593, 0x2502, 0x2524, 0x2561, 0x2562, 0x2556, 0x2555, 0x2563, 0x2551, 0x2557, 0x255D, 0x255C, 0x2558, 0x2510, - 0x2514, 0x2534, 0x252C, 0x251C, 0x2500, 0x253C, 0x255E, 0x255F, 0x255A, 0x2554, 0x2569, 0x2566, 0x2560, 0x2550, 0x256C, 0x2567, - 0x2568, 0x2564, 0x2565, 0x2559, 0x2558, 0x2552, 0x2553, 0x256B, 0x256A, 0x2518, 0x250C, 0x2588, 0x2584, 0x258C, 0x2590, 0x2580, - 0x03B1, 0x00DF, 0x0393, 0x03C0, 0x03A3, 0x03C3, 0x00B5, 0x03C4, 0x03A6, 0x0398, 0x03A9, 0x03B4, 0x221E, 0x03C6, 0x03B5, 0x2229, - 0x2261, 0x00B1, 0x2265, 0x2264, 0x2320, 0x2321, 0x00F7, 0x2248, 0x00B0, 0x2219, 0x00B7, 0x221A, 0x207F, 0x00B2, 0x25A0, 0x00A0 -}; -#endif -#if FF_CODE_PAGE == 866 || FF_CODE_PAGE == 0 -static const WCHAR uc866[] = { /* CP866(Russian) to Unicode conversion table */ - 0x0410, 0x0411, 0x0412, 0x0413, 0x0414, 0x0415, 0x0416, 0x0417, 0x0418, 0x0419, 0x041A, 0x041B, 0x041C, 0x041D, 0x041E, 0x041F, - 0x0420, 0x0421, 0x0422, 0x0423, 0x0424, 0x0425, 0x0426, 0x0427, 0x0428, 0x0429, 0x042A, 0x042B, 0x042C, 0x042D, 0x042E, 0x042F, - 0x0430, 0x0431, 0x0432, 0x0433, 0x0434, 0x0435, 0x0436, 0x0437, 0x0438, 0x0439, 0x043A, 0x043B, 0x043C, 0x043D, 0x043E, 0x043F, - 0x2591, 0x2592, 0x2593, 0x2502, 0x2524, 0x2561, 0x2562, 0x2556, 0x2555, 0x2563, 0x2551, 0x2557, 0x255D, 0x255C, 0x255B, 0x2510, - 0x2514, 0x2534, 0x252C, 0x251C, 0x2500, 0x253C, 0x255E, 0x255F, 0x255A, 0x2554, 0x2569, 0x2566, 0x2560, 0x2550, 0x256C, 0x2567, - 0x2568, 0x2564, 0x2565, 0x2559, 0x2558, 0x2552, 0x2553, 0x256B, 0x256A, 0x2518, 0x250C, 0x2588, 0x2584, 0x258C, 0x2590, 0x2580, - 0x0440, 0x0441, 0x0442, 0x0443, 0x0444, 0x0445, 0x0446, 0x0447, 0x0448, 0x0449, 0x044A, 0x044B, 0x044C, 0x044D, 0x044E, 0x044F, - 0x0401, 0x0451, 0x0404, 0x0454, 0x0407, 0x0457, 0x040E, 0x045E, 0x00B0, 0x2219, 0x00B7, 0x221A, 0x2116, 0x00A4, 0x25A0, 0x00A0 -}; -#endif -#if FF_CODE_PAGE == 869 || FF_CODE_PAGE == 0 -static const WCHAR uc869[] = { /* CP869(Greek 2) to Unicode conversion table */ - 0x00B7, 0x00B7, 0x00B7, 0x00B7, 0x00B7, 0x00B7, 0x0386, 0x00B7, 0x00B7, 0x00AC, 0x00A6, 0x2018, 0x2019, 0x0388, 0x2015, 0x0389, - 0x038A, 0x03AA, 0x038C, 0x00B7, 0x00B7, 0x038E, 0x03AB, 0x00A9, 0x038F, 0x00B2, 0x00B3, 0x03AC, 0x00A3, 0x03AD, 0x03AE, 0x03AF, - 0x03CA, 0x0390, 0x03CC, 0x03CD, 0x0391, 0x0392, 0x0393, 0x0394, 0x0395, 0x0396, 0x0397, 0x00BD, 0x0398, 0x0399, 0x00AB, 0x00BB, - 0x2591, 0x2592, 0x2593, 0x2502, 0x2524, 0x039A, 0x039B, 0x039C, 0x039D, 0x2563, 0x2551, 0x2557, 0x255D, 0x039E, 0x039F, 0x2510, - 0x2514, 0x2534, 0x252C, 0x251C, 0x2500, 0x253C, 0x0A30, 0x03A1, 0x255A, 0x2554, 0x2569, 0x2566, 0x2560, 0x2550, 0x256C, 0x03A3, - 0x03A4, 0x03A5, 0x03A6, 0x03A7, 0x03A8, 0x03A9, 0x03B1, 0x03B2, 0x03B3, 0x2518, 0x250C, 0x2588, 0x2584, 0x03B4, 0x03B5, 0x2580, - 0x03B6, 0x03B7, 0x03B8, 0x03B9, 0x03BA, 0x03BB, 0x03BC, 0x03BD, 0x03BE, 0x03BF, 0x03C0, 0x03C1, 0x03C3, 0x03C2, 0x03C4, 0x0384, - 0x00AD, 0x00B1, 0x03C5, 0x03C6, 0x03C7, 0x00A7, 0x03C8, 0x0385, 0x00B0, 0x00A8, 0x03C9, 0x03CB, 0x03B0, 0x03CE, 0x25A0, 0x00A0 -}; -#endif - - - - -/*------------------------------------------------------------------------*/ -/* OEM <==> Unicode conversions for static code page configuration */ -/* SBCS fixed code page */ -/*------------------------------------------------------------------------*/ - -#if FF_CODE_PAGE != 0 && FF_CODE_PAGE < 900 -WCHAR ff_uni2oem ( /* Returns OEM code character, zero on error */ - DWORD uni, /* UTF-16 encoded character to be converted */ - WORD cp /* Code page for the conversion */ -) -{ - WCHAR c = 0; - const WCHAR *p = CVTBL(uc, FF_CODE_PAGE); - - - if (uni < 0x80) { /* ASCII? */ - c = (WCHAR)uni; - - } else { /* Non-ASCII */ - if (uni < 0x10000 && cp == FF_CODE_PAGE) { /* Is it in BMP and valid code page? */ - for (c = 0; c < 0x80 && uni != p[c]; c++) ; - c = (c + 0x80) & 0xFF; - } - } - - return c; -} - -WCHAR ff_oem2uni ( /* Returns Unicode character in UTF-16, zero on error */ - WCHAR oem, /* OEM code to be converted */ - WORD cp /* Code page for the conversion */ -) -{ - WCHAR c = 0; - const WCHAR *p = CVTBL(uc, FF_CODE_PAGE); - - - if (oem < 0x80) { /* ASCII? */ - c = oem; - - } else { /* Extended char */ - if (cp == FF_CODE_PAGE) { /* Is it a valid code page? */ - if (oem < 0x100) c = p[oem - 0x80]; - } - } - - return c; -} - -#endif - - - -/*------------------------------------------------------------------------*/ -/* OEM <==> Unicode conversions for static code page configuration */ -/* DBCS fixed code page */ -/*------------------------------------------------------------------------*/ - -#if FF_CODE_PAGE >= 900 -WCHAR ff_uni2oem ( /* Returns OEM code character, zero on error */ - DWORD uni, /* UTF-16 encoded character to be converted */ - WORD cp /* Code page for the conversion */ -) -{ - const WCHAR *p; - WCHAR c = 0, uc; - UINT i = 0, n, li, hi; - - - if (uni < 0x80) { /* ASCII? */ - c = (WCHAR)uni; - - } else { /* Non-ASCII */ - if (uni < 0x10000 && cp == FF_CODE_PAGE) { /* Is it in BMP and valid code page? */ - uc = (WCHAR)uni; - p = CVTBL(uni2oem, FF_CODE_PAGE); - hi = sizeof CVTBL(uni2oem, FF_CODE_PAGE) / 4 - 1; - li = 0; - for (n = 16; n; n--) { - i = li + (hi - li) / 2; - if (uc == p[i * 2]) break; - if (uc > p[i * 2]) { - li = i; - } else { - hi = i; - } - } - if (n != 0) c = p[i * 2 + 1]; - } - } - - return c; -} - - -WCHAR ff_oem2uni ( /* Returns Unicode character in UTF-16, zero on error */ - WCHAR oem, /* OEM code to be converted */ - WORD cp /* Code page for the conversion */ -) -{ - const WCHAR *p; - WCHAR c = 0; - UINT i = 0, n, li, hi; - - - if (oem < 0x80) { /* ASCII? */ - c = oem; - - } else { /* Extended char */ - if (cp == FF_CODE_PAGE) { /* Is it valid code page? */ - p = CVTBL(oem2uni, FF_CODE_PAGE); - hi = sizeof CVTBL(oem2uni, FF_CODE_PAGE) / 4 - 1; - li = 0; - for (n = 16; n; n--) { - i = li + (hi - li) / 2; - if (oem == p[i * 2]) break; - if (oem > p[i * 2]) { - li = i; - } else { - hi = i; - } - } - if (n != 0) c = p[i * 2 + 1]; - } - } - - return c; -} -#endif - - - -/*------------------------------------------------------------------------*/ -/* OEM <==> Unicode conversions for dynamic code page configuration */ -/*------------------------------------------------------------------------*/ - -#if FF_CODE_PAGE == 0 - -static const WORD cp_code[] = { 437, 720, 737, 771, 775, 850, 852, 855, 857, 860, 861, 862, 863, 864, 865, 866, 869, 0}; -static const WCHAR* const cp_table[] = {uc437, uc720, uc737, uc771, uc775, uc850, uc852, uc855, uc857, uc860, uc861, uc862, uc863, uc864, uc865, uc866, uc869, 0}; - - -WCHAR ff_uni2oem ( /* Returns OEM code character, zero on error */ - DWORD uni, /* UTF-16 encoded character to be converted */ - WORD cp /* Code page for the conversion */ -) -{ - const WCHAR *p; - WCHAR c = 0, uc; - UINT i, n, li, hi; - - - if (uni < 0x80) { /* ASCII? */ - c = (WCHAR)uni; - - } else { /* Non-ASCII */ - if (uni < 0x10000) { /* Is it in BMP? */ - uc = (WCHAR)uni; - p = 0; - if (cp < 900) { /* SBCS */ - for (i = 0; cp_code[i] != 0 && cp_code[i] != cp; i++) ; /* Get conversion table */ - p = cp_table[i]; - if (p) { /* Is it valid code page ? */ - for (c = 0; c < 0x80 && uc != p[c]; c++) ; /* Find OEM code in the table */ - c = (c + 0x80) & 0xFF; - } - } else { /* DBCS */ - switch (cp) { /* Get conversion table */ - case 932 : p = uni2oem932; hi = sizeof uni2oem932 / 4 - 1; break; - case 936 : p = uni2oem936; hi = sizeof uni2oem936 / 4 - 1; break; - case 949 : p = uni2oem949; hi = sizeof uni2oem949 / 4 - 1; break; - case 950 : p = uni2oem950; hi = sizeof uni2oem950 / 4 - 1; break; - } - if (p) { /* Is it valid code page? */ - li = 0; - for (n = 16; n; n--) { /* Find OEM code */ - i = li + (hi - li) / 2; - if (uc == p[i * 2]) break; - if (uc > p[i * 2]) { - li = i; - } else { - hi = i; - } - } - if (n != 0) c = p[i * 2 + 1]; - } - } - } - } - - return c; -} - - -WCHAR ff_oem2uni ( /* Returns Unicode character in UTF-16, zero on error */ - WCHAR oem, /* OEM code to be converted (DBC if >=0x100) */ - WORD cp /* Code page for the conversion */ -) -{ - const WCHAR *p; - WCHAR c = 0; - UINT i, n, li, hi; - - - if (oem < 0x80) { /* ASCII? */ - c = oem; - - } else { /* Extended char */ - p = 0; - if (cp < 900) { /* SBCS */ - for (i = 0; cp_code[i] != 0 && cp_code[i] != cp; i++) ; /* Get table */ - p = cp_table[i]; - if (p) { /* Is it a valid CP ? */ - if (oem < 0x100) c = p[oem - 0x80]; - } - } else { /* DBCS */ - switch (cp) { - case 932 : p = oem2uni932; hi = sizeof oem2uni932 / 4 - 1; break; - case 936 : p = oem2uni936; hi = sizeof oem2uni936 / 4 - 1; break; - case 949 : p = oem2uni949; hi = sizeof oem2uni949 / 4 - 1; break; - case 950 : p = oem2uni950; hi = sizeof oem2uni950 / 4 - 1; break; - } - if (p) { - li = 0; - for (n = 16; n; n--) { - i = li + (hi - li) / 2; - if (oem == p[i * 2]) break; - if (oem > p[i * 2]) { - li = i; - } else { - hi = i; - } - } - if (n != 0) c = p[i * 2 + 1]; - } - } - } - - return c; -} -#endif - - - -/*------------------------------------------------------------------------*/ -/* Unicode up-case conversion */ -/*------------------------------------------------------------------------*/ - -DWORD ff_wtoupper ( /* Returns up-converted code point */ - DWORD uni /* Unicode code point to be up-converted */ -) -{ - const WORD *p; - WORD uc, bc, nc, cmd; - static const WORD cvt1[] = { /* Compressed up conversion table for U+0000 - U+0FFF */ - /* Basic Latin */ - 0x0061,0x031A, - /* Latin-1 Supplement */ - 0x00E0,0x0317, - 0x00F8,0x0307, - 0x00FF,0x0001,0x0178, - /* Latin Extended-A */ - 0x0100,0x0130, - 0x0132,0x0106, - 0x0139,0x0110, - 0x014A,0x012E, - 0x0179,0x0106, - /* Latin Extended-B */ - 0x0180,0x004D,0x0243,0x0181,0x0182,0x0182,0x0184,0x0184,0x0186,0x0187,0x0187,0x0189,0x018A,0x018B,0x018B,0x018D,0x018E,0x018F,0x0190,0x0191,0x0191,0x0193,0x0194,0x01F6,0x0196,0x0197,0x0198,0x0198,0x023D,0x019B,0x019C,0x019D,0x0220,0x019F,0x01A0,0x01A0,0x01A2,0x01A2,0x01A4,0x01A4,0x01A6,0x01A7,0x01A7,0x01A9,0x01AA,0x01AB,0x01AC,0x01AC,0x01AE,0x01AF,0x01AF,0x01B1,0x01B2,0x01B3,0x01B3,0x01B5,0x01B5,0x01B7,0x01B8,0x01B8,0x01BA,0x01BB,0x01BC,0x01BC,0x01BE,0x01F7,0x01C0,0x01C1,0x01C2,0x01C3,0x01C4,0x01C5,0x01C4,0x01C7,0x01C8,0x01C7,0x01CA,0x01CB,0x01CA, - 0x01CD,0x0110, - 0x01DD,0x0001,0x018E, - 0x01DE,0x0112, - 0x01F3,0x0003,0x01F1,0x01F4,0x01F4, - 0x01F8,0x0128, - 0x0222,0x0112, - 0x023A,0x0009,0x2C65,0x023B,0x023B,0x023D,0x2C66,0x023F,0x0240,0x0241,0x0241, - 0x0246,0x010A, - /* IPA Extensions */ - 0x0253,0x0040,0x0181,0x0186,0x0255,0x0189,0x018A,0x0258,0x018F,0x025A,0x0190,0x025C,0x025D,0x025E,0x025F,0x0193,0x0261,0x0262,0x0194,0x0264,0x0265,0x0266,0x0267,0x0197,0x0196,0x026A,0x2C62,0x026C,0x026D,0x026E,0x019C,0x0270,0x0271,0x019D,0x0273,0x0274,0x019F,0x0276,0x0277,0x0278,0x0279,0x027A,0x027B,0x027C,0x2C64,0x027E,0x027F,0x01A6,0x0281,0x0282,0x01A9,0x0284,0x0285,0x0286,0x0287,0x01AE,0x0244,0x01B1,0x01B2,0x0245,0x028D,0x028E,0x028F,0x0290,0x0291,0x01B7, - /* Greek, Coptic */ - 0x037B,0x0003,0x03FD,0x03FE,0x03FF, - 0x03AC,0x0004,0x0386,0x0388,0x0389,0x038A, - 0x03B1,0x0311, - 0x03C2,0x0002,0x03A3,0x03A3, - 0x03C4,0x0308, - 0x03CC,0x0003,0x038C,0x038E,0x038F, - 0x03D8,0x0118, - 0x03F2,0x000A,0x03F9,0x03F3,0x03F4,0x03F5,0x03F6,0x03F7,0x03F7,0x03F9,0x03FA,0x03FA, - /* Cyrillic */ - 0x0430,0x0320, - 0x0450,0x0710, - 0x0460,0x0122, - 0x048A,0x0136, - 0x04C1,0x010E, - 0x04CF,0x0001,0x04C0, - 0x04D0,0x0144, - /* Armenian */ - 0x0561,0x0426, - - 0x0000 /* EOT */ - }; - static const WORD cvt2[] = { /* Compressed up conversion table for U+1000 - U+FFFF */ - /* Phonetic Extensions */ - 0x1D7D,0x0001,0x2C63, - /* Latin Extended Additional */ - 0x1E00,0x0196, - 0x1EA0,0x015A, - /* Greek Extended */ - 0x1F00,0x0608, - 0x1F10,0x0606, - 0x1F20,0x0608, - 0x1F30,0x0608, - 0x1F40,0x0606, - 0x1F51,0x0007,0x1F59,0x1F52,0x1F5B,0x1F54,0x1F5D,0x1F56,0x1F5F, - 0x1F60,0x0608, - 0x1F70,0x000E,0x1FBA,0x1FBB,0x1FC8,0x1FC9,0x1FCA,0x1FCB,0x1FDA,0x1FDB,0x1FF8,0x1FF9,0x1FEA,0x1FEB,0x1FFA,0x1FFB, - 0x1F80,0x0608, - 0x1F90,0x0608, - 0x1FA0,0x0608, - 0x1FB0,0x0004,0x1FB8,0x1FB9,0x1FB2,0x1FBC, - 0x1FCC,0x0001,0x1FC3, - 0x1FD0,0x0602, - 0x1FE0,0x0602, - 0x1FE5,0x0001,0x1FEC, - 0x1FF3,0x0001,0x1FFC, - /* Letterlike Symbols */ - 0x214E,0x0001,0x2132, - /* Number forms */ - 0x2170,0x0210, - 0x2184,0x0001,0x2183, - /* Enclosed Alphanumerics */ - 0x24D0,0x051A, - 0x2C30,0x042F, - /* Latin Extended-C */ - 0x2C60,0x0102, - 0x2C67,0x0106, 0x2C75,0x0102, - /* Coptic */ - 0x2C80,0x0164, - /* Georgian Supplement */ - 0x2D00,0x0826, - /* Full-width */ - 0xFF41,0x031A, - - 0x0000 /* EOT */ - }; - - - if (uni < 0x10000) { /* Is it in BMP? */ - uc = (WORD)uni; - p = uc < 0x1000 ? cvt1 : cvt2; - for (;;) { - bc = *p++; /* Get the block base */ - if (bc == 0 || uc < bc) break; /* Not matched? */ - nc = *p++; cmd = nc >> 8; nc &= 0xFF; /* Get processing command and block size */ - if (uc < bc + nc) { /* In the block? */ - switch (cmd) { - case 0: uc = p[uc - bc]; break; /* Table conversion */ - case 1: uc -= (uc - bc) & 1; break; /* Case pairs */ - case 2: uc -= 16; break; /* Shift -16 */ - case 3: uc -= 32; break; /* Shift -32 */ - case 4: uc -= 48; break; /* Shift -48 */ - case 5: uc -= 26; break; /* Shift -26 */ - case 6: uc += 8; break; /* Shift +8 */ - case 7: uc -= 80; break; /* Shift -80 */ - case 8: uc -= 0x1C60; break; /* Shift -0x1C60 */ - } - break; - } - if (cmd == 0) p += nc; /* Skip table if needed */ - } - uni = uc; - } - - return uni; -} - - -#endif /* #if FF_USE_LFN */ diff --git a/third-party/bootloader/include/at24cxx.h b/third-party/bootloader/include/at24cxx.h deleted file mode 100644 index b3f8645a..00000000 --- a/third-party/bootloader/include/at24cxx.h +++ /dev/null @@ -1,29 +0,0 @@ -/*! - * @author MJm - * @date 2020/1/23 - */ -#ifndef __AT24CXX_H__ -#define __AT24CXX_H__ - -#include - -typedef struct at24cxx_tag { - void *i2c_host; - void (*set_send_mode)(void *); - void (*set_receive_mode)(void *); - void (*start_bus)(void *); - void (*stop_bus)(void *); - void (*wait_bus_idle)(void *); - void (*write_byte)(void *, uint8_t); - uint8_t (*read_byte)(void *); - void (*set_repeat_start)(void *); - void (*set_transmit_ack)(void *); - void (*disable_transmit_ack)(void *); -} at24cxx_t; - -extern void at24cxx_write_byte(at24cxx_t *, uint32_t , uint8_t); -extern uint8_t at24cxx_read_byte(at24cxx_t *, uint32_t); -extern void at24cxx_read(at24cxx_t *, uint32_t , uint8_t *, uint32_t); -extern void at24cxx_init(at24cxx_t *); - -#endif \ No newline at end of file diff --git a/third-party/bootloader/include/diskio.h b/third-party/bootloader/include/diskio.h deleted file mode 100644 index e4ead783..00000000 --- a/third-party/bootloader/include/diskio.h +++ /dev/null @@ -1,77 +0,0 @@ -/*-----------------------------------------------------------------------/ -/ Low level disk interface modlue include file (C)ChaN, 2019 / -/-----------------------------------------------------------------------*/ - -#ifndef _DISKIO_DEFINED -#define _DISKIO_DEFINED - -#ifdef __cplusplus -extern "C" { -#endif - -/* Status of Disk Functions */ -typedef BYTE DSTATUS; - -/* Results of Disk Functions */ -typedef enum { - RES_OK = 0, /* 0: Successful */ - RES_ERROR, /* 1: R/W Error */ - RES_WRPRT, /* 2: Write Protected */ - RES_NOTRDY, /* 3: Not Ready */ - RES_PARERR /* 4: Invalid Parameter */ -} DRESULT; - - -/*---------------------------------------*/ -/* Prototypes for disk control functions */ - - -DSTATUS disk_initialize (BYTE pdrv); -DSTATUS disk_status (BYTE pdrv); -DRESULT disk_read (BYTE pdrv, BYTE* buff, LBA_t sector, UINT count); -DRESULT disk_write (BYTE pdrv, const BYTE* buff, LBA_t sector, UINT count); -DRESULT disk_ioctl (BYTE pdrv, BYTE cmd, void* buff); - - -/* Disk Status Bits (DSTATUS) */ - -#define STA_NOINIT 0x01 /* Drive not initialized */ -#define STA_NODISK 0x02 /* No medium in the drive */ -#define STA_PROTECT 0x04 /* Write protected */ - - -/* Command code for disk_ioctrl fucntion */ - -/* Generic command (Used by FatFs) */ -#define CTRL_SYNC 0 /* Complete pending write process (needed at FF_FS_READONLY == 0) */ -#define GET_SECTOR_COUNT 1 /* Get media size (needed at FF_USE_MKFS == 1) */ -#define GET_SECTOR_SIZE 2 /* Get sector size (needed at FF_MAX_SS != FF_MIN_SS) */ -#define GET_BLOCK_SIZE 3 /* Get erase block size (needed at FF_USE_MKFS == 1) */ -#define CTRL_TRIM 4 /* Inform device that the data on the block of sectors is no longer used (needed at FF_USE_TRIM == 1) */ - -/* Generic command (Not used by FatFs) */ -#define CTRL_POWER 5 /* Get/Set power status */ -#define CTRL_LOCK 6 /* Lock/Unlock media removal */ -#define CTRL_EJECT 7 /* Eject media */ -#define CTRL_FORMAT 8 /* Create physical format on the media */ - -/* MMC/SDC specific ioctl command */ -#define MMC_GET_TYPE 10 /* Get card type */ -#define MMC_GET_CSD 11 /* Get CSD */ -#define MMC_GET_CID 12 /* Get CID */ -#define MMC_GET_OCR 13 /* Get OCR */ -#define MMC_GET_SDSTAT 14 /* Get SD status */ -#define ISDIO_READ 55 /* Read data form SD iSDIO register */ -#define ISDIO_WRITE 56 /* Write data to SD iSDIO register */ -#define ISDIO_MRITE 57 /* Masked write data to SD iSDIO register */ - -/* ATA/CF specific ioctl command */ -#define ATA_GET_REV 20 /* Get F/W revision */ -#define ATA_GET_MODEL 21 /* Get model name */ -#define ATA_GET_SN 22 /* Get serial number */ - -#ifdef __cplusplus -} -#endif - -#endif diff --git a/third-party/bootloader/include/ff.h b/third-party/bootloader/include/ff.h deleted file mode 100644 index 52250416..00000000 --- a/third-party/bootloader/include/ff.h +++ /dev/null @@ -1,426 +0,0 @@ -/*----------------------------------------------------------------------------/ -/ FatFs - Generic FAT Filesystem module R0.14 / -/-----------------------------------------------------------------------------/ -/ -/ Copyright (C) 2019, ChaN, all right reserved. -/ -/ FatFs module is an open source software. Redistribution and use of FatFs in -/ source and binary forms, with or without modification, are permitted provided -/ that the following condition is met: - -/ 1. Redistributions of source code must retain the above copyright notice, -/ this condition and the following disclaimer. -/ -/ This software is provided by the copyright holder and contributors "AS IS" -/ and any warranties related to this software are DISCLAIMED. -/ The copyright owner or contributors be NOT LIABLE for any damages caused -/ by use of this software. -/ -/----------------------------------------------------------------------------*/ - - -#ifndef FF_DEFINED -#define FF_DEFINED 86606 /* Revision ID */ - -#ifdef __cplusplus -extern "C" { -#endif - -#include "ffconf.h" /* FatFs configuration options */ - -#if FF_DEFINED != FFCONF_DEF -#error Wrong configuration file (ffconf.h). -#endif - - -/* Integer types used for FatFs API */ - -#if defined(_WIN32) /* Main development platform */ -#define FF_INTDEF 2 -#include -typedef unsigned __int64 QWORD; -#elif (defined(__STDC_VERSION__) && __STDC_VERSION__ >= 199901L) || defined(__cplusplus) /* C99 or later */ -#define FF_INTDEF 2 -#include -typedef unsigned int UINT; /* int must be 16-bit or 32-bit */ -typedef unsigned char BYTE; /* char must be 8-bit */ -typedef uint16_t WORD; /* 16-bit unsigned integer */ -typedef uint32_t DWORD; /* 32-bit unsigned integer */ -typedef uint64_t QWORD; /* 64-bit unsigned integer */ -typedef WORD WCHAR; /* UTF-16 character type */ -#else /* Earlier than C99 */ -#define FF_INTDEF 1 -typedef unsigned int UINT; /* int must be 16-bit or 32-bit */ -typedef unsigned char BYTE; /* char must be 8-bit */ -typedef unsigned short WORD; /* 16-bit unsigned integer */ -typedef unsigned long DWORD; /* 32-bit unsigned integer */ -typedef WORD WCHAR; /* UTF-16 character type */ -#endif - - -/* Definitions of volume management */ - -#if FF_MULTI_PARTITION /* Multiple partition configuration */ -typedef struct { - BYTE pd; /* Physical drive number */ - BYTE pt; /* Partition: 0:Auto detect, 1-4:Forced partition) */ -} PARTITION; -extern PARTITION VolToPart[]; /* Volume - Partition mapping table */ -#endif - -#if FF_STR_VOLUME_ID -#ifndef FF_VOLUME_STRS -extern const char* VolumeStr[FF_VOLUMES]; /* User defied volume ID */ -#endif -#endif - - - -/* Type of path name strings on FatFs API */ - -#ifndef _INC_TCHAR -#define _INC_TCHAR - -#if FF_USE_LFN && FF_LFN_UNICODE == 1 /* Unicode in UTF-16 encoding */ -typedef WCHAR TCHAR; -#define _T(x) L ## x -#define _TEXT(x) L ## x -#elif FF_USE_LFN && FF_LFN_UNICODE == 2 /* Unicode in UTF-8 encoding */ -typedef char TCHAR; -#define _T(x) u8 ## x -#define _TEXT(x) u8 ## x -#elif FF_USE_LFN && FF_LFN_UNICODE == 3 /* Unicode in UTF-32 encoding */ -typedef DWORD TCHAR; -#define _T(x) U ## x -#define _TEXT(x) U ## x -#elif FF_USE_LFN && (FF_LFN_UNICODE < 0 || FF_LFN_UNICODE > 3) -#error Wrong FF_LFN_UNICODE setting -#else /* ANSI/OEM code in SBCS/DBCS */ -typedef char TCHAR; -#define _T(x) x -#define _TEXT(x) x -#endif - -#endif - - - -/* Type of file size and LBA variables */ - -#if FF_FS_EXFAT -#if FF_INTDEF != 2 -#error exFAT feature wants C99 or later -#endif -typedef QWORD FSIZE_t; -#if FF_LBA64 -typedef QWORD LBA_t; -#else -typedef DWORD LBA_t; -#endif -#else -#if FF_LBA64 -#error exFAT needs to be enabled when enable 64-bit LBA -#endif -typedef DWORD FSIZE_t; -typedef DWORD LBA_t; -#endif - - - -/* Filesystem object structure (FATFS) */ - -typedef struct { - BYTE fs_type; /* Filesystem type (0:not mounted) */ - BYTE pdrv; /* Associated physical drive */ - BYTE n_fats; /* Number of FATs (1 or 2) */ - BYTE wflag; /* win[] flag (b0:dirty) */ - BYTE fsi_flag; /* FSINFO flags (b7:disabled, b0:dirty) */ - WORD id; /* Volume mount ID */ - WORD n_rootdir; /* Number of root directory entries (FAT12/16) */ - WORD csize; /* Cluster size [sectors] */ -#if FF_MAX_SS != FF_MIN_SS - WORD ssize; /* Sector size (512, 1024, 2048 or 4096) */ -#endif -#if FF_USE_LFN - WCHAR* lfnbuf; /* LFN working buffer */ -#endif -#if FF_FS_EXFAT - BYTE* dirbuf; /* Directory entry block scratchpad buffer for exFAT */ -#endif -#if FF_FS_REENTRANT - FF_SYNC_t sobj; /* Identifier of sync object */ -#endif -#if !FF_FS_READONLY - DWORD last_clst; /* Last allocated cluster */ - DWORD free_clst; /* Number of free clusters */ -#endif -#if FF_FS_RPATH - DWORD cdir; /* Current directory start cluster (0:root) */ -#if FF_FS_EXFAT - DWORD cdc_scl; /* Containing directory start cluster (invalid when cdir is 0) */ - DWORD cdc_size; /* b31-b8:Size of containing directory, b7-b0: Chain status */ - DWORD cdc_ofs; /* Offset in the containing directory (invalid when cdir is 0) */ -#endif -#endif - DWORD n_fatent; /* Number of FAT entries (number of clusters + 2) */ - DWORD fsize; /* Size of an FAT [sectors] */ - LBA_t volbase; /* Volume base sector */ - LBA_t fatbase; /* FAT base sector */ - LBA_t dirbase; /* Root directory base sector/cluster */ - LBA_t database; /* Data base sector */ -#if FF_FS_EXFAT - LBA_t bitbase; /* Allocation bitmap base sector */ -#endif - LBA_t winsect; /* Current sector appearing in the win[] */ - BYTE win[FF_MAX_SS]; /* Disk access window for Directory, FAT (and file data at tiny cfg) */ -} FATFS; - - - -/* Object ID and allocation information (FFOBJID) */ - -typedef struct { - FATFS* fs; /* Pointer to the hosting volume of this object */ - WORD id; /* Hosting volume mount ID */ - BYTE attr; /* Object attribute */ - BYTE stat; /* Object chain status (b1-0: =0:not contiguous, =2:contiguous, =3:fragmented in this session, b2:sub-directory stretched) */ - DWORD sclust; /* Object data start cluster (0:no cluster or root directory) */ - FSIZE_t objsize; /* Object size (valid when sclust != 0) */ -#if FF_FS_EXFAT - DWORD n_cont; /* Size of first fragment - 1 (valid when stat == 3) */ - DWORD n_frag; /* Size of last fragment needs to be written to FAT (valid when not zero) */ - DWORD c_scl; /* Containing directory start cluster (valid when sclust != 0) */ - DWORD c_size; /* b31-b8:Size of containing directory, b7-b0: Chain status (valid when c_scl != 0) */ - DWORD c_ofs; /* Offset in the containing directory (valid when file object and sclust != 0) */ -#endif -#if FF_FS_LOCK - UINT lockid; /* File lock ID origin from 1 (index of file semaphore table Files[]) */ -#endif -} FFOBJID; - - - -/* File object structure (FIL) */ - -typedef struct { - FFOBJID obj; /* Object identifier (must be the 1st member to detect invalid object pointer) */ - BYTE flag; /* File status flags */ - BYTE err; /* Abort flag (error code) */ - FSIZE_t fptr; /* File read/write pointer (Zeroed on file open) */ - DWORD clust; /* Current cluster of fpter (invalid when fptr is 0) */ - LBA_t sect; /* Sector number appearing in buf[] (0:invalid) */ -#if !FF_FS_READONLY - LBA_t dir_sect; /* Sector number containing the directory entry (not used at exFAT) */ - BYTE* dir_ptr; /* Pointer to the directory entry in the win[] (not used at exFAT) */ -#endif -#if FF_USE_FASTSEEK - DWORD* cltbl; /* Pointer to the cluster link map table (nulled on open, set by application) */ -#endif -#if !FF_FS_TINY - BYTE buf[FF_MAX_SS]; /* File private data read/write window */ -#endif -} FIL; - - - -/* Directory object structure (DIR) */ - -typedef struct { - FFOBJID obj; /* Object identifier */ - DWORD dptr; /* Current read/write offset */ - DWORD clust; /* Current cluster */ - LBA_t sect; /* Current sector (0:Read operation has terminated) */ - BYTE* dir; /* Pointer to the directory item in the win[] */ - BYTE fn[12]; /* SFN (in/out) {body[8],ext[3],status[1]} */ -#if FF_USE_LFN - DWORD blk_ofs; /* Offset of current entry block being processed (0xFFFFFFFF:Invalid) */ -#endif -#if FF_USE_FIND - const TCHAR* pat; /* Pointer to the name matching pattern */ -#endif -} DIR; - - - -/* File information structure (FILINFO) */ - -typedef struct { - FSIZE_t fsize; /* File size */ - WORD fdate; /* Modified date */ - WORD ftime; /* Modified time */ - BYTE fattrib; /* File attribute */ -#if FF_USE_LFN - TCHAR altname[FF_SFN_BUF + 1];/* Altenative file name */ - TCHAR fname[FF_LFN_BUF + 1]; /* Primary file name */ -#else - TCHAR fname[12 + 1]; /* File name */ -#endif -} FILINFO; - - - -/* Format parameter structure (MKFS_PARM) */ - -typedef struct { - BYTE fmt; /* Format option (FM_FAT, FM_FAT32, FM_EXFAT and FM_SFD) */ - BYTE n_fat; /* Number of FATs */ - UINT align; /* Data area alignment (sector) */ - UINT n_root; /* Number of root directory entries */ - DWORD au_size; /* Cluster size (byte) */ -} MKFS_PARM; - - - -/* File function return code (FRESULT) */ - -typedef enum { - FR_OK = 0, /* (0) Succeeded */ - FR_DISK_ERR, /* (1) A hard error occurred in the low level disk I/O layer */ - FR_INT_ERR, /* (2) Assertion failed */ - FR_NOT_READY, /* (3) The physical drive cannot work */ - FR_NO_FILE, /* (4) Could not find the file */ - FR_NO_PATH, /* (5) Could not find the path */ - FR_INVALID_NAME, /* (6) The path name format is invalid */ - FR_DENIED, /* (7) Access denied due to prohibited access or directory full */ - FR_EXIST, /* (8) Access denied due to prohibited access */ - FR_INVALID_OBJECT, /* (9) The file/directory object is invalid */ - FR_WRITE_PROTECTED, /* (10) The physical drive is write protected */ - FR_INVALID_DRIVE, /* (11) The logical drive number is invalid */ - FR_NOT_ENABLED, /* (12) The volume has no work area */ - FR_NO_FILESYSTEM, /* (13) There is no valid FAT volume */ - FR_MKFS_ABORTED, /* (14) The f_mkfs() aborted due to any problem */ - FR_TIMEOUT, /* (15) Could not get a grant to access the volume within defined period */ - FR_LOCKED, /* (16) The operation is rejected according to the file sharing policy */ - FR_NOT_ENOUGH_CORE, /* (17) LFN working buffer could not be allocated */ - FR_TOO_MANY_OPEN_FILES, /* (18) Number of open files > FF_FS_LOCK */ - FR_INVALID_PARAMETER /* (19) Given parameter is invalid */ -} FRESULT; - - - -/*--------------------------------------------------------------*/ -/* FatFs module application interface */ - -FRESULT f_open (FIL* fp, const TCHAR* path, BYTE mode); /* Open or create a file */ -FRESULT f_close (FIL* fp); /* Close an open file object */ -FRESULT f_read (FIL* fp, void* buff, UINT btr, UINT* br); /* Read data from the file */ -FRESULT f_write (FIL* fp, const void* buff, UINT btw, UINT* bw); /* Write data to the file */ -FRESULT f_lseek (FIL* fp, FSIZE_t ofs); /* Move file pointer of the file object */ -FRESULT f_truncate (FIL* fp); /* Truncate the file */ -FRESULT f_sync (FIL* fp); /* Flush cached data of the writing file */ -FRESULT f_opendir (DIR* dp, const TCHAR* path); /* Open a directory */ -FRESULT f_closedir (DIR* dp); /* Close an open directory */ -FRESULT f_readdir (DIR* dp, FILINFO* fno); /* Read a directory item */ -FRESULT f_findfirst (DIR* dp, FILINFO* fno, const TCHAR* path, const TCHAR* pattern); /* Find first file */ -FRESULT f_findnext (DIR* dp, FILINFO* fno); /* Find next file */ -FRESULT f_mkdir (const TCHAR* path); /* Create a sub directory */ -FRESULT f_unlink (const TCHAR* path); /* Delete an existing file or directory */ -FRESULT f_rename (const TCHAR* path_old, const TCHAR* path_new); /* Rename/Move a file or directory */ -FRESULT f_stat (const TCHAR* path, FILINFO* fno); /* Get file status */ -FRESULT f_chmod (const TCHAR* path, BYTE attr, BYTE mask); /* Change attribute of a file/dir */ -FRESULT f_utime (const TCHAR* path, const FILINFO* fno); /* Change timestamp of a file/dir */ -FRESULT f_chdir (const TCHAR* path); /* Change current directory */ -FRESULT f_chdrive (const TCHAR* path); /* Change current drive */ -FRESULT f_getcwd (TCHAR* buff, UINT len); /* Get current directory */ -FRESULT f_getfree (const TCHAR* path, DWORD* nclst, FATFS** fatfs); /* Get number of free clusters on the drive */ -FRESULT f_getlabel (const TCHAR* path, TCHAR* label, DWORD* vsn); /* Get volume label */ -FRESULT f_setlabel (const TCHAR* label); /* Set volume label */ -FRESULT f_forward (FIL* fp, UINT(*func)(const BYTE*,UINT), UINT btf, UINT* bf); /* Forward data to the stream */ -FRESULT f_expand (FIL* fp, FSIZE_t fsz, BYTE opt); /* Allocate a contiguous block to the file */ -FRESULT f_mount (FATFS* fs, const TCHAR* path, BYTE opt); /* Mount/Unmount a logical drive */ -FRESULT f_mkfs (const TCHAR* path, const MKFS_PARM* opt, void* work, UINT len); /* Create a FAT volume */ -FRESULT f_fdisk (BYTE pdrv, const LBA_t ptbl[], void* work); /* Divide a physical drive into some partitions */ -FRESULT f_setcp (WORD cp); /* Set current code page */ -int f_putc (TCHAR c, FIL* fp); /* Put a character to the file */ -int f_puts (const TCHAR* str, FIL* cp); /* Put a string to the file */ -int f_printf (FIL* fp, const TCHAR* str, ...); /* Put a formatted string to the file */ -TCHAR* f_gets (TCHAR* buff, int len, FIL* fp); /* Get a string from the file */ - -#define f_eof(fp) ((int)((fp)->fptr == (fp)->obj.objsize)) -#define f_error(fp) ((fp)->err) -#define f_tell(fp) ((fp)->fptr) -#define f_size(fp) ((fp)->obj.objsize) -#define f_rewind(fp) f_lseek((fp), 0) -#define f_rewinddir(dp) f_readdir((dp), 0) -#define f_rmdir(path) f_unlink(path) -#define f_unmount(path) f_mount(0, path, 0) - -#ifndef EOF -#define EOF (-1) -#endif - - - - -/*--------------------------------------------------------------*/ -/* Additional user defined functions */ - -/* RTC function */ -#if !FF_FS_READONLY && !FF_FS_NORTC -DWORD get_fattime (void); -#endif - -/* LFN support functions */ -#if FF_USE_LFN >= 1 /* Code conversion (defined in unicode.c) */ -WCHAR ff_oem2uni (WCHAR oem, WORD cp); /* OEM code to Unicode conversion */ -WCHAR ff_uni2oem (DWORD uni, WORD cp); /* Unicode to OEM code conversion */ -DWORD ff_wtoupper (DWORD uni); /* Unicode upper-case conversion */ -#endif -#if FF_USE_LFN == 3 /* Dynamic memory allocation */ -void* ff_memalloc (UINT msize); /* Allocate memory block */ -void ff_memfree (void* mblock); /* Free memory block */ -#endif - -/* Sync functions */ -#if FF_FS_REENTRANT -int ff_cre_syncobj (BYTE vol, FF_SYNC_t* sobj); /* Create a sync object */ -int ff_req_grant (FF_SYNC_t sobj); /* Lock sync object */ -void ff_rel_grant (FF_SYNC_t sobj); /* Unlock sync object */ -int ff_del_syncobj (FF_SYNC_t sobj); /* Delete a sync object */ -#endif - - - - -/*--------------------------------------------------------------*/ -/* Flags and offset address */ - - -/* File access mode and open method flags (3rd argument of f_open) */ -#define FA_READ 0x01 -#define FA_WRITE 0x02 -#define FA_OPEN_EXISTING 0x00 -#define FA_CREATE_NEW 0x04 -#define FA_CREATE_ALWAYS 0x08 -#define FA_OPEN_ALWAYS 0x10 -#define FA_OPEN_APPEND 0x30 - -/* Fast seek controls (2nd argument of f_lseek) */ -#define CREATE_LINKMAP ((FSIZE_t)0 - 1) - -/* Format options (2nd argument of f_mkfs) */ -#define FM_FAT 0x01 -#define FM_FAT32 0x02 -#define FM_EXFAT 0x04 -#define FM_ANY 0x07 -#define FM_SFD 0x08 - -/* Filesystem type (FATFS.fs_type) */ -#define FS_FAT12 1 -#define FS_FAT16 2 -#define FS_FAT32 3 -#define FS_EXFAT 4 - -/* File attribute bits for directory entry (FILINFO.fattrib) */ -#define AM_RDO 0x01 /* Read only */ -#define AM_HID 0x02 /* Hidden */ -#define AM_SYS 0x04 /* System */ -#define AM_DIR 0x10 /* Directory */ -#define AM_ARC 0x20 /* Archive */ - - -#ifdef __cplusplus -} -#endif - -#endif /* FF_DEFINED */ diff --git a/third-party/bootloader/include/ffconf.h b/third-party/bootloader/include/ffconf.h deleted file mode 100644 index 79fc1188..00000000 --- a/third-party/bootloader/include/ffconf.h +++ /dev/null @@ -1,298 +0,0 @@ -/*---------------------------------------------------------------------------/ -/ FatFs Functional Configurations -/---------------------------------------------------------------------------*/ - -#define FFCONF_DEF 86606 /* Revision ID */ - -/*---------------------------------------------------------------------------/ -/ Function Configurations -/---------------------------------------------------------------------------*/ - -#define FF_FS_READONLY 0 -/* This option switches read-only configuration. (0:Read/Write or 1:Read-only) -/ Read-only configuration removes writing API functions, f_write(), f_sync(), -/ f_unlink(), f_mkdir(), f_chmod(), f_rename(), f_truncate(), f_getfree() -/ and optional writing functions as well. */ - - -#define FF_FS_MINIMIZE 0 -/* This option defines minimization level to remove some basic API functions. -/ -/ 0: Basic functions are fully enabled. -/ 1: f_stat(), f_getfree(), f_unlink(), f_mkdir(), f_truncate() and f_rename() -/ are removed. -/ 2: f_opendir(), f_readdir() and f_closedir() are removed in addition to 1. -/ 3: f_lseek() function is removed in addition to 2. */ - - -#define FF_USE_STRFUNC 0 -/* This option switches string functions, f_gets(), f_putc(), f_puts() and f_printf(). -/ -/ 0: Disable string functions. -/ 1: Enable without LF-CRLF conversion. -/ 2: Enable with LF-CRLF conversion. */ - - -#define FF_USE_FIND 0 -/* This option switches filtered directory read functions, f_findfirst() and -/ f_findnext(). (0:Disable, 1:Enable 2:Enable with matching altname[] too) */ - - -#define FF_USE_MKFS 0 -/* This option switches f_mkfs() function. (0:Disable or 1:Enable) */ - - -#define FF_USE_FASTSEEK 0 -/* This option switches fast seek function. (0:Disable or 1:Enable) */ - - -#define FF_USE_EXPAND 0 -/* This option switches f_expand function. (0:Disable or 1:Enable) */ - - -#define FF_USE_CHMOD 0 -/* This option switches attribute manipulation functions, f_chmod() and f_utime(). -/ (0:Disable or 1:Enable) Also FF_FS_READONLY needs to be 0 to enable this option. */ - - -#define FF_USE_LABEL 0 -/* This option switches volume label functions, f_getlabel() and f_setlabel(). -/ (0:Disable or 1:Enable) */ - - -#define FF_USE_FORWARD 0 -/* This option switches f_forward() function. (0:Disable or 1:Enable) */ - - -/*---------------------------------------------------------------------------/ -/ Locale and Namespace Configurations -/---------------------------------------------------------------------------*/ - -#define FF_CODE_PAGE 932 -/* This option specifies the OEM code page to be used on the target system. -/ Incorrect code page setting can cause a file open failure. -/ -/ 437 - U.S. -/ 720 - Arabic -/ 737 - Greek -/ 771 - KBL -/ 775 - Baltic -/ 850 - Latin 1 -/ 852 - Latin 2 -/ 855 - Cyrillic -/ 857 - Turkish -/ 860 - Portuguese -/ 861 - Icelandic -/ 862 - Hebrew -/ 863 - Canadian French -/ 864 - Arabic -/ 865 - Nordic -/ 866 - Russian -/ 869 - Greek 2 -/ 932 - Japanese (DBCS) -/ 936 - Simplified Chinese (DBCS) -/ 949 - Korean (DBCS) -/ 950 - Traditional Chinese (DBCS) -/ 0 - Include all code pages above and configured by f_setcp() -*/ - - -#define FF_USE_LFN 0 -#define FF_MAX_LFN 255 -/* The FF_USE_LFN switches the support for LFN (long file name). -/ -/ 0: Disable LFN. FF_MAX_LFN has no effect. -/ 1: Enable LFN with static working buffer on the BSS. Always NOT thread-safe. -/ 2: Enable LFN with dynamic working buffer on the STACK. -/ 3: Enable LFN with dynamic working buffer on the HEAP. -/ -/ To enable the LFN, ffunicode.c needs to be added to the project. The LFN function -/ requiers certain internal working buffer occupies (FF_MAX_LFN + 1) * 2 bytes and -/ additional (FF_MAX_LFN + 44) / 15 * 32 bytes when exFAT is enabled. -/ The FF_MAX_LFN defines size of the working buffer in UTF-16 code unit and it can -/ be in range of 12 to 255. It is recommended to be set it 255 to fully support LFN -/ specification. -/ When use stack for the working buffer, take care on stack overflow. When use heap -/ memory for the working buffer, memory management functions, ff_memalloc() and -/ ff_memfree() exemplified in ffsystem.c, need to be added to the project. */ - - -#define FF_LFN_UNICODE 0 -/* This option switches the character encoding on the API when LFN is enabled. -/ -/ 0: ANSI/OEM in current CP (TCHAR = char) -/ 1: Unicode in UTF-16 (TCHAR = WCHAR) -/ 2: Unicode in UTF-8 (TCHAR = char) -/ 3: Unicode in UTF-32 (TCHAR = DWORD) -/ -/ Also behavior of string I/O functions will be affected by this option. -/ When LFN is not enabled, this option has no effect. */ - - -#define FF_LFN_BUF 255 -#define FF_SFN_BUF 12 -/* This set of options defines size of file name members in the FILINFO structure -/ which is used to read out directory items. These values should be suffcient for -/ the file names to read. The maximum possible length of the read file name depends -/ on character encoding. When LFN is not enabled, these options have no effect. */ - - -#define FF_STRF_ENCODE 3 -/* When FF_LFN_UNICODE >= 1 with LFN enabled, string I/O functions, f_gets(), -/ f_putc(), f_puts and f_printf() convert the character encoding in it. -/ This option selects assumption of character encoding ON THE FILE to be -/ read/written via those functions. -/ -/ 0: ANSI/OEM in current CP -/ 1: Unicode in UTF-16LE -/ 2: Unicode in UTF-16BE -/ 3: Unicode in UTF-8 -*/ - - -#define FF_FS_RPATH 0 -/* This option configures support for relative path. -/ -/ 0: Disable relative path and remove related functions. -/ 1: Enable relative path. f_chdir() and f_chdrive() are available. -/ 2: f_getcwd() function is available in addition to 1. -*/ - - -/*---------------------------------------------------------------------------/ -/ Drive/Volume Configurations -/---------------------------------------------------------------------------*/ - -#define FF_VOLUMES 1 -/* Number of volumes (logical drives) to be used. (1-10) */ - - -#define FF_STR_VOLUME_ID 0 -#define FF_VOLUME_STRS "RAM","NAND","CF","SD","SD2","USB","USB2","USB3" -/* FF_STR_VOLUME_ID switches support for volume ID in arbitrary strings. -/ When FF_STR_VOLUME_ID is set to 1 or 2, arbitrary strings can be used as drive -/ number in the path name. FF_VOLUME_STRS defines the volume ID strings for each -/ logical drives. Number of items must not be less than FF_VOLUMES. Valid -/ characters for the volume ID strings are A-Z, a-z and 0-9, however, they are -/ compared in case-insensitive. If FF_STR_VOLUME_ID >= 1 and FF_VOLUME_STRS is -/ not defined, a user defined volume string table needs to be defined as: -/ -/ const char* VolumeStr[FF_VOLUMES] = {"ram","flash","sd","usb",... -*/ - - -#define FF_MULTI_PARTITION 0 -/* This option switches support for multiple volumes on the physical drive. -/ By default (0), each logical drive number is bound to the same physical drive -/ number and only an FAT volume found on the physical drive will be mounted. -/ When this function is enabled (1), each logical drive number can be bound to -/ arbitrary physical drive and partition listed in the VolToPart[]. Also f_fdisk() -/ funciton will be available. */ - - -#define FF_MIN_SS 512 -#define FF_MAX_SS 512 -/* This set of options configures the range of sector size to be supported. (512, -/ 1024, 2048 or 4096) Always set both 512 for most systems, generic memory card and -/ harddisk. But a larger value may be required for on-board flash memory and some -/ type of optical media. When FF_MAX_SS is larger than FF_MIN_SS, FatFs is configured -/ for variable sector size mode and disk_ioctl() function needs to implement -/ GET_SECTOR_SIZE command. */ - - -#define FF_LBA64 0 -/* This option switches support for 64-bit LBA. (0:Disable or 1:Enable) -/ To enable the 64-bit LBA, also exFAT needs to be enabled. (FF_FS_EXFAT == 1) */ - - -#define FF_MIN_GPT 0x100000000 -/* Minimum number of sectors to switch GPT format to create partition in f_mkfs and -/ f_fdisk function. 0x100000000 max. This option has no effect when FF_LBA64 == 0. */ - - -#define FF_USE_TRIM 0 -/* This option switches support for ATA-TRIM. (0:Disable or 1:Enable) -/ To enable Trim function, also CTRL_TRIM command should be implemented to the -/ disk_ioctl() function. */ - - - -/*---------------------------------------------------------------------------/ -/ System Configurations -/---------------------------------------------------------------------------*/ - -#define FF_FS_TINY 0 -/* This option switches tiny buffer configuration. (0:Normal or 1:Tiny) -/ At the tiny configuration, size of file object (FIL) is shrinked FF_MAX_SS bytes. -/ Instead of private sector buffer eliminated from the file object, common sector -/ buffer in the filesystem object (FATFS) is used for the file data transfer. */ - - -#define FF_FS_EXFAT 0 -/* This option switches support for exFAT filesystem. (0:Disable or 1:Enable) -/ To enable exFAT, also LFN needs to be enabled. (FF_USE_LFN >= 1) -/ Note that enabling exFAT discards ANSI C (C89) compatibility. */ - - -#define FF_FS_NORTC 1 -#define FF_NORTC_MON 1 -#define FF_NORTC_MDAY 1 -#define FF_NORTC_YEAR 2019 -/* The option FF_FS_NORTC switches timestamp functiton. If the system does not have -/ any RTC function or valid timestamp is not needed, set FF_FS_NORTC = 1 to disable -/ the timestamp function. Every object modified by FatFs will have a fixed timestamp -/ defined by FF_NORTC_MON, FF_NORTC_MDAY and FF_NORTC_YEAR in local time. -/ To enable timestamp function (FF_FS_NORTC = 0), get_fattime() function need to be -/ added to the project to read current time form real-time clock. FF_NORTC_MON, -/ FF_NORTC_MDAY and FF_NORTC_YEAR have no effect. -/ These options have no effect in read-only configuration (FF_FS_READONLY = 1). */ - - -#define FF_FS_NOFSINFO 0 -/* If you need to know correct free space on the FAT32 volume, set bit 0 of this -/ option, and f_getfree() function at first time after volume mount will force -/ a full FAT scan. Bit 1 controls the use of last allocated cluster number. -/ -/ bit0=0: Use free cluster count in the FSINFO if available. -/ bit0=1: Do not trust free cluster count in the FSINFO. -/ bit1=0: Use last allocated cluster number in the FSINFO if available. -/ bit1=1: Do not trust last allocated cluster number in the FSINFO. -*/ - - -#define FF_FS_LOCK 0 -/* The option FF_FS_LOCK switches file lock function to control duplicated file open -/ and illegal operation to open objects. This option must be 0 when FF_FS_READONLY -/ is 1. -/ -/ 0: Disable file lock function. To avoid volume corruption, application program -/ should avoid illegal open, remove and rename to the open objects. -/ >0: Enable file lock function. The value defines how many files/sub-directories -/ can be opened simultaneously under file lock control. Note that the file -/ lock control is independent of re-entrancy. */ - - -/* #include // O/S definitions */ -#define FF_FS_REENTRANT 0 -#define FF_FS_TIMEOUT 1000 -#define FF_SYNC_t HANDLE -/* The option FF_FS_REENTRANT switches the re-entrancy (thread safe) of the FatFs -/ module itself. Note that regardless of this option, file access to different -/ volume is always re-entrant and volume control functions, f_mount(), f_mkfs() -/ and f_fdisk() function, are always not re-entrant. Only file/directory access -/ to the same volume is under control of this function. -/ -/ 0: Disable re-entrancy. FF_FS_TIMEOUT and FF_SYNC_t have no effect. -/ 1: Enable re-entrancy. Also user provided synchronization handlers, -/ ff_req_grant(), ff_rel_grant(), ff_del_syncobj() and ff_cre_syncobj() -/ function, must be added to the project. Samples are available in -/ option/syscall.c. -/ -/ The FF_FS_TIMEOUT defines timeout period in unit of time tick. -/ The FF_SYNC_t defines O/S dependent sync object type. e.g. HANDLE, ID, OS_EVENT*, -/ SemaphoreHandle_t and etc. A header file for O/S definitions needs to be -/ included somewhere in the scope of ff.h. */ - - - -/*--- End of configuration options ---*/ diff --git a/third-party/bootloader/include/imx6ul_iomuxc.h b/third-party/bootloader/include/imx6ul_iomuxc.h deleted file mode 100644 index 38130f31..00000000 --- a/third-party/bootloader/include/imx6ul_iomuxc.h +++ /dev/null @@ -1,56 +0,0 @@ -/*! - * @author MJm - * @date 2020/1/22 - */ -#ifndef __IMX6UL_IOMUXC_H__ -#define __IMX6UL_IOMUXC_H__ - -#include - -#define SW_MUX_CTRL_PAD_MUX_MODE_MASK 0x00000007UL -#define SW_MUX_CTRL_PAD_MUX_MODE_SHIFT 0UL - -#define SW_MUX_CTRL_PAD_SION_SHIFT 4UL -#define SW_MUX_CTRL_PAD_SION_MASK (1UL << SW_MUX_CTRL_PAD_SION_SHIFT) - -#define MUX_MODE_ALT0 0UL -#define MUX_MODE_ALT1 1UL -#define MUX_MODE_ALT2 2UL -#define MUX_MODE_ALT3 3UL -#define MUX_MODE_ALT4 4UL -#define MUX_MODE_ALT5 5UL -#define MUX_MODE_ALT6 6UL -#define MUX_MODE_ALT7 7UL - -#define IOMUXC_SW_MUX_CTL_PAD_GPIO1_IO01 0x020E0060UL -#define IOMUXC_SW_MUX_CTL_PAD_GPIO1_IO02 0x020E0064UL -#define IOMUXC_SW_MUX_CTL_PAD_GPIO1_IO03 0x020E0068UL -#define IOMUXC_SW_MUX_CTL_PAD_GPIO1_IO05 0x020E0070UL -#define IOMUXC_SW_MUX_CTL_PAD_GPIO1_IO06 0x020E0074UL -#define IOMUXC_SW_MUX_CTL_PAD_UART1_CTS 0x020E008CUL -#define IOMIXC_I2C1_SCL_SELECT_INPUT_DAISY 0x020E05A4UL -#define IOMIXC_I2C1_SDA_SELECT_INPUT_DAISY 0x020E05A8UL - -static inline void iomuxc_set_daisy_in(uint32_t iomux_addr, uint8_t mode) -{ - *((volatile uint32_t *)iomux_addr) = 0; - *((volatile uint32_t *)iomux_addr) = mode; -} - -static inline void iomuxc_enable_sion(uint32_t iomux_addr) -{ - *((volatile uint32_t *)iomux_addr) |= SW_MUX_CTRL_PAD_SION_MASK; -} - -static inline void iomuxc_disable_sion(uint32_t iomux_addr) -{ - *((volatile uint32_t *)iomux_addr) &= ~SW_MUX_CTRL_PAD_SION_MASK; -} - -static inline void iomuxc_set_mux(uint32_t iomux_addr, uint8_t mux_mode) -{ - *((volatile uint32_t *)iomux_addr) &= ~SW_MUX_CTRL_PAD_MUX_MODE_MASK; - *((volatile uint32_t *)iomux_addr) |= SW_MUX_CTRL_PAD_MUX_MODE_MASK & mux_mode; -} - -#endif diff --git a/third-party/bootloader/include/imx_gpio.h b/third-party/bootloader/include/imx_gpio.h deleted file mode 100644 index db7e8b10..00000000 --- a/third-party/bootloader/include/imx_gpio.h +++ /dev/null @@ -1,43 +0,0 @@ -/*! - * @author MJm - * @date 2020/1/22 - */ -#ifndef __IMX_GPIO_H__ -#define __IMX_GPIO_H__ - -#include - -#define LOW_LEVEL_SENSITIVE 0 -#define HIGH_LEVEL_SENSITIVE 1 -#define RISING_EDGE 2 -#define FALLING_EDGE 3 - -typedef struct imx_gpio_tag -{ - - volatile uint32_t dr; - volatile uint32_t gdir; - volatile uint32_t psr; - volatile uint32_t icr1; - volatile uint32_t icr2; - volatile uint32_t imr; - volatile uint32_t isr; - volatile uint32_t edge_sel; - -} imx_gpio_t; - -extern void gpio_set_dr(imx_gpio_t *, uint8_t); -extern void gpio_clr_dr(imx_gpio_t *, uint8_t); -extern void gpio_set_output(imx_gpio_t *, uint8_t); -extern void gpio_set_input(imx_gpio_t *, uint8_t); -extern uint8_t gpio_get_psr(imx_gpio_t *, uint8_t); -extern void gpio_set_int_cfg(imx_gpio_t *, uint8_t , uint8_t); -extern void gpio_mask_int(imx_gpio_t *, uint8_t); -extern void gpio_unmask_int(imx_gpio_t *, uint8_t); -extern uint32_t gpio_get_int_stat(imx_gpio_t *, uint8_t); -extern void gpio_clr_int_stat(imx_gpio_t *, uint8_t); -extern void gpio_set_edge_sel(imx_gpio_t *, uint8_t); -extern void gpio_clr_edge_sel(imx_gpio_t *, uint8_t); -extern void dump_gpio(imx_gpio_t *); - -#endif diff --git a/third-party/bootloader/include/imx_gpt.h b/third-party/bootloader/include/imx_gpt.h deleted file mode 100644 index 7ff41293..00000000 --- a/third-party/bootloader/include/imx_gpt.h +++ /dev/null @@ -1,128 +0,0 @@ -/*! - * @author MJm - * @date 2020/1/24 - */ -#ifndef __IMX_GPT_H__ -#define __IMX_GPT_H__ - -#include - -typedef struct imx_gpt_tag { - - volatile uint32_t cr; - volatile uint32_t pr; - volatile uint32_t sr; - volatile uint32_t ir; - volatile uint32_t ocr1; - volatile uint32_t ocr2; - volatile uint32_t ocr3; - volatile uint32_t icr1; - volatile uint32_t icr2; - volatile uint32_t cnt; - -} imx_gpt_t; - -#define GPT_CR_EN_SHIFT 0UL -#define GPT_CR_EN_MASK (1UL << GPT_CR_EN_SHIFT) - -#define GPT_CR_ENMOD_SHIFT 1UL -#define GPT_CR_ENMOD_MASK (1UL << GPT_CR_ENMOD_SHIFT) - -#define GPT_CR_DBGEN_SHIFT 2UL -#define GPT_CR_DBGEN_MASK (1UL << GPT_CR_DBGEN_SHIFT) - -#define GPT_CR_WAITEN_SHIFT 3UL -#define GPT_CR_WAITEN_MASK (1UL << GPT_CR_WAITEN_SHIFT) - -#define GPT_CR_DOZEEN_SHIFT 4UL -#define GPT_CR_DOZEEN_MASK (1UL << GPT_CR_DOZEEN_SHIFT) - -#define GPT_CR_STOPEN_SHIFT 5UL -#define GPT_CR_STOPEN_MASK (1UL << GPT_CR_STOPEN_SHIFT) - -#define GPT_CR_CLKSRC_SHIFT 6UL -#define GPT_CR_CLKSRC_MASK (7UL << GPT_CR_CLKSRC_SHIFT) - -#define GPT_CR_CLKSRC_NOCLK (0UL << GPT_CR_CLKSRC_SHIFT) -#define GPT_CR_CLKSRC_PCLK (1UL << GPT_CR_CLKSRC_SHIFT) -#define GPT_CR_CLKSRC_HFCLK (2UL << GPT_CR_CLKSRC_SHIFT) -#define GPT_CR_CLKSRC_EXTCLK (3UL << GPT_CR_CLKSRC_SHIFT) -#define GPT_CR_CLKSRC_LFCLK (4UL << GPT_CR_CLKSRC_SHIFT) -#define GPT_CR_CLKSRC_24M (5UL << GPT_CR_CLKSRC_SHIFT) - -#define GPT_CR_FRR_SHIFT 9UL -#define GPT_CR_FRR_MASK (1UL << GPT_CR_FRR_SHIFT) - -#define GPT_CR_EN24M_SHIFT 10UL -#define GPT_CR_EN24M_MASK (1UL << GPT_CR_EN24M_SHIFT) - -#define GPT_CR_SWR_SHIFT 15UL -#define GPT_CR_SWR_MASK (1UL << GPT_CR_SWR_SHIFT) - -#define GPT_CR_IM1_SHIFT 16UL -#define GPT_CR_IM1_MASK (3UL << GPT_CR_IM1_SHIFT) - -#define GPT_CR_IM2_SHIFT 18UL -#define GPT_CR_IM2_MASK (3UL << GPT_CR_IM2_SHIFT) - -#define GPT_CR_OM1_SHIFT 20UL -#define GPT_CR_OM1_MASK (7UL << GPT_CR_OM1_SHIFT) - -#define GPT_CR_OM2_SHIFT 23UL -#define GPT_CR_OM2_MASK (7UL << GPT_CR_OM3_SHIFT) - -#define GPT_CR_OM3_SHIFT 26UL -#define GPT_CR_OM3_MASK (7UL << GPT_CR_OM3_SHIFT) - -#define GPT_CR_FO1_SHIFT 29UL -#define GPT_CR_FO1_MASK (1UL << GPT_CR_FO1_SHIFT) - -#define GPT_CR_FO2_SHIFT 30UL -#define GPT_CR_FO2_MASK (1UL << GPT_CR_FO2_SHIFT) - -#define GPT_CR_FO3_SHIFT 31UL -#define GPT_CR_FO3_MASK (1UL << GPT_CR_FO3_SHIFT) - -#define GPT_PR_PRESCALER_SHIFT 0UL -#define GPT_PR_PRESCALER_MASK (0xFFFUL << GPT_PR_PRESCALER_SHIFT) - -#define GPT_PR_PRESCALER24M_SHIFT 12UL -#define GPT_PR_PRESCALER24M_MASK (0xFUL << GPT_PR_PRESCALER24M_SHIFT) - -#define GPT_SR_OF1_SHIFT 0UL -#define GPT_SR_OF1_MASK (1UL << GPT_SR_OF1_SHIFT) - -#define GPT_SR_OF2_SHIFT 1UL -#define GPT_SR_OF2_MASK (1UL << GPT_SR_OF2_SHIFT) - -#define GPT_SR_OF3_SHIFT 2UL -#define GPT_SR_OF3_MASK (1UL << GPT_SR_OF3_SHIFT) - -#define GPT_SR_IF1_SHIFT 3UL -#define GPT_SR_IF1_MASK (1UL << GPT_SR_IF1_SHIFT) - -#define GPT_SR_IF2_SHIFT 4UL -#define GPT_SR_IF2_MASK (1UL << GPT_SR_IF2_SHIFT) - -#define GPT_SR_ROV_SHIFT 5UL -#define GPT_SR_ROV_MASK (1UL << GPT_SR_ROV_SHIFT) - -#define GPT_IR_OF1IE_SHIFT 0UL -#define GPT_IR_OF1IE_MASK (1UL << GPT_IR_OF1IE_SHIFT) - -#define GPT_IR_OF2IE_SHIFT 1UL -#define GPT_IR_OF2IE_MASK (1UL << GPT_IR_OF2IE_SHIFT) - -#define GPT_IR_OF3IE_SHIFT 2UL -#define GPT_IR_OF3IE_MASK (1UL << GPT_IR_OF3IE_SHIFT) - -#define GPT_IR_IF1IE_SHIFT 3UL -#define GPT_IR_IF1IE_MASK (1UL << GPT_IR_IF1IE_SHIFT) - -#define GPT_IR_IF2IE_SHIFT 4UL -#define GPT_IR_IF2IE_MASK (1UL << GPT_IR_IF2IE_SHIFT) - -#define GPT_IR_ROVIE_SHIFT 5UL -#define GPT_IR_ROVIE_MASK (1UL << GPT_IR_ROVIE_SHIFT) - -#endif \ No newline at end of file diff --git a/third-party/bootloader/include/imx_i2c.h b/third-party/bootloader/include/imx_i2c.h deleted file mode 100644 index fee018dc..00000000 --- a/third-party/bootloader/include/imx_i2c.h +++ /dev/null @@ -1,94 +0,0 @@ -/*! - * @author MJm - * @date 2020/1/23 - */ -#ifndef __IMX_I2C_H__ -#define __IMX_I2C_H__ - -#include -#include -#include - -#define I2C_DEBUG printf - -typedef struct imx_i2c_tag { - - volatile uint32_t iadr; /* I2C Address Register */ - volatile uint32_t ifdr; /* I2C Frequency Register */ - volatile uint32_t i2cr; /* I2C Control Register */ - volatile uint32_t i2sr; /* I2C Status Register */ - volatile uint32_t i2dr; /* I2C Data Register */ - -} imx_i2c_t; - -#define I2C_IADR_ADR_SHIFT 1UL -#define I2C_IADR_ADR_MASK 0xFEUL - -#define I2C_IFDR_IC_SHIFT 0UL -#define I2C_IFDR_IC_MASK 0x3FUL - -#define I2C_ICR_RSTA_SHIFT 2UL -#define I2C_ICR_RSTA_MASK (1UL << I2C_ICR_RSTA_SHIFT) - -#define I2C_ICR_TXAK_SHIFT 3UL -#define I2C_ICR_TXAK_MASK (1UL << I2C_ICR_TXAK_SHIFT) - -#define I2C_ICR_MTX_SHIFT 4UL -#define I2C_ICR_MTX_MASK (1UL << I2C_ICR_MTX_SHIFT) - -#define I2C_ICR_MSTA_SHIFT 5UL -#define I2C_ICR_MSTA_MASK (1UL << I2C_ICR_MSTA_SHIFT) - -#define I2C_ICR_IIEN_SHIFT 6UL -#define I2C_ICR_IIEN_MASK (1UL << I2C_ICR_IIEN_SHIFT) - -#define I2C_ICR_IEN_SHIFT 7UL -#define I2C_ICR_IEN_MASK (1UL << I2C_ICR_IEN_SHIFT) - -#define I2C_ISR_RXAK_SHIFT 0UL -#define I2C_ISR_RXAK_MASK (1UL << I2C_ISR_RXAK_SHIFT) - -#define I2C_ISR_IIF_SHIFT 1UL -#define I2C_ISR_IIF_MASK (1UL << I2C_ISR_IIF_SHIFT) - -#define I2C_ISR_SRW_SHIFT 2UL -#define I2C_ISR_SRW_MASK (1UL << I2C_ISR_SRW_SHIFT) - -#define I2C_ISR_IAL_SHIFT 4UL -#define I2C_ISR_IAL_MASK (1UL << I2C_ISR_IAL_SHIFT) - -#define I2C_ISR_IBB_SHFIT 5UL -#define I2C_ISR_IBB_MASK (1UL << I2C_ISR_IBB_SHFIT) - -#define I2C_ISR_IAAS_SHIFT 6UL -#define I2C_ISR_IAAS_MASK (1UL << I2C_ISR_IAAS_SHIFT) - -#define I2C_ISR_ICF_SHIFT 7UL -#define I2C_ISR_ICF_MASK (1UL << I2C_ISR_ICF_SHIFT) - -#define I2C_I2DR_DATA_SHIFT 0UL -#define I2C_I2DR_DATA_MASK 0xFFUL - -extern void i2c_init(void *); -extern void i2c_set_clock(void *, uint8_t); -extern void i2c_set_slave_addr(void *, uint8_t); -extern void i2c_enable(void *); -extern void i2c_disable(void *); -extern void i2c_disable_int(void *); -extern void i2c_enable_int(void *); -extern void i2c_set_master(void *); -extern void i2c_set_slave(void *); -extern void i2c_set_receive_mode(void *); -extern void i2c_set_transmit_mode(void *); -extern void i2c_enable_transmit_ack(void *); -extern void i2c_disable_transmit_ack(void *); -extern void i2c_set_repeat_start(void *); -extern void i2c_unset_repeat_start(void *); -extern uint32_t i2c_get_status(void *); -extern uint8_t i2c_get_data(void *); -extern void i2c_set_data(void *, uint8_t); -extern void i2c_wait_bus_grant(void *); -extern void i2c_write_byte(void *, uint8_t); -extern uint8_t i2c_read_byte(void *); - -#endif \ No newline at end of file diff --git a/third-party/bootloader/include/imx_uart.h b/third-party/bootloader/include/imx_uart.h deleted file mode 100644 index 4ed4d645..00000000 --- a/third-party/bootloader/include/imx_uart.h +++ /dev/null @@ -1,31 +0,0 @@ -#ifndef __IMX_UART_H__ -#define __IMX_UART_H__ - -#include - -typedef struct { - volatile uint32_t uart_rx_reg; - volatile uint32_t unused_rx_regs[15]; - volatile uint32_t uart_tx_reg; - volatile uint32_t unused_tx_regs[15]; - volatile uint32_t uart_control_reg1; - volatile uint32_t uart_control_reg2; - volatile uint32_t uart_control_reg3; - volatile uint32_t uart_control_reg4; - volatile uint32_t uart_fifo_control_reg; - volatile uint32_t uart_status_reg_1; - volatile uint32_t uart_status_reg_2; - volatile uint32_t uart_esc_char_reg; - volatile uint32_t uart_esc_tim_reg; - volatile uint32_t uart_brm_inc_block; - volatile uint32_t uart_brm_mod_block; - volatile uint32_t uart_baud_rate_count_reg; - volatile uint32_t uart_one_milli_reg; - volatile uint32_t uart_test_reg; -} imx_uart_t; - -extern char uart_putc(unsigned char); -extern void uart_init(void); -extern void printf(const char *, ...); - -#endif diff --git a/third-party/bootloader/include/imx_usdhc.h b/third-party/bootloader/include/imx_usdhc.h deleted file mode 100644 index e3076ee1..00000000 --- a/third-party/bootloader/include/imx_usdhc.h +++ /dev/null @@ -1,802 +0,0 @@ -#ifndef __IMX_USDHC__ -#define __IMX_USDHC__ - -#include -#include -#include -#include - -typedef struct imx_usdhc_tag -{ - volatile uint32_t dma_sys_addr; //<00h - volatile uint32_t blk_att; //<04h - volatile uint32_t cmd_arg; //<08h - volatile uint32_t cmd_xfr_type; //<0Ch - volatile uint32_t cmd_rsp0; //<10h - volatile uint32_t cmd_rsp1; //<14h - volatile uint32_t cmd_rsp2; //<18h - volatile uint32_t cmd_rsp3; //<1Ch - volatile uint32_t data_buff_acc_port; //<20H - volatile uint32_t pres_state; //<24h - volatile uint32_t prot_ctrl; //<28h - volatile uint32_t sys_ctrl; //<2Ch - volatile uint32_t int_status; //<30h - volatile uint32_t int_status_en; //<34h - volatile uint32_t int_singal_en; //<38h - volatile uint32_t autocmd12_err_status; //<3Ch - volatile uint32_t host_ctrl_cap; //<40h - volatile uint32_t wtmk_lvl; //<44h - volatile uint32_t mix_ctrl; //<48h - volatile uint32_t reserve1; //<4Ch - volatile uint32_t force_event; //<50h - volatile uint32_t adma_error_status; //<54h - volatile uint32_t adma_sys_addr; //<58h - volatile uint32_t reserve2; //<5Ch - volatile uint32_t dll_ctrl; //<60h - volatile uint32_t dll_status; //<64h - volatile uint32_t clk_tune_ctrl_status; //<68h - volatile uint32_t reserve3; //<6Ch - volatile uint32_t reserve4[20]; //<70h-BFh - volatile uint32_t vend_spec; // -#include - -#define MMC_RSP_PRESENT (1 << 0) -#define MMC_RSP_136 (1 << 1) /* 136 bit response */ -#define MMC_RSP_CRC (1 << 2) /* expect valid crc */ -#define MMC_RSP_BUSY (1 << 3) /* card may send busy */ -#define MMC_RSP_OPCODE (1 << 4) /* response contains opcode */ - -#define MMC_CMD_MASK (3 << 5) /* non-SPI command type */ -#define MMC_CMD_AC (0 << 5) -#define MMC_CMD_ADTC (1 << 5) -#define MMC_CMD_BC (2 << 5) -#define MMC_CMD_BCR (3 << 5) - -#define MMC_RSP_SPI_S1 (1 << 7) /* one status byte */ -#define MMC_RSP_SPI_S2 (1 << 8) /* second byte */ -#define MMC_RSP_SPI_B4 (1 << 9) /* four data bytes */ -#define MMC_RSP_SPI_BUSY (1 << 10) /* card may send busy */ - -/* - * * These are the native response types, and correspond to valid bit - * * patterns of the above flags. One additional valid pattern - * * is all zeros, which means we don't expect a response. - * */ -#define MMC_RSP_NONE (0) -#define MMC_RSP_R1 (MMC_RSP_PRESENT|MMC_RSP_CRC|MMC_RSP_OPCODE) -#define MMC_RSP_R1B (MMC_RSP_PRESENT|MMC_RSP_CRC|MMC_RSP_OPCODE|MMC_RSP_BUSY) -#define MMC_RSP_R2 (MMC_RSP_PRESENT|MMC_RSP_136|MMC_RSP_CRC) -#define MMC_RSP_R3 (MMC_RSP_PRESENT) -#define MMC_RSP_R4 (MMC_RSP_PRESENT) -#define MMC_RSP_R5 (MMC_RSP_PRESENT|MMC_RSP_CRC|MMC_RSP_OPCODE) -#define MMC_RSP_R6 (MMC_RSP_PRESENT|MMC_RSP_CRC|MMC_RSP_OPCODE) -#define MMC_RSP_R7 (MMC_RSP_PRESENT|MMC_RSP_CRC|MMC_RSP_OPCODE) - -typedef struct mmc_cmd_struct { - uint32_t cmd; - uint32_t arg; - uint32_t resp; -} mmc_cmd_t; - -typedef struct mmc_resp_struct { - uint32_t resp[4]; - bool is_long_resp; -} mmc_resp_t; - -typedef struct mmc_card_struct { - - uint32_t rca; - uint32_t ocr; - uint32_t cid[4]; - char product_name[6]; - uint8_t major; - uint8_t minor; - void *private_data; - uint32_t (*host_init)(struct mmc_card_struct *mmc_card); - uint32_t (*send_command)(struct mmc_card_struct *mmc_card, mmc_cmd_t *cmd); - uint32_t (*receive_response)(struct mmc_card_struct *mmc_card, mmc_resp_t *resp); - uint32_t (*read_block)(struct mmc_card_struct *mmc_card, const uint32_t *dst, uint32_t block_id); - uint32_t (*write_block)(struct mmc_card_struct *mmc_card, const uint32_t *src, uint32_t block_id); -} mmc_card_t; - -extern uint32_t mmc_card_init(mmc_card_t *mmc_card); - -#define MMC_CARD_SUCCESS 0 -#define MMC_CARD_PARAM_NULL 1 -#define MMC_HOST_INIT_FAILURE 2 -#define MMC_SEND_COMMADN_FAILURE 3 -#define MMC_RECEIVE_COMMAND_FAILURE 4 -#define MMC_SEND_COMMAND_TIMEOUT 5 -#define MMC_SEND_COMMAND_CRC_FAILURE 6 -#define MMC_SEND_ACMD_FAILURE 7 - -#define MMC_DEBUG -#if defined(MMC_DEBUG) -#define MMC_TRACE(fmt, args...) printf(fmt, ##args) -#else -#define MMC_TRACE(fmt, args...) -#endif - -#define MMC_RESPONSE_ACMD_FLAG(card_status) ((card_status) & (1 << 5)) -#define MMC_RESPONSE_BUS_READY(card_status) ((card_status) & (1 << 8)) - -#endif \ No newline at end of file diff --git a/third-party/bootloader/include/sd_card.h b/third-party/bootloader/include/sd_card.h deleted file mode 100644 index a0b79581..00000000 --- a/third-party/bootloader/include/sd_card.h +++ /dev/null @@ -1,86 +0,0 @@ -#ifndef __SDCARD_H__ -#define __SDCARD_H__ - -#include -#include - -typedef struct sd_resp_tag { - uint32_t rsp0; - uint32_t rsp1; - uint32_t rsp2; - uint32_t rsp3; - uint8_t resp_format; -} sd_resp_t; - -typedef struct sdcard_tag{ - - void *host; - uint32_t rca; - uint32_t ocr; - uint32_t cid[4]; - char product_name[6]; - uint8_t major; - uint8_t minor; - bool (*host_init)(void *); - bool (*send_cmd)(void *, uint8_t, uint32_t); - void (*get_resp)(void *, sd_resp_t *); - bool (*read_block)(void *, uint8_t *, uint32_t); - bool (*write_block)(void *, uint8_t *, uint32_t); - -} sdcard_t; - -enum commands { - CMD0 = 0, - CMD1 = 1, - CMD2 = 2, - CMD3 = 3, - CMD6 = 6, - ACMD6 = 6, - CMD7 = 7, - CMD8 = 8, - CMD9 = 9, - CMD11 = 11, - CMD12 = 12, - CMD13 = 13, - CMD16 = 16, - CMD17 = 17, - CMD18 = 18, - CMD19 = 19, - CMD25 = 25, - ACMD41 = 41, - CMD43 = 43, - ACMD51 = 51, - CMD55 = 55, -}; - -#define IDENTIFICATION_FREQ 0 /* 400 in kHz */ -#define OPERATING_MMC_FREQ 1 /* 20000 in kHz */ -#define OPERATING_SD_FREQ 2 /* 25000 in kHz */ -#define OPERATING_MMC_DDR_FREQ 3 /* 25000 in kHz */ -#define HIGH_MMC_FREQ 4 /* 40000 in kHz */ -#define HIGH_SD_FREQ 5 /* 50000 in kHz */ -#define HIGH_MMC_DDR_FREQ 6 /* 50000 in kHz */ -#define SDR50_FREQ 7 /* 100000 in kHz */ -#define SDR104_FREQ 8 /* 200000 in kHz */ - -// #define SDCARD_DEBUG -#if defined(SDCARD_DEBUG) -#define SDCARD_TRACE printf -#else -#define SDCARD_TRACE(fmt, args...) -#endif - -#define SDCARD_SUCCESS 0 -#define SDCARD_PARAM_NULL 1 -#define SDCARD_HOST_INIT_FAILURE 2 -#define SDCARD_SEND_COMMADN_FAILURE 3 -#define SDCARD_RECEIVE_COMMAND_FAILURE 4 -#define SDCARD_SEND_COMMAND_TIMEOUT 5 -#define SDCARD_SEND_COMMAND_CRC_FAILURE 6 -#define SDCARD_SEND_ACMD_FAILURE 7 - -extern uint32_t sdcard_init(sdcard_t *); -extern uint32_t sdcard_read_block(sdcard_t *, uint8_t *, uint32_t); -extern uint32_t sdcard_write_block(sdcard_t *, uint8_t *, uint32_t); - -#endif \ No newline at end of file diff --git a/third-party/bootloader/include/timer.h b/third-party/bootloader/include/timer.h deleted file mode 100644 index fa8b00e5..00000000 --- a/third-party/bootloader/include/timer.h +++ /dev/null @@ -1,19 +0,0 @@ -#ifndef __TIMER_H__ -#define __TIMER_H__ - -#include -#include -#include - -extern void udelay(uint32_t); -extern void mdelay(uint32_t); -extern void timer_init(void); - -typedef struct timer_tag { - uint32_t timeout_tick; -} timer_t; - -extern void timer_setto(timer_t *, uint32_t); -extern bool timer_isto(timer_t *); - -#endif diff --git a/third-party/bootloader/makefile b/third-party/bootloader/makefile deleted file mode 100644 index 975ec00a..00000000 --- a/third-party/bootloader/makefile +++ /dev/null @@ -1,35 +0,0 @@ -TOOL_CHAIN = $(AARCH32_CROSS_PATH)/bin/arm-none-eabi- -CC = ${TOOL_CHAIN}gcc -AS = ${TOOL_CHAIN}as -LD = ${TOOL_CHAIN}ld -OBJCOPY = ${TOOL_CHAIN}objcopy -OBJDUMP = $(TOOL_CHAIN)objdump - -CFLAGS := -Wall -g -fno-builtin -gdwarf-2 -gstrict-dwarf -Iinclude -mcpu=cortex-a7 -LDFLAGS := -g - -objs := start.o \ - entry.o \ - driver/imx_uart.o \ - driver/imx_usdhc.o \ - device/qemu_print.o \ - device/sd_card.o \ - fatfs/diskio.o \ - fatfs/ff.o \ - fatfs/ffsystem.o \ - fatfs/ffunicode.o - -bootloader.bin: $(objs) - ${LD} -T bootloader.ld -o bootloader.elf $^ - ${OBJCOPY} -O binary -S bootloader.elf $@ - ${OBJDUMP} -D -m arm bootloader.elf > bootloader.dis - - -%.o:%.c - ${CC} $(CFLAGS) -c -o $@ $< - -%.o:%.s - ${CC} $(CFLAGS) -c -o $@ $< - -clean: - rm -rf *.o *.elf *.bin *.dis driver/*.o device/*.o fatfs/*.o diff --git a/third-party/bootloader/start.s b/third-party/bootloader/start.s deleted file mode 100644 index 040f4ef8..00000000 --- a/third-party/bootloader/start.s +++ /dev/null @@ -1,40 +0,0 @@ -.align 4 -.global reset -.global jump_os -.global c_entry -.section .isr_vector -.text -reset: - B reset_handler - B . - B . //SVC - B . - B . - B . - B . //IRQ - B . //FIQ - - -reset_handler: - ldr r0, =0x00900000 - mcr p15,0,r0,c12,c0,0 - ldr sp, =svc_stack_top - bl c_entry - b . - -jump_os: - mov r1, #0 - mov r2, #0 - mov r3, #0 - mov r4, #0 - mov r5, #0 - mov r6, #0 - mov r7, #0 - mov r8, #0 - mov r9, #0 - mov r10, #0 - mov r11, #0 - mov r12, #0 - mov r13, #0 - mov r14, #0 - blx r0 \ No newline at end of file diff --git a/third-party/sdmmc-1.0/Kconfig b/third-party/sdmmc-1.0/Kconfig new file mode 100644 index 00000000..682390a2 --- /dev/null +++ b/third-party/sdmmc-1.0/Kconfig @@ -0,0 +1,12 @@ +menu "SDMMC Configuration" + choice SDMMC_PORT_TYPE + prompt "MMC/SD Type" + help + Select MMC/SD Driver + + config SDMMC_PORT_FSDIO + bool "FSDIO" + select USE_SDMMC + select ENABLE_FSDIO + endchoice #SDMMC_PORT_TYPE +endmenu \ No newline at end of file diff --git a/third-party/sdmmc-1.0/inc/sdmmc_cmd.h b/third-party/sdmmc-1.0/inc/sdmmc_cmd.h new file mode 100644 index 00000000..b5f7e32c --- /dev/null +++ b/third-party/sdmmc-1.0/inc/sdmmc_cmd.h @@ -0,0 +1,312 @@ +// Copyright 2015-2018 Espressif Systems (Shanghai) PTE 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 _SDMMC_CMD_H_ +#define _SDMMC_CMD_H_ + +#ifdef __cplusplus +extern "C" +{ +#endif + +#include +#include "sdmmc_types.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/** + * Probe and initialize SD/MMC card using given host + * + * @note Only SD cards (SDSC and SDHC/SDXC) are supported now. + * Support for MMC/eMMC cards will be added later. + * + * @param host pointer to structure defining host controller + * @param out_card pointer to structure which will receive information + * about the card when the function completes + * @return + * - SDMMC_OK on success + * - One of the error codes from SDMMC host controller + */ +sdmmc_err_t sdmmc_card_init(const sdmmc_host_t* host, + sdmmc_card_t* out_card); + +/** + * Probe and initialize eMMC using given host + * + * @note Only eMMC are supported for this function. + * + * @param host pointer to structure defining host controller + * @param out_card pointer to structure which will receive information + * about the card when the function completes + * @return + * - SDMMC_OK on success + * - One of the error codes from SDMMC host controller + */ +sdmmc_err_t sdmmc_init_emmc(const sdmmc_host_t *config, sdmmc_card_t *card); + +/** + * Probe and initialize TF cards (SDHC/SDXC) using given host + * + * @note Only TF are supported for this function. + * + * @param host pointer to structure defining host controller + * @param out_card pointer to structure which will receive information + * about the card when the function completes + * @return + * - SDMMC_OK on success + * - One of the error codes from SDMMC host controller + */ +sdmmc_err_t sdmmc_init_tf_card(const sdmmc_host_t *config, sdmmc_card_t *card); + +/** + * @brief Print information about the card to a stream + * @param stream stream obtained using fopen or fdopen + * @param card card information structure initialized using sdmmc_card_init + */ +void sdmmc_card_print_info(FILE* stream, const sdmmc_card_t* card); + +/** + * Write given number of sectors to SD/MMC card + * + * @param card pointer to card information structure previously initialized + * using sdmmc_card_init + * @param src pointer to data buffer to read data from; data size must be + * equal to sector_count * card->csd.sector_size + * @param start_sector sector where to start writing + * @param sector_count number of sectors to write + * @return + * - SDMMC_OK on success + * - One of the error codes from SDMMC host controller + */ +sdmmc_err_t sdmmc_write_sectors(sdmmc_card_t* card, const void* src, + size_t start_sector, size_t sector_count); + +/** + * Write given number of sectors to SD/MMC card + * + * @param card pointer to card information structure previously initialized + * using sdmmc_card_init + * @param dst pointer to data buffer to write into; buffer size must be + * at least sector_count * card->csd.sector_size + * @param start_sector sector where to start reading + * @param sector_count number of sectors to read + * @return + * - SDMMC_OK on success + * - One of the error codes from SDMMC host controller + */ +sdmmc_err_t sdmmc_read_sectors(sdmmc_card_t* card, void* dst, + size_t start_sector, size_t sector_count); + +/** + * Read one byte from an SDIO card using IO_RW_DIRECT (CMD52) + * + * @param card pointer to card information structure previously initialized + * using sdmmc_card_init + * @param function IO function number + * @param reg byte address within IO function + * @param[out] out_byte output, receives the value read from the card + * @return + * - SDMMC_OK on success + * - One of the error codes from SDMMC host controller + */ +sdmmc_err_t sdmmc_io_read_byte(sdmmc_card_t* card, uint32_t function, + uint32_t reg, uint8_t *out_byte); + +/** + * Write one byte to an SDIO card using IO_RW_DIRECT (CMD52) + * + * @param card pointer to card information structure previously initialized + * using sdmmc_card_init + * @param function IO function number + * @param reg byte address within IO function + * @param in_byte value to be written + * @param[out] out_byte if not NULL, receives new byte value read + * from the card (read-after-write). + * @return + * - SDMMC_OK on success + * - One of the error codes from SDMMC host controller + */ +sdmmc_err_t sdmmc_io_write_byte(sdmmc_card_t* card, uint32_t function, + uint32_t reg, uint8_t in_byte, uint8_t* out_byte); + +/** + * Read multiple bytes from an SDIO card using IO_RW_EXTENDED (CMD53) + * + * This function performs read operation using CMD53 in byte mode. + * For block mode, see sdmmc_io_read_blocks. + * + * @param card pointer to card information structure previously initialized + * using sdmmc_card_init + * @param function IO function number + * @param addr byte address within IO function where reading starts + * @param dst buffer which receives the data read from card + * @param size number of bytes to read + * @return + * - SDMMC_OK on success + * - SDMMC_ERR_INVALID_SIZE if size exceeds 512 bytes + * - One of the error codes from SDMMC host controller + */ +sdmmc_err_t sdmmc_io_read_bytes(sdmmc_card_t* card, uint32_t function, + uint32_t addr, void* dst, size_t size); + +/** + * Write multiple bytes to an SDIO card using IO_RW_EXTENDED (CMD53) + * + * This function performs write operation using CMD53 in byte mode. + * For block mode, see sdmmc_io_write_blocks. + * + * @param card pointer to card information structure previously initialized + * using sdmmc_card_init + * @param function IO function number + * @param addr byte address within IO function where writing starts + * @param src data to be written + * @param size number of bytes to write + * @return + * - SDMMC_OK on success + * - SDMMC_ERR_INVALID_SIZE if size exceeds 512 bytes + * - One of the error codes from SDMMC host controller + */ +sdmmc_err_t sdmmc_io_write_bytes(sdmmc_card_t* card, uint32_t function, + uint32_t addr, const void* src, size_t size); + +/** + * Read blocks of data from an SDIO card using IO_RW_EXTENDED (CMD53) + * + * This function performs read operation using CMD53 in block mode. + * For byte mode, see sdmmc_io_read_bytes. + * + * @param card pointer to card information structure previously initialized + * using sdmmc_card_init + * @param function IO function number + * @param addr byte address within IO function where writing starts + * @param dst buffer which receives the data read from card + * @param size number of bytes to read, must be divisible by the card block + * size. + * @return + * - SDMMC_OK on success + * - SDMMC_ERR_INVALID_SIZE if size is not divisible by 512 bytes + * - One of the error codes from SDMMC host controller + */ +sdmmc_err_t sdmmc_io_read_blocks(sdmmc_card_t* card, uint32_t function, + uint32_t addr, void* dst, size_t size); + +/** + * Write blocks of data to an SDIO card using IO_RW_EXTENDED (CMD53) + * + * This function performs write operation using CMD53 in block mode. + * For byte mode, see sdmmc_io_write_bytes. + * + * @param card pointer to card information structure previously initialized + * using sdmmc_card_init + * @param function IO function number + * @param addr byte address within IO function where writing starts + * @param src data to be written + * @param size number of bytes to read, must be divisible by the card block + * size. + * @return + * - SDMMC_OK on success + * - SDMMC_ERR_INVALID_SIZE if size is not divisible by 512 bytes + * - One of the error codes from SDMMC host controller + */ +sdmmc_err_t sdmmc_io_write_blocks(sdmmc_card_t* card, uint32_t function, + uint32_t addr, const void* src, size_t size); + +/** + * Enable SDIO interrupt in the SDMMC host + * + * @param card pointer to card information structure previously initialized + * using sdmmc_card_init + * @return + * - SDMMC_OK on success + * - SDMMC_ERR_NOT_SUPPORTED if the host controller does not support + * IO interrupts + */ +sdmmc_err_t sdmmc_io_enable_int(sdmmc_card_t* card); + +/** + * Block until an SDIO interrupt is received + * + * Slave uses D1 line to signal interrupt condition to the host. + * This function can be used to wait for the interrupt. + * + * @param card pointer to card information structure previously initialized + * using sdmmc_card_init + * @param timeout_ticks time to wait for the interrupt, in RTOS ticks + * @return + * - SDMMC_OK if the interrupt is received + * - SDMMC_ERR_NOT_SUPPORTED if the host controller does not support + * IO interrupts + * - SDMMC_ERR_TIMEOUT if the interrupt does not happen in timeout_ticks + */ +sdmmc_err_t sdmmc_io_wait_int(sdmmc_card_t* card, TickType_t timeout_ticks); + +/** + * Get the data of CIS region of a SDIO card. + * + * You may provide a buffer not sufficient to store all the CIS data. In this + * case, this functions store as much data into your buffer as possible. Also, + * this function will try to get and return the size required for you. + * + * @param card pointer to card information structure previously initialized + * using sdmmc_card_init + * @param out_buffer Output buffer of the CIS data + * @param buffer_size Size of the buffer. + * @param inout_cis_size Mandatory, pointer to a size, input and output. + * - input: Limitation of maximum searching range, should be 0 or larger than + * buffer_size. The function searches for CIS_CODE_END until this range. Set to + * 0 to search infinitely. + * - output: The size required to store all the CIS data, if CIS_CODE_END is found. + * + * @return + * - SDMMC_OK: on success + * - SDMMC_ERR_INVALID_RESPONSE: if the card does not (correctly) support CIS. + * - SDMMC_ERR_INVALID_SIZE: CIS_CODE_END found, but buffer_size is less than + * required size, which is stored in the inout_cis_size then. + * - SDMMC_ERR_NOT_FOUND: if the CIS_CODE_END not found. Increase input value of + * inout_cis_size or set it to 0, if you still want to search for the end; + * output value of inout_cis_size is invalid in this case. + * - and other error code return from sdmmc_io_read_bytes + */ +sdmmc_err_t sdmmc_io_get_cis_data(sdmmc_card_t* card, uint8_t* out_buffer, size_t buffer_size, size_t* inout_cis_size); + +/** + * Parse and print the CIS information of a SDIO card. + * + * @note Not all the CIS codes and all kinds of tuples are supported. If you + * see some unresolved code, you can add the parsing of these code in + * sdmmc_io.c and contribute to the IDF through the Github repository. + * + * using sdmmc_card_init + * @param buffer Buffer to parse + * @param buffer_size Size of the buffer. + * @param fp File pointer to print to, set to NULL to print to stdout. + * + * @return + * - SDMMC_OK: on success + * - SDMMC_ERR_NOT_SUPPORTED: if the value from the card is not supported to be parsed. + * - SDMMC_ERR_INVALID_SIZE: if the CIS size fields are not correct. + */ +sdmmc_err_t sdmmc_io_print_cis_info(uint8_t* buffer, size_t buffer_size, FILE* fp); + +sdmmc_err_t sdmmc_send_cmd_switch(sdmmc_card_t *card); + +sdmmc_err_t sdmmc_send_stop_transmission(sdmmc_card_t *card); + +#ifdef __cplusplus +} +#endif + +#endif diff --git a/third-party/sdmmc-1.0/inc/sdmmc_common.h b/third-party/sdmmc-1.0/inc/sdmmc_common.h new file mode 100644 index 00000000..537d83d0 --- /dev/null +++ b/third-party/sdmmc-1.0/inc/sdmmc_common.h @@ -0,0 +1,177 @@ +/* + * Copyright (c) 2006 Uwe Stuehler + * Adaptations to ESP-IDF Copyright (c) 2016-2018 Espressif Systems (Shanghai) PTE LTD + * + * Permission to use, copy, modify, and distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES + * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR + * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES + * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN + * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF + * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + */ + +#ifndef _SDMMC_COMMON_H_ +#define _SDMMC_COMMON_H_ + +#ifdef __cplusplus +extern "C" +{ +#endif + +#include +#include + +#include "sdmmc_defs.h" +#include "sdmmc_types.h" +#include "sdmmc_cmd.h" +#include "sdmmc_port.h" + +/** + * @brief Flags to indicate the capabilities of the various memory systems + */ +#define MALLOC_CAP_EXEC (1<<0) ///< Memory must be able to run executable code +#define MALLOC_CAP_32BIT (1<<1) ///< Memory must allow for aligned 32-bit data accesses +#define MALLOC_CAP_8BIT (1<<2) ///< Memory must allow for 8/16/...-bit data accesses +#define MALLOC_CAP_DMA (1<<3) ///< Memory must be able to accessed by DMA +#define MALLOC_CAP_PID2 (1<<4) ///< Memory must be mapped to PID2 memory space (PIDs are not currently used) +#define MALLOC_CAP_PID3 (1<<5) ///< Memory must be mapped to PID3 memory space (PIDs are not currently used) +#define MALLOC_CAP_PID4 (1<<6) ///< Memory must be mapped to PID4 memory space (PIDs are not currently used) +#define MALLOC_CAP_PID5 (1<<7) ///< Memory must be mapped to PID5 memory space (PIDs are not currently used) +#define MALLOC_CAP_PID6 (1<<8) ///< Memory must be mapped to PID6 memory space (PIDs are not currently used) +#define MALLOC_CAP_PID7 (1<<9) ///< Memory must be mapped to PID7 memory space (PIDs are not currently used) +#define MALLOC_CAP_SPIRAM (1<<10) ///< Memory must be in SPI RAM +#define MALLOC_CAP_INTERNAL (1<<11) ///< Memory must be internal; specifically it should not disappear when flash/spiram cache is switched off +#define MALLOC_CAP_DEFAULT (1<<12) ///< Memory can be returned in a non-capability-specific memory allocation (e.g. malloc(), calloc()) call +#define MALLOC_CAP_IRAM_8BIT (1<<13) ///< Memory must be in IRAM and allow unaligned access +#define MALLOC_CAP_RETENTION (1<<14) + +#define MALLOC_CAP_INVALID (1<<31) ///< Memory can't be used / list end marker + + +#define SDMMC_GO_IDLE_DELAY_MS 20 +#define SDMMC_IO_SEND_OP_COND_DELAY_MS 10 + +/* These delay values are mostly useful for cases when CD pin is not used, and + * the card is removed. In this case, SDMMC peripheral may not always return + * CMD_DONE / DATA_DONE interrupts after signaling the error. These timeouts work + * as a safety net in such cases. + */ +#define SDMMC_DEFAULT_CMD_TIMEOUT_MS 1000 // Max timeout of ordinary commands +#define SDMMC_WRITE_CMD_TIMEOUT_MS 5000 // Max timeout of write commands + +/* Maximum retry/error count for SEND_OP_COND (CMD1). + * These are somewhat arbitrary, values originate from OpenBSD driver. + */ +#define SDMMC_SEND_OP_COND_MAX_RETRIES 100 +#define SDMMC_SEND_OP_COND_MAX_ERRORS 3 + +/* Functions to send individual commands */ +sdmmc_err_t sdmmc_send_cmd(sdmmc_card_t* card, sdmmc_command_t* cmd); +sdmmc_err_t sdmmc_send_app_cmd(sdmmc_card_t* card, sdmmc_command_t* cmd); +sdmmc_err_t sdmmc_send_cmd_go_idle_state(sdmmc_card_t* card); +sdmmc_err_t sdmmc_send_cmd_send_if_cond(sdmmc_card_t* card, uint32_t ocr); +sdmmc_err_t sdmmc_send_cmd_send_op_cond(sdmmc_card_t* card, uint32_t ocr, uint32_t *ocrp); +sdmmc_err_t sdmmc_send_cmd_read_ocr(sdmmc_card_t *card, uint32_t *ocrp); +sdmmc_err_t sdmmc_send_cmd_send_cid(sdmmc_card_t *card, sdmmc_cid_t *out_cid); +sdmmc_err_t sdmmc_send_cmd_all_send_cid(sdmmc_card_t* card, sdmmc_response_t* out_raw_cid); +sdmmc_err_t sdmmc_send_cmd_set_relative_addr(sdmmc_card_t* card, uint16_t* out_rca); +sdmmc_err_t sdmmc_send_cmd_set_blocklen(sdmmc_card_t* card, sdmmc_csd_t* csd); +sdmmc_err_t sdmmc_send_cmd_switch_func(sdmmc_card_t* card, + uint32_t mode, uint32_t group, uint32_t function, + sdmmc_switch_func_rsp_t* resp); +sdmmc_err_t sdmmc_send_cmd_send_csd(sdmmc_card_t* card, sdmmc_csd_t* out_csd); +sdmmc_err_t sdmmc_send_cmd_select_card(sdmmc_card_t* card, uint32_t rca); +sdmmc_err_t sdmmc_send_cmd_send_scr(sdmmc_card_t* card, sdmmc_scr_t *out_scr); +sdmmc_err_t sdmmc_send_cmd_set_bus_width(sdmmc_card_t* card, int width); +sdmmc_err_t sdmmc_send_cmd_send_status(sdmmc_card_t* card, uint32_t* out_status); +sdmmc_err_t sdmmc_send_cmd_crc_on_off(sdmmc_card_t* card, bool crc_enable); +sdmmc_err_t sdmmc_init_switch_hs(sdmmc_card_t *card); +sdmmc_err_t sdmmc_set_blockcount(sdmmc_card_t *card, size_t block_count); + +/* Higher level functions */ +sdmmc_err_t sdmmc_enable_hs_mode(sdmmc_card_t* card); +sdmmc_err_t sdmmc_enable_hs_mode_and_check(sdmmc_card_t* card); +sdmmc_err_t sdmmc_write_sectors_dma(sdmmc_card_t* card, const void* src, + size_t start_block, size_t block_count); +sdmmc_err_t sdmmc_read_sectors_dma(sdmmc_card_t* card, void* dst, + size_t start_block, size_t block_count); + +/* SD specific */ +sdmmc_err_t sdmmc_check_scr(sdmmc_card_t* card); +sdmmc_err_t sdmmc_decode_cid(sdmmc_response_t resp, sdmmc_cid_t* out_cid); +sdmmc_err_t sdmmc_decode_csd(sdmmc_response_t response, sdmmc_csd_t* out_csd); +sdmmc_err_t sdmmc_decode_scr(uint32_t *raw_scr, sdmmc_scr_t* out_scr); + +/* SDIO specific */ +sdmmc_err_t sdmmc_io_reset(sdmmc_card_t* card); +sdmmc_err_t sdmmc_io_enable_hs_mode(sdmmc_card_t* card); +sdmmc_err_t sdmmc_io_send_op_cond(sdmmc_card_t* card, uint32_t ocr, uint32_t *ocrp); +sdmmc_err_t sdmmc_io_rw_direct(sdmmc_card_t* card, int function, + uint32_t reg, uint32_t arg, uint8_t *byte); +sdmmc_err_t sdmmc_io_rw_extended(sdmmc_card_t* card, int function, + uint32_t reg, int arg, void *data, size_t size); + + +/* MMC specific */ +sdmmc_err_t sdmmc_mmc_send_ext_csd_data(sdmmc_card_t* card, void *out_data, size_t datalen); +sdmmc_err_t sdmmc_mmc_switch(sdmmc_card_t* card, uint8_t set, uint8_t index, uint8_t value); +sdmmc_err_t sdmmc_mmc_decode_cid(int mmc_ver, sdmmc_response_t resp, sdmmc_cid_t* out_cid); +sdmmc_err_t sdmmc_mmc_decode_csd(sdmmc_response_t response, sdmmc_csd_t* out_csd); +sdmmc_err_t sdmmc_mmc_enable_hs_mode(sdmmc_card_t* card); + +/* Parts of card initialization flow */ +sdmmc_err_t sdmmc_init_sd_if_cond(sdmmc_card_t* card); +sdmmc_err_t sdmmc_init_select_card(sdmmc_card_t* card); +sdmmc_err_t sdmmc_init_csd(sdmmc_card_t* card); +sdmmc_err_t sdmmc_init_cid(sdmmc_card_t* card); +sdmmc_err_t sdmmc_init_rca(sdmmc_card_t* card); +sdmmc_err_t sdmmc_init_mmc_decode_cid(sdmmc_card_t* card); +sdmmc_err_t sdmmc_init_ocr(sdmmc_card_t* card); +sdmmc_err_t sdmmc_init_spi_crc(sdmmc_card_t* card); +sdmmc_err_t sdmmc_init_io(sdmmc_card_t* card); +sdmmc_err_t sdmmc_init_sd_blocklen(sdmmc_card_t* card); +sdmmc_err_t sdmmc_init_sd_scr(sdmmc_card_t* card); +sdmmc_err_t sdmmc_init_sd_wait_data_ready(sdmmc_card_t* card); +sdmmc_err_t sdmmc_init_mmc_read_ext_csd(sdmmc_card_t* card); +sdmmc_err_t sdmmc_init_mmc_read_cid(sdmmc_card_t* card); +sdmmc_err_t sdmmc_init_host_bus_width(sdmmc_card_t* card); +sdmmc_err_t sdmmc_init_sd_bus_width(sdmmc_card_t* card); +sdmmc_err_t sdmmc_init_io_bus_width(sdmmc_card_t* card); +sdmmc_err_t sdmmc_init_mmc_bus_width(sdmmc_card_t* card); +sdmmc_err_t sdmmc_init_card_hs_mode(sdmmc_card_t* card); +sdmmc_err_t sdmmc_init_host_frequency(sdmmc_card_t* card); +sdmmc_err_t sdmmc_init_mmc_check_csd(sdmmc_card_t* card); + +/* Various helper functions */ +static inline bool host_is_spi(const sdmmc_card_t* card) +{ + return (card->host.flags & SDMMC_HOST_FLAG_SPI) != 0; +} + +static inline bool host_support_sdio(const sdmmc_card_t* card) +{ + return (card->host.flags & SDMMC_HOST_FLAG_SDIO) != 0; +} + +static inline uint32_t get_host_ocr(float voltage) +{ + // TODO: report exact voltage to the card + // For now tell that the host has 2.8-3.6V voltage range + (void) voltage; + return SD_OCR_VOL_MASK; +} + +void sdmmc_flip_byte_order(uint32_t* response, size_t size); + +sdmmc_err_t sdmmc_fix_host_flags(sdmmc_card_t *card); + +#ifdef __cplusplus +} +#endif + +#endif \ No newline at end of file diff --git a/third-party/sdmmc-1.0/inc/sdmmc_defs.h b/third-party/sdmmc-1.0/inc/sdmmc_defs.h new file mode 100644 index 00000000..603d5209 --- /dev/null +++ b/third-party/sdmmc-1.0/inc/sdmmc_defs.h @@ -0,0 +1,492 @@ +/* + * Copyright (c) 2006 Uwe Stuehler + * Adaptations to ESP-IDF Copyright (c) 2016 Espressif Systems (Shanghai) PTE LTD + * + * Permission to use, copy, modify, and distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES + * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR + * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES + * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN + * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF + * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + */ + +#ifndef _SDMMC_DEFS_H_ +#define _SDMMC_DEFS_H_ + +#ifdef __cplusplus +extern "C" +{ +#endif + +#include +#include + +/* MMC commands */ /* response type */ +#define MMC_GO_IDLE_STATE 0 /* R0 */ +#define MMC_SEND_OP_COND 1 /* R3 */ +#define MMC_ALL_SEND_CID 2 /* R2 */ +#define MMC_SET_RELATIVE_ADDR 3 /* R1 */ +#define MMC_SWITCH 6 /* R1B */ +#define MMC_SELECT_CARD 7 /* R1 */ +#define MMC_SEND_EXT_CSD 8 /* R1 */ +#define MMC_SEND_CSD 9 /* R2 */ +#define MMC_SEND_CID 10 /* R1 */ +#define MMC_READ_DAT_UNTIL_STOP 11 /* R1 */ +#define MMC_STOP_TRANSMISSION 12 /* R1B */ +#define MMC_SEND_STATUS 13 /* R1 */ +#define MMC_SET_BLOCKLEN 16 /* R1 */ +#define MMC_READ_BLOCK_SINGLE 17 /* R1 */ +#define MMC_READ_BLOCK_MULTIPLE 18 /* R1 */ +#define MMC_WRITE_DAT_UNTIL_STOP 20 /* R1 */ +#define MMC_SET_BLOCK_COUNT 23 /* R1 */ +#define MMC_WRITE_BLOCK_SINGLE 24 /* R1 */ +#define MMC_WRITE_BLOCK_MULTIPLE 25 /* R1 */ +#define MMC_APP_CMD 55 /* R1 */ + +/* SD commands */ /* response type */ +#define SD_SEND_RELATIVE_ADDR 3 /* R6 */ +#define SD_SEND_SWITCH_FUNC 6 /* R1 */ +#define SD_SEND_IF_COND 8 /* R7 */ +#define SD_READ_OCR 58 /* R3 */ +#define SD_CRC_ON_OFF 59 /* R1 */ + +/* SD application commands */ /* response type */ +#define SD_APP_SET_BUS_WIDTH 6 /* R1 */ +#define SD_APP_SD_STATUS 13 /* R2 */ +#define SD_APP_OP_COND 41 /* R3 */ +#define SD_APP_SEND_SCR 51 /* R1 */ + +/* SD IO commands */ +#define SD_IO_SEND_OP_COND 5 /* R4 */ +#define SD_IO_RW_DIRECT 52 /* R5 */ +#define SD_IO_RW_EXTENDED 53 /* R5 */ + +/* OCR bits */ +#define MMC_OCR_MEM_READY (1 << 31) /* memory power-up status bit */ +#define MMC_OCR_ACCESS_MODE_MASK 0x60000000 /* bits 30:29 */ +#define MMC_OCR_SECTOR_MODE (1 << 30) +#define MMC_OCR_BYTE_MODE (1 << 29) +#define MMC_OCR_3_5V_3_6V (1 << 23) +#define MMC_OCR_3_4V_3_5V (1 << 22) +#define MMC_OCR_3_3V_3_4V (1 << 21) +#define MMC_OCR_3_2V_3_3V (1 << 20) +#define MMC_OCR_3_1V_3_2V (1 << 19) +#define MMC_OCR_3_0V_3_1V (1 << 18) +#define MMC_OCR_2_9V_3_0V (1 << 17) +#define MMC_OCR_2_8V_2_9V (1 << 16) +#define MMC_OCR_2_7V_2_8V (1 << 15) +#define MMC_OCR_2_6V_2_7V (1 << 14) +#define MMC_OCR_2_5V_2_6V (1 << 13) +#define MMC_OCR_2_4V_2_5V (1 << 12) +#define MMC_OCR_2_3V_2_4V (1 << 11) +#define MMC_OCR_2_2V_2_3V (1 << 10) +#define MMC_OCR_2_1V_2_2V (1 << 9) +#define MMC_OCR_2_0V_2_1V (1 << 8) +#define MMC_OCR_1_65V_1_95V (1 << 7) + +#define SD_OCR_SDHC_CAP (1 << 30) +#define SD_OCR_VOL_MASK 0xFF8000 /* bits 23:15 */ + +/* SD mode R1 response type bits */ +#define MMC_R1_READY_FOR_DATA (1 << 8) /* ready for next transfer */ +#define MMC_R1_APP_CMD (1 << 5) /* app. commands supported */ +#define MMC_R1_SWITCH_ERROR (1 << 7) /* switch command did not succeed */ + +/* SPI mode R1 response type bits */ +#define SD_SPI_R1_IDLE_STATE (1 << 0) +#define SD_SPI_R1_ERASE_RST (1 << 1) +#define SD_SPI_R1_ILLEGAL_CMD (1 << 2) +#define SD_SPI_R1_CMD_CRC_ERR (1 << 3) +#define SD_SPI_R1_ERASE_SEQ_ERR (1 << 4) +#define SD_SPI_R1_ADDR_ERR (1 << 5) +#define SD_SPI_R1_PARAM_ERR (1 << 6) +#define SD_SPI_R1_NO_RESPONSE (1 << 7) + +#define SDIO_R1_FUNC_NUM_ERR (1 << 4) + +/* 48-bit response decoding (32 bits w/o CRC) */ +#define MMC_R1(resp) ((resp)[0]) +#define MMC_R3(resp) ((resp)[0]) +#define MMC_R4(resp) ((resp)[0]) +#define MMC_R5(resp) ((resp)[0]) +#define SD_R6(resp) ((resp)[0]) +#define MMC_R1_CURRENT_STATE(resp) (((resp)[0] >> 9) & 0xf) + +/* SPI mode response decoding */ +#define SD_SPI_R1(resp) ((resp)[0] & 0xff) +#define SD_SPI_R2(resp) ((resp)[0] & 0xffff) +#define SD_SPI_R3(resp) ((resp)[0]) +#define SD_SPI_R7(resp) ((resp)[0]) + +/* SPI mode data response decoding */ +#define SD_SPI_DATA_RSP_VALID(resp_byte) (((resp_byte)&0x11) == 0x1) +#define SD_SPI_DATA_RSP(resp_byte) (((resp_byte) >> 1) & 0x7) +#define SD_SPI_DATA_ACCEPTED 0x2 +#define SD_SPI_DATA_CRC_ERROR 0x5 +#define SD_SPI_DATA_WR_ERROR 0x6 + +/* RCA argument and response */ +#define MMC_ARG_RCA(rca) ((rca) << 16) +#define SD_R6_RCA(resp) (SD_R6((resp)) >> 16) + +/* bus width argument */ +#define SD_ARG_BUS_WIDTH_1 0 +#define SD_ARG_BUS_WIDTH_4 2 + +/* EXT_CSD fields */ +#define EXT_CSD_BUS_WIDTH 183 /* WO */ +#define EXT_CSD_HS_TIMING 185 /* R/W */ +#define EXT_CSD_REV 192 /* RO */ +#define EXT_CSD_STRUCTURE 194 /* RO */ +#define EXT_CSD_CARD_TYPE 196 /* RO */ +#define EXT_CSD_SEC_COUNT 212 /* RO */ +#define EXT_CSD_PWR_CL_26_360 203 /* RO */ +#define EXT_CSD_PWR_CL_52_360 202 /* RO */ +#define EXT_CSD_PWR_CL_26_195 201 /* RO */ +#define EXT_CSD_PWR_CL_52_195 200 /* RO */ +#define EXT_CSD_POWER_CLASS 187 /* R/W */ +#define EXT_CSD_CMD_SET 191 /* R/W */ +#define EXT_CSD_S_CMD_SET 504 /* RO */ + +/* EXT_CSD field definitions */ +#define EXT_CSD_CMD_SET_NORMAL (1U << 0) +#define EXT_CSD_CMD_SET_SECURE (1U << 1) +#define EXT_CSD_CMD_SET_CPSECURE (1U << 2) + +/* EXT_CSD_HS_TIMING */ +#define EXT_CSD_HS_TIMING_BC 0 +#define EXT_CSD_HS_TIMING_HS 1 +#define EXT_CSD_HS_TIMING_HS200 2 +#define EXT_CSD_HS_TIMING_HS400 3 + +/* EXT_CSD_BUS_WIDTH */ +#define EXT_CSD_BUS_WIDTH_1 0 +#define EXT_CSD_BUS_WIDTH_4 1 +#define EXT_CSD_BUS_WIDTH_8 2 +#define EXT_CSD_BUS_WIDTH_4_DDR 5 +#define EXT_CSD_BUS_WIDTH_8_DDR 6 + +/* EXT_CSD_CARD_TYPE */ +/* The only currently valid values for this field are 0x01, 0x03, 0x07, + * 0x0B and 0x0F. */ +#define EXT_CSD_CARD_TYPE_F_26M (1 << 0) /* SDR at "rated voltages */ +#define EXT_CSD_CARD_TYPE_F_52M (1 << 1) /* SDR at "rated voltages */ +#define EXT_CSD_CARD_TYPE_F_52M_1_8V (1 << 2) /* DDR, 1.8V or 3.3V I/O */ +#define EXT_CSD_CARD_TYPE_F_52M_1_2V (1 << 3) /* DDR, 1.2V I/O */ +#define EXT_CSD_CARD_TYPE_26M 0x01 +#define EXT_CSD_CARD_TYPE_52M 0x03 +#define EXT_CSD_CARD_TYPE_52M_V18 0x07 +#define EXT_CSD_CARD_TYPE_52M_V12 0x0b +#define EXT_CSD_CARD_TYPE_52M_V12_18 0x0f + +/* EXT_CSD MMC */ +#define EXT_CSD_MMC_SIZE 512 + +/* MMC_SWITCH access mode */ +#define MMC_SWITCH_MODE_CMD_SET 0x00 /* Change the command set */ +#define MMC_SWITCH_MODE_SET_BITS 0x01 /* Set bits in value */ +#define MMC_SWITCH_MODE_CLEAR_BITS 0x02 /* Clear bits in value */ +#define MMC_SWITCH_MODE_WRITE_BYTE 0x03 /* Set target to value */ + +/* MMC R2 response (CSD) */ +#define MMC_CSD_CSDVER(resp) MMC_RSP_BITS((resp), 126, 2) +#define MMC_CSD_CSDVER_1_0 1 +#define MMC_CSD_CSDVER_2_0 2 +#define MMC_CSD_CSDVER_EXT_CSD 3 +#define MMC_CSD_MMCVER(resp) MMC_RSP_BITS((resp), 122, 4) +#define MMC_CSD_MMCVER_1_0 0 /* MMC 1.0 - 1.2 */ +#define MMC_CSD_MMCVER_1_4 1 /* MMC 1.4 */ +#define MMC_CSD_MMCVER_2_0 2 /* MMC 2.0 - 2.2 */ +#define MMC_CSD_MMCVER_3_1 3 /* MMC 3.1 - 3.3 */ +#define MMC_CSD_MMCVER_4_0 4 /* MMC 4 */ +#define MMC_CSD_READ_BL_LEN(resp) MMC_RSP_BITS((resp), 80, 4) +#define MMC_CSD_C_SIZE(resp) MMC_RSP_BITS((resp), 62, 12) +#define MMC_CSD_CAPACITY(resp) ((MMC_CSD_C_SIZE((resp)) + 1) << (MMC_CSD_C_SIZE_MULT((resp)) + 2)) +#define MMC_CSD_C_SIZE_MULT(resp) MMC_RSP_BITS((resp), 47, 3) + +/* MMC v1 R2 response (CID) */ +#define MMC_CID_MID_V1(resp) MMC_RSP_BITS((resp), 104, 24) +#define MMC_CID_PNM_V1_CPY(resp, pnm) \ + do \ + { \ + (pnm)[0] = MMC_RSP_BITS((resp), 96, 8); \ + (pnm)[1] = MMC_RSP_BITS((resp), 88, 8); \ + (pnm)[2] = MMC_RSP_BITS((resp), 80, 8); \ + (pnm)[3] = MMC_RSP_BITS((resp), 72, 8); \ + (pnm)[4] = MMC_RSP_BITS((resp), 64, 8); \ + (pnm)[5] = MMC_RSP_BITS((resp), 56, 8); \ + (pnm)[6] = MMC_RSP_BITS((resp), 48, 8); \ + (pnm)[7] = '\0'; \ + } while (0) +#define MMC_CID_REV_V1(resp) MMC_RSP_BITS((resp), 40, 8) +#define MMC_CID_PSN_V1(resp) MMC_RSP_BITS((resp), 16, 24) +#define MMC_CID_MDT_V1(resp) MMC_RSP_BITS((resp), 8, 8) + +/* MMC v2 R2 response (CID) */ +#define MMC_CID_MID_V2(resp) MMC_RSP_BITS((resp), 120, 8) +#define MMC_CID_OID_V2(resp) MMC_RSP_BITS((resp), 104, 16) +#define MMC_CID_PNM_V2_CPY(resp, pnm) \ + do \ + { \ + (pnm)[0] = MMC_RSP_BITS((resp), 96, 8); \ + (pnm)[1] = MMC_RSP_BITS((resp), 88, 8); \ + (pnm)[2] = MMC_RSP_BITS((resp), 80, 8); \ + (pnm)[3] = MMC_RSP_BITS((resp), 72, 8); \ + (pnm)[4] = MMC_RSP_BITS((resp), 64, 8); \ + (pnm)[5] = MMC_RSP_BITS((resp), 56, 8); \ + (pnm)[6] = '\0'; \ + } while (0) +#define MMC_CID_PSN_V2(resp) MMC_RSP_BITS((resp), 16, 32) + +/* SD R2 response (CSD) */ +#define SD_CSD_CSDVER(resp) MMC_RSP_BITS((resp), 126, 2) +#define SD_CSD_CSDVER_1_0 0 +#define SD_CSD_CSDVER_2_0 1 +#define SD_CSD_TAAC(resp) MMC_RSP_BITS((resp), 112, 8) +#define SD_CSD_TAAC_1_5_MSEC 0x26 +#define SD_CSD_NSAC(resp) MMC_RSP_BITS((resp), 104, 8) +#define SD_CSD_SPEED(resp) MMC_RSP_BITS((resp), 96, 8) +#define SD_CSD_SPEED_25_MHZ 0x32 +#define SD_CSD_SPEED_50_MHZ 0x5a +#define SD_CSD_CCC(resp) MMC_RSP_BITS((resp), 84, 12) +#define SD_CSD_CCC_BASIC (1 << 0) /* basic */ +#define SD_CSD_CCC_BR (1 << 2) /* block read */ +#define SD_CSD_CCC_BW (1 << 4) /* block write */ +#define SD_CSD_CCC_ERASE (1 << 5) /* erase */ +#define SD_CSD_CCC_WP (1 << 6) /* write protection */ +#define SD_CSD_CCC_LC (1 << 7) /* lock card */ +#define SD_CSD_CCC_AS (1 << 8) /*application specific*/ +#define SD_CSD_CCC_IOM (1 << 9) /* I/O mode */ +#define SD_CSD_CCC_SWITCH (1 << 10) /* switch */ +#define SD_CSD_READ_BL_LEN(resp) MMC_RSP_BITS((resp), 80, 4) +#define SD_CSD_READ_BL_PARTIAL(resp) MMC_RSP_BITS((resp), 79, 1) +#define SD_CSD_WRITE_BLK_MISALIGN(resp) MMC_RSP_BITS((resp), 78, 1) +#define SD_CSD_READ_BLK_MISALIGN(resp) MMC_RSP_BITS((resp), 77, 1) +#define SD_CSD_DSR_IMP(resp) MMC_RSP_BITS((resp), 76, 1) +#define SD_CSD_C_SIZE(resp) MMC_RSP_BITS((resp), 62, 12) +#define SD_CSD_CAPACITY(resp) ((SD_CSD_C_SIZE((resp)) + 1) << (SD_CSD_C_SIZE_MULT((resp)) + 2)) +#define SD_CSD_V2_C_SIZE(resp) MMC_RSP_BITS((resp), 48, 22) +#define SD_CSD_V2_CAPACITY(resp) ((SD_CSD_V2_C_SIZE((resp)) + 1) << 10) +#define SD_CSD_V2_BL_LEN 0x9 /* 512 */ +#define SD_CSD_VDD_R_CURR_MIN(resp) MMC_RSP_BITS((resp), 59, 3) +#define SD_CSD_VDD_R_CURR_MAX(resp) MMC_RSP_BITS((resp), 56, 3) +#define SD_CSD_VDD_W_CURR_MIN(resp) MMC_RSP_BITS((resp), 53, 3) +#define SD_CSD_VDD_W_CURR_MAX(resp) MMC_RSP_BITS((resp), 50, 3) +#define SD_CSD_VDD_RW_CURR_100mA 0x7 +#define SD_CSD_VDD_RW_CURR_80mA 0x6 +#define SD_CSD_C_SIZE_MULT(resp) MMC_RSP_BITS((resp), 47, 3) +#define SD_CSD_ERASE_BLK_EN(resp) MMC_RSP_BITS((resp), 46, 1) +#define SD_CSD_SECTOR_SIZE(resp) MMC_RSP_BITS((resp), 39, 7) /* +1 */ +#define SD_CSD_WP_GRP_SIZE(resp) MMC_RSP_BITS((resp), 32, 7) /* +1 */ +#define SD_CSD_WP_GRP_ENABLE(resp) MMC_RSP_BITS((resp), 31, 1) +#define SD_CSD_R2W_FACTOR(resp) MMC_RSP_BITS((resp), 26, 3) +#define SD_CSD_WRITE_BL_LEN(resp) MMC_RSP_BITS((resp), 22, 4) +#define SD_CSD_RW_BL_LEN_2G 0xa +#define SD_CSD_RW_BL_LEN_1G 0x9 +#define SD_CSD_WRITE_BL_PARTIAL(resp) MMC_RSP_BITS((resp), 21, 1) +#define SD_CSD_FILE_FORMAT_GRP(resp) MMC_RSP_BITS((resp), 15, 1) +#define SD_CSD_COPY(resp) MMC_RSP_BITS((resp), 14, 1) +#define SD_CSD_PERM_WRITE_PROTECT(resp) MMC_RSP_BITS((resp), 13, 1) +#define SD_CSD_TMP_WRITE_PROTECT(resp) MMC_RSP_BITS((resp), 12, 1) +#define SD_CSD_FILE_FORMAT(resp) MMC_RSP_BITS((resp), 10, 2) + +/* SD R2 response (CID) */ +#define SD_CID_MID(resp) MMC_RSP_BITS((resp), 120, 8) +#define SD_CID_OID(resp) MMC_RSP_BITS((resp), 104, 16) +#define SD_CID_PNM_CPY(resp, pnm) \ + do \ + { \ + (pnm)[0] = MMC_RSP_BITS((resp), 96, 8); \ + (pnm)[1] = MMC_RSP_BITS((resp), 88, 8); \ + (pnm)[2] = MMC_RSP_BITS((resp), 80, 8); \ + (pnm)[3] = MMC_RSP_BITS((resp), 72, 8); \ + (pnm)[4] = MMC_RSP_BITS((resp), 64, 8); \ + (pnm)[5] = '\0'; \ + } while (0) +#define SD_CID_REV(resp) MMC_RSP_BITS((resp), 56, 8) +#define SD_CID_PSN(resp) MMC_RSP_BITS((resp), 24, 32) +#define SD_CID_MDT(resp) MMC_RSP_BITS((resp), 8, 12) + +/* SCR (SD Configuration Register) */ +#define SCR_STRUCTURE(scr) MMC_RSP_BITS((scr), 60, 4) +#define SCR_STRUCTURE_VER_1_0 0 /* Version 1.0 */ +#define SCR_SD_SPEC(scr) MMC_RSP_BITS((scr), 56, 4) +#define SCR_SD_SPEC_VER_1_0 0 /* Version 1.0 and 1.01 */ +#define SCR_SD_SPEC_VER_1_10 1 /* Version 1.10 */ +#define SCR_SD_SPEC_VER_2 2 /* Version 2.00 or Version 3.0x */ +#define SCR_DATA_STAT_AFTER_ERASE(scr) MMC_RSP_BITS((scr), 55, 1) +#define SCR_SD_SECURITY(scr) MMC_RSP_BITS((scr), 52, 3) +#define SCR_SD_SECURITY_NONE 0 /* no security */ +#define SCR_SD_SECURITY_1_0 1 /* security protocol 1.0 */ +#define SCR_SD_SECURITY_1_0_2 2 /* security protocol 1.0 */ +#define SCR_SD_BUS_WIDTHS(scr) MMC_RSP_BITS((scr), 48, 4) +#define SCR_SD_BUS_WIDTHS_1BIT (1 << 0) /* 1bit (DAT0) */ +#define SCR_SD_BUS_WIDTHS_4BIT (1 << 2) /* 4bit (DAT0-3) */ +#define SCR_SD_SPEC3(scr) MMC_RSP_BITS((scr), 47, 1) +#define SCR_EX_SECURITY(scr) MMC_RSP_BITS((scr), 43, 4) +#define SCR_SD_SPEC4(scr) MMC_RSP_BITS((scr), 42, 1) +#define SCR_RESERVED(scr) MMC_RSP_BITS((scr), 34, 8) +#define SCR_CMD_SUPPORT_CMD23(scr) MMC_RSP_BITS((scr), 33, 1) +#define SCR_CMD_SUPPORT_CMD20(scr) MMC_RSP_BITS((scr), 32, 1) +#define SCR_RESERVED2(scr) MMC_RSP_BITS((scr), 0, 32) + +/* Max supply current in SWITCH_FUNC response (in mA) */ +#define SD_SFUNC_I_MAX(status) (MMC_RSP_BITS((uint32_t *)(status), 496, 16)) + +/* Supported flags in SWITCH_FUNC response */ +#define SD_SFUNC_SUPPORTED(status, group) \ + (MMC_RSP_BITS((uint32_t *)(status), 400 + (group - 1) * 16, 16)) + +/* Selected function in SWITCH_FUNC response */ +#define SD_SFUNC_SELECTED(status, group) \ + (MMC_RSP_BITS((uint32_t *)(status), 376 + (group - 1) * 4, 4)) + +/* Busy flags in SWITCH_FUNC response */ +#define SD_SFUNC_BUSY(status, group) \ + (MMC_RSP_BITS((uint32_t *)(status), 272 + (group - 1) * 16, 16)) + +/* Version of SWITCH_FUNC response */ +#define SD_SFUNC_VER(status) (MMC_RSP_BITS((uint32_t *)(status), 368, 8)) + +#define SD_SFUNC_GROUP_MAX 6 +#define SD_SFUNC_FUNC_MAX 15 + +#define SD_ACCESS_MODE 1 /* Function group 1, Access Mode */ + +#define SD_ACCESS_MODE_SDR12 0 /* 25 MHz clock */ +#define SD_ACCESS_MODE_SDR25 1 /* 50 MHz clock */ +#define SD_ACCESS_MODE_SDR50 2 /* UHS-I, 100 MHz clock */ +#define SD_ACCESS_MODE_SDR104 3 /* UHS-I, 208 MHz clock */ +#define SD_ACCESS_MODE_DDR50 4 /* UHS-I, 50 MHz clock, DDR */ + +/** + * @brief Extract up to 32 sequential bits from an array of 32-bit words + * + * Bits within the word are numbered in the increasing order from LSB to MSB. + * + * As an example, consider 2 32-bit words: + * + * 0x01234567 0x89abcdef + * + * On a little-endian system, the bytes are stored in memory as follows: + * + * 67 45 23 01 ef cd ab 89 + * + * MMC_RSP_BITS will extact bits as follows: + * + * start=0 len=4 -> result=0x00000007 + * start=0 len=12 -> result=0x00000567 + * start=28 len=8 -> result=0x000000f0 + * start=59 len=5 -> result=0x00000011 + * + * @param src array of words to extract bits from + * @param start index of the first bit to extract + * @param len number of bits to extract, 1 to 32 + * @return 32-bit word where requested bits start from LSB + */ +static inline uint32_t MMC_RSP_BITS(uint32_t *src, int start, int len) +{ + uint32_t mask = (len % 32 == 0) ? UINT_MAX : UINT_MAX >> (32 - (len % 32)); + size_t word = start / 32; + size_t shift = start % 32; + uint32_t right = src[word] >> shift; + uint32_t left = (len + shift <= 32) ? 0 : src[word + 1] << ((32 - shift) % 32); + return (left | right) & mask; +} + +/* SD R4 response (IO OCR) */ +#define SD_IO_OCR_MEM_READY (1 << 31) +#define SD_IO_OCR_NUM_FUNCTIONS(ocr) (((ocr) >> 28) & 0x7) +#define SD_IO_OCR_MEM_PRESENT (1 << 27) +#define SD_IO_OCR_MASK 0x00fffff0 + +/* CMD52 arguments */ +#define SD_ARG_CMD52_READ (0 << 31) +#define SD_ARG_CMD52_WRITE (1 << 31) +#define SD_ARG_CMD52_FUNC_SHIFT 28 +#define SD_ARG_CMD52_FUNC_MASK 0x7 +#define SD_ARG_CMD52_EXCHANGE (1 << 27) +#define SD_ARG_CMD52_REG_SHIFT 9 +#define SD_ARG_CMD52_REG_MASK 0x1ffff +#define SD_ARG_CMD52_DATA_SHIFT 0 +#define SD_ARG_CMD52_DATA_MASK 0xff +#define SD_R5_DATA(resp) ((resp)[0] & 0xff) + +/* CMD53 arguments */ +#define SD_ARG_CMD53_READ (0 << 31) +#define SD_ARG_CMD53_WRITE (1 << 31) +#define SD_ARG_CMD53_FUNC_SHIFT 28 +#define SD_ARG_CMD53_FUNC_MASK 0x7 +#define SD_ARG_CMD53_BLOCK_MODE (1 << 27) +#define SD_ARG_CMD53_INCREMENT (1 << 26) +#define SD_ARG_CMD53_REG_SHIFT 9 +#define SD_ARG_CMD53_REG_MASK 0x1ffff +#define SD_ARG_CMD53_LENGTH_SHIFT 0 +#define SD_ARG_CMD53_LENGTH_MASK 0x1ff +#define SD_ARG_CMD53_LENGTH_MAX 512 + +/* Card Common Control Registers (CCCR) */ +#define SD_IO_CCCR_START 0x00000 +#define SD_IO_CCCR_SIZE 0x100 +#define SD_IO_CCCR_FN_ENABLE 0x02 +#define SD_IO_CCCR_FN_READY 0x03 +#define SD_IO_CCCR_INT_ENABLE 0x04 +#define SD_IO_CCCR_INT_PENDING 0x05 +#define SD_IO_CCCR_CTL 0x06 +#define CCCR_CTL_RES (1 << 3) +#define SD_IO_CCCR_BUS_WIDTH 0x07 +#define CCCR_BUS_WIDTH_1 (0 << 0) +#define CCCR_BUS_WIDTH_4 (2 << 0) +#define CCCR_BUS_WIDTH_8 (3 << 0) +#define CCCR_BUS_WIDTH_ECSI (1 << 5) +#define SD_IO_CCCR_CARD_CAP 0x08 +#define CCCR_CARD_CAP_LSC BIT(6) +#define CCCR_CARD_CAP_4BLS BIT(7) +#define SD_IO_CCCR_CISPTR 0x09 +#define SD_IO_CCCR_BLKSIZEL 0x10 +#define SD_IO_CCCR_BLKSIZEH 0x11 +#define SD_IO_CCCR_HIGHSPEED 0x13 +#define CCCR_HIGHSPEED_SUPPORT BIT(0) +#define CCCR_HIGHSPEED_ENABLE BIT(1) + +/* Function Basic Registers (FBR) */ +#define SD_IO_FBR_START 0x00100 +#define SD_IO_FBR_SIZE 0x00700 + +/* Card Information Structure (CIS) */ +#define SD_IO_CIS_START 0x01000 +#define SD_IO_CIS_SIZE 0x17000 + +/* CIS tuple codes (based on PC Card 16) */ +#define CISTPL_CODE_NULL 0x00 +#define CISTPL_CODE_DEVICE 0x01 +#define CISTPL_CODE_CHKSUM 0x10 +#define CISTPL_CODE_VERS1 0x15 +#define CISTPL_CODE_ALTSTR 0x16 +#define CISTPL_CODE_CONFIG 0x1A +#define CISTPL_CODE_CFTABLE_ENTRY 0x1B +#define CISTPL_CODE_MANFID 0x20 +#define CISTPL_CODE_FUNCID 0x21 +#define TPLFID_FUNCTION_SDIO 0x0c +#define CISTPL_CODE_FUNCE 0x22 +#define CISTPL_CODE_VENDER_BEGIN 0x80 +#define CISTPL_CODE_VENDER_END 0x8F +#define CISTPL_CODE_SDIO_STD 0x91 +#define CISTPL_CODE_SDIO_EXT 0x92 +#define CISTPL_CODE_END 0xFF + +/* Timing */ +#define SDMMC_TIMING_LEGACY 0 +#define SDMMC_TIMING_HIGHSPEED 1 +#define SDMMC_TIMING_MMC_DDR52 2 + +#ifdef __cplusplus +} +#endif + +#endif diff --git a/third-party/sdmmc-1.0/inc/sdmmc_types.h b/third-party/sdmmc-1.0/inc/sdmmc_types.h new file mode 100644 index 00000000..c199d6e1 --- /dev/null +++ b/third-party/sdmmc-1.0/inc/sdmmc_types.h @@ -0,0 +1,212 @@ +/* + * Copyright (c) 2006 Uwe Stuehler + * Adaptations to ESP-IDF Copyright (c) 2016 Espressif Systems (Shanghai) PTE LTD + * + * Permission to use, copy, modify, and distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES + * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR + * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES + * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN + * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF + * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + */ + +#ifndef _SDMMC_TYPES_H_ +#define _SDMMC_TYPES_H_ + +#ifdef __cplusplus +extern "C" +{ +#endif + +#include +#include + +#include "sdmmc_port.h" + +/* Definitions for error constants. */ +#define SDMMC_OK 0 /* sdmmc_err_t value indicating success (no error) */ +#define SDMMC_FAIL -1 /* Generic sdmmc_err_t code indicating failure */ + +#define SDMMC_ERR_NO_MEM 0x101 /* Out of memory */ +#define SDMMC_ERR_INVALID_ARG 0x102 /* Invalid argument */ +#define SDMMC_ERR_INVALID_STATE 0x103 /* Invalid state */ +#define SDMMC_ERR_INVALID_SIZE 0x104 /* Invalid size */ +#define SDMMC_ERR_NOT_FOUND 0x105 /* Requested resource not found */ +#define SDMMC_ERR_NOT_SUPPORTED 0x106 /* Operation or feature not supported */ +#define SDMMC_ERR_TIMEOUT 0x107 /* Operation timed out */ +#define SDMMC_ERR_INVALID_RESPONSE 0x108 /* Received response was invalid */ +#define SDMMC_ERR_INVALID_CRC 0x109 /* CRC or checksum was invalid */ +#define SDMMC_ERR_INVALID_VERSION 0x10A /* Version was invalid */ +#define SDMMC_ERR_INVALID_MAC 0x10B /* MAC address was invalid */ +#define SDMMC_ERR_SEND_CMD_FAILED 0x10C /* Send command failed */ +#define SDMMC_ERR_NOT_READY 0x10D /* Host not ready */ + +/** + * Decoded values from SD card Card Specific Data register + */ +typedef struct { + int csd_ver; /* CSD structure format */ + int mmc_ver; /* MMC version (for CID format) */ + int capacity; /* total number of sectors */ + int sector_size; /* sector size in bytes */ + int read_block_len; /* block length for reads */ + int card_command_class; /* Card Command Class for SD */ + int tr_speed; /* Max transfer speed */ +} sdmmc_csd_t; + +/** + * Decoded values from SD card Card IDentification register + */ +typedef struct { + int mfg_id; /* manufacturer identification number */ + int oem_id; /* OEM/product identification number */ + char name[8]; /* product name (MMC v1 has the longest) */ + int revision; /* product revision */ + int serial; /* product serial number */ + int date; /* manufacturing date */ +} sdmmc_cid_t; + +/** + * Decoded values from SD Configuration Register + */ +typedef struct { + int sd_spec; /* SD Physical layer specification version, reported by card */ + int bus_width; /* bus widths supported by card: BIT(0) — 1-bit bus, BIT(2) — 4-bit bus */ +} sdmmc_scr_t; + +/** + * Decoded values of Extended Card Specific Data + */ +typedef struct { + uint8_t power_class; /* Power class used by the card */ +} sdmmc_ext_csd_t; + +/** + * SD/MMC command response buffer + */ +typedef uint32_t sdmmc_response_t[4]; + +/** + * SD SWITCH_FUNC response buffer + */ +typedef struct { + uint32_t data[512 / 8 / sizeof(uint32_t)]; /* response data */ +} sdmmc_switch_func_rsp_t; + +/** + * SD/MMC command information + */ +typedef struct { + uint32_t opcode; /* SD or MMC command index */ + uint32_t arg; /* SD/MMC command argument */ + sdmmc_response_t response; /* response buffer */ + void* data; /* buffer to send or read into */ + size_t datalen; /* length of data buffer */ + size_t blklen; /* block length */ + int flags; /* see below */ +/** @cond */ +#define SCF_ITSDONE 0x0001 /* command is complete */ +#define SCF_CMD(flags) ((flags) & 0x00f0) +#define SCF_CMD_AC 0x0000 +#define SCF_CMD_ADTC 0x0010 +#define SCF_CMD_BC 0x0020 +#define SCF_CMD_BCR 0x0030 +#define SCF_CMD_READ 0x0040 /* read command (data expected) */ +#define SCF_RSP_BSY 0x0100 +#define SCF_RSP_136 0x0200 +#define SCF_RSP_CRC 0x0400 +#define SCF_RSP_IDX 0x0800 +#define SCF_RSP_PRESENT 0x1000 +/* response types */ +#define SCF_RSP_R0 0 /* none */ +#define SCF_RSP_R1 (SCF_RSP_PRESENT|SCF_RSP_CRC|SCF_RSP_IDX) +#define SCF_RSP_R1B (SCF_RSP_PRESENT|SCF_RSP_CRC|SCF_RSP_IDX|SCF_RSP_BSY) +#define SCF_RSP_R2 (SCF_RSP_PRESENT|SCF_RSP_CRC|SCF_RSP_136) +#define SCF_RSP_R3 (SCF_RSP_PRESENT) +#define SCF_RSP_R4 (SCF_RSP_PRESENT) +#define SCF_RSP_R5 (SCF_RSP_PRESENT|SCF_RSP_CRC|SCF_RSP_IDX) +#define SCF_RSP_R5B (SCF_RSP_PRESENT|SCF_RSP_CRC|SCF_RSP_IDX|SCF_RSP_BSY) +#define SCF_RSP_R6 (SCF_RSP_PRESENT|SCF_RSP_CRC|SCF_RSP_IDX) +#define SCF_RSP_R7 (SCF_RSP_PRESENT|SCF_RSP_CRC|SCF_RSP_IDX) +/* special flags */ +#define SCF_WAIT_BUSY 0x2000 /* Wait for completion of card busy signal before returning */ +/** @endcond */ + sdmmc_err_t error; /* error returned from transfer */ + int timeout_ms; /* response timeout, in milliseconds */ +} sdmmc_command_t; + +/** + * SD/MMC Host description + * + * This structure defines properties of SD/MMC host and functions + * of SD/MMC host which can be used by upper layers. + */ +typedef struct { + uint32_t flags; /* flags defining host properties */ +#define SDMMC_HOST_FLAG_1BIT BIT(0) /* host supports 1-line SD and MMC protocol */ +#define SDMMC_HOST_FLAG_4BIT BIT(1) /* host supports 4-line SD and MMC protocol */ +#define SDMMC_HOST_FLAG_8BIT BIT(2) /* host supports 8-line MMC protocol */ +#define SDMMC_HOST_FLAG_SPI BIT(3) /* host supports SPI protocol */ +#define SDMMC_HOST_FLAG_DDR BIT(4) /* host supports DDR mode for SD/MMC */ +#define SDMMC_HOST_FLAG_DEINIT_ARG BIT(5) /* host `deinit` function called with the slot argument */ +#define SDMMC_HOST_FLAG_SDIO BIT(6) /* host supports SDIO */ + int slot; /* slot number, to be passed to host functions */ + int max_freq_khz; /* max frequency supported by the host */ +#define SDMMC_FREQ_DEFAULT 20000 /* SD/MMC Default speed (limited by clock divider) */ +#define SDMMC_FREQ_HIGHSPEED 40000 /* SD High speed (limited by clock divider) */ +#define SDMMC_FREQ_PROBING 400 /* SD/MMC probing speed */ +#define SDMMC_FREQ_52M 52000 /* MMC 52MHz speed */ +#define SDMMC_FREQ_25M 25000 +#define SDMMC_FREQ_26M 26000 /* MMC 26MHz speed */ +#define SDMMC_FREQ_50M 50000 /* SD/MMC 50MHz high speed */ + float io_voltage; /* I/O voltage used by the controller (voltage switching is not supported) */ + sdmmc_err_t (*init)(int slot); /* Host function to initialize the driver */ + sdmmc_err_t (*set_bus_width)(int slot, size_t width); /* host function to set bus width */ + size_t (*get_bus_width)(int slot); /* host function to get bus width */ + sdmmc_err_t (*set_bus_ddr_mode)(int slot, bool ddr_enable); /* host function to set DDR mode */ + sdmmc_err_t (*set_card_clk)(int slot, uint32_t freq_khz); /* host function to set card clock frequency */ + sdmmc_err_t (*do_transaction)(int slot, sdmmc_command_t* cmdinfo); /* host function to do a transaction */ + union { + sdmmc_err_t (*deinit)(void); /* host function to deinitialize the driver */ + sdmmc_err_t (*deinit_p)(int slot); /* host function to deinitialize the driver, called with the `slot` */ + }; + sdmmc_err_t (*io_int_enable)(int slot); /* Host function to enable SDIO interrupt line */ + sdmmc_err_t (*io_int_wait)(int slot, TickType_t timeout_ticks); /* Host function to wait for SDIO interrupt line to be active */ + int command_timeout_ms; /* timeout, in milliseconds, of a single command. Set to 0 to use the default value. */ +} sdmmc_host_t; + +/** + * SD/MMC card information structure + */ +typedef struct { + sdmmc_host_t host; /* Host with which the card is associated */ + uint32_t ocr; /* OCR (Operation Conditions Register) value */ + union { + sdmmc_cid_t cid; /* decoded CID (Card IDentification) register value */ + sdmmc_response_t raw_cid; /* raw CID of MMC card to be decoded + after the CSD is fetched in the data transfer mode*/ + }; + sdmmc_csd_t csd; /* decoded CSD (Card-Specific Data) register value */ + sdmmc_scr_t scr; /* decoded SCR (SD card Configuration Register) value */ + sdmmc_ext_csd_t ext_csd; /* decoded EXT_CSD (Extended Card Specific Data) register value */ + uint16_t rca; /* RCA (Relative Card Address) */ + uint16_t max_freq_khz; /* Maximum frequency, in kHz, supported by the card */ + uint32_t is_mem : 1; /* Bit indicates if the card is a memory card */ + uint32_t is_sdio : 1; /* Bit indicates if the card is an IO card */ + uint32_t is_mmc : 1; /* Bit indicates if the card is MMC */ + uint32_t num_io_functions : 3; /* If is_sdio is 1, contains the number of IO functions on the card */ + uint32_t log_bus_width : 2; /* log2(bus width supported by card) */ + uint32_t is_ddr : 1; /* Card supports DDR mode */ + uint32_t reserved : 23; /* Reserved for future expansion */ +} sdmmc_card_t; + +#ifdef __cplusplus +} +#endif + +#endif diff --git a/third-party/sdmmc-1.0/port/fsdio/sdmmc_port.c b/third-party/sdmmc-1.0/port/fsdio/sdmmc_port.c new file mode 100644 index 00000000..be83e31b --- /dev/null +++ b/third-party/sdmmc-1.0/port/fsdio/sdmmc_port.c @@ -0,0 +1,117 @@ +/* + * Copyright : (C) 2022 Phytium Information Technology, Inc. + * All Rights Reserved. + * + * This program is OPEN SOURCE software: you can redistribute it and/or modify it + * under the terms of the Phytium Public License as published by the Phytium Technology Co.,Ltd, + * either version 1.0 of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful,but WITHOUT ANY WARRANTY; + * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + * See the Phytium Public License for more details. + * + * + * FilePath: sdmmc_port.c + * Date: 2022-07-25 09:58:29 + * LastEditTime: 2022-07-25 09:58:30 + * Description:  This files is for + * + * Modify History: + * Ver   Who        Date         Changes + * ----- ------     --------    -------------------------------------- + */ + +/***************************** Include Files *********************************/ +#include +#include +#include + +#include "fmemory_pool.h" +#include "parameters.h" + +#include "sdmmc_port.h" +#include "sdmmc_cmd.h" +#include "sdmmc_defs.h" + +/************************** Constant Definitions *****************************/ +#define SDMMC_ALIGNMENT 32U +#define SDMMC_DMA_BUF_SIZE 512U + +/* reserve more bytes for 64-bit */ +#if defined(__aarch64__) +#define SDMMC_MEM_BUF_SIZE 8192U * 2U +#else +#define SDMMC_MEM_BUF_SIZE 8192U +#endif +/**************************** Type Definitions *******************************/ + +/************************** Variable Definitions *****************************/ +static FMemp sdmmc_mem_pool; +static u8 mem_buf[SDMMC_MEM_BUF_SIZE]; +/***************** Macros (Inline Functions) Definitions *********************/ + +/************************** Function Prototypes ******************************/ + +/*****************************************************************************/ +sdmmc_err_t sdmmc_port_init(void) +{ + FError err = FT_SUCCESS; + if (FT_COMPONENT_IS_READY == sdmmc_mem_pool.is_ready) + return err; + + taskENTER_CRITICAL(); /* no schedule when init */ + + err = FMempInit(&sdmmc_mem_pool, mem_buf, mem_buf + sizeof(mem_buf)); /* init memory pool */; + + taskEXIT_CRITICAL(); /* allow schedule after init */ + + return (FT_SUCCESS == err) ? SDMMC_OK : SDMMC_FAIL; +} + +sdmmc_err_t sdmmc_port_deinit(void) +{ + FError err = FT_SUCCESS; + if (FT_COMPONENT_IS_READY != sdmmc_mem_pool.is_ready) + return err; + + taskENTER_CRITICAL(); /* no schedule when deinit */ + + FMempDeinit(&sdmmc_mem_pool); /* remove memroy pool */ + + taskEXIT_CRITICAL(); /* allow schedule after deinit */ + + return (FT_SUCCESS == err) ? SDMMC_OK : SDMMC_FAIL; +} + +void *sdmmc_port_align_malloc(size_t want_size, boolean dma_capable) +{ + void *pv = NULL; + FASSERT(FT_COMPONENT_IS_READY == sdmmc_mem_pool.is_ready); + + if (dma_capable) + { + if (want_size < SDMMC_DMA_BUF_SIZE) /* if allocated memory is needed by DMA, allocate at leaset 512 bytes */ + { + want_size = SDMMC_DMA_BUF_SIZE; + } + else if (want_size % SDMMC_DMA_BUF_SIZE) /* round up size to 512 */ + { + want_size = roundup(want_size, (size_t)SDMMC_DMA_BUF_SIZE); + } + } + + pv = FMempMallocAlign(&sdmmc_mem_pool, want_size, SDMMC_ALIGNMENT); /* allocate aligned memory */ + return pv; +} + +void sdmmc_port_align_free(void *pv) +{ + FASSERT(FT_COMPONENT_IS_READY == sdmmc_mem_pool.is_ready); + + FMempFree(&sdmmc_mem_pool, pv); +} + +boolean sdmmc_port_is_aligned_memory(const void *buf_p) +{ + return ((uintptr)buf_p % SDMMC_ALIGNMENT == 0); +} \ No newline at end of file diff --git a/third-party/sdmmc-1.0/port/fsdio/sdmmc_port.h b/third-party/sdmmc-1.0/port/fsdio/sdmmc_port.h new file mode 100644 index 00000000..07bef992 --- /dev/null +++ b/third-party/sdmmc-1.0/port/fsdio/sdmmc_port.h @@ -0,0 +1,86 @@ +/* + * Copyright : (C) 2022 Phytium Information Technology, Inc. + * All Rights Reserved. + * + * This program is OPEN SOURCE software: you can redistribute it and/or modify it + * under the terms of the Phytium Public License as published by the Phytium Technology Co.,Ltd, + * either version 1.0 of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful,but WITHOUT ANY WARRANTY; + * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + * See the Phytium Public License for more details. + * + * + * FilePath: sdmmc_port.h + * Date: 2022-07-25 09:58:09 + * LastEditTime: 2022-07-25 09:58:09 + * Description:  This files is for + * + * Modify History: + * Ver   Who        Date         Changes + * ----- ------     --------    -------------------------------------- + */ +#ifndef THIRD_PARTY_SDMMC_PORT_H +#define THIRD_PARTY_SDMMC_PORT_H + +#ifdef __cplusplus +extern "C" +{ +#endif + +/***************************** Include Files *********************************/ +#include + +#include "ft_types.h" +#include "fsleep.h" +#include "kernel.h" +#include "ft_assert.h" +#include "ft_debug.h" + +/************************** Constant Definitions *****************************/ +#define true TRUE +#define false FALSE + +/**************************** Type Definitions *******************************/ +typedef s32 sdmmc_err_t; +typedef boolean bool; + +/************************** Variable Definitions *****************************/ + +/***************** Macros (Inline Functions) Definitions *********************/ +#define SDMMC_DELAY(m) fsleep_microsec(m) +#define SDMMC_ASSERT(a) FASSERT(a) +#define WORD_ALIGNED_ATTR __attribute__((aligned(4))) +#define SDMMC_PTR_DMA_CAP(a) sdmmc_port_is_aligned_memory(a) + +#define SDMMC_LOGE( tag, format, ... ) LOG_EARLY_IMPL(tag, format, FT_LOG_ERROR, E, ##__VA_ARGS__) +#define SDMMC_LOGW( tag, format, ... ) LOG_EARLY_IMPL(tag, format, FT_LOG_WARN, W, ##__VA_ARGS__) +#define SDMMC_LOGI( tag, format, ... ) LOG_EARLY_IMPL(tag, format, FT_LOG_INFO, I, ##__VA_ARGS__) +#define SDMMC_LOGD( tag, format, ... ) LOG_EARLY_IMPL(tag, format, FT_LOG_DEBUG, D, ##__VA_ARGS__) +#define SDMMC_LOGV( tag, format, ... ) LOG_EARLY_IMPL(tag, format, FT_LOG_VERBOSE, W, ##__VA_ARGS__) + +#define SDMMC_LOG_BUFFER_HEXDUMP( tag, buffer, buff_len, level ) FtDumpHexWord((u32 *)(buffer), (u32)(buff_len)) + +/************************** Function Prototypes ******************************/ + +/*****************************************************************************/ +/* init sdmmc before use */ +sdmmc_err_t sdmmc_port_init(void); + +/* deinit sdmmc */ +sdmmc_err_t sdmmc_port_deinit(void); + +/* allocate aligned memory from local memory pool */ +void *sdmmc_port_align_malloc(size_t want_size, boolean dma_capable); + +/* free memory to local memory pool */ +void sdmmc_port_align_free(void *pv); + +/* check if address of buffer is aligned */ +boolean sdmmc_port_is_aligned_memory(const void *buf_p); + +#ifdef __cplusplus +} +#endif + +#endif \ No newline at end of file diff --git a/third-party/sdmmc-1.0/src/sdmmc_cmd.c b/third-party/sdmmc-1.0/src/sdmmc_cmd.c new file mode 100644 index 00000000..b2246c30 --- /dev/null +++ b/third-party/sdmmc-1.0/src/sdmmc_cmd.c @@ -0,0 +1,676 @@ +/* + * Copyright (c) 2006 Uwe Stuehler + * Adaptations to ESP-IDF Copyright (c) 2016-2018 Espressif Systems (Shanghai) PTE LTD + * + * Permission to use, copy, modify, and distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES + * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR + * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES + * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN + * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF + * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + */ + +#include "sdmmc_common.h" + +static const char *TAG = "sdmmc_cmd"; + +sdmmc_err_t sdmmc_send_cmd(sdmmc_card_t *card, sdmmc_command_t *cmd) +{ + if (card->host.command_timeout_ms != 0) + { + cmd->timeout_ms = card->host.command_timeout_ms; + } + else if (cmd->timeout_ms == 0) + { + cmd->timeout_ms = SDMMC_DEFAULT_CMD_TIMEOUT_MS; + } + + int slot = card->host.slot; + SDMMC_LOGV(TAG, "sending cmd slot=%d op=%d arg=%x flags=%x data=%p blklen=%d datalen=%d timeout=%d", + slot, cmd->opcode, cmd->arg, cmd->flags, cmd->data, cmd->blklen, cmd->datalen, cmd->timeout_ms); + sdmmc_err_t err = (*card->host.do_transaction)(slot, cmd); + if (err != 0) + { + SDMMC_LOGD(TAG, "cmd=%d, sdmmc_req_run returned 0x%x", cmd->opcode, err); + return err; + } + int state = MMC_R1_CURRENT_STATE(cmd->response); + SDMMC_LOGV(TAG, "cmd response %08x %08x %08x %08x err=0x%x state=%d", + cmd->response[0], + cmd->response[1], + cmd->response[2], + cmd->response[3], + cmd->error, + state); + return cmd->error; +} + +sdmmc_err_t sdmmc_send_app_cmd(sdmmc_card_t *card, sdmmc_command_t *cmd) +{ + sdmmc_command_t app_cmd = { + .opcode = MMC_APP_CMD, + .flags = SCF_CMD_AC | SCF_RSP_R1, + .arg = MMC_ARG_RCA(card->rca), + }; + SDMMC_LOGI(TAG, "cmd to be send %d", cmd->opcode); + sdmmc_err_t err = sdmmc_send_cmd(card, &app_cmd); + if (err != SDMMC_OK) + { + return err; + } + // Check APP_CMD status bit (only in SD mode) + if (!host_is_spi(card) && !(MMC_R1(app_cmd.response) & MMC_R1_APP_CMD)) + { + SDMMC_LOGW(TAG, "card doesn't support APP_CMD"); + return SDMMC_ERR_NOT_SUPPORTED; + } + return sdmmc_send_cmd(card, cmd); +} + +sdmmc_err_t sdmmc_send_cmd_go_idle_state(sdmmc_card_t *card) +{ + sdmmc_command_t cmd = { + .opcode = MMC_GO_IDLE_STATE, + .flags = SCF_CMD_BC | SCF_RSP_R0, + }; + sdmmc_err_t err = sdmmc_send_cmd(card, &cmd); + if (host_is_spi(card)) + { + /* To enter SPI mode, CMD0 needs to be sent twice (see figure 4-1 in + * SD Simplified spec v4.10). Some cards enter SD mode on first CMD0, + * so don't expect the above command to succeed. + * SCF_RSP_R1 flag below tells the lower layer to expect correct R1 + * response (in SPI mode). + */ + (void)err; + SDMMC_DELAY(SDMMC_GO_IDLE_DELAY_MS); + + cmd.flags |= SCF_RSP_R1; + err = sdmmc_send_cmd(card, &cmd); + } + if (err == SDMMC_OK) + { + SDMMC_DELAY(SDMMC_GO_IDLE_DELAY_MS); + } + return err; +} + +sdmmc_err_t sdmmc_send_cmd_send_if_cond(sdmmc_card_t *card, uint32_t ocr) +{ + const uint8_t pattern = 0xaa; /* any pattern will do here */ + sdmmc_command_t cmd = { + .opcode = SD_SEND_IF_COND, + .arg = (((ocr & SD_OCR_VOL_MASK) != 0) << 8) | pattern, + .flags = SCF_CMD_BCR | SCF_RSP_R7, + }; + sdmmc_err_t err = sdmmc_send_cmd(card, &cmd); + if (err != SDMMC_OK) + { + return err; + } + uint8_t response = cmd.response[0] & 0xff; + if (response != pattern) + { + SDMMC_LOGE(TAG, "%s: received=0x%x expected=0x%x", __func__, response, pattern); + return SDMMC_ERR_INVALID_RESPONSE; + } + return SDMMC_OK; +} + +sdmmc_err_t sdmmc_send_cmd_send_op_cond(sdmmc_card_t *card, uint32_t ocr, uint32_t *ocrp) +{ + sdmmc_err_t err; + + sdmmc_command_t cmd = { + .arg = ocr, + .flags = SCF_CMD_BCR | SCF_RSP_R3, + .opcode = SD_APP_OP_COND}; + int nretries = SDMMC_SEND_OP_COND_MAX_RETRIES; + int err_cnt = SDMMC_SEND_OP_COND_MAX_ERRORS; + for (; nretries != 0; --nretries) + { + bzero(&cmd, sizeof cmd); + cmd.arg = ocr; + cmd.flags = SCF_CMD_BCR | SCF_RSP_R3; + if (!card->is_mmc) + { /* SD mode */ + SDMMC_LOGD(TAG, "SD mode"); + cmd.opcode = SD_APP_OP_COND; + err = sdmmc_send_app_cmd(card, &cmd); + } + else + { /* MMC mode */ + SDMMC_LOGD(TAG, "MMC mode"); + cmd.arg &= ~MMC_OCR_ACCESS_MODE_MASK; + cmd.arg |= MMC_OCR_SECTOR_MODE; + cmd.opcode = MMC_SEND_OP_COND; + err = sdmmc_send_cmd(card, &cmd); + } + + if (err != SDMMC_OK) + { + if (--err_cnt == 0) + { + SDMMC_LOGD(TAG, "%s: sdmmc_send_app_cmd err=0x%x", __func__, err); + return err; + } + else + { + SDMMC_LOGV(TAG, "%s: ignoring err=0x%x", __func__, err); + continue; + } + } + // In SD protocol, card sets MEM_READY bit in OCR when it is ready. + // In SPI protocol, card clears IDLE_STATE bit in R1 response. + if (!host_is_spi(card)) + { + if ((MMC_R3(cmd.response) & MMC_OCR_MEM_READY) || + ocr == 0) + { + break; + } + } + else + { + if ((SD_SPI_R1(cmd.response) & SD_SPI_R1_IDLE_STATE) == 0) + { + break; + } + } + SDMMC_DELAY(1000); + } + if (nretries == 0) + { + return SDMMC_ERR_TIMEOUT; + } + if (ocrp) + { + *ocrp = MMC_R3(cmd.response); + } + return SDMMC_OK; +} + +sdmmc_err_t sdmmc_send_cmd_read_ocr(sdmmc_card_t *card, uint32_t *ocrp) +{ + SDMMC_ASSERT(ocrp); + sdmmc_command_t cmd = { + .opcode = SD_READ_OCR, + .flags = SCF_CMD_BCR | SCF_RSP_R2}; + sdmmc_err_t err = sdmmc_send_cmd(card, &cmd); + if (err != SDMMC_OK) + { + return err; + } + *ocrp = SD_SPI_R3(cmd.response); + return SDMMC_OK; +} + +sdmmc_err_t sdmmc_send_cmd_all_send_cid(sdmmc_card_t *card, sdmmc_response_t *out_raw_cid) +{ + SDMMC_ASSERT(out_raw_cid); + sdmmc_command_t cmd = { + .opcode = MMC_ALL_SEND_CID, + .flags = SCF_CMD_BCR | SCF_RSP_R2}; + sdmmc_err_t err = sdmmc_send_cmd(card, &cmd); + if (err != SDMMC_OK) + { + return err; + } + memcpy(out_raw_cid, &cmd.response, sizeof(sdmmc_response_t)); + return SDMMC_OK; +} + +sdmmc_err_t sdmmc_send_cmd_send_cid(sdmmc_card_t *card, sdmmc_cid_t *out_cid) +{ + SDMMC_ASSERT(out_cid); + SDMMC_ASSERT(host_is_spi(card) && "SEND_CID should only be used in SPI mode"); + SDMMC_ASSERT(!card->is_mmc && "MMC cards are not supported in SPI mode"); + sdmmc_response_t buf; + sdmmc_command_t cmd = { + .opcode = MMC_SEND_CID, + .flags = SCF_CMD_READ | SCF_CMD_ADTC, + .arg = 0, + .data = &buf[0], + .datalen = sizeof(buf)}; + sdmmc_err_t err = sdmmc_send_cmd(card, &cmd); + if (err != SDMMC_OK) + { + return err; + } + sdmmc_flip_byte_order(buf, sizeof(buf)); + return sdmmc_decode_cid(buf, out_cid); +} + +sdmmc_err_t sdmmc_send_cmd_set_relative_addr(sdmmc_card_t *card, uint16_t *out_rca) +{ + SDMMC_ASSERT(out_rca); + sdmmc_command_t cmd = { + .opcode = SD_SEND_RELATIVE_ADDR, + .flags = SCF_CMD_BCR | SCF_RSP_R6}; + + /* MMC cards expect us to set the RCA. + * Set RCA to 1 since we don't support multiple cards on the same bus, for now. + */ + uint16_t mmc_rca = 1; + if (card->is_mmc) + { + cmd.arg = MMC_ARG_RCA(mmc_rca); + } + + sdmmc_err_t err = sdmmc_send_cmd(card, &cmd); + if (err != SDMMC_OK) + { + return err; + } + *out_rca = (card->is_mmc) ? mmc_rca : SD_R6_RCA(cmd.response); + return SDMMC_OK; +} + +sdmmc_err_t sdmmc_send_cmd_set_blocklen(sdmmc_card_t *card, sdmmc_csd_t *csd) +{ + sdmmc_command_t cmd = { + .opcode = MMC_SET_BLOCKLEN, + .arg = csd->sector_size, + .flags = SCF_CMD_AC | SCF_RSP_R1}; + SDMMC_LOGD(TAG, "set block len: sector size: 0x%x", csd->sector_size); + return sdmmc_send_cmd(card, &cmd); +} + +sdmmc_err_t sdmmc_send_cmd_send_csd(sdmmc_card_t *card, sdmmc_csd_t *out_csd) +{ + /* The trick with SEND_CSD is that in SPI mode, it acts as a data read + * command, while in SD mode it is an AC command with R2 response. + */ + sdmmc_response_t spi_buf; + const bool is_spi = host_is_spi(card); + sdmmc_command_t cmd = { + .opcode = MMC_SEND_CSD, + .arg = is_spi ? 0 : MMC_ARG_RCA(card->rca), + .flags = is_spi ? (SCF_CMD_READ | SCF_CMD_ADTC | SCF_RSP_R1) : (SCF_CMD_AC | SCF_RSP_R2), + .data = is_spi ? &spi_buf[0] : 0, + .datalen = is_spi ? sizeof(spi_buf) : 0, + }; + sdmmc_err_t err = sdmmc_send_cmd(card, &cmd); + if (err != SDMMC_OK) + { + return err; + } + uint32_t *ptr = cmd.response; + if (is_spi) + { + sdmmc_flip_byte_order(spi_buf, sizeof(spi_buf)); + ptr = spi_buf; + } + + if (card->is_mmc) + { + err = sdmmc_mmc_decode_csd(cmd.response, out_csd); + } + else + { + err = sdmmc_decode_csd(ptr, out_csd); + } + return err; +} + +sdmmc_err_t sdmmc_send_cmd_select_card(sdmmc_card_t *card, uint32_t rca) +{ + /* Don't expect to see a response when de-selecting a card */ + uint32_t response = (rca == 0) ? 0 : SCF_RSP_R1; + sdmmc_command_t cmd = { + .opcode = MMC_SELECT_CARD, + .arg = MMC_ARG_RCA(rca), + .flags = SCF_CMD_AC | response}; + return sdmmc_send_cmd(card, &cmd); +} + +sdmmc_err_t sdmmc_send_cmd_send_scr(sdmmc_card_t *card, sdmmc_scr_t *out_scr) +{ + size_t datalen = 8; + uint32_t *buf = (uint32_t *)sdmmc_port_align_malloc(datalen, TRUE); + if (buf == NULL) + { + return SDMMC_ERR_NO_MEM; + } + SDMMC_LOGI(TAG, "send scr buf: %p, datalen: %d", buf, datalen); + sdmmc_command_t cmd = { + .data = buf, + .datalen = datalen, + .blklen = datalen, + .flags = SCF_CMD_ADTC | SCF_CMD_READ | SCF_RSP_R1, + .opcode = SD_APP_SEND_SCR}; + sdmmc_err_t err = sdmmc_send_app_cmd(card, &cmd); + if (err == SDMMC_OK) + { + err = sdmmc_decode_scr(buf, out_scr); + } + sdmmc_port_align_free(buf); + return err; +} + +sdmmc_err_t sdmmc_send_cmd_set_bus_width(sdmmc_card_t *card, int width) +{ + sdmmc_command_t cmd = { + .opcode = SD_APP_SET_BUS_WIDTH, + .flags = SCF_RSP_R1 | SCF_CMD_AC, + .arg = (width == 4) ? SD_ARG_BUS_WIDTH_4 : SD_ARG_BUS_WIDTH_1, + }; + + return sdmmc_send_app_cmd(card, &cmd); +} + +sdmmc_err_t sdmmc_send_cmd_crc_on_off(sdmmc_card_t *card, bool crc_enable) +{ + SDMMC_ASSERT(host_is_spi(card) && "CRC_ON_OFF can only be used in SPI mode"); + sdmmc_command_t cmd = { + .opcode = SD_CRC_ON_OFF, + .arg = crc_enable ? 1 : 0, + .flags = SCF_CMD_AC | SCF_RSP_R1}; + return sdmmc_send_cmd(card, &cmd); +} + +sdmmc_err_t sdmmc_send_cmd_send_status(sdmmc_card_t *card, uint32_t *out_status) +{ + sdmmc_command_t cmd = { + .opcode = MMC_SEND_STATUS, + .arg = MMC_ARG_RCA(card->rca), + .flags = SCF_CMD_AC | SCF_RSP_R1}; + sdmmc_err_t err = sdmmc_send_cmd(card, &cmd); + if (err != SDMMC_OK) + { + return err; + } + if (out_status) + { + *out_status = MMC_R1(cmd.response); + } + return SDMMC_OK; +} + +/* set number of blocks in next transcation */ +sdmmc_err_t sdmmc_set_blockcount(sdmmc_card_t *card, size_t block_count) +{ + sdmmc_command_t cmd = { + .opcode = MMC_SET_BLOCK_COUNT, + .arg = block_count & 0xffff, + .flags = SCF_CMD_AC | SCF_RSP_R1}; + return sdmmc_send_cmd(card, &cmd); +} + +sdmmc_err_t sdmmc_write_sectors(sdmmc_card_t *card, const void *src, + size_t start_block, size_t block_count) +{ + sdmmc_err_t err = SDMMC_OK; + size_t block_size = card->csd.sector_size; + if (SDMMC_PTR_DMA_CAP(src) && (intptr_t)src % 4 == 0) + { + err = sdmmc_write_sectors_dma(card, src, start_block, block_count); + } + else + { + // SDMMC peripheral needs DMA-capable buffers. Split the write into + // separate single block writes, if needed, and allocate a temporary + // DMA-capable buffer. + void *tmp_buf = sdmmc_port_align_malloc(block_size, TRUE); + if (tmp_buf == NULL) + { + return SDMMC_ERR_NO_MEM; + } + const uint8_t *cur_src = (const uint8_t *)src; + for (size_t i = 0; i < block_count; ++i) + { + memcpy(tmp_buf, cur_src, block_size); + cur_src += block_size; + err = sdmmc_write_sectors_dma(card, tmp_buf, start_block + i, 1); + if (err != SDMMC_OK) + { + SDMMC_LOGD(TAG, "%s: error 0x%x writing block %d+%d", + __func__, err, start_block, i); + break; + } + } + sdmmc_port_align_free(tmp_buf); + } + return err; +} + +sdmmc_err_t sdmmc_write_sectors_dma(sdmmc_card_t *card, const void *src, + size_t start_block, size_t block_count) +{ + if (start_block + block_count > (size_t)card->csd.capacity) + { + + SDMMC_LOGI(TAG, "start: %d, cnt: %d, capacity: %d", start_block, block_count, (size_t)card->csd.capacity); + return SDMMC_ERR_INVALID_SIZE; + } + size_t block_size = card->csd.sector_size; + sdmmc_err_t err = SDMMC_OK; + sdmmc_command_t cmd = { + .flags = SCF_CMD_ADTC | SCF_RSP_R1, + .blklen = block_size, + .data = (void *)src, + .datalen = block_count * block_size, + .timeout_ms = SDMMC_WRITE_CMD_TIMEOUT_MS}; + if (block_count == 1) + { + cmd.opcode = MMC_WRITE_BLOCK_SINGLE; + } + else + { + cmd.opcode = MMC_WRITE_BLOCK_MULTIPLE; + } + if (card->ocr & SD_OCR_SDHC_CAP) + { + cmd.arg = start_block; + } + else + { + cmd.arg = start_block * block_size; + } + + /* for multi-block transcation, send CMD-23 to announce block num, this is optional */ + if (block_count > 1) + { + err = sdmmc_set_blockcount(card, block_count); + if (err != SDMMC_OK) + { + SDMMC_LOGE(TAG, "%s: sdmmc_set_blockcount returned 0x%x", __func__, err); + return err; + } + } + + err = sdmmc_send_cmd(card, &cmd); + if (err != SDMMC_OK) + { + SDMMC_LOGE(TAG, "%s: sdmmc_send_cmd returned 0x%x", __func__, err); + return err; + } + + /* stop transmission for multi-block write, CMD12 is no supported for mmc card */ + if ((FALSE == card->is_mmc) && (block_count > 1)) + { + err = sdmmc_send_stop_transmission(card); + if (err != SDMMC_OK) + { + SDMMC_LOGE(TAG, "%s: send_stop_transmission returned 0x%x", __func__, err); + return err; + } + } + + uint32_t status = 0; + size_t count = 0; + while (!host_is_spi(card) && !(status & MMC_R1_READY_FOR_DATA)) + { + // TODO: add some timeout here + err = sdmmc_send_cmd_send_status(card, &status); + if (err != SDMMC_OK) + { + return err; + } + if (++count % 10 == 0) + { + SDMMC_LOGV(TAG, "waiting for card to become ready (%d)", count); + } + } + return SDMMC_OK; +} + +sdmmc_err_t sdmmc_read_sectors(sdmmc_card_t *card, void *dst, + size_t start_block, size_t block_count) +{ + sdmmc_err_t err = SDMMC_OK; + size_t block_size = card->csd.sector_size; + if (SDMMC_PTR_DMA_CAP(dst) && (intptr_t)dst % 4 == 0) + { + err = sdmmc_read_sectors_dma(card, dst, start_block, block_count); + } + else + { + // SDMMC peripheral needs DMA-capable buffers. Split the read into + // separate single block reads, if needed, and allocate a temporary + // DMA-capable buffer. + void *tmp_buf = sdmmc_port_align_malloc(block_size, TRUE); + if (tmp_buf == NULL) + { + return SDMMC_ERR_NO_MEM; + } + uint8_t *cur_dst = (uint8_t *)dst; + for (size_t i = 0; i < block_count; ++i) + { + err = sdmmc_read_sectors_dma(card, tmp_buf, start_block + i, 1); + if (err != SDMMC_OK) + { + SDMMC_LOGD(TAG, "%s: error 0x%x writing block %d+%d", + __func__, err, start_block, i); + break; + } + memcpy(cur_dst, tmp_buf, block_size); + cur_dst += block_size; + } + sdmmc_port_align_free(tmp_buf); + } + + return err; +} + +sdmmc_err_t sdmmc_read_sectors_dma(sdmmc_card_t *card, void *dst, + size_t start_block, size_t block_count) +{ + if (start_block + block_count > (size_t)card->csd.capacity) + { + + SDMMC_LOGI(TAG, "start: %d, cnt: %d, capacity: %d", start_block, block_count, (size_t)card->csd.capacity); + return SDMMC_ERR_INVALID_SIZE; + } + size_t block_size = card->csd.sector_size; + sdmmc_err_t err = SDMMC_OK; + sdmmc_command_t cmd = { + .flags = SCF_CMD_ADTC | SCF_CMD_READ | SCF_RSP_R1, + .blklen = block_size, + .data = (void *)dst, + .datalen = block_count * block_size}; + if (block_count == 1) + { + cmd.opcode = MMC_READ_BLOCK_SINGLE; + } + else + { + cmd.opcode = MMC_READ_BLOCK_MULTIPLE; + } + if (card->ocr & SD_OCR_SDHC_CAP) + { + cmd.arg = start_block; + } + else + { + cmd.arg = start_block * block_size; + } + + + /* for multi-block transcation, send CMD-23 to announce block num, this is optional */ + if (block_count > 1) + { + err = sdmmc_set_blockcount(card, block_count); + if (err != SDMMC_OK) + { + SDMMC_LOGE(TAG, "%s: sdmmc_set_blockcount returned 0x%x", __func__, err); + return err; + } + } + + err = sdmmc_send_cmd(card, &cmd); + if (err != SDMMC_OK) + { + SDMMC_LOGE(TAG, "%s: sdmmc_send_cmd returned 0x%x", __func__, err); + return err; + } + + /* stop transmission for multi-block read, CMD12 is no supported for mmc card */ + if ((FALSE == card->is_mmc) && (block_count > 1)) + { + err = sdmmc_send_stop_transmission(card); + if (err != SDMMC_OK) + { + SDMMC_LOGE(TAG, "%s: send_stop_transmission returned 0x%x", __func__, err); + return err; + } + } + + uint32_t status = 0; + size_t count = 0; + while (!host_is_spi(card) && !(status & MMC_R1_READY_FOR_DATA)) + { + // TODO: add some timeout here + err = sdmmc_send_cmd_send_status(card, &status); + if (err != SDMMC_OK) + { + return err; + } + if (++count % 10 == 0) + { + SDMMC_LOGV(TAG, "waiting for card to become ready (%d)", count); + } + } + + return SDMMC_OK; +} + +sdmmc_err_t sdmmc_send_cmd_switch(sdmmc_card_t *card) +{ + size_t datalen = 64; + sdmmc_err_t err; + + uint32_t *buf = (uint32_t *)sdmmc_port_align_malloc(datalen, FALSE); + if (NULL == buf) + { + return SDMMC_ERR_NO_MEM; + } + + memset(buf, 0, datalen); + sdmmc_command_t cmd = { + .opcode = MMC_SWITCH, + .arg = 0x2, + .flags = SCF_CMD_ADTC | SCF_RSP_R1 + }; + + err = sdmmc_send_app_cmd(card, &cmd); + sdmmc_port_align_free(buf); + return err; +} + +sdmmc_err_t sdmmc_send_stop_transmission(sdmmc_card_t *card) +{ + sdmmc_err_t err; + sdmmc_command_t cmd = { + .opcode = MMC_STOP_TRANSMISSION, + .arg = 0x0, + .flags = SCF_RSP_R1B + }; + err = sdmmc_send_app_cmd(card, &cmd); + return err; +} diff --git a/third-party/sdmmc-1.0/src/sdmmc_common.c b/third-party/sdmmc-1.0/src/sdmmc_common.c new file mode 100644 index 00000000..3ae686e3 --- /dev/null +++ b/third-party/sdmmc-1.0/src/sdmmc_common.c @@ -0,0 +1,400 @@ +/* + * Copyright (c) 2006 Uwe Stuehler + * Adaptations to ESP-IDF Copyright (c) 2016-2018 Espressif Systems (Shanghai) PTE LTD + * + * Permission to use, copy, modify, and distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES + * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR + * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES + * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN + * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF + * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + */ + +#include "sdmmc_common.h" + +static const char *TAG = "sdmmc_common"; + +sdmmc_err_t sdmmc_init_ocr(sdmmc_card_t *card) +{ + sdmmc_err_t err; + /* In SPI mode, READ_OCR (CMD58) command is used to figure out which voltage + * ranges the card can support. This step is skipped since 1.8V isn't + * supported on the ESP32. + */ + + uint32_t host_ocr = get_host_ocr(card->host.io_voltage); + if ((card->ocr & SD_OCR_SDHC_CAP) != 0) + { + host_ocr |= SD_OCR_SDHC_CAP; + } + /* Send SEND_OP_COND (ACMD41) command to the card until it becomes ready. */ + err = sdmmc_send_cmd_send_op_cond(card, host_ocr, &card->ocr); + + /* If time-out, re-try send_op_cond as MMC */ + if (err == SDMMC_ERR_TIMEOUT && !host_is_spi(card)) + { + SDMMC_LOGD(TAG, "send_op_cond timeout, trying MMC"); + card->is_mmc = 1; + err = sdmmc_send_cmd_send_op_cond(card, host_ocr, &card->ocr); + } + + if (err != SDMMC_OK) + { + SDMMC_LOGE(TAG, "%s: send_op_cond (1) returned 0x%x", __func__, err); + return err; + } + if (host_is_spi(card)) + { + err = sdmmc_send_cmd_read_ocr(card, &card->ocr); + if (err != SDMMC_OK) + { + SDMMC_LOGE(TAG, "%s: read_ocr returned 0x%x", __func__, err); + return err; + } + } + SDMMC_LOGD(TAG, "host_ocr=0x%x card_ocr=0x%x", host_ocr, card->ocr); + + /* Clear all voltage bits in host's OCR which the card doesn't support. + * Don't touch CCS bit because in SPI mode cards don't report CCS in ACMD41 + * response. + */ + host_ocr &= (card->ocr | (~SD_OCR_VOL_MASK)); + SDMMC_LOGD(TAG, "sdmmc_card_init: host_ocr=%08x, card_ocr=%08x", host_ocr, card->ocr); + return SDMMC_OK; +} + +sdmmc_err_t sdmmc_init_cid(sdmmc_card_t *card) +{ + sdmmc_err_t err; + sdmmc_response_t raw_cid; + if (!host_is_spi(card)) + { + err = sdmmc_send_cmd_all_send_cid(card, &raw_cid); + + if (err != SDMMC_OK) + { + SDMMC_LOGE(TAG, "%s: all_send_cid returned 0x%x", __func__, err); + return err; + } + if (!card->is_mmc) + { + err = sdmmc_decode_cid(raw_cid, &card->cid); + if (err != SDMMC_OK) + { + SDMMC_LOGE(TAG, "%s: decoding CID failed (0x%x)", __func__, err); + return err; + } + } + else + { + /* For MMC, need to know CSD to decode CID. But CSD can only be read + * in data transfer mode, and it is not possible to read CID in data + * transfer mode. We temporiliy store the raw cid and do the + * decoding after the RCA is set and the card is in data transfer + * mode. + */ + memcpy(card->raw_cid, raw_cid, sizeof(sdmmc_response_t)); + } + } + else + { + err = sdmmc_send_cmd_send_cid(card, &card->cid); + if (err != SDMMC_OK) + { + SDMMC_LOGE(TAG, "%s: send_cid returned 0x%x", __func__, err); + return err; + } + } + return SDMMC_OK; +} + +sdmmc_err_t sdmmc_init_rca(sdmmc_card_t *card) +{ + sdmmc_err_t err; + err = sdmmc_send_cmd_set_relative_addr(card, &card->rca); + if (err != SDMMC_OK) + { + SDMMC_LOGE(TAG, "%s: set_relative_addr returned 0x%x", __func__, err); + return err; + } + return SDMMC_OK; +} + +sdmmc_err_t sdmmc_init_mmc_decode_cid(sdmmc_card_t *card) +{ + sdmmc_err_t err; + sdmmc_response_t raw_cid; + memcpy(raw_cid, card->raw_cid, sizeof(raw_cid)); + err = sdmmc_mmc_decode_cid(card->csd.mmc_ver, raw_cid, &card->cid); + if (err != SDMMC_OK) + { + SDMMC_LOGE(TAG, "%s: decoding CID failed (0x%x)", __func__, err); + return err; + } + return SDMMC_OK; +} + +sdmmc_err_t sdmmc_init_csd(sdmmc_card_t *card) +{ + SDMMC_ASSERT(card->is_mem == 1); + /* Get and decode the contents of CSD register. Determine card capacity. */ + sdmmc_err_t err = sdmmc_send_cmd_send_csd(card, &card->csd); + if (err != SDMMC_OK) + { + SDMMC_LOGE(TAG, "%s: send_csd returned 0x%x", __func__, err); + return err; + } + const size_t max_sdsc_capacity = UINT32_MAX / card->csd.sector_size + 1; + if (!(card->ocr & SD_OCR_SDHC_CAP) && + ((size_t)card->csd.capacity > max_sdsc_capacity)) + { + SDMMC_LOGW(TAG, "%s: SDSC card reports capacity=%u. Limiting to %u.", + __func__, card->csd.capacity, max_sdsc_capacity); + card->csd.capacity = max_sdsc_capacity; + } + return SDMMC_OK; +} + +sdmmc_err_t sdmmc_init_select_card(sdmmc_card_t *card) +{ + SDMMC_ASSERT(!host_is_spi(card)); + sdmmc_err_t err = sdmmc_send_cmd_select_card(card, card->rca); + if (err != SDMMC_OK) + { + SDMMC_LOGE(TAG, "%s: select_card returned 0x%x", __func__, err); + return err; + } + return SDMMC_OK; +} + +sdmmc_err_t sdmmc_init_card_hs_mode(sdmmc_card_t *card) +{ + sdmmc_err_t err = SDMMC_ERR_NOT_SUPPORTED; + if (card->is_mem && !card->is_mmc) + { + err = sdmmc_enable_hs_mode_and_check(card); + } + else if (card->is_sdio) + { + err = sdmmc_io_enable_hs_mode(card); + } + else if (card->is_mmc) + { + err = sdmmc_mmc_enable_hs_mode(card); + } + if (err == SDMMC_ERR_NOT_SUPPORTED) + { + SDMMC_LOGD(TAG, "%s: host supports HS mode, but card doesn't", __func__); + card->max_freq_khz = SDMMC_FREQ_DEFAULT; + } + else if (err != SDMMC_OK) + { + return err; + } + return SDMMC_OK; +} + +sdmmc_err_t sdmmc_init_host_bus_width(sdmmc_card_t *card) +{ + int bus_width = 1; + + + if ((card->host.flags & SDMMC_HOST_FLAG_4BIT) && + (card->log_bus_width == 2)) + { + bus_width = 4; + } + else if ((card->host.flags & SDMMC_HOST_FLAG_8BIT) && + (card->log_bus_width == 3)) + { + bus_width = 8; + } + SDMMC_LOGD(TAG, "%s: using %d-bit bus", __func__, bus_width); + if (bus_width > 1) + { + sdmmc_err_t err = (*card->host.set_bus_width)(card->host.slot, bus_width); + if (err != SDMMC_OK) + { + SDMMC_LOGE(TAG, "host.set_bus_width failed (0x%x)", err); + return err; + } + } + return SDMMC_OK; +} + +sdmmc_err_t sdmmc_init_host_frequency(sdmmc_card_t *card) +{ + /* if max freq of card exceed host, host configuration must change, otherwise card init will failed */ + if (card->max_freq_khz > card->host.max_freq_khz) + { + SDMMC_LOGE(TAG, "max freq of card %dkHz shall <= max freq of host %dkHz", + card->max_freq_khz, card->host.max_freq_khz); + return SDMMC_FAIL; + } + + SDMMC_ASSERT(card->max_freq_khz <= card->host.max_freq_khz); + + /* Find highest frequency in the following list, + * which is below card->max_freq_khz. + */ + const uint32_t freq_values[] = { + SDMMC_FREQ_52M, + SDMMC_FREQ_HIGHSPEED, + SDMMC_FREQ_26M, + SDMMC_FREQ_25M, /* add option 25MHz, which is common */ + SDMMC_FREQ_DEFAULT + /* NOTE: in sdspi mode, 20MHz may not work. in that case, add 10MHz here. */ + }; + const int n_freq_values = sizeof(freq_values) / sizeof(freq_values[0]); + + /* select a freq from freq_values that is close to max freq of card */ + uint32_t selected_freq = SDMMC_FREQ_PROBING; + for (int i = 0; i < n_freq_values; ++i) + { + uint32_t freq = freq_values[i]; + if (card->max_freq_khz >= freq) + { + selected_freq = freq; + break; + } + } + + SDMMC_LOGD(TAG, "%s: using %d kHz bus frequency", __func__, selected_freq); + if (selected_freq > SDMMC_FREQ_PROBING) + { + sdmmc_err_t err = (*card->host.set_card_clk)(card->host.slot, selected_freq); + if (err != SDMMC_OK) + { + SDMMC_LOGE(TAG, "failed to switch bus frequency (0x%x)", err); + return err; + } + } + + if (card->is_ddr) + { + if (card->host.set_bus_ddr_mode == NULL) + { + SDMMC_LOGE(TAG, "host doesn't support DDR mode or voltage switching"); + return SDMMC_ERR_NOT_SUPPORTED; + } + sdmmc_err_t err = (*card->host.set_bus_ddr_mode)(card->host.slot, true); + if (err != SDMMC_OK) + { + SDMMC_LOGE(TAG, "failed to switch bus to DDR mode (0x%x)", err); + return err; + } + } + return SDMMC_OK; +} + +void sdmmc_flip_byte_order(uint32_t *response, size_t size) +{ + SDMMC_ASSERT(size % (2 * sizeof(uint32_t)) == 0); + const size_t n_words = size / sizeof(uint32_t); + for (size_t i = 0; i < n_words / 2; ++i) + { + uint32_t left = __builtin_bswap32(response[i]); + uint32_t right = __builtin_bswap32(response[n_words - i - 1]); + response[i] = right; + response[n_words - i - 1] = left; + } +} + +void sdmmc_card_print_info(FILE *stream, const sdmmc_card_t *card) +{ + bool print_scr = card->is_mmc ? false : true; /* emmc card do not have scr to read */ + bool print_csd = true; + + const char *type; + fprintf(stream, "Probe Card Success !!!\n"); + fprintf(stream, "======================\n"); + fprintf(stream, "Name: %s\n", card->cid.name); + if (card->is_sdio) + { + type = "SDIO"; + print_scr = true; + print_csd = true; + } + else if (card->is_mmc) + { + type = "MMC"; + print_csd = true; + } + else + { + type = (card->ocr & SD_OCR_SDHC_CAP) ? "SDHC/SDXC" : "SDSC"; + } + + fprintf(stream, "Manufactory ID: 0x%x\n", card->cid.mfg_id); + fprintf(stream, "OEM ID: 0x%x\n", card->cid.oem_id); + fprintf(stream, "Serial NO.: 0x%x\n", card->cid.serial); + fprintf(stream, "Revision: 0x%x\n", card->cid.revision); + fprintf(stream, "Type: %s\n", type); + + if (card->max_freq_khz < 1000) + { + fprintf(stream, "Speed: %d kHz\n", card->max_freq_khz); + } + else + { + fprintf(stream, "Speed: %d MHz%s\n", card->max_freq_khz / 1000, + card->is_ddr ? ", DDR" : ""); + } + fprintf(stream, "Size: %lluMB\n", ((uint64_t)card->csd.capacity) * card->csd.sector_size / (1024 * 1024)); + + if (print_csd) + { + fprintf(stream, "CSD: ver=%d, class=%d, max speed=%d, sector_size=%d, capacity=%d, read_bl_len=%d, \n", + card->csd.csd_ver, + card->csd.card_command_class, + card->csd.tr_speed, + card->csd.sector_size, + card->csd.capacity, + card->csd.read_block_len); + } + + if (print_scr) + { + fprintf(stream, "SCR: sd_spec=%d, bus_width=%d\n", + card->scr.sd_spec, + card->scr.bus_width); + } + + fprintf(stream, "======================\n"); +} + +sdmmc_err_t sdmmc_fix_host_flags(sdmmc_card_t *card) +{ + const uint32_t width_1bit = SDMMC_HOST_FLAG_1BIT; + const uint32_t width_4bit = SDMMC_HOST_FLAG_4BIT; + const uint32_t width_8bit = SDMMC_HOST_FLAG_8BIT; + const uint32_t width_mask = width_1bit | width_4bit | width_8bit; + + int slot_bit_width = card->host.get_bus_width(card->host.slot); + if (slot_bit_width == 1 && + (card->host.flags & (width_4bit | width_8bit))) + { + card->host.flags &= ~width_mask; + card->host.flags |= width_1bit; + } + else if (slot_bit_width == 4 && (card->host.flags & width_8bit)) + { + if ((card->host.flags & width_4bit) == 0) + { + SDMMC_LOGW(TAG, "slot width set to 4, but host flags don't have 4 line mode enabled; using 1 line mode"); + card->host.flags &= ~width_mask; + card->host.flags |= width_1bit; + } + else + { + card->host.flags &= ~width_mask; + card->host.flags |= width_4bit; + } + } + return SDMMC_OK; +} diff --git a/third-party/sdmmc-1.0/src/sdmmc_init.c b/third-party/sdmmc-1.0/src/sdmmc_init.c new file mode 100644 index 00000000..b3af6850 --- /dev/null +++ b/third-party/sdmmc-1.0/src/sdmmc_init.c @@ -0,0 +1,262 @@ +/* + * Copyright (c) 2006 Uwe Stuehler + * Adaptations to ESP-IDF Copyright (c) 2016-2018 Espressif Systems (Shanghai) PTE LTD + * + * Permission to use, copy, modify, and distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES + * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR + * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES + * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN + * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF + * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + */ + +#include "sdmmc_common.h" + +static const char *TAG = "sdmmc_init"; + +#define SDMMC_INIT_STEP(condition, function) \ + do \ + { \ + if ((condition)) \ + { \ + sdmmc_err_t err = (function)(card); \ + if (err != SDMMC_OK) \ + { \ + SDMMC_LOGD(TAG, "%s: %s returned 0x%x", __func__, #function, err); \ + return err; \ + } \ + } \ + } while (0); + +sdmmc_err_t sdmmc_card_init(const sdmmc_host_t *config, sdmmc_card_t *card) +{ + memset(card, 0, sizeof(*card)); + memcpy(&card->host, config, sizeof(*config)); + const bool is_spi = host_is_spi(card); + const bool always = true; + const bool io_supported = host_support_sdio(card); //true; + + /* Check if host flags are compatible with slot configuration. */ + SDMMC_INIT_STEP(!is_spi, sdmmc_fix_host_flags); + + /* Reset SDIO (CMD52, RES) before re-initializing IO (CMD5). */ + SDMMC_INIT_STEP(io_supported, sdmmc_io_reset); + + /* GO_IDLE_STATE (CMD0) command resets the card */ + SDMMC_INIT_STEP(always, sdmmc_send_cmd_go_idle_state); + + /* SEND_IF_COND (CMD8) command is used to identify SDHC/SDXC cards. */ + SDMMC_INIT_STEP(always, sdmmc_init_sd_if_cond); + + /* IO_SEND_OP_COND(CMD5), Determine if the card is an IO card. */ + SDMMC_INIT_STEP(io_supported, sdmmc_init_io); + + /* if support io, send CMD5 to check if it is memory card inserted, otherwise, + assert card as memory */ + const bool is_mem = io_supported ? card->is_mem : true; + /* if not support io, assert sdio not support */ + const bool is_sdio = io_supported ? !is_mem : false; + + if (!io_supported) + card->is_mem = 1; /* assert card as memory card when io not support */ + + /* Enable CRC16 checks for data transfers in SPI mode */ + SDMMC_INIT_STEP(is_spi, sdmmc_init_spi_crc); + + /* Use SEND_OP_COND(CMD41) to set up card OCR */ + SDMMC_INIT_STEP(is_mem, sdmmc_init_ocr); + + const bool is_mmc = is_mem && card->is_mmc; + const bool is_sdmem = is_mem && !is_mmc; + + SDMMC_LOGD(TAG, "%s: card type is %s", __func__, + is_sdio ? "SDIO" : is_mmc ? "MMC" + : "SD"); + + /* Read the contents of CID register*/ + SDMMC_INIT_STEP(is_mem, sdmmc_init_cid); + + /* Assign RCA (CMD3) */ + SDMMC_INIT_STEP(!is_spi, sdmmc_init_rca); + + /* Read and decode the contents of CSD register */ + SDMMC_INIT_STEP(is_mem, sdmmc_init_csd); + + /* Decode the contents of mmc CID register */ + SDMMC_INIT_STEP(is_mmc && !is_spi, sdmmc_init_mmc_decode_cid); + + /* Switch the card from stand-by mode to data transfer mode (not needed if + * SPI interface is used). This is needed to issue SET_BLOCKLEN and + * SEND_SCR commands. (CMD7) + */ + SDMMC_INIT_STEP(!is_spi, sdmmc_init_select_card); + + /* SD memory cards: + * Set block len for SDSC cards to 512 bytes (same as SDHC) + * Read SCR + * Wait to enter data transfer state + */ + SDMMC_INIT_STEP(is_sdmem, sdmmc_init_sd_blocklen); + + /* essential!!! switch from 1bit to 4bit */ + SDMMC_INIT_STEP(is_sdmem, sdmmc_init_switch_hs); + + SDMMC_INIT_STEP(is_sdmem, sdmmc_init_sd_scr); + SDMMC_INIT_STEP(is_sdmem, sdmmc_init_sd_wait_data_ready); + + /* MMC cards: read CXD */ + SDMMC_INIT_STEP(is_mmc, sdmmc_init_mmc_read_ext_csd); + + /* Try to switch card to HS mode if the card supports it. + * Set card->max_freq_khz value accordingly. + */ + SDMMC_INIT_STEP(always, sdmmc_init_card_hs_mode); + + /* Set bus width. One call for every kind of card, then one for the host */ + if (!is_spi) { + SDMMC_INIT_STEP(is_sdmem, sdmmc_init_sd_bus_width); + SDMMC_INIT_STEP(is_sdio, sdmmc_init_io_bus_width); + SDMMC_INIT_STEP(is_mmc, sdmmc_init_mmc_bus_width); + SDMMC_INIT_STEP(always, sdmmc_init_host_bus_width); + } + + /* Switch to the host to use card->max_freq_khz frequency. */ + SDMMC_INIT_STEP(always, sdmmc_init_host_frequency); + + /* Sanity check after switching the bus mode and frequency */ + //SDMMC_INIT_STEP(is_sdmem, sdmmc_check_scr); + /* TODO: this is CMD line only, add data checks for eMMC */ + SDMMC_INIT_STEP(is_mmc, sdmmc_init_mmc_check_csd); + /* TODO: add similar checks for SDIO */ + + return SDMMC_OK; +} + +sdmmc_err_t sdmmc_init_tf_card(const sdmmc_host_t *config, sdmmc_card_t *card) +{ + const bool always = true; + memset(card, 0, sizeof(*card)); /* reset card data */ + card->is_mem = TRUE; /* assert card as memory card when io not support */ + card->is_mmc = FALSE; /* assert card is not un-removeable emmc card */ + card->is_sdio = FALSE; + memcpy(&card->host, config, sizeof(*config)); /* copy card configs */ + + SDMMC_LOGD(TAG, "card type is SD"); + + /* Check if host flags are compatible with slot configuration. */ + SDMMC_INIT_STEP(always, sdmmc_fix_host_flags); + + /* GO_IDLE_STATE (CMD0) command resets the card */ + SDMMC_INIT_STEP(always, sdmmc_send_cmd_go_idle_state); + + /* SEND_IF_COND (CMD8) command is used to identify SDHC/SDXC cards. */ + SDMMC_INIT_STEP(always, sdmmc_init_sd_if_cond); + + /* Use SEND_OP_COND (CMD41) to set up card OCR */ + SDMMC_INIT_STEP(always, sdmmc_init_ocr); + + /* Read the contents of CID register (CMD2)*/ + SDMMC_INIT_STEP(always, sdmmc_init_cid); + + /* Assign RCA (CMD3) */ + SDMMC_INIT_STEP(always, sdmmc_init_rca); + + /* Read and decode the contents of CSD register (CMD9) */ + SDMMC_INIT_STEP(always, sdmmc_init_csd); + + /* Switch the card from stand-by mode to data transfer mode (not needed if + * SPI interface is used). This is needed to issue SET_BLOCKLEN and + * SEND_SCR commands. (CMD7) + */ + SDMMC_INIT_STEP(always, sdmmc_init_select_card); + + /* Get bus width of card (CMD51) */ + SDMMC_INIT_STEP(always, sdmmc_init_sd_scr); + + /* Check current status of card (CMD13) */ + SDMMC_INIT_STEP(always, sdmmc_init_sd_wait_data_ready); + + /* Set bus width (CMD6) */ + SDMMC_INIT_STEP(always, sdmmc_init_sd_bus_width); + + /* Call driver function to change bus width */ + SDMMC_INIT_STEP(always, sdmmc_init_host_bus_width); + + /* SD memory cards: + * Set block len for SDSC cards to 512 bytes (same as SDHC) + * Read SCR + * Wait to enter data transfer state (CMD16) + */ + SDMMC_INIT_STEP(always, sdmmc_init_sd_blocklen); + + /* Try to switch card to HS mode if the card supports it. + * Set card->max_freq_khz value accordingly. + */ + SDMMC_INIT_STEP(always, sdmmc_init_card_hs_mode); + + /* Call driver function use card->max_freq_khz frequency. */ + SDMMC_INIT_STEP(always, sdmmc_init_host_frequency); + + return SDMMC_OK; +} + +sdmmc_err_t sdmmc_init_emmc(const sdmmc_host_t *config, sdmmc_card_t *card) +{ + const bool always = true; + memset(card, 0, sizeof(*card)); /* reset card data */ + card->is_mem = TRUE; /* assert card as memory card when io not support */ + card->is_mmc = TRUE; /* assert card is not un-removeable emmc card */ + card->is_sdio = FALSE; + memcpy(&card->host, config, sizeof(*config)); /* copy card configs */ + + SDMMC_LOGD(TAG, "card type is eMMC"); + + /* Check if host flags are compatible with slot configuration. */ + SDMMC_INIT_STEP(always, sdmmc_fix_host_flags); + + /* GO_IDLE_STATE (CMD0) command resets the card */ + SDMMC_INIT_STEP(always, sdmmc_send_cmd_go_idle_state); + + /* Use MMC_SEND_OP_COND (CMD1) to set up card OCR */ + SDMMC_INIT_STEP(always, sdmmc_init_ocr); + + /* Read the contents of CID register (CMD2) */ + SDMMC_INIT_STEP(always, sdmmc_init_cid); + + /* Assign RCA (CMD3) */ + SDMMC_INIT_STEP(always, sdmmc_init_rca); + + /* Read and decode the contents of CSD register (CMD9) */ + SDMMC_INIT_STEP(always, sdmmc_init_csd); + + /* Decode the contents of mmc CID register */ + SDMMC_INIT_STEP(always, sdmmc_init_mmc_decode_cid); + + /* Switch the card from stand-by mode to data transfer mode (not needed if + * SPI interface is used). This is needed to issue SET_BLOCKLEN and + * SEND_SCR commands. (CMD7) + */ + SDMMC_INIT_STEP(always, sdmmc_init_select_card); + + /* MMC cards: read CXD (CMD8) */ + SDMMC_INIT_STEP(always, sdmmc_init_mmc_read_ext_csd); + + /* Switch bus width and call driver function to change bus width (CMD6) */ + SDMMC_INIT_STEP(always, sdmmc_init_mmc_bus_width); + SDMMC_INIT_STEP(always, sdmmc_init_host_bus_width); + + /* Check current status of card (CMD13) */ + SDMMC_INIT_STEP(always, sdmmc_init_sd_wait_data_ready); + + /* Try to switch card to HS mode if the card supports it. + * Set card->max_freq_khz value accordingly. + */ + SDMMC_INIT_STEP(always, sdmmc_init_card_hs_mode); + + return SDMMC_OK; +} \ No newline at end of file diff --git a/third-party/sdmmc-1.0/src/sdmmc_io.c b/third-party/sdmmc-1.0/src/sdmmc_io.c new file mode 100644 index 00000000..eb5fa6a7 --- /dev/null +++ b/third-party/sdmmc-1.0/src/sdmmc_io.c @@ -0,0 +1,725 @@ +/* + * Copyright (c) 2006 Uwe Stuehler + * Adaptations to ESP-IDF Copyright (c) 2016-2018 Espressif Systems (Shanghai) PTE LTD + * + * Permission to use, copy, modify, and distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES + * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR + * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES + * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN + * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF + * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + */ + +#include "sdmmc_common.h" + +#define CIS_TUPLE(NAME) \ + (cis_tuple_t) { .code = CISTPL_CODE_##NAME, .name = #NAME, .func = &cis_tuple_func_default, } +#define CIS_TUPLE_WITH_FUNC(NAME, FUNC) \ + (cis_tuple_t) { .code = CISTPL_CODE_##NAME, .name = #NAME, .func = &(FUNC), } + +#define CIS_CHECK_SIZE(SIZE, MINIMAL) \ + do \ + { \ + int store_size = (SIZE); \ + if ((store_size) < (MINIMAL)) \ + return SDMMC_ERR_INVALID_SIZE; \ + } while (0) +#define CIS_CHECK_UNSUPPORTED(COND) \ + do \ + { \ + if (!(COND)) \ + return SDMMC_ERR_NOT_SUPPORTED; \ + } while (0) +#define CIS_GET_MINIMAL_SIZE 32 + +typedef sdmmc_err_t (*cis_tuple_info_func_t)(const void *tuple_info, uint8_t *data, FILE *fp); + +typedef struct +{ + int code; + const char *name; + cis_tuple_info_func_t func; +} cis_tuple_t; + +static const char *TAG = "sdmmc_io"; + +static sdmmc_err_t cis_tuple_func_default(const void *p, uint8_t *data, FILE *fp); +static sdmmc_err_t cis_tuple_func_manfid(const void *p, uint8_t *data, FILE *fp); +static sdmmc_err_t cis_tuple_func_cftable_entry(const void *p, uint8_t *data, FILE *fp); +static sdmmc_err_t cis_tuple_func_end(const void *p, uint8_t *data, FILE *fp); + +static const cis_tuple_t cis_table[] = { + CIS_TUPLE(NULL), + CIS_TUPLE(DEVICE), + CIS_TUPLE(CHKSUM), + CIS_TUPLE(VERS1), + CIS_TUPLE(ALTSTR), + CIS_TUPLE(CONFIG), + CIS_TUPLE_WITH_FUNC(CFTABLE_ENTRY, cis_tuple_func_cftable_entry), + CIS_TUPLE_WITH_FUNC(MANFID, cis_tuple_func_manfid), + CIS_TUPLE(FUNCID), + CIS_TUPLE(FUNCE), + CIS_TUPLE(VENDER_BEGIN), + CIS_TUPLE(VENDER_END), + CIS_TUPLE(SDIO_STD), + CIS_TUPLE(SDIO_EXT), + CIS_TUPLE_WITH_FUNC(END, cis_tuple_func_end), +}; + +sdmmc_err_t sdmmc_io_reset(sdmmc_card_t *card) +{ + uint8_t sdio_reset = CCCR_CTL_RES; + sdmmc_err_t err = sdmmc_io_rw_direct(card, 0, SD_IO_CCCR_CTL, SD_ARG_CMD52_WRITE, &sdio_reset); + if (err == SDMMC_ERR_TIMEOUT || (host_is_spi(card) && err == SDMMC_ERR_NOT_SUPPORTED)) + { + /* Non-IO cards are allowed to time out (in SD mode) or + * return "invalid command" error (in SPI mode). + */ + } + else if (err == SDMMC_ERR_NOT_FOUND) + { + SDMMC_LOGD(TAG, "%s: card not present", __func__); + return err; + } + else if (err != SDMMC_OK) + { + SDMMC_LOGE(TAG, "%s: unexpected return: 0x%x", __func__, err); + return err; + } + return SDMMC_OK; +} + +sdmmc_err_t sdmmc_init_io(sdmmc_card_t *card) +{ + /* IO_SEND_OP_COND(CMD5), Determine if the card is an IO card. + * Non-IO cards will not respond to this command. + */ + sdmmc_err_t err = sdmmc_io_send_op_cond(card, 0, &card->ocr); + if (err != SDMMC_OK) + { + SDMMC_LOGD(TAG, "%s: io_send_op_cond (1) returned 0x%x; not IO card", __func__, err); + card->is_sdio = 0; + card->is_mem = 1; + } + else + { + card->is_sdio = 1; + + if (card->ocr & SD_IO_OCR_MEM_PRESENT) + { + SDMMC_LOGD(TAG, "%s: IO-only card", __func__); + card->is_mem = 0; + } + card->num_io_functions = SD_IO_OCR_NUM_FUNCTIONS(card->ocr); + SDMMC_LOGD(TAG, "%s: number of IO functions: %d", __func__, card->num_io_functions); + if (card->num_io_functions == 0) + { + card->is_sdio = 0; + } + uint32_t host_ocr = get_host_ocr(card->host.io_voltage); + host_ocr &= card->ocr; + err = sdmmc_io_send_op_cond(card, host_ocr, &card->ocr); + if (err != SDMMC_OK) + { + SDMMC_LOGE(TAG, "%s: sdmmc_io_send_op_cond (1) returned 0x%x", __func__, err); + return err; + } + err = sdmmc_io_enable_int(card); + if (err != SDMMC_OK) + { + SDMMC_LOGD(TAG, "%s: sdmmc_enable_int failed (0x%x)", __func__, err); + } + } + return SDMMC_OK; +} + +sdmmc_err_t sdmmc_init_io_bus_width(sdmmc_card_t *card) +{ + sdmmc_err_t err; + card->log_bus_width = 0; + if (card->host.flags & SDMMC_HOST_FLAG_4BIT) + { + uint8_t card_cap = 0; + err = sdmmc_io_rw_direct(card, 0, SD_IO_CCCR_CARD_CAP, + SD_ARG_CMD52_READ, &card_cap); + if (err != SDMMC_OK) + { + SDMMC_LOGE(TAG, "%s: sdmmc_io_rw_direct (read SD_IO_CCCR_CARD_CAP) returned 0x%0x", __func__, err); + return err; + } + SDMMC_LOGD(TAG, "IO card capabilities byte: %02x", card_cap); + if (!(card_cap & CCCR_CARD_CAP_LSC) || + (card_cap & CCCR_CARD_CAP_4BLS)) + { + // This card supports 4-bit bus mode + uint8_t bus_width = CCCR_BUS_WIDTH_4; + err = sdmmc_io_rw_direct(card, 0, SD_IO_CCCR_BUS_WIDTH, + SD_ARG_CMD52_WRITE, &bus_width); + if (err != SDMMC_OK) + { + SDMMC_LOGE(TAG, "%s: sdmmc_io_rw_direct (write SD_IO_CCCR_BUS_WIDTH) returned 0x%0x", __func__, err); + return err; + } + card->log_bus_width = 2; + } + } + return SDMMC_OK; +} + +sdmmc_err_t sdmmc_io_enable_hs_mode(sdmmc_card_t *card) +{ + /* If the host is configured to use low frequency, don't attempt to switch */ + if (card->host.max_freq_khz < SDMMC_FREQ_DEFAULT) + { + card->max_freq_khz = card->host.max_freq_khz; + return SDMMC_OK; + } + else if (card->host.max_freq_khz < SDMMC_FREQ_HIGHSPEED) + { + card->max_freq_khz = SDMMC_FREQ_DEFAULT; + return SDMMC_OK; + } + + /* For IO cards, do write + read operation on "High Speed" register, + * setting EHS bit. If both EHS and SHS read back as set, then HS mode + * has been enabled. + */ + uint8_t val = CCCR_HIGHSPEED_ENABLE; + sdmmc_err_t err = sdmmc_io_rw_direct(card, 0, SD_IO_CCCR_HIGHSPEED, + SD_ARG_CMD52_WRITE | SD_ARG_CMD52_EXCHANGE, &val); + if (err != SDMMC_OK) + { + SDMMC_LOGD(TAG, "%s: sdmmc_io_rw_direct returned 0x%x", __func__, err); + return err; + } + + SDMMC_LOGD(TAG, "%s: CCCR_HIGHSPEED=0x%02x", __func__, val); + const uint8_t hs_mask = CCCR_HIGHSPEED_ENABLE | CCCR_HIGHSPEED_SUPPORT; + if ((val & hs_mask) != hs_mask) + { + return SDMMC_ERR_NOT_SUPPORTED; + } + card->max_freq_khz = SDMMC_FREQ_HIGHSPEED; + return SDMMC_OK; +} + +sdmmc_err_t sdmmc_io_send_op_cond(sdmmc_card_t *card, uint32_t ocr, uint32_t *ocrp) +{ + sdmmc_err_t err = SDMMC_OK; + sdmmc_command_t cmd = { + .flags = SCF_CMD_BCR | SCF_RSP_R4, + .arg = ocr, + .opcode = SD_IO_SEND_OP_COND}; + for (size_t i = 0; i < 100; i++) + { + err = sdmmc_send_cmd(card, &cmd); + if (err != SDMMC_OK) + { + break; + } + if ((MMC_R4(cmd.response) & SD_IO_OCR_MEM_READY) || + ocr == 0) + { + break; + } + err = SDMMC_ERR_TIMEOUT; + SDMMC_DELAY(SDMMC_IO_SEND_OP_COND_DELAY_MS); + } + if (err == SDMMC_OK && ocrp != NULL) + *ocrp = MMC_R4(cmd.response); + + return err; +} + +sdmmc_err_t sdmmc_io_rw_direct(sdmmc_card_t *card, int func, + uint32_t reg, uint32_t arg, uint8_t *byte) +{ + sdmmc_err_t err; + sdmmc_command_t cmd = { + .flags = SCF_CMD_AC | SCF_RSP_R5, + .arg = 0, + .opcode = SD_IO_RW_DIRECT}; + + arg |= (func & SD_ARG_CMD52_FUNC_MASK) << SD_ARG_CMD52_FUNC_SHIFT; + arg |= (reg & SD_ARG_CMD52_REG_MASK) << SD_ARG_CMD52_REG_SHIFT; + arg |= (*byte & SD_ARG_CMD52_DATA_MASK) << SD_ARG_CMD52_DATA_SHIFT; + cmd.arg = arg; + + err = sdmmc_send_cmd(card, &cmd); + if (err != SDMMC_OK) + { + SDMMC_LOGV(TAG, "%s: sdmmc_send_cmd returned 0x%x", __func__, err); + return err; + } + + *byte = SD_R5_DATA(cmd.response); + + return SDMMC_OK; +} + +sdmmc_err_t sdmmc_io_read_byte(sdmmc_card_t *card, uint32_t function, + uint32_t addr, uint8_t *out_byte) +{ + sdmmc_err_t ret = sdmmc_io_rw_direct(card, function, addr, SD_ARG_CMD52_READ, out_byte); + if (ret != SDMMC_OK) + { + SDMMC_LOGE(TAG, "%s: sdmmc_io_rw_direct (read 0x%x) returned 0x%x", __func__, addr, ret); + } + return ret; +} + +sdmmc_err_t sdmmc_io_write_byte(sdmmc_card_t *card, uint32_t function, + uint32_t addr, uint8_t in_byte, uint8_t *out_byte) +{ + uint8_t tmp_byte = in_byte; + sdmmc_err_t ret = sdmmc_io_rw_direct(card, function, addr, + SD_ARG_CMD52_WRITE | SD_ARG_CMD52_EXCHANGE, &tmp_byte); + if (ret != SDMMC_OK) + { + SDMMC_LOGE(TAG, "%s: sdmmc_io_rw_direct (write 0x%x) returned 0x%x", __func__, addr, ret); + return ret; + } + if (out_byte != NULL) + { + *out_byte = tmp_byte; + } + return SDMMC_OK; +} + +sdmmc_err_t sdmmc_io_rw_extended(sdmmc_card_t *card, int func, + uint32_t reg, int arg, void *datap, size_t datalen) +{ + sdmmc_err_t err; + const size_t max_byte_transfer_size = 512; + sdmmc_command_t cmd = { + .flags = SCF_CMD_AC | SCF_RSP_R5, + .arg = 0, + .opcode = SD_IO_RW_EXTENDED, + .data = datap, + .datalen = datalen, + .blklen = max_byte_transfer_size /* TODO: read max block size from CIS */ + }; + + uint32_t count; /* number of bytes or blocks, depending on transfer mode */ + if (arg & SD_ARG_CMD53_BLOCK_MODE) + { + if (cmd.datalen % cmd.blklen != 0) + { + return SDMMC_ERR_INVALID_SIZE; + } + count = cmd.datalen / cmd.blklen; + } + else + { + if (datalen > max_byte_transfer_size) + { + /* TODO: split into multiple operations? */ + return SDMMC_ERR_INVALID_SIZE; + } + if (datalen == max_byte_transfer_size) + { + count = 0; // See 5.3.1 SDIO simplifed spec + } + else + { + count = datalen; + } + cmd.blklen = datalen; + } + + arg |= (func & SD_ARG_CMD53_FUNC_MASK) << SD_ARG_CMD53_FUNC_SHIFT; + arg |= (reg & SD_ARG_CMD53_REG_MASK) << SD_ARG_CMD53_REG_SHIFT; + arg |= (count & SD_ARG_CMD53_LENGTH_MASK) << SD_ARG_CMD53_LENGTH_SHIFT; + cmd.arg = arg; + + if ((arg & SD_ARG_CMD53_WRITE) == 0) + { + cmd.flags |= SCF_CMD_READ; + } + + err = sdmmc_send_cmd(card, &cmd); + if (err != SDMMC_OK) + { + SDMMC_LOGE(TAG, "%s: sdmmc_send_cmd returned 0x%x", __func__, err); + return err; + } + + return SDMMC_OK; +} + +sdmmc_err_t sdmmc_io_read_bytes(sdmmc_card_t *card, uint32_t function, + uint32_t addr, void *dst, size_t size) +{ + /* host quirk: SDIO transfer with length not divisible by 4 bytes + * has to be split into two transfers: one with aligned length, + * the other one for the remaining 1-3 bytes. + */ + uint8_t *pc_dst = dst; + while (size > 0) + { + size_t size_aligned = size & (~3); + size_t will_transfer = size_aligned > 0 ? size_aligned : size; + + sdmmc_err_t err = sdmmc_io_rw_extended(card, function, addr, + SD_ARG_CMD53_READ | SD_ARG_CMD53_INCREMENT, + pc_dst, will_transfer); + if (err != SDMMC_OK) + { + return err; + } + pc_dst += will_transfer; + size -= will_transfer; + addr += will_transfer; + } + return SDMMC_OK; +} + +sdmmc_err_t sdmmc_io_write_bytes(sdmmc_card_t *card, uint32_t function, + uint32_t addr, const void *src, size_t size) +{ + /* same host quirk as in sdmmc_io_read_bytes */ + const uint8_t *pc_src = (const uint8_t *)src; + + while (size > 0) + { + size_t size_aligned = size & (~3); + size_t will_transfer = size_aligned > 0 ? size_aligned : size; + + sdmmc_err_t err = sdmmc_io_rw_extended(card, function, addr, + SD_ARG_CMD53_WRITE | SD_ARG_CMD53_INCREMENT, + (void *)pc_src, will_transfer); + if (err != SDMMC_OK) + { + return err; + } + pc_src += will_transfer; + size -= will_transfer; + addr += will_transfer; + } + return SDMMC_OK; +} + +sdmmc_err_t sdmmc_io_read_blocks(sdmmc_card_t *card, uint32_t function, + uint32_t addr, void *dst, size_t size) +{ + if (size % 4 != 0) + { + return SDMMC_ERR_INVALID_SIZE; + } + return sdmmc_io_rw_extended(card, function, addr, + SD_ARG_CMD53_READ | SD_ARG_CMD53_INCREMENT | SD_ARG_CMD53_BLOCK_MODE, + dst, size); +} + +sdmmc_err_t sdmmc_io_write_blocks(sdmmc_card_t *card, uint32_t function, + uint32_t addr, const void *src, size_t size) +{ + if (size % 4 != 0) + { + return SDMMC_ERR_INVALID_SIZE; + } + return sdmmc_io_rw_extended(card, function, addr, + SD_ARG_CMD53_WRITE | SD_ARG_CMD53_INCREMENT | SD_ARG_CMD53_BLOCK_MODE, + (void *)src, size); +} + +sdmmc_err_t sdmmc_io_enable_int(sdmmc_card_t *card) +{ + if (card->host.io_int_enable == NULL) + { + return SDMMC_ERR_NOT_SUPPORTED; + } + return (*card->host.io_int_enable)(card->host.slot); +} + +sdmmc_err_t sdmmc_io_wait_int(sdmmc_card_t *card, TickType_t timeout_ticks) +{ + if (card->host.io_int_wait == NULL) + { + return SDMMC_ERR_NOT_SUPPORTED; + } + return (*card->host.io_int_wait)(card->host.slot, timeout_ticks); +} + +/* + * Print the CIS information of a CIS card, currently only ESP slave supported. + */ + +static sdmmc_err_t cis_tuple_func_default(const void *p, uint8_t *data, FILE *fp) +{ + const cis_tuple_t *tuple = (const cis_tuple_t *)p; + uint8_t code = *(data++); + int size = *(data++); + if (tuple) + { + fprintf(fp, "TUPLE: %s, size: %d: ", tuple->name, size); + } + else + { + fprintf(fp, "TUPLE: unknown(%02X), size: %d: ", code, size); + } + for (int i = 0; i < size; i++) + fprintf(fp, "%02X ", *(data++)); + fprintf(fp, "\n"); + return SDMMC_OK; +} + +static sdmmc_err_t cis_tuple_func_manfid(const void *p, uint8_t *data, FILE *fp) +{ + const cis_tuple_t *tuple = (const cis_tuple_t *)p; + data++; + int size = *(data++); + fprintf(fp, "TUPLE: %s, size: %d\n", tuple->name, size); + CIS_CHECK_SIZE(size, 4); + fprintf(fp, " MANF: %04X, CARD: %04X\n", *(uint16_t *)(data), *(uint16_t *)(data + 2)); + return SDMMC_OK; +} + +static sdmmc_err_t cis_tuple_func_end(const void *p, uint8_t *data, FILE *fp) +{ + const cis_tuple_t *tuple = (const cis_tuple_t *)p; + data++; + fprintf(fp, "TUPLE: %s\n", tuple->name); + return SDMMC_OK; +} + +static sdmmc_err_t cis_tuple_func_cftable_entry(const void *p, uint8_t *data, FILE *fp) +{ + const cis_tuple_t *tuple = (const cis_tuple_t *)p; + data++; + int size = *(data++); + fprintf(fp, "TUPLE: %s, size: %d\n", tuple->name, size); + CIS_CHECK_SIZE(size, 2); + + CIS_CHECK_SIZE(size--, 1); + bool interface = data[0] & BIT(7); + bool def = data[0] & BIT(6); + int conf_ent_num = data[0] & 0x3F; + fprintf(fp, " INDX: %02X, Intface: %d, Default: %d, Conf-Entry-Num: %d\n", *(data++), interface, def, conf_ent_num); + + if (interface) + { + CIS_CHECK_SIZE(size--, 1); + fprintf(fp, " IF: %02X\n", *(data++)); + } + + CIS_CHECK_SIZE(size--, 1); + bool misc = data[0] & BIT(7); + int mem_space = (data[0] >> 5) & (0x3); + bool irq = data[0] & BIT(4); + bool io_sp = data[0] & BIT(3); + bool timing = data[0] & BIT(2); + int power = data[0] & 3; + fprintf(fp, " FS: %02X, misc: %d, mem_space: %d, irq: %d, io_space: %d, timing: %d, power: %d\n", *(data++), misc, mem_space, irq, io_sp, timing, power); + + CIS_CHECK_UNSUPPORTED(power == 0); //power descriptor is not handled yet + CIS_CHECK_UNSUPPORTED(!timing); //timing descriptor is not handled yet + CIS_CHECK_UNSUPPORTED(!io_sp); //io space descriptor is not handled yet + + if (irq) + { + CIS_CHECK_SIZE(size--, 1); + bool mask = data[0] & BIT(4); + fprintf(fp, " IR: %02X, mask: %d, ", *(data++), mask); + if (mask) + { + CIS_CHECK_SIZE(size, 2); + size -= 2; + fprintf(fp, " IRQ: %02X %02X\n", data[0], data[1]); + data += 2; + } + } + + if (mem_space) + { + CIS_CHECK_SIZE(size, 2); + size -= 2; + CIS_CHECK_UNSUPPORTED(mem_space == 1); //other cases not handled yet + int len = *(uint16_t *)data; + fprintf(fp, " LEN: %04X\n", len); + data += 2; + } + + CIS_CHECK_UNSUPPORTED(misc == 0); //misc descriptor is not handled yet + return SDMMC_OK; +} + +static const cis_tuple_t *get_tuple(uint8_t code) +{ + for (size_t i = 0; i < sizeof(cis_table) / sizeof(cis_tuple_t); i++) + { + if (code == cis_table[i].code) + return &cis_table[i]; + } + return NULL; +} + +sdmmc_err_t sdmmc_io_print_cis_info(uint8_t *buffer, size_t buffer_size, FILE *fp) +{ + SDMMC_LOG_BUFFER_HEXDUMP("CIS", buffer, buffer_size, ESP_LOG_DEBUG); + if (!fp) + fp = stdout; + + uint8_t *cis = buffer; + do + { + const cis_tuple_t *tuple = get_tuple(cis[0]); + int size = cis[1]; + sdmmc_err_t ret = SDMMC_OK; + if (tuple) + { + ret = tuple->func(tuple, cis, fp); + } + else + { + ret = cis_tuple_func_default(NULL, cis, fp); + } + if (ret != SDMMC_OK) + return ret; + cis += 2 + size; + if (tuple && tuple->code == CISTPL_CODE_END) + break; + } while (cis < buffer + buffer_size); + return SDMMC_OK; +} + +/** + * Check tuples in the buffer. + * + * @param buf Buffer to check + * @param buffer_size Size of the buffer + * @param inout_cis_offset + * - input: the last cis_offset, relative to the beginning of the buf. -1 if + * this buffer begin with the tuple length, otherwise should be no smaller than + * zero. + * - output: when the end tuple found, output offset of the CISTPL_CODE_END + * byte + 1 (relative to the beginning of the buffer; when not found, output + * the address of next tuple code. + * + * @return true if found, false if haven't. + */ +static bool check_tuples_in_buffer(uint8_t *buf, int buffer_size, int *inout_cis_offset) +{ + int cis_offset = *inout_cis_offset; + if (cis_offset == -1) + { + //the CIS code is checked in the last buffer, skip to next tuple + cis_offset += buf[0] + 2; + } + SDMMC_ASSERT(cis_offset >= 0); + while (1) + { + if (cis_offset < buffer_size) + { + //A CIS code in the buffer, check it + if (buf[cis_offset] == CISTPL_CODE_END) + { + *inout_cis_offset = cis_offset + 1; + return true; + } + } + if (cis_offset + 1 < buffer_size) + { + cis_offset += buf[cis_offset + 1] + 2; + } + else + { + break; + } + } + *inout_cis_offset = cis_offset; + return false; +} + +sdmmc_err_t sdmmc_io_get_cis_data(sdmmc_card_t *card, uint8_t *out_buffer, size_t buffer_size, size_t *inout_cis_size) +{ + sdmmc_err_t ret = SDMMC_OK; + WORD_ALIGNED_ATTR uint8_t buf[CIS_GET_MINIMAL_SIZE]; + + /* Pointer to size is a mandatory parameter */ + SDMMC_ASSERT(inout_cis_size); + + /* + * CIS region exist in 0x1000~0x17FFF of FUNC 0, get the start address of it + * from CCCR register. + */ + uint32_t addr; + ret = sdmmc_io_read_bytes(card, 0, 9, &addr, 3); + if (ret != SDMMC_OK) + return ret; + //the sdmmc_io driver reads 4 bytes, the most significant byte is not the address. + addr &= 0xffffff; + if (addr < 0x1000 || addr > 0x17FFF) + { + return SDMMC_ERR_INVALID_RESPONSE; + } + + /* + * To avoid reading too long, take the input value as limitation if + * existing. + */ + size_t max_reading = UINT32_MAX; + if (*inout_cis_size != 0) + { + max_reading = *inout_cis_size; + } + + /* + * Parse the length while reading. If find the end tuple, or reaches the + * limitation, read no more and return both the data and the size already + * read. + */ + int buffer_offset = 0; + int cur_cis_offset = 0; + bool end_tuple_found = false; + do + { + ret = sdmmc_io_read_bytes(card, 0, addr + buffer_offset, &buf, CIS_GET_MINIMAL_SIZE); + if (ret != SDMMC_OK) + return ret; + + //calculate relative to the beginning of the buffer + int offset = cur_cis_offset - buffer_offset; + bool finish = check_tuples_in_buffer(buf, CIS_GET_MINIMAL_SIZE, &offset); + + int remain_size = buffer_size - buffer_offset; + int copy_len; + if (finish) + { + copy_len = min(offset, remain_size); + end_tuple_found = true; + } + else + { + copy_len = min(CIS_GET_MINIMAL_SIZE, remain_size); + } + if (copy_len > 0) + { + memcpy(out_buffer + buffer_offset, buf, copy_len); + } + cur_cis_offset = buffer_offset + offset; + buffer_offset += CIS_GET_MINIMAL_SIZE; + } while (!end_tuple_found && (size_t)buffer_offset < max_reading); + + if (end_tuple_found) + { + *inout_cis_size = cur_cis_offset; + if ((size_t)cur_cis_offset > buffer_size) + { + return SDMMC_ERR_INVALID_SIZE; + } + else + { + return SDMMC_OK; + } + } + else + { + return SDMMC_ERR_NOT_FOUND; + } +} diff --git a/third-party/sdmmc-1.0/src/sdmmc_mmc.c b/third-party/sdmmc-1.0/src/sdmmc_mmc.c new file mode 100644 index 00000000..4c6dffed --- /dev/null +++ b/third-party/sdmmc-1.0/src/sdmmc_mmc.c @@ -0,0 +1,299 @@ +/* + * Copyright (c) 2006 Uwe Stuehler + * Adaptations to ESP-IDF Copyright (c) 2016-2018 Espressif Systems (Shanghai) PTE LTD + * + * Permission to use, copy, modify, and distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES + * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR + * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES + * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN + * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF + * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + */ + +#include +#include +#include "sdmmc_common.h" + +static const char *TAG = "sdmmc_mmc"; + +sdmmc_err_t sdmmc_init_mmc_read_ext_csd(sdmmc_card_t *card) +{ + int card_type; + sdmmc_err_t err = SDMMC_OK; + + uint8_t *ext_csd = sdmmc_port_align_malloc(EXT_CSD_MMC_SIZE, TRUE); + if (!ext_csd) + { + SDMMC_LOGE(TAG, "%s: could not allocate ext_csd", __func__); + return SDMMC_ERR_NO_MEM; + } + + uint32_t sectors = 0; + + SDMMC_LOGD(TAG, "MMC version: %d", card->csd.mmc_ver); + if (card->csd.mmc_ver < MMC_CSD_MMCVER_4_0) + { + err = SDMMC_ERR_NOT_SUPPORTED; + goto out; + } + + /* read EXT_CSD */ + err = sdmmc_mmc_send_ext_csd_data(card, ext_csd, EXT_CSD_MMC_SIZE); + if (err != SDMMC_OK) + { + SDMMC_LOGE(TAG, "%s: send_ext_csd_data error 0x%x", __func__, err); + goto out; + } + card_type = ext_csd[EXT_CSD_CARD_TYPE]; + + card->is_ddr = 0; + if (card_type & EXT_CSD_CARD_TYPE_F_52M_1_8V) + { + card->max_freq_khz = SDMMC_FREQ_52M; + if ((card->host.flags & SDMMC_HOST_FLAG_DDR) && + card->host.max_freq_khz >= SDMMC_FREQ_26M && + card->host.get_bus_width(card->host.slot) == 4) + { + SDMMC_LOGD(TAG, "card and host support DDR mode"); + card->is_ddr = 1; + } + } + else if (card_type & EXT_CSD_CARD_TYPE_F_52M) + { + card->max_freq_khz = SDMMC_FREQ_52M; + } + else if (card_type & EXT_CSD_CARD_TYPE_F_26M) + { + card->max_freq_khz = SDMMC_FREQ_26M; + } + else + { + SDMMC_LOGW(TAG, "%s: unknown CARD_TYPE 0x%x", __func__, card_type); + } + /* For MMC cards, use speed value from EXT_CSD */ + card->csd.tr_speed = card->max_freq_khz * 1000; + SDMMC_LOGD(TAG, "MMC card type %d, max_freq_khz=%d, is_ddr=%d", card_type, card->max_freq_khz, card->is_ddr); + card->max_freq_khz = min((int)card->max_freq_khz, card->host.max_freq_khz); + + if (card->host.flags & SDMMC_HOST_FLAG_8BIT) + { + card->ext_csd.power_class = ext_csd[(card->max_freq_khz > SDMMC_FREQ_26M) ? EXT_CSD_PWR_CL_52_360 : EXT_CSD_PWR_CL_26_360] >> 4; + card->log_bus_width = 3; + } + else if (card->host.flags & SDMMC_HOST_FLAG_4BIT) + { + card->ext_csd.power_class = ext_csd[(card->max_freq_khz > SDMMC_FREQ_26M) ? EXT_CSD_PWR_CL_52_360 : EXT_CSD_PWR_CL_26_360] & 0x0f; + card->log_bus_width = 2; + } + else + { + card->ext_csd.power_class = 0; //card must be able to do full rate at powerclass 0 in 1-bit mode + card->log_bus_width = 0; + } + + sectors = (ext_csd[EXT_CSD_SEC_COUNT + 0] << 0) | (ext_csd[EXT_CSD_SEC_COUNT + 1] << 8) | (ext_csd[EXT_CSD_SEC_COUNT + 2] << 16) | (ext_csd[EXT_CSD_SEC_COUNT + 3] << 24); + + if (sectors > (2u * 1024 * 1024 * 1024) / 512) + { + card->csd.capacity = sectors; + } + +out: + sdmmc_port_align_free(ext_csd); + return err; +} + +sdmmc_err_t sdmmc_init_mmc_bus_width(sdmmc_card_t *card) +{ + sdmmc_err_t err; + if (card->ext_csd.power_class != 0) + { + err = sdmmc_mmc_switch(card, EXT_CSD_CMD_SET_NORMAL, + EXT_CSD_POWER_CLASS, card->ext_csd.power_class); + if (err != SDMMC_OK) + { + SDMMC_LOGE(TAG, "%s: can't change power class (%d bit), 0x%x", __func__, card->ext_csd.power_class, err); + return err; + } + } + + if (card->log_bus_width > 0) + { + int csd_bus_width_value = EXT_CSD_BUS_WIDTH_1; + int bus_width = 1; + if (card->log_bus_width == 2) + { + if (card->is_ddr) + { + csd_bus_width_value = EXT_CSD_BUS_WIDTH_4_DDR; + } + else + { + csd_bus_width_value = EXT_CSD_BUS_WIDTH_4; + } + bus_width = 4; + } + else if (card->log_bus_width == 3) + { + if (card->is_ddr) + { + csd_bus_width_value = EXT_CSD_BUS_WIDTH_8_DDR; + } + else + { + csd_bus_width_value = EXT_CSD_BUS_WIDTH_8; + } + bus_width = 8; + } + err = sdmmc_mmc_switch(card, EXT_CSD_CMD_SET_NORMAL, + EXT_CSD_BUS_WIDTH, csd_bus_width_value); + if (err != SDMMC_OK) + { + SDMMC_LOGE(TAG, "%s: can't change bus width (%d bit), 0x%x", + __func__, bus_width, err); + return err; + } + } + return SDMMC_OK; +} + +sdmmc_err_t sdmmc_mmc_enable_hs_mode(sdmmc_card_t *card) +{ + sdmmc_err_t err; + if (card->max_freq_khz > SDMMC_FREQ_26M) + { + /* switch to high speed timing */ + err = sdmmc_mmc_switch(card, EXT_CSD_CMD_SET_NORMAL, + EXT_CSD_HS_TIMING, EXT_CSD_HS_TIMING_HS); + if (err != SDMMC_OK) + { + SDMMC_LOGE(TAG, "%s: mmc_switch EXT_CSD_HS_TIMING_HS error 0x%x", + __func__, err); + return err; + } + } + return SDMMC_OK; +} + +sdmmc_err_t sdmmc_mmc_decode_cid(int mmc_ver, sdmmc_response_t resp, sdmmc_cid_t *out_cid) +{ + if (mmc_ver == MMC_CSD_MMCVER_1_0 || + mmc_ver == MMC_CSD_MMCVER_1_4) + { + out_cid->mfg_id = MMC_CID_MID_V1(resp); + out_cid->oem_id = 0; + MMC_CID_PNM_V1_CPY(resp, out_cid->name); + out_cid->revision = MMC_CID_REV_V1(resp); + out_cid->serial = MMC_CID_PSN_V1(resp); + out_cid->date = MMC_CID_MDT_V1(resp); + } + else if (mmc_ver == MMC_CSD_MMCVER_2_0 || + mmc_ver == MMC_CSD_MMCVER_3_1 || + mmc_ver == MMC_CSD_MMCVER_4_0) + { + out_cid->mfg_id = MMC_CID_MID_V2(resp); + out_cid->oem_id = MMC_CID_OID_V2(resp); + MMC_CID_PNM_V1_CPY(resp, out_cid->name); + out_cid->revision = 0; + out_cid->serial = MMC_CID_PSN_V1(resp); + out_cid->date = 0; + } + return SDMMC_OK; +} + +sdmmc_err_t sdmmc_mmc_decode_csd(sdmmc_response_t response, sdmmc_csd_t *out_csd) +{ + out_csd->csd_ver = MMC_CSD_CSDVER(response); + if (out_csd->csd_ver == MMC_CSD_CSDVER_1_0 || + out_csd->csd_ver == MMC_CSD_CSDVER_2_0 || + out_csd->csd_ver == MMC_CSD_CSDVER_EXT_CSD) + { + out_csd->mmc_ver = MMC_CSD_MMCVER(response); + out_csd->capacity = MMC_CSD_CAPACITY(response); + out_csd->read_block_len = MMC_CSD_READ_BL_LEN(response); + } + else + { + SDMMC_LOGE(TAG, "unknown MMC CSD structure version 0x%x\n", out_csd->csd_ver); + return 1; + } + int read_bl_size = 1 << out_csd->read_block_len; + out_csd->sector_size = min(read_bl_size, 512); + if (out_csd->sector_size < read_bl_size) + { + out_csd->capacity *= read_bl_size / out_csd->sector_size; + } + /* tr_speed will be determined when reading CXD */ + out_csd->tr_speed = 0; + return SDMMC_OK; +} + +sdmmc_err_t sdmmc_mmc_send_ext_csd_data(sdmmc_card_t *card, void *out_data, size_t datalen) +{ + SDMMC_ASSERT(SDMMC_PTR_DMA_CAP(out_data)); + sdmmc_command_t cmd = { + .data = out_data, + .datalen = datalen, + .blklen = datalen, + .opcode = MMC_SEND_EXT_CSD, + .arg = 0, + .flags = SCF_CMD_ADTC | SCF_RSP_R1 | SCF_CMD_READ}; + return sdmmc_send_cmd(card, &cmd); +} + +sdmmc_err_t sdmmc_mmc_switch(sdmmc_card_t *card, uint8_t set, uint8_t index, uint8_t value) +{ + sdmmc_command_t cmd = { + .opcode = MMC_SWITCH, + .arg = (MMC_SWITCH_MODE_WRITE_BYTE << 24) | (index << 16) | (value << 8) | set, + .flags = SCF_RSP_R1B | SCF_CMD_AC | SCF_WAIT_BUSY, + }; + sdmmc_err_t err = sdmmc_send_cmd(card, &cmd); + if (err == SDMMC_OK) + { + //check response bit to see that switch was accepted + if (MMC_R1(cmd.response) & MMC_R1_SWITCH_ERROR) + err = SDMMC_ERR_INVALID_RESPONSE; + } + + return err; +} + +sdmmc_err_t sdmmc_init_mmc_check_csd(sdmmc_card_t *card) +{ + sdmmc_err_t err; + SDMMC_ASSERT(card->is_mem == 1); + SDMMC_ASSERT(card->rca != 0); + //The card will not respond to send_csd command in the transfer state. + //Deselect it first. + err = sdmmc_send_cmd_select_card(card, 0); + if (err != SDMMC_OK) + { + SDMMC_LOGE(TAG, "%s: select_card returned 0x%x", __func__, err); + return err; + } + + sdmmc_csd_t csd; + /* Get the contents of CSD register to verify the communication over CMD line + is OK. */ + err = sdmmc_send_cmd_send_csd(card, &csd); + if (err != SDMMC_OK) + { + SDMMC_LOGE(TAG, "%s: send_csd returned 0x%x", __func__, err); + return err; + } + + //Select the card again + err = sdmmc_send_cmd_select_card(card, card->rca); + if (err != SDMMC_OK) + { + SDMMC_LOGE(TAG, "%s: select_card returned 0x%x", __func__, err); + return err; + } + return SDMMC_OK; +} diff --git a/third-party/sdmmc-1.0/src/sdmmc_sd.c b/third-party/sdmmc-1.0/src/sdmmc_sd.c new file mode 100644 index 00000000..247f036c --- /dev/null +++ b/third-party/sdmmc-1.0/src/sdmmc_sd.c @@ -0,0 +1,408 @@ +/* + * Copyright (c) 2006 Uwe Stuehler + * Adaptations to ESP-IDF Copyright (c) 2016-2018 Espressif Systems (Shanghai) PTE LTD + * + * Permission to use, copy, modify, and distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES + * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR + * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES + * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN + * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF + * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + */ + +#include "sdmmc_common.h" + +static const char *TAG = "sdmmc_sd"; + +sdmmc_err_t sdmmc_init_sd_if_cond(sdmmc_card_t *card) +{ + /* SEND_IF_COND (CMD8) command is used to identify SDHC/SDXC cards. + * SD v1 and non-SD cards will not respond to this command. + */ + uint32_t host_ocr = get_host_ocr(card->host.io_voltage); + sdmmc_err_t err = sdmmc_send_cmd_send_if_cond(card, host_ocr); + if (err == SDMMC_OK) + { + SDMMC_LOGD(TAG, "SDHC/SDXC card"); + host_ocr |= SD_OCR_SDHC_CAP; + } + else if (err == SDMMC_ERR_TIMEOUT) + { + SDMMC_LOGD(TAG, "CMD8 timeout; not an SD v2.00 card"); + } + else if (host_is_spi(card) && err == SDMMC_ERR_NOT_SUPPORTED) + { + SDMMC_LOGD(TAG, "CMD8 rejected; not an SD v2.00 card"); + } + else + { + SDMMC_LOGE(TAG, "%s: send_if_cond (1) returned 0x%x", __func__, err); + return err; + } + card->ocr = host_ocr; + return SDMMC_OK; +} + +sdmmc_err_t sdmmc_init_sd_blocklen(sdmmc_card_t *card) +{ + /* SDSC cards support configurable data block lengths. + * We don't use this feature and set the block length to 512 bytes, + * same as the block length for SDHC cards. + */ + if ((card->ocr & SD_OCR_SDHC_CAP) == 0) + { + sdmmc_err_t err = sdmmc_send_cmd_set_blocklen(card, &card->csd); + if (err != SDMMC_OK) + { + SDMMC_LOGE(TAG, "%s: set_blocklen returned 0x%x", __func__, err); + return err; + } + } + return SDMMC_OK; +} + +sdmmc_err_t sdmmc_init_sd_scr(sdmmc_card_t *card) +{ + sdmmc_err_t err; + /* Get the contents of SCR register: bus width and the version of SD spec + * supported by the card. + * In SD mode, this is the first command which uses D0 line. Errors at + * this step usually indicate connection issue or lack of pull-up resistor. + */ + err = sdmmc_send_cmd_send_scr(card, &card->scr); + if (err != SDMMC_OK) + { + SDMMC_LOGE(TAG, "%s: send_scr (1) returned 0x%x", __func__, err); + return err; + } + + if ((card->scr.bus_width & SCR_SD_BUS_WIDTHS_4BIT) && (card->host.flags & SDMMC_HOST_FLAG_4BIT)) + { + card->log_bus_width = 2; + } + else + { + card->log_bus_width = 0; + } + return SDMMC_OK; +} + +sdmmc_err_t sdmmc_init_sd_bus_width(sdmmc_card_t *card) +{ + int width = 1; + if (card->log_bus_width == 2) + { + width = 4; + } + else if (card->log_bus_width == 3) + { + width = 8; + } + sdmmc_err_t err = sdmmc_send_cmd_set_bus_width(card, width); + if (err != SDMMC_OK) + { + SDMMC_LOGE(TAG, "set_bus_width %d failed (0x%x)", width, err); + return err; + } + return SDMMC_OK; +} + +sdmmc_err_t sdmmc_init_sd_wait_data_ready(sdmmc_card_t *card) +{ + /* Wait for the card to be ready for data transfers */ + uint32_t status = 0; + uint32_t count = 0; + while (!host_is_spi(card) && !(status & MMC_R1_READY_FOR_DATA)) + { + // TODO: add some timeout here + sdmmc_err_t err = sdmmc_send_cmd_send_status(card, &status); + if (err != SDMMC_OK) + { + return err; + } + if (++count % 16 == 0) + { + SDMMC_LOGV(TAG, "waiting for card to become ready (%d)", count); + } + } + return SDMMC_OK; +} + +sdmmc_err_t sdmmc_send_cmd_switch_func(sdmmc_card_t *card, + uint32_t mode, uint32_t group, uint32_t function, + sdmmc_switch_func_rsp_t *resp) +{ + if (card->scr.sd_spec < SCR_SD_SPEC_VER_1_10 || + ((card->csd.card_command_class & SD_CSD_CCC_SWITCH) == 0)) + { + return SDMMC_ERR_NOT_SUPPORTED; + } + + if (group == 0 || + group > SD_SFUNC_GROUP_MAX || + function > SD_SFUNC_FUNC_MAX) + { + return SDMMC_ERR_INVALID_ARG; + } + + if (mode > 1) + { + return SDMMC_ERR_INVALID_ARG; + } + + uint32_t group_shift = (group - 1) << 2; + /* all functions which should not be affected are set to 0xf (no change) */ + uint32_t other_func_mask = (0x00ffffff & ~(0xf << group_shift)); + uint32_t func_val = (function << group_shift) | other_func_mask; + + sdmmc_command_t cmd = { + .opcode = MMC_SWITCH, + .flags = SCF_CMD_ADTC | SCF_CMD_READ | SCF_RSP_R1, + .blklen = sizeof(sdmmc_switch_func_rsp_t), + .data = resp->data, + .datalen = sizeof(sdmmc_switch_func_rsp_t), + .arg = (!!mode << 31) | func_val}; + + sdmmc_err_t err = sdmmc_send_cmd(card, &cmd); + if (err != SDMMC_OK) + { + SDMMC_LOGE(TAG, "%s: sdmmc_send_cmd returned 0x%x", __func__, err); + return err; + } + sdmmc_flip_byte_order(resp->data, sizeof(sdmmc_switch_func_rsp_t)); + uint32_t resp_ver = SD_SFUNC_VER(resp->data); + if (resp_ver == 0) + { + /* busy response is never sent */ + } + else if (resp_ver == 1) + { + if (SD_SFUNC_BUSY(resp->data, group) & (1 << function)) + { + SDMMC_LOGD(TAG, "%s: response indicates function %d:%d is busy", + __func__, group, function); + return SDMMC_ERR_INVALID_STATE; + } + } + else + { + SDMMC_LOGE(TAG, "%s: got an invalid version of SWITCH_FUNC response: 0x%02x", + __func__, resp_ver); + return SDMMC_ERR_INVALID_RESPONSE; + } + return SDMMC_OK; +} + +sdmmc_err_t sdmmc_enable_hs_mode(sdmmc_card_t *card) +{ + /* This will determine if the card supports SWITCH_FUNC command, + * and high speed mode. If the cards supports both, this will enable + * high speed mode at the card side. + */ + if (card->scr.sd_spec < SCR_SD_SPEC_VER_1_10 || + ((card->csd.card_command_class & SD_CSD_CCC_SWITCH) == 0)) + { + return SDMMC_ERR_NOT_SUPPORTED; + } + sdmmc_switch_func_rsp_t *response = (sdmmc_switch_func_rsp_t *) + sdmmc_port_align_malloc(sizeof(*response), TRUE); + if (response == NULL) + { + return SDMMC_ERR_NO_MEM; + } + + sdmmc_err_t err = sdmmc_send_cmd_switch_func(card, 0, SD_ACCESS_MODE, 0, response); + if (err != SDMMC_OK) + { + SDMMC_LOGD(TAG, "%s: sdmmc_send_cmd_switch_func (1) returned 0x%x", __func__, err); + goto out; + } + uint32_t supported_mask = SD_SFUNC_SUPPORTED(response->data, 1); + if ((supported_mask & BIT(SD_ACCESS_MODE_SDR25)) == 0) + { + err = SDMMC_ERR_NOT_SUPPORTED; + goto out; + } + err = sdmmc_send_cmd_switch_func(card, 1, SD_ACCESS_MODE, SD_ACCESS_MODE_SDR25, response); + if (err != SDMMC_OK) + { + SDMMC_LOGD(TAG, "%s: sdmmc_send_cmd_switch_func (2) returned 0x%x", __func__, err); + goto out; + } + +out: + sdmmc_port_align_free(response); + return err; +} + +sdmmc_err_t sdmmc_enable_hs_mode_and_check(sdmmc_card_t *card) +{ + /* All cards should support at least default speed */ + card->max_freq_khz = SDMMC_FREQ_DEFAULT; + if (card->host.max_freq_khz <= card->max_freq_khz) + { + /* Host is configured to use low frequency, don't attempt to switch */ + card->max_freq_khz = card->host.max_freq_khz; + return SDMMC_OK; + } + + /* Try to enabled HS mode */ + sdmmc_err_t err = sdmmc_enable_hs_mode(card); + if (err != SDMMC_OK) + { + return err; + } + /* HS mode has been enabled on the card. + * Read CSD again, it should now indicate that the card supports + * 50MHz clock. + * Since SEND_CSD is allowed only in standby mode, and the card is currently in data transfer + * mode, deselect the card first, then get the CSD, then select the card again. This step is + * not required in SPI mode, since CMD7 (select_card) is not supported. + */ + const bool is_spi = host_is_spi(card); + if (!is_spi) + { + err = sdmmc_send_cmd_select_card(card, 0); + if (err != SDMMC_OK) + { + SDMMC_LOGE(TAG, "%s: select_card (1) returned 0x%x", __func__, err); + return err; + } + } + err = sdmmc_send_cmd_send_csd(card, &card->csd); + if (err != SDMMC_OK) + { + SDMMC_LOGE(TAG, "%s: send_csd returned 0x%x", __func__, err); + return err; + } + if (!is_spi) + { + err = sdmmc_send_cmd_select_card(card, card->rca); + if (err != SDMMC_OK) + { + SDMMC_LOGE(TAG, "%s: select_card (2) returned 0x%x", __func__, err); + return err; + } + } + + if (card->csd.tr_speed != 50000000) + { + SDMMC_LOGW(TAG, "unexpected: after enabling HS mode, tr_speed=%d", card->csd.tr_speed); + return SDMMC_ERR_NOT_SUPPORTED; + } + + card->max_freq_khz = SDMMC_FREQ_HIGHSPEED; + return SDMMC_OK; +} + +sdmmc_err_t sdmmc_check_scr(sdmmc_card_t *card) +{ + /* If frequency switch has been performed, read SCR register one more time + * and compare the result with the previous one. Use this simple check as + * an indicator of potential signal integrity issues. + */ + sdmmc_scr_t scr_tmp; + sdmmc_err_t err = sdmmc_send_cmd_send_scr(card, &scr_tmp); + if (err != SDMMC_OK) + { + SDMMC_LOGE(TAG, "%s: send_scr returned 0x%x", __func__, err); + return err; + } + if (memcmp(&card->scr, &scr_tmp, sizeof(scr_tmp)) != 0) + { + SDMMC_LOGE(TAG, "got corrupted data after increasing clock frequency"); + return SDMMC_ERR_INVALID_RESPONSE; + } + return SDMMC_OK; +} + +sdmmc_err_t sdmmc_init_spi_crc(sdmmc_card_t *card) +{ + /* In SD mode, CRC checks of data transfers are mandatory and performed + * by the hardware. In SPI mode, CRC16 of data transfers is optional and + * needs to be enabled. + */ + SDMMC_ASSERT(host_is_spi(card)); + sdmmc_err_t err = sdmmc_send_cmd_crc_on_off(card, true); + if (err != SDMMC_OK) + { + SDMMC_LOGE(TAG, "%s: sdmmc_send_cmd_crc_on_off returned 0x%x", __func__, err); + return err; + } + return SDMMC_OK; +} + +sdmmc_err_t sdmmc_decode_cid(sdmmc_response_t resp, sdmmc_cid_t *out_cid) +{ + out_cid->mfg_id = SD_CID_MID(resp); + out_cid->oem_id = SD_CID_OID(resp); + SD_CID_PNM_CPY(resp, out_cid->name); + out_cid->revision = SD_CID_REV(resp); + out_cid->serial = SD_CID_PSN(resp); + out_cid->date = SD_CID_MDT(resp); + return SDMMC_OK; +} + +sdmmc_err_t sdmmc_decode_csd(sdmmc_response_t response, sdmmc_csd_t *out_csd) +{ + out_csd->csd_ver = SD_CSD_CSDVER(response); + switch (out_csd->csd_ver) + { + case SD_CSD_CSDVER_2_0: + out_csd->capacity = SD_CSD_V2_CAPACITY(response); + out_csd->read_block_len = SD_CSD_V2_BL_LEN; + break; + case SD_CSD_CSDVER_1_0: + out_csd->capacity = SD_CSD_CAPACITY(response); + out_csd->read_block_len = SD_CSD_READ_BL_LEN(response); + break; + default: + SDMMC_LOGE(TAG, "unknown SD CSD structure version 0x%x", out_csd->csd_ver); + return SDMMC_ERR_NOT_SUPPORTED; + } + out_csd->card_command_class = SD_CSD_CCC(response); + int read_bl_size = 1 << out_csd->read_block_len; + out_csd->sector_size = min(read_bl_size, 512); + if (out_csd->sector_size < read_bl_size) + { + out_csd->capacity *= read_bl_size / out_csd->sector_size; + } + int speed = SD_CSD_SPEED(response); + if (speed == SD_CSD_SPEED_50_MHZ) + { + out_csd->tr_speed = 50000000; + } + else + { + out_csd->tr_speed = 25000000; + } + return SDMMC_OK; +} + +sdmmc_err_t sdmmc_decode_scr(uint32_t *raw_scr, sdmmc_scr_t *out_scr) +{ + sdmmc_response_t resp = {0}; + resp[1] = __builtin_bswap32(raw_scr[0]); + resp[0] = __builtin_bswap32(raw_scr[1]); + int ver = SCR_STRUCTURE(resp); + if (ver != 0) + { + SDMMC_LOGE(TAG, "decode scr failed at %s raw_scr: 0x%x ver: 0x%x", + __func__, *raw_scr, ver); + return SDMMC_ERR_NOT_SUPPORTED; + } + out_scr->sd_spec = SCR_SD_SPEC(resp); + out_scr->bus_width = SCR_SD_BUS_WIDTHS(resp); + SDMMC_LOGD(TAG, "sd spec: 0x%x, bus width: %d", out_scr->sd_spec, out_scr->bus_width); + return SDMMC_OK; +} + +sdmmc_err_t sdmmc_init_switch_hs(sdmmc_card_t *card) +{ + return sdmmc_send_cmd_switch(card); +} \ No newline at end of file diff --git a/third-party/sfud-1.1.0/Kconfig b/third-party/sfud-1.1.0/Kconfig index 9ff77e7f..a0e2cc90 100644 --- a/third-party/sfud-1.1.0/Kconfig +++ b/third-party/sfud-1.1.0/Kconfig @@ -8,25 +8,6 @@ menu "SFUD Configuration" select USE_FSPIM default n - if SFUD_CTRL_FSPIM - choice SFUD_TRANS_MODE - prompt "Trans Mode" - default SFUD_TRANS_MODE_POLL_FIFO - help - Select Transfer Mode as Poll or Intrrupt - - config SFUD_TRANS_MODE_POLL_BYTE - bool "Poll (Trans by Byte)" - - config SFUD_TRANS_MODE_POLL_FIFO - bool "Poll (Trans by Fifo)" - - config SFUD_TRANS_MODE_INTRRUPT - bool "Intrrupt (Trans by Fifo)" - - endchoice #SFUD_TRANS_MODE - endif - config SFUD_CTRL_FQSPI bool prompt "Use FQSPI" diff --git a/third-party/sfud-1.1.0/ports/fspim/fspim_sfud_core.c b/third-party/sfud-1.1.0/ports/fspim/fspim_sfud_core.c new file mode 100644 index 00000000..b75863dc --- /dev/null +++ b/third-party/sfud-1.1.0/ports/fspim/fspim_sfud_core.c @@ -0,0 +1,131 @@ +/* + * Copyright : (C) 2022 Phytium Information Technology, Inc. + * All Rights Reserved. + * + * This program is OPEN SOURCE software: you can redistribute it and/or modify it + * under the terms of the Phytium Public License as published by the Phytium Technology Co.,Ltd, + * either version 1.0 of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful,but WITHOUT ANY WARRANTY; + * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + * See the Phytium Public License for more details. + * + * + * FilePath: fspim_sfud_core.c + * Date: 2022-08-19 10:09:23 + * LastEditTime: 2022-08-19 10:09:23 + * Description:  This files is for + * + * Modify History: + * Ver   Who        Date         Changes + * ----- ------     --------    -------------------------------------- + */ +#include "FreeRTOS.h" +#include "task.h" +#include "semphr.h" + +#include "parameters.h" +#include "ft_assert.h" +#include "fsleep.h" + +#include "fspim_os.h" + +#include "fspim_sfud_core.h" + +typedef struct +{ + u32 spi_id; + FFreeRTOSSpim *spi; + FFreeRTOSSpimConifg spi_cfg; + FFreeRTOSSpiMessage spi_msg; + boolean is_inited; +} FSpimSfudOs; + +static FSpimSfudOs sfud_instance = +{ + .spi_id = FSPI2_ID, + .spi = NULL, + .spi_cfg = + { + /* you may need to assign spi mode according to flash spec. */ + .spi_mode = FFREERTOS_SPIM_MODE_0, + .en_dma = FALSE, + .inner_loopback = FALSE + }, + .spi_msg = + { + .rx_buf = NULL, + .rx_len = 0U, + .tx_buf = NULL, + .tx_len = 0U + }, + .is_inited = FALSE +}; + +static sfud_err FSpimReadWrite(const sfud_spi *flash, const uint8_t *write_buf, size_t write_size, uint8_t *read_buf, + size_t read_size) +{ + sfud_err result = SFUD_SUCCESS; + FError err = FT_SUCCESS; + FSpimSfudOs *user_data = (FSpimSfudOs *)flash->user_data; + + SFUD_DEBUG("spi_write_read@%p beg+++++++++++++++++++++++++++++++++++++++++++++++++++", flash); + if (NULL != write_buf) + { + SFUD_DEBUG("++++ Write %d Bytes @%p: 0x%x, 0x%x, 0x%x", + write_size, write_buf, + ((write_size > 0)) ? write_buf[0] : 0xff, + ((write_size > 1)) ? write_buf[1] : 0xff, + ((write_size > 2)) ? write_buf[2] : 0xff); + } + + /** + * add your spi write and read code + */ + user_data->spi_msg.rx_buf = read_buf; + user_data->spi_msg.rx_len = read_size; + user_data->spi_msg.tx_buf = write_buf; + user_data->spi_msg.tx_len = write_size; + err = FFreeRTOSSpimTransfer(user_data->spi, &user_data->spi_msg); + if (FT_SUCCESS != err) + { + result = write_size > 0 ? SFUD_ERR_WRITE : SFUD_ERR_READ; + SFUD_ERROR("sfud transfer failed !!!"); + } + + if (NULL != read_buf) + { + SFUD_DEBUG("++++ Read %d Bytes @%p: 0x%x, 0x%x, 0x%x", + read_size, read_buf, + ((read_size > 0)) ? read_buf[0] : 0xff, + ((read_size > 1)) ? read_buf[1] : 0xff, + ((read_size > 2)) ? read_buf[2] : 0xff); + } + SFUD_DEBUG("spi_write_read@%p end+++++++++++++++++++++++++++++++++++++++++++++++++++", flash); + + return result; +} + +sfud_err FSpimProbe(sfud_flash *flash) +{ + FSpimSfudOs *user_data = &sfud_instance; + + /* sfud_spi_port_init will be called for each flash candidate, + and we just do controller init for the first time */ + if (FALSE == user_data->is_inited) + { + /* init spi controller */ + user_data->spi = FFreeRTOSSpimInit(user_data->spi_id, &user_data->spi_cfg); + if (NULL == user_data->spi) + { + return SFUD_ERR_NOT_FOUND; + } + + user_data->is_inited = TRUE; + } + + flash->user_data = user_data; + flash->spi.wr = FSpimReadWrite; + + return SFUD_SUCCESS; +} \ No newline at end of file diff --git a/third-party/sfud-1.1.0/ports/fspim/fspim_sfud_core.h b/third-party/sfud-1.1.0/ports/fspim/fspim_sfud_core.h new file mode 100644 index 00000000..f8748cb1 --- /dev/null +++ b/third-party/sfud-1.1.0/ports/fspim/fspim_sfud_core.h @@ -0,0 +1,31 @@ +/* + * Copyright : (C) 2022 Phytium Information Technology, Inc. + * All Rights Reserved. + * + * This program is OPEN SOURCE software: you can redistribute it and/or modify it + * under the terms of the Phytium Public License as published by the Phytium Technology Co.,Ltd, + * either version 1.0 of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful,but WITHOUT ANY WARRANTY; + * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + * See the Phytium Public License for more details. + * + * + * FilePath: fspim_sfud_core.h + * Date: 2022-08-19 10:09:31 + * LastEditTime: 2022-08-19 10:09:31 + * Description:  This files is for + * + * Modify History: + * Ver   Who        Date         Changes + * ----- ------     --------    -------------------------------------- + */ +#ifndef FSPIM_SFUD_H +#define FSPIM_SFUD_H + +#include "sfud.h" +#include "sfud_def.h" + +sfud_err FSpimProbe(sfud_flash *flash); + +#endif // ! \ No newline at end of file diff --git a/third-party/sfud-1.1.0/ports/sfud_port.c b/third-party/sfud-1.1.0/ports/sfud_port.c index a456aba6..02e69bab 100644 --- a/third-party/sfud-1.1.0/ports/sfud_port.c +++ b/third-party/sfud-1.1.0/ports/sfud_port.c @@ -80,6 +80,11 @@ sfud_err sfud_spi_port_init(sfud_flash *flash) { sfud_err result = SFUD_SUCCESS; + if (NULL != xSemaphore) + { + vSemaphoreDelete(xSemaphore); /* delate locker if it is not first probe */ + } + xSemaphore = xSemaphoreCreateMutex(); if (xSemaphore == NULL) { diff --git a/third-party/third-party.mk b/third-party/third-party.mk index 9f0c10ab..ec6926b5 100644 --- a/third-party/third-party.mk +++ b/third-party/third-party.mk @@ -200,6 +200,29 @@ endif endif #CONFIG_USE_LETTER_SHELL +ifdef CONFIG_USE_TLSF +INC_DIR += $(THIRD_PARTY_CUR_DIR)/tlsf-3.1.0/src \ + $(THIRD_PARTY_CUR_DIR)/tlsf-3.1.0/port +SRC_DIR += $(THIRD_PARTY_CUR_DIR)/tlsf-3.1.0/src \ + $(THIRD_PARTY_CUR_DIR)/tlsf-3.1.0/port +endif #CONFIG_USE_TLSF +ifdef CONFIG_USE_SDMMC_CMD + +$(shell export PATH=$(THIRD_PARTY_CUR_DIR)/sdmmc-1.0:$PATH) + + INC_DIR += $(THIRD_PARTY_CUR_DIR)/sdmmc-1.0 \ + $(THIRD_PARTY_CUR_DIR)/sdmmc-1.0/inc \ + $(THIRD_PARTY_CUR_DIR)/sdmmc-1.0/src + SRC_DIR += $(THIRD_PARTY_CUR_DIR)/sdmmc-1.0 \ + $(THIRD_PARTY_CUR_DIR)/sdmmc-1.0/src + + ifdef CONFIG_SDMMC_PORT_FSDIO + INC_DIR += $(THIRD_PARTY_CUR_DIR)/sdmmc-1.0/port \ + $(THIRD_PARTY_CUR_DIR)/sdmmc-1.0/port/fsdio + SRC_DIR += $(THIRD_PARTY_CUR_DIR)/sdmmc-1.0/port \ + $(THIRD_PARTY_CUR_DIR)/sdmmc-1.0/port/fsdio + endif #CONFIG_SDMMC_PORT_FSDIO +endif #CONFIG_USE_SDMMC_CMD \ No newline at end of file diff --git a/third-party/tlsf-3.1.0/README.md b/third-party/tlsf-3.1.0/README.md new file mode 100644 index 00000000..b32613fa --- /dev/null +++ b/third-party/tlsf-3.1.0/README.md @@ -0,0 +1,142 @@ +# TLSF + +Two-Level Segregated Fit memory allocator implementation. +Written by Matthew Conte (matt@baisoku.org). +Released under the BSD license. https://github.com/mattconte/tlsf + +## Features + + * O(1) cost for malloc, free, realloc, memalign + * Extremely low overhead per allocation (4 bytes) + * Low overhead per TLSF management of pools (~3kB) + * Low fragmentation + * Compiles to only a few kB of code and data + * Support for adding and removing memory pool regions on the fly + +## Caveats + + * Currently, assumes architecture can make 4-byte aligned accesses + * Not designed to be thread safe; the user must provide this + +## Notes + +This code was based on the TLSF 1.4 spec and documentation found at: + + http://www.gii.upv.es/tlsf/main/docs + +It also leverages the TLSF 2.0 improvement to shrink the per-block overhead from 8 to 4 bytes. + +## History + +2016/04/10 - v3.1 + * Code moved to github + * tlsfbits.h rolled into tlsf.c + * License changed to BSD + +2014/02/08 - v3.0 + * This version is based on improvements from 3DInteractive GmbH + * Interface changed to allow more than one memory pool + * Separated pool handling from control structure (adding, removing, debugging) + * Control structure and pools can still be constructed in the same memory block + * Memory blocks for control structure and pools are checked for alignment + * Added functions to retrieve control structure size, alignment size, min and max block size, overhead of pool structure, and overhead of a single allocation + * Minimal Pool size is tlsf_block_size_min() + tlsf_pool_overhead() + * Pool must be empty when it is removed, in order to allow O(1) removal + +2011/10/20 - v2.0 + * 64-bit support + * More compiler intrinsics for ffs/fls + * ffs/fls verification during TLSF creation in debug builds + +2008/04/04 - v1.9 + * Add tlsf_heap_check, a heap integrity check + * Support a predefined tlsf_assert macro + * Fix realloc case where block should shrink; if adjacent block is in use, execution would go down the slow path + +2007/02/08 - v1.8 + * Fix for unnecessary reallocation in tlsf_realloc + +2007/02/03 - v1.7 + * tlsf_heap_walk takes a callback + * tlsf_realloc now returns NULL on failure + * tlsf_memalign optimization for 4-byte alignment + * Usage of size_t where appropriate + +2006/11/21 - v1.6 + * ffs/fls broken out into tlsfbits.h + * tlsf_overhead queries per-pool overhead + +2006/11/07 - v1.5 + * Smart realloc implementation + * Smart memalign implementation + +2006/10/11 - v1.4 + * Add some ffs/fls implementations + * Minor code footprint reduction + +2006/09/14 - v1.3 + * Profiling indicates heavy use of blocks of size 1-128, so implement small block handling + * Reduce pool overhead by about 1kb + * Reduce minimum block size from 32 to 12 bytes + * Realloc bug fix + +2006/09/09 - v1.2 + * Add tlsf_block_size + * Static assertion mechanism for invariants + * Minor bugfixes + +2006/09/01 - v1.1 + * Add tlsf_realloc + * Add tlsf_walk_heap + +2006/08/25 - v1.0 + * First release + +----- +## How to use TLSF + +### Select TLSF package + +Enable the user heap algorithm: + +``` + -> RT-Thread Kernel + -> Memory Management + -> Dynamic Memory Management + ( ) Disable Heap + ( ) Small Memory Algorithm + ( ) SLAB Algorithm for large memory + ( ) Use all of memheap objects as heap + (X) Use user heap Algorithm +``` +And enable the tlsf packages: + +``` +-> RT-Thread online packages + -> system packages + [*] TLSF: A dynamic memory allocation algorithm with predictable execution time and low fragmentation. + [ ] Enable TLSF align + Version (latest) ---> +``` + +- Enable TLSF align:Using TLSF align (malloc align and free align) algorithm if it is selected. Using system align algorithm if it is not selected. +- Version: The version of TLSF package. + +### Multiple heaps + +When the system is initialized, one heap(pool) is added automatically. If multiple heaps(pools) are needed, use the APIs show below: + +add another heap(pool): + +```c +void *heap = rt_system_heap_add((void *)SRAM_START_ADDR, (void *)SRAM_END_ADDR); +``` + +remove the heap(pool): + +```c +rt_system_heap_remove(heap); +``` + +Note: the maximum number of heaps is 255. + diff --git a/third-party/tlsf-3.1.0/port/fmemory_pool.c b/third-party/tlsf-3.1.0/port/fmemory_pool.c new file mode 100644 index 00000000..4343e3d6 --- /dev/null +++ b/third-party/tlsf-3.1.0/port/fmemory_pool.c @@ -0,0 +1,675 @@ +/* + * Copyright : (C) 2022 Phytium Information Technology, Inc. + * All Rights Reserved. + * + * This program is OPEN SOURCE software: you can redistribute it and/or modify it + * under the terms of the Phytium Public License as published by the Phytium Technology Co.,Ltd, + * either version 1.0 of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful,but WITHOUT ANY WARRANTY; + * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + * See the Phytium Public License for more details. + * + * + * FilePath: fmemory_pool.c + * Date: 2021-11-25 15:19:14 + * LastEditTime: 2022-02-17 18:01:43 + * Description:  This files is for memory pool API implmentation + * + * Modify History: + * Ver   Who        Date         Changes + * ----- ------     --------    -------------------------------------- + * 1.0 zhugengyu 2021/12/2 init + * 1.1 zhugengyu 2022/2/28 support memory tag for trace + */ + +#include +#include +#include "ft_types.h" +#include "ft_assert.h" +#include "kernel.h" +#include "ft_debug.h" + +#include "tlsf.h" + +#include "fmemory_pool.h" + +#define FMEMP_DEBUG_TAG "FMEMP" +#define FMEMP_ERROR(format, ...) FT_DEBUG_PRINT_E(FMEMP_DEBUG_TAG, format, ##__VA_ARGS__) +#define FMEMP_WARN(format, ...) FT_DEBUG_PRINT_W(FMEMP_DEBUG_TAG, format, ##__VA_ARGS__) +#define FMEMP_INFO(format, ...) FT_DEBUG_PRINT_I(FMEMP_DEBUG_TAG, format, ##__VA_ARGS__) +#define FMEMP_DEBUG(format, ...) FT_DEBUG_PRINT_D(FMEMP_DEBUG_TAG, format, ##__VA_ARGS__) + +static inline boolean FMempTakeSema(SemaphoreHandle_t locker) +{ + FASSERT_MSG((NULL != locker), "locker not exists"); + if (pdFALSE == xSemaphoreTake(locker, portMAX_DELAY)) + { + FMEMP_ERROR("failed to give locker !!!"); + return FALSE; + } + + return TRUE; +} + +static inline void FMempGiveSema(SemaphoreHandle_t locker) +{ + FASSERT_MSG((NULL != locker), "locker not exists"); + if (pdFALSE == xSemaphoreGive(locker)) + { + FMEMP_ERROR("failed to give locker !!!"); + } + + return; +} + +#ifdef FMEMP_TAG_DEBUG +static const char *status_info[] = {"allocated", "freed"}; + +/** + * @name: FMempRemoveTagList + * @msg: 删除内存块TAG链表 + * @return {*} + * @param {FMemp} *memp, 内存池控制数据 + */ +static void FMempRemoveTagList(FMemp *memp) +{ + FASSERT(memp != NULL); + FMempTag *cur_tag = memp->tags_list; + FMempTag *nxt_tag; + + while (NULL != cur_tag) + { + nxt_tag = cur_tag->next; + FMempFree(memp, cur_tag); + cur_tag = nxt_tag; + } + + return; +} + +/** + * @name: FMempDumpTagList + * @msg: 打印内存块TAG链表 + * @return {*} + * @param {FMemp} *memp, 内存池控制数据 + */ +static void FMempDumpTagList(FMemp *memp) +{ + FASSERT(memp != NULL); + FMempTag *cur_tag = memp->tags_list; + FMempTag *nxt_tag; + + FMEMP_INFO("memory block status: "); + while (NULL != cur_tag) + { + nxt_tag = cur_tag->next; + if (FMEMP_TAG_ALLOCATED == cur_tag->status) + { + FMEMP_INFO(" [%d]: @0x%lx, sz: %ld, st: %s, msg: %s", + cur_tag->id, + cur_tag->mem_addr, + cur_tag->mem_size, + status_info[cur_tag->status], + cur_tag->msg); + } + cur_tag = nxt_tag; + } + + return; +} + +/** + * @name: FMempTagIfExists + * @msg: 在TAG链表中寻找是否有指定地址对于的TAG节点 + * @return {boolean} TRUE: 已经找到,FALSE: 没有找到,需要新创建 + * @param {FMemp} *memp, 内存池控制数据 + * @param {uintptr} mem_addr, 指定的动态内存块起始地址 + * @param {FMempTagStatus} new_status, 设定的TAG节点状态 + * @param {fsize_t} new_size, 设定的TAG节点分配地址空间 + * @param {char} *new_msg, 设定的TAG节点标记信息 + */ +static boolean FMempTagIfExists(FMemp *memp, uintptr mem_addr, FMempTagStatus new_status, fsize_t new_size, const char *new_msg) +{ + FASSERT(memp != NULL); + FMempTag *cur_tag = memp->tags_list; + FMempTag *nxt_tag; + boolean found = FALSE; + + while (NULL != cur_tag) + { + nxt_tag = cur_tag->next; + + if (mem_addr == cur_tag->mem_addr) + { + if ((cur_tag->status == new_status) && (FMEMP_TAG_ALLOCATED == new_status)) + { + FMEMP_ERROR("Allocate twice !!!"); + } + else if ((cur_tag->status == new_status) && (FMEMP_TAG_FREEED == new_status)) + { + FMEMP_ERROR("Free twice !!!"); + } + + FMEMP_DEBUG("change @0x%lx from %s to %s", cur_tag->mem_addr, + status_info[cur_tag->status], + status_info[new_status]); + FMEMP_DEBUG(" size from %ld to %ld", cur_tag->mem_size, + new_size); + cur_tag->status = new_status; + cur_tag->mem_size = new_size; + + if (NULL != new_msg) + { + const fsize_t msg_len = min((fsize_t)(FMEMP_TAG_MSG_LEN - 1), strlen(new_msg)); + memcpy(cur_tag->msg, new_msg, msg_len); + cur_tag->msg[msg_len] = '\0'; + } + + found = TRUE; + } + + cur_tag = nxt_tag; + } + + return found; +} + +/** + * @name: FMempDoTag + * @msg: 在TAG链表中为分配的内存块添加TAG节点 + * @return {*} + * @param {FMemp} *memp, 内存池控制数据 + * @param {void} *mem_addr, 动态内存块起始地址 + * @param {FMempTagStatus} status, 动态内存块状态 + * @param {fsize_t} size, 动态内存空间大小 + * @param {char} *msg, 动态内存块标记信息 + */ +static void FMempDoTag(FMemp *memp, void *mem_addr, FMempTagStatus status, fsize_t size, const char *msg) +{ + FASSERT(memp != NULL); + if (NULL == mem_addr) + { + /* NULL memory, allocate could be failed */ + return; + } + + if (TRUE == FMempTagIfExists(memp, (uintptr)mem_addr, status, size, msg)) + { + /* tag node already exist, no need to create new one */ + return; + } + + FMempTag *tag = (FMempTag *)FMempMalloc(memp, sizeof(FMempTag)); + if (NULL == tag) + { + FMEMP_ERROR("Create new tag node failed !!!"); + return; + } + + /* add new tag node as header */ + FMempTag *head_tag = memp->tags_list; + tag->mem_addr = (uintptr)mem_addr; + tag->mem_size = size; + tag->status = status; + + tag->next = head_tag; + + if (NULL != msg) + { + const fsize_t msg_len = min((fsize_t)(FMEMP_TAG_MSG_LEN - 1), strlen(msg)); + memcpy(tag->msg, msg, msg_len); + tag->msg[msg_len] = '\0'; + } + + if (NULL == head_tag) + { + tag->id = 0; + } + else + { + tag->id = head_tag->id + 1; + } + + memp->tags_list = tag; + return; +} + +/** + * @name: FMempMallocTag + * @msg: 带TAG标记的内存申请 + * @return {void *} 分配的动态内存地址 + * @param {FMemp} *memp, 内存池控制数据 + * @param {fsize_t} size, 动态内存空间大小 + * @param {char} *file, 申请内存动作发送的源文件名 + * @param {unsigned long} line, 申请内存动作发送的源文件行号 + * @param {char} *msg, 申请内存动作发送的信息 + */ +void *FMempMallocTag(FMemp *memp, fsize_t size, const char *file, unsigned long line, const char *msg) +{ + FASSERT(memp); + char msg_buf[FMEMP_TAG_MSG_LEN] = {0}; + void *ptr = FMempMalloc(memp, size); + snprintf(msg_buf, FMEMP_TAG_MSG_LEN, "%s_%d: %s", file, line, msg); + FMempDoTag(memp, ptr, FMEMP_TAG_ALLOCATED, size, msg_buf); + return ptr; +} + +/** + * @name: FMempMallocAlignTag + * @msg: 带TAG标记的对齐内存申请 + * @return {void *} 分配的动态内存地址 + * @param {FMemp} *memp, 内存池控制数据 + * @param {fsize_t} size, 动态内存空间大小 + * @param {fsize_t} align, 分配内存的对齐方式 + * @param {char} *file, 申请内存动作发送的源文件名 + * @param {unsigned long} line, 申请内存动作发送的源文件行号 + * @param {char} *msg, 申请内存动作发送的信息 + */ +void *FMempMallocAlignTag(FMemp *memp, fsize_t size, fsize_t align, const char *file, unsigned long line, const char *msg) +{ + FASSERT(memp); + char msg_buf[FMEMP_TAG_MSG_LEN] = {0}; + void *ptr = FMempMallocAlign(memp, size, align); + snprintf(msg_buf, FMEMP_TAG_MSG_LEN, "%s_%d: %s", file, line, msg); + FMempDoTag(memp, ptr, FMEMP_TAG_ALLOCATED, size, msg_buf); + return ptr; +} + +/** + * @name: FMempCallocTag + * @msg: 带TAG标记的数组内存申请 + * @return {void *} 分配的动态内存地址 + * @param {FMemp} *memp, 内存池控制数据 + * @param {fsize_t} count, 动态内存数组的成员个数 + * @param {fsize_t} size 动态内存数组的单个成员大小 + * @param {char} *file, 申请内存动作发送的源文件名 + * @param {unsigned long} line, 申请内存动作发送的源文件行号 + * @param {char} *msg, 申请内存动作发送的信息 + */ +void *FMempCallocTag(FMemp *memp, fsize_t count, fsize_t size, const char *file, unsigned long line, const char *msg) +{ + FASSERT(memp); + char msg_buf[FMEMP_TAG_MSG_LEN] = {0}; + void *ptr = FMempCalloc(memp, count, size); + snprintf(msg_buf, FMEMP_TAG_MSG_LEN, "%s_%d: %s", file, line, msg); + FMempDoTag(memp, ptr, FMEMP_TAG_ALLOCATED, size, msg_buf); + return ptr; +} + +/** + * @name: FMempReallocTag + * @msg: 带TAG标记的动态内存重分配 + * @return {void *} 分配的动态内存地址 + * @param {FMemp} *memp, 内存池控制数据 + * @param {void} *ptr, 待重新回收分配的动态内存起始地址 + * @param {fsize_t} size, 重新分配的动态内存空间大小 + * @param {char} *file, 申请内存动作发送的源文件名 + * @param {unsigned long} line, 申请内存动作发送的源文件行号 + * @param {char} *msg, 申请内存动作发送的信息 + */ +void *FMempReallocTag(FMemp *memp, void *ptr, fsize_t size, const char *file, unsigned long line, const char *msg) +{ + FASSERT(memp); + char msg_buf[FMEMP_TAG_MSG_LEN] = {0}; + FMempDoTag(memp, ptr, FMEMP_TAG_FREEED, 0, NULL); + ptr = FMempRealloc(memp, ptr, size); + snprintf(msg_buf, FMEMP_TAG_MSG_LEN, "%s_%d: %s", file, line, msg); + FMempDoTag(memp, ptr, FMEMP_TAG_ALLOCATED, size, msg_buf); + return ptr; +} + +/** + * @name: FMempFreeTag + * @msg: 带TAG标记的动态内存释放 + * @return {*} + * @param {FMemp} *memp, 内存池控制数据 + * @param {void} *ptr, 待回收的动态内存起始地址 + */ +void FMempFreeTag(FMemp *memp, void *ptr) +{ + FASSERT(memp); + if (memp->tlsf_ptr) + { + FMempFree(memp, ptr); + FMempDoTag(memp, ptr, FMEMP_TAG_FREEED, 0, NULL); + } + return; +} + +#endif + +/** + * @name: FMempInit + * @msg: 初始化内存池, 分配内存池的内存空间 + * @return {FError} FMEMP_SUCCESS表示初始化成功,返回其它值表示初始化失败 + * @param {FMemp} *memp, 内存池的控制数据 + * @param {void} *begin_addr, 分配给内存池的空间起始地址 + * @param {void} *end_addr, 分配给内存池的空间结束地址 + * @note begin_addr end_addr 指向为内存池指定的缓冲区的起止地址 + * 64位需要预留给内存池更大的空间 + */ +FError FMempInit(FMemp *memp, void *begin_addr, void *end_addr) +{ + FASSERT(memp); + size_t size; + FError ret = FMEMP_SUCCESS; + + if ((FT_COMPONENT_IS_READY == memp->is_ready) || (NULL != memp->tlsf_ptr)) + { + FMEMP_ERROR("memory tlsf_ptr already inited, you may lose access to original memory tlsf_ptr"); + return FMEMP_ERR_ALREADY_INIT; + } + + if (begin_addr < end_addr) + { + size = (uintptr)end_addr - (uintptr)begin_addr; + } + else + { + FMEMP_ERROR("invalid input buf beg: %p, end: %p", begin_addr, end_addr); + return FMEMP_ERR_INVALID_BUF; + } + + FASSERT(NULL == memp->locker); + FASSERT(NULL != (memp->locker = xSemaphoreCreateMutex())); + + /* no scheduler when init */ + taskENTER_CRITICAL(); + + memp->tlsf_ptr = (tlsf_t)tlsf_create_with_pool(begin_addr, size); + if (NULL == memp->tlsf_ptr) + { + FMEMP_ERROR("allocate TLSF buf failed"); + ret = FMEMP_ERR_INIT_TLFS; + goto err_ret; + } + + memp->pools_list = FMempMalloc(memp, sizeof(FMempPoolList *)); + if (NULL == memp->pools_list) + { + FMEMP_ERROR("allocate TLSF block failed"); + ret = FMEMP_ERR_BAD_MALLOC; + goto err_ret; + } + + FSListInit(&memp->pools_list->list); + memp->pools_list->pool_addr = tlsf_get_pool(memp->tlsf_ptr); + + memp->is_ready = FT_COMPONENT_IS_READY; +#ifdef FMEMP_TAG_DEBUG + memp->tags_list = NULL; +#endif + +err_ret: + if (FMEMP_SUCCESS != ret) + { + if (memp->tlsf_ptr) /* clear tlsf instance if exit with error */ + { + tlsf_destroy(memp->tlsf_ptr); + memp->tlsf_ptr = NULL; + } + } + + taskEXIT_CRITICAL(); /* allow schedule after init */ + + return ret; +} + +/** + * @name: FMempDeinit + * @msg: 释放所有分配的内存,删除内存池 + * @return {*} + * @param {FMemp} *memp 内存池控制数据 + * @note 需要初始化后才能调用,调用此函数后,内存池分配的空间不再能使用 + */ +void FMempDeinit(FMemp *memp) +{ + FASSERT(memp != NULL); + + FMempPoolList * pool_node = (FMempPoolList *)memp->pools_list; + pool_t tlsf_ptr = pool_node->pool_addr; + + if ((FT_COMPONENT_IS_READY != memp->is_ready) && (NULL == memp->tlsf_ptr)) + { + FMEMP_WARN("memory tlsf_ptr not inited"); + return; + } + + /* no scheduler when init */ + taskENTER_CRITICAL(); + +#ifdef FMEMP_TAG_DEBUG + FMempRemoveTagList(memp); +#endif + if (memp->tlsf_ptr) + { + FSListRemove(&memp->pools_list->list, &pool_node->list); + FMempFree(memp, pool_node); + tlsf_remove_pool(memp->tlsf_ptr, tlsf_ptr); + + tlsf_destroy(memp->tlsf_ptr); + memp->tlsf_ptr = NULL; + } + + memp->is_ready = 0; + + FASSERT(NULL != memp->locker); + vSemaphoreDelete(memp->locker); + memp->locker = NULL; + + taskEXIT_CRITICAL(); /* allow schedule after init */ + + return; +} + +/** + * @name: FMempMalloc + * @msg: 从内存池申请一段空间 + * @return {void *} 申请到的空间,如果申请失败,返回NULL + * @param {FMemp} *memp 内存池控制数据 + * @param {fsize_t} nbytes 申请的字节数 + * @note 需要初始化后才能调用,申请的空间再不再使用后需要调用FMempFree释放 + */ +void *FMempMalloc(FMemp *memp, fsize_t nbytes) +{ + void *ptr = NULL; + + nbytes = (nbytes > 20) ? nbytes : 20; + + if (!FMempTakeSema(memp->locker)) + return ptr; + + if (memp->tlsf_ptr) + { + ptr = tlsf_malloc(memp->tlsf_ptr, nbytes); + } + + FMempGiveSema(memp->locker); + return ptr; +} + +/** + * @name: FMempMallocAlign + * @msg: 按指定对齐方式申请一段空间 + * @return {void *} 申请到的空间,如果申请失败,返回NULL + * @param {FMemp} *memp 内存池控制数据 + * @param {fsize_t} size 申请的字节数 + * @param {fsize_t} align 对齐字节数 + * @note 需要初始化后才能调用,申请的空间再不再使用后需要调用FMempFree释放 + */ +void *FMempMallocAlign(FMemp *memp, fsize_t size, fsize_t align) +{ + void *ptr = NULL; + + size = (size > 20) ? size : 20; + + if (!FMempTakeSema(memp->locker)) + return ptr; + + if (memp->tlsf_ptr) + { + ptr = tlsf_memalign(memp->tlsf_ptr, align, size); + } + + FMempGiveSema(memp->locker); + return ptr; +} + +/** + * @name: FMempCalloc + * @msg: 从内存池申请一段数组空间并清零 + * @return {void *} 申请到的空间,如果申请失败,返回NULL + * @param {FMemp} *memp 内存池控制数据 + * @param {fsize_t} count 数据成员格式 + * @param {fsize_t} size 单个数据成员的字节数 + * @note 需要初始化后才能调用,申请的空间再不再使用后需要调用FMempFree释放 + */ +void *FMempCalloc(FMemp *memp, fsize_t count, fsize_t size) +{ + void *ptr = NULL; + fsize_t total_size; + + total_size = count * size; + + if (!FMempTakeSema(memp->locker)) + return ptr; + + ptr = FMempMalloc(memp, total_size); + + FMempGiveSema(memp->locker); + if (ptr != NULL) + { + /* clean memory */ + memset(ptr, 0, total_size); + } + + return ptr; +} + +/** + * @name: FMempRealloc + * @msg: 回收原来申请的空间并重新分配 + * @return {void *} 替换后空间,如果替换失败,返回NULL + * @param {FMemp} *memp 内存池控制数据 + * @param {void} *ptr 原来的空间 + * @param {fsize_t} nbytes 新申请的字节数 + * @note 需要初始化后才能调用,申请的空间再不再使用后需要调用FMempFree释放,调用函数后,原来的空间不再能使用, + * 原空间的数据被移动到返回指针指向的空间 + */ +void *FMempRealloc(FMemp *memp, void *ptr, fsize_t nbytes) +{ + if (!FMempTakeSema(memp->locker)) + return ptr; + + if (memp->tlsf_ptr) + { + ptr = tlsf_realloc(memp->tlsf_ptr, ptr, nbytes); + } + + FMempGiveSema(memp->locker); + return ptr; +} + +/** + * @name: FMempFree + * @msg: 释放一段从内存池申请的空间 + * @return {void} 无 + * @param {FMemp} *memp 内存池控制数据 + * @param {void} *ptr 待释放的空间地址 + * @note 需要初始化后才能调用,传入的指针需要是FMempMalloc/FMempCalloc/FMempMallocAlign/FMempRealloc返回的 + */ +void FMempFree(FMemp *memp, void *ptr) +{ + if (!FMempTakeSema(memp->locker)) + return; + + if (memp->tlsf_ptr) + { + tlsf_free(memp->tlsf_ptr, ptr); + } + + FMempGiveSema(memp->locker); +} + + +static size_t used_mem = 0; +static size_t total_mem = 0; +static void FMemInfo(void *ptr, size_t size, int used, void *user) +{ + if (used) + { + used_mem += size; + } + + total_mem += size; +} + +/** + * @name: FMemProbe + * @msg: 获取当前内存池的使用情况 + * @return {*} + * @param {FMemp} *memp 内存池控制数据 + * @param {u32} *total 总可用字节数 + * @param {u32} *used 已使用字节数 + * @param {u32} *max_used 已使用字节数的峰值 + * @note 需要初始化后才能调用 + */ +void FMemProbe(FMemp *memp, u32 *total, u32 *used, u32 *max_used) +{ + used_mem = 0; + total_mem = 0; + + if (!FMempTakeSema(memp->locker)) + return; + + tlsf_walk_pool(tlsf_get_pool(memp->tlsf_ptr), FMemInfo, 0); + + FMempGiveSema(memp->locker); + + *total = total_mem; + *used = used_mem; + *max_used = used_mem; +} + +/** + * @name: FMemListAll + * @msg: 打印当前分配的内存块信息 + * @return {*} + * @param {FMemp} *memp 内存池控制数据 + * @note 需要初始化后才能调用 + */ +void FMemListAll(FMemp *memp) +{ + u8 i = 0; + u8 len = 0; + + FMempPoolList * pool_node; + FSListNode *node; + node = &memp->pools_list->list; + + used_mem = 0; + total_mem = 0; + + if (!FMempTakeSema(memp->locker)) + return; + + len = FSListLen(node) + 1; + for (i = 0; i < len; i++) + { + pool_node = CONTAINER_OF(node, FMempPoolList, list); + tlsf_walk_pool(pool_node->pool_addr, FMemInfo, (void *)1); + node = node->next; + } + + FMempGiveSema(memp->locker); + + FMEMP_INFO("total memory: %d", total_mem); + FMEMP_INFO("used memory : %d", used_mem); + FMEMP_INFO("check tlsf: %d", tlsf_check(memp->tlsf_ptr)); + FMEMP_INFO("check tlsf pool: %d", tlsf_check_pool(memp->tlsf_ptr)); + +#ifdef FMEMP_TAG_DEBUG + FMempDumpTagList(memp); +#endif +} \ No newline at end of file diff --git a/third-party/tlsf-3.1.0/port/fmemory_pool.h b/third-party/tlsf-3.1.0/port/fmemory_pool.h new file mode 100644 index 00000000..6c5c6bd3 --- /dev/null +++ b/third-party/tlsf-3.1.0/port/fmemory_pool.h @@ -0,0 +1,149 @@ +/* + * Copyright : (C) 2022 Phytium Information Technology, Inc. + * All Rights Reserved. + * + * This program is OPEN SOURCE software: you can redistribute it and/or modify it + * under the terms of the Phytium Public License as published by the Phytium Technology Co.,Ltd, + * either version 1.0 of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful,but WITHOUT ANY WARRANTY; + * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + * See the Phytium Public License for more details. + * + * + * FilePath: fmemory_pool.h + * Date: 2021-11-25 15:18:57 + * LastEditTime: 2022-02-17 18:02:16 + * Description:  This files is for memory pool API definition + * + * Modify History: + * Ver   Who        Date         Changes + * ----- ------     --------    -------------------------------------- + * 1.0 zhugengyu 2021/12/2 init + * 1.1 zhugengyu 2022/2/28 support memory tag for trace + */ + +#ifndef _FT_MEMORY_POOL_H_ +#define _FT_MEMORY_POOL_H_ + +#ifdef __cplusplus +extern "C" +{ +#endif + +#include +#include "FreeRTOS.h" +#include "event_groups.h" +#include "semphr.h" + +#include "ft_error_code.h" + +#include "tlsf.h" +#include "fslink_list.h" + +#define FMEMP_SUCCESS FT_SUCCESS +#define FMEMP_ERR_INVALID_BUF FT_MAKE_ERRCODE(ErrorModGeneral, ErrCommMemp, 0) +#define FMEMP_ERR_INIT_TLFS FT_MAKE_ERRCODE(ErrorModGeneral, ErrCommMemp, 1) +#define FMEMP_ERR_BAD_MALLOC FT_MAKE_ERRCODE(ErrorModGeneral, ErrCommMemp, 2) +#define FMEMP_ERR_ALREADY_INIT FT_MAKE_ERRCODE(ErrorModGeneral, ErrCommMemp, 3) + +#ifndef FMEMP_TAG_DEBUG +/* #define FMEMP_TAG_DEBUG */ +#endif + +#ifdef FMEMP_TAG_DEBUG +typedef struct _FMempTag FMempTag; + +typedef enum +{ + FMEMP_TAG_ALLOCATED = 0, + FMEMP_TAG_FREEED, +} FMempTagStatus; /* 内存块TAG状态 */ + +typedef struct _FMempTag +{ + uintptr mem_addr; + uintptr id; + fsize_t mem_size; +#define FMEMP_TAG_MSG_LEN 125 + char msg[FMEMP_TAG_MSG_LEN]; + FMempTagStatus status; + FMempTag *next; +} FMempTag; /* 内存块TAG数据 */ + +#endif + +typedef struct +{ + pool_t pool_addr; + FSListNode list; +} FMempPoolList; /* 内存池控制数据 */ + +typedef struct +{ + FMempPoolList *pools_list; /* 内存池链表 */ + tlsf_t tlsf_ptr; /* tlsf内存池 */ + u32 is_ready; /* 内存池初始化完成标志 */ + SemaphoreHandle_t locker; /* 内存池访问互斥锁 */ +#ifdef FMEMP_TAG_DEBUG + FMempTag *tags_list; /* 分配内存tag链表 */ +#endif +} FMemp; /* 内存池控制数据 */ + +/* 初始化内存池, 分配内存池的内存空间 */ +FError FMempInit(FMemp *memp, void *begin_addr, void *end_addr); + +/* 释放所有分配的内存,删除内存池 */ +void FMempDeinit(FMemp *memp); + +/* 从内存池申请一段空间 */ +void *FMempMalloc(FMemp *memp, fsize_t size); + +/* 从内存池申请一段数组空间并清零 */ +void *FMempCalloc(FMemp *memp, fsize_t count, fsize_t size); + +/* 按指定对齐方式申请一段空间 */ +void *FMempMallocAlign(FMemp *memp, fsize_t size, fsize_t align); + +/* 回收原来申请的空间并重新分配 */ +void *FMempRealloc(FMemp *memp, void *ptr, fsize_t size); + +/* 释放一段从内存池申请的空间 */ +void FMempFree(FMemp *memp, void *ptr); + +/* 跟踪当前内存池的使用情况 */ +void FMemProbe(FMemp *memp, u32 *total, u32 *used, u32 *max_used); + +/* 打印当前分配的内存块信息 */ +void FMemListAll(FMemp *memp); + +/* 支持带TAG的内存分配,用于跟踪动态内存使用 */ +#ifdef FMEMP_TAG_DEBUG +void *FMempMallocTag(FMemp *memp, fsize_t nbytes, const char *file, unsigned long line, const char *msg); +void *FMempMallocAlignTag(FMemp *memp, fsize_t size, fsize_t align, const char *file, unsigned long line, const char *msg); +void *FMempCallocTag(FMemp *memp, fsize_t count, fsize_t size, const char *file, unsigned long line, const char *msg); +void *FMempReallocTag(FMemp *memp, void *ptr, fsize_t size, const char *file, unsigned long line, const char *msg); +void FMempFreeTag(FMemp *memp, void *ptr); + +#endif + +#ifdef FMEMP_TAG_DEBUG +#define FMEMP_MALLOC(memp, size) FMempMallocTag((memp), (size), __FILE__, __LINE__, "") +#define FMEMP_MALLOC_ALIGN(memp, size, align) FMempMallocAlignTag((memp), (size), (align), __FILE__, __LINE__, "") +#define FMEMP_CALLOC(memp, count, size) FMempCallocTag((memp), (count), (size), __FILE__, __LINE__, "") +#define FMEMP_REALLOC(memp, ptr, nbytes) FMempReallocTag((memp), (ptr), (nbytes), __FILE__, __LINE__, "") +#define FMEMP_FREE(memp, ptr) FMempFreeTag((memp), (ptr)) +#else +#define FMEMP_MALLOC(memp, size) FMempMalloc((memp), (size)) +#define FMEMP_MALLOC_ALIGN(memp, size, align) FMempMallocAlign((memp), (size), (align)) +#define FMEMP_CALLOC(memp, count, size) FMempCalloc((memp), (count), (size)) +#define FMEMP_REALLOC(memp, ptr, nbytes) FMempRealloc((memp), (ptr), (nbytes)) +#define FMEMP_FREE(memp, ptr) FMempFree((memp), (ptr)) + +#endif + +#ifdef __cplusplus +} +#endif + +#endif // ! diff --git a/third-party/tlsf-3.1.0/src/tlsf.c b/third-party/tlsf-3.1.0/src/tlsf.c new file mode 100644 index 00000000..b4e1d348 --- /dev/null +++ b/third-party/tlsf-3.1.0/src/tlsf.c @@ -0,0 +1,1292 @@ +#include +#include +#include +#include +#include +#include + +#include "ft_types.h" +#include "ft_assert.h" +#include "tlsf.h" + +#if defined(__cplusplus) + #define tlsf_decl inline +#else + #define tlsf_decl static +#endif + +/* +** Architecture-specific bit manipulation routines. +** +** TLSF achieves O(1) cost for malloc and free operations by limiting +** the search for a free block to a free list of guaranteed size +** adequate to fulfill the request, combined with efficient free list +** queries using bitmasks and architecture-specific bit-manipulation +** routines. +** +** Most modern processors provide instructions to count leading zeroes +** in a word, find the lowest and highest set bit, etc. These +** specific implementations will be used when available, falling back +** to a reasonably efficient generic implementation. +** +** NOTE: TLSF spec relies on ffs/fls returning value 0..31. +** ffs/fls return 1-32 by default, returning 0 for error. +*/ + +/* +** Detect whether or not we are building for a 32- or 64-bit (LP/LLP) +** architecture. There is no reliable portable method at compile-time. +*/ +#if defined (__alpha__) || defined (__ia64__) || defined (__x86_64__) \ + || defined (_WIN64) || defined (__LP64__) || defined (__LLP64__) \ + || defined (__aarch64__) + #define TLSF_64BIT +#endif + +/* +** gcc 3.4 and above have builtin support, specialized for architecture. +** Some compilers masquerade as gcc; patchlevel test filters them out. +*/ +#if defined (__GNUC__) && (__GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 4)) \ + && defined (__GNUC_PATCHLEVEL__) + +#if defined (__SNC__) +/* SNC for Playstation 3. */ + +tlsf_decl int tlsf_ffs(unsigned int word) +{ + const unsigned int reverse = word & (~word + 1); + const int bit = 32 - __builtin_clz(reverse); + return bit - 1; +} + +#else + +tlsf_decl int tlsf_ffs(unsigned int word) +{ + return __builtin_ffs(word) - 1; +} + +#endif + +tlsf_decl int tlsf_fls(unsigned int word) +{ + const int bit = word ? 32 - __builtin_clz(word) : 0; + return bit - 1; +} + +#elif defined (_MSC_VER) && (_MSC_VER >= 1400) && (defined (_M_IX86) || defined (_M_X64)) +/* Microsoft Visual C++ support on x86/X64 architectures. */ + +#include + +#pragma intrinsic(_BitScanReverse) +#pragma intrinsic(_BitScanForward) + +tlsf_decl int tlsf_fls(unsigned int word) +{ + unsigned long index; + return _BitScanReverse(&index, word) ? index : -1; +} + +tlsf_decl int tlsf_ffs(unsigned int word) +{ + unsigned long index; + return _BitScanForward(&index, word) ? index : -1; +} + +#elif defined (_MSC_VER) && defined (_M_PPC) +/* Microsoft Visual C++ support on PowerPC architectures. */ + +#include + +tlsf_decl int tlsf_fls(unsigned int word) +{ + const int bit = 32 - _CountLeadingZeros(word); + return bit - 1; +} + +tlsf_decl int tlsf_ffs(unsigned int word) +{ + const unsigned int reverse = word & (~word + 1); + const int bit = 32 - _CountLeadingZeros(reverse); + return bit - 1; +} + +#elif defined (__ARMCC_VERSION) +/* RealView Compilation Tools for ARM */ + +tlsf_decl int tlsf_ffs(unsigned int word) +{ + const unsigned int reverse = word & (~word + 1); + const int bit = 32 - __clz(reverse); + return bit - 1; +} + +tlsf_decl int tlsf_fls(unsigned int word) +{ + const int bit = word ? 32 - __clz(word) : 0; + return bit - 1; +} + +#elif defined (__ghs__) +/* Green Hills support for PowerPC */ + +#include + +tlsf_decl int tlsf_ffs(unsigned int word) +{ + const unsigned int reverse = word & (~word + 1); + const int bit = 32 - __CLZ32(reverse); + return bit - 1; +} + +tlsf_decl int tlsf_fls(unsigned int word) +{ + const int bit = word ? 32 - __CLZ32(word) : 0; + return bit - 1; +} + +#else +/* Fall back to generic implementation. */ + +tlsf_decl int tlsf_fls_generic(unsigned int word) +{ + int bit = 32; + + if (!word) bit -= 1; + if (!(word & 0xffff0000)) + { + word <<= 16; + bit -= 16; + } + if (!(word & 0xff000000)) + { + word <<= 8; + bit -= 8; + } + if (!(word & 0xf0000000)) + { + word <<= 4; + bit -= 4; + } + if (!(word & 0xc0000000)) + { + word <<= 2; + bit -= 2; + } + if (!(word & 0x80000000)) + { + word <<= 1; + bit -= 1; + } + + return bit; +} + +/* Implement ffs in terms of fls. */ +tlsf_decl int tlsf_ffs(unsigned int word) +{ + return tlsf_fls_generic(word & (~word + 1)) - 1; +} + +tlsf_decl int tlsf_fls(unsigned int word) +{ + return tlsf_fls_generic(word) - 1; +} + +#endif + +/* Possibly 64-bit version of tlsf_fls. */ +#if defined (TLSF_64BIT) +tlsf_decl int tlsf_fls_sizet(size_t size) +{ + int high = (int)(size >> 32); + int bits = 0; + if (high) + { + bits = 32 + tlsf_fls(high); + } + else + { + bits = tlsf_fls((int)size & 0xffffffff); + + } + return bits; +} +#else +#define tlsf_fls_sizet tlsf_fls +#endif + +#undef tlsf_decl + +/* +** Constants. +*/ + +/* Public constants: may be modified. */ +enum tlsf_public +{ + /* log2 of number of linear subdivisions of block sizes. Larger + ** values require more memory in the control structure. Values of + ** 4 or 5 are typical. + */ + SL_INDEX_COUNT_LOG2 = 5, +}; + +/* Private constants: do not modify. */ +enum tlsf_private +{ +#if defined (TLSF_64BIT) + /* All allocation sizes and addresses are aligned to 8 bytes. */ + ALIGN_SIZE_LOG2 = 3, +#else + /* All allocation sizes and addresses are aligned to 4 bytes. */ + ALIGN_SIZE_LOG2 = 2, +#endif + ALIGN_SIZE = (1 << ALIGN_SIZE_LOG2), + + /* + ** We support allocations of sizes up to (1 << FL_INDEX_MAX) bits. + ** However, because we linearly subdivide the second-level lists, and + ** our minimum size granularity is 4 bytes, it doesn't make sense to + ** create first-level lists for sizes smaller than SL_INDEX_COUNT * 4, + ** or (1 << (SL_INDEX_COUNT_LOG2 + 2)) bytes, as there we will be + ** trying to split size ranges into more slots than we have available. + ** Instead, we calculate the minimum threshold size, and place all + ** blocks below that size into the 0th first-level list. + */ + +#if defined (TLSF_64BIT) + /* + ** TODO: We can increase this to support larger sizes, at the expense + ** of more overhead in the TLSF structure. + */ + FL_INDEX_MAX = 32, +#else + FL_INDEX_MAX = 30, +#endif + SL_INDEX_COUNT = (1 << SL_INDEX_COUNT_LOG2), + FL_INDEX_SHIFT = (SL_INDEX_COUNT_LOG2 + ALIGN_SIZE_LOG2), + FL_INDEX_COUNT = (FL_INDEX_MAX - FL_INDEX_SHIFT + 1), + + SMALL_BLOCK_SIZE = (1 << FL_INDEX_SHIFT), +}; + +/* +** Cast and min/max macros. +*/ + +#define tlsf_cast(t, exp) ((t) (exp)) +#define tlsf_min(a, b) ((a) < (b) ? (a) : (b)) +#define tlsf_max(a, b) ((a) > (b) ? (a) : (b)) + +#define tlsf_assert FASSERT +/* +** Set assert macro, if it has not been provided by the user. +*/ +#if !defined (tlsf_assert) + #define tlsf_assert assert +#endif + +/* +** Static assertion mechanism. +*/ + +#define _tlsf_glue2(x, y) x ## y +#define _tlsf_glue(x, y) _tlsf_glue2(x, y) +#define tlsf_static_assert(exp) \ + typedef char _tlsf_glue(static_assert, __LINE__) [(exp) ? 1 : -1] + +/* This code has been tested on 32- and 64-bit (LP/LLP) architectures. */ +tlsf_static_assert(sizeof(int) * CHAR_BIT == 32); +tlsf_static_assert(sizeof(size_t) * CHAR_BIT >= 32); +tlsf_static_assert(sizeof(size_t) * CHAR_BIT <= 64); + +/* SL_INDEX_COUNT must be <= number of bits in sl_bitmap's storage type. */ +tlsf_static_assert(sizeof(unsigned int) * CHAR_BIT >= SL_INDEX_COUNT); + +/* Ensure we've properly tuned our sizes. */ +tlsf_static_assert(ALIGN_SIZE == SMALL_BLOCK_SIZE / SL_INDEX_COUNT); + +/* +** Data structures and associated constants. +*/ + +/* +** Block header structure. +** +** There are several implementation subtleties involved: +** - The prev_phys_block field is only valid if the previous block is free. +** - The prev_phys_block field is actually stored at the end of the +** previous block. It appears at the beginning of this structure only to +** simplify the implementation. +** - The next_free / prev_free fields are only valid if the block is free. +*/ +typedef struct block_header_t +{ + /* Points to the previous physical block. */ + struct block_header_t *prev_phys_block; + + /* The size of this block, excluding the block header. */ + size_t size; + + /* Next and previous free blocks. */ + struct block_header_t *next_free; + struct block_header_t *prev_free; +} block_header_t; + +/* +** Since block sizes are always at least a multiple of 4, the two least +** significant bits of the size field are used to store the block status: +** - bit 0: whether block is busy or free +** - bit 1: whether previous block is busy or free +*/ +static const size_t block_header_free_bit = 1 << 0; +static const size_t block_header_prev_free_bit = 1 << 1; + +/* +** The size of the block header exposed to used blocks is the size field. +** The prev_phys_block field is stored *inside* the previous free block. +*/ +static const size_t block_header_overhead = sizeof(size_t); + +/* User data starts directly after the size field in a used block. */ +static const size_t block_start_offset = + offsetof(block_header_t, size) + sizeof(size_t); + +/* +** A free block must be large enough to store its header minus the size of +** the prev_phys_block field, and no larger than the number of addressable +** bits for FL_INDEX. +*/ +static const size_t block_size_min = + sizeof(block_header_t) - sizeof(block_header_t *); +static const size_t block_size_max = tlsf_cast(size_t, 1) << FL_INDEX_MAX; + + +/* The TLSF control structure. */ +typedef struct control_t +{ + /* Empty lists point at this block to indicate they are free. */ + block_header_t block_null; + + /* Bitmaps for free lists. */ + unsigned int fl_bitmap; + unsigned int sl_bitmap[FL_INDEX_COUNT]; + + /* Head of free lists. */ + block_header_t *blocks[FL_INDEX_COUNT][SL_INDEX_COUNT]; +} control_t; + +/* A type used for casting when doing pointer arithmetic. */ +typedef ptrdiff_t tlsfptr_t; + +/* +** block_header_t member functions. +*/ + +static size_t block_size(const block_header_t *block) +{ + return block->size & ~(block_header_free_bit | block_header_prev_free_bit); +} + +static void block_set_size(block_header_t *block, size_t size) +{ + const size_t oldsize = block->size; + block->size = size | (oldsize & (block_header_free_bit | block_header_prev_free_bit)); +} + +static int block_is_last(const block_header_t *block) +{ + return block_size(block) == 0; +} + +static int block_is_free(const block_header_t *block) +{ + return tlsf_cast(int, block->size & block_header_free_bit); +} + +static void block_set_free(block_header_t *block) +{ + block->size |= block_header_free_bit; +} + +static void block_set_used(block_header_t *block) +{ + block->size &= ~block_header_free_bit; +} + +static int block_is_prev_free(const block_header_t *block) +{ + return tlsf_cast(int, block->size & block_header_prev_free_bit); +} + +static void block_set_prev_free(block_header_t *block) +{ + block->size |= block_header_prev_free_bit; +} + +static void block_set_prev_used(block_header_t *block) +{ + block->size &= ~block_header_prev_free_bit; +} + +static block_header_t *block_from_ptr(const void *ptr) +{ + return tlsf_cast(block_header_t *, + tlsf_cast(unsigned char *, ptr) - block_start_offset); +} + +static void *block_to_ptr(const block_header_t *block) +{ + return tlsf_cast(void *, + tlsf_cast(unsigned char *, block) + block_start_offset); +} + +/* Return location of next block after block of given size. */ +static block_header_t *offset_to_block(const void *ptr, size_t size) +{ + return tlsf_cast(block_header_t *, tlsf_cast(tlsfptr_t, ptr) + size); +} + +/* Return location of previous block. */ +static block_header_t *block_prev(const block_header_t *block) +{ + tlsf_assert(block_is_prev_free(block) && "previous block must be free"); + return block->prev_phys_block; +} + +/* Return location of next existing block. */ +static block_header_t *block_next(const block_header_t *block) +{ + block_header_t *next = offset_to_block(block_to_ptr(block), + block_size(block) - block_header_overhead); + tlsf_assert(!block_is_last(block)); + return next; +} + +/* Link a new block with its physical neighbor, return the neighbor. */ +static block_header_t *block_link_next(block_header_t *block) +{ + block_header_t *next = block_next(block); + next->prev_phys_block = block; + return next; +} + +static void block_mark_as_free(block_header_t *block) +{ + /* Link the block to the next block, first. */ + block_header_t *next = block_link_next(block); + block_set_prev_free(next); + block_set_free(block); +} + +static void block_mark_as_used(block_header_t *block) +{ + block_header_t *next = block_next(block); + block_set_prev_used(next); + block_set_used(block); +} + +static size_t align_up(size_t x, size_t align) +{ + tlsf_assert(0 == (align & (align - 1)) && "must align to a power of two"); + return (x + (align - 1)) & ~(align - 1); +} + +static size_t align_down(size_t x, size_t align) +{ + tlsf_assert(0 == (align & (align - 1)) && "must align to a power of two"); + return x - (x & (align - 1)); +} + +static void *align_ptr(const void *ptr, size_t align) +{ + const tlsfptr_t aligned = + (tlsf_cast(tlsfptr_t, ptr) + (align - 1)) & ~(align - 1); + tlsf_assert(0 == (align & (align - 1)) && "must align to a power of two"); + return tlsf_cast(void *, aligned); +} + +/* +** Adjust an allocation size to be aligned to word size, and no smaller +** than internal minimum. +*/ +static size_t adjust_request_size(size_t size, size_t align) +{ + size_t adjust = 0; + if (size) + { + const size_t aligned = align_up(size, align); + + /* aligned sized must not exceed block_size_max or we'll go out of bounds on sl_bitmap */ + if (aligned < block_size_max) + { + adjust = tlsf_max(aligned, block_size_min); + } + } + return adjust; +} + +/* +** TLSF utility functions. In most cases, these are direct translations of +** the documentation found in the white paper. +*/ + +static void mapping_insert(size_t size, int *fli, int *sli) +{ + int fl, sl; + if (size < SMALL_BLOCK_SIZE) + { + /* Store small blocks in first list. */ + fl = 0; + sl = tlsf_cast(int, size) / (SMALL_BLOCK_SIZE / SL_INDEX_COUNT); + } + else + { + fl = tlsf_fls_sizet(size); + sl = tlsf_cast(int, size >> (fl - SL_INDEX_COUNT_LOG2)) ^ (1 << SL_INDEX_COUNT_LOG2); + fl -= (FL_INDEX_SHIFT - 1); + } + *fli = fl; + *sli = sl; +} + +/* This version rounds up to the next block size (for allocations) */ +static void mapping_search(size_t size, int *fli, int *sli) +{ + if (size >= SMALL_BLOCK_SIZE) + { + const size_t round = (1 << (tlsf_fls_sizet(size) - SL_INDEX_COUNT_LOG2)) - 1; + size += round; + } + mapping_insert(size, fli, sli); +} + +static block_header_t *search_suitable_block(control_t *control, int *fli, int *sli) +{ + int fl = *fli; + int sl = *sli; + + /* + ** First, search for a block in the list associated with the given + ** fl/sl index. + */ + unsigned int sl_map = control->sl_bitmap[fl] & (~0U << sl); + if (!sl_map) + { + /* No block exists. Search in the next largest first-level list. */ + const unsigned int fl_map = control->fl_bitmap & (~0U << (fl + 1)); + if (!fl_map) + { + /* No free blocks available, memory has been exhausted. */ + return 0; + } + + fl = tlsf_ffs(fl_map); + *fli = fl; + sl_map = control->sl_bitmap[fl]; + } + tlsf_assert(sl_map && "internal error - second level bitmap is null"); + sl = tlsf_ffs(sl_map); + *sli = sl; + + /* Return the first block in the free list. */ + return control->blocks[fl][sl]; +} + +/* Remove a free block from the free list.*/ +static void remove_free_block(control_t *control, block_header_t *block, int fl, int sl) +{ + block_header_t *prev = block->prev_free; + block_header_t *next = block->next_free; + tlsf_assert(prev && "prev_free field can not be null"); + tlsf_assert(next && "next_free field can not be null"); + next->prev_free = prev; + prev->next_free = next; + + /* If this block is the head of the free list, set new head. */ + if (control->blocks[fl][sl] == block) + { + control->blocks[fl][sl] = next; + + /* If the new head is null, clear the bitmap. */ + if (next == &control->block_null) + { + control->sl_bitmap[fl] &= ~(1U << sl); + + /* If the second bitmap is now empty, clear the fl bitmap. */ + if (!control->sl_bitmap[fl]) + { + control->fl_bitmap &= ~(1U << fl); + } + } + } +} + +/* Insert a free block into the free block list. */ +static void insert_free_block(control_t *control, block_header_t *block, int fl, int sl) +{ + block_header_t *current = control->blocks[fl][sl]; + tlsf_assert(current && "free list cannot have a null entry"); + tlsf_assert(block && "cannot insert a null entry into the free list"); + block->next_free = current; + block->prev_free = &control->block_null; + current->prev_free = block; + + tlsf_assert(block_to_ptr(block) == align_ptr(block_to_ptr(block), ALIGN_SIZE) + && "block not aligned properly"); + /* + ** Insert the new block at the head of the list, and mark the first- + ** and second-level bitmaps appropriately. + */ + control->blocks[fl][sl] = block; + control->fl_bitmap |= (1U << fl); + control->sl_bitmap[fl] |= (1U << sl); +} + +/* Remove a given block from the free list. */ +static void block_remove(control_t *control, block_header_t *block) +{ + int fl, sl; + mapping_insert(block_size(block), &fl, &sl); + remove_free_block(control, block, fl, sl); +} + +/* Insert a given block into the free list. */ +static void block_insert(control_t *control, block_header_t *block) +{ + int fl, sl; + mapping_insert(block_size(block), &fl, &sl); + insert_free_block(control, block, fl, sl); +} + +static int block_can_split(block_header_t *block, size_t size) +{ + return block_size(block) >= sizeof(block_header_t) + size; +} + +/* Split a block into two, the second of which is free. */ +static block_header_t *block_split(block_header_t *block, size_t size) +{ + /* Calculate the amount of space left in the remaining block. */ + block_header_t *remaining = + offset_to_block(block_to_ptr(block), size - block_header_overhead); + + const size_t remain_size = block_size(block) - (size + block_header_overhead); + + tlsf_assert(block_to_ptr(remaining) == align_ptr(block_to_ptr(remaining), ALIGN_SIZE) + && "remaining block not aligned properly"); + + tlsf_assert(block_size(block) == remain_size + size + block_header_overhead); + block_set_size(remaining, remain_size); + tlsf_assert(block_size(remaining) >= block_size_min && "block split with invalid size"); + + block_set_size(block, size); + block_mark_as_free(remaining); + + return remaining; +} + +/* Absorb a free block's storage into an adjacent previous free block. */ +static block_header_t *block_absorb(block_header_t *prev, block_header_t *block) +{ + tlsf_assert(!block_is_last(prev) && "previous block can't be last"); + /* Note: Leaves flags untouched. */ + prev->size += block_size(block) + block_header_overhead; + block_link_next(prev); + return prev; +} + +/* Merge a just-freed block with an adjacent previous free block. */ +static block_header_t *block_merge_prev(control_t *control, block_header_t *block) +{ + if (block_is_prev_free(block)) + { + block_header_t *prev = block_prev(block); + tlsf_assert(prev && "prev physical block can't be null"); + tlsf_assert(block_is_free(prev) && "prev block is not free though marked as such"); + block_remove(control, prev); + block = block_absorb(prev, block); + } + + return block; +} + +/* Merge a just-freed block with an adjacent free block. */ +static block_header_t *block_merge_next(control_t *control, block_header_t *block) +{ + block_header_t *next = block_next(block); + tlsf_assert(next && "next physical block can't be null"); + + if (block_is_free(next)) + { + tlsf_assert(!block_is_last(block) && "previous block can't be last"); + block_remove(control, next); + block = block_absorb(block, next); + } + + return block; +} + +/* Trim any trailing block space off the end of a block, return to pool. */ +static void block_trim_free(control_t *control, block_header_t *block, size_t size) +{ + tlsf_assert(block_is_free(block) && "block must be free"); + if (block_can_split(block, size)) + { + block_header_t *remaining_block = block_split(block, size); + block_link_next(block); + block_set_prev_free(remaining_block); + block_insert(control, remaining_block); + } +} + +/* Trim any trailing block space off the end of a used block, return to pool. */ +static void block_trim_used(control_t *control, block_header_t *block, size_t size) +{ + tlsf_assert(!block_is_free(block) && "block must be used"); + if (block_can_split(block, size)) + { + /* If the next block is free, we must coalesce. */ + block_header_t *remaining_block = block_split(block, size); + block_set_prev_used(remaining_block); + + remaining_block = block_merge_next(control, remaining_block); + block_insert(control, remaining_block); + } +} + +static block_header_t *block_trim_free_leading(control_t *control, block_header_t *block, size_t size) +{ + block_header_t *remaining_block = block; + if (block_can_split(block, size)) + { + /* We want the 2nd block. */ + remaining_block = block_split(block, size - block_header_overhead); + block_set_prev_free(remaining_block); + + block_link_next(block); + block_insert(control, block); + } + + return remaining_block; +} + +static block_header_t *block_locate_free(control_t *control, size_t size) +{ + int fl = 0, sl = 0; + block_header_t *block = 0; + + if (size) + { + mapping_search(size, &fl, &sl); + + /* + ** mapping_search can futz with the size, so for excessively large sizes it can sometimes wind up + ** with indices that are off the end of the block array. + ** So, we protect against that here, since this is the only callsite of mapping_search. + ** Note that we don't need to check sl, since it comes from a modulo operation that guarantees it's always in range. + */ + if (fl < FL_INDEX_COUNT) + { + block = search_suitable_block(control, &fl, &sl); + } + } + + if (block) + { + tlsf_assert(block_size(block) >= size); + remove_free_block(control, block, fl, sl); + } + + return block; +} + +static void *block_prepare_used(control_t *control, block_header_t *block, size_t size) +{ + void *p = 0; + if (block) + { + tlsf_assert(size && "size must be non-zero"); + block_trim_free(control, block, size); + block_mark_as_used(block); + p = block_to_ptr(block); + } + return p; +} + +/* Clear structure and point all empty lists at the null block. */ +static void control_construct(control_t *control) +{ + int i, j; + + control->block_null.next_free = &control->block_null; + control->block_null.prev_free = &control->block_null; + + control->fl_bitmap = 0; + for (i = 0; i < FL_INDEX_COUNT; ++i) + { + control->sl_bitmap[i] = 0; + for (j = 0; j < SL_INDEX_COUNT; ++j) + { + control->blocks[i][j] = &control->block_null; + } + } +} + +/* +** Debugging utilities. +*/ + +typedef struct integrity_t +{ + int prev_status; + int status; +} integrity_t; + +#define tlsf_insist(x) { tlsf_assert(x); if (!(x)) { status--; } } + +static void integrity_walker(void *ptr, size_t size, int used, void *user) +{ + block_header_t *block = block_from_ptr(ptr); + integrity_t *integ = tlsf_cast(integrity_t *, user); + const int this_prev_status = block_is_prev_free(block) ? 1 : 0; + const int this_status = block_is_free(block) ? 1 : 0; + const size_t this_block_size = block_size(block); + + int status = 0; + (void)used; + tlsf_insist(integ->prev_status == this_prev_status && "prev status incorrect"); + tlsf_insist(size == this_block_size && "block size incorrect"); + + integ->prev_status = this_status; + integ->status += status; +} + +int tlsf_check(tlsf_t tlsf) +{ + int i, j; + + control_t *control = tlsf_cast(control_t *, tlsf); + int status = 0; + + /* Check that the free lists and bitmaps are accurate. */ + for (i = 0; i < FL_INDEX_COUNT; ++i) + { + for (j = 0; j < SL_INDEX_COUNT; ++j) + { + const int fl_map = control->fl_bitmap & (1U << i); + const int sl_list = control->sl_bitmap[i]; + const int sl_map = sl_list & (1U << j); + const block_header_t *block = control->blocks[i][j]; + + /* Check that first- and second-level lists agree. */ + if (!fl_map) + { + tlsf_insist(!sl_map && "second-level map must be null"); + } + + if (!sl_map) + { + tlsf_insist(block == &control->block_null && "block list must be null"); + continue; + } + + /* Check that there is at least one free block. */ + tlsf_insist(sl_list && "no free blocks in second-level map"); + tlsf_insist(block != &control->block_null && "block should not be null"); + + while (block != &control->block_null) + { + int fli, sli; + tlsf_insist(block_is_free(block) && "block should be free"); + tlsf_insist(!block_is_prev_free(block) && "blocks should have coalesced"); + tlsf_insist(!block_is_free(block_next(block)) && "blocks should have coalesced"); + tlsf_insist(block_is_prev_free(block_next(block)) && "block should be free"); + tlsf_insist(block_size(block) >= block_size_min && "block not minimum size"); + + mapping_insert(block_size(block), &fli, &sli); + tlsf_insist(fli == i && sli == j && "block size indexed in wrong list"); + block = block->next_free; + } + } + } + + return status; +} + +#undef tlsf_insist + +static void default_walker(void *ptr, size_t size, int used, void *user) +{ + (void)user; + printf("\t%x %s size: %x (%x)\n", ptr, used ? "used" : "free", (unsigned int)size, block_from_ptr(ptr)); +} + +void tlsf_walk_pool(pool_t pool, tlsf_walker walker, void *user) +{ + tlsf_walker pool_walker = walker ? walker : default_walker; + block_header_t *block = + offset_to_block(pool, -(size_t)block_header_overhead); + + while (block && !block_is_last(block)) + { + pool_walker( + block_to_ptr(block), + block_size(block), + !block_is_free(block), + user); + block = block_next(block); + } +} + +size_t tlsf_block_size(void *ptr) +{ + size_t size = 0; + if (ptr) + { + const block_header_t *block = block_from_ptr(ptr); + size = block_size(block); + } + return size; +} + +int tlsf_check_pool(pool_t pool) +{ + /* Check that the blocks are physically correct. */ + integrity_t integ = { 0, 0 }; + tlsf_walk_pool(pool, integrity_walker, &integ); + + return integ.status; +} + +/* +** Size of the TLSF structures in a given memory block passed to +** tlsf_create, equal to the size of a control_t +*/ +size_t tlsf_size(void) +{ + return sizeof(control_t); +} + +size_t tlsf_align_size(void) +{ + return ALIGN_SIZE; +} + +size_t tlsf_block_size_min(void) +{ + return block_size_min; +} + +size_t tlsf_block_size_max(void) +{ + return block_size_max; +} + +/* +** Overhead of the TLSF structures in a given memory block passed to +** tlsf_add_pool, equal to the overhead of a free block and the +** sentinel block. +*/ +size_t tlsf_pool_overhead(void) +{ + return 2 * block_header_overhead; +} + +size_t tlsf_alloc_overhead(void) +{ + return block_header_overhead; +} + +pool_t tlsf_add_pool(tlsf_t tlsf, void *mem, size_t bytes) +{ + block_header_t *block; + block_header_t *next; + + const size_t pool_overhead = tlsf_pool_overhead(); + const size_t pool_bytes = align_down(bytes - pool_overhead, ALIGN_SIZE); + + if (((ptrdiff_t)mem % ALIGN_SIZE) != 0) + { + printf("tlsf_add_pool: Memory must be aligned by %u bytes.\n", + (unsigned int)ALIGN_SIZE); + return 0; + } + + if (pool_bytes < block_size_min || pool_bytes > block_size_max) + { +#if defined (TLSF_64BIT) + printf("tlsf_add_pool[64]: Memory size must be between 0x%x and 0x%x00 bytes. current %u\n", + (unsigned int)(pool_overhead + block_size_min), + (unsigned int)((pool_overhead + block_size_max) / 256), + pool_bytes); +#else + printf("tlsf_add_pool[32]: Memory size must be between %u and %u bytes. current %u\n", + (unsigned int)(pool_overhead + block_size_min), + (unsigned int)(pool_overhead + block_size_max), + pool_bytes); +#endif + return 0; + } + + /* + ** Create the main free block. Offset the start of the block slightly + ** so that the prev_phys_block field falls outside of the pool - + ** it will never be used. + */ + block = offset_to_block(mem, -(size_t)block_header_overhead); + block_set_size(block, pool_bytes); + block_set_free(block); + block_set_prev_used(block); + block_insert(tlsf_cast(control_t *, tlsf), block); + + /* Split the block to create a zero-size sentinel block. */ + next = block_link_next(block); + block_set_size(next, 0); + block_set_used(next); + block_set_prev_free(next); + + return mem; +} + +void tlsf_remove_pool(tlsf_t tlsf, pool_t pool) +{ + control_t *control = tlsf_cast(control_t *, tlsf); + block_header_t *block = offset_to_block(pool, -(size_t)block_header_overhead); + + int fl = 0, sl = 0; + + /* comment this lines because it asserted when memory leakage occurred, which should not happen */ + /*tlsf_assert(block_is_free(block) && "block should be free"); + tlsf_assert(!block_is_free(block_next(block)) && "next block should not be free"); + tlsf_assert(block_size(block_next(block)) == 0 && "next block size should be zero");*/ + + mapping_insert(block_size(block), &fl, &sl); + remove_free_block(control, block, fl, sl); +} + +/* +** TLSF main interface. +*/ + +#if _DEBUG +int test_ffs_fls() +{ + /* Verify ffs/fls work properly. */ + int rv = 0; + rv += (tlsf_ffs(0) == -1) ? 0 : 0x1; + rv += (tlsf_fls(0) == -1) ? 0 : 0x2; + rv += (tlsf_ffs(1) == 0) ? 0 : 0x4; + rv += (tlsf_fls(1) == 0) ? 0 : 0x8; + rv += (tlsf_ffs(0x80000000) == 31) ? 0 : 0x10; + rv += (tlsf_ffs(0x80008000) == 15) ? 0 : 0x20; + rv += (tlsf_fls(0x80000008) == 31) ? 0 : 0x40; + rv += (tlsf_fls(0x7FFFFFFF) == 30) ? 0 : 0x80; + +#if defined (TLSF_64BIT) + rv += (tlsf_fls_sizet(0x80000000) == 31) ? 0 : 0x100; + rv += (tlsf_fls_sizet(0x100000000) == 32) ? 0 : 0x200; + rv += (tlsf_fls_sizet(0xffffffffffffffff) == 63) ? 0 : 0x400; +#endif + + if (rv) + { + printf("test_ffs_fls: %x ffs/fls tests failed.\n", rv); + } + return rv; +} +#endif + +tlsf_t tlsf_create(void *mem) +{ +#if _DEBUG + if (test_ffs_fls()) + { + return 0; + } +#endif + + if (((tlsfptr_t)mem % ALIGN_SIZE) != 0) + { + printf("tlsf_create: Memory must be aligned to %u bytes.\n", + (unsigned int)ALIGN_SIZE); + return 0; + } + + control_construct(tlsf_cast(control_t *, mem)); + + return tlsf_cast(tlsf_t, mem); +} + +tlsf_t tlsf_create_with_pool(void *mem, size_t bytes) +{ + tlsf_t tlsf = tlsf_create(mem); + tlsf_add_pool(tlsf, (char *)mem + tlsf_size(), bytes - tlsf_size()); + return tlsf; +} + +void tlsf_destroy(tlsf_t tlsf) +{ + /* Nothing to do. */ + (void)tlsf; +} + +pool_t tlsf_get_pool(tlsf_t tlsf) +{ + return tlsf_cast(pool_t, (char *)tlsf + tlsf_size()); +} + +void *tlsf_malloc(tlsf_t tlsf, size_t size) +{ + control_t *control = tlsf_cast(control_t *, tlsf); + const size_t adjust = adjust_request_size(size, ALIGN_SIZE); + block_header_t *block = block_locate_free(control, adjust); + return block_prepare_used(control, block, adjust); +} + +void *tlsf_memalign(tlsf_t tlsf, size_t align, size_t size) +{ + control_t *control = tlsf_cast(control_t *, tlsf); + const size_t adjust = adjust_request_size(size, ALIGN_SIZE); + + /* + ** We must allocate an additional minimum block size bytes so that if + ** our free block will leave an alignment gap which is smaller, we can + ** trim a leading free block and release it back to the pool. We must + ** do this because the previous physical block is in use, therefore + ** the prev_phys_block field is not valid, and we can't simply adjust + ** the size of that block. + */ + const size_t gap_minimum = sizeof(block_header_t); + const size_t size_with_gap = adjust_request_size(adjust + align + gap_minimum, align); + + /* + ** If alignment is less than or equals base alignment, we're done. + ** If we requested 0 bytes, return null, as tlsf_malloc(0) does. + */ + const size_t aligned_size = (adjust && align > ALIGN_SIZE) ? size_with_gap : adjust; + + block_header_t *block = block_locate_free(control, aligned_size); + + /* This can't be a static assert. */ + tlsf_assert(sizeof(block_header_t) == block_size_min + block_header_overhead); + + if (block) + { + void *ptr = block_to_ptr(block); + void *aligned = align_ptr(ptr, align); + size_t gap = tlsf_cast(size_t, + tlsf_cast(tlsfptr_t, aligned) - tlsf_cast(tlsfptr_t, ptr)); + + /* If gap size is too small, offset to next aligned boundary. */ + if (gap && gap < gap_minimum) + { + const size_t gap_remain = gap_minimum - gap; + const size_t offset = tlsf_max(gap_remain, align); + const void *next_aligned = tlsf_cast(void *, + tlsf_cast(tlsfptr_t, aligned) + offset); + + aligned = align_ptr(next_aligned, align); + gap = tlsf_cast(size_t, + tlsf_cast(tlsfptr_t, aligned) - tlsf_cast(tlsfptr_t, ptr)); + } + + if (gap) + { + tlsf_assert(gap >= gap_minimum && "gap size too small"); + block = block_trim_free_leading(control, block, gap); + } + } + + return block_prepare_used(control, block, adjust); +} + +void tlsf_free(tlsf_t tlsf, void *ptr) +{ + /* Don't attempt to free a NULL pointer. */ + if (ptr) + { + control_t *control = tlsf_cast(control_t *, tlsf); + block_header_t *block = block_from_ptr(ptr); + tlsf_assert(!block_is_free(block) && "block already marked as free"); + block_mark_as_free(block); + block = block_merge_prev(control, block); + block = block_merge_next(control, block); + block_insert(control, block); + } +} + +/* +** The TLSF block information provides us with enough information to +** provide a reasonably intelligent implementation of realloc, growing or +** shrinking the currently allocated block as required. +** +** This routine handles the somewhat esoteric edge cases of realloc: +** - a non-zero size with a null pointer will behave like malloc +** - a zero size with a non-null pointer will behave like free +** - a request that cannot be satisfied will leave the original buffer +** untouched +** - an extended buffer size will leave the newly-allocated area with +** contents undefined +*/ +void *tlsf_realloc(tlsf_t tlsf, void *ptr, size_t size) +{ + control_t *control = tlsf_cast(control_t *, tlsf); + void *p = 0; + + /* Zero-size requests are treated as free. */ + if (ptr && size == 0) + { + tlsf_free(tlsf, ptr); + } + /* Requests with NULL pointers are treated as malloc. */ + else if (!ptr) + { + p = tlsf_malloc(tlsf, size); + } + else + { + block_header_t *block = block_from_ptr(ptr); + block_header_t *next = block_next(block); + + const size_t cursize = block_size(block); + const size_t combined = cursize + block_size(next) + block_header_overhead; + const size_t adjust = adjust_request_size(size, ALIGN_SIZE); + + tlsf_assert(!block_is_free(block) && "block already marked as free"); + + /* + ** If the next block is used, or when combined with the current + ** block, does not offer enough space, we must reallocate and copy. + */ + if (adjust > cursize && (!block_is_free(next) || adjust > combined)) + { + p = tlsf_malloc(tlsf, size); + if (p) + { + const size_t minsize = tlsf_min(cursize, size); + memcpy(p, ptr, minsize); + tlsf_free(tlsf, ptr); + } + } + else + { + /* Do we need to expand to the next block? */ + if (adjust > cursize) + { + block_merge_next(control, block); + block_mark_as_used(block); + } + + /* Trim the resulting block and return the original pointer. */ + block_trim_used(control, block, adjust); + p = ptr; + } + } + + return p; +} + diff --git a/third-party/tlsf-3.1.0/src/tlsf.h b/third-party/tlsf-3.1.0/src/tlsf.h new file mode 100644 index 00000000..5e390626 --- /dev/null +++ b/third-party/tlsf-3.1.0/src/tlsf.h @@ -0,0 +1,90 @@ +#ifndef INCLUDED_tlsf +#define INCLUDED_tlsf + +/* +** Two Level Segregated Fit memory allocator, version 3.1. +** Written by Matthew Conte +** http://tlsf.baisoku.org +** +** Based on the original documentation by Miguel Masmano: +** http://www.gii.upv.es/tlsf/main/docs +** +** This implementation was written to the specification +** of the document, therefore no GPL restrictions apply. +** +** Copyright (c) 2006-2016, Matthew Conte +** All rights reserved. +** +** Redistribution and use in source and binary forms, with or without +** modification, are permitted provided that the following conditions are met: +** * Redistributions of source code must retain the above copyright +** notice, this list of conditions and the following disclaimer. +** * Redistributions in binary form must reproduce the above copyright +** notice, this list of conditions and the following disclaimer in the +** documentation and/or other materials provided with the distribution. +** * Neither the name of the copyright holder nor the +** names of its contributors may be used to endorse or promote products +** derived from this software without specific prior written permission. +** +** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +** ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +** WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +** DISCLAIMED. IN NO EVENT SHALL MATTHEW CONTE BE LIABLE FOR ANY +** DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +** (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +** LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +** ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +** SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +*/ + +#include + +#if defined(__cplusplus) +extern "C" { +#endif + +/* tlsf_t: a TLSF structure. Can contain 1 to N pools. */ +/* pool_t: a block of memory that TLSF can manage. */ +typedef void *tlsf_t; +typedef void *pool_t; + +/* Create/destroy a memory pool. */ +tlsf_t tlsf_create(void *mem); +tlsf_t tlsf_create_with_pool(void *mem, size_t bytes); +void tlsf_destroy(tlsf_t tlsf); +pool_t tlsf_get_pool(tlsf_t tlsf); + +/* Add/remove memory pools. */ +pool_t tlsf_add_pool(tlsf_t tlsf, void *mem, size_t bytes); +void tlsf_remove_pool(tlsf_t tlsf, pool_t pool); + +/* malloc/memalign/realloc/free replacements. */ +void *tlsf_malloc(tlsf_t tlsf, size_t bytes); +void *tlsf_memalign(tlsf_t tlsf, size_t align, size_t bytes); +void *tlsf_realloc(tlsf_t tlsf, void *ptr, size_t size); +void tlsf_free(tlsf_t tlsf, void *ptr); + +/* Returns internal block size, not original request size */ +size_t tlsf_block_size(void *ptr); + +/* Overheads/limits of internal structures. */ +size_t tlsf_size(void); +size_t tlsf_align_size(void); +size_t tlsf_block_size_min(void); +size_t tlsf_block_size_max(void); +size_t tlsf_pool_overhead(void); +size_t tlsf_alloc_overhead(void); + +/* Debugging. */ +typedef void (*tlsf_walker)(void *ptr, size_t size, int used, void *user); +void tlsf_walk_pool(pool_t pool, tlsf_walker walker, void *user); +/* Returns nonzero if any internal consistency check fails. */ +int tlsf_check(tlsf_t tlsf); +int tlsf_check_pool(pool_t pool); + +#if defined(__cplusplus) +}; +#endif + +#endif -- Gitee From 04d8c02d44e7fd32c675f3834d47660178aed501 Mon Sep 17 00:00:00 2001 From: wangxiaodong Date: Fri, 9 Sep 2022 08:36:10 +0000 Subject: [PATCH 2/5] !17 --- README.md | 1 + docs/ChangeLog.md | 29 ++ drivers/Kconfig | 11 + drivers/adc/fadc_os.c | 390 ++++++++++++++++++ drivers/adc/fadc_os.h | 68 +++ drivers/drivers.mk | 6 + drivers/qspi/fqspi_os.c | 76 ++-- .../configs/d2000_aarch32_eg_configs | 6 + .../configs/d2000_aarch64_eg_configs | 6 + .../configs/e2000d_aarch32_eg_configs | 6 + .../configs/e2000d_aarch64_eg_configs | 6 + .../configs/e2000q_aarch32_eg_configs | 68 ++- .../configs/e2000q_aarch64_eg_configs | 68 ++- .../configs/ft2004_aarch32_eg_configs | 6 + .../configs/ft2004_aarch64_eg_configs | 6 + example/freertos_feature/eventgroup/sdkconfig | 22 +- .../freertos_feature/eventgroup/sdkconfig.h | 21 +- .../configs/d2000_aarch32_eg_configs | 6 + .../configs/d2000_aarch64_eg_configs | 6 + .../configs/e2000d_aarch32_eg_configs | 6 + .../configs/e2000d_aarch64_eg_configs | 6 + .../configs/e2000q_aarch32_eg_configs | 68 ++- .../configs/e2000q_aarch64_eg_configs | 68 ++- .../configs/ft2004_aarch32_eg_configs | 6 + .../configs/ft2004_aarch64_eg_configs | 6 + example/freertos_feature/interrupt/sdkconfig | 22 +- .../freertos_feature/interrupt/sdkconfig.h | 21 +- .../queue/configs/d2000_aarch32_eg_configs | 6 + .../queue/configs/d2000_aarch64_eg_configs | 6 + .../queue/configs/e2000d_aarch32_eg_configs | 6 + .../queue/configs/e2000d_aarch64_eg_configs | 6 + .../queue/configs/e2000q_aarch32_eg_configs | 68 ++- .../queue/configs/e2000q_aarch64_eg_configs | 68 ++- .../queue/configs/ft2004_aarch32_eg_configs | 6 + .../queue/configs/ft2004_aarch64_eg_configs | 6 + example/freertos_feature/queue/sdkconfig | 22 +- example/freertos_feature/queue/sdkconfig.h | 21 +- .../resource/configs/d2000_aarch32_eg_configs | 6 + .../resource/configs/d2000_aarch64_eg_configs | 6 + .../configs/e2000d_aarch32_eg_configs | 6 + .../configs/e2000d_aarch64_eg_configs | 6 + .../configs/e2000q_aarch32_eg_configs | 68 ++- .../configs/e2000q_aarch64_eg_configs | 68 ++- .../configs/ft2004_aarch32_eg_configs | 6 + .../configs/ft2004_aarch64_eg_configs | 6 + example/freertos_feature/resource/sdkconfig | 22 +- example/freertos_feature/resource/sdkconfig.h | 21 +- .../configs/d2000_aarch32_eg_configs | 6 + .../configs/d2000_aarch64_eg_configs | 6 + .../configs/e2000d_aarch32_eg_configs | 6 + .../configs/e2000d_aarch64_eg_configs | 6 + .../configs/e2000q_aarch32_eg_configs | 68 ++- .../configs/e2000q_aarch64_eg_configs | 68 ++- .../configs/ft2004_aarch32_eg_configs | 6 + .../configs/ft2004_aarch64_eg_configs | 6 + .../freertos_feature/software_timer/sdkconfig | 22 +- .../software_timer/sdkconfig.h | 21 +- .../task/configs/d2000_aarch32_eg_configs | 6 + .../task/configs/d2000_aarch64_eg_configs | 6 + .../task/configs/e2000d_aarch32_eg_configs | 6 + .../task/configs/e2000d_aarch64_eg_configs | 6 + .../task/configs/e2000q_aarch32_eg_configs | 46 +++ .../task/configs/e2000q_aarch64_eg_configs | 77 +++- .../task/configs/ft2004_aarch32_eg_configs | 6 + .../task/configs/ft2004_aarch64_eg_configs | 6 + example/freertos_feature/task/sdkconfig | 18 +- example/freertos_feature/task/sdkconfig.h | 17 +- .../configs/d2000_aarch32_eg_configs | 6 + .../configs/d2000_aarch64_eg_configs | 6 + .../configs/e2000d_aarch32_eg_configs | 6 + .../configs/e2000d_aarch64_eg_configs | 6 + .../configs/e2000q_aarch32_eg_configs | 68 ++- .../configs/e2000q_aarch64_eg_configs | 68 ++- .../configs/ft2004_aarch32_eg_configs | 6 + .../configs/ft2004_aarch64_eg_configs | 6 + .../freertos_feature/task_notify/sdkconfig | 22 +- .../freertos_feature/task_notify/sdkconfig.h | 21 +- .../configs/d2000_aarch32_eg_configs | 6 + .../configs/d2000_aarch64_eg_configs | 6 + .../configs/ft2004_aarch32_eg_configs | 6 + .../configs/ft2004_aarch64_eg_configs | 6 + example/network/gmac_lwip_test/sdkconfig | 6 + example/network/gmac_lwip_test/sdkconfig.h | 5 + .../configs/e2000d_aarch32_eg_configs | 6 + .../configs/e2000d_aarch64_eg_configs | 6 + example/network/xmac_lwip_test/sdkconfig | 6 + example/network/xmac_lwip_test/sdkconfig.h | 5 + example/peripheral/adc/Kconfig | 19 + example/peripheral/adc/README.md | 140 +++++++ .../adc/configs/e2000d_aarch32_eg_configs | 213 ++++++++++ .../adc/configs/e2000d_aarch64_eg_configs | 209 ++++++++++ .../adc/configs/e2000q_aarch32_eg_configs | 213 ++++++++++ .../adc/configs/e2000q_aarch64_eg_configs | 209 ++++++++++ example/peripheral/adc/figs/create.png | Bin 0 -> 27628 bytes example/peripheral/adc/figs/delete.png | Bin 0 -> 23344 bytes example/peripheral/adc/inc/adc_example.h | 30 ++ example/peripheral/adc/main.c | 48 +++ example/peripheral/adc/makefile | 31 ++ example/peripheral/adc/sdkconfig | 209 ++++++++++ example/peripheral/adc/sdkconfig.h | 185 +++++++++ example/peripheral/adc/src/adc_example.c | 265 ++++++++++++ .../ddma/configs/e2000d_aarch32_eg_configs | 12 + .../ddma/configs/e2000d_aarch64_eg_configs | 12 + example/peripheral/dma/ddma/sdkconfig | 32 +- example/peripheral/dma/ddma/sdkconfig.h | 30 +- .../gdma/configs/e2000d_aarch32_eg_configs | 12 + .../gdma/configs/e2000d_aarch64_eg_configs | 12 + example/peripheral/dma/gdma/sdkconfig | 34 +- example/peripheral/dma/gdma/sdkconfig.h | 32 +- .../gpio/configs/e2000d_aarch32_eg_configs | 6 + .../gpio/configs/e2000d_aarch64_eg_configs | 6 + example/peripheral/gpio/sdkconfig | 6 + example/peripheral/gpio/sdkconfig.h | 5 + example/peripheral/pwm/README.md | 1 + .../pwm/configs/e2000d_aarch32_eg_configs | 6 + .../pwm/configs/e2000d_aarch64_eg_configs | 6 + .../pwm/configs/e2000q_aarch32_eg_configs | 6 + .../pwm/configs/e2000q_aarch64_eg_configs | 6 + example/peripheral/pwm/inc/pwm_example.h | 2 +- example/peripheral/pwm/sdkconfig | 6 + example/peripheral/pwm/sdkconfig.h | 5 + example/peripheral/pwm/src/pwm_example.c | 2 +- example/peripheral/qspi/README.md | 2 +- .../qspi/configs/d2000_aarch32_eg_configs | 12 +- .../qspi/configs/d2000_aarch64_eg_configs | 16 +- .../qspi/configs/e2000d_aarch32_eg_configs | 12 +- .../qspi/configs/e2000d_aarch64_eg_configs | 12 +- .../qspi/configs/e2000q_aarch32_eg_configs | 53 ++- .../qspi/configs/e2000q_aarch64_eg_configs | 53 ++- .../qspi/configs/ft2004_aarch32_eg_configs | 12 +- .../qspi/configs/ft2004_aarch64_eg_configs | 12 +- example/peripheral/qspi/sdkconfig | 20 +- example/peripheral/qspi/sdkconfig.h | 19 +- example/peripheral/qspi/src/qspi_example.c | 39 +- .../sdio/configs/e2000d_aarch32_eg_configs | 6 + .../sdio/configs/e2000d_aarch64_eg_configs | 6 + example/peripheral/sdio/sdkconfig | 6 + example/peripheral/sdio/sdkconfig.h | 5 + .../spi/configs/e2000d_aarch32_eg_configs | 6 + .../spi/configs/e2000d_aarch64_eg_configs | 6 + example/peripheral/spi/sdkconfig | 6 + example/peripheral/spi/sdkconfig.h | 5 + .../wdt/configs/d2000_aarch32_eg_configs | 6 + .../wdt/configs/d2000_aarch64_eg_configs | 6 + .../wdt/configs/e2000d_aarch32_eg_configs | 6 + .../wdt/configs/e2000d_aarch64_eg_configs | 6 + .../wdt/configs/e2000q_aarch64_eg_configs | 49 +++ .../wdt/configs/ft2004_aarch32_eg_configs | 6 + .../wdt/configs/ft2004_aarch64_eg_configs | 6 + example/peripheral/wdt/sdkconfig | 6 + example/peripheral/wdt/sdkconfig.h | 5 + example/storage/qspi_spiffs/README.md | 4 +- .../configs/d2000_aarch32_eg_configs | 14 +- .../configs/d2000_aarch64_eg_configs | 14 +- .../configs/e2000d_aarch32_eg_configs | 14 +- .../configs/e2000d_aarch64_eg_configs | 14 +- .../configs/e2000q_aarch32_eg_configs | 54 ++- .../configs/e2000q_aarch64_eg_configs | 54 ++- .../configs/ft2004_aarch32_eg_configs | 14 +- .../configs/ft2004_aarch64_eg_configs | 14 +- example/storage/qspi_spiffs/figs/init.png | Bin 15313 -> 24680 bytes example/storage/qspi_spiffs/sdkconfig | 22 +- example/storage/qspi_spiffs/sdkconfig.h | 21 +- .../qspi_spiffs/src/qspi_spiffs_example.c | 4 +- example/storage/sata_fatfs/README.md | 9 +- .../configs/d2000_aarch32_eg_configs | 12 +- .../configs/d2000_aarch64_eg_configs | 12 +- .../configs/e2000d_aarch32_eg_configs | 18 +- .../configs/e2000d_aarch64_eg_configs | 18 +- .../configs/e2000q_aarch32_eg_configs | 60 ++- .../configs/e2000q_aarch64_eg_configs | 60 ++- .../configs/ft2004_aarch32_eg_configs | 12 +- .../configs/ft2004_aarch64_eg_configs | 12 +- .../storage/sata_fatfs/figs/menuconfig.png | Bin 0 -> 11688 bytes example/storage/sata_fatfs/sdkconfig | 24 +- example/storage/sata_fatfs/sdkconfig.h | 21 +- .../sata_fatfs/src/sata_fatfs_example.c | 34 +- .../template/configs/d2000_aarch32_eg_configs | 6 + .../template/configs/d2000_aarch64_eg_configs | 6 + .../configs/e2000d_aarch32_eg_configs | 6 + .../configs/e2000d_aarch64_eg_configs | 6 + .../configs/ft2004_aarch32_eg_configs | 6 + .../configs/ft2004_aarch64_eg_configs | 6 + example/template/sdkconfig | 6 + example/template/sdkconfig.h | 5 + install.py | 6 +- third-party/fatfs-0.1.3/Kconfig | 14 +- .../port/fsata_controller/diskio.c | 282 +++++++++++++ .../port/fsata_controller/diskio.h | 80 ++++ third-party/sfud-1.1.0/Kconfig | 3 +- third-party/sfud-1.1.0/inc/sfud_def.h | 4 + .../sfud-1.1.0/ports/fqspi/fqspi_sfud_core.c | 191 +++++---- .../ports/fqspi/fqspi_spiffs_port.c | 4 +- third-party/third-party.mk | 6 +- 194 files changed, 5149 insertions(+), 560 deletions(-) create mode 100644 drivers/adc/fadc_os.c create mode 100644 drivers/adc/fadc_os.h create mode 100644 example/peripheral/adc/Kconfig create mode 100644 example/peripheral/adc/README.md create mode 100644 example/peripheral/adc/configs/e2000d_aarch32_eg_configs create mode 100644 example/peripheral/adc/configs/e2000d_aarch64_eg_configs create mode 100644 example/peripheral/adc/configs/e2000q_aarch32_eg_configs create mode 100644 example/peripheral/adc/configs/e2000q_aarch64_eg_configs create mode 100644 example/peripheral/adc/figs/create.png create mode 100644 example/peripheral/adc/figs/delete.png create mode 100644 example/peripheral/adc/inc/adc_example.h create mode 100644 example/peripheral/adc/main.c create mode 100644 example/peripheral/adc/makefile create mode 100644 example/peripheral/adc/sdkconfig create mode 100644 example/peripheral/adc/sdkconfig.h create mode 100644 example/peripheral/adc/src/adc_example.c create mode 100644 example/storage/sata_fatfs/figs/menuconfig.png create mode 100644 third-party/fatfs-0.1.3/port/fsata_controller/diskio.c create mode 100644 third-party/fatfs-0.1.3/port/fsata_controller/diskio.h diff --git a/README.md b/README.md index ec72b368..187b49a3 100644 --- a/README.md +++ b/README.md @@ -129,6 +129,7 @@ D2000 是一款面向桌面应用的高性能通用 8 核处理器。每 2 个 | GPIO | E2000 | | gpio | | SDIO | E2000 | | mmc/fsdio | | SPI | E2000 | | spi/fspim | +| ADC | E2000 | | adc | | Third-Party | Platform Supported | Platform Developing | Component | diff --git a/docs/ChangeLog.md b/docs/ChangeLog.md index 14f6c5a6..4a7f0128 100644 --- a/docs/ChangeLog.md +++ b/docs/ChangeLog.md @@ -1,3 +1,32 @@ +# Phytium FreeRTOS SDK 2022-09-07 ChangeLog + +Change Log sinc 2022-08-30 + +## driver + +- optimize qspi os driver adapt to sfud and spiffs + +## example + +- add sata controller fatfs test example + +## third-party + +- modify qspi sfud use qspi os driver interface functions +- add sata controller fatfs port diskio + +# Phytium FreeRTOS SDK 2022-08-29 ChangeLog + +Change Log sinc 2022-08-24 + +## driver + +- add adc driver + +## example + +- add adc test example + # Phytium FreeRTOS SDK 2022-08-10 0.2.2 ChangeLog Change Log sinc 0.2.1 diff --git a/drivers/Kconfig b/drivers/Kconfig index b625a8a3..638e5c8d 100644 --- a/drivers/Kconfig +++ b/drivers/Kconfig @@ -19,6 +19,8 @@ menu "Freertos Qspi Drivers" bool prompt "Use Freertos qspi driver" default n + select USE_QSPI + select USE_FQSPI endmenu menu "Freertos Wdt Drivers" @@ -66,4 +68,13 @@ menu "Freertos MMC Drivers" bool prompt "Use Freertos sdio driver" default n +endmenu + +menu "Freertos Adc Drivers" + config FREERTOS_USE_ADC + bool + prompt "Use Freertos adc driver" + default n + select USE_ADC + select USE_FADC endmenu \ No newline at end of file diff --git a/drivers/adc/fadc_os.c b/drivers/adc/fadc_os.c new file mode 100644 index 00000000..cf6ee608 --- /dev/null +++ b/drivers/adc/fadc_os.c @@ -0,0 +1,390 @@ +/* + * Copyright : (C) 2022 Phytium Information Technology, Inc. + * All Rights Reserved. + * + * This program is OPEN SOURCE software: you can redistribute it and/or modify it + * under the terms of the Phytium Public License as published by the Phytium Technology Co.,Ltd, + * either version 1.0 of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful,but WITHOUT ANY WARRANTY; + * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + * See the Phytium Public License for more details. + * + * + * FilePath: fadc_os.c + * Date: 2022-08-24 16:50:19 + * LastEditTime: 2022-08-26 16:59:51 + * Description:  This file is for + * + * Modify History: + * Ver   Who        Date         Changes + * ----- ------     --------    -------------------------------------- + */ +#include +#include +#include +#include +#include "task.h" +#include "ft_types.h" +#include "ft_assert.h" +#include "ft_debug.h" +#include "fadc_os.h" +#include "fadc.h" +#include "interrupt.h" +#include "fadc_hw.h" + +#define FADC_DEBUG_TAG "FFreeRTOSAdc" +#define FADC_ERROR(format, ...) FT_DEBUG_PRINT_E(FADC_DEBUG_TAG, format, ##__VA_ARGS__) +#define FADC_WARN(format, ...) FT_DEBUG_PRINT_W(FADC_DEBUG_TAG, format, ##__VA_ARGS__) +#define FADC_INFO(format, ...) FT_DEBUG_PRINT_I(FADC_DEBUG_TAG, format, ##__VA_ARGS__) +#define FADC_DEBUG(format, ...) FT_DEBUG_PRINT_D(FADC_DEBUG_TAG, format, ##__VA_ARGS__) + +/* adc control type */ +#define FREERTOS_ADC_CTRL_SET (1) /* set adc control convert configuration */ +#define FREERTOS_ADC_CTRL_START (2) /* start adc convert */ +#define FREERTOS_ADC_CTRL_STOP (3) /* stop adc convert */ +#define FREERTOS_ADC_CTRL_CHANNEL_ENABLE (4) /* enable adc channel */ +#define FREERTOS_ADC_CTRL_CHANNEL_DISABLE (5) /* disable adc channel */ +#define FREERTOS_ADC_CTRL_CHANNEL_THRESHOLD_SET (6) /* set adc channel threshold */ +#define FREERTOS_ADC_CTRL_READ (7) /* read adc channel convert value */ +#define FREERTOS_ADC_CTRL_INTR_ENABLE (8) /* enable adc interrupt */ +#define FREERTOS_ADC_CTRL_INTR_DISABLE (9) /* disable adc interrupt */ + +static FFreeRTOSAdc os_adc[FADC_INSTANCE_NUM] = {0}; + +/** + * @name: FFreeRTOSAdcControl + * @msg: control freeRTOS adc instance + * @param {FFreeRTOSAdc} *os_adc_p, pointer to os adc instance + * @param {int} cmd, control cmd + * @param {void} *args, pointer to control cmd arguments + * @return err code information, FADC_SUCCESS indicates success,others indicates failed + */ +static FError FFreeRTOSAdcControl(FFreeRTOSAdc *os_adc_p, int cmd, void *arg) +{ + FError ret = FADC_SUCCESS; + FFreeRTOSAdcConfig *configuration = (FFreeRTOSAdcConfig *)arg; + + /* New contrl can be performed only after current one is finished */ + if (pdFALSE == xSemaphoreTake(os_adc_p->adc_semaphore, portMAX_DELAY)) + { + FADC_ERROR("Adc xSemaphoreTake failed\r\n"); + /* We could not take the semaphore, exit with 0 data received */ + return FREERTOS_ADC_SEM_ERROR; + } + + switch (cmd) + { + case FREERTOS_ADC_CTRL_SET: + ret = FAdcVariableConfig(&os_adc_p->adc_ctrl, &configuration->convert_config); + break; + + case FREERTOS_ADC_CTRL_START: + FAdcConvertStart(&os_adc_p->adc_ctrl); + break; + + case FREERTOS_ADC_CTRL_STOP: + FAdcConvertStop(&os_adc_p->adc_ctrl); + break; + + case FREERTOS_ADC_CTRL_CHANNEL_ENABLE: + FAdcChannelEnable(&os_adc_p->adc_ctrl, configuration->channel, TRUE); + break; + + case FREERTOS_ADC_CTRL_CHANNEL_DISABLE: + FAdcChannelEnable(&os_adc_p->adc_ctrl, configuration->channel, FALSE); + break; + + case FREERTOS_ADC_CTRL_CHANNEL_THRESHOLD_SET: + FAdcChannelThresholdSet(&os_adc_p->adc_ctrl, configuration->channel, &configuration->threshold_config); + break; + + case FREERTOS_ADC_CTRL_READ: + ret = FAdcReadConvertResult(&os_adc_p->adc_ctrl, configuration->channel, &configuration->value); + break; + + case FREERTOS_ADC_CTRL_INTR_ENABLE: + ret = FAdcInterruptEnable(&os_adc_p->adc_ctrl, configuration->channel, configuration->event_type); + break; + + case FREERTOS_ADC_CTRL_INTR_DISABLE: + ret = FAdcInterruptDisable(&os_adc_p->adc_ctrl, configuration->channel, configuration->event_type); + break; + + default: + FADC_ERROR("invalid cmd."); + ret = FADC_ERR_NOT_SUPPORT; + break; + } + + /* Enable next contrl. Current one is finished */ + if (pdFALSE == xSemaphoreGive(os_adc_p->adc_semaphore)) + { + /* We could not post the semaphore, exit with error */ + FADC_ERROR("Adc xSemaphoreGive failed\r\n"); + return FREERTOS_ADC_SEM_ERROR; + } + + return ret; +} + +/** + * @name: FFreeRTOSAdcSet + * @msg: set freeRTOS adc channel config, include div, mode + * @param {FFreeRTOSAdc} *os_adc_p, pointer to os adc instance + * @param {FAdcConvertConfig} *adc_cfg_p, adc config parameters + * @return err code information, FADC_SUCCESS indicates success,others indicates failed + */ +static FError FFreeRTOSAdcControllerSet(FFreeRTOSAdc *os_adc_p, FAdcConvertConfig *adc_cfg_p) +{ + FASSERT(os_adc_p); + FASSERT(os_adc_p->adc_semaphore != NULL); + FASSERT(adc_cfg_p != NULL); + FError ret = FADC_SUCCESS; + + FFreeRTOSAdcConfig configuration; + memset(&configuration, 0, sizeof(configuration)); + configuration.convert_config = *adc_cfg_p; + + ret = FFreeRTOSAdcControl(os_adc_p, FREERTOS_ADC_CTRL_SET, &configuration); + return ret; +} + +/** + * @name: FFreeRTOSAdcConvertStart + * @msg: adc convert start or stop + * @param {FFreeRTOSAdc} *os_adc_p, pointer to os adc instance + * @param {boolean} state, TRUE-start, FALSE-stop + * @return err code information, FADC_SUCCESS indicates success,others indicates failed + */ +static FError FFreeRTOSAdcConvertStart(FFreeRTOSAdc *os_adc_p, boolean state) +{ + FASSERT(os_adc_p); + FASSERT(os_adc_p->adc_semaphore != NULL); + FError ret = FADC_SUCCESS; + + if (state==TRUE) + { + ret = FFreeRTOSAdcControl(os_adc_p, FREERTOS_ADC_CTRL_START, NULL); + } + else + { + ret = FFreeRTOSAdcControl(os_adc_p, FREERTOS_ADC_CTRL_STOP, NULL); + } + return ret; +} + +/** + * @name: FFreeRTOSAdcEnable + * @msg: set adc channel threshold, include high_threshold and low_threshold + * @param {FFreeRTOSAdc} *os_adc_p, pointer to os adc instance + * @param {FAdcChannel} channel, adc channel + * @param {FAdcThresholdConfig} *threshold_config_p, adc channel threshold config + * @return err code information, FADC_SUCCESS indicates success,others indicates failed + */ +static FError FFreeRTOSAdcChannelThresholdSet(FFreeRTOSAdc *os_adc_p, FAdcChannel channel, FAdcThresholdConfig *threshold_config_p) +{ + FASSERT(os_adc_p); + FASSERT(os_adc_p->adc_semaphore != NULL); + FASSERT(channel < FADC_CHANNEL_NUM); + FError ret = FADC_SUCCESS; + + FFreeRTOSAdcConfig configuration; + memset(&configuration, 0, sizeof(configuration)); + configuration.channel = channel; + configuration.threshold_config = *threshold_config_p; + + ret = FFreeRTOSAdcControl(os_adc_p, FREERTOS_ADC_CTRL_CHANNEL_THRESHOLD_SET, &configuration); + + return ret; +} + +/** + * @name: FFreeRTOSAdcEnable + * @msg: enable or disable freeRTOS adc channel output + * @param {FFreeRTOSAdc} *os_adc_p, pointer to os adc instance + * @param {FAdcChannel} channel, adc channel + * @param {boolean} state, TRUE-enable, FALSE-disable + * @return err code information, FADC_SUCCESS indicates success,others indicates failed + */ +static FError FFreeRTOSAdcChannelEnable(FFreeRTOSAdc *os_adc_p, FAdcChannel channel, boolean state) +{ + FASSERT(os_adc_p); + FASSERT(os_adc_p->adc_semaphore != NULL); + FASSERT(channel < FADC_CHANNEL_NUM); + FError ret = FADC_SUCCESS; + + FFreeRTOSAdcConfig configuration; + memset(&configuration, 0, sizeof(configuration)); + configuration.channel = channel; + + if (state==TRUE) + { + ret = FFreeRTOSAdcControl(os_adc_p, FREERTOS_ADC_CTRL_CHANNEL_ENABLE, &configuration); + } + else + { + ret = FFreeRTOSAdcControl(os_adc_p, FREERTOS_ADC_CTRL_CHANNEL_DISABLE, &configuration); + } + + return ret; +} + +/** + * @name: FFreeRTOSAdcRead + * @msg: read adc channel convert value. + * @param {FFreeRTOSAdc} *os_adc_p, pointer to os adc instance + * @param {FAdcChannel} channel, adc channel + * @param {FAdcIntrEventType} event_type, adc interrupt event type + * @param {boolean} state, TRUE-enable, FALSE-disable + * @return err code information, FADC_SUCCESS indicates success,others indicates failed + */ +static FError FFreeRTOSAdcInterruptEnable(FFreeRTOSAdc *os_adc_p, FAdcChannel channel, FAdcIntrEventType event_type, boolean state) +{ + FASSERT(os_adc_p); + FASSERT(os_adc_p->adc_semaphore != NULL); + FASSERT(channel < FADC_CHANNEL_NUM); + FError ret = FADC_SUCCESS; + + FFreeRTOSAdcConfig configuration; + memset(&configuration, 0, sizeof(configuration)); + configuration.channel = channel; + configuration.event_type = event_type; + + if (state==TRUE) + { + ret = FFreeRTOSAdcControl(os_adc_p, FREERTOS_ADC_CTRL_INTR_ENABLE, &configuration); + } + else + { + ret = FFreeRTOSAdcControl(os_adc_p, FREERTOS_ADC_CTRL_INTR_DISABLE, &configuration); + } + return ret; +} + + +/** + * @name: FFreeRTOSAdcInit + * @msg: init freeRTOS adc instance, include init adc and create mutex + * @param {u32} instance_id, adc instance id + * @return {FFreeRTOSAdc *} pointer to os adc instance + */ +FFreeRTOSAdc *FFreeRTOSAdcInit(u32 instance_id) +{ + FASSERT(instance_id < FADC_INSTANCE_NUM); + FASSERT(FT_COMPONENT_IS_READY != os_adc[instance_id].adc_ctrl.is_ready); + + FAdcConfig pconfig; + pconfig = *FAdcLookupConfig(instance_id); + pconfig.irq_prority = FREERTOS_ADC_IRQ_PRIORITY; + + FASSERT(FAdcCfgInitialize(&os_adc[instance_id].adc_ctrl, &pconfig) == FT_SUCCESS); + FASSERT((os_adc[instance_id].adc_semaphore = xSemaphoreCreateMutex()) != NULL); + + return (&os_adc[instance_id]); +} + +/** + * @name: FFreeRTOSAdcDeinit + * @msg: deinit freeRTOS adc instance, include stop adc, deinit adc and delete mutex + * @param {FFreeRTOSAdc} *os_adc_p, pointer to os adc instance + * @return err code information, FADC_SUCCESS indicates success,others indicates failed + */ +FError FFreeRTOSAdcDeinit(FFreeRTOSAdc *os_adc_p) +{ + FASSERT(os_adc_p); + FASSERT(os_adc_p->adc_semaphore != NULL); + + /* stop adc convert */ + FFreeRTOSAdcConvertStart(os_adc_p, FALSE); + + FAdcDeInitialize(&os_adc_p->adc_ctrl); + vSemaphoreDelete(os_adc_p->adc_semaphore); + memset(os_adc_p, 0, sizeof(*os_adc_p)); + + return FADC_SUCCESS; +} + +/** + * @name: FFreeRTOSAdcRead + * @msg: read adc channel convert value. + * @param {FFreeRTOSAdc} *os_adc_p, pointer to os adc instance + * @param {FAdcChannel} channel, adc channel + * @param {u16} *val, adc convert value + * @return err code information, FADC_SUCCESS indicates success,others indicates failed + */ +FError FFreeRTOSAdcRead(FFreeRTOSAdc *os_adc_p, FAdcChannel channel, u16 *val) +{ + FASSERT(os_adc_p); + FASSERT(os_adc_p->adc_semaphore != NULL); + FASSERT(channel < FADC_CHANNEL_NUM); + FError ret = FADC_SUCCESS; + + FFreeRTOSAdcConfig configuration; + memset(&configuration, 0, sizeof(configuration)); + configuration.channel = channel; + + ret = FFreeRTOSAdcControl(os_adc_p, FREERTOS_ADC_CTRL_READ, &configuration); + if(ret == FADC_SUCCESS) + { + *val = configuration.value; + } + return ret; +} + +/** + * @name: FFreeRTOSAdcSet + * @msg: set adc controller and channel configuration + * @param {FFreeRTOSAdc} *os_adc_p, pointer to os adc instance + * @param {FFreeRTOSAdcConfig} *adc_cfg_p, adc controller and channel configuration + * @return err code information, FADC_SUCCESS indicates success,others indicates failed + */ +FError FFreeRTOSAdcSet(FFreeRTOSAdc *os_adc_p, FFreeRTOSAdcConfig *adc_cfg_p) +{ + FASSERT(os_adc_p); + FASSERT(os_adc_p->adc_semaphore != NULL); + FASSERT(adc_cfg_p); + FError ret = FADC_SUCCESS; + FAdcChannel channel = adc_cfg_p->channel; + FASSERT(channel < FADC_CHANNEL_NUM); + + ret = FFreeRTOSAdcControllerSet(os_adc_p, &adc_cfg_p->convert_config); + if (FADC_SUCCESS != ret) + { + FADC_ERROR("FFreeRTOSAdcControllerSet failed\n"); + return FADC_ERR_CMD_FAILED; + } + + ret = FFreeRTOSAdcChannelThresholdSet(os_adc_p, channel, &adc_cfg_p->threshold_config); + if (FADC_SUCCESS != ret) + { + FADC_ERROR("FAdcChannelThresholdSet failed\n"); + return FADC_ERR_CMD_FAILED; + } + + /* enable adc channel */ + ret = FFreeRTOSAdcChannelEnable(os_adc_p, channel, TRUE); + if (FADC_SUCCESS != ret) + { + FADC_ERROR("FFreeRTOSAdcChannelEnable failed\n"); + return FADC_ERR_CMD_FAILED; + } + + /* enable adc convert finish interrupt to know whether the convert is completed */ + ret = FFreeRTOSAdcInterruptEnable(os_adc_p, channel, adc_cfg_p->event_type, TRUE); + if (FADC_SUCCESS != ret) + { + FADC_ERROR("FFreeRTOSAdcInterruptEnable failed\n"); + return FADC_ERR_CMD_FAILED; + } + + /* start adc convert */ + ret = FFreeRTOSAdcConvertStart(os_adc_p, TRUE); + if (FADC_SUCCESS != ret) + { + FADC_ERROR("FFreeRTOSAdcConvertStart failed\n"); + return FADC_ERR_CMD_FAILED; + } + + return ret; +} \ No newline at end of file diff --git a/drivers/adc/fadc_os.h b/drivers/adc/fadc_os.h new file mode 100644 index 00000000..e85f00d7 --- /dev/null +++ b/drivers/adc/fadc_os.h @@ -0,0 +1,68 @@ +/* + * Copyright : (C) 2022 Phytium Information Technology, Inc. + * All Rights Reserved. + * + * This program is OPEN SOURCE software: you can redistribute it and/or modify it + * under the terms of the Phytium Public License as published by the Phytium Technology Co.,Ltd, + * either version 1.0 of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful,but WITHOUT ANY WARRANTY; + * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + * See the Phytium Public License for more details. + * + * + * FilePath: fadc_os.h + * Date: 2022-08-24 16:42:19 + * LastEditTime: 2022-08-26 17:59:12 + * Description:  This file is for + * + * Modify History: + * Ver   Who        Date         Changes + * ----- ------     --------    -------------------------------------- + */ + +#ifndef DRIVERS_FADC_OS_H +#define DRIVERS_FADC_OS_H + +#include +#include +#include "ft_error_code.h" +#include "fadc.h" +#include "ft_types.h" +#include "parameters.h" + +/* freertos adc error */ +#define FREERTOS_ADC_SEM_ERROR FT_CODE_ERR(ErrModBsp, ErrBspAdc, 10) + +/* freertos adc interrupt priority */ +#define FREERTOS_ADC_IRQ_PRIORITY IRQ_PRIORITY_VALUE_12 + +typedef struct +{ + FAdcChannel channel; + u16 value; + FAdcConvertConfig convert_config; /* adc convert config */ + FAdcThresholdConfig threshold_config; /* adc channel threshold config */ + FAdcIntrEventType event_type; /* adc interrupt event type */ +}FFreeRTOSAdcConfig; + +typedef struct +{ + FAdcCtrl adc_ctrl; /* adc object */ + xSemaphoreHandle adc_semaphore; /*!< adc semaphore for resource sharing */ +} FFreeRTOSAdc; + +/* init freertos adc instance */ +FFreeRTOSAdc *FFreeRTOSAdcInit(u32 instance_id); + +/* deinit freertos adc instance */ +FError FFreeRTOSAdcDeinit(FFreeRTOSAdc *os_adc_p); + +/* adc config */ +FError FFreeRTOSAdcSet(FFreeRTOSAdc *os_adc_p, FFreeRTOSAdcConfig *adc_cfg_p); + +/* adc channel convert result read */ +FError FFreeRTOSAdcRead(FFreeRTOSAdc *os_adc_p, FAdcChannel channel, u16 *val); + + +#endif // ! diff --git a/drivers/drivers.mk b/drivers/drivers.mk index 46425407..3e7da0a8 100644 --- a/drivers/drivers.mk +++ b/drivers/drivers.mk @@ -49,3 +49,9 @@ ifdef CONFIG_FREERTOS_USE_FSDIO SRC_DIR += $(OS_DRIVER_CUR_DIR)/mmc/fsdio INC_DIR += $(OS_DRIVER_CUR_DIR)/mmc/fsdio endif + +ifdef CONFIG_FREERTOS_USE_ADC + SRC_DIR += $(OS_DRIVER_CUR_DIR)/adc + INC_DIR += $(OS_DRIVER_CUR_DIR)/adc +endif + diff --git a/drivers/qspi/fqspi_os.c b/drivers/qspi/fqspi_os.c index 575617d5..b55b1e8d 100644 --- a/drivers/qspi/fqspi_os.c +++ b/drivers/qspi/fqspi_os.c @@ -49,7 +49,9 @@ FFreeRTOSQspi *FFreeRTOSQspiInit(u32 instance_id) FQspiConfig qspi_config; qspi_config = *FQspiLookupConfig(instance_id); FASSERT(FQspiCfgInitialize(&os_qspi[instance_id].qspi_ctrl, &qspi_config) == FT_SUCCESS); - + /* detect connected flash infomation */ + FASSERT_MSG(FQspiFlashDetect(&os_qspi[instance_id].qspi_ctrl) == FT_SUCCESS, "flash detect failed."); + /* qspi wr_semaphore initialize */ FASSERT((os_qspi[instance_id].wr_semaphore = xSemaphoreCreateMutex()) != NULL); @@ -100,7 +102,7 @@ FError FFreeRTOSQspiTransfer(FFreeRTOSQspi *os_qspi_p, FFreeRTOSQspiMessage *mes /* New transfer can be performed only after current one is finished */ if (pdFALSE == xSemaphoreTake(os_qspi_p->wr_semaphore, portMAX_DELAY)) { - vPrintf("Qspi xSemaphoreTake failed\r\n"); + printf("Qspi xSemaphoreTake failed\r\n"); /* We could not take the semaphore, exit with 0 data received */ return FREERTOS_QSPI_SEM_ERROR; } @@ -116,24 +118,17 @@ FError FFreeRTOSQspiTransfer(FFreeRTOSQspi *os_qspi_p, FFreeRTOSQspiMessage *mes { if (NULL != write_buf) { - /* erase norflash data in specified address */ - ret = FQspiFlashErase(pctrl, FQSPI_FLASH_CMD_SE, flash_addr); - if (FQSPI_SUCCESS != ret) - { - vPrintf("Qspi failed to erase mem, result 0x%x\r\n", ret); - goto transfer_exit; - } /* write norflash data */ ret = FQspiFlashWriteData(pctrl, cmd, flash_addr, write_buf, length); if (FQSPI_SUCCESS != ret) { - vPrintf("Qspi failed to write mem, result 0x%x\r\n", ret); + printf("Qspi failed to write mem, result 0x%x\r\n", ret); goto transfer_exit; } } else { - vPrintf("Qspi Transfer cmd %x write_buf is null\r\n", cmd); + printf("Qspi Transfer cmd %x write_buf is null\r\n", cmd); ret = FQSPI_INVAL_PARAM; goto transfer_exit; } @@ -154,7 +149,7 @@ FError FFreeRTOSQspiTransfer(FFreeRTOSQspi *os_qspi_p, FFreeRTOSQspiMessage *mes read_cmd_bak = cmd; if (FQSPI_SUCCESS != ret) { - vPrintf("Qspi read config failed\r\n"); + printf("Qspi read config failed\r\n"); goto transfer_exit; } } @@ -162,44 +157,53 @@ FError FFreeRTOSQspiTransfer(FFreeRTOSQspi *os_qspi_p, FFreeRTOSQspiMessage *mes read_len = FQspiFlashReadData(pctrl, flash_addr, read_buf, length); if (read_len != length) { - vPrintf("Qspi failed to read mem, read len = %d\r\n", read_len); + printf("Qspi failed to read mem, read len = %d\r\n", read_len); ret = FQSPI_NOT_SUPPORT; goto transfer_exit; } - taskENTER_CRITICAL(); //进入临界区 - FtDumpHexByte(read_buf, length); - taskEXIT_CRITICAL(); //退出临界区 + } else { - vPrintf("Qspi Transfer cmd %x read_buf is null\r\n", cmd); + printf("Qspi Transfer cmd %x read_buf is null\r\n", cmd); ret = FQSPI_INVAL_PARAM; goto transfer_exit; } } break; + case FQSPI_FLASH_CMD_RDID: - { - FQspiFlashId flash_id; - memset(&flash_id, 0, sizeof(flash_id)); + case FQSPI_FLASH_CMD_RDSR1: + ret = FQspiFlashSpecialInstruction(pctrl, cmd, read_buf, length); + break; - /* read flash id */ - ret = FQspiFlashSpecialInstruction(pctrl, cmd, (u8 *)&flash_id, sizeof(flash_id)); - if(FQSPI_SUCCESS != ret) - { - vPrintf("Qspi Transfer cmd %x failed to read id\r\n", cmd); - goto transfer_exit; - } - vPrintf("flash_id manufacturer_id=%#x\r\n", flash_id.manufacturer_id); - vPrintf("flash_id device_id_msb =%#x\r\n", flash_id.device_id_msb); - vPrintf("flash_id device_id_lsb =%#x\r\n", flash_id.device_id_lsb); - vPrintf("flash_id id_cfi_length =%#x\r\n", flash_id.id_cfi_length); - vPrintf("flash_id sector_size =%#x\r\n", flash_id.sector_size); - vPrintf("flash_id family_id =%#x\r\n", flash_id.family_id); - } + case FQSPI_FLASH_CMD_SFDP: + ret = FQspiFlashReadSfdp(pctrl, flash_addr, read_buf, length); + break; + + case FQSPI_CMD_ENABLE_RESET: + case FQSPI_CMD_RESET: + case FQSPI_FLASH_CMD_WRR: + ret = FQspiFlashWriteReg(pctrl, cmd, NULL, 0); + break; + + case FQSPI_FLASH_CMD_WREN: + ret = FQspiFlashEnableWrite(pctrl); + break; + + case FQSPI_FLASH_CMD_WRDI: + ret = FQspiFlashDisableWrite(pctrl); break; + + case FQSPI_FLASH_CMD_SE: + case FQSPI_FLASH_CMD_4SE: + case FQSPI_FLASH_CMD_4BE: + case FQSPI_FLASH_CMD_P4E: + ret = FQspiFlashErase(pctrl, cmd, flash_addr); + break; + default: - vPrintf("Qspi Transfer cmd invalid\r\n"); + printf("Qspi Transfer cmd invalid\r\n"); ret = FQSPI_INVAL_PARAM; goto transfer_exit; @@ -210,7 +214,7 @@ transfer_exit: if (pdFALSE == xSemaphoreGive(os_qspi_p->wr_semaphore)) { /* We could not post the semaphore, exit with error */ - vPrintf("Qspi xSemaphoreGive failed\r\n"); + printf("Qspi xSemaphoreGive failed\r\n"); ret |= FREERTOS_QSPI_SEM_ERROR; } diff --git a/example/freertos_feature/eventgroup/configs/d2000_aarch32_eg_configs b/example/freertos_feature/eventgroup/configs/d2000_aarch32_eg_configs index 733560a0..88242621 100644 --- a/example/freertos_feature/eventgroup/configs/d2000_aarch32_eg_configs +++ b/example/freertos_feature/eventgroup/configs/d2000_aarch32_eg_configs @@ -173,6 +173,12 @@ CONFIG_FREERTOS_USE_UART=y # # CONFIG_FREERTOS_USE_FSDIO is not set # end of Freertos MMC Drivers + +# +# Freertos Adc Drivers +# +# CONFIG_FREERTOS_USE_ADC is not set +# end of Freertos Adc Drivers # end of Component Configuration # diff --git a/example/freertos_feature/eventgroup/configs/d2000_aarch64_eg_configs b/example/freertos_feature/eventgroup/configs/d2000_aarch64_eg_configs index 7b253320..f7da4f7e 100644 --- a/example/freertos_feature/eventgroup/configs/d2000_aarch64_eg_configs +++ b/example/freertos_feature/eventgroup/configs/d2000_aarch64_eg_configs @@ -169,6 +169,12 @@ CONFIG_FREERTOS_USE_UART=y # # CONFIG_FREERTOS_USE_FSDIO is not set # end of Freertos MMC Drivers + +# +# Freertos Adc Drivers +# +# CONFIG_FREERTOS_USE_ADC is not set +# end of Freertos Adc Drivers # end of Component Configuration # diff --git a/example/freertos_feature/eventgroup/configs/e2000d_aarch32_eg_configs b/example/freertos_feature/eventgroup/configs/e2000d_aarch32_eg_configs index 3fcb7a6c..1e787231 100644 --- a/example/freertos_feature/eventgroup/configs/e2000d_aarch32_eg_configs +++ b/example/freertos_feature/eventgroup/configs/e2000d_aarch32_eg_configs @@ -173,6 +173,12 @@ CONFIG_FREERTOS_USE_UART=y # # CONFIG_FREERTOS_USE_FSDIO is not set # end of Freertos MMC Drivers + +# +# Freertos Adc Drivers +# +# CONFIG_FREERTOS_USE_ADC is not set +# end of Freertos Adc Drivers # end of Component Configuration # diff --git a/example/freertos_feature/eventgroup/configs/e2000d_aarch64_eg_configs b/example/freertos_feature/eventgroup/configs/e2000d_aarch64_eg_configs index 0ffacca0..e1b4974a 100644 --- a/example/freertos_feature/eventgroup/configs/e2000d_aarch64_eg_configs +++ b/example/freertos_feature/eventgroup/configs/e2000d_aarch64_eg_configs @@ -169,6 +169,12 @@ CONFIG_FREERTOS_USE_UART=y # # CONFIG_FREERTOS_USE_FSDIO is not set # end of Freertos MMC Drivers + +# +# Freertos Adc Drivers +# +# CONFIG_FREERTOS_USE_ADC is not set +# end of Freertos Adc Drivers # end of Component Configuration # diff --git a/example/freertos_feature/eventgroup/configs/e2000q_aarch32_eg_configs b/example/freertos_feature/eventgroup/configs/e2000q_aarch32_eg_configs index 57f7c8aa..8e8a511b 100644 --- a/example/freertos_feature/eventgroup/configs/e2000q_aarch32_eg_configs +++ b/example/freertos_feature/eventgroup/configs/e2000q_aarch32_eg_configs @@ -16,7 +16,6 @@ CONFIG_USE_FREERTOS=y CONFIG_TARGET_ARMV8_AARCH32=y # CONFIG_TARGET_ARMV8_AARCH64 is not set CONFIG_USE_CACHE=y -# CONFIG_USE_L3CACHE is not set CONFIG_USE_MMU=y CONFIG_USE_SYS_TICK=y CONFIG_USE_AARCH64_L1_TO_AARCH32=y @@ -30,6 +29,7 @@ CONFIG_USE_AARCH64_L1_TO_AARCH32=y CONFIG_TARGET_E2000Q=y # CONFIG_TARGET_E2000D is not set # CONFIG_TARGET_E2000S is not set +CONFIG_TARGET_E2000=y CONFIG_DEFAULT_DEBUG_PRINT_UART1=y # CONFIG_DEFAULT_DEBUG_PRINT_UART0 is not set # CONFIG_DEFAULT_DEBUG_PRINT_UART2 is not set @@ -55,6 +55,7 @@ CONFIG_ENABLE_Pl011_UART=y # CONFIG_USE_CAN is not set # CONFIG_USE_I2C is not set # CONFIG_USE_TIMER is not set +# CONFIG_USE_MIO is not set # CONFIG_USE_SDMMC is not set # CONFIG_USE_PCIE is not set # CONFIG_USE_WDT is not set @@ -119,10 +120,65 @@ CONFIG_OUTPUT_BINARY=y # # -# Freertos Drivers +# Freertos Uart Drivers # CONFIG_FREERTOS_USE_UART=y -# end of Freertos Drivers +# end of Freertos Uart Drivers + +# +# Freertos Pwm Drivers +# +# CONFIG_FREERTOS_USE_PWM is not set +# end of Freertos Pwm Drivers + +# +# Freertos Qspi Drivers +# +# CONFIG_FREERTOS_USE_QSPI is not set +# end of Freertos Qspi Drivers + +# +# Freertos Wdt Drivers +# +# CONFIG_FREERTOS_USE_WDT is not set +# end of Freertos Wdt Drivers + +# +# Freertos Eth Drivers +# +# CONFIG_FREERTOS_USE_XMAC is not set +# end of Freertos Eth Drivers + +# +# Freertos Gpio Drivers +# +# CONFIG_FREERTOS_USE_GPIO is not set +# end of Freertos Gpio Drivers + +# +# Freertos Spim Drivers +# +# CONFIG_FREERTOS_USE_FSPIM is not set +# end of Freertos Spim Drivers + +# +# Freertos DMA Drivers +# +# CONFIG_FREERTOS_USE_FDDMA is not set +# CONFIG_FREERTOS_USE_FGDMA is not set +# end of Freertos DMA Drivers + +# +# Freertos MMC Drivers +# +# CONFIG_FREERTOS_USE_FSDIO is not set +# end of Freertos MMC Drivers + +# +# Freertos Adc Drivers +# +# CONFIG_FREERTOS_USE_ADC is not set +# end of Freertos Adc Drivers # end of Component Configuration # @@ -130,6 +186,9 @@ CONFIG_FREERTOS_USE_UART=y # # CONFIG_USE_LWIP is not set CONFIG_USE_BACKTRACE=y +# CONFIG_USE_FATFS is not set +# CONFIG_USE_SFUD is not set +# CONFIG_USE_SPIFFS is not set # CONFIG_USE_AMP is not set CONFIG_USE_LETTER_SHELL=y @@ -141,4 +200,7 @@ CONFIG_DEFAULT_LETTER_SHELL_USE_UART1=y # CONFIG_DEFAULT_LETTER_SHELL_USE_UART0 is not set # CONFIG_DEFAULT_LETTER_SHELL_USE_UART2 is not set # end of Letter Shell Configuration + +# CONFIG_USE_TLSF is not set +# CONFIG_USE_SDMMC_CMD is not set # end of FreeRTOS Setting diff --git a/example/freertos_feature/eventgroup/configs/e2000q_aarch64_eg_configs b/example/freertos_feature/eventgroup/configs/e2000q_aarch64_eg_configs index 29e086c4..11138fc7 100644 --- a/example/freertos_feature/eventgroup/configs/e2000q_aarch64_eg_configs +++ b/example/freertos_feature/eventgroup/configs/e2000q_aarch64_eg_configs @@ -16,7 +16,6 @@ CONFIG_USE_FREERTOS=y # CONFIG_TARGET_ARMV8_AARCH32 is not set CONFIG_TARGET_ARMV8_AARCH64=y CONFIG_USE_CACHE=y -# CONFIG_USE_L3CACHE is not set CONFIG_USE_MMU=y CONFIG_USE_SYS_TICK=y # CONFIG_MMU_DEBUG_PRINTS is not set @@ -30,6 +29,7 @@ CONFIG_USE_SYS_TICK=y CONFIG_TARGET_E2000Q=y # CONFIG_TARGET_E2000D is not set # CONFIG_TARGET_E2000S is not set +CONFIG_TARGET_E2000=y CONFIG_DEFAULT_DEBUG_PRINT_UART1=y # CONFIG_DEFAULT_DEBUG_PRINT_UART0 is not set # CONFIG_DEFAULT_DEBUG_PRINT_UART2 is not set @@ -55,6 +55,7 @@ CONFIG_ENABLE_Pl011_UART=y # CONFIG_USE_CAN is not set # CONFIG_USE_I2C is not set # CONFIG_USE_TIMER is not set +# CONFIG_USE_MIO is not set # CONFIG_USE_SDMMC is not set # CONFIG_USE_PCIE is not set # CONFIG_USE_WDT is not set @@ -115,10 +116,65 @@ CONFIG_OUTPUT_BINARY=y # # -# Freertos Drivers +# Freertos Uart Drivers # CONFIG_FREERTOS_USE_UART=y -# end of Freertos Drivers +# end of Freertos Uart Drivers + +# +# Freertos Pwm Drivers +# +# CONFIG_FREERTOS_USE_PWM is not set +# end of Freertos Pwm Drivers + +# +# Freertos Qspi Drivers +# +# CONFIG_FREERTOS_USE_QSPI is not set +# end of Freertos Qspi Drivers + +# +# Freertos Wdt Drivers +# +# CONFIG_FREERTOS_USE_WDT is not set +# end of Freertos Wdt Drivers + +# +# Freertos Eth Drivers +# +# CONFIG_FREERTOS_USE_XMAC is not set +# end of Freertos Eth Drivers + +# +# Freertos Gpio Drivers +# +# CONFIG_FREERTOS_USE_GPIO is not set +# end of Freertos Gpio Drivers + +# +# Freertos Spim Drivers +# +# CONFIG_FREERTOS_USE_FSPIM is not set +# end of Freertos Spim Drivers + +# +# Freertos DMA Drivers +# +# CONFIG_FREERTOS_USE_FDDMA is not set +# CONFIG_FREERTOS_USE_FGDMA is not set +# end of Freertos DMA Drivers + +# +# Freertos MMC Drivers +# +# CONFIG_FREERTOS_USE_FSDIO is not set +# end of Freertos MMC Drivers + +# +# Freertos Adc Drivers +# +# CONFIG_FREERTOS_USE_ADC is not set +# end of Freertos Adc Drivers # end of Component Configuration # @@ -126,6 +182,9 @@ CONFIG_FREERTOS_USE_UART=y # # CONFIG_USE_LWIP is not set CONFIG_USE_BACKTRACE=y +# CONFIG_USE_FATFS is not set +# CONFIG_USE_SFUD is not set +# CONFIG_USE_SPIFFS is not set # CONFIG_USE_AMP is not set CONFIG_USE_LETTER_SHELL=y @@ -137,4 +196,7 @@ CONFIG_DEFAULT_LETTER_SHELL_USE_UART1=y # CONFIG_DEFAULT_LETTER_SHELL_USE_UART0 is not set # CONFIG_DEFAULT_LETTER_SHELL_USE_UART2 is not set # end of Letter Shell Configuration + +# CONFIG_USE_TLSF is not set +# CONFIG_USE_SDMMC_CMD is not set # end of FreeRTOS Setting diff --git a/example/freertos_feature/eventgroup/configs/ft2004_aarch32_eg_configs b/example/freertos_feature/eventgroup/configs/ft2004_aarch32_eg_configs index f474b23c..0138724f 100644 --- a/example/freertos_feature/eventgroup/configs/ft2004_aarch32_eg_configs +++ b/example/freertos_feature/eventgroup/configs/ft2004_aarch32_eg_configs @@ -173,6 +173,12 @@ CONFIG_FREERTOS_USE_UART=y # # CONFIG_FREERTOS_USE_FSDIO is not set # end of Freertos MMC Drivers + +# +# Freertos Adc Drivers +# +# CONFIG_FREERTOS_USE_ADC is not set +# end of Freertos Adc Drivers # end of Component Configuration # diff --git a/example/freertos_feature/eventgroup/configs/ft2004_aarch64_eg_configs b/example/freertos_feature/eventgroup/configs/ft2004_aarch64_eg_configs index 0da5a72d..c9c32f36 100644 --- a/example/freertos_feature/eventgroup/configs/ft2004_aarch64_eg_configs +++ b/example/freertos_feature/eventgroup/configs/ft2004_aarch64_eg_configs @@ -169,6 +169,12 @@ CONFIG_FREERTOS_USE_UART=y # # CONFIG_FREERTOS_USE_FSDIO is not set # end of Freertos MMC Drivers + +# +# Freertos Adc Drivers +# +# CONFIG_FREERTOS_USE_ADC is not set +# end of Freertos Adc Drivers # end of Component Configuration # diff --git a/example/freertos_feature/eventgroup/sdkconfig b/example/freertos_feature/eventgroup/sdkconfig index 0ffacca0..11138fc7 100644 --- a/example/freertos_feature/eventgroup/sdkconfig +++ b/example/freertos_feature/eventgroup/sdkconfig @@ -2,7 +2,7 @@ # # Freertos Configuration # -CONFIG_TARGET_NAME="e2000d_freertos_a64" +CONFIG_TARGET_NAME="e2000q_freertos_a64" # end of Freertos Configuration # @@ -17,7 +17,7 @@ CONFIG_USE_FREERTOS=y CONFIG_TARGET_ARMV8_AARCH64=y CONFIG_USE_CACHE=y CONFIG_USE_MMU=y -# CONFIG_USE_SYS_TICK is not set +CONFIG_USE_SYS_TICK=y # CONFIG_MMU_DEBUG_PRINTS is not set # end of Arch Configuration @@ -26,8 +26,8 @@ CONFIG_USE_MMU=y # # CONFIG_TARGET_F2000_4 is not set # CONFIG_TARGET_D2000 is not set -# CONFIG_TARGET_E2000Q is not set -CONFIG_TARGET_E2000D=y +CONFIG_TARGET_E2000Q=y +# CONFIG_TARGET_E2000D is not set # CONFIG_TARGET_E2000S is not set CONFIG_TARGET_E2000=y CONFIG_DEFAULT_DEBUG_PRINT_UART1=y @@ -77,9 +77,9 @@ CONFIG_USE_NEW_LIBC=y # # CONFIG_LOG_VERBOS is not set # CONFIG_LOG_DEBUG is not set -# CONFIG_LOG_INFO is not set +CONFIG_LOG_INFO=y # CONFIG_LOG_WARN is not set -CONFIG_LOG_ERROR=y +# CONFIG_LOG_ERROR is not set # CONFIG_LOG_NONE is not set CONFIG_USE_DEFAULT_INTERRUPT_CONFIG=y CONFIG_INTERRUPT_ROLE_MASTER=y @@ -95,7 +95,7 @@ CONFIG_AARCH64_RAM_LD=y # CONFIG_USER_DEFINED_LD is not set CONFIG_LINK_SCRIPT_ROM=y CONFIG_ROM_START_UP_ADDR=0x80100000 -CONFIG_ROM_SIZE_MB=2 +CONFIG_ROM_SIZE_MB=1 CONFIG_LINK_SCRIPT_RAM=y CONFIG_RAM_START_UP_ADDR=0x81000000 CONFIG_RAM_SIZE_MB=64 @@ -169,6 +169,12 @@ CONFIG_FREERTOS_USE_UART=y # # CONFIG_FREERTOS_USE_FSDIO is not set # end of Freertos MMC Drivers + +# +# Freertos Adc Drivers +# +# CONFIG_FREERTOS_USE_ADC is not set +# end of Freertos Adc Drivers # end of Component Configuration # @@ -191,6 +197,6 @@ CONFIG_DEFAULT_LETTER_SHELL_USE_UART1=y # CONFIG_DEFAULT_LETTER_SHELL_USE_UART2 is not set # end of Letter Shell Configuration -CONFIG_USE_TLSF=y +# CONFIG_USE_TLSF is not set # CONFIG_USE_SDMMC_CMD is not set # end of FreeRTOS Setting diff --git a/example/freertos_feature/eventgroup/sdkconfig.h b/example/freertos_feature/eventgroup/sdkconfig.h index 8295a2af..070be669 100644 --- a/example/freertos_feature/eventgroup/sdkconfig.h +++ b/example/freertos_feature/eventgroup/sdkconfig.h @@ -3,7 +3,7 @@ /* Freertos Configuration */ -#define CONFIG_TARGET_NAME "e2000d_freertos_a64" +#define CONFIG_TARGET_NAME "e2000q_freertos_a64" /* end of Freertos Configuration */ /* Standalone Setting */ @@ -16,7 +16,7 @@ #define CONFIG_TARGET_ARMV8_AARCH64 #define CONFIG_USE_CACHE #define CONFIG_USE_MMU -/* CONFIG_USE_SYS_TICK is not set */ +#define CONFIG_USE_SYS_TICK /* CONFIG_MMU_DEBUG_PRINTS is not set */ /* end of Arch Configuration */ @@ -24,8 +24,8 @@ /* CONFIG_TARGET_F2000_4 is not set */ /* CONFIG_TARGET_D2000 is not set */ -/* CONFIG_TARGET_E2000Q is not set */ -#define CONFIG_TARGET_E2000D +#define CONFIG_TARGET_E2000Q +/* CONFIG_TARGET_E2000D is not set */ /* CONFIG_TARGET_E2000S is not set */ #define CONFIG_TARGET_E2000 #define CONFIG_DEFAULT_DEBUG_PRINT_UART1 @@ -70,9 +70,9 @@ /* CONFIG_LOG_VERBOS is not set */ /* CONFIG_LOG_DEBUG is not set */ -/* CONFIG_LOG_INFO is not set */ +#define CONFIG_LOG_INFO /* CONFIG_LOG_WARN is not set */ -#define CONFIG_LOG_ERROR +/* CONFIG_LOG_ERROR is not set */ /* CONFIG_LOG_NONE is not set */ #define CONFIG_USE_DEFAULT_INTERRUPT_CONFIG #define CONFIG_INTERRUPT_ROLE_MASTER @@ -87,7 +87,7 @@ /* CONFIG_USER_DEFINED_LD is not set */ #define CONFIG_LINK_SCRIPT_ROM #define CONFIG_ROM_START_UP_ADDR 0x80100000 -#define CONFIG_ROM_SIZE_MB 2 +#define CONFIG_ROM_SIZE_MB 1 #define CONFIG_LINK_SCRIPT_RAM #define CONFIG_RAM_START_UP_ADDR 0x81000000 #define CONFIG_RAM_SIZE_MB 64 @@ -149,6 +149,11 @@ /* CONFIG_FREERTOS_USE_FSDIO is not set */ /* end of Freertos MMC Drivers */ + +/* Freertos Adc Drivers */ + +/* CONFIG_FREERTOS_USE_ADC is not set */ +/* end of Freertos Adc Drivers */ /* end of Component Configuration */ /* FreeRTOS Setting */ @@ -168,7 +173,7 @@ /* CONFIG_DEFAULT_LETTER_SHELL_USE_UART0 is not set */ /* CONFIG_DEFAULT_LETTER_SHELL_USE_UART2 is not set */ /* end of Letter Shell Configuration */ -#define CONFIG_USE_TLSF +/* CONFIG_USE_TLSF is not set */ /* CONFIG_USE_SDMMC_CMD is not set */ /* end of FreeRTOS Setting */ diff --git a/example/freertos_feature/interrupt/configs/d2000_aarch32_eg_configs b/example/freertos_feature/interrupt/configs/d2000_aarch32_eg_configs index 733560a0..88242621 100644 --- a/example/freertos_feature/interrupt/configs/d2000_aarch32_eg_configs +++ b/example/freertos_feature/interrupt/configs/d2000_aarch32_eg_configs @@ -173,6 +173,12 @@ CONFIG_FREERTOS_USE_UART=y # # CONFIG_FREERTOS_USE_FSDIO is not set # end of Freertos MMC Drivers + +# +# Freertos Adc Drivers +# +# CONFIG_FREERTOS_USE_ADC is not set +# end of Freertos Adc Drivers # end of Component Configuration # diff --git a/example/freertos_feature/interrupt/configs/d2000_aarch64_eg_configs b/example/freertos_feature/interrupt/configs/d2000_aarch64_eg_configs index 7b253320..f7da4f7e 100644 --- a/example/freertos_feature/interrupt/configs/d2000_aarch64_eg_configs +++ b/example/freertos_feature/interrupt/configs/d2000_aarch64_eg_configs @@ -169,6 +169,12 @@ CONFIG_FREERTOS_USE_UART=y # # CONFIG_FREERTOS_USE_FSDIO is not set # end of Freertos MMC Drivers + +# +# Freertos Adc Drivers +# +# CONFIG_FREERTOS_USE_ADC is not set +# end of Freertos Adc Drivers # end of Component Configuration # diff --git a/example/freertos_feature/interrupt/configs/e2000d_aarch32_eg_configs b/example/freertos_feature/interrupt/configs/e2000d_aarch32_eg_configs index 3fcb7a6c..1e787231 100644 --- a/example/freertos_feature/interrupt/configs/e2000d_aarch32_eg_configs +++ b/example/freertos_feature/interrupt/configs/e2000d_aarch32_eg_configs @@ -173,6 +173,12 @@ CONFIG_FREERTOS_USE_UART=y # # CONFIG_FREERTOS_USE_FSDIO is not set # end of Freertos MMC Drivers + +# +# Freertos Adc Drivers +# +# CONFIG_FREERTOS_USE_ADC is not set +# end of Freertos Adc Drivers # end of Component Configuration # diff --git a/example/freertos_feature/interrupt/configs/e2000d_aarch64_eg_configs b/example/freertos_feature/interrupt/configs/e2000d_aarch64_eg_configs index 0ffacca0..e1b4974a 100644 --- a/example/freertos_feature/interrupt/configs/e2000d_aarch64_eg_configs +++ b/example/freertos_feature/interrupt/configs/e2000d_aarch64_eg_configs @@ -169,6 +169,12 @@ CONFIG_FREERTOS_USE_UART=y # # CONFIG_FREERTOS_USE_FSDIO is not set # end of Freertos MMC Drivers + +# +# Freertos Adc Drivers +# +# CONFIG_FREERTOS_USE_ADC is not set +# end of Freertos Adc Drivers # end of Component Configuration # diff --git a/example/freertos_feature/interrupt/configs/e2000q_aarch32_eg_configs b/example/freertos_feature/interrupt/configs/e2000q_aarch32_eg_configs index 57f7c8aa..8e8a511b 100644 --- a/example/freertos_feature/interrupt/configs/e2000q_aarch32_eg_configs +++ b/example/freertos_feature/interrupt/configs/e2000q_aarch32_eg_configs @@ -16,7 +16,6 @@ CONFIG_USE_FREERTOS=y CONFIG_TARGET_ARMV8_AARCH32=y # CONFIG_TARGET_ARMV8_AARCH64 is not set CONFIG_USE_CACHE=y -# CONFIG_USE_L3CACHE is not set CONFIG_USE_MMU=y CONFIG_USE_SYS_TICK=y CONFIG_USE_AARCH64_L1_TO_AARCH32=y @@ -30,6 +29,7 @@ CONFIG_USE_AARCH64_L1_TO_AARCH32=y CONFIG_TARGET_E2000Q=y # CONFIG_TARGET_E2000D is not set # CONFIG_TARGET_E2000S is not set +CONFIG_TARGET_E2000=y CONFIG_DEFAULT_DEBUG_PRINT_UART1=y # CONFIG_DEFAULT_DEBUG_PRINT_UART0 is not set # CONFIG_DEFAULT_DEBUG_PRINT_UART2 is not set @@ -55,6 +55,7 @@ CONFIG_ENABLE_Pl011_UART=y # CONFIG_USE_CAN is not set # CONFIG_USE_I2C is not set # CONFIG_USE_TIMER is not set +# CONFIG_USE_MIO is not set # CONFIG_USE_SDMMC is not set # CONFIG_USE_PCIE is not set # CONFIG_USE_WDT is not set @@ -119,10 +120,65 @@ CONFIG_OUTPUT_BINARY=y # # -# Freertos Drivers +# Freertos Uart Drivers # CONFIG_FREERTOS_USE_UART=y -# end of Freertos Drivers +# end of Freertos Uart Drivers + +# +# Freertos Pwm Drivers +# +# CONFIG_FREERTOS_USE_PWM is not set +# end of Freertos Pwm Drivers + +# +# Freertos Qspi Drivers +# +# CONFIG_FREERTOS_USE_QSPI is not set +# end of Freertos Qspi Drivers + +# +# Freertos Wdt Drivers +# +# CONFIG_FREERTOS_USE_WDT is not set +# end of Freertos Wdt Drivers + +# +# Freertos Eth Drivers +# +# CONFIG_FREERTOS_USE_XMAC is not set +# end of Freertos Eth Drivers + +# +# Freertos Gpio Drivers +# +# CONFIG_FREERTOS_USE_GPIO is not set +# end of Freertos Gpio Drivers + +# +# Freertos Spim Drivers +# +# CONFIG_FREERTOS_USE_FSPIM is not set +# end of Freertos Spim Drivers + +# +# Freertos DMA Drivers +# +# CONFIG_FREERTOS_USE_FDDMA is not set +# CONFIG_FREERTOS_USE_FGDMA is not set +# end of Freertos DMA Drivers + +# +# Freertos MMC Drivers +# +# CONFIG_FREERTOS_USE_FSDIO is not set +# end of Freertos MMC Drivers + +# +# Freertos Adc Drivers +# +# CONFIG_FREERTOS_USE_ADC is not set +# end of Freertos Adc Drivers # end of Component Configuration # @@ -130,6 +186,9 @@ CONFIG_FREERTOS_USE_UART=y # # CONFIG_USE_LWIP is not set CONFIG_USE_BACKTRACE=y +# CONFIG_USE_FATFS is not set +# CONFIG_USE_SFUD is not set +# CONFIG_USE_SPIFFS is not set # CONFIG_USE_AMP is not set CONFIG_USE_LETTER_SHELL=y @@ -141,4 +200,7 @@ CONFIG_DEFAULT_LETTER_SHELL_USE_UART1=y # CONFIG_DEFAULT_LETTER_SHELL_USE_UART0 is not set # CONFIG_DEFAULT_LETTER_SHELL_USE_UART2 is not set # end of Letter Shell Configuration + +# CONFIG_USE_TLSF is not set +# CONFIG_USE_SDMMC_CMD is not set # end of FreeRTOS Setting diff --git a/example/freertos_feature/interrupt/configs/e2000q_aarch64_eg_configs b/example/freertos_feature/interrupt/configs/e2000q_aarch64_eg_configs index 29e086c4..11138fc7 100644 --- a/example/freertos_feature/interrupt/configs/e2000q_aarch64_eg_configs +++ b/example/freertos_feature/interrupt/configs/e2000q_aarch64_eg_configs @@ -16,7 +16,6 @@ CONFIG_USE_FREERTOS=y # CONFIG_TARGET_ARMV8_AARCH32 is not set CONFIG_TARGET_ARMV8_AARCH64=y CONFIG_USE_CACHE=y -# CONFIG_USE_L3CACHE is not set CONFIG_USE_MMU=y CONFIG_USE_SYS_TICK=y # CONFIG_MMU_DEBUG_PRINTS is not set @@ -30,6 +29,7 @@ CONFIG_USE_SYS_TICK=y CONFIG_TARGET_E2000Q=y # CONFIG_TARGET_E2000D is not set # CONFIG_TARGET_E2000S is not set +CONFIG_TARGET_E2000=y CONFIG_DEFAULT_DEBUG_PRINT_UART1=y # CONFIG_DEFAULT_DEBUG_PRINT_UART0 is not set # CONFIG_DEFAULT_DEBUG_PRINT_UART2 is not set @@ -55,6 +55,7 @@ CONFIG_ENABLE_Pl011_UART=y # CONFIG_USE_CAN is not set # CONFIG_USE_I2C is not set # CONFIG_USE_TIMER is not set +# CONFIG_USE_MIO is not set # CONFIG_USE_SDMMC is not set # CONFIG_USE_PCIE is not set # CONFIG_USE_WDT is not set @@ -115,10 +116,65 @@ CONFIG_OUTPUT_BINARY=y # # -# Freertos Drivers +# Freertos Uart Drivers # CONFIG_FREERTOS_USE_UART=y -# end of Freertos Drivers +# end of Freertos Uart Drivers + +# +# Freertos Pwm Drivers +# +# CONFIG_FREERTOS_USE_PWM is not set +# end of Freertos Pwm Drivers + +# +# Freertos Qspi Drivers +# +# CONFIG_FREERTOS_USE_QSPI is not set +# end of Freertos Qspi Drivers + +# +# Freertos Wdt Drivers +# +# CONFIG_FREERTOS_USE_WDT is not set +# end of Freertos Wdt Drivers + +# +# Freertos Eth Drivers +# +# CONFIG_FREERTOS_USE_XMAC is not set +# end of Freertos Eth Drivers + +# +# Freertos Gpio Drivers +# +# CONFIG_FREERTOS_USE_GPIO is not set +# end of Freertos Gpio Drivers + +# +# Freertos Spim Drivers +# +# CONFIG_FREERTOS_USE_FSPIM is not set +# end of Freertos Spim Drivers + +# +# Freertos DMA Drivers +# +# CONFIG_FREERTOS_USE_FDDMA is not set +# CONFIG_FREERTOS_USE_FGDMA is not set +# end of Freertos DMA Drivers + +# +# Freertos MMC Drivers +# +# CONFIG_FREERTOS_USE_FSDIO is not set +# end of Freertos MMC Drivers + +# +# Freertos Adc Drivers +# +# CONFIG_FREERTOS_USE_ADC is not set +# end of Freertos Adc Drivers # end of Component Configuration # @@ -126,6 +182,9 @@ CONFIG_FREERTOS_USE_UART=y # # CONFIG_USE_LWIP is not set CONFIG_USE_BACKTRACE=y +# CONFIG_USE_FATFS is not set +# CONFIG_USE_SFUD is not set +# CONFIG_USE_SPIFFS is not set # CONFIG_USE_AMP is not set CONFIG_USE_LETTER_SHELL=y @@ -137,4 +196,7 @@ CONFIG_DEFAULT_LETTER_SHELL_USE_UART1=y # CONFIG_DEFAULT_LETTER_SHELL_USE_UART0 is not set # CONFIG_DEFAULT_LETTER_SHELL_USE_UART2 is not set # end of Letter Shell Configuration + +# CONFIG_USE_TLSF is not set +# CONFIG_USE_SDMMC_CMD is not set # end of FreeRTOS Setting diff --git a/example/freertos_feature/interrupt/configs/ft2004_aarch32_eg_configs b/example/freertos_feature/interrupt/configs/ft2004_aarch32_eg_configs index f474b23c..0138724f 100644 --- a/example/freertos_feature/interrupt/configs/ft2004_aarch32_eg_configs +++ b/example/freertos_feature/interrupt/configs/ft2004_aarch32_eg_configs @@ -173,6 +173,12 @@ CONFIG_FREERTOS_USE_UART=y # # CONFIG_FREERTOS_USE_FSDIO is not set # end of Freertos MMC Drivers + +# +# Freertos Adc Drivers +# +# CONFIG_FREERTOS_USE_ADC is not set +# end of Freertos Adc Drivers # end of Component Configuration # diff --git a/example/freertos_feature/interrupt/configs/ft2004_aarch64_eg_configs b/example/freertos_feature/interrupt/configs/ft2004_aarch64_eg_configs index 0da5a72d..c9c32f36 100644 --- a/example/freertos_feature/interrupt/configs/ft2004_aarch64_eg_configs +++ b/example/freertos_feature/interrupt/configs/ft2004_aarch64_eg_configs @@ -169,6 +169,12 @@ CONFIG_FREERTOS_USE_UART=y # # CONFIG_FREERTOS_USE_FSDIO is not set # end of Freertos MMC Drivers + +# +# Freertos Adc Drivers +# +# CONFIG_FREERTOS_USE_ADC is not set +# end of Freertos Adc Drivers # end of Component Configuration # diff --git a/example/freertos_feature/interrupt/sdkconfig b/example/freertos_feature/interrupt/sdkconfig index 0ffacca0..11138fc7 100644 --- a/example/freertos_feature/interrupt/sdkconfig +++ b/example/freertos_feature/interrupt/sdkconfig @@ -2,7 +2,7 @@ # # Freertos Configuration # -CONFIG_TARGET_NAME="e2000d_freertos_a64" +CONFIG_TARGET_NAME="e2000q_freertos_a64" # end of Freertos Configuration # @@ -17,7 +17,7 @@ CONFIG_USE_FREERTOS=y CONFIG_TARGET_ARMV8_AARCH64=y CONFIG_USE_CACHE=y CONFIG_USE_MMU=y -# CONFIG_USE_SYS_TICK is not set +CONFIG_USE_SYS_TICK=y # CONFIG_MMU_DEBUG_PRINTS is not set # end of Arch Configuration @@ -26,8 +26,8 @@ CONFIG_USE_MMU=y # # CONFIG_TARGET_F2000_4 is not set # CONFIG_TARGET_D2000 is not set -# CONFIG_TARGET_E2000Q is not set -CONFIG_TARGET_E2000D=y +CONFIG_TARGET_E2000Q=y +# CONFIG_TARGET_E2000D is not set # CONFIG_TARGET_E2000S is not set CONFIG_TARGET_E2000=y CONFIG_DEFAULT_DEBUG_PRINT_UART1=y @@ -77,9 +77,9 @@ CONFIG_USE_NEW_LIBC=y # # CONFIG_LOG_VERBOS is not set # CONFIG_LOG_DEBUG is not set -# CONFIG_LOG_INFO is not set +CONFIG_LOG_INFO=y # CONFIG_LOG_WARN is not set -CONFIG_LOG_ERROR=y +# CONFIG_LOG_ERROR is not set # CONFIG_LOG_NONE is not set CONFIG_USE_DEFAULT_INTERRUPT_CONFIG=y CONFIG_INTERRUPT_ROLE_MASTER=y @@ -95,7 +95,7 @@ CONFIG_AARCH64_RAM_LD=y # CONFIG_USER_DEFINED_LD is not set CONFIG_LINK_SCRIPT_ROM=y CONFIG_ROM_START_UP_ADDR=0x80100000 -CONFIG_ROM_SIZE_MB=2 +CONFIG_ROM_SIZE_MB=1 CONFIG_LINK_SCRIPT_RAM=y CONFIG_RAM_START_UP_ADDR=0x81000000 CONFIG_RAM_SIZE_MB=64 @@ -169,6 +169,12 @@ CONFIG_FREERTOS_USE_UART=y # # CONFIG_FREERTOS_USE_FSDIO is not set # end of Freertos MMC Drivers + +# +# Freertos Adc Drivers +# +# CONFIG_FREERTOS_USE_ADC is not set +# end of Freertos Adc Drivers # end of Component Configuration # @@ -191,6 +197,6 @@ CONFIG_DEFAULT_LETTER_SHELL_USE_UART1=y # CONFIG_DEFAULT_LETTER_SHELL_USE_UART2 is not set # end of Letter Shell Configuration -CONFIG_USE_TLSF=y +# CONFIG_USE_TLSF is not set # CONFIG_USE_SDMMC_CMD is not set # end of FreeRTOS Setting diff --git a/example/freertos_feature/interrupt/sdkconfig.h b/example/freertos_feature/interrupt/sdkconfig.h index 8295a2af..070be669 100644 --- a/example/freertos_feature/interrupt/sdkconfig.h +++ b/example/freertos_feature/interrupt/sdkconfig.h @@ -3,7 +3,7 @@ /* Freertos Configuration */ -#define CONFIG_TARGET_NAME "e2000d_freertos_a64" +#define CONFIG_TARGET_NAME "e2000q_freertos_a64" /* end of Freertos Configuration */ /* Standalone Setting */ @@ -16,7 +16,7 @@ #define CONFIG_TARGET_ARMV8_AARCH64 #define CONFIG_USE_CACHE #define CONFIG_USE_MMU -/* CONFIG_USE_SYS_TICK is not set */ +#define CONFIG_USE_SYS_TICK /* CONFIG_MMU_DEBUG_PRINTS is not set */ /* end of Arch Configuration */ @@ -24,8 +24,8 @@ /* CONFIG_TARGET_F2000_4 is not set */ /* CONFIG_TARGET_D2000 is not set */ -/* CONFIG_TARGET_E2000Q is not set */ -#define CONFIG_TARGET_E2000D +#define CONFIG_TARGET_E2000Q +/* CONFIG_TARGET_E2000D is not set */ /* CONFIG_TARGET_E2000S is not set */ #define CONFIG_TARGET_E2000 #define CONFIG_DEFAULT_DEBUG_PRINT_UART1 @@ -70,9 +70,9 @@ /* CONFIG_LOG_VERBOS is not set */ /* CONFIG_LOG_DEBUG is not set */ -/* CONFIG_LOG_INFO is not set */ +#define CONFIG_LOG_INFO /* CONFIG_LOG_WARN is not set */ -#define CONFIG_LOG_ERROR +/* CONFIG_LOG_ERROR is not set */ /* CONFIG_LOG_NONE is not set */ #define CONFIG_USE_DEFAULT_INTERRUPT_CONFIG #define CONFIG_INTERRUPT_ROLE_MASTER @@ -87,7 +87,7 @@ /* CONFIG_USER_DEFINED_LD is not set */ #define CONFIG_LINK_SCRIPT_ROM #define CONFIG_ROM_START_UP_ADDR 0x80100000 -#define CONFIG_ROM_SIZE_MB 2 +#define CONFIG_ROM_SIZE_MB 1 #define CONFIG_LINK_SCRIPT_RAM #define CONFIG_RAM_START_UP_ADDR 0x81000000 #define CONFIG_RAM_SIZE_MB 64 @@ -149,6 +149,11 @@ /* CONFIG_FREERTOS_USE_FSDIO is not set */ /* end of Freertos MMC Drivers */ + +/* Freertos Adc Drivers */ + +/* CONFIG_FREERTOS_USE_ADC is not set */ +/* end of Freertos Adc Drivers */ /* end of Component Configuration */ /* FreeRTOS Setting */ @@ -168,7 +173,7 @@ /* CONFIG_DEFAULT_LETTER_SHELL_USE_UART0 is not set */ /* CONFIG_DEFAULT_LETTER_SHELL_USE_UART2 is not set */ /* end of Letter Shell Configuration */ -#define CONFIG_USE_TLSF +/* CONFIG_USE_TLSF is not set */ /* CONFIG_USE_SDMMC_CMD is not set */ /* end of FreeRTOS Setting */ diff --git a/example/freertos_feature/queue/configs/d2000_aarch32_eg_configs b/example/freertos_feature/queue/configs/d2000_aarch32_eg_configs index 733560a0..88242621 100644 --- a/example/freertos_feature/queue/configs/d2000_aarch32_eg_configs +++ b/example/freertos_feature/queue/configs/d2000_aarch32_eg_configs @@ -173,6 +173,12 @@ CONFIG_FREERTOS_USE_UART=y # # CONFIG_FREERTOS_USE_FSDIO is not set # end of Freertos MMC Drivers + +# +# Freertos Adc Drivers +# +# CONFIG_FREERTOS_USE_ADC is not set +# end of Freertos Adc Drivers # end of Component Configuration # diff --git a/example/freertos_feature/queue/configs/d2000_aarch64_eg_configs b/example/freertos_feature/queue/configs/d2000_aarch64_eg_configs index 7b253320..f7da4f7e 100644 --- a/example/freertos_feature/queue/configs/d2000_aarch64_eg_configs +++ b/example/freertos_feature/queue/configs/d2000_aarch64_eg_configs @@ -169,6 +169,12 @@ CONFIG_FREERTOS_USE_UART=y # # CONFIG_FREERTOS_USE_FSDIO is not set # end of Freertos MMC Drivers + +# +# Freertos Adc Drivers +# +# CONFIG_FREERTOS_USE_ADC is not set +# end of Freertos Adc Drivers # end of Component Configuration # diff --git a/example/freertos_feature/queue/configs/e2000d_aarch32_eg_configs b/example/freertos_feature/queue/configs/e2000d_aarch32_eg_configs index 3fcb7a6c..1e787231 100644 --- a/example/freertos_feature/queue/configs/e2000d_aarch32_eg_configs +++ b/example/freertos_feature/queue/configs/e2000d_aarch32_eg_configs @@ -173,6 +173,12 @@ CONFIG_FREERTOS_USE_UART=y # # CONFIG_FREERTOS_USE_FSDIO is not set # end of Freertos MMC Drivers + +# +# Freertos Adc Drivers +# +# CONFIG_FREERTOS_USE_ADC is not set +# end of Freertos Adc Drivers # end of Component Configuration # diff --git a/example/freertos_feature/queue/configs/e2000d_aarch64_eg_configs b/example/freertos_feature/queue/configs/e2000d_aarch64_eg_configs index 0ffacca0..e1b4974a 100644 --- a/example/freertos_feature/queue/configs/e2000d_aarch64_eg_configs +++ b/example/freertos_feature/queue/configs/e2000d_aarch64_eg_configs @@ -169,6 +169,12 @@ CONFIG_FREERTOS_USE_UART=y # # CONFIG_FREERTOS_USE_FSDIO is not set # end of Freertos MMC Drivers + +# +# Freertos Adc Drivers +# +# CONFIG_FREERTOS_USE_ADC is not set +# end of Freertos Adc Drivers # end of Component Configuration # diff --git a/example/freertos_feature/queue/configs/e2000q_aarch32_eg_configs b/example/freertos_feature/queue/configs/e2000q_aarch32_eg_configs index 57f7c8aa..8e8a511b 100644 --- a/example/freertos_feature/queue/configs/e2000q_aarch32_eg_configs +++ b/example/freertos_feature/queue/configs/e2000q_aarch32_eg_configs @@ -16,7 +16,6 @@ CONFIG_USE_FREERTOS=y CONFIG_TARGET_ARMV8_AARCH32=y # CONFIG_TARGET_ARMV8_AARCH64 is not set CONFIG_USE_CACHE=y -# CONFIG_USE_L3CACHE is not set CONFIG_USE_MMU=y CONFIG_USE_SYS_TICK=y CONFIG_USE_AARCH64_L1_TO_AARCH32=y @@ -30,6 +29,7 @@ CONFIG_USE_AARCH64_L1_TO_AARCH32=y CONFIG_TARGET_E2000Q=y # CONFIG_TARGET_E2000D is not set # CONFIG_TARGET_E2000S is not set +CONFIG_TARGET_E2000=y CONFIG_DEFAULT_DEBUG_PRINT_UART1=y # CONFIG_DEFAULT_DEBUG_PRINT_UART0 is not set # CONFIG_DEFAULT_DEBUG_PRINT_UART2 is not set @@ -55,6 +55,7 @@ CONFIG_ENABLE_Pl011_UART=y # CONFIG_USE_CAN is not set # CONFIG_USE_I2C is not set # CONFIG_USE_TIMER is not set +# CONFIG_USE_MIO is not set # CONFIG_USE_SDMMC is not set # CONFIG_USE_PCIE is not set # CONFIG_USE_WDT is not set @@ -119,10 +120,65 @@ CONFIG_OUTPUT_BINARY=y # # -# Freertos Drivers +# Freertos Uart Drivers # CONFIG_FREERTOS_USE_UART=y -# end of Freertos Drivers +# end of Freertos Uart Drivers + +# +# Freertos Pwm Drivers +# +# CONFIG_FREERTOS_USE_PWM is not set +# end of Freertos Pwm Drivers + +# +# Freertos Qspi Drivers +# +# CONFIG_FREERTOS_USE_QSPI is not set +# end of Freertos Qspi Drivers + +# +# Freertos Wdt Drivers +# +# CONFIG_FREERTOS_USE_WDT is not set +# end of Freertos Wdt Drivers + +# +# Freertos Eth Drivers +# +# CONFIG_FREERTOS_USE_XMAC is not set +# end of Freertos Eth Drivers + +# +# Freertos Gpio Drivers +# +# CONFIG_FREERTOS_USE_GPIO is not set +# end of Freertos Gpio Drivers + +# +# Freertos Spim Drivers +# +# CONFIG_FREERTOS_USE_FSPIM is not set +# end of Freertos Spim Drivers + +# +# Freertos DMA Drivers +# +# CONFIG_FREERTOS_USE_FDDMA is not set +# CONFIG_FREERTOS_USE_FGDMA is not set +# end of Freertos DMA Drivers + +# +# Freertos MMC Drivers +# +# CONFIG_FREERTOS_USE_FSDIO is not set +# end of Freertos MMC Drivers + +# +# Freertos Adc Drivers +# +# CONFIG_FREERTOS_USE_ADC is not set +# end of Freertos Adc Drivers # end of Component Configuration # @@ -130,6 +186,9 @@ CONFIG_FREERTOS_USE_UART=y # # CONFIG_USE_LWIP is not set CONFIG_USE_BACKTRACE=y +# CONFIG_USE_FATFS is not set +# CONFIG_USE_SFUD is not set +# CONFIG_USE_SPIFFS is not set # CONFIG_USE_AMP is not set CONFIG_USE_LETTER_SHELL=y @@ -141,4 +200,7 @@ CONFIG_DEFAULT_LETTER_SHELL_USE_UART1=y # CONFIG_DEFAULT_LETTER_SHELL_USE_UART0 is not set # CONFIG_DEFAULT_LETTER_SHELL_USE_UART2 is not set # end of Letter Shell Configuration + +# CONFIG_USE_TLSF is not set +# CONFIG_USE_SDMMC_CMD is not set # end of FreeRTOS Setting diff --git a/example/freertos_feature/queue/configs/e2000q_aarch64_eg_configs b/example/freertos_feature/queue/configs/e2000q_aarch64_eg_configs index 29e086c4..11138fc7 100644 --- a/example/freertos_feature/queue/configs/e2000q_aarch64_eg_configs +++ b/example/freertos_feature/queue/configs/e2000q_aarch64_eg_configs @@ -16,7 +16,6 @@ CONFIG_USE_FREERTOS=y # CONFIG_TARGET_ARMV8_AARCH32 is not set CONFIG_TARGET_ARMV8_AARCH64=y CONFIG_USE_CACHE=y -# CONFIG_USE_L3CACHE is not set CONFIG_USE_MMU=y CONFIG_USE_SYS_TICK=y # CONFIG_MMU_DEBUG_PRINTS is not set @@ -30,6 +29,7 @@ CONFIG_USE_SYS_TICK=y CONFIG_TARGET_E2000Q=y # CONFIG_TARGET_E2000D is not set # CONFIG_TARGET_E2000S is not set +CONFIG_TARGET_E2000=y CONFIG_DEFAULT_DEBUG_PRINT_UART1=y # CONFIG_DEFAULT_DEBUG_PRINT_UART0 is not set # CONFIG_DEFAULT_DEBUG_PRINT_UART2 is not set @@ -55,6 +55,7 @@ CONFIG_ENABLE_Pl011_UART=y # CONFIG_USE_CAN is not set # CONFIG_USE_I2C is not set # CONFIG_USE_TIMER is not set +# CONFIG_USE_MIO is not set # CONFIG_USE_SDMMC is not set # CONFIG_USE_PCIE is not set # CONFIG_USE_WDT is not set @@ -115,10 +116,65 @@ CONFIG_OUTPUT_BINARY=y # # -# Freertos Drivers +# Freertos Uart Drivers # CONFIG_FREERTOS_USE_UART=y -# end of Freertos Drivers +# end of Freertos Uart Drivers + +# +# Freertos Pwm Drivers +# +# CONFIG_FREERTOS_USE_PWM is not set +# end of Freertos Pwm Drivers + +# +# Freertos Qspi Drivers +# +# CONFIG_FREERTOS_USE_QSPI is not set +# end of Freertos Qspi Drivers + +# +# Freertos Wdt Drivers +# +# CONFIG_FREERTOS_USE_WDT is not set +# end of Freertos Wdt Drivers + +# +# Freertos Eth Drivers +# +# CONFIG_FREERTOS_USE_XMAC is not set +# end of Freertos Eth Drivers + +# +# Freertos Gpio Drivers +# +# CONFIG_FREERTOS_USE_GPIO is not set +# end of Freertos Gpio Drivers + +# +# Freertos Spim Drivers +# +# CONFIG_FREERTOS_USE_FSPIM is not set +# end of Freertos Spim Drivers + +# +# Freertos DMA Drivers +# +# CONFIG_FREERTOS_USE_FDDMA is not set +# CONFIG_FREERTOS_USE_FGDMA is not set +# end of Freertos DMA Drivers + +# +# Freertos MMC Drivers +# +# CONFIG_FREERTOS_USE_FSDIO is not set +# end of Freertos MMC Drivers + +# +# Freertos Adc Drivers +# +# CONFIG_FREERTOS_USE_ADC is not set +# end of Freertos Adc Drivers # end of Component Configuration # @@ -126,6 +182,9 @@ CONFIG_FREERTOS_USE_UART=y # # CONFIG_USE_LWIP is not set CONFIG_USE_BACKTRACE=y +# CONFIG_USE_FATFS is not set +# CONFIG_USE_SFUD is not set +# CONFIG_USE_SPIFFS is not set # CONFIG_USE_AMP is not set CONFIG_USE_LETTER_SHELL=y @@ -137,4 +196,7 @@ CONFIG_DEFAULT_LETTER_SHELL_USE_UART1=y # CONFIG_DEFAULT_LETTER_SHELL_USE_UART0 is not set # CONFIG_DEFAULT_LETTER_SHELL_USE_UART2 is not set # end of Letter Shell Configuration + +# CONFIG_USE_TLSF is not set +# CONFIG_USE_SDMMC_CMD is not set # end of FreeRTOS Setting diff --git a/example/freertos_feature/queue/configs/ft2004_aarch32_eg_configs b/example/freertos_feature/queue/configs/ft2004_aarch32_eg_configs index f474b23c..0138724f 100644 --- a/example/freertos_feature/queue/configs/ft2004_aarch32_eg_configs +++ b/example/freertos_feature/queue/configs/ft2004_aarch32_eg_configs @@ -173,6 +173,12 @@ CONFIG_FREERTOS_USE_UART=y # # CONFIG_FREERTOS_USE_FSDIO is not set # end of Freertos MMC Drivers + +# +# Freertos Adc Drivers +# +# CONFIG_FREERTOS_USE_ADC is not set +# end of Freertos Adc Drivers # end of Component Configuration # diff --git a/example/freertos_feature/queue/configs/ft2004_aarch64_eg_configs b/example/freertos_feature/queue/configs/ft2004_aarch64_eg_configs index 0da5a72d..c9c32f36 100644 --- a/example/freertos_feature/queue/configs/ft2004_aarch64_eg_configs +++ b/example/freertos_feature/queue/configs/ft2004_aarch64_eg_configs @@ -169,6 +169,12 @@ CONFIG_FREERTOS_USE_UART=y # # CONFIG_FREERTOS_USE_FSDIO is not set # end of Freertos MMC Drivers + +# +# Freertos Adc Drivers +# +# CONFIG_FREERTOS_USE_ADC is not set +# end of Freertos Adc Drivers # end of Component Configuration # diff --git a/example/freertos_feature/queue/sdkconfig b/example/freertos_feature/queue/sdkconfig index 0ffacca0..11138fc7 100644 --- a/example/freertos_feature/queue/sdkconfig +++ b/example/freertos_feature/queue/sdkconfig @@ -2,7 +2,7 @@ # # Freertos Configuration # -CONFIG_TARGET_NAME="e2000d_freertos_a64" +CONFIG_TARGET_NAME="e2000q_freertos_a64" # end of Freertos Configuration # @@ -17,7 +17,7 @@ CONFIG_USE_FREERTOS=y CONFIG_TARGET_ARMV8_AARCH64=y CONFIG_USE_CACHE=y CONFIG_USE_MMU=y -# CONFIG_USE_SYS_TICK is not set +CONFIG_USE_SYS_TICK=y # CONFIG_MMU_DEBUG_PRINTS is not set # end of Arch Configuration @@ -26,8 +26,8 @@ CONFIG_USE_MMU=y # # CONFIG_TARGET_F2000_4 is not set # CONFIG_TARGET_D2000 is not set -# CONFIG_TARGET_E2000Q is not set -CONFIG_TARGET_E2000D=y +CONFIG_TARGET_E2000Q=y +# CONFIG_TARGET_E2000D is not set # CONFIG_TARGET_E2000S is not set CONFIG_TARGET_E2000=y CONFIG_DEFAULT_DEBUG_PRINT_UART1=y @@ -77,9 +77,9 @@ CONFIG_USE_NEW_LIBC=y # # CONFIG_LOG_VERBOS is not set # CONFIG_LOG_DEBUG is not set -# CONFIG_LOG_INFO is not set +CONFIG_LOG_INFO=y # CONFIG_LOG_WARN is not set -CONFIG_LOG_ERROR=y +# CONFIG_LOG_ERROR is not set # CONFIG_LOG_NONE is not set CONFIG_USE_DEFAULT_INTERRUPT_CONFIG=y CONFIG_INTERRUPT_ROLE_MASTER=y @@ -95,7 +95,7 @@ CONFIG_AARCH64_RAM_LD=y # CONFIG_USER_DEFINED_LD is not set CONFIG_LINK_SCRIPT_ROM=y CONFIG_ROM_START_UP_ADDR=0x80100000 -CONFIG_ROM_SIZE_MB=2 +CONFIG_ROM_SIZE_MB=1 CONFIG_LINK_SCRIPT_RAM=y CONFIG_RAM_START_UP_ADDR=0x81000000 CONFIG_RAM_SIZE_MB=64 @@ -169,6 +169,12 @@ CONFIG_FREERTOS_USE_UART=y # # CONFIG_FREERTOS_USE_FSDIO is not set # end of Freertos MMC Drivers + +# +# Freertos Adc Drivers +# +# CONFIG_FREERTOS_USE_ADC is not set +# end of Freertos Adc Drivers # end of Component Configuration # @@ -191,6 +197,6 @@ CONFIG_DEFAULT_LETTER_SHELL_USE_UART1=y # CONFIG_DEFAULT_LETTER_SHELL_USE_UART2 is not set # end of Letter Shell Configuration -CONFIG_USE_TLSF=y +# CONFIG_USE_TLSF is not set # CONFIG_USE_SDMMC_CMD is not set # end of FreeRTOS Setting diff --git a/example/freertos_feature/queue/sdkconfig.h b/example/freertos_feature/queue/sdkconfig.h index 8295a2af..070be669 100644 --- a/example/freertos_feature/queue/sdkconfig.h +++ b/example/freertos_feature/queue/sdkconfig.h @@ -3,7 +3,7 @@ /* Freertos Configuration */ -#define CONFIG_TARGET_NAME "e2000d_freertos_a64" +#define CONFIG_TARGET_NAME "e2000q_freertos_a64" /* end of Freertos Configuration */ /* Standalone Setting */ @@ -16,7 +16,7 @@ #define CONFIG_TARGET_ARMV8_AARCH64 #define CONFIG_USE_CACHE #define CONFIG_USE_MMU -/* CONFIG_USE_SYS_TICK is not set */ +#define CONFIG_USE_SYS_TICK /* CONFIG_MMU_DEBUG_PRINTS is not set */ /* end of Arch Configuration */ @@ -24,8 +24,8 @@ /* CONFIG_TARGET_F2000_4 is not set */ /* CONFIG_TARGET_D2000 is not set */ -/* CONFIG_TARGET_E2000Q is not set */ -#define CONFIG_TARGET_E2000D +#define CONFIG_TARGET_E2000Q +/* CONFIG_TARGET_E2000D is not set */ /* CONFIG_TARGET_E2000S is not set */ #define CONFIG_TARGET_E2000 #define CONFIG_DEFAULT_DEBUG_PRINT_UART1 @@ -70,9 +70,9 @@ /* CONFIG_LOG_VERBOS is not set */ /* CONFIG_LOG_DEBUG is not set */ -/* CONFIG_LOG_INFO is not set */ +#define CONFIG_LOG_INFO /* CONFIG_LOG_WARN is not set */ -#define CONFIG_LOG_ERROR +/* CONFIG_LOG_ERROR is not set */ /* CONFIG_LOG_NONE is not set */ #define CONFIG_USE_DEFAULT_INTERRUPT_CONFIG #define CONFIG_INTERRUPT_ROLE_MASTER @@ -87,7 +87,7 @@ /* CONFIG_USER_DEFINED_LD is not set */ #define CONFIG_LINK_SCRIPT_ROM #define CONFIG_ROM_START_UP_ADDR 0x80100000 -#define CONFIG_ROM_SIZE_MB 2 +#define CONFIG_ROM_SIZE_MB 1 #define CONFIG_LINK_SCRIPT_RAM #define CONFIG_RAM_START_UP_ADDR 0x81000000 #define CONFIG_RAM_SIZE_MB 64 @@ -149,6 +149,11 @@ /* CONFIG_FREERTOS_USE_FSDIO is not set */ /* end of Freertos MMC Drivers */ + +/* Freertos Adc Drivers */ + +/* CONFIG_FREERTOS_USE_ADC is not set */ +/* end of Freertos Adc Drivers */ /* end of Component Configuration */ /* FreeRTOS Setting */ @@ -168,7 +173,7 @@ /* CONFIG_DEFAULT_LETTER_SHELL_USE_UART0 is not set */ /* CONFIG_DEFAULT_LETTER_SHELL_USE_UART2 is not set */ /* end of Letter Shell Configuration */ -#define CONFIG_USE_TLSF +/* CONFIG_USE_TLSF is not set */ /* CONFIG_USE_SDMMC_CMD is not set */ /* end of FreeRTOS Setting */ diff --git a/example/freertos_feature/resource/configs/d2000_aarch32_eg_configs b/example/freertos_feature/resource/configs/d2000_aarch32_eg_configs index 733560a0..88242621 100644 --- a/example/freertos_feature/resource/configs/d2000_aarch32_eg_configs +++ b/example/freertos_feature/resource/configs/d2000_aarch32_eg_configs @@ -173,6 +173,12 @@ CONFIG_FREERTOS_USE_UART=y # # CONFIG_FREERTOS_USE_FSDIO is not set # end of Freertos MMC Drivers + +# +# Freertos Adc Drivers +# +# CONFIG_FREERTOS_USE_ADC is not set +# end of Freertos Adc Drivers # end of Component Configuration # diff --git a/example/freertos_feature/resource/configs/d2000_aarch64_eg_configs b/example/freertos_feature/resource/configs/d2000_aarch64_eg_configs index 7b253320..f7da4f7e 100644 --- a/example/freertos_feature/resource/configs/d2000_aarch64_eg_configs +++ b/example/freertos_feature/resource/configs/d2000_aarch64_eg_configs @@ -169,6 +169,12 @@ CONFIG_FREERTOS_USE_UART=y # # CONFIG_FREERTOS_USE_FSDIO is not set # end of Freertos MMC Drivers + +# +# Freertos Adc Drivers +# +# CONFIG_FREERTOS_USE_ADC is not set +# end of Freertos Adc Drivers # end of Component Configuration # diff --git a/example/freertos_feature/resource/configs/e2000d_aarch32_eg_configs b/example/freertos_feature/resource/configs/e2000d_aarch32_eg_configs index 3fcb7a6c..1e787231 100644 --- a/example/freertos_feature/resource/configs/e2000d_aarch32_eg_configs +++ b/example/freertos_feature/resource/configs/e2000d_aarch32_eg_configs @@ -173,6 +173,12 @@ CONFIG_FREERTOS_USE_UART=y # # CONFIG_FREERTOS_USE_FSDIO is not set # end of Freertos MMC Drivers + +# +# Freertos Adc Drivers +# +# CONFIG_FREERTOS_USE_ADC is not set +# end of Freertos Adc Drivers # end of Component Configuration # diff --git a/example/freertos_feature/resource/configs/e2000d_aarch64_eg_configs b/example/freertos_feature/resource/configs/e2000d_aarch64_eg_configs index 0ffacca0..e1b4974a 100644 --- a/example/freertos_feature/resource/configs/e2000d_aarch64_eg_configs +++ b/example/freertos_feature/resource/configs/e2000d_aarch64_eg_configs @@ -169,6 +169,12 @@ CONFIG_FREERTOS_USE_UART=y # # CONFIG_FREERTOS_USE_FSDIO is not set # end of Freertos MMC Drivers + +# +# Freertos Adc Drivers +# +# CONFIG_FREERTOS_USE_ADC is not set +# end of Freertos Adc Drivers # end of Component Configuration # diff --git a/example/freertos_feature/resource/configs/e2000q_aarch32_eg_configs b/example/freertos_feature/resource/configs/e2000q_aarch32_eg_configs index 57f7c8aa..8e8a511b 100644 --- a/example/freertos_feature/resource/configs/e2000q_aarch32_eg_configs +++ b/example/freertos_feature/resource/configs/e2000q_aarch32_eg_configs @@ -16,7 +16,6 @@ CONFIG_USE_FREERTOS=y CONFIG_TARGET_ARMV8_AARCH32=y # CONFIG_TARGET_ARMV8_AARCH64 is not set CONFIG_USE_CACHE=y -# CONFIG_USE_L3CACHE is not set CONFIG_USE_MMU=y CONFIG_USE_SYS_TICK=y CONFIG_USE_AARCH64_L1_TO_AARCH32=y @@ -30,6 +29,7 @@ CONFIG_USE_AARCH64_L1_TO_AARCH32=y CONFIG_TARGET_E2000Q=y # CONFIG_TARGET_E2000D is not set # CONFIG_TARGET_E2000S is not set +CONFIG_TARGET_E2000=y CONFIG_DEFAULT_DEBUG_PRINT_UART1=y # CONFIG_DEFAULT_DEBUG_PRINT_UART0 is not set # CONFIG_DEFAULT_DEBUG_PRINT_UART2 is not set @@ -55,6 +55,7 @@ CONFIG_ENABLE_Pl011_UART=y # CONFIG_USE_CAN is not set # CONFIG_USE_I2C is not set # CONFIG_USE_TIMER is not set +# CONFIG_USE_MIO is not set # CONFIG_USE_SDMMC is not set # CONFIG_USE_PCIE is not set # CONFIG_USE_WDT is not set @@ -119,10 +120,65 @@ CONFIG_OUTPUT_BINARY=y # # -# Freertos Drivers +# Freertos Uart Drivers # CONFIG_FREERTOS_USE_UART=y -# end of Freertos Drivers +# end of Freertos Uart Drivers + +# +# Freertos Pwm Drivers +# +# CONFIG_FREERTOS_USE_PWM is not set +# end of Freertos Pwm Drivers + +# +# Freertos Qspi Drivers +# +# CONFIG_FREERTOS_USE_QSPI is not set +# end of Freertos Qspi Drivers + +# +# Freertos Wdt Drivers +# +# CONFIG_FREERTOS_USE_WDT is not set +# end of Freertos Wdt Drivers + +# +# Freertos Eth Drivers +# +# CONFIG_FREERTOS_USE_XMAC is not set +# end of Freertos Eth Drivers + +# +# Freertos Gpio Drivers +# +# CONFIG_FREERTOS_USE_GPIO is not set +# end of Freertos Gpio Drivers + +# +# Freertos Spim Drivers +# +# CONFIG_FREERTOS_USE_FSPIM is not set +# end of Freertos Spim Drivers + +# +# Freertos DMA Drivers +# +# CONFIG_FREERTOS_USE_FDDMA is not set +# CONFIG_FREERTOS_USE_FGDMA is not set +# end of Freertos DMA Drivers + +# +# Freertos MMC Drivers +# +# CONFIG_FREERTOS_USE_FSDIO is not set +# end of Freertos MMC Drivers + +# +# Freertos Adc Drivers +# +# CONFIG_FREERTOS_USE_ADC is not set +# end of Freertos Adc Drivers # end of Component Configuration # @@ -130,6 +186,9 @@ CONFIG_FREERTOS_USE_UART=y # # CONFIG_USE_LWIP is not set CONFIG_USE_BACKTRACE=y +# CONFIG_USE_FATFS is not set +# CONFIG_USE_SFUD is not set +# CONFIG_USE_SPIFFS is not set # CONFIG_USE_AMP is not set CONFIG_USE_LETTER_SHELL=y @@ -141,4 +200,7 @@ CONFIG_DEFAULT_LETTER_SHELL_USE_UART1=y # CONFIG_DEFAULT_LETTER_SHELL_USE_UART0 is not set # CONFIG_DEFAULT_LETTER_SHELL_USE_UART2 is not set # end of Letter Shell Configuration + +# CONFIG_USE_TLSF is not set +# CONFIG_USE_SDMMC_CMD is not set # end of FreeRTOS Setting diff --git a/example/freertos_feature/resource/configs/e2000q_aarch64_eg_configs b/example/freertos_feature/resource/configs/e2000q_aarch64_eg_configs index 29e086c4..11138fc7 100644 --- a/example/freertos_feature/resource/configs/e2000q_aarch64_eg_configs +++ b/example/freertos_feature/resource/configs/e2000q_aarch64_eg_configs @@ -16,7 +16,6 @@ CONFIG_USE_FREERTOS=y # CONFIG_TARGET_ARMV8_AARCH32 is not set CONFIG_TARGET_ARMV8_AARCH64=y CONFIG_USE_CACHE=y -# CONFIG_USE_L3CACHE is not set CONFIG_USE_MMU=y CONFIG_USE_SYS_TICK=y # CONFIG_MMU_DEBUG_PRINTS is not set @@ -30,6 +29,7 @@ CONFIG_USE_SYS_TICK=y CONFIG_TARGET_E2000Q=y # CONFIG_TARGET_E2000D is not set # CONFIG_TARGET_E2000S is not set +CONFIG_TARGET_E2000=y CONFIG_DEFAULT_DEBUG_PRINT_UART1=y # CONFIG_DEFAULT_DEBUG_PRINT_UART0 is not set # CONFIG_DEFAULT_DEBUG_PRINT_UART2 is not set @@ -55,6 +55,7 @@ CONFIG_ENABLE_Pl011_UART=y # CONFIG_USE_CAN is not set # CONFIG_USE_I2C is not set # CONFIG_USE_TIMER is not set +# CONFIG_USE_MIO is not set # CONFIG_USE_SDMMC is not set # CONFIG_USE_PCIE is not set # CONFIG_USE_WDT is not set @@ -115,10 +116,65 @@ CONFIG_OUTPUT_BINARY=y # # -# Freertos Drivers +# Freertos Uart Drivers # CONFIG_FREERTOS_USE_UART=y -# end of Freertos Drivers +# end of Freertos Uart Drivers + +# +# Freertos Pwm Drivers +# +# CONFIG_FREERTOS_USE_PWM is not set +# end of Freertos Pwm Drivers + +# +# Freertos Qspi Drivers +# +# CONFIG_FREERTOS_USE_QSPI is not set +# end of Freertos Qspi Drivers + +# +# Freertos Wdt Drivers +# +# CONFIG_FREERTOS_USE_WDT is not set +# end of Freertos Wdt Drivers + +# +# Freertos Eth Drivers +# +# CONFIG_FREERTOS_USE_XMAC is not set +# end of Freertos Eth Drivers + +# +# Freertos Gpio Drivers +# +# CONFIG_FREERTOS_USE_GPIO is not set +# end of Freertos Gpio Drivers + +# +# Freertos Spim Drivers +# +# CONFIG_FREERTOS_USE_FSPIM is not set +# end of Freertos Spim Drivers + +# +# Freertos DMA Drivers +# +# CONFIG_FREERTOS_USE_FDDMA is not set +# CONFIG_FREERTOS_USE_FGDMA is not set +# end of Freertos DMA Drivers + +# +# Freertos MMC Drivers +# +# CONFIG_FREERTOS_USE_FSDIO is not set +# end of Freertos MMC Drivers + +# +# Freertos Adc Drivers +# +# CONFIG_FREERTOS_USE_ADC is not set +# end of Freertos Adc Drivers # end of Component Configuration # @@ -126,6 +182,9 @@ CONFIG_FREERTOS_USE_UART=y # # CONFIG_USE_LWIP is not set CONFIG_USE_BACKTRACE=y +# CONFIG_USE_FATFS is not set +# CONFIG_USE_SFUD is not set +# CONFIG_USE_SPIFFS is not set # CONFIG_USE_AMP is not set CONFIG_USE_LETTER_SHELL=y @@ -137,4 +196,7 @@ CONFIG_DEFAULT_LETTER_SHELL_USE_UART1=y # CONFIG_DEFAULT_LETTER_SHELL_USE_UART0 is not set # CONFIG_DEFAULT_LETTER_SHELL_USE_UART2 is not set # end of Letter Shell Configuration + +# CONFIG_USE_TLSF is not set +# CONFIG_USE_SDMMC_CMD is not set # end of FreeRTOS Setting diff --git a/example/freertos_feature/resource/configs/ft2004_aarch32_eg_configs b/example/freertos_feature/resource/configs/ft2004_aarch32_eg_configs index f474b23c..0138724f 100644 --- a/example/freertos_feature/resource/configs/ft2004_aarch32_eg_configs +++ b/example/freertos_feature/resource/configs/ft2004_aarch32_eg_configs @@ -173,6 +173,12 @@ CONFIG_FREERTOS_USE_UART=y # # CONFIG_FREERTOS_USE_FSDIO is not set # end of Freertos MMC Drivers + +# +# Freertos Adc Drivers +# +# CONFIG_FREERTOS_USE_ADC is not set +# end of Freertos Adc Drivers # end of Component Configuration # diff --git a/example/freertos_feature/resource/configs/ft2004_aarch64_eg_configs b/example/freertos_feature/resource/configs/ft2004_aarch64_eg_configs index 0da5a72d..c9c32f36 100644 --- a/example/freertos_feature/resource/configs/ft2004_aarch64_eg_configs +++ b/example/freertos_feature/resource/configs/ft2004_aarch64_eg_configs @@ -169,6 +169,12 @@ CONFIG_FREERTOS_USE_UART=y # # CONFIG_FREERTOS_USE_FSDIO is not set # end of Freertos MMC Drivers + +# +# Freertos Adc Drivers +# +# CONFIG_FREERTOS_USE_ADC is not set +# end of Freertos Adc Drivers # end of Component Configuration # diff --git a/example/freertos_feature/resource/sdkconfig b/example/freertos_feature/resource/sdkconfig index 0ffacca0..11138fc7 100644 --- a/example/freertos_feature/resource/sdkconfig +++ b/example/freertos_feature/resource/sdkconfig @@ -2,7 +2,7 @@ # # Freertos Configuration # -CONFIG_TARGET_NAME="e2000d_freertos_a64" +CONFIG_TARGET_NAME="e2000q_freertos_a64" # end of Freertos Configuration # @@ -17,7 +17,7 @@ CONFIG_USE_FREERTOS=y CONFIG_TARGET_ARMV8_AARCH64=y CONFIG_USE_CACHE=y CONFIG_USE_MMU=y -# CONFIG_USE_SYS_TICK is not set +CONFIG_USE_SYS_TICK=y # CONFIG_MMU_DEBUG_PRINTS is not set # end of Arch Configuration @@ -26,8 +26,8 @@ CONFIG_USE_MMU=y # # CONFIG_TARGET_F2000_4 is not set # CONFIG_TARGET_D2000 is not set -# CONFIG_TARGET_E2000Q is not set -CONFIG_TARGET_E2000D=y +CONFIG_TARGET_E2000Q=y +# CONFIG_TARGET_E2000D is not set # CONFIG_TARGET_E2000S is not set CONFIG_TARGET_E2000=y CONFIG_DEFAULT_DEBUG_PRINT_UART1=y @@ -77,9 +77,9 @@ CONFIG_USE_NEW_LIBC=y # # CONFIG_LOG_VERBOS is not set # CONFIG_LOG_DEBUG is not set -# CONFIG_LOG_INFO is not set +CONFIG_LOG_INFO=y # CONFIG_LOG_WARN is not set -CONFIG_LOG_ERROR=y +# CONFIG_LOG_ERROR is not set # CONFIG_LOG_NONE is not set CONFIG_USE_DEFAULT_INTERRUPT_CONFIG=y CONFIG_INTERRUPT_ROLE_MASTER=y @@ -95,7 +95,7 @@ CONFIG_AARCH64_RAM_LD=y # CONFIG_USER_DEFINED_LD is not set CONFIG_LINK_SCRIPT_ROM=y CONFIG_ROM_START_UP_ADDR=0x80100000 -CONFIG_ROM_SIZE_MB=2 +CONFIG_ROM_SIZE_MB=1 CONFIG_LINK_SCRIPT_RAM=y CONFIG_RAM_START_UP_ADDR=0x81000000 CONFIG_RAM_SIZE_MB=64 @@ -169,6 +169,12 @@ CONFIG_FREERTOS_USE_UART=y # # CONFIG_FREERTOS_USE_FSDIO is not set # end of Freertos MMC Drivers + +# +# Freertos Adc Drivers +# +# CONFIG_FREERTOS_USE_ADC is not set +# end of Freertos Adc Drivers # end of Component Configuration # @@ -191,6 +197,6 @@ CONFIG_DEFAULT_LETTER_SHELL_USE_UART1=y # CONFIG_DEFAULT_LETTER_SHELL_USE_UART2 is not set # end of Letter Shell Configuration -CONFIG_USE_TLSF=y +# CONFIG_USE_TLSF is not set # CONFIG_USE_SDMMC_CMD is not set # end of FreeRTOS Setting diff --git a/example/freertos_feature/resource/sdkconfig.h b/example/freertos_feature/resource/sdkconfig.h index 8295a2af..070be669 100644 --- a/example/freertos_feature/resource/sdkconfig.h +++ b/example/freertos_feature/resource/sdkconfig.h @@ -3,7 +3,7 @@ /* Freertos Configuration */ -#define CONFIG_TARGET_NAME "e2000d_freertos_a64" +#define CONFIG_TARGET_NAME "e2000q_freertos_a64" /* end of Freertos Configuration */ /* Standalone Setting */ @@ -16,7 +16,7 @@ #define CONFIG_TARGET_ARMV8_AARCH64 #define CONFIG_USE_CACHE #define CONFIG_USE_MMU -/* CONFIG_USE_SYS_TICK is not set */ +#define CONFIG_USE_SYS_TICK /* CONFIG_MMU_DEBUG_PRINTS is not set */ /* end of Arch Configuration */ @@ -24,8 +24,8 @@ /* CONFIG_TARGET_F2000_4 is not set */ /* CONFIG_TARGET_D2000 is not set */ -/* CONFIG_TARGET_E2000Q is not set */ -#define CONFIG_TARGET_E2000D +#define CONFIG_TARGET_E2000Q +/* CONFIG_TARGET_E2000D is not set */ /* CONFIG_TARGET_E2000S is not set */ #define CONFIG_TARGET_E2000 #define CONFIG_DEFAULT_DEBUG_PRINT_UART1 @@ -70,9 +70,9 @@ /* CONFIG_LOG_VERBOS is not set */ /* CONFIG_LOG_DEBUG is not set */ -/* CONFIG_LOG_INFO is not set */ +#define CONFIG_LOG_INFO /* CONFIG_LOG_WARN is not set */ -#define CONFIG_LOG_ERROR +/* CONFIG_LOG_ERROR is not set */ /* CONFIG_LOG_NONE is not set */ #define CONFIG_USE_DEFAULT_INTERRUPT_CONFIG #define CONFIG_INTERRUPT_ROLE_MASTER @@ -87,7 +87,7 @@ /* CONFIG_USER_DEFINED_LD is not set */ #define CONFIG_LINK_SCRIPT_ROM #define CONFIG_ROM_START_UP_ADDR 0x80100000 -#define CONFIG_ROM_SIZE_MB 2 +#define CONFIG_ROM_SIZE_MB 1 #define CONFIG_LINK_SCRIPT_RAM #define CONFIG_RAM_START_UP_ADDR 0x81000000 #define CONFIG_RAM_SIZE_MB 64 @@ -149,6 +149,11 @@ /* CONFIG_FREERTOS_USE_FSDIO is not set */ /* end of Freertos MMC Drivers */ + +/* Freertos Adc Drivers */ + +/* CONFIG_FREERTOS_USE_ADC is not set */ +/* end of Freertos Adc Drivers */ /* end of Component Configuration */ /* FreeRTOS Setting */ @@ -168,7 +173,7 @@ /* CONFIG_DEFAULT_LETTER_SHELL_USE_UART0 is not set */ /* CONFIG_DEFAULT_LETTER_SHELL_USE_UART2 is not set */ /* end of Letter Shell Configuration */ -#define CONFIG_USE_TLSF +/* CONFIG_USE_TLSF is not set */ /* CONFIG_USE_SDMMC_CMD is not set */ /* end of FreeRTOS Setting */ diff --git a/example/freertos_feature/software_timer/configs/d2000_aarch32_eg_configs b/example/freertos_feature/software_timer/configs/d2000_aarch32_eg_configs index 733560a0..88242621 100644 --- a/example/freertos_feature/software_timer/configs/d2000_aarch32_eg_configs +++ b/example/freertos_feature/software_timer/configs/d2000_aarch32_eg_configs @@ -173,6 +173,12 @@ CONFIG_FREERTOS_USE_UART=y # # CONFIG_FREERTOS_USE_FSDIO is not set # end of Freertos MMC Drivers + +# +# Freertos Adc Drivers +# +# CONFIG_FREERTOS_USE_ADC is not set +# end of Freertos Adc Drivers # end of Component Configuration # diff --git a/example/freertos_feature/software_timer/configs/d2000_aarch64_eg_configs b/example/freertos_feature/software_timer/configs/d2000_aarch64_eg_configs index 7b253320..f7da4f7e 100644 --- a/example/freertos_feature/software_timer/configs/d2000_aarch64_eg_configs +++ b/example/freertos_feature/software_timer/configs/d2000_aarch64_eg_configs @@ -169,6 +169,12 @@ CONFIG_FREERTOS_USE_UART=y # # CONFIG_FREERTOS_USE_FSDIO is not set # end of Freertos MMC Drivers + +# +# Freertos Adc Drivers +# +# CONFIG_FREERTOS_USE_ADC is not set +# end of Freertos Adc Drivers # end of Component Configuration # diff --git a/example/freertos_feature/software_timer/configs/e2000d_aarch32_eg_configs b/example/freertos_feature/software_timer/configs/e2000d_aarch32_eg_configs index 3fcb7a6c..1e787231 100644 --- a/example/freertos_feature/software_timer/configs/e2000d_aarch32_eg_configs +++ b/example/freertos_feature/software_timer/configs/e2000d_aarch32_eg_configs @@ -173,6 +173,12 @@ CONFIG_FREERTOS_USE_UART=y # # CONFIG_FREERTOS_USE_FSDIO is not set # end of Freertos MMC Drivers + +# +# Freertos Adc Drivers +# +# CONFIG_FREERTOS_USE_ADC is not set +# end of Freertos Adc Drivers # end of Component Configuration # diff --git a/example/freertos_feature/software_timer/configs/e2000d_aarch64_eg_configs b/example/freertos_feature/software_timer/configs/e2000d_aarch64_eg_configs index 0ffacca0..e1b4974a 100644 --- a/example/freertos_feature/software_timer/configs/e2000d_aarch64_eg_configs +++ b/example/freertos_feature/software_timer/configs/e2000d_aarch64_eg_configs @@ -169,6 +169,12 @@ CONFIG_FREERTOS_USE_UART=y # # CONFIG_FREERTOS_USE_FSDIO is not set # end of Freertos MMC Drivers + +# +# Freertos Adc Drivers +# +# CONFIG_FREERTOS_USE_ADC is not set +# end of Freertos Adc Drivers # end of Component Configuration # diff --git a/example/freertos_feature/software_timer/configs/e2000q_aarch32_eg_configs b/example/freertos_feature/software_timer/configs/e2000q_aarch32_eg_configs index 57f7c8aa..8e8a511b 100644 --- a/example/freertos_feature/software_timer/configs/e2000q_aarch32_eg_configs +++ b/example/freertos_feature/software_timer/configs/e2000q_aarch32_eg_configs @@ -16,7 +16,6 @@ CONFIG_USE_FREERTOS=y CONFIG_TARGET_ARMV8_AARCH32=y # CONFIG_TARGET_ARMV8_AARCH64 is not set CONFIG_USE_CACHE=y -# CONFIG_USE_L3CACHE is not set CONFIG_USE_MMU=y CONFIG_USE_SYS_TICK=y CONFIG_USE_AARCH64_L1_TO_AARCH32=y @@ -30,6 +29,7 @@ CONFIG_USE_AARCH64_L1_TO_AARCH32=y CONFIG_TARGET_E2000Q=y # CONFIG_TARGET_E2000D is not set # CONFIG_TARGET_E2000S is not set +CONFIG_TARGET_E2000=y CONFIG_DEFAULT_DEBUG_PRINT_UART1=y # CONFIG_DEFAULT_DEBUG_PRINT_UART0 is not set # CONFIG_DEFAULT_DEBUG_PRINT_UART2 is not set @@ -55,6 +55,7 @@ CONFIG_ENABLE_Pl011_UART=y # CONFIG_USE_CAN is not set # CONFIG_USE_I2C is not set # CONFIG_USE_TIMER is not set +# CONFIG_USE_MIO is not set # CONFIG_USE_SDMMC is not set # CONFIG_USE_PCIE is not set # CONFIG_USE_WDT is not set @@ -119,10 +120,65 @@ CONFIG_OUTPUT_BINARY=y # # -# Freertos Drivers +# Freertos Uart Drivers # CONFIG_FREERTOS_USE_UART=y -# end of Freertos Drivers +# end of Freertos Uart Drivers + +# +# Freertos Pwm Drivers +# +# CONFIG_FREERTOS_USE_PWM is not set +# end of Freertos Pwm Drivers + +# +# Freertos Qspi Drivers +# +# CONFIG_FREERTOS_USE_QSPI is not set +# end of Freertos Qspi Drivers + +# +# Freertos Wdt Drivers +# +# CONFIG_FREERTOS_USE_WDT is not set +# end of Freertos Wdt Drivers + +# +# Freertos Eth Drivers +# +# CONFIG_FREERTOS_USE_XMAC is not set +# end of Freertos Eth Drivers + +# +# Freertos Gpio Drivers +# +# CONFIG_FREERTOS_USE_GPIO is not set +# end of Freertos Gpio Drivers + +# +# Freertos Spim Drivers +# +# CONFIG_FREERTOS_USE_FSPIM is not set +# end of Freertos Spim Drivers + +# +# Freertos DMA Drivers +# +# CONFIG_FREERTOS_USE_FDDMA is not set +# CONFIG_FREERTOS_USE_FGDMA is not set +# end of Freertos DMA Drivers + +# +# Freertos MMC Drivers +# +# CONFIG_FREERTOS_USE_FSDIO is not set +# end of Freertos MMC Drivers + +# +# Freertos Adc Drivers +# +# CONFIG_FREERTOS_USE_ADC is not set +# end of Freertos Adc Drivers # end of Component Configuration # @@ -130,6 +186,9 @@ CONFIG_FREERTOS_USE_UART=y # # CONFIG_USE_LWIP is not set CONFIG_USE_BACKTRACE=y +# CONFIG_USE_FATFS is not set +# CONFIG_USE_SFUD is not set +# CONFIG_USE_SPIFFS is not set # CONFIG_USE_AMP is not set CONFIG_USE_LETTER_SHELL=y @@ -141,4 +200,7 @@ CONFIG_DEFAULT_LETTER_SHELL_USE_UART1=y # CONFIG_DEFAULT_LETTER_SHELL_USE_UART0 is not set # CONFIG_DEFAULT_LETTER_SHELL_USE_UART2 is not set # end of Letter Shell Configuration + +# CONFIG_USE_TLSF is not set +# CONFIG_USE_SDMMC_CMD is not set # end of FreeRTOS Setting diff --git a/example/freertos_feature/software_timer/configs/e2000q_aarch64_eg_configs b/example/freertos_feature/software_timer/configs/e2000q_aarch64_eg_configs index 29e086c4..11138fc7 100644 --- a/example/freertos_feature/software_timer/configs/e2000q_aarch64_eg_configs +++ b/example/freertos_feature/software_timer/configs/e2000q_aarch64_eg_configs @@ -16,7 +16,6 @@ CONFIG_USE_FREERTOS=y # CONFIG_TARGET_ARMV8_AARCH32 is not set CONFIG_TARGET_ARMV8_AARCH64=y CONFIG_USE_CACHE=y -# CONFIG_USE_L3CACHE is not set CONFIG_USE_MMU=y CONFIG_USE_SYS_TICK=y # CONFIG_MMU_DEBUG_PRINTS is not set @@ -30,6 +29,7 @@ CONFIG_USE_SYS_TICK=y CONFIG_TARGET_E2000Q=y # CONFIG_TARGET_E2000D is not set # CONFIG_TARGET_E2000S is not set +CONFIG_TARGET_E2000=y CONFIG_DEFAULT_DEBUG_PRINT_UART1=y # CONFIG_DEFAULT_DEBUG_PRINT_UART0 is not set # CONFIG_DEFAULT_DEBUG_PRINT_UART2 is not set @@ -55,6 +55,7 @@ CONFIG_ENABLE_Pl011_UART=y # CONFIG_USE_CAN is not set # CONFIG_USE_I2C is not set # CONFIG_USE_TIMER is not set +# CONFIG_USE_MIO is not set # CONFIG_USE_SDMMC is not set # CONFIG_USE_PCIE is not set # CONFIG_USE_WDT is not set @@ -115,10 +116,65 @@ CONFIG_OUTPUT_BINARY=y # # -# Freertos Drivers +# Freertos Uart Drivers # CONFIG_FREERTOS_USE_UART=y -# end of Freertos Drivers +# end of Freertos Uart Drivers + +# +# Freertos Pwm Drivers +# +# CONFIG_FREERTOS_USE_PWM is not set +# end of Freertos Pwm Drivers + +# +# Freertos Qspi Drivers +# +# CONFIG_FREERTOS_USE_QSPI is not set +# end of Freertos Qspi Drivers + +# +# Freertos Wdt Drivers +# +# CONFIG_FREERTOS_USE_WDT is not set +# end of Freertos Wdt Drivers + +# +# Freertos Eth Drivers +# +# CONFIG_FREERTOS_USE_XMAC is not set +# end of Freertos Eth Drivers + +# +# Freertos Gpio Drivers +# +# CONFIG_FREERTOS_USE_GPIO is not set +# end of Freertos Gpio Drivers + +# +# Freertos Spim Drivers +# +# CONFIG_FREERTOS_USE_FSPIM is not set +# end of Freertos Spim Drivers + +# +# Freertos DMA Drivers +# +# CONFIG_FREERTOS_USE_FDDMA is not set +# CONFIG_FREERTOS_USE_FGDMA is not set +# end of Freertos DMA Drivers + +# +# Freertos MMC Drivers +# +# CONFIG_FREERTOS_USE_FSDIO is not set +# end of Freertos MMC Drivers + +# +# Freertos Adc Drivers +# +# CONFIG_FREERTOS_USE_ADC is not set +# end of Freertos Adc Drivers # end of Component Configuration # @@ -126,6 +182,9 @@ CONFIG_FREERTOS_USE_UART=y # # CONFIG_USE_LWIP is not set CONFIG_USE_BACKTRACE=y +# CONFIG_USE_FATFS is not set +# CONFIG_USE_SFUD is not set +# CONFIG_USE_SPIFFS is not set # CONFIG_USE_AMP is not set CONFIG_USE_LETTER_SHELL=y @@ -137,4 +196,7 @@ CONFIG_DEFAULT_LETTER_SHELL_USE_UART1=y # CONFIG_DEFAULT_LETTER_SHELL_USE_UART0 is not set # CONFIG_DEFAULT_LETTER_SHELL_USE_UART2 is not set # end of Letter Shell Configuration + +# CONFIG_USE_TLSF is not set +# CONFIG_USE_SDMMC_CMD is not set # end of FreeRTOS Setting diff --git a/example/freertos_feature/software_timer/configs/ft2004_aarch32_eg_configs b/example/freertos_feature/software_timer/configs/ft2004_aarch32_eg_configs index f474b23c..0138724f 100644 --- a/example/freertos_feature/software_timer/configs/ft2004_aarch32_eg_configs +++ b/example/freertos_feature/software_timer/configs/ft2004_aarch32_eg_configs @@ -173,6 +173,12 @@ CONFIG_FREERTOS_USE_UART=y # # CONFIG_FREERTOS_USE_FSDIO is not set # end of Freertos MMC Drivers + +# +# Freertos Adc Drivers +# +# CONFIG_FREERTOS_USE_ADC is not set +# end of Freertos Adc Drivers # end of Component Configuration # diff --git a/example/freertos_feature/software_timer/configs/ft2004_aarch64_eg_configs b/example/freertos_feature/software_timer/configs/ft2004_aarch64_eg_configs index 0da5a72d..c9c32f36 100644 --- a/example/freertos_feature/software_timer/configs/ft2004_aarch64_eg_configs +++ b/example/freertos_feature/software_timer/configs/ft2004_aarch64_eg_configs @@ -169,6 +169,12 @@ CONFIG_FREERTOS_USE_UART=y # # CONFIG_FREERTOS_USE_FSDIO is not set # end of Freertos MMC Drivers + +# +# Freertos Adc Drivers +# +# CONFIG_FREERTOS_USE_ADC is not set +# end of Freertos Adc Drivers # end of Component Configuration # diff --git a/example/freertos_feature/software_timer/sdkconfig b/example/freertos_feature/software_timer/sdkconfig index 0ffacca0..11138fc7 100644 --- a/example/freertos_feature/software_timer/sdkconfig +++ b/example/freertos_feature/software_timer/sdkconfig @@ -2,7 +2,7 @@ # # Freertos Configuration # -CONFIG_TARGET_NAME="e2000d_freertos_a64" +CONFIG_TARGET_NAME="e2000q_freertos_a64" # end of Freertos Configuration # @@ -17,7 +17,7 @@ CONFIG_USE_FREERTOS=y CONFIG_TARGET_ARMV8_AARCH64=y CONFIG_USE_CACHE=y CONFIG_USE_MMU=y -# CONFIG_USE_SYS_TICK is not set +CONFIG_USE_SYS_TICK=y # CONFIG_MMU_DEBUG_PRINTS is not set # end of Arch Configuration @@ -26,8 +26,8 @@ CONFIG_USE_MMU=y # # CONFIG_TARGET_F2000_4 is not set # CONFIG_TARGET_D2000 is not set -# CONFIG_TARGET_E2000Q is not set -CONFIG_TARGET_E2000D=y +CONFIG_TARGET_E2000Q=y +# CONFIG_TARGET_E2000D is not set # CONFIG_TARGET_E2000S is not set CONFIG_TARGET_E2000=y CONFIG_DEFAULT_DEBUG_PRINT_UART1=y @@ -77,9 +77,9 @@ CONFIG_USE_NEW_LIBC=y # # CONFIG_LOG_VERBOS is not set # CONFIG_LOG_DEBUG is not set -# CONFIG_LOG_INFO is not set +CONFIG_LOG_INFO=y # CONFIG_LOG_WARN is not set -CONFIG_LOG_ERROR=y +# CONFIG_LOG_ERROR is not set # CONFIG_LOG_NONE is not set CONFIG_USE_DEFAULT_INTERRUPT_CONFIG=y CONFIG_INTERRUPT_ROLE_MASTER=y @@ -95,7 +95,7 @@ CONFIG_AARCH64_RAM_LD=y # CONFIG_USER_DEFINED_LD is not set CONFIG_LINK_SCRIPT_ROM=y CONFIG_ROM_START_UP_ADDR=0x80100000 -CONFIG_ROM_SIZE_MB=2 +CONFIG_ROM_SIZE_MB=1 CONFIG_LINK_SCRIPT_RAM=y CONFIG_RAM_START_UP_ADDR=0x81000000 CONFIG_RAM_SIZE_MB=64 @@ -169,6 +169,12 @@ CONFIG_FREERTOS_USE_UART=y # # CONFIG_FREERTOS_USE_FSDIO is not set # end of Freertos MMC Drivers + +# +# Freertos Adc Drivers +# +# CONFIG_FREERTOS_USE_ADC is not set +# end of Freertos Adc Drivers # end of Component Configuration # @@ -191,6 +197,6 @@ CONFIG_DEFAULT_LETTER_SHELL_USE_UART1=y # CONFIG_DEFAULT_LETTER_SHELL_USE_UART2 is not set # end of Letter Shell Configuration -CONFIG_USE_TLSF=y +# CONFIG_USE_TLSF is not set # CONFIG_USE_SDMMC_CMD is not set # end of FreeRTOS Setting diff --git a/example/freertos_feature/software_timer/sdkconfig.h b/example/freertos_feature/software_timer/sdkconfig.h index 8295a2af..070be669 100644 --- a/example/freertos_feature/software_timer/sdkconfig.h +++ b/example/freertos_feature/software_timer/sdkconfig.h @@ -3,7 +3,7 @@ /* Freertos Configuration */ -#define CONFIG_TARGET_NAME "e2000d_freertos_a64" +#define CONFIG_TARGET_NAME "e2000q_freertos_a64" /* end of Freertos Configuration */ /* Standalone Setting */ @@ -16,7 +16,7 @@ #define CONFIG_TARGET_ARMV8_AARCH64 #define CONFIG_USE_CACHE #define CONFIG_USE_MMU -/* CONFIG_USE_SYS_TICK is not set */ +#define CONFIG_USE_SYS_TICK /* CONFIG_MMU_DEBUG_PRINTS is not set */ /* end of Arch Configuration */ @@ -24,8 +24,8 @@ /* CONFIG_TARGET_F2000_4 is not set */ /* CONFIG_TARGET_D2000 is not set */ -/* CONFIG_TARGET_E2000Q is not set */ -#define CONFIG_TARGET_E2000D +#define CONFIG_TARGET_E2000Q +/* CONFIG_TARGET_E2000D is not set */ /* CONFIG_TARGET_E2000S is not set */ #define CONFIG_TARGET_E2000 #define CONFIG_DEFAULT_DEBUG_PRINT_UART1 @@ -70,9 +70,9 @@ /* CONFIG_LOG_VERBOS is not set */ /* CONFIG_LOG_DEBUG is not set */ -/* CONFIG_LOG_INFO is not set */ +#define CONFIG_LOG_INFO /* CONFIG_LOG_WARN is not set */ -#define CONFIG_LOG_ERROR +/* CONFIG_LOG_ERROR is not set */ /* CONFIG_LOG_NONE is not set */ #define CONFIG_USE_DEFAULT_INTERRUPT_CONFIG #define CONFIG_INTERRUPT_ROLE_MASTER @@ -87,7 +87,7 @@ /* CONFIG_USER_DEFINED_LD is not set */ #define CONFIG_LINK_SCRIPT_ROM #define CONFIG_ROM_START_UP_ADDR 0x80100000 -#define CONFIG_ROM_SIZE_MB 2 +#define CONFIG_ROM_SIZE_MB 1 #define CONFIG_LINK_SCRIPT_RAM #define CONFIG_RAM_START_UP_ADDR 0x81000000 #define CONFIG_RAM_SIZE_MB 64 @@ -149,6 +149,11 @@ /* CONFIG_FREERTOS_USE_FSDIO is not set */ /* end of Freertos MMC Drivers */ + +/* Freertos Adc Drivers */ + +/* CONFIG_FREERTOS_USE_ADC is not set */ +/* end of Freertos Adc Drivers */ /* end of Component Configuration */ /* FreeRTOS Setting */ @@ -168,7 +173,7 @@ /* CONFIG_DEFAULT_LETTER_SHELL_USE_UART0 is not set */ /* CONFIG_DEFAULT_LETTER_SHELL_USE_UART2 is not set */ /* end of Letter Shell Configuration */ -#define CONFIG_USE_TLSF +/* CONFIG_USE_TLSF is not set */ /* CONFIG_USE_SDMMC_CMD is not set */ /* end of FreeRTOS Setting */ diff --git a/example/freertos_feature/task/configs/d2000_aarch32_eg_configs b/example/freertos_feature/task/configs/d2000_aarch32_eg_configs index 733560a0..88242621 100644 --- a/example/freertos_feature/task/configs/d2000_aarch32_eg_configs +++ b/example/freertos_feature/task/configs/d2000_aarch32_eg_configs @@ -173,6 +173,12 @@ CONFIG_FREERTOS_USE_UART=y # # CONFIG_FREERTOS_USE_FSDIO is not set # end of Freertos MMC Drivers + +# +# Freertos Adc Drivers +# +# CONFIG_FREERTOS_USE_ADC is not set +# end of Freertos Adc Drivers # end of Component Configuration # diff --git a/example/freertos_feature/task/configs/d2000_aarch64_eg_configs b/example/freertos_feature/task/configs/d2000_aarch64_eg_configs index 7b253320..f7da4f7e 100644 --- a/example/freertos_feature/task/configs/d2000_aarch64_eg_configs +++ b/example/freertos_feature/task/configs/d2000_aarch64_eg_configs @@ -169,6 +169,12 @@ CONFIG_FREERTOS_USE_UART=y # # CONFIG_FREERTOS_USE_FSDIO is not set # end of Freertos MMC Drivers + +# +# Freertos Adc Drivers +# +# CONFIG_FREERTOS_USE_ADC is not set +# end of Freertos Adc Drivers # end of Component Configuration # diff --git a/example/freertos_feature/task/configs/e2000d_aarch32_eg_configs b/example/freertos_feature/task/configs/e2000d_aarch32_eg_configs index 3fcb7a6c..1e787231 100644 --- a/example/freertos_feature/task/configs/e2000d_aarch32_eg_configs +++ b/example/freertos_feature/task/configs/e2000d_aarch32_eg_configs @@ -173,6 +173,12 @@ CONFIG_FREERTOS_USE_UART=y # # CONFIG_FREERTOS_USE_FSDIO is not set # end of Freertos MMC Drivers + +# +# Freertos Adc Drivers +# +# CONFIG_FREERTOS_USE_ADC is not set +# end of Freertos Adc Drivers # end of Component Configuration # diff --git a/example/freertos_feature/task/configs/e2000d_aarch64_eg_configs b/example/freertos_feature/task/configs/e2000d_aarch64_eg_configs index 0ffacca0..e1b4974a 100644 --- a/example/freertos_feature/task/configs/e2000d_aarch64_eg_configs +++ b/example/freertos_feature/task/configs/e2000d_aarch64_eg_configs @@ -169,6 +169,12 @@ CONFIG_FREERTOS_USE_UART=y # # CONFIG_FREERTOS_USE_FSDIO is not set # end of Freertos MMC Drivers + +# +# Freertos Adc Drivers +# +# CONFIG_FREERTOS_USE_ADC is not set +# end of Freertos Adc Drivers # end of Component Configuration # diff --git a/example/freertos_feature/task/configs/e2000q_aarch32_eg_configs b/example/freertos_feature/task/configs/e2000q_aarch32_eg_configs index a4bb983a..5a475700 100644 --- a/example/freertos_feature/task/configs/e2000q_aarch32_eg_configs +++ b/example/freertos_feature/task/configs/e2000q_aarch32_eg_configs @@ -125,6 +125,12 @@ CONFIG_OUTPUT_BINARY=y CONFIG_FREERTOS_USE_UART=y # end of Freertos Uart Drivers +# +# Freertos Pwm Drivers +# +# CONFIG_FREERTOS_USE_PWM is not set +# end of Freertos Pwm Drivers + # # Freertos Qspi Drivers # @@ -136,6 +142,43 @@ CONFIG_FREERTOS_USE_UART=y # # CONFIG_FREERTOS_USE_WDT is not set # end of Freertos Wdt Drivers + +# +# Freertos Eth Drivers +# +# CONFIG_FREERTOS_USE_XMAC is not set +# end of Freertos Eth Drivers + +# +# Freertos Gpio Drivers +# +# CONFIG_FREERTOS_USE_GPIO is not set +# end of Freertos Gpio Drivers + +# +# Freertos Spim Drivers +# +# CONFIG_FREERTOS_USE_FSPIM is not set +# end of Freertos Spim Drivers + +# +# Freertos DMA Drivers +# +# CONFIG_FREERTOS_USE_FDDMA is not set +# CONFIG_FREERTOS_USE_FGDMA is not set +# end of Freertos DMA Drivers + +# +# Freertos MMC Drivers +# +# CONFIG_FREERTOS_USE_FSDIO is not set +# end of Freertos MMC Drivers + +# +# Freertos Adc Drivers +# +# CONFIG_FREERTOS_USE_ADC is not set +# end of Freertos Adc Drivers # end of Component Configuration # @@ -157,4 +200,7 @@ CONFIG_DEFAULT_LETTER_SHELL_USE_UART1=y # CONFIG_DEFAULT_LETTER_SHELL_USE_UART0 is not set # CONFIG_DEFAULT_LETTER_SHELL_USE_UART2 is not set # end of Letter Shell Configuration + +# CONFIG_USE_TLSF is not set +# CONFIG_USE_SDMMC_CMD is not set # end of FreeRTOS Setting diff --git a/example/freertos_feature/task/configs/e2000q_aarch64_eg_configs b/example/freertos_feature/task/configs/e2000q_aarch64_eg_configs index c0a4d078..666dd899 100644 --- a/example/freertos_feature/task/configs/e2000q_aarch64_eg_configs +++ b/example/freertos_feature/task/configs/e2000q_aarch64_eg_configs @@ -1,14 +1,9 @@ # -# Project Configuration -# - -# -# Freertos Configuration +# Freertos Configuration # CONFIG_TARGET_NAME="e2000q_freertos_a64" -# end of Freertos Configuration -# end of Project Configuration +# end of Freertos Configuration # # Standalone Setting @@ -21,7 +16,6 @@ CONFIG_USE_FREERTOS=y # CONFIG_TARGET_ARMV8_AARCH32 is not set CONFIG_TARGET_ARMV8_AARCH64=y CONFIG_USE_CACHE=y -# CONFIG_USE_L3CACHE is not set CONFIG_USE_MMU=y # CONFIG_USE_SYS_TICK is not set # CONFIG_MMU_DEBUG_PRINTS is not set @@ -35,6 +29,7 @@ CONFIG_USE_MMU=y CONFIG_TARGET_E2000Q=y # CONFIG_TARGET_E2000D is not set # CONFIG_TARGET_E2000S is not set +CONFIG_TARGET_E2000=y CONFIG_DEFAULT_DEBUG_PRINT_UART1=y # CONFIG_DEFAULT_DEBUG_PRINT_UART0 is not set # CONFIG_DEFAULT_DEBUG_PRINT_UART2 is not set @@ -60,6 +55,7 @@ CONFIG_ENABLE_Pl011_UART=y # CONFIG_USE_CAN is not set # CONFIG_USE_I2C is not set # CONFIG_USE_TIMER is not set +# CONFIG_USE_MIO is not set # CONFIG_USE_SDMMC is not set # CONFIG_USE_PCIE is not set # CONFIG_USE_WDT is not set @@ -120,10 +116,65 @@ CONFIG_OUTPUT_BINARY=y # # -# Freertos Drivers +# Freertos Uart Drivers # CONFIG_FREERTOS_USE_UART=y -# end of Freertos Drivers +# end of Freertos Uart Drivers + +# +# Freertos Pwm Drivers +# +# CONFIG_FREERTOS_USE_PWM is not set +# end of Freertos Pwm Drivers + +# +# Freertos Qspi Drivers +# +# CONFIG_FREERTOS_USE_QSPI is not set +# end of Freertos Qspi Drivers + +# +# Freertos Wdt Drivers +# +# CONFIG_FREERTOS_USE_WDT is not set +# end of Freertos Wdt Drivers + +# +# Freertos Eth Drivers +# +# CONFIG_FREERTOS_USE_XMAC is not set +# end of Freertos Eth Drivers + +# +# Freertos Gpio Drivers +# +# CONFIG_FREERTOS_USE_GPIO is not set +# end of Freertos Gpio Drivers + +# +# Freertos Spim Drivers +# +# CONFIG_FREERTOS_USE_FSPIM is not set +# end of Freertos Spim Drivers + +# +# Freertos DMA Drivers +# +# CONFIG_FREERTOS_USE_FDDMA is not set +# CONFIG_FREERTOS_USE_FGDMA is not set +# end of Freertos DMA Drivers + +# +# Freertos MMC Drivers +# +# CONFIG_FREERTOS_USE_FSDIO is not set +# end of Freertos MMC Drivers + +# +# Freertos Adc Drivers +# +# CONFIG_FREERTOS_USE_ADC is not set +# end of Freertos Adc Drivers # end of Component Configuration # @@ -131,6 +182,9 @@ CONFIG_FREERTOS_USE_UART=y # # CONFIG_USE_LWIP is not set CONFIG_USE_BACKTRACE=y +# CONFIG_USE_FATFS is not set +# CONFIG_USE_SFUD is not set +# CONFIG_USE_SPIFFS is not set # CONFIG_USE_AMP is not set CONFIG_USE_LETTER_SHELL=y @@ -142,4 +196,7 @@ CONFIG_DEFAULT_LETTER_SHELL_USE_UART1=y # CONFIG_DEFAULT_LETTER_SHELL_USE_UART0 is not set # CONFIG_DEFAULT_LETTER_SHELL_USE_UART2 is not set # end of Letter Shell Configuration + +# CONFIG_USE_TLSF is not set +# CONFIG_USE_SDMMC_CMD is not set # end of FreeRTOS Setting diff --git a/example/freertos_feature/task/configs/ft2004_aarch32_eg_configs b/example/freertos_feature/task/configs/ft2004_aarch32_eg_configs index f474b23c..0138724f 100644 --- a/example/freertos_feature/task/configs/ft2004_aarch32_eg_configs +++ b/example/freertos_feature/task/configs/ft2004_aarch32_eg_configs @@ -173,6 +173,12 @@ CONFIG_FREERTOS_USE_UART=y # # CONFIG_FREERTOS_USE_FSDIO is not set # end of Freertos MMC Drivers + +# +# Freertos Adc Drivers +# +# CONFIG_FREERTOS_USE_ADC is not set +# end of Freertos Adc Drivers # end of Component Configuration # diff --git a/example/freertos_feature/task/configs/ft2004_aarch64_eg_configs b/example/freertos_feature/task/configs/ft2004_aarch64_eg_configs index 0da5a72d..c9c32f36 100644 --- a/example/freertos_feature/task/configs/ft2004_aarch64_eg_configs +++ b/example/freertos_feature/task/configs/ft2004_aarch64_eg_configs @@ -169,6 +169,12 @@ CONFIG_FREERTOS_USE_UART=y # # CONFIG_FREERTOS_USE_FSDIO is not set # end of Freertos MMC Drivers + +# +# Freertos Adc Drivers +# +# CONFIG_FREERTOS_USE_ADC is not set +# end of Freertos Adc Drivers # end of Component Configuration # diff --git a/example/freertos_feature/task/sdkconfig b/example/freertos_feature/task/sdkconfig index 0ffacca0..666dd899 100644 --- a/example/freertos_feature/task/sdkconfig +++ b/example/freertos_feature/task/sdkconfig @@ -2,7 +2,7 @@ # # Freertos Configuration # -CONFIG_TARGET_NAME="e2000d_freertos_a64" +CONFIG_TARGET_NAME="e2000q_freertos_a64" # end of Freertos Configuration # @@ -26,8 +26,8 @@ CONFIG_USE_MMU=y # # CONFIG_TARGET_F2000_4 is not set # CONFIG_TARGET_D2000 is not set -# CONFIG_TARGET_E2000Q is not set -CONFIG_TARGET_E2000D=y +CONFIG_TARGET_E2000Q=y +# CONFIG_TARGET_E2000D is not set # CONFIG_TARGET_E2000S is not set CONFIG_TARGET_E2000=y CONFIG_DEFAULT_DEBUG_PRINT_UART1=y @@ -75,11 +75,11 @@ CONFIG_USE_NEW_LIBC=y # # Building Option # -# CONFIG_LOG_VERBOS is not set +CONFIG_LOG_VERBOS=y # CONFIG_LOG_DEBUG is not set # CONFIG_LOG_INFO is not set # CONFIG_LOG_WARN is not set -CONFIG_LOG_ERROR=y +# CONFIG_LOG_ERROR is not set # CONFIG_LOG_NONE is not set CONFIG_USE_DEFAULT_INTERRUPT_CONFIG=y CONFIG_INTERRUPT_ROLE_MASTER=y @@ -169,6 +169,12 @@ CONFIG_FREERTOS_USE_UART=y # # CONFIG_FREERTOS_USE_FSDIO is not set # end of Freertos MMC Drivers + +# +# Freertos Adc Drivers +# +# CONFIG_FREERTOS_USE_ADC is not set +# end of Freertos Adc Drivers # end of Component Configuration # @@ -191,6 +197,6 @@ CONFIG_DEFAULT_LETTER_SHELL_USE_UART1=y # CONFIG_DEFAULT_LETTER_SHELL_USE_UART2 is not set # end of Letter Shell Configuration -CONFIG_USE_TLSF=y +# CONFIG_USE_TLSF is not set # CONFIG_USE_SDMMC_CMD is not set # end of FreeRTOS Setting diff --git a/example/freertos_feature/task/sdkconfig.h b/example/freertos_feature/task/sdkconfig.h index 8295a2af..6e37ce68 100644 --- a/example/freertos_feature/task/sdkconfig.h +++ b/example/freertos_feature/task/sdkconfig.h @@ -3,7 +3,7 @@ /* Freertos Configuration */ -#define CONFIG_TARGET_NAME "e2000d_freertos_a64" +#define CONFIG_TARGET_NAME "e2000q_freertos_a64" /* end of Freertos Configuration */ /* Standalone Setting */ @@ -24,8 +24,8 @@ /* CONFIG_TARGET_F2000_4 is not set */ /* CONFIG_TARGET_D2000 is not set */ -/* CONFIG_TARGET_E2000Q is not set */ -#define CONFIG_TARGET_E2000D +#define CONFIG_TARGET_E2000Q +/* CONFIG_TARGET_E2000D is not set */ /* CONFIG_TARGET_E2000S is not set */ #define CONFIG_TARGET_E2000 #define CONFIG_DEFAULT_DEBUG_PRINT_UART1 @@ -68,11 +68,11 @@ /* Building Option */ -/* CONFIG_LOG_VERBOS is not set */ +#define CONFIG_LOG_VERBOS /* CONFIG_LOG_DEBUG is not set */ /* CONFIG_LOG_INFO is not set */ /* CONFIG_LOG_WARN is not set */ -#define CONFIG_LOG_ERROR +/* CONFIG_LOG_ERROR is not set */ /* CONFIG_LOG_NONE is not set */ #define CONFIG_USE_DEFAULT_INTERRUPT_CONFIG #define CONFIG_INTERRUPT_ROLE_MASTER @@ -149,6 +149,11 @@ /* CONFIG_FREERTOS_USE_FSDIO is not set */ /* end of Freertos MMC Drivers */ + +/* Freertos Adc Drivers */ + +/* CONFIG_FREERTOS_USE_ADC is not set */ +/* end of Freertos Adc Drivers */ /* end of Component Configuration */ /* FreeRTOS Setting */ @@ -168,7 +173,7 @@ /* CONFIG_DEFAULT_LETTER_SHELL_USE_UART0 is not set */ /* CONFIG_DEFAULT_LETTER_SHELL_USE_UART2 is not set */ /* end of Letter Shell Configuration */ -#define CONFIG_USE_TLSF +/* CONFIG_USE_TLSF is not set */ /* CONFIG_USE_SDMMC_CMD is not set */ /* end of FreeRTOS Setting */ diff --git a/example/freertos_feature/task_notify/configs/d2000_aarch32_eg_configs b/example/freertos_feature/task_notify/configs/d2000_aarch32_eg_configs index 733560a0..88242621 100644 --- a/example/freertos_feature/task_notify/configs/d2000_aarch32_eg_configs +++ b/example/freertos_feature/task_notify/configs/d2000_aarch32_eg_configs @@ -173,6 +173,12 @@ CONFIG_FREERTOS_USE_UART=y # # CONFIG_FREERTOS_USE_FSDIO is not set # end of Freertos MMC Drivers + +# +# Freertos Adc Drivers +# +# CONFIG_FREERTOS_USE_ADC is not set +# end of Freertos Adc Drivers # end of Component Configuration # diff --git a/example/freertos_feature/task_notify/configs/d2000_aarch64_eg_configs b/example/freertos_feature/task_notify/configs/d2000_aarch64_eg_configs index 7b253320..f7da4f7e 100644 --- a/example/freertos_feature/task_notify/configs/d2000_aarch64_eg_configs +++ b/example/freertos_feature/task_notify/configs/d2000_aarch64_eg_configs @@ -169,6 +169,12 @@ CONFIG_FREERTOS_USE_UART=y # # CONFIG_FREERTOS_USE_FSDIO is not set # end of Freertos MMC Drivers + +# +# Freertos Adc Drivers +# +# CONFIG_FREERTOS_USE_ADC is not set +# end of Freertos Adc Drivers # end of Component Configuration # diff --git a/example/freertos_feature/task_notify/configs/e2000d_aarch32_eg_configs b/example/freertos_feature/task_notify/configs/e2000d_aarch32_eg_configs index 3fcb7a6c..1e787231 100644 --- a/example/freertos_feature/task_notify/configs/e2000d_aarch32_eg_configs +++ b/example/freertos_feature/task_notify/configs/e2000d_aarch32_eg_configs @@ -173,6 +173,12 @@ CONFIG_FREERTOS_USE_UART=y # # CONFIG_FREERTOS_USE_FSDIO is not set # end of Freertos MMC Drivers + +# +# Freertos Adc Drivers +# +# CONFIG_FREERTOS_USE_ADC is not set +# end of Freertos Adc Drivers # end of Component Configuration # diff --git a/example/freertos_feature/task_notify/configs/e2000d_aarch64_eg_configs b/example/freertos_feature/task_notify/configs/e2000d_aarch64_eg_configs index 0ffacca0..e1b4974a 100644 --- a/example/freertos_feature/task_notify/configs/e2000d_aarch64_eg_configs +++ b/example/freertos_feature/task_notify/configs/e2000d_aarch64_eg_configs @@ -169,6 +169,12 @@ CONFIG_FREERTOS_USE_UART=y # # CONFIG_FREERTOS_USE_FSDIO is not set # end of Freertos MMC Drivers + +# +# Freertos Adc Drivers +# +# CONFIG_FREERTOS_USE_ADC is not set +# end of Freertos Adc Drivers # end of Component Configuration # diff --git a/example/freertos_feature/task_notify/configs/e2000q_aarch32_eg_configs b/example/freertos_feature/task_notify/configs/e2000q_aarch32_eg_configs index 57f7c8aa..8e8a511b 100644 --- a/example/freertos_feature/task_notify/configs/e2000q_aarch32_eg_configs +++ b/example/freertos_feature/task_notify/configs/e2000q_aarch32_eg_configs @@ -16,7 +16,6 @@ CONFIG_USE_FREERTOS=y CONFIG_TARGET_ARMV8_AARCH32=y # CONFIG_TARGET_ARMV8_AARCH64 is not set CONFIG_USE_CACHE=y -# CONFIG_USE_L3CACHE is not set CONFIG_USE_MMU=y CONFIG_USE_SYS_TICK=y CONFIG_USE_AARCH64_L1_TO_AARCH32=y @@ -30,6 +29,7 @@ CONFIG_USE_AARCH64_L1_TO_AARCH32=y CONFIG_TARGET_E2000Q=y # CONFIG_TARGET_E2000D is not set # CONFIG_TARGET_E2000S is not set +CONFIG_TARGET_E2000=y CONFIG_DEFAULT_DEBUG_PRINT_UART1=y # CONFIG_DEFAULT_DEBUG_PRINT_UART0 is not set # CONFIG_DEFAULT_DEBUG_PRINT_UART2 is not set @@ -55,6 +55,7 @@ CONFIG_ENABLE_Pl011_UART=y # CONFIG_USE_CAN is not set # CONFIG_USE_I2C is not set # CONFIG_USE_TIMER is not set +# CONFIG_USE_MIO is not set # CONFIG_USE_SDMMC is not set # CONFIG_USE_PCIE is not set # CONFIG_USE_WDT is not set @@ -119,10 +120,65 @@ CONFIG_OUTPUT_BINARY=y # # -# Freertos Drivers +# Freertos Uart Drivers # CONFIG_FREERTOS_USE_UART=y -# end of Freertos Drivers +# end of Freertos Uart Drivers + +# +# Freertos Pwm Drivers +# +# CONFIG_FREERTOS_USE_PWM is not set +# end of Freertos Pwm Drivers + +# +# Freertos Qspi Drivers +# +# CONFIG_FREERTOS_USE_QSPI is not set +# end of Freertos Qspi Drivers + +# +# Freertos Wdt Drivers +# +# CONFIG_FREERTOS_USE_WDT is not set +# end of Freertos Wdt Drivers + +# +# Freertos Eth Drivers +# +# CONFIG_FREERTOS_USE_XMAC is not set +# end of Freertos Eth Drivers + +# +# Freertos Gpio Drivers +# +# CONFIG_FREERTOS_USE_GPIO is not set +# end of Freertos Gpio Drivers + +# +# Freertos Spim Drivers +# +# CONFIG_FREERTOS_USE_FSPIM is not set +# end of Freertos Spim Drivers + +# +# Freertos DMA Drivers +# +# CONFIG_FREERTOS_USE_FDDMA is not set +# CONFIG_FREERTOS_USE_FGDMA is not set +# end of Freertos DMA Drivers + +# +# Freertos MMC Drivers +# +# CONFIG_FREERTOS_USE_FSDIO is not set +# end of Freertos MMC Drivers + +# +# Freertos Adc Drivers +# +# CONFIG_FREERTOS_USE_ADC is not set +# end of Freertos Adc Drivers # end of Component Configuration # @@ -130,6 +186,9 @@ CONFIG_FREERTOS_USE_UART=y # # CONFIG_USE_LWIP is not set CONFIG_USE_BACKTRACE=y +# CONFIG_USE_FATFS is not set +# CONFIG_USE_SFUD is not set +# CONFIG_USE_SPIFFS is not set # CONFIG_USE_AMP is not set CONFIG_USE_LETTER_SHELL=y @@ -141,4 +200,7 @@ CONFIG_DEFAULT_LETTER_SHELL_USE_UART1=y # CONFIG_DEFAULT_LETTER_SHELL_USE_UART0 is not set # CONFIG_DEFAULT_LETTER_SHELL_USE_UART2 is not set # end of Letter Shell Configuration + +# CONFIG_USE_TLSF is not set +# CONFIG_USE_SDMMC_CMD is not set # end of FreeRTOS Setting diff --git a/example/freertos_feature/task_notify/configs/e2000q_aarch64_eg_configs b/example/freertos_feature/task_notify/configs/e2000q_aarch64_eg_configs index 29e086c4..11138fc7 100644 --- a/example/freertos_feature/task_notify/configs/e2000q_aarch64_eg_configs +++ b/example/freertos_feature/task_notify/configs/e2000q_aarch64_eg_configs @@ -16,7 +16,6 @@ CONFIG_USE_FREERTOS=y # CONFIG_TARGET_ARMV8_AARCH32 is not set CONFIG_TARGET_ARMV8_AARCH64=y CONFIG_USE_CACHE=y -# CONFIG_USE_L3CACHE is not set CONFIG_USE_MMU=y CONFIG_USE_SYS_TICK=y # CONFIG_MMU_DEBUG_PRINTS is not set @@ -30,6 +29,7 @@ CONFIG_USE_SYS_TICK=y CONFIG_TARGET_E2000Q=y # CONFIG_TARGET_E2000D is not set # CONFIG_TARGET_E2000S is not set +CONFIG_TARGET_E2000=y CONFIG_DEFAULT_DEBUG_PRINT_UART1=y # CONFIG_DEFAULT_DEBUG_PRINT_UART0 is not set # CONFIG_DEFAULT_DEBUG_PRINT_UART2 is not set @@ -55,6 +55,7 @@ CONFIG_ENABLE_Pl011_UART=y # CONFIG_USE_CAN is not set # CONFIG_USE_I2C is not set # CONFIG_USE_TIMER is not set +# CONFIG_USE_MIO is not set # CONFIG_USE_SDMMC is not set # CONFIG_USE_PCIE is not set # CONFIG_USE_WDT is not set @@ -115,10 +116,65 @@ CONFIG_OUTPUT_BINARY=y # # -# Freertos Drivers +# Freertos Uart Drivers # CONFIG_FREERTOS_USE_UART=y -# end of Freertos Drivers +# end of Freertos Uart Drivers + +# +# Freertos Pwm Drivers +# +# CONFIG_FREERTOS_USE_PWM is not set +# end of Freertos Pwm Drivers + +# +# Freertos Qspi Drivers +# +# CONFIG_FREERTOS_USE_QSPI is not set +# end of Freertos Qspi Drivers + +# +# Freertos Wdt Drivers +# +# CONFIG_FREERTOS_USE_WDT is not set +# end of Freertos Wdt Drivers + +# +# Freertos Eth Drivers +# +# CONFIG_FREERTOS_USE_XMAC is not set +# end of Freertos Eth Drivers + +# +# Freertos Gpio Drivers +# +# CONFIG_FREERTOS_USE_GPIO is not set +# end of Freertos Gpio Drivers + +# +# Freertos Spim Drivers +# +# CONFIG_FREERTOS_USE_FSPIM is not set +# end of Freertos Spim Drivers + +# +# Freertos DMA Drivers +# +# CONFIG_FREERTOS_USE_FDDMA is not set +# CONFIG_FREERTOS_USE_FGDMA is not set +# end of Freertos DMA Drivers + +# +# Freertos MMC Drivers +# +# CONFIG_FREERTOS_USE_FSDIO is not set +# end of Freertos MMC Drivers + +# +# Freertos Adc Drivers +# +# CONFIG_FREERTOS_USE_ADC is not set +# end of Freertos Adc Drivers # end of Component Configuration # @@ -126,6 +182,9 @@ CONFIG_FREERTOS_USE_UART=y # # CONFIG_USE_LWIP is not set CONFIG_USE_BACKTRACE=y +# CONFIG_USE_FATFS is not set +# CONFIG_USE_SFUD is not set +# CONFIG_USE_SPIFFS is not set # CONFIG_USE_AMP is not set CONFIG_USE_LETTER_SHELL=y @@ -137,4 +196,7 @@ CONFIG_DEFAULT_LETTER_SHELL_USE_UART1=y # CONFIG_DEFAULT_LETTER_SHELL_USE_UART0 is not set # CONFIG_DEFAULT_LETTER_SHELL_USE_UART2 is not set # end of Letter Shell Configuration + +# CONFIG_USE_TLSF is not set +# CONFIG_USE_SDMMC_CMD is not set # end of FreeRTOS Setting diff --git a/example/freertos_feature/task_notify/configs/ft2004_aarch32_eg_configs b/example/freertos_feature/task_notify/configs/ft2004_aarch32_eg_configs index f474b23c..0138724f 100644 --- a/example/freertos_feature/task_notify/configs/ft2004_aarch32_eg_configs +++ b/example/freertos_feature/task_notify/configs/ft2004_aarch32_eg_configs @@ -173,6 +173,12 @@ CONFIG_FREERTOS_USE_UART=y # # CONFIG_FREERTOS_USE_FSDIO is not set # end of Freertos MMC Drivers + +# +# Freertos Adc Drivers +# +# CONFIG_FREERTOS_USE_ADC is not set +# end of Freertos Adc Drivers # end of Component Configuration # diff --git a/example/freertos_feature/task_notify/configs/ft2004_aarch64_eg_configs b/example/freertos_feature/task_notify/configs/ft2004_aarch64_eg_configs index 0da5a72d..c9c32f36 100644 --- a/example/freertos_feature/task_notify/configs/ft2004_aarch64_eg_configs +++ b/example/freertos_feature/task_notify/configs/ft2004_aarch64_eg_configs @@ -169,6 +169,12 @@ CONFIG_FREERTOS_USE_UART=y # # CONFIG_FREERTOS_USE_FSDIO is not set # end of Freertos MMC Drivers + +# +# Freertos Adc Drivers +# +# CONFIG_FREERTOS_USE_ADC is not set +# end of Freertos Adc Drivers # end of Component Configuration # diff --git a/example/freertos_feature/task_notify/sdkconfig b/example/freertos_feature/task_notify/sdkconfig index 0ffacca0..11138fc7 100644 --- a/example/freertos_feature/task_notify/sdkconfig +++ b/example/freertos_feature/task_notify/sdkconfig @@ -2,7 +2,7 @@ # # Freertos Configuration # -CONFIG_TARGET_NAME="e2000d_freertos_a64" +CONFIG_TARGET_NAME="e2000q_freertos_a64" # end of Freertos Configuration # @@ -17,7 +17,7 @@ CONFIG_USE_FREERTOS=y CONFIG_TARGET_ARMV8_AARCH64=y CONFIG_USE_CACHE=y CONFIG_USE_MMU=y -# CONFIG_USE_SYS_TICK is not set +CONFIG_USE_SYS_TICK=y # CONFIG_MMU_DEBUG_PRINTS is not set # end of Arch Configuration @@ -26,8 +26,8 @@ CONFIG_USE_MMU=y # # CONFIG_TARGET_F2000_4 is not set # CONFIG_TARGET_D2000 is not set -# CONFIG_TARGET_E2000Q is not set -CONFIG_TARGET_E2000D=y +CONFIG_TARGET_E2000Q=y +# CONFIG_TARGET_E2000D is not set # CONFIG_TARGET_E2000S is not set CONFIG_TARGET_E2000=y CONFIG_DEFAULT_DEBUG_PRINT_UART1=y @@ -77,9 +77,9 @@ CONFIG_USE_NEW_LIBC=y # # CONFIG_LOG_VERBOS is not set # CONFIG_LOG_DEBUG is not set -# CONFIG_LOG_INFO is not set +CONFIG_LOG_INFO=y # CONFIG_LOG_WARN is not set -CONFIG_LOG_ERROR=y +# CONFIG_LOG_ERROR is not set # CONFIG_LOG_NONE is not set CONFIG_USE_DEFAULT_INTERRUPT_CONFIG=y CONFIG_INTERRUPT_ROLE_MASTER=y @@ -95,7 +95,7 @@ CONFIG_AARCH64_RAM_LD=y # CONFIG_USER_DEFINED_LD is not set CONFIG_LINK_SCRIPT_ROM=y CONFIG_ROM_START_UP_ADDR=0x80100000 -CONFIG_ROM_SIZE_MB=2 +CONFIG_ROM_SIZE_MB=1 CONFIG_LINK_SCRIPT_RAM=y CONFIG_RAM_START_UP_ADDR=0x81000000 CONFIG_RAM_SIZE_MB=64 @@ -169,6 +169,12 @@ CONFIG_FREERTOS_USE_UART=y # # CONFIG_FREERTOS_USE_FSDIO is not set # end of Freertos MMC Drivers + +# +# Freertos Adc Drivers +# +# CONFIG_FREERTOS_USE_ADC is not set +# end of Freertos Adc Drivers # end of Component Configuration # @@ -191,6 +197,6 @@ CONFIG_DEFAULT_LETTER_SHELL_USE_UART1=y # CONFIG_DEFAULT_LETTER_SHELL_USE_UART2 is not set # end of Letter Shell Configuration -CONFIG_USE_TLSF=y +# CONFIG_USE_TLSF is not set # CONFIG_USE_SDMMC_CMD is not set # end of FreeRTOS Setting diff --git a/example/freertos_feature/task_notify/sdkconfig.h b/example/freertos_feature/task_notify/sdkconfig.h index 8295a2af..070be669 100644 --- a/example/freertos_feature/task_notify/sdkconfig.h +++ b/example/freertos_feature/task_notify/sdkconfig.h @@ -3,7 +3,7 @@ /* Freertos Configuration */ -#define CONFIG_TARGET_NAME "e2000d_freertos_a64" +#define CONFIG_TARGET_NAME "e2000q_freertos_a64" /* end of Freertos Configuration */ /* Standalone Setting */ @@ -16,7 +16,7 @@ #define CONFIG_TARGET_ARMV8_AARCH64 #define CONFIG_USE_CACHE #define CONFIG_USE_MMU -/* CONFIG_USE_SYS_TICK is not set */ +#define CONFIG_USE_SYS_TICK /* CONFIG_MMU_DEBUG_PRINTS is not set */ /* end of Arch Configuration */ @@ -24,8 +24,8 @@ /* CONFIG_TARGET_F2000_4 is not set */ /* CONFIG_TARGET_D2000 is not set */ -/* CONFIG_TARGET_E2000Q is not set */ -#define CONFIG_TARGET_E2000D +#define CONFIG_TARGET_E2000Q +/* CONFIG_TARGET_E2000D is not set */ /* CONFIG_TARGET_E2000S is not set */ #define CONFIG_TARGET_E2000 #define CONFIG_DEFAULT_DEBUG_PRINT_UART1 @@ -70,9 +70,9 @@ /* CONFIG_LOG_VERBOS is not set */ /* CONFIG_LOG_DEBUG is not set */ -/* CONFIG_LOG_INFO is not set */ +#define CONFIG_LOG_INFO /* CONFIG_LOG_WARN is not set */ -#define CONFIG_LOG_ERROR +/* CONFIG_LOG_ERROR is not set */ /* CONFIG_LOG_NONE is not set */ #define CONFIG_USE_DEFAULT_INTERRUPT_CONFIG #define CONFIG_INTERRUPT_ROLE_MASTER @@ -87,7 +87,7 @@ /* CONFIG_USER_DEFINED_LD is not set */ #define CONFIG_LINK_SCRIPT_ROM #define CONFIG_ROM_START_UP_ADDR 0x80100000 -#define CONFIG_ROM_SIZE_MB 2 +#define CONFIG_ROM_SIZE_MB 1 #define CONFIG_LINK_SCRIPT_RAM #define CONFIG_RAM_START_UP_ADDR 0x81000000 #define CONFIG_RAM_SIZE_MB 64 @@ -149,6 +149,11 @@ /* CONFIG_FREERTOS_USE_FSDIO is not set */ /* end of Freertos MMC Drivers */ + +/* Freertos Adc Drivers */ + +/* CONFIG_FREERTOS_USE_ADC is not set */ +/* end of Freertos Adc Drivers */ /* end of Component Configuration */ /* FreeRTOS Setting */ @@ -168,7 +173,7 @@ /* CONFIG_DEFAULT_LETTER_SHELL_USE_UART0 is not set */ /* CONFIG_DEFAULT_LETTER_SHELL_USE_UART2 is not set */ /* end of Letter Shell Configuration */ -#define CONFIG_USE_TLSF +/* CONFIG_USE_TLSF is not set */ /* CONFIG_USE_SDMMC_CMD is not set */ /* end of FreeRTOS Setting */ diff --git a/example/network/gmac_lwip_test/configs/d2000_aarch32_eg_configs b/example/network/gmac_lwip_test/configs/d2000_aarch32_eg_configs index 52bb667b..dbd1b782 100644 --- a/example/network/gmac_lwip_test/configs/d2000_aarch32_eg_configs +++ b/example/network/gmac_lwip_test/configs/d2000_aarch32_eg_configs @@ -189,6 +189,12 @@ CONFIG_FREERTOS_USE_UART=y # # CONFIG_FREERTOS_USE_FSDIO is not set # end of Freertos MMC Drivers + +# +# Freertos Adc Drivers +# +# CONFIG_FREERTOS_USE_ADC is not set +# end of Freertos Adc Drivers # end of Component Configuration # diff --git a/example/network/gmac_lwip_test/configs/d2000_aarch64_eg_configs b/example/network/gmac_lwip_test/configs/d2000_aarch64_eg_configs index fffef0dd..6763461a 100644 --- a/example/network/gmac_lwip_test/configs/d2000_aarch64_eg_configs +++ b/example/network/gmac_lwip_test/configs/d2000_aarch64_eg_configs @@ -185,6 +185,12 @@ CONFIG_FREERTOS_USE_UART=y # # CONFIG_FREERTOS_USE_FSDIO is not set # end of Freertos MMC Drivers + +# +# Freertos Adc Drivers +# +# CONFIG_FREERTOS_USE_ADC is not set +# end of Freertos Adc Drivers # end of Component Configuration # diff --git a/example/network/gmac_lwip_test/configs/ft2004_aarch32_eg_configs b/example/network/gmac_lwip_test/configs/ft2004_aarch32_eg_configs index c86b6290..d5c4b679 100644 --- a/example/network/gmac_lwip_test/configs/ft2004_aarch32_eg_configs +++ b/example/network/gmac_lwip_test/configs/ft2004_aarch32_eg_configs @@ -189,6 +189,12 @@ CONFIG_FREERTOS_USE_UART=y # # CONFIG_FREERTOS_USE_FSDIO is not set # end of Freertos MMC Drivers + +# +# Freertos Adc Drivers +# +# CONFIG_FREERTOS_USE_ADC is not set +# end of Freertos Adc Drivers # end of Component Configuration # diff --git a/example/network/gmac_lwip_test/configs/ft2004_aarch64_eg_configs b/example/network/gmac_lwip_test/configs/ft2004_aarch64_eg_configs index 1a0a18cb..ca33cb0a 100644 --- a/example/network/gmac_lwip_test/configs/ft2004_aarch64_eg_configs +++ b/example/network/gmac_lwip_test/configs/ft2004_aarch64_eg_configs @@ -185,6 +185,12 @@ CONFIG_FREERTOS_USE_UART=y # # CONFIG_FREERTOS_USE_FSDIO is not set # end of Freertos MMC Drivers + +# +# Freertos Adc Drivers +# +# CONFIG_FREERTOS_USE_ADC is not set +# end of Freertos Adc Drivers # end of Component Configuration # diff --git a/example/network/gmac_lwip_test/sdkconfig b/example/network/gmac_lwip_test/sdkconfig index fffef0dd..6763461a 100644 --- a/example/network/gmac_lwip_test/sdkconfig +++ b/example/network/gmac_lwip_test/sdkconfig @@ -185,6 +185,12 @@ CONFIG_FREERTOS_USE_UART=y # # CONFIG_FREERTOS_USE_FSDIO is not set # end of Freertos MMC Drivers + +# +# Freertos Adc Drivers +# +# CONFIG_FREERTOS_USE_ADC is not set +# end of Freertos Adc Drivers # end of Component Configuration # diff --git a/example/network/gmac_lwip_test/sdkconfig.h b/example/network/gmac_lwip_test/sdkconfig.h index bc82de2e..ff0c1cb3 100644 --- a/example/network/gmac_lwip_test/sdkconfig.h +++ b/example/network/gmac_lwip_test/sdkconfig.h @@ -163,6 +163,11 @@ /* CONFIG_FREERTOS_USE_FSDIO is not set */ /* end of Freertos MMC Drivers */ + +/* Freertos Adc Drivers */ + +/* CONFIG_FREERTOS_USE_ADC is not set */ +/* end of Freertos Adc Drivers */ /* end of Component Configuration */ /* FreeRTOS Setting */ diff --git a/example/network/xmac_lwip_test/configs/e2000d_aarch32_eg_configs b/example/network/xmac_lwip_test/configs/e2000d_aarch32_eg_configs index 02d98adf..dae7ddf5 100644 --- a/example/network/xmac_lwip_test/configs/e2000d_aarch32_eg_configs +++ b/example/network/xmac_lwip_test/configs/e2000d_aarch32_eg_configs @@ -197,6 +197,12 @@ CONFIG_FREERTOS_USE_XMAC=y # # CONFIG_FREERTOS_USE_FSDIO is not set # end of Freertos MMC Drivers + +# +# Freertos Adc Drivers +# +# CONFIG_FREERTOS_USE_ADC is not set +# end of Freertos Adc Drivers # end of Component Configuration # diff --git a/example/network/xmac_lwip_test/configs/e2000d_aarch64_eg_configs b/example/network/xmac_lwip_test/configs/e2000d_aarch64_eg_configs index 8b8f8b6e..25105a00 100644 --- a/example/network/xmac_lwip_test/configs/e2000d_aarch64_eg_configs +++ b/example/network/xmac_lwip_test/configs/e2000d_aarch64_eg_configs @@ -193,6 +193,12 @@ CONFIG_FREERTOS_USE_XMAC=y # # CONFIG_FREERTOS_USE_FSDIO is not set # end of Freertos MMC Drivers + +# +# Freertos Adc Drivers +# +# CONFIG_FREERTOS_USE_ADC is not set +# end of Freertos Adc Drivers # end of Component Configuration # diff --git a/example/network/xmac_lwip_test/sdkconfig b/example/network/xmac_lwip_test/sdkconfig index 8b8f8b6e..25105a00 100644 --- a/example/network/xmac_lwip_test/sdkconfig +++ b/example/network/xmac_lwip_test/sdkconfig @@ -193,6 +193,12 @@ CONFIG_FREERTOS_USE_XMAC=y # # CONFIG_FREERTOS_USE_FSDIO is not set # end of Freertos MMC Drivers + +# +# Freertos Adc Drivers +# +# CONFIG_FREERTOS_USE_ADC is not set +# end of Freertos Adc Drivers # end of Component Configuration # diff --git a/example/network/xmac_lwip_test/sdkconfig.h b/example/network/xmac_lwip_test/sdkconfig.h index 6c915b60..91abb934 100644 --- a/example/network/xmac_lwip_test/sdkconfig.h +++ b/example/network/xmac_lwip_test/sdkconfig.h @@ -170,6 +170,11 @@ /* CONFIG_FREERTOS_USE_FSDIO is not set */ /* end of Freertos MMC Drivers */ + +/* Freertos Adc Drivers */ + +/* CONFIG_FREERTOS_USE_ADC is not set */ +/* end of Freertos Adc Drivers */ /* end of Component Configuration */ /* FreeRTOS Setting */ diff --git a/example/peripheral/adc/Kconfig b/example/peripheral/adc/Kconfig new file mode 100644 index 00000000..0277fb85 --- /dev/null +++ b/example/peripheral/adc/Kconfig @@ -0,0 +1,19 @@ +# +# For a description of the syntax of this configuration file, +# see tools/kconfiglib/kconfig-language.txt. +# + + +mainmenu "Phytium Freertos Configuration" + + menu "Freertos Configuration" + config TARGET_NAME + string "Build Target Name" + default "freertos" + help + Build Target name for the demo + +endmenu + +source "$(FREERTOS_SDK_ROOT)/Kconfig" + diff --git a/example/peripheral/adc/README.md b/example/peripheral/adc/README.md new file mode 100644 index 00000000..86913a3c --- /dev/null +++ b/example/peripheral/adc/README.md @@ -0,0 +1,140 @@ + + +# adc base on freertos + +## 1. 例程介绍 + +本例程示范了freertos环境下的adc的使用,包括adc的初始化、adc周期读取操作; +程序启动后,创建adc初始化任务,设置adc时钟分频、转换模式等; +创建adc定时读取任务FFreeRTOSAdcReadTask,用于定时读取adc转换结果; +创建单次模式的软件定时器,回调函数为删除FFreeRTOSAdcReadTask,去初始化adc,删除软件定时器; +使用C板进行测试,选择ADC0作为采样点,也就是adc0控制器的通道0,对应板上J154的引脚5; + +## 2. 如何使用例程 + +本例程需要用到 +- Phytium开发板(E2000D/E2000Q) +- [Phytium freeRTOS SDK](https://gitee.com/phytium_embedded/phytium-free-rtos-sdk) +- [Phytium standalone SDK](https://gitee.com/phytium_embedded/phytium-standalone-sdk) +### 2.1 硬件配置方法 + +本例程支持的硬件平台包括 + +- E2000D +- E2000Q + +对应的配置项是, + +- CONFIG_TARGET_E2000D +- CONFIG_TARGET_E2000Q + +### 2.2 SDK配置方法 + +本例程需要, + +- 使能Shell +- 使能Pwm + +对应的配置项是, + +- CONFIG_USE_LETTER_SHELL +- CONFIG_USE_ADC +- CONFIG_FREERTOS_USE_ADC + +本例子已经提供好具体的编译指令,以下进行介绍: +- make 将目录下的工程进行编译 +- make clean 将目录下的工程进行清理 +- make boot 将目录下的工程进行编译,并将生成的elf 复制到目标地址 +- make load_e2000d_aarch64 将预设64bit e2000d 下的配置加载至工程中 +- make load_e2000d_aarch32 将预设32bit e2000d 下的配置加载至工程中 +- make load_e2000q_aarch64 将预设64bit e2000q 下的配置加载至工程中 +- make load_e2000q_aarch32 将预设32bit e2000q 下的配置加载至工程中 +- make menuconfig 配置目录下的参数变量 +- make backup_kconfig 将目录下的sdkconfig 备份到./configs下 + +具体使用方法为: +- 在当前目录下 +- 执行以上指令 + +### 2.3 构建和下载 + +#### 2.3.1 构建过程 + +- 在host侧完成配置 +配置成e2000q,对于其它平台,使用对于的默认配置,如e2000d `make load_e2000d_aarch32` + +- 选择目标平台 +``` +make load_e2000q_aarch32 +``` + +- 选择例程需要的配置 +``` +make menuconfig +``` + +- 进行编译 +``` +make +``` + +- 将编译出的镜像放置到tftp目录下 +``` +make boot +``` + +#### 2.3.2 下载过程 + +- host侧设置重启host侧tftp服务器 +``` +sudo service tftpd-hpa restart +``` + +- 开发板侧使用bootelf命令跳转 +``` +setenv ipaddr 192.168.4.20 +setenv serverip 192.168.4.50 +setenv gatewayip 192.168.4.1 +tftpboot 0x90100000 freertos.elf +bootelf -p 0x90100000 +``` + +### 2.4 输出与实验现象 + +- 系统进入后,创建adc初始化任务,创建定时读取任务,并创建单次模式软件定时器 + +![create](./figs/create.png) + +- 定时器时间到,触发单次模式软件定时器的回调函数,去初始化adc,删除占空比变化任务,删除软件定时器 + +![delete](./figs/delete.png) + +## 3. 如何解决问题 + + +## 4. 修改历史记录 + + + + diff --git a/example/peripheral/adc/configs/e2000d_aarch32_eg_configs b/example/peripheral/adc/configs/e2000d_aarch32_eg_configs new file mode 100644 index 00000000..6001bd71 --- /dev/null +++ b/example/peripheral/adc/configs/e2000d_aarch32_eg_configs @@ -0,0 +1,213 @@ + +# +# Freertos Configuration +# +CONFIG_TARGET_NAME="e2000d_freertos_a32" +# end of Freertos Configuration + +# +# Standalone Setting +# +CONFIG_USE_FREERTOS=y + +# +# Arch Configuration +# +CONFIG_TARGET_ARMV8_AARCH32=y +# CONFIG_TARGET_ARMV8_AARCH64 is not set +CONFIG_USE_CACHE=y +CONFIG_USE_MMU=y +CONFIG_USE_SYS_TICK=y +CONFIG_USE_AARCH64_L1_TO_AARCH32=y +# end of Arch Configuration + +# +# Board Configuration +# +# CONFIG_TARGET_F2000_4 is not set +# CONFIG_TARGET_D2000 is not set +# CONFIG_TARGET_E2000Q is not set +CONFIG_TARGET_E2000D=y +# CONFIG_TARGET_E2000S is not set +CONFIG_TARGET_E2000=y +CONFIG_DEFAULT_DEBUG_PRINT_UART1=y +# CONFIG_DEFAULT_DEBUG_PRINT_UART0 is not set +# CONFIG_DEFAULT_DEBUG_PRINT_UART2 is not set +# end of Board Configuration + +# +# Components Configuration +# +# CONFIG_USE_SPI is not set +# CONFIG_USE_QSPI is not set +CONFIG_USE_GIC=y +CONFIG_ENABLE_GICV3=y +CONFIG_USE_SERIAL=y + +# +# Usart Configuration +# +CONFIG_ENABLE_Pl011_UART=y +# end of Usart Configuration + +# CONFIG_USE_GPIO is not set +# CONFIG_USE_ETH is not set +# CONFIG_USE_CAN is not set +# CONFIG_USE_I2C is not set +# CONFIG_USE_TIMER is not set +# CONFIG_USE_MIO is not set +# CONFIG_USE_SDMMC is not set +# CONFIG_USE_PCIE is not set +# CONFIG_USE_WDT is not set +# CONFIG_USE_DMA is not set +# CONFIG_USE_NAND is not set +# CONFIG_USE_RTC is not set +# CONFIG_USE_SATA is not set +# CONFIG_USE_USB is not set +CONFIG_USE_ADC=y + +# +# ADC Configuration +# +CONFIG_USE_FADC=y +# end of ADC Configuration + +# CONFIG_USE_PWM is not set +# CONFIG_USE_IPC is not set +# end of Components Configuration + +CONFIG_USE_NEW_LIBC=y +# end of Standalone Setting + +# +# Building Option +# +# CONFIG_LOG_VERBOS is not set +# CONFIG_LOG_DEBUG is not set +CONFIG_LOG_INFO=y +# CONFIG_LOG_WARN is not set +# CONFIG_LOG_ERROR is not set +# CONFIG_LOG_NONE is not set +CONFIG_USE_DEFAULT_INTERRUPT_CONFIG=y +CONFIG_INTERRUPT_ROLE_MASTER=y +# CONFIG_INTERRUPT_ROLE_SLAVE is not set +# CONFIG_LOG_EXTRA_INFO is not set +# CONFIG_BOOTUP_DEBUG_PRINTS is not set + +# +# Linker Options +# +CONFIG_AARCH32_RAM_LD=y +# CONFIG_AARCH64_RAM_LD is not set +# CONFIG_USER_DEFINED_LD is not set +CONFIG_LINK_SCRIPT_ROM=y +CONFIG_ROM_START_UP_ADDR=0x80100000 +CONFIG_ROM_SIZE_MB=1 +CONFIG_LINK_SCRIPT_RAM=y +CONFIG_RAM_START_UP_ADDR=0x81000000 +CONFIG_RAM_SIZE_MB=64 +CONFIG_HEAP_SIZE=1 +CONFIG_SVC_STACK_SIZE=0x1000 +CONFIG_SYS_STACK_SIZE=0x1000 +CONFIG_IRQ_STACK_SIZE=0x1000 +CONFIG_ABORT_STACK_SIZE=0x1000 +CONFIG_FIQ_STACK_SIZE=0x1000 +CONFIG_UNDEF_STACK_SIZE=0x1000 +# end of Linker Options + +# +# Compiler Options +# +CONFIG_OUTPUT_BINARY=y +# end of Compiler Options +# end of Building Option + +# +# Component Configuration +# + +# +# Freertos Uart Drivers +# +CONFIG_FREERTOS_USE_UART=y +# end of Freertos Uart Drivers + +# +# Freertos Pwm Drivers +# +# CONFIG_FREERTOS_USE_PWM is not set +# end of Freertos Pwm Drivers + +# +# Freertos Qspi Drivers +# +# CONFIG_FREERTOS_USE_QSPI is not set +# end of Freertos Qspi Drivers + +# +# Freertos Wdt Drivers +# +# CONFIG_FREERTOS_USE_WDT is not set +# end of Freertos Wdt Drivers + +# +# Freertos Eth Drivers +# +# CONFIG_FREERTOS_USE_XMAC is not set +# end of Freertos Eth Drivers + +# +# Freertos Gpio Drivers +# +# CONFIG_FREERTOS_USE_GPIO is not set +# end of Freertos Gpio Drivers + +# +# Freertos Spim Drivers +# +# CONFIG_FREERTOS_USE_FSPIM is not set +# end of Freertos Spim Drivers + +# +# Freertos DMA Drivers +# +# CONFIG_FREERTOS_USE_FDDMA is not set +# CONFIG_FREERTOS_USE_FGDMA is not set +# end of Freertos DMA Drivers + +# +# Freertos MMC Drivers +# +# CONFIG_FREERTOS_USE_FSDIO is not set +# end of Freertos MMC Drivers + +# +# Freertos Adc Drivers +# +CONFIG_FREERTOS_USE_ADC=y +# end of Freertos Adc Drivers +# end of Component Configuration + +# +# FreeRTOS Setting +# +# CONFIG_USE_LWIP is not set +CONFIG_USE_BACKTRACE=y +# CONFIG_USE_FATFS is not set +# CONFIG_USE_SFUD is not set +# CONFIG_USE_SPIFFS is not set +# CONFIG_USE_AMP is not set +CONFIG_USE_LETTER_SHELL=y + +# +# Letter Shell Configuration +# +CONFIG_LS_PL011_UART=y +CONFIG_DEFAULT_LETTER_SHELL_USE_UART1=y +# CONFIG_DEFAULT_LETTER_SHELL_USE_UART0 is not set +# CONFIG_DEFAULT_LETTER_SHELL_USE_UART2 is not set +# end of Letter Shell Configuration + +# CONFIG_USE_TLSF is not set +# CONFIG_USE_SDMMC_CMD is not set +# end of FreeRTOS Setting diff --git a/example/peripheral/adc/configs/e2000d_aarch64_eg_configs b/example/peripheral/adc/configs/e2000d_aarch64_eg_configs new file mode 100644 index 00000000..8fb80c35 --- /dev/null +++ b/example/peripheral/adc/configs/e2000d_aarch64_eg_configs @@ -0,0 +1,209 @@ + +# +# Freertos Configuration +# +CONFIG_TARGET_NAME="e2000d_freertos_a64" +# end of Freertos Configuration + +# +# Standalone Setting +# +CONFIG_USE_FREERTOS=y + +# +# Arch Configuration +# +# CONFIG_TARGET_ARMV8_AARCH32 is not set +CONFIG_TARGET_ARMV8_AARCH64=y +CONFIG_USE_CACHE=y +CONFIG_USE_MMU=y +CONFIG_USE_SYS_TICK=y +# CONFIG_MMU_DEBUG_PRINTS is not set +# end of Arch Configuration + +# +# Board Configuration +# +# CONFIG_TARGET_F2000_4 is not set +# CONFIG_TARGET_D2000 is not set +# CONFIG_TARGET_E2000Q is not set +CONFIG_TARGET_E2000D=y +# CONFIG_TARGET_E2000S is not set +CONFIG_TARGET_E2000=y +CONFIG_DEFAULT_DEBUG_PRINT_UART1=y +# CONFIG_DEFAULT_DEBUG_PRINT_UART0 is not set +# CONFIG_DEFAULT_DEBUG_PRINT_UART2 is not set +# end of Board Configuration + +# +# Components Configuration +# +# CONFIG_USE_SPI is not set +# CONFIG_USE_QSPI is not set +CONFIG_USE_GIC=y +CONFIG_ENABLE_GICV3=y +CONFIG_USE_SERIAL=y + +# +# Usart Configuration +# +CONFIG_ENABLE_Pl011_UART=y +# end of Usart Configuration + +# CONFIG_USE_GPIO is not set +# CONFIG_USE_ETH is not set +# CONFIG_USE_CAN is not set +# CONFIG_USE_I2C is not set +# CONFIG_USE_TIMER is not set +# CONFIG_USE_MIO is not set +# CONFIG_USE_SDMMC is not set +# CONFIG_USE_PCIE is not set +# CONFIG_USE_WDT is not set +# CONFIG_USE_DMA is not set +# CONFIG_USE_NAND is not set +# CONFIG_USE_RTC is not set +# CONFIG_USE_SATA is not set +# CONFIG_USE_USB is not set +CONFIG_USE_ADC=y + +# +# ADC Configuration +# +CONFIG_USE_FADC=y +# end of ADC Configuration + +# CONFIG_USE_PWM is not set +# CONFIG_USE_IPC is not set +# end of Components Configuration + +CONFIG_USE_NEW_LIBC=y +# end of Standalone Setting + +# +# Building Option +# +# CONFIG_LOG_VERBOS is not set +# CONFIG_LOG_DEBUG is not set +CONFIG_LOG_INFO=y +# CONFIG_LOG_WARN is not set +# CONFIG_LOG_ERROR is not set +# CONFIG_LOG_NONE is not set +CONFIG_USE_DEFAULT_INTERRUPT_CONFIG=y +CONFIG_INTERRUPT_ROLE_MASTER=y +# CONFIG_INTERRUPT_ROLE_SLAVE is not set +# CONFIG_LOG_EXTRA_INFO is not set +# CONFIG_BOOTUP_DEBUG_PRINTS is not set + +# +# Linker Options +# +# CONFIG_AARCH32_RAM_LD is not set +CONFIG_AARCH64_RAM_LD=y +# CONFIG_USER_DEFINED_LD is not set +CONFIG_LINK_SCRIPT_ROM=y +CONFIG_ROM_START_UP_ADDR=0x80100000 +CONFIG_ROM_SIZE_MB=1 +CONFIG_LINK_SCRIPT_RAM=y +CONFIG_RAM_START_UP_ADDR=0x81000000 +CONFIG_RAM_SIZE_MB=64 +CONFIG_HEAP_SIZE=1 +CONFIG_STACK_SIZE=0x100000 +CONFIG_FPU_STACK_SIZE=0x1000 +# end of Linker Options + +# +# Compiler Options +# +CONFIG_OUTPUT_BINARY=y +# end of Compiler Options +# end of Building Option + +# +# Component Configuration +# + +# +# Freertos Uart Drivers +# +CONFIG_FREERTOS_USE_UART=y +# end of Freertos Uart Drivers + +# +# Freertos Pwm Drivers +# +# CONFIG_FREERTOS_USE_PWM is not set +# end of Freertos Pwm Drivers + +# +# Freertos Qspi Drivers +# +# CONFIG_FREERTOS_USE_QSPI is not set +# end of Freertos Qspi Drivers + +# +# Freertos Wdt Drivers +# +# CONFIG_FREERTOS_USE_WDT is not set +# end of Freertos Wdt Drivers + +# +# Freertos Eth Drivers +# +# CONFIG_FREERTOS_USE_XMAC is not set +# end of Freertos Eth Drivers + +# +# Freertos Gpio Drivers +# +# CONFIG_FREERTOS_USE_GPIO is not set +# end of Freertos Gpio Drivers + +# +# Freertos Spim Drivers +# +# CONFIG_FREERTOS_USE_FSPIM is not set +# end of Freertos Spim Drivers + +# +# Freertos DMA Drivers +# +# CONFIG_FREERTOS_USE_FDDMA is not set +# CONFIG_FREERTOS_USE_FGDMA is not set +# end of Freertos DMA Drivers + +# +# Freertos MMC Drivers +# +# CONFIG_FREERTOS_USE_FSDIO is not set +# end of Freertos MMC Drivers + +# +# Freertos Adc Drivers +# +CONFIG_FREERTOS_USE_ADC=y +# end of Freertos Adc Drivers +# end of Component Configuration + +# +# FreeRTOS Setting +# +# CONFIG_USE_LWIP is not set +CONFIG_USE_BACKTRACE=y +# CONFIG_USE_FATFS is not set +# CONFIG_USE_SFUD is not set +# CONFIG_USE_SPIFFS is not set +# CONFIG_USE_AMP is not set +CONFIG_USE_LETTER_SHELL=y + +# +# Letter Shell Configuration +# +CONFIG_LS_PL011_UART=y +CONFIG_DEFAULT_LETTER_SHELL_USE_UART1=y +# CONFIG_DEFAULT_LETTER_SHELL_USE_UART0 is not set +# CONFIG_DEFAULT_LETTER_SHELL_USE_UART2 is not set +# end of Letter Shell Configuration + +# CONFIG_USE_TLSF is not set +# CONFIG_USE_SDMMC_CMD is not set +# end of FreeRTOS Setting diff --git a/example/peripheral/adc/configs/e2000q_aarch32_eg_configs b/example/peripheral/adc/configs/e2000q_aarch32_eg_configs new file mode 100644 index 00000000..2af361a1 --- /dev/null +++ b/example/peripheral/adc/configs/e2000q_aarch32_eg_configs @@ -0,0 +1,213 @@ + +# +# Freertos Configuration +# +CONFIG_TARGET_NAME="e2000q_freertos_a32" +# end of Freertos Configuration + +# +# Standalone Setting +# +CONFIG_USE_FREERTOS=y + +# +# Arch Configuration +# +CONFIG_TARGET_ARMV8_AARCH32=y +# CONFIG_TARGET_ARMV8_AARCH64 is not set +CONFIG_USE_CACHE=y +CONFIG_USE_MMU=y +CONFIG_USE_SYS_TICK=y +CONFIG_USE_AARCH64_L1_TO_AARCH32=y +# end of Arch Configuration + +# +# Board Configuration +# +# CONFIG_TARGET_F2000_4 is not set +# CONFIG_TARGET_D2000 is not set +CONFIG_TARGET_E2000Q=y +# CONFIG_TARGET_E2000D is not set +# CONFIG_TARGET_E2000S is not set +CONFIG_TARGET_E2000=y +CONFIG_DEFAULT_DEBUG_PRINT_UART1=y +# CONFIG_DEFAULT_DEBUG_PRINT_UART0 is not set +# CONFIG_DEFAULT_DEBUG_PRINT_UART2 is not set +# end of Board Configuration + +# +# Components Configuration +# +# CONFIG_USE_SPI is not set +# CONFIG_USE_QSPI is not set +CONFIG_USE_GIC=y +CONFIG_ENABLE_GICV3=y +CONFIG_USE_SERIAL=y + +# +# Usart Configuration +# +CONFIG_ENABLE_Pl011_UART=y +# end of Usart Configuration + +# CONFIG_USE_GPIO is not set +# CONFIG_USE_ETH is not set +# CONFIG_USE_CAN is not set +# CONFIG_USE_I2C is not set +# CONFIG_USE_TIMER is not set +# CONFIG_USE_MIO is not set +# CONFIG_USE_SDMMC is not set +# CONFIG_USE_PCIE is not set +# CONFIG_USE_WDT is not set +# CONFIG_USE_DMA is not set +# CONFIG_USE_NAND is not set +# CONFIG_USE_RTC is not set +# CONFIG_USE_SATA is not set +# CONFIG_USE_USB is not set +CONFIG_USE_ADC=y + +# +# ADC Configuration +# +CONFIG_USE_FADC=y +# end of ADC Configuration + +# CONFIG_USE_PWM is not set +# CONFIG_USE_IPC is not set +# end of Components Configuration + +CONFIG_USE_NEW_LIBC=y +# end of Standalone Setting + +# +# Building Option +# +# CONFIG_LOG_VERBOS is not set +# CONFIG_LOG_DEBUG is not set +CONFIG_LOG_INFO=y +# CONFIG_LOG_WARN is not set +# CONFIG_LOG_ERROR is not set +# CONFIG_LOG_NONE is not set +CONFIG_USE_DEFAULT_INTERRUPT_CONFIG=y +CONFIG_INTERRUPT_ROLE_MASTER=y +# CONFIG_INTERRUPT_ROLE_SLAVE is not set +# CONFIG_LOG_EXTRA_INFO is not set +# CONFIG_BOOTUP_DEBUG_PRINTS is not set + +# +# Linker Options +# +CONFIG_AARCH32_RAM_LD=y +# CONFIG_AARCH64_RAM_LD is not set +# CONFIG_USER_DEFINED_LD is not set +CONFIG_LINK_SCRIPT_ROM=y +CONFIG_ROM_START_UP_ADDR=0x80100000 +CONFIG_ROM_SIZE_MB=1 +CONFIG_LINK_SCRIPT_RAM=y +CONFIG_RAM_START_UP_ADDR=0x81000000 +CONFIG_RAM_SIZE_MB=64 +CONFIG_HEAP_SIZE=1 +CONFIG_SVC_STACK_SIZE=0x1000 +CONFIG_SYS_STACK_SIZE=0x1000 +CONFIG_IRQ_STACK_SIZE=0x1000 +CONFIG_ABORT_STACK_SIZE=0x1000 +CONFIG_FIQ_STACK_SIZE=0x1000 +CONFIG_UNDEF_STACK_SIZE=0x1000 +# end of Linker Options + +# +# Compiler Options +# +CONFIG_OUTPUT_BINARY=y +# end of Compiler Options +# end of Building Option + +# +# Component Configuration +# + +# +# Freertos Uart Drivers +# +CONFIG_FREERTOS_USE_UART=y +# end of Freertos Uart Drivers + +# +# Freertos Pwm Drivers +# +# CONFIG_FREERTOS_USE_PWM is not set +# end of Freertos Pwm Drivers + +# +# Freertos Qspi Drivers +# +# CONFIG_FREERTOS_USE_QSPI is not set +# end of Freertos Qspi Drivers + +# +# Freertos Wdt Drivers +# +# CONFIG_FREERTOS_USE_WDT is not set +# end of Freertos Wdt Drivers + +# +# Freertos Eth Drivers +# +# CONFIG_FREERTOS_USE_XMAC is not set +# end of Freertos Eth Drivers + +# +# Freertos Gpio Drivers +# +# CONFIG_FREERTOS_USE_GPIO is not set +# end of Freertos Gpio Drivers + +# +# Freertos Spim Drivers +# +# CONFIG_FREERTOS_USE_FSPIM is not set +# end of Freertos Spim Drivers + +# +# Freertos DMA Drivers +# +# CONFIG_FREERTOS_USE_FDDMA is not set +# CONFIG_FREERTOS_USE_FGDMA is not set +# end of Freertos DMA Drivers + +# +# Freertos MMC Drivers +# +# CONFIG_FREERTOS_USE_FSDIO is not set +# end of Freertos MMC Drivers + +# +# Freertos Adc Drivers +# +CONFIG_FREERTOS_USE_ADC=y +# end of Freertos Adc Drivers +# end of Component Configuration + +# +# FreeRTOS Setting +# +# CONFIG_USE_LWIP is not set +CONFIG_USE_BACKTRACE=y +# CONFIG_USE_FATFS is not set +# CONFIG_USE_SFUD is not set +# CONFIG_USE_SPIFFS is not set +# CONFIG_USE_AMP is not set +CONFIG_USE_LETTER_SHELL=y + +# +# Letter Shell Configuration +# +CONFIG_LS_PL011_UART=y +CONFIG_DEFAULT_LETTER_SHELL_USE_UART1=y +# CONFIG_DEFAULT_LETTER_SHELL_USE_UART0 is not set +# CONFIG_DEFAULT_LETTER_SHELL_USE_UART2 is not set +# end of Letter Shell Configuration + +# CONFIG_USE_TLSF is not set +# CONFIG_USE_SDMMC_CMD is not set +# end of FreeRTOS Setting diff --git a/example/peripheral/adc/configs/e2000q_aarch64_eg_configs b/example/peripheral/adc/configs/e2000q_aarch64_eg_configs new file mode 100644 index 00000000..6b48134c --- /dev/null +++ b/example/peripheral/adc/configs/e2000q_aarch64_eg_configs @@ -0,0 +1,209 @@ + +# +# Freertos Configuration +# +CONFIG_TARGET_NAME="e2000q_freertos_a64" +# end of Freertos Configuration + +# +# Standalone Setting +# +CONFIG_USE_FREERTOS=y + +# +# Arch Configuration +# +# CONFIG_TARGET_ARMV8_AARCH32 is not set +CONFIG_TARGET_ARMV8_AARCH64=y +CONFIG_USE_CACHE=y +CONFIG_USE_MMU=y +CONFIG_USE_SYS_TICK=y +# CONFIG_MMU_DEBUG_PRINTS is not set +# end of Arch Configuration + +# +# Board Configuration +# +# CONFIG_TARGET_F2000_4 is not set +# CONFIG_TARGET_D2000 is not set +CONFIG_TARGET_E2000Q=y +# CONFIG_TARGET_E2000D is not set +# CONFIG_TARGET_E2000S is not set +CONFIG_TARGET_E2000=y +CONFIG_DEFAULT_DEBUG_PRINT_UART1=y +# CONFIG_DEFAULT_DEBUG_PRINT_UART0 is not set +# CONFIG_DEFAULT_DEBUG_PRINT_UART2 is not set +# end of Board Configuration + +# +# Components Configuration +# +# CONFIG_USE_SPI is not set +# CONFIG_USE_QSPI is not set +CONFIG_USE_GIC=y +CONFIG_ENABLE_GICV3=y +CONFIG_USE_SERIAL=y + +# +# Usart Configuration +# +CONFIG_ENABLE_Pl011_UART=y +# end of Usart Configuration + +# CONFIG_USE_GPIO is not set +# CONFIG_USE_ETH is not set +# CONFIG_USE_CAN is not set +# CONFIG_USE_I2C is not set +# CONFIG_USE_TIMER is not set +# CONFIG_USE_MIO is not set +# CONFIG_USE_SDMMC is not set +# CONFIG_USE_PCIE is not set +# CONFIG_USE_WDT is not set +# CONFIG_USE_DMA is not set +# CONFIG_USE_NAND is not set +# CONFIG_USE_RTC is not set +# CONFIG_USE_SATA is not set +# CONFIG_USE_USB is not set +CONFIG_USE_ADC=y + +# +# ADC Configuration +# +CONFIG_USE_FADC=y +# end of ADC Configuration + +# CONFIG_USE_PWM is not set +# CONFIG_USE_IPC is not set +# end of Components Configuration + +CONFIG_USE_NEW_LIBC=y +# end of Standalone Setting + +# +# Building Option +# +# CONFIG_LOG_VERBOS is not set +# CONFIG_LOG_DEBUG is not set +CONFIG_LOG_INFO=y +# CONFIG_LOG_WARN is not set +# CONFIG_LOG_ERROR is not set +# CONFIG_LOG_NONE is not set +CONFIG_USE_DEFAULT_INTERRUPT_CONFIG=y +CONFIG_INTERRUPT_ROLE_MASTER=y +# CONFIG_INTERRUPT_ROLE_SLAVE is not set +# CONFIG_LOG_EXTRA_INFO is not set +# CONFIG_BOOTUP_DEBUG_PRINTS is not set + +# +# Linker Options +# +# CONFIG_AARCH32_RAM_LD is not set +CONFIG_AARCH64_RAM_LD=y +# CONFIG_USER_DEFINED_LD is not set +CONFIG_LINK_SCRIPT_ROM=y +CONFIG_ROM_START_UP_ADDR=0x80100000 +CONFIG_ROM_SIZE_MB=1 +CONFIG_LINK_SCRIPT_RAM=y +CONFIG_RAM_START_UP_ADDR=0x81000000 +CONFIG_RAM_SIZE_MB=64 +CONFIG_HEAP_SIZE=1 +CONFIG_STACK_SIZE=0x100000 +CONFIG_FPU_STACK_SIZE=0x1000 +# end of Linker Options + +# +# Compiler Options +# +CONFIG_OUTPUT_BINARY=y +# end of Compiler Options +# end of Building Option + +# +# Component Configuration +# + +# +# Freertos Uart Drivers +# +CONFIG_FREERTOS_USE_UART=y +# end of Freertos Uart Drivers + +# +# Freertos Pwm Drivers +# +# CONFIG_FREERTOS_USE_PWM is not set +# end of Freertos Pwm Drivers + +# +# Freertos Qspi Drivers +# +# CONFIG_FREERTOS_USE_QSPI is not set +# end of Freertos Qspi Drivers + +# +# Freertos Wdt Drivers +# +# CONFIG_FREERTOS_USE_WDT is not set +# end of Freertos Wdt Drivers + +# +# Freertos Eth Drivers +# +# CONFIG_FREERTOS_USE_XMAC is not set +# end of Freertos Eth Drivers + +# +# Freertos Gpio Drivers +# +# CONFIG_FREERTOS_USE_GPIO is not set +# end of Freertos Gpio Drivers + +# +# Freertos Spim Drivers +# +# CONFIG_FREERTOS_USE_FSPIM is not set +# end of Freertos Spim Drivers + +# +# Freertos DMA Drivers +# +# CONFIG_FREERTOS_USE_FDDMA is not set +# CONFIG_FREERTOS_USE_FGDMA is not set +# end of Freertos DMA Drivers + +# +# Freertos MMC Drivers +# +# CONFIG_FREERTOS_USE_FSDIO is not set +# end of Freertos MMC Drivers + +# +# Freertos Adc Drivers +# +CONFIG_FREERTOS_USE_ADC=y +# end of Freertos Adc Drivers +# end of Component Configuration + +# +# FreeRTOS Setting +# +# CONFIG_USE_LWIP is not set +CONFIG_USE_BACKTRACE=y +# CONFIG_USE_FATFS is not set +# CONFIG_USE_SFUD is not set +# CONFIG_USE_SPIFFS is not set +# CONFIG_USE_AMP is not set +CONFIG_USE_LETTER_SHELL=y + +# +# Letter Shell Configuration +# +CONFIG_LS_PL011_UART=y +CONFIG_DEFAULT_LETTER_SHELL_USE_UART1=y +# CONFIG_DEFAULT_LETTER_SHELL_USE_UART0 is not set +# CONFIG_DEFAULT_LETTER_SHELL_USE_UART2 is not set +# end of Letter Shell Configuration + +# CONFIG_USE_TLSF is not set +# CONFIG_USE_SDMMC_CMD is not set +# end of FreeRTOS Setting diff --git a/example/peripheral/adc/figs/create.png b/example/peripheral/adc/figs/create.png new file mode 100644 index 0000000000000000000000000000000000000000..72b39e56766fde304a0dad2b614a6496166211d0 GIT binary patch literal 27628 zcmd?RcT|&0yFMI5L8K_66lnqq7JBaiQ4m2u5Ty6s3B4sKiYQ2wfJg^vB27R_=pY^G zO$ZQr4?PK_z!%(mpZ&h)ea|_6eCvGcTfbk{ay@y%JTv#qJu}yRUH3e`(a}<)y>RUU z005v>e|TRP063!p0FafRry%{pufo7dx{!J6s@($=_pz;!Zq7O=KUM|+N}<#Qt8=7# zD$j>T-T=U5pVNP2GxnST0D#ML_4~?C1I$sWQGtthXjDDSZr?&@C%N&qEpp#*Px)*@%kyMlJH zXf=HTo`}VITZ!zWiTl|8jiV#HZY4QjCRWt@oqBva_YtlOMF_ND#Z44EGfFlmH#RvB-CXy#|r{a)ikIi1I)Y=^-fhsS2(=>#(bv4 zHuVrzE-f|kZro5>?ramKj(xFsevpZU_@^QWT2h>~-i)8vDptVsuk`DLm=L5To zL0k));J}>pX8iL%tH`2ISCkN6y!o~qe-1{!O7^D-YP7M2G-Mes{wxKfP`8j2gpuj| z)iUXaDJ9x4y7`L$fMoYiD9epqM+JcX-^RX45Io~~_Rl{%P;_krYhFkQqOj-YR;1?% zc!E5iL9m5ghdes@?(qPJ>=&ej>UjUx{v>n#Vu|{%)8_XQW$@XMv*0gi7GOA*^0!(4 zJb(f3J!%?lc2Mk1nu&1CntP3;-15zL0_`{%Q$29T*75CnhY+9E&4fUMVX151J0vo; zFIbX?`&^%2AV@9V4!JB9Sne z^=g80c=X^M1YE=KQCT&j$lIAzKrf zqTcX~`3)PW)Q-d9k*^wc`NiCVHCEcmg=+(p?fZicue*O%ym;GxA+*KzSX9wggeuhg z`DrJgn*tRGd^Y4f6D5IU_fIa>FoB}@;KNaVCh&w`ElsK!QPGet(WcQ&Gqa$@u-mjQQH3bnU4CF`pDTL7w-^5o4i445K}#CeQ@AdTi3p zdD;_y%Kn%}BTJjMS!Z%!B9 z{K1k~q2DA6uDCR*VK76Xm@ITWtYPi8*j${0p}?oi?Q4IHnLq7na+)ZER$#>Fi~oy? zA1R zD<|(_?%vJn34O(0;#xKMbB5!e$A_c9qrO}veZFzf%gzpSY_;G$55{1^8eF2sumC&W zls%e)bNf5e8EUSKvT_Hvk6GPce^^_X=ziV$ucNZ-wS!i>1A(0OqJz|nI(ErrsKecK z`hV@O#~X4mSq}=hCqqtZ+hkLChjG_+iTvNRt>7iR_M{BrBAnypL3e!RWZFh88B22W z#VQ1As~Bk%{X#G5*tgv7|7I+VWTX`1xY^ii-MRbi#JxPL8PQrE&xfFm%Ir}>9>gWq z&=anx$i=7b)28m7FUKFH&WA0(YRIxJU?0oYd=w7RTW2|$-cFE1NzbRwPjtgjxgGoR z$I11fPZ~)}FWpP@({#VbRmyNC4xSwhUC8>19>KqWow80}-XySQnm5K_wYGf|$Du?D z0!^)2+E@U2%JSj;YX1-u3SX(gfKi<|T5UOUKvQjo{TTqo5G356ijfq}da{x>0?RAM zVCto{6fII%0tiE#2A1K>UIvj(*5?5LcNJ1y(Ut>7TxUoj1)!Ri6lQuRmI4#Q+AaYA zQxQp2fa(htoWW2MxB;3bNkAT^v1618K~7eBTZ)iE)2d8Ti^al+g_oZH#}m@MhvoOq z{)YjxH~a;R|86|5`na4`;y>;WJsk%{MR#joZkc}jyT%&$_CMB03Ld`wV>A&$v+WzW zHlyK2`omMw3RH~nH>P=qdlgK&HzOGtLgP`+eC?1LOS-Qi_4tr^#!lpA`8@z&NA!2` zDnpvNLQ)UwE=w?kL9LG4E}eX2>AOG%XzKZ0JlBF|dgmV=UpA+i-v5XDT=PGk{~4A< z)zl%pZGGP16)Akb{JU}^CY51i4{2~VNbcAX`3YZb>USr_LHB=KhO>@jAX03 zV)28!;|?X@I;nZy#Z{_r{&if57BvBg?7*a2UhjhXa@?yU+z}S5fsPs~>G=h5WFmQc z<`SvzRPeyqKsNpepJg+eUAr%*n_mllV|!x*zrDhGT8P92~ZRe>*Lr>Hoo_BaD zlR7`6d_JxrB}>uWM%`EC?l=K|G=+qo5OUg%qj=3Tza(okUX@Go(OQ1oXoy1X_f%uP zwbZ-~y3%^A(UV=7h1I;dH+D!(@^%wDX-G65_TOOVZRV63e905or@>2^C=7-)RB>wL z^jtUnNhRX~f3x{q;XtKW5VZs*hT>DLLqGH3o5xFp_=4AmtX`-0g1KlgK{TMM?`o{> zF=O0fhyC$ujM<2mQGuWfjebYk??aQ&Ro!HO^H?tOttWfz7eEhQq@>j>c4riNT8k`V zeleY0y0KbdNN^4@iqY>gcIP&!P^)BGT0WA1m;WNVVyOqqqy|3L<|(-DB+8Z?Y(JCJ zU|OI1$bA&*8d#4f@R^#?9NmM$kd%K`Ja3pneL8MbFwMknE&IfPANP&a5e)|LhnR0u zN-BPGE;?ziW`m!7?i!=LpZT`&1gw=te?gpg;T=cg{XK(veRvwE$S&=ALtVV-@mG9* zKNDg;Zya)_kA}>XlC-87tW&e8dTuz5O4X36t8@^#vPV2CK+PlT;^q9r=e5Q80uN)5 ze?^CSb}B}69j(EnQh&@qT5_{=Qyr_rmhbOgUOZS_B6VLFe0lLsyBb>70N&75b@MJF zs^?Y(ftgRmS1~T%3R^xc^m0_n4IVtXz#qsm)}~W(^0FX`OYlH=dZ?f4S@zAPzk15j z$UGUdz9y;`!uZNv@p#6=S)#{Rt3e*jmeTxzYqjZOBdibHKMNtQ-xb|%w|My+!t%Mg!=JsTdXghE~^r01PJ>TydzV0poZV$hK);{EE)$X6-)7J2mshoScy%@ZmWl-*m|2m1?`=v<`c z^f6}uGZYfux74CC&$7HEc}0IU@6xb*quQPV9B7(YG-sBAkr zZso!HH42Hid4$a97)RbJ7=E@@?H3$h4+xWbsd%8~RKoGjH@t1&{>x7~964#xZhO%- z6>=YOgWXGYQx2OwVijHfwU?f;uuh_=(bD{Nx|c zpT+4gs?c%xEM!gbz!evIw#TeH-H?4ja_T|(DT+g^UHBJuaqrVVk7pYq~7O*tLDZ^*>Owj;6XbLe$kiuTc0p5w|jOG zCS?jl)Wc^UweRjElp?4Bhf1qiY^^^m4DklA2jR{e^z9x=qVU z{PU5j3hC7~54D;ggxgbij9@Ssfb)E4=i$|Pik(8|=qRkn;l=4Dn z)1BSiq2WLLYU`M-6_yz8ai#5p&_P&lQ}+|=FS$Y;cN~-_l}2wax%#nnVL;g%eSf;} zx#C{)vJ3EWs-__>!-rH>Qrc?Z+QkYl7iF7w;i|P}#x$jL#Av0*C(}z~d~Tsn91J0LS=rRk9*bfg~F}&V)Xt@ZxCBB0JQN%AC9ruIwT{^)YB2N~$O| zZE6x_ZW3}x7~UPaQ)T~*r_qSB!1SVT>JaK~*8udQOyyFVACI}65McIk2DCd{e=0qr ztLwVAxZ~mAa<}!v?pwUDNn7f^X0Twt;^J{tyK>RA^O2-dS5OVX^J*w_* zdwr;Q9{c?ew6q!T^WZgAWqQHVa+G30Lj%ZUlX&m(Xq!_(yJ07!?KH!4EK$s5gmq*zT60|-CE3FnP zA5mjVwXh1Y+Pr1=5;VGdIDX`mDvUBYS|E3+$;>`85pUw=na=0>@=UmR)DZa(DTDJB z4p1GoLe9~SsqYHQtIp-z71BM`HqRb^<|OX7!UW9^`G>Z(t0`Y%&|)T%R^8c4yankH zt&;R_pipj@KxIQiLkypE!`gidnq7X@QK7nVUO_3%p<;LUxe9@}RS{3dEAS>ovXWBf z%fN@S9%37V7$Btbb_=j_+a*#gfz(v-rG{G!2^NRh42&fzdp)d^+}!-vNfKYbi$Fxu zQzjLO&_M8~O%3*%(2aWz6Cq-0dtJRzTu{c-uu_Q$&v|sON!xJ!OkS+`#Mq6c3$%B7 z6XczvGEs&4ZhN%&5k4LMh%0q^oo3yYD%ZdqWz6@INlvQPJWwm^%y`3Z;d#LJij_&F zC85#(A*1SXhrF+hwr>A<{)nx)rjicB{t+{q#TJqv-4xpj*}1XAr;ub7*VV1Kdms?u zHw7*_r|u?Vn-)^ay#9i98m=)hrqsyRe!OjA>U6+AaHn}EJo zg;ZB_SGI|{&coJ`eH4T5`aYzgIO4O2U!yX=z2i0Rp&c1(d;e=*>fNU%zV<2`+|YyV zyS~pIcY8P}O@hBD#@G^y9wV{pKshE)--1E z{hU|-_6w*KCmd)Ibs>=rLh{{sf z1qH5$7X=Afd8*SVMcANv0W{^!N2|+3{eydM9D=FJRg(FS`Wi3)DxE- z<^!ARE}p}RXWX3()`*u+g1>{mvklChySMi}&3~4ULx(i@d(R&2cv&nnc~6mKVjA3g zWghLV^Ir%OxJaw0%+MFZRg{IGS+;oT3|m82M{4~I4JNgoUG6viL4+)^>&Kd%FtwfL z1ekzmz|tpnO&#EItG|RgYYLmt2)WR?0yco9^QsD~c!22K=40t|QJEKQ4i>pk`f|19 zOUN4u6LSmjUsztk=WsoAs(OjiS~>2_J_9p-zgy#J{H&(L8LzBD(YJ01{?0sP{$;ga zybYx5e$#E~k<4h^W6y)3w$+c9s}vw>-1OR?wt~O^Fi^7)qy-hHfy-$E+&?b>@50KE z;)7=$mnRpS_aX9uBj}tmo27La^EL#6@MIg%co>*A!e~jp-~odXt?O)t+&1qPBNN8s zu|0H}#5$F}`Ghd6#^=F}DYthEH%A}X++*RCQvh2*I5x-unioT#^0FAcOfjcv8z1{| zJ&*3%F5r_#lt^dSLkPi}Ev3H(Jav6-eUVb953$&)2=uH$nM;^~xFBCDDOoRuNJ_*@ zf6HjUurVC+LC{dOTb-3nKxxE{e79j%cD(;ubTn{Ad!Kq6R+YD(_3UTYhDN2oC2D1P zw`rEidcPOiDSQy#k4JK)r3xC~cty@_eE%quoKuh${e zhEc`(&ra^L|Jb?OHg0xcC*RY8}520& z{pkP;G-3+81_dn`(j`9XwwamicLPy0ezJ{Jtz#4PVVftfhjO+l0A^`3p$k;m-ObjK zOq}k?to$uudO+*%bndh={1Jjftds(r-5Beku6?!cQCko^1i^f7%H{Sujr^XbLk%Wi zA@E(lF+Oecgw6$6)tyMNj^$eSOJr0T-EB2i1kAq6fWpG9d_}T1hADw9ven-gZG%NR zosJ?zOPOU`MKf33`j%Q@KOe$_QsQy#Eh74<@*YrNH$&iLm1DATq64u7zl3{qVzP8T z+=6X}sjWdK2>#MZr1e$x^l-><10c*lTyZ_Toolr1J&mKdVV6<^GX2}dEfFiv;Yt)U z#UqxcO(`AD)%CRK7t=TV#$N{Wv3uzx-g@K*^gw+$+@+JLcRSLjFQPg)qiF6!l;7&@hNe#!z?v@MeZX~w1CE5d%(n53O0@_PSIVI&aqIxjHe?Vk~%|5 z$zMR^%ez@K$toRv{f*3$m{_23C;$$H8C?+E7B$nRRJx!7cPCx(J)c<>9|2JxQ!FPC!#bUQjkf+(? zusj{HyCEm=HT)98;dsB$Xp6oIQjuw~9NCy&BE7w_jpsyM8rt>{+z&jcLX4*)m#pg) zt_hLU;}cVp_OO=kc3u|n=7>= zLgUg~q?{XoH%!s?vJXQ$xO`6io z=1b>VnaWRH8!NFAg3eES;{AFV8!aq~Hw!8$VsIp}EzBt6V(4Z5eXP1fx?w=W1mD$@ zD%jXo!tI{GUh7-@0Yf$AF&a{c*cR6pqldWN3g0zC;`!-*8HvV~Bh{1CoJn^HIoXBJ zsuiZ8BI0yLS1gK1`OC1{Oz5O-qPD6893+y>PQRc1_3>1RAq@(W=j*_}!ldFFGBWjBc(*M_n5Q1+rdMUc(~W%6+Iz{Zr^kdSX?WqBG1c%>t&! zs1oCIc_|d#mFYcHpyl4)Md)k0bh|vw>6a}u#QWu_M}=R{{<~v24ToBVGUm&xW%K=w zp8cOpGR(_-b?QmWQvMtXy|d;wwcLh=m{dyTwZByK$oLCJ-1p~)Agm*MM7K50;X#3o zVh;2n(*Q2Yc4iD z*?Ta`L0*=TSp1= zG*>9f?-?mQ5BPKycRq?uN<#gN?&(kN!KS6M1<`@!(M76H6seanLy z%cL*_VJq+rdE$I+mgHA}zcQy)S)KHnW9R11np$^m`8}D%Ct}TUB=Lrkbbul61xb=m9eAyI!TGHRO=Wleg?jM8 z`6Dng)@R+|?M#IVH0$K}7>`#2E5OIyqJKUjq>ysp8>`}+DR1^L#p zkJeTxsB(jw0TyHovv_N_+CdPYPT;^Q^@@GEd>qbA=w{*L+@Y>f6b>+p9EEl5Pkh*H zd+iQ65xa=MgSkI54YAdCir6)U-8lZ1AoC(Eh_j-@@f)+Oy;9wCCab@y^Xjm^wI#n5 zd{EXn4|-cC?y0>?O&+{>fZMIf@}p2)&(~}~oZ;)axU@-qVQjGW%Mmd%;dsq1c#r8i z#nIHs!G-X>xHxe8il@jGypWsN$>r9Eeh_Qn8%6Si&(wq1*HLqs%o*iwg)d)EaF#%-ySv_dEZ%@t{WnB{4C` zHU6&EkVE5K))FAVWL1UJ^id(`{;E8%xcs#kZ%TruDPpnCBIt9^V^htN6a!$s8d_7u z4L=B8k~H^Zp%n3;77|=14{+ZeM^+{H-mcVM{35t(bX%53zs@Y_*MT#d=Gfa!6{hs< z6)#n~g_FNWo%N51!va2cXVe4O>w@uy$BS+0>gKr%Jtz0Oj{RALeAMGG)Vo1v^inSC z`aSg!lq*Mk?Y}}9BxhhVFyw9@ERf>z8=}y8+z$FhKMGe(Jv42ZNtB zB@00>eSEHMR>kxN?q1K=0z8tDgcCfHrU;J1XMg z#^;2rHRSrWu5}QlYxq&K^~2qSEy!~z#d2odS#@E|bA7c<{4q$v2dHm-J1q?EnT6B{ zt&|?v@UjybvGah5p(o-Si*H?0w+*Y!_pS z==jn6yhvlPi^+ZIJ?J|7dUj5InnbX7x^YO#?s8P-Y$K%j*h+3?jam;vUTd;>SikCO zrrTjzlKhg8z{ARKxZuMV^SbPD;i(O1FZMqE2pp=y+NJ6vyFsJrK9at}@1O@Q9Q45^ zo_zLk=0z92Z5A3=avJS>@nZb+lJGLHRaw5jb$*`c(HNhRV4i~TqT+004{=X+Wc}%+ z0~*(|Sv3Q}bpgxKVwOH*XwD zDcn7?@0XpnKAVNmQ8eC;SzmP&tSyzA+Nq1*a2uc;B7BkLpRZ&soBqIKc5M&t6&gdB z|8+dGXLLN#HlX;1txGrpbDfg{c%)$;#}u!vHsKTQ@|3Y_x46_Tr{1)mnwr~1USlFy z?tZ14C|!Y~9@}C=PU9N8v7(+^vVCnLO2X2;icU@w%yNTivtrV!5=(O#5h#E4_hy(0 z1?diuoF-~%Wb35kDVD@}_TJ}afgtN2yw3{KN7_(Ebn8b=#_k@CK7(sJqUyZ_#oe$q zzK>sl-8I8{cal|03g(C3T44APElRmLzxdFYC3N3W+xzjku6|ua7rYpz>*VFnedh%CgkIy|zy=m=qb|tE$i6HWV!V@p!rRB*3KMlD5eA zh{yENVftsIH#c zzO$U%qc7w6aVO3prMT|xoZw;ogT`a4i*ESMy4UGySg8WVV0f?e&PDF*20_kC>+cz6 z#E(aQY8jZY71|4ZN>|_w4EvmS-Kn+Z#p@AS4-$g+5B0?4jNH7wCDqSzsJ4Ar&1Ziwzd4|w8Q9LfLwdvq z%rQ-Rq%ZC+LUw+(+uAX&af<4_&?I%!6w(<`GdtB60asYPY4vqZ%VD=g66@d7C0pt} zjjcap$G#M_ly*l*i`A{<)n|9XBhUhF_YrX1f>yC0U2akH*ky8%%b!v;7+Ynifm^D2 zvn@J?iCh|DzL|<2OzG6uJ^7Gh4t!y8J&{vA#@4g(0OSP8!qaIH@4rgFAAiVuIN8$h zZhhIBrASX;Z)|0IlqD(8=2h#6pe#%IJ=zUoOPG%5qY*Z6$^{R$y;o=2&b2H4 ziWGsDUjDR;@cGfNbt58*jn;D4=UY^;o&m#w6%+&{~ziq`nxt=NU&fo4gXUhEZWn6POy=?G`echQAtLr&aqImu5- z?W`n#&@B&xP={_*ba=0}9ShZCINyQ?vvaPR_qT>?{Io!Gi8QWtag+Dn=4?M3rmP1> zu@VvPE5)9_013Dq9D8E ze0v6I`})TnsViCalxkA>B}J&r9(tT*2v^MIYfHQ$3fH1&$Ev@s#S+A#xF)319){N5 zu9;j=ZeLQLTu%@i2?=DndlcvcDPNbPnw&PWvmAJv*Ee68QN)!0~5@!r0O9G!$fkmICQ$lIs!iuqc+B>}h(u5)@ z%LoBdHY{fKLn;MM`odS~hb~$|SWd`&XYb;osa;H3N4#=(tf)9qHz6B_Aj%sT-#^{Q z{b`fgD=@tzcRYboTcjJyR7hL%(CK};en9nVV_5NR?Y$oqR<6MZ_rUM{KEJ6L$f`p8 zQa6rb%CeB1x9k`bv@z=F&%!6`TR`9_=^cAk+(-SGzy}1g2*rB<89ogFO8Zx~a@#v) z$+rvB^uW};#c7@&H^bKWl|W9dNcmuUPf1zqmno7I{c{duoKeo>LvB%sj5k@2#koCK zgVc%=^OwGZ?Satu)W_wdJzR=AZd;K-F1U2^F8S;(Nv6ikDyx?lNxt{o<>`x4XE&Qj zW>*UzzXeoVT1TAIFr^>j@L3M4s%745$PFzb_j;K@#8PJ;-PrE_7E;HrzVTeGllK-(GdI5^&vb@kvB!)CsN0Ryqd^-F%f(sO@8d!P)?DN5r1UD8UNDJ*5ERwt1XDSbOij1q z7e5&+vHc*(S6j&L9b>#J8{1l8nKjdj9Gm!WTD~uY+ce%+9Od+yTSz$VO7YXZyh&j5 zM8`zuW2+)US=n)POPIZpD{apUz2f3<{k#rB{<Vf@MHuOz(X7PmEi{Wg zy1X&^UR1gQ5vMWymcN<~#|rp6Z~jwj-UT;_(YBEYZmwf z4XY9Jn?IAHUisIam8?%!aOV)7-f?aF+JD`jmyTd`FTvR6wer^E4lapu1`_fGupb1t zF&{2MT9=8P*}|hY9z(x&U`>tqsuL3j`v=*Y8r&7;XIj4Y-}2|CtK@6HR;rs2jQ4uj zyLpy$UIoX(q;?P>3Q==aY>$KaP^H@iF5qAA9*E(^A=V$#edNI*<{e+RAHiRHDcwzh z9FPxZA6srZcGe$BXWRRo5+>ply;@{%N0ap`OYVO8LFuGX@>aQuLFjmQQ3sho?k$Uh zryX5lG=AFiHzT6}B*f)tRgzVL3eU9$x{T3{ulOanz<`lM~do#N4IlG774 zxH+5;%<_y&Y|@jHzJG9CyxJlN{=IQ9lrj(8(x(0SQ3ykbn-x;k*SnN{JZ3?Bk}pqI z-DKgxH{8;V5F;L7vhe#QLSceN%6^4DvI68Hs)*c>=a4G|{TyBxxU@)p?k#n6=r?*B z(2Ba{mIsP332wM9V!G%Eh~kXOVJ+xW;AKt0FPxbi?b?{F%Z6P+XZ6ixU5Bx{mQda1 zVI5f;v0jJ8Xt|@k^QKBq3jGY1+?$+*pqD<>2jjOe#t5FyK_}Y;P732^xs@l&>08pW z^K_|dFZX_95xW0REOPULU)+p!V83XcU93)2AQG$A63Sh19RkIV4EDtm3MP8&IDdV% z9`(=ajLw&QYZZ>6yBDR@1K-% z7c=>um=s=94>KW7-5fvo4VnS2n6dSQ6%&NY;@oUEibvcfL zlp0460v=Ghx)xK;1Vqx=A_mR;j%z}yjVW)*Ul1{!3<{^n6rA3sBS3cpGR#NZ{B9ck zz+M&uJOq&$UCR5_+|f6=zwLQnjeJD6a$7oB&XZj*?jiI(ufuK0!qh2as21G#Emmq` z?prr)o1+KHvFihFa+0HlE%RbK)BKlic3J4RIEQxyNrGL#a^~33g*PKr$)5`pIBZSR zvWvhneg{Z>%xZG3)ah^nH! zllC`CqAj~vTs(jT4ho}N0}6M#xRr$xHvCttJO4(esI~zB|B}(dS6)856k{57IX8S+ zaftO&rO(mpzd+GEEr!gV9XLL}>zZPWMt{6}bhS2+Okbn+q!4tw!%q7`DBHRCGH(79 z^DPUD{Is@ZQxo_CN&$K|Jnp8QBQ8hKXvgS(0wx({aUZ%4gPC8L)mM`bCg1Rm-Gk1! z+weJ+&S{>YqRAD;(k$758@|i96d6{B(Q!R@2-`1Q+2g*iE_YUW&c639J3Dav^6|B& zQ_Qwm(lhM4!?(3(6huwWeCj)MBSDqWTTX1Y_S<>_N8%qR{yEeknpVhsWBRxLIBZKe%ba zkX>B#i*0FTW{(b^qcR!Z$F}3gq%t%9-J`!LZ604*z>_b;cek`znBzv|v~x7YUzpT?Yn+ub&8(_H!SX}-deViXdA>jpC*R3i z52jl)*Ku;r|9g<+d+~bk)K~Sp{-4q*u^MVKNY`x%r%T!q>wfrvZ`(g)N2xll2q}*( zGf|6D-pL>8`!TO%*xDam;BOmUmBY(tjc&U%m|4O#&Q8gZ?@*pTy67i2njHhtJB1us z!mN~|Cx!1!d;jk2UFtsjubS-{XNk0cdnB~6JLIW7f^yHK-6n3v%rvg8f_w0>Js&?6 zZl58QfRYYdx->mm7yG&H0AYE>2n@!d6LPN_d9oi!0nYp_ra0fN)qBqmPUS zU0et=kUm+Z%vC2g2aLSW8o#lFtxDk;{i6m>{)m}t{1ItZvOtZ-qST5tMLFA1|02?Y zAFzJA_dwfMzO0*`wBX+h`MiUgD=n=z-o#d23lo&aYJAjMevR?9@ct3cr}A(GuEioZ z9ttf^Wb}>Oh!37m@VY9Rg{sgQ>Ah*;ZVEJCTfr4HyP~~cr*uIc%gHWoH92k{Gn%Tm zX)qO`=zDTR9?4>}WIhyRi>ZCQ79uMLe9P853tn3qI#$K9r{JiVfN$>XJ`Py9kNDy) zC^RtSukWiC$`e%poo=1~0!1|2 zWL$%to*%Nv_`&=i-3w*0pIkk+pwy1f_)5a}W3_Zgpt7%_FEri1)$?XYyXxfWMdfSD z%ECwcQ$Zc4A!K|lSwX%0z5AFgR4u~A4SHQI?}Hhb+0iU<@;Dh%v(VWz7PG*spKAHz z3-~suk1sHI(Q71PBlF0T^ViLOS&r6+W-weZ4(~B6F8p1v|bdKQ=Xf}SiE-O z)JMS+Px;Pjd36)wP|w|Y%bWkZKqRlcYB%-xPjZCfM%`y{$yD>GDusP#Bt-;u57;hk z92%8~jj#NikS=IQ1K}5%#uD5>24;H7oLpfku$y5RKG&g)`S$CqZM$2M=~{t%TOZ~w zH~BDLhl|g9q@gY{mU~0Hi8CJEZ0;rJWaaKj?X=;{;5mZ%NXE{Cs=LGK##$Q=nEmtc zSzrOXeK60xqb;%0a;AcMQ2+;0$<6H|N1QmqnOu)KTWI1@B>U3KCsuLk;U31J&6l6u z|HebJdF8*tp`8Ar-T800w(g$!Fr)VVOjie&TZmfocY~HvZhfJ#UE*k#rJ#kT@{O@7 zO8(O>aaj;N|@+ikxMbTEd`F9WehfX z`8-uZ9dsPIQPCBl{Nge`n#sO9!wS9s0Nx8RkPF(Rjb=-EhryjQ=3kr)2)@j3=?pz? zdynM1J(a^i9vL0_=jfLY z5U8gx+2hBrNa(S#6OPPiW*G@&1$Km&@JlD>i?W1YCZWgaIpc&m=;ku;Z9s7DLAhMe zNp2QiU|U1b#Ja43np8rbgfAszYWe-b1?fb)E5?M)wQ-9i1KVcb0VLr3-wA3z>-ybw zJ(3(I47>u9&H_n=c)KUz(tg2{`y<1Th?>$C$?gG_)}sy|Hlo5ywjn-3M<1Qb9>axd zG8OKQ_rg3tR0h49FWI&W+e!GtqzpZ;hMgRMiGeji;riT^5pzN!y;aP(YUxiS{Z@3A z7ULYRsz|jZl(&-!$wOd#j*Y9n-Er9TbyZw`l8HEYXq02NDYM*VY4CFlwp>IW!1u0Wja`AF|X4)ilbWlAaX2+Mg? zFb6G2f9mTW@^Eo*tLdjRBJJhRqR7)7zLe-|h4+N!wY>+vQ|-Tczl&HzkwM)@jLm@^ zebDnf$|#m+xhLB%^WfT4!d!#exMq}WtiYh3MaSyM4DY{CqNo2#i4KxU6764{i1X$B z;@Cbmqvb;ve8cnsYJqu5sNQrExtbQP2b`PddvddZs-g0mM^+8|SENga*EJMOFEzVp zm)npCdZ9LNDFfVCx;$fARpBw`H0s}Asz8Tn=t0~ZJWM$3yOTHk6>-0l>B1EzX1pa2 zUFW;^B)M_&sDc=xJoJ!TjodIK{3_9M1)h9#FPu;v=I6U7D=p+S`&+JavHcIZuKu|M zT3wB=3J2HQ`bC=Tg&--*iiBWi+wGZ#+WIlfd61y0)8N&=$q$nKmHhea?N?^+aoJVR- z=2h>uT`J%G-UCNEd&)&ECWi;g`8{SN>CT9!t$DLYfZ}oe@S188NH=d=VFH*}h6==gJZ+aRoMOc5w&VIRx zuBcF04-Z#lwut1R7Ok%0&2lkx{noDkIAJk8X&?~!i?U(*iWzG6`oi7~H+0Vfj_7a+ z!qn=D+UYo%@mEEL8#i|E7lD>4rDS-n%nGq7^*t%xYZmT{VmEc6@#_AVexh(DsxRo< zVsu3nXN{>!!qpIgw=O0BPRCn|$|T3PTa`9ndnO@sTZP>Rap>1gf%#8_DN6n_<=rDV zBh+DGTUV?ti2iz3<_(CQ$E8{J@j&~3o(i^x^D)Y-=D zI!h8bUt_2X1?CWV_IV=Adp)LyA3 zG$J^pCC+sv=)jLvPTghK`k=?8m8>)-9WCn}+Q%Pv|*20b^ z-1`k!ZH9{R>Vf&>ziuz;c!kN$=jo-@1z(B#8?oHPlirSqY&<-twlqZjnShk~NB6=J#pULoWp9|m|1 zxE9b}G9`qG*)@cIX4Si`rS9vdb8Ts5Hrc@9TkBPNicR4rU7A3P;f57TLnPFUT|HFB zDUvo~_qwv{ozuutx)5BtS0-)wao776V&YnNF?x5}eKG}q1Lm|Y)}6Ru+3(O;O{@m^ zHjl>b$7ilT2;2@2;c`$9f3jC{=tnnt?ZZ|J@_wi%iuU^&L+ZgTo9wZ!^w5-2-3Zm3 zsYCS_CYx@`=+8mlc-8wjz3L?=gdgfyr>_-w$4cOiK2I%^mWl#~LY1yhHJErtfDzjINnbM9E$jK^-g4cE0Ov)p_St9Tzv(KcRB z0-HKIASu1G66isqQKE^5ZSVgLmW`C(vb>>(n_#c!%fn9Ji`4G0`LCdis<8pWv+4mj z`}eslxi=+iE(qYe(am!nuYi+kAv0vil;qs}v=lElixi`R8EHA8Vf=*Nj7~^zzd04~fWoHNZTYmS4P#0&<=S2NeYH28uN24XZfzD2E&|$tjxtSEj<`Ca) z$w{Lb1i_c}=aYB(-c~-DHg#>SSde~)>B`p{8VjH=1k1dU8XaA�myhAg9e;g3rpxzT4dUp|sIGf#A?kjUaBsNqn_< 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 literal 0 HcmV?d00001 diff --git a/example/peripheral/adc/figs/delete.png b/example/peripheral/adc/figs/delete.png new file mode 100644 index 0000000000000000000000000000000000000000..2ed0454679124050188159e6bb0a0c294de741b0 GIT binary patch literal 23344 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 +#include "adc_example.h" + +int main(void) +{ + BaseType_t ret; + + /* test adc 0 */ + ret = FFreeRTOSAdcCreate(0); + if(ret != pdPASS) + goto FAIL_EXIT; + + ret = LSUserShellTask() ; + if(ret != pdPASS) + goto FAIL_EXIT; + + vTaskStartScheduler(); /* 启动任务,开启调度 */ + while (1); /* 正常不会执行到这里 */ + +FAIL_EXIT: + printf("failed 0x%x \r\n", ret); + return 0; +} diff --git a/example/peripheral/adc/makefile b/example/peripheral/adc/makefile new file mode 100644 index 00000000..c1f632e8 --- /dev/null +++ b/example/peripheral/adc/makefile @@ -0,0 +1,31 @@ +export PROJECT_DIR ?= $(shell pwd) + +export USR_SRC_DIR = $(PROJECT_DIR) \ + ./src +export USR_INC_DIR = $(PROJECT_DIR) \ + ./inc + +# 用户定义的编译目标文件上传路径 +ifeq ($(OS),Windows_NT) + USR_BOOT_DIR ?= $(subst \,/, $(PHYTIUM_DEV_PATH))/tftp +else + USR_BOOT_DIR ?= /mnt/d/tftboot +endif + + +# 设置启动镜像名 +BOOT_IMG_NAME ?= freertos + +# 指定编译freertos项目使用的makefile +include $(FREERTOS_SDK_ROOT)/make/build_freertos.mk + +# 完成编译 +boot: + make -j + @cp ./$(CONFIG_TARGET_NAME).elf $(USR_BOOT_DIR)/$(BOOT_IMG_NAME).elf +ifdef CONFIG_OUTPUT_BINARY + @cp ./$(CONFIG_TARGET_NAME).bin $(USR_BOOT_DIR)/$(BOOT_IMG_NAME).bin +endif + @ls $(USR_BOOT_DIR)/$(BOOT_IMG_NAME).* -l + + diff --git a/example/peripheral/adc/sdkconfig b/example/peripheral/adc/sdkconfig new file mode 100644 index 00000000..6b48134c --- /dev/null +++ b/example/peripheral/adc/sdkconfig @@ -0,0 +1,209 @@ + +# +# Freertos Configuration +# +CONFIG_TARGET_NAME="e2000q_freertos_a64" +# end of Freertos Configuration + +# +# Standalone Setting +# +CONFIG_USE_FREERTOS=y + +# +# Arch Configuration +# +# CONFIG_TARGET_ARMV8_AARCH32 is not set +CONFIG_TARGET_ARMV8_AARCH64=y +CONFIG_USE_CACHE=y +CONFIG_USE_MMU=y +CONFIG_USE_SYS_TICK=y +# CONFIG_MMU_DEBUG_PRINTS is not set +# end of Arch Configuration + +# +# Board Configuration +# +# CONFIG_TARGET_F2000_4 is not set +# CONFIG_TARGET_D2000 is not set +CONFIG_TARGET_E2000Q=y +# CONFIG_TARGET_E2000D is not set +# CONFIG_TARGET_E2000S is not set +CONFIG_TARGET_E2000=y +CONFIG_DEFAULT_DEBUG_PRINT_UART1=y +# CONFIG_DEFAULT_DEBUG_PRINT_UART0 is not set +# CONFIG_DEFAULT_DEBUG_PRINT_UART2 is not set +# end of Board Configuration + +# +# Components Configuration +# +# CONFIG_USE_SPI is not set +# CONFIG_USE_QSPI is not set +CONFIG_USE_GIC=y +CONFIG_ENABLE_GICV3=y +CONFIG_USE_SERIAL=y + +# +# Usart Configuration +# +CONFIG_ENABLE_Pl011_UART=y +# end of Usart Configuration + +# CONFIG_USE_GPIO is not set +# CONFIG_USE_ETH is not set +# CONFIG_USE_CAN is not set +# CONFIG_USE_I2C is not set +# CONFIG_USE_TIMER is not set +# CONFIG_USE_MIO is not set +# CONFIG_USE_SDMMC is not set +# CONFIG_USE_PCIE is not set +# CONFIG_USE_WDT is not set +# CONFIG_USE_DMA is not set +# CONFIG_USE_NAND is not set +# CONFIG_USE_RTC is not set +# CONFIG_USE_SATA is not set +# CONFIG_USE_USB is not set +CONFIG_USE_ADC=y + +# +# ADC Configuration +# +CONFIG_USE_FADC=y +# end of ADC Configuration + +# CONFIG_USE_PWM is not set +# CONFIG_USE_IPC is not set +# end of Components Configuration + +CONFIG_USE_NEW_LIBC=y +# end of Standalone Setting + +# +# Building Option +# +# CONFIG_LOG_VERBOS is not set +# CONFIG_LOG_DEBUG is not set +CONFIG_LOG_INFO=y +# CONFIG_LOG_WARN is not set +# CONFIG_LOG_ERROR is not set +# CONFIG_LOG_NONE is not set +CONFIG_USE_DEFAULT_INTERRUPT_CONFIG=y +CONFIG_INTERRUPT_ROLE_MASTER=y +# CONFIG_INTERRUPT_ROLE_SLAVE is not set +# CONFIG_LOG_EXTRA_INFO is not set +# CONFIG_BOOTUP_DEBUG_PRINTS is not set + +# +# Linker Options +# +# CONFIG_AARCH32_RAM_LD is not set +CONFIG_AARCH64_RAM_LD=y +# CONFIG_USER_DEFINED_LD is not set +CONFIG_LINK_SCRIPT_ROM=y +CONFIG_ROM_START_UP_ADDR=0x80100000 +CONFIG_ROM_SIZE_MB=1 +CONFIG_LINK_SCRIPT_RAM=y +CONFIG_RAM_START_UP_ADDR=0x81000000 +CONFIG_RAM_SIZE_MB=64 +CONFIG_HEAP_SIZE=1 +CONFIG_STACK_SIZE=0x100000 +CONFIG_FPU_STACK_SIZE=0x1000 +# end of Linker Options + +# +# Compiler Options +# +CONFIG_OUTPUT_BINARY=y +# end of Compiler Options +# end of Building Option + +# +# Component Configuration +# + +# +# Freertos Uart Drivers +# +CONFIG_FREERTOS_USE_UART=y +# end of Freertos Uart Drivers + +# +# Freertos Pwm Drivers +# +# CONFIG_FREERTOS_USE_PWM is not set +# end of Freertos Pwm Drivers + +# +# Freertos Qspi Drivers +# +# CONFIG_FREERTOS_USE_QSPI is not set +# end of Freertos Qspi Drivers + +# +# Freertos Wdt Drivers +# +# CONFIG_FREERTOS_USE_WDT is not set +# end of Freertos Wdt Drivers + +# +# Freertos Eth Drivers +# +# CONFIG_FREERTOS_USE_XMAC is not set +# end of Freertos Eth Drivers + +# +# Freertos Gpio Drivers +# +# CONFIG_FREERTOS_USE_GPIO is not set +# end of Freertos Gpio Drivers + +# +# Freertos Spim Drivers +# +# CONFIG_FREERTOS_USE_FSPIM is not set +# end of Freertos Spim Drivers + +# +# Freertos DMA Drivers +# +# CONFIG_FREERTOS_USE_FDDMA is not set +# CONFIG_FREERTOS_USE_FGDMA is not set +# end of Freertos DMA Drivers + +# +# Freertos MMC Drivers +# +# CONFIG_FREERTOS_USE_FSDIO is not set +# end of Freertos MMC Drivers + +# +# Freertos Adc Drivers +# +CONFIG_FREERTOS_USE_ADC=y +# end of Freertos Adc Drivers +# end of Component Configuration + +# +# FreeRTOS Setting +# +# CONFIG_USE_LWIP is not set +CONFIG_USE_BACKTRACE=y +# CONFIG_USE_FATFS is not set +# CONFIG_USE_SFUD is not set +# CONFIG_USE_SPIFFS is not set +# CONFIG_USE_AMP is not set +CONFIG_USE_LETTER_SHELL=y + +# +# Letter Shell Configuration +# +CONFIG_LS_PL011_UART=y +CONFIG_DEFAULT_LETTER_SHELL_USE_UART1=y +# CONFIG_DEFAULT_LETTER_SHELL_USE_UART0 is not set +# CONFIG_DEFAULT_LETTER_SHELL_USE_UART2 is not set +# end of Letter Shell Configuration + +# CONFIG_USE_TLSF is not set +# CONFIG_USE_SDMMC_CMD is not set +# end of FreeRTOS Setting diff --git a/example/peripheral/adc/sdkconfig.h b/example/peripheral/adc/sdkconfig.h new file mode 100644 index 00000000..e70bdaca --- /dev/null +++ b/example/peripheral/adc/sdkconfig.h @@ -0,0 +1,185 @@ +#ifndef SDK_CONFIG_H__ +#define SDK_CONFIG_H__ + +/* Freertos Configuration */ + +#define CONFIG_TARGET_NAME "e2000q_freertos_a64" +/* end of Freertos Configuration */ + +/* Standalone Setting */ + +#define CONFIG_USE_FREERTOS + +/* Arch Configuration */ + +/* CONFIG_TARGET_ARMV8_AARCH32 is not set */ +#define CONFIG_TARGET_ARMV8_AARCH64 +#define CONFIG_USE_CACHE +#define CONFIG_USE_MMU +#define CONFIG_USE_SYS_TICK +/* CONFIG_MMU_DEBUG_PRINTS is not set */ +/* end of Arch Configuration */ + +/* Board Configuration */ + +/* CONFIG_TARGET_F2000_4 is not set */ +/* CONFIG_TARGET_D2000 is not set */ +#define CONFIG_TARGET_E2000Q +/* CONFIG_TARGET_E2000D is not set */ +/* CONFIG_TARGET_E2000S is not set */ +#define CONFIG_TARGET_E2000 +#define CONFIG_DEFAULT_DEBUG_PRINT_UART1 +/* CONFIG_DEFAULT_DEBUG_PRINT_UART0 is not set */ +/* CONFIG_DEFAULT_DEBUG_PRINT_UART2 is not set */ +/* end of Board Configuration */ + +/* Components Configuration */ + +/* CONFIG_USE_SPI is not set */ +/* CONFIG_USE_QSPI is not set */ +#define CONFIG_USE_GIC +#define CONFIG_ENABLE_GICV3 +#define CONFIG_USE_SERIAL + +/* Usart Configuration */ + +#define CONFIG_ENABLE_Pl011_UART +/* end of Usart Configuration */ +/* CONFIG_USE_GPIO is not set */ +/* CONFIG_USE_ETH is not set */ +/* CONFIG_USE_CAN is not set */ +/* CONFIG_USE_I2C is not set */ +/* CONFIG_USE_TIMER is not set */ +/* CONFIG_USE_MIO is not set */ +/* CONFIG_USE_SDMMC is not set */ +/* CONFIG_USE_PCIE is not set */ +/* CONFIG_USE_WDT is not set */ +/* CONFIG_USE_DMA is not set */ +/* CONFIG_USE_NAND is not set */ +/* CONFIG_USE_RTC is not set */ +/* CONFIG_USE_SATA is not set */ +/* CONFIG_USE_USB is not set */ +#define CONFIG_USE_ADC + +/* ADC Configuration */ + +#define CONFIG_USE_FADC +/* end of ADC Configuration */ +/* CONFIG_USE_PWM is not set */ +/* CONFIG_USE_IPC is not set */ +/* end of Components Configuration */ +#define CONFIG_USE_NEW_LIBC +/* end of Standalone Setting */ + +/* Building Option */ + +/* CONFIG_LOG_VERBOS is not set */ +/* CONFIG_LOG_DEBUG is not set */ +#define CONFIG_LOG_INFO +/* CONFIG_LOG_WARN is not set */ +/* CONFIG_LOG_ERROR is not set */ +/* CONFIG_LOG_NONE is not set */ +#define CONFIG_USE_DEFAULT_INTERRUPT_CONFIG +#define CONFIG_INTERRUPT_ROLE_MASTER +/* CONFIG_INTERRUPT_ROLE_SLAVE is not set */ +/* CONFIG_LOG_EXTRA_INFO is not set */ +/* CONFIG_BOOTUP_DEBUG_PRINTS is not set */ + +/* Linker Options */ + +/* CONFIG_AARCH32_RAM_LD is not set */ +#define CONFIG_AARCH64_RAM_LD +/* CONFIG_USER_DEFINED_LD is not set */ +#define CONFIG_LINK_SCRIPT_ROM +#define CONFIG_ROM_START_UP_ADDR 0x80100000 +#define CONFIG_ROM_SIZE_MB 1 +#define CONFIG_LINK_SCRIPT_RAM +#define CONFIG_RAM_START_UP_ADDR 0x81000000 +#define CONFIG_RAM_SIZE_MB 64 +#define CONFIG_HEAP_SIZE 1 +#define CONFIG_STACK_SIZE 0x100000 +#define CONFIG_FPU_STACK_SIZE 0x1000 +/* end of Linker Options */ + +/* Compiler Options */ + +#define CONFIG_OUTPUT_BINARY +/* end of Compiler Options */ +/* end of Building Option */ + +/* Component Configuration */ + +/* Freertos Uart Drivers */ + +#define CONFIG_FREERTOS_USE_UART +/* end of Freertos Uart Drivers */ + +/* Freertos Pwm Drivers */ + +/* CONFIG_FREERTOS_USE_PWM is not set */ +/* end of Freertos Pwm Drivers */ + +/* Freertos Qspi Drivers */ + +/* CONFIG_FREERTOS_USE_QSPI is not set */ +/* end of Freertos Qspi Drivers */ + +/* Freertos Wdt Drivers */ + +/* CONFIG_FREERTOS_USE_WDT is not set */ +/* end of Freertos Wdt Drivers */ + +/* Freertos Eth Drivers */ + +/* CONFIG_FREERTOS_USE_XMAC is not set */ +/* end of Freertos Eth Drivers */ + +/* Freertos Gpio Drivers */ + +/* CONFIG_FREERTOS_USE_GPIO is not set */ +/* end of Freertos Gpio Drivers */ + +/* Freertos Spim Drivers */ + +/* CONFIG_FREERTOS_USE_FSPIM is not set */ +/* end of Freertos Spim Drivers */ + +/* Freertos DMA Drivers */ + +/* CONFIG_FREERTOS_USE_FDDMA is not set */ +/* CONFIG_FREERTOS_USE_FGDMA is not set */ +/* end of Freertos DMA Drivers */ + +/* Freertos MMC Drivers */ + +/* CONFIG_FREERTOS_USE_FSDIO is not set */ +/* end of Freertos MMC Drivers */ + +/* Freertos Adc Drivers */ + +#define CONFIG_FREERTOS_USE_ADC +/* end of Freertos Adc Drivers */ +/* end of Component Configuration */ + +/* FreeRTOS Setting */ + +/* CONFIG_USE_LWIP is not set */ +#define CONFIG_USE_BACKTRACE +/* CONFIG_USE_FATFS is not set */ +/* CONFIG_USE_SFUD is not set */ +/* CONFIG_USE_SPIFFS is not set */ +/* CONFIG_USE_AMP is not set */ +#define CONFIG_USE_LETTER_SHELL + +/* Letter Shell Configuration */ + +#define CONFIG_LS_PL011_UART +#define CONFIG_DEFAULT_LETTER_SHELL_USE_UART1 +/* CONFIG_DEFAULT_LETTER_SHELL_USE_UART0 is not set */ +/* CONFIG_DEFAULT_LETTER_SHELL_USE_UART2 is not set */ +/* end of Letter Shell Configuration */ +/* CONFIG_USE_TLSF is not set */ +/* CONFIG_USE_SDMMC_CMD is not set */ +/* end of FreeRTOS Setting */ + +#endif diff --git a/example/peripheral/adc/src/adc_example.c b/example/peripheral/adc/src/adc_example.c new file mode 100644 index 00000000..a19185aa --- /dev/null +++ b/example/peripheral/adc/src/adc_example.c @@ -0,0 +1,265 @@ +/* + * Copyright : (C) 2022 Phytium Information Technology, Inc. + * All Rights Reserved. + * + * This program is OPEN SOURCE software: you can redistribute it and/or modify it + * under the terms of the Phytium Public License as published by the Phytium Technology Co.,Ltd, + * either version 1.0 of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful,but WITHOUT ANY WARRANTY; + * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + * See the Phytium Public License for more details. + * + * + * FilePath: adc_example.c + * Date: 2022-07-11 11:32:48 + * LastEditTime: 2022-07-11 11:32:48 + * Description: This file is for + * + * Modify History: + * Ver Who Date Changes + * ----- ------ -------- -------------------------------------- + */ +#include +#include "FreeRTOSConfig.h" +#include "FreeRTOS.h" +#include "task.h" +#include "timers.h" +#include "fadc.h" +#include "fadc_os.h" +#include "cpu_info.h" +#include "fpinctrl.h" +#include "ft_assert.h" + +/* The periods assigned to the one-shot timers. */ +#define ONE_SHOT_TIMER_PERIOD ( pdMS_TO_TICKS( 60000UL )) + +/* adc read period */ +#define ADC_READ_PERIOD ( pdMS_TO_TICKS( 2000UL )) + +/* adc channel use, 0/1 */ +#define ADC_CHANNEL_USE FADC_CHANNEL_0 + +/* TESTC board, ADC_VREF = 1.25V */ +#define REF_VOL 1.25 + +/* test task number */ +#define TEST_TASK_NUM 1 + +static xSemaphoreHandle xCountingSemaphore; + +static xTaskHandle read_handle; +static TimerHandle_t xOneShotTimer; + +static FFreeRTOSAdc *os_adc_ctrl_p; + +static void FFreeRTOSAdcDelete(FFreeRTOSAdc *os_adc_p); + +static void FFreeRTOSAdcIntrSet(FFreeRTOSAdc *os_adc_p) +{ + u32 cpu_id; + GetCpuId(&cpu_id); + printf("cpu_id is %d \r\n",cpu_id); + + FAdcCtrl *instance_p = &os_adc_p->adc_ctrl; + InterruptSetTargetCpus(instance_p->config.irq_num, cpu_id); + InterruptSetPriority(instance_p->config.irq_num, instance_p->config.irq_prority); + InterruptInstall(instance_p->config.irq_num, FAdcIntrHandler, instance_p, "adc"); + InterruptUmask(instance_p->config.irq_num); +} + +static void FFreeRTOSAdcInitTask(void *pvParameters) +{ + /* The adc_id to use is passed in via the parameter. + Cast this to a adc_id pointer. */ + u32 adc_id = (u32)(uintptr)pvParameters; + + FError ret = FADC_SUCCESS; + + /* set channel 0 and 1 iopad*/ +#if defined(CONFIG_TARGET_E2000) + FIOPadSetAdcMux(adc_id, ADC_CHANNEL_USE); +#endif + + /* init adc controller */ + os_adc_ctrl_p = FFreeRTOSAdcInit(adc_id); + if(os_adc_ctrl_p == NULL) + { + printf("FFreeRTOSAdcInit failed!!!\n"); + goto adc_init_exit; + } + + /* init adc interrupt handler */ + FFreeRTOSAdcIntrSet(os_adc_ctrl_p); + + /* adc config */ + FFreeRTOSAdcConfig adc_config; + memset(&adc_config, 0, sizeof(adc_config)); + + adc_config.channel = ADC_CHANNEL_USE; + + /* adc controller configuration*/ + adc_config.convert_config.convert_mode = FADC_SINGLE_CONVERT; + adc_config.convert_config.channel_mode = FADC_MULTI_CHANNEL; + adc_config.convert_config.convert_interval = 10; + adc_config.convert_config.clk_div = 8; + + /* adc channel threshold configuration*/ + adc_config.threshold_config.high_threshold = 1000; + adc_config.threshold_config.low_threshold = 0; + + /* adc channel interrupt configuration*/ + adc_config.event_type = FADC_INTR_EVENT_COVFIN; + + ret = FFreeRTOSAdcSet(os_adc_ctrl_p, &adc_config); + if (FADC_SUCCESS != ret) + { + printf("FFreeRTOSAdcSet failed\n"); + goto adc_init_exit; + } + + printf("FFreeRTOSAdcInitTask execute success !!!\r\n"); + + for (int i = 0; i < TEST_TASK_NUM; i++) + { + xSemaphoreGive(xCountingSemaphore); + } + +adc_init_exit: + vTaskDelete(NULL); +} + +static void FFreeRTOSAdcReadTask(void *pvParameters) +{ + xSemaphoreTake(xCountingSemaphore, portMAX_DELAY); + + FError ret = FADC_SUCCESS; + float val = 0.0; + u16 adc_val = 0; + u16 count = 0; + + /* As per most tasks, this task is implemented in an infinite loop. */ + for (;;) + { + ret = FFreeRTOSAdcRead(os_adc_ctrl_p, ADC_CHANNEL_USE, &adc_val); + if(ret == FADC_SUCCESS) + { + val = (float)adc_val; + val = val * REF_VOL / 1024; /* 2^10 */ + printf("adc read success, count=%d, reg_value=%d, value=%f\n", count, adc_val, val); + } + else + { + printf("adc read failed.\n"); + } + count++; + + vTaskDelay(ADC_READ_PERIOD); + } +} + +static void prvOneShotTimerCallback( TimerHandle_t xTimer ) +{ + /* Output a string to show the time at which the callback was executed. */ + printf("One-shot timer callback executing, will delete FFreeRTOSAdcReadTask.\r\n" ); + + FFreeRTOSAdcDelete(os_adc_ctrl_p); +} + +/* create adc test, id is adc module number */ +BaseType_t FFreeRTOSAdcCreate(u32 id) +{ + FASSERT(id < FADC_INSTANCE_NUM); + BaseType_t xReturn = pdPASS;/* 定义一个创建信息返回值,默认为 pdPASS */ + BaseType_t timer_started = pdPASS; + + xCountingSemaphore = xSemaphoreCreateCounting(TEST_TASK_NUM, 0); + if (xCountingSemaphore == NULL) + { + printf("FFreeRTOSAdcCreate xCountingSemaphore create failed.\r\n" ); + return pdFAIL; + } + /* enter critical region */ + taskENTER_CRITICAL(); + /* adc init task */ + xReturn = xTaskCreate((TaskFunction_t )FFreeRTOSAdcInitTask, /* 任务入口函数 */ + (const char* )"FFreeRTOSAdcInitTask",/* 任务名字 */ + (uint16_t )1024, /* 任务栈大小 */ + (void* )(uintptr)id,/* 任务入口函数参数 */ + (UBaseType_t )1, /* 任务的优先级 */ + NULL); /* 任务控制 */ + + /* 读adc任务 */ + xReturn = xTaskCreate((TaskFunction_t )FFreeRTOSAdcReadTask, /* 任务入口函数 */ + (const char* )"FFreeRTOSAdcReadTask",/* 任务名字 */ + (uint16_t )1024, /* 任务栈大小 */ + NULL,/* 任务入口函数参数 */ + (UBaseType_t )configMAX_PRIORITIES-1, /* 任务的优先级 */ + (TaskHandle_t* )&read_handle); /* 任务控制 */ + + /* Create the one shot software timer, storing the handle to the created + software timer in xOneShotTimer. */ + xOneShotTimer = xTimerCreate( "OneShot Software Timer", /* Text name for the software timer - not used by FreeRTOS. */ + ONE_SHOT_TIMER_PERIOD, /* The software timer's period in ticks. */ + pdFALSE, /* Setting uxAutoRealod to pdFALSE creates a one-shot software timer. */ + 0, /* This example use the timer id. */ + prvOneShotTimerCallback ); /* The callback function to be used by the software timer being created. */ + + /* Check the timers were created. */ + if( xOneShotTimer != NULL ) + { + /* Start the software timers, using a block time of 0 (no block time). + The scheduler has not been started yet so any block time specified here + would be ignored anyway. */ + timer_started = xTimerStart( xOneShotTimer, 0 ); + + /* The implementation of xTimerStart() uses the timer command queue, and + xTimerStart() will fail if the timer command queue gets full. The timer + service task does not get created until the scheduler is started, so all + commands sent to the command queue will stay in the queue until after + the scheduler has been started. Check both calls to xTimerStart() + passed. */ + if(timer_started != pdPASS) + { + vPrintf("CreateSoftwareTimerTasks xTimerStart failed \r\n"); + } + } + else + { + vPrintf("CreateSoftwareTimerTasks xTimerCreate failed \r\n"); + } + + /* exit critical region */ + taskEXIT_CRITICAL(); + + return xReturn; +} + +static void FFreeRTOSAdcDelete(FFreeRTOSAdc *os_adc_p) +{ + BaseType_t xReturn = pdPASS; + + /* deinit adc controller */ + FFreeRTOSAdcDeinit(os_adc_p); + + if(read_handle) + { + vTaskDelete(read_handle); + vPrintf("Delete FFreeRTOSAdcReadTask success\r\n"); + } + + /* delete count sem */ + vSemaphoreDelete(xCountingSemaphore); + + /* delete timer */ + xReturn = xTimerDelete(xOneShotTimer, 0); + if(xReturn != pdPASS) + { + vPrintf("Delete OneShot Software Timer failed.\r\n"); + } + else + { + vPrintf("Delete OneShot Software Timer success.\r\n"); + } + +} \ No newline at end of file diff --git a/example/peripheral/dma/ddma/configs/e2000d_aarch32_eg_configs b/example/peripheral/dma/ddma/configs/e2000d_aarch32_eg_configs index 6e8a644f..71a9998a 100644 --- a/example/peripheral/dma/ddma/configs/e2000d_aarch32_eg_configs +++ b/example/peripheral/dma/ddma/configs/e2000d_aarch32_eg_configs @@ -128,6 +128,12 @@ CONFIG_OUTPUT_BINARY=y CONFIG_FREERTOS_USE_UART=y # end of Freertos Uart Drivers +# +# Freertos Pwm Drivers +# +# CONFIG_FREERTOS_USE_PWM is not set +# end of Freertos Pwm Drivers + # # Freertos Qspi Drivers # @@ -170,6 +176,12 @@ CONFIG_FREERTOS_USE_FDDMA=y # # CONFIG_FREERTOS_USE_FSDIO is not set # end of Freertos MMC Drivers + +# +# Freertos Adc Drivers +# +# CONFIG_FREERTOS_USE_ADC is not set +# end of Freertos Adc Drivers # end of Component Configuration # diff --git a/example/peripheral/dma/ddma/configs/e2000d_aarch64_eg_configs b/example/peripheral/dma/ddma/configs/e2000d_aarch64_eg_configs index adad5908..e3f1567b 100644 --- a/example/peripheral/dma/ddma/configs/e2000d_aarch64_eg_configs +++ b/example/peripheral/dma/ddma/configs/e2000d_aarch64_eg_configs @@ -124,6 +124,12 @@ CONFIG_OUTPUT_BINARY=y CONFIG_FREERTOS_USE_UART=y # end of Freertos Uart Drivers +# +# Freertos Pwm Drivers +# +# CONFIG_FREERTOS_USE_PWM is not set +# end of Freertos Pwm Drivers + # # Freertos Qspi Drivers # @@ -166,6 +172,12 @@ CONFIG_FREERTOS_USE_FDDMA=y # # CONFIG_FREERTOS_USE_FSDIO is not set # end of Freertos MMC Drivers + +# +# Freertos Adc Drivers +# +# CONFIG_FREERTOS_USE_ADC is not set +# end of Freertos Adc Drivers # end of Component Configuration # diff --git a/example/peripheral/dma/ddma/sdkconfig b/example/peripheral/dma/ddma/sdkconfig index 6e8a644f..e3f1567b 100644 --- a/example/peripheral/dma/ddma/sdkconfig +++ b/example/peripheral/dma/ddma/sdkconfig @@ -2,7 +2,7 @@ # # Freertos Configuration # -CONFIG_TARGET_NAME="e2000d_freertos_a32" +CONFIG_TARGET_NAME="e2000d_freertos_a64" # end of Freertos Configuration # @@ -13,12 +13,12 @@ CONFIG_USE_FREERTOS=y # # Arch Configuration # -CONFIG_TARGET_ARMV8_AARCH32=y -# CONFIG_TARGET_ARMV8_AARCH64 is not set +# CONFIG_TARGET_ARMV8_AARCH32 is not set +CONFIG_TARGET_ARMV8_AARCH64=y CONFIG_USE_CACHE=y CONFIG_USE_MMU=y CONFIG_USE_SYS_TICK=y -CONFIG_USE_AARCH64_L1_TO_AARCH32=y +# CONFIG_MMU_DEBUG_PRINTS is not set # end of Arch Configuration # @@ -93,8 +93,8 @@ CONFIG_INTERRUPT_ROLE_MASTER=y # # Linker Options # -CONFIG_AARCH32_RAM_LD=y -# CONFIG_AARCH64_RAM_LD is not set +# CONFIG_AARCH32_RAM_LD is not set +CONFIG_AARCH64_RAM_LD=y # CONFIG_USER_DEFINED_LD is not set CONFIG_LINK_SCRIPT_ROM=y CONFIG_ROM_START_UP_ADDR=0x80100000 @@ -103,12 +103,8 @@ CONFIG_LINK_SCRIPT_RAM=y CONFIG_RAM_START_UP_ADDR=0x81000000 CONFIG_RAM_SIZE_MB=64 CONFIG_HEAP_SIZE=1 -CONFIG_SVC_STACK_SIZE=0x1000 -CONFIG_SYS_STACK_SIZE=0x1000 -CONFIG_IRQ_STACK_SIZE=0x1000 -CONFIG_ABORT_STACK_SIZE=0x1000 -CONFIG_FIQ_STACK_SIZE=0x1000 -CONFIG_UNDEF_STACK_SIZE=0x1000 +CONFIG_STACK_SIZE=0x100000 +CONFIG_FPU_STACK_SIZE=0x1000 # end of Linker Options # @@ -128,6 +124,12 @@ CONFIG_OUTPUT_BINARY=y CONFIG_FREERTOS_USE_UART=y # end of Freertos Uart Drivers +# +# Freertos Pwm Drivers +# +# CONFIG_FREERTOS_USE_PWM is not set +# end of Freertos Pwm Drivers + # # Freertos Qspi Drivers # @@ -170,6 +172,12 @@ CONFIG_FREERTOS_USE_FDDMA=y # # CONFIG_FREERTOS_USE_FSDIO is not set # end of Freertos MMC Drivers + +# +# Freertos Adc Drivers +# +# CONFIG_FREERTOS_USE_ADC is not set +# end of Freertos Adc Drivers # end of Component Configuration # diff --git a/example/peripheral/dma/ddma/sdkconfig.h b/example/peripheral/dma/ddma/sdkconfig.h index 3f9939ca..69bb4d90 100644 --- a/example/peripheral/dma/ddma/sdkconfig.h +++ b/example/peripheral/dma/ddma/sdkconfig.h @@ -3,7 +3,7 @@ /* Freertos Configuration */ -#define CONFIG_TARGET_NAME "e2000d_freertos_a32" +#define CONFIG_TARGET_NAME "e2000d_freertos_a64" /* end of Freertos Configuration */ /* Standalone Setting */ @@ -12,12 +12,12 @@ /* Arch Configuration */ -#define CONFIG_TARGET_ARMV8_AARCH32 -/* CONFIG_TARGET_ARMV8_AARCH64 is not set */ +/* CONFIG_TARGET_ARMV8_AARCH32 is not set */ +#define CONFIG_TARGET_ARMV8_AARCH64 #define CONFIG_USE_CACHE #define CONFIG_USE_MMU #define CONFIG_USE_SYS_TICK -#define CONFIG_USE_AARCH64_L1_TO_AARCH32 +/* CONFIG_MMU_DEBUG_PRINTS is not set */ /* end of Arch Configuration */ /* Board Configuration */ @@ -85,8 +85,8 @@ /* Linker Options */ -#define CONFIG_AARCH32_RAM_LD -/* CONFIG_AARCH64_RAM_LD is not set */ +/* CONFIG_AARCH32_RAM_LD is not set */ +#define CONFIG_AARCH64_RAM_LD /* CONFIG_USER_DEFINED_LD is not set */ #define CONFIG_LINK_SCRIPT_ROM #define CONFIG_ROM_START_UP_ADDR 0x80100000 @@ -95,12 +95,8 @@ #define CONFIG_RAM_START_UP_ADDR 0x81000000 #define CONFIG_RAM_SIZE_MB 64 #define CONFIG_HEAP_SIZE 1 -#define CONFIG_SVC_STACK_SIZE 0x1000 -#define CONFIG_SYS_STACK_SIZE 0x1000 -#define CONFIG_IRQ_STACK_SIZE 0x1000 -#define CONFIG_ABORT_STACK_SIZE 0x1000 -#define CONFIG_FIQ_STACK_SIZE 0x1000 -#define CONFIG_UNDEF_STACK_SIZE 0x1000 +#define CONFIG_STACK_SIZE 0x100000 +#define CONFIG_FPU_STACK_SIZE 0x1000 /* end of Linker Options */ /* Compiler Options */ @@ -116,6 +112,11 @@ #define CONFIG_FREERTOS_USE_UART /* end of Freertos Uart Drivers */ +/* Freertos Pwm Drivers */ + +/* CONFIG_FREERTOS_USE_PWM is not set */ +/* end of Freertos Pwm Drivers */ + /* Freertos Qspi Drivers */ /* CONFIG_FREERTOS_USE_QSPI is not set */ @@ -151,6 +152,11 @@ /* CONFIG_FREERTOS_USE_FSDIO is not set */ /* end of Freertos MMC Drivers */ + +/* Freertos Adc Drivers */ + +/* CONFIG_FREERTOS_USE_ADC is not set */ +/* end of Freertos Adc Drivers */ /* end of Component Configuration */ /* FreeRTOS Setting */ diff --git a/example/peripheral/dma/gdma/configs/e2000d_aarch32_eg_configs b/example/peripheral/dma/gdma/configs/e2000d_aarch32_eg_configs index 44248689..ff35af8c 100644 --- a/example/peripheral/dma/gdma/configs/e2000d_aarch32_eg_configs +++ b/example/peripheral/dma/gdma/configs/e2000d_aarch32_eg_configs @@ -127,6 +127,12 @@ CONFIG_OUTPUT_BINARY=y CONFIG_FREERTOS_USE_UART=y # end of Freertos Uart Drivers +# +# Freertos Pwm Drivers +# +# CONFIG_FREERTOS_USE_PWM is not set +# end of Freertos Pwm Drivers + # # Freertos Qspi Drivers # @@ -169,6 +175,12 @@ CONFIG_FREERTOS_USE_FGDMA=y # # CONFIG_FREERTOS_USE_FSDIO is not set # end of Freertos MMC Drivers + +# +# Freertos Adc Drivers +# +# CONFIG_FREERTOS_USE_ADC is not set +# end of Freertos Adc Drivers # end of Component Configuration # diff --git a/example/peripheral/dma/gdma/configs/e2000d_aarch64_eg_configs b/example/peripheral/dma/gdma/configs/e2000d_aarch64_eg_configs index 9bf2c1da..91a48884 100644 --- a/example/peripheral/dma/gdma/configs/e2000d_aarch64_eg_configs +++ b/example/peripheral/dma/gdma/configs/e2000d_aarch64_eg_configs @@ -123,6 +123,12 @@ CONFIG_OUTPUT_BINARY=y CONFIG_FREERTOS_USE_UART=y # end of Freertos Uart Drivers +# +# Freertos Pwm Drivers +# +# CONFIG_FREERTOS_USE_PWM is not set +# end of Freertos Pwm Drivers + # # Freertos Qspi Drivers # @@ -165,6 +171,12 @@ CONFIG_FREERTOS_USE_FGDMA=y # # CONFIG_FREERTOS_USE_FSDIO is not set # end of Freertos MMC Drivers + +# +# Freertos Adc Drivers +# +# CONFIG_FREERTOS_USE_ADC is not set +# end of Freertos Adc Drivers # end of Component Configuration # diff --git a/example/peripheral/dma/gdma/sdkconfig b/example/peripheral/dma/gdma/sdkconfig index 44248689..91a48884 100644 --- a/example/peripheral/dma/gdma/sdkconfig +++ b/example/peripheral/dma/gdma/sdkconfig @@ -2,7 +2,7 @@ # # Freertos Configuration # -CONFIG_TARGET_NAME="e2000d_freertos_a32" +CONFIG_TARGET_NAME="e2000d_freertos_a64" # end of Freertos Configuration # @@ -13,12 +13,12 @@ CONFIG_USE_FREERTOS=y # # Arch Configuration # -CONFIG_TARGET_ARMV8_AARCH32=y -# CONFIG_TARGET_ARMV8_AARCH64 is not set +# CONFIG_TARGET_ARMV8_AARCH32 is not set +CONFIG_TARGET_ARMV8_AARCH64=y CONFIG_USE_CACHE=y CONFIG_USE_MMU=y -# CONFIG_USE_SYS_TICK is not set -CONFIG_USE_AARCH64_L1_TO_AARCH32=y +CONFIG_USE_SYS_TICK=y +# CONFIG_MMU_DEBUG_PRINTS is not set # end of Arch Configuration # @@ -92,8 +92,8 @@ CONFIG_LOG_EXTRA_INFO=y # # Linker Options # -CONFIG_AARCH32_RAM_LD=y -# CONFIG_AARCH64_RAM_LD is not set +# CONFIG_AARCH32_RAM_LD is not set +CONFIG_AARCH64_RAM_LD=y # CONFIG_USER_DEFINED_LD is not set CONFIG_LINK_SCRIPT_ROM=y CONFIG_ROM_START_UP_ADDR=0x80100000 @@ -102,12 +102,8 @@ CONFIG_LINK_SCRIPT_RAM=y CONFIG_RAM_START_UP_ADDR=0x81000000 CONFIG_RAM_SIZE_MB=64 CONFIG_HEAP_SIZE=1 -CONFIG_SVC_STACK_SIZE=0x1000 -CONFIG_SYS_STACK_SIZE=0x1000 -CONFIG_IRQ_STACK_SIZE=0x1000 -CONFIG_ABORT_STACK_SIZE=0x1000 -CONFIG_FIQ_STACK_SIZE=0x1000 -CONFIG_UNDEF_STACK_SIZE=0x1000 +CONFIG_STACK_SIZE=0x100000 +CONFIG_FPU_STACK_SIZE=0x1000 # end of Linker Options # @@ -127,6 +123,12 @@ CONFIG_OUTPUT_BINARY=y CONFIG_FREERTOS_USE_UART=y # end of Freertos Uart Drivers +# +# Freertos Pwm Drivers +# +# CONFIG_FREERTOS_USE_PWM is not set +# end of Freertos Pwm Drivers + # # Freertos Qspi Drivers # @@ -169,6 +171,12 @@ CONFIG_FREERTOS_USE_FGDMA=y # # CONFIG_FREERTOS_USE_FSDIO is not set # end of Freertos MMC Drivers + +# +# Freertos Adc Drivers +# +# CONFIG_FREERTOS_USE_ADC is not set +# end of Freertos Adc Drivers # end of Component Configuration # diff --git a/example/peripheral/dma/gdma/sdkconfig.h b/example/peripheral/dma/gdma/sdkconfig.h index 49fd351e..ecfe0456 100644 --- a/example/peripheral/dma/gdma/sdkconfig.h +++ b/example/peripheral/dma/gdma/sdkconfig.h @@ -3,7 +3,7 @@ /* Freertos Configuration */ -#define CONFIG_TARGET_NAME "e2000d_freertos_a32" +#define CONFIG_TARGET_NAME "e2000d_freertos_a64" /* end of Freertos Configuration */ /* Standalone Setting */ @@ -12,12 +12,12 @@ /* Arch Configuration */ -#define CONFIG_TARGET_ARMV8_AARCH32 -/* CONFIG_TARGET_ARMV8_AARCH64 is not set */ +/* CONFIG_TARGET_ARMV8_AARCH32 is not set */ +#define CONFIG_TARGET_ARMV8_AARCH64 #define CONFIG_USE_CACHE #define CONFIG_USE_MMU -/* CONFIG_USE_SYS_TICK is not set */ -#define CONFIG_USE_AARCH64_L1_TO_AARCH32 +#define CONFIG_USE_SYS_TICK +/* CONFIG_MMU_DEBUG_PRINTS is not set */ /* end of Arch Configuration */ /* Board Configuration */ @@ -84,8 +84,8 @@ /* Linker Options */ -#define CONFIG_AARCH32_RAM_LD -/* CONFIG_AARCH64_RAM_LD is not set */ +/* CONFIG_AARCH32_RAM_LD is not set */ +#define CONFIG_AARCH64_RAM_LD /* CONFIG_USER_DEFINED_LD is not set */ #define CONFIG_LINK_SCRIPT_ROM #define CONFIG_ROM_START_UP_ADDR 0x80100000 @@ -94,12 +94,8 @@ #define CONFIG_RAM_START_UP_ADDR 0x81000000 #define CONFIG_RAM_SIZE_MB 64 #define CONFIG_HEAP_SIZE 1 -#define CONFIG_SVC_STACK_SIZE 0x1000 -#define CONFIG_SYS_STACK_SIZE 0x1000 -#define CONFIG_IRQ_STACK_SIZE 0x1000 -#define CONFIG_ABORT_STACK_SIZE 0x1000 -#define CONFIG_FIQ_STACK_SIZE 0x1000 -#define CONFIG_UNDEF_STACK_SIZE 0x1000 +#define CONFIG_STACK_SIZE 0x100000 +#define CONFIG_FPU_STACK_SIZE 0x1000 /* end of Linker Options */ /* Compiler Options */ @@ -115,6 +111,11 @@ #define CONFIG_FREERTOS_USE_UART /* end of Freertos Uart Drivers */ +/* Freertos Pwm Drivers */ + +/* CONFIG_FREERTOS_USE_PWM is not set */ +/* end of Freertos Pwm Drivers */ + /* Freertos Qspi Drivers */ /* CONFIG_FREERTOS_USE_QSPI is not set */ @@ -150,6 +151,11 @@ /* CONFIG_FREERTOS_USE_FSDIO is not set */ /* end of Freertos MMC Drivers */ + +/* Freertos Adc Drivers */ + +/* CONFIG_FREERTOS_USE_ADC is not set */ +/* end of Freertos Adc Drivers */ /* end of Component Configuration */ /* FreeRTOS Setting */ diff --git a/example/peripheral/gpio/configs/e2000d_aarch32_eg_configs b/example/peripheral/gpio/configs/e2000d_aarch32_eg_configs index 90e22ae7..d74bd05c 100644 --- a/example/peripheral/gpio/configs/e2000d_aarch32_eg_configs +++ b/example/peripheral/gpio/configs/e2000d_aarch32_eg_configs @@ -174,6 +174,12 @@ CONFIG_FREERTOS_USE_GPIO=y # # CONFIG_FREERTOS_USE_FSDIO is not set # end of Freertos MMC Drivers + +# +# Freertos Adc Drivers +# +# CONFIG_FREERTOS_USE_ADC is not set +# end of Freertos Adc Drivers # end of Component Configuration # diff --git a/example/peripheral/gpio/configs/e2000d_aarch64_eg_configs b/example/peripheral/gpio/configs/e2000d_aarch64_eg_configs index a6713f7d..4bafd613 100644 --- a/example/peripheral/gpio/configs/e2000d_aarch64_eg_configs +++ b/example/peripheral/gpio/configs/e2000d_aarch64_eg_configs @@ -170,6 +170,12 @@ CONFIG_FREERTOS_USE_GPIO=y # # CONFIG_FREERTOS_USE_FSDIO is not set # end of Freertos MMC Drivers + +# +# Freertos Adc Drivers +# +# CONFIG_FREERTOS_USE_ADC is not set +# end of Freertos Adc Drivers # end of Component Configuration # diff --git a/example/peripheral/gpio/sdkconfig b/example/peripheral/gpio/sdkconfig index a6713f7d..4bafd613 100644 --- a/example/peripheral/gpio/sdkconfig +++ b/example/peripheral/gpio/sdkconfig @@ -170,6 +170,12 @@ CONFIG_FREERTOS_USE_GPIO=y # # CONFIG_FREERTOS_USE_FSDIO is not set # end of Freertos MMC Drivers + +# +# Freertos Adc Drivers +# +# CONFIG_FREERTOS_USE_ADC is not set +# end of Freertos Adc Drivers # end of Component Configuration # diff --git a/example/peripheral/gpio/sdkconfig.h b/example/peripheral/gpio/sdkconfig.h index 4372836c..b2679315 100644 --- a/example/peripheral/gpio/sdkconfig.h +++ b/example/peripheral/gpio/sdkconfig.h @@ -150,6 +150,11 @@ /* CONFIG_FREERTOS_USE_FSDIO is not set */ /* end of Freertos MMC Drivers */ + +/* Freertos Adc Drivers */ + +/* CONFIG_FREERTOS_USE_ADC is not set */ +/* end of Freertos Adc Drivers */ /* end of Component Configuration */ /* FreeRTOS Setting */ diff --git a/example/peripheral/pwm/README.md b/example/peripheral/pwm/README.md index 098152b3..4a094acc 100644 --- a/example/peripheral/pwm/README.md +++ b/example/peripheral/pwm/README.md @@ -29,6 +29,7 @@ 程序启动后,创建pwm初始化任务,设置pwm时钟分频、周期和占空比等; 创建pwm占空比变化任务FFreeRTOSPwmChangeTask,用于定时变化pwm占空比; 创建单次模式的软件定时器,回调函数为删除FFreeRTOSPwmChangeTask,去初始化pwm,删除软件定时器; +使用C板进行测试,选择pwm模块7的两路pwm_out,也就是pwm14和pwm15作为输出,对应板上J152的引脚18和引脚20; ## 2. 如何使用例程 diff --git a/example/peripheral/pwm/configs/e2000d_aarch32_eg_configs b/example/peripheral/pwm/configs/e2000d_aarch32_eg_configs index e08e3cbd..d9bceaf1 100644 --- a/example/peripheral/pwm/configs/e2000d_aarch32_eg_configs +++ b/example/peripheral/pwm/configs/e2000d_aarch32_eg_configs @@ -180,6 +180,12 @@ CONFIG_FREERTOS_USE_PWM=y # # CONFIG_FREERTOS_USE_FSDIO is not set # end of Freertos MMC Drivers + +# +# Freertos Adc Drivers +# +# CONFIG_FREERTOS_USE_ADC is not set +# end of Freertos Adc Drivers # end of Component Configuration # diff --git a/example/peripheral/pwm/configs/e2000d_aarch64_eg_configs b/example/peripheral/pwm/configs/e2000d_aarch64_eg_configs index a938aefe..c4750c46 100644 --- a/example/peripheral/pwm/configs/e2000d_aarch64_eg_configs +++ b/example/peripheral/pwm/configs/e2000d_aarch64_eg_configs @@ -176,6 +176,12 @@ CONFIG_FREERTOS_USE_PWM=y # # CONFIG_FREERTOS_USE_FSDIO is not set # end of Freertos MMC Drivers + +# +# Freertos Adc Drivers +# +# CONFIG_FREERTOS_USE_ADC is not set +# end of Freertos Adc Drivers # end of Component Configuration # diff --git a/example/peripheral/pwm/configs/e2000q_aarch32_eg_configs b/example/peripheral/pwm/configs/e2000q_aarch32_eg_configs index 956aadc5..9f8d8eb7 100644 --- a/example/peripheral/pwm/configs/e2000q_aarch32_eg_configs +++ b/example/peripheral/pwm/configs/e2000q_aarch32_eg_configs @@ -180,6 +180,12 @@ CONFIG_FREERTOS_USE_PWM=y # # CONFIG_FREERTOS_USE_FSDIO is not set # end of Freertos MMC Drivers + +# +# Freertos Adc Drivers +# +# CONFIG_FREERTOS_USE_ADC is not set +# end of Freertos Adc Drivers # end of Component Configuration # diff --git a/example/peripheral/pwm/configs/e2000q_aarch64_eg_configs b/example/peripheral/pwm/configs/e2000q_aarch64_eg_configs index c33e9fb8..cee19e25 100644 --- a/example/peripheral/pwm/configs/e2000q_aarch64_eg_configs +++ b/example/peripheral/pwm/configs/e2000q_aarch64_eg_configs @@ -176,6 +176,12 @@ CONFIG_FREERTOS_USE_PWM=y # # CONFIG_FREERTOS_USE_FSDIO is not set # end of Freertos MMC Drivers + +# +# Freertos Adc Drivers +# +# CONFIG_FREERTOS_USE_ADC is not set +# end of Freertos Adc Drivers # end of Component Configuration # diff --git a/example/peripheral/pwm/inc/pwm_example.h b/example/peripheral/pwm/inc/pwm_example.h index 30f5dee3..60118a2c 100644 --- a/example/peripheral/pwm/inc/pwm_example.h +++ b/example/peripheral/pwm/inc/pwm_example.h @@ -25,6 +25,6 @@ #ifndef PWM_EXAMPLE_H #define PWM_EXAMPLE_H -/* pwm read and write test */ +/* pwm test */ BaseType_t FFreeRTOSPwmCreate(u32 id); #endif // ! \ No newline at end of file diff --git a/example/peripheral/pwm/sdkconfig b/example/peripheral/pwm/sdkconfig index c33e9fb8..cee19e25 100644 --- a/example/peripheral/pwm/sdkconfig +++ b/example/peripheral/pwm/sdkconfig @@ -176,6 +176,12 @@ CONFIG_FREERTOS_USE_PWM=y # # CONFIG_FREERTOS_USE_FSDIO is not set # end of Freertos MMC Drivers + +# +# Freertos Adc Drivers +# +# CONFIG_FREERTOS_USE_ADC is not set +# end of Freertos Adc Drivers # end of Component Configuration # diff --git a/example/peripheral/pwm/sdkconfig.h b/example/peripheral/pwm/sdkconfig.h index e8c6952e..974c160e 100644 --- a/example/peripheral/pwm/sdkconfig.h +++ b/example/peripheral/pwm/sdkconfig.h @@ -154,6 +154,11 @@ /* CONFIG_FREERTOS_USE_FSDIO is not set */ /* end of Freertos MMC Drivers */ + +/* Freertos Adc Drivers */ + +/* CONFIG_FREERTOS_USE_ADC is not set */ +/* end of Freertos Adc Drivers */ /* end of Component Configuration */ /* FreeRTOS Setting */ diff --git a/example/peripheral/pwm/src/pwm_example.c b/example/peripheral/pwm/src/pwm_example.c index df2d9e05..b13e0ccf 100644 --- a/example/peripheral/pwm/src/pwm_example.c +++ b/example/peripheral/pwm/src/pwm_example.c @@ -192,7 +192,7 @@ BaseType_t FFreeRTOSPwmCreate(u32 id) (UBaseType_t )configMAX_PRIORITIES-1, /* 任务的优先级 */ NULL); /* 任务控制 */ - /* 主动喂狗任务,周期比看门狗的超时时间短 */ + /* pwm占空比变化任务 */ xReturn = xTaskCreate((TaskFunction_t )FFreeRTOSPwmChangeTask, /* 任务入口函数 */ (const char* )"FFreeRTOSPwmChangeTask",/* 任务名字 */ (uint16_t )1024, /* 任务栈大小 */ diff --git a/example/peripheral/qspi/README.md b/example/peripheral/qspi/README.md index 681406bc..df394754 100644 --- a/example/peripheral/qspi/README.md +++ b/example/peripheral/qspi/README.md @@ -49,7 +49,7 @@ E2000D上使用的Nor Flash介质型号是GD25Q128,容量为16MB; ![hardware](./figs/hardware.png) -- 本例程适配了GD25Q256、GD25Q128、GD25Q64、S25FS256的Nor-Flash芯片,如使用其他型号,需自行参考适配 +- 本例程适配了GD25、S25FS256、BOYA的Nor-Flash芯片,如使用其他型号,需自行参考适配 ### 2.2 SDK配置方法 diff --git a/example/peripheral/qspi/configs/d2000_aarch32_eg_configs b/example/peripheral/qspi/configs/d2000_aarch32_eg_configs index 505e87cd..0106123c 100644 --- a/example/peripheral/qspi/configs/d2000_aarch32_eg_configs +++ b/example/peripheral/qspi/configs/d2000_aarch32_eg_configs @@ -44,11 +44,7 @@ CONFIG_USE_QSPI=y # # Qspi Configuration # -CONFIG_USE_GD25Q256=y -# CONFIG_USE_GD25Q64 is not set -# CONFIG_USE_GD25Q32 is not set -# CONFIG_USE_GD25Q128 is not set -# CONFIG_USE_S25FS256 is not set +CONFIG_USE_FQSPI=y # end of Qspi Configuration CONFIG_USE_GIC=y @@ -184,6 +180,12 @@ CONFIG_FREERTOS_USE_QSPI=y # # CONFIG_FREERTOS_USE_FSDIO is not set # end of Freertos MMC Drivers + +# +# Freertos Adc Drivers +# +# CONFIG_FREERTOS_USE_ADC is not set +# end of Freertos Adc Drivers # end of Component Configuration # diff --git a/example/peripheral/qspi/configs/d2000_aarch64_eg_configs b/example/peripheral/qspi/configs/d2000_aarch64_eg_configs index 08728750..d7f059d7 100644 --- a/example/peripheral/qspi/configs/d2000_aarch64_eg_configs +++ b/example/peripheral/qspi/configs/d2000_aarch64_eg_configs @@ -44,11 +44,7 @@ CONFIG_USE_QSPI=y # # Qspi Configuration # -CONFIG_USE_GD25Q256=y -# CONFIG_USE_GD25Q64 is not set -# CONFIG_USE_GD25Q32 is not set -# CONFIG_USE_GD25Q128 is not set -# CONFIG_USE_S25FS256 is not set +CONFIG_USE_FQSPI=y # end of Qspi Configuration CONFIG_USE_GIC=y @@ -87,8 +83,8 @@ CONFIG_USE_NEW_LIBC=y # Building Option # # CONFIG_LOG_VERBOS is not set -# CONFIG_LOG_DEBUG is not set -CONFIG_LOG_INFO=y +CONFIG_LOG_DEBUG=y +# CONFIG_LOG_INFO is not set # CONFIG_LOG_WARN is not set # CONFIG_LOG_ERROR is not set # CONFIG_LOG_NONE is not set @@ -180,6 +176,12 @@ CONFIG_FREERTOS_USE_QSPI=y # # CONFIG_FREERTOS_USE_FSDIO is not set # end of Freertos MMC Drivers + +# +# Freertos Adc Drivers +# +# CONFIG_FREERTOS_USE_ADC is not set +# end of Freertos Adc Drivers # end of Component Configuration # diff --git a/example/peripheral/qspi/configs/e2000d_aarch32_eg_configs b/example/peripheral/qspi/configs/e2000d_aarch32_eg_configs index 3cb71af4..917cedfa 100644 --- a/example/peripheral/qspi/configs/e2000d_aarch32_eg_configs +++ b/example/peripheral/qspi/configs/e2000d_aarch32_eg_configs @@ -44,11 +44,7 @@ CONFIG_USE_QSPI=y # # Qspi Configuration # -# CONFIG_USE_GD25Q256 is not set -# CONFIG_USE_GD25Q64 is not set -# CONFIG_USE_GD25Q32 is not set -CONFIG_USE_GD25Q128=y -# CONFIG_USE_S25FS256 is not set +CONFIG_USE_FQSPI=y # end of Qspi Configuration CONFIG_USE_GIC=y @@ -184,6 +180,12 @@ CONFIG_FREERTOS_USE_QSPI=y # # CONFIG_FREERTOS_USE_FSDIO is not set # end of Freertos MMC Drivers + +# +# Freertos Adc Drivers +# +# CONFIG_FREERTOS_USE_ADC is not set +# end of Freertos Adc Drivers # end of Component Configuration # diff --git a/example/peripheral/qspi/configs/e2000d_aarch64_eg_configs b/example/peripheral/qspi/configs/e2000d_aarch64_eg_configs index a3a34de5..8cb87ac1 100644 --- a/example/peripheral/qspi/configs/e2000d_aarch64_eg_configs +++ b/example/peripheral/qspi/configs/e2000d_aarch64_eg_configs @@ -44,11 +44,7 @@ CONFIG_USE_QSPI=y # # Qspi Configuration # -# CONFIG_USE_GD25Q256 is not set -CONFIG_USE_GD25Q64=y -# CONFIG_USE_GD25Q32 is not set -# CONFIG_USE_GD25Q128 is not set -# CONFIG_USE_S25FS256 is not set +CONFIG_USE_FQSPI=y # end of Qspi Configuration CONFIG_USE_GIC=y @@ -180,6 +176,12 @@ CONFIG_FREERTOS_USE_QSPI=y # # CONFIG_FREERTOS_USE_FSDIO is not set # end of Freertos MMC Drivers + +# +# Freertos Adc Drivers +# +# CONFIG_FREERTOS_USE_ADC is not set +# end of Freertos Adc Drivers # end of Component Configuration # diff --git a/example/peripheral/qspi/configs/e2000q_aarch32_eg_configs b/example/peripheral/qspi/configs/e2000q_aarch32_eg_configs index 66e05597..ef1427f8 100644 --- a/example/peripheral/qspi/configs/e2000q_aarch32_eg_configs +++ b/example/peripheral/qspi/configs/e2000q_aarch32_eg_configs @@ -44,9 +44,7 @@ CONFIG_USE_QSPI=y # # Qspi Configuration # -# CONFIG_USE_GD25Q256 is not set -CONFIG_USE_GD25Q64=y -# CONFIG_USE_S25FS256 is not set +CONFIG_USE_FQSPI=y # end of Qspi Configuration CONFIG_USE_GIC=y @@ -134,6 +132,12 @@ CONFIG_OUTPUT_BINARY=y CONFIG_FREERTOS_USE_UART=y # end of Freertos Uart Drivers +# +# Freertos Pwm Drivers +# +# CONFIG_FREERTOS_USE_PWM is not set +# end of Freertos Pwm Drivers + # # Freertos Qspi Drivers # @@ -145,6 +149,43 @@ CONFIG_FREERTOS_USE_QSPI=y # # CONFIG_FREERTOS_USE_WDT is not set # end of Freertos Wdt Drivers + +# +# Freertos Eth Drivers +# +# CONFIG_FREERTOS_USE_XMAC is not set +# end of Freertos Eth Drivers + +# +# Freertos Gpio Drivers +# +# CONFIG_FREERTOS_USE_GPIO is not set +# end of Freertos Gpio Drivers + +# +# Freertos Spim Drivers +# +# CONFIG_FREERTOS_USE_FSPIM is not set +# end of Freertos Spim Drivers + +# +# Freertos DMA Drivers +# +# CONFIG_FREERTOS_USE_FDDMA is not set +# CONFIG_FREERTOS_USE_FGDMA is not set +# end of Freertos DMA Drivers + +# +# Freertos MMC Drivers +# +# CONFIG_FREERTOS_USE_FSDIO is not set +# end of Freertos MMC Drivers + +# +# Freertos Adc Drivers +# +# CONFIG_FREERTOS_USE_ADC is not set +# end of Freertos Adc Drivers # end of Component Configuration # @@ -152,6 +193,9 @@ CONFIG_FREERTOS_USE_QSPI=y # # CONFIG_USE_LWIP is not set CONFIG_USE_BACKTRACE=y +# CONFIG_USE_FATFS is not set +# CONFIG_USE_SFUD is not set +# CONFIG_USE_SPIFFS is not set # CONFIG_USE_AMP is not set CONFIG_USE_LETTER_SHELL=y @@ -163,4 +207,7 @@ CONFIG_DEFAULT_LETTER_SHELL_USE_UART1=y # CONFIG_DEFAULT_LETTER_SHELL_USE_UART0 is not set # CONFIG_DEFAULT_LETTER_SHELL_USE_UART2 is not set # end of Letter Shell Configuration + +# CONFIG_USE_TLSF is not set +# CONFIG_USE_SDMMC_CMD is not set # end of FreeRTOS Setting diff --git a/example/peripheral/qspi/configs/e2000q_aarch64_eg_configs b/example/peripheral/qspi/configs/e2000q_aarch64_eg_configs index 981483b5..c66bfa27 100644 --- a/example/peripheral/qspi/configs/e2000q_aarch64_eg_configs +++ b/example/peripheral/qspi/configs/e2000q_aarch64_eg_configs @@ -44,9 +44,7 @@ CONFIG_USE_QSPI=y # # Qspi Configuration # -# CONFIG_USE_GD25Q256 is not set -CONFIG_USE_GD25Q64=y -# CONFIG_USE_S25FS256 is not set +CONFIG_USE_FQSPI=y # end of Qspi Configuration CONFIG_USE_GIC=y @@ -130,6 +128,12 @@ CONFIG_OUTPUT_BINARY=y CONFIG_FREERTOS_USE_UART=y # end of Freertos Uart Drivers +# +# Freertos Pwm Drivers +# +# CONFIG_FREERTOS_USE_PWM is not set +# end of Freertos Pwm Drivers + # # Freertos Qspi Drivers # @@ -141,6 +145,43 @@ CONFIG_FREERTOS_USE_QSPI=y # # CONFIG_FREERTOS_USE_WDT is not set # end of Freertos Wdt Drivers + +# +# Freertos Eth Drivers +# +# CONFIG_FREERTOS_USE_XMAC is not set +# end of Freertos Eth Drivers + +# +# Freertos Gpio Drivers +# +# CONFIG_FREERTOS_USE_GPIO is not set +# end of Freertos Gpio Drivers + +# +# Freertos Spim Drivers +# +# CONFIG_FREERTOS_USE_FSPIM is not set +# end of Freertos Spim Drivers + +# +# Freertos DMA Drivers +# +# CONFIG_FREERTOS_USE_FDDMA is not set +# CONFIG_FREERTOS_USE_FGDMA is not set +# end of Freertos DMA Drivers + +# +# Freertos MMC Drivers +# +# CONFIG_FREERTOS_USE_FSDIO is not set +# end of Freertos MMC Drivers + +# +# Freertos Adc Drivers +# +# CONFIG_FREERTOS_USE_ADC is not set +# end of Freertos Adc Drivers # end of Component Configuration # @@ -148,6 +189,9 @@ CONFIG_FREERTOS_USE_QSPI=y # # CONFIG_USE_LWIP is not set CONFIG_USE_BACKTRACE=y +# CONFIG_USE_FATFS is not set +# CONFIG_USE_SFUD is not set +# CONFIG_USE_SPIFFS is not set # CONFIG_USE_AMP is not set CONFIG_USE_LETTER_SHELL=y @@ -159,4 +203,7 @@ CONFIG_DEFAULT_LETTER_SHELL_USE_UART1=y # CONFIG_DEFAULT_LETTER_SHELL_USE_UART0 is not set # CONFIG_DEFAULT_LETTER_SHELL_USE_UART2 is not set # end of Letter Shell Configuration + +# CONFIG_USE_TLSF is not set +# CONFIG_USE_SDMMC_CMD is not set # end of FreeRTOS Setting diff --git a/example/peripheral/qspi/configs/ft2004_aarch32_eg_configs b/example/peripheral/qspi/configs/ft2004_aarch32_eg_configs index 330bf088..5c7837d8 100644 --- a/example/peripheral/qspi/configs/ft2004_aarch32_eg_configs +++ b/example/peripheral/qspi/configs/ft2004_aarch32_eg_configs @@ -44,11 +44,7 @@ CONFIG_USE_QSPI=y # # Qspi Configuration # -CONFIG_USE_GD25Q256=y -# CONFIG_USE_GD25Q64 is not set -# CONFIG_USE_GD25Q32 is not set -# CONFIG_USE_GD25Q128 is not set -# CONFIG_USE_S25FS256 is not set +CONFIG_USE_FQSPI=y # end of Qspi Configuration CONFIG_USE_GIC=y @@ -184,6 +180,12 @@ CONFIG_FREERTOS_USE_QSPI=y # # CONFIG_FREERTOS_USE_FSDIO is not set # end of Freertos MMC Drivers + +# +# Freertos Adc Drivers +# +# CONFIG_FREERTOS_USE_ADC is not set +# end of Freertos Adc Drivers # end of Component Configuration # diff --git a/example/peripheral/qspi/configs/ft2004_aarch64_eg_configs b/example/peripheral/qspi/configs/ft2004_aarch64_eg_configs index 5e6f1548..b0b5499d 100644 --- a/example/peripheral/qspi/configs/ft2004_aarch64_eg_configs +++ b/example/peripheral/qspi/configs/ft2004_aarch64_eg_configs @@ -44,11 +44,7 @@ CONFIG_USE_QSPI=y # # Qspi Configuration # -CONFIG_USE_GD25Q256=y -# CONFIG_USE_GD25Q64 is not set -# CONFIG_USE_GD25Q32 is not set -# CONFIG_USE_GD25Q128 is not set -# CONFIG_USE_S25FS256 is not set +CONFIG_USE_FQSPI=y # end of Qspi Configuration CONFIG_USE_GIC=y @@ -180,6 +176,12 @@ CONFIG_FREERTOS_USE_QSPI=y # # CONFIG_FREERTOS_USE_FSDIO is not set # end of Freertos MMC Drivers + +# +# Freertos Adc Drivers +# +# CONFIG_FREERTOS_USE_ADC is not set +# end of Freertos Adc Drivers # end of Component Configuration # diff --git a/example/peripheral/qspi/sdkconfig b/example/peripheral/qspi/sdkconfig index a3a34de5..c66bfa27 100644 --- a/example/peripheral/qspi/sdkconfig +++ b/example/peripheral/qspi/sdkconfig @@ -2,7 +2,7 @@ # # Freertos Configuration # -CONFIG_TARGET_NAME="e2000d_freertos_a64" +CONFIG_TARGET_NAME="e2000q_freertos_a64" # end of Freertos Configuration # @@ -26,8 +26,8 @@ CONFIG_USE_SYS_TICK=y # # CONFIG_TARGET_F2000_4 is not set # CONFIG_TARGET_D2000 is not set -# CONFIG_TARGET_E2000Q is not set -CONFIG_TARGET_E2000D=y +CONFIG_TARGET_E2000Q=y +# CONFIG_TARGET_E2000D is not set # CONFIG_TARGET_E2000S is not set CONFIG_TARGET_E2000=y CONFIG_DEFAULT_DEBUG_PRINT_UART1=y @@ -44,11 +44,7 @@ CONFIG_USE_QSPI=y # # Qspi Configuration # -# CONFIG_USE_GD25Q256 is not set -CONFIG_USE_GD25Q64=y -# CONFIG_USE_GD25Q32 is not set -# CONFIG_USE_GD25Q128 is not set -# CONFIG_USE_S25FS256 is not set +CONFIG_USE_FQSPI=y # end of Qspi Configuration CONFIG_USE_GIC=y @@ -180,6 +176,12 @@ CONFIG_FREERTOS_USE_QSPI=y # # CONFIG_FREERTOS_USE_FSDIO is not set # end of Freertos MMC Drivers + +# +# Freertos Adc Drivers +# +# CONFIG_FREERTOS_USE_ADC is not set +# end of Freertos Adc Drivers # end of Component Configuration # @@ -202,6 +204,6 @@ CONFIG_DEFAULT_LETTER_SHELL_USE_UART1=y # CONFIG_DEFAULT_LETTER_SHELL_USE_UART2 is not set # end of Letter Shell Configuration -CONFIG_USE_TLSF=y +# CONFIG_USE_TLSF is not set # CONFIG_USE_SDMMC_CMD is not set # end of FreeRTOS Setting diff --git a/example/peripheral/qspi/sdkconfig.h b/example/peripheral/qspi/sdkconfig.h index 5d5a2ea4..fd1da999 100644 --- a/example/peripheral/qspi/sdkconfig.h +++ b/example/peripheral/qspi/sdkconfig.h @@ -3,7 +3,7 @@ /* Freertos Configuration */ -#define CONFIG_TARGET_NAME "e2000d_freertos_a64" +#define CONFIG_TARGET_NAME "e2000q_freertos_a64" /* end of Freertos Configuration */ /* Standalone Setting */ @@ -24,8 +24,8 @@ /* CONFIG_TARGET_F2000_4 is not set */ /* CONFIG_TARGET_D2000 is not set */ -/* CONFIG_TARGET_E2000Q is not set */ -#define CONFIG_TARGET_E2000D +#define CONFIG_TARGET_E2000Q +/* CONFIG_TARGET_E2000D is not set */ /* CONFIG_TARGET_E2000S is not set */ #define CONFIG_TARGET_E2000 #define CONFIG_DEFAULT_DEBUG_PRINT_UART1 @@ -40,11 +40,7 @@ /* Qspi Configuration */ -/* CONFIG_USE_GD25Q256 is not set */ -#define CONFIG_USE_GD25Q64 -/* CONFIG_USE_GD25Q32 is not set */ -/* CONFIG_USE_GD25Q128 is not set */ -/* CONFIG_USE_S25FS256 is not set */ +#define CONFIG_USE_FQSPI /* end of Qspi Configuration */ #define CONFIG_USE_GIC #define CONFIG_ENABLE_GICV3 @@ -158,6 +154,11 @@ /* CONFIG_FREERTOS_USE_FSDIO is not set */ /* end of Freertos MMC Drivers */ + +/* Freertos Adc Drivers */ + +/* CONFIG_FREERTOS_USE_ADC is not set */ +/* end of Freertos Adc Drivers */ /* end of Component Configuration */ /* FreeRTOS Setting */ @@ -177,7 +178,7 @@ /* CONFIG_DEFAULT_LETTER_SHELL_USE_UART0 is not set */ /* CONFIG_DEFAULT_LETTER_SHELL_USE_UART2 is not set */ /* end of Letter Shell Configuration */ -#define CONFIG_USE_TLSF +/* CONFIG_USE_TLSF is not set */ /* CONFIG_USE_SDMMC_CMD is not set */ /* end of FreeRTOS Setting */ diff --git a/example/peripheral/qspi/src/qspi_example.c b/example/peripheral/qspi/src/qspi_example.c index 4e0db17f..0c4afd05 100644 --- a/example/peripheral/qspi/src/qspi_example.c +++ b/example/peripheral/qspi/src/qspi_example.c @@ -82,11 +82,6 @@ static void QspiInitTask(void *pvParameters) goto qspi_init_exit; } - /* read qspi flash id, set cs and cmd */ - message.cs = QSPI_CS_CHANNEL; - message.cmd = FQSPI_FLASH_CMD_RDID; - FFreeRTOSQspiTransfer(os_qspi_ctrl_p, &message); - for (int i = 0; i < READ_WRITE_TASK_NUM; i++) { xSemaphoreGive(xCountingSemaphore); @@ -108,7 +103,7 @@ static void QspiReadTask(void *pvParameters) for( ;; ) { /* Print out the name of this task. */ - vPrintf( pcTaskName ); + printf( pcTaskName ); message.read_buf = rd_buf; message.length = DAT_LENGTH; @@ -118,8 +113,11 @@ static void QspiReadTask(void *pvParameters) ret = FFreeRTOSQspiTransfer(os_qspi_ctrl_p, &message); if (FQSPI_SUCCESS != ret) { - vPrintf("QspiReadTask FFreeRTOSQspiTransfer failed, result 0x%x\r\n", ret); + printf("QspiReadTask FFreeRTOSQspiTransfer failed, result 0x%x\r\n", ret); } + taskENTER_CRITICAL(); //进入临界区 + FtDumpHexByte(rd_buf, DAT_LENGTH); + taskEXIT_CRITICAL(); //退出临界区 /* Delay for a period. This time a call to vTaskDelay() is used which places the task into the Blocked state until the delay period has @@ -144,12 +142,21 @@ static void QspiWriteTask(void *pvParameters) for( ;; ) { /* Print out the name of this task. */ - vPrintf( pcTaskName ); + printf( pcTaskName ); for (i = 0; i < DAT_LENGTH; i++) { wr_buf[i] = wr_buf[i] + 0x11; } + message.addr = FLASH_ADDR; + message.cmd = FQSPI_FLASH_CMD_SE; + message.cs = QSPI_CS_CHANNEL; + ret = FFreeRTOSQspiTransfer(os_qspi_ctrl_p, &message); + if (FQSPI_SUCCESS != ret) + { + printf("QspiWriteTask FFreeRTOSQspiTransfer failed, result 0x%x\r\n", ret); + } + message.write_buf = wr_buf; message.length = DAT_LENGTH; message.addr = FLASH_ADDR; @@ -159,7 +166,7 @@ static void QspiWriteTask(void *pvParameters) ret = FFreeRTOSQspiTransfer(os_qspi_ctrl_p, &message); if (FQSPI_SUCCESS != ret) { - vPrintf("QspiWriteTask FFreeRTOSQspiTransfer failed, result 0x%x\r\n", ret); + printf("QspiWriteTask FFreeRTOSQspiTransfer failed, result 0x%x\r\n", ret); } /* Delay for a period. This time a call to vTaskDelay() is used which @@ -175,7 +182,7 @@ static void QspiWriteTask(void *pvParameters) static void prvOneShotTimerCallback( TimerHandle_t xTimer ) { /* Output a string to show the time at which the callback was executed. */ - vPrintf( "One-shot timer callback executing, will delete QspiReadTask and QspiWriteTask.\r\n" ); + printf( "One-shot timer callback executing, will delete QspiReadTask and QspiWriteTask.\r\n" ); FFreeRTOSQspiDelete(); } @@ -241,12 +248,12 @@ BaseType_t FFreeRTOSQspiCreate(u32 id) passed. */ if( xTimerStarted != pdPASS) { - vPrintf("CreateSoftwareTimerTasks xTimerStart failed \r\n"); + printf("CreateSoftwareTimerTasks xTimerStart failed \r\n"); } } else { - vPrintf("CreateSoftwareTimerTasks xTimerCreate failed \r\n"); + printf("CreateSoftwareTimerTasks xTimerCreate failed \r\n"); } taskEXIT_CRITICAL(); @@ -261,13 +268,13 @@ static void FFreeRTOSQspiDelete(void) if(read_handle) { vTaskDelete(read_handle); - vPrintf("Delete QspiReadTask success\r\n"); + printf("Delete QspiReadTask success\r\n"); } if(write_handle) { vTaskDelete(write_handle); - vPrintf("Delete QspiWriteTask success\r\n"); + printf("Delete QspiWriteTask success\r\n"); } /* delete count sem */ @@ -277,11 +284,11 @@ static void FFreeRTOSQspiDelete(void) xReturn = xTimerDelete(xOneShotTimer, 0); if(xReturn != pdPASS) { - vPrintf("OneShot Software Timer Delete failed.\r\n"); + printf("OneShot Software Timer Delete failed.\r\n"); } else { - vPrintf("OneShot Software Timer Delete success.\r\n"); + printf("OneShot Software Timer Delete success.\r\n"); } } diff --git a/example/peripheral/sdio/configs/e2000d_aarch32_eg_configs b/example/peripheral/sdio/configs/e2000d_aarch32_eg_configs index 49bc539e..fc294183 100644 --- a/example/peripheral/sdio/configs/e2000d_aarch32_eg_configs +++ b/example/peripheral/sdio/configs/e2000d_aarch32_eg_configs @@ -174,6 +174,12 @@ CONFIG_FREERTOS_USE_UART=y # CONFIG_FREERTOS_USE_FSDIO=y # end of Freertos MMC Drivers + +# +# Freertos Adc Drivers +# +# CONFIG_FREERTOS_USE_ADC is not set +# end of Freertos Adc Drivers # end of Component Configuration # diff --git a/example/peripheral/sdio/configs/e2000d_aarch64_eg_configs b/example/peripheral/sdio/configs/e2000d_aarch64_eg_configs index 7fb21a86..e50168bb 100644 --- a/example/peripheral/sdio/configs/e2000d_aarch64_eg_configs +++ b/example/peripheral/sdio/configs/e2000d_aarch64_eg_configs @@ -170,6 +170,12 @@ CONFIG_FREERTOS_USE_UART=y # CONFIG_FREERTOS_USE_FSDIO=y # end of Freertos MMC Drivers + +# +# Freertos Adc Drivers +# +# CONFIG_FREERTOS_USE_ADC is not set +# end of Freertos Adc Drivers # end of Component Configuration # diff --git a/example/peripheral/sdio/sdkconfig b/example/peripheral/sdio/sdkconfig index 7fb21a86..e50168bb 100644 --- a/example/peripheral/sdio/sdkconfig +++ b/example/peripheral/sdio/sdkconfig @@ -170,6 +170,12 @@ CONFIG_FREERTOS_USE_UART=y # CONFIG_FREERTOS_USE_FSDIO=y # end of Freertos MMC Drivers + +# +# Freertos Adc Drivers +# +# CONFIG_FREERTOS_USE_ADC is not set +# end of Freertos Adc Drivers # end of Component Configuration # diff --git a/example/peripheral/sdio/sdkconfig.h b/example/peripheral/sdio/sdkconfig.h index b8607f45..453e9deb 100644 --- a/example/peripheral/sdio/sdkconfig.h +++ b/example/peripheral/sdio/sdkconfig.h @@ -150,6 +150,11 @@ #define CONFIG_FREERTOS_USE_FSDIO /* end of Freertos MMC Drivers */ + +/* Freertos Adc Drivers */ + +/* CONFIG_FREERTOS_USE_ADC is not set */ +/* end of Freertos Adc Drivers */ /* end of Component Configuration */ /* FreeRTOS Setting */ diff --git a/example/peripheral/spi/configs/e2000d_aarch32_eg_configs b/example/peripheral/spi/configs/e2000d_aarch32_eg_configs index d40ac757..913504f7 100644 --- a/example/peripheral/spi/configs/e2000d_aarch32_eg_configs +++ b/example/peripheral/spi/configs/e2000d_aarch32_eg_configs @@ -174,6 +174,12 @@ CONFIG_FREERTOS_USE_FSPIM=y # # CONFIG_FREERTOS_USE_FSDIO is not set # end of Freertos MMC Drivers + +# +# Freertos Adc Drivers +# +# CONFIG_FREERTOS_USE_ADC is not set +# end of Freertos Adc Drivers # end of Component Configuration # diff --git a/example/peripheral/spi/configs/e2000d_aarch64_eg_configs b/example/peripheral/spi/configs/e2000d_aarch64_eg_configs index bd600595..6ea2a565 100644 --- a/example/peripheral/spi/configs/e2000d_aarch64_eg_configs +++ b/example/peripheral/spi/configs/e2000d_aarch64_eg_configs @@ -170,6 +170,12 @@ CONFIG_FREERTOS_USE_FSPIM=y # # CONFIG_FREERTOS_USE_FSDIO is not set # end of Freertos MMC Drivers + +# +# Freertos Adc Drivers +# +# CONFIG_FREERTOS_USE_ADC is not set +# end of Freertos Adc Drivers # end of Component Configuration # diff --git a/example/peripheral/spi/sdkconfig b/example/peripheral/spi/sdkconfig index bd600595..6ea2a565 100644 --- a/example/peripheral/spi/sdkconfig +++ b/example/peripheral/spi/sdkconfig @@ -170,6 +170,12 @@ CONFIG_FREERTOS_USE_FSPIM=y # # CONFIG_FREERTOS_USE_FSDIO is not set # end of Freertos MMC Drivers + +# +# Freertos Adc Drivers +# +# CONFIG_FREERTOS_USE_ADC is not set +# end of Freertos Adc Drivers # end of Component Configuration # diff --git a/example/peripheral/spi/sdkconfig.h b/example/peripheral/spi/sdkconfig.h index ea6e69f7..1fff15de 100644 --- a/example/peripheral/spi/sdkconfig.h +++ b/example/peripheral/spi/sdkconfig.h @@ -150,6 +150,11 @@ /* CONFIG_FREERTOS_USE_FSDIO is not set */ /* end of Freertos MMC Drivers */ + +/* Freertos Adc Drivers */ + +/* CONFIG_FREERTOS_USE_ADC is not set */ +/* end of Freertos Adc Drivers */ /* end of Component Configuration */ /* FreeRTOS Setting */ diff --git a/example/peripheral/wdt/configs/d2000_aarch32_eg_configs b/example/peripheral/wdt/configs/d2000_aarch32_eg_configs index 2c0ca741..447a2bc8 100644 --- a/example/peripheral/wdt/configs/d2000_aarch32_eg_configs +++ b/example/peripheral/wdt/configs/d2000_aarch32_eg_configs @@ -180,6 +180,12 @@ CONFIG_FREERTOS_USE_WDT=y # # CONFIG_FREERTOS_USE_FSDIO is not set # end of Freertos MMC Drivers + +# +# Freertos Adc Drivers +# +# CONFIG_FREERTOS_USE_ADC is not set +# end of Freertos Adc Drivers # end of Component Configuration # diff --git a/example/peripheral/wdt/configs/d2000_aarch64_eg_configs b/example/peripheral/wdt/configs/d2000_aarch64_eg_configs index 845027c8..14ce1486 100644 --- a/example/peripheral/wdt/configs/d2000_aarch64_eg_configs +++ b/example/peripheral/wdt/configs/d2000_aarch64_eg_configs @@ -176,6 +176,12 @@ CONFIG_FREERTOS_USE_WDT=y # # CONFIG_FREERTOS_USE_FSDIO is not set # end of Freertos MMC Drivers + +# +# Freertos Adc Drivers +# +# CONFIG_FREERTOS_USE_ADC is not set +# end of Freertos Adc Drivers # end of Component Configuration # diff --git a/example/peripheral/wdt/configs/e2000d_aarch32_eg_configs b/example/peripheral/wdt/configs/e2000d_aarch32_eg_configs index 343358f2..0decd1e3 100644 --- a/example/peripheral/wdt/configs/e2000d_aarch32_eg_configs +++ b/example/peripheral/wdt/configs/e2000d_aarch32_eg_configs @@ -180,6 +180,12 @@ CONFIG_FREERTOS_USE_WDT=y # # CONFIG_FREERTOS_USE_FSDIO is not set # end of Freertos MMC Drivers + +# +# Freertos Adc Drivers +# +# CONFIG_FREERTOS_USE_ADC is not set +# end of Freertos Adc Drivers # end of Component Configuration # diff --git a/example/peripheral/wdt/configs/e2000d_aarch64_eg_configs b/example/peripheral/wdt/configs/e2000d_aarch64_eg_configs index 62f67410..815f4e4c 100644 --- a/example/peripheral/wdt/configs/e2000d_aarch64_eg_configs +++ b/example/peripheral/wdt/configs/e2000d_aarch64_eg_configs @@ -176,6 +176,12 @@ CONFIG_FREERTOS_USE_WDT=y # # CONFIG_FREERTOS_USE_FSDIO is not set # end of Freertos MMC Drivers + +# +# Freertos Adc Drivers +# +# CONFIG_FREERTOS_USE_ADC is not set +# end of Freertos Adc Drivers # end of Component Configuration # diff --git a/example/peripheral/wdt/configs/e2000q_aarch64_eg_configs b/example/peripheral/wdt/configs/e2000q_aarch64_eg_configs index 3558b74b..399c82a3 100644 --- a/example/peripheral/wdt/configs/e2000q_aarch64_eg_configs +++ b/example/peripheral/wdt/configs/e2000q_aarch64_eg_configs @@ -128,6 +128,12 @@ CONFIG_OUTPUT_BINARY=y CONFIG_FREERTOS_USE_UART=y # end of Freertos Uart Drivers +# +# Freertos Pwm Drivers +# +# CONFIG_FREERTOS_USE_PWM is not set +# end of Freertos Pwm Drivers + # # Freertos Qspi Drivers # @@ -139,6 +145,43 @@ CONFIG_FREERTOS_USE_UART=y # CONFIG_FREERTOS_USE_WDT=y # end of Freertos Wdt Drivers + +# +# Freertos Eth Drivers +# +# CONFIG_FREERTOS_USE_XMAC is not set +# end of Freertos Eth Drivers + +# +# Freertos Gpio Drivers +# +# CONFIG_FREERTOS_USE_GPIO is not set +# end of Freertos Gpio Drivers + +# +# Freertos Spim Drivers +# +# CONFIG_FREERTOS_USE_FSPIM is not set +# end of Freertos Spim Drivers + +# +# Freertos DMA Drivers +# +# CONFIG_FREERTOS_USE_FDDMA is not set +# CONFIG_FREERTOS_USE_FGDMA is not set +# end of Freertos DMA Drivers + +# +# Freertos MMC Drivers +# +# CONFIG_FREERTOS_USE_FSDIO is not set +# end of Freertos MMC Drivers + +# +# Freertos Adc Drivers +# +# CONFIG_FREERTOS_USE_ADC is not set +# end of Freertos Adc Drivers # end of Component Configuration # @@ -146,6 +189,9 @@ CONFIG_FREERTOS_USE_WDT=y # # CONFIG_USE_LWIP is not set CONFIG_USE_BACKTRACE=y +# CONFIG_USE_FATFS is not set +# CONFIG_USE_SFUD is not set +# CONFIG_USE_SPIFFS is not set # CONFIG_USE_AMP is not set CONFIG_USE_LETTER_SHELL=y @@ -157,4 +203,7 @@ CONFIG_DEFAULT_LETTER_SHELL_USE_UART1=y # CONFIG_DEFAULT_LETTER_SHELL_USE_UART0 is not set # CONFIG_DEFAULT_LETTER_SHELL_USE_UART2 is not set # end of Letter Shell Configuration + +# CONFIG_USE_TLSF is not set +# CONFIG_USE_SDMMC_CMD is not set # end of FreeRTOS Setting diff --git a/example/peripheral/wdt/configs/ft2004_aarch32_eg_configs b/example/peripheral/wdt/configs/ft2004_aarch32_eg_configs index 2e785a15..dd6ad124 100644 --- a/example/peripheral/wdt/configs/ft2004_aarch32_eg_configs +++ b/example/peripheral/wdt/configs/ft2004_aarch32_eg_configs @@ -180,6 +180,12 @@ CONFIG_FREERTOS_USE_WDT=y # # CONFIG_FREERTOS_USE_FSDIO is not set # end of Freertos MMC Drivers + +# +# Freertos Adc Drivers +# +# CONFIG_FREERTOS_USE_ADC is not set +# end of Freertos Adc Drivers # end of Component Configuration # diff --git a/example/peripheral/wdt/configs/ft2004_aarch64_eg_configs b/example/peripheral/wdt/configs/ft2004_aarch64_eg_configs index 5c8bd1e9..be4efe83 100644 --- a/example/peripheral/wdt/configs/ft2004_aarch64_eg_configs +++ b/example/peripheral/wdt/configs/ft2004_aarch64_eg_configs @@ -176,6 +176,12 @@ CONFIG_FREERTOS_USE_WDT=y # # CONFIG_FREERTOS_USE_FSDIO is not set # end of Freertos MMC Drivers + +# +# Freertos Adc Drivers +# +# CONFIG_FREERTOS_USE_ADC is not set +# end of Freertos Adc Drivers # end of Component Configuration # diff --git a/example/peripheral/wdt/sdkconfig b/example/peripheral/wdt/sdkconfig index 62f67410..815f4e4c 100644 --- a/example/peripheral/wdt/sdkconfig +++ b/example/peripheral/wdt/sdkconfig @@ -176,6 +176,12 @@ CONFIG_FREERTOS_USE_WDT=y # # CONFIG_FREERTOS_USE_FSDIO is not set # end of Freertos MMC Drivers + +# +# Freertos Adc Drivers +# +# CONFIG_FREERTOS_USE_ADC is not set +# end of Freertos Adc Drivers # end of Component Configuration # diff --git a/example/peripheral/wdt/sdkconfig.h b/example/peripheral/wdt/sdkconfig.h index 97a0d9f6..af42bfe6 100644 --- a/example/peripheral/wdt/sdkconfig.h +++ b/example/peripheral/wdt/sdkconfig.h @@ -154,6 +154,11 @@ /* CONFIG_FREERTOS_USE_FSDIO is not set */ /* end of Freertos MMC Drivers */ + +/* Freertos Adc Drivers */ + +/* CONFIG_FREERTOS_USE_ADC is not set */ +/* end of Freertos Adc Drivers */ /* end of Component Configuration */ /* FreeRTOS Setting */ diff --git a/example/storage/qspi_spiffs/README.md b/example/storage/qspi_spiffs/README.md index 38411809..8d3a1f05 100644 --- a/example/storage/qspi_spiffs/README.md +++ b/example/storage/qspi_spiffs/README.md @@ -122,7 +122,7 @@ bootelf -p 0x90100000 >描述输入输出情况,列出存在哪些输出,对应的输出是什么(建议附录相关现象图片)
程序启动后,依次创建Init、Read、Write任务,创建单次模式软件定时器用于删除任务,Init任务会首先初始化并挂载qspi flash的部分区域(可通过FSPIFFS_IF_FORMAT选择是否进行格式化操作),随后创建一个文件,然后释放信号量通知Read和Write任务开始执行; -- Init完成,挂载文件系统完成,创建测试文件,图中文件创建失败是因为文件系统中已经有test.txt这个文件了 +- init完成,挂载文件系统完成,创建测试文件 ![init](./figs/init.png) - 读写任务周期性执行,有两个读任务,一个写任务 @@ -135,6 +135,8 @@ bootelf -p 0x90100000 >主要记录使用例程中可能会遇到的问题,给出相应的解决方案
+- FSPIFFS_IF_FORMAT决定初始化阶段是否格式化指定的区域,TRUE为格式化,FLASE为不格式化 + ## 4. 修改历史记录 >记录例程的重大修改记录,标明修改发生的版本号
diff --git a/example/storage/qspi_spiffs/configs/d2000_aarch32_eg_configs b/example/storage/qspi_spiffs/configs/d2000_aarch32_eg_configs index 8a0da404..1401ba5b 100644 --- a/example/storage/qspi_spiffs/configs/d2000_aarch32_eg_configs +++ b/example/storage/qspi_spiffs/configs/d2000_aarch32_eg_configs @@ -44,11 +44,7 @@ CONFIG_USE_QSPI=y # # Qspi Configuration # -CONFIG_USE_GD25Q256=y -# CONFIG_USE_GD25Q64 is not set -# CONFIG_USE_GD25Q32 is not set -# CONFIG_USE_GD25Q128 is not set -# CONFIG_USE_S25FS256 is not set +CONFIG_USE_FQSPI=y # end of Qspi Configuration CONFIG_USE_GIC=y @@ -145,7 +141,7 @@ CONFIG_FREERTOS_USE_UART=y # # Freertos Qspi Drivers # -# CONFIG_FREERTOS_USE_QSPI is not set +CONFIG_FREERTOS_USE_QSPI=y # end of Freertos Qspi Drivers # @@ -184,6 +180,12 @@ CONFIG_FREERTOS_USE_UART=y # # CONFIG_FREERTOS_USE_FSDIO is not set # end of Freertos MMC Drivers + +# +# Freertos Adc Drivers +# +# CONFIG_FREERTOS_USE_ADC is not set +# end of Freertos Adc Drivers # end of Component Configuration # diff --git a/example/storage/qspi_spiffs/configs/d2000_aarch64_eg_configs b/example/storage/qspi_spiffs/configs/d2000_aarch64_eg_configs index 0a80f164..c4514b80 100644 --- a/example/storage/qspi_spiffs/configs/d2000_aarch64_eg_configs +++ b/example/storage/qspi_spiffs/configs/d2000_aarch64_eg_configs @@ -44,11 +44,7 @@ CONFIG_USE_QSPI=y # # Qspi Configuration # -CONFIG_USE_GD25Q256=y -# CONFIG_USE_GD25Q64 is not set -# CONFIG_USE_GD25Q32 is not set -# CONFIG_USE_GD25Q128 is not set -# CONFIG_USE_S25FS256 is not set +CONFIG_USE_FQSPI=y # end of Qspi Configuration CONFIG_USE_GIC=y @@ -141,7 +137,7 @@ CONFIG_FREERTOS_USE_UART=y # # Freertos Qspi Drivers # -# CONFIG_FREERTOS_USE_QSPI is not set +CONFIG_FREERTOS_USE_QSPI=y # end of Freertos Qspi Drivers # @@ -180,6 +176,12 @@ CONFIG_FREERTOS_USE_UART=y # # CONFIG_FREERTOS_USE_FSDIO is not set # end of Freertos MMC Drivers + +# +# Freertos Adc Drivers +# +# CONFIG_FREERTOS_USE_ADC is not set +# end of Freertos Adc Drivers # end of Component Configuration # diff --git a/example/storage/qspi_spiffs/configs/e2000d_aarch32_eg_configs b/example/storage/qspi_spiffs/configs/e2000d_aarch32_eg_configs index 5a591d6f..7827871d 100644 --- a/example/storage/qspi_spiffs/configs/e2000d_aarch32_eg_configs +++ b/example/storage/qspi_spiffs/configs/e2000d_aarch32_eg_configs @@ -44,11 +44,7 @@ CONFIG_USE_QSPI=y # # Qspi Configuration # -# CONFIG_USE_GD25Q256 is not set -# CONFIG_USE_GD25Q64 is not set -# CONFIG_USE_GD25Q32 is not set -CONFIG_USE_GD25Q128=y -# CONFIG_USE_S25FS256 is not set +CONFIG_USE_FQSPI=y # end of Qspi Configuration CONFIG_USE_GIC=y @@ -145,7 +141,7 @@ CONFIG_FREERTOS_USE_UART=y # # Freertos Qspi Drivers # -# CONFIG_FREERTOS_USE_QSPI is not set +CONFIG_FREERTOS_USE_QSPI=y # end of Freertos Qspi Drivers # @@ -184,6 +180,12 @@ CONFIG_FREERTOS_USE_UART=y # # CONFIG_FREERTOS_USE_FSDIO is not set # end of Freertos MMC Drivers + +# +# Freertos Adc Drivers +# +# CONFIG_FREERTOS_USE_ADC is not set +# end of Freertos Adc Drivers # end of Component Configuration # diff --git a/example/storage/qspi_spiffs/configs/e2000d_aarch64_eg_configs b/example/storage/qspi_spiffs/configs/e2000d_aarch64_eg_configs index 0950954c..61433874 100644 --- a/example/storage/qspi_spiffs/configs/e2000d_aarch64_eg_configs +++ b/example/storage/qspi_spiffs/configs/e2000d_aarch64_eg_configs @@ -44,11 +44,7 @@ CONFIG_USE_QSPI=y # # Qspi Configuration # -# CONFIG_USE_GD25Q256 is not set -# CONFIG_USE_GD25Q64 is not set -# CONFIG_USE_GD25Q32 is not set -CONFIG_USE_GD25Q128=y -# CONFIG_USE_S25FS256 is not set +CONFIG_USE_FQSPI=y # end of Qspi Configuration CONFIG_USE_GIC=y @@ -141,7 +137,7 @@ CONFIG_FREERTOS_USE_UART=y # # Freertos Qspi Drivers # -# CONFIG_FREERTOS_USE_QSPI is not set +CONFIG_FREERTOS_USE_QSPI=y # end of Freertos Qspi Drivers # @@ -180,6 +176,12 @@ CONFIG_FREERTOS_USE_UART=y # # CONFIG_FREERTOS_USE_FSDIO is not set # end of Freertos MMC Drivers + +# +# Freertos Adc Drivers +# +# CONFIG_FREERTOS_USE_ADC is not set +# end of Freertos Adc Drivers # end of Component Configuration # diff --git a/example/storage/qspi_spiffs/configs/e2000q_aarch32_eg_configs b/example/storage/qspi_spiffs/configs/e2000q_aarch32_eg_configs index 0c41a91c..b5b6402d 100644 --- a/example/storage/qspi_spiffs/configs/e2000q_aarch32_eg_configs +++ b/example/storage/qspi_spiffs/configs/e2000q_aarch32_eg_configs @@ -44,11 +44,7 @@ CONFIG_USE_QSPI=y # # Qspi Configuration # -# CONFIG_USE_GD25Q256 is not set -# CONFIG_USE_GD25Q64 is not set -# CONFIG_USE_GD25Q32 is not set -CONFIG_USE_GD25Q128=y -# CONFIG_USE_S25FS256 is not set +CONFIG_USE_FQSPI=y # end of Qspi Configuration CONFIG_USE_GIC=y @@ -136,10 +132,16 @@ CONFIG_OUTPUT_BINARY=y CONFIG_FREERTOS_USE_UART=y # end of Freertos Uart Drivers +# +# Freertos Pwm Drivers +# +# CONFIG_FREERTOS_USE_PWM is not set +# end of Freertos Pwm Drivers + # # Freertos Qspi Drivers # -# CONFIG_FREERTOS_USE_QSPI is not set +CONFIG_FREERTOS_USE_QSPI=y # end of Freertos Qspi Drivers # @@ -147,6 +149,43 @@ CONFIG_FREERTOS_USE_UART=y # # CONFIG_FREERTOS_USE_WDT is not set # end of Freertos Wdt Drivers + +# +# Freertos Eth Drivers +# +# CONFIG_FREERTOS_USE_XMAC is not set +# end of Freertos Eth Drivers + +# +# Freertos Gpio Drivers +# +# CONFIG_FREERTOS_USE_GPIO is not set +# end of Freertos Gpio Drivers + +# +# Freertos Spim Drivers +# +# CONFIG_FREERTOS_USE_FSPIM is not set +# end of Freertos Spim Drivers + +# +# Freertos DMA Drivers +# +# CONFIG_FREERTOS_USE_FDDMA is not set +# CONFIG_FREERTOS_USE_FGDMA is not set +# end of Freertos DMA Drivers + +# +# Freertos MMC Drivers +# +# CONFIG_FREERTOS_USE_FSDIO is not set +# end of Freertos MMC Drivers + +# +# Freertos Adc Drivers +# +# CONFIG_FREERTOS_USE_ADC is not set +# end of Freertos Adc Drivers # end of Component Configuration # @@ -187,4 +226,7 @@ CONFIG_DEFAULT_LETTER_SHELL_USE_UART1=y # CONFIG_DEFAULT_LETTER_SHELL_USE_UART0 is not set # CONFIG_DEFAULT_LETTER_SHELL_USE_UART2 is not set # end of Letter Shell Configuration + +# CONFIG_USE_TLSF is not set +# CONFIG_USE_SDMMC_CMD is not set # end of FreeRTOS Setting diff --git a/example/storage/qspi_spiffs/configs/e2000q_aarch64_eg_configs b/example/storage/qspi_spiffs/configs/e2000q_aarch64_eg_configs index a28feed7..ab42b7cf 100644 --- a/example/storage/qspi_spiffs/configs/e2000q_aarch64_eg_configs +++ b/example/storage/qspi_spiffs/configs/e2000q_aarch64_eg_configs @@ -44,11 +44,7 @@ CONFIG_USE_QSPI=y # # Qspi Configuration # -# CONFIG_USE_GD25Q256 is not set -# CONFIG_USE_GD25Q64 is not set -# CONFIG_USE_GD25Q32 is not set -CONFIG_USE_GD25Q128=y -# CONFIG_USE_S25FS256 is not set +CONFIG_USE_FQSPI=y # end of Qspi Configuration CONFIG_USE_GIC=y @@ -132,10 +128,16 @@ CONFIG_OUTPUT_BINARY=y CONFIG_FREERTOS_USE_UART=y # end of Freertos Uart Drivers +# +# Freertos Pwm Drivers +# +# CONFIG_FREERTOS_USE_PWM is not set +# end of Freertos Pwm Drivers + # # Freertos Qspi Drivers # -# CONFIG_FREERTOS_USE_QSPI is not set +CONFIG_FREERTOS_USE_QSPI=y # end of Freertos Qspi Drivers # @@ -143,6 +145,43 @@ CONFIG_FREERTOS_USE_UART=y # # CONFIG_FREERTOS_USE_WDT is not set # end of Freertos Wdt Drivers + +# +# Freertos Eth Drivers +# +# CONFIG_FREERTOS_USE_XMAC is not set +# end of Freertos Eth Drivers + +# +# Freertos Gpio Drivers +# +# CONFIG_FREERTOS_USE_GPIO is not set +# end of Freertos Gpio Drivers + +# +# Freertos Spim Drivers +# +# CONFIG_FREERTOS_USE_FSPIM is not set +# end of Freertos Spim Drivers + +# +# Freertos DMA Drivers +# +# CONFIG_FREERTOS_USE_FDDMA is not set +# CONFIG_FREERTOS_USE_FGDMA is not set +# end of Freertos DMA Drivers + +# +# Freertos MMC Drivers +# +# CONFIG_FREERTOS_USE_FSDIO is not set +# end of Freertos MMC Drivers + +# +# Freertos Adc Drivers +# +# CONFIG_FREERTOS_USE_ADC is not set +# end of Freertos Adc Drivers # end of Component Configuration # @@ -183,4 +222,7 @@ CONFIG_DEFAULT_LETTER_SHELL_USE_UART1=y # CONFIG_DEFAULT_LETTER_SHELL_USE_UART0 is not set # CONFIG_DEFAULT_LETTER_SHELL_USE_UART2 is not set # end of Letter Shell Configuration + +# CONFIG_USE_TLSF is not set +# CONFIG_USE_SDMMC_CMD is not set # end of FreeRTOS Setting diff --git a/example/storage/qspi_spiffs/configs/ft2004_aarch32_eg_configs b/example/storage/qspi_spiffs/configs/ft2004_aarch32_eg_configs index 3f5184df..16e1bf81 100644 --- a/example/storage/qspi_spiffs/configs/ft2004_aarch32_eg_configs +++ b/example/storage/qspi_spiffs/configs/ft2004_aarch32_eg_configs @@ -44,11 +44,7 @@ CONFIG_USE_QSPI=y # # Qspi Configuration # -CONFIG_USE_GD25Q256=y -# CONFIG_USE_GD25Q64 is not set -# CONFIG_USE_GD25Q32 is not set -# CONFIG_USE_GD25Q128 is not set -# CONFIG_USE_S25FS256 is not set +CONFIG_USE_FQSPI=y # end of Qspi Configuration CONFIG_USE_GIC=y @@ -145,7 +141,7 @@ CONFIG_FREERTOS_USE_UART=y # # Freertos Qspi Drivers # -# CONFIG_FREERTOS_USE_QSPI is not set +CONFIG_FREERTOS_USE_QSPI=y # end of Freertos Qspi Drivers # @@ -184,6 +180,12 @@ CONFIG_FREERTOS_USE_UART=y # # CONFIG_FREERTOS_USE_FSDIO is not set # end of Freertos MMC Drivers + +# +# Freertos Adc Drivers +# +# CONFIG_FREERTOS_USE_ADC is not set +# end of Freertos Adc Drivers # end of Component Configuration # diff --git a/example/storage/qspi_spiffs/configs/ft2004_aarch64_eg_configs b/example/storage/qspi_spiffs/configs/ft2004_aarch64_eg_configs index 93860c9d..783c693b 100644 --- a/example/storage/qspi_spiffs/configs/ft2004_aarch64_eg_configs +++ b/example/storage/qspi_spiffs/configs/ft2004_aarch64_eg_configs @@ -44,11 +44,7 @@ CONFIG_USE_QSPI=y # # Qspi Configuration # -CONFIG_USE_GD25Q256=y -# CONFIG_USE_GD25Q64 is not set -# CONFIG_USE_GD25Q32 is not set -# CONFIG_USE_GD25Q128 is not set -# CONFIG_USE_S25FS256 is not set +CONFIG_USE_FQSPI=y # end of Qspi Configuration CONFIG_USE_GIC=y @@ -141,7 +137,7 @@ CONFIG_FREERTOS_USE_UART=y # # Freertos Qspi Drivers # -# CONFIG_FREERTOS_USE_QSPI is not set +CONFIG_FREERTOS_USE_QSPI=y # end of Freertos Qspi Drivers # @@ -180,6 +176,12 @@ CONFIG_FREERTOS_USE_UART=y # # CONFIG_FREERTOS_USE_FSDIO is not set # end of Freertos MMC Drivers + +# +# Freertos Adc Drivers +# +# CONFIG_FREERTOS_USE_ADC is not set +# end of Freertos Adc Drivers # end of Component Configuration # diff --git a/example/storage/qspi_spiffs/figs/init.png b/example/storage/qspi_spiffs/figs/init.png index fe6ed5e404d3866612f7bc006820afed2af5d066..b3f12bfcc3b249059ccf61492bd78dabc2fa7770 100644 GIT binary patch literal 24680 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 literal 15313 zcmbumcRZVK`#-FztyXKcXsx2?K&maZx6-Q7NsZXMMyNf~qBUZ6p*3n%TO&1Nr&>vj z5_<(HF-imx1c~GqeD2@wcc+_56WcPOj^`j`KW@_xpGs#~Ej8tbgjnxf4uG zOs8%e=-y{yV#YB(e`7t$_k{L~A;0_j+Dv8Lf(wib78fleEheV&WHzeZ5ytg# zAA=`;OibL*_P!2HI*SA`F{wD;*426#1SDil_|JUfe(B9^+;Vn=gS5;_UG~qGqVu=b zVPki77@ruIZC1MA;;tJP_D7+KIk+n|ev`@wkH&U{NvgHwd|Ntc=!;BAOq%EtPdN+p`5d=e){`upC4yn@!>1)^|8ur~>hpfym3b9ww!v54M!151JGG3BmNsA z5Y1VkfAA7W`?I{q!Bmj-pGHM8w3%xBG*=JyAVDgi+yvir#f%e2Xs$8Wrj2VC**9Gi zLvENOIXLFIkDbPmITT-M7$oGp!EoVd<6yO>t!-MKgFdTh;H$sh)ful?2am%lYU{{q zHl_&x^Ph6FuOY`q((2lPeQ4go%LQ z6+x4SjK+^4f;w}AMTVM>zSy}O7xfbl7p@HTu`z+l4s|()+U&?zz%baK;x%!Jbv=9< zf6VKQZT#pW7__(B=*0UslwqEj5tm@M$%=>h;^>8~R`0mYx;1P-twKRH0zUJxfJ^1# zq_bdF0P9Q4ho4@V4}Ju5dqsWZ(!X!kjUMb9oUd(rr!YLBoUBag>P{Xu0Sik%=~#N9 zoI;(e;~;$v)%TBZXX*k)bFL+e?O1w#7S;CuIl-If)Ux#`<85vnhCArc-2`t)_N5CU zVQsunug}PjBRfabo}`G3PdCf_h`VZ_Yw+a4XOs$}_N-09{Ae7@d_&cIxD{b0+@BsY zJu;6V!(ciKZGMkk^ys`884*aShe^2KfJ5503kuTO>o9DHvr4Gy<_V-aWmr}Wx6YS( zUPvk}8^SC;o(f$J3w(>tPl^bfkAZ8b47~FS6@gkGV-HsAzFuyOgX2X${q#yQ@mOLN zov}IC>d|xdXZhYalFh=_UaHDo8xrPwS^J}eKKY}yR>Gd=6GCT9w)(|2dEl{`P^EvKsmo497S}3L2BJFq|A=X@La#E0lT6HeJRCLOAEbZ|}w^$~? zVsfXQ8M?4I_zo z;%g?I-H)Ebzk;%Lgsq_-6KT8sf-r&NG~ou|kM!rHRvTjYh9_aO%Go6e!#_)6CBWpH z%L&=av2CI6n|#X1zU|u#uUtNL;FY%|t-!MbCOZrEa*s0KFLgi$eoF8qe9K24Ok#(!n6VHFRSHN1~p-}`;WESE$XP;ISMHB{x zn&Izwv1@sa)6x1?DKPbpl`A%K#c`~tm#wv%E433hl-I_^%WhN>PX1OrY1$z92|7qB z7{B!;O1mqBJ@Md8`4ahld&bWwEngn`3A0)7N)IG9YO5PyzOINrXM0!oJRdUNEjy>i$FhNFkQNhsfC##+J4>4av0yop z9zpJBSBAYBc~L1AXM z9UtzWGJ}VuHdMxgRKW~?%IDlIRp{qDWFbAF+aN29v7r}}pR-YGG(7`|mkwb?`6? zb~`1T{EPCGRg3K+`YXULYcKoOHjB06kTbLqp)_xRj^9FH! zOq3_kmVC^zVRM=VP9R0FgZrj?xuEFW2(d(>V8BXC=VyT{VAU*=V7cnr=2nA_dqs zRxZC*k-D&i(-vOwT3S`i3#WxGuYTzoXV1@aNhZk!BT1Xmu2;-L=}GD?f^mG1!!Z0W z-cOPZAqH3;`-!BTOvPR|R%|v&d}AS&AJv`T9Z?xJkbQmfTht(&n)#MgA6#}$7X-(a z1{Y^*XtQpYANX32_+{^`&{&C`THslHt_~B|9{8n@&hH1e$k<=C*usl&82@|kqqkV( z5sLf3ILNiPR4LS}7m>&Jeo>aRAN*%xwB(HUpwrj?e?iXw0;(+PMzi+jXya^z5=Q+d zd5OXb6IqE0LGJ9FT-aJ#bcFw|3n+!ZU~h9vWRrfNnLbx!Y?UBYqPeoEQfHY}&1bD0oSsmxuDMO0X(%R7;Uy3Ca* zfB6hcKCUUNr(1#Teu?&BCwf$~eenJvPv}%=&YZ?$7rHsWqf6NL#D<;JivzOaGe|<> zm<(o$D626(bkEGGJ1`ri=%FNDAaD>i&OzLzr-x_Kn0E`7Z63WmCDWZ{uUZZXe+<62 ze8Qf3&Ay<^iSM&=ak{0HBi%3(mQvhOzf;7-ryEafV9rLx#ldU8Q!SR2;UQe-d_T-_ zR71oXGC~Jr^}4&9po3lr_C)dSjjvn6IS(!&+p|Rf!JvDknS#sVXg50@2&tCe#?|O< z3dfsTM;oS_;z)?Yj3gr!4HbASaG?2iZv;!}oQMpf~1m=7-xMOh`;pKCCP=d2w=K zcNiMbC|9$-krb3g$j1lbM>jrN_1+~|&|2E^yjPGx%o`lT?*y=_?4D9}I%tmc$JwDf zddQn@XmEAT2z#=C?$>6S6h-?9%Lf1D1_hVFOMkK2m1Rj4i7rh>zu3==e#!bC+g&Jf zmK5pzCF^M7aPLB(tq0scB6{aK5;#|Ais!a;!y=}3^cUBc{PmWP9<1Lt$hS;E+LkZc z+liUL^%I%*JdTKT?7{sS8$NGp^I>f;@&fwa$r9!pr0W?^wb^T+9E2Ky+D+gZrEb@w zSYE}mDNNze548A!4_NCmJGj^v#>FAMK)|rBh{3a zDMMygwdf3pG_{u=(zqd<9WE#=(pke9kSTK2ARD!#*G(c&6F2oyrMI~CJ%mlZ47=Sb z*|r9DKPr-;r_?J)hGUS~ky$gE1ey+TS-^e%3G)1$0|Xo>oF8!F#-!#wX|n}IjSGNn z>I3Dpv3Y)rqWQ8bzGesBfBubY@I8M7pGius<(n4evjUXMcM4KYrAEdP$7S=+bVgQL zyB|IhZ}tGFI(?xaykd!PTecYo z*urjlB{`5|*#=-M&{J02f4!cFmr=YNH< zBO>FBFA>r46Rce4!Al?RqeRrGF9rVmc$2AoY( zy?1oyGC+99(ZT3^O%{rGfuHuEX~$#Bf5p>V!%ObfcMNXmBVY0vZx!~cGK<|s#VWws zq;^SmYLI+5ZR5}m(}2cfvulzOWD~osb@EjW$8d}~0nPE&A=qm}1&G#1o+^+}mU@fp zVZoMKD0(;g?=92MfWq45qn`qV+s&>6LK{*b>*3t+Ck>trYPN#c0B=!+w``iC&Bu$& zBW87;&tkhD_x7*U;p4~89MIzgR&($>r%T9!pxl6&@L%?gVSUmGt=Bp50P>P~i{O|Yis_8Wa4`AlfS(u{YQ!6MX1^42WV_KpKVju(JNMPTda>Ngfe z1UT&K+y$0kYNcl|MI-vR@4jF7?dJj)$5}?8&z8>-Sz3$I*%~G#CZ{8$CqIL`>Xq4d za+#}j@S3CTbzktk{FVb{+VV+?mZD_ zQL@5oLmr|r28|zp^bjUY*^q{^@KLW^%gN%g8cZ?ZyL{4Y-QY@)noWe3hzj7yHm60m z_=kD9546H`e}BP&n98yCI&(}~`aP9=xIr(xnozUi6oTd`w*g}3Y>S5?v4wt{npxRj z%i6O333VR#y2_rGLZMPG8XtQ~iLG3TBW^fejFrrwLLh*dsH&_Tb>@Mz&#Jv+Z(hj1 z81ZZ+{>@?~M8E`3-7R@3cg}jfJg8T3wf@BJv^@9pny`BCwY#}E%8uZjx>=X$@i`0PBO?#TfvKIeU8 zW`J+MR~vXT^KZ=?`$`D7y0OXZgd&$w565v$^}EVSKY|`~Kw{KJ(|Kao@g&ZtFyePi zS)~Za@Z`?O=kj*{tnY6=e3cQNZ4BCk=&dV-bMWe$SbOe%21zI5Dbj!w5vcALcN*o) z+Cku?s_f7AH#k05tX_I8CqMlh-+`!B<&};T9U?s@3(X%p`Fg%Qq7x_JH@CS#^{ke{ zE$xmA>BNBw%DsYR2d{AJtB~iv^?v}fez};L@Zk>BZoFNj!zh3r z!{#2j8ju*k9RMDw_5i50{8V3=UzN%dv~2{5T_Q}eyuW?%V^92>9$&P@)0XW&l8~#S zZ&`qep1x^A#sJyRi`vIh=z7=piCRad>3BlXdE=u)|-iiq(3ZcR261g6wu=($HYVpRWO%%msMrbGO;ED|`ajQZ=d)uDmR%+iXO2@=Q#f zWkh%JgWnqEoe;XKwp;dCKL#!@r`(*=uU0q7(e6I!dBZ|HOJ`h2_9Y zj$rMR1&8C$`6hq&I-bF{bBamSMe{)QSQeJDt)NH-OGJ-LoyJA~zEF0gkx9Soz=xx$ zENc|W($K5N>w+1yFGG9Hvz9I(*8eKSPkf(*>=8j$QAgSRc*T9d_T~=O;y;GOR^2Yo z@Nw*xhV@;*D`r-Oh7f+s|m=suh#w? zS-2{yZ!?S^iq}6`b$%!`(|lG=7b#-(cm5XY*sS+H(KDp!Fz@IyhfD{tYCP-ds4V}1 z2q!;Fo#hbWVZ)=u3Yr4CyZ_|q%%iJ|BAz*YXV=v3lIPup44p=7$=ALIS5oxG*c3+I z#D3lx1_@hxsIrO{u>HgB-Z*A9+VG^#AnL%6jQ;jGVlE+h8b(|;%xYw%k!EtRcpW+$ z(2X7>SYGAwpI&{J&9<&zqmkalx zZgu=FtEkIA>dfMWCtSyt!#}#7pnI9r;OxV4CDvt?ruf1^d4Xrrf&^*bD!JQ#8sB(f zKYZHqaYRAW<8EgPU-(zdsi8wGh^;d9w&WQ5Oipddf3d^Y(tF&^G4%g(x09sHq@)(b z`@U1hkN3X*avjJJT~bBqvgvR^B6{)^`1yx5GyI@m&x8uK(wi(|D^eLc;Md?8CY+U1 zJWKAB>&=`fs~W%K6b~8(&)Gy6rl@&M!$Q=WdC4DE$=I=4s|z(d0fk**YVn;Hx2M} zg=O*4#gc{|_ySBXbY1QOGG^DX^%Y5O42f_c&Dzqw-Q~s|`N^EQb*!3)l!sg7mO3kH zvK{K6fx!oeJWg`F`+E3kdHFq(Na86nH0K*f6fW6xZ|*5pM?bEa7oI1~Mw9vHo%Dr? z5rw>`EE^IJZ}j=moC%gn`VOiL6(=g`*I9gaib&MK+*jMTYsYV9M#y}XeD+1?q1CDQ z?+~N&q4eo!fz2pT&;?#TBR{c8z@*S_Qan+IHcOvOzkiH#^Jm@RFPG?|+Gy}b_hBc^P4QXFOG_-FZbXn9~6l`I!h)4TGEY$tq9D(~V8WrI>c0{J%qrOIDW zT&~rreeN8^p}7uTx29L4%VA@x`c1!8!O6o-pQV6R*=RFzG?o7V0r|PU)7-axUrS19 z3?wx|FO}U1NNjhz@Lsg1eZ^d`E%J0P8~+CvR4l*7l8sV?bkZ%_`5y}BA^*vVr@gtO@l?!2{{z9RL&D@RqCUE5p?g90U>RCuajX=p^R-fGBp@(&e zrpMk1*1eRK{bY#=2&Etdk8E)KM#RrxM=@a5Z|$gv!vxqcT)l&KHXWyM%NuCn|Gc%= zUA%Bu!=!v!Wp2({@S4jz{8Zych0kBA9z#2Gc|JsHt(TfX{X>NepE{bU4-KdBRGKAp zQciLeBA#eHZNFe;WpG}kfG|MjI?)`B_#%ol1jW*2BNrp7z<>_~hp-u^}I{;ERNRo+<6ea79i%Hc? zaK&r^`4q}_(YtSMZ-UP+jP9@#f*TNbP>J!x1={Vh$8^b|L%Jmd3)O7LyNO3YHfYO6 z+1H+2{^c^@68B7fOW@O-8uglC+v(au|MP@Pbo(-EteYAj8A`d~d%>Z)iaCoUp*6K5 zzlQh7-KdKF1{Qj_8-?^t@P#}0o1!Z@=i91sk{pop<{&*XRq zTL0iPr1ZXO-y=s7pYN`w&jdeQxvdwA)j9e8lR59L!ERatyjJz}2cMyjjAn{V#sp)F-8W<@CYX6=;i?zDeT+Wb~_SohdY3+5L-qR>~^ ze-<%bx*Y~=3i__x<2M#i_QXLBNY?M>sLG}+s&_LA4KpIz2c-&ju5c2yz}%U~@30k@ z_&&!tbKu>asl4Qd(-j(`uMEG3iRVIV4x}sN{n7ud+WZ&o>AwvvKQAIf`>}AFBC-@k zaXYs$ycR?+-Ue-H z4MtH8Us~dvG#2T*)tufO-dck-F^RM8NF%TOiKfpu+{RFYG@431mnplKktgO5oZP9& zu-0zU%nlmqKr%|%9J8M}NmF`8vkG1D_G+9aW>YtQ>Cvgtf*1!dk7^TOBhXDQV!82m z8No37iYnl^Xu%#|Lqq`|%4oZ1X*LC60E$`{JhV2}d3jsmBHnlp{y1|>-M|I^ZJ0ZD zTdFz1cn41zHrM`$`PsYzJAEaSkE?;87lv1vkwD^Eg58hB6Srwkwn?5l96r5A(IRz5 z7m=R(!r#e#elgY2zc68Q+bFsMUjME2(^Z90{qi|=)`FFd$kooKnoZ9*5GwU$?M3CR zzt#w+TpL`I4^Xq*W3E5mY|JB`*iO^4SquoGwRv(c;$ETR?FH=vLK(|^bYEliaRMMA zCy$pHl@yv4{G!7p!qI%VxkqzCFC!pOftlbJYY#gbi1k%BrEk5WHrUbv4A`j@zRS$G z_Q4)~PNUw<&W+KMSuq;s`0%a1>}DC1Fs#DIko1S9fvj#2I$rI!>q1<#j8vdcjw?bz zOJ3yHv^z_S+$_S$j|GqS2tKbFK8Kxbe7@@p%a?(52yvl(LOtnAB&$V(CSe=Q*k#IO z2g&)^@F7MWi*28)$kraOyePIAeY+u$n1bknoCGkZA%4T>Fsbd~;YLeCwX&H-nop_`cf^u{q+o&Nab-u3k}?!@C|^jm__SQ~|lF`M6vE zl=Iy3J(?clvEg>Lp z;+h3tf9#<4L7d)OA(7Wlb^xbv#2qBPcr&x_&m5Qv1nO7PD zW*1M6U{Lpc7MUEz>Gp$yHypyx<6aI=fOgZc^sBv!7*buTAXqp=sE_ppxI&>fH;^e^iz=I zMiPr|0>@n8Ej0j&a*AY%Rf>lV3qS{QDwDCdhNzcw(oiHuU=2*(=ZnWbyJm^Cs>!FO z8n;QPl%M6q-D{nLT)Kc{TMX_z#PM*fH&Nf?Q{&TMV;c&+(~)TJmv2KEsm40yy;&XNwe8zpdpQbQEem9LlLu4#IsLs$9WhbA&uxRf_VA z7D=09cTP8`r)`%D{~>Bl8{F<5b+l6G*~}EW+I*#p5pa+sUr(1#HZhC99|ZroC*7VV z9%WzIyl$YgXnK^ehzrpvmO2c89EzfOI7rp!`IxVQUEdwA{J#2bfk*k;i~5%iVCggL zpuDb;?O_v|-&TEBID8Xb7dV5c^&X;^fa|X^2!NXkk~vNKwWJ|!5B|-fLw?NOk{NKN z`Q-UXrw(B&e2PGnq7}h!X{#-c#e5>(vdCw~H7=@_^RH%5CG^t+UMtu>u$Xg=pL?jy zqXYno@ddMcE{7G$|I$ zP#IDL4zga~(BJjixAz+_$_~ z*M0A)?Ejl@jEBkY9Rj4gr<2DHG*giGb+ zFMk0IyaT*x!xF=r>J{qNU}8GrizW#4H?$mHk@L}n8frrI3s9bHRVbJ9z5)VyDJZo! z{rQqrbXH#qE^LC%ffmt+b~n~{wu3^V1{UU3=FG1O!jHZp~l#hE#IrYVPv8W%A$Wch$BNhN1kf_>p z?B0jirVnk#FLipm$z)kVsWz4-jtDkGN+EE+tJ)QKBi3(p1FV;pNkNXOrwW=zz6;`jx#nZ@-63fJrKopU-)CD|Na>!`8w@v zm>9)Q+p9KihJ+YLmm%a-eu-RUKjuE%RY0`XBJ9^8_g7Wp6K}9#0@S`vnl;h@iaCP_ z>StFO()Yzf;9W@U2h!$S#7joI!v3AL%1%@EJ8-tcLTI}w6BRGwK^QMIr~!p8obSi& zoa5F{w$?CAynzaA7TS}wy!NO#>Db#5fzvpP=VJjd38YY`j9hM0;zQef;xtO3!_$MQ zfzfb6^<^GB{vh>BMUgg{0V=gFX1_mzo{jle#LlntLYXTMCY-;w4K+TsPHOl$ss5sK z&2W2!bRIhgonyQxA_2!lOBT>$@`m|ZJxREEQ19P2VhV77%bD6kFC+6=yIwlW@_QaS zI~kg9KVI2DS4Lvv&HNt8Eh|yNXKF68!{Q6hBe8Q^4o`c@vLV z(30Eb1rIGw^`>^p+bo$I#gQr}x(eu`R+)wZ#kLX3O@y69A`EBr&uWkjgG#WM<3)^< z8?H<)JX$?(E)sF<&_|36*%4s&A?vwubO6!qa%|QLBAjz%N%%c&cXtvWbNDLzNZH5R zxQ58FJ>ov&yhr%JnlfuLa?4LdG%hY>Utb2T7-feOa;$-;8!~>lLMGNTuoQCs76+?x zQu1uF$jy&k@F72BK3Zb4{L}O|&*7x}WWAA&(sP|O!Vyr!yDcrXkCegVQx&mU^i1No z*MbHYkx>vCFG~)_326S0E#hXta^n1cAh>pXAGPB&4=UOJ($Kj6sdTqpILI!T4?LYU zBYGd<_S2H+l)C*OVz3`%hZ_W`hflqrFTkX7LaC+h%_qz;0^w*J(UwS zDJ&YDdC*n^dB}SMrnq}sO55;md{$Ge_5Fmv)ACM0`9nk+>@vIqLRG`jtYG2;k>Gzd8myX_{thB zKhK(4+3OjD@%?FkHb^a8h2CW)q3}rbWMZYqg9&k~+EbSrn*LH|x7S0TjE5qEetW)X zR1bj33pE;bASf6Fp2R)&j39yi@w7nx?bi2((i5FFpYdK$waU}OV!0aPtmiJO2JKY zIn>+J9#1n5Rp_Kf7_#M%$bND1p?g-FbVGG!EcPlm3K{IytZ3O!`GV${4Eg;ZUb&V_3+R) z!P^*&o+atVu05g@FJrdnDrSuXEdjs>wV|;I-r97EDRwBtZm3 zPg&_#fUO{B#rLz2*5zg*!~S|g-DoV+HO7@wtd{tCdJN!Tulfi%Aj~vYd*DoN%9+&QWKVGc*SvMahhp^qfqVWhl@zVO-AK5 zVa18`I&%K6@5V5?kt*T$;bRmPCP0hSymWITg3^L{lg?|?>2M9h=#Ehm*a!Q~Y3PXT zn~(}tbF+Zr*4wb}rdfswMdl#s3v6khaIbM{_Nueo+bRN1hyKJt9Cy~!3I3s=QXxyN z))e&D+fN&oRAzKu)+?q@c!!_de2bTVKIaYL5wf`m_y&DTB>rvZx^eWuA~fggHi=~H zD|g-&Ey9?{f;#}1esKsNwnyHd?uQh`AI8rn^Z5f4tm`hztk*IrhB6#Q2Dw(w36;6? zIWE_E5=GT{uKS=I`((q6`83X@4eJU_ih_mL?cnF1Zu|WV3-%WM90K3{LAagWWMNxU+;>S8qOM@YH_denz@oNhM+QB=E_0kO^F>kuvdGFPC3v8+XaPfjIoW%I{QGR zy1$eEOF{1c_0aZ|YSyGivoV-XJELyw{c57W0k*B&q~U~`RDVrA+B}(4)pg|Jj+xzz znvQByPIFmi&c`UFuWRT5(&*wJm){;2`2<4$)mGieY-hh6x)W5HoC6u%oeT-hhH=1q zs-!@!6=^Rw&Ovx*Y>;iCub!{Hj*EdNM@8fkUIfU#N(Pi?^a5w%<^4Lx!__p@vL+`r z9_LO7V%z;!AI!P)koPY5Fqoe_l{^ro4ezbkzjr$i!6N59Eof=`;5 z%n^;3@0wdbJ>)UxBoG5b@WKBG5>I(@RPoU15sjt(YgJZCf=>an-R^Vm>#{;3{6xkx z(?bF`B9m4Il(%5>)uG}MK6eo0e#^GH96tpNqupUJ&WlP%sl~zv3CDV!vfy4=?}p!z{!q>w{vpy z8av?INASY%aAEzL**JBu+Wgq0G5Q#@6`*AP@)yFCvJW*qxU1I+rfM!YMXmh4m@Adk z?*GmqqL$BjfK3$ke4pr;eF{HfE_n#f)H%b`tN^fjXSkGCT4#EbLOARWkUj4^d$k!= z|5_0P_rG?GCHybtZ{Eu!ON~eLRzOZar%Pk_&nD;Q`Pb8hsz;sgc7I8C!(qx@n10ar>@M7;FPa-B+~Dx}IPJ=7Ava zVIkC-@>OF29~ud^46A`tBEAJ^!sXqS8VDiXnw}iPT6b1PFu_2#ErllbqrQg_<(wXN z-WUh?g3>wc8KsWS6>oqA;N2%`f1M3(eaa)GdZY3|BiN zg9E|kDgy<(Sf)o}kuo6tdT@y};}1dr0N^Lc0cU#C$O$AJ29klkIV zYQu2YT^&LpW1{^L8*;^Eyzr*o>CpHysLke5wSi@u()p7En?6DXZ~fjrDD7emqb)k% z{Ci+t!JiZbTcobMpH%FQooP6S{`WMs`I4LUj*8xuE(~z&Yug!bGyXF>+0irkO09f= zLMSS3(p^nQ303YkbmYxC+-S!v7Z+E6XZdr}ov+rWo9$j1VjBb6z^8y7E&zwA6`Miw zMGhn==pKS{ioO}X5bBLu6AO5qtQOozzoX{zsU`-0zA!Ui@S;oGHa-b+a!3nRKdUv( zs!%56m$;CKyK7LEoOoO`@PLV%oi{$WY5&rsN`)$dXp45pYGokm3yh`IC(U*S>X|*M zx`jOTY00JzYgzZ&yngLrquAgVzN)6>i0ix!7oa)>A>czxoB%}+|EG51l%~!uf*3Y^jxilL2b{jPXWiFsiPnneRX_v(wH~=HW$lM#_Ws`jOrgm`UR%87= z@*xjE&8*}n*bF_fot4bNI1Vw?0`f2=q17eJKd!VO`94?sv}u1uJqjDKMldfP@q`v* zGi{6P&$+Fv=2@IWHP#qbH={)@03|NAzfCc}{8R3q!>d)RLT`krxCoVKs=u8c8Lrg> z3-aLaOnW5hIl4D-`s(fDdgD=|t{+>iT1Ll(Kav;%v@7SQ*@8$r%TjAg-z|Hd9A(=R zW6p3cA8zI`HnYmtx1F-yCe+x`O(g*q#pivRKL-4%J!QH9n0wZRDOC%%7l=toTT7m` z-C#(tW80__33)!~K=|x-3(nka?z3KrlK!;Amt*1C-cUqyCK&H9eqUtINw18SXS40E zp;Pg%A^wM?MsANKZIZ=G{p>|ld6q~a*^A+!U(4*(4&$n?RsY*Tqf1iu6{MT(_q7)etdAuk}v2c@f*4Q%q_gT*qq3n@ZK?&*u>oz z$k|)7p-;y->#3d8`lk774dv!9bAN4}-EIzXgAF?rp~dkTD6T4-snxvtK_7||?&}t> zz%cZZW5C91thk7snq@0TVyHBo(da(-n1`$g4NmcAgXs9$3BvG<@ORe#5eblzq#tO_ z<%|C(>r*-koqn5f5lP@UMq<^ref_D)rTZRQl|gvu2SJBhJ4sYq9EiyM<8!yOy|8s_ zR+rv&y)rx4i&LBCbdXpwB$-)3vC-=7TyM5m7)v_r>K?L-|0}V)*_lyh4j{8ik!N;9 zY`#)U_xi8<691P>^S>maZD)eFNFh5b>meaDClPFrq8c~^Qwz@&<{0fdl6=@iAjo@ zk*poMYkM4b1$D2zkhz+2)-(Zot`fhF{pP}GjR)^;n_|C(=pevCvmoE1o}wIm?qWR~)OmO6y>Z+42XQek>!r`)<=yzDYxKs%QEz8H&yB6TfTrKy`dQr>J9$QOpW%E*UOxAF z!lt*APuj!I3Tw%8@raz5*ueM$u9KJ-Ak8-I$Rp$ zN%!s?W!dfgm5R2vy3=*MgO3H-?)~s;s9E5|r5etAE8jMz_S>rOs;zKjXkKKCu?GsK zpZ_QUOi@H$MA=bJFOkMNl7~rs?uT8%!pQ2s&lMYtdfAx$-O7ft^X7bz>w+-~%)STh zaw8D9eS@@pJF}hjXsH-miG=}=Ea+utyo2bIFHXatcA~Icwr?CY>+lMUN49y`(}V(m zeE#rVS9kv8R83!kLxQhhjfsqC;!NS-ExssR1KDocTqc%rEXX%HX(eOPHsf$Yov2F< zLqtpw(A`hM4+Z3rgb}rexzQ?j#F)?U@wH*=K-!Wg3S`KPqej8EbfvN_!%p)4K6se{ z?mh#ch3CnBx#mz2=j2E8>7PI0RLa@+(tv|=g^*gk@9PhvoTilX(=#t4Ri>HbUiR%L zcC)=t5)dP;@qxrkd?{-oT6abBDhH8A-P3$l4_g-q#te>*JntrBco!YBusU%zk4# zF32rYErlu0t>xQ-;l7j)X*IU3EKh#VYRR!9X$8F@ygtA@*d_?C4;5f_) zxK-G5Y3Mh2@I`f_Bju!~TEWlreQWrdoZG-&qMD`9-EaM82L6XvoT6`(h8+EF!w(!r z1R-R+Xy$&RJSrY$)6X^srEeq&TYcQQed(1?{bSl=Nk%bREUYhRBIYDr-}_^iq@V@* zY;s;%)e7mVNn;i6N6Ym0@QT(TFpwJBXVnmHT5A^!D!+i90}78mIbCl2=i6AIzvXMihOKlEa&KP&5#| za*&i=I}#7tPuvbx?0CjMx?)@W|F?+#UxNMruc0=&G5y%zVznzV`o}vM$8ec$>ly2o IY1>BrALZDBVgLXD diff --git a/example/storage/qspi_spiffs/sdkconfig b/example/storage/qspi_spiffs/sdkconfig index 0950954c..ab42b7cf 100644 --- a/example/storage/qspi_spiffs/sdkconfig +++ b/example/storage/qspi_spiffs/sdkconfig @@ -2,7 +2,7 @@ # # Freertos Configuration # -CONFIG_TARGET_NAME="e2000d_freertos_a64" +CONFIG_TARGET_NAME="e2000q_freertos_a64" # end of Freertos Configuration # @@ -26,8 +26,8 @@ CONFIG_USE_SYS_TICK=y # # CONFIG_TARGET_F2000_4 is not set # CONFIG_TARGET_D2000 is not set -# CONFIG_TARGET_E2000Q is not set -CONFIG_TARGET_E2000D=y +CONFIG_TARGET_E2000Q=y +# CONFIG_TARGET_E2000D is not set # CONFIG_TARGET_E2000S is not set CONFIG_TARGET_E2000=y CONFIG_DEFAULT_DEBUG_PRINT_UART1=y @@ -44,11 +44,7 @@ CONFIG_USE_QSPI=y # # Qspi Configuration # -# CONFIG_USE_GD25Q256 is not set -# CONFIG_USE_GD25Q64 is not set -# CONFIG_USE_GD25Q32 is not set -CONFIG_USE_GD25Q128=y -# CONFIG_USE_S25FS256 is not set +CONFIG_USE_FQSPI=y # end of Qspi Configuration CONFIG_USE_GIC=y @@ -141,7 +137,7 @@ CONFIG_FREERTOS_USE_UART=y # # Freertos Qspi Drivers # -# CONFIG_FREERTOS_USE_QSPI is not set +CONFIG_FREERTOS_USE_QSPI=y # end of Freertos Qspi Drivers # @@ -180,6 +176,12 @@ CONFIG_FREERTOS_USE_UART=y # # CONFIG_FREERTOS_USE_FSDIO is not set # end of Freertos MMC Drivers + +# +# Freertos Adc Drivers +# +# CONFIG_FREERTOS_USE_ADC is not set +# end of Freertos Adc Drivers # end of Component Configuration # @@ -221,6 +223,6 @@ CONFIG_DEFAULT_LETTER_SHELL_USE_UART1=y # CONFIG_DEFAULT_LETTER_SHELL_USE_UART2 is not set # end of Letter Shell Configuration -CONFIG_USE_TLSF=y +# CONFIG_USE_TLSF is not set # CONFIG_USE_SDMMC_CMD is not set # end of FreeRTOS Setting diff --git a/example/storage/qspi_spiffs/sdkconfig.h b/example/storage/qspi_spiffs/sdkconfig.h index c9cd58bb..374d423e 100644 --- a/example/storage/qspi_spiffs/sdkconfig.h +++ b/example/storage/qspi_spiffs/sdkconfig.h @@ -3,7 +3,7 @@ /* Freertos Configuration */ -#define CONFIG_TARGET_NAME "e2000d_freertos_a64" +#define CONFIG_TARGET_NAME "e2000q_freertos_a64" /* end of Freertos Configuration */ /* Standalone Setting */ @@ -24,8 +24,8 @@ /* CONFIG_TARGET_F2000_4 is not set */ /* CONFIG_TARGET_D2000 is not set */ -/* CONFIG_TARGET_E2000Q is not set */ -#define CONFIG_TARGET_E2000D +#define CONFIG_TARGET_E2000Q +/* CONFIG_TARGET_E2000D is not set */ /* CONFIG_TARGET_E2000S is not set */ #define CONFIG_TARGET_E2000 #define CONFIG_DEFAULT_DEBUG_PRINT_UART1 @@ -40,11 +40,7 @@ /* Qspi Configuration */ -/* CONFIG_USE_GD25Q256 is not set */ -/* CONFIG_USE_GD25Q64 is not set */ -/* CONFIG_USE_GD25Q32 is not set */ -#define CONFIG_USE_GD25Q128 -/* CONFIG_USE_S25FS256 is not set */ +#define CONFIG_USE_FQSPI /* end of Qspi Configuration */ #define CONFIG_USE_GIC #define CONFIG_ENABLE_GICV3 @@ -125,7 +121,7 @@ /* Freertos Qspi Drivers */ -/* CONFIG_FREERTOS_USE_QSPI is not set */ +#define CONFIG_FREERTOS_USE_QSPI /* end of Freertos Qspi Drivers */ /* Freertos Wdt Drivers */ @@ -158,6 +154,11 @@ /* CONFIG_FREERTOS_USE_FSDIO is not set */ /* end of Freertos MMC Drivers */ + +/* Freertos Adc Drivers */ + +/* CONFIG_FREERTOS_USE_ADC is not set */ +/* end of Freertos Adc Drivers */ /* end of Component Configuration */ /* FreeRTOS Setting */ @@ -192,7 +193,7 @@ /* CONFIG_DEFAULT_LETTER_SHELL_USE_UART0 is not set */ /* CONFIG_DEFAULT_LETTER_SHELL_USE_UART2 is not set */ /* end of Letter Shell Configuration */ -#define CONFIG_USE_TLSF +/* CONFIG_USE_TLSF is not set */ /* CONFIG_USE_SDMMC_CMD is not set */ /* end of FreeRTOS Setting */ diff --git a/example/storage/qspi_spiffs/src/qspi_spiffs_example.c b/example/storage/qspi_spiffs/src/qspi_spiffs_example.c index a12a46d4..548d2836 100644 --- a/example/storage/qspi_spiffs/src/qspi_spiffs_example.c +++ b/example/storage/qspi_spiffs/src/qspi_spiffs_example.c @@ -68,12 +68,12 @@ enum #define FSPIFFS_DEBUG(format, ...) FT_DEBUG_PRINT_D(FSPIFFS_DEBUG_TAG, format, ##__VA_ARGS__) /* spiffs start address and size */ -#define FSPIFFS_START_ADDR SZ_8M +#define FSPIFFS_START_ADDR (7 * SZ_1M) #define FSPIFFS_USE_SIZE SZ_1M #define FSPIFFS_RW_BUF_SIZE 64 -/* if format flash */ +/* if format flash, TRUE is need format, it tasks some time */ #define FSPIFFS_IF_FORMAT TRUE /* 一个页大小两倍的一个RAM缓冲区, 用来加载和维护SPIFFS的逻辑页 */ diff --git a/example/storage/sata_fatfs/README.md b/example/storage/sata_fatfs/README.md index 74a2ecc8..dccaf5b2 100644 --- a/example/storage/sata_fatfs/README.md +++ b/example/storage/sata_fatfs/README.md @@ -40,7 +40,7 @@ 本例程在FT2000/4,D2000,E2000平台测试通过,您可以参考以下方法配置本例程所需要的硬件和软件环境, - FT2000/4,D2000或E2000开发板 -- 本例程使用Marvell 88SE9215芯片通过PCIE接口转接Sata,外接Sata硬盘 +- 本例程基于FT2000/4平台,使用Marvell 88SE9215芯片通过PCIE接口转接Sata,外接Sata硬盘 - 将转接板插入PCIE插槽,接入sata硬盘至转接板的CN1(也就是port 0) ![hardware](./figs/hardware.png) @@ -51,7 +51,7 @@ 本例程需要的配置包括, - Letter Shell组件,依赖 USE_LETTER_SHELL -- FATFS组件,依赖 USE_FATFS 和 SELECT_FATFS_FSATA +- FATFS组件,依赖 USE_FATFS 和 SELECT_FATFS_FSATA_PCIE - PCIE组件,作为转接接口,依赖USE_PCIE - SATA组件,依赖 USE_SATA @@ -76,7 +76,6 @@ >描述构建、烧录下载镜像的过程,列出相关的命令
- 使用例程的一般过程为 - 选择目标平台和例程需要的配置 @@ -124,6 +123,10 @@ bootelf -p 0x90100000 ## 3. 如何解决问题 >主要记录使用例程中可能会遇到的问题,给出相应的解决方案
+- 如果使用E2000D开发板,可以选择使用sata控制器,只需要在fatfs的介质选择中使能SELECT_FATFS_FSATA_CONTROLLER +![menuconfig](./figs/menuconfig.png) + +- 在configs文件夹的默认配置中,ft2004和d2000是使用的pcie转sata配置,e2000是使用的sata控制器配置 ## 4. 修改历史记录 diff --git a/example/storage/sata_fatfs/configs/d2000_aarch32_eg_configs b/example/storage/sata_fatfs/configs/d2000_aarch32_eg_configs index 17db0015..e4ea018a 100644 --- a/example/storage/sata_fatfs/configs/d2000_aarch32_eg_configs +++ b/example/storage/sata_fatfs/configs/d2000_aarch32_eg_configs @@ -60,10 +60,10 @@ CONFIG_ENABLE_Pl011_UART=y CONFIG_USE_PCIE=y # -# pcie Configuration +# Pcie Configuration # CONFIG_ENABLE_F_PCIE=y -# end of pcie Configuration +# end of Pcie Configuration # CONFIG_USE_WDT is not set # CONFIG_USE_DMA is not set @@ -187,6 +187,12 @@ CONFIG_FREERTOS_USE_UART=y # # CONFIG_FREERTOS_USE_FSDIO is not set # end of Freertos MMC Drivers + +# +# Freertos Adc Drivers +# +# CONFIG_FREERTOS_USE_ADC is not set +# end of Freertos Adc Drivers # end of Component Configuration # @@ -201,7 +207,7 @@ CONFIG_USE_FATFS=y # # CONFIG_SELECT_FATFS_RAM_DISK is not set # CONFIG_SELECT_FATFS_FSDMMC is not set -CONFIG_SELECT_FATFS_FSATA=y +CONFIG_SELECT_FATFS_FSATA_PCIE=y # CONFIG_SELECT_FATFS_USB is not set # end of FATFS Configuration diff --git a/example/storage/sata_fatfs/configs/d2000_aarch64_eg_configs b/example/storage/sata_fatfs/configs/d2000_aarch64_eg_configs index e4d22bc3..e29762a8 100644 --- a/example/storage/sata_fatfs/configs/d2000_aarch64_eg_configs +++ b/example/storage/sata_fatfs/configs/d2000_aarch64_eg_configs @@ -60,10 +60,10 @@ CONFIG_ENABLE_Pl011_UART=y CONFIG_USE_PCIE=y # -# pcie Configuration +# Pcie Configuration # CONFIG_ENABLE_F_PCIE=y -# end of pcie Configuration +# end of Pcie Configuration # CONFIG_USE_WDT is not set # CONFIG_USE_DMA is not set @@ -183,6 +183,12 @@ CONFIG_FREERTOS_USE_UART=y # # CONFIG_FREERTOS_USE_FSDIO is not set # end of Freertos MMC Drivers + +# +# Freertos Adc Drivers +# +# CONFIG_FREERTOS_USE_ADC is not set +# end of Freertos Adc Drivers # end of Component Configuration # @@ -197,7 +203,7 @@ CONFIG_USE_FATFS=y # # CONFIG_SELECT_FATFS_RAM_DISK is not set # CONFIG_SELECT_FATFS_FSDMMC is not set -CONFIG_SELECT_FATFS_FSATA=y +CONFIG_SELECT_FATFS_FSATA_PCIE=y # CONFIG_SELECT_FATFS_USB is not set # end of FATFS Configuration diff --git a/example/storage/sata_fatfs/configs/e2000d_aarch32_eg_configs b/example/storage/sata_fatfs/configs/e2000d_aarch32_eg_configs index 6a458b45..c4f58e12 100644 --- a/example/storage/sata_fatfs/configs/e2000d_aarch32_eg_configs +++ b/example/storage/sata_fatfs/configs/e2000d_aarch32_eg_configs @@ -57,14 +57,7 @@ CONFIG_ENABLE_Pl011_UART=y # CONFIG_USE_TIMER is not set # CONFIG_USE_MIO is not set # CONFIG_USE_SDMMC is not set -CONFIG_USE_PCIE=y - -# -# pcie Configuration -# -CONFIG_ENABLE_F_PCIE=y -# end of pcie Configuration - +# CONFIG_USE_PCIE is not set # CONFIG_USE_WDT is not set # CONFIG_USE_DMA is not set # CONFIG_USE_NAND is not set @@ -187,6 +180,12 @@ CONFIG_FREERTOS_USE_UART=y # # CONFIG_FREERTOS_USE_FSDIO is not set # end of Freertos MMC Drivers + +# +# Freertos Adc Drivers +# +# CONFIG_FREERTOS_USE_ADC is not set +# end of Freertos Adc Drivers # end of Component Configuration # @@ -201,7 +200,8 @@ CONFIG_USE_FATFS=y # # CONFIG_SELECT_FATFS_RAM_DISK is not set # CONFIG_SELECT_FATFS_FSDMMC is not set -CONFIG_SELECT_FATFS_FSATA=y +# CONFIG_SELECT_FATFS_FSATA_PCIE is not set +CONFIG_SELECT_FATFS_FSATA_CONTROLLER=y # CONFIG_SELECT_FATFS_USB is not set # end of FATFS Configuration diff --git a/example/storage/sata_fatfs/configs/e2000d_aarch64_eg_configs b/example/storage/sata_fatfs/configs/e2000d_aarch64_eg_configs index 90987745..a26950b7 100644 --- a/example/storage/sata_fatfs/configs/e2000d_aarch64_eg_configs +++ b/example/storage/sata_fatfs/configs/e2000d_aarch64_eg_configs @@ -57,14 +57,7 @@ CONFIG_ENABLE_Pl011_UART=y # CONFIG_USE_TIMER is not set # CONFIG_USE_MIO is not set # CONFIG_USE_SDMMC is not set -CONFIG_USE_PCIE=y - -# -# pcie Configuration -# -CONFIG_ENABLE_F_PCIE=y -# end of pcie Configuration - +# CONFIG_USE_PCIE is not set # CONFIG_USE_WDT is not set # CONFIG_USE_DMA is not set # CONFIG_USE_NAND is not set @@ -183,6 +176,12 @@ CONFIG_FREERTOS_USE_UART=y # # CONFIG_FREERTOS_USE_FSDIO is not set # end of Freertos MMC Drivers + +# +# Freertos Adc Drivers +# +# CONFIG_FREERTOS_USE_ADC is not set +# end of Freertos Adc Drivers # end of Component Configuration # @@ -197,7 +196,8 @@ CONFIG_USE_FATFS=y # # CONFIG_SELECT_FATFS_RAM_DISK is not set # CONFIG_SELECT_FATFS_FSDMMC is not set -CONFIG_SELECT_FATFS_FSATA=y +# CONFIG_SELECT_FATFS_FSATA_PCIE is not set +CONFIG_SELECT_FATFS_FSATA_CONTROLLER=y # CONFIG_SELECT_FATFS_USB is not set # end of FATFS Configuration diff --git a/example/storage/sata_fatfs/configs/e2000q_aarch32_eg_configs b/example/storage/sata_fatfs/configs/e2000q_aarch32_eg_configs index 02724339..eadea223 100644 --- a/example/storage/sata_fatfs/configs/e2000q_aarch32_eg_configs +++ b/example/storage/sata_fatfs/configs/e2000q_aarch32_eg_configs @@ -57,14 +57,7 @@ CONFIG_ENABLE_Pl011_UART=y # CONFIG_USE_TIMER is not set # CONFIG_USE_MIO is not set # CONFIG_USE_SDMMC is not set -CONFIG_USE_PCIE=y - -# -# pcie Configuration -# -CONFIG_ENABLE_F_PCIE=y -# end of pcie Configuration - +# CONFIG_USE_PCIE is not set # CONFIG_USE_WDT is not set # CONFIG_USE_DMA is not set # CONFIG_USE_NAND is not set @@ -139,6 +132,12 @@ CONFIG_OUTPUT_BINARY=y CONFIG_FREERTOS_USE_UART=y # end of Freertos Uart Drivers +# +# Freertos Pwm Drivers +# +# CONFIG_FREERTOS_USE_PWM is not set +# end of Freertos Pwm Drivers + # # Freertos Qspi Drivers # @@ -150,6 +149,43 @@ CONFIG_FREERTOS_USE_UART=y # # CONFIG_FREERTOS_USE_WDT is not set # end of Freertos Wdt Drivers + +# +# Freertos Eth Drivers +# +# CONFIG_FREERTOS_USE_XMAC is not set +# end of Freertos Eth Drivers + +# +# Freertos Gpio Drivers +# +# CONFIG_FREERTOS_USE_GPIO is not set +# end of Freertos Gpio Drivers + +# +# Freertos Spim Drivers +# +# CONFIG_FREERTOS_USE_FSPIM is not set +# end of Freertos Spim Drivers + +# +# Freertos DMA Drivers +# +# CONFIG_FREERTOS_USE_FDDMA is not set +# CONFIG_FREERTOS_USE_FGDMA is not set +# end of Freertos DMA Drivers + +# +# Freertos MMC Drivers +# +# CONFIG_FREERTOS_USE_FSDIO is not set +# end of Freertos MMC Drivers + +# +# Freertos Adc Drivers +# +# CONFIG_FREERTOS_USE_ADC is not set +# end of Freertos Adc Drivers # end of Component Configuration # @@ -164,10 +200,13 @@ CONFIG_USE_FATFS=y # # CONFIG_SELECT_FATFS_RAM_DISK is not set # CONFIG_SELECT_FATFS_FSDMMC is not set -CONFIG_SELECT_FATFS_FSATA=y +# CONFIG_SELECT_FATFS_FSATA_PCIE is not set +CONFIG_SELECT_FATFS_FSATA_CONTROLLER=y # CONFIG_SELECT_FATFS_USB is not set # end of FATFS Configuration +# CONFIG_USE_SFUD is not set +# CONFIG_USE_SPIFFS is not set # CONFIG_USE_AMP is not set CONFIG_USE_LETTER_SHELL=y @@ -179,4 +218,7 @@ CONFIG_DEFAULT_LETTER_SHELL_USE_UART1=y # CONFIG_DEFAULT_LETTER_SHELL_USE_UART0 is not set # CONFIG_DEFAULT_LETTER_SHELL_USE_UART2 is not set # end of Letter Shell Configuration + +CONFIG_USE_TLSF=y +# CONFIG_USE_SDMMC_CMD is not set # end of FreeRTOS Setting diff --git a/example/storage/sata_fatfs/configs/e2000q_aarch64_eg_configs b/example/storage/sata_fatfs/configs/e2000q_aarch64_eg_configs index b1b6cc8f..f871d7a8 100644 --- a/example/storage/sata_fatfs/configs/e2000q_aarch64_eg_configs +++ b/example/storage/sata_fatfs/configs/e2000q_aarch64_eg_configs @@ -57,14 +57,7 @@ CONFIG_ENABLE_Pl011_UART=y # CONFIG_USE_TIMER is not set # CONFIG_USE_MIO is not set # CONFIG_USE_SDMMC is not set -CONFIG_USE_PCIE=y - -# -# pcie Configuration -# -CONFIG_ENABLE_F_PCIE=y -# end of pcie Configuration - +# CONFIG_USE_PCIE is not set # CONFIG_USE_WDT is not set # CONFIG_USE_DMA is not set # CONFIG_USE_NAND is not set @@ -135,6 +128,12 @@ CONFIG_OUTPUT_BINARY=y CONFIG_FREERTOS_USE_UART=y # end of Freertos Uart Drivers +# +# Freertos Pwm Drivers +# +# CONFIG_FREERTOS_USE_PWM is not set +# end of Freertos Pwm Drivers + # # Freertos Qspi Drivers # @@ -146,6 +145,43 @@ CONFIG_FREERTOS_USE_UART=y # # CONFIG_FREERTOS_USE_WDT is not set # end of Freertos Wdt Drivers + +# +# Freertos Eth Drivers +# +# CONFIG_FREERTOS_USE_XMAC is not set +# end of Freertos Eth Drivers + +# +# Freertos Gpio Drivers +# +# CONFIG_FREERTOS_USE_GPIO is not set +# end of Freertos Gpio Drivers + +# +# Freertos Spim Drivers +# +# CONFIG_FREERTOS_USE_FSPIM is not set +# end of Freertos Spim Drivers + +# +# Freertos DMA Drivers +# +# CONFIG_FREERTOS_USE_FDDMA is not set +# CONFIG_FREERTOS_USE_FGDMA is not set +# end of Freertos DMA Drivers + +# +# Freertos MMC Drivers +# +# CONFIG_FREERTOS_USE_FSDIO is not set +# end of Freertos MMC Drivers + +# +# Freertos Adc Drivers +# +# CONFIG_FREERTOS_USE_ADC is not set +# end of Freertos Adc Drivers # end of Component Configuration # @@ -160,10 +196,13 @@ CONFIG_USE_FATFS=y # # CONFIG_SELECT_FATFS_RAM_DISK is not set # CONFIG_SELECT_FATFS_FSDMMC is not set -CONFIG_SELECT_FATFS_FSATA=y +# CONFIG_SELECT_FATFS_FSATA_PCIE is not set +CONFIG_SELECT_FATFS_FSATA_CONTROLLER=y # CONFIG_SELECT_FATFS_USB is not set # end of FATFS Configuration +# CONFIG_USE_SFUD is not set +# CONFIG_USE_SPIFFS is not set # CONFIG_USE_AMP is not set CONFIG_USE_LETTER_SHELL=y @@ -175,4 +214,7 @@ CONFIG_DEFAULT_LETTER_SHELL_USE_UART1=y # CONFIG_DEFAULT_LETTER_SHELL_USE_UART0 is not set # CONFIG_DEFAULT_LETTER_SHELL_USE_UART2 is not set # end of Letter Shell Configuration + +CONFIG_USE_TLSF=y +# CONFIG_USE_SDMMC_CMD is not set # end of FreeRTOS Setting diff --git a/example/storage/sata_fatfs/configs/ft2004_aarch32_eg_configs b/example/storage/sata_fatfs/configs/ft2004_aarch32_eg_configs index 606c9dea..1133b0cb 100644 --- a/example/storage/sata_fatfs/configs/ft2004_aarch32_eg_configs +++ b/example/storage/sata_fatfs/configs/ft2004_aarch32_eg_configs @@ -60,10 +60,10 @@ CONFIG_ENABLE_Pl011_UART=y CONFIG_USE_PCIE=y # -# pcie Configuration +# Pcie Configuration # CONFIG_ENABLE_F_PCIE=y -# end of pcie Configuration +# end of Pcie Configuration # CONFIG_USE_WDT is not set # CONFIG_USE_DMA is not set @@ -187,6 +187,12 @@ CONFIG_FREERTOS_USE_UART=y # # CONFIG_FREERTOS_USE_FSDIO is not set # end of Freertos MMC Drivers + +# +# Freertos Adc Drivers +# +# CONFIG_FREERTOS_USE_ADC is not set +# end of Freertos Adc Drivers # end of Component Configuration # @@ -201,7 +207,7 @@ CONFIG_USE_FATFS=y # # CONFIG_SELECT_FATFS_RAM_DISK is not set # CONFIG_SELECT_FATFS_FSDMMC is not set -CONFIG_SELECT_FATFS_FSATA=y +CONFIG_SELECT_FATFS_FSATA_PCIE=y # CONFIG_SELECT_FATFS_USB is not set # end of FATFS Configuration diff --git a/example/storage/sata_fatfs/configs/ft2004_aarch64_eg_configs b/example/storage/sata_fatfs/configs/ft2004_aarch64_eg_configs index 9b4c6920..d51d4557 100644 --- a/example/storage/sata_fatfs/configs/ft2004_aarch64_eg_configs +++ b/example/storage/sata_fatfs/configs/ft2004_aarch64_eg_configs @@ -60,10 +60,10 @@ CONFIG_ENABLE_Pl011_UART=y CONFIG_USE_PCIE=y # -# pcie Configuration +# Pcie Configuration # CONFIG_ENABLE_F_PCIE=y -# end of pcie Configuration +# end of Pcie Configuration # CONFIG_USE_WDT is not set # CONFIG_USE_DMA is not set @@ -183,6 +183,12 @@ CONFIG_FREERTOS_USE_UART=y # # CONFIG_FREERTOS_USE_FSDIO is not set # end of Freertos MMC Drivers + +# +# Freertos Adc Drivers +# +# CONFIG_FREERTOS_USE_ADC is not set +# end of Freertos Adc Drivers # end of Component Configuration # @@ -197,7 +203,7 @@ CONFIG_USE_FATFS=y # # CONFIG_SELECT_FATFS_RAM_DISK is not set # CONFIG_SELECT_FATFS_FSDMMC is not set -CONFIG_SELECT_FATFS_FSATA=y +CONFIG_SELECT_FATFS_FSATA_PCIE=y # CONFIG_SELECT_FATFS_USB is not set # end of FATFS Configuration diff --git a/example/storage/sata_fatfs/figs/menuconfig.png b/example/storage/sata_fatfs/figs/menuconfig.png new file mode 100644 index 0000000000000000000000000000000000000000..be837a354997dd96023fd925b79c1cd40e405bab GIT binary patch literal 11688 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 literal 0 HcmV?d00001 diff --git a/example/storage/sata_fatfs/sdkconfig b/example/storage/sata_fatfs/sdkconfig index 90987745..f871d7a8 100644 --- a/example/storage/sata_fatfs/sdkconfig +++ b/example/storage/sata_fatfs/sdkconfig @@ -2,7 +2,7 @@ # # Freertos Configuration # -CONFIG_TARGET_NAME="e2000d_freertos_a64" +CONFIG_TARGET_NAME="e2000q_freertos_a64" # end of Freertos Configuration # @@ -26,8 +26,8 @@ CONFIG_USE_SYS_TICK=y # # CONFIG_TARGET_F2000_4 is not set # CONFIG_TARGET_D2000 is not set -# CONFIG_TARGET_E2000Q is not set -CONFIG_TARGET_E2000D=y +CONFIG_TARGET_E2000Q=y +# CONFIG_TARGET_E2000D is not set # CONFIG_TARGET_E2000S is not set CONFIG_TARGET_E2000=y CONFIG_DEFAULT_DEBUG_PRINT_UART1=y @@ -57,14 +57,7 @@ CONFIG_ENABLE_Pl011_UART=y # CONFIG_USE_TIMER is not set # CONFIG_USE_MIO is not set # CONFIG_USE_SDMMC is not set -CONFIG_USE_PCIE=y - -# -# pcie Configuration -# -CONFIG_ENABLE_F_PCIE=y -# end of pcie Configuration - +# CONFIG_USE_PCIE is not set # CONFIG_USE_WDT is not set # CONFIG_USE_DMA is not set # CONFIG_USE_NAND is not set @@ -183,6 +176,12 @@ CONFIG_FREERTOS_USE_UART=y # # CONFIG_FREERTOS_USE_FSDIO is not set # end of Freertos MMC Drivers + +# +# Freertos Adc Drivers +# +# CONFIG_FREERTOS_USE_ADC is not set +# end of Freertos Adc Drivers # end of Component Configuration # @@ -197,7 +196,8 @@ CONFIG_USE_FATFS=y # # CONFIG_SELECT_FATFS_RAM_DISK is not set # CONFIG_SELECT_FATFS_FSDMMC is not set -CONFIG_SELECT_FATFS_FSATA=y +# CONFIG_SELECT_FATFS_FSATA_PCIE is not set +CONFIG_SELECT_FATFS_FSATA_CONTROLLER=y # CONFIG_SELECT_FATFS_USB is not set # end of FATFS Configuration diff --git a/example/storage/sata_fatfs/sdkconfig.h b/example/storage/sata_fatfs/sdkconfig.h index 3b84028c..e85caf83 100644 --- a/example/storage/sata_fatfs/sdkconfig.h +++ b/example/storage/sata_fatfs/sdkconfig.h @@ -3,7 +3,7 @@ /* Freertos Configuration */ -#define CONFIG_TARGET_NAME "e2000d_freertos_a64" +#define CONFIG_TARGET_NAME "e2000q_freertos_a64" /* end of Freertos Configuration */ /* Standalone Setting */ @@ -24,8 +24,8 @@ /* CONFIG_TARGET_F2000_4 is not set */ /* CONFIG_TARGET_D2000 is not set */ -/* CONFIG_TARGET_E2000Q is not set */ -#define CONFIG_TARGET_E2000D +#define CONFIG_TARGET_E2000Q +/* CONFIG_TARGET_E2000D is not set */ /* CONFIG_TARGET_E2000S is not set */ #define CONFIG_TARGET_E2000 #define CONFIG_DEFAULT_DEBUG_PRINT_UART1 @@ -52,12 +52,7 @@ /* CONFIG_USE_TIMER is not set */ /* CONFIG_USE_MIO is not set */ /* CONFIG_USE_SDMMC is not set */ -#define CONFIG_USE_PCIE - -/* pcie Configuration */ - -#define CONFIG_ENABLE_F_PCIE -/* end of pcie Configuration */ +/* CONFIG_USE_PCIE is not set */ /* CONFIG_USE_WDT is not set */ /* CONFIG_USE_DMA is not set */ /* CONFIG_USE_NAND is not set */ @@ -159,6 +154,11 @@ /* CONFIG_FREERTOS_USE_FSDIO is not set */ /* end of Freertos MMC Drivers */ + +/* Freertos Adc Drivers */ + +/* CONFIG_FREERTOS_USE_ADC is not set */ +/* end of Freertos Adc Drivers */ /* end of Component Configuration */ /* FreeRTOS Setting */ @@ -171,7 +171,8 @@ /* CONFIG_SELECT_FATFS_RAM_DISK is not set */ /* CONFIG_SELECT_FATFS_FSDMMC is not set */ -#define CONFIG_SELECT_FATFS_FSATA +/* CONFIG_SELECT_FATFS_FSATA_PCIE is not set */ +#define CONFIG_SELECT_FATFS_FSATA_CONTROLLER /* CONFIG_SELECT_FATFS_USB is not set */ /* end of FATFS Configuration */ /* CONFIG_USE_SFUD is not set */ diff --git a/example/storage/sata_fatfs/src/sata_fatfs_example.c b/example/storage/sata_fatfs/src/sata_fatfs_example.c index e9c9f8c8..a04c938a 100644 --- a/example/storage/sata_fatfs/src/sata_fatfs_example.c +++ b/example/storage/sata_fatfs/src/sata_fatfs_example.c @@ -193,7 +193,7 @@ int FatfsSataWriteFile(const char *file_name, const char *input_str, boolean cre if (FALSE == fatfs_ok) { - vPrintf("please setup fatfs first !!!\n"); + printf("please setup fatfs first !!!\n"); return -1; } @@ -218,14 +218,14 @@ int FatfsSataWriteFile(const char *file_name, const char *input_str, boolean cre if (res != FR_OK) { - vPrintf("write %s fail\n", file_name); + printf("write %s fail\n", file_name); ret = -3; goto err_handle; } } else { - vPrintf("f_open %s fail %d\n", file_name, res); + printf("f_open %s fail %d\n", file_name, res); return -4; /* no file handler, directly return */ } @@ -234,7 +234,7 @@ err_handle: res = f_close(&file_handler); if (FR_OK != res) { - vPrintf("close file %s failed !!!\n", file_name); + printf("close file %s failed !!!\n", file_name); ret = -6; } @@ -250,40 +250,40 @@ int FatfsSataReadFile(const char *file_name, size_t len) if (FALSE == fatfs_ok) { - vPrintf("please setup fatfs first !!!\n"); + printf("please setup fatfs first !!!\n"); return -1; } if (len > sizeof(buff)) { - vPrintf("length %d is not support\n", len); - return -3; + printf("length %d is not support\n", len); + return -2; } res = f_open(&file_handler, file_name, FA_READ); if (res != FR_OK) { - vPrintf("open file %s failed !!!\n", file_name); - return -1; + printf("open file %s failed !!!\n", file_name); + return -3; } res = f_lseek(&file_handler, 0); if (res != FR_OK) { - vPrintf("seek to file begin failed !!!\n"); - return -2; + printf("seek to file begin failed !!!\n"); + return -4; } memset(buff, 0, sizeof(buff)); res = f_read(&file_handler, buff, len, &fnum); if (res != FR_OK) { - vPrintf("read file %s failed !!!\n", file_name); - return -3; + printf("read file %s failed !!!\n", file_name); + return -5; } else { - vPrintf("read %s success, str = %s\n\n", file_name, buff); + printf("read %s success, str = %s\n\n", file_name, buff); } return 0; @@ -301,7 +301,7 @@ static void FFreeRTOSSataFatfsReadTask(void *pvParameters) for( ;; ) { /* Print out the name of this task. */ - vPrintf( pcTaskName ); + // printf( pcTaskName ); FatfsSataReadFile(file_name, FSATA_READ_LEN); @@ -330,10 +330,10 @@ static void FFreeRTOSSataFatfsWriteTask(void *pvParameters) for (;;) { /* Print out the name of this task. */ - vPrintf( pcTaskName ); + // printf( pcTaskName ); i++; sprintf(string_out, "%s-%d", string, i); - vPrintf( "write to %s, str = %s\n", file_name, string_out); + printf( "write to %s, str = %s\n", file_name, string_out); FatfsSataWriteFile(file_name, string_out, FALSE, 0); /* Delay for a period. This time a call to vTaskDelay() is used which diff --git a/example/template/configs/d2000_aarch32_eg_configs b/example/template/configs/d2000_aarch32_eg_configs index 3da11380..084147bf 100644 --- a/example/template/configs/d2000_aarch32_eg_configs +++ b/example/template/configs/d2000_aarch32_eg_configs @@ -173,6 +173,12 @@ CONFIG_FREERTOS_USE_UART=y # # CONFIG_FREERTOS_USE_FSDIO is not set # end of Freertos MMC Drivers + +# +# Freertos Adc Drivers +# +# CONFIG_FREERTOS_USE_ADC is not set +# end of Freertos Adc Drivers # end of Component Configuration # diff --git a/example/template/configs/d2000_aarch64_eg_configs b/example/template/configs/d2000_aarch64_eg_configs index d30b03a0..cb612d75 100644 --- a/example/template/configs/d2000_aarch64_eg_configs +++ b/example/template/configs/d2000_aarch64_eg_configs @@ -169,6 +169,12 @@ CONFIG_FREERTOS_USE_UART=y # # CONFIG_FREERTOS_USE_FSDIO is not set # end of Freertos MMC Drivers + +# +# Freertos Adc Drivers +# +# CONFIG_FREERTOS_USE_ADC is not set +# end of Freertos Adc Drivers # end of Component Configuration # diff --git a/example/template/configs/e2000d_aarch32_eg_configs b/example/template/configs/e2000d_aarch32_eg_configs index ae0669bc..17a6e12e 100644 --- a/example/template/configs/e2000d_aarch32_eg_configs +++ b/example/template/configs/e2000d_aarch32_eg_configs @@ -173,6 +173,12 @@ CONFIG_FREERTOS_USE_UART=y # # CONFIG_FREERTOS_USE_FSDIO is not set # end of Freertos MMC Drivers + +# +# Freertos Adc Drivers +# +# CONFIG_FREERTOS_USE_ADC is not set +# end of Freertos Adc Drivers # end of Component Configuration # diff --git a/example/template/configs/e2000d_aarch64_eg_configs b/example/template/configs/e2000d_aarch64_eg_configs index 1927e9c1..9816214a 100644 --- a/example/template/configs/e2000d_aarch64_eg_configs +++ b/example/template/configs/e2000d_aarch64_eg_configs @@ -169,6 +169,12 @@ CONFIG_FREERTOS_USE_UART=y # # CONFIG_FREERTOS_USE_FSDIO is not set # end of Freertos MMC Drivers + +# +# Freertos Adc Drivers +# +# CONFIG_FREERTOS_USE_ADC is not set +# end of Freertos Adc Drivers # end of Component Configuration # diff --git a/example/template/configs/ft2004_aarch32_eg_configs b/example/template/configs/ft2004_aarch32_eg_configs index 65e58378..2db403c0 100644 --- a/example/template/configs/ft2004_aarch32_eg_configs +++ b/example/template/configs/ft2004_aarch32_eg_configs @@ -173,6 +173,12 @@ CONFIG_FREERTOS_USE_UART=y # # CONFIG_FREERTOS_USE_FSDIO is not set # end of Freertos MMC Drivers + +# +# Freertos Adc Drivers +# +# CONFIG_FREERTOS_USE_ADC is not set +# end of Freertos Adc Drivers # end of Component Configuration # diff --git a/example/template/configs/ft2004_aarch64_eg_configs b/example/template/configs/ft2004_aarch64_eg_configs index 6a247726..70711d83 100644 --- a/example/template/configs/ft2004_aarch64_eg_configs +++ b/example/template/configs/ft2004_aarch64_eg_configs @@ -169,6 +169,12 @@ CONFIG_FREERTOS_USE_UART=y # # CONFIG_FREERTOS_USE_FSDIO is not set # end of Freertos MMC Drivers + +# +# Freertos Adc Drivers +# +# CONFIG_FREERTOS_USE_ADC is not set +# end of Freertos Adc Drivers # end of Component Configuration # diff --git a/example/template/sdkconfig b/example/template/sdkconfig index 1927e9c1..9816214a 100644 --- a/example/template/sdkconfig +++ b/example/template/sdkconfig @@ -169,6 +169,12 @@ CONFIG_FREERTOS_USE_UART=y # # CONFIG_FREERTOS_USE_FSDIO is not set # end of Freertos MMC Drivers + +# +# Freertos Adc Drivers +# +# CONFIG_FREERTOS_USE_ADC is not set +# end of Freertos Adc Drivers # end of Component Configuration # diff --git a/example/template/sdkconfig.h b/example/template/sdkconfig.h index 8d239b7c..8dbf9e11 100644 --- a/example/template/sdkconfig.h +++ b/example/template/sdkconfig.h @@ -149,6 +149,11 @@ /* CONFIG_FREERTOS_USE_FSDIO is not set */ /* end of Freertos MMC Drivers */ + +/* Freertos Adc Drivers */ + +/* CONFIG_FREERTOS_USE_ADC is not set */ +/* end of Freertos Adc Drivers */ /* end of Component Configuration */ /* FreeRTOS Setting */ diff --git a/install.py b/install.py index fd1fbf52..51a1e19e 100644 --- a/install.py +++ b/install.py @@ -86,7 +86,7 @@ os.system("chmod +x ./make/*.mk --silent ") os.system("chmod +x ./lib/Kconfiglib/*.py --silent ") # Add standalone sdk -standalone_sdk_v="ab17ac114e1413314864cd6f4b695fb8ba4311f1" # v0.3.1 commit id +standalone_sdk_v="802532c44dcb30a10024326742d2bea46b33735e" standalone_path=freertos_sdk_path + '/standalone' standalone_branche="master" standalone_remote="https://gitee.com/phytium_embedded/phytium-standalone-sdk.git" @@ -94,7 +94,7 @@ standalone_remote="https://gitee.com/phytium_embedded/phytium-standalone-sdk.git if not os.path.exists(standalone_path): current_path = os.getcwd() - os.system("git clone {} {}".format(standalone_remote,standalone_path)) + os.system("git clone -b {} {} {}".format(standalone_branche, standalone_remote,standalone_path)) os.chdir(standalone_path) # 切换工作路径至standalone 路径 os.system("git config core.sparsecheckout true") os.system("git config advice.detachedHead false") @@ -158,7 +158,7 @@ os.system("echo \"export FREERTOS_STANDALONE={}\" >> {}".format(standalone_path, os.system("echo \"### PHYTIUM FREERTOS SDK SETTING END\" >> {}".format(sdk_profile_path)) ## STEP 5: display success message and enable environment -print("[5]: Success!!! SDK is Install at {}".format(freertos_sdk_path)) +print("[5]: Success!!! Standalone SDK is Install at {}".format(freertos_sdk_path)) print("[5]: SDK Environment Variables is in {}".format(sdk_profile_path)) print("[5]: Phytium FREERTOS SDK Setup Done for {}!!!".format(usr)) print("[5]: Input 'source {}' or Reboot System to Active SDK".format(sdk_profile_path)) diff --git a/third-party/fatfs-0.1.3/Kconfig b/third-party/fatfs-0.1.3/Kconfig index b1c0c6cb..26db7515 100644 --- a/third-party/fatfs-0.1.3/Kconfig +++ b/third-party/fatfs-0.1.3/Kconfig @@ -12,8 +12,18 @@ menu "FATFS Configuration" bool "Sd Card(FSdmmc)" select USE_SDMMC_CMD - config SELECT_FATFS_FSATA - bool "Sata" + config SELECT_FATFS_FSATA_PCIE + bool "Sata_Pcie" + select USE_PCIE + select ENABLE_F_PCIE + select USE_SATA + select ENABLE_FSATA + + config SELECT_FATFS_FSATA_CONTROLLER + depends on TARGET_E2000 + bool "Sata_Controller" + select USE_SATA + select ENABLE_FSATA config SELECT_FATFS_USB bool "Usb Disk" diff --git a/third-party/fatfs-0.1.3/port/fsata_controller/diskio.c b/third-party/fatfs-0.1.3/port/fsata_controller/diskio.c new file mode 100644 index 00000000..2bb9f7ab --- /dev/null +++ b/third-party/fatfs-0.1.3/port/fsata_controller/diskio.c @@ -0,0 +1,282 @@ +/*-----------------------------------------------------------------------*/ +/* Low level disk I/O module skeleton for FatFs (C)ChaN, 2016 */ +/*-----------------------------------------------------------------------*/ +/* If a working storage control module is available, it should be */ +/* attached to the FatFs via a glue function rather than modifying it. */ +/* This is an example of glue functions to attach various exsisting */ +/* storage control modules to the FatFs module with a defined API. */ +/*-----------------------------------------------------------------------*/ + +#include +#include "parameters.h" +#include "ft_debug.h" +#include "interrupt.h" +#include "ff.h" +#include "diskio.h" /* FatFs lower layer API */ +#include "fsata.h" +#include "fsata_hw.h" + +#define HOST_NUM 0 /* sata host */ +#define PORT_NUM 0 /* sata link port */ + +#define FSATA_DEBUG_TAG "FSATA-CONTROLLER-DISKIO" +#define FSATA_ERROR(format, ...) FT_DEBUG_PRINT_E(FSATA_DEBUG_TAG, format, ##__VA_ARGS__) +#define FSATA_WARN(format, ...) FT_DEBUG_PRINT_W(FSATA_DEBUG_TAG, format, ##__VA_ARGS__) +#define FSATA_INFO(format, ...) FT_DEBUG_PRINT_I(FSATA_DEBUG_TAG, format, ##__VA_ARGS__) +#define FSATA_DEBUG(format, ...) FT_DEBUG_PRINT_D(FSATA_DEBUG_TAG, format, ##__VA_ARGS__) + +/* 64位需要预留给内存池更大的空间 */ +static u8 mem[50000] __attribute__((aligned(1024))) = {0}; + +#define SATA_PORT_MEM_SIZE 0x00000C00 + +static u32 port_mem_count = 0; + +static FSataCtrl sata_device[FSATA_INSTANCE_NUM];//最多支持16个ahci控制器,可以自行定义个数 +static s32 sata_host_count; + +static boolean sata_ok = FALSE; + +/*-----------------------------------------------------------------------*/ +/* Get Drive Status */ +/*-----------------------------------------------------------------------*/ + +DSTATUS disk_status ( + BYTE pdrv /* Physical drive nmuber to identify the drive */ +) +{ + DSTATUS status = STA_NOINIT; + + if (FT_COMPONENT_IS_READY == sata_device[HOST_NUM].is_ready) + status &= ~STA_NOINIT; /* 假设Sata处于插入状态 */ + + return status; +} + +static int FSataInit(void) +{ + s32 i; + u32 j; + u8 id = 0; + + const FSataConfig *config_p = NULL; + FSataCtrl *instance_p; + FError status = FSATA_SUCCESS; + FError ret = FSATA_SUCCESS; + boolean host_valid = FALSE; + + if (sata_ok == TRUE) + { + FSATA_WARN("sata already init\r\n"); + return 0; + } + + for(i = 0; i < FSATA_INSTANCE_NUM; i++) + { + instance_p = &(sata_device[i]); + memset(instance_p, 0, sizeof(*instance_p)); + } + + /* get xhci host from fsata_g.c */ + for(id = 0;id < FSATA_INSTANCE_NUM; id++) + { + config_p = FSataLookupConfig(id, FSATA_TYPE_CONTROLLER); + /* 如果有一个定义的PLATFORM AHCI HOST,则获取,否则跳过 */ + if(config_p->base_addr != 0) + { + /* base不为0,表示有platform ahci自定义 */ + status = FSataCfgInitialize(&sata_device[sata_host_count], config_p); + if (FSATA_SUCCESS != status) + { + FSATA_ERROR("init sata failed, status: 0x%x", status); + continue; + } + + FSATA_DEBUG("plat ahci host[%d] base_addr = 0x%x", id, sata_device[sata_host_count].config.base_addr); + FSATA_DEBUG("plat ahci host[%d] irq_num = %d", id, sata_device[sata_host_count].config.irq_num); + sata_host_count++; + } + else + { + continue; + } + } + FSATA_DEBUG("sata_host_count = %d\n", sata_host_count); + for (i = 0; i < sata_host_count; i++) + { + host_valid = FALSE; + instance_p = &(sata_device[i]); + + /* init ahci controller and port */ + status = FSataAhciInit(instance_p); + if (FSATA_SUCCESS != status) + { + FSataCfgDeInitialize(instance_p); + FSATA_ERROR("FSataAhciInit sata failed, status: 0x%x", status); + continue; + } + + FSATA_DEBUG("instance_p->n_ports = %d\n", instance_p->n_ports); + + for (j = 0; j < instance_p->n_ports; j++) + { + u32 port_map = instance_p->port_map; + if (!(port_map & (1 << j))) + continue; + ret = FSataAhciPortStart(instance_p, j, (uintptr)mem + SATA_PORT_MEM_SIZE*port_mem_count); + port_mem_count++; + if (FSATA_SUCCESS != ret) + { + FSATA_ERROR("FSataAhciPortStart host %d port %d failed, ret: 0x%x", i, j, ret); + continue; + } + + ret = FSataAhciReadInfo(instance_p, j); + if (FSATA_SUCCESS != ret) + { + FSataCfgDeInitialize(instance_p); + FSATA_ERROR("FSataAhciReadInfo %d-%d failed, ret: 0x%x", i, j, ret); + continue; + } + if(FSATA_SUCCESS == ret) + { + host_valid = TRUE; + } + } + + } + + sata_ok = TRUE; + + return 0; +} + + +/*-----------------------------------------------------------------------*/ +/* Inidialize a Drive */ +/*-----------------------------------------------------------------------*/ + +DSTATUS disk_initialize ( + BYTE pdrv /* Physical drive nmuber to identify the drive */ +) +{ + DSTATUS status = STA_NOINIT; + if (FSATA_SUCCESS == FSataInit()) + { + status &= ~STA_NOINIT; + FSATA_INFO("init sata driver ok"); + } + else + { + FSATA_ERROR("init sata driver failed"); + } + + return status; +} + + + +/*-----------------------------------------------------------------------*/ +/* Read Sector(s) */ +/*-----------------------------------------------------------------------*/ + +DRESULT disk_read ( + BYTE pdrv, /* Physical drive nmuber to identify the drive */ + BYTE *buff, /* Data buffer to store read data */ + DWORD sector, /* Start sector in LBA */ + UINT count /* Number of sectors to read */ +) +{ + DRESULT status = RES_OK; + BYTE *io_buf = buff; + UINT err = FSATA_SUCCESS; + + err = FSataReadWrite(&sata_device[HOST_NUM], PORT_NUM, sector, count, io_buf, 0); + + if (FSATA_SUCCESS != err) + { + FSATA_ERROR("read sata controller sector [%d-%d] failed: 0x%x", sector, sector + count, err); + status = RES_ERROR; + } + + return status; +} + +/*-----------------------------------------------------------------------*/ +/* Write Sector(s) */ +/*-----------------------------------------------------------------------*/ + +DRESULT disk_write ( + BYTE pdrv, /* Physical drive nmuber to identify the drive */ + const BYTE *buff, /* Data to be written */ + DWORD sector, /* Start sector in LBA */ + UINT count /* Number of sectors to write */ +) +{ + DRESULT status = RES_OK; + const BYTE *io_buf = buff; + UINT err = FSATA_SUCCESS; + + err = FSataReadWrite(&sata_device[HOST_NUM], PORT_NUM, sector, count, (u8 *)io_buf, 1); + + if (FSATA_SUCCESS != err) + { + FSATA_ERROR("write sata controller sector [%d-%d] failed: 0x%x", sector, sector + count, err); + status = RES_ERROR; + } + + return status; +} + +/*-----------------------------------------------------------------------*/ +/* Miscellaneous Functions */ +/*-----------------------------------------------------------------------*/ + +DRESULT disk_ioctl ( + BYTE pdrv, /* Physical drive nmuber (0..) */ + BYTE cmd, /* Control code */ + void *buff /* Buffer to send/receive control data */ +) +{ + DRESULT res = RES_ERROR; + + switch (cmd) + { + /* 确保磁盘驱动器已经完成了写处理,当磁盘I/O有一个写回缓存, + 立即刷新原扇区,只读配置下不适用此命令 */ + case CTRL_SYNC: + res = RES_OK; + break; + /* 所有可用的扇区数目(逻辑寻址即LBA寻址方式) */ + case GET_SECTOR_COUNT: + *((DWORD *)buff) = sata_device[HOST_NUM].port[PORT_NUM].dev_info.lba512; + res = RES_OK; + break; + /* 返回磁盘扇区大小, 只用于f_mkfs() */ + case GET_SECTOR_SIZE: + res = RES_PARERR; + break; + /* 每个扇区有多少个字节 */ + case GET_BLOCK_SIZE: + *((DWORD *)buff) = sata_device[HOST_NUM].port[PORT_NUM].dev_info.blksz; + res = RES_OK; + break; + case CTRL_TRIM: + res = RES_PARERR; + break; + } + + FSATA_INFO("cmd %d, buff: %p", cmd, *((DWORD*) buff)); + return res; +} + + + + + + + + + + + diff --git a/third-party/fatfs-0.1.3/port/fsata_controller/diskio.h b/third-party/fatfs-0.1.3/port/fsata_controller/diskio.h new file mode 100644 index 00000000..1fa4400e --- /dev/null +++ b/third-party/fatfs-0.1.3/port/fsata_controller/diskio.h @@ -0,0 +1,80 @@ +/*-----------------------------------------------------------------------/ +/ Low level disk interface modlue include file (C)ChaN, 2014 / +/-----------------------------------------------------------------------*/ + +#ifndef _DISKIO_DEFINED +#define _DISKIO_DEFINED + +#ifdef __cplusplus +extern "C" { +#endif + +#include "integer.h" + + +/* Status of Disk Functions */ +typedef BYTE DSTATUS; + +/* Results of Disk Functions */ +typedef enum { + RES_OK = 0, /* 0: Successful */ + RES_ERROR, /* 1: R/W Error */ + RES_WRPRT, /* 2: Write Protected */ + RES_NOTRDY, /* 3: Not Ready */ + RES_PARERR /* 4: Invalid Parameter */ +} DRESULT; + + +/*---------------------------------------*/ +/* Prototypes for disk control functions */ + + +DSTATUS disk_initialize (BYTE pdrv); +DSTATUS disk_status (BYTE pdrv); +DRESULT disk_read (BYTE pdrv, BYTE* buff, DWORD sector, UINT count); +DRESULT disk_write (BYTE pdrv, const BYTE* buff, DWORD sector, UINT count); +DRESULT disk_ioctl (BYTE pdrv, BYTE cmd, void* buff); + + +/* Disk Status Bits (DSTATUS) */ + +#define STA_NOINIT 0x01 /* Drive not initialized */ +#define STA_NODISK 0x02 /* No medium in the drive */ +#define STA_PROTECT 0x04 /* Write protected */ + + +/* Command code for disk_ioctrl fucntion */ + +/* Generic command (Used by FatFs) */ +#define CTRL_SYNC 0 /* Complete pending write process (needed at FF_FS_READONLY == 0) */ +#define GET_SECTOR_COUNT 1 /* Get media size (needed at FF_USE_MKFS == 1) */ +#define GET_SECTOR_SIZE 2 /* Get sector size (needed at FF_MAX_SS != FF_MIN_SS) */ +#define GET_BLOCK_SIZE 3 /* Get erase block size (needed at FF_USE_MKFS == 1) */ +#define CTRL_TRIM 4 /* Inform device that the data on the block of sectors is no longer used (needed at FF_USE_TRIM == 1) */ + +/* Generic command (Not used by FatFs) */ +#define CTRL_POWER 5 /* Get/Set power status */ +#define CTRL_LOCK 6 /* Lock/Unlock media removal */ +#define CTRL_EJECT 7 /* Eject media */ +#define CTRL_FORMAT 8 /* Create physical format on the media */ + +/* MMC/SDC specific ioctl command */ +#define MMC_GET_TYPE 10 /* Get card type */ +#define MMC_GET_CSD 11 /* Get CSD */ +#define MMC_GET_CID 12 /* Get CID */ +#define MMC_GET_OCR 13 /* Get OCR */ +#define MMC_GET_SDSTAT 14 /* Get SD status */ +#define ISDIO_READ 55 /* Read data form SD iSDIO register */ +#define ISDIO_WRITE 56 /* Write data to SD iSDIO register */ +#define ISDIO_MRITE 57 /* Masked write data to SD iSDIO register */ + +/* ATA/CF specific ioctl command */ +#define ATA_GET_REV 20 /* Get F/W revision */ +#define ATA_GET_MODEL 21 /* Get model name */ +#define ATA_GET_SN 22 /* Get serial number */ + +#ifdef __cplusplus +} +#endif + +#endif diff --git a/third-party/sfud-1.1.0/Kconfig b/third-party/sfud-1.1.0/Kconfig index a0e2cc90..3d55088f 100644 --- a/third-party/sfud-1.1.0/Kconfig +++ b/third-party/sfud-1.1.0/Kconfig @@ -1,6 +1,5 @@ menu "SFUD Configuration" - config SFUD_CTRL_FSPIM bool prompt "Use FSPIM" @@ -10,7 +9,7 @@ menu "SFUD Configuration" config SFUD_CTRL_FQSPI bool - prompt "Use FQSPI" + prompt "Use FQSPI" select USE_QSPI select USE_NOR_QSPI default n diff --git a/third-party/sfud-1.1.0/inc/sfud_def.h b/third-party/sfud-1.1.0/inc/sfud_def.h index 4249a350..0c4ad56f 100644 --- a/third-party/sfud-1.1.0/inc/sfud_def.h +++ b/third-party/sfud-1.1.0/inc/sfud_def.h @@ -177,6 +177,10 @@ if (!(EXPR)) \ #define SFUD_WRITE_MAX_PAGE_SIZE 256 #endif +#ifndef SFUD_CMD_ERASE_SECTOR +#define SFUD_CMD_ERASE_SECTOR 0xD8 +#endif + /* send dummy data for read data */ #ifndef SFUD_DUMMY_DATA #define SFUD_DUMMY_DATA 0xFF diff --git a/third-party/sfud-1.1.0/ports/fqspi/fqspi_sfud_core.c b/third-party/sfud-1.1.0/ports/fqspi/fqspi_sfud_core.c index 71ccd66e..b5d0726a 100644 --- a/third-party/sfud-1.1.0/ports/fqspi/fqspi_sfud_core.c +++ b/third-party/sfud-1.1.0/ports/fqspi/fqspi_sfud_core.c @@ -23,8 +23,9 @@ #include "parameters.h" #include "fqspi_sfud_core.h" -#include "fqspi_flash.h" #include "sdkconfig.h" +#include "fqspi_os.h" + #ifndef SDK_CONFIG_H__ #warning "Please include sdkconfig.h" #endif @@ -35,11 +36,21 @@ extern void sfud_log_info(const char *format, ...); typedef struct { - FQspiCtrl qspi; -} FqspiCore; + u32 id; + FFreeRTOSQspi *os_qspi_p; + u8 cs; + boolean is_inited; +} FQspiSfudOs; + +static FQspiSfudOs sfud_instance = +{ + .id = FQSPI_INSTANCE_0, + .os_qspi_p = NULL, + .cs = FQSPI_CS_0, + .is_inited = FALSE +}; -static u32 device_select_mask ; /* 每一位用于指示那个设备被选择,如0x3 ,则 fqspi0 ,fqspi1 被选择 */ -FqspiCore fqspi[FQSPI_INSTANCE_NUM] = {0} ; +static FQspiSfudOs fqspi_sfud_os[FQSPI_INSTANCE_NUM] = {0} ; #ifdef SFUD_USING_QSPI @@ -50,12 +61,14 @@ static sfud_err FQspiFastRead(const sfud_spi *spi, uint32_t addr, sfud_qspi_read uint8_t *read_buf, size_t read_size) { sfud_err result = SFUD_SUCCESS; - FQspiCtrl *qspi_p = (FQspiCtrl *)spi->user_data; - static uint8_t read_flag = 0; + FQspiSfudOs *qspi_sfud_os_p = (FQspiSfudOs *)spi->user_data; + + FFreeRTOSQspiMessage message; + memset(&message, 0, sizeof(message)); /* set default read instruction */ #ifdef CONFIG_SFUD_QSPI_READ_MODE_READ - qspi_read_cmd_format->instruction = SFUD_CMD_READ_DATA; + qspi_read_cmd_format->instruction = SFUD_CMD_READ_DATA; #endif #ifdef CONFIG_SFUD_QSPI_READ_MODE_DUAL_READ @@ -65,23 +78,20 @@ static sfud_err FQspiFastRead(const sfud_spi *spi, uint32_t addr, sfud_qspi_read #ifdef CONFIG_SFUD_QSPI_READ_MODE_QUAD_READ qspi_read_cmd_format->instruction = SFUD_CMD_QUAD_IO_READ_DATA; #endif - /** - * add your qspi read flash data code - */ - if(read_flag == 0) - { - result = FQspiFlashReadDataConfig(qspi_p, qspi_read_cmd_format->instruction); - read_flag = 1; - } - FQspiFlashReadData(qspi_p, addr, read_buf, read_size); - // result = FQspiFlashPortReadData(qspi_p, SFUD_CMD_READ_DATA, addr, read_buf, read_size); + + /* add your qspi read flash data code */ + message.read_buf = read_buf; + message.length = read_size; + message.addr = addr; + message.cmd = qspi_read_cmd_format->instruction; + message.cs = qspi_sfud_os_p->cs; + result = FFreeRTOSQspiTransfer(qspi_sfud_os_p->os_qspi_p, &message); + return result; } #endif /* SFUD_USING_QSPI */ - - static sfud_err FQspiFlashTransfer(const sfud_spi *spi, const u8 *write_buf, size_t write_size, u8 *read_buf, size_t read_size) { @@ -91,44 +101,61 @@ static sfud_err FQspiFlashTransfer(const sfud_spi *spi, const u8 *write_buf, u32 addr = 0; u8 i = 0; size_t len = 0; - FQspiCtrl *qspi_p = (FQspiCtrl *)spi->user_data; + + FQspiSfudOs *qspi_sfud_os_p = (FQspiSfudOs *)spi->user_data; + FQspiCtrl *qspi_p = &qspi_sfud_os_p->os_qspi_p->qspi_ctrl; + + FFreeRTOSQspiMessage message; + memset(&message, 0, sizeof(message)); + len = (qspi_p->flash_size > SZ_16M) ? 5 : 4; if (write_size && read_size) { command = write_buf[0]; switch(command) { - case FQSPI_FLASH_CMD_RDID: - FQspiFlashSpecialInstruction(qspi_p, command, read_buf, read_size); + case SFUD_CMD_JEDEC_ID: + message.cs = qspi_sfud_os_p->cs; + message.cmd = command; + message.read_buf = read_buf; + message.length = read_size; + ret = FFreeRTOSQspiTransfer(qspi_sfud_os_p->os_qspi_p, &message); if (SFUD_SUCCESS != ret) { - printf("failed read id, test result 0x%x\r\n", ret); + printf("failed cmd = %#x, test result 0x%x\r\n", command, ret); return ret; } break; - case FQSPI_FLASH_CMD_SFDP: + case SFUD_CMD_READ_SFDP_REGISTER: if(write_size >= 4) { addr = ((write_buf[1] << 16) | (write_buf[2] << 8) | (write_buf[3])); } - FQspiFlashReadSfdp(qspi_p, addr, read_buf, read_size); + message.cs = qspi_sfud_os_p->cs; + message.cmd = command; + message.addr = addr; + message.read_buf = read_buf; + message.length = read_size; + ret = FFreeRTOSQspiTransfer(qspi_sfud_os_p->os_qspi_p, &message); if (SFUD_SUCCESS != ret) { - printf("failed read sfdp, test result 0x%x\r\n", ret); + printf("failed cmd = %#x, test result 0x%x\r\n", command, ret); return ret; } break; - case FQSPI_FLASH_CMD_RDSR1: - ret = FQspiFlashSpecialInstruction(qspi_p, command, read_buf, 1); - + case SFUD_CMD_READ_STATUS_REGISTER: + message.cs = qspi_sfud_os_p->cs; + message.cmd = command; + message.read_buf = read_buf; + message.length = 1; + ret = FFreeRTOSQspiTransfer(qspi_sfud_os_p->os_qspi_p, &message); if (SFUD_SUCCESS != ret) { - printf("failed read sr1, test result 0x%x\r\n", ret); + printf("failed cmd = %#x, test result 0x%x\r\n", command, ret); return ret; } - break; default: break; @@ -139,38 +166,59 @@ static sfud_err FQspiFlashTransfer(const sfud_spi *spi, const u8 *write_buf, command = write_buf[0]; switch(command) { - case FQSPI_CMD_ENABLE_RESET: - case FQSPI_CMD_RESET: - FQspiFlashWriteReg(qspi_p, command, NULL, 0); - break; - case FQSPI_FLASH_CMD_WREN: - FQspiFlashEnableWrite(qspi_p); - break; - case FQSPI_FLASH_CMD_WRDI: - FQspiFlashDisableWrite(qspi_p); - break; - case FQSPI_FLASH_CMD_WRR: - FQspiFlashWriteReg(qspi_p, command, NULL, 0); + case SFUD_CMD_ENABLE_RESET: + case SFUD_CMD_RESET: + case SFUD_CMD_WRITE_ENABLE: + case SFUD_CMD_WRITE_DISABLE: + case SFUD_CMD_WRITE_STATUS_REGISTER: + message.cs = qspi_sfud_os_p->cs; + message.cmd = command; + ret = FFreeRTOSQspiTransfer(qspi_sfud_os_p->os_qspi_p, &message); + if (SFUD_SUCCESS != ret) + { + printf("failed cmd = %#x, test result 0x%x\r\n", command, ret); + return ret; + } break; - case FQSPI_FLASH_CMD_SE: - case FQSPI_FLASH_CMD_4SE: - case FQSPI_FLASH_CMD_4BE: - case FQSPI_FLASH_CMD_P4E: + + /* some erase commands are used in SFUD_FLASH_CHIP_TABLE, users need add if not identify */ + case SFUD_CMD_ERASE_CHIP: + case SFUD_CMD_ERASE_SECTOR: SFUD_ASSERT(write_size >= len); for (i = 1; i < len; i++) { addr = ((addr << 8)|(write_buf[i])); } - FQspiFlashErase(qspi_p, command, addr); - break; - case FQSPI_FLASH_CMD_PP: + message.cs = qspi_sfud_os_p->cs; + message.cmd = command; + message.addr = addr; + ret = FFreeRTOSQspiTransfer(qspi_sfud_os_p->os_qspi_p, &message); + if (SFUD_SUCCESS != ret) + { + printf("failed cmd = %#x, test result 0x%x\r\n", command, ret); + return ret; + } + break; + + case SFUD_CMD_PAGE_PROGRAM: /* write Flash data */ SFUD_ASSERT(write_size > len); for (i = 1; i < len; i++) { addr = ((addr << 8)|(write_buf[i])); } - ret = FQspiFlashWriteData(qspi_p, command, addr, &write_buf[len], write_size - len); + + message.write_buf = &write_buf[len]; + message.length = write_size - len; + message.addr = addr; + message.cmd = command; + message.cs = qspi_sfud_os_p->cs; + ret = FFreeRTOSQspiTransfer(qspi_sfud_os_p->os_qspi_p, &message); + if (SFUD_SUCCESS != ret) + { + printf("failed cmd = %#x, test result 0x%x\r\n", command, ret); + return ret; + } break; default: break; @@ -192,7 +240,6 @@ static sfud_err FQspiWriteRead(const sfud_spi *spi, const uint8_t *write_buf, size_t read_size) { sfud_err result = SFUD_SUCCESS; uint8_t send_data, read_data; - // FQspiCtrl *qspi_p = (FQspiCtrl *)spi->user_data; if (write_size) { @@ -212,31 +259,29 @@ static sfud_err FQspiWriteRead(const sfud_spi *spi, const uint8_t *write_buf, sfud_err FQspiProbe(sfud_flash *flash) { sfud_spi *spi_p = &flash->spi; + sfud_err result = SFUD_SUCCESS; + + FQspiSfudOs *user_data = &sfud_instance; + if(!memcmp(FQSPI0_SFUD_NAME,spi_p->name,strlen(FQSPI0_SFUD_NAME))) { - if(device_select_mask &0x1) + if (FALSE == user_data->is_inited) { - return SFUD_ERR_NOT_FOUND; - } - FQspiConfig config_p= *FQspiLookupConfig(0); - - if (FQSPI_SUCCESS != FQspiCfgInitialize(&fqspi[0].qspi, &config_p)) - { - SFUD_DEBUG("init qspi failed"); - result = SFUD_ERR_INIT_FAILED; - return result; - } - - flash->spi.wr = FQspiWriteRead; - flash->spi.user_data = &fqspi[0].qspi; - /* adout 60 seconds timeout */ - flash->retry.times = 60 * 10000; + user_data->os_qspi_p = FFreeRTOSQspiInit(user_data->id); -#ifdef SFUD_USING_QSPI - flash->spi.qspi_read = FQspiFastRead; -#endif - device_select_mask |= 0x1 ; + flash->spi.wr = FQspiWriteRead; + + flash->spi.user_data = user_data; + + /* adout 60 seconds timeout */ + flash->retry.times = 60 * 10000; + + #ifdef SFUD_USING_QSPI + flash->spi.qspi_read = FQspiFastRead; + #endif + user_data->is_inited = TRUE; + } } else { diff --git a/third-party/spiffs-0.3.7/ports/fqspi/fqspi_spiffs_port.c b/third-party/spiffs-0.3.7/ports/fqspi/fqspi_spiffs_port.c index 2983ef9e..6b9f4dcc 100644 --- a/third-party/spiffs-0.3.7/ports/fqspi/fqspi_spiffs_port.c +++ b/third-party/spiffs-0.3.7/ports/fqspi/fqspi_spiffs_port.c @@ -29,17 +29,15 @@ #include "fsleep.h" #include "sfud.h" #include "fqspi_spiffs_port.h" -#include "sdkconfig.h" /************************** Constant Definitions *****************************/ -#define FSPIFFS_FLASH_START_ADDR SZ_8M +#define FSPIFFS_FLASH_START_ADDR (7 * SZ_1M) #define FSPIFFS_FLASH_SIZE SZ_1M /**************************** Type Definitions *******************************/ /************************** Variable Definitions *****************************/ static boolean is_sfud_ready = FALSE; static const sfud_flash *flash_instance = NULL; - static const fsize_t flash_id = SFUD_FQSPI0_INDEX; /***************** Macros (Inline Functions) Definitions *********************/ diff --git a/third-party/third-party.mk b/third-party/third-party.mk index ec6926b5..2010664a 100644 --- a/third-party/third-party.mk +++ b/third-party/third-party.mk @@ -127,11 +127,15 @@ ifdef CONFIG_USE_FATFS SRC_DIR += $(THIRD_PARTY_CUR_DIR)/fatfs-0.1.3/port/fsdmmc endif - ifdef CONFIG_SELECT_FATFS_FSATA + ifdef CONFIG_SELECT_FATFS_FSATA_PCIE INC_DIR += $(THIRD_PARTY_CUR_DIR)/fatfs-0.1.3/port/fsata_pcie SRC_DIR += $(THIRD_PARTY_CUR_DIR)/fatfs-0.1.3/port/fsata_pcie endif + ifdef CONFIG_SELECT_FATFS_FSATA_CONTROLLER + INC_DIR += $(THIRD_PARTY_CUR_DIR)/fatfs-0.1.3/port/fsata_controller + SRC_DIR += $(THIRD_PARTY_CUR_DIR)/fatfs-0.1.3/port/fsata_controller + endif ifdef CONFIG_SELECT_FATFS_USB INC_DIR += $(THIRD_PARTY_CUR_DIR)/fatfs-0.1.3/port/fusb_pcie -- Gitee From b5c5461a3d328f29337e8dc108751c6f2be0f821 Mon Sep 17 00:00:00 2001 From: zhugengyu Date: Wed, 19 Oct 2022 03:14:06 +0000 Subject: [PATCH 3/5] =?UTF-8?q?!18=20E2000=20=E9=80=82=E9=85=8D=20CherryUS?= =?UTF-8?q?B=200.6.0=EF=BC=8C=E6=9B=B4=E6=96=B0=20CAN=20=E9=A9=B1=E5=8A=A8?= =?UTF-8?q?=20*=20=E9=80=82=E9=85=8DCherryUSB=EF=BC=8C=E6=94=AF=E6=8C=81?= =?UTF-8?q?=E4=B8=AD=E6=96=AD=E6=A8=A1=E5=BC=8F=E4=B8=8B=E4=BD=BF=E7=94=A8?= =?UTF-8?q?2.0=20Hub/=E9=94=AE=E7=9B=98=E9=BC=A0=E6=A0=87/U=E7=9B=98?= =?UTF-8?q?=E7=AD=89=E8=AE=BE=E5=A4=87=20*=20=E9=80=82=E9=85=8DCherryUSB?= =?UTF-8?q?=EF=BC=8C=E6=94=AF=E6=8C=81=E4=B8=AD=E6=96=AD=E6=A8=A1=E5=BC=8F?= =?UTF-8?q?=E4=B8=8B=E4=BD=BF=E7=94=A82.0=20Hub/=E9=94=AE=E7=9B=98?= =?UTF-8?q?=E9=BC=A0=E6=A0=87/U=E7=9B=98=E7=AD=89=E8=AE=BE=E5=A4=87=20*=20?= =?UTF-8?q?Merge=20branch=20'can=5Floopback=5F0915'=20into=20'master'=20*?= =?UTF-8?q?=20freertos=20can=E9=A9=B1=E5=8A=A8=E7=A7=BB=E6=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 4 +- docs/ChangeLog.md | 25 + drivers/Kconfig | 11 + drivers/can/fcan_os.c | 245 +++ drivers/can/fcan_os.h | 77 + drivers/drivers.mk | 4 + .../configs/d2000_aarch32_eg_configs | 6 + .../configs/d2000_aarch64_eg_configs | 6 + .../configs/e2000d_aarch32_eg_configs | 6 + .../configs/e2000d_aarch64_eg_configs | 6 + .../configs/e2000q_aarch32_eg_configs | 6 + .../configs/e2000q_aarch64_eg_configs | 6 + .../configs/ft2004_aarch32_eg_configs | 6 + .../configs/ft2004_aarch64_eg_configs | 6 + example/freertos_feature/eventgroup/sdkconfig | 6 + .../freertos_feature/eventgroup/sdkconfig.h | 5 + .../configs/d2000_aarch32_eg_configs | 6 + .../configs/d2000_aarch64_eg_configs | 6 + .../configs/e2000d_aarch32_eg_configs | 6 + .../configs/e2000d_aarch64_eg_configs | 6 + .../configs/e2000q_aarch32_eg_configs | 6 + .../configs/e2000q_aarch64_eg_configs | 6 + .../configs/ft2004_aarch32_eg_configs | 6 + .../configs/ft2004_aarch64_eg_configs | 6 + example/freertos_feature/interrupt/sdkconfig | 6 + .../freertos_feature/interrupt/sdkconfig.h | 5 + .../queue/configs/d2000_aarch32_eg_configs | 6 + .../queue/configs/d2000_aarch64_eg_configs | 6 + .../queue/configs/e2000d_aarch32_eg_configs | 6 + .../queue/configs/e2000d_aarch64_eg_configs | 6 + .../queue/configs/e2000q_aarch32_eg_configs | 6 + .../queue/configs/e2000q_aarch64_eg_configs | 6 + .../queue/configs/ft2004_aarch32_eg_configs | 6 + .../queue/configs/ft2004_aarch64_eg_configs | 6 + example/freertos_feature/queue/sdkconfig | 6 + example/freertos_feature/queue/sdkconfig.h | 5 + .../resource/configs/d2000_aarch32_eg_configs | 6 + .../resource/configs/d2000_aarch64_eg_configs | 6 + .../configs/e2000d_aarch32_eg_configs | 6 + .../configs/e2000d_aarch64_eg_configs | 6 + .../configs/e2000q_aarch32_eg_configs | 6 + .../configs/e2000q_aarch64_eg_configs | 6 + .../configs/ft2004_aarch32_eg_configs | 6 + .../configs/ft2004_aarch64_eg_configs | 6 + example/freertos_feature/resource/sdkconfig | 6 + example/freertos_feature/resource/sdkconfig.h | 5 + .../configs/d2000_aarch32_eg_configs | 6 + .../configs/d2000_aarch64_eg_configs | 6 + .../configs/e2000d_aarch32_eg_configs | 6 + .../configs/e2000d_aarch64_eg_configs | 6 + .../configs/e2000q_aarch32_eg_configs | 6 + .../configs/e2000q_aarch64_eg_configs | 6 + .../configs/ft2004_aarch32_eg_configs | 6 + .../configs/ft2004_aarch64_eg_configs | 6 + .../freertos_feature/software_timer/sdkconfig | 6 + .../software_timer/sdkconfig.h | 5 + .../task/configs/d2000_aarch32_eg_configs | 6 + .../task/configs/d2000_aarch64_eg_configs | 6 + .../task/configs/e2000d_aarch32_eg_configs | 6 + .../task/configs/e2000d_aarch64_eg_configs | 6 + .../task/configs/e2000q_aarch32_eg_configs | 6 + .../task/configs/e2000q_aarch64_eg_configs | 6 + .../task/configs/ft2004_aarch32_eg_configs | 6 + .../task/configs/ft2004_aarch64_eg_configs | 6 + example/freertos_feature/task/sdkconfig | 6 + example/freertos_feature/task/sdkconfig.h | 5 + .../configs/d2000_aarch32_eg_configs | 6 + .../configs/d2000_aarch64_eg_configs | 6 + .../configs/e2000d_aarch32_eg_configs | 6 + .../configs/e2000d_aarch64_eg_configs | 6 + .../configs/e2000q_aarch32_eg_configs | 6 + .../configs/e2000q_aarch64_eg_configs | 6 + .../configs/ft2004_aarch32_eg_configs | 6 + .../configs/ft2004_aarch64_eg_configs | 6 + .../freertos_feature/task_notify/sdkconfig | 6 + .../freertos_feature/task_notify/sdkconfig.h | 5 + .../configs/d2000_aarch32_eg_configs | 6 + .../configs/d2000_aarch64_eg_configs | 6 + .../configs/ft2004_aarch32_eg_configs | 6 + .../configs/ft2004_aarch64_eg_configs | 6 + example/network/gmac_lwip_test/sdkconfig | 6 + example/network/gmac_lwip_test/sdkconfig.h | 5 + .../configs/e2000d_aarch32_eg_configs | 6 + .../configs/e2000d_aarch64_eg_configs | 6 + example/network/xmac_lwip_test/sdkconfig | 6 + example/network/xmac_lwip_test/sdkconfig.h | 5 + example/peripheral/adc/README.md | 2 +- .../adc/configs/e2000d_aarch32_eg_configs | 6 + .../adc/configs/e2000d_aarch64_eg_configs | 6 + .../adc/configs/e2000q_aarch32_eg_configs | 6 + .../adc/configs/e2000q_aarch64_eg_configs | 6 + example/peripheral/adc/sdkconfig | 6 + example/peripheral/adc/sdkconfig.h | 5 + example/peripheral/can/Kconfig | 19 + example/peripheral/can/README.md | 150 ++ .../can/configs/d2000_aarch32_eg_configs | 219 +++ .../can/configs/d2000_aarch64_eg_configs | 215 +++ .../can/configs/e2000d_aarch32_eg_configs | 220 +++ .../can/configs/e2000d_aarch64_eg_configs | 216 +++ .../can/configs/e2000q_aarch32_eg_configs | 220 +++ .../can/configs/e2000q_aarch64_eg_configs | 216 +++ .../can/configs/ft2004_aarch32_eg_configs | 219 +++ .../can/configs/ft2004_aarch64_eg_configs | 215 +++ example/peripheral/can/figs/create.png | Bin 0 -> 54844 bytes example/peripheral/can/figs/delete.png | Bin 0 -> 57045 bytes example/peripheral/can/inc/can_example.h | 30 + example/peripheral/can/main.c | 48 + example/peripheral/can/makefile | 30 + example/peripheral/can/sdkconfig | 216 +++ example/peripheral/can/sdkconfig.h | 191 +++ example/peripheral/can/src/can_example.c | 494 ++++++ .../ddma/configs/e2000d_aarch32_eg_configs | 6 + .../ddma/configs/e2000d_aarch64_eg_configs | 6 + example/peripheral/dma/ddma/sdkconfig | 6 + example/peripheral/dma/ddma/sdkconfig.h | 5 + .../gdma/configs/e2000d_aarch32_eg_configs | 6 + .../gdma/configs/e2000d_aarch64_eg_configs | 6 + example/peripheral/dma/gdma/sdkconfig | 6 + example/peripheral/dma/gdma/sdkconfig.h | 5 + .../gpio/configs/e2000d_aarch32_eg_configs | 6 + .../gpio/configs/e2000d_aarch64_eg_configs | 6 + example/peripheral/gpio/sdkconfig | 6 + example/peripheral/gpio/sdkconfig.h | 5 + .../pwm/configs/e2000d_aarch32_eg_configs | 6 + .../pwm/configs/e2000d_aarch64_eg_configs | 6 + .../pwm/configs/e2000q_aarch32_eg_configs | 6 + .../pwm/configs/e2000q_aarch64_eg_configs | 6 + example/peripheral/pwm/sdkconfig | 6 + example/peripheral/pwm/sdkconfig.h | 5 + .../qspi/configs/d2000_aarch32_eg_configs | 6 + .../qspi/configs/d2000_aarch64_eg_configs | 6 + .../qspi/configs/e2000d_aarch32_eg_configs | 6 + .../qspi/configs/e2000d_aarch64_eg_configs | 6 + .../qspi/configs/e2000q_aarch32_eg_configs | 6 + .../qspi/configs/e2000q_aarch64_eg_configs | 6 + .../qspi/configs/ft2004_aarch32_eg_configs | 6 + .../qspi/configs/ft2004_aarch64_eg_configs | 6 + example/peripheral/qspi/sdkconfig | 6 + example/peripheral/qspi/sdkconfig.h | 5 + .../sdio/configs/e2000d_aarch32_eg_configs | 6 + .../sdio/configs/e2000d_aarch64_eg_configs | 6 + example/peripheral/sdio/sdkconfig | 6 + example/peripheral/sdio/sdkconfig.h | 5 + .../spi/configs/e2000d_aarch32_eg_configs | 6 + .../spi/configs/e2000d_aarch64_eg_configs | 6 + example/peripheral/spi/sdkconfig | 6 + example/peripheral/spi/sdkconfig.h | 5 + example/peripheral/usb/cherryusb_host/Kconfig | 19 + .../peripheral/usb/cherryusb_host/README.md | 153 ++ .../configs/e2000d_aarch32_eg_configs | 229 +++ .../configs/e2000d_aarch64_eg_configs | 225 +++ .../configs/e2000s_aarch32_eg_configs | 229 +++ .../configs/e2000s_aarch64_eg_configs | 225 +++ .../figs/usb_disk_connection.png | Bin 0 -> 3850511 bytes .../usb/cherryusb_host/figs/usb_disk_init.png | Bin 0 -> 15803 bytes .../figs/usb_keyboard_connect.jpg | Bin 0 -> 496080 bytes .../figs/usb_keyboard_input.png | Bin 0 -> 14417 bytes .../cherryusb_host/figs/usb_mouse_connect.jpg | Bin 0 -> 513236 bytes .../cherryusb_host/figs/usb_mouse_input.png | Bin 0 -> 21719 bytes .../usb/cherryusb_host/inc/usb_host.h | 51 + example/peripheral/usb/cherryusb_host/main.c | 42 + .../peripheral/usb/cherryusb_host/makefile | 29 + .../peripheral/usb/cherryusb_host/sdkconfig | 225 +++ .../peripheral/usb/cherryusb_host/sdkconfig.h | 201 +++ .../usb/cherryusb_host/src/cmd_usb.c | 57 + .../usb/cherryusb_host/src/usb_disk.c | 128 ++ .../usb/cherryusb_host/src/usb_host.c | 173 ++ .../usb/cherryusb_host/src/usb_input.c | 330 ++++ .../wdt/configs/d2000_aarch32_eg_configs | 8 +- .../wdt/configs/d2000_aarch64_eg_configs | 8 +- .../wdt/configs/e2000d_aarch32_eg_configs | 8 +- .../wdt/configs/e2000d_aarch64_eg_configs | 8 +- .../wdt/configs/ft2004_aarch32_eg_configs | 8 +- .../wdt/configs/ft2004_aarch64_eg_configs | 8 +- example/peripheral/wdt/sdkconfig | 8 +- example/peripheral/wdt/sdkconfig.h | 7 +- .../configs/d2000_aarch32_eg_configs | 6 + .../configs/d2000_aarch64_eg_configs | 6 + .../configs/e2000d_aarch32_eg_configs | 6 + .../configs/e2000d_aarch64_eg_configs | 6 + .../configs/e2000q_aarch32_eg_configs | 6 + .../configs/e2000q_aarch64_eg_configs | 6 + .../configs/ft2004_aarch32_eg_configs | 6 + .../configs/ft2004_aarch64_eg_configs | 6 + example/storage/qspi_spiffs/sdkconfig | 6 + example/storage/qspi_spiffs/sdkconfig.h | 5 + .../configs/d2000_aarch32_eg_configs | 6 + .../configs/d2000_aarch64_eg_configs | 6 + .../configs/e2000d_aarch32_eg_configs | 6 + .../configs/e2000d_aarch64_eg_configs | 6 + .../configs/e2000q_aarch32_eg_configs | 6 + .../configs/e2000q_aarch64_eg_configs | 6 + .../configs/ft2004_aarch32_eg_configs | 6 + .../configs/ft2004_aarch64_eg_configs | 6 + example/storage/sata_fatfs/sdkconfig | 6 + example/storage/sata_fatfs/sdkconfig.h | 5 + .../template/configs/d2000_aarch32_eg_configs | 6 + .../template/configs/d2000_aarch64_eg_configs | 6 + .../configs/e2000d_aarch32_eg_configs | 6 + .../configs/e2000d_aarch64_eg_configs | 6 + .../configs/ft2004_aarch32_eg_configs | 6 + .../configs/ft2004_aarch64_eg_configs | 6 + example/template/sdkconfig | 6 + example/template/sdkconfig.h | 5 + make/complier.mk | 2 +- make/ld/aarch32_ram.ld | 8 + make/ld/aarch64_ram.ld | 7 + third-party/Kconfig | 11 + third-party/cherryusb-0.6.0/Kconfig | 97 ++ third-party/cherryusb-0.6.0/LICENSE | 201 +++ third-party/cherryusb-0.6.0/README.md | 154 ++ third-party/cherryusb-0.6.0/README_zh.md | 153 ++ .../cherryusb-0.6.0/class/audio/usb_audio.h | 1089 ++++++++++++ .../cherryusb-0.6.0/class/audio/usbd_audio.c | 463 +++++ .../cherryusb-0.6.0/class/audio/usbd_audio.h | 31 + .../cherryusb-0.6.0/class/cdc/usb_cdc.h | 574 +++++++ .../cherryusb-0.6.0/class/cdc/usbd_cdc.c | 127 ++ .../cherryusb-0.6.0/class/cdc/usbd_cdc.h | 28 + .../cherryusb-0.6.0/class/cdc/usbh_cdc_acm.c | 194 +++ .../cherryusb-0.6.0/class/cdc/usbh_cdc_acm.h | 39 + .../cherryusb-0.6.0/class/dfu/usb_dfu.h | 137 ++ .../cherryusb-0.6.0/class/dfu/usbd_dfu.c | 513 ++++++ .../cherryusb-0.6.0/class/dfu/usbd_dfu.h | 27 + .../cherryusb-0.6.0/class/hid/usb_hid.h | 585 +++++++ .../cherryusb-0.6.0/class/hid/usbd_hid.c | 151 ++ .../cherryusb-0.6.0/class/hid/usbd_hid.h | 34 + .../cherryusb-0.6.0/class/hid/usbh_hid.c | 206 +++ .../cherryusb-0.6.0/class/hid/usbh_hid.h | 32 + .../cherryusb-0.6.0/class/hub/usb_hub.h | 119 ++ .../cherryusb-0.6.0/class/hub/usbh_hub.c | 595 +++++++ .../cherryusb-0.6.0/class/hub/usbh_hub.h | 29 + .../cherryusb-0.6.0/class/midi/usb_midi.h | 213 +++ .../cherryusb-0.6.0/class/msc/usb_msc.h | 115 ++ .../cherryusb-0.6.0/class/msc/usb_scsi.h | 972 +++++++++++ .../cherryusb-0.6.0/class/msc/usbd_msc.c | 963 +++++++++++ .../cherryusb-0.6.0/class/msc/usbd_msc.h | 28 + .../cherryusb-0.6.0/class/msc/usbh_msc.c | 419 +++++ .../cherryusb-0.6.0/class/msc/usbh_msc.h | 36 + .../cherryusb-0.6.0/class/template/usb_xxx.h | 4 + .../cherryusb-0.6.0/class/template/usbd_xxx.c | 39 + .../cherryusb-0.6.0/class/template/usbd_xxx.h | 16 + .../cherryusb-0.6.0/class/template/usbh_xxx.c | 87 + .../cherryusb-0.6.0/class/template/usbh_xxx.h | 14 + .../cherryusb-0.6.0/class/video/usb_video.h | 1198 +++++++++++++ .../cherryusb-0.6.0/class/video/usbd_video.c | 786 +++++++++ .../cherryusb-0.6.0/class/video/usbd_video.h | 28 + .../cherryusb-0.6.0/class/video/usbh_video.c | 574 +++++++ .../cherryusb-0.6.0/class/video/usbh_video.h | 72 + .../cherryusb-0.6.0/class/wireless/ndis.h | 270 +++ .../class/wireless/rndis_protocol.h | 302 ++++ .../class/wireless/usbd_rndis.c | 559 ++++++ .../class/wireless/usbd_rndis.h | 26 + .../class/wireless/usbh_rndis.c | 393 +++++ .../class/wireless/usbh_rndis.h | 35 + third-party/cherryusb-0.6.0/common/usb_dc.h | 168 ++ third-party/cherryusb-0.6.0/common/usb_def.h | 690 ++++++++ .../cherryusb-0.6.0/common/usb_errno.h | 326 ++++ third-party/cherryusb-0.6.0/common/usb_hc.h | 133 ++ third-party/cherryusb-0.6.0/common/usb_list.h | 459 +++++ third-party/cherryusb-0.6.0/common/usb_log.h | 92 + third-party/cherryusb-0.6.0/common/usb_mem.h | 86 + third-party/cherryusb-0.6.0/common/usb_util.h | 206 +++ third-party/cherryusb-0.6.0/core/usbd_core.c | 982 +++++++++++ third-party/cherryusb-0.6.0/core/usbd_core.h | 82 + third-party/cherryusb-0.6.0/core/usbh_core.c | 805 +++++++++ third-party/cherryusb-0.6.0/core/usbh_core.h | 192 +++ third-party/cherryusb-0.6.0/makefile | 66 + third-party/cherryusb-0.6.0/osal/usb_osal.h | 35 + .../cherryusb-0.6.0/osal/usb_osal_freertos.c | 83 + .../cherryusb-0.6.0/port/xhci/usb_config.h | 137 ++ .../cherryusb-0.6.0/port/xhci/usb_hc_xhci.c | 1511 +++++++++++++++++ .../cherryusb-0.6.0/port/xhci/usb_hc_xhci.h | 197 +++ .../cherryusb-0.6.0/port/xhci/xhci_reg.h | 529 ++++++ third-party/third-party.mk | 8 +- 274 files changed, 26074 insertions(+), 13 deletions(-) create mode 100644 drivers/can/fcan_os.c create mode 100644 drivers/can/fcan_os.h create mode 100644 example/peripheral/can/Kconfig create mode 100644 example/peripheral/can/README.md create mode 100644 example/peripheral/can/configs/d2000_aarch32_eg_configs create mode 100644 example/peripheral/can/configs/d2000_aarch64_eg_configs create mode 100644 example/peripheral/can/configs/e2000d_aarch32_eg_configs create mode 100644 example/peripheral/can/configs/e2000d_aarch64_eg_configs create mode 100644 example/peripheral/can/configs/e2000q_aarch32_eg_configs create mode 100644 example/peripheral/can/configs/e2000q_aarch64_eg_configs create mode 100644 example/peripheral/can/configs/ft2004_aarch32_eg_configs create mode 100644 example/peripheral/can/configs/ft2004_aarch64_eg_configs create mode 100644 example/peripheral/can/figs/create.png create mode 100644 example/peripheral/can/figs/delete.png create mode 100644 example/peripheral/can/inc/can_example.h create mode 100644 example/peripheral/can/main.c create mode 100644 example/peripheral/can/makefile create mode 100644 example/peripheral/can/sdkconfig create mode 100644 example/peripheral/can/sdkconfig.h create mode 100644 example/peripheral/can/src/can_example.c create mode 100644 example/peripheral/usb/cherryusb_host/Kconfig create mode 100644 example/peripheral/usb/cherryusb_host/README.md create mode 100644 example/peripheral/usb/cherryusb_host/configs/e2000d_aarch32_eg_configs create mode 100644 example/peripheral/usb/cherryusb_host/configs/e2000d_aarch64_eg_configs create mode 100644 example/peripheral/usb/cherryusb_host/configs/e2000s_aarch32_eg_configs create mode 100644 example/peripheral/usb/cherryusb_host/configs/e2000s_aarch64_eg_configs create mode 100644 example/peripheral/usb/cherryusb_host/figs/usb_disk_connection.png create mode 100644 example/peripheral/usb/cherryusb_host/figs/usb_disk_init.png create mode 100644 example/peripheral/usb/cherryusb_host/figs/usb_keyboard_connect.jpg create mode 100644 example/peripheral/usb/cherryusb_host/figs/usb_keyboard_input.png create mode 100644 example/peripheral/usb/cherryusb_host/figs/usb_mouse_connect.jpg create mode 100644 example/peripheral/usb/cherryusb_host/figs/usb_mouse_input.png create mode 100644 example/peripheral/usb/cherryusb_host/inc/usb_host.h create mode 100644 example/peripheral/usb/cherryusb_host/main.c create mode 100644 example/peripheral/usb/cherryusb_host/makefile create mode 100644 example/peripheral/usb/cherryusb_host/sdkconfig create mode 100644 example/peripheral/usb/cherryusb_host/sdkconfig.h create mode 100644 example/peripheral/usb/cherryusb_host/src/cmd_usb.c create mode 100644 example/peripheral/usb/cherryusb_host/src/usb_disk.c create mode 100644 example/peripheral/usb/cherryusb_host/src/usb_host.c create mode 100644 example/peripheral/usb/cherryusb_host/src/usb_input.c create mode 100644 third-party/cherryusb-0.6.0/Kconfig create mode 100644 third-party/cherryusb-0.6.0/LICENSE create mode 100644 third-party/cherryusb-0.6.0/README.md create mode 100644 third-party/cherryusb-0.6.0/README_zh.md create mode 100644 third-party/cherryusb-0.6.0/class/audio/usb_audio.h create mode 100644 third-party/cherryusb-0.6.0/class/audio/usbd_audio.c create mode 100644 third-party/cherryusb-0.6.0/class/audio/usbd_audio.h create mode 100644 third-party/cherryusb-0.6.0/class/cdc/usb_cdc.h create mode 100644 third-party/cherryusb-0.6.0/class/cdc/usbd_cdc.c create mode 100644 third-party/cherryusb-0.6.0/class/cdc/usbd_cdc.h create mode 100644 third-party/cherryusb-0.6.0/class/cdc/usbh_cdc_acm.c create mode 100644 third-party/cherryusb-0.6.0/class/cdc/usbh_cdc_acm.h create mode 100644 third-party/cherryusb-0.6.0/class/dfu/usb_dfu.h create mode 100644 third-party/cherryusb-0.6.0/class/dfu/usbd_dfu.c create mode 100644 third-party/cherryusb-0.6.0/class/dfu/usbd_dfu.h create mode 100644 third-party/cherryusb-0.6.0/class/hid/usb_hid.h create mode 100644 third-party/cherryusb-0.6.0/class/hid/usbd_hid.c create mode 100644 third-party/cherryusb-0.6.0/class/hid/usbd_hid.h create mode 100644 third-party/cherryusb-0.6.0/class/hid/usbh_hid.c create mode 100644 third-party/cherryusb-0.6.0/class/hid/usbh_hid.h create mode 100644 third-party/cherryusb-0.6.0/class/hub/usb_hub.h create mode 100644 third-party/cherryusb-0.6.0/class/hub/usbh_hub.c create mode 100644 third-party/cherryusb-0.6.0/class/hub/usbh_hub.h create mode 100644 third-party/cherryusb-0.6.0/class/midi/usb_midi.h create mode 100644 third-party/cherryusb-0.6.0/class/msc/usb_msc.h create mode 100644 third-party/cherryusb-0.6.0/class/msc/usb_scsi.h create mode 100644 third-party/cherryusb-0.6.0/class/msc/usbd_msc.c create mode 100644 third-party/cherryusb-0.6.0/class/msc/usbd_msc.h create mode 100644 third-party/cherryusb-0.6.0/class/msc/usbh_msc.c create mode 100644 third-party/cherryusb-0.6.0/class/msc/usbh_msc.h create mode 100644 third-party/cherryusb-0.6.0/class/template/usb_xxx.h create mode 100644 third-party/cherryusb-0.6.0/class/template/usbd_xxx.c create mode 100644 third-party/cherryusb-0.6.0/class/template/usbd_xxx.h create mode 100644 third-party/cherryusb-0.6.0/class/template/usbh_xxx.c create mode 100644 third-party/cherryusb-0.6.0/class/template/usbh_xxx.h create mode 100644 third-party/cherryusb-0.6.0/class/video/usb_video.h create mode 100644 third-party/cherryusb-0.6.0/class/video/usbd_video.c create mode 100644 third-party/cherryusb-0.6.0/class/video/usbd_video.h create mode 100644 third-party/cherryusb-0.6.0/class/video/usbh_video.c create mode 100644 third-party/cherryusb-0.6.0/class/video/usbh_video.h create mode 100644 third-party/cherryusb-0.6.0/class/wireless/ndis.h create mode 100644 third-party/cherryusb-0.6.0/class/wireless/rndis_protocol.h create mode 100644 third-party/cherryusb-0.6.0/class/wireless/usbd_rndis.c create mode 100644 third-party/cherryusb-0.6.0/class/wireless/usbd_rndis.h create mode 100644 third-party/cherryusb-0.6.0/class/wireless/usbh_rndis.c create mode 100644 third-party/cherryusb-0.6.0/class/wireless/usbh_rndis.h create mode 100644 third-party/cherryusb-0.6.0/common/usb_dc.h create mode 100644 third-party/cherryusb-0.6.0/common/usb_def.h create mode 100644 third-party/cherryusb-0.6.0/common/usb_errno.h create mode 100644 third-party/cherryusb-0.6.0/common/usb_hc.h create mode 100644 third-party/cherryusb-0.6.0/common/usb_list.h create mode 100644 third-party/cherryusb-0.6.0/common/usb_log.h create mode 100644 third-party/cherryusb-0.6.0/common/usb_mem.h create mode 100644 third-party/cherryusb-0.6.0/common/usb_util.h create mode 100644 third-party/cherryusb-0.6.0/core/usbd_core.c create mode 100644 third-party/cherryusb-0.6.0/core/usbd_core.h create mode 100644 third-party/cherryusb-0.6.0/core/usbh_core.c create mode 100644 third-party/cherryusb-0.6.0/core/usbh_core.h create mode 100644 third-party/cherryusb-0.6.0/makefile create mode 100644 third-party/cherryusb-0.6.0/osal/usb_osal.h create mode 100644 third-party/cherryusb-0.6.0/osal/usb_osal_freertos.c create mode 100644 third-party/cherryusb-0.6.0/port/xhci/usb_config.h create mode 100644 third-party/cherryusb-0.6.0/port/xhci/usb_hc_xhci.c create mode 100644 third-party/cherryusb-0.6.0/port/xhci/usb_hc_xhci.h create mode 100644 third-party/cherryusb-0.6.0/port/xhci/xhci_reg.h diff --git a/README.md b/README.md index 187b49a3..8f7213ff 100644 --- a/README.md +++ b/README.md @@ -130,7 +130,7 @@ D2000 是一款面向桌面应用的高性能通用 8 核处理器。每 2 个 | SDIO | E2000 | | mmc/fsdio | | SPI | E2000 | | spi/fspim | | ADC | E2000 | | adc | - +| CAN | FT2000/4
D2000
E2000 | | can | | Third-Party | Platform Supported | Platform Developing | Component | | ------------------------------ | -------------------------- | --------------------------- | ------------------------- | @@ -142,7 +142,7 @@ D2000 是一款面向桌面应用的高性能通用 8 核处理器。每 2 个 | SPIFFS-0.3.7 | FT2000/4
D2000
E2000 | | spiffs-0.3.7 | | TLSF-3.1.0 | FT2000/4
D2000
E2000 | | tlsf-3.1.0 | | Sdmmc-1.0 | E2000 | | sdmmc-1.0 | - +| CherryUSB-0.6.0 | E2000 | | cherryusb-0.5.2 | --- ## 5. 参考资料 diff --git a/docs/ChangeLog.md b/docs/ChangeLog.md index 4a7f0128..26f48142 100644 --- a/docs/ChangeLog.md +++ b/docs/ChangeLog.md @@ -1,3 +1,28 @@ + +# Phytium FreeRTOS SDK 2022-10-10 ChangeLog + +Change Log sinc 2022-09-23 + +## example + +- add cherryusb host example + +## third-party + +- add cherryusb 0.5.2 and port to xhci + +# Phytium FreeRTOS SDK 2022-09-23 ChangeLog + +Change Log sinc 2022-09-15 + +## driver + +- add can os driver + +## example + +- add can test test example + # Phytium FreeRTOS SDK 2022-09-07 ChangeLog Change Log sinc 2022-08-30 diff --git a/drivers/Kconfig b/drivers/Kconfig index 638e5c8d..6496eded 100644 --- a/drivers/Kconfig +++ b/drivers/Kconfig @@ -28,6 +28,8 @@ menu "Freertos Wdt Drivers" bool prompt "Use Freertos wdt driver" default n + select USE_WDT + select USE_FWDT endmenu menu "Freertos Eth Drivers" @@ -77,4 +79,13 @@ menu "Freertos Adc Drivers" default n select USE_ADC select USE_FADC +endmenu + +menu "Freertos Can Drivers" + config FREERTOS_USE_CAN + bool + prompt "Use Freertos can driver" + default n + select USE_CAN + select USE_FCAN endmenu \ No newline at end of file diff --git a/drivers/can/fcan_os.c b/drivers/can/fcan_os.c new file mode 100644 index 00000000..1bece2a4 --- /dev/null +++ b/drivers/can/fcan_os.c @@ -0,0 +1,245 @@ +/* + * Copyright : (C) 2022 Phytium Information Technology, Inc. + * All Rights Reserved. + * + * This program is OPEN SOURCE software: you can redistribute it and/or modify it + * under the terms of the Phytium Public License as published by the Phytium Technology Co.,Ltd, + * either version 1.0 of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful,but WITHOUT ANY WARRANTY; + * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + * See the Phytium Public License for more details. + * + * + * FilePath: fcan_os.c + * Date: 2022-09-15 14:20:19 + * LastEditTime: 2022-09-21 16:59:51 + * Description:  This file is for + * + * Modify History: + * Ver   Who        Date         Changes + * ----- ------     --------    -------------------------------------- + */ +#include +#include +#include +#include +#include "task.h" +#include "ft_types.h" +#include "ft_assert.h" +#include "ft_debug.h" +#include "fcan_os.h" +#include "fcan.h" +#include "interrupt.h" +#include "fcan_hw.h" + +#define FCAN_DEBUG_TAG "FFreeRTOSCan" +#define FCAN_ERROR(format, ...) FT_DEBUG_PRINT_E(FCAN_DEBUG_TAG, format, ##__VA_ARGS__) +#define FCAN_WARN(format, ...) FT_DEBUG_PRINT_W(FCAN_DEBUG_TAG, format, ##__VA_ARGS__) +#define FCAN_INFO(format, ...) FT_DEBUG_PRINT_I(FCAN_DEBUG_TAG, format, ##__VA_ARGS__) +#define FCAN_DEBUG(format, ...) FT_DEBUG_PRINT_D(FCAN_DEBUG_TAG, format, ##__VA_ARGS__) + +static FFreeRTOSCan os_can[FCAN_INSTANCE_NUM] = {0}; + +/** + * @name: FFreeRTOSCanInit + * @msg: init freeRTOS can instance, include init can and create mutex + * @param {u32} instance_id, can instance id + * @return {FFreeRTOSCan *} pointer to os can instance + */ +FFreeRTOSCan *FFreeRTOSCanInit(u32 instance_id) +{ + FASSERT(instance_id < FCAN_INSTANCE_NUM); + FASSERT(FT_COMPONENT_IS_READY != os_can[instance_id].can_ctrl.is_ready); + + FCanConfig pconfig; + pconfig = *FCanLookupConfig(instance_id); + pconfig.irq_prority = FREERTOS_CAN_IRQ_PRIORITY; + + FASSERT(FCanCfgInitialize(&os_can[instance_id].can_ctrl, &pconfig) == FT_SUCCESS); + FASSERT((os_can[instance_id].can_semaphore = xSemaphoreCreateMutex()) != NULL); + + return (&os_can[instance_id]); +} + +/** + * @name: FFreeRTOSCanDeinit + * @msg: deinit freeRTOS can instance, include stop can, deinit can and delete mutex + * @param {FFreeRTOSCan} *os_can_p, pointer to os can instance + * @return err code information, FCAN_SUCCESS indicates success,others indicates failed + */ +FError FFreeRTOSCanDeinit(FFreeRTOSCan *os_can_p) +{ + FASSERT(os_can_p); + FASSERT(os_can_p->can_semaphore != NULL); + + FCanDeInitialize(&os_can_p->can_ctrl); + vSemaphoreDelete(os_can_p->can_semaphore); + memset(os_can_p, 0, sizeof(*os_can_p)); + + return FCAN_SUCCESS; +} + +/** + * @name: FFreeRTOSCanControl + * @msg: control freeRTOS can instance + * @param {FFreeRTOSCan} *os_can_p, pointer to os can instance + * @param {int} cmd, control cmd + * @param {void} *args, pointer to control cmd arguments + * @return err code information, FCAN_SUCCESS indicates success,others indicates failed + */ +FError FFreeRTOSCanControl(FFreeRTOSCan *os_can_p, int cmd, void *arg) +{ + FError ret = FCAN_SUCCESS; + FCanBaudrateConfig *baudrate_config; + FCanStatus *status_p; + FCanIdMaskConfig *id_mask_p; + FCanIntrEventConfig *intr_event_p; + boolean use_canfd; + + /* New contrl can be performed only after current one is finished */ + if (pdFALSE == xSemaphoreTake(os_can_p->can_semaphore, portMAX_DELAY)) + { + FCAN_ERROR("Can xSemaphoreTake failed\r\n"); + /* We could not take the semaphore, exit with 0 data received */ + return FREERTOS_CAN_SEM_ERROR; + } + + switch (cmd) + { + case FREERTOS_CAN_CTRL_ENABLE: + FCanEnable(&os_can_p->can_ctrl, TRUE); + break; + + case FREERTOS_CAN_CTRL_DISABLE: + FCanEnable(&os_can_p->can_ctrl, FALSE); + break; + + case FREERTOS_CAN_CTRL_BAUDRATE_SET: + baudrate_config = (FCanBaudrateConfig *)arg; + ret = FCanBaudrateSet(&os_can_p->can_ctrl, baudrate_config); + break; + + case FREERTOS_CAN_CTRL_STATUS_GET: + status_p = (FCanStatus *)arg; + ret = FCanStatusGet(&os_can_p->can_ctrl, status_p); + break; + + case FREERTOS_CAN_CTRL_ID_MASK_SET: + id_mask_p = (FCanIdMaskConfig *)arg; + ret = FCanIdMaskFilterSet(&os_can_p->can_ctrl, id_mask_p); + break; + + case FREERTOS_CAN_CTRL_ID_MASK_ENABLE: + FCanIdMaskFilterEnable(&os_can_p->can_ctrl); + break; + + case FREERTOS_CAN_CTRL_INTR_SET: + intr_event_p = (FCanIntrEventConfig *)arg; + FCanRegisterInterruptHandler(&os_can_p->can_ctrl, intr_event_p); + FCanInterruptEnable(&os_can_p->can_ctrl, intr_event_p->type); + break; + + case FREERTOS_CAN_CTRL_FD_ENABLE: + use_canfd = (boolean)(uintptr)arg; + FCanFdEnable(&os_can_p->can_ctrl, use_canfd); + break; + default: + FCAN_ERROR("invalid cmd."); + ret = FCAN_INVAL_PARAM; + break; + } + + /* Enable next contrl. Current one is finished */ + if (pdFALSE == xSemaphoreGive(os_can_p->can_semaphore)) + { + /* We could not post the semaphore, exit with error */ + FCAN_ERROR("Can xSemaphoreGive failed\r\n"); + return FREERTOS_CAN_SEM_ERROR; + } + + return ret; + +} + +/** + * @name: FFreeRTOSCanSend + * @msg: send can frame + * @param {FFreeRTOSCan} *os_can_p, pointer to os can instance + * @param {FCanFrame} *frame_p, pointer to can frame + * @return err code information, FCAN_SUCCESS indicates success,others indicates failed + */ +FError FFreeRTOSCanSend(FFreeRTOSCan *os_can_p, FCanFrame *frame_p) +{ + FASSERT(os_can_p); + FASSERT(os_can_p->can_semaphore != NULL); + FASSERT(frame_p); + + FError ret = FCAN_SUCCESS; + + /* New contrl can be performed only after current one is finished */ + if (pdFALSE == xSemaphoreTake(os_can_p->can_semaphore, portMAX_DELAY)) + { + FCAN_ERROR("Can xSemaphoreTake failed\r\n"); + /* We could not take the semaphore, exit with 0 data received */ + return FREERTOS_CAN_SEM_ERROR; + } + + ret = FCanSend(&os_can_p->can_ctrl, frame_p); + if (ret != FCAN_SUCCESS) + { + FCAN_ERROR("Can send failed\r\n"); + } + + /* Enable next contrl. Current one is finished */ + if (pdFALSE == xSemaphoreGive(os_can_p->can_semaphore)) + { + /* We could not post the semaphore, exit with error */ + FCAN_ERROR("Can xSemaphoreGive failed\r\n"); + return FREERTOS_CAN_SEM_ERROR; + } + + return ret; + +} + +/** + * @name: FFreeRTOSCanRecv + * @msg: receive can frame + * @param {FFreeRTOSCan} *os_can_p, pointer to os can instance + * @param {FCanFrame} *frame_p, pointer to can frame + * @return err code information, FCAN_SUCCESS indicates success,others indicates failed + */ +FError FFreeRTOSCanRecv(FFreeRTOSCan *os_can_p, FCanFrame *frame_p) +{ + FASSERT(os_can_p); + FASSERT(os_can_p->can_semaphore != NULL); + FASSERT(frame_p); + + FError ret = FCAN_SUCCESS; + + /* New contrl can be performed only after current one is finished */ + if (pdFALSE == xSemaphoreTake(os_can_p->can_semaphore, portMAX_DELAY)) + { + FCAN_ERROR("Can xSemaphoreTake failed\r\n"); + /* We could not take the semaphore, exit with 0 data received */ + return FREERTOS_CAN_SEM_ERROR; + } + + ret = FCanRecv(&os_can_p->can_ctrl, frame_p); + if (ret != FCAN_SUCCESS) + { + FCAN_ERROR("Can recv failed\r\n"); + } + + /* Enable next contrl. Current one is finished */ + if (pdFALSE == xSemaphoreGive(os_can_p->can_semaphore)) + { + /* We could not post the semaphore, exit with error */ + FCAN_ERROR("Can xSemaphoreGive failed\r\n"); + return FREERTOS_CAN_SEM_ERROR; + } + + return ret; + +} \ No newline at end of file diff --git a/drivers/can/fcan_os.h b/drivers/can/fcan_os.h new file mode 100644 index 00000000..5efca37a --- /dev/null +++ b/drivers/can/fcan_os.h @@ -0,0 +1,77 @@ +/* + * Copyright : (C) 2022 Phytium Information Technology, Inc. + * All Rights Reserved. + * + * This program is OPEN SOURCE software: you can redistribute it and/or modify it + * under the terms of the Phytium Public License as published by the Phytium Technology Co.,Ltd, + * either version 1.0 of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful,but WITHOUT ANY WARRANTY; + * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + * See the Phytium Public License for more details. + * + * + * FilePath: fcan_os.h + * Date: 2022-09-16 11:40:19 + * LastEditTime: 2022-09-21 16:59:58 + * Description:  This file is for + * + * Modify History: + * Ver   Who        Date         Changes + * ----- ------     --------    -------------------------------------- + */ + +#ifndef DRIVERS_FCAN_OS_H +#define DRIVERS_FCAN_OS_H + +#include +#include +#include "ft_error_code.h" +#include "fcan.h" +#include "ft_types.h" + +/* freertos can error */ +#define FREERTOS_CAN_OK FT_SUCCESS +#define FREERTOS_CAN_SEM_ERROR FT_CODE_ERR(ErrModBsp, ErrBspCan, 10) + +/* freertos can interrupt priority */ +#define FREERTOS_CAN_IRQ_PRIORITY IRQ_PRIORITY_VALUE_12 + +/* can control operation */ +enum +{ + FREERTOS_CAN_CTRL_ENABLE = 0, /* enable can */ + FREERTOS_CAN_CTRL_DISABLE = 1, /* disable can */ + FREERTOS_CAN_CTRL_BAUDRATE_SET, /* set can baudrate */ + FREERTOS_CAN_CTRL_STATUS_GET, /* get can status */ + FREERTOS_CAN_CTRL_ID_MASK_SET, /* set can receive id mask */ + FREERTOS_CAN_CTRL_ID_MASK_ENABLE, /* enable can receive id mask */ + FREERTOS_CAN_CTRL_INTR_SET, /* set can interrupt handler */ + FREERTOS_CAN_CTRL_INTR_ENABLE, /* enable can interrupt */ + FREERTOS_CAN_CTRL_FD_ENABLE, /* set can fd enable */ + FREERTOS_CAN_CTRL_NUM +}; + +typedef struct +{ + FCanCtrl can_ctrl; /* can object */ + xSemaphoreHandle can_semaphore; /* can semaphore for resource sharing */ +} FFreeRTOSCan; + +/* init freertos can instance */ +FFreeRTOSCan *FFreeRTOSCanInit(u32 instance_id); + +/* deinit freertos can instance */ +FError FFreeRTOSCanDeinit(FFreeRTOSCan *os_can_p); + +/* can config */ +FError FFreeRTOSCanControl(FFreeRTOSCan *os_can_p, int cmd, void *arg); + +/* can send frame */ +FError FFreeRTOSCanSend(FFreeRTOSCan *os_can_p, FCanFrame *frame_p); + +/* can receive frame */ +FError FFreeRTOSCanRecv(FFreeRTOSCan *os_can_p, FCanFrame *frame_p); + + +#endif // ! diff --git a/drivers/drivers.mk b/drivers/drivers.mk index 3e7da0a8..b169cfe0 100644 --- a/drivers/drivers.mk +++ b/drivers/drivers.mk @@ -55,3 +55,7 @@ ifdef CONFIG_FREERTOS_USE_ADC INC_DIR += $(OS_DRIVER_CUR_DIR)/adc endif +ifdef CONFIG_FREERTOS_USE_CAN + SRC_DIR += $(OS_DRIVER_CUR_DIR)/can + INC_DIR += $(OS_DRIVER_CUR_DIR)/can +endif diff --git a/example/freertos_feature/eventgroup/configs/d2000_aarch32_eg_configs b/example/freertos_feature/eventgroup/configs/d2000_aarch32_eg_configs index 88242621..1f65e320 100644 --- a/example/freertos_feature/eventgroup/configs/d2000_aarch32_eg_configs +++ b/example/freertos_feature/eventgroup/configs/d2000_aarch32_eg_configs @@ -179,6 +179,12 @@ CONFIG_FREERTOS_USE_UART=y # # CONFIG_FREERTOS_USE_ADC is not set # end of Freertos Adc Drivers + +# +# Freertos Can Drivers +# +# CONFIG_FREERTOS_USE_CAN is not set +# end of Freertos Can Drivers # end of Component Configuration # diff --git a/example/freertos_feature/eventgroup/configs/d2000_aarch64_eg_configs b/example/freertos_feature/eventgroup/configs/d2000_aarch64_eg_configs index f7da4f7e..b6f76f4c 100644 --- a/example/freertos_feature/eventgroup/configs/d2000_aarch64_eg_configs +++ b/example/freertos_feature/eventgroup/configs/d2000_aarch64_eg_configs @@ -175,6 +175,12 @@ CONFIG_FREERTOS_USE_UART=y # # CONFIG_FREERTOS_USE_ADC is not set # end of Freertos Adc Drivers + +# +# Freertos Can Drivers +# +# CONFIG_FREERTOS_USE_CAN is not set +# end of Freertos Can Drivers # end of Component Configuration # diff --git a/example/freertos_feature/eventgroup/configs/e2000d_aarch32_eg_configs b/example/freertos_feature/eventgroup/configs/e2000d_aarch32_eg_configs index 1e787231..dcbfaedf 100644 --- a/example/freertos_feature/eventgroup/configs/e2000d_aarch32_eg_configs +++ b/example/freertos_feature/eventgroup/configs/e2000d_aarch32_eg_configs @@ -179,6 +179,12 @@ CONFIG_FREERTOS_USE_UART=y # # CONFIG_FREERTOS_USE_ADC is not set # end of Freertos Adc Drivers + +# +# Freertos Can Drivers +# +# CONFIG_FREERTOS_USE_CAN is not set +# end of Freertos Can Drivers # end of Component Configuration # diff --git a/example/freertos_feature/eventgroup/configs/e2000d_aarch64_eg_configs b/example/freertos_feature/eventgroup/configs/e2000d_aarch64_eg_configs index e1b4974a..7e45bd94 100644 --- a/example/freertos_feature/eventgroup/configs/e2000d_aarch64_eg_configs +++ b/example/freertos_feature/eventgroup/configs/e2000d_aarch64_eg_configs @@ -175,6 +175,12 @@ CONFIG_FREERTOS_USE_UART=y # # CONFIG_FREERTOS_USE_ADC is not set # end of Freertos Adc Drivers + +# +# Freertos Can Drivers +# +# CONFIG_FREERTOS_USE_CAN is not set +# end of Freertos Can Drivers # end of Component Configuration # diff --git a/example/freertos_feature/eventgroup/configs/e2000q_aarch32_eg_configs b/example/freertos_feature/eventgroup/configs/e2000q_aarch32_eg_configs index 8e8a511b..755c27f6 100644 --- a/example/freertos_feature/eventgroup/configs/e2000q_aarch32_eg_configs +++ b/example/freertos_feature/eventgroup/configs/e2000q_aarch32_eg_configs @@ -179,6 +179,12 @@ CONFIG_FREERTOS_USE_UART=y # # CONFIG_FREERTOS_USE_ADC is not set # end of Freertos Adc Drivers + +# +# Freertos Can Drivers +# +# CONFIG_FREERTOS_USE_CAN is not set +# end of Freertos Can Drivers # end of Component Configuration # diff --git a/example/freertos_feature/eventgroup/configs/e2000q_aarch64_eg_configs b/example/freertos_feature/eventgroup/configs/e2000q_aarch64_eg_configs index 11138fc7..bb62840c 100644 --- a/example/freertos_feature/eventgroup/configs/e2000q_aarch64_eg_configs +++ b/example/freertos_feature/eventgroup/configs/e2000q_aarch64_eg_configs @@ -175,6 +175,12 @@ CONFIG_FREERTOS_USE_UART=y # # CONFIG_FREERTOS_USE_ADC is not set # end of Freertos Adc Drivers + +# +# Freertos Can Drivers +# +# CONFIG_FREERTOS_USE_CAN is not set +# end of Freertos Can Drivers # end of Component Configuration # diff --git a/example/freertos_feature/eventgroup/configs/ft2004_aarch32_eg_configs b/example/freertos_feature/eventgroup/configs/ft2004_aarch32_eg_configs index 0138724f..f42811a5 100644 --- a/example/freertos_feature/eventgroup/configs/ft2004_aarch32_eg_configs +++ b/example/freertos_feature/eventgroup/configs/ft2004_aarch32_eg_configs @@ -179,6 +179,12 @@ CONFIG_FREERTOS_USE_UART=y # # CONFIG_FREERTOS_USE_ADC is not set # end of Freertos Adc Drivers + +# +# Freertos Can Drivers +# +# CONFIG_FREERTOS_USE_CAN is not set +# end of Freertos Can Drivers # end of Component Configuration # diff --git a/example/freertos_feature/eventgroup/configs/ft2004_aarch64_eg_configs b/example/freertos_feature/eventgroup/configs/ft2004_aarch64_eg_configs index c9c32f36..e0ec68fb 100644 --- a/example/freertos_feature/eventgroup/configs/ft2004_aarch64_eg_configs +++ b/example/freertos_feature/eventgroup/configs/ft2004_aarch64_eg_configs @@ -175,6 +175,12 @@ CONFIG_FREERTOS_USE_UART=y # # CONFIG_FREERTOS_USE_ADC is not set # end of Freertos Adc Drivers + +# +# Freertos Can Drivers +# +# CONFIG_FREERTOS_USE_CAN is not set +# end of Freertos Can Drivers # end of Component Configuration # diff --git a/example/freertos_feature/eventgroup/sdkconfig b/example/freertos_feature/eventgroup/sdkconfig index 11138fc7..bb62840c 100644 --- a/example/freertos_feature/eventgroup/sdkconfig +++ b/example/freertos_feature/eventgroup/sdkconfig @@ -175,6 +175,12 @@ CONFIG_FREERTOS_USE_UART=y # # CONFIG_FREERTOS_USE_ADC is not set # end of Freertos Adc Drivers + +# +# Freertos Can Drivers +# +# CONFIG_FREERTOS_USE_CAN is not set +# end of Freertos Can Drivers # end of Component Configuration # diff --git a/example/freertos_feature/eventgroup/sdkconfig.h b/example/freertos_feature/eventgroup/sdkconfig.h index 070be669..918ddd1e 100644 --- a/example/freertos_feature/eventgroup/sdkconfig.h +++ b/example/freertos_feature/eventgroup/sdkconfig.h @@ -154,6 +154,11 @@ /* CONFIG_FREERTOS_USE_ADC is not set */ /* end of Freertos Adc Drivers */ + +/* Freertos Can Drivers */ + +/* CONFIG_FREERTOS_USE_CAN is not set */ +/* end of Freertos Can Drivers */ /* end of Component Configuration */ /* FreeRTOS Setting */ diff --git a/example/freertos_feature/interrupt/configs/d2000_aarch32_eg_configs b/example/freertos_feature/interrupt/configs/d2000_aarch32_eg_configs index 88242621..1f65e320 100644 --- a/example/freertos_feature/interrupt/configs/d2000_aarch32_eg_configs +++ b/example/freertos_feature/interrupt/configs/d2000_aarch32_eg_configs @@ -179,6 +179,12 @@ CONFIG_FREERTOS_USE_UART=y # # CONFIG_FREERTOS_USE_ADC is not set # end of Freertos Adc Drivers + +# +# Freertos Can Drivers +# +# CONFIG_FREERTOS_USE_CAN is not set +# end of Freertos Can Drivers # end of Component Configuration # diff --git a/example/freertos_feature/interrupt/configs/d2000_aarch64_eg_configs b/example/freertos_feature/interrupt/configs/d2000_aarch64_eg_configs index f7da4f7e..b6f76f4c 100644 --- a/example/freertos_feature/interrupt/configs/d2000_aarch64_eg_configs +++ b/example/freertos_feature/interrupt/configs/d2000_aarch64_eg_configs @@ -175,6 +175,12 @@ CONFIG_FREERTOS_USE_UART=y # # CONFIG_FREERTOS_USE_ADC is not set # end of Freertos Adc Drivers + +# +# Freertos Can Drivers +# +# CONFIG_FREERTOS_USE_CAN is not set +# end of Freertos Can Drivers # end of Component Configuration # diff --git a/example/freertos_feature/interrupt/configs/e2000d_aarch32_eg_configs b/example/freertos_feature/interrupt/configs/e2000d_aarch32_eg_configs index 1e787231..dcbfaedf 100644 --- a/example/freertos_feature/interrupt/configs/e2000d_aarch32_eg_configs +++ b/example/freertos_feature/interrupt/configs/e2000d_aarch32_eg_configs @@ -179,6 +179,12 @@ CONFIG_FREERTOS_USE_UART=y # # CONFIG_FREERTOS_USE_ADC is not set # end of Freertos Adc Drivers + +# +# Freertos Can Drivers +# +# CONFIG_FREERTOS_USE_CAN is not set +# end of Freertos Can Drivers # end of Component Configuration # diff --git a/example/freertos_feature/interrupt/configs/e2000d_aarch64_eg_configs b/example/freertos_feature/interrupt/configs/e2000d_aarch64_eg_configs index e1b4974a..7e45bd94 100644 --- a/example/freertos_feature/interrupt/configs/e2000d_aarch64_eg_configs +++ b/example/freertos_feature/interrupt/configs/e2000d_aarch64_eg_configs @@ -175,6 +175,12 @@ CONFIG_FREERTOS_USE_UART=y # # CONFIG_FREERTOS_USE_ADC is not set # end of Freertos Adc Drivers + +# +# Freertos Can Drivers +# +# CONFIG_FREERTOS_USE_CAN is not set +# end of Freertos Can Drivers # end of Component Configuration # diff --git a/example/freertos_feature/interrupt/configs/e2000q_aarch32_eg_configs b/example/freertos_feature/interrupt/configs/e2000q_aarch32_eg_configs index 8e8a511b..755c27f6 100644 --- a/example/freertos_feature/interrupt/configs/e2000q_aarch32_eg_configs +++ b/example/freertos_feature/interrupt/configs/e2000q_aarch32_eg_configs @@ -179,6 +179,12 @@ CONFIG_FREERTOS_USE_UART=y # # CONFIG_FREERTOS_USE_ADC is not set # end of Freertos Adc Drivers + +# +# Freertos Can Drivers +# +# CONFIG_FREERTOS_USE_CAN is not set +# end of Freertos Can Drivers # end of Component Configuration # diff --git a/example/freertos_feature/interrupt/configs/e2000q_aarch64_eg_configs b/example/freertos_feature/interrupt/configs/e2000q_aarch64_eg_configs index 11138fc7..bb62840c 100644 --- a/example/freertos_feature/interrupt/configs/e2000q_aarch64_eg_configs +++ b/example/freertos_feature/interrupt/configs/e2000q_aarch64_eg_configs @@ -175,6 +175,12 @@ CONFIG_FREERTOS_USE_UART=y # # CONFIG_FREERTOS_USE_ADC is not set # end of Freertos Adc Drivers + +# +# Freertos Can Drivers +# +# CONFIG_FREERTOS_USE_CAN is not set +# end of Freertos Can Drivers # end of Component Configuration # diff --git a/example/freertos_feature/interrupt/configs/ft2004_aarch32_eg_configs b/example/freertos_feature/interrupt/configs/ft2004_aarch32_eg_configs index 0138724f..f42811a5 100644 --- a/example/freertos_feature/interrupt/configs/ft2004_aarch32_eg_configs +++ b/example/freertos_feature/interrupt/configs/ft2004_aarch32_eg_configs @@ -179,6 +179,12 @@ CONFIG_FREERTOS_USE_UART=y # # CONFIG_FREERTOS_USE_ADC is not set # end of Freertos Adc Drivers + +# +# Freertos Can Drivers +# +# CONFIG_FREERTOS_USE_CAN is not set +# end of Freertos Can Drivers # end of Component Configuration # diff --git a/example/freertos_feature/interrupt/configs/ft2004_aarch64_eg_configs b/example/freertos_feature/interrupt/configs/ft2004_aarch64_eg_configs index c9c32f36..e0ec68fb 100644 --- a/example/freertos_feature/interrupt/configs/ft2004_aarch64_eg_configs +++ b/example/freertos_feature/interrupt/configs/ft2004_aarch64_eg_configs @@ -175,6 +175,12 @@ CONFIG_FREERTOS_USE_UART=y # # CONFIG_FREERTOS_USE_ADC is not set # end of Freertos Adc Drivers + +# +# Freertos Can Drivers +# +# CONFIG_FREERTOS_USE_CAN is not set +# end of Freertos Can Drivers # end of Component Configuration # diff --git a/example/freertos_feature/interrupt/sdkconfig b/example/freertos_feature/interrupt/sdkconfig index 11138fc7..bb62840c 100644 --- a/example/freertos_feature/interrupt/sdkconfig +++ b/example/freertos_feature/interrupt/sdkconfig @@ -175,6 +175,12 @@ CONFIG_FREERTOS_USE_UART=y # # CONFIG_FREERTOS_USE_ADC is not set # end of Freertos Adc Drivers + +# +# Freertos Can Drivers +# +# CONFIG_FREERTOS_USE_CAN is not set +# end of Freertos Can Drivers # end of Component Configuration # diff --git a/example/freertos_feature/interrupt/sdkconfig.h b/example/freertos_feature/interrupt/sdkconfig.h index 070be669..918ddd1e 100644 --- a/example/freertos_feature/interrupt/sdkconfig.h +++ b/example/freertos_feature/interrupt/sdkconfig.h @@ -154,6 +154,11 @@ /* CONFIG_FREERTOS_USE_ADC is not set */ /* end of Freertos Adc Drivers */ + +/* Freertos Can Drivers */ + +/* CONFIG_FREERTOS_USE_CAN is not set */ +/* end of Freertos Can Drivers */ /* end of Component Configuration */ /* FreeRTOS Setting */ diff --git a/example/freertos_feature/queue/configs/d2000_aarch32_eg_configs b/example/freertos_feature/queue/configs/d2000_aarch32_eg_configs index 88242621..1f65e320 100644 --- a/example/freertos_feature/queue/configs/d2000_aarch32_eg_configs +++ b/example/freertos_feature/queue/configs/d2000_aarch32_eg_configs @@ -179,6 +179,12 @@ CONFIG_FREERTOS_USE_UART=y # # CONFIG_FREERTOS_USE_ADC is not set # end of Freertos Adc Drivers + +# +# Freertos Can Drivers +# +# CONFIG_FREERTOS_USE_CAN is not set +# end of Freertos Can Drivers # end of Component Configuration # diff --git a/example/freertos_feature/queue/configs/d2000_aarch64_eg_configs b/example/freertos_feature/queue/configs/d2000_aarch64_eg_configs index f7da4f7e..b6f76f4c 100644 --- a/example/freertos_feature/queue/configs/d2000_aarch64_eg_configs +++ b/example/freertos_feature/queue/configs/d2000_aarch64_eg_configs @@ -175,6 +175,12 @@ CONFIG_FREERTOS_USE_UART=y # # CONFIG_FREERTOS_USE_ADC is not set # end of Freertos Adc Drivers + +# +# Freertos Can Drivers +# +# CONFIG_FREERTOS_USE_CAN is not set +# end of Freertos Can Drivers # end of Component Configuration # diff --git a/example/freertos_feature/queue/configs/e2000d_aarch32_eg_configs b/example/freertos_feature/queue/configs/e2000d_aarch32_eg_configs index 1e787231..dcbfaedf 100644 --- a/example/freertos_feature/queue/configs/e2000d_aarch32_eg_configs +++ b/example/freertos_feature/queue/configs/e2000d_aarch32_eg_configs @@ -179,6 +179,12 @@ CONFIG_FREERTOS_USE_UART=y # # CONFIG_FREERTOS_USE_ADC is not set # end of Freertos Adc Drivers + +# +# Freertos Can Drivers +# +# CONFIG_FREERTOS_USE_CAN is not set +# end of Freertos Can Drivers # end of Component Configuration # diff --git a/example/freertos_feature/queue/configs/e2000d_aarch64_eg_configs b/example/freertos_feature/queue/configs/e2000d_aarch64_eg_configs index e1b4974a..7e45bd94 100644 --- a/example/freertos_feature/queue/configs/e2000d_aarch64_eg_configs +++ b/example/freertos_feature/queue/configs/e2000d_aarch64_eg_configs @@ -175,6 +175,12 @@ CONFIG_FREERTOS_USE_UART=y # # CONFIG_FREERTOS_USE_ADC is not set # end of Freertos Adc Drivers + +# +# Freertos Can Drivers +# +# CONFIG_FREERTOS_USE_CAN is not set +# end of Freertos Can Drivers # end of Component Configuration # diff --git a/example/freertos_feature/queue/configs/e2000q_aarch32_eg_configs b/example/freertos_feature/queue/configs/e2000q_aarch32_eg_configs index 8e8a511b..755c27f6 100644 --- a/example/freertos_feature/queue/configs/e2000q_aarch32_eg_configs +++ b/example/freertos_feature/queue/configs/e2000q_aarch32_eg_configs @@ -179,6 +179,12 @@ CONFIG_FREERTOS_USE_UART=y # # CONFIG_FREERTOS_USE_ADC is not set # end of Freertos Adc Drivers + +# +# Freertos Can Drivers +# +# CONFIG_FREERTOS_USE_CAN is not set +# end of Freertos Can Drivers # end of Component Configuration # diff --git a/example/freertos_feature/queue/configs/e2000q_aarch64_eg_configs b/example/freertos_feature/queue/configs/e2000q_aarch64_eg_configs index 11138fc7..bb62840c 100644 --- a/example/freertos_feature/queue/configs/e2000q_aarch64_eg_configs +++ b/example/freertos_feature/queue/configs/e2000q_aarch64_eg_configs @@ -175,6 +175,12 @@ CONFIG_FREERTOS_USE_UART=y # # CONFIG_FREERTOS_USE_ADC is not set # end of Freertos Adc Drivers + +# +# Freertos Can Drivers +# +# CONFIG_FREERTOS_USE_CAN is not set +# end of Freertos Can Drivers # end of Component Configuration # diff --git a/example/freertos_feature/queue/configs/ft2004_aarch32_eg_configs b/example/freertos_feature/queue/configs/ft2004_aarch32_eg_configs index 0138724f..f42811a5 100644 --- a/example/freertos_feature/queue/configs/ft2004_aarch32_eg_configs +++ b/example/freertos_feature/queue/configs/ft2004_aarch32_eg_configs @@ -179,6 +179,12 @@ CONFIG_FREERTOS_USE_UART=y # # CONFIG_FREERTOS_USE_ADC is not set # end of Freertos Adc Drivers + +# +# Freertos Can Drivers +# +# CONFIG_FREERTOS_USE_CAN is not set +# end of Freertos Can Drivers # end of Component Configuration # diff --git a/example/freertos_feature/queue/configs/ft2004_aarch64_eg_configs b/example/freertos_feature/queue/configs/ft2004_aarch64_eg_configs index c9c32f36..e0ec68fb 100644 --- a/example/freertos_feature/queue/configs/ft2004_aarch64_eg_configs +++ b/example/freertos_feature/queue/configs/ft2004_aarch64_eg_configs @@ -175,6 +175,12 @@ CONFIG_FREERTOS_USE_UART=y # # CONFIG_FREERTOS_USE_ADC is not set # end of Freertos Adc Drivers + +# +# Freertos Can Drivers +# +# CONFIG_FREERTOS_USE_CAN is not set +# end of Freertos Can Drivers # end of Component Configuration # diff --git a/example/freertos_feature/queue/sdkconfig b/example/freertos_feature/queue/sdkconfig index 11138fc7..bb62840c 100644 --- a/example/freertos_feature/queue/sdkconfig +++ b/example/freertos_feature/queue/sdkconfig @@ -175,6 +175,12 @@ CONFIG_FREERTOS_USE_UART=y # # CONFIG_FREERTOS_USE_ADC is not set # end of Freertos Adc Drivers + +# +# Freertos Can Drivers +# +# CONFIG_FREERTOS_USE_CAN is not set +# end of Freertos Can Drivers # end of Component Configuration # diff --git a/example/freertos_feature/queue/sdkconfig.h b/example/freertos_feature/queue/sdkconfig.h index 070be669..918ddd1e 100644 --- a/example/freertos_feature/queue/sdkconfig.h +++ b/example/freertos_feature/queue/sdkconfig.h @@ -154,6 +154,11 @@ /* CONFIG_FREERTOS_USE_ADC is not set */ /* end of Freertos Adc Drivers */ + +/* Freertos Can Drivers */ + +/* CONFIG_FREERTOS_USE_CAN is not set */ +/* end of Freertos Can Drivers */ /* end of Component Configuration */ /* FreeRTOS Setting */ diff --git a/example/freertos_feature/resource/configs/d2000_aarch32_eg_configs b/example/freertos_feature/resource/configs/d2000_aarch32_eg_configs index 88242621..1f65e320 100644 --- a/example/freertos_feature/resource/configs/d2000_aarch32_eg_configs +++ b/example/freertos_feature/resource/configs/d2000_aarch32_eg_configs @@ -179,6 +179,12 @@ CONFIG_FREERTOS_USE_UART=y # # CONFIG_FREERTOS_USE_ADC is not set # end of Freertos Adc Drivers + +# +# Freertos Can Drivers +# +# CONFIG_FREERTOS_USE_CAN is not set +# end of Freertos Can Drivers # end of Component Configuration # diff --git a/example/freertos_feature/resource/configs/d2000_aarch64_eg_configs b/example/freertos_feature/resource/configs/d2000_aarch64_eg_configs index f7da4f7e..b6f76f4c 100644 --- a/example/freertos_feature/resource/configs/d2000_aarch64_eg_configs +++ b/example/freertos_feature/resource/configs/d2000_aarch64_eg_configs @@ -175,6 +175,12 @@ CONFIG_FREERTOS_USE_UART=y # # CONFIG_FREERTOS_USE_ADC is not set # end of Freertos Adc Drivers + +# +# Freertos Can Drivers +# +# CONFIG_FREERTOS_USE_CAN is not set +# end of Freertos Can Drivers # end of Component Configuration # diff --git a/example/freertos_feature/resource/configs/e2000d_aarch32_eg_configs b/example/freertos_feature/resource/configs/e2000d_aarch32_eg_configs index 1e787231..dcbfaedf 100644 --- a/example/freertos_feature/resource/configs/e2000d_aarch32_eg_configs +++ b/example/freertos_feature/resource/configs/e2000d_aarch32_eg_configs @@ -179,6 +179,12 @@ CONFIG_FREERTOS_USE_UART=y # # CONFIG_FREERTOS_USE_ADC is not set # end of Freertos Adc Drivers + +# +# Freertos Can Drivers +# +# CONFIG_FREERTOS_USE_CAN is not set +# end of Freertos Can Drivers # end of Component Configuration # diff --git a/example/freertos_feature/resource/configs/e2000d_aarch64_eg_configs b/example/freertos_feature/resource/configs/e2000d_aarch64_eg_configs index e1b4974a..7e45bd94 100644 --- a/example/freertos_feature/resource/configs/e2000d_aarch64_eg_configs +++ b/example/freertos_feature/resource/configs/e2000d_aarch64_eg_configs @@ -175,6 +175,12 @@ CONFIG_FREERTOS_USE_UART=y # # CONFIG_FREERTOS_USE_ADC is not set # end of Freertos Adc Drivers + +# +# Freertos Can Drivers +# +# CONFIG_FREERTOS_USE_CAN is not set +# end of Freertos Can Drivers # end of Component Configuration # diff --git a/example/freertos_feature/resource/configs/e2000q_aarch32_eg_configs b/example/freertos_feature/resource/configs/e2000q_aarch32_eg_configs index 8e8a511b..755c27f6 100644 --- a/example/freertos_feature/resource/configs/e2000q_aarch32_eg_configs +++ b/example/freertos_feature/resource/configs/e2000q_aarch32_eg_configs @@ -179,6 +179,12 @@ CONFIG_FREERTOS_USE_UART=y # # CONFIG_FREERTOS_USE_ADC is not set # end of Freertos Adc Drivers + +# +# Freertos Can Drivers +# +# CONFIG_FREERTOS_USE_CAN is not set +# end of Freertos Can Drivers # end of Component Configuration # diff --git a/example/freertos_feature/resource/configs/e2000q_aarch64_eg_configs b/example/freertos_feature/resource/configs/e2000q_aarch64_eg_configs index 11138fc7..bb62840c 100644 --- a/example/freertos_feature/resource/configs/e2000q_aarch64_eg_configs +++ b/example/freertos_feature/resource/configs/e2000q_aarch64_eg_configs @@ -175,6 +175,12 @@ CONFIG_FREERTOS_USE_UART=y # # CONFIG_FREERTOS_USE_ADC is not set # end of Freertos Adc Drivers + +# +# Freertos Can Drivers +# +# CONFIG_FREERTOS_USE_CAN is not set +# end of Freertos Can Drivers # end of Component Configuration # diff --git a/example/freertos_feature/resource/configs/ft2004_aarch32_eg_configs b/example/freertos_feature/resource/configs/ft2004_aarch32_eg_configs index 0138724f..f42811a5 100644 --- a/example/freertos_feature/resource/configs/ft2004_aarch32_eg_configs +++ b/example/freertos_feature/resource/configs/ft2004_aarch32_eg_configs @@ -179,6 +179,12 @@ CONFIG_FREERTOS_USE_UART=y # # CONFIG_FREERTOS_USE_ADC is not set # end of Freertos Adc Drivers + +# +# Freertos Can Drivers +# +# CONFIG_FREERTOS_USE_CAN is not set +# end of Freertos Can Drivers # end of Component Configuration # diff --git a/example/freertos_feature/resource/configs/ft2004_aarch64_eg_configs b/example/freertos_feature/resource/configs/ft2004_aarch64_eg_configs index c9c32f36..e0ec68fb 100644 --- a/example/freertos_feature/resource/configs/ft2004_aarch64_eg_configs +++ b/example/freertos_feature/resource/configs/ft2004_aarch64_eg_configs @@ -175,6 +175,12 @@ CONFIG_FREERTOS_USE_UART=y # # CONFIG_FREERTOS_USE_ADC is not set # end of Freertos Adc Drivers + +# +# Freertos Can Drivers +# +# CONFIG_FREERTOS_USE_CAN is not set +# end of Freertos Can Drivers # end of Component Configuration # diff --git a/example/freertos_feature/resource/sdkconfig b/example/freertos_feature/resource/sdkconfig index 11138fc7..bb62840c 100644 --- a/example/freertos_feature/resource/sdkconfig +++ b/example/freertos_feature/resource/sdkconfig @@ -175,6 +175,12 @@ CONFIG_FREERTOS_USE_UART=y # # CONFIG_FREERTOS_USE_ADC is not set # end of Freertos Adc Drivers + +# +# Freertos Can Drivers +# +# CONFIG_FREERTOS_USE_CAN is not set +# end of Freertos Can Drivers # end of Component Configuration # diff --git a/example/freertos_feature/resource/sdkconfig.h b/example/freertos_feature/resource/sdkconfig.h index 070be669..918ddd1e 100644 --- a/example/freertos_feature/resource/sdkconfig.h +++ b/example/freertos_feature/resource/sdkconfig.h @@ -154,6 +154,11 @@ /* CONFIG_FREERTOS_USE_ADC is not set */ /* end of Freertos Adc Drivers */ + +/* Freertos Can Drivers */ + +/* CONFIG_FREERTOS_USE_CAN is not set */ +/* end of Freertos Can Drivers */ /* end of Component Configuration */ /* FreeRTOS Setting */ diff --git a/example/freertos_feature/software_timer/configs/d2000_aarch32_eg_configs b/example/freertos_feature/software_timer/configs/d2000_aarch32_eg_configs index 88242621..1f65e320 100644 --- a/example/freertos_feature/software_timer/configs/d2000_aarch32_eg_configs +++ b/example/freertos_feature/software_timer/configs/d2000_aarch32_eg_configs @@ -179,6 +179,12 @@ CONFIG_FREERTOS_USE_UART=y # # CONFIG_FREERTOS_USE_ADC is not set # end of Freertos Adc Drivers + +# +# Freertos Can Drivers +# +# CONFIG_FREERTOS_USE_CAN is not set +# end of Freertos Can Drivers # end of Component Configuration # diff --git a/example/freertos_feature/software_timer/configs/d2000_aarch64_eg_configs b/example/freertos_feature/software_timer/configs/d2000_aarch64_eg_configs index f7da4f7e..b6f76f4c 100644 --- a/example/freertos_feature/software_timer/configs/d2000_aarch64_eg_configs +++ b/example/freertos_feature/software_timer/configs/d2000_aarch64_eg_configs @@ -175,6 +175,12 @@ CONFIG_FREERTOS_USE_UART=y # # CONFIG_FREERTOS_USE_ADC is not set # end of Freertos Adc Drivers + +# +# Freertos Can Drivers +# +# CONFIG_FREERTOS_USE_CAN is not set +# end of Freertos Can Drivers # end of Component Configuration # diff --git a/example/freertos_feature/software_timer/configs/e2000d_aarch32_eg_configs b/example/freertos_feature/software_timer/configs/e2000d_aarch32_eg_configs index 1e787231..dcbfaedf 100644 --- a/example/freertos_feature/software_timer/configs/e2000d_aarch32_eg_configs +++ b/example/freertos_feature/software_timer/configs/e2000d_aarch32_eg_configs @@ -179,6 +179,12 @@ CONFIG_FREERTOS_USE_UART=y # # CONFIG_FREERTOS_USE_ADC is not set # end of Freertos Adc Drivers + +# +# Freertos Can Drivers +# +# CONFIG_FREERTOS_USE_CAN is not set +# end of Freertos Can Drivers # end of Component Configuration # diff --git a/example/freertos_feature/software_timer/configs/e2000d_aarch64_eg_configs b/example/freertos_feature/software_timer/configs/e2000d_aarch64_eg_configs index e1b4974a..7e45bd94 100644 --- a/example/freertos_feature/software_timer/configs/e2000d_aarch64_eg_configs +++ b/example/freertos_feature/software_timer/configs/e2000d_aarch64_eg_configs @@ -175,6 +175,12 @@ CONFIG_FREERTOS_USE_UART=y # # CONFIG_FREERTOS_USE_ADC is not set # end of Freertos Adc Drivers + +# +# Freertos Can Drivers +# +# CONFIG_FREERTOS_USE_CAN is not set +# end of Freertos Can Drivers # end of Component Configuration # diff --git a/example/freertos_feature/software_timer/configs/e2000q_aarch32_eg_configs b/example/freertos_feature/software_timer/configs/e2000q_aarch32_eg_configs index 8e8a511b..755c27f6 100644 --- a/example/freertos_feature/software_timer/configs/e2000q_aarch32_eg_configs +++ b/example/freertos_feature/software_timer/configs/e2000q_aarch32_eg_configs @@ -179,6 +179,12 @@ CONFIG_FREERTOS_USE_UART=y # # CONFIG_FREERTOS_USE_ADC is not set # end of Freertos Adc Drivers + +# +# Freertos Can Drivers +# +# CONFIG_FREERTOS_USE_CAN is not set +# end of Freertos Can Drivers # end of Component Configuration # diff --git a/example/freertos_feature/software_timer/configs/e2000q_aarch64_eg_configs b/example/freertos_feature/software_timer/configs/e2000q_aarch64_eg_configs index 11138fc7..bb62840c 100644 --- a/example/freertos_feature/software_timer/configs/e2000q_aarch64_eg_configs +++ b/example/freertos_feature/software_timer/configs/e2000q_aarch64_eg_configs @@ -175,6 +175,12 @@ CONFIG_FREERTOS_USE_UART=y # # CONFIG_FREERTOS_USE_ADC is not set # end of Freertos Adc Drivers + +# +# Freertos Can Drivers +# +# CONFIG_FREERTOS_USE_CAN is not set +# end of Freertos Can Drivers # end of Component Configuration # diff --git a/example/freertos_feature/software_timer/configs/ft2004_aarch32_eg_configs b/example/freertos_feature/software_timer/configs/ft2004_aarch32_eg_configs index 0138724f..f42811a5 100644 --- a/example/freertos_feature/software_timer/configs/ft2004_aarch32_eg_configs +++ b/example/freertos_feature/software_timer/configs/ft2004_aarch32_eg_configs @@ -179,6 +179,12 @@ CONFIG_FREERTOS_USE_UART=y # # CONFIG_FREERTOS_USE_ADC is not set # end of Freertos Adc Drivers + +# +# Freertos Can Drivers +# +# CONFIG_FREERTOS_USE_CAN is not set +# end of Freertos Can Drivers # end of Component Configuration # diff --git a/example/freertos_feature/software_timer/configs/ft2004_aarch64_eg_configs b/example/freertos_feature/software_timer/configs/ft2004_aarch64_eg_configs index c9c32f36..e0ec68fb 100644 --- a/example/freertos_feature/software_timer/configs/ft2004_aarch64_eg_configs +++ b/example/freertos_feature/software_timer/configs/ft2004_aarch64_eg_configs @@ -175,6 +175,12 @@ CONFIG_FREERTOS_USE_UART=y # # CONFIG_FREERTOS_USE_ADC is not set # end of Freertos Adc Drivers + +# +# Freertos Can Drivers +# +# CONFIG_FREERTOS_USE_CAN is not set +# end of Freertos Can Drivers # end of Component Configuration # diff --git a/example/freertos_feature/software_timer/sdkconfig b/example/freertos_feature/software_timer/sdkconfig index 11138fc7..bb62840c 100644 --- a/example/freertos_feature/software_timer/sdkconfig +++ b/example/freertos_feature/software_timer/sdkconfig @@ -175,6 +175,12 @@ CONFIG_FREERTOS_USE_UART=y # # CONFIG_FREERTOS_USE_ADC is not set # end of Freertos Adc Drivers + +# +# Freertos Can Drivers +# +# CONFIG_FREERTOS_USE_CAN is not set +# end of Freertos Can Drivers # end of Component Configuration # diff --git a/example/freertos_feature/software_timer/sdkconfig.h b/example/freertos_feature/software_timer/sdkconfig.h index 070be669..918ddd1e 100644 --- a/example/freertos_feature/software_timer/sdkconfig.h +++ b/example/freertos_feature/software_timer/sdkconfig.h @@ -154,6 +154,11 @@ /* CONFIG_FREERTOS_USE_ADC is not set */ /* end of Freertos Adc Drivers */ + +/* Freertos Can Drivers */ + +/* CONFIG_FREERTOS_USE_CAN is not set */ +/* end of Freertos Can Drivers */ /* end of Component Configuration */ /* FreeRTOS Setting */ diff --git a/example/freertos_feature/task/configs/d2000_aarch32_eg_configs b/example/freertos_feature/task/configs/d2000_aarch32_eg_configs index 88242621..1f65e320 100644 --- a/example/freertos_feature/task/configs/d2000_aarch32_eg_configs +++ b/example/freertos_feature/task/configs/d2000_aarch32_eg_configs @@ -179,6 +179,12 @@ CONFIG_FREERTOS_USE_UART=y # # CONFIG_FREERTOS_USE_ADC is not set # end of Freertos Adc Drivers + +# +# Freertos Can Drivers +# +# CONFIG_FREERTOS_USE_CAN is not set +# end of Freertos Can Drivers # end of Component Configuration # diff --git a/example/freertos_feature/task/configs/d2000_aarch64_eg_configs b/example/freertos_feature/task/configs/d2000_aarch64_eg_configs index f7da4f7e..b6f76f4c 100644 --- a/example/freertos_feature/task/configs/d2000_aarch64_eg_configs +++ b/example/freertos_feature/task/configs/d2000_aarch64_eg_configs @@ -175,6 +175,12 @@ CONFIG_FREERTOS_USE_UART=y # # CONFIG_FREERTOS_USE_ADC is not set # end of Freertos Adc Drivers + +# +# Freertos Can Drivers +# +# CONFIG_FREERTOS_USE_CAN is not set +# end of Freertos Can Drivers # end of Component Configuration # diff --git a/example/freertos_feature/task/configs/e2000d_aarch32_eg_configs b/example/freertos_feature/task/configs/e2000d_aarch32_eg_configs index 1e787231..dcbfaedf 100644 --- a/example/freertos_feature/task/configs/e2000d_aarch32_eg_configs +++ b/example/freertos_feature/task/configs/e2000d_aarch32_eg_configs @@ -179,6 +179,12 @@ CONFIG_FREERTOS_USE_UART=y # # CONFIG_FREERTOS_USE_ADC is not set # end of Freertos Adc Drivers + +# +# Freertos Can Drivers +# +# CONFIG_FREERTOS_USE_CAN is not set +# end of Freertos Can Drivers # end of Component Configuration # diff --git a/example/freertos_feature/task/configs/e2000d_aarch64_eg_configs b/example/freertos_feature/task/configs/e2000d_aarch64_eg_configs index e1b4974a..7e45bd94 100644 --- a/example/freertos_feature/task/configs/e2000d_aarch64_eg_configs +++ b/example/freertos_feature/task/configs/e2000d_aarch64_eg_configs @@ -175,6 +175,12 @@ CONFIG_FREERTOS_USE_UART=y # # CONFIG_FREERTOS_USE_ADC is not set # end of Freertos Adc Drivers + +# +# Freertos Can Drivers +# +# CONFIG_FREERTOS_USE_CAN is not set +# end of Freertos Can Drivers # end of Component Configuration # diff --git a/example/freertos_feature/task/configs/e2000q_aarch32_eg_configs b/example/freertos_feature/task/configs/e2000q_aarch32_eg_configs index 5a475700..762f633f 100644 --- a/example/freertos_feature/task/configs/e2000q_aarch32_eg_configs +++ b/example/freertos_feature/task/configs/e2000q_aarch32_eg_configs @@ -179,6 +179,12 @@ CONFIG_FREERTOS_USE_UART=y # # CONFIG_FREERTOS_USE_ADC is not set # end of Freertos Adc Drivers + +# +# Freertos Can Drivers +# +# CONFIG_FREERTOS_USE_CAN is not set +# end of Freertos Can Drivers # end of Component Configuration # diff --git a/example/freertos_feature/task/configs/e2000q_aarch64_eg_configs b/example/freertos_feature/task/configs/e2000q_aarch64_eg_configs index 666dd899..be71262a 100644 --- a/example/freertos_feature/task/configs/e2000q_aarch64_eg_configs +++ b/example/freertos_feature/task/configs/e2000q_aarch64_eg_configs @@ -175,6 +175,12 @@ CONFIG_FREERTOS_USE_UART=y # # CONFIG_FREERTOS_USE_ADC is not set # end of Freertos Adc Drivers + +# +# Freertos Can Drivers +# +# CONFIG_FREERTOS_USE_CAN is not set +# end of Freertos Can Drivers # end of Component Configuration # diff --git a/example/freertos_feature/task/configs/ft2004_aarch32_eg_configs b/example/freertos_feature/task/configs/ft2004_aarch32_eg_configs index 0138724f..f42811a5 100644 --- a/example/freertos_feature/task/configs/ft2004_aarch32_eg_configs +++ b/example/freertos_feature/task/configs/ft2004_aarch32_eg_configs @@ -179,6 +179,12 @@ CONFIG_FREERTOS_USE_UART=y # # CONFIG_FREERTOS_USE_ADC is not set # end of Freertos Adc Drivers + +# +# Freertos Can Drivers +# +# CONFIG_FREERTOS_USE_CAN is not set +# end of Freertos Can Drivers # end of Component Configuration # diff --git a/example/freertos_feature/task/configs/ft2004_aarch64_eg_configs b/example/freertos_feature/task/configs/ft2004_aarch64_eg_configs index c9c32f36..e0ec68fb 100644 --- a/example/freertos_feature/task/configs/ft2004_aarch64_eg_configs +++ b/example/freertos_feature/task/configs/ft2004_aarch64_eg_configs @@ -175,6 +175,12 @@ CONFIG_FREERTOS_USE_UART=y # # CONFIG_FREERTOS_USE_ADC is not set # end of Freertos Adc Drivers + +# +# Freertos Can Drivers +# +# CONFIG_FREERTOS_USE_CAN is not set +# end of Freertos Can Drivers # end of Component Configuration # diff --git a/example/freertos_feature/task/sdkconfig b/example/freertos_feature/task/sdkconfig index 666dd899..be71262a 100644 --- a/example/freertos_feature/task/sdkconfig +++ b/example/freertos_feature/task/sdkconfig @@ -175,6 +175,12 @@ CONFIG_FREERTOS_USE_UART=y # # CONFIG_FREERTOS_USE_ADC is not set # end of Freertos Adc Drivers + +# +# Freertos Can Drivers +# +# CONFIG_FREERTOS_USE_CAN is not set +# end of Freertos Can Drivers # end of Component Configuration # diff --git a/example/freertos_feature/task/sdkconfig.h b/example/freertos_feature/task/sdkconfig.h index 6e37ce68..c67c992e 100644 --- a/example/freertos_feature/task/sdkconfig.h +++ b/example/freertos_feature/task/sdkconfig.h @@ -154,6 +154,11 @@ /* CONFIG_FREERTOS_USE_ADC is not set */ /* end of Freertos Adc Drivers */ + +/* Freertos Can Drivers */ + +/* CONFIG_FREERTOS_USE_CAN is not set */ +/* end of Freertos Can Drivers */ /* end of Component Configuration */ /* FreeRTOS Setting */ diff --git a/example/freertos_feature/task_notify/configs/d2000_aarch32_eg_configs b/example/freertos_feature/task_notify/configs/d2000_aarch32_eg_configs index 88242621..1f65e320 100644 --- a/example/freertos_feature/task_notify/configs/d2000_aarch32_eg_configs +++ b/example/freertos_feature/task_notify/configs/d2000_aarch32_eg_configs @@ -179,6 +179,12 @@ CONFIG_FREERTOS_USE_UART=y # # CONFIG_FREERTOS_USE_ADC is not set # end of Freertos Adc Drivers + +# +# Freertos Can Drivers +# +# CONFIG_FREERTOS_USE_CAN is not set +# end of Freertos Can Drivers # end of Component Configuration # diff --git a/example/freertos_feature/task_notify/configs/d2000_aarch64_eg_configs b/example/freertos_feature/task_notify/configs/d2000_aarch64_eg_configs index f7da4f7e..b6f76f4c 100644 --- a/example/freertos_feature/task_notify/configs/d2000_aarch64_eg_configs +++ b/example/freertos_feature/task_notify/configs/d2000_aarch64_eg_configs @@ -175,6 +175,12 @@ CONFIG_FREERTOS_USE_UART=y # # CONFIG_FREERTOS_USE_ADC is not set # end of Freertos Adc Drivers + +# +# Freertos Can Drivers +# +# CONFIG_FREERTOS_USE_CAN is not set +# end of Freertos Can Drivers # end of Component Configuration # diff --git a/example/freertos_feature/task_notify/configs/e2000d_aarch32_eg_configs b/example/freertos_feature/task_notify/configs/e2000d_aarch32_eg_configs index 1e787231..dcbfaedf 100644 --- a/example/freertos_feature/task_notify/configs/e2000d_aarch32_eg_configs +++ b/example/freertos_feature/task_notify/configs/e2000d_aarch32_eg_configs @@ -179,6 +179,12 @@ CONFIG_FREERTOS_USE_UART=y # # CONFIG_FREERTOS_USE_ADC is not set # end of Freertos Adc Drivers + +# +# Freertos Can Drivers +# +# CONFIG_FREERTOS_USE_CAN is not set +# end of Freertos Can Drivers # end of Component Configuration # diff --git a/example/freertos_feature/task_notify/configs/e2000d_aarch64_eg_configs b/example/freertos_feature/task_notify/configs/e2000d_aarch64_eg_configs index e1b4974a..7e45bd94 100644 --- a/example/freertos_feature/task_notify/configs/e2000d_aarch64_eg_configs +++ b/example/freertos_feature/task_notify/configs/e2000d_aarch64_eg_configs @@ -175,6 +175,12 @@ CONFIG_FREERTOS_USE_UART=y # # CONFIG_FREERTOS_USE_ADC is not set # end of Freertos Adc Drivers + +# +# Freertos Can Drivers +# +# CONFIG_FREERTOS_USE_CAN is not set +# end of Freertos Can Drivers # end of Component Configuration # diff --git a/example/freertos_feature/task_notify/configs/e2000q_aarch32_eg_configs b/example/freertos_feature/task_notify/configs/e2000q_aarch32_eg_configs index 8e8a511b..755c27f6 100644 --- a/example/freertos_feature/task_notify/configs/e2000q_aarch32_eg_configs +++ b/example/freertos_feature/task_notify/configs/e2000q_aarch32_eg_configs @@ -179,6 +179,12 @@ CONFIG_FREERTOS_USE_UART=y # # CONFIG_FREERTOS_USE_ADC is not set # end of Freertos Adc Drivers + +# +# Freertos Can Drivers +# +# CONFIG_FREERTOS_USE_CAN is not set +# end of Freertos Can Drivers # end of Component Configuration # diff --git a/example/freertos_feature/task_notify/configs/e2000q_aarch64_eg_configs b/example/freertos_feature/task_notify/configs/e2000q_aarch64_eg_configs index 11138fc7..bb62840c 100644 --- a/example/freertos_feature/task_notify/configs/e2000q_aarch64_eg_configs +++ b/example/freertos_feature/task_notify/configs/e2000q_aarch64_eg_configs @@ -175,6 +175,12 @@ CONFIG_FREERTOS_USE_UART=y # # CONFIG_FREERTOS_USE_ADC is not set # end of Freertos Adc Drivers + +# +# Freertos Can Drivers +# +# CONFIG_FREERTOS_USE_CAN is not set +# end of Freertos Can Drivers # end of Component Configuration # diff --git a/example/freertos_feature/task_notify/configs/ft2004_aarch32_eg_configs b/example/freertos_feature/task_notify/configs/ft2004_aarch32_eg_configs index 0138724f..f42811a5 100644 --- a/example/freertos_feature/task_notify/configs/ft2004_aarch32_eg_configs +++ b/example/freertos_feature/task_notify/configs/ft2004_aarch32_eg_configs @@ -179,6 +179,12 @@ CONFIG_FREERTOS_USE_UART=y # # CONFIG_FREERTOS_USE_ADC is not set # end of Freertos Adc Drivers + +# +# Freertos Can Drivers +# +# CONFIG_FREERTOS_USE_CAN is not set +# end of Freertos Can Drivers # end of Component Configuration # diff --git a/example/freertos_feature/task_notify/configs/ft2004_aarch64_eg_configs b/example/freertos_feature/task_notify/configs/ft2004_aarch64_eg_configs index c9c32f36..e0ec68fb 100644 --- a/example/freertos_feature/task_notify/configs/ft2004_aarch64_eg_configs +++ b/example/freertos_feature/task_notify/configs/ft2004_aarch64_eg_configs @@ -175,6 +175,12 @@ CONFIG_FREERTOS_USE_UART=y # # CONFIG_FREERTOS_USE_ADC is not set # end of Freertos Adc Drivers + +# +# Freertos Can Drivers +# +# CONFIG_FREERTOS_USE_CAN is not set +# end of Freertos Can Drivers # end of Component Configuration # diff --git a/example/freertos_feature/task_notify/sdkconfig b/example/freertos_feature/task_notify/sdkconfig index 11138fc7..bb62840c 100644 --- a/example/freertos_feature/task_notify/sdkconfig +++ b/example/freertos_feature/task_notify/sdkconfig @@ -175,6 +175,12 @@ CONFIG_FREERTOS_USE_UART=y # # CONFIG_FREERTOS_USE_ADC is not set # end of Freertos Adc Drivers + +# +# Freertos Can Drivers +# +# CONFIG_FREERTOS_USE_CAN is not set +# end of Freertos Can Drivers # end of Component Configuration # diff --git a/example/freertos_feature/task_notify/sdkconfig.h b/example/freertos_feature/task_notify/sdkconfig.h index 070be669..918ddd1e 100644 --- a/example/freertos_feature/task_notify/sdkconfig.h +++ b/example/freertos_feature/task_notify/sdkconfig.h @@ -154,6 +154,11 @@ /* CONFIG_FREERTOS_USE_ADC is not set */ /* end of Freertos Adc Drivers */ + +/* Freertos Can Drivers */ + +/* CONFIG_FREERTOS_USE_CAN is not set */ +/* end of Freertos Can Drivers */ /* end of Component Configuration */ /* FreeRTOS Setting */ diff --git a/example/network/gmac_lwip_test/configs/d2000_aarch32_eg_configs b/example/network/gmac_lwip_test/configs/d2000_aarch32_eg_configs index dbd1b782..c7763e5c 100644 --- a/example/network/gmac_lwip_test/configs/d2000_aarch32_eg_configs +++ b/example/network/gmac_lwip_test/configs/d2000_aarch32_eg_configs @@ -195,6 +195,12 @@ CONFIG_FREERTOS_USE_UART=y # # CONFIG_FREERTOS_USE_ADC is not set # end of Freertos Adc Drivers + +# +# Freertos Can Drivers +# +# CONFIG_FREERTOS_USE_CAN is not set +# end of Freertos Can Drivers # end of Component Configuration # diff --git a/example/network/gmac_lwip_test/configs/d2000_aarch64_eg_configs b/example/network/gmac_lwip_test/configs/d2000_aarch64_eg_configs index 6763461a..0e670096 100644 --- a/example/network/gmac_lwip_test/configs/d2000_aarch64_eg_configs +++ b/example/network/gmac_lwip_test/configs/d2000_aarch64_eg_configs @@ -191,6 +191,12 @@ CONFIG_FREERTOS_USE_UART=y # # CONFIG_FREERTOS_USE_ADC is not set # end of Freertos Adc Drivers + +# +# Freertos Can Drivers +# +# CONFIG_FREERTOS_USE_CAN is not set +# end of Freertos Can Drivers # end of Component Configuration # diff --git a/example/network/gmac_lwip_test/configs/ft2004_aarch32_eg_configs b/example/network/gmac_lwip_test/configs/ft2004_aarch32_eg_configs index d5c4b679..7b0b40a6 100644 --- a/example/network/gmac_lwip_test/configs/ft2004_aarch32_eg_configs +++ b/example/network/gmac_lwip_test/configs/ft2004_aarch32_eg_configs @@ -195,6 +195,12 @@ CONFIG_FREERTOS_USE_UART=y # # CONFIG_FREERTOS_USE_ADC is not set # end of Freertos Adc Drivers + +# +# Freertos Can Drivers +# +# CONFIG_FREERTOS_USE_CAN is not set +# end of Freertos Can Drivers # end of Component Configuration # diff --git a/example/network/gmac_lwip_test/configs/ft2004_aarch64_eg_configs b/example/network/gmac_lwip_test/configs/ft2004_aarch64_eg_configs index ca33cb0a..e774beb2 100644 --- a/example/network/gmac_lwip_test/configs/ft2004_aarch64_eg_configs +++ b/example/network/gmac_lwip_test/configs/ft2004_aarch64_eg_configs @@ -191,6 +191,12 @@ CONFIG_FREERTOS_USE_UART=y # # CONFIG_FREERTOS_USE_ADC is not set # end of Freertos Adc Drivers + +# +# Freertos Can Drivers +# +# CONFIG_FREERTOS_USE_CAN is not set +# end of Freertos Can Drivers # end of Component Configuration # diff --git a/example/network/gmac_lwip_test/sdkconfig b/example/network/gmac_lwip_test/sdkconfig index 6763461a..0e670096 100644 --- a/example/network/gmac_lwip_test/sdkconfig +++ b/example/network/gmac_lwip_test/sdkconfig @@ -191,6 +191,12 @@ CONFIG_FREERTOS_USE_UART=y # # CONFIG_FREERTOS_USE_ADC is not set # end of Freertos Adc Drivers + +# +# Freertos Can Drivers +# +# CONFIG_FREERTOS_USE_CAN is not set +# end of Freertos Can Drivers # end of Component Configuration # diff --git a/example/network/gmac_lwip_test/sdkconfig.h b/example/network/gmac_lwip_test/sdkconfig.h index ff0c1cb3..d487d29a 100644 --- a/example/network/gmac_lwip_test/sdkconfig.h +++ b/example/network/gmac_lwip_test/sdkconfig.h @@ -168,6 +168,11 @@ /* CONFIG_FREERTOS_USE_ADC is not set */ /* end of Freertos Adc Drivers */ + +/* Freertos Can Drivers */ + +/* CONFIG_FREERTOS_USE_CAN is not set */ +/* end of Freertos Can Drivers */ /* end of Component Configuration */ /* FreeRTOS Setting */ diff --git a/example/network/xmac_lwip_test/configs/e2000d_aarch32_eg_configs b/example/network/xmac_lwip_test/configs/e2000d_aarch32_eg_configs index dae7ddf5..643d20f1 100644 --- a/example/network/xmac_lwip_test/configs/e2000d_aarch32_eg_configs +++ b/example/network/xmac_lwip_test/configs/e2000d_aarch32_eg_configs @@ -203,6 +203,12 @@ CONFIG_FREERTOS_USE_XMAC=y # # CONFIG_FREERTOS_USE_ADC is not set # end of Freertos Adc Drivers + +# +# Freertos Can Drivers +# +# CONFIG_FREERTOS_USE_CAN is not set +# end of Freertos Can Drivers # end of Component Configuration # diff --git a/example/network/xmac_lwip_test/configs/e2000d_aarch64_eg_configs b/example/network/xmac_lwip_test/configs/e2000d_aarch64_eg_configs index 25105a00..067dff9f 100644 --- a/example/network/xmac_lwip_test/configs/e2000d_aarch64_eg_configs +++ b/example/network/xmac_lwip_test/configs/e2000d_aarch64_eg_configs @@ -199,6 +199,12 @@ CONFIG_FREERTOS_USE_XMAC=y # # CONFIG_FREERTOS_USE_ADC is not set # end of Freertos Adc Drivers + +# +# Freertos Can Drivers +# +# CONFIG_FREERTOS_USE_CAN is not set +# end of Freertos Can Drivers # end of Component Configuration # diff --git a/example/network/xmac_lwip_test/sdkconfig b/example/network/xmac_lwip_test/sdkconfig index 25105a00..067dff9f 100644 --- a/example/network/xmac_lwip_test/sdkconfig +++ b/example/network/xmac_lwip_test/sdkconfig @@ -199,6 +199,12 @@ CONFIG_FREERTOS_USE_XMAC=y # # CONFIG_FREERTOS_USE_ADC is not set # end of Freertos Adc Drivers + +# +# Freertos Can Drivers +# +# CONFIG_FREERTOS_USE_CAN is not set +# end of Freertos Can Drivers # end of Component Configuration # diff --git a/example/network/xmac_lwip_test/sdkconfig.h b/example/network/xmac_lwip_test/sdkconfig.h index 91abb934..6e435b20 100644 --- a/example/network/xmac_lwip_test/sdkconfig.h +++ b/example/network/xmac_lwip_test/sdkconfig.h @@ -175,6 +175,11 @@ /* CONFIG_FREERTOS_USE_ADC is not set */ /* end of Freertos Adc Drivers */ + +/* Freertos Can Drivers */ + +/* CONFIG_FREERTOS_USE_CAN is not set */ +/* end of Freertos Can Drivers */ /* end of Component Configuration */ /* FreeRTOS Setting */ diff --git a/example/peripheral/adc/README.md b/example/peripheral/adc/README.md index 86913a3c..d6743b3f 100644 --- a/example/peripheral/adc/README.md +++ b/example/peripheral/adc/README.md @@ -54,7 +54,7 @@ 本例程需要, - 使能Shell -- 使能Pwm +- 使能Adc 对应的配置项是, diff --git a/example/peripheral/adc/configs/e2000d_aarch32_eg_configs b/example/peripheral/adc/configs/e2000d_aarch32_eg_configs index 6001bd71..5a6c4745 100644 --- a/example/peripheral/adc/configs/e2000d_aarch32_eg_configs +++ b/example/peripheral/adc/configs/e2000d_aarch32_eg_configs @@ -186,6 +186,12 @@ CONFIG_FREERTOS_USE_UART=y # CONFIG_FREERTOS_USE_ADC=y # end of Freertos Adc Drivers + +# +# Freertos Can Drivers +# +# CONFIG_FREERTOS_USE_CAN is not set +# end of Freertos Can Drivers # end of Component Configuration # diff --git a/example/peripheral/adc/configs/e2000d_aarch64_eg_configs b/example/peripheral/adc/configs/e2000d_aarch64_eg_configs index 8fb80c35..23f034a0 100644 --- a/example/peripheral/adc/configs/e2000d_aarch64_eg_configs +++ b/example/peripheral/adc/configs/e2000d_aarch64_eg_configs @@ -182,6 +182,12 @@ CONFIG_FREERTOS_USE_UART=y # CONFIG_FREERTOS_USE_ADC=y # end of Freertos Adc Drivers + +# +# Freertos Can Drivers +# +# CONFIG_FREERTOS_USE_CAN is not set +# end of Freertos Can Drivers # end of Component Configuration # diff --git a/example/peripheral/adc/configs/e2000q_aarch32_eg_configs b/example/peripheral/adc/configs/e2000q_aarch32_eg_configs index 2af361a1..352d71aa 100644 --- a/example/peripheral/adc/configs/e2000q_aarch32_eg_configs +++ b/example/peripheral/adc/configs/e2000q_aarch32_eg_configs @@ -186,6 +186,12 @@ CONFIG_FREERTOS_USE_UART=y # CONFIG_FREERTOS_USE_ADC=y # end of Freertos Adc Drivers + +# +# Freertos Can Drivers +# +# CONFIG_FREERTOS_USE_CAN is not set +# end of Freertos Can Drivers # end of Component Configuration # diff --git a/example/peripheral/adc/configs/e2000q_aarch64_eg_configs b/example/peripheral/adc/configs/e2000q_aarch64_eg_configs index 6b48134c..c7f11a2c 100644 --- a/example/peripheral/adc/configs/e2000q_aarch64_eg_configs +++ b/example/peripheral/adc/configs/e2000q_aarch64_eg_configs @@ -182,6 +182,12 @@ CONFIG_FREERTOS_USE_UART=y # CONFIG_FREERTOS_USE_ADC=y # end of Freertos Adc Drivers + +# +# Freertos Can Drivers +# +# CONFIG_FREERTOS_USE_CAN is not set +# end of Freertos Can Drivers # end of Component Configuration # diff --git a/example/peripheral/adc/sdkconfig b/example/peripheral/adc/sdkconfig index 6b48134c..c7f11a2c 100644 --- a/example/peripheral/adc/sdkconfig +++ b/example/peripheral/adc/sdkconfig @@ -182,6 +182,12 @@ CONFIG_FREERTOS_USE_UART=y # CONFIG_FREERTOS_USE_ADC=y # end of Freertos Adc Drivers + +# +# Freertos Can Drivers +# +# CONFIG_FREERTOS_USE_CAN is not set +# end of Freertos Can Drivers # end of Component Configuration # diff --git a/example/peripheral/adc/sdkconfig.h b/example/peripheral/adc/sdkconfig.h index e70bdaca..5a939a34 100644 --- a/example/peripheral/adc/sdkconfig.h +++ b/example/peripheral/adc/sdkconfig.h @@ -159,6 +159,11 @@ #define CONFIG_FREERTOS_USE_ADC /* end of Freertos Adc Drivers */ + +/* Freertos Can Drivers */ + +/* CONFIG_FREERTOS_USE_CAN is not set */ +/* end of Freertos Can Drivers */ /* end of Component Configuration */ /* FreeRTOS Setting */ diff --git a/example/peripheral/can/Kconfig b/example/peripheral/can/Kconfig new file mode 100644 index 00000000..0277fb85 --- /dev/null +++ b/example/peripheral/can/Kconfig @@ -0,0 +1,19 @@ +# +# For a description of the syntax of this configuration file, +# see tools/kconfiglib/kconfig-language.txt. +# + + +mainmenu "Phytium Freertos Configuration" + + menu "Freertos Configuration" + config TARGET_NAME + string "Build Target Name" + default "freertos" + help + Build Target name for the demo + +endmenu + +source "$(FREERTOS_SDK_ROOT)/Kconfig" + diff --git a/example/peripheral/can/README.md b/example/peripheral/can/README.md new file mode 100644 index 00000000..db190b51 --- /dev/null +++ b/example/peripheral/can/README.md @@ -0,0 +1,150 @@ + + +# can base on freertos + +## 1. 例程介绍 + +本例程示范了freertos环境下的can的使用,包括can的初始化、can周期发送,接收操作; +程序启动后,创建can初始化任务,设置can波特率,中断函数、id mask等; +创建can定时发送任务FFreeRTOSCanSendTask,用于定时发送can报文; +创建can接收任务FFreeRTOSCanRecvTask,用于接收can报文; +创建单次模式的软件定时器,回调函数为删除FFreeRTOSCanSendTask,删除FFreeRTOSCanRecvTask,去初始化can,删除软件定时器; +使用B板进行测试,选择can0和can1回环; + +## 2. 如何使用例程 + +本例程需要用到 +- Phytium开发板(E2000D/E2000Q) +- [Phytium freeRTOS SDK](https://gitee.com/phytium_embedded/phytium-free-rtos-sdk) +- [Phytium standalone SDK](https://gitee.com/phytium_embedded/phytium-standalone-sdk) +### 2.1 硬件配置方法 + +本例程支持的硬件平台包括 + +- FT2000-4 +- D2000 +- E2000D +- E2000Q + +对应的配置项是, + +- CONFIG_TARGET_F2000_4 +- CONFIG_TARGET_D2000 +- CONFIG_TARGET_E2000D +- CONFIG_TARGET_E2000Q + +### 2.2 SDK配置方法 + +本例程需要, + +- 使能Shell +- 使能Can + +对应的配置项是, + +- CONFIG_USE_LETTER_SHELL +- CONFIG_FREERTOS_USE_CAN +- CONFIG_USE_CAN + +本例子已经提供好具体的编译指令,以下进行介绍: +- make 将目录下的工程进行编译 +- make clean 将目录下的工程进行清理 +- make boot 将目录下的工程进行编译,并将生成的elf 复制到目标地址 +- make load_d2000_aarch64 将预设64bit d2000 下的配置加载至工程中 +- make load_d2000_aarch32 将预设32bit d2000 下的配置加载至工程中 +- make load_ft2004_aarch64 将预设64bit ft2004 下的配置加载至工程中 +- make load_ft2004_aarch32 将预设32bit ft2004 下的配置加载至工程中 +- make load_e2000d_aarch64 将预设64bit e2000d 下的配置加载至工程中 +- make load_e2000d_aarch32 将预设32bit e2000d 下的配置加载至工程中 +- make load_e2000q_aarch64 将预设64bit e2000q 下的配置加载至工程中 +- make load_e2000q_aarch32 将预设32bit e2000q 下的配置加载至工程中 +- make menuconfig 配置目录下的参数变量 +- make backup_kconfig 将目录下的sdkconfig 备份到./configs下 + +具体使用方法为: +- 在当前目录下 +- 执行以上指令 + +### 2.3 构建和下载 + +#### 2.3.1 构建过程 + +- 在host侧完成配置 +配置成e2000q,对于其它平台,使用对于的默认配置,如e2000d `make load_e2000d_aarch32` + +- 选择目标平台 +``` +make load_e2000q_aarch32 +``` + +- 选择例程需要的配置 +``` +make menuconfig +``` + +- 进行编译 +``` +make +``` + +- 将编译出的镜像放置到tftp目录下 +``` +make boot +``` + +#### 2.3.2 下载过程 + +- host侧设置重启host侧tftp服务器 +``` +sudo service tftpd-hpa restart +``` + +- 开发板侧使用bootelf命令跳转 +``` +setenv ipaddr 192.168.4.20 +setenv serverip 192.168.4.50 +setenv gatewayip 192.168.4.1 +tftpboot 0x90100000 freertos.elf +bootelf -p 0x90100000 +``` + +### 2.4 输出与实验现象 + +- 系统进入后,创建can初始化任务,创建定时发送任务,创建接收任务,并创建单次模式软件定时器 + +![create](./figs/create.png) + +- 定时器时间到,触发单次模式软件定时器的回调函数,删除发送和接收任务,去初始化can,删除软件定时器 + +![delete](./figs/delete.png) + +## 3. 如何解决问题 + +- 使用can0和can1进行回环测试时,需要将can0和can1的H和L信号线分别进行短接 + +## 4. 修改历史记录 + + + + diff --git a/example/peripheral/can/configs/d2000_aarch32_eg_configs b/example/peripheral/can/configs/d2000_aarch32_eg_configs new file mode 100644 index 00000000..2b4275b3 --- /dev/null +++ b/example/peripheral/can/configs/d2000_aarch32_eg_configs @@ -0,0 +1,219 @@ + +# +# Freertos Configuration +# +CONFIG_TARGET_NAME="d2000_freertos_a32" +# end of Freertos Configuration + +# +# Standalone Setting +# +CONFIG_USE_FREERTOS=y + +# +# Arch Configuration +# +CONFIG_TARGET_ARMV8_AARCH32=y +# CONFIG_TARGET_ARMV8_AARCH64 is not set +CONFIG_USE_CACHE=y +CONFIG_USE_L3CACHE=y +CONFIG_USE_MMU=y +CONFIG_USE_SYS_TICK=y +CONFIG_USE_AARCH64_L1_TO_AARCH32=y +# end of Arch Configuration + +# +# Board Configuration +# +# CONFIG_TARGET_F2000_4 is not set +CONFIG_TARGET_D2000=y +# CONFIG_TARGET_E2000Q is not set +# CONFIG_TARGET_E2000D is not set +# CONFIG_TARGET_E2000S is not set +CONFIG_DEFAULT_DEBUG_PRINT_UART1=y +# CONFIG_DEFAULT_DEBUG_PRINT_UART0 is not set +# CONFIG_DEFAULT_DEBUG_PRINT_UART2 is not set +# end of Board Configuration + +# +# Components Configuration +# +# CONFIG_USE_SPI is not set +# CONFIG_USE_QSPI is not set +CONFIG_USE_GIC=y +CONFIG_ENABLE_GICV3=y +CONFIG_USE_SERIAL=y + +# +# Usart Configuration +# +CONFIG_ENABLE_Pl011_UART=y +# end of Usart Configuration + +# CONFIG_USE_GPIO is not set +# CONFIG_USE_ETH is not set +CONFIG_USE_CAN=y + +# +# CAN Configuration +# +CONFIG_USE_FCAN=y +# end of CAN Configuration + +# CONFIG_USE_I2C is not set +# CONFIG_USE_TIMER is not set +# CONFIG_USE_MIO is not set +# CONFIG_USE_SDMMC is not set +# CONFIG_USE_PCIE is not set +# CONFIG_USE_WDT is not set +# CONFIG_USE_DMA is not set +# CONFIG_USE_NAND is not set +# CONFIG_USE_RTC is not set +# CONFIG_USE_SATA is not set +# CONFIG_USE_USB is not set +# CONFIG_USE_ADC is not set +# CONFIG_USE_PWM is not set +# CONFIG_USE_IPC is not set +# end of Components Configuration + +CONFIG_USE_NEW_LIBC=y +# end of Standalone Setting + +# +# Building Option +# +# CONFIG_LOG_VERBOS is not set +# CONFIG_LOG_DEBUG is not set +CONFIG_LOG_INFO=y +# CONFIG_LOG_WARN is not set +# CONFIG_LOG_ERROR is not set +# CONFIG_LOG_NONE is not set +CONFIG_USE_DEFAULT_INTERRUPT_CONFIG=y +CONFIG_INTERRUPT_ROLE_MASTER=y +# CONFIG_INTERRUPT_ROLE_SLAVE is not set +# CONFIG_LOG_EXTRA_INFO is not set +# CONFIG_BOOTUP_DEBUG_PRINTS is not set + +# +# Linker Options +# +CONFIG_AARCH32_RAM_LD=y +# CONFIG_AARCH64_RAM_LD is not set +# CONFIG_USER_DEFINED_LD is not set +CONFIG_LINK_SCRIPT_ROM=y +CONFIG_ROM_START_UP_ADDR=0x80100000 +CONFIG_ROM_SIZE_MB=1 +CONFIG_LINK_SCRIPT_RAM=y +CONFIG_RAM_START_UP_ADDR=0x81000000 +CONFIG_RAM_SIZE_MB=64 +CONFIG_HEAP_SIZE=1 +CONFIG_SVC_STACK_SIZE=0x1000 +CONFIG_SYS_STACK_SIZE=0x1000 +CONFIG_IRQ_STACK_SIZE=0x1000 +CONFIG_ABORT_STACK_SIZE=0x1000 +CONFIG_FIQ_STACK_SIZE=0x1000 +CONFIG_UNDEF_STACK_SIZE=0x1000 +# end of Linker Options + +# +# Compiler Options +# +CONFIG_OUTPUT_BINARY=y +# end of Compiler Options +# end of Building Option + +# +# Component Configuration +# + +# +# Freertos Uart Drivers +# +CONFIG_FREERTOS_USE_UART=y +# end of Freertos Uart Drivers + +# +# Freertos Pwm Drivers +# +# CONFIG_FREERTOS_USE_PWM is not set +# end of Freertos Pwm Drivers + +# +# Freertos Qspi Drivers +# +# CONFIG_FREERTOS_USE_QSPI is not set +# end of Freertos Qspi Drivers + +# +# Freertos Wdt Drivers +# +# CONFIG_FREERTOS_USE_WDT is not set +# end of Freertos Wdt Drivers + +# +# Freertos Eth Drivers +# +# CONFIG_FREERTOS_USE_XMAC is not set +# end of Freertos Eth Drivers + +# +# Freertos Gpio Drivers +# +# CONFIG_FREERTOS_USE_GPIO is not set +# end of Freertos Gpio Drivers + +# +# Freertos Spim Drivers +# +# CONFIG_FREERTOS_USE_FSPIM is not set +# end of Freertos Spim Drivers + +# +# Freertos DMA Drivers +# +# CONFIG_FREERTOS_USE_FDDMA is not set +# CONFIG_FREERTOS_USE_FGDMA is not set +# end of Freertos DMA Drivers + +# +# Freertos MMC Drivers +# +# CONFIG_FREERTOS_USE_FSDIO is not set +# end of Freertos MMC Drivers + +# +# Freertos Adc Drivers +# +# CONFIG_FREERTOS_USE_ADC is not set +# end of Freertos Adc Drivers + +# +# Freertos Can Drivers +# +CONFIG_FREERTOS_USE_CAN=y +# end of Freertos Can Drivers +# end of Component Configuration + +# +# FreeRTOS Setting +# +# CONFIG_USE_LWIP is not set +CONFIG_USE_BACKTRACE=y +# CONFIG_USE_FATFS is not set +# CONFIG_USE_SFUD is not set +# CONFIG_USE_SPIFFS is not set +# CONFIG_USE_AMP is not set +CONFIG_USE_LETTER_SHELL=y + +# +# Letter Shell Configuration +# +CONFIG_LS_PL011_UART=y +CONFIG_DEFAULT_LETTER_SHELL_USE_UART1=y +# CONFIG_DEFAULT_LETTER_SHELL_USE_UART0 is not set +# CONFIG_DEFAULT_LETTER_SHELL_USE_UART2 is not set +# end of Letter Shell Configuration + +# CONFIG_USE_TLSF is not set +# CONFIG_USE_SDMMC_CMD is not set +# end of FreeRTOS Setting diff --git a/example/peripheral/can/configs/d2000_aarch64_eg_configs b/example/peripheral/can/configs/d2000_aarch64_eg_configs new file mode 100644 index 00000000..20bc5a75 --- /dev/null +++ b/example/peripheral/can/configs/d2000_aarch64_eg_configs @@ -0,0 +1,215 @@ + +# +# Freertos Configuration +# +CONFIG_TARGET_NAME="d2000_freertos_a64" +# end of Freertos Configuration + +# +# Standalone Setting +# +CONFIG_USE_FREERTOS=y + +# +# Arch Configuration +# +# CONFIG_TARGET_ARMV8_AARCH32 is not set +CONFIG_TARGET_ARMV8_AARCH64=y +CONFIG_USE_CACHE=y +CONFIG_USE_L3CACHE=y +CONFIG_USE_MMU=y +CONFIG_USE_SYS_TICK=y +# CONFIG_MMU_DEBUG_PRINTS is not set +# end of Arch Configuration + +# +# Board Configuration +# +# CONFIG_TARGET_F2000_4 is not set +CONFIG_TARGET_D2000=y +# CONFIG_TARGET_E2000Q is not set +# CONFIG_TARGET_E2000D is not set +# CONFIG_TARGET_E2000S is not set +CONFIG_DEFAULT_DEBUG_PRINT_UART1=y +# CONFIG_DEFAULT_DEBUG_PRINT_UART0 is not set +# CONFIG_DEFAULT_DEBUG_PRINT_UART2 is not set +# end of Board Configuration + +# +# Components Configuration +# +# CONFIG_USE_SPI is not set +# CONFIG_USE_QSPI is not set +CONFIG_USE_GIC=y +CONFIG_ENABLE_GICV3=y +CONFIG_USE_SERIAL=y + +# +# Usart Configuration +# +CONFIG_ENABLE_Pl011_UART=y +# end of Usart Configuration + +# CONFIG_USE_GPIO is not set +# CONFIG_USE_ETH is not set +CONFIG_USE_CAN=y + +# +# CAN Configuration +# +CONFIG_USE_FCAN=y +# end of CAN Configuration + +# CONFIG_USE_I2C is not set +# CONFIG_USE_TIMER is not set +# CONFIG_USE_MIO is not set +# CONFIG_USE_SDMMC is not set +# CONFIG_USE_PCIE is not set +# CONFIG_USE_WDT is not set +# CONFIG_USE_DMA is not set +# CONFIG_USE_NAND is not set +# CONFIG_USE_RTC is not set +# CONFIG_USE_SATA is not set +# CONFIG_USE_USB is not set +# CONFIG_USE_ADC is not set +# CONFIG_USE_PWM is not set +# CONFIG_USE_IPC is not set +# end of Components Configuration + +CONFIG_USE_NEW_LIBC=y +# end of Standalone Setting + +# +# Building Option +# +# CONFIG_LOG_VERBOS is not set +# CONFIG_LOG_DEBUG is not set +CONFIG_LOG_INFO=y +# CONFIG_LOG_WARN is not set +# CONFIG_LOG_ERROR is not set +# CONFIG_LOG_NONE is not set +CONFIG_USE_DEFAULT_INTERRUPT_CONFIG=y +CONFIG_INTERRUPT_ROLE_MASTER=y +# CONFIG_INTERRUPT_ROLE_SLAVE is not set +# CONFIG_LOG_EXTRA_INFO is not set +# CONFIG_BOOTUP_DEBUG_PRINTS is not set + +# +# Linker Options +# +# CONFIG_AARCH32_RAM_LD is not set +CONFIG_AARCH64_RAM_LD=y +# CONFIG_USER_DEFINED_LD is not set +CONFIG_LINK_SCRIPT_ROM=y +CONFIG_ROM_START_UP_ADDR=0x80100000 +CONFIG_ROM_SIZE_MB=1 +CONFIG_LINK_SCRIPT_RAM=y +CONFIG_RAM_START_UP_ADDR=0x81000000 +CONFIG_RAM_SIZE_MB=64 +CONFIG_HEAP_SIZE=1 +CONFIG_STACK_SIZE=0x100000 +CONFIG_FPU_STACK_SIZE=0x1000 +# end of Linker Options + +# +# Compiler Options +# +CONFIG_OUTPUT_BINARY=y +# end of Compiler Options +# end of Building Option + +# +# Component Configuration +# + +# +# Freertos Uart Drivers +# +CONFIG_FREERTOS_USE_UART=y +# end of Freertos Uart Drivers + +# +# Freertos Pwm Drivers +# +# CONFIG_FREERTOS_USE_PWM is not set +# end of Freertos Pwm Drivers + +# +# Freertos Qspi Drivers +# +# CONFIG_FREERTOS_USE_QSPI is not set +# end of Freertos Qspi Drivers + +# +# Freertos Wdt Drivers +# +# CONFIG_FREERTOS_USE_WDT is not set +# end of Freertos Wdt Drivers + +# +# Freertos Eth Drivers +# +# CONFIG_FREERTOS_USE_XMAC is not set +# end of Freertos Eth Drivers + +# +# Freertos Gpio Drivers +# +# CONFIG_FREERTOS_USE_GPIO is not set +# end of Freertos Gpio Drivers + +# +# Freertos Spim Drivers +# +# CONFIG_FREERTOS_USE_FSPIM is not set +# end of Freertos Spim Drivers + +# +# Freertos DMA Drivers +# +# CONFIG_FREERTOS_USE_FDDMA is not set +# CONFIG_FREERTOS_USE_FGDMA is not set +# end of Freertos DMA Drivers + +# +# Freertos MMC Drivers +# +# CONFIG_FREERTOS_USE_FSDIO is not set +# end of Freertos MMC Drivers + +# +# Freertos Adc Drivers +# +# CONFIG_FREERTOS_USE_ADC is not set +# end of Freertos Adc Drivers + +# +# Freertos Can Drivers +# +CONFIG_FREERTOS_USE_CAN=y +# end of Freertos Can Drivers +# end of Component Configuration + +# +# FreeRTOS Setting +# +# CONFIG_USE_LWIP is not set +CONFIG_USE_BACKTRACE=y +# CONFIG_USE_FATFS is not set +# CONFIG_USE_SFUD is not set +# CONFIG_USE_SPIFFS is not set +# CONFIG_USE_AMP is not set +CONFIG_USE_LETTER_SHELL=y + +# +# Letter Shell Configuration +# +CONFIG_LS_PL011_UART=y +CONFIG_DEFAULT_LETTER_SHELL_USE_UART1=y +# CONFIG_DEFAULT_LETTER_SHELL_USE_UART0 is not set +# CONFIG_DEFAULT_LETTER_SHELL_USE_UART2 is not set +# end of Letter Shell Configuration + +# CONFIG_USE_TLSF is not set +# CONFIG_USE_SDMMC_CMD is not set +# end of FreeRTOS Setting diff --git a/example/peripheral/can/configs/e2000d_aarch32_eg_configs b/example/peripheral/can/configs/e2000d_aarch32_eg_configs new file mode 100644 index 00000000..5380224b --- /dev/null +++ b/example/peripheral/can/configs/e2000d_aarch32_eg_configs @@ -0,0 +1,220 @@ + +# +# Freertos Configuration +# +CONFIG_TARGET_NAME="e2000d_freertos_a32" +# end of Freertos Configuration + +# +# Standalone Setting +# +CONFIG_USE_FREERTOS=y + +# +# Arch Configuration +# +CONFIG_TARGET_ARMV8_AARCH32=y +# CONFIG_TARGET_ARMV8_AARCH64 is not set +CONFIG_USE_CACHE=y +CONFIG_USE_MMU=y +CONFIG_USE_SYS_TICK=y +CONFIG_USE_AARCH64_L1_TO_AARCH32=y +# end of Arch Configuration + +# +# Board Configuration +# +# CONFIG_TARGET_F2000_4 is not set +# CONFIG_TARGET_D2000 is not set +# CONFIG_TARGET_E2000Q is not set +CONFIG_TARGET_E2000D=y +# CONFIG_TARGET_E2000S is not set +CONFIG_TARGET_E2000=y +CONFIG_DEFAULT_DEBUG_PRINT_UART1=y +# CONFIG_DEFAULT_DEBUG_PRINT_UART0 is not set +# CONFIG_DEFAULT_DEBUG_PRINT_UART2 is not set +# end of Board Configuration + +# +# Components Configuration +# +# CONFIG_USE_SPI is not set +# CONFIG_USE_QSPI is not set +CONFIG_USE_GIC=y +CONFIG_ENABLE_GICV3=y +CONFIG_USE_SERIAL=y + +# +# Usart Configuration +# +CONFIG_ENABLE_Pl011_UART=y +# end of Usart Configuration + +# CONFIG_USE_GPIO is not set +# CONFIG_USE_ETH is not set +CONFIG_USE_CAN=y + +# +# CAN Configuration +# +CONFIG_USE_FCAN=y +# CONFIG_FCAN_USE_CANFD is not set +# end of CAN Configuration + +# CONFIG_USE_I2C is not set +# CONFIG_USE_TIMER is not set +# CONFIG_USE_MIO is not set +# CONFIG_USE_SDMMC is not set +# CONFIG_USE_PCIE is not set +# CONFIG_USE_WDT is not set +# CONFIG_USE_DMA is not set +# CONFIG_USE_NAND is not set +# CONFIG_USE_RTC is not set +# CONFIG_USE_SATA is not set +# CONFIG_USE_USB is not set +# CONFIG_USE_ADC is not set +# CONFIG_USE_PWM is not set +# CONFIG_USE_IPC is not set +# end of Components Configuration + +CONFIG_USE_NEW_LIBC=y +# end of Standalone Setting + +# +# Building Option +# +# CONFIG_LOG_VERBOS is not set +# CONFIG_LOG_DEBUG is not set +CONFIG_LOG_INFO=y +# CONFIG_LOG_WARN is not set +# CONFIG_LOG_ERROR is not set +# CONFIG_LOG_NONE is not set +CONFIG_USE_DEFAULT_INTERRUPT_CONFIG=y +CONFIG_INTERRUPT_ROLE_MASTER=y +# CONFIG_INTERRUPT_ROLE_SLAVE is not set +# CONFIG_LOG_EXTRA_INFO is not set +# CONFIG_BOOTUP_DEBUG_PRINTS is not set + +# +# Linker Options +# +CONFIG_AARCH32_RAM_LD=y +# CONFIG_AARCH64_RAM_LD is not set +# CONFIG_USER_DEFINED_LD is not set +CONFIG_LINK_SCRIPT_ROM=y +CONFIG_ROM_START_UP_ADDR=0x80100000 +CONFIG_ROM_SIZE_MB=1 +CONFIG_LINK_SCRIPT_RAM=y +CONFIG_RAM_START_UP_ADDR=0x81000000 +CONFIG_RAM_SIZE_MB=64 +CONFIG_HEAP_SIZE=1 +CONFIG_SVC_STACK_SIZE=0x1000 +CONFIG_SYS_STACK_SIZE=0x1000 +CONFIG_IRQ_STACK_SIZE=0x1000 +CONFIG_ABORT_STACK_SIZE=0x1000 +CONFIG_FIQ_STACK_SIZE=0x1000 +CONFIG_UNDEF_STACK_SIZE=0x1000 +# end of Linker Options + +# +# Compiler Options +# +CONFIG_OUTPUT_BINARY=y +# end of Compiler Options +# end of Building Option + +# +# Component Configuration +# + +# +# Freertos Uart Drivers +# +CONFIG_FREERTOS_USE_UART=y +# end of Freertos Uart Drivers + +# +# Freertos Pwm Drivers +# +# CONFIG_FREERTOS_USE_PWM is not set +# end of Freertos Pwm Drivers + +# +# Freertos Qspi Drivers +# +# CONFIG_FREERTOS_USE_QSPI is not set +# end of Freertos Qspi Drivers + +# +# Freertos Wdt Drivers +# +# CONFIG_FREERTOS_USE_WDT is not set +# end of Freertos Wdt Drivers + +# +# Freertos Eth Drivers +# +# CONFIG_FREERTOS_USE_XMAC is not set +# end of Freertos Eth Drivers + +# +# Freertos Gpio Drivers +# +# CONFIG_FREERTOS_USE_GPIO is not set +# end of Freertos Gpio Drivers + +# +# Freertos Spim Drivers +# +# CONFIG_FREERTOS_USE_FSPIM is not set +# end of Freertos Spim Drivers + +# +# Freertos DMA Drivers +# +# CONFIG_FREERTOS_USE_FDDMA is not set +# CONFIG_FREERTOS_USE_FGDMA is not set +# end of Freertos DMA Drivers + +# +# Freertos MMC Drivers +# +# CONFIG_FREERTOS_USE_FSDIO is not set +# end of Freertos MMC Drivers + +# +# Freertos Adc Drivers +# +# CONFIG_FREERTOS_USE_ADC is not set +# end of Freertos Adc Drivers + +# +# Freertos Can Drivers +# +CONFIG_FREERTOS_USE_CAN=y +# end of Freertos Can Drivers +# end of Component Configuration + +# +# FreeRTOS Setting +# +# CONFIG_USE_LWIP is not set +CONFIG_USE_BACKTRACE=y +# CONFIG_USE_FATFS is not set +# CONFIG_USE_SFUD is not set +# CONFIG_USE_SPIFFS is not set +# CONFIG_USE_AMP is not set +CONFIG_USE_LETTER_SHELL=y + +# +# Letter Shell Configuration +# +CONFIG_LS_PL011_UART=y +CONFIG_DEFAULT_LETTER_SHELL_USE_UART1=y +# CONFIG_DEFAULT_LETTER_SHELL_USE_UART0 is not set +# CONFIG_DEFAULT_LETTER_SHELL_USE_UART2 is not set +# end of Letter Shell Configuration + +# CONFIG_USE_TLSF is not set +# CONFIG_USE_SDMMC_CMD is not set +# end of FreeRTOS Setting diff --git a/example/peripheral/can/configs/e2000d_aarch64_eg_configs b/example/peripheral/can/configs/e2000d_aarch64_eg_configs new file mode 100644 index 00000000..b3de0599 --- /dev/null +++ b/example/peripheral/can/configs/e2000d_aarch64_eg_configs @@ -0,0 +1,216 @@ + +# +# Freertos Configuration +# +CONFIG_TARGET_NAME="e2000d_freertos_a64" +# end of Freertos Configuration + +# +# Standalone Setting +# +CONFIG_USE_FREERTOS=y + +# +# Arch Configuration +# +# CONFIG_TARGET_ARMV8_AARCH32 is not set +CONFIG_TARGET_ARMV8_AARCH64=y +CONFIG_USE_CACHE=y +CONFIG_USE_MMU=y +CONFIG_USE_SYS_TICK=y +# CONFIG_MMU_DEBUG_PRINTS is not set +# end of Arch Configuration + +# +# Board Configuration +# +# CONFIG_TARGET_F2000_4 is not set +# CONFIG_TARGET_D2000 is not set +# CONFIG_TARGET_E2000Q is not set +CONFIG_TARGET_E2000D=y +# CONFIG_TARGET_E2000S is not set +CONFIG_TARGET_E2000=y +CONFIG_DEFAULT_DEBUG_PRINT_UART1=y +# CONFIG_DEFAULT_DEBUG_PRINT_UART0 is not set +# CONFIG_DEFAULT_DEBUG_PRINT_UART2 is not set +# end of Board Configuration + +# +# Components Configuration +# +# CONFIG_USE_SPI is not set +# CONFIG_USE_QSPI is not set +CONFIG_USE_GIC=y +CONFIG_ENABLE_GICV3=y +CONFIG_USE_SERIAL=y + +# +# Usart Configuration +# +CONFIG_ENABLE_Pl011_UART=y +# end of Usart Configuration + +# CONFIG_USE_GPIO is not set +# CONFIG_USE_ETH is not set +CONFIG_USE_CAN=y + +# +# CAN Configuration +# +CONFIG_USE_FCAN=y +# CONFIG_FCAN_USE_CANFD is not set +# end of CAN Configuration + +# CONFIG_USE_I2C is not set +# CONFIG_USE_TIMER is not set +# CONFIG_USE_MIO is not set +# CONFIG_USE_SDMMC is not set +# CONFIG_USE_PCIE is not set +# CONFIG_USE_WDT is not set +# CONFIG_USE_DMA is not set +# CONFIG_USE_NAND is not set +# CONFIG_USE_RTC is not set +# CONFIG_USE_SATA is not set +# CONFIG_USE_USB is not set +# CONFIG_USE_ADC is not set +# CONFIG_USE_PWM is not set +# CONFIG_USE_IPC is not set +# end of Components Configuration + +CONFIG_USE_NEW_LIBC=y +# end of Standalone Setting + +# +# Building Option +# +# CONFIG_LOG_VERBOS is not set +# CONFIG_LOG_DEBUG is not set +CONFIG_LOG_INFO=y +# CONFIG_LOG_WARN is not set +# CONFIG_LOG_ERROR is not set +# CONFIG_LOG_NONE is not set +CONFIG_USE_DEFAULT_INTERRUPT_CONFIG=y +CONFIG_INTERRUPT_ROLE_MASTER=y +# CONFIG_INTERRUPT_ROLE_SLAVE is not set +# CONFIG_LOG_EXTRA_INFO is not set +# CONFIG_BOOTUP_DEBUG_PRINTS is not set + +# +# Linker Options +# +# CONFIG_AARCH32_RAM_LD is not set +CONFIG_AARCH64_RAM_LD=y +# CONFIG_USER_DEFINED_LD is not set +CONFIG_LINK_SCRIPT_ROM=y +CONFIG_ROM_START_UP_ADDR=0x80100000 +CONFIG_ROM_SIZE_MB=1 +CONFIG_LINK_SCRIPT_RAM=y +CONFIG_RAM_START_UP_ADDR=0x81000000 +CONFIG_RAM_SIZE_MB=64 +CONFIG_HEAP_SIZE=1 +CONFIG_STACK_SIZE=0x100000 +CONFIG_FPU_STACK_SIZE=0x1000 +# end of Linker Options + +# +# Compiler Options +# +CONFIG_OUTPUT_BINARY=y +# end of Compiler Options +# end of Building Option + +# +# Component Configuration +# + +# +# Freertos Uart Drivers +# +CONFIG_FREERTOS_USE_UART=y +# end of Freertos Uart Drivers + +# +# Freertos Pwm Drivers +# +# CONFIG_FREERTOS_USE_PWM is not set +# end of Freertos Pwm Drivers + +# +# Freertos Qspi Drivers +# +# CONFIG_FREERTOS_USE_QSPI is not set +# end of Freertos Qspi Drivers + +# +# Freertos Wdt Drivers +# +# CONFIG_FREERTOS_USE_WDT is not set +# end of Freertos Wdt Drivers + +# +# Freertos Eth Drivers +# +# CONFIG_FREERTOS_USE_XMAC is not set +# end of Freertos Eth Drivers + +# +# Freertos Gpio Drivers +# +# CONFIG_FREERTOS_USE_GPIO is not set +# end of Freertos Gpio Drivers + +# +# Freertos Spim Drivers +# +# CONFIG_FREERTOS_USE_FSPIM is not set +# end of Freertos Spim Drivers + +# +# Freertos DMA Drivers +# +# CONFIG_FREERTOS_USE_FDDMA is not set +# CONFIG_FREERTOS_USE_FGDMA is not set +# end of Freertos DMA Drivers + +# +# Freertos MMC Drivers +# +# CONFIG_FREERTOS_USE_FSDIO is not set +# end of Freertos MMC Drivers + +# +# Freertos Adc Drivers +# +# CONFIG_FREERTOS_USE_ADC is not set +# end of Freertos Adc Drivers + +# +# Freertos Can Drivers +# +CONFIG_FREERTOS_USE_CAN=y +# end of Freertos Can Drivers +# end of Component Configuration + +# +# FreeRTOS Setting +# +# CONFIG_USE_LWIP is not set +CONFIG_USE_BACKTRACE=y +# CONFIG_USE_FATFS is not set +# CONFIG_USE_SFUD is not set +# CONFIG_USE_SPIFFS is not set +# CONFIG_USE_AMP is not set +CONFIG_USE_LETTER_SHELL=y + +# +# Letter Shell Configuration +# +CONFIG_LS_PL011_UART=y +CONFIG_DEFAULT_LETTER_SHELL_USE_UART1=y +# CONFIG_DEFAULT_LETTER_SHELL_USE_UART0 is not set +# CONFIG_DEFAULT_LETTER_SHELL_USE_UART2 is not set +# end of Letter Shell Configuration + +# CONFIG_USE_TLSF is not set +# CONFIG_USE_SDMMC_CMD is not set +# end of FreeRTOS Setting diff --git a/example/peripheral/can/configs/e2000q_aarch32_eg_configs b/example/peripheral/can/configs/e2000q_aarch32_eg_configs new file mode 100644 index 00000000..b8802963 --- /dev/null +++ b/example/peripheral/can/configs/e2000q_aarch32_eg_configs @@ -0,0 +1,220 @@ + +# +# Freertos Configuration +# +CONFIG_TARGET_NAME="e2000q_freertos_a32" +# end of Freertos Configuration + +# +# Standalone Setting +# +CONFIG_USE_FREERTOS=y + +# +# Arch Configuration +# +CONFIG_TARGET_ARMV8_AARCH32=y +# CONFIG_TARGET_ARMV8_AARCH64 is not set +CONFIG_USE_CACHE=y +CONFIG_USE_MMU=y +CONFIG_USE_SYS_TICK=y +CONFIG_USE_AARCH64_L1_TO_AARCH32=y +# end of Arch Configuration + +# +# Board Configuration +# +# CONFIG_TARGET_F2000_4 is not set +# CONFIG_TARGET_D2000 is not set +CONFIG_TARGET_E2000Q=y +# CONFIG_TARGET_E2000D is not set +# CONFIG_TARGET_E2000S is not set +CONFIG_TARGET_E2000=y +CONFIG_DEFAULT_DEBUG_PRINT_UART1=y +# CONFIG_DEFAULT_DEBUG_PRINT_UART0 is not set +# CONFIG_DEFAULT_DEBUG_PRINT_UART2 is not set +# end of Board Configuration + +# +# Components Configuration +# +# CONFIG_USE_SPI is not set +# CONFIG_USE_QSPI is not set +CONFIG_USE_GIC=y +CONFIG_ENABLE_GICV3=y +CONFIG_USE_SERIAL=y + +# +# Usart Configuration +# +CONFIG_ENABLE_Pl011_UART=y +# end of Usart Configuration + +# CONFIG_USE_GPIO is not set +# CONFIG_USE_ETH is not set +CONFIG_USE_CAN=y + +# +# CAN Configuration +# +CONFIG_USE_FCAN=y +# CONFIG_FCAN_USE_CANFD is not set +# end of CAN Configuration + +# CONFIG_USE_I2C is not set +# CONFIG_USE_TIMER is not set +# CONFIG_USE_MIO is not set +# CONFIG_USE_SDMMC is not set +# CONFIG_USE_PCIE is not set +# CONFIG_USE_WDT is not set +# CONFIG_USE_DMA is not set +# CONFIG_USE_NAND is not set +# CONFIG_USE_RTC is not set +# CONFIG_USE_SATA is not set +# CONFIG_USE_USB is not set +# CONFIG_USE_ADC is not set +# CONFIG_USE_PWM is not set +# CONFIG_USE_IPC is not set +# end of Components Configuration + +CONFIG_USE_NEW_LIBC=y +# end of Standalone Setting + +# +# Building Option +# +# CONFIG_LOG_VERBOS is not set +# CONFIG_LOG_DEBUG is not set +CONFIG_LOG_INFO=y +# CONFIG_LOG_WARN is not set +# CONFIG_LOG_ERROR is not set +# CONFIG_LOG_NONE is not set +CONFIG_USE_DEFAULT_INTERRUPT_CONFIG=y +CONFIG_INTERRUPT_ROLE_MASTER=y +# CONFIG_INTERRUPT_ROLE_SLAVE is not set +# CONFIG_LOG_EXTRA_INFO is not set +# CONFIG_BOOTUP_DEBUG_PRINTS is not set + +# +# Linker Options +# +CONFIG_AARCH32_RAM_LD=y +# CONFIG_AARCH64_RAM_LD is not set +# CONFIG_USER_DEFINED_LD is not set +CONFIG_LINK_SCRIPT_ROM=y +CONFIG_ROM_START_UP_ADDR=0x80100000 +CONFIG_ROM_SIZE_MB=1 +CONFIG_LINK_SCRIPT_RAM=y +CONFIG_RAM_START_UP_ADDR=0x81000000 +CONFIG_RAM_SIZE_MB=64 +CONFIG_HEAP_SIZE=1 +CONFIG_SVC_STACK_SIZE=0x1000 +CONFIG_SYS_STACK_SIZE=0x1000 +CONFIG_IRQ_STACK_SIZE=0x1000 +CONFIG_ABORT_STACK_SIZE=0x1000 +CONFIG_FIQ_STACK_SIZE=0x1000 +CONFIG_UNDEF_STACK_SIZE=0x1000 +# end of Linker Options + +# +# Compiler Options +# +CONFIG_OUTPUT_BINARY=y +# end of Compiler Options +# end of Building Option + +# +# Component Configuration +# + +# +# Freertos Uart Drivers +# +CONFIG_FREERTOS_USE_UART=y +# end of Freertos Uart Drivers + +# +# Freertos Pwm Drivers +# +# CONFIG_FREERTOS_USE_PWM is not set +# end of Freertos Pwm Drivers + +# +# Freertos Qspi Drivers +# +# CONFIG_FREERTOS_USE_QSPI is not set +# end of Freertos Qspi Drivers + +# +# Freertos Wdt Drivers +# +# CONFIG_FREERTOS_USE_WDT is not set +# end of Freertos Wdt Drivers + +# +# Freertos Eth Drivers +# +# CONFIG_FREERTOS_USE_XMAC is not set +# end of Freertos Eth Drivers + +# +# Freertos Gpio Drivers +# +# CONFIG_FREERTOS_USE_GPIO is not set +# end of Freertos Gpio Drivers + +# +# Freertos Spim Drivers +# +# CONFIG_FREERTOS_USE_FSPIM is not set +# end of Freertos Spim Drivers + +# +# Freertos DMA Drivers +# +# CONFIG_FREERTOS_USE_FDDMA is not set +# CONFIG_FREERTOS_USE_FGDMA is not set +# end of Freertos DMA Drivers + +# +# Freertos MMC Drivers +# +# CONFIG_FREERTOS_USE_FSDIO is not set +# end of Freertos MMC Drivers + +# +# Freertos Adc Drivers +# +# CONFIG_FREERTOS_USE_ADC is not set +# end of Freertos Adc Drivers + +# +# Freertos Can Drivers +# +CONFIG_FREERTOS_USE_CAN=y +# end of Freertos Can Drivers +# end of Component Configuration + +# +# FreeRTOS Setting +# +# CONFIG_USE_LWIP is not set +CONFIG_USE_BACKTRACE=y +# CONFIG_USE_FATFS is not set +# CONFIG_USE_SFUD is not set +# CONFIG_USE_SPIFFS is not set +# CONFIG_USE_AMP is not set +CONFIG_USE_LETTER_SHELL=y + +# +# Letter Shell Configuration +# +CONFIG_LS_PL011_UART=y +CONFIG_DEFAULT_LETTER_SHELL_USE_UART1=y +# CONFIG_DEFAULT_LETTER_SHELL_USE_UART0 is not set +# CONFIG_DEFAULT_LETTER_SHELL_USE_UART2 is not set +# end of Letter Shell Configuration + +# CONFIG_USE_TLSF is not set +# CONFIG_USE_SDMMC_CMD is not set +# end of FreeRTOS Setting diff --git a/example/peripheral/can/configs/e2000q_aarch64_eg_configs b/example/peripheral/can/configs/e2000q_aarch64_eg_configs new file mode 100644 index 00000000..021f45a8 --- /dev/null +++ b/example/peripheral/can/configs/e2000q_aarch64_eg_configs @@ -0,0 +1,216 @@ + +# +# Freertos Configuration +# +CONFIG_TARGET_NAME="e2000q_freertos_a64" +# end of Freertos Configuration + +# +# Standalone Setting +# +CONFIG_USE_FREERTOS=y + +# +# Arch Configuration +# +# CONFIG_TARGET_ARMV8_AARCH32 is not set +CONFIG_TARGET_ARMV8_AARCH64=y +CONFIG_USE_CACHE=y +CONFIG_USE_MMU=y +CONFIG_USE_SYS_TICK=y +# CONFIG_MMU_DEBUG_PRINTS is not set +# end of Arch Configuration + +# +# Board Configuration +# +# CONFIG_TARGET_F2000_4 is not set +# CONFIG_TARGET_D2000 is not set +CONFIG_TARGET_E2000Q=y +# CONFIG_TARGET_E2000D is not set +# CONFIG_TARGET_E2000S is not set +CONFIG_TARGET_E2000=y +CONFIG_DEFAULT_DEBUG_PRINT_UART1=y +# CONFIG_DEFAULT_DEBUG_PRINT_UART0 is not set +# CONFIG_DEFAULT_DEBUG_PRINT_UART2 is not set +# end of Board Configuration + +# +# Components Configuration +# +# CONFIG_USE_SPI is not set +# CONFIG_USE_QSPI is not set +CONFIG_USE_GIC=y +CONFIG_ENABLE_GICV3=y +CONFIG_USE_SERIAL=y + +# +# Usart Configuration +# +CONFIG_ENABLE_Pl011_UART=y +# end of Usart Configuration + +# CONFIG_USE_GPIO is not set +# CONFIG_USE_ETH is not set +CONFIG_USE_CAN=y + +# +# CAN Configuration +# +CONFIG_USE_FCAN=y +# CONFIG_FCAN_USE_CANFD is not set +# end of CAN Configuration + +# CONFIG_USE_I2C is not set +# CONFIG_USE_TIMER is not set +# CONFIG_USE_MIO is not set +# CONFIG_USE_SDMMC is not set +# CONFIG_USE_PCIE is not set +# CONFIG_USE_WDT is not set +# CONFIG_USE_DMA is not set +# CONFIG_USE_NAND is not set +# CONFIG_USE_RTC is not set +# CONFIG_USE_SATA is not set +# CONFIG_USE_USB is not set +# CONFIG_USE_ADC is not set +# CONFIG_USE_PWM is not set +# CONFIG_USE_IPC is not set +# end of Components Configuration + +CONFIG_USE_NEW_LIBC=y +# end of Standalone Setting + +# +# Building Option +# +# CONFIG_LOG_VERBOS is not set +# CONFIG_LOG_DEBUG is not set +CONFIG_LOG_INFO=y +# CONFIG_LOG_WARN is not set +# CONFIG_LOG_ERROR is not set +# CONFIG_LOG_NONE is not set +CONFIG_USE_DEFAULT_INTERRUPT_CONFIG=y +CONFIG_INTERRUPT_ROLE_MASTER=y +# CONFIG_INTERRUPT_ROLE_SLAVE is not set +# CONFIG_LOG_EXTRA_INFO is not set +# CONFIG_BOOTUP_DEBUG_PRINTS is not set + +# +# Linker Options +# +# CONFIG_AARCH32_RAM_LD is not set +CONFIG_AARCH64_RAM_LD=y +# CONFIG_USER_DEFINED_LD is not set +CONFIG_LINK_SCRIPT_ROM=y +CONFIG_ROM_START_UP_ADDR=0x80100000 +CONFIG_ROM_SIZE_MB=1 +CONFIG_LINK_SCRIPT_RAM=y +CONFIG_RAM_START_UP_ADDR=0x81000000 +CONFIG_RAM_SIZE_MB=64 +CONFIG_HEAP_SIZE=1 +CONFIG_STACK_SIZE=0x100000 +CONFIG_FPU_STACK_SIZE=0x1000 +# end of Linker Options + +# +# Compiler Options +# +CONFIG_OUTPUT_BINARY=y +# end of Compiler Options +# end of Building Option + +# +# Component Configuration +# + +# +# Freertos Uart Drivers +# +CONFIG_FREERTOS_USE_UART=y +# end of Freertos Uart Drivers + +# +# Freertos Pwm Drivers +# +# CONFIG_FREERTOS_USE_PWM is not set +# end of Freertos Pwm Drivers + +# +# Freertos Qspi Drivers +# +# CONFIG_FREERTOS_USE_QSPI is not set +# end of Freertos Qspi Drivers + +# +# Freertos Wdt Drivers +# +# CONFIG_FREERTOS_USE_WDT is not set +# end of Freertos Wdt Drivers + +# +# Freertos Eth Drivers +# +# CONFIG_FREERTOS_USE_XMAC is not set +# end of Freertos Eth Drivers + +# +# Freertos Gpio Drivers +# +# CONFIG_FREERTOS_USE_GPIO is not set +# end of Freertos Gpio Drivers + +# +# Freertos Spim Drivers +# +# CONFIG_FREERTOS_USE_FSPIM is not set +# end of Freertos Spim Drivers + +# +# Freertos DMA Drivers +# +# CONFIG_FREERTOS_USE_FDDMA is not set +# CONFIG_FREERTOS_USE_FGDMA is not set +# end of Freertos DMA Drivers + +# +# Freertos MMC Drivers +# +# CONFIG_FREERTOS_USE_FSDIO is not set +# end of Freertos MMC Drivers + +# +# Freertos Adc Drivers +# +# CONFIG_FREERTOS_USE_ADC is not set +# end of Freertos Adc Drivers + +# +# Freertos Can Drivers +# +CONFIG_FREERTOS_USE_CAN=y +# end of Freertos Can Drivers +# end of Component Configuration + +# +# FreeRTOS Setting +# +# CONFIG_USE_LWIP is not set +CONFIG_USE_BACKTRACE=y +# CONFIG_USE_FATFS is not set +# CONFIG_USE_SFUD is not set +# CONFIG_USE_SPIFFS is not set +# CONFIG_USE_AMP is not set +CONFIG_USE_LETTER_SHELL=y + +# +# Letter Shell Configuration +# +CONFIG_LS_PL011_UART=y +CONFIG_DEFAULT_LETTER_SHELL_USE_UART1=y +# CONFIG_DEFAULT_LETTER_SHELL_USE_UART0 is not set +# CONFIG_DEFAULT_LETTER_SHELL_USE_UART2 is not set +# end of Letter Shell Configuration + +# CONFIG_USE_TLSF is not set +# CONFIG_USE_SDMMC_CMD is not set +# end of FreeRTOS Setting diff --git a/example/peripheral/can/configs/ft2004_aarch32_eg_configs b/example/peripheral/can/configs/ft2004_aarch32_eg_configs new file mode 100644 index 00000000..317e341a --- /dev/null +++ b/example/peripheral/can/configs/ft2004_aarch32_eg_configs @@ -0,0 +1,219 @@ + +# +# Freertos Configuration +# +CONFIG_TARGET_NAME="ft2004_freertos_a32" +# end of Freertos Configuration + +# +# Standalone Setting +# +CONFIG_USE_FREERTOS=y + +# +# Arch Configuration +# +CONFIG_TARGET_ARMV8_AARCH32=y +# CONFIG_TARGET_ARMV8_AARCH64 is not set +CONFIG_USE_CACHE=y +CONFIG_USE_L3CACHE=y +CONFIG_USE_MMU=y +CONFIG_USE_SYS_TICK=y +CONFIG_USE_AARCH64_L1_TO_AARCH32=y +# end of Arch Configuration + +# +# Board Configuration +# +CONFIG_TARGET_F2000_4=y +# CONFIG_TARGET_D2000 is not set +# CONFIG_TARGET_E2000Q is not set +# CONFIG_TARGET_E2000D is not set +# CONFIG_TARGET_E2000S is not set +CONFIG_DEFAULT_DEBUG_PRINT_UART1=y +# CONFIG_DEFAULT_DEBUG_PRINT_UART0 is not set +# CONFIG_DEFAULT_DEBUG_PRINT_UART2 is not set +# end of Board Configuration + +# +# Components Configuration +# +# CONFIG_USE_SPI is not set +# CONFIG_USE_QSPI is not set +CONFIG_USE_GIC=y +CONFIG_ENABLE_GICV3=y +CONFIG_USE_SERIAL=y + +# +# Usart Configuration +# +CONFIG_ENABLE_Pl011_UART=y +# end of Usart Configuration + +# CONFIG_USE_GPIO is not set +# CONFIG_USE_ETH is not set +CONFIG_USE_CAN=y + +# +# CAN Configuration +# +CONFIG_USE_FCAN=y +# end of CAN Configuration + +# CONFIG_USE_I2C is not set +# CONFIG_USE_TIMER is not set +# CONFIG_USE_MIO is not set +# CONFIG_USE_SDMMC is not set +# CONFIG_USE_PCIE is not set +# CONFIG_USE_WDT is not set +# CONFIG_USE_DMA is not set +# CONFIG_USE_NAND is not set +# CONFIG_USE_RTC is not set +# CONFIG_USE_SATA is not set +# CONFIG_USE_USB is not set +# CONFIG_USE_ADC is not set +# CONFIG_USE_PWM is not set +# CONFIG_USE_IPC is not set +# end of Components Configuration + +CONFIG_USE_NEW_LIBC=y +# end of Standalone Setting + +# +# Building Option +# +# CONFIG_LOG_VERBOS is not set +# CONFIG_LOG_DEBUG is not set +CONFIG_LOG_INFO=y +# CONFIG_LOG_WARN is not set +# CONFIG_LOG_ERROR is not set +# CONFIG_LOG_NONE is not set +CONFIG_USE_DEFAULT_INTERRUPT_CONFIG=y +CONFIG_INTERRUPT_ROLE_MASTER=y +# CONFIG_INTERRUPT_ROLE_SLAVE is not set +# CONFIG_LOG_EXTRA_INFO is not set +# CONFIG_BOOTUP_DEBUG_PRINTS is not set + +# +# Linker Options +# +CONFIG_AARCH32_RAM_LD=y +# CONFIG_AARCH64_RAM_LD is not set +# CONFIG_USER_DEFINED_LD is not set +CONFIG_LINK_SCRIPT_ROM=y +CONFIG_ROM_START_UP_ADDR=0x80100000 +CONFIG_ROM_SIZE_MB=1 +CONFIG_LINK_SCRIPT_RAM=y +CONFIG_RAM_START_UP_ADDR=0x81000000 +CONFIG_RAM_SIZE_MB=64 +CONFIG_HEAP_SIZE=1 +CONFIG_SVC_STACK_SIZE=0x1000 +CONFIG_SYS_STACK_SIZE=0x1000 +CONFIG_IRQ_STACK_SIZE=0x1000 +CONFIG_ABORT_STACK_SIZE=0x1000 +CONFIG_FIQ_STACK_SIZE=0x1000 +CONFIG_UNDEF_STACK_SIZE=0x1000 +# end of Linker Options + +# +# Compiler Options +# +CONFIG_OUTPUT_BINARY=y +# end of Compiler Options +# end of Building Option + +# +# Component Configuration +# + +# +# Freertos Uart Drivers +# +CONFIG_FREERTOS_USE_UART=y +# end of Freertos Uart Drivers + +# +# Freertos Pwm Drivers +# +# CONFIG_FREERTOS_USE_PWM is not set +# end of Freertos Pwm Drivers + +# +# Freertos Qspi Drivers +# +# CONFIG_FREERTOS_USE_QSPI is not set +# end of Freertos Qspi Drivers + +# +# Freertos Wdt Drivers +# +# CONFIG_FREERTOS_USE_WDT is not set +# end of Freertos Wdt Drivers + +# +# Freertos Eth Drivers +# +# CONFIG_FREERTOS_USE_XMAC is not set +# end of Freertos Eth Drivers + +# +# Freertos Gpio Drivers +# +# CONFIG_FREERTOS_USE_GPIO is not set +# end of Freertos Gpio Drivers + +# +# Freertos Spim Drivers +# +# CONFIG_FREERTOS_USE_FSPIM is not set +# end of Freertos Spim Drivers + +# +# Freertos DMA Drivers +# +# CONFIG_FREERTOS_USE_FDDMA is not set +# CONFIG_FREERTOS_USE_FGDMA is not set +# end of Freertos DMA Drivers + +# +# Freertos MMC Drivers +# +# CONFIG_FREERTOS_USE_FSDIO is not set +# end of Freertos MMC Drivers + +# +# Freertos Adc Drivers +# +# CONFIG_FREERTOS_USE_ADC is not set +# end of Freertos Adc Drivers + +# +# Freertos Can Drivers +# +CONFIG_FREERTOS_USE_CAN=y +# end of Freertos Can Drivers +# end of Component Configuration + +# +# FreeRTOS Setting +# +# CONFIG_USE_LWIP is not set +CONFIG_USE_BACKTRACE=y +# CONFIG_USE_FATFS is not set +# CONFIG_USE_SFUD is not set +# CONFIG_USE_SPIFFS is not set +# CONFIG_USE_AMP is not set +CONFIG_USE_LETTER_SHELL=y + +# +# Letter Shell Configuration +# +CONFIG_LS_PL011_UART=y +CONFIG_DEFAULT_LETTER_SHELL_USE_UART1=y +# CONFIG_DEFAULT_LETTER_SHELL_USE_UART0 is not set +# CONFIG_DEFAULT_LETTER_SHELL_USE_UART2 is not set +# end of Letter Shell Configuration + +# CONFIG_USE_TLSF is not set +# CONFIG_USE_SDMMC_CMD is not set +# end of FreeRTOS Setting diff --git a/example/peripheral/can/configs/ft2004_aarch64_eg_configs b/example/peripheral/can/configs/ft2004_aarch64_eg_configs new file mode 100644 index 00000000..5111a792 --- /dev/null +++ b/example/peripheral/can/configs/ft2004_aarch64_eg_configs @@ -0,0 +1,215 @@ + +# +# Freertos Configuration +# +CONFIG_TARGET_NAME="ft2004_freertos_a64" +# end of Freertos Configuration + +# +# Standalone Setting +# +CONFIG_USE_FREERTOS=y + +# +# Arch Configuration +# +# CONFIG_TARGET_ARMV8_AARCH32 is not set +CONFIG_TARGET_ARMV8_AARCH64=y +CONFIG_USE_CACHE=y +CONFIG_USE_L3CACHE=y +CONFIG_USE_MMU=y +CONFIG_USE_SYS_TICK=y +# CONFIG_MMU_DEBUG_PRINTS is not set +# end of Arch Configuration + +# +# Board Configuration +# +CONFIG_TARGET_F2000_4=y +# CONFIG_TARGET_D2000 is not set +# CONFIG_TARGET_E2000Q is not set +# CONFIG_TARGET_E2000D is not set +# CONFIG_TARGET_E2000S is not set +CONFIG_DEFAULT_DEBUG_PRINT_UART1=y +# CONFIG_DEFAULT_DEBUG_PRINT_UART0 is not set +# CONFIG_DEFAULT_DEBUG_PRINT_UART2 is not set +# end of Board Configuration + +# +# Components Configuration +# +# CONFIG_USE_SPI is not set +# CONFIG_USE_QSPI is not set +CONFIG_USE_GIC=y +CONFIG_ENABLE_GICV3=y +CONFIG_USE_SERIAL=y + +# +# Usart Configuration +# +CONFIG_ENABLE_Pl011_UART=y +# end of Usart Configuration + +# CONFIG_USE_GPIO is not set +# CONFIG_USE_ETH is not set +CONFIG_USE_CAN=y + +# +# CAN Configuration +# +CONFIG_USE_FCAN=y +# end of CAN Configuration + +# CONFIG_USE_I2C is not set +# CONFIG_USE_TIMER is not set +# CONFIG_USE_MIO is not set +# CONFIG_USE_SDMMC is not set +# CONFIG_USE_PCIE is not set +# CONFIG_USE_WDT is not set +# CONFIG_USE_DMA is not set +# CONFIG_USE_NAND is not set +# CONFIG_USE_RTC is not set +# CONFIG_USE_SATA is not set +# CONFIG_USE_USB is not set +# CONFIG_USE_ADC is not set +# CONFIG_USE_PWM is not set +# CONFIG_USE_IPC is not set +# end of Components Configuration + +CONFIG_USE_NEW_LIBC=y +# end of Standalone Setting + +# +# Building Option +# +# CONFIG_LOG_VERBOS is not set +# CONFIG_LOG_DEBUG is not set +CONFIG_LOG_INFO=y +# CONFIG_LOG_WARN is not set +# CONFIG_LOG_ERROR is not set +# CONFIG_LOG_NONE is not set +CONFIG_USE_DEFAULT_INTERRUPT_CONFIG=y +CONFIG_INTERRUPT_ROLE_MASTER=y +# CONFIG_INTERRUPT_ROLE_SLAVE is not set +# CONFIG_LOG_EXTRA_INFO is not set +# CONFIG_BOOTUP_DEBUG_PRINTS is not set + +# +# Linker Options +# +# CONFIG_AARCH32_RAM_LD is not set +CONFIG_AARCH64_RAM_LD=y +# CONFIG_USER_DEFINED_LD is not set +CONFIG_LINK_SCRIPT_ROM=y +CONFIG_ROM_START_UP_ADDR=0x80100000 +CONFIG_ROM_SIZE_MB=1 +CONFIG_LINK_SCRIPT_RAM=y +CONFIG_RAM_START_UP_ADDR=0x81000000 +CONFIG_RAM_SIZE_MB=64 +CONFIG_HEAP_SIZE=1 +CONFIG_STACK_SIZE=0x100000 +CONFIG_FPU_STACK_SIZE=0x1000 +# end of Linker Options + +# +# Compiler Options +# +CONFIG_OUTPUT_BINARY=y +# end of Compiler Options +# end of Building Option + +# +# Component Configuration +# + +# +# Freertos Uart Drivers +# +CONFIG_FREERTOS_USE_UART=y +# end of Freertos Uart Drivers + +# +# Freertos Pwm Drivers +# +# CONFIG_FREERTOS_USE_PWM is not set +# end of Freertos Pwm Drivers + +# +# Freertos Qspi Drivers +# +# CONFIG_FREERTOS_USE_QSPI is not set +# end of Freertos Qspi Drivers + +# +# Freertos Wdt Drivers +# +# CONFIG_FREERTOS_USE_WDT is not set +# end of Freertos Wdt Drivers + +# +# Freertos Eth Drivers +# +# CONFIG_FREERTOS_USE_XMAC is not set +# end of Freertos Eth Drivers + +# +# Freertos Gpio Drivers +# +# CONFIG_FREERTOS_USE_GPIO is not set +# end of Freertos Gpio Drivers + +# +# Freertos Spim Drivers +# +# CONFIG_FREERTOS_USE_FSPIM is not set +# end of Freertos Spim Drivers + +# +# Freertos DMA Drivers +# +# CONFIG_FREERTOS_USE_FDDMA is not set +# CONFIG_FREERTOS_USE_FGDMA is not set +# end of Freertos DMA Drivers + +# +# Freertos MMC Drivers +# +# CONFIG_FREERTOS_USE_FSDIO is not set +# end of Freertos MMC Drivers + +# +# Freertos Adc Drivers +# +# CONFIG_FREERTOS_USE_ADC is not set +# end of Freertos Adc Drivers + +# +# Freertos Can Drivers +# +CONFIG_FREERTOS_USE_CAN=y +# end of Freertos Can Drivers +# end of Component Configuration + +# +# FreeRTOS Setting +# +# CONFIG_USE_LWIP is not set +CONFIG_USE_BACKTRACE=y +# CONFIG_USE_FATFS is not set +# CONFIG_USE_SFUD is not set +# CONFIG_USE_SPIFFS is not set +# CONFIG_USE_AMP is not set +CONFIG_USE_LETTER_SHELL=y + +# +# Letter Shell Configuration +# +CONFIG_LS_PL011_UART=y +CONFIG_DEFAULT_LETTER_SHELL_USE_UART1=y +# CONFIG_DEFAULT_LETTER_SHELL_USE_UART0 is not set +# CONFIG_DEFAULT_LETTER_SHELL_USE_UART2 is not set +# end of Letter Shell Configuration + +# CONFIG_USE_TLSF is not set +# CONFIG_USE_SDMMC_CMD is not set +# end of FreeRTOS Setting diff --git a/example/peripheral/can/figs/create.png b/example/peripheral/can/figs/create.png new file mode 100644 index 0000000000000000000000000000000000000000..c362376d9017652502d1c5a85ed920a51a0b6feb GIT binary patch literal 54844 zcmce-Wl$Vl8-|&L1QH}9K!QVXch?DS!QDe}9o!j0aCf)hZozeMhr!+5-3DfcP2O*- zcK7$z?o-{>bxxh?uI@f^_x0Qzs-z%=fl7e-;>8OL8EJ8q7cX9J{N3^2BLA&Xl(`fC zdwA)jA|?8wa-8V!Z{fAMh`h*)7d6pnFrzmwUd-;vh>NJX8=PdKc;oaf|I9ufD!5m` z!V;y;30m_ye}!87We#G{`D?)o7*f2@Dy{tW<)QR>dtva+np5*K@XYb+S4TIz54T`U zFg$j7G1Ft+^1Q9Kl>@av1zIv>685#AU#3i?D?8T8s+e8oV8@uT*k0~ zk4=POv}G@|Lq4xS2lJdAr&TkXvY7~Zl=VzH7Z*MKnQ#=`A0M~8);9fv%dll@}{Rxg<+HkEDQa=OK?rjmFUX`DVS->+C3FcBGuSLq*klBKNH}~;<^^Xclnf40su}G-q22O{L7odbxu=5mHRi6b`(>r8+B*{uW z88MD->&#MZp1a=9Yv5$(v65vUWNDQ>3!IB2nKp9}>!maBIl_+8v}ulhzSG} z8y73GHwyD*cdJlH8dD*sBMDJuz1((x+8+qv*p1K7wh=OvpGuM#&AdliRA}f1Z@b6d z&V1U0T&2#CsL_<~`}6GoVbUKML?JQx7Hppp@bMNk>UV5oY_BmL4qBhJqZ`M4!8x7X zN^}jjZqDG)Z`q=OvJ+l_4-8E=&WV*4C&2XtQkPydIoE?9h-_t5mooMI9Z^L3$I+KW z`LZ1kU`nn};S&=u!te=K^7XVk-`&Mgwh^9W56dvD=>vdJ@)1ysu}Y zGo)F%l~RWH#?obm%g9QnzqD{)*1J;{ritEF7gNE zXjr&HEUkUy(U7s?ipY`_$HRA3dg{%**W85t>DMGQn$9a@BXg|KSdaG_)lS4FO9Plr z=NTAt*I!a2@Wg3OK7MCd`EvDja0go=d0aXFL?D8>{7pqJQt_}r*B*eI;*W|+BL_&i z;@~rGWKlTlcPjH?h?V{k20*hT>1KUBz%BgaXy!BJ)Su+0ry3T%ipk%~sc>yyYT;XE z4zFFu=Le~U6y0BouLE7P#+@)RP38q^J-lv}o$b~lz~>T@52RZ|i%z^6pZbY`V7aH2 zXb;$~;UK+o9`9}3g!m!nQ>zM)x-BgN0m%x!&U8FpDY6?Cvu&=>HW{x~hJJDN1sDgiI9UNOcdyp<}rESmmp@Ssi^^57b) zPljxZaJV@j>8-KV<+ZE)`F;i*qcw@pk=Q0bipOhKNwL?uA#EMxS+ZJhweC3{TOXq| zLxZ0b0MXK+x+X=>i%eHyE8oQcQa#6s>rvjWJ;ajSoxT*u840onpQw53C!vZVz(e_yHCACLEtnmkPNkF#|PYloTD zpxo-9+X#2K!XJtn`5ueUxm{C52Cq~i{f38!Yo*ldyQciIa}f4i!bYne7I&(G_Ve;L zcJm=AO`sL;C!DQc64kO&?(@ef@CE+}3zE>PWL%%3^?}-Z!(hDVg?9j+SSuND?ytB6 zY|0&(VlH}RWGqRsdi6s3QtOD%dCL0g48|^zJndD4V#eDd8qc7Vqa!QXD^%@9cOE
AZ(8gl@oXlZGr2o)!7FtAvZ!;Enq{J{*lCm4w>x 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 B~ zW%=@gH_w|erx)F;s{(=tlY9EEhzq8PTiHorv7Z&ubYg~gpK943qn6f#=&+;H8DB8i z+IpT{obY)0WmJyHk z@0I~k@Vth$v2s@>dlwp|^RFZ6H}d31W(r_}nPkwBRBj;5rsAG`J<88=it*B%=14MW z*g~qRXGkugaVoi+yLP=GH+RQz{Rv;uwS&skOr15ciy#uqU4~#L6})w~RfzxQ>Lprt z*w9c%7HY5&HL-ZNaED^7-@4DL-lNzF7ktgNYhv|czK*z2~AmIiLjj;NuM zMFe@INGooS30qAL=}Rkp#~ILC%lW1hH#0XgF|ni|M!rqhLt~ife-k3o3KLxg00h~^ z#FE=XjL*)}^*P1E94Z5A*|NvWIGh%rL352!cFKP{tSRQR_0qHb%4~AVOQ*qFY_jI1 zIb3VnyfToHGpQ3bAIhoPWDJtKb!6d6X%rYa*(Ba&nQ`R9KLz&IlX|ME)f`jbs%i%U6@SJBeF z>8|G_K4gouf%DF3FdHvB4>Nw_yVOV>-ia}`OwSjOA%gTS$JAIA)f(7(&?9(fv&S9O z|Fi#E2@|7Gdbz37?I-5%0_{Fq2k`Jhy(mdAH@{YDvWBWe>SXA^x?CiLUucoJvX+e& z(nO~6B;oGSZ%)XwPPr*9rA8#!&pWzU&Le~j4o02({IUYAYquqtJy^6;9v&MRjwMhf zDOU46p}LOFwhlr_0 z(Na+sA&~(8)3h$@Vg$m$j1?s4dbj`T;7G%=Z+5U!3887rAFMZPT&})FI`h)Yf>+S> z@%wiAxfZ7r{-)#)Rq}JD6xRnN><%<^WmnYR7Rl9&VN`)7_=E<+ElqRUPPm2^H_6yF z2B_?6=ikuH%u9GUz6#q`sWVqjuSK*@PgPcSYd`%znDq9f(daWL z3c>#W3$gxxz%OzX*9-+U1=fqazLri8r6yb3wx9BCYTHt}c)ETy;WAYcK@rE3lZiAm zlHnsp_jUYFZlwWtYBm&;`co}M{5eTRv?6|zSy*cz2p~&W_pePf#eOU{+73_$v7$JU3!W+E& zBpPAOh%V!UuV&O1!EWRi)Z7vMC_tcxLJw@%k75y=Oewg1alpZ&3*Wk{xCqczO}an@ z^_bz!7|oQF6==UFuf9Dc_VRu7@IjSt%cr&=Dnx{$kAtC4s(!BFMJ^zBBNEbP`!=N5)PETpnIhG^V%H7PeneYqZo-=A~i z?d3}!oOs9jsSsmEdGRhDV=TMJ(J%WeJDxU2;N~fZtwQ=En|b5g|2N({>arM$i*0{C zd-^vqc{fSYS?uHFl;#=m5Sp^Stc7%%+QvIh_Z0$?vZF$GvAWa6PrbD%W|CcI zly%<0!ueHY8!UVB!@JDh_A}EzDH6yjCsl?h3AHRV!6DDp+48hgy0aA-Aa)CTx`iYd zZ6qBZTMnMmeM*1(%HW*C>GQ*{n^m9O1NOKtl`XTLtP3N?N8kQVD0uH?KAq<40-)&^ zV}*De<@!J2Xm$%zDjZ^CY6kbW0B?^;UiTXwFBaB~f3@o%ZE8!!@ju(|tJQ2M&#s({ z3W`#Oxu6NIf@C=aueA9$BMiIi@l^#JuNoh?OR=F=vkqcmU9sC!d8 zcN;#R{>xh+i=mmKRx{txzR329xbx!db|h zB*+xK`I!Bw<>H7P!zJo4y0wwQA#;8f}}WaId0&#-xL`xV_(?@Arf zZzv>Wux3x{F&fY3ezaM$q66Qejuk|DfPfOvr5~?2?^IvTQJM`+t6U&s*c(i@gyij_ zS?6^I(*nut-U!xpg*s}l{&i?%oMvsnXmrX{_#ypjFrJXFR3NG+Xg$b{tECNy-f+~$|4ls29+xWH{j4cG{zUJHm&(r;-nn;kEj zyPxi#C+LFX+cCYz(yS22j+gXQnyqm2S30Vo-`OS8s$Lwvc358MbfA8jN`yd3qngEl zl5x+CpWc!+W}O~Qrk_r5ke_FjF|9(=?KC1OMRIEzglkmyUnfu|s64QF9tui^#Dys* zl}AOdyvL;!>f0Fc-zQTxY?)DizX@%Gh8vL0*QC$sUT;uW7OUXjzDtoO1;V+C34v@6$Jc&Ko73+y%h zH^M(BfrhPQUQA6}T=Om&@w!>jOvCJ=^s{^%dKcsPPQL81#VV}(GA8EZ-{w>dtCIFm zsrwrj4hU|tU`WX;!L9e0B~J^V&JD0!(#3@=H-oOzz%| zxvGj*+ykdp91?1%E6=m9^HF$jl5FMm@jI2;)q3ypWSvJK-eQ)PrAFZXu$*pl@aL0N z>|MgpZu;0S#QjO_=PcKjEnaag#et9bx|u^oyuZb}Y8;T8P$G=ZZD`B?4-)n zJ<4uD>Ed?4=2umIIP|Ts0Nx`Wh47nw-w^YOS)@G-59l8&OXU+POBIkZXng-ubV!;H z#y?*gH8t{JzxZ7mIq^bh5HCN*l-jsYe7Ta7z7&Q9pfKS3OJ95ti|?jK5)Yw-f^m;JlsLkbJYlIwHBUv-ok{|}Rd^iO@8 z(Ih_I;wN{Z6o^?q?o4?UEsWfs4C$7_AlN%%Hr9}>E`Jx0$Np|Ihm_BS;Xz8o88`kz zNf!U_xyq<9(x^LB7yr(y*Zp90(D`N}_O5W^P&zKdLx+lPYK8>_!(WT8qLS-&GnpGs zF0}Vi=4)tv-6x2w8(UnnAhP9*|5B|GbR5o{ab0EMr6%j2Z(q=I`~l)9rmPCIG2roi z7Qp^{_&Y!D;BvPZ-t4FI7sH?fRm(M=WHI#MiElC#qB+iIY8q=Z=7TSKS^|H+cf2GM zN%x`U@kid#iujMy+9$WWjUw$L`33Uao#~I0gh6d~1Q_vD-Mk#JWo6%b(7LRN)C#*R z$Dgs~a-;-Ka$e>LK$fnuOH8n{!0(CkvuNEt}M?zH0xMQul>+@qAG(+-5n_w zfT=O(x_%nSrO+TZRFm%p`|t{PH^J_oix#pIU&C44bfrQtNiC=n_#4(2cPOAYkqsK? zCItYTxI7=nf<`_b$Y|OY&|P4bgKY0qGJAeK&tYDC5LH-x{2fbHXpd%}FS!Hzl2`jX zASz34NOaW7Q3_1rfWC)u<5rdT>yi&HE@5PmlO2WXKuF7$DQ7iO~sO(2|=s&!t9bs zusHlxA4|m*iV0!h^KXw$0Iw*X*__0TM}L3d$-CL@$r$Py(z&3at`(DTF=CL#oyF%Z zdNXSyJH%#3=lSOwnjr;dQ--1qwu}IEjA;xrRBRVOI z_YzIee>A!iq7J!&sK zcs+<`#3rgIcMV=+pG!~bC3CHiCfGz7` zAw`)lh?mx(ye|evVa-n~aVg-OBDAPLZl{eo!DLdg4Od5y2bI{OaXnl49gIAtUB};=o5ykylF4~eBH;7eMHDtcC|Glg|&Q$Y+ZDGL{M0$Y$`F0U}Dkj5V z+}Rcq5Z+UsTl);uV}x4O&8#iT)c`6P>KGtP`H0W@9tT7k6)@LJ0ox;_W|<(Miyp9e znp+vvoKLN9oulV&HL}vZL(OV7`?#c`tia{eQsCuSy*9lxNVa`20wm9bxoXDkQe?lr z@hUC{Q=O64{+D5wtNcEJH|h431+gJlxBRr!VRxJ@W=0e7Op&gu^Xe~IUm>A zRb96DM$39-mvc+cF*o}s(12BFjRwMuut{>K=M;qJ@)T>0pDsQSd{DD_r|-D)FdLPkCqiO2 z$H^yp<8<651HY(%~!Y|zHmVLk2 zvRiE6nM^zxzipX6CE+Mv;NdrW5W{XMiU|12#z^Zo7pS5B^_ zumIU)W*z{8eOMauWMfQCDA4zi?YP~I`QEh?)4gsypjlRYjsy6v^YNdwf#214gPXhY z8A0F8J?{ehmt!b);B~len+5XEk+xxf^St3;BQ(uTfPLIG4#!-(ecPLqIZBQv3=cNE zXy(EsZ=#=uSfTsR$7PS9z;6+r$;e+viU+vc>YY8FE~-5!RD5h8;6CxBaza(sXMhIl z;of<1^o@@57Eg}><-|V4qd@sLn~#2LPW}&P^F_s0NsV@IY%FSCw6`x@Vd_@TZSLL< zzLAQPiCZ1&J{K3BWOfka%>>RKMew4n(&4OofkWk~{`6@z!4;bGEOsG5fm^#Jpq5 zCNDbV-+%wEAOEK@B$}&%Yq+e!si5Eo^%?*aY!)WJnBm2+0R1*s--T>(V-)ssG`YfK zcY8qIBYdpVln|VAzdDYHlRW;Bq`i%a(8orPKs4S*s0f-rEVjjhkl!Q&6jO+ZbIOrf)(ihF+hqRqFL@PWd49R{uO;u=2*94akSB4drz(t5L+6{oc&O!#7!!WNpt>Ovj%vd?&QO z-zQ~_ItBtc$!pK~d3e<|&3>Hry}pd}Ocy0%@9FTgl4$)#7Gqwk1dfowCYSeTWK@hJ zYsaHdX#K1F0D4G-hx@*q0$kP`-3VK#pgr8$i53w^nvB z%@Rc^5-Ub??EMwnY^HCuD6lKzNk8DHZ5DN9h4aP17)(x7plO5AlL5HT$j3uAR4bwZ z?nb}I*VL79brchH7zU~sS;X06R5CkGaGMNkhST*WK5Ypj*T(FH#o&n?%(fgpeO&Gm z>;~C9p_h~+MREbVo26z@b{6IG+W#*KhHYS{gQ0lZ-C|UQ24FijioxM39hs{ZQlx4c zN!^PiA9zOui-KrlKFH#f_+i>VB4p>Nhtlcm23{jfNhpZpJM?-g-T1@DC|;h29%WGz zFjq7$e)|tNsT9o0P?Wrip7yG@IdP#2Vebz5@}dnyLkM@~KrkUJKolzgMLxdVTW=qY zR8R!F_*3?l4F6?`t2$S_hI%6OvG0gt)X|68MvQJ%M`LKCtK%C>SzUc*cvM9J&o$-W z{t0?~ag`|A1F@~bT0T|#dF6LlMI{XT6>kp|ELZu%ubqSivN1}pIUyAz3D860D8M+EnNthQISu$Jgr(iZ9lU z43trZXe$Gd5IP75@^T_Tg5RHV6nHI{LS*4=y%vbYlI7)F9}-Ur#0vQEa5q@MDmKEP z8#oP63iRp3iA;yL-csW5np6GjJvPq*a_a26MHUc)qG^r8uzM>ks1Zli3SKj`!y5-rqbJBK3${9$bU<3%} zJZAQjw*+pC*G&+3b} z?gD$3#NMdF^980r?U$on8YMsH%%;1o(jqmZu_R^k4{_NYU-hmovZiipsH~JOAe21n z)<_W>cv|z+)t1>9KA>ftNg6McrR#hoN8P<{S$9*Ifh5?ph^ANO+dni-tGFlb{H{9( zW8bhMxAVks!@+~1BBw`I1V}gszSJ1ud83jlGle1hEs;t&Nh|-?(?5OR z&E>B)M^nqiBsYx)06pucTUB|z>MWQO^BPTArTcukaB(%YINg1Cc!IB!$8$DS-Nw2&u*N%`)PkN z2|6gczc&%1vd*fl3rCX;peP)?F8b&oejig&#!r;k;Kd!+{XjxN9@Gezx62rx$9esx zU+E+^9Y8WU$?5+3LKaYf*5DtH>Z#~ulgR$*m5ibg-r12EvgcIFO8ZF^&|J0?#CnRwZA03*W^9BiBfx%)bp-N-W+U1FLf21 z2tZUdj~k=`a#o|%gTfHw}vQK%e$H6cv7sAXoSHv zj*e{$$k-0_VSd0Hr_Xjq4o+;wG0`RM>R4`#%&j07W!V%bDmHLzmNV&d92->ByRy-@ z6DslNwq@j(6drv0j_l__l<5GdgUT~Wd4q#gC%&yiYOf!DD6C&=LCmChe_ruX=pLA9K{6!2^J22wJ@7KMR63wtw z{Jg+B4toYK(Yt3iYXEV))h8Zk8hEUSIgtcrzv9n$eqKs_K67-@ws|MqcE5_@ecsHk zd;V9__rB#YcZCmYX8%X9DA~~1P}AY1c~QkSrtWO~i+0e~3^I#%Bq5{ZbV=CB1-i0m z;4|ASayLW%IpECkRR(pPJ}k>?e5>>H^dnW^X`qq+h4gU_Z_@U@Zt|K2s_r5!a=ouH zvU@hz@?PkPsm9Nh^QpZE&rt|fO_x z>$tMCR5^?R=-}0~UC(VF9Jg7LsXcc+&{1+CkMlQ+272Q>wcm&x158ld{^pcQUl35l zMsDxzpHl?h`LM$HMP&99`pqhIi{H36!`f}9PTKFvj-`un)zPr+ux4KO@wiYi{;K~A zd}KZIY5Pd~B;Scqg>G?oW`4N~xMb4=K~7J4yVJ1sCB_!Y4l&mw7Z@nNgK>esa$|um zocwEN9A-Ge-Y3)Ja?J>`PW0h)##Wk;2seZT9^Yg3Ul-xl9}f9uu-a5cQJXN^aKj6V z+OBi7)=?_S$QV(Xwl28e#`;7iShU9(?_dc2=431A9tdkD25yzS{&!mEak4w{SW4?X z^P)iBtIl8gRr3zdJ3@CJMnB-vWSqL6SVA4=VsjF=y>SiRyuJ>01@r-u?}kTL(e z7Y43)5%Z6CMISgpfW~COq(b&0tmHTqE|;$h=6~w!Cj>wtj>dnE#@VFgNqQ$jF@-yS z(8tAHrKA%<-L8mY2ZW-bpOnw=t7-k(8f2F$Te+9DI{VR8{J%v{<|F?0St7Pq`zplhidKHdJ|UKb5)fYhk{*sm?`eK_r55_&CsT3aWSj4EuO7TVmXrTK8p ztcRYI*>J?il7yYsxAlSWog`;9NV*)~H$XQQy>jf+cD5tXYXY1x)&kD#5be2EA znEP?u)M0;62xqp~-g}3pCfAGb!uU4WUUvtV@t^NYUn#nDBQ7FbB=sA(>yDuxs}}_M zN`LB5q$>a4U2~dILHi{KwFo4mYYDt^^+(du$cLMM<$Uq_bdcpX zaKPubGvm&#-W=#jS42MNwSC&^mxu8VmgGCXdS9uJJ{CLY+eW9_KR^#G&d%6Ysw(2w zwU24ze3Yf~o~XZvEU6Jjn!fmqpHz)!=AH9ov&hr2`f9*|3qzkb&{xb+iZ_B_{&W;C zi;1JN?<1I2`*#PF2%*Tm0ga6O?O(ON=UHOqY-C9DB9`iSLm*h`5UJuSOdwYOp5C9^r&KgF&_(LEG*5P<dZ>FYhG(j@QZAUvDEPKiO*5gpwH=sw7=d=matQMHWdw{ zYtsOb9U@cC;CR<;K;-~y1zwxDd&pGsw1yG*%KD8r9t%A16P7k!FY_;?oX8}so~3o| zI83gdS8~p2{%R3MIq37-TEVfJRB`o9GP(IN6HmopA&J1^+=al`x8JEPz0?_ScEsM` zyK^u)jbr)nRjFmJ5s<<`o0-7W4l_ZVQKo|y5@KR4%!E%{eiGCtv2dYXN} zOdVd{;$*{$kAK8poNOEO2nb8#7uC{KR=uc{J!&aw37^{3i;ZJgw6?7Gnt#6d^EdT| z_ZD1pAeWc=45eTg-dJ1lo2QUb0_WE96)&a$OZ3ihs~AD$1ikoon_Gk`YXYp~;D@B9 zY1v!S3@BdDngR`Z1DPIG=qDI?!mHE@3xUO1u$Hxx@4+`7P0F28Mn~A3KDCu>Q1B$b zXnzAS^~TgOm5!01ZgJOLGfUS@sCsVXw>UkD9CvH;95O;mZuGs#^Y40I;YPmP{BdqO zl{ez1qb=A9u?|A&ffrl1n_J~{$A4w0XI_g_FLwmAmimXOM*$&>z5#F3#qY>Yx-NLq zv7?Ib7eFGeQ0$Km#B1Gm=^R7zv%gV2BtXmc^FDr1{>cgF(3C2fY-~0GemoM|tAWqa zu9c{Ua}6s5OC_|h`CE5O>!&e_HBe?O{>H;2Wu3JwxSOx2k-a*8A(S&V?p(_5n9i1W zjEbruooQV2>MWLuNah&)-5+d1oY|mVHYJen<}6{h+|?W;*OC>X+iWWyUgy|%Pik(q ztK{AKf@hEbaU{V7*!)?n^>?7nk(m5O^X-gaIEVDhy>eN>-@oORJw)T>S(CmaM$zOo zEh)`LYvn>OPoO`C2u|5o|ETB>+uPUM$Q0Cb=FCXao8+_;I66zfsU-cMR$qAk#;Kbc zyLKqbumAl@R=Y=($67g_)o=RAC#5Fvg&&{Gq$lW}?zv>=6% zQmdMG;ZFNUVGYS64=4QEY7{hMUi>TB$&N<(et4drOc!yEHV{V!?cbg!o?jVE&%&!e zD20pMZF|uz8(_@5yGw^_cWjjNQ+wHdsG6s^L!>tP?I_3d59${_!1+lk7h72g)5~i5 zZZ7-29LTyKT6Zdzn-}ds>2(TeFKcN(+j4XT?+Z3Om7NAYF=Qig+v@8RV-K+;Ezo&< zk6!wKi^->6<9k7KtZ&N%PNly>^72c`(N%{pNl; zf-{3`e@HMTNc+&a#E>UcOp2{Q#fvyF;D9i2CC!o7;msVLnYF$B2hjsX!~ouIkev~c z+~9?PrPAXz-qk*H%`~U$U8>>{_1{&mHQ0S&Sc6ZqQnIF;Tw#!y83RY27yljOWr==l ztG|@H<$VS9VrH6EaX{mu2T#mCD$8>~8A&A&Z4+X;OOgJk&S*pPJr!eXRZsloHLJhi zvI)-EnHdNU_K77C`ALHw?lRdF*wUhKg#CWasxLU z=Bk&2CIKAjhAZh)M;+g4ovnI2___S{1!Qm)@)XM0*}xmvd(yveP;?H;5uH#7ESTcbOHSPh< zPfd|3#(@dn{m#c9XG#fC*El%r61IAf& zy?Z~)3=;$?SYFbfwBC5%6sE#vkymi)VK$l_Ybqm`hYS%Drmnl#5&%D=C*X;1ty-xC zLFw25XLtJO4#U2a7ruoF-(PzXBjMRC#7*)se$I4iIp{8Ks)bxb+_lKh*OY>iY7PXx z5NBVnqu@rOPcaPwX&Um@?i6?D@2?r=2_{)$_hA7Pf30=r%4a*Kn*F>`M6KlC+6?z7 zO8&<2bkwm+j?0vUoEFzTUeUs$Zi)a2+U}%i)nO+|Yr(d?H`G!sN4`&sG2!CTv9!)wFwGly!ia!Xh zHM*{VGs|k25rT#W1=5oIa6>?%cf8YDzMw!MmGmQ%D}Lzg=m6LP9cLFk}vs2_Z*9h!I9I<$$U;!WC+!k^GS?Dzp|#G|B13<2#gffUL3lT<~`i_O(9{-4Uu z`#MeW!GF@lm< zu?b0xIRvtkRx2QZo1V# z@>|rB7*;-^TpO>(6*+& zZ~IsPMH2dVwq}Y+rS0}it1jrYL!6hS|H1}SQi>-3#Nkfz-41Pt2N<^5>gc->Abf-? z=+C|@0PQ_z6iL95yc<~=F4H)40xp+NEU>fo#RQ#xiHN!@EEfK^-Ss8Jl@!k5H1F>W zQJZ}q0t4`5`?i40;)>#ermjiYoHdQLc~=h;1JRFaJDIhL79_HGe9J5PO9*&oW~leJ z-T6cHj9B|vp_W&W^GVp_sIr|~%I`KieTadXQMC6{V8i8l0|Tha=O~UQZEdyieGd__ z65#zee3zQ{Ddgh;!%TN<22XUWJv|Gr)~DQ%j65)f9?lYtEUVFtXDe*I=GW_f5FQ~U zEgW*qLZ%>%5A0ZAyy@|t;xhYnGk%DNG2_+0s|q;^X-D*CUw!Bgw^i*xz!I>#!>_AV zuv@v6%zVSq~ z^r%IM1njA9o_y%yHcrbcP`XpdamwZ$YcWuePny%aCJUBaFYk_2sER% zRGkE@PDnAsL2}y4H#F8E@QGC|Y)=@oqsRY#dBCNzF}BHV%Uiydf(HJ+!*}EsalBv? z8U9oUe^e=E#1~uhk3Z?+q9WgtztbJ|LJKwIuv#3;RzAvCtRj$l&AiuJ27a~7?a-3Y zzP-1@WygjoE7W)W3XjvveYmRN1)Lm;nA9_<_j`3;RN+^wOM>e=tE;R6=%}{~-|_gQ z9CYL2HnwMQSYdQCV#h57=9b|9v1N$qU2Pa5qh+EkHos^(%L=~Os2-CN(hFJ zb#S;-9_-C}9eXkFO8xn>hWcUllY7b4ayv*dVazNRbb7%nE8mw`4|%5p?fXSc(rsn_ zU5P#FG3b!mvg>PMCX_X8>8}wldkJ*?d7Dc<%bboY-TmmNoTL{I0nGRM9L#|&6FUs>t~qW49a2k_Y#IEY&8Ic)%KmN z#WE!Rj-6xww)lQkW@1xI$*QksV)7i+%c=vJal>t*+>bQtX<0K|gzYcADBW8Er>nE5 zSnX2djH-&Krbr2QZUpQIH}&5^!$p+^m^$smzcoEduU<-DDPYKab+?>R12GC#+S-bP zmd5a%_1Dp;wxz^%2uWSh{2)#TCv-jS@Jn^ziu@W?)J^}x8GF;2J39)gje0b%b0_LI zB#m@v>wv-Nsx!2JQL}v6siK?Y1sjK#%0Se}GvF0rt=N{i1|vToTMOU1^zEPYq6<}p zh|Kk5%}aR!Y5NW=jEQ)8`|m`;=+Y=K8|JR&vz+9nzk_OYV?9 z*gN#Bx{bC@UeG`oX55^A|6@*R@2px6tM*LaI;R%DNf4ua?$QJV-mAqde%5C`>~+=s zA)Ha znY_#bsGI^xhP-fCX3Eyg21!8}jZ*s1U_AyIO^Y&9VeKePwlU}Wv;T|b7I2H6hfLE?*DE&X zPt&&n7Ta_872P@o>@0ZO77=#FE{RDNAn2ZhQSy^ums1GFHDzFT#Wog>1L}hReXuFx zbA%f`%tU6nK}laA^9j;{$8ZA>44>7YZA`x z3@r%^yo(tbkom+=OHHp$61Q1%ihfca3aW~AMYZ*3CnAN4MXYB+Ht+C@1CNIR|4@d{ z$e<^EoZ8zhXMT9a5CsbgKy#i7V6yAb&$a-&#CL_9EH~%vPwpN#mMF8YvI_aX9-L!N zc^sMM0;&{3E!$2>#}s{+>jK{UwJ=NrL(TTsYWr`2W0IeI6ZW6`G?O&+Z00j`frmu^ zJ5agjmlnB%=Nrr|@y(bFQaqxSzNq$wQO8dqLL^rqaE%ajE)aO!5FgA$&3Y&)o$6d& z_26`7v;xr~yB4`1+-T(WV{gyrl1cNDj{Gc+Vbjy}Qz>SF)j5U@e-@Ul=Tz1JTEYaU zk|nw~6y$7=&JW1n=9Ud?oSfcjUzm68ry42ZoqorwuNLdT(zfWvu^-MO{8%5f^4v_! zdxF9;=mGrd=%l*2w$(nqy(!%&P$vr(Y;>kZaLf6kZPC(u-2{qCG#Pv|vBb_T?Ls&2 zDkZ@4+B~qpkMXR8>|LsO@Ku&pP>z7&$5QgrF$aE{!Z^zFEe$4(^kgzI59IHg*y#2i zhCu@eqRZDA6W3js6z~Q;{OXQ5B~{q3&CNp_=LQJzjw7;UmW0v}zG7p3xp_I-O%kK> z0sg3E0O>HIpo*&y6|8?WPr%tdnK*FOrAgV18lU#BDZcYI$xYyxb~i|X8}zbk%%-vz zHJO`6kUQ4vH9eAZWPaCM5kng1^mNEJ5)3wO+EB*fMvz}R`Gt=sQ zHIkV-KvXEW*=_W_WzWtO(M#QCbHelTY+>+lxNl)S@!KVy!)9d*(9O@2Uz z`Ma^tYyvCKc6Sx;d|S%9zNMz}LBKEg3CrMv`jY?&J%i>@j`jU8Ub#%s=F`|nBSR_4 zKR38kQqmh?!L`Ehhz~WN*G{S)$L6$L;#RPehsrsbHX;YR)bNT4IN)^0GgpxdzAN%^7D5pjApa2?df}OytI`{vh_;#$5GMoO z+*yqctS)gE7mxXMK88&je$z^A>(?;gnwp9(v)&K6=4)+h%|7jQ8C|Gr*H#_I9A;ce zKzG9G904}h#|>pYtvY%}w9+2MTnn`vb;9nHY1)p9BlWZ-t?Y<7&X|{hQ*)1nyxd7P z!#%8qThPws0_VuRr$u5eZ3@*ubYYZL2YIcZi}ktDoJ8E=hVA;YwllVFH}c1^y^^rG zq=$fCWaF|$SJ9`p4!q|yC5oT_!B+7O_j=*!b2*omRdSFgv*j=!lnDzJ#=qH=f z0R4edIR8a%IY%~jwWwTOPJzehxLtx=_*|gcSL>2hh3}=;DKpAJ!M|@&%5vK}?|~uj2Q4G1(Wye_$QXhmqlT`&+Z}DS1ric;s&IGM*IvdZ%gN*L`AM>&#PeWU6 z&Cet^Lt27&=fmdqT$6RUG`HV@3fO>_$2^lq=xArn!5^bYnHV#32UXg^hN5TWDB-FcFNt4Rs)7p{giDp!yxm2LP%(mh$uA9R z=6xBReBoikTS3e#Y?zP$tv{%w0e$3sJ_G;OQHXrDwJOi4+l0L?Yi}rWH%yJvrT^lU zN=;=k1m&I==h7z-6e z`jdZ~?GvuL2Rih5zB&V(HU*v<_|n}?tl8V_j8uErUP{@`0*ej-c-KWldJ0cE3Lm-T z7|Jhl@O>#gluVwnE~x&aLS^*y^M(Z|<}`f3UEx^y#S~j}= zVjv!-V`-!$$C=1J7o@~hEym->;|56WtNI`9Lc`vdajLmf+zck1>cI#us?DG)9G1nc zuLK#s&p7GzaLNAF9Xh`20D$|_lDf0=)BmAjM@l%xjFRHAEi99%8>2{$Q)4bK@^l?d zU9A2TcFE0qG|#>WQCD{n2&hGOMPR8)N_7gFHxQZS@Y?g6TA8owEbhh+%)5#mC|FdzI^kF~=U21>|u8j}_28|~)_UOs>J z^~1aS8~mP+?_NJ1NX1CKBz%15ai1TZM)}{Tujk%`a^e3wQ{D3Q|HX;lGwGCx6ve&B zZa&`>nNX|&^ZfE*uPf&DW8g*uKm*AI$Bpg?-Q1Goh26Qb!XD8I{_9lspC;d)ux=CY z>LXK%?Lqk;E9ZAWl!}XAXAQUt$(?1_4_#AY|JcYF)LOHK<5BKxbtBl`tjE5q93hY^ zi<>GMTj^M);HdTN{&ModPJ<|o=JAe0HpTem(!WG};Ym(y170d^D?W%DOANa45X}3CWXawXC~10##H{z_FfK0f6czSk;7A}<-img#Gk2^X zg=GgKzenTHMm+r3QTp4CKpy^2>0eBG)BVpx7I7yEeA zdC=9c%elG)caIyG^RJDiVG|C5t0{DxsAC2)O4@F&uFEGI#P#mu+uItr65Mz`&y}k9 z*@;W1d!5r)b5<2Zs%cQ*sP=D5DGOhR=()ETMT-6Hxy#j}WUlG9*O^n98iWj7PAhyx zDw%y-x8s){skCLTF|ozhN7Ksjy+x|lftwtBuM*7~S*MQdXPqvetO!KYv`GaFsHU?O zQmbv+;9M~o{M1QqfkNmIH*!3>xBc^wtjwP<#1I@38AQ9fZOWlyklX_6o5?rh-0A7D zTWb;|WKc2J-t-Rj*WZyxLKhvz<2C94iHP0+#oKnkME-k}3DFk>;n50f#+SI?r7ti^ z@peQYMYfuJ=rQ}vSn6eseNE(l_L#L)tkrV4LK(U_n270j>`V&50rLB5)+2iw(G;nL;?N|7t%fo!?1B4y#(T z#g+u;S>e;!B2;1!H$tJ^E9?bxcfSMK+Izy~RIhLqOCyU0T4n9Tqe$o3Jh$CJUb_JF zJR~HU7!;&Vj8j$wwsk$3ahh4E_Pq}-L4dq({Px-GEDBy%5$l$vlWw&m6WaQ=!@}iup=|pd=Pr4OvKVb zhPV5WBuJ67S{usbMPIegBtRvscpgK#rkE#}r0#Xx@Gk&4Y0)WrR!NNsUq{Q4F3c>L zxnwTtvCOxSzY;1fjKHE7@sa#3{p=;?OS(E|58XrH)<(ke96JF63MN<$Zkj1fkTi_> z{$HQ7vHxviBU;wBX495t`s`sBV4?`$tsmI_ov{XVJ34}yB#DwgiQS&VRXPAU3Rt{pb zJ~po4DY2fQ9HmeN&^GxeX-yB=@y$P#jA_e)&4OJ;w|^sc_rvm(i@1RQr2!D4cyZ%UHsxUd!N^Z0(}pCpumJ%^P`6RjE4#0? zj=_cTvv>>_vjMS_7oiK_cEGyTL?=9wa94EKgr$q0t!HmPsOYZBC8KBRv!_p5XxKBo zJk@O2IS@LTXR4l_CYSp$7>Pr*M^&Jw*%E{*>(#-|De4k{Tm&j)Ek4(C8V#i8o#jaUQm5DDP2gq z+9=>+#zfLgjhm1ywY%M};}KDiyZCpSHY48MZXz=D zG92u-3rl}@oP`x+J>7E5HX)mM{ZVGbEZN@(-_$uu z+G2AiX{F1VdJDYGN}XnyAx){rb1HV(9_f`c24;^Q%ZR4e22!R`N$l{KMw&5u* z^tmF(2~(^C`uQx_?0G<8);wBxk9mg-?4rFDhcmKYt#0ACl9iHiY-K!3FDaQv?gN%z z7YWyW8p{@(Qadk!WxPhlV|!|V%SQcQxal`V+MBd)O+ag2_uTExrFZ$@oKxxEp6T{g z7WMsgF)4#6c;dp=5iTUQ7WmfV5+4A)5rh>Kn{;0KY+gldlBl%lj-`_rE_ewGD zNWT`#sS&ul_G{A_z*~bqZ`QAF-3MFu_!O+wmAv-1ze;HZ2ZbkstnSvCZ~pzD{DCcvCPZP&#wU;qu3(x;$d2o+y`e2e|~bAEo;(oO$|gdZV+{T!e9Z|zbQ2W%_8Pp81cYJ7KND z_?9j26Pgc#v~sruT7nr38t&2xKi*_{))+-Ttks;9lBBeeVzdVI$>|pd9vBGbVJc;e zELVh7=K=@BlP8i$>i~z|0@dr|=T1?_)Q7Nk5!HWCeqK2Sp8<;}p4z8Vy`XO(5$yJ&6(os02Lyvk%as_A@s?b8GtXgFD*_1S{+80)X zebZL8JCLLG%8vMZJAlq)G56Q!J0gowkoEh&nMmrz9Fh6Xo@sc0hFVLLEtZC&pM7t} zib7P&9g<;IwEt&q;z6@Yf1aR&MY!A5al1Vs16WVQeiq5D+tWqF=tFR5b9pkNx)RQ; zt_bik_K#gX9<_69ATaw^nK&d9F(`JDVs^^aIBinJQV91XATabri>Rl;H1;ew660+= z)~CAOqvqkUHGqD{wuL0YH(Fbcj>FkEu<%pDKnPC$HMQ2kvPjAOr-?Kzu)|lS-oWwPZ>>$ z%KAcBSqB1E(`8F*E&-q-4j2o}ro7u)#W>;aE;V01^iJkA=!P<*#*I6@V=8IUr%G?$ z>4I8EP!FvS==Qo{k)5~92^(bK5WVUMbUMY~mHo*eG1O(v9J&h!Rb<6*n_Ty=LeGR9 zK9`MbeDNeZ>fL+c4-*6WMU^c*cmNprBkc95Qyc%O`g6kG_}?t7(4yZyBlUv%B9 zD(&p!WT6YnnQ8yj89TnFGq3Yf?%mm3f806U$a=(_K;+P`edhaiQ9|{045h`1LWA^v zU`6wqXnR=qFvxDUjL?!ad)EcHW*K<+1&$OAnDw4^1K*DS>WYFi_k{IrkPnY;$hOPF z;n76<0H+I2`>b0Pw<6W@3^Cv1CGA*R&@R)0cP_ubpfzG%a80N&vnuA4aHmj)akiZ{wX34=Ut#}~&BpvajJNpQ3g249bmpQwE>PX!;lgL@?TbCZxQ^*^NX;~Mo>%7>fY?#M|9gL>`Ve+9neHZH6OsZ5xN=t47aPrJo@5Fa<+5@ zgRgG0g_NWwUc`co#zMQCN*S8{CqMw9o?i+W$Zt&FvFxH^92f@gU z&?s@#IJD&ESF~x)$aW#3WYglA+{783@KS<_fwlQe3`CH+wWbYdFvN5-=hPa1xG7pU z(8mp@=r7|+=nFNh?CbB3X<=Z0%VWnbh~-k}q3mHiTEH3C4?J`c5@^ovry|`ktlVD? zmzHh9VJ7@H%|o!bu#*g#a@M|xBc5|^ihaJzmf$O)RCe{`Q!%8&2Z3VB)dFxO{01w> z`WqaH6yaaB3K;M6e6?D_sivKMUqqMA&;(eg@rOZD*w_z!kVas2UqOq3g;`^KvTff}IEB=z6<2%gnT-{#;I$#KLi!uRHZBx|d15%6^gsb>OKCgbC(%bn zY4&hJLNM8YQ#>S+H84zzvD9J5QMtPY;(SH&cLe{8(CqmrOID!G(rA~5O;}VKOJGhP ztjDy+KBR;)GldxPNcu%V>wwE2Ck8dU6m^#EutqZpjP?y~sy_xk-o1Kek$AzT(!&80 z7PF+s#({g~sza_tUE5>?+U;^-$y(xZ!R8)M)OCt_P&Z#f$9QmpiTm46r!jxA+&k9@ z_y3{)zHTl4wt1|=L~QjQ&_Z6~;ts5i-?vLFm{!j3?w-cf>ss?aEJ|12z2o9~DR`*Z zaqJ#Z)?BSv*nM;!lb6;FNv-nq)w!;AhM$G67Wso_TYR@j-+UPn6%vvk*=&`a&oev? zQTvb()P3*UE{qgzk34ZPBeWOq(iDfu-`MhZNSC!E3*ajMwVo?KhwTFE7@=O`ve1e^{io*o0Lu`?A|Q{x-~eq0gk4M@uA!W%GlL!&Jk;f$b|&NT2>T6K zsExE;;Px*o7n5X`NylzYfW2Yaw6C0~54K>9Cl`QEzWiAq&UXcg9N)5GG7er;&zk_i z2!`Eb462Rf#RP?H@uAQvH~O8WqP9~tddx}L^&)Q2KZZmMpII1kH2{h^eaSp1fPJ}a`dvS|Rc=zufSONr9L!#*R&l>F zs7qN7xOD?TF_4BWWPrHIk;W=DUJS{__aGtoC62I> z?9Rm>bia9LGj@J-nKzi+!3^-VlSbR!oD09~wscwk9tmtJb7fPHkVD{uU>t6=w|=@d zFz5h2J{%Q(tO48;sl(cUCI4ChX_aBx@rN{!3oi4NV|P*cL(b1X(tq4O`D0)-Zw5Hv zPd@OU-NIkZaAMSYn?a<0?B)9mgNa_5NORwTPe@ppIA5py2dn8X&3tzJgM#^F-|-^p z!vbD*e{Chf*c}M?+0gF?){h$m;$LI*%sdP>ihChhu|os1t%zfMC4c@urN)_HrhQYr6_Lz^s)ej|X2tA5<||;cQYlubk$-myL8ErA?EcRd-hG#* z(c$3_o=I+np^*sKP0{)gDDdux0<_!vW0z>zO0+X*E>(m#AKoz-`9c_wQ)Pv;KB<pn8h0Gk9}q0Ya{f%Hh9Y-bVm6yl%#GczOk1-M zQHI;wTi*B~ith#Gr>PAurhSJeQ?$ z!|PbYOY)GDIMM5h4t`6$b+rn&F}J7=7GJGByZ58&f?}hpQKuJct#17g#j6J-aYNK~ zP0~i2IK4)D%e484cb&WYaC>lCxDQYI)EvBCXu3tSc~Sc|S4iz^GQd<7*Pva1n~SE! z*mS>kvCHJ8NBLw$5NWHcFE=|{V`94JZ_`tQg4|Vw$s&5m;wJCi5_?psGhEREHK3R4 zVwd;UcJs{wQP<(^c1GWd$>3Gxnbx)=7uT$9XQ1+L;v=#-OE_=q0#`(R*zE_(pYC3eK;2+^S7&!c5~1{PQH&xz<47e zxj_?%FU=imNVp@m8%KOMaOvEeIk@UmbbI#f*_Xuz zsu&rHRp>%6oGikjIi6J#Ab0R1q2bFym7k^sFI&~B-c3Ac!w`#t5$o@x?)^Q=XxBZ3YiEP{3nH)Oaoj*PU(L3o%;D% zyHA&MR`R*>+b_nrB{A~)TwzU!qrPI$Hy5A=&05{Qup~GiAUFe0o3_Set|zL|m8cfD zi#hKhKPY#}Nm1wc^Pz~i4I>fVH+aIscm58&g@VzzgBceyfv{XQC+Jnrh&XQZw;bD2U`W?=p_SU zvw_LQY<%y@;tq8qOS6BRHZxJvvVV8n27Tkp9E2GL!=n+9SaVRkq-`8*tQ8Vcyr`KW zT7efs`)Wo-uZ%q0v{7WKON5hP5VX}F=i&=Fk#o+=Rnq)0ob^4rkz7s(uI9C>m*MIV zs025Ta1xJ2W5naJv{J$-W(MX2VU0rUauzy;nQ%nz;wJNRAGWj^Ozp~+C5DSiVm(@1 z#nVa^zLxOUn$anDslZ2u_8S>NP@e)04w0-el6j}Rhk<;~v|uE*;GGK1h$q04fx(Vu zGB~&=WFzK`LIGTPqNeoWG{JF6EY1H{m37Z^GvY_me=^Z-^eVtbNVl8DjfGKAL}gQU zqmd1_D!Zp)cvi>_C3;Sofgqk3fd;0IK~oT}yojRr1?G}q$zZF=p{ABJB`p%8D24q8 zxcgOaUMnD&+)_5q#uFc{?KR<%^CCbPZ}P}W!P?9scyYzopWocT@G1HC0U-#>@_4gk zhRdd#qcg^+3t7+ZpxbrWvgzuLQLsA4c}ix|*tL~5M%S`i2;c)O#*uM z!T3zK)W}XkIt@($r%!>Su=<}K`NI|0564hpm|(4-ymoaE_-S#FpxHs1*+v53?9HH> z6&O~HNV9%h=7|dj(FeRJ4Ol{7~6BZkpxOtB_4&ImH;sARFqvz5$Jf zv)2Cz2lZx_dK1LulZ)!V$4bIKZlq4%E2wE;Rg#WB@^YZOJ$?o^?~})2FRt)S;1YKH zLX!-Z@><;;8C&4tn+6zL z*m3x>50cx3+M4%QrCdho^HagtvfI3qrpYVU)4xEBp8(FW{&}*&*;mOr5VwA^xkNHW zHLAYjohA&}!yYkliVfYqHE-)%X>Jq&C2f}ZhtC(f?K1G$&4d;yAcTE)#V04K8M;)t z{4q?SfFzif{j}np2y|Go=3KvSvm=EnSw#5qvkv0c&Lrqfz!AO+R?{@iN80@h#r(Zb zYk~2@TXZOb<4P^WO)-Oz`5U+@s8CLPFz)zuAk8C#&o4{%YGbI9G)}nHjzwH^Wr~45 zObQV&`|b~Ez7Ow$ncoPaeD&>uXa={3t_OI4)pSE_xJ6+4d00$&B3DA#r--@B;>kSA z$v!E_F@IELaaCQABHqJ3KauWia$hP}LdhTCuie3^W@kSCe?ou6HUMheCdxn8-7!C7%EIL(KcX)d|%BSS+505XgL~t#`Jq%-aS`h?;+E? zfKEw(p`Y-`+Eu8NR$p{)a;X4=cTx4%-Rdv} z9tk;$`UwXd&CosHthsd@_ZtB<>^Izc$y9Q^rrgY4aDvq!&t!sId=fX-MW&0a-zR9c zoUlUjP8ue=5DShh3jB+CQ5fq2rrVs=U;~jRTBlX{pmG%lf>XJjqDC7vgU7fP!pmhnK$ucIW=3di zr+ZIv;u6B5!KQ4LZ5(MY7-8VhTo*Ly?Cr8SapERZa%#&LbhDkdltWK`R}*ljN}@t3 zWpU~~mW(tNEhMegaLQ=%e=D;xNOWj>iDSK&-4C&+*p6qZ))|c~ftl#Hd1H$mq2)GRriJ0zDdttPnJD)H3>u`*nL zaCkJ2gEzIt>&{t#BU3T036#+~Wl=p214%`seJW&qP&nsLU>9vtx}qc3n=JU`NIxU` zUz@jR(Rh}sVsezHloC*(r%zZUL26XD#{7i9VD6BUZYc!l6rzT-(}H4G zT;fj3CH20EniM%(TyzDUH8xzGudf=2b%}1{p3#~Yk*(^1qFr`>u^9rh#Ahxnoq z;*0nTf|Q!`6hU$$N6TYxm*%=BkE2QsU`p{PE;(ye?Mn^%ZGcawl0bZ~h?6Sd40Q7C za@b06p5#TN8vjZ$@9Pz3u5T;-+9$c3_tJ`(|DzWQF(dpx1Vh0tJsyXuUomfC3RXjAxPftL zYyDX5;YK9PMv>Q9GWLv{N6!tL?N}RgK4vWdIZ+gS2RBB&Q?2)!l3n;;O<@E;hfCZj z+EOVYk@8zTe&cudXqN%_3@j>7#{F?@m%;N^W`L2XG5Y&dL!HVV-rs1fs@YqY2ZdwV zwaHG5aW&5BAu?tubAfwm2L$Q$C-3}W`6Hj3VyYiw`OCJwnPAgb9%)s)KhkS`?>KN@<%z`IhPHkU(gAkc)cHqGo z!x}S4x!Yff=J~^$2lOpo2u>$B$x$4+9)xZ$!NTa%HYqs*8q4v-^Xy$_POeItZ84|` z$K`g`oqf=Ci<18taM4Bg=}T}L_B3B@Z_7P|5-z8wn;v+4bM3JE=f-Hai-^zrP7||@uZ(ypQWXxUnU@L?p)a=%0HB9T0$TxJ%wD%VpEHRwmE)yPs60+ zTz*QPqvy~|LLblo4;^F2lHu(?eQw?_B?De}RiV%N>=j*Z>BE#ohr$n+As0)1+Ojo3 zQdKhej>3l0pJfAy_MaixMyHCswHSW>f+^eMVqCCA^R=&m92a?-J8Z8DJ-1_p9PlM+23@?88sK+n+M7}d~c_reJ-U(yYQ5D{6bMD^=xENX&dj^OtO~&ss)3ESWQ%^xwOBfYeioL|nQ|MjL}>zWh_dF0NAO?bg32St6tw@A4LYW38gc?uoLdX~ zGfJLSR8eTLgL-In9vIfra?@w?MzDKU;QXA%mz=+FW_3UnVQ2jER6MLxn6!lsnvxZi zQ>@2PQ()FYM|L)^HZ1JuFmx=Jh&pD+uxVo6(CcgWR#NRkCd@^ePzXKO2!2K(b$b&? z68*M!jd*nk2#aq|Yf7M?4bMW5cfxA+^r&968W;oJa_4*ZZ&4J^^8hpA4NObn6t8T2 z%)CdC^Ytd(2h0<0#_{e*}1;ckfT&A=%ud{pGV^l!wp(`A0&0&+hGnBC_<{Lj4u_xjU114|Sz|$Ib zl|mzDkT;gsu*OtdgDxEuvhM40FnrbCOztdcw%L58DXe&*#-6THbi6pU2I{}U?LXkXW$JUd37+Bp%uH$eB;VV zwZzg^TY3ow4Sla{UGsxv-vQuxYvUUqvKVOScaC1F9S!e{x9fA!VLmQBM@^p1=XFd* z$Z3l?{SIUMT4=PnTY zPW?yz>~RSt)raI}%P4>o{LtVx%B5H(8H2;w>uoJZ912-3#x>8|Y!-$vW9fbD)298= zB6mk)$wa2wAO!l-vDs!F01(MlyNPUCU0kgSQYAr|nTYql)|7LA)xmE0m0YBrGDfU8 zv@fhbC<43L%d%-LJs3(TZ1jB>WHr(JFi}IC{em{7I?jF|-kkOgzrD6_TXXclc%tnm zL4lYkJj(@Au#g9%IQigg*Cr1S6)LLzP8vK=EZ#9H#*{!!!i8*)N_*;*|8# zGX>$$vmuAt;jDJ?xLx9or4${9o*h0cPJ(xUZMO)$)6!W7VbV#*!W`{Q7DhGy31O8c zF;^Y;n7Bq6^v0@$SHgi=q?0agp1l^ZrdQqLpLYKcB}9v(c3iJ1{}kR)%bTo?&!9{q zoVqf7fNLJg>GD9GH6*9-ky)rzXT`Y-@kuP?cJO$?0aGb z8ejm_&Ll-IQp+2yQ073gG(j?>U&H-S2;u>{aHE|dX73X<>3lqk`-7;p&V-3XbCBI; z8=8YhuKOJ;WylwisK0CO1x;LPt0jfxhpttD{-ZX`L7%=2+p=^`k3ieuHwQa#YUU-; zB%2uW*_H@c;}ws{>Wx_y?cx-jK+$21jXL4Ov(ubg+6o**_=YM{Qc;kVId0h>mojEO9e*ad znOv9^>oUlkEt007s;Vm7q^8C&G)}O15~I>p%TRkbpfpp+NHx1mjYXPyyFOZfczCq9 zG)kZrHq9E%P`NVAwopxQXuMP|$vBMavg+`YgB3j{qk`i32wxI2|Ni_WY`dS8kL#!C z==sz#0=Dkg5V94&VbHEpmK40j11_{q?kjqE^W(A3hLiSmykbTA`R^1iTGku`rjzn8 zC>fmhA+f`dH^9hQ3>*AiO=u@s1twuwch=9>E)f66H7>N;@d0(;3vpZ0o0@C^d-7G} z+bi&?>PnPgwt?tN!A@Nk&SYm9yerEq?buGF%OeC>1@HG1gq+HqqXeoq(cheP7{I&{ z@X^pm`9kwz*My3rHe0-bGpVP4eAWqquSK4569 zZM4-%EAm=Tku;csH+Fqr)tROIfc@~#bkJVseILAIN%NX=Z#KsXj z>Boany*o`lS-(ZiB7hD0=JaOkqb^PJ#inHx-@7v6lswsb|Dn&C0NuQmfteeRbWtCw zfSH+AAJ8kUBnPAMdfS33tIEKj_#F4oL94|Lc} z+Y>BFJ?^&$>w4%?m*p<5no&eNBb&V=t8Hc9|04ZIp=PvUxLQt;=ecC4IjtOz`w|zd z(Mk1ZIrNE8<3t!tMU=-Xf=D3n4O)8x-Pof0pB&97?ur-U=+U41E|H#JG}F>`#gC_} z@HbSkvLPCtXNy^M&_BXTe&FH&b}j$c)CVRz1G}>8_uj8kN2r)rr#QooJ_H2tFinZT zXMZoM%MRHo@)X#*A? zvQj2lXjqo_{Q&lsJA{hT@HH8+4CC=dFeSmu%NVbkU`Lu|YW=)iO=xd8&M&Qc*c(c! z`*8l^}{~ryiQu|++D4h zhN6T$;{BI}c04o{kVJ^NjQ@09aLXP53L&=Lgus;*bwmq$w) zM{@2v)gyMV*l3iKo$(t~j}>P*SBeXFP6rQePG8P10E4DPT@k5ug>tSHGxQIHZA-H<&=KVb2dIAE{(?I=;fEYiM|2kZ7HQi$(Qv{X&iD!BK znqIn|+xDEq>{|^u`}5&65^($#6>~~IT4c7A67F!hF9`)mFm zPTY=TRo1@$*kC=pvhNvK@oL9)d%-nuWXwJKB3B!#|CN!IpzhC)`0F@lMN~r4xOEozf^+`@DjaKN_Br25 zRxJ^f)H6sNCaT}HpaQN2?rn-4jOF&V3@f!Fz`1BWeTk^P)-!RBZ~y|FiMG0sewNMM zCfJB(d^Q)C9Ik>I!6r=6mAjVs_ExflcRN=TS$J0aoj?!>gHVh7_Z?q@&WmDbY}q42 zs3j@6%L);izQZ~%a^gca7GcU>c-yE4xIJCW-gG?}%VC5H#x3*8CJ~j%mBu@j2g1j4 zcw_OuiST?mdTF?b`$3CH?(et(x;(~*k;tQD1LHP846EH}x=66l?x3>8)fAEslGMXL z5vqtbSw^pw!4)X9%TRT2QlFM>vJmt0_t(Fc5~6JGX;@sV(}AEqPE8_J~-je z7#Cq2b&^R*gko~0Z)AhOK!m-0$8QCrI3q&&aQAB0n?GVZ-?VQ> z1q<^=m$Qwsjho^l^ABpSmxz&wS()(A$O-zyJt<55PT+q)6eMCEyNJiQ&O`mKDb!zd zxs*BpnL@-sIVBRFz+)|%(R!#aqDX*SrHRx9u|)3UOpT^xue8R#O&Y9mo!6+^qyFu% z4(^e&gqWX2+6JbzCy)f+u5k7_BUlRdX{3q4lN2}q6hN)bV7~JK#blr7 zpb2->AKIJt5Xxp~oZOVCv6jb<-hUu|6vT92B))$Xosx`oKn}&^%|5Z3kDTE|n zlr83KDd7_DZXPMc&yPcM=H}q@u{VHb|F8+q?=hnbIc_`yUU;AUcVy8ky>b!g=MY@uZ?9BIK#( z7c!;)Oihb_{+VYCo4Y__pdPlFg$)d>GMM%bpzEG4WX{D8y3a?BsXMoqLf)gg9AhHc z%{AQ+^4kIk)-oXQdKYoH792l$8SCX*HP@pNCCPctTd5Z`O7w%Qb6STW6&EWB>$IBx zSIU=7tgzvK~5^uS@$sxvSJe#-c+bnXg|=P$@Vv1@^9cID8@A{*jf% zxvRQy=sYaQK#wkw@yI{E4Ws*DjIdj@d>th~y+6Hgta}&P`)OozyqUk)G?>m~{c{I> zmUVlSIuo0gFmdYUkJms6V}I1wdZhqG=2>UOcuAuC-)4GbSfQ|h}HRQtSMg3o!f)gg;;Huoe9B?mV zLBi0e-u_tUTH{`rnOZ}C9z6GL+uAu+__(egvMx?%J{8t*(RBzO9`1Wi_GQYA3F87e zc3Oec0G?iX>wET!ZRS4^QHK1Y1bajT-_J#Ig)@O1QO->_dnvu_0wLmM(u}3h0V$g2 zOKd=TiF1uHNz{)t0}MNA!U!LPRVr26*e2?Hh%D*-+}wpk7Di&afq038gmWU!gve}i z+BocLe(9UPpra#3vN<@*nGSEgzUDU zFqK^+BHMFf;>p;kG=rIT%Nrkhh1d z3~v*%E+%vt;n#qgopqyhw~L z=p!a3ewBR5MW*6Fq`YnK2f(_%IIlvVv*$;DjPQEm_9-Oa!ZE5iRy3i)y}XmPC9rYPmb4#rk!K{ z$MV@-juh*<+5C_GMmPEMD_7MW2$63XRGOJPu;wUAz#In&e67&kv&4ihVC_{ZKlSa& zWG#%J=H^9y7Apt%_wmjqs8H{x+Z~P2618M$aEDmW@stlS9@Rc~MGBPA_Mdn1DHE&m z^ANKaG1%toj5SWDSPN|WLo>t}LVi~~0S9+DZqhfu`mjI^!dn@w)162C|VQ&6EUGb5$*Vx(Hk&^!+l#qb`+_yEq zmh7TAW?<{n7hfS$^i{9w1v1Q+ul{Tm)RLLv#~zsZl`Tk+eG}|9H`iQ|SMrxBh1geq z{cq<|{ux?_>rC>5%s&X=VIRw-v1Juub>F~lJTY>hDa$eFTE#0cFK?^9Yg)%{ z)Dh9KQ)E63T@?lf&+PcNo^z6cYlue9`{}gt|K&_Jv;V=RVGn6|TOXDM9enflG%kxK z^%pC+)!Ugr@+-&RWrVAki=MF;QOBG5ahm4hu?FeU`v=$U%IAiQioX3qset_wclei_ zE9aS5js%Go7M+$sFUFg0Bd||2!_=qPeA#NeUs9pX%xmh!#HY@H$=Q0PNWrkbR+=q5 zDQ5HE>OU7wT&GV9rFx?4b-(rSv@r7^f7T zL9}m1gJmq1RRe{QV>QRoFFmUAA_it#9(7}*{(?RKRCzj&kxrGV@TVuXY9m<&PR>^H%vHwua5n4T?=y$4~LUBZ_SW02*X+PMPGhmVQwzO)bYdjvTrG(bf z8YpN%FsP%LzBFo9ni|M7A8h?l{TdG1HCCd(!71(Xq=!Xm+j4NY2PAXK?4I2w&vZ z*?ly=y7;R?TMt(F-|g9RgFe(llI@YEpp)r}S+)r)s^1PKQGn|iUv<|^x0q7`GJ@_S z_Kd)efY5Us9PbCc&zC9|DhFQPD)zD6+PNV=Vd6p_t^Zx+yjKJ&ls;*!XQiT|y1y|U z=)It-`Q54J*7h5mx6$$^nc*hlm0drCU-$t&h=B{_E)@d2kj)b~1782AP}wbE@4vda zDb$f>iwT+A2Q$afg7S-1%Z2w)_mr)t1JgxboVV8N`%`CC_jaSnzy3GU-ZCoczHj?I z6#+p)K)OUahwe~Nx)G2Zy1RQsK}1SGx}>|irMtVkd+3;%=a1)g-Ov4E@3rA^rB9g@-I~N)d-kcz4jy0fRzq&q<=HcLiS z!p&D;gT;7Umg|~siE>KKSJ47KPGV}`cq;{msFk`t(776)6we5YHh)J^^^N-vP0R?C z*&-_5wQIA@e84j|wx9SiCR#{u=P>>Bj`oU;VxVqpL%`=A^E!MG{+G3W1d1(945P08 za2T#{F9cSWia8moLlzZU^PgMJraeSZ&hli0ZSm>MYO^ryti%msL$;6SFfoXQpmzN~s-8|`{cy2>$;tG;K&3ryfz@A33#%KkfvM4= z9T&aMcz_wOc92f9TWB(SlCM;_v*`V+APt3d-@IXep0`*v5#qs`;|4Nia6&{Hunyc_ z&!9=>Nec`T&!;aL@)%AQ>!_m$Q!cbAvVVk%%}^j-sqYYUcGDY=0K)3E)EFrqVFY`u zY3tf?Ul+Gq+|2X%r(=Qw=_;04{`vIzpk-&vd+CQztHr0r@d@w%)Sev`C3ST})fXw& z?08t&pK? z)w>vVjRy)ZJepx&W%juPAFN0CIq18djO~27w-7cWZh@2C=HJgcZa=Z7+~LgrT5DR0 ziwqAFbY!?k5u$VLmece@m!X}@aUYM*fxS9zb6N5UJh7+v?MyC}lk~_#oHqXUI4kUa ztJ^xI>k0inN$yNMN+0-ZxtUm?P7D*tm&1d$LJ)z2ZFgw8_|r~ayDWA?GwpnRm^jC+ zNKX2ujtLD<>(etHqTce#J+gR?A5>on%3zcDyh^)YN^=ffKJy&<=XNd?HD4-i>LvI*AOZj{4IOhc`eQ z@GlcQ9$lYg#^Ldiu)*c1yJ-m3<6)O`;EtaE^__`LZG`xqRGdm<@6fVL?#M9JMi`NXiNFz^mdbE~lvrjcLe3LnaH=ThU9an6;F35uhNh_I97lL)E6x@1oAl3k5c8+;@RG+J=ucB1q3_4 zf9gxfVv>Cr*V%pff@qxT$%!ml;g5MK|4NR;Cu%$6t#z<$I4;X&9FOzfGy_KFa#;9= zW~J!?Z;h7CY=bNHdAAFdynb|+Q+MOqKifq=@8Vw7cy2tUyO#S2Ep0l*`+G$3fbQb4 z4g?;pnfL!QMf{dXEB~?1GjO897FAVMaDtl+9d>f1-r{p5|4&$SBJR5J+jM1IZbRM)dlu58216TQC`1FKBysWaKm59| z{~kdvIIxpw^%WJqw)Vc?5EthiyiOn~SNjz@wSPL5M<2fOEf`w-~+KT5D2n7B>)N4Z;6+1r6jLIoqJ ziA?;WGq7N=q+DQNzxx(Hk?_2$BfpA4{Xpb71{x?F59ebJFkeTDM#;QByE!J7tiI?H zVF;HAdciQu6*=E!zV>*Vyfp|iGR*kd`R=3KHl=XaMv&*Gi5?B}#+zIMd75P@^qIPs z)86RbToZkD9+87DG(FrzLV%0MF&V}8iL^U=CxXAlN-&z>iR8uHZ=52e-WQk)>D81=d z6QN3GSHt3Vn|j+m^N!)E(i=DAFj8HT8^S`*3F|!08O8h{L7v58 zl+fJK+el$+p?c)FzL@!IBS{p2Mn3i|$G7!OOzqSe0*y|PwGnLeId>?!XP^+#FOw=~ z#i+;f@EI+jWoIJ9MzLvV@1ft5m&58{z^u|PPMs}t@KLyzw{Q%xkREsr3LT%Q^{E+X zAU&yb&)U=yKx}p#;mMQ4hUNw_8!{T#UBVed?mHJet&J2xl(@BqpKQ)fpj3`JcA}+= zS^{DZZvlI(}KRo?nnwj`pjoHx+6OimZ^@}QF z_uw%_Y(UNi7QA((6=->QQi>kp0Jb7Yeizqz1ycQ@x)HSYFn2@~#GowTIcENjL<==X zZJ~s{>=&fb1RkShy#DE)U-mY|9N$8>gSZSKI09bWy0}uuup{)(RXLb_6%#Ps6@jKx z0^M!rZQ#vQDx^5iu0haavlXS6e*{mD|9wc5!+|;CghAhT|kvZ{tZRC!N5eEXlvHx-xgn#wNv|&`ERQ#;TMO713?#Gj%2a zej{=jjyl~PxII~Rwi|fagelvUiKh^>+}AVCH>nO7%(V9eJvkV0J{a^8ydlbZGM9GM zf#r0+jngoB?zDP zu$RiOqRgVdM2ND!9>O+;LM~hT+)F{Y6T6k4H^#Wp_s5|#hIRY>-P(B#Hwym4Suwbu%E6#dq) z#2@P$c#nNjp6{K^T_(hp%aYa`u+Wjr?LMZC}lfgj7JY6aITx#60@&@+|4C>yw$F8nkjEGTn{W zO7y+fvh!{hQgz^9iECM-u2xaoB(x8EsJzUPdWz`CH$_{JUfQyIbY?zkY-107gvS zrotM}Z!9WD05X!^iS@|$D{Yqv_I^wKEtEtyQyK(pA1P8DkK*}l=~77RGMKbCpz3*6 z_ZrQR-OFWe+nESM-y~y)G3_ul4s`}_ej9xW*M`}!(OiY8>K(G`9m>imq`tL_!=zi@ z`BsjA%SqZ?yqSrM{MNNZDchV3iC)pTZnO0+=?G-( z$`3pQbK{iE4^KZF3dZ!@jrDoJ*_4QCDnHFIp-*blUkt~PD>F+C{)rLxIS&@0mSt%v z=2W*`DaeYm8)W0SNNJ38-r@4N+>`R_2m7Z5g~Zh1t9-am2~}-o+Z_E897@UmeM~O= zY}JoW?yg(Nqup8kKySn;eqFEEu!mO zB6F;OyczLv33BT-Q0E(_;JoSTgxlO0`SQ|JA=$RzxK*?a3$Hen_FzzjE`q$Tj3bkX zBcHUbWqKnnhiQv>v_4=WM+scHg4@xpxV1RcbC|YV(|`X4?HM>F@r^w9-9M5?gKN`$ zTijf`S@evcsJp|>;f_iS`3rFoe6iTxC=BiQ!lE%d*Es~P=dF3b4qx8 z?5-RCvDxSRQlkp5>XIK{Z41idMG~<%d^ylVG`UC`wppv1-QJ}hG4EfQ)uIT~QRc^4 zaz#PCV*MRlTY1UqQ0nb6sUfE2ayNh+kUcY&X81-`5{q-jM$?FV5QZ(r%VIuD0|HWBTMF-M%>poIMiBl=NB6dpS^+T3#o8w`$9@wxxyaw2TnDHu^U2~aD z*|s#S=A`SPSnJ`ogLPYp!tBRHy}}!R3c<#`qx7G5?+ls=T=t9<7ihCt$Cd?OeNdWk zg14-3TPE0)kgCB|VV-kBs4_VPN7iD^jpJcntn(8M!P%{{mKSy^RW{6*r~_IGOqQ?n z)CVFANu506)QAnCuKl3k>8YT6bMX28x)o|b+YD$$D2Io+($3LQK}`Ip1^-@f%lgtV zRLe10Z(!T`6nYL^_)?V?t@tePh>CUDiXV)c^#7pXx|m=TQ5Z*w**Q0CzxF9Ml?i zb>+sqqyu+AJkzqCb+az@Zg-g1JKhsWX=10RUe}(kjQ9{tor68RnNyB*YRY}@ElZZ_ zx?1{<&?*|cH?6P4L@;}bwobn+do+BidGYeO70HM8_tqE2>yfBUEQ<;!^QpU&(06u% z56w;N{a;H|!$RyCT)#G*aT1-O+4cVT61T`)PYV-6bS)Hm6OY#LvJERftKOG`59}0? z{rv6>Z2k=u)6S2HNrU3}J3+#!#kKmxWmqyEFqQpzche6xP{mD9i$%jcxb7D71xvhnf zmZ2Zf*Huj8P2xCyGhsKX(Q-cw?d~*#5o{S}{Z}h6%lS1$VvoFIUQ1B&gqO_gA-J7< zBiO}JJXd9XV{d=8y}6*KlzMN9=wYGku-#X5QJ^h~2esa*@aJtxyMoRpWcXkpuy2MD z96bDTs5fk<-ouU@vqMiVK)rK@3A{goqp&Ax@H(WHVjI5XTtqZMf!(Myq|OTV^18Mj z&Zrt7i(f`@S2!d@i!N0|R4dEQ7!^`j*CW%>v4oV!u010>ig1kSfF}P3@cr25SRbq?#+z)xMy%X?`N?))SsGjwi zmZ|@aj_l`}$Y~3+W82crDm&%0ho6;>2i?FPBDn^<*K88FiWjN;I(iXsaw)S~kZ4jD zUkzryz2D|!=PSVDrKaq8G+#u#&~GZM>?Y;Ou-`x5VgL<@SMAnpA!0pEOnAphpTg4< zS-1WwKnZ(N1`;bXg zbx)U8a+Lmcsg_Qi8Jw;d)BBPJy~M>G8mz>AY>Aw173Ms5gwSh3 z-;7=)#rAeb*WKxU8V9%18^hSYEG;@Px2t=3jaePufi?~` z)3T*1=XguV4LN*gUD?7SgHe8Itj9_gQ0@gY9>5;W9j$QaDj;h0i0Oy!PB-AzS1V_C zWN9}3ghxkLvfPEtWk=|}55 zep}QzWMq>Rv60&sflc=_h&9C7fN{+T>DwynzKWu=OPKqaO>fD)n9~Pb^miKVa%z{* z6p^P|iHJxkdP3!u3KW_=Kgx=eMHBHIA|ZR*mTw63WQnLxRlcB1!GMrj+AoPiJNabx z-%jcWf>3veR^H$ehP}$0SR;QG5Vy>LdFb2w0GFz8!|WdT{hGVH@S^h!X=EY}r?eCh zG0*VVMGC`Sx;tUBGmO75w|(Vnp5uHpZl>L9%}@jk$yp7JI$HA>GMbu37cRi|eNsw3 zE3_tLdi^)*xdM&OG=5lY%g$$^#z$L9!U{S{5+J1c)n{}iEq}mpwo;CK^IX3W=vdUK zJLAZ*p1D`gD6Uds#iPy$^*Jb z#q8Ddiz)X_fp$xOU&?Uh$ocUlvY883dtOA=NvGOkYg3$wn%BV=fy(8T`x{~?)$zP7N}3N%s18iNa86bl zp}*Y4x#MxTpev!uYIA@d>zj)A?|9A{F`a^pSIp@6g1amx5F<*pia1BJUfY}z$GT>Q zsvc+7>fQ`Iij&8j-(a_Vy?ym>_k$%47n>vQM+UFvOIFg~-z171aNX6KEJc!~E;ap` z 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 literal 0 HcmV?d00001 diff --git a/example/peripheral/can/inc/can_example.h b/example/peripheral/can/inc/can_example.h new file mode 100644 index 00000000..27231abb --- /dev/null +++ b/example/peripheral/can/inc/can_example.h @@ -0,0 +1,30 @@ +/* + * Copyright : (C) 2022 Phytium Information Technology, Inc. + * All Rights Reserved. + * + * This program is OPEN SOURCE software: you can redistribute it and/or modify it + * under the terms of the Phytium Public License as published by the Phytium Technology Co.,Ltd, + * either version 1.0 of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful,but WITHOUT ANY WARRANTY; + * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + * See the Phytium Public License for more details. + * + * + * FilePath: can_example.h + * Date: 2022-08-25 16:22:40 + * LastEditTime: 2022-08-26 15:40:40 + * Description: This file is for + * + * Modify History: + * Ver Who Date Changes + * ----- ------ -------- -------------------------------------- + */ + + +#ifndef CAN_EXAMPLE_H +#define CAN_EXAMPLE_H + +/* adc test */ +BaseType_t FFreeRTOSCanCreate(void); +#endif // ! \ No newline at end of file diff --git a/example/peripheral/can/main.c b/example/peripheral/can/main.c new file mode 100644 index 00000000..0cc8fe44 --- /dev/null +++ b/example/peripheral/can/main.c @@ -0,0 +1,48 @@ +/* + * Copyright : (C) 2022 Phytium Information Technology, Inc. + * All Rights Reserved. + * + * This program is OPEN SOURCE software: you can redistribute it and/or modify it + * under the terms of the Phytium Public License as published by the Phytium Technology Co.,Ltd, + * either version 1.0 of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful,but WITHOUT ANY WARRANTY; + * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + * See the Phytium Public License for more details. + * + * + * FilePath: main.c + * Date: 2022-06-17 08:17:59 + * LastEditTime: 2022-06-17 08:17:59 + * Description: This file is for + * + * Modify History: + * Ver Who Date Changes + * ----- ------ -------- -------------------------------------- + */ + +#include "shell.h" +#include "shell_port.h" +#include +#include "can_example.h" + +int main(void) +{ + BaseType_t ret; + + /* test can 0 and can 1, loopback */ + ret = FFreeRTOSCanCreate(); + if(ret != pdPASS) + goto FAIL_EXIT; + + ret = LSUserShellTask() ; + if(ret != pdPASS) + goto FAIL_EXIT; + + vTaskStartScheduler(); /* 启动任务,开启调度 */ + while (1); /* 正常不会执行到这里 */ + +FAIL_EXIT: + printf("failed 0x%x \r\n", ret); + return 0; +} diff --git a/example/peripheral/can/makefile b/example/peripheral/can/makefile new file mode 100644 index 00000000..9a46e85a --- /dev/null +++ b/example/peripheral/can/makefile @@ -0,0 +1,30 @@ +export PROJECT_DIR ?= $(shell pwd) + +export USR_SRC_DIR = $(PROJECT_DIR) \ + ./src +export USR_INC_DIR = $(PROJECT_DIR) \ + ./inc + +# 用户定义的编译目标文件上传路径 +ifeq ($(OS),Windows_NT) + USR_BOOT_DIR ?= $(subst \,/, $(PHYTIUM_DEV_PATH))/tftp +else + USR_BOOT_DIR ?= /mnt/d/tftboot +endif + +# 设置启动镜像名 +BOOT_IMG_NAME ?= freertos + +# 指定编译freertos项目使用的makefile +include $(FREERTOS_SDK_ROOT)/make/build_freertos.mk + +# 完成编译 +boot: + make -j + @cp ./$(CONFIG_TARGET_NAME).elf $(USR_BOOT_DIR)/$(BOOT_IMG_NAME).elf +ifdef CONFIG_OUTPUT_BINARY + @cp ./$(CONFIG_TARGET_NAME).bin $(USR_BOOT_DIR)/$(BOOT_IMG_NAME).bin +endif + @ls $(USR_BOOT_DIR)/$(BOOT_IMG_NAME).* -l + + diff --git a/example/peripheral/can/sdkconfig b/example/peripheral/can/sdkconfig new file mode 100644 index 00000000..021f45a8 --- /dev/null +++ b/example/peripheral/can/sdkconfig @@ -0,0 +1,216 @@ + +# +# Freertos Configuration +# +CONFIG_TARGET_NAME="e2000q_freertos_a64" +# end of Freertos Configuration + +# +# Standalone Setting +# +CONFIG_USE_FREERTOS=y + +# +# Arch Configuration +# +# CONFIG_TARGET_ARMV8_AARCH32 is not set +CONFIG_TARGET_ARMV8_AARCH64=y +CONFIG_USE_CACHE=y +CONFIG_USE_MMU=y +CONFIG_USE_SYS_TICK=y +# CONFIG_MMU_DEBUG_PRINTS is not set +# end of Arch Configuration + +# +# Board Configuration +# +# CONFIG_TARGET_F2000_4 is not set +# CONFIG_TARGET_D2000 is not set +CONFIG_TARGET_E2000Q=y +# CONFIG_TARGET_E2000D is not set +# CONFIG_TARGET_E2000S is not set +CONFIG_TARGET_E2000=y +CONFIG_DEFAULT_DEBUG_PRINT_UART1=y +# CONFIG_DEFAULT_DEBUG_PRINT_UART0 is not set +# CONFIG_DEFAULT_DEBUG_PRINT_UART2 is not set +# end of Board Configuration + +# +# Components Configuration +# +# CONFIG_USE_SPI is not set +# CONFIG_USE_QSPI is not set +CONFIG_USE_GIC=y +CONFIG_ENABLE_GICV3=y +CONFIG_USE_SERIAL=y + +# +# Usart Configuration +# +CONFIG_ENABLE_Pl011_UART=y +# end of Usart Configuration + +# CONFIG_USE_GPIO is not set +# CONFIG_USE_ETH is not set +CONFIG_USE_CAN=y + +# +# CAN Configuration +# +CONFIG_USE_FCAN=y +# CONFIG_FCAN_USE_CANFD is not set +# end of CAN Configuration + +# CONFIG_USE_I2C is not set +# CONFIG_USE_TIMER is not set +# CONFIG_USE_MIO is not set +# CONFIG_USE_SDMMC is not set +# CONFIG_USE_PCIE is not set +# CONFIG_USE_WDT is not set +# CONFIG_USE_DMA is not set +# CONFIG_USE_NAND is not set +# CONFIG_USE_RTC is not set +# CONFIG_USE_SATA is not set +# CONFIG_USE_USB is not set +# CONFIG_USE_ADC is not set +# CONFIG_USE_PWM is not set +# CONFIG_USE_IPC is not set +# end of Components Configuration + +CONFIG_USE_NEW_LIBC=y +# end of Standalone Setting + +# +# Building Option +# +# CONFIG_LOG_VERBOS is not set +# CONFIG_LOG_DEBUG is not set +CONFIG_LOG_INFO=y +# CONFIG_LOG_WARN is not set +# CONFIG_LOG_ERROR is not set +# CONFIG_LOG_NONE is not set +CONFIG_USE_DEFAULT_INTERRUPT_CONFIG=y +CONFIG_INTERRUPT_ROLE_MASTER=y +# CONFIG_INTERRUPT_ROLE_SLAVE is not set +# CONFIG_LOG_EXTRA_INFO is not set +# CONFIG_BOOTUP_DEBUG_PRINTS is not set + +# +# Linker Options +# +# CONFIG_AARCH32_RAM_LD is not set +CONFIG_AARCH64_RAM_LD=y +# CONFIG_USER_DEFINED_LD is not set +CONFIG_LINK_SCRIPT_ROM=y +CONFIG_ROM_START_UP_ADDR=0x80100000 +CONFIG_ROM_SIZE_MB=1 +CONFIG_LINK_SCRIPT_RAM=y +CONFIG_RAM_START_UP_ADDR=0x81000000 +CONFIG_RAM_SIZE_MB=64 +CONFIG_HEAP_SIZE=1 +CONFIG_STACK_SIZE=0x100000 +CONFIG_FPU_STACK_SIZE=0x1000 +# end of Linker Options + +# +# Compiler Options +# +CONFIG_OUTPUT_BINARY=y +# end of Compiler Options +# end of Building Option + +# +# Component Configuration +# + +# +# Freertos Uart Drivers +# +CONFIG_FREERTOS_USE_UART=y +# end of Freertos Uart Drivers + +# +# Freertos Pwm Drivers +# +# CONFIG_FREERTOS_USE_PWM is not set +# end of Freertos Pwm Drivers + +# +# Freertos Qspi Drivers +# +# CONFIG_FREERTOS_USE_QSPI is not set +# end of Freertos Qspi Drivers + +# +# Freertos Wdt Drivers +# +# CONFIG_FREERTOS_USE_WDT is not set +# end of Freertos Wdt Drivers + +# +# Freertos Eth Drivers +# +# CONFIG_FREERTOS_USE_XMAC is not set +# end of Freertos Eth Drivers + +# +# Freertos Gpio Drivers +# +# CONFIG_FREERTOS_USE_GPIO is not set +# end of Freertos Gpio Drivers + +# +# Freertos Spim Drivers +# +# CONFIG_FREERTOS_USE_FSPIM is not set +# end of Freertos Spim Drivers + +# +# Freertos DMA Drivers +# +# CONFIG_FREERTOS_USE_FDDMA is not set +# CONFIG_FREERTOS_USE_FGDMA is not set +# end of Freertos DMA Drivers + +# +# Freertos MMC Drivers +# +# CONFIG_FREERTOS_USE_FSDIO is not set +# end of Freertos MMC Drivers + +# +# Freertos Adc Drivers +# +# CONFIG_FREERTOS_USE_ADC is not set +# end of Freertos Adc Drivers + +# +# Freertos Can Drivers +# +CONFIG_FREERTOS_USE_CAN=y +# end of Freertos Can Drivers +# end of Component Configuration + +# +# FreeRTOS Setting +# +# CONFIG_USE_LWIP is not set +CONFIG_USE_BACKTRACE=y +# CONFIG_USE_FATFS is not set +# CONFIG_USE_SFUD is not set +# CONFIG_USE_SPIFFS is not set +# CONFIG_USE_AMP is not set +CONFIG_USE_LETTER_SHELL=y + +# +# Letter Shell Configuration +# +CONFIG_LS_PL011_UART=y +CONFIG_DEFAULT_LETTER_SHELL_USE_UART1=y +# CONFIG_DEFAULT_LETTER_SHELL_USE_UART0 is not set +# CONFIG_DEFAULT_LETTER_SHELL_USE_UART2 is not set +# end of Letter Shell Configuration + +# CONFIG_USE_TLSF is not set +# CONFIG_USE_SDMMC_CMD is not set +# end of FreeRTOS Setting diff --git a/example/peripheral/can/sdkconfig.h b/example/peripheral/can/sdkconfig.h new file mode 100644 index 00000000..7b78d7ba --- /dev/null +++ b/example/peripheral/can/sdkconfig.h @@ -0,0 +1,191 @@ +#ifndef SDK_CONFIG_H__ +#define SDK_CONFIG_H__ + +/* Freertos Configuration */ + +#define CONFIG_TARGET_NAME "e2000q_freertos_a64" +/* end of Freertos Configuration */ + +/* Standalone Setting */ + +#define CONFIG_USE_FREERTOS + +/* Arch Configuration */ + +/* CONFIG_TARGET_ARMV8_AARCH32 is not set */ +#define CONFIG_TARGET_ARMV8_AARCH64 +#define CONFIG_USE_CACHE +#define CONFIG_USE_MMU +#define CONFIG_USE_SYS_TICK +/* CONFIG_MMU_DEBUG_PRINTS is not set */ +/* end of Arch Configuration */ + +/* Board Configuration */ + +/* CONFIG_TARGET_F2000_4 is not set */ +/* CONFIG_TARGET_D2000 is not set */ +#define CONFIG_TARGET_E2000Q +/* CONFIG_TARGET_E2000D is not set */ +/* CONFIG_TARGET_E2000S is not set */ +#define CONFIG_TARGET_E2000 +#define CONFIG_DEFAULT_DEBUG_PRINT_UART1 +/* CONFIG_DEFAULT_DEBUG_PRINT_UART0 is not set */ +/* CONFIG_DEFAULT_DEBUG_PRINT_UART2 is not set */ +/* end of Board Configuration */ + +/* Components Configuration */ + +/* CONFIG_USE_SPI is not set */ +/* CONFIG_USE_QSPI is not set */ +#define CONFIG_USE_GIC +#define CONFIG_ENABLE_GICV3 +#define CONFIG_USE_SERIAL + +/* Usart Configuration */ + +#define CONFIG_ENABLE_Pl011_UART +/* end of Usart Configuration */ +/* CONFIG_USE_GPIO is not set */ +/* CONFIG_USE_ETH is not set */ +#define CONFIG_USE_CAN + +/* CAN Configuration */ + +#define CONFIG_USE_FCAN +/* CONFIG_FCAN_USE_CANFD is not set */ +/* end of CAN Configuration */ +/* CONFIG_USE_I2C is not set */ +/* CONFIG_USE_TIMER is not set */ +/* CONFIG_USE_MIO is not set */ +/* CONFIG_USE_SDMMC is not set */ +/* CONFIG_USE_PCIE is not set */ +/* CONFIG_USE_WDT is not set */ +/* CONFIG_USE_DMA is not set */ +/* CONFIG_USE_NAND is not set */ +/* CONFIG_USE_RTC is not set */ +/* CONFIG_USE_SATA is not set */ +/* CONFIG_USE_USB is not set */ +/* CONFIG_USE_ADC is not set */ +/* CONFIG_USE_PWM is not set */ +/* CONFIG_USE_IPC is not set */ +/* end of Components Configuration */ +#define CONFIG_USE_NEW_LIBC +/* end of Standalone Setting */ + +/* Building Option */ + +/* CONFIG_LOG_VERBOS is not set */ +/* CONFIG_LOG_DEBUG is not set */ +#define CONFIG_LOG_INFO +/* CONFIG_LOG_WARN is not set */ +/* CONFIG_LOG_ERROR is not set */ +/* CONFIG_LOG_NONE is not set */ +#define CONFIG_USE_DEFAULT_INTERRUPT_CONFIG +#define CONFIG_INTERRUPT_ROLE_MASTER +/* CONFIG_INTERRUPT_ROLE_SLAVE is not set */ +/* CONFIG_LOG_EXTRA_INFO is not set */ +/* CONFIG_BOOTUP_DEBUG_PRINTS is not set */ + +/* Linker Options */ + +/* CONFIG_AARCH32_RAM_LD is not set */ +#define CONFIG_AARCH64_RAM_LD +/* CONFIG_USER_DEFINED_LD is not set */ +#define CONFIG_LINK_SCRIPT_ROM +#define CONFIG_ROM_START_UP_ADDR 0x80100000 +#define CONFIG_ROM_SIZE_MB 1 +#define CONFIG_LINK_SCRIPT_RAM +#define CONFIG_RAM_START_UP_ADDR 0x81000000 +#define CONFIG_RAM_SIZE_MB 64 +#define CONFIG_HEAP_SIZE 1 +#define CONFIG_STACK_SIZE 0x100000 +#define CONFIG_FPU_STACK_SIZE 0x1000 +/* end of Linker Options */ + +/* Compiler Options */ + +#define CONFIG_OUTPUT_BINARY +/* end of Compiler Options */ +/* end of Building Option */ + +/* Component Configuration */ + +/* Freertos Uart Drivers */ + +#define CONFIG_FREERTOS_USE_UART +/* end of Freertos Uart Drivers */ + +/* Freertos Pwm Drivers */ + +/* CONFIG_FREERTOS_USE_PWM is not set */ +/* end of Freertos Pwm Drivers */ + +/* Freertos Qspi Drivers */ + +/* CONFIG_FREERTOS_USE_QSPI is not set */ +/* end of Freertos Qspi Drivers */ + +/* Freertos Wdt Drivers */ + +/* CONFIG_FREERTOS_USE_WDT is not set */ +/* end of Freertos Wdt Drivers */ + +/* Freertos Eth Drivers */ + +/* CONFIG_FREERTOS_USE_XMAC is not set */ +/* end of Freertos Eth Drivers */ + +/* Freertos Gpio Drivers */ + +/* CONFIG_FREERTOS_USE_GPIO is not set */ +/* end of Freertos Gpio Drivers */ + +/* Freertos Spim Drivers */ + +/* CONFIG_FREERTOS_USE_FSPIM is not set */ +/* end of Freertos Spim Drivers */ + +/* Freertos DMA Drivers */ + +/* CONFIG_FREERTOS_USE_FDDMA is not set */ +/* CONFIG_FREERTOS_USE_FGDMA is not set */ +/* end of Freertos DMA Drivers */ + +/* Freertos MMC Drivers */ + +/* CONFIG_FREERTOS_USE_FSDIO is not set */ +/* end of Freertos MMC Drivers */ + +/* Freertos Adc Drivers */ + +/* CONFIG_FREERTOS_USE_ADC is not set */ +/* end of Freertos Adc Drivers */ + +/* Freertos Can Drivers */ + +#define CONFIG_FREERTOS_USE_CAN +/* end of Freertos Can Drivers */ +/* end of Component Configuration */ + +/* FreeRTOS Setting */ + +/* CONFIG_USE_LWIP is not set */ +#define CONFIG_USE_BACKTRACE +/* CONFIG_USE_FATFS is not set */ +/* CONFIG_USE_SFUD is not set */ +/* CONFIG_USE_SPIFFS is not set */ +/* CONFIG_USE_AMP is not set */ +#define CONFIG_USE_LETTER_SHELL + +/* Letter Shell Configuration */ + +#define CONFIG_LS_PL011_UART +#define CONFIG_DEFAULT_LETTER_SHELL_USE_UART1 +/* CONFIG_DEFAULT_LETTER_SHELL_USE_UART0 is not set */ +/* CONFIG_DEFAULT_LETTER_SHELL_USE_UART2 is not set */ +/* end of Letter Shell Configuration */ +/* CONFIG_USE_TLSF is not set */ +/* CONFIG_USE_SDMMC_CMD is not set */ +/* end of FreeRTOS Setting */ + +#endif diff --git a/example/peripheral/can/src/can_example.c b/example/peripheral/can/src/can_example.c new file mode 100644 index 00000000..71bcf202 --- /dev/null +++ b/example/peripheral/can/src/can_example.c @@ -0,0 +1,494 @@ +/* + * Copyright : (C) 2022 Phytium Information Technology, Inc. + * All Rights Reserved. + * + * This program is OPEN SOURCE software: you can redistribute it and/or modify it + * under the terms of the Phytium Public License as published by the Phytium Technology Co.,Ltd, + * either version 1.0 of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful,but WITHOUT ANY WARRANTY; + * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + * See the Phytium Public License for more details. + * + * + * FilePath: can_example.c + * Date: 2022-07-11 11:32:48 + * LastEditTime: 2022-07-11 11:32:48 + * Description: This file is for + * + * Modify History: + * Ver Who Date Changes + * ----- ------ -------- -------------------------------------- + */ +#include +#include +#include "FreeRTOSConfig.h" +#include "FreeRTOS.h" +#include "task.h" +#include "timers.h" +#include "fcan.h" +#include "fcan_os.h" +#include "cpu_info.h" +#include "fpinctrl.h" +#include "ft_assert.h" +#include "ft_debug.h" + +#define FCAN_TEST_DEBUG_TAG "FCAN_FREERTOS_TEST" +#define FCAN_TEST_DEBUG(format, ...) FT_DEBUG_PRINT_D(FCAN_TEST_DEBUG_TAG, format, ##__VA_ARGS__) +#define FCAN_TEST_INFO(format, ...) FT_DEBUG_PRINT_I(FCAN_TEST_DEBUG_TAG, format, ##__VA_ARGS__) +#define FCAN_TEST_WARN(format, ...) FT_DEBUG_PRINT_W(FCAN_TEST_DEBUG_TAG, format, ##__VA_ARGS__) +#define FCAN_TEST_ERROR(format, ...) FT_DEBUG_PRINT_E(FCAN_TEST_DEBUG_TAG, format, ##__VA_ARGS__) + +/* The periods assigned to the one-shot timers. */ +#define ONE_SHOT_TIMER_PERIOD ( pdMS_TO_TICKS( 20000UL )) + +/* can send period */ +#define CAN_SEND_PERIOD ( pdMS_TO_TICKS( 1000UL )) + +/* can baudrate */ +#define ARB_BAUD_RATE 1000000 +#define DATA_BAUD_RATE 1000000 + +/* test task number */ +// #define TEST_TASK_NUM 2 + +typedef struct +{ + u32 count; + FFreeRTOSCan *os_can_p; +} FCanQueueData; + +// static xSemaphoreHandle xCountingSemaphore; + +/* Declare a variable of type QueueHandle_t. This is used to store the queue +that is accessed by all three tasks. */ +static QueueHandle_t xQueue; + + + +static xTaskHandle send_handle; +static xTaskHandle recv_handle; + +static TimerHandle_t xOneShotTimer; + +static FFreeRTOSCan *os_can_ctrl_p[FCAN_INSTANCE_NUM]; + +static FCanFrame send_frame[FCAN_INSTANCE_NUM]; +static FCanFrame recv_frame[FCAN_INSTANCE_NUM]; + +static void FFreeRTOSCanSendTask(void *pvParameters); +static void FFreeRTOSCanRecvTask(void *pvParameters); +static void FFreeRTOSCanDelete(void); + +static void FCanTxIrqCallback(void *args) +{ + FFreeRTOSCan *os_can_p = (FFreeRTOSCan *)args; + FCAN_TEST_DEBUG("Can%d irq send frame is ok", os_can_p->can_ctrl.config.instance_id); +} + +static void FCanRxIrqCallback(void *args) +{ + FFreeRTOSCan *os_can_p = (FFreeRTOSCan *)args; + FCAN_TEST_DEBUG("Can%d irq recv frame callback", os_can_p->can_ctrl.config.instance_id); + + static FCanQueueData xSendStructure; + xSendStructure.os_can_p = os_can_p; + + portBASE_TYPE xHigherPriorityTaskWoken = pdFALSE; + + xQueueSendToBackFromISR(xQueue, &xSendStructure, &xHigherPriorityTaskWoken); + + /* never call taskYIELD() form ISR! */ + portYIELD_FROM_ISR(xHigherPriorityTaskWoken); +} + +static FError FFreeRTOSCanIntrSet(FFreeRTOSCan *os_can_p) +{ + FError ret = FCAN_SUCCESS; + + FCanIntrEventConfig intr_event; + memset(&intr_event, 0, sizeof(intr_event)); + + intr_event.type = FCAN_INTR_EVENT_SEND; + intr_event.handler = FCanTxIrqCallback; + intr_event.param = (void *)os_can_p; + ret = FFreeRTOSCanControl(os_can_p, FREERTOS_CAN_CTRL_INTR_SET, &intr_event); + if (FCAN_SUCCESS != ret) + { + FCAN_TEST_ERROR("FFreeRTOSCanControl FCAN_INTR_EVENT_SEND failed\n"); + return ret; + } + + intr_event.type = FCAN_INTR_EVENT_RECV; + intr_event.handler = FCanRxIrqCallback; + intr_event.param = (void *)os_can_p; + ret = FFreeRTOSCanControl(os_can_p, FREERTOS_CAN_CTRL_INTR_SET, &intr_event); + if (FCAN_SUCCESS != ret) + { + FCAN_TEST_ERROR("FFreeRTOSCanControl FCAN_INTR_EVENT_RECV failed\n"); + return ret; + } + + u32 cpu_id; + GetCpuId(&cpu_id); + FCanCtrl *instance_p = &os_can_p->can_ctrl; + InterruptSetTargetCpus(instance_p->config.irq_num, cpu_id); + InterruptSetPriority(instance_p->config.irq_num, instance_p->config.irq_prority); + InterruptInstall(instance_p->config.irq_num, FCanIntrHandler, instance_p, "can"); + InterruptUmask(instance_p->config.irq_num); + + return ret; +} + + +static FError FFreeRTOSCanBaudrateSet(FFreeRTOSCan *os_can_p) +{ + FError ret = FCAN_SUCCESS; + + FCanIntrEventConfig intr_event; + memset(&intr_event, 0, sizeof(intr_event)); + + FCanBaudrateConfig arb_segment_config; + FCanBaudrateConfig data_segment_config; + memset(&arb_segment_config, 0, sizeof(arb_segment_config)); + memset(&data_segment_config, 0, sizeof(data_segment_config)); + arb_segment_config.baudrate = ARB_BAUD_RATE; + arb_segment_config.auto_calc = TRUE; + arb_segment_config.segment = FCAN_ARB_SEGMENT; + + data_segment_config.baudrate = DATA_BAUD_RATE; + data_segment_config.auto_calc = TRUE; + data_segment_config.segment = FCAN_DATA_SEGMENT; + + ret = FFreeRTOSCanControl(os_can_p, FREERTOS_CAN_CTRL_BAUDRATE_SET, &arb_segment_config); + if (FCAN_SUCCESS != ret) + { + FCAN_TEST_ERROR("FFreeRTOSCanControl arb_segment_config failed\n"); + return ret; + } + + ret = FFreeRTOSCanControl(os_can_p, FREERTOS_CAN_CTRL_BAUDRATE_SET, &data_segment_config); + if (FCAN_SUCCESS != ret) + { + FCAN_TEST_ERROR("FFreeRTOSCanControl data_segment_config failed\n"); + return ret; + } + return ret; +} + + +static FError FFreeRTOSCanIdMaskSet(FFreeRTOSCan *os_can_p) +{ + FError ret = FCAN_SUCCESS; + + FCanIdMaskConfig id_mask; + memset(&id_mask, 0, sizeof(id_mask)); + for (int i = 0; i < FCAN_ACC_ID_REG_NUM; i++) + { + id_mask.filter_index = i; + id_mask.id = 0; + id_mask.mask = FCAN_ACC_IDN_MASK; + ret = FFreeRTOSCanControl(os_can_p, FREERTOS_CAN_CTRL_ID_MASK_SET, &id_mask); + if (FCAN_SUCCESS != ret) + { + FCAN_TEST_ERROR("FFreeRTOSCanControl FREERTOS_CAN_CTRL_ID_MASK_SET %d failed\n", i); + return ret; + } + } + + return ret; +} + +static void FFreeRTOSCanInitTask(void *pvParameters) +{ + FError ret = FCAN_SUCCESS; + BaseType_t xReturn = pdPASS; + FCanInstance can_id = FCAN_INSTANCE_0; + + for(can_id = FCAN_INSTANCE_0; can_id < FCAN_INSTANCE_NUM; can_id++) + { + #if defined(CONFIG_TARGET_F2000_4) || defined(CONFIG_TARGET_D2000) + if(can_id == FCAN_INSTANCE_0) + { + FPinSetFunc(FIOCTRL_TJTAG_TDI_PAD, FPIN_FUNC1); /* can0-tx: func 1 */ + FPinSetFunc(FIOCTRL_SWDITMS_SWJ_PAD, FPIN_FUNC1); /* can0-rx: func 1 */ + } + else if(can_id == FCAN_INSTANCE_1) + { + FPinSetFunc(FIOCTRL_NTRST_SWJ_PAD, FPIN_FUNC1); /* can1-tx: func 1 */ + FPinSetFunc(FIOCTRL_SWDO_SWJ_PAD, FPIN_FUNC1); /* can1-rx: func 1 */ + } + else if(can_id == FCAN_INSTANCE_2) + { + + } + else + { + FCAN_TEST_ERROR("can id is error"); + goto can_init_exit; + } + #elif defined(CONFIG_TARGET_E2000) + FIOPadSetCanMux(can_id); + #endif + + /* init can controller */ + os_can_ctrl_p[can_id] = FFreeRTOSCanInit(can_id); + if(os_can_ctrl_p[can_id] == NULL) + { + printf("FFreeRTOSCanInit %d failed!!!\n", can_id); + goto can_init_exit; + } + + /* set can baudrate */ + ret = FFreeRTOSCanBaudrateSet(os_can_ctrl_p[can_id]); + if (FCAN_SUCCESS != ret) + { + printf("FFreeRTOSCanInit FFreeRTOSCanBaudrateSet failed!!!\n"); + goto can_init_exit; + } + + /* set can id mask */ + ret = FFreeRTOSCanIdMaskSet(os_can_ctrl_p[can_id]); + if (FCAN_SUCCESS != ret) + { + printf("FFreeRTOSCanInit FFreeRTOSCanIdMaskSet failed!!!\n"); + goto can_init_exit; + } + + /* Identifier mask enable */ + ret = FFreeRTOSCanControl(os_can_ctrl_p[can_id], FREERTOS_CAN_CTRL_ID_MASK_ENABLE, NULL); + if (FCAN_SUCCESS != ret) + { + FCAN_TEST_ERROR("FFreeRTOSCanControl FREERTOS_CAN_CTRL_ID_MASK_ENABLE failed\n"); + goto can_init_exit; + } + + /* init can interrupt handler */ + ret = FFreeRTOSCanIntrSet(os_can_ctrl_p[can_id]); + if (FCAN_SUCCESS != ret) + { + FCAN_TEST_ERROR("FFreeRTOSCanInit FFreeRTOSCanIntrSet failed!!!\n"); + goto can_init_exit; + } + + /* enable can transfer */ + ret = FFreeRTOSCanControl(os_can_ctrl_p[can_id], FREERTOS_CAN_CTRL_ENABLE, NULL); + if (FCAN_SUCCESS != ret) + { + FCAN_TEST_ERROR("FFreeRTOSCanControl FREERTOS_CAN_CTRL_ENABLE failed\n"); + goto can_init_exit; + } + } + + printf("FFreeRTOSCanInitTask execute success !!!\r\n"); + + /* can send task */ + xReturn = xTaskCreate((TaskFunction_t )FFreeRTOSCanSendTask, /* 任务入口函数 */ + (const char* )"FFreeRTOSCanSendTask",/* 任务名字 */ + (uint16_t )1024, /* 任务栈大小 */ + NULL,/* 任务入口函数参数 */ + (UBaseType_t )configMAX_PRIORITIES-5, /* 任务的优先级 */ + (TaskHandle_t* )&send_handle); /* 任务控制 */ + if(xReturn != pdPASS) + { + printf("Create FFreeRTOSCanSendTask failed.\r\n"); + goto can_init_exit; + } + + /* can recv task */ + xReturn = xTaskCreate((TaskFunction_t )FFreeRTOSCanRecvTask, /* 任务入口函数 */ + (const char* )"FFreeRTOSCanRecvTask",/* 任务名字 */ + (uint16_t )1024, /* 任务栈大小 */ + NULL,/* 任务入口函数参数 */ + (UBaseType_t )configMAX_PRIORITIES-5, /* 任务的优先级 */ + (TaskHandle_t* )&recv_handle); /* 任务控制 */ + if(xReturn != pdPASS) + { + printf("Create FFreeRTOSCanRecvTask failed.\r\n"); + goto can_init_exit; + } + +can_init_exit: + vTaskDelete(NULL); +} + +static void FFreeRTOSCanRecvTask(void *pvParameters) +{ + FError ret = FCAN_SUCCESS; + u8 count[FCAN_INSTANCE_NUM]= {0}; + int i = 0; + static FCanQueueData xReceiveStructure; + FFreeRTOSCan *os_can_p; + u32 instance_id = 0; + /* As per most tasks, this task is implemented in an infinite loop. */ + for (;;) + { + /* wait recv interrupt give semphore */ + xQueueReceive(xQueue, &xReceiveStructure, portMAX_DELAY); + os_can_p = xReceiveStructure.os_can_p; + instance_id = os_can_p->can_ctrl.config.instance_id; + memset(&recv_frame, 0, sizeof(FCanFrame)); + ret = FFreeRTOSCanRecv(os_can_p, &recv_frame[instance_id]); + if (FCAN_SUCCESS == ret) + { + printf("\r\ncan 0 recv id is %#x\r\n", recv_frame[instance_id].canid); + printf("can 0 recv dlc is %d\r\n", recv_frame[instance_id].candlc); + printf("can 0 recv data is "); + for (i = 0; i < recv_frame[instance_id].candlc; i++) + { + printf("%#x ", recv_frame[instance_id].data[i]); + if(recv_frame[instance_id].data[i] != send_frame[FCAN_INSTANCE_1-instance_id].data[i]) + { + FCAN_TEST_ERROR("\ncount=%d: can %d recv is equal to can%d send!!!\r\n", count[instance_id], instance_id, FCAN_INSTANCE_1-instance_id); + } + } + printf("\ncount=%d: can %d recv is equal to can%d send!!!\r\n", count[instance_id], instance_id, FCAN_INSTANCE_1-instance_id); + + count[instance_id]++; + } + + } +} + +static void FFreeRTOSCanSendTask(void *pvParameters) +{ + #define FCAN_SEND_ID 0x23 + #define FCAN_SEND_LENGTH 8 + + FError ret = FCAN_SUCCESS; + FCanInstance can_id = FCAN_INSTANCE_0; + + u8 count[FCAN_INSTANCE_NUM]= {0}; + int i = 0; + + /* As per most tasks, this task is implemented in an infinite loop. */ + for (;;) + { + printf("\r\ncan send task running\r\n"); + for(can_id = FCAN_INSTANCE_0; can_id <= FCAN_INSTANCE_1; can_id++) + { + send_frame[can_id].canid = FCAN_SEND_ID+(can_id<<8); + send_frame[can_id].canid &= CAN_SFF_MASK; + send_frame[can_id].candlc = FCAN_SEND_LENGTH; + for (i = 0; i < send_frame[can_id].candlc; i++) + { + send_frame[can_id].data[i] = i+(can_id<<4); + } + ret = FFreeRTOSCanSend(os_can_ctrl_p[can_id], &send_frame[can_id]); + if(ret != FCAN_SUCCESS) + { + printf("can%d send failed.\n", can_id); + } + count[can_id]++; + } + vTaskDelay(CAN_SEND_PERIOD); + } +} + +static void prvOneShotTimerCallback( TimerHandle_t xTimer ) +{ + /* Output a string to show the time at which the callback was executed. */ + printf("One-shot timer callback executing, will delete FFreeRTOSCanReadTask.\r\n" ); + + FFreeRTOSCanDelete(); +} + +/* create can test, can0 and can1 loopback */ +BaseType_t FFreeRTOSCanCreate(void) +{ + BaseType_t xReturn = pdPASS; + BaseType_t timer_started = pdPASS; + + /* The queue is created to hold a maximum of 32 structures of type xData. */ + xQueue = xQueueCreate(32, sizeof(FCanQueueData)); + if (xQueue == NULL) + { + printf("FFreeRTOSCanCreate FCanQueueData create failed.\r\n" ); + return pdFAIL; + } + + /* enter critical region */ + + /* can init task */ + xReturn = xTaskCreate((TaskFunction_t )FFreeRTOSCanInitTask, /* 任务入口函数 */ + (const char* )"FFreeRTOSCanInitTask",/* 任务名字 */ + (uint16_t )1024, /* 任务栈大小 */ + NULL,/* 任务入口函数参数 */ + (UBaseType_t )1, /* 任务的优先级 */ + NULL); /* 任务控制 */ + + /* Create the one shot software timer, storing the handle to the created + software timer in xOneShotTimer. */ + xOneShotTimer = xTimerCreate( "OneShot Software Timer", /* Text name for the software timer - not used by FreeRTOS. */ + ONE_SHOT_TIMER_PERIOD, /* The software timer's period in ticks. */ + pdFALSE, /* Setting uxAutoRealod to pdFALSE creates a one-shot software timer. */ + 0, /* This example use the timer id. */ + prvOneShotTimerCallback ); /* The callback function to be used by the software timer being created. */ + + /* Check the timers were created. */ + if( xOneShotTimer != NULL ) + { + /* Start the software timers, using a block time of 0 (no block time). + The scheduler has not been started yet so any block time specified here + would be ignored anyway. */ + timer_started = xTimerStart( xOneShotTimer, 0 ); + + /* The implementation of xTimerStart() uses the timer command queue, and + xTimerStart() will fail if the timer command queue gets full. The timer + service task does not get created until the scheduler is started, so all + commands sent to the command queue will stay in the queue until after + the scheduler has been started. Check both calls to xTimerStart() + passed. */ + if(timer_started != pdPASS) + { + vPrintf("CreateSoftwareTimerTasks xTimerStart failed \r\n"); + } + } + else + { + vPrintf("CreateSoftwareTimerTasks xTimerCreate failed \r\n"); + } + + /* exit critical region */ + // taskEXIT_CRITICAL(); + + return xReturn; +} + +static void FFreeRTOSCanDelete(void) +{ + BaseType_t xReturn = pdPASS; + + if(send_handle) + { + vTaskDelete(send_handle); + vPrintf("Delete FFreeRTOSCanSendTask success\r\n"); + } + + if(recv_handle) + { + vTaskDelete(recv_handle); + vPrintf("Delete FFreeRTOSCanRecvTask success\r\n"); + } + + /* deinit can os instance */ + FFreeRTOSCanDeinit(os_can_ctrl_p[FCAN_INSTANCE_0]); + FFreeRTOSCanDeinit(os_can_ctrl_p[FCAN_INSTANCE_1]); + + /* delete count sem */ + // vSemaphoreDelete(xCountingSemaphore); + + /* delete queue */ + vQueueDelete(xQueue); + + /* delete timer */ + xReturn = xTimerDelete(xOneShotTimer, 0); + if(xReturn != pdPASS) + { + vPrintf("Delete OneShot Software Timer failed.\r\n"); + } + else + { + vPrintf("Delete OneShot Software Timer success.\r\n"); + } +} \ No newline at end of file diff --git a/example/peripheral/dma/ddma/configs/e2000d_aarch32_eg_configs b/example/peripheral/dma/ddma/configs/e2000d_aarch32_eg_configs index 71a9998a..dcb1c97b 100644 --- a/example/peripheral/dma/ddma/configs/e2000d_aarch32_eg_configs +++ b/example/peripheral/dma/ddma/configs/e2000d_aarch32_eg_configs @@ -182,6 +182,12 @@ CONFIG_FREERTOS_USE_FDDMA=y # # CONFIG_FREERTOS_USE_ADC is not set # end of Freertos Adc Drivers + +# +# Freertos Can Drivers +# +# CONFIG_FREERTOS_USE_CAN is not set +# end of Freertos Can Drivers # end of Component Configuration # diff --git a/example/peripheral/dma/ddma/configs/e2000d_aarch64_eg_configs b/example/peripheral/dma/ddma/configs/e2000d_aarch64_eg_configs index e3f1567b..264ca186 100644 --- a/example/peripheral/dma/ddma/configs/e2000d_aarch64_eg_configs +++ b/example/peripheral/dma/ddma/configs/e2000d_aarch64_eg_configs @@ -178,6 +178,12 @@ CONFIG_FREERTOS_USE_FDDMA=y # # CONFIG_FREERTOS_USE_ADC is not set # end of Freertos Adc Drivers + +# +# Freertos Can Drivers +# +# CONFIG_FREERTOS_USE_CAN is not set +# end of Freertos Can Drivers # end of Component Configuration # diff --git a/example/peripheral/dma/ddma/sdkconfig b/example/peripheral/dma/ddma/sdkconfig index e3f1567b..264ca186 100644 --- a/example/peripheral/dma/ddma/sdkconfig +++ b/example/peripheral/dma/ddma/sdkconfig @@ -178,6 +178,12 @@ CONFIG_FREERTOS_USE_FDDMA=y # # CONFIG_FREERTOS_USE_ADC is not set # end of Freertos Adc Drivers + +# +# Freertos Can Drivers +# +# CONFIG_FREERTOS_USE_CAN is not set +# end of Freertos Can Drivers # end of Component Configuration # diff --git a/example/peripheral/dma/ddma/sdkconfig.h b/example/peripheral/dma/ddma/sdkconfig.h index 69bb4d90..a6708266 100644 --- a/example/peripheral/dma/ddma/sdkconfig.h +++ b/example/peripheral/dma/ddma/sdkconfig.h @@ -157,6 +157,11 @@ /* CONFIG_FREERTOS_USE_ADC is not set */ /* end of Freertos Adc Drivers */ + +/* Freertos Can Drivers */ + +/* CONFIG_FREERTOS_USE_CAN is not set */ +/* end of Freertos Can Drivers */ /* end of Component Configuration */ /* FreeRTOS Setting */ diff --git a/example/peripheral/dma/gdma/configs/e2000d_aarch32_eg_configs b/example/peripheral/dma/gdma/configs/e2000d_aarch32_eg_configs index ff35af8c..95256b41 100644 --- a/example/peripheral/dma/gdma/configs/e2000d_aarch32_eg_configs +++ b/example/peripheral/dma/gdma/configs/e2000d_aarch32_eg_configs @@ -181,6 +181,12 @@ CONFIG_FREERTOS_USE_FGDMA=y # # CONFIG_FREERTOS_USE_ADC is not set # end of Freertos Adc Drivers + +# +# Freertos Can Drivers +# +# CONFIG_FREERTOS_USE_CAN is not set +# end of Freertos Can Drivers # end of Component Configuration # diff --git a/example/peripheral/dma/gdma/configs/e2000d_aarch64_eg_configs b/example/peripheral/dma/gdma/configs/e2000d_aarch64_eg_configs index 91a48884..6dd9ba88 100644 --- a/example/peripheral/dma/gdma/configs/e2000d_aarch64_eg_configs +++ b/example/peripheral/dma/gdma/configs/e2000d_aarch64_eg_configs @@ -177,6 +177,12 @@ CONFIG_FREERTOS_USE_FGDMA=y # # CONFIG_FREERTOS_USE_ADC is not set # end of Freertos Adc Drivers + +# +# Freertos Can Drivers +# +# CONFIG_FREERTOS_USE_CAN is not set +# end of Freertos Can Drivers # end of Component Configuration # diff --git a/example/peripheral/dma/gdma/sdkconfig b/example/peripheral/dma/gdma/sdkconfig index 91a48884..6dd9ba88 100644 --- a/example/peripheral/dma/gdma/sdkconfig +++ b/example/peripheral/dma/gdma/sdkconfig @@ -177,6 +177,12 @@ CONFIG_FREERTOS_USE_FGDMA=y # # CONFIG_FREERTOS_USE_ADC is not set # end of Freertos Adc Drivers + +# +# Freertos Can Drivers +# +# CONFIG_FREERTOS_USE_CAN is not set +# end of Freertos Can Drivers # end of Component Configuration # diff --git a/example/peripheral/dma/gdma/sdkconfig.h b/example/peripheral/dma/gdma/sdkconfig.h index ecfe0456..90bd3ebd 100644 --- a/example/peripheral/dma/gdma/sdkconfig.h +++ b/example/peripheral/dma/gdma/sdkconfig.h @@ -156,6 +156,11 @@ /* CONFIG_FREERTOS_USE_ADC is not set */ /* end of Freertos Adc Drivers */ + +/* Freertos Can Drivers */ + +/* CONFIG_FREERTOS_USE_CAN is not set */ +/* end of Freertos Can Drivers */ /* end of Component Configuration */ /* FreeRTOS Setting */ diff --git a/example/peripheral/gpio/configs/e2000d_aarch32_eg_configs b/example/peripheral/gpio/configs/e2000d_aarch32_eg_configs index d74bd05c..04ae2ba8 100644 --- a/example/peripheral/gpio/configs/e2000d_aarch32_eg_configs +++ b/example/peripheral/gpio/configs/e2000d_aarch32_eg_configs @@ -180,6 +180,12 @@ CONFIG_FREERTOS_USE_GPIO=y # # CONFIG_FREERTOS_USE_ADC is not set # end of Freertos Adc Drivers + +# +# Freertos Can Drivers +# +# CONFIG_FREERTOS_USE_CAN is not set +# end of Freertos Can Drivers # end of Component Configuration # diff --git a/example/peripheral/gpio/configs/e2000d_aarch64_eg_configs b/example/peripheral/gpio/configs/e2000d_aarch64_eg_configs index 4bafd613..463daeef 100644 --- a/example/peripheral/gpio/configs/e2000d_aarch64_eg_configs +++ b/example/peripheral/gpio/configs/e2000d_aarch64_eg_configs @@ -176,6 +176,12 @@ CONFIG_FREERTOS_USE_GPIO=y # # CONFIG_FREERTOS_USE_ADC is not set # end of Freertos Adc Drivers + +# +# Freertos Can Drivers +# +# CONFIG_FREERTOS_USE_CAN is not set +# end of Freertos Can Drivers # end of Component Configuration # diff --git a/example/peripheral/gpio/sdkconfig b/example/peripheral/gpio/sdkconfig index 4bafd613..463daeef 100644 --- a/example/peripheral/gpio/sdkconfig +++ b/example/peripheral/gpio/sdkconfig @@ -176,6 +176,12 @@ CONFIG_FREERTOS_USE_GPIO=y # # CONFIG_FREERTOS_USE_ADC is not set # end of Freertos Adc Drivers + +# +# Freertos Can Drivers +# +# CONFIG_FREERTOS_USE_CAN is not set +# end of Freertos Can Drivers # end of Component Configuration # diff --git a/example/peripheral/gpio/sdkconfig.h b/example/peripheral/gpio/sdkconfig.h index b2679315..52be9ec5 100644 --- a/example/peripheral/gpio/sdkconfig.h +++ b/example/peripheral/gpio/sdkconfig.h @@ -155,6 +155,11 @@ /* CONFIG_FREERTOS_USE_ADC is not set */ /* end of Freertos Adc Drivers */ + +/* Freertos Can Drivers */ + +/* CONFIG_FREERTOS_USE_CAN is not set */ +/* end of Freertos Can Drivers */ /* end of Component Configuration */ /* FreeRTOS Setting */ diff --git a/example/peripheral/pwm/configs/e2000d_aarch32_eg_configs b/example/peripheral/pwm/configs/e2000d_aarch32_eg_configs index d9bceaf1..04e82ee2 100644 --- a/example/peripheral/pwm/configs/e2000d_aarch32_eg_configs +++ b/example/peripheral/pwm/configs/e2000d_aarch32_eg_configs @@ -186,6 +186,12 @@ CONFIG_FREERTOS_USE_PWM=y # # CONFIG_FREERTOS_USE_ADC is not set # end of Freertos Adc Drivers + +# +# Freertos Can Drivers +# +# CONFIG_FREERTOS_USE_CAN is not set +# end of Freertos Can Drivers # end of Component Configuration # diff --git a/example/peripheral/pwm/configs/e2000d_aarch64_eg_configs b/example/peripheral/pwm/configs/e2000d_aarch64_eg_configs index c4750c46..37d670db 100644 --- a/example/peripheral/pwm/configs/e2000d_aarch64_eg_configs +++ b/example/peripheral/pwm/configs/e2000d_aarch64_eg_configs @@ -182,6 +182,12 @@ CONFIG_FREERTOS_USE_PWM=y # # CONFIG_FREERTOS_USE_ADC is not set # end of Freertos Adc Drivers + +# +# Freertos Can Drivers +# +# CONFIG_FREERTOS_USE_CAN is not set +# end of Freertos Can Drivers # end of Component Configuration # diff --git a/example/peripheral/pwm/configs/e2000q_aarch32_eg_configs b/example/peripheral/pwm/configs/e2000q_aarch32_eg_configs index 9f8d8eb7..9536d0e0 100644 --- a/example/peripheral/pwm/configs/e2000q_aarch32_eg_configs +++ b/example/peripheral/pwm/configs/e2000q_aarch32_eg_configs @@ -186,6 +186,12 @@ CONFIG_FREERTOS_USE_PWM=y # # CONFIG_FREERTOS_USE_ADC is not set # end of Freertos Adc Drivers + +# +# Freertos Can Drivers +# +# CONFIG_FREERTOS_USE_CAN is not set +# end of Freertos Can Drivers # end of Component Configuration # diff --git a/example/peripheral/pwm/configs/e2000q_aarch64_eg_configs b/example/peripheral/pwm/configs/e2000q_aarch64_eg_configs index cee19e25..1f477b02 100644 --- a/example/peripheral/pwm/configs/e2000q_aarch64_eg_configs +++ b/example/peripheral/pwm/configs/e2000q_aarch64_eg_configs @@ -182,6 +182,12 @@ CONFIG_FREERTOS_USE_PWM=y # # CONFIG_FREERTOS_USE_ADC is not set # end of Freertos Adc Drivers + +# +# Freertos Can Drivers +# +# CONFIG_FREERTOS_USE_CAN is not set +# end of Freertos Can Drivers # end of Component Configuration # diff --git a/example/peripheral/pwm/sdkconfig b/example/peripheral/pwm/sdkconfig index cee19e25..1f477b02 100644 --- a/example/peripheral/pwm/sdkconfig +++ b/example/peripheral/pwm/sdkconfig @@ -182,6 +182,12 @@ CONFIG_FREERTOS_USE_PWM=y # # CONFIG_FREERTOS_USE_ADC is not set # end of Freertos Adc Drivers + +# +# Freertos Can Drivers +# +# CONFIG_FREERTOS_USE_CAN is not set +# end of Freertos Can Drivers # end of Component Configuration # diff --git a/example/peripheral/pwm/sdkconfig.h b/example/peripheral/pwm/sdkconfig.h index 974c160e..6c10faef 100644 --- a/example/peripheral/pwm/sdkconfig.h +++ b/example/peripheral/pwm/sdkconfig.h @@ -159,6 +159,11 @@ /* CONFIG_FREERTOS_USE_ADC is not set */ /* end of Freertos Adc Drivers */ + +/* Freertos Can Drivers */ + +/* CONFIG_FREERTOS_USE_CAN is not set */ +/* end of Freertos Can Drivers */ /* end of Component Configuration */ /* FreeRTOS Setting */ diff --git a/example/peripheral/qspi/configs/d2000_aarch32_eg_configs b/example/peripheral/qspi/configs/d2000_aarch32_eg_configs index 0106123c..27ee8c8b 100644 --- a/example/peripheral/qspi/configs/d2000_aarch32_eg_configs +++ b/example/peripheral/qspi/configs/d2000_aarch32_eg_configs @@ -186,6 +186,12 @@ CONFIG_FREERTOS_USE_QSPI=y # # CONFIG_FREERTOS_USE_ADC is not set # end of Freertos Adc Drivers + +# +# Freertos Can Drivers +# +# CONFIG_FREERTOS_USE_CAN is not set +# end of Freertos Can Drivers # end of Component Configuration # diff --git a/example/peripheral/qspi/configs/d2000_aarch64_eg_configs b/example/peripheral/qspi/configs/d2000_aarch64_eg_configs index d7f059d7..ee6fa43c 100644 --- a/example/peripheral/qspi/configs/d2000_aarch64_eg_configs +++ b/example/peripheral/qspi/configs/d2000_aarch64_eg_configs @@ -182,6 +182,12 @@ CONFIG_FREERTOS_USE_QSPI=y # # CONFIG_FREERTOS_USE_ADC is not set # end of Freertos Adc Drivers + +# +# Freertos Can Drivers +# +# CONFIG_FREERTOS_USE_CAN is not set +# end of Freertos Can Drivers # end of Component Configuration # diff --git a/example/peripheral/qspi/configs/e2000d_aarch32_eg_configs b/example/peripheral/qspi/configs/e2000d_aarch32_eg_configs index 917cedfa..e7a51774 100644 --- a/example/peripheral/qspi/configs/e2000d_aarch32_eg_configs +++ b/example/peripheral/qspi/configs/e2000d_aarch32_eg_configs @@ -186,6 +186,12 @@ CONFIG_FREERTOS_USE_QSPI=y # # CONFIG_FREERTOS_USE_ADC is not set # end of Freertos Adc Drivers + +# +# Freertos Can Drivers +# +# CONFIG_FREERTOS_USE_CAN is not set +# end of Freertos Can Drivers # end of Component Configuration # diff --git a/example/peripheral/qspi/configs/e2000d_aarch64_eg_configs b/example/peripheral/qspi/configs/e2000d_aarch64_eg_configs index 8cb87ac1..f800099a 100644 --- a/example/peripheral/qspi/configs/e2000d_aarch64_eg_configs +++ b/example/peripheral/qspi/configs/e2000d_aarch64_eg_configs @@ -182,6 +182,12 @@ CONFIG_FREERTOS_USE_QSPI=y # # CONFIG_FREERTOS_USE_ADC is not set # end of Freertos Adc Drivers + +# +# Freertos Can Drivers +# +# CONFIG_FREERTOS_USE_CAN is not set +# end of Freertos Can Drivers # end of Component Configuration # diff --git a/example/peripheral/qspi/configs/e2000q_aarch32_eg_configs b/example/peripheral/qspi/configs/e2000q_aarch32_eg_configs index ef1427f8..03fdb8bf 100644 --- a/example/peripheral/qspi/configs/e2000q_aarch32_eg_configs +++ b/example/peripheral/qspi/configs/e2000q_aarch32_eg_configs @@ -186,6 +186,12 @@ CONFIG_FREERTOS_USE_QSPI=y # # CONFIG_FREERTOS_USE_ADC is not set # end of Freertos Adc Drivers + +# +# Freertos Can Drivers +# +# CONFIG_FREERTOS_USE_CAN is not set +# end of Freertos Can Drivers # end of Component Configuration # diff --git a/example/peripheral/qspi/configs/e2000q_aarch64_eg_configs b/example/peripheral/qspi/configs/e2000q_aarch64_eg_configs index c66bfa27..ed58351d 100644 --- a/example/peripheral/qspi/configs/e2000q_aarch64_eg_configs +++ b/example/peripheral/qspi/configs/e2000q_aarch64_eg_configs @@ -182,6 +182,12 @@ CONFIG_FREERTOS_USE_QSPI=y # # CONFIG_FREERTOS_USE_ADC is not set # end of Freertos Adc Drivers + +# +# Freertos Can Drivers +# +# CONFIG_FREERTOS_USE_CAN is not set +# end of Freertos Can Drivers # end of Component Configuration # diff --git a/example/peripheral/qspi/configs/ft2004_aarch32_eg_configs b/example/peripheral/qspi/configs/ft2004_aarch32_eg_configs index 5c7837d8..da6c977f 100644 --- a/example/peripheral/qspi/configs/ft2004_aarch32_eg_configs +++ b/example/peripheral/qspi/configs/ft2004_aarch32_eg_configs @@ -186,6 +186,12 @@ CONFIG_FREERTOS_USE_QSPI=y # # CONFIG_FREERTOS_USE_ADC is not set # end of Freertos Adc Drivers + +# +# Freertos Can Drivers +# +# CONFIG_FREERTOS_USE_CAN is not set +# end of Freertos Can Drivers # end of Component Configuration # diff --git a/example/peripheral/qspi/configs/ft2004_aarch64_eg_configs b/example/peripheral/qspi/configs/ft2004_aarch64_eg_configs index b0b5499d..2da814a4 100644 --- a/example/peripheral/qspi/configs/ft2004_aarch64_eg_configs +++ b/example/peripheral/qspi/configs/ft2004_aarch64_eg_configs @@ -182,6 +182,12 @@ CONFIG_FREERTOS_USE_QSPI=y # # CONFIG_FREERTOS_USE_ADC is not set # end of Freertos Adc Drivers + +# +# Freertos Can Drivers +# +# CONFIG_FREERTOS_USE_CAN is not set +# end of Freertos Can Drivers # end of Component Configuration # diff --git a/example/peripheral/qspi/sdkconfig b/example/peripheral/qspi/sdkconfig index c66bfa27..ed58351d 100644 --- a/example/peripheral/qspi/sdkconfig +++ b/example/peripheral/qspi/sdkconfig @@ -182,6 +182,12 @@ CONFIG_FREERTOS_USE_QSPI=y # # CONFIG_FREERTOS_USE_ADC is not set # end of Freertos Adc Drivers + +# +# Freertos Can Drivers +# +# CONFIG_FREERTOS_USE_CAN is not set +# end of Freertos Can Drivers # end of Component Configuration # diff --git a/example/peripheral/qspi/sdkconfig.h b/example/peripheral/qspi/sdkconfig.h index fd1da999..ea49e6e6 100644 --- a/example/peripheral/qspi/sdkconfig.h +++ b/example/peripheral/qspi/sdkconfig.h @@ -159,6 +159,11 @@ /* CONFIG_FREERTOS_USE_ADC is not set */ /* end of Freertos Adc Drivers */ + +/* Freertos Can Drivers */ + +/* CONFIG_FREERTOS_USE_CAN is not set */ +/* end of Freertos Can Drivers */ /* end of Component Configuration */ /* FreeRTOS Setting */ diff --git a/example/peripheral/sdio/configs/e2000d_aarch32_eg_configs b/example/peripheral/sdio/configs/e2000d_aarch32_eg_configs index fc294183..b80867fe 100644 --- a/example/peripheral/sdio/configs/e2000d_aarch32_eg_configs +++ b/example/peripheral/sdio/configs/e2000d_aarch32_eg_configs @@ -180,6 +180,12 @@ CONFIG_FREERTOS_USE_FSDIO=y # # CONFIG_FREERTOS_USE_ADC is not set # end of Freertos Adc Drivers + +# +# Freertos Can Drivers +# +# CONFIG_FREERTOS_USE_CAN is not set +# end of Freertos Can Drivers # end of Component Configuration # diff --git a/example/peripheral/sdio/configs/e2000d_aarch64_eg_configs b/example/peripheral/sdio/configs/e2000d_aarch64_eg_configs index e50168bb..b55ef057 100644 --- a/example/peripheral/sdio/configs/e2000d_aarch64_eg_configs +++ b/example/peripheral/sdio/configs/e2000d_aarch64_eg_configs @@ -176,6 +176,12 @@ CONFIG_FREERTOS_USE_FSDIO=y # # CONFIG_FREERTOS_USE_ADC is not set # end of Freertos Adc Drivers + +# +# Freertos Can Drivers +# +# CONFIG_FREERTOS_USE_CAN is not set +# end of Freertos Can Drivers # end of Component Configuration # diff --git a/example/peripheral/sdio/sdkconfig b/example/peripheral/sdio/sdkconfig index e50168bb..b55ef057 100644 --- a/example/peripheral/sdio/sdkconfig +++ b/example/peripheral/sdio/sdkconfig @@ -176,6 +176,12 @@ CONFIG_FREERTOS_USE_FSDIO=y # # CONFIG_FREERTOS_USE_ADC is not set # end of Freertos Adc Drivers + +# +# Freertos Can Drivers +# +# CONFIG_FREERTOS_USE_CAN is not set +# end of Freertos Can Drivers # end of Component Configuration # diff --git a/example/peripheral/sdio/sdkconfig.h b/example/peripheral/sdio/sdkconfig.h index 453e9deb..4f9d87ae 100644 --- a/example/peripheral/sdio/sdkconfig.h +++ b/example/peripheral/sdio/sdkconfig.h @@ -155,6 +155,11 @@ /* CONFIG_FREERTOS_USE_ADC is not set */ /* end of Freertos Adc Drivers */ + +/* Freertos Can Drivers */ + +/* CONFIG_FREERTOS_USE_CAN is not set */ +/* end of Freertos Can Drivers */ /* end of Component Configuration */ /* FreeRTOS Setting */ diff --git a/example/peripheral/spi/configs/e2000d_aarch32_eg_configs b/example/peripheral/spi/configs/e2000d_aarch32_eg_configs index 913504f7..01371323 100644 --- a/example/peripheral/spi/configs/e2000d_aarch32_eg_configs +++ b/example/peripheral/spi/configs/e2000d_aarch32_eg_configs @@ -180,6 +180,12 @@ CONFIG_FREERTOS_USE_FSPIM=y # # CONFIG_FREERTOS_USE_ADC is not set # end of Freertos Adc Drivers + +# +# Freertos Can Drivers +# +# CONFIG_FREERTOS_USE_CAN is not set +# end of Freertos Can Drivers # end of Component Configuration # diff --git a/example/peripheral/spi/configs/e2000d_aarch64_eg_configs b/example/peripheral/spi/configs/e2000d_aarch64_eg_configs index 6ea2a565..8bfa2035 100644 --- a/example/peripheral/spi/configs/e2000d_aarch64_eg_configs +++ b/example/peripheral/spi/configs/e2000d_aarch64_eg_configs @@ -176,6 +176,12 @@ CONFIG_FREERTOS_USE_FSPIM=y # # CONFIG_FREERTOS_USE_ADC is not set # end of Freertos Adc Drivers + +# +# Freertos Can Drivers +# +# CONFIG_FREERTOS_USE_CAN is not set +# end of Freertos Can Drivers # end of Component Configuration # diff --git a/example/peripheral/spi/sdkconfig b/example/peripheral/spi/sdkconfig index 6ea2a565..8bfa2035 100644 --- a/example/peripheral/spi/sdkconfig +++ b/example/peripheral/spi/sdkconfig @@ -176,6 +176,12 @@ CONFIG_FREERTOS_USE_FSPIM=y # # CONFIG_FREERTOS_USE_ADC is not set # end of Freertos Adc Drivers + +# +# Freertos Can Drivers +# +# CONFIG_FREERTOS_USE_CAN is not set +# end of Freertos Can Drivers # end of Component Configuration # diff --git a/example/peripheral/spi/sdkconfig.h b/example/peripheral/spi/sdkconfig.h index 1fff15de..b57efb19 100644 --- a/example/peripheral/spi/sdkconfig.h +++ b/example/peripheral/spi/sdkconfig.h @@ -155,6 +155,11 @@ /* CONFIG_FREERTOS_USE_ADC is not set */ /* end of Freertos Adc Drivers */ + +/* Freertos Can Drivers */ + +/* CONFIG_FREERTOS_USE_CAN is not set */ +/* end of Freertos Can Drivers */ /* end of Component Configuration */ /* FreeRTOS Setting */ diff --git a/example/peripheral/usb/cherryusb_host/Kconfig b/example/peripheral/usb/cherryusb_host/Kconfig new file mode 100644 index 00000000..a4938ffb --- /dev/null +++ b/example/peripheral/usb/cherryusb_host/Kconfig @@ -0,0 +1,19 @@ +# +# For a description of the syntax of this configuration file, +# see tools/kconfiglib/kconfig-language.txt. +# + + +mainmenu "Phytium Freertos Configuration" + +menu "Freertos Configuration" + config TARGET_NAME + string "Build Target Name" + default "freertos" + help + Build Target name for the demo + +endmenu + +source "$(FREERTOS_SDK_ROOT)/Kconfig" + diff --git a/example/peripheral/usb/cherryusb_host/README.md b/example/peripheral/usb/cherryusb_host/README.md new file mode 100644 index 00000000..9902b65b --- /dev/null +++ b/example/peripheral/usb/cherryusb_host/README.md @@ -0,0 +1,153 @@ + +# CherryUSB Host 测试 + +## 1. 例程介绍 + +>介绍例程的用途,使用场景,相关基本概念,描述用户可以使用例程完成哪些工作
+ +CherryUSB 是一个用于嵌入式系统 USB 协议栈,支持运行在Host模式和Device模式 + +## 2. 如何使用例程 + +>描述开发平台准备,使用例程配置,构建和下载镜像的过程
+ +### 2.1 硬件配置方法 + +>哪些硬件平台是支持的,需要哪些外设,例程与开发板哪些IO口相关等(建议附录开发板照片,展示哪些IO口被引出)
+ +本例程在 E2000 平台测试通过,您可以参考以下方法配置本例程所需要的硬件和软件环境, +- E2000开发板 +- 本例程基于E2000 Demo 开发板,使用logitech键盘、Dell鼠标和Sandisk盘完成测试 + +### 2.2 SDK配置方法 + +>依赖哪些驱动、库和第三方组件,如何完成配置(列出需要使能的关键配置项)
+ +本例程需要的配置包括, +- Letter Shell组件,依赖 USE_LETTER_SHELL +- FATFS组件,依赖 USE_FATFS 和 SELECT_FATFS_FSATA_PCIE +- PCIE组件,作为转接接口,依赖USE_PCIE +- SATA组件,依赖 USE_SATA + +本例子已经提供好具体的编译指令,以下进行介绍: +- make 将目录下的工程进行编译 +- make clean 将目录下的工程进行清理 +- make boot 将目录下的工程进行编译,并将生成的elf 复制到目标地址 +- make load_e2000d_aarch64 将预设64bit e2000d 下的配置加载至工程中 +- make load_e2000d_aarch32 将预设32bit e2000d 下的配置加载至工程中 +- make menuconfig 配置目录下的参数变量 +- make backup_kconfig 将目录下的sdkconfig 备份到./configs下 + +- 具体使用方法为: + - 在当前目录下 + - 执行以上指令 + +### 2.3 构建和下载 + +>描述构建、烧录下载镜像的过程,列出相关的命令
+ +使用例程的一般过程为 + +- 选择目标平台和例程需要的配置 +``` +make load_e2000d_aarch64 +``` + +- 进行编译 +``` +make +``` + +- 将编译出的镜像放置到tftp目录下 +``` +make boot +``` + +- host侧设置重启host侧tftp服务器 +``` +sudo service tftpd-hpa restart +``` + +- 开发板侧使用bootelf命令跳转 +``` +setenv ipaddr 192.168.4.20 +setenv serverip 192.168.4.50 +setenv gatewayip 192.168.4.1 +tftpboot 0x90100000 freertos.elf +bootelf -p 0x90100000 +``` + +### 2.4 输出与实验现象 + +>描述输入输出情况,列出存在哪些输出,对应的输出是什么(建议附录相关现象图片)
+ + + +#### 2.4.1 读写 U 盘 + +- 目前 CherryUSB 的 USB 3.0 支持尚未完成,超高速设备需要通过2.0 Hub连接进行测试 + +``` +usb init +usb disk +``` + +![usb_disk](./figs/usb_disk_connection.png) + +![usb_disk_init](./figs/usb_disk_init.png) + +- 输入`usb disk`后,启动一个任务不断读写U盘 + +#### 2.4.2 获取键盘输入 + +- 目前 USB (xhci port) 协议栈中 hub 的支持还不够完善,低速设备需要直连板上的 USB 插槽进行测试 + +``` +usb init +usb input +``` + +- 输入`usb input`后,可以通过中断处理键盘输入 + +![usb_keyboard](./figs/usb_keyboard_connect.jpg) + +![usb_keyboard_input](./figs/usb_keyboard_input.png) + +#### 2.4.3 获取鼠标输入 + +- 目前 USB (xhci port) 协议栈中 hub 的支持还不够完善,低速设备需要直连板上的 USB 插槽进行测试 + +``` +usb init +usb input +``` + +- 输入`usb input`后,可以通过中断处理鼠标输入 + +![usb_mouse](./figs/usb_mouse_connect.jpg) + +![usb_mouse_input](./figs/usb_mouse_input.png) + +## 3. 如何解决问题 + +>主要记录使用例程中可能会遇到的问题,给出相应的解决方案
+ +- 目前CherryUSB(xhci port)上的hub支持不完善,主要的影响是 +1. 不支持枚举hub上的低速设备,例如鼠标、键盘等需要直接插槽 + +- 目前CherryUSB上的USB3.0支持尚未完成,主要的影响是 +1. 不支持枚举超高速设备,例如高速U盘直接插槽枚举会失败 +2. 不支持枚举USB 3.0超高速hub + +- 因此,目前支持的两种连接方式是 +1. 板上USB插槽直连鼠标、键盘 +2. 通过USB 2.0全速/高速hub,连接U盘等超高速设备 + +## 4. 修改历史记录 + +>记录例程的重大修改记录,标明修改发生的版本号
+ +V0.3.1 首次合入 + + + diff --git a/example/peripheral/usb/cherryusb_host/configs/e2000d_aarch32_eg_configs b/example/peripheral/usb/cherryusb_host/configs/e2000d_aarch32_eg_configs new file mode 100644 index 00000000..6c949218 --- /dev/null +++ b/example/peripheral/usb/cherryusb_host/configs/e2000d_aarch32_eg_configs @@ -0,0 +1,229 @@ + +# +# Freertos Configuration +# +CONFIG_TARGET_NAME="e2000d_freertos_a32" +# end of Freertos Configuration + +# +# Standalone Setting +# +CONFIG_USE_FREERTOS=y + +# +# Arch Configuration +# +CONFIG_TARGET_ARMV8_AARCH32=y +# CONFIG_TARGET_ARMV8_AARCH64 is not set +CONFIG_USE_CACHE=y +CONFIG_USE_MMU=y +CONFIG_USE_SYS_TICK=y +CONFIG_USE_AARCH64_L1_TO_AARCH32=y +# end of Arch Configuration + +# +# Board Configuration +# +# CONFIG_TARGET_F2000_4 is not set +# CONFIG_TARGET_D2000 is not set +# CONFIG_TARGET_E2000Q is not set +CONFIG_TARGET_E2000D=y +# CONFIG_TARGET_E2000S is not set +CONFIG_TARGET_E2000=y +CONFIG_DEFAULT_DEBUG_PRINT_UART1=y +# CONFIG_DEFAULT_DEBUG_PRINT_UART0 is not set +# CONFIG_DEFAULT_DEBUG_PRINT_UART2 is not set +# end of Board Configuration + +# +# Components Configuration +# +CONFIG_USE_SPI=y +CONFIG_USE_FSPIM=y +# CONFIG_USE_QSPI is not set +CONFIG_USE_GIC=y +CONFIG_ENABLE_GICV3=y +CONFIG_USE_SERIAL=y + +# +# Usart Configuration +# +CONFIG_ENABLE_Pl011_UART=y +# end of Usart Configuration + +# CONFIG_USE_GPIO is not set +# CONFIG_USE_ETH is not set +# CONFIG_USE_CAN is not set +# CONFIG_USE_I2C is not set +# CONFIG_USE_TIMER is not set +# CONFIG_USE_MIO is not set +# CONFIG_USE_SDMMC is not set +# CONFIG_USE_PCIE is not set +# CONFIG_USE_WDT is not set +# CONFIG_USE_DMA is not set +# CONFIG_USE_NAND is not set +# CONFIG_USE_RTC is not set +# CONFIG_USE_SATA is not set +# CONFIG_USE_USB is not set +# CONFIG_USE_ADC is not set +# CONFIG_USE_PWM is not set +# CONFIG_USE_IPC is not set +# end of Components Configuration + +CONFIG_USE_NEW_LIBC=y +# end of Standalone Setting + +# +# Building Option +# +# CONFIG_LOG_VERBOS is not set +# CONFIG_LOG_DEBUG is not set +# CONFIG_LOG_INFO is not set +# CONFIG_LOG_WARN is not set +CONFIG_LOG_ERROR=y +# CONFIG_LOG_NONE is not set +CONFIG_USE_DEFAULT_INTERRUPT_CONFIG=y +CONFIG_INTERRUPT_ROLE_MASTER=y +# CONFIG_INTERRUPT_ROLE_SLAVE is not set +CONFIG_LOG_EXTRA_INFO=y +# CONFIG_BOOTUP_DEBUG_PRINTS is not set + +# +# Linker Options +# +CONFIG_AARCH32_RAM_LD=y +# CONFIG_AARCH64_RAM_LD is not set +# CONFIG_USER_DEFINED_LD is not set +CONFIG_LINK_SCRIPT_ROM=y +CONFIG_ROM_START_UP_ADDR=0x80100000 +CONFIG_ROM_SIZE_MB=1 +CONFIG_LINK_SCRIPT_RAM=y +CONFIG_RAM_START_UP_ADDR=0x81000000 +CONFIG_RAM_SIZE_MB=64 +CONFIG_HEAP_SIZE=1 +CONFIG_SVC_STACK_SIZE=0x1000 +CONFIG_SYS_STACK_SIZE=0x1000 +CONFIG_IRQ_STACK_SIZE=0x1000 +CONFIG_ABORT_STACK_SIZE=0x1000 +CONFIG_FIQ_STACK_SIZE=0x1000 +CONFIG_UNDEF_STACK_SIZE=0x1000 +# end of Linker Options + +# +# Compiler Options +# +CONFIG_OUTPUT_BINARY=y +# end of Compiler Options +# end of Building Option + +# +# Component Configuration +# + +# +# Freertos Uart Drivers +# +CONFIG_FREERTOS_USE_UART=y +# end of Freertos Uart Drivers + +# +# Freertos Pwm Drivers +# +# CONFIG_FREERTOS_USE_PWM is not set +# end of Freertos Pwm Drivers + +# +# Freertos Qspi Drivers +# +# CONFIG_FREERTOS_USE_QSPI is not set +# end of Freertos Qspi Drivers + +# +# Freertos Wdt Drivers +# +# CONFIG_FREERTOS_USE_WDT is not set +# end of Freertos Wdt Drivers + +# +# Freertos Eth Drivers +# +# CONFIG_FREERTOS_USE_XMAC is not set +# end of Freertos Eth Drivers + +# +# Freertos Gpio Drivers +# +# CONFIG_FREERTOS_USE_GPIO is not set +# end of Freertos Gpio Drivers + +# +# Freertos Spim Drivers +# +CONFIG_FREERTOS_USE_FSPIM=y +# end of Freertos Spim Drivers + +# +# Freertos DMA Drivers +# +# CONFIG_FREERTOS_USE_FDDMA is not set +# CONFIG_FREERTOS_USE_FGDMA is not set +# end of Freertos DMA Drivers + +# +# Freertos MMC Drivers +# +# CONFIG_FREERTOS_USE_FSDIO is not set +# end of Freertos MMC Drivers + +# +# Freertos Adc Drivers +# +# CONFIG_FREERTOS_USE_ADC is not set +# end of Freertos Adc Drivers + +# +# Freertos Can Drivers +# +# CONFIG_FREERTOS_USE_CAN is not set +# end of Freertos Can Drivers +# end of Component Configuration + +# +# FreeRTOS Setting +# +# CONFIG_USE_LWIP is not set +CONFIG_USE_BACKTRACE=y +# CONFIG_USE_FATFS is not set +# CONFIG_USE_SFUD is not set +# CONFIG_USE_SPIFFS is not set +# CONFIG_USE_AMP is not set +CONFIG_USE_LETTER_SHELL=y + +# +# Letter Shell Configuration +# +CONFIG_LS_PL011_UART=y +CONFIG_DEFAULT_LETTER_SHELL_USE_UART1=y +# CONFIG_DEFAULT_LETTER_SHELL_USE_UART0 is not set +# CONFIG_DEFAULT_LETTER_SHELL_USE_UART2 is not set +# end of Letter Shell Configuration + +CONFIG_USE_TLSF=y +# CONFIG_USE_SDMMC_CMD is not set +CONFIG_USE_CHERRY_USB=y + +# +# CherryUSB Configuration +# +CONFIG_CHERRY_USB_PORT_XHCI=y +# CONFIG_CHERRY_USB_PORT_PHYTIUM_OTG is not set +CONFIG_CHERRYUSB_HOST=y +# CONFIG_CHERRYUSB_DEVICE is not set +CONFIG_CHERRY_USB_HOST_HUB=y +CONFIG_CHERRY_USB_HOST_MSC=y +CONFIG_CHERRY_USB_HOST_HID=y +CONFIG_CHERRY_USB_HOST_VEDIO=y +CONFIG_CHERRY_USB_HOST_CDC=y +CONFIG_CHERRY_USB_HOST_RNDIS_WIRELESS=y +# end of CherryUSB Configuration +# end of FreeRTOS Setting diff --git a/example/peripheral/usb/cherryusb_host/configs/e2000d_aarch64_eg_configs b/example/peripheral/usb/cherryusb_host/configs/e2000d_aarch64_eg_configs new file mode 100644 index 00000000..5ee6831f --- /dev/null +++ b/example/peripheral/usb/cherryusb_host/configs/e2000d_aarch64_eg_configs @@ -0,0 +1,225 @@ + +# +# Freertos Configuration +# +CONFIG_TARGET_NAME="e2000d_freertos_a64" +# end of Freertos Configuration + +# +# Standalone Setting +# +CONFIG_USE_FREERTOS=y + +# +# Arch Configuration +# +# CONFIG_TARGET_ARMV8_AARCH32 is not set +CONFIG_TARGET_ARMV8_AARCH64=y +CONFIG_USE_CACHE=y +CONFIG_USE_MMU=y +CONFIG_USE_SYS_TICK=y +# CONFIG_MMU_DEBUG_PRINTS is not set +# end of Arch Configuration + +# +# Board Configuration +# +# CONFIG_TARGET_F2000_4 is not set +# CONFIG_TARGET_D2000 is not set +# CONFIG_TARGET_E2000Q is not set +CONFIG_TARGET_E2000D=y +# CONFIG_TARGET_E2000S is not set +CONFIG_TARGET_E2000=y +CONFIG_DEFAULT_DEBUG_PRINT_UART1=y +# CONFIG_DEFAULT_DEBUG_PRINT_UART0 is not set +# CONFIG_DEFAULT_DEBUG_PRINT_UART2 is not set +# end of Board Configuration + +# +# Components Configuration +# +CONFIG_USE_SPI=y +CONFIG_USE_FSPIM=y +# CONFIG_USE_QSPI is not set +CONFIG_USE_GIC=y +CONFIG_ENABLE_GICV3=y +CONFIG_USE_SERIAL=y + +# +# Usart Configuration +# +CONFIG_ENABLE_Pl011_UART=y +# end of Usart Configuration + +# CONFIG_USE_GPIO is not set +# CONFIG_USE_ETH is not set +# CONFIG_USE_CAN is not set +# CONFIG_USE_I2C is not set +# CONFIG_USE_TIMER is not set +# CONFIG_USE_MIO is not set +# CONFIG_USE_SDMMC is not set +# CONFIG_USE_PCIE is not set +# CONFIG_USE_WDT is not set +# CONFIG_USE_DMA is not set +# CONFIG_USE_NAND is not set +# CONFIG_USE_RTC is not set +# CONFIG_USE_SATA is not set +# CONFIG_USE_USB is not set +# CONFIG_USE_ADC is not set +# CONFIG_USE_PWM is not set +# CONFIG_USE_IPC is not set +# end of Components Configuration + +CONFIG_USE_NEW_LIBC=y +# end of Standalone Setting + +# +# Building Option +# +# CONFIG_LOG_VERBOS is not set +CONFIG_LOG_DEBUG=y +# CONFIG_LOG_INFO is not set +# CONFIG_LOG_WARN is not set +# CONFIG_LOG_ERROR is not set +# CONFIG_LOG_NONE is not set +CONFIG_USE_DEFAULT_INTERRUPT_CONFIG=y +CONFIG_INTERRUPT_ROLE_MASTER=y +# CONFIG_INTERRUPT_ROLE_SLAVE is not set +CONFIG_LOG_EXTRA_INFO=y +# CONFIG_BOOTUP_DEBUG_PRINTS is not set + +# +# Linker Options +# +# CONFIG_AARCH32_RAM_LD is not set +CONFIG_AARCH64_RAM_LD=y +# CONFIG_USER_DEFINED_LD is not set +CONFIG_LINK_SCRIPT_ROM=y +CONFIG_ROM_START_UP_ADDR=0x80100000 +CONFIG_ROM_SIZE_MB=1 +CONFIG_LINK_SCRIPT_RAM=y +CONFIG_RAM_START_UP_ADDR=0x81000000 +CONFIG_RAM_SIZE_MB=64 +CONFIG_HEAP_SIZE=1 +CONFIG_STACK_SIZE=0x100000 +CONFIG_FPU_STACK_SIZE=0x1000 +# end of Linker Options + +# +# Compiler Options +# +CONFIG_OUTPUT_BINARY=y +# end of Compiler Options +# end of Building Option + +# +# Component Configuration +# + +# +# Freertos Uart Drivers +# +CONFIG_FREERTOS_USE_UART=y +# end of Freertos Uart Drivers + +# +# Freertos Pwm Drivers +# +# CONFIG_FREERTOS_USE_PWM is not set +# end of Freertos Pwm Drivers + +# +# Freertos Qspi Drivers +# +# CONFIG_FREERTOS_USE_QSPI is not set +# end of Freertos Qspi Drivers + +# +# Freertos Wdt Drivers +# +# CONFIG_FREERTOS_USE_WDT is not set +# end of Freertos Wdt Drivers + +# +# Freertos Eth Drivers +# +# CONFIG_FREERTOS_USE_XMAC is not set +# end of Freertos Eth Drivers + +# +# Freertos Gpio Drivers +# +# CONFIG_FREERTOS_USE_GPIO is not set +# end of Freertos Gpio Drivers + +# +# Freertos Spim Drivers +# +CONFIG_FREERTOS_USE_FSPIM=y +# end of Freertos Spim Drivers + +# +# Freertos DMA Drivers +# +# CONFIG_FREERTOS_USE_FDDMA is not set +# CONFIG_FREERTOS_USE_FGDMA is not set +# end of Freertos DMA Drivers + +# +# Freertos MMC Drivers +# +# CONFIG_FREERTOS_USE_FSDIO is not set +# end of Freertos MMC Drivers + +# +# Freertos Adc Drivers +# +# CONFIG_FREERTOS_USE_ADC is not set +# end of Freertos Adc Drivers + +# +# Freertos Can Drivers +# +# CONFIG_FREERTOS_USE_CAN is not set +# end of Freertos Can Drivers +# end of Component Configuration + +# +# FreeRTOS Setting +# +# CONFIG_USE_LWIP is not set +CONFIG_USE_BACKTRACE=y +# CONFIG_USE_FATFS is not set +# CONFIG_USE_SFUD is not set +# CONFIG_USE_SPIFFS is not set +# CONFIG_USE_AMP is not set +CONFIG_USE_LETTER_SHELL=y + +# +# Letter Shell Configuration +# +CONFIG_LS_PL011_UART=y +CONFIG_DEFAULT_LETTER_SHELL_USE_UART1=y +# CONFIG_DEFAULT_LETTER_SHELL_USE_UART0 is not set +# CONFIG_DEFAULT_LETTER_SHELL_USE_UART2 is not set +# end of Letter Shell Configuration + +CONFIG_USE_TLSF=y +# CONFIG_USE_SDMMC_CMD is not set +CONFIG_USE_CHERRY_USB=y + +# +# CherryUSB Configuration +# +CONFIG_CHERRY_USB_PORT_XHCI=y +# CONFIG_CHERRY_USB_PORT_PHYTIUM_OTG is not set +CONFIG_CHERRYUSB_HOST=y +# CONFIG_CHERRYUSB_DEVICE is not set +CONFIG_CHERRY_USB_HOST_HUB=y +CONFIG_CHERRY_USB_HOST_MSC=y +CONFIG_CHERRY_USB_HOST_HID=y +CONFIG_CHERRY_USB_HOST_VEDIO=y +CONFIG_CHERRY_USB_HOST_CDC=y +CONFIG_CHERRY_USB_HOST_RNDIS_WIRELESS=y +# end of CherryUSB Configuration +# end of FreeRTOS Setting diff --git a/example/peripheral/usb/cherryusb_host/configs/e2000s_aarch32_eg_configs b/example/peripheral/usb/cherryusb_host/configs/e2000s_aarch32_eg_configs new file mode 100644 index 00000000..7007137b --- /dev/null +++ b/example/peripheral/usb/cherryusb_host/configs/e2000s_aarch32_eg_configs @@ -0,0 +1,229 @@ + +# +# Freertos Configuration +# +CONFIG_TARGET_NAME="e2000s_freertos_a32" +# end of Freertos Configuration + +# +# Standalone Setting +# +CONFIG_USE_FREERTOS=y + +# +# Arch Configuration +# +CONFIG_TARGET_ARMV8_AARCH32=y +# CONFIG_TARGET_ARMV8_AARCH64 is not set +CONFIG_USE_CACHE=y +CONFIG_USE_MMU=y +CONFIG_USE_SYS_TICK=y +CONFIG_USE_AARCH64_L1_TO_AARCH32=y +# end of Arch Configuration + +# +# Board Configuration +# +# CONFIG_TARGET_F2000_4 is not set +# CONFIG_TARGET_D2000 is not set +# CONFIG_TARGET_E2000Q is not set +# CONFIG_TARGET_E2000D=y +CONFIG_TARGET_E2000S=y +CONFIG_TARGET_E2000=y +CONFIG_DEFAULT_DEBUG_PRINT_UART1=y +# CONFIG_DEFAULT_DEBUG_PRINT_UART0 is not set +# CONFIG_DEFAULT_DEBUG_PRINT_UART2 is not set +# end of Board Configuration + +# +# Components Configuration +# +CONFIG_USE_SPI=y +CONFIG_USE_FSPIM=y +# CONFIG_USE_QSPI is not set +CONFIG_USE_GIC=y +CONFIG_ENABLE_GICV3=y +CONFIG_USE_SERIAL=y + +# +# Usart Configuration +# +CONFIG_ENABLE_Pl011_UART=y +# end of Usart Configuration + +# CONFIG_USE_GPIO is not set +# CONFIG_USE_ETH is not set +# CONFIG_USE_CAN is not set +# CONFIG_USE_I2C is not set +# CONFIG_USE_TIMER is not set +# CONFIG_USE_MIO is not set +# CONFIG_USE_SDMMC is not set +# CONFIG_USE_PCIE is not set +# CONFIG_USE_WDT is not set +# CONFIG_USE_DMA is not set +# CONFIG_USE_NAND is not set +# CONFIG_USE_RTC is not set +# CONFIG_USE_SATA is not set +# CONFIG_USE_USB is not set +# CONFIG_USE_ADC is not set +# CONFIG_USE_PWM is not set +# CONFIG_USE_IPC is not set +# end of Components Configuration + +CONFIG_USE_NEW_LIBC=y +# end of Standalone Setting + +# +# Building Option +# +# CONFIG_LOG_VERBOS is not set +# CONFIG_LOG_DEBUG is not set +# CONFIG_LOG_INFO is not set +# CONFIG_LOG_WARN is not set +CONFIG_LOG_ERROR=y +# CONFIG_LOG_NONE is not set +CONFIG_USE_DEFAULT_INTERRUPT_CONFIG=y +CONFIG_INTERRUPT_ROLE_MASTER=y +# CONFIG_INTERRUPT_ROLE_SLAVE is not set +CONFIG_LOG_EXTRA_INFO=y +# CONFIG_BOOTUP_DEBUG_PRINTS is not set + +# +# Linker Options +# +CONFIG_AARCH32_RAM_LD=y +# CONFIG_AARCH64_RAM_LD is not set +# CONFIG_USER_DEFINED_LD is not set +CONFIG_LINK_SCRIPT_ROM=y +CONFIG_ROM_START_UP_ADDR=0x80100000 +CONFIG_ROM_SIZE_MB=1 +CONFIG_LINK_SCRIPT_RAM=y +CONFIG_RAM_START_UP_ADDR=0x81000000 +CONFIG_RAM_SIZE_MB=64 +CONFIG_HEAP_SIZE=1 +CONFIG_SVC_STACK_SIZE=0x1000 +CONFIG_SYS_STACK_SIZE=0x1000 +CONFIG_IRQ_STACK_SIZE=0x1000 +CONFIG_ABORT_STACK_SIZE=0x1000 +CONFIG_FIQ_STACK_SIZE=0x1000 +CONFIG_UNDEF_STACK_SIZE=0x1000 +# end of Linker Options + +# +# Compiler Options +# +CONFIG_OUTPUT_BINARY=y +# end of Compiler Options +# end of Building Option + +# +# Component Configuration +# + +# +# Freertos Uart Drivers +# +CONFIG_FREERTOS_USE_UART=y +# end of Freertos Uart Drivers + +# +# Freertos Pwm Drivers +# +# CONFIG_FREERTOS_USE_PWM is not set +# end of Freertos Pwm Drivers + +# +# Freertos Qspi Drivers +# +# CONFIG_FREERTOS_USE_QSPI is not set +# end of Freertos Qspi Drivers + +# +# Freertos Wdt Drivers +# +# CONFIG_FREERTOS_USE_WDT is not set +# end of Freertos Wdt Drivers + +# +# Freertos Eth Drivers +# +# CONFIG_FREERTOS_USE_XMAC is not set +# end of Freertos Eth Drivers + +# +# Freertos Gpio Drivers +# +# CONFIG_FREERTOS_USE_GPIO is not set +# end of Freertos Gpio Drivers + +# +# Freertos Spim Drivers +# +CONFIG_FREERTOS_USE_FSPIM=y +# end of Freertos Spim Drivers + +# +# Freertos DMA Drivers +# +# CONFIG_FREERTOS_USE_FDDMA is not set +# CONFIG_FREERTOS_USE_FGDMA is not set +# end of Freertos DMA Drivers + +# +# Freertos MMC Drivers +# +# CONFIG_FREERTOS_USE_FSDIO is not set +# end of Freertos MMC Drivers + +# +# Freertos Adc Drivers +# +# CONFIG_FREERTOS_USE_ADC is not set +# end of Freertos Adc Drivers + +# +# Freertos Can Drivers +# +# CONFIG_FREERTOS_USE_CAN is not set +# end of Freertos Can Drivers +# end of Component Configuration + +# +# FreeRTOS Setting +# +# CONFIG_USE_LWIP is not set +CONFIG_USE_BACKTRACE=y +# CONFIG_USE_FATFS is not set +# CONFIG_USE_SFUD is not set +# CONFIG_USE_SPIFFS is not set +# CONFIG_USE_AMP is not set +CONFIG_USE_LETTER_SHELL=y + +# +# Letter Shell Configuration +# +CONFIG_LS_PL011_UART=y +CONFIG_DEFAULT_LETTER_SHELL_USE_UART1=y +# CONFIG_DEFAULT_LETTER_SHELL_USE_UART0 is not set +# CONFIG_DEFAULT_LETTER_SHELL_USE_UART2 is not set +# end of Letter Shell Configuration + +CONFIG_USE_TLSF=y +# CONFIG_USE_SDMMC_CMD is not set +CONFIG_USE_CHERRY_USB=y + +# +# CherryUSB Configuration +# +CONFIG_CHERRY_USB_PORT_XHCI=y +# CONFIG_CHERRY_USB_PORT_PHYTIUM_OTG is not set +CONFIG_CHERRYUSB_HOST=y +# CONFIG_CHERRYUSB_DEVICE is not set +CONFIG_CHERRY_USB_HOST_HUB=y +CONFIG_CHERRY_USB_HOST_MSC=y +CONFIG_CHERRY_USB_HOST_HID=y +CONFIG_CHERRY_USB_HOST_VEDIO=y +CONFIG_CHERRY_USB_HOST_CDC=y +CONFIG_CHERRY_USB_HOST_RNDIS_WIRELESS=y +# end of CherryUSB Configuration +# end of FreeRTOS Setting diff --git a/example/peripheral/usb/cherryusb_host/configs/e2000s_aarch64_eg_configs b/example/peripheral/usb/cherryusb_host/configs/e2000s_aarch64_eg_configs new file mode 100644 index 00000000..c650a324 --- /dev/null +++ b/example/peripheral/usb/cherryusb_host/configs/e2000s_aarch64_eg_configs @@ -0,0 +1,225 @@ + +# +# Freertos Configuration +# +CONFIG_TARGET_NAME="e2000s_freertos_a64" +# end of Freertos Configuration + +# +# Standalone Setting +# +CONFIG_USE_FREERTOS=y + +# +# Arch Configuration +# +# CONFIG_TARGET_ARMV8_AARCH32 is not set +CONFIG_TARGET_ARMV8_AARCH64=y +CONFIG_USE_CACHE=y +CONFIG_USE_MMU=y +CONFIG_USE_SYS_TICK=y +# CONFIG_MMU_DEBUG_PRINTS is not set +# end of Arch Configuration + +# +# Board Configuration +# +# CONFIG_TARGET_F2000_4 is not set +# CONFIG_TARGET_D2000 is not set +# CONFIG_TARGET_E2000Q is not set +# CONFIG_TARGET_E2000D=y +CONFIG_TARGET_E2000S=y +CONFIG_TARGET_E2000=y +CONFIG_DEFAULT_DEBUG_PRINT_UART1=y +# CONFIG_DEFAULT_DEBUG_PRINT_UART0 is not set +# CONFIG_DEFAULT_DEBUG_PRINT_UART2 is not set +# end of Board Configuration + +# +# Components Configuration +# +CONFIG_USE_SPI=y +CONFIG_USE_FSPIM=y +# CONFIG_USE_QSPI is not set +CONFIG_USE_GIC=y +CONFIG_ENABLE_GICV3=y +CONFIG_USE_SERIAL=y + +# +# Usart Configuration +# +CONFIG_ENABLE_Pl011_UART=y +# end of Usart Configuration + +# CONFIG_USE_GPIO is not set +# CONFIG_USE_ETH is not set +# CONFIG_USE_CAN is not set +# CONFIG_USE_I2C is not set +# CONFIG_USE_TIMER is not set +# CONFIG_USE_MIO is not set +# CONFIG_USE_SDMMC is not set +# CONFIG_USE_PCIE is not set +# CONFIG_USE_WDT is not set +# CONFIG_USE_DMA is not set +# CONFIG_USE_NAND is not set +# CONFIG_USE_RTC is not set +# CONFIG_USE_SATA is not set +# CONFIG_USE_USB is not set +# CONFIG_USE_ADC is not set +# CONFIG_USE_PWM is not set +# CONFIG_USE_IPC is not set +# end of Components Configuration + +CONFIG_USE_NEW_LIBC=y +# end of Standalone Setting + +# +# Building Option +# +# CONFIG_LOG_VERBOS is not set +CONFIG_LOG_DEBUG=y +# CONFIG_LOG_INFO is not set +# CONFIG_LOG_WARN is not set +# CONFIG_LOG_ERROR is not set +# CONFIG_LOG_NONE is not set +CONFIG_USE_DEFAULT_INTERRUPT_CONFIG=y +CONFIG_INTERRUPT_ROLE_MASTER=y +# CONFIG_INTERRUPT_ROLE_SLAVE is not set +CONFIG_LOG_EXTRA_INFO=y +# CONFIG_BOOTUP_DEBUG_PRINTS is not set + +# +# Linker Options +# +# CONFIG_AARCH32_RAM_LD is not set +CONFIG_AARCH64_RAM_LD=y +# CONFIG_USER_DEFINED_LD is not set +CONFIG_LINK_SCRIPT_ROM=y +CONFIG_ROM_START_UP_ADDR=0x80100000 +CONFIG_ROM_SIZE_MB=1 +CONFIG_LINK_SCRIPT_RAM=y +CONFIG_RAM_START_UP_ADDR=0x81000000 +CONFIG_RAM_SIZE_MB=64 +CONFIG_HEAP_SIZE=1 +CONFIG_STACK_SIZE=0x100000 +CONFIG_FPU_STACK_SIZE=0x1000 +# end of Linker Options + +# +# Compiler Options +# +CONFIG_OUTPUT_BINARY=y +# end of Compiler Options +# end of Building Option + +# +# Component Configuration +# + +# +# Freertos Uart Drivers +# +CONFIG_FREERTOS_USE_UART=y +# end of Freertos Uart Drivers + +# +# Freertos Pwm Drivers +# +# CONFIG_FREERTOS_USE_PWM is not set +# end of Freertos Pwm Drivers + +# +# Freertos Qspi Drivers +# +# CONFIG_FREERTOS_USE_QSPI is not set +# end of Freertos Qspi Drivers + +# +# Freertos Wdt Drivers +# +# CONFIG_FREERTOS_USE_WDT is not set +# end of Freertos Wdt Drivers + +# +# Freertos Eth Drivers +# +# CONFIG_FREERTOS_USE_XMAC is not set +# end of Freertos Eth Drivers + +# +# Freertos Gpio Drivers +# +# CONFIG_FREERTOS_USE_GPIO is not set +# end of Freertos Gpio Drivers + +# +# Freertos Spim Drivers +# +CONFIG_FREERTOS_USE_FSPIM=y +# end of Freertos Spim Drivers + +# +# Freertos DMA Drivers +# +# CONFIG_FREERTOS_USE_FDDMA is not set +# CONFIG_FREERTOS_USE_FGDMA is not set +# end of Freertos DMA Drivers + +# +# Freertos MMC Drivers +# +# CONFIG_FREERTOS_USE_FSDIO is not set +# end of Freertos MMC Drivers + +# +# Freertos Adc Drivers +# +# CONFIG_FREERTOS_USE_ADC is not set +# end of Freertos Adc Drivers + +# +# Freertos Can Drivers +# +# CONFIG_FREERTOS_USE_CAN is not set +# end of Freertos Can Drivers +# end of Component Configuration + +# +# FreeRTOS Setting +# +# CONFIG_USE_LWIP is not set +CONFIG_USE_BACKTRACE=y +# CONFIG_USE_FATFS is not set +# CONFIG_USE_SFUD is not set +# CONFIG_USE_SPIFFS is not set +# CONFIG_USE_AMP is not set +CONFIG_USE_LETTER_SHELL=y + +# +# Letter Shell Configuration +# +CONFIG_LS_PL011_UART=y +CONFIG_DEFAULT_LETTER_SHELL_USE_UART1=y +# CONFIG_DEFAULT_LETTER_SHELL_USE_UART0 is not set +# CONFIG_DEFAULT_LETTER_SHELL_USE_UART2 is not set +# end of Letter Shell Configuration + +CONFIG_USE_TLSF=y +# CONFIG_USE_SDMMC_CMD is not set +CONFIG_USE_CHERRY_USB=y + +# +# CherryUSB Configuration +# +CONFIG_CHERRY_USB_PORT_XHCI=y +# CONFIG_CHERRY_USB_PORT_PHYTIUM_OTG is not set +CONFIG_CHERRYUSB_HOST=y +# CONFIG_CHERRYUSB_DEVICE is not set +CONFIG_CHERRY_USB_HOST_HUB=y +CONFIG_CHERRY_USB_HOST_MSC=y +CONFIG_CHERRY_USB_HOST_HID=y +CONFIG_CHERRY_USB_HOST_VEDIO=y +CONFIG_CHERRY_USB_HOST_CDC=y +CONFIG_CHERRY_USB_HOST_RNDIS_WIRELESS=y +# end of CherryUSB Configuration +# end of FreeRTOS Setting diff --git a/example/peripheral/usb/cherryusb_host/figs/usb_disk_connection.png b/example/peripheral/usb/cherryusb_host/figs/usb_disk_connection.png new file mode 100644 index 0000000000000000000000000000000000000000..dff4db139fff3cfd224f470a062b7d362118f40a GIT binary patch literal 3850511 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

Iovyaw>EFvgK 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%0A8aCH=rT&g6ehMHYZhfYG&ne&NBL)- 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

GssNMm6&$|~{<GNBPI&W1BG5fBLcQb|@y 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

  • -*UiR|+kg1B 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

    7Tz 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

      oez5y1}pePM4%A#$b}KzTLqvlEnU+ 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 z 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 z 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

      3U^>&%$esD%z{1JvEBy zPV-coakxg+5fmjXJeQ(S$Ip|M770p9A+CA3#aY?;nYjgpJhlN)rZXBGZcjK7j@Q*U zwfFW7O-{|tFDxHlUMKEvdS+pGWCF{Zy86awb)0Se^ZKFtTkSTz(I8hUs)T&{@E^dw zE1Q#5$tz`_q~f?gZm%C>07Vsi2^Q#;jQ)d*pp0LMWpf^{G`pCWov9ZVHwRU7UFLJs z_D4@TU%ldd`?mQDkJ|tIMfZ>23;y<#=s$k9`hWc}_AfsU|L;#D|N0|8`|96!-2dgz zeSh<1|EKSI{^EJZmmcvxe?Bl(FH#j9%0F^2Cyo8~9oT;~H6=4MJC{=|+3phV@NZ#3 zIYS}8v{WRNX!RzyFIZFC(Am*FGBUm}x45~waqh(F%css>J#+5*+4DEHF5EnS>Grvc zw+I(5KLEh8LkM2kx^Vs6#T&rc^NayJck$Z#iL)D zJh=bxVRrI&@7}$%`|r?!gFt$ECXZKcwc4>zLsdij0}?fL0M<5En}a@U&94%cl~=N_ z+;R+{T&{GvJhXCkb7xy%hQm>;Xt83$DjBPDtR}HANf2~V8V{_QjteTCSloK|KuMLqAW3v*|eA)dYxIteaDSXVxogU z{AdfF!C;cf6gfG0bg@Y`cRev)m6nzX1yc5pYOB-j@v)5q;Rx1tg}FI-S(z})ii^-<2UE}b9eFqO8JaQ~04MC)0nOI1FtNnhf-l z9aV^(4ug^dK#@T&n4Fx3G6~N~pU`Tc8o`d90?(wQLg#@AI~-w$qD#srX}NGj{4n8% zIu{}&AP;b%;K^6CH3lHn8b4^RP_Ce5A&b4ey~F?#9Rs}!YFm=2fyr{#-QCy6flNPuksfmO2m_(~4nI=24<#q3#3uBoJAg%r-JiWq}KVBOZzhk4P8pC>H^q z;Q|v$ATt=XeBO}5?lExJ`{d;orKV&YJa809Ihvl_30PQA3d^z7%)^IL59~j(f8XJK zdk?`6JZEO);uQiy8k1WEA)j<$A90qJRA3B0mX?*4o(=QJ(X;~xkM7-fXwRMl91d<{ z??G-@O*wpoU5vwII5i#e12N0bFBFMH7OOoN4msT}OkpaGx`JO>SX=~D2?c7c#_n_k zLP540xrMa_nhAwvGB7$ZhQC8&qXQ#Dz1yE`gTBW!Lr6+*e;+Dja2V)EwG0fQ>!AZu zt)kulsxGt|YrB?Ks6Ehj2>rc%ljBS{;f=Tzct+FU5q8M!^zWY$IxK!#K`dE z#K`RA#PrnI^!V7s_~_*5$SC|VO&Zd`HYbjcjf|m!SRIW{P9VbZ>8Xk7>B*UC7B5_w zJBote7<@q|XP@OFFY~htu+Ue!=!;$by#t-?UC^kZPPaCoc?MQmc!Bimi&@tfH z!TXW2KLsevDil|2e?ySZZ4bmcytKHyAg?$lD}Nj5xx2VRsZyfQDYa&u$>(y1uug(j z4AqyT0`XWK3b!>icC<8OWXEhbHZ)B1-`o`2QaV31w=lg3EY2K1KDV+kyF5F!I5|Eu zIy^Cm$+2%3=)tVl-qqXP2YEyNpaSWOkc<}|XVto}urNPAKRrE-X2lPcPDCCW9laeU z+8RF$I2c=Kh=kN8#}>peGc$u2mbl-_$_gT!o123R;wQ;ra>=EI$XPpbKe!_XB!M3y z=Mur_$C86d@(Ggz{kVolFB%;f9fdSPU|5{vqhp+mjExSDK%$sjL7*UO<4A3KYH9{1 zZ8oG>kZ$rvF7(@W;(o|5{isgpxBYI{5227-XZS1=s$omL;0t^Nf|)u$PBU#z(V4Hp9J@Icu>oQ$SzZ>8Xj72|xugdHwOh4G_YhT$0j;gMLpcy)|u z*+eYf)W9f6tPy-xUylYrldExG@^AFxQ^Z3nE&)q)p#+~)|?=5}tq3N$bKK|`z`hW0J^H1K0{pxeU-+bWw z%?J8ly|4WBdx~Gbr~1{~+Mm9n|KYQS?>uVw^V`Nxt{6Vv(!aZ@dt*iY(t_gIY3Wl_ zvS(*iFD&U^Sv9`8VSM$Z@y&CVcP}~KxL|+rr0MbFng?f9x27}~MwA=f@~Jv$ldaq) z%#{>ml;vbp6y}R67+ZlAKxqN5FsCT%SY~#5MrmOY{nHOClAtFL567D88zu*aHy4*L zZJxfkaq7y($!nXZF0ZYhU07V7m|Pqlp6>6T85kJr?i^}wZK{s2uUyzHQLih`Zu|8I zJeqA5@|X2p-r~?ub{XjAB!5s{mCl?Myb-HHH0jdki{Ib7{gXm*lLN`tWhgt z0RKJukGQ{GtX~rB^55O`AIw^(wa#UOSz|ZfNB`A0ED5-9sJ5F35vw6!)Brxc#;s90 zRdRCBU|;BwzTlJH-dB2kZx04PHxPWQ)BSp<=bdiAiW|7uTI% zJL~!GwZNwjRsZ^_+P{6a=0Cq!_m3~t{ln8We{(PK>4oSw7X6>^cfL?#zh%~*ldI3E zO=q>1O@n1lr|(tCYQ;h~zsyixY7kXf)k=#-rIpLsx4!s-iqaBZVIHqIk6&IWt}2uX z@)g1yr?D*N6Sl?VJvEBKI`wdab|9f@@d|2f$*pyu2Kss=Q1Ny-g^jqrT$GN)A<6Pgn7nT_!|_swmFN&rQiL z$;_3M-n$W^8Ec*eZTz3|5vYi{_Iiv=WqEQU3d3|D#f{n3XUE@4^2-`KX~{+ z%CXd}jO;vaQwcj+mS2*j|B8zRJf2u2)fvp5V5AfI~XAH00+9_%}u;EfBHZvp2o-Q2ox_4L*yqW{)6P7Mr>dVK+jR1V#8 z@BV#6{~h5r`_bXwgZmEvhoHqmRpmaurqSqv!7yr@Qwaw!h1EASMWQjY#U_(0wK{`P zBq=N^;c*{sqvMbchbzXN@$`EAe(p2d?d_ek_=5t;7HS+%l;n*1x&JK>U{y3YK0L%2 zK$wFAV|~5Dy*)z!_djart^;tK7>Cj~hvn(;&^Ur5=_*ogcY~;?AuO|oC&)7qPjDX` z7$xeBOM08{gA2T|1uoXR96g7CL~@Zy!3oJ!l8=-J*b)D3AZ(KL!@3#E?%A0|02a6) zImAppDKnH7IU+@hnaH?yZa-s^lG~jJ_=JD55CKQ8@JOJl*j;L>1R$9rIpQsWaz&s= znDBsFN+KB{AsG+Z$&uoxcwj+hsM1h`w$`qu#_(m)y^lK^eL!wAIVl?#MYy}?2ZpvTQFqAll@r5rhW?8xCG2ll5NI-HrF z!LO*&s@dmP=-fw1QE@>Y6z1%Vw9I2EX>?oh;e$sG9XPxLMt=k73+NoczCC;Q?%A_{ zFZ)jBkwZt*k7eZLa_-s%Nq`2ofm_gLx+Xx0<{X-5tJneJc&IiInZ{9+kzug zt~inoZ~HmU3m^+AMR>*3ElzV|S{WA`Oejcmb5Mg9kOce?&qAr-5k8?l5tv5DnQ&w} z+axsc+1c6onVC7xGP}6A2)!CQIdm#0mc;JC0(FaYE$D2dmXiyqb1`Un6idPWQ>YH1*c5Hf_x@H)sieJ06RI7J7Q*<>hvrMg2!Y$6jjnEd4?Z&Mt%U; z;RoHMrMV*#j+;$(L6wA2b*Y($4yF(Zc;xUgJf^2*r>11Uao^q~ZFk_n{v#<-YdF*i7(E}-m_Z=Y|+IyH`&!K~R4id-?^YEU-St(iNh2^43u~MRrCU6`9+T0reW zHWrqbmseL;*VfjKA3x5E5A^vLxn?l(KVElzZeDY^!Y zMF7N@22!G{C>9ioeiVHBVdsZj!A!owcvo1XwRZ58YMsl(FsH@BEN|qC2VABYv1Pl2GI@ z;Rp-H6SO&EhCMkx>~2J|Ana~@HU$hZ5aCat@eo}Yz$@a{03zVvg4RxgJdn@fL3Rp! zuz!e1F(TS}xFfnWAix7+h6Rsgp-@9uqW1Ooc5~ZFcbGev)Kicy@qOq%)Q`qTF}O`Z z00GDyvVqv>F$p-LoiYBv1Cm1~krsJ_NvTs#cJi>jo$x*+UjeWa{x}Fxr5yTEY{sf` zK*ixT{EZA_5M~%2VxHih^uxU!BuDZLdv6cc;ytY1IWTIC{WGTnW-=has(4p&z-|v@ zPsWq1l?nLcTtF>~Q+&kMl2KxuN zeC=~4oZshhe;#F5iC%Nx1oNOZ@EEEKu0s6lhOp*|Irj7GJ zdutmW@d`OXa!4I90I(owyoDorH!?;U*mH4f{pM9h*j+xmer0Rp>bXsrM5_@Ah*w1a zC26u-*S2n4IYS%nh$aKzjrQUZ7%NA62``)?I`7}3|2WF;EQf94k8mH;_a~90|B}1^ z?xXpL>Dz7JjnBBhox{Jhb&=cj#|rhw^dGr%U^kqQpIta}?>b`u@7-XpD2Y2a&pmYe z{G&HcKYjDW%MWb4dw2E22j{->$iz3F8v5SzT|auY?q_d@e*Jm>Z$7a9<^wI`{@#`U z>K)auUf2KR1>N_b(0%K!_LD1`kGHg+JE?nfRrAt<;<D~1Q>w6`bJ*T(f{`c<#D)Ms$rNuG<`{qb- zUP*37Ue>Yf^rLL+AHS?zDVA$wDv#Zb3BJ9#1&ZCN<(12)&)nQPfA!Rv%j+jDt!-Xd zT|K+Bv@t!kGCnppJUET6(%#xxUt1IKMcvMz(^eDmhuu!U%kHvRJPy0fWR{4;h51F9 z=~=uIwnd^ar=Yxur>c^gWGa{15V6>+ZT6_u8nu}L#`@W8Q7d5GP5;$6Z1-*b`y=j; z?fd(a^dIB?l1yKc`(yN#8IQF-lFaDT82W7xw_z~&cxZy>Wl5s zEA5dRouND3!AH7-Pj-4=?C`wRus*LI=yeT`(9~qJzwvBvexrxjrVrM zdpYPk8;UGA!$ZbkyFOB*sg4^P0{Z5#y}zM)zO`^XEPID9_;(5wdvjJ=xZ+T%VztlChHqk$7?p%a|Rp7{h4m6 z^_LXtb8_XDMsYzezhsr&^eY~#(?8#4dZA1I+OY1!McXHv&aa-be(RF!$M-_NdOZHS zr)&QHx!Qktq5dD9uKCS_(N8ahzP%RsaM1Bmt@&Y>>6+GbL2cR6*fzDMC4*s9r>d9m zeN`2fstRotUn>^sRWgG{DU*sT%F4^jpao?YZ?-?H)y-7WzAkm)X4Ly3!I8#lc-2qnqO5^EGXlbl~zKbDk;UXxuUe9N+4C}Y)-S= zXYmER(RfWmbMN5D?BeqAwaw$p>x)aPbMwdP-jC*%4*Kw4AP@pvE|<}0RB6;wxeSU^ zVR2DjK`zmM1qFE`ex*VpCi+jp=Zh*T0C8oNs9c04wVwzqCMzxb&4%a7W=^`iYJpY#6xSF8WqcM|{fgV;a+DDp2q2>$Dj zg8%EUy#MVl-2dt8?%#gV`{}!ZZ$0aM|CasL^X_X?)_O}3KmB0d(W6BF9Z5NSEIpMw zq{Ge?LWg7rpE>%kAg`jRsEWrEi)DJV%^!(jh2G!QJ2pH9HDqIL^ZeQKH;CQax^R>B z0OIk&F1J^s)t6WB zOG?Wsx$Ek9ymGzXNFTL{M56|mHeMk@V$CQC z0;|JayBCvrphxmR8Kx{D9*T+{{}|+fii|u1un_1G`Jo){23&Ug+zl!hOaffsne8Lk zX%6I&$j!Fau7>&+zb|Yy+12b0SqZPSvbd;>-MGpZ7z`$<28&J)n9UXkeCFlkLWWb1ra+#L96FkM^jJn(c1})Sc4k&aTKch+R3_~E zA?*kE?b)Bi-aY$(eS7xq-@A{x0Kidx>^OX~Q=}X@nwyup@QS@emMzeQ^;=_$q>vb`6~z7DP=9Ab#97jcu}TXlRJ_&!HixUeNU5lQAkg zKa`W{f}90P8e(8W#Lg)^=xK;Hss3?4Rvct92`UjXNr0W|gkGV>5IwSqJQLGI9;j%$ z0T;YlSy@|K+gM-Ugoy$oI5NX{$*%rHyxzuLp;M4wlA4lnVE>Uldk!2taP;t@)T2kz zjvPJ)`~H20_p;4;jJc!Bh~blvo|c`JnRhHT6L#`{=wJ%%69gEYcaSlFhYm9;aGT>h zcy!-hM7Wy)Jj{V32lpO?W#9h8z=0#FnR$ifLLpxyE-SADDk`g#DvjOYibP{Iwe>@& z(lOK|D`T={QIk~9zDh3Bhr<|A_UzxkXCD9y;ozSAhxQx*4(~lkNIt?$JDgfpSgH`q%{mj3bC~T;i^HTf zO2sk^L@I^aWH9Sh29;E;l&Ew{y#N95W|r;yo16lO{#%@122fiB*ym@LW~UdXFgao(!}NqPe1|xgot|4c zzP!4;vbM4c6ZZAhwdLhybja0Jj5chXSzlk@*x0}$)j9D*Xi$s`)Sze%{HQr#L2v|Q zZ8<-`f+&w4M+@PR$q?s`AGPuyHX_Fw?{HF(DEweaN(c!vV&%YMAYOPkxHy*}Bfv89 z4q+i$b8c}Lh(q3{+lVLxhz3n!w;%Ebb9dhE`_Zf9FX_Va|Az??D1NdevHf-yLOX>Z zGiceJu;gKP4wFb$ApO`gSGQE*sQ=x+`??Q)2(nYd+;1m`0ObLG;6E9PnixN7beND0 z2n^a9c51=T`t`1|BdR1Yu5B~39O!WuknSwZsflR}j7gG?fc}eDN#Ip~?*RPZ6->BH z?y&!CP#v9soI_ov!4{5q3k%Go1!>Vg2`Dr4PZYRQxA!oxP;vip$$KSVf^=ZSH) z^&2MaE4Mj}k#_$g#J(hZU`VfVM5;v9rAc?g&Ny1B17b zp<&qB?8AM7g4z^Ob#wF|@ps91h|$Aa#DIVR0s>?wQV*|Sl7ILlW{_Avyn<)MkIW#G z@PpVWGYF2PVXv#HZEtM@_MAJtvavFA?fi+0r&q6EIC<;xnJZfxu>3LoM`YG5ZtGu? z{!3D3MEUJTlKvwQ_s78P@+0DpE)}_bY3u)q{!4lw!f~7XL#}qN{`ljKeq>?!|5Mx_ zbN^HH9|v~$ch}=Ks7{jp3AeADe&E{aJJ-+Lz0P7lDtE7+fB4q<$M2kb=JuHvZ*RVF zXZ`aJ9skn9lV5v$@GqY3;kN!ofAKlrZ$5DS_9M%$-`D*5J;kryQT*afl=A60%`;2-=T{6bZkS#?X?pRr`Gr%K zCsuX$W;NHwR2K)7XZtkA+Y~*4a=$7|Tb?Q_$`F+lRFxF+OG^b6Ys`B{wn%Sg#g zKblsMoiFB#3@V*fZ>|o7+nZaUUN0}qUp;^R_NB`YT)KSi^x2E68|RnT&abSTTV6iB zFuy)Ky*M^9GuY2K?b<}#=Lxy&0f#l@Ww-tM-43_iW-}QTGC8lL6besHRxWfNUSVlb zPC-?1xmm9E=`CTiE$(n`Q+^!%NBjOb`j0s#8Nl82-);tQH|VQ>#QFhsF5C98-#$!yIsd(V=+UV`-$T@#_!<(3K)%02t4cd6Mwmxd<@EbZK z&f(U&wXWt<1DzK~y06Xm-`W_ub$mC6nb9ll2vg?M1WmDTD1nt@)-}e_5$Juh5)PD$i(?7fj0QF6Bc}-P28m zm%5Cv^&8%qFnoF4`L)xwKR;*r;cf4)9>;L}ghQE0@@zbl}@2va2 zIOcf0!SbZfd{b|_W%69syEfJ4C7of?plw%(!=iFad5KXd)QLnYsYs)cYSePENKjl@ zR9;qESddd%lwDb#BjD#qMLBv!k!1`QX!E^E35bgMTJTFudpy*BB)YIC32yV z``#Zr><6$dv^+ssL0LsXp`f&=vLHV%lV)U87?dsA3kGz^@i>Jha6vj z+V`zzoj-ij^_wpS829(X#J~PH{x3fc|H}^p!2kG;`yc<@^*3K}|Kfe`_h0jW^-g-k6H%?xJdE)ft(_7chUA%Sv(rtkD26BYp z1DCHc5-@rA_sqG=$5&6RtZw%74tjk7R5*0ZLq`tp+qaMH_~Q=$9)dc&k6rx%%aKEe zQ;r->O-%!MymEuV)Wm)94U-qN%AVf-me%%$#^$>EMgVGRC0~%2Unmw!*_W+~OBD*0 z+wG-&f5iF?a_11)7AKB)f(e}*E*!V8y%mVje{^(lhj<#|c9tbEG&nv!2L0?fFgY1*IJ9OwsMn+a%UIAU(DwQY=Myt_e*BdNmi$kl`XQpRBj5E^G zA;xsd^3cH)gx$aQ!2Z4afPH)R66Hs``3ML1AL791Z}bL)1&I4QmXeCta0m z3-U{jrDoCwKt|ggN@Y9v4zNvm`}Q8%yXPRx{re8%ksQeaKk!VUcDs`!6R?9v_w8rw z9%J+l9zAq8mFU0EjsWifezr-#JqKVpl#-TRP+TdJ3M5jD%wma5u24Cg?&?^gxup&I z2y_9c?WlodC2ZFcinb#^r2YX+Yh@d`rl6;cPENrBKV(v^l922MNe<$q>LszHiiHU~ zRW&s$xuar{695*(K#h)91bDzJYF6^YT7eTtJSIzlcp2fbvlEKF=Hf+BAz%?MB)ML*6?b+wzqK!)ZP7w3ulAnZ>2W zRbX*pWoCNe_|n?i>WRhqB`Cj5wT(effEYkwg#gR))I%vp_8&fa;0RXcME@N-l#-R2 zfyb1CNAYSmh%1EU=njtTJCp<-Q}A}*q0E$YVR@BFYxLON@o=m@Ue{RD5DQg1Y)%YB zes3TVtEq|B*2U^!hJ6vg%NOzn>0^Zvf0!|VfnY;TZC5M%tl{|3*zCj%x7TlcetK$Y zZgz1N?ZikxVEgdz-0`J_6@Yj^SdK5Q!f`hPIJrY@%+D^YF0ZVwuASJ}+*n&*UP4&L z@~}GPerQUf0$~6jLEyfJBWj*n3NnDff!ZC8Xb7&c7)gX5nwX6mQ&Z%KA2lciCl~UG zA3frSs1Oiw;)nS0gN3Ap3$;BOb6`Irg-JX(urZTK!tx(r<@hp|VoPZJh2v;?#+U8p z+BjNjH%pa7(q|IM?BPc_{P%vWd+acPe;oOJ(cX_a44~8SmJCSlMD{JtFYE@|3++NR znfxW2kBGVCkNPIusmbU^m5CqO5ho=?VCix{N(Bv(j2w0}4PL>HXb~suR7KQk?DwaN zoOJx-n%Qw-Z3_@9N4!{)>cW&wlo^1xctwt|z(2$RCi$lzMBxz`$Le)zo3Nuu5CbPc zY}YVlW{05MPM3>$oA2A{KFmHniM$aQk++-Fg9SyPXgQH%SxUYl3yt~7P5utTb0_H=c(wY2v4VtGA;2z$GG5ETLvoky%6l0XbF z;Q>JWY!2S3QnHhTz|LxTC#@t9obnHGLOie_b-3dZMcecE!#B^JUb%Mu1QCB^0f@r; zlk^{>+jfoybDS63JecJBlH4DnVmAnH(|>1foIid2+$m;qoBn9W-+iPWd=j-s?B2hJ zq@V4q{t^9`WK z$y?V>BM8O(;PrEl-9G>HowG08IrZ9|wa-1c{P80*fA;wBpFh>{y%(B)^jiF9ZwG$$ zdB<-*bo}N+BS-(Ke)+cYXRoW-*1yNqe{o0sXIIo8oL0WIqIhXe`OKvJi3#armzW0lV!hHzO}6J-4i=TrJZ$O-`S~Q=h2m@9u$`b@t@Oof}v0 zT)lkz;-#x+&R$qQxwW!(evRSG^3sWgxux;Z>B0U%?&NQ^&mDFkN9F9*5Ow zwP-aeVU++0v4e_v1!bk>6{Wn&!V+m2->osmY@US8m9RPDHe1Zfaeo~B$6;p!AomeK zAYr%HI2?pOMgK9rkM;nPJ52Icq4XFcB}ufcK_2&&evOgZ?<_~Yjy!|cKF_G z@x5H@ey%$3bam|USpDtlhSQ#!IeYD>y{XgI8rL<4jh#{3V8A*Q^UZcOpXu+oFx+){ zrvK*J;O+B6H*XDHdTR9CJJV-Bn%(^3@P+>N_gZRRi}+q}Se`c-Uox9s zv{;`tnI6}hA2C=S(3vhPb?4;Tvr5ewjrxp6amk{*6VyIlYkZ-__*%E=tzpB5^VUx` zY+pZZ{_bVlFCPv4?K838J(>93leK^QWc}|RssH)S*!RzbKAHBu(PDYhXMDhHx~8>V zH~P;ToXcwCgi6z;ki~?2XJwg|SEdsPv|@=;ELKV-Dw$MR$uG_?C@(24E6Hb{{HrRE zit=Q_EVH^eU@2?xiyHm>mXH8w4v1oQzDHBx*71WDiA^I=3V3Dt5ZpXoNm*5uP%4$m z<#LG>P>N-0rOsmahr;!Z(Z;6MuHNDCsYR?RH&3mtGX`*O{`ln790u*C=Jpu(LAq!( z77j;!KA**6k;tTCsicfwnOn%N{U!RZxVTU%6d>C&?i+uyO1`+PTu@dfD66O}uB`OVx0T`rN$vfm8Yyt{Xpi)b*7oo!@;i`2E+sKYQQvpS}_J zrys=s^~dpl`!xD5e;xYgA9(-i`@Y|Q%lUU-b^huj*I&Qo`S$bvk8gWlI_Y?1-nG)I zbqdl;jvUB^8jzNLEIlnP;~0>Yk)4y3PZxk>=M(~YdF8peWd#M5<>gYf&W^==Lvv40 z{{(IQOMduon@!(3iFyME#V+;=|t$L;_*ck$N6E4OLu-`Vrm&YZh^ z@(lc3oL^d-Us&$y?hgdRBC)iBU&#(oW@KctUwUfl(IbZrvje{=schdLM}N?9$kf!d zf`THO&EfY4YwH>Yheo)Mq<6Qqcf!OR*U;Fk)fv!&RRU3Q36ED+p-`$lUbJEq>MQ2W zq2W=48rc2>)kqR-(;tT<0|?O8C$<^t59vRSZkwDK$Et9NcK?lVTl4z3je$g35fBis zh*l#DK+M!`5{i&yriiX0Zf<&No)|hj5)Vjp6)f|nKA~G02jnS36Tf*gooYLm5cB zV!C{T%|vAtVzE>#l)zmoQR;POi`5A@>>i!Y02yZVU+S@=OpK30hWGC~eDL7my?giX z+qVy|4l<69?fxUmk1TZTmwUzNzmy|K3Fx``xp^f;#Z{Gjxl{(Il^VO%5%h;@;Yo^Z^_R(0Pe2fdznm2RlsSN_GP- z0Q}5yG|(cqH3^y&(J0BVNl*+h;ek9O6#NsrLCP((FZ`g$ZEkKtqeG;mXHIfFATfa4 zi7iHILjQu#6Wnioefj`p5tBw;jI1yz!Q{F3yv>?DgvL>^4q&6Op@cu8iqx~GtF4l)m7D0 zja6OD*i~K7%*@QpJd8a(tQj$m7)NATELjFwmL*HFSn{szwPld(wf9~4zUM!gw>nkR zBYAh<=lkz-6uNQa#?6SxsO*e0k(sbFd>>ncktBkT_`5*h+;W^X?MfaT7^O=SK-Xaa zo^T*%3do%u)a87TMN@Hfw3g-@6tt5&r$~{dBBmGY0-l{1jBu-coW-fBDNM_`xjCFp zTKr?pgR{(mJP`}RI9x7d$CM^P5K=I2S;B!~86Z$Fq-YGa2ft0?_3%5TpDio^jm+rC zB!06{xZm~o=mZwIO%2V(g(Y^YL!;7WrDhTXNYDR5i4BjA3W?6II$;bJ~BHA~Irz_uUFo(52t+Y(6Am^)S=$WEiW0aWy@ zwXOsO;X-jer5*)lF9S~D$Yn<-JE|~bUm(Utm_cAiBM|IRFgrTYeVkklG#V&{4~+u{ zWH(pss~kg=45BeNrN>DUnr z?lKXA4E?vd=cW^T?mV?}&*`~`&P+aee&qR^x_@wM(@*ZKc>Dgs_aAY8{J8bAr;MLJ zqxtk{-hs&kI$#yGn#%|U&akx8RxswukTL3 z&?CKRNO}9X{?2LRUGt{97L9i<7;c@@UO%B+?a$iVk~UqHG~g4pJL4;@LXRfikQSRB z7oHdsmBfz|3*vzL}Y&@zI&V{!#o^n;RR;OYk3AN}Ck8NAtIAQy?FyMimKjL@$;6^e zu`o?6OcBQ?#m9^Jd=ZZaB=Yze)zo-_EICmvNis_%4q2*4mF82W6=^fd&9Vl&vfHg2 z_8KNV`URiAo`CBh}7_tL%?dJ07irl5As~G zd#7IN9C)FeGLDpW_amHRTYmou`L zrP(WT#crkaut9dlt-P&7bFoJKaI5CYUfuJP#uw)_ukBX7y=MC27VmHFEd13ig}=I~ z_*WN7KR#LV?*6a!%nKR%nQZN_LS36G@ruQk1hG;mk_r>D z5|gr$k~5Mq(~=~KNn$~KTvSwiOpK5hC5#D?h{H1_5%RPMtCF9q6BJoQrPlZwcVdMr zvBZ(=Gp3kj2_{*JUY4lKPL`)9iQ{6ioK8+mk+71Lm6e^X$jX#w%2XPo-Q;w;ii*n{ zo9dd|+PnJ(M{&2fFu$;ZdrR8-S6kOqR$g6LRFaopn49a#$#Jotr#2)@Qc_YSaUx+@ zRAfX{cyw%3R8$0?ADf<%oRyYJZ~eQB{^JXih2o?*UTpBL*d5!`c#%2Eq=rKIOqY6X zL3i_E)x+nsFWzDO!JW3B-Rpe+QRf#ggBmv68=dcb_snEqIop}#OwE!@uAx;bLouArT}w(s1wD|q{^;GMy{ zLPCQhLPEkqL&HNtqk!;m0T2}>5{c3kYKzldTwc}O)Y{k8J2pD8I5WR*e(B)s!v2Zr z6=X-o7luaX0O*r5yXO`UEG!=)&}Kl6{#)65WM%K6rQHV>SN0E&F<(uot8aFDd}-;K z@giX)^F}K^4k;E3ladnXbM-hco33RxNreOjZ@z8|mMdGgZr`zES6W(zMx%4O+|@O8 zRn@h`{UHTlOwY&?iW1@k!sr;DNSr9kR=`+LSPY-mHs;;)ZS3o)SiP&I6-pOQ?YGi@ z9EhbNwu=a_j`rRz{Ppi0?(ZAvUf(wd9~8lvpfxsIev;NQeD)dLla*{aiE|Xw2cmSSl~&{C_?jyunR20;R548rv`9GM9R6r2h{-z zMT8w{5vYSmxe=qo!ARXfDC!`ELKPGtOSLutMk@Uu;=BC0ZgP5H*O1Z(QwyP>Q-uYk zxh|i{XfvDaME@}#TS(8$%#;d+xNHj~k~HWtnOvpPD6*9*g<6uFj!TD5Ytre>Mx!|+ zBWuUD?U=*cH*eX(Jh4lp-quZ~G?HyuY-9?Y@&CJXYDbw$Np%v5A zPWItt;()0A)BxJ|#}Gd(QMjSOP}Ups4XeeqpCWXzPev01#fD)zNQa;l&ICBn(c!~I zX84_vNsKmr4rQfPHmg&brHB_KgoQ?JUVnfWDRgEB-#P`VwMJ{y8!QI)T?$s41IW)W zEHAHYZEdGcVOY3cT>sxasWUa5y?Uj~GskPAHutI(OV0V0ytW@?nKAeBQcX zDq>nLE-uc`&qHTQ*<}){b0Cfnhk?KcLOO)99OVav(=msM_(Ob5V<;>S&X9mm@N30X z86TS_b`Ky6ey#Y;!ZRYkSe?bB-w*%`8|)J!2SJ|;XmIxH$a zR*)=AOcaO{;zWte+q#8O5z#^0cG1JX1da{l9{!~VegRmJMg)arrlh;9IYr)rB41&3 zSygjgQ)f#@e^+03TUSGMJ#P4s!q{Bb(pb|}T~vKDDT{dTdC%?M9 zqPf1It+BPExxKfeXQ+1&6Np~kIDGPBel8e+FN5&btgj**(5n^~NmoTJTv z!~hQVGgEGW-8KbJBF=~eB(?}Ck$uGa5u*eLq-2MJ6)z5ol&Bvl9MwguUs?|n;Loj! z;Ryt;oHtkk0Xwazafr!rv;YkwFb!k)JPxdd<^FJ``-bfz!V7k)$TEO_=8F!BCK1p) z4xEK6rS@>yEAg$RR14s`$pOQ%!NP$aQNGL)KrUPcoIhrV=QqS3oen76=?es%J5)qW zu5DcN=qTKQppYAJALtG-FVLw9QW&9d0l6Sh2ph8hL$KXqw&M|HhPm3uzFZIJW;gU9 zB`OU{Kg;^TNW2p)#8y!e#uBB(qrsnaDC46Tt4Wm76_}2KuHmG!KP4t6fCz{gNdFP> zho92O5L!rJ+R6Ut7^aUD+HeY;J(&!+zEER0Aj`6Imw|lXPawAq;21!T{)3UN<)6lM zz8Id1rPX@YAMyoyyD>`4W33G5wf-P5ad1TQ5qSrlDqhBsfMGo-9oPiPk#P=~>?(9Nc02X9vdmutlG#r9< z3u10#FrXj{BWgjXiUcwuGRFW?6<7$!q5+uX_+{ZIh6@gUWoQqLKT6?4ji-uNtt^b6 zI==ttz6E0LjvrhOWbp#&KR@ktWHQGOi0A^z4M{@p*po%6jWY=?_n3ymTbvnU(a1Ce!X1klfUjaeaHn z+4i(^otZcEX5T!lzJ1Ji$E5N08RPA9hFhk!=f@Ol{n7*N>5H`~BSqpi8?Qne=~2em zv*UFVfrJ+!jEoZV1qt!O1d&)69|wt!jERoqiQ^@iX)3MC>M(gqe5GaiW%%p9JU_R3 z_|V$XL#qc59^Sk6@Y0@x3x4`<&&=#H?rVkz$9ua6+gq6@;LD2ha%>)(*=f@ITy}?9 zZ!_ujYK1~Bix==iL&JlEL!%;jv9WxyP?RN+=wu3;O6SoT^Y!LDt=_BF_%v#tPUAIb zeMTM8a2_2}KM9zxho>>0WdH$I@$cgc-~pNEd^y&S6e{9Us*-Qe<>?v15sF8nach~k z4RRX*U23&mE_WytR+-G0m8s82*Q81mNr|-ePa+m4iG*T7ypSI!h+!a%6^MB8$#KHW zgv9KmBwf11oWU@FcB#ZAPsvkCs!h@^mwwn|n)DcFb9KAj`lD{`O?l?~OC6W0a-XQq zeX_>=RK537mFuD6+`Bx*x4WxP+ba%QswVZ-EsF9=d2NBR*{ki!vyS9Dr^@q|YfJYv zRUPhbJUP&`w%l{(XwQlBy{mWk9KO`O`-Segmpg`EY3q8Sq49~b;`@Ehi%#p^7UP{d z-Q7yfT`J9OTJ3qY^0Y#JOeQ;!CEJ}TTgs9z$r$=?pGJPnB0uX<+*Yc(zfN5qYtBd+K4jA4)W%>MO_pk3L_@`S6Kfj^)lT)Sd9xndztozw++kK^`3ueu6seXT& zaV||aBvJHbWw%H(d)B zSy?h!R%T|pQjx7vspQ#exk9TmI!sQtyQH+Ht+l?Ty`!gp5Pt$^=4a=Yrl#j<>t9uM zeNk~a?f!GQ+zyA+VzFqo+Qj6fq?BY{ydXF{EHpAAIyNRcIx;>!4hNK`r==$)rHd1Y z{!11zU;a&s7cpFLY;;V}&cw(Ft30)_KtI}MIyhlCzh8gvY3)-t>tDTS{po#}ss2em)AP5-@<#(NhHXL_~! z8nx}NRAt;w!H#VaJ3@kX?%KM2%Z^=JcLp)v4ft02FEUan5~V9OR+p!QB^G+SSo&{v zVLvcAvl}{LWPD+GY#tb&TArTUi_)3-eRGQkmiHXpcaY)!xZQud_Z?o|b8vBG|KP|Z z{=QV#G zDi$Y7rP&sXt)QT&q7qAqs>-UGT(?)H)~2Q7*OMH}i{tTemEu8{D^zZeudKY1-R_4! zh~Mn{!{15{+~Si1S!nUu!aly**wEHc-wH6_2ySX`Zo!|?o{r95qy)raHWIdXQS=Gs6&5gm)3?S&3c>J&;h z91%L|k})tW5Ev7nqX0BYT=pM;Dsm$h2reu&4C9QYHSL>2#p0rJucyFlvS-Uwyx91# z(5M7)3hn;G3`|H!QYch9odGZyOm?fyVlpQsU=~Z{awUos*~&PcfZ6nS-L;#pzKY$c z#cbsxYVR6Wu4aWE{w1&v1z!h+-u<_2%hrgnZ~;G#_WH?X+4xcDG+KjBZ`2#~S{&Z! zu;t|Y3aTq>+FLPRxbGgqZTi&Y+{E|{(SI~hm`Gz-KTph}2pAt@cA}xn7zbuBai_{M zCLC!+mM0*jR0)JwKh;5N+L}h6w@{}wr6i|ENAb69WuFRX-`ux# z%TDeMfE)uz^dGQ+{zH~XK%)QPM)<~!eYM|JS6|DL$=6=DY0K7aJGO1#xpQX_?xuJ# zd`#NR^sH>DT%*!rCIgsO2BXz#bDAve$bPS5?(iR8*ChS3-d& z^U0?5Z~H=_Xau4N0TkgB(BPwyXfPU&#?VQDPG<@ZOfT4_KKcg1j3NbPn1`5|^Yinw zv$I4-`+460CWYhvSV1(zVuWY{;vFzoA{edB*w_91WNz_|MW>jK~$Y5FD5oDBy{`MZOp$+T!X6;1Lhh9Tz&24t1xM< z*@VBm>@a&7*2X6MwIk-PtF67Qskx=0v8k5X`q$df z1~gPRR+Uzk6_yeM=yfu${6nq2u5S9i#Zd1c^KlQXE!kBl4JpQ!mYSGIqr>>+_#bqg z9QV^8?ksSqsNex1T<*f;hR#fBW%lQk03*hafhS! z05pt&AUhlgfej19ca?G#30z;eLkDK5Rb0aWt|HeAqQfXS=f-8Pw3EVxy7twbL=4o z2m0`nVHiM;`{UlNxxORSKRJP^31-77rW{BA(HW#3Q9Gf~L8&8LU#Jvz)S@3U+JliC zSl`e`BowPNEks39NJm9fVUNpn1fICDCLl{=OLmS0BfgB|vj8|VTotqck`6ktc+`OP zHZTkqfGjComcZ%oq&a|;>|DdRT4Y3fFxk*fWYNNowstfG)lrwafRsF8N6Wdeuy7rL z!u1Pv1MP4_*shLF*y$I6XmIApJ_1E(Yr#D?Lm*OhiU2!|&YtLrcL zBl?favfQ7a{v(_`xO8Hj{`)QlFp&FWvN-xW@fXO-aU>l;59)GuCS~ZqeJlgG|J2dF zr;i-~i0>oHFAz)++VmGd{~_jv12NenyH^8n{K)dDBg^NHE#11deDT!W17{{5J3ILO z8+%^6z4?uM%HMh*@0X9|eEO8-v#0f+e^34C({keeK6*sTZ2h}U`o{Up*N$gAw?E_3 zLi#;plAC)Z7uwR#wx*qKOFPq*dA?V1)3ElIQT@&1x|=4nH&1EKjbxwf&pOnRw$zj| zRgv856W1GK^5s!_Nw_{EUXvzH=Ew5G!sB9Mu_h7X9)iblj;|g*bnL)^lShvpTHbSTY4`rQrQK6=OOsRcm|nQ{^y0Rq zsR?&?`CfYKpGB|sx$I86Nu!oavocasQz9cHgMvarLz#c6j*5s*Nk~+tXE=0vui5G| zn7taEPowjyHEy-qt5wrRJfh*;S_Z@ba`Yb|Pw(gc2>*coW9`h7!rw~&F{#189!s06 z(KuBqq@+6(3QM+(`Qk@LnkqF_mYkTGAWlyZNw9v5XI`5a7tQBK@pzF?1VUcCm@h~b zir}M=Bx@u|ri>(GdV)DaY)coEsMES~wBsK0tjD^NYdP#Oop2j&&$m8Y=6t%^13Xph zd8R(^>1y92B?TAVWw+$kuA0i043)$Bng(S}vAiKSyUAl1$a72;x)*9n4>ndDZmKxc z-*{@QX>EV+sZ%}2Ztpq#NbmmdcP+l$KK@!u-w&GFo~x{SG|$Tre@5L!qyBE4{w|g7 zc9r%@@yo9)TUPKfxB7$Yjb_pVaQ{y8t62jH# zQ8`+n#~{i#3QH{U6%KKkO;~6a=4wR_b&^vn(`88%8Huv=q|DUh6y~j6$ugNttx{+; z3Y}Js)wNz{)@V&Ct;v$(&a0>_Z>Vo*?da?s7{^;VQ3pkMeJIc|2xcM)ysBwFIvTQ{>E18+;MuX1lan@9q zj;Uy#_X*4>Q%Ux7l3OHTvocj3D^NR za0C`W{zy?BD`#pm6a=Jbu+yR%Anp$qY8Vw^)lCa;RDqF;2_Q?X3czu50CWOZ1u1|m zJn2{z6GpTgD^+R#n=@+H0?7KH+;6%k=r_KTe0w&h5MS zu{>#}%&0e5%@&ivXtP*dInErrgR;0%nGEI}yEETcP*YXk-Pt$TkA(qlk^Lklx`|<= z(~VI@Pw81gfHoGPrx*kj!HwuDjvOK8j!2V!mf!<8?u;QoE~oa$nf5L*+m`}JKmZlF z;HXH948xGHlo^ERzX|r!oc;a%uuQVgMGg-SufNNWq4#=OAr^+EXc%WWw6l-uceC$( z!{nj)MyH$UAiLcRK5!uRhFV1pAf2cy4rC-d{Lylv|CqgLY!DPNv=Iw*mWUg4pL#@N z#q}4?bgXII@{CTQRrq<9mQ*_Ix!eXo`t0wnouR=&;n0Z?q$hca2PFCr3h{azCrD%; zQGvt&BK^j~?)byJ12%8jwks$kJR%C0N=#s(P>fkBmnrmGgHdm?n5-GrH8j`M)FEbN zWi^p{NTD;-9`n8Ow&tdemgdf;#&%q0D=TWtN~=ms%L@yO^YRJ`3X0&5>J1G|EiG-0 zO)WLG_3XC_nQhU|OPuI7f66xs$@3AUH55kyiNYLQ{)$%tP8|3JbB% zm_Ts;2A9!)-w4N9KtT|i&q!$lAj5yJ8|m3_ZucKB%0AvpKh@cpMWl3TqLltkh^|xv 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

      ~HYVu){?~ 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�lC3kkggwm0Oqj#(x$q?lY(g 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

  • 211da=?kES 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

    {;7&jXSdU*Z5pI@JfXYRV!gU## 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󝴲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%0D7Xvx-Az$>uq;=*FY;=pOuM(3{O6i_st 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 z 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