From f56744ad7a343d1cd7af52d6f5db2a9da200e7d6 Mon Sep 17 00:00:00 2001 From: chenzongxiong Date: Tue, 3 Feb 2026 11:56:05 +0800 Subject: [PATCH] update --- calib_board/.mxproject | 26 +- calib_board/CalibBoard.ioc | 312 +- calib_board/Core/Inc/main.h | 76 +- calib_board/Core/Inc/stm32f4xx_hal_conf.h | 2 +- calib_board/Core/Inc/usart.h | 6 + calib_board/Core/Src/gpio.c | 91 +- calib_board/Core/Src/main.c | 5 + calib_board/Core/Src/stm32f4xx_it.c | 4 +- calib_board/Core/Src/usart.c | 178 +- calib_board/MDK-ARM/CalibBoard.uvguix.PC | 1869 ++++++++++- calib_board/MDK-ARM/CalibBoard.uvoptx | 207 +- calib_board/MDK-ARM/CalibBoard.uvprojx | 176 +- calib_board/MDK-ARM/CalibBoard/CalibBoard.hex | 2756 +++++++++++------ .../MDK-ARM/RTE/_CalibBoard/RTE_Components.h | 6 + calib_board/MDK-ARM/startup_stm32f407xx.s | 4 +- calib_board/usr/app/app.c | 1 + calib_board/usr/app/app_timer.c | 2 +- calib_board/usr/app/app_timer.h | 2 +- calib_board/usr/bsp/bsp_74HC4067.c | 28 +- calib_board/usr/bsp/bsp_Led.c | 22 +- calib_board/usr/gui/gui_tjc_hmi.c | 584 +++- calib_board/usr/gui/gui_tjc_hmi.h | 7 +- 22 files changed, 4772 insertions(+), 1592 deletions(-) diff --git a/calib_board/.mxproject b/calib_board/.mxproject index 32685c9..5566f46 100644 --- a/calib_board/.mxproject +++ b/calib_board/.mxproject @@ -1,30 +1,32 @@ [PreviousLibFiles] -LibFiles=Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_tim.h;Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_tim_ex.h;Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_uart.h;Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_ll_usart.h;Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_rcc.h;Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_rcc_ex.h;Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_ll_bus.h;Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_ll_rcc.h;Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_ll_system.h;Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_ll_utils.h;Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_flash.h;Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_flash_ex.h;Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_flash_ramfunc.h;Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_gpio.h;Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_gpio_ex.h;Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_ll_gpio.h;Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_dma_ex.h;Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_dma.h;Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_ll_dma.h;Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_ll_dmamux.h;Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_pwr.h;Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_pwr_ex.h;Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_ll_pwr.h;Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_cortex.h;Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_ll_cortex.h;Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal.h;Drivers\STM32F4xx_HAL_Driver\Inc\Legacy\stm32_hal_legacy.h;Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_def.h;Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_exti.h;Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_ll_exti.h;Drivers\STM32F4xx_HAL_Driver\Src\stm32f4xx_hal_tim.c;Drivers\STM32F4xx_HAL_Driver\Src\stm32f4xx_hal_tim_ex.c;Drivers\STM32F4xx_HAL_Driver\Src\stm32f4xx_hal_uart.c;Drivers\STM32F4xx_HAL_Driver\Src\stm32f4xx_hal_rcc.c;Drivers\STM32F4xx_HAL_Driver\Src\stm32f4xx_hal_rcc_ex.c;Drivers\STM32F4xx_HAL_Driver\Src\stm32f4xx_hal_flash.c;Drivers\STM32F4xx_HAL_Driver\Src\stm32f4xx_hal_flash_ex.c;Drivers\STM32F4xx_HAL_Driver\Src\stm32f4xx_hal_flash_ramfunc.c;Drivers\STM32F4xx_HAL_Driver\Src\stm32f4xx_hal_gpio.c;Drivers\STM32F4xx_HAL_Driver\Src\stm32f4xx_hal_dma_ex.c;Drivers\STM32F4xx_HAL_Driver\Src\stm32f4xx_hal_dma.c;Drivers\STM32F4xx_HAL_Driver\Src\stm32f4xx_hal_pwr.c;Drivers\STM32F4xx_HAL_Driver\Src\stm32f4xx_hal_pwr_ex.c;Drivers\STM32F4xx_HAL_Driver\Src\stm32f4xx_hal_cortex.c;Drivers\STM32F4xx_HAL_Driver\Src\stm32f4xx_hal.c;Drivers\STM32F4xx_HAL_Driver\Src\stm32f4xx_hal_exti.c;Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_tim.h;Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_tim_ex.h;Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_uart.h;Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_ll_usart.h;Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_rcc.h;Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_rcc_ex.h;Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_ll_bus.h;Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_ll_rcc.h;Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_ll_system.h;Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_ll_utils.h;Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_flash.h;Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_flash_ex.h;Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_flash_ramfunc.h;Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_gpio.h;Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_gpio_ex.h;Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_ll_gpio.h;Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_dma_ex.h;Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_dma.h;Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_ll_dma.h;Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_ll_dmamux.h;Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_pwr.h;Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_pwr_ex.h;Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_ll_pwr.h;Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_cortex.h;Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_ll_cortex.h;Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal.h;Drivers\STM32F4xx_HAL_Driver\Inc\Legacy\stm32_hal_legacy.h;Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_def.h;Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_exti.h;Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_ll_exti.h;Drivers\CMSIS\Device\ST\STM32F4xx\Include\stm32f407xx.h;Drivers\CMSIS\Device\ST\STM32F4xx\Include\stm32f4xx.h;Drivers\CMSIS\Device\ST\STM32F4xx\Include\system_stm32f4xx.h;Drivers\CMSIS\Device\ST\STM32F4xx\Source\Templates\system_stm32f4xx.c;Drivers\CMSIS\Include\cmsis_armcc.h;Drivers\CMSIS\Include\cmsis_armclang.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_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_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\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_spi.h;Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_rcc.h;Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_rcc_ex.h;Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_ll_bus.h;Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_ll_rcc.h;Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_ll_system.h;Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_ll_utils.h;Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_flash.h;Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_flash_ex.h;Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_flash_ramfunc.h;Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_gpio.h;Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_gpio_ex.h;Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_ll_gpio.h;Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_dma_ex.h;Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_dma.h;Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_ll_dma.h;Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_ll_dmamux.h;Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_pwr.h;Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_pwr_ex.h;Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_ll_pwr.h;Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_cortex.h;Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_ll_cortex.h;Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal.h;Drivers\STM32F4xx_HAL_Driver\Inc\Legacy\stm32_hal_legacy.h;Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_def.h;Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_exti.h;Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_ll_exti.h;Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_tim.h;Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_tim_ex.h;Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_uart.h;Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_ll_usart.h;Drivers\STM32F4xx_HAL_Driver\Src\stm32f4xx_hal_spi.c;Drivers\STM32F4xx_HAL_Driver\Src\stm32f4xx_hal_rcc.c;Drivers\STM32F4xx_HAL_Driver\Src\stm32f4xx_hal_rcc_ex.c;Drivers\STM32F4xx_HAL_Driver\Src\stm32f4xx_hal_flash.c;Drivers\STM32F4xx_HAL_Driver\Src\stm32f4xx_hal_flash_ex.c;Drivers\STM32F4xx_HAL_Driver\Src\stm32f4xx_hal_flash_ramfunc.c;Drivers\STM32F4xx_HAL_Driver\Src\stm32f4xx_hal_gpio.c;Drivers\STM32F4xx_HAL_Driver\Src\stm32f4xx_hal_dma_ex.c;Drivers\STM32F4xx_HAL_Driver\Src\stm32f4xx_hal_dma.c;Drivers\STM32F4xx_HAL_Driver\Src\stm32f4xx_hal_pwr.c;Drivers\STM32F4xx_HAL_Driver\Src\stm32f4xx_hal_pwr_ex.c;Drivers\STM32F4xx_HAL_Driver\Src\stm32f4xx_hal_cortex.c;Drivers\STM32F4xx_HAL_Driver\Src\stm32f4xx_hal.c;Drivers\STM32F4xx_HAL_Driver\Src\stm32f4xx_hal_exti.c;Drivers\STM32F4xx_HAL_Driver\Src\stm32f4xx_hal_tim.c;Drivers\STM32F4xx_HAL_Driver\Src\stm32f4xx_hal_tim_ex.c;Drivers\STM32F4xx_HAL_Driver\Src\stm32f4xx_hal_uart.c;Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_spi.h;Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_rcc.h;Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_rcc_ex.h;Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_ll_bus.h;Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_ll_rcc.h;Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_ll_system.h;Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_ll_utils.h;Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_flash.h;Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_flash_ex.h;Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_flash_ramfunc.h;Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_gpio.h;Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_gpio_ex.h;Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_ll_gpio.h;Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_dma_ex.h;Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_dma.h;Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_ll_dma.h;Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_ll_dmamux.h;Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_pwr.h;Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_pwr_ex.h;Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_ll_pwr.h;Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_cortex.h;Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_ll_cortex.h;Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal.h;Drivers\STM32F4xx_HAL_Driver\Inc\Legacy\stm32_hal_legacy.h;Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_def.h;Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_exti.h;Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_ll_exti.h;Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_tim.h;Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_tim_ex.h;Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_uart.h;Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_ll_usart.h;Drivers\CMSIS\Device\ST\STM32F4xx\Include\stm32f407xx.h;Drivers\CMSIS\Device\ST\STM32F4xx\Include\stm32f4xx.h;Drivers\CMSIS\Device\ST\STM32F4xx\Include\system_stm32f4xx.h;Drivers\CMSIS\Device\ST\STM32F4xx\Source\Templates\system_stm32f4xx.c;Drivers\CMSIS\Include\cmsis_armcc.h;Drivers\CMSIS\Include\cmsis_armclang.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_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_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\dma.c;..\Core\Src\usart.c;..\Core\Src\stm32f4xx_it.c;..\Core\Src\stm32f4xx_hal_msp.c;..\Drivers\STM32F4xx_HAL_Driver\Src\stm32f4xx_hal_tim.c;..\Drivers\STM32F4xx_HAL_Driver\Src\stm32f4xx_hal_tim_ex.c;..\Drivers\STM32F4xx_HAL_Driver\Src\stm32f4xx_hal_uart.c;..\Drivers\STM32F4xx_HAL_Driver\Src\stm32f4xx_hal_rcc.c;..\Drivers\STM32F4xx_HAL_Driver\Src\stm32f4xx_hal_rcc_ex.c;..\Drivers\STM32F4xx_HAL_Driver\Src\stm32f4xx_hal_flash.c;..\Drivers\STM32F4xx_HAL_Driver\Src\stm32f4xx_hal_flash_ex.c;..\Drivers\STM32F4xx_HAL_Driver\Src\stm32f4xx_hal_flash_ramfunc.c;..\Drivers\STM32F4xx_HAL_Driver\Src\stm32f4xx_hal_gpio.c;..\Drivers\STM32F4xx_HAL_Driver\Src\stm32f4xx_hal_dma_ex.c;..\Drivers\STM32F4xx_HAL_Driver\Src\stm32f4xx_hal_dma.c;..\Drivers\STM32F4xx_HAL_Driver\Src\stm32f4xx_hal_pwr.c;..\Drivers\STM32F4xx_HAL_Driver\Src\stm32f4xx_hal_pwr_ex.c;..\Drivers\STM32F4xx_HAL_Driver\Src\stm32f4xx_hal_cortex.c;..\Drivers\STM32F4xx_HAL_Driver\Src\stm32f4xx_hal.c;..\Drivers\STM32F4xx_HAL_Driver\Src\stm32f4xx_hal_exti.c;..\Drivers\CMSIS\Device\ST\STM32F4xx\Source\Templates\system_stm32f4xx.c;..\Core\Src\system_stm32f4xx.c;..\Drivers\STM32F4xx_HAL_Driver\Src\stm32f4xx_hal_tim.c;..\Drivers\STM32F4xx_HAL_Driver\Src\stm32f4xx_hal_tim_ex.c;..\Drivers\STM32F4xx_HAL_Driver\Src\stm32f4xx_hal_uart.c;..\Drivers\STM32F4xx_HAL_Driver\Src\stm32f4xx_hal_rcc.c;..\Drivers\STM32F4xx_HAL_Driver\Src\stm32f4xx_hal_rcc_ex.c;..\Drivers\STM32F4xx_HAL_Driver\Src\stm32f4xx_hal_flash.c;..\Drivers\STM32F4xx_HAL_Driver\Src\stm32f4xx_hal_flash_ex.c;..\Drivers\STM32F4xx_HAL_Driver\Src\stm32f4xx_hal_flash_ramfunc.c;..\Drivers\STM32F4xx_HAL_Driver\Src\stm32f4xx_hal_gpio.c;..\Drivers\STM32F4xx_HAL_Driver\Src\stm32f4xx_hal_dma_ex.c;..\Drivers\STM32F4xx_HAL_Driver\Src\stm32f4xx_hal_dma.c;..\Drivers\STM32F4xx_HAL_Driver\Src\stm32f4xx_hal_pwr.c;..\Drivers\STM32F4xx_HAL_Driver\Src\stm32f4xx_hal_pwr_ex.c;..\Drivers\STM32F4xx_HAL_Driver\Src\stm32f4xx_hal_cortex.c;..\Drivers\STM32F4xx_HAL_Driver\Src\stm32f4xx_hal.c;..\Drivers\STM32F4xx_HAL_Driver\Src\stm32f4xx_hal_exti.c;..\Drivers\CMSIS\Device\ST\STM32F4xx\Source\Templates\system_stm32f4xx.c;..\Core\Src\system_stm32f4xx.c;;; +SourceFiles=..\Core\Src\main.c;..\Core\Src\gpio.c;..\Core\Src\dma.c;..\Core\Src\spi.c;..\Core\Src\usart.c;..\Core\Src\stm32f4xx_it.c;..\Core\Src\stm32f4xx_hal_msp.c;..\Drivers\STM32F4xx_HAL_Driver\Src\stm32f4xx_hal_spi.c;..\Drivers\STM32F4xx_HAL_Driver\Src\stm32f4xx_hal_rcc.c;..\Drivers\STM32F4xx_HAL_Driver\Src\stm32f4xx_hal_rcc_ex.c;..\Drivers\STM32F4xx_HAL_Driver\Src\stm32f4xx_hal_flash.c;..\Drivers\STM32F4xx_HAL_Driver\Src\stm32f4xx_hal_flash_ex.c;..\Drivers\STM32F4xx_HAL_Driver\Src\stm32f4xx_hal_flash_ramfunc.c;..\Drivers\STM32F4xx_HAL_Driver\Src\stm32f4xx_hal_gpio.c;..\Drivers\STM32F4xx_HAL_Driver\Src\stm32f4xx_hal_dma_ex.c;..\Drivers\STM32F4xx_HAL_Driver\Src\stm32f4xx_hal_dma.c;..\Drivers\STM32F4xx_HAL_Driver\Src\stm32f4xx_hal_pwr.c;..\Drivers\STM32F4xx_HAL_Driver\Src\stm32f4xx_hal_pwr_ex.c;..\Drivers\STM32F4xx_HAL_Driver\Src\stm32f4xx_hal_cortex.c;..\Drivers\STM32F4xx_HAL_Driver\Src\stm32f4xx_hal.c;..\Drivers\STM32F4xx_HAL_Driver\Src\stm32f4xx_hal_exti.c;..\Drivers\STM32F4xx_HAL_Driver\Src\stm32f4xx_hal_tim.c;..\Drivers\STM32F4xx_HAL_Driver\Src\stm32f4xx_hal_tim_ex.c;..\Drivers\STM32F4xx_HAL_Driver\Src\stm32f4xx_hal_uart.c;..\Drivers\CMSIS\Device\ST\STM32F4xx\Source\Templates\system_stm32f4xx.c;..\Core\Src\system_stm32f4xx.c;..\Drivers\STM32F4xx_HAL_Driver\Src\stm32f4xx_hal_spi.c;..\Drivers\STM32F4xx_HAL_Driver\Src\stm32f4xx_hal_rcc.c;..\Drivers\STM32F4xx_HAL_Driver\Src\stm32f4xx_hal_rcc_ex.c;..\Drivers\STM32F4xx_HAL_Driver\Src\stm32f4xx_hal_flash.c;..\Drivers\STM32F4xx_HAL_Driver\Src\stm32f4xx_hal_flash_ex.c;..\Drivers\STM32F4xx_HAL_Driver\Src\stm32f4xx_hal_flash_ramfunc.c;..\Drivers\STM32F4xx_HAL_Driver\Src\stm32f4xx_hal_gpio.c;..\Drivers\STM32F4xx_HAL_Driver\Src\stm32f4xx_hal_dma_ex.c;..\Drivers\STM32F4xx_HAL_Driver\Src\stm32f4xx_hal_dma.c;..\Drivers\STM32F4xx_HAL_Driver\Src\stm32f4xx_hal_pwr.c;..\Drivers\STM32F4xx_HAL_Driver\Src\stm32f4xx_hal_pwr_ex.c;..\Drivers\STM32F4xx_HAL_Driver\Src\stm32f4xx_hal_cortex.c;..\Drivers\STM32F4xx_HAL_Driver\Src\stm32f4xx_hal.c;..\Drivers\STM32F4xx_HAL_Driver\Src\stm32f4xx_hal_exti.c;..\Drivers\STM32F4xx_HAL_Driver\Src\stm32f4xx_hal_tim.c;..\Drivers\STM32F4xx_HAL_Driver\Src\stm32f4xx_hal_tim_ex.c;..\Drivers\STM32F4xx_HAL_Driver\Src\stm32f4xx_hal_uart.c;..\Drivers\CMSIS\Device\ST\STM32F4xx\Source\Templates\system_stm32f4xx.c;..\Core\Src\system_stm32f4xx.c;;; HeaderPath=..\Drivers\STM32F4xx_HAL_Driver\Inc;..\Drivers\STM32F4xx_HAL_Driver\Inc\Legacy;..\Drivers\CMSIS\Device\ST\STM32F4xx\Include;..\Drivers\CMSIS\Include;..\Core\Inc; CDefines=USE_HAL_DRIVER;STM32F407xx;USE_HAL_DRIVER;USE_HAL_DRIVER; [PreviousGenFiles] AdvancedFolderStructure=true -HeaderFileListSize=6 +HeaderFileListSize=7 HeaderFiles#0=..\Core\Inc\gpio.h HeaderFiles#1=..\Core\Inc\dma.h -HeaderFiles#2=..\Core\Inc\usart.h -HeaderFiles#3=..\Core\Inc\stm32f4xx_it.h -HeaderFiles#4=..\Core\Inc\stm32f4xx_hal_conf.h -HeaderFiles#5=..\Core\Inc\main.h +HeaderFiles#2=..\Core\Inc\spi.h +HeaderFiles#3=..\Core\Inc\usart.h +HeaderFiles#4=..\Core\Inc\stm32f4xx_it.h +HeaderFiles#5=..\Core\Inc\stm32f4xx_hal_conf.h +HeaderFiles#6=..\Core\Inc\main.h HeaderFolderListSize=1 HeaderPath#0=..\Core\Inc HeaderFiles=; -SourceFileListSize=6 +SourceFileListSize=7 SourceFiles#0=..\Core\Src\gpio.c SourceFiles#1=..\Core\Src\dma.c -SourceFiles#2=..\Core\Src\usart.c -SourceFiles#3=..\Core\Src\stm32f4xx_it.c -SourceFiles#4=..\Core\Src\stm32f4xx_hal_msp.c -SourceFiles#5=..\Core\Src\main.c +SourceFiles#2=..\Core\Src\spi.c +SourceFiles#3=..\Core\Src\usart.c +SourceFiles#4=..\Core\Src\stm32f4xx_it.c +SourceFiles#5=..\Core\Src\stm32f4xx_hal_msp.c +SourceFiles#6=..\Core\Src\main.c SourceFolderListSize=1 SourcePath#0=..\Core\Src SourceFiles=; diff --git a/calib_board/CalibBoard.ioc b/calib_board/CalibBoard.ioc index 9fb5020..73b5547 100644 --- a/calib_board/CalibBoard.ioc +++ b/calib_board/CalibBoard.ioc @@ -76,56 +76,48 @@ Mcu.CPN=STM32F407VGT6 Mcu.Family=STM32F4 Mcu.IP0=DMA Mcu.IP1=NVIC +Mcu.IP10=USART6 Mcu.IP2=RCC -Mcu.IP3=SYS -Mcu.IP4=UART4 -Mcu.IP5=USART1 -Mcu.IP6=USART2 -Mcu.IPNb=7 +Mcu.IP3=SPI1 +Mcu.IP4=SPI2 +Mcu.IP5=SYS +Mcu.IP6=UART4 +Mcu.IP7=USART1 +Mcu.IP8=USART2 +Mcu.IP9=USART3 +Mcu.IPNb=11 Mcu.Name=STM32F407V(E-G)Tx Mcu.Package=LQFP100 -Mcu.Pin0=PE2 -Mcu.Pin1=PE3 -Mcu.Pin10=PE8 -Mcu.Pin11=PE9 -Mcu.Pin12=PE10 -Mcu.Pin13=PB12 -Mcu.Pin14=PB13 -Mcu.Pin15=PB14 -Mcu.Pin16=PB15 -Mcu.Pin17=PD8 -Mcu.Pin18=PD9 -Mcu.Pin19=PD10 -Mcu.Pin2=PE4 -Mcu.Pin20=PD11 -Mcu.Pin21=PD12 -Mcu.Pin22=PD13 -Mcu.Pin23=PD14 -Mcu.Pin24=PD15 -Mcu.Pin25=PC6 -Mcu.Pin26=PC7 -Mcu.Pin27=PC8 -Mcu.Pin28=PC9 -Mcu.Pin29=PA9 -Mcu.Pin3=PE5 -Mcu.Pin30=PA10 -Mcu.Pin31=PA13 -Mcu.Pin32=PA14 -Mcu.Pin33=PD4 -Mcu.Pin34=PD5 -Mcu.Pin35=PD6 -Mcu.Pin36=PB8 -Mcu.Pin37=PB9 -Mcu.Pin38=PE0 -Mcu.Pin39=PE1 -Mcu.Pin4=PE6 -Mcu.Pin40=VP_SYS_VS_Systick -Mcu.Pin5=PH0-OSC_IN -Mcu.Pin6=PH1-OSC_OUT -Mcu.Pin7=PA0-WKUP -Mcu.Pin8=PA1 -Mcu.Pin9=PA2 -Mcu.PinsNb=41 +Mcu.Pin0=PH0-OSC_IN +Mcu.Pin1=PH1-OSC_OUT +Mcu.Pin10=PC5 +Mcu.Pin11=PE11 +Mcu.Pin12=PB10 +Mcu.Pin13=PB11 +Mcu.Pin14=PB12 +Mcu.Pin15=PB13 +Mcu.Pin16=PB14 +Mcu.Pin17=PB15 +Mcu.Pin18=PC6 +Mcu.Pin19=PC7 +Mcu.Pin2=PA0-WKUP +Mcu.Pin20=PA13 +Mcu.Pin21=PA14 +Mcu.Pin22=PD3 +Mcu.Pin23=PD4 +Mcu.Pin24=PD5 +Mcu.Pin25=PB6 +Mcu.Pin26=PB7 +Mcu.Pin27=PB8 +Mcu.Pin28=VP_SYS_VS_Systick +Mcu.Pin3=PA1 +Mcu.Pin4=PA2 +Mcu.Pin5=PA3 +Mcu.Pin6=PA5 +Mcu.Pin7=PA6 +Mcu.Pin8=PA7 +Mcu.Pin9=PC4 +Mcu.PinsNb=29 Mcu.ThirdPartyNb=0 Mcu.UserConstants= Mcu.UserName=STM32F407VGTx @@ -157,172 +149,84 @@ PA0-WKUP.Signal=UART4_TX PA1.Locked=true PA1.Mode=Asynchronous PA1.Signal=UART4_RX -PA10.Locked=true -PA10.Mode=Asynchronous -PA10.Signal=USART1_RX PA13.Mode=Serial_Wire PA13.Signal=SYS_JTMS-SWDIO PA14.Mode=Serial_Wire PA14.Signal=SYS_JTCK-SWCLK -PA2.GPIOParameters=GPIO_Speed,PinState,GPIO_Label -PA2.GPIO_Label=RS485_EN -PA2.GPIO_Speed=GPIO_SPEED_FREQ_VERY_HIGH PA2.Locked=true -PA2.PinState=GPIO_PIN_SET -PA2.Signal=GPIO_Output -PA9.Locked=true -PA9.Mode=Asynchronous -PA9.Signal=USART1_TX -PB12.GPIOParameters=PinState,GPIO_Label -PB12.GPIO_Label=LED_CH16 +PA2.Mode=Asynchronous +PA2.Signal=USART2_TX +PA3.Locked=true +PA3.Mode=Asynchronous +PA3.Signal=USART2_RX +PA5.Locked=true +PA5.Mode=Full_Duplex_Master +PA5.Signal=SPI1_SCK +PA6.Locked=true +PA6.Mode=Full_Duplex_Master +PA6.Signal=SPI1_MISO +PA7.Locked=true +PA7.Mode=Full_Duplex_Master +PA7.Signal=SPI1_MOSI +PB10.Locked=true +PB10.Mode=Asynchronous +PB10.Signal=USART3_TX +PB11.Locked=true +PB11.Mode=Asynchronous +PB11.Signal=USART3_RX +PB12.GPIOParameters=GPIO_Label +PB12.GPIO_Label=SPI2_CS PB12.Locked=true -PB12.PinState=GPIO_PIN_SET PB12.Signal=GPIO_Output -PB13.GPIOParameters=PinState,GPIO_Label -PB13.GPIO_Label=LED_CH15 PB13.Locked=true -PB13.PinState=GPIO_PIN_SET -PB13.Signal=GPIO_Output -PB14.GPIOParameters=PinState,GPIO_Label -PB14.GPIO_Label=LED_CH14 +PB13.Mode=Full_Duplex_Master +PB13.Signal=SPI2_SCK PB14.Locked=true -PB14.PinState=GPIO_PIN_SET -PB14.Signal=GPIO_Output -PB15.GPIOParameters=PinState,GPIO_Label -PB15.GPIO_Label=LED_CH13 +PB14.Mode=Full_Duplex_Master +PB14.Signal=SPI2_MISO PB15.Locked=true -PB15.PinState=GPIO_PIN_SET -PB15.Signal=GPIO_Output -PB8.GPIOParameters=GPIO_Speed,GPIO_Label -PB8.GPIO_Label=RX_S3 -PB8.GPIO_Speed=GPIO_SPEED_FREQ_VERY_HIGH +PB15.Mode=Full_Duplex_Master +PB15.Signal=SPI2_MOSI +PB6.Locked=true +PB6.Mode=Asynchronous +PB6.Signal=USART1_TX +PB7.Locked=true +PB7.Mode=Asynchronous +PB7.Signal=USART1_RX +PB8.GPIOParameters=GPIO_Label +PB8.GPIO_Label=RS485_EN PB8.Locked=true PB8.Signal=GPIO_Output -PB9.GPIOParameters=GPIO_Speed,GPIO_Label -PB9.GPIO_Label=RX_S2 -PB9.GPIO_Speed=GPIO_SPEED_FREQ_VERY_HIGH -PB9.Locked=true -PB9.Signal=GPIO_Output -PC6.GPIOParameters=PinState,GPIO_Label -PC6.GPIO_Label=LED_CH4 +PC4.GPIOParameters=GPIO_Label +PC4.GPIO_Label=W5500_RST +PC4.Locked=true +PC4.Signal=GPIO_Output +PC5.GPIOParameters=GPIO_Label +PC5.GPIO_Label=W5500_INT +PC5.Locked=true +PC5.Signal=GPIO_Output PC6.Locked=true -PC6.PinState=GPIO_PIN_SET -PC6.Signal=GPIO_Output -PC7.GPIOParameters=PinState,GPIO_Label -PC7.GPIO_Label=LED_CH3 +PC6.Mode=Asynchronous +PC6.Signal=USART6_TX PC7.Locked=true -PC7.PinState=GPIO_PIN_SET -PC7.Signal=GPIO_Output -PC8.GPIOParameters=PinState,GPIO_Label -PC8.GPIO_Label=LED_CH2 -PC8.Locked=true -PC8.PinState=GPIO_PIN_SET -PC8.Signal=GPIO_Output -PC9.GPIOParameters=PinState,GPIO_Label -PC9.GPIO_Label=LED_CH1 -PC9.Locked=true -PC9.PinState=GPIO_PIN_SET -PC9.Signal=GPIO_Output -PD10.GPIOParameters=PinState,GPIO_Label -PD10.GPIO_Label=LED_CH10 -PD10.Locked=true -PD10.PinState=GPIO_PIN_SET -PD10.Signal=GPIO_Output -PD11.GPIOParameters=PinState,GPIO_Label -PD11.GPIO_Label=LED_CH9 -PD11.Locked=true -PD11.PinState=GPIO_PIN_SET -PD11.Signal=GPIO_Output -PD12.GPIOParameters=PinState,GPIO_Label -PD12.GPIO_Label=LED_CH8 -PD12.Locked=true -PD12.PinState=GPIO_PIN_SET -PD12.Signal=GPIO_Output -PD13.GPIOParameters=PinState,GPIO_Label -PD13.GPIO_Label=LED_CH7 -PD13.Locked=true -PD13.PinState=GPIO_PIN_SET -PD13.Signal=GPIO_Output -PD14.GPIOParameters=PinState,GPIO_Label -PD14.GPIO_Label=LED_CH6 -PD14.Locked=true -PD14.PinState=GPIO_PIN_SET -PD14.Signal=GPIO_Output -PD15.GPIOParameters=PinState,GPIO_Label -PD15.GPIO_Label=LED_CH5 -PD15.Locked=true -PD15.PinState=GPIO_PIN_SET -PD15.Signal=GPIO_Output -PD4.GPIOParameters=PinState,GPIO_Label -PD4.GPIO_Label=RX_EN +PC7.Mode=Asynchronous +PC7.Signal=USART6_RX +PD3.GPIOParameters=GPIO_Label +PD3.GPIO_Label=DS1302_CLK +PD3.Locked=true +PD3.Signal=GPIO_Output +PD4.GPIOParameters=GPIO_Label +PD4.GPIO_Label=DS1302_DIO PD4.Locked=true -PD4.PinState=GPIO_PIN_RESET PD4.Signal=GPIO_Output +PD5.GPIOParameters=GPIO_Label +PD5.GPIO_Label=DS1302_RST PD5.Locked=true -PD5.Mode=Asynchronous -PD5.Signal=USART2_TX -PD6.Locked=true -PD6.Mode=Asynchronous -PD6.Signal=USART2_RX -PD8.GPIOParameters=PinState,GPIO_Label -PD8.GPIO_Label=LED_CH12 -PD8.Locked=true -PD8.PinState=GPIO_PIN_SET -PD8.Signal=GPIO_Output -PD9.GPIOParameters=PinState,GPIO_Label -PD9.GPIO_Label=LED_CH11 -PD9.Locked=true -PD9.PinState=GPIO_PIN_SET -PD9.Signal=GPIO_Output -PE0.GPIOParameters=GPIO_Speed,GPIO_Label -PE0.GPIO_Label=RX_S1 -PE0.GPIO_Speed=GPIO_SPEED_FREQ_VERY_HIGH -PE0.Locked=true -PE0.Signal=GPIO_Output -PE1.GPIOParameters=GPIO_Speed,GPIO_Label -PE1.GPIO_Label=RX_S0 -PE1.GPIO_Speed=GPIO_SPEED_FREQ_VERY_HIGH -PE1.Locked=true -PE1.Signal=GPIO_Output -PE10.GPIOParameters=PinState,GPIO_Label -PE10.GPIO_Label=LED3 -PE10.Locked=true -PE10.PinState=GPIO_PIN_SET -PE10.Signal=GPIO_Output -PE2.GPIOParameters=GPIO_Speed,GPIO_Label -PE2.GPIO_Label=TX_S3 -PE2.GPIO_Speed=GPIO_SPEED_FREQ_VERY_HIGH -PE2.Locked=true -PE2.Signal=GPIO_Output -PE3.GPIOParameters=GPIO_Speed,GPIO_Label -PE3.GPIO_Label=TX_S2 -PE3.GPIO_Speed=GPIO_SPEED_FREQ_VERY_HIGH -PE3.Locked=true -PE3.Signal=GPIO_Output -PE4.GPIOParameters=GPIO_Label -PE4.GPIO_Label=TX_EN -PE4.Locked=true -PE4.Signal=GPIO_Output -PE5.GPIOParameters=GPIO_Speed,GPIO_Label -PE5.GPIO_Label=TX_S1 -PE5.GPIO_Speed=GPIO_SPEED_FREQ_VERY_HIGH -PE5.Locked=true -PE5.Signal=GPIO_Output -PE6.GPIOParameters=GPIO_Speed,GPIO_Label -PE6.GPIO_Label=TX_S0 -PE6.GPIO_Speed=GPIO_SPEED_FREQ_VERY_HIGH -PE6.Locked=true -PE6.Signal=GPIO_Output -PE8.GPIOParameters=PinState,GPIO_Label -PE8.GPIO_Label=LED1 -PE8.Locked=true -PE8.PinState=GPIO_PIN_SET -PE8.Signal=GPIO_Output -PE9.GPIOParameters=PinState,GPIO_Label -PE9.GPIO_Label=LED2 -PE9.Locked=true -PE9.PinState=GPIO_PIN_SET -PE9.Signal=GPIO_Output +PD5.Signal=GPIO_Output +PE11.GPIOParameters=GPIO_Label +PE11.GPIO_Label=W5500_SPI1_CS +PE11.Locked=true +PE11.Signal=GPIO_Output PH0-OSC_IN.Mode=HSE-External-Oscillator PH0-OSC_IN.Signal=RCC_OSC_IN PH1-OSC_OUT.Mode=HSE-External-Oscillator @@ -358,7 +262,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,3-MX_DMA_Init-DMA-false-HAL-true,4-MX_UART4_Init-UART4-false-HAL-true,5-MX_USART1_UART_Init-USART1-false-HAL-true,6-MX_USART2_UART_Init-USART2-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_UART4_Init-UART4-false-HAL-true,5-MX_USART1_UART_Init-USART1-false-HAL-true,6-MX_USART2_UART_Init-USART2-false-HAL-true,7-MX_SPI1_Init-SPI1-false-HAL-true,8-MX_SPI2_Init-SPI2-false-HAL-true,9-MX_USART3_UART_Init-USART3-false-HAL-true,10-MX_USART6_UART_Init-USART6-false-HAL-true RCC.48MHZClocksFreq_Value=84000000 RCC.AHBFreq_Value=168000000 RCC.APB1CLKDivider=RCC_HCLK_DIV4 @@ -392,6 +296,16 @@ RCC.VCOI2SOutputFreq_Value=384000000 RCC.VCOInputFreq_Value=2000000 RCC.VCOOutputFreq_Value=336000000 RCC.VcooutputI2S=192000000 +SPI1.CalculateBaudRate=42.0 MBits/s +SPI1.Direction=SPI_DIRECTION_2LINES +SPI1.IPParameters=VirtualType,Mode,Direction,CalculateBaudRate +SPI1.Mode=SPI_MODE_MASTER +SPI1.VirtualType=VM_MASTER +SPI2.CalculateBaudRate=21.0 MBits/s +SPI2.Direction=SPI_DIRECTION_2LINES +SPI2.IPParameters=VirtualType,Mode,Direction,CalculateBaudRate +SPI2.Mode=SPI_MODE_MASTER +SPI2.VirtualType=VM_MASTER UART4.IPParameters=VirtualMode,OverSampling UART4.OverSampling=UART_OVERSAMPLING_16 UART4.VirtualMode=Asynchronous @@ -401,6 +315,10 @@ USART1.VirtualMode=VM_ASYNC USART2.IPParameters=VirtualMode,OverSampling USART2.OverSampling=UART_OVERSAMPLING_16 USART2.VirtualMode=VM_ASYNC +USART3.IPParameters=VirtualMode +USART3.VirtualMode=VM_ASYNC +USART6.IPParameters=VirtualMode +USART6.VirtualMode=VM_ASYNC VP_SYS_VS_Systick.Mode=SysTick VP_SYS_VS_Systick.Signal=SYS_VS_Systick board=custom diff --git a/calib_board/Core/Inc/main.h b/calib_board/Core/Inc/main.h index cb4b75d..2e3b595 100644 --- a/calib_board/Core/Inc/main.h +++ b/calib_board/Core/Inc/main.h @@ -57,66 +57,22 @@ void Error_Handler(void); /* USER CODE END EFP */ /* Private defines -----------------------------------------------------------*/ -#define TX_S3_Pin GPIO_PIN_2 -#define TX_S3_GPIO_Port GPIOE -#define TX_S2_Pin GPIO_PIN_3 -#define TX_S2_GPIO_Port GPIOE -#define TX_EN_Pin GPIO_PIN_4 -#define TX_EN_GPIO_Port GPIOE -#define TX_S1_Pin GPIO_PIN_5 -#define TX_S1_GPIO_Port GPIOE -#define TX_S0_Pin GPIO_PIN_6 -#define TX_S0_GPIO_Port GPIOE -#define RS485_EN_Pin GPIO_PIN_2 -#define RS485_EN_GPIO_Port GPIOA -#define LED1_Pin GPIO_PIN_8 -#define LED1_GPIO_Port GPIOE -#define LED2_Pin GPIO_PIN_9 -#define LED2_GPIO_Port GPIOE -#define LED3_Pin GPIO_PIN_10 -#define LED3_GPIO_Port GPIOE -#define LED_CH16_Pin GPIO_PIN_12 -#define LED_CH16_GPIO_Port GPIOB -#define LED_CH15_Pin GPIO_PIN_13 -#define LED_CH15_GPIO_Port GPIOB -#define LED_CH14_Pin GPIO_PIN_14 -#define LED_CH14_GPIO_Port GPIOB -#define LED_CH13_Pin GPIO_PIN_15 -#define LED_CH13_GPIO_Port GPIOB -#define LED_CH12_Pin GPIO_PIN_8 -#define LED_CH12_GPIO_Port GPIOD -#define LED_CH11_Pin GPIO_PIN_9 -#define LED_CH11_GPIO_Port GPIOD -#define LED_CH10_Pin GPIO_PIN_10 -#define LED_CH10_GPIO_Port GPIOD -#define LED_CH9_Pin GPIO_PIN_11 -#define LED_CH9_GPIO_Port GPIOD -#define LED_CH8_Pin GPIO_PIN_12 -#define LED_CH8_GPIO_Port GPIOD -#define LED_CH7_Pin GPIO_PIN_13 -#define LED_CH7_GPIO_Port GPIOD -#define LED_CH6_Pin GPIO_PIN_14 -#define LED_CH6_GPIO_Port GPIOD -#define LED_CH5_Pin GPIO_PIN_15 -#define LED_CH5_GPIO_Port GPIOD -#define LED_CH4_Pin GPIO_PIN_6 -#define LED_CH4_GPIO_Port GPIOC -#define LED_CH3_Pin GPIO_PIN_7 -#define LED_CH3_GPIO_Port GPIOC -#define LED_CH2_Pin GPIO_PIN_8 -#define LED_CH2_GPIO_Port GPIOC -#define LED_CH1_Pin GPIO_PIN_9 -#define LED_CH1_GPIO_Port GPIOC -#define RX_EN_Pin GPIO_PIN_4 -#define RX_EN_GPIO_Port GPIOD -#define RX_S3_Pin GPIO_PIN_8 -#define RX_S3_GPIO_Port GPIOB -#define RX_S2_Pin GPIO_PIN_9 -#define RX_S2_GPIO_Port GPIOB -#define RX_S1_Pin GPIO_PIN_0 -#define RX_S1_GPIO_Port GPIOE -#define RX_S0_Pin GPIO_PIN_1 -#define RX_S0_GPIO_Port GPIOE +#define W5500_RST_Pin GPIO_PIN_4 +#define W5500_RST_GPIO_Port GPIOC +#define W5500_INT_Pin GPIO_PIN_5 +#define W5500_INT_GPIO_Port GPIOC +#define W5500_SPI1_CS_Pin GPIO_PIN_11 +#define W5500_SPI1_CS_GPIO_Port GPIOE +#define SPI2_CS_Pin GPIO_PIN_12 +#define SPI2_CS_GPIO_Port GPIOB +#define DS1302_CLK_Pin GPIO_PIN_3 +#define DS1302_CLK_GPIO_Port GPIOD +#define DS1302_DIO_Pin GPIO_PIN_4 +#define DS1302_DIO_GPIO_Port GPIOD +#define DS1302_RST_Pin GPIO_PIN_5 +#define DS1302_RST_GPIO_Port GPIOD +#define RS485_EN_Pin GPIO_PIN_8 +#define RS485_EN_GPIO_Port GPIOB /* USER CODE BEGIN Private defines */ diff --git a/calib_board/Core/Inc/stm32f4xx_hal_conf.h b/calib_board/Core/Inc/stm32f4xx_hal_conf.h index a820067..21aec74 100644 --- a/calib_board/Core/Inc/stm32f4xx_hal_conf.h +++ b/calib_board/Core/Inc/stm32f4xx_hal_conf.h @@ -62,7 +62,7 @@ /* #define HAL_SAI_MODULE_ENABLED */ /* #define HAL_SD_MODULE_ENABLED */ /* #define HAL_MMC_MODULE_ENABLED */ -/* #define HAL_SPI_MODULE_ENABLED */ +#define HAL_SPI_MODULE_ENABLED /* #define HAL_TIM_MODULE_ENABLED */ #define HAL_UART_MODULE_ENABLED /* #define HAL_USART_MODULE_ENABLED */ diff --git a/calib_board/Core/Inc/usart.h b/calib_board/Core/Inc/usart.h index 6e258e3..2b7a71b 100644 --- a/calib_board/Core/Inc/usart.h +++ b/calib_board/Core/Inc/usart.h @@ -38,6 +38,10 @@ extern UART_HandleTypeDef huart1; extern UART_HandleTypeDef huart2; +extern UART_HandleTypeDef huart3; + +extern UART_HandleTypeDef huart6; + /* USER CODE BEGIN Private defines */ /* USER CODE END Private defines */ @@ -45,6 +49,8 @@ extern UART_HandleTypeDef huart2; void MX_UART4_Init(void); void MX_USART1_UART_Init(void); void MX_USART2_UART_Init(void); +void MX_USART3_UART_Init(void); +void MX_USART6_UART_Init(void); /* USER CODE BEGIN Prototypes */ diff --git a/calib_board/Core/Src/gpio.c b/calib_board/Core/Src/gpio.c index a47af53..bb12201 100644 --- a/calib_board/Core/Src/gpio.c +++ b/calib_board/Core/Src/gpio.c @@ -45,94 +45,53 @@ void MX_GPIO_Init(void) GPIO_InitTypeDef GPIO_InitStruct = {0}; /* GPIO Ports Clock Enable */ - __HAL_RCC_GPIOE_CLK_ENABLE(); __HAL_RCC_GPIOH_CLK_ENABLE(); __HAL_RCC_GPIOA_CLK_ENABLE(); + __HAL_RCC_GPIOC_CLK_ENABLE(); + __HAL_RCC_GPIOE_CLK_ENABLE(); __HAL_RCC_GPIOB_CLK_ENABLE(); __HAL_RCC_GPIOD_CLK_ENABLE(); - __HAL_RCC_GPIOC_CLK_ENABLE(); /*Configure GPIO pin Output Level */ - HAL_GPIO_WritePin(GPIOE, TX_S3_Pin|TX_S2_Pin|TX_EN_Pin|TX_S1_Pin - |TX_S0_Pin|RX_S1_Pin|RX_S0_Pin, GPIO_PIN_RESET); + HAL_GPIO_WritePin(GPIOC, W5500_RST_Pin|W5500_INT_Pin, GPIO_PIN_RESET); /*Configure GPIO pin Output Level */ - HAL_GPIO_WritePin(RS485_EN_GPIO_Port, RS485_EN_Pin, GPIO_PIN_SET); + HAL_GPIO_WritePin(W5500_SPI1_CS_GPIO_Port, W5500_SPI1_CS_Pin, GPIO_PIN_RESET); /*Configure GPIO pin Output Level */ - HAL_GPIO_WritePin(GPIOE, LED1_Pin|LED2_Pin|LED3_Pin, GPIO_PIN_SET); + HAL_GPIO_WritePin(GPIOB, SPI2_CS_Pin|RS485_EN_Pin, GPIO_PIN_RESET); /*Configure GPIO pin Output Level */ - HAL_GPIO_WritePin(GPIOB, LED_CH16_Pin|LED_CH15_Pin|LED_CH14_Pin|LED_CH13_Pin, GPIO_PIN_SET); + HAL_GPIO_WritePin(GPIOD, DS1302_CLK_Pin|DS1302_DIO_Pin|DS1302_RST_Pin, GPIO_PIN_RESET); - /*Configure GPIO pin Output Level */ - HAL_GPIO_WritePin(GPIOD, LED_CH12_Pin|LED_CH11_Pin|LED_CH10_Pin|LED_CH9_Pin - |LED_CH8_Pin|LED_CH7_Pin|LED_CH6_Pin|LED_CH5_Pin, GPIO_PIN_SET); - - /*Configure GPIO pin Output Level */ - HAL_GPIO_WritePin(GPIOC, LED_CH4_Pin|LED_CH3_Pin|LED_CH2_Pin|LED_CH1_Pin, GPIO_PIN_SET); - - /*Configure GPIO pin Output Level */ - HAL_GPIO_WritePin(RX_EN_GPIO_Port, RX_EN_Pin, GPIO_PIN_RESET); - - /*Configure GPIO pin Output Level */ - HAL_GPIO_WritePin(GPIOB, RX_S3_Pin|RX_S2_Pin, GPIO_PIN_RESET); - - /*Configure GPIO pins : PEPin PEPin PEPin PEPin - PEPin PEPin */ - GPIO_InitStruct.Pin = TX_S3_Pin|TX_S2_Pin|TX_S1_Pin|TX_S0_Pin - |RX_S1_Pin|RX_S0_Pin; - GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP; - GPIO_InitStruct.Pull = GPIO_NOPULL; - GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH; - HAL_GPIO_Init(GPIOE, &GPIO_InitStruct); - - /*Configure GPIO pins : PEPin PEPin PEPin PEPin */ - GPIO_InitStruct.Pin = TX_EN_Pin|LED1_Pin|LED2_Pin|LED3_Pin; - GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP; - GPIO_InitStruct.Pull = GPIO_NOPULL; - GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW; - HAL_GPIO_Init(GPIOE, &GPIO_InitStruct); - - /*Configure GPIO pin : PtPin */ - GPIO_InitStruct.Pin = RS485_EN_Pin; - GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP; - GPIO_InitStruct.Pull = GPIO_NOPULL; - GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH; - HAL_GPIO_Init(RS485_EN_GPIO_Port, &GPIO_InitStruct); - - /*Configure GPIO pins : PBPin PBPin PBPin PBPin */ - GPIO_InitStruct.Pin = LED_CH16_Pin|LED_CH15_Pin|LED_CH14_Pin|LED_CH13_Pin; - GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP; - GPIO_InitStruct.Pull = GPIO_NOPULL; - GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW; - HAL_GPIO_Init(GPIOB, &GPIO_InitStruct); - - /*Configure GPIO pins : PDPin PDPin PDPin PDPin - PDPin PDPin PDPin PDPin - PDPin */ - GPIO_InitStruct.Pin = LED_CH12_Pin|LED_CH11_Pin|LED_CH10_Pin|LED_CH9_Pin - |LED_CH8_Pin|LED_CH7_Pin|LED_CH6_Pin|LED_CH5_Pin - |RX_EN_Pin; - GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP; - GPIO_InitStruct.Pull = GPIO_NOPULL; - GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW; - HAL_GPIO_Init(GPIOD, &GPIO_InitStruct); - - /*Configure GPIO pins : PCPin PCPin PCPin PCPin */ - GPIO_InitStruct.Pin = LED_CH4_Pin|LED_CH3_Pin|LED_CH2_Pin|LED_CH1_Pin; + /*Configure GPIO pins : PCPin PCPin */ + GPIO_InitStruct.Pin = W5500_RST_Pin|W5500_INT_Pin; GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP; GPIO_InitStruct.Pull = GPIO_NOPULL; GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW; HAL_GPIO_Init(GPIOC, &GPIO_InitStruct); - /*Configure GPIO pins : PBPin PBPin */ - GPIO_InitStruct.Pin = RX_S3_Pin|RX_S2_Pin; + /*Configure GPIO pin : PtPin */ + GPIO_InitStruct.Pin = W5500_SPI1_CS_Pin; GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP; GPIO_InitStruct.Pull = GPIO_NOPULL; - GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH; + GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW; + HAL_GPIO_Init(W5500_SPI1_CS_GPIO_Port, &GPIO_InitStruct); + + /*Configure GPIO pins : PBPin PBPin */ + GPIO_InitStruct.Pin = SPI2_CS_Pin|RS485_EN_Pin; + GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP; + GPIO_InitStruct.Pull = GPIO_NOPULL; + GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW; HAL_GPIO_Init(GPIOB, &GPIO_InitStruct); + /*Configure GPIO pins : PDPin PDPin PDPin */ + GPIO_InitStruct.Pin = DS1302_CLK_Pin|DS1302_DIO_Pin|DS1302_RST_Pin; + GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP; + GPIO_InitStruct.Pull = GPIO_NOPULL; + GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW; + HAL_GPIO_Init(GPIOD, &GPIO_InitStruct); + } /* USER CODE BEGIN 2 */ diff --git a/calib_board/Core/Src/main.c b/calib_board/Core/Src/main.c index 3d8ff4e..f116c49 100644 --- a/calib_board/Core/Src/main.c +++ b/calib_board/Core/Src/main.c @@ -19,6 +19,7 @@ /* Includes ------------------------------------------------------------------*/ #include "main.h" #include "dma.h" +#include "spi.h" #include "usart.h" #include "gpio.h" @@ -91,6 +92,10 @@ int main(void) MX_UART4_Init(); MX_USART1_UART_Init(); MX_USART2_UART_Init(); + MX_SPI1_Init(); + MX_SPI2_Init(); + MX_USART3_UART_Init(); + MX_USART6_UART_Init(); /* USER CODE BEGIN 2 */ app_init(); /* USER CODE END 2 */ diff --git a/calib_board/Core/Src/stm32f4xx_it.c b/calib_board/Core/Src/stm32f4xx_it.c index 6d5f635..f2c37d8 100644 --- a/calib_board/Core/Src/stm32f4xx_it.c +++ b/calib_board/Core/Src/stm32f4xx_it.c @@ -199,7 +199,7 @@ void SysTick_Handler(void) com_uart2.rx_time_increment_int(&com_uart2,1); com_uart4.rx_time_increment_int(&com_uart4,1); /* USER CODE END SysTick_IRQn 0 */ - HAL_IncTick(); + HAL_IncTick(); /* USER CODE BEGIN SysTick_IRQn 1 */ /* USER CODE END SysTick_IRQn 1 */ @@ -279,7 +279,7 @@ void USART1_IRQHandler(void) // __HAL_UART_CLEAR_IDLEFLAG(&huart1); // com_uart1.Rx_IdleInt(&com_uart1); // } -// /* USER CODE END USART1_IRQn 0 */ + /* USER CODE END USART1_IRQn 0 */ HAL_UART_IRQHandler(&huart1); /* USER CODE BEGIN USART1_IRQn 1 */ diff --git a/calib_board/Core/Src/usart.c b/calib_board/Core/Src/usart.c index 0120f04..b3caa43 100644 --- a/calib_board/Core/Src/usart.c +++ b/calib_board/Core/Src/usart.c @@ -27,6 +27,8 @@ UART_HandleTypeDef huart4; UART_HandleTypeDef huart1; UART_HandleTypeDef huart2; +UART_HandleTypeDef huart3; +UART_HandleTypeDef huart6; DMA_HandleTypeDef hdma_uart4_rx; DMA_HandleTypeDef hdma_uart4_tx; DMA_HandleTypeDef hdma_usart1_rx; @@ -104,7 +106,7 @@ void MX_USART2_UART_Init(void) /* USER CODE END USART2_Init 1 */ huart2.Instance = USART2; - huart2.Init.BaudRate = 9600; + huart2.Init.BaudRate = 115200; huart2.Init.WordLength = UART_WORDLENGTH_8B; huart2.Init.StopBits = UART_STOPBITS_1; huart2.Init.Parity = UART_PARITY_NONE; @@ -119,6 +121,64 @@ void MX_USART2_UART_Init(void) /* USER CODE END USART2_Init 2 */ +} +/* USART3 init function */ + +void MX_USART3_UART_Init(void) +{ + + /* USER CODE BEGIN USART3_Init 0 */ + + /* USER CODE END USART3_Init 0 */ + + /* USER CODE BEGIN USART3_Init 1 */ + + /* USER CODE END USART3_Init 1 */ + huart3.Instance = USART3; + huart3.Init.BaudRate = 115200; + huart3.Init.WordLength = UART_WORDLENGTH_8B; + huart3.Init.StopBits = UART_STOPBITS_1; + huart3.Init.Parity = UART_PARITY_NONE; + huart3.Init.Mode = UART_MODE_TX_RX; + huart3.Init.HwFlowCtl = UART_HWCONTROL_NONE; + huart3.Init.OverSampling = UART_OVERSAMPLING_16; + if (HAL_UART_Init(&huart3) != HAL_OK) + { + Error_Handler(); + } + /* USER CODE BEGIN USART3_Init 2 */ + + /* USER CODE END USART3_Init 2 */ + +} +/* USART6 init function */ + +void MX_USART6_UART_Init(void) +{ + + /* USER CODE BEGIN USART6_Init 0 */ + + /* USER CODE END USART6_Init 0 */ + + /* USER CODE BEGIN USART6_Init 1 */ + + /* USER CODE END USART6_Init 1 */ + huart6.Instance = USART6; + huart6.Init.BaudRate = 115200; + huart6.Init.WordLength = UART_WORDLENGTH_8B; + huart6.Init.StopBits = UART_STOPBITS_1; + huart6.Init.Parity = UART_PARITY_NONE; + huart6.Init.Mode = UART_MODE_TX_RX; + huart6.Init.HwFlowCtl = UART_HWCONTROL_NONE; + huart6.Init.OverSampling = UART_OVERSAMPLING_16; + if (HAL_UART_Init(&huart6) != HAL_OK) + { + Error_Handler(); + } + /* USER CODE BEGIN USART6_Init 2 */ + + /* USER CODE END USART6_Init 2 */ + } void HAL_UART_MspInit(UART_HandleTypeDef* uartHandle) @@ -197,17 +257,17 @@ void HAL_UART_MspInit(UART_HandleTypeDef* uartHandle) /* USART1 clock enable */ __HAL_RCC_USART1_CLK_ENABLE(); - __HAL_RCC_GPIOA_CLK_ENABLE(); + __HAL_RCC_GPIOB_CLK_ENABLE(); /**USART1 GPIO Configuration - PA9 ------> USART1_TX - PA10 ------> USART1_RX + PB6 ------> USART1_TX + PB7 ------> USART1_RX */ - GPIO_InitStruct.Pin = GPIO_PIN_9|GPIO_PIN_10; + GPIO_InitStruct.Pin = GPIO_PIN_6|GPIO_PIN_7; 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_USART1; - HAL_GPIO_Init(GPIOA, &GPIO_InitStruct); + HAL_GPIO_Init(GPIOB, &GPIO_InitStruct); /* USART1 DMA Init */ /* USART1_RX Init */ @@ -261,17 +321,17 @@ void HAL_UART_MspInit(UART_HandleTypeDef* uartHandle) /* USART2 clock enable */ __HAL_RCC_USART2_CLK_ENABLE(); - __HAL_RCC_GPIOD_CLK_ENABLE(); + __HAL_RCC_GPIOA_CLK_ENABLE(); /**USART2 GPIO Configuration - PD5 ------> USART2_TX - PD6 ------> USART2_RX + PA2 ------> USART2_TX + PA3 ------> USART2_RX */ - GPIO_InitStruct.Pin = GPIO_PIN_5|GPIO_PIN_6; + GPIO_InitStruct.Pin = GPIO_PIN_2|GPIO_PIN_3; 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(GPIOD, &GPIO_InitStruct); + HAL_GPIO_Init(GPIOA, &GPIO_InitStruct); /* USART2 DMA Init */ /* USART2_RX Init */ @@ -317,6 +377,54 @@ void HAL_UART_MspInit(UART_HandleTypeDef* uartHandle) /* USER CODE END USART2_MspInit 1 */ } + else if(uartHandle->Instance==USART3) + { + /* USER CODE BEGIN USART3_MspInit 0 */ + + /* USER CODE END USART3_MspInit 0 */ + /* USART3 clock enable */ + __HAL_RCC_USART3_CLK_ENABLE(); + + __HAL_RCC_GPIOB_CLK_ENABLE(); + /**USART3 GPIO Configuration + PB10 ------> USART3_TX + PB11 ------> USART3_RX + */ + GPIO_InitStruct.Pin = GPIO_PIN_10|GPIO_PIN_11; + 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_USART3; + HAL_GPIO_Init(GPIOB, &GPIO_InitStruct); + + /* USER CODE BEGIN USART3_MspInit 1 */ + + /* USER CODE END USART3_MspInit 1 */ + } + else if(uartHandle->Instance==USART6) + { + /* USER CODE BEGIN USART6_MspInit 0 */ + + /* USER CODE END USART6_MspInit 0 */ + /* USART6 clock enable */ + __HAL_RCC_USART6_CLK_ENABLE(); + + __HAL_RCC_GPIOC_CLK_ENABLE(); + /**USART6 GPIO Configuration + PC6 ------> USART6_TX + PC7 ------> USART6_RX + */ + GPIO_InitStruct.Pin = GPIO_PIN_6|GPIO_PIN_7; + GPIO_InitStruct.Mode = GPIO_MODE_AF_PP; + GPIO_InitStruct.Pull = GPIO_NOPULL; + GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH; + GPIO_InitStruct.Alternate = GPIO_AF8_USART6; + HAL_GPIO_Init(GPIOC, &GPIO_InitStruct); + + /* USER CODE BEGIN USART6_MspInit 1 */ + + /* USER CODE END USART6_MspInit 1 */ + } } void HAL_UART_MspDeInit(UART_HandleTypeDef* uartHandle) @@ -355,10 +463,10 @@ void HAL_UART_MspDeInit(UART_HandleTypeDef* uartHandle) __HAL_RCC_USART1_CLK_DISABLE(); /**USART1 GPIO Configuration - PA9 ------> USART1_TX - PA10 ------> USART1_RX + PB6 ------> USART1_TX + PB7 ------> USART1_RX */ - HAL_GPIO_DeInit(GPIOA, GPIO_PIN_9|GPIO_PIN_10); + HAL_GPIO_DeInit(GPIOB, GPIO_PIN_6|GPIO_PIN_7); /* USART1 DMA DeInit */ HAL_DMA_DeInit(uartHandle->hdmarx); @@ -379,10 +487,10 @@ void HAL_UART_MspDeInit(UART_HandleTypeDef* uartHandle) __HAL_RCC_USART2_CLK_DISABLE(); /**USART2 GPIO Configuration - PD5 ------> USART2_TX - PD6 ------> USART2_RX + PA2 ------> USART2_TX + PA3 ------> USART2_RX */ - HAL_GPIO_DeInit(GPIOD, GPIO_PIN_5|GPIO_PIN_6); + HAL_GPIO_DeInit(GPIOA, GPIO_PIN_2|GPIO_PIN_3); /* USART2 DMA DeInit */ HAL_DMA_DeInit(uartHandle->hdmarx); @@ -394,6 +502,42 @@ void HAL_UART_MspDeInit(UART_HandleTypeDef* uartHandle) /* USER CODE END USART2_MspDeInit 1 */ } + else if(uartHandle->Instance==USART3) + { + /* USER CODE BEGIN USART3_MspDeInit 0 */ + + /* USER CODE END USART3_MspDeInit 0 */ + /* Peripheral clock disable */ + __HAL_RCC_USART3_CLK_DISABLE(); + + /**USART3 GPIO Configuration + PB10 ------> USART3_TX + PB11 ------> USART3_RX + */ + HAL_GPIO_DeInit(GPIOB, GPIO_PIN_10|GPIO_PIN_11); + + /* USER CODE BEGIN USART3_MspDeInit 1 */ + + /* USER CODE END USART3_MspDeInit 1 */ + } + else if(uartHandle->Instance==USART6) + { + /* USER CODE BEGIN USART6_MspDeInit 0 */ + + /* USER CODE END USART6_MspDeInit 0 */ + /* Peripheral clock disable */ + __HAL_RCC_USART6_CLK_DISABLE(); + + /**USART6 GPIO Configuration + PC6 ------> USART6_TX + PC7 ------> USART6_RX + */ + HAL_GPIO_DeInit(GPIOC, GPIO_PIN_6|GPIO_PIN_7); + + /* USER CODE BEGIN USART6_MspDeInit 1 */ + + /* USER CODE END USART6_MspDeInit 1 */ + } } /* USER CODE BEGIN 1 */ diff --git a/calib_board/MDK-ARM/CalibBoard.uvguix.PC b/calib_board/MDK-ARM/CalibBoard.uvguix.PC index 86c3393..d02bf2d 100644 --- a/calib_board/MDK-ARM/CalibBoard.uvguix.PC +++ b/calib_board/MDK-ARM/CalibBoard.uvguix.PC @@ -15,17 +15,17 @@ 38003 Registers - 140 90 + 140 100 346 Code Coverage - 1010 160 + 1010 660 204 Performance Analyzer - 1170 + 1218 175 175 102 @@ -70,7 +70,7 @@ 466 Source Browser 500 - 300 + 166 @@ -78,11 +78,11 @@ - 1 - 1 + 0 + 0 0 - 0 - -1 + 50 + 16 @@ -93,25 +93,25 @@ 2 3 - -32000 - -32000 + -1 + -1 -1 -1 - 87 - 393 - 1545 - 670 + 21 + 318 + 1736 + 1039 0 - 843 - 01000000040000000100000001000000010000000100000000000000020000000000000001000000010000000000000028000000280000000100000008000000030000000100000036443A5C636F64655C4769745CD0C2BDA8CEC4BCFEBCD0202832295C63616C69625F626F6172645C436F72655C5372635C6D61696E2E6300000000066D61696E2E6300000000C5D4F200FFFFFFFF34443A5C636F64655C4769745CD0C2BDA8CEC4BCFEBCD0202832295C63616C69625F626F6172645C7573725C6170705C6170702E6300000000056170702E6300000000FFDC7800FFFFFFFF3E443A5C636F64655C4769745CD0C2BDA8CEC4BCFEBCD0202832295C63616C69625F626F6172645C7573725C6273705C746A635F75736172745F686D692E68000000000F746A635F75736172745F686D692E6800000000BECEA100FFFFFFFF3E443A5C636F64655C4769745CD0C2BDA8CEC4BCFEBCD0202832295C63616C69625F626F6172645C7573725C6273705C746A635F75736172745F686D692E63000000000F746A635F75736172745F686D692E6300000000F0A0A100FFFFFFFF3A443A5C636F64655C4769745CD0C2BDA8CEC4BCFEBCD0202832295C63616C69625F626F6172645C7573725C6273705C6273705F466C6173682E63000000000B6273705F466C6173682E6300000000BCA8E100FFFFFFFF3A443A5C636F64655C4769745CD0C2BDA8CEC4BCFEBCD0202832295C63616C69625F626F6172645C7573725C6273705C6273705F466C6173682E68000000000B6273705F466C6173682E68000000009CC1B600FFFFFFFF2C443A5C646576656C6F705C6B65696C5C617A5C41524D5C41524D43435C696E636C7564655C737464696F2E680000000007737464696F2E6800000000F7B88600FFFFFFFF39443A5C636F64655C4769745CD0C2BDA8CEC4BCFEBCD0202832295C63616C69625F626F6172645C7573725C6273705C6273705F556172742E63000000000A6273705F556172742E6300000000D9ADC200FFFFFFFF0100000010000000C5D4F200FFDC7800BECEA100F0A0A100BCA8E1009CC1B600F7B88600D9ADC200A5C2D700B3A6BE00EAD6A300F6FA7D00B5E99D005FC3CF00C1838300CACAD500010000000000000002000000F4000000660000008007000063030000 + 804 + 0100000004000000010000000100000001000000010000000000000002000000000000000100000001000000000000002800000028000000010000000600000005000000010000004A443A5C636F64655C4769745C4C65616B6167652D436F6E74726F6C5C4C65616B6167652D436F6E74726F6C5C63616C69625F626F6172645C7573725C6273705C6273705F773235712E63000000000A6273705F773235712E6300000000BECEA100FFFFFFFF45443A5C636F64655C4769745C4C65616B6167652D436F6E74726F6C5C4C65616B6167652D436F6E74726F6C5C63616C69625F626F6172645C7573725C6170705C6170702E6300000000056170702E6300000000FFDC7800FFFFFFFF4A443A5C636F64655C4769745C4C65616B6167652D436F6E74726F6C5C4C65616B6167652D436F6E74726F6C5C63616C69625F626F6172645C7573725C6273705C6273705F773235712E68000000000A6273705F773235712E6800000000BECEA100FFFFFFFF55443A5C636F64655C4769745C4C65616B6167652D436F6E74726F6C5C4C65616B6167652D436F6E74726F6C5C63616C69625F626F6172645C4D444B2D41524D5C737461727475705F73746D33326634303778782E730000000015737461727475705F73746D33326634303778782E7300000000F0A0A100FFFFFFFF4B443A5C636F64655C4769745C4C65616B6167652D436F6E74726F6C5C4C65616B6167652D436F6E74726F6C5C63616C69625F626F6172645C7573725C6273705C6273705F466C6173682E63000000000B6273705F466C6173682E6300000000BCA8E100FFFFFFFF4D443A5C636F64655C4769745C4C65616B6167652D436F6E74726F6C5C4C65616B6167652D436F6E74726F6C5C63616C69625F626F6172645C7573725C6775695C6775695F746A635F686D692E63000000000D6775695F746A635F686D692E63000000009CC1B600FFFFFFFF0100000010000000C5D4F200FFDC7800BECEA100F0A0A100BCA8E1009CC1B600F7B88600D9ADC200A5C2D700B3A6BE00EAD6A300F6FA7D00B5E99D005FC3CF00C1838300CACAD50001000000000000000200000006010000660000008007000023030000 @@ -150,7 +150,7 @@ 0 16 - 0300000066000000ED00000033030000 + 0300000066000000FF000000F3020000 16 @@ -170,7 +170,7 @@ 0 16 - 0300000066000000ED00000033030000 + 0300000066000000FF000000F3020000 16 @@ -450,7 +450,7 @@ 0 16 - 0300000066000000ED00000033030000 + 0300000066000000FF000000F3020000 16 @@ -470,7 +470,7 @@ 0 16 - 0300000066000000ED00000033030000 + 0300000066000000FF000000F3020000 16 @@ -490,7 +490,7 @@ 0 16 - 03000000670300007D070000C5030000 + 03000000270300007D070000C5030000 16 @@ -520,7 +520,7 @@ 199 199 - 0 + 1 0 0 0 @@ -530,7 +530,7 @@ 0 16 - 03000000670300007D070000C5030000 + 03000000270300007D070000C5030000 16 @@ -1150,7 +1150,7 @@ 0 16 - 0300000066000000ED00000033030000 + 0300000066000000FF000000F3020000 16 @@ -1170,7 +1170,7 @@ 0 16 - 03000000670300007D070000C5030000 + 03000000270300007D070000C5030000 16 @@ -1190,7 +1190,7 @@ 0 16 - 03000000670300007D070000C5030000 + 03000000270300007D070000C5030000 16 @@ -1250,7 +1250,7 @@ 0 16 - 03000000670300007D070000C5030000 + 03000000270300007D070000C5030000 16 @@ -1270,7 +1270,7 @@ 0 16 - 03000000670300007D070000C5030000 + 03000000270300007D070000C5030000 16 @@ -1799,14 +1799,14 @@ 3312 - 000000000B000000000000000020000000000000FFFFFFFFFFFFFFFFF4000000DD00000090050000E1000000000000000100000004000000010000000000000000000000FFFFFFFF08000000CB00000057010000CC000000F08B00005A01000079070000D601000045890000FFFF02000B004354616262656450616E650020000000000000F40000006600000090050000F4000000F40000004F00000090050000DD0000000000000040280046080000000B446973617373656D626C7900000000CB00000001000000FFFFFFFFFFFFFFFF14506572666F726D616E636520416E616C797A6572000000005701000001000000FFFFFFFFFFFFFFFF14506572666F726D616E636520416E616C797A657200000000CC00000001000000FFFFFFFFFFFFFFFF0E4C6F67696320416E616C797A657200000000F08B000001000000FFFFFFFFFFFFFFFF0D436F646520436F766572616765000000005A01000001000000FFFFFFFFFFFFFFFF11496E737472756374696F6E205472616365000000007907000001000000FFFFFFFFFFFFFFFF0F53797374656D20416E616C797A657200000000D601000001000000FFFFFFFFFFFFFFFF104576656E742053746174697374696373000000004589000001000000FFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000001000000FFFFFFFFCB00000001000000FFFFFFFFCB000000000000000040000000000000FFFFFFFFFFFFFFFF9C0400004F000000A004000025020000000000000200000004000000010000000000000000000000FFFFFFFF2B000000E2050000CA0900002D8C00002E8C00002F8C0000308C0000318C0000328C0000338C0000348C0000358C0000368C0000378C0000388C0000398C00003A8C00003B8C00003C8C00003D8C00003E8C00003F8C0000408C0000418C000050C3000051C3000052C3000053C3000054C3000055C3000056C3000057C3000058C3000059C300005AC300005BC300005CC300005DC300005EC300005FC3000060C3000061C3000062C3000063C3000001800040000000000000A004000066000000900500003C020000A00400004F000000900500002502000000000000404100462B0000000753796D626F6C7300000000E205000001000000FFFFFFFFFFFFFFFF0A5472616365204461746100000000CA09000001000000FFFFFFFFFFFFFFFF00000000002D8C000001000000FFFFFFFFFFFFFFFF00000000002E8C000001000000FFFFFFFFFFFFFFFF00000000002F8C000001000000FFFFFFFFFFFFFFFF0000000000308C000001000000FFFFFFFFFFFFFFFF0000000000318C000001000000FFFFFFFFFFFFFFFF0000000000328C000001000000FFFFFFFFFFFFFFFF0000000000338C000001000000FFFFFFFFFFFFFFFF0000000000348C000001000000FFFFFFFFFFFFFFFF0000000000358C000001000000FFFFFFFFFFFFFFFF0000000000368C000001000000FFFFFFFFFFFFFFFF0000000000378C000001000000FFFFFFFFFFFFFFFF0000000000388C000001000000FFFFFFFFFFFFFFFF0000000000398C000001000000FFFFFFFFFFFFFFFF00000000003A8C000001000000FFFFFFFFFFFFFFFF00000000003B8C000001000000FFFFFFFFFFFFFFFF00000000003C8C000001000000FFFFFFFFFFFFFFFF00000000003D8C000001000000FFFFFFFFFFFFFFFF00000000003E8C000001000000FFFFFFFFFFFFFFFF00000000003F8C000001000000FFFFFFFFFFFFFFFF0000000000408C000001000000FFFFFFFFFFFFFFFF0000000000418C000001000000FFFFFFFFFFFFFFFF000000000050C3000001000000FFFFFFFFFFFFFFFF000000000051C3000001000000FFFFFFFFFFFFFFFF000000000052C3000001000000FFFFFFFFFFFFFFFF000000000053C3000001000000FFFFFFFFFFFFFFFF000000000054C3000001000000FFFFFFFFFFFFFFFF000000000055C3000001000000FFFFFFFFFFFFFFFF000000000056C3000001000000FFFFFFFFFFFFFFFF000000000057C3000001000000FFFFFFFFFFFFFFFF000000000058C3000001000000FFFFFFFFFFFFFFFF000000000059C3000001000000FFFFFFFFFFFFFFFF00000000005AC3000001000000FFFFFFFFFFFFFFFF00000000005BC3000001000000FFFFFFFFFFFFFFFF00000000005CC3000001000000FFFFFFFFFFFFFFFF00000000005DC3000001000000FFFFFFFFFFFFFFFF00000000005EC3000001000000FFFFFFFFFFFFFFFF00000000005FC3000001000000FFFFFFFFFFFFFFFF000000000060C3000001000000FFFFFFFFFFFFFFFF000000000061C3000001000000FFFFFFFFFFFFFFFF000000000062C3000001000000FFFFFFFFFFFFFFFF000000000063C3000001000000FFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000001000000FFFFFFFFE205000001000000FFFFFFFFE2050000000000000010000001000000FFFFFFFFFFFFFFFFF00000004F000000F40000004C030000010000000200001004000000010000000000000000000000FFFFFFFF05000000ED0300006D000000C3000000C400000073940000018000100000010000000000000066000000F000000063030000000000004F000000F00000004C0300000000000040410056050000000750726F6A65637401000000ED03000001000000FFFFFFFFFFFFFFFF05426F6F6B73010000006D00000001000000FFFFFFFFFFFFFFFF0946756E6374696F6E7301000000C300000001000000FFFFFFFFFFFFFFFF0954656D706C6174657301000000C400000001000000FFFFFFFFFFFFFFFF09526567697374657273000000007394000001000000FFFFFFFFFFFFFFFF00000000000000000000000000000000000000000000000001000000FFFFFFFFED03000001000000FFFFFFFFED030000000000000080000000000000FFFFFFFFFFFFFFFF0000000011020000900500001502000000000000010000000400000001000000000000000000000000000000000000000000000001000000C6000000FFFFFFFF0F0000008F070000930700009407000095070000960700009007000091070000B5010000B801000038030000B9050000BA050000BB050000BC050000CB09000001800080000000000000000000002C02000090050000CE020000000000001502000090050000B702000000000000404100460F0000001343616C6C20537461636B202B204C6F63616C73000000008F07000001000000FFFFFFFFFFFFFFFF0755415254202331000000009307000001000000FFFFFFFFFFFFFFFF0755415254202332000000009407000001000000FFFFFFFFFFFFFFFF0755415254202333000000009507000001000000FFFFFFFFFFFFFFFF15446562756720287072696E74662920566965776572000000009607000001000000FFFFFFFFFFFFFFFF0757617463682031000000009007000001000000FFFFFFFFFFFFFFFF0757617463682032000000009107000001000000FFFFFFFFFFFFFFFF10547261636520457863657074696F6E7300000000B501000001000000FFFFFFFFFFFFFFFF0E4576656E7420436F756E7465727300000000B801000001000000FFFFFFFFFFFFFFFF09554C494E4B706C7573000000003803000001000000FFFFFFFFFFFFFFFF084D656D6F7279203100000000B905000001000000FFFFFFFFFFFFFFFF084D656D6F7279203200000000BA05000001000000FFFFFFFFFFFFFFFF084D656D6F7279203300000000BB05000001000000FFFFFFFFFFFFFFFF084D656D6F7279203400000000BC05000001000000FFFFFFFFFFFFFFFF105472616365204E617669676174696F6E00000000CB09000001000000FFFFFFFFFFFFFFFFFFFFFFFF0000000001000000000000000000000001000000FFFFFFFFC802000015020000CC020000B702000000000000020000000400000000000000000000000000000000000000000000000000000002000000C6000000FFFFFFFF8F07000001000000FFFFFFFF8F07000001000000C6000000000000000080000001000000FFFFFFFFFFFFFFFF000000004C0300008007000050030000010000000100001004000000010000000000000000000000FFFFFFFF06000000C5000000C7000000B4010000D2010000CF0100007794000001800080000001000000000000006703000080070000F5030000000000005003000080070000DE0300000000000040820056060000000C4275696C64204F757470757401000000C500000001000000FFFFFFFFFFFFFFFF0D46696E6420496E2046696C657300000000C700000001000000FFFFFFFFFFFFFFFF0A4572726F72204C69737400000000B401000001000000FFFFFFFFFFFFFFFF0E536F757263652042726F7773657200000000D201000001000000FFFFFFFFFFFFFFFF0E416C6C205265666572656E63657300000000CF01000001000000FFFFFFFFFFFFFFFF0742726F77736572010000007794000001000000FFFFFFFFFFFFFFFF00000000000000000000000000000000000000000000000001000000FFFFFFFFC500000001000000FFFFFFFFC5000000000000000000000000000000 + 000000000B000000000000000020000000000000FFFFFFFFFFFFFFFFF4000000DD00000090050000E1000000000000000100000004000000010000000000000000000000FFFFFFFF08000000CB00000057010000CC000000F08B00005A01000079070000D601000045890000FFFF02000B004354616262656450616E650020000000000000F40000006600000090050000F4000000F40000004F00000090050000DD0000000000000040280046080000000B446973617373656D626C7900000000CB00000001000000FFFFFFFFFFFFFFFF14506572666F726D616E636520416E616C797A6572000000005701000001000000FFFFFFFFFFFFFFFF14506572666F726D616E636520416E616C797A657200000000CC00000001000000FFFFFFFFFFFFFFFF0E4C6F67696320416E616C797A657200000000F08B000001000000FFFFFFFFFFFFFFFF0D436F646520436F766572616765000000005A01000001000000FFFFFFFFFFFFFFFF11496E737472756374696F6E205472616365000000007907000001000000FFFFFFFFFFFFFFFF0F53797374656D20416E616C797A657200000000D601000001000000FFFFFFFFFFFFFFFF104576656E742053746174697374696373000000004589000001000000FFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000001000000FFFFFFFFCB00000001000000FFFFFFFFCB000000000000000040000000000000FFFFFFFFFFFFFFFF9C0400004F000000A004000025020000000000000200000004000000010000000000000000000000FFFFFFFF2B000000E2050000CA0900002D8C00002E8C00002F8C0000308C0000318C0000328C0000338C0000348C0000358C0000368C0000378C0000388C0000398C00003A8C00003B8C00003C8C00003D8C00003E8C00003F8C0000408C0000418C000050C3000051C3000052C3000053C3000054C3000055C3000056C3000057C3000058C3000059C300005AC300005BC300005CC300005DC300005EC300005FC3000060C3000061C3000062C3000063C3000001800040000000000000A004000066000000900500003C020000A00400004F000000900500002502000000000000404100462B0000000753796D626F6C7300000000E205000001000000FFFFFFFFFFFFFFFF0A5472616365204461746100000000CA09000001000000FFFFFFFFFFFFFFFF00000000002D8C000001000000FFFFFFFFFFFFFFFF00000000002E8C000001000000FFFFFFFFFFFFFFFF00000000002F8C000001000000FFFFFFFFFFFFFFFF0000000000308C000001000000FFFFFFFFFFFFFFFF0000000000318C000001000000FFFFFFFFFFFFFFFF0000000000328C000001000000FFFFFFFFFFFFFFFF0000000000338C000001000000FFFFFFFFFFFFFFFF0000000000348C000001000000FFFFFFFFFFFFFFFF0000000000358C000001000000FFFFFFFFFFFFFFFF0000000000368C000001000000FFFFFFFFFFFFFFFF0000000000378C000001000000FFFFFFFFFFFFFFFF0000000000388C000001000000FFFFFFFFFFFFFFFF0000000000398C000001000000FFFFFFFFFFFFFFFF00000000003A8C000001000000FFFFFFFFFFFFFFFF00000000003B8C000001000000FFFFFFFFFFFFFFFF00000000003C8C000001000000FFFFFFFFFFFFFFFF00000000003D8C000001000000FFFFFFFFFFFFFFFF00000000003E8C000001000000FFFFFFFFFFFFFFFF00000000003F8C000001000000FFFFFFFFFFFFFFFF0000000000408C000001000000FFFFFFFFFFFFFFFF0000000000418C000001000000FFFFFFFFFFFFFFFF000000000050C3000001000000FFFFFFFFFFFFFFFF000000000051C3000001000000FFFFFFFFFFFFFFFF000000000052C3000001000000FFFFFFFFFFFFFFFF000000000053C3000001000000FFFFFFFFFFFFFFFF000000000054C3000001000000FFFFFFFFFFFFFFFF000000000055C3000001000000FFFFFFFFFFFFFFFF000000000056C3000001000000FFFFFFFFFFFFFFFF000000000057C3000001000000FFFFFFFFFFFFFFFF000000000058C3000001000000FFFFFFFFFFFFFFFF000000000059C3000001000000FFFFFFFFFFFFFFFF00000000005AC3000001000000FFFFFFFFFFFFFFFF00000000005BC3000001000000FFFFFFFFFFFFFFFF00000000005CC3000001000000FFFFFFFFFFFFFFFF00000000005DC3000001000000FFFFFFFFFFFFFFFF00000000005EC3000001000000FFFFFFFFFFFFFFFF00000000005FC3000001000000FFFFFFFFFFFFFFFF000000000060C3000001000000FFFFFFFFFFFFFFFF000000000061C3000001000000FFFFFFFFFFFFFFFF000000000062C3000001000000FFFFFFFFFFFFFFFF000000000063C3000001000000FFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000001000000FFFFFFFFE205000001000000FFFFFFFFE2050000000000000010000001000000FFFFFFFFFFFFFFFF020100004F000000060100000C0300000100000002000010040000000100000012FFFFFF87060000FFFFFFFF05000000ED0300006D000000C3000000C4000000739400000180001000000100000000000000660000000201000023030000000000004F000000020100000C0300000000000040410056050000000750726F6A65637401000000ED03000001000000FFFFFFFFFFFFFFFF05426F6F6B73010000006D00000001000000FFFFFFFFFFFFFFFF0946756E6374696F6E7301000000C300000001000000FFFFFFFFFFFFFFFF0954656D706C6174657301000000C400000001000000FFFFFFFFFFFFFFFF09526567697374657273000000007394000001000000FFFFFFFFFFFFFFFF00000000000000000000000000000000000000000000000001000000FFFFFFFFED03000001000000FFFFFFFFED030000000000000080000000000000FFFFFFFFFFFFFFFF0000000011020000900500001502000000000000010000000400000001000000000000000000000000000000000000000000000001000000C6000000FFFFFFFF0F0000008F070000930700009407000095070000960700009007000091070000B5010000B801000038030000B9050000BA050000BB050000BC050000CB09000001800080000000000000000000002C02000090050000CE020000000000001502000090050000B702000000000000404100460F0000001343616C6C20537461636B202B204C6F63616C73000000008F07000001000000FFFFFFFFFFFFFFFF0755415254202331000000009307000001000000FFFFFFFFFFFFFFFF0755415254202332000000009407000001000000FFFFFFFFFFFFFFFF0755415254202333000000009507000001000000FFFFFFFFFFFFFFFF15446562756720287072696E74662920566965776572000000009607000001000000FFFFFFFFFFFFFFFF0757617463682031000000009007000001000000FFFFFFFFFFFFFFFF0757617463682032000000009107000001000000FFFFFFFFFFFFFFFF10547261636520457863657074696F6E7300000000B501000001000000FFFFFFFFFFFFFFFF0E4576656E7420436F756E7465727300000000B801000001000000FFFFFFFFFFFFFFFF09554C494E4B706C7573000000003803000001000000FFFFFFFFFFFFFFFF084D656D6F7279203100000000B905000001000000FFFFFFFFFFFFFFFF084D656D6F7279203200000000BA05000001000000FFFFFFFFFFFFFFFF084D656D6F7279203300000000BB05000001000000FFFFFFFFFFFFFFFF084D656D6F7279203400000000BC05000001000000FFFFFFFFFFFFFFFF105472616365204E617669676174696F6E00000000CB09000001000000FFFFFFFFFFFFFFFFFFFFFFFF0000000001000000000000000000000001000000FFFFFFFFC802000015020000CC020000B702000000000000020000000400000000000000000000000000000000000000000000000000000002000000C6000000FFFFFFFF8F07000001000000FFFFFFFF8F07000001000000C6000000000000000080000001000000FFFFFFFFFFFFFFFF000000000C03000080070000100300000100000001000010040000000100000008FDFFFF8C000000FFFFFFFF06000000C5000000C7000000B4010000D2010000CF0100007794000001800080000001000000000000002703000080070000F5030000000000001003000080070000DE0300000000000040820056060000000C4275696C64204F757470757401000000C500000001000000FFFFFFFFFFFFFFFF0D46696E6420496E2046696C657301000000C700000001000000FFFFFFFFFFFFFFFF0A4572726F72204C69737400000000B401000001000000FFFFFFFFFFFFFFFF0E536F757263652042726F7773657200000000D201000001000000FFFFFFFFFFFFFFFF0E416C6C205265666572656E63657300000000CF01000001000000FFFFFFFFFFFFFFFF0742726F77736572010000007794000001000000FFFFFFFFFFFFFFFF00000000000000000000000000000000000000000000000001000000FFFFFFFFC500000001000000FFFFFFFFC5000000000000000000000000000000 59392 File - 2752 - 00200000010000002800FFFF01001100434D4643546F6F6C426172427574746F6E00E100000000000000000000000000000000000000000000000100000001000000018001E100000000000001000000000000000000000000000000000100000001000000018003E1000000000000020000000000000000000000000000000001000000010000000180CD7F0000000000000300000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018023E100000000040004000000000000000000000000000000000100000001000000018022E100000000040005000000000000000000000000000000000100000001000000018025E10000000000000600000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001802BE10000000000000700000000000000000000000000000000010000000100000001802CE10000000004000800000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001807A8A0000000000000900000000000000000000000000000000010000000100000001807B8A0000000000000A00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180D3B00000000000000B000000000000000000000000000000000100000001000000018015B10000000004000C0000000000000000000000000000000001000000010000000180F4B00000000004000D000000000000000000000000000000000100000001000000018036B10000000004000E00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FF88000000000400460000000000000000000000000000000001000000010000000180FE880000000004004500000000000000000000000000000000010000000100000001800B810000000004001300000000000000000000000000000000010000000100000001800C810000000004001400000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180F0880000020000000F000000000000000000000000000000000100000001000000FFFF0100120043555646696E64436F6D626F427574746F6EE80300000000000000000000000000000000000000000000000100000001000000960000000200205000000000046461746196000000000000000B0004646174610E64656C65746552696E6742756666037531361070726F746F5F53454353325F53656E641370726F746F5F53454353325F54785F533146332070726F746F5F53454353325F5061727365496E646963657346726F6D4C6973740B416E616C6F675F446174610B416E616C6F675F436F64650A476174657761795F49501370726F746F5F53454353325F52785F5461736B1143616C69622E5072696E744461746128290000000000000000000000000000000000000000000000000000000000000000000000000000000000000000018024E10000000000001100000000000000000000000000000000010000000100000001800A810000000000001200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6E2280000002000000150000002153746172742F53746F70202644656275672053657373696F6E094374726C2B46350000000000000000000000000100000001000000000000000000000001000000020021802280000000000000150000002153746172742F53746F70202644656275672053657373696F6E094374726C2B4635000000000000000000000000010000000100000000000000000000000100000000002180E0010000000000007500000021456E65726779204D6561737572656D656E742026776974686F75742044656275670000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C488000000000000160000000000000000000000000000000001000000010000000180C988000000000400180000000000000000000000000000000001000000010000000180C788000000000000190000000000000000000000000000000001000000010000002180C8880000000000001700000027264B696C6C20416C6C20427265616B706F696E747320696E2043757272656E7420546172676574000000000000000000000000010000000100000000000000000000000100000003002180C8880000000000001700000027264B696C6C20416C6C20427265616B706F696E747320696E2043757272656E7420546172676574000000000000000000000000010000000100000000000000000000000100000000002180E50100000000000078000000264B696C6C20416C6C20427265616B706F696E747320696E204163746976652050726F6A656374000000000000000000000000010000000100000000000000000000000100000000002180E601000000000000790000002F4B696C6C20416C6C20427265616B706F696E747320696E204D756C74692D50726F6A65637420576F726B73706163650000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000021804C010000020001001A0000000F2650726F6A6563742057696E646F77000000000000000000000000010000000100000000000000000000000100000008002180DD880000000000001A0000000750726F6A656374000000000000000000000000010000000100000000000000000000000100000000002180DC8B0000000000003A00000005426F6F6B73000000000000000000000000010000000100000000000000000000000100000000002180E18B0000000000003B0000000946756E6374696F6E73000000000000000000000000010000000100000000000000000000000100000000002180E28B000000000000400000000954656D706C6174657300000000000000000000000001000000010000000000000000000000010000000000218018890000000000003D0000000E536F757263652042726F777365720000000000000000000000000100000001000000000000000000000001000000000021800000000000000400FFFFFFFF00000000000000000001000000000000000100000000000000000000000100000000002180D988000000000000390000000C4275696C64204F7574707574000000000000000000000000010000000100000000000000000000000100000000002180E38B000000000000410000000B46696E64204F75747075740000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FB7F0000000000001B000000000000000000000000000000000100000001000000000000000446696C65C6030000 + 2946 + 00200000010000002800FFFF01001100434D4643546F6F6C426172427574746F6E00E100000000000000000000000000000000000000000000000100000001000000018001E100000000000001000000000000000000000000000000000100000001000000018003E1000000000000020000000000000000000000000000000001000000010000000180CD7F0000000000000300000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018023E100000000040004000000000000000000000000000000000100000001000000018022E100000000040005000000000000000000000000000000000100000001000000018025E10000000000000600000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001802BE10000000004000700000000000000000000000000000000010000000100000001802CE10000000004000800000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001807A8A0000000000000900000000000000000000000000000000010000000100000001807B8A0000000004000A00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180D3B00000000000000B000000000000000000000000000000000100000001000000018015B10000000004000C0000000000000000000000000000000001000000010000000180F4B00000000004000D000000000000000000000000000000000100000001000000018036B10000000004000E00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FF88000000000400460000000000000000000000000000000001000000010000000180FE880000000004004500000000000000000000000000000000010000000100000001800B810000000004001300000000000000000000000000000000010000000100000001800C810000000004001400000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180F0880000020000000F000000000000000000000000000000000100000001000000FFFF0100120043555646696E64436F6D626F427574746F6EE8030000000000000000000000000000000000000000000000010000000100000096000000020020500000000006705F646174619600000000000000140006705F646174610864697374616E6365064C656E6774680B53797374656D427974657307427974654C656E1970726F746F5F53454353325F4D657373616765446174615F741470726F746F5F53454353325F54785F53324633310553326633311457353530302E57353530305F436C6173735B305D2457353530302E57353530305F436C6173735B305D2E52785F44617461416E616C797369731A70726F746F5F48534D535F52785F44617461416E616C797369730F52785F44617461416E616C797369731370726F746F5F53454353325F52785F5461736B04646174610E64656C65746552696E6742756666037531361070726F746F5F53454353325F53656E641370726F746F5F53454353325F54785F533146332070726F746F5F53454353325F5061727365496E646963657346726F6D4C6973740B416E616C6F675F446174610000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000018024E10000000000001100000000000000000000000000000000010000000100000001800A810000000000001200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6E2280000002000000150000002153746172742F53746F70202644656275672053657373696F6E094374726C2B46350000000000000000000000000100000001000000000000000000000001000000020021802280000000000000150000002153746172742F53746F70202644656275672053657373696F6E094374726C2B4635000000000000000000000000010000000100000000000000000000000100000000002180E0010000000000007500000021456E65726779204D6561737572656D656E742026776974686F75742044656275670000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C488000000000000160000000000000000000000000000000001000000010000000180C988000000000400180000000000000000000000000000000001000000010000000180C788000000000000190000000000000000000000000000000001000000010000002180C8880000000000001700000027264B696C6C20416C6C20427265616B706F696E747320696E2043757272656E7420546172676574000000000000000000000000010000000100000000000000000000000100000003002180C8880000000000001700000027264B696C6C20416C6C20427265616B706F696E747320696E2043757272656E7420546172676574000000000000000000000000010000000100000000000000000000000100000000002180E50100000000000078000000264B696C6C20416C6C20427265616B706F696E747320696E204163746976652050726F6A656374000000000000000000000000010000000100000000000000000000000100000000002180E601000000000000790000002F4B696C6C20416C6C20427265616B706F696E747320696E204D756C74692D50726F6A65637420576F726B73706163650000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000021804C010000020001001A0000000F2650726F6A6563742057696E646F77000000000000000000000000010000000100000000000000000000000100000008002180DD880000000000001A0000000750726F6A656374000000000000000000000000010000000100000000000000000000000100000000002180DC8B0000000000003A00000005426F6F6B73000000000000000000000000010000000100000000000000000000000100000000002180E18B0000000000003B0000000946756E6374696F6E73000000000000000000000000010000000100000000000000000000000100000000002180E28B000000000000400000000954656D706C6174657300000000000000000000000001000000010000000000000000000000010000000000218018890000000000003D0000000E536F757263652042726F777365720000000000000000000000000100000001000000000000000000000001000000000021800000000000000400FFFFFFFF00000000000000000001000000000000000100000000000000000000000100000000002180D988000000000000390000000C4275696C64204F7574707574000000000000000000000000010000000100000000000000000000000100000000002180E38B000000000000410000000B46696E64204F75747075740000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FB7F0000000000001B000000000000000000000000000000000100000001000000000000000446696C65C6030000 1423 @@ -1822,7 +1822,7 @@ Build 980 - 00200000010000001000FFFF01001100434D4643546F6F6C426172427574746F6ECF7F0000000000001C0000000000000000000000000000000001000000010000000180D07F0000000000001D000000000000000000000000000000000100000001000000018030800000000000001E000000000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6EC7040000000000006A0000000C4261746368204275696C2664000000000000000000000000010000000100000000000000000000000100000004000580C7040000000000006A0000000C4261746368204275696C266400000000000000000000000001000000010000000000000000000000010000000000058046070000000000006B0000000D42617463682052656275696C640000000000000000000000000100000001000000000000000000000001000000000005804707000000000000FFFFFFFF0B426174636820436C65616E0100000000000000000000000100000001000000000000000000000001000000000005809E8A0000000000001F0000000F4261746326682053657475702E2E2E000000000000000000000000010000000100000000000000000000000100000000000180D17F0000000004002000000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001804C8A0000000000002100000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000FFFF01001900434D4643546F6F6C426172436F6D626F426F78427574746F6EBA00000000000000000000000000000000000000000000000001000000010000009600000003002050000000000A43616C6962426F617264960000000000000001000A43616C6962426F617264000000000180EB880000000000002200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C07F000000000000230000000000000000000000000000000001000000010000000180B08A000000000400240000000000000000000000000000000001000000010000000180A8010000000000004E00000000000000000000000000000000010000000100000001807202000000000000530000000000000000000000000000000001000000010000000180BE010000000000005000000000000000000000000000000000010000000100000000000000054275696C64DC010000 + 00200000010000001000FFFF01001100434D4643546F6F6C426172427574746F6ECF7F0000000000001C0000000000000000000000000000000001000000010000000180D07F0000000000001D000000000000000000000000000000000100000001000000018030800000000000001E000000000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6EC7040000000000006A0000000C4261746368204275696C2664000000000000000000000000010000000100000000000000000000000100000004000580C7040000000000006A0000000C4261746368204275696C266400000000000000000000000001000000010000000000000000000000010000000000058046070000000000006B0000000D42617463682052656275696C640000000000000000000000000100000001000000000000000000000001000000000005804707000000000000FFFFFFFF0B426174636820436C65616E0100000000000000010000000000000001000000000000000000000001000000000005809E8A0000000000001F0000000F4261746326682053657475702E2E2E000000000000000000000000010000000100000000000000000000000100000000000180D17F0000000004002000000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001804C8A0000000000002100000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000FFFF01001900434D4643546F6F6C426172436F6D626F426F78427574746F6EBA00000000000000000000000000000000000000000000000001000000010000009600000003002050000000000A43616C6962426F617264960000000000000001000A43616C6962426F617264000000000180EB880000000000002200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C07F000000000000230000000000000000000000000000000001000000010000000180B08A000000000400240000000000000000000000000000000001000000010000000180A8010000000000004E00000000000000000000000000000000010000000100000001807202000000000000530000000000000000000000000000000001000000010000000180BE010000000000005000000000000000000000000000000000010000000100000000000000054275696C64DC010000 583 @@ -1838,7 +1838,1748 @@ Debug 2373 - 00200000000000001900FFFF01001100434D4643546F6F6C426172427574746F6ECC880000000000002500000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018017800000000000002600000000000000000000000000000000010000000100000001801D800000000000002700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001801A800000000000002800000000000000000000000000000000010000000100000001801B80000000000000290000000000000000000000000000000001000000010000000180E57F0000000000002A00000000000000000000000000000000010000000100000001801C800000000000002B00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018000890000000000002C00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180E48B0000000000002D0000000000000000000000000000000001000000010000000180F07F0000000000002E0000000000000000000000000000000001000000010000000180E8880000000000003700000000000000000000000000000000010000000100000001803B010000000000002F0000000000000000000000000000000001000000010000000180BB8A00000000000030000000000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6E0E01000000000000310000000D57617463682057696E646F7773000000000000000000000000010000000100000000000000000000000100000003001380D88B00000000000031000000085761746368202631000000000000000000000000010000000100000000000000000000000100000000001380D98B00000000000031000000085761746368202632000000000000000000000000010000000100000000000000000000000100000000001380CE01000000000000FFFFFFFF0C576174636820416E63686F720100000000000000010000000000000001000000000000000000000001000000000013800F01000000000000320000000E4D656D6F72792057696E646F7773000000000000000000000000010000000100000000000000000000000100000004001380D28B00000000000032000000094D656D6F7279202631000000000000000000000000010000000100000000000000000000000100000000001380D38B00000000000032000000094D656D6F7279202632000000000000000000000000010000000100000000000000000000000100000000001380D48B00000000000032000000094D656D6F7279202633000000000000000000000000010000000100000000000000000000000100000000001380D58B00000000000032000000094D656D6F72792026340000000000000000000000000100000001000000000000000000000001000000000013801001000000000000330000000E53657269616C2057696E646F77730000000000000000000000000100000001000000000000000000000001000000040013809307000000000000330000000855415254202326310000000000000000000000000100000001000000000000000000000001000000000013809407000000000000330000000855415254202326320000000000000000000000000100000001000000000000000000000001000000000013809507000000000000330000000855415254202326330000000000000000000000000100000001000000000000000000000001000000000013809607000000000000330000001626446562756720287072696E746629205669657765720000000000000000000000000100000001000000000000000000000001000000000013803C010000000000007200000010416E616C797369732057696E646F7773000000000000000000000000010000000100000000000000000000000100000004001380658A000000000000340000000F264C6F67696320416E616C797A6572000000000000000000000000010000000100000000000000000000000100000000001380DC7F0000000000003E0000001526506572666F726D616E636520416E616C797A6572000000000000000000000000010000000100000000000000000000000100000000001380E788000000000000380000000E26436F646520436F766572616765000000000000000000000000010000000100000000000000000000000100000000001380CD01000000000000FFFFFFFF0F416E616C7973697320416E63686F7201000000000000000100000000000000010000000000000000000000010000000000138053010000000000003F0000000D54726163652057696E646F77730000000000000000000000000100000001000000000000000000000001000000010013805401000000000000FFFFFFFF115472616365204D656E7520416E63686F720100000000000000010000000000000001000000000000000000000001000000000013802901000000000000350000001553797374656D205669657765722057696E646F77730000000000000000000000000100000001000000000000000000000001000000010013804B01000000000000FFFFFFFF1453797374656D2056696577657220416E63686F720100000000000000010000000000000001000000000000000000000001000000000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000013800189000000000000360000000F26546F6F6C626F782057696E646F7700000000000000000000000001000000010000000000000000000000010000000300138044C5000000000000FFFFFFFF0E5570646174652057696E646F77730100000000000000010000000000000001000000000000000000000001000000000013800000000000000400FFFFFFFF000000000000000000010000000000000001000000000000000000000001000000000013805B01000000000000FFFFFFFF12546F6F6C626F78204D656E75416E63686F72010000000000000001000000000000000100000000000000000000000100000000000000000005446562756764020000 + 00200000000000001900FFFF01001100434D4643546F6F6C426172427574746F6ECC880000000000002500000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018017800000000000002600000000000000000000000000000000010000000100000001801D800000000000002700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001801A800000000000002800000000000000000000000000000000010000000100000001801B80000000000000290000000000000000000000000000000001000000010000000180E57F0000000000002A00000000000000000000000000000000010000000100000001801C800000000000002B00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018000890000000000002C00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180E48B0000000000002D0000000000000000000000000000000001000000010000000180F07F0000000000002E0000000000000000000000000000000001000000010000000180E8880000000000003700000000000000000000000000000000010000000100000001803B010000000000002F0000000000000000000000000000000001000000010000000180BB8A00000000000030000000000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6E0E01000000000000310000000D57617463682057696E646F7773000000000000000000000000010000000100000000000000000000000100000003001380D88B00000000000031000000085761746368202631000000000000000000000000010000000100000000000000000000000100000000001380D98B00000000000031000000085761746368202632000000000000000000000000010000000100000000000000000000000100000000001380CE01000000000000FFFFFFFF0C576174636820416E63686F720000000000000000010000000000000001000000000000000000000001000000000013800F01000000000000320000000E4D656D6F72792057696E646F7773000000000000000000000000010000000100000000000000000000000100000004001380D28B00000000000032000000094D656D6F7279202631000000000000000000000000010000000100000000000000000000000100000000001380D38B00000000000032000000094D656D6F7279202632000000000000000000000000010000000100000000000000000000000100000000001380D48B00000000000032000000094D656D6F7279202633000000000000000000000000010000000100000000000000000000000100000000001380D58B00000000000032000000094D656D6F72792026340000000000000000000000000100000001000000000000000000000001000000000013801001000000000000330000000E53657269616C2057696E646F77730000000000000000000000000100000001000000000000000000000001000000040013809307000000000000330000000855415254202326310000000000000000000000000100000001000000000000000000000001000000000013809407000000000000330000000855415254202326320000000000000000000000000100000001000000000000000000000001000000000013809507000000000000330000000855415254202326330000000000000000000000000100000001000000000000000000000001000000000013809607000000000000330000001626446562756720287072696E746629205669657765720000000000000000000000000100000001000000000000000000000001000000000013803C010000000000007200000010416E616C797369732057696E646F7773000000000000000000000000010000000100000000000000000000000100000004001380658A000000000000340000000F264C6F67696320416E616C797A6572000000000000000000000000010000000100000000000000000000000100000000001380DC7F0000000000003E0000001526506572666F726D616E636520416E616C797A6572000000000000000000000000010000000100000000000000000000000100000000001380E788000000000000380000000E26436F646520436F766572616765000000000000000000000000010000000100000000000000000000000100000000001380CD01000000000000FFFFFFFF0F416E616C7973697320416E63686F7200000000000000000100000000000000010000000000000000000000010000000000138053010000000000003F0000000D54726163652057696E646F77730000000000000000000000000100000001000000000000000000000001000000010013805401000000000000FFFFFFFF115472616365204D656E7520416E63686F720000000000000000010000000000000001000000000000000000000001000000000013802901000000000000350000001553797374656D205669657765722057696E646F77730000000000000000000000000100000001000000000000000000000001000000010013804B01000000000000FFFFFFFF1453797374656D2056696577657220416E63686F720000000000000000010000000000000001000000000000000000000001000000000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000013800189000000000000360000000F26546F6F6C626F782057696E646F7700000000000000000000000001000000010000000000000000000000010000000300138044C5000000000000FFFFFFFF0E5570646174652057696E646F77730000000000000000010000000000000001000000000000000000000001000000000013800000000000000400FFFFFFFF000000000000000000010000000000000001000000000000000000000001000000000013805B01000000000000FFFFFFFF12546F6F6C626F78204D656E75416E63686F72000000000000000001000000000000000100000000000000000000000100000000000000000005446562756764020000 + + + 898 + 1900FFFF01001100434D4643546F6F6C426172427574746F6ECC88000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001801780000000000000FFFFFFFF00010000000000000001000000000000000100000001801D80000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001801A80000000000000FFFFFFFF00010000000000000001000000000000000100000001801B80000000000000FFFFFFFF0001000000000000000100000000000000010000000180E57F000000000000FFFFFFFF00010000000000000001000000000000000100000001801C80000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001800089000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180E48B000000000000FFFFFFFF0001000000000000000100000000000000010000000180F07F000000000000FFFFFFFF0001000000000000000100000000000000010000000180E888000000000000FFFFFFFF00010000000000000001000000000000000100000001803B01000000000000FFFFFFFF0001000000000000000100000000000000010000000180BB8A000000000000FFFFFFFF0001000000000000000100000000000000010000000180D88B000000000000FFFFFFFF0001000000000000000100000000000000010000000180D28B000000000000FFFFFFFF00010000000000000001000000000000000100000001809307000000000000FFFFFFFF0001000000000000000100000000000000010000000180658A000000000000FFFFFFFF0001000000000000000100000000000000010000000180C18A000000000000FFFFFFFF0001000000000000000100000000000000010000000180EE8B000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001800189000000000000FFFFFFFF000100000000000000010000000000000001000000 + + + 898 + 1900FFFF01001100434D4643546F6F6C426172427574746F6ECC880000000000000000000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018017800000000000000100000000000000000000000000000000010000000100000001801D800000000000000200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001801A800000000000000300000000000000000000000000000000010000000100000001801B80000000000000040000000000000000000000000000000001000000010000000180E57F0000000000000500000000000000000000000000000000010000000100000001801C800000000000000600000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018000890000000000000700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180E48B000000000000080000000000000000000000000000000001000000010000000180F07F000000000000090000000000000000000000000000000001000000010000000180E8880000000000000A00000000000000000000000000000000010000000100000001803B010000000000000B0000000000000000000000000000000001000000010000000180BB8A0000000000000C0000000000000000000000000000000001000000010000000180D88B0000000000000D0000000000000000000000000000000001000000010000000180D28B0000000000000E000000000000000000000000000000000100000001000000018093070000000000000F0000000000000000000000000000000001000000010000000180658A000000000000100000000000000000000000000000000001000000010000000180C18A000000000000110000000000000000000000000000000001000000010000000180EE8B0000000000001200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180018900000000000013000000000000000000000000000000000100000001000000 + + + + 0 + 1920 + 1080 + + + + 1 + Debug + + -1 + -1 + 1 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + C40400007A0000008007000038030000 + + + 16 + C404000091000000800700004F030000 + + + + 1005 + 1005 + 1 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 0300000066000000ED0000001F030000 + + + 16 + D8000000EF000000C8010000B8010000 + + + + 109 + 109 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 0300000066000000ED0000001F030000 + + + 16 + D8000000EF000000F40100002B030000 + + + + 1465 + 1465 + 1 + 0 + 0 + 0 + 32767 + 0 + 32768 + 0 + + 16 + C7040000910000007D0700001F030000 + + + 16 + 1C040000DD010000E00600007F020000 + + + + 1466 + 1466 + 0 + 0 + 0 + 0 + 32767 + 0 + 32768 + 0 + + 16 + C7040000910000007D0700001F030000 + + + 16 + 1C040000DD010000E00600007F020000 + + + + 1467 + 1467 + 0 + 0 + 0 + 0 + 32767 + 0 + 32768 + 0 + + 16 + C7040000910000007D0700001F030000 + + + 16 + 1C040000DD010000E00600007F020000 + + + + 1468 + 1468 + 0 + 0 + 0 + 0 + 32767 + 0 + 32768 + 0 + + 16 + C7040000910000007D0700001F030000 + + + 16 + 1C040000DD010000E00600007F020000 + + + + 1506 + 1506 + 0 + 0 + 0 + 0 + 32767 + 0 + 16384 + 0 + + 16 + A3040000660000008D0500000C020000 + + + 16 + D8000000EF000000C8010000B8010000 + + + + 1913 + 1913 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + F7000000660000007D07000066000000 + + + 16 + D8000000EF000000A00300007D010000 + + + + 1935 + 1935 + 1 + 0 + 0 + 0 + 32767 + 0 + 32768 + 0 + + 16 + C7040000910000007D0700001F030000 + + + 16 + 1C040000DD010000E00600007F020000 + + + + 1936 + 1936 + 1 + 0 + 0 + 0 + 32767 + 0 + 32768 + 0 + + 16 + C7040000910000007D0700001F030000 + + + 16 + 1C040000DD010000E00600007F020000 + + + + 1937 + 1937 + 0 + 0 + 0 + 0 + 32767 + 0 + 32768 + 0 + + 16 + C7040000910000007D0700001F030000 + + + 16 + 1C040000DD010000E00600007F020000 + + + + 1939 + 1939 + 0 + 0 + 0 + 0 + 32767 + 0 + 32768 + 0 + + 16 + C7040000910000007D0700001F030000 + + + 16 + 1C040000DD010000E00600007F020000 + + + + 1940 + 1940 + 0 + 0 + 0 + 0 + 32767 + 0 + 32768 + 0 + + 16 + C7040000910000007D0700001F030000 + + + 16 + 1C040000DD010000E00600007F020000 + + + + 1941 + 1941 + 0 + 0 + 0 + 0 + 32767 + 0 + 32768 + 0 + + 16 + C7040000910000007D0700001F030000 + + + 16 + 1C040000DD010000E00600007F020000 + + + + 1942 + 1942 + 0 + 0 + 0 + 0 + 32767 + 0 + 32768 + 0 + + 16 + C7040000910000007D0700001F030000 + + + 16 + 1C040000DD010000E00600007F020000 + + + + 195 + 195 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 0300000066000000ED0000001F030000 + + + 16 + D8000000EF000000F40100002B030000 + + + + 196 + 196 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 0300000066000000ED0000001F030000 + + + 16 + D8000000EF000000F40100002B030000 + + + + 197 + 197 + 0 + 0 + 0 + 0 + 32767 + 0 + 32768 + 0 + + 16 + 03000000400200008D0500009E020000 + + + 16 + D8000000EF000000A00300007D010000 + + + + 198 + 198 + 1 + 0 + 0 + 0 + 32767 + 0 + 32768 + 0 + + 16 + 000000003C03000080070000DE030000 + + + 16 + D8000000EF000000A00300007D010000 + + + + 199 + 199 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 03000000400200008D0500009E020000 + + + 16 + D8000000EF000000A00300007D010000 + + + + 203 + 203 + 1 + 0 + 0 + 0 + 32767 + 0 + 8192 + 0 + + 16 + F4000000630000008007000076000000 + + + 16 + D8000000EF000000A00300007D010000 + + + + 204 + 204 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + F7000000660000007D07000066000000 + + + 16 + D8000000EF000000A00300007D010000 + + + + 221 + 221 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 00000000000000000000000000000000 + + + 16 + 0A0000000A0000006E0000006E000000 + + + + 2506 + 2506 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D0500000C020000 + + + 16 + D8000000EF000000C8010000B8010000 + + + + 2507 + 2507 + 0 + 0 + 0 + 0 + 32767 + 0 + 32768 + 0 + + 16 + C7040000910000007D0700001F030000 + + + 16 + 1C040000DD010000E00600007F020000 + + + + 343 + 343 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + F7000000660000007D07000066000000 + + + 16 + D8000000EF000000A00300007D010000 + + + + 346 + 346 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + F7000000660000007D07000066000000 + + + 16 + D8000000EF000000A00300007D010000 + + + + 35141 + 35141 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + F7000000660000007D07000066000000 + + + 16 + D8000000EF000000C8010000B8010000 + + + + 35824 + 35824 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + F7000000660000007D07000066000000 + + + 16 + D8000000EF000000A00300007D010000 + + + + 35885 + 35885 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D0500000C020000 + + + 16 + D8000000EF000000C8010000B8010000 + + + + 35886 + 35886 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D0500000C020000 + + + 16 + D8000000EF000000C8010000B8010000 + + + + 35887 + 35887 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D0500000C020000 + + + 16 + D8000000EF000000C8010000B8010000 + + + + 35888 + 35888 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D0500000C020000 + + + 16 + D8000000EF000000C8010000B8010000 + + + + 35889 + 35889 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D0500000C020000 + + + 16 + D8000000EF000000C8010000B8010000 + + + + 35890 + 35890 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D0500000C020000 + + + 16 + D8000000EF000000C8010000B8010000 + + + + 35891 + 35891 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D0500000C020000 + + + 16 + D8000000EF000000C8010000B8010000 + + + + 35892 + 35892 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D0500000C020000 + + + 16 + D8000000EF000000C8010000B8010000 + + + + 35893 + 35893 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D0500000C020000 + + + 16 + D8000000EF000000C8010000B8010000 + + + + 35894 + 35894 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D0500000C020000 + + + 16 + D8000000EF000000C8010000B8010000 + + + + 35895 + 35895 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D0500000C020000 + + + 16 + D8000000EF000000C8010000B8010000 + + + + 35896 + 35896 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D0500000C020000 + + + 16 + D8000000EF000000C8010000B8010000 + + + + 35897 + 35897 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D0500000C020000 + + + 16 + D8000000EF000000C8010000B8010000 + + + + 35898 + 35898 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D0500000C020000 + + + 16 + D8000000EF000000C8010000B8010000 + + + + 35899 + 35899 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D0500000C020000 + + + 16 + D8000000EF000000C8010000B8010000 + + + + 35900 + 35900 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D0500000C020000 + + + 16 + D8000000EF000000C8010000B8010000 + + + + 35901 + 35901 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D0500000C020000 + + + 16 + D8000000EF000000C8010000B8010000 + + + + 35902 + 35902 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D0500000C020000 + + + 16 + D8000000EF000000C8010000B8010000 + + + + 35903 + 35903 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D0500000C020000 + + + 16 + D8000000EF000000C8010000B8010000 + + + + 35904 + 35904 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D0500000C020000 + + + 16 + D8000000EF000000C8010000B8010000 + + + + 35905 + 35905 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D0500000C020000 + + + 16 + D8000000EF000000C8010000B8010000 + + + + 38003 + 38003 + 1 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 0300000066000000ED0000001F030000 + + + 16 + D8000000EF000000F40100002B030000 + + + + 38007 + 38007 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 03000000400200008D0500009E020000 + + + 16 + D8000000EF000000A00300007D010000 + + + + 436 + 436 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 03000000400200008D0500009E020000 + + + 16 + D8000000EF000000F40100002B030000 + + + + 437 + 437 + 0 + 0 + 0 + 0 + 32767 + 0 + 32768 + 0 + + 16 + C7040000910000007D0700001F030000 + + + 16 + 1C040000DD010000E00600007F020000 + + + + 440 + 440 + 0 + 0 + 0 + 0 + 32767 + 0 + 32768 + 0 + + 16 + C7040000910000007D0700001F030000 + + + 16 + 1C040000DD010000E00600007F020000 + + + + 463 + 463 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 03000000400200008D0500009E020000 + + + 16 + D8000000EF000000F40100002B030000 + + + + 466 + 466 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 03000000400200008D0500009E020000 + + + 16 + D8000000EF000000F40100002B030000 + + + + 470 + 470 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + F7000000660000007D07000066000000 + + + 16 + D8000000EF000000A00300007D010000 + + + + 50000 + 50000 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D0500000C020000 + + + 16 + D8000000EF000000C8010000B8010000 + + + + 50001 + 50001 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D0500000C020000 + + + 16 + D8000000EF000000C8010000B8010000 + + + + 50002 + 50002 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D0500000C020000 + + + 16 + D8000000EF000000C8010000B8010000 + + + + 50003 + 50003 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D0500000C020000 + + + 16 + D8000000EF000000C8010000B8010000 + + + + 50004 + 50004 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D0500000C020000 + + + 16 + D8000000EF000000C8010000B8010000 + + + + 50005 + 50005 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D0500000C020000 + + + 16 + D8000000EF000000C8010000B8010000 + + + + 50006 + 50006 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D0500000C020000 + + + 16 + D8000000EF000000C8010000B8010000 + + + + 50007 + 50007 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D0500000C020000 + + + 16 + D8000000EF000000C8010000B8010000 + + + + 50008 + 50008 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D0500000C020000 + + + 16 + D8000000EF000000C8010000B8010000 + + + + 50009 + 50009 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D0500000C020000 + + + 16 + D8000000EF000000C8010000B8010000 + + + + 50010 + 50010 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D0500000C020000 + + + 16 + D8000000EF000000C8010000B8010000 + + + + 50011 + 50011 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D0500000C020000 + + + 16 + D8000000EF000000C8010000B8010000 + + + + 50012 + 50012 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D0500000C020000 + + + 16 + D8000000EF000000C8010000B8010000 + + + + 50013 + 50013 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D0500000C020000 + + + 16 + D8000000EF000000C8010000B8010000 + + + + 50014 + 50014 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D0500000C020000 + + + 16 + D8000000EF000000C8010000B8010000 + + + + 50015 + 50015 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D0500000C020000 + + + 16 + D8000000EF000000C8010000B8010000 + + + + 50016 + 50016 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D0500000C020000 + + + 16 + D8000000EF000000C8010000B8010000 + + + + 50017 + 50017 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D0500000C020000 + + + 16 + D8000000EF000000C8010000B8010000 + + + + 50018 + 50018 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D0500000C020000 + + + 16 + D8000000EF000000C8010000B8010000 + + + + 50019 + 50019 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D0500000C020000 + + + 16 + D8000000EF000000C8010000B8010000 + + + + 59392 + 59392 + 1 + 0 + 0 + 0 + 966 + 0 + 8192 + 0 + + 16 + 0000000000000000D10300001C000000 + + + 16 + 0A0000000A0000006E0000006E000000 + + + + 59393 + 0 + 1 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 00000000DE03000080070000F1030000 + + + 16 + 0A0000000A0000006E0000006E000000 + + + + 59399 + 59399 + 0 + 0 + 0 + 0 + 476 + 0 + 8192 + 1 + + 16 + 000000001C000000E701000038000000 + + + 16 + 0A0000000A0000006E0000006E000000 + + + + 59400 + 59400 + 1 + 0 + 0 + 0 + 612 + 0 + 8192 + 2 + + 16 + 000000001C0000006F02000038000000 + + + 16 + 0A0000000A0000006E0000006E000000 + + + + 824 + 824 + 0 + 0 + 0 + 0 + 32767 + 0 + 32768 + 0 + + 16 + C7040000910000007D0700001F030000 + + + 16 + 1C040000DD010000E00600007F020000 + + + + 3415 + 000000000C000000000000000040000001000000FFFFFFFFFFFFFFFFC00400007A000000C40400003803000001000000020000100400000001000000000000000000000000000000000000000000000001000000FFFFFFFF0F0000008F070000930700009407000095070000960700009007000091070000B5010000B801000038030000B9050000BA050000BB050000BC050000CB090000FFFF02000B004354616262656450616E650040000001000000C404000091000000800700004F030000C40400007A000000800700003803000000000000404100560F0000001343616C6C20537461636B202B204C6F63616C73010000008F07000001000000FFFFFFFFFFFFFFFF0755415254202331000000009307000001000000FFFFFFFFFFFFFFFF0755415254202332000000009407000001000000FFFFFFFFFFFFFFFF0755415254202333000000009507000001000000FFFFFFFFFFFFFFFF15446562756720287072696E74662920566965776572000000009607000001000000FFFFFFFFFFFFFFFF0757617463682031010000009007000001000000FFFFFFFFFFFFFFFF0757617463682032000000009107000001000000FFFFFFFFFFFFFFFF10547261636520457863657074696F6E7300000000B501000001000000FFFFFFFFFFFFFFFF0E4576656E7420436F756E7465727300000000B801000001000000FFFFFFFFFFFFFFFF09554C494E4B706C7573000000003803000001000000FFFFFFFFFFFFFFFF084D656D6F7279203101000000B905000001000000FFFFFFFFFFFFFFFF084D656D6F7279203200000000BA05000001000000FFFFFFFFFFFFFFFF084D656D6F7279203300000000BB05000001000000FFFFFFFFFFFFFFFF084D656D6F7279203400000000BC05000001000000FFFFFFFFFFFFFFFF105472616365204E617669676174696F6E00000000CB09000001000000FFFFFFFFFFFFFFFF0500000000000000000000000000000000000000000000000000000001000000FFFFFFFF8F07000001000000FFFFFFFF8F070000000000000020000001000000FFFFFFFFFFFFFFFFF400000076000000800700007A0000000100000001000010040000000100000074FFFFFF52020000FFFFFFFF08000000CB00000057010000CC000000F08B00005A01000079070000D60100004589000001800020000001000000F400000066000000800700008D000000F40000004F00000080070000760000000000000040280056080000000B446973617373656D626C7901000000CB00000001000000FFFFFFFFFFFFFFFF14506572666F726D616E636520416E616C797A6572000000005701000001000000FFFFFFFFFFFFFFFF14506572666F726D616E636520416E616C797A657200000000CC00000001000000FFFFFFFFFFFFFFFF0E4C6F67696320416E616C797A657200000000F08B000001000000FFFFFFFFFFFFFFFF0D436F646520436F766572616765000000005A01000001000000FFFFFFFFFFFFFFFF11496E737472756374696F6E205472616365000000007907000001000000FFFFFFFFFFFFFFFF0F53797374656D20416E616C797A657200000000D601000001000000FFFFFFFFFFFFFFFF104576656E742053746174697374696373000000004589000001000000FFFFFFFFFFFFFFFF00000000000000000000000000000000000000000000000001000000FFFFFFFFCB00000001000000FFFFFFFFCB000000000000000040000000000000FFFFFFFFFFFFFFFF9C0400004F000000A004000025020000000000000200000004000000010000000000000000000000FFFFFFFF2B000000E2050000CA0900002D8C00002E8C00002F8C0000308C0000318C0000328C0000338C0000348C0000358C0000368C0000378C0000388C0000398C00003A8C00003B8C00003C8C00003D8C00003E8C00003F8C0000408C0000418C000050C3000051C3000052C3000053C3000054C3000055C3000056C3000057C3000058C3000059C300005AC300005BC300005CC300005DC300005EC300005FC3000060C3000061C3000062C3000063C3000001800040000000000000A004000066000000900500003C020000A00400004F000000900500002502000000000000404100462B0000000753796D626F6C7300000000E205000001000000FFFFFFFFFFFFFFFF0A5472616365204461746100000000CA09000001000000FFFFFFFFFFFFFFFF00000000002D8C000001000000FFFFFFFFFFFFFFFF00000000002E8C000001000000FFFFFFFFFFFFFFFF00000000002F8C000001000000FFFFFFFFFFFFFFFF0000000000308C000001000000FFFFFFFFFFFFFFFF0000000000318C000001000000FFFFFFFFFFFFFFFF0000000000328C000001000000FFFFFFFFFFFFFFFF0000000000338C000001000000FFFFFFFFFFFFFFFF0000000000348C000001000000FFFFFFFFFFFFFFFF0000000000358C000001000000FFFFFFFFFFFFFFFF0000000000368C000001000000FFFFFFFFFFFFFFFF0000000000378C000001000000FFFFFFFFFFFFFFFF0000000000388C000001000000FFFFFFFFFFFFFFFF0000000000398C000001000000FFFFFFFFFFFFFFFF00000000003A8C000001000000FFFFFFFFFFFFFFFF00000000003B8C000001000000FFFFFFFFFFFFFFFF00000000003C8C000001000000FFFFFFFFFFFFFFFF00000000003D8C000001000000FFFFFFFFFFFFFFFF00000000003E8C000001000000FFFFFFFFFFFFFFFF00000000003F8C000001000000FFFFFFFFFFFFFFFF0000000000408C000001000000FFFFFFFFFFFFFFFF0000000000418C000001000000FFFFFFFFFFFFFFFF000000000050C3000001000000FFFFFFFFFFFFFFFF000000000051C3000001000000FFFFFFFFFFFFFFFF000000000052C3000001000000FFFFFFFFFFFFFFFF000000000053C3000001000000FFFFFFFFFFFFFFFF000000000054C3000001000000FFFFFFFFFFFFFFFF000000000055C3000001000000FFFFFFFFFFFFFFFF000000000056C3000001000000FFFFFFFFFFFFFFFF000000000057C3000001000000FFFFFFFFFFFFFFFF000000000058C3000001000000FFFFFFFFFFFFFFFF000000000059C3000001000000FFFFFFFFFFFFFFFF00000000005AC3000001000000FFFFFFFFFFFFFFFF00000000005BC3000001000000FFFFFFFFFFFFFFFF00000000005CC3000001000000FFFFFFFFFFFFFFFF00000000005DC3000001000000FFFFFFFFFFFFFFFF00000000005EC3000001000000FFFFFFFFFFFFFFFF00000000005FC3000001000000FFFFFFFFFFFFFFFF000000000060C3000001000000FFFFFFFFFFFFFFFF000000000061C3000001000000FFFFFFFFFFFFFFFF000000000062C3000001000000FFFFFFFFFFFFFFFF000000000063C3000001000000FFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000001000000FFFFFFFFE205000001000000FFFFFFFFE2050000000000000010000001000000FFFFFFFFFFFFFFFFF00000004F000000F400000038030000010000000200001004000000010000000000000000000000FFFFFFFF05000000ED0300006D000000C3000000C400000073940000018000100000010000000000000066000000F00000004F030000000000004F000000F0000000380300000000000040410056050000000750726F6A65637401000000ED03000001000000FFFFFFFFFFFFFFFF05426F6F6B73000000006D00000001000000FFFFFFFFFFFFFFFF0946756E6374696F6E7300000000C300000001000000FFFFFFFFFFFFFFFF0954656D706C6174657300000000C400000001000000FFFFFFFFFFFFFFFF09526567697374657273010000007394000001000000FFFFFFFFFFFFFFFF04000000000000000000000000000000000000000000000001000000FFFFFFFFED03000001000000FFFFFFFFED030000000000000080000001000000FFFFFFFFFFFFFFFF0000000038030000800700003C03000001000000010000100400000001000000000000000000000000000000000000000000000001000000C60000000000000001000000000000000000000001000000FFFFFFFFC00300003C030000C4030000DE03000000000000020000000400000000000000000000000000000000000000000000000000000001000000C600000001000000C6000000000000000080000000000000FFFFFFFFFFFFFFFF00000000250200009005000029020000000000000100000004000000010000000000000000000000FFFFFFFF06000000C5000000C7000000B4010000D2010000CF0100007794000001800080000000000000000000004002000090050000CE020000000000002902000090050000B70200000000000040820046060000000C4275696C64204F757470757400000000C500000001000000FFFFFFFFFFFFFFFF0D46696E6420496E2046696C657300000000C700000001000000FFFFFFFFFFFFFFFF0A4572726F72204C69737400000000B401000001000000FFFFFFFFFFFFFFFF0E536F757263652042726F7773657200000000D201000001000000FFFFFFFFFFFFFFFF0E416C6C205265666572656E63657300000000CF01000001000000FFFFFFFFFFFFFFFF0642726F777365000000007794000001000000FFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000001000000FFFFFFFFC500000001000000FFFFFFFFC5000000000000000000000000000000 + + + 59392 + File + + 2946 + 00200000010000002800FFFF01001100434D4643546F6F6C426172427574746F6E00E100000000000000000000000000000000000000000000000100000001000000018001E100000000000001000000000000000000000000000000000100000001000000018003E1000000000000020000000000000000000000000000000001000000010000000180CD7F0000000000000300000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018023E100000000040004000000000000000000000000000000000100000001000000018022E100000000040005000000000000000000000000000000000100000001000000018025E10000000000000600000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001802BE10000000000000700000000000000000000000000000000010000000100000001802CE10000000004000800000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001807A8A0000000000000900000000000000000000000000000000010000000100000001807B8A0000000004000A00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180D3B00000000000000B000000000000000000000000000000000100000001000000018015B10000000004000C0000000000000000000000000000000001000000010000000180F4B00000000004000D000000000000000000000000000000000100000001000000018036B10000000004000E00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FF88000000000400460000000000000000000000000000000001000000010000000180FE880000000004004500000000000000000000000000000000010000000100000001800B810000000004001300000000000000000000000000000000010000000100000001800C810000000004001400000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180F0880000020000000F000000000000000000000000000000000100000001000000FFFF0100120043555646696E64436F6D626F427574746F6EE8030000000000000000000000000000000000000000000000010000000100000096000000020020500000000006705F646174619600000000000000140006705F646174610864697374616E6365064C656E6774680B53797374656D427974657307427974654C656E1970726F746F5F53454353325F4D657373616765446174615F741470726F746F5F53454353325F54785F53324633310553326633311457353530302E57353530305F436C6173735B305D2457353530302E57353530305F436C6173735B305D2E52785F44617461416E616C797369731A70726F746F5F48534D535F52785F44617461416E616C797369730F52785F44617461416E616C797369731370726F746F5F53454353325F52785F5461736B04646174610E64656C65746552696E6742756666037531361070726F746F5F53454353325F53656E641370726F746F5F53454353325F54785F533146332070726F746F5F53454353325F5061727365496E646963657346726F6D4C6973740B416E616C6F675F446174610000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000018024E10000000000001100000000000000000000000000000000010000000100000001800A810000000000001200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6E2280000002000300150000002153746172742F53746F70202644656275672053657373696F6E094374726C2B46350000000000000000000000000100000001000000000000000000000001000000020021802280000000000000150000002153746172742F53746F70202644656275672053657373696F6E094374726C2B4635000000000000000000000000010000000100000000000000000000000100000000002180E0010000000000007500000021456E65726779204D6561737572656D656E742026776974686F75742044656275670000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C488000000000000160000000000000000000000000000000001000000010000000180C988000000000400180000000000000000000000000000000001000000010000000180C788000000000000190000000000000000000000000000000001000000010000002180C8880000000000001700000027264B696C6C20416C6C20427265616B706F696E747320696E2043757272656E7420546172676574000000000000000000000000010000000100000000000000000000000100000003002180C8880000000000001700000027264B696C6C20416C6C20427265616B706F696E747320696E2043757272656E7420546172676574000000000000000000000000010000000100000000000000000000000100000000002180E50100000000000078000000264B696C6C20416C6C20427265616B706F696E747320696E204163746976652050726F6A656374000000000000000000000000010000000100000000000000000000000100000000002180E601000000000000790000002F4B696C6C20416C6C20427265616B706F696E747320696E204D756C74692D50726F6A65637420576F726B73706163650000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000021804C010000020001001A0000000F2650726F6A6563742057696E646F77000000000000000000000000010000000100000000000000000000000100000008002180DD880000000000001A0000000750726F6A656374000000000000000000000000010000000100000000000000000000000100000000002180DC8B0000000000003A00000005426F6F6B73000000000000000000000000010000000100000000000000000000000100000000002180E18B0000000000003B0000000946756E6374696F6E73000000000000000000000000010000000100000000000000000000000100000000002180E28B000000000000400000000954656D706C6174657300000000000000000000000001000000010000000000000000000000010000000000218018890000000000003D0000000E536F757263652042726F777365720000000000000000000000000100000001000000000000000000000001000000000021800000000000000400FFFFFFFF00000000000000000001000000000000000100000000000000000000000100000000002180D988000000000000390000000C4275696C64204F7574707574000000000000000000000000010000000100000000000000000000000100000000002180E38B000000000000410000000B46696E64204F75747075740000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FB7F0000000000001B000000000000000000000000000000000100000001000000000000000446696C65C6030000 + + + 1423 + 2800FFFF01001100434D4643546F6F6C426172427574746F6E00E1000000000000FFFFFFFF000100000000000000010000000000000001000000018001E1000000000000FFFFFFFF000100000000000000010000000000000001000000018003E1000000000000FFFFFFFF0001000000000000000100000000000000010000000180CD7F000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF000000000000000000010000000000000001000000018023E1000000000000FFFFFFFF000100000000000000010000000000000001000000018022E1000000000000FFFFFFFF000100000000000000010000000000000001000000018025E1000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001802BE1000000000000FFFFFFFF00010000000000000001000000000000000100000001802CE1000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001807A8A000000000000FFFFFFFF00010000000000000001000000000000000100000001807B8A000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180D3B0000000000000FFFFFFFF000100000000000000010000000000000001000000018015B1000000000000FFFFFFFF0001000000000000000100000000000000010000000180F4B0000000000000FFFFFFFF000100000000000000010000000000000001000000018036B1000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180FF88000000000000FFFFFFFF0001000000000000000100000000000000010000000180FE88000000000000FFFFFFFF00010000000000000001000000000000000100000001800B81000000000000FFFFFFFF00010000000000000001000000000000000100000001800C81000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180F088000000000000FFFFFFFF0001000000000000000100000000000000010000000180EE7F000000000000FFFFFFFF000100000000000000010000000000000001000000018024E1000000000000FFFFFFFF00010000000000000001000000000000000100000001800A81000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001802280000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180C488000000000000FFFFFFFF0001000000000000000100000000000000010000000180C988000000000000FFFFFFFF0001000000000000000100000000000000010000000180C788000000000000FFFFFFFF0001000000000000000100000000000000010000000180C888000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180DD88000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180FB7F000000000000FFFFFFFF000100000000000000010000000000000001000000 + + + 1423 + 2800FFFF01001100434D4643546F6F6C426172427574746F6E00E100000000000000000000000000000000000000000000000100000001000000018001E100000000000001000000000000000000000000000000000100000001000000018003E1000000000000020000000000000000000000000000000001000000010000000180CD7F0000000000000300000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018023E100000000000004000000000000000000000000000000000100000001000000018022E100000000000005000000000000000000000000000000000100000001000000018025E10000000000000600000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001802BE10000000000000700000000000000000000000000000000010000000100000001802CE10000000000000800000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001807A8A0000000000000900000000000000000000000000000000010000000100000001807B8A0000000000000A00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180D3B00000000000000B000000000000000000000000000000000100000001000000018015B10000000000000C0000000000000000000000000000000001000000010000000180F4B00000000000000D000000000000000000000000000000000100000001000000018036B10000000000000E00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FF880000000000000F0000000000000000000000000000000001000000010000000180FE880000000000001000000000000000000000000000000000010000000100000001800B810000000000001100000000000000000000000000000000010000000100000001800C810000000000001200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180F088000000000000130000000000000000000000000000000001000000010000000180EE7F00000000000014000000000000000000000000000000000100000001000000018024E10000000000001500000000000000000000000000000000010000000100000001800A810000000000001600000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018022800000000000001700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C488000000000000180000000000000000000000000000000001000000010000000180C988000000000000190000000000000000000000000000000001000000010000000180C7880000000000001A0000000000000000000000000000000001000000010000000180C8880000000000001B00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180DD880000000000001C00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FB7F0000000000001D000000000000000000000000000000000100000001000000 + + + + 59399 + Build + + 955 + 00200000000000001000FFFF01001100434D4643546F6F6C426172427574746F6ECF7F0000000000001C0000000000000000000000000000000001000000010000000180D07F0000000000001D000000000000000000000000000000000100000001000000018030800000000000001E000000000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6EC7040000000000006A0000000C4261746368204275696C2664000000000000000000000000010000000100000000000000000000000100000004000580C7040000000000006A0000000C4261746368204275696C266400000000000000000000000001000000010000000000000000000000010000000000058046070000000000006B0000000D42617463682052656275696C640000000000000000000000000100000001000000000000000000000001000000000005804707000000000000FFFFFFFF0B426174636820436C65616E0100000000000000010000000000000001000000000000000000000001000000000005809E8A0000000000001F0000000F4261746326682053657475702E2E2E000000000000000000000000010000000100000000000000000000000100000000000180D17F0000000000002000000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001804C8A0000000000002100000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000FFFF01001900434D4643546F6F6C426172436F6D626F426F78427574746F6EBA00000000000000000000000000000000000000000000000001000000010000009600000003002050FFFFFFFF00960000000000000000000180EB880000000000002200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C07F000000000000230000000000000000000000000000000001000000010000000180B08A000000000000240000000000000000000000000000000001000000010000000180A8010000000000004E00000000000000000000000000000000010000000100000001807202000000000000530000000000000000000000000000000001000000010000000180BE010000000000005000000000000000000000000000000000010000000100000000000000054275696C64DC010000 + + + 583 + 1000FFFF01001100434D4643546F6F6C426172427574746F6ECF7F000000000000FFFFFFFF0001000000000000000100000000000000010000000180D07F000000000000FFFFFFFF00010000000000000001000000000000000100000001803080000000000000FFFFFFFF00010000000000000001000000000000000100000001809E8A000000000000FFFFFFFF0001000000000000000100000000000000010000000180D17F000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001804C8A000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001806680000000000000FFFFFFFF0001000000000000000100000000000000010000000180EB88000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180C07F000000000000FFFFFFFF0001000000000000000100000000000000010000000180B08A000000000000FFFFFFFF0001000000000000000100000000000000010000000180A801000000000000FFFFFFFF00010000000000000001000000000000000100000001807202000000000000FFFFFFFF0001000000000000000100000000000000010000000180BE01000000000000FFFFFFFF000100000000000000010000000000000001000000 + + + 583 + 1000FFFF01001100434D4643546F6F6C426172427574746F6ECF7F000000000000000000000000000000000000000000000001000000010000000180D07F00000000000001000000000000000000000000000000000100000001000000018030800000000000000200000000000000000000000000000000010000000100000001809E8A000000000000030000000000000000000000000000000001000000010000000180D17F0000000000000400000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001804C8A0000000000000500000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001806680000000000000060000000000000000000000000000000001000000010000000180EB880000000000000700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C07F000000000000080000000000000000000000000000000001000000010000000180B08A000000000000090000000000000000000000000000000001000000010000000180A8010000000000000A000000000000000000000000000000000100000001000000018072020000000000000B0000000000000000000000000000000001000000010000000180BE010000000000000C000000000000000000000000000000000100000001000000 + + + + 59400 + Debug + + 2362 + 00200000010000001900FFFF01001100434D4643546F6F6C426172427574746F6ECC880000000000002500000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018017800000000000002600000000000000000000000000000000010000000100000001801D800000000004002700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001801A800000000000002800000000000000000000000000000000010000000100000001801B80000000000000290000000000000000000000000000000001000000010000000180E57F0000000000002A00000000000000000000000000000000010000000100000001801C800000000000002B00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018000890000000000002C00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180E48B0000020001002D0000000000000000000000000000000001000000010000000180F07F0000020001002E0000000000000000000000000000000001000000010000000180E8880000020000003700000000000000000000000000000000010000000100000001803B010000020001002F0000000000000000000000000000000001000000010000000180BB8A00000200010030000000000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6E0E01000002000100310000000D57617463682057696E646F7773000000000000000000000000010000000100000000000000000000000100000003001380D88B00000000000031000000085761746368202631000000000000000000000000010000000100000000000000000000000100000000001380D98B00000000000031000000085761746368202632000000000000000000000000010000000100000000000000000000000100000000001380CE01000000000000FFFFFFFF0C576174636820416E63686F720100000000000000010000000000000001000000000000000000000001000000000013800F0100000200010032000000094D656D6F7279202631000000000000000000000000010000000100000000000000000000000100000004001380D28B00000000000032000000094D656D6F7279202631000000000000000000000000010000000100000000000000000000000100000000001380D38B00000000000032000000094D656D6F7279202632000000000000000000000000010000000100000000000000000000000100000000001380D48B00000000000032000000094D656D6F7279202633000000000000000000000000010000000100000000000000000000000100000000001380D58B00000000000032000000094D656D6F72792026340000000000000000000000000100000001000000000000000000000001000000000013801001000002000000330000000855415254202326310000000000000000000000000100000001000000000000000000000001000000040013809307000000000000330000000855415254202326310000000000000000000000000100000001000000000000000000000001000000000013809407000000000000330000000855415254202326320000000000000000000000000100000001000000000000000000000001000000000013809507000000000000330000000855415254202326330000000000000000000000000100000001000000000000000000000001000000000013809607000000000000330000001626446562756720287072696E746629205669657765720000000000000000000000000100000001000000000000000000000001000000000013803C010000000000007200000010416E616C797369732057696E646F7773000000000000000000000000010000000100000000000000000000000100000004001380658A000000000000340000000F264C6F67696320416E616C797A6572000000000000000000000000010000000100000000000000000000000100000000001380DC7F0000000000003E0000001526506572666F726D616E636520416E616C797A6572000000000000000000000000010000000100000000000000000000000100000000001380E788000000000000380000000E26436F646520436F766572616765000000000000000000000000010000000100000000000000000000000100000000001380CD01000000000000FFFFFFFF0F416E616C7973697320416E63686F7201000000000000000100000000000000010000000000000000000000010000000000138053010000000000003F0000000D54726163652057696E646F77730000000000000000000000000100000001000000000000000000000001000000010013805401000000000000FFFFFFFF115472616365204D656E7520416E63686F720100000000000000010000000000000001000000000000000000000001000000000013802901000000000000350000001553797374656D205669657765722057696E646F77730000000000000000000000000100000001000000000000000000000001000000010013804B01000000000000FFFFFFFF1453797374656D2056696577657220416E63686F720100000000000000010000000000000001000000000000000000000001000000000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000013800189000002000000360000000F26546F6F6C626F782057696E646F7700000000000000000000000001000000010000000000000000000000010000000300138044C5000000000000FFFFFFFF0E5570646174652057696E646F77730100000000000000010000000000000001000000000000000000000001000000000013800000000000000400FFFFFFFF000000000000000000010000000000000001000000000000000000000001000000000013805B01000000000000FFFFFFFF12546F6F6C626F78204D656E75416E63686F72010000000000000001000000000000000100000000000000000000000100000000000000000005446562756764020000 898 @@ -1862,11 +3603,11 @@ 0 100 - 3 + 5 - ../Core/Src/main.c - 21 - 27 + ..\usr\bsp\bsp_w25q.c + 36 + 130 28 1 @@ -1874,65 +3615,47 @@ ..\usr\app\app.c - 4 - 88 - 125 + 0 + 51 + 63 1 0 - ..\usr\bsp\tjc_usart_hmi.h - 35 - 16 - 31 + ..\usr\bsp\bsp_w25q.h + 16 + 19 + 42 1 0 - ..\usr\bsp\tjc_usart_hmi.c - 12 - 173 - 845 + startup_stm32f407xx.s + 0 + 162 + 174 1 - 38,76,104,118,144,156,176,201,350,413,522,672,707,746,926,1036,1049,1101,1110,1214 + 0 ..\usr\bsp\bsp_Flash.c - 21 - 1 - 1 - 1 - - 0 - - - ../usr/bsp/bsp_Flash.h 0 - 1 - 27 + 127 + 154 1 0 - D:\develop\keil\az\ARM\ARMCC\include\stdio.h + ..\usr\gui\gui_tjc_hmi.c 0 - 52 - 53 + 155 + 97 1 - - 0 - - - ..\usr\bsp\bsp_Uart.c - 26 - 15 - 16 - 1 - + 262,508 0 diff --git a/calib_board/MDK-ARM/CalibBoard.uvoptx b/calib_board/MDK-ARM/CalibBoard.uvoptx index 57be31a..9478a8b 100644 --- a/calib_board/MDK-ARM/CalibBoard.uvoptx +++ b/calib_board/MDK-ARM/CalibBoard.uvoptx @@ -26,7 +26,7 @@ 0x4 ARM-ADS - 12000000 + 8000000 1 1 @@ -117,6 +117,10 @@ Segger\JL2CM3.dll + + 0 + DLGUARM + 0 ARMRTXEVENTFLAGS @@ -144,13 +148,20 @@ + + + 0 + 1 + id + + 0 0 0 - 0 + 1 0 0 0 @@ -218,7 +229,7 @@ Application/User/Core - 1 + 0 0 0 0 @@ -265,6 +276,18 @@ 0 0 0 + ../Core/Src/spi.c + spi.c + 0 + 0 + + + 2 + 6 + 1 + 0 + 0 + 0 ../Core/Src/usart.c usart.c 0 @@ -272,7 +295,7 @@ 2 - 6 + 7 1 0 0 @@ -284,7 +307,7 @@ 2 - 7 + 8 1 0 0 @@ -298,22 +321,10 @@ Drivers/STM32F4xx_HAL_Driver - 1 + 0 0 0 0 - - 3 - 8 - 1 - 0 - 0 - 0 - ../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_tim.c - stm32f4xx_hal_tim.c - 0 - 0 - 3 9 @@ -321,8 +332,8 @@ 0 0 0 - ../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_tim_ex.c - stm32f4xx_hal_tim_ex.c + ../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c + stm32f4xx_hal_spi.c 0 0 @@ -333,18 +344,6 @@ 0 0 0 - ../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c - stm32f4xx_hal_uart.c - 0 - 0 - - - 3 - 11 - 1 - 0 - 0 - 0 ../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c stm32f4xx_hal_rcc.c 0 @@ -352,7 +351,7 @@ 3 - 12 + 11 1 0 0 @@ -364,7 +363,7 @@ 3 - 13 + 12 1 0 0 @@ -376,7 +375,7 @@ 3 - 14 + 13 1 0 0 @@ -388,7 +387,7 @@ 3 - 15 + 14 1 0 0 @@ -400,7 +399,7 @@ 3 - 16 + 15 1 0 0 @@ -412,7 +411,7 @@ 3 - 17 + 16 1 0 0 @@ -424,7 +423,7 @@ 3 - 18 + 17 1 0 0 @@ -436,7 +435,7 @@ 3 - 19 + 18 1 0 0 @@ -448,7 +447,7 @@ 3 - 20 + 19 1 0 0 @@ -460,7 +459,7 @@ 3 - 21 + 20 1 0 0 @@ -472,7 +471,7 @@ 3 - 22 + 21 1 0 0 @@ -484,7 +483,7 @@ 3 - 23 + 22 1 0 0 @@ -494,6 +493,42 @@ 0 0 + + 3 + 23 + 1 + 0 + 0 + 0 + ../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_tim.c + stm32f4xx_hal_tim.c + 0 + 0 + + + 3 + 24 + 1 + 0 + 0 + 0 + ../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_tim_ex.c + stm32f4xx_hal_tim_ex.c + 0 + 0 + + + 3 + 25 + 1 + 0 + 0 + 0 + ../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c + stm32f4xx_hal_uart.c + 0 + 0 + @@ -504,7 +539,7 @@ 0 4 - 24 + 26 1 0 0 @@ -524,7 +559,7 @@ 0 5 - 25 + 27 1 0 0 @@ -536,7 +571,7 @@ 5 - 26 + 28 1 0 0 @@ -548,7 +583,7 @@ 5 - 27 + 29 1 0 0 @@ -560,7 +595,7 @@ 5 - 28 + 30 1 0 0 @@ -572,7 +607,7 @@ 5 - 29 + 31 1 0 0 @@ -582,6 +617,18 @@ 0 0 + + 5 + 32 + 5 + 0 + 0 + 0 + ..\usr\app\usr_config.h + usr_config.h + 0 + 0 + @@ -592,7 +639,7 @@ 0 6 - 30 + 33 1 0 0 @@ -612,7 +659,7 @@ 0 7 - 31 + 34 1 0 0 @@ -624,7 +671,7 @@ 7 - 32 + 35 1 0 0 @@ -636,7 +683,7 @@ 7 - 33 + 36 1 0 0 @@ -648,7 +695,7 @@ 7 - 34 + 37 1 0 0 @@ -660,7 +707,7 @@ 7 - 35 + 38 1 0 0 @@ -672,7 +719,7 @@ 7 - 36 + 39 1 0 0 @@ -682,6 +729,42 @@ 0 0 + + 7 + 40 + 1 + 0 + 0 + 0 + ..\usr\bsp\bsp_w25q.c + bsp_w25q.c + 0 + 0 + + + 7 + 41 + 1 + 0 + 0 + 0 + ..\usr\bsp\bsp_DS1302.c + bsp_DS1302.c + 0 + 0 + + + 7 + 42 + 1 + 0 + 0 + 0 + ..\usr\bsp\bsp_W5500.c + bsp_W5500.c + 0 + 0 + @@ -692,7 +775,7 @@ 0 8 - 37 + 43 1 0 0 @@ -712,7 +795,7 @@ 0 9 - 38 + 44 1 0 0 @@ -724,7 +807,7 @@ 9 - 39 + 45 1 0 0 @@ -736,7 +819,7 @@ 9 - 40 + 46 1 0 0 @@ -748,7 +831,7 @@ 9 - 41 + 47 1 0 0 diff --git a/calib_board/MDK-ARM/CalibBoard.uvprojx b/calib_board/MDK-ARM/CalibBoard.uvprojx index 0cb53fb..961957e 100644 --- a/calib_board/MDK-ARM/CalibBoard.uvprojx +++ b/calib_board/MDK-ARM/CalibBoard.uvprojx @@ -10,14 +10,14 @@ CalibBoard 0x4 ARM-ADS - 5060960::V5.06 update 7 (build 960)::.\ARMCC + 5060750::V5.06 update 6 (build 750)::ARMCC 0 STM32F407VGTx STMicroelectronics - Keil.STM32F4xx_DFP.3.0.0 - https://www.keil.com/pack/ + Keil.STM32F4xx_DFP.2.15.0 + http://www.keil.com/pack/ IRAM(0x20000000,0x00020000) IRAM2(0x10000000,0x00010000) IROM(0x08000000,0x00100000) CPUTYPE("Cortex-M4") FPU2 CLOCK(12000000) ELITTLE @@ -185,7 +185,6 @@ 0 2 0 - 0 1 0 8 @@ -339,7 +338,7 @@ USE_HAL_DRIVER,STM32F407xx - ../Core/Inc;../Drivers/STM32F4xx_HAL_Driver/Inc;../Drivers/STM32F4xx_HAL_Driver/Inc/Legacy;../Drivers/CMSIS/Device/ST/STM32F4xx/Include;../Drivers/CMSIS/Include;../usr/algo;../usr/app;../usr/bsp;../usr/protocol;..\usr\gui + ../Core/Inc;../Drivers/STM32F4xx_HAL_Driver/Inc;../Drivers/STM32F4xx_HAL_Driver/Inc/Legacy;../Drivers/CMSIS/Device/ST/STM32F4xx/Include;../Drivers/CMSIS/Include;../usr/algo;../usr/app;../usr/bsp;../usr/protocol;../usr/gui @@ -352,7 +351,7 @@ 0 0 0 - 4 + 0 @@ -408,6 +407,62 @@ 1 ../Core/Src/dma.c + + spi.c + 1 + ../Core/Src/spi.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 @@ -429,19 +484,60 @@ Drivers/STM32F4xx_HAL_Driver - stm32f4xx_hal_tim.c + stm32f4xx_hal_spi.c 1 - ../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_tim.c - - - stm32f4xx_hal_tim_ex.c - 1 - ../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_tim_ex.c - - - stm32f4xx_hal_uart.c - 1 - ../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c + ../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.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 + + + + + + + + + stm32f4xx_hal_rcc.c @@ -508,6 +604,21 @@ 1 ../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c + + stm32f4xx_hal_tim.c + 1 + ../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_tim.c + + + stm32f4xx_hal_tim_ex.c + 1 + ../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_tim_ex.c + + + stm32f4xx_hal_uart.c + 1 + ../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c + @@ -548,6 +659,11 @@ 1 ..\usr\app\app_com.c + + usr_config.h + 5 + ..\usr\app\usr_config.h + @@ -593,6 +709,21 @@ 1 ..\usr\bsp\bsp_uart.c + + bsp_w25q.c + 1 + ..\usr\bsp\bsp_w25q.c + + + bsp_DS1302.c + 1 + ..\usr\bsp\bsp_DS1302.c + + + bsp_W5500.c + 1 + ..\usr\bsp\bsp_W5500.c + @@ -650,13 +781,4 @@ - - - - CalibBoard - 1 - - - - diff --git a/calib_board/MDK-ARM/CalibBoard/CalibBoard.hex b/calib_board/MDK-ARM/CalibBoard/CalibBoard.hex index a2b2ddc..e259a47 100644 --- a/calib_board/MDK-ARM/CalibBoard/CalibBoard.hex +++ b/calib_board/MDK-ARM/CalibBoard/CalibBoard.hex @@ -1,949 +1,1827 @@ :020000040800F2 -:10000000D88B0020690200083D280008FF24000862 -:1000100039280008A5050008153000080000000078 -:10002000000000000000000000000000432800085D -:1000300013070008000000004128000845280008B8 -:10004000830200088302000883020008830200087C -:10005000830200088302000883020008830200086C -:10006000830200088302000883020008830200085C -:1000700083020008A905000883020008B9050008EA -:10008000C9050008D905000883020008830200089A -:10009000830200088302000883020008830200082C -:1000A000830200088302000883020008830200081C -:1000B000830200088302000883020008830200080C -:1000C00083020008830200088302000883020008FC -:1000D00083020008F52F000805300008830200089D -:1000E00083020008830200088302000883020008DC -:1000F00083020008830200088302000883020008CC -:1001000083020008830200088302000883020008BB -:1001100045290008830200088302000883020008C2 -:100120008302000883020008E90500088302000832 -:10013000830200088302000883020008830200088B -:10014000830200088302000883020008830200087B -:100150008302000883020008F905000883020008F2 -:10016000830200088302000883020008830200085B -:1001700083020008830200088302000800000000D8 -:10018000830200088302000800F002F800F05CF827 +:100000005897002025030008BD4E0008074B000844 +:10001000B94E00081129000895560008000000009C +:10002000000000000000000000000000C34E0008B7 +:100030007F2A000800000000C14E0008C54E0008DD +:100040003F0300083F0300083F0300083F03000888 +:100050003F0300083F0300083F0300083F03000878 +:100060003F0300083F0300083F0300083F03000868 +:100070003F030008152900083F0300082529000850 +:1000800035290008452900083F0300083F03000800 +:100090003F0300083F0300083F0300083F03000838 +:1000A0003F0300083F0300083F0300083F03000828 +:1000B0003F0300083F0300083F0300083F03000818 +:1000C0003F0300083F0300083F0300083F03000808 +:1000D0003F03000875560008855600083F030008D6 +:1000E0003F0300083F0300083F0300083F030008E8 +:1000F0003F0300083F0300083F0300083F030008D8 +:100100003F0300083F0300083F0300083F030008C7 +:10011000C54F00083F0300083F0300083F030008E5 +:100120003F0300083F030008552900083F0300086B +:100130003F0300083F0300083F0300083F03000897 +:100140003F0300083F0300083F0300083F03000887 +:100150003F0300083F030008652900083F0300082B +:100160003F0300083F0300083F0300083F03000867 +:100170003F0300083F0300083F03000800000000A1 +:100180003F0300083F03000800F002F800F0BAF84F :100190000AA090E8000C82448344AAF10107DA45E2 -:1001A00001D100F051F8AFF2090EBAE80F0013F0D8 -:1001B000010F18BFFB1A43F001031847B8370000BE -:1001C000D83700000A444FF0000C10F8013B13F040 +:1001A00001D100F0AFF8AFF2090EBAE80F0013F07A +:1001B000010F18BFFB1A43F0010318479C6D0000A4 +:1001C000BC6D00000A444FF0000C10F8013B13F026 :1001D000070408BF10F8014B1D1108BF10F8015BA0 :1001E000641E05D010F8016B641E01F8016BF9D193 :1001F00013F0080F1EBF10F8014BAD1C0C1B09D1EA :100200006D1E58BF01F801CBFAD505E014F8016B5B :1002100001F8016B6D1EF9D59142D6D370470000ED :100220000023002400250026103A28BF78C1FBD8FF -:10023000520728BF30C148BF0B6070471FB503F09D -:100240005BFB1FBD10B510BD00F072F91146FFF742 -:10025000F5FF03F079FA00F090F903B4FFF7F2FF2D -:1002600003BC00F099F9000009488047094800479D -:10027000FEE7FEE7FEE7FEE7FEE7FEE7FEE7FEE756 -:10028000FEE7FEE704480549054A064B70470000B3 -:100290003129000889010008D87B0020D88B002074 -:1002A000D8830020D883002053EA020C00F0698034 -:1002B0002DE9F04B4FF00006002B1FBFB3FA83F57A -:1002C00003FA05F424FA05F65E4012BF1643B2FAAB -:1002D00082F502FA05F4C5F120051EBF22FA05FCDD -:1002E00044EA0C04203556EA044C4FEA144418BF83 -:1002F000641C4FF000084FF00009904271EB030CB2 -:1003000039D3002919BFB1FA81F701FA07F6B0FA1B -:1003100080F700FA07F6C7F120071EBF20FA07FC96 -:1003200046EA0C062037B6FBF4FCA7EB0507103FA6 -:1003300007F01F0BCBF120060CFA0BFB2CFA06F68C -:1003400044BFB3460026202FA4BF5E464FF0000BEB -:100350005BEA060C08BF4FF0010B19EB0B09ABFB76 -:10036000027C48EB0608C01B06FB02CC0BFB03CC4F -:1003700071EB0C01C1E70B46024641464846BDE819 -:10038000F08B13B54FF000004FF00001AFF3008089 -:10039000BDE81C40704740EA010310B59B070FD130 -:1003A000042A0DD310C808C9121F9C42F8D020BAE5 -:1003B00019BA884201D9012010BD4FF0FF3010BD9D -:1003C0001AB1D30703D0521C07E0002010BD10F86B -:1003D000013B11F8014B1B1B07D110F8013B11F831 -:1003E000014B1B1B01D1921EF1D1184610BD032AEF -:1003F00040F2308010F0030C00F0158011F8013B42 -:10040000BCF1020F624498BF11F801CB00F8013B28 -:1004100038BF11F8013BA2F1040298BF00F801CBEC -:1004200038BF00F8013B11F0030300F04F80083A99 -:10043000C0F0088051F8043B083A51F804CBA0E81A -:100440000810F5E7121D5CBF51F8043B40F8043B6F -:10045000AFF30080D20724BF11F8013B11F801CBA4 -:1004600048BF11F8012B24BF00F8013B00F801CB75 -:1004700048BF00F8012B70474FF0000200B513464B -:1004800094469646203922BFA0E80C50A0E80C50B4 -:10049000B1F12001BFF4F7AF090728BFA0E80C5065 -:1004A00048BF0CC05DF804EB890028BF40F8042B5E -:1004B00008BF704748BF20F8022B11F0804F18BFCB -:1004C00000F8012B704770477047704710B5203A0D -:1004D000C0F00B80B1E81850203AA0E81850B1E8FD -:1004E0001850A0E81850BFF4F5AF5FEA027C24BFB3 -:1004F000B1E81850A0E8185044BF18C918C0BDE8AA -:1005000010405FEA827C24BF51F8043B40F8043B72 -:1005100008BF7047D20728BF31F8023B48BF11F827 -:10052000012B28BF20F8023B48BF00F8012B704781 -:10053000754600F02BF8AE4605006946534620F09C -:100540000700854618B020B5FFF79CFEBDE82040A7 -:100550004FF000064FF000074FF000084FF0000B7F -:1005600021F00701AC46ACE8C009ACE8C009ACE832 -:10057000C009ACE8C0098D46704710B50446AFF31A -:1005800000802046BDE81040FFF767BE0048704776 -:10059000787B00207047000001491820ABBEFEE7C1 -:1005A0002600020000BFFEE710B5024800F078FA0E -:1005B00010BD0000E803002010B5024800F070FAFA -:1005C00010BD00004804002010B5024800F068FA91 -:1005D00010BD00006805002010B5024800F060FA68 -:1005E00010BD0000C805002010B5024800F058FA00 -:1005F00010BD0000A804002010B5024800F050FA19 -:1006000010BD0000080500200146087810381823A6 -:10061000B0FBF3F20848805CC865032A05D9086876 -:100620006FF30900001D886503E008686FF3090097 -:100630008865886D70470000023900080146002077 -:100640008A6A8B69CBB932B1012A0DD0022A03D054 -:10065000032A10D10EE000BFCB6A03F08073B3F120 -:10066000807F00D1012007E0CB6AB3F1C07F00D1C9 -:10067000012001E000E000BF34E08B69B3F5005FCA -:100680001AD132B1012A07D0022A03D0032A11D18C -:100690000AE000BF01200EE0CB6A03F08073B3F1E3 -:1006A000807F00D1012006E0CB6AB3F1C07F00D18A -:1006B000012000E000BF15E032B1012A05D0022A76 -:1006C00004D0032A0CD103E000BF00BF012008E0E2 -:1006D000CB6A03F08073B3F1807F00D1012000E08A -:1006E00000BF00BF704730B50468246824F480243C -:1006F00005682C60046863608468402C04D1046839 -:10070000A2600468E16003E00468A1600468E2603C -:1007100030BD704772B600BFFEE7000010B5002282 -:1007200001B909E0012901D10A0205E0022901D13C -:100730000A0201E04FF440720E4B1B6823F4407331 -:100740000C4C236023461B681343236023461B681D -:1007500023F0F803236023461B68022444EAC00404 -:100760002343044C236023461B6843F480332360F7 -:1007700010BD0000103C02401C48006800F40070EE -:10078000B0B11A48006820F400701849086000BF32 -:100790000846006840F4006008600846006820F4DD -:1007A0000060086000BF0846006840F40070086000 -:1007B0000E48006800F48060B0B10C48006820F476 -:1007C00080600A49086000BF0846006840F4805015 -:1007D00008600846006820F48050086000BF0846A2 -:1007E000006840F48060086070470000003C0240F0 -:1007F0000A4A126822F44072084B1A601A461268BC -:1008000042F004021A601A4612684FF4803343EA39 -:1008100000231A43014B1A6070470000103C02404D -:10082000074A126822F44072054B1A601A46126891 -:100830001A601A46126842F001021A60017070478D -:10084000103C024010B50D49096821F440710B4C71 -:1008500021602146096841F4407121602146096800 -:1008600041F001012160026000BF00BF00BFBFF383 -:100870006F8F00BF00BF00BF436010BD103C02403F -:10088000084A126822F44072064B1A601A4612682F -:1008900042F480721A601A46126842F001021A602D -:1008A00001807047103C0240084A126822F44072EE -:1008B000064B1A601A46126842F400721A601A4611 -:1008C000126842F001021A6001607047103C024059 -:1008D0002348006800F0100040B12248C06940F091 -:1008E00010002049C86110201D4908601C4800689C -:1008F00000F0200040B11B48C06940F008001949D1 -:10090000C8612020164908601548006800F04000C2 -:1009100040B11448C06940F004001249C861402049 -:100920000F4908600E48006800F0800040B10D4893 -:10093000C06940F002000B49C86180200849086086 -:100940000748006800F0020040B10648C06940F066 -:1009500020000449C8610220014908607047000076 -:100960000C3C02402806002070B5044600250020FB -:100970001449C86100F058FC054609E0601C38B114 -:1009800024B100F051FC401BA04201D9032070BDEE -:100990000D48006800F480300028EFD10A48006854 -:1009A00000F0010010B10120074908600648006806 -:1009B00000F0F20018B1FFF78BFF0120E7E70020FD -:1009C000E5E70000280600200C3C024070B5044614 -:1009D000A56D00F029FC064694F83500022808D0E1 -:1009E0008020606500BF002084F8340000BF012033 -:1009F00070BD2068006820F016002168086020683B -:100A0000406920F0800021684861206C08B9A06C22 -:100A100028B12068006820F008002168086020687C -:100A2000006820F001002168086010E000F0FCFB85 -:100A3000801B05280BD920206065032084F8350031 -:100A400000BF002084F8340000BF0320D0E72068F6 -:100A5000006800F001000028E8D194F85C103F2005 -:100A60008840A860012084F8350000BF002084F889 -:100A7000340000BF00BFBBE7014691F835000228F3 -:100A800003D08020486501207047052081F835009B -:100A90000868006820F001000A6810600020F3E791 -:100AA000F8B50446002000908C4800684FF41651B9 -:100AB000B0FBF1F7A56D2E6894F85C100820884013 -:100AC000304098B12068006800F0040070B12068E0 -:100AD000006820F004002168086094F85C10082089 -:100AE0008840A860606D40F00100606594F85C107B -:100AF00001208840304068B12068406900F08000E3 -:100B000040B194F85C1001208840A860606D40F00E -:100B10000200606594F85C1004208840304068B1A1 -:100B20002068006800F0020040B194F85C100420D6 -:100B30008840A860606D40F00400606594F85C1027 -:100B400010208840304078B32068006800F008002A -:100B500050B394F85C1010208840A86020680068AA -:100B600000F4802080B12068006800F4002028B9DB -:100B7000206CC8B12046216C884715E0A06C98B164 -:100B80002046A16C88470FE02068006800F4807060 -:100B900028B92068006820F0080021680860206CEF -:100BA00010B12046216C884794F85C1020208840C2 -:100BB0003040002865D02068006800F01000002850 -:100BC0005FD094F85C1020208840A86094F835002D -:100BD000052828D12068006820F0160021680860E8 -:100BE0002068406920F0800021684861206C08B9C5 -:100BF000A06C28B12068006820F008002168086017 -:100C000094F85C103F208840A860012084F83500EB -:100C100000BF002084F8340000BF206D10B12046D2 -:100C2000216D8847F8BD2068006800F4802080B1FD -:100C30002068006800F4002028B9606C10B12046DC -:100C4000616C88471DE0E06BD8B12046E16B8847B6 -:100C500017E02068006800F4807068B920680068B8 -:100C600020F0100021680860012084F8350000BFE2 -:100C7000002084F8340000BFE06B10B12046E16B27 -:100C80008847606D38B3606D00F00100F0B1052059 -:100C900084F835002068006820F0010021680860B1 -:100CA00000BF0098401C0090B84200D905E02068C1 -:100CB000006800F001000028F3D100BF012084F893 -:100CC000350000BF002084F8340000BFE06C10B194 -:100CD0002046E16C884700BFA4E700000C0000201C -:100CE0002DE9F0410446002500F09EFA074614B9AC -:100CF0000120BDE8F081606A00B100BF022084F8E5 -:100D0000350000BF002084F8340000BF2068006870 -:100D100020F00100216808600AE000F085FAC01B9D -:100D2000052805D920206065032084F83500E0E718 -:100D30002068006800F001000028EED120680568F6 -:100D400021480540D4E901010843E16808432169CD -:100D5000084361690843A1690843E1690843216ABE -:100D600008430543606A042803D1D4E90B01084312 -:100D70000543206805602068456925F00705606A1D -:100D80000543606A04280DD1A06A0543E06A48B1B2 -:100D90002046FFF753FC28B140206065012084F80D -:100DA0003500A6E7206845612046FFF72DFC064682 -:100DB00094F85C103F208840B060002060650120FE -:100DC00084F83500002094E73F8010F02DE9F047CB -:100DD00004460D4616461F464FF00008D4F85890BA -:100DE00000BF94F83400012802D10220BDE8F0874A -:100DF000012084F8340000BF94F83500012825D183 -:100E0000022084F83500002060653B4632462946C2 -:100E10002046FFF768FC94F85C103F208840C9F832 -:100E200008002068006840F0160021680860206C07 -:100E300028B12068006840F0080021680860206838 -:100E4000006840F001002168086006E000BF002053 -:100E500084F8340000BF4FF002084046C6E70000A7 -:100E600070B5044600F0E0F906462546681C10B14E -:100E700004480078054400BF00F0D6F9801BA84262 -:100E8000FAD370BD080000202DE9F04104460E465B -:100E90000127002500BF2548007E012802D102203D -:100EA000BDE8F08101202149087600BF4CF25030A6 -:100EB000FFF75AFD0746002F31D1401E30602068F1 -:100EC00001280FD1207C6168FFF792FC4CF2503072 -:100ED000FFF74AFD07461648006820F00400144951 -:100EE00008601AE0A56812E0217C2846FFF716FC8E -:100EF0004CF25030FFF738FD07460D48006820F0EF -:100F0000FA000B4908600FB1356005E06D1CD4E9AB -:100F100002100844A842E7D800BFFFF72DFC00BF2D -:100F200000200249087600BF3846B9E728060020AD -:100F3000103C02400348006840F00040014908604E -:100F400000207047103C02402DE9F04106460F4654 -:100F500014461D464FF0010800BF1F48007E0128BF -:100F600002D10220BDE8F08101201B49087600BFB4 -:100F70004CF25030FFF7F8FC8046B8F1000F23D157 -:100F800026B9E1B23846FFF74BFC12E0012E04D13E -:100F9000A1B23846FFF774FC0BE0022E04D12146C3 -:100FA0003846FFF781FC04E022462B463846FFF71F -:100FB00049FC4CF25030FFF7D7FC804607480068E8 -:100FC00020F001000549086000BF002002490876B2 -:100FD00000BF4046C6E7000028060020103C024043 -:100FE00000200949096801F0004159B10749064A42 -:100FF0000C3A1160064911600349096801F000418B -:1010000001B1012070470000103C024023016745F8 -:10101000AB89EFCDF8B502460B4600250024002031 -:101020000021D6E0012606FA01F51E6806EA05044D -:10103000AC4274D11E7906F00306012E04D01E794D -:1010400006F00306022E13D190684F000326BE401F -:10105000B0434F00DE68BE403043906050680126C8 -:101060008E40B0431E79C6F300168E403043506068 -:101070001E7906F00306032E09D0D0684F00032620 -:10108000BE40B0434F009E68BE403043D0601E79E2 -:1010900006F00306022E13D1CF0802F1200656F8FF -:1010A00027004E07F70E0F26BE40B0434F07FF0E36 -:1010B0001E69BE403043CF0802F1200646F82700E3 -:1010C00010684F000326BE40B0431E7906F00306A9 -:1010D0004F00BE40304310605E6806F44036002E7C -:1010E00076D000BF002600963C4E366846F4804617 -:1010F0003A4F3E603E46366806F48046009600BF92 -:1011000000BF374E8F0856F827008E07370F0F267F -:10111000BE40B043334EB24202D1002624E057E035 -:10112000314EB24201D101261EE0304EB24201D111 -:10113000022619E02E4EB24201D1032614E02D4EB4 -:10114000B24201D104260FE02B4EB24201D1052656 -:101150000AE02A4EB24201D1062605E0284EB242EC -:1011600001D1072600E008268F073F0FBE4030431D -:101170001B4E8F0846F82700224E3068A0435E6859 -:1011800006F4801606B120431E4E3060361D3068CE -:10119000A0435E6806F4001606B12043194E361DC2 -:1011A0003060184E361F3068A0435E6806F4003683 -:1011B00006B12043134E361F3060361F3068A043FF -:1011C0005E6806F4803606B120430E4E083E30605D -:1011D000491C1029FFF426AFF8BD00004438024036 -:1011E00008380140000002400004024000080240AC -:1011F000000C02400010024000140240001802409F -:10120000001C0240083C014010B5426921EA02037B -:1012100002EA010443EA0443836110BD0AB181611B -:1012200001E00B04836170470148006870470000CB -:101230000000002003480068034909780844014978 -:1012400008607047000000200800002010B50D481D -:10125000006840F400700B4908600846006840F4DC -:10126000806008600846006840F4807008600320D1 -:1012700000F0A6F8032000F007F800F02BF800209B -:1012800010BD0000003C024070B504460E480078D6 -:101290004FF47A71B1FBF0F00C490968B1FBF0F53D -:1012A000284600F02FFC08B1012070BD102C07D299 -:1012B00000222146501E00F045F80548046001E078 -:1012C0000120F2E70020F0E7080000200C000020D9 -:1012D0000400002008B500BF0020009010480068FE -:1012E00040F480400E4908600846006800F48040E1 -:1012F000009000BF00BF00BF00200090081F0068E2 -:1013000040F08050091F08600846006800F08050D7 -:10131000009000BF00BF052000F052F808BD00009B -:101320004438024001460846002809DB00F01F034C -:1013300001229A4043099B0003F1E023C3F80021F6 -:1013400000BF70472DE9F05F80460D461646002726 -:1013500001F062FE074639462A46334601F007008F -:10136000C0F1070ABAF1040F02D94FF0040A01E0F4 -:10137000C0F1070AD14600F1040ABAF1070F02D200 -:101380004FF0000A01E0A0F1030AD4464FF0010A31 -:101390000AFA09FAAAF1010A0AEA020A0AFA0CFA96 -:1013A0004FF0010B0BFA0CFBABF1010B0BEA030B3B -:1013B0004AEA0B042146404601F036FEBDE8F09FA4 -:1013C00000BF00F00702064B19684FF6FF031940F3 -:1013D000044B0B4343EA0221014B196000BF7047E5 -:1013E0000CED00E00000FA0570B504460D460CB99E -:1013F000012070BD5848006800F00700A84209D2DB -:1014000055490D700846006800F00700A84201D059 -:101410000120EEE7207800F0020002281DD120789C -:1014200000F00400042805D14C48006840F4E05066 -:101430004A490860207800F00800082805D147488C -:10144000006840F46040454908604448006820F066 -:10145000F000A168084341490860207800F00100CD -:10146000A8B36068012807D13C4808380068C0F379 -:101470004040B8B90120BCE76068022802D060682B -:10148000032807D1354808380068C0F3406048B9E0 -:101490000120AEE7314808380068C0F3400008B9C1 -:1014A0000120A6E72D48006820F00300616808438A -:1014B0002A490860FFF7B8FE064609E0FFF7B4FEC8 -:1014C000801B41F28831884202D9032091E707E06E -:1014D0002248006800F00C006168B0EB810FEDD18C -:1014E0001D48006800F00700A84209D91A490D708C -:1014F0000846006800F00700A84201D0012078E704 -:10150000207800F00400042807D11448006820F473 -:10151000E050E168084311490860207800F00800B5 -:10152000082808D10D48006820F46040216940EA8D -:10153000C1000A49086000F03FF808490968C1F392 -:101540000311074A515CC840064908600648006814 -:10155000FFF79AFE00204CE7003C024008380240AA -:101560000A3900080C00002004000020014800682F -:10157000704700000C00002000B5FFF7F7FF04499A -:101580000968C1F38221034A515CC84000BD0000D4 -:10159000083802401A39000800B5FFF7E7FF044990 -:1015A0000968C1F34231034A515CC84000BD0000E4 -:1015B000083802401A3900082DE9F04700240025B8 -:1015C0000026A1462548006800F00C0020B1042840 -:1015D00005D008283AD105E0DFF8849039E0DFF83B -:1015E000849036E01D48001F006800F03F041B484F -:1015F000001F006800F4800078B11A481749091FDD -:101600000968C1F38811A0FB01700146224600233E -:101610003846FEF749FE05460EE011480F49091FFE -:101620000968C1F38811A0FB01700146224600231E -:101630003846FEF739FE05460848001F0068C0F32B -:101640000140401C4600B5FBF6F902E0DFF81090BF -:1016500000BF00BF4846BDE8F087000008380240E0 -:101660000024F40000127A00F8B504460CB90120F9 -:10167000F8BD207800F00100002874D0F948006817 -:1016800000F00C0004280DD0F648006800F00C00B3 -:10169000082813D1F348001F006800F48000B0F55B -:1016A000800F0BD1EF4808380068C0F34040002895 -:1016B00059D06068002856D10120D9E700BF606882 -:1016C000B0F5803F08D1E7480838006840F4803022 -:1016D000E449083908601EE06068B0F5A02F0DD11C -:1016E000E0480838006840F48020DE490839086086 -:1016F0000846006840F4803008600CE0D94808389B -:10170000006820F48030D74908390860084600682E -:1017100020F48020086000BF606890B1FFF784FD6E -:10172000054606E0FFF780FD401B642801D9032031 -:101730009EE7CC4808380068C0F340400028F1D04C -:1017400011E0FFF771FD054606E0FFF76DFD401B58 -:10175000642801D903208BE7C24808380068C0F329 -:1017600040400028F1D1207800F0020002285FD12B -:10177000BC48006800F00C0058B1BA48006800F09E -:101780000C0008281CD1B748001F006800F4800036 -:10179000B0B9B44808380068C0F3400020B1E06830 -:1017A000012801D0012063E7AE480838006820F026 -:1017B000F800216940EAC100AA490839086037E009 -:1017C000E06800B30120A8490860FFF72DFD054639 -:1017D00006E0FFF729FD401B022801D9032047E757 -:1017E000A04808380068C0F340000028F1D09D48A8 -:1017F0000838006820F0F800216940EAC1009949E2 -:101800000839086014E0002097490860FFF70CFDD4 -:10181000054606E0FFF708FD401B022801D903201A -:1018200026E7904808380068C0F340000028F1D14E -:10183000207800F0080008282CD16069A8B10120A8 -:101840008A490860FFF7F0FC054606E0FFF7ECFC6C -:10185000401B022801D903200AE782486C30006847 -:10186000C0F340000028F1D014E000207F49086058 -:10187000FFF7DAFC054606E0FFF7D6FC401B02281E -:1018800001D90320F4E677486C300068C0F34000CB -:101890000028F1D1207800F00400042870D100273E -:1018A00070483830006800F0805090B900BF0020C8 -:1018B00000906C483830006840F0805069493831F9 -:1018C00008600846006800F08050009000BF00BF2C -:1018D00001276748006800F48070B0B96448006868 -:1018E00040F4807062490860FFF79EFC054606E000 -:1018F000FFF79AFC401B022801D90320B8E65C4898 -:10190000006800F480700028F2D000BFA0680128B1 -:1019100008D154486830006840F0010051496831EE -:1019200008601DE0A06805280DD14E4868300068A9 -:1019300040F004004B49683108600846006840F0F8 -:10194000010008600CE047486830006820F00100A2 -:101950004449683108600846006820F004000860C7 -:1019600000BFA068A8B1FFF75FFC054609E0FFF7DC -:101970005BFC401B41F28831884202D9032077E6A4 -:1019800026E0384868300068C0F340000028EED0F8 -:1019900013E0FFF749FC054608E0FFF745FC401B54 -:1019A00041F28831884201D9032061E62D48683030 -:1019B0000068C0F340000028EFD1012F07D129486B -:1019C0003830006820F0805026493831086000BF68 -:1019D000A069002845D02348006800F00C000828C2 -:1019E0005DD0A069022845D100201F490866FFF795 -:1019F0001BFC054606E0FFF717FC401B022801D937 -:101A0000032035E6174808380068C0F34060002816 -:101A1000F1D1D4E907010843616A40EA811101224A -:101A2000A06AC2EB500041EA00412C20005D41EA6F -:101A300000600C49091F086001200B490866FFF788 -:101A4000F3FB054606E0FFF7EFFB401B022801D938 -:101A500003200DE6034808380068C0F34060002802 -:101A6000F1D049E00838024000004742800E47426A -:101A700000700040002021490866FFF7D5FB0546AD -:101A800006E0FFF7D1FB401B022801D90320EFE558 -:101A90001B480068C0F340600028F2D12CE0A06928 -:101AA000012800D1E4E51648001D0668A069012858 -:101AB00020D006F48001E06981421BD106F03F018D -:101AC000206A814216D147F6C0703040616AB0EB9F -:101AD000811F0FD106F440310122A06AC2EB5000F1 -:101AE000B1EB004F06D106F070612C20005DB1EB28 -:101AF000006F01D00120BBE50020B9E5000047429E -:101B00000038024070B504462546681EB0F1807F5B -:101B100001D301200FE0681E4FF0E02148610F2142 -:101B20004FF0FF3001F080FA00204FF0E021886193 -:101B300007200861002070BDF8B504460E46174620 -:101B400094F83E00202836D106B10FB90120F8BD27 -:101B500000BF94F83C00012801D10220F7E70120E2 -:101B600084F83C0000BF20633A463146204601F02D -:101B7000A9F90546EDB9206B012819D100BF002055 -:101B8000009020680068009020684068009000BFC6 -:101B900000BF00BF00BF21680C3151E8001F41F0B9 -:101BA000100021680C3141E80002002AF3D100E066 -:101BB00001252846CBE70220C9E7000070B504469E -:101BC0000D460C492068884203D10B4801F0E8FC1F -:101BD0000EE00A492068884203D1094801F0E0FC80 -:101BE00006E008492068884202D1074801F0D8FC85 -:101BF00070BD000000100140F801002000440040CA -:101C000048020020004C00409802002070B50446B5 -:101C1000002520684069C0F3C01594F83D002128D4 -:101C200017D1B5B100BF00BF2168143151E8001FC2 -:101C300021F080002168143141E80002002AF3D12C -:101C400000BF606B10B1606BFEF7C0FE204600F075 -:101C500094FF20684069C0F3801594F83E00222864 -:101C600017D1B5B100BF00BF2168143151E8001F82 -:101C700021F040002168143141E80002002AF3D12C -:101C800000BFA06B10B1A06BFEF7A0FE204600F0D5 -:101C90002EFF002070BD000038B5044600252B49FA -:101CA0002068884201D12A4D0AE02A4920688842EA -:101CB00001D1294D04E029492068884200D1284DEE -:101CC000206C00F0020050B100BF0020009020689E -:101CD0000068009020684068009000BF00BF206C42 -:101CE00000F0040050B100BF0020009020680068A0 -:101CF000009020684068009000BF00BF2068006826 -:101D0000C0F3C00050B100BF002000902068006800 -:101D1000009020684068009000BF00BF2068006805 -:101D2000C0F3400050B100BF002000902068006860 -:101D3000009020684068009000BF00BF25B1EA8B8A -:101D4000A9696868FFF7F8FE38BD0000001001407F -:101D5000F80100200044004048020020004C0040F0 -:101D6000980200202DE9F84F044620680568206895 -:101D7000C668206847694FF00009CA4605F00F0998 -:101D8000B9F1000F0AD105F0200038B106F02000AB -:101D900020B1204600F004FFBDE8F88FB9F1000F34 -:101DA0007CD007F0010018B906F49070002875D0B7 -:101DB00005F0010030B106F4807018B1206C40F0DD -:101DC0000100206405F0040030B107F0010018B1F3 -:101DD000206C40F00200206405F0020030B107F0F2 -:101DE000010018B1206C40F00400206405F00800E8 -:101DF00048B106F0200010B907F0010018B1206CBE -:101E000040F008002064206C002846D005F0200037 -:101E100028B106F0200010B1204600F0C1FE206875 -:101E20004069C0F3801A206C00F0080010B9BAF1C4 -:101E3000000F2DD0204600F05AFE2068406900F0C7 -:101E40004000402820D100BF00BF2168143151E874 -:101E5000001F21F040002168143141E80002002AEF -:101E6000F3D100BFA06B50B17548A16B0865A06BA2 -:101E7000FEF702FE88B1A06B016D88470DE0204699 -:101E8000FFF70AFF09E009E02046FFF705FF04E03D -:101E90002046FFF701FF002020647DE7206B01282A -:101EA00076D105F01000002872D006F0100000284E -:101EB000FAD000BF002000902068006800902068E1 -:101EC0004068009000BF00BF2068406900F04000FB -:101ED00040285ED1A06B006840681FFA80F8B8F116 -:101EE000000F54D0A08D404551DDA4F82E80A06B8A -:101EF000C069B0F5807F43D000BF00BF21680C31BE -:101F000051E8001F21F4807021680C3141E8000283 -:101F1000002AF3D100BF00BF00BF2168143151E88F -:101F2000001F21F001002168143141E80002002A5D -:101F3000F3D100BF00BF00BF2168143151E8001F7A -:101F400021F040002168143141E80002002AF3D159 -:101F500000BF202084F83E000020206300BF00BFA7 -:101F600021680C3151E8001F21F0100021680C316C -:101F700041E80002002AF3D100BFA06BFEF726FD66 -:101F8000A08DE28D801A81B22046FFF717FE03E78D -:101F900040E0A08DE18D401A1FFA80F8E08DC0B3BB -:101FA000B8F1000F35D000BF00BF21680C3151E8F7 -:101FB000001F21F4907021680C3141E80002002AD2 -:101FC000F3D100BF00BF00BF2168143151E8001FEA -:101FD00021F001002168143141E80002002AF3D108 -:101FE00000BF202084F83E000020206300BF00BF17 -:101FF00021680C3151E8001F21F0100021680C31DC -:1020000041E80002002AF3D100BF41462046FFF715 -:10201000D5FDC1E605F0800030B106F0800018B1B2 -:10202000204600F0B7FFB7E605F0400030B106F0FB -:10203000400018B1204600F090FDADE600BFABE6D1 -:102040005529000810B504460CB9012010BDA0693F -:1020500000B100E000BF94F83D0028B9002084F8EA -:102060003C00204600F028F8242084F83D00206839 -:10207000C06820F400502168C860204600F00CFEC3 -:102080002068006920F49040216808612068406958 -:1020900020F02A00216848612068C06840F40050A0 -:1020A0002168C86000202064202084F83D0084F866 -:1020B0003E000020CAE7000010B586B00446142197 -:1020C00001A8FEF7D9F9C149206888427AD100BF3A -:1020D00000200090BE48006840F40020BC49086021 -:1020E0000846006800F40020009000BF00BF00BF59 -:1020F00000200090B6481038006840F00100B44954 -:10210000103908600846006800F00100009000BF28 -:1021100000BF0320019002200290002003900320C2 -:1021200004900820059001A9AA48FEF773FFAA4869 -:10213000AA490860400548600021A8488160C16044 -:102140004FF480610161002141618161C1614FF4FF -:102150004031016200214162FEF7C2FD08B1FEF785 -:10216000D9FA00BF9D48A063846300BF9A4830300D -:102170009B4908604FF000604860402198488160AA -:102180000021C1604FF480610161002141618161E2 -:10219000C1614FF40031016200214162FEF7A0FDF0 -:1021A00008B1FEF7B7FA00BF8D486063846300BFD3 -:1021B000002201213420FFF7C5F83420FFF7B2F8E0 -:1021C00002E1FFE78749206888427ED100BF0020F6 -:1021D00000907F48001D006840F010007C49091DF8 -:1021E00008600846006800F01000009000BF00BFC3 -:1021F00000BF0020009076481038006840F00100D1 -:102200007349103908600846006800F0010000902A -:1022100000BF00BF4FF4C060019002200290002078 -:102220000390032004900720059001A96948FEF758 -:10223000F1FE6D486D4908604FF000604860002174 -:102240006A488160C1604FF4806101610021416191 -:102250008161C1614FF48031016200214162FEF76A -:102260003FFD08B1FEF756FA00BF6048A0638463E3 -:1022700000BF5D4878305E4908604FF000604860FC -:1022800040215B4881600021C1604FF480610161A1 -:10229000002141618161C1614FF4803101620021FF -:1022A0004162FEF71DFD08B1FEF734FA00BF504849 -:1022B0006063846300BF002201212520FFF742F8FC -:1022C0002520FFF72FF87FE0FFE74A492068884282 -:1022D0007AD100BF002000903D48006840F40030F3 -:1022E0003B4908600846006800F40030009000BFD9 -:1022F00000BF00BF0020009035481038006840F053 -:1023000008003349103908600846006800F00800EA -:10231000009000BF00BF60200190022002900020CA -:102320000390032004900720059001A93248FEF78E -:1023300071FE29484830314908604FF0006048601C -:1023400000212E488160C1604FF48061016100214D -:1023500041618161C1614FF44031016200214162FC -:10236000FEF7BEFC08B1FEF7D5F900BF2348A06315 -:10237000846300BF18486030214908604FF0006056 -:10238000486040211E4881600021C1604FF4806197 -:102390000161002141618161C1614FF4003101623D -:1023A00000214162FEF79CFC08B1FEF7B3F900BFC3 -:1023B00013486063846300BF002201212620FEF7DA -:1023C000C1FF2620FEF7AEFF06B010BD004C004056 -:1023D000403802400000024040600240E803002014 -:1023E000480400200010014040640240A80400207E -:1023F0000805002000440040000C02406805002051 -:10240000C805002070477047F7B50446154694F894 -:102410003D00202846D1019800B10DB90120FEBD34 -:1024200000BF94F83C00012801D10220F7E7012009 -:1024300084F83C0000BF01982062A584E584002058 -:102440002064212084F83D001748616BC863174859 -:10245000616B08641648616BC8640020616B086595 -:1024600001AE23681A1D31682B46606BFEF7AEFC87 -:102470006FF040002168086000BF002084F83C0035 -:1024800000BF00BF00BF2168143151E8001F41F0B8 -:1024900080002168143141E80002002AF3D100BF16 -:1024A0000020BCE70220BAE7892A0008E12A0008D8 -:1024B0006929000810B504460B492068884203D1F9 -:1024C0000A4801F007F90EE009492068884203D163 -:1024D000084801F0FFF806E007492068884202D169 -:1024E000044801F0F7F810BD00100140F801002089 -:1024F0000044004048020020004C0040704700BFEC -:10250000FEE7000008B500BF0020009026480068E4 -:1025100040F40010244908600846006800F40010E8 -:10252000009000BF00BF00BF002000900846006878 -:1025300040F4800008600846006800F480000090C5 -:1025400000BF00BF002211460D20FEF7FBFE0D204C -:10255000FEF7E8FE002211460F20FEF7F3FE0F20E3 -:10256000FEF7E0FE002211461020FEF7EBFE1020E1 -:10257000FEF7D8FE002211461120FEF7E3FE1120DF -:10258000FEF7D0FE002211463A20FEF7DBFE3A208D -:10259000FEF7C8FE002211464620FEF7D3FE462075 -:1025A000FEF7C0FE08BD00003038024000B587B01D -:1025B000142102A8FDF760FF00BF002001906E48C3 -:1025C000006840F010006C4908600846006800F0A0 -:1025D0001000019000BF00BF00BF0020019008461E -:1025E000006840F0800008600846006800F0800045 -:1025F000019000BF00BF00BF0020019008460068A6 -:1026000040F0010008600846006800F001000190F9 -:1026100000BF00BF00BF002001900846006840F0E6 -:10262000020008600846006800F00200019000BF48 -:1026300000BF00BF002001900846006840F008007D -:1026400008600846006800F00800019000BF00BF65 -:1026500000BF002001900846006840F004000860B8 -:102660000846006800F00400019000BF00BF00228F -:102670007F214248FEF7D2FD012204214048FEF7A7 -:10268000CDFD01224FF4E0613C48FEF7C7FD012279 -:102690004FF470413B48FEF7C1FD01224FF47F41EA -:1026A0003948FEF7BBFD01224FF470713748FEF741 -:1026B000B5FD002210213448FEF7B0FD00224FF492 -:1026C00040713048FEF7AAFD6F2002900120039070 -:1026D000002004900320059002A92848FEF79AFCE8 -:1026E0004FF4E260029001200390002004900590D6 -:1026F00002A92248FEF78EFC0420029001200390DC -:10270000002004900320059002A91D48FEF782FCDA -:102710004FF4704002900120039000200490059037 -:1027200002A91848FEF776FC4FF6107002900120BF -:10273000039000200490059002A91348FEF76AFC5C -:102740004FF47070029001200390002004900590D7 -:1027500002A90E48FEF75EFC4FF440700290012083 -:102760000390002004900320059002A90548FEF77D -:1027700051FC07B000BD000030380240001002409C -:102780000000024000040240000C02400008024029 -:1027900010B50B480B4908604FF4E1304860002148 -:1027A00008488160C16001610C21416100218161A3 -:1027B000C161FFF747FC08B1FDF7ACFF10BD000099 -:1027C000004C00401C03002010B50B480B4908606A -:1027D0004FF4E1304860002108488160C160016128 -:1027E0000C21416100218161C161FFF72BFC08B11F -:1027F000FDF790FF10BD00000010014060030020B5 -:1028000010B50B480B4908604FF416504860002182 -:1028100008488160C16001610C2141610021816132 -:10282000C161FFF70FFC08B1FDF774FF10BD000098 -:1028300000440040A403002000BFFEE700BFFEE705 -:102840007047704710B5094841690120884708481A -:102850000121426C904707480121426C904706488D -:102860000121426C9047FEF7E5FC10BD8C00002072 -:10287000F8010020480200209802002000B593B023 -:10288000302107A8FDF7F8FD142102A8FDF7F4FD9B -:1028900000BF002001902448006840F08050224989 -:1028A00008600846006800F08050019000BF00BF3B -:1028B00000BF002001901D48006840F480401B4983 -:1028C00008600846006800F48040019000BF00BF27 -:1028D000012007900004089002200D9041050E9100 -:1028E00004210F91A821109102211191042112912C -:1028F00007A8FEF7B9FE08B1FDF70CFF0F20029004 -:1029000002200390002004904FF4A05005904FF453 -:1029100080500690052102A8FEF766FD08B1FDF77C -:10292000F9FE13B000BD00004038024000700040C6 -:102930000348006840F470000149086070470000D7 -:1029400088ED00E010B50248FFF70CFA10BD00005A -:102950001C03002070B50546AC6B0020E085E084C8 -:102960002046FFF799F970BD70B506460025B46B97 -:1029700020684069C0F3C01594F83D00212805D1B6 -:1029800025B10020E084204600F0F7F82068406977 -:10299000C0F3801594F83E00222805D125B100200F -:1029A000E085204600F0A3F8206C40F01000206481 -:1029B0002046FFF771F970BD70B50546AC6B28680D -:1029C000006800F48070002842D1E08500BF00BF9D -:1029D00021680C3151E8001F21F4807021680C310E -:1029E00041E80002002AF3D100BF00BF00BF216808 -:1029F000143151E8001F21F001002168143141E831 -:102A00000002002AF3D100BF00BF00BF21681431CB -:102A100051E8001F21F040002168143141E8000214 -:102A2000002AF3D100BF202084F83E00206B01284B -:102A30000ED100BF00BF21680C3151E8001F21F00A -:102A4000100021680C3141E80002002AF3D100BFD8 -:102A5000206B012804D1A18D2046FFF7AFF802E0DA -:102A60002046FFF7CFFC70BD70B50546AC6B206B00 -:102A7000012805D1A08D41082046FFF79FF802E00C -:102A80002046FFF7C0FC70BD70B50546AC6B2868EA -:102A9000006800F48070F8B90020E08400BF00BF37 -:102AA0002168143151E8001F21F0800021681431A1 -:102AB00041E80002002AF3D100BF00BF00BF216837 -:102AC0000C3151E8001F41F0400021680C3141E811 -:102AD0000002002AF3D102E02046FFF7EBFC70BDB4 -:102AE00070B50446A56B2846FFF708FD70BD00BF12 -:102AF00000BF02680C3252E8002F22F49071026885 -:102B00000C3242E80013002BF3D100BF00BF00BF1E -:102B10000268143252E8002F22F0010102681432D8 -:102B200042E80013002BF3D100BF016B01290ED145 -:102B300000BF00BF02680C3252E8002F22F01001E3 -:102B400002680C3242E80013002BF3D100BF2021B1 -:102B500080F83E1000210163704710B504462068DC -:102B6000C06820F040002168C860202084F83D0043 -:102B70002046FFF79FFC002010BD00BF00BF026889 -:102B80000C3252E8002F22F0C00102680C3242E8F9 -:102B90000013002BF3D100BF202180F83D107047B7 -:102BA000F8B5044694F83E00222873D1A068B0F529 -:102BB000805F0CD1206950B90025A66A2068406862 -:102BC000C0F308003080A06A801CA06215E0A56AEE -:102BD0000026A068B0F5805F03D0A06828B92069FE -:102BE00018B920684068287004E02068406800F048 -:102BF0007F002870A06A401CA062E08D401E80B259 -:102C0000E085002844D12068C06820F020002168B9 -:102C1000C8602068C06820F480702168C86020689F -:102C2000406920F0010021684861202084F83E00BE -:102C3000206B012826D10020206300BF00BF21683F -:102C40000C3151E8001F21F0100021680C3141E8DF -:102C50000002002AF3D100BF2068006800F01000D5 -:102C600010280AD100BF0020009020680068009062 -:102C700020684068009000BF00BFA18D2046FEF78D -:102C80009DFF02E02046FFF7BDFB0020F8BD01E0FC -:102C90000020FBE70220F9E72DE9F84F0446206801 -:102CA000006920F44050E168084321680861216907 -:102CB000A068084361690843E169084300902068FF -:102CC000C06849F20C618843009908432168C860D4 -:102CD0002068406920F44070A16908432168486178 -:102CE00076492068884203D075492068884203D11C -:102CF000FEF752FC814602E0FEF73EFC8146E069A9 -:102D0000B0F5004F6CD102206168A0FB0150034672 -:102D10001920A9FB007001462A463846FDF7C4FA7F -:102D20006421B0FBF1F04FEA001A02206168A0FBB9 -:102D300001510B461920A9FB00712A463846FDF7C0 -:102D4000B3FA834602206168A0FB015003461920B4 -:102D5000A9FB00712A463846FDF7A6FA6421B0FBAC -:102D6000F1F000EBC00101EB0010ABEB8000322171 -:102D700001EBC0006421B0FBF1F000F0F8000AEBB9 -:102D8000400A02206168A0FB015003461920A9FBFC -:102D9000007001462A463846FDF786FA834602202F -:102DA0006168A0FB015003461920A9FB00712A4667 -:102DB0003846FDF779FA6421B0FBF1F000EBC00171 -:102DC00001EB0010ABEB8000322101EBC00064216D -:102DD000B0FBF1F000F007005044216888606AE021 -:102DE00004206168A0FB015003461920A9FB007074 -:102DF00001462A463846FDF757FA824604206168A4 -:102E0000A0FB015003461920A9FB007001462A4689 -:102E10003846FDF749FA6421B0FBF1F000EBC00140 -:102E200001EB0010AAEB8000322101EB00106421BD -:102E3000B0FBF1F000F0F00A04206168A0FB017023 -:102E400003461920A9FB00513A462846FDF72CFA03 -:102E50006421B0FBF1F00AEB001A04206168A0FBCA -:102E600001510B461920A9FB00712A463846FDF78F -:102E70001BFA834604206168A0FB01500346192019 -:102E8000A9FB007001462A463846FDF70DFA642179 -:102E9000B0FBF1F000EBC00101EB0010ABEB8000E8 -:102EA000322101EB00106421B0FBF1F000F00F00C3 -:102EB000504421688860BDE8F88F00000010014090 -:102EC0000014014077B581B0044615460298A0620F -:102ED000A58500202064222084F83E002A48A16BAA -:102EE000C8632A48A16B08642948A16BC864002004 -:102EF000A16B086502AE32682368191D2B46A06BD2 -:102F0000FDF764FF00BF002000902068006800907B -:102F100020684068009000BF00BF00BF002084F818 -:102F20003C0000BF206970B100BF00BF21680C31B8 -:102F300051E8001F41F4807021680C3141E8000223 -:102F4000002AF3D100BF00BF00BF2168143151E84F -:102F5000001F41F001002168143141E80002002AFD -:102F6000F3D100BF00BF00BF2168143151E8001F3A -:102F700041F040002168143141E80002002AF3D1F9 -:102F800000BF002004B070BDB9290008692A0008FC -:102F900069290008014691F83D00212828D1886858 -:102FA000B0F5805F0BD1086948B90A6A1088C0F390 -:102FB00008000B685860086A801C086205E00B6A0C -:102FC000581C086218780B685860C88C401E80B284 -:102FD000C88458B90868C06820F080000B68D860C1 -:102FE0000868C06840F040000B68D8600020704757 -:102FF0000220FCE710B50248FEF7B4FE10BD000049 -:103000006003002010B50248FEF7ACFE10BD0000C2 -:10301000A403002000BFFEE702480068C0F30220BE -:10302000704700000CED00E010B5002804DB0A0733 -:10303000130E054A135406E00A07140E034A00F063 -:103040000F031B1FD45410BD00E400E018ED00E096 -:1030500010B50D49086A80470C48416B88470C48F9 -:10306000416B88470B48416B88470B49086880478C -:103070000A480B49C268082090470A4948688047B7 -:1030800009490868804710BD7C010020F801002034 -:103090004802002098020020700100208C000020CF -:1030A0002C00002010030020A800002010B50349C8 -:1030B0000869804700F00EFC10BD00008C00002065 -:1030C000034A12689080024A1268916070470000BB -:1030D000A400002010B51A480068806800B910BD2F -:1030E000002425E016480068806804EB440110F8CD -:1030F0002100D0B1002012490968896804EB44021C -:1031000001F822000E480068806804EB440100EBDF -:103110008100806800B909E009490968896804EB01 -:10312000440201EB82018868804700BF601C84B2C2 -:10313000034800688088A042D4DC00BFCFE70000CD -:10314000A400002010B501462F4A12681288521CB4 -:103150002D4B1B681A802C4A12681288B2F57A7FB0 -:1031600006DB294A12685288521C274B1B685A807A -:10317000254A1268926802B910BD00203CE0224A3C -:103180001268926800EB400302EB830252888AB314 -:103190001D4A1268926800EB400302EB83025288DA -:1031A000521E194B1B689B6800EB400403EB840321 -:1031B0005A80154A1268926800EB400302EB8302C2 -:1031C0005288BAB90122104B1B689B6800EB40047F -:1031D00003F824200C4A1268926800EB400302EBCB -:1031E00083029288084B1B689B6800EB400403EB4A -:1031F00084035A80421C90B2034A12689288824229 -:10320000BDDC00BFB8E70000A40000200148007842 -:10321000704700006C01002010B5002007490870BD -:10322000002210210648FDF7F9FF00221021054871 -:10323000FDF7F4FF002000F007F810BD6C0100203E -:1032400000100240000C02402DE9F04180460025AC -:10325000102D01DBBDE8F0812C4805702C48465D3F -:103260002C48475D002431E046FA04F000F00100EC -:1032700048B1294A32F81410284A52F82400012291 -:10328000FDF7CCFF08E0244A32F81410234A52F824 -:1032900024000022FDF7C2FF47FA04F000F001000D -:1032A00048B11F4A32F814101E4A52F82400012275 -:1032B000FDF7B4FF08E01A4A32F81410194A52F820 -:1032C00024000022FDF7AAFF601CC4B2042CCBDB53 -:1032D000002416E0AC4209D1134A32F81410134A04 -:1032E00052F824000022FDF799FF08E00E4A32F858 -:1032F00014100E4A52F824000122FDF78FFF601CC3 -:10330000C4B2102CE6DB00BFA4E700006C01002073 -:103310004C0100205C010020CC000020BC000020FB -:10332000E4000020D40000202C010020EC0000204C -:1033300010B586B00446002001900B2003900120B8 -:1033400004900220059000200090694601A8FDF736 -:103350009BFD06B010BD000010B5064948688047C7 -:1033600010220549054800F055F802494868804791 -:1033700010BD0000B00000208C01002000000E08ED -:1033800070B510220E49A1F11000FDF704F8A8B1A4 -:103390000C494868804772B6102209490A4800F073 -:1033A0005DF804462CB906481038054610352ECD78 -:1033B0002EC062B603494868804700BF70BD000058 -:1033C0008C010020B000002000000E0810B5FFF7AF -:1033D000D7FF10BD10B5FFF7BFFF0C480068808B0A -:1033E000B0F57A7F03DD282108480068818307480B -:1033F0000068C08B102803DD102104480068C183D9 -:103400000348044610341ECC1EC010BDAC01002081 -:103410007C0100202DE9F84103460C4621461D465B -:10342000960802F00307002005E055F820C0C1F817 -:1034300000C0091D401CB042F7D36FB155F82600FB -:103440000090EC46002004E01CF8008001F80080A9 -:10345000401CB842F8D300BFBDE8F8812DE9FC5FFD -:1034600007468846154600244646A808019005F000 -:103470000309BA46FDF7B4FD3846FFF759FF044685 -:1034800024B1FDF757FD2046BDE8FC9F4FF0000B2F -:103490000FE0D6F800C06246002351460220FDF737 -:1034A00053FD044604B107E00AF1040A361D0BF18E -:1034B000010B01988345ECD300BFB4B9B9F1000FFB -:1034C00013D04FF0FF300090EB46002003E0315C5A -:1034D0000BF80010401C4845F9D300235146022048 -:1034E000009AFDF731FD044600BFFDF723FD20469D -:1034F000CAE770477047000010B5002409E0322089 -:1035000000F0EBF84FF480710348FDF77DFE601C7E -:10351000C4B2142CF3DB10BD0010024010B54FF400 -:1035200080710248FDF770FE10BD000000100240DF -:103530002DE9F0410446884617460020A074A08B70 -:10354000B84200DAA78B3A4641466069FCF74FFF64 -:103550003A4661696068FEF757FFFDF765FE05466C -:1035600008E0FDF761FE0646701BC82802D901205D -:10357000A07402E0A07C0028F3D000BFBDE8F08179 -:1035800010B5044660680068C06840F010006168CB -:103590000968C860E28BA1696068FEF7CDFA10BDCA -:1035A00070B504466068FEF731FBE08BE16809689E -:1035B0004968401A86B206B970BD002506E0A269C6 -:1035C0005119206800F04BF9681C85B2B542F6DB52 -:1035D000204600F041F8E28BA1696068FEF7ACFA82 -:1035E00000BFE9E770B50446A08C618C884227DAF9 -:1035F000206880892084204600F034F8208CE18BFC -:1036000088421DDC208CD8B1208C40F6B83188422D -:1036100003D9206800F0D7F812E0002506E0094A37 -:103620005119206800F0D7F8681C85B2208CA84298 -:10363000F5DCA06C20B1218C22460248A36C98478F -:1036400070BD0000C06F002090F82620012A02D132 -:10365000428C0A4442847047012180F826100021E0 -:1036600041847047002180F8261041847047000093 -:103670002DE9F04104460F4616461448844204D111 -:10368000012204211248FDF7C9FDA08B96FBF0F042 -:103690001FFA80F8002507E0A28B02FB0571204687 -:1036A000FFF746FF681C85B24545F5DBA08B00FBA4 -:1036B000156086B20EB9BDE8F081A08B00FB0571E4 -:1036C00032462046FFF734FF00BFF4E7980200209F -:1036D0000000024001218174704710B50446204665 -:1036E000FDF7BEFB10BD2DE9F04704460D4691469F -:1036F000052D01DABDE8F0872078AA2802D160788C -:10370000552800D0F6E7681E215CA81E205C41EA1F -:103710000028A81E81B2204600F037F80646301275 -:1037200040EA062086B2464500D0E3E7A778032F9B -:1037300000D100BF00BFDDE701480249886470473F -:10374000E7360008F8010020FDF780FDFFF796F846 -:10375000FEF72CFFFEF7D6FEFFF71AF8FFF734F856 -:10376000FFF74EF8FFF774FC01E0FFF79FFCFCE762 -:1037700070B503460C4603E014F8015B03F8015BE7 -:10378000151EA2F10102F7D170BD30B502464FF609 -:10379000FF7012E012F8014B6040002308E000F0D7 -:1037A000010424B14AF2010484EA600000E0401000 -:1037B0001C465D1CABB2082CF1DB0C1EA1F101050F -:1037C000A9B2E7D130BD00B9704700214161016164 -:1037D000C16000BFF8E770B504460D460CB9002083 -:1037E00070BDE06808B90020FAE745B1D4E90006E9 -:1037F000236903FB060132462846FFF7B9FF20691B -:10380000401CA16890FBF1F201FB12002061E0680E -:10381000401EE0600120E3E770B504460D460CB998 -:10382000002070BDD4E90210884201D10020F8E7E1 -:1038300045B1D4E90016636903FB061032462946F8 -:10384000FFF796FF6069401CA16890FBF1F201FB55 -:1038500012006061E068401CE0600120E1E770B5A3 -:1038600004460D460CB9002070BDD4E90210884210 -:1038700004DA29462046FFF7CFFFF5E745B1D4E942 -:103880000016636903FB061032462946FFF770FFF6 -:103890006069401CA16890FBF1F201FB12006061BD -:1038A0002069401CA16890FBF1F201FB120020612D -:1038B0000120D9E770477047704770477047000094 -:1038C00010B502494868804710BD0000A8000020DC -:1038D0007047000010B50548C16C88470448C16CAA -:1038E00088470448C16C884710BD0000F8010020DB -:1038F00048020020980200204FF04070E1EE100ACC -:1039000070470006101600061016000000000000A8 -:10391000000001020304060708090000000001027C -:103920000304000056312E300000000031313532E2 -:103930003030000031393230300000003537363059 -:1039400030000000393630300000000034383030AC -:1039500000000000434F4D3100000000434F4D3246 -:1039600000000000434F4D3300000000434F4D3432 -:103970000000000094390008000000201C03000033 -:10398000C40100081C3B00081C030020BC88000088 -:103990002002000841321042011324F4132439009C -:1039A0000A120856302E3030312E303A012813D505 -:1039B0003822081203320A3AB70C120732323AD1CF -:1039C0000C120B32643AB50C120D32C83ABB0C1211 -:1039D000111AF43D3AC10C121323E8033AB90C1240 -:1039E0001723D0073ABD0CA113C1301B08D504130F -:1039F000453123088C1420F93414081D351B08F5B3 -:103A0000081AF3041AB01411AC100240041A40133F -:103A100012081A04D159144A04042A02B629051AB4 -:103A20000810A9040A1D0C04594079041944128095 -:103A300022402905197E396D29585910100E0D0E96 -:103A40000F0C0B0A090807040302011B06051016D8 -:103A500008090A0B0C1F010203040506E6211319CD -:103A6000321B0849041A0D04012013D5331B0881A9 -:103A7000041A59041ACD04137C01142048061A2094 -:103A8000CE11F3B80B0A1412180B14B81D181AB083 -:103A90004C136003142008051C20A804BE19C7138A -:103AA000702914202835FC20B80B5E511381351481 -:103AB0000871361B08D5041AA10C1A4908411AE5E9 -:103AC0000C1AC8501AA4501AC8501A680429501366 -:103AD000E0400C1020984C502B980220091C501AE2 -:103AE000E0501A1C501A489C1AE80829501B5058DC -:103AF000B00A3464A01354391B085C041A64041A15 -:103B00006C041A4C041A44041A34041A3C041A2C87 -:0C3B100004811339371B081074000000FA +:10023000520728BF30C148BF0B6070476E2900F0DD +:10024000DD83702900F04F85662906F0C485652995 +:1002500006F0C185672906F0BE85612906F0BD85D7 +:1002600003681B0A28BF41F08001692900F058810A +:10027000642900F05581752900F052816F2900F042 +:10028000DC84782900F01B85E92900F07784E429D3 +:1002900000F07484F52900F07184EF2900F0D9840E +:1002A000F82900F01A850368DB0928BF41F08001B6 +:1002B000632900F0E683732900F0EB83E32901F062 +:1002C0002B81F32901F03081002070471FB506F023 +:1002D0007DFD9DE8030001F005FD01F049FA0400F1 +:1002E0000020002106F05CFD401C60600020002121 +:1002F00006F040FDE06001F01FF91FBD10B501F0F0 +:1003000084F910BD01F007FA1146FFF7DFFF06F090 +:1003100051FC01F0B5FC03B4FFF7F0FF03BC01F0A2 +:1003200093FE00000948804709480047FEE7FEE7C2 +:10033000FEE7FEE7FEE7FEE7FEE7FEE7FEE7FEE795 +:1003400004480549054A064B70470000B14F0008B4 +:1003500089010008589100205897002058930020E8 +:100360005893002053EA020C00F069802DE9F04B0D +:100370004FF00006002B1FBFB3FA83F503FA05F414 +:1003800024FA05F65E4012BF1643B2FA82F502FA6D +:1003900005F4C5F120051EBF22FA05FC44EA0C0451 +:1003A000203556EA044C4FEA144418BF641C4FF041 +:1003B00000084FF00009904271EB030C39D300297B +:1003C00019BFB1FA81F701FA07F6B0FA80F700FA1F +:1003D00007F6C7F120071EBF20FA07FC46EA0C0605 +:1003E0002037B6FBF4FCA7EB0507103F07F01F0B07 +:1003F000CBF120060CFA0BFB2CFA06F644BFB346F1 +:100400000026202FA4BF5E464FF0000B5BEA060CCF +:1004100008BF4FF0010B19EB0B09ABFB027C48EB5B +:100420000608C01B06FB02CC0BFB03CC71EB0C01D6 +:10043000C1E70B46024641464846BDE8F08B13B57E +:100440004FF000004FF00001AFF30080BDE81C400A +:10045000704700007CB51D4616460C00009001D088 +:100460002044401E074B7B442A4669460190304693 +:1004700000F0DDFA05461CB10020694600F0EAFAFA +:1004800028467CBDF50500000FB4044910B503AA49 +:10049000029800F003FB10BC5DF814FB4C900020A8 +:1004A0000FB41CB5084B06AA7B446946009005981A +:1004B00000F0BDFA04460020694600F0CBFA204661 +:1004C0001CBC5DF814FB0000A905000070B50C46CB +:1004D0000546012A05D02878800600D5EA69002360 +:1004E00002E0012305E05B1C934202D2E05C00289D +:1004F000F9D1A869E618C01AA861286A18442862C8 +:10050000284600F0E9F904E0D5E9012114F8010BCF +:100510009047B442F8D3284600F0F4F970BD0000CB +:100520002DE9F0410646002410687529314616A5CC +:1005300010D000F0F8F9002802DA404213A507E0D5 +:1005400031688A0701D512A502E0490704D511A533 +:10055000012401E000F0F0F900210A2206F124074D +:1005600009E0B0FBF2FCB0FBF2F302FB1C00303000 +:1005700078541846491C0028F3D123462A463046B1 +:10058000BDE8F04100F0E1B9000000002D000000DE +:100590002B000000200000002DE9F05F8946044692 +:1005A0004FF0000ADFF874B1FB44C0F820A02046E9 +:1005B000E1688847002874D0252806D0D4E90121B5 +:1005C0009047206A401C2062F1E700265F462046E3 +:1005D000E16888472028054607DB312D05D27819C8 +:1005E00010F8200C08B10643F1E7B00701D526F05A +:1005F0000406C4F81CA00027C4F818A02A2D09D0AE +:10060000284605F07DF838B304EB8708303DC8F87C +:10061000185019E059F8041B204604EB8702916139 +:10062000E1688847012F054618D1E069002820DAE3 +:1006300026F020061DE0D8F8180000EB800005EB3E +:1006400040003038C8F818002046E1688847054661 +:1006500005F056F80028EED1012F0AD02E2D08D132 +:100660002046E16888477F1C0546022F46F0200699 +:10067000C4DBA069002803DA404246F00106A0610D +:10068000F00701D026F010066C2D0BD0682D09D094 +:100690004C2D39D06A2D35D0742D35D07A2D33D0EC +:1006A00016E038E0E1682F4620468847B842054604 +:1006B00009D16C2F26D04FF48060E16806432046B4 +:1006C0008847054604E06C2F1AD04FF4807006432B +:1006D0000DB3A5F14100192802D8203546F4006673 +:1006E0004A462946204626604E46FFF7A7FD80B1C0 +:1006F00001280BD0F61D26F0070000F1080956E787 +:100700004020E4E78020D8E70020D6E706F104097E +:100710004DE7284652E7206ABDE8F09F5268000086 +:1007200040EA010310B59B070FD1042A0DD310C86E +:1007300008C9121F9C42F8D020BA19BA884201D9C0 +:10074000012010BD4FF0FF3010BD1AB1D30703D008 +:10075000521C07E0002010BD10F8013B11F8014BBE +:100760001B1B07D110F8013B11F8014B1B1B01D1DA +:10077000921EF1D1184610BD10B5431C02E010F8CE +:10078000011B71B18107FAD14FF0013202C88C1AF6 +:100790008C4314EAC211F9D0C01A0A0603D0C01E55 +:1007A00010BDC01A10BD0A0401D0801E10BD090280 +:1007B000FCD0401E10BD032A40F2308010F0030C24 +:1007C00000F0158011F8013BBCF1020F624498BFA4 +:1007D00011F801CB00F8013B38BF11F8013BA2F141 +:1007E000040298BF00F801CB38BF00F8013B11F0BC +:1007F000030300F08382083AC0F0088051F8043BFC +:10080000083A51F804CBA0E80810F5E7121D5CBFC8 +:1008100051F8043B40F8043BAFF30080D20724BFFB +:1008200011F8013B11F801CB48BF11F8012B24BF8F +:1008300000F8013B00F801CB48BF00F8012B7047DE +:100840004FF000020429C0F0128010F0030C00F0F9 +:100850001B80CCF1040CBCF1020F18BF00F8012B77 +:10086000A8BF20F8022BA1EB0C0100F00DB85FEA45 +:10087000C17C24BF00F8012B00F8012B48BF00F811 +:10088000012B70474FF0000200B513469446964680 +:10089000203922BFA0E80C50A0E80C50B1F1200193 +:1008A000BFF4F7AF090728BFA0E80C5048BF0CC041 +:1008B0005DF804EB890028BF40F8042B08BF70479F +:1008C00048BF20F8022B11F0804F18BF00F8012B11 +:1008D000704770477047704770B504468569006877 +:1008E000C10601D5302600E02026C00707D070BD24 +:1008F000D4E9012130469047206A401C20626D1ED9 +:10090000F6D570BD70B5044685690078C00707D17B +:1009100070BDD4E9012120209047206A401C20624C +:100920006D1EF6D570BD09684A0501D540B2704705 +:10093000C905FCD500B2704709684A0501D5C0B2A7 +:100940007047C905FCD580B270472DE9F0470D46C8 +:1009500099469246044600F124080168880604D5A9 +:10096000E06921F01001216000E00120A84201DDD2 +:10097000471B00E00027A1697A1902EB0900081A59 +:10098000A0612078C00602D42046FFF7A5FF00260C +:1009900008E0D4E901211AF806009047206A401CBB +:1009A000761C20624E45F4DB2078C0060AD520462E +:1009B000FFF792FF06E0D4E9012130209047206A3A +:1009C000401C2062381EA7F10107F4DC07E0D4E9DF +:1009D000012118F805009047206A401C2062281E5B +:1009E000A5F10105F3DC2046FFF78CFF2078000617 +:1009F00002D50220BDE8F0870120FBE711680268FC +:100A0000006A530501D508700AE0D30501D50880B6 +:100A100006E0130603D5C217C1E9000200E0086032 +:100A20000120704701694A1C02610878704700B5CF +:100A30008FB0CDE901310021059105497944CDE917 +:100A4000031011466846FFF7A7FD0FB000BD000078 +:100A5000E5FFFFFF0A6802F8010B0A607047D1E961 +:100A600000239A4202D2531C0B601070704710B5DD +:100A7000436913B1AFF3008001E0FFF727FD0120C8 +:100A800010BD127800F124010A7000224A70012280 +:100A9000EDE711684FF0FF32E9E70000074B70B552 +:100AA0000D467B44FFF7C3FF0446284600F040FD97 +:100AB00010B14FF0FF3070BD204670BD1D520000D8 +:100AC0002DE9FF5F15468A460446DFF8AC80F844FE +:100AD0000027D8E900103E46CDE9001010E03AF8B2 +:100AE00016106A4602A800F0C3FD411C07D0217809 +:100AF000890603D5E269391891420DD80744761C5E +:100B00002078800602D5E069B84205DDAE42E6DB1A +:100B10003AF816000028E2D1A069C01BA061204667 +:100B2000FFF7DAFED8E90010CDE90010002017E049 +:100B30003AF818106A4602A800F09AFDB0F1FF3F9B +:100B400081460BD000250DF1080B05E0D4E9012109 +:100B50001BF8050090476D1C4D45F7D308F10100C7 +:100B6000B0428046E4DB206A384420622046FFF72A +:100B7000C9FEBDE8FF9F00003E6300002DE9F04183 +:100B80008046D21D22F007020025D2E90002F52995 +:100B900015A614D0011E72F1000106DA0023D0EB75 +:100BA000030063EB020211A608E0D8F800108B07DF +:100BB00001D50FA602E0490701D50EA60125114671 +:100BC000002408F1240704E000F0CAF830323A5556 +:100BD000641C50EA0102F7D12B46324621464046BA +:100BE000BDE8F041FFF7B1BE000000002D0000009D +:100BF0002B0000002000000030B4002100F124048C +:100C000008E002F00705D208303542EA4372DB08FB +:100C10006554491C52EA0305F3D10468002310A26D +:100C2000250707D5A40600D421B1C46901230DA26C +:100C3000641EC46130BCFFF788BE10B5044621466F +:100C40001068FFF779FE02462046BDE810400023F9 +:100C5000D2E7D21D22F00701D1E90023CCE7000042 +:100C60000000000030000000F0B40D4601880905C6 +:100C700002D5214C7C4402E01F4C7C440E34002100 +:100C800000F1240608E002F00F071209E75D42EACE +:100C900003721B097754491C52EA0307F3D1027807 +:100CA0000023120704D5702D06D009B10223113498 +:100CB0002246F0BCFFF749BE01231034F8E770B5B7 +:100CC00004460D4621461068FFF736FE02462946C7 +:100CD0002046BDE870400023C6E7D21D22F007037E +:100CE000D3E90023C0E70368126843F020030360E0 +:100CF0000823C3610023B7E7A061000010B5203AC4 +:100D0000C0F00B80B1E81850203AA0E81850B1E8C4 +:100D10001850A0E81850BFF4F5AF5FEA027C24BF7A +:100D2000B1E81850A0E8185044BF18C918C0BDE871 +:100D300010405FEA827C24BF51F8043B40F8043B3A +:100D400008BF7047D20728BF31F8023B48BF11F8EF +:100D5000012B28BF20F8023B48BF00F8012B704749 +:100D600030B5B0F10A024FEA900E71F100034EEA7D +:100D7000817EB0EB0E0061EB91014FEA101E4EEA4E +:100D8000017E10EB0E0041EB11114FEA102E4EEADE +:100D9000016E10EB0E0041EB11214FEA104E4EEAAE +:100DA000014E10EB0E0041EB1141401841F10001E2 +:100DB0004FEAD00040EA41704FEAD10110EB8005C4 +:100DC0004FEA810444EA907444EB01046D1944EB4A +:100DD0000404521BA3414FF0000348BF0A3200D560 +:100DE00030BD401C41F1000130BD70472DE9FF4F7F +:100DF0000C461E464FF0FF378BB0D2E90001DDF8FC +:100E000060800A908A46C1F30A5505B93D46002123 +:100E100008464FF00000BAF1000F00F4400005DA78 +:100E200000EB80004FF4400101EA50004FEA905976 +:100E3000B9F1010F00DDB9460A9850EA4A000ED018 +:100E400044F61050A5F2FF3545432F14B8F1000FBA +:100E50001ED07542291E1EDDC9F100021CE0B8F14A +:100E6000010F4FF0000001D0302103E0F24305E014 +:100E70002154401CB042FBDB3046002200212154AB +:100E80000B99C1F80880C1E900200FB0BDE8F08FD0 +:100E9000BD1B6D1CDEE74A4600DA694206A800F079 +:100EA000D3FC06AB93E8070003AB83E8070050468A +:100EB0000A9901F065F98DE80700A0F500501F3888 +:100EC00000900398002D0ADD42F21F014A460844B3 +:100ED000002303A90390684601F0CEFB09E0A0F5CA +:100EE00000504A461F38002303A90390684601F0CA +:100EF000D8FB8DE807000004000C03D04FF0FF3052 +:100F0000410800E01046B8F1000F03D00022009223 +:100F100015461EE0751E05D4FFF722FF30326255DC +:100F20006D1EF9D5B3460122084302D000227F1C72 +:100F300004E02078302801D100227F1E002A099782 +:100F400084D01DE0112D07DAFFF70AFF3032625519 +:100F50006D1C50EA0102F5D1084302D00098C8B1D7 +:100F60000EE00021681E05E0235C625C635422549D +:100F7000401E491C8142F7DBAB46A81B401E09906E +:100F8000002004F80B000B98099AC0F80880C0E90B +:100F9000002B7AE711264FF0000857E72DE9F04FB4 +:100FA00088460446D21D22F0070191B0D1E9000124 +:100FB000CDE90A0104F070FB02460B98C00F01D086 +:100FC0002D2007E02068810701D52B2002E0202199 +:100FD00001EAC000032A099001D0072A05DB034675 +:100FE0004146204600F0F0FB0BE12078800601D559 +:100FF000E06900E00620B8F1650F814606D0B8F13F +:10100000660F18D0B8F1670F70D131E00020B9F148 +:10101000110F009001DB112301E009F101030AAA7D +:1010200001A90CA8FFF7E2FEDDE90C70002609F12A +:101030000105834647E001204B4600904FF00047F2 +:101040000AAA01A90CA8FFF7D1FEDDE90DB00C99A1 +:101050005D46002610B909F101000D18B9EB050035 +:1010600003D4C0F1FF3609F10105A5EB09002BE01F +:10107000B9F1010F01DA4FF001090020B9F1110FA8 +:101080000090484601DD112300E003460AAA01A9A9 +:101090000CA8FFF7ABFEDDE90C704D460026834639 +:1010A000207800070AD4AB4500DA5D4601A8012D7F +:1010B00004DD411911F8011C302907D04F4502DA2F +:1010C00017F1040F04DA012082460FE06D1EEEE7EF +:1010D000002F02DCED1B3E4403E0781CA84200DD3B +:1010E0007D1CB81B00F1010A4FF000472078000773 +:1010F00003D4AA4501DB4FF0FF3A0021B7F1004FBE +:101100000DF143088DF8431024D002202B23002F2B +:1011100001DA7F422D230A21021EA0F1010000DC2A +:101120005FB197FBF1FC97FBF1F201FB1C7C1746CA +:101130000CF1300C08F801CDEEE7A8F101000370C6 +:101140002188090501D5452100E06521A0F10108AC +:1011500000F8011C09980FA9A1EB0807FF1D00B1B9 +:101160000120411901EBEA70A1693844081A401EB8 +:10117000A0612078C00602D42046FFF7ADFB099895 +:1011800028B1D4E901219047206A401C20622078D0 +:10119000C00622D52046FFF79FFB1EE0002E04DB91 +:1011A000B34502DD01A8805D00E03020D4E90121D3 +:1011B0009047206A401C2062761CAAF101005FEA79 +:1011C000000A0AD100F0D4FAC0680168405CD4E992 +:1011D00001219047206A401C2062281EA5F10105CC +:1011E000DCDC07E0D4E9012118F8010B9047206A04 +:1011F000401C2062381EA7F10107F3DC2046FFF7F0 +:1012000081FB032011B041E62DE9F04F04460D4665 +:10121000D21D22F0070089B0D0E900974846394630 +:1012200004F03AFA0246F80F01D02D2307E02068B7 +:10123000810701D52B2302E0202101EAC0038DF8AC +:1012400020300BB1012000E00020032A824601D0AB +:10125000072A04DB2946204600F0B6FA3FE1207851 +:10126000800601D40D2500E0E569C7F30A560D2D6F +:1012700049DA00214FEA175B08464FF00000002FC3 +:1012800000F4400007DA00EB80004FF4400100EB6F +:10129000D07001EA60008115012901DD4FF0FF31B6 +:1012A00000224FEA850CBCF1180F06D31346ACF1AF +:1012B00018004FF08052C24003E04FF4801323FA2D +:1012C0000CF30CF10C0CBCF1200F04D3ACF1200C8E +:1012D00009FA0CF001E007FA0CF000294FF0004881 +:1012E00001DD18B90FE00ED140450CD319EB02090E +:1012F0005F4121B9404502D19F4329EA0209BBEB76 +:10130000175F00D0761C2088000502D57B48784402 +:1013100002E07A487844193808AA302302F80A30E3 +:10132000037C0AF10101002E0AF1020A53546A46B5 +:1013300002DC4FF0300101E04FF031014FF00108C5 +:101340008DF8001002D0A6F2FF3603E059EA4701FB +:1013500000D06B4E002D02DC2178090704D54FF038 +:1013600002082E218DF80110C44600210BE0C7F3BE +:1013700003433F01C35C491C6D1E02F80830052978 +:1013800008F1010801DA002DF1DC00210CE000EB8E +:101390001973491C1B786D1E082902F808304FEAA2 +:1013A000091908F1010801DA002DF0DC21688B062B +:1013B00002D516E0A8F10108E04505DD02EB0803BF +:1013C00013F8013C302BF5D0B8F1000F09DD02EB2A +:1013D000080313F8013C2E2B03D1090701D4A8F10F +:1013E0000108002D05DD3E2102F808106D1E08F1F0 +:1013F0000108407C002E02F8080008F1010804DA18 +:101400002D20764202F8080002E02B2002F80800A6 +:101410000A214FF47A70864208F101080BDB96FB33 +:10142000F0F3303302F8083096FBF0F308F10108CE +:1014300000FB136601E0642E0CDB642096FBF0F3E6 +:10144000303302F8083096FBF0F308F1010800FB96 +:10145000136601E00A2E06DB96FBF1F0303002F84D +:10146000080008F1010896FBF1F001FB1060303034 +:1014700002F80800A16908F1010808EB050202EB77 +:101480000A00081AA0612078C00602D42046FFF79F +:1014900023FA216A08AE01EB0A00206204E0D4E9D5 +:1014A000012116F8010B9047BAF1010AF7D2207812 +:1014B000C00602D52046FFF70FFA6E4609E016F87F +:1014C000010B3E280FD0D4E901219047206A401C2F +:1014D0002062B8F10108F2D22046FFF713FA09B0F2 +:1014E0000320BDE8F08F206A2844206203E0D4E99D +:1014F0000121302090476D1EEBD3F8E7415B0000DF +:1015000002FCFFFF10B5436913B1AFF3008001E0A7 +:10151000FFF7D6FA012010BD128800F12401828461 +:101520000022C2840122EDE711684FF0FF32E9E7A3 +:10153000007B00F08000704710B542485421FFF74F +:10154000A1F941485421FFF79DF940485421FFF784 +:1015500099F93F493B483C4A3F4B08603D490A6086 +:101560003A491960531C0365481C10650120086541 +:101570003B48344A39A1784400F0E6FA20B93848AB +:1015800078440A3800F085FB37482F4A35A1784463 +:1015900000F0DAFA20B9344878440A3800F079FBD0 +:1015A00032482A4A2FA1784400F0CEFA20B92F48B9 +:1015B00078440A3800F06DFB40232248DC0000210B +:1015C000224600F09EFA20B125487844543800F0B5 +:1015D00060FB1D4822464023002100F092FA20B112 +:1015E00021487844543800F054FB18482246102310 +:1015F000002100F086FA002806D01C487844BDE897 +:101600001040563800F045BB10BD104870B5006D55 +:1016100020F001040B4800F00DFB0B4800F00AFB22 +:101620000A4800F007FB09E0206D20F00105204684 +:1016300000F000FB204600F09FF82C46002CF3D170 +:1016400070BD0000F88F00204C900020A09000207A +:101650008C02002090020020940200207200000002 +:10166000EC58000077000000D8580000C458000073 +:1016700070B516460C46054600F072F8036893F8FC +:101680000101012806D0FF2C0FD8185D68B1012098 +:101690002C7070BDD3F807013246214603F20713C0 +:1016A00003442846BDE8704018474FF0FF3070BD36 +:1016B0000EB5CDE90001FFF75FF802906946012001 +:1016C000ABBE0EBD08B5694600900220ABBE08BD9A +:1016D0001FB58DE8070069460520ABBE04B010BDFC +:1016E0001FB58DE80F0069460620ABBEF6E708B5CA +:1016F000694600900920ABBE08BD1CB5CDE90001CC +:1017000069460A20ABBE1CBD704708B5694600900B +:101710000C20ABBE08BD754600F0C2FAAE4605000F +:101720006946534620F00700854618B020B5FEF7FD +:1017300007FEBDE820404FF000064FF000074FF0D5 +:1017400000084FF0000B21F00701AC46ACE8C009DF +:10175000ACE8C009ACE8C009ACE8C0098D467047E8 +:1017600010B500F005F8001D10BD00BF3556000093 +:10177000004870471491002070B50446051F00F022 +:1017800095FA0068002C14BF446870BD002C18BF87 +:10179000AC423CBF20466468F8D301680A18AA42EC +:1017A00018BF456003D12A680546114401602868C6 +:1017B0004119A1421CBF6C6070BD616869602168FD +:1017C0000844286070BD00002DE9F0411F46044622 +:1017D00003260168072A01F4006004DB08B116A59E +:1017E00005E016A503E008B115A500E015A521F058 +:1017F00010002060A069C01EA0610FB1401EA06152 +:101800002046FFF769F84FB1D4E9012138469047E7 +:10181000206A401C2062C01C206206E0206AFAE7B1 +:10182000D4E9012115F8010B9047761EF8D2204625 +:10183000FFF768F8BDE8F0814E414E006E616E0022 +:10184000494E4600696E66002DE9F047814616460E +:101850008AB0354878440DC88DE80D003248784488 +:10186000801C03AC0DC884E80D0041F69B30084491 +:10187000372190FBF1F290FBF1F5A5F1800501FB1A +:1018800012041B3C02D56442012000E00020DFF876 +:1018900098A080460027FA44AAF1BE0A0EE0E007AD +:1018A0000AD03246684607EB470101230AEB810163 +:1018B00000F0F7FE8DE8070064107F1C002CEED1CD +:1018C000194F7F44AE3F19E0E80715D007EB04102D +:1018D0000DF1180A90E80E008AE80E00C068F04288 +:1018E00001D1981908903246012306A903A800F0F7 +:1018F000D8FE03AB83E807006D10641C002DE3D114 +:101900004FF0010332466946B8F1000F03A802D038 +:1019100000F0B2FE01E000F0C4FEC9E90001C9F820 +:1019200008200AB0BDE8F087985600002DE9F0477E +:1019300005460C46C86820F4201040F48000C860BA +:10194000800602D5084600F0FEFAE06841F2820106 +:101950004FF0FF390140022903D0204600F09CFAE5 +:10196000B5E000F42041B1F5004F0FD1C00306D51A +:101970006168E06A884200D80846606006E0206935 +:10198000E06260606069FFF7C0FEA061A0680022AD +:10199000EEB200280DDAE1688B050AD4C043A060DE +:1019A00041F490302260E0606068411C6160067024 +:1019B000A5E0E0689046226040F40050E0602069B5 +:1019C00068BB6069FFF793FE012704F12405A0B10D +:1019D000A08910F4407F08D0E06900F0B2F92061DE +:1019E00018B1E06840F4006016E0E7612561E06846 +:1019F00020F4407040F480600EE0E06900F0A1F94E +:101A000000282061F1D0E06840F4006010F4407FCD +:101A1000E06002D140F48070E06020696060E068BE +:101A200025696FF0010AC1051FD56168E06A884227 +:101A300000D80846411B04D02246284600F036FA5A +:101A4000F0BBE068010203D5E562C4E9015854E047 +:101A5000691CE1626160E16940F48030491EC4E9BB +:101A6000021030462E70BDE8F087010202D500F466 +:101A700080320AE06068411C61600670E0680A2EEE +:101A800040F48030E06006D00022E16A6068814264 +:101A900003D90B4602E00122F7E70346A7895B1B47 +:101AA0007F0503D4E7699F4200DDE2B1814200D89F +:101AB0000146E5620F1AC4E90158002B09DD00E078 +:101AC00005E022461946284600F0F0F908B14846DC +:101AD000C9E747B1A069E5626560C01BA061E06825 +:101AE00040F01000E060E068000208D56168A0697D +:101AF000E562491B08446560A0615046B3E7304683 +:101B0000B1E770B5C468A50713D0650211D4B2F56A +:101B1000807F09D0B2F5007F06D0B2F5806F08D182 +:101B2000012300F1240106E05D1E6FF07F46B542FF +:101B300001D3012070BD0161C361416024F4706173 +:101B40001143C160002070BD2DE9F0410C460746ED +:101B50001646104600F06EF82078611C61280AD005 +:101B6000722802D077283CD102E00125002405E04C +:101B70000225042402E0082448F2020511F8010BB2 +:101B80002B2806D0622809D011F8010C74280AD03D +:101B90000BE045F0030544F00204EFE745F00405CF +:101BA00044F00104EAE744F0100438462146FFF708 +:101BB0007FFD411C15D00021316171604FF400712F +:101BC000F560F1617061200704D5304602220021E2 +:101BD00000F0E6F8306D40F0010030653046BDE8B9 +:101BE000F0810020FBE72DE9F0410D460646104C40 +:101BF000206DC10704D0410804D020F00104F7E7AC +:101C000022460EE0542000F09CF807000ED0206D14 +:101C100047F001010843542120653846FEF732FEA3 +:101C20003A4629463046BDE8F0418DE70020D6E728 +:101C3000F88F00202DE9F04704464FF000094FF0DF +:101C4000FF37C568D4E90486A80707D0204600F00E +:101C500057F93046FFF736FD002802DA3846BDE86E +:101C6000F087280502D54046FFF786FD4C21204627 +:101C7000FEF708FE206D20F0010020654846EEE7E3 +:101C800010B50446AFF300802046BDE81040FEF7D3 +:101C900042BB10B500F07EF9BDE8104000F074B909 +:101CA00000487047F49000207047000000487047DB +:101CB000FC900020704770477047704738B5044665 +:101CC0000A4600206946AFF30080002808BF38BDEF +:101CD00002460099204600F0C4F9012038BD0120D9 +:101CE00000F013BAF8B5AFF30080054600200C46AB +:101CF000102000BF0646A819A0420DD932466946F9 +:101D00000020AFF30080070008BF00F0FEF9009844 +:101D1000A04218BF0546C419FFF7C8FF0560074673 +:101D2000F01D20F007004619284600F093F9B44250 +:101D300008BFF8BDA21B31463868BDE8F84000F086 +:101D400090B970B50646FFF7B1FF056806F10B00C4 +:101D500020F00704B4429CBF002070BD2B466A6887 +:101D6000BAB11068A04210D304F1080188423CBF08 +:101D70005068586007D35168101941601168091BF9 +:101D8000016058601460101D70BD13465268002A2F +:101D9000E7D121462846FFF791FF0028DED170BD2C +:101DA0002DE9F041044616460D464769007B800741 +:101DB0002ED03846FFF79BFC50BB3EB3012E02D01D +:101DC000022E25D104E0204600F065F905441DE00F +:101DD0003846FFF79AFCE168002841F01001E16005 +:101DE00005DA204600F058F80120BDE8F081C9036B +:101DF0000BD56268E16A914200D81146A26911448C +:101E00002269891A814200DD08460544002D01DA65 +:101E10000220EAE7E16A6068E268814206D2910343 +:101E2000E06203D522F4003141F01002A6690027D8 +:101E3000AE4213DCE16A814201D90B4600E0034661 +:101E400003EB060C2369ACEB030CAC4506DD8142C9 +:101E500001D98C4600E084469C4505D1A7602760E7 +:101E600042F02000A5620DE0AD1BE669AE1B814289 +:101E7000A66000D90846C01A281A20605819606068 +:101E800022F0200003490840E060002084F84870F8 +:101E9000ABE70000BFCFD7FFC16821F4001141F0CC +:101EA0008001C16000218160016070472DE9F04729 +:101EB000814614460E464FF0FF383248D5685769C0 +:101EC000054209D03846A169FFF717FC002811DB4D +:101ED0002C48C0430540E5602B463246494638460B +:101EE000FFF7F6FBA16920F00042B21A1144002866 +:101EF000A16103D02046FFF7CFFF4046BDE8F08741 +:101F000070B504460569C06A6168884200D8084611 +:101F1000E16821F42011E160C90312D5A84208D07C +:101F20002246411B2846FFF7C1FF10B14FF0FF309A +:101F300070BD0020E562C4E90150E06820F4803003 +:101F4000E060002070BD10B50446C06820F020009D +:101F5000E060A16AA06988420DD02046FFF7D0FF5B +:101F6000E06820F4405040F01000E060A06AA061FA +:101F70002069E062606044F24001E0688843E0600C +:101F800010BD000010000200002801D000F05CB875 +:101F90007047000010B5014602A000F09DF8012036 +:101FA00010BD000053494752545245443A205265EF +:101FB0006469726563743A2063616E2774206F7080 +:101FC000656E3A20000000004FF0013C50F8042BF1 +:101FD00051F8043B9A4221D1A2EB0C03934313EA3C +:101FE000CC1317D150F8042B51F8043B9A4215D169 +:101FF000A2EB0C03934313EACC130BD150F8042B40 +:1020000051F8043B9A4209D1A2EB0C03934313EA23 +:10201000CC13DBD04FF00000704700BFD01A01BADC +:10202000B1FA81F101F0180122FA01F0CB40C1F1BF +:102030002001DBB2C0B2C01A2CFA01F3D11A9143CD +:1020400011EAC311E6D1704701491820ABBEFEE783 +:102050002600020000210160C0E901107047102035 +:102060007047034640688C46002818BF88423CBF32 +:1020700003464068F8D318681844884207D00CF12A +:10208000030020F00700001D411A521A0146081DE6 +:102090000A60FFF771BB10B50146C268900703D014 +:1020A000900607D5886A0AE000F03EF80121016039 +:1020B000881E10BD8B69486818440B69C01A91F8D6 +:1020C00048301BB191F84910401A10BD1103FCD5DE +:1020D0000028FADD401E10BD70B505460C460A20EA +:1020E00000E06D1C00F018F835B128780028F8D110 +:1020F00002E0641C00F010F814B120780028F8D138 +:10210000BDE870400A2000F007B810B500F010F8E4 +:10211000BDE81040FFF738BF08B569468DF80000EC +:102120000320ABBE08BD000000487047F4900020BB +:1021300010B5012805D0002103A0FFF7CDFF012035 +:1021400010BD09A1F8E7000053494752544D454DD1 +:102150003A204F7574206F662068656170206D6548 +:102160006D6F7279000000003A2048656170206D43 +:10217000656D6F727920636F72727570746564003B +:102180005FEA400C08BF91F0000F4FEA8C234FEA42 +:10219000C12243EA51514FEA1C5018BF00F5F040EC +:1021A0004FEA300018BF41F000415FEA6C5C00F07C +:1021B0002980BCF1FF3F08BF40F080407047130CFE +:1021C00006BF12044FF0100C4FF0000C130E04BFAA +:1021D00012020CF1080C130F04BF12010CF1040CD5 +:1021E000930F04BF92000CF1020CD30F04BF5200F6 +:1021F0000CF1010C11464FF00002A0F11F00A0EB02 +:102200000C00704711F0004F08BF704731F00041DB +:102210003FF4D5AF0B0C06BF09044FF0100C4FF084 +:10222000000C0B0E04BF09020CF1080C0B0F04BFCD +:1022300009010CF1040C8B0F04BF89000CF1020C96 +:10224000CB0F04BF49000CF1010CCCF12003A0EB33 +:102250000C0022FA03F302FA0CF241EA030100F146 +:102260000100704720F07F4C80EA030023F07F4795 +:10227000ACEB070303F57C5300F0004003F1FF03D0 +:102280002DE980494FEA154B09B44FEA144325EA7A +:102290000B4E24EA03480FF2042606EB13274908E5 +:1022A0003E785FEA320203FB0667C7F5000707FBCB +:1022B00006F64FEA54374FEAD64606F1020607FB08 +:1022C000066CCCF1005C4FEA1C472CEA074C07FB7C +:1022D00006F40CFB06F504EB15464FEA961634BFE0 +:1022E00000204FF000404FEAD13706FB07FC4FEAD1 +:1022F0001C4C0CFB0BF7D21B03FB0CF761EB07012B +:102300000CFB0EF7B0EB074072EB17420CFB08F723 +:1023100034BFA2EB0742B2EB074261EB17414FEA31 +:102320000C444FEA910706FB07FC4FEA1C4C0CFBE0 +:102330000BF7B0EBC74072EB573203FB0CF734BF1F +:10234000A2EBC742B2EBC74261EB57310CFB0EF771 +:10235000B0EBC70072EB57720CFB08F734BFA2EB6F +:10236000C702B2EBC70261EB5771039F4FEA81616D +:1023700041EA921104EBCC044FEAD1374FEA826272 +:1023800006FB07FC42EA90124FEA80604FEA1C4CC1 +:102390000CFB0BF7D21B03FB0CF761EB07010CFBEB +:1023A0000EF7B0EB074072EB17420CFB08F734BF97 +:1023B000A2EB0742B2EB074261EB17414FEA8C55A3 +:1023C0004FEA910704EB9C2406FB07FC4FEA1C4CE8 +:1023D0000CFB0BF7B0EBC74072EB573203FB0CF76B +:1023E00034BFA2EBC742B2EBC74261EB57310CFBE3 +:1023F0000EF7B0EBC70072EB57720CFB08F734BF57 +:10240000A2EBC702B2EBC70261EB577115EB4C258B +:102410004FEA816141EA92114FEA82624FEAD13775 +:1024200042EA901206FB07FC44F100044FEA806088 +:102430004FEA1C4C0CFB0BF7D21B03FB0CF761EBB8 +:1024400007010CFB0EF7B0EB074072EB17420CFBD9 +:1024500008F734BFA2EB0742B2EB074261EB17412A +:1024600015EB1C154FEA813141EA92414FEA823265 +:1024700042EA90424FEA80304FEA0C7644F1000481 +:1024800048EA03434EEA0B484FF0000EB2EB080C4B +:1024900071EB030724BF624639464EEB0E0E4FF038 +:1024A000000B0018524149414BEB0B0BB2EB080CEF +:1024B00071EB03077BF1000B24BF624639464EEBFC +:1024C0000E0E4FF0000B0018524149414BEB0B0B25 +:1024D000B2EB080C71EB03077BF1000B24BF6246E3 +:1024E00039464EEB0E0E51EA020718BF46F00106C0 +:1024F00016EB0E7655F1000254F1000103D5BDE84C +:102500008901BDE80088BDE88901BDE80048B61929 +:10251000524141EB0101A3F10103704780807F7EAE +:102520007D7C7B7A79787776767574737271717049 +:102530006F6E6E6D6C6C6B6A6A69686867666665FB +:102540006464636362616160605F5F5E5E5D5D5C89 +:102550005C5B5B5A5A5959585857575656555555FA +:102560005454535352525251515050504F4F4F4E5A +:102570004E4D4D4D4C4C4C4B4B4B4A4A4A494949A8 +:1025800048484847474747464646454545444444EA +:10259000444343434342424242414141002B9C4613 +:1025A00030D477002BD01CB54FEA370703B44FF077 +:1025B00010004FF01001BAF1000F06D0BCF1000F6F +:1025C000DCBF40F0080040F008014FF000000FBCF5 +:1025D000BDE810400BF1010BBBF1010F08BF5FEA32 +:1025E000170722BF12F1010211F101014FF0004162 +:1025F00043F1000300F0004043EA00007047F9D3C4 +:102600005708D0E746EA064613F1400F4FEA164650 +:102610001FDD13F1200FDFBF16430A4600212033D0 +:102620005B42BED0C3F1200746EA064602FA07F72E +:102630004FEA164646EA0706C3F1200722FA03F2DC +:1026400001FA07F721FA03F14FF0000342EA07020B +:10265000A7E746EA020646EA06464FEA164646EA73 +:102660000106BCBF46EA0646360C4FF000034FF0A9 +:1026700000024FF0000194E72DE9804C9A46934602 +:1026800070B491E8380007C831EA400C48BF34EA1A +:10269000430C03D5FFF7E6FDFFF780FFF0BCBDE874 +:1026A000008C2DE9804C9A46934670B491E838002E +:1026B00007C810F0804F08BF13F0804F03D100F01F +:1026C00005F8FFF76BFFF0BCBDE8008C20F07F47FA +:1026D00080EA030023F07F4C07EB0C03A3F57C5347 +:1026E00000F00040A3F1FE0392F0000F00F0B38071 +:1026F00095F0000F00F077802DE901494FEA114075 +:102700004FEA144621EA004800FB06FC24EA06478B +:1027100008FB06F607FB08F800FB07F718EB06486E +:102720004CEB164C4FEA124B18EB07484FEA154694 +:102730004CEB174022EA0B4E0BFB06FC25EA064742 +:102740000EFB06F607FB0EFE0BFB07F71EEB064E15 +:102750004CEB164C4FF000061EEB074E4CEB174BA4 +:1027600018EB0B0840F1000018EB0E0B58EB0008BB +:1027700040F100008F1A4FF000013CBFC943661BB7 +:1027800014BFB5EB040C00213CBFC943F61B4FEA54 +:1027900017444EEA8E0E27EA04454FEA1C4704FB15 +:1027A00007622CEA074C05FB07F70CFB05F604FB58 +:1027B0000CFC16EB074642EB174216EB0C4642EBBD +:1027C0001C421BEB060658EB0202414146EA9E06FC +:1027D00001D5BDE80189B619524141EB0101A3F1D0 +:1027E0000103BDE801894FEA14454FEA114724EA85 +:1027F000054621EA074C05FB07F406FB07F70CFB2F +:1028000006F105FB0CFC11EB074144EB17444FEAC2 +:10281000124711EB0C4144EB1C4422EA074C05FB28 +:1028200007F206FB07F70CFB06F605FB0CFC16EBA4 +:10283000074642EB174216EB0C4642EB1C456A1862 +:1028400054F1000148BF7047B619524141EB0101F4 +:10285000A3F10103704795F0000F37D04FEA114202 +:102860004FEA144721EA024624EA074C02FB07F12B +:1028700006FB07F70CFB06F402FB0CFC14EB074409 +:1028800041EB17414FEA154714EB0C4441EB1C4157 +:1028900025EA074C02FB07F506FB07F70CFB06F6DB +:1028A00002FB0CFC16EB074645EB174516EB0C46F6 +:1028B00045EB1C42121951F1000148BF7047B6198F +:1028C000524141EB0101A3F1010370474FEA144566 +:1028D0004FEA114724EA054621EA074C05FB07F1B8 +:1028E00006FB07F70CFB06F24FF0000605FB0CFC9D +:1028F00012EB074241EB174112EB0C4251EB1C412A +:1029000048BF7047921841EB0101A3F101037047E2 +:1029100000BFFEE710B5024800F078FA10BD0000D5 +:102920009C04002010B5024800F070FA10BD0000B1 +:10293000FC04002010B5024800F068FA10BD000049 +:102940001C06002010B5024800F060FA10BD00001F +:102950007C06002010B5024800F058FA10BD0000B7 +:102960005C05002010B5024800F050FA10BD0000D0 +:10297000BC0500200146087810381823B0FBF3F29C +:102980000848805CC865032A05D908686FF3090008 +:10299000001D886503E008686FF309008865886D8D +:1029A00070470000DE6D0008014600208A6A8B69CE +:1029B000CBB932B1012A0DD0022A03D0032A10D19B +:1029C0000EE000BFCB6A03F08073B3F1807F00D1CB +:1029D000012007E0CB6AB3F1C07F00D1012001E004 +:1029E00000E000BF34E08B69B3F5005F1AD132B16B +:1029F000012A07D0022A03D0032A11D10AE000BF1E +:102A000001200EE0CB6A03F08073B3F1807F00D128 +:102A1000012006E0CB6AB3F1C07F00D1012000E0C5 +:102A200000BF15E032B1012A05D0022A04D0032AE2 +:102A30000CD103E000BF00BF012008E0CB6A03F027 +:102A40008073B3F1807F00D1012000E000BF00BFA0 +:102A5000704730B50468246824F4802405682C602D +:102A6000046863608468402C04D10468A260046830 +:102A7000E16003E00468A1600468E26030BD704773 +:102A800072B600BFFEE7000010B5002201B909E0F0 +:102A9000012901D10A0205E0022901D10A0201E05F +:102AA0004FF440720E4B1B6823F440730C4C2360B0 +:102AB00023461B681343236023461B6823F0F80357 +:102AC000236023461B68022444EAC0042343044CC9 +:102AD000236023461B6843F48033236010BD00004D +:102AE000103C02401C48006800F40070B0B11A4865 +:102AF000006820F400701849086000BF08460068AC +:102B000040F4006008600846006820F40060086037 +:102B100000BF0846006840F4007008600E48006876 +:102B200000F48060B0B10C48006820F480600A496D +:102B3000086000BF0846006840F4805008600846FE +:102B4000006820F48050086000BF0846006840F428 +:102B50008060086070470000003C02400A4A12682A +:102B600022F44072084B1A601A46126842F00402BE +:102B70001A601A4612684FF4803343EA00231A435E +:102B8000014B1A6070470000103C0240074A12686F +:102B900022F44072054B1A601A4612681A601A46EF +:102BA000126842F001021A6001707047103C024046 +:102BB00010B50D49096821F440710B4C2160214684 +:102BC000096841F4407121602146096841F0010122 +:102BD0002160026000BF00BF00BFBFF36F8F00BF66 +:102BE00000BF00BF436010BD103C0240084A12689D +:102BF00022F44072064B1A601A46126842F4807240 +:102C00001A601A46126842F001021A600180704789 +:102C1000103C0240084A126822F44072064B1A60C7 +:102C20001A46126842F400721A601A46126842F09C +:102C300001021A6001607047103C0240234800689E +:102C400000F0100040B12248C06940F01000204957 +:102C5000C86110201D4908601C48006800F0200071 +:102C600040B11B48C06940F008001949C8612020E4 +:102C7000164908601548006800F0400040B114484B +:102C8000C06940F004001249C86140200F49086043 +:102C90000E48006800F0800040B10D48C06940F067 +:102CA00002000B49C8618020084908600748006895 +:102CB00000F0020040B10648C06940F0200004491D +:102CC000C861022001490860704700000C3C0240C6 +:102CD000DC06002070B50446002500201449C861B8 +:102CE00000F04EFC054609E0601C38B124B100F04C +:102CF00047FC401BA04201D9032070BD0D4800686D +:102D000000F480300028EFD10A48006800F001008C +:102D100010B10120074908600648006800F0F20081 +:102D200018B1FFF78BFF0120E7E70020E5E700007F +:102D3000DC0600200C3C024070B50446A56D00F096 +:102D40001FFC064694F83500022808D080206065F4 +:102D500000BF002084F8340000BF012070BD20684F +:102D6000006820F01600216808602068406920F0A3 +:102D7000800021684861206C08B9A06C28B12068E7 +:102D8000006820F00800216808602068006820F0D2 +:102D900001002168086010E000F0F2FB801B0528AC +:102DA0000BD920206065032084F8350000BF002087 +:102DB00084F8340000BF0320D0E72068006800F0EA +:102DC00001000028E8D194F85C103F208840A860FA +:102DD000012084F8350000BF002084F8340000BFD3 +:102DE00000BFBBE7014691F83500022803D08020E0 +:102DF000486501207047052081F8350008680068A3 +:102E000020F001000A6810600020F3E7F8B50446DE +:102E1000002000908C4800684FF41651B0FBF1F789 +:102E2000A56D2E6894F85C1008208840304098B159 +:102E30002068006800F0040070B12068006820F08D +:102E400004002168086094F85C1008208840A8609D +:102E5000606D40F00100606594F85C1001208840CE +:102E6000304068B12068406900F0800040B194F8BB +:102E70005C1001208840A860606D40F00200606531 +:102E800094F85C1004208840304068B120680068E5 +:102E900000F0020040B194F85C1004208840A86063 +:102EA000606D40F00400606594F85C10102088406C +:102EB000304078B32068006800F0080050B394F800 +:102EC0005C1010208840A8602068006800F4802012 +:102ED00080B12068006800F4002028B9206CC8B1D7 +:102EE0002046216C884715E0A06C98B12046A16C63 +:102EF00088470FE02068006800F4807028B92068D7 +:102F0000006820F0080021680860206C10B120469D +:102F1000216C884794F85C102020884030400028BD +:102F200065D02068006800F0100000285FD094F899 +:102F30005C1020208840A86094F83500052828D12E +:102F40002068006820F01600216808602068406949 +:102F500020F0800021684861206C08B9A06C28B17D +:102F60002068006820F008002168086094F85C1070 +:102F70003F208840A860012084F8350000BF002071 +:102F800084F8340000BF206D10B12046216D8847C1 +:102F9000F8BD2068006800F4802080B120680068D7 +:102FA00000F4002028B9606C10B12046616C88479D +:102FB0001DE0E06BD8B12046E16B884717E0206840 +:102FC000006800F4807068B92068006820F0100084 +:102FD00021680860012084F8350000BF002084F8D3 +:102FE000340000BFE06B10B12046E16B8847606D94 +:102FF00038B3606D00F00100F0B1052084F83500B1 +:103000002068006820F001002168086000BF009877 +:10301000401C0090B84200D905E02068006800F02C +:1030200001000028F3D100BF012084F8350000BF63 +:10303000002084F8340000BFE06C10B12046E16C41 +:10304000884700BFA4E700000C0000202DE9F041F4 +:103050000446002500F094FA074614B90120BDE8A3 +:10306000F081606A00B100BF022084F8350000BF23 +:10307000002084F8340000BF2068006820F00100C0 +:10308000216808600AE000F07BFAC01B052805D91A +:1030900020206065032084F83500E0E720680068A0 +:1030A00000F001000028EED12068056821480540A5 +:1030B000D4E901010843E1680843216908436169D3 +:1030C0000843A1690843E1690843216A08430543AD +:1030D000606A042803D1D4E90B0108430543206842 +:1030E00005602068456925F00705606A0543606A48 +:1030F00004280DD1A06A0543E06A48B12046FFF7D5 +:1031000053FC28B140206065012084F83500A6E713 +:10311000206845612046FFF72DFC064694F85C10B8 +:103120003F208840B06000206065012084F83500B1 +:10313000002094E73F8010F02DE9F04704460D464B +:1031400016461F464FF00008D4F8589000BF94F878 +:103150003400012802D10220BDE8F087012084F864 +:10316000340000BF94F83500012825D1022084F8EE +:103170003500002060653B46324629462046FFF771 +:1031800068FC94F85C103F208840C9F8080020686B +:10319000006840F0160021680860206C28B12068A3 +:1031A000006840F00800216808602068006840F06E +:1031B00001002168086006E000BF002084F83400A8 +:1031C00000BF4FF002084046C6E7000070B5044655 +:1031D00000F0D6F906462546681C10B10448007870 +:1031E000054400BF00F0CCF9801BA842FAD370BDA3 +:1031F000080000202DE9F04104460E460127002575 +:1032000000BF2548007E012802D10220BDE8F081E0 +:1032100001202149087600BF4CF25030FFF75AFDDB +:103220000746002F31D1401E3060206801280FD1A1 +:10323000207C6168FFF792FC4CF25030FFF74AFDAA +:1032400007461648006820F00400144908601AE098 +:10325000A56812E0217C2846FFF716FC4CF250309E +:10326000FFF738FD07460D48006820F0FA000B49CB +:1032700008600FB1356005E06D1CD4E90210084408 +:10328000A842E7D800BFFFF72DFC00BF002002498D +:10329000087600BF3846B9E7DC060020103C024043 +:1032A0000348006840F00040014908600020704772 +:1032B000103C02402DE9F04106460F4614461D46DB +:1032C0004FF0010800BF1F48007E012802D10220F4 +:1032D000BDE8F08101201B49087600BF4CF2503058 +:1032E000FFF7F8FC8046B8F1000F23D126B9E1B210 +:1032F0003846FFF74BFC12E0012E04D1A1B238464C +:10330000FFF774FC0BE0022E04D121463846FFF78C +:1033100081FC04E022462B463846FFF749FC4CF27C +:103320005030FFF7D7FC80460748006820F00100C6 +:103330000549086000BF00200249087600BF4046EA +:10334000C6E70000DC060020103C024000200949CE +:10335000096801F0004159B10749064A0C3A116069 +:10336000064911600349096801F0004101B10120DB +:1033700070470000103C024023016745AB89EFCD48 +:10338000F8B502460B460025002400200021D6E0B7 +:10339000012606FA01F51E6806EA0504AC4274D15E +:1033A0001E7906F00306012E04D01E7906F00306EE +:1033B000022E13D190684F000326BE40B0434F0049 +:1033C000DE68BE4030439060506801268E40B043B6 +:1033D0001E79C6F300168E40304350601E7906F009 +:1033E0000306032E09D0D0684F000326BE40B04329 +:1033F0004F009E68BE403043D0601E7906F0030641 +:10340000022E13D1CF0802F1200656F827004E07EE +:10341000F70E0F26BE40B0434F07FF0E1E69BE4099 +:103420003043CF0802F1200646F8270010684F000D +:103430000326BE40B0431E7906F003064F00BE408F +:10344000304310605E6806F44036002E76D000BF30 +:10345000002600963C4E366846F480463A4F3E6061 +:103460003E46366806F48046009600BF00BF374EE1 +:103470008F0856F827008E07370F0F26BE40B0433F +:10348000334EB24202D1002624E057E0314EB24220 +:1034900001D101261EE0304EB24201D1022619E0D0 +:1034A0002E4EB24201D1032614E02D4EB24201D17C +:1034B00004260FE02B4EB24201D105260AE02A4E27 +:1034C000B24201D1062605E0284EB24201D10726BC +:1034D00000E008268F073F0FBE4030431B4E8F0889 +:1034E00046F82700224E3068A0435E6806F4801636 +:1034F00006B120431E4E3060361D3068A0435E6822 +:1035000006F4001606B12043194E361D3060184EE1 +:10351000361F3068A0435E6806F4003606B12043CB +:10352000134E361F3060361F3068A0435E6806F4C5 +:10353000803606B120430E4E083E3060491C1029EB +:10354000FFF426AFF8BD00004438024008380140BF +:10355000000002400004024000080240000C02404B +:10356000001002400014024000180240001C0240FB +:10357000083C01400AB1816101E00B04836170479E +:103580000148006870470000000000200348006800 +:103590000349097808440149086070470000002089 +:1035A0000800002010B50D48006840F400700B4979 +:1035B00008600846006840F48060086008460068BB +:1035C00040F480700860032000F0A6F8032000F0AB +:1035D00007F800F02BF8002010BD0000003C02406E +:1035E00070B504460E4800784FF47A71B1FBF0F0E4 +:1035F0000C490968B1FBF0F5284600F013FD08B14D +:10360000012070BD102C07D200222146501E00F070 +:1036100045F80548046001E00120F2E70020F0E7EA +:10362000080000200C0000200400002008B500BFA6 +:10363000002000901048006840F480400E49086067 +:103640000846006800F48040009000BF00BF00BF43 +:1036500000200090081F006840F08050091F08609B +:103660000846006800F08050009000BF00BF0520B1 +:1036700000F052F808BD00004438024001460846F8 +:10368000002809DB00F01F0301229A4043099B0038 +:1036900003F1E023C3F8002100BF70472DE9F05F7C +:1036A00080460D461646002702F00EF807463946BA +:1036B0002A46334601F00700C0F1070ABAF1040FA9 +:1036C00002D94FF0040A01E0C0F1070AD14600F127 +:1036D000040ABAF1070F02D24FF0000A01E0A0F18C +:1036E000030AD4464FF0010A0AFA09FAAAF1010ABC +:1036F0000AEA020A0AFA0CFA4FF0010B0BFA0CFB69 +:10370000ABF1010B0BEA030B4AEA0B0421464046DE +:1037100001F0E2FFBDE8F09F00BF00F00702064B9A +:1037200019684FF6FF031940044B0B4343EA02218B +:10373000014B196000BF70470CED00E00000FA0576 +:1037400070B504460D460CB9012070BD584800689C +:1037500000F00700A84209D255490D7008460068DC +:1037600000F00700A84201D00120EEE7207800F029 +:10377000020002281DD1207800F00400042805D1A1 +:103780004C48006840F4E0504A490860207800F056 +:103790000800082805D14748006840F460404549C2 +:1037A00008604448006820F0F000A16808434149DF +:1037B0000860207800F00100A8B36068012807D1F4 +:1037C0003C4808380068C0F34040B8B90120BCE765 +:1037D0006068022802D06068032807D1354808389D +:1037E0000068C0F3406048B90120AEE731480838AE +:1037F0000068C0F3400008B90120A6E72D48006822 +:1038000020F00300616808432A490860FFF7B8FE0A +:10381000064609E0FFF7B4FE801B41F2883188427A +:1038200002D9032091E707E02248006800F00C006D +:103830006168B0EB810FEDD11D48006800F0070012 +:10384000A84209D91A490D700846006800F007001F +:10385000A84201D0012078E7207800F00400042875 +:1038600007D11448006820F4E050E168084311498A +:103870000860207800F00800082808D10D4800688A +:1038800020F46040216940EAC1000A49086000F064 +:103890003FF808490968C1F30311074A515CC84061 +:1038A0000649086006480068FFF79AFE00204CE7CA +:1038B000003C024008380240E66D00080C00002081 +:1038C0000400002001480068704700000C00002040 +:1038D00000B5FFF7F7FF04490968C1F38221034AE5 +:1038E000515CC84000BD000008380240F66D000879 +:1038F00000B5FFF7E7FF04490968C1F34231034A05 +:10390000515CC84000BD000008380240F66D000858 +:103910002DE9F047002400250026A146254800682F +:1039200000F00C0020B1042805D008283AD105E0A9 +:10393000DFF8849039E0DFF8849036E01D48001FFE +:10394000006800F03F041B48001F006800F480007E +:1039500078B11A481749091F0968C1F38811A0FBFB +:1039600001700146224600233846FCF7FBFC054661 +:103970000EE011480F49091F0968C1F38811A0FB27 +:1039800001700146224600233846FCF7EBFC054651 +:103990000848001F0068C0F30140401C4600B5FB0A +:1039A000F6F902E0DFF8109000BF00BF4846BDE81E +:1039B000F0870000083802400024F40000127A006A +:1039C000F8B504460CB90120F8BD207800F00100DC +:1039D000002874D0F948006800F00C0004280DD0CD +:1039E000F648006800F00C00082813D1F348001FC7 +:1039F000006800F48000B0F5800F0BD1EF48083864 +:103A00000068C0F34040002859D06068002856D1B3 +:103A10000120D9E700BF6068B0F5803F08D1E748D2 +:103A20000838006840F48030E449083908601EE036 +:103A30006068B0F5A02F0DD1E0480838006840F468 +:103A40008020DE49083908600846006840F480306C +:103A500008600CE0D9480838006820F48030D74965 +:103A6000083908600846006820F48020086000BF1C +:103A7000606890B1FFF784FD054606E0FFF780FD22 +:103A8000401B642801D903209EE7CC480838006811 +:103A9000C0F340400028F1D011E0FFF771FD05466A +:103AA00006E0FFF76DFD401B642801D903208BE77A +:103AB000C24808380068C0F340400028F1D120789F +:103AC00000F0020002285FD1BC48006800F00C0042 +:103AD00058B1BA48006800F00C0008281CD1B7485B +:103AE000001F006800F48000B0B9B44808380068CE +:103AF000C0F3400020B1E068012801D0012063E755 +:103B0000AE480838006820F0F800216940EAC1009A +:103B1000AA490839086037E0E06800B30120A849E5 +:103B20000860FFF72DFD054606E0FFF729FD401B65 +:103B3000022801D9032047E7A04808380068C0F3ED +:103B400040000028F1D09D480838006820F0F800B7 +:103B5000216940EAC10099490839086014E0002051 +:103B600097490860FFF70CFD054606E0FFF708FDE2 +:103B7000401B022801D9032026E790480838006836 +:103B8000C0F340000028F1D1207800F00800082898 +:103B90002CD16069A8B101208A490860FFF7F0FCC8 +:103BA000054606E0FFF7ECFC401B022801D9032084 +:103BB0000AE782486C300068C0F340000028F1D06A +:103BC00014E000207F490860FFF7DAFC054606E0B4 +:103BD000FFF7D6FC401B022801D90320F4E6774802 +:103BE0006C300068C0F340000028F1D1207800F06C +:103BF0000400042870D1002770483830006800F0B5 +:103C0000805090B900BF002000906C4838300068A8 +:103C100040F080506949383108600846006800F07B +:103C20008050009000BF00BF01276748006800F483 +:103C30008070B0B96448006840F4807062490860E0 +:103C4000FFF79EFC054606E0FFF79AFC401B0228A2 +:103C500001D90320B8E65C48006800F480700028B1 +:103C6000F2D000BFA068012808D15448683000682D +:103C700040F001005149683108601DE0A068052846 +:103C80000DD14E486830006840F004004B4968315F +:103C900008600846006840F0010008600CE04748F2 +:103CA0006830006820F00100444968310860084627 +:103CB000006820F00400086000BFA068A8B1FFF70A +:103CC0005FFC054609E0FFF75BFC401B41F28831D1 +:103CD000884202D9032077E626E038486830006839 +:103CE000C0F340000028EED013E0FFF749FC054682 +:103CF00008E0FFF745FC401B41F28831884201D9BA +:103D0000032061E62D4868300068C0F340000028B9 +:103D1000EFD1012F07D129483830006820F08050BA +:103D200026493831086000BFA069002845D02348E3 +:103D3000006800F00C0008285DD0A069022845D179 +:103D400000201F490866FFF71BFC054606E0FFF749 +:103D500017FC401B022801D9032035E61748083814 +:103D60000068C0F340600028F1D1D4E9070108439E +:103D7000616A40EA81110122A06AC2EB500041EA67 +:103D800000412C20005D41EA00600C49091F0860D9 +:103D900001200B490866FFF7F3FB054606E0FFF735 +:103DA000EFFB401B022801D903200DE60348083829 +:103DB0000068C0F340600028F1D049E008380240B4 +:103DC00000004742800E4742007000400020214919 +:103DD0000866FFF7D5FB054606E0FFF7D1FB401B61 +:103DE000022801D90320EFE51B480068C0F34060BA +:103DF0000028F2D12CE0A069012800D1E4E51648A2 +:103E0000001D0668A069012820D006F48001E06941 +:103E100081421BD106F03F01206A814216D147F64C +:103E2000C0703040616AB0EB811F0FD106F44031A1 +:103E30000122A06AC2EB5000B1EB004F06D106F0A0 +:103E400070612C20005DB1EB006F01D00120BBE55B +:103E50000020B9E5000047420038024010B5044692 +:103E60000CB9012010BD606A38B96068B0F5827F76 +:103E700000D105E00021E16102E0002121616161E2 +:103E80000021A16294F8510028B9002084F8500064 +:103E9000204600F047F8022084F8510020680068AE +:103EA00020F0400021680860A08800F48270218919 +:103EB00001F404410843A18901F400610843217C15 +:103EC00001F002010843217D01F001010843218B2B +:103ED00001F400710843217F01F0380108432021DB +:103EE000095D01F080010843218D01F40051084370 +:103EF000216808600421A06901EA104094F82410A8 +:103F000001F010010843216848602068C06920F46E +:103F100000602168C86100206065012084F85100BC +:103F200000209FE710B586B00446142101A8FCF7D5 +:103F3000A9FC37492068884230D100BF002000909A +:103F40003448006840F480503249086008460068F0 +:103F500000F48050009000BF00BF00BF0020009020 +:103F60002C481438006840F001002A4914390860D0 +:103F70000846006800F00100009000BF00BFE0208C +:103F8000019002200290002003900320049005205D +:103F9000059001A92048FFF7F3F936E01F49206892 +:103FA000884232D100BF002000901A48001F0068EC +:103FB00040F480401749091F08600846006800F473 +:103FC0008040009000BF00BF00BF0020009011485B +:103FD0001438006840F002000E49143908600846A1 +:103FE000006800F00200009000BF00BF4FF4604086 +:103FF00001900220029000200390032004900520ED +:10400000059001A90648FFF7BBF906B010BD0000F6 +:1040100000300140443802400000024000380040B7 +:104020000004024070B504462546681EB0F1807F4A +:1040300001D301200FE0681E4FF0E02148610F21FD +:104040004FF0FF3001F048FB00204FF0E021886185 +:1040500007200861002070BDF8B504460E461746DB +:1040600094F83E00202836D106B10FB90120F8BDE2 +:1040700000BF94F83C00012801D10220F7E701209D +:1040800084F83C0000BF20633A463146204601F0E8 +:1040900059FA0546EDB9206B012819D100BF00205F +:1040A000009020680068009020684068009000BF81 +:1040B00000BF00BF00BF21680C3151E8001F41F074 +:1040C000100021680C3141E80002002AF3D100E021 +:1040D00001252846CBE70220C9E7000070B5044659 +:1040E0000D460C492068884203D10B4801F045FD7C +:1040F0000EE00A492068884203D1094801F03DFDDD +:1041000006E008492068884202D1074801F035FDE1 +:1041100070BD000000100140680100200044004014 +:10412000B8010020004C00400802002070B5044691 +:10413000002520684069C0F3C01594F83D0021288F +:1041400017D1B5B100BF00BF2168143151E8001F7D +:1041500021F080002168143141E80002002AF3D1E7 +:1041600000BF606B10B1606BFEF7E6FD204601F00A +:1041700044F820684069C0F3801594F83E00222876 +:1041800017D1B5B100BF00BF2168143151E8001F3D +:1041900021F040002168143141E80002002AF3D1E7 +:1041A00000BFA06B10B1A06BFEF7C6FD204600F06B +:1041B000DEFF002070BD000038B5044600252B4905 +:1041C0002068884201D12A4D0AE02A4920688842A5 +:1041D00001D1294D04E029492068884200D1284DA9 +:1041E000206C00F0020050B100BF00200090206859 +:1041F0000068009020684068009000BF00BF206CFD +:1042000000F0040050B100BF00200090206800685A +:10421000009020684068009000BF00BF20680068E0 +:10422000C0F3C00050B100BF0020009020680068BB +:10423000009020684068009000BF00BF20680068C0 +:10424000C0F3400050B100BF00200090206800681B +:10425000009020684068009000BF00BF25B1EA8B45 +:10426000A9696868FFF7F8FE38BD0000001001403A +:104270006801002000440040B8010020004C0040CC +:10428000080200202DE9F84F0446206805682068E0 +:10429000C668206847694FF00009CA4605F00F0953 +:1042A000B9F1000F0AD105F0200038B106F0200066 +:1042B00020B1204600F0B4FFBDE8F88FB9F1000F3F +:1042C0007CD007F0010018B906F49070002875D072 +:1042D00005F0010030B106F4807018B1206C40F098 +:1042E0000100206405F0040030B107F0010018B1AE +:1042F000206C40F00200206405F0020030B107F0AD +:10430000010018B1206C40F00400206405F00800A2 +:1043100048B106F0200010B907F0010018B1206C78 +:1043200040F008002064206C002846D005F02000F2 +:1043300028B106F0200010B1204600F071FF20687F +:104340004069C0F3801A206C00F0080010B9BAF17F +:10435000000F2DD0204600F00AFF2068406900F0D1 +:104360004000402820D100BF00BF2168143151E82F +:10437000001F21F040002168143141E80002002AAA +:10438000F3D100BFA06B50B17548A16B0865A06B5D +:10439000FEF728FD88B1A06B016D88470DE020462F +:1043A000FFF70AFF09E009E02046FFF705FF04E0F8 +:1043B0002046FFF701FF002020647DE7206B0128E5 +:1043C00076D105F01000002872D006F01000002809 +:1043D000FAD000BF0020009020680068009020689C +:1043E0004068009000BF00BF2068406900F04000B6 +:1043F00040285ED1A06B006840681FFA80F8B8F1D1 +:10440000000F54D0A08D404551DDA4F82E80A06B44 +:10441000C069B0F5807F43D000BF00BF21680C3178 +:1044200051E8001F21F4807021680C3141E800023E +:10443000002AF3D100BF00BF00BF2168143151E84A +:10444000001F21F001002168143141E80002002A18 +:10445000F3D100BF00BF00BF2168143151E8001F35 +:1044600021F040002168143141E80002002AF3D114 +:1044700000BF202084F83E000020206300BF00BF62 +:1044800021680C3151E8001F21F0100021680C3127 +:1044900041E80002002AF3D100BFA06BFEF74CFCFC +:1044A000A08DE28D801A81B22046FFF717FE03E748 +:1044B00040E0A08DE18D401A1FFA80F8E08DC0B376 +:1044C000B8F1000F35D000BF00BF21680C3151E8B2 +:1044D000001F21F4907021680C3141E80002002A8D +:1044E000F3D100BF00BF00BF2168143151E8001FA5 +:1044F00021F001002168143141E80002002AF3D1C3 +:1045000000BF202084F83E000020206300BF00BFD1 +:1045100021680C3151E8001F21F0100021680C3196 +:1045200041E80002002AF3D100BF41462046FFF7D0 +:10453000D5FDC1E605F0800030B106F0800018B16D +:10454000204601F067F8B7E605F0400030B106F00C +:10455000400018B1204600F040FEADE600BFABE6DB +:10456000D54F000810B504460CB9012010BDA06954 +:1045700000B100E000BF94F83D0028B9002084F8A5 +:104580003C00204600F028F8242084F83D002068F4 +:10459000C06820F400502168C860204600F0BCFECE +:1045A0002068006920F49040216808612068406913 +:1045B00020F02A00216848612068C06840F400505B +:1045C0002168C86000202064202084F83D0084F821 +:1045D0003E000020CAE7000010B586B00446142152 +:1045E00001A8FCF74FF9F849206888427AD100BF4A +:1045F00000200090F548006840F40020F34908606E +:104600000846006800F40020009000BF00BF00BF13 +:1046100000200090ED481038006840F00100EB49A0 +:10462000103908600846006800F00100009000BFE3 +:1046300000BF03200190022002900020039003207D +:1046400004900820059001A9E148FEF799FEE14891 +:10465000E1490860400548600021DF488160C16091 +:104660004FF480610161002141618161C1614FF4BA +:104670004031016200214162FEF7E8FC08B1FEF71B +:10468000FFF900BFD448A063846300BFD148303035 +:10469000D24908604FF0006048604021CF488160F7 +:1046A0000021C1604FF4806101610021416181619D +:1046B000C1614FF40031016200214162FEF7C6FC86 +:1046C00008B1FEF7DDF900BFC4486063846300BF32 +:1046D000002201213420FEF7E1FF3420FEF7CEFF57 +:1046E0006FE1FFE7BE49206888427DD100BF00200E +:1046F0000090B648001D006840F01000B349091D45 +:1047000008600846006800F01000009000BF00BF7D +:1047100000BF00200090AD481038006840F0020053 +:10472000AA49103908600846006800F002000090AD +:1047300000BF00BFC0200190022002900020039023 +:10474000032004900720059001A9A648FEF718FE53 +:10475000A548A64908604FF0006048600021A348C2 +:104760008160C1604FF4806101610021416181611C +:10477000C1614FF48031016200214162FEF766FCA5 +:1047800008B1FEF77DF900BF9848A063846300BFBD +:1047900095487830964908604FF0006048604021A5 +:1047A000934881600021C1604FF480610161002164 +:1047B00041618161C1614FF4803101620021416238 +:1047C000FEF744FC08B1FEF75BF900BF8848606360 +:1047D000846300BF002201212520FEF75FFF252012 +:1047E000FEF74CFFEDE0FFE78249206888427CD16C +:1047F00000BF002000907548006840F40030734905 +:1048000008600846006800F40030009000BF00BF58 +:1048100000BF002000906D481038006840F0010093 +:104820006A49103908600846006800F001000090ED +:1048300000BF00BF0C2001900220029000200390D6 +:10484000032004900720059001A96148FEF798FD18 +:1048500060484830684908604FF0006048600021B7 +:1048600065488160C1604FF4806101610021416150 +:104870008161C1614FF44031016200214162FEF764 +:10488000E5FB08B1FEF7FCF800BF5B48A06384635A +:1048900000BF50486030594908604FF000604860E0 +:1048A0004021564881600021C1604FF48061016160 +:1048B000002141618161C1614FF400310162002139 +:1048C0004162FEF7C3FB08B1FEF7DAF800BF4B48C0 +:1048D0006063846300BF002201212620FEF7DEFE14 +:1048E0002620FEF7CBFE6CE0FFE7454920688842B2 +:1048F00031D100BF002000903448006840F480208F +:10490000324908600846006800F48020009000BF2B +:1049100000BF00BF002000902C481038006840F015 +:1049200002002A49103908600846006800F00200B9 +:10493000009000BF00BF4FF4406001900220029041 +:1049400000200390032004900720059001A925482A +:10495000FEF716FD35E02B492068884231D100BFB3 +:10496000002000901948001D006840F02000174901 +:10497000091D08600846006800F02000009000BF94 +:1049800000BF00BF0020009010481038006840F0C1 +:1049900004000E49103908600846006800F0040061 +:1049A000009000BF00BFC0200190022002900020B4 +:1049B0000390032004900820059001A91248FEF7F7 +:1049C000DFFC06B010BD0000004C00404038024043 +:1049D00000000240406002409C040020FC040020D3 +:1049E0000010014000040240406402405C050020C9 +:1049F000BC050020004400401C0600207C0600206E +:104A00000048004000140140000802407047704711 +:104A1000F7B50446154694F83D00202846D1019884 +:104A200000B10DB90120FEBD00BF94F83C00012883 +:104A300001D10220F7E7012084F83C0000BF019873 +:104A40002062A584E58400202064212084F83D00B4 +:104A50001748616BC8631748616B08641648616B3F +:104A6000C8640020616B086501AE23681A1D3168B7 +:104A70002B46606BFEF760FB6FF04000216808601A +:104A800000BF002084F83C0000BF00BF00BF2168C9 +:104A9000143151E8001F41F080002168143141E8D1 +:104AA0000002002AF3D100BF0020BCE70220BAE7D1 +:104AB0000951000861510008E94F000810B504468B +:104AC0000B492068884203D10A4801F0F1F80EE052 +:104AD00009492068884203D1084801F0E9F806E056 +:104AE00007492068884202D1044801F0E1F810BD6E +:104AF000001001406801002000440040B80100207F +:104B0000004C0040704700BFFEE7000008B500BF42 +:104B1000002000902648006840F4001024490860F6 +:104B20000846006800F40010009000BF00BF00BFFE +:104B3000002000900846006840F4800008600846A5 +:104B4000006800F48000009000BF00BF0022114602 +:104B50000D20FEF7A3FD0D20FEF790FD002211466B +:104B60000F20FEF79BFD0F20FEF788FD0022114667 +:104B70001020FEF793FD1020FEF780FD0022114665 +:104B80001120FEF78BFD1120FEF778FD0022114663 +:104B90003A20FEF783FD3A20FEF770FD0022114611 +:104BA0004620FEF77BFD4620FEF768FD08BD0000AD +:104BB0003038024000B587B0142102A8FBF762FE2E +:104BC00000BF002001904F48006840F080004D4930 +:104BD00008600846006800F08000019000BF00BF38 +:104BE00000BF002001900846006840F00100086006 +:104BF0000846006800F00100019000BF00BF00BF40 +:104C0000002001900846006840F004000860084653 +:104C1000006800F00400019000BF00BF00BF00204A +:104C200001900846006840F01000086008460068DF +:104C300000F01000019000BF00BF00BF00200190F5 +:104C40000846006840F0020008600846006800F06E +:104C50000200019000BF00BF00BF00200190084685 +:104C6000006840F0080008600846006800F008008E +:104C7000019000BF00BF002230212348FEF77AFCDC +:104C800000224FF400612148FEF774FC00224FF42B +:104C900088511F48FEF76EFC002238211D48FEF7A0 +:104CA00069FC3020029001200390002004900590C0 +:104CB00002A91548FEF764FB4FF400600290012042 +:104CC000039000200490059002A91048FEF758FBBD +:104CD0004FF488500290012003900020049005902A +:104CE00002A90B48FEF74CFB3820029001200390EC +:104CF00000200490059002A90648FEF741FB07B08A +:104D000000BD0000303802400008024000100240A0 +:104D100000040240000C024010B50E480E49086025 +:104D20004FF48270486000210B488160C1600161CE +:104D300041614FF4007181610021C16101624162F2 +:104D400081620A21C162FFF789F808B1FDF798FE78 +:104D500010BD0000003001409802002010B50E4840 +:104D60000E4908604FF48270486000210B48816052 +:104D7000C160016141614FF4007181610021C16135 +:104D80000162416281620A21C162FFF767F808B1DE +:104D9000FDF776FE10BD000000380040F002002054 +:104DA00010B50B480B4908604FF4E1304860002112 +:104DB00008488160C16001610C214161002181616D +:104DC000C161FFF7CFFB08B1FDF75AFE10BD00002F +:104DD000004C00404803002010B50B480B49086008 +:104DE0004FF4E1304860002108488160C1600161F2 +:104DF0000C21416100218161C161FFF7B3FB08B162 +:104E0000FDF73EFE10BD0000001001408C030020A5 +:104E100010B50B480B4908604FF4E13048600021A1 +:104E200008488160C16001610C21416100218161FC +:104E3000C161FFF797FB08B1FDF722FE10BD00002E +:104E400000440040D003002010B50B480B49086017 +:104E50004FF4E1304860002108488160C160016181 +:104E60000C21416100218161C161FFF77BFB08B129 +:104E7000FDF706FE10BD00000048004014040020AD +:104E800010B50B480B4908604FF4E1304860002131 +:104E900008488160C16001610C214161002181618C +:104EA000C161FFF75FFB08B1FDF7EAFD10BD00002F +:104EB000001401405804002000BFFEE700BFFEE7D9 +:104EC0007047704710B50948416901208847084874 +:104ED0000121426C904707480121426C90470648E7 +:104EE0000121426C9047FEF751FB10BD8C00002061 +:104EF00068010020B80100200802002000B593B02E +:104F0000302107A8FBF7BEFC142102A8FBF7BAFC6E +:104F100000BF002001902448006840F080502249E2 +:104F200008600846006800F08050019000BF00BF94 +:104F300000BF002001901D48006840F480401B49DC +:104F400008600846006800F48040019000BF00BF80 +:104F5000012007900004089002200D9041050E9159 +:104F600004210F91A8211091022111910421129185 +:104F700007A8FEF725FD08B1FDF782FD0F2002907E +:104F800002200390002004904FF4A05005904FF4AD +:104F900080500690052102A8FEF7D2FB08B1FDF76C +:104FA0006FFD13B000BD00004038024000700040AB +:104FB0000348006840F47000014908607047000031 +:104FC00088ED00E010B50248FFF75CF910BD000065 +:104FD0004803002070B50546AC6B0020E085E084F6 +:104FE0002046FFF7E9F870BD70B506460025B46BA2 +:104FF00020684069C0F3C01594F83D00212805D110 +:1050000025B10020E084204600F0F7F820684069D0 +:10501000C0F3801594F83E00222805D125B1002068 +:10502000E085204600F0A3F8206C40F010002064DA +:105030002046FFF7C1F870BD70B50546AC6B286817 +:10504000006800F48070002842D1E08500BF00BFF6 +:1050500021680C3151E8001F21F4807021680C3167 +:1050600041E80002002AF3D100BF00BF00BF216861 +:10507000143151E8001F21F001002168143141E88A +:105080000002002AF3D100BF00BF00BF2168143125 +:1050900051E8001F21F040002168143141E800026E +:1050A000002AF3D100BF202084F83E00206B0128A5 +:1050B0000ED100BF00BF21680C3151E8001F21F064 +:1050C000100021680C3141E80002002AF3D100BF32 +:1050D000206B012804D1A18D2046FEF7FFFF02E0DE +:1050E0002046FFF793FC70BD70B50546AC6B206B96 +:1050F000012805D1A08D41082046FEF7EFFF02E010 +:105100002046FFF784FC70BD70B50546AC6B28687F +:10511000006800F48070F8B90020E08400BF00BF90 +:105120002168143151E8001F21F0800021681431FA +:1051300041E80002002AF3D100BF00BF00BF216890 +:105140000C3151E8001F41F0400021680C3141E86A +:105150000002002AF3D102E02046FFF7AFFC70BD49 +:1051600070B50446A56B2846FFF7CCFC70BD00BFA8 +:1051700000BF02680C3252E8002F22F490710268DE +:105180000C3242E80013002BF3D100BF00BF00BF78 +:105190000268143252E8002F22F001010268143232 +:1051A00042E80013002BF3D100BF016B01290ED19F +:1051B00000BF00BF02680C3252E8002F22F010013D +:1051C00002680C3242E80013002BF3D100BF20210B +:1051D00080F83E1000210163704710B50446206836 +:1051E000C06820F040002168C860202084F83D009D +:1051F0002046FFF763FC002010BD00BF00BF02681F +:105200000C3252E8002F22F0C00102680C3242E852 +:105210000013002BF3D100BF202180F83D10704710 +:10522000F8B5044694F83E00222873D1A068B0F582 +:10523000805F0CD1206950B90025A66A20684068BB +:10524000C0F308003080A06A801CA06215E0A56A47 +:105250000026A068B0F5805F03D0A06828B9206957 +:1052600018B920684068287004E02068406800F0A1 +:105270007F002870A06A401CA062E08D401E80B2B2 +:10528000E085002844D12068C06820F02000216813 +:10529000C8602068C06820F480702168C8602068F9 +:1052A000406920F0010021684861202084F83E0018 +:1052B000206B012826D10020206300BF00BF216899 +:1052C0000C3151E8001F21F0100021680C3141E839 +:1052D0000002002AF3D100BF2068006800F010002F +:1052E00010280AD100BF00200090206800680090BC +:1052F00020684068009000BF00BFA18D2046FEF7E7 +:10530000EDFE02E02046FFF781FB0020F8BD01E042 +:105310000020FBE70220F9E72DE9F84F044620685A +:10532000006920F44050E168084321680861216960 +:10533000A068084361690843E16908430090206858 +:10534000C06849F20C618843009908432168C8602D +:105350002068406920F44070A169084321684861D1 +:1053600076492068884203D075492068884203D175 +:10537000FEF7BEFA814602E0FEF7AAFA8146E0692E +:10538000B0F5004F6CD102206168A0FB01500346CC +:105390001920A9FB007001462A463846FAF7E2FFB9 +:1053A0006421B0FBF1F04FEA001A02206168A0FB13 +:1053B00001510B461920A9FB00712A463846FAF71D +:1053C000D1FF834602206168A0FB015003461920EB +:1053D000A9FB00712A463846FAF7C4FF6421B0FBE6 +:1053E000F1F000EBC00101EB0010ABEB80003221CB +:1053F00001EBC0006421B0FBF1F000F0F8000AEB13 +:10540000400A02206168A0FB015003461920A9FB55 +:10541000007001462A463846FAF7A4FF8346022068 +:105420006168A0FB015003461920A9FB00712A46C0 +:105430003846FAF797FF6421B0FBF1F000EBC001AA +:1054400001EB0010ABEB8000322101EBC0006421C6 +:10545000B0FBF1F000F007005044216888606AE07A +:1054600004206168A0FB015003461920A9FB0070CD +:1054700001462A463846FAF775FF824604206168DD +:10548000A0FB015003461920A9FB007001462A46E3 +:105490003846FAF767FF6421B0FBF1F000EBC0017A +:1054A00001EB0010AAEB8000322101EB0010642117 +:1054B000B0FBF1F000F0F00A04206168A0FB01707D +:1054C00003461920A9FB00513A462846FAF74AFF3D +:1054D0006421B0FBF1F00AEB001A04206168A0FB24 +:1054E00001510B461920A9FB00712A463846FAF7EC +:1054F00039FF834604206168A0FB01500346192050 +:10550000A9FB007001462A463846FAF72BFF6421B2 +:10551000B0FBF1F000EBC00101EB0010ABEB800041 +:10552000322101EB00106421B0FBF1F000F00F001C +:10553000504421688860BDE8F88F000000100140E9 +:105540000014014077B581B0044615460298A06268 +:10555000A58500202064222084F83E002A48A16B03 +:10556000C8632A48A16B08642948A16BC86400205D +:10557000A16B086502AE32682368191D2B46A06B2B +:10558000FDF7DAFD00BF0020009020680068009061 +:1055900020684068009000BF00BF00BF002084F872 +:1055A0003C0000BF206970B100BF00BF21680C3112 +:1055B00051E8001F41F4807021680C3141E800027D +:1055C000002AF3D100BF00BF00BF2168143151E8A9 +:1055D000001F41F001002168143141E80002002A57 +:1055E000F3D100BF00BF00BF2168143151E8001F94 +:1055F00041F040002168143141E80002002AF3D153 +:1056000000BF002004B070BD39500008E950000808 +:10561000E94F0008014691F83D00212828D188680B +:10562000B0F5805F0BD1086948B90A6A1088C0F3E9 +:1056300008000B685860086A801C086205E00B6A65 +:10564000581C086218780B685860C88C401E80B2DD +:10565000C88458B90868C06820F080000B68D8601A +:105660000868C06840F040000B68D86000207047B0 +:105670000220FCE710B50248FEF704FE10BD000052 +:105680008C03002010B50248FEF7FCFD10BD0000A1 +:10569000D003002000BFFEE703B40198410000984A +:1056A00050EAC12018BF04204A0D18BF40F0010085 +:1056B00040F2FF72B2EB515F08BF40F002000128D8 +:1056C00008BF052002B0704702480068C0F30220FE +:1056D000704700000CED00E010B5002804DB0A075D +:1056E000130E054A135406E00A07140E034A00F08D +:1056F0000F031B1FD45410BD00E400E018ED00E0C0 +:1057000030380A2801D2012070470020704700007D +:1057100010B50D49086A80470C48416B88470C4812 +:10572000416B88470B48416B88470B4908688047A5 +:105730000A480B49C268082090470A4948688047D0 +:1057400009490868804710BDEC000020680100206E +:10575000B801002008020020E00000208C0000209A +:105760002C00002080020020A800002010B5034972 +:105770000869804701F0ECFA10BD00008C000020A1 +:10578000034A12689080024A1268916070470000D4 +:10579000A400002010B51A480068806800B910BD48 +:1057A000002425E016480068806804EB440110F8E6 +:1057B0002100D0B1002012490968896804EB440235 +:1057C00001F822000E480068806804EB440100EBF9 +:1057D0008100806800B909E009490968896804EB1B +:1057E000440201EB82018868804700BF601C84B2DC +:1057F000034800688088A042D4DC00BFCFE70000E7 +:10580000A400002010B501462F4A12681288521CCD +:105810002D4B1B681A802C4A12681288B2F57A7FC9 +:1058200006DB294A12685288521C274B1B685A8093 +:10583000254A1268926802B910BD00203CE0224A55 +:105840001268926800EB400302EB830252888AB32D +:105850001D4A1268926800EB400302EB83025288F3 +:10586000521E194B1B689B6800EB400403EB84033A +:105870005A80154A1268926800EB400302EB8302DB +:105880005288BAB90122104B1B689B6800EB400498 +:1058900003F824200C4A1268926800EB400302EBE4 +:1058A00083029288084B1B689B6800EB400403EB63 +:1058B00084035A80421C90B2034A12689288824242 +:1058C000BDDC00BFB8E70000A4000020014800785C +:1058D00070470000DC00002010B50020024908706D +:1058E00000F004F810BD0000DC00002030B50446D4 +:1058F0000021102900DB30BD094D2970094D6A5C7B +:10590000094D6B5C002001E0451CE8B20428FBDB7C +:10591000002001E0451CE8B21028FBDB00BFEAE7ED +:10592000DC000020BC000020CC00002010B586B0B8 +:105930000446002001900B200390012004900220D7 +:10594000059000200090694601A8FDF753FC06B0C1 +:1059500010BD000010B5064948688047102205496F +:10596000054800F055F802494868804710BD00001E +:10597000B0000020FC00002000000E0870B51022CE +:105980000E49A1F11000FAF7CBFEA8B10C49486806 +:10599000804772B6102209490A4800F05DF80446B3 +:1059A0002CB906481038054610352ECD2EC062B6EB +:1059B00003494868804700BF70BD0000FC0000201C +:1059C000B000002000000E0810B5FFF7D7FF10BD93 +:1059D00010B5FFF7BFFF0C480068808BB0F57A7FE9 +:1059E00003DD282108480068818307480068C08BD0 +:1059F000102803DD102104480068C18303480446D1 +:105A000010341ECC1EC010BD1C010020EC00002074 +:105A10002DE9F84103460C4621461D46960802F042 +:105A20000307002005E055F820C0C1F800C0091D9B +:105A3000401CB042F7D36FB155F826000090EC46F9 +:105A4000002004E01CF8008001F80080401CB842EF +:105A5000F8D300BFBDE8F8812DE9FC5F0746884612 +:105A6000154600244646A808019005F00309BA46E9 +:105A7000FDF76CFC3846FFF759FF044624B1FDF7EB +:105A80000FFC2046BDE8FC9F4FF0000B0FE0D6F85E +:105A900000C06246002351460220FDF70BFC04467D +:105AA00004B107E00AF1040A361D0BF1010B01985D +:105AB0008345ECD300BFB4B9B9F1000F13D04FF058 +:105AC000FF300090EB46002003E0315C0BF8001043 +:105AD000401C4845F9D3002351460220009AFDF7A7 +:105AE000E9FB044600BFFDF7DBFB2046CAE7704731 +:105AF000704710B5002404E0322000F0DCF8601C90 +:105B0000C4B2142CF8DB10BD70472DE9F0410446F7 +:105B1000884617460020A074A08BB84200DAA78BF5 +:105B20003A4641466069FAF746FE3A46616960685E +:105B3000FEF76EFFFDF724FD054608E0FDF720FDAA +:105B40000646701BC82802D90120A07402E0A07C80 +:105B50000028F3D000BFBDE8F08110B504466068AE +:105B60000068C06840F0100061680968C860E28B96 +:105B7000A1696068FEF770FA10BD70B504466068F0 +:105B8000FEF7D4FAE08BE16809684968401A86B2EA +:105B900006B970BD002506E0A2695119206801F020 +:105BA0009CF8681C85B2B542F6DB204600F042F84E +:105BB000E28BA1696068FEF74FFA00BFE9E70000D9 +:105BC00070B50446A08C618C884227DA20688089F1 +:105BD0002084204600F034F8208CE18B88421DDCC4 +:105BE000208CD8B1208C40F6B831884203D9206887 +:105BF00001F027F812E0002506E0094A5119206853 +:105C000001F027F8681C85B2208CA842F5DCA06C56 +:105C100020B1218C22460248A36C984770BD000039 +:105C2000407B002090F82620012A02D1428C0A44B1 +:105C300042847047012180F826100021418470477A +:105C4000002180F826104184704700002DE9F041C2 +:105C500004460F4616461448844204D1012211021C +:105C60001248FDF787FCA08B96FBF0F01FFA80F836 +:105C7000002507E0A28B02FB05712046FFF745FFD8 +:105C8000681C85B24545F5DBA08B00FB156086B22C +:105C90000EB9BDE8F081A08B00FB057132462046AD +:105CA000FFF733FF00BFF4E70802002000040240C2 +:105CB00001218174704710B504462046FDF786FA2D +:105CC00010BD8A68002A01DCFBF730BE521E8A60D4 +:105CD0004A68C0B2531C4B60107070472DE9F84FF2 +:105CE00004460D469046052D01DABDE8F88F207870 +:105CF000AA2802D16078552800D0F6E7681E215CFA +:105D0000A81E205C41EA002BA81E81B2204600F0AC +:105D10007AFF0746381240EA072087B25F4500D075 +:105D2000E3E7A678032E01D1102E00D0DDE794F82A +:105D3000039094F804A0601D00901B48C0F80080F8 +:105D4000A9F1100008282BD2DFE800F0040A101691 +:105D5000171D232951463046009A00F027FD1FE009 +:105D600051463046009A00F021F819E0514630467D +:105D7000009A00F0E5FA13E012E051463046009A2E +:105D800000F0DAFC0CE051463046009A00F08EFE3E +:105D900006E051463046009A00F09CFC00E000BF4F +:105DA00000BF00BFA1E700007C0200202DE9F74FF3 +:105DB00090B000254FF40061FE48FAF741FDAB4674 +:105DC00000200F902AE00F9800EB8001FA4810F8AD +:105DD0003100012800D01DE0002617E00F9901EBEB +:105DE0008102F54901EBC201183131F826004FF26A +:105DF0000301014041B105AA0F9902F80B100BF104 +:105E0000010101F0FF0B03E0701C86B2042EE5DBFC +:105E100000BF00BF0F98401C80B20F900F98202841 +:105E2000D1DB58464FEAEB710BEB9171C1F387015F +:105E30000E914FEAEB710BEB91718910ABEB810185 +:105E4000C9B20D910D99002903DD0E98401CC0B216 +:105E50000E901098032877D11198012802D00328BA +:105E600073D108E2D548006881780E98401E8142BF +:105E70006CD10D98002869DD4FF00008E7E0CF48AD +:105E80000068807808EB80001FFA80FA05A810F8F7 +:105E90000A90444600270AEB8A01C74800EBC1007C +:105EA0000D30C44B5A19791C631C009098B2C4A3DE +:105EB00000F02EFE054601270AEB8A01BE4800EBE2 +:105EC000C1008078BB4B5A19791C631C009098B2B2 +:105ED000BBA300F01DFE054602270AEB8A01B64867 +:105EE00000EBC100C01CB34B5A19791C631C009015 +:105EF00098B2B3A300F00CFE0546032700200490DF +:105F000000260FE009EB8901AB4800EBC100183017 +:105F100030F8260000F4704010B10020049003E037 +:105F2000701C86B2042EEDDB00BF049800F47040B4 +:105F300068B1A04B5A197B1C99B2631C98B2A1A3FB +:105F400000F0E6FD05460CE0CCE1BEE184E0994BB3 +:105F50005A197B1C99B2631C98B29CA300F0D8FD1F +:105F6000054600266DE009EB8901934800EBC1006E +:105F7000183030F82600039009EB89018E4800EBB9 +:105F8000C100183000EB86004088029006EB460006 +:105F9000001D87B2039800F0010050B1854B5A19DB +:105FA0007B1C99B2631C98B28AA300F0B1FD054630 +:105FB00009E0804B5A197B1C99B2631C98B283A3E9 +:105FC00000F0A6FD054606EB4600401D87B203988B +:105FD00000F0020050B1774B5A197B1C99B2631C38 +:105FE00098B27EA300F094FD054609E0714B5A1962 +:105FF0007B1C99B2631C98B274A300F089FD05461E +:1060000006EB4600801D87B2039800F0010060B1E6 +:106010000298684B5A197B1C99B2631C009098B285 +:1060200070A300F075FD054609E0624B5A197B1C10 +:1060300099B2631C98B26CA300F06AFD0546701C0F +:1060400086B2042E8FDB08F101001FFA80F80D984C +:106050008045FFF614AF0DE14FF0000806E1574808 +:106060000068807808EB80001FFA80FA05A810F815 +:106070000A904446002709EB89014F4800EBC10014 +:106080000D304C4B5A19791C631C009098B24CA3EC +:1060900000F03EFD054601270AEB8A01464800EB69 +:1060A000C1008078434B5A19791C631C009098B248 +:1060B00043A300F02DFD054602270AEB8A013E4866 +:1060C00000EBC100C01C3B4B5A19791C631C0090AB +:1060D00098B23BA300F01CFD054603270020049066 +:1060E00000260FE009EB8901334800EBC1001830AE +:1060F00030F8260000F4704010B10020049003E056 +:10610000701C86B2042EEDDB00BF049800F47040D2 +:1061100050B1284B5A197B1C99B2631C98B229A321 +:1061200000F0F6FC054609E0224B5A197B1C99B297 +:10613000631C98B225A300F0EBFC054600268EE018 +:1061400009EB89011C4800EBC100183030F826002B +:10615000039009EB8901184800EBC100183000EBEF +:1061600086004088029006EB4600001D87B2039827 +:1061700000F0010050B10F4B5A197B1C99B2631CFF +:1061800098B214A300F0C4FC054609E0094B5A1963 +:106190007B1C99B2631C98B20CA300F0B9FC0546B5 +:1061A00006EB4600401D87B2039800F0020040B3A2 +:1061B000004B1BE0F8860020BE0C00208802002067 +:1061C00025730000B3ACCAB100000000D5FDB3A335 +:1061D00000000000C2A9D2BA00000000B6CFB4F897 +:1061E0000000000025640000300000005A197B1CEC +:1061F00099B2631C98B2AFF21C0300F089FC05460B +:106200000AE0444B5A197B1C99B2631C98B2AFF256 +:10621000440300F07DFC054606EB4600801D87B276 +:10622000039800F0010068B102983A4B5A197B1CA0 +:1062300099B2631C009098B2AFF2580300F068FC6A +:1062400005460AE0334B5A197B1C99B2631C98B27D +:10625000AFF26C0300F05CFC0546701C86B2042EA5 +:10626000FFF66EAF08F101001FFA80F8B8F1040FD5 +:10627000FFF6F5AE2CE012980078012813D10E98A5 +:10628000401E254909688978884204DC002022499B +:106290000968887018E0204800688078401C1E4912 +:1062A0000968887010E01C480068807828B90E984A +:1062B000401E19490968887006E017480068807810 +:1062C000401E15490968887000BF13B0BDE8F08F03 +:1062D00000BF1048FAF750FA85B229460D4800F081 +:1062E0001DF814E01098102811D11198012802D03F +:1062F000022802D100E001E000E0E6E700BF054827 +:10630000FAF73AFA85B22946024800F007F800BFCA +:10631000DBE70000F88600208802002070B5044604 +:106320000D460648006838B1044800682A462146F0 +:10633000836B02480068984770BD00007C02002013 +:106340002DE9F74F8AB000244FF40061D248FAF7E4 +:1063500077FA9BF80300C11700EB9171891008913F +:106360009BF80300C11700EB91718910A0EB81012C +:10637000C9B207910798002803DD0898401CC0B2F5 +:1063800008900A9803287DD10B98012802D0032891 +:1063900079D130E10C98007805900598012802DB4E +:1063A0000598042801DD012005900598401EBB4991 +:1063B0000968097800EB810000F0FF08B848007810 +:1063C000404501DC4FF00008B44800684078404583 +:1063D00003D00020B1490968C870B048006880F84F +:1063E0000180C8EBC80000EB0811AD48801C00EB31 +:1063F000410BAA480068C0788006000E0490A748A8 +:106400000068C1780898401E814205D1079800288D +:1064100002DD0798069001E0042006904FF0000985 +:10642000E3E00498484480B209909BF8031009986F +:10643000814200DCDDE00BF10E00099910F801A0AB +:106440004D4600270AEB8A01964800EBC100807890 +:10645000914B1A19791C6B1C009098B292A300F012 +:1064600057FB204484B201270AEB8A018D4800EBD8 +:10647000C100C01C884B1A19791C6B1C009098B283 +:106480008AA301E0FDE0F3E000F042FB204484B287 +:1064900002270020039000260FE00AEB8A018148C2 +:1064A00000EBC100183030F8260000F4704010B145 +:1064B0000120039003E0701C86B2042EEDDB00BFC8 +:1064C000039858B1744B1A197B1C99B26B1C98B283 +:1064D00077A300F01DFB204484B20AE06E4B1A192A +:1064E0007B1C99B26B1C98B273A300F011FB204483 +:1064F00084B2002673E00AEB8A016A4800EBC1000F +:10650000183030F8260002900AEB8A01654800EB4B +:10651000C100183000EB86004088019006EB460071 +:10652000C01C87B2029800F0010058B15A4B1A19EA +:106530007B1C99B26B1C98B261A300F0E9FA20446D +:1065400084B20AE0544B1A197B1C99B26B1C98B2A6 +:1065500059A300F0DDFA204484B206EB4600001D8A +:1065600087B2029800F0020058B14B4B1A197B1CFD +:1065700099B26B1C98B254A300F0CAFA204484B2BA +:106580000AE0454B1A197B1C99B26B1C98B24AA3BE +:1065900000F0BEFA204484B206EB4600401D87B2EC +:1065A000029800F0010068B101983B4B1A197B1C5E +:1065B00099B26B1C009098B23BA300F0A9FA20445A +:1065C00084B20AE0344B1A197B1C99B26B1C98B246 +:1065D0003FA300F09DFA204484B2701C86B2042EC2 +:1065E00089DB09F101001FFA80F906988145FFF661 +:1065F00018AF00BF3DE02948006890F801802848A6 +:106600000078404502DC0DB0BDE8F08FC8EBC80053 +:1066100000EB08112248801C00EB410B0C9800781D +:10662000012813D10898401E1C490968C97888427E +:1066300004DC002019490968C87018E01748006890 +:10664000C078401C15490968C87010E013480068FC +:10665000C07828B90898401E10490968C87006E03B +:106660000E480068C078401E0C490968C870CAE727 +:10667000C9E700BF002C0DDD21460748FFF74EFE9D +:1066800008E00A98102805D10B98012800D100E0F5 +:10669000B9E700BF00BFB6E7F886002088020020F7 +:1066A000FC060020BE0C00202564000025730000BD +:1066B000B3ACCAB100000000D5FDB3A300000000D8 +:1066C000C2A9D2BA00000000B6CFB4F800000000A2 +:1066D000300000002DE9F04104460D461746002623 +:1066E000032C12D1012D02D0032D02D100E002E0D3 +:1066F00001E0BDE8F08100BF0E48FAF73DF886B230 +:1067000031460C48FFF70AFE12E0102C10D1012D83 +:1067100002D0022D02D100E001E000E0E9E700BF75 +:106720000448FAF729F886B231460248FFF7F6FD29 +:1067300000BFDEE7F88600202DE9F04104460D4653 +:1067400017460026032C12D1012D02D0032D02D1B1 +:1067500000E002E001E0BDE8F08100BF0E48FAF77A +:106760000BF886B231460C48FFF7D8FD12E0102C2A +:1067700010D1012D02D0022D02D100E001E000E095 +:10678000E9E700BF0448F9F7F7FF86B2314602484F +:10679000FFF7C4FD00BFDEE7F8860020014802498C +:1067A00088647047DD5C0008680100202DE9F74F20 +:1067B00082B082468B4600274FF40061B648FAF754 +:1067C0003FF8B6490878C11700EB91714FEAA1096B +:1067D000B2490878C11700EB91718910A0EB8101D3 +:1067E000C9B201910198002803DD09F1010000F010 +:1067F000FF09BAF1030F7DD1BBF1010F03D0BBF14B +:10680000030F78D106E1A64800680178A9F10100DC +:10681000814271D1019800286EDD00247AE0A04801 +:106820000068007804EB800086B225464FF000082F +:10683000C6EBC60000EB06119848801C00EB410037 +:10684000001D954BDA1908F101012C466B1C0090D4 +:1068500098B294A300F05CF907464FF00108C6EB2C +:10686000C60000EB06118D48801C00EB4100C0788B +:10687000894BDA1908F101016B1C009098B28AA3C8 +:1068800000F046F907464FF00208C6EBC60000EBE1 +:1068900006118248801C10F811007F4BDA1908F1AC +:1068A00001016B1C009098B27FA300F031F90746FC +:1068B0004FF00308C6EBC60000EB06117748801CBA +:1068C00000EB41004078744BDA1908F101016B1CB0 +:1068D000009098B274A300F01BF907464FF004082B +:1068E000C6EBC60000EB06116C48801C00EB4100B3 +:1068F000807802E0C5E0B7E010E0674BDA1908F1F4 +:1069000001016B1C009098B267A300F001F90746E3 +:10691000601C84B20198844281DB7AE0002476E036 +:106920005F480068007804EB800086B225464FF08F +:106930000008C6EBC60000EB06115848801C00EBAF +:106940004100001D544BDA1908F101012C466B1C63 +:10695000009098B253A300F0DBF807464FF001080F +:10696000C6EBC60000EB06114C48801C00EB410052 +:10697000C078494BDA1908F101016B1C009098B2FC +:1069800049A300F0C5F807464FF00208C6EBC60061 +:1069900000EB06114148801C10F811003E4BDA193B +:1069A00008F101016B1C009098B23FA300F0B0F811 +:1069B00007464FF00308C6EBC60000EB0611374848 +:1069C000801C00EB41004078334BDA1908F10101DB +:1069D0006B1C009098B234A300F09AF807464FF071 +:1069E0000408C6EBC60000EB06112C48801C00EB27 +:1069F00041008078284BDA1908F101016B1C0090E6 +:106A000098B229A300F084F80746601C84B2042CD5 +:106A100086DB2CE004984079012813D1A9F101000C +:106A20001F4909680978884204DC00201C4909686C +:106A3000087018E01A4800680078401C1849096876 +:106A4000087010E016480068007828B9A9F1010024 +:106A500013490968087006E0114800680078401E74 +:106A60000F490968087000BF05B0BDE8F08F00BF8E +:106A70000948F9F781FE87B239460748FFF74EFC0F +:106A800007E0BAF1100F04D1BBF1010F00D100BF34 +:106A9000EAE700BFE8E70000F8860020FC060020D7 +:106AA0008802002025730000256400002DE9F041D4 +:106AB00004460D4617460026032C12D1012D02D0A4 +:106AC000022D02D100E002E001E0BDE8F08100BF4C +:106AD0000E48F9F751FE86B231460C48FFF71EFC0E +:106AE00012E0102C10D1012D02D0022D02D100E0B5 +:106AF00001E000E0E9E700BF0448F9F73DFE86B297 +:106B000031460248FFF70AFC00BFDEE7F8860020A6 +:106B10000FB42DE9FC470746884615464FF48071AF +:106B20001B48F9F78DFE0EA801904FF480711848AC +:106B3000019B0D9AF9F78EFC0FFA80F9B9F1FF3F2E +:106B400002D0B9F5807F09DD0020019011A0F9F78E +:106B50009BFC0020BDE8FC075DF814FB0C48434695 +:106B60003A4610A100902846F9F79AFC2846F9F712 +:106B700003FE86B2002404E0FF2031196854601C33 +:106B800084B2032CF8DB00200190F01C80B2E1E716 +:106B9000F88E00204C656E677468205245454F5250 +:106BA000000000007425645F25642E7478743D2213 +:106BB00025732200FCF7F6FCFEF7A0F9FDF7FAFFBB +:106BC000FDF7A4FFFEF7ECF8FEF706F9FEF720F953 +:106BD000FEF7A2F8FEF7C2F8FEF736F9FEF750F915 +:106BE000FEF796FD01E0FEF7C1FDFCE770B5034638 +:106BF0000C4603E014F8015B03F8015B151EA2F1DB +:106C00000102F7D170BD30B502464FF6FF7012E0B9 +:106C100012F8014B6040002308E000F0010424B1A9 +:106C20004AF2010484EA600000E040101C465D1C4A +:106C3000ABB2082CF1DB0C1EA1F10105A9B2E7D122 +:106C400030BD00B97047002141610161C16000BFE2 +:106C5000F8E770B504460D460CB9002070BDE06839 +:106C600008B90020FAE745B1D4E90006236903FB1F +:106C7000060132462846FFF7B9FF2069401CA1688B +:106C800090FBF1F201FB12002061E068401EE06021 +:106C90000120E3E770B504460D460CB9002070BD35 +:106CA000D4E90210884201D10020F8E745B1D4E9C7 +:106CB0000016636903FB061032462946FFF796FF6C +:106CC0006069401CA16890FBF1F201FB1200606159 +:106CD000E068401CE0600120E1E770B504460D4625 +:106CE0000CB9002070BDD4E90210884204DA2946AC +:106CF0002046FFF7CFFFF5E745B1D4E900166369F9 +:106D000003FB061032462946FFF770FF6069401CFE +:106D1000A16890FBF1F201FB120060612069401C48 +:106D2000A16890FBF1F201FB120020610120D9E77C +:106D300070477047704770477047000010B50249B0 +:106D40004868804710BD0000A80000207047000080 +:106D500010B50548C16C88470448C16C8847044891 +:106D6000C16C884710BD000068010020B8010020F8 +:106D70000802002010B500290AD00878002807D0A2 +:106D800005487844FBF720F9002801D0002010BD09 +:106D90000248784410BD0000F6010000EE0100003A +:106DA00010B500290AD00878002807D00548784493 +:106DB000FBF70AF9002801D0002010BD02487844F2 +:106DC00010BD0000E6010000DE0100004FF0407041 +:106DD000E1EE100A7047FAF7E1B8FAF715BA0006C3 +:106DE000101600061016000000000000000001024E +:106DF0000304060708090000000001020304040060 +:106E00000008000000000000000200010000100067 +:106E100000000000000000003031323334353637D6 +:106E200038394142434445464030580030313233CE +:106E300034353637383961626364656640307800CE +:106E400030313233343536373839616263646566E0 +:106E50007870003031323334353637383941424377 +:106E60004445465850003A7474003A7474003A74B9 +:106E70007400000002400000000000A000000000BC +:106E800005400000000000C8000000000C400000A9 +:106E90000000409C00000000194000000020BCBE23 +:106EA0000000000034400000BFC91B8E0000000439 +:106EB000B5400000504BCFD06607E2CF0100000084 +:106EC0006C4100003E8251AADFEEA73401000000B1 +:106ED000D9420000DCB5A0E23A301F97FFFFFFFF68 +:106EE000B4450000FD25A0C8E9A3C14FFFFFFFFF87 +:106EF000FF3F00000000008000000000FF3F000096 +:106F0000000000800000000056312E30000000001C +:106F1000313135323030000031393230300000004C +:106F20003537363030000000393630300000000090 +:106F30003438303000000000434F4D310000000075 +:106F4000434F4D3200000000434F4D33000000001E +:106F5000434F4D3400000000A470000800000020E2 +:106F600098020000C4010008F47100089802002093 +:106F7000C0940000200200081C0000004300000034 +:106F8000F8FFFFFF0C0000000E0000000F000000E3 +:106F90002E0000001001000043000000F8FFFFFF7A +:106FA000004040404040404040404141414141401C +:106FB00040404040404040404040404040404040D1 +:106FC0004005020202020202020202020202020260 +:106FD0000220202020202020202020020202020265 +:106FE00002029090909090901010101010101010BD +:106FF00010101010101010101010101002020202C9 +:10700000020288888888888808080808080808080C +:107010000808080808080808080808080202020208 +:107020004000000000000000000000000000000020 +:107030000000000000000000000000000000000050 +:107040000000000000000000000000000000000040 +:107050000000000000000000000000000000000030 +:107060000000000000000000000000000000000020 +:107070000000000000000000000000000000000010 +:107080000000000000000000000000000000000000 +:1070900000000000000000000000000000000000F0 +:1070A0000000000041321042011324F413086F0065 +:1070B0000A120856302E3030312E303A0128135142 +:1070C0006D22081203320A3A330C120732323A4D5B +:1070D0000C120B32643A310C120D32C83A370C12D2 +:1070E000111AF43D3A3D0C121323E8033A350C1201 +:1070F0001723D0073A390CA11381571B08950413A5 +:10710000055823088C1420F35A1408095B1B08F156 +:10711000081AEF041AB014100E0D0E0F0C0B0A090A +:107120000807040302011B0605101608090A0B0CC8 +:107130001F01020304050656211AD9401AED041A4C +:10714000CD04012013D1591B087D041A55041AC916 +:10715000041AEC6413C8112A20F4E3B80B0B148052 +:107160001D180B14382918191514208C031420BC71 +:10717000051B205C0421120113F0341420A840ECFC +:1071800020B80B2E611A5BF0134D5C1B08B1041A7A +:107190007B0C1A2508411AC10C1A38501AD050130A +:1071A0007C061B201C04295013604C0C102018581E +:1071B000502B080220091C501A50501A485013FC3A +:1071C000041B209C04295013D0630C3520886FA029 +:1071D000126F1B0840041A48041A50041A30041A8B +:1071E00028041A18041A20041A100481139D675BDE +:0471F0000880A481EE :040000050800018965 :00000001FF diff --git a/calib_board/MDK-ARM/RTE/_CalibBoard/RTE_Components.h b/calib_board/MDK-ARM/RTE/_CalibBoard/RTE_Components.h index 4ce996b..0255df2 100644 --- a/calib_board/MDK-ARM/RTE/_CalibBoard/RTE_Components.h +++ b/calib_board/MDK-ARM/RTE/_CalibBoard/RTE_Components.h @@ -11,5 +11,11 @@ #define RTE_COMPONENTS_H +/* + * Define the Device Header File: + */ +#define CMSIS_device_header "stm32f4xx.h" + + #endif /* RTE_COMPONENTS_H */ diff --git a/calib_board/MDK-ARM/startup_stm32f407xx.s b/calib_board/MDK-ARM/startup_stm32f407xx.s index 6eab195..b0722a1 100644 --- a/calib_board/MDK-ARM/startup_stm32f407xx.s +++ b/calib_board/MDK-ARM/startup_stm32f407xx.s @@ -29,7 +29,7 @@ ; Stack Size (in Bytes) <0x0-0xFFFFFFFF:8> ; -Stack_Size EQU 0x800 +Stack_Size EQU 0x400 AREA STACK, NOINIT, READWRITE, ALIGN=3 Stack_Mem SPACE Stack_Size @@ -40,7 +40,7 @@ __initial_sp ; Heap Size (in Bytes) <0x0-0xFFFFFFFF:8> ; -Heap_Size EQU 0x800 +Heap_Size EQU 0x200 AREA HEAP, NOINIT, READWRITE, ALIGN=3 __heap_base diff --git a/calib_board/usr/app/app.c b/calib_board/usr/app/app.c index 753f0ce..45a3e73 100644 --- a/calib_board/usr/app/app.c +++ b/calib_board/usr/app/app.c @@ -8,6 +8,7 @@ #include "bsp_Led.h" #include "bsp_74HC4067.h" #include "bsp_Flash.h" +#include "bsp_w25q.h" #include "proto_modbus_master_tdlas.h" #include "proto_modbus_slave_ex.h" diff --git a/calib_board/usr/app/app_timer.c b/calib_board/usr/app/app_timer.c index d441a4c..b149cce 100644 --- a/calib_board/usr/app/app_timer.c +++ b/calib_board/usr/app/app_timer.c @@ -192,4 +192,4 @@ u16 app_timer_check_run_time(u16 time_start, u16 time_now, u16 time_out) void delay_ms(u16 delay) { HAL_Delay(delay); -} \ No newline at end of file +} diff --git a/calib_board/usr/app/app_timer.h b/calib_board/usr/app/app_timer.h index c153898..2fc4093 100644 --- a/calib_board/usr/app/app_timer.h +++ b/calib_board/usr/app/app_timer.h @@ -45,4 +45,4 @@ void delay_ms(u16 delay); /* 声明外部变量 */ extern app_timer_t app_timer; -#endif \ No newline at end of file +#endif diff --git a/calib_board/usr/bsp/bsp_74HC4067.c b/calib_board/usr/bsp/bsp_74HC4067.c index 9c7503b..18ffd49 100644 --- a/calib_board/usr/bsp/bsp_74HC4067.c +++ b/calib_board/usr/bsp/bsp_74HC4067.c @@ -23,14 +23,14 @@ #define BSP_LED_ON GPIO_PIN_RESET #define BSP_LED_OFF GPIO_PIN_SET -static GPIO_TypeDef* bsp_74HC4067_TX_SW_GPIO[4] = {TX_S0_GPIO_Port,TX_S1_GPIO_Port,TX_S2_GPIO_Port,TX_S3_GPIO_Port}; -static uint16_t bsp_74HC4067_TX_SW_Pin[4] = {TX_S0_Pin, TX_S1_Pin, TX_S2_Pin, TX_S3_Pin}; +//static GPIO_TypeDef* bsp_74HC4067_TX_SW_GPIO[4] = {TX_S0_GPIO_Port,TX_S1_GPIO_Port,TX_S2_GPIO_Port,TX_S3_GPIO_Port}; +//static uint16_t bsp_74HC4067_TX_SW_Pin[4] = {TX_S0_Pin, TX_S1_Pin, TX_S2_Pin, TX_S3_Pin}; -static GPIO_TypeDef* bsp_74HC4067_RX_SW_GPIO[4] = {RX_S0_GPIO_Port,RX_S1_GPIO_Port,RX_S2_GPIO_Port,RX_S3_GPIO_Port}; -static uint16_t bsp_74HC4067_RX_SW_Pin[4] = {RX_S0_Pin, RX_S1_Pin, RX_S2_Pin, RX_S3_Pin}; +//static GPIO_TypeDef* bsp_74HC4067_RX_SW_GPIO[4] = {RX_S0_GPIO_Port,RX_S1_GPIO_Port,RX_S2_GPIO_Port,RX_S3_GPIO_Port}; +//static uint16_t bsp_74HC4067_RX_SW_Pin[4] = {RX_S0_Pin, RX_S1_Pin, RX_S2_Pin, RX_S3_Pin}; -static GPIO_TypeDef* bsp_74HC4067_LED_CH_GPIO[BSP_74HC4067_CH_MAX] = {LED_CH1_GPIO_Port, LED_CH2_GPIO_Port, LED_CH3_GPIO_Port, LED_CH4_GPIO_Port, LED_CH5_GPIO_Port, LED_CH6_GPIO_Port, LED_CH7_GPIO_Port, LED_CH8_GPIO_Port, LED_CH9_GPIO_Port, LED_CH10_GPIO_Port, LED_CH11_GPIO_Port, LED_CH12_GPIO_Port, LED_CH13_GPIO_Port, LED_CH14_GPIO_Port, LED_CH15_GPIO_Port, LED_CH16_GPIO_Port}; -static uint16_t bsp_74HC4067_LED_CH_Pin[BSP_74HC4067_CH_MAX] = {LED_CH1_Pin, LED_CH2_Pin, LED_CH3_Pin, LED_CH4_Pin, LED_CH5_Pin, LED_CH6_Pin, LED_CH7_Pin, LED_CH8_Pin, LED_CH9_Pin, LED_CH10_Pin, LED_CH11_Pin, LED_CH12_Pin, LED_CH13_Pin, LED_CH14_Pin, LED_CH15_Pin, LED_CH16_Pin}; +//static GPIO_TypeDef* bsp_74HC4067_LED_CH_GPIO[BSP_74HC4067_CH_MAX] = {LED_CH1_GPIO_Port, LED_CH2_GPIO_Port, LED_CH3_GPIO_Port, LED_CH4_GPIO_Port, LED_CH5_GPIO_Port, LED_CH6_GPIO_Port, LED_CH7_GPIO_Port, LED_CH8_GPIO_Port, LED_CH9_GPIO_Port, LED_CH10_GPIO_Port, LED_CH11_GPIO_Port, LED_CH12_GPIO_Port, LED_CH13_GPIO_Port, LED_CH14_GPIO_Port, LED_CH15_GPIO_Port, LED_CH16_GPIO_Port}; +//static uint16_t bsp_74HC4067_LED_CH_Pin[BSP_74HC4067_CH_MAX] = {LED_CH1_Pin, LED_CH2_Pin, LED_CH3_Pin, LED_CH4_Pin, LED_CH5_Pin, LED_CH6_Pin, LED_CH7_Pin, LED_CH8_Pin, LED_CH9_Pin, LED_CH10_Pin, LED_CH11_Pin, LED_CH12_Pin, LED_CH13_Pin, LED_CH14_Pin, LED_CH15_Pin, LED_CH16_Pin}; /*通道转换,硬件实际连接的通道与芯片定义通道不一致*/ static u8 bsp_74HC4067_TX_CH_Conv[BSP_74HC4067_CH_MAX] = {13,14,15,12,11,10,9, 8, 7, 4, 3, 2, 1, 0, 6, 5}; @@ -53,8 +53,8 @@ bsp_74HC4067_t UartCH_Config = static void bsp_74HC4067_Init(void) { bsp_74HC4067_CH = 0; - TX_EN_ENABLE; - RX_EN_ENABLE; +// TX_EN_ENABLE; +// RX_EN_ENABLE; bsp_74HC4067_Set_CH(0); } @@ -76,19 +76,19 @@ static void bsp_74HC4067_Set_CH(u8 CH1) { if((TX_CH >> i) & 0x01) { - HAL_GPIO_WritePin(bsp_74HC4067_TX_SW_GPIO[i],bsp_74HC4067_TX_SW_Pin[i],BSP_HIG); +// HAL_GPIO_WritePin(bsp_74HC4067_TX_SW_GPIO[i],bsp_74HC4067_TX_SW_Pin[i],BSP_HIG); } else { - HAL_GPIO_WritePin(bsp_74HC4067_TX_SW_GPIO[i],bsp_74HC4067_TX_SW_Pin[i],BSP_LOW); +// HAL_GPIO_WritePin(bsp_74HC4067_TX_SW_GPIO[i],bsp_74HC4067_TX_SW_Pin[i],BSP_LOW); } if((RX_CH >> i) & 0x01) { - HAL_GPIO_WritePin(bsp_74HC4067_RX_SW_GPIO[i],bsp_74HC4067_RX_SW_Pin[i],BSP_HIG); +// HAL_GPIO_WritePin(bsp_74HC4067_RX_SW_GPIO[i],bsp_74HC4067_RX_SW_Pin[i],BSP_HIG); } else { - HAL_GPIO_WritePin(bsp_74HC4067_RX_SW_GPIO[i],bsp_74HC4067_RX_SW_Pin[i],BSP_LOW); +// HAL_GPIO_WritePin(bsp_74HC4067_RX_SW_GPIO[i],bsp_74HC4067_RX_SW_Pin[i],BSP_LOW); } } /*开启对应指示灯*/ @@ -96,11 +96,11 @@ static void bsp_74HC4067_Set_CH(u8 CH1) { if(i == CH) { - HAL_GPIO_WritePin(bsp_74HC4067_LED_CH_GPIO[i],bsp_74HC4067_LED_CH_Pin[i],BSP_LED_ON); +// HAL_GPIO_WritePin(bsp_74HC4067_LED_CH_GPIO[i],bsp_74HC4067_LED_CH_Pin[i],BSP_LED_ON); } else { - HAL_GPIO_WritePin(bsp_74HC4067_LED_CH_GPIO[i],bsp_74HC4067_LED_CH_Pin[i],BSP_LED_OFF); +// HAL_GPIO_WritePin(bsp_74HC4067_LED_CH_GPIO[i],bsp_74HC4067_LED_CH_Pin[i],BSP_LED_OFF); } } // HAL_Delay(20); diff --git a/calib_board/usr/bsp/bsp_Led.c b/calib_board/usr/bsp/bsp_Led.c index 4f1e5f7..cb93394 100644 --- a/calib_board/usr/bsp/bsp_Led.c +++ b/calib_board/usr/bsp/bsp_Led.c @@ -1,17 +1,17 @@ #include "bsp_Led.h" #include "app_timer.h" -#define LED1_ON HAL_GPIO_WritePin (LED1_GPIO_Port, LED1_Pin, GPIO_PIN_RESET) -#define LED1_OFF HAL_GPIO_WritePin (LED1_GPIO_Port, LED1_Pin, GPIO_PIN_SET) -#define LED1_TOGGLE HAL_GPIO_TogglePin(LED1_GPIO_Port, LED1_Pin) +//#define LED1_ON HAL_GPIO_WritePin (LED1_GPIO_Port, LED1_Pin, GPIO_PIN_RESET) +//#define LED1_OFF HAL_GPIO_WritePin (LED1_GPIO_Port, LED1_Pin, GPIO_PIN_SET) +//#define LED1_TOGGLE HAL_GPIO_TogglePin(LED1_GPIO_Port, LED1_Pin) -#define LED2_ON HAL_GPIO_WritePin (LED2_GPIO_Port, LED2_Pin, GPIO_PIN_RESET) -#define LED2_OFF HAL_GPIO_WritePin (LED2_GPIO_Port, LED2_Pin, GPIO_PIN_SET) -#define LED2_TOGGLE HAL_GPIO_TogglePin(LED2_GPIO_Port, LED2_Pin) +//#define LED2_ON HAL_GPIO_WritePin (LED2_GPIO_Port, LED2_Pin, GPIO_PIN_RESET) +//#define LED2_OFF HAL_GPIO_WritePin (LED2_GPIO_Port, LED2_Pin, GPIO_PIN_SET) +//#define LED2_TOGGLE HAL_GPIO_TogglePin(LED2_GPIO_Port, LED2_Pin) -#define LED3_ON HAL_GPIO_WritePin (LED3_GPIO_Port, LED3_Pin, GPIO_PIN_RESET) -#define LED3_OFF HAL_GPIO_WritePin (LED3_GPIO_Port, LED3_Pin, GPIO_PIN_SET) -#define LED3_TOGGLE HAL_GPIO_TogglePin(LED3_GPIO_Port, LED3_Pin) +//#define LED3_ON HAL_GPIO_WritePin (LED3_GPIO_Port, LED3_Pin, GPIO_PIN_RESET) +//#define LED3_OFF HAL_GPIO_WritePin (LED3_GPIO_Port, LED3_Pin, GPIO_PIN_SET) +//#define LED3_TOGGLE HAL_GPIO_TogglePin(LED3_GPIO_Port, LED3_Pin) static void bsp_led_init(void); @@ -28,11 +28,11 @@ static void bsp_led_init(void) for(u8 i = 0;i < 20;i++) { delay_ms(50); - HAL_GPIO_TogglePin(LED1_GPIO_Port, LED1_Pin); +// HAL_GPIO_TogglePin(LED1_GPIO_Port, LED1_Pin); } } static void bsp_led_task(void) { - HAL_GPIO_TogglePin(LED1_GPIO_Port, LED1_Pin); +// HAL_GPIO_TogglePin(LED1_GPIO_Port, LED1_Pin); } diff --git a/calib_board/usr/gui/gui_tjc_hmi.c b/calib_board/usr/gui/gui_tjc_hmi.c index 1ca4371..dc49754 100644 --- a/calib_board/usr/gui/gui_tjc_hmi.c +++ b/calib_board/usr/gui/gui_tjc_hmi.c @@ -66,6 +66,7 @@ static char *hmi_proto_string_baudrate[] = }; + static bsp_uart_t * p_rx_uart = NULL; gui_tjc_hmi_t tjc_hmi = @@ -204,21 +205,9 @@ static void gui_tjc_hmi_main_send(u8 cmd,u8 opa,u8 *p_data) } } }break; - case 0x02: - { - - }break; - default:return; - } - gui_tjc_hmi_data_send(hmi_tx_buffer,len); - } - else if(HMI_PROTO_CMD_SET == cmd)/*设置*/ - { - switch(opa) - { case 0x03:/*翻页*/ { - if(0x01 == p_data[0]) + if(0x01 == p_data[5]) { if(page_num - 1 <= p_tjc_hmi->page.main_index) { @@ -247,25 +236,251 @@ static void gui_tjc_hmi_main_send(u8 cmd,u8 opa,u8 *p_data) len = strlen((char *)hmi_tx_buffer); gui_tjc_hmi_data_send(hmi_tx_buffer,len); } + else if(HMI_PROTO_CMD_SET == cmd)/*设置*/ + { + switch(opa) + { + case 0x01:/*蜂鸣器开关*/ + { + if(0x01 == p_data[0]) + { + /*01打开蜂鸣器*/ + } + else + { + /*00关闭蜂鸣器*/ + } + } + default:return; + } + len = strlen((char *)hmi_tx_buffer); + gui_tjc_hmi_data_send(hmi_tx_buffer,len); + } } /*实时报警响应*/ static void gui_tjc_hmi_curr_alarm_send(u8 cmd,u8 opa,u8 *p_data) { - u16 len = 0,i; + /*每页显示的报警设备数量*/ + #define REAL_ALARM_PAGE_NUM (4) + u16 len = 0,i,j,x,y,device_index,ch,index; + u8 page_num,remain_alrm_device_num,display_count; + u8 alarm_device_count; + u8 alarm_device_index[APP_LEAKAGE_SUB_DEVICE_NUM]; + + memset(hmi_tx_buffer,0,sizeof(hmi_tx_buffer)); + + /*计算报警设备数量*/ + alarm_device_count = 0; + for(i = 0;i 0) + { + page_num++; + } + if(HMI_PROTO_CMD_GET == cmd)/*获取数据*/ { switch(opa) { - case 0x01: + case 0x01:/*获取实时报警信息*/ { - + if(p_tjc_hmi->page.real_alarm_index == page_num - 1 && remain_alrm_device_num > 0) + { + for(j=0;jpage.real_alarm_index * REAL_ALARM_PAGE_NUM + j; + device_index = alarm_device_index[index]; + x = j; + + /*区域名称*/ + y = 0; + len = gui_tjc_hmi_tx_text_display(x+1,y+1,(char *)&hmi_tx_buffer[len],"%s",leakage.sub_device_data[index].flash_data.region_name); + + /*设备ID*/ + y = 1; + len = gui_tjc_hmi_tx_text_display(x+1,y+1,(char *)&hmi_tx_buffer[len],"%s",leakage.sub_device_data[index].flash_data.modbus_id); + + /*设备名称*/ + y = 2; + len = gui_tjc_hmi_tx_text_display(x+1,y+1,(char *)&hmi_tx_buffer[len],"%s",leakage.sub_device_data[index].flash_data.device_name); + + /*通讯状态*/ + y =3; + u8 comm_state = 0; + for(ch=0;chpage.real_alarm_index * REAL_ALARM_PAGE_NUM + j; + device_index = alarm_device_index[index]; + + x = j; + + /*区域名称*/ + y = 0; + len = gui_tjc_hmi_tx_text_display(x+1,y+1,(char *)&hmi_tx_buffer[len],"%s",leakage.sub_device_data[device_index].flash_data.region_name); + + /*设备ID*/ + y = 1; + len = gui_tjc_hmi_tx_text_display(x+1,y+1,(char *)&hmi_tx_buffer[len],"%s",leakage.sub_device_data[index].flash_data.modbus_id); + + /*设备名称*/ + y = 2; + len = gui_tjc_hmi_tx_text_display(x+1,y+1,(char *)&hmi_tx_buffer[len],"%s",leakage.sub_device_data[index].flash_data.device_name); + + /*通讯状态*/ + y =3; + u8 comm_state = 0; + for(ch=0;chpage.real_alarm_index) + { + p_tjc_hmi->page.real_alarm_index = 0; + } + else + { + p_tjc_hmi->page.real_alarm_index++; + } + } + else + { + + if(0 == p_tjc_hmi->page.real_alarm_index) + { + p_tjc_hmi->page.real_alarm_index = page_num - 1; + } + else + { + p_tjc_hmi->page.real_alarm_index--; + } + } + } default:return; } len = strlen((char *)hmi_tx_buffer); @@ -290,43 +505,243 @@ static void gui_tjc_hmi_curr_alarm_send(u8 cmd,u8 opa,u8 *p_data) } } /*主界面详情*/ -static void gui_tjc_hmi_detail_main_send(u8 cmd,u8 opa,u8 *p_data) +static void gui_tjc_hmi_detail_main_send(u8 cmd, u8 opa, u8 *p_data) { - u16 len = 0,i; + #define DETAIL_MAIN_NUM (4) /* 每页显示4个设备 */ - if(HMI_PROTO_CMD_GET == cmd)/*获取数据*/ + u16 len = 0, i, sub_device_index, ch, x, y, index; + u8 page_num, remain_device_num, display_count; + u8 region_idx; /* 区域索引 */ + app_leakage_region_data_class_t *region_data; + + memset(hmi_tx_buffer, 0, sizeof(hmi_tx_buffer)); + + /* 计算详情页面数量:每页显示4个设备 */ + page_num = region_data->sub_device_num / DETAIL_MAIN_NUM; + remain_device_num = region_data->sub_device_num % DETAIL_MAIN_NUM; + if (remain_device_num > 0) { - switch(opa) - { - case 0x01: - { - - }break; - case 0x02: - { - - }break; - default:return; - } - len = strlen((char *)hmi_tx_buffer); - gui_tjc_hmi_data_send(hmi_tx_buffer,len); + page_num++; } - else if(HMI_PROTO_CMD_SET == cmd)/*设置*/ + + if (HMI_PROTO_CMD_GET == cmd) /* 获取数据 */ { - switch(opa) + switch (opa) { - case 0x01: + case 0x01: /* 获取设备详情信息 */ { + /* 从指令中获取区域索引 (p_data[0] = 相对区域索引,从1开始,对应当前主界面的1-4) */ + u8 relative_region_idx = p_data[0]; + + if (relative_region_idx < 1 || relative_region_idx > 4) + { + /* 相对区域索引无效,默认显示第一个 */ + relative_region_idx = 1; + } + + /* 计算全局区域索引: 全局索引 = 主界面页码 * 4 + 相对索引 - 1 */ + region_idx = p_tjc_hmi->page.main_index * 4 + (relative_region_idx - 1); + + /* 检查区域索引是否有效 */ + if (region_idx >= leakage.region_num) + { + /* 区域索引越界,尝试显示第一个区域 */ + region_idx = 0; + } + + /* 判断是否切换了区域 */ + if (region_idx != p_tjc_hmi->page.deliniter_main_index) + { + p_tjc_hmi->page.detail_main_index = 0; + } + + /* 保存当前区域索引和主界面页码,翻页时使用 */ + p_tjc_hmi->page.deliniter_main_index = region_idx; + + /* 获取区域数据 */ + region_data = &leakage.region_data[region_idx]; + + /* 获取当前详情页面的设备数据 */ + u8 start_index = p_tjc_hmi->page.detail_main_index * DETAIL_MAIN_NUM; + + if (p_tjc_hmi->page.detail_main_index == page_num - 1 && remain_device_num > 0) + { + display_count = remain_device_num; + } + else + { + display_count = DETAIL_MAIN_NUM; + } + + for (i = 0; i < display_count; i++) + { + index = start_index + i; + + if (index >= region_data->sub_device_num) + break; + + /* 获取设备的全局索引 */ + sub_device_index = region_data->sub_device_index[index]; + x = i; /* 0-3表示当前详情页面的4个设备位置 */ + + /* 设备ID: t(x+1)_1 */ + y = 0; + len += gui_tjc_hmi_tx_text_display(x+1, y+1, + (char *)&hmi_tx_buffer[len], + "%d", + leakage.sub_device_data[sub_device_index].flash_data.modbus_id); + + /* 设备名称: t(x+1)_2 */ + y = 1; + len += gui_tjc_hmi_tx_text_display(x+1, y+1, + (char *)&hmi_tx_buffer[len], + "%s", + leakage.sub_device_data[sub_device_index].flash_data.device_name); + + /* 通讯状态: t(x+1)_3 */ + y = 2; + u8 comm_state = 0; + for (ch = 0; ch < APP_LEAKAGE_SUB_DEVICE_CH_NUM; ch++) + { + if (leakage.sub_device_data[sub_device_index].ch_data[ch].state & + APP_LEAKAGE_SUB_DEVICE_STATE_TIME_OUT) + { + comm_state = 1; + break; + } + } + if (comm_state) + { + len += gui_tjc_hmi_tx_text_display(x+1, y+1, + (char *)&hmi_tx_buffer[len], + "超时"); + } + else + { + len += gui_tjc_hmi_tx_text_display(x+1, y+1, + (char *)&hmi_tx_buffer[len], + "正常"); + } + + /* 通道1-4状态 */ + for (ch = 0; ch < APP_LEAKAGE_SUB_DEVICE_CH_NUM; ch++) + { + u16 ch_state = leakage.sub_device_data[sub_device_index].ch_data[ch].state; + u16 ch_distance = leakage.sub_device_data[sub_device_index].ch_data[ch].distance; + + /* 漏液状态 */ + y = 3 + (ch * 3); + if (ch_state & APP_LEAKAGE_SUB_DEVICE_STATE_LEAKAGE) + { + len += gui_tjc_hmi_tx_text_display(x+1, y+1, + (char *)&hmi_tx_buffer[len], + "漏液"); + } + else + { + len += gui_tjc_hmi_tx_text_display(x+1, y+1, + (char *)&hmi_tx_buffer[len], + "正常"); + } + + /* 断带状态 */ + y = 4 + (ch * 3); + if (ch_state & APP_LEAKAGE_SUB_DEVICE_STATE_OPEN) + { + len += gui_tjc_hmi_tx_text_display(x+1, y+1, + (char *)&hmi_tx_buffer[len], + "断带"); + } + else + { + len += gui_tjc_hmi_tx_text_display(x+1, y+1, + (char *)&hmi_tx_buffer[len], + "正常"); + } + + /* 漏液位置 */ + y = 5 + (ch * 3); + if (ch_state & APP_LEAKAGE_SUB_DEVICE_STATE_LEAKAGE) + { + len += gui_tjc_hmi_tx_text_display(x+1, y+1, + (char *)&hmi_tx_buffer[len], + "%d", + ch_distance); + } + else + { + len += gui_tjc_hmi_tx_text_display(x+1, y+1, + (char *)&hmi_tx_buffer[len], + "0"); + } + } + } + } + break; - }break; - case 0x02: + case 0x03: /* 翻页 */ { + /* 使用之前保存的全局区域索引 */ + region_idx = p_tjc_hmi->page.deliniter_main_index; + + /* 检查区域索引是否有效 */ + if (region_idx >= leakage.region_num) + { + return; /* 区域索引越界 */ + } + + /* 获取区域数据 */ + region_data = &leakage.region_data[region_idx]; + + if(0x01 == p_data[0]) /* 下一页 */ + { + if(page_num - 1 <= p_tjc_hmi->page.detail_main_index) + { + p_tjc_hmi->page.detail_main_index = 0; + } + else + { + p_tjc_hmi->page.detail_main_index++; + } + } + else /* 上一页 */ + { + if(0 == p_tjc_hmi->page.detail_main_index) + { + p_tjc_hmi->page.detail_main_index = page_num - 1; + } + else + { + p_tjc_hmi->page.detail_main_index--; + } + } + return; + } + break; - }break; - default:return; + default: + return; + } + + /* 发送数据到HMI屏幕 */ + if (len > 0) + { + gui_tjc_hmi_data_send(hmi_tx_buffer, len); + } + } + else if (HMI_PROTO_CMD_SET == cmd) /* 设置命令 */ + { + switch (opa) + { + case 0x01: /* */ + { + + } + break; + + default: + return; } - len = strlen((char *)hmi_tx_buffer); - gui_tjc_hmi_data_send(hmi_tx_buffer,len); } } /*登录界面*/ @@ -338,11 +753,11 @@ static void gui_tjc_hmi_login_send(u8 cmd,u8 opa,u8 *p_data) { switch(opa) { - case 0x01: + case 0x01:/*读取flash中存储的密码,只存储密码*/ { }break; - case 0x02: + case 0x02:/*无*/ { }break; @@ -355,11 +770,11 @@ static void gui_tjc_hmi_login_send(u8 cmd,u8 opa,u8 *p_data) { switch(opa) { - case 0x01: + case 0x01:/*将密码存入flash中*/ { }break; - case 0x02: + case 0x02:/*无*/ { }break; @@ -379,11 +794,11 @@ static void gui_tjc_hmi_history_alarm_send(u8 cmd,u8 opa,u8 *p_data) { switch(opa) { - case 0x01: + case 0x01:/*读取历史报警信息,历史报警信息应该存储在flash中,显示区域名,设备ID,设备名称,报警类型,开始时间(年月日时分),结束时间*/ { }break; - case 0x02: + case 0x03:/*翻页功能,每页15条历史报警数据*/ { }break; @@ -396,11 +811,11 @@ static void gui_tjc_hmi_history_alarm_send(u8 cmd,u8 opa,u8 *p_data) { switch(opa) { - case 0x01: + case 0x01:/*无*/ { }break; - case 0x02: + case 0x02:/*无*/ { }break; @@ -420,11 +835,11 @@ static void gui_tjc_hmi_tcp_config_send(u8 cmd,u8 opa,u8 *p_data) { switch(opa) { - case 0x01: + case 0x01:/*读取网络配置信息,p_data[0]=0x01为读取设置的网络配置,02为读取默认的,网络IP,子网掩码,网关,DNS服务器*/ { }break; - case 0x02: + case 0x02:/*无*/ { }break; @@ -437,11 +852,11 @@ static void gui_tjc_hmi_tcp_config_send(u8 cmd,u8 opa,u8 *p_data) { switch(opa) { - case 0x01: + case 0x01:/*添加网络配置,并将网络配置信息存入flash*/ { }break; - case 0x02: + case 0x02:/*无*/ { }break; @@ -461,11 +876,11 @@ static void gui_tjc_hmi_device_config_send(u8 cmd,u8 opa,u8 *p_data) { switch(opa) { - case 0x01: + case 0x01:/*读取已存在的设备,显示区域,端口,设备ID,设备名,*/ { }break; - case 0x02: + case 0x03:/*翻页功能,每页显示8个设备*/ { }break; @@ -478,51 +893,11 @@ static void gui_tjc_hmi_device_config_send(u8 cmd,u8 opa,u8 *p_data) { switch(opa) { - case 0x01: + case 0x01:/*添加设备,将设备信息存入flash中*/ { }break; - case 0x02: - { - - }break; - default:return; - } - len = strlen((char *)hmi_tx_buffer); - gui_tjc_hmi_data_send(hmi_tx_buffer,len); - } -} -/*帮助界面*/ -static void gui_tjc_hmi_help_send(u8 cmd,u8 opa,u8 *p_data) -{ - u16 len = 0,i; - - if(HMI_PROTO_CMD_GET == cmd)/*获取数据*/ - { - switch(opa) - { - case 0x01: - { - - }break; - case 0x02: - { - - }break; - default:return; - } - len = strlen((char *)hmi_tx_buffer); - gui_tjc_hmi_data_send(hmi_tx_buffer,len); - } - else if(HMI_PROTO_CMD_SET == cmd)/*设置*/ - { - switch(opa) - { - case 0x01: - { - - }break; - case 0x02: + case 0x02:/*删除设备,将设备信息从flash中删除*/ { }break; @@ -532,6 +907,7 @@ static void gui_tjc_hmi_help_send(u8 cmd,u8 opa,u8 *p_data) gui_tjc_hmi_data_send(hmi_tx_buffer,len); } } + /*屏幕指令解析*/ static void gui_tjc_hmi_communication_data_analysis(u8 *p_data, u16 len, void *rx_uart) { @@ -558,7 +934,7 @@ static void gui_tjc_hmi_communication_data_analysis(u8 *p_data, u16 len, void *r /*CMD*/ cmd = p_data[2]; - if(cmd != HMI_PROTO_CMD_GET || HMI_PROTO_CMD_GET != HMI_PROTO_CMD_SET) + if(cmd != HMI_PROTO_CMD_GET || cmd != HMI_PROTO_CMD_SET) { return ; } @@ -582,7 +958,7 @@ static void gui_tjc_hmi_communication_data_analysis(u8 *p_data, u16 len, void *r }break; case HMI_PROTO_GUI_LOGIN : { - gui_tjc_hmi_main_send(cmd,opa,p_offset_data); + //gui_tjc_hmi_main_send(cmd,opa,p_offset_data); }break; case HMI_PROTO_GUI_HISTORY_ALARM : { @@ -598,7 +974,7 @@ static void gui_tjc_hmi_communication_data_analysis(u8 *p_data, u16 len, void *r }break; case HMI_PROTO_GUI_HELP : { - gui_tjc_hmi_help_send(cmd,opa,p_offset_data); + //gui_tjc_hmi_help_send(cmd,opa,p_offset_data); }break; } } diff --git a/calib_board/usr/gui/gui_tjc_hmi.h b/calib_board/usr/gui/gui_tjc_hmi.h index 654c19b..6bcf0a1 100644 --- a/calib_board/usr/gui/gui_tjc_hmi.h +++ b/calib_board/usr/gui/gui_tjc_hmi.h @@ -6,9 +6,10 @@ /*页码*/ typedef struct { - u8 main_index; - u8 deliniter_main_index; - + u8 main_index;/*主界面页码*/ + u8 deliniter_main_index;/*主界面选中区域的全局索引*/ + u8 real_alarm_index;/*实时报警界面页码*/ + u8 detail_main_index;/*区域详情界面页码*/ }gui_tjc_hmi_page_t; typedef struct