diff --git a/README.md b/README.md index eb0271f..b0c85b1 100644 --- a/README.md +++ b/README.md @@ -53,7 +53,7 @@ |:---------- |:--------------------- |:------------------ | | 2025-05-12 | 创建工程框架,配置时钟、GPIO、串口 | 使用 STM32CubeMX 初始化 | | 2025-05-13 | 操作系统移植完成,RTT-Viewer完成 | 设备初步调试 | -| 2025-05-14 | 增加Shell控制台 | 增加调试接口 | +| 2025-05-14 | 增加Shell控制台、增加串口2用于蓝牙 | 增加调试接口 | --- diff --git a/XM01_BLE/XM-01/.mxproject b/XM01_BLE/XM-01/.mxproject index e17e341..a5f5ed3 100644 --- a/XM01_BLE/XM-01/.mxproject +++ b/XM01_BLE/XM-01/.mxproject @@ -1,28 +1,32 @@ [PreviousLibFiles] -LibFiles=Drivers\STM32L4xx_HAL_Driver\Inc\stm32l4xx_hal.h;Drivers\STM32L4xx_HAL_Driver\Inc\stm32l4xx_hal_def.h;Drivers\STM32L4xx_HAL_Driver\Inc\Legacy\stm32_hal_legacy.h;Drivers\STM32L4xx_HAL_Driver\Inc\stm32l4xx_hal_rcc.h;Drivers\STM32L4xx_HAL_Driver\Inc\stm32l4xx_hal_rcc_ex.h;Drivers\STM32L4xx_HAL_Driver\Inc\stm32l4xx_ll_bus.h;Drivers\STM32L4xx_HAL_Driver\Inc\stm32l4xx_ll_rcc.h;Drivers\STM32L4xx_HAL_Driver\Inc\stm32l4xx_ll_crs.h;Drivers\STM32L4xx_HAL_Driver\Inc\stm32l4xx_ll_system.h;Drivers\STM32L4xx_HAL_Driver\Inc\stm32l4xx_ll_utils.h;Drivers\STM32L4xx_HAL_Driver\Inc\stm32l4xx_hal_flash.h;Drivers\STM32L4xx_HAL_Driver\Inc\stm32l4xx_hal_flash_ex.h;Drivers\STM32L4xx_HAL_Driver\Inc\stm32l4xx_hal_flash_ramfunc.h;Drivers\STM32L4xx_HAL_Driver\Inc\stm32l4xx_hal_gpio.h;Drivers\STM32L4xx_HAL_Driver\Inc\stm32l4xx_hal_gpio_ex.h;Drivers\STM32L4xx_HAL_Driver\Inc\stm32l4xx_ll_gpio.h;Drivers\STM32L4xx_HAL_Driver\Inc\stm32l4xx_hal_i2c.h;Drivers\STM32L4xx_HAL_Driver\Inc\stm32l4xx_hal_i2c_ex.h;Drivers\STM32L4xx_HAL_Driver\Inc\stm32l4xx_hal_dma.h;Drivers\STM32L4xx_HAL_Driver\Inc\stm32l4xx_hal_dma_ex.h;Drivers\STM32L4xx_HAL_Driver\Inc\stm32l4xx_ll_dma.h;Drivers\STM32L4xx_HAL_Driver\Inc\stm32l4xx_ll_dmamux.h;Drivers\STM32L4xx_HAL_Driver\Inc\stm32l4xx_hal_pwr.h;Drivers\STM32L4xx_HAL_Driver\Inc\stm32l4xx_hal_pwr_ex.h;Drivers\STM32L4xx_HAL_Driver\Inc\stm32l4xx_ll_pwr.h;Drivers\STM32L4xx_HAL_Driver\Inc\stm32l4xx_hal_cortex.h;Drivers\STM32L4xx_HAL_Driver\Inc\stm32l4xx_ll_cortex.h;Drivers\STM32L4xx_HAL_Driver\Inc\stm32l4xx_hal_exti.h;Drivers\STM32L4xx_HAL_Driver\Inc\stm32l4xx_ll_exti.h;Drivers\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal.c;Drivers\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_rcc.c;Drivers\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_rcc_ex.c;Drivers\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_flash.c;Drivers\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_flash_ex.c;Drivers\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_flash_ramfunc.c;Drivers\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_gpio.c;Drivers\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_i2c.c;Drivers\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_i2c_ex.c;Drivers\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_dma.c;Drivers\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_dma_ex.c;Drivers\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_pwr.c;Drivers\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_pwr_ex.c;Drivers\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_cortex.c;Drivers\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_exti.c;Drivers\STM32L4xx_HAL_Driver\Inc\stm32l4xx_hal.h;Drivers\STM32L4xx_HAL_Driver\Inc\stm32l4xx_hal_def.h;Drivers\STM32L4xx_HAL_Driver\Inc\Legacy\stm32_hal_legacy.h;Drivers\STM32L4xx_HAL_Driver\Inc\stm32l4xx_hal_rcc.h;Drivers\STM32L4xx_HAL_Driver\Inc\stm32l4xx_hal_rcc_ex.h;Drivers\STM32L4xx_HAL_Driver\Inc\stm32l4xx_ll_bus.h;Drivers\STM32L4xx_HAL_Driver\Inc\stm32l4xx_ll_rcc.h;Drivers\STM32L4xx_HAL_Driver\Inc\stm32l4xx_ll_crs.h;Drivers\STM32L4xx_HAL_Driver\Inc\stm32l4xx_ll_system.h;Drivers\STM32L4xx_HAL_Driver\Inc\stm32l4xx_ll_utils.h;Drivers\STM32L4xx_HAL_Driver\Inc\stm32l4xx_hal_flash.h;Drivers\STM32L4xx_HAL_Driver\Inc\stm32l4xx_hal_flash_ex.h;Drivers\STM32L4xx_HAL_Driver\Inc\stm32l4xx_hal_flash_ramfunc.h;Drivers\STM32L4xx_HAL_Driver\Inc\stm32l4xx_hal_gpio.h;Drivers\STM32L4xx_HAL_Driver\Inc\stm32l4xx_hal_gpio_ex.h;Drivers\STM32L4xx_HAL_Driver\Inc\stm32l4xx_ll_gpio.h;Drivers\STM32L4xx_HAL_Driver\Inc\stm32l4xx_hal_i2c.h;Drivers\STM32L4xx_HAL_Driver\Inc\stm32l4xx_hal_i2c_ex.h;Drivers\STM32L4xx_HAL_Driver\Inc\stm32l4xx_hal_dma.h;Drivers\STM32L4xx_HAL_Driver\Inc\stm32l4xx_hal_dma_ex.h;Drivers\STM32L4xx_HAL_Driver\Inc\stm32l4xx_ll_dma.h;Drivers\STM32L4xx_HAL_Driver\Inc\stm32l4xx_ll_dmamux.h;Drivers\STM32L4xx_HAL_Driver\Inc\stm32l4xx_hal_pwr.h;Drivers\STM32L4xx_HAL_Driver\Inc\stm32l4xx_hal_pwr_ex.h;Drivers\STM32L4xx_HAL_Driver\Inc\stm32l4xx_ll_pwr.h;Drivers\STM32L4xx_HAL_Driver\Inc\stm32l4xx_hal_cortex.h;Drivers\STM32L4xx_HAL_Driver\Inc\stm32l4xx_ll_cortex.h;Drivers\STM32L4xx_HAL_Driver\Inc\stm32l4xx_hal_exti.h;Drivers\STM32L4xx_HAL_Driver\Inc\stm32l4xx_ll_exti.h;Drivers\CMSIS\Device\ST\STM32L4xx\Include\stm32l431xx.h;Drivers\CMSIS\Device\ST\STM32L4xx\Include\stm32l4xx.h;Drivers\CMSIS\Device\ST\STM32L4xx\Include\system_stm32l4xx.h;Drivers\CMSIS\Device\ST\STM32L4xx\Include\system_stm32l4xx.h;Drivers\CMSIS\Device\ST\STM32L4xx\Source\Templates\system_stm32l4xx.c;Drivers\CMSIS\Include\cmsis_armcc.h;Drivers\CMSIS\Include\cmsis_armclang.h;Drivers\CMSIS\Include\cmsis_armclang_ltm.h;Drivers\CMSIS\Include\cmsis_compiler.h;Drivers\CMSIS\Include\cmsis_gcc.h;Drivers\CMSIS\Include\cmsis_iccarm.h;Drivers\CMSIS\Include\cmsis_version.h;Drivers\CMSIS\Include\core_armv81mml.h;Drivers\CMSIS\Include\core_armv8mbl.h;Drivers\CMSIS\Include\core_armv8mml.h;Drivers\CMSIS\Include\core_cm0.h;Drivers\CMSIS\Include\core_cm0plus.h;Drivers\CMSIS\Include\core_cm1.h;Drivers\CMSIS\Include\core_cm23.h;Drivers\CMSIS\Include\core_cm3.h;Drivers\CMSIS\Include\core_cm33.h;Drivers\CMSIS\Include\core_cm35p.h;Drivers\CMSIS\Include\core_cm4.h;Drivers\CMSIS\Include\core_cm7.h;Drivers\CMSIS\Include\core_sc000.h;Drivers\CMSIS\Include\core_sc300.h;Drivers\CMSIS\Include\mpu_armv7.h;Drivers\CMSIS\Include\mpu_armv8.h;Drivers\CMSIS\Include\tz_context.h; +LibFiles=Drivers\STM32L4xx_HAL_Driver\Inc\stm32l4xx_hal.h;Drivers\STM32L4xx_HAL_Driver\Inc\stm32l4xx_hal_def.h;Drivers\STM32L4xx_HAL_Driver\Inc\Legacy\stm32_hal_legacy.h;Drivers\STM32L4xx_HAL_Driver\Inc\stm32l4xx_hal_rcc.h;Drivers\STM32L4xx_HAL_Driver\Inc\stm32l4xx_hal_rcc_ex.h;Drivers\STM32L4xx_HAL_Driver\Inc\stm32l4xx_ll_bus.h;Drivers\STM32L4xx_HAL_Driver\Inc\stm32l4xx_ll_rcc.h;Drivers\STM32L4xx_HAL_Driver\Inc\stm32l4xx_ll_crs.h;Drivers\STM32L4xx_HAL_Driver\Inc\stm32l4xx_ll_system.h;Drivers\STM32L4xx_HAL_Driver\Inc\stm32l4xx_ll_utils.h;Drivers\STM32L4xx_HAL_Driver\Inc\stm32l4xx_hal_flash.h;Drivers\STM32L4xx_HAL_Driver\Inc\stm32l4xx_hal_flash_ex.h;Drivers\STM32L4xx_HAL_Driver\Inc\stm32l4xx_hal_flash_ramfunc.h;Drivers\STM32L4xx_HAL_Driver\Inc\stm32l4xx_hal_gpio.h;Drivers\STM32L4xx_HAL_Driver\Inc\stm32l4xx_hal_gpio_ex.h;Drivers\STM32L4xx_HAL_Driver\Inc\stm32l4xx_ll_gpio.h;Drivers\STM32L4xx_HAL_Driver\Inc\stm32l4xx_hal_i2c.h;Drivers\STM32L4xx_HAL_Driver\Inc\stm32l4xx_hal_i2c_ex.h;Drivers\STM32L4xx_HAL_Driver\Inc\stm32l4xx_hal_dma.h;Drivers\STM32L4xx_HAL_Driver\Inc\stm32l4xx_hal_dma_ex.h;Drivers\STM32L4xx_HAL_Driver\Inc\stm32l4xx_ll_dma.h;Drivers\STM32L4xx_HAL_Driver\Inc\stm32l4xx_ll_dmamux.h;Drivers\STM32L4xx_HAL_Driver\Inc\stm32l4xx_hal_pwr.h;Drivers\STM32L4xx_HAL_Driver\Inc\stm32l4xx_hal_pwr_ex.h;Drivers\STM32L4xx_HAL_Driver\Inc\stm32l4xx_ll_pwr.h;Drivers\STM32L4xx_HAL_Driver\Inc\stm32l4xx_hal_cortex.h;Drivers\STM32L4xx_HAL_Driver\Inc\stm32l4xx_ll_cortex.h;Drivers\STM32L4xx_HAL_Driver\Inc\stm32l4xx_hal_exti.h;Drivers\STM32L4xx_HAL_Driver\Inc\stm32l4xx_ll_exti.h;Drivers\STM32L4xx_HAL_Driver\Inc\stm32l4xx_hal_uart.h;Drivers\STM32L4xx_HAL_Driver\Inc\stm32l4xx_ll_usart.h;Drivers\STM32L4xx_HAL_Driver\Inc\stm32l4xx_ll_lpuart.h;Drivers\STM32L4xx_HAL_Driver\Inc\stm32l4xx_hal_uart_ex.h;Drivers\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal.c;Drivers\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_rcc.c;Drivers\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_rcc_ex.c;Drivers\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_flash.c;Drivers\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_flash_ex.c;Drivers\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_flash_ramfunc.c;Drivers\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_gpio.c;Drivers\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_i2c.c;Drivers\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_i2c_ex.c;Drivers\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_dma.c;Drivers\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_dma_ex.c;Drivers\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_pwr.c;Drivers\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_pwr_ex.c;Drivers\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_cortex.c;Drivers\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_exti.c;Drivers\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_uart.c;Drivers\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_uart_ex.c;Drivers\STM32L4xx_HAL_Driver\Inc\stm32l4xx_hal.h;Drivers\STM32L4xx_HAL_Driver\Inc\stm32l4xx_hal_def.h;Drivers\STM32L4xx_HAL_Driver\Inc\Legacy\stm32_hal_legacy.h;Drivers\STM32L4xx_HAL_Driver\Inc\stm32l4xx_hal_rcc.h;Drivers\STM32L4xx_HAL_Driver\Inc\stm32l4xx_hal_rcc_ex.h;Drivers\STM32L4xx_HAL_Driver\Inc\stm32l4xx_ll_bus.h;Drivers\STM32L4xx_HAL_Driver\Inc\stm32l4xx_ll_rcc.h;Drivers\STM32L4xx_HAL_Driver\Inc\stm32l4xx_ll_crs.h;Drivers\STM32L4xx_HAL_Driver\Inc\stm32l4xx_ll_system.h;Drivers\STM32L4xx_HAL_Driver\Inc\stm32l4xx_ll_utils.h;Drivers\STM32L4xx_HAL_Driver\Inc\stm32l4xx_hal_flash.h;Drivers\STM32L4xx_HAL_Driver\Inc\stm32l4xx_hal_flash_ex.h;Drivers\STM32L4xx_HAL_Driver\Inc\stm32l4xx_hal_flash_ramfunc.h;Drivers\STM32L4xx_HAL_Driver\Inc\stm32l4xx_hal_gpio.h;Drivers\STM32L4xx_HAL_Driver\Inc\stm32l4xx_hal_gpio_ex.h;Drivers\STM32L4xx_HAL_Driver\Inc\stm32l4xx_ll_gpio.h;Drivers\STM32L4xx_HAL_Driver\Inc\stm32l4xx_hal_i2c.h;Drivers\STM32L4xx_HAL_Driver\Inc\stm32l4xx_hal_i2c_ex.h;Drivers\STM32L4xx_HAL_Driver\Inc\stm32l4xx_hal_dma.h;Drivers\STM32L4xx_HAL_Driver\Inc\stm32l4xx_hal_dma_ex.h;Drivers\STM32L4xx_HAL_Driver\Inc\stm32l4xx_ll_dma.h;Drivers\STM32L4xx_HAL_Driver\Inc\stm32l4xx_ll_dmamux.h;Drivers\STM32L4xx_HAL_Driver\Inc\stm32l4xx_hal_pwr.h;Drivers\STM32L4xx_HAL_Driver\Inc\stm32l4xx_hal_pwr_ex.h;Drivers\STM32L4xx_HAL_Driver\Inc\stm32l4xx_ll_pwr.h;Drivers\STM32L4xx_HAL_Driver\Inc\stm32l4xx_hal_cortex.h;Drivers\STM32L4xx_HAL_Driver\Inc\stm32l4xx_ll_cortex.h;Drivers\STM32L4xx_HAL_Driver\Inc\stm32l4xx_hal_exti.h;Drivers\STM32L4xx_HAL_Driver\Inc\stm32l4xx_ll_exti.h;Drivers\STM32L4xx_HAL_Driver\Inc\stm32l4xx_hal_uart.h;Drivers\STM32L4xx_HAL_Driver\Inc\stm32l4xx_ll_usart.h;Drivers\STM32L4xx_HAL_Driver\Inc\stm32l4xx_ll_lpuart.h;Drivers\STM32L4xx_HAL_Driver\Inc\stm32l4xx_hal_uart_ex.h;Drivers\CMSIS\Device\ST\STM32L4xx\Include\stm32l431xx.h;Drivers\CMSIS\Device\ST\STM32L4xx\Include\stm32l4xx.h;Drivers\CMSIS\Device\ST\STM32L4xx\Include\system_stm32l4xx.h;Drivers\CMSIS\Device\ST\STM32L4xx\Include\system_stm32l4xx.h;Drivers\CMSIS\Device\ST\STM32L4xx\Source\Templates\system_stm32l4xx.c;Drivers\CMSIS\Include\cmsis_armcc.h;Drivers\CMSIS\Include\cmsis_armclang.h;Drivers\CMSIS\Include\cmsis_armclang_ltm.h;Drivers\CMSIS\Include\cmsis_compiler.h;Drivers\CMSIS\Include\cmsis_gcc.h;Drivers\CMSIS\Include\cmsis_iccarm.h;Drivers\CMSIS\Include\cmsis_version.h;Drivers\CMSIS\Include\core_armv81mml.h;Drivers\CMSIS\Include\core_armv8mbl.h;Drivers\CMSIS\Include\core_armv8mml.h;Drivers\CMSIS\Include\core_cm0.h;Drivers\CMSIS\Include\core_cm0plus.h;Drivers\CMSIS\Include\core_cm1.h;Drivers\CMSIS\Include\core_cm23.h;Drivers\CMSIS\Include\core_cm3.h;Drivers\CMSIS\Include\core_cm33.h;Drivers\CMSIS\Include\core_cm35p.h;Drivers\CMSIS\Include\core_cm4.h;Drivers\CMSIS\Include\core_cm7.h;Drivers\CMSIS\Include\core_sc000.h;Drivers\CMSIS\Include\core_sc300.h;Drivers\CMSIS\Include\mpu_armv7.h;Drivers\CMSIS\Include\mpu_armv8.h;Drivers\CMSIS\Include\tz_context.h; [PreviousUsedKeilFiles] -SourceFiles=..\Core\Src\main.c;..\Core\Src\gpio.c;..\Core\Src\stm32l4xx_it.c;..\Core\Src\stm32l4xx_hal_msp.c;..\Drivers\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal.c;..\Drivers\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_rcc.c;..\Drivers\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_rcc_ex.c;..\Drivers\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_flash.c;..\Drivers\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_flash_ex.c;..\Drivers\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_flash_ramfunc.c;..\Drivers\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_gpio.c;..\Drivers\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_i2c.c;..\Drivers\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_i2c_ex.c;..\Drivers\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_dma.c;..\Drivers\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_dma_ex.c;..\Drivers\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_pwr.c;..\Drivers\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_pwr_ex.c;..\Drivers\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_cortex.c;..\Drivers\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_exti.c;..\Drivers\CMSIS\Device\ST\STM32L4xx\Source\Templates\system_stm32l4xx.c;..\Core\Src\system_stm32l4xx.c;..\Drivers\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal.c;..\Drivers\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_rcc.c;..\Drivers\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_rcc_ex.c;..\Drivers\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_flash.c;..\Drivers\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_flash_ex.c;..\Drivers\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_flash_ramfunc.c;..\Drivers\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_gpio.c;..\Drivers\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_i2c.c;..\Drivers\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_i2c_ex.c;..\Drivers\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_dma.c;..\Drivers\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_dma_ex.c;..\Drivers\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_pwr.c;..\Drivers\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_pwr_ex.c;..\Drivers\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_cortex.c;..\Drivers\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_exti.c;..\Drivers\CMSIS\Device\ST\STM32L4xx\Source\Templates\system_stm32l4xx.c;..\Core\Src\system_stm32l4xx.c;;; +SourceFiles=..\Core\Src\main.c;..\Core\Src\gpio.c;..\Core\Src\dma.c;..\Core\Src\usart.c;..\Core\Src\stm32l4xx_it.c;..\Core\Src\stm32l4xx_hal_msp.c;..\Drivers\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal.c;..\Drivers\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_rcc.c;..\Drivers\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_rcc_ex.c;..\Drivers\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_flash.c;..\Drivers\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_flash_ex.c;..\Drivers\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_flash_ramfunc.c;..\Drivers\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_gpio.c;..\Drivers\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_i2c.c;..\Drivers\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_i2c_ex.c;..\Drivers\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_dma.c;..\Drivers\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_dma_ex.c;..\Drivers\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_pwr.c;..\Drivers\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_pwr_ex.c;..\Drivers\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_cortex.c;..\Drivers\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_exti.c;..\Drivers\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_uart.c;..\Drivers\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_uart_ex.c;..\Drivers\CMSIS\Device\ST\STM32L4xx\Source\Templates\system_stm32l4xx.c;..\Core\Src\system_stm32l4xx.c;..\Drivers\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal.c;..\Drivers\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_rcc.c;..\Drivers\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_rcc_ex.c;..\Drivers\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_flash.c;..\Drivers\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_flash_ex.c;..\Drivers\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_flash_ramfunc.c;..\Drivers\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_gpio.c;..\Drivers\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_i2c.c;..\Drivers\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_i2c_ex.c;..\Drivers\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_dma.c;..\Drivers\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_dma_ex.c;..\Drivers\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_pwr.c;..\Drivers\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_pwr_ex.c;..\Drivers\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_cortex.c;..\Drivers\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_exti.c;..\Drivers\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_uart.c;..\Drivers\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_uart_ex.c;..\Drivers\CMSIS\Device\ST\STM32L4xx\Source\Templates\system_stm32l4xx.c;..\Core\Src\system_stm32l4xx.c;;; HeaderPath=..\Drivers\STM32L4xx_HAL_Driver\Inc;..\Drivers\STM32L4xx_HAL_Driver\Inc\Legacy;..\Drivers\CMSIS\Device\ST\STM32L4xx\Include;..\Drivers\CMSIS\Include;..\Middlewares\Third_Party\RealThread_RTOS_RT-Thread\components\finsh\inc\;..\Middlewares\Third_Party\RealThread_RTOS_RT-Thread\include\;..\Middlewares\Third_Party\RealThread_RTOS_RT-Thread\include\libc\include\;..\Middlewares\Third_Party\RealThread_RTOS_RT-Thread\include\libc\extension\;..\Middlewares\Third_Party\RealThread_RTOS_RT-Thread\include\libc\extension\fcntl\msvc\;..\Middlewares\Third_Party\RealThread_RTOS_RT-Thread\include\libc\extension\fcntl\octal\;..\Core\Inc;..\RT-Thread; CDefines=USE_HAL_DRIVER;STM32L431xx;USE_HAL_DRIVER;USE_HAL_DRIVER; [PreviousGenFiles] AdvancedFolderStructure=true -HeaderFileListSize=5 +HeaderFileListSize=7 HeaderFiles#0=..\Core\Inc\gpio.h HeaderFiles#1=..\RT-Thread\rtconfig.h -HeaderFiles#2=..\Core\Inc\stm32l4xx_it.h -HeaderFiles#3=..\Core\Inc\stm32l4xx_hal_conf.h -HeaderFiles#4=..\Core\Inc\main.h +HeaderFiles#2=..\Core\Inc\dma.h +HeaderFiles#3=..\Core\Inc\usart.h +HeaderFiles#4=..\Core\Inc\stm32l4xx_it.h +HeaderFiles#5=..\Core\Inc\stm32l4xx_hal_conf.h +HeaderFiles#6=..\Core\Inc\main.h HeaderFolderListSize=2 HeaderPath#0=..\Core\Inc HeaderPath#1=..\RT-Thread HeaderFiles=; -SourceFileListSize=4 +SourceFileListSize=6 SourceFiles#0=..\Core\Src\gpio.c -SourceFiles#1=..\Core\Src\stm32l4xx_it.c -SourceFiles#2=..\Core\Src\stm32l4xx_hal_msp.c -SourceFiles#3=..\Core\Src\main.c +SourceFiles#1=..\Core\Src\dma.c +SourceFiles#2=..\Core\Src\usart.c +SourceFiles#3=..\Core\Src\stm32l4xx_it.c +SourceFiles#4=..\Core\Src\stm32l4xx_hal_msp.c +SourceFiles#5=..\Core\Src\main.c SourceFolderListSize=1 SourcePath#0=..\Core\Src SourceFiles=; diff --git a/XM01_BLE/XM-01/.vscode/settings.json b/XM01_BLE/XM-01/.vscode/settings.json new file mode 100644 index 0000000..6a84574 --- /dev/null +++ b/XM01_BLE/XM-01/.vscode/settings.json @@ -0,0 +1,6 @@ +{ + "files.associations": { + "stm32l4xx_it.h": "c", + "main.h": "c" + } +} \ No newline at end of file diff --git a/XM01_BLE/XM-01/Core/Inc/dma.h b/XM01_BLE/XM-01/Core/Inc/dma.h new file mode 100644 index 0000000..493d98e --- /dev/null +++ b/XM01_BLE/XM-01/Core/Inc/dma.h @@ -0,0 +1,52 @@ +/* USER CODE BEGIN Header */ +/** + ****************************************************************************** + * @file dma.h + * @brief This file contains all the function prototypes for + * the dma.c file + ****************************************************************************** + * @attention + * + * Copyright (c) 2025 STMicroelectronics. + * All rights reserved. + * + * This software is licensed under terms that can be found in the LICENSE file + * in the root directory of this software component. + * If no LICENSE file comes with this software, it is provided AS-IS. + * + ****************************************************************************** + */ +/* USER CODE END Header */ +/* Define to prevent recursive inclusion -------------------------------------*/ +#ifndef __DMA_H__ +#define __DMA_H__ + +#ifdef __cplusplus +extern "C" { +#endif + +/* Includes ------------------------------------------------------------------*/ +#include "main.h" + +/* DMA memory to memory transfer handles -------------------------------------*/ + +/* USER CODE BEGIN Includes */ + +/* USER CODE END Includes */ + +/* USER CODE BEGIN Private defines */ + +/* USER CODE END Private defines */ + +void MX_DMA_Init(void); + +/* USER CODE BEGIN Prototypes */ + +/* USER CODE END Prototypes */ + +#ifdef __cplusplus +} +#endif + +#endif /* __DMA_H__ */ + diff --git a/XM01_BLE/XM-01/Core/Inc/main.h b/XM01_BLE/XM-01/Core/Inc/main.h index 9bdf20b..4db24bf 100644 --- a/XM01_BLE/XM-01/Core/Inc/main.h +++ b/XM01_BLE/XM-01/Core/Inc/main.h @@ -57,11 +57,16 @@ void Error_Handler(void); /* USER CODE END EFP */ /* Private defines -----------------------------------------------------------*/ +#define BLE_TX_Pin GPIO_PIN_2 +#define BLE_TX_GPIO_Port GPIOA +#define BLE_RX_Pin GPIO_PIN_3 +#define BLE_RX_GPIO_Port GPIOA #define LED_Pin GPIO_PIN_12 #define LED_GPIO_Port GPIOB /* USER CODE BEGIN Private defines */ +#define RX_BUFFER_SIZE 256 /* USER CODE END Private defines */ #ifdef __cplusplus diff --git a/XM01_BLE/XM-01/Core/Inc/stm32l4xx_hal_conf.h b/XM01_BLE/XM-01/Core/Inc/stm32l4xx_hal_conf.h index ce64d5e..e27d3e7 100644 --- a/XM01_BLE/XM-01/Core/Inc/stm32l4xx_hal_conf.h +++ b/XM01_BLE/XM-01/Core/Inc/stm32l4xx_hal_conf.h @@ -79,7 +79,7 @@ /*#define HAL_SWPMI_MODULE_ENABLED */ /*#define HAL_TIM_MODULE_ENABLED */ /*#define HAL_TSC_MODULE_ENABLED */ -/*#define HAL_UART_MODULE_ENABLED */ +#define HAL_UART_MODULE_ENABLED /*#define HAL_USART_MODULE_ENABLED */ /*#define HAL_WWDG_MODULE_ENABLED */ /*#define HAL_EXTI_MODULE_ENABLED */ diff --git a/XM01_BLE/XM-01/Core/Inc/stm32l4xx_it.h b/XM01_BLE/XM-01/Core/Inc/stm32l4xx_it.h index 9e241bb..4cf6892 100644 --- a/XM01_BLE/XM-01/Core/Inc/stm32l4xx_it.h +++ b/XM01_BLE/XM-01/Core/Inc/stm32l4xx_it.h @@ -51,6 +51,8 @@ void MemManage_Handler(void); void BusFault_Handler(void); void UsageFault_Handler(void); void DebugMon_Handler(void); +void DMA1_Channel6_IRQHandler(void); +void USART2_IRQHandler(void); /* USER CODE BEGIN EFP */ /* USER CODE END EFP */ diff --git a/XM01_BLE/XM-01/Core/Inc/usart.h b/XM01_BLE/XM-01/Core/Inc/usart.h new file mode 100644 index 0000000..149bca8 --- /dev/null +++ b/XM01_BLE/XM-01/Core/Inc/usart.h @@ -0,0 +1,52 @@ +/* USER CODE BEGIN Header */ +/** + ****************************************************************************** + * @file usart.h + * @brief This file contains all the function prototypes for + * the usart.c file + ****************************************************************************** + * @attention + * + * Copyright (c) 2025 STMicroelectronics. + * All rights reserved. + * + * This software is licensed under terms that can be found in the LICENSE file + * in the root directory of this software component. + * If no LICENSE file comes with this software, it is provided AS-IS. + * + ****************************************************************************** + */ +/* USER CODE END Header */ +/* Define to prevent recursive inclusion -------------------------------------*/ +#ifndef __USART_H__ +#define __USART_H__ + +#ifdef __cplusplus +extern "C" { +#endif + +/* Includes ------------------------------------------------------------------*/ +#include "main.h" + +/* USER CODE BEGIN Includes */ + +/* USER CODE END Includes */ + +extern UART_HandleTypeDef huart2; + +/* USER CODE BEGIN Private defines */ + +/* USER CODE END Private defines */ + +void MX_USART2_UART_Init(void); + +/* USER CODE BEGIN Prototypes */ +extern uint8_t BLE_rx_buffer[RX_BUFFER_SIZE]; +/* USER CODE END Prototypes */ + +#ifdef __cplusplus +} +#endif + +#endif /* __USART_H__ */ + diff --git a/XM01_BLE/XM-01/Core/Src/dma.c b/XM01_BLE/XM-01/Core/Src/dma.c new file mode 100644 index 0000000..d8e0972 --- /dev/null +++ b/XM01_BLE/XM-01/Core/Src/dma.c @@ -0,0 +1,55 @@ +/* USER CODE BEGIN Header */ +/** + ****************************************************************************** + * @file dma.c + * @brief This file provides code for the configuration + * of all the requested memory to memory DMA transfers. + ****************************************************************************** + * @attention + * + * Copyright (c) 2025 STMicroelectronics. + * All rights reserved. + * + * This software is licensed under terms that can be found in the LICENSE file + * in the root directory of this software component. + * If no LICENSE file comes with this software, it is provided AS-IS. + * + ****************************************************************************** + */ +/* USER CODE END Header */ + +/* Includes ------------------------------------------------------------------*/ +#include "dma.h" + +/* USER CODE BEGIN 0 */ + +/* USER CODE END 0 */ + +/*----------------------------------------------------------------------------*/ +/* Configure DMA */ +/*----------------------------------------------------------------------------*/ + +/* USER CODE BEGIN 1 */ + +/* USER CODE END 1 */ + +/** + * Enable DMA controller clock + */ +void MX_DMA_Init(void) +{ + + /* DMA controller clock enable */ + __HAL_RCC_DMA1_CLK_ENABLE(); + + /* DMA interrupt init */ + /* DMA1_Channel6_IRQn interrupt configuration */ + HAL_NVIC_SetPriority(DMA1_Channel6_IRQn, 0, 0); + HAL_NVIC_EnableIRQ(DMA1_Channel6_IRQn); + +} + +/* USER CODE BEGIN 2 */ + +/* USER CODE END 2 */ + diff --git a/XM01_BLE/XM-01/Core/Src/gpio.c b/XM01_BLE/XM-01/Core/Src/gpio.c index 403af30..e8182f5 100644 --- a/XM01_BLE/XM-01/Core/Src/gpio.c +++ b/XM01_BLE/XM-01/Core/Src/gpio.c @@ -46,8 +46,8 @@ void MX_GPIO_Init(void) /* GPIO Ports Clock Enable */ __HAL_RCC_GPIOH_CLK_ENABLE(); - __HAL_RCC_GPIOB_CLK_ENABLE(); __HAL_RCC_GPIOA_CLK_ENABLE(); + __HAL_RCC_GPIOB_CLK_ENABLE(); /*Configure GPIO pin Output Level */ HAL_GPIO_WritePin(LED_GPIO_Port, LED_Pin, GPIO_PIN_RESET); diff --git a/XM01_BLE/XM-01/Core/Src/main.c b/XM01_BLE/XM-01/Core/Src/main.c index 3ee59d9..4c23fda 100644 --- a/XM01_BLE/XM-01/Core/Src/main.c +++ b/XM01_BLE/XM-01/Core/Src/main.c @@ -18,6 +18,8 @@ /* USER CODE END Header */ /* Includes ------------------------------------------------------------------*/ #include "main.h" +#include "dma.h" +#include "usart.h" #include "gpio.h" /* Private includes ----------------------------------------------------------*/ @@ -60,7 +62,7 @@ void SystemClock_Config(void); /* 线程入口函数 */ static void LED_thread_entry(void *parameter) { - SEGGER_RTT_printf(0, "Thread1 started with parameter: %s\n", (char *)parameter); + rt_kprintf("Thread1 started with parameter: %s\n", (char *)parameter); while (1) { HAL_GPIO_TogglePin(LED_GPIO_Port, LED_Pin); @@ -98,8 +100,13 @@ int main(void) /* Initialize all configured peripherals */ MX_GPIO_Init(); + MX_DMA_Init(); + MX_USART2_UART_Init(); /* USER CODE BEGIN 2 */ + __HAL_UART_ENABLE_IT(&huart2, UART_IT_IDLE); // 使能串口IDLE中断 + HAL_UART_Receive_DMA(&huart2, BLE_rx_buffer, RX_BUFFER_SIZE); // 开启串口接收DMA + /* 创建线程 */ LED_thread = rt_thread_create("LED_task", // 线程名称 LED_thread_entry, // 线程入口函数 @@ -113,6 +120,9 @@ int main(void) rt_thread_startup(LED_thread); else rt_kprintf("LED_thread creation failed!\n"); + + // rt_thread_mdelay(5000); + // HAL_UART_Transmit(&huart2, "Hello this my ble module wake up code", 37, 100); // 发送 数据 /* USER CODE END 2 */ /* Infinite loop */ diff --git a/XM01_BLE/XM-01/Core/Src/stm32l4xx_it.c b/XM01_BLE/XM-01/Core/Src/stm32l4xx_it.c index 03a2229..f328e8f 100644 --- a/XM01_BLE/XM-01/Core/Src/stm32l4xx_it.c +++ b/XM01_BLE/XM-01/Core/Src/stm32l4xx_it.c @@ -1,20 +1,20 @@ /* USER CODE BEGIN Header */ /** - ****************************************************************************** - * @file stm32l4xx_it.c - * @brief Interrupt Service Routines. - ****************************************************************************** - * @attention - * - * Copyright (c) 2025 STMicroelectronics. - * All rights reserved. - * - * This software is licensed under terms that can be found in the LICENSE file - * in the root directory of this software component. - * If no LICENSE file comes with this software, it is provided AS-IS. - * - ****************************************************************************** - */ + ****************************************************************************** + * @file stm32l4xx_it.c + * @brief Interrupt Service Routines. + ****************************************************************************** + * @attention + * + * Copyright (c) 2025 STMicroelectronics. + * All rights reserved. + * + * This software is licensed under terms that can be found in the LICENSE file + * in the root directory of this software component. + * If no LICENSE file comes with this software, it is provided AS-IS. + * + ****************************************************************************** + */ /* USER CODE END Header */ /* Includes ------------------------------------------------------------------*/ @@ -22,6 +22,7 @@ #include "stm32l4xx_it.h" /* Private includes ----------------------------------------------------------*/ /* USER CODE BEGIN Includes */ +#include "usart.h" /* USER CODE END Includes */ /* Private typedef -----------------------------------------------------------*/ @@ -55,7 +56,8 @@ /* USER CODE END 0 */ /* External variables --------------------------------------------------------*/ - +extern DMA_HandleTypeDef hdma_usart2_rx; +extern UART_HandleTypeDef huart2; /* USER CODE BEGIN EV */ /* USER CODE END EV */ @@ -64,23 +66,23 @@ /* Cortex-M4 Processor Interruption and Exception Handlers */ /******************************************************************************/ /** - * @brief This function handles Non maskable interrupt. - */ + * @brief This function handles Non maskable interrupt. + */ void NMI_Handler(void) { /* USER CODE BEGIN NonMaskableInt_IRQn 0 */ /* USER CODE END NonMaskableInt_IRQn 0 */ /* USER CODE BEGIN NonMaskableInt_IRQn 1 */ - while (1) + while (1) { } /* USER CODE END NonMaskableInt_IRQn 1 */ } /** - * @brief This function handles Memory management fault. - */ + * @brief This function handles Memory management fault. + */ void MemManage_Handler(void) { /* USER CODE BEGIN MemoryManagement_IRQn 0 */ @@ -94,8 +96,8 @@ void MemManage_Handler(void) } /** - * @brief This function handles Prefetch fault, memory access fault. - */ + * @brief This function handles Prefetch fault, memory access fault. + */ void BusFault_Handler(void) { /* USER CODE BEGIN BusFault_IRQn 0 */ @@ -109,8 +111,8 @@ void BusFault_Handler(void) } /** - * @brief This function handles Undefined instruction or illegal state. - */ + * @brief This function handles Undefined instruction or illegal state. + */ void UsageFault_Handler(void) { /* USER CODE BEGIN UsageFault_IRQn 0 */ @@ -124,8 +126,8 @@ void UsageFault_Handler(void) } /** - * @brief This function handles Debug monitor. - */ + * @brief This function handles Debug monitor. + */ void DebugMon_Handler(void) { /* USER CODE BEGIN DebugMonitor_IRQn 0 */ @@ -143,6 +145,44 @@ void DebugMon_Handler(void) /* please refer to the startup file (startup_stm32l4xx.s). */ /******************************************************************************/ +/** + * @brief This function handles DMA1 channel6 global interrupt. + */ +void DMA1_Channel6_IRQHandler(void) +{ + /* USER CODE BEGIN DMA1_Channel6_IRQn 0 */ + + /* USER CODE END DMA1_Channel6_IRQn 0 */ + HAL_DMA_IRQHandler(&hdma_usart2_rx); + /* USER CODE BEGIN DMA1_Channel6_IRQn 1 */ + + /* USER CODE END DMA1_Channel6_IRQn 1 */ +} + +/** + * @brief This function handles USART2 global interrupt. + */ +void USART2_IRQHandler(void) +{ + /* USER CODE BEGIN USART2_IRQn 0 */ + + if (__HAL_UART_GET_FLAG(&huart2, UART_FLAG_IDLE) != RESET) + { // 判断是否产生IDLE中断 + + __HAL_UART_CLEAR_IDLEFLAG(&huart2); // 清除IDLE中断标志位 + HAL_UART_DMAStop(&huart2); // 停止DMA接收 + uint16_t received_length = RX_BUFFER_SIZE - __HAL_DMA_GET_COUNTER(huart2.hdmarx); // 计算实际接收到的数据长度 + // 业务代码 + HAL_UART_Transmit(&huart2, BLE_rx_buffer, received_length, 100); // 发送接收到的数据 + HAL_UART_Receive_DMA(&huart2, BLE_rx_buffer, RX_BUFFER_SIZE); // 开启DMA接收 + } + /* USER CODE END USART2_IRQn 0 */ + HAL_UART_IRQHandler(&huart2); + /* USER CODE BEGIN USART2_IRQn 1 */ + + /* USER CODE END USART2_IRQn 1 */ +} + /* USER CODE BEGIN 1 */ /* USER CODE END 1 */ diff --git a/XM01_BLE/XM-01/Core/Src/usart.c b/XM01_BLE/XM-01/Core/Src/usart.c new file mode 100644 index 0000000..d153ca3 --- /dev/null +++ b/XM01_BLE/XM-01/Core/Src/usart.c @@ -0,0 +1,154 @@ +/* USER CODE BEGIN Header */ +/** + ****************************************************************************** + * @file usart.c + * @brief This file provides code for the configuration + * of the USART instances. + ****************************************************************************** + * @attention + * + * Copyright (c) 2025 STMicroelectronics. + * All rights reserved. + * + * This software is licensed under terms that can be found in the LICENSE file + * in the root directory of this software component. + * If no LICENSE file comes with this software, it is provided AS-IS. + * + ****************************************************************************** + */ +/* USER CODE END Header */ +/* Includes ------------------------------------------------------------------*/ +#include "usart.h" + +/* USER CODE BEGIN 0 */ + +uint8_t BLE_rx_buffer[RX_BUFFER_SIZE] = {0}; // DMA搬运目标缓存 +/* USER CODE END 0 */ + +UART_HandleTypeDef huart2; +DMA_HandleTypeDef hdma_usart2_rx; + +/* USART2 init function */ + +void MX_USART2_UART_Init(void) +{ + + /* USER CODE BEGIN USART2_Init 0 */ + + /* USER CODE END USART2_Init 0 */ + + /* USER CODE BEGIN USART2_Init 1 */ + + /* USER CODE END USART2_Init 1 */ + huart2.Instance = USART2; + huart2.Init.BaudRate = 115200; + huart2.Init.WordLength = UART_WORDLENGTH_8B; + huart2.Init.StopBits = UART_STOPBITS_1; + huart2.Init.Parity = UART_PARITY_NONE; + huart2.Init.Mode = UART_MODE_TX_RX; + huart2.Init.HwFlowCtl = UART_HWCONTROL_NONE; + huart2.Init.OverSampling = UART_OVERSAMPLING_16; + huart2.Init.OneBitSampling = UART_ONE_BIT_SAMPLE_DISABLE; + huart2.AdvancedInit.AdvFeatureInit = UART_ADVFEATURE_NO_INIT; + if (HAL_UART_Init(&huart2) != HAL_OK) + { + Error_Handler(); + } + /* USER CODE BEGIN USART2_Init 2 */ + + /* USER CODE END USART2_Init 2 */ +} + +void HAL_UART_MspInit(UART_HandleTypeDef *uartHandle) +{ + + GPIO_InitTypeDef GPIO_InitStruct = {0}; + RCC_PeriphCLKInitTypeDef PeriphClkInit = {0}; + if (uartHandle->Instance == USART2) + { + /* USER CODE BEGIN USART2_MspInit 0 */ + + /* USER CODE END USART2_MspInit 0 */ + + /** Initializes the peripherals clock + */ + PeriphClkInit.PeriphClockSelection = RCC_PERIPHCLK_USART2; + PeriphClkInit.Usart2ClockSelection = RCC_USART2CLKSOURCE_PCLK1; + if (HAL_RCCEx_PeriphCLKConfig(&PeriphClkInit) != HAL_OK) + { + Error_Handler(); + } + + /* USART2 clock enable */ + __HAL_RCC_USART2_CLK_ENABLE(); + + __HAL_RCC_GPIOA_CLK_ENABLE(); + /**USART2 GPIO Configuration + PA2 ------> USART2_TX + PA3 ------> USART2_RX + */ + GPIO_InitStruct.Pin = BLE_TX_Pin | BLE_RX_Pin; + GPIO_InitStruct.Mode = GPIO_MODE_AF_PP; + GPIO_InitStruct.Pull = GPIO_NOPULL; + GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH; + GPIO_InitStruct.Alternate = GPIO_AF7_USART2; + HAL_GPIO_Init(GPIOA, &GPIO_InitStruct); + + /* USART2 DMA Init */ + /* USART2_RX Init */ + hdma_usart2_rx.Instance = DMA1_Channel6; + hdma_usart2_rx.Init.Request = DMA_REQUEST_2; + hdma_usart2_rx.Init.Direction = DMA_PERIPH_TO_MEMORY; + hdma_usart2_rx.Init.PeriphInc = DMA_PINC_DISABLE; + hdma_usart2_rx.Init.MemInc = DMA_MINC_ENABLE; + hdma_usart2_rx.Init.PeriphDataAlignment = DMA_PDATAALIGN_BYTE; + hdma_usart2_rx.Init.MemDataAlignment = DMA_MDATAALIGN_BYTE; + hdma_usart2_rx.Init.Mode = DMA_CIRCULAR; + hdma_usart2_rx.Init.Priority = DMA_PRIORITY_LOW; + if (HAL_DMA_Init(&hdma_usart2_rx) != HAL_OK) + { + Error_Handler(); + } + + __HAL_LINKDMA(uartHandle, hdmarx, hdma_usart2_rx); + + /* USART2 interrupt Init */ + HAL_NVIC_SetPriority(USART2_IRQn, 0, 0); + HAL_NVIC_EnableIRQ(USART2_IRQn); + /* USER CODE BEGIN USART2_MspInit 1 */ + + /* USER CODE END USART2_MspInit 1 */ + } +} + +void HAL_UART_MspDeInit(UART_HandleTypeDef *uartHandle) +{ + + if (uartHandle->Instance == USART2) + { + /* USER CODE BEGIN USART2_MspDeInit 0 */ + + /* USER CODE END USART2_MspDeInit 0 */ + /* Peripheral clock disable */ + __HAL_RCC_USART2_CLK_DISABLE(); + + /**USART2 GPIO Configuration + PA2 ------> USART2_TX + PA3 ------> USART2_RX + */ + HAL_GPIO_DeInit(GPIOA, BLE_TX_Pin | BLE_RX_Pin); + + /* USART2 DMA DeInit */ + HAL_DMA_DeInit(uartHandle->hdmarx); + + /* USART2 interrupt Deinit */ + HAL_NVIC_DisableIRQ(USART2_IRQn); + /* USER CODE BEGIN USART2_MspDeInit 1 */ + + /* USER CODE END USART2_MspDeInit 1 */ + } +} + +/* USER CODE BEGIN 1 */ + +/* USER CODE END 1 */ diff --git a/XM01_BLE/XM-01/MDK-ARM/XM-01.uvguix.admin b/XM01_BLE/XM-01/MDK-ARM/XM-01.uvguix.admin index 42b8ded..fdc4f7c 100644 --- a/XM01_BLE/XM-01/MDK-ARM/XM-01.uvguix.admin +++ b/XM01_BLE/XM-01/MDK-ARM/XM-01.uvguix.admin @@ -93,8 +93,8 @@ 2 3 - -1 - -1 + -32000 + -32000 -1 @@ -110,8 +110,8 @@ 0 - 2390 - 0100000004000000010000000100000001000000010000000000000002000000000000000100000001000000000000002800000028000000010000001200000001000000010000003A443A5C4A6F625F576F726B5C436F64655C315F584D5C584D2D30315C584D30315F424C455C584D2D30315C436F72655C5372635C6D61696E2E6300000000066D61696E2E6300000000C5D4F200FFFFFFFF80443A5C4A6F625F576F726B5C436F64655C315F584D5C584D2D30315C584D30315F424C455C584D2D30315C4D6964646C6577617265735C54686972645F50617274795C5265616C5468726561645F52544F535F52542D5468726561645C6273705C5F74656D706C6174655C637562656D785F636F6E6669675C626F6172642E630000000007626F6172642E6300000000FFDC7800FFFFFFFF3F443A5C4A6F625F576F726B5C436F64655C315F584D5C584D2D30315C584D30315F424C455C584D2D30315C52542D5468726561645C7274636F6E6669672E68000000000A7274636F6E6669672E6800000000BECEA100FFFFFFFF42443A5C4A6F625F576F726B5C436F64655C315F584D5C584D2D30315C584D30315F424C455C584D2D30315C436F72655C5372635C73746D33326C3478785F69742E63000000000E73746D33326C3478785F69742E6300000000F0A0A100FFFFFFFF6D443A5C4A6F625F576F726B5C436F64655C315F584D5C584D2D30315C584D30315F424C455C584D2D30315C4D6964646C6577617265735C54686972645F50617274795C5265616C5468726561645F52544F535F52542D5468726561645C7372635C636F6D706F6E656E74732E63000000000C636F6D706F6E656E74732E6300000000BCA8E100FFFFFFFF68443A5C4A6F625F576F726B5C436F64655C315F584D5C584D2D30315C584D30315F424C455C584D2D30315C4D6964646C6577617265735C54686972645F50617274795C5265616C5468726561645F52544F535F52542D5468726561645C7372635C636C6F636B2E630000000007636C6F636B2E63000000009CC1B600FFFFFFFF48443A5C4A6F625F576F726B5C436F64655C315F584D5C584D2D30315C584D30315F424C455C584D2D30315C4D444B2D41524D5C737461727475705F73746D33326C34333178782E730000000015737461727475705F73746D33326C34333178782E7300000000F7B88600FFFFFFFF67443A5C4A6F625F576F726B5C436F64655C315F584D5C584D2D30315C584D30315F424C455C584D2D30315C4D6964646C6577617265735C54686972645F50617274795C5265616C5468726561645F52544F535F52542D5468726561645C7372635C69646C652E63000000000669646C652E6300000000D9ADC200FFFFFFFF6F443A5C4A6F625F576F726B5C436F64655C315F584D5C584D2D30315C584D30315F424C455C584D2D30315C4D6964646C6577617265735C54686972645F50617274795C5265616C5468726561645F52544F535F52542D5468726561645C696E636C7564655C72747468726561642E68000000000A72747468726561642E6800000000A5C2D700FFFFFFFF5B443A5C4A6F625F576F726B5C436F64655C315F584D5C584D2D30315C584D30315F424C455C584D2D30315C447269766572735C53544D33324C3478785F48414C5F4472697665725C5372635C73746D33326C3478785F68616C2E63000000000F73746D33326C3478785F68616C2E6300000000B3A6BE00FFFFFFFF6B443A5C4A6F625F576F726B5C436F64655C315F584D5C584D2D30315C584D30315F424C455C584D2D30315C4D6964646C6577617265735C54686972645F50617274795C5265616C5468726561645F52544F535F52542D5468726561645C7372635C6B736572766963652E63000000000A6B736572766963652E6300000000EAD6A300FFFFFFFF69443A5C4A6F625F576F726B5C436F64655C315F584D5C584D2D30315C584D30315F424C455C584D2D30315C4D6964646C6577617265735C54686972645F50617274795C5265616C5468726561645F52544F535F52542D5468726561645C7372635C7468726561642E6300000000087468726561642E6300000000F6FA7D00FFFFFFFF5F443A5C4A6F625F576F726B5C436F64655C315F584D5C584D2D30315C584D30315F424C455C584D2D30315C447269766572735C53544D33324C3478785F48414C5F4472697665725C5372635C73746D33326C3478785F68616C5F7263632E63000000001373746D33326C3478785F68616C5F7263632E6300000000B5E99D00FFFFFFFF6E443A5C4A6F625F576F726B5C436F64655C315F584D5C584D2D30315C584D30315F424C455C584D2D30315C4D6964646C6577617265735C54686972645F50617274795C5265616C5468726561645F52544F535F52542D5468726561645C696E636C7564655C727464656275672E680000000009727464656275672E68000000005FC3CF00FFFFFFFF7B443A5C4A6F625F576F726B5C436F64655C315F584D5C584D2D30315C584D30315F424C455C584D2D30315C4D6964646C6577617265735C54686972645F50617274795C5265616C5468726561645F52544F535F52542D5468726561645C6C69626370755C61726D5C636F727465782D6D345C637075706F72742E630000000009637075706F72742E6300000000C1838300FFFFFFFF64443A5C4A6F625F576F726B5C436F64655C315F584D5C584D2D30315C584D30315F424C455C584D2D30315C4D6964646C6577617265735C54686972645F50617274795C5345474745525F5254545F56363838615C5254545C5345474745525F5254542E63000000000C5345474745525F5254542E6300000000CACAD500FFFFFFFF5B443A5C4170706C69636174696F6E5C4B65696C5C5061636B5C41524D5C434D5349532D4453505C312E31352E305C536F757263655C5472616E73666F726D46756E6374696F6E735C61726D5F636666745F696E69745F7133312E63000000001361726D5F636666745F696E69745F7133312E6300000000C5D4F200FFFFFFFF3A443A5C4A6F625F576F726B5C436F64655C315F584D5C584D2D30315C584D30315F424C455C584D2D30315C436F72655C496E635C6D61696E2E6800000000066D61696E2E6800000000FFDC7800FFFFFFFF0100000010000000C5D4F200FFDC7800BECEA100F0A0A100BCA8E1009CC1B600F7B88600D9ADC200A5C2D700B3A6BE00EAD6A300F6FA7D00B5E99D005FC3CF00C1838300CACAD5000100000000000000020000001401000066000000D505000057020000 + 254 + 0100000004000000010000000100000001000000010000000000000002000000000000000100000001000000000000002800000028000000010000000100000000000000010000003A443A5C4A6F625F576F726B5C436F64655C315F584D5C584D2D30315C584D30315F424C455C584D2D30315C436F72655C5372635C6D61696E2E6300000000066D61696E2E6300000000C5D4F200FFFFFFFF0100000010000000C5D4F200FFDC7800BECEA100F0A0A100BCA8E1009CC1B600F7B88600D9ADC200A5C2D700B3A6BE00EAD6A300F6FA7D00B5E99D005FC3CF00C1838300CACAD5000100000000000000020000001401000066000000D505000057020000 @@ -1806,7 +1806,7 @@ File 2925 - 00200000010000002800FFFF01001100434D4643546F6F6C426172427574746F6E00E100000000000000000000000000000000000000000000000100000001000000018001E100000000000001000000000000000000000000000000000100000001000000018003E1000000000000020000000000000000000000000000000001000000010000000180CD7F0000000000000300000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018023E100000000040004000000000000000000000000000000000100000001000000018022E100000000040005000000000000000000000000000000000100000001000000018025E10000000000000600000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001802BE10000000000000700000000000000000000000000000000010000000100000001802CE10000000004000800000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001807A8A0000000000000900000000000000000000000000000000010000000100000001807B8A0000000000000A00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180D3B00000000000000B000000000000000000000000000000000100000001000000018015B10000000004000C0000000000000000000000000000000001000000010000000180F4B00000000004000D000000000000000000000000000000000100000001000000018036B10000000004000E00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FF88000000000400460000000000000000000000000000000001000000010000000180FE880000000004004500000000000000000000000000000000010000000100000001800B810000000004001300000000000000000000000000000000010000000100000001800C810000000004001400000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180F0880000020000000F000000000000000000000000000000000100000001000000FFFF0100120043555646696E64436F6D626F427574746F6EE803000000000000000000000000000000000000000000000001000000010000009600000002002050000000000D52545F5553494E475F48454150960000000000000013000D52545F5553494E475F48454150046D61696E1423646566696E652052545F5553494E475F534D500C52545F5553494E475F534D501272745F646566756E63745F657865637574651972745F7468726561645F646566756E63745F646571756575651072747468726561645F737461727475701072745F68775F626F6172645F696E69740F5379735469636B5F48616E646C65721072745F7469636B5F696E6372656173651252545F5553494E475F555345525F4D41494E1672745F68775F696E746572727570745F656E61626C651052545F5553494E475F434F4E534F4C45046C6F6766036C6F67056C6F6731301261745F6465616C5F41504E5F436F6E666967116765745F6F70746963616C5F706F776572166765745F6F70746963616C5F313331305F706F77657200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000018024E10000000000001100000000000000000000000000000000010000000100000001800A810000000000001200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6E2280000002000000150000002153746172742F53746F70202644656275672053657373696F6E094374726C2B46350000000000000000000000000100000001000000000000000000000001000000020021802280000000000000150000002153746172742F53746F70202644656275672053657373696F6E094374726C2B4635000000000000000000000000010000000100000000000000000000000100000000002180E0010000000000007500000021456E65726779204D6561737572656D656E742026776974686F75742044656275670000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C488000000000000160000000000000000000000000000000001000000010000000180C988000000000400180000000000000000000000000000000001000000010000000180C788000000000000190000000000000000000000000000000001000000010000002180C8880000000000001700000027264B696C6C20416C6C20427265616B706F696E747320696E2043757272656E7420546172676574000000000000000000000000010000000100000000000000000000000100000003002180C8880000000000001700000027264B696C6C20416C6C20427265616B706F696E747320696E2043757272656E7420546172676574000000000000000000000000010000000100000000000000000000000100000000002180E50100000000000078000000264B696C6C20416C6C20427265616B706F696E747320696E204163746976652050726F6A656374000000000000000000000000010000000100000000000000000000000100000000002180E601000000000000790000002F4B696C6C20416C6C20427265616B706F696E747320696E204D756C74692D50726F6A65637420576F726B73706163650000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000021804C010000020001001A0000000F2650726F6A6563742057696E646F77000000000000000000000000010000000100000000000000000000000100000008002180DD880000000000001A0000000750726F6A656374000000000000000000000000010000000100000000000000000000000100000000002180DC8B0000000000003A00000005426F6F6B73000000000000000000000000010000000100000000000000000000000100000000002180E18B0000000000003B0000000946756E6374696F6E73000000000000000000000000010000000100000000000000000000000100000000002180E28B000000000000400000000954656D706C6174657300000000000000000000000001000000010000000000000000000000010000000000218018890000000000003D0000000E536F757263652042726F777365720000000000000000000000000100000001000000000000000000000001000000000021800000000000000400FFFFFFFF00000000000000000001000000000000000100000000000000000000000100000000002180D988000000000000390000000C4275696C64204F7574707574000000000000000000000000010000000100000000000000000000000100000000002180E38B000000000000410000000B46696E64204F75747075740000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FB7F0000000000001B000000000000000000000000000000000100000001000000000000000446696C65C6030000 + 00200000010000002800FFFF01001100434D4643546F6F6C426172427574746F6E00E100000000000000000000000000000000000000000000000100000001000000018001E100000000000001000000000000000000000000000000000100000001000000018003E1000000000000020000000000000000000000000000000001000000010000000180CD7F0000000000000300000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018023E100000000040004000000000000000000000000000000000100000001000000018022E100000000040005000000000000000000000000000000000100000001000000018025E10000000000000600000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001802BE10000000004000700000000000000000000000000000000010000000100000001802CE10000000004000800000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001807A8A0000000000000900000000000000000000000000000000010000000100000001807B8A0000000004000A00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180D3B00000000000000B000000000000000000000000000000000100000001000000018015B10000000004000C0000000000000000000000000000000001000000010000000180F4B00000000004000D000000000000000000000000000000000100000001000000018036B10000000004000E00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FF88000000000400460000000000000000000000000000000001000000010000000180FE880000000004004500000000000000000000000000000000010000000100000001800B810000000004001300000000000000000000000000000000010000000100000001800C810000000004001400000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180F0880000020000000F000000000000000000000000000000000100000001000000FFFF0100120043555646696E64436F6D626F427574746F6EE803000000000000000000000000000000000000000000000001000000010000009600000002002050000000000D52545F5553494E475F48454150960000000000000013000D52545F5553494E475F48454150046D61696E1423646566696E652052545F5553494E475F534D500C52545F5553494E475F534D501272745F646566756E63745F657865637574651972745F7468726561645F646566756E63745F646571756575651072747468726561645F737461727475701072745F68775F626F6172645F696E69740F5379735469636B5F48616E646C65721072745F7469636B5F696E6372656173651252545F5553494E475F555345525F4D41494E1672745F68775F696E746572727570745F656E61626C651052545F5553494E475F434F4E534F4C45046C6F6766036C6F67056C6F6731301261745F6465616C5F41504E5F436F6E666967116765745F6F70746963616C5F706F776572166765745F6F70746963616C5F313331305F706F77657200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000018024E10000000000001100000000000000000000000000000000010000000100000001800A810000000000001200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6E2280000002000000150000002153746172742F53746F70202644656275672053657373696F6E094374726C2B46350000000000000000000000000100000001000000000000000000000001000000020021802280000000000000150000002153746172742F53746F70202644656275672053657373696F6E094374726C2B4635000000000000000000000000010000000100000000000000000000000100000000002180E0010000000000007500000021456E65726779204D6561737572656D656E742026776974686F75742044656275670000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C488000000000000160000000000000000000000000000000001000000010000000180C988000000000400180000000000000000000000000000000001000000010000000180C788000000000000190000000000000000000000000000000001000000010000002180C8880000000000001700000027264B696C6C20416C6C20427265616B706F696E747320696E2043757272656E7420546172676574000000000000000000000000010000000100000000000000000000000100000003002180C8880000000000001700000027264B696C6C20416C6C20427265616B706F696E747320696E2043757272656E7420546172676574000000000000000000000000010000000100000000000000000000000100000000002180E50100000000000078000000264B696C6C20416C6C20427265616B706F696E747320696E204163746976652050726F6A656374000000000000000000000000010000000100000000000000000000000100000000002180E601000000000000790000002F4B696C6C20416C6C20427265616B706F696E747320696E204D756C74692D50726F6A65637420576F726B73706163650000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000021804C010000020001001A0000000F2650726F6A6563742057696E646F77000000000000000000000000010000000100000000000000000000000100000008002180DD880000000000001A0000000750726F6A656374000000000000000000000000010000000100000000000000000000000100000000002180DC8B0000000000003A00000005426F6F6B73000000000000000000000000010000000100000000000000000000000100000000002180E18B0000000000003B0000000946756E6374696F6E73000000000000000000000000010000000100000000000000000000000100000000002180E28B000000000000400000000954656D706C6174657300000000000000000000000001000000010000000000000000000000010000000000218018890000000000003D0000000E536F757263652042726F777365720000000000000000000000000100000001000000000000000000000001000000000021800000000000000400FFFFFFFF00000000000000000001000000000000000100000000000000000000000100000000002180D988000000000000390000000C4275696C64204F7574707574000000000000000000000000010000000100000000000000000000000100000000002180E38B000000000000410000000B46696E64204F75747075740000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FB7F0000000000001B000000000000000000000000000000000100000001000000000000000446696C65C6030000 1423 @@ -3603,165 +3603,12 @@ 0 100 - 1 + 0 ../Core/Src/main.c - 54 - 105 - 106 - 1 - - 0 - - - ../Middlewares/Third_Party/RealThread_RTOS_RT-Thread/bsp/_template/cubemx_config/board.c - 30 - 86 - 98 - 1 - - 0 - - - ../RT-Thread/rtconfig.h - 12 - 108 - 117 - 1 - - 0 - - - ../Core/Src/stm32l4xx_it.c - 3 - 1 - 8 - 1 - - 0 - - - ../Middlewares/Third_Party/RealThread_RTOS_RT-Thread/src/components.c - 0 - 189 - 195 - 1 - - 0 - - - ../Middlewares/Third_Party/RealThread_RTOS_RT-Thread/src/clock.c - 8 - 109 - 120 - 1 - - 0 - - - startup_stm32l431xx.s - 0 - 165 - 173 - 0 - - 0 - - - ../Middlewares/Third_Party/RealThread_RTOS_RT-Thread/src/idle.c - 0 - 169 - 174 - 1 - - 0 - - - ../Middlewares/Third_Party/RealThread_RTOS_RT-Thread/include/rtthread.h - 6 - 308 - 318 - 1 - - 0 - - - ../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal.c - 0 - 128 - 148 - 1 - - 0 - - - ../Middlewares/Third_Party/RealThread_RTOS_RT-Thread/src/kservice.c - 0 - 1493 - 1498 - 1 - - 0 - - - ../Middlewares/Third_Party/RealThread_RTOS_RT-Thread/src/thread.c - 0 - 337 - 342 - 1 - - 0 - - - ../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_rcc.c - 0 - 1481 - 1486 - 1 - - 0 - - - ../Middlewares/Third_Party/RealThread_RTOS_RT-Thread/include/rtdebug.h - 0 - 133 - 149 - 1 - - 0 - - - ../Middlewares/Third_Party/RealThread_RTOS_RT-Thread/libcpu/arm/cortex-m4/cpuport.c - 0 - 370 - 378 - 1 - - 0 - - - ..\Middlewares\Third_Party\SEGGER_RTT_V688a\RTT\SEGGER_RTT.c - 38 - 1 - 14 - 1 - - 0 - - - D:\Application\Keil\Pack\ARM\CMSIS-DSP\1.15.0\Source\TransformFunctions\arm_cfft_init_q31.c - 0 - 320 - 341 - 1 - - 0 - - - ../Core/Inc/main.h - 18 - 16 - 25 + 42 + 96 + 113 1 0 diff --git a/XM01_BLE/XM-01/MDK-ARM/XM-01.uvoptx b/XM01_BLE/XM-01/MDK-ARM/XM-01.uvoptx index 21a0b3e..dd9df05 100644 --- a/XM01_BLE/XM-01/MDK-ARM/XM-01.uvoptx +++ b/XM01_BLE/XM-01/MDK-ARM/XM-01.uvoptx @@ -351,6 +351,30 @@ 0 0 0 + ../Core/Src/dma.c + dma.c + 0 + 0 + + + 2 + 5 + 1 + 0 + 0 + 0 + ../Core/Src/usart.c + usart.c + 0 + 0 + + + 2 + 6 + 1 + 0 + 0 + 0 ../Core/Src/stm32l4xx_it.c stm32l4xx_it.c 0 @@ -358,7 +382,7 @@ 2 - 5 + 7 1 0 0 @@ -378,7 +402,7 @@ 0 3 - 6 + 8 1 0 0 @@ -390,7 +414,7 @@ 3 - 7 + 9 1 0 0 @@ -402,7 +426,7 @@ 3 - 8 + 10 1 0 0 @@ -414,7 +438,7 @@ 3 - 9 + 11 1 0 0 @@ -426,7 +450,7 @@ 3 - 10 + 12 1 0 0 @@ -438,7 +462,7 @@ 3 - 11 + 13 1 0 0 @@ -450,7 +474,7 @@ 3 - 12 + 14 1 0 0 @@ -462,7 +486,7 @@ 3 - 13 + 15 1 0 0 @@ -474,7 +498,7 @@ 3 - 14 + 16 1 0 0 @@ -486,7 +510,7 @@ 3 - 15 + 17 1 0 0 @@ -498,7 +522,7 @@ 3 - 16 + 18 1 0 0 @@ -510,7 +534,7 @@ 3 - 17 + 19 1 0 0 @@ -522,7 +546,7 @@ 3 - 18 + 20 1 0 0 @@ -534,7 +558,7 @@ 3 - 19 + 21 1 0 0 @@ -546,7 +570,7 @@ 3 - 20 + 22 1 0 0 @@ -556,6 +580,30 @@ 0 0 + + 3 + 23 + 1 + 0 + 0 + 0 + ../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_uart.c + stm32l4xx_hal_uart.c + 0 + 0 + + + 3 + 24 + 1 + 0 + 0 + 0 + ../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_uart_ex.c + stm32l4xx_hal_uart_ex.c + 0 + 0 + @@ -566,7 +614,7 @@ 0 4 - 21 + 25 1 0 0 @@ -586,7 +634,7 @@ 0 5 - 22 + 26 1 0 0 @@ -598,7 +646,7 @@ 5 - 23 + 27 1 0 0 @@ -626,7 +674,7 @@ 0 7 - 52 + 56 1 0 0 @@ -638,7 +686,7 @@ 7 - 53 + 57 1 0 0 @@ -650,7 +698,7 @@ 7 - 54 + 58 1 0 0 @@ -662,7 +710,7 @@ 7 - 55 + 59 1 0 0 @@ -674,7 +722,7 @@ 7 - 56 + 60 1 0 0 @@ -694,7 +742,7 @@ 0 8 - 57 + 61 2 0 0 @@ -706,7 +754,7 @@ 8 - 58 + 62 1 0 0 @@ -726,7 +774,7 @@ 0 9 - 59 + 63 1 0 0 @@ -738,7 +786,7 @@ 9 - 60 + 64 1 0 0 @@ -750,7 +798,7 @@ 9 - 61 + 65 1 0 0 @@ -762,7 +810,7 @@ 9 - 62 + 66 1 0 0 @@ -774,7 +822,7 @@ 9 - 63 + 67 1 0 0 @@ -786,7 +834,7 @@ 9 - 64 + 68 1 0 0 @@ -798,7 +846,7 @@ 9 - 65 + 69 1 0 0 @@ -810,7 +858,7 @@ 9 - 66 + 70 1 0 0 @@ -822,7 +870,7 @@ 9 - 67 + 71 1 0 0 @@ -834,7 +882,7 @@ 9 - 68 + 72 1 0 0 @@ -846,7 +894,7 @@ 9 - 69 + 73 1 0 0 @@ -858,7 +906,7 @@ 9 - 70 + 74 1 0 0 @@ -870,7 +918,7 @@ 9 - 71 + 75 1 0 0 @@ -882,7 +930,7 @@ 9 - 72 + 76 1 0 0 @@ -894,7 +942,7 @@ 9 - 73 + 77 1 0 0 @@ -906,7 +954,7 @@ 9 - 74 + 78 1 0 0 @@ -918,7 +966,7 @@ 9 - 75 + 79 1 0 0 diff --git a/XM01_BLE/XM-01/MDK-ARM/XM-01.uvprojx b/XM01_BLE/XM-01/MDK-ARM/XM-01.uvprojx index 9e073d0..9c2af10 100644 --- a/XM01_BLE/XM-01/MDK-ARM/XM-01.uvprojx +++ b/XM01_BLE/XM-01/MDK-ARM/XM-01.uvprojx @@ -402,6 +402,118 @@ 1 ../Core/Src/gpio.c + + dma.c + 1 + ../Core/Src/dma.c + + + 2 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + usart.c + 1 + ../Core/Src/usart.c + + + 2 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + stm32l4xx_it.c 1 @@ -492,6 +604,118 @@ 1 ../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_exti.c + + stm32l4xx_hal_uart.c + 1 + ../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_uart.c + + + 2 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + stm32l4xx_hal_uart_ex.c + 1 + ../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_uart_ex.c + + + 2 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + diff --git a/XM01_BLE/XM-01/MDK-ARM/XM-01/XM-01.hex b/XM01_BLE/XM-01/MDK-ARM/XM-01/XM-01.hex index 2d15696..a3ab3a7 100644 --- a/XM01_BLE/XM-01/MDK-ARM/XM-01/XM-01.hex +++ b/XM01_BLE/XM-01/MDK-ARM/XM-01/XM-01.hex @@ -1,18 +1,18 @@ :020000040800F2 -:10000000684B00202D020008CF1800085503000897 -:10001000CD180008C5070008451D000800000000B5 +:10000000384D00202D0200082B2A00085503000857 +:10001000292A0008B1080008D537000800000000B0 :100020000000000000000000000000003F02000887 -:10003000C7070008000000009B020008091C000818 +:10003000EF080008000000009B020008E12D000806 :10004000470200084702000847020008470200086C :10005000470200084702000847020008470200085C :10006000470200084702000847020008470200084C :10007000470200084702000847020008470200083C -:10008000470200084702000847020008470200082C +:10008000B5080008470200084702000847020008B8 :10009000470200084702000847020008470200081C :1000A000470200084702000847020008470200080C :1000B000470200080000000000000000470200089E :1000C00047020008470200084702000847020008EC -:1000D00047020008470200084702000847020008DC +:1000D0004702000847020008893700084702000865 :1000E000470200084702000800000000000000006E :1000F0000000000000000000000000000000000000 :10010000000000004702000800000000470200084D @@ -27,17 +27,17 @@ :1001900000F03CF80AA090E8000C82448344AAF1E5 :1001A0000107DA4501D100F031F8AFF2090EBAE8E3 :1001B0000F0013F0010F18BFFB1A43F0010318479B -:1001C000C4480000E4480000103A24BF78C878C151 +:1001C000D8610000F8610000103A24BF78C878C1F7 :1001D000FAD8520724BF30C830C144BF04680C604D :1001E000704700000023002400250026103A28BF95 :1001F00078C1FBD8520728BF30C148BF0B60704799 -:100200001FB504F082FA1FBD10B510BD00F0A0FAB2 -:100210001146FFF7F5FF00F0D0FA00F0BEFA03B484 -:10022000FFF7F2FF03BC00F0C1FA00000948804765 +:100200001FB505F010FF1FBD10B510BD00F016FBA7 +:100210001146FFF7F5FF00F046FB00F034FB03B496 +:10022000FFF7F2FF03BC00F037FB000009488047EE :1002300009480047FEE7FEE7FEE7FEE7FEE7FEE7C8 :10024000FEE7FEE7FEE7FEE704480549054A064BE0 -:1002500070470000351D00088D010008684500202A -:10026000684B00206847002068470020EFF31080AB +:10025000704700000D2F00088D010008384700206E +:10026000384D00203849002038490020EFF3108035 :1002700072B6704780F310887047444A1368012BA8 :1002800004D04FF001031360414A1060414A1160ED :1002900041484FF0805101607047EFF3108272B611 @@ -54,1158 +54,1559 @@ :10034000006880F3088861B662B6BFF34F8FBFF3D1 :100350006F8F70471EF0040F0CBFEFF30880EFF3B0 :10036000098020E9F00F40F804ED40F804ED1EF09C -:10037000040F0CBF80F3088880F3098800B503F0F0 -:1003800059F85DF804EB4EF0040E70473000002081 +:10037000040F0CBF80F3088880F3098800B504F0EF +:10038000E7FC5DF804EB4EF0040E704730000020EF :10039000280000202C00002004ED00E020ED00E00B :1003A0000000FFFF08ED00E0B1EC088BB1EC08CBDA -:1003B000FFF79CBF40EA0103024630B59B0710D10E -:1003C0004FF0013400E008C208C91D1B9D4315EA27 -:1003D000C41FF8D013F0FF0102F8011B0DD01B0A57 -:1003E000F8E711F8013B002B02F8013B05D011F8AA -:1003F000013B002B02F8013BF3D130BD10B5431C8B -:1004000002E010F8011B71B18107FAD14FF00132FF -:1004100002C88C1A8C4314EAC211F9D0C01A0A0619 -:1004200003D0C01E10BDC01A10BD0A0401D0801E2A -:1004300010BD0902FCD0401E10BD40EA010370B59A -:100440009B072ED14FF00136042A2AD308C810C9C1 -:100450009D1B9D43121F15EAC61517D0D8B2E1B2F5 -:10046000401A50EA056110D198B2A1B2401A50EA80 -:1004700005410AD123F07F4024F07F41401A50EA21 -:10048000052102D1180EA0EB146070BDA342DBD091 -:1004900018BA21BA884201D9012070BD4FF0FF304F -:1004A00070BD0AB9002070BD10F8013B11F8014B76 -:1004B00063B1A3420AD1521E08D010F8013B11F8D3 -:1004C000014B1BB1A34201D1521EEDD1181B70BDCF -:1004D000421E12F8013F002BFBD111F8013B002B0B -:1004E00002F8013BF9D17047032A40F2308010F046 -:1004F000030C00F0158011F8013BBCF1020F6244BF -:1005000098BF11F801CB00F8013B38BF11F8013B4F -:10051000A2F1040298BF00F801CB38BF00F8013BFC -:1005200011F0030300F02580083AC0F0088051F86C -:10053000043B083A51F804CBA0E80810F5E7121D77 -:100540005CBF51F8043B40F8043BAFF30080D20796 -:1005500024BF11F8013B11F801CB48BF11F8012B62 -:1005600024BF00F8013B00F801CB48BF00F8012B85 -:10057000704710B5203AC0F00B80B1E81850203A0F -:10058000A0E81850B1E81850A0E81850BFF4F5AF33 -:100590005FEA027C24BFB1E81850A0E8185044BFBD -:1005A00018C918C0BDE810405FEA827C24BF51F82A -:1005B000043B40F8043B08BF7047D20728BF31F81E -:1005C000023B48BF11F8012B28BF20F8023B48BF6F -:1005D00000F8012B70474FF000020429C0F0128090 -:1005E00010F0030C00F01B80CCF1040CBCF1020FE6 -:1005F00018BF00F8012BA8BF20F8022BA1EB0C01BB -:1006000000F00DB85FEAC17C24BF00F8012B00F8B0 -:10061000012B48BF00F8012B70474FF0000200B5D6 -:10062000134694469646203922BFA0E80C50A0E815 -:100630000C50B1F12001BFF4F7AF090728BFA0E8C3 -:100640000C5048BF0CC05DF804EB890028BF40F88F -:10065000042B08BF704748BF20F8022B11F0804FD1 -:1006600018BF00F8012B704710B5044610F0030FB7 -:1006700008BF11F0030F40F015804FF0013E121F2C -:10068000C0F20E8051F8043BA3EB0E0C2CEA030CD5 -:100690001CEACE1C08BF40F8043BF0D0A1F10401D5 -:1006A00002F10402521E08DB11F8013B002B00F896 -:1006B000013BF7D11146FFF78EFF204610BD000029 -:1006C0004FF0013C50F8042B51F8043B9A4221D1E1 -:1006D000A2EB0C03934313EACC1317D150F8042B6D -:1006E00051F8043B9A4215D1A2EB0C03934313EA51 -:1006F000CC130BD150F8042B51F8043B9A4209D18A -:10070000A2EB0C03934313EACC13DBD04FF00000B1 -:10071000704700BFD01A01BAB1FA81F101F0180197 -:1007200022FA01F0CB40C1F12001DBB2C0B2C01A05 -:100730002CFA01F3D11A914311EAC311E6D17047A3 -:100740007047704770470000004870470845002018 -:100750007546FFF7F9FFAE4605006946534620F09F -:100760000700854618B020B5FFF76EFDBDE82040B4 -:100770004FF000064FF000074FF000084FF0000B5D -:1007800021F00701AC46ACE8C009ACE8C009ACE810 -:10079000C009ACE8C0098D46704710B50446AFF3F8 -:1007A00000802046BDE81040FFF739BD0149182000 -:1007B000ABBEFEE726000200704710B503F00DFF48 -:1007C000002010BDFEE770472DE9F84F0026DFF846 -:1007D00048A2DFF848B20D460446B0F1904F10D061 -:1007E00054450ED05C450CD08D48844209D08D48CC -:1007F000844206D08C48844203D0AA218BA001F009 -:1008000034FD28680104090C01D0000C03D0AB2191 -:1008100086A001F02AFD68684FF00309002821D066 -:100820000128FCD01128FAD00228F8D01228F6D0DE -:10083000B0F5881FF3D0B0F5041FF0D0B0F5441F19 -:10084000EDD0B0F5901FEAD0B0F5081FE7D0B0F5B5 -:10085000481FE4D00328E2D00B28E0D0AC2173A0DD -:1008600001F003FDD1E0012000FA06F817EA0807BD -:100870007ED0287900F00300012801D002281DD184 -:10088000E86848B1012807D0022805D0032803D022 -:10089000BB2166A001F0E9FCA168700009FA00F232 -:1008A0009143EA6882400A43A2606068297920EA9D -:1008B0000800C1F30011B140014361602879C043D1 -:1008C000800712D0A86838B1012805D0022803D0CB -:1008D000DC2156A001F0C9FCE168700009FA00F2C1 -:1008E0009143AA6882400A43E260287900F003003D -:1008F000022827D1B4F1904F10D054450ED05C455A -:100900000CD04748844209D04648844206D0464825 -:10091000844203D0E82145A001F0A7FC28690F28F4 -:1009200003D9E92141A001F0A0FCF00804EB80010B -:100930000A6A7007C00E0F2383409A432B698340D5 -:1009400013430B622168700009FA00F291432A797F -:1009500002F0030282400A432260686810F4403FBC -:1009600052D04148016E41F001010166006E00E085 -:100970004AE000F0010000903C4826F003010A180C -:100980009368B007010F0F2088408343B4F1904F64 -:1009900003D0544503D1012010E000200EE05C4557 -:1009A00001D102200AE01E48844201D1032005E063 -:1009B0001C48844201D1042000E0072088401843ED -:1009C00090602B4908686A68B843D20200D5384362 -:1009D00008602749091D08686A68B843920200D573 -:1009E000384308602249091F08686A68B8439203BF -:1009F00000D5384308601E49083908686A68B8435A -:100A0000D20300D538430860761C2F6837FA06F009 -:100A10007FF429AF00F02EB8000400480008004819 -:100A2000000C004800100048001C00482E2E2F44E7 -:100A30007269766572732F53544D33324C34787823 -:100A40005F48414C5F4472697665722F5372632F21 -:100A500073746D33326C3478785F68616C5F677083 -:100A6000696F2E630000000000100240000001408A -:100A70000804014018BCBDE8E08F000070B50C0010 -:100A8000054604D14FF4E37105A001F0EEFB69695E -:100A900024EA0100214040EA0140A86170BD000045 -:100AA0002E2E2F447269766572732F53544D333254 -:100AB0004C3478785F48414C5F4472697665722F98 -:100AC0005372632F73746D33326C3478785F68615E -:100AD0006C5F6770696F2E630000000070B515468B -:100AE0000C00064604D14FF4D77107A001F0BDFBFE -:100AF00045B1012D04D040F2AF1103A001F0B5FBC8 -:100B0000B46170BDB46270BD2E2E2F4472697665DB -:100B100072732F53544D33324C3478785F48414CC4 -:100B20005F4472697665722F5372632F73746D33ED -:100B3000326C3478785F68616C5F6770696F2E63C0 -:100B40000000000001488068704700000400002099 -:100B500010B50024032000F091F8002000F008F800 -:100B600008B1012401E000F025F8204610BD000086 -:100B700070B50E4E05460024307898B14FF47A7166 -:100B8000B1FBF0F00A490968B1FBF0F000F02CFE6F -:100B900040B9102D06D200222946501E00F020F840 -:100BA000756000E00124204670BD000004000020B4 -:100BB00010000020094808B5016E41F001010166EE -:100BC000016E01F001010091816D41F0805181655C -:100BD000806D00F08050009008BD000000100240C1 -:100BE00070B514460D460646102A03D3BE2113A045 -:100BF00001F03BFB102D03D3BF2110A001F035FB0A -:100C00001D480068C0F30223C3F10700042800D97F -:100C10000420191D072901D2002300E0DB1E012258 -:100C200002FA00F1491E294099409A40521E224082 -:100C30003046BDE87040114301F000BA2E2E2F441B -:100C40007269766572732F53544D33324C34787811 -:100C50005F48414C5F4472697665722F5372632F0F -:100C600073746D33326C3478785F68616C5F636F76 -:100C7000727465782E6300000CED00E010B5044638 -:100C800007280BD0062C09D0052C07D0042C05D042 -:100C9000032C03D0A62108A001F0E7FA154A04F0BE -:100CA000070110684FF6FF03184040EA012012497F -:100CB0000843106010BD00002E2E2F447269766527 -:100CC00072732F53544D33324C3478785F48414C13 -:100CD0005F4472697665722F5372632F73746D333C -:100CE000326C3478785F68616C5F636F72746578BA -:100CF0002E6300000CED00E00000FA0510B51B4C5F -:100D0000B0F5007F13D0B0F5806F03D0A72118A0F5 -:100D100001F0ABFA2068C0F34120022805D020681A -:100D200020F4C06040F480602060002010BD206886 -:100D3000C0F341200128F8D0206820F4C06040F4BE -:100D40000070206019483221006848431849B0FB00 -:100D5000F1F0401C00E0401E6169490501D5002802 -:100D6000F9D160694005E0D5032010BD0070004056 -:100D70002E2E2F447269766572732F53544D333281 -:100D80004C3478785F48414C5F4472697665722FC5 -:100D90005372632F73746D33326C3478785F68618B -:100DA0006C5F7077725F65782E6300001000002022 -:100DB00040420F000248006800F4C0607047000025 -:100DC000007000402DE9F0470D46040077D0206800 -:100DD000401E0E2804D940F259417BA001F045FA8B -:100DE00065B1012D0AD0022D08D0032D06D0042DA7 -:100DF00004D040F25A4174A001F037FADFF80082C3 -:100E0000D8F8000000F00700A8420CD2D8F8001073 -:100E100021F007012943C8F80010D8F8000000F0BD -:100E20000700A8424BD12078764E800721D5A068D4 -:100E3000A0B1802812D0902810D0A0280ED0B028C1 -:100E40000CD0C0280AD0D02808D0E02806D0F0283E -:100E500004D040F272415CA001F007FAA068B168CA -:100E600001F0F001884204D9B16821F0F00101439A -:100E7000B1602078C0073BD0606838B301280ED03D -:100E8000022820D003281BD040F27D414EA001F063 -:100E9000ECF96068032813D0022814D0B0B1306890 -:100EA0004005002843DAB068616820F00300084379 -:100EB000B060FFF747FE074641F2883911E036E09F -:100EC00030688001EDE730688003EAE7306880072A -:100ED000E7E7FFF737FEC11B494502D90320BDE80C -:100EE000F087B068616800F00C00B0EB810FF0D1C2 -:100EF000207880070AD5A068B16801F0F001884227 -:100F000004D2B16821F0F0010143B160D8F80010BB -:100F1000404601F00701A9420BD9016821F0070101 -:100F200029430160006800F00700A84201D00120B9 -:100F3000D5E720784FF4806540074FF4A0674FF461 -:100F4000C0684FF4E06914D5E06860B1A8420AD0E7 -:100F5000B84208D0404506D0484504D040F2F5419B -:100F600019A001F082F9B068E16820F4E06008435C -:100F7000B0602078000715D5206960B1A8420AD07A -:100F8000B84208D0404506D0484504D040F2FC4164 -:100F90000DA001F06AF9B068216920F4605040EAC0 -:100FA000C100B06000F03CF8B168174AC1F303110A -:100FB000515C01F01F01C8401449086014480068E2 -:100FC000BDE8F047FFF7D4BD2E2E2F447269766539 -:100FD00072732F53544D33324C3478785F48414C00 -:100FE0005F4472697665722F5372632F73746D3329 -:100FF000326C3478785F68616C5F7263632E630073 -:101000000020024000100240144700081000002099 -:101010000800002001480068704700001000002010 -:1010200070B5254B002210469968DC6811F00C0160 -:1010300004F00306214C224D08D00C2904D00429C9 -:1010400031D0082931D010E0012E10D11A681207D2 -:1010500004D4D3F89420C2F3032202E01A68C2F346 -:101060000312184E56F82220D9B10C2918D1D8688D -:1010700000F0030002281AD003281AD01046D968BD -:10108000DA68C1F30211C2F306224243491CB2FBE3 -:10109000F1F0D968C1F34161491C4900B0FBF1F09E -:1010A00070BD104670BD204670BD284670BD2046FC -:1010B000E5E72846E3E70000001002400024F400C2 -:1010C000001BB700244700082DE9F84304007CD03A -:1010D000206830B1800904D04FF4D171F1A001F043 -:1010E000C4F8FE4EB06800F00C05F06800F003078D -:1010F0002078C0066AD5A06930B1012804D040F23A -:10110000AB11E8A001F0B1F8E069FF2804D94FF471 -:10111000D671E4A001F0A9F8206AD0B1102818D047 -:10112000202816D0302814D0402812D0502810D0B3 -:1011300060280ED070280CD080280AD0902808D0C3 -:10114000A02806D0B02804D040F2AD11D5A001F0FF -:101150008CF875B10C2D01D1012F0AD0A06900289F -:1011600030687AD040F001003060FFF7EBFC804639 -:101170005DE03068800702D5A0690028A7D0216A09 -:101180003068000703D5306800F0F00004E0D6F8BE -:101190009400F02202EA1010814218D9084600F0AB -:1011A00097FB002811D1306840F0080030603068AB -:1011B000216A20F0F000084330607068E16920F493 -:1011C0007F4040EA0120706018E0EDE055E03068B3 -:1011D00040F0080030603068216A20F0F0000843D9 -:1011E00030607068E16920F47F4040EA012070605F -:1011F00025B9206A00F06CFB0028D3D1FFF710FF5F -:10120000B168B74AC1F30311515C01F01F01C84036 -:10121000B4490860B4480068FFF7AAFC002870D100 -:101220002BE0FFF78FFCA0EB080002286AD830689B -:101230008007F6D5306840F0080030603068216AD9 -:1012400020F0F000084330607068E16920F47F40CE -:1012500040EA0120706010E0FFE720F001003060FC -:10126000FFF770FC804605E0FFF76CFCA0EB080080 -:101270000228DBD830688007F6D42078C0074FD02A -:1012800060684FF480384FF4A02940B1404506D043 -:10129000484504D040F2192182A000F0E6FF082D55 -:1012A0000AD00C2D01D1032F06D0606840450AD129 -:1012B000306840F4803013E03068800330D56068D7 -:1012C000002871D02CE04845306803D140F48020DC -:1012D0003060EDE720F480303060306820F480200A -:1012E0003060606878B1FFF72DFC804605E0FFF7BD -:1012F00029FCA0EB0800642898D830688003F6D554 -:101300000EE05EE25CE2FFF71DFC804605E0FFF7C1 -:1013100019FCA0EB0800642888D830688003F6D454 -:101320002078800749D5E06838B1B0F5807F04D0D7 -:101330004FF413715BA000F098FF20691F2804D9B7 -:1013400040F24D2157A000F090FF042D0ED00C2D3F -:1013500001D1022F0AD0E068002830681DD040F487 -:1013600080703060FFF7EEFB07460BE03068400509 -:101370000BD5E0680028A4D007E0FFF7E3FBC01B13 -:101380000228B9D830684005F7D57068217C20F074 -:10139000F85040EA016070600FE020F48070306027 -:1013A000FFF7D0FB074605E091E1FFF7CBFBC01B41 -:1013B0000228A1D830684005F7D42078000731D53D -:1013C0006069E0B1012806D040F28D2135A000F01F -:1013D0004CFF606998B1D6F8940040F00100C6F85F -:1013E0009400FFF7AFFB074604E0FFF7ABFBC01B21 -:1013F000022891D8D6F894008007F6D512E0D6F8E6 -:10140000940020F00100C6F89400FFF79BFB07460C -:1014100004E0FFF797FBC01B0228B2D8D6F894006F -:101420008007F6D4207840073BD5A0684FF000082D -:1014300040B1012806D0052804D04FF4387119A016 -:1014400000F013FFB06DC00009D4B06D40F08050C3 -:10145000B065B06D4FF0010800F080500090234857 -:101460000168C90511D40168814641F480710160A9 -:10147000FFF768FB074604E0FFF764FBC01B022888 -:1014800097D8D9F80000C005F6D5A06801283DD04E -:101490000528D6F890003ED020F00100C6F8900054 -:1014A00026E05BE02E2E2F447269766572732F530F -:1014B000544D33324C3478785F48414C5F44726904 -:1014C0007665722F5372632F73746D33326C347878 -:1014D000785F68616C5F7263632E63000010024086 -:1014E0001447000810000020080000200070004091 -:1014F000D6F8900020F00400C6F89000A06841F2F1 -:101500008839B8B1FFF71EFB07460EE0D6F8900009 -:1015100040F00100F0E740F00400C6F89000F5E765 -:10152000FFF710FBC11B4945AAD8D6F890008007E9 -:10153000F6D50CE0FFF706FB074604E0FFF702FBD9 -:10154000C11B49459CD8D6F890008007F6D4B8F165 -:10155000000F03D0B06D20F08050B0652078800679 -:1015600032D5606AE8B1012807D040F24531AFF2C8 -:10157000CC0000F07AFE606A98B1D6F8980040F08E -:101580000100C6F89800FFF7DDFA074604E0FFF710 -:10159000D9FAC01B0228C7D8D6F898008007F6D51C -:1015A00012E0D6F8980020F00100C6F89800FFF786 -:1015B000C9FA074604E0FFF7C5FAC01B0228B3D8F2 -:1015C000D6F898008007F6D4A06A00287ED00128BB -:1015D0000CD0022814D040F26E31AFF2381000F077 -:1015E00044FEA06A0028F1D0022809D00C2D6ED04C -:1015F000306820F080703060FFF7A4FA0446E2E023 -:10160000E06A58B1012809D0022807D0032805D084 -:1016100040F27631AFF2741000F027FE206B401ECE -:10162000072805D940F27731AFF2881000F01DFE8F -:10163000606B08384E2805D94FF45E71AFF29C10EC -:1016400000F013FEA06B801E1D2805D940F27A31F0 -:10165000AFF2B01000F009FEE06B02280BD00428B6 -:1016600009D0062807D0082805D04FF45F71AFF2E3 -:10167000CC1000F0FAFD206C02280BD0042809D011 -:10168000062807D0082805D040F27D31AFF2EC10D3 -:1016900000F0EBFDF068E26A00F00301914229D10D -:1016A000216B00F0700209011039914222D1626B66 -:1016B00000F4FE41B1EB022F1CD194F8382000F069 -:1016C0007841B1EBC26F15D1A18F01E072E083E0E8 -:1016D0004908490500F4C002A1F50011914209D161 -:1016E00094F8401000F0C06049084906A1F100716B -:1016F000814248D00C2D70D0306840016DD43068E4 -:1017000020F080703060FFF71DFA054604E0FFF717 -:1017100019FA401B022853D830688001F7D4F4E945 -:101720000B016FF00F0202EB01110843218A5204F2 -:10173000490802EB4151A26841EA02210843217D98 -:101740004FF07E42490802EB41610843217B40EAA9 -:10175000C160F168224A11400843F060306840F0EF -:1017600080703060F06840F08070F060FFF7EAF958 -:10177000044604E0FFF7E6F9001B022820D8306891 -:101780008001F7D526E03068800123D4306840F02E -:1017900080703060F06840F08070F060FFF7D2F940 -:1017A000044604E0FFF7CEF9001B022808D8306891 -:1017B0008001F7D50EE0FFF7C5F9001B022802D91A -:1017C0000320BDE8F88330688001F4D4F06805494F -:1017D0000840F0600020F4E7FFE70120F1E7000097 -:1017E0008C809D01FCFFEEFE10B5401EB0F1807FA5 -:1017F00001D3012010BD4FF0E02460610F2160177C -:1018000000F01CFC0020A06107202061002010BD1A -:10181000024608A1002000F02DF90F4D4FF480542E -:101820004FF47A7621462846FFF728F9304602F031 -:10183000CAFBF7E7546872656164312073746172A2 -:10184000746564207769746820706172616D657475 -:1018500065723A2025730A000004004830B587B04D -:1018600014216846FEF7D9FE1648C16C41F080018C -:10187000C164C16C01F080010591C16C41F00201AD -:10188000C164C16C01F002010591C16C41F001011C -:10189000C164C06C0C4D00F001004FF48054059001 -:1018A000002221462846FFF719F901210020009463 -:1018B000CDE90110039169462846FEF785FF07B080 -:1018C00030BD00000010024000040048FEE7FEE7C3 -:1018D000F8B51C4E05460024B06DC00002D5FFF7D8 -:1018E00069FA0DE0B06D40F08050B065B06D00F069 -:1018F00080500090FFF75EFAB16D21F08051B16524 -:10190000B0F5007F04D0802D07D94FF003040AE022 -:10191000802D08D9A02D01D804E001D1022402E0D5 -:10192000702D00D101240848016821F007012143EE -:101930000160006800F00700A04201D00120F8BD5E -:101940000020F8BD001002400020024010B5EFF367 -:101950001184202383F3118800F004F8E1B281F3AD -:10196000118810BD2DE9F0470F461C490446164664 -:10197000087808B900F0E8F9184904EB440001EBD5 -:10198000C005B846D5E91B94002760354C4511D9F0 -:10199000A868071BB74200D3374668683A46011962 -:1019A0004046FEF7A1FDA868F61B3C44B844A0429F -:1019B00000D10024A9EB0400B04200D206463EB19B -:1019C0006868324601194046FEF78EFD37443444BC -:1019D00007B12C613846BDE8F0870000D400002034 -:1019E0002DE9F04107460B4815460E46007808B928 -:1019F00000F0AAF9EFF31184202080F311882A4621 -:101A00003146384600F008F8E1B281F31188BDE8AC -:101A1000F0810000D400002070B50E46144900EBA0 -:101A2000400001EBC0051446E86A183520B10128D2 -:101A30000FD0022805D113E0284600F0B9F9A042E2 -:101A400001D2002411E022463146284600F0D5FAA2 -:101A50000BE0284600F0ACF9A042F4D20446F2E7CD -:101A60003146284600F09CFA0446204670BD00002E -:101A7000D40000200FB408B504A900916A46039968 -:101A800000F003F801B05DF814FB2DE9F04198B0C7 -:101A9000804607A8029040200026CDE90306CDE944 -:101AA000056815460C4614F8011B00296FD025293E -:101AB00008D002A800F055FA05980028F3DA18B00B -:101AC000BDE8F08100200122217823291ED02B2996 -:101AD00019D02D2902D0302908D102E040F00100B0 -:101AE00001E040F00200641C002AEDD100222178C0 -:101AF000A1F130030A2B0CD202EB820201EB42026D -:101B0000303A641CF3E740F00400ECE740F00800D2 -:101B1000E9E70023CFB22E2F0BD114F8011FA1F15A -:101B200030070A2F05D203EB830301EB4303303B5D -:101B3000F3E76C290DD068290BD070294AD00BDC53 -:101B4000252914D058292BD063290CD0642911D110 -:101B500012E014F8011FECE773292CD0752917D077 -:101B6000782907D11CE02868011D2960017802A8A6 -:101B700000F0F7F9641C9FE729680F1D2F600968C2 -:101B8000CDE900200A2202A800F01DF9F2E72BE0BF -:101B900029680F1D2F600968CDE900200A2206E0A0 -:101BA00029680F1D2F600968CDE90020102202A8C6 -:101BB00000F06EF9DEE72868011D2960076817F854 -:101BC000011B0029D6D002A800F0CBF90598002807 -:101BD000F5DACFE72868011D296001680820CDE902 -:101BE000000603461022E2E7059800287FF767AF5A -:101BF000049820B1024607A94046FFF7F1FEDDE94F -:101C00000410084405905AE710B501F03BFD02F0BE -:101C10007DFABDE8104001F043BD10B596B04421F7 -:101C20006846FEF7FAFC142111A8FEF7F6FC4FF403 -:101C30000070FFF763F808B172B6FEE701200324D5 -:101C400000900004019002202821CDE90A04CDE98A -:101C50000C410721CDE90E1010906846FFF734FAC9 -:101C600008B172B6FEE70F20CDE9110400201390F1 -:101C700014901590042111A8FFF7A4F8002801D0B2 -:101C800072B6FEE716B010BD70B5254C206800078F -:101C900004D4D4F89400C0F3032002E02068C0F319 -:101CA0000310204951F82010A0681F4A10F00C00C2 -:101CB00007D01E4D042806D01D4E082805D00C283C -:101CC00005D011601CE015601AE0166018E0E068AD -:101CD00000F00303E068C0F30210401C022B19D08F -:101CE000032B1AD0B1FBF0F0E168C1F306214143A8 -:101CF000E068C0F34160401C4000B1FBF0F01060B0 -:101D0000A0680849C0F303101039085C1168C1408D -:101D1000116070BDB5FBF0F0E6E7B6FBF0F0E3E76D -:101D20000010024024470008100000200024F400A6 -:101D3000001BB7000248016841F470010160704760 -:101D400088ED00E0FEE7000010B5124C0320206192 -:101D5000606111A0A06104F1A800E0614FF480600F -:101D600020620021A1626162E1620BA0206604F59D -:101D7000956060661020A0662167E166616709A131 -:101D8000E01DFEF717FB08A12046FEF713FB2020FD -:101D9000A07110BDD40000205465726D696E616C35 -:101DA000000000005254540053454747455200007C -:101DB0000269C1688A4203D88068401A104400E072 -:101DC000501A401E70472DE9FC5F0E008046DDE989 -:101DD0000C47C6F1000099469246834600D4084657 -:101DE000012502E090FBFAF06D1C5045FADAA94596 -:101DF00000D94D4624B1002E01DB780700D5641EC2 -:101E0000B80702D5B9F1000F0FD0F8070DD164B1B2 -:101E1000A5420AD220214046641E00F0A2F8D8F85C -:101E20000C000028F3DA00F030B8D8F80C000028D5 -:101E3000F9DB002E02DA5E462D2102E0780707D595 -:101E40002B21404600F08DF8D8F80C000028EADB82 -:101E500007F0030002280FD1B9F1000F0CD15CB1DB -:101E6000A54209D230214046641E00F07AF8D8F825 -:101E70000C000028F3DAD6E7CDE900474B4652467E -:101E80003146404600F004F8CDE73CBCBDE8C09FB9 -:101E90002DE9F84F8246DDE90A4B012599461746A0 -:101EA000884608462E4602E0B0FBF7F0761CB842A2 -:101EB000FAD2B14500D94E465FEACB7017D1B4B122 -:101EC0005FEA8B7002D5B9F1000F02D0202000909C -:101ED0000BE03020FBE75046641E009900F041F80B -:101EE000DAF80C00002835DB0CB1A642F3D3DAF89F -:101EF0000C0000282EDBB9F1010F02D9A9F101096C -:101F000003E0B8FBF5F0B84201D37D43F3E7DFF817 -:101F10004890B8FBF5F000FB158819F80010504602 -:101F200000F01FF8DAF80C00002803DBB5FBF7F52A -:101F3000002DEED15FEACB700CD0002C0AD0A64267 -:101F400008D220215046641E00F00BF8DAF80C008D -:101F50000028F2DA00F002B85447000818BCBDE8C7 -:101F6000E08F10B50446D4E90130421C934205D3FA -:101F700023681954A260E068401CE060D4E90102C3 -:101F8000824209D121682069FFF72AFDA1688842B1 -:101F900003D04FF0FF30E06010BD0020A06010BD06 -:101FA0002DE9F047C4681746894605464FF00008FA -:101FB0002869A04201D9061B02E0A968201A0E1A5E -:101FC000A868761E001BB04200D80646BE4200D369 -:101FD0003E466868324620444946FEF785FAA868BE -:101FE000BF1B3444B044B144A04200D10024EC6093 -:101FF000002FDDD14046BDE8F0872DE9F0410446D1 -:102000008846D4E90207C51BE168606816460844A3 -:10201000B54206D94146FEF767FAB819E060BDE857 -:10202000F0812A464146FEF75FFA761B08EB050170 -:1020300032466068FEF758FAE660F0E70907090ED5 -:10204000002804DB00F1E02080F80014704700F065 -:102050000F0000F1E02080F8141D7047002807D021 -:102060000E4910F0FF0F04D051FA80F00078401CA8 -:10207000704710F47F4F04D0C0F30720085C09308C -:10208000704710F47F0F04D0C0F30740085C113094 -:10209000704701EB10600078193070476447000802 -:1020A0002DE9F04F89B0934688460746002500E0A9 -:1020B0006D1C785D202803D0092801D04545F7D351 -:1020C0004FF0FF3A4DB316480026DFF858900468E9 -:1020D00009E02A4639462068FEF7AFF910B92068B2 -:1020E000405DC0B10C34D9F800008442F1D3A6B1F0 -:1020F00020220021684601F07DFB6A4641463846B1 -:1021000000F08EFF48B16946B047CBF800000020D0 -:1021100009B000F009B8A668E9E75046F8E7000002 -:10212000140000201800002030BCBDE8C08F000063 -:1021300010B5044605488068FFF790FF0449401E2B -:1021400051F830102060A1F1140010BDBC00002037 -:102150000808002070B50C480468FEF787F80546AB -:10216000204601F08DFC04F1440002F063F80420E5 -:1021700084F83400204601F0B3FE2846FEF77AF8D2 -:10218000BDE8704001F0E4BBC00000202DE9FC4137 -:1021900019460446DDE90837DDE90A651430406078 -:1021A0000060C4E90821C4E90A373A4623211846E9 -:1021B00001F020FBD4E90A014218D4E908010E4BD2 -:1021C000121F01F041FAE06184F835600020C4E993 -:1021D0000E052564206384F8340020676067009052 -:1021E00023460190054A194604F1440002F036F8EE -:1021F0000020BDE8FC8100005521000801220008F4 -:1022000070B50446FEF732F805466FF00100206312 -:1022100004F1140001F08FFA204601F0F7FB284684 -:10222000FEF728F8BDE8704001F092BB10B5029CA3 -:1022300024F001044472C0E907120021C0E9093109 -:1022400000EBC1021432491C526012600129F7DB15 -:1022500010BD70B50546002405EBC400143001F034 -:1022600073FA641C012CF7DB70BD704710B51BA01E -:1022700001F024FA1C4C21781CA001F01FFA2078F0 -:10228000C00702D01FA001F019FA2078800702D5FC -:102290001FA001F013FA2078400702D51FA001F01B -:1022A0000DFA2078000702D520A001F007FA207867 -:1022B000C00602D520A001F001FA2078000607D55B -:1022C00009480F300168BDE810401DA001F0F6B9C3 -:1022D000BDE810401EA001F0F1B900006275732046 -:1022E0006661756C743A0A0029ED00E05343425F61 -:1022F000434653525F424653523A30782530325863 -:102300002000000049425553455252200000000071 -:10231000505245434953455252200000494D5052B6 -:10232000454349534552522000000000554E535436 -:102330004B4552522000000053544B45525220004E -:102340005343422D3E424641523A253038580A0006 -:102350000A00000010B502A001F0B0F9002010BD85 -:102360001B5B324A1B5B480010B50C46022811D19A -:1023700015A16068FEF7A4F900281BD014A16068BD -:10238000FEF79EF9002818D013A16068FEF798F9AF -:10239000002815D011A001F091F916A001F08EF9D6 -:1023A00017A001F08BF91DA001F088F922A001F01F -:1023B00085F907E000F032FB04E000F00DFC01E0DD -:1023C00000F08AFA002010BD746872656164000034 -:1023D00074696D657200000073656D005573616707 -:1023E000653A206C697374205B6F7074696F6E73EB -:1023F0005D0A00005B6F7074696F6E735D3A0A006E -:1024000020202020746872656164202D206C69731F -:102410007420746872656164730A000020202020B3 -:1024200074696D6572202D206C6973742074696DF8 -:102430006572730A000000002020202073656D2063 -:102440002D206C6973742073656D6170686F72659F -:10245000730A00000D4810B5C16891F82110890772 -:1024600003D40B49002008700EE0816821B180225E -:102470000748FEF7F9F803E006A10548FDF79AFFC3 -:1024800006A10348FEF724F8014810BD14000020FF -:102490008C0500206D736820000000003E000000E5 -:1024A0000349C96811F8212F60F341020A7070478F -:1024B00014000020014AC2E9000170471400002006 -:1024C0007CB516491648FFF7F5FF7821012000F08A -:1024D000FBFE144DE860D0B10A211520CDE90001C2 -:1024E0004FF480630022104910A001F0BCFC0446A8 -:1024F00000231A460FA1E86801F0E8FA0120FFF76F -:10250000CFFF14B1204601F0ABFD00207CBD0BA035 -:1025100001F0D4F84FF0FF307CBD0000844A000881 -:10252000244A0008140000205525000874736865CB -:102530006C6C000073687278000000006E6F206D94 -:10254000656D6F727920666F72207368656C6C0AB6 -:1025500000000000944EF06810F8211F41F00101C6 -:102560000170FFF777FF01F0A9F8002500F031FFB7 -:102570000400FBD41B2C07D0F06890F82010012930 -:1025800007D002290ED017E0F168012081F8200061 -:10259000ECE75B2C02D080F820500DE0022180F89F -:1025A0002010E3E780F82050412CDFD0422CDDD012 -:1025B000442C38D0432C42D0002CD7D0FF2CD5D07F -:1025C000092C4DD07F2C70D0082C6ED00D2C6BD0E8 -:1025D0000A2C69D0B0F87410502901D3A0F87450B7 -:1025E000B0F87630B0F874108B427DD2CA1A00F180 -:1025F000220123301944184401F0E5F8F068B0F8DE -:10260000761022300C54F06890F82110C90706D0DB -:10261000B0F876102230014464A001F04FF8F06861 -:10262000B0F876409CE0B0F8760000289ED060A01C -:1026300001F044F8F06830F8761F491E0EE0B0F85B -:102640007610B0F87420914290D22230095C59A0E3 -:1026500001F034F8F06830F8761F491C018085E7F6 -:10266000002403E052A001F029F8641CF068B0F8DF -:102670007600A042F6DCF4684FA0223401F01EF888 -:10268000204600F01FFCFFF7E5FE014622464BA066 -:1026900001F014F8F0682230FDF7B0FEF16821F87F -:1026A000740F488062E700E03DE0B0F87620002A31 -:1026B000D5D0B0F87410521E491E89B293B2A0F85A -:1026C0007410A0F87630994224D9CA1A00F1230177 -:1026D00022301944184401F076F8F068B0F874100C -:1026E00022300D54F06800E040E0B0F8761022305F -:1026F000014434A000F0E2FFF068B0F8764003E057 -:102700002BA000F0DBFF641CF068B0F87400A0425E -:10271000A5DBF5E72DA000F0D1FFF068B0F874104C -:1027200022300D5422E790F82100C00702D022A0E9 -:1027300000F0C4FFF068B0F87410223000F00EFC16 -:10274000FFF788FE00F0BAFFF06851220021223026 -:1027500001F050F8F06822E015A000F0AFFF641C13 -:10276000F068B0F87400A042F6DC0AE022300C54A5 -:10277000F06890F82100C00703D021460DA000F0BA -:102780009DFFF068B0F87410491C89B2A0F874106D -:10279000B0F87620521CA0F876205029C2D320F839 -:1027A000745F4580E2E600001400002025730000FD -:1027B00008000000256300000A000000257325734F -:1027C00000000000082573202008000008200800F1 -:1027D00010B5124C2068800702D511A000F06EFFE2 -:1027E0002068400011D50D48C01E007808B1FFF7E1 -:1027F0003DFD0A48001F007808B100F0F7FA0748CD -:10280000801E008808B101F013FF2068002804DA58 -:10281000BDE8104008A000F051BF10BD2CED00E055 -:102820006661696C656420766563746F72206665A5 -:102830007463680A0000000064656275672065764D -:10284000656E740A000000002DE9F04104461E4642 -:1028500017460D46084601F039F8001D2060257224 -:1028600000206760C4E90360BDE8F0812DE9F04114 -:1028700000260D460E61C96849B1297A39B12F6821 -:1028800040B10446FDF7F2FC014636B111E00020EC -:10289000BDE8F0813C460126F4E7A4F10C002A7A59 -:1028A000007A20F08000904203D00846FDF7E2FC59 -:1028B000EDE7686800262468BC4201D1002404E0EA -:1028C00010C0EA68761CB242F5D10846FDF7D2FC8A -:1028D00020462E61DCE700002DE9F04190B0002792 -:1028E00033A4082302AA02210AA8FFF7ADFF08209B -:1028F00080460146224631A000F0E0FE404600F04E -:10290000F7FB35A000F0DAFE0AA93846FFF7AEFF64 -:102910000746002643E002A850F826400C3CFDF78D -:10292000A5FC217A9DF8302021F08001914202D04F -:10293000FDF7A0FC32E0FDF79DFC606904F1140591 -:10294000A84228460BD100F0E4FEA18BCDE900108F -:1029500023460822414626A000F0B0FE1EE000F00B -:10296000D8FEA18BCDE9001023460822414624A0C1 -:1029700000F0A4FE2C680CE0A4F11402082124A0AD -:1029800000F09CFE2068A84202D023A000F096FE32 -:102990002468AC42F0D10FA000F090FE761C0E9897 -:1029A000B042B8DC002FAFD110B00020BDE8F081FC -:1029B00073656D6170686F7265000000252D2A2EA9 -:1029C00073207620202073757370656E64207468A0 -:1029D000726561640A000000202D2D2D202D2D2D03 -:1029E0002D2D2D2D2D2D2D2D2D2D2D0A00000000EE -:1029F000252D2A2E2A7320253033642025640A00D1 -:102A0000252D2A2E2A7320253033642025643A0090 -:102A1000252E2A73000000002F0000002DE9F04150 -:102A2000AEB000263DA4082320AA012128A8FFF764 -:102A30000BFF08208046014622463A4800F03EFE41 -:102A4000404600F055FB38A000F038FE28A930467B -:102A5000FFF70CFF0646002557E020A850F8254058 -:102A60000C3CFDF703FC0746207A9DF8A81020F0E7 -:102A70008000884203D03846FDF7FCFB44E0782212 -:102A8000214602A800F07AFE3846FDF7F3FB94F8E1 -:102A90003500009023460822414633A000F00EFE88 -:102AA00094F8340000F00701012907D0022907D06B -:102AB00041B1042908D0032908D00AE02DA006E07E -:102AC0002FA004E031A002E033A000E035A000F028 -:102AD000F5FDA76A00E07F1C38782328FBD0206B27 -:102AE00001F04CF90146D4E90A023B1AD31A6427D3 -:102AF0007B43276CCDE90071B3FBF2F3E169401A27 -:102B000081182BA000F0DAFD6D1C2C98A842A4DCE3 -:102B1000002E9BD12EB00020BDE8F0817468726554 -:102B20006164000088480008202D2D2D20202D2DC7 -:102B30002D2D2D2D2D202D2D2D2D2D2D2D2D2D2DD2 -:102B4000202D2D2D2D2D2D2D2D2D2D20202D2D2DDC -:102B50002D2D2D20202D2D2D2D2D2D2D2D2D2D20CC -:102B60002D2D2D0A00000000252D2A2E2A73202548 -:102B70003364200020726561647920200000000029 -:102B80002073757370656E640000000020696E69C3 -:102B9000742020200000000020636C6F73652020EB -:102BA000000000002072756E6E696E670000000004 -:102BB000203078253038782030782530387820203B -:102BC00020202530326425252020203078253038FB -:102BD000782025730A000000F0B58FB000262AA4E3 -:102BE000082302AA0A210AA8FFF72EFE0827224678 -:102BF000394627A000F062FD384600F079FA31A08E -:102C000000F05CFD0AA93046FFF730FE06460025BD -:102C10002CE002A850F825400C3CFDF727FB217A58 -:102C20009DF8302021F08001914202D0FDF722FB77 -:102C30001BE0FDF71FFBD4E90901CDE900012346A4 -:102C4000082239462BA000F039FD607AC00701D078 -:102C50002EA000E031A000F031FD607A800701D5A0 -:102C600032A000E034A000F029FD6D1C0E98A842AF -:102C7000CFDC002EC6D101F043FA014631A000F0AE -:102C80001DFD0FB00020F0BD74696D65720000007D -:102C9000252D2A2E732020706572696F6469632068 -:102CA000202074696D656F75742020202061637425 -:102CB00069766174656420202020206D6F64650A48 -:102CC00000000000202D2D2D2D2D2D2D2D2D2D2002 -:102CD0002D2D2D2D2D2D2D2D2D2D202D2D2D2D2D31 -:102CE0002D2D2D2D2D2D202D2D2D2D2D2D2D2D2D21 -:102CF0000A000000252D2A2E2A732030782530382E -:102D000078203078253038782000000061637469BD -:102D100076617465642020200000000064656163B2 -:102D200074697661746564200000000070657269E2 -:102D30006F6469630A0000006F6E652073686F74CA -:102D40000A00000063757272656E74207469636BAB -:102D50003A3078253038780A000000001CB5FDF7BD -:102D6000F7FEFEF75AFFFEF779FD0A211420CDE9A0 -:102D700000014FF4806309A20B490CA001F073F825 -:102D80000D49086010B101F06BF902E00BA000F0F2 -:102D900095FC052001F017F9FBE7000048656C6C15 -:102DA0006F2D525400000000111800084C45445F7C -:102DB0007461736B00000000000000204C45445F0C -:102DC000746872656164206372656174696F6E20F6 -:102DD0006661696C6564210A0000000010B500F0AE -:102DE0008FFABDE81040FFF7B9BF000010B518A07A -:102DF00000F064FC1B4C21781BA000F05FFC2078E5 -:102E0000C00702D01EA000F059FC2078800702D530 -:102E10001EA000F053FC2078000702D51EA000F091 -:102E20004DFC2078C00602D51EA000F047FC20789B -:102E3000000607D50B480C300168BDE810401CA007 -:102E400000F03CBCBDE810401D4800F037BC00005D -:102E50006D656D206D616E616765206661756C746E -:102E60003A0A000028ED00E05343425F43465352C4 -:102E70005F4D4653523A30782530325820000000DA -:102E80004941434356494F4C2000000044414343CD -:102E900056494F4C200000004D554E53544B45525F -:102EA000522000004D53544B455252200000000068 -:102EB0005343422D3E4D4D41523A253038580A0079 -:102EC000A04600082DE9F0478146002500782E46EF -:102ED00020B11F48DFF87C80046829E0BDE8F04796 -:102EE0000021084600F06CB848462768FDF786FACE -:102EF000024639464846FDF7A0FAC0B925B93E4614 -:102F00003846FDF77BFA05463946304601E0401C5D -:102F1000491C03781BB10A780AB19342F7D0801B91 -:102F2000A84200DA054639460BA000F0C7FB0C3476 -:102F3000D8F800008442D7D3002E06D02A46314666 -:102F40004846BDE8F04700F02FBFBDE8F08700001D -:102F5000140000201800002025730A0038B505462B -:102F600001E0491E6D1C59B128782028F9D00928A4 -:102F7000F7D06A462846FFF793F818B12C4604E0CC -:102F8000002038BD009838BD641C2078202801D06E -:102F90000028F9D100202070294603A000F08EFB04 -:102FA0004FF0FF3038BD000025733A20636F6D6D20 -:102FB000616E64206E6F7420666F756E642E0A00F9 -:102FC00070B50AA000F07AFB0F48104D046805E0C8 -:102FD000D4E900120EA000F071FB0C342868844282 -:102FE000F6D30EA000F06AFB002070BD52542D54A1 -:102FF0006872656164207368656C6C20636F6D6DC9 -:10300000616E64733A0A000014000020180000206A -:10301000252D313673202D2025730A000A0000006B -:1030200070B5002315461C461E464AE000F8016BA9 -:103030005B1C0278202A01D0092A01D18B42F5D3EA -:10304000082C10D321A000F039FB002605E055F82C -:10305000261026A000F032FB761CA642F7D322A051 -:1030600000F02CFB2FE08B422DD2D2B2222A03D0CB -:1030700045F82400641C1BE0401C45F824005B1C40 -:10308000641C08E05C2A04D14278222A01D1401C49 -:103090005B1C401C5B1C0278222A01D08B42F1D3BE -:1030A0008B4210D200F8016B5B1C0AE0401C5B1CD9 -:1030B0000278202A03D0092A01D08B42F6D38B4212 -:1030C00001D28B42B5D3204670BD0000546F6F20F3 -:1030D0006D616E7920617267732021205765206FC2 -:1030E0006E6C79205573653A0A0000002573200044 -:1030F00010B5044602E003A000F0E0FA641EFAD224 -:1031000010BD00002D00000030B5826A4B6800241D -:103110001A44914211D01378DB070ED1C36A93424F -:103120000BD0036B934200D10163146053684B6072 -:10313000836A5268CD1A1A449560826A8B681A4471 -:103140008A420ED01378DB070BD1036B8B4200D180 -:1031500002630C604B685360806A4968121A084425 -:10316000826030BD2DE9FF4F9B46DDE90DE50F9CE8 -:10317000A846630601D5454B01E0444B113B9946F7 -:10318000E30601D524F00104E30701D0302300E079 -:1031900020239A460026A3070BD5002A02DA2D2603 -:1031A000524206E0630701D52B2602E0230700D533 -:1031B0002026002322B930228DF8002001230CE0C4 -:1031C000BBF10A0F14D002F00F0C120919F80CC051 -:1031D0000DF803C05B1C002AF2D1AB4200DD1D4696 -:1031E000AEEB050214F0110F4FF0200C08D015E0E3 -:1031F0000A27B2FBF7FC07FB1C2CB2FBF7F2E5E752 -:1032000046B1002A06DD521E04E0884201D280F851 -:1032100000C0401C171EA2F10102F6DC26B1884254 -:1032200000D20670401C521EE40605D508E0884214 -:1032300001D280F800A0401C141EA2F10102F6DCAD -:1032400030242E466D1E9E420ADD884200D2047054 -:10325000401CF6E7884201D2E55C0570401C00E0A6 -:103260006C461D1EA3F1010308DDB8F1000FF1D17A -:1032700004E0884201D280F800C0401C131EA2F175 -:103280000102F6DC04B000F003B800007548000845 -:1032900030BCBDE8C08F00F0C5B800001CB51421DB -:1032A0000A20CDE900014FF480630022034904A005 -:1032B00000F0D9FDBDE81C4000F0D2BEDD2D0008B5 -:1032C0006D61696E0000000070B54843044600F06F -:1032D00045FA050003D02246002100F08BFA28466B -:1032E00070BD000070B5044C044D02E020688047BA -:1032F000241DAC42FAD370BD104A0008184A0008D9 -:1033000070B5044C044D02E020688047241DAC4297 -:10331000FAD370BD184A0008204A000810B5FCF71F -:10332000A5FF044A5188491C5180BDE81040FCF7B4 -:10333000A1BF0000BC00002010B5FCF797FF0B4CAC -:103340006188491E09B2618000290ADC0021618080 -:10335000FCF790FF6068002807D0BDE8104000F03F -:10336000F7BABDE81040FCF785BF10BDBC000020D7 -:1033700010B5040008D0FFF7D1FF204600F074FC20 -:10338000BDE81040FFF7D8BF10BD000000487047EF -:1033900008090020004870470845002010B5FDF7D7 -:1033A000D7FBFEF73AFCFEF76FFCFDF733FE4FF458 -:1033B0007A71B0FBF1F0FEF717FAFFF793FFFFF712 -:1033C000E9FF0446FFF7E2FF2146BDE8104000F0A8 -:1033D000FFBC08B54FF0FF30009001226946002085 -:1033E000FEF7B4FA0098C0B208BDF8B505460D2046 -:1033F0008DF800000024284600F0CEFC06460DE0C3 -:10340000285D0A2804D1012269460020FEF7E8FA67 -:10341000291901220020FEF7E3FA641CB442EFD31D -:10342000F8BD000002490148086070470400FA0531 -:103430000CED00E070B530490546283009682C1DB8 -:1034400011B18847002855D02CA0216C00F036F926 -:103450002EA0616A00F032F930A0A16A00F02EF9C6 -:1034600032A0E16A00F02AF934A0216B00F026F9BD -:1034700036A0616800F022F938A0A16800F01EF9BA -:103480003AA0E16800F01AF93CA0216900F016F9B1 -:103490003EA0616900F012F940A0A16900F00EF9A8 -:1034A00042A0E16900F00AF944A0216A00F006F99F -:1034B00046A0616B00F002F948A0A16B00F0FEF895 -:1034C0004AA0E16B00F0FAF82878400706D500F032 -:1034D0009FFD014649A000F0F1F802E04FA000F086 -:1034E000EDF82878C00602D453A000F0E7F8FFF703 -:1034F0006FF9FEE770BD0000240000207073723A7F -:10350000203078253038780A000000007230303AD8 -:10351000203078253038780A000000007230313AC7 -:10352000203078253038780A000000007230323AB6 -:10353000203078253038780A000000007230333AA5 -:10354000203078253038780A000000007230343A94 -:10355000203078253038780A000000007230353A83 -:10356000203078253038780A000000007230363A72 -:10357000203078253038780A000000007230373A61 -:10358000203078253038780A000000007230383A50 -:10359000203078253038780A000000007230393A3F -:1035A000203078253038780A000000007231303A37 -:1035B000203078253038780A000000007231313A26 -:1035C000203078253038780A000000007231323A15 -:1035D000203078253038780A00000000206C723ADC -:1035E000203078253038780A000000002070633AD7 -:1035F000203078253038780A000000006861726455 -:10360000206661756C74206F6E20746872656164E9 -:103610003A2025730D0A0D0A0000000068617264EB -:10362000206661756C74206F6E2068616E646C65D5 -:10363000720D0A0D0A00000046505520616374693E -:103640007665210D0A00000070B50546121D22F0B6 -:10365000070044380A4C0646002240F82240521C1B -:10366000112AFAD3416200218162C1624FF0807257 -:1036700000F134040264016384E82A00316070BD03 -:10368000EFBEADDE10B5FCF7F1FD044A1178491C20 -:103690001170BDE81040FCF7EDBD000040000020B7 -:1036A00010B5FCF7E3FD044A1178491E1170BDE81E -:1036B0001040FCF7DFBD0000400000200FB47F2168 -:1036C00010B503AB0748029A00F044FE04467F2879 -:1036D00000D97F240348FFF788FE204610BC5DF820 -:1036E00014FB0000880700200268516002680A602D -:1036F0000160486070470268516002680A600160BA -:10370000486070470168814201D101207047002064 -:10371000704702460020114600E0401C09689142B3 -:10372000FBD17047D0E900124A60D0E90012116065 -:10373000406000607047D0E900124A60D0E9001292 -:103740001160406000607047D0E900124A60D0E923 -:1037500000121160406000607047000010B5044620 -:10376000FFF7DCFD04482146406800F023FA0446D8 -:10377000FFF7E2FD204610BD4400002010B50346CF -:10378000102A1DD341EA0304A40719D110C9103A25 -:1037900010C310C9102A10C351F8084B43F8084B46 -:1037A00051F8044C43F8044CF0D202E010C9121F47 -:1037B00010C3042AFAD203E011F8014B03F8014BBD -:1037C000521EF9D210BD10B5034681420FD28C189B -:1037D0009C420CD9811803E014F8013D01F8013D29 -:1037E000521EF9D210BD11F8014B03F8014B521EC5 -:1037F000F9D210BD10B50346CCB2042A19D3810703 -:1038000017D1194644EA042343EA034306E008C1FA -:10381000103A08C141F8083B41F8043C102AF6D29E -:1038200001E008C1121F042AFBD20B4601E003F895 -:10383000014B521EFBD210BD2DE9F0410F4606464A -:1038400000F044F80546C068FFF788FF041E17D053 -:103850000021EA68FFF7CEFF26720020607208227E -:103860003946204600F0A0FAFCF700FD064604F1B8 -:103870000C01281DFFF738FF3046FCF7FBFC204603 -:10388000BDE8F08170B5044600202072FCF7EEFC24 -:10389000054604F10C00FFF745FF2846FCF7EAFC5B -:1038A0002046BDE87040FFF763BD70B504460020B8 -:1038B0002072FCF7DBFC054604F10C00FFF732FF39 -:1038C0002846BDE87040FCF7D5BC0000074A00213F -:1038D00002EB01131B78834202D102EB0110704707 -:1038E000491C0429F4DB0020704700007C00002004 -:1038F0002DE9F041054617460E460846FFF7E6FF5C -:103900000446FFF70BFD211D606800E00068884257 -:10391000FCD1FFF711FD46F08000287208223946DD -:10392000284600F041FAFCF7A1FC064605F10C011F -:10393000201DFFF7D9FE3046BDE8F041FCF79ABCE8 -:10394000007A000601D50120704700207047000072 -:10395000F8B5FCF78BFC2B4D07466888D8BBA868E8 -:10396000C8B300266846FEF7E3FB696804462846AC -:1039700091F8342002F00703032B0ED191F8353073 -:10398000009DAB4202D303D1130701D40C4600E0E3 -:10399000012622F0080281F834208C4222D0009ABD -:1039A00002700D46446016B1084600F02FF820461C -:1039B00000F066F894F8340020F00700C01C84F88A -:1039C00034001148007804F11C01002805F11C00A6 -:1039D00002D0FCF752FC10E0FCF74FFC3846FCF735 -:1039E00049FCF8BD0446084600F04AF8606810F843 -:1039F000341F21F00701C91C01703846BDE8F840AA -:103A0000FCF738BCBC0000204000002070B5044624 -:103A1000FCF72CFC184B02465868844206D114F877 -:103A2000340F20F00700C01C207020E094F8340010 -:103A3000124920F00700401C84F83400050794F870 -:103A4000355004F1140001EBC50106D54D6828601E -:103A50004D6845604860016005E00D6868600D686C -:103A6000056008604160A06B996808439860BDE8F4 -:103A700070401046FCF7FEBBBC0000200808002088 -:103A800070B50546FCF7F2FB05F114040146D4E9D4 -:103A900000024260D4E900021060AC616C6195F8EC -:103AA0003500084A02EBC0000268824204D1064891 -:103AB000AB6B82689A438260BDE870400846FCF7B1 -:103AC000D9BB000008080020BC0000202DE9F0410F -:103AD00016460A461F4605460221FFF709FF05F173 -:103AE0001404AC616C61AE836F720020BDE8F0819C -:103AF0001CB50AA0FFF7E2FD0BA0FFF7DFFD13A145 -:103B000015A0CDE9000101231A46042115A0FFF7F5 -:103B1000D5FD1DA0FFF7D2FD1CBD00000A205C20D2 -:103B20007C202F0A000000002D205254202D202040 -:103B3000202020546872656164204F706572617442 -:103B4000696E672053797374656D0A0030383A35B1 -:103B5000383A3533000000004D617920313420328D -:103B600030323500202F207C205C20202020202592 -:103B7000642E25642E2564206275696C642025738B -:103B80002025730A000000002032303036202D201E -:103B90003230323220436F70797269676874206204 -:103BA000792052542D546872656164207465616D8A -:103BB0000A000000F0B5E9B3C91C21F003030C2B87 -:103BC00000D20C23426B9A424CD3846A016B091BCE -:103BD000D61A45E062181578ED073FD155686D1A81 -:103BE0000C3D9D423AD3556803F118076E1A0C3EFE -:103BF000BE4222D3CD180C352C4420F0010626609D -:103C00005668C4E9016155606168446B0C34A14297 -:103C100002D0846A21448D60016A0C331944016228 -:103C2000436A8B4200D2416240F001011160016B96 -:103C3000914200E016E008D00DE0111B691A036AFA -:103C4000ECE7836A4968194401630B78DB0702D00B -:103C5000C36A9942F5D102F10C00F0BD091D61580B -:103C60008E42B7D20020F0BD010011D00C39086897 -:103C700020F001000860026B8A4200D90163836A68 -:103C80004A68CB1AD21A036A9A1A0262FFF73CBA40 -:103C9000704700002DE9F04106461346C81C20F08D -:103CA000030404F13802D01C20F003050B4423F078 -:103CB0000300182830D9A0F1180797422CD3471BCE -:103CC000382200212046183FFFF794FD32460C2190 -:103CD0002046FFF70DFE04F1140112A081E8A100B7 -:103CE0006763A5622C60606B0C3068600020A86080 -:103CF000A06A6968084444F00101E0620160606BF9 -:103D0000E16A0C304860606BE16A0C308860A06A40 -:103D100020632046BDE8F0811A4604A0FFF7CEFCE0 -:103D20000020F7E7736D616C6C0000006D656D201D -:103D3000696E69742C206572726F722062656769A2 -:103D40006E206164647265737320307825782C204E -:103D5000616E6420656E64206164647265737320B3 -:103D6000307825780A0000000FB410B504AA039932 -:103D700000F023FC10BC5DF814FB0000002800DA02 -:103D8000404204490B2801DDC86A704751F8200001 -:103D9000704700004C000020014600E0491C0A78F2 -:103DA000002AFBD1081A704710B5002A07D0034635 -:103DB00011F8014B03F8014B2CB1521EF8D110BD84 -:103DC00003F8011B00E00021521EF9D110BD0000D4 -:103DD0000B46C11C21F0030223F003018A1A10B51F -:103DE000014603A0FFF756FF0349486010BD0000DD -:103DF00068656170000000004400002010B5074BAA -:103E00000022074C5A80104604EBC001401C496058 -:103E100009602028F8DB9A6010BD0000BC0000207B -:103E20000808002038B56846FEF782F904460648BF -:103E300044602046FFF724FE032084F8340004F198 -:103E40001C00FCF760FA38BDBC000020044A0020CA -:103E500002EBC001401C49600960F9D070470000C6 -:103E6000CC00002070472DE9FF478946DDE90C763C -:103E7000824601461D4690460120FFF7DDFC041EE8 -:103E80000DD02846FFF76AFC60B103968DE8A100CB -:103E900043464A4651462046FEF778F9204604B08C -:103EA000BDE8F0872046FFF7EDFC0020F7E70000B3 -:103EB00070B50A4900250C688C420DD0A4F1140598 -:103EC000FCF7D4F9D4E900124A60D4E90012116079 -:103ED00064602460FCF7CEF9284670BD38000020ED -:103EE000044914300A6850600A6802600860416042 -:103EF0007047000038000020FFF7DAFF0400FBD015 -:103F0000266FFFF71DFD0546012802D12046FFF769 -:103F1000CCFC0EB12046B047002DEDD1A06AFFF7D2 -:103F200027FA2046FFF7AEFCE6E700002DE9F04750 -:103F3000DFF84CA0002486B020264FF01F084FF475 -:103F40008079AAF1780522460EA104A8FFF70CFF9C -:103F50000AEB0421CDE90019C4EB0410CDE9028677 -:103F600005EBC00007460023084A04A900F010F83A -:103F7000384600F075F8641CE5D006B0BDE8F0875F -:103F8000880600207469646C65256400F93E0008A9 -:103F90002DE9FF5F92460EAA0F4692E870010A468D -:103FA000994683460121FFF7A3FC8DE870014B463B -:103FB000524639465846FEF7E9F804B000F000B81A -:103FC00030BCBDE8C09F10B500F081F8BDE81040DE -:103FD00000F024B870B5044690F8340000F00700F3 -:103FE000022802D04FF0FF3070BDFCF73FF90546C4 -:103FF00004F11400FFF79FFB04F1440000F092F974 -:104000002046FFF703FD2846FCF734F9002070BD79 -:104010000148006870470000C0000020F1B50F485B -:104020000468FCF723F9064600252046256300F0C6 -:104030002BF804F144006A460021074600F0D4F84A -:10404000384600F01FF93046FCF714F9FFF780FC02 -:10405000206B801C00D12563206BF8BDC0000020C0 -:1040600010B590F83520012191408163022180F83C -:104070003410FFF7AFFF0348006808B1FFF768FC92 -:10408000002010BDC000002070B5044690F8340038 -:1040900000F00700012804D0032802D04FF0FF30C1 -:1040A00070BDFCF7E3F805462046FFF7E9FC94F8FD -:1040B000340020F00700801C84F8340004F1440030 -:1040C00000F030F92846FCF7D5F8002070BD002834 -:1040D00002DA4FF0FF3070474FF47A7190FBF1F243 -:1040E00090FBF1F301FB130000EB40034A43C3EBE9 -:1040F000C0104B1E03EBC00090FBF1F01044704762 -:1041000001480068704700003400002010B5FCF73B -:10411000ADF804460E480168491C0160FFF778FFBE -:10412000016C491E016406D02046FCF7A3F8BDE8E7 -:10413000104000F00FB8C16B016410F8341F41F05B -:10414000080101702046FCF795F8FFF701FCEEE747 -:10415000340000202DE9FC41CDF804D0CDF800D08A -:10416000FFF7CEFF0646FCF781F805462FE01D4815 -:104170006FF0004104686069143C301A88422BD209 -:104180002046FEF766F8607A810702D420F001002D -:10419000607204F114010F466846FFF7ACFAD4E9E7 -:1041A00007108847FFF7ACFF06466846FFF7AAFAF4 -:1041B00068B93846FFF7C8FA607A810707D5C107A2 -:1041C00005D020F001006072204600F05BF8054841 -:1041D000FFF798FA0028CAD02846FCF74BF8BDE84C -:1041E000FC810000CC00002070B515460E46044648 -:1041F000FCF73CF8062E17D2DFE806F00503080CA2 -:10420000111A616A0FE0296861620DE0617A21F09C -:10421000020102E0617A41F00201617204E0617A18 -:10422000C90700D001212960FCF724F8002070BDE7 -:10423000A16AF8E770B50446FCF718F80546204671 -:10424000FEF707F8607A20F0010060722846FCF75C -:1042500011F82046FFF729FB002070BD2DE9F84337 -:104260009046DDE908450A461F4606460A21FFF743 -:104270003FFB23463A46414630460095FDF7D6FFC0 -:10428000BDE8F8832DE9F84304464FF00008FBF73A -:10429000EDFF81462046FDF7DCFF607A20F001004B -:1042A0006072FFF72DFF616A1D4F4318A362002261 -:1042B0006D4600970CE00668A6EBC2014969994279 -:1042C00004D0C91A6FF0004C614508D345F822604C -:1042D00007EBC20155F8220049688842EBD11AB1B8 -:1042E00005EB820108304860521CF1D00C49091FCF -:1042F0000868401C086004F114010098FFF7FBF9FE -:10430000607A40F0010060724846FBF7B3FFB8F1F5 -:10431000000F01D0FFF71CFB0020BDE8F883000070 -:10432000CC00002070B50446407AC0070ED0FBF7E1 -:104330009DFF05462046FDF78CFF607A20F00100C6 -:1043400060722846FBF796FF002070BD4FF0FF30EB -:1043500070BD00002DE9FF4F83B0814604460498EC -:104360001F4609EB00084FF0FF3B4FF0200AA04525 -:1043700003D2C9F1FF30D8460490FAE0252803D0D3 -:1043800044457CD220707AE000250599491C0591AE -:1043900008782D2811D02B2812D0202813D02328BC -:1043A00014D0302815D00A785E46303A0A2A13D243 -:1043B00005A800F027F9064618E045F01005E4E7E7 -:1043C00045F00405E1E745F00805DEE745F0200586 -:1043D000DBE745F00105D8E72A2807D1491C0591FC -:1043E00040CF002E02DA764245F0100505985B4674 -:1043F00001782E2913D1401C05900178A1F13002DB -:104400000A2A04D205A800F0FDF8034604E02A2990 -:1044100004D1401C059008CF002B00DA0023059A38 -:1044200000201178682901D06C2902D1521C08465D -:10443000059211784FF00A0C6F297FD00CDC6329AC -:104440001FD004DC252975D058290DD179E06429C5 -:104450007CD0692908D179E0702960D073292AD0ED -:10446000752975D078296ED0444501D22520207059 -:104470000598641C0178D1B3444500D22170641CB6 -:1044800074E0E80608D45146761E002E04DD44454B -:1044900000D22170641CF7E717F8040B444500D2E2 -:1044A0002070514602E0444500D22170641C761E03 -:1044B000002EF8DC5AE002CF01B93CA1002000E058 -:1044C000401CB04202D00A5C002AF9D1002B02DD68 -:1044D000984200DD1846EA060AD452463346761E54 -:1044E000834205DD444500D22270641CF6E74CE0AF -:1044F000002206E0444501D20B782370491C521C6F -:10450000641C8242F6DB52463146761E81422DDD26 -:10451000444500D22270641CF6E70FE00AE0701CEC -:1045200002D1082645F001050096CDE9013504CFFA -:10453000102316E04445A2D2252023E74FF0080CB3 -:1045400006E045F040054FF0100C01E045F0020593 -:104550006C2801D068281BD004CF0096CDE9013526 -:10456000634641462046FEF7FDFD04460598401C83 -:1045700005900598007800287FF400AF049880B17A -:10458000002044450BD220700BE0401E0590EDE763 -:1045900037F8040B82B2A807DFD512B2DDE708F8BE -:1045A000010C07B0A4EB090000F004B8284E554CEC -:1045B0004C29000030BCBDE8C08F134610B50A4638 -:1045C0004FF0FF31FFF7C6FE10BD002070470020FE -:1045D0007047002070470020704710B5FBF746FE7B -:1045E000FEF7DCFEFFF784FAFFF730FCFFF706FC6E -:1045F000FEF754FEFFF736FCFFF798FCFFF712FCBE -:10460000002010BD10B5024600206FF02F0407E017 -:104610004B1C1360097800EB800004EB4000084459 -:1046200011680B78303B0A2BF2D310BD0020704785 -:1046300010B518A0FFF742F81A4C21881AA0FFF70E -:104640003DF82088C00702D01DA0FFF737F820886A -:10465000800702D51DA0FFF731F82088400702D55A -:104660001DA0FFF72BF82088000702D51CA0FFF73C -:1046700025F82088C00502D51BA0FFF71FF8208869 -:10468000800502D51BA0FFF719F8BDE8104004A073 -:10469000FFF714B87573616765206661756C743ACD -:1046A0000A0000002AED00E05343425F43465352A4 -:1046B0005F554653523A307825303258200000007A -:1046C000554E444546494E5354522000494E565388 -:1046D0005441544520000000494E565043200000EC -:1046E0004E4F435020000000554E414C49474E4527 -:1046F0004420000044495642595A45524F20000078 -:1047000010B5FFF7F5F9002010BD4FF04070E1EE55 -:10471000100A7047000000000000000001020304BE -:1047200006070809A0860100400D0300801A060054 -:1047300000350C0040420F0080841E0000093D003F -:1047400000127A000024F40000366E010048E801EF -:10475000006CDC023031323334353637383941427F -:10476000434445460000010002000100030001002F -:10477000020001000400010002000100030001002A -:104780000200010005000100020001000300010019 -:10479000020001000400010002000100030001000A -:1047A00002000100060001000200010003000100F8 -:1047B00002000100040001000200010003000100EA -:1047C00002000100050001000200010003000100D9 -:1047D00002000100040001000200010003000100CA -:1047E00002000100070001000200010003000100B7 -:1047F00002000100040001000200010003000100AA -:104800000200010005000100020001000300010098 -:104810000200010004000100020001000300010089 -:104820000200010006000100020001000300010077 -:104830000200010004000100020001000300010069 -:104840000200010005000100020001000300010058 -:104850000200010004000100020001000300010049 -:104860000200010030313233343536373839616275 -:104870006364656600303132333435363738394158 -:104880004243444546000000252D2A2E73207072B5 -:104890006920207374617475732020202020207398 -:1048A000702020202020737461636B2073697A6507 -:1048B000206D61782075736564206C656674207462 -:1048C00069636B20206572726F720A004F4B0000A3 -:1048D00045494E56414C000045525346554C4C00FC -:1048E000454E4F4D454D000045494F004552524FF2 -:1048F00052000000454E4F535953000045494E5455 -:10490000525054004554494D4F55540045554E4B57 -:104910004E4F5700454255535900000045525345EC -:1049200050545900636C65617200636C656172205C -:10493000746865207465726D696E616C2073637252 -:1049400065656E0076657273696F6E0073686F7768 -:104950002052542D546872656164207665727369C3 -:104960006F6E20696E666F726D6174696F6E006C38 -:104970006973745F746872656164006C6973742034 -:10498000746872656164006C6973745F73656D004F -:104990006C6973742073656D6170686F72652069EE -:1049A0006E2073797374656D006C6973745F7469DC -:1049B0006D6572006C6973742074696D657220692D -:1049C0006E2073797374656D006C697374006C6923 -:1049D0007374206F626A656374730068656C70003D -:1049E00052542D546872656164207368656C6C2044 -:1049F00068656C702E007265626F6F74005265623C -:104A00006F6F742053797374656D0000D74500088B -:104A1000CF4500082D460008CB450008C1240008FA -:104A2000D3450008244900082A49000855230008F6 -:104A3000444900084C490008014700086F49000834 -:104A40007B4900081D2A0008874900089049000892 -:104A5000D9280008A9490008B4490008D92B000842 -:104A6000C9490008CE49000869230008DB4900084D -:104A7000E0490008C12F0008F6490008FD49000878 -:104A800097320008A44A000800000020D40000006B -:104A9000C8010008784B0008D4000020944A0000A8 -:104AA000E401000800000000010000001000000008 -:104AB0000000000000093D000000000000000000B0 -:104AC00000000000000000000000000000000000E6 -:104AD000000000000000000000000000380000207E -:104AE000380000200000000000000000000000006E -:104AF000CC480008EC48000804490008D8480008E1 -:104B00001C490008E0480008F4480008144900085F -:104B1000E8480008FC480008D04800080C49000894 -:104B200001000000800000208000002078000000CC -:104B300002000000900000209000002020000000F3 -:104B40000A000000A0000020A00000202C000000AF -:104B50000C000000B0000020B00000202800000081 -:104B60000000000000000000000000000000000045 -:084B700000000000000000003D +:1003B000FFF79CBF53EA020C00F069802DE9F04B77 +:1003C0004FF00006002B1FBFB3FA83F503FA05F4C4 +:1003D00024FA05F65E4012BF1643B2FA82F502FA1D +:1003E00005F4C5F120051EBF22FA05FC44EA0C0401 +:1003F000203556EA044C4FEA144418BF641C4FF0F1 +:1004000000084FF00009904271EB030C39D300292A +:1004100019BFB1FA81F701FA07F6B0FA80F700FACE +:1004200007F6C7F120071EBF20FA07FC46EA0C06B4 +:100430002037B6FBF4FCA7EB0507103F07F01F0BB6 +:10044000CBF120060CFA0BFB2CFA06F644BFB346A0 +:100450000026202FA4BF5E464FF0000B5BEA060C7F +:1004600008BF4FF0010B19EB0B09ABFB027C48EB0B +:100470000608C01B06FB02CC0BFB03CC71EB0C0186 +:10048000C1E70B46024641464846BDE8F08B13B52E +:100490004FF000004FF00001AFF30080BDE81C40BA +:1004A000704740EA0103024630B59B0710D14FF078 +:1004B000013400E008C208C91D1B9D4315EAC41F92 +:1004C000F8D013F0FF0102F8011B0DD01B0AF8E76A +:1004D00011F8013B002B02F8013B05D011F8013B5C +:1004E000002B02F8013BF3D130BD10B5431C02E0F4 +:1004F00010F8011B71B18107FAD14FF0013202C827 +:100500008C1A8C4314EAC211F9D0C01A0A0603D01F +:10051000C01E10BDC01A10BD0A0401D0801E10BD3F +:100520000902FCD0401E10BD40EA010370B59B07D4 +:100530002ED14FF00136042A2AD308C810C99D1BBA +:100540009D43121F15EAC61517D0D8B2E1B2401A62 +:1005500050EA056110D198B2A1B2401A50EA0541A3 +:100560000AD123F07F4024F07F41401A50EA052150 +:1005700002D1180EA0EB146070BDA342DBD018BAF4 +:1005800021BA884201D9012070BD4FF0FF3070BD03 +:100590000AB9002070BD10F8013B11F8014B63B19E +:1005A000A3420AD1521E08D010F8013B11F8014BAA +:1005B0001BB1A34201D1521EEDD1181B70BD421ECA +:1005C00012F8013F002BFBD111F8013B002B02F880 +:1005D000013BF9D17047032A40F2308010F0030C40 +:1005E00000F0158011F8013BBCF1020F624498BF86 +:1005F00011F801CB00F8013B38BF11F8013BA2F123 +:10060000040298BF00F801CB38BF00F8013B11F09D +:10061000030300F02580083AC0F0088051F8043B3D +:10062000083A51F804CBA0E80810F5E7121D5CBFAA +:1006300051F8043B40F8043BAFF30080D20724BFDD +:1006400011F8013B11F801CB48BF11F8012B24BF71 +:1006500000F8013B00F801CB48BF00F8012B7047C0 +:1006600010B5203AC0F00B80B1E81850203AA0E84D +:100670001850B1E81850A0E81850BFF4F5AF5FEA81 +:10068000027C24BFB1E81850A0E8185044BF18C934 +:1006900018C0BDE810405FEA827C24BF51F8043BDB +:1006A00040F8043B08BF7047D20728BF31F8023B2F +:1006B00048BF11F8012B28BF20F8023B48BF00F8C3 +:1006C000012B70474FF000020429C0F0128010F097 +:1006D000030C00F01B80CCF1040CBCF1020F18BF1E +:1006E00000F8012BA8BF20F8022BA1EB0C0100F0B1 +:1006F0000DB85FEAC17C24BF00F8012B00F8012B84 +:1007000048BF00F8012B70474FF0000200B51346B8 +:1007100094469646203922BFA0E80C50A0E80C5021 +:10072000B1F12001BFF4F7AF090728BFA0E80C50D2 +:1007300048BF0CC05DF804EB890028BF40F8042BCB +:1007400008BF704748BF20F8022B11F0804F18BF38 +:1007500000F8012B704710B5044610F0030F08BFD6 +:1007600011F0030F40F015804FF0013E121FC0F250 +:100770000E8051F8043BA3EB0E0C2CEA030C1CEA90 +:10078000CE1C08BF40F8043BF0D0A1F1040102F1F7 +:100790000402521E08DB11F8013B002B00F8013B5C +:1007A000F7D11146FFF78EFF204610BD4FF0013CF8 +:1007B00050F8042B51F8043B9A4221D1A2EB0C03D0 +:1007C000934313EACC1317D150F8042B51F8043B90 +:1007D0009A4215D1A2EB0C03934313EACC130BD12D +:1007E00050F8042B51F8043B9A4209D1A2EB0C03B8 +:1007F000934313EACC13DBD04FF00000704700BFE7 +:10080000D01A01BAB1FA81F101F0180122FA01F00F +:10081000CB40C1F12001DBB2C0B2C01A2CFA01F307 +:10082000D11A914311EAC311E6D17047704770475E +:100830007047000000487047D84600207546FFF713 +:10084000F9FFAE4605006946534620F0070085468D +:1008500018B020B5FFF7F8FCBDE820404FF00006C7 +:100860004FF000074FF000084FF0000B21F0070198 +:10087000AC46ACE8C009ACE8C009ACE8C009ACE8DB +:10088000C0098D46704710B50446AFF3008020467E +:10089000BDE81040FFF7C3BC01491820ABBEFEE71E +:1008A00026000200704710B505F025FB002010BDA2 +:1008B000FEE70000014800F06BB800005C02002079 +:1008C00030B590F8444004F01C050124AC40056CA0 +:1008D0006C60046863608368102B036803D09960C0 +:1008E0000068C26030BD9A600068C16030BD70476A +:1008F00072B6FEE710B590F825100022022905D047 +:100900000421C16380F82420012010BD01680B6818 +:1009100023F00E030B6001680B6823F001030B60EA +:1009200090F84410012401F01C0304FA03F1036C55 +:10093000596080F8254080F82420104610BD10B57D +:1009400090F825100024022903D00421C16301245A +:100950001AE001680A6822F00E020A6001680A685B +:1009600022F001020A6090F84410012301F01C02F9 +:1009700003FA02F1026C516080F82530002180F802 +:100980002410816B01B18847204610BDC06B7047B1 +:10099000F0B4016C0B6801680A6890F844400425C3 +:1009A00004F01C0405FA04F61E4211D056070FD5B8 +:1009B0000A68920603D40A6822F004020A6090F8DA +:1009C000441001F01C018D40016C4D60016B1DE075 +:1009D000022606FA04F71F424FF0000C4FF0010503 +:1009E00018D0970716D50A68920605D40A6822F02F +:1009F0000A020A6080F8255090F8441001F01C01AA +:100A00008E40016C4E6080F824C0C16A00291AD063 +:100A1000F0BC08470826A6401E4214D0120712D583 +:100A20000A6822F00E020A6090F84410026C01F08D +:100A30001C0105FA01F15160C56380F8255080F86A +:100A400024C0416BE2E7F0BC704700002DE9F041A3 +:100A500004007CD081492068814D884235D07F498F +:100A60001431884231D07D49283188422DD07B49CC +:100A70003C31884229D079495031884225D0774984 +:100A80006431884221D07549783188421DD0A8420E +:100A90001BD073491431884217D0714928318842DC +:100AA00013D06F493C3188420FD06D495031884294 +:100AB0000BD06B496431884207D06949783188424C +:100AC00003D0A52167A003F02CF8A0684FF480465E +:100AD00038B1102805D0B04203D0A62161A003F0A0 +:100AE00020F8E068402804D018B1A7215DA003F0E9 +:100AF00018F82069802804D018B1A82159A003F063 +:100B000010F8606948B1B0F5807F06D0B0F5007F7D +:100B100003D0A92153A003F004F8A06948B1B0F5AF +:100B2000806F06D0B0F5006F03D0AA214DA002F06F +:100B3000F8FFE06928B1202803D0AB2149A002F0DA +:100B4000F0FF206A70B1B0F5805F0BD000E02CE0C0 +:100B5000B0F5005F06D0B0F5405F03D0AC2141A0F6 +:100B600002F0DFFF606888B101280FD002280DD0A5 +:100B700003280BD0042809D0052807D0062805D063 +:100B8000072803D0AE2137A002F0CBFF33492068FD +:100B900014220839A8420BD2304B5B420344B3FB0A +:100BA000F2F29200C4E910120CE00120BDE8F081DD +:100BB0002B4B5B420344B3FBF2F292006264284A7F +:100BC000083A2264022284F82520036847F6F0726E +:100BD0009343D4E902252A43D4E904573D432A43E9 +:100BE000A5692A43E5692A43256A2A431A43026014 +:100BF000A068B04229D0206C0F22884212D151F84F +:100C0000A80F94F8443003F01C039A409043086006 +:100C100094F84420606802F01C0290400A68104377 +:100C2000086012E00E48A030016894F8443003F0E8 +:100C30001C039A409143016094F84420616802F0DB +:100C40001C0291400268114301600020E063012111 +:100C500084F8251084F82400A8E70000080002406A +:100C6000080402402E2E2F447269766572732F534A +:100C7000544D33324C3478785F48414C5F4472694C +:100C80007665722F5372632F73746D33326C3478C0 +:100C9000785F68616C5F646D612E63002DE9F041DF +:100CA000884604460025581E4FF6FF711E4617461B +:100CB000884204D340F2DF111DA002F032FF94F805 +:100CC000240001280DD0012084F8240094F8251078 +:100CD0000020012907D084F8240002252846BDE819 +:100CE000F0810220FBE7022184F82510E0632068F0 +:100CF000016821F00101016033463A464146204631 +:100D0000FFF7DEFD206B00282068016802D041F06B +:100D10000E0106E021F0040101602068016841F045 +:100D20000A0101602068016841F001010160D5E716 +:100D30002E2E2F447269766572732F53544D3332C1 +:100D40004C3478785F48414C5F4472697665722F05 +:100D50005372632F73746D33326C3478785F6861CB +:100D60006C5F646D612E63002DE9F84F0026DFF89B +:100D700048A2DFF848B20D460446B0F1904F10D0BB +:100D800054450ED05C450CD08D48844209D08D4826 +:100D9000844206D08C48844203D0AA218BA002F062 +:100DA000C0FE28680104090C01D0000C03D0AB215F +:100DB00086A002F0B6FE68684FF00309002821D033 +:100DC0000128FCD01128FAD00228F8D01228F6D039 +:100DD000B0F5881FF3D0B0F5041FF0D0B0F5441F74 +:100DE000EDD0B0F5901FEAD0B0F5081FE7D0B0F510 +:100DF000481FE4D00328E2D00B28E0D0AC2173A038 +:100E000002F08FFED1E0012000FA06F817EA080789 +:100E10007ED0287900F00300012801D002281DD1DE +:100E2000E86848B1012807D0022805D0032803D07C +:100E3000BB2166A002F075FEA168700009FA00F2FD +:100E40009143EA6882400A43A2606068297920EAF7 +:100E50000800C1F30011B140014361602879C0432B +:100E6000800712D0A86838B1012805D0022803D025 +:100E7000DC2156A002F055FEE168700009FA00F28C +:100E80009143AA6882400A43E260287900F0030097 +:100E9000022827D1B4F1904F10D054450ED05C45B4 +:100EA0000CD04748844209D04648844206D0464880 +:100EB000844203D0E82145A002F033FE28690F28C0 +:100EC00003D9E92141A002F02CFEF00804EB8001D7 +:100ED0000A6A7007C00E0F2383409A432B69834030 +:100EE00013430B622168700009FA00F291432A79DA +:100EF00002F0030282400A432260686810F4403F17 +:100F000052D04148016E41F001010166006E00E0DF +:100F10004AE000F0010000903C4826F003010A1866 +:100F20009368B007010F0F2088408343B4F1904FBE +:100F300003D0544503D1012010E000200EE05C45B1 +:100F400001D102200AE01E48844201D1032005E0BD +:100F50001C48844201D1042000E007208840184347 +:100F600090602B4908686A68B843D20200D53843BC +:100F700008602749091D08686A68B843920200D5CD +:100F8000384308602249091F08686A68B843920319 +:100F900000D5384308601E49083908686A68B843B4 +:100FA000D20300D538430860761C2F6837FA06F064 +:100FB0007FF429AF00F02EB8000400480008004874 +:100FC000000C004800100048001C00482E2E2F4442 +:100FD0007269766572732F53544D33324C3478787E +:100FE0005F48414C5F4472697665722F5372632F7C +:100FF00073746D33326C3478785F68616C5F6770DE +:10100000696F2E63000000000010024000000140E4 +:101010000804014018BCBDE8E08F000070B50C006A +:10102000054604D14FF4E37105A002F07AFD696929 +:1010300024EA0100214040EA0140A86170BD00009F +:101040002E2E2F447269766572732F53544D3332AE +:101050004C3478785F48414C5F4472697665722FF2 +:101060005372632F73746D33326C3478785F6861B8 +:101070006C5F6770696F2E630000000070B51546E5 +:101080000C00064604D14FF4D77107A002F049FDC9 +:1010900045B1012D04D040F2AF1103A002F041FD93 +:1010A000B46170BDB46270BD2E2E2F447269766536 +:1010B00072732F53544D33324C3478785F48414C1F +:1010C0005F4472697665722F5372632F73746D3348 +:1010D000326C3478785F68616C5F6770696F2E631B +:1010E00000000000014880687047000004000020F4 +:1010F00010B50024032000F0C3F8002000F008F829 +:1011000008B1012401E000F025F8204610BD0000E0 +:1011100070B50E4E05460024307898B14FF47A71C0 +:10112000B1FBF0F00A490968B1FBF0F001F0D6F824 +:1011300040B9102D06D200222946501E00F052F868 +:10114000756000E00124204670BD0000040000200E +:1011500010000020094808B5016E41F00101016648 +:10116000016E01F001010091816D41F080518165B6 +:10117000806D00F08050009008BD0000001002401B +:1011800010B5040003D5D22107A002F0CAFC002C40 +:1011900009DB04F01F01012088406109890001F189 +:1011A000E021C1F8000110BD2E2E2F447269766532 +:1011B00072732F53544D33324C3478785F48414C1E +:1011C0005F4472697665722F5372632F73746D3347 +:1011D000326C3478785F68616C5F636F72746578C5 +:1011E0002E63000070B514460D460646102A03D340 +:1011F000BE2113A002F095FC102D03D3BF2110A037 +:1012000002F08FFC1D480068C0F30223C3F1070001 +:10121000042800D90420191D072901D2002300E069 +:10122000DB1E012202FA00F1491E294099409A4032 +:10123000521E22403046BDE87040114302F059BBB7 +:101240002E2E2F447269766572732F53544D3332AC +:101250004C3478785F48414C5F4472697665722FF0 +:101260005372632F73746D33326C3478785F6861B6 +:101270006C5F636F727465782E6300000CED00E0A4 +:1012800010B5044607280BD0062C09D0052C07D032 +:10129000042C05D0032C03D0A62108A002F041FCA9 +:1012A000154A04F0070110684FF6FF03184040EAA2 +:1012B000012012490843106010BD00002E2E2F445B +:1012C0007269766572732F53544D33324C3478788B +:1012D0005F48414C5F4472697665722F5372632F89 +:1012E00073746D33326C3478785F68616C5F636FF0 +:1012F000727465782E6300000CED00E00000FA05C2 +:1013000010B51B4CB0F5007F13D0B0F5806F03D043 +:10131000A72118A002F005FC2068C0F34120022894 +:1013200005D0206820F4C06040F480602060002078 +:1013300010BD2068C0F341200128F8D0206820F4B7 +:10134000C06040F4007020601948322100684843B2 +:101350001849B0FBF1F0401C00E0401E61694905EE +:1013600001D50028F9D160694005E0D5032010BD02 +:10137000007000402E2E2F447269766572732F53D1 +:10138000544D33324C3478785F48414C5F44726935 +:101390007665722F5372632F73746D33326C3478A9 +:1013A000785F68616C5F7077725F65782E630000AC +:1013B0001000002040420F000248006800F4C060A6 +:1013C00070470000007000402DE9F84F04460025EA +:1013D0000068F2492F46084202D0C943084203D0B0 +:1013E000C921EFA002F09DFB2088FC4E000521D50D +:1013F000606C4FF400084FF4400938B1404505D007 +:10140000484503D0D121E6A002F08BFB606C50B1BF +:10141000404503D048453BD001250AE0F06840F440 +:101420008030F06034E00021201D01F0FFFA05005B +:101430002ED02F462068800376D5A06D4FF000098E +:1014400068B1B0F5807F0AD0B0F5007F07D0B0F565 +:10145000407F04D04FF4A271D1A002F062FBB06DC6 +:10146000C00009D4B06D40F08050B065B06D4FF051 +:10147000010900F080500090DFF864A3DAF8001052 +:1014800041F48071CAF80010FFF72CFE804610E08E +:10149000D6F88800616C20F440000843C6F8880044 +:1014A000C8E7FFF71FFEA0EB0800022801D90325BB +:1014B00032E0DAF80000C005F3D56DBBD6F8900035 +:1014C00010F4407014D0A16D814211D0D6F8900074 +:1014D000D6F8901020F4407041F48031C6F8901096 +:1014E000D6F8901021F48031C6F89010C6F890001C +:1014F000C0077DD0FFF7F6FD804641F2883A05E04F +:10150000FFF7F0FDA0EB08015145D0D8D6F89000C8 +:101510008007F5D5002DECD02F46B9F1000F03D090 +:10152000B06D20F08050B0652078C00714D0206ADC +:1015300050B1012808D0032806D0022804D040F278 +:10154000991197A002F0EDFAD6F88800216A20F0F0 +:1015500003000843C6F888002078800714D5606A25 +:1015600050B1042808D00C2806D0082804D040F236 +:10157000A3118BA002F0D5FAD6F88800616A20F09A +:101580000C000843C6F888002078400714D5A06AEC +:1015900050B1102808D0302806D0202804D040F2BE +:1015A000AF117FA002F0BDFAD6F88800A16A20F042 +:1015B00030000843C6F888002078800617D5E06A16 +:1015C00068B1B0F5806F0AD0B0F5406F07D0B0F5C4 +:1015D000006F04D040F2D71171A002F0A2FAD6F841 +:1015E0008800E16A20F440600843C6F8880000E003 +:1015F000A3E02088800517D5E06B68B1B0F5802F97 +:101600000AD0B0F5002F07D0B0F5402F04D04FF42A +:10161000F07163A002F085FAD6F88800E16B20F43F +:1016200040200843C6F888002088400517D5206C64 +:1016300068B1B0F5801F0AD0B0F5001F07D0B0F533 +:10164000401F04D040F2E71155A002F06AFAD6F824 +:101650008800216C20F440100843C6F888002078E8 +:10166000400614D5206B50B1B0F5805F07D0B0F5BF +:10167000005F04D040F2EF1149A002F052FAD6F810 +:101680008800216B20F440500843C6F88800207879 +:10169000000614D5606B50B1B0F5804F07D0B0F59F +:1016A000004F04D040F2FB113DA002F03AFAD6F808 +:1016B0008800616B20F440400843C6F88800208809 +:1016C000C00514D5A06B50B1B0F5803F07D0B0F580 +:1016D000003F04D040F2072131A002F022FAD6F8F0 +:1016E0008800A16B20F440300843C6F888002068C9 +:1016F0004FF0406900034FF080654FF000682DD532 +:10170000A06C50B1A84208D0404506D0484504D04E +:1017100040F2412122A002F004FAD6F88800A16C20 +:1017200020F040600843C6F88800A06C40450DD109 +:10173000F06840F48010F06010E0D6F89000A16DE1 +:1017400020F440700843C6F89000E6E6A84205D1B0 +:101750000121201D01F06AF900B10746206840030D +:1017600048D5E06C50B1A84208D0404506D0484565 +:1017700004D040F266210AA002F0D3F9D6F888001E +:10178000E16C20F040600843C6F88800E06C4045FA +:1017900028D1F06840F48010F0602BE0E7CF0E0015 +:1017A0002E2E2F447269766572732F53544D333247 +:1017B0004C3478785F48414C5F4472697665722F8B +:1017C0005372632F73746D33326C3478785F686151 +:1017D0006C5F7263635F65782E63000000100240E7 +:1017E00000700040A84205D10121201D01F01EF922 +:1017F00000B10746208840041FD5206D4FF080556A +:1018000050B1A84208D0B0F1405F05D040F2862127 +:10181000AFF2740002F085F9D6F88800216D20F04F +:1018200040500843C6F88800206DA84205D1022127 +:10183000201D01F0FBF800B107462088000411D5F7 +:10184000606D40B1B0F1804F05D040F2B621AFF2EB +:10185000B00002F066F956F8880F616D20F0804004 +:1018600008433060384600F000B818BCBDE8E08F8F +:101870002DE9F0470D46040077D02068401E0E2861 +:1018800004D940F259417BA002F04BF965B1012D1A +:101890000AD0022D08D0032D06D0042D04D040F22A +:1018A0005A4174A002F03DF9DFF80082D8F8000038 +:1018B00000F00700A8420CD2D8F8001021F0070170 +:1018C0002943C8F80010D8F8000000F00700A8422B +:1018D0004BD12078764E800721D5A068A0B1802812 +:1018E00012D0902810D0A0280ED0B0280CD0C0283C +:1018F0000AD0D02808D0E02806D0F02804D040F242 +:1019000072415CA002F00DF9A068B16801F0F0012D +:10191000884204D9B16821F0F0010143B160207818 +:10192000C0073BD0606838B301280ED0022820D011 +:1019300003281BD040F27D414EA002F0F2F860680F +:10194000032813D0022814D0B0B130684005002815 +:1019500043DAB068616820F003000843B060FFF725 +:10196000C1FB074641F2883911E036E0306880015A +:10197000EDE730688003EAE730688007E7E7FFF7C4 +:10198000B1FBC11B494502D90320BDE8F087B0680F +:10199000616800F00C00B0EB810FF0D12078800777 +:1019A0000AD5A068B16801F0F001884204D2B1689C +:1019B00021F0F0010143B160D8F80010404601F079 +:1019C0000701A9420BD9016821F0070129430160F1 +:1019D000006800F00700A84201D00120D5E7207878 +:1019E0004FF4806540074FF4A0674FF4C0684FF490 +:1019F000E06914D5E06860B1A8420AD0B84208D0C6 +:101A0000404506D0484504D040F2F54119A002F007 +:101A100088F8B068E16820F4E0600843B06020789E +:101A2000000715D5206960B1A8420AD0B84208D095 +:101A3000404506D0484504D040F2FC410DA002F0DC +:101A400070F8B068216920F4605040EAC100B060CD +:101A500000F060F8B168174AC1F30311515C01F05E +:101A60001F01C8401449086014480068BDE8F047E9 +:101A7000FFF74EBB2E2E2F447269766572732F537B +:101A8000544D33324C3478785F48414C5F4472692E +:101A90007665722F5372632F73746D33326C3478A2 +:101AA000785F68616C5F7263632E630000200240A0 +:101AB00000100240306000081000002008000020E4 +:101AC00001480068704700001000002005480649E2 +:101AD00000688968054AC1F30221515C01F01F01C9 +:101AE000C8407047100000200010024070600008DD +:101AF0000548064900688968054AC1F3C221515C5E +:101B000001F01F01C8407047100000200010024083 +:101B10007060000870B5254B002210469968DC689B +:101B200011F00C0104F00306214C224D08D00C29C1 +:101B300004D0042931D0082931D010E0012E10D171 +:101B40001A68120704D4D3F89420C2F3032202E0E7 +:101B50001A68C2F30312184E56F82220D9B10C2984 +:101B600018D1D86800F0030002281AD003281AD030 +:101B70001046D968DA68C1F30211C2F30622424363 +:101B8000491CB2FBF1F0D968C1F34161491C49001D +:101B9000B0FBF1F070BD104670BD204670BD284608 +:101BA00070BD2046E5E72846E3E70000001002404C +:101BB0000024F400001BB700406000082DE9F84342 +:101BC00004007CD0206830B1800904D04FF4D1717A +:101BD000F1A001F0A6FFFE4EB06800F00C05F06821 +:101BE00000F003072078C0066AD5A06930B101284B +:101BF00004D040F2AB11E8A001F093FFE069FF28A8 +:101C000004D94FF4D671E4A001F08BFF206AD0B163 +:101C1000102818D0202816D0302814D0402812D0F0 +:101C2000502810D060280ED070280CD080280AD000 +:101C3000902808D0A02806D0B02804D040F2AD11DA +:101C4000D5A001F06EFF75B10C2D01D1012F0AD086 +:101C5000A069002830687AD040F001003060FFF7BA +:101C600041FA80465DE03068800702D5A06900280F +:101C7000A7D0216A3068000703D5306800F0F00073 +:101C800004E0D6F89400F02202EA1010814218D93C +:101C9000084600F0D3FF002811D1306840F008005A +:101CA00030603068216A20F0F000084330607068CE +:101CB000E16920F47F4040EA0120706018E0EDE027 +:101CC00055E0306840F0080030603068216A20F04C +:101CD000F000084330607068E16920F47F4040EA1A +:101CE0000120706025B9206A00F0A8FF0028D3D138 +:101CF000FFF710FFB168B74AC1F30311515C01F05F +:101D00001F01C840B4490860B4480068FFF700FAF2 +:101D1000002870D12BE0FFF7E5F9A0EB08000228BE +:101D20006AD830688007F6D5306840F00800306027 +:101D30003068216A20F0F000084330607068E16983 +:101D400020F47F4040EA0120706010E0FFE720F0BF +:101D500001003060FFF7C6F9804605E0FFF7C2F9E1 +:101D6000A0EB08000228DBD830688007F6D4207882 +:101D7000C0074FD060684FF480384FF4A02940B1BD +:101D8000404506D0484504D040F2192182A001F018 +:101D9000C8FE082D0AD00C2D01D1032F06D0606893 +:101DA00040450AD1306840F4803013E03068800349 +:101DB00030D56068002871D02CE04845306803D1E8 +:101DC00040F480203060EDE720F4803030603068EF +:101DD00020F480203060606878B1FFF783F9804696 +:101DE00005E0FFF77FF9A0EB0800642898D8306879 +:101DF0008003F6D50EE05EE25CE2FFF773F9804601 +:101E000005E0FFF76FF9A0EB0800642888D8306878 +:101E10008003F6D42078800749D5E06838B1B0F562 +:101E2000807F04D04FF413715BA001F07AFE20692B +:101E30001F2804D940F24D2157A001F072FE042D55 +:101E40000ED00C2D01D1022F0AD0E0680028306896 +:101E50001DD040F480703060FFF744F907460BE076 +:101E6000306840050BD5E0680028A4D007E0FFF7F4 +:101E700039F9C01B0228B9D830684005F7D5706819 +:101E8000217C20F0F85040EA016070600FE020F4FF +:101E900080703060FFF726F9074605E091E1FFF713 +:101EA00021F9C01B0228A1D830684005F7D420785A +:101EB000000731D56069E0B1012806D040F28D21DC +:101EC00035A001F02EFE606998B1D6F8940040F07C +:101ED0000100C6F89400FFF705F9074604E0FFF794 +:101EE00001F9C01B022891D8D6F894008007F6D5D6 +:101EF00012E0D6F8940020F00100C6F89400FFF735 +:101F0000F1F8074604E0FFF7EDF8C01B0228B2D84D +:101F1000D6F894008007F6D4207840073BD5A06817 +:101F20004FF0000840B1012806D0052804D04FF436 +:101F3000387119A001F0F5FDB06DC00009D4B06D85 +:101F400040F08050B065B06D4FF0010800F0805057 +:101F5000009023480168C90511D40168814641F405 +:101F600080710160FFF7BEF8074604E0FFF7BAF89A +:101F7000C01B022897D8D9F80000C005F6D5A06884 +:101F800001283DD00528D6F890003ED020F0010071 +:101F9000C6F8900026E05BE02E2E2F44726976652D +:101FA00072732F53544D33324C3478785F48414C20 +:101FB0005F4472697665722F5372632F73746D3349 +:101FC000326C3478785F68616C5F7263632E630093 +:101FD00000100240306000081000002008000020BF +:101FE00000700040D6F8900020F00400C6F8900081 +:101FF000A06841F28839B8B1FFF774F807460EE0DF +:10200000D6F8900040F00100F0E740F00400C6F878 +:102010009000F5E7FFF766F8C11B4945AAD8D6F846 +:1020200090008007F6D50CE0FFF75CF8074604E067 +:10203000FFF758F8C11B49459CD8D6F89000800797 +:10204000F6D4B8F1000F03D0B06D20F08050B06529 +:102050002078800632D5606AE8B1012807D040F2C6 +:102060004531AFF2CC0001F05CFD606A98B1D6F862 +:10207000980040F00100C6F89800FFF733F80746D3 +:1020800004E0FFF72FF8C01B0228C7D8D6F8980045 +:102090008007F6D512E0D6F8980020F00100C6F8C7 +:1020A0009800FFF71FF8074604E0FFF71BF8C01B76 +:1020B0000228B3D8D6F898008007F6D4A06A002882 +:1020C0007ED001280CD0022814D040F26E31AFF23D +:1020D000381001F026FDA06A0028F1D0022809D0AE +:1020E0000C2D6ED0306820F080703060FEF7FAFF63 +:1020F0000446E2E0E06A58B1012809D0022807D07E +:10210000032805D040F27631AFF2741001F009FDDA +:10211000206B401E072805D940F27731AFF28810B6 +:1021200001F0FFFC606B08384E2805D94FF45E7152 +:10213000AFF29C1001F0F5FCA06B801E1D2805D9A4 +:1021400040F27A31AFF2B01001F0EBFCE06B022804 +:102150000BD0042809D0062807D0082805D04FF452 +:102160005F71AFF2CC1001F0DCFC206C02280BD0C8 +:10217000042809D0062807D0082805D040F27D3170 +:10218000AFF2EC1001F0CDFCF068E26A00F0030160 +:10219000914229D1216B00F070020901103991425E +:1021A00022D1626B00F4FE41B1EB022F1CD194F8F6 +:1021B000382000F07841B1EBC26F15D1A18F01E05A +:1021C00072E083E04908490500F4C002A1F500115E +:1021D000914209D194F8401000F0C06049084906C6 +:1021E000A1F10071814248D00C2D70D030684001BF +:1021F0006DD4306820F080703060FEF773FF0546C4 +:1022000004E0FEF76FFF401B022853D830688001BE +:10221000F7D4F4E90B016FF00F0202EB0111084350 +:10222000218A5204490802EB4151A26841EA022185 +:102230000843217D4FF07E42490802EB416108438B +:10224000217B40EAC160F168224A11400843F060F6 +:10225000306840F080703060F06840F08070F0606E +:10226000FEF740FF044604E0FEF73CFF001B022897 +:1022700020D830688001F7D526E03068800123D46B +:10228000306840F080703060F06840F08070F0603E +:10229000FEF728FF044604E0FEF724FF001B022897 +:1022A00008D830688001F7D50EE0FEF71BFF001B51 +:1022B000022802D90320BDE8F88330688001F4D4F5 +:1022C000F06805490840F0600020F4E7FFE70120CE +:1022D000F1E700008C809D01FCFFEEFE10B5401E72 +:1022E000B0F1807F01D3012010BD4FF0E024606188 +:1022F0000F21601701F0FDFA0020A0610720206186 +:10230000002010BD7047704770B50446C06FD4F808 +:102310008060216889684FF01005090618D52128CA +:1023200016D12068083050E8001F21F0800140E8F5 +:102330000012002AF5D1206F38B1FEF7DBFA20B188 +:10234000206FFEF723FB202821D0204600F0E6FF77 +:1023500020688068400618D5222E16D120680830E3 +:1023600050E8001F21F0400140E80012002AF5D19A +:10237000606F38B1FEF7BEFA20B1606FFEF706FB62 +:10238000202804D0204600F0A3FF002070BDC4F830 +:102390008450032070BD70472DE9F0410268044667 +:1023A000D0691168976840F60F0318424FF0000596 +:1023B0004FF0020605D183067ED58B067CD5A16E33 +:1023C00033E1DFF894C207F0010301EA0C0C53EA91 +:1023D0000C0C71D05FEAC07C0CD05FEAC15C09D5FF +:1023E0004FF0010CC2F820C0D4F8842042F0010262 +:1023F000C4F88420820709D5FA0707D0226816623C +:10240000D4F8842042F00402C4F8842042070AD59C +:10241000FA0708D0266804223262D4F8842042F0F9 +:102420000202C4F8842002070CD501F020021A43EE +:1024300008D0236808221A62D4F8842042F00802E7 +:10244000C4F8842002050BD54A0109D523684FF44E +:1024500000621A62D4F8842042F02002C4F884207A +:10246000D4F88420002A36D0800605D5880603D506 +:10247000A16E09B120468847D4F884002168896894 +:10248000490602D410F0280F27D0204600F020FF84 +:102490002068806840061BD52068083050E8001F7F +:1024A00021F0400140E80012002AF5D1606F78B1B8 +:1024B0006A498163606F00E015E0FEF740FA00288A +:1024C00009D0606F816B00E02046BDE8F04108470D +:1024D0002046FFF760FFBDE8F0812046FFF75BFF75 +:1024E000C4F88450F7E7D4F860C02023BCF1010F92 +:1024F0007ED15FEAC06C7BD55FEAC16C78D51020D5 +:1025000010622068806840064FD5616F0A68506885 +:102510000004000C3DD0B4F85870874239D9A4F8B3 +:102520005A000868006880062BD4206850E8001F15 +:1025300021F4807140E80012002AF6D120680830AA +:1025400050E8001F21F0010140E80012002AF5D1F7 +:102550002068083050E8001F21F0400140E80012D8 +:10256000002AF5D1C4F880302566206850E8001FA5 +:1025700021F0100140E80012002AF6D1606FFEF74A +:10258000B9F96666B4F85800B4F85A10401A81B226 +:1025900007E0B4F8581081429DD1106880069AD5A2 +:1025A00066662046FFF7AEFE95E7B4F85800B4F82B +:1025B0005A10401A81B2B4F85A0000288BD0002972 +:1025C00089D0206850E8002F22F4907240E800275C +:1025D000002FF6D12068083050E8002F22F00102C9 +:1025E00040E80027002FF5D1C4F88030256600E0D0 +:1025F0000AE0A566206850E8002F22F0100240E8AB +:102600000023002BF6D1CBE7C60209D57E0207D501 +:102610004FF4801010622046BDE8F041FFF773BE12 +:10262000020606D50A0604D5E16E00297FF44CAFF8 +:1026300051E74006B8D54806B6D52046016851E8AE +:10264000002F22F0400241E80024002CF6D1C3679D +:10265000C56600F055F93EE720010004C9310008C5 +:1026600070B5040012D0A06926490028264A274BDD +:10267000274D20680CD0884217D0904215D0984240 +:1026800013D0A84211D04FF4A9710BE0012070BD06 +:1026900088420AD0904208D0984206D0A84204D07E +:1026A00040F257111BA001F03CFAE06F28B900205E +:1026B00084F87800204600F04BF82420E06720687A +:1026C000016821F001010160606A10B1204600F04C +:1026D00025FC204600F02EFE0128D8D02068416855 +:1026E00021F4904141602068816821F02A018160D5 +:1026F0002068016841F0010101602046BDE870409A +:1027000000F00EBD00380140004400400048004089 +:10271000008000402E2E2F447269766572732F530D +:10272000544D33324C3478785F48414C5F44726981 +:102730007665722F5372632F73746D33326C3478F5 +:10274000785F68616C5F756172742E6300000000D1 +:10275000F0B59DB00646142117A8FDF7D5FF5C2102 +:102760006846FDF7D1FF25493068884244D10227E9 +:102770000025684600970995FEF726FE08B1FEF78A +:10278000B7F81F48816D41F400318165816D01F416 +:1027900000311C91C16C41F00101C164C06C17A9EA +:1027A00000F001001C900C20CDE917070320CDE9B3 +:1027B000195007201B904FF09040FEF7D5FA124CAD +:1027C00010482060C4E901758020C4E9035020202E +:1027D0006561C4E9065020462562FEF737F908B165 +:1027E000FEF786F87467002211462620A662FEF7DF +:1027F000F9FC2620FEF7C4FC1DB0F0BD00440040EB +:10280000001002406C0002405C02002030B4D0F89E +:102810008030202B02D0022030BC7047A9B1A2B179 +:10282000002303660A4C0368A3420BD05B681B02BB +:1028300008D5036853E8004F44F0806443E800453E +:10284000002DF6D130BC00F005BF0120E4E7000008 +:1028500000800040704770472DE9F8430446C06F80 +:102860001F4615460E46202802D00220BDE8F883F8 +:102870009EB195B10020C4F884002120E067FEF7E6 +:1028800031FCA4F850508146A4F85250A0684FF093 +:102890002008B0F5805F02D003E00120E6E7206960 +:1028A00010B13546002610E000250EE080212046BC +:1028B00000F020FFB8B9D5B115F8010B21680885E3 +:1028C000B4F85200401EA4F85200B4F852004B462F +:1028D0004FF0000200970028E8D14FF04001204659 +:1028E00000F008FF40B1C4F87C800320BEE736F852 +:1028F000020BC0F30800E1E7C4F87C800020B5E7D4 +:1029000070470000014608A002F066FB0F4D4FF42F +:1029100080544FF47A7621462846FEF77FFB3046F6 +:1029200002F0DFFFF7E70000546872656164312050 +:102930007374617274656420776974682070617261 +:10294000616D657465723A2025730A0000040048C1 +:10295000094808B5816C41F001018164806C002256 +:1029600000F00100009011461020FEF73BFCBDE88E +:1029700008401020FEF704BC0010024030B587B0BC +:1029800014216846FDF7C0FE1648C16C41F0800175 +:10299000C164C16C01F080010591C16C41F001017D +:1029A000C164C16C01F001010591C16C41F00201EB +:1029B000C164C06C0C4D00F002004FF480540590CF +:1029C000002221462846FEF759FB012100200094F1 +:1029D000CDE90110039169462846FEF7C5F907B015 +:1029E00030BD000000100240000400480D4810B542 +:1029F0000B4901604FF4E1314160002181600C22FC +:102A0000C160C0E904128161C16101624162FFF7E6 +:102A100027FE002803D0BDE81040FDF769BF10BDB8 +:102A200000440040D4010020FEE7FEE72DE9F0411C +:102A3000044600688846002550B1012808D00228C5 +:102A400006D0032804D040F6623167A001F069F88F +:102A50006068401E072804D940F6633162A001F087 +:102A600060F8A06808384E2804D940F664315EA0AA +:102A700001F057F8A069C10303D4C10201D4C10118 +:102A800002D56849084204D040F6653156A001F0ED +:102A900048F8654EF06880070FD0F06800F0030139 +:102AA0002068814207D130B1F0686168C0F302103C +:102AB000401C884220D0012593E02068012809D0DD +:102AC00002280AD00328F6D13168890309D4316875 +:102AD000490304E03168890701E0316849050029AC +:102AE000E9DAF16862686FF00F0321F0730103EB1C +:102AF000021211430143F160306820F080603060C1 +:102B0000FEF7F0FA074604E0FEF7ECFAC01B0228D5 +:102B10005DD830680001F7D4002D62D1B8F1000F04 +:102B200026D0B8F1010F34D0606902280AD00428F9 +:102B300008D0062806D0082804D040F6EE312AA096 +:102B400000F0EFFF207D4FF07E41400801EB406038 +:102B5000A16840EA01203169344A114008433061DC +:102B6000306840F080603060FEF7BCFA074630E025 +:102B7000E068801E1D2804D940F6B8311AA000F084 +:102B8000D0FFA068217B000240EAC1603169284A79 +:102B9000E3E7206902280AD0042808D0062806D0D6 +:102BA000082804D040F6DC310FA000F0BAFF208ADC +:102BB0002049400801EB4050A16840EA01203169FA +:102BC0001D4ACAE7FEF78EFAC01B022801D9032569 +:102BD00007E030680001F5D51DB93069A1690843E7 +:102BE00030612846BDE8F0812E2E2F44726976654B +:102BF00072732F53544D33324C3478785F48414CC4 +:102C00005F4472697665722F5372632F73746D33EC +:102C1000326C3478785F68616C5F7263635F65788B +:102C20002E630000FFFFEEFE00100240FF80FFF960 +:102C3000FF80FF070000E0FFFF809FFFF8B51C4EFC +:102C400005460024B06DC00002D5FEF7B5FB0DE0CF +:102C5000B06D40F08050B065B06D00F080500090D5 +:102C6000FEF7AAFBB16D21F08051B165B0F5007F90 +:102C700004D0802D07D94FF003040AE0802D08D935 +:102C8000A02D01D804E001D1022402E0702D00D172 +:102C900001240848016821F0070121430160006810 +:102CA00000F00700A04201D00120F8BD0020F8BDCF +:102CB000001002400020024010B5EFF311842023E1 +:102CC00083F3118800F004F8E1B281F3118810BD9C +:102CD0002DE9F0470F461C4904461646087808B906 +:102CE00000F07AFD184904EB440001EBC005B8463A +:102CF000D5E91B94002760354C4511D9A868071BFE +:102D0000B74200D3374668683A4601194046FDF796 +:102D100062FCA868F61B3C44B844A04200D10024E1 +:102D2000A9EB0400B04200D206463EB168683246C4 +:102D300001194046FDF74FFC3744344407B12C617C +:102D40003846BDE8F0870000A40200202DE9F041DC +:102D500007460B4815460E46007808B900F03CFDC2 +:102D6000EFF31184202080F311882A46314638463B +:102D700000F008F8E1B281F31188BDE8F0810000AD +:102D8000A402002070B50E46144900EB400001EB90 +:102D9000C0051446E86A183520B101280FD0022872 +:102DA00005D113E0284600F04BFDA04201D20024DB +:102DB00011E022463146284600F07AFD0BE0284615 +:102DC00000F03EFDA042F4D20446F2E73146284628 +:102DD00000F041FD0446204670BD0000A402002022 +:102DE00010B502F0DDF802F01FFEBDE8104002F061 +:102DF000E5B810B596B044216846FDF785FC14216E +:102E000011A8FDF781FC4FF40070FEF779FA08B1C4 +:102E100072B6FEE701200324009000040190022016 +:102E20002821CDE90A04CDE90C410721CDE90E1096 +:102E300010906846FEF7C2FE08B172B6FEE70F209A +:102E4000CDE911040020139014901590042111A8CD +:102E5000FEF70EFD002801D072B6FEE716B010BDD9 +:102E600070B5254C2068000704D4D4F89400C0F352 +:102E7000032002E02068C0F30310204951F820101D +:102E8000A0681F4A10F00C0007D01E4D042806D081 +:102E90001D4E082805D00C2805D011601CE01560D7 +:102EA0001AE0166018E0E06800F00303E068C0F381 +:102EB0000210401C022B19D0032B1AD0B1FBF0F0EA +:102EC000E168C1F306214143E068C0F34160401C62 +:102ED0004000B1FBF0F01060A0680849C0F3031097 +:102EE0001039085C1168C140116070BDB5FBF0F08D +:102EF000E6E7B6FBF0F0E3E70010024040600008B0 +:102F0000100000200024F400001BB70002480168F4 +:102F100041F470010160704788ED00E070B504462F +:102F2000406AFF2804D940F64D516BA000F0F9FD2E +:102F300094F82400000710D5606B38B1B0F5004F4D +:102F400004D040F6525164A000F0EBFD20684168C7 +:102F5000626B21F400411143416094F82400C007E2 +:102F600010D0A06A38B1B0F5003F04D040F65951F6 +:102F700059A000F0D6FD20684168A26A21F4003112 +:102F80001143416094F82400800710D5E06A38B1FD +:102F9000B0F5803F04D04FF456614FA000F0C1FD62 +:102FA00020684168E26A21F480311143416094F85D +:102FB0002400400710D5206B38B1B0F5802F04D025 +:102FC00040F6675144A000F0ACFD20684168226BD8 +:102FD00021F480211143416094F82400C00610D5EB +:102FE000A06B38B1B0F5805F04D040F66E513AA0C6 +:102FF00000F097FD20688168A26B21F48051114395 +:10300000816094F82400800610D5E06B38B1B0F5EB +:10301000005F04D040F675512FA000F082FD2068BB +:103020008168E26B21F400511143816094F824001F +:1030300040063AD53749206888420AD03649884246 +:1030400007D03649884204D040F67C5122A000F0D7 +:1030500068FD206C4FF4801530B1A84204D040F6D2 +:103060007D511DA000F05DFD20684168226C21F4B7 +:10307000801111434160206CA84216D1606C68B188 +:10308000B0F5001F0AD0B0F5800F07D0B0F5C00F23 +:1030900004D040F6825110A000F043FD2068416842 +:1030A000626C21F4C0011143416094F824000006D1 +:1030B00010D5A06C38B1B0F5002F04D040F68A517D +:1030C00005A000F02EFD20684168A26C21F40021CB +:1030D0001143416070BD00002E2E2F447269766549 +:1030E00072732F53544D33324C3478785F48414CCF +:1030F0005F4472697665722F5372632F73746D33F8 +:10310000326C3478785F68616C5F756172742E63BD +:10311000000000000038014000440040004800402A +:103120002DE9F84300250446C0F88450FDF7DAFF86 +:103130008046206800684FF0200600076FF07E4749 +:1031400012D54346002231042046009700F0D2FAFF +:1031500050B1206850E8001F21F0800140E80012C3 +:10316000002AF6D1E66721E020680068400722D5F2 +:10317000434600224FF480012046009700F0BAFA3F +:10318000C8B1206850E8001F21F4907140E8001297 +:10319000002AF6D12068083050E8001F21F0010114 +:1031A00040E80012002AF5D1C4F8806084F8785015 +:1031B0000320BDE8F883E667C4F8806044F8605FE8 +:1031C000656025760020F4E710B5806A0021A0F83C +:1031D0005A10A0F85210FFF7DEF810BD70B5846ADF +:1031E000E06FD4F88050216889684FF00006090626 +:1031F00006D5212804D1A4F85260204600F08EF8AC +:1032000020688068400606D5222D04D1A4F85A60B3 +:10321000204600F05DF8D4F8840040F01000C4F8B7 +:1032200084002046FFF7B7F870BD10B50146806AEC +:10323000096809684FF0000389062DD4A0F85A30B8 +:10324000016851E8002F22F4807241E80024002C2C +:10325000F6D10168083151E8002F22F0010241E85F +:103260000024002CF5D10168083151E8002F22F02C +:10327000400241E80024002CF5D12021C0F8801044 +:10328000016E012908D1016851E8002F22F01002D7 +:1032900041E80024002CF6D14366016E012902D0DA +:1032A000FFF7D8FA10BDB0F85810FFF72BF810BD93 +:1032B00010B5806A01214166016E012902D0FFF735 +:1032C000CAFA10BDB0F858104908FFF71BF810BD36 +:1032D000016851E8002F22F4907241E80023002B8E +:1032E000F6D10168083151E8002F22F0010241E8CF +:1032F0000023002BF5D1016E012908D1016851E8A6 +:10330000002F22F0100241E80023002BF6D12021EB +:10331000C0F880100021016681667047016851E89D +:10332000002F22F0C00241E80023002BF6D120211B +:10333000C16770472DE9F04704464068AD49002554 +:10334000884204D340F65841ABA000F0EAFBA068E5 +:103350004FF48057B0F1805F07D030B1B84204D04D +:1033600040F65941A4A000F0DCFBB24E2068711475 +:10337000B042E0684FF4006906D100281AD08842B4 +:1033800018D040F65C4112E0B8420AD048B1B0F51E +:10339000405F06D0884204D04FF4466196A000F00A +:1033A000C0FB206A30B1484504D040F6614192A08C +:1033B00000F0B7FB20694FF4806848B1404507D062 +:1033C000B0F5C06F04D040F664418BA000F0A9FBBB +:1033D000606930F00C0100D120B940F6654186A04B +:1033E00000F09FFBA06968B1B0F5807F0AD0B0F50E +:1033F000007F07D0B0F5407F04D040F666417EA044 +:1034000000F08FFBE0694FF4004730B1B84204D0C0 +:1034100040F6674178A000F084FBA1682069E2696A +:10342000014360691043014320680268824B1A40DF +:103430000A43026020684168E26821F44051114368 +:1034400041602168A069B14201D0226A10438A68B4 +:1034500022F4306202438A60784A216878489142B7 +:103460000DD1D0F8880010F0030006D0012842D01A +:10347000022831D003282ED13FE001202CE0714AF0 +:1034800091420BD1D0F8880010F00C0024D0042811 +:1034900022D008282DD00C281DD12EE06A4A914256 +:1034A0000BD1D0F8880010F0300015D0102822D0B1 +:1034B00020281ED030280ED11FE0B1420BD1D0F809 +:1034C000880010F4406007D0404514D0484510D023 +:1034D000B0F5406F11D010205C4A4FF00008B142A7 +:1034E00030D160B102280DD004280DD0082875D144 +:1034F00026E00220F0E70420EEE70820ECE7FEF7E4 +:10350000E5FA03E0104602E0FEF704FB80B36268D0 +:1035100002EB4201814261D8B0EB023F5ED8010E5E +:1035200003025008181841EB08010023FCF742FF82 +:10353000474AA0F54071914250D82168C8604EE0DA +:103540003846E4E7E1694FF6EF76B94229D1092818 +:1035500044D2DFE800F005080B430E434343240048 +:10356000FEF7B4FA07E0FEF7C3FA04E0104603E002 +:1035700035E0FEF7CFFA90B34100606801EB5001EF +:10358000B1FBF0F0A0F11001B14227D84FF6F07175 +:103590000140C0F3420001432068C1601FE038468B +:1035A000EAE709281AD2DFE800F005080B190D191F +:1035B00019192100FEF78AFA06E0FEF799FA03E0EE +:1035C000104602E0FEF7A6FA48B1616800EB510030 +:1035D000B0FBF1F0A0F11001B14209D90125C4F806 +:1035E00068802846C4F86C80BDE8F0873846ECE770 +:1035F00080B2A2E7819698002E2E2F4472697665DC +:1036000072732F53544D33324C3478785F48414CA9 +:103610005F4472697665722F5372632F73746D33D2 +:10362000326C3478785F68616C5F756172742E6398 +:103630000000000000800040F369FFEF0038014007 +:103640000010024000440040004800400024F40004 +:10365000FFFC0F0070B54165A0F85820002104461A +:10366000C0F884102220C4F88000606FD8B11E4BCF +:10367000C362636F1D481863636F1D485863606FB2 +:1036800013468163606D656F2168024628462431C8 +:10369000FDF704FB38B11020C4F884002020C4F8E2 +:1036A0008000012070BD206940B1206850E8001FF3 +:1036B00041F4807140E80012002AF6D120680830F9 +:1036C00050E8001F41F0010140E80012002AF5D146 +:1036D0002068083050E8001F41F0400140E8001227 +:1036E000002AF5D1002070BD2B320008B13200084D +:1036F000DD3100082DE9F0471F4690460D4604468F +:103700004FF00009089E32E0701C30D0FDF7EAFC53 +:10371000C01BB04218D8BEB120680168490726D541 +:10372000802D24D0402D22D0C169C94309070DD472 +:10373000082505622046FFF7CBFDC4F8845084F8C5 +:1037400078900120BDE8F0870320FBE7C069C04303 +:1037500000050CD421684FF4006008622046FFF792 +:10376000B7FD2020C4F8840084F87890ECE7206846 +:10377000C06935EA000004D000204045C4D00020D4 +:10378000E0E70120F9E7000010B5104C2068C1699E +:10379000C943C90615D4102101622046FEF7B4FDC5 +:1037A000606F006840686423C0F5807082B2084989 +:1037B0002046FFF751F84FF4807205492046FFF785 +:1037C00025F8BDE810400148FEF7E6BDD401002011 +:1037D000D4000020FEE7000010B5124C0320206149 +:1037E000606111A0A06104F1A800E0614FF4806065 +:1037F00020620021A1626162E1620BA0206604F5F3 +:10380000956060661020A0662167E166616709A186 +:10381000E01DFCF746FE08A12046FCF742FE2020F2 +:10382000A07110BDA40200205465726D696E616CB8 +:1038300000000000525454005345474745520000D1 +:103840000269C1688A4203D88068401A104400E0C7 +:10385000501A401E70472DE9F047C4681746894644 +:1038600005464FF000082869A04201D9061B02E076 +:10387000A968201A0E1AA868761E001BB04200D84C +:103880000646BE4200D33E4668683246204449465A +:10389000FCF7A1FEA868BF1B3444B044B144A04269 +:1038A00000D10024EC60002FDDD14046BDE8F08758 +:1038B0002DE9F04104468846D4E90207C51BE168BA +:1038C000606816460844B54206D94146FCF783FEB7 +:1038D000B819E060BDE8F0812A464146FCF77BFE5E +:1038E000761B08EB050132466068FCF774FEE66063 +:1038F000F0E70907090E002804DB00F1E02080F85A +:103900000014704700F00F0000F1E02080F8141D53 +:1039100070470000002807D00E4910F0FF0F04D0B8 +:1039200051FA80F00078401C704710F47F4F04D0AB +:10393000C0F30720085C0930704710F47F0F04D0F3 +:10394000C0F30740085C1130704701EB106000784D +:1039500019307047786000082DE9F04F89B0934620 +:1039600088460746002500E06D1C785D202803D0BE +:10397000092801D04545F7D34FF0FF3A4DB316481B +:103980000026DFF85890046809E02A463946206886 +:10399000FCF7CAFD10B92068405DC0B10C34D9F8FD +:1039A00000008442F1D3A6B120220021684601F034 +:1039B000AFFB6A464146384600F0C0FF48B1694651 +:1039C000B047CBF80000002009B000F009B8A668A5 +:1039D000E9E75046F8E70000140000201800002036 +:1039E00030BCBDE8C08F000010B5044605488068B3 +:1039F000FFF790FF0449401E51F830102060A1F1FC +:103A0000140010BDBC000020D809002070B50C487F +:103A10000468FCF72BFC0546204601F0BFFC04F1CE +:103A2000440002F095F8042084F83400204601F0A8 +:103A3000E5FE2846FCF71EFCBDE8704001F016BC10 +:103A4000C00000202DE9FC4119460446DDE9083795 +:103A5000DDE90A65143040600060C4E90821C4E96A +:103A60000A373A462321184601F052FBD4E90A01ED +:103A70004218D4E908010E4B121F01F073FAE061FD +:103A800084F835600020C4E90E052564206384F8BD +:103A9000340020676067009023460190054A19466C +:103AA00004F1440002F068F80020BDE8FC81000049 +:103AB0000D3A0008B93A000870B50446FCF7D6FB89 +:103AC00005466FF00100206304F1140001F0C1FA13 +:103AD000204601F029FC2846FCF7CCFBBDE87040ED +:103AE00001F0C4BB10B5029C24F001044472C0E98B +:103AF00007120021C0E9093100EBC1021432491C50 +:103B0000526012600129F7DB10BD70B50546002434 +:103B100005EBC400143001F0A5FA641C012CF7DB9E +:103B200070BD704710B51BA001F056FA1C4C2178EF +:103B30001CA001F051FA2078C00702D01FA001F0AC +:103B40004BFA2078800702D51FA001F045FA2078B3 +:103B5000400702D51FA001F03FFA2078000702D5E8 +:103B600020A001F039FA2078C00602D520A001F08B +:103B700033FA2078000607D509480F300168BDE800 +:103B800010401DA001F028BABDE810401EA001F0B1 +:103B900023BA0000627573206661756C743A0A007E +:103BA00029ED00E05343425F434653525F42465380 +:103BB000523A30782530325820000000494255539F +:103BC000455252200000000050524543495345528F +:103BD00052200000494D505245434953455252200E +:103BE00000000000554E53544B4552522000000037 +:103BF00053544B45525220005343422D3E424641BE +:103C0000523A253038580A000A00000010B502A0C8 +:103C100001F0E2F9002010BD1B5B324A1B5B48003B +:103C200010B50C46022811D115A16068FCF7BEFD45 +:103C300000281BD014A16068FCF7B8FD002818D03C +:103C400013A16068FCF7B2FD002815D011A001F0A7 +:103C5000C3F916A001F0C0F917A001F0BDF91DA02D +:103C600001F0BAF922A001F0B7F907E000F032FB49 +:103C700004E000F00DFC01E000F08AFA002010BD25 +:103C8000746872656164000074696D65720000009B +:103C900073656D0055736167653A206C69737420B4 +:103CA0005B6F7074696F6E735D0A00005B6F707498 +:103CB000696F6E735D3A0A00202020207468726577 +:103CC0006164202D206C697374207468726561646E +:103CD000730A00002020202074696D6572202D2059 +:103CE0006C6973742074696D6572730A000000005A +:103CF0002020202073656D202D206C697374207343 +:103D0000656D6170686F7265730A00000D4810B5CB +:103D1000C16891F82110890703D40B49002008706D +:103D20000EE0816821B180220748FCF714FD03E012 +:103D300006A10548FCF7B5FB06A10348FCF73FFCCC +:103D4000014810BD140000205C0700206D7368203E +:103D5000000000003E0000000349C96811F8212F4F +:103D600060F341020A70704714000020014AC2E962 +:103D700000017047140000207CB516491648FFF773 +:103D8000F5FF7821012000F02DFF144DE860D0B13F +:103D90000A211520CDE900014FF48063002210496B +:103DA00010A001F0EEFC044600231A460FA1E868BB +:103DB00001F01AFB0120FFF7CFFF14B1204601F0FC +:103DC000DDFD00207CBD0BA001F006F94FF0FF30B7 +:103DD0007CBD0000986300083863000814000020D0 +:103DE0000D3E0008747368656C6C0000736872782F +:103DF000000000006E6F206D656D6F727920666F38 +:103E000072207368656C6C0A00000000944EF068C4 +:103E100010F8211F41F001010170FFF777FF01F059 +:103E2000DBF8002500F063FF0400FBD41B2C07D057 +:103E3000F06890F82010012907D002290ED017E071 +:103E4000F168012081F82000ECE75B2C02D080F8BB +:103E500020500DE0022180F82010E3E780F8205088 +:103E6000412CDFD0422CDDD0442C38D0432C42D022 +:103E7000002CD7D0FF2CD5D0092C4DD07F2C70D062 +:103E8000082C6ED00D2C6BD00A2C69D0B0F87410B1 +:103E9000502901D3A0F87450B0F87630B0F87410FF +:103EA0008B427DD2CA1A00F12201233019441844F2 +:103EB00001F017F9F068B0F8761022300C54F06871 +:103EC00090F82110C90706D0B0F8761022300144CE +:103ED00064A001F081F8F068B0F876409CE0B0F89A +:103EE000760000289ED060A001F076F8F06830F8E7 +:103EF000761F491E0EE0B0F87610B0F8742091429B +:103F000090D22230095C59A001F066F8F06830F8D0 +:103F1000761F491C018085E7002403E052A001F0D0 +:103F20005BF8641CF068B0F87600A042F6DCF46838 +:103F30004FA0223401F050F8204600F051FCFFF76A +:103F4000E5FE014622464BA001F046F8F06822301B +:103F5000FCF7CBFAF16821F8740F488062E700E0C3 +:103F60003DE0B0F87620002AD5D0B0F87410521E8B +:103F7000491E89B293B2A0F87410A0F87630994225 +:103F800024D9CA1A00F1230122301944184401F03F +:103F9000A8F8F068B0F8741022300D54F06800E012 +:103FA00040E0B0F876102230014434A001F014F85B +:103FB000F068B0F8764003E02BA001F00DF8641C27 +:103FC000F068B0F87400A042A5DBF5E72DA001F081 +:103FD00003F8F068B0F8741022300D5422E790F81E +:103FE0002100C00702D022A000F0F6FFF068B0F870 +:103FF0007410223000F040FCFFF788FE00F0ECFF68 +:10400000F06851220021223001F082F8F06822E0AD +:1040100015A000F0E1FF641CF068B0F87400A04245 +:10402000F6DC0AE022300C54F06890F82100C0075A +:1040300003D021460DA000F0CFFFF068B0F8741057 +:10404000491C89B2A0F87410B0F87620521CA0F870 +:1040500076205029C2D320F8745F4580E2E6000044 +:1040600014000020257300000800000025630000F4 +:104070000A00000025732573000000000825732046 +:10408000200800000820080010B5124C20688007A6 +:1040900002D511A000F0A0FF2068400011D50D4806 +:1040A000C01E007808B1FFF73DFD0A48001F0078E8 +:1040B00008B100F029FB0748801E008808B101F014 +:1040C00045FF2068002804DABDE8104008A000F091 +:1040D00083BF10BD2CED00E06661696C65642076DD +:1040E0006563746F722066657463680A000000007F +:1040F0006465627567206576656E740A000000006D +:104100002DE9F04104461E4617460D46084601F0CB +:104110006BF8001D2060257200206760C4E9036011 +:10412000BDE8F0812DE9F04100260D460E61C96819 +:1041300049B1297A39B12F6840B10446FCF796F8A5 +:10414000014636B111E00020BDE8F0813C46012671 +:10415000F4E7A4F10C002A7A007A20F08000904263 +:1041600003D00846FCF786F8EDE768680026246867 +:10417000BC4201D1002404E010C0EA68761CB242BF +:10418000F5D10846FCF776F820462E61DCE7000002 +:104190002DE9F04190B0002733A4082302AA0221A0 +:1041A0000AA8FFF7ADFF082080460146224631A04D +:1041B00000F012FF404600F029FC35A000F00CFF93 +:1041C0000AA93846FFF7AEFF0746002643E002A8DB +:1041D00050F826400C3CFCF749F8217A9DF8302035 +:1041E00021F08001914202D0FCF744F832E0FCF764 +:1041F00041F8606904F11405A84228460BD100F08B +:1042000016FFA18BCDE9001023460822414626A0C7 +:1042100000F0E2FE1EE000F00AFFA18BCDE90010E5 +:1042200023460822414624A000F0D6FE2C680CE06C +:10423000A4F11402082124A000F0CEFE2068A842B8 +:1042400002D023A000F0C8FE2468AC42F0D10FA039 +:1042500000F0C2FE761C0E98B042B8DC002FAFD141 +:1042600010B00020BDE8F08173656D6170686F72F9 +:1042700065000000252D2A2E7320762020207375DE +:104280007370656E64207468726561640A00000072 +:10429000202D2D2D202D2D2D2D2D2D2D2D2D2D2D68 +:1042A0002D2D2D0A00000000252D2A2E2A732025F1 +:1042B0003033642025640A00252D2A2E2A732025F8 +:1042C0003033642025643A00252E2A730000000054 +:1042D0002F0000002DE9F041AEB000263DA40823D8 +:1042E00020AA012128A8FFF70BFF082080460146DD +:1042F00022463A4800F070FE404600F087FB38A0A6 +:1043000000F06AFE28A93046FFF70CFF064600259C +:1043100057E020A850F825400C3CFBF7A7FF0746C4 +:10432000207A9DF8A81020F08000884203D03846FB +:10433000FBF7A0FF44E07822214602A800F0ACFE83 +:104340003846FBF797FF94F8350000902346082283 +:10435000414633A000F040FE94F8340000F007011D +:10436000012907D0022907D041B1042908D0032927 +:1043700008D00AE02DA006E02FA004E031A002E062 +:1043800033A000E035A000F027FEA76A00E07F1C04 +:1043900038782328FBD0206B01F07EF90146D4E960 +:1043A0000A023B1AD31A64277B43276CCDE90071BC +:1043B000B3FBF2F3E169401A81182BA000F00CFE68 +:1043C0006D1C2C98A842A4DC002E9BD12EB000209E +:1043D000BDE8F08174687265616400009C6100084A +:1043E000202D2D2D20202D2D2D2D2D2D2D202D2D31 +:1043F0002D2D2D2D2D2D2D2D202D2D2D2D2D2D2DFA +:104400002D2D2D20202D2D2D2D2D2D20202D2D2D10 +:104410002D2D2D2D2D2D2D202D2D2D0A00000000B0 +:10442000252D2A2E2A7320253364200020726561F1 +:1044300064792020000000002073757370656E643D +:104440000000000020696E69742020200000000038 +:1044500020636C6F73652020000000002072756E71 +:104460006E696E67000000002030782530387820B3 +:1044700030782530387820202020253032642525DA +:104480002020203078253038782025730A0000005D +:10449000F0B58FB000262AA4082302AA0A210AA890 +:1044A000FFF72EFE08272246394627A000F094FD8C +:1044B000384600F0ABFA31A000F08EFD0AA9304674 +:1044C000FFF730FE064600252CE002A850F82540F4 +:1044D0000C3CFBF7CBFE217A9DF8302021F08001C7 +:1044E000914202D0FBF7C6FE1BE0FBF7C3FED4E906 +:1044F0000901CDE900012346082239462BA000F02E +:104500006BFD607AC00701D02EA000E031A000F062 +:1045100063FD607A800701D532A000E034A000F08E +:104520005BFD6D1C0E98A842CFDC002EC6D101F0B9 +:1045300075FA014631A000F04FFD0FB00020F0BD2C +:1045400074696D6572000000252D2A2E732020707D +:104550006572696F64696320202074696D656F7589 +:104560007420202020616374697661746564202062 +:104570002020206D6F64650A00000000202D2D2D85 +:104580002D2D2D2D2D2D2D202D2D2D2D2D2D2D2D68 +:104590002D2D202D2D2D2D2D2D2D2D2D2D2D202D65 +:1045A0002D2D2D2D2D2D2D2D0A000000252D2A2EEF +:1045B0002A732030782530387820307825303878C4 +:1045C00020000000616374697661746564202020B6 +:1045D000000000006465616374697661746564203D +:1045E00000000000706572696F6469630A00000072 +:1045F0006F6E652073686F740A00000063757272D5 +:10460000656E74207469636B3A3078253038780AA7 +:10461000000000001CB5FCF76BFDFEF7EAFBFEF79F +:10462000ADF9FEF795F9FEF7E1F917480068016862 +:1046300041F0100101604FF4807214491248FEF7F6 +:10464000E5F80A211420CDE900014FF4806310A29F +:10465000124913A001F095F81449086010B101F057 +:104660008DF902E012A000F0B7FC41F2883001F0B1 +:1046700038F96423252216A10348FEF7EDF805203A +:1046800001F02FF9FBE70000D4010020D400002046 +:1046900048656C6C6F2D525400000000052900081D +:1046A0004C45445F7461736B000000000000002003 +:1046B0004C45445F7468726561642063726561741F +:1046C000696F6E206661696C6564210A00000000F4 +:1046D00048656C6C6F2074686973206D7920626C1A +:1046E00065206D6F64756C652077616B65207570F2 +:1046F00020636F646500000010B500F08FFABDE81C +:104700001040FFF787BF000010B518A000F064FC50 +:104710001B4C21781BA000F05FFC2078C00702D062 +:104720001EA000F059FC2078800702D51EA000F0E2 +:1047300053FC2078000702D51EA000F04DFC207825 +:10474000C00602D51EA000F047FC2078000607D561 +:104750000B480C300168BDE810401CA000F03CBCC8 +:10476000BDE810401D4800F037BC00006D656D20AD +:104770006D616E616765206661756C743A0A000050 +:1047800028ED00E05343425F434653525F4D46538A +:10479000523A3078253032582000000049414343D6 +:1047A00056494F4C200000004441434356494F4C6A +:1047B000200000004D554E53544B455252200000EE +:1047C0004D53544B45525220000000005343422D9C +:1047D0003E4D4D41523A253038580A00BC5F000822 +:1047E0002DE9F0478146002500782E4620B11F486C +:1047F000DFF87C80046829E0BDE8F0470021084626 +:1048000000F06CB848462768FBF76FFE0246394651 +:104810004846FBF789FEC0B925B93E463846FBF746 +:1048200064FE05463946304601E0401C491C0378C9 +:104830001BB10A780AB19342F7D0801BA84200DA74 +:10484000054639460BA000F0C7FB0C34D8F8000031 +:104850008442D7D3002E06D02A4631464846BDE8CA +:10486000F04700F02FBFBDE8F087000014000020E3 +:104870001800002025730A0038B5054601E0491EDE +:104880006D1C59B128782028F9D00928F7D06A463C +:104890002846FFF761F818B12C4604E0002038BD27 +:1048A000009838BD641C2078202801D00028F9D158 +:1048B00000202070294603A000F08EFB4FF0FF304F +:1048C00038BD000025733A20636F6D6D616E642002 +:1048D0006E6F7420666F756E642E0A0070B50AA044 +:1048E00000F07AFB0F48104D046805E0D4E900128F +:1048F0000EA000F071FB0C3428688442F6D30EA0A1 +:1049000000F06AFB002070BD52542D54687265613E +:1049100064207368656C6C20636F6D6D616E647389 +:104920003A0A00001400002018000020252D31361E +:1049300073202D2025730A000A00000070B50023A3 +:1049400015461C461E464AE000F8016B5B1C0278C7 +:10495000202A01D0092A01D18B42F5D3082C10D38B +:1049600021A000F039FB002605E055F8261026A00E +:1049700000F032FB761CA642F7D322A000F02CFBFD +:104980002FE08B422DD2D2B2222A03D045F8240048 +:10499000641C1BE0401C45F824005B1C641C08E000 +:1049A0005C2A04D14278222A01D1401C5B1C401CA5 +:1049B0005B1C0278222A01D08B42F1D38B4210D2A9 +:1049C00000F8016B5B1C0AE0401C5B1C0278202A8B +:1049D00003D0092A01D08B42F6D38B4201D28B42FD +:1049E000B5D3204670BD0000546F6F206D616E79A5 +:1049F00020617267732021205765206F6E6C7920CB +:104A00005573653A0A0000002573200010B504466E +:104A100002E003A000F0E0FA641EFAD210BD00002C +:104A20002D00000030B5826A4B6800241A44914280 +:104A300011D01378DB070ED1C36A93420BD0036BFE +:104A4000934200D10163146053684B60836A5268DB +:104A5000CD1A1A449560826A8B681A448A420ED035 +:104A60001378DB070BD1036B8B4200D102630C6020 +:104A70004B685360806A4968121A0844826030BDEE +:104A80002DE9FF4F9B46DDE90DE50F9CA846630627 +:104A900001D5454B01E0444B113B9946E30601D556 +:104AA00024F00104E30701D0302300E020239A46DC +:104AB0000026A3070BD5002A02DA2D26524206E073 +:104AC000630701D52B2602E0230700D5202600230B +:104AD00022B930228DF8002001230CE0BBF10A0F2F +:104AE00014D002F00F0C120919F80CC00DF803C015 +:104AF0005B1C002AF2D1AB4200DD1D46AEEB050285 +:104B000014F0110F4FF0200C08D015E00A27B2FB6B +:104B1000F7FC07FB1C2CB2FBF7F2E5E746B1002AD5 +:104B200006DD521E04E0884201D280F800C0401C1D +:104B3000171EA2F10102F6DC26B1884200D20670EF +:104B4000401C521EE40605D508E0884201D280F8D8 +:104B500000A0401C141EA2F10102F6DC30242E46F7 +:104B60006D1E9E420ADD884200D20470401CF6E7AA +:104B7000884201D2E55C0570401C00E06C461D1EB9 +:104B8000A3F1010308DDB8F1000FF1D104E0884280 +:104B900001D280F800C0401C131EA2F10102F6DC15 +:104BA00004B000F003B800008961000830BCBDE823 +:104BB000C08F00F0C5B800001CB514210A20CDE953 +:104BC00000014FF480630022034904A000F0D9FDE6 +:104BD000BDE81C4000F0D2BEF94600086D61696E68 +:104BE0000000000070B54843044600F045FA050097 +:104BF00003D02246002100F08BFA284670BD000049 +:104C000070B5044C044D02E020688047241DAC427E +:104C1000FAD370BD246300082C63000870B5044CFF +:104C2000044D02E020688047241DAC42FAD370BDD9 +:104C30002C6300083463000810B5FBF717FB044A27 +:104C40005188491C5180BDE81040FBF713BB0000A0 +:104C5000BC00002010B5FBF709FB0B4C6188491E16 +:104C600009B2618000290ADC00216180FBF702FBA8 +:104C70006068002807D0BDE8104000F0F7BABDE832 +:104C80001040FBF7F7BA10BDBC00002010B50400BF +:104C900008D0FFF7D1FF204600F074FCBDE81040BB +:104CA000FFF7D8BF10BD000000487047D80A0020A9 +:104CB00000487047D846002010B5FCF719FAFEF7F7 +:104CC00098F8FEF7CDF8FCF7FBFE4FF47A71B0FBD5 +:104CD000F1F0FDF703FBFFF793FFFFF7E9FF044651 +:104CE000FFF7E2FF2146BDE8104000F0FFBC08B529 +:104CF0004FF0FF300090012269460020FDF7DCFFF5 +:104D00000098C0B208BDF8B505460D208DF800002A +:104D10000024284600F0CEFC06460DE0285D0A2857 +:104D200004D1012269460020FEF710F8291901225A +:104D30000020FEF70BF8641CB442EFD3F8BD00006E +:104D400002490148086070470400FA050CED00E0D4 +:104D500070B530490546283009682C1D11B18847C7 +:104D6000002855D02CA0216C00F036F92EA0616AE5 +:104D700000F032F930A0A16A00F02EF932A0E16A09 +:104D800000F02AF934A0216B00F026F936A0616802 +:104D900000F022F938A0A16800F01EF93AA0E168FD +:104DA00000F01AF93CA0216900F016F93EA06169F3 +:104DB00000F012F940A0A16900F00EF942A0E169EB +:104DC00000F00AF944A0216A00F006F946A0616BE0 +:104DD00000F002F948A0A16B00F0FEF84AA0E16BD8 +:104DE00000F0FAF82878400706D500F09FFD01464C +:104DF00049A000F0F1F802E04FA000F0EDF82878AB +:104E0000C00602D453A000F0E7F8FFF73DF9FEE733 +:104E100070BD0000240000207073723A20307825A5 +:104E20003038780A000000007230303A203078259F +:104E30003038780A000000007230313A203078258E +:104E40003038780A000000007230323A203078257D +:104E50003038780A000000007230333A203078256C +:104E60003038780A000000007230343A203078255B +:104E70003038780A000000007230353A203078254A +:104E80003038780A000000007230363A2030782539 +:104E90003038780A000000007230373A2030782528 +:104EA0003038780A000000007230383A2030782517 +:104EB0003038780A000000007230393A2030782506 +:104EC0003038780A000000007231303A20307825FE +:104ED0003038780A000000007231313A20307825ED +:104EE0003038780A000000007231323A20307825DC +:104EF0003038780A00000000206C723A20307825A3 +:104F00003038780A000000002070633A203078259D +:104F10003038780A000000006861726420666175AC +:104F20006C74206F6E207468726561643A2025731A +:104F30000D0A0D0A00000000686172642066617548 +:104F40006C74206F6E2068616E646C65720D0A0D62 +:104F50000A00000046505520616374697665210D92 +:104F60000A00000070B50546121D22F00700443803 +:104F70000A4C0646002240F82240521C112AFAD35D +:104F8000416200218162C1624FF0807200F13404FD +:104F90000264016384E82A00316070BDEFBEADDEBB +:104FA00010B5FBF763F9044A1178491C1170BDE88C +:104FB0001040FBF75FB900004000002010B5FBF780 +:104FC00055F9044A1178491E1170BDE81040FBF7ED +:104FD00051B90000400000200FB47F2110B503AB91 +:104FE0000748029A00F044FE04467F2800D97F2437 +:104FF0000348FFF788FE204610BC5DF814FB000054 +:10500000580900200268516002680A600160486027 +:1050100070470268516002680A600160486070472A +:105020000168814201D1012070470020704702468B +:105030000020114600E0401C09689142FBD17047F6 +:10504000D0E900124A60D0E90012116040600060AF +:105050007047D0E900124A60D0E900121160406048 +:1050600000607047D0E900124A60D0E90012116078 +:10507000406000607047000010B50446FFF7DCFD9B +:1050800004482146406800F023FA0446FFF7E2FD99 +:10509000204610BD4400002010B50346102A1DD341 +:1050A00041EA0304A40719D110C9103A10C310C96A +:1050B000102A10C351F8084B43F8084B51F8044C20 +:1050C00043F8044CF0D202E010C9121F10C3042AA6 +:1050D000FAD203E011F8014B03F8014B521EF9D24A +:1050E00010BD10B5034681420FD28C189C420CD9DA +:1050F000811803E014F8013D01F8013D521EF9D278 +:1051000010BD11F8014B03F8014B521EF9D210BD2E +:1051100010B50346CCB2042A19D3810717D119461A +:1051200044EA042343EA034306E008C1103A08C1F5 +:1051300041F8083B41F8043C102AF6D201E008C1CE +:10514000121F042AFBD20B4601E003F8014B521E4A +:10515000FBD210BD2DE9F0410F46064600F044F8A1 +:105160000546C068FFF788FF041E17D00021EA68D3 +:10517000FFF7CEFF267200206072082239462046D3 +:1051800000F0A0FAFBF772F8064604F10C01281DA6 +:10519000FFF738FF3046FBF76DF82046BDE8F08199 +:1051A00070B5044600202072FBF760F8054604F154 +:1051B0000C00FFF745FF2846FBF75CF82046BDE8EA +:1051C0007040FFF763BD70B5044600202072FBF706 +:1051D0004DF8054604F10C00FFF732FF2846BDE804 +:1051E0007040FBF747B80000074A002102EB0113AB +:1051F0001B78834202D102EB01107047491C04293D +:10520000F4DB0020704700007C0000202DE9F04115 +:10521000054617460E460846FFF7E6FF0446FFF729 +:105220000BFD211D606800E000688842FCD1FFF79B +:1052300011FD46F08000287208223946284600F009 +:1052400041FAFBF713F8064605F10C01201DFFF7A4 +:10525000D9FE3046BDE8F041FBF70CB8007A0006F5 +:1052600001D501207047002070470000F8B5FAF71B +:10527000FDFF2B4D07466888D8BBA868C8B3002639 +:105280006846FEF7B1FB69680446284691F8342069 +:1052900002F00703032B0ED191F83530009DAB428D +:1052A00002D303D1130701D40C4600E0012622F0FB +:1052B000080281F834208C4222D0009A02700D46F8 +:1052C000446016B1084600F02FF8204600F066F85A +:1052D00094F8340020F00700C01C84F83400114812 +:1052E000007804F11C01002805F11C0002D0FAF737 +:1052F000C4FF10E0FAF7C1FF3846FAF7BBFFF8BD6C +:105300000446084600F04AF8606810F8341F21F09F +:105310000701C91C01703846BDE8F840FAF7AABF7A +:10532000BC0000204000002070B50446FAF79EFF44 +:10533000184B02465868844206D114F8340F20F006 +:105340000700C01C207020E094F83400124920F0BF +:105350000700401C84F83400050794F8355004F128 +:10536000140001EBC50106D54D6828604D68456005 +:105370004860016005E00D6868600D6805600860C0 +:105380004160A06B996808439860BDE87040104682 +:10539000FAF770BFBC000020D809002070B50546A0 +:1053A000FAF764FF05F114040146D4E900024260F3 +:1053B000D4E900021060AC616C6195F83500084AD0 +:1053C00002EBC0000268824204D10648AB6B8268DF +:1053D0009A438260BDE870400846FAF74BBF000070 +:1053E000D8090020BC0000202DE9F04116460A46ED +:1053F0001F4605460221FFF709FF05F11404AC61C1 +:105400006C61AE836F720020BDE8F0811CB50AA00C +:10541000FFF7E2FD0BA0FFF7DFFD13A115A0CDE91B +:10542000000101231A46042115A0FFF7D5FD1DA098 +:10543000FFF7D2FD1CBD00000A205C207C202F0A53 +:10544000000000002D205254202D20202020205428 +:105450006872656164204F7065726174696E67205F +:1054600053797374656D0A0031303A34353A333705 +:10547000000000004D617920313420323032350097 +:10548000202F207C205C202020202025642E2564D5 +:105490002E2564206275696C642025732025730AAB +:1054A000000000002032303036202D2032303232E1 +:1054B00020436F7079726967687420627920525452 +:1054C0002D546872656164207465616D0A00000086 +:1054D000F0B5E9B3C91C21F003030C2B00D20C2357 +:1054E000426B9A424CD3846A016B091BD61A45E081 +:1054F00062181578ED073FD155686D1A0C3D9D4235 +:105500003AD3556803F118076E1A0C3EBE4222D3F7 +:10551000CD180C352C4420F0010626605668C4E9ED +:10552000016155606168446B0C34A14202D0846A09 +:1055300021448D60016A0C3319440162436A8B4235 +:1055400000D2416240F001011160016B914200E024 +:1055500016E008D00DE0111B691A036AECE7836AB4 +:105560004968194401630B78DB0702D0C36A99428A +:10557000F5D102F10C00F0BD091D61588E42B7D281 +:105580000020F0BD010011D00C39086820F00100A6 +:105590000860026B8A4200D90163836A4A68CB1AA9 +:1055A000D21A036A9A1A0262FFF73CBA70470000E7 +:1055B0002DE9F04106461346C81C20F0030404F10F +:1055C0003802D01C20F003050B4423F003001828F8 +:1055D00030D9A0F1180797422CD3471B382200215D +:1055E0002046183FFFF794FD32460C212046FFF776 +:1055F0000DFE04F1140112A081E8A1006763A56209 +:105600002C60606B0C3068600020A860A06A69683C +:10561000084444F00101E0620160606BE16A0C3013 +:105620004860606BE16A0C308860A06A20632046A5 +:10563000BDE8F0811A4604A0FFF7CEFC0020F7E792 +:10564000736D616C6C0000006D656D20696E69742E +:105650002C206572726F7220626567696E206164CA +:10566000647265737320307825782C20616E642015 +:10567000656E642061646472657373203078257888 +:105680000A0000000FB410B504AA039900F023FC2F +:1056900010BC5DF814FB0000002800DA4042044909 +:1056A0000B2801DDC86A704751F8200070470000E0 +:1056B0004C000020014600E0491C0A78002AFBD17A +:1056C000081A704710B5002A07D0034611F8014B9D +:1056D00003F8014B2CB1521EF8D110BD03F8011B89 +:1056E00000E00021521EF9D110BD00000B46C11C84 +:1056F00021F0030223F003018A1A10B5014603A02A +:10570000FFF756FF0349486010BD000068656170EF +:10571000000000004400002010B5074B0022074C99 +:105720005A80104604EBC001401C496009602028E3 +:10573000F8DB9A6010BD0000BC000020D8090020F2 +:1057400038B56846FEF750F90446064844602046DE +:10575000FFF724FE032084F8340004F11C00FAF75C +:10576000D2FD38BDBC000020044A002002EBC0017D +:10577000401C49600960F9D070470000CC0000204F +:1057800070472DE9FF478946DDE90C7682460146E0 +:105790001D4690460120FFF7DDFC041E0DD0284673 +:1057A000FFF76AFC60B103968DE8A10043464A46C4 +:1057B00051462046FEF746F9204604B0BDE8F08782 +:1057C0002046FFF7EDFC0020F7E7000070B50A491E +:1057D00000250C688C420DD0A4F11405FAF746FDA3 +:1057E000D4E900124A60D4E90012116064602460B8 +:1057F000FAF740FD284670BD3800002004491430F7 +:105800000A6850600A6802600860416070470000E2 +:1058100038000020FFF7DAFF0400FBD0266FFFF707 +:105820001DFD0546012802D12046FFF7CCFC0EB134 +:105830002046B047002DEDD1A06AFFF727FA204699 +:10584000FFF7AEFCE6E700002DE9F047DFF84CA0DB +:10585000002486B020264FF01F084FF48079AAF16B +:10586000780522460EA104A8FFF70CFF0AEB0421DD +:10587000CDE90019C4EB0410CDE9028605EBC000A8 +:1058800007460023084A04A900F010F8384600F043 +:1058900075F8641CE5D006B0BDE8F0875808002014 +:1058A0007469646C65256400155800082DE9FF5F74 +:1058B00092460EAA0F4692E870010A469946834620 +:1058C0000121FFF7A3FC8DE870014B465246394693 +:1058D0005846FEF7B7F804B000F000B830BCBDE899 +:1058E000C09F10B500F081F8BDE8104000F024B86A +:1058F00070B5044690F8340000F00700022802D08A +:105900004FF0FF3070BDFAF7B1FC054604F114000A +:10591000FFF79FFB04F1440000F092F92046FFF7E7 +:1059200003FD2846FAF7A6FC002070BD0148006878 +:1059300070470000C0000020F1B50F480468FAF776 +:1059400095FC064600252046256300F02BF804F15F +:1059500044006A460021074600F0D4F8384600F0BB +:105960001FF93046FAF786FCFFF780FC206B801C9D +:1059700000D12563206BF8BDC000002010B590F861 +:105980003520012191408163022180F83410FFF716 +:10599000AFFF0348006808B1FFF768FC002010BDA6 +:1059A000C000002070B5044690F8340000F00700F5 +:1059B000012804D0032802D04FF0FF3070BDFAF761 +:1059C00055FC05462046FFF7E9FC94F8340020F02A +:1059D0000700801C84F8340004F1440000F030F922 +:1059E0002846FAF747FC002070BD002802DA4FF085 +:1059F000FF3070474FF47A7190FBF1F290FBF1F3B6 +:105A000001FB130000EB40034A43C3EBC0104B1EE5 +:105A100003EBC00090FBF1F01044704701480068B0 +:105A2000704700003400002010B5FAF71FFC044650 +:105A30000E480168491C0160FFF778FF016C491EA0 +:105A4000016406D02046FAF715FCBDE8104000F0CE +:105A50000FB8C16B016410F8341F41F008010170E8 +:105A60002046FAF707FCFFF701FCEEE734000020C0 +:105A70002DE9FC41CDF804D0CDF800D0FFF7CEFFE2 +:105A80000646FAF7F3FB05462FE01D486FF000418C +:105A900004686069143C301A88422BD22046FEF715 +:105AA00034F8607A810702D420F00100607204F1BA +:105AB00014010F466846FFF7ACFAD4E9071088478F +:105AC000FFF7ACFF06466846FFF7AAFA68B9384602 +:105AD000FFF7C8FA607A810707D5C10705D020F023 +:105AE00001006072204600F05BF80548FFF798FA65 +:105AF0000028CAD02846FAF7BDFBBDE8FC810000AB +:105B0000CC00002070B515460E460446FAF7AEFBF1 +:105B1000062E17D2DFE806F00503080C111A616A99 +:105B20000FE0296861620DE0617A21F0020102E074 +:105B3000617A41F00201617204E0617AC90700D024 +:105B400001212960FAF796FB002070BDA16AF8E7F1 +:105B500070B50446FAF78AFB05462046FDF7D5FFE7 +:105B6000607A20F0010060722846FAF783FB204635 +:105B7000FFF729FB002070BD2DE9F8439046DDE9D1 +:105B800008450A461F4606460A21FFF73FFB234603 +:105B90003A46414630460095FDF7A4FFBDE8F8833C +:105BA0002DE9F84304464FF00008FAF75FFB814601 +:105BB0002046FDF7AAFF607A20F001006072FFF72F +:105BC0002DFF616A1D4F4318A36200226D460097A6 +:105BD0000CE00668A6EBC2014969994204D0C91AD3 +:105BE0006FF0004C614508D345F8226007EBC20115 +:105BF00055F8220049688842EBD11AB105EB8201C1 +:105C000008304860521CF1D00C49091F0868401C3C +:105C1000086004F114010098FFF7FBF9607A40F086 +:105C2000010060724846FAF725FBB8F1000F01D079 +:105C3000FFF71CFB0020BDE8F8830000CC0000202B +:105C400070B50446407AC0070ED0FAF70FFB054640 +:105C50002046FDF75AFF607A20F001006072284666 +:105C6000FAF708FB002070BD4FF0FF3070BD000058 +:105C70002DE9FF4F83B08146044604981F4609EB87 +:105C800000084FF0FF3B4FF0200AA04503D2C9F1B6 +:105C9000FF30D8460490FAE0252803D044457CD252 +:105CA00020707AE000250599491C059108782D2877 +:105CB00011D02B2812D0202813D0232814D030281C +:105CC00015D00A785E46303A0A2A13D205A800F0A9 +:105CD00027F9064618E045F01005E4E745F004050D +:105CE000E1E745F00805DEE745F02005DBE745F094 +:105CF0000105D8E72A2807D1491C059140CF002E7D +:105D000002DA764245F0100505985B4601782E29A7 +:105D100013D1401C05900178A1F130020A2A04D267 +:105D200005A800F0FDF8034604E02A2904D1401C30 +:105D3000059008CF002B00DA0023059A0020117887 +:105D4000682901D06C2902D1521C084605921178AD +:105D50004FF00A0C6F297FD00CDC63291FD004DCC4 +:105D6000252975D058290DD179E064297CD069297D +:105D700008D179E0702960D073292AD0752975D0AF +:105D800078296ED0444501D2252020700598641CE6 +:105D90000178D1B3444500D22170641C74E0E80658 +:105DA00008D45146761E002E04DD444500D22170F1 +:105DB000641CF7E717F8040B444500D220705146E5 +:105DC00002E0444500D22170641C761E002EF8DCEF +:105DD0005AE002CF01B93CA1002000E0401CB042D3 +:105DE00002D00A5C002AF9D1002B02DD984200DDC6 +:105DF0001846EA060AD452463346761E834205DD2B +:105E0000444500D22270641CF6E74CE0002206E014 +:105E1000444501D20B782370491C521C641C8242F9 +:105E2000F6DB52463146761E81422DDD444500D2D6 +:105E30002270641CF6E70FE00AE0701C02D108260D +:105E400045F001050096CDE9013504CF102316E099 +:105E50004445A2D2252023E74FF0080C06E045F088 +:105E600040054FF0100C01E045F002056C2801D010 +:105E700068281BD004CF0096CDE901356346414622 +:105E80002046FEF7FDFD04460598401C0590059848 +:105E9000007800287FF400AF049880B100204445CA +:105EA0000BD220700BE0401E0590EDE737F8040B95 +:105EB00082B2A807DFD512B2DDE708F8010C07B0FF +:105EC000A4EB090000F004B8284E554C4C29000002 +:105ED00030BCBDE8C08F134610B50A464FF0FF3105 +:105EE000FFF7C6FE10BD002070470020704700205D +:105EF00070470020704710B5FAF7B8F9FEF7DCFEDE +:105F0000FFF784FAFFF730FCFFF706FCFEF754FEBC +:105F1000FFF736FCFFF798FCFFF712FC002010BDDE +:105F200010B5024600206FF02F0407E04B1C1360F1 +:105F3000097800EB800004EB4000084411680B78FE +:105F4000303B0A2BF2D310BD0020704710B518A0CB +:105F5000FFF742F81A4C21881AA0FFF73DF8208875 +:105F6000C00702D01DA0FFF737F82088800702D5B0 +:105F70001DA0FFF731F82088400702D51DA0FFF7CC +:105F80002BF82088000702D51CA0FFF725F82088F1 +:105F9000C00502D51BA0FFF71FF82088800502D599 +:105FA0001BA0FFF719F8BDE8104004A0FFF714B8D4 +:105FB0007573616765206661756C743A0A0000004C +:105FC0002AED00E05343425F434653525F55465328 +:105FD000523A30782530325820000000554E444562 +:105FE00046494E5354522000494E5653544154454D +:105FF00020000000494E5650432000004E4F4350B1 +:1060000020000000554E414C49474E4544200000B9 +:1060100044495642595A45524F20000010B5FFF7E7 +:10602000F5F9002010BD4FF04070E1EE100A704706 +:106030000000000000000000010203040607080938 +:10604000A0860100400D0300801A060000350C00F8 +:1060500040420F0080841E0000093D0000127A00BB +:106060000024F40000366E010048E801006CDC02F8 +:106070000000000001020304000001000200010012 +:106080000300010002000100040001000200010001 +:1060900003000100020001000500010002000100F0 +:1060A00003000100020001000400010002000100E1 +:1060B00003000100020001000600010002000100CF +:1060C00003000100020001000400010002000100C1 +:1060D00003000100020001000500010002000100B0 +:1060E00003000100020001000400010002000100A1 +:1060F000030001000200010007000100020001008E +:106100000300010002000100040001000200010080 +:10611000030001000200010005000100020001006F +:106120000300010002000100040001000200010060 +:10613000030001000200010006000100020001004E +:106140000300010002000100040001000200010040 +:10615000030001000200010005000100020001002F +:106160000300010002000100040001000200010020 +:10617000030001000200010030313233343536377C +:1061800038396162636465660030313233343536E4 +:10619000373839414243444546000000252D2A2E18 +:1061A00073207072692020737461747573202020CD +:1061B00020202073702020202020737461636B20C6 +:1061C00073697A65206D61782075736564206C65EC +:1061D0006674207469636B20206572726F720A00A6 +:1061E0004F4B000045494E56414C00004552534626 +:1061F000554C4C00454E4F4D454D000045494F0014 +:106200004552524F52000000454E4F535953000023 +:1062100045494E54525054004554494D4F55540031 +:1062200045554E4B4E4F57004542555359000000BF +:106230004552534550545900636C65617200636C5C +:1062400065617220746865207465726D696E616C39 +:106250002073637265656E0076657273696F6E0098 +:1062600073686F772052542D54687265616420768C +:10627000657273696F6E20696E666F726D617469A5 +:106280006F6E006C6973745F746872656164006C32 +:1062900069737420746872656164006C6973745FFB +:1062A00073656D006C6973742073656D6170686FE0 +:1062B000726520696E2073797374656D006C697303 +:1062C000745F74696D6572006C6973742074696DB4 +:1062D000657220696E2073797374656D006C6973E3 +:1062E00074006C697374206F626A6563747300680C +:1062F000656C700052542D54687265616420736837 +:10630000656C6C2068656C702E007265626F6F74CE +:10631000005265626F6F742053797374656D00006D +:10632000F35E0008EB5E0008495F0008E75E0008C6 +:10633000793D0008EF5E0008386200083E62000800 +:106340000D3C000858620008606200081D600008EB +:10635000836200088F620008D54200089B62000833 +:10636000A462000891410008BD620008C8620008EC +:1063700091440008DD620008E2620008213C000848 +:10638000EF620008F4620008DD4800080A630008B4 +:1063900011630008B34B0008B86300080000002038 +:1063A000D4000000C80100088C640008D40000205C +:1063B000644C0000E401000800000000010000003F +:1063C000100000000000000000093D000000000077 +:1063D00000000000000000000000000000000000BD +:1063E00000000000000000000000000000000000AD +:1063F00038000020380000200000000000000000ED +:1064000000000000E0610008006200081862000857 +:10641000EC61000830620008F461000808620008BE +:1064200028620008FC61000810620008E4610008AE +:106430002062000801000000800000208000002091 +:106440007800000002000000900000209000002072 +:10645000200000000A000000A0000020A000002092 +:106460002C0000000C000000B0000020B000002054 +:1064700028000000000000000000000000000000F4 +:0C64800000000000000000000000000010 :040000050800018D61 :00000001FF diff --git a/XM01_BLE/XM-01/XM-01.ioc b/XM01_BLE/XM-01/XM-01.ioc index 090b4ba..ee4efd7 100644 --- a/XM01_BLE/XM-01/XM-01.ioc +++ b/XM01_BLE/XM-01/XM-01.ioc @@ -2,25 +2,40 @@ CAD.formats=[] CAD.pinconfig=Dual CAD.provider= +Dma.Request0=USART2_RX +Dma.RequestsNb=1 +Dma.USART2_RX.0.Direction=DMA_PERIPH_TO_MEMORY +Dma.USART2_RX.0.Instance=DMA1_Channel6 +Dma.USART2_RX.0.MemDataAlignment=DMA_MDATAALIGN_BYTE +Dma.USART2_RX.0.MemInc=DMA_MINC_ENABLE +Dma.USART2_RX.0.Mode=DMA_CIRCULAR +Dma.USART2_RX.0.PeriphDataAlignment=DMA_PDATAALIGN_BYTE +Dma.USART2_RX.0.PeriphInc=DMA_PINC_DISABLE +Dma.USART2_RX.0.Priority=DMA_PRIORITY_LOW +Dma.USART2_RX.0.RequestParameters=Instance,Direction,PeriphInc,MemInc,PeriphDataAlignment,MemDataAlignment,Mode,Priority File.Version=6 GPIO.groupedBy=Group By Peripherals KeepUserPlacement=false Mcu.CPN=STM32L431CCT6 Mcu.Family=STM32L4 -Mcu.IP0=NVIC -Mcu.IP1=RCC -Mcu.IP2=SYS -Mcu.IPNb=3 +Mcu.IP0=DMA +Mcu.IP1=NVIC +Mcu.IP2=RCC +Mcu.IP3=SYS +Mcu.IP4=USART2 +Mcu.IPNb=5 Mcu.Name=STM32L431C(B-C)Tx Mcu.Package=LQFP48 Mcu.Pin0=PH0-OSC_IN (PH0) Mcu.Pin1=PH1-OSC_OUT (PH1) -Mcu.Pin2=PB12 -Mcu.Pin3=PA13 (JTMS-SWDIO) -Mcu.Pin4=PA14 (JTCK-SWCLK) -Mcu.Pin5=VP_SYS_VS_Systick -Mcu.Pin6=VP_RealThread.X-CUBE-RT-Thread_Nano_VS_RTOSJjRTAaThread_4.1.1_4.1.1 -Mcu.PinsNb=7 +Mcu.Pin2=PA2 +Mcu.Pin3=PA3 +Mcu.Pin4=PB12 +Mcu.Pin5=PA13 (JTMS-SWDIO) +Mcu.Pin6=PA14 (JTCK-SWCLK) +Mcu.Pin7=VP_SYS_VS_Systick +Mcu.Pin8=VP_RealThread.X-CUBE-RT-Thread_Nano_VS_RTOSJjRTAaThread_4.1.1_4.1.1 +Mcu.PinsNb=9 Mcu.ThirdParty0=RealThread.X-CUBE-RT-Thread_Nano.4.1.1 Mcu.ThirdPartyNb=1 Mcu.UserConstants= @@ -28,6 +43,7 @@ Mcu.UserName=STM32L431CCTx MxCube.Version=6.14.1 MxDb.Version=DB.6.0.141 NVIC.BusFault_IRQn=true\:0\:0\:false\:false\:true\:false\:false\:false\:false +NVIC.DMA1_Channel6_IRQn=true\:0\:0\:false\:false\:true\:true\:false\:true\:true NVIC.DebugMonitor_IRQn=true\:0\:0\:false\:false\:true\:false\:false\:false\:false NVIC.ForceEnableDMAVector=true NVIC.HardFault_IRQn=true\:0\:0\:false\:false\:false\:false\:false\:false\:false @@ -40,11 +56,20 @@ NVIC.SavedPendsvIrqHandlerGenerated=true NVIC.SavedSvcallIrqHandlerGenerated=true NVIC.SavedSystickIrqHandlerGenerated=true NVIC.SysTick_IRQn=true\:0\:0\:false\:false\:false\:false\:false\:true\:false +NVIC.USART2_IRQn=true\:0\:0\:false\:false\:true\:false\:true\:true\:true NVIC.UsageFault_IRQn=true\:0\:0\:false\:false\:true\:false\:false\:false\:false PA13\ (JTMS-SWDIO).Mode=Serial_Wire PA13\ (JTMS-SWDIO).Signal=SYS_JTMS-SWDIO PA14\ (JTCK-SWCLK).Mode=Serial_Wire PA14\ (JTCK-SWCLK).Signal=SYS_JTCK-SWCLK +PA2.GPIOParameters=GPIO_Label +PA2.GPIO_Label=BLE_TX +PA2.Mode=Asynchronous +PA2.Signal=USART2_TX +PA3.GPIOParameters=GPIO_Label +PA3.GPIO_Label=BLE_RX +PA3.Mode=Asynchronous +PA3.Signal=USART2_RX PB12.GPIOParameters=GPIO_Speed,PinState,GPIO_PuPd,GPIO_Label PB12.GPIO_Label=LED PB12.GPIO_PuPd=GPIO_NOPULL @@ -88,7 +113,7 @@ ProjectManager.ToolChainLocation= ProjectManager.UAScriptAfterPath= ProjectManager.UAScriptBeforePath= ProjectManager.UnderRoot=false -ProjectManager.functionlistsort=1-SystemClock_Config-RCC-false-HAL-false,2-MX_GPIO_Init-GPIO-false-HAL-true +ProjectManager.functionlistsort=1-SystemClock_Config-RCC-false-HAL-false,2-MX_GPIO_Init-GPIO-false-HAL-true,3-MX_DMA_Init-DMA-false-HAL-true,4-MX_USART2_UART_Init-USART2-false-HAL-true RCC.ADCFreq_Value=16000000 RCC.AHBFreq_Value=80000000 RCC.APB1Freq_Value=80000000 @@ -146,6 +171,8 @@ RealThread.X-CUBE-RT-Thread_Nano.4.1.1.RT_USING_HEAP=1 RealThread.X-CUBE-RT-Thread_Nano.4.1.1.RT_USING_SMALL_MEM=1 RealThread.X-CUBE-RT-Thread_Nano.4.1.1.RT_USING_SMALL_MEM_AS_HEAP=1 RealThread.X-CUBE-RT-Thread_Nano.4.1.1_SwParameter=RTAaThreadCcRTOSJjshell\:true;RTAaThreadCcRTOSJjlibcpu\:true;RTAaThreadCcRTOSJjkernel\:true; +USART2.IPParameters=VirtualMode-Asynchronous +USART2.VirtualMode-Asynchronous=VM_ASYNC VP_RealThread.X-CUBE-RT-Thread_Nano_VS_RTOSJjRTAaThread_4.1.1_4.1.1.Mode=RTOSJjRTAaThread VP_RealThread.X-CUBE-RT-Thread_Nano_VS_RTOSJjRTAaThread_4.1.1_4.1.1.Signal=RealThread.X-CUBE-RT-Thread_Nano_VS_RTOSJjRTAaThread_4.1.1_4.1.1 VP_SYS_VS_Systick.Mode=SysTick