diff --git a/.cproject b/.cproject index abdba75..73ed745 100644 --- a/.cproject +++ b/.cproject @@ -121,6 +121,7 @@ + @@ -132,6 +133,8 @@ + + @@ -189,10 +192,12 @@ + + @@ -228,10 +233,12 @@ + + diff --git a/FreeRTOS.wvproj b/FreeRTOS.wvproj index 3869ad3..23b46d4 100644 --- a/FreeRTOS.wvproj +++ b/FreeRTOS.wvproj @@ -131,7 +131,8 @@ "do_not_search_system_directories": false, "preprocess_only": false, "defined_symbols": [ - "DEBUG=0" + "DEBUG=0", + "HAL_SLEEP=1" ], "undefined_symbols": [] }, @@ -144,7 +145,9 @@ "${project}/FreeRTOS/include", "${project}/FreeRTOS", "${project}/system/RVMSIS", - "${project}/system/StdPeriphDriver/inc" + "${project}/system/StdPeriphDriver/inc", + "${project}/system/HAL/include", + "${project}/system/LIB" ], "include_system_paths": [], "include_files": [] @@ -219,11 +222,13 @@ }, "libraries": { "libraries": [ - "ISP585" + "ISP585", + "CH58xBLE" ], "library_search_path": [ "../", - "${project}/system/StdPeriphDriver" + "${project}/system/StdPeriphDriver", + "${project}/system/LIB" ] }, "miscellaneous": { @@ -260,11 +265,13 @@ }, "libraries": { "libraries": [ - "ISP585" + "ISP585", + "CH58xBLE" ], "library_search_path": [ "../", - "${project}/system/StdPeriphDriver" + "${project}/system/StdPeriphDriver", + "${project}/system/LIB" ] }, "miscellaneous": { diff --git a/FreeRTOS/FreeRTOSConfig.h b/FreeRTOS/FreeRTOSConfig.h index 8e42e50..caae7df 100644 --- a/FreeRTOS/FreeRTOSConfig.h +++ b/FreeRTOS/FreeRTOSConfig.h @@ -92,7 +92,7 @@ #define configUSE_PREEMPTION 1 #define configUSE_TIME_SLICING 0 -#define configUSE_IDLE_HOOK 0 +#define configUSE_IDLE_HOOK 1 #define configUSE_TICK_HOOK 0 #define configCPU_CLOCK_HZ FREQ_SYS #define configTICK_RATE_HZ ((TickType_t)500) diff --git a/src/main.c b/src/main.c index a02fa3f..db912d8 100644 --- a/src/main.c +++ b/src/main.c @@ -3,55 +3,27 @@ * Author : WCH * Version : V1.0 * Date : 2024/08/13 - * Description : FreeRTOS例程,使用硬件压栈,中断嵌套可选,中断函数不再使用修饰 - * __attribute__((interrupt("WCH-Interrupt-fast"))), - * 中断函数直接按照普通函数定义,只使用HIGHCODE修饰即可。 + * Description : FreeRTOS浠呬繚鐣欎换鍔1锛屽欢鏃舵湡闂磋嚜鍔ㄨ繘鍏ヤ綆鍔熻椾紤鐪 ********************************************************************************* * Copyright (c) 2024 Nanjing Qinheng Microelectronics Co., Ltd. - * Attention: This software (modified or not) and binary are used for - * microcontroller manufactured by Nanjing Qinheng Microelectronics. *******************************************************************************/ -/******************************************************************************/ -/* 头文件包含 */ #include "CH58x_common.h" #include "FreeRTOS.h" #include "task.h" #include "semphr.h" -#include "stdarg.h" - -/********************************************************************* - * GLOBAL TYPEDEFS - */ +/************************** 浠诲姟閰嶇疆 **************************/ #define TASK1_TASK_PRIO 5 -#define TASK1_STK_SIZE 256 /* 因在任务中使用了APP_Printf所以栈空间必须要大于APP_Printf中的buf_str的大小+configMINIMAL_STACK_SIZE */ -#define TASK2_TASK_PRIO 5 -#define TASK2_STK_SIZE 256 -#define TASK3_TASK_PRIO configMAX_PRIORITIES - 1 -#define TASK3_STK_SIZE 256 -#define TASK4_TASK_PRIO 4 -#define TASK4_STK_SIZE 512 +#define TASK1_STK_SIZE 256 -/* Global Variable */ +/************************** 鍏ㄥ眬鍙橀噺 **************************/ TaskHandle_t Task1Task_Handler; -TaskHandle_t Task2Task_Handler; -TaskHandle_t Task3Task_Handler; -TaskHandle_t Task4Task_Handler; -SemaphoreHandle_t printMutex; -SemaphoreHandle_t xBinarySem; -SemaphoreHandle_t xRTCSem; - -/* Function declarations */ -void LowPowerGapProcess(void); /********************************************************************* * @fn DebugInit - * - * @brief 调试初始化 - * - * @return none - */ + * @brief 璋冭瘯鍒濆鍖 + ********************************************************************/ void DebugInit(void) { GPIOA_SetBits(GPIO_Pin_14); @@ -61,218 +33,63 @@ void DebugInit(void) } /********************************************************************* - * @fn vPortSuppressTicksAndSleep - * - * @brief FreeRTOS Tickless Idle回调函数,当所有任务等待时自动调用 - * 实现在任务等待期间自动进入低功耗模式 - * - * @param xExpectedIdleTime - 预计的空闲时间(以tick为单位) - * - * @return none - */ + * @fn CH585_EnterSleep + * @brief CH585杩涘叆娴呬紤鐪狅紙閫傞厤鍘熺敓API锛屽叧闂棤鐢ㄥ璁鹃檷浣庡姛鑰楋級 + ********************************************************************/ __HIGH_CODE -void vPortSuppressTicksAndSleep(TickType_t xExpectedIdleTime) +void CH585_EnterSleep(void) { - uint32_t ulCompleteTickPeriods; - - /* 限制最短睡眠时间,避免频繁唤醒 */ - if (xExpectedIdleTime < 2) - { - return; - } - - /* Idle模式:功耗约1.44mA,所有外设正常运行,快速响应 */ LowPower_Idle(); - /* 计算实际睡眠的tick数 */ - ulCompleteTickPeriods = xExpectedIdleTime - 1; - - /* 更新系统时间 */ - vTaskStepTick(ulCompleteTickPeriods); + // LowPower_Halt(); + // HSECFG_Current(HSE_RCur_100); // 闄嶄负棰濆畾鐢垫祦(浣庡姛鑰楀嚱鏁颁腑鎻愬崌浜咹SE鍋忕疆鐢垫祦) } -/********************************************************************* - * @fn LowPowerGapProcess - * - * @brief 外部时钟不稳定期间执行,可用于执行对时钟要求不高的处理,且flash未准备好,需要在RAM中运行 - * - * @return none - */ __HIGH_CODE -void LowPowerGapProcess() +void vApplicationIdleHook(void) { - // 执行对时钟要求不高的处理 - - // 可以:简单的GPIO操作 - // 可以:LED指示 - // 可以:计数、标志位更新 - - // 不可以:从Flash读取代码/数据 - // 不可以:精确定时操作(时钟不稳定) - // 不可以:复杂计算(时钟慢,功耗高) -} - -/********************************************************************* - * @fn App_Printf - * - * @brief printf can be used within freertos. - * - * @param *fmt - printf params. - * - * @return none - */ -__HIGH_CODE -void App_Printf(const char *fmt, ...) -{ - char buf_str[128]; /* 需要注意在这里的内存空间是否足够打印 */ - va_list v_args; - - va_start(v_args, fmt); - (void)vsnprintf((char *)&buf_str[0], - (size_t)sizeof(buf_str), - (char const *)fmt, - v_args); - va_end(v_args); - - /* 互斥量操作,不可在中断中使用 */ - xSemaphoreTake(printMutex, portMAX_DELAY); - printf("%s", buf_str); - xSemaphoreGive(printMutex); + // 绌哄嚱鏁帮紝鍏煎鍘熸鏋 + CH585_EnterSleep(); } /********************************************************************* * @fn task1_task - * - * @brief task1 program. - * - * @param *pvParameters - Parameters point of task1 - * - * @return none - */ + * @brief 浠呬繚鐣欎换鍔1锛歀ED缈昏浆锛屽欢鏃舵湡闂寸郴缁熻嚜鍔ㄤ紤鐪 + ********************************************************************/ __HIGH_CODE void task1_task(void *pvParameters) { + // 鍒濆鍖朑PIOA_Pin_0涓鸿緭鍑猴紙LED鎺у埗锛 GPIOA_ModeCfg(GPIO_Pin_0, GPIO_ModeOut_PP_5mA); + while (1) { - GPIOA_SetBits(GPIO_Pin_0); // 打开IO(高电平) - vTaskDelay(configTICK_RATE_HZ); + GPIOA_SetBits(GPIO_Pin_0); // IO缃珮锛圠ED浜級 + vTaskDelay(configTICK_RATE_HZ); // 寤舵椂1绉掞紝鏈熼棿绯荤粺浼戠湢 - GPIOA_ResetBits(GPIO_Pin_0); // 关闭IO(低电平) - vTaskDelay(configTICK_RATE_HZ / 2); - } -} - -/********************************************************************* - * @fn task2_task - * - * @brief task2 program. - * - * @param *pvParameters - Parameters point of task2 - * - * @return none - */ -__HIGH_CODE -void task2_task(void *pvParameters) -{ - while (1) - { - App_Printf("task2 running!\n"); - vTaskDelay(configTICK_RATE_HZ); - } -} - -/********************************************************************* - * @fn task3_task - * - * @brief task3 program - GPIO唤醒测试. - * - * @param *pvParameters - Parameters point of task3 - * - * @return none - */ -__HIGH_CODE -void task3_task(void *pvParameters) -{ - xBinarySem = xSemaphoreCreateBinary(); - if (xBinarySem != NULL) - { - GPIOA_ModeCfg(GPIO_Pin_12, GPIO_ModeIN_PU); - GPIOA_ITModeCfg(GPIO_Pin_12, GPIO_ITMode_FallEdge); - PFIC_EnableIRQ(GPIO_A_IRQn); - while (1) - { - if (xSemaphoreTake(xBinarySem, portMAX_DELAY) == pdTRUE) - { - App_Printf("task3 GPIO wake up!\n"); - } - else - { - App_Printf("task3 sem get failed\n"); - } - } - } - else - { - App_Printf("task3 sem init failed\n"); + GPIOA_ResetBits(GPIO_Pin_0); // IO缃綆锛圠ED鐏級 + vTaskDelay(configTICK_RATE_HZ / 2); // 寤舵椂0.5绉掞紝鏈熼棿绯荤粺浼戠湢 } } /********************************************************************* * @fn main - * - * @brief main function. - * - * @param none - * - * @return none - */ + * @brief 涓诲嚱鏁帮細浠呭垵濮嬪寲+鍒涘缓浠诲姟1+鍚姩璋冨害鍣 + ********************************************************************/ int main(void) { -#if (defined(DCDC_ENABLE)) && (DCDC_ENABLE == TRUE) - PWR_DCDCCfg(ENABLE); -#endif + // 绯荤粺鍒濆鍖 HSECFG_Capacitance(HSECap_18p); SetSysClock(SYSCLK_FREQ); - - /* 注意:不能配置GPIO_Pin_All,会影响SWD调试引脚PA13/PA14,导致无法调试和系统异常 */ - /* 只配置需要的GPIO为上拉输入,排除调试引脚 */ - GPIOA_ModeCfg(GPIO_Pin_0 | GPIO_Pin_1 | GPIO_Pin_2 | GPIO_Pin_3 | - GPIO_Pin_4 | GPIO_Pin_5 | GPIO_Pin_6 | GPIO_Pin_7 | - GPIO_Pin_8 | GPIO_Pin_9 | GPIO_Pin_10 | GPIO_Pin_11 | - GPIO_Pin_12 | GPIO_Pin_15, - GPIO_ModeIN_PU); + PWR_DCDCCfg(ENABLE); + GPIOA_ModeCfg(GPIO_Pin_All, GPIO_ModeIN_PU); GPIOB_ModeCfg(GPIO_Pin_All, GPIO_ModeIN_PU); #ifdef DEBUG - DebugInit(); + DebugInit(); // 璋冭瘯鏃跺紑鍚覆鍙o紝鍙戝竷鍙敞閲 #endif - PRINT("start.\n"); - - printMutex = xSemaphoreCreateMutex(); - if (printMutex == NULL) - { - PRINT("printMutex error\n"); - while (1) - ; - } - - /* create tasks */ - xTaskCreate((TaskFunction_t)task3_task, - (const char *)"task3", - (uint16_t)TASK3_STK_SIZE, - (void *)NULL, - (UBaseType_t)TASK3_TASK_PRIO, - (TaskHandle_t *)&Task3Task_Handler); - - xTaskCreate((TaskFunction_t)task2_task, - (const char *)"task2", - (uint16_t)TASK2_STK_SIZE, - (void *)NULL, - (UBaseType_t)TASK2_TASK_PRIO, - (TaskHandle_t *)&Task2Task_Handler); - + // 鍒涘缓浠诲姟1锛堝敮涓浠诲姟锛 xTaskCreate((TaskFunction_t)task1_task, (const char *)"task1", (uint16_t)TASK1_STK_SIZE, @@ -280,35 +97,14 @@ int main(void) (UBaseType_t)TASK1_TASK_PRIO, (TaskHandle_t *)&Task1Task_Handler); + // 鍚姩FreeRTOS璋冨害鍣 vTaskStartScheduler(); + + // 璋冨害鍣ㄥ惎鍔ㄥけ璐ュ垯姝诲惊鐜 while (1) { - PRINT("shouldn't run at here!!\n"); + // 鐞嗚涓婁笉浼氭墽琛屽埌杩欓噷 } } -/********************************************************************* - * @fn GPIOA_IRQHandler - * - * @brief GPIOA_IRQHandler. - * - * @param none - * - * @return none - */ -__HIGH_CODE -void GPIOA_IRQHandler(void) -{ - /* 本函数可以作为在本工程FreeRTOS中的中断函数写法示例 */ - uint16_t flag; - portBASE_TYPE xHigherPriorityTaskWoken; - flag = GPIOA_ReadITFlagPort(); - if ((flag & GPIO_Pin_12) != 0) - { - xSemaphoreGiveFromISR(xBinarySem, &xHigherPriorityTaskWoken); - portYIELD_FROM_ISR(xHigherPriorityTaskWoken); /* 根据需要发起切换请求 */ - } - GPIOA_ClearITFlagBit(flag); /* 清除中断标志 */ -} - /******************************** endfile @ main ******************************/ diff --git a/system/HAL/.vscode/c_cpp_properties.json b/system/HAL/.vscode/c_cpp_properties.json new file mode 100644 index 0000000..ff92585 --- /dev/null +++ b/system/HAL/.vscode/c_cpp_properties.json @@ -0,0 +1,18 @@ +{ + "configurations": [ + { + "name": "windows-gcc-x64", + "includePath": [ + "${workspaceFolder}/**" + ], + "compilerPath": "C:/TDM-GCC-64/bin/gcc.exe", + "cStandard": "${default}", + "cppStandard": "${default}", + "intelliSenseMode": "windows-gcc-x64", + "compilerArgs": [ + "" + ] + } + ], + "version": 4 +} \ No newline at end of file diff --git a/system/HAL/.vscode/launch.json b/system/HAL/.vscode/launch.json new file mode 100644 index 0000000..6fc6047 --- /dev/null +++ b/system/HAL/.vscode/launch.json @@ -0,0 +1,24 @@ +{ + "version": "0.2.0", + "configurations": [ + { + "name": "C/C++ Runner: Debug Session", + "type": "cppdbg", + "request": "launch", + "args": [], + "stopAtEntry": false, + "externalConsole": true, + "cwd": "c:/Users/Administrator/Desktop/CH585EVT/EVT/EXAM/BLE/HAL", + "program": "c:/Users/Administrator/Desktop/CH585EVT/EVT/EXAM/BLE/HAL/build/Debug/outDebug", + "MIMode": "gdb", + "miDebuggerPath": "gdb", + "setupCommands": [ + { + "description": "Enable pretty-printing for gdb", + "text": "-enable-pretty-printing", + "ignoreFailures": true + } + ] + } + ] +} \ No newline at end of file diff --git a/system/HAL/.vscode/settings.json b/system/HAL/.vscode/settings.json new file mode 100644 index 0000000..bb879da --- /dev/null +++ b/system/HAL/.vscode/settings.json @@ -0,0 +1,59 @@ +{ + "C_Cpp_Runner.cCompilerPath": "gcc", + "C_Cpp_Runner.cppCompilerPath": "g++", + "C_Cpp_Runner.debuggerPath": "gdb", + "C_Cpp_Runner.cStandard": "", + "C_Cpp_Runner.cppStandard": "", + "C_Cpp_Runner.msvcBatchPath": "C:/Program Files/Microsoft Visual Studio/VR_NR/Community/VC/Auxiliary/Build/vcvarsall.bat", + "C_Cpp_Runner.useMsvc": false, + "C_Cpp_Runner.warnings": [ + "-Wall", + "-Wextra", + "-Wpedantic", + "-Wshadow", + "-Wformat=2", + "-Wcast-align", + "-Wconversion", + "-Wsign-conversion", + "-Wnull-dereference" + ], + "C_Cpp_Runner.msvcWarnings": [ + "/W4", + "/permissive-", + "/w14242", + "/w14287", + "/w14296", + "/w14311", + "/w14826", + "/w44062", + "/w44242", + "/w14905", + "/w14906", + "/w14263", + "/w44265", + "/w14928" + ], + "C_Cpp_Runner.enableWarnings": true, + "C_Cpp_Runner.warningsAsError": false, + "C_Cpp_Runner.compilerArgs": [], + "C_Cpp_Runner.linkerArgs": [], + "C_Cpp_Runner.includePaths": [], + "C_Cpp_Runner.includeSearch": [ + "*", + "**/*" + ], + "C_Cpp_Runner.excludeSearch": [ + "**/build", + "**/build/**", + "**/.*", + "**/.*/**", + "**/.vscode", + "**/.vscode/**" + ], + "C_Cpp_Runner.useAddressSanitizer": false, + "C_Cpp_Runner.useUndefinedSanitizer": false, + "C_Cpp_Runner.useLeakSanitizer": false, + "C_Cpp_Runner.showCompilationTime": false, + "C_Cpp_Runner.useLinkTimeOptimization": false, + "C_Cpp_Runner.msvcSecureNoWarnings": false +} \ No newline at end of file diff --git a/system/HAL/KEY.c b/system/HAL/KEY.c new file mode 100644 index 0000000..ed79e24 --- /dev/null +++ b/system/HAL/KEY.c @@ -0,0 +1,137 @@ +/********************************** (C) COPYRIGHT ******************************* + * File Name : KEY.c + * Author : WCH + * Version : V1.2 + * Date : 2022/01/18 + * Description : + ********************************************************************************* + * Copyright (c) 2021 Nanjing Qinheng Microelectronics Co., Ltd. + * Attention: This software (modified or not) and binary are used for + * microcontroller manufactured by Nanjing Qinheng Microelectronics. + *******************************************************************************/ + +/******************************************************************************/ +/* 头文件包含 */ +#include "HAL.h" + +/************************************************************************************************** + * GLOBAL VARIABLES + **************************************************************************************************/ + +static uint8_t halKeySavedKeys; /* 保留按键最后的状态,用于查询是否有键值变化 */ + +/************************************************************************************************** + * FUNCTIONS - Local + **************************************************************************************************/ +static halKeyCBack_t pHalKeyProcessFunction; /* callback function */ + +/************************************************************************************************** + * @fn HAL_KeyInit + * + * @brief Initilize Key Service + * + * @param none + * + * @return None + **************************************************************************************************/ +void HAL_KeyInit(void) +{ + /* Initialize previous key to 0 */ + halKeySavedKeys = 0; + /* Initialize callback function */ + pHalKeyProcessFunction = NULL; + KEY1_DIR; + KEY1_PU; + KEY2_DIR; + KEY2_PU; +} + +/************************************************************************************************** + * @fn HalKeyConfig + * + * @brief Configure the Key serivce + * + * @param cback - pointer to the CallBack function + * + * @return None + **************************************************************************************************/ +void HalKeyConfig(halKeyCBack_t cback) +{ + /* Register the callback fucntion */ + pHalKeyProcessFunction = cback; + tmos_start_task(halTaskID, HAL_KEY_EVENT, HAL_KEY_POLLING_VALUE); /* Kick off polling */ +} + +/************************************************************************************************** + * @fn HalKeyRead + * + * @brief Read the current value of a key + * + * @param None + * + * @return keys - current keys status + **************************************************************************************************/ +uint8_t HalKeyRead(void) +{ + uint8_t keys = 0; + + if(HAL_PUSH_BUTTON1()) + { //读按键1 + keys |= HAL_KEY_SW_1; + } + if(HAL_PUSH_BUTTON2()) + { //读按键1 + keys |= HAL_KEY_SW_2; + } + if(HAL_PUSH_BUTTON3()) + { //读按键1 + keys |= HAL_KEY_SW_3; + } + if(HAL_PUSH_BUTTON4()) + { //读按键1 + keys |= HAL_KEY_SW_4; + } + return keys; +} + +/************************************************************************************************** + * @fn HAL_KeyPoll + * + * @brief Called by hal_driver to poll the keys + * + * @param None + * + * @return None + **************************************************************************************************/ +void HAL_KeyPoll(void) +{ + uint8_t keys = 0; + if(HAL_PUSH_BUTTON1()) + { + keys |= HAL_KEY_SW_1; + } + if(HAL_PUSH_BUTTON2()) + { + keys |= HAL_KEY_SW_2; + } + if(HAL_PUSH_BUTTON3()) + { + keys |= HAL_KEY_SW_3; + } + if(HAL_PUSH_BUTTON4()) + { + keys |= HAL_KEY_SW_4; + } + if(keys == halKeySavedKeys) + { /* Exit - since no keys have changed */ + return; + } + halKeySavedKeys = keys; /* Store the current keys for comparation next time */ + /* Invoke Callback if new keys were depressed */ + if(keys && (pHalKeyProcessFunction)) + { + (pHalKeyProcessFunction)(keys); + } +} + +/******************************** endfile @ key ******************************/ diff --git a/system/HAL/LED.c b/system/HAL/LED.c new file mode 100644 index 0000000..a55d8df --- /dev/null +++ b/system/HAL/LED.c @@ -0,0 +1,361 @@ +/********************************** (C) COPYRIGHT ******************************* + * File Name : LED.c + * Author : WCH + * Version : V1.2 + * Date : 2022/01/18 + * Description : + ********************************************************************************* + * Copyright (c) 2021 Nanjing Qinheng Microelectronics Co., Ltd. + * Attention: This software (modified or not) and binary are used for + * microcontroller manufactured by Nanjing Qinheng Microelectronics. + *******************************************************************************/ + +/******************************************************************************/ +/* 头文件包含 */ +#include "HAL.h" + +/* LED control structure */ +typedef struct +{ + uint8_t mode; /* Operation mode */ + uint8_t todo; /* Blink cycles left */ + uint8_t onPct; /* On cycle percentage */ + uint16_t time; /* On/off cycle time (msec) */ + uint32_t next; /* Time for next change */ +} HalLedControl_t; + +typedef struct +{ + HalLedControl_t HalLedControlTable[HAL_LED_DEFAULT_MAX_LEDS]; + uint8_t sleepActive; +} HalLedStatus_t; + +/*************************************************************************************************** + * GLOBAL VARIABLES + ***************************************************************************************************/ +static uint8_t HalLedState; // LED state at last set/clr/blink update + +static uint8_t preBlinkState; // Original State before going to blink mode + // bit 0, 1, 2, 3 represent led 0, 1, 2, 3 +static HalLedStatus_t HalLedStatusControl; + +/*************************************************************************************************** + * LOCAL FUNCTION + ***************************************************************************************************/ +void HalLedOnOff(uint8_t leds, uint8_t mode); + +/*************************************************************************************************** + * FUNCTIONS - API + ***************************************************************************************************/ + +/********************************************************************* + * @fn HAL_LedInit + * + * @brief Initialize LED Service + * + * @return none + */ +void HAL_LedInit(void) +{ + /* Initialize all LEDs to OFF */ + LED1_DDR; + HalLedSet(HAL_LED_ALL, HAL_LED_MODE_OFF); + // just test + HalLedBlink(HAL_LED_1, 10, 30, 4000); + /* Initialize sleepActive to FALSE */ + HalLedStatusControl.sleepActive = FALSE; +} + +/********************************************************************* + * @fn HalLedSet + * + * @brief Turn ON/OFF/TOGGLE given LEDs + * + * @param led - bit mask value of leds to be turned ON/OFF/TOGGLE + * @param mode - BLINK, FLASH, TOGGLE, ON, OFF + * + * @return 0 + */ +uint8_t HalLedSet(uint8_t leds, uint8_t mode) +{ + uint8_t led; + HalLedControl_t *sts; + + switch(mode) + { + case HAL_LED_MODE_BLINK: + { + /* Default blink, 1 time, D% duty cycle */ + HalLedBlink(leds, 1, HAL_LED_DEFAULT_DUTY_CYCLE, HAL_LED_DEFAULT_FLASH_TIME); + break; + } + + case HAL_LED_MODE_FLASH: + { + /* Default flash, N times, D% duty cycle */ + HalLedBlink(leds, HAL_LED_DEFAULT_FLASH_COUNT, HAL_LED_DEFAULT_DUTY_CYCLE, HAL_LED_DEFAULT_FLASH_TIME); + break; + } + + case HAL_LED_MODE_ON: + case HAL_LED_MODE_OFF: + case HAL_LED_MODE_TOGGLE: + { + led = HAL_LED_1; + leds &= HAL_LED_ALL; + sts = HalLedStatusControl.HalLedControlTable; + while(leds) + { + if(leds & led) + { + if(mode != HAL_LED_MODE_TOGGLE) + { + sts->mode = mode; /* ON or OFF */ + } + else + { + sts->mode ^= HAL_LED_MODE_ON; /* Toggle */ + } + HalLedOnOff(led, sts->mode); + leds ^= led; + } + led <<= 1; + sts++; + } + break; + } + + default: + break; + } + return (0); +} + +/********************************************************************* + * @fn HalLedBlink + * + * @brief Blink the leds + * + * @param led - bit mask value of leds to be turned ON/OFF/TOGGLE + * @param numBlinks - number of blinks + * @param percent - the percentage in each period where the led will be on + * @param period - length of each cycle in milliseconds + * + * @return none + */ +void HalLedBlink(uint8_t leds, uint8_t numBlinks, uint8_t percent, uint16_t period) +{ + uint8_t led; + HalLedControl_t *sts; + + if(leds && percent && period) + { + if(percent < 100) + { + led = HAL_LED_1; + leds &= HAL_LED_ALL; + sts = HalLedStatusControl.HalLedControlTable; + while(leds) + { + if(leds & led) + { + /* Store the current state of the led before going to blinking */ + preBlinkState |= (led & HalLedState); + sts->mode = HAL_LED_MODE_OFF; /* Stop previous blink */ + sts->time = period; /* Time for one on/off cycle */ + sts->onPct = percent; /* % of cycle LED is on */ + sts->todo = numBlinks; /* Number of blink cycles */ + if(!numBlinks) + { + sts->mode |= HAL_LED_MODE_FLASH; /* Continuous */ + } + sts->next = TMOS_GetSystemClock(); /* Start now */ + sts->mode |= HAL_LED_MODE_BLINK; /* Enable blinking */ + leds ^= led; + } + led <<= 1; + sts++; + } + tmos_start_task(halTaskID, LED_BLINK_EVENT, 0); + } + else + { + HalLedSet(leds, HAL_LED_MODE_ON); /* >= 100%, turn on */ + } + } + else + { + HalLedSet(leds, HAL_LED_MODE_OFF); /* No on time, turn off */ + } +} + +/********************************************************************* + * @fn HalLedUpdate + * + * @brief Update leds to work with blink + * + * @return none + */ +void HalLedUpdate(void) +{ + uint8_t led, pct, leds; + uint16_t next, wait; + uint32_t time; + HalLedControl_t *sts; + + next = 0; + led = HAL_LED_1; + leds = HAL_LED_ALL; + sts = HalLedStatusControl.HalLedControlTable; + + /* Check if sleep is active or not */ + if(!HalLedStatusControl.sleepActive) + { + while(leds) + { + if(leds & led) + { + if(sts->mode & HAL_LED_MODE_BLINK) + { + time = TMOS_GetSystemClock(); + if(time >= sts->next) + { + if(sts->mode & HAL_LED_MODE_ON) + { + pct = 100 - sts->onPct; /* Percentage of cycle for off */ + sts->mode &= ~HAL_LED_MODE_ON; /* Say it's not on */ + HalLedOnOff(led, HAL_LED_MODE_OFF); /* Turn it off */ + if(!(sts->mode & HAL_LED_MODE_FLASH)) + { + if(sts->todo != 0xff) + { + sts->todo--; /* Not continuous, reduce count */ + } + if(!sts->todo) + { + sts->mode ^= HAL_LED_MODE_BLINK; /* No more blinks */ + } + } + } + else + { + pct = sts->onPct; /* Percentage of cycle for on */ + sts->mode |= HAL_LED_MODE_ON; /* Say it's on */ + HalLedOnOff(led, HAL_LED_MODE_ON); /* Turn it on */ + } + if(sts->mode & HAL_LED_MODE_BLINK) + { + wait = (((uint32_t)pct * (uint32_t)sts->time) / 100); + sts->next = time + wait; + } + else + { + /* no more blink, no more wait */ + wait = 0; + /* After blinking, set the LED back to the state before it blinks */ + HalLedSet(led, ((preBlinkState & led) != 0) ? HAL_LED_MODE_ON : HAL_LED_MODE_OFF); + /* Clear the saved bit */ + preBlinkState &= (led ^ 0xFF); + } + } + else + { + wait = sts->next - time; /* Time left */ + } + if(!next || (wait && (wait < next))) + { + next = wait; + } + } + leds ^= led; + } + led <<= 1; + sts++; + } + if(next) + { + tmos_start_task(halTaskID, LED_BLINK_EVENT, next); /* Schedule event */ + } + } +} + +/********************************************************************* + * @fn HalLedOnOff + * + * @brief Turns specified LED ON or OFF + * + * @param led - LED bit mask + * @param mode - LED_ON,LED_OFF, + * + * @return none + */ +void HalLedOnOff(uint8_t leds, uint8_t mode) +{ + if(leds & HAL_LED_1) + { + if(mode == HAL_LED_MODE_ON) + { + HAL_TURN_ON_LED1(); + } + else + { + HAL_TURN_OFF_LED1(); + } + } + if(leds & HAL_LED_2) + { + if(mode == HAL_LED_MODE_ON) + { + HAL_TURN_ON_LED2(); + } + else + { + HAL_TURN_OFF_LED2(); + } + } + if(leds & HAL_LED_3) + { + if(mode == HAL_LED_MODE_ON) + { + HAL_TURN_ON_LED3(); + } + else + { + HAL_TURN_OFF_LED3(); + } + } + if(leds & HAL_LED_4) + { + if(mode == HAL_LED_MODE_ON) + { + HAL_TURN_ON_LED4(); + } + else + { + HAL_TURN_OFF_LED4(); + } + } + /* Remember current state */ + if(mode) + { + HalLedState |= leds; + } + else + { + HalLedState &= (leds ^ 0xFF); + } +} + +/*************************************************************************************************** + * @fn HalGetLedState + * + * @brief Dim LED2 - Dim (set level) of LED2 + * + * @return led state + */ +uint8_t HalLedGetState() +{ + return HalLedState; +} + +/******************************** endfile @ led ******************************/ diff --git a/system/HAL/MCU.c b/system/HAL/MCU.c new file mode 100644 index 0000000..d2851ba --- /dev/null +++ b/system/HAL/MCU.c @@ -0,0 +1,302 @@ +/********************************** (C) COPYRIGHT ******************************* + * File Name : MCU.c + * Author : WCH + * Version : V1.2 + * Date : 2022/01/18 + * Description : 硬件任务处理函数及BLE和硬件初始化 + ********************************************************************************* + * Copyright (c) 2021 Nanjing Qinheng Microelectronics Co., Ltd. + * Attention: This software (modified or not) and binary are used for + * microcontroller manufactured by Nanjing Qinheng Microelectronics. + *******************************************************************************/ + +/******************************************************************************/ +/* 头文件包含 */ +#include "HAL.h" + +tmosTaskID halTaskID; +uint32_t g_LLE_IRQLibHandlerLocation; +/******************************************************************************* + * @fn Lib_Calibration_LSI + * + * @brief 内部32k校准 + * + * @param None. + * + * @return None. + */ +void Lib_Calibration_LSI(void) +{ + Calibration_LSI(Level_64); +} + +#if(defined(BLE_SNV)) && (BLE_SNV == TRUE) +/******************************************************************************* + * @fn Lib_Read_Flash + * + * @brief Callback function used for BLE lib. + * + * @param addr - Read start address + * @param num - Number of units to read (unit: 4 bytes) + * @param pBuf - Buffer to store read data + * + * @return None. + */ +uint32_t Lib_Read_Flash(uint32_t addr, uint32_t num, uint32_t *pBuf) +{ + EEPROM_READ(addr, pBuf, num * 4); + return 0; +} + +/******************************************************************************* + * @fn Lib_Write_Flash_584X + * + * @brief Callback function used for BLE lib. + * + * @param addr - Write start address + * @param num - Number of units to write (unit: 4 bytes) + * @param pBuf - Buffer with data to be written + * + * @return None. + */ +void Lib_Write_Flash_584X(uint32_t addr, uint32_t num, uint32_t *pBuf) +{ + __attribute__((aligned(4))) uint32_t FLASH_BUF[(BLE_SNV_BLOCK*BLE_SNV_NUM) / 4]; + EEPROM_READ(addr&0xFFFFF000, FLASH_BUF, BLE_SNV_BLOCK*BLE_SNV_NUM); + tmos_memcpy(&FLASH_BUF[addr&0xFFF], pBuf, num * 4); + EEPROM_ERASE(addr&0xFFFFF000, ((BLE_SNV_BLOCK*BLE_SNV_NUM+EEPROM_BLOCK_SIZE-1)/EEPROM_BLOCK_SIZE)*EEPROM_BLOCK_SIZE); + EEPROM_WRITE(addr&0xFFFFF000, FLASH_BUF, BLE_SNV_BLOCK*BLE_SNV_NUM); +} + +/******************************************************************************* + * @fn Lib_Write_Flash + * + * @brief Callback function used for BLE lib. + * + * @param addr - Write start address + * @param num - Number of units to write (unit: 4 bytes) + * @param pBuf - Buffer with data to be written + * + * @return None. + */ +uint32_t Lib_Write_Flash(uint32_t addr, uint32_t num, uint32_t *pBuf) +{ + if((chip_info&0x0F) == DEF_CHIP_ID_CH584X) + { + Lib_Write_Flash_584X(addr, num, pBuf); + } + else + { + EEPROM_ERASE(addr, num * 4); + EEPROM_WRITE(addr, pBuf, num * 4); + } + return 0; +} +#endif + +/******************************************************************************* + * @fn CH58x_BLEInit + * + * @brief BLE 库初始化 + * + * @param None. + * + * @return None. + */ +void CH58x_BLEInit(void) +{ + uint8_t i; + bleConfig_t cfg; + if(tmos_memcmp(VER_LIB, VER_FILE, strlen(VER_FILE)) == FALSE) + { + PRINT("head file error...\n"); + while(1); + } + + __SysTick_Config(SysTick_LOAD_RELOAD_Msk);// 配置SysTick并打开中断 + PFIC_DisableIRQ(SysTick_IRQn); + + g_LLE_IRQLibHandlerLocation = (uint32_t)LLE_IRQLibHandler; + PFIC_SetPriority(BLEL_IRQn, 0xF0); + tmos_memset(&cfg, 0, sizeof(bleConfig_t)); + cfg.MEMAddr = (uint32_t)MEM_BUF; + cfg.MEMLen = (uint32_t)BLE_MEMHEAP_SIZE; + cfg.BufMaxLen = (uint32_t)BLE_BUFF_MAX_LEN; + cfg.BufNumber = (uint32_t)BLE_BUFF_NUM; + cfg.TxNumEvent = (uint32_t)BLE_TX_NUM_EVENT; + cfg.TxPower = (uint32_t)BLE_TX_POWER; +#if(defined(BLE_SNV)) && (BLE_SNV == TRUE) + if((BLE_SNV_ADDR + BLE_SNV_BLOCK * BLE_SNV_NUM) > (0x78000 - FLASH_ROM_MAX_SIZE)) + { + PRINT("SNV config error...\n"); + while(1); + } + cfg.SNVAddr = (uint32_t)BLE_SNV_ADDR; + cfg.SNVBlock = (uint32_t)BLE_SNV_BLOCK; + cfg.SNVNum = (uint32_t)BLE_SNV_NUM; + cfg.readFlashCB = Lib_Read_Flash; + cfg.writeFlashCB = Lib_Write_Flash; +#endif + cfg.ConnectNumber = (PERIPHERAL_MAX_CONNECTION & 3) | (CENTRAL_MAX_CONNECTION << 2); + cfg.srandCB = SYS_GetSysTickCnt; +#if(defined TEM_SAMPLE) && (TEM_SAMPLE == TRUE) + cfg.tsCB = HAL_GetInterTempValue; // 根据温度变化校准RF和内部RC( 大于7摄氏度 ) + #if(CLK_OSC32K) + cfg.rcCB = Lib_Calibration_LSI; // 内部32K时钟校准 + #endif +#endif +#if(defined(HAL_SLEEP)) && (HAL_SLEEP == TRUE) + cfg.idleCB = CH58x_LowPower; // 启用睡眠 +#endif +#if(defined(BLE_MAC)) && (BLE_MAC == TRUE) + for(i = 0; i < 6; i++) + { + cfg.MacAddr[i] = MacAddr[5 - i]; + } +#else + { + uint8_t MacAddr[6]; + GetMACAddress(MacAddr); + for(i = 0; i < 6; i++) + { + cfg.MacAddr[i] = MacAddr[i]; // 使用芯片mac地址 + } + } +#endif + if(!cfg.MEMAddr || cfg.MEMLen < 4 * 1024) + { + while(1); + } + // BLE_Lib 占用了VTF Interrupt 2号和3号 + i = BLE_LibInit(&cfg); + if(i) + { + PRINT("LIB init error code: %x ...\n", i); + while(1); + } +} + +/******************************************************************************* + * @fn HAL_ProcessEvent + * + * @brief 硬件层事务处理 + * + * @param task_id - The TMOS assigned task ID. + * @param events - events to process. This is a bit map and can + * contain more than one event. + * + * @return events. + */ +tmosEvents HAL_ProcessEvent(tmosTaskID task_id, tmosEvents events) +{ + uint8_t *msgPtr; + + if(events & SYS_EVENT_MSG) + { // 处理HAL层消息,调用tmos_msg_receive读取消息,处理完成后删除消息。 + msgPtr = tmos_msg_receive(task_id); + if(msgPtr) + { + /* De-allocate */ + tmos_msg_deallocate(msgPtr); + } + return events ^ SYS_EVENT_MSG; + } + if(events & LED_BLINK_EVENT) + { +#if(defined HAL_LED) && (HAL_LED == TRUE) + HalLedUpdate(); +#endif // HAL_LED + return events ^ LED_BLINK_EVENT; + } + if(events & HAL_KEY_EVENT) + { +#if(defined HAL_KEY) && (HAL_KEY == TRUE) + HAL_KeyPoll(); /* Check for keys */ + tmos_start_task(halTaskID, HAL_KEY_EVENT, MS1_TO_SYSTEM_TIME(100)); + return events ^ HAL_KEY_EVENT; +#endif + } + if(events & HAL_REG_INIT_EVENT) + { + uint8_t x32Kpw; +#if(defined BLE_CALIBRATION_ENABLE) && (BLE_CALIBRATION_ENABLE == TRUE) // 校准任务,单次校准耗时小于10ms +#ifndef RF_8K + BLE_RegInit(); // 校准RF,会关闭RF并改变RF相关寄存器,如果使用了RF收发函数需注意校准后再重新启用 +#endif +#if(CLK_OSC32K) + Lib_Calibration_LSI(); // 校准内部RC +#elif(HAL_SLEEP) + x32Kpw = (R8_XT32K_TUNE & 0xfc) | 0x01; + sys_safe_access_enable(); + R8_XT32K_TUNE = x32Kpw; // LSE驱动电流降低到额定电流 + sys_safe_access_disable(); +#endif + tmos_start_task(halTaskID, HAL_REG_INIT_EVENT, MS1_TO_SYSTEM_TIME(BLE_CALIBRATION_PERIOD)); + return events ^ HAL_REG_INIT_EVENT; +#endif + } + if(events & HAL_TEST_EVENT) + { + PRINT("* \n"); + tmos_start_task(halTaskID, HAL_TEST_EVENT, MS1_TO_SYSTEM_TIME(1000)); + return events ^ HAL_TEST_EVENT; + } + return 0; +} + +/******************************************************************************* + * @fn HAL_Init + * + * @brief 硬件初始化 + * + * @param None. + * + * @return None. + */ +void HAL_Init() +{ + halTaskID = TMOS_ProcessEventRegister(HAL_ProcessEvent); + HAL_TimeInit(); +#if(defined HAL_SLEEP) && (HAL_SLEEP == TRUE) + HAL_SleepInit(); +#endif +#if(defined HAL_LED) && (HAL_LED == TRUE) + HAL_LedInit(); +#endif +#if(defined HAL_KEY) && (HAL_KEY == TRUE) + HAL_KeyInit(); +#endif +#if(defined BLE_CALIBRATION_ENABLE) && (BLE_CALIBRATION_ENABLE == TRUE) + tmos_start_task(halTaskID, HAL_REG_INIT_EVENT, 800); // 添加校准任务,500ms启动,单次校准耗时小于10ms +#endif +// tmos_start_task( halTaskID, HAL_TEST_EVENT, 1600 ); // 添加一个测试任务 +} + +/******************************************************************************* + * @fn HAL_GetInterTempValue + * + * @brief 获取内部温感采样值,如果使用了ADC中断采样,需在此函数中暂时屏蔽中断. + * + * @return 内部温感采样值. + */ +uint16_t HAL_GetInterTempValue(void) +{ + uint8_t sensor, channel, config, tkey_cfg; + uint16_t adc_data; + + tkey_cfg = R8_TKEY_CFG; + sensor = R8_TEM_SENSOR; + channel = R8_ADC_CHANNEL; + config = R8_ADC_CFG; + ADC_InterTSSampInit(); + R8_ADC_CONVERT |= RB_ADC_START; + while(R8_ADC_CONVERT & RB_ADC_START); + adc_data = R16_ADC_DATA; + R8_TEM_SENSOR = sensor; + R8_ADC_CHANNEL = channel; + R8_ADC_CFG = config; + R8_TKEY_CFG = tkey_cfg; + return (adc_data); +} + +/******************************** endfile @ mcu ******************************/ diff --git a/system/HAL/RTC.c b/system/HAL/RTC.c new file mode 100644 index 0000000..1e094ef --- /dev/null +++ b/system/HAL/RTC.c @@ -0,0 +1,205 @@ +/********************************** (C) COPYRIGHT ******************************* + * File Name : RTC.c + * Author : WCH + * Version : V1.2 + * Date : 2022/01/18 + * Description : RTC配置及其初始化 + ********************************************************************************* + * Copyright (c) 2021 Nanjing Qinheng Microelectronics Co., Ltd. + * Attention: This software (modified or not) and binary are used for + * microcontroller manufactured by Nanjing Qinheng Microelectronics. + *******************************************************************************/ + +/******************************************************************************/ +/* 头文件包含 */ +#include "HAL.h" + +/********************************************************************* + * CONSTANTS + */ +#define RTC_INIT_TIME_HOUR 0 +#define RTC_INIT_TIME_MINUTE 0 +#define RTC_INIT_TIME_SECEND 0 + +/*************************************************** + * Global variables + */ +volatile uint32_t RTCTigFlag; + +#if RF_8K + +/********************************************************************* + * @fn TMR3_IRQHandler + * + * @brief TMR0中断函数 + * + * @return none + */ +__INTERRUPT +__HIGH_CODE +void TMR3_IRQHandler(void) // TMR3 +{ + uint32_t trig_time; + + TMR3_ClearITFlag(TMR0_3_IT_CYC_END); // 清除中断标志 + if( !TMOS_TimerIRQHandler( &trig_time ) ) + { + if( trig_time ) + { + R32_TMR3_CNT_END = trig_time; + R8_TMR3_CTRL_MOD = RB_TMR_ALL_CLEAR; + R8_TMR3_CTRL_MOD = RB_TMR_COUNT_EN; + } + else + { + PRINT("!!!!!!!!!!!!!!!!!! warn \n"); + } + } +} + +/* + * @brief + * + * input parameters + * + * @param None. + * + * output parameters + * + * @param None. + * + * @return None. + */ +__HIGH_CODE +static uint32_t SYS_GetClock1Value(void) +{ + return SysTick->CNT; +} +__HIGH_CODE +static void SYS_SetClock1PendingIRQ(void) +{ + PFIC_SetPendingIRQ( TMR3_IRQn ); +} +__HIGH_CODE +static void SYS_SetTignOffest( int32_t val ) +{ + R32_TMR3_CNT_END += (val); +} + +#endif + +/******************************************************************************* + * @fn RTC_SetTignTime + * + * @brief 配置RTC触发时间 + * + * @param time - 触发时间. + * + * @return None. + */ +__HIGH_CODE +void RTC_SetTignTime(uint32_t time) +{ + sys_safe_access_enable(); + R32_RTC_TRIG = time; + sys_safe_access_disable(); + RTCTigFlag = 0; +} + +/******************************************************************************* + * @fn RTC_IRQHandler + * + * @brief RTC中断处理 + * + * @param None. + * + * @return None. + */ +__INTERRUPT +__HIGH_CODE +void RTC_IRQHandler(void) +{ + R8_RTC_FLAG_CTRL = (RB_RTC_TMR_CLR | RB_RTC_TRIG_CLR); + RTCTigFlag = 1; +} + +/******************************************************************************* + * @fn SYS_GetClockValue + * + * @brief 获取RTC当前计数值 + * + * @param None. + * + * @return None. + */ +__HIGH_CODE +static uint32_t SYS_GetClockValue(void) +{ + volatile uint32_t i; + + do + { + i = R32_RTC_CNT_32K; + } while(i != R32_RTC_CNT_32K); + + return (i); +} +__HIGH_CODE +static void SYS_SetPendingIRQ(void) +{ + PFIC_SetPendingIRQ( RTC_IRQn ); +} + +/******************************************************************************* + * @fn HAL_Time0Init + * + * @brief 系统定时器初始化 + * + * @param None. + * + * @return None. + */ +void HAL_TimeInit(void) +{ + bleClockConfig_t conf; +#if(CLK_OSC32K) + sys_safe_access_enable(); + R8_CK32K_CONFIG &= ~(RB_CLK_OSC32K_XT | RB_CLK_XT32K_PON); + sys_safe_access_disable(); + sys_safe_access_enable(); + R8_CK32K_CONFIG |= RB_CLK_INT32K_PON; + sys_safe_access_disable(); + LSECFG_Current(LSE_RCur_100); + Lib_Calibration_LSI(); +#else + sys_safe_access_enable(); + R8_CK32K_CONFIG &= ~RB_CLK_INT32K_PON; + sys_safe_access_disable(); + sys_safe_access_enable(); + R8_CK32K_CONFIG |= RB_CLK_OSC32K_XT | RB_CLK_XT32K_PON; + sys_safe_access_disable(); +#endif + RTC_InitTime(2020, 1, 1, 0, 0, 0); //RTC时钟初始化当前时间 + + tmos_memset( &conf, 0, sizeof(bleClockConfig_t) ); + conf.ClockAccuracy = CLK_OSC32K ? 1000 : 50; + conf.ClockFrequency = CAB_LSIFQ; + conf.ClockMaxCount = RTC_MAX_COUNT; + conf.getClockValue = SYS_GetClockValue; + conf.SetPendingIRQ = SYS_SetPendingIRQ; + +#if RF_8K + // rf-8k 通信时间相关配置 + conf.Clock1Frequency = GetSysClock( )/1000; + conf.getClock1Value = SYS_GetClock1Value; + conf.SetClock1PendingIRQ = SYS_SetClock1PendingIRQ; + conf.SetTign = SYS_SetTignOffest; + TMR3_ITCfg(ENABLE, TMR0_3_IT_CYC_END); // 开启中断 + PFIC_EnableIRQ(TMR3_IRQn); +#endif + + TMOS_TimerInit( &conf ); + +} + +/******************************** endfile @ time ******************************/ diff --git a/system/HAL/SLEEP.c b/system/HAL/SLEEP.c new file mode 100644 index 0000000..f38e3e5 --- /dev/null +++ b/system/HAL/SLEEP.c @@ -0,0 +1,149 @@ +/********************************** (C) COPYRIGHT ******************************* + * File Name : SLEEP.c + * Author : WCH + * Version : V1.2 + * Date : 2022/01/18 + * Description : 睡眠配置及其初始化 + ********************************************************************************* + * Copyright (c) 2021 Nanjing Qinheng Microelectronics Co., Ltd. + * Attention: This software (modified or not) and binary are used for + * microcontroller manufactured by Nanjing Qinheng Microelectronics. + *******************************************************************************/ + +/******************************************************************************/ +/* 头文件包含 */ +#include "HAL.h" + + +pfnLowPowerGapProcessCB_t LowPowerGapProcess; +/******************************************************************************* + * @fn CH58x_LowPower + * + * @brief 启动睡眠 + * + * @param time - 唤醒的时间点(RTC绝对值) + * + * @return state. + */ +__HIGH_CODE +uint32_t CH58x_LowPower(uint32_t time) +{ +#if(defined(HAL_SLEEP)) && (HAL_SLEEP == TRUE) + volatile uint32_t i; + uint32_t time_tign, time_sleep, time_curr; + unsigned long irq_status; + + // 提前唤醒 + if (time <= WAKE_UP_RTC_MAX_TIME) { + time_tign = time + (RTC_MAX_COUNT - WAKE_UP_RTC_MAX_TIME); + } else { + time_tign = time - WAKE_UP_RTC_MAX_TIME; + } + + SYS_DisableAllIrq(&irq_status); + time_curr = RTC_GetCycle32k(); + // 检测睡眠时间 + if (time_tign < time_curr) { + time_sleep = time_tign + (RTC_MAX_COUNT - time_curr); + } else { + time_sleep = time_tign - time_curr; + } + + // 若睡眠时间小于最小睡眠时间或大于最大睡眠时间,则不睡眠 + if ((time_sleep < SLEEP_RTC_MIN_TIME) || + (time_sleep > SLEEP_RTC_MAX_TIME)) { + SYS_RecoverIrq(irq_status); + return 2; + } + + RTC_SetTignTime(time_tign); + R8_RTC_FLAG_CTRL = (RB_RTC_TMR_CLR | RB_RTC_TRIG_CLR); + +#if(DEBUG == Debug_UART0) // 使用其他串口输出打印信息需要修改这行代码 + while((R8_UART0_LSR & RB_LSR_TX_ALL_EMP) == 0) + { + __nop(); + } +#endif + // LOW POWER-sleep模式 + if(!(R8_RTC_FLAG_CTRL&RB_RTC_TRIG_FLAG)) + { + uint8_t x32Mpw; + + LowPower_Sleep_WFE(RB_PWR_RAM32K | RB_PWR_RAM96K | RB_PWR_EXTEND); + + // 切换32M电流 + x32Mpw = R8_XT32M_TUNE; + x32Mpw = (x32Mpw & 0xfc) | 0x03; // 150%额定电流 + sys_safe_access_enable(); + R8_XT32M_TUNE = x32Mpw; + sys_safe_access_disable(); + + if(!(R8_RTC_FLAG_CTRL&RB_RTC_TRIG_FLAG)) //非RTC唤醒 + { + // 注意此时32M还需等待稳定,也可执行一些时钟要求不高的代码 + DelayUs(1400); + SetSysClock( SYSCLK_FREQ ); + SYS_RecoverIrq(irq_status); + return 0; + } + + R8_RTC_FLAG_CTRL = (RB_RTC_TMR_CLR | RB_RTC_TRIG_CLR); + RTC_SetTignTime(time); + sys_safe_access_enable(); + R8_HFCK_PWR_CTRL |= RB_CLK_XT32M_KEEP; + sys_safe_access_disable(); + if(!(R8_RTC_FLAG_CTRL&RB_RTC_TRIG_FLAG)) //非RTC唤醒 + { + LowPower_Halt_WFE(); + } + // 恢复时钟 + SetSysClock( SYSCLK_FREQ ); + R8_RTC_FLAG_CTRL = (RB_RTC_TMR_CLR | RB_RTC_TRIG_CLR); + SYS_RecoverIrq(irq_status); + HSECFG_Current(HSE_RCur_100); // 降为额定电流(低功耗函数中提升了HSE偏置电流) + return 0; + } + SYS_RecoverIrq(irq_status); +#endif + return 3; +} + +/******************************************************************************* + * @fn LowPowerGapProcess_Register + * + * @brief 注册低功耗唤醒间隙执行回调 + * + * @param None. + * + * @return None. + */ +void LowPowerGapProcess_Register(pfnLowPowerGapProcessCB_t cb) +{ + if((uint32_t)cb & 0x20000000) + { + LowPowerGapProcess = cb; + } +} + +/******************************************************************************* + * @fn HAL_SleepInit + * + * @brief 配置睡眠唤醒的方式 - RTC唤醒,触发模式 + * + * @param None. + * + * @return None. + */ +void HAL_SleepInit(void) +{ +#if(defined(HAL_SLEEP)) && (HAL_SLEEP == TRUE) + sys_safe_access_enable(); + R8_SLP_WAKE_CTRL |= RB_SLP_RTC_WAKE; // RTC唤醒 + sys_safe_access_disable(); + sys_safe_access_enable(); + R8_RTC_MODE_CTRL |= RB_RTC_TRIG_EN; // 触发模式 + sys_safe_access_disable(); + PFIC_EnableIRQ(RTC_IRQn); +#endif +} diff --git a/system/HAL/include/CONFIG.h b/system/HAL/include/CONFIG.h new file mode 100644 index 0000000..144ce24 --- /dev/null +++ b/system/HAL/include/CONFIG.h @@ -0,0 +1,151 @@ +/********************************** (C) COPYRIGHT ******************************* + * File Name : CONFIG.h + * Author : WCH + * Version : V1.2 + * Date : 2022/01/18 + * Description : 配置说明及默认值,建议在工程配置里的预处理中修改当前值 + ********************************************************************************* + * Copyright (c) 2021 Nanjing Qinheng Microelectronics Co., Ltd. + * Attention: This software (modified or not) and binary are used for + * microcontroller manufactured by Nanjing Qinheng Microelectronics. + *******************************************************************************/ + +/******************************************************************************/ +#ifndef __CONFIG_H +#define __CONFIG_H + + +#define CHIP_ID ID_CH585 + +#ifdef CH58xBLE_ROM +#include "CH58xBLE_ROM.h" +#else +#include "CH58xBLE_LIB.h" +#endif + +#include "CH58x_common.h" + +/********************************************************************* + 【MAC】 + BLE_MAC - 是否自定义蓝牙Mac地址 ( 默认:FALSE - 使用芯片Mac地址 ),需要在main.c修改Mac地址定义 + + 【DCDC】 + DCDC_ENABLE - 是否使能DCDC ( 默认:FALSE ) + + 【SLEEP】 + HAL_SLEEP - 是否开启睡眠功能 ( 默认:FALSE ) + SLEEP_RTC_MIN_TIME - 非空闲模式下睡眠的最小时间(单位:一个RTC周期) + SLEEP_RTC_MAX_TIME - 非空闲模式下睡眠的最大时间(单位:一个RTC周期) + WAKE_UP_RTC_MAX_TIME - 等待32M晶振稳定时间(单位:一个RTC周期) + 根据不同睡眠类型取值可分为: 睡眠模式/下电模式 - 45 (默认) + 暂停模式 - 45 + 空闲模式 - 5 + 【TEMPERATION】 + TEM_SAMPLE - 是否打开根据温度变化校准的功能,单次校准耗时小于10ms( 默认:TRUE ) + + 【CALIBRATION】 + BLE_CALIBRATION_ENABLE - 是否打开定时校准的功能,单次校准耗时小于10ms( 默认:TRUE ) + BLE_CALIBRATION_PERIOD - 定时校准的周期,单位ms( 默认:120000 ) + + 【SNV】 + BLE_SNV - 是否开启SNV功能,用于储存绑定信息( 默认:TRUE ) + BLE_SNV_ADDR - SNV信息保存地址,使用data flash最后512字节( 默认:0x77E00 ) + BLE_SNV_BLOCK - SNV信息保存块大小( 默认:256 ) + BLE_SNV_NUM - SNV信息保存数量( 默认:1 ) + + 【RTC】 + CLK_OSC32K - RTC时钟选择,如包含主机角色必须使用外部32K( 0 外部(32768Hz),默认:1:内部(32000Hz),2:内部(32768Hz) ) + + 【MEMORY】 + BLE_MEMHEAP_SIZE - 蓝牙协议栈使用的RAM大小,不小于6K ( 默认:(1024*6) ) + + 【DATA】 + BLE_BUFF_MAX_LEN - 单个连接最大包长度( 默认:27 (ATT_MTU=23),取值范围[27~516] ) + BLE_BUFF_NUM - 控制器缓存的包数量( 默认:5 ) + BLE_TX_NUM_EVENT - 单个连接事件最多可以发多少个数据包( 默认:1 ) + BLE_TX_POWER - 发射功率( 默认:LL_TX_POWEER_0_DBM (0dBm) ) + + 【MULTICONN】 + PERIPHERAL_MAX_CONNECTION - 最多可同时做多少从机角色( 默认:1 ) + CENTRAL_MAX_CONNECTION - 最多可同时做多少主机角色( 默认:3 ) + + **********************************************************************/ + +/********************************************************************* + * 默认配置值 + */ +#ifndef BLE_MAC +#define BLE_MAC FALSE +#endif +#ifndef DCDC_ENABLE +#define DCDC_ENABLE FALSE +#endif +#ifndef HAL_SLEEP +#define HAL_SLEEP FALSE +#endif +#ifndef SLEEP_RTC_MIN_TIME +#define SLEEP_RTC_MIN_TIME US_TO_RTC(1000) +#endif +#ifndef SLEEP_RTC_MAX_TIME +#define SLEEP_RTC_MAX_TIME (RTC_MAX_COUNT - 1000 * 1000 * 30) +#endif +#ifndef WAKE_UP_RTC_MAX_TIME +#define WAKE_UP_RTC_MAX_TIME US_TO_RTC(1600) +#endif +#ifndef HAL_KEY +#define HAL_KEY FALSE +#endif +#ifndef HAL_LED +#define HAL_LED FALSE +#endif +#ifndef TEM_SAMPLE +#define TEM_SAMPLE TRUE +#endif +#ifndef BLE_CALIBRATION_ENABLE +#define BLE_CALIBRATION_ENABLE TRUE +#endif +#ifndef BLE_CALIBRATION_PERIOD +#define BLE_CALIBRATION_PERIOD 120000 +#endif +#ifndef BLE_SNV +#define BLE_SNV TRUE +#endif +#ifndef BLE_SNV_ADDR +#define BLE_SNV_ADDR 0x77000-FLASH_ROM_MAX_SIZE +#endif +#ifndef BLE_SNV_BLOCK +#define BLE_SNV_BLOCK 256 +#endif +#ifndef BLE_SNV_NUM +#define BLE_SNV_NUM 1 +#endif +#ifndef CLK_OSC32K +#define CLK_OSC32K 1 // 该项请勿在此修改,必须在工程配置里的预处理中修改,如包含主机角色必须使用外部32K +#endif +#ifndef BLE_MEMHEAP_SIZE +#define BLE_MEMHEAP_SIZE (1024*6) +#endif +#ifndef BLE_BUFF_MAX_LEN +#define BLE_BUFF_MAX_LEN 27 +#endif +#ifndef BLE_BUFF_NUM +#define BLE_BUFF_NUM 5 +#endif +#ifndef BLE_TX_NUM_EVENT +#define BLE_TX_NUM_EVENT 1 +#endif +#ifndef BLE_TX_POWER +#define BLE_TX_POWER LL_TX_POWEER_0_DBM +#endif +#ifndef PERIPHERAL_MAX_CONNECTION +#define PERIPHERAL_MAX_CONNECTION 1 +#endif +#ifndef CENTRAL_MAX_CONNECTION +#define CENTRAL_MAX_CONNECTION 3 +#endif + +extern uint32_t MEM_BUF[BLE_MEMHEAP_SIZE / 4]; +extern const uint8_t MacAddr[6]; + +#endif + diff --git a/system/HAL/include/HAL.h b/system/HAL/include/HAL.h new file mode 100644 index 0000000..b4525c4 --- /dev/null +++ b/system/HAL/include/HAL.h @@ -0,0 +1,80 @@ +/********************************** (C) COPYRIGHT ******************************* + * File Name : HAL.h + * Author : WCH + * Version : V1.0 + * Date : 2016/05/05 + * Description : + ********************************************************************************* + * Copyright (c) 2021 Nanjing Qinheng Microelectronics Co., Ltd. + * Attention: This software (modified or not) and binary are used for + * microcontroller manufactured by Nanjing Qinheng Microelectronics. + *******************************************************************************/ + +/******************************************************************************/ +#ifndef __HAL_H +#define __HAL_H + +#ifdef __cplusplus +extern "C" { +#endif + +#include "CONFIG.h" +#include "RTC.h" +#include "SLEEP.h" +#include "LED.h" +#include "KEY.h" + +/* hal task Event */ +#define LED_BLINK_EVENT 0x0001 +#define HAL_KEY_EVENT 0x0002 +#define HAL_REG_INIT_EVENT 0x2000 +#define HAL_TEST_EVENT 0x4000 + +/********************************************************************* + * GLOBAL VARIABLES + */ +extern tmosTaskID halTaskID; + +/********************************************************************* + * GLOBAL FUNCTIONS + */ + +/** + * @brief 硬件初始化 + */ +extern void HAL_Init(void); + +/** + * @brief 硬件层事务处理 + * + * @param task_id - The TMOS assigned task ID. + * @param events - events to process. This is a bit map and can + * contain more than one event. + */ +extern tmosEvents HAL_ProcessEvent(tmosTaskID task_id, tmosEvents events); + +/** + * @brief BLE 库初始化 + */ +extern void CH58x_BLEInit(void); + +/** + * @brief 获取内部温感采样值,如果使用了ADC中断采样,需在此函数中暂时屏蔽中断. + * + * @return 内部温感采样值. + */ +extern uint16_t HAL_GetInterTempValue(void); + +/** + * @brief 内部32k校准 + */ +extern void Lib_Calibration_LSI(void); + +/********************************************************************* +*********************************************************************/ + +#ifdef __cplusplus +} +#endif + +#endif diff --git a/system/HAL/include/KEY.h b/system/HAL/include/KEY.h new file mode 100644 index 0000000..96cf30c --- /dev/null +++ b/system/HAL/include/KEY.h @@ -0,0 +1,112 @@ +/********************************** (C) COPYRIGHT ******************************* + * File Name : KEY.h + * Author : WCH + * Version : V1.0 + * Date : 2016/04/12 + * Description : + ********************************************************************************* + * Copyright (c) 2021 Nanjing Qinheng Microelectronics Co., Ltd. + * Attention: This software (modified or not) and binary are used for + * microcontroller manufactured by Nanjing Qinheng Microelectronics. + *******************************************************************************/ + +/******************************************************************************/ +#ifndef __KEY_H +#define __KEY_H + +#ifdef __cplusplus +extern "C" { +#endif + +/************************************************************************************************** + * MACROS + **************************************************************************************************/ +#define HAL_KEY_POLLING_VALUE 100 + +/* Switches (keys) */ +#define HAL_KEY_SW_1 0x01 // key1 +#define HAL_KEY_SW_2 0x02 // key2 +#define HAL_KEY_SW_3 0x04 // key3 +#define HAL_KEY_SW_4 0x08 // key4 + +/* 按键定义 */ + +/* 1 - KEY */ +#define KEY1_BV BV(22) +#define KEY2_BV BV(4) +#define KEY3_BV () +#define KEY4_BV () + +#define KEY1_PU (R32_PB_PU |= KEY1_BV) +#define KEY2_PU (R32_PB_PU |= KEY2_BV) +#define KEY3_PU () +#define KEY4_PU () + +#define KEY1_DIR (R32_PB_DIR &= ~KEY1_BV) +#define KEY2_DIR (R32_PB_DIR &= ~KEY2_BV) +#define KEY3_DIR () +#define KEY4_DIR () + +#define KEY1_IN (ACTIVE_LOW(R32_PB_PIN & KEY1_BV)) +#define KEY2_IN (ACTIVE_LOW(R32_PB_PIN & KEY2_BV)) +#define KEY3_IN () +#define KEY4_IN () + +#define HAL_PUSH_BUTTON1() (KEY1_IN) //添加自定义按键 +#define HAL_PUSH_BUTTON2() (KEY2_IN) +#define HAL_PUSH_BUTTON3() (0) +#define HAL_PUSH_BUTTON4() (0) + +/************************************************************************************************** + * TYPEDEFS + **************************************************************************************************/ +typedef void (*halKeyCBack_t)(uint8_t keys); + +typedef struct +{ + uint8_t keys; // keys +} keyChange_t; + +/************************************************************************************************** + * GLOBAL VARIABLES + **************************************************************************************************/ + +/********************************************************************* + * FUNCTIONS + */ + +/** + * @brief Initialize the Key Service + */ +void HAL_KeyInit(void); + +/** + * @brief This is for internal used by hal_driver + */ +void HAL_KeyPoll(void); + +/** + * @brief Configure the Key serivce + * + * @param cback - pointer to the CallBack function + */ +void HalKeyConfig(const halKeyCBack_t cback); + +/** + * @brief Read the Key callback + */ +void HalKeyCallback(uint8_t keys); + +/** + * @brief Read the Key status + */ +uint8_t HalKeyRead(void); + +/************************************************************************************************** +**************************************************************************************************/ + +#ifdef __cplusplus +} +#endif + +#endif diff --git a/system/HAL/include/LED.h b/system/HAL/include/LED.h new file mode 100644 index 0000000..96af1c6 --- /dev/null +++ b/system/HAL/include/LED.h @@ -0,0 +1,134 @@ +/********************************** (C) COPYRIGHT ******************************* + * File Name : LED.h + * Author : WCH + * Version : V1.0 + * Date : 2016/04/12 + * Description : + ********************************************************************************* + * Copyright (c) 2021 Nanjing Qinheng Microelectronics Co., Ltd. + * Attention: This software (modified or not) and binary are used for + * microcontroller manufactured by Nanjing Qinheng Microelectronics. + *******************************************************************************/ + +/******************************************************************************/ +#ifndef __LED_H +#define __LED_H + +#ifdef __cplusplus +extern "C" { +#endif + +/********************************************************************* + * CONSTANTS + */ + +/* LEDS - The LED number is the same as the bit position */ +#define HAL_LED_1 0x01 +#define HAL_LED_2 0x02 +#define HAL_LED_3 0x04 +#define HAL_LED_4 0x08 +#define HAL_LED_ALL (HAL_LED_1 | HAL_LED_2 | HAL_LED_3 | HAL_LED_4) + +/* Modes */ +#define HAL_LED_MODE_OFF 0x00 +#define HAL_LED_MODE_ON 0x01 +#define HAL_LED_MODE_BLINK 0x02 +#define HAL_LED_MODE_FLASH 0x04 +#define HAL_LED_MODE_TOGGLE 0x08 + +/* Defaults */ +#define HAL_LED_DEFAULT_MAX_LEDS 4 +#define HAL_LED_DEFAULT_DUTY_CYCLE 5 +#define HAL_LED_DEFAULT_FLASH_COUNT 50 +#define HAL_LED_DEFAULT_FLASH_TIME 1000 + +/********************************************************************* + * TYPEDEFS + */ + +/* 连接一个LED用于监控演示程序的进度,低电平LED亮 */ + +/* 1 - LED */ +#define LED1_BV BV(15) +#define LED2_BV +#define LED3_BV + +#define LED1_OUT (R32_PB_OUT) +#define LED2_OUT 0 +#define LED3_OUT 0 +#define LED4_OUT 0 + +#define LED1_DDR (R32_PB_DIR |= LED1_BV) +#define LED2_DDR 0 +#define LED3_DDR 0 + +#define HAL_TURN_OFF_LED1() (LED1_OUT |= LED1_BV) +#define HAL_TURN_OFF_LED2() +#define HAL_TURN_OFF_LED3() +#define HAL_TURN_OFF_LED4() + +#define HAL_TURN_ON_LED1() (LED1_OUT &= (~LED1_BV)) +#define HAL_TURN_ON_LED2() +#define HAL_TURN_ON_LED3() +#define HAL_TURN_ON_LED4() + +#define HAL_STATE_LED1() 0 +#define HAL_STATE_LED2() 0 +#define HAL_STATE_LED3() 0 +#define HAL_STATE_LED4() 0 + +/********************************************************************* + * GLOBAL VARIABLES + */ + +/** + * @brief Initialize LED Service. + */ +void HAL_LedInit(void); + +/** + * @brief update time LED Service. + */ +void HalLedUpdate(void); + +/** + * @brief Turn ON/OFF/TOGGLE given LEDs + * + * @param led - bit mask value of leds to be turned ON/OFF/TOGGLE + * @param mode - BLINK, FLASH, TOGGLE, ON, OFF + */ +extern uint8_t HalLedSet(uint8_t led, uint8_t mode); + +/** + * @brief Blink the leds + * + * @param led - bit mask value of leds to be turned ON/OFF/TOGGLE + * @param numBlinks - number of blinks + * @param percent - the percentage in each period where the led will be on + * @param period - length of each cycle in milliseconds + */ +extern void HalLedBlink(uint8_t leds, uint8_t cnt, uint8_t duty, uint16_t time); + +/** + * @brief Put LEDs in sleep state - store current values + */ +extern void HalLedEnterSleep(void); + +/** + * @brief Retore LEDs from sleep state + */ +extern void HalLedExitSleep(void); + +/** + * @brief Return LED state + */ +extern uint8_t HalLedGetState(void); + +/********************************************************************* +*********************************************************************/ + +#ifdef __cplusplus +} +#endif + +#endif diff --git a/system/HAL/include/RTC.h b/system/HAL/include/RTC.h new file mode 100644 index 0000000..ef40afe --- /dev/null +++ b/system/HAL/include/RTC.h @@ -0,0 +1,60 @@ +/********************************** (C) COPYRIGHT ******************************* + * File Name : RTC.h + * Author : WCH + * Version : V1.0 + * Date : 2016/04/12 + * Description : + ********************************************************************************* + * Copyright (c) 2021 Nanjing Qinheng Microelectronics Co., Ltd. + * Attention: This software (modified or not) and binary are used for + * microcontroller manufactured by Nanjing Qinheng Microelectronics. + *******************************************************************************/ + +/******************************************************************************/ +#ifndef __RTC_H +#define __RTC_H + +#ifdef __cplusplus +extern "C" { +#endif + +#ifdef CLK_OSC32K +#if (CLK_OSC32K==1) +#define FREQ_RTC 32000 +#else +#define FREQ_RTC 32768 +#endif +#endif /* CLK_OSC32K */ + + +#define CLK_PER_US (1.0 / ((1.0 / FREQ_RTC) * 1000 * 1000)) +#define CLK_PER_MS (CLK_PER_US * 1000) + +#define US_PER_CLK (1.0 / CLK_PER_US) +#define MS_PER_CLK (US_PER_CLK / 1000.0) + +#define RTC_TO_US(clk) ((uint32_t)((clk) * US_PER_CLK + 0.5)) +#define RTC_TO_MS(clk) ((uint32_t)((clk) * MS_PER_CLK + 0.5)) + +#define US_TO_RTC(us) ((uint32_t)((us) * CLK_PER_US + 0.5)) +#define MS_TO_RTC(ms) ((uint32_t)((ms) * CLK_PER_MS + 0.5)) + +extern volatile uint32_t RTCTigFlag; + +/** + * @brief Initialize time Service. + */ +void HAL_TimeInit(void); + +/** + * @brief 配置RTC触发时间 + * + * @param time - 触发时间. + */ +extern void RTC_SetTignTime(uint32_t time); + +#ifdef __cplusplus +} +#endif + +#endif diff --git a/system/HAL/include/SLEEP.h b/system/HAL/include/SLEEP.h new file mode 100644 index 0000000..868a4a8 --- /dev/null +++ b/system/HAL/include/SLEEP.h @@ -0,0 +1,51 @@ +/********************************** (C) COPYRIGHT ******************************* + * File Name : SLEEP.h + * Author : WCH + * Version : V1.0 + * Date : 2018/11/12 + * Description : + ********************************************************************************* + * Copyright (c) 2021 Nanjing Qinheng Microelectronics Co., Ltd. + * Attention: This software (modified or not) and binary are used for + * microcontroller manufactured by Nanjing Qinheng Microelectronics. + *******************************************************************************/ + +/******************************************************************************/ +#ifndef __SLEEP_H +#define __SLEEP_H + +#ifdef __cplusplus +extern "C" { +#endif + +/********************************************************************* + * GLOBAL VARIABLES + */ +typedef void (*pfnLowPowerGapProcessCB_t)( void ); + +/********************************************************************* + * FUNCTIONS + */ + +/** + * @brief 配置睡眠唤醒的方式 - RTC唤醒,触发模式 + */ +extern void HAL_SleepInit(void); + +/** + * @brief 启动睡眠 + * + * @param time - 唤醒的时间点(RTC绝对值) + * + * @return state. + */ +extern uint32_t CH58x_LowPower(uint32_t time); + +/********************************************************************* +*********************************************************************/ + +#ifdef __cplusplus +} +#endif + +#endif diff --git a/system/LIB/CH584BLE_ROMx.hex b/system/LIB/CH584BLE_ROMx.hex new file mode 100644 index 0000000..ca11efc --- /dev/null +++ b/system/LIB/CH584BLE_ROMx.hex @@ -0,0 +1,11901 @@ +:020000024000BC +:100000006FD0626900000000001801180028012864 +:100010000228032800290129022903290429052986 +:10002000062907290829002A012A022A032A042A64 +:10003000052AA62AB4E206000A4304006804002048 +:10004000EA040020EA030020B80300205003002047 +:10005000062A0020A2430400C44404005A470400B6 +:10006000744804006242040010420400B4020020FC +:1000700054020020384D0400640800207843040036 +:100080003E4A04006C7C0600527E0600B87E0600E4 +:10009000025906003C59060084880500527D05007F +:1000A000427706006C4A04003660060032FC040009 +:1000B000C0FC04001EFD04003C5504007A550400F9 +:1000C000F053040040BE040026B90400282B002091 +:1000D00064CA0400B6CD0400C8AB04006AAB0400D7 +:1000E00036AF040014AC040048AB0400C0AB0400FD +:1000F000FEAA040096AC0400EEAC04009EAC040022 +:10010000A2AC040030AD0400F6AC040026AD04003F +:1001100008B204000CB2040092AC04009AAC0400D3 +:100120002EAD04000AB20400DCAD040068B3040084 +:1001300064DB0400D6DB040010DC040086C004008D +:100140009CC00400D6C00400E2A00400E8A20400A1 +:10015000B0A30400DC720400266D0400E0960400E5 +:10016000A26D040096920400B8BB0600EEB3060030 +:10017000F4B806006CD0060036CF06008ED3060019 +:100180004AD3060086D30600DAD40600AAA20600E7 +:100190006AD40600C8C60600EEC606000EC70600F2 +:1001A0004AD506002ACD0600C2CC0600BAD5060004 +:1001B0002EA50600C6A50600E6A5060098A5060021 +:1001C0008C600500CA4A0500624E0500064C050019 +:1001D000A4560500C03D0020DA760600DEA2060027 +:1001E000C64E0400525A0600166006000E61060054 +:1001F0001C6F0600A46F06000271060040C40400D4 +:100200008E5F05004C5705009A480500FA59050015 +:100210007A4A05002A0A00202A5B0600B4D30600A9 +:100220004ED3060082D306007ED30600DA460400D1 +:10023000BEC10400BCD306009263060058640600E9 +:10024000C06406005CB90600B8D3060002D40600FC +:10025000D47C050006D406004E2000201420002087 +:100260003CB90600D2BA06000AD406005ED40600E5 +:1002700062D40600C0D30600FAD30600FED30600FF +:1002800066D4060044600500000000000000000085 +:10029000000000000000000000000000000000005E +:1002A000000000000000000000000000000000004E +:1002B000000000000000000000000000000000003E +:1002C00097470000938707F41747000013078777C5 +:1002D0006373F700828023A007009107D5BF97477B +:1002E00000009387A7E417E706E013072765974602 +:1002F0000000938626F163F3F60082801043110715 +:0603000090C39107CDBF80 +:100308004111B7E700E022C480433707200006C642 +:10031800798C23A0E7180F10000011C199E5B7E701 +:1003280000E023A08710014579A80D05334505088D +:10033800130740037199B34705086366A702174579 +:100348000000032525EC9746000083A626EB639161 +:10035800A602174700000327A70D71D3C207DD8D3A +:10036800054502976DBF17450000032565E9E1BF04 +:100378007A2131EF5A21636CF704B306F74021481C +:1003880017460000130646056375D8028328050042 +:1003980003586600938687001D8FAA966117DAA214 +:1003A80023A016012393060014C15EA1130788FF3A +:1003B8007AA27A226EA12105B307F7407EA2B7E799 +:1003C80000E023A08710B240224441018280084106 +:1003D800BDBFB7E700E08C433707200023A0E7182C +:1003E800F98D0F10000001E523A0B7108280174394 +:1003F8000000032323E19748000083A828E09A8798 +:10040800814663FE170903A80700636DF508636B4F +:10041800A808138787006364E508F22321670507A6 +:100428006319E60017460000130636EC1822050784 +:1004380018A217450000130525FAD2237A21239321 +:1004480007003297334707087AA163856702174385 +:1004580000000323E3DA630FF30003D36600631B92 +:100468000300DE2223A0060121073E962106D2A220 +:100478007AA1B6879843630417039746000083A6BA +:1004880026D8630ED700762399EAD6235223184339 +:10049800A106B296D6A398C37E21A1077EA1B7E78D +:1004A80000E099B7BE86C287A9BFAA871747000090 +:1004B800032747D517460000032646D4B305B540A1 +:1004C8006314E6003E8529A8930687001843E3E9EC +:1004D800D7FEE3F7E7FE2E85E3E4D5FEE3F2E5FE7B +:1004E800828023AC05FE1C4199E30CC182803E87C3 +:1004F80083A787FFEDFF232CB7FE8280411126C218 +:10050800B7E400E04AC003A90400B707200006C604 +:1005180022C43379F90023A0F4180F10000009E56C +:1005280023A0241101452DA09565938505D0C98D7B +:100538002A842105B3C5050833450508D1336DD193 +:10054800FD572320050042A17CA123A024112105E9 +:10055800B240224492440249410182804111B7E7E6 +:1005680000E04AC003A9070026C23707200006C6D4 +:1005780022C4AA843379E90023A0E7180F100000E9 +:100588009747000083A747C80144014695E311C86F +:10059800A28517450000130525C7974004E0E780AA +:1005A80000F0A1652685974004E0E780C0451DA0BE +:1005B80003C7E7FF631B970215CCA2851745000008 +:1005C800130585C4974004E0E78060EDA1652685A2 +:1005D800EF20E06DB24022852244B7E700E023A077 +:1005E8002711924402494101828011E03E8683A787 +:1005F80087FF69BF3E84E5BF37E700E01C43B706C5 +:1006080020002320D718F58F0F10000019C191C1C1 +:1006180011E637E700E02320F71082802E960F704E +:10062800B650D5BF37E700E01C43B70620002320AB +:10063800D718F58F0F10000019C1014785E137E77A +:1006480000E02320F7108280B386E50003A80600A7 +:10065800B306E5007D1623A00601110775F6C5B798 +:1006680037E700E01C43B70620002320D718F58F92 +:100678000F10000001C53307C50011E637E700E099 +:100688002320F71082800505A30FB5FEE31DE5FEC4 +:10069800F5B7B7E600E09C42370620002A87F18FBD +:1006A80023A0C6180F1000000145B306A7008386D3 +:1006B800060091E637E700E02320F7108280050561 +:1006C800EDB70111B7E700E026CA84434AC83707E7 +:1006D800200006CE22CC2A892E86F98C23A0E71882 +:1006E8000F1000009305F00432C633450608093997 +:1006F8002A8401C53246CA850137F2402285624400 +:10070800B7E700E023A097104249D24405618280F0 +:1007180037E700E01C43B70620002320D718F58FE1 +:100728000F10000001C599C1014711EA37E700E041 +:100738002320F710054582800507E309E6FE330804 +:10074800E500B386E500034808009422E306D8FED6 +:1007580037E700E02320F7100145828037E700E003 +:100768001C43B70620002320D718F58F0F10000070 +:100778001307F6FFBA952A966317C50037E700E016 +:100788002320F71082809821FD150505A30FE5FEAB +:10079800E5B737E700E01C43B70620002320D71849 +:1007A800F58F0F10000001C53307C50019E637E7BC +:1007B80000E02320F7100145828014210505E39805 +:1007C800B6FEE31CE5FE37E700E02320F7100545F9 +:1007D8008280797126D297440000938464A422D43D +:1007E800804006D64AD04ECE52CC56CA5AC85EC6AB +:1007F80062C455C437C9C901814B174B0000130B9C +:10080800ABA11309F937174A0000130A6ABF974AC0 +:100818000000938A6ABC97490000938969C33E2007 +:1008280091EF5C4463990B009CC0032CC4002285A3 +:100838004D36628489A823A6FB00C5BF83270B0019 +:1008480082971C443307F5406376F50003A78900B7 +:100858001D8F2A976368E9062E200820EF2020457F +:100868005C405844A9CB0C44174600000326C6BE7A +:10087800AE97BE8663E4B70063E4C700B386C7409B +:1008880014C4A28B3A8441FC174700000327C7B55C +:10089800894763E6E7009747000023A707B4B250EB +:1008A800225492540259F249624AD24A424BB24BFC +:1008B800224C4561828063940B0098C0BDB723A683 +:1008C800EB00A5B703274A021DCB63EDA7023385CA +:1008D800A7401C2099EF03479A0183A68900611756 +:1008E800B307A7003E8563E4E70063E4D7003385D8 +:1008F800D74083A70A016374F50023A8AA00A28B36 +:10090800404451B703A78900BA97D1B7011126CA45 +:1009180006CE974400009384A4B322CC4AC84EC69E +:1009280052C49C288844DDC3B7E700E003A9070048 +:100938003707200023A0E7183379E9000F100000DB +:10094800174700000347C78C19CB23A02711F24093 +:100958006244D2444249B249224A0561828017471B +:1009680000001307A7E08357C70AB1CB9C440324B0 +:10097800870A6306F404974900009389E9A503A749 +:1009880009012285630DF702174A0000130ACA8875 +:1009980083270A008297636EA40C83270A00098CB8 +:1009A800829783A7090198443354F40AB307A40033 +:1009B8003E8563E4870063E4E7003385E740B7E7F3 +:1009C80000E023A027119C44639DA7021744000060 +:1009D800130484A018489747000083A7E783631D82 +:1009E800A70882979444374736FE130707C83697F7 +:1009F800B307A7003E8563E4E70063E4D7003385C7 +:100A0800D74017440000130464F95C5C99CB9746FF +:100A1800000083A666939C463707CDFF7D17F98FA4 +:100A28009CC611E1884485475CD09747000083A79E +:100A3800679F829715E15C5C99CF5C5089CF97607E +:100A480006E0E780A0B1975006E0E780602C974762 +:100A5800000023A707F6B53B5C5CE38A07EE17475F +:100A680000000327678E1C47B7063300D58F1CC7C5 +:100A7800F9BD9C443E9415B7829714489844B387AF +:100A8800A6003E8563E4D700E3EDE7F63385E7404B +:100A98008DBF9737000023ABA77611C58547173759 +:100AA80000002307F7768280AA8799E51747000098 +:100AB8000347079B09C7F1BF11476369B700174789 +:100AC80000001307A797B3C5E5209CC1828097371C +:100AD800000083A7A77385C3411106C6829797377D +:100AE800000083C7E77289E79737000023A00772E1 +:100AF800B240410182809737000083C7677191E750 +:100B08009737000023A4077082808280411122C495 +:100B180026C206C64AC097440000938424E883C7C7 +:100B280034021744000013046491B9C71744000045 +:100B38001304848A173900001309C96E03270900B2 +:100B48001C2014300146B3A5E7208E21A5CD11C283 +:100B58001CA00820636FD50697470000238E0786E0 +:100B68009737000083A7476BC5EFB24022449244F1 +:100B780002494101828082971C40F5FF9747000097 +:100B880083C7078E85E3DC48858B89CFD84C994786 +:100B9800631EF7009747000023AC07E0EF10B01979 +:100BA8005C4482971C44D9D3829749B7D84C9D4757 +:100BB800E31AF7FE9747000023AC07DEEF10B017E3 +:100BC8001C48C5B7850793F7F70F0546E3EDD7F639 +:100BD80041B73327E5200E2323100700973700007D +:100BE800239907629737000083A74763B347F52027 +:100BF8009C4382971C20832609001737000003575F +:100C080047613377E540B3A6D7209222518F9AA245 +:100C180099C385071CA018201C30E368F7F42DBF82 +:100C28009747000083A747831CC8653683C73402EB +:100C38008DFF83C7140299CBDC4C89EB97470000E2 +:100C4800A38E07D6975006E0E780C02B97370000A1 +:100C580083A7477D99DB1C4889DB18308326090068 +:100C6800814763C9E702D84C9147E3E0E7F097472B +:100C7800000083C7E7AD918BE39907EE9737000033 +:100C880083C70759E39307EE2244B24092440249CE +:100C98004101ADB933A6D7201222E31806EC850727 +:100CA800C9B7B7C700401387C7201443139626490E +:100CB80010C301000100938787261735000003251C +:100CC80065739C436A0514C393C7F7FF99835D8DC9 +:100CD80082809737000083A7675591C382871305E1 +:100CE800F00F82809737000023A2A754828017460E +:100CF8000000130626A3974600009386A6A4DC36B8 +:100D0800383E4C4ABA97FD8B33D7F5001CB2DCB697 +:100D1800058B0DE7943A13050002B3F7D702814615 +:100D280033D8E548630908006394D70018B2828075 +:100D3800850693F6F60F0507E314A7FE828097470A +:100D4800000083A7E7C6C1E741114AC097370000F2 +:100D580083A7874C06C622C426C28297174900007B +:100D68001309499E83278900638DA7046363F504EB +:100D78001D8D974400009384E49ABC2C13545500AD +:100D88006361F404AD37BC2C0327890093965700A0 +:100D980036971D8C2324E900E376F4FE224488303C +:100DA800B2409244024981454101173305E067008A +:100DB800C36B173700000327276AB307F7403E9530 +:100DC8004DBFB24022449244024941018280828050 +:100DD800011126CA9737000083A7074406CE22CC04 +:100DE8004AC84EC652C4829797440000938484959B +:100DF8009844AA870145630DF70463E3E706998FD2 +:100E0800174900001309099293F9F70113D4570001 +:100E18008347A901636AF402173A0000130A4A6378 +:100E2800F9350347A9018C4403268A009317570014 +:100E3800AE97198CBE8663E4B70063E4C700B38637 +:100E4800C74094C4E37EE4FC1315540033653501B0 +:100E5800F2406244D2444249B249224A0561828042 +:100E68009736000083A6465F3387E640BA9749BFA6 +:100E7800411122C417440000130444B21C4426C282 +:100E880006C6858B9744000083A4849491EBEF30C9 +:100E980040072244B2402685924441016F10507F9A +:100EA80098289747000023AF07AE8947E301F7FE6C +:100EB8000146930550020145EF10F01A8145177558 +:100EC80005E0130565F0CD36014681450545EF106F +:100ED800207F5C44858BC5DFB240224492444101A7 +:100EE80082809747000083A76792639307180111D0 +:100EF80022CC2A84094506CE26CA4AC84EC6EF30F7 +:100F0800E008973900009389294303A6090093074D +:100F1800800717390000130929417CD29737000050 +:100F28002388072E83270900973400009384C4413F +:100F3800B7053300D8572285719B13671700D8D798 +:100F480098431377F7CF98C398431377F7CF13676E +:100F5800072098C398401447CD8E14C7B7060300DE +:100F68009386862534CA5457F59A54D7984334241F +:100F7800137707F893F6F607558F98C3EF20A00864 +:100F880083A60900370500827D15DC4293E7170028 +:100F9800DCC203260900030784065C569375F70331 +:100FA800E605E98FCD8F5CD69305A0039C4063D5F9 +:100FB800E508F84FB70500074D8FF8CFB7C7898EFA +:100FC800938767ED1CC6B7575500938757555CC282 +:100FD8008347A40683444406DD8C894717470000ED +:100FE800232CF79C9747000023A0079C7C44BCDE79 +:100FF8009737000083C7C74699C7FC52FDFF97473C +:10100800000023A1079A18289D478145172500004D +:101018001305A53F6306F70017050000130585E5CE +:10102800613410386244F2404249B249A685D2443C +:10103800014505616F10C0689305200263DAE50079 +:10104800F84FB70500F9FD156D8FB7050005ADB769 +:10105800B70500F96945FD156357E500F84F6D8F31 +:10106800B705000391BFF84F6D8F13178729B1B7E4 +:101078008280973700009387676FE85305475425A8 +:101088006390E60203C747079147631AF700011107 +:1010980006CE2AC6EF10905B3245F240056191B545 +:1010A800828083278511E5CB411122C406C65825C5 +:1010B8008345E5049437D2272A841377C70F1395FD +:1010C800466063F7C50663510506882793F6F60759 +:1010D80094B70546936627006314C5009366170006 +:1010E80054A4D8430907D8C3032504114CB82E8645 +:1010F800CC430905EFF04FD0832784115438D843E7 +:101108003697D8C3DA27158FDAA789473CBC034737 +:1011180064039737000083C7C72F6369F706B24097 +:1011280022440145410182801367170058A46DBF0E +:101138009376F60F635505028827854513662700C1 +:101148006314B5001366170050A454B8A3840700AD +:1011580085473CBC832784119C43D5FBC9B71367DB +:10116800170058A454B8A384070003250411CC43DE +:101178000905EFF06FC8832784115438D843369790 +:10118800D8C3DA27158FDAA78D47E1B75C2493E730 +:1011980007015CA469B705458280411197370000B3 +:1011A80083A7C71622C406C6858B2A84CDEB782967 +:1011B8008357051D63E5E70A4165130525F59790F3 +:1011C80005E0E780608E41CD3C253EA583270412CB +:1011D800ADE32320A4122322A41285472311F4048B +:1011E800232005007C2854415EA5583418A50547DE +:1011F80018B513851702173700000327E77D1581F7 +:101208001C437D151375F50F9CC25C43DCC21C475B +:101218009CC65C47DCC61C4B9CCA5C4BDCCA1C4F9A +:101228009CCE5C4FDCCE0DC19386060213070702E5 +:10123800C1BF8327441288C3835724042322A412DE +:101248008507B3C7070859BF1737000013070752A8 +:101258001E2785071EA7B2402244410182805C24D4 +:1012680023090400054593C747005CA4EDB7142D76 +:10127800854763EED70A1C3D2A870145DDEB5C27CD +:1012880013F507013C2B99CB83466703973700007A +:1012980083C7371863ECF60001E5828059E5828040 +:1012A8008357271E0357671EBA9721A08357271E07 +:1012B80075F90145BDCF9387C7121735000003554F +:1012C800E519B3B5A70237460F00411113060624E6 +:1012D800814622C426C206C67D543385A70297C01C +:1012E80006E0E780806E9734000083C4F412AA9465 +:1012F8009737000083A7C75003A707099C433354B7 +:10130800E40AFDFB9737000083A707F1829781471E +:101318006364A400B307A440B240224433B59700E5 +:10132800134515009244410182808147A5BF0145BC +:101338008280828017370000032707003C5BFDFF8F +:1013480001000100828039C901116C0022CC06CE4F +:101358002A84EF20F00715C9FD57630DF502B2473F +:101368009735000083C5550B63EBB700034594021E +:101378006244F240B385B74005616F10F017173724 +:1013880000000327670DBA97D5B76244F24005619C +:101398006F204047F2406244056182808280797103 +:1013A80052CC173A0000130A6A3C26D283244A0911 +:1013B80006D622D44AD04ECED5C897370000938798 +:1013C800E75DD44F15476386E604DC532A8989CF45 +:1013D800975006E0E7808018975006E0E780409332 +:1013E8009737000023AE075CFD596C002685EF2077 +:1013F800207E0DE91725000013050541EFF06FE980 +:101408009737000083A747F33707100098C70547A9 +:10141800B8DB0D45B250225492540259F249624A3F +:1014280045618280637435013244AA898440D5FCC1 +:10143800FD571305F00FE38FF9FC914763F187021D +:101448009307B4FF2320F9002324FA0A99E7973772 +:10145800000083A767002320F900014565BF97377F +:10146800000083A767FFED17A297E9BF09455DB79D +:10147800797126D206D622D44AD04ECE52CC56CA3C +:101488005AC85EC68347550303447513AA843E941D +:101498001374F40F9307400263F687001304B4FD36 +:1014A8001374F40F03A9841383A9C413A38B8412A0 +:1014B80022864A85CE8597C006E0E780404C05899C +:1014C80015E503CBD412014A814A337B6403930B9D +:1014D800500252864A85CE8597C006E0E780204AAA +:1014E80005890DC563916A031374FA0F238B84125F +:1014F800B250225492540259F249624AD24A424B9B +:10150800B24B45618280850A939A4A60050AE312C4 +:101518007AFDE9BF8327850903560504797193D6B7 +:101528000701BD8EB3C60608358E93575640898B82 +:10153800135776485D8F93573640918B5D8F93573D +:101548001640A18B5D8F93171600C18B5D8F931783 +:10155800360093F707025D8F9317560093F7070439 +:101568005D8F9317760093F7F70F22D45D8F2A8447 +:101578009357D6001355B6001189898B9355860069 +:10158800C98F1355F6002582C98F218AD18F1396EA +:101598001500418AD18F1396350013760602D18F34 +:1015A8001396550013760604D18F1396750013769B +:1015B800F60FD18FA207C5455D8F3307B70226D234 +:1015C8004AD04ECE032984138329C4135AC806D699 +:1015D80052CC56CA36973347070813565740098ADC +:1015E80093577748D18F13563740118AD18F1356A6 +:1015F8001740218AD18F13161700418AD18F1316ED +:10160800370013760602D18F131657001376060497 +:10161800D18F131677001376F60FD18F1358B700B2 +:101628001356D70013784800098A13558700336684 +:1016380006011358F700258333660601218B518F65 +:1016480013161500418A518F1316350013760602BA +:10165800518F1316550013760604518F1316750013 +:101668001376F60F518F2207D98FB387B7025EC65C +:10167800B697B3C7070813D55740098913D77748D2 +:10168800498F13D537401189498F13D517402189C0 +:10169800498F139517004189498F139537001375A2 +:1016A8000502498F1395570013750504498F139543 +:1016B80077001375F50F598D13D8B70013D7D700D6 +:1016C80013784800098B13D687003367070113D8AE +:1016D800F700A58333670701A18BD98F131716006D +:1016E800418BD98F1317360013770702D98F131739 +:1016F8005600137707041E06D98F1376F60FD18F7D +:10170800A2073367F5003307B702130650024A856C +:10171800CE853697B98EB3C4060833F6C402137B58 +:10172800F60F97C006E0E7808025058905E9834A1A +:10173800D412014A930B5002B38A9A02814493DA75 +:101748000A0126864A85CE8597C006E0E7802023D1 +:1017580005890DC563914A0313FBF40F230B64132A +:10176800B250225492540259F249624AD24A424B28 +:10177800B24B45618280050A137AFA0F8504E39219 +:1017880074FDE9BF8327C50803568508797193D688 +:101798000701BD8EB3C60608358E93575640898B10 +:1017A800135776485D8F93573640918B5D8F9357CB +:1017B8001640A18B5D8F93171600C18B5D8F931711 +:1017C800360093F707025D8F9317560093F70704C7 +:1017D8005D8F9317760093F7F70F22D45D8F2A84D5 +:1017E8009357D6001355B6001189898B93558600F7 +:1017F800C98F1355F6002582C98F218AD18F139678 +:101808001500418AD18F1396350013760602D18FC1 +:101818001396550013760604D18F13967500137628 +:10182800F60FD18FA207C5455D8F3307B70226D2C1 +:101838004AD04ECE0329040A8329440A5AC806D638 +:1018480052CC56CA36973347070813565740098A69 +:1018580093577748D18F13563740118AD18F135633 +:101868001740218AD18F13161700418AD18F13167A +:10187800370013760602D18F131657001376060425 +:10188800D18F131677001376F60FD18F1358B70040 +:101898001356D70013784800098A13558700336612 +:1018A80006011358F700258333660601218B518FF3 +:1018B80013161500418A518F131635001376060248 +:1018C800518F1316550013760604518F13167500A1 +:1018D8001376F60F518F2207D98FB387B7025EC6EA +:1018E800B697B3C7070813D55740098913D7774860 +:1018F800498F13D537401189498F13D5174021894E +:10190800498F139517004189498F1395370013752F +:101918000502498F1395570013750504498F1395D0 +:1019280077001375F50F598D13D8B70013D7D70063 +:1019380013784800098B13D687003367070113D83B +:10194800F700A58333670701A18BD98F13171600FA +:10195800418BD98F1317360013770702D98F1317C6 +:101968005600137707041E06D98F1376F60FD18F0A +:10197800A2073367F5003307B702130650024A85FA +:10198800CE853697B98EB3C4060833F6C402137BE6 +:10199800F60F97C006E0E78080FE058905E9834ACF +:1019A8001408014A930B5002B38A9A02814493DACD +:1019B8000A0126864A85CE8597C006E0E78020FC86 +:1019C80005890DC563914A0313FBF40F230F6407C0 +:1019D800B250225492540259F249624AD24A424BB6 +:1019E800B24B45618280050A137AFA0F8504E392A7 +:1019F80074FDE9BF8327450903568508797193D695 +:101A08000701BD8EB3C60608358E93575640898B9D +:101A1800135776485D8F93573640918B5D8F935758 +:101A28001640A18B5D8F93171600C18B5D8F93179E +:101A3800360093F707025D8F9317560093F7070454 +:101A48005D8F9317760093F7F70F22D45D8F2A8462 +:101A58009357D6001355B6001189898B9355860084 +:101A6800C98F1355F6002582C98F218AD18F139605 +:101A78001500418AD18F1396350013760602D18F4F +:101A88001396550013760604D18F139675001376B6 +:101A9800F60FD18FA207C5455D8F3307B70226D24F +:101AA8004AD04ECE0329040B8329440B5AC806D6C4 +:101AB80052CC56CA36973347070813565740098AF7 +:101AC80093577748D18F13563740118AD18F1356C1 +:101AD8001740218AD18F13161700418AD18F131608 +:101AE800370013760602D18F1316570013760604B3 +:101AF800D18F131677001376F60FD18F1358B700CE +:101B08001356D70013784800098A1355870033669F +:101B180006011358F700258333660601218B518F80 +:101B280013161500418A518F1316350013760602D5 +:101B3800518F1316550013760604518F131675002E +:101B48001376F60F518F2207D98FB387B7025EC677 +:101B5800B697B3C7070813D55740098913D77748ED +:101B6800498F13D537401189498F13D517402189DB +:101B7800498F139517004189498F139537001375BD +:101B88000502498F1395570013750504498F13955E +:101B980077001375F50F598D13D8B70013D7D700F1 +:101BA80013784800098B13D687003367070113D8C9 +:101BB800F700A58333670701A18BD98F1317160088 +:101BC800418BD98F1317360013770702D98F131754 +:101BD8005600137707041E06D98F1376F60FD18F98 +:101BE800A2073367F5003307B702130650024A8588 +:101BF800CE853697B98EB3C4060833F6C402137B74 +:101C0800F60F97C006E0E78080D7058905E9834A83 +:101C1800F408014A930B5002B38A9A02814493DA7A +:101C28000A0126864A85CE8597C006E0E78020D53A +:101C380005890DC563914A0313FBF40F230F64074D +:101C4800B250225492540259F249624AD24A424B43 +:101C5800B24B45618280050A137AFA0F8504E39234 +:101C680074FDE9BF411126C206C622C44AC0973492 +:101C7800000083A424B56389041003A4C40AAA86B7 +:101C8800054525C43C241307700A6392E7085830B9 +:101C98001C34172900001309A97B03268900B38780 +:101CA800E7020357C900B387E70213070032938797 +:101CB8000719B3D7E70203A744093E97BA846364B8 +:101CC800F7006364C700B304C7409727000083A7E1 +:101CD800A75484C28297B387A44063F5A40003275E +:101CE8008900BA9789EB1305F00FB2402244924459 +:101CF80002494101828058309306204E3307D702AB +:101D0800E3F3E7FE930780FA3CA40145F9BF130704 +:101D1800800AE39AE7FC9727000083A7E74F82979A +:101D28002A893545EF208026AD471737000023253F +:101D3800F7C858301C341726000013066671B3879D +:101D4800E7025A261046B387E70213070032938743 +:101D58000719B3D7E70203A744093E97BA86636415 +:101D6800F7006364C700B306C740E31ED9F617D56A +:101D780005E01305A5E0EFE0DFD19727000083A772 +:101D8800A75B0947F8D785B7054585B7397156D296 +:101D9800973A0000938A8AC083A70A033707080086 +:101DA80026DA06DE22DC4AD84ED652D45AD05ECE87 +:101DB80062CC66CA6AC86EC6F98F9734000083A4DD +:101DC80064A0638A071C83A9C40A83C7990003A473 +:101DD800C90092073E942820B14705053305F5024E +:101DE8005E203E9533450508EFE04FF1AA8C630F5E +:101DF800051A130DC5002324A50134203146370BDD +:101E08000300B386C602231304000149172A000001 +:101E1800130A8A52972B0000938B0B51972D0000C1 +:101E2800938D8D52130B8B15054CEA9654C483C6BB +:101E380079009307D00783250A00B386F602C167A5 +:101E48009CC5370833008606B4D183A60B009042A0 +:101E58001376F6CF90C290421376F6CF136606201B +:101E680090C203A50D0010453366060110C503A6F0 +:101E7800090023A865059305500290C672205444B2 +:101E8800B2962324DD0014300146CA96A301DD0072 +:101E980003C504089736000023A406B0EF00B01C61 +:101EA80083260A00CC4613961549D0C60F100000A9 +:101EB80083260A003706020090C61306000823A8E6 +:101EC800CA0003A60B00104213567648631E860B01 +:101ED8001306E018F0D2CCC617360000232A06AC49 +:101EE80017360000232E06AA23A08601A925EF2075 +:101EF800400183A64A00858AD9CAEA85268597E0E3 +:101F080005E0E780C0D10DE903465D0049C27620AF +:101F18004E20B29663DDB606B428AC4803258D0082 +:101F2800918E8906B695EFE02FED23020D0003464A +:101F38005D007620B29676A003260A00310D345251 +:101F4800FDFE342005091379F90FE362D9EE9C24CC +:101F58006685A381FC001C20A3820C002383DC007F +:101F68002382FC006254F250D2544259B259225A88 +:101F7800925A025BF24B624CD24C424DB24D2161F7 +:101F8800172305E0670063DA1306E01AA1B7FD56C8 +:101F98002302DD0055B79727000083A7E739FC57D0 +:101FA80091C78547172700002304F726F25062548B +:101FB800D2544259B259225A925A025BF24B624C9D +:101FC800D24C424DB24D21618280797122D426D201 +:101FD8002E84AA84414697C506E09385A5DA0A852A +:101FE80006D6972004E0E780E03E414697C506E024 +:101FF800938545D90808972004E0E780A03D3C3048 +:1020080010088A85DC875C2026855C875C30DC8646 +:10201800974006E0E780E0890347F1011C2001456D +:10202800631EF7000347E1011C3001456318F70000 +:102038000345D1013C201D8D13351500B2502254A3 +:10204800925445618280011122CC26CA4AC84EC6E4 +:1020580006CEAA84172400000324847D13092500D2 +:10206800854905C09C303830858B6304F700405C97 +:10207800CDBF1946930544004A85EFE06FE9E318A0 +:1020880035FFF24022856244D2444249B249056193 +:102098008280411122C426C24AC006C61724000005 +:1020A8000324047993042500054901E8B2402285F8 +:1020B80022449244024941018280A6851305A40264 +:1020C8002937E30525FF405CCDB7411122C426C25C +:1020D8004AC006C61724000003248475930425000B +:1020E800054901E8B240228522449244024941014F +:1020F8008280A6851305A401C93DE30525FF405C40 +:10210800CDB7011126CA644122CC4AC84EC652C472 +:1021180006CE2A841D4993096505054A3C4463E4B3 +:10212800F4000545A1A05834DC20631927050347AE +:1021380084026304F7008440D5B7D8308347540538 +:10214800E31BF7FE19469305640513856400EFE069 +:102158002FDC8547E311F5FED82483479402E31C5E +:10216800F7FCFA243E34E318F7FC0145F2406244D8 +:10217800D2444249B249224A05618280E31DF7FAF6 +:10218800D83083475405E318F7FA1946CE851385E6 +:102198006400EFE0EFD7E31045FBC1BF411122C453 +:1021A80006C626C24AC0172400000324A4635DC8DB +:1021B8008347840B1307700A6393E7080347140ED9 +:1021C8008347A40B1729000013098928832689004F +:1021D800B387E7020357C900B387E7021307003242 +:1021E80093870719B3D7E7020327440A3E97BA84AF +:1021F8006364F7006364D700B304D74097270000EF +:1022080083A7870104C18297B387A44063F5A4001C +:1022180003278900BA9785CB0347140E9306204EEF +:102228003307D70263F1E702930780FA230CF40A15 +:102238000145B24022449244024941018280130779 +:10224800800A639EE700173506E013050581EFE075 +:102258005F849727000083A7270E0947F8D713053F +:10226800F00FC1BF0545F1B7011122CC26CA06CE31 +:102278002AC42EC6172400000324045B854419E0F1 +:1022880001450DA09C841830858B6304F700004439 +:10229800FDB719469305A10013052400EFE04FC7C9 +:1022A800E31795FEF2406244D24405618280000043 +:1022B800EFE0FF817300000000000000972200009B +:1022C800938202F50383020023800200630F030058 +:1022D800F32510342EC0970500009385A5FD739053 +:1022E8001534EF0080617300203086DCEF00E06079 +:1022F800E6508280000041114AC0172900001309E6 +:10230800A9020327090026C206C61C5F22C4972417 +:1023180000009384240193D76748C1C79307000638 +:102328001CDF1724000013046467184C9307000887 +:102338006317F7009C409C4393F707041CCC1C4090 +:1023480093F7070499CB9727000083A7E7EC8297B8 +:1023580048D81C4093F7F7FB1CC01C4093F70702B2 +:1023680099CF1C4017270000032707FDB706080070 +:1023780093F7F7FD1CC05C5414C786077CD71C482C +:1023880093F7070499EF85475CC83707020097273A +:10239800000083A767FA98C71307000C18C81854D9 +:1023A800F8D383270900985F1357474805C3985FF8 +:1023B8001367070198DF9727000083A7E7F723A291 +:1023C80007068547172700002322F75E9C40D8435D +:1023D8001357174819C7D843759BD8C3D843799B57 +:1023E800D8C3B24022449244024941018280213735 +:1023F80073002030972700009387475A3707040057 +:1024080088DB698F11CF172700000327E7F2FD56F5 +:1024180034D797260000938626FCD84E0507D8CED9 +:10242800137785000DC398479726000083A6C6EF4B +:102438001367170098C71307000898CBD856719BE5 +:1024480013671700D8D61377150011CFD8439726EE +:10245800000083A666ED13671700D8C3D856719B92 +:1024680013671700D8D6137765000DC31377450097 +:1024780059C798431367170098C39726000083A687 +:10248800A6EAD856719B13671700D8D64167698F9B +:102498000DC39726000083C6A634C18A17270000FB +:1024A8001307C72CB5C28346470793E60602230ADB +:1024B800D70637070200698F11CF984B13770708A3 +:1024C80019C3054798CB9727000083A7E7E6370786 +:1024D800020098C7B70708007D8D0DC117270000B7 +:1024E80003471730058B97270000938727281DCBB4 +:1024F80003C7570713672700A38AE7068280D847D0 +:1025080013671700D8C795BF834647070946BD8A92 +:102518006388C600834647070D46BD8AE39BC6F815 +:10252800914671B703C75707118B69DB03C7570774 +:1025380013678700D1B79726000083A6E6DF172721 +:1025480000001307A7451C43858B91E75C43858BE7 +:1025580099E3FC52EDFB9727000023AB07448280E8 +:1025680097260000938646DC2A8788421C5D93D70D +:102578005748C1EB81C51C59BD839CA115C69C4217 +:10258800945BC60693D7660163D6060093E707C037 +:10259800B3C707088316060093975760A9CABE9663 +:1025A8008947B3C6F60216A29727000083A7C7D8A3 +:1025B800BC4B083393D757488DCF29C597260000C1 +:1025C80083A6463F93F606049307950009459DCADE +:1025D800BA979C230547194593F6F7066394E602D4 +:1025E80001459397476063DF0700394582801EA243 +:1025F80065BF2A9748331375F5077D153335A00055 +:102608008280054582809727000083A767D299CBEF +:10261800944BD04B9842518F98C294439C47984210 +:10262800D98F9CC217260000130606D10548184208 +:102638009726000083A646CF972700009387073682 +:102648006314050503A806001368080823A00601FB +:1026580083C62702B3C5D52054479385A50C139884 +:102668001649232607010F100000184237060200FA +:10267800860510C71306000890CB6CD354C797275C +:1026880000002385A7CA828088421375F5F788C29F +:1026980083C62702B3E5D52054479385E50E1395E5 +:1026A800164948C70F100000184237060200860571 +:1026B80010C71306000890CB6CD354C70945C1B79F +:1026C800411122C4AA8706C626C22E8517240000F7 +:1026D800130484C6B285CDEB1C40F8537DFF370741 +:1026E800020098C79727000023AE072A9724000006 +:1026F800938404D1DC5085C7B7E700E03707200092 +:1027080023A0E728B7F700E0938707D0984B6D9B85 +:1027180098CB984B1367870398CB73005010E53517 +:102728009727000083A747C098431317772998C3B2 +:10273800D857719BD8D79727000023AB0726972730 +:10274800000023AF07241C40094798C3DC5099CBED +:1027580037F700E0832707D193E787002328F7D0CE +:1027680073005010144017270000130727231C4735 +:10277800858B91E75C47858B99E3FC52EDFBB24072 +:1027880022449244410182800D476390E7069727CF +:10279800000023A907209727000023A707209724D4 +:1027A80000009384E4C5DC5085C7B7E700E037072D +:1027B800200023A0E728B7F700E0938707D0984BBD +:1027C8006D9B98CB984B1367870398CB7300501079 +:1027D8001D3D9727000083A727B59843131777292E +:1027E80098C3D857719BD8D795B70547E39CE7F6A8 +:1027F800972600009386C6C0DC5285C7B7E700E07D +:102808003707200023A0E728B7F700E0938707D011 +:10281800984B6D9B98CB984B1367870398CB7300A5 +:1028280050101C40D04713171649D8C70F10000086 +:102838001C403707020098C71307000897250000B7 +:1028480023A6E51617270000032707AE18431357DA +:10285800774819C71307E018F8D3D0C7DC52C5BDAD +:102868001307E01AD5BF9727000083A767AC89CF65 +:10287800D44303A8870098423367070198C2D44716 +:10288800DC4B9842D98F9CC205479727000083A745 +:10289800A7A995056310E50498431367070898C32B +:1028A800984F137707C01367A71398CF13078007AC +:1028B800B8BB939735009387C70317270000130702 +:1028C800E70D1CD7972700002382A7A619C2060682 +:1028D80010D78280984309451377F7F798C3984F24 +:1028E800137707C01367271398CF1307F007B8BBF0 +:1028F800939745009387C703C9B79727000083A715 +:10290800A7A38847D847798D01C988C797270000AA +:1029180083A747A291C3828782808967172700000F +:10292800032787A1938707F47CD39726000083A603 +:10293800A6A183A7060993D7A74991C783A7060924 +:1029480093D7974999E37C53EDF78280411106C6E6 +:1029580022C426C24AC063030510AD472A8463EA2D +:10296800A70C1304F5FF1374F40F1385F5FF014644 +:102978009305F00F1375F50FFD3597240000938428 +:10298800A49C9840172900001309099A13640404A9 +:102998005C571374F407170500001305250DF59B04 +:1029A8005CD7032709001C4393F707F8C18F1CC3A2 +:1029B800B7477671938797121CC7B7575500938707 +:1029C800575517240000130424975CC31840972711 +:1029D800000023A507FC5C43F99B5CC3A5471727A8 +:1029E8000000232BF7FCEFE0CF8A14409727000064 +:1029F80023A007FC9727000023A407FA0327090050 +:102A080085479CC21C4337063300014593F7F7CF2F +:102A18001CC31C4393F7F7CF93E707201CC39840C8 +:102A28001C47D18F1CC7B707030093878715BCCAFB +:102A380005A0B1476307F5029307600263E5A700A5 +:102A48001304E5FF0DB7930770024945E30FF4F04F +:102A5800B240224492440249410182801304500248 +:102A680029B71304600211B717270000032747F39B +:102A7800058B97270000938767CF01CF17270000A2 +:102A88000327878A185F1357574801E79A270507CE +:102A98009AA703C68703EC33C8234DBD411122C44E +:102AA80006C626C24AC02E849DCD13F9150081475B +:102AB800414763040904131745003E97B14633079D +:102AC800D7029714000083A42476B317F02833C9DB +:102AD8000708BA949C40C840829723A0040023A208 +:102AE800040033448900B2402285224492440249BA +:102AF80041018280B356F448DDFE8507E39CE7FE7A +:102B0800CDB7011126CA06CE22CC4AC84EC6AE841D +:102B1800B1C593F7150001444147A1CF931745006C +:102B2800A2973147B387E702971900009389C96FC5 +:102B380003A909003E998327090081C70325490095 +:102B4800829731473307E40283A70900BA979C4765 +:102B58008DC733148028B3470408BD8CF240624403 +:102B68004249B2492685D24405618280B3D6844859 +:102B7800D5F60504E31CE4FECDB723200900232283 +:102B88000900C1BFAA87171500000325656911E16F +:102B980082803A216315B7001821E30BF7FE4845F8 +:102BA800FDB77971B7E700E022D4804352CC06D64E +:102BB80026D24AD04ECE56CA5AC85EC662C43A8A8F +:102BC80037072000798C23A0E7180F10000005E1D3 +:102BD80023A087100945B250225492540259F24951 +:102BE800624AD24A424BB24B224C456182809717C7 +:102BF800000083A76762B6892A89AE8A328B971B41 +:102C08000000938B6B62829703A70B008144B14647 +:102C1800C147338CD40233068701104241E2C165B3 +:102C2800938505F04145EFD0AFED19ED97270000EA +:102C380083A7078081C7814511458297B7E700E0E0 +:102C480023A087102D4541BF171700001307475DC4 +:102C58001C43A1E308C323000500B31790283EA135 +:102C680083A70B00232605002324650123224501A1 +:102C7800E29723A0270123A2570123A447016384D5 +:102C8800090023809900B7E700E023A087100145D9 +:102C980099B73E87DC47F5FF48C775BF8504E39AB7 +:102CA800F4F6B7E700E023A0871021452DB7B7E772 +:102CB80000E09843B706200023A0D718758F0F109F +:102CC80000009716000083C636716373D502971605 +:102CD800000083A626553325D5201621D58D0EA1B3 +:102CE8009716000023A2067023A0E71001458280F2 +:102CF80023A0E7100D4582800111B7E700E022CC40 +:102D080080433707200006CE26CA4AC8798C23A0FC +:102D1800E7180F100000BD4763E9A70431473307E0 +:102D2800E5029717000083A72750BA979C4395CFD1 +:102D38003315A0282E89B345050801452EC69935B7 +:102D4800AA8409C9B2450145972004E0E78020908C +:102D580023A42401B7E700E023A087100145F2402F +:102D68006244D244424905618280B7E700E023A06B +:102D780087100945EDB79726000083C6669A97170E +:102D8800000083A7E75201476394E600014582806B +:102D98008E23138687026394A5003E8582800507EB +:102DA8001377F70FB287CDB79727000083C75797D8 +:102DB800AA868507171500000325455001471221EB +:102DC8006307D60005071905E36BF7FE0145828006 +:102DD8002A87171500000325E54E11E182801C455E +:102DE800B227636BC70003584500B306C800635594 +:102DF800D7008146639406010841C5B703D3A700ED +:102E0800938807016316E30091C192A13E858280F1 +:102E18008506C687B3C60608F1BF9726000083C695 +:102E280026909717000083A7A74C01476394E600F4 +:102E380001458280AE231386C7036394A5003E85AF +:102E4800828005071377F70FB287CDB7411122C4E7 +:102E580006C6972700002385079817140000032447 +:102E6800244A05C06C390145B315B028B3C5050817 +:102E7800972004E0E780C0CA930710273305F502BE +:102E880002942244B2408145014541016FD0DFC11F +:102E9800411106C6383D19C734256310D704B2401E +:102EA80041016DB73C2DE5DF3825E30AF7FE3CA567 +:102EB800814517E5FFFF1305051CEFD0FFBE9717E7 +:102EC800000083C7E75999C79717000083A7C7462B +:102ED8005147F8D3B240410182803C2D89C7E3981D +:102EE800F6FC38A5F1B7C5FEEDBF41114AC0172958 +:102EF80000001309A9AA8327890022C426C206C68E +:102F08009724000093848486858BE0509DCB972777 +:102F1800000023A907A883C74407C18B85CFEF000A +:102F2800507E83C7440793F70702E5DF83C744074A +:102F3800228593F7F70C238AF406974005E0E7808B +:102F48004006EF00107C22852244B2409244024998 +:102F58004101EDBD83C75407858B91CBEF00707A93 +:102F68008D47230EF406BC5822858297D9BF83C7A4 +:102F780044071547BD8B6395E7048347B4060345AB +:102F880034060146930550025D8DEFF0DF8D014652 +:102F980081450545EFF0CFF28327C900858BD5D34E +:102FA80022859727000023A107A0974005E0E78026 +:102FB80000E741F9B240224492440249410182802B +:102FC80083C744071947BD8BE39DE7F68347B406DB +:102FD800034534060146930550025D8DEFF0BF8826 +:102FE800014681450545EFF0AFED8327C900858B84 +:102FF800A9DB22859727000023A8079A974005E0B8 +:10300800E78020BB7DB7411122C426C206C67C25B5 +:1030180078452A84BD8B1CA91CA31D476445639B66 +:10302800E7340547B8A08347F5058D466395D7185B +:103038005E2DCDE37C491147B18B638DE70831479D +:103048006398E700034715068347F5076304F70805 +:103058008547BCB019469305640313854400EFD037 +:10306800AFD9BC20990793F7F70FBCA00347040614 +:103078001377070401CFB83013670704B8B0784452 +:10308800BA975838B8B3BC208507BCA0971700007A +:1030980023880774BC2013F7F703050718B80347FC +:1030A800E4051A07D98FBCA083475403858B91E7A1 +:1030B8000347440389476317F70078441C2393E7C1 +:1030C80007041CA37C44183898B3B24022449244A5 +:1030D80041018280A147BCB08357C4069715000000 +:1030E8009385C5681716000013060625DCA08357CC +:1030F800C406034714067444A1831207BD8BD98FF5 +:10310800DCB2B4208547890693F6F60FB4A01717EA +:1031180000000347E76C631EF706183C9387E60038 +:103128008E07231AF4069387C708B387E702794501 +:1031380010420948238A0507C1650CC6938707FB17 +:10314800B3C7070893877716B3C7A70233C707081B +:10315800B387A70286073CD2BC3093E70701BCB00F +:103168007C44B6978346240693E60604B4B3B42099 +:103178007C44B697D8A3B4207C4421837D8BB69732 +:10318800834634069606558FD8B3BC208D07BCA05D +:1031980011B71042F947385205833357F7023C52AA +:1031A80068528583FD8BAA977CD28D47238AF506C2 +:1031B8003347070855B71946639DC7125E2DC1E30B +:1031C80093056503B8B013854400EFD0EFC2BC2067 +:1031D8001385A4009907BCA0BC3093E72700BCB0B6 +:1031E80083475403898B95CF0C58BC299DCB19462E +:1031F800D105EFD06FC078441C2393E707F81CA3D0 +:10320800BC20990793F7F70FBCA003470406137770 +:103218000704E30D07E6B430784493E60604B4B037 +:1032280085B58347D40391C778441C2393E707F8EF +:103238001CA319469305E403EFD00FBCD1B7A147EF +:10324800BCB08357C506DCA08357C50603461506E0 +:103258006C45A1831206BD8BD18FDCB1B020171548 +:1032680000001305A550971500009385E50C090685 +:103278001376F60FB0A09717000083C767566398B8 +:10328800E704183C9307E6008E07231AF406938791 +:10329800C708B387E70279488946230AD5069441C7 +:1032A800C1658CC6938707FBB3C707089387771652 +:1032B800B3C7070333C70708B38707038607BCD21A +:1032C800BC3093E70701BCB07C44B29761BD8C4128 +:1032D800B851F94705833357F702BC5103A845068F +:1032E8008583FD8BC297FCD1230AD506334707088F +:1032F800C1BFA147BCB08357C506DCA08357C5062C +:10330800034615066C45A1831206BD8BD18FDCB12F +:10331800B020171500001305654509061376F60F4A +:10332800B0A09717000083C7A74B9715000083A587 +:10333800A500E39FE7F8183C9307E6008E07231AD9 +:10334800F4069387C708B387E702F9460948230AB2 +:103358000507416588C5938707FBB3C707089387A7 +:103368007716B3C7D70233C70708B387D7028607CC +:10337800BCD1B9B70547639EE706B1471CB9834777 +:103388005503898BA1CB0C59BC29A9C71946D1056E +:1033980013858400EFD04FA678441C2393E707F8E1 +:1033A8001CA368441946930564030905EFD0CFA40C +:1033B80011679717000083A76748F98FE38607CE40 +:1033C8007C24B98BE39207CE78441C2393E7070249 +:1033D8001CA3D9B98347D40389C79C2093E707F86E +:1033E8009CA0684419469305E4032105EFD0CFA0BB +:1033F8004DBF522D0C559307660093F7F7031CB980 +:1034080013858400E5B7011126CA97140000938438 +:10341800E4589C4422CC06CE17140000130404354B +:10342800858B6850D9C32AC69717000023AC075666 +:10343800EF00302D03474407894732456307F700FB +:10344800034744078D47631EF7029716000083A6BB +:10345800A6EEBC520357450785831307C71263F2CC +:10346800E702BC528583B1C3914703474407E31E73 +:10347800F7FE6244F240D2440561174305E0670055 +:10348800A3DB382D3C3D09CF34256309D702638877 +:10349800F60238A56244F240D24405616FD07FA499 +:1034A80099CF382509EF3CA5F5B72AC6EF00702556 +:1034B80062443245F240D244056149BAEDF7DC4C2A +:1034C800EDF70347440789476307F70003474407B5 +:1034D8008D47E31CF7FC914703474407E31EF7FEBB +:1034E80049BF63000532011122CC06CE26CA4AC85C +:1034F8004EC652C456C2582585472A846318F72CED +:103508009717000093878749D44F1547638AE600C9 +:10351800D44F0D476386E600D84FAD476312F702D4 +:103528006C386244F240D2444249B249224A924A33 +:1035380001450561B315B028B3C505086FF02FF72D +:10354800163113070064971400009384242233472C +:10355800D7029C20E8D0850793F7F70F9CA063CA91 +:10356800E700972004E0E78020A297170000238F48 +:10357800071E78249D47631FF70483479406B1C349 +:103588008356040763ECF6020C24930730041CAC42 +:103598001305300493F6F60F0146977006E0E780AE +:1035A80080C722856244F240D2444249B249224A45 +:1035B800924A0561174305E06700037885062318DA +:1035C800D406930530020545972004E0E780A094CF +:1035D8002301A4060549238A2407183C8D47631C48 +:1035E800F70E971004E0E78000FD0D89630F0514BE +:1035F80063162517930760023CA4930750023CAC5E +:103608009307700278243CBC85476302F7088965F4 +:103618009385F57013051027171A0000130A4AE35B +:1036280083497401972004E0E78060910E30835A43 +:10363800CA002A8913060064B38555038146138599 +:103648000532B335B50097A006E0E7800038AA84B4 +:10365800B335590337460F00130606248146330550 +:10366800590397A006E0E780403683270A00AA940A +:103678008297B307950003278A00BE8563E4A700F5 +:1036880063E4E700B385E7404E85EFF0EFE6834754 +:103698005403898BE9CB8347C403F1C70C58E1C5B0 +:1036A800BC25F1C38947230AF4021946B10513055D +:1036B8006403EFC07FF40347C407894763E9E70A57 +:1036C80022856244F240D2444249B249224A924A8F +:1036D80005616FD01F8189467C346315D70213F7C3 +:1036E800170019CB898B1307500291EB93077002CF +:1036F80038A43CAC814739B713076002C5BF9307AC +:103708006002FDB799CF93F617001307500291E6B0 +:10371800898B13B717001307670238A4230D040019 +:10372800D1BF3C2C130740026368F700930750028F +:103738003CAC3C2C3CA47DBF850793F7F70F3CAC11 +:1037480013077002E364F7FEEDB7130770029307DF +:1037580050023CAC38A4930760026DB513075002C1 +:1037680093077002FDB78547230AF402A9B7032718 +:10377800C40A9716000083A626AA3C27ADC31C37A7 +:103788005833971400009384A4CC9044B387E7027D +:10379800DA24B387E7021307003293870719B3D7F0 +:1037A800E702032744093E973A896364F700636494 +:1037B800C7003309C7408296B307A9406374A900BC +:1037C8009844BA9703576407E3FCE7EEF240624473 +:1037D800D2444249B249224A924A056182808324EE +:1037E8008409829663E9A400835764073385A4405B +:1037F800E378F5ECE1BF9717000083A7E7C5BE940F +:10380800E5B7828001114EC697190000938909F621 +:1038180022CC03A4C9094AC817190000130949C3CF +:103828000357C90026CA835464088327040906CEAF +:10383800B384E40237470F009306F72313070724DE +:1038480052C456C25AC0B694B3D4E40263E0970493 +:10385800171A0000130A4A9CB384974083270A006A +:10386800829763E9A4023385A4406349050283571C +:103878000404A30F040085072310F40483470414E9 +:10388800639E07102285EFD0BFBE21AA03278900B7 +:10389800BA977DBF83278900BE94F1B783270A00B2 +:1038A8008297032784086366E50A198D7E3C0357CF +:1038B800C9008E07B387E7021307003293870719F9 +:1038C800B3D7E70263ECA708B74A0F00138BFA23B4 +:1038D800938A0A248357040485072310F404834732 +:1038E800041481E72285EFD0BFB82285975005E000 +:1038F800E780002E63170524032604090327C4085C +:10390800832689003297BA876364C7006364D70047 +:10391800B307D740783C0356C9002328F4080507A5 +:1039280078BC035764083307C7025A9733575703BD +:10393800B384E74063F5E700998EB384F6008327E4 +:103948000A00829763E6A4043385A440E34405F89B +:1039580039BF83278900998F3E9589BFA145228564 +:10396800975005E0E780E01EA305A4029717000022 +:1039780083A707AC6387071C6244F240D2444249DC +:10398800B249224A924A024B894515450561828708 +:1039980083278900A6973385A7404DBF2285EFD09E +:1039A8007FB72285975005E0E7808022631B0518C2 +:1039B8000355C90083576408B7460F001386F623DA +:1039C800B387A7029386062403270409230B04025E +:1039D800832A8900B297B3D7D702636EF716B30765 +:1039E800F7408326C4082324F408014BB387E60074 +:1039F800BE8463E4D70063E45701B38457411E30A3 +:103A080023289408A1CB835604045A3037460F0064 +:103A180056B03387E640B387E7023A3013060624E8 +:103A280081468145BA97B3C707083385A7023EB0D8 +:103A380097A006E0E78060F911CD2695B33495008C +:103A4800A695AA876314BB0063645501B307554163 +:103A58002328F40883270A008297AA8483270A0068 +:103A68008297E30D95FE83270A00832484088297B2 +:103A780063E8A40E3385A44063010510035AC90006 +:103A880083576408B7440F001387F423B3874703A9 +:103A980093840424BA97B3D79702171700000347F3 +:103AA800B797BA9763EBA70CB3359502835A2402EC +:103AB800528681463305950297A006E0E780E0F03C +:103AC8003389AA0033854A0337460F0013060624B4 +:103AD8008146814597A006E0E78020EF15C1B337FE +:103AE800950252868146B385B4023385A402BE95F9 +:103AF80097A006E0E78060EDB38AAA40231154033B +:103B08003545692123AE890838348547631EF70493 +:103B1800930700FD7CA48145171500000325058047 +:103B2800EFC09FF89547171700002327F7E83707D6 +:103B380010009717000083A7278098C7060923A8B5 +:103B48002707F2406244D2444249B249224A924A83 +:103B5800024B05618280B3065701B387F64051B521 +:103B680083278900BE9439B7930710FC7CA481454C +:103B7800170500000325057A65B79717000023A5E8 +:103B880007C8834709019DC31705000003258577EA +:103B9800EFD04F95624483274900F240D24442490E +:103BA800B249224A924A024B0561828783459402B0 +:103BB8006244F240D2444249B249224A924A024BF4 +:103BC80001450561B315B028B3C505086FF02F8E00 +:103BD800011122CC26CA4EC606CE4AC852C456C2C5 +:103BE8005AC038358547832405092A84AE89631469 +:103BF800F70C83570508835AC503171A0000130AE0 +:103C08002A85035BCA0063FE57191429639BE618CB +:103C180003278511631707180327450A6313071835 +:103C280074351D47639FE6162A3DB38AFA40930709 +:103C3800204E330555030329440937460F00130660 +:103C4800062481463305F5029707000083C7C77C21 +:103C580033592503B335AB023E9933490908231379 +:103C680024093305AB0297A006E0E78000D6B30726 +:103C7800950033B5A7002E9503278A00BE8419E165 +:103C880063E4E700B384E740B307690337470F00ED +:103C98009306F7231307072423A09900B697B3D7F1 +:103CA800E702D69763E4F4009D8C31A003278A00CD +:103CB800B307F740BE94170900001309E955832795 +:103CC800090023A09900829763E2A4103385A440D9 +:103CD800635D050A83270900170B0000130B4B7758 +:103CE800829703A709006369E50E198D7E3C035787 +:103CF800CB008E07B387E7021307003293870719B3 +:103D0800B3D7E70263EFA70C374A0F00930AFA23E9 +:103D1800130A0A248357040485072310F4048347ED +:103D2800041481E72285EFD0AFF42285975005E08F +:103D3800E78000EA61E5832604098327C40803278E +:103D48008B00B697BE8463E4D70063E4E700B384CE +:103D5800E7407C3C8356CB002328940885077CBC2D +:103D680083576408B387D702D697B3D7470363E668 +:103D7800F40A9D8C8327090023A09900829763E1A8 +:103D8800A40A3385A440E34705F89707000083C7D2 +:103D9800B76863E6A7069717000023A787A601451B +:103DA800B9A88357640837470F009306F723B387EA +:103DB800670313070724B697B3D7E702E3F6F4EED1 +:103DC80003278A002697B304F740F5B59707000044 +:103DD80083A78768BE94DDBD83278B00998F3E95A6 +:103DE80031B7A1452285975005E0E78080D6A30525 +:103DF800A4029707000083A7A76381EF7D55F240CF +:103E08006244D2444249B249224A924A024B05616D +:103E18008280894515458297D5B71D8FBA9499BF79 +:103E280083278B00BE94B1BF9707000083A7C74FB5 +:103E380098433706CEFF7D161377F7CF1367071021 +:103E480098C31707000003272750144737080300B3 +:103E58001375F51FF18E14C79706000083A6C64D8B +:103E680023A8060523A40700904B93F5F50713082C +:103E780088151366F60390CB90431366060890C323 +:103E8800F04F137606E0498EF0CF23AC070423A049 +:103E980007065057759A50D79043137606F84D8EFB +:103EA80090C31306401FF0D217160000232206B055 +:103EB80017160000232606AE054690C29043B705A4 +:103EC80033001376F6CF90C390431376F6CF13667C +:103ED800062090C310474D8E10C723A80605D85357 +:103EE8001317F728D8D32547F05201C6B04FE37D02 +:103EF800C7FED8531317F748D8D3A853133545002E +:103F0800828017070000130727431443BC4ABD9B50 +:103F1800BCCA01000100010001001C43B44B93F628 +:103F2800F68FB4CB944393E6860094C30100010056 +:103F3800010001009706000083A6063F9C4293F704 +:103F4800F7CF93E707109CC2170600000326C63F69 +:103F58001C46B706CEFFFD16F58F1CC61C43370757 +:103F68000300B8CB9707000083A7873C99CBD443BD +:103F780090479842518F98C2944BDC4B9842D98F06 +:103F88009CC29717000023A907A282809707000008 +:103F980083A7873A9C438D8BF9C74111B7E700E0A7 +:103FA8004AC003A9070026C23707200006C622C454 +:103FB800AA843379E90023A0E7180F10000017142A +:103FC80000001304A49D584C8D47631AF700970707 +:103FD800000083A727760146814545458297194702 +:103FE8006393E4048347140289CB834704026396EE +:103FF800970097170000A383079C584CA1476315A7 +:10400800F700930780101EB097070000238207204F +:10401800CD3DB2402244B7E700E023A027119244E7 +:104028000249410182809D47639BF4008347140243 +:10403800E9D7034704028D47E311F7FC5DBF544CF1 +:104048006389E600584C6306F700584CA147E31D06 +:10405800F7FA83471402CDFB5C4C2300F402854732 +:10406800A300F40255B78280411122C42A84354541 +:1040780006C6293F59CCAD4763EB87067D141374F8 +:10408800F40F9707000083A7272C984BB70600C1A9 +:10409800FD161374F403758F6204418F98CB1707CC +:1040A8000000032767285857944B71766583137768 +:1040B800F7031306F60FF18E2207558F98CBF84FAA +:1040C800B706F9FFFD1613674700F8CF984B01456F +:1040D800758F1317172998CB370702001307874FD7 +:1040E80098C7B147171700002328F78C39A8B1479C +:1040F8006304F4029307600263E48700791441B70C +:10410800930770024945E30EF4F6B2402244410198 +:10411800828013045002B5B7130460029DB70000F3 +:104128002A8309CA83830500230073007D160503CB +:1041380085056DFA82809707FC1F83A7A7E11707FB +:10414800FC1F0327A7E001456313F7008280F623CD +:1041580099E2D62336959C43C5BF1707FC1F130762 +:1041680027FF1C435A23411193860711E117BA9779 +:1041780085651706FC1F232FD6DC1706FC1F23278F +:10418800F6DC06C69D051356370063F4E5001306F2 +:1041980000203387C6009705FC1F23ABE5DA6116BC +:1041A80098C2D2A2239306001CC3998FE1175EA37D +:1041B800231307004937B2409707FC1F2399A7F636 +:1041C800410182809707FC1F83A7C7D81707FC1FE8 +:1041D8000327C7D701456313F7008280F62381E6DA +:1041E800D6233375D50A9C43FDB7184183A785FFAD +:1041F8006319B7001CC1FD5723AC05FE238FF5FEDC +:104208008280232CF6FEC5BF411122C437E400E0AA +:1042180026C204403707200006C6F98C2320E4187C +:104228000F10000009E9232094101545B2402244DC +:104238009244410182800347E5FF9307F00F63062C +:10424800F700232094101145D5B797C0FB1FE780CE +:1042580080ED014523209410D1BF41114AC037E9B0 +:1042680000E022C403240900B707200006C626C2BE +:104278007D8C2320F9180F10000089E52320891070 +:10428800154515A0AA849707FC1F83C7F7E92E8553 +:1042980063F5F400894763EE9700BD37B7E700E0A0 +:1042A80023A087100D45B24022449244024941019F +:1042B800828083A785FF99E703C7E5FF9307F00F7F +:1042C8006308F7009137B7E700E023A087104DBFD8 +:1042D800238F95FE1705FC1F130505C897C0FB1F04 +:1042E800E78060F5A165268597E0FB1FE780607190 +:1042F80001452320891045BF9707FC1F23AE07C43B +:1043080082804111B7E700E026C2844337072000C6 +:1043180006C622C4F98C23A0E7180F1000009707DF +:10432800FC1F83A7E7E41704FC1F130424BA91C7F2 +:1043380082971C40AA971CC031A09707FC1F83A72F +:10434800A7C2FDF70840B74703009387D73F330557 +:10435800F502B7A72600938737ECB2403E9508C010 +:104368002244B7E700E023A09710924441018280DD +:10437800411122C406C69707FC1F83A7A7BE1704CE +:10438800FC1F130464DA89C782975C48AA975CC843 +:104398004848B240224441018280B7E700E0984390 +:1043A800B706200023A0D718758F0F1000009706B6 +:1043B800FC1F83C676D76370D5029706FC1F83A6B9 +:1043C80066BB3325D5201621B3F5B6400EA123A030 +:1043D800E7100145828023A0E7100D45828079719E +:1043E800B7E700E026D284433707200006D622D458 +:1043F8004AD04ECE52CCF98C23A0E7180F100000FB +:10440800930705FF93F7F70F7D476363F70A314773 +:104418003307E5029707FC1F83A707B6BA979C43A3 +:10442800C1CB135445003D893315A028AE89B34547 +:10443800050822852EC697E0FB1FE780E0492A89F8 +:1044480039C9B2452285170AFC1F130A6AD5B13744 +:104458009707FC1F83A747B182978357CA002A840E +:1044680081463387370313060064B3B73703130550 +:104478000732B335E500BE95EF90E229B307850012 +:1044880083268A003E8763E4A70063E4D700338766 +:10449800D7402324E900B7E700E023A0971001459F +:1044A800B250225492540259F249624A45618280BC +:1044B800B7E700E023A097100945DDB7797122D44A +:1044C80037E400E04AD003290400B707200006D6E5 +:1044D80026D24ECE52CC56CA5AC85EC63379F90097 +:1044E8002320F4180F1000009707FC1F83C7D7C3B9 +:1044F8006378F500970BFC1F83AB0BA763970B0042 +:10450800B7E700E023A0271199A0970AFC1F938A18 +:104518002AC903AB8A00B74736FE938707C83E9B74 +:1045280083D7CA002E8AAA84B385C702B289814676 +:10453800B3B7C70213850532B335B5001306006457 +:10454800BE95EF90421D6370AB02232024110145F4 +:10455800B250225492540259F249624AD24A424B0A +:10456800B24B45618280829B83D7CA002A84130696 +:104578000064B38537038146B3B737031385053223 +:10458800B335B500BE95EF900219B307850003A7B0 +:104598008A003E8463E4A70063E4E7003384E740CD +:1045A800D285268597E0FB1FE780003301C900C547 +:1045B800B7E700E023A02711054559BF93E504F0AC +:1045C8004145B3C5050897C0FB1FE780A0A811E9BE +:1045D8009707FC1F83A7C7BA85D7A6851145829779 +:1045E80005B71707FC1F1307A7981C4389EF08C3D3 +:1045F80085472326050000C52311450104A11CB1E8 +:104608002322050075B73E87DC47F5FF48C7CDB7BD +:104618007971B7E700E026D284433707200006D631 +:1046280022D44AD04ECE52CC56CA5AC85EC662C4AC +:1046380066C2F98C23A0E7180F10000035C12A893B +:104648002E8AB28AB6894144B14C170BFC1F130B52 +:10465800AB92130C0003B30B940383270B00DE9774 +:104668009C43B9EF135544409375F400568613756F +:10467800F50FB315B028B3C50508893531C18327AF +:104688000B00DE9723A0270123A2470163840900BA +:1046980023808900B7E700E023A09710014521A0F7 +:1046A80023A097100945B250225492540259F24956 +:1046B800624AD24A424BB24B224C924C45618280AC +:1046C8000504E31A84F9B7E700E023A09710214511 +:1046D800D9BF011122CC37E400E026CA04404AC8F9 +:1046E8004EC652C406CEB70720002A892E8AB28940 +:1046F800FD8C2320F4180F100000C933D2854A8599 +:1047080097E0FB1FE780401D01ED23209410214511 +:10471800F2406244D2444249B249224A0561828049 +:104728009707FC1F83D787A8B38537032A89130601 +:1047380000648146B3B7370313850532B335B50036 +:10474800BE95EF80527D2322A900232094100145B5 +:10475800C1B7011126CAB7E400E04AC803A904009A +:1047680022CC4EC6B707200006CE52C4AA892E8492 +:104778003379F90023A0F4180F10000097E0FB1F0D +:10478800E7808015170AFC1F130A0A9A1DE1A28503 +:104798004E85213183470A006382370523A02411FF +:1047A8001945F2406244D2444249B249224A05615D +:1047B800828023110500A2854E85C53683470A00ED +:1047C8006386370123A024110145E1BF17F7FB1FBA +:1047D800130727791E23C18F1EA3EDB797F7FB1F79 +:1047E800938727789A23598C82A34DBF01114AC811 +:1047F80037E900E022CC03240900B707200006CEE1 +:1048080026CA4EC67D8C2320F9180F100000930786 +:10481800F00263E7A704B144B304950297F9FB1FBC +:104828009389897583A70900A6979C4395CB9375AF +:10483800F5001181B315B028B3C50508193F83A742 +:1048480009000145A69723A0070023A207002320FB +:104858008910F2406244D2444249B24905618280DB +:10486800B7E700E023A087100945E5B74111B7E78E +:1048780000E026C2844306C622C437072000F98C0C +:1048880023A0E7180F10000097E0FB1FE780C00483 +:1048980019E90145B2402244B7E700E023A0971088 +:1048A800924441018280004597F7FB1F83A7C76B9D +:1048B80082979707FC1F9387A78E6367A402984780 +:1048C800B74636FE938606C83305A4403697E3728A +:1048D800E5FC13070064B335E502D22781463305AA +:1048E800E502EF8052637DB798473A94C9BF4111FA +:1048F80006C697F7FB1F23A7A7660295B24097073E +:10490800FC1F23AFA7820145410182804111514616 +:1049180081451705FC1F1305658706C622C426C2F4 +:1049280097F7FB1F23A6076497F7FB1F23AC0762C3 +:1049380097F7FB1F23AA076297F7FB1F23820762DB +:1049480097F7FB1F23AC076097C0FB1FE78080A683 +:1049580013068002814517F5FB1F1305E57C97C0F8 +:10496800FB1FE78020A5EFF04FFF97F7FB1F93870A +:10497800277EE82BFC3B17F4FB1F1304E47A8545DC +:104988003E958D473305F5029307000497F4FB1F06 +:104998009384845E39051375F50F3375F50A9947C5 +:1049A80028A03305F502130505243345050897B0FB +:1049B800FB1FE780206A88C035C9302099478145A8 +:1049C8003306F6021306062497C0FB1FE780809E75 +:1049D8009C40382097F4FB1F9384445993870724FD +:1049E8009CC0B347F72017F7FB1F2325F758293238 +:1049F80025211C30944017E6FB1F1306C6E533C774 +:104A0800D72010C3138717001377F70F17E6FB1F7C +:104A1800130606DE3347D72010C3138737008907EC +:104A280018B093F7F70FB3C7D72090C3B24022440A +:104A380092444101828097F6FB1F9386E66E2A878F +:104A4800BC228832637DF5001306150097F7FB1F1B +:104A580083A7C75190B2B347F52098C38280130546 +:104A6800F00F82801C41E5CB370700F07D8FB70639 +:104A7800002089476312D70E5A21411122C406C665 +:104A88002A8469C719469305F00F690597C0FB1F6B +:104A9800E78060A505478D47630AE50A1C4491C76E +:104AA8005858994745C7185C55C31306C003814534 +:104AB80017F5FB1F1305C56997C0FB1FE780808F9B +:104AC8001306C003A28517F5FB1F1305656897C079 +:104AD800FB1FE780A08797F7FB1F93876767DA2795 +:104AE80001E713070010DAA7F82719E30547F8A725 +:104AF8009A2B19E36D479AABF83719E31547F8B7BE +:104B0800B82B19E30547B8ABB83B19E3F837B8BB7E +:104B1800D83B11C7937637000983F4ABF8BBD82B81 +:104B280019E35547D8AB182C01E71307C00398AF12 +:104B38009C5791C7829797F7FB1F239BA75EFD574A +:104B480017F7FB1F2300F75ED1338147B240224499 +:104B58003E854101828089473E85828079714ECEAB +:104B680097F9FB1F9389C96383A7090006D622D446 +:104B780026D24AD052CC829713090064B335250354 +:104B880003D6C900814617FAFB1F130AEA5932C631 +:104B980033052503EF80323883248A012A840145AE +:104BA8006386840232463305944063EF840003A58C +:104BB80089008146B335A9023305A902EF80B235D1 +:104BC800B307954033858700232C8A00B2502254BE +:104BD80092540259F249624A45618280011122CCFD +:104BE8000A852E844146979502009385A5EC06CE4A +:104BF800EFF00FD318083324E420035704FFF240E2 +:104C0800624497F7FB1F83D7875A37450F00BA9737 +:104C1800130505243355F5020561828097F7FB1FBC +:104C280083D7E75851471D45637CF70279471945F3 +:104C38006378F7021307200315456373F702130718 +:104C4800B0041145637EF700130740060D456379EC +:104C5800F7001307600909456374F70013B5B70F28 +:104C68008280411122C426C22E84AA8406C6058CDD +:104C7800EFF02FE9B327A402B2402244338597000E +:104C88001375F50F924441018280411122C426C256 +:104C98002E84AA8406C6058CEFF0AFE6B327A402DB +:104CA800B2402244338597003345050892444101B8 +:104CB8008280411122C426C22E84AA8406C6058C8D +:104CC800EFF02FE43335A402B240224426959244F3 +:104CD8004101828041114AC017F9FB1F1309494756 +:104CE8008327890206C622C426C28DCF829797F4ED +:104CF800FB1F938464439E242A848DC733F7A70A35 +:104D080033470708B3D7A70AB3C70708B307F7405D +:104D180051476359F7008327C90291C38297EF105F +:104D2800823E82A4B24022449244024941018280D8 +:104D3800011122CC97F7FB1F23A2072417F4FB1FAE +:104D4800130404415C5406CEAA8581C72AC68297FB +:104D5800B245D1C59C410545BDCF9C45ADCFDE25AB +:104D6800BDCBFE25ADCB9C2981CB7C287838BA9762 +:104D78006343F506DC41A5C31306400217F5FB1F84 +:104D88001305054297B0FB1FE780405C97F7FB1FB0 +:104D980093870741984397F6FB1F23A7E61C183C07 +:104DA80019EFCA279307805737460F003305F502D6 +:104DB8001306062481468145EF80F21508BC183C8D +:104DC8009D4763E4E700A1471CBC170500001305D5 +:104DD80025D9313E0145F24062440561828097F74A +:104DE800FB1F23A1073697F7FB1F9387673B17C75E +:104DF800FB1F130747C098C337873200FD561307B8 +:104E080027A194C7D8C797F7FB1F2383073AB7C7CB +:104E1800004023A4D7269DBF011122CC17F4FB1F05 +:104E280013040433084406CE26CA4AC801E90545D6 +:104E3800F2406244D2444249056182805C58E5DB15 +:104E4800185C75D77000854582971844B247E3000F +:104E5800F7FE4A249305E00417F9FB1F1309C92C30 +:104E680097B0FB1FE780001F2320A90269D15224B5 +:104E78009305F00F814497B0FB1FE780A0537C2473 +:104E88000326090263C1F402328597B0FB1FE7804D +:104E98008029014597F7FB1F23A8072A97F7FB1FCF +:104EA80023A6072A71B74E241844B387950289812F +:104EB80085043385E7001C5C08C28297C9B70111D5 +:104EC80022CC17F4FB1F1304A4281C4426CA4EC680 +:104ED80056C206CE4AC852C45AC0AA84AE89B28AFB +:104EE8006388071A585839CB1307F01F6366A71051 +:104EF80017FAFB1F130A4A2303290A02631209043B +:104F08004A249565938515E097B0FB1FE7808014C8 +:104F18002320AA022A861DC14E245C580844898190 +:104F280082971C4403290A022322FA028947639EB6 +:104F3800F402C1479305090C6381F9042945BDA012 +:104F480003274A02E384E7FE4A249565938525E012 +:104F580097B0FB1FE78000102A896DD14E242A865E +:104F68005C58084489818297D1B78D47639AF404C5 +:104F7800C1479305490DE393F9FCB8219307A005B0 +:104F88006312F7069E21639F97044E869105568506 +:104F980097B0FB1FE780803B83270A0263872701BE +:104FA8004A8597B0FB1FE78000180145F24062442C +:104FB800D2444249B249224A924A024B0561828050 +:104FC80091476397F4009305890EE39999F675B7AD +:104FD80093070010E394F4F6A147E3E137F793054C +:104FE800090F61BF83270A02E38A27F54A8597B02C +:104FF800FB1FE780401399B71D67637FE50613071A +:1050080005E099463347D702562417FBFB1F130BBD +:10501800AB113307D702330AF70083274B02639695 +:10502800470103290B02631109024A249305E0048E +:1050380097B0FB1FE78000022A8909D14E245C58EB +:105048002A8689815285829791451307A00593F591 +:10505800C50FB307B900B4236399E6029623639496 +:10506800960291054E86CA95568597B0FB1FE78034 +:10507800E02D83270B021DB7A166F916E3E0A6EC25 +:105088003307E54051B7AC33D9B783270B02A9BF23 +:1050980097F5FB1F83A5450BE38205EA9147930625 +:1050A800A00593F7C70F3387F5003023E318D6E838 +:1050B8001223631B960091074E86BE95568597B0BE +:1050C800FB1FE780A028D5B53C33E1BF97F7FB1F4E +:1050D80093870708984721C7985F31C385466310AF +:1050E800D504411122C417F4FB1F1304E403105024 +:1050F80006C615C2CE27485089810297085097B036 +:10510800FB1FE780400297F7FB1F23AF070297F7C3 +:10511800FB1F23AD0702B2402244410182808280F6 +:1051280001114AC817F9FB1F130989024EC68329C2 +:10513800890022CC26CA52C406CE56C2AA842E841E +:10514800328A638D091A8327890399EB2945F2402E +:105158006244D2444249B249224A924A0561828055 +:1051680083274903E5D79307F01F63E0A70C97F956 +:10517800FB1F938969FB83A7090295CF0325890043 +:1051880083A749026395A7048947639FF404C1472D +:10519800E31EF4FA03A509021305050C9307A005FD +:1051A8003CA106A12286D285110597B0FB1FE78096 +:1051B800E019014569BF0355C9009305E00497B09C +:1051C800FB1FE78020E923A0A9024DF941B78355C9 +:1051D800C9008327490303A6090289818297832787 +:1051E800890023A2F9024DB78D47639AF400C1479D +:1051F800E31EF4F403A509021305450D45B79147CD +:105208006399F400E31494F403A509021305850EC9 +:1052180071B793070010E39BF4F2A147E3E887F224 +:1052280003A509021305050F95BF9D676373F5066E +:10523800930705E01947B3C7E7020357C90097FA70 +:10524800FB1F938A6AEEB387E702BE9983A70A0217 +:10525800A1CB83A74A026391370703A50A029147A6 +:105268009305A0051308F00F13F7C70FB306E50061 +:10527800B0226313B60683D80600B032639C980444 +:10528800B307F64063C6870411072286D2853A958C +:1052980029BF21677917E36BA7EAB307F54071BF08 +:1052A8000355C9009305E00497B0FB1FE78080DA37 +:1052B80023A0AA0259FD59BD8355C9008327490374 +:1052C80003A60A0289814E85829723A23A0371B701 +:1052D80023900601B28749BF338687001106130859 +:1052E800F00B6374C8002D459DB5ACA213063400BD +:1052F800719A1106B29786A2BCB279B797F9FB1FCB +:10530800938989E283A709029DCB03A509029147E6 +:105318001308A0059305F00F13F7C70FB306E500B0 +:10532800B0226310060583D80600B0326397980050 +:10533800B307F640E3DA87F48EA2B287F1BF83475A +:10534800E9000355C9009305E0043305F502334528 +:10535800050897B0FB1FE780E0CF23A0A90255F509 +:10536800F5B30356C9008345E900B385C502338602 +:1053780087001106E3E9C5F62381060185BF0145CB +:1053880082809C211CA1BE211CB1BE21A1833CA10D +:10539800DC213CB11145828097F7FB1F23A407BE8F +:1053A80097F7FB1F23AE07BC82800DCD411122C4A5 +:1053B80026C206C6AA842E84014585C12285414697 +:1053C800978502009385057297B0FB1FE78000F868 +:1053D8009C2005455CA49C305CB4B24022449244B5 +:1053E8004101828001458280011122CC26CA06CE65 +:1053F8008947AA843284639EF5006383B6024147D5 +:1054080081476395E6048A854D3741468A8522851A +:105418000DA841476392E504638FF600639EB602C8 +:105428002E86A2856244F2402685D244056117B3D0 +:10543800FB1F670023038A853285853F41468A859D +:10544800268597B0FB1FE780E001AA87F2406244F7 +:10545800D2443E85056182808147CDBF97F7FB1F07 +:1054680023A0A7B2828097F7FB1F23ADA7B0828045 +:10547800011122CC622106CE26CA4AC84EC63DC8B2 +:10548800832985002A88AE8403C909008147131738 +:10549800496063550702B147054563F6870403551C +:1054A80028005114334404084E8633878900A286A5 +:1054B8008545EFB0B003B337A00085071355694899 +:1054C8007D141379F903334404089CA088B0238120 +:1054D8002401C2A0014719C01387190098C40947BD +:1054E8006383E7000145F2406244D2444249B2492D +:1054F800056182800545C5BFC167F917630AF502D2 +:10550800D94763F7B702011122CC2EC606CE2A84EA +:10551800EF90A007B2456368B50022856244F24067 +:1055280005616FA0807CF240624405450561828078 +:1055380005458280C167F9176314F5006F90E00490 +:10554800411106C6EFA0006911E15D45B240410175 +:1055580082809147639DF5001C211CA23C211831D3 +:10556800A207D98F3EA23C3101455CA28280114539 +:1055780082804111814522C426C206C6AA849D2381 +:105588002A8409E997F7FB1F83A7879F81C7F945F5 +:1055980026858297B2402285224492444101828026 +:1055A80039714ED652D45AD05ECE06DE22DC26DAC7 +:1055B8004AD856D22A8A2E8BB289B68B0DE79D3FE0 +:1055C8009145EF90A00A2A844D49854A19EDF25079 +:1055D8006254D254B259225A925A025BF24B4A850B +:1055E8004259216182803A84814A230034018544EA +:1055F800630A0B00DE8513051400029B9304150053 +:10560800B3C404089399496063D30902C14552851C +:10561800EFA0806A654915E533069400A6852285C2 +:10562800EFB0E0312A8911EDB104B3C40408914701 +:105638002C0052857C8422C66485EF90B07F2A892D +:1056480059D5E3860AF8228597B0FB1FE780A0ADFD +:10565800BDBF011122CC26CA4AC84EC606CE2A8929 +:105668003284B689353FAA840DE197F7FB1F83A7DB +:10567800679181CF05476317E40003C40900050457 +:105688001374F40FA2854A858297F2406244424916 +:10569800B2492685D24405618280AE860147054617 +:1056A80097050000938525CE6DB79E211CA19E21EC +:1056B800A1831CB1094582809E211CA19E21A18342 +:1056C8001CB1BE213CA1BE21A1833CB11145828001 +:1056D8009E211CA19E21A1831CB1BE213CA1BE21FB +:1056E800A1833CB1DC315CA1FC215CB18A251905A0 +:1056F8003345050882809E211CA19E21A1831CB1EF +:10570800094582809E211CA19E21A1831CB1BE2136 +:105718003CA1BE21A1833CB111458280CA21060566 +:105728003345050882809E211CA19E21A1831CB1BE +:10573800AA2109053345050882809E211CA19E21C6 +:10574800A1831CB1BE213CA1BE21A1833CB1CA21C9 +:1057580011053345050882809C211CA105458280DE +:105768009E21411122C406C61CA19E212E8411052A +:10577800A183A30EF5FEBE219505230FF5FE83D761 +:10578800D5FFA183A30FF5FE03C6F5FF97B0FB1F56 +:10579800E780C0BB4820B240224411054101828005 +:1057A80089476399F5001C3118210145A207D98F53 +:1057B8001EA28280114582809A21011106CE22CC38 +:1057C8002EC6D94763F4E7022A84EF80105CB246FC +:1057D8009E22636DF50022856244F2400147094626 +:1057E800970500009385A5EC05615DBBF240624416 +:1057F800094505618280AA87A9C11421FD150547BD +:10580800B3C505086398E60013D725008D891145AF +:1058180089CD8280094711456392E602494533D70D +:10582800A502B3F5A502114591E9114501CB8507FC +:1058380034A21AA25CC20145828011458280AE86DC +:105848000147114697050000938545E791BB13F77B +:105858003500AA8701EB8981114591C50EA25CC26A +:105868000145828011458280D8218947631BF70250 +:10587800011122CC2A84C84506CEAE8601C92EC69F +:105888009D4597B0FB1FE7808097B2462A872285FF +:105898006244F2401946970500009385A5E3056127 +:1058A80001B30945828099E1114582801C21054791 +:1058B8003EA2E37BF7FEFD1593F5F50F33D7F5020E +:1058C800B387E702E392F5FE050548C21AA201452F +:1058D8008280DC210947AE866385E70041476399EA +:1058E800E70001472146970500009385A5E74DB9D4 +:1058F800094582800EA291E1014548C20145828096 +:10590800AE860147294697050000938505DF49B90A +:105918000EA291E1014548C201458280AE86014749 +:10592800314697050000938525DE9DB90EA291E1C9 +:10593800014548C201458280DA21854763FFE702B5 +:10594800011122CC2A84884106CE2EC615C1854570 +:1059580097B0FB1FE780A08A2A8722856244B24657 +:10596800F240394697050000938585DB05610DB93E +:10597800F240624409450561828009458280AA8710 +:105988008DC518218D46114563F2E602FD15B3C594 +:105998000508B3C6E5023308D702639905018507F0 +:1059A80016A23AA25CC20145828011458280DC21A0 +:1059B8000947AE866385E70041476399E7000147D9 +:1059C8004146970500009385E5D9D9BE09458280EF +:1059D8003335B0000A058280011122CC26CA06CED2 +:1059E80098258547AA842E844946631FF70099366F +:1059F8003E2049151306200963C8A700F2406244F7 +:105A0800D244094505618280183485476314F7003C +:105A180013660604484001C98D4532C697A0FB1F8E +:105A2800E780E07D3246A2866244F2402A872685D6 +:105A3800D24497050000938545CF056195B68D47FB +:105A480063F7B7021C311821F115A207D98F1EA2DE +:105A58003C313821B3C50508A207D98F014799C140 +:105A6800130745003EA24EA218C601458280114583 +:105A78008280011122CC2A84884506CEAE8601C9CF +:105A88002EC6954597A0FB1FE7806077B2462A8708 +:105A980022856244F240594697050000938525CA3D +:105AA8000561FDBC3335B0000A058280AE8601472A +:105AB800614697050000938565CADDB485471145A1 +:105AC80063F1D7021C320C220945A207CD8F81450C +:105AD8006384A60093052600F9161EA336A34CC3BB +:105AE80001458280014781467946814555BC9E2102 +:105AF8001CA19E21A1831CB109458280BC210547B8 +:105B08001CA18A216397E7000A05050533450508A6 +:105B18008280C9473305F502CDBF8A210A0533457E +:105B280005088280BE211CA18A21BE213305F50209 +:105B380005053345050882808A2182808A21828072 +:105B48008A218280BE211CA18A21BE213305F5024B +:105B580005053345050882809E211CA19E21A1834D +:105B68001CB1BE213CA1BE21A1833CB1CA211105B3 +:105B78003345050882809E211CA19E21A1831CB16A +:105B8800AA2109053345050882808947114563988C +:105B9800F6001C3214220145A207D58F1EA382806D +:105BA8009A21D947AE8663F9E70001470D46970564 +:105BB8000000938505F471BC094582801145639DF9 +:105BC800A6001C3214220145A207D58F1EA33C3221 +:105BD8003422A207D58F3EA38280BC210547FD173A +:105BE80093F7F70F6361F7049E2195CF011122CC3B +:105BF8002A84C84106CE2EC615C1894597A0FB1F29 +:105C0800E780E05F2A8722856244B246F240154663 +:105C1800970500009385C5EE056125BCF2406244F6 +:105C280009450561828009458280954763F0D7065A +:105C3800411122C426C24AC006C61C323A84182220 +:105C4800A207B284D98F1EA03C3238229385440023 +:105C5800A207D98F3EA089475CA0094613055400C6 +:105C6800368997A0FB1FE780606E19478147630458 +:105C7800E90093876400691923142401B2405CC4C5 +:105C880022449244024901454101828011458280A3 +:105C98009E2195CF011122CC2A84C84106CE2EC65A +:105CA80015C1854597A0FB1FE78060552A87228587 +:105CB8006244B246F2401D4697050000938525E6EA +:105CC800056141BAF240624409450561828009458F +:105CD80082809947B2856388F600D14711454146CD +:105CE8006384F60082800946411106C650A39C31A0 +:105CF800942113055700A207D58F1EA3BC31B421E8 +:105D08009105A207D58F3EA397A0FB1FE7800064EB +:105D1800B2400145410182809E219DCF011122CCD4 +:105D28002A84C84106CE2EC61DC1894597A0FB1FEF +:105D3800E780E04C2A8722856244B246F240254635 +:105D480097050000938545DE05616FF09F90F2404E +:105D58006244094505618280094582808947114569 +:105D68006398F6001C3214220145A207D58F1EA3A2 +:105D78008280011122CC2A84C84106CEAE8601C990 +:105D88002EC6854597A0FB1FE7806047B2462A8745 +:105D980022856244F2402D4697050000938505DA76 +:105DA80005616FF01F8B19BD011122CC2A84C841EF +:105DB80006CEAE8601C92EC6854597A0FB1FE78093 +:105DC8000044B2462A8722856244F2403546970548 +:105DD80000009385E5D605616FF0BF8793F716003D +:105DE800114581EB89476386F600858256A310C367 +:105DF80001458280011122CC2A84C84106CE2EC6D4 +:105E08001DC1854597A0FB1FE780603F2A87228533 +:105E18006244B246F2403D4697050000938585D21C +:105E280005616FF01F83F240624409450561828075 +:105E38009E219DCF011122CC2A84C84106CE2EC6B0 +:105E48001DC1894597A0FB1FE780603B2A872285F3 +:105E58006244B246F2404546970500009385C5CE98 +:105E680005616FF00FFFF2406244094505618280C9 +:105E780009458280854763F4D70208A70CB71C320E +:105E88000C220945A207CD8F81456384A60093059E +:105E98002600F9161EA336A34CC30145828011457E +:105EA8008280014781464D4681456FF08FFA8D47C4 +:105EB800114563F5D7021C320C22A207CD8F1EA311 +:105EC8003C322C22A207CD8F81456384A60093051E +:105ED8004600F1163EA356A30CC701458280011166 +:105EE80022CC2A84884506CEAE8601C92EC69545A1 +:105EF80097A0FB1FE780A030B2462A87228562441C +:105F0800F2405D4697050000938545C505616FF031 +:105F18004FF4854711456395F6001C2201451CA3E3 +:105F2800828001478146654681456FF08FF20111F5 +:105F380022CC2A84C84106CEAE8601C92EC68D451C +:105F480097A0FB1FE780A02BB2462A8722856244D0 +:105F5800F2406D4697050000938525C205616FF0F4 +:105F68002FE4011122CC2A84C84106CEAE8601C98D +:105F78002EC68D4597A0FB1FE7806028B2462A876A +:105F880022856244F2407546970500009385E5BE78 +:105F980005616FF0EFE0011106CE2EC6EF90B03F1D +:105FA80019C5B245F2402A2105616FE0C005F240EB +:105FB80049450561828097E7FB1FA38B07FE97E79A +:105FC800FB1F238707FE97E7FB1F23A107FE97E721 +:105FD800FB1F23AB07FC97E7FB1F23A507FC97E7ED +:105FE800FB1F23AF07FA97E7FB1F23A107FA97E7E1 +:105FF800FB1F23AB07F897E7FB1F9387A71C370600 +:10600800840390D33707B40037C6070098C3130634 +:1060180006B83747A000D8C3D0D337071000416669 +:106028009306070AB70550009308060194C723A4EE +:10603800170393860501930816F8D4C723A61703F8 +:10604800B706D007B7087F001308070513850601B0 +:10605800410723A81703B0C39308160093860605C3 +:1060680013861500D8CBF8C323A8070188CF23AE21 +:10607800070023AA170323AC070223AE070223A4B1 +:106088000704F0C7B4CB23AA0704ACCF23AE070597 +:10609800B8D33707A000F8D71307000AB8DB1307EF +:1060A800C01CF8DB37071400B8DF0547F8DFE8D372 +:1060B80023A40706930710F817E7FB1F2324F718F4 +:1060C8008280011152C42A8A214522CC26CA4AC894 +:1060D8004EC606CE2E84B2893689BA8497A0FB1F95 +:1060E800E780001705C9930700FD1CA19947A30085 +:1060F80045013CA12303250164B123123501AA857A +:1061080022856244F240D2444249B249224A05619A +:106118006FE0AF94F2406244D2444249B249224A05 +:106128000561828097E7FB1F23A2A7E8828097E793 +:10613800FB1F23ABA7E6828097E7FB1F23A4A7E6F4 +:10614800828097E7FB1F23ADA7E48280011122CC50 +:1061580026CA4AC806CE4EC62A89AE840144B30967 +:10616800890063699400F2406244D2444249B249CA +:1061780005618280EFE0EF98B3470508A18323808B +:10618800F9009307140093F7F70F850963F8970050 +:10619800CA97090488A31374F40FD1B73E84D1B702 +:1061A800411122C417E4FB1F1304040A6A20C167C3 +:1061B80006C6FD17630EF50017E6FB1F0346C62A41 +:1061C80097E5FB1F9385C5DCEF90E07DFD577EA02A +:1061D800B24022444101828009C925151375F50F83 +:1061E8001335850E13451500828001458280239062 +:1061F8000500C9C2797122D426D252CC56CA5AC8CF +:1062080006D64AD04ECE5EC62A8B2E8AB28A3684ED +:10621800814463FF5405B307940083C907001389B9 +:1062280014003349090863850904B387290163C148 +:10623800FA04B307240183CB07005E85713F0DC9BB +:106248009387F9FF2310FA0063906B030509330560 +:106258002401B250225492540259F249624AD24A55 +:10626800424BB24B45618280CE94B3C4040855B703 +:106278000145C5B701458280011122CC26CA4AC80A +:106288004EC606CE97E4FB1F938404FC2E89D0C823 +:106298008CC8C8C42A8441469305F00F4A8597A044 +:1062A800FB1FE78040248549631935038848C145A9 +:1062B800713D41469305F00F228597A0FB1FE780AB +:1062C80080220549631525036244C844F240D2443C +:1062D8004249B249C145056195BD414681454A8556 +:1062E80097A0FB1FE7802020E31535FDC1B7414685 +:1062F8008145228597A0FB1FE780E01EE30625FD68 +:10630800F2406244D2444249B24905618280411157 +:1063180022C426C22E84AA8413060002814517E5EA +:10632800FB1F130565F206C64AC097A0FB1FE7804E +:10633800600817E9FB1F130929F197E7FB1F23875B +:106348008712A3019900EFD0504E854719C18147A4 +:1063580049452300F900B2402244924402494101D0 +:1063680082809DC91DC985476318F500DC3193E714 +:1063780007FCDCB10545828089476316F500DC31EE +:1063880093F7F703FDB78D47E316F5FEDC3193F776 +:10639800F70393E70704F1BF014582808DC10DC162 +:1063A800DC311307000C054593F7070C638AE700F7 +:1063B8001307000409456395E7000D4582800145F0 +:1063C8008280411122C4005D06C626C21DC8AA8467 +:1063D800085009C597A0FB1FE780E0D4485009C5BD +:1063E80097A0FB1FE78020D4085409C597A0FB1F7E +:1063F800E78060D3228597A0FB1FE780C0D223AC3B +:106408000402B240224492444101828019ED97E788 +:10641800FB1F83C787E317E5FB1F130565E491CBD3 +:1064280017E5FB1F130545B7828017E5FB1F13050A +:1064380025E3828017E5FB1F034525E1828017E5E8 +:10644800FB1F032525E1828017E5FB1F0325C5E017 +:10645800828097E7FB1F83A767E08843828017E75E +:10646800FB1F130767DE544B9C4285079CC22833E9 +:106478009307F00F6307F500916517C3FB1F6700CB +:1064880043588280011122CC06CE2E8432C6EF906A +:1064980010019147B245631EF50097E7FB1F83A7DC +:1064A80027B099CF9C4389CF22856244F240056189 +:1064B800828797E7FB1F83A727AF99C3DC43E5B71C +:1064C800F2406244054505618280797122D42A84AC +:1064D8004A214ECE06D626D24AD097C0FB1FE78067 +:1064E800006997E9FB1F9389A9AC29E983C40900CE +:1064F8009307F00F639DF40097E5FB1F83C555AB29 +:106508002685513C09E597E7FB1F238307AA4A2004 +:10651800EF90E0789147631CF50097E7FB1F93879E +:10652800A7D25620FA236394E6007D57FAA3B25007 +:10653800225492540259F249456182805825042117 +:106548002A893AC6BD3D4A85EF9030344A20EF90FB +:10655800407083C70900324799C3E38F97F89307C0 +:10656800F00F5220E385F4FA74202820A685913E86 +:1065780079BF79715AC82A8B2E854ECE52CC56CA0D +:1065880006D622D426D24AD05EC62E8AB28AB689C8 +:1065980097C0FB1FE780A05D75C5045D2A89FDC013 +:1065A8009C501305400391E361459C5489C79307A8 +:1065B800450133C50708638609009307C50133C53C +:1065C8000708DC5089C79307750133C5070897A0EA +:1065D800FB1FE780E0C72A8455C56146814597A01F +:1065E800FB1FE78020DD97EBFB1F83CBABC06394D9 +:1065F8000B00834B0900930700FD1CA0A947A300CB +:1066080064013CA0230354018C5023124401130558 +:10661800840191C908C47146130A440397A0FB1F5B +:10662800E780C0D252858C5491C948C45146130A98 +:10663800450197A0FB1FE78060D15285638C090054 +:1066480008C87146CE85130AC50197A0FB1FE780CD +:10665800E0CF5285CC5099C548C85D4697A0FB1F2E +:10666800E780C0CEA2855E85EFD03FBF2254B250EE +:106678009254F249624AD24A424BB24B4A85025975 +:10668800456181B3B250225492540259F249624A88 +:10669800D24A424BB24B4561828001114EC6AA894B +:1066A8002E8526CA06CE22CC4AC8AE8497C0FB1FC8 +:1066B800E780E04B21C917E9FB1F0349A9B363141D +:1066C800090003490500194597A0FB1FE78040B85A +:1066D8002A840DC98145194697A0FB1FE78080CD04 +:1066E800930700FD1CA0B947A30034013CA046A0B5 +:1066F800A2856244F240D244B2494A8542490561C2 +:106708006FD0BFB5F2406244D2444249B2490561F4 +:106718008280797162C42A8C2E8526D24ECE52CCC4 +:1067280056CA5AC85EC606D622D44AD0AE84B28BA0 +:10673800368BBA8A3E8AC28997C0FB1FE7802043FE +:1067480035C52A89414597A0FB1FE78060B02A8498 +:1067580031CD4146814597A0FB1FE780A0C517E5CD +:10676800FB1F034525A919E103450900930700FD0F +:106778001CA0BD47A30084013CA023047401A3040A +:10678800640123055401A305440146A023263401CE +:10679800A2852254B25092540259F249624AD24A0E +:1067A800424BB24B224C45616FD03FABB2502254A2 +:1067B80092540259F249624AD24A424BB24B224C95 +:1067C80045618280011126CAAA8439454AC84EC645 +:1067D80052C406CE22CC2E8AB289368997A0FB1FD6 +:1067E800E78000A715CD9307000D1EA1B1472A84A5 +:1067F800231245013CA1CE851905194697A0FB1F18 +:10680800E780C0B423062401A2856244F2404249CD +:10681800B249224A13F5F40FD24405616FD0FFA3A1 +:10682800F2406244D2444249B249224A0561828018 +:10683800411126C206C622C44AC097E4FB1F9384AE +:10684800A4A0B8309307F00F6308F7042A893945E4 +:1068580097A0FB1FE780C09F2A841DCD930700FDEA +:106868001CA1A30025012301050097E5FB1F9385C3 +:10687800259F0D05194697A0FB1FE78020AD9E2494 +:10688800A285A8303EA49C305CA42244B240924425 +:10689800024941016FD07F9CB24022449244024990 +:1068A80041018280011156C2AA8A314526CA4AC8C6 +:1068B8004EC652C406CE22CC5AC0AE84328AB6899D +:1068C8003A8997A0FB1FE780A0982DCD2A842685BA +:1068D80097C0FB1FE780A02909C55825A147631168 +:1068E800F70417EBFB1F034B5B96930700FD1CA0F7 +:1068F8009D47A30054013CA046A023134401231440 +:10690800340123152401A2856244F240D24442494D +:10691800B249224A924A5A85024B05616FD0FF93C9 +:1069280017EBFB1F034B9BB4E3910AFC97D7FB1FA4 +:1069380083A7477C9C47D5DBCA864E86D2852685A9 +:10694800829765B7F2406244D2444249B249224A2A +:10695800924A024B05618280411126C2AA842145D0 +:1069680022C406C62E8497A0FB1FE780608E15C53B +:10697800930700FD1CA1C5473CA13C30AA853CB14A +:106988005E205EA17C207CA17C307CB12244B24098 +:106998002685924441016FD05F8CB24022449244D4 +:1069A8004101828041114AC02A89714526C206C622 +:1069B80022C4AE8497A0FB1FE78080893DC593075A +:1069C80000FD1CA1F5473CA1BC302A849385C40076 +:1069D8003CB1DE2031051946231CF5FEFE20231D9F +:1069E800F5FE9E24231EF5FEBC24230FF5FEBC34C1 +:1069F800A30FF5FE97A0FB1FE7804095BC28A28552 +:106A08004A853CA8DE285EA8FC287CA8FC387CB80F +:106A18009C2C1CAC9C3C1CBCBC2C3CAC2244B24006 +:106A28009244024941016FD05F83B24022449244AC +:106A380002494101828001114AC82A89614526CA52 +:106A48004EC606CE22CCAE89B28497A0FB1FE78043 +:106A5800208025C1930700FD1CA1BC302A849385A2 +:106A680084001CB195473CA1FC3011051946A30FC1 +:106A7800F5FE97A0FB1FE780608DDE20230634011A +:106A8800A2853EA4BE2C4A857EA4DE2C1EA8FE2C20 +:106A98003EA883C704025CA883C714025CB8BE3052 +:106AA800F240D2447EA862444249B24905616FD09F +:106AB800CFFAF2406244D2444249B2490561828029 +:106AC800411122C406C617D4FB1F1304E4773C20E7 +:106AD8009DCBAA85194617D5FB1F1305E54B97A033 +:106AE800FB1FE780A086282097D5FB1F9385C54A02 +:106AF800EFF03F872244B24017D5FB1F1305C54965 +:106B080041016FD04053B240224401454101828087 +:106B1800411126C206C622C44AC097D4FB1F9384DB +:106B2800A472B8309307F00F6302F7042A89294545 +:106B38009790FB1FE780C0712A840DC9930700FD59 +:106B48001CA1A147A30025013CA1BC2097D5FB1F90 +:106B5800938585441105A30FF5FE19469790FB1FF1 +:106B6800E780C07EA830A285EFD02FEFB8208D47F0 +:106B7800631FF70097D7FB1F83A7C74289CB9C47A2 +:106B880099C72244B2409244024941018287B240E7 +:106B980022449244024941018280797122D406D666 +:106BA80026D24AD04ECE52CC56CA09444DCD2A8957 +:106BB8000A212E8A514497C0FB1FE78040FBAA8414 +:106BC8005DC197EAFB1F938A2A8A83C74A00054753 +:106BD8004944FD1793F7F70F6377F7085825A1473E +:106BE8006314F70063110A089C5C4544ADEF916596 +:106BF800938545711305C0029790FB1FE780804578 +:106C080088DCAA894D4425C11306C00281459790A6 +:106C1800FB1FE780207A8357090093864900368551 +:106C28002391F90071469305490036C69790FB1FDA +:106C3800E780C07189472380F900DC24B2460356F7 +:106C4800090083C50A00E11713B51700EF90907D7E +:106C58002A8463060A00D2852685EF90607201C4F3 +:106C68002685EFF00FF6B25022852254925402592D +:106C7800F249624AD24A4561828097D7FB1F83C78F +:106C8800E77EFD1793F7F70F05476377F7080111BC +:106C98004AC806CE22CC26CA4EC652C43289894773 +:106CA8002DC22A8AAE89368497C0FB1FE78020EC64 +:106CB800AA84D14739C5485509C59790FB1FE78075 +:106CC8008046F1454A859790FB1FE780C074C8D479 +:106CD800AA85CD471DC5D824A147631DF70209C859 +:106CE800382D1229930625015285EF90C06F2A840A +:106CF800D820936747006384090093676700DCA086 +:106D0800A287F2406244D2444249B249224A3E85AF +:106D1800056182800144E9BFC9473E8582809307A7 +:106D2800000463EAA70097D7FB1F9387A749332579 +:106D3800F5200A21828041657D158280011122CCCF +:106D48002A842E8526CA06CEAE8497C0FB1FE7800C +:106D580000E20DCDB7470F009387F723094563E29B +:106D6800870281450A8541469790FB1FE78080642A +:106D7800A68560800A8541804081A3010100EF90CB +:106D8800304AF2406244D244056182804945D5BF09 +:106D980097D7FB1F238BA76C82806F901063797144 +:106DA80052CC2A8A328526D24AD04ECE56CA5AC8E2 +:106DB8005EC662C406D622D42E8CB28A368BBA8BB3 +:106DC8003E89C289C68497C0FB1FE78040DA05C99F +:106DD8002A84631A0A1893774B000343450085CF2A +:106DE8001363230163940B1663100914639F090846 +:106DF80085E81C5C1373B3FF23026400C5EBB25033 +:106E0800225492540259F249624AD24A424BB24B36 +:106E1800224C456182801373D3FF13630301D9B7F2 +:106E280013634300230264009C484146A6851CD492 +:106E3800130584019790FB1FE780405163130C12E0 +:106E4800638C0B0A485409C59790FB1FE780A02D57 +:106E5800F1455E859790FB1FE780E05B48D4005CB6 +:106E680059DC1C5091EB916593853571714597906C +:106E7800FB1FE780201E08D008500DC17146DE8533 +:106E88009790FB1FE780804C11A8136343002302EF +:106E98006400D9F8005C630C0C0235D0639A0902CF +:106EA800A5E029A0005C21DC639409022254B250B9 +:106EB8009254F249B24B224CCA865A860259424B26 +:106EC800D6855285D24A624A45616FF08FEA05D865 +:106ED8005C5091EB9165938525715D459790FB1FFB +:106EE800E780401748D0485045DD5D46CE859790ED +:106EF800FB1FE780A0456DB7005C11D0E39A09FC41 +:106F08001C5491EB91659385157151459790FB1F22 +:106F1800E780401408D4085451D95146A685979063 +:106F2800FB1FE780A04259B71363430023026400A4 +:106F3800E39C04EEE3080CF6485405EDF1454A8558 +:106F48009790FB1FE780204D48D431A81363430076 +:106F580023026400E39A04ECE3060CEEE31E09FC4A +:106F6800FDBDE31B09FC005CE30B04E8E39B0BEEAF +:106F780035B79790FB1FE780001BC9B7011126CAD8 +:106F880052C406CE22CC4AC84EC62A8AAE8497C0BE +:106F9800FB1FE780C0BD35C12A8939459790FB1F83 +:106FA800E780002B2A8431C997D9FB1F83C989241C +:106FB80063940900834909009307000D1EA0AD479B +:106FC8003CA0930569001305340019469790FB1FF0 +:106FD800E780C03793F714005CA493D4144844B4F2 +:106FE80023154401A2856244F240D2444249224A10 +:106FF8004E85B24905616FD04FA6F2406244D24433 +:107008004249B249224A0561828001114EC652C4E2 +:1070180056C206CE22CC26CA4AC8AA8A2E8AB28965 +:1070280097C0FB1FE780A0B435CDAA841305C00222 +:107038009790FB1FE780C0212A842DC517D9FB1F15 +:107048000349491B6314090003C904009307000D91 +:107058001EA0E9473CA09385640013053400194637 +:107068009790FB1FE780802ED285231554011305C6 +:10707800C40041469790FB1FE780402DCE8513053D +:10708800C40141469790FB1FE780402CA2856244CB +:10709800F240D244B249224A924A4A85424905619D +:1070A8006FD0AF9BF2406244D2444249B249224A6F +:1070B800924A0561828017D5FB1F0325E5EC11CDA7 +:1070C800411106C69790FB1FE780E005B24097D7AD +:1070D800FB1F23AB07EA410182808280411122C451 +:1070E80006C626C24AC02E8497C0FB1FE78020A888 +:1070F80029CD00D517D9FB1F0349C90FAA846314EA +:1071080009000349050041459790FB1FE78040149B +:107118002A8405CD9307000D1EA1A5473CA1DC30AC +:10712800938564001105A30FF5FE19469790FB1F80 +:10713800E780C0219C54A285B2405CC4224492449A +:107148004A85024941016FD04F91B240224492448E +:107158000249410182805D71A2C4A6C286C6AA8482 +:107168002E8497C0FB1FE78080A00DC954251147C6 +:10717800AA874945639FE6009C5F91C3E02B97B6B9 +:1071880000009386069A0A86894526854080EF90F6 +:107198002016B64026449644616182805145D5BF89 +:1071A80097D7FB1F83C7872CFD1793F7F70F054762 +:1071B800637AF704411126C206C622C44AC0B284C3 +:1071C800894715CA2E8997C0FB1FE780409A2A84F1 +:1071D800D14715C1630609005C2193E727005CA12C +:1071E8004146A685130584019790FB1FE78000168A +:1071F8009C481CD48147B2402244924402493E85AF +:1072080041018280C9473E858280011122CC26CA6D +:1072180006CE2A84AE8497C0FB1FE780409519C923 +:107228006C0022854486EF904012F2406244D244BA +:10723800056182805145D5BF6F80701BC167138778 +:10724800E7FF6393E50297D7FB1F83A7E7D591EB89 +:10725800494582804945B24022449244024941014D +:1072680082809C43F5D78287411122C426C24AC036 +:1072780006C6FD172A892E84B284639AF50297D729 +:10728800FB1F83A767D289C79C4399C3829711C5FF +:10729800A6854A85EFE03FD05DFD97D7FB1F238980 +:1072A80027D197D7FB1FA38597D001456DB72E85AA +:1072B80097C0FB1FE780A08B51DD1C210D45E39C87 +:1072C80027F922852244B2400249A6859244410109 +:1072D8006FC070539307000463E1A7064111C167AB +:1072E80022C426C206C6FD172A84AE8409456380D7 +:1072F800F502C5476312F4022E85EFC0705897D780 +:10730800FB1F938727EC3324F420014506A0B240E5 +:1073180022449244410182809307A0036316F4003B +:107328002E85EFC0104FE1BF9307B003E319F4FCBB +:1073380013F5F50FEFC0304ED9B70945828001111A +:1073480006CE2AC6EFE03FC7EF20404EEF10C07CC4 +:10735800EF501236324597D7FB1F9387E7EE130796 +:1073680000F0BAA3238207007D5797D7FB1F9387A6 +:10737800A70FB8A388A3F240954505616F70202A2E +:10738800757126C306C722C54AC1CEDED2DCD6DA5D +:10739800DAD8DED6E2D4E6D2EAD0EECEAE8493973F +:1073A800556063D1075817DAFB1F130AEA0B034528 +:1073B8000A00130B200A930BF00F9790FB1FE7802E +:1073C80020EFC167FD172A84130C1009954C394D1D +:1073D80097DDFB1F938D4DE73ECC15E01395F468C0 +:1073E800BA402A449A440A49F659665AD65A465B1C +:1073F800B65B265C965C065DF64D496182801C2072 +:10740800639A670103C93D00E2452A202286EFF00E +:107418006F87E1A003492A00639A87091C306390AB +:1074280097032285EFF06F8A2285EFC0FFDD0345C1 +:107438000A009790FB1FE780A0E72A8479BF639B27 +:10744800A7194A208567A507631AF5040C4497D93C +:10745800FB1F938969DF882115E51946850517D52E +:10746800FB1F1305E5DF9790FB1FE78020EE03C79E +:1074780009008547631CF70289472380F900EFC09C +:10748800503B5DB703C7090085476311F70297D7DB +:10749800FB1F238B07DAEFF0AFB979B709679307BA +:1074A800C70063EFA7040507636BA702E30E79F72C +:1074B800A2854A85EFC07FDA9DBF370700181307FA +:1074C800F770B357F748E5CB97D7FB1F83A787AD6E +:1074D800A1DF9C43B1DB2285829739F5C1BFF977DB +:1074E800F917AA972947B3C707086366F70C176700 +:1074F800020013072760B3C7E7209C43BA97828727 +:10750800F9779387A7FCAA97F146B3C70708E3F66C +:10751800F6FA3907E31CE5F897D7FB1F83A7C7A836 +:10752800E38407F0DC43E38107F00965A2853905A8 +:10753800A5A883298400E38B09F603C7090097D718 +:10754800FB1F938767D019EB03C7290083C619006F +:107558002207558F9AA703C7390098B39423094780 +:10756800E396E6F403C7090001CB97D7FB1F238DE9 +:1075780007CC03C5090005B78C338A270D4798A3A4 +:10758800EF70800CFDB71C448823EFF06FD869BDFD +:1075980097D7FB1F83A787A1E38807E89C43E38568 +:1075A80007E80965A2852D05829705BF1C449C2321 +:1075B800E39E07EE95BD896793871704E318F5EEF8 +:1075C80097D7FB1F83A7879EE38007E69C43A28586 +:1075D800E1FF99BD3D476394E7064A208967138711 +:1075E800D7006306E50013879701631AE50097D76C +:1075F800FB1F83A7679BE38907E2DC43C9BFCD076D +:10760800E316F5EAC16717D7FB1F035747C4FD17F1 +:10761800631FF70097D7FB1F83A70799E38607E047 +:10762800DC43E38307E00965A2854D05B5BF97D71D +:10763800FB1F83A7E796E38907DE9C43DDB71307A3 +:10764800E003E395E7E63C2005476398E7127C20D2 +:1076580097DAFB1F938A4A936390071083A70A005F +:107668006387070E83C907002149683093078400A0 +:10767800BE853ECEEFE09FD268B01306400281453A +:1076880068109790FB1FE780E0D23C3019469305BD +:107698008400A307F1027C304818A309F1029790EF +:1076A800FB1FE780A0CA5E207010CA852318F1026C +:1076B8007E244E852313F1041E282314F1043E284A +:1076C8002315F1045C282306F104FD57A306F104F1 +:1076D8002317F104EFF02FB63C309DE3DD478358C4 +:1076E80004010358E40074304E203EC23E281307BC +:1076F80084003EC0CA8705464E85EF80807128B059 +:1077080083A70A0081C71145EFF0FF9A97D9FB1F9D +:107718009389098A03C50900E30805D097D5FB1F9B +:1077280083C51589EFE03F87E30005D03430930720 +:1077380010036389F600522083C509004A873685FD +:10774800EFE03F9897D7FB1F23840786F1B997D9B5 +:10775800FB1F83C999AF09BF97D7FB1F83A78784EE +:1077680097D9FB1F83C979AE99C3DC4399E31149C3 +:10777800EDBD814501458297DDBFF91793F7F70FF6 +:1077880013077002E364F7D217670200130747393B +:10779800B3C7E7209C43BA9782877C2097CAFB1F10 +:1077A800938A8A7EA9EB83A70A00A9C383C9070025 +:1077B8002149683093772500A5C30589130744013B +:1077C80068B02286CA854E853ACEEFF0CFA63C3007 +:1077D80072479DF7DD478358C4010358A4017430EC +:1077E8004E203EC27E2C3EC0CA8731B797D9FB1FB8 +:1077F80083C9B9A575BF97C7FB1F83A7A77A97D970 +:10780800FB1F83C999A499C3DC4399E3114955B770 +:10781800814501458297DDBF13078400BA853ACEBA +:10782800EFE0DFB7724769BF97C7FB1F83A70778E9 +:10783800E38C07BEDC43E38907BE22858297EDB659 +:1078480097C7FB1F83A78776E38007BE9C47E5B7EA +:1078580022868D454A2065BE9305A1021305103185 +:10786800EF50E26C6C1013052031EF50426C72201F +:107878008357C1024A2063E7C70016240357A102B1 +:1078880063F7E60093050002EFC0807E71BE637364 +:10789800E6007AA063F3D7001EA45A2436241224E3 +:1078A8006E2001488147EFC0607CBDBE2286B1458D +:1078B80055B797C7FB1F83A7676FE38707B6DC47F2 +:1078C8009DBF2285EF00607B85B697C7FB1F83A706 +:1078D800E76DE38B07B49C4BB9BF2285EF00F0033B +:1078E800A1B60145EF00301381B697C7FB1F83A7E8 +:1078F800676BE38D07BADC43E38A07BA8145054520 +:1079080082976DB697C7FB1F83A7C769E38007BA3D +:10791800DC43E38D07B8A2850945DDB722869305C8 +:1079280060020DBF93F7150089CF97C7FB1F83A788 +:10793800E76789C7DC4399C30145829713C51400DB +:1079480045B493F7250091CF97C7FB1F83A7876599 +:1079580091C7DC4381C781450545829713C524003B +:1079680041B413F54500E30D05A697C7FB1F83A790 +:10797800E76117D4FB1F1304248D89CF85475CA0CA +:1079880097C7FB1F83A7076291C7DC4381C781455F +:107998000545829748446C10EF8010756810EFF029 +:1079A8002F9297D7FB1F83D7078481CF13060064D4 +:1079B8003386C702914517D5FB1F0345E5AAEFC0DB +:1079C800FFAF13C5440029BC011122CC2A845545B8 +:1079D80006CE26CAEFF0AFB4AA8413054002EFF032 +:1079E8000FB42AC613055002EFF06FB3AA8622859A +:1079F80062443246F240B3359000D24405616FC00C +:107A0800006F397122DC06DE0D472E84631AE5000B +:107A1800BA259625F2212830CE21EFE0BFE899A8B3 +:107A280009679306D700AA87631BD504BC21B9C38D +:107A380017C4FB1F130444550C408DCDDC87BC31A3 +:107A4800194691054808A309F1009790FB1FE780A4 +:107A5800E08F930700F03ED61C4023180100231343 +:107A6800010202D4882370008145EFE0DFFC054560 +:107A7800EFF06FE40545F25062542161828093066D +:107A8800E700E309D5FE930637016319D500A8215D +:107A980075D1014781460146814541B76507E30B2A +:107AA800E5FC31476319E50017C5FB1F0345F57968 +:107AB800EFE09FEAC1B7130760026319E50017C535 +:107AC800FB1F03459578EFE0FFED6DB741677D1724 +:107AD8000145E392E7FAD831C947E31DF7F8F625DF +:107AE800D2250A24AE25EFC02068854711C55D451B +:107AF800EFF0EFA2B337A0004C202A2030007C849E +:107B0800EF70D06B3C84BDF79305A10013051031CD +:107B1800EF50E2416C0013052031EF5042413C85A3 +:107B28001A246373F7001EA43C863A2463F3E70023 +:107B38003EA41E243A246373F7003EA42A20EF4093 +:107B4800212C7A24562432240E242A2001488147E5 +:107B5800EFC0A04F05B741114AC006C622C426C2CD +:107B680017D9FB1F13094990034779009307F00FB2 +:107B78006302F706AA8439CD682551059780FB1F53 +:107B8800E780006D2A8439C59307000D1EA1D947E7 +:107B98003CA1DE205EA1FC207CA1FC307CB19C24B1 +:107BA8001CA5DC345CB5F02470A515C28C485105C1 +:107BB80008C89780FB1FE7806079A28522440345A7 +:107BC8007900B2409244024941016FC00FE923286D +:107BD8000500E5B7B240224492440249410182803F +:107BE800C1679386E7FF2A87639DD50097C7FB1F68 +:107BF80083A787398DC39C230D45639FE7006FC01A +:107C08000044FD1749456399F50097C7FB1F83A7F3 +:107C1800A737F5F7828049458280397122DC06DE74 +:107C280026DA4AD84ED652D456D25AD01821854789 +:107C38002A84630BF7001025930695009305E1014C +:107C48000545EFE0CFDA0DED8147014514201147D6 +:107C5800638FE60217C7FB1F0327473618338D4685 +:107C68006307D7028DC705C711ED0145F25062546D +:107C7800D2544259B259225A925A025B21618280E7 +:107C88001C21E9B785466311D7048D8BF9DF0830CD +:107C9800930524002EC6EFE06FF008B017C9FB1F4C +:107CA8001309093283270900AA8981449DC3B24573 +:107CB80017CAFB1F130A0A31130BF00F83470A0078 +:107CC80063EBF400814481A08946E310D7FA858BE1 +:107CD80075BF054561BF83270900939A4400D6976D +:107CE8009823630C6705983363193705194613857C +:107CF80027002EC69780FB1FE780C076B24515CDBA +:107D080083240900D69418209147C1E8E30FF7F4BB +:107D180083240900B9D883460A0081471306F00F67 +:107D2800E385F6F403C8040013850401630BC80057 +:107D3800850793F7F70FAA84E5B7850493F4F40F42 +:107D4800B5BF98A01C301385240019469CB09780B5 +:107D5800FB1FE780A05F082491659385F5710505F1 +:107D68009780FB1FE780002F05C1182091476314F7 +:107D7800F702C8C41024930594000505A30FC5FE97 +:107D88009780FB1FE780805C1C24A1F708207D15E5 +:107D980013351500E1BD88C4F1BF6311F706C84467 +:107DA8001C2405C11021630DF604182091476317A0 +:107DB800F706C84419C59780FB1FE780C03623A67D +:107DC8000400082491659385E57105059780FB1FDC +:107DD800E780402805C118209147631AF704C8C4F2 +:107DE8001024930594000505A30FC5FE9780FB1F7B +:107DF800E780C05508243335A0008DBD88444DB7B1 +:107E08009305940005059780FB1FE780A0658547CB +:107E1800E31DF5F85545EFE09FF09DBF884455D127 +:107E28009780FB1FE780203023A4040059BF88C433 +:107E380045BF397122DC4AD84ED652D406DE26DA3E +:107E480056D25AD05ECE2A84130925000831CA8535 +:107E580017CAFB1F130A8A16EFE04FD408B083270E +:107E68000A000D47AA899C336391E70217CAFB1FD2 +:107E7800130A0A1583270A00814497CAFB1F938AAD +:107E88006A146393071005452DA0EDD3144C703880 +:107E98009305E1000545EFE08FB5AA841DC90327C6 +:107EA8000A0085461C2118336310D7028D8BDDFF2D +:107EB8000145F2506254D2544259B259225A925A48 +:107EC800025BF24B216182808946858BE310D7FAE9 +:107ED800F9BF1C2011476385E7002D47E39AE7FCAB +:107EE80097CAFB1F938ACA0D83A70A00014A97CB3A +:107EF800FB1F938B2B0DCDDF03C70B00B3470A087D +:107F080063E4E700A5F46DB703A50A00131B4A0054 +:107F18001C205A9518216310F7021C31639D370104 +:107F28001946CA8509059780FB1FE780A05301C53C +:107F380083A40A00DA94050AC1B783A9840059A862 +:107F48000C4C138519009780FB1FE780A0518547CB +:107F58006317F5085545EFE09FDC4DC191BF1C2024 +:107F680011476385E7002D47639DE700C8C4703853 +:107F78000505A30FC5FE0C4C9780FB1FE780003D4D +:107F8800B5A888C4EDB7850403C70A00B3C70408B9 +:107F980063F8E70603250A00139B44001C205A9542 +:107FA8001821E312F7FE1C31E39F37FD1946CA85F5 +:107FB80009059780FB1FE780E04A71D583240A00F2 +:107FC8001C201147DA946385E7002D47E397E7F60D +:107FD80083A9C4007C3803C60900E303F6F64E857E +:107FE8009780FB1FE7802014683891659385E571B9 +:107FF80005059780FB1FE780E00535F1E39504E868 +:1080080003C70A0083240A0081479306F00FE3FCA4 +:10801800E7E68C20138604016387D5008507B284C0 +:10802800B3C70708EDB7E38004E61C20CA851385AB +:1080380024009CA01C3019469CB09780FB1FE78049 +:10804800E030683891659385F57105059780FB1FC9 +:10805800E7804000E30905E218209147631DF70017 +:10806800C8C470380505A30FC5FE0C4C9780FB1FCC +:10807800E780C02D09BD88C4EDB701114AC806CEF6 +:1080880022CC26CA17C9FB1F1309093E03477900EA +:108098009307F00F630DF706AA8435C961459780E9 +:1080A800FB1FE780E01A2A843DC19307000D1EA13B +:1080B800D5473CA1BC30938584002EC63CB1DE2058 +:1080C8005EA1FC207CA1E830EFE04FADB24568B07E +:1080D8001946130584009780FB1FE7802027FC249E +:1080E800A285034579007CA49E281EA8BC283CA82C +:1080F800BC383CB8DC285CA8DC385CB8FC287CA818 +:108108006244F240D244424905616FC00F95F24083 +:108118006244D244424905618280411126C206C6A2 +:1081280022C497C4FB1F93842434F8309307F00FBC +:108138006309F7022A8415C519459780FB1FE78054 +:108148002011AA8519CD9307000D1EA1DD473CA17A +:108158005E202244B2405EA1E830924441016FC0E3 +:10816800CF8FB2402244924441018280011126CA35 +:1081780097C4FB1F9384C4E49C4006CE22CC4AC813 +:108188004EC652C49DC32A89AE89131A45000144BC +:10819800884063144403638C09049780FB1FE780BD +:1081A80080F897C7FB1F23AD07E0F2406244D24432 +:1081B8004249B249224A05618280B307850088474F +:1081C80009C99780FB1FE78000F69C40A29723A46B +:1081D80007009C40A297C84709C99780FB1FE78002 +:1081E80080F49C40A29723A60700410455B755DDAB +:1081F800228681459780FB1FE780C01B94408147FA +:108208007D5613F7F70FE37227FB1397470036974E +:1082180010A38507FDB7797152CC17CAFB1F130A43 +:10822800EAD983270A0006D622D426D24AD04ECECF +:1082380056CA5AC85EC6E9C72A8997CAFB1F938AD5 +:108248006AD8814419ED97C6FB1F83A666D791CAE1 +:1082580003C60A0081479305F00F13F7F70F636908 +:10826800C7021395340021059780FB1FE78040FE65 +:108278002A8415E921459780FB1FE78060FD2A8441 +:1082880035C1C5679387073D1CC123220400A9A0F7 +:1082980013974700369718236305B700850493F4AE +:1082A800F40F85075DBF930700FD1CA18547A30058 +:1082B80025013CA124B1F1D8130985002322250109 +:1082C800814917CBFB1F130BABCF930BF00F83C761 +:1082D8000A0063F3F900A1E083270A00A285882336 +:1082E800EFB0BFF703C50A008145493503250A00E9 +:1082F8009780FB1FE78020E397C7FB1F23A007CCCD +:10830800B250225492540259F249624AD24A424B1C +:10831800B24B4561828083250B0093974900BE9537 +:108328009C21638377032300F9009C3113052900FE +:10833800FD14A300F9001946890593F4F40F9780FA +:10834800FB1FE780A0002109850993F9F90F41B7C0 +:1083580097C7FB1F83A787C6A9C7411122C406C6B2 +:108368002A8415E10945EFE09F9B2A8601C98545C6 +:1083780017C5FB1F0345450FEFC04F940545EFF0A8 +:10838800AFE42A8411C9854517C5FB1F0345C50DF0 +:10839800EFC02FBC22854135B2402244054541013A +:1083A80082800145828089679386B7006315D5006E +:1083B8009C45882371BF9386C7006317D5009C45E9 +:1083C8008546882319C9FDB793861704E302D5FEAD +:1083D800938727048146E304F5FE368582800111E0 +:1083E80006CE22CC26CA4AC84EC652C456C261C15D +:1083F8003C312A898DC3444199CC5945EFE03F92DD +:10840800814997CAFB1F938A6ABB131A4560834741 +:10841800390063EBF900F2406244D2444249B24960 +:10842800224A924A056182808387840263C847078B +:1084380083A70A00A5C72685EFF02FFE25C188244B +:1084480051059780FB1FE780A0E02A8421C9930784 +:10845800000D1EA1B5473CA19C2019469385240018 +:108468003CB18387840215057CA19C30A30FF5FEDF +:108478009780FB1FE78080ED902450A415C6130554 +:10848800440108C8938594009780FB1FE78000EC9F +:1084980083A70A00A2858823EFB03FDC850993846F +:1084A800940293F9F90FA5B723280400D5B797C705 +:1084B800FB1F83A7A7B0A5D3B93B6244F240D244BF +:1084C8004249B249224A924A014505616FF0CFCF2D +:1084D800797106D622D426D24AD04ECE52CC56CA6C +:1084E8005AC85EC655CD3C312A898DC744419DC0C6 +:1084F8005945EFE0DF828904814997CAFB1F938AB7 +:10850800EAAB130B00FDC14B131A456083473900D2 +:1085180063EDF900B250225492540259F249624A6A +:10852800D24A424BB24B456182808387D40063C4F0 +:10853800470783A70A00A5C351459780FB1FE7801B +:1085480020D12A8429C923006501A300050023013D +:10855800750183C7E4FF1946A6853CB18387D4001B +:1085680015055CB583C7F4FFA30FF5FE9780FB1FC5 +:10857800E780C0DDFC20938574001305C4003CB47B +:1085880019469780FB1FE78060DC83A70A00A28555 +:108598008823EFB09FCC850993F9F90FC104BDB7C3 +:1085A80097C7FB1F83A787A1B5D7B5312254B2500F +:1085B80092540259F249624AD24A424BB24B01459F +:1085C80045616FF06FC0797106D622D426D24AD0A1 +:1085D8004ECE52CC56CA5AC85EC662C466C2630C36 +:1085E80005223C312A8985CB404115C45945EFE025 +:1085F8000FF30904814917CAFB1F130A2A9C914BE0 +:10860800354C175B0200130BAB5B931A456083472D +:10861800390063EFF900B250225492540259F249DA +:10862800624AD24A424BB24B224C924C45618280FC +:108638008307A40063CA571583270A0063860714B3 +:10864800834CE4FF93F70C01CDC793870CFF93F796 +:10865800F70F6369FC00B3C767219C43DA978287E9 +:10866800230F04FE1305E4FFEFF0AFFC630E0510C3 +:108678008347E4FF63EFFB1005476398E70A51451A +:108688009780FB1FE780C0BCAA84630F050E930781 +:1086980000FD1CA1C147A30005003CA18347E4FFDE +:1086A8001946A2853CB18307A40015055CB583472C +:1086B800F4FFA30FF5FE9780FB1FE78020C97C24F9 +:1086C80019469305F400BCB41385C4009780FB1FBA +:1086D800E780C0C765A08547230FF4FEA30A0400FE +:1086E80051B78947230FF4FEB5BF8D47E5BF9147C2 +:1086F800D5BF93F78C0099C3AD47EDB713F71C00AE +:1087080093F74C0011C799C39547F9B7A147D9BF4B +:1087180013F72C0011C799C3A5477DBF9947D9B74F +:1087280099C3A947C1B79D4775BF48385105978078 +:10873800FB1FE780E0B1AA8421C99307000D1EA1A1 +:10874800B5473CA18347E4FF1946A2853CB183079E +:10875800A40015057CA18347F4FFA30FF5FE9780BD +:10876800FB1FE780A0BE5038D0A419C6138544016A +:1087780088C88325640199BF23A8040083270A00B9 +:10878800A6858823EFB07FAD850993F9F90F7104A9 +:10879800BDBD4838130505029780FB1FE78040AB35 +:1087A800AA847DD19307000D1EA1C9473CA1834728 +:1087B800E4FF93FC0C061946B3E797013CB18347E5 +:1087C800F4FFA2851505A30FF5FE9780FB1FE78030 +:1087D800E0B77C2019469305F400BCB47C301385BF +:1087E8003401DCA41C24DCB41C34FCA48307A400DE +:1087F800FCB45E249EA87C24BCA89780FB1FE7805D +:10880800E0B4503890BC09C613850402C8CC95B7AB +:1088180023AE0400A5B797B7FB1F83A7277AE38C7D +:1088280007DEEFF05F9F2254B25092540259F2498A +:10883800624AD24A424BB24B224C924C01454561A6 +:108848006FF08F9817B7FB1F0327477705CB1823BF +:10885800AA870D456315F7024111854517C5FB1F0A +:10886800034585C006C6EFB0DFEE13050003EFF041 +:108878009F9AB240014541016FF00F9549458280AA +:1088880079714AD017B9FB1F130949738327090067 +:1088980006D622D426D2CDEB17C4FB1F1304C4BCC2 +:1088A8005820C947298B51CB9165AA849385D571E6 +:1088B80011459770FB1FE780E0792320A900CD4779 +:1088C8002DCD78309307F00F6314F7009C207CB00F +:1088D8001146A6859780FB1FE78040A793053101C5 +:1088E8001305F041EF20323097C7FB1F9387C795D8 +:1088F800A023034731013334800011C30904130551 +:108908001002EFE0CFC11376F50F0589E14715C5D1 +:10891800154532C6EFE0AFC0BC20E8841945230AEC +:10892800F100EFE0CFBF3246AC30E8867C0838086B +:1089380054082285EFB0607BAA87B2502254925423 +:1089480002593E8545618280C547C5BF1971A2DCC1 +:10895800A6DA86DECAD897C4FB1F9384E4B0DC206D +:108968004944A18BB9CF97B7FB1F83A7276541441B +:10897800A9EB2A89EFE05F8C9C2455446373F504C6 +:1089880097B4FB1F938444609C4045449DEB9165DC +:108998009385C57129459770FB1FE780A06B88C038 +:1089A8004D4405C12946CA859780FB1FE780009A78 +:1089B80013056002EFE0AFB61374F50F058909E9F6 +:1089C8006144F65022856654D6544659096182801E +:1089D80013060003814588009780FB1FE780809D70 +:1089E8004145EFE0CFB32316A1043D45EFE02FB397 +:1089F8002319A1043545EFE08FB2231CA1043945A2 +:108A0800EFE0EFB1231FA1042145EFE04FB123129E +:108A1800A1061D45EFE0AFB09C402315A1061364E5 +:108A280024009C33F1C72D45EFE06FAF2310A1045C +:108A38003145EFE0CFAE2313A1041305C002EFE0E8 +:108A48000FAE2317A1041305B002EFE04FAD231AB0 +:108A5800A10413059002EFE08FAC231DA1041305B8 +:108A6800A002EFE0CFAB2310A10613058002EFE0D0 +:108A78000FAB2313A10613057002EFE04FAA9C4029 +:108A88002316A106A83393854700EFD09F8D2AD6D9 +:108A98009305F1031305F041EF20F21497B7FB1F7C +:108AA8009387877AAC230347F1033256B335B00076 +:108AB80011C389059440FC002287A8223EC8930769 +:108AC80021053EC6BC083EC49307E1053EC2DC1042 +:108AD8003EC09308A106130861049C009106EFB0FC +:108AE80040612A84E30F05EC0D45EFE0CFDCD1BDF2 +:108AF8002545EFE0CFA22310A10429451DBF97C744 +:108B0800FB1F83C7A796A18B17B5FB1F1305854AC3 +:108B180091E301456FD0AFE197B7FB1F2384074A64 +:108B2800FD5717C7FB1FA304F79497B7FB1F23A98B +:108B3800074897B7FB1F23A3074897B7FB1F9387DF +:108B4800A772170700001307478698C31707000086 +:108B580013072789D8C3170700001307A79798C7D3 +:108B680017070000130767A6D8C717F7FFFF1307F3 +:108B7800C7FE98CB97B7FB1F9387C74317F7FFFF2D +:108B88001307470698C317F7FFFF1307C7E7D8C3AC +:108B98008280411122C426C206C617B4FB1F1304E3 +:108BA8006442AA8408208545EFF04FDC97C7FB1F75 +:108BB80083C7C78BA98BBDC717B5FB1F1305C56A2C +:108BC80004A0EFD02FD697B4FB1F9384643F9C403A +:108BD80099C74D45B2402244924441018280082001 +:108BE80019E10145C5BF91659385B5711205977067 +:108BF800FB1FE780204688C069DD102081451206EA +:108C08009770FB1FE780007B142090408147FD553B +:108C180013F7F70FE377D7FC1397470032970CA3A6 +:108C28008507FDB7014597B7FB1F238D0738EFD0A0 +:108C38006FCF45BF17B5FB1F0325453511CD411132 +:108C480006C69770FB1FE780004EB24097B7FB1F20 +:108C580023AE07324101828082800111130570031F +:108C680006CEEFE0CF8B2AC613058003EFE02F8BEB +:108C78002AC413059003EFE08F8A2246B245F240DA +:108C8800AA86054505616FB080455D711305D0035F +:108C980086C6A2C4A6C2CAC0EFE06F882A8413059C +:108CA800C003EFE0CF87AA841305E003EFE02F8726 +:108CB8002A891305F003EFE08F868A871377F50F6B +:108CC8009376F90F13F6F40F9375F40F0545EFB08B +:108CD8004043B640264496440649616182800111AA +:108CE80022CC06CE26CA0D472E846317E504B83178 +:108CF800E947CA2197B4FB1F938404556315F7000D +:108D0800FE206387A70497A0FB1FE78040E6722038 +:108D180011C172A53A2416244E202830EFD09FB8EE +:108D28005A20FE206314F700FD57FEA00545F240C7 +:108D38006244D2440561828009674D07AA87631C93 +:108D4800E500BC2131476385E7004547E390E7FE2E +:108D5800EFD00FC5E1BF31476319E50017B5FB1F19 +:108D68000345D570EFD05FBFD1B713076002631911 +:108D7800E50017B5FB1F0345756FEFD0BFC27DB780 +:108D880041677D170145E394E7FAD831C947E310F5 +:108D9800F7FACC212A20300023140100EF60103D9F +:108DA80071B71971A2DC17B4FB1F1304241E1C40F1 +:108DB80086DEA6DACAD8CED6D2D4D6D2DAD005453F +:108DC800638A070C9305F1051305F041EF20A261B2 +:108DD8009305F1051305F041EF20E26097B7FB1FFB +:108DE80093878746BC230347F105B337F00011C3C7 +:108DF80089071840BEC6283393054700EFD06FD6C1 +:108E08001840AAC40D452C23AEC2EFD05FF1AAC00A +:108E18001145EFD0DFF0832A04002ADE654503C739 +:108E2800AA0003CBBA003ADCEFD07FEF2A84694569 +:108E3800EFD0FFEEAA847145EFD07FEE2A896D4509 +:108E4800EFD0FFEDAA897545EFD07FED2A8A7945E5 +:108E5800EFD0FFEC2648B6476257F25606469645CD +:108E68001375F50F137AFA0F93F9F90F1379F90FB0 +:108E780093F4F40F2ACC1314446002D002CE52CAE1 +:108E88004EC84AC626C422C25AC093884A0005451D +:108E9800EFB0C01FF6506654D6544659B659265AF4 +:108EA800965A065B09618280411122C44AC006C6EF +:108EB80026C217B9FB1F1309791283470900130744 +:108EC800E00F2E846382E7041307F00F6385E7023F +:108ED80011459770FB1FE780A037AA8509CD930736 +:108EE80000FD1CA189473CA1854700B13CB1034561 +:108EF8000900EFB08FB6F9572300F900B2402244B9 +:108F08009244024941018280AA8411459770FB1F4F +:108F1800E7800034AA857DD1930700FD1CA189470D +:108F280000B13CA124B12244B2409244024917B591 +:108F3800FB1F0345A50A41016FB02FB279714AD0D2 +:108F480017B9FB1F130989048327090022D406D601 +:108F580026D24ECE52CC4544C5EB97B4FB1F938422 +:108F6800A450DC204944958BC5C32E8A916597B7D8 +:108F7800FB1F2385A706AA899385757131459770CC +:108F8800FB1FE780200D2320A9004D4435CD230089 +:108F98003501A30005002946D28509059770FB1FF6 +:108FA800E780C03A0327090091463C2363E7F606A9 +:108FB800CD4691CF0546F546638BC7000946C9469D +:108FC8006387C7000D46C1466383C700D54634A3EF +:108FD800930571001305F041EF20E2409C83C5E33F +:108FE80017B7FB1F034767268D47631AF708EFD0AB +:108FF8000FC52C00EF70500F2800EFD07FAC45450F +:10900800EFD0FFD125E50144B25022852254925475 +:109018000259F249624A45618280ED1793F7F70FCA +:1090280095460544E3E2F6FE975602009386C6BCD1 +:10903800B3C7D7209C43B697828789473CA319A01A +:10904800230107006545EFD09FCD9307F007E301A3 +:10905800F5F8032709003C2393E707043CA38DBFD9 +:109068008547E9BF9947D9BF9147C9BF130600642F +:109078003306C50288209145EFB04FC469B7153350 +:109088002A8451D1EFF01FBB41B7011126CA97B40A +:10909800FB1F9384A4EF9C4022CC06CE4AC84944C7 +:1090A800A1C79C230D446391A70417B9FB1F13099B +:1090B800A93B034509008945EFB0AFE9034509001D +:1090C800914597B7FB1F239907F0EFB08FE89C40B5 +:1090D8000147814680B31306F10085478545014560 +:1090E800DC87EFA0907F2A84F24022856244D24434 +:1090F800424905618280011106CE22CC26CA4AC89F +:109108004EC68547631EF50617B4FB1F1304C4EC4F +:109118001E20B1CB17B7FB1F0347471329E71307D7 +:10912800B003636EF70297B4FB1F9384E43388207F +:109138008945EFB00FE212209307006488203306B8 +:10914800F6028945EFB08FB797B7FB1F239607E85C +:10915800F2406244D2444249B24905618280938711 +:1091680047FC1EA0F5B797B7FB1F83A727E2EDD3EF +:109178006244F240D2444249B2498823056131B77A +:1091880097B9FB1F938989E083A70900F1D317B921 +:10919800FB1F1309692D83474900918BD5DB89474C +:1091A8006311F5062D45AE849770FB1FE780400AD2 +:1091B8002A8459DD930700FD1CA1E547A30005009B +:1091C8003CA1BC3015051946230FF5FEDC2093851C +:1091D8005400A30FF5FE9770FB1FE7802017034587 +:1091E80059009307F00F6315F50083A7090088233A +:1091F800A2856244F240D2444249B24905616FB047 +:10920800CF85034509008945EFB0AFD46244F240E9 +:10921800D2444249B24997B7FB1F239F07DA056139 +:109228006FF05FA197B7FB1F83C74724958B89CF42 +:1092380097B7FB1F83A787D991CB854717B7FB1F24 +:10924800A30DF7D86FF07FA1494582804145828000 +:1092580097B7FB1FA38307D8854501456FA0B06862 +:1092680097B7FB1F83C78720958B81CB854717B797 +:10927800FB1F2304F7D66FF05FA14945828097B79B +:10928800FB1F238C07D4814505456FA0D06797B78E +:10929800FB1F83C7A71D958B638B0712011122CC77 +:1092A80006CE26CA4AC84EC69307C01C328463FA43 +:1092B800C7000945F2406244D2444249B2490561B7 +:1092C800828097B7FB1F83A767CC6384071097B783 +:1092D800FB1F9387B7D0B68994231307E00F639ACF +:1092E800E60E88A31305860033450508ADC99165C8 +:1092F800938565719770FB1FE780C0D5AA8455D9FF +:1093080017B9FB1F130909CD0325090009C5977073 +:10931800FB1FE78040E11385840088C022868145D1 +:10932800232099009770FB1FE780C0088327090056 +:109338002286CE8588439770FB1FE780200183270C +:109348000900A286F240C2A36244D2444249B2490B +:10935800984305468D45054505616FA09057916571 +:10936800938555719770FB1FE780C0CEAA8431D1D1 +:1093780017B9FB1F1309C9C50325090009C597704B +:10938800FB1FE78040DA1385840088C02286814568 +:10939800232099009770FB1FE780C00183270900ED +:1093A8002286CE8588439770FB1FE78020FA8327A3 +:1093B8000900A286F240C2A36244D2444249B2499B +:1093C800984305468D45054505616FA0D050494530 +:1093D80082804945C5B59307C01C63FCA7000945B1 +:1093E80082800945F2406244D2444249B24905614B +:1093F8008280011122CC06CE26CA4AC84EC62A84CB +:1094080025C1AE89916521059385657133450508A8 +:109418009770FB1FE78000C4AA8461D517B9FB1FAA +:10942800130949BB0325090009C59770FB1FE7808D +:1094380080CF1385840088C0228681452320990027 +:109448009770FB1FE78000F7832709002286CE85E7 +:1094580088439770FB1FE78060EF83270900C2A34A +:1094680097B7FB1F83A787B285CF97B7FB1F83C723 +:10947800E7FF958B85CB97B7FB1F83A7A7B591CF40 +:109488009843D6236244F240D2444249B249054641 +:109498008D45054505616FA0D04301478146DDB77D +:1094A800014589B749453DBF9307C01C63FCA70028 +:1094B800094582800945F2406244D2444249B24992 +:1094C80005618280011122CC06CE26CA4AC84EC642 +:1094D8002A8425C1AE899165210593855571334547 +:1094E80005089770FB1FE780E0B6AA8461D517B915 +:1094F800FB1F1309E9AD0325090009C59770FB1F78 +:10950800E78060C21385840088C0228681452320B5 +:1095180099009770FB1FE780E0E9832709002286FE +:10952800CE8588439770FB1FE78040E283270900B8 +:10953800C2A397B7FB1F83A767A585CF97B7FB1F64 +:1095480083C7C7F2958B85CB97B7FB1F83A747A81F +:1095580091CF9843D6236244F240D2444249B2495B +:1095680005468D45054505616FA0F03601478146E2 +:10957800DDB7014589B749453DBF9307C01C63F472 +:10958800A70009458280797122D406D626D24AD00E +:109598004ECE2A842DC1AE899165210593857571BA +:1095A800334505089770FB1FE780C0AAAA840945C0 +:1095B800A9C817B9FB1F130969A10325090009C523 +:1095C8009770FB1FE78020B61385840088C0228629 +:1095D8008145232099009770FB1FE780A0DD832732 +:1095E80009002286CE8588439770FB1FE78000D646 +:1095F80083270900C2A397B7FB1F83A7279989EB85 +:109608000145B250225492540259F2494561828070 +:1096180097B7FB1F83C787E5958B4945FDD36C003A +:109628001305D030EF30B210B24793F7070FE9DBDC +:1096380097B7FB1F83A787999443D2238D45054588 +:10964800EFA0302A7DBF97B7FB1F83A7A79889CFC4 +:10965800D2238C43411106C69770FB1FE78000CFC9 +:10966800B2400145410182800945828097B7FB1FBE +:1096780083A7479685C717B7FB1F032767958947B1 +:1096880019CF52230C43411106C69770FB1FE78080 +:10969800E0CBB24081473E854101828089473E85C3 +:1096A800828097B7FB1F83A7E79285C717B7FB1F71 +:1096B8000327C791894719CF52230C43411106C686 +:1096C8009770FB1FE78080C8B24081473E85410103 +:1096D800828089473E858280797126D206D622D437 +:1096E8004AD04ECE97B4FB1F938404B68D4783C9E6 +:1096F800240063FAA7000945B25022549254025933 +:10970800F2494561828098202A844145E316F7FE94 +:109718009307F4FF93F7F70F854663E8F60A2E8957 +:10972800B1ED99452800EFC07FA2A0A0914517B5DB +:10973800FB1F034565D3EFB0CF812800EFD04FB8AA +:1097480055E9930571001305F041EF10D2499C8348 +:10975800D1EB8D476318F4084545EFD04FDC59C16C +:1097680037761800130606A03306C502914517B5CB +:10977800FB1F034565CFEFA0DFF5ADA01946814576 +:1097880028009770FB1FE780E0C219462C004A8525 +:109798009770FB1FE78000CD39FD19469305F00F40 +:1097A80028009770FB1FE780E0C019462C004A8507 +:1097B8009770FB1FE78000CB1DFD1946CA8528005E +:1097C8009770FB1FE78080B88DB7630FE400914561 +:1097D80017B5FB1F034545C997B7FB1F238707A686 +:1097E800EFA03FF7014509BFC8442C00EF70C00F38 +:1097F800A0A00DDD2381340101B797B7FB1F83C7F4 +:10980800E7C6918B8DC3411117A5FB1F1305C57BB7 +:1098180006C6EFC01F93B240FD5717B7FB1F2318AA +:10982800F7A24101828001456FC0BF91FD5717A77C +:10983800FB1F2305F77AF95717A7FB1FA300F77A31 +:1098480097A7FB1FA38B077897A7FB1F238707788A +:1098580097A7FB1F2392077897A7FB1F23AC0776D0 +:1098680097A7FB1F23A6077697A7FB1F23A00776BA +:1098780097B7FB1F938787A0170700001307E720F8 +:1098880098C31707000013074787D8C317F7FFFFC8 +:109898001307675198C717F7FFFF1307473CD8C747 +:1098A80017F7FFFF1307A73E98CB97F7FFFF93879C +:1098B800474317A7FB1F2329F7708280411126C24F +:1098C80097A4FB1F9384846C9C4006C622C495CB46 +:1098D8002A840D459770FB1FE7808097AA8519C9D0 +:1098E800930700FD1CA18D4700B13CA19C40882333 +:1098F800EFA0BF9619C42244B240924441016FF0D0 +:109908006FB3B240224492444101828079714AD0B7 +:1099180017A9FB1F130989678327090006D622D4D4 +:1099280026D24ECE6383070E98338547AA8497B90B +:10993800FB1F938969916301F70483C749008DE789 +:109948000D459770FB1FE780A090AA8501CD93076E +:1099580000FD1CA1914704B13CA18327090088237D +:10996800EFA0BF8FEFF00FAD0545B25022549254CF +:109978000259F2494561828097A7FB1F83A7876533 +:1099880089CB9443D2239305E1000545EFC03F8678 +:1099980011ED0145EFD0AFB82A8621C6894517B524 +:1099A800FB1F034565ACEFA07FB125A81C21858B63 +:1099B800EDD30545EFD0AFB69307B0032A8463F122 +:1099C800A7045D6613060670894517B5FB1F034596 +:1099D800A5A9130444FCEFA0DFCF97A7FB1F239D85 +:1099E800875E83270900094798B383C7490091C751 +:1099F80097B7FB1F238C078485BF2685C135ADB774 +:109A0800930700643306F50249BF0145B9BF411108 +:109A180022C42A840D4506C69770FB1FE780408341 +:109A28000DC1930700FD1CA1CD4700B13CA1224404 +:109A3800B240AA8517A5FB1F0345455A41016FA0EF +:109A4800DF81B240224441018280411122C42A842C +:109A58000D4506C69760FB1FE780807F0DC1930701 +:109A680000FD1CA1ED4700B13CA12244B240AA85EB +:109A780017A5FB1F0345855641016FA00FFEB24095 +:109A88002244410182805A210111896606CE22CCE6 +:109A980026CA13866600AA876316C7009C47014535 +:109AA8008C2371A8138606046365E604138656039F +:109AB800636FE60013869600630BC7081386A6003B +:109AC800630DC712A1066309D7060145A5A8F97653 +:109AD8009386A6FC3697A94633470708E3E7E6FED0 +:109AE800974602009386C6123347D7201843369705 +:109AF8000287138616056307C71893862605E3169B +:109B0800D7FC1C45802397A7FB1F83C7074D2285D9 +:109B1800639D07160D459760FB1FE7806073AA8554 +:109B28000DC1930700FD1CA1F14700B13CA117A589 +:109B3800FB1F0345A54A91A29C4705458C23EFF0DE +:109B4800AFB60545F2406244D2440561828017A74A +:109B5800FB1F0327A743014575D79C47882359E96D +:109B680085471CB30545EFA0404DE1BF1C4597A4B0 +:109B7800FB1F9384B4461307E00F80239C20638B5C +:109B8800E7021307F00F6384E70211459760FB1F94 +:109B9800E780006CAA8501CD930700FD1CA18947C9 +:109BA80000B13CA1A30105008820EFA00FEBF957F5 +:109BB8009CA041BF97A4FB1F9384443D9C40014552 +:109BC800D1D305E805447D454085EFD04F9568869B +:109BD80013050002EFD0AF949C40C8851307B1006D +:109BE80080B374001306A10085450545EFA0E04E3B +:109BF80089BF2285EFF09FCCA9B79C476244F24009 +:109C0800D244882305616FF07FD01C4509458C2319 +:109C18003DB71C4588232DE56C001305D030EF3087 +:109C28000231B247414793F7070FE38CE7F09305FA +:109C3800B10013056031EF30822F88858545EFA08C +:109C4800804A01B71C45802397A7FB1F83C7F738B5 +:109C580022859DE70D459760FB1FE780605FAA8519 +:109C6800E30105EE930700FD1CA1D14700B13CA11B +:109C780097A7FB1F83A787318823EFA00FDED1B5F5 +:109C88007933C1B51C45882319C1C1335DBD8545EC +:109C98000545EFA0404775B5411122C417A4FB1F25 +:109CA8000344C47C06C6158809CC17A5FB1F1305F9 +:109CB800E55CEFC06FC84D44B240228522444101A3 +:109CC80082800145EFC04FC7C5BF98219376250014 +:109CD8009377D70F99C29367270093F6F70713175F +:109CE80045606354070093E607081378850093F7E7 +:109CF800760F6304080093E786009376050299CEF1 +:109D080093E707029CA1635707001C2293E7C7004B +:109D18001CA282801375A5026DF9828093F7F7FD66 +:109D28009CA1E34407FE9377A502E5F37DF11C228D +:109D3800CD9BF9BF2D45631C0710011126CA4AC8DF +:109D48004EC606CE22CC9821BE8989472E89B68474 +:109D5800631EF704DC413284983394232207558F1D +:109D68008D66938746A01316576063C9C70293860A +:109D7800F69F63DDC602F5779387F75F3E978D47B9 +:109D8800C8453347070863E7E7029746020093860A +:109D9800E6EA3347D7201C43B6978287938766AA9B +:109DA800630EF608938686B8630FD60823900400DE +:109DB800054525A09760FB1FE780E062334605084C +:109DC8003356360B92A08325C9001DA01E210947D2 +:109DD8009AA01CA0A1831CB00145F2406244D24461 +:109DE8004249B2490561828099479EA01946AA85D1 +:109DF80022859760FB1FE7806055F9BF85479EA0C5 +:109E08001C211CA0D1BF05C9A1479EA01E211CA0D2 +:109E18001E21A1831CB03E213CA03E21A1833CB061 +:109E28005E215CA05E21A1835CB07E217CA07E21A6 +:109E3800A1837CB055B72390040079BF85479EA0C5 +:109E4800DC459C237DBFE1479EA06146ADBF828073 +:109E5800797122D44AD006D626D24ECE52CC56CAD2 +:109E68003A89982189472E84631DF7025C40B6849D +:109E7800B28503C8170094238D6722083368D80079 +:109E8800938627A013185860630BD8102A8A63CCCE +:109E98000601938607A0630BD802938717A0630077 +:109EA800F80A854711A8138737A0630FE80A1387B4 +:109EB80067AA8D47E317E8FEB2502254925402591C +:109EC800F249624AD24A3E8545618280484432C698 +:109ED8009760FB1FE78020519D4733450508E36DD8 +:109EE80025FD97AAFB1F938AAA1083C70A00B30906 +:109EF8009900B24563D43701B5477DBF48442686EB +:109F0800B3C909084A959760FB1FE780204403C638 +:109F18000A00484481450506330636414E95976048 +:109F2800FB1FE780204997A7FB1F83A7A70C99E38E +:109F3800814759B79C438145E5DF528525A0AD4748 +:109F4800E31C09F6E39AE4FA1C321822A207D98F17 +:109F580058441EA397A7FB1F83A7C709F1DB9C439F +:109F68008545F9D78297E9B717A7FB1F0347F70776 +:109F78008D4739D3AD47E31109F49947E39EF4F6C9 +:109F8800484419469760FB1FE780403C97A7FB1F92 +:109F980083A74706D1DF9C43C1DF8D4579BF17A74B +:109FA800FB1F034707F4218B8D4719D7AD47E315EE +:109FB80009F08547E392F4F4182293070008E3EDCB +:109FC800E4EE5C4498A3ADB7411122C4094497A7B5 +:109FD800FB1FA38987F097A7FB1FA38487F097A788 +:109FE800FB1F238087F097A7FB1F23A5070097A7D0 +:109FF800FB1F238607FE97A7FB1F238B07FE97A748 +:10A00800FB1F239607FE97A7FB1FA38007FEA14708 +:10A018001946814517A5FB1F1305C5FC06C617A7DA +:10A02800FB1FA30FF7EA9760FB1FE780A03897A7ED +:10A03800FB1F238787EAB707A00017A7FB1F130793 +:10A04800A7E9938707051CC3B707E8035CC397A76D +:10A05800FB1F238187E885476146814517A5FB1FBC +:10A068001305053617A7FB1FA305F7E697A7FB1FE0 +:10A07800238187E697A7FB1FA38C87E497A7FB1F7D +:10A08800238007F69760FB1FE780C0321306001392 +:10A09800814517A5FB1F1305A51F97A7FB1F23893C +:10A0A80087E297A7FB1FA38C07F29760FB1FE78047 +:10A0B800603097A7FB1F9387E7DBB240224417075E +:10A0C8000000130767C798C317070000130787D84E +:10A0D800D8C323A4070041018280797122D426D2F3 +:10A0E80006D64AD04ECE52CCA1472E84B28463EB1A +:10A0F800A70017470200130767B53345E5201C4141 +:10A10800BA978287930710086304F51C63ECA700CD +:10A1180093072004630EF516930700086303F518E8 +:10A12800094591A093072008E31CF5FE8547639B2A +:10A13800F50208229377250095E797A7FB1F83C7A9 +:10A14800C7EA1387F7FF97A5FB1F938565141207C6 +:10A1580092072E97A1075047BE9585AA9307800FAF +:10A1680063FBB7006145B250225492540259F24938 +:10A17800624A4561828017AAFB1F130AAAD6834741 +:10A188000A0017A9FB1F1309A9109207CA97C84705 +:10A1980009C99760FB1FE78000F997A7FB1F238970 +:10A1A80007E4130614001376F60F9165938505717D +:10A1B800328583490A0032C69760FB1FE78080E931 +:10A1C80083470A009209CA99920723A6A900CA9749 +:10A1D800C84749D9324681459760FB1FE780801DF3 +:10A1E80083470A002286A68592073E990325C9005F +:10A1F8009760FB1FE780801597A7FB1F238A87DEE0 +:10A20800014595B78947E39FF5F41E2217A7FB1F61 +:10A21800231FF7DCF5B78547E396F5F41C2217A74B +:10A22800FB1FA304F7DCE9BF9947E39DF5F2194644 +:10A23800A68517A5FB1F1305E5DA9760FB1FE780C6 +:10A24800E0107DBFA147E39FF5F02146A68517A53D +:10A25800FB1F130565C8D5B78547E395F5F01C22A4 +:10A2680017A7FB1FA307F7C661BFE147E39CF5EEFD +:10A278006146A68517A5FB1F130585147DBF854775 +:10A28800E392F5EE1C2217A7FB1FA30AF7D48DBF94 +:10A298008547E399F5EC1C2217A7FB1F2303F7C496 +:10A2A80085B78547E390F5EC97A7FB1F83C787C35E +:10A2B8001387F7FF97A5FB1F938585FD12072E9738 +:10A2C800920750478820A107BE95EFF01FA00DBF49 +:10A2D8008547E399F5E897A7FB1F83C727D1C9BF2F +:10A2E800AA8721472E85636DF700174702001307D9 +:10A2F8002798B3C7E7209C43411106C6BA978287BF +:10A3080013072004638BE70889473E85828017A7D7 +:10A31800FB1F034727BD120797A7FB1F938747F724 +:10A32800BA97CC47894785C117A6FB1F034646CC79 +:10A338009760FB1FE780800131A097A7FB1F83D799 +:10A3480007CB9EA18147B2403E854101828097A7F5 +:10A35800FB1F83C797C91CA1F5B7194697A5FB1F13 +:10A36800938545C8F1B7214697A5FB1F9385C5B6C8 +:10A37800EF901FDBC1BF97A7FB1F83C797B5E1BF4E +:10A38800614697A5FB1F9385A5035DB797A7FB1F9C +:10A3980083C7F7C4C9B789477DB797A7FB1F83C78A +:10A3A80047B49CA1814795B7630F053897A7FB1F52 +:10A3B8009387E7C2982363180738054798A397A798 +:10A3C800FB1F9387E7EC894698A717A7FB1F23165F +:10A3D80007EC17A7FB1F1307E7B294A397A6FB1F69 +:10A3E800938606B6D8C7D4C37D57630CE534137774 +:10A3F8001500854529C717A6FB1F231806EA094734 +:10A4080097A6FB1F938606B317A6FB1F130696ADE8 +:10A4180098ABD4CBD0CF854617A6FB1F2304E6AC58 +:10A428002380E70217A7FB1F130747B0D8D394AFC1 +:10A438002384D70217A7FB1F231107E88D4513773D +:10A44800250025C3139745003E9797A6FB1F9386C3 +:10A4580066AE094654C317A8FB1F130898A885467B +:10A4680010A314A723260701231507001387150037 +:10A478003347070817A8FB1F230AE8B612073E97B9 +:10A4880010A314A717A6FB1F130606AA97A6FB1F5F +:10A498009386E6B5890550C32315070054C7B3C58D +:10A4A80005081377450025C3139745003E9797A6DF +:10A4B800FB1F938626A8094654C317A8FB1F130839 +:10A4C80048A2854610A314A72326070123150700D1 +:10A4D800138715003347070817A8FB1F2307E8B0A1 +:10A4E80012073E9710A314A717A6FB1F130686A3EF +:10A4F80097A6FB1F938676AF890550C323150700DF +:10A5080054C7B3C505081377850021CF13974500B5 +:10A518003E9717A6FB1F1306E6A150C305468946BA +:10A5280010A717A6FB1F1306B69B14A32315070035 +:10A5380050C7138715003347070812073E9714A31F +:10A5480097A6FB1F9386C69D54C3A14614A797A63A +:10A55800FB1F938626A989052315070054C7B3C591 +:10A5680005081377050121CF139745003E9797A655 +:10A57800FB1F9386269C094654C317A8FB1F130884 +:10A588002896854610A314A723150700232607013C +:10A59800138715003347070812073E9710A314A71F +:10A5A80017A6FB1F1306869797A6FB1F9386C692CE +:10A5B800890550C32315070054C7B3C50508137789 +:10A5C800050221CF139745003E9797A6FB1F938658 +:10A5D8006696094654C317A8FB1F1308A88F85461B +:10A5E80010A314A7231507002326070113871500B6 +:10A5F8003347070812073E9710A314A717A6FB1F97 +:10A608001306469197A6FB1F9386B68C890550C3FF +:10A618002315070054C7B3C505081377050421CFD0 +:10A62800139745003E9797A6FB1F9386A690094669 +:10A6380054C317A8FB1F1308C889854610A314A77D +:10A64800231507002326070113871500334707083A +:10A6580012073E9710A314A717A6FB1F1306C68B55 +:10A6680097A6FB1F9386C697890550C32315070035 +:10A6780054C7B3C505081377050821CF13974500BC +:10A688003E9717A6FB1F1306E68A50C35146894614 +:10A6980010A717A6FB1F1306B68314A323150700DC +:10A6A80050C7138715003347070812073E9714A3AE +:10A6B80097A6FB1F9386C68554C3854614A797A6FD +:10A6C800FB1F9386E6CF89052315070054C7B3C53A +:10A6D80005081375051039C9139745003E9797A6C5 +:10A6E800FB1F9386268554C3094685461795FB1F8D +:10A6F8001305057E10A314A72315070048C7138761 +:10A708001500334707081207BA9717A7FB1F130747 +:10A718002780D8C317A7FB1F1307778C890590A339 +:10A7280094A723950700D8C7B3C505089796FB1FBC +:10A7380093864674414617A5FB1F130565B56F3010 +:10A74800E0414D454DB9014582800111FD1522CCEE +:10A7580006CE328426CA3E864AC813F8F50FAD479E +:10A7680063E8070B3A89173702001307A7523348E3 +:10A77800E82083270800B684BA9782878545EFB01A +:10A788001FB901E5EFF04FD10145F2406244D244D0 +:10A798004249056182808945EFB07FB77DF5228502 +:10A7A800EFE02FBFD5B7914532C6EFB05FB632465E +:10A7B80069FDCA852685EFB03FACEFF0EFCDEFF02D +:10A7C800CF83EF60A07AC9B7A14532C6EFB03FB4D6 +:10A7D800324645FDCA852685EFB01FAA2285EFE0DF +:10A7E8004FBBEFE0CFB1EF60407679BFB14532C6DD +:10A7F800EFB0FFB1324651F9CA852685EFB0DFA721 +:10A808002285EFE00FB9EFE08FAFEF60007475B706 +:10A818000945A5BF79714ECEAE896C0022D426D2E7 +:10A828004AD006D62A89B284EF00306E2A840DE118 +:10A83800CE854A85EFB0CF8C2A8419E93245268720 +:10A8480097B6FFFF9386460B2D468145EF1000060D +:10A85800B2502285225492540259F24945618280AD +:10A86800397126DAAE844C0022DC4AD84ED652D44E +:10A8780006DEAA893289368AEF0030692A8421E9FE +:10A88800A685630D09009E202C007C84BE207C8553 +:10A89800930720307C86930780025C874E85EFB053 +:10A8A8004F832A840DE55946A6851305A100230484 +:10A8B80021019760FB1FE78060A91245528797B670 +:10A8C800FFFF938686FE25462C00EF00307EF2506F +:10A8D80022856254D2544259B259225A2161828047 +:10A8E800797126D2AE846C0022D44AD04ECE06D6D8 +:10A8F800AA893289EF0070612A840DE1A6854E8508 +:10A90800EFB0CF812A8419E932454A8797B6FFFF0D +:10A91800938646003546A685EF005079B2502285C9 +:10A92800225492540259F249456182807547AA8798 +:10A938006365B702114701456378B702ED1593F5D2 +:10A94800F50F61476361B702973602009386863731 +:10A95800B3C5D52098413697028793F5F5071307B5 +:10A968002005638AE50001458280C84782808843C4 +:10A97800828088478280C84382809307F00F630FE4 +:10A98800F506011126CAAA841305000222CC4AC87A +:10A998004EC652C456C206CE2E8AB28AB6893A89A3 +:10A9A8009760FB1FE780C08A2A844D450DC893072E +:10A9B80000FB1CA0A300540123114401230234010D +:10A9C80013058400614663050902CA859760FB1F69 +:10A9D800E780C097A2852685EF903F880145F24021 +:10A9E8006244D2444249B249224A924A056182806D +:10A9F80081459760FB1FE780E09BE9BF094582809E +:10AA0800011122CC06CE2A844C86D0869780FB1F63 +:10AA1800E780E01505C15425214797A7FB1F9387B9 +:10AA2800A7A4639DE600E82378009306E0070146A3 +:10AA3800A285A137F240624405618280C83378005C +:10AA48009306E0070146A285EDB793070064330635 +:10AA5800F6026F90FFBB15C1411122C406C62A84B5 +:10AA680008219307D00F63E6A700EF903FD8FD5762 +:10AA78001CA0B2402244410182808280797122D494 +:10AA880006D626D24AD04ECE9E2509448DEBAE84FA +:10AA98006C00AA893289EF0050472A840DE1A68507 +:10AAA8004E85EFA07FF32A8419E932454A8797B685 +:10AAB800FFFF938626F24D468145EF00305FB25086 +:10AAC8002285225492540259F249456182801A2102 +:10AAD8009307000B6310F7025C214947639AE7006C +:10AAE800183985476398E7002A2185456F30902AF1 +:10AAF8006D47CDBF828001116C846C0022CC26CAC0 +:10AB08004AC806CE2A89B6847085EF0010402A8488 +:10AB18000DE12C004A85EFA09FD22A8419E932451D +:10AB2800268797B6FFFF938646CD15462C00EF0083 +:10AB3800F057F24022856244D2444249056182803E +:10AB48007971930720306C8470857C862C0093077C +:10AB58008002014606D65C87EFF09FD0B25045616F +:10AB68008280C177797185073EC4894726D27C8661 +:10AB7800AE84930780024C0022D44AD006D62A8994 +:10AB88005C87EF0090382A840DE12C004A85EFA0FD +:10AB98001FE22A8419E91245268797B6FFFF938694 +:10ABA80046DE45462C00EF007050B25022852254F4 +:10ABB8009254025945618280B28605466FF05FCA99 +:10ABC800797126D2AE846C0022D44AD04ECE06D6F5 +:10ABD800AA893289EF0070332A840DE1A6854E8553 +:10ABE800EFA09FBD2A8419E932454A8797B6FFFF2F +:10ABF800938646BB0D46A685EF00504BB250228582 +:10AC0800225492540259F24945618280797193071E +:10AC180020206C8470857C862C0093078002014676 +:10AC280006D65C87EFF0DFC3B25045618280011120 +:10AC380022CC26CA4AC806CE2A84AE84328936C6B1 +:10AC48009780FB1FE780A0F215C95025A14632471F +:10AC580097A7FB1F93874781631DD600E823CA8601 +:10AC68002686A2856244F240D244424905616FF0CB +:10AC7800DFD0C833CA862686A285EDB7F240624483 +:10AC8800D24442490545056182806FF0BFB86FF034 +:10AC98007FB86FF0FFC46FF0BFC479714ECEAE8934 +:10ACA8006C0022D426D24AD006D62A89B284EF0074 +:10ACB800D0252A840DE1CE854A85EFA0FFC72A84D6 +:10ACC80019E93245268797B6FFFF938666C63D4643 +:10ACD8008145EF00B03DB25022852254925402596A +:10ACE800F24945618280B28601466FF07FB7011153 +:10ACF80022CC2E846C0026CA06CEAA84EF00F0204F +:10AD0800DD476309F500930710101EA4A285268568 +:10AD1800EFA09FCCF2406244D24405618280239424 +:10AD280005006FF0BFD5E5BF1797FB1F0347073135 +:10AD3800854763F8E702011122CC2E846C0026CAED +:10AD480006CEAA84EF00701C01E9930700101EA428 +:10AD5800A2852685EFA05FC8F2406244D24405610F +:10AD68008280594582809797FB1F23A9A728828054 +:10AD78009797FB1F23A2A7288280011122CC26CAFD +:10AD880006CE2A84AE849780FB1FE78040DEA68526 +:10AD98002285EFA06FF605E9228564869780FB1F60 +:10ADA800E780E0DC0DC1542521479797FB1F938767 +:10ADB800A76B639FE600E82378009306F007014637 +:10ADC800A285EFF09FBBF2406244D24405618280C5 +:10ADD800C833DDB7797122D44AD0AE8706D6BA8592 +:10ADE80026D24ECE7547328436896364F7042147EC +:10ADF800636CF70015476388E7021947638DE70816 +:10AE0800C167FD1785441DA037061400DD1713061A +:10AE18000620B317F0287D8E49EE19677D8F25EB44 +:10AE280093F71710F1DFC167FD1789446316F40221 +:10AE380021A813F7F70793062005E313D7FC41670A +:10AE48007D17631EE6048D442EC6EFA0AFEEB24513 +:10AE5800330495403344040833858400334505089A +:10AE6800EF30D000AA87B3C9040821C963040900D8 +:10AE7800231089002254B25092540259B30530412C +:10AE8800F2493E8545611753FB1F67004337C16789 +:10AE9800FD17954461BFC167FD179D4441BF130766 +:10AEA800200D8D44E39AE7FA1304C60033440408DE +:10AEB80065B7C167FD178D4495BFB25022549254AF +:10AEC8000259F24945618280011122CC26CA06CE78 +:10AED800D0212E841307000281469945AA84DD3DBE +:10AEE8002AC621C51E205020930554007C803E2090 +:10AEF8007C8189477C82930780025C839750FB1F83 +:10AF0800E780C0445C208A8526857C84EFA0DF9595 +:10AF18002A8411C532459750FB1FE780C020F240B4 +:10AF280022856244D244056182804D44CDBF397187 +:10AF380022DC26DA4AD806DE89472A84AE84368996 +:10AF48006306F600C14709456315F60432C6A9C071 +:10AF58004C082285EF00607B324605EDC1778507F6 +:10AF6800A6851305D1013ECC230EC1009750FB1FC7 +:10AF7800E780C03D2C082285813F01ED52454A8774 +:10AF880097B6FFFF9386E68C1D462C08EF0010123B +:10AF98000145F2506254D25442592161828039717C +:10AFA80026DA4AD84ED63289AE893686BA848146A0 +:10AFB80013071002D94522DC06DE2A8432C6EFF0D8 +:10AFC8007FE12ACE1DCD3246A685231A3101F084B1 +:10AFD800231B21019750FB1FE780403722854C082F +:10AFE800EFA03FA92A8411C572459750FB1FE7803F +:10AFF8008013F25022856254D2544259B2592161C9 +:10B0080082804D44FDB7011122CC06CE26CADD4709 +:10B018002A84639FF5085439B1441C49B3869602C3 +:10B028003287B697904314436306D6020A20230654 +:10B0380001006C00EFA09FA70824B165938505B8AF +:10B04800EF90EFB9E5473CA097B7FFFF9387C7A5F7 +:10B058005CC091A85623D223E31AD6FC88470C4734 +:10B068009750FB1FE7800040AA870A2089E723063C +:10B0780001006C00C1B75C385828850793F7F70FB3 +:10B088005CB863F4E702B38797021848BA97984701 +:10B09800D623B2238E23213751F90824B16593852D +:10B0A80005B8EF90CFB3D94431A87C285C86D1B7D6 +:10B0B8000A21AE846C0023060100EFA03F9F85475C +:10B0C800E39CF4F6F24062442685D244056182800E +:10B0D800011122CC06CE26CADD472A840A216398AC +:10B0E800F508EFA02FC5522C3E284E286D162A963B +:10B0F800334606083307F64052ACAA86334707089A +:10B108000A206372B7061388C6FFB388E54063D484 +:10B118000803AE97918FB3C607081C4C0E283E97BC +:10B12800EFF0FFE709ED0824B165938505B8EF90C6 +:10B138000FABD944B1A0ED16B3C60608F9BF0A2073 +:10B14800230601006C00EFA07F960824B165938563 +:10B1580005B8EF90CFA8E5473CA097B7FFFF9387C6 +:10B16800A7945CC0F9B785475C866C00E9BFAE84DC +:10B178006C0023060100EFA07F938547E397F4FC5A +:10B18800F24062442685D24405618280397126DA0C +:10B19800AE842C0022DC4AD84ED606DE2A89B28933 +:10B1A800AD232A8431E54A85EFA0CFB8D6206D15A6 +:10B1B80063C4A600B34605089844B2208E204A8589 +:10B1C800EFF0FFDD2A840DE53146A6850808230641 +:10B1D80001009750FB1FE7806017BE2022454E876D +:10B1E80097B6FFFF9386E6855D466C00FC867D2D4D +:10B1F800F25022856254D2544259B2592161828058 +:10B2080071B769B7797122D406D626D24AD04ECE04 +:10B2180052CC56CA5AC80944C1CD3289094449CAD0 +:10B22800AE84BA8A2A8A368BEFA0CFB0138744003F +:10B2380081477115162363DEA608850793F7F70F74 +:10B248003107E319F9FE8A855285C1212A842DE147 +:10B2580031453305A9029165938515704D44975082 +:10B26800FB1FE78020DFAA8921C531463306C902C2 +:10B27800A6859750FB1FE780600D9844D620B22022 +:10B288008E205285EFF0BFD12A8415ED02458547FF +:10B29800568797A6FFFF9386C67A5D464C005C8268 +:10B2A8004EC423062101A306010023076101FD2BDB +:10B2B800B2502285225492540259F249624AD24A23 +:10B2C800424B456182804E859750FB1FE780A0E581 +:10B2D800C5B76D44F1BF79714ECEAE89C16526D22E +:10B2E8000147AA8489461796FB1F130626C2FD1537 +:10B2F800054522D406D64AD0EF101001054429C9C5 +:10B308002A891307300281461146F5452685EFF054 +:10B318007FAC2AC655440DCD0357A900CE860146F9 +:10B32800788411477885054718A1B2472C002685EF +:10B33800A38007003247FD573CA332473CB3EF10C8 +:10B34800E0712A8411C532459750FB1FE780A0DDC4 +:10B35800B2502285225492540259F24945618280A2 +:10B36800411106C6EFF08FDC19C5B24041011753F1 +:10B37800FB1F670043DBB24041018280011106CE0A +:10B388002AC6EFA06F81324591459797FB1F23A7E7 +:10B3980007C69797FB1F23A107C69797FB1FA3858F +:10B3A800A70CEF30C027F24005616F20700F79714C +:10B3B8004AD006D622D426D201499397556063D83D +:10B3C80007041795FB1F0345350A2E899750FB1F65 +:10B3D800E78000EE2A845DC518219307000A6310F0 +:10B3E800F70A85474C08DC85EFA08F88AA841DC51D +:10B3F8009C8599C7084409C59750FB1FE780A0D2D0 +:10B408002A208545EF300019CD47639AF406B250DB +:10B41800225492544A8502594561828083476101CA +:10B4280091CF71476363F7064D476378F7069386B4 +:10B43800C7FE130730143357D74825C31797FB1F88 +:10B44800032787BB01C7034751012DCB9C8599C7AB +:10B45800084409C59750FB1FE780E0CC5247B7075F +:10B468000001938707F07D8FB707120093870710B5 +:10B478006307F70003476101ED476302F70A228576 +:10B48800EF809FD81319F96859B7138717FE1377F8 +:10B49800F70F93060002E3F3E6FA858B9DCB9797A7 +:10B4A800FB1F83A7A7B5A5C72A201306B1004C0820 +:10B4B80082979C85AA84ADEBD5D099B75C869947CD +:10B4C8002308F1002A206C0023170100EFA0EF9C4D +:10B4D800B5BF9797FB1F83A727B285CB2A201306F2 +:10B4E800B1004C088297AA8435D183475101E39172 +:10B4F80007F023089100834761012A206C005C86CD +:10B5080023170100EFA06F99E5B59944F9BF9C8511 +:10B5180099C7084409C59750FB1FE780C0C02A2077 +:10B528008545EF302007A1BF084459D59750FB1F28 +:10B53800E78060BF51B75D71A2C4A6C286C6CAC003 +:10B548004EDE52DC56DA5AD85ED6A5472A84B28433 +:10B558006392F50E834745021A2232228507230299 +:10B56800F5029307F7FFB307F602D440B3C70708FD +:10B57800B697542503CB070003C917008547638B8B +:10B58800F60493178900B3E7670141677D17638A5B +:10B59800E70A1A2863F7E70A50248507B3C707089C +:10B5A80085467EA40A209305E400631BD6007C84AC +:10B5B800930720307C869307800278855C872C006F +:10B5C800EFA02FB10824B165938505B8EF803FE15E +:10B5D80059458DA83307C702239004008149014AC1 +:10B5E800930B3501B34A0708E3FD59F9B620DC404F +:10B5F8002C2813865900ED163E965E85B3C60608BC +:10B60800EF909FDE1DC1630B3A01C840B220B3051D +:10B61800350152959750FB1FE78040D3BE203E9AD4 +:10B628009E20334A0A0885079EA0BE20BE99B3C94A +:10B6380009085DBF5822A9476311F70283474502ED +:10B6480089CF0145B640264496440649F259625AC4 +:10B65800D25A425BB25B616182803428130934019B +:10B668004A8689451795FB1F1305858DEF90DFD70F +:10B6780039ED34284A8689451795FB1F1305058C33 +:10B68800EF909FD629E534284A8689451795FB1FF0 +:10B698001305858AEF905FD51DE934284A868945C8 +:10B6A8001795FB1F13050589EF901FD40DE1DC20CA +:10B6B80009476380E702ED1793F7F70F2947636897 +:10B6C800F70013079048B357F700858B99E30545B2 +:10B6D80095BF8347440285072302F402BE2075B54F +:10B6E800411122C406C62E849770FB1FE780E03DF7 +:10B6F80009C93C25138717006315E40093F707F879 +:10B708003CA5B240224441018280411122C406C6B0 +:10B718002E849770FB1FE780403B1DC111C008C0F5 +:10B728001C251307E00F5D456388E7001307F00F3A +:10B7380059456393E7000145B240224441018280A4 +:10B748000945DDBF411122C42A84210526C206C647 +:10B758004AC0EFF04FB02420A51493F4D40F81E829 +:10B7680058248547631DF7041C483149A1E3FD5758 +:10B77800230104001CB4230204021305C40022445C +:10B78800B240924402496146814541011753FB1F6B +:10B79800670043C2B38724033E95084509C59750FF +:10B7A800FB1FE7804098850493F4F40F5C28084851 +:10B7B800E3E2F4FE9750FB1FE780E0964DBF084C8C +:10B7C80075F975B7411122C4416406C626C29307AC +:10B7D800E4FF6301F502AA849DE19770FB1FE780EF +:10B7E800C02E09E91305F4FF9770FB1FE780E02DD1 +:10B7F80011C106A1B240224492444101828085478A +:10B808006392F5049770FB1FE780202C2A847DD172 +:10B81800FD571EA11C241307F00F6382E7021307CC +:10B82800E00F6389E7003420083401475146A685B4 +:10B83800EFF0AF942285EFF0FFF0FD571CA423052D +:10B8480004004DBF8947E397F5FA8545EF40C046A8 +:10B8580055F126859770FB1FE78020272A845DF91C +:10B8680051BF21C5011122CC06CE18259307F00F30 +:10B878002A846308F70234210E21083501475D4602 +:10B88800EFF0AF8F3820E1476318F7000A206C000B +:10B8980023060100EFA08FA1F9571CA42285EFF021 +:10B8A8007FEAF24062440561828082809307F00F4C +:10B8B8006306F706011122CC26CA2A844AC84EC656 +:10B8C80052C4B689328A3A8993068500AE8479468D +:10B8D800AA8517050000130505F906CEEFF0EF96C7 +:10B8E800A3042401230144012322340185C0130544 +:10B8F800C4006244F2404249B249224AA685D24471 +:10B90800614605611753FB1F670043A4F240624478 +:10B91800D2444249B249224A05618280828097878F +:10B92800FB1F2381A76E8280411122C406C695475A +:10B938002A846391F50683474502854685072302D5 +:10B94800F5021E2258423022FD17B3C70708631EAE +:10B95800D602B3C7E72098239C330145A207D98FA5 +:10B968007A2463F0E7020A2085075EA49305C400E1 +:10B97800EF90FFEC0824B165938505B8EF803FA6EA +:10B988005945B240224441018280C946B387D70253 +:10B99800BA97D1B75822A9470545E314F7FE0345DE +:10B9A800440213351500F1BF411122C406C69D4754 +:10B9B8002A846396F5048347450285072302F50226 +:10B9C8001E225842FD17B3C7E72098239C33A207CD +:10B9D800D98F7A25014563F0E7020A2085075EA41E +:10B9E8009305C400EFF04FCE0824B165938505B8E0 +:10B9F800EF80FF9E5945B24022444101828058227F +:10BA0800A9470545E319F7FE034544021335150018 +:10BA1800DDB7411122C426C206C6B5472A84B284BE +:10BA28006394F5048347450285072302F5020A213A +:10BA3800EF905FB09E201307F5FF014563C1E70251 +:10BA48007A240A209305C400BA977EA4EF901FEDCC +:10BA58000824B165938505B8EF807F985945B240B1 +:10BA6800224492444101828058229D470545E318AB +:10BA7800F7FE0345440213351500D5B7411122C41A +:10BA880006C6C5472A846390F5061E223A22FD178A +:10BA9800B387E7020347450205072302E502584238 +:10BAA800B3C707083E973C333823A207D98F4167AD +:10BAB8007D176397E7000145B24022444101828027 +:10BAC800138717005AA57A25E3F7E7FE9305C50003 +:10BAD8000A21EF90DFED0824B165938505B8EF8062 +:10BAE8001F905945D1BF5822A9470545E316F7FCD1 +:10BAF8000345440213351500C1B7011126CA4AC8C7 +:10BB08004EC656C206CE22CC52C4BC211547AA8ABC +:10BB18002E89B289B684639EE7023686CE854A8529 +:10BB2800EFF09FE02A84631E0510854703459900BE +:10BB38006393F910D820A9476319F70C054A83467F +:10BB480029000345990001476946D685EFE0FFE2E1 +:10BB5800F9A83547638CE7086361F7041D47638BD1 +:10BB6800E7062547638EE706A547638FF90A05446C +:10BB7800034599002687CE860146D685EFE0FFDF8C +:10BB8800054A19E5CE852685EFE05FDA133A1500F8 +:10BB98005DD4D9476306F40259A84547638EE70484 +:10BBA8005D47E393E7FCD82585473686CE854A85E9 +:10BBB800631AF704EFF02FC58547054AE306F5FA3F +:10BBC800F2406244D2444249B249924A5285224ADA +:10BBD800056182803686CE854A85EFF0FFDC99B70D +:10BBE8003686CE854A85EFF01F952DBF3686CE85E1 +:10BBF8004A85EFF01FE23DB73686CE854A85EFF0DD +:10BC0800FFE70DB7EFF0CFCC45BF26878546014645 +:10BC1800D685EFE09FD6E31305F285452685EFE04C +:10BC2800FFD0133A150021BF9E20B1F3054A4A857B +:10BC3800EFF05FB171B7A547E39CF9F29E208DFB49 +:10BC4800F5BDA547E396F9F29E20E39307F2054A6E +:10BC580089B79E21639F071C397126DA4ED652D4C4 +:10BC680006DE22DC4AD8A021ED47AA89AE84328AB2 +:10BC78006315F4021787FB1F0347C7389307F00FB4 +:10BC88000144631FF7049947F2506254D254425951 +:10BC9800B259225A3E8521618280F5476311F40822 +:10BCA8009786FB1F83C606361307F00F9947E38D67 +:10BCB800E6FC9770FB1FE78040E12A8415C1302518 +:10BCC80005C29317466063D40700814775BFF545E1 +:10BCD8004E85EFE0FFD23C2493E707F83CA4F5B784 +:10BCE800D62090448C3088203800EF903FDDAA871A +:10BCF80041FDB42038000146CE851785FB1F03455A +:10BD08006530EFE09FC7AA8741F1B24799C3230086 +:10BD18000A00BC207547E39AE7FA69F07DB7977087 +:10BD2800FB1FE78080DA2A894DD185476317F40421 +:10BD3800CE2088443000EF90DF81AA8731F5834711 +:10BD4800290015476382E702E51793F7F70FC14605 +:10BD580063E1F6043317F0281377574411E7639A21 +:10BD6800D7028327090195C7B0203400CA854E85BC +:10BD7800EFF0BFD82300AA0089BF38219147E31507 +:10BD880087F05841E30207F0CE208844300002973C +:10BD98006DB7034599009787FB1F83C7F76C6381CD +:10BDA800A702B42038000146CE85EFE01FBD2A84E3 +:10BDB80009E9AC202800EFE07FB719C123000A0089 +:10BDC8000144034729008D476318F7043C8403574F +:10BDD800C90063F4E7002316F9008355C9004E85AE +:10BDE800EFE0BFF91787FB1F03578737ED4763F568 +:10BDF800E7028357C900DD4663F0F60293863700F1 +:10BE080063D1E60211669385470013060629B3C578 +:10BE180005084E85EF80A01F4A85EFF0BF92A287E4 +:10BE2800A5B511669305B00F13060629B355B70AD1 +:10BE3800CDB799473E858280011106CE26CA4AC8E9 +:10BE480022CC4EC652C49784FB1F9384E461882495 +:10BE58009307800291653305F5029385657017890C +:10BE6800FB1F1309E919334505089740FB1FE780B5 +:10BE7800601E90249307800281453306F602232032 +:10BE8800A9009740FB1FE780E052832709004D4532 +:10BE98009DCB0144130A8002FD599C24636DF40272 +:10BEA80017050000130525DBEFE0FFEB1705000081 +:10BEB80013054583EF908FDA170500001305C59029 +:10BEC800EF30B0560145F2406244D2444249B2498B +:10BED800224A05618280B3074403032509006146AD +:10BEE800814505041374F40F3E9523103501230191 +:10BEF8000500231435012305050023020502310539 +:10BF08009740FB1FE780004B49BF01458280178798 +:10BF1800FB1F0347F755814763E4E700014582802B +:10BF28009221938645006314A6002E85828085079A +:10BF3800B685DDB71DC5411122C406C63821930751 +:10BF4800D00F2A8463EBE7000E2128310147F94618 +:10BF58005D46EFE09FA2F9573EA0B240224441015E +:10BF6800828082801787FB1F034797508147FD56C1 +:10BF780063E3E700828016A1230105008507110508 +:10BF8800C5BF014582809785FB1F9385B5F693074A +:10BF9800000285469CA1FD571787FB1F230CF7F469 +:10BFA8001787FB1FA307F7F41787FB1F2303F7F473 +:10BFB8009787FB1F239ED7F29787FB1F23920706BD +:10BFC8009787FB1F23AC07049787FB1F23A607044B +:10BFD8009787FB1F23A007041786FB1F1306C6F0CD +:10BFE8009787FB1F938707F65CC29787FB1FA38B76 +:10BFF80007009787FB1F938767E9094718A298A34B +:10C0080098AB2380E7022388E7021787FB1F1307F3 +:10C0180027F294A7D0C794AFD8DB1785FB1F130569 +:10C0280025F20D471786FB1F1306C6F09786FB1FE0 +:10C038009386C6ED238CE702C8C323950700D0CBAF +:10C04800239D0700CCCFD4D323840702239507026E +:10C0580023A60702239D07021787FB1F0327C7FA9A +:10C06800D8DF9787FB1F9387A7E1170700001307FF +:10C07800870B23A00700D8C323A40700828041119F +:10C0880006C6EFF0DFE809C52821B24041018280E9 +:10C098000145E5BF411122C426C24AC006C6AA848A +:10C0A8002E893284EFF0BFE6AA8711E94165CA8577 +:10C0B8007D15EFF0DFE5AA87454581C786A3A0A3D4 +:10C0C8000145B2402244924402494101828021E361 +:10C0D80009483547639E0603011106CE22CC182273 +:10C0E80010322206598E32C6B377F64085E7CC4522 +:10C0F8002A842EC4EFF0BFF832460147630EC5000C +:10C1080022856244A245F24005616FF0BFF82D47D1 +:10C118003A85828013070008F24062443A85056137 +:10C12800828083C80500094863910803DC4103C87D +:10C1380007009C33A207B3E707010D68130828908E +:10C148006395070189476FF09FF8054582800111C3 +:10C158004EC606CE22CC26CA4AC89789FB1F9389A9 +:10C1680059D903C709009307F00F630FF7022A890B +:10C178002945AE8432849740FB1FE780600DAA856D +:10C1880005C59307100B1EA12302050002A56244F2 +:10C198002311250166A1F24003C50900D244424992 +:10C1A800B24905616F806F8BF2406244D2444249C4 +:10C1B800B24905618280411126C2AE849785FB1F72 +:10C1C80083A585E422C406C62A84EFF05FEB0989BB +:10C1D80009C922852244B240A685924441016FF0E4 +:10C1E8008F8FB2402244924405454101828041111B +:10C1F80022C426C24AC006C6AA84130445001309ED +:10C20800850B1E209DC3084409C59740FB1FE78086 +:10C2180080F12285314681459740FB1FE7808019D0 +:10C228003104231A04FEE31E24FDB2402244FD57C4 +:10C238009EA002499244410182809786FB1F83C6D3 +:10C2480036239787FB1F83A7A7DC01476394E60083 +:10C25800014582808E231386870B6394A5003E8553 +:10C26800828005071377F70FB287CDB7AA8717859E +:10C27800FB1F032565DA01C95A216314F700084535 +:10C2880082800841CDBF8280411106C6EFF01FFEB3 +:10C2980009C50845B240410182800145E5BF797171 +:10C2A80022D41384450026D24AD052CC5AC82E8AAA +:10C2B80006D64ECE56CA5EC622892287014B8144D5 +:10C2C80081468147BD45122345CAB5EE46233E2324 +:10C2D800B286A697B3C70708050B3107E315BBFE5F +:10C2E800ADC491659385457026859740FB1FE7800F +:10C2F80060D6AA8B39C90C44D1C9814A81495220D8 +:10C3080033853B019740FB1FE78040045E200844CB +:10C31800BE99B3C909089740FB1FE780C0E063983E +:10C328000A003109854A832589004A84E9F931469A +:10C3380081452285850A9740FB1FE780A007638215 +:10C348006A053109CDB7630ED6000145B2502254B3 +:10C3580092540259F249624AD24A424BB24B456161 +:10C3680082803223E313F6FE5223B294B297B3C409 +:10C378000408B3C707088DB78547E3E367F70545A2 +:10C38800F1B723267A0123149A00D5BF1309C400F4 +:10C39800854A814949BFAA871785FB1F032585C799 +:10C3A80011E1828018453A276314F700110582804D +:10C3B8000841FDB7411106C6EFF0FFFD09C50A2186 +:10C3C800B240410182800145E5BF411106C6EFF048 +:10C3D8009FFC09C52821B240410182804145E5BF43 +:10C3E80041111786FB1F1306E6C222C40042AA8623 +:10C3F80006C62E8501471DCC1C44AE271C406396FB +:10C40800D5021DC71CC301C92146930544009740A6 +:10C41800FB1FE780A0F322859740FB1FE780A0D091 +:10C428000145B24022444101828022873E84E1B71F +:10C438001CC2D1BF0545F5B701119786FB1F93862E +:10C44800A6BD26CAAA84884222CC06CE2E840147DD +:10C458000DCD52211C416315960215C71CC3974088 +:10C46800FB1FE78040CC2C002685EFF07FF701E525 +:10C4780019C0B2471CC0F2406244D24405618280B0 +:10C488002A873E85F1B79CC2D9BF0545EDB7411152 +:10C4980022C42A84090506C6EFE0EFDBFD573CB04D +:10C4A800B240224441018280411122C4416406C63F +:10C4B80026C29307E4FF6301F502AA849DE1976011 +:10C4C800FB1FE780A06309E91305F4FF9760FB1FD2 +:10C4D800E780C06211C106A1B240224492444101E2 +:10C4E800828085476392F5049760FB1FE7800061AF +:10C4F8002A847DD1FD571EA13C201307F00F6382CB +:10C50800E7021307E00F6389E70028300147F9467F +:10C518005146A685EFE06FC62285EFF05FF7FD571D +:10C528003CA0230204004DBF8947E397F5FA8545EF +:10C53800EF30807855F126859760FB1FE780005C17 +:10C548002A845DF951BF5D71A2C4CAC086C6A6C25D +:10C558004EDE52DC56DA5AD82E84AC21F9472A89A5 +:10C568006392F5049760FB1FE78040592A8405C150 +:10C5780038219307D00F63ECE70028310147F946CB +:10C588000146CA85EFE06FBF2285EFF05FF00145F5 +:10C59800B640264496440649F259625AD25A425B3A +:10C5A80061618280832A0400B7070001938707F03E +:10C5B80037071200B3F7FA0013070710B28981444E +:10C5C8006388E7022EC69760FB1FE7802053B245B9 +:10C5D800AA8419CD502109CE93174660E3C907FAFA +:10C5E8004A85EFE0EFC1DC2093E707F8DCA045B708 +:10C5F800178AFB1F130A0A9003470A009307F00FD4 +:10C608001945E307F7F8E147E3E4B7F893D71500CE +:10C61800FD17171702001307E776B3E7E72003A80B +:10C628000700E30708F603AB4700E3030BF6B3CABA +:10C638000A0863850A00C947E39CF5F456201044AC +:10C648000C3008203808029821F52C084A85029BEE +:10C658001DCD183015FF3820230AA100B94723083B +:10C66800E1006314F702E24798239C33A207D98FAD +:10C678000C084A85FC81EF904F8211D914080546B1 +:10C68800D9454A85EFE0AFDA21B7BC84D5B7342065 +:10C698009147E38EF6EE03450A0038080146CA853D +:10C6A800EFE0AFADE31605EE2C202808EFE00FA869 +:10C6B80019C1238009001840B7070001938707F0C4 +:10C6C8007D8FB707120093870710E302F7ECE3802A +:10C6D80004EC3C2021BF411122C406C62E84976079 +:10C6E800FB1FE780A04109C95C2113871700631568 +:10C6F800E40093F707F85CA1B2402244410182802C +:10C70800397152D42E8A4ED69305E100AA895285F2 +:10C7180022DC4AD856D25AD05ECE06DE26DA3289D4 +:10C72800368BBA8BBE8A9760FB1FE780A03F054413 +:10C7380025C1AA8428873944EFF05FB331C903289B +:10C74800450063070804D6875E87DA864A86A68589 +:10C758004E8502982A840DED9307E00F638AFA024A +:10C76800982089476316F702DC4098239C33A20778 +:10C77800D98F0D6713072790639CE700834719003B +:10C7880003460900D285A2075D8E4E85EFF03F9CD7 +:10C79800F25022856254D2544259B259225A925ABE +:10C7A800025BF24B21618280797122D422214ECE24 +:10C7B800AA89228556CA06D626D24AD052CC5AC849 +:10C7C8005EC662C4AE8AEFF05FA705E52285EF90EA +:10C7D8004FF5594411E10144B25022852254925434 +:10C7E8000259F249624AD24A424BB24B224C456145 +:10C7F800828003C7890085476307F700EFF03F9FF2 +:10C8080003D52900E9B7AA85AA8413858900EFF022 +:10C818001FA92A8415CDFA209624D044CE2003D50A +:10C828002900E147EFF0DFEDD9472A846318F500C6 +:10C8380023A604002685EFF09F9B71BF19E126858A +:10C8480075BFDE2026852390FA00EFF05F9A69B75E +:10C8580013894400014AB94B594C3D4B8355090093 +:10C8680085CDE14763077A010357C900D94711E32A +:10C87800E14703572900835649000326890003D559 +:10C888002900EFF0FFE72A846310850323240900B9 +:10C89800050A3109E3146AFD2685EFF05F952DD06E +:10C8A800D947E31BF4F205BF65D5835709002390E8 +:10C8B800FA00F9BF011170879307E00F1306E10032 +:10C8C8000147894606CEEFF0BFE3F240056182805A +:10C8D80079714AD00359850022D426D22A84AE849D +:10C8E8004A859305210106D69760FB1FE7808023C0 +:10C8F80079C51C252AC693F707029DC7A881EFF0C2 +:10C90800BF98B245AA8711E9239024013945B2504E +:10C91800225492540259456182802A2049468297BE +:10C9280001C51E249EA0E5B7035924004A85EFF0EF +:10C93800DF9001ED41657D15EFF03F9009E51E247C +:10C9480025459EA0E9B72310250113074500814717 +:10C95800BD46122339EE3147B387E70293058400B9 +:10C9680031462EC691073E959740FB1FE780009EF3 +:10C97800B245314648089740FB1FE780209D522466 +:10C988002A2041478146DD45EFE0CFC42ACE09E59C +:10C998001E2445459EA0A5BF0C4852249740FB1F66 +:10C9A800E780C09A2A204C08EF906FD32DD15945C3 +:10C9B800B9BF85073107E39ED7F825459DB70545DB +:10C9C8008DB7797122D42A840A254AD02E899305F5 +:10C9D800E1004ECE06D626D2B2899760FB1FE780CB +:10C9E80060142DC91C25AA8493F707028DEF183807 +:10C9F8009307200511E35C20362450440E242A2096 +:10CA08000147EFF0FFCF21E11C38B9E32A20EF906E +:10CA18004FC9AA8759458DCFB25022549254025912 +:10CA2800F249456182802887EFF01F86AA870DC5E5 +:10CA38002A204946A68582975DD91E242310F9002D +:10CA48001C3899E7D1BFD947E319F5FE23800900BF +:10CA58000145D9B70545D5B73945C5B7797122D448 +:10CA68004AD04ECE52CC56CA06D626D2AA892E8A8B +:10CA7800B28A36899760FB1FE780400809440DC5D4 +:10CA88003C211307E00FAA845D44638FE700130776 +:10CA9800F00F5944639AE70063920A02D2854E85E3 +:10CAA800EF902FCC2A8421C1B2502285225492546F +:10CAB8000259F249624AD24A4561828003550A0006 +:10CAC8009305E100231701009760FB1FE7808005AD +:10CAD8002887EFF09F8FAA8505464E85EF20107DA9 +:10CAE8002A844DDDD1B79307F00FE30FF9FA938647 +:10CAF80024007946A68517F5FFFF1305E543EFD017 +:10CB0800DFF4A38124014DB7797126D24ECE52CCE1 +:10CB180056CA5AC85EC606D622D44AD062C466C26D +:10CB2800AA8A2E8BB28B368ABA899774FB1F83A484 +:10CB3800644EB9C0804483DC44000149035CA4000E +:10CB4800631499018440F5B73E2463F7570105093A +:10CB5800410433490908EDB7E36BFBFE63090A009A +:10CB68000C204840D2865E86EF801F886DD1638492 +:10CB7800090023908901A284B25022540259F24933 +:10CB8800624AD24A424BB24B224C924C268592546E +:10CB9800456182809A21B621854763E3E60429C36B +:10CBA800D42101111386550022CC1775FB1F1305DC +:10CBB80025392E84894506CE32C6EF80FF82C147CB +:10CBC80019C9542032462E200A200147EFF0DFF31E +:10CBD800A94711C18147F24062443E8505618280C0 +:10CBE8003E8582802E860A22AE21854763E1A50212 +:10CBF80019CD542241110147150606C6EFF0DFF0A2 +:10CC0800A94711C18147B2403E85410182803E85D6 +:10CC180082802E860A22AE21854763E1A50219CDBE +:10CC2800542241110147150606C6EFF0FFEDA9474A +:10CC380011C18147B2403E85410182803E85828094 +:10CC480039714ED6BE2183D9050006DE22DC26DAEC +:10CC58004AD852D456D25AD05ECE62CC66CA63E461 +:10CC680037152A8A054563830912416BAE8A231456 +:10CC7800010002C6014401497D1B894B054CC94C82 +:10CC880083D52A000147814601464E8523130100BA +:10CC9800EFF09FE7AA8471C509EC130720029306F9 +:10CCA80061005A8695455285EFE0CF922A84630E3B +:10CCB800050E38849C2025C71885630187054147E0 +:10CCC8006394E70ABE244146130524001CA0BE2431 +:10CCD800A1831CB0CC409730FB1FE7802067490434 +:10CCE8003C848507B3C707087C8463FC2707BE24F8 +:10CCF800638967078509B3C9090859B76396770730 +:10CD0800BE240946130524001CA0BE24A1831CB020 +:10CD1800CC409730FB1FE78060631104D1B722C66F +:10CD280003596100B82413052400638F7701335930 +:10CD380099032305710118A0BE244146A1831CB0A4 +:10CD4800CC401379F90F41BF2305810118A0BE24F7 +:10CD5800135929001379F90FA1831CB0CC40094657 +:10CD68004DBF3C8429459DC32C005285EF80FFE6CA +:10CD780009CD34001546D9455285EFD05FEB11C572 +:10CD880032459730FB1FE780003A0145F250625464 +:10CD9800D2544259B259225A925A025BF24B624C0F +:10CDA800D24C216182800545D5B74545C5B717776F +:10CDB800FB1F0347A728854763F7E706011122CC25 +:10CDC80026CA4AC806CE2A84AE8432899760FB1FD9 +:10CDD800E780C0D211C538219307E00F6307F70435 +:10CDE800631B090022856244F2404249A685D24469 +:10CDF80005616F90CF938A209305E1002317010006 +:10CE08009760FB1FE78000D22887EFF00FDCAA8528 +:10CE180005462285EF20904971D5F2406244D244FC +:10CE2800424905618280594582805D45FDB74111BF +:10CE380022C406C626C293F705022A84328585C312 +:10CE4800EFF0AFD8AA8505462285EF2030469547F2 +:10CE58006305F500BD476315F502214515A093F755 +:10CE68008500B6849DC3EFF04FD6AA850546228576 +:10CE7800EF20D04309C59C3481C79C2491C3014548 +:10CE8800B24022449244410182809397456063D71F +:10CE98000700EFF08FD3AA850146D1BF89890D45D8 +:10CEA800F9FDF9BF7971AE8622D42A848A229305C6 +:10CEB800E10106D636C69760FB1FE780A0C611C9F8 +:10CEC8000C2522852254B246B087B25045616FF0D6 +:10CED8001FF6B2502254054545618280411122C493 +:10CEE80006C693F705022A8432858DC3EFF0EFCD8D +:10CEF800AA8505462285EF20703B1547AA8763055A +:10CF0800E5003D47631DE502A14715A893F7850095 +:10CF180099CBEFF08FCBAA85054622852244B240F3 +:10CF280041016F20B0381397456063570700EFF051 +:10CF3800CFC9AA850146D5B7898991E18D47B24005 +:10CF480022443E85410182807971AE8622D42A84AA +:10CF58008A229305E10136C606D69760FB1FE78053 +:10CF680060BCB24609C90C2522852254B087B2504C +:10CF780045616FF0BFF6B250225405454561828085 +:10CF88003E257971416722D426D24AD04ECE06D6A4 +:10CF9800231701007D17AA84328436898149638D5D +:10CFA800E7009420D040138517001307E1003345AC +:10CFB8000508EFF07FB5AA899420D04089451775F8 +:10CFC800FB1F1305E5F7EF802FC215C5A2242285A4 +:10CFD800EFF04FBE09C57D142A9433440408630456 +:10CFE800090023108900B2502254925402594E85E8 +:10CFF800F249456182809420D04089451775FB1F0E +:10D008001305C5F3EF804FBE71F19420D0408945D8 +:10D018001775FB1F130505F2EF800FBD11C9E388D3 +:10D0280009FA3C87E39587FA03D4A9007D1475B7FC +:10D03800A22475B7397122DC26DA4AD84ED652D4E2 +:10D0480056D25AD05ECE06DEBE8B9C252A8AAE8486 +:10D05800C18BB28A36843A89C289468B9DEF942067 +:10D0680089476383F6065685EFF04FA005CD8328E0 +:10D0780005006389080222866254F250925A5A883F +:10D08800CE87025BB2595E87CA86F24B4259A685A3 +:10D098005285D254225A216182883285EFF0CF9E80 +:10D0A800AA8709ED3945F2506254D2544259B2590F +:10D0B800225A925A025BF24B216182802946A68548 +:10D0C8005285829749DDC5B7DC4003C31700982312 +:10D0D8008D6722033363E300138647901317536069 +:10D0E800E343E6F81386F78F634BE60293862780BF +:10D0F800630FD70863C8E604F977938707803E93E0 +:10D10800854733430308E3E067F62D45E39D0BF8B5 +:10D11800DC449023CC432310C90022851DA2F57757 +:10D128009387F76F3E938D473343030863E0671295 +:10D1380017170200130747BF3343E3208327030071 +:10D14800BA97828793873780E31FF7F02D45E39CD2 +:10D158000BF485472310F900DC4481459C231CA06F +:10D16800AA240505334505089760FB1FE780809BC7 +:10D17800835709004DE991072310F90011468145AD +:10D18800130514009730FB1FE780C02241A82D45E6 +:10D19800E39B0BF0DC446C0083C917009823A209B9 +:10D1A800B3E9E90011472310E9009C234E851CA030 +:10D1B800DC449C331CB09760FB1FE780A096AA84D0 +:10D1C80025C13086C1659306E100FD158329C50098 +:10D1D800EFF01FDB09ED9420D04089451775FB1F40 +:10D1E8001305C5D5EF804FA019E1FD577C8703C70C +:10D1F800090089476310F70283A54900094613050A +:10D2080044009730FB1FE7806014835709008907A3 +:10D218002310F9003C873CA0A1833CB0014561B5CF +:10D2280023173101C5BF18218907BA972310F900C0 +:10D238003E251CB03E25A1833CA010214C4113057E +:10D2480034009730FB1FE7806010C9BF2D45E39C71 +:10D258000BE42310D900DC449C231CA0DC449C3341 +:10D268001CB06DBFC8449730FB1FE780C017334719 +:10D2780005081D45E36977E36380EB02B38679010E +:10D2880063C6E60033077741B3490708CC44231047 +:10D2980039014E86DE9551B58149CDBF2D45E394C0 +:10D2A8000BE0CC445285EFE09FDD89472310F9005D +:10D2B80008A0218108B09DB72D45E3960BDE89476C +:10D2C8002310F90049BF2D45E39F0BDCDC441D47C3 +:10D2D8002310E900982318A0983318B0BA2338A06F +:10D2E800BA23218338B0D82358A0FA2358B0FE2394 +:10D2F800A1837CA025B75D71A6C2AA842A214EDE2F +:10D3080052DC56DA5AD85ED662D466D26AD06ECE6D +:10D3180086C6A2C4CAC0AE8AC16BEF80AFA1130C87 +:10D32800F5FF2A8A8149977DFB1F938DED0A977C2B +:10D33800FB1F938CACCE177BFB1F130B6BCEFD1B17 +:10D34800334D0C08DE2463F6F90083D70D0063CD56 +:10D358008701AA209775FB1F93850508EF809FA971 +:10D368002A841DCD59442DA89C449305E100B3A7F8 +:10D37800F92003C917009C2322093369F9004A855B +:10D388009750FB1FE780007AAA851DE923902A01A0 +:10D3980003A54D0009C59730FB1FE780C0D8054499 +:10D3A800B6402285264496440649F259625AD25A12 +:10D3B800425BB25B225C925C025DF24D61618280ED +:10D3C80083C8440083A60C003087AA206A88814756 +:10D3D8005A87EFF03FC62A8419C923902A0103A56A +:10D3E8004D005DDD9730FB1FE780E0D355BF83A775 +:10D3F8004D0099EFAA20514781465E86BD45EFD082 +:10D408007F9D23A2AD0009E523902A01454449BF29 +:10D4180083D70D0003570B003E9763474701330737 +:10D42800FA407D172310EB0003A54D0003560B00AF +:10D4380083A50C003E9585099730FB1FE78000F116 +:10D4480083D70D0003570B00B3C90908BA97239077 +:10D45800FD00CDBD397126DAAA842A214ED65AD0CC +:10D4680006DE22DC4AD852D456D25ECE62CC66CAD8 +:10D478006AC82E8BEF800F8CAA89D424AE248A2404 +:10D4880078001386D400EFF02FE805C5938BB9FF19 +:10D498002A84E5190149177CFB1F130C2CB8977CCB +:10D4A800FB1F938CECB733CA090863497901631BE6 +:10D4B80009109E2429452310FB009DA8035DC10087 +:10D4C80083C8440083260C00AA20528881476687B7 +:10D4D8006A86A285EFF01FB619C9AE242285930685 +:10D4E800E1006A86EFF0DFA92A8461F0C9B783D723 +:10D4F8000C009228E313F6FE83250C00C8489730E9 +:10D50800FB1FE78020F671D99779FB1F9389C9EC37 +:10D5180083A7490095EFAA204166454781467D16B5 +:10D528009D45EFD03F8B1DE19E2445452310FB0010 +:10D53800F2506254D2544259B259225A925A025B5A +:10D54800F24B624CD24C424D2161828023A2A90049 +:10D55800AE24835AA40022859306E1006A86EFF080 +:10D568003FA22A84E3830AF883A749001307190016 +:10D5780033470708CA972380570183A7490093DADE +:10D588008A0093062900BA972380570113073900A8 +:10D59800110983A74900B3C606083347070833496A +:10D5A800090811C93087B69790A383A7490021823B +:10D5B800BA9790A3DDBDB697FD5694A383A74900FB +:10D5C800BA9794A3AA209775FB1F9385E5E0135992 +:10D5D800290023902501EF80AFEB39D9594589BF40 +:10D5E800411122C406C693F705012A84328585C3F2 +:10D5F800EFE0BFDDAA8505462285EF20204B954741 +:10D608006305F500BD47631DF502214515A893F78D +:10D61800450099CBEFE07FDBAA85054622852244A9 +:10D62800B24041016F20804893F7050491C7EFE0AD +:10D63800DFD9AA850146DDB713C5F5FF05890605BB +:10D64800B240224441018280797122D426D252CC40 +:10D6580006D64AD04ECE56CA5AC82A8AAE84014443 +:10D66800DE206364F400014581A083AA04009319B5 +:10D67800140013891900B327542103CB0700B3877B +:10D688002A0188239305E100220533656501975037 +:10D69800FB1FE78020491DE123806A019C40054566 +:10D6A8003E990347090098B3B25022549254025944 +:10D6B800F249624AD24A424B456182800C25308742 +:10D6C8005285EFF0FFF101CD9C40BE9903C70900D8 +:10D6D80098A39C403E990347090098B3F1B7050405 +:10D6E80033440408B5BF0111AE8722CC2A848A23AB +:10D6F8009305E10006CE9750FB1FE780A04209C9B9 +:10D708000C25228562443087F24005616FF05FED99 +:10D71800F240624405450561828039715AD02A8BEE +:10D728002A2126DA4AD806DE22DC4ED652D456D230 +:10D738005ECE62CC66CAAE84EF70DFDF2A8983468C +:10D74800CB008355AB0003558B0078001306DB0034 +:10D75800EFF08FBB63050516C16A130AA9FFAA8BF0 +:10D7680001449779FB1F9389698B977CFB1F938CE6 +:10D77800ACC6FD1A6D19334A0A08035CC10083C59B +:10D788008B0003552B006286EFF09FE563180514A4 +:10D7980083484B0083A6090003552B005288814714 +:10D7A8001777FB1F1307C7876286DE85EFF09F8810 +:10D7B8006316051205CC83D72C001777FB1F035778 +:10D7C800278611076395E700A29763C42707977513 +:10D7D800FB1F938565C0BE2103552B003354F4020B +:10D7E80082A1EF80EFE415C1594505A003552B0030 +:10D7F800494781465686C545EFD0CFDD23A2AC0008 +:10D8080015E183D7AB0045459EA0F2506254D2542F +:10D818004259B259225A925A025BF24B624CD24C8C +:10D82800216182809767FB1F83D7877F91072391A8 +:10D83800FC0083A74C0003D7AB006286A29798A38D +:10D8480083A74C001307140033470708BA9703D778 +:10D85800AB009306E1005E85218398A38355AB0056 +:10D86800176CFB1F130CCC7BEFF08FF103A74C0058 +:10D878003C87130624003346060832971CA303A7E7 +:10D888004C0093063400A183B3C6060836971CA340 +:10D89800AA8B03A54C0011043344040803560C005A +:10D8A80083A50900229563910B029730FB1FE7803F +:10D8B800E0A983570C00A29733C4070809F88357D7 +:10D8C8008B0029459EA091B79730FB1FE78000A8E1 +:10D8D80083570C003E943344040845B583D7AB0006 +:10D8E8009EA0E31604EE83578B009EA039BF1D71DE +:10D8F800A6CACAC8AA84035985002A21A2CCCEC6C2 +:10D90800D2C4D6C2DAC05EDE62DC6AD886CE66DAF7 +:10D918006ED6AE8AEF701FC2130BD5FF0144711586 +:10D92800138CD400976BFB1F938B4B6F176AFB1FED +:10D93800130A0A6F177DFB1F130D0DAAB3490508BB +:10D94800635D6411D424AE241307E10162864A851D +:10D95800EFF08F9BAA8C630205100359A500B087CE +:10D968000C25AA2032C6EFF0BFC7631D050E83C879 +:10D97800440083A60B003246AA204E88814752876E +:10D98800E685EFF02FEB79ED15C483570A000357AE +:10D998002D0089076302F7069775FB1F9385C5A3BA +:10D9A800BE21AA20B357F4029EA1EF80EFB60DC1A5 +:10D9B800594539A8AA2041664D4781467D16A54597 +:10D9C800EFD04FC12322AD001DE123902A01454528 +:10D9D800F6406644D6444649B649264A964A064B16 +:10D9E800F25B625CD25C425DB25D256182808357E6 +:10D9F8000A0089072311FD0083570A00A29763DEF6 +:10DA0800670583274D0003D7AC00930D2400A29728 +:10DA180098A383274D0003D7AC00050433440408BA +:10DA28002183A29798A303254D0003560A0083A5D6 +:10DA38000B00B3CD0D086E959730FB1FE780009162 +:10DA480083570A00BE9DC167FD1733C40D08E3095B +:10DA5800F9EE050933490908E5B5294515FC239070 +:10DA68002A01BDB76DDC0DBF1E21411126C206C6B5 +:10DA780022C44AC0444189EB8947B24022449244B7 +:10DA880002493E85410182809420D0402A848945FC +:10DA98001765FB1F1305C54AEF701F9511C93C2078 +:10DAA8002547E51793F7F70F637FF700E147F1B7CD +:10DAB8009420D04089451765FB1F13052548EF7052 +:10DAC800BF9271FD55BF1769FB1F13096942835641 +:10DAD80009008547DDD21A203697C166E3CFE6F8FC +:10DAE80091659385257031459720FB1FE780805607 +:10DAF800AA84CD4759D1314681459730FB1FE7802D +:10DB0800608B1A208355090001468147B386F500CA +:10DB1800B3C6060863E9E70201C62E972310E90099 +:10DB280023A004002146A285138544009730FB1FDB +:10DB3800E780C0811767FB1F1307C74D1C4381CFC0 +:10DB48003E879C43EDBF50401395470085072A96B2 +:10DB580036A6054665BF04C3814705B7011106CE41 +:10DB680022CC26CA4AC809E90944F24022856244FF +:10DB7800D2444249056182802AC6AA84280036898F +:10DB88006C845085EFF05FEE2A8465F1E30F09FCA1 +:10DB9800BE24F9DB91659385557031459720FB1FAD +:10DBA800E780404BAA8715C1BA249766FB1F938666 +:10DBB800A646232005005AA198422324250101C71F +:10DBC800BA861843EDBF9CC24DB74D4479BF9767DD +:10DBD800FB1F9387374398230DE3054798A30589CF +:10DBE80009CD9766FB1F9386A6294146914517657F +:10DBF800FB1F1305A5296FF07FF601458280976703 +:10DC0800FB1FA388A72E828041677D176315E50057 +:10DC18002E856FE02FB5411106C6EFE04FAF09C55D +:10DC2800FD571EA123010500B24041018280011168 +:10DC380026CA06CE22CC4AC88547AA846392F50430 +:10DC48002685EFE08FDF31E941699305F9FF130776 +:10DC5800E10089461766FB1F1306862D0545EFE090 +:10DC6800BFEA2A847D1905C44C442685EFF0DFF904 +:10DC7800308722858146CA85EFF08FB02A84E5B7C0 +:10DC880089476396F5008545EF20000355D9F24092 +:10DC98006244D244424905618280EFE04FD56DB7B6 +:10DCA800411122C406C626C21764FB1F1304C47B95 +:10DCB80008349767FB1F23AD07349767FB1F23A71B +:10DCC80007349767FB1F23A1073459C59307200C16 +:10DCD8003305F5029165938515709764FB1F93844E +:10DCE80024331905334505089720FB1FE780803644 +:10DCF80010349307200C81453306F60288C01906B4 +:10DD08009720FB1FE780006B9C4018348145938661 +:10DD180047007D5563EAE5069306800BB306D702F4 +:10DD280001460507FD55B6979766FB1F23A0F62EFB +:10DD3800BE868EA2ACB2ACA2238206000506990666 +:10DD4800E369E6FEF95696A399463307D702BA97D0 +:10DD58001767FB1F232AF72A17E5FFFF1305E57E40 +:10DD6800EFD00F8117F5FFFF13052597EF70AFEF81 +:10DD780017E5FFFF13058573EF10306BB24022449F +:10DD88009244014541018280239EA6FE368613886F +:10DD9800460B23100600232406003106E31B06FF6A +:10DDA80085059386860BBDB7411106C622C42A8411 +:10DDB800EFC08FA1EFE02F9D1765FB1F0325C5243A +:10DDC8009767FB1F23878712EFE0CF999767FB1FA1 +:10DDD800238287122244B24017050000130565E527 +:10DDE80041016F1090649397556063DB072E79713A +:10DDF8001765FB1F0345E50F22D44AD006D626D265 +:10DE08004ECE2E899720FB1FE780804A2A8441CD79 +:10DE180018219307000B6315F70885479764FB1FC4 +:10DE28009384C41FDC849C402315010081EFEF001C +:10DE3800C0759165938535709720FB1FE780802119 +:10DE480088C031C9614681451765FB1F1305C55850 +:10DE58009720FB1FE7800056834944008947639356 +:10DE6800F90825279764FB1F938404578AA02A2062 +:10DE7800A685EF70FFD2AA869E202A201A248DEE4E +:10DE88006363F7001EA40E24EFC03FEF2285EFC0A6 +:10DE98001FC49C8491C74C2013058400EFD04FCC3D +:10DEA8002285EF606FB6B25022549254F24913158E +:10DEB800F9680259456182806363F7001EA41E2435 +:10DEC800D9459766FB1F938626510D469EA0EFC045 +:10DED8001FD68D4545DD1765FB1F1305E54FEFD0B0 +:10DEE8002FC86DB79387A9FF93F7F70F4947E36FDB +:10DEF800F7F817070200130727E4B3C7E7209C4386 +:10DF0800BA9782879305A1002285EFF0AFD4AA843F +:10DF180035DDD9476394F40A85092A2093F9F90F66 +:10DF28009766FB1F9386464B4E86D945EFC03FD078 +:10DF380031DDCE854DB79305A1002285EFF03F9BDB +:10DF4800F9B7835984006C004E859750FB1FE78012 +:10DF580060BDAA842DC12A2041669306E100554779 +:10DF68007D16AD45EFC01FE79769FB1F9389C9462A +:10DF780023A2A900AA8655CD834844000358E1008E +:10DF880030862A20A68581474E87EFF0AF8AAA847B +:10DF98006312050E2A20CE85EF70BFDDE30805EE7B +:10DFA8002A20D945CE862D46EFC07FC8AD45E30F60 +:10DFB80005EC4E852DB72315310185441830D1471E +:10DFC800E306F7EC5C209769FB1F9389E9402A2058 +:10DFD8002380F9003C85CE85238299002391F9009E +:10DFE800EF70AFEBE30405EA2A20CE860546D94553 +:10DFF800EFC0FFC3E30C05E8854565BF835984007E +:10E008006C004E859750FB1FE780C0B1AA8445D5A8 +:10E018002A2041669306E10059477D16B545EFC0B1 +:10E028007FDB9769FB1F9389293B23A2A900AA8656 +:10E0380009E51E24C5447C8551B78348440003582C +:10E04800E1003E2430862A20A6854E87EFE09FFE19 +:10E05800AA840DE12A20CE85EF701FD5E30805E2DA +:10E068002A20D945CE863546EFC07FBCB545E30F9B +:10E0780005E081B7D94703A549006397F4009720C5 +:10E08800FB1FE780400A19B59720FB1FE780A0090E +:10E098001E247C8525B79305A1002285EFF0AFA546 +:10E0A800BDB59305A1002285EFF02FE78DB51306C6 +:10E0B80091009305A1002285EFE0BF9089BD9305EB +:10E0C800A1002285EFE0DF80AA84E31405E4A3041D +:10E0D80001006DBB9305A1002285EFE0EFEC05BDC3 +:10E0E80001458280F1CE011156C2AE8A854526CA05 +:10E0F8004EC652C406CE22CC4AC82A8AB284B689F1 +:10E10800EF10903BD1471DC51767FB1F034717F357 +:10E118009767FB1F83C757F2014999E03E89BA8781 +:10E12800131749001764FB1F032444F03A94636DE6 +:10E13800F900D547F2406244D2444249B249224AE2 +:10E14800924A3E850561828036201307040191C6F4 +:10E1580005091379F90F3A84D9BFB1C89565938534 +:10E1680025C0130500029720FB1FE780A0EE48C4D6 +:10E1780069D1130600028145130909049720FB1F82 +:10E18800E7804023230004002311240123134401C2 +:10E198009C341767FB1F0327A7E9998C1CA45C44D0 +:10E1A80091849180C4AF23A08900814761B7232659 +:10E1B8000400230004002313440123045401E5B799 +:10E1C80085473E858280AA869765FB1F83C515E72C +:10E1D8001767FB1F032787E581476394F50001450F +:10E1E800828032233A8519C2E30CD6FE850793F75D +:10E1F800F70F4107DDB7AA861766FB1F034616E42B +:10E208001767FB1F032787E281476314F600014560 +:10E2180082802E233A8581C54C23E38BD5FE850762 +:10E2280093F7F70F4107D5B7AA869765FB1F83C5F4 +:10E23800C5E01767FB1F0327A7DF81476394F50035 +:10E248000145828012233A8519C2E30CD6FE850760 +:10E2580093F7F70F4107DDB7AA861768FB1F034836 +:10E26800B8DD9767FB1F83A767DC01476314E800E5 +:10E2780001458280B2233E8509CAF2236317D6007E +:10E28800D04701C63222E306B6FE05071377F70F1B +:10E29800C107E9BF411126C2444522C406C62A84E3 +:10E2A80095C0C84409C59720FB1FE780C0E7C84848 +:10E2B80009C59720FB1FE78000E726859720FB1FED +:10E2C800E78060E62285414681459720FB1FE7806D +:10E2D800600EFD571CB4B240224492444101828032 +:10E2E800011122CC2A842A2106CE2EC6EF102069DD +:10E2F800324622858145EF00505822856244F2401B +:10E3080005616FF03FF905C53E21411122C406C6DB +:10E318002A8491CBDD45EF00505922852244B24032 +:10E3280041016FF03FF7B240224441018280828070 +:10E33800411122C4B1471304C5FFB307F40226C232 +:10E348009764FB1F9384C40A06C6A697BA27631569 +:10E35800B702C84315C19307F00F6305F6001C21E7 +:10E36800639CC7009720FB1FE780E0DBB1473304BD +:10E37800F402A29423A20400B24022449244410130 +:10E388008280411122C42E8426C24946AA8481452E +:10E39800228506C69720FB1FE780C0018DCCD82CAC +:10E3A8009767FB1F83A7C7C81207BA979A231AA0B3 +:10E3B800BA23FE233AA01767FB1F0357A7C75AA023 +:10E3C8009A207AA0BA201AA4DA203AA4FA205AA4E9 +:10E3D8009A241EA87AA4B240224492444101828021 +:10E3E8002A869765FB1F83C575C51768FB1F032819 +:10E3F80028C49766FB1F83A666C30147014563933C +:10E40800E50082809C2281CFDC4691CBDC2F9207ED +:10E41800C2976316F6009307150013F5F70F050763 +:10E428001377F70FC106E1BF130600643386C502F0 +:10E4380093069500AA8517050000130505ED6F6082 +:10E448002F9D411122C406C62A840835EF600FBAF1 +:10E45800FD571CB4B240224441018280011122CCF4 +:10E468004AC84EC652C456C25AC006CE26CA2A89BF +:10E47800AE890144176AFB1F130A1ABC976AFB1F6F +:10E48800938ACABA1D4B83470A006369F404639DE3 +:10E4980009029769FB1F938979BA176AFB1F130A48 +:10E4A800EAB8930AF00F83C709006364F4061144BD +:10E4B800A14422851306F00FCA850504EFF05FE733 +:10E4C80033440408E31794FEF2406244D2444249BC +:10E4D800B249224A924A024B0561828083A40A000B +:10E4E80093174400BE949C208DC3FE20639F270190 +:10E4F80063956901AA20EF10804826854E868145DC +:10E50800EF00B0372685EFF0FFD805041374F40F39 +:10E518009DBF83240A0093174400BE949C208DC39A +:10E528009C34638F5701FE20639C27012685EFF0FA +:10E538005FF12685D145EF0050372685EFF09FD54E +:10E5480005041374F40F85B7C167F917630BF50257 +:10E55800411122C406C685472A846399F50022859D +:10E568002244B240814541016FF05FEF89476396CD +:10E57800F5008545EF1040747DD1B2402244410139 +:10E58800828082809D456FF07FED1765FB1F0355E4 +:10E5980065AA8280011106CE68876C861767FB1F03 +:10E5A800034787A985476318F70070009305E100C2 +:10E5B8000545EF509026F24005618280A947631D0A +:10E5C800F6029C319821A207D98F1EA1BC31B8212F +:10E5D800A207D98F3EA1DC31D821A207D98F5EA12D +:10E5E800FC31F821A207D98F7EA19C359825A20776 +:10E5F800D98F1EA501458280054582809147631EFB +:10E60800F6009C319821A207D98F1EA1BC31B821F0 +:10E61800A207D98F3EA10145828005458280938754 +:10E62800C5FF0D47B3C60708636ED7003147338768 +:10E63800E7029767FB1F9387A7DBBA97A8A38EA368 +:10E648000145828009458280930740203355F50AA9 +:10E6580071159767FB1F239FA79C9767FB1F238F45 +:10E66800B79C9767FB1FA38AB79C82809565411169 +:10E678001905938535C006C6334505089720FB1F45 +:10E68800E780409D01C9B240E95541011723FB1FAE +:10E698006700E3B6B240410182809767FB1FA38FF2 +:10E6A80007989767FB1F238B07989767FB1F23869D +:10E6B80007989767FB1FA38107989767FB1F238D10 +:10E6C8000796854741111767FB1FA306F79606C6ED +:10E6D80022C426C22A849767FB1F238E0794976754 +:10E6E800FB1F239907949767FB1F23A10794EF103B +:10E6F800E0311765FB1F1305A5CF130600038145FD +:10E708009767FB1F238D87929720FB1FE78080CA9E +:10E718001764FB1F1304049108209764FB1F93845C +:10E72800B4911DC99565938545C012059720FB1FB7 +:10E73800E78040921767FB1F232CA78E11CD1C3052 +:10E74800102081459CA09767FB1F2388C78E12065F +:10E758009720FB1FE78000C69C201765FB1F034519 +:10E7680025D11764FB1F1304748D3E951375F50F9F +:10E77800956508A0938555C012059720FB1FE78073 +:10E78800608D9764FB1F9384648A88C035CD102000 +:10E79800814512069720FB1FE780C0C198401420CE +:10E7A800814725077D56639BF604EF106047B14704 +:10E7B8003305F5029565938565C0334505089720AF +:10E7C800FB1FE78020899767FB1F23AFA7842A8454 +:10E7D80001CDEF10E04431463306C502814522855C +:10E7E8009720FB1FE78000BD2244B24092441705E2 +:10E7F80000001305A5D541016F102043850710A31C +:10E8080093F7F70F410745B79767FB1FA388078260 +:10E818009767FB1FA382078249BF411126C206C61C +:10E8280022C44AC0AE849397556063DB0708176912 +:10E83800FB1F1309C980034509009720FB1FE780C8 +:10E8480020A72A8421C91821930700096311F70416 +:10E858001831CD476314F7069756FB1F9386067E3B +:10E8680028219C221768FB1F0348788F1306640031 +:10E87800814501476318E50291C19CA29C2281CB86 +:10E888000345090085459740FB1FE78080172285CF +:10E89800EF509F971395F468B2402244924402497E +:10E8A800410182800E2205071377F70FAE9793F781 +:10E8B800F70F09068545B3D7070B6DBF0123C1BF05 +:10E8C80013F5150071D9EF00105319CD9757FB1F99 +:10E8D80083C7C77691CB85451755FB1F034525761A +:10E8E8009740FB1FE780E01113C5140075B7054773 +:10E8F800637EC7029C319421A207D58F1EA163991C +:10E90800E700BC31B821A207D98F3EA1014582801A +:10E918000947E39DE7FEBC31B821A207D98F3EA184 +:10E92800DC31D821A207D98F5EA1CDB705458280F9 +:10E938009147631EF6009C319821A207D98F1EA12A +:10E94800BC31B821A207D98F3EA101458280054577 +:10E9580082809147631EF6009C319821A207D98FC7 +:10E968001EA1BC31B821A207D98F3EA101458280E2 +:10E9780005458280A1476318F6029C319821A207B9 +:10E98800D98F1EA1BC31B821A207D98F3EA1DC3195 +:10E99800D821A207D98F5EA1FC31F821A207D98F0F +:10E9A8007EA1014582800545828089476319F6006A +:10E9B8009C319821A207D98F1EA101458280054567 +:10E9C80082803E2279714ECE06D622D426D24AD0F3 +:10E9D8001307F007AE896371F70209473AC47C86CA +:10E9E800300093F5F50FEF007078B250225492542E +:10E9F8000259F249456182805A22D9462A893284CD +:10EA080063F7E6007E2263F4F6006379F7002314C7 +:10EA18000100300093F5F90F4A85F1B70A2202C4C4 +:10EA2800EFF09F80AA8435C5EFF09F9B9C24636913 +:10EA3800F5001146A246CE854A85EF00F06975B704 +:10EA4800340026869305F00F4A85EFF0AFE975F19B +:10EA5800A2471A24DC479AA33A20BAA35A20DAA379 +:10EA68007A20FAA3DA209AA7DC4495C793F4F90F21 +:10EA78002286A6854A858297C167FD172A86E31BE9 +:10EA8800F5FA22459947F9451CA144A1EFF0DF9911 +:10EA9800A9BF094645B7014671BFA947631DF602DC +:10EAA8009C319821A207D98F1EA1BC31B821A20799 +:10EAB800D98F3EA1DC31D821A207D98F5EA1FC31C4 +:10EAC800F821A207D98F7EA19C359825A207D98F56 +:10EAD8001EA501458280054582809C211CA19C3190 +:10EAE8001CB1BC31B821A207D98F3EA18280232254 +:10EAF8000500D82189476304F70005458280F6217F +:10EB080001114EC606CE22CC26CA4AC80D47AE8988 +:10EB18006379D7049C4584339023A033A204D18C15 +:10EB2800B023220493874400518C639CD702930737 +:10EB3800C4FF2A89B3C707086361F70203A58900E0 +:10EB48002311990023108900F1559710FB1FE780C6 +:10EB5800006B2322A900014531A02285EFF0AFE622 +:10EB680071FD0545F2406244D2444249B24905610B +:10EB78008280797122D426D22E8406D64AD01C20CF +:10EB88001947AA84B2856390E70630202800EFF081 +:10EB98003FDA0DE92884EFF00FE30C302A890DC91C +:10EBA8002E86171700001307E7D134009D452685E8 +:10EBB800EF00D0304A8509468145C1214A85EFF0EA +:10EBC8006FED0145B250225492540259456182803A +:10EBD80089477C803C840A867C813C857C822685AA +:10EBE800EF00D058F9BF49476395E7023220280063 +:10EBF800EFF05FD861F91755FB1F1305657F5E2598 +:10EC0800E9D3183068253C00C9460146A685DD2CA5 +:10EC18004DBF5147639DE70032202800EFF01F9A4F +:10EC280055F10C3030002685EFF0BFD959BF594750 +:10EC3800639CE70432202800EFF05F9C41F52C84A8 +:10EC48002685EFF06FE115C9584534851E23B69720 +:10EC5800B3C707081EA3B5D75C47A5D79757FB1FAF +:10EC680083C7C73DB9DF85451755FB1F0345253DBC +:10EC78009740FB1FE780E0D8A9B789473EC03C848E +:10EC88000C300A867C82A1BF0C30231001000A8652 +:10EC980081BF5D71A2C456DA86C6A6C2CAC04EDE5E +:10ECA80052DCAA8A88312E8432C6EFF0CFD4B2451E +:10ECB80001ED0144B6402285264496440649F2599E +:10ECC800625AD25A6161828023020500231105002D +:10ECD800834904008547AA846399F90030202808ED +:10ECE800EFF0FFC02A8405491DA09D476391F904F0 +:10ECF80018218D47E31FF7FA302028080549EFF05F +:10ED08005FC52A8409E5054681452685BD262685F1 +:10ED1800EFF02FF388243C080147CE862286D6855B +:10ED2800D522E30909F82685EFF0CFD661B7CD479C +:10ED3800639BF90018219147E31DF7F63020280856 +:10ED4800EFF0BFC645B7D547E395F9F6034A050086 +:10ED58008947E310FAF6302028080549EFF0FFD379 +:10ED68002A8455F583570102A1EBB8841306F003F2 +:10ED7800DC44930607FCB3C60608636AD600B08570 +:10ED8800D94663F6C600B486D94563EDD500BAA363 +:10ED98000145EF00D03E054903560102D28526857C +:10EDA800AD2CB5B7AC87BAA3D2A38EA3F6A385477B +:10EDB8009CA0014A0149CDB7014AF9BF7971AA85DA +:10EDC80022D426D22221AA84280806D64AD0EFF0D7 +:10EDD8001FD2F24599E53DE185452285EFF08FFB8D +:10EDE80075A0BC8415476395E706B8858D4763F71A +:10EDF800E7046800EFF07FCE0359E100DD4763FBCD +:10EE080027018C86B70717008507100822853EC89A +:10EE1800EF00D035BC851109638527012285EFF005 +:10EE28006FF61C8672466C00858B1106228591CF81 +:10EE3800EFF03FE601C52285EFF0CFF4884449DDC5 +:10EE48009710FB1FE780202E41BFEFF09FD2DDB760 +:10EE580011476389E7001387A7FF854633470708EB +:10EE680063ECE6023147F117B387E7021757FB1F38 +:10EE780013070758BA979A2371D3A8233008A28595 +:10EE88000D204DFDB8849147E318F7F4B250225491 +:10EE980092540259456182802C082285212E59FD01 +:10EEA800F5B701114AC82A89314526CA4EC606CE89 +:10EEB80022CCAE89B2849710FB1FE780603929C144 +:10EEC8009307000A231135011EA12A842146110542 +:10EED80095C0A6859710FB1FE7804047A2854A8505 +:10EEE800EF50AFB70145F2406244D2444249B249BB +:10EEF8000561828081459710FB1FE780A04BF9BF11 +:10EF08000545D5B701114AC82A891305000226CA42 +:10EF18004EC652C456C25AC006CE22CCAE8A328BD6 +:10EF2800B6893A8ABE849710FB1FE780603221C9F0 +:10EF3800930720FA1CA1A3006501231155012302A0 +:10EF48004501A30235012A84614621059DC0A68595 +:10EF58009710FB1FE780803FA2856244F240D244AD +:10EF6800B249224A924A024B4A85424905616F508A +:10EF7800CFAE81459710FB1FE780C043F1BFF24039 +:10EF88006244D2444249B249224A924A024B05613C +:10EF980082805C45797122D406D62A84AE86A5C7BC +:10EFA800BA23F885130720066396E504FA23175653 +:10EFB800FB1F035626083357C70AB22B9E2B13771D +:10EFC800F70F918F93F7F70F01E6890793F7F70F7C +:10EFD800BA97FD17B3C7E702FC863E206E200824C7 +:10EFE800FC8401473C080146EFF0DFF1B25022549F +:10EFF80045618280D82F9757FB1F83A767031207A5 +:10F00800BA97FE23D1BF2EC6194681452808971006 +:10F01800FB1FE780203AB246C9B7797122D406D6D9 +:10F0280026D22A8491CD08242E866E202254B250EE +:10F038009254814701479306000645616FF09FECA3 +:10F04800B284280059469710FB1FE780A0366484D5 +:10F0580099E43E2048446C007C85EFF08FB26E2026 +:10F0680008243C000147930600060146EFF09FE99B +:10F07800B2502254925445618280797106D68147F4 +:10F0880099E53E2170867C845C4589EF3C002E869C +:10F098006E210825014793060006EFF0BFE6B2503F +:10F0A80045618280BE237C85D5B7411122C406C63E +:10F0B8001C2111472A846392E7022E866E210825B7 +:10F0C80081470147CD46EFF0FFE349466E202244D1 +:10F0D800B240154541016FF0AFA513F7B70F894648 +:10F0E8006317D7000146EFF05FF35146C5B70D47E8 +:10F0F8006398E7002244B240014641016FF0FFF7F0 +:10F10800B2402244410182809A21B14771173307E6 +:10F11800F7029757FB1F9387A72DBA97D84301EBA0 +:10F12800D841AAA70145D8C3BA219AA782805945D0 +:10F138008280797126D2444522D44AD006D62A84C0 +:10F148002E89B1C4C84419C59710FB1FE780A0FDDC +:10F1580023A604009E206E2008247C85BE2001473B +:10F16800930640067C869E244A867C879C483EC837 +:10F178003E207C843C00EFF0FFD8A38E240123A816 +:10F188000400B250225492540259456182802800EA +:10F19800314681459710FB1FE780C0213E206E2035 +:10F1A80008247C8401473C00930640064A86EFF019 +:10F1B8007FD5C1BF797152CC2A8A8A2126D206D638 +:10F1C80022D44AD04ECE56CAAE84EFE0DFFF6302A7 +:10F1D800051240452A89630E04107E21639B47115E +:10F1E8001E24638A0710542C975AFB1F938A4AE4FB +:10F1F80003A70A009206FD1736977A23B3C70708B4 +:10F208001EA46316F70093053006EFF09FD85C48FC +:10F21800B5EBC840834915001C21A209B3E9F900E0 +:10F22800BE2013872900631AF702F9559710FB1FB0 +:10F23800E780E0FCC8C02391340103458900268695 +:10F24800D285EFF01FC61DEDB250225492540259D8 +:10F25800F249624AD24A456182809565938515C014 +:10F268004E859710FB1FE780E0DE48C8C840231C86 +:10F278003401F9559710FB1FE78060F8BE20C8C01D +:10F28800F917BEA048482DCDB220362C1E2C3308C5 +:10F29800D60063C90707582C83A70A0095451207AB +:10F2A800BA97BE2363CA0705CC4036959710FB1F53 +:10F2B800E780C0093A2CBE20BA971A2CB3C70708B2 +:10F2C8003EAC6398E70203572900034589003000E4 +:10F2D80078845848D2857C853AC6EFF09FBC11C522 +:10F2E80048489710FB1FE78000E4232A0400232CDA +:10F2F8000400054591BF99454A85EFE07FFED5BFDB +:10F30800A545DDBF9145CDBFBE21F9C3011126CA70 +:10F3180006CE22CC1757FB1F0357C7D1AA846D45C9 +:10F328006363F70A2E84484091459710FB1FE780D6 +:10F3380000ED3E20AA861CA13E20A1831CB11E2000 +:10F348003CA11E20A1833CB13220C167F9171106E8 +:10F3580033460608639FF4022AC4314532C6971023 +:10F36800FB1FE780E0EEAA854D45B1CD930700F974 +:10F378003246A2469CA1F957BEA18947DCA1F2A159 +:10F3880094C51755FB1F034585CBEF401FED01457D +:10F398001DA881452685EF40F05C11E91757FB1F32 +:10F3A8001307C7C91C23E5D7FD171CA3CDB7894789 +:10F3B8006302F5029D476301F502C9476300F50240 +:10F3C800FD47E30DF5FCF2406244D24405618280BA +:10F3D8006D4582805145C5BF1145F5B70945E5B76B +:10F3E800011122CC4AC831441309C5FF33048902EC +:10F3F80026CA9754FB1F9384A4FF06CE26945C402C +:10F40800A9C31757FB1F034767C30DC768843EC6C8 +:10F418002A241E242C007C85EFF01FEF11C54840DC +:10F428009710FB1FE78020D0B1473309F902CA942F +:10F4380023A204000545F2406244D24442490561D2 +:10F4480082800145CDBF797126D244454ECE52CC3B +:10F45800FE20BA289759FB1F83D9C9BD06D622D4E6 +:10F468004AD056CAB3D9F90A2A8A9E282DCF998F2D +:10F478004E8463D4370133C4070889452285EFF0E9 +:10F48800EF9E2A89CD4A31C5BE202AC660857C8474 +:10F49800BE2899EB9E28130925001CA19E28A1834C +:10F4A8001CB1637434058228BE28CC4422864A8560 +:10F4B800BE959710FB1FE78060E903556A002C0092 +:10F4C800EFF09FE4AA8A15C54A859710FB1FE780CD +:10F4D80080C5B250225492540259F249624A568564 +:10F4E800D24A45618280890761B779143344040898 +:10F4F80065BFBA289E203A949A28FD17B3C7070813 +:10F50800334404089EA0A2A86376E400F9F3FD57EB +:10F51800DCBCC1B781455285EFF0BFC15DBF7971D1 +:10F5280022D44ECE56CA5AC85EC662C406D626D261 +:10F538004AD052CC9759FB1F9389E9AF03CA0900F7 +:10F54800975AFB1F938A8AAE054B5284930BF00F90 +:10F55800175CFB1F130C5CAE83A40A0093174400CE +:10F56800BE9403C90400631D6907DC44B5CBD847C2 +:10F5780025CB9A2339CB9757FB1F83C727AC99CF45 +:10F588002685EFF05FECAA8505ED05049757FB1F6C +:10F5980083C797AA6351F40223808900B25022548A +:10F5A8009254F249624AD24A424BB24B224C4A85A3 +:10F5B8000259456182809757FB1F238E07A6F9BF22 +:10F5C8002685EFF01FB70149D1BFDC3F639A770169 +:10F5D800930520062685EFF0DF9BDC44A38E070009 +:10F5E80083470C0005041374F40F6363F4000144AB +:10F5F800E31444F7C9BF4111154506C6EFF05FDEB5 +:10F6080009C50545B240410182801945EFF05FDD2B +:10F618006DF91145EFF0DFDC6DF51D45EFF05FDCAE +:10F628006DF11755FB1F034535A169DDB240410156 +:10F638006FF0FFEE9E210D47F117B3C7070863630C +:10F64800F706DC41411122C406C626C22E84A9CF82 +:10F658008545AA84952539CD2685AD2BC167F9172F +:10F66800638FF40009ED3E2099CB16201947639566 +:10F67800E6041757FB1F0357E79B63FFE7029757FB +:10F68800FB1F83C7A79BA285268599C72244B24042 +:10F69800924441016FF05FC72244B2409244410155 +:10F6A8006FF09FA6094582800945B24022449244E2 +:10F6B800410182805145D5BF6D45C5BF797126D2BC +:10F6C80052CCAA842E8A5D4589454AD04ECE56CA68 +:10F6D80006D622D4B289B68A3A89EFE03FF925C521 +:10F6E8002A84014563060900D6851305440002995A +:10F6F800935785003CB093074500230044017C855F +:10F70800954728A07C84A300340122C69757FB1F85 +:10F7180083C7C7922C00268585C7EFF0FFBEAA8451 +:10F7280011C522859710FB1FE780E09FB250225435 +:10F738000259F249624AD24A26859254456182802A +:10F74800EFF09F9CE9BFCD44D5B7797126D24AD056 +:10F7580052CC56CA2E8906D6BE8522D44ECE99479B +:10F76800B284368ABA8A6314F9062A220944EFE079 +:10F778009FA52AC625C55C4583596500BE239EA062 +:10F78800B247154723805701BAA31757FB1F130722 +:10F79800978A10239305160093F5F50F0CA3D0A3B1 +:10F7A80099E1854614A351476317E9001547BAA0A4 +:10F7B800DC479A249AA75287A686CA854E85EFF019 +:10F7C800FFEF2A8432450DC4EFE0DFAC01A8428682 +:10F7D8007400AA89EFE01F912A845DD1B250228576 +:10F7E800225492540259F249624AD24A45618280AF +:10F7F800F945EFE07FC3DDB79E211CA19E21A183BF +:10F808001CB1BE213CA1BE21A1833CB1114582801F +:10F818009E211CA19E21A1831CB1BE213CA1BE2119 +:10F82800A1833CB1DE215CA1DE21A1835CB1FE2174 +:10F838007CA1FE21A1837CB1214582809E211CA14F +:10F848009E21A1831CB1094582809E211CA19E2175 +:10F85800A1831CB1BE213CA1BE21A1833CB1DE2104 +:10F868005CA1DE21A1835CB1FE217CA1FE21A183E4 +:10F878007CB19E251CA59E25A1831CB529458280A7 +:10F888009A218546AA8718A19A21218318B19A211D +:10F898006319D700BA2138A1BA21218338B111459B +:10F8A80082800945631DA700BA211945B8A3BA216A +:10F8B8002183B8B3DA21D8A3DA212183D8B382808F +:10F8C8009E211CA19E21A1831CB1BE213CA1BE2169 +:10F8D800A1833CB111458280797126D24AD04ECE9F +:10F8E800B2842A89AE8929468145480022D406D6A1 +:10F8F80036849710FB1FE780E0AB64868DE43E20DA +:10F908007C829747FB1F83D7E7727C845C4481CF56 +:10F91800D42F1747FB1F0327A7719E2792063697F8 +:10F928003A237C8578834A8517070000130727F256 +:10F93800540013F6F90FD545EFF05FD82A8911C1A5 +:10F9480095E085471CA023020400014681452285D5 +:10F95800EFF0AFECB25022549254F2494A85025962 +:10F96800456182802285EFE0FF92EDB7B2861707E6 +:10F978000000130727F12E8685456FF03FD401114B +:10F9880068874165700001489307F00F0D47970697 +:10F9980000009386A6E699457D1506CEEFF0FFDABE +:10F9A800F24005618280B28701482E86114797068A +:10F9B8000000938626E6C9456FF03FD9B28617073F +:10F9C80000001307E7E72E86CD456FF03FCF011102 +:10F9D80022CC26CA4AC84EC606CEAA842E891754F7 +:10F9E800FB1F1304E4A39759FB1F938969A61C40C6 +:10F9F80081C7CA85268582971104E31A34FFF2402D +:10FA08006244D2444249B24905618280411122C40C +:10FA180006C626C21747FB1F130787737C2B783B44 +:10FA28001754FB1F130444A41CB4BA9793F7F70F99 +:10FA38001CA4A5CB1305C0033385A702A5658505BE +:10FA48009744FB1F9384C45F9700FB1FE780806087 +:10FA580010249307C00381453306F60288C0971027 +:10FA6800FB1FE780209514249C4001477D56634185 +:10FA7800D7022244B2409244130600038145175529 +:10FA8800FB1F1305E59941011713FB1F67008392BC +:10FA9800B2A32382070023A6070205079387C7039B +:10FAA800F9B7B2402244924441018280411122C4F4 +:10FAB80026C24AC006C62A892E84B2849730FB1F04 +:10FAC800E780E00A09EDC167F91751456313F900AA +:10FAD8000145B24022449244024941018280545572 +:10FAE8005C2195C213F727014146630BC700C18B00 +:10FAF8003D45E5D3BC2E0145E3FD87FC3145D1BF2B +:10FB08001545F5D4F9B7C18B0145E1F71545D1B7CE +:10FB180079714AD0416922D426D24ECE52CC56CAE7 +:10FB28005AC806D6AA8401449759FB1F9389C993DA +:10FB3800174AFB1F130ACA50930AC0037D19054BC5 +:10FB480083C789006364F400014525A8330754037B +:10FB580083270A00BA97BA2363162701050413748A +:10FB6800F40FF9BFC833300093856700EFB09128D0 +:10FB78001946A68528009710FB1FE780A08EE31F73 +:10FB880065FDB250225492540259F249624AD24A4F +:10FB9800424B456182804166AA869755FB1F83C503 +:10FBA800258D1747FB1F0327A74981477D166394B7 +:10FBB800F50001458280035827003A856306C8008E +:10FBC80003480700E308D8FE850793F7F70F1307E4 +:10FBD800C703F1BF411106C69730FB1FE78020F924 +:10FBE80009C54A29B240410182800145E5BF17474E +:10FBF800FB1F0327E7449756FB1F83C66687110739 +:10FC0800814701456393F6008280102301C60505EC +:10FC18001375F50F850793F7F70F1307C703DDB7BC +:10FC28001755FB1F0345C58482801747FB1F130721 +:10FC3800277F81473A86B1460C4391E5B3C7C72071 +:10FC480088C30145828085071107E397D7FE4D4594 +:10FC58008280411106C622C49730FB1FE78020F13D +:10FC68000DCD2A842A218545EFF07FD6485409C551 +:10FC78009700FB1FE780204B22851306C0038145B0 +:10FC88009700FB1FE7800073FD573EA02302040086 +:10FC98000145B2402244410182800945DDBF41113E +:10FCA80006C69730FB1FE78080EC09C54825B2409F +:10FCB800410182800145E5BFC167F9176305F50277 +:10FCC800411122C406C62E849730FB1FE78020EA24 +:10FCD800AA87014589C7DC237D8C33358000B24073 +:10FCE80022444101828005458280411122C406C612 +:10FCF8002E849730FB1FE78080E701CD5A29AA8719 +:10FD0800054563048700C2AB0145B2402244410166 +:10FD180082800545DDBF39CD01114AC8416922CC31 +:10FD280026CA4EC652C456C206CEAA840144974972 +:10FD3800FB1F93896973174AFB1F130A6A30930ADA +:10FD4800C0037D1983C78900634BF400F240624405 +:10FD5800D2444249B249224A924A05618280B30795 +:10FD6800540303250A003E953E21638327018294AC +:10FD78000504C9BF82809747FB1F83A7672CC1660C +:10FD88001746FB1F0346C66E890701450147FD1646 +:10FD980091456313E600828003D807006309D80001 +:10FDA80003C8A7006315B80005051375F50F050707 +:10FDB8001377F70F9387C703E9BF9746FB1F83A6FF +:10FDC80026281746FB1F0346A66A91060147814766 +:10FDD800631FE600858393C7F7FF0545B3C7070888 +:10FDE8006361E5023315A0283345050882808C221B +:10FDF80099C1CE36CD8F05071377F70F9386C603C3 +:10FE0800C1BF93F61700F9FE050585831375F50F35 +:10FE1800C1BF797156CAAA8A2E8526D24AD04ECE3B +:10FE280052CC5AC85EC662C406D622D4AE84328B7F +:10FE3800368CBA8B3E8AC28946899730FB1FE78089 +:10FE480000D33DED41657D159730FB1FE78020D23B +:10FE58002A84554531C81946DE8513056400A30276 +:10FE680084019700FB1FE780604E8357010326A09B +:10FE7800230264013EA8835741032300540123262B +:10FE880004025EA823064401231734012318240121 +:10FE9800EFF0BFF20AB8232A04022685232C0402B5 +:10FEA8008145EFF0DFB20145B25022549254025915 +:10FEB800F249624AD24A424BB24B224C4561828097 +:10FEC8004545DDB79746FB1F83C6865A1747FB1F74 +:10FED8000327071781476395F60041657D158280E2 +:10FEE8000E3B1306C7036394A5002A238280850767 +:10FEF80093F7F70F3287C5B741661748FB1F0348CA +:10FF080028579746FB1F83A6A61301477D169548D9 +:10FF180011436314E80001458280BE223685638E52 +:10FF2800C702CC5A9DC9BC31AC2189CD938597FDB8 +:10FF380093F5F50FE372B3FE9387D7FA93F7D70FCC +:10FF480089EF82809385F7FD93F5F50FE3F6B8FC0A +:10FF58009387D7FA93F7D70FE1D305071377F70FEE +:10FF68009386C6037DB741669745FB1F83C54550F9 +:10FF78001747FB1F0327C70C81477D162548639445 +:10FF8800F5000145828036233A85638BC600545BB1 +:10FF980081CAB4329386E6FD93F6F60FE374D8FE71 +:10FFA800850793F7F70F1307C703D1BF011122CCB9 +:10FFB8002A84494506CEEF609FD61DC12AC62285F0 +:10FFC8009730FB1FE780A0BA01CD624432460E3954 +:10FFD800F2401745FB1F0345554905616F400FCE99 +:10FFE800F24062440561828079714ECE52CCAE896E +:08FFF8002A8A930530054145FA +:020000025000AC +:1000000026D24AD056CA5AC806D622D4328B36894E +:10001000BA8A9700FB1FE7806004CD4429C92A846F +:100020008944638109044146814523126101970097 +:10003000FB1FE780A0385686CE8522859700FB1FE0 +:10004000E78040312146630F0902CA8528009700E6 +:10005000FB1FE7802030A28650002C005285EF4025 +:100060000000AA8422859700FB1FE780400CB25055 +:1000700022540259F249624AD24A424B268592548E +:1000800045618280814528009700FB1FE78000338F +:10009000D9B7411122C4405926C206C6AA8429CC28 +:1000A000085409C59700FB1FE7806008285809C558 +:1000B0009700FB1FE780A007685809C59700FB1F42 +:1000C000E780E006285C09C59700FB1FE780200653 +:1000D000685C09C59700FB1FE780600503250408DD +:1000E00009C59700FB1FE780800422859700FB1F4E +:1000F000E780E00323AA040222448E38B2409244EF +:100100001745FB1F0345F53641016F400FE54111CF +:1001100026C206C622C4AE849730FB1FE780A0A586 +:1001200031C9032345032A84630603048328C307D4 +:1001300003288307832743070327030783466300B6 +:1001400003560300834523002685EF60DFC5228523 +:10015000EFF03FF4EFF0BFE111CD2244B240924402 +:100160001745FB1F0345F530854541011733FB1F3C +:100170006700A389B2402244924441018280411128 +:1001800022C426C206C6AA842E849730FB1FE780AD +:10019000809E5C5989CF9E23639B97008547631897 +:1001A000F4002244B240924441016FF09FEEB2400D +:1001B0002244924441018280411106C622C426C2D3 +:1001C000EFF01FD429C144592A8495CCBC209DC787 +:1001D0009747FB1F83A7C7E789C7DC4399C32685D9 +:1001E0008297B8309307F002631FF7002A20224459 +:1001F000B2409244814541016FF07FF19747FB1F68 +:1002000083A7C7E4D1BFB240224492444101828017 +:10021000411126C24AC006C622C4AA842E8997303C +:10022000FB1FE780409505CD405955C41E206394BF +:10023000970A3C30130710026395E7083C20ADCFC6 +:100240007C5403270408DE2B15E313F7170019CF9E +:1002500018545A23058B19CB930720023CB0B240A7 +:1002600022449244024905454101828013F7270048 +:1002700001CB18545A23098B01C793074002F9BFD9 +:10028000918B81CB1C54DE23918B81C79307600235 +:10029000F1B79747FB1F83A7A7DBF1D3DC43E1D37B +:1002A0002285829738309307F0028145E319F7FAE7 +:1002B0002685EFF0DFE565B79747FB1F83A707D9D2 +:1002C000E9BF1307A0026398E7006304090013095C +:1002D0002003CA85F1BF631C090026859730FB1FE8 +:1002E000E780608909C55C2193E707015CA1A685C9 +:1002F0004A85EF600FBBA5B7011126CA99476C85E7 +:10030000AA842E858D4522CC4AC806CE32893684F1 +:100310007C84EFE02FB62AC61DC9AA854A850294BF +:100320002A8419E52C002685EFF04FB12A8411C5E7 +:1003300032459700FB1FE78080DF2685EFF09FC7DF +:10034000F24022856244D2444249056182804D4494 +:10035000EDB7411122C42E862E8497160000938695 +:10036000667B894506C626C24AC02A89EFF0DFF8B7 +:100370000C20AA844A85EFF09FD9B240224402495A +:1003800026859244410182809747FB1F83A707CCB3 +:1003900085CB9C4395C71D71A2CC86CE9841100891 +:1003A0002A843AC8D84185453ACA829711C54886F9 +:1003B0002A206C00EFF0FFF9F64066442561828048 +:1003C0008280AA872E8591CFFC5781CF982398A150 +:1003D000983398B1B82BB8A1982FDC4BB8B1DCC1D9 +:1003E0008280414681451703FB1F670023FD974725 +:1003F000FB1F83A7E7C581C79C4791C38287094537 +:1004000082801747FB1F032727CB1DC75843AA87A6 +:1004100005450DC703A50708411106C69306050249 +:100420001306050C93050506130505040297B24053 +:100430001375F50F410182800545828082804DC988 +:10044000357122CD2A840A2126CB52C556C35AC102 +:1004500006CF4AC94EC7DEDE2E8AB28A368B972077 +:10046000FB1FE7804071AA8431C50C182285EFF08C +:100470005FF53C20938B6400A9CBEF503FFC2A89A9 +:10048000014583C95400EF50FFF8AA840C100818E6 +:10049000EF10804A08542C10EF10A04ADE88A68B7B +:1004A0005AC04E88DE874A8714103010D685528590 +:1004B000EF200076FA406A44DA444A49BA492A4AA7 +:1004C0009A4A0A4BF65B0D618280EF503FF7AA898A +:1004D000014503C95400EF50FFF32ACE08540C1015 +:1004E000EF1080452C100818EF10A045F2484DBFC2 +:1004F0008280AA8701CD1855414511CBFC5781CB8D +:1005000028333D476375A700882F8280414582804C +:100510006DC5411122C406C626C2AA872E8409458C +:10052000E1C998337D761306F67F98A1B8234D452F +:1005300098B1B833B8A1D823B8B1D433DA21858AB9 +:10054000A2061377F7EF558FDAA1D43333470708A4 +:100550001377F7DF93D61648A606558FDAA1D43362 +:10056000334707081377F7BF93D62648AA06558F57 +:10057000DAA1D43333470708718F93D63648AE06D5 +:10058000558FDAA1F42333470708799B858A558F65 +:10059000DAA1F42333470708759B898A558FDAA1BE +:1005A000F423334707086D9B918A558FDAA1F8230E +:1005B000DE21218BDD9BD98FDEA1EF60CFF6AA84EF +:1005C0005145EF604FF6383093F4F40FAA87494550 +:1005D0006360970293F7F70F63ECE70018209147E9 +:1005E000614563E7E7001830854763E3E7000145AD +:1005F000B24022449244410182800945828015C55F +:100600002A87AE87094585C5411106C6143313856F +:100610001700194694A1930527009700FB1FE78058 +:1006200060D3B240014541018280094582808280C9 +:100630000DC9AA872E8709459DC5411106C6B42359 +:10064000903313052700A206D18E96A121469385EB +:1006500037009700FB1FE780E0CFB2400145410122 +:1006600082800945828082801DC12A87AE87094524 +:100670008DC141113E8541469305170006C697007E +:10068000FB1FE78020CDB240014541018280094532 +:1006900082808280AA87094591CB89C99C333D47D6 +:1006A00061456365F7009CA101458280828005C594 +:1006B0002A87AE87094595C141113E85130600047E +:1006C0009305170006C69700FB1FE780A0C8B2403D +:1006D0000145410182800945828082801D71A2CC42 +:1006E0002A84084586CEA6CA230601000421354780 +:1006F0009387F4FF93F7F70F6362F70A17D70100A8 +:100700001307C76EB3C7E7209C43BA9782870C08CC +:10071000EFF01FE0C947631CF50499475C862A2067 +:100720006C00EFF01FC3F6406644D644256182801A +:100730000C08EFF03FF61DED2A209720FB1FE78005 +:100740008043A14705C15825631CF7041747FB1FC9 +:10075000032707909D4719C7184309C71008A685A6 +:100760000297AA875C8629A00C08EFF07FEC69D578 +:100770001C86D5F72A20EFF0FF8375B70C08EFF041 +:100780001FE8F5B71C312308F1007DB70C08EFF026 +:100790001FF2F1BF0C08EFF03FEDD1BF9D47BDBF89 +:1007A0001747FB1F0327878A75B7411122C406C666 +:1007B00026C24AC01821930720092A84631AF71019 +:1007C0001C3139476395E70A56210967610781475C +:1007D0006398E6089744FB1F9384C487884049C107 +:1007E0000C4403C90500631D09001C218505214631 +:1007F000B9CB29059700FB1FE780C0B59C40A5C376 +:1008000049459700FB1FE78020A52A841DC1930757 +:1008100010FC1CA1A30025018C4009054146890557 +:100820009700FB1FE78000B39C40A2858833EF3020 +:100830005FA388409700FB1FE780608F9747FB1FEF +:1008400023AA078029A809059700FB1FE78080B02D +:10085000EF30B00005495DF19C40238027018547BA +:10086000B2402244924402493E85410182801307EE +:10087000E003639DE706382195476319F7024A2193 +:10088000EFF06FC29147E31CF5FC9737FB1F83A77E +:10089000E77BF1D79C47E1D772244A209305640097 +:1008A0002244B2409244024941018287A147631B1E +:1008B000F7006C204A202244B24092440249410190 +:1008C0006FF01F95930600038147E31BD7F8D5B758 +:1008D0009306000A8147E315D7F8EFF03FE008449C +:1008E0003DDD9700FB1FE780808495BF81478DBF6A +:1008F000011122CC06CE26CA4AC8094415CDAE84C1 +:1009000009449DC92A898D456800EF50BF841C8722 +:1009100026866C0093F7F70393E707044A855C8704 +:10092000EF2000262A8409E90D466C001385340067 +:100930009700FB1FE78000A2F24022856244D24468 +:100940004249056182805D714EDE86C6A2C4A6C2A0 +:10095000CAC052DC56DA5AD85ED6894955C932899E +:1009600089495DC6138B45002A8AAE8A334B0B0832 +:10097000930530055A8597F0FA1FE780206E2A8488 +:10098000CD4959C5EF507FADAA845686D28593DAFA +:10099000840013DA040193FBF40F1305440093FA67 +:1009A000FA0F137AFA0FE1809700FB1FE780C0B0BF +:1009B000A301740123015401A300440104A0EF50DA +:1009C0003FA9AA85414608089700FB1FE780C0AEF3 +:1009D000214734005A86A2850808EF20E040AA8902 +:1009E0001DE121462C0023007901A30059012301B8 +:1009F0004901A3019900130549009700FB1FE780F7 +:100A0000A0ABEF505FA6228597F0FA1FE780207217 +:100A1000B640264496440649625AD25A425BB25BBB +:100A20004E85F25961618280411126C2AA842E85C9 +:100A30004AC006C622C42E899720FB1FE780A01358 +:100A400069C5405969C45C30094793F6B70F63879D +:100A5000E60011471305E00F6395E7081E200945DE +:100A600063912709130984004146A6854A859700AA +:100A7000FB1FE780208E4146A68513058401970061 +:100A8000FB1FE780208D383085469307F7FE93F7EC +:100A9000F70F63EEF6049304C4039737FB1F83A795 +:100AA000A761C14526858DC79C4F9DC3829793063C +:100AB000C4022686CA852285EFF07F983C2081CF2C +:100AC00022852244B2409244024941016F10C00C79 +:100AD000EF504FE8E9BF3830C947E303F7FE3CB0B9 +:100AE0000145B24022449244024941018280930769 +:100AF0001005E317F7FE3C20E5D722852244B240DB +:100B00009244024941016F10600F0945D9BF494520 +:100B1000C9BF797152CC2A8A328522D44AD04ECEAE +:100B200006D626D2AE8932899720FB1FE780A00423 +:100B3000494405C9445949448DC49E206393270301 +:100B4000DC30A18B85EB0944B8309307B005631AFC +:100B5000F7002685EF106007BC20ADCB9307C005DA +:100B6000BCB0B2502285225492540259F249624AD2 +:100B7000456182801739FB1F130909548327090037 +:100B80001304E00FF9DF9C47E9DF13848401228519 +:100B90004146D28597F0FA1FE780C07B8327090082 +:100BA00083A5040822869C47938505042E850A8721 +:100BB000814682972A844146CE850A859700FB1F8D +:100BC000E780C08A49D11374F40FBDBF9307E005D5 +:100BD00041BF39C9011122CC26CA06CEAA842E846F +:100BE000094595CD0D468D05280097F0FA1FE78041 +:100BF00060761C8570002C0093F7F70393E70704D9 +:100C000026855C85EF10D07719E90D46A28568002E +:100C10009700FB1FE78080857D153335A000F240EB +:100C20006244D2440561828009458280011152C428 +:100C30002A8A32854EC656C25AC006CE22CC26CA51 +:100C40004AC82E8BB28AB6899720FB1FE780A0F294 +:100C500009ED8944F24062444249B249224A924A2B +:100C6000024B2685D244056182805C592A89C5449D +:100C7000F5F34D45EF602F8B1374F50F5145EF6081 +:100C80008F8AE38809FC03C78901E36487FC9377B3 +:100C9000F50FE3E0E7FC930530051305400897F0F6 +:100CA000FA1FE780A03B232AA9022A84CD445DD104 +:100CB00013064008814597F0FA1FE7802070A301D2 +:100CC000040023014401230264012310540123265C +:100CD000340723240402A302040063070A002285C8 +:100CE000EF00D065AA8419E18144ADB74A85EFF0E1 +:100CF0004FBA8DB7397122DC06DE26DA4AD84ED6D5 +:100D000052D456D25AD05ECE62CC66CA0944630A27 +:100D10000610BA84094463060710AA8B2E89328B09 +:100D2000368C9720FB1FE78000E5AA8A514475C9DD +:100D300093053005414597F0FA1FE7802032AA89D4 +:100D40004D4465C198309C2003CA340022075D8F52 +:100D5000BC20620AC207D98F336AFA0083A78A02CD +:100D600063E647017D5709446398E70A6307090072 +:100D700083C74A000544898BC5C3214681450A853E +:100D800097F0FA1FE7808063930C4C0093053005C1 +:100D9000B3CC0C08668597F0FA1FE780202C2A89CF +:100DA0004D443DC96286DA85110597F0FA1FE78048 +:100DB000A0701146A6854A8597F0FA1FE780C06F9C +:100DC000414693858A014E8597F0FA1FE780C06EF1 +:100DD00021478A866686CA854E85EF20E0002A84F0 +:100DE0001DE521468A85280097F0FA1FE780C06C30 +:100DF000214693854400280097F0FA1FE78000679A +:100E00008547631EF502D2855E85EF60AFAD4A85EA +:100E100097F0FA1FE780A0314E8597F0FA1FE78020 +:100E20000031F25022856254D2544259B259225AAA +:100E3000925A025BF24B624CD24C21618280054493 +:100E4000F9B7797122D406D626D24AD04ECE2E8456 +:100E50009397556063D607049734FB1F93844461CE +:100E6000A83097F0FA1FE78020452AC609CDEFF099 +:100E7000DF93B24511E5A8209307F00F631FF5003B +:100E80002E85EF30EFB81319F468B2502254925403 +:100E9000F2494A85025945618280EF308FBCE5B73F +:100EA00013F9150063070900EFF00FB1134914009F +:100EB000E9BFE1DD854421A0850493F4F40FEFE060 +:100EC000BFD6E3F4A4FCB3179028B3C90708E18F99 +:100ED000E5D74E85EFE09FFFC167FD176305F5007D +:100EE000DD45EFF0CFA23349340145B79737FB1FFB +:100EF00023A207169737FB1F23AC07149737FB1F56 +:100F000023A607149737FB1F9387C75517070000C1 +:100F10001307475E98C3170700001307472FD8C36E +:100F200017F7FFFF1307070D98C79737FB1F938726 +:100F3000A752171700001307C74698C317170000DA +:100F4000130747FFD8C3171700001307872A98C74E +:100F500082809737FB1F83C7E751A18B014789C761 +:100F60001737FB1F130707509737FB1F23A2E70E06 +:100F7000014582809737FB1F83C7C74F918B01477D +:100F800089C71737FB1F1307274D9737FB1F23AF61 +:100F9000E70A01458280011106CE2AC6EFF01FF54F +:100FA000324599459737FB1FA385A74CEFD0AFE794 +:100FB000F24017F5FFFF1305C51C05616FE07FC701 +:100FC0001C5599C321458280411122C426C22A841E +:100FD000AE84130500049305300506C64AC097F099 +:100FE000FA1FE780A00708D469C913060004A68584 +:100FF00097F0FA1FE78000367454B82A9377870079 +:10100000FDCB1C54BC23A18BFDC783270408D5E767 +:10101000930530051305001097F0FA1FE7800004D0 +:10102000AA872320A4080D45D1CB74549C30983254 +:10103000C1CF3337E0000E07936707016C545CB0F3 +:10104000B829058B19CB1854854638230D8B6316A8 +:10105000D70078201367170078A00327040809C772 +:1010600078201367870078A00547639FE70C130972 +:101070008400414681454A8597F0FA1FE780003495 +:10108000814513058401414697F0FA1FE78000333C +:101090009304C4039737FB1F83A70702C145268526 +:1010A000B5CF9C4FA5CF829783270408BDCB22855F +:1010B000EF00D0349307000549C12145B2402244D6 +:1010C0009244024941018280A1472DFBBC20918BB3 +:1010D00091E7BC2A918B99E385478DB7982094229C +:1010E00095473307F70297D701009387A7D3BA979D +:1010F000B6979C23A1B79C3081C79032E1471DFE73 +:10110000BC205D8F118B69DB9820954794223307B3 +:10111000F70297D701009387A7D2D1BFEF508F83F3 +:1011200061B722859306C4022686CA85EFF02FB1E7 +:101130002285EF00702651F1C1470A203CB081455D +:10114000EF505FE401459DBF13F7870151C7C18B85 +:10115000930484004146B1CB8905268597F0FA1F98 +:10116000E780401F814513058401414697F0FA1F2F +:10117000E780C0247C201309C403C14593E74700DE +:101180007CA09737FB1F83A727F34A8595C79C4F01 +:1011900085C78297832704089DC32285EF00102608 +:1011A00009FD930720053CB071BF8145268597F066 +:1011B000FA1FE780A0207DB7EF40DFF9E1BF93067B +:1011C000C4024A86A6852285EFF06FA72285EF002C +:1011D000B01CCD4769D9D5B5094785456388E70077 +:1011E00093F7D70F11476396E70089450A20EF5020 +:1011F0007FD97C2093E747007CA08327040881C720 +:10120000930710054DB7C54779BF3C216385072675 +:10121000397122DC06DE26DA4AD84ED652D43C3169 +:10122000130750052A846397E70803497500173AA6 +:10123000FB1F130A6AE89309C50393573900AA975D +:10124000842783270A00C1454E85B5C39C4FA5C39B +:10125000829783270A00A1C79C47B1C303250408CE +:1012600013797900B3D62441858A930505041808BB +:1012700093E606084E861305050882971375F50F49 +:1012800019ED41460C081305C40297F0FA1FE780D8 +:10129000600C2285EF005010930760053CB0F250BF +:1012A0006254D2544259B259225A21618280EF408D +:1012B0007FEA45B7130710026392E7021C55032724 +:1012C0000508DE2361EB13F7071069C778555A2B21 +:1012D0001377071061C3930770023CB03C301307CB +:1012E0007002639FE70C3C5885E393053005714518 +:1012F00097F0FA1FE78080D628D819C57146814536 +:1013000097F0FA1FE780800B2458A1C8BC2C89E70E +:101310002285EFF00F9EA8AC28588145414697F0F2 +:10132000FA1FE780A00928583D472C2D9387F5FF29 +:1013300093F7F70F6364F700EF40DFE1EF20FFFC66 +:101340003C58A1458AAB13852701EF40BFE02C58DC +:101350000A20EF003034631A0510930780023CB076 +:101360000A209720FB1FE7800081414609C57E25A2 +:1013700013D617003E966254F250D2544259B259D5 +:10138000225A1735FB1F0345D50E060685452161F8 +:101390006F304F9313F7072009CB78545A2B1377EC +:1013A000072001C7930790020DBF93F707409DD711 +:1013B0007C54DE2B93F7074095D39307B00231BFDF +:1013C000130780026397E7023C5899C78E2B0A20C7 +:1013D00013862701EF0070311C54DE2313F707201A +:1013E00029CF78545A2B1377072021CB93079002EB +:1013F000BDB713079002639BE700EF50CF84AA8527 +:101400000A20EF00902D9307A00291BF1307A002BE +:101410006390E704EF508F82AA8585470145638476 +:10142000F500814505452EC6EF40DFFE2A86B24510 +:101430000A20EF0030271C54DE2393F707409DC39A +:101440007C54DE2B93F7074091CF9307B00201BF86 +:101450001307B0026398E700EF409FFFAA850A20B8 +:10146000EF00102C9307F00215BD38309307F002FF +:10147000E318F7EE2DB58280411122C4405926C2EF +:1014800006C67C54AA84DE2B13F7071011C7185424 +:101490005A23137707100DE313F7072011C71854C9 +:1014A0005A231377072009EB93F707408DCB1C5481 +:1014B000DE2393F7074085C7930710023CB02285CF +:1014C000EFF0BFD438309307F002631EF7002244D8 +:1014D000AA20B2409244814541016FE05FC3930767 +:1014E000F0023CB0EDB7B240224492444101828008 +:1014F000397122DC405926DA4AD84ED606DE2A89CE +:10150000AE84B289630604382A211E206391A71293 +:101510003C20638A07389387E5FF93F7F70F2D4741 +:101520006363F73817D7010013074793B3C7E72062 +:101530009C43BA97828722856254F250D254425912 +:10154000B259B28521616FF0BFA74146CE85130520 +:10155000C40497F0FA1FE780E0DF2285BD2538300C +:1015600093074005631AF700930790053335A000F1 +:10157000931435003CB06DA893066005D147E3177E +:10158000D7FE9307A005DDB71309C4054A85414678 +:10159000CE8597F0FA1FE780E0DB032504085DC5E0 +:1015A0003C30130790056397E7002285452D93078C +:1015B000E005A5A81307A0056394E7087C3013D7BE +:1015C0003700229714279D8BB3D6F640858A97372C +:1015D000FB1F83A767AE93E60608B1CB9C47A1CB60 +:1015E0009305050818084A861305050482971375A4 +:1015F000F50F15ED41460C081305C40497F0FA1FCA +:10160000E780C0E67C304D47850793F7F70F7CB045 +:10161000E36DF7F885451735FB1F034595E59710F2 +:10162000FB1FE780803E930750053CB031A8A144E2 +:10163000F25062544259B2592685D25421618280B7 +:101640001307C005E383E7F68144DDB793098400FF +:101650004A86CE8522851408EFE07FDE4146930559 +:10166000C404080897F0FA1FE78040E071D18A8629 +:101670001306C403CA854E85EF10A06DA1440DE189 +:101680002285EFE01FE72A870A209737FB1F83A7F1 +:10169000E7DD814601468A858297B334A0008E0437 +:1016A00093072002C1BD0C22EFE07FA671BF383046 +:1016B000930720026319F71E7C5889EB93053005C8 +:1016C000714597F0FA1FE780609968D86858630CF5 +:1016D000051C4146CE8597F0FA1FE780A0C76458E5 +:1016E0002285EFE01FE1A8AC930730023DBF383000 +:1016F000930730026319F71A1E2268582146938512 +:1017000029001EA9490597F0FA1FE780A0C47C5460 +:10171000DE2B13F727002DC718545A23098B2DC32E +:101720009307400219B7383093074002631DF7163C +:101730003C5C81EB85455D4597F0FA1FE7800092A0 +:1017400028DC285CE30205F083C709004146CE850A +:101750007CA997F0FA1FE780E0BF93075002F1B52C +:101760003830930750026310F714285C19469385AC +:101770001900410597F0FA1FE780C0BD7C54DE2BAD +:10178000918B95CF1C54DE23918B95CB93076002F0 +:1017900069BD7C5C89EB93053005514597F0FA1FD4 +:1017A000E780C08B68DC685CE30305E84146CE85D2 +:1017B00097F0FA1FE78000BA7C5C7D5798CB4A858A +:1017C000EFF09FCB51B50325040813060004CE8526 +:1017D0001305050497F0FA1FE780C0B72285EFE0F4 +:1017E0005FC23C30130700056395E700930740058F +:1017F0002DBD13071005E38FE7E013072005E395E0 +:10180000E7E49737FB1F83A7278BE38207E29C4718 +:10181000E38F07E083250408930484001808938568 +:101820000508814626862E8582970A201008A685FF +:10183000EF502FFE9307B005CDBB38309307E0057E +:101840006313F7068325040841464E8597F0FA1F77 +:10185000E780C0C1AD44E30D05DC03250408414623 +:10186000CE8597F0FA1FE780E0AE2285EFE07FC8D3 +:101870002A872C580A209737FB1F83A727BF81464A +:1018800001468297B334A0008E0493071002DDB1A5 +:10189000AD47E39BF5DA14222E21130665000821DB +:1018A000EF40DFF255B39D4461B3AA87094541C6B5 +:1018B000D9C11CA29C211CB29C313CA2BC213CB2CF +:1018C000BC31A30206005CA2DE2193D787485CB23C +:1018D000DA211377072001C793E727005CB2DE21E6 +:1018E00093F7074089C75C3293E747005CB2DE217B +:1018F0001317B028F98F89C75C3293E787005CB271 +:1019000023030600DE21858B7CA2DA21098B01C727 +:1019100093E727007CA2DE21918B89C77C2293E785 +:1019200047007CA2DE21A18B89C77C2293E7870038 +:101930007CA20145828082802E86AA8505456FF0B3 +:10194000DFF62E86AA8509456FF03FF68DC52A87FA +:10195000094505C7411106C6AE878D4694A113857A +:1019600017004146BA8597F0FA1FE780A09EB24063 +:101970000145410182800945828082808DC52A8788 +:10198000094505C7411106C6AE87914694A1138546 +:1019900017004146BA8597F0FA1FE780A09BB24036 +:1019A0000145410182800945828082808DC52A8758 +:1019B000094505C7411106C6AE87994694A113850E +:1019C00017004146BA8597F0FA1FE780A098B24009 +:1019D0000145410182800945828082809DC92A8714 +:1019E000094515CB411106C69D4694A11623AE8725 +:1019F0001385370094B116232146A182B4A1930523 +:101A0000270097F0FA1FE780E094B24001454101BA +:101A100082800945828082808DC52A87094505C755 +:101A2000411106C6AE87A14694A113851700414611 +:101A3000BA8597F0FA1FE780E091B2400145410175 +:101A4000828009458280828085C92A8709451DC711 +:101A5000411106C6A54694A11423AE87138527001D +:101A600094B119469305170097F0FA1FE780808E0E +:101A7000B2400145410182800945828082808DC546 +:101A80002A87094505C7411106C6AE87A94694A114 +:101A9000138517004146BA8597F0FA1FE780808BBF +:101AA000B24001454101828009458280828095C50E +:101AB0002A8709450DC7411106C6AE87B14694A1D4 +:101AC0001385170013060004BA8597F0FA1FE78004 +:101AD0006088B24001454101828009458280828050 +:101AE0008DC52A87094505C7411106C6AE87B5468B +:101AF00094A1138517004146BA8597F0FA1FE78035 +:101B00006085B24001454101828009458280828022 +:101B1000AA87094581C999C7154798A19C23014502 +:101B20009CB182808280AA87094581C999C72D47C7 +:101B300098A19C2301459CB1828082800DC55D7176 +:101B40008A8586C6A2C42A84EFE0BF870A200A8657 +:101B500097060000938686DE9D45EFE0EFF9B640DC +:101B6000264461618280054582800DC55D718A854C +:101B700086C6A2C42A84EFE0DF840A200A8697067C +:101B80000000938646DC9D45EFE00FF7B640264403 +:101B900061618280054582805D71A2C49305C502A2 +:101BA0002A8441460A8586C697E0FA1FE780807A34 +:101BB0000A200A8697060000938686D9C545EFE07D +:101BC000AFF3B6402644616182805D71A2C4930583 +:101BD000C5032A8441460A8586C697E0FA1FE78036 +:101BE00060770A200A8697060000938666D9C54565 +:101BF000EFE08FF0B6402644616182809727FB1F9B +:101C000083A7874BA9CB9C435D71A2C486C62A8457 +:101C10001305E00F8DCF032504089305050C13056C +:101C20000508829783250408130600040A85938516 +:101C3000050897E0FA1FE780E0710A209706000088 +:101C4000938626E70A8693051004EFE0EFEAB64094 +:101C50002644616182801305E00F8280317122DDAC +:101C60002A840A2126DB06DF4AD94ED752D556D31D +:101C70005AD15ECF62CD66CB9710FB1FE780A0EFF5 +:101C80003C58AA8489EB93053005714597E0FA1F0B +:101C9000E780C03C28D82858CD4715C971468145F2 +:101CA00097E0FA1FE7808071032904072285EFE09F +:101CB0005F84230DA9003C201729FB1F1309C93F8E +:101CC00063820712832709008DE39307E00FFA5020 +:101CD0006A54DA544A59BA592A5A9A5A0A5BFA4B40 +:101CE0006A4CDA4C3E852961828003AC0701E30E21 +:101CF0000CFC032B0408EF406FF4AA8B0145EF4066 +:101D00006FF1DC303458130B0B029309C403130A30 +:101D1000C405938A64002A8736C0B337F00093085D +:101D200001045688B33670015286CE855A85029CCE +:101D30001C54B8232307E1029833A306E1029C2335 +:101D40002306F10283270900C9D383AB4701E38E41 +:101D50000BF6DC30B337F0003ECEEF402FEE2A8B8F +:101D60000145EF402FEB03270408F2472AC03AC28F +:101D7000B338600156887810930684004E86D28569 +:101D80008800829B7C54B82B2305E1029833A3047E +:101D9000E1029C232304F1028327090003AB4701DE +:101DA000EF40CFE92A890145EF40CFE683C85400D0 +:101DB0009C082A883EC2B3381001B337200138107E +:101DC000930684015286CE8556C08800029B0A2065 +:101DD00097060000938606D19008C545EFE0CFD165 +:101DE000AA87F5B5D43083270900032B0408B3363E +:101DF000D00083AC070136CEEF404FE4AA8B0145FB +:101E0000EF404FE13C58F246130B0B02130AC40596 +:101E10009309C403938A64002A88930801044E86B8 +:101E2000D2853EC05687B33770015A85829C1C54B8 +:101E3000930B0103B8232307E1029833A306E102C1 +:101E40009C232306F1028327090083AC4701DC3081 +:101E5000B337F0003ECEEF406FDE2A8B0145EF40F6 +:101E60006FDBF2472AC0B3386001568878109306BA +:101E700084004E86D2855EC28800829C8325040839 +:101E800041465E8597E0FA1FE780405EAD47E31B61 +:101E900005EE35BD2E8697060000938666B1C545D2 +:101EA0006FE08FC55D71B287A2C44C802A84BE8565 +:101EB00013051100194686C697E0FA1FE78080498E +:101EC0000A86228597060000938646B8A145EFE072 +:101ED000AFC2B6402644616182802E86970600001C +:101EE0009386C6B3C5456FE02FC15D71B287A2C4AA +:101EF0006C802A84BE8513052100214686C697E0A2 +:101F0000FA1FE78020450A862285970600009386FF +:101F100026ADAD45EFE04FBEB640264461618280FC +:101F20002E86970600009386C6B5C5456FE0CFBCE8 +:101F3000797122D406D626D24AD03C311307300517 +:101F40002A846389E70813075005639AE708034961 +:101F500075009307A0053CB193573900AA978427D1 +:101F60009727FB1F83A747151305C503C145A5C3C5 +:101F70009C4FB1CF829713797900B3D62441858ADB +:101F800093E606089727FB1F83A707139DCB9C4763 +:101F90008DCB0325040818081306C4039305050414 +:101FA0001305050882971375F50F01ED1305C4029B +:101FB00041460C0897E0FA1FE780C0392285EFF010 +:101FC000BFBDB25022549254025945618280EF4005 +:101FD0006F9855B7930790053CB1814665B71307D5 +:101FE00010026391E7027C5503270508DE2B6DE3A1 +:101FF00013F7170071CF18555A23058B71CB930730 +:1020000020023CB03C3013072002639AE70E3C5894 +:1020100089EB93053005714597E0FA1FE7800004CE +:1020200028D82458B5CC2285EFE0AFCCA8AC2858EE +:102030008145414697E0FA1FE780403828583D47E0 +:102040002C2D9387F5FF93F7F70F636DF702972712 +:10205000FB1F83C72707CDC341468145080897E08A +:10206000FA1FE780A03519469725FB1F9385C51FEA +:10207000080897E0FA1FE780E02D30580C082E85FD +:10208000EF303108EF206FA83C58A1458AAB13858B +:102090002701EF402F8C2C580A20EFF0BFDF01E51D +:1020A000930730023CB00A209710FB1FE780A0ACDA +:1020B000414611C172252254B2509254025917253B +:1020C000FB1F0345153B0606854545616F208FBF05 +:1020D00013F7270001CB18545A23098B01C7930724 +:1020E000400205B7918B99DF1C54DE23918BE38B63 +:1020F00007F09307600231B7EF40CF8561B7130750 +:1021000030026396E7023C5899C78E2B0A2013864B +:102110002701EFF09FDD7C54DE2B13F7270039CB2E +:1021200018545A23098B39C793074002A5BF1307D8 +:102130004002639CE700EF400FB1AA850A20EFF050 +:10214000DFD99307500239DDB9BF13075002639CF2 +:10215000E702EF40AFAEAA85054599C18545014527 +:102160002EC6EF402FAB2A86B2450A20EFF09FD350 +:102170007C54DE2B918B95C31C54DE23918B91CF25 +:102180009307600205B7130760026398E700EF400A +:102190002FACAA850A20EFF0BFD87C54032704088F +:1021A000DE2B09EF13F7071011CB18545A231377BE +:1021B000071009C7930770023CB021B513F7072039 +:1021C00009CB18545A231377072001C793079002AD +:1021D000E5B793F7074089CB1C54DE2393F70740FC +:1021E00081C79307B002C9BF9307F002F1B73971F5 +:1021F00022DC26DA4AD84ED606DE52D42E89B2899F +:10220000AA849710FB1FE7800097405941468145FB +:102210000A8597E0FA1FE780601A35C4035A040064 +:1022200063139A06383093071002631FF70283275F +:10223000040899CF2C58A1C95285EF103063054589 +:10224000F2506254D2544259B259225A21618280CA +:102250008A861306C4059305C40313058400EF00A2 +:10226000502F15E18A85C9BF2C5891CD9E29639CBA +:1022700037012146C9054A8597E0FA1FE780001F0C +:1022800019C12C5855BF26859710FB1FE780A08EDB +:102290002A8455D54C55A9C59E29639337052146F7 +:1022A000C9054A8597E0FA1FE780401C85476319F6 +:1022B000F5029727FB1F83C797C489C74C54BC3DC1 +:1022C000639AA70CBD452685EF10B0549727FB1FD6 +:1022D00083A787EB81C789451D45829701458DB747 +:1022E0001729FB1F1309F9DD834709009729FB1FF5 +:1022F000938989E6858BA9C358309727FB1F83C72D +:10230000E7DB631BF70219469725FB1F938515DB57 +:102310001305640097E0FA1FE78040158547631DA9 +:10232000F50083A7090381C791451D458297BD45E7 +:102330002685EF10104E21B71727FB1F034787D8BC +:1023400083A7090331CB03470900098B09CB81C758 +:1023500095451D4582972685EF109051CDB581C7D3 +:102360008D451D45829741468145080897E0FA1F33 +:10237000E780C00419469725FB1F9385E5EE080802 +:1023800097E0FA1FE78000FD0C082E850A86EF30E3 +:1023900041578A85268555B58545C5FF6DBF79713D +:1023A00022D4405926D24AD04ECE06D6AA892E89AA +:1023B000B284630C04622A211E20638BA70021498A +:1023C000B25022549254F2494A85025945618280A2 +:1023D0003C20639A07629387F5FF93F7F70F314725 +:1023E0006363F76217C70100130747AAB3C7E72063 +:1023F0009C43BA9782871C54F9F393053005130563 +:10240000000497E0FA1FE78060C508D44DD99820F2 +:10241000914763F4E7000D4965B798308547E3ECD1 +:10242000E7FE13060004A68597E0FA1FE78080F216 +:1024300018547C54A30204005443D04BFD75858A84 +:10244000758ED62B9385F57FF99AD18ED6ABD04B6E +:102450005443758ED62B098AF59AD18ED6ABD04BC4 +:102460005443758ED62B118AED9AD18ED6ABD04BB4 +:102470005443758ED62B218ADD9AD18ED6ABD04BA4 +:102480005443758ED62B1376061093F6F6EFD18E45 +:10249000D6ABD04B5443758ED62B1376062093F6CD +:1024A000F6DFD18ED6ABD04B5443758ED62B137638 +:1024B000064093F6F6BFD18ED6ABD44B5043F18E87 +:1024C000D22B93D6B648AE066D8ED18ED6ABBC2B32 +:1024D00003250408A18BFDC73C23A18BE5C7E310AE +:1024E00005EE930530051305001097E0FA1FE7800D +:1024F000E0B62320A40805D17C54A3020400983040 +:10250000943399E659CB5C3093E707015CB021A086 +:10251000A1475CB06DFB2285EFF02FE56C54BC2920 +:10252000858B89CB1C54BC238D8B89C77C2093E77A +:1025300017007CA08327040889C77C2093E78700C5 +:102540007CA05C3005476390E70C4146814513054C +:10255000840097E0FA1FE78060E681451305840157 +:10256000414697E0FA1FE78060E59727FB1F83A7A6 +:10257000A7B41305C403C145C1C79C4FD1C38297FB +:1025800003270408C14719C3930700050A203CB07C +:102590008145EF403F9F014925B5B82B118B11E7CD +:1025A000B820118B19E3854795B798239420954758 +:1025B0003307F70297C701009387C786BA97B69784 +:1025C0009C23A9B719C597E0FA1FE78040B62320DE +:1025D00004087C54983309C7983019C3E1473DB7C4 +:1025E000B82B118B01E7B820118B55DF9823954745 +:1025F00094203307F70297C70100938767847DBF54 +:10260000EF305FB5B5BF13F7870125C7C18B130541 +:1026100084004146A1C7890597E0FA1FE78080D36F +:10262000814513058401414697E0FA1FE78000D9F0 +:102630007C201305C403C14593E747007CA097277E +:10264000FB1F83A767A78DC39C4F99CF82978327D2 +:10265000040891CF930720053CB035BF814597E032 +:10266000FA1FE780A0D56DBFEF30DFAECDB7CD4705 +:10267000E5B7094789456386E70011476397E70097 +:1026800085450A20EF401F9021A01947E38AE7FE05 +:102690007C2093E747007CA08327040881C7930729 +:1026A00010055DBFC5474DBF4146A6851305C4044F +:1026B00097E0FA1FE78000CA3C3013076005639E6D +:1026C000E70085451725FB1F0345B5DA9700FB1F7B +:1026D000E780A0339307500541B745476384E7027D +:1026E0009306C4021306C403930584002285EFD029 +:1026F0001FD52285EFF04FCA3339A0000E09D1470C +:102700003CB07DB9C94789BF9309C4054E85414690 +:10271000A68597E0FA1FE780E0C30325040879C582 +:102720003830930690056318D7002285EFF0EFC983 +:102730009307E00515B79306A005631AD70678300E +:102740001726FB1F0326469793563700A29694261A +:10275000630B062A032886006307082A1D8BB3D65D +:10276000E640858A0A8793E60608930505084E86A3 +:1027700013050504029841468A851305C40497E0B1 +:10278000FA1FE780A0CE133915002285EFF0EFC3C2 +:102790007C30CD460A09850793F7F70F7CB0130705 +:1027A000600563F4F6001307E00538B011B993062D +:1027B000C005E312D7DE1727FB1F0327E78F63044B +:1027C0000724032887006300082493050508930461 +:1027D00084000A87814626862E8502980A200A866A +:1027E000A685EF401F839307B005BDB58A864E8648 +:1027F000930584002285EFD09FC441469305C4040D +:102800000A8597E0FA1FE78060C68547E31AF5BAA4 +:102810002285EFF08FBB93071002E30F05E245B668 +:102820003830930770026310F71E7C5889EB9305CC +:102830003005714597E0FA1FE780408268D86858F4 +:102840006303051CA685414697E0FA1FE78080B028 +:1028500064582285EFD0FFC9A8AC93078002EDBB76 +:102860003830930780026310F71A1E2268582146F9 +:10287000938524001EA9490597E0FA1FE78080ADE3 +:102880007C54DE2B13F7072035C718545A231377CF +:1028900007202DC393079002C1B3383093079002ED +:1028A0006313F7163C5C89EB930530055D4597D0C3 +:1028B000FA1FE780A07A28DC285C630605144146ED +:1028C000A68597E0FA1FE780E0A89307A00269B306 +:1028D00038309307A0026318F7121C22285C1946AF +:1028E000938514007CA9410597E0FA1FE78080A634 +:1028F0007C54DE2B93F70740A1C71C54DE2393F7CB +:1029000007409DCF9307B00281BB38309307B002D8 +:10291000631BF70E7C5C89EB93053005514597D01E +:10292000FA1FE780A07368DC685CE30A05A84146EB +:10293000A68597E0FA1FE780E0A17C5C7D5798CBE5 +:1029400003D529008145EFD08FFCB1B13830930712 +:10295000F004E3F6E7A603250408E30205A6130640 +:102960000004A6851305050497E0FA1FE780809E02 +:102970002285EFF0AFA82A892285EFD09FA83C30AE +:1029800013070005639FE70003D6E9008545172577 +:10299000FB1F034515AE0606EF10DFB293073005A7 +:1029A00085B3130710056395E7009307600589BB9E +:1029B00013072005E396E7A09307C00591B33830CD +:1029C0009307E005E31DF79E032504084146A6850D +:1029D00097E0FA1FE78000982285EFF02FA82A8958 +:1029E0009307100231BB0C22B9BF8547E395F5BAB6 +:1029F000032846003C32382214322E211022014591 +:102A0000EF30BFD149BE1D4965BA8147C146330782 +:102A1000F500B388F500182383C808003308F600D2 +:102A20008507334717012300E800E392D7FE828031 +:102A30003D4781477D583306E5001422B388E50001 +:102A40007D178606D58F2380F8001C229D83E31412 +:102A500007FF82800147C1469377F70F63FDC700E8 +:102A6000B307E5009C233388E5002300F800050741 +:102A7000E314D7FE8280918F93B717009E07E5B7C6 +:102A800001114AC84EC62E89AA89930530054145D1 +:102A900006CE22CC26CA52C4328A97D0FA1FE780CB +:102AA000E05B2A8493053005414597D0FA1FE78003 +:102AB000E05AAA845DC059C14146814597E0FA1F9A +:102AC000E780C08F4E852286A685EF209163AA8974 +:102AD00029E18307040063D90704A6852285EFF066 +:102AE0003FF54A8697B501009385853D2685EFF031 +:102AF000DFF18307090063DE0702A6854A85EFF050 +:102B00003FF3528697B501009385853B2685EFF00C +:102B1000DFEF228597D0FA1FE7806061268597D086 +:102B2000FA1FE780C0600DA0CA852285EFF05FF034 +:102B3000C9B7D2854A85EFF0BFEFE1BF228597D0B4 +:102B4000FA1FE780C05ECD49F2406244D244424958 +:102B5000224A4E85B2490561828075D5CD497DBF37 +:102B600081474146B306F5003387F500182303C8B3 +:102B7000060085073347070198A2E395C7FE8280C8 +:102B8000011126CA4EC6AE84AA89930530051305E5 +:102B900000034AC806CE22CC328997D0FA1FE780BC +:102BA000E04B2DC51306000381452A8497E0FA1FE8 +:102BB000E780C0804146CE85228597E0FA1FE780F6 +:102BC000A08FA6850D461305D40197E0FA1FE78074 +:102BD000A08E13060402930504012285EF20715292 +:102BE000AA840D469305D4024A8597E0FA1FE78030 +:102BF000A08C228597D0FA1FE7806053F240624490 +:102C00004249B2492685D24405618280CD44FDB750 +:102C10005D7152DC62D42E8A2A8C9305300513052F +:102C20000003A6C2CAC04EDE56DA5AD85ED686C6A1 +:102C3000A2C4B28B368BBA84BE8A4289C68997D029 +:102C4000FA1FE780A04163040510130600038145C5 +:102C50002A8497D0FA1FE78060764146E285228574 +:102C600097E0FA1FE7804085414681450A8597D065 +:102C7000FA1FE780A0741D46DE850A8597E0FA1FDB +:102C8000E78080831D46DA851305710097E0FA1FFF +:102C9000E780808233392001B3349000414681457A +:102CA000080823072101C48797D0FA1FE780007125 +:102CB0001946D685480897D0FA1FE780E07FCE8571 +:102CC00019461305A10197D0FA1FE780E07E13098A +:102CD00004014146D2854A8597D0FA1FE780C07D1E +:102CE0008A854A85EFF0DFE7930904024E86CA859C +:102CF0002285EF201141AA840DE94146CE854A85FF +:102D000097D0FA1FE78000650C084A85EFF05FE571 +:102D10004E86CA852285EF20D13EAA84464541468B +:102D2000CE8597D0FA1FE7802079228597D0FA1FA9 +:102D3000E780E03FB64026440649F259625AD25A2B +:102D4000425BB25B225C2685964461618280CD4401 +:102D5000D5B701114EC652C4AE892A8A93053005F3 +:102D60001305000326CA4AC806CE22CCB28436898F +:102D700097D0FA1FE780802E35C52A84D285414638 +:102D800097D0FA1FE7804073130A0401CE852146CD +:102D9000528597D0FA1FE7802072A6852146130539 +:102DA000840197D0FA1FE7802071930904024E86B0 +:102DB000D2852285EF20F134AA844146CE854A850A +:102DC00097D0FA1FE780406F228597D0FA1FE780DF +:102DD0000036F24062444249B249224A2685D24432 +:102DE00005618280CD44F5B739715ECE62CCAA8B85 +:102DF0002E8C41459305300506DE4ED652D45AD06E +:102E000066CA6AC8B289B68C3A8D22DC26DA4AD8FC +:102E100056D297D0FA1FE78060242A8A930530059E +:102E2000414597D0FA1FE78060232A8B63040A1478 +:102E300015E5528597D0FA1FE780602F4D44F25078 +:102E400022856254D2544259B259225A925A025B94 +:102E5000F24B624CD24C424D216182802A86D2854F +:102E60005E85EFF0FFC12A8401CD528597D0FA1F0D +:102E7000E780E02B5A8597D0FA1FE780402BC1B737 +:102E800093053005414597D0FA1FE780201DAA849D +:102E900093053005414597D0FA1FE780201CAA8A88 +:102EA000F9C409ED268597D0FA1FE780402852859E +:102EB00097D0FA1FE780A0274D446DBF1389F90012 +:102EC0001359494013F6F900630509047D19334984 +:102ED000090829E2131549005686D2856295EFF05C +:102EE000DFB241468145268597D0FA1FE780004D25 +:102EF0008149B3C7090863F827051DC4268597D003 +:102F0000FA1FE780C022568597D0FA1FE78020225B +:102F1000A9BF0149131549008A856295EFF09FB357 +:102F20005686DA850A8565BF939549000A86E2953B +:102F30002685EFF09FAD26868A855E85EF20711C81 +:102F40002A8485097DB75DF80A86D6852685EFF047 +:102F5000DFAB26868A855E85EF20B11A2A846A86D1 +:102F6000A685668597D0FA1FE780C03E41BF21D174 +:102F70004D4451BFE30405EC81B739715ECEAA8B95 +:102F8000594526DA4AD84ED652D456D25AD062CCB7 +:102F900006DE22DC034C01042E8BB28A368A3AC646 +:102FA000BE894289C68497D0FA1FE780E02A25CDE2 +:102FB0009167938717E91EA185473CA12A84B245F2 +:102FC0002105638A0B04930710033CB01946814521 +:102FD00097D0FA1FE780803E23035401A3034401E6 +:102FE000230A8401231264012317340123182401C6 +:102FF00026A8A2856254F250D2544259B259225A9C +:10300000925A025BF24B624C1715FB1F0345454673 +:1030100021616F100FA5A3010400194697D0FA1F74 +:10302000E780403355BFF2506254D2544259B259EE +:10303000225A925A025BF24B624C2161828001114A +:103040005AC02A8B1305100326CA4AC84EC652C45A +:1030500056C206CE22CCAE8A328AB684BA893E895E +:1030600097D0FA1FE780401F25C1B7470201938719 +:1030700017E91CC1930785002A8423046501A30472 +:1030800055015CC1D2851946290597D0FA1FE78002 +:10309000602CCE8504A813051401268697D0FA1F4C +:1030A000E780402B23082403A2856244F240D244E7 +:1030B0004249B249224A924A024B1715FB1F034567 +:1030C000253B05616F10EF99F2406244D2444249BA +:1030D000B249224A924A024B05618280011152C4D0 +:1030E0002A8A314522CC26CA4AC84EC606CEAE89A7 +:1030F0003289B6843A8497D0FA1FE780E0150DCD67 +:103100009167938717E91EA18D473CA1A301450153 +:1031100022A56244231235012313250106A5F2409E +:10312000D2444249B249224AAA851715FB1F0345DA +:10313000253405616F10EF92F2406244D244424957 +:10314000B249224A0561828001114EC6AA893945D9 +:1031500026CA4AC806CE22CC2E89B28497D0FA1F3E +:10316000E780800F21C19167938727E91EA19147CE +:10317000A3013501231225012A843CA1A685190546 +:10318000214697D0FA1FE780E01CA2856244F240F6 +:10319000D2444249B2491715FB1F0345652D05610D +:1031A0006F102F8CF2406244D2444249B24905610B +:1031B000828001114AC82A89414526CA06CE22CCFE +:1031C0002EC6B28497D0FA1FE780000915CD91670B +:1031D000B245938727E91EA195472A84231225012A +:1031E0003CA12146190597D0FA1FE780A016A285B9 +:1031F00066A46244F240D24442491715FB1F0345BE +:10320000552705616F10EF85F2406244D244424970 +:1032100005618280011152C42A8A394522CC26CA0E +:103220004AC84EC606CEAE893289B6843A8497D053 +:10323000FA1FE78060020DCD9167938717E91EA101 +:1032400099473CA142A5624423124501231335014D +:103250002314250126A5F240D2444249B249224A0C +:10326000AA851715FB1F0345A52005616F007FFF89 +:10327000F2406244D2444249B249224A0561828006 +:10328000797122D426D24AD04ECE52CC06D62A8488 +:103290002E8AB2893689BA849700FB1FE780A08DF9 +:1032A00011CD1306F00F2C002285231441012315A4 +:1032B0003101231621016487EFC06FEFB250225411 +:1032C00092540259F249624A45618280011152C406 +:1032D0002A8A394522CC26CA4AC84EC606CEAE89AD +:1032E0003289B6843A8497D0FA1FE780E0F60DCD94 +:1032F0009167938717E91EA19D473CA142A56244AF +:1033000023124501231335012314250126A5F2407C +:10331000D2444249B249224AAA851715FB1F0345E8 +:10332000251505616F00FFF3F2406244D244424923 +:10333000B249224A056182805D715AD82A8B1305F1 +:103340004002A2C4A6C2CAC04EDE56DA62D466D219 +:103350006AD06ECE86C652DC5ED6835D0105035D03 +:103360004105834C8105034CC105835A0106AE8992 +:103370003289B6843AC43EC042C2468497D0FA1F0E +:10338000E78080ED69C911672A8A130717E91AA136 +:1033900093074A011307900238A13EC6A2452105B2 +:1033A000930BEA0063020B0813071003A301EA0062 +:1033B0001946814597D0FA1FE7804000194681459C +:1033C0005E8597D0FA1FE78060FF19468145130597 +:1033D0004A0197D0FA1FE78060FE23032A01A30366 +:1033E0009A0023009A03A3008A03231D8A0026441F +:1033F00023123A01231EBA01231FAA0123115A03E3 +:10340000B64096440649F259D25A425BB25B225CFE +:10341000925C025DF24DD285625A1715FB1F03457F +:10342000250561616F00FFE3A3010A00194697D0EB +:10343000FA1FE78020F282455E85194697D0FA1F71 +:10344000E78040F19245194613054A0197D0FA1FCB +:10345000E78040F059B7B640264496440649F259F1 +:10346000625AD25A425BB25B225C925C025DF24DC0 +:103470006161828079714ECEAA89614552CC56CA6B +:103480005AC85EC662C406D622D426D24AD02E8A34 +:10349000B28A368BBA8B3E8C97D0FA1FE780C0DB9E +:1034A00035CDB7470B01938717E91CC193078500FA +:1034B0002A845CC19304A50001493C306364F9028D +:1034C000A2852254B25092540259F249624AD24A19 +:1034D000424BB24B224C1715FB1F034565F9456162 +:1034E0006F003FD82685238F34FFA38F44FF1946F2 +:1034F000D68597D0FA1FE780E0E513857400238313 +:1035000064011946DE85050997D0FA1FE78080E43B +:103510001379F90FA3868401C10445B7B250225430 +:1035200092540259F249624AD24A424BB24B224C5F +:103530004561828001114EC6AA89214522CC26CA46 +:103540004AC806CE2E89B284368497D0FA1FE78007 +:10355000A0D015C99167938717E91EA1B1473CA177 +:10356000A301350164A160B1624423122501F24038 +:10357000D2444249B249AA851715FB1F034545EFBE +:1035800005616F001FCEF2406244D2444249B24905 +:10359000056182805D71A6C28344C10552DC3E8A0A +:1035A00086575ED6AA8B13854402CAC04EDE56DA11 +:1035B0005AD862D466D26AD06ECE86C6A2C4035DE3 +:1035C0000105834C4105664C2EC6B28D368BBA8AF6 +:1035D000C28946893EC497D0FA1FE780E0C751C927 +:1035E000B245B7470D01938717E91CC193078500C2 +:1035F0002A845CC1230475010CB51946EE852905A2 +:1036000097D0FA1FE78000D5E28523086401A3085C +:10361000540123094401A3093401230A2401231B73 +:10362000A401230C940113059401194697D0FA1FA5 +:10363000E78040D2A2451305440264BC08D0268628 +:1036400097D0FA1FE78000D1A2852644B640964461 +:103650000649F259625AD25A425BB25B225C925CD2 +:10366000025DF24D1715FB1F034585E061616F0098 +:103670005FBFB640264496440649F259625AD25A70 +:10368000425BB25B225C925C025DF24D61618280C2 +:10369000411126C2AA84614506C622C497D0FA1FEA +:1036A000E78080BB3DC99167938717E91EA1930707 +:1036B00040023CA19C302A84938564003CB1BC301C +:1036C000B8202105A207D98F231EF5FEDC2019465C +:1036D000230FF5FEDC30A30FF5FE97D0FA1FE7802D +:1036E00060C7DC24A2851715FB1F034565D87CA4A1 +:1036F000FC24D834A207D98F1EA8FC343CA89C28EF +:103700003CB89C385CA8BC285CB8BC387CA8224477 +:10371000B240924441016F00DFB4B240224492446F +:103720004101828039714ED652D45ECE66CA06DE21 +:1037300022DC26DA4AD856D25AD062CCAE8B971CFD +:10374000FB1F938CECD286453A8A03C77C00BE8966 +:103750002EC69307F00F6300F7082A8C13854801E3 +:10376000328BB68A4289C68497D0FA1FE780C0AEF2 +:103770002A8435C19307000D1EA1D9473CA123120D +:10378000850123037501A303650123045501231556 +:10379000450123063501A306250164A5B2458DC860 +:1037A000510508C8268697D0FA1FE780A0BAA285DF +:1037B000625403C57C00F250D2544259B259225A85 +:1037C000925A025BF24B624CD24C21616F007FA98E +:1037D00023280500E9BFF2506254D2544259B2592D +:1037E000225A925A025BF24B624CD24C2161828087 +:1037F000411122C42A84194506C697D0FA1FE780D2 +:10380000A0A515C19167938717E91EA1C1473CA1E7 +:1038100042A12244B240AA851715FB1F034545C5A6 +:1038200041016F001FA4B240224441018280411136 +:103830000D4506C697D0FA1FE78000A215C1930771 +:1038400010F91CA19307E0031CB1C5473CA1B2408D +:10385000AA851715FB1F0345A5C141016F007FA075 +:10386000B2404101828001114EC6AA89294522CC6D +:1038700026CA4AC806CE2E89B284368497D0FA1F4B +:10388000E780809D15C99167938717E91EA1C947F5 +:103890003CA1A30135012302250100A5624466A1D4 +:1038A000F240D2444249B249AA851715FB1F03458D +:1038B00025BC05616F00FF9AF2406244D244424940 +:1038C000B2490561828001114EC6AA892D4526CADA +:1038D0004AC806CE22CC2E89B28497D0FA1FE78040 +:1038E000A09731C1930710F91CA19307E0031CB105 +:1038F000CD47A3013501230225012A843CA1A685D9 +:103900001505194697D0FA1FE780C0A4A285624426 +:10391000F240D2444249B2491715FB1F034545B551 +:1039200005616F001F94F2406244D2444249B2499B +:1039300005618280411126C2AA84214522C406C69F +:103940002E8497D0FA1FE780209105C59167938751 +:1039500017E91EA1D1473CA160A1224446A1B24073 +:103960009244AA851715FB1F034585B041016F00DE +:103970005F8FB2402244924441018280411126C2AD +:10398000AA84714506C622C497D0FA1FE780C08C6E +:1039900059C19167938717E91EA1930760023CA163 +:1039A0009C302A849385A4003CB1BC30B8203105FA +:1039B000A207D98F231CF5FEDC30D8201946A207B8 +:1039C000D98F231DF5FEFC30F820A207D98F231EC6 +:1039D000F5FE9C24230FF5FE9C34A30FF5FE97D033 +:1039E000FA1FE78020979C28A2851715FB1F034527 +:1039F00025A83CA8BC289838A207D98F5EA8BC3857 +:103A0000A30B0400230C04007CA82244B24092447F +:103A100041016F001F85B2402244924441018280DF +:103A2000411126C206C622C49714FB1F938444A4E6 +:103A3000F8309307F00F630FF7022A84194597D0E7 +:103A4000FA1FE7806081AA8515C5930700FD1CA1B8 +:103A500093077002A30005003CA11C303CB13C2040 +:103A60005CA13C305CB12244E830B2409244410158 +:103A70006F002FFFB2402244924441018280971789 +:103A8000FB1F83C7579F1307F00FAA856396E700B4 +:103A900017C3FA1F6700A3691307000D1AA11307C4 +:103AA000800238A13E856F00CFFB411126C2AA8457 +:103AB000714506C622C497C0FA1FE780E07959C550 +:103AC0009167938717E91EA1930760023CA19C3080 +:103AD0002A849385A4003CB1BC30B8203105A207EC +:103AE000D98F231CF5FEDC30D8201946A207D98FC8 +:103AF000231DF5FEFC30F820A207D98F231EF5FE0A +:103B00009C24230FF5FE9C34A30FF5FE97D0FA1FDB +:103B1000E78040849C28A2851715FB1F0345459527 +:103B20003CA8BC289838A207D98F5EA8BC387CA8CE +:103B3000DC287CB8DC381CACFC281CBCFC383CAC59 +:103B40002244B240924441016F00AFF1B24022449E +:103B500092444101828041114AC02A89214522C4F0 +:103B600026C206C6AE84328497C0FA1FE780C06EB4 +:103B700005C5930710591EA12301250160A1224408 +:103B800046A1B24092440249AA851715FB1F03457E +:103B9000258E41016F00EFECB2402244924402496D +:103BA00041018280411126C2AA84214522C44AC013 +:103BB00006C62E89328497C0FA1FE780E0691DC5CA +:103BC0009167938727E91EA1A1473CA164A160B139 +:103BD000224423122501B24092440249AA851715B6 +:103BE000FB1F0345158941016F00AFE7B240224436 +:103BF0009244024941018280011152C42A8A31450E +:103C000022CC26CA4AC84EC606CEAE893289B684B0 +:103C10003A8497C0FA1FE78020641DC9856793879F +:103C200017C91EA1230145012303250122A56244D2 +:103C30002312350106A5F240D2444249B249224A34 +:103C4000AA851715FB1F0345A58205616F006FE16B +:103C5000F2406244D2444249B249224A056182801C +:103C600001114AC82A891385C50026CA06CE22CC6E +:103C7000AE8432C697C0FA1FE780005E0DCD85671F +:103C8000B245938717E924A1231225012A841EA196 +:103C9000310508C4268697C0FA1FE780A06BA2856D +:103CA0006244F240D24442491705FB1F0345457C5C +:103CB00005616F000FDBF2406244D2444249056166 +:103CC0008280411126C2AA84194522C406C62E84C8 +:103CD00097C0FA1FE780405805C58567938717F995 +:103CE0001EA1854724A13CB142A12244B240924486 +:103CF000AA851705FB1F0345A57741016F006FD605 +:103D0000B2402244924441018280411122C42A845B +:103D10000D4506C697C0FA1FE78000540DC19307F2 +:103D200010F91CA1E9471CB120A12244B240AA8588 +:103D30001705FB1F0345C57341016F008FD2B240C9 +:103D4000224441018280411122C42A84214526C295 +:103D500006C6AE8497C0FA1FE78000500DC5916774 +:103D6000938727E91EA1930700033CA160A1224489 +:103D700046A1B2409244AA851705FB1F0345756F03 +:103D800041016F000FCEB240224492444101828033 +:103D90004111214522C426C206C6AE84328497C092 +:103DA000FA1FE780604B05C58567938707391EA119 +:103DB00085473CA162A1224446A1B2409244AA8513 +:103DC0001705FB1F0345252841016F008FC9B2402D +:103DD0002244924441018280011122CC26CA4EC65F +:103DE00052C456C25AC01304F5FF06CE4AC8094B46 +:103DF000AA89AE84328AB68A33440408639A65136A +:103E0000170BFB1F130BFB2383470B00D9CB03C9F5 +:103E100016009C2222093369F9009707FB1F83D7FC +:103E2000A734F5176353F91E9307C6FF6316F90805 +:103E3000314597C0FA1FE78020422A842DC1231301 +:103E40004501930700F9150AA1651EA1231135014B +:103E500044A18505528597C0FA1FE780202008C439 +:103E600015C983470B009385EAFF13562A00FD17F7 +:103E70002300FB0097C0FA1FE78080501C44A285F6 +:103E80001705FB1F0345251C89071CC4EF006FBDE8 +:103E9000814401A8228597C0FA1FE7804029930436 +:103EA000F00FF24062444249B249224A924A024B20 +:103EB0002685D244056182809307D6FFE341F9FE4F +:103EC000B1473304F4029704FB1F938464169C40AB +:103ED000A297B82719C7884309C597C0FA1FE7807A +:103EE0000025A16513054900850583A90400334514 +:103EF000050897C0FA1FE78060169C40A29923A08E +:103F0000A900A297884341DD0547B8A783470B0066 +:103F10005286D685FD172300FB0097C0FA1FE78065 +:103F200060439C40A29723934701239227018DB7BA +:103F30008547E396F5F6B1473304F4021709FB1FF2 +:103F40001309090F83270900A297FA23884341CF59 +:103F5000DE23B306C700910763C7D7083A95D68515 +:103F600097C0FA1FE780003F83270900A297FA2332 +:103F70003306EA0033460608F2A3DE239107E3196D +:103F8000F6F0314597C0FA1FE780002DAA850DCDC8 +:103F9000930700F91EA1832709002302650123115D +:103FA0003501A297FA239C437AA11CC51705FB1F74 +:103FB00003456509EF00EFAA83270900A297239321 +:103FC000070023850700E9B583270900A2978843E6 +:103FD00065D597C0FA1FE780801583270900A2974F +:103FE00023A00700D1BF11C997C0FA1FE780201492 +:103FF00083270900A29723A0070083270900A2971F +:10400000239307002385070069BD914459BD6F20A4 +:10401000D14B6F20114D6F30A1196F30813D6F2052 +:10402000714F411106C6EF20114CB24001454101CC +:1040300082806F20B1506F2091526F2051556F20B8 +:1040400031576F20F1586F20B15A6F20715C6F208B +:10405000315E6F20F15F6F2091616F2051631C32E0 +:104060001822A20733E6E7006F2091646F20D16524 +:104070006F2031686F30410E6F30C1106F30011604 +:104080006F30E1176F30C1196F30A11B6F30811D88 +:104090006F30611F411122C60344C10226C483440C +:1040A000010303430101030E4101834E8101034FCC +:1040B000C101834F0102834241028343810222D620 +:1040C000324426D8A2441ED416D27ED07ACE76CCE4 +:1040D00072CA1AC841016F30013F6F30C11C6F3086 +:1040E000A11E6F3081206F3061226F3021256F302B +:1040F00001276F30E1286F30C12A6F30A12C6F503B +:10410000E1486F5061596F50C15B6F30412F6F3084 +:10411000213152212E210A216F30A13250212E212E +:104120000A216F30C1341825762152212C210A2111 +:104130006F30A1366F500162411122C406C67E2144 +:104140005821543130212C312A840A21EF50710F2B +:1041500001E90C240A202244B24041016F50511B56 +:10416000B2402244410182806F50F1146F50B1443B +:1041700085672A871388A7C7691533450508636EC5 +:10418000A802138807C80145636AB80263E8E5021C +:104190001307301F6364C702138766FF938767C7DF +:1041A0003347070863ECE700050633460608B30506 +:1041B000B6028E0633A5D50082800145828017089D +:1041C000FB1F1308A82B034518001707FB1F032725 +:1041D00027ED9706FB1F83A6A6EA1375F507D1C541 +:1041E000904283274800137606F8498E90C213F652 +:1041F000150001CA93F5050341466385C5069387FB +:1042000087C14165130505A0B3D5A7025057B7086C +:1042100010FEFD181366260050D770433376160142 +:10422000B3F7A702FD89D2054D8E70C31306A00F08 +:10423000B705FCFFAA07B3D7C70270436D8EBA0754 +:10424000B983D18F7CC383470800898B99CB98426F +:104250009C421377F7071367070493F707F8D98F82 +:104260009CC282809387078369BF5C57F59B5CD7AC +:104270009C4293F707F8C98F9CC2F1B7411106C65B +:104280009707FB1F238307229700FB1FE780209DD2 +:10429000B2400145410182801707FB1F1307874584 +:1042A0005C47411106C6858B8DC7EFF03FFD970730 +:1042B000FB1F23A707449707FB1F23A50744970766 +:1042C000FB1F83A7A71C014681450545B24041015C +:1042D00082879707FB1F83A7A7DBFC5399EFEFF0BB +:1042E000FFF99707FB1F23AF07409707FB1F83A723 +:1042F000E719014681454545D1BF584F8D476317A2 +:10430000F70085471707FB1F2300F7C6B24041019E +:104310008280411126C29704FB1F9384A43D9C44D4 +:104320004AC006C622C4858B1709FB1F130949D64C +:10433000FDC39707FB1F23A3073C1707FB1F03279A +:1043400027D65C571704FB1F13044413082093D788 +:104350001748A9CB504093760503C145930786C102 +:104360006394B60093070683C165938505A033D691 +:10437000B7027443370810FE7D18B3F60601B3F791 +:10438000B7027D8A5206D18E74C39306A00F3706FA +:10439000FCFFAA07B3D7D7027443F18EBA07B983DB +:1043A000D58F7CC34C2C118501460D8997E0FA1FEF +:1043B000E7802021170500001305450A97C0FA1F62 +:1043C000E780E04283270900D44713971649D8C7EE +:1043D0000F100000832709003707020098C7130752 +:1043E000000898C81707FB1F032787C918431357EE +:1043F000774819CF1307E018F8D3D4C71C480146F3 +:10440000814505452244B2409244024941018287D8 +:104410001307E01AD5B783270900FC5399EFEFF093 +:10442000FFE59707FB1F23AF072C9707FB1F83A709 +:10443000E705014681454545F1B7D84C8D476317DF +:10444000F70085471707FB1F2300F7B2B24022444D +:104450009244024941018280011122CC1704FB1FC2 +:10446000130444295C4406CE26CA858BD9C7EFF0D5 +:10447000FFE0485C9707FB1F23A407289305F10082 +:1044800001469707FB1F23AF072697E0FA1FE78037 +:10449000E0E29704FB1F938464009315456099ED57 +:1044A0005C5C9306F00F9823630AD7009C30638707 +:1044B000D700998FB337F000939517009707FB1F2C +:1044C0009387C7FB0387070063450700585C948701 +:1044D00014A39C4B505C93F5F50F09458297DC249F +:1044E000898B99C78828854597E0FA1FE780E051B6 +:1044F000F2406244D244056182809707FB1F83A784 +:1045000027B9FC539DE3EFF07FD76244F240D244D9 +:104510009707FB1F23A8071E9707FB1F83A707F713 +:1045200001468145494505618287584C8D47E31115 +:10453000F7FC85471707FB1F2308F7A255BF01119A +:1045400006CE22CC26CA4AC84EC652C456C217044A +:10455000FB1F1304A4F2AE84328AAA8997F0FA1FD3 +:10456000E780E06F08308145970AFB1F938A4AB2C3 +:10457000EFF0FFC408204C2C014611850D8997E00F +:10458000FA1FE780000418449707FB1F83A747AF73 +:1045900083A60A0098C758441709FB1F130949B09E +:1045A00037063300D8C3D8421704FB1F1304841402 +:1045B000CE8513671700D8C298431377F7CF98C3F7 +:1045C00098431377F7CF1367072098C30327090091 +:1045D000085C1C470905D18F1CC7B70703009387E8 +:1045E0008715BCCA230F45FFA30F95FE268697C0EB +:1045F000FA1FE78020D6032709005C4393F7F7EF03 +:104600005CC301000100032709005C4393E7071026 +:104610005CC31707FB1F130767E87C2793E7470076 +:104620007CA783A70A0037070200F24023A20706EF +:1046300098C7232804001307000418C0232A040085 +:10464000232204006244054798C3D2444249B24938 +:10465000224A924A05618280797126D24AD05AC88C +:1046600006D622D44ECE52CC56CA5EC69307000858 +:104670002A8BAE8432896319F602BD491704FB1FE9 +:104680001304C4DF97C0FA1FE780404AE3FCA9FE89 +:104690003C2C9607C117E3E7A7FE9707FB1F83A7EC +:1046A000279F13078007F8D3970AFB1F938A4A9D19 +:1046B00003A40A00170AFB1F130A4ADC81455C5455 +:1046C0009709FB1F9389C99CF19B93E717005CD462 +:1046D00003451A00EFF0BFAE1C409706FB1F938600 +:1046E000269C3706330093F7F7CF1CC01C4093F786 +:1046F000F7CF93E707201CC09C429847518F03A631 +:10470000090098C7370703001307872538CA03270E +:104710008A0018C40327CA0058C0D8431377F7EF9C +:10472000D8C30100010098421704FB1F130404D7EB +:10473000970BFB1F938B0BFC5C4393E707105CC349 +:1047400003A709005C4393E717005CC37C2405477B +:1047500093E727007CA49307F9FF93F7F70F6364AF +:10476000F70C03A58B032686DA852300250104B107 +:10477000090597C0FA1FE780E0BD03A78B0383A755 +:104780000900B8DF1707FB1F232A07F61707FB1FCF +:10479000232807F61707FB1F232607F60D4723AE2E +:1047A000EB0013070008631DE908F8537DFF97F736 +:1047B000FA1F83A7E77B82971844636CE506198D7F +:1047C00003A78B030D81B70780009387F72F62053E +:1047D0005D8D08C303450A00A68511850D8997E004 +:1047E000FA1FE78000B883A70A00984313177729B8 +:1047F00098C3D857719BD8D79707FB1F23A607F0FC +:104800009707FB1F23AA07EE83A70900094798C350 +:10481000B250225492540259F249624AD24A424B4F +:10482000B24B4561828093070008E318F9F489448C +:10483000A9B79707FB1F83A7A797998F3E9549B7FD +:1048400003450A00A68511850D8997E0FA1FE780C8 +:1048500040B183A70A001715000013056557984358 +:104860001317772998C3D857719BD8D797C0FA1FC9 +:10487000E780E0F79707FB1F238807C29707FB1F16 +:1048800023A407E89707FB1F23A807E683A70900CF +:10489000094798C35C24FDDFA5BF39714ED606DEFB +:1048A00022DC26DA4AD852D456D25AD05ECE62CC16 +:1048B00097F9FA1F83C9496B639B09122A8435450E +:1048C00097F0FA1FE78040421306710099451305DF +:1048D0000010EF004FDF9704FB1F9384E48771E91A +:1048E00019469305F00F1305710097C0FA1FE78072 +:1048F00000C08547630FF50A89475C801946970514 +:10490000FB1F938505871305110097C0FA1FE780E9 +:1049100060A4C8289704FB1F938444B817FAFA1FB1 +:10492000130A0A65EF108122F8349707FB1F93875B +:10493000E7B4C88698B3D848856A216B98C783279F +:104940000A0017F9FA1F1309A974970BFB1F938B21 +:104950006BDA829788CC938AEAEB170CFB1F130C57 +:10496000AC84130B0BD01080B9450A85EFF0DFCE75 +:10497000D82489476314F70618808547631EF7001B +:104980001706FB1F130646B3994513050010EF00E9 +:10499000AFF90545EF000FF4F2506254D25442597A +:1049A000225A925A025BF24B624C4E85B2592161F7 +:1049B00082808547194697F5FA1F9385857B1305F5 +:1049C00011005C8097C0FA1FE780C0981946979540 +:1049D00001009385E54F1305710005BF19C87D14CB +:1049E0001374F40F19E49707FB1F238F07AA854957 +:1049F00065B714800947832709006399E604D847FF +:104A000093161749D4C70F10000083270900B70673 +:104A1000020094C79306000823A8DB009306E06E0B +:104A2000F4D3D8C7032709007C53FDFF83270A006E +:104A30008297984C636EE502198DE376ABF2EF0036 +:104A4000EFA983270A00829788CC31BFD8479316F5 +:104A50001749D4C70F10000083270900B7060200CA +:104A600094C79306000823A8DB0023A2570755BF6D +:104A700083278C00998F3E95C9B701113000994565 +:104A80001305001006CEEF000FC40DED1946930577 +:104A9000F00F280097C0FA1FE78060A585476303E1 +:104AA000F50219469305F00F280097C0FA1FE7801A +:104AB000E0903000994513050010EF00EFE6054542 +:104AC000EF004FE1F240056182801C49638B0712C1 +:104AD000411126C206C622C41C21AA8493F70704EA +:104AE00081C75C410945CDCF1306000281451705FA +:104AF000FB1F1305A59897C0FA1FE780208C1306AB +:104B00000002A6851705FB1F1305459797C0FA1FDE +:104B1000E78040841704FB1F130444961C3C81E784 +:104B2000930780021CBC3C2C99E3A1473CAC3C3C65 +:104B300099E3C5473CBC5C2C99E3ED575CAC5C3C0D +:104B400099E3ED575CBC9C2093F7070499CB5C403C +:104B500037B724001307F7E96369F7049307500296 +:104B60001CB09704FB1F93846493C84009C597B099 +:104B7000FA1FE780C05B9707FB1F23A307921C2047 +:104B8000858B91CB483C93059004090597B0FA1F9B +:104B9000E780C04CC8C01C300145FCB41C44DCC8D4 +:104BA000B240224492444101828037072500930697 +:104BB000F74863EDF6003767DBFF13070793BA97F3 +:104BC0001307007DB3D7E702FD1759BF1307074945 +:104BD0006395E7009307600261B737D72500130795 +:104BE000F777636DF7003767DBFF13070793BA9713 +:104BF0001307007DB3D7E702F9179DB7930770023B +:104C000085B705458280797126D29704FB1F93846E +:104C1000E4869C4406D622D44AD04ECE52CC56CA04 +:104C20005AC85EC662C466C26AC0638A0722170A8F +:104C3000FB1F130A2AAC0327CA0195472A8C094592 +:104C40006301F71E0D452E84B28BB68C97F0FA1FC8 +:104C5000E78080099707FB1F83C70785898B970922 +:104C6000FB1F9389A98385C73D4997C0FA1FE78039 +:104C7000E0EBE37CA9FEBC2C9607C117E3E7A7FE97 +:104C800097F7FA1F83A7C74013078007F8D317FBCE +:104C9000FA1F130BEB3E03290B008327C902F19B7C +:104CA00093E717002326F90283C7C90003CD040048 +:104CB000898B89E793770D046393071888308145C2 +:104CC000EFF0EFCF8327090017F6FA1F1306463DD2 +:104CD000B706330093F7F7CF2320F90083270900A5 +:104CE00097FAFA1F938ACA3A137D1D0093F7F7CFFC +:104CF00093E707202320F90018421C47D58F83A68D +:104D00000A001CC7B707030093878725BCCA9C44C9 +:104D10002324F900DC442322F900DC42F99BB3E7A9 +:104D2000A701DCC25C4393F7F7EF5CC3010001000D +:104D300018425C4393E707105CC383C7E9002380F4 +:104D40007901A380990193E727002387F900630B7A +:104D50000C0E03258A032286E2852300750100B12B +:104D6000090597B0FA1FE780E05E83278A0303A74F +:104D70000A003CDF9707FB1F23A207989707FB1F3A +:104D800023A007989707FB1F23AE07968D47232E76 +:104D9000FA0083C7C900898B85CB7C53FDFF97F749 +:104DA000FA1F83A7E71C829703A789006362E50ABD +:104DB000198D83278A0309041374F40F80B30D81BE +:104DC000A2972380070088B38820A28511850D89CA +:104DD00097D0FA1FE780E0589C2017F5FFFF1305D6 +:104DE0008553858B89E717F5FFFF1305254B97C082 +:104DF000FA1FE780C09F83270B00014598431317D4 +:104E0000772998C3D857719BD8D79707FB1F23AD35 +:104E1000078E9707FB1F23A1078E83A70A00094768 +:104E200098C3B250225492540259F249624AD24A6B +:104E3000424BB24B224C924C024D45618280C8409D +:104E40008945BDBD83278A03014423A0770131BF73 +:104E500097F7FA1F83A7C735998F3E9599BF0545E8 +:104E6000C9B77971B7E700E026D28443370720003D +:104E700006D622D44AD04ECE52CC56CA5AC85EC6A6 +:104E800062C466C26AC0F98C23A0E7180F10000044 +:104E900017F4FA1F1304845E184415E323A0971037 +:104EA0000545B250225492540259F249624AD24AFC +:104EB000424BB24B224C924C024D4561828017F717 +:104EC000FA1F0327276A09C723A097100945D1BFF6 +:104ED0001C20328BB68A858BADC317F9FA1F1309D4 +:104EE000E95B832749002A8AAE8999EB483C930500 +:104EF0009004090597B0FA1FE78040162322A90005 +:104F00008327490099E7B7E700E023A097100D45F4 +:104F100049BF0347290098A383274900630D0A046A +:104F2000638B0904A3803701032549004E86D2858F +:104F3000090597B0FA1FE780E04197F9FA1F9389B6 +:104F4000697B03A7C9019547630AF70083C7090274 +:104F500019476385E7000D476392E70283C719028B +:104F600089E7930780102390F902B7E700E023A0B8 +:104F7000971001453DB7A3800700C1B717FAFA1F84 +:104F8000130A0A1183270A0098430D8B0DC717F7E0 +:104F9000FA1F230B07FCB84B1377F78FB8CB984356 +:104FA0001367870098C39C4393D7374889C701008C +:104FB000010001000100832C0A00B7070200834BA7 +:104FC000040023A20C0623A4FC0097F7FA1F23ABCE +:104FD000077297F7FA1F83C7274D918B17F9FA1FAE +:104FE0001309C94B89E793F70B04639E0710083038 +:104FF0008145EFF0CF9C17FDFA1F130D6D080327B5 +:105000000D0017FCFA1F130CAC09B70633001C4344 +:1050100013D54B40014693F7F7CF1CC31C430D89B2 +:1050200093F7F7CF93E707201CC303270C001C4717 +:10503000D58F1CC74C2CB70703009387871523A86F +:10504000FC0497D0FA1FE780C05783270D0018444F +:10505000142098C75844858AD8C303270A005C43A4 +:10506000F99BD58F5CC3832749003CDF03270C00E5 +:105070005C4393F7F7EF5CC30100010003270C00CA +:105080005C4393E707105CC38347E900A301690110 +:105090002301590193E747002307F9009307000410 +:1050A00023A0F90097F7FA1F23AE0764A14723AEA8 +:1050B000F90097F7FA1F83A7A70C81CB03450901D5 +:1050C00013060064C145EFF0EEBF83270A00170501 +:1050D00000001305C52ADC43858B89E7170500000E +:1050E0001305650397B0FA1FE780607097F7FA1F02 +:1050F00023AC076097F7FA1F23A0076083270A00F5 +:10510000054798C39DB593F50B03484093E51500FB +:10511000CDB5797122D417F4FA1F1304A45D5C4055 +:1051200006D626D24AD04ECE858B638D071E97F7C2 +:10513000FA1F23A3075C8329C403A3070100EFF030 +:10514000EF9397F7FA1F83C72736918B97F4FA1FCF +:105150009384C43417F9FA1F13094932638A071676 +:1051600083C71900CE979823930700086318F700A8 +:105170008347090093E787002300F9005C580D4737 +:10518000637DF70EF1175CD85C58984463EDE70E29 +:105190003387E74083C71900D424CE979C33939676 +:1051A00046608E0763D0061063F5E70E1D8F9306E9 +:1051B000000263E8E60058586360F70EB307F74053 +:1051C0009CC48828894597E0FA1FE78000848345BE +:1051D000090093F78500E5CB97F6FA1F83A646EB07 +:1051E0009307800CFCD21C5C1307F00F37063300CA +:1051F00098C397F7FA1F23A3075097F7FA1F23A125 +:10520000075097F7FA1F23AF074E97F7FA1F23AD02 +:10521000074E17F7FA1F0327A7E61C4391858D89D0 +:1052200093F7F7CF1CC31C43014593F7F7CF93E7E0 +:1052300007201CC317F7FA1F032787E61C47D18FE7 +:105240001CC7B707030093878725BCCA054697D0BC +:10525000FA1FE780A01C83470900B420B030DD9B13 +:10526000814501452300F900EFF0BFBFB250225441 +:1052700092540259F2494561828017F7FA1F0327B9 +:1052800027F3BA9701B797F6FA1F83A666F2B69787 +:1052900001B73387E74021BF97F6FA1F83A646F18F +:1052A000369729BF5858636AF700B307F7409CC484 +:1052B000DC2493E70708DCA429B797F6FA1F83A636 +:1052C00026EF3697DDB783C71900F917A380F900D9 +:1052D000485C01469305F10097D0FA1FE78000FE75 +:1052E0005C5C9306F00F98236303D702BC306380A5 +:1052F000D702630EF70093652500939545608327D9 +:105300000901505C93F5F50F0D45829785B783072A +:10531000090093154560E3C407FEF5F19C872380DF +:10532000F900F1BF97F7FA1F83A787D6FC5385EFE3 +:10533000EFE0DFF497F7FA1F83A707E589C78545F4 +:10534000130510088297225497F7FA1F93870715C1 +:10535000B25092540259F249B423B0338145014509 +:1053600045616FF01FB0584CA147E311F7F0854736 +:1053700017F7FA1F230AF7BED5BD797126D297F425 +:10538000FA1F938424379C4006D622D44AD04ECEAE +:1053900052CC858B6387072083A9C40301469305FC +:1053A000F1004E85A307010097F7FA1F23A40734E5 +:1053B00097D0FA1FE78080F017F4FA1F1304040E49 +:1053C00017F9FA1F1309890B131A456063130A149E +:1053D0003C309306F00F6389D700D85C182363052F +:1053E000D700094A6317F7128307090063C507004E +:1053F0009C872380F9005C24918BADCFDC580D474E +:105400006377F714F117DCD8DC58184463E7E71426 +:105410003387E74083C719005424CE979C33939673 +:1054200046608E0763DA061463FFE7121D8F93064A +:10543000000263E8E600D858636AF712B307F74042 +:105440001CC40828894597D0FA1FE780005C83C7F1 +:1054500019003387F900142313070008639FE6122D +:105460009C5C1307F00F98C38347090093E78700FC +:105470002300F90017F7FA1F032787C25C5793D759 +:105480001748A1C383274900C165938505A033D67A +:10549000B7027443370510FE7D15E98EB3F7B702E6 +:1054A0007D8A5206D18E74C39306A00F3706FCFF87 +:1054B000AA07B3D7D7027443F18EBA07B983D58F41 +:1054C0007CC35C40034509008C3311850D8997D05E +:1054D000FA1FE78000E9170500001305E51297B0F1 +:1054E000FA1FE780C03097F7FA1F83A767B9984380 +:1054F0001317772998C3D857719BD8D783470900CA +:10550000A18B9DEB83270901D05C81450D458297D6 +:1055100025A097E0FA1FE7808074D05C83270901FB +:105520000D459375FA0F829748403420303009CDED +:105530000C310905EFF0FF92B250225492540259F7 +:10554000F249624A4561828081450145E5B717F716 +:10555000FA1F0327E7C5BA9775B597F6FA1F83A612 +:1055600026C5B69775B53387E740D1B597F6FA1FCC +:1055700083A606C43697D9B5D858636AF700B3072F +:10558000F7401CC45C2493E707085CA45DBD97F654 +:10559000FA1F83A6E6C13697DDB7F917A380F90095 +:1055A000D1BD97F7FA1F83A7A7AEFC53B1E3EFE095 +:1055B000FFCC97F7FA1F83A727BD89C78945130535 +:1055C0001008829797F7FA1F938747EDC843B033C7 +:1055D000B42301CD0C3109052254B2509254025922 +:1055E000F249624A45616FF0DF8781450145EDB7B9 +:1055F000D84CA147E312F7F4854717F7FA1F2305A4 +:10560000F7961DBF411197F7FA1F83A7E70E06C64D +:1056100022C4858B95C797F7FA1F23AF070C17F4A1 +:10562000FA1F1304A4E5EFE07FC51C20A18B9DEFBA +:105630001C480146814511452244B2404101828700 +:1056400097F7FA1F83A7C7A4FC53B9E797F7FA1F88 +:1056500023AA070A17F4FA1F130444E21C20A18BA3 +:1056600091E71C48014681455145F9B797F7FA1F64 +:105670009387C7E2C843B033B42301CD0C31090589 +:10568000EFF02FFE1C20DD9B1CA0B2402244410104 +:10569000828081450145EDB7854717F7FA1F23053D +:1056A000F78CE5B74111B7E700E022C48043370724 +:1056B000200006C626C2798C23A0E7180F10000030 +:1056C00097F4FA1F938484DDC84097F7FA1F238E5E +:1056D00007DC09C597B0FA1FE78060A597F7FA1FA6 +:1056E00023A007DC97F7FA1F9387C70003C71702A9 +:1056F00011CB83C6070221476396E60017F7FA1F0E +:10570000A30A0700D44F19476386E600D44F1D470C +:105710006398E600D84F2380E7020547A380E7029D +:1057200097E0FA1FE780A0538828C14597F7FA1F32 +:10573000238C0782EFF06E82B7E700E0B24023A02F +:10574000871022449244014541018280411106C6DE +:1057500022C426C217F4FA1F130444D4EFF09FF4B6 +:105760007C3497F4FA1F938464D108289CB05C4879 +:10577000A1459CC4EFE07EFE08289145EFE0FEFDC8 +:105780005C24898B8DC79C48014681451305200206 +:1057900082972244B240924497F7FA1F238607D09B +:1057A00089450145410117B3FA1F6700A3055C2431 +:1057B000918BE5D39C480146814513054002C9BF42 +:1057C00097F7FA1F83C747CE898B638A07127971CF +:1057D00026D297F4FA1F9384E4F1D84C22D406D64B +:1057E0004AD04ECE52CC56CA5AC85EC68D4717F420 +:1057F000FA1F1304A4CA9145630BF70A3545056ADD +:1058000097E0FA1FE780404EA14997FAFA1F938A62 +:10581000EAC6130A2AF91306000881450145EFE09C +:10582000BFE317F9FA1F1309A986370B0200930B80 +:1058300000089C44858B85E783270900FC53F5FB12 +:10584000FD19E39A09FC2254B25092540259F249CC +:10585000624AD24A424BB24B45616FF03FEF03C5FB +:105860000A0001469305F00F11850D8997F7FA1F7D +:1058700023A607E897D0FA1FE780A0D483C50A00C3 +:105880001306F00F054591858D8997D0FA1FE780A3 +:10589000E0B8DC44858B9DCB97F7FA1F23A207E67F +:1058A000EFE0DF9D5C24854593E707085CA40828AA +:1058B0002254B25092540259F249624AD24A424B9F +:1058C000B24B456117D3FA1F67002314EFE01F9B0B +:1058D00083270900D84793161749D4C70F10000033 +:1058E0008327090023A4670123A8740123A2470783 +:1058F000D8C783270900FC53A1D30100DDBF8280F4 +:10590000411122C406C693F715002E84A1C797F74C +:10591000FA1F83C767B9898B17F7FA1F130707B8F0 +:1059200085C75C27082B130600059397476063DA49 +:10593000070017F6FA1F0346F6B59307000A330669 +:10594000F6029145EFE01EB813451400B240224420 +:105950004101828093F72500B9C397F7FA1F83C7E7 +:10596000A7B4918B17F7FA1F130747B395C75C27A6 +:10597000082B1306000A9397476063DC070017F6AD +:10598000FA1F034636B19307000A3306F6021306E0 +:105990008602A145EFE01EB31345240045BF93F7EF +:1059A000450091C7EFF0DFE11345440045B793F799 +:1059B000850081CF97F7FA1F83C707AF918B99C3F3 +:1059C000EFF0DFD81345840051B713F505013DDD35 +:1059D000EFF0CEB017F7FA1F032787D3A147631B59 +:1059E000F70013060064C14517F5FA1F034505AC1F +:1059F000EFE05EAD1345040191BF597186D6A2D484 +:105A0000A6D2CAD0CECED2CCD6CADAC8DEC6E2C4BE +:105A1000E6C2EAC06EDE97F7FA1F83A7A7B46391C8 +:105A2000073297F4FA1F938464A59C44638A073075 +:105A300017F4FA1F130404CC584C9947094A630F12 +:105A4000F728584C9D47630BF728584CA14763072C +:105A5000F728034B140263130B282A8997F9FA1FBE +:105A60009389C9A397E0FA1FE780601F97F7FA1F91 +:105A7000238C07A283C7F900194697E5FA1F93857F +:105A8000456F9CB083A749011305510197EAFA1F9E +:105A9000938A0A4E9CC49547230AF10097B0FA1FD7 +:105AA000E780408BEF002159935785002301F102D5 +:105AB00093570501A301F1029C3CA300A10261815F +:105AC000A302F102BE2C2302A10217E5FA1F03452F +:105AD000E5692313F102DC483ED49C2C2306F10235 +:105AE000EF00C106A306A1026304090283A70A000E +:105AF0008297131759003A952A8997E7FA1F83A7C7 +:105B0000276B6364E5006364F5003309F540054BDA +:105B100083A70A0097EBFA1F938B8B5717EDFA1F99 +:105B2000130D8D68829783A70B00185C23ACA90026 +:105B30001546B8DFE9454808EFE07FA0A1679387E5 +:105B400007D03EC617ECFA1F130C8C53854C5C48EB +:105B5000858B638A071C97F7FA1F23A707BA97C09C +:105B6000FA1FE78000731C40858B6389071A832D19 +:105B7000C4031C5C0146930531016E853EC4A30934 +:105B8000010017F7FA1F232707B697C0FA1FE7800F +:105B9000E0722A8A6314051803C72D006310971753 +:105BA00022576301071AA247194693853D001385C2 +:105BB000970097A0FA1FE780E0798820E9451185D2 +:105BC0000D8997C0FA1FE780C07983270C0098439E +:105BD0001317772998C3D857719BD8D797C0FA1F46 +:105BE000E780206B5C40858B638A071297F7FA1F6A +:105BF00023A407B097F7FA1F23AE07AE930D400614 +:105C00000100FD1DE39E0DFE83A70B00D4471397F3 +:105C10001649D8C70F10000083A70B0037070200F2 +:105C200098C71307000818C803270C001843135718 +:105C30007748630907141307E018F8D3D4C797C04F +:105C4000FA1FE78000651C40858BE9CB97F7FA1FA8 +:105C500023A207AA5C5C982399476311F70C83A7DA +:105C60000A00829723A4A900EFF0DFA397F7FA1F99 +:105C7000A386078097F7FA1FA388078202578347F6 +:105C8000410289452183E207D98F9CC417B5FA1FC9 +:105C90001305A5E091472386F90097B0FA1FE78026 +:105CA00060B6D04897F7FA1FA38207808147014763 +:105CB00093060002B355B64989C5850793F7F70FD8 +:105CC0000547850DE398DDFE19C3A388F90003C5D8 +:105CD0000901894597D0FA1FE78020D3B650265492 +:105CE00096540659F649D64A464BB64B264C964C26 +:105CF000064DF25D5285664A656182808947631F61 +:105D0000F700194697E5FA1F9385A54613859D0070 +:105D100097A0FA1FE7808075E30495E91546E945E9 +:105D20004808EFE0DF8183A70A0063040B0682972F +:105D3000636D250533052541634D0504EFF09F96FE +:105D4000054A69BF97E0FA1FE78060F1034531011A +:105D5000FD5797E5FA1F9385A5735915DCC81315F0 +:105D60004560EFF0307817E5FA1F13056572EF30E4 +:105D7000504F914763F5A700DC483ED445B783C731 +:105D8000F900E5BF1307E01A4DBD3305A940E3470D +:105D900005FA83A70A00829703A789016363E502D6 +:105DA000198DB247E3F5A7DAEFE05EF383A70A00A7 +:105DB000829723ACA9001546E9454808EFE02FF883 +:105DC00071B383278D00998F3E95E1BF01114EC6B7 +:105DD00097F9FA1F9389099283A7890052C406CEC6 +:105DE00022CC26CA4AC8858B17EAFA1F130A0A6B07 +:105DF0006380071897E4FA1F93844468882001465B +:105E00009305000211850D8997F7FA1F23A8078EC5 +:105E100097C0FA1FE780E07A8C201306F00F054543 +:105E200091858D8997C0FA1FE780405F83A7C900DD +:105E3000858B638F071203A5C90397F7FA1F23A168 +:105E4000078C0146814597F7FA1F23A9078A97C057 +:105E5000FA1FE780A0462A89631C051003A4C90322 +:105E6000954738206316F710194697E5FA1F938572 +:105E700045301305940097A0FA1FE780205F8547FF +:105E80006318F50E83A789031947014698C38C2030 +:105E90000D4591858D8997C0FA1FE780205883A70B +:105EA0008900858BF1C797F7FA1F23A9078497E725 +:105EB000FA1F83A7E70B82972324AA00EFF08FFE37 +:105EC00097E7FA1FA38C075A97E7FA1FA38E075C80 +:105ED0003C388146130600029CBC5C28BCAC5C3894 +:105EE000BCBC1C287834A207D98F183842075D8FB4 +:105EF0003C28E207D98F9CC47C387828A207D98F28 +:105F0000182C42075D8F1C3CE207D98FDCC8014783 +:105F1000B3D5E74889C505091379F90F8546050703 +:105F2000E318C7FEB9E297E7FA1FA38107583C2C94 +:105F30009305340019469CAC17E5FA1F1305C557A5 +:105F400089472306FA0097A0FA1FE780A040624421 +:105F500003450A01F240D2444249B249224A13069B +:105F60008002914505616FE0EED5A3082A01C1B713 +:105F700097E0FA1FE780A0CEFD572306FA00F24013 +:105F80006244D2444249B249224A0561828097E77D +:105F9000FA1F83C7675197E6FA1F93862650D5E309 +:105FA000DC2617E7FA1F1307674DC9E71C2393F791 +:105FB0000704C9C3B7B624009386F6E993075002D5 +:105FC00063F4A602B70725009386F74863EBA602A1 +:105FD000B767DBFF93870793AA979306007DB3D734 +:105FE000D702FD1793F7F70F1CB348C38D4717E788 +:105FF000FA1F0327E77189456303F70085456FE0C2 +:106000000F9C9386074993076002E30FD5FCB7D630 +:1060100025009386F67793077002E3E7A6FCB7673F +:10602000DBFF93870793AA979306007DB3D7D70228 +:10603000F9174DBF9377F50F1CB3FCB681453E852C +:106040007DBF8280411122C406C617E4FA1F0344B3 +:10605000A4451DE897E7FA1F93874742942393F6D8 +:1060600006049DC28CB3C8C317E7FA1F0327476A0B +:106070008D4789456303F7008545EFE04F94B240B3 +:1060800022852244410182800544D5BF411106C6C4 +:1060900022C4EF00411813064002814517E5FA1F9C +:1060A0001305C53F97A0FA1FE780403117E4FA1F98 +:1060B0001304C43EFD57170500001305A5841CC03A +:1060C000EFE0FE9708A8B2402244014541018280DA +:1060D000814717860100130626E09306F00F330769 +:1060E000F60018236364E5006313D700828003D8A9 +:1060F0000500636407019AA18280850793F7F70F73 +:10610000F9BF411122C406C626C22E84939755605A +:1061100063DA070297A0FA1FE780001AAA8401CD6C +:106120001C21054793C707086364F700EFA0400CE4 +:106130002685EFE0EE8D1315F468B24022449244B8 +:106140004101828093F7850099CB97E7FA1F83A7D7 +:10615000E73EBC5B91C3829713458400F9BF93F778 +:10616000450099CB97E7FA1F83A7473DFC5791C39A +:10617000829713454400D1B793F7050281CF97E783 +:10618000FA1F83A7E73C83A7070991C382971345AA +:10619000040265B793F7050181CF97E7FA1F83A73C +:1061A000273B83A7C70891C382971345040171B7A2 +:1061B00009656D8D59D197E7FA1F9387A730F4339E +:1061C000F023CC33C823EF10C13E1315D468B5B704 +:1061D000411122C48145130600122A8417E5FA1FD3 +:1061E0001305452E06C626C297E7FA1F23AC07E61D +:1061F00097A0FA1FE780801C0145EF10B02D0145E4 +:10620000EF10303597E7FA1FA38587F2B707D70756 +:1062100017E4FA1F1304042BB5075CC8B7C70D0DAC +:10622000938707141CCCB7C7D707938707145CCC98 +:10623000F177938707141EB08147232EF40C97E75C +:10624000FA1F93872730B4477D47232CE40C377718 +:106250002D071307F71FD98EF84709661306E6B90D +:10626000518F97E4FA1F938424EFB4C7F8C7B4CBD7 +:10627000F8CBFC24A30C0402A30CF40AA300F40C36 +:10628000F977FD17231FF40E2310F410FD472301A7 +:10629000F410930730303EBC5EBCEFE0BE9893072D +:1062A000C01C231BF406DE206D461307B00FA98324 +:1062B000A300F4089E2828B023220404B3D7E70AD9 +:1062C0003EB47EB49386E700B3F7C70AB3C60608A8 +:1062D0003EB08E069307801433C706085AB41AB826 +:1062E0003377F70A8547A30FF402B70703009387B4 +:1062F000C71C3CC0B7170706938707443CC4B707C1 +:106300001600938707905AB076B01AB45CD8EFF0B5 +:106310009070EF30C073EFF0E02D2244B240924411 +:1063200041016FA08039397126DAAE84B70540008B +:106330004ED6F915AA89054506DE22DC4AD8EFE0DB +:10634000DE971314652997750100938525784146DA +:106350000A85EFD07EDD414697750100938505776C +:106360000808EFD07EDC93178400135904013347EB +:1063700004082183D98F1379F90F10088A854E8577 +:106380007C87A3062101EFF0C0578347E101034753 +:10639000D101A0B0A2074207BA970347F1012180BB +:1063A000C0A0BA979CA013D78700C18398B0BCA0A7 +:1063B000A3822401F2506254D2544259B25921614D +:1063C00082800111194697E5FA1F938585DA17E552 +:1063D000FA1F1305251D06CE22CC26CA4AC8916491 +:1063E0004EC697A0FA1FE780E0F69385F4FF0145BB +:1063F000EFE03E8A2A84FD550145EFE01E8CA2871E +:10640000FD147D5933F79700B366E500CDC66314DC +:1064100025016302970A17E4FA1F1304A40A23084C +:10642000F40EA18393E707FC1169C1692326A40E2A +:10643000A308F40E7D19FD19CA850145EFE07E859C +:10644000AA84FD550145EFE05E87B3679500EDD75F +:10645000FD576314F500E38124FF0357040E93579F +:106460000501230AF40E93578501A30AF40E8356FF +:10647000240EB3470508B98F0357440F230B940E1E +:10648000A18093F4F403358FA30B940ED98F835618 +:10649000440E0357640F2319A40E358FD98F939799 +:1064A0005760B3F73701C9DBF2406244D244424936 +:1064B000B24905618280A6850145EFE08EFD2A8400 +:1064C000FD550145EFE06EFFA2872DBF411126C2A9 +:1064D00006C622C44AC097E4FA1F9384A4FE03C7E9 +:1064E000E40383C7F403636AF7000144B2402285E2 +:1064F000224492440249410182802A899305102452 +:106500001305000C97A0FA1FE78040B52A8471DDBF +:106510001306000C814597A0FA1FE78020EA631458 +:106520000900C1571CA4FC4CA1EBA0CCE0CCA0D02E +:10653000232004008547238FF40285471CB493076A +:1065400000F93CB497E7FA1F9387C71A985FDC5F9E +:1065500017E5FA1F034585C178C43CC8FD577CA8E0 +:10656000A30EF40683C7A4042304A406230AF40A92 +:10657000EFF0C05D48B89DBFBC5080C3A0D02320C1 +:10658000040083C7E403850793F7F70F6DB7011184 +:1065900022CC06CE97E7FA1F83C7D7F22A8485EB71 +:1065A00018288547631BF70C8347D403034754041B +:1065B000858B6312F70C1946930564041305E403F5 +:1065C00097A0FA1FE78080EA3335A00099A8834797 +:1065D0005504D9CB8347B5041307000493F7070C80 +:1065E0006394E708085931C1930564041305A502B3 +:1065F0002EC697B0FA1FE78000738547B245631631 +:10660000F502085889472302F4043C31194693E700 +:106610002700A302F404510597A0FA1FE78080D356 +:106620000545F2406244056182801428054783478E +:10663000C403638BE60203470406118BD98F8DE7F1 +:106640001305440497B0FA1FE780607A08D809CD93 +:1066500089472302F4043C3119469305640493E707 +:106660002700A302F40445BF8347C403898B8DDB55 +:106670001C589C3395F701456DB783470406918BF1 +:1066800085F75C3413F7170011CF34380D47639B3F +:10669000E60068402C446244F240056117C3FA1FCB +:1066A00067004392898BADDF38389547E31AF7F6D8 +:1066B000CDB7011197E7FA1F83A7470422CC06CE76 +:1066C00026CA858B17E4FA1F032404E6ADCB97E7AF +:1066D000FA1F23A5070297E4FA1F9384E49C9C40C9 +:1066E0009DC7DC438DC789475C82834754041305EB +:1066F00061001946DC825C28930564045C8697A0DF +:10670000FA1FE78020C59C404800DC4382978347FE +:106710007406858B81CB83455404082413066404D6 +:10672000EF30F10483477406898B91CB2285624454 +:10673000F240D244056117C3FA1F6700234B22853C +:106740006244F240D244056117C3FA1F6700C34593 +:1067500041114AC017E9FA1F1309C9D68327090B4B +:1067600006C622C426C281EB0545B24022449244AB +:10677000024941018280AA8497D0FA1FE780204E07 +:106780008327090B8297EF30E0052A8471DDDC5006 +:10679000AC482324F508B8349307A009631BF70E0F +:1067A00085472300F51483C734062303F514A30398 +:1067B000F514FC35F8250148A207D98F982915460C +:1067C000F90542075D8F83C735FF13058413E20780 +:1067D000D98F232CF40883C755FF03C765FFA20791 +:1067E0004207BA9703C745FFBA97232EF40883C719 +:1067F00075FFA30BF40283C795FF03C785FFA207AC +:10680000D98F1EBC83C7B5FF03C7A5FFA207D98FC9 +:106810003EBC83C7D5FF03C7C5FFA207D98F5EBCA7 +:1068200083C7F5FF03C7E5FF232E0413A207D98F03 +:106830007EBC8147232CF41297A0FA1FE78080B119 +:10684000B84883473702FD8BA30AF4020347370297 +:10685000ED1793F7F70F15832308E4022D476365BF +:10686000F7023E3C05679306A7C7E917B3C70708B9 +:1068700063ECF600563C9307301F63E7D7007E3C7D +:10688000130707C86375F7020A24EF30A014014507 +:10689000E9BD8327090D1167F98F81DFFC44982337 +:1068A0009C21F98F93D757482300F51419B78327F4 +:1068B000490B228582978327890D0A24294693F75D +:1068C000072091E3054693050008EF9050298327A0 +:1068D000090D1167F98F99C70A24514693050008DD +:1068E000EF90F02783278905F84BB7070008F98F49 +:1068F000E38C07E68824238C0400494693050008AE +:10690000EF90F02595B5011122CC930545012A841D +:10691000284901464EC606CE26CA4AC897C0FA1F65 +:10692000E780C0998949631A052083044401AA8934 +:1069300013050004EF002FBF1315456063C1A422A7 +:106940002C4831479C3193F7F7033CA8639BE72021 +:106950009C210D47BD8B3CB86397E7201309640366 +:106960001946A1054A8597A0FA1FE78020B0630E5B +:10697000051E2C481305640419469C21890593D7EC +:106980006748A302F40497A0FA1FE780A09C228521 +:10699000EFF0FFBF630D051C64449D471CA89CA03D +:1069A0008547BCA0BCB0CA8519461385440097A092 +:1069B000FA1FE780209ABC20B8300149990793F765 +:1069C000F70F13678700BCA0B8B07844BA97035795 +:1069D000C406B8B3BC207844834614063E97835758 +:1069E000C4069206A183BD8BD58F5CA3B82009078E +:1069F0001377F70FB8A0762CC5C2834704067959E0 +:106A000093F7070491C375593309E9401379F90FD6 +:106A10006374D90883463406751985471379F90FCD +:106A20006395F61293078042F9469387371AB3C7E6 +:106A3000D70217E6FA1F034626B01366060197E54C +:106A4000FA1F238BC5AEC16517D6FA1F032646640D +:106A50000CC6B386D702860634D2B43093E606015C +:106A6000B4B0744403462406369730B3B420784457 +:106A700036975CA3B8207C44BA97034734061607C0 +:106A8000D8B3BC208D07BCA05C54CA973CDC7E2CDC +:106A9000B38727412319F4068347040693F70704B5 +:106AA00089CFB8307C44B42013670704B8B0583895 +:106AB000B697B8B3BC208507BCA0BC206844722C34 +:106AC0008D074C543E9551C66365C90897A0FA1FBF +:106AD000E78040880349E401B8209377F7038507EE +:106AE0003E99A3082401B8A083475403858B91E7FE +:106AF0000347440389476317F70078441C2393E74F +:106B000007041CA37C4418388145170500001305B1 +:106B1000E53B98B397A0FA1FE780C0CE8347B40641 +:106B20008345340610380D45DD8D97C0FA1FE78088 +:106B3000E08E97D0FA1FE7808012F2406244D24480 +:106B400042494E85B2490561828085679387878473 +:106B5000E1BD4A869790FA1FE780C07FB5BFAD4977 +:106B6000E9BF9149D9BF8D49C9BF9549F9B7A54931 +:106B7000E9B7011122CC930545012A842849014631 +:106B800026CA06CE4AC84EC652C497B0FA1FE7803E +:106B9000E0728944631605142C48130720029144BF +:106BA0009C3193F7F7033CA8639CE7128421954737 +:106BB000BD8824B8639FF412130A64031946A10523 +:106BC000528597A0FA1FE780608A630B05102C4856 +:106BD0001309640419469C214A85890593D767489F +:106BE000A302F4049790FA1FE780C0762285EFF0A5 +:106BF0001F9AA54475C597D9FA1F9389E95A83D777 +:106C0000C9001307003293870719B3D4E70283A79B +:106C10000900829783A68900B30795003E8763E445 +:106C2000A70063E4D7003387D7406444A1471CA87A +:106C300058D09CA08547BCA0BCB01946D28513850E +:106C400044009790FA1FE780E070BC209907BCA031 +:106C5000BC3093E72700BCB08347540491C7784405 +:106C60001C2393E707F81CA31946CA851385A400C3 +:106C70009790FA1FE780006EBC20990713F7F7037F +:106C8000050718B8BCA083475403858B91E70347D9 +:106C9000440389476317F70078441C2393E70704EC +:106CA0001CA318387C44814517150000130565E3C3 +:106CB00098B39307A0F93CB497A0FA1FE78080B47B +:106CC0008347B4068345340610380D45DD8D97B0F3 +:106CD000FA1FE780A074814497D0FA1FE78020F85C +:106CE000F24062444249B249224A2685D2440561B3 +:106CF00082808D44F5B741114AC017D9FA1F130994 +:106D000029398327090022C41307800706C626C233 +:106D1000F8D32A84094597D7FA1F2387072497D0E9 +:106D2000FA1FE78060FC97D7FA1F83A76735D8570B +:106D3000370500827D15719B13671700D8D783250F +:106D40000900D84113671700D8C183068406D857B5 +:106D500013F6F603698F6606518FD8D71307A00381 +:106D600017D5FA1F1305C5336351D71214413706DF +:106D70000007F84E518FF8CE98433706330013774B +:106D8000F7CF98C398431377F7CF1367072098C3BB +:106D900018411447D18E14C7B70603009386862581 +:106DA000B4C95457F59A54D79843834624061377A9 +:106DB00007F893F6F607558F98C337C7898E1307E0 +:106DC00067ED98C737575500644413075755D8C324 +:106DD0009D471CA89CA08547BCA0A147BCB07C4493 +:106DE0000357C406D8A3BC207844834614063E97B4 +:106DF0008357C4069206A183BD8BD58F5CA3A820C0 +:106E00009307E00F09051375F50FA8A00356240793 +:106E1000898F63C4C7047C442C5C0D053E95979014 +:106E2000FA1FE7802053B820835724079376F7038F +:106E30008507B6971CB8B8A083475403858B91E7A4 +:106E40000347440389476317F70078441C2393E7FB +:106E500007041CA37C44183898B38327090078449E +:106E6000B2409244B8DF97E7FA1F23AB0788834507 +:106E700034068347B406103822440249DD8D0145AB +:106E8000410117B3FA1F6700635913062002184126 +:106E9000635CD600744F370600F97D16F18E370615 +:106EA0000005D18E74CFC9BD370600F969487D163B +:106EB0006357D800744FF18E37060003DDB7744F67 +:106EC000F18E93968629F9BF011197E7FA1F83A7E0 +:106ED000E78222CC26CA06CE97D4FA1F9384845E1A +:106EE000858BE050D9C797E7FA1F23A9078083C78E +:106EF0004407C18B9DC383C7440793F70702E5DFAF +:106F00002285EFF05FDF83C7440793F7F70C238AEE +:106F1000F40697D0FA1FE78080D4228597C0FA1F25 +:106F2000E78080C897D4FA1F938404189C409DC7BB +:106F3000DC438DC789475C82834754041305610095 +:106F40001946DC825C28930564045C869790FA1FDE +:106F5000E78040409C404800DC43829783477406AA +:106F6000858B81CB83455404082413066404EF30D9 +:106F7000010097D0FA1FE78080CE22856244F2405C +:106F8000D244056117C3FA1F670003C239714ED698 +:106F900097D9FA1F9389C90F83A6090022DC26DA44 +:106FA00006DE4AD852D456D25AD093078007FCD274 +:106FB00097D7FA1F238A07FA97D7FA1F83A7470C98 +:106FC000D857B70533002A84719B13671700D8D7A9 +:106FD00098431377F7CF98C398431377F7CF136786 +:106FE000072098C317D7FA1F0327870B10474D8E2A +:106FF00010C73706030013068625B0CA5057759A86 +:1070000050D7984303462506137707F81376F607FB +:10701000518F98C3DC420D4793E71700DCC26445EB +:107020009D471CA99CA08547A3810400BCA0834761 +:10703000F5056384E70AFD1793F7F70F1547636BB0 +:10704000F700177701001307A7EAB3C7E7209C43AF +:10705000BA9782870149BC2013F7F70305073A99CD +:107060000347E405A30824011A07D98FBCA083476E +:107070005403858B91E70347440389476317F7005F +:1070800078441C2393E707041CA37C4418388145EB +:1070900017C5FA1F130525BB98B383A709007844C9 +:1070A000B8DF97D7FA1F23AD07649790FA1FE780E0 +:1070B0006075834534068347B40610386254F25035 +:1070C000D2544259B259225A925A025BDD8D01457F +:1070D000216117B3FA1F670063348547BCB01946B6 +:1070E00093056403138544009790FA1FE780802678 +:1070F000BC209907BCA00347F4059947631FF7021A +:10710000BC301385A40093E72700BCB08347540329 +:10711000898B6389072A0C58BC296385072A19467D +:10712000D1059790FA1FE780E02278441C2393E76B +:1071300007F81CA3BC209907BCA0BC30B82093E77B +:107140008700BCB07C44BA970357C406B8B3BC20D0 +:107150007844834614063E978357C4069206A1835B +:10716000BD8BD58F5CA3B82009071377F70FB8A0A4 +:10717000562C638D062683470406795993F7070436 +:1071800091C375597C483309E9401379F90F918B04 +:1071900081C739191379F90F81476372D90883467A +:1071A0003406751985471379F90F639DF622930705 +:1071B0008042F9469387371AB3C7D70217D6FA1F0A +:1071C000034686371366060197D5FA1F2386C53610 +:1071D00003A60900C1650CC6B386D702860634D261 +:1071E000B43093E60601B4B07444034624063697DF +:1071F00030B3B420784436975CA3B42078443697F3 +:1072000083463406960654B3B8200D07B8A0185428 +:107210004A9738DC5A2C330727412319E40678486B +:1072200011469376C700638BC60031466398C6103B +:10723000034614068346F4076312D610218B630DB0 +:10724000071A032A840997D7FA1F83A767D2829760 +:1072500017D7FA1F130747F5636DAA18B7470F0032 +:10726000938707243305AA40B335F5025227814698 +:107270003305F502EF60A14AB7074B00130745ED50 +:107280009387B7C7AA8A63EBE70A2A8A49468145EA +:1072900068009790FA1FE7806012B7C703009387D2 +:1072A00037FC63D55719B7872500138737ED634639 +:1072B000571FB247938A6A099397D7283EC6930708 +:1072C000C012B3CAFA02CE0A93D73A013247F9760E +:1072D000CE07758FCD83D98F03576408B3C70708CE +:1072E000930604084207D98F3EC69C52D052D84616 +:1072F0003EC897D7FA1F83C7171D9D8B7D8A9607B7 +:1073000093158700D18FCD8F3ECA9C4A6183494631 +:10731000A2075D8F3ACC8357840868446C00FC86D2 +:10732000BC208D073E959790FA1FE780A002BC30E5 +:1073300093E70702BCB0BC20C907BCA08347040682 +:1073400093F7070489CFB8307C44B420136707044F +:10735000B8B05838B697B8B3BC208507BCA0BC30CD +:10736000684493F707029DCF0327C40A05CFB420D2 +:10737000254693873600AA9790A31306200390B35F +:107380001023A906B0A31033B0B33023D0A33033F9 +:10739000D0B35023F0A35033F0B3702390A77833C9 +:1073A00098B7B4A0522CE30706CABC200C548D0732 +:1073B0003E95636AC9109790FA1FE780A0F90349C8 +:1073C000C40151B98347D40391C778441C2393E780 +:1073D00007F81CA319469305E4039790FA1FE7806A +:1073E00060F789BB856793878784E1B3814701494B +:1073F0003DB51C473E9A9DB5B83083463406418B57 +:1074000029C379470546B387E702035724076397E3 +:10741000C602130787070587BA97138A4729494683 +:10742000814568009790FA1FE78040F99307FA00BA +:107430007947B3C7E702CE07CD8349BD13070707D6 +:10744000E1BFBC205A2C05463E979307070F639671 +:10745000C6001307870F9357174017D7FA1F034724 +:10746000B70D1367170017D6FA1FA307E60C03A67C +:10747000090037070800138A875218C693875754A4 +:10748000794733E7E702998F86077CD6834714064E +:107490002300D408A30FF40659B763C85701B247B5 +:1074A0009397E7283EC6814715B59886B787DAFFD8 +:1074B000938767091377F7F913670706D886D69776 +:1074C0001307C012BDB74A869790FA1FE78080E87D +:1074D00059B68547BCB0930565031946138544002A +:1074E0009790FA1FE78000E7BC20B83017DAFA1F40 +:1074F000130A4AFD990793F7F70F13678700BCA09B +:10750000B8B078440149BA970357C406B8B3BC2051 +:107510007844834614063E978357C4069206A18397 +:10752000BD8BD58F5CA3B820914709071377F70F60 +:10753000B8A08346F405639CF6088347040679598E +:1075400093F7070491C375595E2C3309E940137909 +:10755000F90F637EF906834634067519854713795A +:10756000F90F6399F60C93078042F9469387371A0F +:10757000B3C7D70203464A07C16513660601230A4B +:10758000CA0603A609000CC6B386D702860634D203 +:10759000B43093E60601B4B074440346240636972B +:1075A00030B3B420784436975CA3B8207C44BA97B3 +:1075B000034734061607D8B3BC208D07BCA01C5463 +:1075C000CA973CDC5E2CB38727412319F406834716 +:1075D000040693F7070489CFBC30B82093E707046B +:1075E000BCB07C44BA975838B8B3BC208507BCA05F +:1075F0000347F40591476319F704522C31C6BC20A8 +:1076000068440C548D073E95636AC9029790FA1F2F +:10761000E78040D40349C4010347F4059147631F41 +:10762000F71E83474A0793F7070F93E75700230A8C +:10763000FA0615B485679387878405BF4A869790B5 +:10764000FA1FE78020D1C9BF0149F9B78547BCB00F +:10765000930565031946138544009790FA1FE78048 +:1076600060CFBC209907BCA0BC3093E72700BCB01A +:107670008347D40391C778441C2393E707F81CA3DE +:10768000834754031385A400898B638D07140C581A +:10769000BC29638907141946D1059790FA1FE78022 +:1076A00060CB78441C2393E707F81CA3BC20B830B8 +:1076B00017DAFA1F130A0AE1990793F7F70F13670E +:1076C0008700BCA0B8B078440149BA970357C406F4 +:1076D000B8B3BC207844834614063E978357C4064B +:1076E0009206A183BD8BD58F5CA3B820854709077F +:1076F0001377F70FB8A08346F405639CF608834719 +:107700000406795993F7070491C375595E2C330920 +:10771000E9401379F90F637EF9068346340675193B +:1077200085471379F90F639FF60C93078042F9465A +:107730009387371AB3C7D70203464A07C165136652 +:107740000601230ACA0603A609000CC6B386D7029F +:10775000860634D2B43093E60601B4B074440346CE +:107760002406369730B3B420784436975CA3B8200B +:107770007C44BA97034734061607D8B3BC208D075C +:10778000BCA01C54CA973CDC5E2CB387274123194C +:10779000F4068347040693F7070489CFBC30B8206A +:1077A00093E70704BCB07C44BA975838B8B3BC2000 +:1077B0008507BCA00347F4058547631FF704522CD7 +:1077C00021CEBC2068440C548D073E956360C904EB +:1077D0009790FA1FE78000B80349C4010347F405F6 +:1077E000854735BD8347D40391C778441C2393E76D +:1077F00007F81CA319469305E4039790FA1FE78046 +:1078000060B56DB585679387878415B74A8697906D +:10781000FA1FE78020B4D9B70149C9B783474A079F +:1078200093F7070F93E7670019B57E2D411122C426 +:1078300006C699071CB97C45114718A998A37C4531 +:1078400018392A8498B383475503858B91E70347FA +:10785000450389476317F70078441C2393E707041F +:107860001CA3684493056403194609059790FA1F01 +:10787000E78040AE6844722C4C542244B24021054B +:1078800041011793FA1F6700E3ACAA8717D5FA1FC7 +:10789000032505C911E182801825E30EF7FE084192 +:1078A000D5BF411106C622C426C24AC0EFF0FFFD73 +:1078B000630E0518834755032A8497D4FA1F9384CF +:1078C00064C089EF194697D5FA1F9385A5CD130596 +:1078D00064039790FA1FE780E0A79DA80547639C83 +:1078E000E700BC20494563840716194697D5FA1F5F +:1078F0009385A5CBE9BF1C59B9E78347C503230A84 +:10790000050291EB034754038547230AF402894794 +:10791000E319F7FC45BF1305C50397A0FA1FE780DD +:10792000404808D80DC1EF8070350C58BC2581CF78 +:107930008947230AF4021946B10513056403979099 +:10794000FA1FE78020A1034744038947E31CF7FAA5 +:107950009C308DCB8347C40395C7834734041307FA +:1079600000041305C40393F7070C6398E70E97A070 +:10797000FA1FE780C04708D811C53C2981C789474D +:10798000230EF4025C24F9E317D7FA1F230C07B285 +:10799000854778245CA41CB497C4FA1F83C4547D23 +:1079A000231B94061376F70099460359E40663FBFC +:1079B000C60A5A2C9306A00F97D7FA1F83C7A7D5DC +:1079C000B367F7203357D7029387970E17C5FA1F6F +:1079D0000355457E37460F00130606248146910461 +:1079E0002607BA97B3A5A7023305F502EF50315326 +:1079F0002695231BA406231804066307090268289A +:107A00009307F00F6306F500EFC0DEDEFD577CA89C +:107A10000356E406930664011206A28517050000CA +:107A200013052522EFC05EBF97C7FA1F83A74754EF +:107A300082971A302A8693067401A28517B5FA1F19 +:107A40001305E57F97B0FA1FE78060EB0145B24070 +:107A50002244924402494101828097A0FA1FE780A4 +:107A6000403411BF23180406E31B09F8E31EF7FA9C +:107A700068289307F00F6306F500EFC0BED7FD57E7 +:107A80007CA8930664011316B02841BF411106C6B5 +:107A900022C42A8497C0FA1FE780601C228523062F +:107AA0000400A3050400A304040097B0FA1FE780B4 +:107AB000A00F68389307F00F6306F500EFC09ED360 +:107AC000FD577CB868289307F00F6306F500EFC0F8 +:107AD0007ED2FD577CA8B2402244410182804111F0 +:107AE00097D7FA1F83A787C122C406C6858B17D4F0 +:107AF000FA1F032464A399CB228597D7FA1F23AFDB +:107B000007BEEFE0FFC42285EFF05FF82285224434 +:107B1000B240410117B3FA1F67000309411122C4A3 +:107B200017D4FA1F0324849F284801469305440173 +:107B300006C626C297A0FA1FE780407865E52C4864 +:107B40007D479C3193F7F7033CA8E91793F7F70FAC +:107B5000636AF70C9C21BD8B3CB8F51793F7D70FE0 +:107B6000F1E31946A105130564039790FA1FE78016 +:107B7000E08F4DC92C488544230294049C211305B1 +:107B80006404194693D767488905A302F4049780D3 +:107B9000FA1FE780207C2285EFE07F9F41C53438C3 +:107BA00015471C286396E60263EEF40697C7FA1F92 +:107BB00083A7073C829748D02285EFE07FB9631303 +:107BC000950622852244B240924441016FF01FEC99 +:107BD00081C719476398E70483044401130500042F +:107BE000EFF06E941315456063CEA4022285EFF08A +:107BF000DFC3814517F5FFFF1305E5AB9790FA1F2B +:107C0000E78040C01038834544060D4597B0FA1F01 +:107C1000E780C0802244B2409244410117C3FA1F5A +:107C20006700E30397C0FA1FE780600322852244C0 +:107C3000B2409244410117B3FA1F670023FB0111C0 +:107C400022CCFD5706CE7CA98357E5062A849DC722 +:107C5000834605070C259307C0031CAD0146130599 +:107C6000C003EF208130094597C0FA1FE780C007A5 +:107C700022856244F24005616FF05FE17C25054793 +:107C8000BD8B6386E70083470506918BE9DF97D7B5 +:107C9000FA1F83A7A79093F7072085C302C402C2E7 +:107CA00002C0814801488147014781460546814518 +:107CB0001305C003EF2061237DB702C0814801484E +:107CC000814701478146054681451305C003EF20E2 +:107CD000611F51BF97C7FA1F23A0A738828097C79B +:107CE000FA1F83C7174585EF411117E5FFFF1305FD +:107CF000854106C6EFC0BED4EFE08FCDB24097C736 +:107D0000FA1F9387277C17E7FFFF1307677CB8D715 +:107D100017070000130727B9F8D74101828097C7DA +:107D2000FA1F9387277A17E7FFFF1307677AB8D7F9 +:107D300017070000130727B7F8D7828011C98327D8 +:107D4000050A93E707082320F50AFD572303F502E8 +:107D5000828097C7FA1F23A5A730828017C7FA1F12 +:107D60000327877BAA87085719C51A2D6305F700D3 +:107D700013058505DDBF8280011122CC06CE2A8441 +:107D8000034565029307F00F2E866309F5002EC6A2 +:107D9000EFC05EA63246FD572303F4028347A402D8 +:107DA000035784049306640293E707062305F4024D +:107DB00083570404A285F240BA972313F404624463 +:107DC000170500001305C5F705616FC0FE8401119A +:107DD00022CC06CE2A84034575029307F00F2E8627 +:107DE0006309F5002EC6EFC0FEA03246FD57A3037F +:107DF000F40293067402A2856244F2401715000053 +:107E0000130545E505616FC03E81011122CC06CE08 +:107E10002A84034585029307F00F2E866309F50037 +:107E20002EC6EFC03E9D3246FD572304F402930652 +:107E30008402A2856244F24017150000130525E470 +:107E400005616FC06EFD97C6FA1F9386A667F2366E +:107E5000B7054801ED05BE329A3A232CB51CF6321F +:107E6000232EB51CED452318C51C3356B60A231026 +:107E7000C51E13068014231AF51C2319E51CB3D75D +:107E8000B70A231BD51C3357C70AB3D6C60A231219 +:107E9000F51E2313D51E2311E51E2307F50482804A +:107EA0008346651405478357651E6390E6029387F2 +:107EB000C7FB1147B3C7E7020357451EB3C70708FF +:107EC000B357F70A2307F5048280938707FB2147FE +:107ED000D5B78357051D0356C51D0357E51D8356AA +:107EE000851D3356F60A8357251D8355651D41119F +:107EF0003357F70A8357451D1318B02806C6B3D663 +:107F0000F60A8357A51DB3D7B70A83250510B3F525 +:107F1000050181ED8565938585843357B70AB3D70D +:107F2000B70A33470708B3C707088355051E1376FA +:107F3000F60F93F6F60F6396C5028355251E6392DE +:107F4000E5028355451E639ED5008355651E639AE1 +:107F5000F500230E0506EFF0BFF40945B2404101DC +:107F600082808545230EB5062310C51E2311E51E0C +:107F70002312D51E2313F51EEFF09FF20145F9BF22 +:107F80000357651D8357A51D411106C6B3D7E70AE0 +:107F90000567130787846379F70083260510131696 +:107FA000B028F18E91E2BA870357651E6307F70088 +:107FB0002313F51E8547230EF5060357251D83570A +:107FC000E51DB3D7E70A0567130787846379F700D0 +:107FD000832605101316B028F18E91E2BA87035755 +:107FE000251E6307F7002311F51E8547230EF506AE +:107FF000EFF01FEBB2400145410182800357A50419 +:108000009547723DB307F702363D93D53740635B22 +:10801000B600118F0E073347D702B3470708231462 +:10802000F5048280B3C7D702B3C70708CDBF832743 +:1080300045110D469306F00F98230D8B58B5631329 +:10804000C700B42374B99823418B38A99C337CA909 +:1080500082805C25CD9B5CA58280832745115825B5 +:108060009C23935637408987B58F858B91C71347DB +:10807000870058A5014582800545828083274511E8 +:1080800058259C23935627408D87B58F858B91E784 +:108090001347470058A50145828005458280832704 +:1080A000450E85072322F50E91E78327850E850768 +:1080B0002324F50E8327850E93F7070891C785477C +:1080C0002322F50E2324050E8347A50293F7070408 +:1080D00091CF8357050403578504BA972313F504FA +:1080E0008327450A93F7F7BF2322F50A8280832767 +:1080F000C50E85072326F50E91E78327050F850713 +:108100002328F50E8327050F93F7070891C78547A6 +:108110002326F50E2328050E8347A50213F707042F +:1081200009C793E707022305F502828097C7FA1F64 +:1081300083A78742014591E38280B83711E30505A3 +:108140009C43D5BF97C7FA1F83A707410145054741 +:1081500091E38280B4376393E60005059C43CDBF6D +:10816000411122C491452A84014526C206C697C4FE +:10817000FA1F93842435EFC05EAF03D7C40A231BD4 +:10818000A404854763F9E7060357641E8357241E3A +:1081900017C5FA1F0355050237460F00BA97938794 +:1081A0008757B3A5A7021306062481463305F502B7 +:1081B000EF50E156835704040357E40583558405C3 +:1081C00003A344091D8F3307B7028327040905461B +:1081D0009388F5FF130E80023E97637E16013308E5 +:1081E000C6039A87FD563A9889C7631BF4001C4062 +:1081F00081EB231BC404B24022449244410182809B +:1082000083AEC7086398BE0083A60709B306D840AB +:10821000B3F6B60263E4A6009C43F9B7090675BF3E +:10822000411126C297C4FA1F9384C42903D7C40AF4 +:1082300006C622C4854763F1E7060357651E8357C8 +:10824000251E2A8417C5FA1F0355C5F6BA979387CA +:108250008757B3A5A70237460F00130606248146A9 +:108260003305F502EF50A14B0346540583A844099A +:1082700085467D161303800263F0C60233876602CB +:1082800083270409FD553E97C68789C7631BF40001 +:108290001C4081EB231BD404B24022449244410190 +:1082A000828003AEC7080328C408631A0E0103A81E +:1082B0000709B305E84063640701B305074163E4B8 +:1082C000A5009C43D9B7850645BF797156CA97CAA0 +:1082D000FA1F938A2A1F163D03D6CA0A97C7FA1FA8 +:1082E000938787EC22D44ECE52CC83D9C70003AA01 +:1082F000870006D626D24AD05AC85EC662C466C275 +:108300008547032785082A84850663F5C710B38649 +:10831000360393070032014993860619B3D6F60255 +:108320003697BA846364D70063644701B304474156 +:108330008357641E0355241E37460F0023289408D4 +:108340003E9513058557B32535031306062481464C +:10835000130B0032814B3385A902EF50413C2A8C2C +:1083600083AC4A09814A8146130600645A85DE853A +:10837000EF50E13A3387A400E687FD56A1EBB385C1 +:108380005903130600648146B3BA590313850532B5 +:10839000B335B500D695EF508138AA9433B5A40013 +:1083A000A6876314A90063E44401B3874441B25033 +:1083B0002328F408225492540259F249624AD24ABC +:1083C000424BB24B224C924C4561828063948700B1 +:1083D0009C43D5D783A5C7080326C408639AC50064 +:1083E00003A60709B306E6406364C700B306C740A7 +:1083F00063E486019C4359B7B3073B0133B7670178 +:108400003E8B83477403850ABA9B8607FD17E3EC0E +:10841000FAF4B5B78347750393B7270093C71700DE +:10842000B697B38737039306003293870719B3D7FC +:10843000D7023E97BA866364F70063644701B306C8 +:108440004741B687ADB797C7FA1F9387A70783D66B +:10845000C70A411126C206C622C40547AA8463770B +:10846000D70003A44709A28789EB01EC238E0400FF +:10847000B2402244924441018280D83F75FB9C4324 +:10848000E5B763149400004075D03C34C1E703277E +:10849000C40883A7C408630FF706D82C9307000805 +:1084A0006316F7043E3C8A241946239AF406239B5C +:1084B000F4065E3C93050008239DF4047E3C239E55 +:1084C000F404EF70D0698547DCBCDC2C93F7F70728 +:1084D000DCAC130584062244B24092443146930535 +:1084E000F00F41011783FA1F670043EDBE3C0A24D9 +:1084F0001946231AF406231BF406DE3C93050008F4 +:10850000231DF404FE3C231EF404EF7050658947DC +:108510005CBCC1B7004091BF17C7FA1F130787FAA9 +:108520008356C70A411126C206C622C48547AA84BB +:1085300063FFD71683278510898B638A07168327E5 +:108540004709BE85BDE503D6441E01447D58130688 +:10855000260205862D067D55ADE3630004103C34EC +:108560003A3CC5E78947231CE404A30AF4040357F3 +:108570000406835704042285BA97C1071D8B998F7F +:10858000231FF4045E3C231DF4047E3C231EF404EC +:10859000EFF01FBD8327440A93E717002322F40A54 +:1085A00085475CA88D475CBCB2402244924441019F +:1085B0008280D83D75FB8C4171B7639497009C43D2 +:1085C000C9DF83A6070903A7040963E2E60233872C +:1085D000E64083A6C40863F4E6003377D7026376E7 +:1085E000A7003A856373C700BE859C43B5B7158F56 +:1085F00083A6C70863F4E6003377D702E37707FF63 +:108600003A88E374C7FE3E84CDB7BE3CB3F7E702B9 +:10861000C1FF9D46994763F5E60005839307370040 +:108620000567231AF406130707C88A07B3C7E70AC2 +:10863000231BF4065E3C0A241306C002231DF40427 +:108640007E3C93050008231EF404C9475CBC224409 +:10865000B240924441016F709050B1C9BA3CBE3DE6 +:10866000B3F7E702A9E78387C40163D207049D46F5 +:10867000994763F5E6000583930737000567239A5A +:10868000F406130707C88A07B3C7E70A239BF40653 +:10869000DE3C8A241306C002239DF404FE3C9305AD +:1086A0000008239EF404CD47DCBCEF70504B238EB2 +:1086B0000400DDBD411122C406C617C4FA1F13040D +:1086C000A4AE1C289DCF97C7FA1F9387279998437C +:1086D00019EB184497C6FA1F23AAE6E81797FA1F62 +:1086E0001307A7A198C3884317C7FA1F232A07E6D1 +:1086F0009780FA1FE780C0345C402244B2404101B9 +:1087000082875A240356650897C7FA1F23A807943F +:1087100097C7FA1F23A607E43306E60237470F0080 +:108720009306F7231307072483270509AA8536969E +:108730003356E60217C7FA1F034797A33A9663E337 +:10874000C7022244B24003A7C5083386C7409386B8 +:1087500095021795FA1F1305C594410117A3FA1F37 +:108760006700E3191844BA97E9BF01114EC697C9CB +:10877000FA1F9389E98E83A7090026CA4AC806CE44 +:1087800022CCAA8417C9FA1F130909A2C1C317C7AB +:10879000FA1F0357E7DD8547631AF7060357C90039 +:1087A00003546508832705093304E40237470F00A3 +:1087B0009306F7231307072436943354E40263E83F +:1087C00087083384874097B7FA1F83A7677A829711 +:1087D0006363A408B307A44003A4090063C10708A6 +:1087E00017C7FA1F0347D7980583637AF7063745FB +:1087F0000F00998F13050524B3B5A7020356C900CE +:1088000081463385A702EF4091710294930700FBE4 +:10881000FCA4814501459780FA1FE780A0FE8347AD +:108820000901A1C317C5FA1F0325458397C7FA1F7E +:1088300023A807D29780FA1FE7808020624483270D +:108840004900F240D2444249B24905618287032778 +:108850008900BA97BDB7832789003E94A5BF01451B +:108860006DB7624483C59402F240D2444249B24992 +:1088700001450561B315B028B3C5050817A3FA1F54 +:108880006700A318411106C6EF00D07519C98327E8 +:108890008511014581E7B240410182809C43050575 +:1088A000D5BF7D55CDBF411122C426C206C697C78C +:1088B000FA1F83A727CB2A84AE846396A70097C7A5 +:1088C000FA1F23A107CA8327041299C70A24014665 +:1088D00093050008EF70B0288357440499C70A2411 +:1088E0004D4693051008EF7090270A24154693050E +:1088F0001008EF70D0262305040023080400230A83 +:10890000940417C7FA1F0327A7E095476316F700DB +:1089100097C7FA1F23AE07DEB240224492440145B6 +:10892000410182803C25638307328357050801118A +:1089300022CC06CE26CA85072310F5087C35230CE9 +:1089400005002A8413F7270015E30357050495470C +:1089500063FDE7269305E003EFF0FFF4A305A4020F +:108960000945F2406244D2440561828013F7070250 +:1089700021CF93F7F7FD7CB58327050A3835A3058A +:10898000050293E747002320F50A8547631EF70297 +:108990003E3D9306204E03274509B387D702B3D740 +:1089A000E70217B7FA1F0347A77C1307C703BA9755 +:1089B00003477503B3C707082312F5083307D70227 +:1089C000B3A7E7202311F5081C38858BE9C7835727 +:1089D000E405035704046396E7245E3C8355C4050D +:1089E000034584022310F406834754056EBC9205A8 +:1089F000A30BF40283576405F91597B4FA1F938407 +:108A0000A47A1EBC8357A4055EBCEFB0DE9D38344B +:108A1000231004081E3C03568405631A071ADA243F +:108A20008C44B387E7021307003293870719B3D743 +:108A3000E70203270409D1073E97BA866364F7006B +:108A40006364B700B306B7405C3C2328D40832BC4B +:108A500081C72285EFF0CFFCDA243E3C930600323A +:108A600023110402B387E70233D6D702B3F7D70244 +:108A70009306204E2326C408B387D702B3C7E70264 +:108A80001EB0835704045EB07C3493E707027CB4C5 +:108A90001C38F99B1CB81C38898BA9C78356E41273 +:108AA00003570404B387E6409397576063C00718E1 +:108AB000639AE60281470148232CF41213058413BC +:108AC000232E04131546930584122AC69780FA1F95 +:108AD000E78040883245EF00D0781C38A306A41206 +:108AE000F59B1CB81C3813F707012DC70356C41497 +:108AF000835604043307D6401317576063480712A0 +:108B0000631AD604BD9B1CB88347A41499C7898BEC +:108B10006388071285472303F4148347B41499C765 +:108B2000898B638207128547A303F4142285EFF033 +:108B30002FC58347C40799C78327040A93E7071003 +:108B40002320F40A8327040AA305040293E70720DD +:108B50002320F40A18389377070285CF97C7FA1FA6 +:108B600083A7879BD423130680059C57B386C60230 +:108B7000B697D62F83570404B387F6409397576070 +:108B800063C907008357C4146395D7001377F7FDB3 +:108B900018B88347A40293F7070485CB03576404EE +:108BA000835704046313F70218289307A00463147F +:108BB000F70085471CA883278410C18B99C783279A +:108BC000440A93E707402322F40A014559BB0347AF +:108BD000E418218B11CF83560404035704192E3C4B +:108BE000158F3307B7023347C702BA962318D41834 +:108BF0009DC7DA248C44B307F7021307003293872A +:108C00000719B3D7E702032704093E97BA866364BE +:108C1000F7006364B700B306B7402328D40832BC1A +:108C200025BD998F93975760E3D707E69305800298 +:108C30002285EFF05FC7A305A4021305800215B3D8 +:108C400023030414D9BDA3030414CDB505458280C4 +:108C500005C541119305200222C406C62A84EFF0FF +:108C60009FC4FD57A305A40223080400A303F40234 +:108C7000B240224441018280828005C9411122C450 +:108C800006C67C352A849305E003898B91C3A145F0 +:108C9000EFF07FC1FD57A305A402230804002304BD +:108CA000F402B24022444101828082808327050A77 +:108CB000797122D406D626D24AD04ECE52CC56CA8C +:108CC0002A846382074213F7270011CBF59B2320E8 +:108CD000F50A0A25194693050008EF7040688327B6 +:108CE000040A13F7470051CF8344A402ED9B2320CD +:108CF000F40A93F7040491CF83278410C18B99C79A +:108D00008327440A93E707402322F40A2285EFF0E1 +:108D1000EFAE38348547502883562406631EF77417 +:108D20003E3C1307204EB387E70203274409B3D71D +:108D3000E70217B7FA1F0347A7431307C703BA97FA +:108D40000347B402B3C707082312F40886072311A8 +:108D5000F4089307000419E3930700085CAC09E6E4 +:108D600093E414002305940299E60A240D46930522 +:108D70000008EF70C05E23110406230A0400A30E4E +:108D800004008327040A13F7870005C30A24DD9B28 +:108D90002320F40A154693050008EF70405C8347D2 +:108DA000A40293E747002305F4028327040A13F77C +:108DB000070131C7BD9B2320F40A8347D4040A244A +:108DC000214689C7A306040413060003930510086F +:108DD000EF70E0588347C40489CF83278410C18B88 +:108DE00089CB8355A40422859205B3C50508EFE01D +:108DF000BFF88347A40293E717002305F4028327F3 +:108E0000040A13F7070405CB0347F40493F7F7FBB1 +:108E10002320F40AA14763FAE7003C3499E783274B +:108E2000440A93E707012322F40A0A2431469305F2 +:108E30001008EF70C0528327040A13F7070205CF0A +:108E400093F7F7FD2320F40A343483278410032793 +:108E5000C41093F7070263820664638C07680A24D0 +:108E6000114693050008EF70804F8347A40293E7F3 +:108E700017002305F4028327040A13F707101DC304 +:108E80000A2493F7F7EF2320F40A230E04061D4665 +:108E900093050008EF70A04C8347A40293E71700E6 +:108EA0002305F4028327040A13F7070801CF0A24D5 +:108EB00093F7F7F72320F40A1306700593051008BB +:108EC000EF70E0498327040A13F7072029C393F7BB +:108ED000F7DF2320F40A83476414230F0400A297CA +:108EE00003850718A301A414EFC0B04C2301A414F8 +:108EF0002285EFE0FFFA0A24314693050008EF705F +:108F000000468347A40293E717002305F402832752 +:108F1000040A11677D8F630B07129397E74897B98F +:108F2000FA1F83A9A9612320F40A638E095283578B +:108F300044151167139637017D8F4D826300075CDE +:108F40001307C0123306E6029397576063D50700F4 +:108F5000B78725003E96035804048355841517BA35 +:108F6000FA1F130A6A24832704098326C408832A64 +:108F70008A000355440801496318B85863E4D75878 +:108F8000B384D7408357CA00329537460F00B335B4 +:108F9000F5028146130606243305F502EF402178D9 +:108FA000B306950033B5A6002E95B6846314A900C8 +:108FB00063E45601B384564197BAFA1F938A4AFB79 +:108FC00083A70A00829763E5A45A3385A44017B9A2 +:108FD000FA1F130969188347990186076370F55AC8 +:108FE00003A7C90D8356CA008357641521833347ED +:108FF00007083307D70293060032850703268A0045 +:10900000B3C70708130707193357D702B3069700EA +:10901000B68463E0E65E63FEC65C2394F90823A091 +:10902000990A0347E414854683C729086313D76464 +:1090300093E727002381F9084E85EFC080250A2495 +:109040001306600293050008EF7060318327040A5D +:1090500009677D8F09C79397D7482320F40A032710 +:10906000040AA167F98FB9C78345040317B5FA1F2E +:1090700003457545EFB01EB73E3C1307204E232A2B +:10908000A408B387E70233D5A70297B7FA1F83C7AF +:10909000270E9387C7033E958347A4022312A40893 +:1090A00093E717002305F4028327040A9397F748F0 +:1090B0002320F40A8327040A858B91CF8347A402D7 +:1090C00083454405228593E717002305F402EFF05A +:1090D0008FFDA305A4028327040A63D60700939794 +:1090E000F7492320F40A8307B4179DC303074403F9 +:1090F00099463306F74063D8C6588327440A9397A6 +:1091000047292322F40AED57A30FF416A30DE41602 +:109110008347441813F7270049CF83064403030706 +:10912000C41763DBE6000327440A131747292322E9 +:10913000E40A1147A30FE4160307D417635BD700B3 +:109140000327440A131747292322E40A7157A30F60 +:10915000E4160307A4171306F007630CC7020346BF +:10916000741803458418158F13174760B306A6407B +:109170006356D75293F607016392065293F7F7F8B6 +:1091800093E707012302F4188357A41885072316D1 +:10919000F4188357C41891CFFD17B3C707082316D7 +:1091A000F41881EB0A241306000293050008EF70FF +:1091B000001B3C249DCF8327041281CF3C2C91EBD4 +:1091C0000A24014693050008EF70601919E18547EC +:1091D0003CAC8357440491CF8347140399EB0A2492 +:1091E0004D4693051008EF70801701E58547A308E9 +:1091F000F4028347E41813F7070179C38324440A70 +:10920000BD9B2307F4188988C5EC1828D547630946 +:10921000F70A1C38898BCDE7814901498D4A130A29 +:109220005002939744608987A29783C7771913F7F1 +:10923000340006073397EA00F98F630BF7002686A0 +:1092400005458145EF40414BB3E9A9003369B900B9 +:109250008504E39844FD032784138327C41328005F +:1092600033773701B3F727013EC63AC4EF00607F7A +:109270008347541363EEA700034544037D57854796 +:1092800059152C003AC43EC613154560EFC0902511 +:1092900003278413A2476317F7000327C413B247B9 +:1092A0006300F70215462C00130584129770FA1F0D +:1092B000E780400A8327440A93E727002322F40A21 +:1092C0008346E418A54713F796006314F704035781 +:1092D000040483570419636EF702B307F7409397AA +:1092E000576063C807028347F4181306000A05078E +:1092F000B387C702323CDD9A2307D418B3C7C7022D +:10930000BA972318F4188327440A939777292322BE +:10931000F40A8347A402E9C7918B89CF1028C1655D +:10932000938505A02285EFE09FAA8347A402ED9BC9 +:109330002305F4028347A402858B8DC30345740281 +:109340009307F00F6307F500EFB0CECAFD57A303F4 +:10935000F4028347A402F99B2305F4028347A40285 +:10936000898B89CF6E3C034584029205F915EFB0D5 +:109370008E878347A402F59B2305F4028347A4024A +:10938000A18B99CF6E3C0D4622859205F915B3C588 +:109390000508EFE0DFA38347A402DD9B2305F40269 +:1093A0008347A40213F7070101CF0345640293F733 +:1093B000F7F82305F402EFB0EEC3FD572303F402E0 +:1093C0008347A40213F7070201CF8355A404034582 +:1093D000640293F7F7FD2305F4029205EFB0AE8027 +:1093E000582C9307F00363F9E7003834854722854A +:1093F0006316F72EEFF04F9283570404ADC713079F +:109400004006B3F7E702A5E397B7FA1F83A787C51E +:10941000898BB1C397B4FA1F938404D4985805CFAD +:1094200017B9FA1F1309090A83570901835529013E +:109430002545C207DD8D02979C588355E9002945D3 +:1094400082979C58831524032D4582979C58830549 +:1094500044033145829797B7FA1F239C070697B7B5 +:10946000FA1F23A90706B250225492540259F24916 +:10947000624AD24A45618280930700045CAC09E6E7 +:1094800093E4140023059402E399068E0A240D4602 +:1094900093050008EF60B06CCDB01377070819C7CB +:1094A0000327440A131767292322E40AB9C3835701 +:1094B000241D0357241E6313F7028357641D0357AB +:1094C000641EE30EF79813078014E37AF798832756 +:1094D000440A9397B7282322F40A51B21307801441 +:1094E000E37DF7FC8327440A9397B7282322F40AE5 +:1094F000E9B78327440A9397B748F1BFF947330682 +:10950000F60291BCD697ADBC1307180063F60505AB +:109510000D8F3307D70263EFE702B384E740835729 +:10952000CA00329537460F00B335F50213060624FC +:1095300081463305F502EF40811EB307950033B530 +:10954000A7002E95BE846314A900E3E757A7B38450 +:1095500057419DB4D697D1B7998DB385D502AE97B3 +:10956000BE8463E4B700E3EC57FBB384574145BFC7 +:1095700083278A00A6973385A74091BC83A70A005A +:109580006350050882978347990103268A00814525 +:109590001397170033A5A720AA876364E5006364C7 +:1095A000C500B307C54063E99704858F03A7C90DBC +:1095B0000355CA00835664152183334707083307D0 +:1095C000A70213050032130707193357A7021385A3 +:1095D0001600B3D7E702AA97B3C70708B386D740E8 +:1095E0003387E602B306970033B7E600B684E38418 +:1095F000E5A2B384C64015B433079640BA977DB749 +:1096000082978347990103268A001397170033A591 +:10961000A720AA876364E5006364C500B307C5405B +:1096200063E2F404B387F44083A6C90D8355CA00EE +:1096300003576415A182B3C60608B386B602930524 +:10964000003293860619B3D6B602B3D7D702B30752 +:10965000F740B3C707081D8F3307D70263E9E4005B +:10966000998C65BA3387C400B307F74075BFB294CD +:10967000C5BF89466315D70093F7970F65BAF59B69 +:1096800093E7470045BA998FE3D4F6A88327440AA5 +:10969000939747292322F40A9547BDB4834654186B +:1096A000834564183388B600635BE80013F8070449 +:1096B0006317080093F7F7F893E70704E1B42A96D5 +:1096C000E349C7AC8D8EE3C6E6AC13F70702E3129D +:1096D00007AC93F7F7F893E707026DB4EFE0BFD656 +:1096E00021BB411122C406C62A8483278411DDEBE5 +:1096F00083270412E1EB0325041109C59770FA1FB3 +:10970000E780E0A2034574029307F00F6304F500BD +:10971000EFB04E8E034564029307F00F6304F5002B +:10972000EFB04E8D034584029307F00F6304F500FC +:10973000EFB04E8C034594029307F00F6307F500DA +:10974000EFB04E8BFD57A304F4020A24612497B7AF +:10975000FA1F938727D703D7C70A29E317B7FA1F3A +:10976000232E078E17B7FA1F032787A423A4E70A1F +:1097700097B7FA1F83A7C79E95C317B5FA1F03258E +:10978000259D09CD9770FA1FE780609A97B7FA1F59 +:1097900023A0079C97B7FA1F23AE079AB240224432 +:1097A00041018280C84309C59770FA1FE78020985D +:1097B00083278411BA27136707F0BAA79C43232C89 +:1097C000F41025B7C84309C59770FA1FE7802096A3 +:1097D00083270412BA27136707F0BAA79C432320F4 +:1097E000F41239B7AA8717B5FA1F0325E5D611E198 +:1097F00082801A25E30EF7FE0841D5BF97B6FA1FFF +:1098000083C6769617B6FA1F0346069B2A87938768 +:10981000160017B5FA1F032525D519C29397160010 +:109820009207C166AA97FD166394A700014582803E +:109830003225E30EE6FEE30CD6FE4105F5B7011135 +:109840004EC697B9FA1F9389E9C783A7490A06CE7E +:1098500022CC26CA4AC852C4ADEB17BAFA1F130A63 +:10986000AA8F8347FA0017B7FA1F0347E7941389B3 +:10987000170019C31399170003D4E9023305F940FF +:109880009314490013041402158416043344040885 +:109890003305A402930540242695334505089760B7 +:1098A000FA1FE780A07B15C10346FA00C16623A218 +:1098B000A90AB3079500938846F53306C9401105F8 +:1098C0000147938626F5631AE900F2406244D244C8 +:1098D0004249B249224A05618280637DC700BE8544 +:1098E0003688A297231305010CC1A30205000507C2 +:1098F0004105D1BF81454688F5B741119305302612 +:109900001305801E06C622C426C29760FA1FE78090 +:10991000E0741306801E81452A849770FA1FE78041 +:10992000E0A901451DC497B4FA1F9384A4B983A686 +:109930004409854785CE368712276301F60218430E +:1099400065FF1EA4B1E722859760FA1FE780207E9D +:109950000A24B24022449244410182808507216753 +:10996000B3C70708E399E7FC8147E1BF1EA423AA18 +:10997000840823AC84082396F40AEFF05FEC83A7F5 +:10998000840923A007002305040023070400C9B7A6 +:1099900083A7840980C383D7C40A23AC84088507BE +:1099A0002396F40AE9BF17B5FA1F0325E5BB11CDCD +:1099B000411106C69760FA1FE7806077B24097B7FB +:1099C000FA1F23A307BA4101828097B7FA1F23AD7C +:1099D00007B88280411122C417B4FA1F130484AE61 +:1099E000832644092A8706C63685814731C9122550 +:1099F000631CE6048DEB9C42232AF4089760FA1F4F +:109A0000E780E0728327840923A007008357C40AF4 +:109A10008DE7EFF05FF997B7FA1F23AF07B2B240B7 +:109A2000224441018280032784096315A700232C67 +:109A3000F408E9B7184198C3D1B7FD172316F40A03 +:109A40008357C40AE9FFF1B7AA87084145B77146B1 +:109A5000814517B5FA1F130525B01773FA1F670064 +:109A6000E3951C3118215421A207D98F3821FD8A92 +:109A70009305000242075D8F3C310145E207D98F13 +:109A800001473316E0287D8E01C605051375F50FD5 +:109A90000507E318B7FE8147214733D6F64801C6CC +:109AA00005051375F50F8507E399E7FE828001111F +:109AB0004AC84EC6032985138329C51322CC26CA5A +:109AC00052C406CE2A84A30B0512A30605128144B4 +:109AD000130A500226864A85CE85EF30913F0589CC +:109AE00011C58347D4128507A306F4128504E393B6 +:109AF00044FFF2406244D2444249B249224A0561DD +:109B000082804111930590241305000A22C406C6E1 +:109B10009760FA1FE78080542A843DC91306000A23 +:109B200081459770FA1FE780608917B7FA1F1307FE +:109B300067BC145F585F97B7FA1F23AB87A09307E2 +:109B4000040898CFD4CB7D572300E404130710FBFF +:109B500078A023020400170700001307470498C7E2 +:109B6000170700001307C745D8C7170700001307DA +:109B7000873098CB97A7FA1F83C7076491EB91456D +:109B800017A5FA1F0325454E9770FA1FE78080C777 +:109B9000B2402285224441018280411126C297B4FD +:109BA000FA1F9384249222C403A4C40806C68347E0 +:109BB00054062302040685E385472302F40619466A +:109BC00097B5FA1F9385059E130564069760FA1FE3 +:109BD000E7804078B5A80547639AE700B8200DE70D +:109BE0004945B24022449244410182808325440881 +:109BF000DDED8347C4068DE3034754068947E30D33 +:109C0000F7FABC20F1DF85472302F406194697B521 +:109C1000FA1F938585994DBF1305C4069780FA1FD7 +:109C2000E78020182322A40819CD3C2589CF894735 +:109C30002302F40619469305C500130564069760D0 +:109C4000FA1FE7802071034744068947E316F7FAB5 +:109C5000B7050001FD150145EFB02E8668CCEFC0B9 +:109C6000803D28CCC1451545EFB02E8085477CB09E +:109C7000834784030D4748A458A097A4FA1F9384F0 +:109C8000244B639EE702523883576404A830C145D1 +:109C90003E96EFA09EA4A830C1459790FA1FE7809A +:109CA000C0D6014597B7FA1F238E07801DBFBC257C +:109CB000A1D789472302F4061946B105BDBF09475C +:109CC000A8306396E70003566404C145D9B75238FB +:109CD000EDBF411106C622C42A8497A0FA1FE7806F +:109CE00000F8930700FB7CA09305000217A5FA1F5C +:109CF00003453544EFA07EA617A7FA1F1307877CFC +:109D00001C235638850793F7F70F1CA3130700642D +:109D10003347D70263C8E700EFA05EFC97A7FA1F9E +:109D20002382077AB240224441018280011126CA6F +:109D300097B4FA1F9384049CD84C22CC06CE4AC810 +:109D40004EC6954717B4FA1F032484806306F700B4 +:109D5000D84C8D47631FF70083C7140281E7930730 +:109D600070109EB0F2406244D2444249B24905614B +:109D700082800D4597A0FA1FE78000F797A9FA1F88 +:109D80009389093003A70900B7C7898E938767EDC8 +:109D90001CC7B7575500938757555CC30347A403A7 +:109DA0009307F00F6305F700FD57230DF40217A981 +:109DB000FA1F1309E92D032709008547A30CF402B4 +:109DC0005C430145014693E717005CC3930720FB02 +:109DD0007CA09D47DCCC9305500297B7FA1F23ABBC +:109DE000079097A4FA1F9384A42B9780FA1FE7800B +:109DF000407D984001455C57F59B5CD783A60900E0 +:109E000058309C421377F70793F707F8D98F9CC215 +:109E100097A7FA1F83C7473A89C717A5FA1F0325D3 +:109E2000A5249770FA1FE780809C03A70900B70656 +:109E300033001C4393F7F7CF1CC31C4393F7F7CFB2 +:109E400093E707201CC398401C47D58F1CC70327E6 +:109E50000900B7070300938787153CCB97B7FA1F14 +:109E600023A4078A97B7FA1F23A8078885471CC32E +:109E7000D5BD411122C406C626C217A4FA1F032469 +:109E8000246D03479403A1476309F70A89445C30B2 +:109E9000631A970A13077002638BE71013075002C7 +:109EA000130570026394E7001305600248B097A79A +:109EB000FA1F83A7E71C98433706CEFF7D1613775A +:109EC000F7CF1367071098C317A7FA1F0327471D7B +:109ED000144797A5FA1F83A5A51BF18E14C7370653 +:109EE0000300B0C997B6FA1F23A60680545713067D +:109EF0008615F59A54D7944393F606F8C98E94C301 +:109F000097B6FA1F23A2068097A6FA1F23A6067EFD +:109F1000854694C1944393F6F6CF94C3944393F645 +:109F2000F6CF93E6062094C31C47B7063300D58FBF +:109F30001CC7B0C9930720FB7CA0B24022449244C6 +:109F40004101828013077002638AE7029306500280 +:109F50006394D7001307600258B097A6FA1F83A630 +:109F60002614DC56F59BDCD697A6FA1F83A646116D +:109F70009C4293F707F8D98F9CC26DBF8347840337 +:109F8000898B95C70356A4049305000217A5FA1FF1 +:109F90000345351AEFA06EF493075002A30C940208 +:109FA0005CB02244B240924441016FF03FD8228518 +:109FB0002244B240924441016FF0BFD197A7FA1FEB +:109FC0009387475003A7070A35E3411122C403A42E +:109FD000C70806C69307000B78206306F70097A012 +:109FE000FA1FE780C0C78347840317A5FA1F0345FC +:109FF000551413F7170011C785473238A30CF40224 +:10A0000001A8898BF5DB0356A4048947A30CF4024D +:10A0100093050002EFA06EEC93075002230F040299 +:10A020005CB02244B24041016FF05FD082800111E8 +:10A030004EC697A9FA1F9389A90583A7090022CCC8 +:10A0400026CA4AC806CED84317A9FA1F13094903DE +:10A050002A8413671700D8C38326090037C7898E5F +:10A06000130767ED98C63757550013075755D8C2E1 +:10A07000D84397A4FA1F9384E46701461367170037 +:10A08000D8C3930730FB7CA10345C5039D47DCCCB7 +:10A090009305F00F23A004009780FA1FE780605219 +:10A0A00003A6090023AA040023A2040085471CC2BA +:10A0B00083270900B705330098431377F7CF98C378 +:10A0C00098431377F7CF1367072098C317A7FA1F92 +:10A0D000032707FD1447CD8E14C7B70603009386E8 +:10A0E000861534CA5457F59A54D78346B403984317 +:10A0F00093F6F607137707F8558F98C3F24062443A +:10A10000D2444249B249056182807D572300E5046B +:10A1100003479503411106C6230DE5022147A30C11 +:10A12000E5020347B50358B1EFF07FF097A7FA1F98 +:10A13000938707F6984354471396164950C70F1054 +:10A1400000009C4337070200B24098C7130700087D +:10A1500017A6FA1F2328E65A0567130727A8F8D37E +:10A16000D4C741018280011122CC06CE26CA4AC83A +:10A170004EC652C403479503A1472A846313F722AE +:10A18000930750FB7CA10345C503930520029780EC +:10A19000FA1FE780001D8347C403094733D9E70A44 +:10A1A00083244409930720021CA495479CA078208F +:10A1B0009307400B97A9FA1F9389C930631AF700D8 +:10A1C00083A7090D1167F98F81C7930750029CA0DF +:10A1D000930720029CB0034744068947130A64068C +:10A1E000631BF7008325440819465285B105976023 +:10A1F000FA1FE780201683475406858B91E70347B3 +:10A20000440689476316F7009C2093E707049CA047 +:10A210001946D285138524009760FA1FE7808013C2 +:10A220008347540789C79C2093E707F89CA01946E9 +:10A2300093056407138584009760FA1FE7808011F7 +:10A2400083478405FCA483479405FCB48347A40595 +:10A250009CA88347B4059CB87C4C13D78700BCA846 +:10A26000C183DCA8B8B889476313F9008D47DCB80F +:10A27000B327892003C707058325440998AC03D772 +:10A280000705218398BCB82FB8ACBA2F2183B8BC7E +:10A2900003C707029E33D8ACA183DCBC9C3D982D3C +:10A2A000A207D98F03D7C90A630B07148D47231759 +:10A2B000F40497A7FA1F938727EF83DEC70093065E +:10A2C000003203D7A90213860E193356D602345032 +:10A2D0001307270283A2490903AF870005872D07CB +:10A2E000814313090032954F369616857D53835767 +:10A2F000E40461E5636967008507B3C707082317AE +:10A30000F404E3F4FFFE8347E404B7060082FD167D +:10A31000FCA88357E404A183FCB883C7E90FFCAC15 +:10A3200083C7F90FFCBC83C709102380F40283C7DD +:10A330001910A380F40283C729102381F4025C243E +:10A34000FD8BA381F40283C7390003C7350296074A +:10A35000D98FA381F50297A5FA1F83A565D2D85599 +:10A3600097A7FA1F83C787E01396476093F7F70311 +:10A37000758FE607D98FDCD51307A00397A7FA1FBF +:10A3800083A707D26355C708F84FB7060007558F54 +:10A39000F8CFF2406244D2444249B249224A0561B0 +:10A3A0008280930740FB7CA19305200201459780A2 +:10A3B000FA1FE78000FB0149E5B3B386D703032EFC +:10A3C000050993860619B3D62603B388C600B3B62B +:10A3D000D80046886394D30063E4E8013388E841F9 +:10A3E000B306C84163690E01B3060E4163F5E6008A +:10A3F00085072317F40408413353D30ACDBD8D8359 +:10A400008D071947B3D7E70A2317F404EDBD1307E7 +:10A410002002635AC700F84FB70600F9FD16758F82 +:10A42000B7060005ADB7B70600F96947FD166357D3 +:10A43000C700F84F758FB706000391BFF84F758FAF +:10A4400013178729B1B7411106C622C426C297A4A3 +:10A45000FA1F9384E4CD2A84A830C145EFA0EEAF63 +:10A46000A83093050002EFA04EAF2302040023138F +:10A470000400B2402244924441018280411106C648 +:10A4800026C222C44AC0AA84EF10701AEFF08FB51A +:10A4900079C5B85083A7440901482324E508B84C7E +:10A4A0002A841546232CE508F84C97A5FA1F9385B6 +:10A4B0004511130585132322E5F6D83B17A9FA1F8A +:10A4C00013094900A30FE5EEF83BF42B2207558F43 +:10A4D0002310E5F0983F942F2207558F2311E5F0C4 +:10A4E000B83FB42F2207558F2312E5F0D82FDC3F59 +:10A4F000A207D98F2313F5F0DC2423220501A30E34 +:10A50000F5EE81471CC19760FA1FE780A0E4F820B0 +:10A510009307600B631DF70485472300F41483C77A +:10A52000C4032303F414A303F4142285EF10207E44 +:10A530008327890D0A24294693F7072091E30546CE +:10A5400093050008EF50B0618327090D1167F98F5B +:10A5500099C70A24514693050008EF5050602244E1 +:10A56000B24002492685924441016FF0DFED832716 +:10A57000090D1167F98FD5DB83A74409982383A7B9 +:10A5800084099C23F98F93D757482300F41471BF93 +:10A59000011122CC06CE2A8426CA4AC88347C407A2 +:10A5A0000325450899EB032544084DE158348547B8 +:10A5B000631DF71268582C5C19A231C53C25A1C750 +:10A5C0008347D407C9C3834734081307000493F7AC +:10A5D000070C639AE7069305E40769052EC6977092 +:10A5E000FA1FE7804074054783274408B245631C7F +:10A5F000E5020947230EE40619461385C700976054 +:10A60000FA1FE78020D50347C4078947E30DF7F811 +:10A6100019469305E407130564069760FA1FE7805F +:10A62000E0E451F119A09C3389EB8144F24062448B +:10A6300042492685D2440561828097A7FA1F83C7C5 +:10A6400077E8F1D3DDB71C31DDFFC5B73C29B9DFB1 +:10A6500083475407D9C78347B4071307000493F708 +:10A66000070C6390E708930564071305A5022EC63F +:10A670009770FA1FE780206B2A898547AA84B24524 +:10A68000032544086316F904194651059760FA1F1B +:10A69000E78040CC97A7FA1F83C7D7E281DB8947C1 +:10A6A000230AF4065C34E39327F983274408AA239A +:10A6B000DA23EE239E274207598DC207DD8D6244BF +:10A6C000F240D244424905611783FA1F6700838F25 +:10A6D0001C31A1DF97A7FA1F83C7D7DEE38807ECF9 +:10A6E000A9B71C31E39407EC89B70347D406834725 +:10A6F0005407E31CF7F21946930564071305E406B3 +:10A700009760FA1FE78080D6B334A00005B74111E7 +:10A7100006C622C42A84EFF01FA50327440997A781 +:10A72000FA1F83A7E796B8DF97A7FA1F83A7479575 +:10A7300098431317772998C3D857719BD8D7978018 +:10A74000FA1FE78000B5B2402244014541018280F2 +:10A75000011122CC2A84032585090146814506CEB4 +:10A7600026CA9780FA1FE78060B571ED83248409BB +:10A770009D469C20BD8B1CB4983038A46397D70CA1 +:10A78000BC200346D40393D667006312D60C93F71C +:10A79000F7039385440063FEE70A230A0406BC30EE +:10A7A000858B95C38547230AF4069C20194613051B +:10A7B000640793D76748A30AF4069760FA1FE780F7 +:10A7C00060B99385A400230E0406BC30898B85C72D +:10A7D0008547230EF4068327840919461305E407E9 +:10A7E0009C232EC69D83A30EF4069760FA1FE78074 +:10A7F00060B6B2459905BC30A18B99C79C3103471F +:10A80000F40391836319F7042285EFF07FD885471D +:10A810006309F5001305F007F2406244D244056174 +:10A8200082808347E40389CBFD17230FF4029790BE +:10A83000FA1FE780C042F9BF22856244F240D24449 +:10A8400005616FF0DFEC0945C1BF2145F1B719453E +:10A85000E1B71145D1B75145C1B7011122CC2A84C6 +:10A86000032585090146814526CA06CE4AC84EC63B +:10A870009780FA1FE78080A4894449E90329840965 +:10A88000A146A14483470900BD8B1CB403471900AE +:10A8900038A4639DD7068349290093D46900BDEC91 +:10A8A0009387190093F7F70F631CF70603473900E6 +:10A8B0008D476319F7068347090019469305490038 +:10A8C00093D7674813056407A30AF4069760FA1F35 +:10A8D000E78040A88547230EF4068327840919469C +:10A8E0009305A9009C231305E4079D83A30EF4069A +:10A8F0009760FA1FE78000A6B5476397F9022285A3 +:10A90000EFF01FC905C52285EFF05FB7F240624442 +:10A910004249B2492685D244056182809944FDB7F7 +:10A92000E544EDB7C544DDB7E144CDB7A544F9BF73 +:10A93000011122CC2A84032585090146814506CED2 +:10A9400026CA4AC84EC69780FA1FE780209763162A +:10A950000528032984091D46034709009376F7005B +:10A9600014B48347190093F7F7033CA46396C61EFB +:10A970007D57230DE40203472900054693566700DF +:10A98000A30ED402639DC6241377F7030507639AC9 +:10A99000E72403473900E1479376F7FB6395F624F4 +:10A9A00093778700AA849309490085C78347590094 +:10A9B0008566938606F0A207F58F834649009309C2 +:10A9C0006900D58F2312F404834759009183A30FA4 +:10A9D000F4029377070195E31377070419C7034738 +:10A9E000940389476313F700DD44F240624442490F +:10A9F000B2492685D244056182809790FA1FE7808C +:10AA0000002683C7090093F7F703A30DF40203C6DA +:10AA100029008967938707F022067D8E83C7190076 +:10AA20005D8E131656602311C40483C729009583D5 +:10AA3000230EF4028387090063DA070E9307C0121E +:10AA4000034794033306F60285476316F7003C2458 +:10AA5000A9078E071D8EB7070080930646ED9387E2 +:10AA600037ED63E4D718230DE4028347390093F7E9 +:10AA7000070481C78947E309F7F69307F00FE30658 +:10AA8000F7F6130700506365C70A1799FA1F1309F1 +:10AA9000296083270900D84793161749D4C70F1098 +:10AAA000000083270900B706020097A9FA1F9389BF +:10AAB00069C494C7130656ED9306000823A8D9006D +:10AAC0000606F0D3D8C7F8537DFFA147A30CF402C4 +:10AAD0002285EFF0CFD583270900D8479316174971 +:10AAE000D4C70F10000083270900B706020094C7DF +:10AAF0009306000823A8D90093062030F4D3D8C7C2 +:10AB00009770FA1FE780E07883A70900858BE38EB2 +:10AB100007EC22856244F240D2444249B24997A7E9 +:10AB2000FA1F23A907BC05616FF09FC2F94709BF4F +:10AB300003470404E31BF7EA930710271306F6D82C +:10AB40003356F60293060404A28517F5FFFF13059A +:10AB5000055CEF907EAC51BD398B59EBE91793F74B +:10AB6000F70F7D4793040008E361F7E88544230A63 +:10AB700094068347090019469305290093D767482F +:10AB800013056407A30AF4069750FA1FE780807C38 +:10AB90001C34230E04066392970283258409230E36 +:10ABA000F40619469C211305E407A1059D83A30E15 +:10ABB000F4069750FA1FE780E0792285EFF05F9D59 +:10ABC0008547A544E313F5E222856244F240D2446E +:10ABD0004249B24905616FF09FB3894439B5994440 +:10ABE00029B5914419B58D4409B593041002F5BBFC +:10ABF00093040008DDBB797122D44AD04ECE52CCEA +:10AC000056CA5AC85EC662C466C206D626D26AC092 +:10AC100017A4FA1F0324C493130A200B930A400BB2 +:10AC2000130B600B930B300B130C500B17A9FA1F6F +:10AC3000130949AC9799FA1F93890957930C800F10 +:10AC40007C20639F470183270900858BD9C3228518 +:10AC500097A7FA1F23A007AAEFF09FCD75D195A85B +:10AC6000639B570997A7FA1F83A707A9858BB5C3CD +:10AC70001799FA1F130949530355C90097A7FA1FDB +:10AC800023AC07A69307800F3305F50237460F0064 +:10AC90008146130606248145EF2071288327090089 +:10ACA000AA84AE898297B307950033B5A700B30590 +:10ACB0003501832689003E8799E163E4D700338715 +:10ACC000D74038D09790FA1FE78060F92285EFF0DF +:10ACD000EFFA5C20638D07102254B250925402594F +:10ACE000F249624AD24A424BB24B224C924C024D3C +:10ACF00045616FF0AF83639067099797FA1F938759 +:10AD00002739984354471396164950C70F1000002F +:10AD10009C433707020097A4FA1F9384A49D98C709 +:10AD20001307000898C81797FA1F032767351843B9 +:10AD30001357774815CF1307E018F8D3D4C7977087 +:10AD4000FA1FE78000559C40858B89CF97A7FA1F93 +:10AD500023A2079A9790FA1FE78060F02285EFF010 +:10AD6000DFAF25D98347E4038507230FF40295B7A6 +:10AD70001307E01AD9B7639E770183270900858BF3 +:10AD8000A9DB228597A7FA1F23A60796EFF05F9C01 +:10AD9000F1B5E39087F583274900858B9DDB03D5CB +:10ADA000C90037460F008146330595031306062474 +:10ADB000814597A7FA1F23A10794EF20511683A777 +:10ADC0000900AA842E8D8297B307950033B5A7009A +:10ADD000B305A50183A689003E8799E163E4D70006 +:10ADE0003387D740930760FB38D07CA091BDB25029 +:10ADF000225492540259F249624AD24A424BB24B0F +:10AE0000224C924C024D45618280411122C406C6FB +:10AE100097A7FA1F9387078E03C717021794FA1F85 +:10AE20000324047311CB83C607020D476396E60023 +:10AE300017A7FA1FA300078ED44F21476386E600A9 +:10AE4000D44F19476398E600D84F2380E70205479F +:10AE5000A380E7029790FA1FE78060E02285EFF079 +:10AE60008FDE1306A002930500080145EF50204F26 +:10AE7000034504049307F00F6307F500EF909E97D6 +:10AE8000FD572300F404B24022444101828097F729 +:10AE9000FFFF938747C71797FA1F232DF76A970776 +:10AEA0000000938787D51797FA1F232FF71A828000 +:10AEB0008347651313D737002A97834607139D8B63 +:10AEC00033D6F640058A630C0610011122CC06CE5B +:10AED0001C392A84898BC1E78327450A898BC1E302 +:10AEE00013058513EFE0FFB703475413834744036B +:10AEF000636DA7087D56FD46138567FF2C0032C49D +:10AF000036C613154560EFA0F05D03268413224773 +:10AF10008326C413B247718FF58F6314E600638AEA +:10AF2000F6002800EFE0FFB3A54763EEA702A30AEF +:10AF3000A4128347E41885E7034664132245B2450B +:10AF4000EF202179058901CD8327C41093F70708E5 +:10AF500099C78327440A939767292322F40AF2406A +:10AF60006244056182806D15A30AA41215462C0067 +:10AF7000130584129750FA1FE780C03D8327440AC7 +:10AF800093E727002322F40A6DB7834564131385E2 +:10AF900047FF131545609790FA1FE780A0BE51F94F +:10AFA0000346641305458145EF200175930704109E +:10AFB000985FDC5F15463375A740B3F5B7402AC4E8 +:10AFC0002EC6130584122C009750FA1FE780803894 +:10AFD000130704085C5393E727005CD399BFB3962B +:10AFE000F6282308D7128280411122C426C206C641 +:10AFF0004AC08347650338392A848507230BF50245 +:10B000009794FA1F9384C4085C25631C074C143979 +:10B01000B19B93E73700130700045CA5A30D05005F +:10B0200038B99397466063D8070093F6F60714B9CA +:10B03000EF30607139A88327850A13F7270031C7DD +:10B04000F59B2324F50A83270510918B85CFEF10FC +:10B05000803A343C854758246390F60E8327841148 +:10B06000DC4398A3832784115838DC4398B3032723 +:10B0700084119C405843B2402244B8DF92440249B4 +:10B0800041018280EF102035E9B713F7170019C787 +:10B09000F99B2324F50AEF10802765BF1829054680 +:10B0A0006314C724D5C713F7070119C7BD9B232411 +:10B0B000F50AEF10B01371BF13F7070401CB93F734 +:10B0C000F7FB2324F50AEF10A03761B713F7070841 +:10B0D00001CB93F7F7F72324F50AEF10C04295BF91 +:10B0E00013F7071009CB93F7F7EF2324F50A22850E +:10B0F000EF10C05AB9BF13F7074001CB93F7F7BF62 +:10B100002324F50AEF202007A9B71317B0287D8F55 +:10B1100001CB9397B7482324F50AEF10C06715BFFA +:10B1200009677D8F01CB9397D7482324F50AEF1049 +:10B13000407405B72324050A83270411582498A3D3 +:10B1400083270411583898B39C400327041125B76E +:10B150008327450A638D073613F7070119C7BD9B7F +:10B160002322F50AEF10F003EDB513F7070401CB26 +:10B1700093F7F7FB2322F50AEF10A01FD9BD13F7B1 +:10B1800007200DCBCD8A639806188327451A89EFCF +:10B190008327440A2322041A228593F7F7DF232208 +:10B1A000F40AEF10F00D75B59760FA1FE78020C51F +:10B1B00065F145B513F7170019CBCD8A639D0614C9 +:10B1C000F99B2322F50A2285EF10800259B513F767 +:10B1D000270011CBCD8A63900614F59B2322F50A34 +:10B1E000EF104071BDB513F7074001CB93F7F7BFE0 +:10B1F0002322F50AEF104022A9BD1317B0287D8F36 +:10B2000001CB9397B7482322F50AEF10C02491B5DC +:10B2100013F707020DC39760FA1FE78040BEE30AE9 +:10B2200005E28327440A228593F7F7FD2322F40AD7 +:10B23000EF10E00F39BD13F7870001CBDD9B232210 +:10B24000F50A2285EF10106129B563DD0700939799 +:10B25000F7492322F50A8327050A93E727002320CD +:10B26000F50AD9BD05677D8F11CBCD8ACDE69397C1 +:10B27000C7482322F50AEF10A031E1BB09677D8F93 +:10B2800011C79397D7482322F50A95B541677D8F5B +:10B2900001CB939707492322F50AEF10301255BBD3 +:10B2A000370702007D8F01CB939717492322F50AB8 +:10B2B000EF10604C79BB370710007D8F01CB93975F +:10B2C00047492322F50AEF10A05561B33707400024 +:10B2D0007D8F01CB939767492322F50AEF10C05E5B +:10B2E0008DBB2322050A89BD1DC79307700563E73F +:10B2F000E7069307600363E2E7029307100363EC3A +:10B30000E7009307500263EBE702E9476302F71493 +:10B31000F5476305F714228521BB130797FC1377C4 +:10B32000F70F93070002E3E8E7FE973601009386E4 +:10B33000A6BD3347D7201C43B69782871307A7FDC6 +:10B340001377F70FAD47E3E8E7FC973601009386E4 +:10B35000E6C33347D7201C43B6978287930720075D +:10B3600063E6E7049307000763ECE70093076006D2 +:10B370006306F71663EAE70093071006E31DF7F884 +:10B380002285EF30403CA1A8130767F91377F70F28 +:10B390000549E362E9F8EF30003B8327040A2308FC +:10B3A00024019397B7282320F40A65B19307600717 +:10B3B000E305F7D693076008E31FF7F4EF10604B3F +:10B3C00039A88347B50279476391E70283270510BF +:10B3D000918B89CBBD472306F502EF10C00185474D +:10B3E0001CA885B9EF00307FDDBF0549639B2701AD +:10B3F0008357450703576507BA978587231CF504CC +:10B40000D9B3EF3040348327040A2308240193E79B +:10B4100027002320F40A35B90347B502F947631D15 +:10B42000F700EF00507B85471CA88347A40293E7F1 +:10B4300017002305F40231B9835744070357640703 +:10B440002285BA978587231CF404EF00705AF1BF58 +:10B45000EF00D065D947230AF404E5BE2285EF301A +:10B46000802E8327040A2308040093E71700232073 +:10B47000F40AC5B6EF00306EE9BE8547A306F504B1 +:10B480009305C50A41461305C50C9750FA1FE7807E +:10B4900060EC45BB8D472306F5042322050E2324CB +:10B4A000050E2326050E2328050EEF00906455B6E1 +:10B4B000EF3060291C38DD9B1CB88327040A93E712 +:10B4C00007012320F40A21BFEF00907709BF97609E +:10B4D000FA1FE780C092E30E05B635BDEF10B04904 +:10B4E000FDBD1797FA1F1307E7FD1E2B85071EAB3F +:10B4F0008DB679714ECE9799FA1F9389A9FC22D403 +:10B5000003A4C90952CC56CA5AC8370A0300370BDC +:10B510000082B70A00F926D24AD05EC606D662C4B7 +:10B5200066C21799FA1F1309E91C9794FA1F9384AE +:10B5300024B6930B8A157D1BFD1A7C241307100C6F +:10B540006396E71A9C4098430D8B0DC71797FA1F17 +:10B55000230C07A0B84B1377F78FB8CB984313672A +:10B56000870098C39C4393D7374889C701000100DF +:10B57000010001009797FA1F83C707C489E7976006 +:10B58000FA1FE780E0B09040979CFA1F938C4CAF75 +:10B5900003A70C00930780077CD29797FA1F238597 +:10B5A000079C5C57179CFA1F130C8CAFF19B93E719 +:10B5B00017005CD78347241454579395476093F73B +:10B5C000F703B3F66601E607D58F5CD79306A003B1 +:10B5D00083270C0063D0B606F44FB7050007CD8E65 +:10B5E000F4CF83268409228514C78326C40954C353 +:10B5F000544293E6160054C2D457F59AD4D78346E2 +:10B6000064131C4393F6F60793F707F8D58F1CC312 +:10B61000EFF09F9D5C38C5C78347C404898BC5C3C1 +:10B62000A2850545EFA020351DCD9780FA1FE78044 +:10B63000006359A39306200263D8B600F44FB70500 +:10B640000005B3F6560161BFE94663D8B600F44F72 +:10B65000B7050003B3F6560159B7F44FB3F65601D8 +:10B6600093968629B5BF03A70C00B70633001C4389 +:10B6700093F7F7CF1CC31C4393F7F7CF93E707204B +:10B680001CC303270C001C47D58F1CC79C40130705 +:10B690008A27B8CB930700082326F9009797FA1F4B +:10B6A00023A60706503883456414930730FC7CA416 +:10B6B000110601459770FA1FE78040D6BDBD03A76C +:10B6C0000C00B70633001C4393F7F7CF1CC31C4391 +:10B6D00093F7F7CF93E707201CC303270C001C4701 +:10B6E000D58F1CC79C4013078A2565B71307400CEC +:10B6F0006390E7528327C900858B638E074C8327AD +:10B70000C90093F7070889CF03476413935737009D +:10B71000A29783C607131D8B3397E6482388E71249 +:10B720007C3413F7270019EB93E72700130700F881 +:10B7300058AC7CB49797FA1F23A607E2032544115F +:10B7400013062403930544039770FA1FE78000B79C +:10B7500003D7690483474403232CA900998F230A44 +:10B76000F40283278901858B639D07368347A402F2 +:10B77000A30C04002310040893E727002305F40218 +:10B780002285EFC09F8D29ED83278411A309040032 +:10B790009DCF383C0DCF9837058B15EBBA27C843A2 +:10B7A000136707F0BAA79750FA1FE78040988357AE +:10B7B000440485072312F404832784119C43232C1B +:10B7C000F4108327441A81C7FD172322F41A5C382A +:10B7D00081CB8347C404898B81C72285EFC03F8C0E +:10B7E00083278901898B638707108347C404858B6E +:10B7F000638207101C3C85071CBC22859797FA1FA3 +:10B8000023A007F09750FA1FE780207C8547631F2D +:10B81000F5302285EFF04FFD8347C404898B638B9D +:10B82000072C5C386388072CA2850545EFA0A0147F +:10B83000E31D05DE1797FA1F032787841C43B7060D +:10B84000330093F7F7CF1CC31C4393F7F7CF93E76D +:10B8500007201CC31797FA1F032787841C47D58F1F +:10B860001CC7B70703001797FA1F03276782938740 +:10B8700087273CCB4C380345641491059770FA1F19 +:10B88000E78020AE9787FA1F83A7877F9843131717 +:10B89000772998C3D857719BD8D7930730FC7CA4DD +:10B8A0009797FA1F83C74791A1E3832704128DCF8F +:10B8B0007834058B15CBD443D0278C270A248906EE +:10B8C000EFE0006015E183270412BA27A384070084 +:10B8D000136707F0BAA79C432320F412835724046C +:10B8E00081C7FD172311F4045038834564140945BA +:10B8F0001106C9B32285EFC06FF8E31005F0228569 +:10B90000EFC0EFF21C3813F7870021CB782831C73E +:10B91000743805461387B6FF1377F70F637FE60287 +:10B9200045476369D7003727020011073357D7000F +:10B93000058B05E79307D003230AF40493077002ED +:10B940001CA88347C404858BE38907EA7C28E38627 +:10B9500007EA2285EFC0AFF94DB554340D47639F18 +:10B96000E6027C381307A002637FF7007C381D478E +:10B97000E389E7FCA306F4028327840A93E7170010 +:10B980002324F40A7DBF172701001307E76CB3C710 +:10B99000E7209C432285829771F965B7383805EF17 +:10B9A0001828C1466318D70093E717001CB88547CD +:10B9B0001CA815A0D5466315D70093E72700FDB74F +:10B9C000F1466314D7028327040A2308040093E78F +:10B9D00017002320F40A7C28ADD722859750FA1F40 +:10B9E000E7806051E31B05E0A9BF9306900563154E +:10B9F000D70A0347A41421CB83466414B316D02876 +:10BA00006306D70093E707011CB821A80346B414C6 +:10BA10002DEA7C2C99C78327040A93E7072023206B +:10BA2000F40A058B8357641E25C7938707FB2147BC +:10BA3000B3C7E7020357441EB3C70708B357F70A53 +:10BA40002307F404ADB70346B41411EA7C2CA5D344 +:10BA50008327040A93E707202320F40A89BF83463B +:10BA6000741493E70701B316D028E391C6F47C2C35 +:10BA700099C78327040A93E707202320F40A05DBEC +:10BA80004DB783467414B316D028E39DC6F6C5B7E8 +:10BA90009387C7FB114769BF930770066318F702C6 +:10BAA0001787FA1F0327C75D3C57ED9B3CD7979735 +:10BAB000FA1F238207C6371700401E2FC607C5830B +:10BAC0001EAF5C2493F7F7FD5CA4D5B5930750092E +:10BAD000E313F7F08347E41893E747002307F418CC +:10BAE000F9B51C2C85071CAC83D7E9008507239783 +:10BAF000F90021B31787FA1F032787581C43B7069D +:10BB0000330093F7F7CF1CC31C4393F7F7CF93E7AA +:10BB100007201CC31787FA1F032787581C47D58F98 +:10BB20001CC79C4013078A25B8CBA9B39780FA1F7E +:10BB3000E780E0129787FA1F83C7076895EF83278E +:10BB400004129DCB7834058B05CBD443D0278C27AA +:10BB50000A248906EFE0C03605E183270412BA27DC +:10BB6000136707F0BAA79C432320F41283572404D9 +:10BB700081C7FD172311F4042285EFD02F931C3CBD +:10BB800085C73D476379F7009305D0032285EFC051 +:10BB90009FD1A305A4029787FA1F83A7E75E89C7F1 +:10BBA00095451305600882971C2C99C783C7290502 +:10BBB00081C72285EFF0CFAF22852254B250925434 +:10BBC0000259F249624AD24A424BB24B224C924C41 +:10BBD00045616FC09FB99C40FC53E39007969780E6 +:10BBE000FA1FE780C0078327C90093F7070891C7AA +:10BBF00083D7290185072399F9002285EFD00F8B80 +:10BC00008327C90093F70708C5DBEF902E8D79BF16 +:10BC10001307300CE39BE7A083278900858BFDC3C6 +:10BC20009797FA1F23AC07AC8327040A858B85C737 +:10BC30009780FA1FE780A00203457402EF809EBB45 +:10BC400083454405FD57A303F4022285EFC0BFC519 +:10BC5000A305A40295B78355041E0356241E03456D +:10BC600074149105B3C505089770FA1FE7806095B5 +:10BC70008347C404978CFA1F938C8C40178CFA1F4F +:10BC8000130C0C42858BA1CBA2850145EF9030555A +:10BC900003A70C00B70633001C4393F7F7CF1CC370 +:10BCA0001C4393F7F7CF93E707201CC303270C002F +:10BCB0001C47D58F1CC79C4013078A17B8CB035667 +:10BCC000041E930740FC8345741411067CA40545AB +:10BCD00033460608C5B203A70C00B70633001C4361 +:10BCE00093F7F7CF1CC31C4393F7F7CF93E70720D5 +:10BCF0001CC303270C001C47D58F1CC79C4023A8DE +:10BD0000770575BF9C40FC53E399078239BA01114E +:10BD100006CE22CC26CA4AC84EC69784FA1F938400 +:10BD2000647ABC309789FA1F9389094803D7C90000 +:10BD3000A307F5023E3D130900322A84B387E702C8 +:10BD400037460F001306062481468145B3D72703E3 +:10BD50002326F5081305C0123305A702EF10311C86 +:10BD60002312A4082285EFC04FD603D7C9003E3C5A +:10BD70009306204E2285B387E702B3F72703B387E4 +:10BD8000D702B3C7E7021EB08357440886072311C2 +:10BD9000F408EFC04F8B2285EFC04FA66E3C228582 +:10BDA0009205F915B3C50508EFC02F862285EFD09F +:10BDB0001FD0E147A30AF4129787FA1F83A7872AA7 +:10BDC00023A0840A898B85C39784FA1F9384C4387F +:10BDD0009C5891CB83258409354582979C588325AF +:10BDE000C4093945829722856244F240D2444249CF +:10BDF000B2499787FA1F239E076C9787FA1F23ABD8 +:10BE0000076C05616FC01F8B411126C206C622C494 +:10BE1000AA84EFD03F9D19C52A842685EFC09FA62E +:10BE20002322A41AB240224492444101828041114B +:10BE300026C206C622C44AC0EFD03FACAA8431C98C +:10BE4000EFD05F9A2A8463000516C1473EA5930789 +:10BE500000FB7CA585471CA91789FA1F1309C92F68 +:10BE600083570901130740109305D0249507130544 +:10BE70000004B3C70708B3D7E70A33F5A70A97400A +:10BE8000FA1FE780A01D2328A41019E90A24EFD087 +:10BE90007FB4B24022440249268592444101828007 +:10BEA0009797FA1F83A7C788232AF4109787FA1F4A +:10BEB0009387476183A6470D03A7070D232ED40E52 +:10BEC0009433232CE40E89E61377F7F3232CE40E46 +:10BED000BA3F8326C40F0326840F2312E4142326BB +:10BEE000D41003C7A7048346E4022324C410A30488 +:10BEF000E41693E616FC0327440A2307D40283A61C +:10BF0000870C136607042322C40A37060002231392 +:10BF10000414F18E89C6136707052322E40A83C738 +:10BF2000270599C78327440A939767292322F40A90 +:10BF3000FD572310F4047EB02304F4028567938731 +:10BF400087BB2315F4042285EFC0AF900345490158 +:10BF50002301A414EF90903FD147A303F418930753 +:10BF60008002A302F4189307C04E231CF416930713 +:10BF7000F007230DF416F5779387A7EB231EF4162D +:10BF80008327C40FA301A4142300A418A300A4189A +:10BF900093F7070881C785472307F4189787FA1F87 +:10BFA00023960752FDB58544EDB5411106C6EF60F5 +:10BFB000407FEFE0DFEDB24097F7FFFF9387A75395 +:10BFC0001787FA1F2324F70A4101828078298947BD +:10BFD0006304F70005458280832745111307000499 +:10BFE000BC33A305F5021C2993F6B70F6396E60050 +:10BFF000930750041CA90DA0130750056390E70296 +:10C000008327050A93E707202320F50A85471CA903 +:10C010001C3993E707F81CB90145828013075006C5 +:10C020006395E7009307A006F1B713075008639BD9 +:10C03000E70085471CA98347A50293E7170023055E +:10C04000F502F9B7383559F7130700026386E700A0 +:10C05000130730026395E7009307600261BF13077F +:10C06000A007E399E7F6930710F869B778298D469A +:10C07000832745116311D706D423A305D502BC330A +:10C080006392E7023C35A1EB1C291307000263868B +:10C09000E700130730026395E700930760021CA9CD +:10C0A000014582807D476364F70235476375F70277 +:10C0B000C91793F7F70F4547636FF700172701007C +:10C0C0001307C7EFB3C7E7209C43BA9782871307CC +:10C0D0003002638BE706054582801C2913070004A4 +:10C0E00093F7B70FE39EE7FA930750044DBF182963 +:10C0F00093070003E311F7FE854755B71829930707 +:10C100000005CDBF182993075005E316F7FC8327D8 +:10C11000050A93E707202320F50A85471CA91C3947 +:10C1200093E707F81CB9ADBF182993075006E3142D +:10C13000F7FA9307A006A5B718299307A007E31CF1 +:10C14000F7F8930710F8A1BF182993075008E314D4 +:10C15000F7F885471CA98347A50293E71700230535 +:10C16000F50275BF782989476304F7000545828089 +:10C17000832745111787FA1F1307C7340346A704FF +:10C18000BC330347970493F6F7019983636AD7009A +:10C1900003478516218B09C73357F640058B0DE7FA +:10C1A0006947B317F028F18F2306E5028D8B13073B +:10C1B000000291E379478327850AA305E50293E707 +:10C1C00027002324F50A5DB718292307F516A306CF +:10C1D000D51685476317F700930760061CA901452C +:10C1E00082808327850A93E707402324F50AC5BF89 +:10C1F000B1475CB983270511C5CB0947A30AE504FC +:10C200008356E505035705048355050663E7E600F5 +:10C2100013865500998E6343D6029786FA1F83D6FC +:10C2200026350D4811466365D800850613F6F60FCE +:10C230002E972107A30AC504231FE50423810700C5 +:10C2400003475505B8B3034765050356850583566F +:10C25000A505D8A303576505F0A394A72183D8B3F8 +:10C2600013578600F8B313D7860098B70357C50550 +:10C2700093558700ACB78345E505B8A7CCA7835590 +:10C28000E505A181CCB72E3D81476399C500523D9C +:10C290006316D6007E3D998F93B717002311F506DC +:10C2A000C1471CA90145828005458280832705116D +:10C2B000094758B999CFB8A303474505B8B3834791 +:10C2C000A50293E787002305F502F1471CA9014564 +:10C2D00082801D45828085475CB98327051181CB0B +:10C2E0001547B8A39307B0021CA9014582800545F4 +:10C2F000828085475CB98327051181CB1947B8A394 +:10C300009307D0021CA90145828005458280894798 +:10C310005CB98327051191CB1D47B8A3832705116D +:10C320000347D5020145B8B3828005458280854721 +:10C330005CB98327051191CF2947B8A38347A5028C +:10C3400093E747002305F502930750031CA9014515 +:10C3500082800545828085475CB98327051181CBA2 +:10C360002D47B8A3930770031CA90145828005459A +:10C37000828099475CB9832705113147B8A3178795 +:10C38000FA1F13072714562BB4B3742BD4A3762BA0 +:10C39000A182D4B3142FF4A3183FF8B38347E50266 +:10C3A00013F7070401CF9307A0031CA98347E502F5 +:10C3B00093F7F7072307F50201458280858BFDD7A8 +:10C3C0008327050AA30505022307050293E707044F +:10C3D0002320F50AE1BF89475CB98327051191CB7A +:10C3E0003547B8A3832705110347B5020145B8B304 +:10C3F0008280054582808D475CB98327051199CBE2 +:10C400004547B8A30347C502B8B30347B502014582 +:10C41000D8A382800545828085475CB983270511B2 +:10C4200091CF4947B8A39307A0041CA98347A5024D +:10C4300093E747002305F502014582800545828088 +:10C4400085475CB98327051189C74D47B8A30145C6 +:10C4500082800545828083270511C5C7254758B9C5 +:10C460005147B8A30347051D8356251DB8B303479D +:10C47000151DD4B3D8A313D78600F8A30347451DD1 +:10C48000F8B30347551D98A70357651D135687003A +:10C49000B0A798B78345751409466383C502032680 +:10C4A00005109315B0286D8E01EE0566130686847F +:10C4B000B3D6C60AD4B333C6060893568600F4A38F +:10C4C0000346651489466303D602832605101316B6 +:10C4D000B028F18E81EE8566938686843357D70A1D +:10C4E00098B7B346070813D78600B8A78347A502B5 +:10C4F00093E747002305F502930700051CA90145B2 +:10C5000082800545828083270511C9C3254758B914 +:10C510005547B8A30347051D0356251D8566B8B3C7 +:10C520000347151D938686843356D60AD8A303473E +:10C53000451DB3450608F8B30347551D98A7035793 +:10C54000651DD0B313D685003357D70A98B7B346C5 +:10C55000070813D78600F0A3B8A78347C507A3052C +:10C56000050299C78327050A93E707102320F50AD8 +:10C570008327450A1317B0287D8F09C79397B748BB +:10C580002322F50A85471CA9014582800545828042 +:10C59000032705118D475CB9D9473CA38346451451 +:10C5A00034B383475514918A5CA30357651EA1C613 +:10C5B0009306F034814763FDE600930787E803574D +:10C5C000851405CB8587938757FD8D87B3C70708EB +:10C5D0000357451EB357F70A2307F5048347A502FF +:10C5E00093E747002305F502930750051CA9014571 +:10C5F00082808D87C9BF858B89CB130707FBA14735 +:10C600003347F702B3470708E1B71307C7FB914762 +:10C61000C5BF032705118D475CB9DD473CA38347A0 +:10C6200045143CB38346551454A30347B514F98FFE +:10C6300093F647000357651EA1C69306F034814761 +:10C6400063FDE600930787E80357851405CB8587CC +:10C65000938757FD8D87B3C707080357451EB35708 +:10C66000F70A2307F504930780051CA98347A50251 +:10C6700093E747002305F502014582808D87C9BFF6 +:10C68000858B89CB130707FBA1473347F702B347D5 +:10C690000708E1B71307C7FB9147C5BF95475CB9CA +:10C6A0008357050403270511E146A107B3C707080F +:10C6B0002316F51434A38346A51434B30346B514E6 +:10C6C000A30207002303070050A3832585144166B6 +:10C6D00063F3C50081475CB3A1837CA393F7460055 +:10C6E0000357651E95CF9306F034814763FDE6003E +:10C6F000930787E80357851415C38587938757FDEC +:10C700008D87B3C707080357451EB357F70A23079A +:10C71000F504930790051CA9014582808D87F9BF18 +:10C72000858A89CA130707FBA1473347F702B34736 +:10C730000708D1BF1307C7FB9147C5BF03270511E2 +:10C740008D475CB9E5473CA3834675148347651460 +:10C75000B317F028B397D7283CB3834715145CA3CD +:10C760008347A50293E747002305F50293070006D8 +:10C770001CA90145828089475CB98327051175474B +:10C78000B8A31787FA1F034717D4B8B39307500706 +:10C790001CA90145828089475CB983270511794727 +:10C7A000B8A30347F502B8B38327050A9397F72880 +:10C7B0002320F50A85471CA9014582801787FA1FA7 +:10C7C000032787D55C2393068005B387D7021457C8 +:10C7D00003270511BE96A5475CB9930700023CA349 +:10C7E0000356651E8357251EB297D05A9387C712EA +:10C7F000B3F7C70A3CB313D68700C18350A35CB319 +:10C800009C5E7CA313D68700C18370B31CA7DC2E6B +:10C810001CB7DC3E3CA79307C0071CA901458280DA +:10C8200091475CB98327051113073002B8A303476A +:10C830002517118B1DC7034745177D173317E028B0 +:10C84000B8B30147D8A303473514D8B38347A5022B +:10C8500093E747002305F502930750F81CA901450B +:10C860008280034775143317E028B8B30307F51720 +:10C87000D1BF0327051195475CB9930740023CA33C +:10C880008306351483079517958F93B7170086078E +:10C890003CB3030685176315D60093E717003CB336 +:10C8A0000306751750A38347651754B37CA38347CA +:10C8B0002517858B81CB19C68327050A93970729EE +:10C8C0002320F50A0145828091475CB98327051131 +:10C8D00013078002B8A31787FA1F0347C7C3B8B36B +:10C8E0002947D8A313072003D8B3930750F91CA9ED +:10C8F00001458280411126C28324051106C622C447 +:10C90000A1475CB9A1C483570504035705062A84CF +:10C9100093058512BA97A9072317F5128547BCA07E +:10C920001385340015469740FA1FE780A0A283477D +:10C93000E41201459CA48357E412A1839CB4D5471B +:10C940001CA8B24022449244410182800545D5BFD3 +:10C95000411126C28324051106C622C4B5475CB91D +:10C960009DCC91472A84BCA09305451C2146138584 +:10C9700034009740FA1FE780E09D1385B40011460C +:10C980009305C41C9740FA1FE780C09C93072002C0 +:10C990001CA80145B24022449244410182800545D1 +:10C9A000D5BFA5475CB9832705119DCF411122C48E +:10C9B00006C62147B8A32A84032505119305840FD1 +:10C9C00021460D059740FA1FE780C0988347A402CF +:10C9D000014593E747002305F402930700031CA8D1 +:10C9E000B24022444101828005458280832705119F +:10C9F000A9C3411122C406C6254758B9B8A32A8441 +:10CA0000032505119305840F21460D059740FA1F54 +:10CA1000E78040948327040AA3050402014593E7B5 +:10CA200007022320F40A85471CA8B2402244410192 +:10CA3000828005458280A5475CB9832705119DCF7B +:10CA4000411122C406C63947B8A32A84032505111B +:10CA50009305840F21460D059740FA1FE780808FCC +:10CA60008347A402014593E747002305F402930797 +:10CA700000031CA8B2402244410182800545828007 +:10CA8000411122C406C6E1472A845CB90325051179 +:10CA900041C9BD473CA18347440739053146A30A34 +:10CAA000F5FE8347540793058406230BF5FE834761 +:10CAB0006407A30BF5FE83576407A183230CF5FEDF +:10CAC0008347A405A30CF5FE8357A405A183230D7A +:10CAD000F5FE8347C405A30DF5FE8347D405230E59 +:10CAE000F5FE83574406A30EF5FE83476406230F25 +:10CAF000F5FE83576406A183A30FF5FE9740FA1F46 +:10CB0000E78040858347A402014593E7470023055A +:10CB1000F402930700041CA8B24022444101828021 +:10CB20000545DDBF411122C406C6E1472A845CB930 +:10CB30000325051151C1C1473CA18347440739056D +:10CB40003146A30AF5FE8347540793058406230B59 +:10CB5000F5FE83476407A30BF5FE83576407A183A3 +:10CB6000230CF5FE8347A405A30CF5FE8357A4050B +:10CB7000A183230DF5FE8347C405A30DF5FE83476E +:10CB8000D405230EF5FE83574406A30EF5FE834716 +:10CB90006406230FF5FE83576406A183A30FF5FEF9 +:10CBA0009730FA1FE780007B930740041CA80145DB +:10CBB000B2402244410182800545DDBF011122CCF3 +:10CBC00026CA4EC606CE4AC8930730025CB9930700 +:10CBD0000510804B7147AA8438A00347051583A927 +:10CBE000070638B00347151558A06389091C832729 +:10CBF00005090325C5081777FA1F1307E75A63E1EC +:10CC0000A71A3385A74083A7090A63EEA7183385BF +:10CC1000A740B7470F0093870724B335F502522783 +:10CC200081463305F502EF00912FB7C7030009676E +:10CC3000938747FC7D1763FBA7169307C012B35772 +:10CC4000F502F98F0547B3C707085CB01607A18343 +:10CC5000D98F138909087CA08327C90519469385B4 +:10CC6000690DA1837CB033C70708935787001CA4C4 +:10CC7000834709031305D4011CB4834719033CA45B +:10CC8000834729033CB4834739035CA40327490342 +:10CC90005C347D8B819BD98F5CB403C7F90D93F70E +:10CCA000F70FFD8B1607D98F5CB4834749017CA42D +:10CCB000834759017CB4834769011CA883477901E4 +:10CCC0001CB8834789013CA8834799013CB8834736 +:10CCD000A9015CA883D789089386170033C7060883 +:10CCE000218354B878A803C7040478B803C7140490 +:10CCF0001CBCA18318AC3CAC83C7F40203C7490D2C +:10CD00009607D98F03C7590D1207D98F3CBC83C72B +:10CD1000C90DFD17B317F0285CAC9730FA1FE780F8 +:10CD2000606383C7090EA9C71307B002D8B81307F9 +:10CD3000A00238A003470904A302E4020347190430 +:10CD40002303E40203472904A303E402034739044D +:10CD5000A304F4022304E40283C7190E2305F4029A +:10CD600083C7290EA305F40283C7390E2306F402F4 +:10CD700023A00416138704081C5301459397F72931 +:10CD80001CD383C70404A301F40283C71404230241 +:10CD9000F402F2406244D2444249B24905618280C1 +:10CDA0001447B697B9BD1447B69795B5F947B35729 +:10CDB000F502F98FB3C70708014741BD032945169E +:10CDC0000545E30809FC83A7040903A5C4081777F0 +:10CDD000FA1F1307673D63EEA7143385A740832727 +:10CDE000890963EBA7143385A740B7470F009387E2 +:10CDF0000724B335F502522781463305F502EF00CB +:10CE00001112B7C703000967938747FC7D1763F8C2 +:10CE1000A7129307C012B357F502F98F0547B3C79E +:10CE200007085CB01607A183D98F7CA083476908E7 +:10CE30001946930569037CB0835769081305D4012B +:10CE4000A1831CA48347090A1CB48347190A3CA484 +:10CE50008347290A3CB48347390A5CA40327490A5B +:10CE60005C347D8B819BD98F5CB483C7F4025834CA +:10CE700096077D8B5D8F58B40347C90878A4034794 +:10CE8000D90878B40347E90818A80347F90818B87F +:10CE90000347090938A80347190938B8034729097E +:10CEA00058A8035789089356870058B874A883C6B2 +:10CEB00004047D1774B883C6140418BC14ACB346BC +:10CEC000070813D7860038AC0347F907D98F034703 +:10CED00059031207D98F3CBC83470908B317F028C0 +:10CEE0005CAC9730FA1FE780E0468327C90A9DCFE4 +:10CEF0001307B002D8B81307A00238A09823A302E2 +:10CF0000E40298332303E402B823A303E402B83312 +:10CF10002304E402D823A304E402D8332305E40263 +:10CF2000F823A305E402FC332306F40223A204162B +:10CF300091B51447B69755B51447B6976DB5F947EF +:10CF4000B357F502F98FB3C707080147D9BD41119F +:10CF500006C6AD475CB983270511130790029305F8 +:10CF60007519B8A31385370029469730FA1FE78053 +:10CF7000603EB24001454101828083254511411147 +:10CF800022C426C206C6DC21B8312A84A207D98F62 +:10CF900005651387A7FF9306A5C7F944334707081C +:10CFA00063E4E60AF821D431130505C82207558F3A +:10CFB000F944636BE5086369F7089025F4312206AC +:10CFC000558E9306301F63E1C608B42503C895004B +:10CFD000A206B3E606016369D506130516003345BC +:10CFE00005083305F50213983600635F0505A8357B +:10CFF00019C1636BA7040358A4038144639C070110 +:10D00000631AF7000358C4036316C800663C958C86 +:10D0100093B41400231DC4042312A406231AF40697 +:10D02000231BE406231ED404DC35D8253146A20791 +:10D03000D98F2313F406B905130584069730FA1F18 +:10D04000E780403191475CBCB2402244268592443F +:10D050004101828079714AD00329051106D622D474 +:10D0600026D24ECE52CCDD475CB9630409108D4701 +:10D070002301F9002A84EF704EA99304541B2AC49B +:10D08000EF70AEA821462C002AC626859730FA1FDD +:10D09000E780402C8347741B0347641B9309D41B10 +:10D0A000A2074207BA970347841BBA970347541B4A +:10D0B0006207BA972324F40C0347A41B8347B41BCD +:10D0C0004207A207BA970347C41BBA970347941BAA +:10D0D0006207BA972322F40CEF702EA32AC41146DC +:10D0E0002C004E859730FA1FE780C0268347E41B4B +:10D0F0000347D41B2146A207D98F0347F41B93058E +:10D10000B41A1305390042075D8F8347041CE207F8 +:10D11000D98F232EF40C9730FA1FE780A023834782 +:10D12000441B0347341B21462306F900A305E900ED +:10D13000A6851305D9009730FA1FE780A0211305B3 +:10D1400059011146CE859730FA1FE780A02083470A +:10D15000A402014593E747002305F4029307000268 +:10D160001CA8B250225492540259F249624A4561B5 +:10D1700082800545FDB7411122C406C685475CB9CA +:10D180008345D5162A84032705110345E5168546F0 +:10D1900093176500CD8F3CA3ED473CB35C24034659 +:10D1A000C41693E707025CA4EF80B02693077006CD +:10D1B0001CA8B240224401454101828083274511C9 +:10D1C0001303000ECC23B433A205D58D938655FEF0 +:10D1D000B3C606086361D306F023D4331168220670 +:10D1E000558E930686EB13088814B3C6060863644D +:10D1F000D804942783C87700A206B3E61601938863 +:10D2000056FEB3C808086368130383C89700BC2799 +:10D21000A207B3E71701938887EBB3C80808636CCC +:10D220001801231CB51C231DC51C231ED51C231F40 +:10D23000F51C6FA01FCA05458280AA8728350547BF +:10D240006310E50AF42B3147639DE60803A74711F5 +:10D250003433A38AD70454335023A206D18E239BA0 +:10D26000D7046C337423A205D58D239CB7041037E3 +:10D2700014272206558E239DC70434372827A2067B +:10D28000C98E239ED704482758372207498FAA3FC3 +:10D29000239FE70401476319B500CE3F6396C5009D +:10D2A000FA3F158F133717002391E706982B930643 +:10D2B00000046300D702930640046314D7000547B7 +:10D2C00098AB983B9546D4BF136717F898BB0145B8 +:10D2D000828003C7A702136717002385E702C5B73B +:10D2E0000545828078298947631BF700832745110C +:10D2F000BC33230AF504F5471CA9014582801D456E +:10D3000082802A8728353DE5742BB5476394F6065D +:10D31000142B93070002639FF6048327471193059C +:10D320000708D433D023A2064206B296F023B29661 +:10D33000B0336206B296B4C194379027A206420673 +:10D34000B296B027B296F0336206B296D4DDD027FB +:10D35000B4372206558ED437FC27C206D18EE20799 +:10D36000D58FBCD11C3B93E787001CBB93073002D1 +:10D370001CAB8280054582803835AA8719EF682961 +:10D380000547631CE500942B130730026398E60001 +:10D390001307C00298AB0145828005458280AA87A9 +:10D3A000682905476318E502982B9306B0026319B4 +:10D3B000D7001307E00298ABA385070201458280DE +:10D3C0009306D0026319D7001307E002A385070272 +:10D3D00098ABEDB705458280782989476315F70634 +:10D3E000E947A305F502832745113947BC3363900C +:10D3F000E7021829930700036317F7048327050A38 +:10D4000093E707022320F50A85471CA979A0C517D1 +:10D4100093F7F70F51476368F702171701001307D7 +:10D4200067BEB3C7E7209C43BA97828783278510DE +:10D430001829F59B2324F510930700046315F700C2 +:10D44000930760041CA90145828018299307A00452 +:10D45000E31BF7FE85471CA98347A50293E7170046 +:10D460002305F5021C3993E707F81CB9832705103B +:10D47000C18BF1FB83278510BD9B2324F510E1B7F9 +:10D48000182993070005E310F7FC85471CA983279B +:10D49000050A93E707102320F50A1C3993E707F8DC +:10D4A0001CB955B7182993075005E31EF7F88327D1 +:10D4B000050A93E70720B9B7182993075006E31424 +:10D4C000F7F88327050A9397B7282DBF18299307E4 +:10D4D0005007E31AF7F68327050A9397F7281DB735 +:10D4E000182993075008E310F7F685471CA98347CE +:10D4F000A50293E717002305F50245B7AA8728354B +:10D500000547631DE500F82B631BA700982B6318E4 +:10D51000A7001307600398AB014582800545828010 +:10D52000AA8768290547631EE504982B93067003B4 +:10D530006314D70203C7A702238607049376070460 +:10D5400099C61377F7FB136707012385E7021307D3 +:10D55000800398AB01458280930650036314D70281 +:10D560001307800398AB03C7A702238607049376AB +:10D570000704EDD21377F7FB136707012385E70252 +:10D58000D1BF05458280782999476315F70883271D +:10D590004511B833A307E504D833D4232207558FA8 +:10D5A0002318E504F823FC331429A207D98F231983 +:10D5B000F5041307A0038347E5026392E604858B15 +:10D5C00099CB8327050AA30505022307050293E7E4 +:10D5D00007042320F50A8347A50293E717002305D4 +:10D5E000F50285471CA91C3993E707F81CB9834746 +:10D5F000E50293F7F7FB2307F50201458280939735 +:10D600004760E3D207FE8327450A93E707042322F6 +:10D61000F50AD1BF05458280AA87682905476310AE +:10D62000E50403A78710418B05CF982B6317A7004C +:10D630001307B00498AB014582809306A0046319D8 +:10D64000D70003C7A70288AB136717002385E7023B +:10D6500003A7870A1367070423A4E70AE9BF054560 +:10D660008280AA87682905476310E502942B130777 +:10D67000A004639CE60003C7A70288AB01451367BB +:10D6800017002385E70282800545828078298D472F +:10D690006315F71A1C39832645118D8B89EB0C29EC +:10D6A0002147938705FC93F7F70F6361F702D9478A +:10D6B0002306F5029307A002A305F5028327850A36 +:10D6C00093E727002324F50A014582803C35639ABD +:10D6D0000714930750056398F500D9472306F50210 +:10D6E00093073002D1BF9777FA1F9387A7DDD02227 +:10D6F00003C7A70383C7B703718F2305E514B432AB +:10D70000F58F83466514A305F514B318D028631468 +:10D71000170123050514034675143318C0286394B4 +:10D720000701A30505148347A5140347B514E9CFE2 +:10D7300045CB93F627009DCA1376270039C6930779 +:10D7400020202315F5148347A5146394F8002305BE +:10D7500005148347B5146314F800A3050514854721 +:10D76000639CF50A930760051CA9B9BF13F647002F +:10D770001DE6858BB9E785472305F51493772700C8 +:10D78000B9CB8947A305F5147DBF13F6470015C231 +:10D790001376470001EE858B8DEB8947F1BF137639 +:10D7A000470009E6858B95E39147F9B79307404019 +:10D7B00049BF858BFDD393771700E5D393071010EE +:10D7C00049B793761700FDFA45BF93771700FDF729 +:10D7D0009147E1F655B7118B85474DD791475DB716 +:10D7E00033D6C740058A01C623050515A9BF13F71F +:10D7F000270009C789472305F514B1B7918B99C351 +:10D800009147D5BF8547C5BF1DDFB356D740858A31 +:10D81000B5D6A305151505BF8327850A93E707101D +:10D8200055B585476396F500DC22A305F5141DBFA9 +:10D830008327850A93E7072071B5054582807429FF +:10D840000D47AA87639CE614142913075005054564 +:10D850006397E614A8376313051483C6471403C7F8 +:10D86000571403A6471133F8E6004C22631E080044 +:10D870006396B600034836006308E8002395071452 +:10D880001307700598AB8280ED8E2385D714303254 +:10D89000718F03C66714A385E714B318C028639477 +:10D8A00016012385071483C577143318B028631431 +:10D8B0000701A385071403C7A71483C6B71479C744 +:10D8C000D5C2137627000DC693F52600A9C113070C +:10D8D00020202395E71403C7A7146394E800238549 +:10D8E000071403C7B714E31DE8F8A385071449BF5D +:10D8F000937547009DE5058B39E705472385E714B8 +:10D9000013F7260039CB0947A385E714E9B79375C8 +:10D91000470095C193F5460081ED058B0DEB094756 +:10D92000F1BF93F5460089E5058B15E31147F9B77B +:10D930001307404079BF058B7DD313F7160065D3DD +:10D940001307101079B713F616007DFA45BF13F7C9 +:10D9500016007DF7114761F655B7918A0547CDD678 +:10D9600011475DB7B355B740858981C52385071534 +:10D970009DB79376270089C609472385E714A1BF81 +:10D98000118B19C31147D5BF0547C5BFA9D633D6DB +:10D99000C640058A35D6A385171535BF0545828053 +:10D9A000AA87283505476317E506F42B15476394C6 +:10D9B000E606982B930650056306D700930680056C +:10D9C000631BD70403C7A70283A54711136717007A +:10D9D0002385E702D0211147636BC702B431636826 +:10D9E000D7021307F6FF1388F6FF718F3378D8003C +:10D9F0003367070109EFF821C8312385C7142207CF +:10DA0000498F2396E714A385D7141305A00588AB87 +:10DA10000145828005458280AA87283509EDF42BCF +:10DA20000D47639AE600942B05476396E6001307BB +:10DA3000100698AB82800545828078298947631754 +:10DA4000F702832745111829BC332308F5028547BF +:10DA50006317F700930760071CA90145828083279D +:10DA6000850A9397B7282324F50AC5BF0545828008 +:10DA700078298947631AF702182993075007631317 +:10DA8000F70283274511BC332308F5028327050AD3 +:10DA90009397F7282320F50A85471CA91C3993E79B +:10DAA00007F81CB901458280054582807429154715 +:10DAB000AA8705456390E60C942B1307500805458B +:10DAC000639AE60A03A747113433A38AD71683065D +:10DAD0004700A38FD71603065700238DC716782358 +:10DAE000238FE71603C7271793754700A5C98946F3 +:10DAF000A389D71683A6070A6D9B2389E7169396F9 +:10DB0000062923A0D70A03C747189376170099CE92 +:10DB10009306F0076306D600136727002382E718F1 +:10DB200003A7070A1317172923A0E70A1777FA1F75 +:10DB300003477799A387E70203C747030145A38DEE +:10DB4000E716054798AB03C7A7021367170023859D +:10DB5000E702983B136707F898BB8280098B45D78B +:10DB6000DDD203A7070AA389A7161317072923A045 +:10DB7000E70A51BF8280782995476311F70A032786 +:10DB80004511BD463C3363E0F6069776FA1F83C61F +:10DB90003697FD8EA9CA742313F61700230DD516E8 +:10DBA00083065700A30FD51639C2814711A08547B8 +:10DBB0008507230AF5165C23A30AF5168347251764 +:10DBC00013F747001DCF0947A309E5160327050AE8 +:10DBD000ED9B2309F516131707292320E50A834730 +:10DBE0004503A30DF516014582808947D1B713D6A9 +:10DBF000174855FE13D627486DFA8D87CDDF8D4720 +:10DC000045BF898BE9DFE1DE8547A309F516832748 +:10DC1000050A939707292320F50AD1B70545828085 +:10DC200074291147AA870545639EE608B037054762 +:10DC300005456319E60883A64711A8326364A60266 +:10DC4000D822130810099305B7FF93F5F50F636BFE +:10DC5000B800CC329386B5FF93F6F60F6364D80014 +:10DC600063F1E5027947A385E70213078002238663 +:10DC7000E70203A7870A1367270023A4E70A0145E1 +:10DC8000828083A6C71093F60608F5DA83C6E718E4 +:10DC90006316C50293E616002387D7189306000A79 +:10DCA000A387E7183307D702B63F3347D70283D697 +:10DCB0000704850636972398E718D1B7D99A2387A2 +:10DCC000D71875BF828078299307B0026319F71CB3 +:10DCD0008357051E411126C206C622C44AC09306B8 +:10DCE000A002AA8463F3F61A1779FA1F032909859B +:10DCF0000545630D09188327C901B98B6398071877 +:10DD000003A4441119465C2C1387F7FF9375F70F92 +:10DD1000636DB6167D8F631A071603C7E414630696 +:10DD200007169028130700046313E60203A7040AEA +:10DD3000A385D4021367470023A0E40A1307200732 +:10DD400098A803C7A402136717002385E40293D79A +:10DD500017488507230EF90C3C3C19469305D4015E +:10DD600013F7F700230AE90C93D747481305690D09 +:10DD7000A30AF90C9720FA1FE780C05D5C349583F5 +:10DD8000A30FF90C78301C243438A30EE90C783436 +:10DD9000230FF90C7C242207A2065D8F1C28C207E2 +:10DDA000D98F183862075D8F93070908D8CB3828B8 +:10DDB000D98E58284207558F98CF3824143422071B +:10DDC000558F3434C206D98E58246207558F543487 +:10DDD00098DBFD8AD4DB03476402834654022207A2 +:10DDE000558F83467402C206D98E034784026207A8 +:10DDF000558FB8C3834794022300F90E8347A402CA +:10DE0000A300F90E8347B4022301F90E8347C4022D +:10DE1000A301F90E5C203830A207D98F2399F4149E +:10DE20007C205830FD8BA207D98F7820239AF414D8 +:10DE30009376070281CA1377070439EF9397E7288F +:10DE4000239AF4147C285838A207D98F239BF41402 +:10DE50001C2C7838A207D98F239CF4143C2C183C36 +:10DE6000A207D98F239DF414834744020347340249 +:10DE7000A207D98F239EF41483A7040A9397E72857 +:10DE800023A0F40A930710079CA80145B24022443E +:10DE900092440249410182807177D98F55B7054577 +:10DEA00082807829AD476318F702411106C683477F +:10DEB000E51883254511294693E707012307F5183F +:10DEC0008D05130575199720FA1FE780A048B24009 +:10DED00001454101828005458280782993073002FF +:10DEE000631EF7180357051E411126C206C622C439 +:10DEF0004AC093072002AA8463F8E7161769FA1F3D +:10DF00000329C9630545630209168327C901B98B33 +:10DF1000639D071403A4441199465C2C1387F7FFF3 +:10DF20001376F70F63E2C6147D8F631F071203C7D2 +:10DF3000E414630B07129428130700046395E602A8 +:10DF40001307A002A385E40203A7040A136747008E +:10DF500023A0E40A1307200798A803C7A4021367A5 +:10DF600017002385E40293D717488507230EF90C81 +:10DF70003C3C19469305D40113F7F700230AE90C3A +:10DF800093D747481305690DA30AF90C9720FA1F88 +:10DF9000E780403C5C349583A30FF90C1C24783057 +:10DFA000230FF90C7C34A30EE90C7824A207D98F37 +:10DFB000182842075D8F1C38E207D98F3838232A8A +:10DFC000F9083C2822075D8F5C28C207D98F232CD3 +:10DFD000F9083C241834A207D98F383442075D8FE2 +:10DFE0005C24E207D98F58342328F90A7D8B232A31 +:10DFF000E90A5C203830A207D98F2399F4147C20D9 +:10E000005830FD8BA207D98F7820239AF414937689 +:10E01000070281CA1377070439EF9397E728239AF9 +:10E02000F4147C285838A207D98F239BF4141C2C95 +:10E030007838A207D98F239CF4143C2C183CA207F3 +:10E04000D98F239DF4148347440203473402A20767 +:10E05000D98F239EF41483A7040A9397E72823A05B +:10E06000F40A930710079CA80145B2402244924449 +:10E070000249410182807177D98F55B70545828069 +:10E080007829E1476319F70C03278510411122C451 +:10E0900006C626C2098B2A84854719CF2435639C7E +:10E0A000F404EFE09FED1C28A305A402639C9700F5 +:10E0B000930710041CA88147B240224492443E8535 +:10E0C0004101828013070004639CE700930710045A +:10E0D0001CA88347A40293E717002305F402E1BFBD +:10E0E0008327040A93E727002320F40A1C3893E7C8 +:10E0F00007F81CB8C9B718390D8B19CF9307A002C0 +:10E10000A305F402BD472306F4028327840A93E79C +:10E1100027002324F40A45B718296317F700EFE016 +:10E12000DFE5A305A40269B793060002631ED700CA +:10E13000EFE0BFE4A305A4023DFD8327440A9397C3 +:10E14000F7292322F40A85BF93060004E316D7F6C5 +:10E150009307300275B785473E858280411106C618 +:10E1600022C426C24AC00349B500631B09067829A8 +:10E17000A5472A846316F7068327850FA18BADC3B5 +:10E1800093040510CC48214626858D059720FA1F5B +:10E19000E780401C9C40373778081307070D1306AB +:10E1A0000408D98F385ED4407D8F7C5E93E60601EB +:10E1B00098C4F58FDCC418288547631CF7009307C3 +:10E1C00010031CA8B240224492444A8502494101EE +:10E1D00082808327840A93E707012324F40ADDB7AA +:10E1E0000549CDB741114AC006C622C426C27829C6 +:10E1F000A54705496311F7061829930700032A84E8 +:10E200000549631AF70493040510CC482146268576 +:10E210008D059720FA1FE780E0139840B7377808FC +:10E220009387070D5D8F93070408B45FD040F98E84 +:10E23000F85F1366060194C4718FD8C4A305040265 +:10E2400098531367070298D31C3823082401014907 +:10E2500093E707F81CB8B240224492444A85024929 +:10E2600041018280411122C406C626C22A84283573 +:10E2700085476318F5067828A5476318F7041C2816 +:10E28000639AA70493040410CC48214626858D0583 +:10E290009720FA1FE780000C9C4037377808130757 +:10E2A000070D13060408D98F385ED4407D8F7C5E3D +:10E2B00093E6060198C4F58FDCC4930710031CA8ED +:10E2C0001C38014593E707F81CB8B2402244924439 +:10E2D000410182808327840A93E707012324F40AFB +:10E2E000C5B70545DDB7411122C406C626C22A843A +:10E2F000283585476311F5047828A1476318F7028C +:10E300008324441113058412154693853400972005 +:10E31000FA1FE78020049C3498240145A207D98F76 +:10E320002317F4121C3893E727F81CB8B240224494 +:10E330009244410182800545D5BF011122CC06CE11 +:10E3400026CA4AC82A8428358547631CF5107828D0 +:10E35000DD476312F7108324441121461305B41AD4 +:10E36000938534009720FA1FE780C0FEB834DC2480 +:10E37000A309E41A230AF41AEF503EF92AC4EF5015 +:10E38000DEF82AC621462C001305441C9720FA1FEC +:10E39000E78040FCFC34F8241305C41CA2074207A4 +:10E3A000BA97982811462C00BA97D8346207BA97C2 +:10E3B0002324F40CBC38B828A2074207BA97D828FF +:10E3C000BA9798386207BA972322F40C0347541C73 +:10E3D0008347641C4207A207BA970347741CBA9785 +:10E3E0000347441C6207BA972320F40C0347941C8C +:10E3F0008347A41C4207A207BA970347B41CBA97E5 +:10E400000347841C6207BA97232EF40AA2473747B2 +:10E4100003001307D73FB387E70237A72600130788 +:10E4200037ECBA973EC49720FA1FE780A0F2FC2889 +:10E43000D8380145A207D98FF83842075D8F9C2C48 +:10E44000E207D98F232EF40C8327C41C2320F40E5B +:10E45000930710021CA8F2406244D244424905616D +:10E4600082800545CDBF78299147631DF712411180 +:10E4700026C28324451122C406C6BC302A8481CB1F +:10E480001387F7FF7D8F01E73D476376F702930718 +:10E490000002A305F402930730022306F402832747 +:10E4A000840A93E727002324F40AB24022449244CA +:10E4B000014541018280D4301307E0076387E600FD +:10E4C00013F7170021C3814721A0F947D9B7854722 +:10E4D0008507230AF41683874400C9C3030534144F +:10E4E000A30BF4163307F5001375F50F6356F0020E +:10E4F0008307941763D6E702898FA30BF4160DA048 +:10E500008947F9B713D7174879F313D727486DFB15 +:10E510008D87F1D38D476DBF83078417E34EF7FCDA +:10E52000834774173E9513154560EF70806823018B +:10E53000A414EF70A06103473414A301A41433079B +:10E54000E540A30BE416EF70C0668347441703470A +:10E5500034142301A414A297A38FE716830744035E +:10E560008306C417014763D5F600958F13F7F70F9D +:10E57000230BE416DC300547230DF4161C286396A4 +:10E58000E700930760F81CA80DB7130750086396BF +:10E59000E700FD57230BF416EDB78327840A939702 +:10E5A000D72811B7054582807829A547631AF70453 +:10E5B000411122C406C61429130700052A84854781 +:10E5C0006394E602EFE09FBF0DE58327040AA305ED +:10E5D000040293E707102320F40A1C3893E707F896 +:10E5E0001CB885471CA88147B24022443E854101A2 +:10E5F00082808347A40293E717002305F402F1BF4A +:10E6000085473E8582807829A5476309F70005453F +:10E6100082800545B24022444101828083278510D3 +:10E62000411122C406C693F707022A84FDD3EFE006 +:10E63000FFB88547E30FF5FC18286317F700930729 +:10E6400010051CA80145F9B78327840A93E707083A +:10E650002324F40AC5BF05458280411106C622C4A1 +:10E6600026C22435F9E07829E1472A84631FF70A96 +:10E67000182993070004631AF70A832545110565D5 +:10E680009306A5C7D821BC3122075D8F9307A7FF4A +:10E69000B3C7070863E2F608FC21D431130505C8A7 +:10E6A000A207D58F636AF50663E8E7069025F43183 +:10E6B0002206558E9306301F63E0C606B42503C8B4 +:10E6C0009500A206B3E606016368D504130516009B +:10E6D000334505083305E50213983600634EA8025A +:10E6E000A83519C163EAA702231DC4042312A40696 +:10E6F000231AE406231BF406231ED404DC35D82594 +:10E700003146A207D98F2313F406B90513058406F1 +:10E710009720FA1FE78000C4930770041CA8B2403A +:10E72000224426859244410182808544CDBF05451F +:10E7300082800545828005458280054582800545A9 +:10E740008280054582805C25A30A0500F19B93E742 +:10E7500017005CA5032505111335150082804111B2 +:10E7600026C2AA8428490146814506C622C44AC059 +:10E770009740FA1FE78080B489470DEDA0482146F5 +:10E78000A14718203D8BB8B81430B4A86314C70251 +:10E790000349240099471357690009EF130719002B +:10E7A0001377F70FE5476397E60038308D47630A24 +:10E7B000F700C547B2402244924402493E854101D8 +:10E7C000828003A5040B1946930544001105972088 +:10E7D000FA1FE780A0C971DD19469305A4001385CF +:10E7E00064039720FA1FE78060C8C94761D53547A1 +:10E7F000E147E311E9FCEFD08FE3EFA0BFFE2A84ED +:10E8000071C183A6040BD850FC4401482324E508B9 +:10E81000984E9765FA1F9385C5DA13058513232053 +:10E82000E5F6D84A1769FA1F1309C9C92322E5F684 +:10E83000D83BA30FE5EEF83BF02B2207518F2310B6 +:10E84000E5F0983F902F2207518F2311E5F0B83F54 +:10E85000B02F2207518F2312E5F0D82FDC3F154649 +:10E86000A207D98F2313F5F0DC2E23220501A30E76 +:10E87000F5EE81471CC19720FA1FE780A0AD8547C0 +:10E880002300F41483C7040822852303F414A3038C +:10E89000F414EFD0CFC78327890D93F7072081CBDE +:10E8A0000A241306900293050008EF10502B8327CB +:10E8B000090D1167F98F99C70A245146930500087D +:10E8C000EF10F02983A7C40A0D47B8B78547DDB517 +:10E8D000397152D4176AFA1F130ACAE183270A034F +:10E8E000B706080022DC4ED666CA9759FA1F9389EC +:10E8F000297A976CFA1F938CECBC06DE26DA4AD88C +:10E9000056D25AD05ECE62CCF58F03A48C0503A7F5 +:10E9100009008DE77C5791C785471757FA1F2305D4 +:10E92000F764F2506254D2544259B259225A925A60 +:10E93000025BF24B624CD24C2161828093078007CC +:10E940000329C40A7CD39757FA1F238F0760834794 +:10E950009900032CC90092073E9C83472C0095CB5D +:10E96000834769009306204E03461C00B387D702F5 +:10E97000938787FD11CA83467900B386C6021306C2 +:10E98000D007B386C602B697B706080014C7860735 +:10E990007CD71C438D8B91C709459750FA1FE780A0 +:10E9A000A034175BFA1F130BAB6D83270B00975A2C +:10E9B000FA1F938AEA6E37063300D8573708008269 +:10E9C0007D18719B13671700D8D798431377F7CF3B +:10E9D00098C398431377F7CF1367072098C303A70B +:10E9E0000A001447D18E14C783A609003706030016 +:10E9F00013068625B0CA5057759A50D79043834561 +:10EA0000E407137606F893F5F5074D8E90C30305DA +:10EA10008406D0579375F503E605337606014D8ECF +:10EA2000D0D71306A003635CA628704FB705000774 +:10EA30004D8E70CF03270409D8C30327C40898C795 +:10EA40008327C40AB83785476313F72E832B040B3B +:10EA50000347990083C71B00631BF72C23A60606F8 +:10EA6000B70708009CC69767FA1F23AB07CADC42AA +:10EA7000154793E71700DCC26444930720021CB8D3 +:10EA800098A09CB083475403858B91E703474403C8 +:10EA900089476315F700930750049CA01946930516 +:10EAA0006403138524009720FA1FE780A08A83C798 +:10EAB0003B0089C79C2093E707F89CA019469385E3 +:10EAC0004B00138584009720FA1FE780A08883C736 +:10EAD0008B01FCA483C79B01FCB483C7AB019CA83A +:10EAE00083C7BB019CB883A74B0113D78700BCA881 +:10EAF000C183DCA8B8B80347040889476313F7004B +:10EB00008D47DCB803D7CB0083D7AB00BA9785839A +:10EB100013D7870098BC03C7EB009CAC8D83B8ACBF +:10EB200003D7EB008D072183B8BC03C70B01D8AC1A +:10EB300003C71B01D8BC1947B3D7E70AFCA8A183B8 +:10EB4000FCB883C7EC0FFCAC83C7FC0FFCBC83C7CD +:10EB50000C102380F40283C71C10A380F40283C727 +:10EB60002C102381F40283C7CB01FD8BA381F40217 +:10EB7000784483C73C00834637029607D58FA301AC +:10EB8000F7029757FA1F83C7675E83250B00B70606 +:10EB90000082FD16D8551396476093F7F703758FDB +:10EBA000E607D98FDCD51307A00383A70A006354B7 +:10EBB000C714F84FB7060007558FF8CF10388345B4 +:10EBC000040801459767FA1F23AC07B29740FA1F64 +:10EBD000E780C08483278A00858BC9C7975AFA1FAC +:10EBE000938A8A5C03D5CA009767FA1F23A807B0E7 +:10EBF0009307800F3305F50237460F008146130651 +:10EC000006248145EFE0B03183A70A00AA842E8B49 +:10EC10008297B307950033B5A700B305650183A6B6 +:10EC20008A003E8799E163E4D7003387D7400345E4 +:10EC3000040858D00146B9459740FA1FE78060980C +:10EC40000146814505459730FA1FE780207D9750A2 +:10EC5000FA1FE780C0008327CA00858B81C7228501 +:10EC6000EFF0FFAF8347990003474900850793F70B +:10EC7000F70FA304F90063F5E7329754FA1F938462 +:10EC8000A4529C28638E07268327C40A130770FAB0 +:10EC90001735FA1F1305C5D2B8A79720FA1FE780CA +:10ECA00020DA6254DC40F250D2544259B259225A0E +:10ECB000925A025BF24B624CD24C2161828713065E +:10ECC0002002635AA600704FB70500F9FD156D8E3E +:10ECD000B7050005B1BBB70500F96946FD156357D7 +:10ECE000A600704F6D8EB705000399B3704F6D8EFF +:10ECF000131686293DBB13072002635AC700F84F3D +:10ED0000B70600F9FD16758FB706000575B5B7068D +:10ED100000F96947FD166357C700F84F758FB706AE +:10ED2000000359BDF84F758F1317872979B5DC4259 +:10ED3000F99BDCC264449D47832B8C00834A3C00D2 +:10ED40001CA89CA08547A3810400BCA07C4893F725 +:10ED500007209DC79147BCB08347640B8346540B83 +:10ED600078449A07D58F5CA3BC2081468507BCA058 +:10ED70000346840B8345540B0345640BEF607069B5 +:10ED80007C4893F7074095CBB8307C44B420136798 +:10ED90008700B8B00357A408B697B8B3BC2078442E +:10EDA0008346F4073E978357A4089206A183BD8B40 +:10EDB000D58F5CA3BC208907BCA08347040693F7CA +:10EDC000070489CFB8307C44B42013670704B8B077 +:10EDD0005838B697B8B3BC208507BCA08347C40792 +:10EDE0000547C11793F7F70F6362F706BC20032BA3 +:10EDF000C40415468D073E9BA1472300FB009307E3 +:10EE00008002A300FB009755FA1F9385857B1305AD +:10EE10002B009710FA1FE780E0538346C407414751 +:10EE2000835784086395E60CA1072311F408C547AE +:10EE3000230EF40683472408A303FB00835724080A +:10EE4000A1832304FB00BC20A507BCA0638C0B009E +:10EE5000BC20684456868D07DE853E959710FA1FC4 +:10EE6000E780404FB82001459377F7038507BE9AA6 +:10EE700093FAFA0FA3085401B8A07C44A380570169 +:10EE800083A709007844B8DF1038834504089767E2 +:10EE9000FA1F23A707869730FA1FE780205897505C +:10EEA000FA1FE780C0DB83A709003707020023A20F +:10EEB000070698C71767FA1F2326078403472C0005 +:10EEC000E30207DAFC57E38F07D81735FA1F13055B +:10EED000A5C19720FA1FE780809103A709007C57FE +:10EEE000FDFF01459720FA1FE7806090A5BB0357FF +:10EEF0002408B307F7400947E34EF7F2C9470DBFAF +:10EF0000975AFA1F938ACA0683A70A0082972A8B08 +:10EF100083A70A008297E30D65FF034759008347E3 +:10EF200099009444B387E702DA24B387E702130712 +:10EF3000003293870719B3D7E702032744093E97A6 +:10EF40003A846364F7006364D7003304D74083A72F +:10EF50000A008297B307A4406374A4009844BA9748 +:10EF600037450F0013050524B3B5A702D224814607 +:10EF70003385A702EFE0A07AAD472A841705000089 +:10EF800013054595232EFA009720FA1FE780208667 +:10EF900083A7090037070800060498C7E0D751B2D5 +:10EFA0008327C900884719ED1C2468002307010046 +:10EFB000DC868327C40ADC23DC87EF407FA6230599 +:10EFC000090085B29710FA1FE78060160327C90071 +:10EFD00083464900814763C5D7001C47EDF3E9B775 +:10EFE000232407008507C5BF5D714EDE9759FA1FC0 +:10EFF0009389090A03A60900A2C452DC5ED686C61C +:10F00000A6C2CAC056DA5AD862D466D26AD06ECEC8 +:10F01000930780077CD29757FA1F238707F4175A64 +:10F02000FA1F130AEA0583270A00975BFA1F938BDE +:10F030002B07B7053300D8572A84719B1367170035 +:10F04000D8D798431377F7CF98C398431377F7CF60 +:10F050001367072098C303A70B001447CD8E14C76E +:10F06000B70603009386862534CA5457F59A54D7B9 +:10F070008345E507944393F5F50793F606F8CD8E9F +:10F0800094C35442F99A54C283058506D457370570 +:10F09000008213F6F5037D156606E98ED18ED4D76E +:10F0A0009306A00363D0B62A744F37060007D18EAB +:10F0B00074CF130704085447184B9305300294C7C4 +:10F0C000D8C305459757FA1F23AC0762EF50FEB926 +:10F0D00064449D471CA8230FA4069CA08547A381D8 +:10F0E0000400BCA07C4893F707209DC79147BCB0A3 +:10F0F0008347640B8346540B78449A07D58F5CA3EF +:10F10000BC2081468507BCA00346840B8345540B75 +:10F110000345640BEF60F02F7C4893F7074095CBD5 +:10F12000B8307C44B42013678700B8B00357A408F4 +:10F13000B697B8B3BC2078448346F4073E9783570C +:10F14000A4089206A183BD8BD58F5CA3BC20890740 +:10F15000BCA0B020035744089307D00F918F1759D4 +:10F16000FA1F1309293663DFE720034704088547A0 +:10F170006316F7209307804279479387371AB3C7FE +:10F18000E70283464907C16593E60601230AD906CB +:10F1900083A609008CC63387E7020607B8D2B830C9 +:10F1A00013670701B8B078448346E407329734B355 +:10F1B000B420784436975CA3B8207C44BA970347C0 +:10F1C00004081607D8B3BC208D07BCA083470406EB +:10F1D00093F7070489CFB8307C44B4201367070441 +:10F1E000B8B05838B697B8B3BC208507BCA08347E1 +:10F1F000C4070547C11793F7F70F6362F706BC20F2 +:10F20000832AC40415468D07BE9AA1472380FA00BD +:10F2100093078002A380FA009755FA1F9385653AF9 +:10F2200013852A009710FA1FE780C0128346C4078F +:10F23000414783578408639EE614A1072311F4080D +:10F24000C547230EF40683472408A383FA00835797 +:10F250002408A1832384FA00BC20A507BCA0035680 +:10F260004408814A21C2B82068448325840A930750 +:10F2700037003E95BC30C18B63860712F95AB38ABA +:10F28000EA4093FAFA0F56869710FA1FE780800C2F +:10F290008327840AD6973CDC83574408B3875741B9 +:10F2A0002319F406B8200145056B9377F70385070A +:10F2B000BE9A93FAFA0FA3085401B8A07C44130D28 +:10F2C0008007B70D3300A380570183A70900784456 +:10F2D000B70A0300938A8A25B8DF103883450408EB +:10F2E0001D4C854C9730FA1FE78040139750FA1F4A +:10F2F000E780E09603270A00130B8B843C57ED9BB5 +:10F300003CD79757FA1F23880740371700401E2F16 +:10F31000C607C5831EAF83474907C18BD9EB22853A +:10F320002644B64096440649F259625AD25A425B84 +:10F33000B25B225C925C025DF24D61611743FA1F81 +:10F34000670083869306200263DAB600744F37069F +:10F3500000F97D16F18E3706000591BB370600F9DE +:10F36000E9467D1663D7B600744FF18E3706000369 +:10F370003DBB744FF18E939686291DBB856793879D +:10F380008784DDBB8347490793F7F70E230AF90605 +:10F3900035BD03572408B307F7400947E345F7EAAB +:10F3A000C94745B59710FA1FE780C0FA834A440859 +:10F3B000D5BD8347490793F70702E5DF8347490730 +:10F3C00003A6090093F7F70C230AF9062322A607E0 +:10F3D0009757FA1F238A07B883270A00D857719BCB +:10F3E00013671700D8D798431377F7CF98C398437C +:10F3F0001377F7CF1367072098C303A70B001447B1 +:10F40000B3E6B60114C7232856055457F59A54D7C6 +:10F4100098438346E407137707F893F6F607558F6A +:10F4200098C364442308840123808401A3810400D9 +:10F43000238194017C4893F7074095C7A147BCB04E +:10F440007C440357A408D8A3BC2078448346F4071F +:10F450003E978357A4089206A183BD8BD58F5CA3EA +:10F46000BC208907BCA0B020035724079307E00FF6 +:10F47000918F63D3E70603470408DA876314970183 +:10F480009307804279479387371AB3C7E7028346C9 +:10F490004907C16593E60601230AD90683A6090038 +:10F4A0008CC63387E7020607B8D2B8301367070166 +:10F4B000B8B078448346E407329734B3B420784434 +:10F4C00036975CA3B8207C44BA9703470408160714 +:10F4D000D8B3BC208D07BCA00356240781470DCEAE +:10F4E000B82068442C5C930737003E95BC30C18B34 +:10F4F000A5C3F957998F93F7F70F3E863EC697102D +:10F50000FA1FE78020E5385CB2473E9738DC0357A6 +:10F5100024071D8F2319E406B420014513F7F603D1 +:10F520000507BA9793F7F70F1CB8B4A078441CB33B +:10F530001038834504089757FA1F23A3071C9730F8 +:10F54000FA1FE780A0ED9740FA1FE7804071E1B312 +:10F550009710FA1FE78000E0834724072319040669 +:10F5600065BF8347C50763850740797122D406D6F6 +:10F5700026D24AD04ECE52CC49472A84639CE70219 +:10F5800003572508835785086316F7021305050AF4 +:10F5900015469755FA1F9385C5022AC69710FA1F7C +:10F5A000E78040DB3245EFA0CFCB9147A300A40812 +:10F5B000230EF40622859720FA1FE78060F20945A2 +:10F5C0009740FA1FE78040720327C40A1759FA1FB1 +:10F5D0001309099A8347C407832609006303072098 +:10F5E0000D47639AE70C9147230EF4067C4893E796 +:10F5F00087007CC89757FA1F9387C7EC03C7570744 +:10F60000098B6DDF03C757071377C70FA38AE70678 +:10F6100082969757FA1F938727B9D627035764080E +:10F62000232AA4089C473307D70293060032130706 +:10F6300007193357D702B306E500368663E4A60000 +:10F6400063E4F6003386F640232CC4089756FA1F6D +:10F6500083C616B2636ED604158E9306D407A285B0 +:10F6600017050000130525F09730FA1FE7802029C1 +:10F67000AD4717F5FFFF1305E5251757FA1F232997 +:10F68000F7089710FA1FE78080169757FA1F83A78D +:10F6900027A00947F8D783578408B25092548507AA +:10F6A0002314F40822540259F249624A45618280C7 +:10F6B000958F3E965DB78329840982969754FA1FE9 +:10F6C000938484AE63E6A9043385A9409757FA1F53 +:10F6D00083C717AA63E5A700854763EEA702DA246C +:10F6E000835764089044B387E70213070032938777 +:10F6F0000719B3D7E702032784093E97BA866364E4 +:10F70000F7006364C700B306C740232CD40861B771 +:10F710009C44BE9955BF8326C40AA3840600D22404 +:10F7200083576408032784098C44B387C7021306F0 +:10F730000032232AE40893870719B3D7C7023E97FC +:10F740003A866364F7006364B7003306B7409C28C9 +:10F75000232CC40899CF930770FABCA61725FA1F6B +:10F76000130505269710FA1FE780802DDC4082974D +:10F770001DB7832709008297AA89832709008297EA +:10F78000E38DA9FE8327090083294409829763E753 +:10F79000A904AD471757FA1F232CF7F6B7470F00F8 +:10F7A000938707243385A940B335F502D2248146D7 +:10F7B0003305F502EFD0B0769757FA1F83A7478D30 +:10F7C0003707080098C70605E8D717F5FFFF1305A8 +:10F7D00065109710FA1FE780800175BD9C44BE99A3 +:10F7E0004DBF0D47639EE7089147230EF4067C4802 +:10F7F00093E787007CC89757FA1F9387A7CC03C766 +:10F800005707098B6DDF03C757071377C70FA38A05 +:10F81000E70682969757FA1F93870799D6270357CB +:10F820006408232AA4089C473307D70293060032B2 +:10F83000130707193357D702B306E500368663E48A +:10F84000A60063E4F6003386F640232CC4089756DE +:10F85000FA1F83C6F6916362D602158E9306D4070B +:10F86000A28517050000130505D09730FA1FE78021 +:10F8700000092285EFF04FF739BD958F3E96F9BF0D +:10F880008296AA84832709008297E38DA4FE8327AA +:10F890000900832484091759FA1F1309E9908297F4 +:10F8A00063EEA4023385A4409757FA1F83C7578C91 +:10F8B0008359C90063E3A70015E58357640813075C +:10F8C000003203268900B387370393870719B3D71C +:10F8D000E702032784093E97BA8615B58327890076 +:10F8E000BE94C9B79757FA1F83C717C593E7170088 +:10F8F0009754FA1F938404BDA38AF406174AFA1F8B +:10F90000032A0A79B70708002324FA00B7470F0033 +:10F9100093870724B335F5024E8681463305F502F9 +:10F92000EFD0F05F06052326AA0683C75407898B0C +:10F93000EDDF83C75407130700320326890093F7CE +:10F94000C70FA38AF40683576408B38737039387E6 +:10F950000719B3D7E702032784093E97BA86636481 +:10F96000F7006364C700B306C740232CD40811B75F +:10F970008280411126C2AA84284922C401462E84CD +:10F98000850506C69730FA1FE78040933DEDBC48D9 +:10F990001D4621459423BD8AB4B89833B8A8639D09 +:10F9A000C604B423114513D6660093F6F60363F537 +:10F9B000E604194531E27D17158F58B0B833454537 +:10F9C0009376270095EA9376470085EE9107930694 +:10F9D000F00F34A093768700514599EE9376070196 +:10F9E000554599EA137507021DE11377070493063D +:10F9F000F00711C3942314A0B24022449244410161 +:10FA00008280D42395078D8AE9B70945F5B7594512 +:10FA1000E5B797070000938707B51757FA1F232B01 +:10FA2000F7B0828001458280411106C6EF909FDBCE +:10FA3000B240133515000605410182806FF0DFFEEC +:10FA4000411106C6EF901FDA05C10357C50583565D +:10FA5000A50503566507835545070A25EFA06048AD +:10FA60000145B240410182800945E5BF011113758E +:10FA7000F50F06CEEF707FE129C99757FA1F83A7CC +:10FA8000E7B193F707209DC302C402C202C08148B8 +:10FA90000148814701478146054681451305C0035A +:10FAA000EFA0A0440145F240056182808346D50362 +:10FAB0001307E50302C08148014881470546814597 +:10FAC0001305C003EFA00040F1BF0945E9BF9757F8 +:10FAD000FA1F9387279F03A7C708094529CB83A748 +:10FAE000870D011106CE93F707208DC302C402C211 +:10FAF00002C081480148814701478146014681454E +:10FB0000EFA0A03EF24001450561828083580702C4 +:10FB10000358A7018357070583465707014602C0CC +:10FB20001307670781450945EFA0C039E1BF82800F +:10FB3000011106CE22CCEF90FFCA25CD3035054706 +:10FB40002A849757FA1F9387E7976312E604F853BE +:10FB5000094515CB03460403834657048358E40341 +:10FB60000358C4033E3C0E240345B4021307670444 +:10FB700032C00546EFA000357C34A30504020145E0 +:10FB800093E717007CB4F24062440561828003A7CA +:10FB9000C70809456DDB834657078358E4030358BC +:10FBA000C4033E3C0E240345B4021307670702C09A +:10FBB000D1B70945C9BF397106DE22DC26DAEF90DC +:10FBC0007FC271C938352A849757FA1F9387878F68 +:10FBD0002DEBE4530945ADC0194681450810970047 +:10FBE000FA1FE780A07D1946814528109700FA1F6B +:10FBF000E780C07CC167FD178358A40383C6540403 +:10FC000030340E240345B4023EC89C2413088102FC +:10FC1000138764043EC6834704033EC47E3C3EC251 +:10FC20005E3C3EC01C10EFA0C02E7C34A305040235 +:10FC3000014593E717007CB4F2506254D25421611D +:10FC40008280A45F0945EDD81946814508109700C8 +:10FC5000FA1FE780A0761946814528109700FA1F01 +:10FC6000E780C07583D7240D8358A40383C6540549 +:10FC700030340E240345B4023EC89307F00F3EC64D +:10FC800002C47E3C13088102138764053EC25E3CB9 +:10FC90003EC01C1049BF094545B7397106DE22DC5C +:10FCA00026DA4AD8EF901FB4630F051434350547A0 +:10FCB0002A849757FA1F9387E780639AE60AE453EA +:10FCC0000945C1C083C744041946898BC9C38C58F0 +:10FCD000BC25B5CFB10528089700FA1FE7808067DB +:10FCE00083C75404138964041946898BA5CBCA853C +:10FCF00008109700FA1FE780E0658C5819469105B7 +:10FD000028109700FA1FE780E064834704038358B4 +:10FD1000A40383C6540430340E240345B4023EC405 +:10FD20007E3C1308010238103EC25E3C3EC03C08D7 +:10FD3000EFA0A01B7C34A3050402014593E7170044 +:10FD40007CB4F2506254D254425921618280814580 +:10FD500028089700FA1FE780606659B781450810A8 +:10FD60009700FA1FE78080651946CA8551BF83A4B2 +:10FD7000C7080945F9D483C744061946898BB9CF0A +:10FD80009385640628089700FA1FE780A05C83C764 +:10FD90004407138964071946898BA1CBCA850810CB +:10FDA0009700FA1FE780005B83A5440819462810D6 +:10FDB00091059700FA1FE780E05983A74408BC33F8 +:10FDC00093E72700A38AF4068358A40383C6540745 +:10FDD00030340E240345B40202C499B78145280883 +:10FDE0009700FA1FE780805D5DB708108145970096 +:10FDF000FA1FE780A05C1946CA8528109700FA1FF1 +:10FE0000E7804055D1B709452DBF797122D426D25C +:10FE100006D6AA84EF901F9D1744FA1F032404728C +:10FE200039C5AA8709451DCC83D7271519469305DF +:10FE3000640D7C8685477C878357440D130521011B +:10FE4000A3040100FC8064859700FA1FE7808050BE +:10FE50008327C40D28003ECC8327040E3ECEEFA09E +:10FE600000120145B25022549254456182800945E6 +:10FE7000D5BF011122CC06CE2A84EF90BF963DC19A +:10FE80008347B502034745176083DC8283473517F4 +:10FE9000D8845C8495EF83477517030795175C86B4 +:10FEA000830735145C85631CF7008947DC854800AF +:10FEB000EFA0C00C0145F240624405618280030757 +:10FEC00085176314F7008547D5B7A3050100C5B7AB +:10FED0008347A5175C8583475517DC858347F5174E +:10FEE0005C86F1B70945C1BF011122CC06CE2A8438 +:10FEF000EF905F8F29C58307A517C08421804085B7 +:10FF00001307F0076389E70203474503998FDC85F0 +:10FF10008347451813F707010DE393F7070293B7DB +:10FF20001700850728005C86EFA020050145F240F8 +:10FF3000624405618280FD57DC858147E5B709454C +:10FF4000FDB7797122D426D206D6AA84EF909F8974 +:10FF50001744FA1F0324845E21C5AA87094505CCEE +:10FF600083D7271519469305640DFC808547FC81CE +:10FF70008357440D13056101A3060100FC826487C9 +:10FF80009700FA1FE780003D8327C40D68003ECE2E +:10FF9000EF90707E0145B2502254925445618280A8 +:10FFA0000945D5BF411106C6EF90DF8311C98345CE +:10FFB00005140A25EF90F07B0145B2404101828093 +:10FFC0000945E5BF9375F50F01112E8506CE22CCAC +:10FFD0002EC6EF709F8B05C1834605072A84B24564 +:10FFE000082D0546EF9070780145230C0400F2407F +:10FFF0006244056182800945DDBF411106C6EF906C +:0200000260009C +:100000009076B240014541018280411122C406C66A +:100010001744FA1F03248452094509CC0355240DC3 +:10002000EF9030740325C40C9307F00F2319F40CE0 +:1000300011E50145B2402244410182809700FA1F38 +:10004000E780E00EA304040CEDB79747FA1F83A7DF +:10005000E74E99CB41111385070D06C6EF90F06F5F +:10006000B24001454101828009458280411106C6A6 +:1000700022C4EF902FF705C9834675140346651413 +:100080000E252A840345B5028506050693F6F60F6C +:100090001376F60FEF90506A0145A3050402B240B3 +:1000A0002244410182800945DDBF411106C6EF901F +:1000B0006FF305C10357251E8356051E0356651EA3 +:1000C0008355451E0A25EF9010620145B24041015B +:1000D00082800945E5BF411106C622C4EF908FF02A +:1000E00015C52A840357C5058356A505035665071C +:1000F000835545070A25EF90905E1C38014593E72C +:1001000047001CB8B2402244410182800945DDBF4E +:10011000411106C6EF900FED05C18347451B03460D +:10012000351B9305B51A0A25A2075D8EEF90F05A8C +:100130000145B240410182800945E5BF411106C633 +:1001400022C4EF902FEA05C10E252A84130605105C +:100150000345B502EF9030580145A3050402B240B3 +:100160002244410182800945DDBF411106C622C4F7 +:10017000EF904FE705C50357C5058356A505035600 +:1001800085050E252A840345B502EF90905401455C +:10019000A3050402B2402244410182800945DDBF2B +:1001A000014582800145828001458280014582802F +:1001B000014582800145828001458280014582801F +:1001C000014582800145828001458280014582800F +:1001D00001458280014582800145828001458280FF +:1001E00001458280014582800145828001458280EF +:1001F000411106C622C4182193060008AA8763137A +:10020000D70218319306C002054563E3E60497E67A +:100210000000938626EF3347D720AA23184302977E +:1002200001453DA09306100805456313D702983396 +:10023000E9466309D71063E5E604B1466303D70EC8 +:1002400063ECE60095466304D706A146630AD70A25 +:10025000B240224441018280CD46E31BD7FEAA234F +:10026000EF904FD82A8429C90356450419C60E2594 +:100270000545EF90104423120404A30804024DB76F +:10028000930670056309D70C9306F00FE30AD7F8BD +:1002900093060003E31ED7FAAA23EF90AFD42A8473 +:1002A00001CD0E250345B502EF90304185A8AA2364 +:1002B000EF904FD32A8419E1094559BF03278511CF +:1002C0000DC7835745048507B3C7070818433E8603 +:1002D0008507B3C707087DFB2312C40419C60E2483 +:1002E0000545EF90103D231204040345B402034674 +:1002F00044050E24EF90B03A2285EF908FBE0DB7E3 +:10030000AA23EF902FCE2A8445D90346C5040E2593 +:100310000345B5023336C000EF90B038A3050402A0 +:1003200001B7AA23EF900FCC2A8459D5035725058E +:10033000835605050346F5040E250345B502EF90E7 +:100340009036E9BFAA23EF90EFC93DD50345B5022A +:10035000EF907036F1B5AA23EF907036D1B5011148 +:1003600022CC37E400E026CA04404AC84EC652C434 +:1003700006CEB70720002A892E8AB289FD8C232059 +:10038000F4180F10000011459700FA1FE780C0EC29 +:100390001DC523004501A30035012311250123209C +:1003A00094106244F240D2444249B249224AAA859A +:1003B0001745FA1F0345F5D705616F309EEA2320E4 +:1003C0009410F2406244D2444249B249224A114553 +:1003D0000561828041114AC037E900E026C28324CA +:1003E000090006C622C4B7072000FD8C2320F91897 +:1003F0000F100000EF900FBF11E92320991009455D +:10040000B24022449244024941018280832705126E +:10041000230D05002A84A9CF78340A25058B11EF16 +:100420000A24014693050008EFF07FF329C5B7E7DA +:1004300000E023A097100145E1B7D443D0278C27D3 +:100440008906EF90F02715E183270412BA27A384C9 +:100450000700136707F0BAA79C432320F4128357C1 +:10046000240481C7FD172311F40483270412CDFB54 +:10047000231104046DBF85473CAC55BF411122C414 +:1004800006C62A849747FA1F83A7071089E7B24058 +:1004900022444101828063848700DC5FC5BF3C2425 +:1004A00099C79305C4001305A401EF50DFE73C286A +:1004B000F9DF930544011305A4022244B24041012F +:1004C0006F507FE6AA862E86AA85170500001305C1 +:1004D000C5006F406E94411126C29744FA1F938461 +:1004E00064FE83A7440C22C406C62A8491E7B24066 +:1004F000224492444101828063848700DC5FFDB71F +:100500003C2499C79305C4001305A401EF50BFE133 +:100510003C2899C7930544011305A402EF50BFE09E +:1005200022852244CC58B240924441016FF09FF999 +:1005300001114AC81749FA1F1309C9F822CC03242C +:10054000490C26CA4EC652C456C206CEAA84014AD7 +:1005500093094500854A65E09305202513050004AD +:100560009700FA1FE78080AF2A841D4545CCBC3038 +:10057000194693854400130544003CB09700FA1FC8 +:10058000E78040DD938AA401414681455685970066 +:10059000FA1FE780C0F579E19309A401D6854146A9 +:1005A0004E859700FA1FE78020F185473CA43C3038 +:1005B0009305C4004E8593E727003CB4EF50BFD6A7 +:1005C0009384A4024146814526859700FA1FE7805F +:1005D00000F241E99307A402A6853E854146BE8408 +:1005E0009700FA1FE78040ED85473CA83C30930513 +:1005F0004401268593E727003CB8EF50DFD2A300E3 +:100600000400832549032285EFF0DFEB631E0A0413 +:100610002322890C232E04028347090C01458507F8 +:100620002300F90CF2406244D2444249B249224AC2 +:10063000924A056182803830BC306305F700228A17 +:10064000405C11BF4146CE85130544009700FA1F58 +:10065000E780C0E1E31555FF4945E9B723050400EC +:1006600085B72309040061BF232E8A0265B74111B3 +:1006700022C426C206C64AC01744FA1F0324C4F087 +:10068000FD5419ECB24022449747FA1F23AE07EEFF +:100690009747FA1F238807EE92440249410182805E +:1006A0000820EF402E950329C40304A0228597005B +:1006B000FA1FE780C0A74A84E9B79747FA1F9387D4 +:1006C00067E02380070C23A2070C6F509FCF4111D6 +:1006D0004AC01749FA1F1309E9DE26C28324890795 +:1006E00006C622C483C7D404858BA9CB83472900BF +:1006F00049459DCF19469745FA1F938505EB13850C +:10070000E4049700FA1FE780E0C48547BCB49CB8B6 +:10071000BCB8BC28094798A4C1CBEF305EA28327A0 +:1007200089052A8485C79307004063EFA7001D450C +:10073000B2402244924402494101828019469745C1 +:10074000FA1F938525E665BF130405C08357C90AC0 +:1007500081CF1747FA1F130727A01E2B7837B387BF +:10076000E702E3F687FC1D8CEF305EA68D4733541D +:10077000F4023355A40A1181334505082391A404DA +:100780005DD512059305E024334505089700FA1F4F +:10079000E780C08C03D62404E8C02A871308F6FF3C +:1007A000814763CBC704A8C483C704021744FA1F58 +:1007B000130404980D472830639CE704F228BE38E0 +:1007C0003E969145EF307EF1283091459720FA1FF3 +:1007D000E780A023923C19CA938614031206A685CB +:1007E00017250000130545FAEF301EE39747FA1F5F +:1007F000238A07CC01452DBF63D907019306070162 +:10080000B6850CC38507368769BFBA868145D5BFD3 +:1008100009476394E700B2386DB7F2285DB741111C +:100820009305E0261305800E22C406C69700FA1F22 +:10083000E780C0822A843DC91306800E8145970057 +:10084000FA1FE780A0B79747FA1F23A987CE230591 +:100850000400230404009747FA1F9387A7E9985FD1 +:10086000DC5F78D83CDCFD571EB8A30EF406A3006D +:10087000F408970700009387C7E53CD4972700004A +:10088000938707B77CD497270000938707A13CD8AC +:100890009747FA1F83C7479291EB8D451735FA1F8B +:1008A0000325057D9700FA1FE780C0F5B240228539 +:1008B000224441018280411122C406C626C28347D8 +:1008C000C5052A84A5C79305E50519461305E50462 +:1008D0009700FA1FE78080B9AA8429E91C28898B30 +:1008E000A5E39747FA1F83C7F7BD85CF8347D40594 +:1008F0008DCB834734061307000493F7070C6392EC +:10090000E7021305C4059710FA1FE780C05168D0AD +:1009100009C98947230EF4048347D40493E72700C9 +:1009200089A80347C40589476316F7008347440530 +:10093000A1E78544B2402244268592444101828049 +:100940008347D405E5DB834734061307000493F798 +:10095000070CE391E7FE9747FA1F83C7B7B6F9D7AD +:100960001305C4059710FA1FE780E04B68D0F957CC +:100970004DF1A30EF4045DBF9747FA1F83C797B4E8 +:10098000CDDB8347540513054405A9CB8347B40544 +:100990001307000493F7070C6392E7049710FA1FFC +:1009A000E780E04468D051D593046405A6851946D4 +:1009B00051059700FA1FE780E0996C508D47230A94 +:1009C000F404BC311946910593E72700A30AF40407 +:1009D00026859700FA1FE780E097A1BF9710FA1FBE +:1009E000E780203C68D031D58947230AF4043C29AC +:1009F000A9D38D47230AF4040431B33490001DBFFA +:100A0000034745051DC31829AA870545058B05C35E +:100A1000E84BAC4F411106C69710FA1FE780805A89 +:100A2000B2403335A000410182800545828082803A +:100A3000797122D406D63C292A84BDC30357050404 +:100A400083572504637EF7049710FA1FE78020413F +:100A500085476307F5000145B25022544561828005 +:100A60005C341D4728446394E700834784025CA1FB +:100A7000834754051946930564055CB18347940286 +:100A800019057CA13E341EA59700FA1FE780808CD3 +:100A90008357040485072310F4043C449C433CC45E +:100AA000584CA1674834F98FE1C7994763E7A70419 +:100AB0007C2413075002E360F7FA97D60000938670 +:100AC000A66F3345D5201841369702874D4723043A +:100AD000E4027D57E917A304E402231F0402A306DE +:100AE00004022307F40211A8930750F11EB4231F38 +:100AF0000402A306040223070402034EE402014396 +:100B000063090E007C2403238407B387C741890748 +:100B10003E93034584028346C4020347D4028347BD +:100B2000940203083402835EE4038345540583087A +:100B300054018506137F45001AC872C61306640562 +:100B400093F6F60F63030F021303E4051AC403437D +:100B5000D4051AC276C0EF90603E0545F5BD414709 +:100B6000BDB76D47ADB749479DB702C402C2DDB7F7 +:100B700085476316F5041747FA1F0327279C182B90 +:100B80008345540583075401098B1306640515C377 +:100B90008346D40599CE0347340613050004137722 +:100BA000070C6318A7001307E4050545EF9080388C +:100BB0006DB7014781460545EF90603179BF7424D8 +:100BC00093075002E3E9D7E889476307F50099479F +:100BD0006315F500094511A00D45E91693F6F60FCA +:100BE0002307D402014799C2385C210783075401C7 +:100BF0008345540513066405C1B7411106C622C4D6 +:100C00002A849730FA1FE7808005930700FA3CA4F6 +:100C1000A1451735FA1F0345D551EF301EB41747CC +:100C2000FA1F1307278A1C237628850793F7F70FE7 +:100C30001CA3130700643347D70263C8E700EF40E3 +:100C4000EE899747FA1F238F0786B240224441015D +:100C50008280411122C406C6B1475CA57C590D476C +:100C60002A8498A35C25785993F7F7031CB383472C +:100C7000D50423060504898BA1C383474505898BC9 +:100C8000A1C76C5189ED6C50BC299DCB68581946A1 +:100C9000D105210597F0F91FE780C06B15A0BC2591 +:100CA000FDD389472306F50468591946B10509059E +:100CB00097F0F91FE780006A83474405898BE1F7C5 +:100CC0008347C404898B91EB685819469305E40463 +:100CD000090597F0F91FE780E067034744058D4752 +:100CE000630BF7006858194693056405210597F0D2 +:100CF000F91FE78020668347D404858B91E703477B +:100D0000C40489476317F70078581C2393E7070446 +:100D10001CA383475405858B91E7034744058D4702 +:100D20006317F70078581C2393E707F81CA358347F +:100D30009D474C24631EF70003455402930760FA55 +:100D40003CA42244B24041011713FA1F67006361BB +:100D5000930720FA3CA40145EDB7411126C2973410 +:100D6000FA1F9384E4318C409747FA1F23A6079813 +:100D700022C49747FA1F23AF079606C6D855973760 +:100D8000FA1F83C7A73EB7060082FD161396476079 +:100D900093F7F703758FE607D98FDCD51307A00308 +:100DA0002A849737FA1F83A7A72F635EC704F84FDB +:100DB000B7060007558FF8CF2285EFF09FE97858E6 +:100DC0009737FA1F83A7C72C2285B8DF9C4098432A +:100DD0001317772998C3D857719BD8D7EFF05FC501 +:100DE0009710FA1FE780E04A9747FA1F83A7C7903A +:100DF000858BB1C79747FA1F23A00790B2402244C2 +:100E000092444101828013072002635AC700F84FC1 +:100E1000B70600F9FD16758FB706000561BFB70666 +:100E200000F96947FD166357C700F84F758FB7067D +:100E3000000349B7F84F758F13178729ADBF930784 +:100E400000FA3CA465BF797122D4930555012A8428 +:100E5000285D014626D206D69710FA1FE780004685 +:100E6000894463140518305C9D46A1441C22BD8B47 +:100E70005CB4183278A4639AD7163C22914493D676 +:100E8000670093F7F70363F2E7169944639F06142C +:100E90009305F7FF9D8D93F5F50F2307B4022832D4 +:100EA000C5449376350063920614937645006397A4 +:100EB000061093064600FD1793F4F70F937785000D +:100EC00095CB9C328348940213D847006396081749 +:100ED0000568130808F083C80600A207B3F70701E6 +:100EE0000358A402B3E717016318F814F91489062C +:100EF00093F4F40F418935C19C220965130505F06F +:100F000093F7F7032302F402BC22A207E98F883289 +:100F1000C98F939757607EB08DCF038506006353CA +:100F2000050A1305C01203485402B387A7020545FA +:100F3000631CA8082D070A07998F138547ED13082E +:100F40004051034784026374A8081367070423040D +:100F5000E402F5148D0693F4F40F3C3213F7070204 +:100F600071EF93F7070499C79C22FD1493F4F40FD3 +:100F7000A301F402F1E40346E4027C24385C8346D6 +:100F8000C402918F8907BA9732C63EC802C402C212 +:100F90007E3C850693F6F60F3EC083085401030895 +:100FA0003402834794020347D40283455405034522 +:100FB000840213066405EF80707805A89306560036 +:100FC000F917DDBD794585B729070E07B5B74A3C46 +:100FD000AA951735FA1F0355E552635EB5001367EE +:100FE00007042304E40293040002B250225426852D +:100FF000925445618280136707022304E402173785 +:10100000FA1F1307E70808434EBC4C4513981549CF +:10101000232605010F1000001843370502009387AF +:1010200057ED08C7130500081738FA1F232CA86CC2 +:1010300086077CD34CC731BFD14445BFD94475B76F +:10104000E14465B75D71A6C2B7040300A2C4CAC07B +:101050004EDE52DC56DA5AD85ED686C61734FA1FF0 +:101060000324C44D1739FA1F13098902370A0200F5 +:101070009739FA1F93890968930A0008173BFA1FEA +:10108000130B0B00973BFA1F938B8B0193848415F2 +:1010900083270900F8537DFFD44713971649D8C713 +:1010A0000F1000000327090093072030B705330015 +:1010B0002324470123A859017CD354C79737FA1F2B +:1010C00023AA07628347840293F7F7F92304F40203 +:1010D0009737FA1F23AA07629737FA1F23AE0760D4 +:1010E00085471CC383270B00944393F6F6CF94C324 +:1010F000944393F6F6CF93E6062094C383A60B00A1 +:1011000090464D8E90C624CBD856759BD8D6984322 +:1011100083464402137707F893F6F607558F98C372 +:101120009710FA1FE780E0169730FA1FE78020B388 +:1011300083A70900858B89CB22859737FA1F23ABBC +:10114000075AEFF05FD031C5930700FA3CA403457E +:1011500084028346C402830854011375F5F91365AC +:1011600005042304A40203083402834794020347BE +:10117000D4028345540502C802C602C402C2723CAE +:10118000850693F6F60F32C013066405EF80105BF8 +:1011900009A8834784021307000293F70706638DAB +:1011A000E700B640264496440649F259625AD25A9C +:1011B000425BB25B6161828038249307500AE30985 +:1011C000F7EC71B75971A2D4930555012A84285DB3 +:1011D000014686D6A6D2CAD0CECED2CCD6CADAC8DE +:1011E000DEC6E2C4E6C2EAC06EDE9710FA1FE780F0 +:1011F000E00C094759ED032B84071D46130700082F +:1012000083460B00BD8A54B483471B007CA46392C1 +:10121000C60883442B00114713DC640023048403B5 +:1012200093F4F40363F7F406138714006376F7006E +:1012300089461947630FDC04FD17858F2307F402E5 +:1012400083473B0013094B00858B9DE7FD148347C3 +:101250003B0093F4F40F898BC5CB0347C4053C5C7A +:101260006300071689469C236318D7069397476047 +:1012700063C90706494731A8834744051305640538 +:101280008DCB1946CA8597F0F91FE780201E454788 +:1012900021E1B650265496540659F649664AD64A74 +:1012A000464BB64B264C964C064DF25D3A85656131 +:1012B00082808547230AF40483470B001946CA85B8 +:1012C00093D76748A30AF40497F0F91FE7808008D2 +:1012D0001309AB00E514A5BF0347D4059D83E31BA9 +:1012E000F7F81946CA851305E40597F0F91FE7805A +:1012F000E01749D183478402E914190993E74700AD +:1013000093F4F40F2304F4022285EFF0CFDA25479B +:1013100049D183463B0093F7460089C7FD14050970 +:1013200093F4F40F93F7860095CB83471900834518 +:101330009402514713D64700E39DC5F40567130790 +:1013400007F0A207F98F03470900D98F3A346303E6 +:10135000F7003EB4F914090993F4F40F93F706016A +:10136000C1C35547E3170CF2834709000967130708 +:1013700007F093F7F7032302F40283472900A2073B +:10138000F98F03471900D98F939757607EB00307F1 +:101390000900635507006177D98F7EB07E30F51460 +:1013A0000D0993F4F40F93F6060299C7834784025C +:1013B00093E707022304F40295EA231F04029DA881 +:1013C0000547230EE4049C231946CA859D83A30E7A +:1013D000F4041305E40597F0F91FE780A0F719BF9F +:1013E00093F60602F9DA5947E3150CEA4946CA852D +:1013F000680897F0F91FE780E0F5BC8709477EBCD5 +:101400005C4CB98B6394E70283472408858B638324 +:10141000071A9739FA1F83A9291393056405054A0A +:101420006390090C8347C407639B0710B9144909EB +:1014300093F4F40F83473B0093F7070489CB83476A +:101440000900FD140509A301F40293F4F40FC9C0C7 +:1014500013062003A54505450347190083470900E6 +:10146000631BC7046399B7040347C4076315A70444 +:1014700003473900834629002207558F83464900D8 +:10148000C206D98E034759006207558F2320E40C0A +:10149000034769002300E40E03477900A300E40E2C +:1014A000034789002301E40E03479900A301E40EDA +:1014B0000947230EE40663FD970013871700B387DF +:1014C000F440FD171377F70F93F4F70F3A99C9F427 +:1014D0002285EFF0EFD28547630FF52E054755BB08 +:1014E00003C74900834794026313F70C83475405ED +:1014F00003C75900858B631CF70A194613856900D9 +:101500002EC697F0F91FE78060F6B2456311450BD0 +:1015100083479402A308040C2319440D230AF40CF6 +:101520008347540519461305640DA30AF40C97F07C +:10153000F91FE78020E22320040E230E4407925770 +:10154000A2561305040B13D757001D8BA30FE40CF1 +:101550000347540213968601A1820507230EE40C6B +:101560007A3CA30EE40C2183230FE40C13D78700ED +:10157000598E1307040814CF8356C10250CBFD8B3C +:101580002314D40882565CDB14DBEF808FCD034735 +:10159000D1018967A307A40893760702F249FD17D2 +:1015A000A1EEB3F9F900F947B389F90295A083A92F +:1015B0000900BDB50347440D83479402E314F7E6E1 +:1015C000834754050347540D858BE31DF7E4194603 +:1015D000930564051305640D97F0F91FE78000E992 +:1015E0008547E311F5E4A308040C2319A40C232078 +:1015F000040E230EA406A1B7B3F9F900137707046C +:101600009307C012B389F90201C7B7872500BE99B5 +:101610008346540205477C246397E618AD078A0782 +:10162000B389F940B7074B00138749ED938777DA01 +:10163000E3EEE7DE973BFA1F938B0BB703D5CB00A6 +:1016400037460F008146B3A5A902130606242300DE +:10165000040833053503EFC0800C83A70B002A8AEA +:10166000AE8A8297B307450133B5A700B30555018C +:1016700083A68B003E8799E163E4D7003387D74088 +:101680009737FA1F83A7C78E2320E40A8297130790 +:10169000204E33CDE9029737FA1F23AFA79C83D79B +:1016A000EB00B74D0F00938D0D249387471F173A1A +:1016B000FA1F034AFAAB83DCCB008146814566867C +:1016C000B3C7FD02B30AED023305BA03135A1A0079 +:1016D000B3DAFA02EFC0A004930600321307204EDB +:1016E0006686B387AC03AA9AB3F7D7028146B3875D +:1016F000E702B3C79703B335BA03B3C70708BE9A67 +:101700003305BA03EFC0A00156956371350BD2893A +:10171000B3B55C03032A040A37460F002326540B93 +:1017200013060624814633855C03EFB0507F636C5B +:10173000AA083305AA402322A40A0345D407930725 +:10174000F00F6304F500EF30EE8A8327440A173563 +:10175000FA1F0325A5DF63EC37073386374183275C +:10176000C40D03D7CB009306D407A183B3C70708E2 +:10177000B387E70213070032A2859387071933D78F +:10178000E7029710FA1FE78080170347D4079307F3 +:10179000F00FE30DF7C8FD572319F4085C4C93E7ED +:1017A00047005CCC61B1A9078E079DBD37153D0090 +:1017B00066868146130505908145EFB05076B38A61 +:1017C000A9408D49B1B783A78B003E9A9DB703A767 +:1017D0008B00BA9759B78947631CFC007C34858B12 +:1017E00081CB8347440589C71C38DDC3FD171CB86E +:1017F0009720FA1FE780A0462285EFF06FA383476A +:10180000840293F70702E38B07CC7E30139757606F +:1018100063540708CE07CD831307C0120346540252 +:101820008546B387E7027824631AD6062D070A0790 +:10183000998FB7064B00138647ED938686DA130718 +:101840001002E3E8C6A413070064E369F7C817377A +:10185000FA1F1307E78310435446939516494CC665 +:101860000F100000184337060200938757ED10C78A +:10187000130600089735FA1F23A6C5E886077CD310 +:1018800054C7930750FA3CA48347E4025EBCB9B145 +:101890002285EFF08FCC99B1794749B729070E0718 +:1018A00041BF9737FA1F83A767C9D84F39469305B9 +:1018B0000008459BD8CF13074004A388E70C0145D7 +:1018C0006FE0FFA9411122C4930555012A84285DC8 +:1018D000014626C206C64AC09710FA1FE780009E3E +:1018E000894435E5032984079D469304000803478E +:1018F00009003D8B58B4834719007CA46319D704B1 +:10190000034784029944136787002304E4020347D2 +:1019100029009376F70319831DEB13871600914472 +:101920006377F702FD17958F2307F4028347390089 +:1019300093054900858B8DCF834644050D4783472A +:1019400009006392E61293F7070489EBC544B2409D +:1019500022440249268592444101828068501946FA +:10196000510597F0F91FE78060B09305A90079DD74 +:1019700083473900C94413F7270071FB230E040481 +:1019800013F74700CD4461F793F407026391041401 +:1019900013F7870005C398318566938606F0220702 +:1019A000758F94218905558F3AB403C7F5FF1183CC +:1019B000A304E402C18BB9CF9C210967130707F088 +:1019C00093F7F7032302F402BC21A207F98F9831A1 +:1019D000D98F939757607EB003870500635F070830 +:1019E0001307C012034654028546B387E7027824E2 +:1019F0006317D6082D070A07998F138747ED9306BB +:101A0000405163F1E6088347840293E70704230407 +:101A1000F4028D058347390093F7070481C79C21A1 +:101A2000A301F402030744013C38634CE0088547F6 +:101A30005CA82C380545EF304EA308B82285EFE0AE +:101A40003FFF8547E315F5F0834784021307000243 +:101A500093F70706E39DE7EE930750FA3CA483470C +:101A6000E4025EBCEDB50347540593D76748E31F16 +:101A7000F7EC194613056405EDB57947A5B72907B5 +:101A80000E079DBF1727FA1F1307876010435446A0 +:101A90001395164948C60F10000018433706020078 +:101AA000938757ED10C7130600081735FA1F232B2D +:101AB000C5C486077CD354C78347840293E70702D3 +:101AC000B9B7858399C33CB8ADB78547EDBFD94455 +:101AD000BDBD011126CA9724FA1F9384645C984007 +:101AE00022CC4AC84EC606CE5C571729FA1F1309E6 +:101AF00029599729FA1F9389A959F59B5CD7032780 +:101B00000900834645021734FA1F1304A4BE1C4380 +:101B100093F6F607014693F707F8D58F1CC3B7C7AE +:101B2000898E938767ED1CC7B75755009387575524 +:101B30005CC303A709009305F00F5C4393E717000C +:101B40005CC3930710FA3CA503455502232004000B +:101B50009710FA1FE780E0A683A60900232A040055 +:101B6000032709002322040085479CC21C43370633 +:101B7000330093F7F7CF1CC31C4393F7F7CF93E7DA +:101B800007201CC39840F24062441C47D24442499B +:101B9000D18F1CC7B707030093878715BCCAB2490A +:101BA00005618280411106C622C4FD572308F50253 +:101BB000834715022A842301F502A147A300F502F9 +:101BC00035459720FA1FE78020122285EFF07FF03D +:101BD0009727FA1F9387C74B984354471396164984 +:101BE00050C70F1000009C433707020098C7130727 +:101BF00000081736FA1F2327E6B00567130727A842 +:101C0000F8D3D4C7930740FA3CA4B2402244410120 +:101C10008280011122CC930555012A84285D01465A +:101C200006CE26CA4AC84EC652C49700FA1FE7809D +:101C3000E06863130542832984071307F00783C60E +:101C40000900BD8A54B483C71900A301E402230A22 +:101C5000040493F7F7037CA4230E04041D47639B3D +:101C6000E632544C1167758F631A073E03C9290089 +:101C70009374F903138714006394E73E13596900C2 +:101C80002304240383C73900138A490013F717007C +:101C900051CB6319093CC18B91C703471402894793 +:101CA0006302F73C8547230AF40483C70900D28501 +:101CB000194693D7674813056405A30AF40497E00F +:101CC000F91FE780206983C73900E514138AA9004A +:101CD00013F7270093F4F40F25EB83C7390013F7AC +:101CE00047006313073893F60701A18BC5C38347E9 +:101CF0001A000567130707F0A207F98F03470A00C8 +:101D0000D98F3EB483471A009183A304F402FD5790 +:101D10002301F402C1E6F914090A93F4F40FA306AF +:101D20000402F9A0FD1413F7270093F4F40F55D71C +:101D3000630C09008D44F24062444249B249224A90 +:101D40002685D24405618280C18B91C70347140266 +:101D50008947E301F7FE8547230EF4043C5CD285F6 +:101D600019469C231305E405E9149D83A30EF4048E +:101D700097E0F91FE780005E83478402190A93F415 +:101D8000F40F93E747002304F40281BFFD57A30437 +:101D9000F4022301F402C1D6D54471BF9720FA1F83 +:101DA000E780E0EB83472A000967130707F093F702 +:101DB000F7032302F40283474A00A207F98F03477F +:101DC0003A00D98F939757607EB003072A00635576 +:101DD00007006177D98F7EB083474A000947958312 +:101DE000A302F402E36AF7FAED14150A93F4F40F70 +:101DF00083C7390013F70702631A072613F707048E +:101E000005C313F7070111C783461402094763810D +:101E1000E62603470A00FD1493F4F40FA301E4023D +:101E2000639A0424631A09022285EFE0DFA819E10E +:101E3000A54411B72285EFE0BFBC7DD983C7390027 +:101E4000C18B95E39720FA1FE78060E12285230785 +:101E50000402EFE0FFBD89B7C18B91E79720FA1F1D +:101E6000E780E0DF15BF8347540272302306040287 +:101E70008507A306F4029317566063D1070E4E063A +:101E80004D829307C012034714023306F6028547BA +:101E90006316F7007C24A9078E071D8EB7074B0039 +:101EA000130746ED938787DA63E8E71C9307005032 +:101EB00063E8C70A9724FA1F9384841D9C40D8477F +:101EC00093161749D4C70F1000009C40B7060200B4 +:101ED0001739FA1F1309098294C7130656ED9306A2 +:101EE00000082328D9000606F0D3D8C7F8537DFF91 +:101EF0008347140222852301F402A147A300F402C0 +:101F0000EFF03FBD9C40D84793161749D4C70F1038 +:101F100000009C40B70602009304000294C7930699 +:101F200000082328D9009306A032F4D3D8C797001D +:101F3000FA1FE780003683270900858BE38D07DED3 +:101F400022856244F240D2444249B249224A97274C +:101F5000FA1F23A1077A05616FF0CFA6F94725B7CD +:101F6000034704039307F00F93041002E315F7DC13 +:101F7000930710271306F6D83356F6029306040388 +:101F8000A28517050000130525C29304F007EF2072 +:101F9000AEE855B3130770043357D700058B93048D +:101FA0000008E30A07D8E91793F7F70F7D47E364C2 +:101FB000F7D88544230A940483C7090019469385FA +:101FC000290093D7674813056405A30AF40497E032 +:101FD000F91FE78020385C34230E040463919702D4 +:101FE0002C5C230EF40419469C211305E405A1057D +:101FF0009D83A30EF40497E0F91FE780A0352285A6 +:10200000EFE07F8B8547AA84E314F5E22285EFE0B9 +:102010003F9FE31F95E05C3481C71947639CE7004D +:102020006434858881C88347440589C71C3889CFB3 +:10203000FD171CB89720FA1FE78060C258349147FB +:102040006318F7009D44C5B92285EFE01FD1E5B1C3 +:102050002285EFE0FF9DFDB78944F1B9A144E1B9C4 +:102060009144D1B9C544C1B9CD44F1B1D944E1B12C +:10207000DD44D1B1E144C1B1930410026DB9411105 +:1020800022C4930555012A84285D014626C206C64E +:102090009700FA1FE7808022894429E12C5C7D4764 +:1020A00091449C31230E040493F7F7037CA4E917B1 +:1020B00093F7F70F6364F7029C211147A144BD8B8E +:1020C0005CB4639DE700834644050D479C21AA84C8 +:1020D0006395E60493F7070481EBC544B2402244BC +:1020E0002685924441018280685019468905510530 +:1020F00097E0F91FE78080376DD1030744013C3832 +:102100006348E00285475CA82C380545EF20FEB502 +:1021100008B82285EFE0DF91D1B70347540593D784 +:102120006748E31CF7FA1946890513056405C9B722 +:10213000858399C33CB8C9BF8547EDBF011122CC47 +:102140001724FA1F1304045B584C26CA06CE4AC84B +:102150004EC695479724FA1F83A4443E6306F700B2 +:10216000584C8D47631FF7008347140281E793079C +:1021700060101EB0F2406244D2444249B249056147 +:1021800082805C4C1729FA1F130989F08327090004 +:1021900037070200194523A2070698C79727FA1F99 +:1021A00023A207569729FA1F938989ED9720FA1FD2 +:1021B000E78080B303A70900B7C7898E938767EDCF +:1021C0001CC7B7575500938757555CC383C7240274 +:1021D0001307F00F6387E700A380F402FD57238104 +:1021E000F4020327090001469305F00F5C43014503 +:1021F00093E717005CC3930710FABCA499475CCC23 +:102200009727FA1F23A8074E1724FA1F130444E93F +:102210009700FA1FE780E03A18405C57F59B5CD7BF +:1022200083A6090098349C421377F70793F707F8C1 +:10223000D98F9CC29727FA1F83C707F889CB172528 +:10224000FA1F0325E5E297E0F91FE780405A03A74C +:102250000900B70633001C4393F7F7CF1CC31C4398 +:1022600093F7F7CF93E707201CC318401C47D58F7F +:102270001CC703270900B7070300938787153CCBCA +:102280009727FA1F23A207489727FA1F23A6074676 +:1022900085471CC3C5B5411122C406C626C21724F2 +:1022A000FA1F0324A42903471402A1476301F70C72 +:1022B0009726FA1F83A6C6459947639AF60A89446A +:1022C0001C34631B970A13077002638AE710130715 +:1022D0005002930570026394E700930560020CB40A +:1022E0009727FA1F83A7C7D998433706CEFF7D16D5 +:1022F0001377F7CF1367071098C31727FA1F032721 +:1023000027DA14471725FA1F032585D83708330025 +:10231000F18E14C73706030030C99726FA1F23AB86 +:10232000063C9726FA1F23A1063E9726FA1F23A5EF +:10233000063C854614C194431306861593F6F6CFE2 +:1023400094C3944393F6F6CF93E6062094C31447C0 +:10235000B3E6060114C730C95457F59A54D79843C9 +:10236000137707F84D8F98C3930710FA3CA4B24037 +:10237000224492444101828013077002638AE7027B +:10238000930650026394D7001307600218B497268F +:10239000FA1F83A6E6D0DC56F59BDCD69726FA1FFB +:1023A00083A606CE9C4293F707F8D98F9CC26DBFD7 +:1023B00083470402898B85C77238A1451725FA1F08 +:1023C000034535D7EF206EB193075002A300940266 +:1023D0001CB42244B240924441016FF03FD62285A2 +:1023E0002244B240924441016FE03F819727FA1F97 +:1023F0009387470D03A7070A25E31727FA1F13073B +:10240000672F504FA9466309D604544F2D47638563 +:10241000E604411122C4A05F06C61725FA1F034532 +:1024200055D18347040213F7170011C78547322C93 +:10243000A300F40239A0898BF5DB72388947A30029 +:10244000F402A145EF206EA9930750021CB4224468 +:10245000B24041016FF09FCE8280011122CC26CA8A +:102460004AC84EC652C456C25AC006CE1724FA1FD6 +:102470000324C40C930A200A1309100A9304600A67 +:10248000130B400A9309500A172AFA1F130A8A26C7 +:102490003C24639C570B9727FA1F938767BF984389 +:1024A00054471396164950C70F1000009C43370736 +:1024B00002009724FA1F9384E42398C713070008A7 +:1024C00098C81727FA1F0327A7BB18431357774845 +:1024D00035C31307E018F8D3D4C79700FA1FE78075 +:1024E00040DB9C40858B8DCB9727FA1F23A40720C8 +:1024F0009710FA1FE780A0762285EFF05FB809CD2C +:10250000030744013C38634A0702FD575CA82C3896 +:102510000545EF208EF508B81C24638C0712624431 +:10252000F240D2444249B249224A924A024B0561E2 +:102530006FF0DFC01307E01A79BF860793F7F70F34 +:1025400099C33CB8E9B7FD57EDBF639127038327D3 +:102550000A00858BF1D322859727FA1F23AC071831 +:10256000EFF02FEB3C24E39527F37DB76396970AB2 +:102570009727FA1F9387C7B1984354471396164974 +:1025800050C70F1000009C43370702009724FA1F22 +:102590009384441698C71307000898C81727FA1F92 +:1025A000032707AE18431357774821CF1307E018C6 +:1025B000F8D3D4C79700FA1FE780A0CD9C40858B45 +:1025C00089CF9727FA1F23A707129710FA1FE780D2 +:1025D00000692285EFF00FAF09CD030744013C38B5 +:1025E00063440702FD575CA82C380545EF20EEE751 +:1025F00008B838249307500AE310F7F2EFE09FA4DD +:1026000021BF1307E01A6DB7860793F7F70F99C339 +:102610003CB8D9BFFD57EDBF639A67039700FA1F17 +:10262000E78020C783270A00858B81CB22859727E7 +:10263000FA1F23A1070CEFE0FFB83C246394370195 +:10264000EFE05FA03C24E38597E4F9B5E38A37FF28 +:10265000E1B59727FA1F83C727B699CF6244F240A6 +:10266000D2444249B249224A924A024B014505618D +:1026700017E3F91F6700A317F2406244D2444249AE +:10268000B249224A924A024B056182804111B7E762 +:1026900000E026C284433707200006C622C44AC091 +:1026A000F98C23A0E7180F1000009727FA1F9387D3 +:1026B000670403C7170211CB83C607020947639655 +:1026C000E6001727FA1FA3070704D44F21476386A4 +:1026D000E600D44F1D476398E600D84F2380E702F9 +:1026E0000547A380E7029710FA1FE7804057172499 +:1026F000FA1F0324A4E46840231504002304040003 +:1027000097E0F91FE780A0A21729FA1F130949A231 +:102710000345390091452310040423220404232493 +:102720000404EF208E8303453900A145EF20EE829B +:10273000034514039307F00F6307F500EF208E8B1A +:10274000FD57A308F402034504039307F00F630742 +:10275000F500EF202E8AFD572308F4029727FA1F71 +:1027600083C787A591C7014597E0F91FE780200837 +:10277000B2402244B7E700E023A0971002499244F8 +:1027800041018280411106C6FD57A308F502454666 +:10279000930500080145EFD09FBCB24041016FF0A6 +:1027A000FFEE9727FA1F83C7D79895EF411117457A +:1027B000FFFF1305459506C6EF206EA8EF305FA119 +:1027C000B24097E7FFFF9387C7051727FA1F232912 +:1027D000F7D697070000938787C81727FA1F232982 +:1027E000F7884101828097E7FFFF938787031727C8 +:1027F000FA1F2327F7D497070000938747C61727A8 +:10280000FA1F2327F7868280411126C206C622C4FA +:102810004AC0EF708F8EAA8439C9EF60BFFC2A844A +:1028200063050510930710113EA5930700FB7CA5D7 +:1028300085471CA91729FA1F130909928357090113 +:102840001307401093053025A50713050004B3C7EF +:102850000708B3D7E70A33F5A70A97D0F91FE7802F +:10286000E07F2328A41019E90A24EF70AF96B24044 +:102870002244024926859244410182809727FA1F0B +:1028800083A707EB232AF4109727FA1F938787C3A0 +:1028900003A6070D83A6470DBA3F83C7A704232CC1 +:1028A000C40E232ED40EA304F416FD572310F404F3 +:1028B0007EB01EB48347E4022324C4102326D41020 +:1028C00093E707FC2307F4028567938787BB2315EB +:1028D000F4042312E414228523130414EF506FF739 +:1028E000034549012301A414EF304026D147A30337 +:1028F000F41893078002A302F4189307C04E231C18 +:10290000F4169307F007230DF416F5779387A7EBDA +:10291000231EF416A301A4142300A418A300A418D2 +:102920009727FA1F239407BA99B7854489B74111AD +:1029300022C426C24AC006C69724FA1F938484B8CC +:102940002A84A830834504031729FA1F1309C98074 +:10295000A307A402EF200EA99725FA1F9385C5842B +:10296000D2253E3C93060032232AA4083387C702AF +:102970008C453358D7023377D7022326040913082E +:10298000204E33070703B38707033347C702B3D784 +:10299000A7021AB003478901BA971A3C9387871692 +:1029A000B3C7070805073307C7022312F408130744 +:1029B00007193357D70283268408BA9663E5E600E1 +:1029C000368663E4B6003386B64003477403930645 +:1029D000204E2313F4083307D7022328C408228586 +:1029E0002311E408EF502FC62285EF502FE16E3CF3 +:1029F00022859205F915B3C50508EF500FC1228550 +:102A0000EF70EF8A9717FA1F83A7C76523A0840A80 +:102A1000898B91CF8327090399CB83258409354579 +:102A20008297832709038325C40939458297228524 +:102A30002244B240924402499727FA1F239B07A8D9 +:102A40009727FA1F23A807A841016F50BFC68357D5 +:102A500045080357050889463357D70AB397E70057 +:102A60002313F5086F208EA7011122CC26CA4AC86D +:102A700006CE4EC68347650338392A848507230B63 +:102A8000F5021719FA1F1309A9605C259714FA1F9C +:102A90009384045F631A07501439BD9B93E7370092 +:102AA000130700045CA5A30D050038B99397466091 +:102AB00063D8070093F6F60714B9EFB0DFC839A85A +:102AC0008327850A13F7270025C3F59B2324F50ADE +:102AD00083270510918BB1C7EF90FF91343C854758 +:102AE00058246399F60483278411DC4398A3832731 +:102AF00084115838DC4398B30327841183270900D5 +:102B00005843B8DF9C4098431317772998C3D85788 +:102B1000719BD8D7F2406244D2444249B249056120 +:102B20008280EF905F8B5DBF13F717000DC3F99B99 +:102B30002324F50A83270411582498A3832704111A +:102B4000583898B383270900032704115DBF18295B +:102B500085496310371DE1C313F7070119C7BD9BF2 +:102B60002324F50AEF909FE895BF13F7070201CBE6 +:102B700093F7F7FD2324F50AEF90DFFA85B713F7F3 +:102B8000070401CB93F7F7FB2324F50AEF905F8B43 +:102B9000B1B713F7070809CB93F7F7F72324F50A22 +:102BA0002285EF905F961DBF13F7072009CB93F79F +:102BB000F7DF2324F50A2285EF90BFA505B713F7A9 +:102BC000074001CB93F7F7BF2324F50AEFA0AFDA54 +:102BD00031B71317B0287D8F01CB9397B7482324C3 +:102BE000F50AEF905FBBDDBD05677D8F01CB939745 +:102BF000C7482324F50AEF907FBCCDB509677D8FC8 +:102C000001CB9397D7482324F50AEF909FC6F9B5D7 +:102C10002324050A05B78327450A6384073013F781 +:102C2000070401CB93F7F7FB2322F50AEF906FF42B +:102C300075B513F7071001CB93F7F7EF2322F50AC9 +:102C4000EF907FDF61BD13F7072019CBCD8A639129 +:102C5000060E93F7F7DF2322F50AEF907FE2BDBD62 +:102C600013F7074001CB93F7F7BF2322F50AEF9044 +:102C7000AFFAADB51317B0287D8F01CB9397B74846 +:102C80002322F50AEF902FFD91BD05677D8F11CBB3 +:102C9000CD8AD9EE9397C7482322F50AEF905F8F2C +:102CA00035BD11677D8F01CB9397E7482322F50A45 +:102CB000EF90DFA825B541677D8F01CB939707493A +:102CC0002322F50AEF909FEF11BD370702007D8F99 +:102CD00001CB939717492322F50AEF90DFA9FDBB9B +:102CE000370710007D8F01CB939747492322F50AC0 +:102CF000EF901FB3E5B3370780007D8F01CB93972B +:102D000077492322F50AEFA08FA4C9BB2322050A25 +:102D100015B519CF1306A0056367E6041306F00383 +:102D2000636AE60015171377F70FF54763F4E702B8 +:102D3000228561B3130707FC1377F70F6946E36930 +:102D4000E6FE17B600001306E6483347C7201843CF +:102D50003297028797B600009386864E3347D72076 +:102D60001C43B69782879307200763ECE70293071B +:102D7000000763E8E722930760066301F722130761 +:102D800067F91377F70F8549E3E4E9FAEFB0BF9BE2 +:102D90008327040A9397B7282320F40A23083401D1 +:102DA00035BB93076007E30EF7E293076008E31172 +:102DB000F7F8EF901FAC3DA01317B0287D8F2DDBE7 +:102DC0009397B7482324F50AEF90FF9C93070004DC +:102DD0001CA829B38347B5029DC305476396E70046 +:102DE000EF905FD48547EDB783270510918BC5C75A +:102DF000BD472306F4022285EF90EFDFE5B7EFB081 +:102E00009F948327040A93E727002320F40AD9BF5D +:102E1000EFB07F9385471CA88327040A231104067B +:102E200093E747002320F40A55B9EF902FC8D947FC +:102E3000230AF40465B1EFB01F918327040A93E7D6 +:102E400017002320F40A2308040049B997E0F91F6A +:102E5000E780E0FAE30405C88547A306F404228569 +:102E6000EF906FCF8347C404F99B2306F404BDB1F0 +:102E7000EFB07F8DC9BF83278510858B81C7EF9009 +:102E80003FADA9B9E947A305F50283270510918B4A +:102E900099C38D47B9BF2285EF90EFD3A1B7EF90CB +:102EA0008FC38347D40491CB41469305C40A1305CD +:102EB000C40C97D0F91FE780E0498347C404232658 +:102EC000040E2328040E93E717002306F40439B1F7 +:102ED00083270510918B91CB8D472306F502EF9048 +:102EE0008FD11C38DD9B1CB8F5BDEF90CFCED5BF80 +:102EF0008347C5042322050E2324050E93E72700EC +:102F00002306F504EF90EFBE1C38A3050402DD9BF9 +:102F10001CB88327040A93E70701C5BDEF904FD281 +:102F2000D1B597E0F91FE78080EDE30905BA09B54F +:102F30000347A51411CB83476514B317F0286385A5 +:102F4000E70093E6060114B90347B41419CB83478D +:102F50007414B317F0286386E7001C3893E7070161 +:102F60001CB87C2C91CF1C38C18B99EB8327040AA9 +:102F700093E707202320F40A2285EFB0CFFC9DB50C +:102F80008307B417F5DB83274410898BF5D7832794 +:102F9000440A939747292322F40AF9BFEFA0AF9D73 +:102FA00091B5EFB04FFADDBB1717FA1F1307875122 +:102FB0001E2B85071EAB1DB68347E518858B638CDA +:102FC000070E397122DC06DE26DA4AD84ED652D4F4 +:102FD00056D25AD05ECE62CC834765132A8413D76B +:102FE00037002A97834607139D8B33D6F640058A10 +:102FF00055CE034545037D57FD4759152C003AC46E +:103000003EC613154560EF20F04D0326841322477A +:103010008326C413B247718FF58F6314E60063866D +:10302000F6062800EF60FFA3894763F0A70629464C +:1030300081451305741997D0F91FE780203822497C +:10304000B249814A0D4C930B500256864A85CE8573 +:10305000139A4A60EFA0E067135B2A40229B137A21 +:103060003A00058983447B19060A05CDB3944429A7 +:1030700093F4F40FA30B9B18850AE3987AFD83471A +:10308000E41893E787002307F418F2506254D254EF +:103090004259B259225A925A025BF24B624C216158 +:1030A0008280331A4C01B3E44401D9B7B396F628B1 +:1030B0002308D712D9BF8280397126DA9714FA1FF4 +:1030C0009384444022DC03A4C4094AD84ED656D285 +:1030D00037090300B74A0F00B709008252D45AD00B +:1030E00006DE5ECE62CC66CA6AC86EC6130A891551 +:1030F000138BFA23FD197C241307000D6393E7203B +:10310000971BFA1F938BCBF883A70B0098430D8B6B +:103110000DC71717FA1F230907E4B84B1377F78F6A +:10312000B8CB98431367870098C39C4393D737481D +:1031300089C701000100010001009717FA1F83C72A +:10314000A70789E797E0F91FE78080F48347C40465 +:10315000858B89C7A2850545EF207008171CFA1FCB +:10316000130C0CF203270C0083472414971CFA1F3E +:10317000938C0CF354579395476093F7F703B3F68A +:103180003601E607D58F5CD79306A00383A70C0012 +:1031900063D8B610F44F37060007D18EF4CF8327DB +:1031A000840983A60B00171DFA1F130DAD541CC70D +:1031B0008327C4095CC3DC4293E71700DCC25C5779 +:1031C000F19B93E717005CD78355041E0356241E1A +:1031D00003457414930710FD7CA491059307000C1C +:1031E0002320FD00B3C5050897F0F91FE780603D77 +:1031F00083457414054683A60B00035724088357A0 +:103200006408639BC50C13071703D046B3A7E720D8 +:1032100013171649D8C60F10000003A70B00B706F6 +:103220000200860714C7930600082328DD007CD31C +:1032300050C79717FA1F23A9074C03A60B0097172F +:10324000FA1F23AB074A85471CC28346C404832761 +:103250000C0003A70C00858AD9C29443B70533003C +:1032600093F6F6CF94C3944393F6F6CF93E60620F5 +:1032700094C31447CD8E14C79306891734CA545784 +:10328000F59A54D783466413984393F6F607137759 +:1032900007F8558F98C397F0F91FE78080FFA1BD0D +:1032A0009306200263DAB600F44F370600F97D1664 +:1032B000F18E37060005D5B5370600F9E9467D16CB +:1032C00063D7B600F44FF18E37060003F9B5F44F1B +:1032D000F18E93968629D9B5130717043DB7944309 +:1032E000B705330093F6F6CF94C3944393F6F6CF25 +:1032F00093E6062094C31447CD8E14C723284605B1 +:10330000BDBF1307100D6394E754971BFA1F938BEF +:103310006B3E83A70B00858B638C074683A70B004E +:1033200093F70708CDCF7C34171CFA1F034C4CE4ED +:1033300093F7070299CF3E3C1307204EB387E7026D +:1033400003274409B3D7E7021307CC03BA97231224 +:10335000F408971DFA1F938D2DE50355440803DDEE +:10336000CD0037460F0013051504B325A50313063A +:103370000624814683AC4B033305AD02EFA0203A0F +:103380008327C40803A68D003385A740B3079501A2 +:10339000BE8563E4A70063E4C700B385C740032785 +:1033A0000409636FB7128356640883572408138592 +:1033B0000A240D8FB3A7F620B387A703DA97B3D7F4 +:1033C000A7026365F7001D8E6374E6002328B40826 +:1033D0008582B3F6860B231004082313D408032533 +:1033E0004411130624039305440397F0F91FE78063 +:1033F000E0EC03D764048347440323ACAB00998F0C +:10340000230AF402832744111307F0039C23636407 +:10341000F7008D8B81E7854723ACFB0083A78B01E9 +:10342000858B639B07268347A40293E72700230528 +:10343000F40283A70B0093F7070889CF03476413AF +:1034400093573700A29783C607131D8B3397E6481F +:103450002388E7127C34898BD5C32285EF40FFBFD8 +:1034600051ED7C34A309040093E747007CB4832723 +:1034700084118DCB383C1DC79837058B05E7BA27DB +:10348000C843136707F0BAA797D0F91FE78020CA8F +:103490008357440485072312F404832784119C4333 +:1034A000232CF4105C3881CB8347C404898B81C7FB +:1034B0002285EF40DFBE1C28130720026394E70239 +:1034C0008327040AA305040293E787002320F40A54 +:1034D0001C3893E787001CB8930740021CA839A842 +:1034E0003297D1B513070006639CE70A85471CA8ED +:1034F0008347A40293E717002305F40283A78B01F7 +:10350000898BE5C78347C404858BE5C31C3C8507CD +:103510001CBC7C3413F7270031E393E727007CB40D +:10352000930700F85CAC3E3C1307204EB387E702DC +:1035300003274409B3D7E7021717FA1F034747C306 +:103540001307C703BA97B3C707082312F4088607FF +:103550002311F4089717FA1F23A60700228597174F +:10356000FA1F23A90718EFF02FD04C380345641435 +:10357000910597F0F91FE780C0DE5C38638B071C6C +:103580008347C404898B6386071CA2850145EF200D +:10359000803E630A05109700FA1FE780406C79A40B +:1035A000130770066399E7021717FA1F032747AD41 +:1035B0003C57ED9B3CD79717FA1F238E07143717FC +:1035C00000401E2FC607C5831EAF5C2493F7F7FD8E +:1035D0005CA4854721B77147E392E7F28327040A89 +:1035E00093E717002320F40A11BF2285EF401FA99B +:1035F0000DF1A30C04002285EF407FA31C38A18BA2 +:103600008DCB7C289DC77C38094793F7B70F638221 +:10361000E7029307D003230AF404930770021CA85F +:103620008347C404858BE38607EE2285EF403FACD9 +:10363000CDB55C340D476394E7047C381307A002D2 +:103640006372F7027C381D476388E702A306F40221 +:103650008327840A228593E717002324F40AEF8046 +:103660001FCB19A817B700001307079FB3C7E720A0 +:103670009C432285829779F57C28DDF359BDE38A46 +:1036800007E87C28E38707E8228597E0F91FE780B1 +:103690008086E31005E8CDB71C2C85071CACFE2402 +:1036A0008507FEA4BDB51717FA1F0327679D1C43A6 +:1036B000B706330093F7F7CF1CC31C4393F7F7CF3C +:1036C00093E707201CC31717FA1F0327679D1C47A2 +:1036D000D58F1CC7B70703001717FA1F0327479B8F +:1036E000938787273CCB9717FA1F83A7679998433F +:1036F0001317772998C3D857719BD8D7930720FD04 +:103700007CA49717FA1F83C727ABE39607B88327D4 +:103710000412E38207B87834058BE30E07B6D4436E +:10372000D0278C270A248906EF608079E31505B637 +:1037300083270412BA27136707F0BAA79C432320F4 +:10374000F41283572404E38807B4FD172311F4040B +:1037500099B61717FA1F0327A7921C43B706330021 +:1037600093F7F7CF1CC31C4393F7F7CF93E70720DA +:103770001CC31717FA1F0327A7921C47D58F1CC716 +:103780009717FA1F83A7C79013078925B8CBA1BF46 +:103790009717FA1F83A7C78FFC53E39E07949700E0 +:1037A000FA1FE780C04B83A70B00228593F7070819 +:1037B000638A071EEFF0AFA9BE2822858507BEA841 +:1037C000EFF08FFF83570404B5C313074006B3F728 +:1037D000E702A9EF9717FA1F83A7C788898B9DCFA8 +:1037E0001719FA1F130949970327090305CB9E28C8 +:1037F000AE282545C207DD8D029783270903EE24F5 +:103800002945829783270903831524032D45829731 +:103810008327090383054403314582979717FA1FCD +:10382000239907CA9717FA1F23A607CA228562544D +:10383000F250D2544259B259225A925A025BF24B78 +:10384000624CD24C424DB24D21616F401FF21307C2 +:10385000200DE392E7D4971BFA1F938BABE983A764 +:103860004B00858B638307140327040A9717FA1FFD +:1038700023A407E88967F98FE5EF228597D0F91F20 +:10388000E780A07485476315F50E8355041E035623 +:10389000241E034574149105B3C5050897F0F91F5C +:1038A000E78020D28347C404170CFA1F130C4C7E08 +:1038B000970CFA1F938CCC7C858B170DFA1F130D78 +:1038C0002D7EA5CFA2850545EF20601103A70C0032 +:1038D000B70633001C4393F7F7CF1CC31C4393F781 +:1038E000F7CF93E707201CC303270D001C47D58F94 +:1038F0001CC783270C0013078917B8CB930710FD4B +:103900007CA483270C00D44713971649D8C70F10FF +:10391000000083270C003707020098C71307000830 +:1039200023A8EB0003A70C0018431357774815CFC3 +:103930001307E018F8D3D4C7B9BA03A70C00B70629 +:1039400033001C4393F7F7CF1CC31C4393F7F7CF07 +:1039500093E707201CC303270D001C47D58F1CC706 +:1039600083270C0023A8470551BF1307E01AD9B7D6 +:103970009700FA1FE780A02E1C3C85C73D4763795E +:10398000F7009305D0032285EF40FFF1A305A402C1 +:103990009707FA1F83A7477F89C7954513055008E6 +:1039A00082972285EF508FB051B59707FA1F83A7F2 +:1039B000276EFC53639107F49700FA1FE780202AD3 +:1039C000CDB7411106C6EF408FB19717FA1F938705 +:1039D00067AF17F7FFFF130767E323A8E70AB240B3 +:1039E00017F7FFFF1307E7F423AAE70A97F7FFFF8C +:1039F0009387C76C1707FA1F232EF7664101828051 +:103A0000411122C406C62A840345D5079307F00F47 +:103A10006307F500EF001EDEFD57A30EF406FD5709 +:103A2000A300F4084146930500080145EFC03F9309 +:103A30005C4CB240C59B5CCC224441018280411168 +:103A400022C4930555012A84285D014606C697F0D5 +:103A5000F91FE780A086631E0516305C9D46214550 +:103A60001C22BD8B5CB4183278A46395D7163C2217 +:103A7000114593D6670093F7F70363FDE7141945E3 +:103A8000639A06149305F7FF9D8D93F5F50F2307B1 +:103A9000B40203483600454593763800639C06120D +:103AA00093764800F9E293064600FD1713F5F70FE9 +:103AB0009377880095CB9C320343940293D84700B8 +:103AC000631E13118568938808F003C30600A207DC +:103AD000B3F717018358A402B3E767006390F810A7 +:103AE000791589061375F50F137808016302080626 +:103AF0009C220968130808F093F7F7032302F402E5 +:103B0000BC22A207B3F7070103C81600B3E70701F9 +:103B1000939757607EB095CB8386060063DB0604DF +:103B20009306C0120348C40DB387D70289466314B5 +:103B3000D8042D070A07998F138747ED9306405144 +:103B400063FEE60289472304F40275151375F50F29 +:103B50003C3213F7070249E793F7070481C77D1545 +:103B60001375F50F25C96145B5A093065600F917E1 +:103B700035BFF94645BF29070E0775BF5A3C971652 +:103B8000FA1F83D626982E9763D5E60023070402F2 +:103B900055BF5ABC05472304E4021707FA1F130751 +:103BA000274F0C43D4451398164923A605010F103F +:103BB00000001843B7050200938757ED0CC7930523 +:103BC00000081718FA1F232FB8B286077CD354C7F2 +:103BD000ADBF0945B2402244410182805145DDBF5D +:103BE0005945CDBF411126C2645922C406C69D471E +:103BF0009CA08547A3810400BCA08347950B2A8421 +:103C000093F7070489CF93070004BCB07C591707CA +:103C1000FA1F0347A755D8A3BC208507BCA00346BD +:103C2000940C19CABC2068588325C40C8D073E9596 +:103C300097C0F91FE7800072B8208347940C9376F1 +:103C4000F7038507B69793F7F70F5CA4B8A07858E9 +:103C50001CB3B2402244924441018280411126C2E9 +:103C60009714FA1F938404A99C58B706080022C42D +:103C70004AC006C61709FA1F13098941F58F0327A1 +:103C800009001714FA1F0324648BE9C39307800704 +:103C90007CD39707FA1F2389072C9707FA1F83A75E +:103CA000273ED457B70533002285F19A93E61600D4 +:103CB000D4D7944393F6F6CF94C3944393F6F6CFB8 +:103CC00093E6062094C39706FA1F83A6663D9046A6 +:103CD0004D8E90C6370603001306862530CBD0568E +:103CE000759AD0D694430346E40793F606F8137604 +:103CF000F607D18E94C383268409D4C38326040C8B +:103D000094C75C43F99B5CC3EFF0DFED83270900A8 +:103D100078580145B8DF8345C40D9717FA1F23A1D2 +:103D2000079E5024FD1593F5F50F97E0F91FE780E6 +:103D3000E06E9700FA1FE78080F2DC44A304040CD5 +:103D4000B240224492440249410182807C57EDDB1B +:103D500085471707FA1F2309F720DDB7797122D4A9 +:103D6000930555012A84285D014606D626D24AD0FD +:103D70004ECE52CC56CA97E0F91FE7802054631B01 +:103D8000053A345C1D46130500089C22BD8B5CB4CB +:103D90009832230A0404230E040478A46397C718F6 +:103DA000A42223040402114593D7640093F4F4037E +:103DB00063FDE4161945639A07169305F7FF858D91 +:103DC00093F5F50F2307B402B032454593771600FB +:103DD000639D0714937726004945639807149377EA +:103DE0004600639D071413894600FD1493778600EF +:103DF00093F4F40F85498DCF5C4CA18B6386071437 +:103E0000834719000565130505F0A207E98F0345EF +:103E10000900C98F035524096316F5128349240844 +:103E200093C9490093D92948F914090993F4F40F67 +:103E3000418A35C2834709000966130606F093F7E5 +:103E4000F7032302F40283472900A207F18F0346F8 +:103E50001900D18F939757607EB095CB0306090068 +:103E60006356060E1306C0120345C40DB387C7027E +:103E70000946631FC50C2D070A07998F138747ED65 +:103E8000130640516379E60C89472304F402F514C4 +:103E90000D0993F4F40FBC32594513F7070251E7AB +:103EA00093F7070489CB83470900FD140509A30193 +:103EB000F40293F4F40FB9CC130A8002A14A8347A9 +:103EC0001900639A47038347090063965703C9475C +:103ED000230EF40683478900034779001546A2079D +:103EE000D98F2318F408930529001305A40897C057 +:103EF000F91FE78020468347090063FD9700138779 +:103F00001700B387F440FD171377F70F93F4F70FFB +:103F10003A99D5F4639009080347C407894763E5D4 +:103F2000E7008D47230EF4060545B2502254925403 +:103F30000259F249624AD24A456182801389560089 +:103F4000F9146DB52319F4088549F9BD794629BFDF +:103F500029070E071DB705472304E4021707FA1FB8 +:103F6000130707134EBC0C43D04513151649C8C59B +:103F70000F1000001843B7050200938757ED0CC7D8 +:103F8000930500081705FA1F232EB57686077CD304 +:103F900050C7F5BD5C4CA18BC1D383472408898BE6 +:103FA000A5FF8348E4027C24385C9306F00FB387B6 +:103FB00017418907BA973EC0034884020357840813 +:103FC00003065401830534020355240D9307F00FB3 +:103FD000B7040300EF50B0781709FA1F1309490B13 +:103FE0009709FA1F93890971170AFA1F130A4A09D8 +:103FF000970AFA1F938ACA0A938484150347840296 +:104000008547E31BF7F083270900F8537DFFD4476A +:1040100013971649D8C70F10000003270900B707E8 +:104020000200B70533001CC79307000823A8F90056 +:10403000930720307CD354C79707FA1F23AC076A35 +:104040009707FA1F23A2076C9707FA1F23A6076A90 +:104050002304040285471CC383270A00944393F674 +:10406000F6CF94C3944393F6F6CF93E6062094C319 +:1040700083A60A0090464D8E90C624CBD856759BD9 +:10408000D8D6984383464402137707F893F6F60789 +:10409000558F98C397E0F91FE780A01F9700FA1F7C +:1040A000E780E0BB83A74900858BADC722859707D2 +:1040B000FA1F23A30764EFF09F98AA870357840889 +:1040C0000355240D91E70348840289476310F802E1 +:1040D00002C0814809489307F00F9306F00F1306BA +:1040E000F0079305F007EF5090673DB58348E40271 +:1040F0007C24345CB38717418907B6973EC003061A +:104100005401830534029307F00F9306F00FEF502C +:104110001065EDB502C0035784080355240D81488E +:1041200009489307F00F9306F00F1306F007930565 +:10413000F00755BF0945D5BB41114AC01709FA1F01 +:10414000130949388327090B06C622C426C281EB0E +:104150000545B24022449244024941018280AA842A +:104160009700FA1FE780A0AF8327090B8297EF50D3 +:104170006FE72A8471DD83A7C40BAC5C014823245C +:10418000F508FC35F8251546A207D98F982913059F +:104190008513F90542075D8F83C735FFE207D98F85 +:1041A0002320F5F683C755FF03C765FFA207420723 +:1041B000BA9703C745FFBA972322F5F683C775FF61 +:1041C000A30FF5EE83C795FF03C785FFA207D98F1D +:1041D0002310F5F083C7B5FF03C7A5FFA207D98F4A +:1041E0002311F5F083C7D5FF03C7C5FFA207D98FF9 +:1041F0002312F5F083C7F5FF03C7E5FF232205016E +:10420000A207D98F2313F5F081471CC197C0F91F6E +:10421000E7804014B45C054783C736022300E414EA +:10422000FD8BA30AF40203C7C40DED1793F7F70F34 +:104230007D171377F70F2303E414A303E41403C7D4 +:10424000360215832308E4022D476365F7023E3CDE +:1042500005679306A7C7E917B3C7070863ECF6001D +:10426000563C9307301F63E7D7007E3C130707C80F +:104270006377F7000A24EF50EFF50145D9BD832796 +:10428000490B228582970A241306900293050008A1 +:10429000EFC0EF8C8327090D1167F98FE38A07EAD6 +:1042A0000A24514693050008EFC06F8B55B579710C +:1042B00022D4930555012A84285D01464AD006D6AA +:1042C00026D24ECE52CC56CA97E0F91FE78000FFA7 +:1042D00009496318051A2C5C03C905001379F90014 +:1042E000A30624019C31230A0404230E04047CA4A5 +:1042F0009D476313F9189700FA1FE78040968329BA +:1043000084077C24114983C429002304040213D7A1 +:10431000640093F4F40363F6F41619496313071663 +:10432000FD17858F2307F40283C73900454913F72A +:1043300017006318071413F727004949631307147C +:1043400013F7470075E39109FD1413F7870093F401 +:10435000F40F054A05CF584C218B61CF03C71900D4 +:104360008566938606F02207758F83C60900558FF0 +:1043700083562409639DE60A034A2408134A4A0027 +:10438000135A2A48F914890993F4F40F13F7070113 +:10439000554965EB13F70702594965E793F7070499 +:1043A00089CB83C70900FD148509A301F40293F4A6 +:1043B000F40FB9CC13098002A14A83C71900639A8C +:1043C000270383C7090063965703C947230EF406E2 +:1043D00083C7890003C779001546A207D98F231820 +:1043E000F408938529001305A40897C0F91FE780F6 +:1043F00060F683C7090063FD970013871700B38732 +:10440000F440FD171377F70F93F4F70FBA99D5F42B +:1044100063130A020347C407894763E5E7008D4732 +:10442000230EF4060549B1A89509F91439BF2319DB +:10443000E408054A81BF5C4CA18BE9DF834724086F +:10444000898BE9FB8348E4027C24385C9306F00FF7 +:10445000B38717418907BA973EC003488402834750 +:10446000A40B035784080306540183053402035543 +:10447000240DEF50D02E79BF9547630EF900130934 +:104480000008B25022549254F249624AD24A4A85F4 +:104490000259456182809707FA1F83A767BF23A649 +:1044A00007063707080098C79707FA1F23AA0726A9 +:1044B0009C311307200293F7F7037CA4E391E7FCF8 +:1044C0009309E4041946A1054E8597C0F91FE780BA +:1044D000E0F945D92C5C1309640519469C214A85ED +:1044E000890593D76748A30AF40497C0F91FE780AA +:1044F00060E69707FA1F83A7A7A782976458232E21 +:10450000A40AA1479CA08547BCA0BCB01946CE8593 +:104510001385440097C0F91FE780C0E3BC209907CA +:10452000BCA0BC3093E72700BCB08347540591C7BB +:1045300078581C2393E707F81CA31946CA851385EE +:10454000A40097C0F91FE780E0E0BC20990713F7AB +:10455000F703050758A4BCA08347D404858B91E7D3 +:104560000347C40489476317F70078581C2393E76F +:1045700007041CA34C247C588CB30345C40D93073B +:10458000A0F93CA47D151375F50F97E0F91FE7809E +:1045900040DD9707FA1F83A7A7AE98431317772923 +:1045A00098C3D857719BD8D797E0F91FE78060CEA2 +:1045B00097F0F91FE780A06A9707FA1F83A7C71330 +:1045C000858BE38107E62285EFF01FB7A1BD7971E6 +:1045D00022D406D626D24AD04ECE52CC56CA5AC87B +:1045E0005EC6034B05082A8463030B148327C50D9D +:1045F000170AFA1F130A4ABB93041B00A183B3C70F +:104600000708B384F4028357EA0037450F00130507 +:1046100005249387471F930B204E1709FA1F034960 +:1046200039B5835ACA0081468145B347F50256869B +:10463000B38974033305A902B3D9F902EF90200EB0 +:104640001307003237460F00130606248146B3874E +:104650009A024E958324040AB3F7E702B3877703DF +:10466000B3C75703B3C707083E95B3B5AA022326BD +:10467000A40A3385AA02EF90800A63E3A4025C4C8B +:10468000B385A4402322B40A13F787000345D40757 +:1046900025C31359190063E92501B385254111A8E4 +:1046A00083278A00BE94E1BF83278A00338927418C +:1046B000CA9597E0F91FE780E0399707FA1F83A7AB +:1046C000278B82979707FA1F23A8A79A83578408F6 +:1046D000230C040AB25085072314F4082254925480 +:1046E0000259F249624AD24A424BB24B456182803A +:1046F0001547636C670113591900E3F025FB832705 +:104700008A00B3872741BE956DB7C59B5CCC9307E4 +:10471000E003A308F40CEF00EE8DFD57A30EF406A2 +:104720003946930500080145EFB07FC379B70347C9 +:10473000C5078947E3F3E7F81709FA1F1309C9A664 +:104740008324050A8327C40A0355C90037460F008E +:1047500013060624B335F50281463305F502EF80D2 +:10476000107C63ECA402B385A4409707FA1F83C7AB +:1047700037A02322B40A85830345D40763E3F502F7 +:104780009D8D97E0F91FE780E02C83556408034571 +:1047900014089205EFF03DC50DB783278900BE943C +:1047A000D9B703278900B307F740BE95D9BF797100 +:1047B00026D29704FA1F9384E4F39C583707080025 +:1047C00022D406D64AD04ECE52CC56CA5AC85EC65D +:1047D000F98F1704FA1F032464D69DE79707FA1F81 +:1047E00083A7078BFC5791C7854717F7F91F230D40 +:1047F000F776B250225492540259F249624AD24A90 +:10480000424BB24B456182805C4CB98BFDD329454C +:1048100097F0F91FE780404D1709FA1F13094988DF +:1048200003270900A947DCCC5C57170AFA1F130AB3 +:104830002A85F59B5CD703270A008346E4071C43BF +:1048400093F6F60793F707F8D58F1CC39707FA1F5F +:1048500023A407EA930700049CC09707FA1F23A12B +:1048600007EC8347940CB9CF8357440C83568408D4 +:104870008345C40D639CD72E8346740C8347A40BD9 +:104880006392F60489471306F0FB6394F500130660 +:10489000F0FC8346840C8347340E9305204EB38787 +:1048A000D7029306D007B387D7028346240EB38678 +:1048B000B602B6979387E7F8B297DCD49C4093E7AB +:1048C00007029CC08327840997F9F91F9389497CC3 +:1048D00083A609005CC30146DC429305F00F93E711 +:1048E0001700DCC2832744091CC70345C40D7D158E +:1048F0001375F50F97E0F91FE780A0CC83A7090097 +:104900000327840AD44713961649D0C70F10000016 +:1049100083A7090037060200060790C713060008A0 +:1049200090C8F8D3D4C71707FA1F232F07DC17073F +:10493000FA1F232307DC83260A00054798C3984201 +:10494000370633001377F7CF98C298421377F7CF23 +:104950001367072098C2832609009846518F98C68E +:104960003707030013078715B8CB97E0F91FE780D7 +:1049700040929C40858B6382071A9707FA1F23ABEE +:1049800007D69307F007A301F4022285EFF03F92C8 +:1049900083470408F5C70347C40D03AB4403170955 +:1049A000FA1F130969808947032A8900835AC900BD +:1049B0006316F71C130510033385AA0237460F0050 +:1049C0001306062481468145EF8070556364AB1C55 +:1049D0003305AB40C8D88346A40B9DC28347140E51 +:1049E000D858B387D70293060032B387570393870B +:1049F0000719B3D7D7026361F71AB307F740DCD8BA +:104A00000357E900B7450F00938505241307471F97 +:104A100033C7E5028327C40D17F5F91F0345557504 +:104A2000930B204EA1830581B3C7070856868146A4 +:104A3000338B57033305B5028145B387770333D9E9 +:104A4000E702EF80D04D13070032B377EB02130B70 +:104A50000B192A99B3877703B3C75703335BEB026C +:104A6000B3C707083E99DC582326240BDA973E8704 +:104A700063E4670163E44701338747412320E40A85 +:104A80000347C4078D47631AF704394693050008A6 +:104A90000145EFB0DF8C930500251305001097B09A +:104AA000F91FE780A05B5C4C035664082326A40C26 +:104AB000ED9B5CCCA304040C930614081206A2859B +:104AC00017F5FFFF130505F4EFF01DB55C4C93E7F8 +:104AD00087005CCC9147230EF406DC5423000408C5 +:104AE0008DCF83A709003707020017F5FFFF1305D5 +:104AF000251723A2070698C79707FA1F23A407C004 +:104B000097C0F91FE780A0CE03A709007C57FDFFDF +:104B1000014597C0F91FE78080CD0347A40B834769 +:104B2000040E05071377F70F230DE40A637AF712D3 +:104B300097F4F91F938444679C28ADC3930770FAD8 +:104B4000230CF40A17D5F91F1305053B97C0F91F6D +:104B5000E78000EF2254DC40B25092540259F249EF +:104B6000624AD24A424BB24B45618287958F9397F6 +:104B70005760E3D907D4A304040CA9B393956A0042 +:104B80003385550137460F00130606248146B33599 +:104B9000B5001DBD529B2DBD529785B58347140EA0 +:104BA0009444B387E702DA24B387E702130700329D +:104BB00093870719B3D7E7020327440A3E973A8938 +:104BC0006364F7006364D7003309D74097F7F91F90 +:104BD00083A7073A8297B307A9406374A900984452 +:104BE000BA97B5C3D2240347140E93060032330795 +:104BF000C702130707193357D70263F6E70437458F +:104C00000F0013050524B3B5A70203A40900370755 +:104C10000800814618C43385A702EF80503006058E +:104C200068D42254B25092540259F249624AD24A8C +:104C3000424BB24B170500001305A5B7456117C3DA +:104C4000F91F6700C3BA17050000130585B697C0A2 +:104C5000F91FE780C0B983A709000947F8D751BEFB +:104C600022852254B25092540259F249624AD24AE1 +:104C7000424BB24B45616FF09F95011122CC26CA81 +:104C80004AC806CE4EC652C456C25AC097F7F91F3C +:104C900083A7073F98433706330097F4F91F93849F +:104CA000243F1377F7CF98C398432A841709FA1F34 +:104CB000130949A41377F7CF1367072098C317F791 +:104CC000F91F0327E73D14479305F00FD18E14C752 +:104CD00094403706030013068615B0CA032645091B +:104CE00090C703268509D0C35057759A50D798436B +:104CF0000346E507137707F81376F607518F98C335 +:104D0000DC420146F99BDCC20345C50D9307000454 +:104D10002320F9007D151375F50F97E0F91FE78043 +:104D2000408A9C400327840AD44713961649D0C76B +:104D30000F1000009C4037060200060790C71306BC +:104D400000082328C900F8D3D4C71707FA1F232D5A +:104D5000079A1707FA1F2321079A054798C397D088 +:104D6000F91FE780005397F0F91FE78040EF832792 +:104D70004900858B638407129707FA1F23AE0796B5 +:104D80000347C40D8324490397F9F91F9389C94147 +:104D9000894703D5C900631FF71093071003330534 +:104DA000F50237460F001306062481468145EF8041 +:104DB000101763ECA4103385A440232AA90293079B +:104DC000F007A301F4022285EFE05FF90347C4076F +:104DD0008D47631EF7023946930500080145EFB081 +:104DE0000FD85C4C0356640893061408ED9B5CCC0A +:104DF0001206A28517F5FFFF1305C5C0EFF0DD8190 +:104E00005C4C93E787005CCC9147230EF40603D7F4 +:104E1000E900B7450F00938505241307471F33C7E3 +:104E2000E5028327C40D83DAC90017F5F91F03458E +:104E30003534130B204EA1830581B3C70708814683 +:104E40005686338AFA023305B5028145B387670374 +:104E5000B3D4E702EF80B00C1307003283A68900B9 +:104E6000B377EA02130A0A19AA94B3876703B3C790 +:104E70005703335AEA02B3C70708BE94832749038E +:104E80002326940AD2973E8763E4470163E4D70060 +:104E90003387D7402320E40A230004082285624494 +:104EA000F240D2444249B249224A924A024B056139 +:104EB0006FF0EFF1931565002E9537460F0013063E +:104EC00006248146B335B500DDB583A78900BE94BD +:104ED000DDB55C4D397122DC06DE26DA4AD84ED6C5 +:104EE00052D456D25AD05ECE62CC66CAB98B2A84CE +:104EF0006389073817F9F91F130989078327090000 +:104F00008324450A17FAF91F130A0A2A829763E4D1 +:104F1000A41497F9F91F9389292403CC9901898C4A +:104F20008547835ACA00135B1C0063D2970203258E +:104F3000C40A37460F0013060624B3B5AA028146F9 +:104F40003385AA02EF80A07D5A95637E9510832752 +:104F5000C40D1307003283440408A183B3C70708B4 +:104F6000B3865703850493F4F40F23009408832B2E +:104F70008A0093860619B3D6E6020327040A3697F9 +:104F8000BA896364D70063647701B3097741035733 +:104F9000EA0037450F00130505241307471F334761 +:104FA000E5028504930C204E568681462320340B5F +:104FB0008145B384F4023305AC02B387940333DA3A +:104FC000E702EF80C0751307003237460F00130663 +:104FD00006248146B3879A025295B3F7E702B38756 +:104FE0009703B3C75703B3C707083E95B3B5AA02E3 +:104FF0002326A40A3385AA02EF80607263E1A90622 +:10500000B389A940835784082322340B0345D4076E +:1050100085072314F408B385694163F66901B38BEE +:105020006B41B3853B0197E0F91FE780A0A283277E +:105030000900829797F7F91F23A0A704F250625442 +:10504000D2544259B259225A925A025BF24B624CE4 +:10505000D24C2161828083278A00BE945DBD338556 +:10506000AB40AA9945B7294597F0F91FE780C0C71B +:10507000A94717F7F91F232DF7680347C407C94746 +:10508000631AF70203570409835784086314F7026D +:105090001305040B15469305A4082AC697B0F91FFB +:1050A000E780402B3245EF40DF9B9147A307A408E0 +:1050B000230EF406228597C0F91FE7806069130765 +:1050C00004085C578356CA0003268A008607938724 +:1050D000770D1CD78347040885072300F4087C4F0D +:1050E0001853A183B3C70708B387D70293060032CA +:1050F00093870719B3D7D7023E97BA866364F70040 +:105100006364C700B306C7408347040E2320D40A54 +:10511000EDC783470A01230D040A85CF930770FA70 +:10512000230CF40A17D5F91F130505DD97C0F91FE5 +:10513000E7800091625483274A00F250D2544259CA +:10514000B259225A925A025BF24B624CD24C216104 +:105150008287832709000324440A8297636EA4068A +:10516000098C17F9F91F1309A9F23DC803C5990164 +:10517000B7440F0093840424330595020356CA00F4 +:105180008146814532C6EF8080593246637AA40455 +:10519000B335940203290900B70708008146232488 +:1051A000F90033059402EF808057060562542326E8 +:1051B000A906F250D2544259B259225A925A025B6D +:1051C000F24B624CD24C17F5FFFF1305855E21614F +:1051D00017B3F91F6700A36183278A003E9449B77C +:1051E00017F5FFFF1305E55C97B0F91FE780206016 +:1051F000832709000947F8D791B58327090083243D +:10520000440A829763E3A402898C85E42285625470 +:10521000F250D2544259B259225A925A025BF24B7E +:10522000624CD24C21616FF05FA583278A00BE9447 +:10523000E1BF03C5990137490F001309092433055C +:1052400025030356CA008146814532C6EF80204DB2 +:10525000E3FEA4FAB3B52403324697F9F91F83A9F4 +:1052600029E3B707080023A4F90081463385240306 +:10527000EF80E04A060523A6A90683A7C906F5FF25 +:1052800071B70345D507EFF0EDD6FD57A30EF40631 +:1052900075B3797122D42A841305050B06D626D25C +:1052A0004AD05AC84ECE52CC56CA5EC662C417F90E +:1052B000F91F1309E9CBEF40CFFA832709008324B4 +:1052C000040AA307A408829717FBF91F130BCBED61 +:1052D00063ECA416B74B0F00938B0B243385A440CB +:1052E000B33575030356CB008146130C204E3305AE +:1052F0007503EF80C0428327090023000408AA89B0 +:10530000829797F7F91F23A9A7D68357EB00832429 +:10531000C40D17FAF91F034ABAE59387471FB3C7AD +:10532000FB02A180B3C404080359CB008146814528 +:105330004A86B38A840333057A03B3DAFA02EF802C +:10534000003E130700324A8681468145B307990221 +:1053500093541A00AA9AB3F7E702B3878703B3C737 +:10536000270333857403B3C70708BE9AEF80203B39 +:105370005695636E350137153D004A868146130503 +:1053800005908145EF80A039B38AA9408D44B3359B +:1053900059038329040A37460F002326540B1306AA +:1053A0000624814633055903EF80603763E2A90A7A +:1053B0003385A9402322A40A0345D4079307F00F9D +:1053C0006304F500EFF00DC38327440A17F5F91FB6 +:1053D0000325C51763E29708338697408327C40DDA +:1053E0000357CB009306D407A183B3C70708B3873D +:1053F000E70213070032A2859387071933D7E70224 +:1054000097D0F91FE780A04F0347D4079307F00F09 +:10541000630FF7005C4C05472300040893E767001F +:10542000A308040C2319E40C5CCC230EE406B25050 +:10543000225492540259F249624AD24A424BB24B28 +:10544000224C01454561828083278B00BE9459B56B +:1054500083278B00BE99A9BF03278B00BA97ADBFE6 +:1054600097070000938727A717F7F91F2320F70E48 +:10547000828001114AC817F9F91F1309A90422CC27 +:105480000324C90B26CA4EC652C456C206CEAA84ED +:105490008149130A2500854A39E093057025314575 +:1054A00097B0F91FE78080BB2A84014539C89C303A +:1054B0001946938524001CB01305240097B0F91FEA +:1054C000E78040E98327C90BB1E7232E890A23240B +:1054D00004008347890B8507230CF90A15A01830AF +:1054E0009C306305F700A28900447DB71946D28538 +:1054F0001305240097B0F91FE78040F7E31555FF27 +:105500000545F2406244D2444249B249224A924A95 +:1055100005618280E38D09FA23A489004DBF011142 +:105520004AC817F9F91F1309E9F922CC0324C90B5A +:105530004EC652C456C25AC006CE26CAAA89014ACD +:10554000930A2500054B09EC8144F240624442492C +:10555000B249224A924A024B2685D2440561828092 +:10556000183083C719006305F700228A0044E1BFA1 +:105570001946D6851305240097B0F91FE78000EF80 +:10558000AA84E31465FF1C4463150A00232EF90A5C +:1055900019A02324FA00228597B0F91FE78020B9CB +:1055A0008347890BFD17230CF90A45B717F5F91F37 +:1055B000032505FD11E997F7F91F23A307FC97F7CA +:1055C000F91F238D07FA8280411106C622C40045C7 +:1055D00097B0F91FE780A0B5228575F8B240224444 +:1055E00097F7F91F23AE07F897F7F91F238807F8F5 +:1055F0004101828097F7F91F9387C7EC23AE070A12 +:10560000238C070A828017F7F91F130727A71C436B +:105610009306001094C301000100010001001C4327 +:1056200023A00700143103480500A206B3E60601D3 +:105630000348250042083368D8003431E206B3E657 +:10564000060194D7543103484500A206B3E606018B +:105650000348650042083368D8007431E206B3E6B7 +:105660000601D4D7143503488500A206B3E6060127 +:105670000348A50042083368D8003435E206B3E693 +:10568000060194DB54350348C500A206B3E60601C3 +:105690000348E50042083368D8007435E206B3E6F3 +:1056A0000601D4DB94318821A206C98EA8214205C7 +:1056B000558DB431E206C98E94CFD431C821A206EB +:1056C000C98EE8214205558DF431E206C98ED4CF4A +:1056D00088259435A206C98EA8254205558DB43576 +:1056E000E206C98E94D3D435C825A206C98EE82512 +:1056F0004205558DF435E206C98ED4D3D443F59ACC +:10570000D4C3D44393E61600D4C3944393E616005F +:1057100094C31443DC42858BBDE39C4E01451CA21F +:105720001C439C4FA1831CB21C439C4FC1833CA2D1 +:105730001C439C4FE1833CB21C43D84F58A2D84F26 +:10574000218358B2D84F418378A2D84F618378B271 +:10575000985318A69853218318B69853418338A6B6 +:105760009853618338B6D85358A6D853218358B676 +:10577000D853418378A6DC53E1837CB68280010054 +:1057800049BF17F7F91F1307678F1C4393060010D3 +:1057900094C301000100010001001C43894694C329 +:1057A000143103480500A206B3E6060103482500AC +:1057B00042083368D8003431E206B3E6060194D7D4 +:1057C000543103484500A206B3E6060103486500CC +:1057D00042083368D8007431E206B3E60601D4D734 +:1057E000143503488500A206B3E606010348A50068 +:1057F00042083368D8003435E206B3E6060194DB8C +:1058000054350348C500A206B3E606010348E50087 +:1058100042083368D8007435E206B3E60601D4DBEB +:1058200094318821A206C98EA8214205558DB43134 +:10583000E206C98E94CFD431C821A206C98EE821D0 +:105840004205558DF431E206C98ED4CF88259435B2 +:10585000A206C98EA8254205558DB435E206C98E2B +:1058600094D3D435C825A206C98EE8254205558DA6 +:10587000F435E206C98ED4D3D443F59AD4C3D443C5 +:1058800093E61600D4C3944393E6160094C31C43D6 +:10589000D443858AADE623A007009C4F01451CA296 +:1058A0001C439C4FA1831CB21C439C4FC1833CA250 +:1058B0001C439C4FE1833CB21C43D84F58A2D84FA5 +:1058C000218358B2D84F418378A2D84F618378B2F0 +:1058D000985318A69853218318B69853418338A635 +:1058E0009853618338B6D85358A6D853218358B6F5 +:1058F000D853418378A6DC53E1837CB682800100D3 +:1059000079B7011122CC2A84354506CE2EC632C481 +:1059100097E0F91FE780403D17E7F91F0327477716 +:105920003C4B228593E707083CCB2246B245EFF07B +:105930009FCDF2406244014505618280011122CC75 +:105940002A84354506CE2EC632C497E0F91FE7807B +:10595000A03917E7F91F0327A7733C4B228593E76C +:1059600007083CCB2246B245EFF0BFE1F24062446B +:1059700001450561828017E7F91F032767713C4BDA +:1059800093E707083CCB010001000100010093856B +:105990000508F851160597E7F91F83A7276E1365C9 +:1059A000050888C398CBB8550145D8CBD85D98CFAA +:1059B000B841D8CFF84198D3B845D8D3F84598D74F +:1059C000B849D8D7F84998DBB84DD8DBF84D98C717 +:1059D000B851D8C798431367070498C3828017E764 +:1059E000F91F0327E76A3C4B93E707083CCB01000C +:1059F00001000100010093850508F855160597E799 +:105A0000F91F83A7A7671365050888C398CBB85902 +:105A10000145D8CBD85D98CFB841D8CFF84198D3BD +:105A2000B845D8D3F84598D7B849D8D7F84998DBBE +:105A3000B84DD8DBF84D98C7B851D8C7984313670D +:105A4000070498C39307000817F7F91F2320F7CC22 +:105A5000828097E7F91F83A7A762885B3D811315B2 +:105A60004560828097E7F91F83A7876198433706CF +:105A700000827D161317772998C31307F03F98DF2C +:105A800013070005D8DBD8571317F729D8D7D457F1 +:105A900017E7F91F0347876D931547601377F703DF +:105AA000F18E6607558FD8D79306A00317E7F91F25 +:105AB0000327075F63DFB602744F37060007D18EF6 +:105AC00074CF370702001307C720D8DF984B13772E +:105AD00007FC1367E70098CB37E700E0D147A3093D +:105AE000F70497C7F91F9387476693E717007CD79A +:105AF00082809306200263DAB600744F370600F9FD +:105B00007D16F18E370600055DBF370600F9E946C0 +:105B10007D1663D7B600744FF18E3706000345B784 +:105B2000744FF18E9396862961BF97E7F91F83A77B +:105B300027559C5BC60713D5670163D6070013651D +:105B400005C0334505081315556082801307A0036F +:105B5000AA87636EA7041307A0020D45636AF704C2 +:105B60001307200209456365F7046947054563612A +:105B7000F70451470145636DF70249477D55636955 +:105B8000F702394775556365F70229476D5563611B +:105B9000F70219476155636DF7001147595563695D +:105BA000F700094745556365F70031558280114577 +:105BB00082803557AA87634CE50449570D4563C970 +:105BC000E7045D57154563C5E70465571D4563C187 +:105BD000E70471572D4563CDE70279573D4563C909 +:105BE000E7024D4563C6070255459DC305476D4510 +:105BF0006380E702094713053002638BE7000D4716 +:105C00001305B0026386E7001305B00382800545E3 +:105C1000828019C5371700401E2F9397F7281EAFB3 +:105C20008E05220697F7F91F2387B7AE498E97E7AF +:105C3000F91F83A7E7444D8E13164629B0D7B857EE +:105C400013674700B8D7B85789C613172729B8D79D +:105C5000828013172749E5BF411122C406C617F4F5 +:105C6000F91F130424A903470402A1476318F7028C +:105C700017F7F91F0347878097F7F91F9387078264 +:105C8000058BB033B42321CBC84331C50C31090592 +:105C9000EFF02E9D01C58547A300F40203470402DF +:105CA0009947631AF70097F7F91F83A72789BC372D +:105CB00095C7EFC0AFC8034704029D476310F702C2 +:105CC00097F7F91F83A7C788FC3389CB2244B240DA +:105CD00041016F40AF85814501455DBFB24022441F +:105CE000410182805D71B7E700E0CAC003A90700E7 +:105CF000A6C24EDE3707200086C6A2C452DC56DAA2 +:105D00005AD8AA84AE893379E90023A0E7180F1086 +:105D1000000017E4F91F1304A436184017EAF91F0E +:105D2000130A0A3897EAF91F938A8A361C43370BFD +:105D300003001306800293F7F7CF93E707101CC305 +:105D400083260A003707CEFF7D179C46930510086F +:105D50002800F98F9CC683A70A0023A8670597A08F +:105D6000F91FE780A065354597E0F91FE780C0F788 +:105D70001C4093F6F41F3706330023A40700984B0A +:105D8000130B8B15130510F81367F70398CBF84F17 +:105D9000130E401F914E137707E0558FF8CF9843AD +:105DA000130380021367070898C317F7F91F232D01 +:105DB000079483A60A0017F7F91F232F07920547B8 +:105DC00098C298431377F7CF98C398431377F7CFC8 +:105DD0001367072098C303270A001C47D18F1CC7ED +:105DE00023A866053800814613F8F60F13563800CD +:105DF0004E961C2213787800B3D70741858BD1CB00 +:105E00001C4083280A0023AC070423A0070683A5AF +:105E1000C802F59923A6B80283A8070093F5F607F0 +:105E200093F808F8B3E8B80023A01701CC53939572 +:105E3000F528CCD303AF0A0081452322CF0783A8DE +:105E400007066382150383A807038305070093D819 +:105E5000F8009398486063D515018C5BBD810CA355 +:105E6000AC5393F5F50F83284F066386080083A88B +:105E70008705E3F41EFDCC539395F548CCD38305F9 +:105E8000070063D6B4001C22B39707491CA233E570 +:105E9000A50A85060507E39966F418401C4B93F79D +:105EA00007FC93E7E7001CCBB6402644B7E700E0C9 +:105EB00023A0271196440649F259625AD25A425BEE +:105EC00061618280011122CC2A84114526CA4AC808 +:105ED00032C62E89B68406CE97E0F91FE780C0E06F +:105EE00097E6F91F9386C6199C4217E5F91F13051B +:105EF000251A97E5F91F9385A51AD857370333005C +:105F0000719B13671700D8D78328050013078007F4 +:105F100023A2E80698431377F7CF98C398431377E3 +:105F2000F7CF1367072098C303A80500324603275D +:105F30008800336767002324E8003707030013074E +:105F4000872523A8E8040327C802759B2326E802B7 +:105F50006307090A9843136404041374F40713775E +:105F600007F8418F98C3374776711307971298C780 +:105F70008327480093F7F7EF2322F8000100010080 +:105F8000984117E4F91F1304E476A6855C4393E770 +:105F900007105CC39842B7575500938757555CC3A9 +:105FA0001C41185C0145B8DF17E7F91F2328077467 +:105FB00017E7F91F23260774D843799BD8C3914765 +:105FC0005CCC97C0F91FE780604517E7F91F0327EE +:105FD000A70B11C7544318479C42D98F9CC25C44FD +:105FE000858B81CB17E7F91F1307C74D1E27850740 +:105FF0001EA7F2406244D244424905618280984320 +:106000001374F407137707F8598C37C7898E80C348 +:10601000130767EDA9BF97E7F91F23A7A70619C9BB +:10602000584154491C43D58F1CC3184914451C437F +:10603000D58F1CC38280011126CA4AC84EC6C164CE +:106040003709006AB70900AC22CC52C456C206CE4A +:106050001304F00FFD141309690E9389E90C614ACA +:10606000930A0002A6850145EFE0BDC293178500A3 +:1060700013F7071033E5270119C333E537018147CB +:106080000147B356F54885073356F5486307D600F0 +:1060900005071377F70F6364EA04E39457FF81471A +:1060A0001306F003ED463357F5001377F70305CBDE +:1060B0006307C7028507E398D7FE135785009377D8 +:1060C000F50F1377F70F639BE7021357050113775B +:1060D000F70F6395E702135785016391E7027D147B +:1060E0001374F40F41F09305000F4145EFE0FDB745 +:1060F000B7B7006A4205938767CE5D8DF240624470 +:10610000D2444249B249224A924A0561828097E7C5 +:10611000F91F9387275ED44F1147638DE60E83C71F +:1061200037026399070EB7C7004017E7F91F032727 +:10613000E7F493870730631FF70C011122CC37E493 +:1061400000E026CA044006CE4AC84EC652C456C213 +:10615000B7072000FD8C2320F4180F1000003545F0 +:1061600097E0F91FE78040B897EAF91F938A4AF150 +:1061700081226122EFF01F8F83A70A0017EAF91F1F +:10618000130A0AF2B7063300984397E9F91F938977 +:1061900029F0370903001367070898C3984313775A +:1061A000F7CF98C398431377F7CF1367072098C3A7 +:1061B00003270A001C47D58F1CC783A709001307B4 +:1061C0008955B8CB9926EF00302FE922892C03A7F7 +:1061D0000A001C4393F7F7CF93E707101CC38326ED +:1061E0000A003707CEFF7D179C46F240224AF98FFE +:1061F0009CC683A70900924AB24923A8270597E7BE +:10620000F91F23A70750232094106244D244424927 +:10621000056182808280B7C700401387073097E608 +:10622000F91F23ADE6E413870720411197E6F91F14 +:1062300023A0E6E69387071037D7004022C406C69E +:1062400017E4F91F1304044B97E6F91F23AAE6E4A9 +:1062500017E7F91F2326F7E285475CCC97E7F91F7C +:10626000938747385CDC97E7F91F83A7E7EE1CDCD0 +:1062700097C7F91F9387C7ED17E7F91F2328F7E0A2 +:10628000EFF0FFE8B7E700E0A301040203C75741BE +:1062900013670708A38AE740B2402244370710007B +:1062A00023A0E7103707200023A0E71041018280D8 +:1062B00097E7F91F83A7C7DD1307C008D8CB93065C +:1062C0006007D4CFD8D31306E006D0D7D8DBD0DF11 +:1062D000F8C3F4C7D843059BD8C30547FAA323AA3C +:1062E000070417E7F91F0327A744F8DF7D5798C76E +:1062F00037071F003D07D8C7828097E7F91F83A79C +:1063000027DA1307004898D7D85FB70600F9FD16BB +:10631000758F13179729D8DFD85F9D663706FDFF65 +:106320000E070D831317E729D8DF985B7D161367D7 +:10633000077098DB985B558F98DB985BB706070072 +:10634000558F98DB985BB7060090FD16758F131775 +:10635000C72998DBB4473707F9FF7D17F98EB4C713 +:10636000F447E19AF4C7F44793F6F6F8F4C7F44714 +:10637000F18EF4C7F44F758FF8CFF84FB70690FF42 +:10638000FD16758FF8CF930740060100FD17F5FF46 +:106390008280828017E7F91F130787D01C43B44B14 +:1063A00093960649B4CB94479396562994C7D447FD +:1063B00093E60601D4C7D447BD9AD4C701000100B3 +:1063C000010001001C43D44793E60601D4C7D4431F +:1063D0009396C628D4C317E6F91F032666CB930607 +:1063E000400674D2745291C683A6C70993D68648D4 +:1063F000F5DA01000100010001001C4313870708C2 +:10640000544FB84BFD8A13170729B8CBB84B019BE3 +:10641000558FB8CB98471317574998C7828097E78D +:10642000F91F83A7E7C7B44F41777D17F98EB4CF23 +:1064300094479396062994C7D44793F6F6EFD4C7AA +:10644000D443758FD8C3D84713670710D8C7D8432C +:1064500013170729D8C38280AA872DC11421194791 +:106460000545639EE604943317E7F91FA309D7C2D5 +:10647000B82317E6F91F2304E6C2B03397E5F91FE6 +:10648000A38EC5C0D02397E5F91F2389C5C0D0339B +:1064900097E5F91FA383C5C0F023814791C609C7BB +:1064A000B75734129387876717E7F91F2307C7BECB +:1064B00017E7F91F2320F7BE01458280054582803A +:1064C00039C199471CA197E7F91F83C757BD1CB174 +:1064D00097E7F91F83C7A7BC3CA197E7F91F83C7BC +:1064E000F7BB3CB197E7F91F83C747BB5CA197E7B0 +:1064F000F91F83C797BA5CB197E7F91F83C7E7B95C +:106500007CA10145828005458280397122DC4ED60E +:1065100052D406DE26DA4AD856D25AD05ECE62CCA3 +:1065200066CA6AC86EC617E4F91F032464B75C40E4 +:1065300097E9F91F9389B9B617EAF91F130A1AB632 +:1065400093F7F7EF5CC01C549397C7481CD45C5476 +:10655000BD9B5CD41C44939717291CC45C4093E7F3 +:1065600007015CC0B757341217E7F91F032787B23A +:1065700093878767630DF7725C4001791309F90F00 +:10658000F99B5CC01C5C3167130707F0B3F7270168 +:10659000D98F1CDC5C409304040893E717005CC0AF +:1065A00097C0F91FE780200D9C4893F7F7032380DD +:1065B000F900DC48A98393F7F70717E7F91F2300D1 +:1065C000F7AE5C403D6713070780F99B5CC01C5C1D +:1065D000B3F72701D98F1CDC5C4093E717005CC040 +:1065E00097C0F91FE78020099C4893F7F70317E746 +:1065F000F91FA304F7AADC48A98393F7F70717E765 +:10660000F91F230CF7A85C40356713070740F99B77 +:106610005CC01C5CB3F72701D98F1CDC5C4093E79E +:1066200017005CC097C0F91FE780E0049C4893F70F +:10663000F7032300FA00DC48A98393F7F70717E76D +:10664000F91F230DF7A45C404167130707C0F99BAE +:106650005CC01C5CB3F72701D98F1CDC5C4093E75E +:1066600017005CC097C0F91FE780E0009C4893F7D3 +:10667000F70317E7F91FA301F7A2DC48A98393F7F3 +:10668000F70717E7F91F2309F7A0834C0A0003C790 +:106690000900930760021306500233079741B307BE +:1066A000F7029306700293054002130530021308A7 +:1066B0002002130E1002F94E754FFD4FF14A3306BA +:1066C000C7026D4BE94B654CD942D543DD48D14DEE +:1066D000CD444949B3C7D7023D43B949294D354A4D +:1066E0003346D60292072206D18F3306B702D98FDE +:1066F00095453346D6023206D18F3306A7021305DD +:1067000004083346D6024206D18F330607033346C8 +:10671000D6025206D18F3306C703254E3346D60222 +:106720006206D18F131657003346D6027206D18FF8 +:106730001CD13306E703194FB307D7039D4EB3C7E8 +:10674000D7023346D60292072206D18F3306F703CB +:106750008D4F3346D602D18F33065703B14A3346A5 +:10676000D6023206D18F330667032D4B3346D6024D +:106770004206D18F33067703E14B3346D6025206E9 +:10678000D18F33068703454C3346D6026206D18F3C +:10679000330677033346D6027206D18F5CD13306B7 +:1067A0007702B30757023346D602B3C7D702220691 +:1067B0009207D18F330617033346D602D18F3306A3 +:1067C000B7033346D6023206D18F330697023346DB +:1067D000D6024206D18F330627033346D60252062D +:1067E000D18F330687033346D6026206D18F131644 +:1067F00047003346D6027206D18F1CD5B307670215 +:106800003346F703B3C7D7022206D18F33063703C7 +:106810003346D6021206D18F330657033346D602CB +:106820003206D18F330667033346D6024206D18F34 +:106830003306A7033346D6025206D18F3306C70369 +:106840003346D6026206D18F131637003346D6027E +:106850007206D18F5CD5B307D70333464703B3C75E +:10686000D7024206D18F3346D7026206D18F330654 +:10687000E7033346D6021206D18F3306B7023346FA +:10688000D6022206D18F131627003346D6023206CF +:10689000D18F131617003346D6025206D18F1CD95A +:1068A00097D7F91F83C7777FB387FC4033C6A70309 +:1068B00093FCFC03B3CDB7033206920DB3EDCD00CC +:1068C0001306800233C8C702B3ED0D01214833C857 +:1068D0000703420833E80D01B3CDB702F20D336868 +:1068E000B801B38DF703B3CDCD02A20D3368B80163 +:1068F000B38DE703B3CDCD02D20D3368B801B38DAC +:10690000D703B3CDCD02E20D3368B801338B6703F3 +:10691000232A05031148B38DC703B38A5703338A6B +:106920004703B389370333C80703B3CDCD02120839 +:10693000334BCB0233E80D01B3CACA02220B336BCF +:106940006801334ACA02B20AB36A5B016D4BB3C92C +:10695000C902420A33EA4A01F14AD20933683A01CC +:10696000B3896702754A13034002B3C9C902E20939 +:10697000B3693801139847003348C802338C870342 +:106980007208B3E909010948232C3503F949338911 +:106990002703B3849702B3837702B3825702B38885 +:1069A0001703B38B770333C80703334CCC02320889 +:1069B0003349C90233680C01654CB3C4C4021209DF +:1069C00033692801B3C3C302A204B3649900130955 +:1069D0001002B3C2C202C203B3E3740093046002A4 +:1069E000B3C8C802D202B3E2530093032002B3CB70 +:1069F000CB02E208B3E8120193023002F20BB3E8D3 +:106A00007801E94B232E150333887703B388670396 +:106A10003348C802B3C8C8021208A2083368180174 +:106A2000B3888703B3C8C80233681801B388570313 +:106A3000B3C8C802B20833681801B3884703B3C8A3 +:106A4000C802C20833681801B3883703FD49B3C8C8 +:106A5000C802D20833681801B3883703B3C8C80224 +:106A6000E2083368180193985700B3C8C802F208C7 +:106A70003368180123200505338827039398C7013D +:106A80003348C80233681801B3887702B3C8C80214 +:106A9000920833681801B3885702B3C8C802A20825 +:106AA00033681801B3886702B3C8C802B2083368F4 +:106AB000180193085002B3881703B3C8C802C2086C +:106AC00033681801B3889702B386D702B3C8C802E7 +:106AD000B3C6C602D20833681801E206B366D8000E +:106AE00074C193069002B386D702032885041378F5 +:106AF00008FFB3C6C602BD8AB366D80034C5930684 +:106B0000A002B386D702B3C6C60230451376F6F0AC +:106B1000BD8A9206D18E34C517D6F91F0346065892 +:106B200017D8F91F0348685733080641B306A8036E +:106B300003238504B308B802B3C6F602B3C8F8024B +:106B4000A206F208B3E61601B308C803B3C8F802F8 +:106B5000B208B3E6160193183800B3C8F802C208A9 +:106B6000B3E61601B308D803B3C8F802D208B3E6F7 +:106B70001601B308E803B3C8F802E208B3E6160149 +:106B8000B798888893880880B3E61601B3E6660054 +:106B9000931828003343F80234C597D6F91F83C6EB +:106BA0000650918E1376F6076206B3C8F8023203D8 +:106BB000B3E868003383F6033343E302B30FF8030B +:106BC0007203B3E86800060833C3E602B3CFFF02DE +:106BD0005203B3E868003348F802920FB3E8F801B3 +:106BE0002208B3E70801139816003348E802620848 +:106BF000B3E70701256813088888B3E707017CC558 +:106C0000338FE603B387B60293952600B3C7E70236 +:106C1000334FEF029207B3C5E502220FB3E7E70156 +:106C2000B38ED603CD8F93953600338EC603B386CD +:106C3000A603B3CEEE02B3C5E502B20EB3E7D701A9 +:106C4000334EEE02C205CD8FB3C6E602520EB3E755 +:106C5000C701370700817D17E206D58F3CC95C402C +:106C6000BD9B5CC05C40F99B5CC01C549397C728DB +:106C70001CD45C5493E707015CD41C5C93F707FCBD +:106C8000B3EC9701232C94031C5CF98FD18F1CDC8F +:106C9000F2506254D2544259B259225A925A025B6B +:106CA000F24B624CD24C424DB24D2161828097D75B +:106CB000F91F23A1073ED1BA17D7F91F0327473E73 +:106CC0005C4393E707105CC38280411106C6EF0066 +:106CD000903193056040EF30801DB2400145410185 +:106CE00082806F00503511C589C501C61E2201453D +:106CF0008DE301110565C9471306F100130555C35E +:106D0000854506CEDC87EF30401AF2408887056162 +:106D100082808280011197D7F91F238EA77E056597 +:106D20001306F100130595C4854506CEA30701009F +:106D3000EF30A017F24088870561828001111305AA +:106D4000910006CEEF00B03148840565300025057E +:106D50009D45EF308015F240088405618280011165 +:106D60009305F10006CE22CC2A84EF0070314886CC +:106D70000565C08670002180130555409145408708 +:106D8000EF30A012F2406244088605618280011152 +:106D90001305D10006CEEF00D0304886096570009B +:106DA00009059145EF306010F24008860561828048 +:106DB000011106CEEF009030C88709651306F10077 +:106DC00015058545EF30600EF240888705618280A9 +:106DD000011106CEEF009038C88709651306F1004F +:106DE00029058545EF30600CF24088870561828077 +:106DF000011106CEEF00B044C88709651306F10003 +:106E000039058545EF30600AF24001450561828011 +:106E1000011106CEEF10400AC88709651306F1007C +:106E200041058545EF306008F24088870561828022 +:106E3000011106CEEF009063C88709651306F100C3 +:106E400045058545EF306006F24088870561828000 +:106E5000411106C622C4EF00B0688965CD052A84B9 +:106E6000EF30E004B24022852244410182800111CA +:106E700006CEEF10E008C88709651306F10051053A +:106E80008545EF308002F2408887056182800111DC +:106E90001305510006CEEF104018488209655000D6 +:106EA0006105A545EF306000F24001450561828033 +:106EB000411106C6EF10A0198965E505EF20307F66 +:106EC000B240014541018280011106CE22CC2A84C4 +:106ED000EF10E02848860965C086700021806905AA +:106EE0008D454087EF20707CF2406244014505618A +:106EF0008280011106CE22CC2A84EF10803448868D +:106F00000965C086700021806D058D454087EF20A2 +:106F1000D079F24062440145056182800111096720 +:106F200022CC06CE9306D701AA872E846395D5047A +:106F300097D6F91F239C0658082197D7F91F238F4E +:106F4000075A17D7F91F1307E7579307F01F48A3EE +:106F50007EA30146854597B0F91FE780E074C88796 +:106F60001306F10022858545EF203074F24062441B +:106F7000888705618280130737034945E391E5FE61 +:106F800097D6F91F23940654882317D7F91F1307A0 +:106F9000675348A38C336CB3B023FD577CA3230CF9 +:106FA000C70255BF011126CA06CE22CC4AC897D4C3 +:106FB000F91F9384E417BC306383071489679386B1 +:106FC000E7012A872E84639DD504082197D7F91FEE +:106FD0009387474F8546C8A30C33CCB3302305476E +:106FE000F8B3F0A3F923C88751E517D7F91F1307A2 +:106FF000674D7C33503305476393E70E0E06130647 +:10700000963B930710273346F602A830896597D739 +:10701000F91F239D074A1376F60FEFD00DEC99A8C0 +:1070200093864703639FD500082197D7F91F93875D +:107030006749C8A30C33CCB33023F0A33433F4B383 +:1070400055B7938607056394D504082197D7F91F90 +:107050009387474793087700C8A30C33CCB33023FA +:10706000F0A33433F4B3034867005C335823EF20B4 +:107070000074C88722851306F1008545EF20F06271 +:107080008887F2406244D2444249056182809387F6 +:10709000B7076393F5041C2117D9F91F1309894217 +:1070A0002302F9001C31A302F9003C212303F9005B +:1070B0003C31A303F9007C213307F5000305770079 +:1070C000EFE03FAFBD2D834679000346690083455D +:1070D00059000345490039B7B147DC8761BF09470B +:1070E000E38EE7F009060D470E066396E7000E06ED +:1070F0001306965B39B706061306765119B7314564 +:1071000049B7011106CE17D7F91F0347073C93076C +:10711000F00F631BF7021305D100C12348860965F0 +:1071200070008D457D05EF205058896517D5F91FF2 +:1071300003453500EFD06DE2F24097D7F91FA383E6 +:1071400007F60145056182800145412B4886A3066B +:10715000010023070100E1B7011106CE22CC2A84E9 +:10716000EF00101048860965C08670002180130565 +:1071700005028D454087EF205053F240624401459F +:1071800005618280011106CE22CC2A84EF00902175 +:1071900048860965C08670002180130515028D455B +:1071A0004087EF209050F2406244014505618280A3 +:1071B000011106CE22CC2A84EF00B0224886096550 +:1071C000C08670002180130525028D454087EF2081 +:1071D000D04DF2406244014505618280011106CE26 +:1071E000EF10C00AC88709651306F1001305750280 +:1071F0008545EF20904BF240888705618280011120 +:1072000006CEEF10C011C88709651306F1001305FB +:1072100095028545EF207049F2408887056182809C +:10722000011106CEEF108013C88709651306F1001F +:107230001305D5028545EF205047F2408887056148 +:107240008280011106CEEF104016C887096513062B +:10725000F1001305E5028545EF203045F2408887AF +:1072600005618280011106CEEF106018C88709659C +:107270001306F100130515038545EF201043F24076 +:10728000888705618280411106C622C4EF10E0198B +:107290008965938525032A84EF207041B2402285B9 +:1072A000224441018280011106CEEF10A049C88717 +:1072B00009651306F100130575038545EF20F03EBF +:1072C000F240888705618280011106CEEF10C05D13 +:1072D000C88709651306F100130585038545EF206E +:1072E000D03CF240888705618280011106CEEF1004 +:1072F000C074C88709651306F10013059503854519 +:10730000EF20B03AF240888705618280797102C02F +:10731000814801488147014706D6EF10F00CA30FC2 +:10732000A10009651306F1011305E5038545EF206A +:10733000D037B2500345F10145618280011106CE7C +:10734000EF103024C88709651306F1001305F50313 +:107350008545EF209035F2408887056182800111D4 +:1073600006CEEF105037C88709651306F1001305E4 +:1073700005048545EF207033F240888705618280DF +:10738000011106CEEF101046C88709651306F100FB +:10739000130515048545EF205031F24088870561BB +:1073A0008280011106CEEF101055C88709651306BB +:1073B000F100130525048545EF20302FF240888722 +:1073C000056182807971064306D61AC872531AC6BF +:1073D00062531AC452531AC242531AC0EF10305BA0 +:1073E000896593853504EF20902CB25001454561A5 +:1073F000828097D7F91F2397A7100145828001113A +:1074000006CEEF20203CC88709651306F10013055E +:1074100015058545EF207029F24088870561828037 +:10742000011106CEEF20C042C88709651306F1009E +:10743000130525058545EF205027F2408887056113 +:107440008280011106CE22CC2A84EF20C0434886D8 +:107450000965C086700021801305A5058D4540870C +:10746000EF20B024F2406244088605618280011159 +:1074700006CE22CC2A84EF20004848860965C086C3 +:10748000700021801305B5058D454087EF20F02160 +:10749000F2406244088605618280011106CE22CC4A +:1074A0002A84EF20404C48860965C0867000218000 +:1074B0001305C5058D454087EF20301FF24062441B +:1074C0000886056182805D711303D1031AD20343DC +:1074D000010786C61AD00343C1061ACE03438106AC +:1074E0001ACC034341061ACA034301061AC80343D0 +:1074F000C1051AC6034381051AC4030341051AC214 +:10750000034301051AC0EF00307A230EA10209657A +:107510007018130565038945EF203019B6400345FF +:10752000C1036161828097D6F91F9386A6F9BE26B2 +:1075300081E79307F01FBEA6BE262146014513F73B +:1075400007103357C7408607B3C70708598D93D52F +:10755000574013D797402D8F058B7D161375F50F68 +:10756000D98F71FEBEA6828017D7F91F130787F542 +:107570005E2789E7E17793C7F7FF5EA75E27B946E5 +:1075800001459168994533F617013356D640860771 +:10759000518D33C8070813D6E748FD1693D7F7482F +:1075A000B18F1375F50FB367F800E39EB6FC5EA7C5 +:1075B0008280797126D24AD04ECE52CC06D622D4C1 +:1075C00056CA5AC85EC6AE84B289368A17D9F91F20 +:1075D0000329C9153DC5AD472A8463EAA7021304F0 +:1075E000F5FF1374F40F17DBF91F130BBBAB8347C5 +:1075F0000B00C9E39D47494563EA3703177700004D +:10760000130707CDB3C7E9209C43BA978287B147D8 +:10761000630CF5029307600263E5A7001304E5FF1E +:10762000C9B7930770024945E30FF4FAB2502254E8 +:1076300092540259F249624AD24A424BB24B4561D6 +:1076400082801304500245B71304600269BFCA8ADE +:10765000B38B2401638D5B01EFF01FF12381AA003E +:10766000850ACDBFCA8AB38B240163965B03854725 +:107670002300FB0093F9F9009306FAFF228523000B +:107680003901A300990093F6F60F26868545EFE0B1 +:107690007F83014561BFEFF01FE92381AA00850ABE +:1076A000E9B726869305000F130529009790F91F67 +:1076B000E780C0D06DBF26869305A00AF5B7268661 +:1076C0009305F00FD5B726868145F9BF2686BD45BF +:1076D000E1BF268693055005C1BF411122C42A840B +:1076E000354506C697C0F91FE780006011C897D7D7 +:1076F000F91F938727DD9A2718A09E27A1831CB026 +:1077000097D7F91F239407DC17D7F91F0327479949 +:107710001C4BC183898B8DC3B71701149387F78FD7 +:107720001CCBB70711047CCF89679387879F1CC741 +:1077300097D7F91F23AE07FCB2402244014541010F +:1077400082809307F00363EEA70897D7F91F238F72 +:10775000A7A017D6F91F0326A6925C56370700820A +:107760007D179376F503F98F93959601CD8F5CD6AF +:107770001307A00397D7F91F83A787926375A70202 +:10778000F84F37060007518FF8CF984B4183098B8C +:1077900009CB984B71761306F60FA206718F558FA1 +:1077A00098CB014582801307200213154560635A68 +:1077B000A700F84F370600F97D16718F37060005D0 +:1077C000D9B7370600F969477D166357A700F84F08 +:1077D000718F3706000345BFF84F718F1317872944 +:1077E00065B74945828041119317B02806C622C467 +:1077F000E98F95C3EF008FD6AA87094589CB9423DB +:10780000114731456395E600154798A34945B240B5 +:107810002244410182802E84EF10DFFC65D93C2593 +:10782000C18BEDD73C35230A8504B337F000E90757 +:107830001CA90145E9BF011106CE22CC2EC6EF10CE +:107840007FFA01CDB2452A84EF10EF85A305A4028B +:107850000145F2406244056182804945DDBF17D78A +:10786000F91F130727C6814799468345070E33063C +:10787000F50085070CA20507E399D7FE0145828034 +:10788000411122C406C62E84EF10DFF509C9830713 +:10789000450301451CA0B2402244410182800945B4 +:1078A000DDBF97D7F91F9387278B9A2B18A19A2BA7 +:1078B000218318B1FC373CA10145828019E149457B +:1078C000828097D7F91F9387E7BFB84FAA8501C772 +:1078D0005827314575F7B85F01C7383731456DF323 +:1078E00003A7C70801C77833314579FB0111054764 +:1078F00006CE194617D5F91F130525CBB8A32EC6FA +:107900009790F91FE78000A5B2459306000CD83187 +:107910009377070C639FD700194617D5F91F1305F6 +:1079200025C99790F91FE780E0A20145F240056163 +:1079300082809306F00363E8E600194617D5F91F25 +:10794000130565C7F9BF130700044945E390E7FE37 +:10795000194617D5F91F130565C6E1B7411126C2AF +:1079600097D4F91F938404B622C4A04C06C639E408 +:10797000BC5499E74945B240224492444101828077 +:1079800035CD0547E318E5FE014582972A8455C5A4 +:107990009317B0281EB1930700707EA58D471CBDBC +:1079A000A30A0502194697D5F91F9385A5BF1305AC +:1079B00065039790F91FE780E09921A87848B707F9 +:1079C0000008F98FADEBBC54D5D70DC98547E3133B +:1079D000F5FA58248547E30FF7F87C24B98B95CB4B +:1079E000742405478947639FE6021EB02244FC5475 +:1079F000B24092441305000F410182871305000F26 +:107A0000EFF0BEE825D95C25B5D7EF002F880145FA +:107A10009DB7EF002FF397C7F91F83C74775E31191 +:107A2000F5FC89BF1E3013070002B3F7E70A1167A0 +:107A3000B3D7E70A5DBF31453DBF1D452DBF97D781 +:107A4000F91F83A7E7B0314599CBFC3389CB4111AE +:107A500006C6EF308FBBB240014541018280828073 +:107A6000011126CA4AC84EC652C456C25AC02E89EF +:107A7000368ABA893E8B06CE22CCB284C28AEF10F7 +:107A80007FD685671307A9FF9386A7C733470708E3 +:107A900063E8E610938707C82A84494563E4970A98 +:107AA00063E2240B1307301F636E470963EC370949 +:107AB00093071A00B3C70708B387970213973900D3 +:107AC00063D2E70841C01C3813F747003DC3ED9B64 +:107AD0001CB83C34231A2407231B9406D5EB035708 +:107AE0008406C167FD176309F706631799063E3CD4 +:107AF000231BE404231CF40497D7F91F83D747A75B +:107B00008D46114763E5F600850713F7F70FA30AC3 +:107B1000E4042285EF00CFE483570404A907231F60 +:107B2000F4048327440A93E717002322F40AC54785 +:107B30005CBC231C6407231D5407231D4405231E1E +:107B400034050145F2406244D2444249B249224AD6 +:107B5000924A024B056182800356440601CEB3D49B +:107B6000C40233069602334606083376260B231CDE +:107B7000C40459B7B305990085814A85EFD06D914A +:107B8000231CA404930584052685EFE06ED4ADB7CD +:107B90008327840A93E707022324F40AC14749BFD5 +:107BA00049454DB7411122C406C62E84EF109FC32C +:107BB00011E54945B2402244410182801C39A305A8 +:107BC000850213F7470075D7ED9B1CB9BD47230607 +:107BD000F5028327850A93E727002324F50A014548 +:107BE000D1BF411122C426C206C62E84B284EF1032 +:107BF0007FBF03278510137707023DC7130754FE85 +:107C00009306000EAA8733470708494563E0E6025A +:107C10001167938684EB13078714B3C6060863675E +:107C2000D70003D7471E631887000145B24022449E +:107C300092444101828097D6F91F9386A688BA366E +:107C4000A38E8706239F97063357870A239AE71C3C +:107C5000DA363357970A239BE71C03A7470A131703 +:107C6000B72823A2E70AD1B74545C9B797D7F91F67 +:107C700093874785B44F2A8791C6D02601C6D4364C +:107C8000494585EAB45F99C6B03609C6942A494584 +:107C9000858A85E283A6C70891C6F03201C6D4362C +:107CA000494581EA83C6870B83C7970B63E8F600D3 +:107CB0001D4582801D45F2400561828001111946F3 +:107CC0001305A10006CED8849780F91FE78080684D +:107CD0002800EFD00FFA8547E31EF5FC0145E1BF10 +:107CE000797126D24AD04ECE52CC56CA5AC85EC6F8 +:107CF00006D622D42E89B289B68A3A8ABE8B428BA6 +:107D0000EF105FAEC94455C105679307A9FF9306FD +:107D1000A7C7C944B3C7070863E9F608130707C82C +:107D20006365370963E329099307301F63EF57073A +:107D3000636D470713871A00334707083307270384 +:107D400093173A006353F70604392A848588639EA3 +:107D5000040E8327450A93F71720E5EB3835231ADD +:107D60002507231B3507231C7507231D6507231DC6 +:107D70005505231E45055C3D4DE385EB8327051026 +:107D8000898BA1C331469305F00F130585069780B3 +:107D9000F91FE780A0628327440A2314040693E7AF +:107DA00007202322F40AC9475CBCB250225402596E +:107DB000F249624AD24A424BB24B268592544561FF +:107DC000828063093905B385290185814A85EFC021 +:107DD0005DEC231CA404930584054E85EFE04EAFB3 +:107DE00097C7F91F83D7C7788D46114763E5F6001B +:107DF000850713F7F70FA30AE4042285EF004FB6B7 +:107E000083570404A907231FF4048327440A93E734 +:107E1000170041BF231C2505E1B7C1FB832785104F +:107E2000898B95C731469305F00F1305850697801A +:107E3000F91FE780A0588327440A2314040693E718 +:107E400007202322F40ACD4785B7B144B9BFE944DE +:107E5000A9BF17C7F91F1307E7663C4F91C7D4277F +:107E600081C6D437C947B9E63C5F99C7B43789C6DC +:107E7000942BC947858A9DEE8327C70891C7F8339D +:107E800001C7D837C9471DE70111C8841946130532 +:107E9000A10006CE9780F91FE780C04B2800EFD0E5 +:107EA0000FE8054781476303E500B147F2403E858F +:107EB000056182803E85828097C7F91F938787601E +:107EC000B84F11C7542781C6583749450DEBB85FE5 +:107ED00019C7343789C6182B4945058B0DE383A78D +:107EE000C70891C7F83301C7DC37494589EB411111 +:107EF00006C6EFD0AFEBB2400145410182808280DF +:107F0000630B0510011122CC26CA4AC84EC652C4C2 +:107F100006CE56C25C2117C9F91F1309A95A0324BA +:107F20004909FD8BAA845CA18D49214A15E8832764 +:107F3000C9051147C146E1EBA68517C5F91F130511 +:107F4000456815469780F91FE780C040F2406244BB +:107F5000D2444249B249224A924A0145056182808F +:107F60003C348DE38327440A1546A68593E7270012 +:107F70002322F40A130584129780F91FE780803DBD +:107F800000406DB78347E418858BB1C38145154325 +:107F90009398150001473388B400034508009356B1 +:107FA0002700C696A2961376370083C77619060671 +:107FB0003355E54829C5B397C72893F7F70FA38B27 +:107FC000F6180507E31B47FD8505E39365FC930A57 +:107FD00024191546A68556859780F91FE780004924 +:107FE00045F11546A68556859780F91FE7808036AE +:107FF0008347E41893E787002307F41851B73396B3 +:10800000C900D18F5DBF03C6C7076314E600238E86 +:10801000D7069C430DB749458280411122C426C230 +:108020004AC006C6AA84014421499305F00F0545BC +:10803000EFC0BDC3B387840088A30504E31724FF02 +:10804000B240224492440249014541018280797143 +:1080500022D44ECE06D626D24AD02EC6B289368437 +:10806000EF104FF87DC90349B500B245AA846316E5 +:10807000090E21461305B51A9780F91FE780802D58 +:10808000A389341B93D98900238A341B7C24503460 +:108090006C345424A207420603C5C404B297E20616 +:1080A000AE97B69703A7440A9386040835C1DCD679 +:1080B0003C24103413670702A2074206B2973034FB +:1080C000B29710246206B2979CDA7C205030A20747 +:1080D0004206B2977030B29750206206B297DCDA4F +:1080E0003C201030A2074206B2973030B2971020E1 +:1080F0006206B2979CDE8547A386F40423A2E40AB5 +:10810000B25022549254F2494A8502594561828004 +:10811000FCC63C24103413678700A2074206B297BE +:108120003034B29710246206B297BCCA7C2050301B +:10813000A2074206B2977030B29750206206B297FB +:10814000FCCA3C201030A2074206B2973030B297EA +:1081500010206206B297BCCE55B7094955B74111F8 +:1081600022C406C62E84EF10EFE771C93435854767 +:108170002A870545639CF606142B930740026396F5 +:10818000F6067C245434A207C206B6977434B69718 +:108190005424E206B6978346D704A9CE930607086F +:1081A000DCD63C241034A2074206B2973034B29792 +:1081B00010246206B2979CDA7C205030A207420657 +:1081C000B2977030B29750206206B297DCDA3C204A +:1081D0001030A2074206B2973030B29710206206E4 +:1081E000B2979CDE9307A0021CAB0145B24022442B +:1081F0004101828093060708FCC63C241034A20784 +:108200004206B2973034B29710246206B297BCCAC5 +:108210007C205030A2074206B2977030B2975020AF +:108220006206B297FCCA3C201030A2074206B29701 +:108230003030B29710206206B297BCCE65B70545C4 +:1082400075B7411106C6EF10EFD91DCD343505477E +:10825000AA8709456397E602942B130740026392AD +:10826000E6020D472386E7021947A385E7021307B5 +:10827000500298AB03C7A702014513671700238577 +:10828000E702B240410182800945E5BF5D71A2C4A9 +:10829000A6C286C697C7F91F9387C7223684943330 +:1082A0002A87B2848DC2B44F81C6D4263145BDE23F +:1082B000B45F81C6B4363145B1EE83A6C70881C626 +:1082C000F4323145A1EA03C6070C83C6170C1D45DD +:1082D0006372D60483A7070D494593F707049DCB26 +:1082E00019462800D8839780F91FE780A0064146E9 +:1082F000A6851305E1029780F91FE780A005130505 +:10830000E1014146A2859780F91FE780A00448005B +:10831000EF800FA2B640264496446161828097C7E1 +:10832000F91F9387271A98330DC3B84F01C75827F1 +:10833000494505E7B85F01C73837494519EF83A7B5 +:10834000C70881C7FC33494589EB411106C6EF8058 +:108350000FB2B240014541018280828097C7F91F68 +:108360009387471694332A878DC2B44F81C6D4268B +:1083700049459DEAB45F81C6B436494595E683A672 +:10838000C70881C6F432494585E203A6870D98B334 +:1083900083A5C70D9376F69F19C39366066023AC39 +:1083A000D70C23AEB70C01458280930700643305D8 +:1083B000F502411126C297C4F91F9384A41022C468 +:1083C00003A4440C4AC006C61309F00FC8D801E83C +:1083D000B240224492440249014541018280082072 +:1083E00063052501CC58EFC00D80405CCDB797C721 +:1083F000F91F9387270DA38CA7021377150011EBA4 +:1084000003C7C7036D8F6304B70049458280238D7E +:10841000E702098919C10145828003C7D703718F1B +:10842000E315C7FEA38DC702FDB7011122CC26CAF2 +:108430004AC84EC606CEAE84B28936893A84EF1059 +:108440006FBA2DC193F7140091EF8D4763FA37018E +:108450004545F2406244D2444249B24905618280B6 +:1084600023023515898891E48D47E3E327FFA302B2 +:10847000251501CC97C7F91F83D7E7087D8C0D8898 +:108480008547631EF4002314851485477CAD83273C +:10849000450A9397C7282322F50A01455DBF231497 +:1084A0000514E5B7494575B75D716ECE97CDF91FD7 +:1084B000938D4D0152DC3E8A83A78D05A6C2CAC0AA +:1084C0004EDE56DA5AD85ED662D46AD086C6A2C4C8 +:1084D00066D246C6B684830B41058346810583492F +:1084E00001062A8D2E89B28A3A8C428B99C7EC4BB1 +:1084F000B70700043145ED8F85EF8D4763E94701EC +:10850000937C090163870C0085476389F60449451C +:1085100005A093753900E38CF5FE93758900E5F9A4 +:108520006397F60283C7CD033145918B6393072090 +:10853000B640264496440649F259625AD25A425BE2 +:10854000B25B225C925C025DF24D61618280639459 +:10855000F91E83C7CD03918B3145F9DB6A85EFF0B6 +:10856000CEB22A8411E983A78D06054582972A8415 +:108570001D455DDC2304A40193070002639FF40002 +:108580008D476399F904562C9307900F13055004F7 +:10859000E3E0D7FA762CE3EDD7F89376F90F2300D2 +:1085A000D406638E0C101379F9009547631BF9020A +:1085B000930710F87CA44545E3EC54F7FD47454587 +:1085C000E3F857F79167E3E597F6D6948580B3C44F +:1085D000040831A88547E392F9FC562C9307D02E66 +:1085E00075B7B5476313F90C85477CA4894406B079 +:1085F000A307840163160C1085471CBC93F6060282 +:1086000099E2A30A44033245194681459780F91F30 +:10861000E780E0ED63140510B2458547230EF402B0 +:10862000A30E640319461305E4039780F91FE7803E +:1086300060D2834701055CB49307F0076393FB0E98 +:10864000565797C7F91F83C767B21CA30305540188 +:10865000EFD02FD62304A406EFD04FCFD65748B87B +:1086600088A38347C1052305040623020406A30249 +:10867000F40683470406C18B99EBFD1993F9F90FB2 +:108680008947E3E637E9A3050406A30134078347D6 +:1086900041060145A300F40683478106A303F406BF +:1086A0007C489397B7297CC861B589476314F90062 +:1086B000994709B7E30009F023070400EDBD9D4782 +:1086C0007CA493F5160093F7460089C991E3914580 +:1086D000A30FB4048547230FF404F1BD93F52600DE +:1086E00081C9894591C39545A30FB4048947E5B76E +:1086F0008D4591C39945A30FB404230F040465BDB0 +:10870000A30C040081478D453356FC4801C6103C3C +:10871000050610BC8507E399B7FECDB5230E04020C +:1087200009BF914763C57701A30A740105B75CB817 +:1087300031BFE385D9E28947E392F9E283C7CD03EC +:10874000898B19BD01114EC697C9F91F938989D725 +:1087500083A7890526CA4AC852C406CE22CC2E89D0 +:10876000B6843A8A99CFF84BB7070004F98F91CBBA +:108770003145F2406244D2444249B249224A05613D +:108780008280EFF08E902A8419E583A7890513056E +:108790002004F9FFF9BF782585473D8B630EF70E5E +:1087A00003470506418B41CF8D476304F9004945D6 +:1087B000C9B7FD47E3ED97FE231E0400F1C85E2C08 +:1087C00003D769071D45B3869700E344D7FA5824B9 +:1087D00005C71630130700026390E602034734060C +:1087E0008D46631DD70A1307900F13055004E362EB +:1087F000F7F87E2CE36FF7F68D471D45E31BF9F67E +:1088000037E900E083290900B70720002320F91881 +:10881000B3F9F9000F1000009305800C0545EFC077 +:10882000CDC48357C4061205232444038507BD8B9A +:10883000C98F2316F40646AC23203911B1A8631A58 +:10884000F900231E0500A5D458248547E319F7F63F +:1088500005B70D47E302E9F61147E316E9FE74494F +:1088600037070001758F21F75825E312F7F45E2DC5 +:108870009DDF95FC9305800C0545EFC00DBF835728 +:10888000C40612058507BD8BC98F2316F40629A0DF +:108890007C48939787497CC80145E1BD8546E31D27 +:1088A000D7F41307D02E91B701114EC697C9F91FFF +:1088B000938949C183A7890526CA4AC852C406CEEE +:1088C00022CC2E89B6843A8A99CFF84BB707000498 +:1088D000F98F91CB3145F2406244D2444249B249CA +:1088E000224A05618280EFE05EFA2A8419E583A7B7 +:1088F000890513052004F9FFF9BF782585473D8BCD +:108900006304F71203470506418B71C38D47630467 +:10891000F9004945C9B7FD47E3ED97FE231F040061 +:10892000638004107E2C03D769071D45B38697002A +:10893000E343D7FA582405C71630130700026390A3 +:10894000E602034734068D466312D70E562C1307F2 +:10895000900F13055004E360D7F8E36EF7F68D47E8 +:108960001D45E31AF9F65C5485C783476406898B75 +:1089700085C3085811CD3C2581CFEF70DFB50C5869 +:10898000194613056403B1059780F91FE780809CA1 +:1089900037E900E083290900B70720002320F918F0 +:1089A000B3F9F9000F1000009305800C0545EFC0E6 +:1089B000CDAB8357C4061205232644038507BD8B20 +:1089C000C98F2316F40666AC23203911B1A8631AA7 +:1089D000F900231F050095DC58248547E314F7F4BC +:1089E000D5BD0D47E30CE9F21147E316E9FE7449E2 +:1089F00037070002758F11FF5825E31CF7F07E2D15 +:108A000089DB81F89305800C0545EFC00DA68357DF +:108A1000C40612058507BD8BC98F2316F40629A04D +:108A20007C48939797497CC8014575B58546E318FE +:108A3000D7F2562C1307D02E29BF5D71CAC017C9B3 +:108A4000F91F130929A8AA8703258905A6C286C686 +:108A5000A2C44EDE52DC56DA5AD85ED662D466D252 +:108A60006AD06ECE32C23AC4B68405E5858B95EFE6 +:108A7000A9C10145B640264496440649F259625AB6 +:108A8000D25A425BB25B225C925C025DF24D616144 +:108A90008280744937070004758F63120714858B31 +:108AA00089E781C9EFE09EFEE9B7639D050E494560 +:108AB000D1B70324C90555DC2285EFE03EFD004017 +:108AC000DDBF78493377EC00631B07100347F505DA +:108AD000630497016316A70103D7EA016301071036 +:108AE00003C75A03630E370703C7EA00631737014A +:108AF000332794201A23E3ECEDFA0327C9067D14EB +:108B00001374F40F79CFA247B3249A209A203E9A87 +:108B10009305800C2397EA0603470A00054523982E +:108B20000A06A384EA06EFC04D9403D7CA061205CD +:108B3000264405073D8B498F2396EA068327C906FD +:108B400003C50B00B64096440649F259625AD25A00 +:108B5000425BB25B225C925C025DF24D6161828796 +:108B600093878A05194681453E853EC69780F91F41 +:108B7000E780E097631D3501194697C5F91F938576 +:108B8000C5A213858A059770F91FE780A07C194656 +:108B9000814513858A059780F91FE7804095E31585 +:108BA00035F531B7FD1513F4F50F370C0003894C7B +:108BB000154D8549930D0008130BF00F9247228A3B +:108BC000B38B870003C50B00EFE03ECCAA8AE31A03 +:108BD00005EE8327890513052004E38D07E8314559 +:108BE00051BDE31D64FDE1B539714AD84ED656D268 +:108BF0005AD05ECE62CC66CA6AC83E8B06DE22DCE4 +:108C000026DA52D497C7F91F83A74791834B0104F3 +:108C1000AE8A3289368CBA89C28C468D95C7F84B9C +:108C2000B7070004F98F8DC3314AF2506254D25411 +:108C30004259B259925A025BF24B624CD24C424DAD +:108C40005285225A21618280EFE03EC4AA84130A31 +:108C5000200461DD63745901494AC1BF9547E3FDB2 +:108C600057FF8347050693F73703FDF7034AE505EA +:108C7000E31C0AFA7C49918BC5FBEFB02DD5F9476F +:108C800063E4A7001D4A55B783C7340691EB03D7A9 +:108C900044089307D02E63F5E700994763F0270F48 +:108CA0006384090CB3C73A03E3C867FB639B0B02F9 +:108CB00003A4C40A2DC42302340123047401A302B3 +:108CC0006401FC4856991359194093E72700FCC8E2 +:108CD00083C7040623932409B3E787012380F4069E +:108CE000A9B7E3FB6CF785476383FB02B3079B419E +:108CF0002947B387E702B3C77703E3CFA7F503A4F8 +:108D0000C40A11CC23023401A303A40131A003A49B +:108D1000C40A11C4230234012303940179BF1386CA +:108D2000190012069305E010328532C69770F91FBC +:108D3000E780C0322A8439D5324681459770F91FC1 +:108D4000E780C067B7C7898E23A6840A938767ED3B +:108D50001CC0930704015CC423023401E38F0BF4AD +:108D60008547E393FBFA4DBF03A5C40A39D9977031 +:108D7000F91FE780C03B23A6040AA1B7130A5004D9 +:108D80006DB5011126CA4AC84EC606CE22CC52C4C1 +:108D900097B7F91F83A78778AE843289B68991C7C0 +:108DA000F84BB7070004F98FA9E3EFE01EAE2A8461 +:108DB0001305200459C07C48898B8DC38347340632 +:108DC00091EF035744089307D02E63F9E700035748 +:108DD000640899471305500463F1E70693F7D40F2D +:108DE00005476386E700630209063145B9A0B7E786 +:108DF00000E003AA07003707200023A0E718337A12 +:108E0000EA000F1000000325840A19C59770F91FA6 +:108E1000E780E0312324040A23120408B7E700E0C6 +:108E200023A047116312090A8D476393F4027C481B +:108E300023120408F99B7CC80145F2406244D244E5 +:108E40004249B249224A056182809147E38FF4F892 +:108E50004945E5B7F51493F4F40F8547E3E797F830 +:108E6000930550104A859770F91FE780201F23242F +:108E7000A40A25DDB7E700E084433707200023A0DC +:108E8000E718F98C0F1000007C4893F7074091CF4A +:108E90009305800C0545EFB05DDD8357A4081205EE +:108EA0008507BD8BC98F2315F4080325840A4A86DC +:108EB000CE859770F91FE780E049B7E700E02312FD +:108EC000240923A097108DBF7C48918BC1F78D4753 +:108ED000E388F4F819BF41114AC017B9F91F130903 +:108EE000695E8327890526C206C622C4AA842E8508 +:108EF00089CFF84BB7070004F98F81CB3145B240D9 +:108F000022449244024941018280EFE01E982A8463 +:108F1000130520046DD413F714007C484DCB13F7D0 +:108F2000170069FF034704061377370361FB89883D +:108F3000C1CC0327490D454593E70740418B61D3D9 +:108F4000C1657CC8FD150145EFB0BDD42314A4084C +:108F5000EFD06F8E93040408B7050001C8C4FD1557 +:108F60000145EFB09DD588C89304040A154697B50E +:108F7000F91F9385056526859770F91FE780803D69 +:108F8000A685130500FBEFC0FFD52685EF007FAD5A +:108F90007C485824A300A408DD9B93E747007CC8C5 +:108FA0008547631FF7009305800C0545EFB0FDCBA7 +:108FB0008357C40612058507BD8BC98F2316F40697 +:108FC000EF603FA5014525BF93F7F7BF95BF034568 +:108FD000D407CD9B7CC89307F00FE303F5FEEFB0F9 +:108FE0007D81F9BF01114AC83A8917B7F91F1307E4 +:108FF000674D0328870722CC26CA4EC652C456C2E4 +:1090000006CE2A8AAE8A3284B684BE8963080800F6 +:109010008326C80191673145F58F9DE3785F31451F +:1090200005C39377A4FF454581EF937754003145FD +:1090300081CB6310080202972A880D45631F080040 +:10904000F2406244D2444249B249224A924A0561FE +:1090500082808347B8003145E5F78D474945E3E114 +:1090600047FFA3064805230858012300080293750B +:10907000140085C99C20A307F80083570900231B0F +:10908000F80003D609003356F60A93075005231C4F +:10909000C8003306F60285472300F8022186231D07 +:1090A000C800118829C0AE949C2033A92521B3A5FE +:1090B0003521A307F800A307F80203570900231975 +:1090C000E8029E21B3D7E70A13075005231AF802D6 +:1090D000B387E702A187231BF8028347080293E7BF +:1090E00027002300F8028327C80101459397F7283A +:1090F000232EF800B1B717B7F91F1307A73C3C5F41 +:10910000011122CC26CA4AC806CE2E89B2843684E2 +:1091100089E77C5F8DEB314521A8D04F9166F18EB8 +:10912000FDFA785F6DDB19C905476309E50249451A +:10913000F2406244D2444249056182802AC6EF90DF +:10914000EFD43245F5B70547E313E5FE8297AA87CA +:109150000DCD1147A30605047AA91AADB43705470A +:10916000E387E6FC85C086BFA2BF01C41E04E3D02E +:1091700084FC238927016244F240D2444249BC570F +:109180000561828723AC0702EDB70D4555B75D71C8 +:1091900062D466D26ECED084AA8DAE8C328CB68567 +:1091A00019461305A100A2C4A6C2CAC04EDE52DCF5 +:1091B00056DA5AD85ED63E8A564BE64A86C66AD0FA +:1091C000B68B3A84C289468997B4F91F9384842F59 +:1091D0009770F91FE7800018BC5C8DC7D84F916766 +:1091E000F98F8DC33145B640264496440649F2595D +:1091F000625AD25A425BB25B225C925C025DF24DD3 +:109200006161828083A70409F1DFEFE03EF297B746 +:10921000F91F83C7D7F5E307F5FC9D474545E3E410 +:1092200087FC9377540099E3494575BFBC5C99C7A7 +:10923000D44F1167758F5DF7BC37CDF703ADC40808 +:1092400063150D3083A7040982972A8D41DD0D47F0 +:10925000E36C97FDA306BD01A3029D071946814556 +:109260005E859770F91FE78080286316052E0547F5 +:109270002306ED06A3068D071946DE851305ED06C8 +:109280009770F91FE780000D230C0D02937B1400EB +:10929000814C63880B0C83560A001146C647B3F60F +:1092A000C60A231ADD0203D7090093050D05DE8CDB +:1092B0003357D70A930650053377C70A231BED02AD +:1092C0003307D70221872319ED020547230CED024E +:1092D000035709002317ED008A232A970587231ACD +:1092E000AD002318ED04EFC0BEDE83560D05856585 +:1092F000938505C81947B3D6B60AB3C60608B3F6B0 +:10930000E60A2318DD0403560B001307301FF64747 +:109310003356E60A130716003307D702231DCD0084 +:1093200003D50A0009873367A70A334707082310C4 +:10933000ED028A2386573357B70A2313AD02A94596 +:109340008A23334707083377B70A2310ED020A0749 +:109350003347D7022316AD027D173347C70A231DB3 +:10936000ED00137C2400630C0C0A33A72C211A2374 +:10937000C64793052D052318ED00B3A6FC208A22CD +:10938000939D1C00850C2A970587231BAD0023198C +:10939000ED04EFC0FED383562D050565130505C802 +:1093A0001947B3D6A60AB3C60608B3F6E60A3307CA +:1093B000BB012319DD040E231307301F3386BA01C6 +:1093C000B3D5E50A138715003307D702231EBD0066 +:1093D0001222F64793FCFC0F09873367C70A3386CE +:1093E000B701334707082311ED021222865733577E +:1093F000A70A2314CD023386B70112223347070888 +:109400002317CD0229463377C70A2311ED020A0735 +:109410003347D7027D173347B70A231EED00118863 +:10942000630E041233AA4C2183560A001146B3A9D5 +:109430003C21B3F6C60A2313DD0403D7090033A980 +:109440002C21C6473357D70A930650053377C70AEE +:109450002314ED043307D70213941C00B3ACFC2093 +:1094600093054D05229BA29A21872315ED040347FE +:109470008D0313672700230CED02035709002319FE +:10948000ED0003D50C002A970587231CAD00231A95 +:10949000ED04EFC0FEC383564D050565130505C8F1 +:1094A0001947B3D6A60AB3C60608B3F6E60A231AC6 +:1094B000DD0483550B001307301FF647B3D5E50ACB +:1094C000138715003307D702231FBD0003D60A00F8 +:1094D00009873367C70A3386870033470708231293 +:1094E000ED02122286573357A70A2315CD02338681 +:1094F00087001222334707082318CD022946337705 +:10950000C70A2312ED020A073347D7027D173347F4 +:10951000B70A231FED0063100C02638E0B04035780 +:109520000D052319ED040357AD01231EED0003576C +:109530000D022311ED0203A7840D83278D08136705 +:10954000072023ACE40C829779B983467D00054758 +:10955000E39FE6CE41B923060D063DB303570D0543 +:10956000231AED040357AD01231FED0003570D022D +:109570002312ED024DB703574D052319ED04035790 +:10958000ED01231EED0003574D0265B741114AC09E +:1095900017B9F91F130909F38327890726C206C6DD +:1095A00022C4AA8481EF8327C907D5E33147B2409B +:1095B0002244924402493A8541018280D84F916702 +:1095C000F98FEDF78327C907F5D3FC241D47032442 +:1095D00089079D8BE38CE7FC98205C4C058B59C375 +:1095E0005C4C898BE1F79C20114793F667006397E9 +:1095F000E6008326C90C4547C18AD5DA858B85E309 +:109600009C30194693853400230AF40CBC201305C2 +:10961000640DA30AF40C9770F91FE780A0D39C2077 +:109620002301F408BE242312F408DE242313F408D3 +:10963000FC24A301F408FD57A30EF4065C4CC59B63 +:1096400093E727005CCCEFB0BFE101478DB782976D +:109650000D4731DD11477AA91AAD0547A306050468 +:1096600038B5A5B7898BC1D30347440D9C30E31FA0 +:10967000F7F20347540DBC20E31AF7F2194693851D +:1096800034001305640D9770F91FE78020DE8547CD +:109690002D47E317F5F421BF97B7F91F83A707EA12 +:1096A000314599CFDC4F11677D8F19EB898B89CBC1 +:1096B000411106C6EF80EF9EB24001454101828014 +:1096C0008280411122C406C617B4F91F032404E79F +:1096D00041C05C4C91662A87FD8E3145BDE28356C0 +:1096E000240D13052004639EE6040345D407C59B9F +:1096F0005CCC230E04069307F00F6307F500EFB070 +:109700006D8FFD57A30EF406034514089307F00F61 +:109710006307F500EFB00D8EFD57A300F408032595 +:10972000C40C19C59770F91FE78060A0A304040C4E +:10973000BD67938707A60100FD17F5FF3C3491E74D +:109740000145B2402244410182803C548297CDBF02 +:109750003145C5BF011122CC06CE97B7F91F9387BB +:1097600067D6983332841DC3B84F01CB582711C731 +:109770004945F240624405618280B85F19C33837B9 +:1097800065FB83A7C70899C3FC33FDF3C88419465A +:109790001305A1009770F91FE780C0BB28009780D0 +:1097A000F91FE780006069D500B10145D9B717B747 +:1097B000F91F0347C7D5B357F740858B454591C37C +:1097C00001458280011122CC26CA4AC84EC606CE67 +:1097D0002E893284B689BA84EFE02E8B3DC50328EA +:1097E0004505AA8731451377082029EB17B7F91FDC +:1097F000130747CD83469704454563E1260503C615 +:10980000470B33568640058A15CA8326070D37064F +:109810000800F18E85C60347870463619702238B96 +:10982000870AA38A270BA38B370B11C026841368E2 +:109830000810238C870A23AA07050145F2406244D9 +:10984000D2444249B2490561828013052004FDB724 +:10985000411122C406C62E84EFE02E8315C178493B +:10986000AA8731459376270081CA9376F7DF19C01E +:1098700093660720F4CB0145B24022444101828027 +:1098800013052004D5BF411122C426C206C62E846A +:10989000B284EFF03EF517B7F91F032727CA29CB8B +:1098A0008356270DAA8713052004639E9602094557 +:1098B0009DCB83A60710370600026945F18E85C649 +:1098C00003C6E7049306200263FFC60023A0E71641 +:1098D00003A7470A2398871423A2071613170729FB +:1098E000014523A2E70AB24022449244410182800A +:1098F00013052004CDBF411122C426C24AC006C6AA +:109900003289AE84EFF01EEE2A844A85EFD0FEF74E +:1099100029C803270410B7060002AA87758F694576 +:109920001DCB8346E404130720026376D702130598 +:10993000200495C3F84B3145218B11CF2322F41617 +:109940008327440A23189414232004169397072985 +:1099500001452322F40AB2402244924402494101C3 +:1099600082800945CDBF011122CC4AC84EC652C4DF +:1099700056C25AC006CE26CAAE89328BB68A3A8AF9 +:1099800017B9F91F130909B4EFF0DEE503248907BD +:109990005DC58327C907AA8499E3EF809FE015E896 +:1099A0008327C90782972A840D453DC48347D40481 +:1099B000858BADCF834729004945B9CF194697B567 +:1099C000F91F938585BE1305E4049770F91FE7809E +:1099D00060985C4C13F7270015C313F7E700A14606 +:1099E000631CD7040345D407C59B5CCC230E040637 +:1099F0009307F00F6304F500EFA0DDDFFD57A30E22 +:109A0000F4062312640923135409A301440923878C +:109A10003415EFB0FFA40145F2406244D2444249FC +:109A2000B249224A924A024B05618280194697B593 +:109A3000F91F938525B741BFEF70BFE6C1B7094550 +:109A4000E1BF011122CC26CA4AC84EC652C406CE76 +:109A5000AE843284B6893A893E8AEFF0BED831C9E5 +:109A6000B38784001307F00F2A884945634BF70238 +:109A700063E9840233872901B387844063C3E70223 +:109A800083474818A30298182303881893E74700D0 +:109A90002302F818A3033819230428192315481999 +:109AA0000145F2406244D2444249B249224A05612A +:109AB00082800945FDB7411122C42A840A2106C6C5 +:109AC000EFF05ED221C503063400AA874945634BF7 +:109AD000C00283052400130710FA63C5E5020307DB +:109AE0005400914663C0E60283064400315863CBBC +:109AF0000601238EB716A38EC716238CD716A38C08 +:109B0000E7160145B2402244410182800945DDBF8C +:109B1000411122C406C62E84EFF0DECC21C90347D2 +:109B20004518AA873145937647008DCA05CC8386B0 +:109B3000A717136717002382E7181307F007639E20 +:109B4000E60003A7470AB7061000F98E99E6131737 +:109B50004729A38F071623A2E70A0145B2402244F2 +:109B600041018280799B2382E718C5BF0945FDB773 +:109B700097B7F91F83A7879AF84B0111B70700041D +:109B800022CC4AC806CE26CA4EC652C456C2F98F47 +:109B90002E89328499C31305000FEFD01ECFAA87F8 +:109BA00013052004B5C303A7C70A314531CF544775 +:109BB000A1CE5823636A270537E700E0032A070090 +:109BC000B70620002320D718337ADA000F100000E0 +:109BD00083A7C70A2287814683A9C7000145CE878C +:109BE00063CD260393050011334505089760F91FDF +:109BF000E780C046AA842104814A63C62A05B7E7E4 +:109C000000E023A047110145F2406244D24442499A +:109C1000B249224A924A056182801023C107850613 +:109C20002388C7FE10333107A388C7FE034667FFAA +:109C30002389C7FE034677FFA389C7FE4E203295CE +:109C4000239AB7FE71BF23A499000346B4FF0C40CA +:109C50002685C1099760F91FE780C06F83C739FF68 +:109C6000850A3104BE9451BF41114AC017B9F91F8A +:109C7000130949858327890526C206C6F84BB7070D +:109C8000000422C4F98FAA841305000F91E38820F1 +:109C9000EFD0BEBF2A841305200409C48327C40A59 +:109CA00081EB3145B2402244924402494101828015 +:109CB000D84765DB9830DC23E3E5E7FE8327040B18 +:109CC00099EB9305F010130500029760F91FE780E8 +:109CD000E0382328A40A0325040B61D513040408E3 +:109CE0005C5405474946B8B7A6859760F91FE780D9 +:109CF0006066B70500010458FD150145EFA0FDFBA6 +:109D0000C8C80458EFC02FB3005888CCC1451545CA +:109D1000EFA0BDF548AC8327890D014593E70720E7 +:109D2000232CF90C41B7411122C406C626C297B7AD +:109D3000F91F83A7A78031448DCFD44F11673144D9 +:109D4000758F05EB83D6270D1A2113042004639227 +:109D5000E60237E700E00443B70620002320D718C7 +:109D6000F58C0F10000003C4970C11C82320971026 +:109D70005944B240228522449244410182803A21D2 +:109D80002392E70C58212383E70C5831A383E70C77 +:109D900078212384E70C7031A384C70C01CA0C45D9 +:109DA00003A5C70C9760F91FE780C05AB7E700E02A +:109DB00023A097107DBF011126CA4AC852C406CEFF +:109DC00022CC4EC62E8A3289B684EFF0BEA171C570 +:109DD00097A7F91F9387072D631D0900054798A3CF +:109DE0000145F2406244D2444249B249224A0561E7 +:109DF0008280982385472A846317F70097A7F91F65 +:109E00002382072A094AB7E700E083A9070037073A +:109E1000200023A0E718B3F9E9000F100000416506 +:109E2000130545F5EFF09E9D29C93C253EA58327E6 +:109E30008411A1E3232CA410232EA410930710F85F +:109E4000F9141CB523200500231625012304450120 +:109E500044C1834594020145B315B028B3C5050834 +:109E60009790F91FE78060BAB7E700E023A03711A9 +:109E700085BF8327C41188C3C1B797A7F91F83A7DC +:109E8000A73091C795659385555505458297B7E7E6 +:109E900000E023A037111D45A9B7094599B76F9078 +:109EA0009ECB6F903ED06F903ED56F907EDB6F90D3 +:109EB0005EE16F90FEED6F905EE56F90DEE8828070 +:109EC0006F909EF1034301001AC06F900E8B6F904C +:109ED0000E976F90AEA06F902EA76F908EAD6F9083 +:109EE0006EB36F90EEB96F906EBE79711303F00F81 +:109EF0001AC81AC60343810306D61AC40353410382 +:109F00001AC2035301031AC0EF900EC3B250456149 +:109F1000828003530100035E4100834E8100034FA2 +:109F2000C100835F010176C47AC67EC872C21AC0BE +:109F30006F908EC06F900ED46F90CEDF03530100F0 +:109F4000034E4100834EC10093F8F80F1378F80FC9 +:109F500076C672C21AC06F90EEE36F906EF36F9088 +:109F60006EFC6F90FE886F909E8C6F90DE8F6F906E +:109F70009E956F903E9C6F907EA0828082806F90B5 +:109F8000DEB2797126D206D622D44AD04ECEAE8425 +:109F90009397556063D0072097A9F91F93890919F2 +:109FA00003C509009760F91FE78000312A841DC1AD +:109FB00018219307000D631CF7003821914763E4D3 +:109FC000E702894763E8E71655CF630FF70E22854E +:109FD000EFA00DA41395F468B25022549254025984 +:109FE000F24945618280D14763EFE704C947E3F056 +:109FF000E7FE17A9F91F1309291383270900143154 +:10A0000093F7F7F063950618CD46631DD71693E7CF +:10A01000070117A7F91F1307C7102320F9001C23F6 +:10A020009396476063DC060003C5090093F7F707C2 +:10A0300091451CA39790F91FE780209D8327090075 +:10A0400013958729E9A8930757FE93F7F70F8546DD +:10A05000E3EFF6F617A6F91F1306060D1442FD7777 +:10A060000C319387F70FFD8E93E7063081E9ED45BC +:10A0700093E706206314B70093E706101CC21395FC +:10A08000972971A81C3117A9F91F1309E90989C774 +:10A0900099472320F90035A093053500194617A5E7 +:10A0A000F91F130525079760F91FE780A02A854748 +:10A0B0002320F900854503C509009790F91FE78023 +:10A0C000C09403250900A1A814313C3195EE639298 +:10A0D000E70217A7F91F130727051C438145014510 +:10A0E00093F7F7F093E707021CC3EFF08DC908B0B0 +:10A0F000F9BD0547814501456395E700EFF04DBB8C +:10A10000FDB7EFF0CDADE5B7E383E7EC17A7F91F97 +:10A11000130787011C43C19B13E5670008C397A77A +:10A12000F91F83A767F8E38407EA9C43E38107EA02 +:10A13000829771BD17A9F91F130909FF8327090029 +:10A140001431C19B8DEE8D466314D70293E727002F +:10A1500017A7F91F1307F7FC2320F9001C23939678 +:10A160004760E3D006F693F7F7071CA38945A1B72C +:10A1700017A7F91F230807FA93E7370019BF93E7DA +:10A18000670001BF93E707022320F90045BD93E76D +:10A190000703DDBF93F71500C9C397A7F91F83C74E +:10A1A00067F8ADCB97A7F91F83C7B7F65C8297A571 +:10A1B000F91F9385A5F597A7F91F83C787F51305A1 +:10A1C00061001946DC829760F91FE780A01897A705 +:10A1D000F91F83C767F35C864C0097A7F91F83C7F5 +:10A1E00097F217A5F91F034565F4DC86EFE09DD5CE +:10A1F00015C197A7F91F938727F3884341991365E2 +:10A20000650088C397A7F91F83A707EA81C79C4306 +:10A2100091C3829713C51400C1B393F72500A9C356 +:10A2200097A7F91F83C7F7EF858B85CB17A5F91F74 +:10A230000345C5EFEFE09DFF0DC197A7F91F938779 +:10A24000A7EE88431375F5F088C397A7F91F83A776 +:10A25000A7E581C79C4391C3829713C52400ADBB7A +:10A2600013F54500E30A05D697A7F91F83C767EBE7 +:10A2700095CB17A5F91F034565EBEFE0FDFE1DC16A +:10A2800017A7F91F130747EA0843FD779387F70FCE +:10A290007D8D08C397A7F91F83A707E181C79C435A +:10A2A00091C3829713C5440005BB97A7F91F83A7E5 +:10A2B000A7E785E709C597A7F91F23A7A7DE814769 +:10A2C00001478146014697A5F91F83C5B5E517A546 +:10A2D000F91F0345A5E56F00CEC74545828097A7C6 +:10A2E000F91F23A3A7DC8280411126C206C622C41F +:10A2F00097A4F91F938484E380209307F00F6308E9 +:10A30000F4006145B2402244924441018280170525 +:10A310000000130545C7EFA08DF288A0E30385FE7A +:10A3200097A7F91F23A207D897A7F91F23AE07DE27 +:10A33000854717A7F91FA307F7DE8D4717A7F91F52 +:10A34000A309F7DC97A7F91F238507DC9D4717A70B +:10A35000F91F230BF7DA97A7F91FA38607DAEFC0D7 +:10A36000BDA3014545B7411126C206C622C4AE842D +:10A370009397556063D8071817A5F91F034545D370 +:10A380009760F91FE78040F32A8409CD1C21130749 +:10A3900010096380E7021307000D638BE70822852D +:10A3A000EF901DE71395F468B240224492444101B6 +:10A3B00082801C3139476399E7025A218567938768 +:10A3C0005740E31EF7FC1C45A8239833AC33220505 +:10A3D00097A7F91F83A787CD598DF1D39C43E1D36C +:10A3E00093954560829765BF1307E003E399E7FA09 +:10A3F00038219D47E315F7FA4A219780F91FE78036 +:10A40000807751DD5825A147E31BF7F897A7F91F7F +:10A4100083A7C7C9C9D79C47D9D332246E204A2005 +:10A420007116F11533460608B3C50508829785BF36 +:10A430003C2119476385E7026360F70285C715472A +:10A440006388E70A97A7F91F83A747C6A9DBDC4300 +:10A45000B9D722858297A1B73147E395E7FEEF1080 +:10A46000D053CDB71C31F9FF97A7F91F83C797C900 +:10A47000A9E7414697A5F91F9385C52E17A5F91F92 +:10A48000130545309760F91FE78040FE39E117A6B4 +:10A49000F91F1306262FC1450945EFA0FDC817A6D1 +:10A4A000F91F1306262DC1450D45EFA0FDC717A5C1 +:10A4B000F91F0345E5A4EFA0FDC11946930534003B +:10A4C00017A5F91F130505C59760F91FE78080E8F8 +:10A4D00095BF414697A5F91F9385C52717A5F91F75 +:10A4E000130545299760F91FE78040F84DD1F1B772 +:10A4F0001C31A9FB3225930545002831A146EF10F8 +:10A50000A04789B711656D8DE30005EA17A6F91F0D +:10A510001306C6C091451145EFA01DC117A5F91F2F +:10A520000345059EEFA01DBB1395E468B5BD411121 +:10A5300022C406C697A7F91F238FA7F2328481C5CC +:10A540002E85EF10803809C497A7F91F23A087B67E +:10A5500097A7F91F83C717BB9DEB2244B24017A6EC +:10A56000F91F034646BA17A5F91F034565B497A717 +:10A57000F91F9387A7BA17A7F91F1307A71F97A655 +:10A58000F91F93862620A14541016F008E9CB240A1 +:10A590002244014541018280011197A7F91F83C719 +:10A5A00027B1C8824C83D08328001946B68506CED1 +:10A5B0005C829760F91FE780E0D94800EFE08DB931 +:10A5C000F240056182800111C88697A7F91F83C7F1 +:10A5D00027AE680006CE5C864C87D087EFE0CDAA18 +:10A5E000F2400561828017A5F91F034565AC6FE055 +:10A5F000EDA597A7F91F2387A7B017A7F91F034752 +:10A60000E7B29307F00F630CF700854717A7F91F10 +:10A61000A30AF7AEB14717A7F91FA305F7B08280C9 +:10A6200097A7F91F83C7B7B481EB61458280614565 +:10A63000B2402244410182804111170500001305F8 +:10A64000C5D222C406C617A4F91F130464A6EFA03E +:10A650000DBF08A01307F00FE30BE5FCA14717A7F8 +:10A66000F91FA301F7ACEFF0DFF897A7F91F83C735 +:10A6700077A999C301456DBF17A6F91F1306861068 +:10A68000C1450945EFA03D8417A6F91F1306860EA4 +:10A69000C1450D45EFA03D83414697A5F91F938520 +:10A6A000650E17A5F91F1305E50B9760F91FE780E5 +:10A6B00060CA414697A5F91F9385C50B17A5F91FD9 +:10A6C000130545099760F91FE780C0C817A6F91F51 +:10A6D0001306C6A491451145EFA0EDFE0820EFC07A +:10A6E000ADEB49BF130705031E21110593C7F7FF03 +:10A6F000231EF5FE8347E5FF93C7F7FF230FF5FE03 +:10A70000E314E5FE828099473305F50201110A86BC +:10A71000C14506CE1305052033450508EFA0ADFA67 +:10A7200009E50886F240056182800145E5BF011117 +:10A7300022CC26CA4AC84EC606CE8144014417A977 +:10A74000F91F1309B99897A9F91F9389A998834705 +:10A750000900636AF400F24062444249B249268526 +:10A76000D2440561828083A709001315440019466D +:10A770009305F00F3E959760F91FE78040D701E5FC +:10A78000850493F4F40F05041374F40FC9B717A5E7 +:10A79000F91F0325659305C5411106C6EF905DA716 +:10A7A000B24097A7F91F23A1079297A7F91F83C764 +:10A7B000F79117A7F91F230BF7904101828097A704 +:10A7C000F91F83C7B79017A7F91F2301F79082805D +:10A7D0005971A6D286D6A2D4CAD097A7F91F83C72B +:10A7E000E78EAA846390A70217A4F91F130484902C +:10A7F00008208545EF90FDBA08208945EF907DBA85 +:10A80000EFF0FFF81949338924035000C1451304C0 +:10A8100009202285EFA02DEB09C90144B6502285FD +:10A820002654965406596561828019469305F00FA7 +:10A8300048009760F91FE78080CB65F148004146EA +:10A840009305F00F9760F91FE78040B748087146FD +:10A850009305F00F9760F91FE78040B608181306BC +:10A8600000039305F00F9760F91FE78020B55000B3 +:10A87000C1452285EFA05D8B50082A84F145130560 +:10A880001920EFA07D8A5008498CF1451305292035 +:10A89000EFA09D891374F40F5008498CC14513052E +:10A8A0003920EFA07D881374F40F5008498CC145FE +:10A8B00013054920EFA05D871374F40F5008498CED +:10A8C000914513055920EFA03D861374F40F498C70 +:10A8D0001D651018930500032695EFA0FD841374E1 +:10A8E000F40F498C1795F91F034585611374F40F14 +:10A8F000EFA04DFE25B7011122CC26CA4EC606CECA +:10A900004AC80144EF906EF49799F91F9389197C16 +:10A910009794F91F9384047C83C709006369F4004A +:10A92000F2406244D2444249B24905618280884083 +:10A930001319440019469305F00F4A959760F91FC3 +:10A94000E780E0BA11E58C40CA95E835EF902EF02B +:10A9500005041374F40FC9B7397122DC26DA4ED618 +:10A9600052D406DE4AD80144EF908EF19799F91F30 +:10A970009389D9759794F91F9384C475194A83C72D +:10A980000900636AF400F2506254D2544259B25939 +:10A99000225A216182808840131944001946930588 +:10A9A000F00F4A959760F91FE78060B41DE5330505 +:10A9B00044030A86C1451305352033450508EFA039 +:10A9C0008DD01008C1450945EFA0EDCF8C4014088B +:10A9D0000A86CA95E835EF906EEA05041374F40F01 +:10A9E00079BF011106CEEFF09FD405478947636315 +:10A9F000A700A9471306F100854513052004DC874D +:10AA0000EFF02DEEF24005618280011122CC26CAC2 +:10AA10004EC652C406CE4AC801449799F91F93897D +:10AA2000F96A9794F91F9384E46A194A83C7090065 +:10AA3000636BF402EFF0BFCF9797F91F83C74769A5 +:10AA400099C3EFF05FEB9797F91F83C7576899C3D6 +:10AA5000EFF09FF06244F240D2444249B249224AA8 +:10AA600005616FF01FF8330544039040131944004B +:10AA7000C1454A961305052033450508EFA0ADC42E +:10AA800005C9884019469305F00F4A959760F91F4C +:10AA9000E780C092884019469305F00F4A95190542 +:10AAA0009760F91FE78080919C40CA972396070022 +:10AAB00005041374F40F9DBF2A219795F91F83C5D0 +:10AAC00065636F10CEEF9947B385F502397122DCCB +:10AAD00026DA4AD84ED606DEA1472A84B2843A89BD +:10AAE000938925206384F60093891520714681455A +:10AAF00048009760F91FE780608C5000F1454E8553 +:10AB0000EFA06DBC05E18347E1012547E51793F709 +:10AB1000F70F6369F700CA86500093F51400228589 +:10AB2000EFC02D96F2506254D2544259B25921616D +:10AB30008280797122D426D24AD0AE842A89328486 +:10AB40008145130600020A8506D69760F91FE78043 +:10AB5000E0869797F91F83C7C73A23102101230E78 +:10AB6000F100B48459C49797F91F83C79758179772 +:10AB7000F91F0347E7575C829797F91F83C7675709 +:10AB8000DC8213564748937777002206D18F1356FD +:10AB900057482606D18F135767482A07D98F93F64F +:10ABA000868FD58F414697A5F91F9385A5B91305C3 +:10ABB0006100FC849750F91FE780C0799797F91FCF +:10ABC00083C7175313F7170011C789C4B8841367D5 +:10ABD0002700F88403476101A2850A85D98F230BDA +:10ABE000F100EFB01DFCB25022549254025945615D +:10ABF00082809797F91F83C7574F1797F91F03470D +:10AC0000A74E5C829797F91F83C7174EDC821356B5 +:10AC10004748937777002206D18F13565748260668 +:10AC2000D18F135767482A07D98F93F6868FD58F10 +:10AC3000414697A5F91F9385E5AF13056100FC8494 +:10AC40009750F91FE78000719797F91F83C7E7496D +:10AC500095BF011122CC06CE2A842EC632C497801D +:10AC6000F91FE78040F105C95825A1472246B245A2 +:10AC7000631EF7009797F91F83A7074689CFDC4328 +:10AC800099CB22856244F240056182879797F91F2C +:10AC900083A7C744E5B7F240624405618280011191 +:10ACA00022CC26CA4AC84EC606CEAA8401441799A9 +:10ACB000F91F1309B9419799F91F9389A94183474E +:10ACC0000900636BF4003E84F24022856244D24462 +:10ACD0004249B2490561828083A7090013154400E7 +:10ACE0001946A6853E959750F91FE780207869FDA3 +:10ACF00005041374F40FE1B75D71A2C41794F91F32 +:10AD00001304843C1C40CAC04EDE86C6A6C252DC78 +:10AD100056DA5AD82A89AE89B5E36302051C6380E6 +:10AD2000051CEFF0DFF7979AF91F938A3A3A83C729 +:10AD30000A00179AF91F130A6A392300AA00636FE1 +:10AD4000F5028144179BF91F130BCB380DA0832705 +:10AD50000B001395440019469305F00F3E9597504C +:10AD6000F91FE780C07809E9850493F4F40F83C7DD +:10AD70000A00E3EEF4FCBE8423009A009794F91FC6 +:10AD80009384C4349C201797F91F0347373463F822 +:10AD9000E71418403DEF1947B387E7024A86C145DB +:10ADA0009387072033C50708EFA00DB813060003EB +:10ADB0009305F00F0A859750F91FE78020608820DF +:10ADC0009D670A863E959305000333450508EFA06D +:10ADD000ADB59C201795F91F0325C52F4146920755 +:10ADE000CA853E959750F91FE780C056232034014D +:10ADF0001795F91F0345C510EFA0CDAD0145B6402D +:10AE0000264496440649F259625AD25A425B61611D +:10AE100082801047014719CE19473385E702F14573 +:10AE20001305152033450508EFA00DB01C4005475C +:10AE300023A407001C40904B39CE88209947F14548 +:10AE40003305F5021305252033450508EFA0CDADE8 +:10AE50001C40D04B23A8070029E2D04751DA8820B4 +:10AE60001949C14533052503130545203345050818 +:10AE7000EFA08DAB88201C40914533052503D047BA +:10AE800041061305552033450508EFA0EDA91C40E8 +:10AE900023A60700B1BFD04B05C288209947C14502 +:10AEA0003305F5021305352033450508EFA0CDA77E +:10AEB0001C4023AA070055B7D04755F215FB9797BA +:10AEC000F91F83C7E72099C3EFF0FFA29797F91FF7 +:10AED00083C7F71F99C3EFF03FA8EFF09FB0054578 +:10AEE00039BF0111994722CC3304F50226CA0A86DC +:10AEF000AE84C14506CE13040420334404082285E1 +:10AF0000EF907DFC19C50145F2406244D2440561D1 +:10AF1000828019469305F00F0A859750F91FE78044 +:10AF2000005D75F138869377D70F89C49377F70F53 +:10AF300093E72700630EF7000A86C14522857C86C9 +:10AF4000EFA08D9E1795F91F034585FBEFA08D9807 +:10AF500005455DBF411122C426C206C60145014414 +:10AF60009794F91F938494169C206373F40011C581 +:10AF7000B240224492444101828022850504EFF0D0 +:10AF80003F851374F40FCDB79797F91F83C7171434 +:10AF9000637EF502011122CC06CE2E8485C5994729 +:10AFA0003305F5020A86C14513050520334505081A +:10AFB000EF907DF101E919468A8522859750F91FA6 +:10AFC000E7804039F240624405618280828099477F +:10AFD000B307F5021D71A2CCCEC63284AE890A86B3 +:10AFE000C145A6CA86CE93870720CAC8AA8433C59E +:10AFF0000708EF905DED11C90149F6406644D6445B +:10B00000B6494A8546492561828019469305F00F65 +:10B010000A859750F91FE780804D79FD9D67BE94A2 +:10B020001008930500032685EF90FDE92A8919C1D0 +:10B030000549E1B70808EFF0EFEA63980904130641 +:10B040000003814508089750F91FE780404A6DF1D9 +:10B0500013060003814508089750F91FE780003662 +:10B06000854708081797F91F230CF706EFF08FE7BD +:10B070001008930500032685EFA00D8B1795F91F87 +:10B08000034505E8EFA00D8565B71C083E8716232C +:10B090006385360311079400E31BD7FE39DC9A233E +:10B0A00011C791079800E39CE7FE81BFB823239066 +:10B0B0003701E30F87F6A0A365B73C23E38A87F641 +:10B0C00020A359FC2310070061BF011126CA4AC8FA +:10B0D0004EC606CE22CC52C49799F91F9389C90750 +:10B0E00003C5E900FD579305200412051797F91FC2 +:10B0F0002302F7009794F91F9384C4FD9797F91FD3 +:10B10000A38607FC9797F91F23A607FC9750F91F02 +:10B11000E780C0F488C01799F91F130939FB15C1DE +:10B1200083C7E90001442300F900834709006366EF +:10B13000F41283A78900638107169797F91F238369 +:10B1400007F8834709000544414681451795F91FD3 +:10B150001305455F1797F91F230AF7F69797F91F0D +:10B16000A38287DA9797F91F23A007F69797F91F0D +:10B17000A38107F89797F91F238D07F69750F91FBA +:10B18000E780C02393047007414681451795F91F56 +:10B190001305455A9797F91F238C97F49797F91F32 +:10B1A000238287D69797F91FA38407F49797F91FEF +:10B1B00023AE07F29797F91F238907F29797F91F94 +:10B1C000A38507F29797F91FA38007F29750F91FFD +:10B1D000E780C01E9797F91F238897F09797F91F6C +:10B1E00023A207F09797F91FA38C07EE95471797AF +:10B1F000F91FA308F7D0C1471797F91F2303F7D00A +:10B200009797F91F238E07EC89471797F91FA30912 +:10B21000F7CEF2409797F91F238487CE9797F91FAF +:10B22000A38F87CC9797F91F238B87CC624497977E +:10B23000F91F23A507EA9797F91F23AF07E8979708 +:10B24000F91F238707E89797F91F238207E8D2445D +:10B250004249B249224A056182808840131A44005B +:10B2600019469305F00F52959750F91FE780001586 +:10B27000884019469305F00F529519059750F91F0C +:10B28000E780C0139C4005041374F40FD2972396F3 +:10B2900007002387070051BD930700F81797F91F90 +:10B2A0002302F7E279BD1971A6DACAD8CED6D2D474 +:10B2B000D6D286DEA2DC81449799F91F938919E1E1 +:10B2C0001799F91F130909E1194A9D6A83C70900F3 +:10B2D00063E7F4021795F91F034585C2EF909DDFE0 +:10B2E00083C70900F65066541797F91F2300F7DE4D +:10B2F000D6544659B659265A965A09618280032572 +:10B30000090013944400194622959305F00F9750B5 +:10B31000F91FE780A00A0325090019469305F00FDD +:10B32000229519059750F91FE780400983270900E6 +:10B3300041469305F00FA2973384440323960700F8 +:10B340002387070048009750F91FE78020077146C0 +:10B350009305F00F48089750F91FE7802006130661 +:10B3600000039305F00F08189750F91FE7800005B8 +:10B37000334404085000C145130504203345050833 +:10B38000EF909DDA5008F145130514203345050868 +:10B39000EF909DD95008F145130524203345050849 +:10B3A000EF909DD85008C14513053420334505085A +:10B3B000EF909DD75008C14513054420334505083B +:10B3C000EF909DD65008914513055420334505084C +:10B3D000EF909DD533855401101893050003850423 +:10B3E0003345050893F4F40FEF901DD4C5B5411112 +:10B3F00022C4930705C006C6130720022E84B3C7D4 +:10B400000708636AF71217370000130767EEB3C720 +:10B41000E7209C43BA9782879797F91F83C797AE17 +:10B420001CA08147B24022443E854101828097970B +:10B43000F91F83C7F7CB93D72748DDB79797F91F35 +:10B4400083C737CBF1BF9797F91F83C787CAC9BF97 +:10B4500041469795F91F9385E52E22859750F91F50 +:10B46000E78040EF7DBF9797F91F83C777C8858B2B +:10B4700045BF9797F91F83C7A7C75DB79797F91F70 +:10B4800083A7C7C61CC071BF9797F91F83C787A73B +:10B4900041BF9797F91F83C747C571BF9797F91F9A +:10B4A00083C7B7C4B5BF9797F91F83C7F7C38DBFCD +:10B4B00041469795F91F9385E52745B79797F91F5B +:10B4C00083C7A7C26DB79797F91F83C7E7C189BF25 +:10B4D0009797F91F83A707C175B79797F91F83C778 +:10B4E00037C03DBF9797F91F83C7B7A115BF97977F +:10B4F000F91F83C707A12DB79797F91F83C747BDCA +:10B5000005B79797F91F83C797BC19BFEFF02FA214 +:10B5100008A001BF9797F91F83C7679E11B7979738 +:10B52000F91F83C7F7BC93D73748DDBD9797F91F3D +:10B5300083C7A7BBCDBF130700048947E364A7EE09 +:10B54000EFB06DFE0AA0F1BD011106CE22CC26CAD5 +:10B550004AC84EC652C4EFB0BDCE49E91797F91F8D +:10B560000347E7B685472A849794F91F938414B656 +:10B57000630EF7021799F91F1309C9B5054A9C20F4 +:10B580006374F4048327090093194400CE97FC27C1 +:10B59000639A47012285EFF0AFA383270900CE9776 +:10B5A0002387070005041374F40FD1BFEFF09F9AAF +:10B5B00098209797F91F238C07B09797F91F83A7B7 +:10B5C00067B1B907631DE400EF90FDDB6244F24010 +:10B5D000D2444249B249224A05616FF00FC30504C3 +:10B5E000238007001374F40FC107E9BFF2406244DF +:10B5F000D2444249B249224A0561828079714AD0D7 +:10B600004ECE52CC06D622D426D256CA9799F91FCE +:10B610009389D9AB894703C409002E8A3289630A0A +:10B62000F50663F1A7028D478144994A630CF5063C +:10B63000B2502285225492540259F249624AD24AA7 +:10B64000456182802E85EFF08FE583C709002A844B +:10B65000E370F5FEE30E09FC1946D2854A85975042 +:10B66000F91FE78020CFE9B703A50A0093974400AC +:10B6700019463E95D28519059750F91FE78000DFDE +:10B6800039ED850493F4F40F03C40900E3EE84FC60 +:10B6900045B78144979AF91F938ACAA3F5B78504E1 +:10B6A00093F4F40F03C40900E3F484F833855403DE +:10B6B0000A86C1451305352033450508EF90BD8046 +:10B6C00079FD41469305F00F0A859750F91FE780F1 +:10B6D00000E271F5D2850A85EFB0ADEC69F183C760 +:10B6E000090063E4F4002684A1B7E30E09FECA85CD +:10B6F0002685EFF07F89C5BF797126D206D622D480 +:10B700004AD0AA8402CC231E01009770F91FE7805B +:10B71000804629C11789F91F1309C97E034709000B +:10B7200089476309F702930565002A844831300888 +:10B73000EFF0DFEC9797F91F83C757996372F50213 +:10B740002AC6EFE05FFCB2452A860547A14626855A +:10B75000EFF06FB7B2502254925402594561828083 +:10B760008347090091E795452685EFB09DAADDB78F +:10B770000547E391E7FE4C3001462685EFF06FBBAD +:10B78000D1BF0111C16726CA06CE22CC4AC84EC617 +:10B79000FD17AE84630BF5069770F91FE780A03D97 +:10B7A0002A84514939C993056500483101465549F4 +:10B7B000EFF0DFE49797F91F83C757916376F500A1 +:10B7C000A685EFF00FF201498DC82285EFF0CFAECC +:10B7D0002DA0A6852285EFF0CFF011C10149050407 +:10B7E0001374F40F83C70900E365F4FE99C417F5D9 +:10B7F000FFFF1305A52CEF408ED2F2406244D244E5 +:10B80000B2494A8542490561828001445549979968 +:10B81000F91F9389B98BF9B70111C1674AC84EC6A0 +:10B8200006CE22CC26CA52C4FD172E89B2896302E5 +:10B83000F5069770F91FE7800034D14431C19305B4 +:10B84000650048310146D544EFF05FDB9797F91F5B +:10B8500083C7D7876376F5024E86CA85EFF02FF748 +:10B86000814439A84E86CA852285EFF04FF611C172 +:10B87000814405041374F40F83470A00E364F4FE63 +:10B88000F24062444249B249224A2685D2440561C7 +:10B8900082800144D544179AF91F130A3A83E9BFFD +:10B8A000411122C406C61794F91F1304A4840C2066 +:10B8B0009797F91F23A4A7826145EFB03DA2082006 +:10B8C0002244B24041016F200EB4411122C406C689 +:10B8D0001794F91F130404820C209787F91F23ADD6 +:10B8E000A77E6145EFB09D9F08202244B2404101F0 +:10B8F0006F206EB1411106C622C426C28DEDAA8505 +:10B90000AA8437450F00130505243375A602EFB04E +:10B910006DC32A8401E90144B24022852244924445 +:10B92000410182809307E00FE308F5FE85452685F7 +:10B93000EFB03D8ED5B7EFB0DD8DF1BF411106C63A +:10B9400099E9B287B6852A863E85EF508E9CB24033 +:10B95000014541018280EFB0DD8BD5BF1787F91F0C +:10B960001307575A1C239785F91F83C5757893E7EA +:10B9700007F81CA36FB0ADFE5971A2D432845000F9 +:10B98000CAD0D2CC86D6A6D2CECE2A89368A02C2D8 +:10B9900023140100EFF09FC69787F91F83C7177321 +:10B9A000637CF50EAA84EFE01FD69147AA89631C39 +:10B9B000FA0C1787F91F0347F75479171337170045 +:10B9C00091461949338924034E86A6852285EFF0D6 +:10B9D0008F8F5146814568009750F91FE780009E80 +:10B9E000700033490908C14513054920334505084E +:10B9F000EF906DCD05E941469305F00F6800975033 +:10BA0000F91FE780C0AE19ED700891451309592060 +:10BA100033450908EF902DCB700093F5190022856E +:10BA2000EFB08DF89D67BE9410109305000333C5E9 +:10BA30000408EF904DC919ED0810EFE0BFCA0410DB +:10BA40008E2089C5B0202285EF005EE791049C0816 +:10BA5000E398F4FE93F92900638909009785F91F9B +:10BA600083C545692285EF008EF59147631AFA0474 +:10BA70001787F91F0347174989476313F70422857E +:10BA8000EFF0DFED35A81787F91F0347A7477917B0 +:10BA900013371700D28635B7A147E318FAFC17878A +:10BAA000F91F034727468947631CF7000146CA85EB +:10BAB0002285EFF00F88014681452285EFF06F99CE +:10BAC000B650265496540659F649664A01456561B2 +:10BAD00082809787F91F23A1A75E8280411122C42B +:10BAE0002A8406C6EFF06FDE9787F91F23848760EC +:10BAF0002244B24041016FE05FF11D7186CEA2CCBD +:10BB0000A6CACAC8CEC6D2C4D6C2EF806ED797879F +:10BB1000F91F83C7D73E99CF0144178AF91F130A2B +:10BB2000FA5A1789F91F1309E95A994A83470A00F3 +:10BB3000636BF400F6406644D6444649B649264A4B +:10BB4000964A25618280032509009319440019460D +:10BB50009305F00F4E959750F91FE780409929E91A +:10BB6000B30454035010F145B3C4040813851420E2 +:10BB700033450508EF902DB505ED0347F103930715 +:10BB8000F00F6317F7025000C14513853420334589 +:10BB90000508EF904DB35008C1450945EF90ADB28F +:10BBA0008325090054085000CE95E835EF800ECD6E +:10BBB00005041374F40F9DBF5D71A6C2CAC093073C +:10BBC00005C086C6A2C44EDE52DC56DA5AD8130728 +:10BBD00020022A89B284B3C70708636CF758172775 +:10BBE00000001307A779B3C7E7209C43BA97828761 +:10BBF000854761446397F5021C2209476363F70296 +:10BC00001787F91FA300F730014421A88547614435 +:10BC10006399F50014221787F91F1307774D63F80E +:10BC2000D50EB6402285264496440649F259625AFA +:10BC3000D25A425B6161828085476144E393F5FE9D +:10BC40001C221147E36FF7FC1787F91FA303F74A7C +:10BC500065BF85476144E396F5FC1C22E3E3F5FCF0 +:10BC60001787F91F2307F74845B7C1476144E39A8F +:10BC7000F5FA4146A6851795F91F1305A5AC97401F +:10BC8000F91FE780206D49B785476144E39BF5F8CC +:10BC900014221787F91F1307B745E3E4D5F81C23CF +:10BCA0006383062493E71700BDA085476144E39AA8 +:10BCB000F5F61C221787F91F230CF742B1B79147FD +:10BCC0006144E390F5F61842B7470F009387F723D6 +:10BCD000E3E9E7F49787F91F23AAE74035B78547DB +:10BCE0006144E390F5F41C220947E36CF7F21787EF +:10BCF000F91F2309F72009BF85476144E393F5F253 +:10BD00001422E3E0D5F21787F91F1307073E1C231F +:10BD100089C693E747001CA3C5BDED9BEDBF8547D2 +:10BD20006144E390F5F01C221147E36CF7EE1787AE +:10BD3000F91FA30CF73AC9BD85476144E393F5EEBB +:10BD40001C22E3E0F5EE1787F91FA30FF7386DBD4E +:10BD5000C1476144E397F5EC4146A6851795F91F65 +:10BD60001305459D29BF85476144E39CF5EA1422EC +:10BD7000E3E9D5EA1787F91F130727370DB785477A +:10BD80006144E390F5EA1C221787F91F230EF7346C +:10BD9000A5BD91476144E396F5E81842B7470F0007 +:10BDA0009387F723E3EFE7E69787F91F23ACE732A2 +:10BDB000A1BD6144E39705E6EFB08DC801E9EFF05E +:10BDC0006F99EF904DDCEFE05FC43DBD854717876D +:10BDD000F91F230EF72E0DBD9D476144E393F5E453 +:10BDE00093851400194668009740F91FE780805634 +:10BDF000882050086C00EFF07F809787F91F83C779 +:10BE0000F72CAA840944E37EF5E04808EF30DED041 +:10BE10002A8409E92685EFE0BF9BEF90CDD6EFE0BD +:10BE2000DFBE01B59787F91F83A7C72A9204A6979B +:10BE30000547F8A75944F5B39D476398F50A194695 +:10BE40009385140068009740F91FE780A050882070 +:10BE500001466C00EFF08FFA9787F91F83C7172709 +:10BE60006379F5049947B304F5025008F1459384CA +:10BE70001420B3C404082685EF90ED842A8405E9D4 +:10BE80001307A0419307F00F6313E900854750089B +:10BE9000F1452685A307F102EF900DA91785F91F3B +:10BEA00003450506EF900DA3EFF03FC59DBB094488 +:10BEB000E5BF9787F91F83C7E7200944E38307D6C7 +:10BEC0001787F91F1307F71F9306A0411C23631C54 +:10BED000D90093E717001CA31D46A6851785F91FF7 +:10BEE0001305C51D69BBF99B3DB585476144E39AC0 +:10BEF000F5D21787F91F1307D71C9306A0411C23FF +:10BF00006315D50093E7270039B5F59B29B59787C9 +:10BF1000F91FA38607FEEFF05FBEFDB185471787C7 +:10BF2000F91FA30EF7FC01441789F91F1309191A09 +:10BF30009949130AF00FFD5A178BF91F130B4BFC8D +:10BF400083470900E379F4FCB30434035008F14556 +:10BF500093841420B3C404082685EF80DDF605E140 +:10BF60008347F102638D47015008F1452685A307F9 +:10BF70005103EF906D9B03450B00EF90AD950504C9 +:10BF80001374F40F75BF85476144E39CF5C81C2208 +:10BF9000E3E9F5C81787F91FA304F714B5B185477E +:10BFA0006144E390F5C81C222547E36CF7C6178768 +:10BFB000F91FA308F7F489B985476144E393F5C6EF +:10BFC0001822A546930797FF93F7F70FE3EBF6C404 +:10BFD0009787F91F2387E7F205B985476144E39204 +:10BFE000F5C41787F91F1307A70E1C2214231CA3DF +:10BFF000E39C06C0E39AB7C0F9B385476144E39276 +:10C00000F5C21784F91F1304940C1C2218201CA0DD +:10C0100009E76394B700EFE05F9F0820EF808E860A +:10C02000E5B685476144E39EF5BE1C220D47E36AF1 +:10C03000F7BE1787F91FA305F7ECF9B685476144EA +:10C04000E391F5BE1C221787F91F230BF7EA6DBE9B +:10C050000545EF902D884DBE85476144E393F5BCBF +:10C060001C221787F91F230CF7E879BE93074002BB +:10C070006144E398F5BA8830014693852400EFF0D7 +:10C08000EFD79787F91F83C777046364F5000944E6 +:10C0900049BE99473305F5029820A1473349050861 +:10C0A0006311F704130929205008F14533490908A1 +:10C0B0004A85EF805DE12A8405E99385840048087C +:10C0C0006D469740F91FE780E0285008F1454A8502 +:10C0D000EF908D851785F91F034585E2EF809DFF61 +:10C0E00089B613091920C9B7054425BE1787F91F5A +:10C0F00003578707930740046D44E3F4E7B285478D +:10C100006144E390F5B21C22E3EDF5B085C3978757 +:10C11000F91F83A767FA5544E38507B01787F91F0E +:10C12000130717FD1C2393E78700F5B61787F91F40 +:10C13000130717FC1C23DD9BF9BE1787F91F035754 +:10C14000A702930740046D44E3FDE7AC85476144D3 +:10C15000E399F5AC1C22E3E6F5ACE9DB9787F91F20 +:10C1600083A787F555441787F91F130707F8DDFBE9 +:10C170004DBC93070004E3EC27F18947E399F5F000 +:10C1800026448E20B6409644F259625AD25A425BF7 +:10C190004A85064961616FB06D94797106D622D4E3 +:10C1A00026D23C215147E91793F7F70F6369F7044B +:10C1B0001727000013074725B3C7E7209C432A84AD +:10C1C000BA978287262550255435268532C636C42F +:10C1D0009770F91FE780209AAA8715C1D827A14731 +:10C1E000A2463246130534006312F7049787F91FFD +:10C1F00083A787EEA68599CB9C4389CB82978544FC +:10C20000B250225426859254456182801785F91FC9 +:10C21000032545EDEFA01DB37DD19307E00FE300AB +:10C22000F5FE85452685EFA0DDFED1BF9787F91F76 +:10C2300083A7C7EAA68599C39C43E9F31785F91F2D +:10C240000325C5EAC1BF2E252E852EC49770F91F80 +:10C25000E7806092AA8745D5D827A147A245130554 +:10C2600034001306C4009306C401631BF7009787CC +:10C27000F91F83A767E6C1D79C47D1D3829741B7FF +:10C280009787F91F83A787E5FDB7103169E67C2101 +:10C29000858BE9C39787F91F83A707E3C5EF81451E +:10C2A000414608089740F91FE78040114C48B5C93E +:10C2B000FC291946C105A30FF10008089740F91F92 +:10C2C000E7804009B8867C2093D72748D98FFC8621 +:10C2D000EFE0EFC59787F91F83C757DF6391A70288 +:10C2E0009787F91F83C7A7C199C3EFE0DFFB978743 +:10C2F000F91F83A767E981C7854521458297EFE04C +:10C300000FC3A2850808EFE03F9FAA840DE9894585 +:10C310001785F91F034505DE9760F91FE780E06E7A +:10C32000C5B54A209770F91FE780E084E30905EC62 +:10C330005C31194693056500A30FF100BDBF1030B5 +:10C340004A208545EFE0FF9055468D454A20EFE0B5 +:10C350005F9075B501468545D5BF183099474A218C +:10C36000631AF7029770F91FE780E080AA841DC165 +:10C370009787F91F83C7D7B809476386E7020D4738 +:10C38000638DE70005476397E7004C314A2001467B +:10C39000EFE02FFA1030894555BF0146814513055E +:10C3A0000041EFF07F814E2088201546EFA09DE9E7 +:10C3B000D5B79305450028310146EFF02FA49787A4 +:10C3C000F91F83C7B7D0E37CF5E299473305F5023F +:10C3D0001306C40091451305552033450508EF8029 +:10C3E000BDD41785F91F0345A5B1EF80BDCE01BDB2 +:10C3F0009787F91F83C7D7CE4A2191C79785F91F21 +:10C4000083C535B00DB59787F91F83C7B7AF99E3DB +:10C41000954511BD9760F91FE780E075AA84E30098 +:10C4200005DE3C244831858B95C7854763F4A70218 +:10C430005E2493F7072099EF100893856400EFF0CE +:10C44000EF9B9787F91F83C777C86395A7004A209A +:10C450008D45D1BBCC304A2013068400EFE06FED50 +:10C4600001468145E5B54A21EFF00FA949BB4A21B4 +:10C47000EFF08F8D1787F91F1307D7A81C2393F7A9 +:10C48000F7071CA3ADBB797126D206D622D44AD0B9 +:10C490004ECE52CCAE849397556063D3070A17856E +:10C4A000F91F034525C59740F91FE780E0E02A847E +:10C4B00031C11C211307100B6389E7041307000D1A +:10C4C0006384E7021307000B6393E7025821F947DF +:10C4D0006316F7002A218145EFF0AFAA4C2013051F +:10C4E0008400EFE07DE821A0EFF03FCB01C522857D +:10C4F000EF701DD21394F468B250228522549254E6 +:10C500000259F249624A456182805C21EDF31225AD +:10C510006E212A219787F91F238407BCEFF0CFAF44 +:10C520009787F91F83C7C7BBF9D31785F91F034541 +:10C53000259D9787F91F238507BAEF80BDB945BFB1 +:10C5400093F7250085C781450145EFE0EFFA97870E +:10C55000F91F938727BA894511C18545882313C4DC +:10C5600024009760F91FE780404A79B793F71500D8 +:10C57000E9CB1789F91F130929B583270900178407 +:10C58000F91F130424B303DA47001C4085E3C16597 +:10C590001787F91F1307E7B189461786F91F130696 +:10C5A000A699FD150545EF00AED608C00C4093C412 +:10C5B000140095E98327090001468545CA2333C441 +:10C5C0000408EFE00FE98327090001468D45CA23DF +:10C5D000EFE02FE81785F91F03458592EF809DAFA7 +:10C5E000EFE0EF9A11BF9789F91F938989AC03D6C1 +:10C5F00009009308F00F094881471307E100740010 +:10C600005285EF00BEA301E9308611C61C40528559 +:10C61000AE27EFF06FA0084003D60900C165814640 +:10C62000FD15EF007E9608C033C4040841D585454A +:10C630001785F91F034505AC9760F91FE780E03CBB +:10C6400065BD13F44500E30904EA13C445006DB564 +:10C650009397556063D8070641111785F91F034565 +:10C66000E5AC22C426C206C6AE849740F91FE78017 +:10C67000A0C42A8429C118219307000D631AF70268 +:10C680003C2191EF1C3181EF930535001946178548 +:10C69000F91F130525A89740F91FE780A0CB9787BE +:10C6A000F91F83A767A589C79C4399C322858297F1 +:10C6B0002285EF70FDB5B24022441395F468924490 +:10C6C000410182800145828009C59787F91F23A512 +:10C6D000A7A28147014781461786F91F0346A6A2F4 +:10C6E00089451785F91F034565A46FE08D86011103 +:10C6F000C8869787F91F83C767A3680006CE5C8644 +:10C700004C87D087EFC04D98F24005618280178535 +:10C71000F91F0345A5A16FC06D93411126C206C63E +:10C7200022C49784F91F938464A080209307F00F9C +:10C730006308F4006145B240224492444101828082 +:10C7400017050000130505F1EF806DAF88A0E30326 +:10C7500085FE9787F91F23A1079A89471787F91F35 +:10C76000A302F79CEFA04DE30145F1B73421F14757 +:10C7700063E5D72C17270000130747CEB3C7E62081 +:10C780009C43411122C4BA9706C626C22A848287D6 +:10C790001C319784F91F93842499C1EF41469785F2 +:10C7A000F91F938525FC1785F91F1305A5FD9740F3 +:10C7B000F91FE780A0CB39ED1786F91F130686FC19 +:10C7C000C1450945EF805D961786F91F130686FA65 +:10C7D000C1450D45EF805D951775F91F03454572FD +:10C7E000EF805D8F930534001785F91F130585923F +:10C7F00019469740F91FE780E0B5854785451785BD +:10C80000F91F0345A5929CC09760F91FE780E01FC0 +:10C810008840E9A841469785F91F9385A5F31785B8 +:10C82000F91F130525F59740F91FE78020C449D566 +:10C8300055BF99479CC0E9BF18313C3139E30947DE +:10C840006396E7021787F91F1307078E1C4381457C +:10C85000014593F7F7F093E707021CC3EFC07DD2C1 +:10C8600008B0B2402244924441018280054781458C +:10C8700001456395E700EFC0BDC3DDB7EFC03DB62E +:10C88000C5B70947E38FE7FC1787F91F1307C78967 +:10C890001C43C19B13E5670008C389A81C3197841A +:10C8A000F91F93846488D9E78D476395F606178747 +:10C8B000F91F130717871C239396476063DE060052 +:10C8C00093F7F70789451785F91F034525861CA3AC +:10C8D0009760F91FE78060139C40914613F7F700BB +:10C8E0006313D702C19B13E5570088C09787F91FD0 +:10C8F00083A7C780BDD79C43ADD7A2852244B24051 +:10C900009244410182878946E30DD7F4C19B13E528 +:10C910002700E1BF9787F91F238607809C40954633 +:10C9200013F707FFBD8B13653700E390D7FC136542 +:10C93000470065BF9C40C19B13E567007DB79774B6 +:10C94000F91F9384647E9C401831C19B05E393E7F3 +:10C9500047009CC032259305450028319146EFF0F1 +:10C96000AF819777F91F238F077A5DB59306100380 +:10C970006319D7001777F91F2306077A93E7370063 +:10C9800055BD93E767007DB5EFF03F811777F91F3D +:10C99000130787791C43954613F6F700C19B13E5EF +:10C9A0003700E31BD6EE13E52700FDB59774F91F9A +:10C9B000938484779C40183193F7F7F021E74D4733 +:10C9C000639EE60293E707011777F91F1307677560 +:10C9D0009CC01C239396476063DE060093F7F7071D +:10C9E00091451775F91F034565741CA39760F91FDE +:10C9F000E780A0019C4013958729CDBD93E70702EE +:10CA00009CC0CDBF93E70703E5BF1776F91F130658 +:10CA1000A6711842FD770C319387F70F7D8F9367CE +:10CA2000073081E9ED45936707206394B60093676B +:10CA300007101CC21395972955BD828018219306B3 +:10CA400010096307D7009307000D6300F704828085 +:10CA500014313947639DE602562105671307574095 +:10CA60006397E6021C451307F00783853700638050 +:10CA7000E5021777F91F0327676811CB584301CBED +:10CA80008833BC23A2075D8D02876FF03FCE828082 +:10CA9000011126CA06CE22CCAE849397556063D589 +:10CAA000070C1775F91F034565689740F91FE78064 +:10CAB000A0802A8419C99777F91F83C7B76489EFC3 +:10CAC000EFF0DFF72285EF70ADF41395F468F240D4 +:10CAD0006244D244056182801C211307000D639DCE +:10CAE000E7043C2181E7EFF07FF501A81547639E3D +:10CAF000E7005825A147E395E7FCA2851775F91FC4 +:10CB000003454560EF70EDF5C9B72147E38DE7FCBC +:10CB100099466394D7007C31F9BF1D47E392E7FA49 +:10CB20004A219760F91FE780000549DD5825A14794 +:10CB30002285E317F7F8D1B71307200AE382E7F855 +:10CB400013071009E391E7FA1831B947E31DF7F825 +:10CB50005A21856793875740E317F7F81C458833B8 +:10CB6000BC23A2075D8D75BF9167ED8F95C31776C6 +:10CB7000F91F1306A65A91451145EF80EDDA177596 +:10CB8000F91F0345E537EF80EDD41395E46881B7CD +:10CB900093F71500C9CF9777F91F83C7A758B9CF67 +:10CBA000EF30EE9D9777F91F83C7675C636BF504E1 +:10CBB0008D475C829777F91F83C707555C864C00C9 +:10CBC0009777F91F83C737541775F91F0345055623 +:10CBD000DC86EFC02DB71DC19777F91F9387C75427 +:10CBE000884341991365650088C39777F91F83A728 +:10CBF000E75089C79C4399C38145829713C51400A8 +:10CC0000F9B59777F91F83C7D7505C821946977794 +:10CC1000F91F83C707509775F91F9385254F130593 +:10CC20006100DC829730F91FE780C07261B793F72B +:10CC30002500B1C39777F91F83C7B74E858B8DCB7E +:10CC40001775F91F0345854EEFC04DDE15C1977767 +:10CC5000F91F9387674D88431375F5F088C397775D +:10CC6000F91F83A7A74989C79C4399C38145829728 +:10CC700013C52400A9BD13F54500E30A05E4977721 +:10CC8000F91F83C7074A9DCB1775F91F0345054A4E +:10CC9000EFC08DDD05C51777F91F1307E748084377 +:10CCA000FD779387F70F7D8D08C39777F91F83A7CB +:10CCB000E74489C79C4399C38145829713C54400C3 +:10CCC00039B5397122DC26DA4AD84ED652D406DE7E +:10CCD0002A8AAE893289B6843A843EC69760F91FA3 +:10CCE000E78060E929C17E25324663EB370163693D +:10CCF000F9001E29639697003E296145638D8700E0 +:10CD00002C085285231C3101231D2101E486E08774 +:10CD1000EF20FEC90145F2506254D2544259B25933 +:10CD2000225A216182805145FDB7411122C406C6B5 +:10CD30009777F91FA380A774328481C52E85EFE011 +:10CD40003FB69777F91F83A7273EB9E309C49777C2 +:10CD5000F91F23A5873A2244B2401776F91F0346EC +:10CD6000863A9775F91F83C5F53B1775F91F03457B +:10CD7000E53B9777F91F9387673A1787F91F1307E2 +:10CD8000679F9786F91F9386E69F41016FD07D9C30 +:10CD9000B24022444545410182809777F91F83C7FD +:10CDA000073D89EB614582806145B240224492444F +:10CDB00041018280411126C206C622C49774F91F20 +:10CDC0009384C43680209307F00FE31FF4FC17050B +:10CDD0000000130525CCEF709DC688A0E30685FCF6 +:10CDE0009777F91F23AC07309777F91F23AE0732E7 +:10CDF00091471777F91FA307F732EF90FDF94146E6 +:10CE000081451785F91F1305E5979730F91FE780CE +:10CE1000E05A414681451785F91F1305A5959730BE +:10CE2000F91FE780A0599777F91F23A9072E977755 +:10CE3000F91FA380072E9777F91F238C072C9D4796 +:10CE40001786F91F13060694C14509451777F91F80 +:10CE5000230CF72A9777F91FA387072AEF80AD865F +:10CE60001786F91F13060691C1450D45EF80AD8564 +:10CE700041469785F91F9385E5901785F91F13059E +:10CE8000658E9730F91FE780E04C41469785F91F82 +:10CE90009385458E1785F91F1305C58B9730F91FAC +:10CEA000E780404B1776F91F130646279145114539 +:10CEB000EF806D810145D5BD1777F91F1307475BDB +:10CEC000FD575CB37CA31777F91FA30D0724054713 +:10CED0009776F91F2388E6241777F91F2320072464 +:10CEE00019479776F91F239EE6200567130707C8A1 +:10CEF0009776F91F2396E6201777F91F2304F7206A +:10CF00008D471777F91F230007201777F91FA30B09 +:10CF1000071E1777F91FA305F7201777F91F2301BD +:10CF2000F720194681451775F91F1305251E17337C +:10CF3000F91F6700A348411122C4930705D006C614 +:10CF40005D472E84B3C707086369F7101717000001 +:10CF500013070758B3C7E7209C43BA978287977790 +:10CF6000F91F83C7371C1CA019A841469785F91FD4 +:10CF70009385458122859730F91FE780A03D814741 +:10CF8000B24022443E854101828041469775F91F97 +:10CF90009385457EC5B79777F91F83A727189CC14E +:10CFA000F9BF19469775F91F9385C516E1B79777AD +:10CFB000F91F83C7271745BF2E85EFC04DE9C1B7BD +:10CFC0002E85EFC02DEB65BF9777F91F83C77714C8 +:10CFD00059BF9777F91F83C7C71371B7194697755C +:10CFE000F91F9385A51279B79777F91F83C7C711E2 +:10CFF0009DBF9777F91F83C71711B5B79777F91FAB +:10D0000083A787128DB79777F91F83C7C70FA1BF73 +:10D010009777F91F83D7E70E1EA095B79777F91F6B +:10D0200083D7070ED5BF9777F91F83C7770F25BF23 +:10D030009777F91F83C7C70E3DB72E85EFC0EDE682 +:10D040003DBF9777F91F83C7D70D93F7F70721BF28 +:10D050009777F91F83C7E70C39B71307000489478F +:10D06000E360A7F2EF903DCC0AA011BF2A87930797 +:10D07000F7CFD9462E85B3C70708B28563E9F62AEC +:10D08000971600009386C64AB3C7D7209C43411128 +:10D0900006C6B69782874147E1476310E5044146DB +:10D0A0001775F91F1305056E9730F91FE780802A61 +:10D0B00025A04147E1476312E50241461775F91F74 +:10D0C0001305456BD5B71147E1476318E5001C42CE +:10D0D0001777F91F2324F7048147B2403E854101A9 +:10D0E00082800547E147E31AE5FE1777F91F13072A +:10D0F00067031C2214231CA385C6F9FF1777F91FA9 +:10D10000032787023D8B93074002B3D7E700858B47 +:10D11000E1D71775F91F03456501EFB09DF76DBFA6 +:10D12000C5DF9777F91F83A727006386A700BD8B0C +:10D13000F517E363F5FA85451775F91F034505FFF4 +:10D140009760F91FE780608C41BF9307C01C63ECB8 +:10D15000A71C630A061CB24041016FC04DA893078B +:10D16000C01C63E2A71C6300061CB24041016FC0F3 +:10D170002DB40547E147E312E5F61822A946E3EE90 +:10D18000E6F49777F91FA386E7F8B9B70547E147B3 +:10D19000E315E5F418228D46E3E1E6F49777F91FED +:10D1A0002389E7F615BF1947E147E318E5F2194669 +:10D1B0001775F91F130585F5C5BD0547E147E31E42 +:10D1C000E5F018229D46E3EAE6F09777F91F238DF4 +:10D1D000E7F219B70547E147E311E5F018228D465C +:10D1E000E3EDE6EE9777F91FA38FE7F0F5B5054776 +:10D1F000E147E314E5EE1C221777F91F2305F7F04A +:10D20000E1BD0947E147E31AE5EC12220567130780 +:10D21000A7C79306A6FFB3C60608E360D7EC9777C7 +:10D22000F91F2390C7EE4DBD0947E147E317E5EA33 +:10D23000122205671307A7C79306A6FFB3C6060801 +:10D24000E36DD7E89777F91F239CC7EA71B50C22E5 +:10D250001776F91F0346C6EC9777F91FA382B7EC40 +:10D260000145EF60BEE28DBD10229775F91F83C5A1 +:10D2700035EB9777F91F2385C7EADDB79307C01C05 +:10D2800063E3A70A4DC2B24041016FC08DAF0547AD +:10D29000E147E314E5E41777F91F130797E8142330 +:10D2A0001C22858A1CA313F6170091C6E31606E21A +:10D2B000EFB09DFA15B5E30106E29776F91F83A654 +:10D2C000A6E6B98A8945E39906E693E707F81CA321 +:10D2D00021B50547E147E312E5E01777F91F13078A +:10D2E00047E41C2214231CA391C6E39707DEEFB08A +:10D2F0009DF9DDB3E38207DE9776F91F83A6C6E2C8 +:10D3000093F6060FF9D2914505BD9307000463EE2D +:10D31000E70089468947E312D5DCB2400E223A8500 +:10D3200041016F90BDFBE1474DBB89477DB393073A +:10D33000000463E9E700894689476316D5000E2299 +:10D340003A85C5B789473E8582806F60DECE011180 +:10D3500022CC41462A84AA850A8506CE9730F91F39 +:10D36000E78040FF282093053400EF900D8048812E +:10D370000A85EF60DED8F2406244056182806F600A +:10D380009ED86F601ED8014881476F609ECC011106 +:10D3900006CE2AC69750F91FE780E07D01C9B24545 +:10D3A000F24008214D4605616F90DDE9F2404945A4 +:10D3B000056182806F60DECD6F60DED76F60BEC9B1 +:10D3C000411122C42A840A2106C69750F91FE7801A +:10D3D000807A19CD22852244B2409777F91F83C7FE +:10D3E00067D21777F91FA308F70841016F60BED312 +:10D3F000B24022440945410182806F609ED16F6036 +:10D40000FED16F607ED36F603ED6011122CC06CE76 +:10D410001C212A8489C71777F91FA30EF7041C3033 +:10D42000282081EF08302C206244F2409777F91FC2 +:10D43000A389A7BA05616F609ECB7C243EC0834858 +:10D44000D4000348C4003C343824162472204E20F3 +:10D45000EFB08FF961D9F2406244056182806FC0FC +:10D460002FF16FC05F8C6FC03F80411106C6EF5037 +:10D470004FB31715FEFF1305053BEF704DDCEF10A2 +:10D480004EA217A5FDFF130565F0EF704DDBEF9081 +:10D490009DEB17E5FDFF130545F2EF704DDAEFD078 +:10D4A0007DEE1745FEFF1305059AEF704DD9EF305D +:10D4B0009EAE17F5FFFF130545FDEF704DD8EFE069 +:10D4C000EFE11715FEFF1305C592EF704DD7EF0082 +:10D4D0003E8EB24041016FF04FA4411106C6EFA04D +:10D4E0001E801715FEFF13050534EF704DD5EF10A4 +:10D4F0004E9B17A5FDFF130565E9EF704DD4EF9026 +:10D500009DE417E5FDFF130545EBEF704DD3EFD01C +:10D510007DE71745FEFF13050593EF704DD2EF3001 +:10D520009EA717F5FFFF130545F6EF704DD1EFE00D +:10D53000EFDA1715FEFF1305C58BEF704DD0EF0026 +:10D540003E87B24041016FC03FDA411106C6EF602D +:10D550004FC71715FEFF1305052DEF704DCEEF10C9 +:10D560004E9417A5FDFF130565E2EF704DCDEF90CA +:10D570009DDD17E5FDFF130545E4EF704DCCEFD0C1 +:10D580007DE01745FEFF1305058CEF704DCBEF30A6 +:10D590009EA017F5FFFF130545EFEF704DCAEFE0B2 +:10D5A000EFD31715FEFF1305C584EF704DC9EF00CB +:10D5B0003E80B24041016FF04FFE411106C6EFE0E0 +:10D5C000DE9E9777F91F83C767B6FD1793F7F70FAE +:10D5D0001307D00F6372F7061715FEFF1305A52476 +:10D5E000EF70EDC5EF10EE8B17A5FDFF130505DA03 +:10D5F000EF70EDC4EF903DD517E5FDFF1305E5DBBA +:10D60000EF70EDC3EFD01DD81745FEFF1305A583BE +:10D61000EF70EDC2EF303E9817F5FFFF1305E5E61A +:10D62000EF70EDC1EFE08FCB1705FEFF1305657CB2 +:10D63000EF70EDC0EF00CEF7B24041016FC05FFE6A +:10D64000411106C6B70700201737F91F1307C72176 +:10D6500098C31757F91F1307C79FD8C31757F91F48 +:10D660001307879B98C79776FDFF938626AC97375D +:10D67000FDFF9387A7C91737F91F1307279E0FF0E0 +:10D68000F6709730F91FE780C09AB2404101173316 +:10D69000F91F6700239817B1FA1F1301A1961735D8 +:10D6A000FDFF130525C29735F91F9385A5961736FB +:10D6B000F91F1306869A63FCC5008322050023A088 +:10D6C000550011059105E3EAC5FEEFF07FF7730001 +:10D6D000203009CE93070002918F635AF000B39770 +:10D6E000F5003355C500B3D5C5005D8D82800116A8 +:10D6F00033D5C5008145828009CE93070002918F02 +:10D70000635AF000B357F500B395C5003315C50053 +:10D71000DD8D82800116B315C500014582803288F7 +:10D72000AA882E87CDEA63FFC50EC167636AF61823 +:10D73000B7070001B337F600B307F040E19BE107FC +:10D740003353F60097160000938646E49A96942287 +:10D7500013030002B697B306F340630BF30033974D +:10D76000D500B357F5003318D6005D8FB318D50038 +:10D77000135608013355C702B346080893D708016A +:10D780003377C702B385A6024207D98F63FAB70081 +:10D79000C2971307F5FF63E4070163E8B7303A85E2 +:10D7A0008D8F33D7C702B3C80808B3F7C702B38653 +:10D7B000E602C207B3E8F80063FBD800C2989307FB +:10D7C000F7FF63E50801791763E3D8003E87420558 +:10D7D000598D8145828063F5D50081450145828060 +:10D7E000C16763E5F618B7070001B3B7F600B307E2 +:10D7F000F040E19BE10733D8F6001717000013074C +:10D80000E7D842971823930800023E973388E840F0 +:10D810006392E81863EDB6263335C500134515004D +:10D820008145828045C6C167637BF62413370610A5 +:10D83000134717000E07B356E600971700009387AB +:10D84000E7D4B6979C2393060002BA97B38EF640AE +:10D85000639DF608B387C540854593560601334658 +:10D86000060833D5D70213D70801B3F7D70233031D +:10D87000C502C207D98F63FA6700C2971307F5FF85 +:10D8800063E4070163E067223A85B387674033D7D3 +:10D89000D702B3C80808B3F7D7023306C702C207D6 +:10D8A000B3E8F80063FBC800C2989307F7FF63E58D +:10D8B0000801791763E3C8003E874205598D8280CD +:10D8C0009337061093C717008E079DBD81469717A3 +:10D8D00000009387A7CBB6979C23014793060002CD +:10D8E000BA97B38EF640E387F6F63318D60133D3F2 +:10D8F000F50093560801335ED302B395D501B357B3 +:10D90000F500CD8F3346080813D70701B318D501AA +:10D910003373D302B305C603420333676700637BE7 +:10D92000B70042971305FEFF636A07176378B716BF +:10D93000791E42970D8F3355D702B3C70708337747 +:10D94000D7023303A6024207D98F63FB6700C29751 +:10D950001307F5FF63E0071563FE67127915C29799 +:10D9600093150E01B3876740C98DE5BD93B70610C7 +:10D9700093C717008E0733D8F60017170000130758 +:10D98000E7C042971823930800023E973388E84087 +:10D99000E382E8E8335EE600B3960601336EDE000C +:10D9A000B3D8E500935E0E01B3D7D803B395050154 +:10D9B0003357E5004D8F33430E0893560701331656 +:10D9C0000601B3F8D803B305F302C208B3E61601A3 +:10D9D00063FBB600F2969388F7FF63E3C60D63F12D +:10D9E000B60CF917F2968D8EB3D5D60333470708D8 +:10D9F000B3F6D603B308B302C206558F637B170193 +:10DA000072979386F5FF6369C70963771709F9155C +:10DA10007297C207C16ECD8F9386FEFFB3F5D70014 +:10DA200013D30701F18E4182338ED502330717419C +:10DA3000B306D30293580E01B385C502B695C695B9 +:10DA40003303C30263F3D500769393D605019A9608 +:10DA50006363D7026305D7003E8581458280C16636 +:10DA6000FD1633F7D5004207337EDE00331505017E +:10DA70007297E373E5FE1385F7FF81458280B70750 +:10DA800000016377F6029356060141477DB3814555 +:10DA9000054582803A85E9B5B685A5BF2A8E59BD70 +:10DAA000C68791B77915C297CDB37915C297CDB90D +:10DAB00093568601614751B3F401FA009600640061 +:10DAC0004B0032001E0014000000000000000000A7 +:10DAD0000000000000000000000000000000000046 +:10DAE0000000000000000000FB349B5F800000800D +:10DAF0000010000000000000429AFDFFC69AFDFFE2 +:10DB0000C69AFDFF969AFDFFD899FDFFD899FDFFB3 +:10DB1000D899FDFFD899FDFFD899FDFFA09AFDFF88 +:10DB2000BC9AFDFF0C9DFDFF349DFDFF9099FDFF0C +:10DB30009099FDFF3C9DFDFF9099FDFF9099FDFFA1 +:10DB40009099FDFF9099FDFF249DFDFF909DFDFFA5 +:10DB5000969DFDFF9099FDFF9099FDFFBE9DFDFFF5 +:10DB6000C69DFDFFCE9DFDFFE89DFDFF9099FDFF49 +:10DB70009099FDFF9099FDFF9099FDFF9099FDFF11 +:10DB80009099FDFF9099FDFF9099FDFF9099FDFF01 +:10DB90009099FDFF9099FDFF9099FDFF9099FDFFF1 +:10DBA0009099FDFF9099FDFF9099FDFFA69DFDFFC7 +:10DBB000AE9DFDFF009EFDFF9099FDFF9099FDFF3A +:10DBC0007E9CFDFF2EABFDFFA8AAFDFF26ABFDFF4F +:10DBD000A4AAFDFFA8AAFDFF1AABFDFFA8AAFDFF9E +:10DBE000A8AAFDFFA8AAFDFFA8AAFDFFA8AAFDFFFD +:10DBF00032ABFDFFA8AAFDFF1AABFDFF50B4FDFF3D +:10DC000046B4FDFF4CB4FDFF6CB4FDFF70B4FDFFE6 +:10DC100074B4FDFF90BEFDFF2CBFFDFF60BFFDFF94 +:10DC2000EEBFFDFFBEBEFDFFBEBEFDFFBEBEFDFFE3 +:10DC3000BEBEFDFFFEBFFDFF06C0FDFF38C0FDFFFD +:10DC400094C1FDFFC4C1FDFFB0C1FDFFCEC1FDFF0A +:10DC500014C5FDFFBCC5FDFFCEC5FDFFE0C5FDFF42 +:10DC6000FCC5FDFF10C6FDFFD8C4FDFF22C6FDFFA9 +:10DC700036C6FDFFA2C6FDFFCEC6FDFFE2C6FDFF14 +:10DC8000EEC6FDFFFAC6FDFF0AC7FDFF2AC7FDFF6E +:10DC900014C7FDFF20C7FDFFECCAFDFF06CBFDFF4B +:10DCA00080CBFDFF16CBFDFF80CBFDFF80CBFDFFC2 +:10DCB00080CBFDFF38CBFDFF80CBFDFF80CBFDFF90 +:10DCC00080CBFDFF5CCBFDFFB6CCFDFFAACCFDFFFA +:10DCD000B6CCFDFFA6CCFDFFB6CCFDFFA6CCFDFF6C +:10DCE000B6CCFDFFA6CCFDFFB6CCFDFFAECCFDFF54 +:10DCF000B6CCFDFFA6CCFDFFB6CCFDFFB6CCFDFF3C +:10DD0000A6CCFDFFA6CCFDFFA6CCFDFFB2CCFDFF4F +:10DD1000B2CCFDFFA6CCFDFFA6CCFDFFA6CCFDFF3F +:10DD2000B6CCFDFFA6CCFDFFB6CCFDFF40F5FDFF58 +:10DD300078F5FDFF94F5FDFFA2F5FDFFD001FEFF94 +:10DD40005801FEFF0202FEFF5801FEFF0E02FEFF19 +:10DD50005801FEFFC802FEFF5801FEFF6203FEFFEE +:10DD60005801FEFF6E03FEFF5801FEFF7A03FEFF1F +:10DD70005801FEFF5801FEFF5801FEFF8A03FEFF17 +:10DD80005801FEFFA003FEFF925B040012BF0400D7 +:10DD9000C45B040048CC0400325C04001ACC0400CC +:10DDA000DA5C0400ECCB0400645D0400EED60400F1 +:10DDB000AE5D0400EED60400E45D040050D604001D +:10DDC000DA5C04009CCB04007C5E0400ACCE040052 +:10DDD0000000000000000000B65E040050CF040008 +:10DDE0001A5F04008ABF04002629FEFF2629FEFFD1 +:10DDF000AC29FEFFAC29FEFF4829FEFFAC29FEFF3F +:10DE00008029FEFFAC29FEFF9429FEFFAC29FEFF0E +:10DE10009C29FEFFA429FEFFAC29FEFF5029FEFF2E +:10DE200001010201020101020101040406010401D1 +:10DE300001010101040102010100000001010201D0 +:10DE400002010102010204040601040101010101B1 +:10DE50000404020104000000DE36FEFFF236FEFF7D +:10DE60003037FEFF4E38FEFF5638FEFF9638FEFF75 +:10DE7000CE38FEFF0839FEFF3A39FEFFF037FEFFCD +:10DE80006E39FEFFE239FEFF6E45FEFF7E4BFEFF60 +:10DE90002048FEFF8048FEFF5E4BFEFF9849FEFFD4 +:10DEA000D849FEFF124AFEFF484AFEFF824AFEFFA3 +:10DEB0007E4BFEFFC44AFEFF364BFEFF0000000013 +:10DEC0000000000000000000000000877266322E93 +:10DED00034670000070B0D1113171D1F25292B2F69 +:10DEE000353B3D4347494F535961FF006097FEFF63 +:10DEF000E695FEFF6891FEFFE695FEFF6097FEFF48 +:10DF0000EE91FEFF76D5FEFF70D5FEFF12D4FEFF28 +:10DF100012D4FEFF12D4FEFF12D4FEFF12D4FEFF75 +:10DF200012D4FEFF12D4FEFF12D4FEFFBED4FEFFB9 +:10DF300012D4FEFF12D4FEFF12D4FEFF34D5FEFF32 +:10DF400034D5FEFF14D5FEFF12D4FEFF12D4FEFF1F +:10DF500012D4FEFFC4D5FEFF12D4FEFF12D4FEFF82 +:10DF600012D4FEFF12D4FEFF12D4FEFFD6D1FEFF64 +:10DF700012D4FEFF12D4FEFF12D4FEFFCAD5FEFF5C +:10DF8000EAD1FEFFEAD1FEFF28D5FEFFD4D4FEFF82 +:10DF90008ED3FEFF8ED3FEFF8ED3FEFF8ED3FEFF09 +:10DFA0000CD5FEFF8ED3FEFF28D5FEFF8ED3FEFFDD +:10DFB0008ED3FEFF2AD1FEFF36E1FEFF22E1FEFFF7 +:10DFC0001EE1FEFF1EE1FEFF1EE1FEFF1EE1FEFF61 +:10DFD00044E1FEFF1EE1FEFF4CE1FEFF1EE1FEFFFD +:10DFE0001EE1FEFF1EE1FEFF70E1FEFF1EE1FEFFEF +:10DFF0001EE1FEFF1EE1FEFF1EE1FEFF80E1FEFFCF +:10E000002CF4FEFF46F4FEFF46F4FEFF4AF4FEFF4A +:10E0100046F4FEFF80F4FEFF46F4FEFFA4F4FEFF8C +:10E0200046F4FEFF46F4FEFF46F4FEFFB8F4FEFFA2 +:10E0300046F4FEFF46F4FEFFCCF4FEFF46F4FEFF7E +:10E0400046F4FEFF46F4FEFF46F4FEFF46F4FEFFF4 +:10E05000E0F4FEFF3AD20500E6E20500E4D2050056 +:10E060003AE3050002D3050078D305009ED30500EE +:10E07000D8D3050064E20500E4E10500FCD4050006 +:10E0800020D5050086D50500CCBF05005CE1050064 +:10E0900080E005005AE605006CC0050018D60500B2 +:10E0A00062D6050006E60500A8E505008CD6050049 +:10E0B0003ED80500A0D9050018DA050064C10500A6 +:10E0C0002EE70500DADE05003ADA050070DA050011 +:10E0D00032E7050036E705003AE705003EE70500B0 +:10E0E00066E40500ACDA050076DB050042E70500D2 +:10E0F00056E6050020DC0500A2DE0500C6DC0500B2 +:10E10000D403060030FB050024FA05006A0106006E +:10E110003C01060010010600D6000600AA00060019 +:10E12000A8010600AC0106009AFC0500B00106003B +:10E130006C000600B40106004A000600B8010600A3 +:10E140000A000600FAFF0500C4FF0500BC01060036 +:10E15000A4FF0500C0010600C4010600C8010600B6 +:10E1600042FF050028FA05003CFA0500CC01060034 +:10E17000D0010600D4010600D8010600DC0106002B +:10E18000E8FE050072FE0500E0010600E40106005D +:10E19000E8010600EC0106000AFE0500A0010600E9 +:10E1A000A4010600B6FB0500CEFA05006CFA0500D6 +:10E1B00040FA05001829FFFF3429FFFFAA29FFFFB5 +:10E1C0001E29FFFFAE29FFFF1E29FFFFB229FFFF17 +:10E1D000E84BFFFF044CFFFF604BFFFF604BFFFF6E +:10E1E000604BFFFF404CFFFF404CFFFF604BFFFFC9 +:10E1F000604BFFFF604BFFFF604BFFFF4C4DFFFF8D +:10E20000604BFFFF604BFFFF604BFFFF604BFFFF6A +:10E21000604BFFFFD049FFFF604BFFFF604BFFFFEC +:10E22000604BFFFF524DFFFFE649FFFF604BFFFFD2 +:10E23000524DFFFF604BFFFF604DFFFFEE4BFFFFB6 +:10E24000F44AFFFFFA4BFFFFF44AFFFFF44AFFFFD7 +:10E25000F44AFFFF3A4CFFFFF44AFFFFF44AFFFF86 +:10E26000F44AFFFF944CFFFFF44AFFFFFA4BFFFF15 +:10E27000F44AFFFFF44AFFFF624CFFFFF44AFFFF3E +:10E28000F44AFFFFF44AFFFFB44CFFFFF44AFFFFDC +:10E29000F44AFFFF2849FFFFF44AFFFFF44AFFFF5B +:10E2A000F44AFFFFF44AFFFF104CFFFFF44AFFFF60 +:10E2B000344CFFFF43483538355F424C455F4C498D +:10E2C000425F56312E342E34000000009893FFFF39 +:10E2D000D693FFFFEA93FFFF8293FFFFF293FFFFC6 +:10E2E000FA93FFFF0094FFFF0694FFFF2CD1FFFF7E +:10E2F00042D1FFFF50D1FFFF5AD1FFFF64D1FFFF92 +:10E300007AD1FFFF86D1FFFF90D1FFFF9CD1FFFFA5 +:10E31000A6D1FFFFB0D1FFFFBAD1FFFFC4D1FFFFED +:10E32000D0D1FFFFDAD1FFFFE4D1FFFF4AD2FFFFD8 +:10E33000EED1FFFFF8D1FFFF02D2FFFF0CD2FFFFAB +:10E3400020D2FFFF4AD2FFFF4AD2FFFF4AD2FFFF8F +:10E350004AD2FFFF4AD2FFFF4AD2FFFF4AD2FFFF55 +:10E360004AD2FFFF28D2FFFF16D2FFFF4AD2FFFF9B +:10E3700032D2FFFF40D2FFFF78D8FFFF94D8FFFFD3 +:10E38000C0D8FFFFDAD8FFFFF2D8FFFF10D9FFFF98 +:10E3900032D9FFFF46D9FFFF66D9FFFF80D9FFFFC3 +:10E3A000A6D9FFFFC0D9FFFFD8D9FFFFEED9FFFFE5 +:10E3B00006DAFFFF1ADAFFFF3ADAFFFF0EDCFFFF93 +:10E3C00026DCFFFF40DCFFFF62DCFFFFFADDFFFF22 +:10E3D000AADCFFFF60DAFFFFC4DCFFFFD8DCFFFF31 +:10E3E000C0DAFFFFC0DAFFFF96DBFFFFA4DBFFFF11 +:10E3F000E0DCFFFF82DCFFFFF4DCFFFF74DDFFFFEA +:10E40000C2DDFFFF6AE0FFFFFADDFFFFFADDFFFF7D +:10E41000AEDFFFFF86DEFFFFC0DDFFFF62E0FFFF34 +:10E42000FADDFFFF56DFFFFFECDFFFFFFADDFFFF46 +:10E43000FADDFFFFFADDFFFFFADDFFFFFADDFFFF88 +:10E44000FADDFFFFFADDFFFFFADDFFFFFADDFFFF78 +:10E45000FADDFFFF42DEFFFF38E3FFFF0AE4FFFFC4 +:10E46000E0E3FFFF44E4FFFF44E4FFFFE6E4FFFFD7 +:10E4700030E5FFFF0AE4FFFF0AE4FFFF0AE4FFFFC5 +:10E480000AE4FFFF0AE4FFFF0AE4FFFF0AE4FFFFDC +:10E490000AE4FFFF0AE4FFFF0AE4FFFF0AE4FFFFCC +:10E4A0000AE4FFFF54E5FFFF54E5FFFF0AE4FFFF26 +:10E4B0000AE4FFFF0AE4FFFF0AE4FFFF0AE4FFFFAC +:10E4C0000AE4FFFFB2E5FFFFB2E5FFFF92EAFFFFBC +:10E4D0009EEAFFFFBEEAFFFFCAEAFFFFD6EAFFFFA0 +:10E4E000E2EAFFFFECEAFFFFF4EAFFFFFCEAFFFFCE +:10E4F00006EBFFFF10EBFFFF1CEBFFFF26EBFFFF20 +:10E5000030EBFFFF3AEBFFFF8EEBFFFF8EEBFFFFE1 +:10E5100044EBFFFF50EBFFFF5AEBFFFF64EBFFFF05 +:10E520006EEBFFFF76EBFFFF84EBFFFF6AEBFFFF75 +:10E5300086EBFFFF9AEBFFFFDEEDFFFFB6EBFFFF81 +:10E540001EECFFFF32ECFFFF46ECFFFF60ECFFFF2D +:10E550007AECFFFF8EECFFFFA8ECFFFFDEEDFFFF84 +:10E56000C2ECFFFFDEEDFFFFDEEDFFFFD6ECFFFFAD +:10E57000FCECFFFF22EDFFFF3CEDFFFF50EDFFFF46 +:10E5800062EDFFFFA6EDFFFF00010202030303039C +:10E590000404040404040404050505050505050533 +:10E5A0000505050505050505060606060606060613 +:10E5B00006060606060606060606060606060606FB +:10E5C00006060606060606060707070707070707E3 +:10E5D00007070707070707070707070707070707CB +:10E5E00007070707070707070707070707070707BB +:10E5F00007070707070707070707070707070707AB +:10E600000707070707070707080808080808080892 +:10E61000080808080808080808080808080808087A +:10E62000080808080808080808080808080808086A +:10E63000080808080808080808080808080808085A +:10E64000080808080808080808080808080808084A +:10E65000080808080808080808080808080808083A +:10E66000080808080808080808080808080808082A +:10E67000080808080808080808080808080808081A +:08E68000080808080808080852 +:10E688003C9D0400589E04000000000000000000AB +:10E698002AC104000000000002000000443F0020DE +:10E6A80001000000EC3E002002000000383F00207E +:10E6B80001000000F93E002002000000103F002089 +:10E6C800000000000000000002000000343F0020AD +:10E6D8000300000000000000C3812F0102020201B4 +:10E6E800020000005000A0000000E8030208020237 +:10E6F8000202000002000000483F00200100FFFF66 +:10E70800FF200101010210050101000000000000C6 +:10E71800020000004C3F0020052A0000882B000062 +:10E72800A62A0000C92A0000042A0000032A0000C3 +:10E73800022A0000012A0000002A00000229000025 +:10E74800032800000228000001280000002800001B +:08E75800011800000018000088 +:0400000340000000B9 +:00000001FF diff --git a/system/LIB/CH585BLE_ROMx.hex b/system/LIB/CH585BLE_ROMx.hex new file mode 100644 index 0000000..e967824 --- /dev/null +++ b/system/LIB/CH585BLE_ROMx.hex @@ -0,0 +1,11901 @@ +:020000024000BC +:100000006FD0626900000000001801180028012864 +:100010000228032800290129022903290429052986 +:10002000062907290829002A012A022A032A042A64 +:10003000052AA62AB4E206000A4304006804002048 +:10004000EA040020EA030020B80300205003002047 +:10005000062A0020A2430400C44404005A470400B6 +:10006000744804006242040010420400B4020020FC +:1000700054020020384D0400640800207843040036 +:100080003E4A04006C7C0600527E0600B87E0600E4 +:10009000025906003C59060084880500527D05007F +:1000A000427706006C4A04003660060032FC040009 +:1000B000C0FC04001EFD04003C5504007A550400F9 +:1000C000F053040040BE040026B90400282B002091 +:1000D00064CA0400B6CD0400C8AB04006AAB0400D7 +:1000E00036AF040014AC040048AB0400C0AB0400FD +:1000F000FEAA040096AC0400EEAC04009EAC040022 +:10010000A2AC040030AD0400F6AC040026AD04003F +:1001100008B204000CB2040092AC04009AAC0400D3 +:100120002EAD04000AB20400DCAD040068B3040084 +:1001300064DB0400D6DB040010DC040086C004008D +:100140009CC00400D6C00400E2A00400E8A20400A1 +:10015000B0A30400DC720400266D0400E0960400E5 +:10016000A26D040096920400B8BB0600EEB3060030 +:10017000F4B806006CD0060036CF06008ED3060019 +:100180004AD3060086D30600DAD40600AAA20600E7 +:100190006AD40600C8C60600EEC606000EC70600F2 +:1001A0004AD506002ACD0600C2CC0600BAD5060004 +:1001B0002EA50600C6A50600E6A5060098A5060021 +:1001C0008C600500CA4A0500624E0500064C050019 +:1001D000A4560500C03D0020DA760600DEA2060027 +:1001E000C64E0400525A0600166006000E61060054 +:1001F0001C6F0600A46F06000271060040C40400D4 +:100200008E5F05004C5705009A480500FA59050015 +:100210007A4A05002A0A00202A5B0600B4D30600A9 +:100220004ED3060082D306007ED30600DA460400D1 +:10023000BEC10400BCD306009263060058640600E9 +:10024000C06406005CB90600B8D3060002D40600FC +:10025000D47C050006D406004E2000201420002087 +:100260003CB90600D2BA06000AD406005ED40600E5 +:1002700062D40600C0D30600FAD30600FED30600FF +:1002800066D4060044600500000000000000000085 +:10029000000000000000000000000000000000005E +:1002A000000000000000000000000000000000004E +:1002B000000000000000000000000000000000003E +:1002C00097470000938707F41747000013078777C5 +:1002D0006373F700828023A007009107D5BF97477B +:1002E00000009387A7E417E706E013072765974602 +:1002F0000000938626F163F3F60082801043110715 +:0603000090C39107CDBF80 +:100308004111B7E700E022C480433707200006C642 +:10031800798C23A0E7180F10000011C199E5B7E701 +:1003280000E023A08710014579A80D05334505088D +:10033800130740037199B34705086366A702174579 +:100348000000032525EC9746000083A626EB639161 +:10035800A602174700000327A70D71D3C207DD8D3A +:10036800054502976DBF17450000032565E9E1BF04 +:100378007A2131EF5A21636CF704B306F74021481C +:1003880017460000130646056375D8028328050042 +:1003980003586600938687001D8FAA966117DAA214 +:1003A80023A016012393060014C15EA1130788FF3A +:1003B8007AA27A226EA12105B307F7407EA2B7E799 +:1003C80000E023A08710B240224441018280084106 +:1003D800BDBFB7E700E08C433707200023A0E7182C +:1003E800F98D0F10000001E523A0B7108280174394 +:1003F8000000032323E19748000083A828E09A8798 +:10040800814663FE170903A80700636DF508636B4F +:10041800A808138787006364E508F22321670507A6 +:100428006319E60017460000130636EC1822050784 +:1004380018A217450000130525FAD2237A21239321 +:1004480007003297334707087AA163856702174385 +:1004580000000323E3DA630FF30003D36600631B92 +:100468000300DE2223A0060121073E962106D2A220 +:100478007AA1B6879843630417039746000083A6BA +:1004880026D8630ED700762399EAD6235223184339 +:10049800A106B296D6A398C37E21A1077EA1B7E78D +:1004A80000E099B7BE86C287A9BFAA871747000090 +:1004B800032747D517460000032646D4B305B540A1 +:1004C8006314E6003E8529A8930687001843E3E9EC +:1004D800D7FEE3F7E7FE2E85E3E4D5FEE3F2E5FE7B +:1004E800828023AC05FE1C4199E30CC182803E87C3 +:1004F80083A787FFEDFF232CB7FE8280411126C218 +:10050800B7E400E04AC003A90400B707200006C604 +:1005180022C43379F90023A0F4180F10000009E56C +:1005280023A0241101452DA09565938505D0C98D7B +:100538002A842105B3C5050833450508D1336DD193 +:10054800FD572320050042A17CA123A024112105E9 +:10055800B240224492440249410182804111B7E7E6 +:1005680000E04AC003A9070026C23707200006C6D4 +:1005780022C4AA843379E90023A0E7180F100000E9 +:100588009747000083A747C80144014695E311C86F +:10059800A28517450000130525C7974004E0E780AA +:1005A80000F0A1652685974004E0E780C0451DA0BE +:1005B80003C7E7FF631B970215CCA2851745000008 +:1005C800130585C4974004E0E78060EDA1652685A2 +:1005D800EF20E06DB24022852244B7E700E023A077 +:1005E8002711924402494101828011E03E8683A787 +:1005F80087FF69BF3E84E5BF37E700E01C43B706C5 +:1006080020002320D718F58F0F10000019C191C1C1 +:1006180011E637E700E02320F71082802E960F704E +:10062800B650D5BF37E700E01C43B70620002320AB +:10063800D718F58F0F10000019C1014785E137E77A +:1006480000E02320F7108280B386E50003A80600A7 +:10065800B306E5007D1623A00601110775F6C5B798 +:1006680037E700E01C43B70620002320D718F58F92 +:100678000F10000001C53307C50011E637E700E099 +:100688002320F71082800505A30FB5FEE31DE5FEC4 +:10069800F5B7B7E600E09C42370620002A87F18FBD +:1006A80023A0C6180F1000000145B306A7008386D3 +:1006B800060091E637E700E02320F7108280050561 +:1006C800EDB70111B7E700E026CA84434AC83707E7 +:1006D800200006CE22CC2A892E86F98C23A0E71882 +:1006E8000F1000009305F00432C633450608093997 +:1006F8002A8401C53246CA850137F2402285624400 +:10070800B7E700E023A097104249D24405618280F0 +:1007180037E700E01C43B70620002320D718F58FE1 +:100728000F10000001C599C1014711EA37E700E041 +:100738002320F710054582800507E309E6FE330804 +:10074800E500B386E500034808009422E306D8FED6 +:1007580037E700E02320F7100145828037E700E003 +:100768001C43B70620002320D718F58F0F10000070 +:100778001307F6FFBA952A966317C50037E700E016 +:100788002320F71082809821FD150505A30FE5FEAB +:10079800E5B737E700E01C43B70620002320D71849 +:1007A800F58F0F10000001C53307C50019E637E7BC +:1007B80000E02320F7100145828014210505E39805 +:1007C800B6FEE31CE5FE37E700E02320F7100545F9 +:1007D8008280797126D297440000938464A422D43D +:1007E800804006D64AD04ECE52CC56CA5AC85EC6AB +:1007F80062C455C437C9C901814B174B0000130B9C +:10080800ABA11309F937174A0000130A6ABF974AC0 +:100818000000938A6ABC97490000938969C33E2007 +:1008280091EF5C4463990B009CC0032CC4002285A3 +:100838004D36628489A823A6FB00C5BF83270B0019 +:1008480082971C443307F5406376F50003A78900B7 +:100858001D8F2A976368E9062E200820EF2020457F +:100868005C405844A9CB0C44174600000326C6BE7A +:10087800AE97BE8663E4B70063E4C700B386C7409B +:1008880014C4A28B3A8441FC174700000327C7B55C +:10089800894763E6E7009747000023A707B4B250EB +:1008A800225492540259F249624AD24A424BB24BFC +:1008B800224C4561828063940B0098C0BDB723A683 +:1008C800EB00A5B703274A021DCB63EDA7023385CA +:1008D800A7401C2099EF03479A0183A68900611756 +:1008E800B307A7003E8563E4E70063E4D7003385D8 +:1008F800D74083A70A016374F50023A8AA00A28B36 +:10090800404451B703A78900BA97D1B7011126CA45 +:1009180006CE974400009384A4B322CC4AC84EC69E +:1009280052C49C288844DDC3B7E700E003A9070048 +:100938003707200023A0E7183379E9000F100000DB +:10094800174700000347C78C19CB23A02711F24093 +:100958006244D2444249B249224A0561828017471B +:1009680000001307A7E08357C70AB1CB9C440324B0 +:10097800870A6306F404974900009389E9A503A749 +:1009880009012285630DF702174A0000130ACA8875 +:1009980083270A008297636EA40C83270A00098CB8 +:1009A800829783A7090198443354F40AB307A40033 +:1009B8003E8563E4870063E4E7003385E740B7E7F3 +:1009C80000E023A027119C44639DA7021744000060 +:1009D800130484A018489747000083A7E783631D82 +:1009E800A70882979444374736FE130707C83697F7 +:1009F800B307A7003E8563E4E70063E4D7003385C7 +:100A0800D74017440000130464F95C5C99CB9746FF +:100A1800000083A666939C463707CDFF7D17F98FA4 +:100A28009CC611E1884485475CD09747000083A79E +:100A3800679F829715E15C5C99CF5C5089CF97607E +:100A480006E0E780A0B1975006E0E780602C974762 +:100A5800000023A707F6B53B5C5CE38A07EE17475F +:100A680000000327678E1C47B7063300D58F1CC7C5 +:100A7800F9BD9C443E9415B7829714489844B387AF +:100A8800A6003E8563E4D700E3EDE7F63385E7404B +:100A98008DBF9737000023ABA77611C58547173759 +:100AA80000002307F7768280AA8799E51747000098 +:100AB8000347079B09C7F1BF11476369B700174789 +:100AC80000001307A797B3C5E5209CC1828097371C +:100AD800000083A7A77385C3411106C6829797377D +:100AE800000083C7E77289E79737000023A00772E1 +:100AF800B240410182809737000083C7677191E750 +:100B08009737000023A4077082808280411122C495 +:100B180026C206C64AC097440000938424E883C7C7 +:100B280034021744000013046491B9C71744000045 +:100B38001304848A173900001309C96E03270900B2 +:100B48001C2014300146B3A5E7208E21A5CD11C283 +:100B58001CA00820636FD50697470000238E0786E0 +:100B68009737000083A7476BC5EFB24022449244F1 +:100B780002494101828082971C40F5FF9747000097 +:100B880083C7078E85E3DC48858B89CFD84C994786 +:100B9800631EF7009747000023AC07E0EF10B01979 +:100BA8005C4482971C44D9D3829749B7D84C9D4757 +:100BB800E31AF7FE9747000023AC07DEEF10B017E3 +:100BC8001C48C5B7850793F7F70F0546E3EDD7F639 +:100BD80041B73327E5200E2323100700973700007D +:100BE800239907629737000083A74763B347F52027 +:100BF8009C4382971C20832609001737000003575F +:100C080047613377E540B3A6D7209222518F9AA245 +:100C180099C385071CA018201C30E368F7F42DBF82 +:100C28009747000083A747831CC8653683C73402EB +:100C38008DFF83C7140299CBDC4C89EB97470000E2 +:100C4800A38E07D6975006E0E780C02B97370000A1 +:100C580083A7477D99DB1C4889DB18308326090068 +:100C6800814763C9E702D84C9147E3E0E7F097472B +:100C7800000083C7E7AD918BE39907EE9737000033 +:100C880083C70759E39307EE2244B24092440249CE +:100C98004101ADB933A6D7201222E31806EC850727 +:100CA800C9B7B7C700401387C7201443139626490E +:100CB80010C301000100938787261735000003251C +:100CC80065739C436A0514C393C7F7FF99835D8DC9 +:100CD80082809737000083A7675591C382871305E1 +:100CE800F00F82809737000023A2A754828017460E +:100CF8000000130626A3974600009386A6A4DC36B8 +:100D0800383E4C4ABA97FD8B33D7F5001CB2DCB697 +:100D1800058B0DE7943A13050002B3F7D702814615 +:100D280033D8E548630908006394D70018B2828075 +:100D3800850693F6F60F0507E314A7FE828097470A +:100D4800000083A7E7C6C1E741114AC097370000F2 +:100D580083A7874C06C622C426C28297174900007B +:100D68001309499E83278900638DA7046363F504EB +:100D78001D8D974400009384E49ABC2C13545500AD +:100D88006361F404AD37BC2C0327890093965700A0 +:100D980036971D8C2324E900E376F4FE224488303C +:100DA800B2409244024981454101173305E067008A +:100DB800C36B173700000327276AB307F7403E9530 +:100DC8004DBFB24022449244024941018280828050 +:100DD800011126CA9737000083A7074406CE22CC04 +:100DE8004AC84EC652C4829797440000938484959B +:100DF8009844AA870145630DF70463E3E706998FD2 +:100E0800174900001309099293F9F70113D4570001 +:100E18008347A901636AF402173A0000130A4A6378 +:100E2800F9350347A9018C4403268A009317570014 +:100E3800AE97198CBE8663E4B70063E4C700B38637 +:100E4800C74094C4E37EE4FC1315540033653501B0 +:100E5800F2406244D2444249B249224A0561828042 +:100E68009736000083A6465F3387E640BA9749BFA6 +:100E7800411122C417440000130444B21C4426C282 +:100E880006C6858B9744000083A4849491EBEF30C9 +:100E980040072244B2402685924441016F10507F9A +:100EA80098289747000023AF07AE8947E301F7FE6C +:100EB8000146930550020145EF10F01A8145177558 +:100EC80005E0130565F0CD36014681450545EF106F +:100ED800207F5C44858BC5DFB240224492444101A7 +:100EE80082809747000083A76792639307180111D0 +:100EF80022CC2A84094506CE26CA4AC84EC6EF30F7 +:100F0800E008973900009389294303A6090093074D +:100F1800800717390000130929417CD29737000050 +:100F28002388072E83270900973400009384C4413F +:100F3800B7053300D8572285719B13671700D8D798 +:100F480098431377F7CF98C398431377F7CF13676E +:100F5800072098C398401447CD8E14C7B7060300DE +:100F68009386862534CA5457F59A54D7984334241F +:100F7800137707F893F6F607558F98C3EF20A00864 +:100F880083A60900370500827D15DC4293E7170028 +:100F9800DCC203260900030784065C569375F70331 +:100FA800E605E98FCD8F5CD69305A0039C4063D5F9 +:100FB800E508F84FB70500074D8FF8CFB7C7898EFA +:100FC800938767ED1CC6B7575500938757555CC282 +:100FD8008347A40683444406DD8C894717470000ED +:100FE800232CF79C9747000023A0079C7C44BCDE79 +:100FF8009737000083C7C74699C7FC52FDFF97473C +:10100800000023A1079A18289D478145172500004D +:101018001305A53F6306F70017050000130585E5CE +:10102800613410386244F2404249B249A685D2443C +:10103800014505616F10C0689305200263DAE50079 +:10104800F84FB70500F9FD156D8FB7050005ADB769 +:10105800B70500F96945FD156357E500F84F6D8F31 +:10106800B705000391BFF84F6D8F13178729B1B7E4 +:101078008280973700009387676FE85305475425A8 +:101088006390E60203C747079147631AF700011107 +:1010980006CE2AC6EF10905B3245F240056191B545 +:1010A800828083278511E5CB411122C406C65825C5 +:1010B8008345E5049437D2272A841377C70F1395FD +:1010C800466063F7C50663510506882793F6F60759 +:1010D80094B70546936627006314C5009366170006 +:1010E80054A4D8430907D8C3032504114CB82E8645 +:1010F800CC430905EFF04FD0832784115438D843E7 +:101108003697D8C3DA27158FDAA789473CBC034737 +:1011180064039737000083C7C72F6369F706B24097 +:1011280022440145410182801367170058A46DBF0E +:101138009376F60F635505028827854513662700C1 +:101148006314B5001366170050A454B8A3840700AD +:1011580085473CBC832784119C43D5FBC9B71367DB +:10116800170058A454B8A384070003250411CC43DE +:101178000905EFF06FC8832784115438D843369790 +:10118800D8C3DA27158FDAA78D47E1B75C2493E730 +:1011980007015CA469B705458280411197370000B3 +:1011A80083A7C71622C406C6858B2A84CDEB782967 +:1011B8008357051D63E5E70A4165130525F59790F3 +:1011C80005E0E780608E41CD3C253EA583270412CB +:1011D800ADE32320A4122322A41285472311F4048B +:1011E800232005007C2854415EA5583418A50547DE +:1011F80018B513851702173700000327E77D1581F7 +:101208001C437D151375F50F9CC25C43DCC21C475B +:101218009CC65C47DCC61C4B9CCA5C4BDCCA1C4F9A +:101228009CCE5C4FDCCE0DC19386060213070702E5 +:10123800C1BF8327441288C3835724042322A412DE +:101248008507B3C7070859BF1737000013070752A8 +:101258001E2785071EA7B2402244410182805C24D4 +:1012680023090400054593C747005CA4EDB7142D76 +:10127800854763EED70A1C3D2A870145DDEB5C27CD +:1012880013F507013C2B99CB83466703973700007A +:1012980083C7371863ECF60001E5828059E5828040 +:1012A8008357271E0357671EBA9721A08357271E07 +:1012B80075F90145BDCF9387C7121735000003554F +:1012C800E519B3B5A70237460F00411113060624E6 +:1012D800814622C426C206C67D543385A70297C01C +:1012E80006E0E780806E9734000083C4F412AA9465 +:1012F8009737000083A7C75003A707099C433354B7 +:10130800E40AFDFB9737000083A707F1829781471E +:101318006364A400B307A440B240224433B59700E5 +:10132800134515009244410182808147A5BF0145BC +:101338008280828017370000032707003C5BFDFF8F +:1013480001000100828039C901116C0022CC06CE4F +:101358002A84EF20F00715C9FD57630DF502B2473F +:101368009735000083C5550B63EBB700034594021E +:101378006244F240B385B74005616F10F017173724 +:1013880000000327670DBA97D5B76244F24005619C +:101398006F204047F2406244056182808280797103 +:1013A80052CC173A0000130A6A3C26D283244A0911 +:1013B80006D622D44AD04ECED5C897370000938798 +:1013C800E75DD44F15476386E604DC532A8989CF45 +:1013D800975006E0E7808018975006E0E780409332 +:1013E8009737000023AE075CFD596C002685EF2077 +:1013F800207E0DE91725000013050541EFF06FE980 +:101408009737000083A747F33707100098C70547A9 +:10141800B8DB0D45B250225492540259F249624A3F +:1014280045618280637435013244AA898440D5FCC1 +:10143800FD571305F00FE38FF9FC914763F187021D +:101448009307B4FF2320F9002324FA0A99E7973772 +:10145800000083A767002320F900014565BF97377F +:10146800000083A767FFED17A297E9BF09455DB79D +:10147800797126D206D622D44AD04ECE52CC56CA3C +:101488005AC85EC68347550303447513AA843E941D +:101498001374F40F9307400263F687001304B4FD36 +:1014A8001374F40F03A9841383A9C413A38B8412A0 +:1014B80022864A85CE8597C006E0E780404C05899C +:1014C80015E503CBD412014A814A337B6403930B9D +:1014D800500252864A85CE8597C006E0E780204AAA +:1014E80005890DC563916A031374FA0F238B84125F +:1014F800B250225492540259F249624AD24A424B9B +:10150800B24B45618280850A939A4A60050AE312C4 +:101518007AFDE9BF8327850903560504797193D6B7 +:101528000701BD8EB3C60608358E93575640898B82 +:10153800135776485D8F93573640918B5D8F93573D +:101548001640A18B5D8F93171600C18B5D8F931783 +:10155800360093F707025D8F9317560093F7070439 +:101568005D8F9317760093F7F70F22D45D8F2A8447 +:101578009357D6001355B6001189898B9355860069 +:10158800C98F1355F6002582C98F218AD18F1396EA +:101598001500418AD18F1396350013760602D18F34 +:1015A8001396550013760604D18F1396750013769B +:1015B800F60FD18FA207C5455D8F3307B70226D234 +:1015C8004AD04ECE032984138329C4135AC806D699 +:1015D80052CC56CA36973347070813565740098ADC +:1015E80093577748D18F13563740118AD18F1356A6 +:1015F8001740218AD18F13161700418AD18F1316ED +:10160800370013760602D18F131657001376060497 +:10161800D18F131677001376F60FD18F1358B700B2 +:101628001356D70013784800098A13558700336684 +:1016380006011358F700258333660601218B518F65 +:1016480013161500418A518F1316350013760602BA +:10165800518F1316550013760604518F1316750013 +:101668001376F60F518F2207D98FB387B7025EC65C +:10167800B697B3C7070813D55740098913D77748D2 +:10168800498F13D537401189498F13D517402189C0 +:10169800498F139517004189498F139537001375A2 +:1016A8000502498F1395570013750504498F139543 +:1016B80077001375F50F598D13D8B70013D7D700D6 +:1016C80013784800098B13D687003367070113D8AE +:1016D800F700A58333670701A18BD98F131716006D +:1016E800418BD98F1317360013770702D98F131739 +:1016F8005600137707041E06D98F1376F60FD18F7D +:10170800A2073367F5003307B702130650024A856C +:10171800CE853697B98EB3C4060833F6C402137B58 +:10172800F60F97C006E0E7808025058905E9834A1A +:10173800D412014A930B5002B38A9A02814493DA75 +:101748000A0126864A85CE8597C006E0E7802023D1 +:1017580005890DC563914A0313FBF40F230B64132A +:10176800B250225492540259F249624AD24A424B28 +:10177800B24B45618280050A137AFA0F8504E39219 +:1017880074FDE9BF8327C50803568508797193D688 +:101798000701BD8EB3C60608358E93575640898B10 +:1017A800135776485D8F93573640918B5D8F9357CB +:1017B8001640A18B5D8F93171600C18B5D8F931711 +:1017C800360093F707025D8F9317560093F70704C7 +:1017D8005D8F9317760093F7F70F22D45D8F2A84D5 +:1017E8009357D6001355B6001189898B93558600F7 +:1017F800C98F1355F6002582C98F218AD18F139678 +:101808001500418AD18F1396350013760602D18FC1 +:101818001396550013760604D18F13967500137628 +:10182800F60FD18FA207C5455D8F3307B70226D2C1 +:101838004AD04ECE0329040A8329440A5AC806D638 +:1018480052CC56CA36973347070813565740098A69 +:1018580093577748D18F13563740118AD18F135633 +:101868001740218AD18F13161700418AD18F13167A +:10187800370013760602D18F131657001376060425 +:10188800D18F131677001376F60FD18F1358B70040 +:101898001356D70013784800098A13558700336612 +:1018A80006011358F700258333660601218B518FF3 +:1018B80013161500418A518F131635001376060248 +:1018C800518F1316550013760604518F13167500A1 +:1018D8001376F60F518F2207D98FB387B7025EC6EA +:1018E800B697B3C7070813D55740098913D7774860 +:1018F800498F13D537401189498F13D5174021894E +:10190800498F139517004189498F1395370013752F +:101918000502498F1395570013750504498F1395D0 +:1019280077001375F50F598D13D8B70013D7D70063 +:1019380013784800098B13D687003367070113D83B +:10194800F700A58333670701A18BD98F13171600FA +:10195800418BD98F1317360013770702D98F1317C6 +:101968005600137707041E06D98F1376F60FD18F0A +:10197800A2073367F5003307B702130650024A85FA +:10198800CE853697B98EB3C4060833F6C402137BE6 +:10199800F60F97C006E0E78080FE058905E9834ACF +:1019A8001408014A930B5002B38A9A02814493DACD +:1019B8000A0126864A85CE8597C006E0E78020FC86 +:1019C80005890DC563914A0313FBF40F230F6407C0 +:1019D800B250225492540259F249624AD24A424BB6 +:1019E800B24B45618280050A137AFA0F8504E392A7 +:1019F80074FDE9BF8327450903568508797193D695 +:101A08000701BD8EB3C60608358E93575640898B9D +:101A1800135776485D8F93573640918B5D8F935758 +:101A28001640A18B5D8F93171600C18B5D8F93179E +:101A3800360093F707025D8F9317560093F7070454 +:101A48005D8F9317760093F7F70F22D45D8F2A8462 +:101A58009357D6001355B6001189898B9355860084 +:101A6800C98F1355F6002582C98F218AD18F139605 +:101A78001500418AD18F1396350013760602D18F4F +:101A88001396550013760604D18F139675001376B6 +:101A9800F60FD18FA207C5455D8F3307B70226D24F +:101AA8004AD04ECE0329040B8329440B5AC806D6C4 +:101AB80052CC56CA36973347070813565740098AF7 +:101AC80093577748D18F13563740118AD18F1356C1 +:101AD8001740218AD18F13161700418AD18F131608 +:101AE800370013760602D18F1316570013760604B3 +:101AF800D18F131677001376F60FD18F1358B700CE +:101B08001356D70013784800098A1355870033669F +:101B180006011358F700258333660601218B518F80 +:101B280013161500418A518F1316350013760602D5 +:101B3800518F1316550013760604518F131675002E +:101B48001376F60F518F2207D98FB387B7025EC677 +:101B5800B697B3C7070813D55740098913D77748ED +:101B6800498F13D537401189498F13D517402189DB +:101B7800498F139517004189498F139537001375BD +:101B88000502498F1395570013750504498F13955E +:101B980077001375F50F598D13D8B70013D7D700F1 +:101BA80013784800098B13D687003367070113D8C9 +:101BB800F700A58333670701A18BD98F1317160088 +:101BC800418BD98F1317360013770702D98F131754 +:101BD8005600137707041E06D98F1376F60FD18F98 +:101BE800A2073367F5003307B702130650024A8588 +:101BF800CE853697B98EB3C4060833F6C402137B74 +:101C0800F60F97C006E0E78080D7058905E9834A83 +:101C1800F408014A930B5002B38A9A02814493DA7A +:101C28000A0126864A85CE8597C006E0E78020D53A +:101C380005890DC563914A0313FBF40F230F64074D +:101C4800B250225492540259F249624AD24A424B43 +:101C5800B24B45618280050A137AFA0F8504E39234 +:101C680074FDE9BF411126C206C622C44AC0973492 +:101C7800000083A424B56389041003A4C40AAA86B7 +:101C8800054525C43C241307700A6392E7085830B9 +:101C98001C34172900001309A97B03268900B38780 +:101CA800E7020357C900B387E70213070032938797 +:101CB8000719B3D7E70203A744093E97BA846364B8 +:101CC800F7006364C700B304C7409727000083A7E1 +:101CD800A75484C28297B387A44063F5A40003275E +:101CE8008900BA9789EB1305F00FB2402244924459 +:101CF80002494101828058309306204E3307D702AB +:101D0800E3F3E7FE930780FA3CA40145F9BF130704 +:101D1800800AE39AE7FC9727000083A7E74F82979A +:101D28002A893545EF208026AD471737000023253F +:101D3800F7C858301C341726000013066671B3879D +:101D4800E7025A261046B387E70213070032938743 +:101D58000719B3D7E70203A744093E97BA86636415 +:101D6800F7006364C700B306C740E31ED9F617D56A +:101D780005E01305A5E0EFE0DFD19727000083A772 +:101D8800A75B0947F8D785B7054585B7397156D296 +:101D9800973A0000938A8AC083A70A033707080086 +:101DA80026DA06DE22DC4AD84ED652D45AD05ECE87 +:101DB80062CC66CA6AC86EC6F98F9734000083A4DD +:101DC80064A0638A071C83A9C40A83C7990003A473 +:101DD800C90092073E942820B14705053305F5024E +:101DE8005E203E9533450508EFE04FF1AA8C630F5E +:101DF800051A130DC5002324A50134203146370BDD +:101E08000300B386C602231304000149172A000001 +:101E1800130A8A52972B0000938B0B51972D0000C1 +:101E2800938D8D52130B8B15054CEA9654C483C6BB +:101E380079009307D00783250A00B386F602C167A5 +:101E48009CC5370833008606B4D183A60B009042A0 +:101E58001376F6CF90C290421376F6CF136606201B +:101E680090C203A50D0010453366060110C503A6F0 +:101E7800090023A865059305500290C672205444B2 +:101E8800B2962324DD0014300146CA96A301DD0072 +:101E980003C504089736000023A406B0EF00B01C61 +:101EA80083260A00CC4613961549D0C60F100000A9 +:101EB80083260A003706020090C61306000823A8E6 +:101EC800CA0003A60B00104213567648631E860B01 +:101ED8001306E018F0D2CCC617360000232A06AC49 +:101EE80017360000232E06AA23A08601A925EF2075 +:101EF800400183A64A00858AD9CAEA85268597E0E3 +:101F080005E0E780C0D10DE903465D0049C27620AF +:101F18004E20B29663DDB606B428AC4803258D0082 +:101F2800918E8906B695EFE02FED23020D0003464A +:101F38005D007620B29676A003260A00310D345251 +:101F4800FDFE342005091379F90FE362D9EE9C24CC +:101F58006685A381FC001C20A3820C002383DC007F +:101F68002382FC006254F250D2544259B259225A88 +:101F7800925A025BF24B624CD24C424DB24D2161F7 +:101F8800172305E0670063DA1306E01AA1B7FD56C8 +:101F98002302DD0055B79727000083A7E739FC57D0 +:101FA80091C78547172700002304F726F25062548B +:101FB800D2544259B259225A925A025BF24B624C9D +:101FC800D24C424DB24D21618280797122D426D201 +:101FD8002E84AA84414697C506E09385A5DA0A852A +:101FE80006D6972004E0E780E03E414697C506E024 +:101FF800938545D90808972004E0E780A03D3C3048 +:1020080010088A85DC875C2026855C875C30DC8646 +:10201800974006E0E780E0890347F1011C2001456D +:10202800631EF7000347E1011C3001456318F70000 +:102038000345D1013C201D8D13351500B2502254A3 +:10204800925445618280011122CC26CA4AC84EC6E4 +:1020580006CEAA84172400000324847D13092500D2 +:10206800854905C09C303830858B6304F700405C97 +:10207800CDBF1946930544004A85EFE06FE9E318A0 +:1020880035FFF24022856244D2444249B249056193 +:102098008280411122C426C24AC006C61724000005 +:1020A8000324047993042500054901E8B2402285F8 +:1020B80022449244024941018280A6851305A40264 +:1020C8002937E30525FF405CCDB7411122C426C25C +:1020D8004AC006C61724000003248475930425000B +:1020E800054901E8B240228522449244024941014F +:1020F8008280A6851305A401C93DE30525FF405C40 +:10210800CDB7011126CA644122CC4AC84EC652C472 +:1021180006CE2A841D4993096505054A3C4463E4B3 +:10212800F4000545A1A05834DC20631927050347AE +:1021380084026304F7008440D5B7D8308347540538 +:10214800E31BF7FE19469305640513856400EFE069 +:102158002FDC8547E311F5FED82483479402E31C5E +:10216800F7FCFA243E34E318F7FC0145F2406244D8 +:10217800D2444249B249224A05618280E31DF7FAF6 +:10218800D83083475405E318F7FA1946CE851385E6 +:102198006400EFE0EFD7E31045FBC1BF411122C453 +:1021A80006C626C24AC0172400000324A4635DC8DB +:1021B8008347840B1307700A6393E7080347140ED9 +:1021C8008347A40B1729000013098928832689004F +:1021D800B387E7020357C900B387E7021307003242 +:1021E80093870719B3D7E7020327440A3E97BA84AF +:1021F8006364F7006364D700B304D74097270000EF +:1022080083A7870104C18297B387A44063F5A4001C +:1022180003278900BA9785CB0347140E9306204EEF +:102228003307D70263F1E702930780FA230CF40A15 +:102238000145B24022449244024941018280130779 +:10224800800A639EE700173506E013050581EFE075 +:102258005F849727000083A7270E0947F8D713053F +:10226800F00FC1BF0545F1B7011122CC26CA06CE31 +:102278002AC42EC6172400000324045B854419E0F1 +:1022880001450DA09C841830858B6304F700004439 +:10229800FDB719469305A10013052400EFE04FC7C9 +:1022A800E31795FEF2406244D24405618280000043 +:1022B800EFE0FF817300000000000000972200009B +:1022C800938202F50383020023800200630F030058 +:1022D800F32510342EC0970500009385A5FD739053 +:1022E8001534EF0080617300203086DCEF00E06079 +:1022F800E6508280000041114AC0172900001309E6 +:10230800A9020327090026C206C61C5F22C4972417 +:1023180000009384240193D76748C1C79307000638 +:102328001CDF1724000013046467184C9307000887 +:102338006317F7009C409C4393F707041CCC1C4090 +:1023480093F7070499CB9727000083A7E7EC8297B8 +:1023580048D81C4093F7F7FB1CC01C4093F70702B2 +:1023680099CF1C4017270000032707FDB706080070 +:1023780093F7F7FD1CC05C5414C786077CD71C482C +:1023880093F7070499EF85475CC83707020097273A +:10239800000083A767FA98C71307000C18C81854D9 +:1023A800F8D383270900985F1357474805C3985FF8 +:1023B8001367070198DF9727000083A7E7F723A291 +:1023C80007068547172700002322F75E9C40D8435D +:1023D8001357174819C7D843759BD8C3D843799B57 +:1023E800D8C3B24022449244024941018280213735 +:1023F80073002030972700009387475A3707040057 +:1024080088DB698F11CF172700000327E7F2FD56F5 +:1024180034D797260000938626FCD84E0507D8CED9 +:10242800137785000DC398479726000083A6C6EF4B +:102438001367170098C71307000898CBD856719BE5 +:1024480013671700D8D61377150011CFD8439726EE +:10245800000083A666ED13671700D8C3D856719B92 +:1024680013671700D8D6137765000DC31377450097 +:1024780059C798431367170098C39726000083A687 +:10248800A6EAD856719B13671700D8D64167698F9B +:102498000DC39726000083C6A634C18A17270000FB +:1024A8001307C72CB5C28346470793E60602230ADB +:1024B800D70637070200698F11CF984B13770708A3 +:1024C80019C3054798CB9727000083A7E7E6370786 +:1024D800020098C7B70708007D8D0DC117270000B7 +:1024E80003471730058B97270000938727281DCBB4 +:1024F80003C7570713672700A38AE7068280D847D0 +:1025080013671700D8C795BF834647070946BD8A92 +:102518006388C600834647070D46BD8AE39BC6F815 +:10252800914671B703C75707118B69DB03C7570774 +:1025380013678700D1B79726000083A6E6DF172721 +:1025480000001307A7451C43858B91E75C43858BE7 +:1025580099E3FC52EDFB9727000023AB07448280E8 +:1025680097260000938646DC2A8788421C5D93D70D +:102578005748C1EB81C51C59BD839CA115C69C4217 +:10258800945BC60693D7660163D6060093E707C037 +:10259800B3C707088316060093975760A9CABE9663 +:1025A8008947B3C6F60216A29727000083A7C7D8A3 +:1025B800BC4B083393D757488DCF29C597260000C1 +:1025C80083A6463F93F606049307950009459DCADE +:1025D800BA979C230547194593F6F7066394E602D4 +:1025E80001459397476063DF0700394582801EA243 +:1025F80065BF2A9748331375F5077D153335A00055 +:102608008280054582809727000083A767D299CBEF +:10261800944BD04B9842518F98C294439C47984210 +:10262800D98F9CC217260000130606D10548184208 +:102638009726000083A646CF972700009387073682 +:102648006314050503A806001368080823A00601FB +:1026580083C62702B3C5D52054479385A50C139884 +:102668001649232607010F100000184237060200FA +:10267800860510C71306000890CB6CD354C797275C +:1026880000002385A7CA828088421375F5F788C29F +:1026980083C62702B3E5D52054479385E50E1395E5 +:1026A800164948C70F100000184237060200860571 +:1026B80010C71306000890CB6CD354C70945C1B79F +:1026C800411122C4AA8706C626C22E8517240000F7 +:1026D800130484C6B285CDEB1C40F8537DFF370741 +:1026E800020098C79727000023AE072A9724000006 +:1026F800938404D1DC5085C7B7E700E03707200092 +:1027080023A0E728B7F700E0938707D0984B6D9B85 +:1027180098CB984B1367870398CB73005010E53517 +:102728009727000083A747C098431317772998C3B2 +:10273800D857719BD8D79727000023AB0726972730 +:10274800000023AF07241C40094798C3DC5099CBED +:1027580037F700E0832707D193E787002328F7D0CE +:1027680073005010144017270000130727231C4735 +:10277800858B91E75C47858B99E3FC52EDFBB24072 +:1027880022449244410182800D476390E7069727CF +:10279800000023A907209727000023A707209724D4 +:1027A80000009384E4C5DC5085C7B7E700E037072D +:1027B800200023A0E728B7F700E0938707D0984BBD +:1027C8006D9B98CB984B1367870398CB7300501079 +:1027D8001D3D9727000083A727B59843131777292E +:1027E80098C3D857719BD8D795B70547E39CE7F6A8 +:1027F800972600009386C6C0DC5285C7B7E700E07D +:102808003707200023A0E728B7F700E0938707D011 +:10281800984B6D9B98CB984B1367870398CB7300A5 +:1028280050101C40D04713171649D8C70F10000086 +:102838001C403707020098C71307000897250000B7 +:1028480023A6E51617270000032707AE18431357DA +:10285800774819C71307E018F8D3D0C7DC52C5BDAD +:102868001307E01AD5BF9727000083A767AC89CF65 +:10287800D44303A8870098423367070198C2D44716 +:10288800DC4B9842D98F9CC205479727000083A745 +:10289800A7A995056310E50498431367070898C32B +:1028A800984F137707C01367A71398CF13078007AC +:1028B800B8BB939735009387C70317270000130702 +:1028C800E70D1CD7972700002382A7A619C2060682 +:1028D80010D78280984309451377F7F798C3984F24 +:1028E800137707C01367271398CF1307F007B8BBF0 +:1028F800939745009387C703C9B79727000083A715 +:10290800A7A38847D847798D01C988C797270000AA +:1029180083A747A291C3828782808967172700000F +:10292800032787A1938707F47CD39726000083A603 +:10293800A6A183A7060993D7A74991C783A7060924 +:1029480093D7974999E37C53EDF78280411106C6E6 +:1029580022C426C24AC063030510AD472A8463EA2D +:10296800A70C1304F5FF1374F40F1385F5FF014644 +:102978009305F00F1375F50FFD3597240000938428 +:10298800A49C9840172900001309099A13640404A9 +:102998005C571374F407170500001305250DF59B04 +:1029A8005CD7032709001C4393F707F8C18F1CC3A2 +:1029B800B7477671938797121CC7B7575500938707 +:1029C800575517240000130424975CC31840972711 +:1029D800000023A507FC5C43F99B5CC3A5471727A8 +:1029E8000000232BF7FCEFE0CF8A14409727000064 +:1029F80023A007FC9727000023A407FA0327090050 +:102A080085479CC21C4337063300014593F7F7CF2F +:102A18001CC31C4393F7F7CF93E707201CC39840C8 +:102A28001C47D18F1CC7B707030093878715BCCAFB +:102A380005A0B1476307F5029307600263E5A700A5 +:102A48001304E5FF0DB7930770024945E30FF4F04F +:102A5800B240224492440249410182801304500248 +:102A680029B71304600211B717270000032747F39B +:102A7800058B97270000938767CF01CF17270000A2 +:102A88000327878A185F1357574801E79A270507CE +:102A98009AA703C68703EC33C8234DBD411122C44E +:102AA80006C626C24AC02E849DCD13F9150081475B +:102AB800414763040904131745003E97B14633079D +:102AC800D7029714000083A42476B317F02833C9DB +:102AD8000708BA949C40C840829723A0040023A208 +:102AE800040033448900B2402285224492440249BA +:102AF80041018280B356F448DDFE8507E39CE7FE7A +:102B0800CDB7011126CA06CE22CC4AC84EC6AE841D +:102B1800B1C593F7150001444147A1CF931745006C +:102B2800A2973147B387E702971900009389C96FC5 +:102B380003A909003E998327090081C70325490095 +:102B4800829731473307E40283A70900BA979C4765 +:102B58008DC733148028B3470408BD8CF240624403 +:102B68004249B2492685D24405618280B3D6844859 +:102B7800D5F60504E31CE4FECDB723200900232283 +:102B88000900C1BFAA87171500000325656911E16F +:102B980082803A216315B7001821E30BF7FE4845F8 +:102BA800FDB77971B7E700E022D4804352CC06D64E +:102BB80026D24AD04ECE56CA5AC85EC662C43A8A8F +:102BC80037072000798C23A0E7180F10000005E1D3 +:102BD80023A087100945B250225492540259F24951 +:102BE800624AD24A424BB24B224C456182809717C7 +:102BF800000083A76762B6892A89AE8A328B971B41 +:102C08000000938B6B62829703A70B008144B14647 +:102C1800C147338CD40233068701104241E2C165B3 +:102C2800938505F04145EFD0AFED19ED97270000EA +:102C380083A7078081C7814511458297B7E700E0E0 +:102C480023A087102D4541BF171700001307475DC4 +:102C58001C43A1E308C323000500B31790283EA135 +:102C680083A70B00232605002324650123224501A1 +:102C7800E29723A0270123A2570123A447016384D5 +:102C8800090023809900B7E700E023A087100145D9 +:102C980099B73E87DC47F5FF48C775BF8504E39AB7 +:102CA800F4F6B7E700E023A0871021452DB7B7E772 +:102CB80000E09843B706200023A0D718758F0F109F +:102CC80000009716000083C636716373D502971605 +:102CD800000083A626553325D5201621D58D0EA1B3 +:102CE8009716000023A2067023A0E71001458280F2 +:102CF80023A0E7100D4582800111B7E700E022CC40 +:102D080080433707200006CE26CA4AC8798C23A0FC +:102D1800E7180F100000BD4763E9A70431473307E0 +:102D2800E5029717000083A72750BA979C4395CFD1 +:102D38003315A0282E89B345050801452EC69935B7 +:102D4800AA8409C9B2450145972004E0E78020908C +:102D580023A42401B7E700E023A087100145F2402F +:102D68006244D244424905618280B7E700E023A06B +:102D780087100945EDB79726000083C6669A97170E +:102D8800000083A7E75201476394E600014582806B +:102D98008E23138687026394A5003E8582800507EB +:102DA8001377F70FB287CDB79727000083C75797D8 +:102DB800AA868507171500000325455001471221EB +:102DC8006307D60005071905E36BF7FE0145828006 +:102DD8002A87171500000325E54E11E182801C455E +:102DE800B227636BC70003584500B306C800635594 +:102DF800D7008146639406010841C5B703D3A700ED +:102E0800938807016316E30091C192A13E858280F1 +:102E18008506C687B3C60608F1BF9726000083C695 +:102E280026909717000083A7A74C01476394E600F4 +:102E380001458280AE231386C7036394A5003E85AF +:102E4800828005071377F70FB287CDB7411122C4E7 +:102E580006C6972700002385079817140000032447 +:102E6800244A05C06C390145B315B028B3C5050817 +:102E7800972004E0E780C0CA930710273305F502BE +:102E880002942244B2408145014541016FD0DFC11F +:102E9800411106C6383D19C734256310D704B2401E +:102EA80041016DB73C2DE5DF3825E30AF7FE3CA567 +:102EB800814517E5FFFF1305051CEFD0FFBE9717E7 +:102EC800000083C7E75999C79717000083A7C7462B +:102ED8005147F8D3B240410182803C2D89C7E3981D +:102EE800F6FC38A5F1B7C5FEEDBF41114AC0172958 +:102EF80000001309A9AA8327890022C426C206C68E +:102F08009724000093848486858BE0509DCB972777 +:102F1800000023A907A883C74407C18B85CFEF000A +:102F2800507E83C7440793F70702E5DF83C744074A +:102F3800228593F7F70C238AF406974005E0E7808B +:102F48004006EF00107C22852244B2409244024998 +:102F58004101EDBD83C75407858B91CBEF00707A93 +:102F68008D47230EF406BC5822858297D9BF83C7A4 +:102F780044071547BD8B6395E7048347B4060345AB +:102F880034060146930550025D8DEFF0DF8D014652 +:102F980081450545EFF0CFF28327C900858BD5D34E +:102FA80022859727000023A107A0974005E0E78026 +:102FB80000E741F9B240224492440249410182802B +:102FC80083C744071947BD8BE39DE7F68347B406DB +:102FD800034534060146930550025D8DEFF0BF8826 +:102FE800014681450545EFF0AFED8327C900858B84 +:102FF800A9DB22859727000023A8079A974005E0B8 +:10300800E78020BB7DB7411122C426C206C67C25B5 +:1030180078452A84BD8B1CA91CA31D476445639B66 +:10302800E7340547B8A08347F5058D466395D7185B +:103038005E2DCDE37C491147B18B638DE70831479D +:103048006398E700034715068347F5076304F70805 +:103058008547BCB019469305640313854400EFD037 +:10306800AFD9BC20990793F7F70FBCA00347040614 +:103078001377070401CFB83013670704B8B0784452 +:10308800BA975838B8B3BC208507BCA0971700007A +:1030980023880774BC2013F7F703050718B80347FC +:1030A800E4051A07D98FBCA083475403858B91E7A1 +:1030B8000347440389476317F70078441C2393E7C1 +:1030C80007041CA37C44183898B3B24022449244A5 +:1030D80041018280A147BCB08357C4069715000000 +:1030E8009385C5681716000013060625DCA08357CC +:1030F800C406034714067444A1831207BD8BD98FF5 +:10310800DCB2B4208547890693F6F60FB4A01717EA +:1031180000000347E76C631EF706183C9387E60038 +:103128008E07231AF4069387C708B387E702794501 +:1031380010420948238A0507C1650CC6938707FB17 +:10314800B3C7070893877716B3C7A70233C707081B +:10315800B387A70286073CD2BC3093E70701BCB00F +:103168007C44B6978346240693E60604B4B3B42099 +:103178007C44B697D8A3B4207C4421837D8BB69732 +:10318800834634069606558FD8B3BC208D07BCA05D +:1031980011B71042F947385205833357F7023C52AA +:1031A80068528583FD8BAA977CD28D47238AF506C2 +:1031B8003347070855B71946639DC7125E2DC1E30B +:1031C80093056503B8B013854400EFD0EFC2BC2067 +:1031D8001385A4009907BCA0BC3093E72700BCB0B6 +:1031E80083475403898B95CF0C58BC299DCB19462E +:1031F800D105EFD06FC078441C2393E707F81CA3D0 +:10320800BC20990793F7F70FBCA003470406137770 +:103218000704E30D07E6B430784493E60604B4B037 +:1032280085B58347D40391C778441C2393E707F8EF +:103238001CA319469305E403EFD00FBCD1B7A147EF +:10324800BCB08357C506DCA08357C50603461506E0 +:103258006C45A1831206BD8BD18FDCB1B020171548 +:1032680000001305A550971500009385E50C090685 +:103278001376F60FB0A09717000083C767566398B8 +:10328800E704183C9307E6008E07231AF406938791 +:10329800C708B387E70279488946230AD5069441C7 +:1032A800C1658CC6938707FBB3C707089387771652 +:1032B800B3C7070333C70708B38707038607BCD21A +:1032C800BC3093E70701BCB07C44B29761BD8C4128 +:1032D800B851F94705833357F702BC5103A845068F +:1032E8008583FD8BC297FCD1230AD506334707088F +:1032F800C1BFA147BCB08357C506DCA08357C5062C +:10330800034615066C45A1831206BD8BD18FDCB12F +:10331800B020171500001305654509061376F60F4A +:10332800B0A09717000083C7A74B9715000083A587 +:10333800A500E39FE7F8183C9307E6008E07231AD9 +:10334800F4069387C708B387E702F9460948230AB2 +:103358000507416588C5938707FBB3C707089387A7 +:103368007716B3C7D70233C70708B387D7028607CC +:10337800BCD1B9B70547639EE706B1471CB9834777 +:103388005503898BA1CB0C59BC29A9C71946D1056E +:1033980013858400EFD04FA678441C2393E707F8E1 +:1033A8001CA368441946930564030905EFD0CFA40C +:1033B80011679717000083A76748F98FE38607CE40 +:1033C8007C24B98BE39207CE78441C2393E7070249 +:1033D8001CA3D9B98347D40389C79C2093E707F86E +:1033E8009CA0684419469305E4032105EFD0CFA0BB +:1033F8004DBF522D0C559307660093F7F7031CB980 +:1034080013858400E5B7011126CA97140000938438 +:10341800E4589C4422CC06CE17140000130404354B +:10342800858B6850D9C32AC69717000023AC075666 +:10343800EF00302D03474407894732456307F700FB +:10344800034744078D47631EF7029716000083A6BB +:10345800A6EEBC520357450785831307C71263F2CC +:10346800E702BC528583B1C3914703474407E31E73 +:10347800F7FE6244F240D2440561174305E0670055 +:10348800A3DB382D3C3D09CF34256309D702638877 +:10349800F60238A56244F240D24405616FD07FA499 +:1034A80099CF382509EF3CA5F5B72AC6EF00702556 +:1034B80062443245F240D244056149BAEDF7DC4C2A +:1034C800EDF70347440789476307F70003474407B5 +:1034D8008D47E31CF7FC914703474407E31EF7FEBB +:1034E80049BF63000532011122CC06CE26CA4AC85C +:1034F8004EC652C456C2582585472A846318F72CED +:103508009717000093878749D44F1547638AE600C9 +:10351800D44F0D476386E600D84FAD476312F702D4 +:103528006C386244F240D2444249B249224A924A33 +:1035380001450561B315B028B3C505086FF02FF72D +:10354800163113070064971400009384242233472C +:10355800D7029C20E8D0850793F7F70F9CA063CA91 +:10356800E700972004E0E78020A297170000238F48 +:10357800071E78249D47631FF70483479406B1C349 +:103588008356040763ECF6020C24930730041CAC42 +:103598001305300493F6F60F0146977006E0E780AE +:1035A80080C722856244F240D2444249B249224A45 +:1035B800924A0561174305E06700037885062318DA +:1035C800D406930530020545972004E0E780A094CF +:1035D8002301A4060549238A2407183C8D47631C48 +:1035E800F70E971004E0E78000FD0D89630F0514BE +:1035F80063162517930760023CA4930750023CAC5E +:103608009307700278243CBC85476302F7088965F4 +:103618009385F57013051027171A0000130A4AE35B +:1036280083497401972004E0E78060910E30835A43 +:10363800CA002A8913060064B38555038146138599 +:103648000532B335B50097A006E0E7800038AA84B4 +:10365800B335590337460F00130606248146330550 +:10366800590397A006E0E780403683270A00AA940A +:103678008297B307950003278A00BE8563E4A700F5 +:1036880063E4E700B385E7404E85EFF0EFE6834754 +:103698005403898BE9CB8347C403F1C70C58E1C5B0 +:1036A800BC25F1C38947230AF4021946B10513055D +:1036B8006403EFC07FF40347C407894763E9E70A57 +:1036C80022856244F240D2444249B249224A924A8F +:1036D80005616FD01F8189467C346315D70213F7C3 +:1036E800170019CB898B1307500291EB93077002CF +:1036F80038A43CAC814739B713076002C5BF9307AC +:103708006002FDB799CF93F617001307500291E6B0 +:10371800898B13B717001307670238A4230D040019 +:10372800D1BF3C2C130740026368F700930750028F +:103738003CAC3C2C3CA47DBF850793F7F70F3CAC11 +:1037480013077002E364F7FEEDB7130770029307DF +:1037580050023CAC38A4930760026DB513075002C1 +:1037680093077002FDB78547230AF402A9B7032718 +:10377800C40A9716000083A626AA3C27ADC31C37A7 +:103788005833971400009384A4CC9044B387E7027D +:10379800DA24B387E7021307003293870719B3D7F0 +:1037A800E702032744093E973A896364F700636494 +:1037B800C7003309C7408296B307A9406374A900BC +:1037C8009844BA9703576407E3FCE7EEF240624473 +:1037D800D2444249B249224A924A056182808324EE +:1037E8008409829663E9A400835764073385A4405B +:1037F800E378F5ECE1BF9717000083A7E7C5BE940F +:10380800E5B7828001114EC697190000938909F621 +:1038180022CC03A4C9094AC817190000130949C3CF +:103828000357C90026CA835464088327040906CEAF +:10383800B384E40237470F009306F72313070724DE +:1038480052C456C25AC0B694B3D4E40263E0970493 +:10385800171A0000130A4A9CB384974083270A006A +:10386800829763E9A4023385A4406349050283571C +:103878000404A30F040085072310F40483470414E9 +:10388800639E07102285EFD0BFBE21AA03278900B7 +:10389800BA977DBF83278900BE94F1B783270A00B2 +:1038A8008297032784086366E50A198D7E3C0357CF +:1038B800C9008E07B387E7021307003293870719F9 +:1038C800B3D7E70263ECA708B74A0F00138BFA23B4 +:1038D800938A0A248357040485072310F404834732 +:1038E800041481E72285EFD0BFB82285975005E000 +:1038F800E780002E63170524032604090327C4085C +:10390800832689003297BA876364C7006364D70047 +:10391800B307D740783C0356C9002328F4080507A5 +:1039280078BC035764083307C7025A9733575703BD +:10393800B384E74063F5E700998EB384F6008327E4 +:103948000A00829763E6A4043385A440E34405F89B +:1039580039BF83278900998F3E9589BFA145228564 +:10396800975005E0E780E01EA305A4029717000022 +:1039780083A707AC6387071C6244F240D2444249DC +:10398800B249224A924A024B894515450561828708 +:1039980083278900A6973385A7404DBF2285EFD09E +:1039A8007FB72285975005E0E7808022631B0518C2 +:1039B8000355C90083576408B7460F001386F623DA +:1039C800B387A7029386062403270409230B04025E +:1039D800832A8900B297B3D7D702636EF716B30765 +:1039E800F7408326C4082324F408014BB387E60074 +:1039F800BE8463E4D70063E45701B38457411E30A3 +:103A080023289408A1CB835604045A3037460F0064 +:103A180056B03387E640B387E7023A3013060624E8 +:103A280081468145BA97B3C707083385A7023EB0D8 +:103A380097A006E0E78060F911CD2695B33495008C +:103A4800A695AA876314BB0063645501B307554163 +:103A58002328F40883270A008297AA8483270A0068 +:103A68008297E30D95FE83270A00832484088297B2 +:103A780063E8A40E3385A44063010510035AC90006 +:103A880083576408B7440F001387F423B3874703A9 +:103A980093840424BA97B3D79702171700000347F3 +:103AA800B797BA9763EBA70CB3359502835A2402EC +:103AB800528681463305950297A006E0E780E0F03C +:103AC8003389AA0033854A0337460F0013060624B4 +:103AD8008146814597A006E0E78020EF15C1B337FE +:103AE800950252868146B385B4023385A402BE95F9 +:103AF80097A006E0E78060EDB38AAA40231154033B +:103B08003545692123AE890838348547631EF70493 +:103B1800930700FD7CA48145171500000325058047 +:103B2800EFC09FF89547171700002327F7E83707D6 +:103B380010009717000083A7278098C7060923A8B5 +:103B48002707F2406244D2444249B249224A924A83 +:103B5800024B05618280B3065701B387F64051B521 +:103B680083278900BE9439B7930710FC7CA481454C +:103B7800170500000325057A65B79717000023A5E8 +:103B880007C8834709019DC31705000003258577EA +:103B9800EFD04F95624483274900F240D24442490E +:103BA800B249224A924A024B0561828783459402B0 +:103BB8006244F240D2444249B249224A924A024BF4 +:103BC80001450561B315B028B3C505086FF02F8E00 +:103BD800011122CC26CA4EC606CE4AC852C456C2C5 +:103BE8005AC038358547832405092A84AE89631469 +:103BF800F70C83570508835AC503171A0000130AE0 +:103C08002A85035BCA0063FE57191429639BE618CB +:103C180003278511631707180327450A6313071835 +:103C280074351D47639FE6162A3DB38AFA40930709 +:103C3800204E330555030329440937460F00130660 +:103C4800062481463305F5029707000083C7C77C21 +:103C580033592503B335AB023E9933490908231379 +:103C680024093305AB0297A006E0E78000D6B30726 +:103C7800950033B5A7002E9503278A00BE8419E165 +:103C880063E4E700B384E740B307690337470F00ED +:103C98009306F7231307072423A09900B697B3D7F1 +:103CA800E702D69763E4F4009D8C31A003278A00CD +:103CB800B307F740BE94170900001309E955832795 +:103CC800090023A09900829763E2A4103385A440D9 +:103CD800635D050A83270900170B0000130B4B7758 +:103CE800829703A709006369E50E198D7E3C035787 +:103CF800CB008E07B387E7021307003293870719B3 +:103D0800B3D7E70263EFA70C374A0F00930AFA23E9 +:103D1800130A0A248357040485072310F4048347ED +:103D2800041481E72285EFD0AFF42285975005E08F +:103D3800E78000EA61E5832604098327C40803278E +:103D48008B00B697BE8463E4D70063E4E700B384CE +:103D5800E7407C3C8356CB002328940885077CBC2D +:103D680083576408B387D702D697B3D7470363E668 +:103D7800F40A9D8C8327090023A09900829763E1A8 +:103D8800A40A3385A440E34705F89707000083C7D2 +:103D9800B76863E6A7069717000023A787A601451B +:103DA800B9A88357640837470F009306F723B387EA +:103DB800670313070724B697B3D7E702E3F6F4EED1 +:103DC80003278A002697B304F740F5B59707000044 +:103DD80083A78768BE94DDBD83278B00998F3E95A6 +:103DE80031B7A1452285975005E0E78080D6A30525 +:103DF800A4029707000083A7A76381EF7D55F240CF +:103E08006244D2444249B249224A924A024B05616D +:103E18008280894515458297D5B71D8FBA9499BF79 +:103E280083278B00BE94B1BF9707000083A7C74FB5 +:103E380098433706CEFF7D161377F7CF1367071021 +:103E480098C31707000003272750144737080300B3 +:103E58001375F51FF18E14C79706000083A6C64D8B +:103E680023A8060523A40700904B93F5F50713082C +:103E780088151366F60390CB90431366060890C323 +:103E8800F04F137606E0498EF0CF23AC070423A049 +:103E980007065057759A50D79043137606F84D8EFB +:103EA80090C31306401FF0D217160000232206B055 +:103EB80017160000232606AE054690C29043B705A4 +:103EC80033001376F6CF90C390431376F6CF13667C +:103ED800062090C310474D8E10C723A80605D85357 +:103EE8001317F728D8D32547F05201C6B04FE37D02 +:103EF800C7FED8531317F748D8D3A853133545002E +:103F0800828017070000130727431443BC4ABD9B50 +:103F1800BCCA01000100010001001C43B44B93F628 +:103F2800F68FB4CB944393E6860094C30100010056 +:103F3800010001009706000083A6063F9C4293F704 +:103F4800F7CF93E707109CC2170600000326C63F69 +:103F58001C46B706CEFFFD16F58F1CC61C43370757 +:103F68000300B8CB9707000083A7873C99CBD443BD +:103F780090479842518F98C2944BDC4B9842D98F06 +:103F88009CC29717000023A907A282809707000008 +:103F980083A7873A9C438D8BF9C74111B7E700E0A7 +:103FA8004AC003A9070026C23707200006C622C454 +:103FB800AA843379E90023A0E7180F10000017142A +:103FC80000001304A49D584C8D47631AF700970707 +:103FD800000083A727760146814545458297194702 +:103FE8006393E4048347140289CB834704026396EE +:103FF800970097170000A383079C584CA1476315A7 +:10400800F700930780101EB097070000238207204F +:10401800CD3DB2402244B7E700E023A027119244E7 +:104028000249410182809D47639BF4008347140243 +:10403800E9D7034704028D47E311F7FC5DBF544CF1 +:104048006389E600584C6306F700584CA147E31D06 +:10405800F7FA83471402CDFB5C4C2300F402854732 +:10406800A300F40255B78280411122C42A84354541 +:1040780006C6293F59CCAD4763EB87067D141374F8 +:10408800F40F9707000083A7272C984BB70600C1A9 +:10409800FD161374F403758F6204418F98CB1707CC +:1040A8000000032767285857944B71766583137768 +:1040B800F7031306F60FF18E2207558F98CBF84FAA +:1040C800B706F9FFFD1613674700F8CF984B01456F +:1040D800758F1317172998CB370702001307874FD7 +:1040E80098C7B147171700002328F78C39A8B1479C +:1040F8006304F4029307600263E48700791441B70C +:10410800930770024945E30EF4F6B2402244410198 +:10411800828013045002B5B7130460029DB70000F3 +:104128002A8309CA83830500230073007D160503CB +:1041380085056DFA82809707FC1F83A7A7E11707FB +:10414800FC1F0327A7E001456313F7008280F623CD +:1041580099E2D62336959C43C5BF1707FC1F130762 +:1041680027FF1C435A23411193860711E117BA9779 +:1041780085651706FC1F232FD6DC1706FC1F23278F +:10418800F6DC06C69D051356370063F4E5001306F2 +:1041980000203387C6009705FC1F23ABE5DA6116BC +:1041A80098C2D2A2239306001CC3998FE1175EA37D +:1041B800231307004937B2409707FC1F2399A7F636 +:1041C800410182809707FC1F83A7C7D81707FC1FE8 +:1041D8000327C7D701456313F7008280F62381E6DA +:1041E800D6233375D50A9C43FDB7184183A785FFAD +:1041F8006319B7001CC1FD5723AC05FE238FF5FEDC +:104208008280232CF6FEC5BF411122C437E400E0AA +:1042180026C204403707200006C6F98C2320E4187C +:104228000F10000009E9232094101545B2402244DC +:104238009244410182800347E5FF9307F00F63062C +:10424800F700232094101145D5B797C0FB1FE780CE +:1042580080ED014523209410D1BF41114AC037E9B0 +:1042680000E022C403240900B707200006C626C2BE +:104278007D8C2320F9180F10000089E52320891070 +:10428800154515A0AA849707FC1F83C7F7E92E8553 +:1042980063F5F400894763EE9700BD37B7E700E0A0 +:1042A80023A087100D45B24022449244024941019F +:1042B800828083A785FF99E703C7E5FF9307F00F7F +:1042C8006308F7009137B7E700E023A087104DBFD8 +:1042D800238F95FE1705FC1F130505C897C0FB1F04 +:1042E800E78060F5A165268597E0FB1FE780607190 +:1042F80001452320891045BF9707FC1F23AE07C43B +:1043080082804111B7E700E026C2844337072000C6 +:1043180006C622C4F98C23A0E7180F1000009707DF +:10432800FC1F83A7E7E41704FC1F130424BA91C7F2 +:1043380082971C40AA971CC031A09707FC1F83A72F +:10434800A7C2FDF70840B74703009387D73F330557 +:10435800F502B7A72600938737ECB2403E9508C010 +:104368002244B7E700E023A09710924441018280DD +:10437800411122C406C69707FC1F83A7A7BE1704CE +:10438800FC1F130464DA89C782975C48AA975CC843 +:104398004848B240224441018280B7E700E0984390 +:1043A800B706200023A0D718758F0F1000009706B6 +:1043B800FC1F83C676D76370D5029706FC1F83A6B9 +:1043C80066BB3325D5201621B3F5B6400EA123A030 +:1043D800E7100145828023A0E7100D45828079719E +:1043E800B7E700E026D284433707200006D622D458 +:1043F8004AD04ECE52CCF98C23A0E7180F100000FB +:10440800930705FF93F7F70F7D476363F70A314773 +:104418003307E5029707FC1F83A707B6BA979C43A3 +:10442800C1CB135445003D893315A028AE89B34547 +:10443800050822852EC697E0FB1FE780E0492A89F8 +:1044480039C9B2452285170AFC1F130A6AD5B13744 +:104458009707FC1F83A747B182978357CA002A840E +:1044680081463387370313060064B3B73703130550 +:104478000732B335E500BE95EF90E229B307850012 +:1044880083268A003E8763E4A70063E4D700338766 +:10449800D7402324E900B7E700E023A0971001459F +:1044A800B250225492540259F249624A45618280BC +:1044B800B7E700E023A097100945DDB7797122D44A +:1044C80037E400E04AD003290400B707200006D6E5 +:1044D80026D24ECE52CC56CA5AC85EC63379F90097 +:1044E8002320F4180F1000009707FC1F83C7D7C3B9 +:1044F8006378F500970BFC1F83AB0BA763970B0042 +:10450800B7E700E023A0271199A0970AFC1F938A18 +:104518002AC903AB8A00B74736FE938707C83E9B74 +:1045280083D7CA002E8AAA84B385C702B289814676 +:10453800B3B7C70213850532B335B5001306006457 +:10454800BE95EF90421D6370AB02232024110145F4 +:10455800B250225492540259F249624AD24A424B0A +:10456800B24B45618280829B83D7CA002A84130696 +:104578000064B38537038146B3B737031385053223 +:10458800B335B500BE95EF900219B307850003A7B0 +:104598008A003E8463E4A70063E4E7003384E740CD +:1045A800D285268597E0FB1FE780003301C900C547 +:1045B800B7E700E023A02711054559BF93E504F0AC +:1045C8004145B3C5050897C0FB1FE780A0A811E9BE +:1045D8009707FC1F83A7C7BA85D7A6851145829779 +:1045E80005B71707FC1F1307A7981C4389EF08C3D3 +:1045F80085472326050000C52311450104A11CB1E8 +:104608002322050075B73E87DC47F5FF48C7CDB7BD +:104618007971B7E700E026D284433707200006D631 +:1046280022D44AD04ECE52CC56CA5AC85EC662C4AC +:1046380066C2F98C23A0E7180F10000035C12A893B +:104648002E8AB28AB6894144B14C170BFC1F130B52 +:10465800AB92130C0003B30B940383270B00DE9774 +:104668009C43B9EF135544409375F400568613756F +:10467800F50FB315B028B3C50508893531C18327AF +:104688000B00DE9723A0270123A2470163840900BA +:1046980023808900B7E700E023A09710014521A0F7 +:1046A80023A097100945B250225492540259F24956 +:1046B800624AD24A424BB24B224C924C45618280AC +:1046C8000504E31A84F9B7E700E023A09710214511 +:1046D800D9BF011122CC37E400E026CA04404AC8F9 +:1046E8004EC652C406CEB70720002A892E8AB28940 +:1046F800FD8C2320F4180F100000C933D2854A8599 +:1047080097E0FB1FE780401D01ED23209410214511 +:10471800F2406244D2444249B249224A0561828049 +:104728009707FC1F83D787A8B38537032A89130601 +:1047380000648146B3B7370313850532B335B50036 +:10474800BE95EF80527D2322A900232094100145B5 +:10475800C1B7011126CAB7E400E04AC803A904009A +:1047680022CC4EC6B707200006CE52C4AA892E8492 +:104778003379F90023A0F4180F10000097E0FB1F0D +:10478800E7808015170AFC1F130A0A9A1DE1A28503 +:104798004E85213183470A006382370523A02411FF +:1047A8001945F2406244D2444249B249224A05615D +:1047B800828023110500A2854E85C53683470A00ED +:1047C8006386370123A024110145E1BF17F7FB1FBA +:1047D800130727791E23C18F1EA3EDB797F7FB1F79 +:1047E800938727789A23598C82A34DBF01114AC811 +:1047F80037E900E022CC03240900B707200006CEE1 +:1048080026CA4EC67D8C2320F9180F100000930786 +:10481800F00263E7A704B144B304950297F9FB1FBC +:104828009389897583A70900A6979C4395CB9375AF +:10483800F5001181B315B028B3C50508193F83A742 +:1048480009000145A69723A0070023A207002320FB +:104858008910F2406244D2444249B24905618280DB +:10486800B7E700E023A087100945E5B74111B7E78E +:1048780000E026C2844306C622C437072000F98C0C +:1048880023A0E7180F10000097E0FB1FE780C00483 +:1048980019E90145B2402244B7E700E023A0971088 +:1048A800924441018280004597F7FB1F83A7C76B9D +:1048B80082979707FC1F9387A78E6367A402984780 +:1048C800B74636FE938606C83305A4403697E3728A +:1048D800E5FC13070064B335E502D22781463305AA +:1048E800E502EF8052637DB798473A94C9BF4111FA +:1048F80006C697F7FB1F23A7A7660295B24097073E +:10490800FC1F23AFA7820145410182804111514616 +:1049180081451705FC1F1305658706C622C426C2F4 +:1049280097F7FB1F23A6076497F7FB1F23AC0762C3 +:1049380097F7FB1F23AA076297F7FB1F23820762DB +:1049480097F7FB1F23AC076097C0FB1FE78080A683 +:1049580013068002814517F5FB1F1305E57C97C0F8 +:10496800FB1FE78020A5EFF04FFF97F7FB1F93870A +:10497800277EE82BFC3B17F4FB1F1304E47A8545DC +:104988003E958D473305F5029307000497F4FB1F06 +:104998009384845E39051375F50F3375F50A9947C5 +:1049A80028A03305F502130505243345050897B0FB +:1049B800FB1FE780206A88C035C9302099478145A8 +:1049C8003306F6021306062497C0FB1FE780809E75 +:1049D8009C40382097F4FB1F9384445993870724FD +:1049E8009CC0B347F72017F7FB1F2325F758293238 +:1049F80025211C30944017E6FB1F1306C6E533C774 +:104A0800D72010C3138717001377F70F17E6FB1F7C +:104A1800130606DE3347D72010C3138737008907EC +:104A280018B093F7F70FB3C7D72090C3B24022440A +:104A380092444101828097F6FB1F9386E66E2A878F +:104A4800BC228832637DF5001306150097F7FB1F1B +:104A580083A7C75190B2B347F52098C38280130546 +:104A6800F00F82801C41E5CB370700F07D8FB70639 +:104A7800002089476312D70E5A21411122C406C665 +:104A88002A8469C719469305F00F690597C0FB1F6B +:104A9800E78060A505478D47630AE50A1C4491C76E +:104AA8005858994745C7185C55C31306C003814534 +:104AB80017F5FB1F1305C56997C0FB1FE780808F9B +:104AC8001306C003A28517F5FB1F1305656897C079 +:104AD800FB1FE780A08797F7FB1F93876767DA2795 +:104AE80001E713070010DAA7F82719E30547F8A725 +:104AF8009A2B19E36D479AABF83719E31547F8B7BE +:104B0800B82B19E30547B8ABB83B19E3F837B8BB7E +:104B1800D83B11C7937637000983F4ABF8BBD82B81 +:104B280019E35547D8AB182C01E71307C00398AF12 +:104B38009C5791C7829797F7FB1F239BA75EFD574A +:104B480017F7FB1F2300F75ED1338147B240224499 +:104B58003E854101828089473E85828079714ECEAB +:104B680097F9FB1F9389C96383A7090006D622D446 +:104B780026D24AD052CC829713090064B335250354 +:104B880003D6C900814617FAFB1F130AEA5932C631 +:104B980033052503EF80323883248A012A840145AE +:104BA8006386840232463305944063EF840003A58C +:104BB80089008146B335A9023305A902EF80B235D1 +:104BC800B307954033858700232C8A00B2502254BE +:104BD80092540259F249624A45618280011122CCFD +:104BE8000A852E844146979502009385A5EC06CE4A +:104BF800EFF00FD318083324E420035704FFF240E2 +:104C0800624497F7FB1F83D7875A37450F00BA9737 +:104C1800130505243355F5020561828097F7FB1FBC +:104C280083D7E75851471D45637CF70279471945F3 +:104C38006378F7021307200315456373F702130718 +:104C4800B0041145637EF700130740060D456379EC +:104C5800F7001307600909456374F70013B5B70F28 +:104C68008280411122C426C22E84AA8406C6058CDD +:104C7800EFF02FE9B327A402B2402244338597000E +:104C88001375F50F924441018280411122C426C256 +:104C98002E84AA8406C6058CEFF0AFE6B327A402DB +:104CA800B2402244338597003345050892444101B8 +:104CB8008280411122C426C22E84AA8406C6058C8D +:104CC800EFF02FE43335A402B240224426959244F3 +:104CD8004101828041114AC017F9FB1F1309494756 +:104CE8008327890206C622C426C28DCF829797F4ED +:104CF800FB1F938464439E242A848DC733F7A70A35 +:104D080033470708B3D7A70AB3C70708B307F7405D +:104D180051476359F7008327C90291C38297EF105F +:104D2800823E82A4B24022449244024941018280D8 +:104D3800011122CC97F7FB1F23A2072417F4FB1FAE +:104D4800130404415C5406CEAA8581C72AC68297FB +:104D5800B245D1C59C410545BDCF9C45ADCFDE25AB +:104D6800BDCBFE25ADCB9C2981CB7C287838BA9762 +:104D78006343F506DC41A5C31306400217F5FB1F84 +:104D88001305054297B0FB1FE780405C97F7FB1FB0 +:104D980093870741984397F6FB1F23A7E61C183C07 +:104DA80019EFCA279307805737460F003305F502D6 +:104DB8001306062481468145EF80F21508BC183C8D +:104DC8009D4763E4E700A1471CBC170500001305D5 +:104DD80025D9313E0145F24062440561828097F74A +:104DE800FB1F23A1073697F7FB1F9387673B17C75E +:104DF800FB1F130747C098C337873200FD561307B8 +:104E080027A194C7D8C797F7FB1F2383073AB7C7CB +:104E1800004023A4D7269DBF011122CC17F4FB1F05 +:104E280013040433084406CE26CA4AC801E90545D6 +:104E3800F2406244D2444249056182805C58E5DB15 +:104E4800185C75D77000854582971844B247E3000F +:104E5800F7FE4A249305E00417F9FB1F1309C92C30 +:104E680097B0FB1FE780001F2320A90269D15224B5 +:104E78009305F00F814497B0FB1FE780A0537C2473 +:104E88000326090263C1F402328597B0FB1FE7804D +:104E98008029014597F7FB1F23A8072A97F7FB1FCF +:104EA80023A6072A71B74E241844B387950289812F +:104EB80085043385E7001C5C08C28297C9B70111D5 +:104EC80022CC17F4FB1F1304A4281C4426CA4EC680 +:104ED80056C206CE4AC852C45AC0AA84AE89B28AFB +:104EE8006388071A585839CB1307F01F6366A71051 +:104EF80017FAFB1F130A4A2303290A02631209043B +:104F08004A249565938515E097B0FB1FE7808014C8 +:104F18002320AA022A861DC14E245C580844898190 +:104F280082971C4403290A022322FA028947639EB6 +:104F3800F402C1479305090C6381F9042945BDA012 +:104F480003274A02E384E7FE4A249565938525E012 +:104F580097B0FB1FE78000102A896DD14E242A865E +:104F68005C58084489818297D1B78D47639AF404C5 +:104F7800C1479305490DE393F9FCB8219307A005B0 +:104F88006312F7069E21639F97044E869105568506 +:104F980097B0FB1FE780803B83270A0263872701BE +:104FA8004A8597B0FB1FE78000180145F24062442C +:104FB800D2444249B249224A924A024B0561828050 +:104FC80091476397F4009305890EE39999F675B7AD +:104FD80093070010E394F4F6A147E3E137F793054C +:104FE800090F61BF83270A02E38A27F54A8597B02C +:104FF800FB1FE780401399B71D67637FE50613071A +:1050080005E099463347D702562417FBFB1F130BBD +:10501800AB113307D702330AF70083274B02639695 +:10502800470103290B02631109024A249305E0048E +:1050380097B0FB1FE78000022A8909D14E245C58EB +:105048002A8689815285829791451307A00593F591 +:10505800C50FB307B900B4236399E6029623639496 +:10506800960291054E86CA95568597B0FB1FE78034 +:10507800E02D83270B021DB7A166F916E3E0A6EC25 +:105088003307E54051B7AC33D9B783270B02A9BF23 +:1050980097F5FB1F83A5450BE38205EA9147930625 +:1050A800A00593F7C70F3387F5003023E318D6E838 +:1050B8001223631B960091074E86BE95568597B0BE +:1050C800FB1FE780A028D5B53C33E1BF97F7FB1F4E +:1050D80093870708984721C7985F31C385466310AF +:1050E800D504411122C417F4FB1F1304E403105024 +:1050F80006C615C2CE27485089810297085097B036 +:10510800FB1FE780400297F7FB1F23AF070297F7C3 +:10511800FB1F23AD0702B2402244410182808280F6 +:1051280001114AC817F9FB1F130989024EC68329C2 +:10513800890022CC26CA52C406CE56C2AA842E841E +:10514800328A638D091A8327890399EB2945F2402E +:105158006244D2444249B249224A924A0561828055 +:1051680083274903E5D79307F01F63E0A70C97F956 +:10517800FB1F938969FB83A7090295CF0325890043 +:1051880083A749026395A7048947639FF404C1472D +:10519800E31EF4FA03A509021305050C9307A005FD +:1051A8003CA106A12286D285110597B0FB1FE78096 +:1051B800E019014569BF0355C9009305E00497B09C +:1051C800FB1FE78020E923A0A9024DF941B78355C9 +:1051D800C9008327490303A6090289818297832787 +:1051E800890023A2F9024DB78D47639AF400C1479D +:1051F800E31EF4F403A509021305450D45B79147CD +:105208006399F400E31494F403A509021305850EC9 +:1052180071B793070010E39BF4F2A147E3E887F224 +:1052280003A509021305050F95BF9D676373F5066E +:10523800930705E01947B3C7E7020357C90097FA70 +:10524800FB1F938A6AEEB387E702BE9983A70A0217 +:10525800A1CB83A74A026391370703A50A029147A6 +:105268009305A0051308F00F13F7C70FB306E50061 +:10527800B0226313B60683D80600B032639C980444 +:10528800B307F64063C6870411072286D2853A958C +:1052980029BF21677917E36BA7EAB307F54071BF08 +:1052A8000355C9009305E00497B0FB1FE78080DA37 +:1052B80023A0AA0259FD59BD8355C9008327490374 +:1052C80003A60A0289814E85829723A23A0371B701 +:1052D80023900601B28749BF338687001106130859 +:1052E800F00B6374C8002D459DB5ACA213063400BD +:1052F800719A1106B29786A2BCB279B797F9FB1FCB +:10530800938989E283A709029DCB03A509029147E6 +:105318001308A0059305F00F13F7C70FB306E500B0 +:10532800B0226310060583D80600B0326397980050 +:10533800B307F640E3DA87F48EA2B287F1BF83475A +:10534800E9000355C9009305E0043305F502334528 +:10535800050897B0FB1FE780E0CF23A0A90255F509 +:10536800F5B30356C9008345E900B385C502338602 +:1053780087001106E3E9C5F62381060185BF0145CB +:1053880082809C211CA1BE211CB1BE21A1833CA10D +:10539800DC213CB11145828097F7FB1F23A407BE8F +:1053A80097F7FB1F23AE07BC82800DCD411122C4A5 +:1053B80026C206C6AA842E84014585C12285414697 +:1053C800978502009385057297B0FB1FE78000F868 +:1053D8009C2005455CA49C305CB4B24022449244B5 +:1053E8004101828001458280011122CC26CA06CE65 +:1053F8008947AA843284639EF5006383B6024147D5 +:1054080081476395E6048A854D3741468A8522851A +:105418000DA841476392E504638FF600639EB602C8 +:105428002E86A2856244F2402685D244056117B3D0 +:10543800FB1F670023038A853285853F41468A859D +:10544800268597B0FB1FE780E001AA87F2406244F7 +:10545800D2443E85056182808147CDBF97F7FB1F07 +:1054680023A0A7B2828097F7FB1F23ADA7B0828045 +:10547800011122CC622106CE26CA4AC84EC63DC8B2 +:10548800832985002A88AE8403C909008147131738 +:10549800496063550702B147054563F6870403551C +:1054A80028005114334404084E8633878900A286A5 +:1054B8008545EFB0B003B337A00085071355694899 +:1054C8007D141379F903334404089CA088B0238120 +:1054D8002401C2A0014719C01387190098C40947BD +:1054E8006383E7000145F2406244D2444249B2492D +:1054F800056182800545C5BFC167F917630AF502D2 +:10550800D94763F7B702011122CC2EC606CE2A84EA +:10551800EF90A007B2456368B50022856244F24067 +:1055280005616FA0807CF240624405450561828078 +:1055380005458280C167F9176314F5006F90E00490 +:10554800411106C6EFA0006911E15D45B240410175 +:1055580082809147639DF5001C211CA23C211831D3 +:10556800A207D98F3EA23C3101455CA28280114539 +:1055780082804111814522C426C206C6AA849D2381 +:105588002A8409E997F7FB1F83A7879F81C7F945F5 +:1055980026858297B2402285224492444101828026 +:1055A80039714ED652D45AD05ECE06DE22DC26DAC7 +:1055B8004AD856D22A8A2E8BB289B68B0DE79D3FE0 +:1055C8009145EF90A00A2A844D49854A19EDF25079 +:1055D8006254D254B259225A925A025BF24B4A850B +:1055E8004259216182803A84814A230034018544EA +:1055F800630A0B00DE8513051400029B9304150053 +:10560800B3C404089399496063D30902C14552851C +:10561800EFA0806A654915E533069400A6852285C2 +:10562800EFB0E0312A8911EDB104B3C40408914701 +:105638002C0052857C8422C66485EF90B07F2A892D +:1056480059D5E3860AF8228597B0FB1FE780A0ADFD +:10565800BDBF011122CC26CA4AC84EC606CE2A8929 +:105668003284B689353FAA840DE197F7FB1F83A7DB +:10567800679181CF05476317E40003C40900050457 +:105688001374F40FA2854A858297F2406244424916 +:10569800B2492685D24405618280AE860147054617 +:1056A80097050000938525CE6DB79E211CA19E21EC +:1056B800A1831CB1094582809E211CA19E21A18342 +:1056C8001CB1BE213CA1BE21A1833CB11145828001 +:1056D8009E211CA19E21A1831CB1BE213CA1BE21FB +:1056E800A1833CB1DC315CA1FC215CB18A251905A0 +:1056F8003345050882809E211CA19E21A1831CB1EF +:10570800094582809E211CA19E21A1831CB1BE2136 +:105718003CA1BE21A1833CB111458280CA21060566 +:105728003345050882809E211CA19E21A1831CB1BE +:10573800AA2109053345050882809E211CA19E21C6 +:10574800A1831CB1BE213CA1BE21A1833CB1CA21C9 +:1057580011053345050882809C211CA105458280DE +:105768009E21411122C406C61CA19E212E8411052A +:10577800A183A30EF5FEBE219505230FF5FE83D761 +:10578800D5FFA183A30FF5FE03C6F5FF97B0FB1F56 +:10579800E780C0BB4820B240224411054101828005 +:1057A80089476399F5001C3118210145A207D98F53 +:1057B8001EA28280114582809A21011106CE22CC38 +:1057C8002EC6D94763F4E7022A84EF80105CB246FC +:1057D8009E22636DF50022856244F2400147094626 +:1057E800970500009385A5EC05615DBBF240624416 +:1057F800094505618280AA87A9C11421FD150547BD +:10580800B3C505086398E60013D725008D891145AF +:1058180089CD8280094711456392E602494533D70D +:10582800A502B3F5A502114591E9114501CB8507FC +:1058380034A21AA25CC20145828011458280AE86DC +:105848000147114697050000938545E791BB13F77B +:105858003500AA8701EB8981114591C50EA25CC26A +:105868000145828011458280D8218947631BF70250 +:10587800011122CC2A84C84506CEAE8601C92EC69F +:105888009D4597B0FB1FE7808097B2462A872285FF +:105898006244F2401946970500009385A5E3056127 +:1058A80001B30945828099E1114582801C21054791 +:1058B8003EA2E37BF7FEFD1593F5F50F33D7F5020E +:1058C800B387E702E392F5FE050548C21AA201452F +:1058D8008280DC210947AE866385E70041476399EA +:1058E800E70001472146970500009385A5E74DB9D4 +:1058F800094582800EA291E1014548C20145828096 +:10590800AE860147294697050000938505DF49B90A +:105918000EA291E1014548C201458280AE86014749 +:10592800314697050000938525DE9DB90EA291E1C9 +:10593800014548C201458280DA21854763FFE702B5 +:10594800011122CC2A84884106CE2EC615C1854570 +:1059580097B0FB1FE780A08A2A8722856244B24657 +:10596800F240394697050000938585DB05610DB93E +:10597800F240624409450561828009458280AA8710 +:105988008DC518218D46114563F2E602FD15B3C594 +:105998000508B3C6E5023308D702639905018507F0 +:1059A80016A23AA25CC20145828011458280DC21A0 +:1059B8000947AE866385E70041476399E7000147D9 +:1059C8004146970500009385E5D9D9BE09458280EF +:1059D8003335B0000A058280011122CC26CA06CED2 +:1059E80098258547AA842E844946631FF70099366F +:1059F8003E2049151306200963C8A700F2406244F7 +:105A0800D244094505618280183485476314F7003C +:105A180013660604484001C98D4532C697A0FB1F8E +:105A2800E780E07D3246A2866244F2402A872685D6 +:105A3800D24497050000938545CF056195B68D47FB +:105A480063F7B7021C311821F115A207D98F1EA2DE +:105A58003C313821B3C50508A207D98F014799C140 +:105A6800130745003EA24EA218C601458280114583 +:105A78008280011122CC2A84884506CEAE8601C9CF +:105A88002EC6954597A0FB1FE7806077B2462A8708 +:105A980022856244F240594697050000938525CA3D +:105AA8000561FDBC3335B0000A058280AE8601472A +:105AB800614697050000938565CADDB485471145A1 +:105AC80063F1D7021C320C220945A207CD8F81450C +:105AD8006384A60093052600F9161EA336A34CC3BB +:105AE80001458280014781467946814555BC9E2102 +:105AF8001CA19E21A1831CB109458280BC210547B8 +:105B08001CA18A216397E7000A05050533450508A6 +:105B18008280C9473305F502CDBF8A210A0533457E +:105B280005088280BE211CA18A21BE213305F50209 +:105B380005053345050882808A2182808A21828072 +:105B48008A218280BE211CA18A21BE213305F5024B +:105B580005053345050882809E211CA19E21A1834D +:105B68001CB1BE213CA1BE21A1833CB1CA211105B3 +:105B78003345050882809E211CA19E21A1831CB16A +:105B8800AA2109053345050882808947114563988C +:105B9800F6001C3214220145A207D58F1EA382806D +:105BA8009A21D947AE8663F9E70001470D46970564 +:105BB8000000938505F471BC094582801145639DF9 +:105BC800A6001C3214220145A207D58F1EA33C3221 +:105BD8003422A207D58F3EA38280BC210547FD173A +:105BE80093F7F70F6361F7049E2195CF011122CC3B +:105BF8002A84C84106CE2EC615C1894597A0FB1F29 +:105C0800E780E05F2A8722856244B246F240154663 +:105C1800970500009385C5EE056125BCF2406244F6 +:105C280009450561828009458280954763F0D7065A +:105C3800411122C426C24AC006C61C323A84182220 +:105C4800A207B284D98F1EA03C3238229385440023 +:105C5800A207D98F3EA089475CA0094613055400C6 +:105C6800368997A0FB1FE780606E19478147630458 +:105C7800E90093876400691923142401B2405CC4C5 +:105C880022449244024901454101828011458280A3 +:105C98009E2195CF011122CC2A84C84106CE2EC65A +:105CA80015C1854597A0FB1FE78060552A87228587 +:105CB8006244B246F2401D4697050000938525E6EA +:105CC800056141BAF240624409450561828009458F +:105CD80082809947B2856388F600D14711454146CD +:105CE8006384F60082800946411106C650A39C31A0 +:105CF800942113055700A207D58F1EA3BC31B421E8 +:105D08009105A207D58F3EA397A0FB1FE7800064EB +:105D1800B2400145410182809E219DCF011122CCD4 +:105D28002A84C84106CE2EC61DC1894597A0FB1FEF +:105D3800E780E04C2A8722856244B246F240254635 +:105D480097050000938545DE05616FF09F90F2404E +:105D58006244094505618280094582808947114569 +:105D68006398F6001C3214220145A207D58F1EA3A2 +:105D78008280011122CC2A84C84106CEAE8601C990 +:105D88002EC6854597A0FB1FE7806047B2462A8745 +:105D980022856244F2402D4697050000938505DA76 +:105DA80005616FF01F8B19BD011122CC2A84C841EF +:105DB80006CEAE8601C92EC6854597A0FB1FE78093 +:105DC8000044B2462A8722856244F2403546970548 +:105DD80000009385E5D605616FF0BF8793F716003D +:105DE800114581EB89476386F600858256A310C367 +:105DF80001458280011122CC2A84C84106CE2EC6D4 +:105E08001DC1854597A0FB1FE780603F2A87228533 +:105E18006244B246F2403D4697050000938585D21C +:105E280005616FF01F83F240624409450561828075 +:105E38009E219DCF011122CC2A84C84106CE2EC6B0 +:105E48001DC1894597A0FB1FE780603B2A872285F3 +:105E58006244B246F2404546970500009385C5CE98 +:105E680005616FF00FFFF2406244094505618280C9 +:105E780009458280854763F4D70208A70CB71C320E +:105E88000C220945A207CD8F81456384A60093059E +:105E98002600F9161EA336A34CC30145828011457E +:105EA8008280014781464D4681456FF08FFA8D47C4 +:105EB800114563F5D7021C320C22A207CD8F1EA311 +:105EC8003C322C22A207CD8F81456384A60093051E +:105ED8004600F1163EA356A30CC701458280011166 +:105EE80022CC2A84884506CEAE8601C92EC69545A1 +:105EF80097A0FB1FE780A030B2462A87228562441C +:105F0800F2405D4697050000938545C505616FF031 +:105F18004FF4854711456395F6001C2201451CA3E3 +:105F2800828001478146654681456FF08FF20111F5 +:105F380022CC2A84C84106CEAE8601C92EC68D451C +:105F480097A0FB1FE780A02BB2462A8722856244D0 +:105F5800F2406D4697050000938525C205616FF0F4 +:105F68002FE4011122CC2A84C84106CEAE8601C98D +:105F78002EC68D4597A0FB1FE7806028B2462A876A +:105F880022856244F2407546970500009385E5BE78 +:105F980005616FF0EFE0011106CE2EC6EF90B03F1D +:105FA80019C5B245F2402A2105616FE0C005F240EB +:105FB80049450561828097E7FB1FA38B07FE97E79A +:105FC800FB1F238707FE97E7FB1F23A107FE97E721 +:105FD800FB1F23AB07FC97E7FB1F23A507FC97E7ED +:105FE800FB1F23AF07FA97E7FB1F23A107FA97E7E1 +:105FF800FB1F23AB07F897E7FB1F9387A71C370600 +:10600800840390D33707B40037C6070098C3130634 +:1060180006B83747A000D8C3D0D337071000416669 +:106028009306070AB70550009308060194C723A4EE +:10603800170393860501930816F8D4C723A61703F8 +:10604800B706D007B7087F001308070513850601B0 +:10605800410723A81703B0C39308160093860605C3 +:1060680013861500D8CBF8C323A8070188CF23AE21 +:10607800070023AA170323AC070223AE070223A4B1 +:106088000704F0C7B4CB23AA0704ACCF23AE070597 +:10609800B8D33707A000F8D71307000AB8DB1307EF +:1060A800C01CF8DB37071400B8DF0547F8DFE8D372 +:1060B80023A40706930710F817E7FB1F2324F718F4 +:1060C8008280011152C42A8A214522CC26CA4AC894 +:1060D8004EC606CE2E84B2893689BA8497A0FB1F95 +:1060E800E780001705C9930700FD1CA19947A30085 +:1060F80045013CA12303250164B123123501AA857A +:1061080022856244F240D2444249B249224A05619A +:106118006FE0AF94F2406244D2444249B249224A05 +:106128000561828097E7FB1F23A2A7E8828097E793 +:10613800FB1F23ABA7E6828097E7FB1F23A4A7E6F4 +:10614800828097E7FB1F23ADA7E48280011122CC50 +:1061580026CA4AC806CE4EC62A89AE840144B30967 +:10616800890063699400F2406244D2444249B249CA +:1061780005618280EFE0EF98B3470508A18323808B +:10618800F9009307140093F7F70F850963F8970050 +:10619800CA97090488A31374F40FD1B73E84D1B702 +:1061A800411122C417E4FB1F1304040A6A20C167C3 +:1061B80006C6FD17630EF50017E6FB1F0346C62A41 +:1061C80097E5FB1F9385C5DCEF90E07DFD577EA02A +:1061D800B24022444101828009C925151375F50F83 +:1061E8001335850E13451500828001458280239062 +:1061F8000500C9C2797122D426D252CC56CA5AC8CF +:1062080006D64AD04ECE5EC62A8B2E8AB28A3684ED +:10621800814463FF5405B307940083C907001389B9 +:1062280014003349090863850904B387290163C148 +:10623800FA04B307240183CB07005E85713F0DC9BB +:106248009387F9FF2310FA0063906B030509330560 +:106258002401B250225492540259F249624AD24A55 +:10626800424BB24B45618280CE94B3C4040855B703 +:106278000145C5B701458280011122CC26CA4AC80A +:106288004EC606CE97E4FB1F938404FC2E89D0C823 +:106298008CC8C8C42A8441469305F00F4A8597A044 +:1062A800FB1FE78040248549631935038848C145A9 +:1062B800713D41469305F00F228597A0FB1FE780AB +:1062C80080220549631525036244C844F240D2443C +:1062D8004249B249C145056195BD414681454A8556 +:1062E80097A0FB1FE7802020E31535FDC1B7414685 +:1062F8008145228597A0FB1FE780E01EE30625FD68 +:10630800F2406244D2444249B24905618280411157 +:1063180022C426C22E84AA8413060002814517E5EA +:10632800FB1F130565F206C64AC097A0FB1FE7804E +:10633800600817E9FB1F130929F197E7FB1F23875B +:106348008712A3019900EFD0504E854719C18147A4 +:1063580049452300F900B2402244924402494101D0 +:1063680082809DC91DC985476318F500DC3193E714 +:1063780007FCDCB10545828089476316F500DC31EE +:1063880093F7F703FDB78D47E316F5FEDC3193F776 +:10639800F70393E70704F1BF014582808DC10DC162 +:1063A800DC311307000C054593F7070C638AE700F7 +:1063B8001307000409456395E7000D4582800145F0 +:1063C8008280411122C4005D06C626C21DC8AA8467 +:1063D800085009C597A0FB1FE780E0D4485009C5BD +:1063E80097A0FB1FE78020D4085409C597A0FB1F7E +:1063F800E78060D3228597A0FB1FE780C0D223AC3B +:106408000402B240224492444101828019ED97E788 +:10641800FB1F83C787E317E5FB1F130565E491CBD3 +:1064280017E5FB1F130545B7828017E5FB1F13050A +:1064380025E3828017E5FB1F034525E1828017E5E8 +:10644800FB1F032525E1828017E5FB1F0325C5E017 +:10645800828097E7FB1F83A767E08843828017E75E +:10646800FB1F130767DE544B9C4285079CC22833E9 +:106478009307F00F6307F500916517C3FB1F6700CB +:1064880043588280011122CC06CE2E8432C6EF906A +:1064980010019147B245631EF50097E7FB1F83A7DC +:1064A80027B099CF9C4389CF22856244F240056189 +:1064B800828797E7FB1F83A727AF99C3DC43E5B71C +:1064C800F2406244054505618280797122D42A84AC +:1064D8004A214ECE06D626D24AD097C0FB1FE78067 +:1064E800006997E9FB1F9389A9AC29E983C40900CE +:1064F8009307F00F639DF40097E5FB1F83C555AB29 +:106508002685513C09E597E7FB1F238307AA4A2004 +:10651800EF90E0789147631CF50097E7FB1F93879E +:10652800A7D25620FA236394E6007D57FAA3B25007 +:10653800225492540259F249456182805825042117 +:106548002A893AC6BD3D4A85EF9030344A20EF90FB +:10655800407083C70900324799C3E38F97F89307C0 +:10656800F00F5220E385F4FA74202820A685913E86 +:1065780079BF79715AC82A8B2E854ECE52CC56CA0D +:1065880006D622D426D24AD05EC62E8AB28AB689C8 +:1065980097C0FB1FE780A05D75C5045D2A89FDC013 +:1065A8009C501305400391E361459C5489C79307A8 +:1065B800450133C50708638609009307C50133C53C +:1065C8000708DC5089C79307750133C5070897A0EA +:1065D800FB1FE780E0C72A8455C56146814597A01F +:1065E800FB1FE78020DD97EBFB1F83CBABC06394D9 +:1065F8000B00834B0900930700FD1CA0A947A300CB +:1066080064013CA0230354018C5023124401130558 +:10661800840191C908C47146130A440397A0FB1F5B +:10662800E780C0D252858C5491C948C45146130A98 +:10663800450197A0FB1FE78060D15285638C090054 +:1066480008C87146CE85130AC50197A0FB1FE780CD +:10665800E0CF5285CC5099C548C85D4697A0FB1F2E +:10666800E780C0CEA2855E85EFD03FBF2254B250EE +:106678009254F249624AD24A424BB24B4A85025975 +:10668800456181B3B250225492540259F249624A88 +:10669800D24A424BB24B4561828001114EC6AA894B +:1066A8002E8526CA06CE22CC4AC8AE8497C0FB1FC8 +:1066B800E780E04B21C917E9FB1F0349A9B363141D +:1066C800090003490500194597A0FB1FE78040B85A +:1066D8002A840DC98145194697A0FB1FE78080CD04 +:1066E800930700FD1CA0B947A30034013CA046A0B5 +:1066F800A2856244F240D244B2494A8542490561C2 +:106708006FD0BFB5F2406244D2444249B2490561F4 +:106718008280797162C42A8C2E8526D24ECE52CCC4 +:1067280056CA5AC85EC606D622D44AD0AE84B28BA0 +:10673800368BBA8A3E8AC28997C0FB1FE7802043FE +:1067480035C52A89414597A0FB1FE78060B02A8498 +:1067580031CD4146814597A0FB1FE780A0C517E5CD +:10676800FB1F034525A919E103450900930700FD0F +:106778001CA0BD47A30084013CA023047401A3040A +:10678800640123055401A305440146A023263401CE +:10679800A2852254B25092540259F249624AD24A0E +:1067A800424BB24B224C45616FD03FABB2502254A2 +:1067B80092540259F249624AD24A424BB24B224C95 +:1067C80045618280011126CAAA8439454AC84EC645 +:1067D80052C406CE22CC2E8AB289368997A0FB1FD6 +:1067E800E78000A715CD9307000D1EA1B1472A84A5 +:1067F800231245013CA1CE851905194697A0FB1F18 +:10680800E780C0B423062401A2856244F2404249CD +:10681800B249224A13F5F40FD24405616FD0FFA3A1 +:10682800F2406244D2444249B249224A0561828018 +:10683800411126C206C622C44AC097E4FB1F9384AE +:10684800A4A0B8309307F00F6308F7042A893945E4 +:1068580097A0FB1FE780C09F2A841DCD930700FDEA +:106868001CA1A30025012301050097E5FB1F9385C3 +:10687800259F0D05194697A0FB1FE78020AD9E2494 +:10688800A285A8303EA49C305CA42244B240924425 +:10689800024941016FD07F9CB24022449244024990 +:1068A80041018280011156C2AA8A314526CA4AC8C6 +:1068B8004EC652C406CE22CC5AC0AE84328AB6899D +:1068C8003A8997A0FB1FE780A0982DCD2A842685BA +:1068D80097C0FB1FE780A02909C55825A147631168 +:1068E800F70417EBFB1F034B5B96930700FD1CA0F7 +:1068F8009D47A30054013CA046A023134401231440 +:10690800340123152401A2856244F240D24442494D +:10691800B249224A924A5A85024B05616FD0FF93C9 +:1069280017EBFB1F034B9BB4E3910AFC97D7FB1FA4 +:1069380083A7477C9C47D5DBCA864E86D2852685A9 +:10694800829765B7F2406244D2444249B249224A2A +:10695800924A024B05618280411126C2AA842145D0 +:1069680022C406C62E8497A0FB1FE780608E15C53B +:10697800930700FD1CA1C5473CA13C30AA853CB14A +:106988005E205EA17C207CA17C307CB12244B24098 +:106998002685924441016FD05F8CB24022449244D4 +:1069A8004101828041114AC02A89714526C206C622 +:1069B80022C4AE8497A0FB1FE78080893DC593075A +:1069C80000FD1CA1F5473CA1BC302A849385C40076 +:1069D8003CB1DE2031051946231CF5FEFE20231D9F +:1069E800F5FE9E24231EF5FEBC24230FF5FEBC34C1 +:1069F800A30FF5FE97A0FB1FE7804095BC28A28552 +:106A08004A853CA8DE285EA8FC287CA8FC387CB80F +:106A18009C2C1CAC9C3C1CBCBC2C3CAC2244B24006 +:106A28009244024941016FD05F83B24022449244AC +:106A380002494101828001114AC82A89614526CA52 +:106A48004EC606CE22CCAE89B28497A0FB1FE78043 +:106A5800208025C1930700FD1CA1BC302A849385A2 +:106A680084001CB195473CA1FC3011051946A30FC1 +:106A7800F5FE97A0FB1FE780608DDE20230634011A +:106A8800A2853EA4BE2C4A857EA4DE2C1EA8FE2C20 +:106A98003EA883C704025CA883C714025CB8BE3052 +:106AA800F240D2447EA862444249B24905616FD09F +:106AB800CFFAF2406244D2444249B2490561828029 +:106AC800411122C406C617D4FB1F1304E4773C20E7 +:106AD8009DCBAA85194617D5FB1F1305E54B97A033 +:106AE800FB1FE780A086282097D5FB1F9385C54A02 +:106AF800EFF03F872244B24017D5FB1F1305C54965 +:106B080041016FD04053B240224401454101828087 +:106B1800411126C206C622C44AC097D4FB1F9384DB +:106B2800A472B8309307F00F6302F7042A89294545 +:106B38009790FB1FE780C0712A840DC9930700FD59 +:106B48001CA1A147A30025013CA1BC2097D5FB1F90 +:106B5800938585441105A30FF5FE19469790FB1FF1 +:106B6800E780C07EA830A285EFD02FEFB8208D47F0 +:106B7800631FF70097D7FB1F83A7C74289CB9C47A2 +:106B880099C72244B2409244024941018287B240E7 +:106B980022449244024941018280797122D406D666 +:106BA80026D24AD04ECE52CC56CA09444DCD2A8957 +:106BB8000A212E8A514497C0FB1FE78040FBAA8414 +:106BC8005DC197EAFB1F938A2A8A83C74A00054753 +:106BD8004944FD1793F7F70F6377F7085825A1473E +:106BE8006314F70063110A089C5C4544ADEF916596 +:106BF800938545711305C0029790FB1FE780804578 +:106C080088DCAA894D4425C11306C00281459790A6 +:106C1800FB1FE780207A8357090093864900368551 +:106C28002391F90071469305490036C69790FB1FDA +:106C3800E780C07189472380F900DC24B2460356F7 +:106C4800090083C50A00E11713B51700EF90907D7E +:106C58002A8463060A00D2852685EF90607201C4F3 +:106C68002685EFF00FF6B25022852254925402592D +:106C7800F249624AD24A4561828097D7FB1F83C78F +:106C8800E77EFD1793F7F70F05476377F7080111BC +:106C98004AC806CE22CC26CA4EC652C43289894773 +:106CA8002DC22A8AAE89368497C0FB1FE78020EC64 +:106CB800AA84D14739C5485509C59790FB1FE78075 +:106CC8008046F1454A859790FB1FE780C074C8D479 +:106CD800AA85CD471DC5D824A147631DF70209C859 +:106CE800382D1229930625015285EF90C06F2A840A +:106CF800D820936747006384090093676700DCA086 +:106D0800A287F2406244D2444249B249224A3E85AF +:106D1800056182800144E9BFC9473E8582809307A7 +:106D2800000463EAA70097D7FB1F9387A749332579 +:106D3800F5200A21828041657D158280011122CCCF +:106D48002A842E8526CA06CEAE8497C0FB1FE7800C +:106D580000E20DCDB7470F009387F723094563E29B +:106D6800870281450A8541469790FB1FE78080642A +:106D7800A68560800A8541804081A3010100EF90CB +:106D8800304AF2406244D244056182804945D5BF09 +:106D980097D7FB1F238BA76C82806F901063797144 +:106DA80052CC2A8A328526D24AD04ECE56CA5AC8E2 +:106DB8005EC662C406D622D42E8CB28A368BBA8BB3 +:106DC8003E89C289C68497C0FB1FE78040DA05C99F +:106DD8002A84631A0A1893774B000343450085CF2A +:106DE8001363230163940B1663100914639F090846 +:106DF80085E81C5C1373B3FF23026400C5EBB25033 +:106E0800225492540259F249624AD24A424BB24B36 +:106E1800224C456182801373D3FF13630301D9B7F2 +:106E280013634300230264009C484146A6851CD492 +:106E3800130584019790FB1FE780405163130C12E0 +:106E4800638C0B0A485409C59790FB1FE780A02D57 +:106E5800F1455E859790FB1FE780E05B48D4005CB6 +:106E680059DC1C5091EB916593853571714597906C +:106E7800FB1FE780201E08D008500DC17146DE8533 +:106E88009790FB1FE780804C11A8136343002302EF +:106E98006400D9F8005C630C0C0235D0639A0902CF +:106EA800A5E029A0005C21DC639409022254B250B9 +:106EB8009254F249B24B224CCA865A860259424B26 +:106EC800D6855285D24A624A45616FF08FEA05D865 +:106ED8005C5091EB9165938525715D459790FB1FFB +:106EE800E780401748D0485045DD5D46CE859790ED +:106EF800FB1FE780A0456DB7005C11D0E39A09FC41 +:106F08001C5491EB91659385157151459790FB1F22 +:106F1800E780401408D4085451D95146A685979063 +:106F2800FB1FE780A04259B71363430023026400A4 +:106F3800E39C04EEE3080CF6485405EDF1454A8558 +:106F48009790FB1FE780204D48D431A81363430076 +:106F580023026400E39A04ECE3060CEEE31E09FC4A +:106F6800FDBDE31B09FC005CE30B04E8E39B0BEEAF +:106F780035B79790FB1FE780001BC9B7011126CAD8 +:106F880052C406CE22CC4AC84EC62A8AAE8497C0BE +:106F9800FB1FE780C0BD35C12A8939459790FB1F83 +:106FA800E780002B2A8431C997D9FB1F83C989241C +:106FB80063940900834909009307000D1EA0AD479B +:106FC8003CA0930569001305340019469790FB1FF0 +:106FD800E780C03793F714005CA493D4144844B4F2 +:106FE80023154401A2856244F240D2444249224A10 +:106FF8004E85B24905616FD04FA6F2406244D24433 +:107008004249B249224A0561828001114EC652C4E2 +:1070180056C206CE22CC26CA4AC8AA8A2E8AB28965 +:1070280097C0FB1FE780A0B435CDAA841305C00222 +:107038009790FB1FE780C0212A842DC517D9FB1F15 +:107048000349491B6314090003C904009307000D91 +:107058001EA0E9473CA09385640013053400194637 +:107068009790FB1FE780802ED285231554011305C6 +:10707800C40041469790FB1FE780402DCE8513053D +:10708800C40141469790FB1FE780402CA2856244CB +:10709800F240D244B249224A924A4A85424905619D +:1070A8006FD0AF9BF2406244D2444249B249224A6F +:1070B800924A0561828017D5FB1F0325E5EC11CDA7 +:1070C800411106C69790FB1FE780E005B24097D7AD +:1070D800FB1F23AB07EA410182808280411122C451 +:1070E80006C626C24AC02E8497C0FB1FE78020A888 +:1070F80029CD00D517D9FB1F0349C90FAA846314EA +:1071080009000349050041459790FB1FE78040149B +:107118002A8405CD9307000D1EA1A5473CA1DC30AC +:10712800938564001105A30FF5FE19469790FB1F80 +:10713800E780C0219C54A285B2405CC4224492449A +:107148004A85024941016FD04F91B240224492448E +:107158000249410182805D71A2C4A6C286C6AA8482 +:107168002E8497C0FB1FE78080A00DC954251147C6 +:10717800AA874945639FE6009C5F91C3E02B97B6B9 +:1071880000009386069A0A86894526854080EF90F6 +:107198002016B64026449644616182805145D5BF89 +:1071A80097D7FB1F83C7872CFD1793F7F70F054762 +:1071B800637AF704411126C206C622C44AC0B284C3 +:1071C800894715CA2E8997C0FB1FE780409A2A84F1 +:1071D800D14715C1630609005C2193E727005CA12C +:1071E8004146A685130584019790FB1FE78000168A +:1071F8009C481CD48147B2402244924402493E85AF +:1072080041018280C9473E858280011122CC26CA6D +:1072180006CE2A84AE8497C0FB1FE780409519C923 +:107228006C0022854486EF904012F2406244D244BA +:10723800056182805145D5BF6F80701BC167138778 +:10724800E7FF6393E50297D7FB1F83A7E7D591EB89 +:10725800494582804945B24022449244024941014D +:1072680082809C43F5D78287411122C426C24AC036 +:1072780006C6FD172A892E84B284639AF50297D729 +:10728800FB1F83A767D289C79C4399C3829711C5FF +:10729800A6854A85EFE03FD05DFD97D7FB1F238980 +:1072A80027D197D7FB1FA38597D001456DB72E85AA +:1072B80097C0FB1FE780A08B51DD1C210D45E39C87 +:1072C80027F922852244B2400249A6859244410109 +:1072D8006FC070539307000463E1A7064111C167AB +:1072E80022C426C206C6FD172A84AE8409456380D7 +:1072F800F502C5476312F4022E85EFC0705897D780 +:10730800FB1F938727EC3324F420014506A0B240E5 +:1073180022449244410182809307A0036316F4003B +:107328002E85EFC0104FE1BF9307B003E319F4FCBB +:1073380013F5F50FEFC0304ED9B70945828001111A +:1073480006CE2AC6EFE03FC7EF20404EEF10C07CC4 +:10735800EF501236324597D7FB1F9387E7EE130796 +:1073680000F0BAA3238207007D5797D7FB1F9387A6 +:10737800A70FB8A388A3F240954505616F70202A2E +:10738800757126C306C722C54AC1CEDED2DCD6DA5D +:10739800DAD8DED6E2D4E6D2EAD0EECEAE8493973F +:1073A800556063D1075817DAFB1F130AEA0B034528 +:1073B8000A00130B200A930BF00F9790FB1FE7802E +:1073C80020EFC167FD172A84130C1009954C394D1D +:1073D80097DDFB1F938D4DE73ECC15E01395F468C0 +:1073E800BA402A449A440A49F659665AD65A465B1C +:1073F800B65B265C965C065DF64D496182801C2072 +:10740800639A670103C93D00E2452A202286EFF00E +:107418006F87E1A003492A00639A87091C306390AB +:1074280097032285EFF06F8A2285EFC0FFDD0345C1 +:107438000A009790FB1FE780A0E72A8479BF639B27 +:10744800A7194A208567A507631AF5040C4497D93C +:10745800FB1F938969DF882115E51946850517D52E +:10746800FB1F1305E5DF9790FB1FE78020EE03C79E +:1074780009008547631CF70289472380F900EFC09C +:10748800503B5DB703C7090085476311F70297D7DB +:10749800FB1F238B07DAEFF0AFB979B709679307BA +:1074A800C70063EFA7040507636BA702E30E79F72C +:1074B800A2854A85EFC07FDA9DBF370700181307FA +:1074C800F770B357F748E5CB97D7FB1F83A787AD6E +:1074D800A1DF9C43B1DB2285829739F5C1BFF977DB +:1074E800F917AA972947B3C707086366F70C176700 +:1074F800020013072760B3C7E7209C43BA97828727 +:10750800F9779387A7FCAA97F146B3C70708E3F66C +:10751800F6FA3907E31CE5F897D7FB1F83A7C7A836 +:10752800E38407F0DC43E38107F00965A2853905A8 +:10753800A5A883298400E38B09F603C7090097D718 +:10754800FB1F938767D019EB03C7290083C619006F +:107558002207558F9AA703C7390098B39423094780 +:10756800E396E6F403C7090001CB97D7FB1F238DE9 +:1075780007CC03C5090005B78C338A270D4798A3A4 +:10758800EF70800CFDB71C448823EFF06FD869BDFD +:1075980097D7FB1F83A787A1E38807E89C43E38568 +:1075A80007E80965A2852D05829705BF1C449C2321 +:1075B800E39E07EE95BD896793871704E318F5EEF8 +:1075C80097D7FB1F83A7879EE38007E69C43A28586 +:1075D800E1FF99BD3D476394E7064A208967138711 +:1075E800D7006306E50013879701631AE50097D76C +:1075F800FB1F83A7679BE38907E2DC43C9BFCD076D +:10760800E316F5EAC16717D7FB1F035747C4FD17F1 +:10761800631FF70097D7FB1F83A70799E38607E047 +:10762800DC43E38307E00965A2854D05B5BF97D71D +:10763800FB1F83A7E796E38907DE9C43DDB71307A3 +:10764800E003E395E7E63C2005476398E7127C20D2 +:1076580097DAFB1F938A4A936390071083A70A005F +:107668006387070E83C907002149683093078400A0 +:10767800BE853ECEEFE09FD268B01306400281453A +:1076880068109790FB1FE780E0D23C3019469305BD +:107698008400A307F1027C304818A309F1029790EF +:1076A800FB1FE780A0CA5E207010CA852318F1026C +:1076B8007E244E852313F1041E282314F1043E284A +:1076C8002315F1045C282306F104FD57A306F104F1 +:1076D8002317F104EFF02FB63C309DE3DD478358C4 +:1076E80004010358E40074304E203EC23E281307BC +:1076F80084003EC0CA8705464E85EF80807128B059 +:1077080083A70A0081C71145EFF0FF9A97D9FB1F9D +:107718009389098A03C50900E30805D097D5FB1F9B +:1077280083C51589EFE03F87E30005D03430930720 +:1077380010036389F600522083C509004A873685FD +:10774800EFE03F9897D7FB1F23840786F1B997D9B5 +:10775800FB1F83C999AF09BF97D7FB1F83A78784EE +:1077680097D9FB1F83C979AE99C3DC4399E31149C3 +:10777800EDBD814501458297DDBFF91793F7F70FF6 +:1077880013077002E364F7D217670200130747393B +:10779800B3C7E7209C43BA9782877C2097CAFB1F10 +:1077A800938A8A7EA9EB83A70A00A9C383C9070025 +:1077B8002149683093772500A5C30589130744013B +:1077C80068B02286CA854E853ACEEFF0CFA63C3007 +:1077D80072479DF7DD478358C4010358A4017430EC +:1077E8004E203EC27E2C3EC0CA8731B797D9FB1FB8 +:1077F80083C9B9A575BF97C7FB1F83A7A77A97D970 +:10780800FB1F83C999A499C3DC4399E3114955B770 +:10781800814501458297DDBF13078400BA853ACEBA +:10782800EFE0DFB7724769BF97C7FB1F83A70778E9 +:10783800E38C07BEDC43E38907BE22858297EDB659 +:1078480097C7FB1F83A78776E38007BE9C47E5B7EA +:1078580022868D454A2065BE9305A1021305103185 +:10786800EF50E26C6C1013052031EF50426C72201F +:107878008357C1024A2063E7C70016240357A102B1 +:1078880063F7E60093050002EFC0807E71BE637364 +:10789800E6007AA063F3D7001EA45A2436241224E3 +:1078A8006E2001488147EFC0607CBDBE2286B1458D +:1078B80055B797C7FB1F83A7676FE38707B6DC47F2 +:1078C8009DBF2285EF00607B85B697C7FB1F83A706 +:1078D800E76DE38B07B49C4BB9BF2285EF00F0033B +:1078E800A1B60145EF00301381B697C7FB1F83A7E8 +:1078F800676BE38D07BADC43E38A07BA8145054520 +:1079080082976DB697C7FB1F83A7C769E38007BA3D +:10791800DC43E38D07B8A2850945DDB722869305C8 +:1079280060020DBF93F7150089CF97C7FB1F83A788 +:10793800E76789C7DC4399C30145829713C51400DB +:1079480045B493F7250091CF97C7FB1F83A7876599 +:1079580091C7DC4381C781450545829713C524003B +:1079680041B413F54500E30D05A697C7FB1F83A790 +:10797800E76117D4FB1F1304248D89CF85475CA0CA +:1079880097C7FB1F83A7076291C7DC4381C781455F +:107998000545829748446C10EF8010756810EFF029 +:1079A8002F9297D7FB1F83D7078481CF13060064D4 +:1079B8003386C702914517D5FB1F0345E5AAEFC0DB +:1079C800FFAF13C5440029BC011122CC2A845545B8 +:1079D80006CE26CAEFF0AFB4AA8413054002EFF032 +:1079E8000FB42AC613055002EFF06FB3AA8622859A +:1079F80062443246F240B3359000D24405616FC00C +:107A0800006F397122DC06DE0D472E84631AE5000B +:107A1800BA259625F2212830CE21EFE0BFE899A8B3 +:107A280009679306D700AA87631BD504BC21B9C38D +:107A380017C4FB1F130444550C408DCDDC87BC31A3 +:107A4800194691054808A309F1009790FB1FE780A4 +:107A5800E08F930700F03ED61C4023180100231343 +:107A6800010202D4882370008145EFE0DFFC054560 +:107A7800EFF06FE40545F25062542161828093066D +:107A8800E700E309D5FE930637016319D500A8215D +:107A980075D1014781460146814541B76507E30B2A +:107AA800E5FC31476319E50017C5FB1F0345F57968 +:107AB800EFE09FEAC1B7130760026319E50017C535 +:107AC800FB1F03459578EFE0FFED6DB741677D1724 +:107AD8000145E392E7FAD831C947E31DF7F8F625DF +:107AE800D2250A24AE25EFC02068854711C55D451B +:107AF800EFF0EFA2B337A0004C202A2030007C849E +:107B0800EF70D06B3C84BDF79305A10013051031CD +:107B1800EF50E2416C0013052031EF5042413C85A3 +:107B28001A246373F7001EA43C863A2463F3E70023 +:107B38003EA41E243A246373F7003EA42A20EF4093 +:107B4800212C7A24562432240E242A2001488147E5 +:107B5800EFC0A04F05B741114AC006C622C426C2CD +:107B680017D9FB1F13094990034779009307F00FB2 +:107B78006302F706AA8439CD682551059780FB1F53 +:107B8800E780006D2A8439C59307000D1EA1D947E7 +:107B98003CA1DE205EA1FC207CA1FC307CB19C24B1 +:107BA8001CA5DC345CB5F02470A515C28C485105C1 +:107BB80008C89780FB1FE7806079A28522440345A7 +:107BC8007900B2409244024941016FC00FE923286D +:107BD8000500E5B7B240224492440249410182803F +:107BE800C1679386E7FF2A87639DD50097C7FB1F68 +:107BF80083A787398DC39C230D45639FE7006FC01A +:107C08000044FD1749456399F50097C7FB1F83A7F3 +:107C1800A737F5F7828049458280397122DC06DE74 +:107C280026DA4AD84ED652D456D25AD01821854789 +:107C38002A84630BF7001025930695009305E1014C +:107C48000545EFE0CFDA0DED8147014514201147D6 +:107C5800638FE60217C7FB1F0327473618338D4685 +:107C68006307D7028DC705C711ED0145F25062546D +:107C7800D2544259B259225A925A025B21618280E7 +:107C88001C21E9B785466311D7048D8BF9DF0830CD +:107C9800930524002EC6EFE06FF008B017C9FB1F4C +:107CA8001309093283270900AA8981449DC3B24573 +:107CB80017CAFB1F130A0A31130BF00F83470A0078 +:107CC80063EBF400814481A08946E310D7FA858BE1 +:107CD80075BF054561BF83270900939A4400D6976D +:107CE8009823630C6705983363193705194613857C +:107CF80027002EC69780FB1FE780C076B24515CDBA +:107D080083240900D69418209147C1E8E30FF7F4BB +:107D180083240900B9D883460A0081471306F00F67 +:107D2800E385F6F403C8040013850401630BC80057 +:107D3800850793F7F70FAA84E5B7850493F4F40F42 +:107D4800B5BF98A01C301385240019469CB09780B5 +:107D5800FB1FE780A05F082491659385F5710505F1 +:107D68009780FB1FE780002F05C1182091476314F7 +:107D7800F702C8C41024930594000505A30FC5FE97 +:107D88009780FB1FE780805C1C24A1F708207D15E5 +:107D980013351500E1BD88C4F1BF6311F706C84467 +:107DA8001C2405C11021630DF604182091476317A0 +:107DB800F706C84419C59780FB1FE780C03623A67D +:107DC8000400082491659385E57105059780FB1FDC +:107DD800E780402805C118209147631AF704C8C4F2 +:107DE8001024930594000505A30FC5FE9780FB1F7B +:107DF800E780C05508243335A0008DBD88444DB7B1 +:107E08009305940005059780FB1FE780A0658547CB +:107E1800E31DF5F85545EFE09FF09DBF884455D127 +:107E28009780FB1FE780203023A4040059BF88C433 +:107E380045BF397122DC4AD84ED652D406DE26DA3E +:107E480056D25AD05ECE2A84130925000831CA8535 +:107E580017CAFB1F130A8A16EFE04FD408B083270E +:107E68000A000D47AA899C336391E70217CAFB1FD2 +:107E7800130A0A1583270A00814497CAFB1F938AAD +:107E88006A146393071005452DA0EDD3144C703880 +:107E98009305E1000545EFE08FB5AA841DC90327C6 +:107EA8000A0085461C2118336310D7028D8BDDFF2D +:107EB8000145F2506254D2544259B259225A925A48 +:107EC800025BF24B216182808946858BE310D7FAE9 +:107ED800F9BF1C2011476385E7002D47E39AE7FCAB +:107EE80097CAFB1F938ACA0D83A70A00014A97CB3A +:107EF800FB1F938B2B0DCDDF03C70B00B3470A087D +:107F080063E4E700A5F46DB703A50A00131B4A0054 +:107F18001C205A9518216310F7021C31639D370104 +:107F28001946CA8509059780FB1FE780A05301C53C +:107F380083A40A00DA94050AC1B783A9840059A862 +:107F48000C4C138519009780FB1FE780A0518547CB +:107F58006317F5085545EFE09FDC4DC191BF1C2024 +:107F680011476385E7002D47639DE700C8C4703853 +:107F78000505A30FC5FE0C4C9780FB1FE780003D4D +:107F8800B5A888C4EDB7850403C70A00B3C70408B9 +:107F980063F8E70603250A00139B44001C205A9542 +:107FA8001821E312F7FE1C31E39F37FD1946CA85F5 +:107FB80009059780FB1FE780E04A71D583240A00F2 +:107FC8001C201147DA946385E7002D47E397E7F60D +:107FD80083A9C4007C3803C60900E303F6F64E857E +:107FE8009780FB1FE7802014683891659385E571B9 +:107FF80005059780FB1FE780E00535F1E39504E868 +:1080080003C70A0083240A0081479306F00FE3FCA4 +:10801800E7E68C20138604016387D5008507B284C0 +:10802800B3C70708EDB7E38004E61C20CA851385AB +:1080380024009CA01C3019469CB09780FB1FE78049 +:10804800E030683891659385F57105059780FB1FC9 +:10805800E7804000E30905E218209147631DF70017 +:10806800C8C470380505A30FC5FE0C4C9780FB1FCC +:10807800E780C02D09BD88C4EDB701114AC806CEF6 +:1080880022CC26CA17C9FB1F1309093E03477900EA +:108098009307F00F630DF706AA8435C961459780E9 +:1080A800FB1FE780E01A2A843DC19307000D1EA13B +:1080B800D5473CA1BC30938584002EC63CB1DE2058 +:1080C8005EA1FC207CA1E830EFE04FADB24568B07E +:1080D8001946130584009780FB1FE7802027FC249E +:1080E800A285034579007CA49E281EA8BC283CA82C +:1080F800BC383CB8DC285CA8DC385CB8FC287CA818 +:108108006244F240D244424905616FC00F95F24083 +:108118006244D244424905618280411126C206C6A2 +:1081280022C497C4FB1F93842434F8309307F00FBC +:108138006309F7022A8415C519459780FB1FE78054 +:108148002011AA8519CD9307000D1EA1DD473CA17A +:108158005E202244B2405EA1E830924441016FC0E3 +:10816800CF8FB2402244924441018280011126CA35 +:1081780097C4FB1F9384C4E49C4006CE22CC4AC813 +:108188004EC652C49DC32A89AE89131A45000144BC +:10819800884063144403638C09049780FB1FE780BD +:1081A80080F897C7FB1F23AD07E0F2406244D24432 +:1081B8004249B249224A05618280B307850088474F +:1081C80009C99780FB1FE78000F69C40A29723A46B +:1081D80007009C40A297C84709C99780FB1FE78002 +:1081E80080F49C40A29723A60700410455B755DDAB +:1081F800228681459780FB1FE780C01B94408147FA +:108208007D5613F7F70FE37227FB1397470036974E +:1082180010A38507FDB7797152CC17CAFB1F130A43 +:10822800EAD983270A0006D622D426D24AD04ECECF +:1082380056CA5AC85EC6E9C72A8997CAFB1F938AD5 +:108248006AD8814419ED97C6FB1F83A666D791CAE1 +:1082580003C60A0081479305F00F13F7F70F636908 +:10826800C7021395340021059780FB1FE78040FE65 +:108278002A8415E921459780FB1FE78060FD2A8441 +:1082880035C1C5679387073D1CC123220400A9A0F7 +:1082980013974700369718236305B700850493F4AE +:1082A800F40F85075DBF930700FD1CA18547A30058 +:1082B80025013CA124B1F1D8130985002322250109 +:1082C800814917CBFB1F130BABCF930BF00F83C761 +:1082D8000A0063F3F900A1E083270A00A285882336 +:1082E800EFB0BFF703C50A008145493503250A00E9 +:1082F8009780FB1FE78020E397C7FB1F23A007CCCD +:10830800B250225492540259F249624AD24A424B1C +:10831800B24B4561828083250B0093974900BE9537 +:108328009C21638377032300F9009C3113052900FE +:10833800FD14A300F9001946890593F4F40F9780FA +:10834800FB1FE780A0002109850993F9F90F41B7C0 +:1083580097C7FB1F83A787C6A9C7411122C406C6B2 +:108368002A8415E10945EFE09F9B2A8601C98545C6 +:1083780017C5FB1F0345450FEFC04F940545EFF0A8 +:10838800AFE42A8411C9854517C5FB1F0345C50DF0 +:10839800EFC02FBC22854135B2402244054541013A +:1083A80082800145828089679386B7006315D5006E +:1083B8009C45882371BF9386C7006317D5009C45E9 +:1083C8008546882319C9FDB793861704E302D5FEAD +:1083D800938727048146E304F5FE368582800111E0 +:1083E80006CE22CC26CA4AC84EC652C456C261C15D +:1083F8003C312A898DC3444199CC5945EFE03F92DD +:10840800814997CAFB1F938A6ABB131A4560834741 +:10841800390063EBF900F2406244D2444249B24960 +:10842800224A924A056182808387840263C847078B +:1084380083A70A00A5C72685EFF02FFE25C188244B +:1084480051059780FB1FE780A0E02A8421C9930784 +:10845800000D1EA1B5473CA19C2019469385240018 +:108468003CB18387840215057CA19C30A30FF5FEDF +:108478009780FB1FE78080ED902450A415C6130554 +:10848800440108C8938594009780FB1FE78000EC9F +:1084980083A70A00A2858823EFB03FDC850993846F +:1084A800940293F9F90FA5B723280400D5B797C705 +:1084B800FB1F83A7A7B0A5D3B93B6244F240D244BF +:1084C8004249B249224A924A014505616FF0CFCF2D +:1084D800797106D622D426D24AD04ECE52CC56CA6C +:1084E8005AC85EC655CD3C312A898DC744419DC0C6 +:1084F8005945EFE0DF828904814997CAFB1F938AB7 +:10850800EAAB130B00FDC14B131A456083473900D2 +:1085180063EDF900B250225492540259F249624A6A +:10852800D24A424BB24B456182808387D40063C4F0 +:10853800470783A70A00A5C351459780FB1FE7801B +:1085480020D12A8429C923006501A300050023013D +:10855800750183C7E4FF1946A6853CB18387D4001B +:1085680015055CB583C7F4FFA30FF5FE9780FB1FC5 +:10857800E780C0DDFC20938574001305C4003CB47B +:1085880019469780FB1FE78060DC83A70A00A28555 +:108598008823EFB09FCC850993F9F90FC104BDB7C3 +:1085A80097C7FB1F83A787A1B5D7B5312254B2500F +:1085B80092540259F249624AD24A424BB24B01459F +:1085C80045616FF06FC0797106D622D426D24AD0A1 +:1085D8004ECE52CC56CA5AC85EC662C466C2630C36 +:1085E80005223C312A8985CB404115C45945EFE025 +:1085F8000FF30904814917CAFB1F130A2A9C914BE0 +:10860800354C175B0200130BAB5B931A456083472D +:10861800390063EFF900B250225492540259F249DA +:10862800624AD24A424BB24B224C924C45618280FC +:108638008307A40063CA571583270A0063860714B3 +:10864800834CE4FF93F70C01CDC793870CFF93F796 +:10865800F70F6369FC00B3C767219C43DA978287E9 +:10866800230F04FE1305E4FFEFF0AFFC630E0510C3 +:108678008347E4FF63EFFB1005476398E70A51451A +:108688009780FB1FE780C0BCAA84630F050E930781 +:1086980000FD1CA1C147A30005003CA18347E4FFDE +:1086A8001946A2853CB18307A40015055CB583472C +:1086B800F4FFA30FF5FE9780FB1FE78020C97C24F9 +:1086C80019469305F400BCB41385C4009780FB1FBA +:1086D800E780C0C765A08547230FF4FEA30A0400FE +:1086E80051B78947230FF4FEB5BF8D47E5BF9147C2 +:1086F800D5BF93F78C0099C3AD47EDB713F71C00AE +:1087080093F74C0011C799C39547F9B7A147D9BF4B +:1087180013F72C0011C799C3A5477DBF9947D9B74F +:1087280099C3A947C1B79D4775BF48385105978078 +:10873800FB1FE780E0B1AA8421C99307000D1EA1A1 +:10874800B5473CA18347E4FF1946A2853CB183079E +:10875800A40015057CA18347F4FFA30FF5FE9780BD +:10876800FB1FE780A0BE5038D0A419C6138544016A +:1087780088C88325640199BF23A8040083270A00B9 +:10878800A6858823EFB07FAD850993F9F90F7104A9 +:10879800BDBD4838130505029780FB1FE78040AB35 +:1087A800AA847DD19307000D1EA1C9473CA1834728 +:1087B800E4FF93FC0C061946B3E797013CB18347E5 +:1087C800F4FFA2851505A30FF5FE9780FB1FE78030 +:1087D800E0B77C2019469305F400BCB47C301385BF +:1087E8003401DCA41C24DCB41C34FCA48307A400DE +:1087F800FCB45E249EA87C24BCA89780FB1FE7805D +:10880800E0B4503890BC09C613850402C8CC95B7AB +:1088180023AE0400A5B797B7FB1F83A7277AE38C7D +:1088280007DEEFF05F9F2254B25092540259F2498A +:10883800624AD24A424BB24B224C924C01454561A6 +:108848006FF08F9817B7FB1F0327477705CB1823BF +:10885800AA870D456315F7024111854517C5FB1F0A +:10886800034585C006C6EFB0DFEE13050003EFF041 +:108878009F9AB240014541016FF00F9549458280AA +:1088880079714AD017B9FB1F130949738327090067 +:1088980006D622D426D2CDEB17C4FB1F1304C4BCC2 +:1088A8005820C947298B51CB9165AA849385D571E6 +:1088B80011459770FB1FE780E0792320A900CD4779 +:1088C8002DCD78309307F00F6314F7009C207CB00F +:1088D8001146A6859780FB1FE78040A793053101C5 +:1088E8001305F041EF20323097C7FB1F9387C795D8 +:1088F800A023034731013334800011C30904130551 +:108908001002EFE0CFC11376F50F0589E14715C5D1 +:10891800154532C6EFE0AFC0BC20E8841945230AEC +:10892800F100EFE0CFBF3246AC30E8867C0838086B +:1089380054082285EFB0607BAA87B2502254925423 +:1089480002593E8545618280C547C5BF1971A2DCC1 +:10895800A6DA86DECAD897C4FB1F9384E4B0DC206D +:108968004944A18BB9CF97B7FB1F83A7276541441B +:10897800A9EB2A89EFE05F8C9C2455446373F504C6 +:1089880097B4FB1F938444609C4045449DEB9165DC +:108998009385C57129459770FB1FE780A06B88C038 +:1089A8004D4405C12946CA859780FB1FE780009A78 +:1089B80013056002EFE0AFB61374F50F058909E9F6 +:1089C8006144F65022856654D6544659096182801E +:1089D80013060003814588009780FB1FE780809D70 +:1089E8004145EFE0CFB32316A1043D45EFE02FB397 +:1089F8002319A1043545EFE08FB2231CA1043945A2 +:108A0800EFE0EFB1231FA1042145EFE04FB123129E +:108A1800A1061D45EFE0AFB09C402315A1061364E5 +:108A280024009C33F1C72D45EFE06FAF2310A1045C +:108A38003145EFE0CFAE2313A1041305C002EFE0E8 +:108A48000FAE2317A1041305B002EFE04FAD231AB0 +:108A5800A10413059002EFE08FAC231DA1041305B8 +:108A6800A002EFE0CFAB2310A10613058002EFE0D0 +:108A78000FAB2313A10613057002EFE04FAA9C4029 +:108A88002316A106A83393854700EFD09F8D2AD6D9 +:108A98009305F1031305F041EF20F21497B7FB1F7C +:108AA8009387877AAC230347F1033256B335B00076 +:108AB80011C389059440FC002287A8223EC8930769 +:108AC80021053EC6BC083EC49307E1053EC2DC1042 +:108AD8003EC09308A106130861049C009106EFB0FC +:108AE80040612A84E30F05EC0D45EFE0CFDCD1BDF2 +:108AF8002545EFE0CFA22310A10429451DBF97C744 +:108B0800FB1F83C7A796A18B17B5FB1F1305854AC3 +:108B180091E301456FD0AFE197B7FB1F2384074A64 +:108B2800FD5717C7FB1FA304F79497B7FB1F23A98B +:108B3800074897B7FB1F23A3074897B7FB1F9387DF +:108B4800A772170700001307478698C31707000086 +:108B580013072789D8C3170700001307A79798C7D3 +:108B680017070000130767A6D8C717F7FFFF1307F3 +:108B7800C7FE98CB97B7FB1F9387C74317F7FFFF2D +:108B88001307470698C317F7FFFF1307C7E7D8C3AC +:108B98008280411122C426C206C617B4FB1F1304E3 +:108BA8006442AA8408208545EFF04FDC97C7FB1F75 +:108BB80083C7C78BA98BBDC717B5FB1F1305C56A2C +:108BC80004A0EFD02FD697B4FB1F9384643F9C403A +:108BD80099C74D45B2402244924441018280082001 +:108BE80019E10145C5BF91659385B5711205977067 +:108BF800FB1FE780204688C069DD102081451206EA +:108C08009770FB1FE780007B142090408147FD553B +:108C180013F7F70FE377D7FC1397470032970CA3A6 +:108C28008507FDB7014597B7FB1F238D0738EFD0A0 +:108C38006FCF45BF17B5FB1F0325453511CD411132 +:108C480006C69770FB1FE780004EB24097B7FB1F20 +:108C580023AE07324101828082800111130570031F +:108C680006CEEFE0CF8B2AC613058003EFE02F8BEB +:108C78002AC413059003EFE08F8A2246B245F240DA +:108C8800AA86054505616FB080455D711305D0035F +:108C980086C6A2C4A6C2CAC0EFE06F882A8413059C +:108CA800C003EFE0CF87AA841305E003EFE02F8726 +:108CB8002A891305F003EFE08F868A871377F50F6B +:108CC8009376F90F13F6F40F9375F40F0545EFB08B +:108CD8004043B640264496440649616182800111AA +:108CE80022CC06CE26CA0D472E846317E504B83178 +:108CF800E947CA2197B4FB1F938404556315F7000D +:108D0800FE206387A70497A0FB1FE78040E6722038 +:108D180011C172A53A2416244E202830EFD09FB8EE +:108D28005A20FE206314F700FD57FEA00545F240C7 +:108D38006244D2440561828009674D07AA87631C93 +:108D4800E500BC2131476385E7004547E390E7FE2E +:108D5800EFD00FC5E1BF31476319E50017B5FB1F19 +:108D68000345D570EFD05FBFD1B713076002631911 +:108D7800E50017B5FB1F0345756FEFD0BFC27DB780 +:108D880041677D170145E394E7FAD831C947E310F5 +:108D9800F7FACC212A20300023140100EF60103D9F +:108DA80071B71971A2DC17B4FB1F1304241E1C40F1 +:108DB80086DEA6DACAD8CED6D2D4D6D2DAD005453F +:108DC800638A070C9305F1051305F041EF20A261B2 +:108DD8009305F1051305F041EF20E26097B7FB1FFB +:108DE80093878746BC230347F105B337F00011C3C7 +:108DF80089071840BEC6283393054700EFD06FD6C1 +:108E08001840AAC40D452C23AEC2EFD05FF1AAC00A +:108E18001145EFD0DFF0832A04002ADE654503C739 +:108E2800AA0003CBBA003ADCEFD07FEF2A84694569 +:108E3800EFD0FFEEAA847145EFD07FEE2A896D4509 +:108E4800EFD0FFEDAA897545EFD07FED2A8A7945E5 +:108E5800EFD0FFEC2648B6476257F25606469645CD +:108E68001375F50F137AFA0F93F9F90F1379F90FB0 +:108E780093F4F40F2ACC1314446002D002CE52CAE1 +:108E88004EC84AC626C422C25AC093884A0005451D +:108E9800EFB0C01FF6506654D6544659B659265AF4 +:108EA800965A065B09618280411122C44AC006C6EF +:108EB80026C217B9FB1F1309791283470900130744 +:108EC800E00F2E846382E7041307F00F6385E7023F +:108ED80011459770FB1FE780A037AA8509CD930736 +:108EE80000FD1CA189473CA1854700B13CB1034561 +:108EF8000900EFB08FB6F9572300F900B2402244B9 +:108F08009244024941018280AA8411459770FB1F4F +:108F1800E7800034AA857DD1930700FD1CA189470D +:108F280000B13CA124B12244B2409244024917B591 +:108F3800FB1F0345A50A41016FB02FB279714AD0D2 +:108F480017B9FB1F130989048327090022D406D601 +:108F580026D24ECE52CC4544C5EB97B4FB1F938422 +:108F6800A450DC204944958BC5C32E8A916597B7D8 +:108F7800FB1F2385A706AA899385757131459770CC +:108F8800FB1FE780200D2320A9004D4435CD230089 +:108F98003501A30005002946D28509059770FB1FF6 +:108FA800E780C03A0327090091463C2363E7F606A9 +:108FB800CD4691CF0546F546638BC7000946C9469D +:108FC8006387C7000D46C1466383C700D54634A3EF +:108FD800930571001305F041EF20E2409C83C5E33F +:108FE80017B7FB1F034767268D47631AF708EFD0AB +:108FF8000FC52C00EF70500F2800EFD07FAC45450F +:10900800EFD0FFD125E50144B25022852254925475 +:109018000259F249624A45618280ED1793F7F70FCA +:1090280095460544E3E2F6FE975602009386C6BCD1 +:10903800B3C7D7209C43B697828789473CA319A01A +:10904800230107006545EFD09FCD9307F007E301A3 +:10905800F5F8032709003C2393E707043CA38DBFD9 +:109068008547E9BF9947D9BF9147C9BF130600642F +:109078003306C50288209145EFB04FC469B7153350 +:109088002A8451D1EFF01FBB41B7011126CA97B40A +:10909800FB1F9384A4EF9C4022CC06CE4AC84944C7 +:1090A800A1C79C230D446391A70417B9FB1F13099B +:1090B800A93B034509008945EFB0AFE9034509001D +:1090C800914597B7FB1F239907F0EFB08FE89C40B5 +:1090D8000147814680B31306F10085478545014560 +:1090E800DC87EFA0907F2A84F24022856244D24434 +:1090F800424905618280011106CE22CC26CA4AC89F +:109108004EC68547631EF50617B4FB1F1304C4EC4F +:109118001E20B1CB17B7FB1F0347471329E71307D7 +:10912800B003636EF70297B4FB1F9384E43388207F +:109138008945EFB00FE212209307006488203306B8 +:10914800F6028945EFB08FB797B7FB1F239607E85C +:10915800F2406244D2444249B24905618280938711 +:1091680047FC1EA0F5B797B7FB1F83A727E2EDD3EF +:109178006244F240D2444249B2498823056131B77A +:1091880097B9FB1F938989E083A70900F1D317B921 +:10919800FB1F1309692D83474900918BD5DB89474C +:1091A8006311F5062D45AE849770FB1FE780400AD2 +:1091B8002A8459DD930700FD1CA1E547A30005009B +:1091C8003CA1BC3015051946230FF5FEDC2093851C +:1091D8005400A30FF5FE9770FB1FE7802017034587 +:1091E80059009307F00F6315F50083A7090088233A +:1091F800A2856244F240D2444249B24905616FB047 +:10920800CF85034509008945EFB0AFD46244F240E9 +:10921800D2444249B24997B7FB1F239F07DA056139 +:109228006FF05FA197B7FB1F83C74724958B89CF42 +:1092380097B7FB1F83A787D991CB854717B7FB1F24 +:10924800A30DF7D86FF07FA1494582804145828000 +:1092580097B7FB1FA38307D8854501456FA0B06862 +:1092680097B7FB1F83C78720958B81CB854717B797 +:10927800FB1F2304F7D66FF05FA14945828097B79B +:10928800FB1F238C07D4814505456FA0D06797B78E +:10929800FB1F83C7A71D958B638B0712011122CC77 +:1092A80006CE26CA4AC84EC69307C01C328463FA43 +:1092B800C7000945F2406244D2444249B2490561B7 +:1092C800828097B7FB1F83A767CC6384071097B783 +:1092D800FB1F9387B7D0B68994231307E00F639ACF +:1092E800E60E88A31305860033450508ADC99165C8 +:1092F800938565719770FB1FE780C0D5AA8455D9FF +:1093080017B9FB1F130909CD0325090009C5977073 +:10931800FB1FE78040E11385840088C022868145D1 +:10932800232099009770FB1FE780C0088327090056 +:109338002286CE8588439770FB1FE780200183270C +:109348000900A286F240C2A36244D2444249B2490B +:10935800984305468D45054505616FA09057916571 +:10936800938555719770FB1FE780C0CEAA8431D1D1 +:1093780017B9FB1F1309C9C50325090009C597704B +:10938800FB1FE78040DA1385840088C02286814568 +:10939800232099009770FB1FE780C00183270900ED +:1093A8002286CE8588439770FB1FE78020FA8327A3 +:1093B8000900A286F240C2A36244D2444249B2499B +:1093C800984305468D45054505616FA0D050494530 +:1093D80082804945C5B59307C01C63FCA7000945B1 +:1093E80082800945F2406244D2444249B24905614B +:1093F8008280011122CC06CE26CA4AC84EC62A84CB +:1094080025C1AE89916521059385657133450508A8 +:109418009770FB1FE78000C4AA8461D517B9FB1FAA +:10942800130949BB0325090009C59770FB1FE7808D +:1094380080CF1385840088C0228681452320990027 +:109448009770FB1FE78000F7832709002286CE85E7 +:1094580088439770FB1FE78060EF83270900C2A34A +:1094680097B7FB1F83A787B285CF97B7FB1F83C723 +:10947800E7FF958B85CB97B7FB1F83A7A7B591CF40 +:109488009843D6236244F240D2444249B249054641 +:109498008D45054505616FA0D04301478146DDB77D +:1094A800014589B749453DBF9307C01C63FCA70028 +:1094B800094582800945F2406244D2444249B24992 +:1094C80005618280011122CC06CE26CA4AC84EC642 +:1094D8002A8425C1AE899165210593855571334547 +:1094E80005089770FB1FE780E0B6AA8461D517B915 +:1094F800FB1F1309E9AD0325090009C59770FB1F78 +:10950800E78060C21385840088C0228681452320B5 +:1095180099009770FB1FE780E0E9832709002286FE +:10952800CE8588439770FB1FE78040E283270900B8 +:10953800C2A397B7FB1F83A767A585CF97B7FB1F64 +:1095480083C7C7F2958B85CB97B7FB1F83A747A81F +:1095580091CF9843D6236244F240D2444249B2495B +:1095680005468D45054505616FA0F03601478146E2 +:10957800DDB7014589B749453DBF9307C01C63F472 +:10958800A70009458280797122D406D626D24AD00E +:109598004ECE2A842DC1AE899165210593857571BA +:1095A800334505089770FB1FE780C0AAAA840945C0 +:1095B800A9C817B9FB1F130969A10325090009C523 +:1095C8009770FB1FE78020B61385840088C0228629 +:1095D8008145232099009770FB1FE780A0DD832732 +:1095E80009002286CE8588439770FB1FE78000D646 +:1095F80083270900C2A397B7FB1F83A7279989EB85 +:109608000145B250225492540259F2494561828070 +:1096180097B7FB1F83C787E5958B4945FDD36C003A +:109628001305D030EF30B210B24793F7070FE9DBDC +:1096380097B7FB1F83A787999443D2238D45054588 +:10964800EFA0302A7DBF97B7FB1F83A7A79889CFC4 +:10965800D2238C43411106C69770FB1FE78000CFC9 +:10966800B2400145410182800945828097B7FB1FBE +:1096780083A7479685C717B7FB1F032767958947B1 +:1096880019CF52230C43411106C69770FB1FE78080 +:10969800E0CBB24081473E854101828089473E85C3 +:1096A800828097B7FB1F83A7E79285C717B7FB1F71 +:1096B8000327C791894719CF52230C43411106C686 +:1096C8009770FB1FE78080C8B24081473E85410103 +:1096D800828089473E858280797126D206D622D437 +:1096E8004AD04ECE97B4FB1F938404B68D4783C9E6 +:1096F800240063FAA7000945B25022549254025933 +:10970800F2494561828098202A844145E316F7FE94 +:109718009307F4FF93F7F70F854663E8F60A2E8957 +:10972800B1ED99452800EFC07FA2A0A0914517B5DB +:10973800FB1F034565D3EFB0CF812800EFD04FB8AA +:1097480055E9930571001305F041EF10D2499C8348 +:10975800D1EB8D476318F4084545EFD04FDC59C16C +:1097680037761800130606A03306C502914517B5CB +:10977800FB1F034565CFEFA0DFF5ADA01946814576 +:1097880028009770FB1FE780E0C219462C004A8525 +:109798009770FB1FE78000CD39FD19469305F00F40 +:1097A80028009770FB1FE780E0C019462C004A8507 +:1097B8009770FB1FE78000CB1DFD1946CA8528005E +:1097C8009770FB1FE78080B88DB7630FE400914561 +:1097D80017B5FB1F034545C997B7FB1F238707A686 +:1097E800EFA03FF7014509BFC8442C00EF70C00F38 +:1097F800A0A00DDD2381340101B797B7FB1F83C7F4 +:10980800E7C6918B8DC3411117A5FB1F1305C57BB7 +:1098180006C6EFC01F93B240FD5717B7FB1F2318AA +:10982800F7A24101828001456FC0BF91FD5717A77C +:10983800FB1F2305F77AF95717A7FB1FA300F77A31 +:1098480097A7FB1FA38B077897A7FB1F238707788A +:1098580097A7FB1F2392077897A7FB1F23AC0776D0 +:1098680097A7FB1F23A6077697A7FB1F23A00776BA +:1098780097B7FB1F938787A0170700001307E720F8 +:1098880098C31707000013074787D8C317F7FFFFC8 +:109898001307675198C717F7FFFF1307473CD8C747 +:1098A80017F7FFFF1307A73E98CB97F7FFFF93879C +:1098B800474317A7FB1F2329F7708280411126C24F +:1098C80097A4FB1F9384846C9C4006C622C495CB46 +:1098D8002A840D459770FB1FE7808097AA8519C9D0 +:1098E800930700FD1CA18D4700B13CA19C40882333 +:1098F800EFA0BF9619C42244B240924441016FF0D0 +:109908006FB3B240224492444101828079714AD0B7 +:1099180017A9FB1F130989678327090006D622D4D4 +:1099280026D24ECE6383070E98338547AA8497B90B +:10993800FB1F938969916301F70483C749008DE789 +:109948000D459770FB1FE780A090AA8501CD93076E +:1099580000FD1CA1914704B13CA18327090088237D +:10996800EFA0BF8FEFF00FAD0545B25022549254CF +:109978000259F2494561828097A7FB1F83A7876533 +:1099880089CB9443D2239305E1000545EFC03F8678 +:1099980011ED0145EFD0AFB82A8621C6894517B524 +:1099A800FB1F034565ACEFA07FB125A81C21858B63 +:1099B800EDD30545EFD0AFB69307B0032A8463F122 +:1099C800A7045D6613060670894517B5FB1F034596 +:1099D800A5A9130444FCEFA0DFCF97A7FB1F239D85 +:1099E800875E83270900094798B383C7490091C751 +:1099F80097B7FB1F238C078485BF2685C135ADB774 +:109A0800930700643306F50249BF0145B9BF411108 +:109A180022C42A840D4506C69770FB1FE780408341 +:109A28000DC1930700FD1CA1CD4700B13CA1224404 +:109A3800B240AA8517A5FB1F0345455A41016FA0EF +:109A4800DF81B240224441018280411122C42A842C +:109A58000D4506C69760FB1FE780807F0DC1930701 +:109A680000FD1CA1ED4700B13CA12244B240AA85EB +:109A780017A5FB1F0345855641016FA00FFEB24095 +:109A88002244410182805A210111896606CE22CCE6 +:109A980026CA13866600AA876316C7009C47014535 +:109AA8008C2371A8138606046365E604138656039F +:109AB800636FE60013869600630BC7081386A6003B +:109AC800630DC712A1066309D7060145A5A8F97653 +:109AD8009386A6FC3697A94633470708E3E7E6FED0 +:109AE800974602009386C6123347D7201843369705 +:109AF8000287138616056307C71893862605E3169B +:109B0800D7FC1C45802397A7FB1F83C7074D2285D9 +:109B1800639D07160D459760FB1FE7806073AA8554 +:109B28000DC1930700FD1CA1F14700B13CA117A589 +:109B3800FB1F0345A54A91A29C4705458C23EFF0DE +:109B4800AFB60545F2406244D2440561828017A74A +:109B5800FB1F0327A743014575D79C47882359E96D +:109B680085471CB30545EFA0404DE1BF1C4597A4B0 +:109B7800FB1F9384B4461307E00F80239C20638B5C +:109B8800E7021307F00F6384E70211459760FB1F94 +:109B9800E780006CAA8501CD930700FD1CA18947C9 +:109BA80000B13CA1A30105008820EFA00FEBF957F5 +:109BB8009CA041BF97A4FB1F9384443D9C40014552 +:109BC800D1D305E805447D454085EFD04F9568869B +:109BD80013050002EFD0AF949C40C8851307B1006D +:109BE80080B374001306A10085450545EFA0E04E3B +:109BF80089BF2285EFF09FCCA9B79C476244F24009 +:109C0800D244882305616FF07FD01C4509458C2319 +:109C18003DB71C4588232DE56C001305D030EF3087 +:109C28000231B247414793F7070FE38CE7F09305FA +:109C3800B10013056031EF30822F88858545EFA08C +:109C4800804A01B71C45802397A7FB1F83C7F738B5 +:109C580022859DE70D459760FB1FE780605FAA8519 +:109C6800E30105EE930700FD1CA1D14700B13CA11B +:109C780097A7FB1F83A787318823EFA00FDED1B5F5 +:109C88007933C1B51C45882319C1C1335DBD8545EC +:109C98000545EFA0404775B5411122C417A4FB1F25 +:109CA8000344C47C06C6158809CC17A5FB1F1305F9 +:109CB800E55CEFC06FC84D44B240228522444101A3 +:109CC80082800145EFC04FC7C5BF98219376250014 +:109CD8009377D70F99C29367270093F6F70713175F +:109CE80045606354070093E607081378850093F7E7 +:109CF800760F6304080093E786009376050299CEF1 +:109D080093E707029CA1635707001C2293E7C7004B +:109D18001CA282801375A5026DF9828093F7F7FD66 +:109D28009CA1E34407FE9377A502E5F37DF11C228D +:109D3800CD9BF9BF2D45631C0710011126CA4AC8DF +:109D48004EC606CE22CC9821BE8989472E89B68474 +:109D5800631EF704DC413284983394232207558F1D +:109D68008D66938746A01316576063C9C70293860A +:109D7800F69F63DDC602F5779387F75F3E978D47B9 +:109D8800C8453347070863E7E7029746020093860A +:109D9800E6EA3347D7201C43B6978287938766AA9B +:109DA800630EF608938686B8630FD60823900400DE +:109DB800054525A09760FB1FE780E062334605084C +:109DC8003356360B92A08325C9001DA01E210947D2 +:109DD8009AA01CA0A1831CB00145F2406244D24461 +:109DE8004249B2490561828099479EA01946AA85D1 +:109DF80022859760FB1FE7806055F9BF85479EA0C5 +:109E08001C211CA0D1BF05C9A1479EA01E211CA0D2 +:109E18001E21A1831CB03E213CA03E21A1833CB061 +:109E28005E215CA05E21A1835CB07E217CA07E21A6 +:109E3800A1837CB055B72390040079BF85479EA0C5 +:109E4800DC459C237DBFE1479EA06146ADBF828073 +:109E5800797122D44AD006D626D24ECE52CC56CAD2 +:109E68003A89982189472E84631DF7025C40B6849D +:109E7800B28503C8170094238D6722083368D80079 +:109E8800938627A013185860630BD8102A8A63CCCE +:109E98000601938607A0630BD802938717A0630077 +:109EA800F80A854711A8138737A0630FE80A1387B4 +:109EB80067AA8D47E317E8FEB2502254925402591C +:109EC800F249624AD24A3E8545618280484432C698 +:109ED8009760FB1FE78020519D4733450508E36DD8 +:109EE80025FD97AAFB1F938AAA1083C70A00B30906 +:109EF8009900B24563D43701B5477DBF48442686EB +:109F0800B3C909084A959760FB1FE780204403C638 +:109F18000A00484481450506330636414E95976048 +:109F2800FB1FE780204997A7FB1F83A7A70C99E38E +:109F3800814759B79C438145E5DF528525A0AD4748 +:109F4800E31C09F6E39AE4FA1C321822A207D98F17 +:109F580058441EA397A7FB1F83A7C709F1DB9C439F +:109F68008545F9D78297E9B717A7FB1F0347F70776 +:109F78008D4739D3AD47E31109F49947E39EF4F6C9 +:109F8800484419469760FB1FE780403C97A7FB1F92 +:109F980083A74706D1DF9C43C1DF8D4579BF17A74B +:109FA800FB1F034707F4218B8D4719D7AD47E315EE +:109FB80009F08547E392F4F4182293070008E3EDCB +:109FC800E4EE5C4498A3ADB7411122C4094497A7B5 +:109FD800FB1FA38987F097A7FB1FA38487F097A788 +:109FE800FB1F238087F097A7FB1F23A5070097A7D0 +:109FF800FB1F238607FE97A7FB1F238B07FE97A748 +:10A00800FB1F239607FE97A7FB1FA38007FEA14708 +:10A018001946814517A5FB1F1305C5FC06C617A7DA +:10A02800FB1FA30FF7EA9760FB1FE780A03897A7ED +:10A03800FB1F238787EAB707A00017A7FB1F130793 +:10A04800A7E9938707051CC3B707E8035CC397A76D +:10A05800FB1F238187E885476146814517A5FB1FBC +:10A068001305053617A7FB1FA305F7E697A7FB1FE0 +:10A07800238187E697A7FB1FA38C87E497A7FB1F7D +:10A08800238007F69760FB1FE780C0321306001392 +:10A09800814517A5FB1F1305A51F97A7FB1F23893C +:10A0A80087E297A7FB1FA38C07F29760FB1FE78047 +:10A0B800603097A7FB1F9387E7DBB240224417075E +:10A0C8000000130767C798C317070000130787D84E +:10A0D800D8C323A4070041018280797122D426D2F3 +:10A0E80006D64AD04ECE52CCA1472E84B28463EB1A +:10A0F800A70017470200130767B53345E5201C4141 +:10A10800BA978287930710086304F51C63ECA700CD +:10A1180093072004630EF516930700086303F518E8 +:10A12800094591A093072008E31CF5FE8547639B2A +:10A13800F50208229377250095E797A7FB1F83C7A9 +:10A14800C7EA1387F7FF97A5FB1F938565141207C6 +:10A1580092072E97A1075047BE9585AA9307800FAF +:10A1680063FBB7006145B250225492540259F24938 +:10A17800624A4561828017AAFB1F130AAAD6834741 +:10A188000A0017A9FB1F1309A9109207CA97C84705 +:10A1980009C99760FB1FE78000F997A7FB1F238970 +:10A1A80007E4130614001376F60F9165938505717D +:10A1B800328583490A0032C69760FB1FE78080E931 +:10A1C80083470A009209CA99920723A6A900CA9749 +:10A1D800C84749D9324681459760FB1FE780801DF3 +:10A1E80083470A002286A68592073E990325C9005F +:10A1F8009760FB1FE780801597A7FB1F238A87DEE0 +:10A20800014595B78947E39FF5F41E2217A7FB1F61 +:10A21800231FF7DCF5B78547E396F5F41C2217A74B +:10A22800FB1FA304F7DCE9BF9947E39DF5F2194644 +:10A23800A68517A5FB1F1305E5DA9760FB1FE780C6 +:10A24800E0107DBFA147E39FF5F02146A68517A53D +:10A25800FB1F130565C8D5B78547E395F5F01C22A4 +:10A2680017A7FB1FA307F7C661BFE147E39CF5EEFD +:10A278006146A68517A5FB1F130585147DBF854775 +:10A28800E392F5EE1C2217A7FB1FA30AF7D48DBF94 +:10A298008547E399F5EC1C2217A7FB1F2303F7C496 +:10A2A80085B78547E390F5EC97A7FB1F83C787C35E +:10A2B8001387F7FF97A5FB1F938585FD12072E9738 +:10A2C800920750478820A107BE95EFF01FA00DBF49 +:10A2D8008547E399F5E897A7FB1F83C727D1C9BF2F +:10A2E800AA8721472E85636DF700174702001307D9 +:10A2F8002798B3C7E7209C43411106C6BA978287BF +:10A3080013072004638BE70889473E85828017A7D7 +:10A31800FB1F034727BD120797A7FB1F938747F724 +:10A32800BA97CC47894785C117A6FB1F034646CC79 +:10A338009760FB1FE780800131A097A7FB1F83D799 +:10A3480007CB9EA18147B2403E854101828097A7F5 +:10A35800FB1F83C797C91CA1F5B7194697A5FB1F13 +:10A36800938545C8F1B7214697A5FB1F9385C5B6C8 +:10A37800EF901FDBC1BF97A7FB1F83C797B5E1BF4E +:10A38800614697A5FB1F9385A5035DB797A7FB1F9C +:10A3980083C7F7C4C9B789477DB797A7FB1F83C78A +:10A3A80047B49CA1814795B7630F053897A7FB1F52 +:10A3B8009387E7C2982363180738054798A397A798 +:10A3C800FB1F9387E7EC894698A717A7FB1F23165F +:10A3D80007EC17A7FB1F1307E7B294A397A6FB1F69 +:10A3E800938606B6D8C7D4C37D57630CE534137774 +:10A3F8001500854529C717A6FB1F231806EA094734 +:10A4080097A6FB1F938606B317A6FB1F130696ADE8 +:10A4180098ABD4CBD0CF854617A6FB1F2304E6AC58 +:10A428002380E70217A7FB1F130747B0D8D394AFC1 +:10A438002384D70217A7FB1F231107E88D4513773D +:10A44800250025C3139745003E9797A6FB1F9386C3 +:10A4580066AE094654C317A8FB1F130898A885467B +:10A4680010A314A723260701231507001387150037 +:10A478003347070817A8FB1F230AE8B612073E97B9 +:10A4880010A314A717A6FB1F130606AA97A6FB1F5F +:10A498009386E6B5890550C32315070054C7B3C58D +:10A4A80005081377450025C3139745003E9797A6DF +:10A4B800FB1F938626A8094654C317A8FB1F130839 +:10A4C80048A2854610A314A72326070123150700D1 +:10A4D800138715003347070817A8FB1F2307E8B0A1 +:10A4E80012073E9710A314A717A6FB1F130686A3EF +:10A4F80097A6FB1F938676AF890550C323150700DF +:10A5080054C7B3C505081377850021CF13974500B5 +:10A518003E9717A6FB1F1306E6A150C305468946BA +:10A5280010A717A6FB1F1306B69B14A32315070035 +:10A5380050C7138715003347070812073E9714A31F +:10A5480097A6FB1F9386C69D54C3A14614A797A63A +:10A55800FB1F938626A989052315070054C7B3C591 +:10A5680005081377050121CF139745003E9797A655 +:10A57800FB1F9386269C094654C317A8FB1F130884 +:10A588002896854610A314A723150700232607013C +:10A59800138715003347070812073E9710A314A71F +:10A5A80017A6FB1F1306869797A6FB1F9386C692CE +:10A5B800890550C32315070054C7B3C50508137789 +:10A5C800050221CF139745003E9797A6FB1F938658 +:10A5D8006696094654C317A8FB1F1308A88F85461B +:10A5E80010A314A7231507002326070113871500B6 +:10A5F8003347070812073E9710A314A717A6FB1F97 +:10A608001306469197A6FB1F9386B68C890550C3FF +:10A618002315070054C7B3C505081377050421CFD0 +:10A62800139745003E9797A6FB1F9386A690094669 +:10A6380054C317A8FB1F1308C889854610A314A77D +:10A64800231507002326070113871500334707083A +:10A6580012073E9710A314A717A6FB1F1306C68B55 +:10A6680097A6FB1F9386C697890550C32315070035 +:10A6780054C7B3C505081377050821CF13974500BC +:10A688003E9717A6FB1F1306E68A50C35146894614 +:10A6980010A717A6FB1F1306B68314A323150700DC +:10A6A80050C7138715003347070812073E9714A3AE +:10A6B80097A6FB1F9386C68554C3854614A797A6FD +:10A6C800FB1F9386E6CF89052315070054C7B3C53A +:10A6D80005081375051039C9139745003E9797A6C5 +:10A6E800FB1F9386268554C3094685461795FB1F8D +:10A6F8001305057E10A314A72315070048C7138761 +:10A708001500334707081207BA9717A7FB1F130747 +:10A718002780D8C317A7FB1F1307778C890590A339 +:10A7280094A723950700D8C7B3C505089796FB1FBC +:10A7380093864674414617A5FB1F130565B56F3010 +:10A74800E0414D454DB9014582800111FD1522CCEE +:10A7580006CE328426CA3E864AC813F8F50FAD479E +:10A7680063E8070B3A89173702001307A7523348E3 +:10A77800E82083270800B684BA9782878545EFB01A +:10A788001FB901E5EFF04FD10145F2406244D244D0 +:10A798004249056182808945EFB07FB77DF5228502 +:10A7A800EFE02FBFD5B7914532C6EFB05FB632465E +:10A7B80069FDCA852685EFB03FACEFF0EFCDEFF02D +:10A7C800CF83EF60A07AC9B7A14532C6EFB03FB4D6 +:10A7D800324645FDCA852685EFB01FAA2285EFE0DF +:10A7E8004FBBEFE0CFB1EF60407679BFB14532C6DD +:10A7F800EFB0FFB1324651F9CA852685EFB0DFA721 +:10A808002285EFE00FB9EFE08FAFEF60007475B706 +:10A818000945A5BF79714ECEAE896C0022D426D2E7 +:10A828004AD006D62A89B284EF00306E2A840DE118 +:10A83800CE854A85EFB0CF8C2A8419E93245268720 +:10A8480097B6FFFF9386460B2D468145EF1000060D +:10A85800B2502285225492540259F24945618280AD +:10A86800397126DAAE844C0022DC4AD84ED652D44E +:10A8780006DEAA893289368AEF0030692A8421E9FE +:10A88800A685630D09009E202C007C84BE207C8553 +:10A89800930720307C86930780025C874E85EFB053 +:10A8A8004F832A840DE55946A6851305A100230484 +:10A8B80021019760FB1FE78060A91245528797B670 +:10A8C800FFFF938686FE25462C00EF00307EF2506F +:10A8D80022856254D2544259B259225A2161828047 +:10A8E800797126D2AE846C0022D44AD04ECE06D6D8 +:10A8F800AA893289EF0070612A840DE1A6854E8508 +:10A90800EFB0CF812A8419E932454A8797B6FFFF0D +:10A91800938646003546A685EF005079B2502285C9 +:10A92800225492540259F249456182807547AA8798 +:10A938006365B702114701456378B702ED1593F5D2 +:10A94800F50F61476361B702973602009386863731 +:10A95800B3C5D52098413697028793F5F5071307B5 +:10A968002005638AE50001458280C84782808843C4 +:10A97800828088478280C84382809307F00F630FE4 +:10A98800F506011126CAAA841305000222CC4AC87A +:10A998004EC652C456C206CE2E8AB28AB6893A89A3 +:10A9A8009760FB1FE780C08A2A844D450DC893072E +:10A9B80000FB1CA0A300540123114401230234010D +:10A9C80013058400614663050902CA859760FB1F69 +:10A9D800E780C097A2852685EF903F880145F24021 +:10A9E8006244D2444249B249224A924A056182806D +:10A9F80081459760FB1FE780E09BE9BF094582809E +:10AA0800011122CC06CE2A844C86D0869780FB1F63 +:10AA1800E780E01505C15425214797A7FB1F9387B9 +:10AA2800A7A4639DE600E82378009306E0070146A3 +:10AA3800A285A137F240624405618280C83378005C +:10AA48009306E0070146A285EDB793070064330635 +:10AA5800F6026F90FFBB15C1411122C406C62A84B5 +:10AA680008219307D00F63E6A700EF903FD8FD5762 +:10AA78001CA0B2402244410182808280797122D494 +:10AA880006D626D24AD04ECE9E2509448DEBAE84FA +:10AA98006C00AA893289EF0050472A840DE1A68507 +:10AAA8004E85EFA07FF32A8419E932454A8797B685 +:10AAB800FFFF938626F24D468145EF00305FB25086 +:10AAC8002285225492540259F249456182801A2102 +:10AAD8009307000B6310F7025C214947639AE7006C +:10AAE800183985476398E7002A2185456F30902AF1 +:10AAF8006D47CDBF828001116C846C0022CC26CAC0 +:10AB08004AC806CE2A89B6847085EF0010402A8488 +:10AB18000DE12C004A85EFA09FD22A8419E932451D +:10AB2800268797B6FFFF938646CD15462C00EF0083 +:10AB3800F057F24022856244D2444249056182803E +:10AB48007971930720306C8470857C862C0093077C +:10AB58008002014606D65C87EFF09FD0B25045616F +:10AB68008280C177797185073EC4894726D27C8661 +:10AB7800AE84930780024C0022D44AD006D62A8994 +:10AB88005C87EF0090382A840DE12C004A85EFA0FD +:10AB98001FE22A8419E91245268797B6FFFF938694 +:10ABA80046DE45462C00EF007050B25022852254F4 +:10ABB8009254025945618280B28605466FF05FCA99 +:10ABC800797126D2AE846C0022D44AD04ECE06D6F5 +:10ABD800AA893289EF0070332A840DE1A6854E8553 +:10ABE800EFA09FBD2A8419E932454A8797B6FFFF2F +:10ABF800938646BB0D46A685EF00504BB250228582 +:10AC0800225492540259F24945618280797193071E +:10AC180020206C8470857C862C0093078002014676 +:10AC280006D65C87EFF0DFC3B25045618280011120 +:10AC380022CC26CA4AC806CE2A84AE84328936C6B1 +:10AC48009780FB1FE780A0F215C95025A14632471F +:10AC580097A7FB1F93874781631DD600E823CA8601 +:10AC68002686A2856244F240D244424905616FF0CB +:10AC7800DFD0C833CA862686A285EDB7F240624483 +:10AC8800D24442490545056182806FF0BFB86FF034 +:10AC98007FB86FF0FFC46FF0BFC479714ECEAE8934 +:10ACA8006C0022D426D24AD006D62A89B284EF0074 +:10ACB800D0252A840DE1CE854A85EFA0FFC72A84D6 +:10ACC80019E93245268797B6FFFF938666C63D4643 +:10ACD8008145EF00B03DB25022852254925402596A +:10ACE800F24945618280B28601466FF07FB7011153 +:10ACF80022CC2E846C0026CA06CEAA84EF00F0204F +:10AD0800DD476309F500930710101EA4A285268568 +:10AD1800EFA09FCCF2406244D24405618280239424 +:10AD280005006FF0BFD5E5BF1797FB1F0347073135 +:10AD3800854763F8E702011122CC2E846C0026CAED +:10AD480006CEAA84EF00701C01E9930700101EA428 +:10AD5800A2852685EFA05FC8F2406244D24405610F +:10AD68008280594582809797FB1F23A9A728828054 +:10AD78009797FB1F23A2A7288280011122CC26CAFD +:10AD880006CE2A84AE849780FB1FE78040DEA68526 +:10AD98002285EFA06FF605E9228564869780FB1F60 +:10ADA800E780E0DC0DC1542521479797FB1F938767 +:10ADB800A76B639FE600E82378009306F007014637 +:10ADC800A285EFF09FBBF2406244D24405618280C5 +:10ADD800C833DDB7797122D44AD0AE8706D6BA8592 +:10ADE80026D24ECE7547328436896364F7042147EC +:10ADF800636CF70015476388E7021947638DE70816 +:10AE0800C167FD1785441DA037061400DD1713061A +:10AE18000620B317F0287D8E49EE19677D8F25EB44 +:10AE280093F71710F1DFC167FD1789446316F40221 +:10AE380021A813F7F70793062005E313D7FC41670A +:10AE48007D17631EE6048D442EC6EFA0AFEEB24513 +:10AE5800330495403344040833858400334505089A +:10AE6800EF30D000AA87B3C9040821C963040900D8 +:10AE7800231089002254B25092540259B30530412C +:10AE8800F2493E8545611753FB1F67004337C16789 +:10AE9800FD17954461BFC167FD179D4441BF130766 +:10AEA800200D8D44E39AE7FA1304C60033440408DE +:10AEB80065B7C167FD178D4495BFB25022549254AF +:10AEC8000259F24945618280011122CC26CA06CE78 +:10AED800D0212E841307000281469945AA84DD3DBE +:10AEE8002AC621C51E205020930554007C803E2090 +:10AEF8007C8189477C82930780025C839750FB1F83 +:10AF0800E780C0445C208A8526857C84EFA0DF9595 +:10AF18002A8411C532459750FB1FE780C020F240B4 +:10AF280022856244D244056182804D44CDBF397187 +:10AF380022DC26DA4AD806DE89472A84AE84368996 +:10AF48006306F600C14709456315F60432C6A9C071 +:10AF58004C082285EF00607B324605EDC1778507F6 +:10AF6800A6851305D1013ECC230EC1009750FB1FC7 +:10AF7800E780C03D2C082285813F01ED52454A8774 +:10AF880097B6FFFF9386E68C1D462C08EF0010123B +:10AF98000145F2506254D25442592161828039717C +:10AFA80026DA4AD84ED63289AE893686BA848146A0 +:10AFB80013071002D94522DC06DE2A8432C6EFF0D8 +:10AFC8007FE12ACE1DCD3246A685231A3101F084B1 +:10AFD800231B21019750FB1FE780403722854C082F +:10AFE800EFA03FA92A8411C572459750FB1FE7803F +:10AFF8008013F25022856254D2544259B2592161C9 +:10B0080082804D44FDB7011122CC06CE26CADD4709 +:10B018002A84639FF5085439B1441C49B3869602C3 +:10B028003287B697904314436306D6020A20230654 +:10B0380001006C00EFA09FA70824B165938505B8AF +:10B04800EF90EFB9E5473CA097B7FFFF9387C7A5F7 +:10B058005CC091A85623D223E31AD6FC88470C4734 +:10B068009750FB1FE7800040AA870A2089E723063C +:10B0780001006C00C1B75C385828850793F7F70FB3 +:10B088005CB863F4E702B38797021848BA97984701 +:10B09800D623B2238E23213751F90824B16593852D +:10B0A80005B8EF90CFB3D94431A87C285C86D1B7D6 +:10B0B8000A21AE846C0023060100EFA03F9F85475C +:10B0C800E39CF4F6F24062442685D244056182800E +:10B0D800011122CC06CE26CADD472A840A216398AC +:10B0E800F508EFA02FC5522C3E284E286D162A963B +:10B0F800334606083307F64052ACAA86334707089A +:10B108000A206372B7061388C6FFB388E54063D484 +:10B118000803AE97918FB3C607081C4C0E283E97BC +:10B12800EFF0FFE709ED0824B165938505B8EF90C6 +:10B138000FABD944B1A0ED16B3C60608F9BF0A2073 +:10B14800230601006C00EFA07F960824B165938563 +:10B1580005B8EF90CFA8E5473CA097B7FFFF9387C6 +:10B16800A7945CC0F9B785475C866C00E9BFAE84DC +:10B178006C0023060100EFA07F938547E397F4FC5A +:10B18800F24062442685D24405618280397126DA0C +:10B19800AE842C0022DC4AD84ED606DE2A89B28933 +:10B1A800AD232A8431E54A85EFA0CFB8D6206D15A6 +:10B1B80063C4A600B34605089844B2208E204A8589 +:10B1C800EFF0FFDD2A840DE53146A6850808230641 +:10B1D80001009750FB1FE7806017BE2022454E876D +:10B1E80097B6FFFF9386E6855D466C00FC867D2D4D +:10B1F800F25022856254D2544259B2592161828058 +:10B2080071B769B7797122D406D626D24AD04ECE04 +:10B2180052CC56CA5AC80944C1CD3289094449CAD0 +:10B22800AE84BA8A2A8A368BEFA0CFB0138744003F +:10B2380081477115162363DEA608850793F7F70F74 +:10B248003107E319F9FE8A855285C1212A842DE147 +:10B2580031453305A9029165938515704D44975082 +:10B26800FB1FE78020DFAA8921C531463306C902C2 +:10B27800A6859750FB1FE780600D9844D620B22022 +:10B288008E205285EFF0BFD12A8415ED02458547FF +:10B29800568797A6FFFF9386C67A5D464C005C8268 +:10B2A8004EC423062101A306010023076101FD2BDB +:10B2B800B2502285225492540259F249624AD24A23 +:10B2C800424B456182804E859750FB1FE780A0E581 +:10B2D800C5B76D44F1BF79714ECEAE89C16526D22E +:10B2E8000147AA8489461796FB1F130626C2FD1537 +:10B2F800054522D406D64AD0EF101001054429C9C5 +:10B308002A891307300281461146F5452685EFF054 +:10B318007FAC2AC655440DCD0357A900CE860146F9 +:10B32800788411477885054718A1B2472C002685EF +:10B33800A38007003247FD573CA332473CB3EF10C8 +:10B34800E0712A8411C532459750FB1FE780A0DDC4 +:10B35800B2502285225492540259F24945618280A2 +:10B36800411106C6EFF08FDC19C5B24041011753F1 +:10B37800FB1F670043DBB24041018280011106CE0A +:10B388002AC6EFA06F81324591459797FB1F23A7E7 +:10B3980007C69797FB1F23A107C69797FB1FA3858F +:10B3A800A70CEF30C027F24005616F20700F79714C +:10B3B8004AD006D622D426D201499397556063D83D +:10B3C80007041795FB1F0345350A2E899750FB1F65 +:10B3D800E78000EE2A845DC518219307000A6310F0 +:10B3E800F70A85474C08DC85EFA08F88AA841DC51D +:10B3F8009C8599C7084409C59750FB1FE780A0D2D0 +:10B408002A208545EF300019CD47639AF406B250DB +:10B41800225492544A8502594561828083476101CA +:10B4280091CF71476363F7064D476378F7069386B4 +:10B43800C7FE130730143357D74825C31797FB1F88 +:10B44800032787BB01C7034751012DCB9C8599C7AB +:10B45800084409C59750FB1FE780E0CC5247B7075F +:10B468000001938707F07D8FB707120093870710B5 +:10B478006307F70003476101ED476302F70A228576 +:10B48800EF809FD81319F96859B7138717FE1377F8 +:10B49800F70F93060002E3F3E6FA858B9DCB9797A7 +:10B4A800FB1F83A7A7B5A5C72A201306B1004C0820 +:10B4B80082979C85AA84ADEBD5D099B75C869947CD +:10B4C8002308F1002A206C0023170100EFA0EF9C4D +:10B4D800B5BF9797FB1F83A727B285CB2A201306F2 +:10B4E800B1004C088297AA8435D183475101E39172 +:10B4F80007F023089100834761012A206C005C86CD +:10B5080023170100EFA06F99E5B59944F9BF9C8511 +:10B5180099C7084409C59750FB1FE780C0C02A2077 +:10B528008545EF302007A1BF084459D59750FB1F28 +:10B53800E78060BF51B75D71A2C4A6C286C6CAC003 +:10B548004EDE52DC56DA5AD85ED6A5472A84B28433 +:10B558006392F50E834745021A2232228507230299 +:10B56800F5029307F7FFB307F602D440B3C70708FD +:10B57800B697542503CB070003C917008547638B8B +:10B58800F60493178900B3E7670141677D17638A5B +:10B59800E70A1A2863F7E70A50248507B3C707089C +:10B5A80085467EA40A209305E400631BD6007C84AC +:10B5B800930720307C869307800278855C872C006F +:10B5C800EFA02FB10824B165938505B8EF803FE15E +:10B5D80059458DA83307C702239004008149014AC1 +:10B5E800930B3501B34A0708E3FD59F9B620DC404F +:10B5F8002C2813865900ED163E965E85B3C60608BC +:10B60800EF909FDE1DC1630B3A01C840B220B3051D +:10B61800350152959750FB1FE78040D3BE203E9AD4 +:10B628009E20334A0A0885079EA0BE20BE99B3C94A +:10B6380009085DBF5822A9476311F70283474502ED +:10B6480089CF0145B640264496440649F259625AC4 +:10B65800D25A425BB25B616182803428130934019B +:10B668004A8689451795FB1F1305858DEF90DFD70F +:10B6780039ED34284A8689451795FB1F1305058C33 +:10B68800EF909FD629E534284A8689451795FB1FF0 +:10B698001305858AEF905FD51DE934284A868945C8 +:10B6A8001795FB1F13050589EF901FD40DE1DC20CA +:10B6B80009476380E702ED1793F7F70F2947636897 +:10B6C800F70013079048B357F700858B99E30545B2 +:10B6D80095BF8347440285072302F402BE2075B54F +:10B6E800411122C406C62E849770FB1FE780E03DF7 +:10B6F80009C93C25138717006315E40093F707F879 +:10B708003CA5B240224441018280411122C406C6B0 +:10B718002E849770FB1FE780403B1DC111C008C0F5 +:10B728001C251307E00F5D456388E7001307F00F3A +:10B7380059456393E7000145B240224441018280A4 +:10B748000945DDBF411122C42A84210526C206C647 +:10B758004AC0EFF04FB02420A51493F4D40F81E829 +:10B7680058248547631DF7041C483149A1E3FD5758 +:10B77800230104001CB4230204021305C40022445C +:10B78800B240924402496146814541011753FB1F6B +:10B79800670043C2B38724033E95084509C59750FF +:10B7A800FB1FE7804098850493F4F40F5C28084851 +:10B7B800E3E2F4FE9750FB1FE780E0964DBF084C8C +:10B7C80075F975B7411122C4416406C626C29307AC +:10B7D800E4FF6301F502AA849DE19770FB1FE780EF +:10B7E800C02E09E91305F4FF9770FB1FE780E02DD1 +:10B7F80011C106A1B240224492444101828085478A +:10B808006392F5049770FB1FE780202C2A847DD172 +:10B81800FD571EA11C241307F00F6382E7021307CC +:10B82800E00F6389E7003420083401475146A685B4 +:10B83800EFF0AF942285EFF0FFF0FD571CA423052D +:10B8480004004DBF8947E397F5FA8545EF40C046A8 +:10B8580055F126859770FB1FE78020272A845DF91C +:10B8680051BF21C5011122CC06CE18259307F00F30 +:10B878002A846308F70234210E21083501475D4602 +:10B88800EFF0AF8F3820E1476318F7000A206C000B +:10B8980023060100EFA08FA1F9571CA42285EFF021 +:10B8A8007FEAF24062440561828082809307F00F4C +:10B8B8006306F706011122CC26CA2A844AC84EC656 +:10B8C80052C4B689328A3A8993068500AE8479468D +:10B8D800AA8517050000130505F906CEEFF0EF96C7 +:10B8E800A3042401230144012322340185C0130544 +:10B8F800C4006244F2404249B249224AA685D24471 +:10B90800614605611753FB1F670043A4F240624478 +:10B91800D2444249B249224A05618280828097878F +:10B92800FB1F2381A76E8280411122C406C695475A +:10B938002A846391F50683474502854685072302D5 +:10B94800F5021E2258423022FD17B3C70708631EAE +:10B95800D602B3C7E72098239C330145A207D98FA5 +:10B968007A2463F0E7020A2085075EA49305C400E1 +:10B97800EF90FFEC0824B165938505B8EF803FA6EA +:10B988005945B240224441018280C946B387D70253 +:10B99800BA97D1B75822A9470545E314F7FE0345DE +:10B9A800440213351500F1BF411122C406C69D4754 +:10B9B8002A846396F5048347450285072302F50226 +:10B9C8001E225842FD17B3C7E72098239C33A207CD +:10B9D800D98F7A25014563F0E7020A2085075EA41E +:10B9E8009305C400EFF04FCE0824B165938505B8E0 +:10B9F800EF80FF9E5945B24022444101828058227F +:10BA0800A9470545E319F7FE034544021335150018 +:10BA1800DDB7411122C426C206C6B5472A84B284BE +:10BA28006394F5048347450285072302F5020A213A +:10BA3800EF905FB09E201307F5FF014563C1E70251 +:10BA48007A240A209305C400BA977EA4EF901FEDCC +:10BA58000824B165938505B8EF807F985945B240B1 +:10BA6800224492444101828058229D470545E318AB +:10BA7800F7FE0345440213351500D5B7411122C41A +:10BA880006C6C5472A846390F5061E223A22FD178A +:10BA9800B387E7020347450205072302E502584238 +:10BAA800B3C707083E973C333823A207D98F4167AD +:10BAB8007D176397E7000145B24022444101828027 +:10BAC800138717005AA57A25E3F7E7FE9305C50003 +:10BAD8000A21EF90DFED0824B165938505B8EF8062 +:10BAE8001F905945D1BF5822A9470545E316F7FCD1 +:10BAF8000345440213351500C1B7011126CA4AC8C7 +:10BB08004EC656C206CE22CC52C4BC211547AA8ABC +:10BB18002E89B289B684639EE7023686CE854A8529 +:10BB2800EFF09FE02A84631E0510854703459900BE +:10BB38006393F910D820A9476319F70C054A83467F +:10BB480029000345990001476946D685EFE0FFE2E1 +:10BB5800F9A83547638CE7086361F7041D47638BD1 +:10BB6800E7062547638EE706A547638FF90A05446C +:10BB7800034599002687CE860146D685EFE0FFDF8C +:10BB8800054A19E5CE852685EFE05FDA133A1500F8 +:10BB98005DD4D9476306F40259A84547638EE70484 +:10BBA8005D47E393E7FCD82585473686CE854A85E9 +:10BBB800631AF704EFF02FC58547054AE306F5FA3F +:10BBC800F2406244D2444249B249924A5285224ADA +:10BBD800056182803686CE854A85EFF0FFDC99B70D +:10BBE8003686CE854A85EFF01F952DBF3686CE85E1 +:10BBF8004A85EFF01FE23DB73686CE854A85EFF0DD +:10BC0800FFE70DB7EFF0CFCC45BF26878546014645 +:10BC1800D685EFE09FD6E31305F285452685EFE04C +:10BC2800FFD0133A150021BF9E20B1F3054A4A857B +:10BC3800EFF05FB171B7A547E39CF9F29E208DFB49 +:10BC4800F5BDA547E396F9F29E20E39307F2054A6E +:10BC580089B79E21639F071C397126DA4ED652D4C4 +:10BC680006DE22DC4AD8A021ED47AA89AE84328AB2 +:10BC78006315F4021787FB1F0347C7389307F00FB4 +:10BC88000144631FF7049947F2506254D254425951 +:10BC9800B259225A3E8521618280F5476311F40822 +:10BCA8009786FB1F83C606361307F00F9947E38D67 +:10BCB800E6FC9770FB1FE78040E12A8415C1302518 +:10BCC80005C29317466063D40700814775BFF545E1 +:10BCD8004E85EFE0FFD23C2493E707F83CA4F5B784 +:10BCE800D62090448C3088203800EF903FDDAA871A +:10BCF80041FDB42038000146CE851785FB1F03455A +:10BD08006530EFE09FC7AA8741F1B24799C3230086 +:10BD18000A00BC207547E39AE7FA69F07DB7977087 +:10BD2800FB1FE78080DA2A894DD185476317F40421 +:10BD3800CE2088443000EF90DF81AA8731F5834711 +:10BD4800290015476382E702E51793F7F70FC14605 +:10BD580063E1F6043317F0281377574411E7639A21 +:10BD6800D7028327090195C7B0203400CA854E85BC +:10BD7800EFF0BFD82300AA0089BF38219147E31507 +:10BD880087F05841E30207F0CE208844300002973C +:10BD98006DB7034599009787FB1F83C7F76C6381CD +:10BDA800A702B42038000146CE85EFE01FBD2A84E3 +:10BDB80009E9AC202800EFE07FB719C123000A0089 +:10BDC8000144034729008D476318F7043C8403574F +:10BDD800C90063F4E7002316F9008355C9004E85AE +:10BDE800EFE0BFF91787FB1F03578737ED4763F568 +:10BDF800E7028357C900DD4663F0F60293863700F1 +:10BE080063D1E60211669385470013060629B3C578 +:10BE180005084E85EF80A01F4A85EFF0BF92A287E4 +:10BE2800A5B511669305B00F13060629B355B70AD1 +:10BE3800CDB799473E858280011106CE26CA4AC8E9 +:10BE480022CC4EC652C49784FB1F9384E461882495 +:10BE58009307800291653305F5029385657017890C +:10BE6800FB1F1309E919334505089740FB1FE780B5 +:10BE7800601E90249307800281453306F602232032 +:10BE8800A9009740FB1FE780E052832709004D4532 +:10BE98009DCB0144130A8002FD599C24636DF40272 +:10BEA80017050000130525DBEFE0FFEB1705000081 +:10BEB80013054583EF908FDA170500001305C59029 +:10BEC800EF30B0560145F2406244D2444249B2498B +:10BED800224A05618280B3074403032509006146AD +:10BEE800814505041374F40F3E9523103501230191 +:10BEF8000500231435012305050023020502310539 +:10BF08009740FB1FE780004B49BF01458280178798 +:10BF1800FB1F0347F755814763E4E700014582802B +:10BF28009221938645006314A6002E85828085079A +:10BF3800B685DDB71DC5411122C406C63821930751 +:10BF4800D00F2A8463EBE7000E2128310147F94618 +:10BF58005D46EFE09FA2F9573EA0B240224441015E +:10BF6800828082801787FB1F034797508147FD56C1 +:10BF780063E3E700828016A1230105008507110508 +:10BF8800C5BF014582809785FB1F9385B5F693074A +:10BF9800000285469CA1FD571787FB1F230CF7F469 +:10BFA8001787FB1FA307F7F41787FB1F2303F7F473 +:10BFB8009787FB1F239ED7F29787FB1F23920706BD +:10BFC8009787FB1F23AC07049787FB1F23A607044B +:10BFD8009787FB1F23A007041786FB1F1306C6F0CD +:10BFE8009787FB1F938707F65CC29787FB1FA38B76 +:10BFF80007009787FB1F938767E9094718A298A34B +:10C0080098AB2380E7022388E7021787FB1F1307F3 +:10C0180027F294A7D0C794AFD8DB1785FB1F130569 +:10C0280025F20D471786FB1F1306C6F09786FB1FE0 +:10C038009386C6ED238CE702C8C323950700D0CBAF +:10C04800239D0700CCCFD4D323840702239507026E +:10C0580023A60702239D07021787FB1F0327C7FA9A +:10C06800D8DF9787FB1F9387A7E1170700001307FF +:10C07800870B23A00700D8C323A40700828041119F +:10C0880006C6EFF0DFE809C52821B24041018280E9 +:10C098000145E5BF411122C426C24AC006C6AA848A +:10C0A8002E893284EFF0BFE6AA8711E94165CA8577 +:10C0B8007D15EFF0DFE5AA87454581C786A3A0A3D4 +:10C0C8000145B2402244924402494101828021E361 +:10C0D80009483547639E0603011106CE22CC182273 +:10C0E80010322206598E32C6B377F64085E7CC4522 +:10C0F8002A842EC4EFF0BFF832460147630EC5000C +:10C1080022856244A245F24005616FF0BFF82D47D1 +:10C118003A85828013070008F24062443A85056137 +:10C12800828083C80500094863910803DC4103C87D +:10C1380007009C33A207B3E707010D68130828908E +:10C148006395070189476FF09FF8054582800111C3 +:10C158004EC606CE22CC26CA4AC89789FB1F9389A9 +:10C1680059D903C709009307F00F630FF7022A890B +:10C178002945AE8432849740FB1FE780600DAA856D +:10C1880005C59307100B1EA12302050002A56244F2 +:10C198002311250166A1F24003C50900D244424992 +:10C1A800B24905616F806F8BF2406244D2444249C4 +:10C1B800B24905618280411126C2AE849785FB1F72 +:10C1C80083A585E422C406C62A84EFF05FEB0989BB +:10C1D80009C922852244B240A685924441016FF0E4 +:10C1E8008F8FB2402244924405454101828041111B +:10C1F80022C426C24AC006C6AA84130445001309ED +:10C20800850B1E209DC3084409C59740FB1FE78086 +:10C2180080F12285314681459740FB1FE7808019D0 +:10C228003104231A04FEE31E24FDB2402244FD57C4 +:10C238009EA002499244410182809786FB1F83C6D3 +:10C2480036239787FB1F83A7A7DC01476394E60083 +:10C25800014582808E231386870B6394A5003E8553 +:10C26800828005071377F70FB287CDB7AA8717859E +:10C27800FB1F032565DA01C95A216314F700084535 +:10C2880082800841CDBF8280411106C6EFF01FFEB3 +:10C2980009C50845B240410182800145E5BF797171 +:10C2A80022D41384450026D24AD052CC5AC82E8AAA +:10C2B80006D64ECE56CA5EC622892287014B8144D5 +:10C2C80081468147BD45122345CAB5EE46233E2324 +:10C2D800B286A697B3C70708050B3107E315BBFE5F +:10C2E800ADC491659385457026859740FB1FE7800F +:10C2F80060D6AA8B39C90C44D1C9814A81495220D8 +:10C3080033853B019740FB1FE78040045E200844CB +:10C31800BE99B3C909089740FB1FE780C0E063983E +:10C328000A003109854A832589004A84E9F931469A +:10C3380081452285850A9740FB1FE780A007638215 +:10C348006A053109CDB7630ED6000145B2502254B3 +:10C3580092540259F249624AD24A424BB24B456161 +:10C3680082803223E313F6FE5223B294B297B3C409 +:10C378000408B3C707088DB78547E3E367F70545A2 +:10C38800F1B723267A0123149A00D5BF1309C400F4 +:10C39800854A814949BFAA871785FB1F032585C799 +:10C3A80011E1828018453A276314F700110582804D +:10C3B8000841FDB7411106C6EFF0FFFD09C50A2186 +:10C3C800B240410182800145E5BF411106C6EFF048 +:10C3D8009FFC09C52821B240410182804145E5BF43 +:10C3E80041111786FB1F1306E6C222C40042AA8623 +:10C3F80006C62E8501471DCC1C44AE271C406396FB +:10C40800D5021DC71CC301C92146930544009740A6 +:10C41800FB1FE780A0F322859740FB1FE780A0D091 +:10C428000145B24022444101828022873E84E1B71F +:10C438001CC2D1BF0545F5B701119786FB1F93862E +:10C44800A6BD26CAAA84884222CC06CE2E840147DD +:10C458000DCD52211C416315960215C71CC3974088 +:10C46800FB1FE78040CC2C002685EFF07FF701E525 +:10C4780019C0B2471CC0F2406244D24405618280B0 +:10C488002A873E85F1B79CC2D9BF0545EDB7411152 +:10C4980022C42A84090506C6EFE0EFDBFD573CB04D +:10C4A800B240224441018280411122C4416406C63F +:10C4B80026C29307E4FF6301F502AA849DE1976011 +:10C4C800FB1FE780A06309E91305F4FF9760FB1FD2 +:10C4D800E780C06211C106A1B240224492444101E2 +:10C4E800828085476392F5049760FB1FE7800061AF +:10C4F8002A847DD1FD571EA13C201307F00F6382CB +:10C50800E7021307E00F6389E70028300147F9467F +:10C518005146A685EFE06FC62285EFF05FF7FD571D +:10C528003CA0230204004DBF8947E397F5FA8545EF +:10C53800EF30807855F126859760FB1FE780005C17 +:10C548002A845DF951BF5D71A2C4CAC086C6A6C25D +:10C558004EDE52DC56DA5AD82E84AC21F9472A89A5 +:10C568006392F5049760FB1FE78040592A8405C150 +:10C5780038219307D00F63ECE70028310147F946CB +:10C588000146CA85EFE06FBF2285EFF05FF00145F5 +:10C59800B640264496440649F259625AD25A425B3A +:10C5A80061618280832A0400B7070001938707F03E +:10C5B80037071200B3F7FA0013070710B28981444E +:10C5C8006388E7022EC69760FB1FE7802053B245B9 +:10C5D800AA8419CD502109CE93174660E3C907FAFA +:10C5E8004A85EFE0EFC1DC2093E707F8DCA045B708 +:10C5F800178AFB1F130A0A9003470A009307F00FD4 +:10C608001945E307F7F8E147E3E4B7F893D71500CE +:10C61800FD17171702001307E776B3E7E72003A80B +:10C628000700E30708F603AB4700E3030BF6B3CABA +:10C638000A0863850A00C947E39CF5F456201044AC +:10C648000C3008203808029821F52C084A85029BEE +:10C658001DCD183015FF3820230AA100B94723083B +:10C66800E1006314F702E24798239C33A207D98FAD +:10C678000C084A85FC81EF904F8211D914080546B1 +:10C68800D9454A85EFE0AFDA21B7BC84D5B7342065 +:10C698009147E38EF6EE03450A0038080146CA853D +:10C6A800EFE0AFADE31605EE2C202808EFE00FA869 +:10C6B80019C1238009001840B7070001938707F0C4 +:10C6C8007D8FB707120093870710E302F7ECE3802A +:10C6D80004EC3C2021BF411122C406C62E84976079 +:10C6E800FB1FE780A04109C95C2113871700631568 +:10C6F800E40093F707F85CA1B2402244410182802C +:10C70800397152D42E8A4ED69305E100AA895285F2 +:10C7180022DC4AD856D25AD05ECE06DE26DA3289D4 +:10C72800368BBA8BBE8A9760FB1FE780A03F054413 +:10C7380025C1AA8428873944EFF05FB331C903289B +:10C74800450063070804D6875E87DA864A86A68589 +:10C758004E8502982A840DED9307E00F638AFA024A +:10C76800982089476316F702DC4098239C33A20778 +:10C77800D98F0D6713072790639CE700834719003B +:10C7880003460900D285A2075D8E4E85EFF03F9CD7 +:10C79800F25022856254D2544259B259225A925ABE +:10C7A800025BF24B21618280797122D422214ECE24 +:10C7B800AA89228556CA06D626D24AD052CC5AC849 +:10C7C8005EC662C4AE8AEFF05FA705E52285EF90EA +:10C7D8004FF5594411E10144B25022852254925434 +:10C7E8000259F249624AD24A424BB24B224C456145 +:10C7F800828003C7890085476307F700EFF03F9FF2 +:10C8080003D52900E9B7AA85AA8413858900EFF022 +:10C818001FA92A8415CDFA209624D044CE2003D50A +:10C828002900E147EFF0DFEDD9472A846318F500C6 +:10C8380023A604002685EFF09F9B71BF19E126858A +:10C8480075BFDE2026852390FA00EFF05F9A69B75E +:10C8580013894400014AB94B594C3D4B8355090093 +:10C8680085CDE14763077A010357C900D94711E32A +:10C87800E14703572900835649000326890003D559 +:10C888002900EFF0FFE72A846310850323240900B9 +:10C89800050A3109E3146AFD2685EFF05F952DD06E +:10C8A800D947E31BF4F205BF65D5835709002390E8 +:10C8B800FA00F9BF011170879307E00F1306E10032 +:10C8C8000147894606CEEFF0BFE3F240056182805A +:10C8D80079714AD00359850022D426D22A84AE849D +:10C8E8004A859305210106D69760FB1FE7808023C0 +:10C8F80079C51C252AC693F707029DC7A881EFF0C2 +:10C90800BF98B245AA8711E9239024013945B2504E +:10C91800225492540259456182802A2049468297BE +:10C9280001C51E249EA0E5B7035924004A85EFF0EF +:10C93800DF9001ED41657D15EFF03F9009E51E247C +:10C9480025459EA0E9B72310250113074500814717 +:10C95800BD46122339EE3147B387E70293058400B9 +:10C9680031462EC691073E959740FB1FE780009EF3 +:10C97800B245314648089740FB1FE780209D522466 +:10C988002A2041478146DD45EFE0CFC42ACE09E59C +:10C998001E2445459EA0A5BF0C4852249740FB1F66 +:10C9A800E780C09A2A204C08EF906FD32DD15945C3 +:10C9B800B9BF85073107E39ED7F825459DB70545DB +:10C9C8008DB7797122D42A840A254AD02E899305F5 +:10C9D800E1004ECE06D626D2B2899760FB1FE780CB +:10C9E80060142DC91C25AA8493F707028DEF183807 +:10C9F8009307200511E35C20362450440E242A2096 +:10CA08000147EFF0FFCF21E11C38B9E32A20EF906E +:10CA18004FC9AA8759458DCFB25022549254025912 +:10CA2800F249456182802887EFF01F86AA870DC5E5 +:10CA38002A204946A68582975DD91E242310F9002D +:10CA48001C3899E7D1BFD947E319F5FE23800900BF +:10CA58000145D9B70545D5B73945C5B7797122D448 +:10CA68004AD04ECE52CC56CA06D626D2AA892E8A8B +:10CA7800B28A36899760FB1FE780400809440DC5D4 +:10CA88003C211307E00FAA845D44638FE700130776 +:10CA9800F00F5944639AE70063920A02D2854E85E3 +:10CAA800EF902FCC2A8421C1B2502285225492546F +:10CAB8000259F249624AD24A4561828003550A0006 +:10CAC8009305E100231701009760FB1FE7808005AD +:10CAD8002887EFF09F8FAA8505464E85EF20107DA9 +:10CAE8002A844DDDD1B79307F00FE30FF9FA938647 +:10CAF80024007946A68517F5FFFF1305E543EFD017 +:10CB0800DFF4A38124014DB7797126D24ECE52CCE1 +:10CB180056CA5AC85EC606D622D44AD062C466C26D +:10CB2800AA8A2E8BB28B368ABA899774FB1F83A484 +:10CB3800644EB9C0804483DC44000149035CA4000E +:10CB4800631499018440F5B73E2463F7570105093A +:10CB5800410433490908EDB7E36BFBFE63090A009A +:10CB68000C204840D2865E86EF801F886DD1638492 +:10CB7800090023908901A284B25022540259F24933 +:10CB8800624AD24A424BB24B224C924C268592546E +:10CB9800456182809A21B621854763E3E60429C36B +:10CBA800D42101111386550022CC1775FB1F1305DC +:10CBB80025392E84894506CE32C6EF80FF82C147CB +:10CBC80019C9542032462E200A200147EFF0DFF31E +:10CBD800A94711C18147F24062443E8505618280C0 +:10CBE8003E8582802E860A22AE21854763E1A50212 +:10CBF80019CD542241110147150606C6EFF0DFF0A2 +:10CC0800A94711C18147B2403E85410182803E85D6 +:10CC180082802E860A22AE21854763E1A50219CDBE +:10CC2800542241110147150606C6EFF0FFEDA9474A +:10CC380011C18147B2403E85410182803E85828094 +:10CC480039714ED6BE2183D9050006DE22DC26DAEC +:10CC58004AD852D456D25AD05ECE62CC66CA63E461 +:10CC680037152A8A054563830912416BAE8A231456 +:10CC7800010002C6014401497D1B894B054CC94C82 +:10CC880083D52A000147814601464E8523130100BA +:10CC9800EFF09FE7AA8471C509EC130720029306F9 +:10CCA80061005A8695455285EFE0CF922A84630E3B +:10CCB800050E38849C2025C71885630187054147E0 +:10CCC8006394E70ABE244146130524001CA0BE2431 +:10CCD800A1831CB0CC409730FB1FE7802067490434 +:10CCE8003C848507B3C707087C8463FC2707BE24F8 +:10CCF800638967078509B3C9090859B76396770730 +:10CD0800BE240946130524001CA0BE24A1831CB020 +:10CD1800CC409730FB1FE78060631104D1B722C66F +:10CD280003596100B82413052400638F7701335930 +:10CD380099032305710118A0BE244146A1831CB0A4 +:10CD4800CC401379F90F41BF2305810118A0BE24F7 +:10CD5800135929001379F90FA1831CB0CC40094657 +:10CD68004DBF3C8429459DC32C005285EF80FFE6CA +:10CD780009CD34001546D9455285EFD05FEB11C572 +:10CD880032459730FB1FE780003A0145F250625464 +:10CD9800D2544259B259225A925A025BF24B624C0F +:10CDA800D24C216182800545D5B74545C5B717776F +:10CDB800FB1F0347A728854763F7E706011122CC25 +:10CDC80026CA4AC806CE2A84AE8432899760FB1FD9 +:10CDD800E780C0D211C538219307E00F6307F70435 +:10CDE800631B090022856244F2404249A685D24469 +:10CDF80005616F90CF938A209305E1002317010006 +:10CE08009760FB1FE78000D22887EFF00FDCAA8528 +:10CE180005462285EF20904971D5F2406244D244FC +:10CE2800424905618280594582805D45FDB74111BF +:10CE380022C406C626C293F705022A84328585C312 +:10CE4800EFF0AFD8AA8505462285EF2030469547F2 +:10CE58006305F500BD476315F502214515A093F755 +:10CE68008500B6849DC3EFF04FD6AA850546228576 +:10CE7800EF20D04309C59C3481C79C2491C3014548 +:10CE8800B24022449244410182809397456063D71F +:10CE98000700EFF08FD3AA850146D1BF89890D45D8 +:10CEA800F9FDF9BF7971AE8622D42A848A229305C6 +:10CEB800E10106D636C69760FB1FE780A0C611C9F8 +:10CEC8000C2522852254B246B087B25045616FF0D6 +:10CED8001FF6B2502254054545618280411122C493 +:10CEE80006C693F705022A8432858DC3EFF0EFCD8D +:10CEF800AA8505462285EF20703B1547AA8763055A +:10CF0800E5003D47631DE502A14715A893F7850095 +:10CF180099CBEFF08FCBAA85054622852244B240F3 +:10CF280041016F20B0381397456063570700EFF051 +:10CF3800CFC9AA850146D5B7898991E18D47B24005 +:10CF480022443E85410182807971AE8622D42A84AA +:10CF58008A229305E10136C606D69760FB1FE78053 +:10CF680060BCB24609C90C2522852254B087B2504C +:10CF780045616FF0BFF6B250225405454561828085 +:10CF88003E257971416722D426D24AD04ECE06D6A4 +:10CF9800231701007D17AA84328436898149638D5D +:10CFA800E7009420D040138517001307E1003345AC +:10CFB8000508EFF07FB5AA899420D04089451775F8 +:10CFC800FB1F1305E5F7EF802FC215C5A2242285A4 +:10CFD800EFF04FBE09C57D142A9433440408630456 +:10CFE800090023108900B2502254925402594E85E8 +:10CFF800F249456182809420D04089451775FB1F0E +:10D008001305C5F3EF804FBE71F19420D0408945D8 +:10D018001775FB1F130505F2EF800FBD11C9E388D3 +:10D0280009FA3C87E39587FA03D4A9007D1475B7FC +:10D03800A22475B7397122DC26DA4AD84ED652D4E2 +:10D0480056D25AD05ECE06DEBE8B9C252A8AAE8486 +:10D05800C18BB28A36843A89C289468B9DEF942067 +:10D0680089476383F6065685EFF04FA005CD8328E0 +:10D0780005006389080222866254F250925A5A883F +:10D08800CE87025BB2595E87CA86F24B4259A685A3 +:10D098005285D254225A216182883285EFF0CF9E80 +:10D0A800AA8709ED3945F2506254D2544259B2590F +:10D0B800225A925A025BF24B216182802946A68548 +:10D0C8005285829749DDC5B7DC4003C31700982312 +:10D0D8008D6722033363E300138647901317536069 +:10D0E800E343E6F81386F78F634BE60293862780BF +:10D0F800630FD70863C8E604F977938707803E93E0 +:10D10800854733430308E3E067F62D45E39D0BF8B5 +:10D11800DC449023CC432310C90022851DA2F57757 +:10D128009387F76F3E938D473343030863E0671295 +:10D1380017170200130747BF3343E3208327030071 +:10D14800BA97828793873780E31FF7F02D45E39CD2 +:10D158000BF485472310F900DC4481459C231CA06F +:10D16800AA240505334505089760FB1FE780809BC7 +:10D17800835709004DE991072310F90011468145AD +:10D18800130514009730FB1FE780C02241A82D45E6 +:10D19800E39B0BF0DC446C0083C917009823A209B9 +:10D1A800B3E9E90011472310E9009C234E851CA030 +:10D1B800DC449C331CB09760FB1FE780A096AA84D0 +:10D1C80025C13086C1659306E100FD158329C50098 +:10D1D800EFF01FDB09ED9420D04089451775FB1F40 +:10D1E8001305C5D5EF804FA019E1FD577C8703C70C +:10D1F800090089476310F70283A54900094613050A +:10D2080044009730FB1FE7806014835709008907A3 +:10D218002310F9003C873CA0A1833CB0014561B5CF +:10D2280023173101C5BF18218907BA972310F900C0 +:10D238003E251CB03E25A1833CA010214C4113057E +:10D2480034009730FB1FE7806010C9BF2D45E39C71 +:10D258000BE42310D900DC449C231CA0DC449C3341 +:10D268001CB06DBFC8449730FB1FE780C017334719 +:10D2780005081D45E36977E36380EB02B38679010E +:10D2880063C6E60033077741B3490708CC44231047 +:10D2980039014E86DE9551B58149CDBF2D45E394C0 +:10D2A8000BE0CC445285EFE09FDD89472310F9005D +:10D2B80008A0218108B09DB72D45E3960BDE89476C +:10D2C8002310F90049BF2D45E39F0BDCDC441D47C3 +:10D2D8002310E900982318A0983318B0BA2338A06F +:10D2E800BA23218338B0D82358A0FA2358B0FE2394 +:10D2F800A1837CA025B75D71A6C2AA842A214EDE2F +:10D3080052DC56DA5AD85ED662D466D26AD06ECE6D +:10D3180086C6A2C4CAC0AE8AC16BEF80AFA1130C87 +:10D32800F5FF2A8A8149977DFB1F938DED0A977C2B +:10D33800FB1F938CACCE177BFB1F130B6BCEFD1B17 +:10D34800334D0C08DE2463F6F90083D70D0063CD56 +:10D358008701AA209775FB1F93850508EF809FA971 +:10D368002A841DCD59442DA89C449305E100B3A7F8 +:10D37800F92003C917009C2322093369F9004A855B +:10D388009750FB1FE780007AAA851DE923902A01A0 +:10D3980003A54D0009C59730FB1FE780C0D8054499 +:10D3A800B6402285264496440649F259625AD25A12 +:10D3B800425BB25B225C925C025DF24D61618280ED +:10D3C80083C8440083A60C003087AA206A88814756 +:10D3D8005A87EFF03FC62A8419C923902A0103A56A +:10D3E8004D005DDD9730FB1FE780E0D355BF83A775 +:10D3F8004D0099EFAA20514781465E86BD45EFD082 +:10D408007F9D23A2AD0009E523902A01454449BF29 +:10D4180083D70D0003570B003E9763474701330737 +:10D42800FA407D172310EB0003A54D0003560B00AF +:10D4380083A50C003E9585099730FB1FE78000F116 +:10D4480083D70D0003570B00B3C90908BA97239077 +:10D45800FD00CDBD397126DAAA842A214ED65AD0CC +:10D4680006DE22DC4AD852D456D25ECE62CC66CAD8 +:10D478006AC82E8BEF800F8CAA89D424AE248A2404 +:10D4880078001386D400EFF02FE805C5938BB9FF19 +:10D498002A84E5190149177CFB1F130C2CB8977CCB +:10D4A800FB1F938CECB733CA090863497901631BE6 +:10D4B80009109E2429452310FB009DA8035DC10087 +:10D4C80083C8440083260C00AA20528881476687B7 +:10D4D8006A86A285EFF01FB619C9AE242285930685 +:10D4E800E1006A86EFF0DFA92A8461F0C9B783D723 +:10D4F8000C009228E313F6FE83250C00C8489730E9 +:10D50800FB1FE78020F671D99779FB1F9389C9EC37 +:10D5180083A7490095EFAA204166454781467D16B5 +:10D528009D45EFD03F8B1DE19E2445452310FB0010 +:10D53800F2506254D2544259B259225A925A025B5A +:10D54800F24B624CD24C424D2161828023A2A90049 +:10D55800AE24835AA40022859306E1006A86EFF080 +:10D568003FA22A84E3830AF883A749001307190016 +:10D5780033470708CA972380570183A7490093DADE +:10D588008A0093062900BA972380570113073900A8 +:10D59800110983A74900B3C606083347070833496A +:10D5A800090811C93087B69790A383A7490021823B +:10D5B800BA9790A3DDBDB697FD5694A383A74900FB +:10D5C800BA9794A3AA209775FB1F9385E5E0135992 +:10D5D800290023902501EF80AFEB39D9594589BF40 +:10D5E800411122C406C693F705012A84328585C3F2 +:10D5F800EFE0BFDDAA8505462285EF20204B954741 +:10D608006305F500BD47631DF502214515A893F78D +:10D61800450099CBEFE07FDBAA85054622852244A9 +:10D62800B24041016F20804893F7050491C7EFE0AD +:10D63800DFD9AA850146DDB713C5F5FF05890605BB +:10D64800B240224441018280797122D426D252CC40 +:10D6580006D64AD04ECE56CA5AC82A8AAE84014443 +:10D66800DE206364F400014581A083AA04009319B5 +:10D67800140013891900B327542103CB0700B3877B +:10D688002A0188239305E100220533656501975037 +:10D69800FB1FE78020491DE123806A019C40054566 +:10D6A8003E990347090098B3B25022549254025944 +:10D6B800F249624AD24A424B456182800C25308742 +:10D6C8005285EFF0FFF101CD9C40BE9903C70900D8 +:10D6D80098A39C403E990347090098B3F1B7050405 +:10D6E80033440408B5BF0111AE8722CC2A848A23AB +:10D6F8009305E10006CE9750FB1FE780A04209C9B9 +:10D708000C25228562443087F24005616FF05FED99 +:10D71800F240624405450561828039715AD02A8BEE +:10D728002A2126DA4AD806DE22DC4ED652D456D230 +:10D738005ECE62CC66CAAE84EF70DFDF2A8983468C +:10D74800CB008355AB0003558B0078001306DB0034 +:10D75800EFF08FBB63050516C16A130AA9FFAA8BF0 +:10D7680001449779FB1F9389698B977CFB1F938CE6 +:10D77800ACC6FD1A6D19334A0A08035CC10083C59B +:10D788008B0003552B006286EFF09FE563180514A4 +:10D7980083484B0083A6090003552B005288814714 +:10D7A8001777FB1F1307C7876286DE85EFF09F8810 +:10D7B8006316051205CC83D72C001777FB1F035778 +:10D7C800278611076395E700A29763C42707977513 +:10D7D800FB1F938565C0BE2103552B003354F4020B +:10D7E80082A1EF80EFE415C1594505A003552B0030 +:10D7F800494781465686C545EFD0CFDD23A2AC0008 +:10D8080015E183D7AB0045459EA0F2506254D2542F +:10D818004259B259225A925A025BF24B624CD24C8C +:10D82800216182809767FB1F83D7877F91072391A8 +:10D83800FC0083A74C0003D7AB006286A29798A38D +:10D8480083A74C001307140033470708BA9703D778 +:10D85800AB009306E1005E85218398A38355AB0056 +:10D86800176CFB1F130CCC7BEFF08FF103A74C0058 +:10D878003C87130624003346060832971CA303A7E7 +:10D888004C0093063400A183B3C6060836971CA340 +:10D89800AA8B03A54C0011043344040803560C005A +:10D8A80083A50900229563910B029730FB1FE7803F +:10D8B800E0A983570C00A29733C4070809F88357D7 +:10D8C8008B0029459EA091B79730FB1FE78000A8E1 +:10D8D80083570C003E943344040845B583D7AB0006 +:10D8E8009EA0E31604EE83578B009EA039BF1D71DE +:10D8F800A6CACAC8AA84035985002A21A2CCCEC6C2 +:10D90800D2C4D6C2DAC05EDE62DC6AD886CE66DAF7 +:10D918006ED6AE8AEF701FC2130BD5FF0144711586 +:10D92800138CD400976BFB1F938B4B6F176AFB1FED +:10D93800130A0A6F177DFB1F130D0DAAB3490508BB +:10D94800635D6411D424AE241307E10162864A851D +:10D95800EFF08F9BAA8C630205100359A500B087CE +:10D968000C25AA2032C6EFF0BFC7631D050E83C879 +:10D97800440083A60B003246AA204E88814752876E +:10D98800E685EFF02FEB79ED15C483570A000357AE +:10D998002D0089076302F7069775FB1F9385C5A3BA +:10D9A800BE21AA20B357F4029EA1EF80EFB60DC1A5 +:10D9B800594539A8AA2041664D4781467D16A54597 +:10D9C800EFD04FC12322AD001DE123902A01454528 +:10D9D800F6406644D6444649B649264A964A064B16 +:10D9E800F25B625CD25C425DB25D256182808357E6 +:10D9F8000A0089072311FD0083570A00A29763DEF6 +:10DA0800670583274D0003D7AC00930D2400A29728 +:10DA180098A383274D0003D7AC00050433440408BA +:10DA28002183A29798A303254D0003560A0083A5D6 +:10DA38000B00B3CD0D086E959730FB1FE780009162 +:10DA480083570A00BE9DC167FD1733C40D08E3095B +:10DA5800F9EE050933490908E5B5294515FC239070 +:10DA68002A01BDB76DDC0DBF1E21411126C206C6B5 +:10DA780022C44AC0444189EB8947B24022449244B7 +:10DA880002493E85410182809420D0402A848945FC +:10DA98001765FB1F1305C54AEF701F9511C93C2078 +:10DAA8002547E51793F7F70F637FF700E147F1B7CD +:10DAB8009420D04089451765FB1F13052548EF7052 +:10DAC800BF9271FD55BF1769FB1F13096942835641 +:10DAD80009008547DDD21A203697C166E3CFE6F8FC +:10DAE80091659385257031459720FB1FE780805607 +:10DAF800AA84CD4759D1314681459730FB1FE7802D +:10DB0800608B1A208355090001468147B386F500CA +:10DB1800B3C6060863E9E70201C62E972310E90099 +:10DB280023A004002146A285138544009730FB1FDB +:10DB3800E780C0811767FB1F1307C74D1C4381CFC0 +:10DB48003E879C43EDBF50401395470085072A96B2 +:10DB580036A6054665BF04C3814705B7011106CE41 +:10DB680022CC26CA4AC809E90944F24022856244FF +:10DB7800D2444249056182802AC6AA84280036898F +:10DB88006C845085EFF05FEE2A8465F1E30F09FCA1 +:10DB9800BE24F9DB91659385557031459720FB1FAD +:10DBA800E780404BAA8715C1BA249766FB1F938666 +:10DBB800A646232005005AA198422324250101C71F +:10DBC800BA861843EDBF9CC24DB74D4479BF9767DD +:10DBD800FB1F9387374398230DE3054798A30589CF +:10DBE80009CD9766FB1F9386A6294146914517657F +:10DBF800FB1F1305A5296FF07FF601458280976703 +:10DC0800FB1FA388A72E828041677D176315E50057 +:10DC18002E856FE02FB5411106C6EFE04FAF09C55D +:10DC2800FD571EA123010500B24041018280011168 +:10DC380026CA06CE22CC4AC88547AA846392F50430 +:10DC48002685EFE08FDF31E941699305F9FF130776 +:10DC5800E10089461766FB1F1306862D0545EFE090 +:10DC6800BFEA2A847D1905C44C442685EFF0DFF904 +:10DC7800308722858146CA85EFF08FB02A84E5B7C0 +:10DC880089476396F5008545EF20000355D9F24092 +:10DC98006244D244424905618280EFE04FD56DB7B6 +:10DCA800411122C406C626C21764FB1F1304C47B95 +:10DCB80008349767FB1F23AD07349767FB1F23A71B +:10DCC80007349767FB1F23A1073459C59307200C16 +:10DCD8003305F5029165938515709764FB1F93844E +:10DCE80024331905334505089720FB1FE780803644 +:10DCF80010349307200C81453306F60288C01906B4 +:10DD08009720FB1FE780006B9C4018348145938661 +:10DD180047007D5563EAE5069306800BB306D702F4 +:10DD280001460507FD55B6979766FB1F23A0F62EFB +:10DD3800BE868EA2ACB2ACA2238206000506990666 +:10DD4800E369E6FEF95696A399463307D702BA97D0 +:10DD58001767FB1F232AF72A17E5FFFF1305E57E40 +:10DD6800EFD00F8117F5FFFF13052597EF70AFEF81 +:10DD780017E5FFFF13058573EF10306BB24022449F +:10DD88009244014541018280239EA6FE368613886F +:10DD9800460B23100600232406003106E31B06FF6A +:10DDA80085059386860BBDB7411106C622C42A8411 +:10DDB800EFC08FA1EFE02F9D1765FB1F0325C5243A +:10DDC8009767FB1F23878712EFE0CF999767FB1FA1 +:10DDD800238287122244B24017050000130565E527 +:10DDE80041016F1090649397556063DB072E79713A +:10DDF8001765FB1F0345E50F22D44AD006D626D265 +:10DE08004ECE2E899720FB1FE780804A2A8441CD79 +:10DE180018219307000B6315F70885479764FB1FC4 +:10DE28009384C41FDC849C402315010081EFEF001C +:10DE3800C0759165938535709720FB1FE780802119 +:10DE480088C031C9614681451765FB1F1305C55850 +:10DE58009720FB1FE7800056834944008947639356 +:10DE6800F90825279764FB1F938404578AA02A2062 +:10DE7800A685EF70FFD2AA869E202A201A248DEE4E +:10DE88006363F7001EA40E24EFC03FEF2285EFC0A6 +:10DE98001FC49C8491C74C2013058400EFD04FCC3D +:10DEA8002285EF606FB6B25022549254F24913158E +:10DEB800F9680259456182806363F7001EA41E2435 +:10DEC800D9459766FB1F938626510D469EA0EFC045 +:10DED8001FD68D4545DD1765FB1F1305E54FEFD0B0 +:10DEE8002FC86DB79387A9FF93F7F70F4947E36FDB +:10DEF800F7F817070200130727E4B3C7E7209C4386 +:10DF0800BA9782879305A1002285EFF0AFD4AA843F +:10DF180035DDD9476394F40A85092A2093F9F90F66 +:10DF28009766FB1F9386464B4E86D945EFC03FD078 +:10DF380031DDCE854DB79305A1002285EFF03F9BDB +:10DF4800F9B7835984006C004E859750FB1FE78012 +:10DF580060BDAA842DC12A2041669306E100554779 +:10DF68007D16AD45EFC01FE79769FB1F9389C9462A +:10DF780023A2A900AA8655CD834844000358E1008E +:10DF880030862A20A68581474E87EFF0AF8AAA847B +:10DF98006312050E2A20CE85EF70BFDDE30805EE7B +:10DFA8002A20D945CE862D46EFC07FC8AD45E30F60 +:10DFB80005EC4E852DB72315310185441830D1471E +:10DFC800E306F7EC5C209769FB1F9389E9402A2058 +:10DFD8002380F9003C85CE85238299002391F9009E +:10DFE800EF70AFEBE30405EA2A20CE860546D94553 +:10DFF800EFC0FFC3E30C05E8854565BF835984007E +:10E008006C004E859750FB1FE780C0B1AA8445D5A8 +:10E018002A2041669306E10059477D16B545EFC0B1 +:10E028007FDB9769FB1F9389293B23A2A900AA8656 +:10E0380009E51E24C5447C8551B78348440003582C +:10E04800E1003E2430862A20A6854E87EFE09FFE19 +:10E05800AA840DE12A20CE85EF701FD5E30805E2DA +:10E068002A20D945CE863546EFC07FBCB545E30F9B +:10E0780005E081B7D94703A549006397F4009720C5 +:10E08800FB1FE780400A19B59720FB1FE780A0090E +:10E098001E247C8525B79305A1002285EFF0AFA546 +:10E0A800BDB59305A1002285EFF02FE78DB51306C6 +:10E0B80091009305A1002285EFE0BF9089BD9305EB +:10E0C800A1002285EFE0DF80AA84E31405E4A3041D +:10E0D80001006DBB9305A1002285EFE0EFEC05BDC3 +:10E0E80001458280F1CE011156C2AE8A854526CA05 +:10E0F8004EC652C406CE22CC4AC82A8AB284B689F1 +:10E10800EF10903BD1471DC51767FB1F034717F357 +:10E118009767FB1F83C757F2014999E03E89BA8781 +:10E12800131749001764FB1F032444F03A94636DE6 +:10E13800F900D547F2406244D2444249B249224AE2 +:10E14800924A3E850561828036201307040191C6F4 +:10E1580005091379F90F3A84D9BFB1C89565938534 +:10E1680025C0130500029720FB1FE780A0EE48C4D6 +:10E1780069D1130600028145130909049720FB1F82 +:10E18800E7804023230004002311240123134401C2 +:10E198009C341767FB1F0327A7E9998C1CA45C44D0 +:10E1A80091849180C4AF23A08900814761B7232659 +:10E1B8000400230004002313440123045401E5B799 +:10E1C80085473E858280AA869765FB1F83C515E72C +:10E1D8001767FB1F032787E581476394F50001450F +:10E1E800828032233A8519C2E30CD6FE850793F75D +:10E1F800F70F4107DDB7AA861766FB1F034616E42B +:10E208001767FB1F032787E281476314F600014560 +:10E2180082802E233A8581C54C23E38BD5FE850762 +:10E2280093F7F70F4107D5B7AA869765FB1F83C5F4 +:10E23800C5E01767FB1F0327A7DF81476394F50035 +:10E248000145828012233A8519C2E30CD6FE850760 +:10E2580093F7F70F4107DDB7AA861768FB1F034836 +:10E26800B8DD9767FB1F83A767DC01476314E800E5 +:10E2780001458280B2233E8509CAF2236317D6007E +:10E28800D04701C63222E306B6FE05071377F70F1B +:10E29800C107E9BF411126C2444522C406C62A84E3 +:10E2A80095C0C84409C59720FB1FE780C0E7C84848 +:10E2B80009C59720FB1FE78000E726859720FB1FED +:10E2C800E78060E62285414681459720FB1FE7806D +:10E2D800600EFD571CB4B240224492444101828032 +:10E2E800011122CC2A842A2106CE2EC6EF102069DD +:10E2F800324622858145EF00505822856244F2401B +:10E3080005616FF03FF905C53E21411122C406C6DB +:10E318002A8491CBDD45EF00505922852244B24032 +:10E3280041016FF03FF7B240224441018280828070 +:10E33800411122C4B1471304C5FFB307F40226C232 +:10E348009764FB1F9384C40A06C6A697BA27631569 +:10E35800B702C84315C19307F00F6305F6001C21E7 +:10E36800639CC7009720FB1FE780E0DBB1473304BD +:10E37800F402A29423A20400B24022449244410130 +:10E388008280411122C42E8426C24946AA8481452E +:10E39800228506C69720FB1FE780C0018DCCD82CAC +:10E3A8009767FB1F83A7C7C81207BA979A231AA0B3 +:10E3B800BA23FE233AA01767FB1F0357A7C75AA023 +:10E3C8009A207AA0BA201AA4DA203AA4FA205AA4E9 +:10E3D8009A241EA87AA4B240224492444101828021 +:10E3E8002A869765FB1F83C575C51768FB1F032819 +:10E3F80028C49766FB1F83A666C30147014563933C +:10E40800E50082809C2281CFDC4691CBDC2F9207ED +:10E41800C2976316F6009307150013F5F70F050763 +:10E428001377F70FC106E1BF130600643386C502F0 +:10E4380093069500AA8517050000130505ED6F6082 +:10E448002F9D411122C406C62A840835EF600FBAF1 +:10E45800FD571CB4B240224441018280011122CCF4 +:10E468004AC84EC652C456C25AC006CE26CA2A89BF +:10E47800AE890144176AFB1F130A1ABC976AFB1F6F +:10E48800938ACABA1D4B83470A006369F404639DE3 +:10E4980009029769FB1F938979BA176AFB1F130A48 +:10E4A800EAB8930AF00F83C709006364F4061144BD +:10E4B800A14422851306F00FCA850504EFF05FE733 +:10E4C80033440408E31794FEF2406244D2444249BC +:10E4D800B249224A924A024B0561828083A40A000B +:10E4E80093174400BE949C208DC3FE20639F270190 +:10E4F80063956901AA20EF10804826854E868145DC +:10E50800EF00B0372685EFF0FFD805041374F40F39 +:10E518009DBF83240A0093174400BE949C208DC39A +:10E528009C34638F5701FE20639C27012685EFF0FA +:10E538005FF12685D145EF0050372685EFF09FD54E +:10E5480005041374F40F85B7C167F917630BF50257 +:10E55800411122C406C685472A846399F50022859D +:10E568002244B240814541016FF05FEF89476396CD +:10E57800F5008545EF1040747DD1B2402244410139 +:10E58800828082809D456FF07FED1765FB1F0355E4 +:10E5980065AA8280011106CE68876C861767FB1F03 +:10E5A800034787A985476318F70070009305E100C2 +:10E5B8000545EF509026F24005618280A947631D0A +:10E5C800F6029C319821A207D98F1EA1BC31B8212F +:10E5D800A207D98F3EA1DC31D821A207D98F5EA12D +:10E5E800FC31F821A207D98F7EA19C359825A20776 +:10E5F800D98F1EA501458280054582809147631EFB +:10E60800F6009C319821A207D98F1EA1BC31B821F0 +:10E61800A207D98F3EA10145828005458280938754 +:10E62800C5FF0D47B3C60708636ED7003147338768 +:10E63800E7029767FB1F9387A7DBBA97A8A38EA368 +:10E648000145828009458280930740203355F50AA9 +:10E6580071159767FB1F239FA79C9767FB1F238F45 +:10E66800B79C9767FB1FA38AB79C82809565411169 +:10E678001905938535C006C6334505089720FB1F45 +:10E68800E780409D01C9B240E95541011723FB1FAE +:10E698006700E3B6B240410182809767FB1FA38FF2 +:10E6A80007989767FB1F238B07989767FB1F23869D +:10E6B80007989767FB1FA38107989767FB1F238D10 +:10E6C8000796854741111767FB1FA306F79606C6ED +:10E6D80022C426C22A849767FB1F238E0794976754 +:10E6E800FB1F239907949767FB1F23A10794EF103B +:10E6F800E0311765FB1F1305A5CF130600038145FD +:10E708009767FB1F238D87929720FB1FE78080CA9E +:10E718001764FB1F1304049108209764FB1F93845C +:10E72800B4911DC99565938545C012059720FB1FB7 +:10E73800E78040921767FB1F232CA78E11CD1C3052 +:10E74800102081459CA09767FB1F2388C78E12065F +:10E758009720FB1FE78000C69C201765FB1F034519 +:10E7680025D11764FB1F1304748D3E951375F50F9F +:10E77800956508A0938555C012059720FB1FE78073 +:10E78800608D9764FB1F9384648A88C035CD102000 +:10E79800814512069720FB1FE780C0C198401420CE +:10E7A800814725077D56639BF604EF106047B14704 +:10E7B8003305F5029565938565C0334505089720AF +:10E7C800FB1FE78020899767FB1F23AFA7842A8454 +:10E7D80001CDEF10E04431463306C502814522855C +:10E7E8009720FB1FE78000BD2244B24092441705E2 +:10E7F80000001305A5D541016F102043850710A31C +:10E8080093F7F70F410745B79767FB1FA388078260 +:10E818009767FB1FA382078249BF411126C206C61C +:10E8280022C44AC0AE849397556063DB0708176912 +:10E83800FB1F1309C980034509009720FB1FE780C8 +:10E8480020A72A8421C91821930700096311F70416 +:10E858001831CD476314F7069756FB1F9386067E3B +:10E8680028219C221768FB1F0348788F1306640031 +:10E87800814501476318E50291C19CA29C2281CB86 +:10E888000345090085459740FB1FE78080172285CF +:10E89800EF509F971395F468B2402244924402497E +:10E8A800410182800E2205071377F70FAE9793F781 +:10E8B800F70F09068545B3D7070B6DBF0123C1BF05 +:10E8C80013F5150071D9EF00105319CD9757FB1F99 +:10E8D80083C7C77691CB85451755FB1F034525761A +:10E8E8009740FB1FE780E01113C5140075B7054773 +:10E8F800637EC7029C319421A207D58F1EA163991C +:10E90800E700BC31B821A207D98F3EA1014582801A +:10E918000947E39DE7FEBC31B821A207D98F3EA184 +:10E92800DC31D821A207D98F5EA1CDB705458280F9 +:10E938009147631EF6009C319821A207D98F1EA12A +:10E94800BC31B821A207D98F3EA101458280054577 +:10E9580082809147631EF6009C319821A207D98FC7 +:10E968001EA1BC31B821A207D98F3EA101458280E2 +:10E9780005458280A1476318F6029C319821A207B9 +:10E98800D98F1EA1BC31B821A207D98F3EA1DC3195 +:10E99800D821A207D98F5EA1FC31F821A207D98F0F +:10E9A8007EA1014582800545828089476319F6006A +:10E9B8009C319821A207D98F1EA101458280054567 +:10E9C80082803E2279714ECE06D622D426D24AD0F3 +:10E9D8001307F007AE896371F70209473AC47C86CA +:10E9E800300093F5F50FEF007078B250225492542E +:10E9F8000259F249456182805A22D9462A893284CD +:10EA080063F7E6007E2263F4F6006379F7002314C7 +:10EA18000100300093F5F90F4A85F1B70A2202C4C4 +:10EA2800EFF09F80AA8435C5EFF09F9B9C24636913 +:10EA3800F5001146A246CE854A85EF00F06975B704 +:10EA4800340026869305F00F4A85EFF0AFE975F19B +:10EA5800A2471A24DC479AA33A20BAA35A20DAA379 +:10EA68007A20FAA3DA209AA7DC4495C793F4F90F21 +:10EA78002286A6854A858297C167FD172A86E31BE9 +:10EA8800F5FA22459947F9451CA144A1EFF0DF9911 +:10EA9800A9BF094645B7014671BFA947631DF602DC +:10EAA8009C319821A207D98F1EA1BC31B821A20799 +:10EAB800D98F3EA1DC31D821A207D98F5EA1FC31C4 +:10EAC800F821A207D98F7EA19C359825A207D98F56 +:10EAD8001EA501458280054582809C211CA19C3190 +:10EAE8001CB1BC31B821A207D98F3EA18280232254 +:10EAF8000500D82189476304F70005458280F6217F +:10EB080001114EC606CE22CC26CA4AC80D47AE8988 +:10EB18006379D7049C4584339023A033A204D18C15 +:10EB2800B023220493874400518C639CD702930737 +:10EB3800C4FF2A89B3C707086361F70203A58900E0 +:10EB48002311990023108900F1559710FB1FE780C6 +:10EB5800006B2322A900014531A02285EFF0AFE622 +:10EB680071FD0545F2406244D2444249B24905610B +:10EB78008280797122D426D22E8406D64AD01C20CF +:10EB88001947AA84B2856390E70630202800EFF081 +:10EB98003FDA0DE92884EFF00FE30C302A890DC91C +:10EBA8002E86171700001307E7D134009D452685E8 +:10EBB800EF00D0304A8509468145C1214A85EFF0EA +:10EBC8006FED0145B250225492540259456182803A +:10EBD80089477C803C840A867C813C857C822685AA +:10EBE800EF00D058F9BF49476395E7023220280063 +:10EBF800EFF05FD861F91755FB1F1305657F5E2598 +:10EC0800E9D3183068253C00C9460146A685DD2CA5 +:10EC18004DBF5147639DE70032202800EFF01F9A4F +:10EC280055F10C3030002685EFF0BFD959BF594750 +:10EC3800639CE70432202800EFF05F9C41F52C84A8 +:10EC48002685EFF06FE115C9584534851E23B69720 +:10EC5800B3C707081EA3B5D75C47A5D79757FB1FAF +:10EC680083C7C73DB9DF85451755FB1F0345253DBC +:10EC78009740FB1FE780E0D8A9B789473EC03C848E +:10EC88000C300A867C82A1BF0C30231001000A8652 +:10EC980081BF5D71A2C456DA86C6A6C2CAC04EDE5E +:10ECA80052DCAA8A88312E8432C6EFF0CFD4B2451E +:10ECB80001ED0144B6402285264496440649F2599E +:10ECC800625AD25A6161828023020500231105002D +:10ECD800834904008547AA846399F90030202808ED +:10ECE800EFF0FFC02A8405491DA09D476391F904F0 +:10ECF80018218D47E31FF7FA302028080549EFF05F +:10ED08005FC52A8409E5054681452685BD262685F1 +:10ED1800EFF02FF388243C080147CE862286D6855B +:10ED2800D522E30909F82685EFF0CFD661B7CD479C +:10ED3800639BF90018219147E31DF7F63020280856 +:10ED4800EFF0BFC645B7D547E395F9F6034A050086 +:10ED58008947E310FAF6302028080549EFF0FFD379 +:10ED68002A8455F583570102A1EBB8841306F003F2 +:10ED7800DC44930607FCB3C60608636AD600B08570 +:10ED8800D94663F6C600B486D94563EDD500BAA363 +:10ED98000145EF00D03E054903560102D28526857C +:10EDA800AD2CB5B7AC87BAA3D2A38EA3F6A385477B +:10EDB8009CA0014A0149CDB7014AF9BF7971AA85DA +:10EDC80022D426D22221AA84280806D64AD0EFF0D7 +:10EDD8001FD2F24599E53DE185452285EFF08FFB8D +:10EDE80075A0BC8415476395E706B8858D4763F71A +:10EDF800E7046800EFF07FCE0359E100DD4763FBCD +:10EE080027018C86B70717008507100822853EC89A +:10EE1800EF00D035BC851109638527012285EFF005 +:10EE28006FF61C8672466C00858B1106228591CF81 +:10EE3800EFF03FE601C52285EFF0CFF4884449DDC5 +:10EE48009710FB1FE780202E41BFEFF09FD2DDB760 +:10EE580011476389E7001387A7FF854633470708EB +:10EE680063ECE6023147F117B387E7021757FB1F38 +:10EE780013070758BA979A2371D3A8233008A28595 +:10EE88000D204DFDB8849147E318F7F4B250225491 +:10EE980092540259456182802C082285212E59FD01 +:10EEA800F5B701114AC82A89314526CA4EC606CE89 +:10EEB80022CCAE89B2849710FB1FE780603929C144 +:10EEC8009307000A231135011EA12A842146110542 +:10EED80095C0A6859710FB1FE7804047A2854A8505 +:10EEE800EF50AFB70145F2406244D2444249B249BB +:10EEF8000561828081459710FB1FE780A04BF9BF11 +:10EF08000545D5B701114AC82A891305000226CA42 +:10EF18004EC652C456C25AC006CE22CCAE8A328BD6 +:10EF2800B6893A8ABE849710FB1FE780603221C9F0 +:10EF3800930720FA1CA1A3006501231155012302A0 +:10EF48004501A30235012A84614621059DC0A68595 +:10EF58009710FB1FE780803FA2856244F240D244AD +:10EF6800B249224A924A024B4A85424905616F508A +:10EF7800CFAE81459710FB1FE780C043F1BFF24039 +:10EF88006244D2444249B249224A924A024B05613C +:10EF980082805C45797122D406D62A84AE86A5C7BC +:10EFA800BA23F885130720066396E504FA23175653 +:10EFB800FB1F035626083357C70AB22B9E2B13771D +:10EFC800F70F918F93F7F70F01E6890793F7F70F7C +:10EFD800BA97FD17B3C7E702FC863E206E200824C7 +:10EFE800FC8401473C080146EFF0DFF1B25022549F +:10EFF80045618280D82F9757FB1F83A767031207A5 +:10F00800BA97FE23D1BF2EC6194681452808971006 +:10F01800FB1FE780203AB246C9B7797122D406D6D9 +:10F0280026D22A8491CD08242E866E202254B250EE +:10F038009254814701479306000645616FF09FECA3 +:10F04800B284280059469710FB1FE780A0366484D5 +:10F0580099E43E2048446C007C85EFF08FB26E2026 +:10F0680008243C000147930600060146EFF09FE99B +:10F07800B2502254925445618280797106D68147F4 +:10F0880099E53E2170867C845C4589EF3C002E869C +:10F098006E210825014793060006EFF0BFE6B2503F +:10F0A80045618280BE237C85D5B7411122C406C63E +:10F0B8001C2111472A846392E7022E866E210825B7 +:10F0C80081470147CD46EFF0FFE349466E202244D1 +:10F0D800B240154541016FF0AFA513F7B70F894648 +:10F0E8006317D7000146EFF05FF35146C5B70D47E8 +:10F0F8006398E7002244B240014641016FF0FFF7F0 +:10F10800B2402244410182809A21B14771173307E6 +:10F11800F7029757FB1F9387A72DBA97D84301EBA0 +:10F12800D841AAA70145D8C3BA219AA782805945D0 +:10F138008280797126D2444522D44AD006D62A84C0 +:10F148002E89B1C4C84419C59710FB1FE780A0FDDC +:10F1580023A604009E206E2008247C85BE2001473B +:10F16800930640067C869E244A867C879C483EC837 +:10F178003E207C843C00EFF0FFD8A38E240123A816 +:10F188000400B250225492540259456182802800EA +:10F19800314681459710FB1FE780C0213E206E2035 +:10F1A80008247C8401473C00930640064A86EFF019 +:10F1B8007FD5C1BF797152CC2A8A8A2126D206D638 +:10F1C80022D44AD04ECE56CAAE84EFE0DFFF6302A7 +:10F1D800051240452A89630E04107E21639B47115E +:10F1E8001E24638A0710542C975AFB1F938A4AE4FB +:10F1F80003A70A009206FD1736977A23B3C70708B4 +:10F208001EA46316F70093053006EFF09FD85C48FC +:10F21800B5EBC840834915001C21A209B3E9F900E0 +:10F22800BE2013872900631AF702F9559710FB1FB0 +:10F23800E780E0FCC8C02391340103458900268695 +:10F24800D285EFF01FC61DEDB250225492540259D8 +:10F25800F249624AD24A456182809565938515C014 +:10F268004E859710FB1FE780E0DE48C8C840231C86 +:10F278003401F9559710FB1FE78060F8BE20C8C01D +:10F28800F917BEA048482DCDB220362C1E2C3308C5 +:10F29800D60063C90707582C83A70A0095451207AB +:10F2A800BA97BE2363CA0705CC4036959710FB1F53 +:10F2B800E780C0093A2CBE20BA971A2CB3C70708B2 +:10F2C8003EAC6398E70203572900034589003000E4 +:10F2D80078845848D2857C853AC6EFF09FBC11C522 +:10F2E80048489710FB1FE78000E4232A0400232CDA +:10F2F8000400054591BF99454A85EFE07FFED5BFDB +:10F30800A545DDBF9145CDBFBE21F9C3011126CA70 +:10F3180006CE22CC1757FB1F0357C7D1AA846D45C9 +:10F328006363F70A2E84484091459710FB1FE780D6 +:10F3380000ED3E20AA861CA13E20A1831CB11E2000 +:10F348003CA11E20A1833CB13220C167F9171106E8 +:10F3580033460608639FF4022AC4314532C6971023 +:10F36800FB1FE780E0EEAA854D45B1CD930700F974 +:10F378003246A2469CA1F957BEA18947DCA1F2A159 +:10F3880094C51755FB1F034585CBEF401FED01457D +:10F398001DA881452685EF40F05C11E91757FB1F32 +:10F3A8001307C7C91C23E5D7FD171CA3CDB7894789 +:10F3B8006302F5029D476301F502C9476300F50240 +:10F3C800FD47E30DF5FCF2406244D24405618280BA +:10F3D8006D4582805145C5BF1145F5B70945E5B76B +:10F3E800011122CC4AC831441309C5FF33048902EC +:10F3F80026CA9754FB1F9384A4FF06CE26945C402C +:10F40800A9C31757FB1F034767C30DC768843EC6C8 +:10F418002A241E242C007C85EFF01FEF11C54840DC +:10F428009710FB1FE78020D0B1473309F902CA942F +:10F4380023A204000545F2406244D24442490561D2 +:10F4480082800145CDBF797126D244454ECE52CC3B +:10F45800FE20BA289759FB1F83D9C9BD06D622D4E6 +:10F468004AD056CAB3D9F90A2A8A9E282DCF998F2D +:10F478004E8463D4370133C4070889452285EFF0E9 +:10F48800EF9E2A89CD4A31C5BE202AC660857C8474 +:10F49800BE2899EB9E28130925001CA19E28A1834C +:10F4A8001CB1637434058228BE28CC4422864A8560 +:10F4B800BE959710FB1FE78060E903556A002C0092 +:10F4C800EFF09FE4AA8A15C54A859710FB1FE780CD +:10F4D80080C5B250225492540259F249624A568564 +:10F4E800D24A45618280890761B779143344040898 +:10F4F80065BFBA289E203A949A28FD17B3C7070813 +:10F50800334404089EA0A2A86376E400F9F3FD57EB +:10F51800DCBCC1B781455285EFF0BFC15DBF7971D1 +:10F5280022D44ECE56CA5AC85EC662C406D626D261 +:10F538004AD052CC9759FB1F9389E9AF03CA0900F7 +:10F54800975AFB1F938A8AAE054B5284930BF00F90 +:10F55800175CFB1F130C5CAE83A40A0093174400CE +:10F56800BE9403C90400631D6907DC44B5CBD847C2 +:10F5780025CB9A2339CB9757FB1F83C727AC99CF45 +:10F588002685EFF05FECAA8505ED05049757FB1F6C +:10F5980083C797AA6351F40223808900B25022548A +:10F5A8009254F249624AD24A424BB24B224C4A85A3 +:10F5B8000259456182809757FB1F238E07A6F9BF22 +:10F5C8002685EFF01FB70149D1BFDC3F639A770169 +:10F5D800930520062685EFF0DF9BDC44A38E070009 +:10F5E80083470C0005041374F40F6363F4000144AB +:10F5F800E31444F7C9BF4111154506C6EFF05FDEB5 +:10F6080009C50545B240410182801945EFF05FDD2B +:10F618006DF91145EFF0DFDC6DF51D45EFF05FDCAE +:10F628006DF11755FB1F034535A169DDB240410156 +:10F638006FF0FFEE9E210D47F117B3C7070863630C +:10F64800F706DC41411122C406C626C22E84A9CF82 +:10F658008545AA84952539CD2685AD2BC167F9172F +:10F66800638FF40009ED3E2099CB16201947639566 +:10F67800E6041757FB1F0357E79B63FFE7029757FB +:10F68800FB1F83C7A79BA285268599C72244B24042 +:10F69800924441016FF05FC72244B2409244410155 +:10F6A8006FF09FA6094582800945B24022449244E2 +:10F6B800410182805145D5BF6D45C5BF797126D2BC +:10F6C80052CCAA842E8A5D4589454AD04ECE56CA68 +:10F6D80006D622D4B289B68A3A89EFE03FF925C521 +:10F6E8002A84014563060900D6851305440002995A +:10F6F800935785003CB093074500230044017C855F +:10F70800954728A07C84A300340122C69757FB1F85 +:10F7180083C7C7922C00268585C7EFF0FFBEAA8451 +:10F7280011C522859710FB1FE780E09FB250225435 +:10F738000259F249624AD24A26859254456182802A +:10F74800EFF09F9CE9BFCD44D5B7797126D24AD056 +:10F7580052CC56CA2E8906D6BE8522D44ECE99479B +:10F76800B284368ABA8A6314F9062A220944EFE079 +:10F778009FA52AC625C55C4583596500BE239EA062 +:10F78800B247154723805701BAA31757FB1F130722 +:10F79800978A10239305160093F5F50F0CA3D0A3B1 +:10F7A80099E1854614A351476317E9001547BAA0A4 +:10F7B800DC479A249AA75287A686CA854E85EFF019 +:10F7C800FFEF2A8432450DC4EFE0DFAC01A8428682 +:10F7D8007400AA89EFE01F912A845DD1B250228576 +:10F7E800225492540259F249624AD24A45618280AF +:10F7F800F945EFE07FC3DDB79E211CA19E21A183BF +:10F808001CB1BE213CA1BE21A1833CB1114582801F +:10F818009E211CA19E21A1831CB1BE213CA1BE2119 +:10F82800A1833CB1DE215CA1DE21A1835CB1FE2174 +:10F838007CA1FE21A1837CB1214582809E211CA14F +:10F848009E21A1831CB1094582809E211CA19E2175 +:10F85800A1831CB1BE213CA1BE21A1833CB1DE2104 +:10F868005CA1DE21A1835CB1FE217CA1FE21A183E4 +:10F878007CB19E251CA59E25A1831CB529458280A7 +:10F888009A218546AA8718A19A21218318B19A211D +:10F898006319D700BA2138A1BA21218338B111459B +:10F8A80082800945631DA700BA211945B8A3BA216A +:10F8B8002183B8B3DA21D8A3DA212183D8B382808F +:10F8C8009E211CA19E21A1831CB1BE213CA1BE2169 +:10F8D800A1833CB111458280797126D24AD04ECE9F +:10F8E800B2842A89AE8929468145480022D406D6A1 +:10F8F80036849710FB1FE780E0AB64868DE43E20DA +:10F908007C829747FB1F83D7E7727C845C4481CF56 +:10F91800D42F1747FB1F0327A7719E2792063697F8 +:10F928003A237C8578834A8517070000130727F256 +:10F93800540013F6F90FD545EFF05FD82A8911C1A5 +:10F9480095E085471CA023020400014681452285D5 +:10F95800EFF0AFECB25022549254F2494A85025962 +:10F96800456182802285EFE0FF92EDB7B2861707E6 +:10F978000000130727F12E8685456FF03FD401114B +:10F9880068874165700001489307F00F0D47970697 +:10F9980000009386A6E699457D1506CEEFF0FFDABE +:10F9A800F24005618280B28701482E86114797068A +:10F9B8000000938626E6C9456FF03FD9B28617073F +:10F9C80000001307E7E72E86CD456FF03FCF011102 +:10F9D80022CC26CA4AC84EC606CEAA842E891754F7 +:10F9E800FB1F1304E4A39759FB1F938969A61C40C6 +:10F9F80081C7CA85268582971104E31A34FFF2402D +:10FA08006244D2444249B24905618280411122C40C +:10FA180006C626C21747FB1F130787737C2B783B44 +:10FA28001754FB1F130444A41CB4BA9793F7F70F99 +:10FA38001CA4A5CB1305C0033385A702A5658505BE +:10FA48009744FB1F9384C45F9700FB1FE780806087 +:10FA580010249307C00381453306F60288C0971027 +:10FA6800FB1FE780209514249C4001477D56634185 +:10FA7800D7022244B2409244130600038145175529 +:10FA8800FB1F1305E59941011713FB1F67008392BC +:10FA9800B2A32382070023A6070205079387C7039B +:10FAA800F9B7B2402244924441018280411122C4F4 +:10FAB80026C24AC006C62A892E84B2849730FB1F04 +:10FAC800E780E00A09EDC167F91751456313F900AA +:10FAD8000145B24022449244024941018280545572 +:10FAE8005C2195C213F727014146630BC700C18B00 +:10FAF8003D45E5D3BC2E0145E3FD87FC3145D1BF2B +:10FB08001545F5D4F9B7C18B0145E1F71545D1B7CE +:10FB180079714AD0416922D426D24ECE52CC56CAE7 +:10FB28005AC806D6AA8401449759FB1F9389C993DA +:10FB3800174AFB1F130ACA50930AC0037D19054BC5 +:10FB480083C789006364F400014525A8330754037B +:10FB580083270A00BA97BA2363162701050413748A +:10FB6800F40FF9BFC833300093856700EFB09128D0 +:10FB78001946A68528009710FB1FE780A08EE31F73 +:10FB880065FDB250225492540259F249624AD24A4F +:10FB9800424B456182804166AA869755FB1F83C503 +:10FBA800258D1747FB1F0327A74981477D166394B7 +:10FBB800F50001458280035827003A856306C8008E +:10FBC80003480700E308D8FE850793F7F70F1307E4 +:10FBD800C703F1BF411106C69730FB1FE78020F924 +:10FBE80009C54A29B240410182800145E5BF17474E +:10FBF800FB1F0327E7449756FB1F83C66687110739 +:10FC0800814701456393F6008280102301C60505EC +:10FC18001375F50F850793F7F70F1307C703DDB7BC +:10FC28001755FB1F0345C58482801747FB1F130721 +:10FC3800277F81473A86B1460C4391E5B3C7C72071 +:10FC480088C30145828085071107E397D7FE4D4594 +:10FC58008280411106C622C49730FB1FE78020F13D +:10FC68000DCD2A842A218545EFF07FD6485409C551 +:10FC78009700FB1FE780204B22851306C0038145B0 +:10FC88009700FB1FE7800073FD573EA02302040086 +:10FC98000145B2402244410182800945DDBF41113E +:10FCA80006C69730FB1FE78080EC09C54825B2409F +:10FCB800410182800145E5BFC167F9176305F50277 +:10FCC800411122C406C62E849730FB1FE78020EA24 +:10FCD800AA87014589C7DC237D8C33358000B24073 +:10FCE80022444101828005458280411122C406C612 +:10FCF8002E849730FB1FE78080E701CD5A29AA8719 +:10FD0800054563048700C2AB0145B2402244410166 +:10FD180082800545DDBF39CD01114AC8416922CC31 +:10FD280026CA4EC652C456C206CEAA840144974972 +:10FD3800FB1F93896973174AFB1F130A6A30930ADA +:10FD4800C0037D1983C78900634BF400F240624405 +:10FD5800D2444249B249224A924A05618280B30795 +:10FD6800540303250A003E953E21638327018294AC +:10FD78000504C9BF82809747FB1F83A7672CC1660C +:10FD88001746FB1F0346C66E890701450147FD1646 +:10FD980091456313E600828003D807006309D80001 +:10FDA80003C8A7006315B80005051375F50F050707 +:10FDB8001377F70F9387C703E9BF9746FB1F83A6FF +:10FDC80026281746FB1F0346A66A91060147814766 +:10FDD800631FE600858393C7F7FF0545B3C7070888 +:10FDE8006361E5023315A0283345050882808C221B +:10FDF80099C1CE36CD8F05071377F70F9386C603C3 +:10FE0800C1BF93F61700F9FE050585831375F50F35 +:10FE1800C1BF797156CAAA8A2E8526D24AD04ECE3B +:10FE280052CC5AC85EC662C406D622D4AE84328B7F +:10FE3800368CBA8B3E8AC28946899730FB1FE78089 +:10FE480000D33DED41657D159730FB1FE78020D23B +:10FE58002A84554531C81946DE8513056400A30276 +:10FE680084019700FB1FE780604E8357010326A09B +:10FE7800230264013EA8835741032300540123262B +:10FE880004025EA823064401231734012318240121 +:10FE9800EFF0BFF20AB8232A04022685232C0402B5 +:10FEA8008145EFF0DFB20145B25022549254025915 +:10FEB800F249624AD24A424BB24B224C4561828097 +:10FEC8004545DDB79746FB1F83C6865A1747FB1F74 +:10FED8000327071781476395F60041657D158280E2 +:10FEE8000E3B1306C7036394A5002A238280850767 +:10FEF80093F7F70F3287C5B741661748FB1F0348CA +:10FF080028579746FB1F83A6A61301477D169548D9 +:10FF180011436314E80001458280BE223685638E52 +:10FF2800C702CC5A9DC9BC31AC2189CD938597FDB8 +:10FF380093F5F50FE372B3FE9387D7FA93F7D70FCC +:10FF480089EF82809385F7FD93F5F50FE3F6B8FC0A +:10FF58009387D7FA93F7D70FE1D305071377F70FEE +:10FF68009386C6037DB741669745FB1F83C54550F9 +:10FF78001747FB1F0327C70C81477D162548639445 +:10FF8800F5000145828036233A85638BC600545BB1 +:10FF980081CAB4329386E6FD93F6F60FE374D8FE71 +:10FFA800850793F7F70F1307C703D1BF011122CCB9 +:10FFB8002A84494506CEEF609FD61DC12AC62285F0 +:10FFC8009730FB1FE780A0BA01CD624432460E3954 +:10FFD800F2401745FB1F0345554905616F400FCE99 +:10FFE800F24062440561828079714ECE52CCAE896E +:08FFF8002A8A930530054145FA +:020000025000AC +:1000000026D24AD056CA5AC806D622D4328B36894E +:10001000BA8A9700FB1FE7806004CD4429C92A846F +:100020008944638109044146814523126101970097 +:10003000FB1FE780A0385686CE8522859700FB1FE0 +:10004000E78040312146630F0902CA8528009700E6 +:10005000FB1FE7802030A28650002C005285EF4025 +:100060000000AA8422859700FB1FE780400CB25055 +:1000700022540259F249624AD24A424B268592548E +:1000800045618280814528009700FB1FE78000338F +:10009000D9B7411122C4405926C206C6AA8429CC28 +:1000A000085409C59700FB1FE7806008285809C558 +:1000B0009700FB1FE780A007685809C59700FB1F42 +:1000C000E780E006285C09C59700FB1FE780200653 +:1000D000685C09C59700FB1FE780600503250408DD +:1000E00009C59700FB1FE780800422859700FB1F4E +:1000F000E780E00323AA040222448E38B2409244EF +:100100001745FB1F0345F53641016F400FE54111CF +:1001100026C206C622C4AE849730FB1FE780A0A586 +:1001200031C9032345032A84630603048328C307D4 +:1001300003288307832743070327030783466300B6 +:1001400003560300834523002685EF60DFC5228523 +:10015000EFF03FF4EFF0BFE111CD2244B240924402 +:100160001745FB1F0345F530854541011733FB1F3C +:100170006700A389B2402244924441018280411128 +:1001800022C426C206C6AA842E849730FB1FE780AD +:10019000809E5C5989CF9E23639B97008547631897 +:1001A000F4002244B240924441016FF09FEEB2400D +:1001B0002244924441018280411106C622C426C2D3 +:1001C000EFF01FD429C144592A8495CCBC209DC787 +:1001D0009747FB1F83A7C7E789C7DC4399C32685D9 +:1001E0008297B8309307F002631FF7002A20224459 +:1001F000B2409244814541016FF07FF19747FB1F68 +:1002000083A7C7E4D1BFB240224492444101828017 +:10021000411126C24AC006C622C4AA842E8997303C +:10022000FB1FE780409505CD405955C41E206394BF +:10023000970A3C30130710026395E7083C20ADCFC6 +:100240007C5403270408DE2B15E313F7170019CF9E +:1002500018545A23058B19CB930720023CB0B240A7 +:1002600022449244024905454101828013F7270048 +:1002700001CB18545A23098B01C793074002F9BFD9 +:10028000918B81CB1C54DE23918B81C79307600235 +:10029000F1B79747FB1F83A7A7DBF1D3DC43E1D37B +:1002A0002285829738309307F0028145E319F7FAE7 +:1002B0002685EFF0DFE565B79747FB1F83A707D9D2 +:1002C000E9BF1307A0026398E7006304090013095C +:1002D0002003CA85F1BF631C090026859730FB1FE8 +:1002E000E780608909C55C2193E707015CA1A685C9 +:1002F0004A85EF600FBBA5B7011126CA99476C85E7 +:10030000AA842E858D4522CC4AC806CE32893684F1 +:100310007C84EFE02FB62AC61DC9AA854A850294BF +:100320002A8419E52C002685EFF04FB12A8411C5E7 +:1003300032459700FB1FE78080DF2685EFF09FC7DF +:10034000F24022856244D2444249056182804D4494 +:10035000EDB7411122C42E862E8497160000938695 +:10036000667B894506C626C24AC02A89EFF0DFF8B7 +:100370000C20AA844A85EFF09FD9B240224402495A +:1003800026859244410182809747FB1F83A707CCB3 +:1003900085CB9C4395C71D71A2CC86CE9841100891 +:1003A0002A843AC8D84185453ACA829711C54886F9 +:1003B0002A206C00EFF0FFF9F64066442561828048 +:1003C0008280AA872E8591CFFC5781CF982398A150 +:1003D000983398B1B82BB8A1982FDC4BB8B1DCC1D9 +:1003E0008280414681451703FB1F670023FD974725 +:1003F000FB1F83A7E7C581C79C4791C38287094537 +:1004000082801747FB1F032727CB1DC75843AA87A6 +:1004100005450DC703A50708411106C69306050249 +:100420001306050C93050506130505040297B24053 +:100430001375F50F410182800545828082804DC988 +:10044000357122CD2A840A2126CB52C556C35AC102 +:1004500006CF4AC94EC7DEDE2E8AB28A368B972077 +:10046000FB1FE7804071AA8431C50C182285EFF08C +:100470005FF53C20938B6400A9CBEF503FFC2A89A9 +:10048000014583C95400EF50FFF8AA840C100818E6 +:10049000EF10804A08542C10EF10A04ADE88A68B7B +:1004A0005AC04E88DE874A8714103010D685528590 +:1004B000EF200076FA406A44DA444A49BA492A4AA7 +:1004C0009A4A0A4BF65B0D618280EF503FF7AA898A +:1004D000014503C95400EF50FFF32ACE08540C1015 +:1004E000EF1080452C100818EF10A045F2484DBFC2 +:1004F0008280AA8701CD1855414511CBFC5781CB8D +:1005000028333D476375A700882F8280414582804C +:100510006DC5411122C406C626C2AA872E8409458C +:10052000E1C998337D761306F67F98A1B8234D452F +:1005300098B1B833B8A1D823B8B1D433DA21858AB9 +:10054000A2061377F7EF558FDAA1D43333470708A4 +:100550001377F7DF93D61648A606558FDAA1D43362 +:10056000334707081377F7BF93D62648AA06558F57 +:10057000DAA1D43333470708718F93D63648AE06D5 +:10058000558FDAA1F42333470708799B858A558F65 +:10059000DAA1F42333470708759B898A558FDAA1BE +:1005A000F423334707086D9B918A558FDAA1F8230E +:1005B000DE21218BDD9BD98FDEA1EF60CFF6AA84EF +:1005C0005145EF604FF6383093F4F40FAA87494550 +:1005D0006360970293F7F70F63ECE70018209147E9 +:1005E000614563E7E7001830854763E3E7000145AD +:1005F000B24022449244410182800945828015C55F +:100600002A87AE87094585C5411106C6143313856F +:100610001700194694A1930527009700FB1FE78058 +:1006200060D3B240014541018280094582808280C9 +:100630000DC9AA872E8709459DC5411106C6B42359 +:10064000903313052700A206D18E96A121469385EB +:1006500037009700FB1FE780E0CFB2400145410122 +:1006600082800945828082801DC12A87AE87094524 +:100670008DC141113E8541469305170006C697007E +:10068000FB1FE78020CDB240014541018280094532 +:1006900082808280AA87094591CB89C99C333D47D6 +:1006A00061456365F7009CA101458280828005C594 +:1006B0002A87AE87094595C141113E85130600047E +:1006C0009305170006C69700FB1FE780A0C8B2403D +:1006D0000145410182800945828082801D71A2CC42 +:1006E0002A84084586CEA6CA230601000421354780 +:1006F0009387F4FF93F7F70F6362F70A17D70100A8 +:100700001307C76EB3C7E7209C43BA9782870C08CC +:10071000EFF01FE0C947631CF50499475C862A2067 +:100720006C00EFF01FC3F6406644D644256182801A +:100730000C08EFF03FF61DED2A209720FB1FE78005 +:100740008043A14705C15825631CF7041747FB1FC9 +:10075000032707909D4719C7184309C71008A685A6 +:100760000297AA875C8629A00C08EFF07FEC69D578 +:100770001C86D5F72A20EFF0FF8375B70C08EFF041 +:100780001FE8F5B71C312308F1007DB70C08EFF026 +:100790001FF2F1BF0C08EFF03FEDD1BF9D47BDBF89 +:1007A0001747FB1F0327878A75B7411122C406C666 +:1007B00026C24AC01821930720092A84631AF71019 +:1007C0001C3139476395E70A56210967610781475C +:1007D0006398E6089744FB1F9384C487884049C107 +:1007E0000C4403C90500631D09001C218505214631 +:1007F000B9CB29059700FB1FE780C0B59C40A5C376 +:1008000049459700FB1FE78020A52A841DC1930757 +:1008100010FC1CA1A30025018C4009054146890557 +:100820009700FB1FE78000B39C40A2858833EF3020 +:100830005FA388409700FB1FE780608F9747FB1FEF +:1008400023AA078029A809059700FB1FE78080B02D +:10085000EF30B00005495DF19C40238027018547BA +:10086000B2402244924402493E85410182801307EE +:10087000E003639DE706382195476319F7024A2193 +:10088000EFF06FC29147E31CF5FC9737FB1F83A77E +:10089000E77BF1D79C47E1D772244A209305640097 +:1008A0002244B2409244024941018287A147631B1E +:1008B000F7006C204A202244B24092440249410190 +:1008C0006FF01F95930600038147E31BD7F8D5B758 +:1008D0009306000A8147E315D7F8EFF03FE008449C +:1008E0003DDD9700FB1FE780808495BF81478DBF6A +:1008F000011122CC06CE26CA4AC8094415CDAE84C1 +:1009000009449DC92A898D456800EF50BF841C8722 +:1009100026866C0093F7F70393E707044A855C8704 +:10092000EF2000262A8409E90D466C001385340067 +:100930009700FB1FE78000A2F24022856244D24468 +:100940004249056182805D714EDE86C6A2C4A6C2A0 +:10095000CAC052DC56DA5AD85ED6894955C932899E +:1009600089495DC6138B45002A8AAE8A334B0B0832 +:10097000930530055A8597F0FA1FE780206E2A8488 +:10098000CD4959C5EF507FADAA845686D28593DAFA +:10099000840013DA040193FBF40F1305440093FA67 +:1009A000FA0F137AFA0FE1809700FB1FE780C0B0BF +:1009B000A301740123015401A300440104A0EF50DA +:1009C0003FA9AA85414608089700FB1FE780C0AEF3 +:1009D000214734005A86A2850808EF20E040AA8902 +:1009E0001DE121462C0023007901A30059012301B8 +:1009F0004901A3019900130549009700FB1FE780F7 +:100A0000A0ABEF505FA6228597F0FA1FE780207217 +:100A1000B640264496440649625AD25A425BB25BBB +:100A20004E85F25961618280411126C2AA842E85C9 +:100A30004AC006C622C42E899720FB1FE780A01358 +:100A400069C5405969C45C30094793F6B70F63879D +:100A5000E60011471305E00F6395E7081E200945DE +:100A600063912709130984004146A6854A859700AA +:100A7000FB1FE780208E4146A68513058401970061 +:100A8000FB1FE780208D383085469307F7FE93F7EC +:100A9000F70F63EEF6049304C4039737FB1F83A795 +:100AA000A761C14526858DC79C4F9DC3829793063C +:100AB000C4022686CA852285EFF07F983C2081CF2C +:100AC00022852244B2409244024941016F10C00C79 +:100AD000EF504FE8E9BF3830C947E303F7FE3CB0B9 +:100AE0000145B24022449244024941018280930769 +:100AF0001005E317F7FE3C20E5D722852244B240DB +:100B00009244024941016F10600F0945D9BF494520 +:100B1000C9BF797152CC2A8A328522D44AD04ECEAE +:100B200006D626D2AE8932899720FB1FE780A00423 +:100B3000494405C9445949448DC49E206393270301 +:100B4000DC30A18B85EB0944B8309307B005631AFC +:100B5000F7002685EF106007BC20ADCB9307C005DA +:100B6000BCB0B2502285225492540259F249624AD2 +:100B7000456182801739FB1F130909548327090037 +:100B80001304E00FF9DF9C47E9DF13848401228519 +:100B90004146D28597F0FA1FE780C07B8327090082 +:100BA00083A5040822869C47938505042E850A8721 +:100BB000814682972A844146CE850A859700FB1F8D +:100BC000E780C08A49D11374F40FBDBF9307E005D5 +:100BD00041BF39C9011122CC26CA06CEAA842E846F +:100BE000094595CD0D468D05280097F0FA1FE78041 +:100BF00060761C8570002C0093F7F70393E70704D9 +:100C000026855C85EF10D07719E90D46A28568002E +:100C10009700FB1FE78080857D153335A000F240EB +:100C20006244D2440561828009458280011152C428 +:100C30002A8A32854EC656C25AC006CE22CC26CA51 +:100C40004AC82E8BB28AB6899720FB1FE780A0F294 +:100C500009ED8944F24062444249B249224A924A2B +:100C6000024B2685D244056182805C592A89C5449D +:100C7000F5F34D45EF602F8B1374F50F5145EF6081 +:100C80008F8AE38809FC03C78901E36487FC9377B3 +:100C9000F50FE3E0E7FC930530051305400897F0F6 +:100CA000FA1FE780A03B232AA9022A84CD445DD104 +:100CB00013064008814597F0FA1FE7802070A301D2 +:100CC000040023014401230264012310540123265C +:100CD000340723240402A302040063070A002285C8 +:100CE000EF00D065AA8419E18144ADB74A85EFF0E1 +:100CF0004FBA8DB7397122DC06DE26DA4AD84ED6D5 +:100D000052D456D25AD05ECE62CC66CA0944630A27 +:100D10000610BA84094463060710AA8B2E89328B09 +:100D2000368C9720FB1FE78000E5AA8A514475C9DD +:100D300093053005414597F0FA1FE7802032AA89D4 +:100D40004D4465C198309C2003CA340022075D8F52 +:100D5000BC20620AC207D98F336AFA0083A78A02CD +:100D600063E647017D5709446398E70A6307090072 +:100D700083C74A000544898BC5C3214681450A853E +:100D800097F0FA1FE7808063930C4C0093053005C1 +:100D9000B3CC0C08668597F0FA1FE780202C2A89CF +:100DA0004D443DC96286DA85110597F0FA1FE78048 +:100DB000A0701146A6854A8597F0FA1FE780C06F9C +:100DC000414693858A014E8597F0FA1FE780C06EF1 +:100DD00021478A866686CA854E85EF20E0002A84F0 +:100DE0001DE521468A85280097F0FA1FE780C06C30 +:100DF000214693854400280097F0FA1FE78000679A +:100E00008547631EF502D2855E85EF60AFAD4A85EA +:100E100097F0FA1FE780A0314E8597F0FA1FE78020 +:100E20000031F25022856254D2544259B259225AAA +:100E3000925A025BF24B624CD24C21618280054493 +:100E4000F9B7797122D406D626D24AD04ECE2E8456 +:100E50009397556063D607049734FB1F93844461CE +:100E6000A83097F0FA1FE78020452AC609CDEFF099 +:100E7000DF93B24511E5A8209307F00F631FF5003B +:100E80002E85EF30EFB81319F468B2502254925403 +:100E9000F2494A85025945618280EF308FBCE5B73F +:100EA00013F9150063070900EFF00FB1134914009F +:100EB000E9BFE1DD854421A0850493F4F40FEFE060 +:100EC000BFD6E3F4A4FCB3179028B3C90708E18F99 +:100ED000E5D74E85EFE09FFFC167FD176305F5007D +:100EE000DD45EFF0CFA23349340145B79737FB1FFB +:100EF00023A207169737FB1F23AC07149737FB1F56 +:100F000023A607149737FB1F9387C75517070000C1 +:100F10001307475E98C3170700001307472FD8C36E +:100F200017F7FFFF1307070D98C79737FB1F938726 +:100F3000A752171700001307C74698C317170000DA +:100F4000130747FFD8C3171700001307872A98C74E +:100F500082809737FB1F83C7E751A18B014789C761 +:100F60001737FB1F130707509737FB1F23A2E70E06 +:100F7000014582809737FB1F83C7C74F918B01477D +:100F800089C71737FB1F1307274D9737FB1F23AF61 +:100F9000E70A01458280011106CE2AC6EFF01FF54F +:100FA000324599459737FB1FA385A74CEFD0AFE794 +:100FB000F24017F5FFFF1305C51C05616FE07FC701 +:100FC0001C5599C321458280411122C426C22A841E +:100FD000AE84130500049305300506C64AC097F099 +:100FE000FA1FE780A00708D469C913060004A68584 +:100FF00097F0FA1FE78000367454B82A9377870079 +:10100000FDCB1C54BC23A18BFDC783270408D5E767 +:10101000930530051305001097F0FA1FE7800004D0 +:10102000AA872320A4080D45D1CB74549C30983254 +:10103000C1CF3337E0000E07936707016C545CB0F3 +:10104000B829058B19CB1854854638230D8B6316A8 +:10105000D70078201367170078A00327040809C772 +:1010600078201367870078A00547639FE70C130972 +:101070008400414681454A8597F0FA1FE780003495 +:10108000814513058401414697F0FA1FE78000333C +:101090009304C4039737FB1F83A70702C145268526 +:1010A000B5CF9C4FA5CF829783270408BDCB22855F +:1010B000EF00D0349307000549C12145B2402244D6 +:1010C0009244024941018280A1472DFBBC20918BB3 +:1010D00091E7BC2A918B99E385478DB7982094229C +:1010E00095473307F70297D701009387A7D3BA979D +:1010F000B6979C23A1B79C3081C79032E1471DFE73 +:10110000BC205D8F118B69DB9820954794223307B3 +:10111000F70297D701009387A7D2D1BFEF508F83F3 +:1011200061B722859306C4022686CA85EFF02FB1E7 +:101130002285EF00702651F1C1470A203CB081455D +:10114000EF505FE401459DBF13F7870151C7C18B85 +:10115000930484004146B1CB8905268597F0FA1F98 +:10116000E780401F814513058401414697F0FA1F2F +:10117000E780C0247C201309C403C14593E74700DE +:101180007CA09737FB1F83A727F34A8595C79C4F01 +:1011900085C78297832704089DC32285EF00102608 +:1011A00009FD930720053CB071BF8145268597F066 +:1011B000FA1FE780A0207DB7EF40DFF9E1BF93067B +:1011C000C4024A86A6852285EFF06FA72285EF002C +:1011D000B01CCD4769D9D5B5094785456388E70077 +:1011E00093F7D70F11476396E70089450A20EF5020 +:1011F0007FD97C2093E747007CA08327040881C720 +:10120000930710054DB7C54779BF3C216385072675 +:10121000397122DC06DE26DA4AD84ED652D43C3169 +:10122000130750052A846397E70803497500173AA6 +:10123000FB1F130A6AE89309C50393573900AA975D +:10124000842783270A00C1454E85B5C39C4FA5C39B +:10125000829783270A00A1C79C47B1C303250408CE +:1012600013797900B3D62441858A930505041808BB +:1012700093E606084E861305050882971375F50F49 +:1012800019ED41460C081305C40297F0FA1FE780D8 +:10129000600C2285EF005010930760053CB0F250BF +:1012A0006254D2544259B259225A21618280EF408D +:1012B0007FEA45B7130710026392E7021C55032724 +:1012C0000508DE2361EB13F7071069C778555A2B21 +:1012D0001377071061C3930770023CB03C301307CB +:1012E0007002639FE70C3C5885E393053005714518 +:1012F00097F0FA1FE78080D628D819C57146814536 +:1013000097F0FA1FE780800B2458A1C8BC2C89E70E +:101310002285EFF00F9EA8AC28588145414697F0F2 +:10132000FA1FE780A00928583D472C2D9387F5FF29 +:1013300093F7F70F6364F700EF40DFE1EF20FFFC66 +:101340003C58A1458AAB13852701EF40BFE02C58DC +:101350000A20EF003034631A0510930780023CB076 +:101360000A209720FB1FE7800081414609C57E25A2 +:1013700013D617003E966254F250D2544259B259D5 +:10138000225A1735FB1F0345D50E060685452161F8 +:101390006F304F9313F7072009CB78545A2B1377EC +:1013A000072001C7930790020DBF93F707409DD711 +:1013B0007C54DE2B93F7074095D39307B00231BFDF +:1013C000130780026397E7023C5899C78E2B0A20C7 +:1013D00013862701EF0070311C54DE2313F707201A +:1013E00029CF78545A2B1377072021CB93079002EB +:1013F000BDB713079002639BE700EF50CF84AA8527 +:101400000A20EF00902D9307A00291BF1307A002BE +:101410006390E704EF508F82AA8585470145638476 +:10142000F500814505452EC6EF40DFFE2A86B24510 +:101430000A20EF0030271C54DE2393F707409DC39A +:101440007C54DE2B93F7074091CF9307B00201BF86 +:101450001307B0026398E700EF409FFFAA850A20B8 +:10146000EF00102C9307F00215BD38309307F002FF +:10147000E318F7EE2DB58280411122C4405926C2EF +:1014800006C67C54AA84DE2B13F7071011C7185424 +:101490005A23137707100DE313F7072011C71854C9 +:1014A0005A231377072009EB93F707408DCB1C5481 +:1014B000DE2393F7074085C7930710023CB02285CF +:1014C000EFF0BFD438309307F002631EF7002244D8 +:1014D000AA20B2409244814541016FE05FC3930767 +:1014E000F0023CB0EDB7B240224492444101828008 +:1014F000397122DC405926DA4AD84ED606DE2A89CE +:10150000AE84B289630604382A211E206391A71293 +:101510003C20638A07389387E5FF93F7F70F2D4741 +:101520006363F73817D7010013074793B3C7E72062 +:101530009C43BA97828722856254F250D254425912 +:10154000B259B28521616FF0BFA74146CE85130520 +:10155000C40497F0FA1FE780E0DF2285BD2538300C +:1015600093074005631AF700930790053335A000F1 +:10157000931435003CB06DA893066005D147E3177E +:10158000D7FE9307A005DDB71309C4054A85414678 +:10159000CE8597F0FA1FE780E0DB032504085DC5E0 +:1015A0003C30130790056397E7002285452D93078C +:1015B000E005A5A81307A0056394E7087C3013D7BE +:1015C0003700229714279D8BB3D6F640858A97372C +:1015D000FB1F83A767AE93E60608B1CB9C47A1CB60 +:1015E0009305050818084A861305050482971375A4 +:1015F000F50F15ED41460C081305C40497F0FA1FCA +:10160000E780C0E67C304D47850793F7F70F7CB045 +:10161000E36DF7F885451735FB1F034595E59710F2 +:10162000FB1FE780803E930750053CB031A8A144E2 +:10163000F25062544259B2592685D25421618280B7 +:101640001307C005E383E7F68144DDB793098400FF +:101650004A86CE8522851408EFE07FDE4146930559 +:10166000C404080897F0FA1FE78040E071D18A8629 +:101670001306C403CA854E85EF10A06DA1440DE189 +:101680002285EFE01FE72A870A209737FB1F83A7F1 +:10169000E7DD814601468A858297B334A0008E0437 +:1016A00093072002C1BD0C22EFE07FA671BF383046 +:1016B000930720026319F71E7C5889EB93053005C8 +:1016C000714597F0FA1FE780609968D86858630CF5 +:1016D000051C4146CE8597F0FA1FE780A0C76458E5 +:1016E0002285EFE01FE1A8AC930730023DBF383000 +:1016F000930730026319F71A1E2268582146938512 +:1017000029001EA9490597F0FA1FE780A0C47C5460 +:10171000DE2B13F727002DC718545A23098B2DC32E +:101720009307400219B7383093074002631DF7163C +:101730003C5C81EB85455D4597F0FA1FE7800092A0 +:1017400028DC285CE30205F083C709004146CE850A +:101750007CA997F0FA1FE780E0BF93075002F1B52C +:101760003830930750026310F714285C19469385AC +:101770001900410597F0FA1FE780C0BD7C54DE2BAD +:10178000918B95CF1C54DE23918B95CB93076002F0 +:1017900069BD7C5C89EB93053005514597F0FA1FD4 +:1017A000E780C08B68DC685CE30305E84146CE85D2 +:1017B00097F0FA1FE78000BA7C5C7D5798CB4A858A +:1017C000EFF09FCB51B50325040813060004CE8526 +:1017D0001305050497F0FA1FE780C0B72285EFE0F4 +:1017E0005FC23C30130700056395E700930740058F +:1017F0002DBD13071005E38FE7E013072005E395E0 +:10180000E7E49737FB1F83A7278BE38207E29C4718 +:10181000E38F07E083250408930484001808938568 +:101820000508814626862E8582970A201008A685FF +:10183000EF502FFE9307B005CDBB38309307E0057E +:101840006313F7068325040841464E8597F0FA1F77 +:10185000E780C0C1AD44E30D05DC03250408414623 +:10186000CE8597F0FA1FE780E0AE2285EFE07FC8D3 +:101870002A872C580A209737FB1F83A727BF81464A +:1018800001468297B334A0008E0493071002DDB1A5 +:10189000AD47E39BF5DA14222E21130665000821DB +:1018A000EF40DFF255B39D4461B3AA87094541C6B5 +:1018B000D9C11CA29C211CB29C313CA2BC213CB2CF +:1018C000BC31A30206005CA2DE2193D787485CB23C +:1018D000DA211377072001C793E727005CB2DE21E6 +:1018E00093F7074089C75C3293E747005CB2DE217B +:1018F0001317B028F98F89C75C3293E787005CB271 +:1019000023030600DE21858B7CA2DA21098B01C727 +:1019100093E727007CA2DE21918B89C77C2293E785 +:1019200047007CA2DE21A18B89C77C2293E7870038 +:101930007CA20145828082802E86AA8505456FF0B3 +:10194000DFF62E86AA8509456FF03FF68DC52A87FA +:10195000094505C7411106C6AE878D4694A113857A +:1019600017004146BA8597F0FA1FE780A09EB24063 +:101970000145410182800945828082808DC52A8788 +:10198000094505C7411106C6AE87914694A1138546 +:1019900017004146BA8597F0FA1FE780A09BB24036 +:1019A0000145410182800945828082808DC52A8758 +:1019B000094505C7411106C6AE87994694A113850E +:1019C00017004146BA8597F0FA1FE780A098B24009 +:1019D0000145410182800945828082809DC92A8714 +:1019E000094515CB411106C69D4694A11623AE8725 +:1019F0001385370094B116232146A182B4A1930523 +:101A0000270097F0FA1FE780E094B24001454101BA +:101A100082800945828082808DC52A87094505C755 +:101A2000411106C6AE87A14694A113851700414611 +:101A3000BA8597F0FA1FE780E091B2400145410175 +:101A4000828009458280828085C92A8709451DC711 +:101A5000411106C6A54694A11423AE87138527001D +:101A600094B119469305170097F0FA1FE780808E0E +:101A7000B2400145410182800945828082808DC546 +:101A80002A87094505C7411106C6AE87A94694A114 +:101A9000138517004146BA8597F0FA1FE780808BBF +:101AA000B24001454101828009458280828095C50E +:101AB0002A8709450DC7411106C6AE87B14694A1D4 +:101AC0001385170013060004BA8597F0FA1FE78004 +:101AD0006088B24001454101828009458280828050 +:101AE0008DC52A87094505C7411106C6AE87B5468B +:101AF00094A1138517004146BA8597F0FA1FE78035 +:101B00006085B24001454101828009458280828022 +:101B1000AA87094581C999C7154798A19C23014502 +:101B20009CB182808280AA87094581C999C72D47C7 +:101B300098A19C2301459CB1828082800DC55D7176 +:101B40008A8586C6A2C42A84EFE0BF870A200A8657 +:101B500097060000938686DE9D45EFE0EFF9B640DC +:101B6000264461618280054582800DC55D718A854C +:101B700086C6A2C42A84EFE0DF840A200A8697067C +:101B80000000938646DC9D45EFE00FF7B640264403 +:101B900061618280054582805D71A2C49305C502A2 +:101BA0002A8441460A8586C697E0FA1FE780807A34 +:101BB0000A200A8697060000938686D9C545EFE07D +:101BC000AFF3B6402644616182805D71A2C4930583 +:101BD000C5032A8441460A8586C697E0FA1FE78036 +:101BE00060770A200A8697060000938666D9C54565 +:101BF000EFE08FF0B6402644616182809727FB1F9B +:101C000083A7874BA9CB9C435D71A2C486C62A8457 +:101C10001305E00F8DCF032504089305050C13056C +:101C20000508829783250408130600040A85938516 +:101C3000050897E0FA1FE780E0710A209706000088 +:101C4000938626E70A8693051004EFE0EFEAB64094 +:101C50002644616182801305E00F8280317122DDAC +:101C60002A840A2126DB06DF4AD94ED752D556D31D +:101C70005AD15ECF62CD66CB9710FB1FE780A0EFF5 +:101C80003C58AA8489EB93053005714597E0FA1F0B +:101C9000E780C03C28D82858CD4715C971468145F2 +:101CA00097E0FA1FE7808071032904072285EFE09F +:101CB0005F84230DA9003C201729FB1F1309C93F8E +:101CC00063820712832709008DE39307E00FFA5020 +:101CD0006A54DA544A59BA592A5A9A5A0A5BFA4B40 +:101CE0006A4CDA4C3E852961828003AC0701E30E21 +:101CF0000CFC032B0408EF406FF4AA8B0145EF4066 +:101D00006FF1DC303458130B0B029309C403130A30 +:101D1000C405938A64002A8736C0B337F00093085D +:101D200001045688B33670015286CE855A85029CCE +:101D30001C54B8232307E1029833A306E1029C2335 +:101D40002306F10283270900C9D383AB4701E38E41 +:101D50000BF6DC30B337F0003ECEEF402FEE2A8B8F +:101D60000145EF402FEB03270408F2472AC03AC28F +:101D7000B338600156887810930684004E86D28569 +:101D80008800829B7C54B82B2305E1029833A3047E +:101D9000E1029C232304F1028327090003AB4701DE +:101DA000EF40CFE92A890145EF40CFE683C85400D0 +:101DB0009C082A883EC2B3381001B337200138107E +:101DC000930684015286CE8556C08800029B0A2065 +:101DD00097060000938606D19008C545EFE0CFD165 +:101DE000AA87F5B5D43083270900032B0408B3363E +:101DF000D00083AC070136CEEF404FE4AA8B0145FB +:101E0000EF404FE13C58F246130B0B02130AC40596 +:101E10009309C403938A64002A88930801044E86B8 +:101E2000D2853EC05687B33770015A85829C1C54B8 +:101E3000930B0103B8232307E1029833A306E102C1 +:101E40009C232306F1028327090083AC4701DC3081 +:101E5000B337F0003ECEEF406FDE2A8B0145EF40F6 +:101E60006FDBF2472AC0B3386001568878109306BA +:101E700084004E86D2855EC28800829C8325040839 +:101E800041465E8597E0FA1FE780405EAD47E31B61 +:101E900005EE35BD2E8697060000938666B1C545D2 +:101EA0006FE08FC55D71B287A2C44C802A84BE8565 +:101EB00013051100194686C697E0FA1FE78080498E +:101EC0000A86228597060000938646B8A145EFE072 +:101ED000AFC2B6402644616182802E86970600001C +:101EE0009386C6B3C5456FE02FC15D71B287A2C4AA +:101EF0006C802A84BE8513052100214686C697E0A2 +:101F0000FA1FE78020450A862285970600009386FF +:101F100026ADAD45EFE04FBEB640264461618280FC +:101F20002E86970600009386C6B5C5456FE0CFBCE8 +:101F3000797122D406D626D24AD03C311307300517 +:101F40002A846389E70813075005639AE708034961 +:101F500075009307A0053CB193573900AA978427D1 +:101F60009727FB1F83A747151305C503C145A5C3C5 +:101F70009C4FB1CF829713797900B3D62441858ADB +:101F800093E606089727FB1F83A707139DCB9C4763 +:101F90008DCB0325040818081306C4039305050414 +:101FA0001305050882971375F50F01ED1305C4029B +:101FB00041460C0897E0FA1FE780C0392285EFF010 +:101FC000BFBDB25022549254025945618280EF4005 +:101FD0006F9855B7930790053CB1814665B71307D5 +:101FE00010026391E7027C5503270508DE2B6DE3A1 +:101FF00013F7170071CF18555A23058B71CB930730 +:1020000020023CB03C3013072002639AE70E3C5894 +:1020100089EB93053005714597E0FA1FE7800004CE +:1020200028D82458B5CC2285EFE0AFCCA8AC2858EE +:102030008145414697E0FA1FE780403828583D47E0 +:102040002C2D9387F5FF93F7F70F636DF702972712 +:10205000FB1F83C72707CDC341468145080897E08A +:10206000FA1FE780A03519469725FB1F9385C51FEA +:10207000080897E0FA1FE780E02D30580C082E85FD +:10208000EF303108EF206FA83C58A1458AAB13858B +:102090002701EF402F8C2C580A20EFF0BFDF01E51D +:1020A000930730023CB00A209710FB1FE780A0ACDA +:1020B000414611C172252254B2509254025917253B +:1020C000FB1F0345153B0606854545616F208FBF05 +:1020D00013F7270001CB18545A23098B01C7930724 +:1020E000400205B7918B99DF1C54DE23918BE38B63 +:1020F00007F09307600231B7EF40CF8561B7130750 +:1021000030026396E7023C5899C78E2B0A2013864B +:102110002701EFF09FDD7C54DE2B13F7270039CB2E +:1021200018545A23098B39C793074002A5BF1307D8 +:102130004002639CE700EF400FB1AA850A20EFF050 +:10214000DFD99307500239DDB9BF13075002639CF2 +:10215000E702EF40AFAEAA85054599C18545014527 +:102160002EC6EF402FAB2A86B2450A20EFF09FD350 +:102170007C54DE2B918B95C31C54DE23918B91CF25 +:102180009307600205B7130760026398E700EF400A +:102190002FACAA850A20EFF0BFD87C54032704088F +:1021A000DE2B09EF13F7071011CB18545A231377BE +:1021B000071009C7930770023CB021B513F7072039 +:1021C00009CB18545A231377072001C793079002AD +:1021D000E5B793F7074089CB1C54DE2393F70740FC +:1021E00081C79307B002C9BF9307F002F1B73971F5 +:1021F00022DC26DA4AD84ED606DE52D42E89B2899F +:10220000AA849710FB1FE7800097405941468145FB +:102210000A8597E0FA1FE780601A35C4035A040064 +:1022200063139A06383093071002631FF70283275F +:10223000040899CF2C58A1C95285EF103063054589 +:10224000F2506254D2544259B259225A21618280CA +:102250008A861306C4059305C40313058400EF00A2 +:10226000502F15E18A85C9BF2C5891CD9E29639CBA +:1022700037012146C9054A8597E0FA1FE780001F0C +:1022800019C12C5855BF26859710FB1FE780A08EDB +:102290002A8455D54C55A9C59E29639337052146F7 +:1022A000C9054A8597E0FA1FE780401C85476319F6 +:1022B000F5029727FB1F83C797C489C74C54BC3DC1 +:1022C000639AA70CBD452685EF10B0549727FB1FD6 +:1022D00083A787EB81C789451D45829701458DB747 +:1022E0001729FB1F1309F9DD834709009729FB1FF5 +:1022F000938989E6858BA9C358309727FB1F83C72D +:10230000E7DB631BF70219469725FB1F938515DB57 +:102310001305640097E0FA1FE78040158547631DA9 +:10232000F50083A7090381C791451D458297BD45E7 +:102330002685EF10104E21B71727FB1F034787D8BC +:1023400083A7090331CB03470900098B09CB81C758 +:1023500095451D4582972685EF109051CDB581C7D3 +:102360008D451D45829741468145080897E0FA1F33 +:10237000E780C00419469725FB1F9385E5EE080802 +:1023800097E0FA1FE78000FD0C082E850A86EF30E3 +:1023900041578A85268555B58545C5FF6DBF79713D +:1023A00022D4405926D24AD04ECE06D6AA892E89AA +:1023B000B284630C04622A211E20638BA70021498A +:1023C000B25022549254F2494A85025945618280A2 +:1023D0003C20639A07629387F5FF93F7F70F314725 +:1023E0006363F76217C70100130747AAB3C7E72063 +:1023F0009C43BA9782871C54F9F393053005130563 +:10240000000497E0FA1FE78060C508D44DD99820F2 +:10241000914763F4E7000D4965B798308547E3ECD1 +:10242000E7FE13060004A68597E0FA1FE78080F216 +:1024300018547C54A30204005443D04BFD75858A84 +:10244000758ED62B9385F57FF99AD18ED6ABD04B6E +:102450005443758ED62B098AF59AD18ED6ABD04BC4 +:102460005443758ED62B118AED9AD18ED6ABD04BB4 +:102470005443758ED62B218ADD9AD18ED6ABD04BA4 +:102480005443758ED62B1376061093F6F6EFD18E45 +:10249000D6ABD04B5443758ED62B1376062093F6CD +:1024A000F6DFD18ED6ABD04B5443758ED62B137638 +:1024B000064093F6F6BFD18ED6ABD44B5043F18E87 +:1024C000D22B93D6B648AE066D8ED18ED6ABBC2B32 +:1024D00003250408A18BFDC73C23A18BE5C7E310AE +:1024E00005EE930530051305001097E0FA1FE7800D +:1024F000E0B62320A40805D17C54A3020400983040 +:10250000943399E659CB5C3093E707015CB021A086 +:10251000A1475CB06DFB2285EFF02FE56C54BC2920 +:10252000858B89CB1C54BC238D8B89C77C2093E77A +:1025300017007CA08327040889C77C2093E78700C5 +:102540007CA05C3005476390E70C4146814513054C +:10255000840097E0FA1FE78060E681451305840157 +:10256000414697E0FA1FE78060E59727FB1F83A7A6 +:10257000A7B41305C403C145C1C79C4FD1C38297FB +:1025800003270408C14719C3930700050A203CB07C +:102590008145EF403F9F014925B5B82B118B11E7CD +:1025A000B820118B19E3854795B798239420954758 +:1025B0003307F70297C701009387C786BA97B69784 +:1025C0009C23A9B719C597E0FA1FE78040B62320DE +:1025D00004087C54983309C7983019C3E1473DB7C4 +:1025E000B82B118B01E7B820118B55DF9823954745 +:1025F00094203307F70297C70100938767847DBF54 +:10260000EF305FB5B5BF13F7870125C7C18B130541 +:1026100084004146A1C7890597E0FA1FE78080D36F +:10262000814513058401414697E0FA1FE78000D9F0 +:102630007C201305C403C14593E747007CA097277E +:10264000FB1F83A767A78DC39C4F99CF82978327D2 +:10265000040891CF930720053CB035BF814597E032 +:10266000FA1FE780A0D56DBFEF30DFAECDB7CD4705 +:10267000E5B7094789456386E70011476397E70097 +:1026800085450A20EF401F9021A01947E38AE7FE05 +:102690007C2093E747007CA08327040881C7930729 +:1026A00010055DBFC5474DBF4146A6851305C4044F +:1026B00097E0FA1FE78000CA3C3013076005639E6D +:1026C000E70085451725FB1F0345B5DA9700FB1F7B +:1026D000E780A0339307500541B745476384E7027D +:1026E0009306C4021306C403930584002285EFD029 +:1026F0001FD52285EFF04FCA3339A0000E09D1470C +:102700003CB07DB9C94789BF9309C4054E85414690 +:10271000A68597E0FA1FE780E0C30325040879C582 +:102720003830930690056318D7002285EFF0EFC983 +:102730009307E00515B79306A005631AD70678300E +:102740001726FB1F0326469793563700A29694261A +:10275000630B062A032886006307082A1D8BB3D65D +:10276000E640858A0A8793E60608930505084E86A3 +:1027700013050504029841468A851305C40497E0B1 +:10278000FA1FE780A0CE133915002285EFF0EFC3C2 +:102790007C30CD460A09850793F7F70F7CB0130705 +:1027A000600563F4F6001307E00538B011B993062D +:1027B000C005E312D7DE1727FB1F0327E78F63044B +:1027C0000724032887006300082493050508930461 +:1027D00084000A87814626862E8502980A200A866A +:1027E000A685EF401F839307B005BDB58A864E8648 +:1027F000930584002285EFD09FC441469305C4040D +:102800000A8597E0FA1FE78060C68547E31AF5BAA4 +:102810002285EFF08FBB93071002E30F05E245B668 +:102820003830930770026310F71E7C5889EB9305CC +:102830003005714597E0FA1FE780408268D86858F4 +:102840006303051CA685414697E0FA1FE78080B028 +:1028500064582285EFD0FFC9A8AC93078002EDBB76 +:102860003830930780026310F71A1E2268582146F9 +:10287000938524001EA9490597E0FA1FE78080ADE3 +:102880007C54DE2B13F7072035C718545A231377CF +:1028900007202DC393079002C1B3383093079002ED +:1028A0006313F7163C5C89EB930530055D4597D0C3 +:1028B000FA1FE780A07A28DC285C630605144146ED +:1028C000A68597E0FA1FE780E0A89307A00269B306 +:1028D00038309307A0026318F7121C22285C1946AF +:1028E000938514007CA9410597E0FA1FE78080A634 +:1028F0007C54DE2B93F70740A1C71C54DE2393F7CB +:1029000007409DCF9307B00281BB38309307B002D8 +:10291000631BF70E7C5C89EB93053005514597D01E +:10292000FA1FE780A07368DC685CE30A05A84146EB +:10293000A68597E0FA1FE780E0A17C5C7D5798CBE5 +:1029400003D529008145EFD08FFCB1B13830930712 +:10295000F004E3F6E7A603250408E30205A6130640 +:102960000004A6851305050497E0FA1FE780809E02 +:102970002285EFF0AFA82A892285EFD09FA83C30AE +:1029800013070005639FE70003D6E9008545172577 +:10299000FB1F034515AE0606EF10DFB293073005A7 +:1029A00085B3130710056395E7009307600589BB9E +:1029B00013072005E396E7A09307C00591B33830CD +:1029C0009307E005E31DF79E032504084146A6850D +:1029D00097E0FA1FE78000982285EFF02FA82A8958 +:1029E0009307100231BB0C22B9BF8547E395F5BAB6 +:1029F000032846003C32382214322E211022014591 +:102A0000EF30BFD149BE1D4965BA8147C146330782 +:102A1000F500B388F500182383C808003308F600D2 +:102A20008507334717012300E800E392D7FE828031 +:102A30003D4781477D583306E5001422B388E50001 +:102A40007D178606D58F2380F8001C229D83E31412 +:102A500007FF82800147C1469377F70F63FDC700E8 +:102A6000B307E5009C233388E5002300F800050741 +:102A7000E314D7FE8280918F93B717009E07E5B7C6 +:102A800001114AC84EC62E89AA89930530054145D1 +:102A900006CE22CC26CA52C4328A97D0FA1FE780CB +:102AA000E05B2A8493053005414597D0FA1FE78003 +:102AB000E05AAA845DC059C14146814597E0FA1F9A +:102AC000E780C08F4E852286A685EF209163AA8974 +:102AD00029E18307040063D90704A6852285EFF066 +:102AE0003FF54A8697B501009385853D2685EFF031 +:102AF000DFF18307090063DE0702A6854A85EFF050 +:102B00003FF3528697B501009385853B2685EFF00C +:102B1000DFEF228597D0FA1FE7806061268597D086 +:102B2000FA1FE780C0600DA0CA852285EFF05FF034 +:102B3000C9B7D2854A85EFF0BFEFE1BF228597D0B4 +:102B4000FA1FE780C05ECD49F2406244D244424958 +:102B5000224A4E85B2490561828075D5CD497DBF37 +:102B600081474146B306F5003387F500182303C8B3 +:102B7000060085073347070198A2E395C7FE8280C8 +:102B8000011126CA4EC6AE84AA89930530051305E5 +:102B900000034AC806CE22CC328997D0FA1FE780BC +:102BA000E04B2DC51306000381452A8497E0FA1FE8 +:102BB000E780C0804146CE85228597E0FA1FE780F6 +:102BC000A08FA6850D461305D40197E0FA1FE78074 +:102BD000A08E13060402930504012285EF20715292 +:102BE000AA840D469305D4024A8597E0FA1FE78030 +:102BF000A08C228597D0FA1FE7806053F240624490 +:102C00004249B2492685D24405618280CD44FDB750 +:102C10005D7152DC62D42E8A2A8C9305300513052F +:102C20000003A6C2CAC04EDE56DA5AD85ED686C6A1 +:102C3000A2C4B28B368BBA84BE8A4289C68997D029 +:102C4000FA1FE780A04163040510130600038145C5 +:102C50002A8497D0FA1FE78060764146E285228574 +:102C600097E0FA1FE7804085414681450A8597D065 +:102C7000FA1FE780A0741D46DE850A8597E0FA1FDB +:102C8000E78080831D46DA851305710097E0FA1FFF +:102C9000E780808233392001B3349000414681457A +:102CA000080823072101C48797D0FA1FE780007125 +:102CB0001946D685480897D0FA1FE780E07FCE8571 +:102CC00019461305A10197D0FA1FE780E07E13098A +:102CD00004014146D2854A8597D0FA1FE780C07D1E +:102CE0008A854A85EFF0DFE7930904024E86CA859C +:102CF0002285EF201141AA840DE94146CE854A85FF +:102D000097D0FA1FE78000650C084A85EFF05FE571 +:102D10004E86CA852285EF20D13EAA84464541468B +:102D2000CE8597D0FA1FE7802079228597D0FA1FA9 +:102D3000E780E03FB64026440649F259625AD25A2B +:102D4000425BB25B225C2685964461618280CD4401 +:102D5000D5B701114EC652C4AE892A8A93053005F3 +:102D60001305000326CA4AC806CE22CCB28436898F +:102D700097D0FA1FE780802E35C52A84D285414638 +:102D800097D0FA1FE7804073130A0401CE852146CD +:102D9000528597D0FA1FE7802072A6852146130539 +:102DA000840197D0FA1FE7802071930904024E86B0 +:102DB000D2852285EF20F134AA844146CE854A850A +:102DC00097D0FA1FE780406F228597D0FA1FE780DF +:102DD0000036F24062444249B249224A2685D24432 +:102DE00005618280CD44F5B739715ECE62CCAA8B85 +:102DF0002E8C41459305300506DE4ED652D45AD06E +:102E000066CA6AC8B289B68C3A8D22DC26DA4AD8FC +:102E100056D297D0FA1FE78060242A8A930530059E +:102E2000414597D0FA1FE78060232A8B63040A1478 +:102E300015E5528597D0FA1FE780602F4D44F25078 +:102E400022856254D2544259B259225A925A025B94 +:102E5000F24B624CD24C424D216182802A86D2854F +:102E60005E85EFF0FFC12A8401CD528597D0FA1F0D +:102E7000E780E02B5A8597D0FA1FE780402BC1B737 +:102E800093053005414597D0FA1FE780201DAA849D +:102E900093053005414597D0FA1FE780201CAA8A88 +:102EA000F9C409ED268597D0FA1FE780402852859E +:102EB00097D0FA1FE780A0274D446DBF1389F90012 +:102EC0001359494013F6F900630509047D19334984 +:102ED000090829E2131549005686D2856295EFF05C +:102EE000DFB241468145268597D0FA1FE780004D25 +:102EF0008149B3C7090863F827051DC4268597D003 +:102F0000FA1FE780C022568597D0FA1FE78020225B +:102F1000A9BF0149131549008A856295EFF09FB357 +:102F20005686DA850A8565BF939549000A86E2953B +:102F30002685EFF09FAD26868A855E85EF20711C81 +:102F40002A8485097DB75DF80A86D6852685EFF047 +:102F5000DFAB26868A855E85EF20B11A2A846A86D1 +:102F6000A685668597D0FA1FE780C03E41BF21D174 +:102F70004D4451BFE30405EC81B739715ECEAA8B95 +:102F8000594526DA4AD84ED652D456D25AD062CCB7 +:102F900006DE22DC034C01042E8BB28A368A3AC646 +:102FA000BE894289C68497D0FA1FE780E02A25CDE2 +:102FB0009167938717E91EA185473CA12A84B245F2 +:102FC0002105638A0B04930710033CB01946814521 +:102FD00097D0FA1FE780803E23035401A3034401E6 +:102FE000230A8401231264012317340123182401C6 +:102FF00026A8A2856254F250D2544259B259225A9C +:10300000925A025BF24B624C1715FB1F0345454673 +:1030100021616F100FA5A3010400194697D0FA1F74 +:10302000E780403355BFF2506254D2544259B259EE +:10303000225A925A025BF24B624C2161828001114A +:103040005AC02A8B1305100326CA4AC84EC652C45A +:1030500056C206CE22CCAE8A328AB684BA893E895E +:1030600097D0FA1FE780401F25C1B7470201938719 +:1030700017E91CC1930785002A8423046501A30472 +:1030800055015CC1D2851946290597D0FA1FE78002 +:10309000602CCE8504A813051401268697D0FA1F4C +:1030A000E780402B23082403A2856244F240D244E7 +:1030B0004249B249224A924A024B1715FB1F034567 +:1030C000253B05616F10EF99F2406244D2444249BA +:1030D000B249224A924A024B05618280011152C4D0 +:1030E0002A8A314522CC26CA4AC84EC606CEAE89A7 +:1030F0003289B6843A8497D0FA1FE780E0150DCD67 +:103100009167938717E91EA18D473CA1A301450153 +:1031100022A56244231235012313250106A5F2409E +:10312000D2444249B249224AAA851715FB1F0345DA +:10313000253405616F10EF92F2406244D244424957 +:10314000B249224A0561828001114EC6AA893945D9 +:1031500026CA4AC806CE22CC2E89B28497D0FA1F3E +:10316000E780800F21C19167938727E91EA19147CE +:10317000A3013501231225012A843CA1A685190546 +:10318000214697D0FA1FE780E01CA2856244F240F6 +:10319000D2444249B2491715FB1F0345652D05610D +:1031A0006F102F8CF2406244D2444249B24905610B +:1031B000828001114AC82A89414526CA06CE22CCFE +:1031C0002EC6B28497D0FA1FE780000915CD91670B +:1031D000B245938727E91EA195472A84231225012A +:1031E0003CA12146190597D0FA1FE780A016A285B9 +:1031F00066A46244F240D24442491715FB1F0345BE +:10320000552705616F10EF85F2406244D244424970 +:1032100005618280011152C42A8A394522CC26CA0E +:103220004AC84EC606CEAE893289B6843A8497D053 +:10323000FA1FE78060020DCD9167938717E91EA101 +:1032400099473CA142A5624423124501231335014D +:103250002314250126A5F240D2444249B249224A0C +:10326000AA851715FB1F0345A52005616F007FFF89 +:10327000F2406244D2444249B249224A0561828006 +:10328000797122D426D24AD04ECE52CC06D62A8488 +:103290002E8AB2893689BA849700FB1FE780A08DF9 +:1032A00011CD1306F00F2C002285231441012315A4 +:1032B0003101231621016487EFC06FEFB250225411 +:1032C00092540259F249624A45618280011152C406 +:1032D0002A8A394522CC26CA4AC84EC606CEAE89AD +:1032E0003289B6843A8497D0FA1FE780E0F60DCD94 +:1032F0009167938717E91EA19D473CA142A56244AF +:1033000023124501231335012314250126A5F2407C +:10331000D2444249B249224AAA851715FB1F0345E8 +:10332000251505616F00FFF3F2406244D244424923 +:10333000B249224A056182805D715AD82A8B1305F1 +:103340004002A2C4A6C2CAC04EDE56DA62D466D219 +:103350006AD06ECE86C652DC5ED6835D0105035D03 +:103360004105834C8105034CC105835A0106AE8992 +:103370003289B6843AC43EC042C2468497D0FA1F0E +:10338000E78080ED69C911672A8A130717E91AA136 +:1033900093074A011307900238A13EC6A2452105B2 +:1033A000930BEA0063020B0813071003A301EA0062 +:1033B0001946814597D0FA1FE7804000194681459C +:1033C0005E8597D0FA1FE78060FF19468145130597 +:1033D0004A0197D0FA1FE78060FE23032A01A30366 +:1033E0009A0023009A03A3008A03231D8A0026441F +:1033F00023123A01231EBA01231FAA0123115A03E3 +:10340000B64096440649F259D25A425BB25B225CFE +:10341000925C025DF24DD285625A1715FB1F03457F +:10342000250561616F00FFE3A3010A00194697D0EB +:10343000FA1FE78020F282455E85194697D0FA1F71 +:10344000E78040F19245194613054A0197D0FA1FCB +:10345000E78040F059B7B640264496440649F259F1 +:10346000625AD25A425BB25B225C925C025DF24DC0 +:103470006161828079714ECEAA89614552CC56CA6B +:103480005AC85EC662C406D622D426D24AD02E8A34 +:10349000B28A368BBA8B3E8C97D0FA1FE780C0DB9E +:1034A00035CDB7470B01938717E91CC193078500FA +:1034B0002A845CC19304A50001493C306364F9028D +:1034C000A2852254B25092540259F249624AD24A19 +:1034D000424BB24B224C1715FB1F034565F9456162 +:1034E0006F003FD82685238F34FFA38F44FF1946F2 +:1034F000D68597D0FA1FE780E0E513857400238313 +:1035000064011946DE85050997D0FA1FE78080E43B +:103510001379F90FA3868401C10445B7B250225430 +:1035200092540259F249624AD24A424BB24B224C5F +:103530004561828001114EC6AA89214522CC26CA46 +:103540004AC806CE2E89B284368497D0FA1FE78007 +:10355000A0D015C99167938717E91EA1B1473CA177 +:10356000A301350164A160B1624423122501F24038 +:10357000D2444249B249AA851715FB1F034545EFBE +:1035800005616F001FCEF2406244D2444249B24905 +:10359000056182805D71A6C28344C10552DC3E8A0A +:1035A00086575ED6AA8B13854402CAC04EDE56DA11 +:1035B0005AD862D466D26AD06ECE86C6A2C4035DE3 +:1035C0000105834C4105664C2EC6B28D368BBA8AF6 +:1035D000C28946893EC497D0FA1FE780E0C751C927 +:1035E000B245B7470D01938717E91CC193078500C2 +:1035F0002A845CC1230475010CB51946EE852905A2 +:1036000097D0FA1FE78000D5E28523086401A3085C +:10361000540123094401A3093401230A2401231B73 +:10362000A401230C940113059401194697D0FA1FA5 +:10363000E78040D2A2451305440264BC08D0268628 +:1036400097D0FA1FE78000D1A2852644B640964461 +:103650000649F259625AD25A425BB25B225C925CD2 +:10366000025DF24D1715FB1F034585E061616F0098 +:103670005FBFB640264496440649F259625AD25A70 +:10368000425BB25B225C925C025DF24D61618280C2 +:10369000411126C2AA84614506C622C497D0FA1FEA +:1036A000E78080BB3DC99167938717E91EA1930707 +:1036B00040023CA19C302A84938564003CB1BC301C +:1036C000B8202105A207D98F231EF5FEDC2019465C +:1036D000230FF5FEDC30A30FF5FE97D0FA1FE7802D +:1036E00060C7DC24A2851715FB1F034565D87CA4A1 +:1036F000FC24D834A207D98F1EA8FC343CA89C28EF +:103700003CB89C385CA8BC285CB8BC387CA8224477 +:10371000B240924441016F00DFB4B240224492446F +:103720004101828039714ED652D45ECE66CA06DE21 +:1037300022DC26DA4AD856D25AD062CCAE8B971CFD +:10374000FB1F938CECD286453A8A03C77C00BE8966 +:103750002EC69307F00F6300F7082A8C13854801E3 +:10376000328BB68A4289C68497D0FA1FE780C0AEF2 +:103770002A8435C19307000D1EA1D9473CA123120D +:10378000850123037501A303650123045501231556 +:10379000450123063501A306250164A5B2458DC860 +:1037A000510508C8268697D0FA1FE780A0BAA285DF +:1037B000625403C57C00F250D2544259B259225A85 +:1037C000925A025BF24B624CD24C21616F007FA98E +:1037D00023280500E9BFF2506254D2544259B2592D +:1037E000225A925A025BF24B624CD24C2161828087 +:1037F000411122C42A84194506C697D0FA1FE780D2 +:10380000A0A515C19167938717E91EA1C1473CA1E7 +:1038100042A12244B240AA851715FB1F034545C5A6 +:1038200041016F001FA4B240224441018280411136 +:103830000D4506C697D0FA1FE78000A215C1930771 +:1038400010F91CA19307E0031CB1C5473CA1B2408D +:10385000AA851715FB1F0345A5C141016F007FA075 +:10386000B2404101828001114EC6AA89294522CC6D +:1038700026CA4AC806CE2E89B284368497D0FA1F4B +:10388000E780809D15C99167938717E91EA1C947F5 +:103890003CA1A30135012302250100A5624466A1D4 +:1038A000F240D2444249B249AA851715FB1F03458D +:1038B00025BC05616F00FF9AF2406244D244424940 +:1038C000B2490561828001114EC6AA892D4526CADA +:1038D0004AC806CE22CC2E89B28497D0FA1FE78040 +:1038E000A09731C1930710F91CA19307E0031CB105 +:1038F000CD47A3013501230225012A843CA1A685D9 +:103900001505194697D0FA1FE780C0A4A285624426 +:10391000F240D2444249B2491715FB1F034545B551 +:1039200005616F001F94F2406244D2444249B2499B +:1039300005618280411126C2AA84214522C406C69F +:103940002E8497D0FA1FE780209105C59167938751 +:1039500017E91EA1D1473CA160A1224446A1B24073 +:103960009244AA851715FB1F034585B041016F00DE +:103970005F8FB2402244924441018280411126C2AD +:10398000AA84714506C622C497D0FA1FE780C08C6E +:1039900059C19167938717E91EA1930760023CA163 +:1039A0009C302A849385A4003CB1BC30B8203105FA +:1039B000A207D98F231CF5FEDC30D8201946A207B8 +:1039C000D98F231DF5FEFC30F820A207D98F231EC6 +:1039D000F5FE9C24230FF5FE9C34A30FF5FE97D033 +:1039E000FA1FE78020979C28A2851715FB1F034527 +:1039F00025A83CA8BC289838A207D98F5EA8BC3857 +:103A0000A30B0400230C04007CA82244B24092447F +:103A100041016F001F85B2402244924441018280DF +:103A2000411126C206C622C49714FB1F938444A4E6 +:103A3000F8309307F00F630FF7022A84194597D0E7 +:103A4000FA1FE7806081AA8515C5930700FD1CA1B8 +:103A500093077002A30005003CA11C303CB13C2040 +:103A60005CA13C305CB12244E830B2409244410158 +:103A70006F002FFFB2402244924441018280971789 +:103A8000FB1F83C7579F1307F00FAA856396E700B4 +:103A900017C3FA1F6700A3691307000D1AA11307C4 +:103AA000800238A13E856F00CFFB411126C2AA8457 +:103AB000714506C622C497C0FA1FE780E07959C550 +:103AC0009167938717E91EA1930760023CA19C3080 +:103AD0002A849385A4003CB1BC30B8203105A207EC +:103AE000D98F231CF5FEDC30D8201946A207D98FC8 +:103AF000231DF5FEFC30F820A207D98F231EF5FE0A +:103B00009C24230FF5FE9C34A30FF5FE97D0FA1FDB +:103B1000E78040849C28A2851715FB1F0345459527 +:103B20003CA8BC289838A207D98F5EA8BC387CA8CE +:103B3000DC287CB8DC381CACFC281CBCFC383CAC59 +:103B40002244B240924441016F00AFF1B24022449E +:103B500092444101828041114AC02A89214522C4F0 +:103B600026C206C6AE84328497C0FA1FE780C06EB4 +:103B700005C5930710591EA12301250160A1224408 +:103B800046A1B24092440249AA851715FB1F03457E +:103B9000258E41016F00EFECB2402244924402496D +:103BA00041018280411126C2AA84214522C44AC013 +:103BB00006C62E89328497C0FA1FE780E0691DC5CA +:103BC0009167938727E91EA1A1473CA164A160B139 +:103BD000224423122501B24092440249AA851715B6 +:103BE000FB1F0345158941016F00AFE7B240224436 +:103BF0009244024941018280011152C42A8A31450E +:103C000022CC26CA4AC84EC606CEAE893289B684B0 +:103C10003A8497C0FA1FE78020641DC9856793879F +:103C200017C91EA1230145012303250122A56244D2 +:103C30002312350106A5F240D2444249B249224A34 +:103C4000AA851715FB1F0345A58205616F006FE16B +:103C5000F2406244D2444249B249224A056182801C +:103C600001114AC82A891385C50026CA06CE22CC6E +:103C7000AE8432C697C0FA1FE780005E0DCD85671F +:103C8000B245938717E924A1231225012A841EA196 +:103C9000310508C4268697C0FA1FE780A06BA2856D +:103CA0006244F240D24442491705FB1F0345457C5C +:103CB00005616F000FDBF2406244D2444249056166 +:103CC0008280411126C2AA84194522C406C62E84C8 +:103CD00097C0FA1FE780405805C58567938717F995 +:103CE0001EA1854724A13CB142A12244B240924486 +:103CF000AA851705FB1F0345A57741016F006FD605 +:103D0000B2402244924441018280411122C42A845B +:103D10000D4506C697C0FA1FE78000540DC19307F2 +:103D200010F91CA1E9471CB120A12244B240AA8588 +:103D30001705FB1F0345C57341016F008FD2B240C9 +:103D4000224441018280411122C42A84214526C295 +:103D500006C6AE8497C0FA1FE78000500DC5916774 +:103D6000938727E91EA1930700033CA160A1224489 +:103D700046A1B2409244AA851705FB1F0345756F03 +:103D800041016F000FCEB240224492444101828033 +:103D90004111214522C426C206C6AE84328497C092 +:103DA000FA1FE780604B05C58567938707391EA119 +:103DB00085473CA162A1224446A1B2409244AA8513 +:103DC0001705FB1F0345252841016F008FC9B2402D +:103DD0002244924441018280011122CC26CA4EC65F +:103DE00052C456C25AC01304F5FF06CE4AC8094B46 +:103DF000AA89AE84328AB68A33440408639A65136A +:103E0000170BFB1F130BFB2383470B00D9CB03C9F5 +:103E100016009C2222093369F9009707FB1F83D7FC +:103E2000A734F5176353F91E9307C6FF6316F90805 +:103E3000314597C0FA1FE78020422A842DC1231301 +:103E40004501930700F9150AA1651EA1231135014B +:103E500044A18505528597C0FA1FE780202008C439 +:103E600015C983470B009385EAFF13562A00FD17F7 +:103E70002300FB0097C0FA1FE78080501C44A285F6 +:103E80001705FB1F0345251C89071CC4EF006FBDE8 +:103E9000814401A8228597C0FA1FE7804029930436 +:103EA000F00FF24062444249B249224A924A024B20 +:103EB0002685D244056182809307D6FFE341F9FE4F +:103EC000B1473304F4029704FB1F938464169C40AB +:103ED000A297B82719C7884309C597C0FA1FE7807A +:103EE0000025A16513054900850583A90400334514 +:103EF000050897C0FA1FE78060169C40A29923A08E +:103F0000A900A297884341DD0547B8A783470B0066 +:103F10005286D685FD172300FB0097C0FA1FE78065 +:103F200060439C40A29723934701239227018DB7BA +:103F30008547E396F5F6B1473304F4021709FB1FF2 +:103F40001309090F83270900A297FA23884341CF59 +:103F5000DE23B306C700910763C7D7083A95D68515 +:103F600097C0FA1FE780003F83270900A297FA2332 +:103F70003306EA0033460608F2A3DE239107E3196D +:103F8000F6F0314597C0FA1FE780002DAA850DCDC8 +:103F9000930700F91EA1832709002302650123115D +:103FA0003501A297FA239C437AA11CC51705FB1F74 +:103FB00003456509EF00EFAA83270900A297239321 +:103FC000070023850700E9B583270900A2978843E6 +:103FD00065D597C0FA1FE780801583270900A2974F +:103FE00023A00700D1BF11C997C0FA1FE780201492 +:103FF00083270900A29723A0070083270900A2971F +:10400000239307002385070069BD914459BD6F20A4 +:10401000D14B6F20114D6F30A1196F30813D6F2052 +:10402000714F411106C6EF20114CB24001454101CC +:1040300082806F20B1506F2091526F2051556F20B8 +:1040400031576F20F1586F20B15A6F20715C6F208B +:10405000315E6F20F15F6F2091616F2051631C32E0 +:104060001822A20733E6E7006F2091646F20D16524 +:104070006F2031686F30410E6F30C1106F30011604 +:104080006F30E1176F30C1196F30A11B6F30811D88 +:104090006F30611F411122C60344C10226C483440C +:1040A000010303430101030E4101834E8101034FCC +:1040B000C101834F0102834241028343810222D620 +:1040C000324426D8A2441ED416D27ED07ACE76CCE4 +:1040D00072CA1AC841016F30013F6F30C11C6F3086 +:1040E000A11E6F3081206F3061226F3021256F302B +:1040F00001276F30E1286F30C12A6F30A12C6F503B +:10410000E1486F5061596F50C15B6F30412F6F3084 +:10411000213152212E210A216F30A13250212E212E +:104120000A216F30C1341825762152212C210A2111 +:104130006F30A1366F500162411122C406C67E2144 +:104140005821543130212C312A840A21EF50710F2B +:1041500001E90C240A202244B24041016F50511B56 +:10416000B2402244410182806F50F1146F50B1443B +:1041700085672A871388A7C7691533450508636EC5 +:10418000A802138807C80145636AB80263E8E5021C +:104190001307301F6364C702138766FF938767C7DF +:1041A0003347070863ECE700050633460608B30506 +:1041B000B6028E0633A5D50082800145828017089D +:1041C000FB1F1308A82B034518001707FB1F032725 +:1041D00027ED9706FB1F83A6A6EA1375F507D1C541 +:1041E000904283274800137606F8498E90C213F652 +:1041F000150001CA93F5050341466385C5069387FB +:1042000087C14165130505A0B3D5A7025057B7086C +:1042100010FEFD181366260050D770433376160142 +:10422000B3F7A702FD89D2054D8E70C31306A00F08 +:10423000B705FCFFAA07B3D7C70270436D8EBA0754 +:10424000B983D18F7CC383470800898B99CB98426F +:104250009C421377F7071367070493F707F8D98F82 +:104260009CC282809387078369BF5C57F59B5CD7AC +:104270009C4293F707F8C98F9CC2F1B7411106C65B +:104280009707FB1F238307229700FB1FE780209DD2 +:10429000B2400145410182801707FB1F1307874584 +:1042A0005C47411106C6858B8DC7EFF03FFD970730 +:1042B000FB1F23A707449707FB1F23A50744970766 +:1042C000FB1F83A7A71C014681450545B24041015C +:1042D00082879707FB1F83A7A7DBFC5399EFEFF0BB +:1042E000FFF99707FB1F23AF07409707FB1F83A723 +:1042F000E719014681454545D1BF584F8D476317A2 +:10430000F70085471707FB1F2300F7C6B24041019E +:104310008280411126C29704FB1F9384A43D9C44D4 +:104320004AC006C622C4858B1709FB1F130949D64C +:10433000FDC39707FB1F23A3073C1707FB1F03279A +:1043400027D65C571704FB1F13044413082093D788 +:104350001748A9CB504093760503C145930786C102 +:104360006394B60093070683C165938505A033D691 +:10437000B7027443370810FE7D18B3F60601B3F791 +:10438000B7027D8A5206D18E74C39306A00F3706FA +:10439000FCFFAA07B3D7D7027443F18EBA07B983DB +:1043A000D58F7CC34C2C118501460D8997E0FA1FEF +:1043B000E7802021170500001305450A97C0FA1F62 +:1043C000E780E04283270900D44713971649D8C7EE +:1043D0000F100000832709003707020098C7130752 +:1043E000000898C81707FB1F032787C918431357EE +:1043F000774819CF1307E018F8D3D4C71C480146F3 +:10440000814505452244B2409244024941018287D8 +:104410001307E01AD5B783270900FC5399EFEFF093 +:10442000FFE59707FB1F23AF072C9707FB1F83A709 +:10443000E705014681454545F1B7D84C8D476317DF +:10444000F70085471707FB1F2300F7B2B24022444D +:104450009244024941018280011122CC1704FB1FC2 +:10446000130444295C4406CE26CA858BD9C7EFF0D5 +:10447000FFE0485C9707FB1F23A407289305F10082 +:1044800001469707FB1F23AF072697E0FA1FE78037 +:10449000E0E29704FB1F938464009315456099ED57 +:1044A0005C5C9306F00F9823630AD7009C30638707 +:1044B000D700998FB337F000939517009707FB1F2C +:1044C0009387C7FB0387070063450700585C948701 +:1044D00014A39C4B505C93F5F50F09458297DC249F +:1044E000898B99C78828854597E0FA1FE780E051B6 +:1044F000F2406244D244056182809707FB1F83A784 +:1045000027B9FC539DE3EFF07FD76244F240D244D9 +:104510009707FB1F23A8071E9707FB1F83A707F713 +:1045200001468145494505618287584C8D47E31115 +:10453000F7FC85471707FB1F2308F7A255BF01119A +:1045400006CE22CC26CA4AC84EC652C456C217044A +:10455000FB1F1304A4F2AE84328AAA8997F0FA1FD3 +:10456000E780E06F08308145970AFB1F938A4AB2C3 +:10457000EFF0FFC408204C2C014611850D8997E00F +:10458000FA1FE780000418449707FB1F83A747AF73 +:1045900083A60A0098C758441709FB1F130949B09E +:1045A00037063300D8C3D8421704FB1F1304841402 +:1045B000CE8513671700D8C298431377F7CF98C3F7 +:1045C00098431377F7CF1367072098C30327090091 +:1045D000085C1C470905D18F1CC7B70703009387E8 +:1045E0008715BCCA230F45FFA30F95FE268697C0EB +:1045F000FA1FE78020D6032709005C4393F7F7EF03 +:104600005CC301000100032709005C4393E7071026 +:104610005CC31707FB1F130767E87C2793E7470076 +:104620007CA783A70A0037070200F24023A20706EF +:1046300098C7232804001307000418C0232A040085 +:10464000232204006244054798C3D2444249B24938 +:10465000224A924A05618280797126D24AD05AC88C +:1046600006D622D44ECE52CC56CA5EC69307000858 +:104670002A8BAE8432896319F602BD491704FB1FE9 +:104680001304C4DF97C0FA1FE780404AE3FCA9FE89 +:104690003C2C9607C117E3E7A7FE9707FB1F83A7EC +:1046A000279F13078007F8D3970AFB1F938A4A9D19 +:1046B00003A40A00170AFB1F130A4ADC81455C5455 +:1046C0009709FB1F9389C99CF19B93E717005CD462 +:1046D00003451A00EFF0BFAE1C409706FB1F938600 +:1046E000269C3706330093F7F7CF1CC01C4093F786 +:1046F000F7CF93E707201CC09C429847518F03A631 +:10470000090098C7370703001307872538CA03270E +:104710008A0018C40327CA0058C0D8431377F7EF9C +:10472000D8C30100010098421704FB1F130404D7EB +:10473000970BFB1F938B0BFC5C4393E707105CC349 +:1047400003A709005C4393E717005CC37C2405477B +:1047500093E727007CA49307F9FF93F7F70F6364AF +:10476000F70C03A58B032686DA852300250104B107 +:10477000090597C0FA1FE780E0BD03A78B0383A755 +:104780000900B8DF1707FB1F232A07F61707FB1FCF +:10479000232807F61707FB1F232607F60D4723AE2E +:1047A000EB0013070008631DE908F8537DFF97F736 +:1047B000FA1F83A7E77B82971844636CE506198D7F +:1047C00003A78B030D81B70780009387F72F62053E +:1047D0005D8D08C303450A00A68511850D8997E004 +:1047E000FA1FE78000B883A70A00984313177729B8 +:1047F00098C3D857719BD8D79707FB1F23A607F0FC +:104800009707FB1F23AA07EE83A70900094798C350 +:10481000B250225492540259F249624AD24A424B4F +:10482000B24B4561828093070008E318F9F489448C +:10483000A9B79707FB1F83A7A797998F3E9549B7FD +:1048400003450A00A68511850D8997E0FA1FE780C8 +:1048500040B183A70A001715000013056557984358 +:104860001317772998C3D857719BD8D797C0FA1FC9 +:10487000E780E0F79707FB1F238807C29707FB1F16 +:1048800023A407E89707FB1F23A807E683A70900CF +:10489000094798C35C24FDDFA5BF39714ED606DEFB +:1048A00022DC26DA4AD852D456D25AD05ECE62CC16 +:1048B00097F9FA1F83C9496B639B09122A8435450E +:1048C00097F0FA1FE78040421306710099451305DF +:1048D0000010EF004FDF9704FB1F9384E48771E91A +:1048E00019469305F00F1305710097C0FA1FE78072 +:1048F00000C08547630FF50A89475C801946970514 +:10490000FB1F938505871305110097C0FA1FE780E9 +:1049100060A4C8289704FB1F938444B817FAFA1FB1 +:10492000130A0A65EF108122F8349707FB1F93875B +:10493000E7B4C88698B3D848856A216B98C783279F +:104940000A0017F9FA1F1309A974970BFB1F938B21 +:104950006BDA829788CC938AEAEB170CFB1F130C57 +:10496000AC84130B0BD01080B9450A85EFF0DFCE75 +:10497000D82489476314F70618808547631EF7001B +:104980001706FB1F130646B3994513050010EF00E9 +:10499000AFF90545EF000FF4F2506254D25442597A +:1049A000225A925A025BF24B624C4E85B2592161F7 +:1049B00082808547194697F5FA1F9385857B1305F5 +:1049C00011005C8097C0FA1FE780C0981946979540 +:1049D00001009385E54F1305710005BF19C87D14CB +:1049E0001374F40F19E49707FB1F238F07AA854957 +:1049F00065B714800947832709006399E604D847FF +:104A000093161749D4C70F10000083270900B70673 +:104A1000020094C79306000823A8DB009306E06E0B +:104A2000F4D3D8C7032709007C53FDFF83270A006E +:104A30008297984C636EE502198DE376ABF2EF0036 +:104A4000EFA983270A00829788CC31BFD8479316F5 +:104A50001749D4C70F10000083270900B7060200CA +:104A600094C79306000823A8DB0023A2570755BF6D +:104A700083278C00998F3E95C9B701113000994565 +:104A80001305001006CEEF000FC40DED1946930577 +:104A9000F00F280097C0FA1FE78060A585476303E1 +:104AA000F50219469305F00F280097C0FA1FE7801A +:104AB000E0903000994513050010EF00EFE6054542 +:104AC000EF004FE1F240056182801C49638B0712C1 +:104AD000411126C206C622C41C21AA8493F70704EA +:104AE00081C75C410945CDCF1306000281451705FA +:104AF000FB1F1305A59897C0FA1FE780208C1306AB +:104B00000002A6851705FB1F1305459797C0FA1FDE +:104B1000E78040841704FB1F130444961C3C81E784 +:104B2000930780021CBC3C2C99E3A1473CAC3C3C65 +:104B300099E3C5473CBC5C2C99E3ED575CAC5C3C0D +:104B400099E3ED575CBC9C2093F7070499CB5C403C +:104B500037B724001307F7E96369F7049307500296 +:104B60001CB09704FB1F93846493C84009C597B099 +:104B7000FA1FE780C05B9707FB1F23A307921C2047 +:104B8000858B91CB483C93059004090597B0FA1F9B +:104B9000E780C04CC8C01C300145FCB41C44DCC8D4 +:104BA000B240224492444101828037072500930697 +:104BB000F74863EDF6003767DBFF13070793BA97F3 +:104BC0001307007DB3D7E702FD1759BF1307074945 +:104BD0006395E7009307600261B737D72500130795 +:104BE000F777636DF7003767DBFF13070793BA9713 +:104BF0001307007DB3D7E702F9179DB7930770023B +:104C000085B705458280797126D29704FB1F93846E +:104C1000E4869C4406D622D44AD04ECE52CC56CA04 +:104C20005AC85EC662C466C26AC0638A0722170A8F +:104C3000FB1F130A2AAC0327CA0195472A8C094592 +:104C40006301F71E0D452E84B28BB68C97F0FA1FC8 +:104C5000E78080099707FB1F83C70785898B970922 +:104C6000FB1F9389A98385C73D4997C0FA1FE78039 +:104C7000E0EBE37CA9FEBC2C9607C117E3E7A7FE97 +:104C800097F7FA1F83A7C74013078007F8D317FBCE +:104C9000FA1F130BEB3E03290B008327C902F19B7C +:104CA00093E717002326F90283C7C90003CD040048 +:104CB000898B89E793770D046393071888308145C2 +:104CC000EFF0EFCF8327090017F6FA1F1306463DD2 +:104CD000B706330093F7F7CF2320F90083270900A5 +:104CE00097FAFA1F938ACA3A137D1D0093F7F7CFFC +:104CF00093E707202320F90018421C47D58F83A68D +:104D00000A001CC7B707030093878725BCCA9C44C9 +:104D10002324F900DC442322F900DC42F99BB3E7A9 +:104D2000A701DCC25C4393F7F7EF5CC3010001000D +:104D300018425C4393E707105CC383C7E9002380F4 +:104D40007901A380990193E727002387F900630B7A +:104D50000C0E03258A032286E2852300750100B12B +:104D6000090597B0FA1FE780E05E83278A0303A74F +:104D70000A003CDF9707FB1F23A207989707FB1F3A +:104D800023A007989707FB1F23AE07968D47232E76 +:104D9000FA0083C7C900898B85CB7C53FDFF97F749 +:104DA000FA1F83A7E71C829703A789006362E50ABD +:104DB000198D83278A0309041374F40F80B30D81BE +:104DC000A2972380070088B38820A28511850D89CA +:104DD00097D0FA1FE780E0589C2017F5FFFF1305D6 +:104DE0008553858B89E717F5FFFF1305254B97C082 +:104DF000FA1FE780C09F83270B00014598431317D4 +:104E0000772998C3D857719BD8D79707FB1F23AD35 +:104E1000078E9707FB1F23A1078E83A70A00094768 +:104E200098C3B250225492540259F249624AD24A6B +:104E3000424BB24B224C924C024D45618280C8409D +:104E40008945BDBD83278A03014423A0770131BF73 +:104E500097F7FA1F83A7C735998F3E9599BF0545E8 +:104E6000C9B77971B7E700E026D28443370720003D +:104E700006D622D44AD04ECE52CC56CA5AC85EC6A6 +:104E800062C466C26AC0F98C23A0E7180F10000044 +:104E900017F4FA1F1304845E184415E323A0971037 +:104EA0000545B250225492540259F249624AD24AFC +:104EB000424BB24B224C924C024D4561828017F717 +:104EC000FA1F0327276A09C723A097100945D1BFF6 +:104ED0001C20328BB68A858BADC317F9FA1F1309D4 +:104EE000E95B832749002A8AAE8999EB483C930500 +:104EF0009004090597B0FA1FE78040162322A90005 +:104F00008327490099E7B7E700E023A097100D45F4 +:104F100049BF0347290098A383274900630D0A046A +:104F2000638B0904A3803701032549004E86D2858F +:104F3000090597B0FA1FE780E04197F9FA1F9389B6 +:104F4000697B03A7C9019547630AF70083C7090274 +:104F500019476385E7000D476392E70283C719028B +:104F600089E7930780102390F902B7E700E023A0B8 +:104F7000971001453DB7A3800700C1B717FAFA1F84 +:104F8000130A0A1183270A0098430D8B0DC717F7E0 +:104F9000FA1F230B07FCB84B1377F78FB8CB984356 +:104FA0001367870098C39C4393D7374889C701008C +:104FB000010001000100832C0A00B7070200834BA7 +:104FC000040023A20C0623A4FC0097F7FA1F23ABCE +:104FD000077297F7FA1F83C7274D918B17F9FA1FAE +:104FE0001309C94B89E793F70B04639E0710083038 +:104FF0008145EFF0CF9C17FDFA1F130D6D080327B5 +:105000000D0017FCFA1F130CAC09B70633001C4344 +:1050100013D54B40014693F7F7CF1CC31C430D89B2 +:1050200093F7F7CF93E707201CC303270C001C4717 +:10503000D58F1CC74C2CB70703009387871523A86F +:10504000FC0497D0FA1FE780C05783270D0018444F +:10505000142098C75844858AD8C303270A005C43A4 +:10506000F99BD58F5CC3832749003CDF03270C00E5 +:105070005C4393F7F7EF5CC30100010003270C00CA +:105080005C4393E707105CC38347E900A301690110 +:105090002301590193E747002307F9009307000410 +:1050A00023A0F90097F7FA1F23AE0764A14723AEA8 +:1050B000F90097F7FA1F83A7A70C81CB03450901D5 +:1050C00013060064C145EFF0EEBF83270A00170501 +:1050D00000001305C52ADC43858B89E7170500000E +:1050E0001305650397B0FA1FE780607097F7FA1F02 +:1050F00023AC076097F7FA1F23A0076083270A00F5 +:10510000054798C39DB593F50B03484093E51500FB +:10511000CDB5797122D417F4FA1F1304A45D5C4055 +:1051200006D626D24AD04ECE858B638D071E97F7C2 +:10513000FA1F23A3075C8329C403A3070100EFF030 +:10514000EF9397F7FA1F83C72736918B97F4FA1FCF +:105150009384C43417F9FA1F13094932638A071676 +:1051600083C71900CE979823930700086318F700A8 +:105170008347090093E787002300F9005C580D4737 +:10518000637DF70EF1175CD85C58984463EDE70E29 +:105190003387E74083C71900D424CE979C33939676 +:1051A00046608E0763D0061063F5E70E1D8F9306E9 +:1051B000000263E8E60058586360F70EB307F74053 +:1051C0009CC48828894597E0FA1FE78000848345BE +:1051D000090093F78500E5CB97F6FA1F83A646EB07 +:1051E0009307800CFCD21C5C1307F00F37063300CA +:1051F00098C397F7FA1F23A3075097F7FA1F23A125 +:10520000075097F7FA1F23AF074E97F7FA1F23AD02 +:10521000074E17F7FA1F0327A7E61C4391858D89D0 +:1052200093F7F7CF1CC31C43014593F7F7CF93E7E0 +:1052300007201CC317F7FA1F032787E61C47D18FE7 +:105240001CC7B707030093878725BCCA054697D0BC +:10525000FA1FE780A01C83470900B420B030DD9B13 +:10526000814501452300F900EFF0BFBFB250225441 +:1052700092540259F2494561828017F7FA1F0327B9 +:1052800027F3BA9701B797F6FA1F83A666F2B69787 +:1052900001B73387E74021BF97F6FA1F83A646F18F +:1052A000369729BF5858636AF700B307F7409CC484 +:1052B000DC2493E70708DCA429B797F6FA1F83A636 +:1052C00026EF3697DDB783C71900F917A380F900D9 +:1052D000485C01469305F10097D0FA1FE78000FE75 +:1052E0005C5C9306F00F98236303D702BC306380A5 +:1052F000D702630EF70093652500939545608327D9 +:105300000901505C93F5F50F0D45829785B783072A +:10531000090093154560E3C407FEF5F19C872380DF +:10532000F900F1BF97F7FA1F83A787D6FC5385EFE3 +:10533000EFE0DFF497F7FA1F83A707E589C78545F4 +:10534000130510088297225497F7FA1F93870715C1 +:10535000B25092540259F249B423B0338145014509 +:1053600045616FF01FB0584CA147E311F7F0854736 +:1053700017F7FA1F230AF7BED5BD797126D297F425 +:10538000FA1F938424379C4006D622D44AD04ECEAE +:1053900052CC858B6387072083A9C40301469305FC +:1053A000F1004E85A307010097F7FA1F23A40734E5 +:1053B00097D0FA1FE78080F017F4FA1F1304040E49 +:1053C00017F9FA1F1309890B131A456063130A149E +:1053D0003C309306F00F6389D700D85C182363052F +:1053E000D700094A6317F7128307090063C507004E +:1053F0009C872380F9005C24918BADCFDC580D474E +:105400006377F714F117DCD8DC58184463E7E71426 +:105410003387E74083C719005424CE979C33939673 +:1054200046608E0763DA061463FFE7121D8F93064A +:10543000000263E8E600D858636AF712B307F74042 +:105440001CC40828894597D0FA1FE780005C83C7F1 +:1054500019003387F900142313070008639FE6122D +:105460009C5C1307F00F98C38347090093E78700FC +:105470002300F90017F7FA1F032787C25C5793D759 +:105480001748A1C383274900C165938505A033D67A +:10549000B7027443370510FE7D15E98EB3F7B702E6 +:1054A0007D8A5206D18E74C39306A00F3706FCFF87 +:1054B000AA07B3D7D7027443F18EBA07B983D58F41 +:1054C0007CC35C40034509008C3311850D8997D05E +:1054D000FA1FE78000E9170500001305E51297B0F1 +:1054E000FA1FE780C03097F7FA1F83A767B9984380 +:1054F0001317772998C3D857719BD8D783470900CA +:10550000A18B9DEB83270901D05C81450D458297D6 +:1055100025A097E0FA1FE7808074D05C83270901FB +:105520000D459375FA0F829748403420303009CDED +:105530000C310905EFF0FF92B250225492540259F7 +:10554000F249624A4561828081450145E5B717F716 +:10555000FA1F0327E7C5BA9775B597F6FA1F83A612 +:1055600026C5B69775B53387E740D1B597F6FA1FCC +:1055700083A606C43697D9B5D858636AF700B3072F +:10558000F7401CC45C2493E707085CA45DBD97F654 +:10559000FA1F83A6E6C13697DDB7F917A380F90095 +:1055A000D1BD97F7FA1F83A7A7AEFC53B1E3EFE095 +:1055B000FFCC97F7FA1F83A727BD89C78945130535 +:1055C0001008829797F7FA1F938747EDC843B033C7 +:1055D000B42301CD0C3109052254B2509254025922 +:1055E000F249624A45616FF0DF8781450145EDB7B9 +:1055F000D84CA147E312F7F4854717F7FA1F2305A4 +:10560000F7961DBF411197F7FA1F83A7E70E06C64D +:1056100022C4858B95C797F7FA1F23AF070C17F4A1 +:10562000FA1F1304A4E5EFE07FC51C20A18B9DEFBA +:105630001C480146814511452244B2404101828700 +:1056400097F7FA1F83A7C7A4FC53B9E797F7FA1F88 +:1056500023AA070A17F4FA1F130444E21C20A18BA3 +:1056600091E71C48014681455145F9B797F7FA1F64 +:105670009387C7E2C843B033B42301CD0C31090589 +:10568000EFF02FFE1C20DD9B1CA0B2402244410104 +:10569000828081450145EDB7854717F7FA1F23053D +:1056A000F78CE5B74111B7E700E022C48043370724 +:1056B000200006C626C2798C23A0E7180F10000030 +:1056C00097F4FA1F938484DDC84097F7FA1F238E5E +:1056D00007DC09C597B0FA1FE78060A597F7FA1FA6 +:1056E00023A007DC97F7FA1F9387C70003C71702A9 +:1056F00011CB83C6070221476396E60017F7FA1F0E +:10570000A30A0700D44F19476386E600D44F1D470C +:105710006398E600D84F2380E7020547A380E7029D +:1057200097E0FA1FE780A0538828C14597F7FA1F32 +:10573000238C0782EFF06E82B7E700E0B24023A02F +:10574000871022449244014541018280411106C6DE +:1057500022C426C217F4FA1F130444D4EFF09FF4B6 +:105760007C3497F4FA1F938464D108289CB05C4879 +:10577000A1459CC4EFE07EFE08289145EFE0FEFDC8 +:105780005C24898B8DC79C48014681451305200206 +:1057900082972244B240924497F7FA1F238607D09B +:1057A00089450145410117B3FA1F6700A3055C2431 +:1057B000918BE5D39C480146814513054002C9BF42 +:1057C00097F7FA1F83C747CE898B638A07127971CF +:1057D00026D297F4FA1F9384E4F1D84C22D406D64B +:1057E0004AD04ECE52CC56CA5AC85EC68D4717F420 +:1057F000FA1F1304A4CA9145630BF70A3545056ADD +:1058000097E0FA1FE780404EA14997FAFA1F938A62 +:10581000EAC6130A2AF91306000881450145EFE09C +:10582000BFE317F9FA1F1309A986370B0200930B80 +:1058300000089C44858B85E783270900FC53F5FB12 +:10584000FD19E39A09FC2254B25092540259F249CC +:10585000624AD24A424BB24B45616FF03FEF03C5FB +:105860000A0001469305F00F11850D8997F7FA1F7D +:1058700023A607E897D0FA1FE780A0D483C50A00C3 +:105880001306F00F054591858D8997D0FA1FE780A3 +:10589000E0B8DC44858B9DCB97F7FA1F23A207E67F +:1058A000EFE0DF9D5C24854593E707085CA40828AA +:1058B0002254B25092540259F249624AD24A424B9F +:1058C000B24B456117D3FA1F67002314EFE01F9B0B +:1058D00083270900D84793161749D4C70F10000033 +:1058E0008327090023A4670123A8740123A2470783 +:1058F000D8C783270900FC53A1D30100DDBF8280F4 +:10590000411122C406C693F715002E84A1C797F74C +:10591000FA1F83C767B9898B17F7FA1F130707B8F0 +:1059200085C75C27082B130600059397476063DA49 +:10593000070017F6FA1F0346F6B59307000A330669 +:10594000F6029145EFE01EB813451400B240224420 +:105950004101828093F72500B9C397F7FA1F83C7E7 +:10596000A7B4918B17F7FA1F130747B395C75C27A6 +:10597000082B1306000A9397476063DC070017F6AD +:10598000FA1F034636B19307000A3306F6021306E0 +:105990008602A145EFE01EB31345240045BF93F7EF +:1059A000450091C7EFF0DFE11345440045B793F799 +:1059B000850081CF97F7FA1F83C707AF918B99C3F3 +:1059C000EFF0DFD81345840051B713F505013DDD35 +:1059D000EFF0CEB017F7FA1F032787D3A147631B59 +:1059E000F70013060064C14517F5FA1F034505AC1F +:1059F000EFE05EAD1345040191BF597186D6A2D484 +:105A0000A6D2CAD0CECED2CCD6CADAC8DEC6E2C4BE +:105A1000E6C2EAC06EDE97F7FA1F83A7A7B46391C8 +:105A2000073297F4FA1F938464A59C44638A073075 +:105A300017F4FA1F130404CC584C9947094A630F12 +:105A4000F728584C9D47630BF728584CA14763072C +:105A5000F728034B140263130B282A8997F9FA1FBE +:105A60009389C9A397E0FA1FE780601F97F7FA1F91 +:105A7000238C07A283C7F900194697E5FA1F93857F +:105A8000456F9CB083A749011305510197EAFA1F9E +:105A9000938A0A4E9CC49547230AF10097B0FA1FD7 +:105AA000E780408BEF002159935785002301F102D5 +:105AB00093570501A301F1029C3CA300A10261815F +:105AC000A302F102BE2C2302A10217E5FA1F03452F +:105AD000E5692313F102DC483ED49C2C2306F10235 +:105AE000EF00C106A306A1026304090283A70A000E +:105AF0008297131759003A952A8997E7FA1F83A7C7 +:105B0000276B6364E5006364F5003309F540054BDA +:105B100083A70A0097EBFA1F938B8B5717EDFA1F99 +:105B2000130D8D68829783A70B00185C23ACA90026 +:105B30001546B8DFE9454808EFE07FA0A1679387E5 +:105B400007D03EC617ECFA1F130C8C53854C5C48EB +:105B5000858B638A071C97F7FA1F23A707BA97C09C +:105B6000FA1FE78000731C40858B6389071A832D19 +:105B7000C4031C5C0146930531016E853EC4A30934 +:105B8000010017F7FA1F232707B697C0FA1FE7800F +:105B9000E0722A8A6314051803C72D006310971753 +:105BA00022576301071AA247194693853D001385C2 +:105BB000970097A0FA1FE780E0798820E9451185D2 +:105BC0000D8997C0FA1FE780C07983270C0098439E +:105BD0001317772998C3D857719BD8D797C0FA1F46 +:105BE000E780206B5C40858B638A071297F7FA1F6A +:105BF00023A407B097F7FA1F23AE07AE930D400614 +:105C00000100FD1DE39E0DFE83A70B00D4471397F3 +:105C10001649D8C70F10000083A70B0037070200F2 +:105C200098C71307000818C803270C001843135718 +:105C30007748630907141307E018F8D3D4C797C04F +:105C4000FA1FE78000651C40858BE9CB97F7FA1FA8 +:105C500023A207AA5C5C982399476311F70C83A7DA +:105C60000A00829723A4A900EFF0DFA397F7FA1F99 +:105C7000A386078097F7FA1FA388078202578347F6 +:105C8000410289452183E207D98F9CC417B5FA1FC9 +:105C90001305A5E091472386F90097B0FA1FE78026 +:105CA00060B6D04897F7FA1FA38207808147014763 +:105CB00093060002B355B64989C5850793F7F70FD8 +:105CC0000547850DE398DDFE19C3A388F90003C5D8 +:105CD0000901894597D0FA1FE78020D3B650265492 +:105CE00096540659F649D64A464BB64B264C964C26 +:105CF000064DF25D5285664A656182808947631F61 +:105D0000F700194697E5FA1F9385A54613859D0070 +:105D100097A0FA1FE7808075E30495E91546E945E9 +:105D20004808EFE0DF8183A70A0063040B0682972F +:105D3000636D250533052541634D0504EFF09F96FE +:105D4000054A69BF97E0FA1FE78060F1034531011A +:105D5000FD5797E5FA1F9385A5735915DCC81315F0 +:105D60004560EFF0307817E5FA1F13056572EF30E4 +:105D7000504F914763F5A700DC483ED445B783C731 +:105D8000F900E5BF1307E01A4DBD3305A940E3470D +:105D900005FA83A70A00829703A789016363E502D6 +:105DA000198DB247E3F5A7DAEFE05EF383A70A00A7 +:105DB000829723ACA9001546E9454808EFE02FF883 +:105DC00071B383278D00998F3E95E1BF01114EC6B7 +:105DD00097F9FA1F9389099283A7890052C406CEC6 +:105DE00022CC26CA4AC8858B17EAFA1F130A0A6B07 +:105DF0006380071897E4FA1F93844468882001465B +:105E00009305000211850D8997F7FA1F23A8078EC5 +:105E100097C0FA1FE780E07A8C201306F00F054543 +:105E200091858D8997C0FA1FE780405F83A7C900DD +:105E3000858B638F071203A5C90397F7FA1F23A168 +:105E4000078C0146814597F7FA1F23A9078A97C057 +:105E5000FA1FE780A0462A89631C051003A4C90322 +:105E6000954738206316F710194697E5FA1F938572 +:105E700045301305940097A0FA1FE780205F8547FF +:105E80006318F50E83A789031947014698C38C2030 +:105E90000D4591858D8997C0FA1FE780205883A70B +:105EA0008900858BF1C797F7FA1F23A9078497E725 +:105EB000FA1F83A7E70B82972324AA00EFF08FFE37 +:105EC00097E7FA1FA38C075A97E7FA1FA38E075C80 +:105ED0003C388146130600029CBC5C28BCAC5C3894 +:105EE000BCBC1C287834A207D98F183842075D8FB4 +:105EF0003C28E207D98F9CC47C387828A207D98F28 +:105F0000182C42075D8F1C3CE207D98FDCC8014783 +:105F1000B3D5E74889C505091379F90F8546050703 +:105F2000E318C7FEB9E297E7FA1FA38107583C2C94 +:105F30009305340019469CAC17E5FA1F1305C557A5 +:105F400089472306FA0097A0FA1FE780A040624421 +:105F500003450A01F240D2444249B249224A13069B +:105F60008002914505616FE0EED5A3082A01C1B713 +:105F700097E0FA1FE780A0CEFD572306FA00F24013 +:105F80006244D2444249B249224A0561828097E77D +:105F9000FA1F83C7675197E6FA1F93862650D5E309 +:105FA000DC2617E7FA1F1307674DC9E71C2393F791 +:105FB0000704C9C3B7B624009386F6E993075002D5 +:105FC00063F4A602B70725009386F74863EBA602A1 +:105FD000B767DBFF93870793AA979306007DB3D734 +:105FE000D702FD1793F7F70F1CB348C38D4717E788 +:105FF000FA1F0327E77189456303F70085456FE0C2 +:106000000F9C9386074993076002E30FD5FCB7D630 +:1060100025009386F67793077002E3E7A6FCB7673F +:10602000DBFF93870793AA979306007DB3D7D70228 +:10603000F9174DBF9377F50F1CB3FCB681453E852C +:106040007DBF8280411122C406C617E4FA1F0344B3 +:10605000A4451DE897E7FA1F93874742942393F6D8 +:1060600006049DC28CB3C8C317E7FA1F0327476A0B +:106070008D4789456303F7008545EFE04F94B240B3 +:1060800022852244410182800544D5BF411106C6C4 +:1060900022C4EF00411813064002814517E5FA1F9C +:1060A0001305C53F97A0FA1FE780403117E4FA1F98 +:1060B0001304C43EFD57170500001305A5841CC03A +:1060C000EFE0FE9708A8B2402244014541018280DA +:1060D000814717860100130626E09306F00F330769 +:1060E000F60018236364E5006313D700828003D8A9 +:1060F0000500636407019AA18280850793F7F70F73 +:10610000F9BF411122C406C626C22E84939755605A +:1061100063DA070297A0FA1FE780001AAA8401CD6C +:106120001C21054793C707086364F700EFA0400CE4 +:106130002685EFE0EE8D1315F468B24022449244B8 +:106140004101828093F7850099CB97E7FA1F83A7D7 +:10615000E73EBC5B91C3829713458400F9BF93F778 +:10616000450099CB97E7FA1F83A7473DFC5791C39A +:10617000829713454400D1B793F7050281CF97E783 +:10618000FA1F83A7E73C83A7070991C382971345AA +:10619000040265B793F7050181CF97E7FA1F83A73C +:1061A000273B83A7C70891C382971345040171B7A2 +:1061B00009656D8D59D197E7FA1F9387A730F4339E +:1061C000F023CC33C823EF10C13E1315D468B5B704 +:1061D000411122C48145130600122A8417E5FA1FD3 +:1061E0001305452E06C626C297E7FA1F23AC07E61D +:1061F00097A0FA1FE780801C0145EF10B02D0145E4 +:10620000EF10303597E7FA1FA38587F2B707D70756 +:1062100017E4FA1F1304042BB5075CC8B7C70D0DAC +:10622000938707141CCCB7C7D707938707145CCC98 +:10623000F177938707141EB08147232EF40C97E75C +:10624000FA1F93872730B4477D47232CE40C377718 +:106250002D071307F71FD98EF84709661306E6B90D +:10626000518F97E4FA1F938424EFB4C7F8C7B4CBD7 +:10627000F8CBFC24A30C0402A30CF40AA300F40C36 +:10628000F977FD17231FF40E2310F410FD472301A7 +:10629000F410930730303EBC5EBCEFE0BE9893072D +:1062A000C01C231BF406DE206D461307B00FA98324 +:1062B000A300F4089E2828B023220404B3D7E70AD9 +:1062C0003EB47EB49386E700B3F7C70AB3C60608A8 +:1062D0003EB08E069307801433C706085AB41AB826 +:1062E0003377F70A8547A30FF402B70703009387B4 +:1062F000C71C3CC0B7170706938707443CC4B707C1 +:106300001600938707905AB076B01AB45CD8EFF0B5 +:106310009070EF30C073EFF0E02D2244B240924411 +:1063200041016FA08039397126DAAE84B70540008B +:106330004ED6F915AA89054506DE22DC4AD8EFE0DB +:10634000DE971314652997750100938525784146DA +:106350000A85EFD07EDD414697750100938505776C +:106360000808EFD07EDC93178400135904013347EB +:1063700004082183D98F1379F90F10088A854E8577 +:106380007C87A3062101EFF0C0578347E101034753 +:10639000D101A0B0A2074207BA970347F1012180BB +:1063A000C0A0BA979CA013D78700C18398B0BCA0A7 +:1063B000A3822401F2506254D2544259B25921614D +:1063C00082800111194697E5FA1F938585DA17E552 +:1063D000FA1F1305251D06CE22CC26CA4AC8916491 +:1063E0004EC697A0FA1FE780E0F69385F4FF0145BB +:1063F000EFE03E8A2A84FD550145EFE01E8CA2871E +:10640000FD147D5933F79700B366E500CDC66314DC +:1064100025016302970A17E4FA1F1304A40A23084C +:10642000F40EA18393E707FC1169C1692326A40E2A +:10643000A308F40E7D19FD19CA850145EFE07E859C +:10644000AA84FD550145EFE05E87B3679500EDD75F +:10645000FD576314F500E38124FF0357040E93579F +:106460000501230AF40E93578501A30AF40E8356FF +:10647000240EB3470508B98F0357440F230B940E1E +:10648000A18093F4F403358FA30B940ED98F835618 +:10649000440E0357640F2319A40E358FD98F939799 +:1064A0005760B3F73701C9DBF2406244D244424936 +:1064B000B24905618280A6850145EFE08EFD2A8400 +:1064C000FD550145EFE06EFFA2872DBF411126C2A9 +:1064D00006C622C44AC097E4FA1F9384A4FE03C7E9 +:1064E000E40383C7F403636AF7000144B2402285E2 +:1064F000224492440249410182802A899305102452 +:106500001305000C97A0FA1FE78040B52A8471DDBF +:106510001306000C814597A0FA1FE78020EA631458 +:106520000900C1571CA4FC4CA1EBA0CCE0CCA0D02E +:10653000232004008547238FF40285471CB493076A +:1065400000F93CB497E7FA1F9387C71A985FDC5F9E +:1065500017E5FA1F034585C178C43CC8FD577CA8E0 +:10656000A30EF40683C7A4042304A406230AF40A92 +:10657000EFF0C05D48B89DBFBC5080C3A0D02320C1 +:10658000040083C7E403850793F7F70F6DB7011184 +:1065900022CC06CE97E7FA1F83C7D7F22A8485EB71 +:1065A00018288547631BF70C8347D403034754041B +:1065B000858B6312F70C1946930564041305E403F5 +:1065C00097A0FA1FE78080EA3335A00099A8834797 +:1065D0005504D9CB8347B5041307000493F7070C80 +:1065E0006394E708085931C1930564041305A502B3 +:1065F0002EC697B0FA1FE78000738547B245631631 +:10660000F502085889472302F4043C31194693E700 +:106610002700A302F404510597A0FA1FE78080D356 +:106620000545F2406244056182801428054783478E +:10663000C403638BE60203470406118BD98F8DE7F1 +:106640001305440497B0FA1FE780607A08D809CD93 +:1066500089472302F4043C3119469305640493E707 +:106660002700A302F40445BF8347C403898B8DDB55 +:106670001C589C3395F701456DB783470406918BF1 +:1066800085F75C3413F7170011CF34380D47639B3F +:10669000E60068402C446244F240056117C3FA1FCB +:1066A00067004392898BADDF38389547E31AF7F6D8 +:1066B000CDB7011197E7FA1F83A7470422CC06CE76 +:1066C00026CA858B17E4FA1F032404E6ADCB97E7AF +:1066D000FA1F23A5070297E4FA1F9384E49C9C40C9 +:1066E0009DC7DC438DC789475C82834754041305EB +:1066F00061001946DC825C28930564045C8697A0DF +:10670000FA1FE78020C59C404800DC4382978347FE +:106710007406858B81CB83455404082413066404D6 +:10672000EF30F10483477406898B91CB2285624454 +:10673000F240D244056117C3FA1F6700234B22853C +:106740006244F240D244056117C3FA1F6700C34593 +:1067500041114AC017E9FA1F1309C9D68327090B4B +:1067600006C622C426C281EB0545B24022449244AB +:10677000024941018280AA8497D0FA1FE780204E07 +:106780008327090B8297EF30E0052A8471DDDC5006 +:10679000AC482324F508B8349307A009631BF70E0F +:1067A00085472300F51483C734062303F514A30398 +:1067B000F514FC35F8250148A207D98F982915460C +:1067C000F90542075D8F83C735FF13058413E20780 +:1067D000D98F232CF40883C755FF03C765FFA20791 +:1067E0004207BA9703C745FFBA97232EF40883C719 +:1067F00075FFA30BF40283C795FF03C785FFA207AC +:10680000D98F1EBC83C7B5FF03C7A5FFA207D98FC9 +:106810003EBC83C7D5FF03C7C5FFA207D98F5EBCA7 +:1068200083C7F5FF03C7E5FF232E0413A207D98F03 +:106830007EBC8147232CF41297A0FA1FE78080B119 +:10684000B84883473702FD8BA30AF4020347370297 +:10685000ED1793F7F70F15832308E4022D476365BF +:10686000F7023E3C05679306A7C7E917B3C70708B9 +:1068700063ECF600563C9307301F63E7D7007E3C7D +:10688000130707C86375F7020A24EF30A014014507 +:10689000E9BD8327090D1167F98F81DFFC44982337 +:1068A0009C21F98F93D757482300F51419B78327F4 +:1068B000490B228582978327890D0A24294693F75D +:1068C000072091E3054693050008EF9050298327A0 +:1068D000090D1167F98F99C70A24514693050008DD +:1068E000EF90F02783278905F84BB7070008F98F49 +:1068F000E38C07E68824238C0400494693050008AE +:10690000EF90F02595B5011122CC930545012A841D +:10691000284901464EC606CE26CA4AC897C0FA1F65 +:10692000E780C0998949631A052083044401AA8934 +:1069300013050004EF002FBF1315456063C1A422A7 +:106940002C4831479C3193F7F7033CA8639BE72021 +:106950009C210D47BD8B3CB86397E7201309640366 +:106960001946A1054A8597A0FA1FE78020B0630E5B +:10697000051E2C481305640419469C21890593D7EC +:106980006748A302F40497A0FA1FE780A09C228521 +:10699000EFF0FFBF630D051C64449D471CA89CA03D +:1069A0008547BCA0BCB0CA8519461385440097A092 +:1069B000FA1FE780209ABC20B8300149990793F765 +:1069C000F70F13678700BCA0B8B07844BA97035795 +:1069D000C406B8B3BC207844834614063E97835758 +:1069E000C4069206A183BD8BD58F5CA3B82009078E +:1069F0001377F70FB8A0762CC5C2834704067959E0 +:106A000093F7070491C375593309E9401379F90FD6 +:106A10006374D90883463406751985471379F90FCD +:106A20006395F61293078042F9469387371AB3C7E6 +:106A3000D70217E6FA1F034626B01366060197E54C +:106A4000FA1F238BC5AEC16517D6FA1F032646640D +:106A50000CC6B386D702860634D2B43093E606015C +:106A6000B4B0744403462406369730B3B420784457 +:106A700036975CA3B8207C44BA97034734061607C0 +:106A8000D8B3BC208D07BCA05C54CA973CDC7E2CDC +:106A9000B38727412319F4068347040693F70704B5 +:106AA00089CFB8307C44B42013670704B8B0583895 +:106AB000B697B8B3BC208507BCA0BC206844722C34 +:106AC0008D074C543E9551C66365C90897A0FA1FBF +:106AD000E78040880349E401B8209377F7038507EE +:106AE0003E99A3082401B8A083475403858B91E7FE +:106AF0000347440389476317F70078441C2393E74F +:106B000007041CA37C4418388145170500001305B1 +:106B1000E53B98B397A0FA1FE780C0CE8347B40641 +:106B20008345340610380D45DD8D97C0FA1FE78088 +:106B3000E08E97D0FA1FE7808012F2406244D24480 +:106B400042494E85B2490561828085679387878473 +:106B5000E1BD4A869790FA1FE780C07FB5BFAD4977 +:106B6000E9BF9149D9BF8D49C9BF9549F9B7A54931 +:106B7000E9B7011122CC930545012A842849014631 +:106B800026CA06CE4AC84EC652C497B0FA1FE7803E +:106B9000E0728944631605142C48130720029144BF +:106BA0009C3193F7F7033CA8639CE7128421954737 +:106BB000BD8824B8639FF412130A64031946A10523 +:106BC000528597A0FA1FE780608A630B05102C4856 +:106BD0001309640419469C214A85890593D767489F +:106BE000A302F4049790FA1FE780C0762285EFF0A5 +:106BF0001F9AA54475C597D9FA1F9389E95A83D777 +:106C0000C9001307003293870719B3D4E70283A79B +:106C10000900829783A68900B30795003E8763E445 +:106C2000A70063E4D7003387D7406444A1471CA87A +:106C300058D09CA08547BCA0BCB01946D28513850E +:106C400044009790FA1FE780E070BC209907BCA031 +:106C5000BC3093E72700BCB08347540491C7784405 +:106C60001C2393E707F81CA31946CA851385A400C3 +:106C70009790FA1FE780006EBC20990713F7F7037F +:106C8000050718B8BCA083475403858B91E70347D9 +:106C9000440389476317F70078441C2393E70704EC +:106CA0001CA318387C44814517150000130565E3C3 +:106CB00098B39307A0F93CB497A0FA1FE78080B47B +:106CC0008347B4068345340610380D45DD8D97B0F3 +:106CD000FA1FE780A074814497D0FA1FE78020F85C +:106CE000F24062444249B249224A2685D2440561B3 +:106CF00082808D44F5B741114AC017D9FA1F130994 +:106D000029398327090022C41307800706C626C233 +:106D1000F8D32A84094597D7FA1F2387072497D0E9 +:106D2000FA1FE78060FC97D7FA1F83A76735D8570B +:106D3000370500827D15719B13671700D8D783250F +:106D40000900D84113671700D8C183068406D857B5 +:106D500013F6F603698F6606518FD8D71307A00381 +:106D600017D5FA1F1305C5336351D71214413706DF +:106D70000007F84E518FF8CE98433706330013774B +:106D8000F7CF98C398431377F7CF1367072098C3BB +:106D900018411447D18E14C7B70603009386862581 +:106DA000B4C95457F59A54D79843834624061377A9 +:106DB00007F893F6F607558F98C337C7898E1307E0 +:106DC00067ED98C737575500644413075755D8C324 +:106DD0009D471CA89CA08547BCA0A147BCB07C4493 +:106DE0000357C406D8A3BC207844834614063E97B4 +:106DF0008357C4069206A183BD8BD58F5CA3A820C0 +:106E00009307E00F09051375F50FA8A00356240793 +:106E1000898F63C4C7047C442C5C0D053E95979014 +:106E2000FA1FE7802053B820835724079376F7038F +:106E30008507B6971CB8B8A083475403858B91E7A4 +:106E40000347440389476317F70078441C2393E7FB +:106E500007041CA37C44183898B38327090078449E +:106E6000B2409244B8DF97E7FA1F23AB0788834507 +:106E700034068347B406103822440249DD8D0145AB +:106E8000410117B3FA1F6700635913062002184126 +:106E9000635CD600744F370600F97D16F18E370615 +:106EA0000005D18E74CFC9BD370600F969487D163B +:106EB0006357D800744FF18E37060003DDB7744F67 +:106EC000F18E93968629F9BF011197E7FA1F83A7E0 +:106ED000E78222CC26CA06CE97D4FA1F9384845E1A +:106EE000858BE050D9C797E7FA1F23A9078083C78E +:106EF0004407C18B9DC383C7440793F70702E5DFAF +:106F00002285EFF05FDF83C7440793F7F70C238AEE +:106F1000F40697D0FA1FE78080D4228597C0FA1F25 +:106F2000E78080C897D4FA1F938404189C409DC7BB +:106F3000DC438DC789475C82834754041305610095 +:106F40001946DC825C28930564045C869790FA1FDE +:106F5000E78040409C404800DC43829783477406AA +:106F6000858B81CB83455404082413066404EF30D9 +:106F7000010097D0FA1FE78080CE22856244F2405C +:106F8000D244056117C3FA1F670003C239714ED698 +:106F900097D9FA1F9389C90F83A6090022DC26DA44 +:106FA00006DE4AD852D456D25AD093078007FCD274 +:106FB00097D7FA1F238A07FA97D7FA1F83A7470C98 +:106FC000D857B70533002A84719B13671700D8D7A9 +:106FD00098431377F7CF98C398431377F7CF136786 +:106FE000072098C317D7FA1F0327870B10474D8E2A +:106FF00010C73706030013068625B0CA5057759A86 +:1070000050D7984303462506137707F81376F607FB +:10701000518F98C3DC420D4793E71700DCC26445EB +:107020009D471CA99CA08547A3810400BCA0834761 +:10703000F5056384E70AFD1793F7F70F1547636BB0 +:10704000F700177701001307A7EAB3C7E7209C43AF +:10705000BA9782870149BC2013F7F70305073A99CD +:107060000347E405A30824011A07D98FBCA083476E +:107070005403858B91E70347440389476317F7005F +:1070800078441C2393E707041CA37C4418388145EB +:1070900017C5FA1F130525BB98B383A709007844C9 +:1070A000B8DF97D7FA1F23AD07649790FA1FE780E0 +:1070B0006075834534068347B40610386254F25035 +:1070C000D2544259B259225A925A025BDD8D01457F +:1070D000216117B3FA1F670063348547BCB01946B6 +:1070E00093056403138544009790FA1FE780802678 +:1070F000BC209907BCA00347F4059947631FF7021A +:10710000BC301385A40093E72700BCB08347540329 +:10711000898B6389072A0C58BC296385072A19467D +:10712000D1059790FA1FE780E02278441C2393E76B +:1071300007F81CA3BC209907BCA0BC30B82093E77B +:107140008700BCB07C44BA970357C406B8B3BC20D0 +:107150007844834614063E978357C4069206A1835B +:10716000BD8BD58F5CA3B82009071377F70FB8A0A4 +:10717000562C638D062683470406795993F7070436 +:1071800091C375597C483309E9401379F90F918B04 +:1071900081C739191379F90F81476372D90883467A +:1071A0003406751985471379F90F639DF622930705 +:1071B0008042F9469387371AB3C7D70217D6FA1F0A +:1071C000034686371366060197D5FA1F2386C53610 +:1071D00003A60900C1650CC6B386D702860634D261 +:1071E000B43093E60601B4B07444034624063697DF +:1071F00030B3B420784436975CA3B42078443697F3 +:1072000083463406960654B3B8200D07B8A0185428 +:107210004A9738DC5A2C330727412319E40678486B +:1072200011469376C700638BC60031466398C6103B +:10723000034614068346F4076312D610218B630DB0 +:10724000071A032A840997D7FA1F83A767D2829760 +:1072500017D7FA1F130747F5636DAA18B7470F0032 +:10726000938707243305AA40B335F5025227814698 +:107270003305F502EF60A14AB7074B00130745ED50 +:107280009387B7C7AA8A63EBE70A2A8A49468145EA +:1072900068009790FA1FE7806012B7C703009387D2 +:1072A00037FC63D55719B7872500138737ED634639 +:1072B000571FB247938A6A099397D7283EC6930708 +:1072C000C012B3CAFA02CE0A93D73A013247F9760E +:1072D000CE07758FCD83D98F03576408B3C70708CE +:1072E000930604084207D98F3EC69C52D052D84616 +:1072F0003EC897D7FA1F83C7171D9D8B7D8A9607B7 +:1073000093158700D18FCD8F3ECA9C4A6183494631 +:10731000A2075D8F3ACC8357840868446C00FC86D2 +:10732000BC208D073E959790FA1FE780A002BC30E5 +:1073300093E70702BCB0BC20C907BCA08347040682 +:1073400093F7070489CFB8307C44B420136707044F +:10735000B8B05838B697B8B3BC208507BCA0BC30CD +:10736000684493F707029DCF0327C40A05CFB420D2 +:10737000254693873600AA9790A31306200390B35F +:107380001023A906B0A31033B0B33023D0A33033F9 +:10739000D0B35023F0A35033F0B3702390A77833C9 +:1073A00098B7B4A0522CE30706CABC200C548D0732 +:1073B0003E95636AC9109790FA1FE780A0F90349C8 +:1073C000C40151B98347D40391C778441C2393E780 +:1073D00007F81CA319469305E4039790FA1FE7806A +:1073E00060F789BB856793878784E1B3814701494B +:1073F0003DB51C473E9A9DB5B83083463406418B57 +:1074000029C379470546B387E702035724076397E3 +:10741000C602130787070587BA97138A4729494683 +:10742000814568009790FA1FE78040F99307FA00BA +:107430007947B3C7E702CE07CD8349BD13070707D6 +:10744000E1BFBC205A2C05463E979307070F639671 +:10745000C6001307870F9357174017D7FA1F034724 +:10746000B70D1367170017D6FA1FA307E60C03A67C +:10747000090037070800138A875218C693875754A4 +:10748000794733E7E702998F86077CD6834714064E +:107490002300D408A30FF40659B763C85701B247B5 +:1074A0009397E7283EC6814715B59886B787DAFFD8 +:1074B000938767091377F7F913670706D886D69776 +:1074C0001307C012BDB74A869790FA1FE78080E87D +:1074D00059B68547BCB0930565031946138544002A +:1074E0009790FA1FE78000E7BC20B83017DAFA1F40 +:1074F000130A4AFD990793F7F70F13678700BCA09B +:10750000B8B078440149BA970357C406B8B3BC2051 +:107510007844834614063E978357C4069206A18397 +:10752000BD8BD58F5CA3B820914709071377F70F60 +:10753000B8A08346F405639CF6088347040679598E +:1075400093F7070491C375595E2C3309E940137909 +:10755000F90F637EF906834634067519854713795A +:10756000F90F6399F60C93078042F9469387371A0F +:10757000B3C7D70203464A07C16513660601230A4B +:10758000CA0603A609000CC6B386D702860634D203 +:10759000B43093E60601B4B074440346240636972B +:1075A00030B3B420784436975CA3B8207C44BA97B3 +:1075B000034734061607D8B3BC208D07BCA01C5463 +:1075C000CA973CDC5E2CB38727412319F406834716 +:1075D000040693F7070489CFBC30B82093E707046B +:1075E000BCB07C44BA975838B8B3BC208507BCA05F +:1075F0000347F40591476319F704522C31C6BC20A8 +:1076000068440C548D073E95636AC9029790FA1F2F +:10761000E78040D40349C4010347F4059147631F41 +:10762000F71E83474A0793F7070F93E75700230A8C +:10763000FA0615B485679387878405BF4A869790B5 +:10764000FA1FE78020D1C9BF0149F9B78547BCB00F +:10765000930565031946138544009790FA1FE78048 +:1076600060CFBC209907BCA0BC3093E72700BCB01A +:107670008347D40391C778441C2393E707F81CA3DE +:10768000834754031385A400898B638D07140C581A +:10769000BC29638907141946D1059790FA1FE78022 +:1076A00060CB78441C2393E707F81CA3BC20B830B8 +:1076B00017DAFA1F130A0AE1990793F7F70F13670E +:1076C0008700BCA0B8B078440149BA970357C406F4 +:1076D000B8B3BC207844834614063E978357C4064B +:1076E0009206A183BD8BD58F5CA3B820854709077F +:1076F0001377F70FB8A08346F405639CF608834719 +:107700000406795993F7070491C375595E2C330920 +:10771000E9401379F90F637EF9068346340675193B +:1077200085471379F90F639FF60C93078042F9465A +:107730009387371AB3C7D70203464A07C165136652 +:107740000601230ACA0603A609000CC6B386D7029F +:10775000860634D2B43093E60601B4B074440346CE +:107760002406369730B3B420784436975CA3B8200B +:107770007C44BA97034734061607D8B3BC208D075C +:10778000BCA01C54CA973CDC5E2CB387274123194C +:10779000F4068347040693F7070489CFBC30B8206A +:1077A00093E70704BCB07C44BA975838B8B3BC2000 +:1077B0008507BCA00347F4058547631FF704522CD7 +:1077C00021CEBC2068440C548D073E956360C904EB +:1077D0009790FA1FE78000B80349C4010347F405F6 +:1077E000854735BD8347D40391C778441C2393E76D +:1077F00007F81CA319469305E4039790FA1FE78046 +:1078000060B56DB585679387878415B74A8697906D +:10781000FA1FE78020B4D9B70149C9B783474A079F +:1078200093F7070F93E7670019B57E2D411122C426 +:1078300006C699071CB97C45114718A998A37C4531 +:1078400018392A8498B383475503858B91E70347FA +:10785000450389476317F70078441C2393E707041F +:107860001CA3684493056403194609059790FA1F01 +:10787000E78040AE6844722C4C542244B24021054B +:1078800041011793FA1F6700E3ACAA8717D5FA1FC7 +:10789000032505C911E182801825E30EF7FE084192 +:1078A000D5BF411106C622C426C24AC0EFF0FFFD73 +:1078B000630E0518834755032A8497D4FA1F9384CF +:1078C00064C089EF194697D5FA1F9385A5CD130596 +:1078D00064039790FA1FE780E0A79DA80547639C83 +:1078E000E700BC20494563840716194697D5FA1F5F +:1078F0009385A5CBE9BF1C59B9E78347C503230A84 +:10790000050291EB034754038547230AF402894794 +:10791000E319F7FC45BF1305C50397A0FA1FE780DD +:10792000404808D80DC1EF8070350C58BC2581CF78 +:107930008947230AF4021946B10513056403979099 +:10794000FA1FE78020A1034744038947E31CF7FAA5 +:107950009C308DCB8347C40395C7834734041307FA +:1079600000041305C40393F7070C6398E70E97A070 +:10797000FA1FE780C04708D811C53C2981C789474D +:10798000230EF4025C24F9E317D7FA1F230C07B285 +:10799000854778245CA41CB497C4FA1F83C4547D23 +:1079A000231B94061376F70099460359E40663FBFC +:1079B000C60A5A2C9306A00F97D7FA1F83C7A7D5DC +:1079C000B367F7203357D7029387970E17C5FA1F6F +:1079D0000355457E37460F00130606248146910461 +:1079E0002607BA97B3A5A7023305F502EF50315326 +:1079F0002695231BA406231804066307090268289A +:107A00009307F00F6306F500EFC0DEDEFD577CA89C +:107A10000356E406930664011206A28517050000CA +:107A200013052522EFC05EBF97C7FA1F83A74754EF +:107A300082971A302A8693067401A28517B5FA1F19 +:107A40001305E57F97B0FA1FE78060EB0145B24070 +:107A50002244924402494101828097A0FA1FE780A4 +:107A6000403411BF23180406E31B09F8E31EF7FA9C +:107A700068289307F00F6306F500EFC0BED7FD57E7 +:107A80007CA8930664011316B02841BF411106C6B5 +:107A900022C42A8497C0FA1FE780601C228523062F +:107AA0000400A3050400A304040097B0FA1FE780B4 +:107AB000A00F68389307F00F6306F500EFC09ED360 +:107AC000FD577CB868289307F00F6306F500EFC0F8 +:107AD0007ED2FD577CA8B2402244410182804111F0 +:107AE00097D7FA1F83A787C122C406C6858B17D4F0 +:107AF000FA1F032464A399CB228597D7FA1F23AFDB +:107B000007BEEFE0FFC42285EFF05FF82285224434 +:107B1000B240410117B3FA1F67000309411122C4A3 +:107B200017D4FA1F0324849F284801469305440173 +:107B300006C626C297A0FA1FE780407865E52C4864 +:107B40007D479C3193F7F7033CA8E91793F7F70FAC +:107B5000636AF70C9C21BD8B3CB8F51793F7D70FE0 +:107B6000F1E31946A105130564039790FA1FE78016 +:107B7000E08F4DC92C488544230294049C211305B1 +:107B80006404194693D767488905A302F4049780D3 +:107B9000FA1FE780207C2285EFE07F9F41C53438C3 +:107BA00015471C286396E60263EEF40697C7FA1F92 +:107BB00083A7073C829748D02285EFE07FB9631303 +:107BC000950622852244B240924441016FF01FEC99 +:107BD00081C719476398E70483044401130500042F +:107BE000EFF06E941315456063CEA4022285EFF08A +:107BF000DFC3814517F5FFFF1305E5AB9790FA1F2B +:107C0000E78040C01038834544060D4597B0FA1F01 +:107C1000E780C0802244B2409244410117C3FA1F5A +:107C20006700E30397C0FA1FE780600322852244C0 +:107C3000B2409244410117B3FA1F670023FB0111C0 +:107C400022CCFD5706CE7CA98357E5062A849DC722 +:107C5000834605070C259307C0031CAD0146130599 +:107C6000C003EF208130094597C0FA1FE780C007A5 +:107C700022856244F24005616FF05FE17C25054793 +:107C8000BD8B6386E70083470506918BE9DF97D7B5 +:107C9000FA1F83A7A79093F7072085C302C402C2E7 +:107CA00002C0814801488147014781460546814518 +:107CB0001305C003EF2061237DB702C0814801484E +:107CC000814701478146054681451305C003EF20E2 +:107CD000611F51BF97C7FA1F23A0A738828097C79B +:107CE000FA1F83C7174585EF411117E5FFFF1305FD +:107CF000854106C6EFC0BED4EFE08FCDB24097C736 +:107D0000FA1F9387277C17E7FFFF1307677CB8D715 +:107D100017070000130727B9F8D74101828097C7DA +:107D2000FA1F9387277A17E7FFFF1307677AB8D7F9 +:107D300017070000130727B7F8D7828011C98327D8 +:107D4000050A93E707082320F50AFD572303F502E8 +:107D5000828097C7FA1F23A5A730828017C7FA1F12 +:107D60000327877BAA87085719C51A2D6305F700D3 +:107D700013058505DDBF8280011122CC06CE2A8441 +:107D8000034565029307F00F2E866309F5002EC6A2 +:107D9000EFC05EA63246FD572303F4028347A402D8 +:107DA000035784049306640293E707062305F4024D +:107DB00083570404A285F240BA972313F404624463 +:107DC000170500001305C5F705616FC0FE8401119A +:107DD00022CC06CE2A84034575029307F00F2E8627 +:107DE0006309F5002EC6EFC0FEA03246FD57A3037F +:107DF000F40293067402A2856244F2401715000053 +:107E0000130545E505616FC03E81011122CC06CE08 +:107E10002A84034585029307F00F2E866309F50037 +:107E20002EC6EFC03E9D3246FD572304F402930652 +:107E30008402A2856244F24017150000130525E470 +:107E400005616FC06EFD97C6FA1F9386A667F2366E +:107E5000B7054801ED05BE329A3A232CB51CF6321F +:107E6000232EB51CED452318C51C3356B60A231026 +:107E7000C51E13068014231AF51C2319E51CB3D75D +:107E8000B70A231BD51C3357C70AB3D6C60A231219 +:107E9000F51E2313D51E2311E51E2307F50482804A +:107EA0008346651405478357651E6390E6029387F2 +:107EB000C7FB1147B3C7E7020357451EB3C70708FF +:107EC000B357F70A2307F5048280938707FB2147FE +:107ED000D5B78357051D0356C51D0357E51D8356AA +:107EE000851D3356F60A8357251D8355651D41119F +:107EF0003357F70A8357451D1318B02806C6B3D663 +:107F0000F60A8357A51DB3D7B70A83250510B3F525 +:107F1000050181ED8565938585843357B70AB3D70D +:107F2000B70A33470708B3C707088355051E1376FA +:107F3000F60F93F6F60F6396C5028355251E6392DE +:107F4000E5028355451E639ED5008355651E639AE1 +:107F5000F500230E0506EFF0BFF40945B2404101DC +:107F600082808545230EB5062310C51E2311E51E0C +:107F70002312D51E2313F51EEFF09FF20145F9BF22 +:107F80000357651D8357A51D411106C6B3D7E70AE0 +:107F90000567130787846379F70083260510131696 +:107FA000B028F18E91E2BA870357651E6307F70088 +:107FB0002313F51E8547230EF5060357251D83570A +:107FC000E51DB3D7E70A0567130787846379F700D0 +:107FD000832605101316B028F18E91E2BA87035755 +:107FE000251E6307F7002311F51E8547230EF506AE +:107FF000EFF01FEBB2400145410182800357A50419 +:108000009547723DB307F702363D93D53740635B22 +:10801000B600118F0E073347D702B3470708231462 +:10802000F5048280B3C7D702B3C70708CDBF832743 +:1080300045110D469306F00F98230D8B58B5631329 +:10804000C700B42374B99823418B38A99C337CA909 +:1080500082805C25CD9B5CA58280832745115825B5 +:108060009C23935637408987B58F858B91C71347DB +:10807000870058A5014582800545828083274511E8 +:1080800058259C23935627408D87B58F858B91E784 +:108090001347470058A50145828005458280832704 +:1080A000450E85072322F50E91E78327850E850768 +:1080B0002324F50E8327850E93F7070891C785477C +:1080C0002322F50E2324050E8347A50293F7070408 +:1080D00091CF8357050403578504BA972313F504FA +:1080E0008327450A93F7F7BF2322F50A8280832767 +:1080F000C50E85072326F50E91E78327050F850713 +:108100002328F50E8327050F93F7070891C78547A6 +:108110002326F50E2328050E8347A50213F707042F +:1081200009C793E707022305F502828097C7FA1F64 +:1081300083A78742014591E38280B83711E30505A3 +:108140009C43D5BF97C7FA1F83A707410145054741 +:1081500091E38280B4376393E60005059C43CDBF6D +:10816000411122C491452A84014526C206C697C4FE +:10817000FA1F93842435EFC05EAF03D7C40A231BD4 +:10818000A404854763F9E7060357641E8357241E3A +:1081900017C5FA1F0355050237460F00BA97938794 +:1081A0008757B3A5A7021306062481463305F502B7 +:1081B000EF50E156835704040357E40583558405C3 +:1081C00003A344091D8F3307B7028327040905461B +:1081D0009388F5FF130E80023E97637E16013308E5 +:1081E000C6039A87FD563A9889C7631BF4001C4062 +:1081F00081EB231BC404B24022449244410182809B +:1082000083AEC7086398BE0083A60709B306D840AB +:10821000B3F6B60263E4A6009C43F9B7090675BF3E +:10822000411126C297C4FA1F9384C42903D7C40AF4 +:1082300006C622C4854763F1E7060357651E8357C8 +:10824000251E2A8417C5FA1F0355C5F6BA979387CA +:108250008757B3A5A70237460F00130606248146A9 +:108260003305F502EF50A14B0346540583A844099A +:1082700085467D161303800263F0C60233876602CB +:1082800083270409FD553E97C68789C7631BF40001 +:108290001C4081EB231BD404B24022449244410190 +:1082A000828003AEC7080328C408631A0E0103A81E +:1082B0000709B305E84063640701B305074163E4B8 +:1082C000A5009C43D9B7850645BF797156CA97CAA0 +:1082D000FA1F938A2A1F163D03D6CA0A97C7FA1FA8 +:1082E000938787EC22D44ECE52CC83D9C70003AA01 +:1082F000870006D626D24AD05AC85EC662C466C275 +:108300008547032785082A84850663F5C710B38649 +:10831000360393070032014993860619B3D6F60255 +:108320003697BA846364D70063644701B304474156 +:108330008357641E0355241E37460F0023289408D4 +:108340003E9513058557B32535031306062481464C +:10835000130B0032814B3385A902EF50413C2A8C2C +:1083600083AC4A09814A8146130600645A85DE853A +:10837000EF50E13A3387A400E687FD56A1EBB385C1 +:108380005903130600648146B3BA590313850532B5 +:10839000B335B500D695EF508138AA9433B5A40013 +:1083A000A6876314A90063E44401B3874441B25033 +:1083B0002328F408225492540259F249624AD24ABC +:1083C000424BB24B224C924C4561828063948700B1 +:1083D0009C43D5D783A5C7080326C408639AC50064 +:1083E00003A60709B306E6406364C700B306C740A7 +:1083F00063E486019C4359B7B3073B0133B7670178 +:108400003E8B83477403850ABA9B8607FD17E3EC0E +:10841000FAF4B5B78347750393B7270093C71700DE +:10842000B697B38737039306003293870719B3D7FC +:10843000D7023E97BA866364F70063644701B306C8 +:108440004741B687ADB797C7FA1F9387A70783D66B +:10845000C70A411126C206C622C40547AA8463770B +:10846000D70003A44709A28789EB01EC238E0400FF +:10847000B2402244924441018280D83F75FB9C4324 +:10848000E5B763149400004075D03C34C1E703277E +:10849000C40883A7C408630FF706D82C9307000805 +:1084A0006316F7043E3C8A241946239AF406239B5C +:1084B000F4065E3C93050008239DF4047E3C239E55 +:1084C000F404EF70D0698547DCBCDC2C93F7F70728 +:1084D000DCAC130584062244B24092443146930535 +:1084E000F00F41011783FA1F670043EDBE3C0A24D9 +:1084F0001946231AF406231BF406DE3C93050008F4 +:10850000231DF404FE3C231EF404EF7050658947DC +:108510005CBCC1B7004091BF17C7FA1F130787FAA9 +:108520008356C70A411126C206C622C48547AA84BB +:1085300063FFD71683278510898B638A07168327E5 +:108540004709BE85BDE503D6441E01447D58130688 +:10855000260205862D067D55ADE3630004103C34EC +:108560003A3CC5E78947231CE404A30AF4040357F3 +:108570000406835704042285BA97C1071D8B998F7F +:10858000231FF4045E3C231DF4047E3C231EF404EC +:10859000EFF01FBD8327440A93E717002322F40A54 +:1085A00085475CA88D475CBCB2402244924441019F +:1085B0008280D83D75FB8C4171B7639497009C43D2 +:1085C000C9DF83A6070903A7040963E2E60233872C +:1085D000E64083A6C40863F4E6003377D7026376E7 +:1085E000A7003A856373C700BE859C43B5B7158F56 +:1085F00083A6C70863F4E6003377D702E37707FF63 +:108600003A88E374C7FE3E84CDB7BE3CB3F7E702B9 +:10861000C1FF9D46994763F5E60005839307370040 +:108620000567231AF406130707C88A07B3C7E70AC2 +:10863000231BF4065E3C0A241306C002231DF40427 +:108640007E3C93050008231EF404C9475CBC224409 +:10865000B240924441016F709050B1C9BA3CBE3DE6 +:10866000B3F7E702A9E78387C40163D207049D46F5 +:10867000994763F5E6000583930737000567239A5A +:10868000F406130707C88A07B3C7E70A239BF40653 +:10869000DE3C8A241306C002239DF404FE3C9305AD +:1086A0000008239EF404CD47DCBCEF70504B238EB2 +:1086B0000400DDBD411122C406C617C4FA1F13040D +:1086C000A4AE1C289DCF97C7FA1F9387279998437C +:1086D00019EB184497C6FA1F23AAE6E81797FA1F62 +:1086E0001307A7A198C3884317C7FA1F232A07E6D1 +:1086F0009780FA1FE780C0345C402244B2404101B9 +:1087000082875A240356650897C7FA1F23A807943F +:1087100097C7FA1F23A607E43306E60237470F0080 +:108720009306F7231307072483270509AA8536969E +:108730003356E60217C7FA1F034797A33A9663E337 +:10874000C7022244B24003A7C5083386C7409386B8 +:1087500095021795FA1F1305C594410117A3FA1F37 +:108760006700E3191844BA97E9BF01114EC697C9CB +:10877000FA1F9389E98E83A7090026CA4AC806CE44 +:1087800022CCAA8417C9FA1F130909A2C1C317C7AB +:10879000FA1F0357E7DD8547631AF7060357C90039 +:1087A00003546508832705093304E40237470F00A3 +:1087B0009306F7231307072436943354E40263E83F +:1087C00087083384874097B7FA1F83A7677A829711 +:1087D0006363A408B307A44003A4090063C10708A6 +:1087E00017C7FA1F0347D7980583637AF7063745FB +:1087F0000F00998F13050524B3B5A7020356C900CE +:1088000081463385A702EF4091710294930700FBE4 +:10881000FCA4814501459780FA1FE780A0FE8347AD +:108820000901A1C317C5FA1F0325458397C7FA1F7E +:1088300023A807D29780FA1FE7808020624483270D +:108840004900F240D2444249B24905618287032778 +:108850008900BA97BDB7832789003E94A5BF01451B +:108860006DB7624483C59402F240D2444249B24992 +:1088700001450561B315B028B3C5050817A3FA1F54 +:108880006700A318411106C6EF00D07519C98327E8 +:108890008511014581E7B240410182809C43050575 +:1088A000D5BF7D55CDBF411122C426C206C697C78C +:1088B000FA1F83A727CB2A84AE846396A70097C7A5 +:1088C000FA1F23A107CA8327041299C70A24014665 +:1088D00093050008EF70B0288357440499C70A2411 +:1088E0004D4693051008EF7090270A24154693050E +:1088F0001008EF70D0262305040023080400230A83 +:10890000940417C7FA1F0327A7E095476316F700DB +:1089100097C7FA1F23AE07DEB240224492440145B6 +:10892000410182803C25638307328357050801118A +:1089300022CC06CE26CA85072310F5087C35230CE9 +:1089400005002A8413F7270015E30357050495470C +:1089500063FDE7269305E003EFF0FFF4A305A4020F +:108960000945F2406244D2440561828013F7070250 +:1089700021CF93F7F7FD7CB58327050A3835A3058A +:10898000050293E747002320F50A8547631EF70297 +:108990003E3D9306204E03274509B387D702B3D740 +:1089A000E70217B7FA1F0347A77C1307C703BA9755 +:1089B00003477503B3C707082312F5083307D70227 +:1089C000B3A7E7202311F5081C38858BE9C7835727 +:1089D000E405035704046396E7245E3C8355C4050D +:1089E000034584022310F406834754056EBC9205A8 +:1089F000A30BF40283576405F91597B4FA1F938407 +:108A0000A47A1EBC8357A4055EBCEFB0DE9D38344B +:108A1000231004081E3C03568405631A071ADA243F +:108A20008C44B387E7021307003293870719B3D743 +:108A3000E70203270409D1073E97BA866364F7006B +:108A40006364B700B306B7405C3C2328D40832BC4B +:108A500081C72285EFF0CFFCDA243E3C930600323A +:108A600023110402B387E70233D6D702B3F7D70244 +:108A70009306204E2326C408B387D702B3C7E70264 +:108A80001EB0835704045EB07C3493E707027CB4C5 +:108A90001C38F99B1CB81C38898BA9C78356E41273 +:108AA00003570404B387E6409397576063C00718E1 +:108AB000639AE60281470148232CF41213058413BC +:108AC000232E04131546930584122AC69780FA1F95 +:108AD000E78040883245EF00D0781C38A306A41206 +:108AE000F59B1CB81C3813F707012DC70356C41497 +:108AF000835604043307D6401317576063480712A0 +:108B0000631AD604BD9B1CB88347A41499C7898BEC +:108B10006388071285472303F4148347B41499C765 +:108B2000898B638207128547A303F4142285EFF033 +:108B30002FC58347C40799C78327040A93E7071003 +:108B40002320F40A8327040AA305040293E70720DD +:108B50002320F40A18389377070285CF97C7FA1FA6 +:108B600083A7879BD423130680059C57B386C60230 +:108B7000B697D62F83570404B387F6409397576070 +:108B800063C907008357C4146395D7001377F7FDB3 +:108B900018B88347A40293F7070485CB03576404EE +:108BA000835704046313F70218289307A00463147F +:108BB000F70085471CA883278410C18B99C783279A +:108BC000440A93E707402322F40A014559BB0347AF +:108BD000E418218B11CF83560404035704192E3C4B +:108BE000158F3307B7023347C702BA962318D41834 +:108BF0009DC7DA248C44B307F7021307003293872A +:108C00000719B3D7E702032704093E97BA866364BE +:108C1000F7006364B700B306B7402328D40832BC1A +:108C200025BD998F93975760E3D707E69305800298 +:108C30002285EFF05FC7A305A4021305800215B3D8 +:108C400023030414D9BDA3030414CDB505458280C4 +:108C500005C541119305200222C406C62A84EFF0FF +:108C60009FC4FD57A305A40223080400A303F40234 +:108C7000B240224441018280828005C9411122C450 +:108C800006C67C352A849305E003898B91C3A145F0 +:108C9000EFF07FC1FD57A305A402230804002304BD +:108CA000F402B24022444101828082808327050A77 +:108CB000797122D406D626D24AD04ECE52CC56CA8C +:108CC0002A846382074213F7270011CBF59B2320E8 +:108CD000F50A0A25194693050008EF7040688327B6 +:108CE000040A13F7470051CF8344A402ED9B2320CD +:108CF000F40A93F7040491CF83278410C18B99C79A +:108D00008327440A93E707402322F40A2285EFF0E1 +:108D1000EFAE38348547502883562406631EF77417 +:108D20003E3C1307204EB387E70203274409B3D71D +:108D3000E70217B7FA1F0347A7431307C703BA97FA +:108D40000347B402B3C707082312F40886072311A8 +:108D5000F4089307000419E3930700085CAC09E6E4 +:108D600093E414002305940299E60A240D46930522 +:108D70000008EF70C05E23110406230A0400A30E4E +:108D800004008327040A13F7870005C30A24DD9B28 +:108D90002320F40A154693050008EF70405C8347D2 +:108DA000A40293E747002305F4028327040A13F77C +:108DB000070131C7BD9B2320F40A8347D4040A244A +:108DC000214689C7A306040413060003930510086F +:108DD000EF70E0588347C40489CF83278410C18B88 +:108DE00089CB8355A40422859205B3C50508EFE01D +:108DF000BFF88347A40293E717002305F4028327F3 +:108E0000040A13F7070405CB0347F40493F7F7FBB1 +:108E10002320F40AA14763FAE7003C3499E783274B +:108E2000440A93E707012322F40A0A2431469305F2 +:108E30001008EF70C0528327040A13F7070205CF0A +:108E400093F7F7FD2320F40A343483278410032793 +:108E5000C41093F7070263820664638C07680A24D0 +:108E6000114693050008EF70804F8347A40293E7F3 +:108E700017002305F4028327040A13F707101DC304 +:108E80000A2493F7F7EF2320F40A230E04061D4665 +:108E900093050008EF70A04C8347A40293E71700E6 +:108EA0002305F4028327040A13F7070801CF0A24D5 +:108EB00093F7F7F72320F40A1306700593051008BB +:108EC000EF70E0498327040A13F7072029C393F7BB +:108ED000F7DF2320F40A83476414230F0400A297CA +:108EE00003850718A301A414EFC0B04C2301A414F8 +:108EF0002285EFE0FFFA0A24314693050008EF705F +:108F000000468347A40293E717002305F402832752 +:108F1000040A11677D8F630B07129397E74897B98F +:108F2000FA1F83A9A9612320F40A638E095283578B +:108F300044151167139637017D8F4D826300075CDE +:108F40001307C0123306E6029397576063D50700F4 +:108F5000B78725003E96035804048355841517BA35 +:108F6000FA1F130A6A24832704098326C408832A64 +:108F70008A000355440801496318B85863E4D75878 +:108F8000B384D7408357CA00329537460F00B335B4 +:108F9000F5028146130606243305F502EF402178D9 +:108FA000B306950033B5A6002E95B6846314A900C8 +:108FB00063E45601B384564197BAFA1F938A4AFB79 +:108FC00083A70A00829763E5A45A3385A44017B9A2 +:108FD000FA1F130969188347990186076370F55AC8 +:108FE00003A7C90D8356CA008357641521833347ED +:108FF00007083307D70293060032850703268A0045 +:10900000B3C70708130707193357D702B3069700EA +:10901000B68463E0E65E63FEC65C2394F90823A091 +:10902000990A0347E414854683C729086313D76464 +:1090300093E727002381F9084E85EFC080250A2495 +:109040001306600293050008EF7060318327040A5D +:1090500009677D8F09C79397D7482320F40A032710 +:10906000040AA167F98FB9C78345040317B5FA1F2E +:1090700003457545EFB01EB73E3C1307204E232A2B +:10908000A408B387E70233D5A70297B7FA1F83C7AF +:10909000270E9387C7033E958347A4022312A40893 +:1090A00093E717002305F4028327040A9397F748F0 +:1090B0002320F40A8327040A858B91CF8347A402D7 +:1090C00083454405228593E717002305F402EFF05A +:1090D0008FFDA305A4028327040A63D60700939794 +:1090E000F7492320F40A8307B4179DC303074403F9 +:1090F00099463306F74063D8C6588327440A9397A6 +:1091000047292322F40AED57A30FF416A30DE41602 +:109110008347441813F7270049CF83064403030706 +:10912000C41763DBE6000327440A131747292322E9 +:10913000E40A1147A30FE4160307D417635BD700B3 +:109140000327440A131747292322E40A7157A30F60 +:10915000E4160307A4171306F007630CC7020346BF +:10916000741803458418158F13174760B306A6407B +:109170006356D75293F607016392065293F7F7F8B6 +:1091800093E707012302F4188357A41885072316D1 +:10919000F4188357C41891CFFD17B3C707082316D7 +:1091A000F41881EB0A241306000293050008EF70FF +:1091B000001B3C249DCF8327041281CF3C2C91EBD4 +:1091C0000A24014693050008EF70601919E18547EC +:1091D0003CAC8357440491CF8347140399EB0A2492 +:1091E0004D4693051008EF70801701E58547A308E9 +:1091F000F4028347E41813F7070179C38324440A70 +:10920000BD9B2307F4188988C5EC1828D547630946 +:10921000F70A1C38898BCDE7814901498D4A130A29 +:109220005002939744608987A29783C7771913F7F1 +:10923000340006073397EA00F98F630BF7002686A0 +:1092400005458145EF40414BB3E9A9003369B900B9 +:109250008504E39844FD032784138327C41328005F +:1092600033773701B3F727013EC63AC4EF00607F7A +:109270008347541363EEA700034544037D57854796 +:1092800059152C003AC43EC613154560EFC0902511 +:1092900003278413A2476317F7000327C413B247B9 +:1092A0006300F70215462C00130584129770FA1F0D +:1092B000E780400A8327440A93E727002322F40A21 +:1092C0008346E418A54713F796006314F704035781 +:1092D000040483570419636EF702B307F7409397AA +:1092E000576063C807028347F4181306000A05078E +:1092F000B387C702323CDD9A2307D418B3C7C7022D +:10930000BA972318F4188327440A939777292322BE +:10931000F40A8347A402E9C7918B89CF1028C1655D +:10932000938505A02285EFE09FAA8347A402ED9BC9 +:109330002305F4028347A402858B8DC30345740281 +:109340009307F00F6307F500EFB0CECAFD57A303F4 +:10935000F4028347A402F99B2305F4028347A40285 +:10936000898B89CF6E3C034584029205F915EFB0D5 +:109370008E878347A402F59B2305F4028347A4024A +:10938000A18B99CF6E3C0D4622859205F915B3C588 +:109390000508EFE0DFA38347A402DD9B2305F40269 +:1093A0008347A40213F7070101CF0345640293F733 +:1093B000F7F82305F402EFB0EEC3FD572303F402E0 +:1093C0008347A40213F7070201CF8355A404034582 +:1093D000640293F7F7FD2305F4029205EFB0AE8027 +:1093E000582C9307F00363F9E7003834854722854A +:1093F0006316F72EEFF04F9283570404ADC713079F +:109400004006B3F7E702A5E397B7FA1F83A787C51E +:10941000898BB1C397B4FA1F938404D4985805CFAD +:1094200017B9FA1F1309090A83570901835529013E +:109430002545C207DD8D02979C588355E9002945D3 +:1094400082979C58831524032D4582979C58830549 +:1094500044033145829797B7FA1F239C070697B7B5 +:10946000FA1F23A90706B250225492540259F24916 +:10947000624AD24A45618280930700045CAC09E6E7 +:1094800093E4140023059402E399068E0A240D4602 +:1094900093050008EF60B06CCDB01377070819C7CB +:1094A0000327440A131767292322E40AB9C3835701 +:1094B000241D0357241E6313F7028357641D0357AB +:1094C000641EE30EF79813078014E37AF798832756 +:1094D000440A9397B7282322F40A51B21307801441 +:1094E000E37DF7FC8327440A9397B7282322F40AE5 +:1094F000E9B78327440A9397B748F1BFF947330682 +:10950000F60291BCD697ADBC1307180063F60505AB +:109510000D8F3307D70263EFE702B384E740835729 +:10952000CA00329537460F00B335F50213060624FC +:1095300081463305F502EF40811EB307950033B530 +:10954000A7002E95BE846314A900E3E757A7B38450 +:1095500057419DB4D697D1B7998DB385D502AE97B3 +:10956000BE8463E4B700E3EC57FBB384574145BFC7 +:1095700083278A00A6973385A74091BC83A70A005A +:109580006350050882978347990103268A00814525 +:109590001397170033A5A720AA876364E5006364C7 +:1095A000C500B307C54063E99704858F03A7C90DBC +:1095B0000355CA00835664152183334707083307D0 +:1095C000A70213050032130707193357A7021385A3 +:1095D0001600B3D7E702AA97B3C70708B386D740E8 +:1095E0003387E602B306970033B7E600B684E38418 +:1095F000E5A2B384C64015B433079640BA977DB749 +:1096000082978347990103268A001397170033A591 +:10961000A720AA876364E5006364C500B307C5405B +:1096200063E2F404B387F44083A6C90D8355CA00EE +:1096300003576415A182B3C60608B386B602930524 +:10964000003293860619B3D6B602B3D7D702B30752 +:10965000F740B3C707081D8F3307D70263E9E4005B +:10966000998C65BA3387C400B307F74075BFB294CD +:10967000C5BF89466315D70093F7970F65BAF59B69 +:1096800093E7470045BA998FE3D4F6A88327440AA5 +:10969000939747292322F40A9547BDB4834654186B +:1096A000834564183388B600635BE80013F8070449 +:1096B0006317080093F7F7F893E70704E1B42A96D5 +:1096C000E349C7AC8D8EE3C6E6AC13F70702E3129D +:1096D00007AC93F7F7F893E707026DB4EFE0BFD656 +:1096E00021BB411122C406C62A8483278411DDEBE5 +:1096F00083270412E1EB0325041109C59770FA1FB3 +:10970000E780E0A2034574029307F00F6304F500BD +:10971000EFB04E8E034564029307F00F6304F5002B +:10972000EFB04E8D034584029307F00F6304F500FC +:10973000EFB04E8C034594029307F00F6307F500DA +:10974000EFB04E8BFD57A304F4020A24612497B7AF +:10975000FA1F938727D703D7C70A29E317B7FA1F3A +:10976000232E078E17B7FA1F032787A423A4E70A1F +:1097700097B7FA1F83A7C79E95C317B5FA1F03258E +:10978000259D09CD9770FA1FE780609A97B7FA1F59 +:1097900023A0079C97B7FA1F23AE079AB240224432 +:1097A00041018280C84309C59770FA1FE78020985D +:1097B00083278411BA27136707F0BAA79C43232C89 +:1097C000F41025B7C84309C59770FA1FE7802096A3 +:1097D00083270412BA27136707F0BAA79C432320F4 +:1097E000F41239B7AA8717B5FA1F0325E5D611E198 +:1097F00082801A25E30EF7FE0841D5BF97B6FA1FFF +:1098000083C6769617B6FA1F0346069B2A87938768 +:10981000160017B5FA1F032525D519C29397160010 +:109820009207C166AA97FD166394A700014582803E +:109830003225E30EE6FEE30CD6FE4105F5B7011135 +:109840004EC697B9FA1F9389E9C783A7490A06CE7E +:1098500022CC26CA4AC852C4ADEB17BAFA1F130A63 +:10986000AA8F8347FA0017B7FA1F0347E7941389B3 +:10987000170019C31399170003D4E9023305F940FF +:109880009314490013041402158416043344040885 +:109890003305A402930540242695334505089760B7 +:1098A000FA1FE780A07B15C10346FA00C16623A218 +:1098B000A90AB3079500938846F53306C9401105F8 +:1098C0000147938626F5631AE900F2406244D244C8 +:1098D0004249B249224A05618280637DC700BE8544 +:1098E0003688A297231305010CC1A30205000507C2 +:1098F0004105D1BF81454688F5B741119305302612 +:109900001305801E06C622C426C29760FA1FE78090 +:10991000E0741306801E81452A849770FA1FE78041 +:10992000E0A901451DC497B4FA1F9384A4B983A686 +:109930004409854785CE368712276301F60218430E +:1099400065FF1EA4B1E722859760FA1FE780207E9D +:109950000A24B24022449244410182808507216753 +:10996000B3C70708E399E7FC8147E1BF1EA423AA18 +:10997000840823AC84082396F40AEFF05FEC83A7F5 +:10998000840923A007002305040023070400C9B7A6 +:1099900083A7840980C383D7C40A23AC84088507BE +:1099A0002396F40AE9BF17B5FA1F0325E5BB11CDCD +:1099B000411106C69760FA1FE7806077B24097B7FB +:1099C000FA1F23A307BA4101828097B7FA1F23AD7C +:1099D00007B88280411122C417B4FA1F130484AE61 +:1099E000832644092A8706C63685814731C9122550 +:1099F000631CE6048DEB9C42232AF4089760FA1F4F +:109A0000E780E0728327840923A007008357C40AF4 +:109A10008DE7EFF05FF997B7FA1F23AF07B2B240B7 +:109A2000224441018280032784096315A700232C67 +:109A3000F408E9B7184198C3D1B7FD172316F40A03 +:109A40008357C40AE9FFF1B7AA87084145B77146B1 +:109A5000814517B5FA1F130525B01773FA1F670064 +:109A6000E3951C3118215421A207D98F3821FD8A92 +:109A70009305000242075D8F3C310145E207D98F13 +:109A800001473316E0287D8E01C605051375F50FD5 +:109A90000507E318B7FE8147214733D6F64801C6CC +:109AA00005051375F50F8507E399E7FE828001111F +:109AB0004AC84EC6032985138329C51322CC26CA5A +:109AC00052C406CE2A84A30B0512A30605128144B4 +:109AD000130A500226864A85CE85EF30913F0589CC +:109AE00011C58347D4128507A306F4128504E393B6 +:109AF00044FFF2406244D2444249B249224A0561DD +:109B000082804111930590241305000A22C406C6E1 +:109B10009760FA1FE78080542A843DC91306000A23 +:109B200081459770FA1FE780608917B7FA1F1307FE +:109B300067BC145F585F97B7FA1F23AB87A09307E2 +:109B4000040898CFD4CB7D572300E404130710FBFF +:109B500078A023020400170700001307470498C7E2 +:109B6000170700001307C745D8C7170700001307DA +:109B7000873098CB97A7FA1F83C7076491EB91456D +:109B800017A5FA1F0325454E9770FA1FE78080C777 +:109B9000B2402285224441018280411126C297B4FD +:109BA000FA1F9384249222C403A4C40806C68347E0 +:109BB00054062302040685E385472302F40619466A +:109BC00097B5FA1F9385059E130564069760FA1FE3 +:109BD000E7804078B5A80547639AE700B8200DE70D +:109BE0004945B24022449244410182808325440881 +:109BF000DDED8347C4068DE3034754068947E30D33 +:109C0000F7FABC20F1DF85472302F406194697B521 +:109C1000FA1F938585994DBF1305C4069780FA1FD7 +:109C2000E78020182322A40819CD3C2589CF894735 +:109C30002302F40619469305C500130564069760D0 +:109C4000FA1FE7802071034744068947E316F7FAB5 +:109C5000B7050001FD150145EFB02E8668CCEFC0B9 +:109C6000803D28CCC1451545EFB02E8085477CB09E +:109C7000834784030D4748A458A097A4FA1F9384F0 +:109C8000244B639EE702523883576404A830C145D1 +:109C90003E96EFA09EA4A830C1459790FA1FE7809A +:109CA000C0D6014597B7FA1F238E07801DBFBC257C +:109CB000A1D789472302F4061946B105BDBF09475C +:109CC000A8306396E70003566404C145D9B75238FB +:109CD000EDBF411106C622C42A8497A0FA1FE7806F +:109CE00000F8930700FB7CA09305000217A5FA1F5C +:109CF00003453544EFA07EA617A7FA1F1307877CFC +:109D00001C235638850793F7F70F1CA3130700642D +:109D10003347D70263C8E700EFA05EFC97A7FA1F9E +:109D20002382077AB240224441018280011126CA6F +:109D300097B4FA1F9384049CD84C22CC06CE4AC810 +:109D40004EC6954717B4FA1F032484806306F700B4 +:109D5000D84C8D47631FF70083C7140281E7930730 +:109D600070109EB0F2406244D2444249B24905614B +:109D700082800D4597A0FA1FE78000F797A9FA1F88 +:109D80009389093003A70900B7C7898E938767EDC8 +:109D90001CC7B7575500938757555CC30347A403A7 +:109DA0009307F00F6305F700FD57230DF40217A981 +:109DB000FA1F1309E92D032709008547A30CF402B4 +:109DC0005C430145014693E717005CC3930720FB02 +:109DD0007CA09D47DCCC9305500297B7FA1F23ABBC +:109DE000079097A4FA1F9384A42B9780FA1FE7800B +:109DF000407D984001455C57F59B5CD783A60900E0 +:109E000058309C421377F70793F707F8D98F9CC215 +:109E100097A7FA1F83C7473A89C717A5FA1F0325D3 +:109E2000A5249770FA1FE780809C03A70900B70656 +:109E300033001C4393F7F7CF1CC31C4393F7F7CFB2 +:109E400093E707201CC398401C47D58F1CC70327E6 +:109E50000900B7070300938787153CCB97B7FA1F14 +:109E600023A4078A97B7FA1F23A8078885471CC32E +:109E7000D5BD411122C406C626C217A4FA1F032469 +:109E8000246D03479403A1476309F70A89445C30B2 +:109E9000631A970A13077002638BE71013075002C7 +:109EA000130570026394E7001305600248B097A79A +:109EB000FA1F83A7E71C98433706CEFF7D1613775A +:109EC000F7CF1367071098C317A7FA1F0327471D7B +:109ED000144797A5FA1F83A5A51BF18E14C7370653 +:109EE0000300B0C997B6FA1F23A60680545713067D +:109EF0008615F59A54D7944393F606F8C98E94C301 +:109F000097B6FA1F23A2068097A6FA1F23A6067EFD +:109F1000854694C1944393F6F6CF94C3944393F645 +:109F2000F6CF93E6062094C31C47B7063300D58FBF +:109F30001CC7B0C9930720FB7CA0B24022449244C6 +:109F40004101828013077002638AE7029306500280 +:109F50006394D7001307600258B097A6FA1F83A630 +:109F60002614DC56F59BDCD697A6FA1F83A646116D +:109F70009C4293F707F8D98F9CC26DBF8347840337 +:109F8000898B95C70356A4049305000217A5FA1FF1 +:109F90000345351AEFA06EF493075002A30C940208 +:109FA0005CB02244B240924441016FF03FD8228518 +:109FB0002244B240924441016FF0BFD197A7FA1FEB +:109FC0009387475003A7070A35E3411122C403A42E +:109FD000C70806C69307000B78206306F70097A012 +:109FE000FA1FE780C0C78347840317A5FA1F0345FC +:109FF000551413F7170011C785473238A30CF40224 +:10A0000001A8898BF5DB0356A4048947A30CF4024D +:10A0100093050002EFA06EEC93075002230F040299 +:10A020005CB02244B24041016FF05FD082800111E8 +:10A030004EC697A9FA1F9389A90583A7090022CCC8 +:10A0400026CA4AC806CED84317A9FA1F13094903DE +:10A050002A8413671700D8C38326090037C7898E5F +:10A06000130767ED98C63757550013075755D8C2E1 +:10A07000D84397A4FA1F9384E46701461367170037 +:10A08000D8C3930730FB7CA10345C5039D47DCCCB7 +:10A090009305F00F23A004009780FA1FE780605219 +:10A0A00003A6090023AA040023A2040085471CC2BA +:10A0B00083270900B705330098431377F7CF98C378 +:10A0C00098431377F7CF1367072098C317A7FA1F92 +:10A0D000032707FD1447CD8E14C7B70603009386E8 +:10A0E000861534CA5457F59A54D78346B403984317 +:10A0F00093F6F607137707F8558F98C3F24062443A +:10A10000D2444249B249056182807D572300E5046B +:10A1100003479503411106C6230DE5022147A30C11 +:10A12000E5020347B50358B1EFF07FF097A7FA1F98 +:10A13000938707F6984354471396164950C70F1054 +:10A1400000009C4337070200B24098C7130700087D +:10A1500017A6FA1F2328E65A0567130727A8F8D37E +:10A16000D4C741018280011122CC06CE26CA4AC83A +:10A170004EC652C403479503A1472A846313F722AE +:10A18000930750FB7CA10345C503930520029780EC +:10A19000FA1FE780001D8347C403094733D9E70A44 +:10A1A00083244409930720021CA495479CA078208F +:10A1B0009307400B97A9FA1F9389C930631AF700D8 +:10A1C00083A7090D1167F98F81C7930750029CA0DF +:10A1D000930720029CB0034744068947130A64068C +:10A1E000631BF7008325440819465285B105976023 +:10A1F000FA1FE780201683475406858B91E70347B3 +:10A20000440689476316F7009C2093E707049CA047 +:10A210001946D285138524009760FA1FE7808013C2 +:10A220008347540789C79C2093E707F89CA01946E9 +:10A2300093056407138584009760FA1FE7808011F7 +:10A2400083478405FCA483479405FCB48347A40595 +:10A250009CA88347B4059CB87C4C13D78700BCA846 +:10A26000C183DCA8B8B889476313F9008D47DCB80F +:10A27000B327892003C707058325440998AC03D772 +:10A280000705218398BCB82FB8ACBA2F2183B8BC7E +:10A2900003C707029E33D8ACA183DCBC9C3D982D3C +:10A2A000A207D98F03D7C90A630B07148D47231759 +:10A2B000F40497A7FA1F938727EF83DEC70093065E +:10A2C000003203D7A90213860E193356D602345032 +:10A2D0001307270283A2490903AF870005872D07CB +:10A2E000814313090032954F369616857D53835767 +:10A2F000E40461E5636967008507B3C707082317AE +:10A30000F404E3F4FFFE8347E404B7060082FD167D +:10A31000FCA88357E404A183FCB883C7E90FFCAC15 +:10A3200083C7F90FFCBC83C709102380F40283C7DD +:10A330001910A380F40283C729102381F4025C243E +:10A34000FD8BA381F40283C7390003C7350296074A +:10A35000D98FA381F50297A5FA1F83A565D2D85599 +:10A3600097A7FA1F83C787E01396476093F7F70311 +:10A37000758FE607D98FDCD51307A00397A7FA1FBF +:10A3800083A707D26355C708F84FB7060007558F54 +:10A39000F8CFF2406244D2444249B249224A0561B0 +:10A3A0008280930740FB7CA19305200201459780A2 +:10A3B000FA1FE78000FB0149E5B3B386D703032EFC +:10A3C000050993860619B3D62603B388C600B3B62B +:10A3D000D80046886394D30063E4E8013388E841F9 +:10A3E000B306C84163690E01B3060E4163F5E6008A +:10A3F00085072317F40408413353D30ACDBD8D8359 +:10A400008D071947B3D7E70A2317F404EDBD1307E7 +:10A410002002635AC700F84FB70600F9FD16758F82 +:10A42000B7060005ADB7B70600F96947FD166357D3 +:10A43000C700F84F758FB706000391BFF84F758FAF +:10A4400013178729B1B7411106C622C426C297A4A3 +:10A45000FA1F9384E4CD2A84A830C145EFA0EEAF63 +:10A46000A83093050002EFA04EAF2302040023138F +:10A470000400B2402244924441018280411106C648 +:10A4800026C222C44AC0AA84EF10701AEFF08FB51A +:10A4900079C5B85083A7440901482324E508B84C7E +:10A4A0002A841546232CE508F84C97A5FA1F9385B6 +:10A4B0004511130585132322E5F6D83B17A9FA1F8A +:10A4C00013094900A30FE5EEF83BF42B2207558F43 +:10A4D0002310E5F0983F942F2207558F2311E5F0C4 +:10A4E000B83FB42F2207558F2312E5F0D82FDC3F59 +:10A4F000A207D98F2313F5F0DC2423220501A30E34 +:10A50000F5EE81471CC19760FA1FE780A0E4F820B0 +:10A510009307600B631DF70485472300F41483C77A +:10A52000C4032303F414A303F4142285EF10207E44 +:10A530008327890D0A24294693F7072091E30546CE +:10A5400093050008EF50B0618327090D1167F98F5B +:10A5500099C70A24514693050008EF5050602244E1 +:10A56000B24002492685924441016FF0DFED832716 +:10A57000090D1167F98FD5DB83A74409982383A7B9 +:10A5800084099C23F98F93D757482300F41471BF93 +:10A59000011122CC06CE2A8426CA4AC88347C407A2 +:10A5A0000325450899EB032544084DE158348547B8 +:10A5B000631DF71268582C5C19A231C53C25A1C750 +:10A5C0008347D407C9C3834734081307000493F7AC +:10A5D000070C639AE7069305E40769052EC6977092 +:10A5E000FA1FE7804074054783274408B245631C7F +:10A5F000E5020947230EE40619461385C700976054 +:10A60000FA1FE78020D50347C4078947E30DF7F811 +:10A6100019469305E407130564069760FA1FE7805F +:10A62000E0E451F119A09C3389EB8144F24062448B +:10A6300042492685D2440561828097A7FA1F83C7C5 +:10A6400077E8F1D3DDB71C31DDFFC5B73C29B9DFB1 +:10A6500083475407D9C78347B4071307000493F708 +:10A66000070C6390E708930564071305A5022EC63F +:10A670009770FA1FE780206B2A898547AA84B24524 +:10A68000032544086316F904194651059760FA1F1B +:10A69000E78040CC97A7FA1F83C7D7E281DB8947C1 +:10A6A000230AF4065C34E39327F983274408AA239A +:10A6B000DA23EE239E274207598DC207DD8D6244BF +:10A6C000F240D244424905611783FA1F6700838F25 +:10A6D0001C31A1DF97A7FA1F83C7D7DEE38807ECF9 +:10A6E000A9B71C31E39407EC89B70347D406834725 +:10A6F0005407E31CF7F21946930564071305E406B3 +:10A700009760FA1FE78080D6B334A00005B74111E7 +:10A7100006C622C42A84EFF01FA50327440997A781 +:10A72000FA1F83A7E796B8DF97A7FA1F83A7479575 +:10A7300098431317772998C3D857719BD8D7978018 +:10A74000FA1FE78000B5B2402244014541018280F2 +:10A75000011122CC2A84032585090146814506CEB4 +:10A7600026CA9780FA1FE78060B571ED83248409BB +:10A770009D469C20BD8B1CB4983038A46397D70CA1 +:10A78000BC200346D40393D667006312D60C93F71C +:10A79000F7039385440063FEE70A230A0406BC30EE +:10A7A000858B95C38547230AF4069C20194613051B +:10A7B000640793D76748A30AF4069760FA1FE780F7 +:10A7C00060B99385A400230E0406BC30898B85C72D +:10A7D0008547230EF4068327840919461305E407E9 +:10A7E0009C232EC69D83A30EF4069760FA1FE78074 +:10A7F00060B6B2459905BC30A18B99C79C3103471F +:10A80000F40391836319F7042285EFF07FD885471D +:10A810006309F5001305F007F2406244D244056174 +:10A8200082808347E40389CBFD17230FF4029790BE +:10A83000FA1FE780C042F9BF22856244F240D24449 +:10A8400005616FF0DFEC0945C1BF2145F1B719453E +:10A85000E1B71145D1B75145C1B7011122CC2A84C6 +:10A86000032585090146814526CA06CE4AC84EC63B +:10A870009780FA1FE78080A4894449E90329840965 +:10A88000A146A14483470900BD8B1CB403471900AE +:10A8900038A4639DD7068349290093D46900BDEC91 +:10A8A0009387190093F7F70F631CF70603473900E6 +:10A8B0008D476319F7068347090019469305490038 +:10A8C00093D7674813056407A30AF4069760FA1F35 +:10A8D000E78040A88547230EF4068327840919469C +:10A8E0009305A9009C231305E4079D83A30EF4069A +:10A8F0009760FA1FE78000A6B5476397F9022285A3 +:10A90000EFF01FC905C52285EFF05FB7F240624442 +:10A910004249B2492685D244056182809944FDB7F7 +:10A92000E544EDB7C544DDB7E144CDB7A544F9BF73 +:10A93000011122CC2A84032585090146814506CED2 +:10A9400026CA4AC84EC69780FA1FE780209763162A +:10A950000528032984091D46034709009376F7005B +:10A9600014B48347190093F7F7033CA46396C61EFB +:10A970007D57230DE40203472900054693566700DF +:10A98000A30ED402639DC6241377F7030507639AC9 +:10A99000E72403473900E1479376F7FB6395F624F4 +:10A9A00093778700AA849309490085C78347590094 +:10A9B0008566938606F0A207F58F834649009309C2 +:10A9C0006900D58F2312F404834759009183A30FA4 +:10A9D000F4029377070195E31377070419C7034738 +:10A9E000940389476313F700DD44F240624442490F +:10A9F000B2492685D244056182809790FA1FE7808C +:10AA0000002683C7090093F7F703A30DF40203C6DA +:10AA100029008967938707F022067D8E83C7190076 +:10AA20005D8E131656602311C40483C729009583D5 +:10AA3000230EF4028387090063DA070E9307C0121E +:10AA4000034794033306F60285476316F7003C2458 +:10AA5000A9078E071D8EB7070080930646ED9387E2 +:10AA600037ED63E4D718230DE4028347390093F7E9 +:10AA7000070481C78947E309F7F69307F00FE30658 +:10AA8000F7F6130700506365C70A1799FA1F1309F1 +:10AA9000296083270900D84793161749D4C70F1098 +:10AAA000000083270900B706020097A9FA1F9389BF +:10AAB00069C494C7130656ED9306000823A8D9006D +:10AAC0000606F0D3D8C7F8537DFFA147A30CF402C4 +:10AAD0002285EFF0CFD583270900D8479316174971 +:10AAE000D4C70F10000083270900B706020094C7DF +:10AAF0009306000823A8D90093062030F4D3D8C7C2 +:10AB00009770FA1FE780E07883A70900858BE38EB2 +:10AB100007EC22856244F240D2444249B24997A7E9 +:10AB2000FA1F23A907BC05616FF09FC2F94709BF4F +:10AB300003470404E31BF7EA930710271306F6D82C +:10AB40003356F60293060404A28517F5FFFF13059A +:10AB5000055CEF907EAC51BD398B59EBE91793F74B +:10AB6000F70F7D4793040008E361F7E88544230A63 +:10AB700094068347090019469305290093D767482F +:10AB800013056407A30AF4069750FA1FE780807C38 +:10AB90001C34230E04066392970283258409230E36 +:10ABA000F40619469C211305E407A1059D83A30E15 +:10ABB000F4069750FA1FE780E0792285EFF05F9D59 +:10ABC0008547A544E313F5E222856244F240D2446E +:10ABD0004249B24905616FF09FB3894439B5994440 +:10ABE00029B5914419B58D4409B593041002F5BBFC +:10ABF00093040008DDBB797122D44AD04ECE52CCEA +:10AC000056CA5AC85EC662C466C206D626D26AC092 +:10AC100017A4FA1F0324C493130A200B930A400BB2 +:10AC2000130B600B930B300B130C500B17A9FA1F6F +:10AC3000130949AC9799FA1F93890957930C800F10 +:10AC40007C20639F470183270900858BD9C3228518 +:10AC500097A7FA1F23A007AAEFF09FCD75D195A85B +:10AC6000639B570997A7FA1F83A707A9858BB5C3CD +:10AC70001799FA1F130949530355C90097A7FA1FDB +:10AC800023AC07A69307800F3305F50237460F0064 +:10AC90008146130606248145EF2071288327090089 +:10ACA000AA84AE898297B307950033B5A700B30590 +:10ACB0003501832689003E8799E163E4D700338715 +:10ACC000D74038D09790FA1FE78060F92285EFF0DF +:10ACD000EFFA5C20638D07102254B250925402594F +:10ACE000F249624AD24A424BB24B224C924C024D3C +:10ACF00045616FF0AF83639067099797FA1F938759 +:10AD00002739984354471396164950C70F1000002F +:10AD10009C433707020097A4FA1F9384A49D98C709 +:10AD20001307000898C81797FA1F032767351843B9 +:10AD30001357774815CF1307E018F8D3D4C7977087 +:10AD4000FA1FE78000559C40858B89CF97A7FA1F93 +:10AD500023A2079A9790FA1FE78060F02285EFF010 +:10AD6000DFAF25D98347E4038507230FF40295B7A6 +:10AD70001307E01AD9B7639E770183270900858BF3 +:10AD8000A9DB228597A7FA1F23A60796EFF05F9C01 +:10AD9000F1B5E39087F583274900858B9DDB03D5CB +:10ADA000C90037460F008146330595031306062474 +:10ADB000814597A7FA1F23A10794EF20511683A777 +:10ADC0000900AA842E8D8297B307950033B5A7009A +:10ADD000B305A50183A689003E8799E163E4D70006 +:10ADE0003387D740930760FB38D07CA091BDB25029 +:10ADF000225492540259F249624AD24A424BB24B0F +:10AE0000224C924C024D45618280411122C406C6FB +:10AE100097A7FA1F9387078E03C717021794FA1F85 +:10AE20000324047311CB83C607020D476396E60023 +:10AE300017A7FA1FA300078ED44F21476386E600A9 +:10AE4000D44F19476398E600D84F2380E70205479F +:10AE5000A380E7029790FA1FE78060E02285EFF079 +:10AE60008FDE1306A002930500080145EF50204F26 +:10AE7000034504049307F00F6307F500EF909E97D6 +:10AE8000FD572300F404B24022444101828097F729 +:10AE9000FFFF938747C71797FA1F232DF76A970776 +:10AEA0000000938787D51797FA1F232FF71A828000 +:10AEB0008347651313D737002A97834607139D8B63 +:10AEC00033D6F640058A630C0610011122CC06CE5B +:10AED0001C392A84898BC1E78327450A898BC1E302 +:10AEE00013058513EFE0FFB703475413834744036B +:10AEF000636DA7087D56FD46138567FF2C0032C49D +:10AF000036C613154560EFA0F05D03268413224773 +:10AF10008326C413B247718FF58F6314E600638AEA +:10AF2000F6002800EFE0FFB3A54763EEA702A30AEF +:10AF3000A4128347E41885E7034664132245B2450B +:10AF4000EF202179058901CD8327C41093F70708E5 +:10AF500099C78327440A939767292322F40AF2406A +:10AF60006244056182806D15A30AA41215462C0067 +:10AF7000130584129750FA1FE780C03D8327440AC7 +:10AF800093E727002322F40A6DB7834564131385E2 +:10AF900047FF131545609790FA1FE780A0BE51F94F +:10AFA0000346641305458145EF200175930704109E +:10AFB000985FDC5F15463375A740B3F5B7402AC4E8 +:10AFC0002EC6130584122C009750FA1FE780803894 +:10AFD000130704085C5393E727005CD399BFB3962B +:10AFE000F6282308D7128280411122C426C206C641 +:10AFF0004AC08347650338392A848507230BF50245 +:10B000009794FA1F9384C4085C25631C074C143979 +:10B01000B19B93E73700130700045CA5A30D05005F +:10B0200038B99397466063D8070093F6F60714B9CA +:10B03000EF30607139A88327850A13F7270031C7DD +:10B04000F59B2324F50A83270510918B85CFEF10FC +:10B05000803A343C854758246390F60E8327841148 +:10B06000DC4398A3832784115838DC4398B3032723 +:10B0700084119C405843B2402244B8DF92440249B4 +:10B0800041018280EF102035E9B713F7170019C787 +:10B09000F99B2324F50AEF10802765BF1829054680 +:10B0A0006314C724D5C713F7070119C7BD9B232411 +:10B0B000F50AEF10B01371BF13F7070401CB93F734 +:10B0C000F7FB2324F50AEF10A03761B713F7070841 +:10B0D00001CB93F7F7F72324F50AEF10C04295BF91 +:10B0E00013F7071009CB93F7F7EF2324F50A22850E +:10B0F000EF10C05AB9BF13F7074001CB93F7F7BF62 +:10B100002324F50AEF202007A9B71317B0287D8F55 +:10B1100001CB9397B7482324F50AEF10C06715BFFA +:10B1200009677D8F01CB9397D7482324F50AEF1049 +:10B13000407405B72324050A83270411582498A3D3 +:10B1400083270411583898B39C400327041125B76E +:10B150008327450A638D073613F7070119C7BD9B7F +:10B160002322F50AEF10F003EDB513F7070401CB26 +:10B1700093F7F7FB2322F50AEF10A01FD9BD13F7B1 +:10B1800007200DCBCD8A639806188327451A89EFCF +:10B190008327440A2322041A228593F7F7DF232208 +:10B1A000F40AEF10F00D75B59760FA1FE78020C51F +:10B1B00065F145B513F7170019CBCD8A639D0614C9 +:10B1C000F99B2322F50A2285EF10800259B513F767 +:10B1D000270011CBCD8A63900614F59B2322F50A34 +:10B1E000EF104071BDB513F7074001CB93F7F7BFE0 +:10B1F0002322F50AEF104022A9BD1317B0287D8F36 +:10B2000001CB9397B7482322F50AEF10C02491B5DC +:10B2100013F707020DC39760FA1FE78040BEE30AE9 +:10B2200005E28327440A228593F7F7FD2322F40AD7 +:10B23000EF10E00F39BD13F7870001CBDD9B232210 +:10B24000F50A2285EF10106129B563DD0700939799 +:10B25000F7492322F50A8327050A93E727002320CD +:10B26000F50AD9BD05677D8F11CBCD8ACDE69397C1 +:10B27000C7482322F50AEF10A031E1BB09677D8F93 +:10B2800011C79397D7482322F50A95B541677D8F5B +:10B2900001CB939707492322F50AEF10301255BBD3 +:10B2A000370702007D8F01CB939717492322F50AB8 +:10B2B000EF10604C79BB370710007D8F01CB93975F +:10B2C00047492322F50AEF10A05561B33707400024 +:10B2D0007D8F01CB939767492322F50AEF10C05E5B +:10B2E0008DBB2322050A89BD1DC79307700563E73F +:10B2F000E7069307600363E2E7029307100363EC3A +:10B30000E7009307500263EBE702E9476302F71493 +:10B31000F5476305F714228521BB130797FC1377C4 +:10B32000F70F93070002E3E8E7FE973601009386E4 +:10B33000A6BD3347D7201C43B69782871307A7FDC6 +:10B340001377F70FAD47E3E8E7FC973601009386E4 +:10B35000E6C33347D7201C43B6978287930720075D +:10B3600063E6E7049307000763ECE70093076006D2 +:10B370006306F71663EAE70093071006E31DF7F884 +:10B380002285EF30403CA1A8130767F91377F70F28 +:10B390000549E362E9F8EF30003B8327040A2308FC +:10B3A00024019397B7282320F40A65B19307600717 +:10B3B000E305F7D693076008E31FF7F4EF10604B3F +:10B3C00039A88347B50279476391E70283270510BF +:10B3D000918B89CBBD472306F502EF10C00185474D +:10B3E0001CA885B9EF00307FDDBF0549639B2701AD +:10B3F0008357450703576507BA978587231CF504CC +:10B40000D9B3EF3040348327040A2308240193E79B +:10B4100027002320F40A35B90347B502F947631D15 +:10B42000F700EF00507B85471CA88347A40293E7F1 +:10B4300017002305F40231B9835744070357640703 +:10B440002285BA978587231CF404EF00705AF1BF58 +:10B45000EF00D065D947230AF404E5BE2285EF301A +:10B46000802E8327040A2308040093E71700232073 +:10B47000F40AC5B6EF00306EE9BE8547A306F504B1 +:10B480009305C50A41461305C50C9750FA1FE7807E +:10B4900060EC45BB8D472306F5042322050E2324CB +:10B4A000050E2326050E2328050EEF00906455B6E1 +:10B4B000EF3060291C38DD9B1CB88327040A93E712 +:10B4C00007012320F40A21BFEF00907709BF97609E +:10B4D000FA1FE780C092E30E05B635BDEF10B04904 +:10B4E000FDBD1797FA1F1307E7FD1E2B85071EAB3F +:10B4F0008DB679714ECE9799FA1F9389A9FC22D403 +:10B5000003A4C90952CC56CA5AC8370A0300370BDC +:10B510000082B70A00F926D24AD05EC606D662C4B7 +:10B5200066C21799FA1F1309E91C9794FA1F9384AE +:10B5300024B6930B8A157D1BFD1A7C241307100C6F +:10B540006396E71A9C4098430D8B0DC71797FA1F17 +:10B55000230C07A0B84B1377F78FB8CB984313672A +:10B56000870098C39C4393D7374889C701000100DF +:10B57000010001009797FA1F83C707C489E7976006 +:10B58000FA1FE780E0B09040979CFA1F938C4CAF75 +:10B5900003A70C00930780077CD29797FA1F238597 +:10B5A000079C5C57179CFA1F130C8CAFF19B93E719 +:10B5B00017005CD78347241454579395476093F73B +:10B5C000F703B3F66601E607D58F5CD79306A003B1 +:10B5D00083270C0063D0B606F44FB7050007CD8E65 +:10B5E000F4CF83268409228514C78326C40954C353 +:10B5F000544293E6160054C2D457F59AD4D78346E2 +:10B6000064131C4393F6F60793F707F8D58F1CC312 +:10B61000EFF09F9D5C38C5C78347C404898BC5C3C1 +:10B62000A2850545EFA020351DCD9780FA1FE78044 +:10B63000006359A39306200263D8B600F44FB70500 +:10B640000005B3F6560161BFE94663D8B600F44F72 +:10B65000B7050003B3F6560159B7F44FB3F65601D8 +:10B6600093968629B5BF03A70C00B70633001C4389 +:10B6700093F7F7CF1CC31C4393F7F7CF93E707204B +:10B680001CC303270C001C47D58F1CC79C40130705 +:10B690008A27B8CB930700082326F9009797FA1F4B +:10B6A00023A60706503883456414930730FC7CA416 +:10B6B000110601459770FA1FE78040D6BDBD03A76C +:10B6C0000C00B70633001C4393F7F7CF1CC31C4391 +:10B6D00093F7F7CF93E707201CC303270C001C4701 +:10B6E000D58F1CC79C4013078A2565B71307400CEC +:10B6F0006390E7528327C900858B638E074C8327AD +:10B70000C90093F7070889CF03476413935737009D +:10B71000A29783C607131D8B3397E6482388E71249 +:10B720007C3413F7270019EB93E72700130700F881 +:10B7300058AC7CB49797FA1F23A607E2032544115F +:10B7400013062403930544039770FA1FE78000B79C +:10B7500003D7690483474403232CA900998F230A44 +:10B76000F40283278901858B639D07368347A402F2 +:10B77000A30C04002310040893E727002305F40218 +:10B780002285EFC09F8D29ED83278411A309040032 +:10B790009DCF383C0DCF9837058B15EBBA27C843A2 +:10B7A000136707F0BAA79750FA1FE78040988357AE +:10B7B000440485072312F404832784119C43232C1B +:10B7C000F4108327441A81C7FD172322F41A5C382A +:10B7D00081CB8347C404898B81C72285EFC03F8C0E +:10B7E00083278901898B638707108347C404858B6E +:10B7F000638207101C3C85071CBC22859797FA1FA3 +:10B8000023A007F09750FA1FE780207C8547631F2D +:10B81000F5302285EFF04FFD8347C404898B638B9D +:10B82000072C5C386388072CA2850545EFA0A0147F +:10B83000E31D05DE1797FA1F032787841C43B7060D +:10B84000330093F7F7CF1CC31C4393F7F7CF93E76D +:10B8500007201CC31797FA1F032787841C47D58F1F +:10B860001CC7B70703001797FA1F03276782938740 +:10B8700087273CCB4C380345641491059770FA1F19 +:10B88000E78020AE9787FA1F83A7877F9843131717 +:10B89000772998C3D857719BD8D7930730FC7CA4DD +:10B8A0009797FA1F83C74791A1E3832704128DCF8F +:10B8B0007834058B15CBD443D0278C270A248906EE +:10B8C000EFE0006015E183270412BA27A384070084 +:10B8D000136707F0BAA79C432320F412835724046C +:10B8E00081C7FD172311F4045038834564140945BA +:10B8F0001106C9B32285EFC06FF8E31005F0228569 +:10B90000EFC0EFF21C3813F7870021CB782831C73E +:10B91000743805461387B6FF1377F70F637FE60287 +:10B9200045476369D7003727020011073357D7000F +:10B93000058B05E79307D003230AF40493077002ED +:10B940001CA88347C404858BE38907EA7C28E38627 +:10B9500007EA2285EFC0AFF94DB554340D47639F18 +:10B96000E6027C381307A002637FF7007C381D478E +:10B97000E389E7FCA306F4028327840A93E7170010 +:10B980002324F40A7DBF172701001307E76CB3C710 +:10B99000E7209C432285829771F965B7383805EF17 +:10B9A0001828C1466318D70093E717001CB88547CD +:10B9B0001CA815A0D5466315D70093E72700FDB74F +:10B9C000F1466314D7028327040A2308040093E78F +:10B9D00017002320F40A7C28ADD722859750FA1F40 +:10B9E000E7806051E31B05E0A9BF9306900563154E +:10B9F000D70A0347A41421CB83466414B316D02876 +:10BA00006306D70093E707011CB821A80346B414C6 +:10BA10002DEA7C2C99C78327040A93E7072023206B +:10BA2000F40A058B8357641E25C7938707FB2147BC +:10BA3000B3C7E7020357441EB3C70708B357F70A53 +:10BA40002307F404ADB70346B41411EA7C2CA5D344 +:10BA50008327040A93E707202320F40A89BF83463B +:10BA6000741493E70701B316D028E391C6F47C2C35 +:10BA700099C78327040A93E707202320F40A05DBEC +:10BA80004DB783467414B316D028E39DC6F6C5B7E8 +:10BA90009387C7FB114769BF930770066318F702C6 +:10BAA0001787FA1F0327C75D3C57ED9B3CD7979735 +:10BAB000FA1F238207C6371700401E2FC607C5830B +:10BAC0001EAF5C2493F7F7FD5CA4D5B5930750092E +:10BAD000E313F7F08347E41893E747002307F418CC +:10BAE000F9B51C2C85071CAC83D7E9008507239783 +:10BAF000F90021B31787FA1F032787581C43B7069D +:10BB0000330093F7F7CF1CC31C4393F7F7CF93E7AA +:10BB100007201CC31787FA1F032787581C47D58F98 +:10BB20001CC79C4013078A25B8CBA9B39780FA1F7E +:10BB3000E780E0129787FA1F83C7076895EF83278E +:10BB400004129DCB7834058B05CBD443D0278C27AA +:10BB50000A248906EFE0C03605E183270412BA27DC +:10BB6000136707F0BAA79C432320F41283572404D9 +:10BB700081C7FD172311F4042285EFD02F931C3CBD +:10BB800085C73D476379F7009305D0032285EFC051 +:10BB90009FD1A305A4029787FA1F83A7E75E89C7F1 +:10BBA00095451305600882971C2C99C783C7290502 +:10BBB00081C72285EFF0CFAF22852254B250925434 +:10BBC0000259F249624AD24A424BB24B224C924C41 +:10BBD00045616FC09FB99C40FC53E39007969780E6 +:10BBE000FA1FE780C0078327C90093F7070891C7AA +:10BBF00083D7290185072399F9002285EFD00F8B80 +:10BC00008327C90093F70708C5DBEF902E8D79BF16 +:10BC10001307300CE39BE7A083278900858BFDC3C6 +:10BC20009797FA1F23AC07AC8327040A858B85C737 +:10BC30009780FA1FE780A00203457402EF809EBB45 +:10BC400083454405FD57A303F4022285EFC0BFC519 +:10BC5000A305A40295B78355041E0356241E03456D +:10BC600074149105B3C505089770FA1FE7806095B5 +:10BC70008347C404978CFA1F938C8C40178CFA1F4F +:10BC8000130C0C42858BA1CBA2850145EF9030555A +:10BC900003A70C00B70633001C4393F7F7CF1CC370 +:10BCA0001C4393F7F7CF93E707201CC303270C002F +:10BCB0001C47D58F1CC79C4013078A17B8CB035667 +:10BCC000041E930740FC8345741411067CA40545AB +:10BCD00033460608C5B203A70C00B70633001C4361 +:10BCE00093F7F7CF1CC31C4393F7F7CF93E70720D5 +:10BCF0001CC303270C001C47D58F1CC79C4023A8DE +:10BD0000770575BF9C40FC53E399078239BA01114E +:10BD100006CE22CC26CA4AC84EC69784FA1F938400 +:10BD2000647ABC309789FA1F9389094803D7C90000 +:10BD3000A307F5023E3D130900322A84B387E702C8 +:10BD400037460F001306062481468145B3D72703E3 +:10BD50002326F5081305C0123305A702EF10311C86 +:10BD60002312A4082285EFC04FD603D7C9003E3C5A +:10BD70009306204E2285B387E702B3F72703B387E4 +:10BD8000D702B3C7E7021EB08357440886072311C2 +:10BD9000F408EFC04F8B2285EFC04FA66E3C228582 +:10BDA0009205F915B3C50508EFC02F862285EFD09F +:10BDB0001FD0E147A30AF4129787FA1F83A7872AA7 +:10BDC00023A0840A898B85C39784FA1F9384C4387F +:10BDD0009C5891CB83258409354582979C588325AF +:10BDE000C4093945829722856244F240D2444249CF +:10BDF000B2499787FA1F239E076C9787FA1F23ABD8 +:10BE0000076C05616FC01F8B411126C206C622C494 +:10BE1000AA84EFD03F9D19C52A842685EFC09FA62E +:10BE20002322A41AB240224492444101828041114B +:10BE300026C206C622C44AC0EFD03FACAA8431C98C +:10BE4000EFD05F9A2A8463000516C1473EA5930789 +:10BE500000FB7CA585471CA91789FA1F1309C92F68 +:10BE600083570901130740109305D0249507130544 +:10BE70000004B3C70708B3D7E70A33F5A70A97400A +:10BE8000FA1FE780A01D2328A41019E90A24EFD087 +:10BE90007FB4B24022440249268592444101828007 +:10BEA0009797FA1F83A7C788232AF4109787FA1F4A +:10BEB0009387476183A6470D03A7070D232ED40E52 +:10BEC0009433232CE40E89E61377F7F3232CE40E46 +:10BED000BA3F8326C40F0326840F2312E4142326BB +:10BEE000D41003C7A7048346E4022324C410A30488 +:10BEF000E41693E616FC0327440A2307D40283A61C +:10BF0000870C136607042322C40A37060002231392 +:10BF10000414F18E89C6136707052322E40A83C738 +:10BF2000270599C78327440A939767292322F40A90 +:10BF3000FD572310F4047EB02304F4028567938731 +:10BF400087BB2315F4042285EFC0AF900345490158 +:10BF50002301A414EF90903FD147A303F418930753 +:10BF60008002A302F4189307C04E231CF416930713 +:10BF7000F007230DF416F5779387A7EB231EF4162D +:10BF80008327C40FA301A4142300A418A300A4189A +:10BF900093F7070881C785472307F4189787FA1F87 +:10BFA00023960752FDB58544EDB5411106C6EF60F5 +:10BFB000407FEFE0DFEDB24097F7FFFF9387A75395 +:10BFC0001787FA1F2324F70A4101828078298947BD +:10BFD0006304F70005458280832745111307000499 +:10BFE000BC33A305F5021C2993F6B70F6396E60050 +:10BFF000930750041CA90DA0130750056390E70296 +:10C000008327050A93E707202320F50A85471CA903 +:10C010001C3993E707F81CB90145828013075006C5 +:10C020006395E7009307A006F1B713075008639BD9 +:10C03000E70085471CA98347A50293E7170023055E +:10C04000F502F9B7383559F7130700026386E700A0 +:10C05000130730026395E7009307600261BF13077F +:10C06000A007E399E7F6930710F869B778298D469A +:10C07000832745116311D706D423A305D502BC330A +:10C080006392E7023C35A1EB1C291307000263868B +:10C09000E700130730026395E700930760021CA9CD +:10C0A000014582807D476364F70235476375F70277 +:10C0B000C91793F7F70F4547636FF700172701007C +:10C0C0001307C7EFB3C7E7209C43BA9782871307CC +:10C0D0003002638BE706054582801C2913070004A4 +:10C0E00093F7B70FE39EE7FA930750044DBF182963 +:10C0F00093070003E311F7FE854755B71829930707 +:10C100000005CDBF182993075005E316F7FC8327D8 +:10C11000050A93E707202320F50A85471CA91C3947 +:10C1200093E707F81CB9ADBF182993075006E3142D +:10C13000F7FA9307A006A5B718299307A007E31CF1 +:10C14000F7F8930710F8A1BF182993075008E314D4 +:10C15000F7F885471CA98347A50293E71700230535 +:10C16000F50275BF782989476304F7000545828089 +:10C17000832745111787FA1F1307C7340346A704FF +:10C18000BC330347970493F6F7019983636AD7009A +:10C1900003478516218B09C73357F640058B0DE7FA +:10C1A0006947B317F028F18F2306E5028D8B13073B +:10C1B000000291E379478327850AA305E50293E707 +:10C1C00027002324F50A5DB718292307F516A306CF +:10C1D000D51685476317F700930760061CA901452C +:10C1E00082808327850A93E707402324F50AC5BF89 +:10C1F000B1475CB983270511C5CB0947A30AE504FC +:10C200008356E505035705048355050663E7E600F5 +:10C2100013865500998E6343D6029786FA1F83D6FC +:10C2200026350D4811466365D800850613F6F60FCE +:10C230002E972107A30AC504231FE50423810700C5 +:10C2400003475505B8B3034765050356850583566F +:10C25000A505D8A303576505F0A394A72183D8B3F8 +:10C2600013578600F8B313D7860098B70357C50550 +:10C2700093558700ACB78345E505B8A7CCA7835590 +:10C28000E505A181CCB72E3D81476399C500523D9C +:10C290006316D6007E3D998F93B717002311F506DC +:10C2A000C1471CA90145828005458280832705116D +:10C2B000094758B999CFB8A303474505B8B3834791 +:10C2C000A50293E787002305F502F1471CA9014564 +:10C2D00082801D45828085475CB98327051181CB0B +:10C2E0001547B8A39307B0021CA9014582800545F4 +:10C2F000828085475CB98327051181CB1947B8A394 +:10C300009307D0021CA90145828005458280894798 +:10C310005CB98327051191CB1D47B8A3832705116D +:10C320000347D5020145B8B3828005458280854721 +:10C330005CB98327051191CF2947B8A38347A5028C +:10C3400093E747002305F502930750031CA9014515 +:10C3500082800545828085475CB98327051181CBA2 +:10C360002D47B8A3930770031CA90145828005459A +:10C37000828099475CB9832705113147B8A3178795 +:10C38000FA1F13072714562BB4B3742BD4A3762BA0 +:10C39000A182D4B3142FF4A3183FF8B38347E50266 +:10C3A00013F7070401CF9307A0031CA98347E502F5 +:10C3B00093F7F7072307F50201458280858BFDD7A8 +:10C3C0008327050AA30505022307050293E707044F +:10C3D0002320F50AE1BF89475CB98327051191CB7A +:10C3E0003547B8A3832705110347B5020145B8B304 +:10C3F0008280054582808D475CB98327051199CBE2 +:10C400004547B8A30347C502B8B30347B502014582 +:10C41000D8A382800545828085475CB983270511B2 +:10C4200091CF4947B8A39307A0041CA98347A5024D +:10C4300093E747002305F502014582800545828088 +:10C4400085475CB98327051189C74D47B8A30145C6 +:10C4500082800545828083270511C5C7254758B9C5 +:10C460005147B8A30347051D8356251DB8B303479D +:10C47000151DD4B3D8A313D78600F8A30347451DD1 +:10C48000F8B30347551D98A70357651D135687003A +:10C49000B0A798B78345751409466383C502032680 +:10C4A00005109315B0286D8E01EE0566130686847F +:10C4B000B3D6C60AD4B333C6060893568600F4A38F +:10C4C0000346651489466303D602832605101316B6 +:10C4D000B028F18E81EE8566938686843357D70A1D +:10C4E00098B7B346070813D78600B8A78347A502B5 +:10C4F00093E747002305F502930700051CA90145B2 +:10C5000082800545828083270511C9C3254758B914 +:10C510005547B8A30347051D0356251D8566B8B3C7 +:10C520000347151D938686843356D60AD8A303473E +:10C53000451DB3450608F8B30347551D98A7035793 +:10C54000651DD0B313D685003357D70A98B7B346C5 +:10C55000070813D78600F0A3B8A78347C507A3052C +:10C56000050299C78327050A93E707102320F50AD8 +:10C570008327450A1317B0287D8F09C79397B748BB +:10C580002322F50A85471CA9014582800545828042 +:10C59000032705118D475CB9D9473CA38346451451 +:10C5A00034B383475514918A5CA30357651EA1C613 +:10C5B0009306F034814763FDE600930787E803574D +:10C5C000851405CB8587938757FD8D87B3C70708EB +:10C5D0000357451EB357F70A2307F5048347A502FF +:10C5E00093E747002305F502930750051CA9014571 +:10C5F00082808D87C9BF858B89CB130707FBA14735 +:10C600003347F702B3470708E1B71307C7FB914762 +:10C61000C5BF032705118D475CB9DD473CA38347A0 +:10C6200045143CB38346551454A30347B514F98FFE +:10C6300093F647000357651EA1C69306F034814761 +:10C6400063FDE600930787E80357851405CB8587CC +:10C65000938757FD8D87B3C707080357451EB35708 +:10C66000F70A2307F504930780051CA98347A50251 +:10C6700093E747002305F502014582808D87C9BFF6 +:10C68000858B89CB130707FBA1473347F702B347D5 +:10C690000708E1B71307C7FB9147C5BF95475CB9CA +:10C6A0008357050403270511E146A107B3C707080F +:10C6B0002316F51434A38346A51434B30346B514E6 +:10C6C000A30207002303070050A3832585144166B6 +:10C6D00063F3C50081475CB3A1837CA393F7460055 +:10C6E0000357651E95CF9306F034814763FDE6003E +:10C6F000930787E80357851415C38587938757FDEC +:10C700008D87B3C707080357451EB357F70A23079A +:10C71000F504930790051CA9014582808D87F9BF18 +:10C72000858A89CA130707FBA1473347F702B34736 +:10C730000708D1BF1307C7FB9147C5BF03270511E2 +:10C740008D475CB9E5473CA3834675148347651460 +:10C75000B317F028B397D7283CB3834715145CA3CD +:10C760008347A50293E747002305F50293070006D8 +:10C770001CA90145828089475CB98327051175474B +:10C78000B8A31787FA1F034717D4B8B39307500706 +:10C790001CA90145828089475CB983270511794727 +:10C7A000B8A30347F502B8B38327050A9397F72880 +:10C7B0002320F50A85471CA9014582801787FA1FA7 +:10C7C000032787D55C2393068005B387D7021457C8 +:10C7D00003270511BE96A5475CB9930700023CA349 +:10C7E0000356651E8357251EB297D05A9387C712EA +:10C7F000B3F7C70A3CB313D68700C18350A35CB319 +:10C800009C5E7CA313D68700C18370B31CA7DC2E6B +:10C810001CB7DC3E3CA79307C0071CA901458280DA +:10C8200091475CB98327051113073002B8A303476A +:10C830002517118B1DC7034745177D173317E028B0 +:10C84000B8B30147D8A303473514D8B38347A5022B +:10C8500093E747002305F502930750F81CA901450B +:10C860008280034775143317E028B8B30307F51720 +:10C87000D1BF0327051195475CB9930740023CA33C +:10C880008306351483079517958F93B7170086078E +:10C890003CB3030685176315D60093E717003CB336 +:10C8A0000306751750A38347651754B37CA38347CA +:10C8B0002517858B81CB19C68327050A93970729EE +:10C8C0002320F50A0145828091475CB98327051131 +:10C8D00013078002B8A31787FA1F0347C7C3B8B36B +:10C8E0002947D8A313072003D8B3930750F91CA9ED +:10C8F00001458280411126C28324051106C622C447 +:10C90000A1475CB9A1C483570504035705062A84CF +:10C9100093058512BA97A9072317F5128547BCA07E +:10C920001385340015469740FA1FE780A0A283477D +:10C93000E41201459CA48357E412A1839CB4D5471B +:10C940001CA8B24022449244410182800545D5BFD3 +:10C95000411126C28324051106C622C4B5475CB91D +:10C960009DCC91472A84BCA09305451C2146138584 +:10C9700034009740FA1FE780E09D1385B40011460C +:10C980009305C41C9740FA1FE780C09C93072002C0 +:10C990001CA80145B24022449244410182800545D1 +:10C9A000D5BFA5475CB9832705119DCF411122C48E +:10C9B00006C62147B8A32A84032505119305840FD1 +:10C9C00021460D059740FA1FE780C0988347A402CF +:10C9D000014593E747002305F402930700031CA8D1 +:10C9E000B24022444101828005458280832705119F +:10C9F000A9C3411122C406C6254758B9B8A32A8441 +:10CA0000032505119305840F21460D059740FA1F54 +:10CA1000E78040948327040AA3050402014593E7B5 +:10CA200007022320F40A85471CA8B2402244410192 +:10CA3000828005458280A5475CB9832705119DCF7B +:10CA4000411122C406C63947B8A32A84032505111B +:10CA50009305840F21460D059740FA1FE780808FCC +:10CA60008347A402014593E747002305F402930797 +:10CA700000031CA8B2402244410182800545828007 +:10CA8000411122C406C6E1472A845CB90325051179 +:10CA900041C9BD473CA18347440739053146A30A34 +:10CAA000F5FE8347540793058406230BF5FE834761 +:10CAB0006407A30BF5FE83576407A183230CF5FEDF +:10CAC0008347A405A30CF5FE8357A405A183230D7A +:10CAD000F5FE8347C405A30DF5FE8347D405230E59 +:10CAE000F5FE83574406A30EF5FE83476406230F25 +:10CAF000F5FE83576406A183A30FF5FE9740FA1F46 +:10CB0000E78040858347A402014593E7470023055A +:10CB1000F402930700041CA8B24022444101828021 +:10CB20000545DDBF411122C406C6E1472A845CB930 +:10CB30000325051151C1C1473CA18347440739056D +:10CB40003146A30AF5FE8347540793058406230B59 +:10CB5000F5FE83476407A30BF5FE83576407A183A3 +:10CB6000230CF5FE8347A405A30CF5FE8357A4050B +:10CB7000A183230DF5FE8347C405A30DF5FE83476E +:10CB8000D405230EF5FE83574406A30EF5FE834716 +:10CB90006406230FF5FE83576406A183A30FF5FEF9 +:10CBA0009730FA1FE780007B930740041CA80145DB +:10CBB000B2402244410182800545DDBF011122CCF3 +:10CBC00026CA4EC606CE4AC8930730025CB9930700 +:10CBD0000510804B7147AA8438A00347051583A927 +:10CBE000070638B00347151558A06389091C832729 +:10CBF00005090325C5081777FA1F1307E75A63E1EC +:10CC0000A71A3385A74083A7090A63EEA7183385BF +:10CC1000A740B7470F0093870724B335F502522783 +:10CC200081463305F502EF00912FB7C7030009676E +:10CC3000938747FC7D1763FBA7169307C012B35772 +:10CC4000F502F98F0547B3C707085CB01607A18343 +:10CC5000D98F138909087CA08327C90519469385B4 +:10CC6000690DA1837CB033C70708935787001CA4C4 +:10CC7000834709031305D4011CB4834719033CA45B +:10CC8000834729033CB4834739035CA40327490342 +:10CC90005C347D8B819BD98F5CB403C7F90D93F70E +:10CCA000F70FFD8B1607D98F5CB4834749017CA42D +:10CCB000834759017CB4834769011CA883477901E4 +:10CCC0001CB8834789013CA8834799013CB8834736 +:10CCD000A9015CA883D789089386170033C7060883 +:10CCE000218354B878A803C7040478B803C7140490 +:10CCF0001CBCA18318AC3CAC83C7F40203C7490D2C +:10CD00009607D98F03C7590D1207D98F3CBC83C72B +:10CD1000C90DFD17B317F0285CAC9730FA1FE780F8 +:10CD2000606383C7090EA9C71307B002D8B81307F9 +:10CD3000A00238A003470904A302E4020347190430 +:10CD40002303E40203472904A303E402034739044D +:10CD5000A304F4022304E40283C7190E2305F4029A +:10CD600083C7290EA305F40283C7390E2306F402F4 +:10CD700023A00416138704081C5301459397F72931 +:10CD80001CD383C70404A301F40283C71404230241 +:10CD9000F402F2406244D2444249B24905618280C1 +:10CDA0001447B697B9BD1447B69795B5F947B35729 +:10CDB000F502F98FB3C70708014741BD032945169E +:10CDC0000545E30809FC83A7040903A5C4081777F0 +:10CDD000FA1F1307673D63EEA7143385A740832727 +:10CDE000890963EBA7143385A740B7470F009387E2 +:10CDF0000724B335F502522781463305F502EF00CB +:10CE00001112B7C703000967938747FC7D1763F8C2 +:10CE1000A7129307C012B357F502F98F0547B3C79E +:10CE200007085CB01607A183D98F7CA083476908E7 +:10CE30001946930569037CB0835769081305D4012B +:10CE4000A1831CA48347090A1CB48347190A3CA484 +:10CE50008347290A3CB48347390A5CA40327490A5B +:10CE60005C347D8B819BD98F5CB483C7F4025834CA +:10CE700096077D8B5D8F58B40347C90878A4034794 +:10CE8000D90878B40347E90818A80347F90818B87F +:10CE90000347090938A80347190938B8034729097E +:10CEA00058A8035789089356870058B874A883C6B2 +:10CEB00004047D1774B883C6140418BC14ACB346BC +:10CEC000070813D7860038AC0347F907D98F034703 +:10CED00059031207D98F3CBC83470908B317F028C0 +:10CEE0005CAC9730FA1FE780E0468327C90A9DCFE4 +:10CEF0001307B002D8B81307A00238A09823A302E2 +:10CF0000E40298332303E402B823A303E402B83312 +:10CF10002304E402D823A304E402D8332305E40263 +:10CF2000F823A305E402FC332306F40223A204162B +:10CF300091B51447B69755B51447B6976DB5F947EF +:10CF4000B357F502F98FB3C707080147D9BD41119F +:10CF500006C6AD475CB983270511130790029305F8 +:10CF60007519B8A31385370029469730FA1FE78053 +:10CF7000603EB24001454101828083254511411147 +:10CF800022C426C206C6DC21B8312A84A207D98F62 +:10CF900005651387A7FF9306A5C7F944334707081C +:10CFA00063E4E60AF821D431130505C82207558F3A +:10CFB000F944636BE5086369F7089025F4312206AC +:10CFC000558E9306301F63E1C608B42503C895004B +:10CFD000A206B3E606016369D506130516003345BC +:10CFE00005083305F50213983600635F0505A8357B +:10CFF00019C1636BA7040358A4038144639C070110 +:10D00000631AF7000358C4036316C800663C958C86 +:10D0100093B41400231DC4042312A406231AF40697 +:10D02000231BE406231ED404DC35D8253146A20791 +:10D03000D98F2313F406B905130584069730FA1F18 +:10D04000E780403191475CBCB2402244268592443F +:10D050004101828079714AD00329051106D622D474 +:10D0600026D24ECE52CCDD475CB9630409108D4701 +:10D070002301F9002A84EF704EA99304541B2AC49B +:10D08000EF70AEA821462C002AC626859730FA1FDD +:10D09000E780402C8347741B0347641B9309D41B10 +:10D0A000A2074207BA970347841BBA970347541B4A +:10D0B0006207BA972324F40C0347A41B8347B41BCD +:10D0C0004207A207BA970347C41BBA970347941BAA +:10D0D0006207BA972322F40CEF702EA32AC41146DC +:10D0E0002C004E859730FA1FE780C0268347E41B4B +:10D0F0000347D41B2146A207D98F0347F41B93058E +:10D10000B41A1305390042075D8F8347041CE207F8 +:10D11000D98F232EF40C9730FA1FE780A023834782 +:10D12000441B0347341B21462306F900A305E900ED +:10D13000A6851305D9009730FA1FE780A0211305B3 +:10D1400059011146CE859730FA1FE780A02083470A +:10D15000A402014593E747002305F4029307000268 +:10D160001CA8B250225492540259F249624A4561B5 +:10D1700082800545FDB7411122C406C685475CB9CA +:10D180008345D5162A84032705110345E5168546F0 +:10D1900093176500CD8F3CA3ED473CB35C24034659 +:10D1A000C41693E707025CA4EF80B02693077006CD +:10D1B0001CA8B240224401454101828083274511C9 +:10D1C0001303000ECC23B433A205D58D938655FEF0 +:10D1D000B3C606086361D306F023D4331168220670 +:10D1E000558E930686EB13088814B3C6060863644D +:10D1F000D804942783C87700A206B3E61601938863 +:10D2000056FEB3C808086368130383C89700BC2799 +:10D21000A207B3E71701938887EBB3C80808636CCC +:10D220001801231CB51C231DC51C231ED51C231F40 +:10D23000F51C6FA01FCA05458280AA8728350547BF +:10D240006310E50AF42B3147639DE60803A74711F5 +:10D250003433A38AD70454335023A206D18E239BA0 +:10D26000D7046C337423A205D58D239CB7041037E3 +:10D2700014272206558E239DC70434372827A2067B +:10D28000C98E239ED704482758372207498FAA3FC3 +:10D29000239FE70401476319B500CE3F6396C5009D +:10D2A000FA3F158F133717002391E706982B930643 +:10D2B00000046300D702930640046314D7000547B7 +:10D2C00098AB983B9546D4BF136717F898BB0145B8 +:10D2D000828003C7A702136717002385E702C5B73B +:10D2E0000545828078298947631BF700832745110C +:10D2F000BC33230AF504F5471CA9014582801D456E +:10D3000082802A8728353DE5742BB5476394F6065D +:10D31000142B93070002639FF6048327471193059C +:10D320000708D433D023A2064206B296F023B29661 +:10D33000B0336206B296B4C194379027A206420673 +:10D34000B296B027B296F0336206B296D4DDD027FB +:10D35000B4372206558ED437FC27C206D18EE20799 +:10D36000D58FBCD11C3B93E787001CBB93073002D1 +:10D370001CAB8280054582803835AA8719EF682961 +:10D380000547631CE500942B130730026398E60001 +:10D390001307C00298AB0145828005458280AA87A9 +:10D3A000682905476318E502982B9306B0026319B4 +:10D3B000D7001307E00298ABA385070201458280DE +:10D3C0009306D0026319D7001307E002A385070272 +:10D3D00098ABEDB705458280782989476315F70634 +:10D3E000E947A305F502832745113947BC3363900C +:10D3F000E7021829930700036317F7048327050A38 +:10D4000093E707022320F50A85471CA979A0C517D1 +:10D4100093F7F70F51476368F702171701001307D7 +:10D4200067BEB3C7E7209C43BA97828783278510DE +:10D430001829F59B2324F510930700046315F700C2 +:10D44000930760041CA90145828018299307A00452 +:10D45000E31BF7FE85471CA98347A50293E7170046 +:10D460002305F5021C3993E707F81CB9832705103B +:10D47000C18BF1FB83278510BD9B2324F510E1B7F9 +:10D48000182993070005E310F7FC85471CA983279B +:10D49000050A93E707102320F50A1C3993E707F8DC +:10D4A0001CB955B7182993075005E31EF7F88327D1 +:10D4B000050A93E70720B9B7182993075006E31424 +:10D4C000F7F88327050A9397B7282DBF18299307E4 +:10D4D0005007E31AF7F68327050A9397F7281DB735 +:10D4E000182993075008E310F7F685471CA98347CE +:10D4F000A50293E717002305F50245B7AA8728354B +:10D500000547631DE500F82B631BA700982B6318E4 +:10D51000A7001307600398AB014582800545828010 +:10D52000AA8768290547631EE504982B93067003B4 +:10D530006314D70203C7A702238607049376070460 +:10D5400099C61377F7FB136707012385E7021307D3 +:10D55000800398AB01458280930650036314D70281 +:10D560001307800398AB03C7A702238607049376AB +:10D570000704EDD21377F7FB136707012385E70252 +:10D58000D1BF05458280782999476315F70883271D +:10D590004511B833A307E504D833D4232207558FA8 +:10D5A0002318E504F823FC331429A207D98F231983 +:10D5B000F5041307A0038347E5026392E604858B15 +:10D5C00099CB8327050AA30505022307050293E7E4 +:10D5D00007042320F50A8347A50293E717002305D4 +:10D5E000F50285471CA91C3993E707F81CB9834746 +:10D5F000E50293F7F7FB2307F50201458280939735 +:10D600004760E3D207FE8327450A93E707042322F6 +:10D61000F50AD1BF05458280AA87682905476310AE +:10D62000E50403A78710418B05CF982B6317A7004C +:10D630001307B00498AB014582809306A0046319D8 +:10D64000D70003C7A70288AB136717002385E7023B +:10D6500003A7870A1367070423A4E70AE9BF054560 +:10D660008280AA87682905476310E502942B130777 +:10D67000A004639CE60003C7A70288AB01451367BB +:10D6800017002385E70282800545828078298D472F +:10D690006315F71A1C39832645118D8B89EB0C29EC +:10D6A0002147938705FC93F7F70F6361F702D9478A +:10D6B0002306F5029307A002A305F5028327850A36 +:10D6C00093E727002324F50A014582803C35639ABD +:10D6D0000714930750056398F500D9472306F50210 +:10D6E00093073002D1BF9777FA1F9387A7DDD02227 +:10D6F00003C7A70383C7B703718F2305E514B432AB +:10D70000F58F83466514A305F514B318D028631468 +:10D71000170123050514034675143318C0286394B4 +:10D720000701A30505148347A5140347B514E9CFE2 +:10D7300045CB93F627009DCA1376270039C6930779 +:10D7400020202315F5148347A5146394F8002305BE +:10D7500005148347B5146314F800A3050514854721 +:10D76000639CF50A930760051CA9B9BF13F647002F +:10D770001DE6858BB9E785472305F51493772700C8 +:10D78000B9CB8947A305F5147DBF13F6470015C231 +:10D790001376470001EE858B8DEB8947F1BF137639 +:10D7A000470009E6858B95E39147F9B79307404019 +:10D7B00049BF858BFDD393771700E5D393071010EE +:10D7C00049B793761700FDFA45BF93771700FDF729 +:10D7D0009147E1F655B7118B85474DD791475DB716 +:10D7E00033D6C740058A01C623050515A9BF13F71F +:10D7F000270009C789472305F514B1B7918B99C351 +:10D800009147D5BF8547C5BF1DDFB356D740858A31 +:10D81000B5D6A305151505BF8327850A93E707101D +:10D8200055B585476396F500DC22A305F5141DBFA9 +:10D830008327850A93E7072071B5054582807429FF +:10D840000D47AA87639CE614142913075005054564 +:10D850006397E614A8376313051483C6471403C7F8 +:10D86000571403A6471133F8E6004C22631E080044 +:10D870006396B600034836006308E8002395071452 +:10D880001307700598AB8280ED8E2385D714303254 +:10D89000718F03C66714A385E714B318C028639477 +:10D8A00016012385071483C577143318B028631431 +:10D8B0000701A385071403C7A71483C6B71479C744 +:10D8C000D5C2137627000DC693F52600A9C113070C +:10D8D00020202395E71403C7A7146394E800238549 +:10D8E000071403C7B714E31DE8F8A385071449BF5D +:10D8F000937547009DE5058B39E705472385E714B8 +:10D9000013F7260039CB0947A385E714E9B79375C8 +:10D91000470095C193F5460081ED058B0DEB094756 +:10D92000F1BF93F5460089E5058B15E31147F9B77B +:10D930001307404079BF058B7DD313F7160065D3DD +:10D940001307101079B713F616007DFA45BF13F7C9 +:10D9500016007DF7114761F655B7918A0547CDD678 +:10D9600011475DB7B355B740858981C52385071534 +:10D970009DB79376270089C609472385E714A1BF81 +:10D98000118B19C31147D5BF0547C5BFA9D633D6DB +:10D99000C640058A35D6A385171535BF0545828053 +:10D9A000AA87283505476317E506F42B15476394C6 +:10D9B000E606982B930650056306D700930680056C +:10D9C000631BD70403C7A70283A54711136717007A +:10D9D0002385E702D0211147636BC702B431636826 +:10D9E000D7021307F6FF1388F6FF718F3378D8003C +:10D9F0003367070109EFF821C8312385C7142207CF +:10DA0000498F2396E714A385D7141305A00588AB87 +:10DA10000145828005458280AA87283509EDF42BCF +:10DA20000D47639AE600942B05476396E6001307BB +:10DA3000100698AB82800545828078298947631754 +:10DA4000F702832745111829BC332308F5028547BF +:10DA50006317F700930760071CA90145828083279D +:10DA6000850A9397B7282324F50AC5BF0545828008 +:10DA700078298947631AF702182993075007631317 +:10DA8000F70283274511BC332308F5028327050AD3 +:10DA90009397F7282320F50A85471CA91C3993E79B +:10DAA00007F81CB901458280054582807429154715 +:10DAB000AA8705456390E60C942B1307500805458B +:10DAC000639AE60A03A747113433A38AD71683065D +:10DAD0004700A38FD71603065700238DC716782358 +:10DAE000238FE71603C7271793754700A5C98946F3 +:10DAF000A389D71683A6070A6D9B2389E7169396F9 +:10DB0000062923A0D70A03C747189376170099CE92 +:10DB10009306F0076306D600136727002382E718F1 +:10DB200003A7070A1317172923A0E70A1777FA1F75 +:10DB300003477799A387E70203C747030145A38DEE +:10DB4000E716054798AB03C7A7021367170023859D +:10DB5000E702983B136707F898BB8280098B45D78B +:10DB6000DDD203A7070AA389A7161317072923A045 +:10DB7000E70A51BF8280782995476311F70A032786 +:10DB80004511BD463C3363E0F6069776FA1F83C61F +:10DB90003697FD8EA9CA742313F61700230DD516E8 +:10DBA00083065700A30FD51639C2814711A08547B8 +:10DBB0008507230AF5165C23A30AF5168347251764 +:10DBC00013F747001DCF0947A309E5160327050AE8 +:10DBD000ED9B2309F516131707292320E50A834730 +:10DBE0004503A30DF516014582808947D1B713D6A9 +:10DBF000174855FE13D627486DFA8D87CDDF8D4720 +:10DC000045BF898BE9DFE1DE8547A309F516832748 +:10DC1000050A939707292320F50AD1B70545828085 +:10DC200074291147AA870545639EE608B037054762 +:10DC300005456319E60883A64711A8326364A60266 +:10DC4000D822130810099305B7FF93F5F50F636BFE +:10DC5000B800CC329386B5FF93F6F60F6364D80014 +:10DC600063F1E5027947A385E70213078002238663 +:10DC7000E70203A7870A1367270023A4E70A0145E1 +:10DC8000828083A6C71093F60608F5DA83C6E718E4 +:10DC90006316C50293E616002387D7189306000A79 +:10DCA000A387E7183307D702B63F3347D70283D697 +:10DCB0000704850636972398E718D1B7D99A2387A2 +:10DCC000D71875BF828078299307B0026319F71CB3 +:10DCD0008357051E411126C206C622C44AC09306B8 +:10DCE000A002AA8463F3F61A1779FA1F032909859B +:10DCF0000545630D09188327C901B98B6398071877 +:10DD000003A4441119465C2C1387F7FF9375F70F92 +:10DD1000636DB6167D8F631A071603C7E414630696 +:10DD200007169028130700046313E60203A7040AEA +:10DD3000A385D4021367470023A0E40A1307200732 +:10DD400098A803C7A402136717002385E40293D79A +:10DD500017488507230EF90C3C3C19469305D4015E +:10DD600013F7F700230AE90C93D747481305690D09 +:10DD7000A30AF90C9720FA1FE780C05D5C349583F5 +:10DD8000A30FF90C78301C243438A30EE90C783436 +:10DD9000230FF90C7C242207A2065D8F1C28C207E2 +:10DDA000D98F183862075D8F93070908D8CB3828B8 +:10DDB000D98E58284207558F98CF3824143422071B +:10DDC000558F3434C206D98E58246207558F543487 +:10DDD00098DBFD8AD4DB03476402834654022207A2 +:10DDE000558F83467402C206D98E034784026207A8 +:10DDF000558FB8C3834794022300F90E8347A402CA +:10DE0000A300F90E8347B4022301F90E8347C4022D +:10DE1000A301F90E5C203830A207D98F2399F4149E +:10DE20007C205830FD8BA207D98F7820239AF414D8 +:10DE30009376070281CA1377070439EF9397E7288F +:10DE4000239AF4147C285838A207D98F239BF41402 +:10DE50001C2C7838A207D98F239CF4143C2C183C36 +:10DE6000A207D98F239DF414834744020347340249 +:10DE7000A207D98F239EF41483A7040A9397E72857 +:10DE800023A0F40A930710079CA80145B24022443E +:10DE900092440249410182807177D98F55B7054577 +:10DEA00082807829AD476318F702411106C683477F +:10DEB000E51883254511294693E707012307F5183F +:10DEC0008D05130575199720FA1FE780A048B24009 +:10DED00001454101828005458280782993073002FF +:10DEE000631EF7180357051E411126C206C622C439 +:10DEF0004AC093072002AA8463F8E7161769FA1F3D +:10DF00000329C9630545630209168327C901B98B33 +:10DF1000639D071403A4441199465C2C1387F7FFF3 +:10DF20001376F70F63E2C6147D8F631F071203C7D2 +:10DF3000E414630B07129428130700046395E602A8 +:10DF40001307A002A385E40203A7040A136747008E +:10DF500023A0E40A1307200798A803C7A4021367A5 +:10DF600017002385E40293D717488507230EF90C81 +:10DF70003C3C19469305D40113F7F700230AE90C3A +:10DF800093D747481305690DA30AF90C9720FA1F88 +:10DF9000E780403C5C349583A30FF90C1C24783057 +:10DFA000230FF90C7C34A30EE90C7824A207D98F37 +:10DFB000182842075D8F1C38E207D98F3838232A8A +:10DFC000F9083C2822075D8F5C28C207D98F232CD3 +:10DFD000F9083C241834A207D98F383442075D8FE2 +:10DFE0005C24E207D98F58342328F90A7D8B232A31 +:10DFF000E90A5C203830A207D98F2399F4147C20D9 +:10E000005830FD8BA207D98F7820239AF414937689 +:10E01000070281CA1377070439EF9397E728239AF9 +:10E02000F4147C285838A207D98F239BF4141C2C95 +:10E030007838A207D98F239CF4143C2C183CA207F3 +:10E04000D98F239DF4148347440203473402A20767 +:10E05000D98F239EF41483A7040A9397E72823A05B +:10E06000F40A930710079CA80145B2402244924449 +:10E070000249410182807177D98F55B70545828069 +:10E080007829E1476319F70C03278510411122C451 +:10E0900006C626C2098B2A84854719CF2435639C7E +:10E0A000F404EFE09FED1C28A305A402639C9700F5 +:10E0B000930710041CA88147B240224492443E8535 +:10E0C0004101828013070004639CE700930710045A +:10E0D0001CA88347A40293E717002305F402E1BFBD +:10E0E0008327040A93E727002320F40A1C3893E7C8 +:10E0F00007F81CB8C9B718390D8B19CF9307A002C0 +:10E10000A305F402BD472306F4028327840A93E79C +:10E1100027002324F40A45B718296317F700EFE016 +:10E12000DFE5A305A40269B793060002631ED700CA +:10E13000EFE0BFE4A305A4023DFD8327440A9397C3 +:10E14000F7292322F40A85BF93060004E316D7F6C5 +:10E150009307300275B785473E858280411106C618 +:10E1600022C426C24AC00349B500631B09067829A8 +:10E17000A5472A846316F7068327850FA18BADC3B5 +:10E1800093040510CC48214626858D059720FA1F5B +:10E19000E780401C9C40373778081307070D1306AB +:10E1A0000408D98F385ED4407D8F7C5E93E60601EB +:10E1B00098C4F58FDCC418288547631CF7009307C3 +:10E1C00010031CA8B240224492444A8502494101EE +:10E1D00082808327840A93E707012324F40ADDB7AA +:10E1E0000549CDB741114AC006C622C426C27829C6 +:10E1F000A54705496311F7061829930700032A84E8 +:10E200000549631AF70493040510CC482146268576 +:10E210008D059720FA1FE780E0139840B7377808FC +:10E220009387070D5D8F93070408B45FD040F98E84 +:10E23000F85F1366060194C4718FD8C4A305040265 +:10E2400098531367070298D31C3823082401014907 +:10E2500093E707F81CB8B240224492444A85024929 +:10E2600041018280411122C406C626C22A84283573 +:10E2700085476318F5067828A5476318F7041C2816 +:10E28000639AA70493040410CC48214626858D0583 +:10E290009720FA1FE780000C9C4037377808130757 +:10E2A000070D13060408D98F385ED4407D8F7C5E3D +:10E2B00093E6060198C4F58FDCC4930710031CA8ED +:10E2C0001C38014593E707F81CB8B2402244924439 +:10E2D000410182808327840A93E707012324F40AFB +:10E2E000C5B70545DDB7411122C406C626C22A843A +:10E2F000283585476311F5047828A1476318F7028C +:10E300008324441113058412154693853400972005 +:10E31000FA1FE78020049C3498240145A207D98F76 +:10E320002317F4121C3893E727F81CB8B240224494 +:10E330009244410182800545D5BF011122CC06CE11 +:10E3400026CA4AC82A8428358547631CF5107828D0 +:10E35000DD476312F7108324441121461305B41AD4 +:10E36000938534009720FA1FE780C0FEB834DC2480 +:10E37000A309E41A230AF41AEF503EF92AC4EF5015 +:10E38000DEF82AC621462C001305441C9720FA1FEC +:10E39000E78040FCFC34F8241305C41CA2074207A4 +:10E3A000BA97982811462C00BA97D8346207BA97C2 +:10E3B0002324F40CBC38B828A2074207BA97D828FF +:10E3C000BA9798386207BA972322F40C0347541C73 +:10E3D0008347641C4207A207BA970347741CBA9785 +:10E3E0000347441C6207BA972320F40C0347941C8C +:10E3F0008347A41C4207A207BA970347B41CBA97E5 +:10E400000347841C6207BA97232EF40AA2473747B2 +:10E4100003001307D73FB387E70237A72600130788 +:10E4200037ECBA973EC49720FA1FE780A0F2FC2889 +:10E43000D8380145A207D98FF83842075D8F9C2C48 +:10E44000E207D98F232EF40C8327C41C2320F40E5B +:10E45000930710021CA8F2406244D244424905616D +:10E4600082800545CDBF78299147631DF712411180 +:10E4700026C28324451122C406C6BC302A8481CB1F +:10E480001387F7FF7D8F01E73D476376F702930718 +:10E490000002A305F402930730022306F402832747 +:10E4A000840A93E727002324F40AB24022449244CA +:10E4B000014541018280D4301307E0076387E600FD +:10E4C00013F7170021C3814721A0F947D9B7854722 +:10E4D0008507230AF41683874400C9C3030534144F +:10E4E000A30BF4163307F5001375F50F6356F0020E +:10E4F0008307941763D6E702898FA30BF4160DA048 +:10E500008947F9B713D7174879F313D727486DFB15 +:10E510008D87F1D38D476DBF83078417E34EF7FCDA +:10E52000834774173E9513154560EF70806823018B +:10E53000A414EF70A06103473414A301A41433079B +:10E54000E540A30BE416EF70C0668347441703470A +:10E5500034142301A414A297A38FE716830744035E +:10E560008306C417014763D5F600958F13F7F70F9D +:10E57000230BE416DC300547230DF4161C286396A4 +:10E58000E700930760F81CA80DB7130750086396BF +:10E59000E700FD57230BF416EDB78327840A939702 +:10E5A000D72811B7054582807829A547631AF70453 +:10E5B000411122C406C61429130700052A84854781 +:10E5C0006394E602EFE09FBF0DE58327040AA305ED +:10E5D000040293E707102320F40A1C3893E707F896 +:10E5E0001CB885471CA88147B24022443E854101A2 +:10E5F00082808347A40293E717002305F402F1BF4A +:10E6000085473E8582807829A5476309F70005453F +:10E6100082800545B24022444101828083278510D3 +:10E62000411122C406C693F707022A84FDD3EFE006 +:10E63000FFB88547E30FF5FC18286317F700930729 +:10E6400010051CA80145F9B78327840A93E707083A +:10E650002324F40AC5BF05458280411106C622C4A1 +:10E6600026C22435F9E07829E1472A84631FF70A96 +:10E67000182993070004631AF70A832545110565D5 +:10E680009306A5C7D821BC3122075D8F9307A7FF4A +:10E69000B3C7070863E2F608FC21D431130505C8A7 +:10E6A000A207D58F636AF50663E8E7069025F43183 +:10E6B0002206558E9306301F63E0C606B42503C8B4 +:10E6C0009500A206B3E606016368D504130516009B +:10E6D000334505083305E50213983600634EA8025A +:10E6E000A83519C163EAA702231DC4042312A40696 +:10E6F000231AE406231BF406231ED404DC35D82594 +:10E700003146A207D98F2313F406B90513058406F1 +:10E710009720FA1FE78000C4930770041CA8B2403A +:10E72000224426859244410182808544CDBF05451F +:10E7300082800545828005458280054582800545A9 +:10E740008280054582805C25A30A0500F19B93E742 +:10E7500017005CA5032505111335150082804111B2 +:10E7600026C2AA8428490146814506C622C44AC059 +:10E770009740FA1FE78080B489470DEDA0482146F5 +:10E78000A14718203D8BB8B81430B4A86314C70251 +:10E790000349240099471357690009EF130719002B +:10E7A0001377F70FE5476397E60038308D47630A24 +:10E7B000F700C547B2402244924402493E854101D8 +:10E7C000828003A5040B1946930544001105972088 +:10E7D000FA1FE780A0C971DD19469305A4001385CF +:10E7E00064039720FA1FE78060C8C94761D53547A1 +:10E7F000E147E311E9FCEFD08FE3EFA0BFFE2A84ED +:10E8000071C183A6040BD850FC4401482324E508B9 +:10E81000984E9765FA1F9385C5DA13058513232053 +:10E82000E5F6D84A1769FA1F1309C9C92322E5F684 +:10E83000D83BA30FE5EEF83BF02B2207518F2310B6 +:10E84000E5F0983F902F2207518F2311E5F0B83F54 +:10E85000B02F2207518F2312E5F0D82FDC3F154649 +:10E86000A207D98F2313F5F0DC2E23220501A30E76 +:10E87000F5EE81471CC19720FA1FE780A0AD8547C0 +:10E880002300F41483C7040822852303F414A3038C +:10E89000F414EFD0CFC78327890D93F7072081CBDE +:10E8A0000A241306900293050008EF10502B8327CB +:10E8B000090D1167F98F99C70A245146930500087D +:10E8C000EF10F02983A7C40A0D47B8B78547DDB517 +:10E8D000397152D4176AFA1F130ACAE183270A034F +:10E8E000B706080022DC4ED666CA9759FA1F9389EC +:10E8F000297A976CFA1F938CECBC06DE26DA4AD88C +:10E9000056D25AD05ECE62CCF58F03A48C0503A7F5 +:10E9100009008DE77C5791C785471757FA1F2305D4 +:10E92000F764F2506254D2544259B259225A925A60 +:10E93000025BF24B624CD24C2161828093078007CC +:10E940000329C40A7CD39757FA1F238F0760834794 +:10E950009900032CC90092073E9C83472C0095CB5D +:10E96000834769009306204E03461C00B387D702F5 +:10E97000938787FD11CA83467900B386C6021306C2 +:10E98000D007B386C602B697B706080014C7860735 +:10E990007CD71C438D8B91C709459750FA1FE780A0 +:10E9A000A034175BFA1F130BAB6D83270B00975A2C +:10E9B000FA1F938AEA6E37063300D8573708008269 +:10E9C0007D18719B13671700D8D798431377F7CF3B +:10E9D00098C398431377F7CF1367072098C303A70B +:10E9E0000A001447D18E14C783A609003706030016 +:10E9F00013068625B0CA5057759A50D79043834561 +:10EA0000E407137606F893F5F5074D8E90C30305DA +:10EA10008406D0579375F503E605337606014D8ECF +:10EA2000D0D71306A003635CA628704FB705000774 +:10EA30004D8E70CF03270409D8C30327C40898C795 +:10EA40008327C40AB83785476313F72E832B040B3B +:10EA50000347990083C71B00631BF72C23A60606F8 +:10EA6000B70708009CC69767FA1F23AB07CADC42AA +:10EA7000154793E71700DCC26444930720021CB8D3 +:10EA800098A09CB083475403858B91E703474403C8 +:10EA900089476315F700930750049CA01946930516 +:10EAA0006403138524009720FA1FE780A08A83C798 +:10EAB0003B0089C79C2093E707F89CA019469385E3 +:10EAC0004B00138584009720FA1FE780A08883C736 +:10EAD0008B01FCA483C79B01FCB483C7AB019CA83A +:10EAE00083C7BB019CB883A74B0113D78700BCA881 +:10EAF000C183DCA8B8B80347040889476313F7004B +:10EB00008D47DCB803D7CB0083D7AB00BA9785839A +:10EB100013D7870098BC03C7EB009CAC8D83B8ACBF +:10EB200003D7EB008D072183B8BC03C70B01D8AC1A +:10EB300003C71B01D8BC1947B3D7E70AFCA8A183B8 +:10EB4000FCB883C7EC0FFCAC83C7FC0FFCBC83C7CD +:10EB50000C102380F40283C71C10A380F40283C727 +:10EB60002C102381F40283C7CB01FD8BA381F40217 +:10EB7000784483C73C00834637029607D58FA301AC +:10EB8000F7029757FA1F83C7675E83250B00B70606 +:10EB90000082FD16D8551396476093F7F703758FDB +:10EBA000E607D98FDCD51307A00383A70A006354B7 +:10EBB000C714F84FB7060007558FF8CF10388345B4 +:10EBC000040801459767FA1F23AC07B29740FA1F64 +:10EBD000E780C08483278A00858BC9C7975AFA1FAC +:10EBE000938A8A5C03D5CA009767FA1F23A807B0E7 +:10EBF0009307800F3305F50237460F008146130651 +:10EC000006248145EFE0B03183A70A00AA842E8B49 +:10EC10008297B307950033B5A700B305650183A6B6 +:10EC20008A003E8799E163E4D7003387D7400345E4 +:10EC3000040858D00146B9459740FA1FE78060980C +:10EC40000146814505459730FA1FE780207D9750A2 +:10EC5000FA1FE780C0008327CA00858B81C7228501 +:10EC6000EFF0FFAF8347990003474900850793F70B +:10EC7000F70FA304F90063F5E7329754FA1F938462 +:10EC8000A4529C28638E07268327C40A130770FAB0 +:10EC90001735FA1F1305C5D2B8A79720FA1FE780CA +:10ECA00020DA6254DC40F250D2544259B259225A0E +:10ECB000925A025BF24B624CD24C2161828713065E +:10ECC0002002635AA600704FB70500F9FD156D8E3E +:10ECD000B7050005B1BBB70500F96946FD156357D7 +:10ECE000A600704F6D8EB705000399B3704F6D8EFF +:10ECF000131686293DBB13072002635AC700F84F3D +:10ED0000B70600F9FD16758FB706000575B5B7068D +:10ED100000F96947FD166357C700F84F758FB706AE +:10ED2000000359BDF84F758F1317872979B5DC4259 +:10ED3000F99BDCC264449D47832B8C00834A3C00D2 +:10ED40001CA89CA08547A3810400BCA07C4893F725 +:10ED500007209DC79147BCB08347640B8346540B83 +:10ED600078449A07D58F5CA3BC2081468507BCA058 +:10ED70000346840B8345540B0345640BEF607069B5 +:10ED80007C4893F7074095CBB8307C44B420136798 +:10ED90008700B8B00357A408B697B8B3BC2078442E +:10EDA0008346F4073E978357A4089206A183BD8B40 +:10EDB000D58F5CA3BC208907BCA08347040693F7CA +:10EDC000070489CFB8307C44B42013670704B8B077 +:10EDD0005838B697B8B3BC208507BCA08347C40792 +:10EDE0000547C11793F7F70F6362F706BC20032BA3 +:10EDF000C40415468D073E9BA1472300FB009307E3 +:10EE00008002A300FB009755FA1F9385857B1305AD +:10EE10002B009710FA1FE780E0538346C407414751 +:10EE2000835784086395E60CA1072311F408C547AE +:10EE3000230EF40683472408A303FB00835724080A +:10EE4000A1832304FB00BC20A507BCA0638C0B009E +:10EE5000BC20684456868D07DE853E959710FA1FC4 +:10EE6000E780404FB82001459377F7038507BE9AA6 +:10EE700093FAFA0FA3085401B8A07C44A380570169 +:10EE800083A709007844B8DF1038834504089767E2 +:10EE9000FA1F23A707869730FA1FE780205897505C +:10EEA000FA1FE780C0DB83A709003707020023A20F +:10EEB000070698C71767FA1F2326078403472C0005 +:10EEC000E30207DAFC57E38F07D81735FA1F13055B +:10EED000A5C19720FA1FE780809103A709007C57FE +:10EEE000FDFF01459720FA1FE7806090A5BB0357FF +:10EEF0002408B307F7400947E34EF7F2C9470DBFAF +:10EF0000975AFA1F938ACA0683A70A0082972A8B08 +:10EF100083A70A008297E30D65FF034759008347E3 +:10EF200099009444B387E702DA24B387E702130712 +:10EF3000003293870719B3D7E702032744093E97A6 +:10EF40003A846364F7006364D7003304D74083A72F +:10EF50000A008297B307A4406374A4009844BA9748 +:10EF600037450F0013050524B3B5A702D224814607 +:10EF70003385A702EFE0A07AAD472A841705000089 +:10EF800013054595232EFA009720FA1FE780208667 +:10EF900083A7090037070800060498C7E0D751B2D5 +:10EFA0008327C900884719ED1C2468002307010046 +:10EFB000DC868327C40ADC23DC87EF407FA6230599 +:10EFC000090085B29710FA1FE78060160327C90071 +:10EFD00083464900814763C5D7001C47EDF3E9B775 +:10EFE000232407008507C5BF5D714EDE9759FA1FC0 +:10EFF0009389090A03A60900A2C452DC5ED686C61C +:10F00000A6C2CAC056DA5AD862D466D26AD06ECEC8 +:10F01000930780077CD29757FA1F238707F4175A64 +:10F02000FA1F130AEA0583270A00975BFA1F938BDE +:10F030002B07B7053300D8572A84719B1367170035 +:10F04000D8D798431377F7CF98C398431377F7CF60 +:10F050001367072098C303A70B001447CD8E14C76E +:10F06000B70603009386862534CA5457F59A54D7B9 +:10F070008345E507944393F5F50793F606F8CD8E9F +:10F0800094C35442F99A54C283058506D457370570 +:10F09000008213F6F5037D156606E98ED18ED4D76E +:10F0A0009306A00363D0B62A744F37060007D18EAB +:10F0B00074CF130704085447184B9305300294C7C4 +:10F0C000D8C305459757FA1F23AC0762EF50FEB926 +:10F0D00064449D471CA8230FA4069CA08547A381D8 +:10F0E0000400BCA07C4893F707209DC79147BCB0A3 +:10F0F0008347640B8346540B78449A07D58F5CA3EF +:10F10000BC2081468507BCA00346840B8345540B75 +:10F110000345640BEF60F02F7C4893F7074095CBD5 +:10F12000B8307C44B42013678700B8B00357A408F4 +:10F13000B697B8B3BC2078448346F4073E9783570C +:10F14000A4089206A183BD8BD58F5CA3BC20890740 +:10F15000BCA0B020035744089307D00F918F1759D4 +:10F16000FA1F1309293663DFE720034704088547A0 +:10F170006316F7209307804279479387371AB3C7FE +:10F18000E70283464907C16593E60601230AD906CB +:10F1900083A609008CC63387E7020607B8D2B830C9 +:10F1A00013670701B8B078448346E407329734B355 +:10F1B000B420784436975CA3B8207C44BA970347C0 +:10F1C00004081607D8B3BC208D07BCA083470406EB +:10F1D00093F7070489CFB8307C44B4201367070441 +:10F1E000B8B05838B697B8B3BC208507BCA08347E1 +:10F1F000C4070547C11793F7F70F6362F706BC20F2 +:10F20000832AC40415468D07BE9AA1472380FA00BD +:10F2100093078002A380FA009755FA1F9385653AF9 +:10F2200013852A009710FA1FE780C0128346C4078F +:10F23000414783578408639EE614A1072311F4080D +:10F24000C547230EF40683472408A383FA00835797 +:10F250002408A1832384FA00BC20A507BCA0035680 +:10F260004408814A21C2B82068448325840A930750 +:10F2700037003E95BC30C18B63860712F95AB38ABA +:10F28000EA4093FAFA0F56869710FA1FE780800C2F +:10F290008327840AD6973CDC83574408B3875741B9 +:10F2A0002319F406B8200145056B9377F70385070A +:10F2B000BE9A93FAFA0FA3085401B8A07C44130D28 +:10F2C0008007B70D3300A380570183A70900784456 +:10F2D000B70A0300938A8A25B8DF103883450408EB +:10F2E0001D4C854C9730FA1FE78040139750FA1F4A +:10F2F000E780E09603270A00130B8B843C57ED9BB5 +:10F300003CD79757FA1F23880740371700401E2F16 +:10F31000C607C5831EAF83474907C18BD9EB22853A +:10F320002644B64096440649F259625AD25A425B84 +:10F33000B25B225C925C025DF24D61611743FA1F81 +:10F34000670083869306200263DAB600744F37069F +:10F3500000F97D16F18E3706000591BB370600F9DE +:10F36000E9467D1663D7B600744FF18E3706000369 +:10F370003DBB744FF18E939686291DBB856793879D +:10F380008784DDBB8347490793F7F70E230AF90605 +:10F3900035BD03572408B307F7400947E345F7EAAB +:10F3A000C94745B59710FA1FE780C0FA834A440859 +:10F3B000D5BD8347490793F70702E5DF8347490730 +:10F3C00003A6090093F7F70C230AF9062322A607E0 +:10F3D0009757FA1F238A07B883270A00D857719BCB +:10F3E00013671700D8D798431377F7CF98C398437C +:10F3F0001377F7CF1367072098C303A70B001447B1 +:10F40000B3E6B60114C7232856055457F59A54D7C6 +:10F4100098438346E407137707F893F6F607558F6A +:10F4200098C364442308840123808401A3810400D9 +:10F43000238194017C4893F7074095C7A147BCB04E +:10F440007C440357A408D8A3BC2078448346F4071F +:10F450003E978357A4089206A183BD8BD58F5CA3EA +:10F46000BC208907BCA0B020035724079307E00FF6 +:10F47000918F63D3E70603470408DA876314970183 +:10F480009307804279479387371AB3C7E7028346C9 +:10F490004907C16593E60601230AD90683A6090038 +:10F4A0008CC63387E7020607B8D2B8301367070166 +:10F4B000B8B078448346E407329734B3B420784434 +:10F4C00036975CA3B8207C44BA9703470408160714 +:10F4D000D8B3BC208D07BCA00356240781470DCEAE +:10F4E000B82068442C5C930737003E95BC30C18B34 +:10F4F000A5C3F957998F93F7F70F3E863EC697102D +:10F50000FA1FE78020E5385CB2473E9738DC0357A6 +:10F5100024071D8F2319E406B420014513F7F603D1 +:10F520000507BA9793F7F70F1CB8B4A078441CB33B +:10F530001038834504089757FA1F23A3071C9730F8 +:10F54000FA1FE780A0ED9740FA1FE7804071E1B312 +:10F550009710FA1FE78000E0834724072319040669 +:10F5600065BF8347C50763850740797122D406D6F6 +:10F5700026D24AD04ECE52CC49472A84639CE70219 +:10F5800003572508835785086316F7021305050AF4 +:10F5900015469755FA1F9385C5022AC69710FA1F7C +:10F5A000E78040DB3245EFA0CFCB9147A300A40812 +:10F5B000230EF40622859720FA1FE78060F20945A2 +:10F5C0009740FA1FE78040720327C40A1759FA1FB1 +:10F5D0001309099A8347C407832609006303072098 +:10F5E0000D47639AE70C9147230EF4067C4893E796 +:10F5F00087007CC89757FA1F9387C7EC03C7570744 +:10F60000098B6DDF03C757071377C70FA38AE70678 +:10F6100082969757FA1F938727B9D627035764080E +:10F62000232AA4089C473307D70293060032130706 +:10F6300007193357D702B306E500368663E4A60000 +:10F6400063E4F6003386F640232CC4089756FA1F6D +:10F6500083C616B2636ED604158E9306D407A285B0 +:10F6600017050000130525F09730FA1FE7802029C1 +:10F67000AD4717F5FFFF1305E5251757FA1F232997 +:10F68000F7089710FA1FE78080169757FA1F83A78D +:10F6900027A00947F8D783578408B25092548507AA +:10F6A0002314F40822540259F249624A45618280C7 +:10F6B000958F3E965DB78329840982969754FA1FE9 +:10F6C000938484AE63E6A9043385A9409757FA1F53 +:10F6D00083C717AA63E5A700854763EEA702DA246C +:10F6E000835764089044B387E70213070032938777 +:10F6F0000719B3D7E702032784093E97BA866364E4 +:10F70000F7006364C700B306C740232CD40861B771 +:10F710009C44BE9955BF8326C40AA3840600D22404 +:10F7200083576408032784098C44B387C7021306F0 +:10F730000032232AE40893870719B3D7C7023E97FC +:10F740003A866364F7006364B7003306B7409C28C9 +:10F75000232CC40899CF930770FABCA61725FA1F6B +:10F76000130505269710FA1FE780802DDC4082974D +:10F770001DB7832709008297AA89832709008297EA +:10F78000E38DA9FE8327090083294409829763E753 +:10F79000A904AD471757FA1F232CF7F6B7470F00F8 +:10F7A000938707243385A940B335F502D2248146D7 +:10F7B0003305F502EFD0B0769757FA1F83A7478D30 +:10F7C0003707080098C70605E8D717F5FFFF1305A8 +:10F7D00065109710FA1FE780800175BD9C44BE99A3 +:10F7E0004DBF0D47639EE7089147230EF4067C4802 +:10F7F00093E787007CC89757FA1F9387A7CC03C766 +:10F800005707098B6DDF03C757071377C70FA38A05 +:10F81000E70682969757FA1F93870799D6270357CB +:10F820006408232AA4089C473307D70293060032B2 +:10F83000130707193357D702B306E500368663E48A +:10F84000A60063E4F6003386F640232CC4089756DE +:10F85000FA1F83C6F6916362D602158E9306D4070B +:10F86000A28517050000130505D09730FA1FE78021 +:10F8700000092285EFF04FF739BD958F3E96F9BF0D +:10F880008296AA84832709008297E38DA4FE8327AA +:10F890000900832484091759FA1F1309E9908297F4 +:10F8A00063EEA4023385A4409757FA1F83C7578C91 +:10F8B0008359C90063E3A70015E58357640813075C +:10F8C000003203268900B387370393870719B3D71C +:10F8D000E702032784093E97BA8615B58327890076 +:10F8E000BE94C9B79757FA1F83C717C593E7170088 +:10F8F0009754FA1F938404BDA38AF406174AFA1F8B +:10F90000032A0A79B70708002324FA00B7470F0033 +:10F9100093870724B335F5024E8681463305F502F9 +:10F92000EFD0F05F06052326AA0683C75407898B0C +:10F93000EDDF83C75407130700320326890093F7CE +:10F94000C70FA38AF40683576408B38737039387E6 +:10F950000719B3D7E702032784093E97BA86636481 +:10F96000F7006364C700B306C740232CD40811B75F +:10F970008280411126C2AA84284922C401462E84CD +:10F98000850506C69730FA1FE78040933DEDBC48D9 +:10F990001D4621459423BD8AB4B89833B8A8639D09 +:10F9A000C604B423114513D6660093F6F60363F537 +:10F9B000E604194531E27D17158F58B0B833454537 +:10F9C0009376270095EA9376470085EE9107930694 +:10F9D000F00F34A093768700514599EE9376070196 +:10F9E000554599EA137507021DE11377070493063D +:10F9F000F00711C3942314A0B24022449244410161 +:10FA00008280D42395078D8AE9B70945F5B7594512 +:10FA1000E5B797070000938707B51757FA1F232B01 +:10FA2000F7B0828001458280411106C6EF909FDBCE +:10FA3000B240133515000605410182806FF0DFFEEC +:10FA4000411106C6EF901FDA05C10357C50583565D +:10FA5000A50503566507835545070A25EFA06048AD +:10FA60000145B240410182800945E5BF011113758E +:10FA7000F50F06CEEF707FE129C99757FA1F83A7CC +:10FA8000E7B193F707209DC302C402C202C08148B8 +:10FA90000148814701478146054681451305C0035A +:10FAA000EFA0A0440145F240056182808346D50362 +:10FAB0001307E50302C08148014881470546814597 +:10FAC0001305C003EFA00040F1BF0945E9BF9757F8 +:10FAD000FA1F9387279F03A7C708094529CB83A748 +:10FAE000870D011106CE93F707208DC302C402C211 +:10FAF00002C081480148814701478146014681454E +:10FB0000EFA0A03EF24001450561828083580702C4 +:10FB10000358A7018357070583465707014602C0CC +:10FB20001307670781450945EFA0C039E1BF82800F +:10FB3000011106CE22CCEF90FFCA25CD3035054706 +:10FB40002A849757FA1F9387E7976312E604F853BE +:10FB5000094515CB03460403834657048358E40341 +:10FB60000358C4033E3C0E240345B4021307670444 +:10FB700032C00546EFA000357C34A30504020145E0 +:10FB800093E717007CB4F24062440561828003A7CA +:10FB9000C70809456DDB834657078358E4030358BC +:10FBA000C4033E3C0E240345B4021307670702C09A +:10FBB000D1B70945C9BF397106DE22DC26DAEF90DC +:10FBC0007FC271C938352A849757FA1F9387878F68 +:10FBD0002DEBE4530945ADC0194681450810970047 +:10FBE000FA1FE780A07D1946814528109700FA1F6B +:10FBF000E780C07CC167FD178358A40383C6540403 +:10FC000030340E240345B4023EC89C2413088102FC +:10FC1000138764043EC6834704033EC47E3C3EC251 +:10FC20005E3C3EC01C10EFA0C02E7C34A305040235 +:10FC3000014593E717007CB4F2506254D25421611D +:10FC40008280A45F0945EDD81946814508109700C8 +:10FC5000FA1FE780A0761946814528109700FA1F01 +:10FC6000E780C07583D7240D8358A40383C6540549 +:10FC700030340E240345B4023EC89307F00F3EC64D +:10FC800002C47E3C13088102138764053EC25E3CB9 +:10FC90003EC01C1049BF094545B7397106DE22DC5C +:10FCA00026DA4AD8EF901FB4630F051434350547A0 +:10FCB0002A849757FA1F9387E780639AE60AE453EA +:10FCC0000945C1C083C744041946898BC9C38C58F0 +:10FCD000BC25B5CFB10528089700FA1FE7808067DB +:10FCE00083C75404138964041946898BA5CBCA853C +:10FCF00008109700FA1FE780E0658C5819469105B7 +:10FD000028109700FA1FE780E064834704038358B4 +:10FD1000A40383C6540430340E240345B4023EC405 +:10FD20007E3C1308010238103EC25E3C3EC03C08D7 +:10FD3000EFA0A01B7C34A3050402014593E7170044 +:10FD40007CB4F2506254D254425921618280814580 +:10FD500028089700FA1FE780606659B781450810A8 +:10FD60009700FA1FE78080651946CA8551BF83A4B2 +:10FD7000C7080945F9D483C744061946898BB9CF0A +:10FD80009385640628089700FA1FE780A05C83C764 +:10FD90004407138964071946898BA1CBCA850810CB +:10FDA0009700FA1FE780005B83A5440819462810D6 +:10FDB00091059700FA1FE780E05983A74408BC33F8 +:10FDC00093E72700A38AF4068358A40383C6540745 +:10FDD00030340E240345B40202C499B78145280883 +:10FDE0009700FA1FE780805D5DB708108145970096 +:10FDF000FA1FE780A05C1946CA8528109700FA1FF1 +:10FE0000E7804055D1B709452DBF797122D426D25C +:10FE100006D6AA84EF901F9D1744FA1F032404728C +:10FE200039C5AA8709451DCC83D7271519469305DF +:10FE3000640D7C8685477C878357440D130521011B +:10FE4000A3040100FC8064859700FA1FE7808050BE +:10FE50008327C40D28003ECC8327040E3ECEEFA09E +:10FE600000120145B25022549254456182800945E6 +:10FE7000D5BF011122CC06CE2A84EF90BF963DC19A +:10FE80008347B502034745176083DC8283473517F4 +:10FE9000D8845C8495EF83477517030795175C86B4 +:10FEA000830735145C85631CF7008947DC854800AF +:10FEB000EFA0C00C0145F240624405618280030757 +:10FEC00085176314F7008547D5B7A3050100C5B7AB +:10FED0008347A5175C8583475517DC858347F5174E +:10FEE0005C86F1B70945C1BF011122CC06CE2A8438 +:10FEF000EF905F8F29C58307A517C08421804085B7 +:10FF00001307F0076389E70203474503998FDC85F0 +:10FF10008347451813F707010DE393F7070293B7DB +:10FF20001700850728005C86EFA020050145F240F8 +:10FF3000624405618280FD57DC858147E5B709454C +:10FF4000FDB7797122D426D206D6AA84EF909F8974 +:10FF50001744FA1F0324845E21C5AA87094505CCEE +:10FF600083D7271519469305640DFC808547FC81CE +:10FF70008357440D13056101A3060100FC826487C9 +:10FF80009700FA1FE780003D8327C40D68003ECE2E +:10FF9000EF90707E0145B2502254925445618280A8 +:10FFA0000945D5BF411106C6EF90DF8311C98345CE +:10FFB00005140A25EF90F07B0145B2404101828093 +:10FFC0000945E5BF9375F50F01112E8506CE22CCAC +:10FFD0002EC6EF709F8B05C1834605072A84B24564 +:10FFE000082D0546EF9070780145230C0400F2407F +:10FFF0006244056182800945DDBF411106C6EF906C +:0200000260009C +:100000009076B240014541018280411122C406C66A +:100010001744FA1F03248452094509CC0355240DC3 +:10002000EF9030740325C40C9307F00F2319F40CE0 +:1000300011E50145B2402244410182809700FA1F38 +:10004000E780E00EA304040CEDB79747FA1F83A7DF +:10005000E74E99CB41111385070D06C6EF90F06F5F +:10006000B24001454101828009458280411106C6A6 +:1000700022C4EF902FF705C9834675140346651413 +:100080000E252A840345B5028506050693F6F60F6C +:100090001376F60FEF90506A0145A3050402B240B3 +:1000A0002244410182800945DDBF411106C6EF901F +:1000B0006FF305C10357251E8356051E0356651EA3 +:1000C0008355451E0A25EF9010620145B24041015B +:1000D00082800945E5BF411106C622C4EF908FF02A +:1000E00015C52A840357C5058356A505035665071C +:1000F000835545070A25EF90905E1C38014593E72C +:1001000047001CB8B2402244410182800945DDBF4E +:10011000411106C6EF900FED05C18347451B03460D +:10012000351B9305B51A0A25A2075D8EEF90F05A8C +:100130000145B240410182800945E5BF411106C633 +:1001400022C4EF902FEA05C10E252A84130605105C +:100150000345B502EF9030580145A3050402B240B3 +:100160002244410182800945DDBF411106C622C4F7 +:10017000EF904FE705C50357C5058356A505035600 +:1001800085050E252A840345B502EF90905401455C +:10019000A3050402B2402244410182800945DDBF2B +:1001A000014582800145828001458280014582802F +:1001B000014582800145828001458280014582801F +:1001C000014582800145828001458280014582800F +:1001D00001458280014582800145828001458280FF +:1001E00001458280014582800145828001458280EF +:1001F000411106C622C4182193060008AA8763137A +:10020000D70218319306C002054563E3E60497E67A +:100210000000938626EF3347D720AA23184302977E +:1002200001453DA09306100805456313D702983396 +:10023000E9466309D71063E5E604B1466303D70EC8 +:1002400063ECE60095466304D706A146630AD70A25 +:10025000B240224441018280CD46E31BD7FEAA234F +:10026000EF904FD82A8429C90356450419C60E2594 +:100270000545EF90104423120404A30804024DB76F +:10028000930670056309D70C9306F00FE30AD7F8BD +:1002900093060003E31ED7FAAA23EF90AFD42A8473 +:1002A00001CD0E250345B502EF90304185A8AA2364 +:1002B000EF904FD32A8419E1094559BF03278511CF +:1002C0000DC7835745048507B3C7070818433E8603 +:1002D0008507B3C707087DFB2312C40419C60E2483 +:1002E0000545EF90103D231204040345B402034674 +:1002F00044050E24EF90B03A2285EF908FBE0DB7E3 +:10030000AA23EF902FCE2A8445D90346C5040E2593 +:100310000345B5023336C000EF90B038A3050402A0 +:1003200001B7AA23EF900FCC2A8459D5035725058E +:10033000835605050346F5040E250345B502EF90E7 +:100340009036E9BFAA23EF90EFC93DD50345B5022A +:10035000EF907036F1B5AA23EF907036D1B5011148 +:1003600022CC37E400E026CA04404AC84EC652C434 +:1003700006CEB70720002A892E8AB289FD8C232059 +:10038000F4180F10000011459700FA1FE780C0EC29 +:100390001DC523004501A30035012311250123209C +:1003A00094106244F240D2444249B249224AAA859A +:1003B0001745FA1F0345F5D705616F309EEA2320E4 +:1003C0009410F2406244D2444249B249224A114553 +:1003D0000561828041114AC037E900E026C28324CA +:1003E000090006C622C4B7072000FD8C2320F91897 +:1003F0000F100000EF900FBF11E92320991009455D +:10040000B24022449244024941018280832705126E +:10041000230D05002A84A9CF78340A25058B11EF16 +:100420000A24014693050008EFF07FF329C5B7E7DA +:1004300000E023A097100145E1B7D443D0278C27D3 +:100440008906EF90F02715E183270412BA27A384C9 +:100450000700136707F0BAA79C432320F4128357C1 +:10046000240481C7FD172311F40483270412CDFB54 +:10047000231104046DBF85473CAC55BF411122C414 +:1004800006C62A849747FA1F83A7071089E7B24058 +:1004900022444101828063848700DC5FC5BF3C2425 +:1004A00099C79305C4001305A401EF50DFE73C286A +:1004B000F9DF930544011305A4022244B24041012F +:1004C0006F507FE6AA862E86AA85170500001305C1 +:1004D000C5006F406E94411126C29744FA1F938461 +:1004E00064FE83A7440C22C406C62A8491E7B24066 +:1004F000224492444101828063848700DC5FFDB71F +:100500003C2499C79305C4001305A401EF50BFE133 +:100510003C2899C7930544011305A402EF50BFE09E +:1005200022852244CC58B240924441016FF09FF999 +:1005300001114AC81749FA1F1309C9F822CC03242C +:10054000490C26CA4EC652C456C206CEAA84014AD7 +:1005500093094500854A65E09305202513050004AD +:100560009700FA1FE78080AF2A841D4545CCBC3038 +:10057000194693854400130544003CB09700FA1FC8 +:10058000E78040DD938AA401414681455685970066 +:10059000FA1FE780C0F579E19309A401D6854146A9 +:1005A0004E859700FA1FE78020F185473CA43C3038 +:1005B0009305C4004E8593E727003CB4EF50BFD6A7 +:1005C0009384A4024146814526859700FA1FE7805F +:1005D00000F241E99307A402A6853E854146BE8408 +:1005E0009700FA1FE78040ED85473CA83C30930513 +:1005F0004401268593E727003CB8EF50DFD2A300E3 +:100600000400832549032285EFF0DFEB631E0A0413 +:100610002322890C232E04028347090C01458507F8 +:100620002300F90CF2406244D2444249B249224AC2 +:10063000924A056182803830BC306305F700228A17 +:10064000405C11BF4146CE85130544009700FA1F58 +:10065000E780C0E1E31555FF4945E9B723050400EC +:1006600085B72309040061BF232E8A0265B74111B3 +:1006700022C426C206C64AC01744FA1F0324C4F087 +:10068000FD5419ECB24022449747FA1F23AE07EEFF +:100690009747FA1F238807EE92440249410182805E +:1006A0000820EF402E950329C40304A0228597005B +:1006B000FA1FE780C0A74A84E9B79747FA1F9387D4 +:1006C00067E02380070C23A2070C6F509FCF4111D6 +:1006D0004AC01749FA1F1309E9DE26C28324890795 +:1006E00006C622C483C7D404858BA9CB83472900BF +:1006F00049459DCF19469745FA1F938505EB13850C +:10070000E4049700FA1FE780E0C48547BCB49CB8B6 +:10071000BCB8BC28094798A4C1CBEF305EA28327A0 +:1007200089052A8485C79307004063EFA7001D450C +:10073000B2402244924402494101828019469745C1 +:10074000FA1F938525E665BF130405C08357C90AC0 +:1007500081CF1747FA1F130727A01E2B7837B387BF +:10076000E702E3F687FC1D8CEF305EA68D4733541D +:10077000F4023355A40A1181334505082391A404DA +:100780005DD512059305E024334505089700FA1F4F +:10079000E780C08C03D62404E8C02A871308F6FF3C +:1007A000814763CBC704A8C483C704021744FA1F58 +:1007B000130404980D472830639CE704F228BE38E0 +:1007C0003E969145EF307EF1283091459720FA1FF3 +:1007D000E780A023923C19CA938614031206A685CB +:1007E00017250000130545FAEF301EE39747FA1F5F +:1007F000238A07CC01452DBF63D907019306070162 +:10080000B6850CC38507368769BFBA868145D5BFD3 +:1008100009476394E700B2386DB7F2285DB741111C +:100820009305E0261305800E22C406C69700FA1F22 +:10083000E780C0822A843DC91306800E8145970057 +:10084000FA1FE780A0B79747FA1F23A987CE230591 +:100850000400230404009747FA1F9387A7E9985FD1 +:10086000DC5F78D83CDCFD571EB8A30EF406A3006D +:10087000F408970700009387C7E53CD4972700004A +:10088000938707B77CD497270000938707A13CD8AC +:100890009747FA1F83C7479291EB8D451735FA1F8B +:1008A0000325057D9700FA1FE780C0F5B240228539 +:1008B000224441018280411122C406C626C28347D8 +:1008C000C5052A84A5C79305E50519461305E50462 +:1008D0009700FA1FE78080B9AA8429E91C28898B30 +:1008E000A5E39747FA1F83C7F7BD85CF8347D40594 +:1008F0008DCB834734061307000493F7070C6392EC +:10090000E7021305C4059710FA1FE780C05168D0AD +:1009100009C98947230EF4048347D40493E72700C9 +:1009200089A80347C40589476316F7008347440530 +:10093000A1E78544B2402244268592444101828049 +:100940008347D405E5DB834734061307000493F798 +:10095000070CE391E7FE9747FA1F83C7B7B6F9D7AD +:100960001305C4059710FA1FE780E04B68D0F957CC +:100970004DF1A30EF4045DBF9747FA1F83C797B4E8 +:10098000CDDB8347540513054405A9CB8347B40544 +:100990001307000493F7070C6392E7049710FA1FFC +:1009A000E780E04468D051D593046405A6851946D4 +:1009B00051059700FA1FE780E0996C508D47230A94 +:1009C000F404BC311946910593E72700A30AF40407 +:1009D00026859700FA1FE780E097A1BF9710FA1FBE +:1009E000E780203C68D031D58947230AF4043C29AC +:1009F000A9D38D47230AF4040431B33490001DBFFA +:100A0000034745051DC31829AA870545058B05C35E +:100A1000E84BAC4F411106C69710FA1FE780805A89 +:100A2000B2403335A000410182800545828082803A +:100A3000797122D406D63C292A84BDC30357050404 +:100A400083572504637EF7049710FA1FE78020413F +:100A500085476307F5000145B25022544561828005 +:100A60005C341D4728446394E700834784025CA1FB +:100A7000834754051946930564055CB18347940286 +:100A800019057CA13E341EA59700FA1FE780808CD3 +:100A90008357040485072310F4043C449C433CC45E +:100AA000584CA1674834F98FE1C7994763E7A70419 +:100AB0007C2413075002E360F7FA97D60000938670 +:100AC000A66F3345D5201841369702874D4723043A +:100AD000E4027D57E917A304E402231F0402A306DE +:100AE00004022307F40211A8930750F11EB4231F38 +:100AF0000402A306040223070402034EE402014396 +:100B000063090E007C2403238407B387C741890748 +:100B10003E93034584028346C4020347D4028347BD +:100B2000940203083402835EE4038345540583087A +:100B300054018506137F45001AC872C61306640562 +:100B400093F6F60F63030F021303E4051AC403437D +:100B5000D4051AC276C0EF90603E0545F5BD414709 +:100B6000BDB76D47ADB749479DB702C402C2DDB7F7 +:100B700085476316F5041747FA1F0327279C182B90 +:100B80008345540583075401098B1306640515C377 +:100B90008346D40599CE0347340613050004137722 +:100BA000070C6318A7001307E4050545EF9080388C +:100BB0006DB7014781460545EF90603179BF7424D8 +:100BC00093075002E3E9D7E889476307F50099479F +:100BD0006315F500094511A00D45E91693F6F60FCA +:100BE0002307D402014799C2385C210783075401C7 +:100BF0008345540513066405C1B7411106C622C4D6 +:100C00002A849730FA1FE7808005930700FA3CA4F6 +:100C1000A1451735FA1F0345D551EF301EB41747CC +:100C2000FA1F1307278A1C237628850793F7F70FE7 +:100C30001CA3130700643347D70263C8E700EF40E3 +:100C4000EE899747FA1F238F0786B240224441015D +:100C50008280411122C406C6B1475CA57C590D476C +:100C60002A8498A35C25785993F7F7031CB383472C +:100C7000D50423060504898BA1C383474505898BC9 +:100C8000A1C76C5189ED6C50BC299DCB68581946A1 +:100C9000D105210597F0F91FE780C06B15A0BC2591 +:100CA000FDD389472306F50468591946B10509059E +:100CB00097F0F91FE780006A83474405898BE1F7C5 +:100CC0008347C404898B91EB685819469305E40463 +:100CD000090597F0F91FE780E067034744058D4752 +:100CE000630BF7006858194693056405210597F0D2 +:100CF000F91FE78020668347D404858B91E703477B +:100D0000C40489476317F70078581C2393E7070446 +:100D10001CA383475405858B91E7034744058D4702 +:100D20006317F70078581C2393E707F81CA358347F +:100D30009D474C24631EF70003455402930760FA55 +:100D40003CA42244B24041011713FA1F67006361BB +:100D5000930720FA3CA40145EDB7411126C2973410 +:100D6000FA1F9384E4318C409747FA1F23A6079813 +:100D700022C49747FA1F23AF079606C6D855973760 +:100D8000FA1F83C7A73EB7060082FD161396476079 +:100D900093F7F703758FE607D98FDCD51307A00308 +:100DA0002A849737FA1F83A7A72F635EC704F84FDB +:100DB000B7060007558FF8CF2285EFF09FE97858E6 +:100DC0009737FA1F83A7C72C2285B8DF9C4098432A +:100DD0001317772998C3D857719BD8D7EFF05FC501 +:100DE0009710FA1FE780E04A9747FA1F83A7C7903A +:100DF000858BB1C79747FA1F23A00790B2402244C2 +:100E000092444101828013072002635AC700F84FC1 +:100E1000B70600F9FD16758FB706000561BFB70666 +:100E200000F96947FD166357C700F84F758FB7067D +:100E3000000349B7F84F758F13178729ADBF930784 +:100E400000FA3CA465BF797122D4930555012A8428 +:100E5000285D014626D206D69710FA1FE780004685 +:100E6000894463140518305C9D46A1441C22BD8B47 +:100E70005CB4183278A4639AD7163C22914493D676 +:100E8000670093F7F70363F2E7169944639F06142C +:100E90009305F7FF9D8D93F5F50F2307B4022832D4 +:100EA000C5449376350063920614937645006397A4 +:100EB000061093064600FD1793F4F70F937785000D +:100EC00095CB9C328348940213D847006396081749 +:100ED0000568130808F083C80600A207B3F70701E6 +:100EE0000358A402B3E717016318F814F91489062C +:100EF00093F4F40F418935C19C220965130505F06F +:100F000093F7F7032302F402BC22A207E98F883289 +:100F1000C98F939757607EB08DCF038506006353CA +:100F2000050A1305C01203485402B387A7020545FA +:100F3000631CA8082D070A07998F138547ED13082E +:100F40004051034784026374A8081367070423040D +:100F5000E402F5148D0693F4F40F3C3213F7070204 +:100F600071EF93F7070499C79C22FD1493F4F40FD3 +:100F7000A301F402F1E40346E4027C24385C8346D6 +:100F8000C402918F8907BA9732C63EC802C402C212 +:100F90007E3C850693F6F60F3EC083085401030895 +:100FA0003402834794020347D40283455405034522 +:100FB000840213066405EF80707805A89306560036 +:100FC000F917DDBD794585B729070E07B5B74A3C46 +:100FD000AA951735FA1F0355E552635EB5001367EE +:100FE00007042304E40293040002B250225426852D +:100FF000925445618280136707022304E402173785 +:10100000FA1F1307E70808434EBC4C4513981549CF +:10101000232605010F1000001843370502009387AF +:1010200057ED08C7130500081738FA1F232CA86CC2 +:1010300086077CD34CC731BFD14445BFD94475B76F +:10104000E14465B75D71A6C2B7040300A2C4CAC07B +:101050004EDE52DC56DA5AD85ED686C61734FA1FF0 +:101060000324C44D1739FA1F13098902370A0200F5 +:101070009739FA1F93890968930A0008173BFA1FEA +:10108000130B0B00973BFA1F938B8B0193848415F2 +:1010900083270900F8537DFFD44713971649D8C713 +:1010A0000F1000000327090093072030B705330015 +:1010B0002324470123A859017CD354C79737FA1F2B +:1010C00023AA07628347840293F7F7F92304F40203 +:1010D0009737FA1F23AA07629737FA1F23AE0760D4 +:1010E00085471CC383270B00944393F6F6CF94C324 +:1010F000944393F6F6CF93E6062094C383A60B00A1 +:1011000090464D8E90C624CBD856759BD8D6984322 +:1011100083464402137707F893F6F607558F98C372 +:101120009710FA1FE780E0169730FA1FE78020B388 +:1011300083A70900858B89CB22859737FA1F23ABBC +:10114000075AEFF05FD031C5930700FA3CA403457E +:1011500084028346C402830854011375F5F91365AC +:1011600005042304A40203083402834794020347BE +:10117000D4028345540502C802C602C402C2723CAE +:10118000850693F6F60F32C013066405EF80105BF8 +:1011900009A8834784021307000293F70706638DAB +:1011A000E700B640264496440649F259625AD25A9C +:1011B000425BB25B6161828038249307500AE30985 +:1011C000F7EC71B75971A2D4930555012A84285DB3 +:1011D000014686D6A6D2CAD0CECED2CCD6CADAC8DE +:1011E000DEC6E2C4E6C2EAC06EDE9710FA1FE780F0 +:1011F000E00C094759ED032B84071D46130700082F +:1012000083460B00BD8A54B483471B007CA46392C1 +:10121000C60883442B00114713DC640023048403B5 +:1012200093F4F40363F7F406138714006376F7006E +:1012300089461947630FDC04FD17858F2307F402E5 +:1012400083473B0013094B00858B9DE7FD148347C3 +:101250003B0093F4F40F898BC5CB0347C4053C5C7A +:101260006300071689469C236318D7069397476047 +:1012700063C90706494731A8834744051305640538 +:101280008DCB1946CA8597F0F91FE780201E454788 +:1012900021E1B650265496540659F649664AD64A74 +:1012A000464BB64B264C964C064DF25D3A85656131 +:1012B00082808547230AF40483470B001946CA85B8 +:1012C00093D76748A30AF40497F0F91FE7808008D2 +:1012D0001309AB00E514A5BF0347D4059D83E31BA9 +:1012E000F7F81946CA851305E40597F0F91FE7805A +:1012F000E01749D183478402E914190993E74700AD +:1013000093F4F40F2304F4022285EFF0CFDA25479B +:1013100049D183463B0093F7460089C7FD14050970 +:1013200093F4F40F93F7860095CB83471900834518 +:101330009402514713D64700E39DC5F40567130790 +:1013400007F0A207F98F03470900D98F3A346303E6 +:10135000F7003EB4F914090993F4F40F93F706016A +:10136000C1C35547E3170CF2834709000967130708 +:1013700007F093F7F7032302F40283472900A2073B +:10138000F98F03471900D98F939757607EB00307F1 +:101390000900635507006177D98F7EB07E30F51460 +:1013A0000D0993F4F40F93F6060299C7834784025C +:1013B00093E707022304F40295EA231F04029DA881 +:1013C0000547230EE4049C231946CA859D83A30E7A +:1013D000F4041305E40597F0F91FE780A0F719BF9F +:1013E00093F60602F9DA5947E3150CEA4946CA852D +:1013F000680897F0F91FE780E0F5BC8709477EBCD5 +:101400005C4CB98B6394E70283472408858B638324 +:10141000071A9739FA1F83A9291393056405054A0A +:101420006390090C8347C407639B0710B9144909EB +:1014300093F4F40F83473B0093F7070489CB83476A +:101440000900FD140509A301F40293F4F40FC9C0C7 +:1014500013062003A54505450347190083470900E6 +:10146000631BC7046399B7040347C4076315A70444 +:1014700003473900834629002207558F83464900D8 +:10148000C206D98E034759006207558F2320E40C0A +:10149000034769002300E40E03477900A300E40E2C +:1014A000034789002301E40E03479900A301E40EDA +:1014B0000947230EE40663FD970013871700B387DF +:1014C000F440FD171377F70F93F4F70F3A99C9F427 +:1014D0002285EFF0EFD28547630FF52E054755BB08 +:1014E00003C74900834794026313F70C83475405ED +:1014F00003C75900858B631CF70A194613856900D9 +:101500002EC697F0F91FE78060F6B2456311450BD0 +:1015100083479402A308040C2319440D230AF40CF6 +:101520008347540519461305640DA30AF40C97F07C +:10153000F91FE78020E22320040E230E4407925770 +:10154000A2561305040B13D757001D8BA30FE40CF1 +:101550000347540213968601A1820507230EE40C6B +:101560007A3CA30EE40C2183230FE40C13D78700ED +:10157000598E1307040814CF8356C10250CBFD8B3C +:101580002314D40882565CDB14DBEF808FCD034735 +:10159000D1018967A307A40893760702F249FD17D2 +:1015A000A1EEB3F9F900F947B389F90295A083A92F +:1015B0000900BDB50347440D83479402E314F7E6E1 +:1015C000834754050347540D858BE31DF7E4194603 +:1015D000930564051305640D97F0F91FE78000E992 +:1015E0008547E311F5E4A308040C2319A40C232078 +:1015F000040E230EA406A1B7B3F9F900137707046C +:101600009307C012B389F90201C7B7872500BE99B5 +:101610008346540205477C246397E618AD078A0782 +:10162000B389F940B7074B00138749ED938777DA01 +:10163000E3EEE7DE973BFA1F938B0BB703D5CB00A6 +:1016400037460F008146B3A5A902130606242300DE +:10165000040833053503EFC0800C83A70B002A8AEA +:10166000AE8A8297B307450133B5A700B30555018C +:1016700083A68B003E8799E163E4D7003387D74088 +:101680009737FA1F83A7C78E2320E40A8297130790 +:10169000204E33CDE9029737FA1F23AFA79C83D79B +:1016A000EB00B74D0F00938D0D249387471F173A1A +:1016B000FA1F034AFAAB83DCCB008146814566867C +:1016C000B3C7FD02B30AED023305BA03135A1A0079 +:1016D000B3DAFA02EFC0A004930600321307204EDB +:1016E0006686B387AC03AA9AB3F7D7028146B3875D +:1016F000E702B3C79703B335BA03B3C70708BE9A67 +:101700003305BA03EFC0A00156956371350BD2893A +:10171000B3B55C03032A040A37460F002326540B93 +:1017200013060624814633855C03EFB0507F636C5B +:10173000AA083305AA402322A40A0345D407930725 +:10174000F00F6304F500EF30EE8A8327440A173563 +:10175000FA1F0325A5DF63EC37073386374183275C +:10176000C40D03D7CB009306D407A183B3C70708E2 +:10177000B387E70213070032A2859387071933D78F +:10178000E7029710FA1FE78080170347D4079307F3 +:10179000F00FE30DF7C8FD572319F4085C4C93E7ED +:1017A00047005CCC61B1A9078E079DBD37153D0090 +:1017B00066868146130505908145EFB05076B38A61 +:1017C000A9408D49B1B783A78B003E9A9DB703A767 +:1017D0008B00BA9759B78947631CFC007C34858B12 +:1017E00081CB8347440589C71C38DDC3FD171CB86E +:1017F0009720FA1FE780A0462285EFF06FA383476A +:10180000840293F70702E38B07CC7E30139757606F +:1018100063540708CE07CD831307C0120346540252 +:101820008546B387E7027824631AD6062D070A0790 +:10183000998FB7064B00138647ED938686DA130718 +:101840001002E3E8C6A413070064E369F7C817377A +:10185000FA1F1307E78310435446939516494CC665 +:101860000F100000184337060200938757ED10C78A +:10187000130600089735FA1F23A6C5E886077CD310 +:1018800054C7930750FA3CA48347E4025EBCB9B145 +:101890002285EFF08FCC99B1794749B729070E0718 +:1018A00041BF9737FA1F83A767C9D84F39469305B9 +:1018B0000008459BD8CF13074004A388E70C0145D7 +:1018C0006FE0FFA9411122C4930555012A84285DC8 +:1018D000014626C206C64AC09710FA1FE780009E3E +:1018E000894435E5032984079D469304000803478E +:1018F00009003D8B58B4834719007CA46319D704B1 +:10190000034784029944136787002304E4020347D2 +:1019100029009376F70319831DEB13871600914472 +:101920006377F702FD17958F2307F4028347390089 +:1019300093054900858B8DCF834644050D4783472A +:1019400009006392E61293F7070489EBC544B2409D +:1019500022440249268592444101828068501946FA +:10196000510597F0F91FE78060B09305A90079DD74 +:1019700083473900C94413F7270071FB230E040481 +:1019800013F74700CD4461F793F407026391041401 +:1019900013F7870005C398318566938606F0220702 +:1019A000758F94218905558F3AB403C7F5FF1183CC +:1019B000A304E402C18BB9CF9C210967130707F088 +:1019C00093F7F7032302F402BC21A207F98F9831A1 +:1019D000D98F939757607EB003870500635F070830 +:1019E0001307C012034654028546B387E7027824E2 +:1019F0006317D6082D070A07998F138747ED9306BB +:101A0000405163F1E6088347840293E70704230407 +:101A1000F4028D058347390093F7070481C79C21A1 +:101A2000A301F402030744013C38634CE0088547F6 +:101A30005CA82C380545EF304EA308B82285EFE0AE +:101A40003FFF8547E315F5F0834784021307000243 +:101A500093F70706E39DE7EE930750FA3CA483470C +:101A6000E4025EBCEDB50347540593D76748E31F16 +:101A7000F7EC194613056405EDB57947A5B72907B5 +:101A80000E079DBF1727FA1F1307876010435446A0 +:101A90001395164948C60F10000018433706020078 +:101AA000938757ED10C7130600081735FA1F232B2D +:101AB000C5C486077CD354C78347840293E70702D3 +:101AC000B9B7858399C33CB8ADB78547EDBFD94455 +:101AD000BDBD011126CA9724FA1F9384645C984007 +:101AE00022CC4AC84EC606CE5C571729FA1F1309E6 +:101AF00029599729FA1F9389A959F59B5CD7032780 +:101B00000900834645021734FA1F1304A4BE1C4380 +:101B100093F6F607014693F707F8D58F1CC3B7C7AE +:101B2000898E938767ED1CC7B75755009387575524 +:101B30005CC303A709009305F00F5C4393E717000C +:101B40005CC3930710FA3CA503455502232004000B +:101B50009710FA1FE780E0A683A60900232A040055 +:101B6000032709002322040085479CC21C43370633 +:101B7000330093F7F7CF1CC31C4393F7F7CF93E7DA +:101B800007201CC39840F24062441C47D24442499B +:101B9000D18F1CC7B707030093878715BCCAB2490A +:101BA00005618280411106C622C4FD572308F50253 +:101BB000834715022A842301F502A147A300F502F9 +:101BC00035459720FA1FE78020122285EFF07FF03D +:101BD0009727FA1F9387C74B984354471396164984 +:101BE00050C70F1000009C433707020098C7130727 +:101BF00000081736FA1F2327E6B00567130727A842 +:101C0000F8D3D4C7930740FA3CA4B2402244410120 +:101C10008280011122CC930555012A84285D01465A +:101C200006CE26CA4AC84EC652C49700FA1FE7809D +:101C3000E06863130542832984071307F00783C60E +:101C40000900BD8A54B483C71900A301E402230A22 +:101C5000040493F7F7037CA4230E04041D47639B3D +:101C6000E632544C1167758F631A073E03C9290089 +:101C70009374F903138714006394E73E13596900C2 +:101C80002304240383C73900138A490013F717007C +:101C900051CB6319093CC18B91C703471402894793 +:101CA0006302F73C8547230AF40483C70900D28501 +:101CB000194693D7674813056405A30AF40497E00F +:101CC000F91FE780206983C73900E514138AA9004A +:101CD00013F7270093F4F40F25EB83C7390013F7AC +:101CE00047006313073893F60701A18BC5C38347E9 +:101CF0001A000567130707F0A207F98F03470A00C8 +:101D0000D98F3EB483471A009183A304F402FD5790 +:101D10002301F402C1E6F914090A93F4F40FA306AF +:101D20000402F9A0FD1413F7270093F4F40F55D71C +:101D3000630C09008D44F24062444249B249224A90 +:101D40002685D24405618280C18B91C70347140266 +:101D50008947E301F7FE8547230EF4043C5CD285F6 +:101D600019469C231305E405E9149D83A30EF4048E +:101D700097E0F91FE780005E83478402190A93F415 +:101D8000F40F93E747002304F40281BFFD57A30437 +:101D9000F4022301F402C1D6D54471BF9720FA1F83 +:101DA000E780E0EB83472A000967130707F093F702 +:101DB000F7032302F40283474A00A207F98F03477F +:101DC0003A00D98F939757607EB003072A00635576 +:101DD00007006177D98F7EB083474A000947958312 +:101DE000A302F402E36AF7FAED14150A93F4F40F70 +:101DF00083C7390013F70702631A072613F707048E +:101E000005C313F7070111C783461402094763810D +:101E1000E62603470A00FD1493F4F40FA301E4023D +:101E2000639A0424631A09022285EFE0DFA819E10E +:101E3000A54411B72285EFE0BFBC7DD983C7390027 +:101E4000C18B95E39720FA1FE78060E12285230785 +:101E50000402EFE0FFBD89B7C18B91E79720FA1F1D +:101E6000E780E0DF15BF8347540272302306040287 +:101E70008507A306F4029317566063D1070E4E063A +:101E80004D829307C012034714023306F6028547BA +:101E90006316F7007C24A9078E071D8EB7074B0039 +:101EA000130746ED938787DA63E8E71C9307005032 +:101EB00063E8C70A9724FA1F9384841D9C40D8477F +:101EC00093161749D4C70F1000009C40B7060200B4 +:101ED0001739FA1F1309098294C7130656ED9306A2 +:101EE00000082328D9000606F0D3D8C7F8537DFF91 +:101EF0008347140222852301F402A147A300F402C0 +:101F0000EFF03FBD9C40D84793161749D4C70F1038 +:101F100000009C40B70602009304000294C7930699 +:101F200000082328D9009306A032F4D3D8C797001D +:101F3000FA1FE780003683270900858BE38D07DED3 +:101F400022856244F240D2444249B249224A97274C +:101F5000FA1F23A1077A05616FF0CFA6F94725B7CD +:101F6000034704039307F00F93041002E315F7DC13 +:101F7000930710271306F6D83356F6029306040388 +:101F8000A28517050000130525C29304F007EF2072 +:101F9000AEE855B3130770043357D700058B93048D +:101FA0000008E30A07D8E91793F7F70F7D47E364C2 +:101FB000F7D88544230A940483C7090019469385FA +:101FC000290093D7674813056405A30AF40497E032 +:101FD000F91FE78020385C34230E040463919702D4 +:101FE0002C5C230EF40419469C211305E405A1057D +:101FF0009D83A30EF40497E0F91FE780A0352285A6 +:10200000EFE07F8B8547AA84E314F5E22285EFE0B9 +:102010003F9FE31F95E05C3481C71947639CE7004D +:102020006434858881C88347440589C71C3889CFB3 +:10203000FD171CB89720FA1FE78060C258349147FB +:102040006318F7009D44C5B92285EFE01FD1E5B1C3 +:102050002285EFE0FF9DFDB78944F1B9A144E1B9C4 +:102060009144D1B9C544C1B9CD44F1B1D944E1B12C +:10207000DD44D1B1E144C1B1930410026DB9411105 +:1020800022C4930555012A84285D014626C206C64E +:102090009700FA1FE7808022894429E12C5C7D4764 +:1020A00091449C31230E040493F7F7037CA4E917B1 +:1020B00093F7F70F6364F7029C211147A144BD8B8E +:1020C0005CB4639DE700834644050D479C21AA84C8 +:1020D0006395E60493F7070481EBC544B2402244BC +:1020E0002685924441018280685019468905510530 +:1020F00097E0F91FE78080376DD1030744013C3832 +:102100006348E00285475CA82C380545EF20FEB502 +:1021100008B82285EFE0DF91D1B70347540593D784 +:102120006748E31CF7FA1946890513056405C9B722 +:10213000858399C33CB8C9BF8547EDBF011122CC47 +:102140001724FA1F1304045B584C26CA06CE4AC84B +:102150004EC695479724FA1F83A4443E6306F700B2 +:10216000584C8D47631FF7008347140281E793079C +:1021700060101EB0F2406244D2444249B249056147 +:1021800082805C4C1729FA1F130989F08327090004 +:1021900037070200194523A2070698C79727FA1F99 +:1021A00023A207569729FA1F938989ED9720FA1FD2 +:1021B000E78080B303A70900B7C7898E938767EDCF +:1021C0001CC7B7575500938757555CC383C7240274 +:1021D0001307F00F6387E700A380F402FD57238104 +:1021E000F4020327090001469305F00F5C43014503 +:1021F00093E717005CC3930710FABCA499475CCC23 +:102200009727FA1F23A8074E1724FA1F130444E93F +:102210009700FA1FE780E03A18405C57F59B5CD7BF +:1022200083A6090098349C421377F70793F707F8C1 +:10223000D98F9CC29727FA1F83C707F889CB172528 +:10224000FA1F0325E5E297E0F91FE780405A03A74C +:102250000900B70633001C4393F7F7CF1CC31C4398 +:1022600093F7F7CF93E707201CC318401C47D58F7F +:102270001CC703270900B7070300938787153CCBCA +:102280009727FA1F23A207489727FA1F23A6074676 +:1022900085471CC3C5B5411122C406C626C21724F2 +:1022A000FA1F0324A42903471402A1476301F70C72 +:1022B0009726FA1F83A6C6459947639AF60A89446A +:1022C0001C34631B970A13077002638AE710130715 +:1022D0005002930570026394E700930560020CB40A +:1022E0009727FA1F83A7C7D998433706CEFF7D16D5 +:1022F0001377F7CF1367071098C31727FA1F032721 +:1023000027DA14471725FA1F032585D83708330025 +:10231000F18E14C73706030030C99726FA1F23AB86 +:10232000063C9726FA1F23A1063E9726FA1F23A5EF +:10233000063C854614C194431306861593F6F6CFE2 +:1023400094C3944393F6F6CF93E6062094C31447C0 +:10235000B3E6060114C730C95457F59A54D79843C9 +:10236000137707F84D8F98C3930710FA3CA4B24037 +:10237000224492444101828013077002638AE7027B +:10238000930650026394D7001307600218B497268F +:10239000FA1F83A6E6D0DC56F59BDCD69726FA1FFB +:1023A00083A606CE9C4293F707F8D98F9CC26DBFD7 +:1023B00083470402898B85C77238A1451725FA1F08 +:1023C000034535D7EF206EB193075002A300940266 +:1023D0001CB42244B240924441016FF03FD62285A2 +:1023E0002244B240924441016FE03F819727FA1F97 +:1023F0009387470D03A7070A25E31727FA1F13073B +:10240000672F504FA9466309D604544F2D47638563 +:10241000E604411122C4A05F06C61725FA1F034532 +:1024200055D18347040213F7170011C78547322C93 +:10243000A300F40239A0898BF5DB72388947A30029 +:10244000F402A145EF206EA9930750021CB4224468 +:10245000B24041016FF09FCE8280011122CC26CA8A +:102460004AC84EC652C456C25AC006CE1724FA1FD6 +:102470000324C40C930A200A1309100A9304600A67 +:10248000130B400A9309500A172AFA1F130A8A26C7 +:102490003C24639C570B9727FA1F938767BF984389 +:1024A00054471396164950C70F1000009C43370736 +:1024B00002009724FA1F9384E42398C713070008A7 +:1024C00098C81727FA1F0327A7BB18431357774845 +:1024D00035C31307E018F8D3D4C79700FA1FE78075 +:1024E00040DB9C40858B8DCB9727FA1F23A40720C8 +:1024F0009710FA1FE780A0762285EFF05FB809CD2C +:10250000030744013C38634A0702FD575CA82C3896 +:102510000545EF208EF508B81C24638C0712624431 +:10252000F240D2444249B249224A924A024B0561E2 +:102530006FF0DFC01307E01A79BF860793F7F70F34 +:1025400099C33CB8E9B7FD57EDBF639127038327D3 +:102550000A00858BF1D322859727FA1F23AC071831 +:10256000EFF02FEB3C24E39527F37DB76396970AB2 +:102570009727FA1F9387C7B1984354471396164974 +:1025800050C70F1000009C43370702009724FA1F22 +:102590009384441698C71307000898C81727FA1F92 +:1025A000032707AE18431357774821CF1307E018C6 +:1025B000F8D3D4C79700FA1FE780A0CD9C40858B45 +:1025C00089CF9727FA1F23A707129710FA1FE780D2 +:1025D00000692285EFF00FAF09CD030744013C38B5 +:1025E00063440702FD575CA82C380545EF20EEE751 +:1025F00008B838249307500AE310F7F2EFE09FA4DD +:1026000021BF1307E01A6DB7860793F7F70F99C339 +:102610003CB8D9BFFD57EDBF639A67039700FA1F17 +:10262000E78020C783270A00858B81CB22859727E7 +:10263000FA1F23A1070CEFE0FFB83C246394370195 +:10264000EFE05FA03C24E38597E4F9B5E38A37FF28 +:10265000E1B59727FA1F83C727B699CF6244F240A6 +:10266000D2444249B249224A924A024B014505618D +:1026700017E3F91F6700A317F2406244D2444249AE +:10268000B249224A924A024B056182804111B7E762 +:1026900000E026C284433707200006C622C44AC091 +:1026A000F98C23A0E7180F1000009727FA1F9387D3 +:1026B000670403C7170211CB83C607020947639655 +:1026C000E6001727FA1FA3070704D44F21476386A4 +:1026D000E600D44F1D476398E600D84F2380E702F9 +:1026E0000547A380E7029710FA1FE7804057172499 +:1026F000FA1F0324A4E46840231504002304040003 +:1027000097E0F91FE780A0A21729FA1F130949A231 +:102710000345390091452310040423220404232493 +:102720000404EF208E8303453900A145EF20EE829B +:10273000034514039307F00F6307F500EF208E8B1A +:10274000FD57A308F402034504039307F00F630742 +:10275000F500EF202E8AFD572308F4029727FA1F71 +:1027600083C787A591C7014597E0F91FE780200837 +:10277000B2402244B7E700E023A0971002499244F8 +:1027800041018280411106C6FD57A308F502454666 +:10279000930500080145EFD09FBCB24041016FF0A6 +:1027A000FFEE9727FA1F83C7D79895EF411117457A +:1027B000FFFF1305459506C6EF206EA8EF305FA119 +:1027C000B24097E7FFFF9387C7051727FA1F232912 +:1027D000F7D697070000938787C81727FA1F232982 +:1027E000F7884101828097E7FFFF938787031727C8 +:1027F000FA1F2327F7D497070000938747C61727A8 +:10280000FA1F2327F7868280411126C206C622C4FA +:102810004AC0EF708F8EAA8439C9EF60BFFC2A844A +:1028200063050510930710113EA5930700FB7CA5D7 +:1028300085471CA91729FA1F130909928357090113 +:102840001307401093053025A50713050004B3C7EF +:102850000708B3D7E70A33F5A70A97D0F91FE7802F +:10286000E07F2328A41019E90A24EF70AF96B24044 +:102870002244024926859244410182809727FA1F0B +:1028800083A707EB232AF4109727FA1F938787C3A0 +:1028900003A6070D83A6470DBA3F83C7A704232CC1 +:1028A000C40E232ED40EA304F416FD572310F404F3 +:1028B0007EB01EB48347E4022324C4102326D41020 +:1028C00093E707FC2307F4028567938787BB2315EB +:1028D000F4042312E414228523130414EF506FF739 +:1028E000034549012301A414EF304026D147A30337 +:1028F000F41893078002A302F4189307C04E231C18 +:10290000F4169307F007230DF416F5779387A7EBDA +:10291000231EF416A301A4142300A418A300A418D2 +:102920009727FA1F239407BA99B7854489B74111AD +:1029300022C426C24AC006C69724FA1F938484B8CC +:102940002A84A830834504031729FA1F1309C98074 +:10295000A307A402EF200EA99725FA1F9385C5842B +:10296000D2253E3C93060032232AA4083387C702AF +:102970008C453358D7023377D7022326040913082E +:10298000204E33070703B38707033347C702B3D784 +:10299000A7021AB003478901BA971A3C9387871692 +:1029A000B3C7070805073307C7022312F408130744 +:1029B00007193357D70283268408BA9663E5E600E1 +:1029C000368663E4B6003386B64003477403930645 +:1029D000204E2313F4083307D7022328C408228586 +:1029E0002311E408EF502FC62285EF502FE16E3CF3 +:1029F00022859205F915B3C50508EF500FC1228550 +:102A0000EF70EF8A9717FA1F83A7C76523A0840A80 +:102A1000898B91CF8327090399CB83258409354579 +:102A20008297832709038325C40939458297228524 +:102A30002244B240924402499727FA1F239B07A8D9 +:102A40009727FA1F23A807A841016F50BFC68357D5 +:102A500045080357050889463357D70AB397E70057 +:102A60002313F5086F208EA7011122CC26CA4AC86D +:102A700006CE4EC68347650338392A848507230B63 +:102A8000F5021719FA1F1309A9605C259714FA1F9C +:102A90009384045F631A07501439BD9B93E7370092 +:102AA000130700045CA5A30D050038B99397466091 +:102AB00063D8070093F6F60714B9EFB0DFC839A85A +:102AC0008327850A13F7270025C3F59B2324F50ADE +:102AD00083270510918BB1C7EF90FF91343C854758 +:102AE00058246399F60483278411DC4398A3832731 +:102AF00084115838DC4398B30327841183270900D5 +:102B00005843B8DF9C4098431317772998C3D85788 +:102B1000719BD8D7F2406244D2444249B249056120 +:102B20008280EF905F8B5DBF13F717000DC3F99B99 +:102B30002324F50A83270411582498A3832704111A +:102B4000583898B383270900032704115DBF18295B +:102B500085496310371DE1C313F7070119C7BD9BF2 +:102B60002324F50AEF909FE895BF13F7070201CBE6 +:102B700093F7F7FD2324F50AEF90DFFA85B713F7F3 +:102B8000070401CB93F7F7FB2324F50AEF905F8B43 +:102B9000B1B713F7070809CB93F7F7F72324F50A22 +:102BA0002285EF905F961DBF13F7072009CB93F79F +:102BB000F7DF2324F50A2285EF90BFA505B713F7A9 +:102BC000074001CB93F7F7BF2324F50AEFA0AFDA54 +:102BD00031B71317B0287D8F01CB9397B7482324C3 +:102BE000F50AEF905FBBDDBD05677D8F01CB939745 +:102BF000C7482324F50AEF907FBCCDB509677D8FC8 +:102C000001CB9397D7482324F50AEF909FC6F9B5D7 +:102C10002324050A05B78327450A6384073013F781 +:102C2000070401CB93F7F7FB2322F50AEF906FF42B +:102C300075B513F7071001CB93F7F7EF2322F50AC9 +:102C4000EF907FDF61BD13F7072019CBCD8A639129 +:102C5000060E93F7F7DF2322F50AEF907FE2BDBD62 +:102C600013F7074001CB93F7F7BF2322F50AEF9044 +:102C7000AFFAADB51317B0287D8F01CB9397B74846 +:102C80002322F50AEF902FFD91BD05677D8F11CBB3 +:102C9000CD8AD9EE9397C7482322F50AEF905F8F2C +:102CA00035BD11677D8F01CB9397E7482322F50A45 +:102CB000EF90DFA825B541677D8F01CB939707493A +:102CC0002322F50AEF909FEF11BD370702007D8F99 +:102CD00001CB939717492322F50AEF90DFA9FDBB9B +:102CE000370710007D8F01CB939747492322F50AC0 +:102CF000EF901FB3E5B3370780007D8F01CB93972B +:102D000077492322F50AEFA08FA4C9BB2322050A25 +:102D100015B519CF1306A0056367E6041306F00383 +:102D2000636AE60015171377F70FF54763F4E702B8 +:102D3000228561B3130707FC1377F70F6946E36930 +:102D4000E6FE17B600001306E6483347C7201843CF +:102D50003297028797B600009386864E3347D72076 +:102D60001C43B69782879307200763ECE70293071B +:102D7000000763E8E722930760066301F722130761 +:102D800067F91377F70F8549E3E4E9FAEFB0BF9BE2 +:102D90008327040A9397B7282320F40A23083401D1 +:102DA00035BB93076007E30EF7E293076008E31172 +:102DB000F7F8EF901FAC3DA01317B0287D8F2DDBE7 +:102DC0009397B7482324F50AEF90FF9C93070004DC +:102DD0001CA829B38347B5029DC305476396E70046 +:102DE000EF905FD48547EDB783270510918BC5C75A +:102DF000BD472306F4022285EF90EFDFE5B7EFB081 +:102E00009F948327040A93E727002320F40AD9BF5D +:102E1000EFB07F9385471CA88327040A231104067B +:102E200093E747002320F40A55B9EF902FC8D947FC +:102E3000230AF40465B1EFB01F918327040A93E7D6 +:102E400017002320F40A2308040049B997E0F91F6A +:102E5000E780E0FAE30405C88547A306F404228569 +:102E6000EF906FCF8347C404F99B2306F404BDB1F0 +:102E7000EFB07F8DC9BF83278510858B81C7EF9009 +:102E80003FADA9B9E947A305F50283270510918B4A +:102E900099C38D47B9BF2285EF90EFD3A1B7EF90CB +:102EA0008FC38347D40491CB41469305C40A1305CD +:102EB000C40C97D0F91FE780E0498347C404232658 +:102EC000040E2328040E93E717002306F40439B1F7 +:102ED00083270510918B91CB8D472306F502EF9048 +:102EE0008FD11C38DD9B1CB8F5BDEF90CFCED5BF80 +:102EF0008347C5042322050E2324050E93E72700EC +:102F00002306F504EF90EFBE1C38A3050402DD9BF9 +:102F10001CB88327040A93E70701C5BDEF904FD281 +:102F2000D1B597E0F91FE78080EDE30905BA09B54F +:102F30000347A51411CB83476514B317F0286385A5 +:102F4000E70093E6060114B90347B41419CB83478D +:102F50007414B317F0286386E7001C3893E7070161 +:102F60001CB87C2C91CF1C38C18B99EB8327040AA9 +:102F700093E707202320F40A2285EFB0CFFC9DB50C +:102F80008307B417F5DB83274410898BF5D7832794 +:102F9000440A939747292322F40AF9BFEFA0AF9D73 +:102FA00091B5EFB04FFADDBB1717FA1F1307875122 +:102FB0001E2B85071EAB1DB68347E518858B638CDA +:102FC000070E397122DC06DE26DA4AD84ED652D4F4 +:102FD00056D25AD05ECE62CC834765132A8413D76B +:102FE00037002A97834607139D8B33D6F640058A10 +:102FF00055CE034545037D57FD4759152C003AC46E +:103000003EC613154560EF20F04D0326841322477A +:103010008326C413B247718FF58F6314E60063866D +:10302000F6062800EF60FFA3894763F0A70629464C +:1030300081451305741997D0F91FE780203822497C +:10304000B249814A0D4C930B500256864A85CE8573 +:10305000139A4A60EFA0E067135B2A40229B137A21 +:103060003A00058983447B19060A05CDB3944429A7 +:1030700093F4F40FA30B9B18850AE3987AFD83471A +:10308000E41893E787002307F418F2506254D254EF +:103090004259B259225A925A025BF24B624C216158 +:1030A0008280331A4C01B3E44401D9B7B396F628B1 +:1030B0002308D712D9BF8280397126DA9714FA1FF4 +:1030C0009384444022DC03A4C4094AD84ED656D285 +:1030D00037090300B74A0F00B709008252D45AD00B +:1030E00006DE5ECE62CC66CA6AC86EC6130A891551 +:1030F000138BFA23FD197C241307000D6393E7203B +:10310000971BFA1F938BCBF883A70B0098430D8B6B +:103110000DC71717FA1F230907E4B84B1377F78F6A +:10312000B8CB98431367870098C39C4393D737481D +:1031300089C701000100010001009717FA1F83C72A +:10314000A70789E797E0F91FE78080F48347C40465 +:10315000858B89C7A2850545EF207008171CFA1FCB +:10316000130C0CF203270C0083472414971CFA1F3E +:10317000938C0CF354579395476093F7F703B3F68A +:103180003601E607D58F5CD79306A00383A70C0012 +:1031900063D8B610F44F37060007D18EF4CF8327DB +:1031A000840983A60B00171DFA1F130DAD541CC70D +:1031B0008327C4095CC3DC4293E71700DCC25C5779 +:1031C000F19B93E717005CD78355041E0356241E1A +:1031D00003457414930710FD7CA491059307000C1C +:1031E0002320FD00B3C5050897F0F91FE780603D77 +:1031F00083457414054683A60B00035724088357A0 +:103200006408639BC50C13071703D046B3A7E720D8 +:1032100013171649D8C60F10000003A70B00B706F6 +:103220000200860714C7930600082328DD007CD31C +:1032300050C79717FA1F23A9074C03A60B0097172F +:10324000FA1F23AB074A85471CC28346C404832761 +:103250000C0003A70C00858AD9C29443B70533003C +:1032600093F6F6CF94C3944393F6F6CF93E60620F5 +:1032700094C31447CD8E14C79306891734CA545784 +:10328000F59A54D783466413984393F6F607137759 +:1032900007F8558F98C397F0F91FE78080FFA1BD0D +:1032A0009306200263DAB600F44F370600F97D1664 +:1032B000F18E37060005D5B5370600F9E9467D16CB +:1032C00063D7B600F44FF18E37060003F9B5F44F1B +:1032D000F18E93968629D9B5130717043DB7944309 +:1032E000B705330093F6F6CF94C3944393F6F6CF25 +:1032F00093E6062094C31447CD8E14C723284605B1 +:10330000BDBF1307100D6394E754971BFA1F938BEF +:103310006B3E83A70B00858B638C074683A70B004E +:1033200093F70708CDCF7C34171CFA1F034C4CE4ED +:1033300093F7070299CF3E3C1307204EB387E7026D +:1033400003274409B3D7E7021307CC03BA97231224 +:10335000F408971DFA1F938D2DE50355440803DDEE +:10336000CD0037460F0013051504B325A50313063A +:103370000624814683AC4B033305AD02EFA0203A0F +:103380008327C40803A68D003385A740B3079501A2 +:10339000BE8563E4A70063E4C700B385C740032785 +:1033A0000409636FB7128356640883572408138592 +:1033B0000A240D8FB3A7F620B387A703DA97B3D7F4 +:1033C000A7026365F7001D8E6374E6002328B40826 +:1033D0008582B3F6860B231004082313D408032533 +:1033E0004411130624039305440397F0F91FE78063 +:1033F000E0EC03D764048347440323ACAB00998F0C +:10340000230AF402832744111307F0039C23636407 +:10341000F7008D8B81E7854723ACFB0083A78B01E9 +:10342000858B639B07268347A40293E72700230528 +:10343000F40283A70B0093F7070889CF03476413AF +:1034400093573700A29783C607131D8B3397E6481F +:103450002388E7127C34898BD5C32285EF40FFBFD8 +:1034600051ED7C34A309040093E747007CB4832723 +:1034700084118DCB383C1DC79837058B05E7BA27DB +:10348000C843136707F0BAA797D0F91FE78020CA8F +:103490008357440485072312F404832784119C4333 +:1034A000232CF4105C3881CB8347C404898B81C7FB +:1034B0002285EF40DFBE1C28130720026394E70239 +:1034C0008327040AA305040293E787002320F40A54 +:1034D0001C3893E787001CB8930740021CA839A842 +:1034E0003297D1B513070006639CE70A85471CA8ED +:1034F0008347A40293E717002305F40283A78B01F7 +:10350000898BE5C78347C404858BE5C31C3C8507CD +:103510001CBC7C3413F7270031E393E727007CB40D +:10352000930700F85CAC3E3C1307204EB387E702DC +:1035300003274409B3D7E7021717FA1F034747C306 +:103540001307C703BA97B3C707082312F4088607FF +:103550002311F4089717FA1F23A60700228597174F +:10356000FA1F23A90718EFF02FD04C380345641435 +:10357000910597F0F91FE780C0DE5C38638B071C6C +:103580008347C404898B6386071CA2850145EF200D +:10359000803E630A05109700FA1FE780406C79A40B +:1035A000130770066399E7021717FA1F032747AD41 +:1035B0003C57ED9B3CD79717FA1F238E07143717FC +:1035C00000401E2FC607C5831EAF5C2493F7F7FD8E +:1035D0005CA4854721B77147E392E7F28327040A89 +:1035E00093E717002320F40A11BF2285EF401FA99B +:1035F0000DF1A30C04002285EF407FA31C38A18BA2 +:103600008DCB7C289DC77C38094793F7B70F638221 +:10361000E7029307D003230AF404930770021CA85F +:103620008347C404858BE38607EE2285EF403FACD9 +:10363000CDB55C340D476394E7047C381307A002D2 +:103640006372F7027C381D476388E702A306F40221 +:103650008327840A228593E717002324F40AEF8046 +:103660001FCB19A817B700001307079FB3C7E720A0 +:103670009C432285829779F57C28DDF359BDE38A46 +:1036800007E87C28E38707E8228597E0F91FE780B1 +:103690008086E31005E8CDB71C2C85071CACFE2402 +:1036A0008507FEA4BDB51717FA1F0327679D1C43A6 +:1036B000B706330093F7F7CF1CC31C4393F7F7CF3C +:1036C00093E707201CC31717FA1F0327679D1C47A2 +:1036D000D58F1CC7B70703001717FA1F0327479B8F +:1036E000938787273CCB9717FA1F83A7679998433F +:1036F0001317772998C3D857719BD8D7930720FD04 +:103700007CA49717FA1F83C727ABE39607B88327D4 +:103710000412E38207B87834058BE30E07B6D4436E +:10372000D0278C270A248906EF608079E31505B637 +:1037300083270412BA27136707F0BAA79C432320F4 +:10374000F41283572404E38807B4FD172311F4040B +:1037500099B61717FA1F0327A7921C43B706330021 +:1037600093F7F7CF1CC31C4393F7F7CF93E70720DA +:103770001CC31717FA1F0327A7921C47D58F1CC716 +:103780009717FA1F83A7C79013078925B8CBA1BF46 +:103790009717FA1F83A7C78FFC53E39E07949700E0 +:1037A000FA1FE780C04B83A70B00228593F7070819 +:1037B000638A071EEFF0AFA9BE2822858507BEA841 +:1037C000EFF08FFF83570404B5C313074006B3F728 +:1037D000E702A9EF9717FA1F83A7C788898B9DCFA8 +:1037E0001719FA1F130949970327090305CB9E28C8 +:1037F000AE282545C207DD8D029783270903EE24F5 +:103800002945829783270903831524032D45829731 +:103810008327090383054403314582979717FA1FCD +:10382000239907CA9717FA1F23A607CA228562544D +:10383000F250D2544259B259225A925A025BF24B78 +:10384000624CD24C424DB24D21616F401FF21307C2 +:10385000200DE392E7D4971BFA1F938BABE983A764 +:103860004B00858B638307140327040A9717FA1FFD +:1038700023A407E88967F98FE5EF228597D0F91F20 +:10388000E780A07485476315F50E8355041E035623 +:10389000241E034574149105B3C5050897F0F91F5C +:1038A000E78020D28347C404170CFA1F130C4C7E08 +:1038B000970CFA1F938CCC7C858B170DFA1F130D78 +:1038C0002D7EA5CFA2850545EF20601103A70C0032 +:1038D000B70633001C4393F7F7CF1CC31C4393F781 +:1038E000F7CF93E707201CC303270D001C47D58F94 +:1038F0001CC783270C0013078917B8CB930710FD4B +:103900007CA483270C00D44713971649D8C70F10FF +:10391000000083270C003707020098C71307000830 +:1039200023A8EB0003A70C0018431357774815CFC3 +:103930001307E018F8D3D4C7B9BA03A70C00B70629 +:1039400033001C4393F7F7CF1CC31C4393F7F7CF07 +:1039500093E707201CC303270D001C47D58F1CC706 +:1039600083270C0023A8470551BF1307E01AD9B7D6 +:103970009700FA1FE780A02E1C3C85C73D4763795E +:10398000F7009305D0032285EF40FFF1A305A402C1 +:103990009707FA1F83A7477F89C7954513055008E6 +:1039A00082972285EF508FB051B59707FA1F83A7F2 +:1039B000276EFC53639107F49700FA1FE780202AD3 +:1039C000CDB7411106C6EF408FB19717FA1F938705 +:1039D00067AF17F7FFFF130767E323A8E70AB240B3 +:1039E00017F7FFFF1307E7F423AAE70A97F7FFFF8C +:1039F0009387C76C1707FA1F232EF7664101828051 +:103A0000411122C406C62A840345D5079307F00F47 +:103A10006307F500EF001EDEFD57A30EF406FD5709 +:103A2000A300F4084146930500080145EFC03F9309 +:103A30005C4CB240C59B5CCC224441018280411168 +:103A400022C4930555012A84285D014606C697F0D5 +:103A5000F91FE780A086631E0516305C9D46214550 +:103A60001C22BD8B5CB4183278A46395D7163C2217 +:103A7000114593D6670093F7F70363FDE7141945E3 +:103A8000639A06149305F7FF9D8D93F5F50F2307B1 +:103A9000B40203483600454593763800639C06120D +:103AA00093764800F9E293064600FD1713F5F70FE9 +:103AB0009377880095CB9C320343940293D84700B8 +:103AC000631E13118568938808F003C30600A207DC +:103AD000B3F717018358A402B3E767006390F810A7 +:103AE000791589061375F50F137808016302080626 +:103AF0009C220968130808F093F7F7032302F402E5 +:103B0000BC22A207B3F7070103C81600B3E70701F9 +:103B1000939757607EB095CB8386060063DB0604DF +:103B20009306C0120348C40DB387D70289466314B5 +:103B3000D8042D070A07998F138747ED9306405144 +:103B400063FEE60289472304F40275151375F50F29 +:103B50003C3213F7070249E793F7070481C77D1545 +:103B60001375F50F25C96145B5A093065600F917E1 +:103B700035BFF94645BF29070E0775BF5A3C971652 +:103B8000FA1F83D626982E9763D5E60023070402F2 +:103B900055BF5ABC05472304E4021707FA1F130751 +:103BA000274F0C43D4451398164923A605010F103F +:103BB00000001843B7050200938757ED0CC7930523 +:103BC00000081718FA1F232FB8B286077CD354C7F2 +:103BD000ADBF0945B2402244410182805145DDBF5D +:103BE0005945CDBF411126C2645922C406C69D471E +:103BF0009CA08547A3810400BCA08347950B2A8421 +:103C000093F7070489CF93070004BCB07C591707CA +:103C1000FA1F0347A755D8A3BC208507BCA00346BD +:103C2000940C19CABC2068588325C40C8D073E9596 +:103C300097C0F91FE7800072B8208347940C9376F1 +:103C4000F7038507B69793F7F70F5CA4B8A07858E9 +:103C50001CB3B2402244924441018280411126C2E9 +:103C60009714FA1F938404A99C58B706080022C42D +:103C70004AC006C61709FA1F13098941F58F0327A1 +:103C800009001714FA1F0324648BE9C39307800704 +:103C90007CD39707FA1F2389072C9707FA1F83A75E +:103CA000273ED457B70533002285F19A93E61600D4 +:103CB000D4D7944393F6F6CF94C3944393F6F6CFB8 +:103CC00093E6062094C39706FA1F83A6663D9046A6 +:103CD0004D8E90C6370603001306862530CBD0568E +:103CE000759AD0D694430346E40793F606F8137604 +:103CF000F607D18E94C383268409D4C38326040C8B +:103D000094C75C43F99B5CC3EFF0DFED83270900A8 +:103D100078580145B8DF8345C40D9717FA1F23A1D2 +:103D2000079E5024FD1593F5F50F97E0F91FE780E6 +:103D3000E06E9700FA1FE78080F2DC44A304040CD5 +:103D4000B240224492440249410182807C57EDDB1B +:103D500085471707FA1F2309F720DDB7797122D4A9 +:103D6000930555012A84285D014606D626D24AD0FD +:103D70004ECE52CC56CA97E0F91FE7802054631B01 +:103D8000053A345C1D46130500089C22BD8B5CB4CB +:103D90009832230A0404230E040478A46397C718F6 +:103DA000A42223040402114593D7640093F4F4037E +:103DB00063FDE4161945639A07169305F7FF858D91 +:103DC00093F5F50F2307B402B032454593771600FB +:103DD000639D0714937726004945639807149377EA +:103DE0004600639D071413894600FD1493778600EF +:103DF00093F4F40F85498DCF5C4CA18B6386071437 +:103E0000834719000565130505F0A207E98F0345EF +:103E10000900C98F035524096316F5128349240844 +:103E200093C9490093D92948F914090993F4F40F67 +:103E3000418A35C2834709000966130606F093F7E5 +:103E4000F7032302F40283472900A207F18F0346F8 +:103E50001900D18F939757607EB095CB0306090068 +:103E60006356060E1306C0120345C40DB387C7027E +:103E70000946631FC50C2D070A07998F138747ED65 +:103E8000130640516379E60C89472304F402F514C4 +:103E90000D0993F4F40FBC32594513F7070251E7AB +:103EA00093F7070489CB83470900FD140509A30193 +:103EB000F40293F4F40FB9CC130A8002A14A8347A9 +:103EC0001900639A47038347090063965703C9475C +:103ED000230EF40683478900034779001546A2079D +:103EE000D98F2318F408930529001305A40897C057 +:103EF000F91FE78020468347090063FD9700138779 +:103F00001700B387F440FD171377F70F93F4F70FFB +:103F10003A99D5F4639009080347C407894763E5D4 +:103F2000E7008D47230EF4060545B2502254925403 +:103F30000259F249624AD24A456182801389560089 +:103F4000F9146DB52319F4088549F9BD794629BFDF +:103F500029070E071DB705472304E4021707FA1FB8 +:103F6000130707134EBC0C43D04513151649C8C59B +:103F70000F1000001843B7050200938757ED0CC7D8 +:103F8000930500081705FA1F232EB57686077CD304 +:103F900050C7F5BD5C4CA18BC1D383472408898BE6 +:103FA000A5FF8348E4027C24385C9306F00FB387B6 +:103FB00017418907BA973EC0034884020357840813 +:103FC00003065401830534020355240D9307F00FB3 +:103FD000B7040300EF50B0781709FA1F1309490B13 +:103FE0009709FA1F93890971170AFA1F130A4A09D8 +:103FF000970AFA1F938ACA0A938484150347840296 +:104000008547E31BF7F083270900F8537DFFD4476A +:1040100013971649D8C70F10000003270900B707E8 +:104020000200B70533001CC79307000823A8F90056 +:10403000930720307CD354C79707FA1F23AC076A35 +:104040009707FA1F23A2076C9707FA1F23A6076A90 +:104050002304040285471CC383270A00944393F674 +:10406000F6CF94C3944393F6F6CF93E6062094C319 +:1040700083A60A0090464D8E90C624CBD856759BD9 +:10408000D8D6984383464402137707F893F6F60789 +:10409000558F98C397E0F91FE780A01F9700FA1F7C +:1040A000E780E0BB83A74900858BADC722859707D2 +:1040B000FA1F23A30764EFF09F98AA870357840889 +:1040C0000355240D91E70348840289476310F802E1 +:1040D00002C0814809489307F00F9306F00F1306BA +:1040E000F0079305F007EF5090673DB58348E40271 +:1040F0007C24345CB38717418907B6973EC003061A +:104100005401830534029307F00F9306F00FEF502C +:104110001065EDB502C0035784080355240D81488E +:1041200009489307F00F9306F00F1306F007930565 +:10413000F00755BF0945D5BB41114AC01709FA1F01 +:10414000130949388327090B06C622C426C281EB0E +:104150000545B24022449244024941018280AA842A +:104160009700FA1FE780A0AF8327090B8297EF50D3 +:104170006FE72A8471DD83A7C40BAC5C014823245C +:10418000F508FC35F8251546A207D98F982913059F +:104190008513F90542075D8F83C735FFE207D98F85 +:1041A0002320F5F683C755FF03C765FFA207420723 +:1041B000BA9703C745FFBA972322F5F683C775FF61 +:1041C000A30FF5EE83C795FF03C785FFA207D98F1D +:1041D0002310F5F083C7B5FF03C7A5FFA207D98F4A +:1041E0002311F5F083C7D5FF03C7C5FFA207D98FF9 +:1041F0002312F5F083C7F5FF03C7E5FF232205016E +:10420000A207D98F2313F5F081471CC197C0F91F6E +:10421000E7804014B45C054783C736022300E414EA +:10422000FD8BA30AF40203C7C40DED1793F7F70F34 +:104230007D171377F70F2303E414A303E41403C7D4 +:10424000360215832308E4022D476365F7023E3CDE +:1042500005679306A7C7E917B3C7070863ECF6001D +:10426000563C9307301F63E7D7007E3C130707C80F +:104270006377F7000A24EF50EFF50145D9BD832796 +:10428000490B228582970A241306900293050008A1 +:10429000EFC0EF8C8327090D1167F98FE38A07EAD6 +:1042A0000A24514693050008EFC06F8B55B579710C +:1042B00022D4930555012A84285D01464AD006D6AA +:1042C00026D24ECE52CC56CA97E0F91FE78000FFA7 +:1042D00009496318051A2C5C03C905001379F90014 +:1042E000A30624019C31230A0404230E04047CA4A5 +:1042F0009D476313F9189700FA1FE78040968329BA +:1043000084077C24114983C429002304040213D7A1 +:10431000640093F4F40363F6F41619496313071663 +:10432000FD17858F2307F40283C73900454913F72A +:1043300017006318071413F727004949631307147C +:1043400013F7470075E39109FD1413F7870093F401 +:10435000F40F054A05CF584C218B61CF03C71900D4 +:104360008566938606F02207758F83C60900558FF0 +:1043700083562409639DE60A034A2408134A4A0027 +:10438000135A2A48F914890993F4F40F13F7070113 +:10439000554965EB13F70702594965E793F7070499 +:1043A00089CB83C70900FD148509A301F40293F4A6 +:1043B000F40FB9CC13098002A14A83C71900639A8C +:1043C000270383C7090063965703C947230EF406E2 +:1043D00083C7890003C779001546A207D98F231820 +:1043E000F408938529001305A40897C0F91FE780F6 +:1043F00060F683C7090063FD970013871700B38732 +:10440000F440FD171377F70F93F4F70FBA99D5F42B +:1044100063130A020347C407894763E5E7008D4732 +:10442000230EF4060549B1A89509F91439BF2319DB +:10443000E408054A81BF5C4CA18BE9DF834724086F +:10444000898BE9FB8348E4027C24385C9306F00FF7 +:10445000B38717418907BA973EC003488402834750 +:10446000A40B035784080306540183053402035543 +:10447000240DEF50D02E79BF9547630EF900130934 +:104480000008B25022549254F249624AD24A4A85F4 +:104490000259456182809707FA1F83A767BF23A649 +:1044A00007063707080098C79707FA1F23AA0726A9 +:1044B0009C311307200293F7F7037CA4E391E7FCF8 +:1044C0009309E4041946A1054E8597C0F91FE780BA +:1044D000E0F945D92C5C1309640519469C214A85ED +:1044E000890593D76748A30AF40497C0F91FE780AA +:1044F00060E69707FA1F83A7A7A782976458232E21 +:10450000A40AA1479CA08547BCA0BCB01946CE8593 +:104510001385440097C0F91FE780C0E3BC209907CA +:10452000BCA0BC3093E72700BCB08347540591C7BB +:1045300078581C2393E707F81CA31946CA851385EE +:10454000A40097C0F91FE780E0E0BC20990713F7AB +:10455000F703050758A4BCA08347D404858B91E7D3 +:104560000347C40489476317F70078581C2393E76F +:1045700007041CA34C247C588CB30345C40D93073B +:10458000A0F93CA47D151375F50F97E0F91FE7809E +:1045900040DD9707FA1F83A7A7AE98431317772923 +:1045A00098C3D857719BD8D797E0F91FE78060CEA2 +:1045B00097F0F91FE780A06A9707FA1F83A7C71330 +:1045C000858BE38107E62285EFF01FB7A1BD7971E6 +:1045D00022D406D626D24AD04ECE52CC56CA5AC87B +:1045E0005EC6034B05082A8463030B148327C50D9D +:1045F000170AFA1F130A4ABB93041B00A183B3C70F +:104600000708B384F4028357EA0037450F00130507 +:1046100005249387471F930B204E1709FA1F034960 +:1046200039B5835ACA0081468145B347F50256869B +:10463000B38974033305A902B3D9F902EF90200EB0 +:104640001307003237460F00130606248146B3874E +:104650009A024E958324040AB3F7E702B3877703DF +:10466000B3C75703B3C707083E95B3B5AA022326BD +:10467000A40A3385AA02EF90800A63E3A4025C4C8B +:10468000B385A4402322B40A13F787000345D40757 +:1046900025C31359190063E92501B385254111A8E4 +:1046A00083278A00BE94E1BF83278A00338927418C +:1046B000CA9597E0F91FE780E0399707FA1F83A7AB +:1046C000278B82979707FA1F23A8A79A83578408F6 +:1046D000230C040AB25085072314F4082254925480 +:1046E0000259F249624AD24A424BB24B456182803A +:1046F0001547636C670113591900E3F025FB832705 +:104700008A00B3872741BE956DB7C59B5CCC9307E4 +:10471000E003A308F40CEF00EE8DFD57A30EF406A2 +:104720003946930500080145EFB07FC379B70347C9 +:10473000C5078947E3F3E7F81709FA1F1309C9A664 +:104740008324050A8327C40A0355C90037460F008E +:1047500013060624B335F50281463305F502EF80D2 +:10476000107C63ECA402B385A4409707FA1F83C7AB +:1047700037A02322B40A85830345D40763E3F502F7 +:104780009D8D97E0F91FE780E02C83556408034571 +:1047900014089205EFF03DC50DB783278900BE943C +:1047A000D9B703278900B307F740BE95D9BF797100 +:1047B00026D29704FA1F9384E4F39C583707080025 +:1047C00022D406D64AD04ECE52CC56CA5AC85EC65D +:1047D000F98F1704FA1F032464D69DE79707FA1F81 +:1047E00083A7078BFC5791C7854717F7F91F230D40 +:1047F000F776B250225492540259F249624AD24A90 +:10480000424BB24B456182805C4CB98BFDD329454C +:1048100097F0F91FE780404D1709FA1F13094988DF +:1048200003270900A947DCCC5C57170AFA1F130AB3 +:104830002A85F59B5CD703270A008346E4071C43BF +:1048400093F6F60793F707F8D58F1CC39707FA1F5F +:1048500023A407EA930700049CC09707FA1F23A12B +:1048600007EC8347940CB9CF8357440C83568408D4 +:104870008345C40D639CD72E8346740C8347A40BD9 +:104880006392F60489471306F0FB6394F500130660 +:10489000F0FC8346840C8347340E9305204EB38787 +:1048A000D7029306D007B387D7028346240EB38678 +:1048B000B602B6979387E7F8B297DCD49C4093E7AB +:1048C00007029CC08327840997F9F91F9389497CC3 +:1048D00083A609005CC30146DC429305F00F93E711 +:1048E0001700DCC2832744091CC70345C40D7D158E +:1048F0001375F50F97E0F91FE780A0CC83A7090097 +:104900000327840AD44713961649D0C70F10000016 +:1049100083A7090037060200060790C713060008A0 +:1049200090C8F8D3D4C71707FA1F232F07DC17073F +:10493000FA1F232307DC83260A00054798C3984201 +:10494000370633001377F7CF98C298421377F7CF23 +:104950001367072098C2832609009846518F98C68E +:104960003707030013078715B8CB97E0F91FE780D7 +:1049700040929C40858B6382071A9707FA1F23ABEE +:1049800007D69307F007A301F4022285EFF03F92C8 +:1049900083470408F5C70347C40D03AB4403170955 +:1049A000FA1F130969808947032A8900835AC900BD +:1049B0006316F71C130510033385AA0237460F0050 +:1049C0001306062481468145EF8070556364AB1C55 +:1049D0003305AB40C8D88346A40B9DC28347140E51 +:1049E000D858B387D70293060032B387570393870B +:1049F0000719B3D7D7026361F71AB307F740DCD8BA +:104A00000357E900B7450F00938505241307471F97 +:104A100033C7E5028327C40D17F5F91F0345557504 +:104A2000930B204EA1830581B3C7070856868146A4 +:104A3000338B57033305B5028145B387770333D9E9 +:104A4000E702EF80D04D13070032B377EB02130B70 +:104A50000B192A99B3877703B3C75703335BEB026C +:104A6000B3C707083E99DC582326240BDA973E8704 +:104A700063E4670163E44701338747412320E40A85 +:104A80000347C4078D47631AF704394693050008A6 +:104A90000145EFB0DF8C930500251305001097B09A +:104AA000F91FE780A05B5C4C035664082326A40C26 +:104AB000ED9B5CCCA304040C930614081206A2859B +:104AC00017F5FFFF130505F4EFF01DB55C4C93E7F8 +:104AD00087005CCC9147230EF406DC5423000408C5 +:104AE0008DCF83A709003707020017F5FFFF1305D5 +:104AF000251723A2070698C79707FA1F23A407C004 +:104B000097C0F91FE780A0CE03A709007C57FDFFDF +:104B1000014597C0F91FE78080CD0347A40B834769 +:104B2000040E05071377F70F230DE40A637AF712D3 +:104B300097F4F91F938444679C28ADC3930770FAD8 +:104B4000230CF40A17D5F91F1305053B97C0F91F6D +:104B5000E78000EF2254DC40B25092540259F249EF +:104B6000624AD24A424BB24B45618287958F9397F6 +:104B70005760E3D907D4A304040CA9B393956A0042 +:104B80003385550137460F00130606248146B33599 +:104B9000B5001DBD529B2DBD529785B58347140EA0 +:104BA0009444B387E702DA24B387E702130700329D +:104BB00093870719B3D7E7020327440A3E973A8938 +:104BC0006364F7006364D7003309D74097F7F91F90 +:104BD00083A7073A8297B307A9406374A900984452 +:104BE000BA97B5C3D2240347140E93060032330795 +:104BF000C702130707193357D70263F6E70437458F +:104C00000F0013050524B3B5A70203A40900370755 +:104C10000800814618C43385A702EF80503006058E +:104C200068D42254B25092540259F249624AD24A8C +:104C3000424BB24B170500001305A5B7456117C3DA +:104C4000F91F6700C3BA17050000130585B697C0A2 +:104C5000F91FE780C0B983A709000947F8D751BEFB +:104C600022852254B25092540259F249624AD24AE1 +:104C7000424BB24B45616FF09F95011122CC26CA81 +:104C80004AC806CE4EC652C456C25AC097F7F91F3C +:104C900083A7073F98433706330097F4F91F93849F +:104CA000243F1377F7CF98C398432A841709FA1F34 +:104CB000130949A41377F7CF1367072098C317F791 +:104CC000F91F0327E73D14479305F00FD18E14C752 +:104CD00094403706030013068615B0CA032645091B +:104CE00090C703268509D0C35057759A50D798436B +:104CF0000346E507137707F81376F607518F98C335 +:104D0000DC420146F99BDCC20345C50D9307000454 +:104D10002320F9007D151375F50F97E0F91FE78043 +:104D2000408A9C400327840AD44713961649D0C76B +:104D30000F1000009C4037060200060790C71306BC +:104D400000082328C900F8D3D4C71707FA1F232D5A +:104D5000079A1707FA1F2321079A054798C397D088 +:104D6000F91FE780005397F0F91FE78040EF832792 +:104D70004900858B638407129707FA1F23AE0796B5 +:104D80000347C40D8324490397F9F91F9389C94147 +:104D9000894703D5C900631FF71093071003330534 +:104DA000F50237460F001306062481468145EF8041 +:104DB000101763ECA4103385A440232AA90293079B +:104DC000F007A301F4022285EFE05FF90347C4076F +:104DD0008D47631EF7023946930500080145EFB081 +:104DE0000FD85C4C0356640893061408ED9B5CCC0A +:104DF0001206A28517F5FFFF1305C5C0EFF0DD8190 +:104E00005C4C93E787005CCC9147230EF40603D7F4 +:104E1000E900B7450F00938505241307471F33C7E3 +:104E2000E5028327C40D83DAC90017F5F91F03458E +:104E30003534130B204EA1830581B3C70708814683 +:104E40005686338AFA023305B5028145B387670374 +:104E5000B3D4E702EF80B00C1307003283A68900B9 +:104E6000B377EA02130A0A19AA94B3876703B3C790 +:104E70005703335AEA02B3C70708BE94832749038E +:104E80002326940AD2973E8763E4470163E4D70060 +:104E90003387D7402320E40A230004082285624494 +:104EA000F240D2444249B249224A924A024B056139 +:104EB0006FF0EFF1931565002E9537460F0013063E +:104EC00006248146B335B500DDB583A78900BE94BD +:104ED000DDB55C4D397122DC06DE26DA4AD84ED6C5 +:104EE00052D456D25AD05ECE62CC66CAB98B2A84CE +:104EF0006389073817F9F91F130989078327090000 +:104F00008324450A17FAF91F130A0A2A829763E4D1 +:104F1000A41497F9F91F9389292403CC9901898C4A +:104F20008547835ACA00135B1C0063D2970203258E +:104F3000C40A37460F0013060624B3B5AA028146F9 +:104F40003385AA02EF80A07D5A95637E9510832752 +:104F5000C40D1307003283440408A183B3C70708B4 +:104F6000B3865703850493F4F40F23009408832B2E +:104F70008A0093860619B3D6E6020327040A3697F9 +:104F8000BA896364D70063647701B3097741035733 +:104F9000EA0037450F00130505241307471F334761 +:104FA000E5028504930C204E568681462320340B5F +:104FB0008145B384F4023305AC02B387940333DA3A +:104FC000E702EF80C0751307003237460F00130663 +:104FD00006248146B3879A025295B3F7E702B38756 +:104FE0009703B3C75703B3C707083E95B3B5AA02E3 +:104FF0002326A40A3385AA02EF80607263E1A90622 +:10500000B389A940835784082322340B0345D4076E +:1050100085072314F408B385694163F66901B38BEE +:105020006B41B3853B0197E0F91FE780A0A283277E +:105030000900829797F7F91F23A0A704F250625442 +:10504000D2544259B259225A925A025BF24B624CE4 +:10505000D24C2161828083278A00BE945DBD338556 +:10506000AB40AA9945B7294597F0F91FE780C0C71B +:10507000A94717F7F91F232DF7680347C407C94746 +:10508000631AF70203570409835784086314F7026D +:105090001305040B15469305A4082AC697B0F91FFB +:1050A000E780402B3245EF40DF9B9147A307A408E0 +:1050B000230EF406228597C0F91FE7806069130765 +:1050C00004085C578356CA0003268A008607938724 +:1050D000770D1CD78347040885072300F4087C4F0D +:1050E0001853A183B3C70708B387D70293060032CA +:1050F00093870719B3D7D7023E97BA866364F70040 +:105100006364C700B306C7408347040E2320D40A54 +:10511000EDC783470A01230D040A85CF930770FA70 +:10512000230CF40A17D5F91F130505DD97C0F91FE5 +:10513000E7800091625483274A00F250D2544259CA +:10514000B259225A925A025BF24B624CD24C216104 +:105150008287832709000324440A8297636EA4068A +:10516000098C17F9F91F1309A9F23DC803C5990164 +:10517000B7440F0093840424330595020356CA00F4 +:105180008146814532C6EF8080593246637AA40455 +:10519000B335940203290900B70708008146232488 +:1051A000F90033059402EF808057060562542326E8 +:1051B000A906F250D2544259B259225A925A025B6D +:1051C000F24B624CD24C17F5FFFF1305855E21614F +:1051D00017B3F91F6700A36183278A003E9449B77C +:1051E00017F5FFFF1305E55C97B0F91FE780206016 +:1051F000832709000947F8D791B58327090083243D +:10520000440A829763E3A402898C85E42285625470 +:10521000F250D2544259B259225A925A025BF24B7E +:10522000624CD24C21616FF05FA583278A00BE9447 +:10523000E1BF03C5990137490F001309092433055C +:1052400025030356CA008146814532C6EF80204DB2 +:10525000E3FEA4FAB3B52403324697F9F91F83A9F4 +:1052600029E3B707080023A4F90081463385240306 +:10527000EF80E04A060523A6A90683A7C906F5FF25 +:1052800071B70345D507EFF0EDD6FD57A30EF40631 +:1052900075B3797122D42A841305050B06D626D25C +:1052A0004AD05AC84ECE52CC56CA5EC662C417F90E +:1052B000F91F1309E9CBEF40CFFA832709008324B4 +:1052C000040AA307A408829717FBF91F130BCBED61 +:1052D00063ECA416B74B0F00938B0B243385A440CB +:1052E000B33575030356CB008146130C204E3305AE +:1052F0007503EF80C0428327090023000408AA89B0 +:10530000829797F7F91F23A9A7D68357EB00832429 +:10531000C40D17FAF91F034ABAE59387471FB3C7AD +:10532000FB02A180B3C404080359CB008146814528 +:105330004A86B38A840333057A03B3DAFA02EF802C +:10534000003E130700324A8681468145B307990221 +:1053500093541A00AA9AB3F7E702B3878703B3C737 +:10536000270333857403B3C70708BE9AEF80203B39 +:105370005695636E350137153D004A868146130503 +:1053800005908145EF80A039B38AA9408D44B3359B +:1053900059038329040A37460F002326540B1306AA +:1053A0000624814633055903EF80603763E2A90A7A +:1053B0003385A9402322A40A0345D4079307F00F9D +:1053C0006304F500EFF00DC38327440A17F5F91FB6 +:1053D0000325C51763E29708338697408327C40DDA +:1053E0000357CB009306D407A183B3C70708B3873D +:1053F000E70213070032A2859387071933D7E70224 +:1054000097D0F91FE780A04F0347D4079307F00F09 +:10541000630FF7005C4C05472300040893E767001F +:10542000A308040C2319E40C5CCC230EE406B25050 +:10543000225492540259F249624AD24A424BB24B28 +:10544000224C01454561828083278B00BE9459B56B +:1054500083278B00BE99A9BF03278B00BA97ADBFE6 +:1054600097070000938727A717F7F91F2320F70E48 +:10547000828001114AC817F9F91F1309A90422CC27 +:105480000324C90B26CA4EC652C456C206CEAA84ED +:105490008149130A2500854A39E093057025314575 +:1054A00097B0F91FE78080BB2A84014539C89C303A +:1054B0001946938524001CB01305240097B0F91FEA +:1054C000E78040E98327C90BB1E7232E890A23240B +:1054D00004008347890B8507230CF90A15A01830AF +:1054E0009C306305F700A28900447DB71946D28538 +:1054F0001305240097B0F91FE78040F7E31555FF27 +:105500000545F2406244D2444249B249224A924A95 +:1055100005618280E38D09FA23A489004DBF011142 +:105520004AC817F9F91F1309E9F922CC0324C90B5A +:105530004EC652C456C25AC006CE26CAAA89014ACD +:10554000930A2500054B09EC8144F240624442492C +:10555000B249224A924A024B2685D2440561828092 +:10556000183083C719006305F700228A0044E1BFA1 +:105570001946D6851305240097B0F91FE78000EF80 +:10558000AA84E31465FF1C4463150A00232EF90A5C +:1055900019A02324FA00228597B0F91FE78020B9CB +:1055A0008347890BFD17230CF90A45B717F5F91F37 +:1055B000032505FD11E997F7F91F23A307FC97F7CA +:1055C000F91F238D07FA8280411106C622C40045C7 +:1055D00097B0F91FE780A0B5228575F8B240224444 +:1055E00097F7F91F23AE07F897F7F91F238807F8F5 +:1055F0004101828097F7F91F9387C7EC23AE070A12 +:10560000238C070A828017F7F91F130727A71C436B +:105610009306001094C301000100010001001C4327 +:1056200023A00700143103480500A206B3E60601D3 +:105630000348250042083368D8003431E206B3E657 +:10564000060194D7543103484500A206B3E606018B +:105650000348650042083368D8007431E206B3E6B7 +:105660000601D4D7143503488500A206B3E6060127 +:105670000348A50042083368D8003435E206B3E693 +:10568000060194DB54350348C500A206B3E60601C3 +:105690000348E50042083368D8007435E206B3E6F3 +:1056A0000601D4DB94318821A206C98EA8214205C7 +:1056B000558DB431E206C98E94CFD431C821A206EB +:1056C000C98EE8214205558DF431E206C98ED4CF4A +:1056D00088259435A206C98EA8254205558DB43576 +:1056E000E206C98E94D3D435C825A206C98EE82512 +:1056F0004205558DF435E206C98ED4D3D443F59ACC +:10570000D4C3D44393E61600D4C3944393E616005F +:1057100094C31443DC42858BBDE39C4E01451CA21F +:105720001C439C4FA1831CB21C439C4FC1833CA2D1 +:105730001C439C4FE1833CB21C43D84F58A2D84F26 +:10574000218358B2D84F418378A2D84F618378B271 +:10575000985318A69853218318B69853418338A6B6 +:105760009853618338B6D85358A6D853218358B676 +:10577000D853418378A6DC53E1837CB68280010054 +:1057800049BF17F7F91F1307678F1C4393060010D3 +:1057900094C301000100010001001C43894694C329 +:1057A000143103480500A206B3E6060103482500AC +:1057B00042083368D8003431E206B3E6060194D7D4 +:1057C000543103484500A206B3E6060103486500CC +:1057D00042083368D8007431E206B3E60601D4D734 +:1057E000143503488500A206B3E606010348A50068 +:1057F00042083368D8003435E206B3E6060194DB8C +:1058000054350348C500A206B3E606010348E50087 +:1058100042083368D8007435E206B3E60601D4DBEB +:1058200094318821A206C98EA8214205558DB43134 +:10583000E206C98E94CFD431C821A206C98EE821D0 +:105840004205558DF431E206C98ED4CF88259435B2 +:10585000A206C98EA8254205558DB435E206C98E2B +:1058600094D3D435C825A206C98EE8254205558DA6 +:10587000F435E206C98ED4D3D443F59AD4C3D443C5 +:1058800093E61600D4C3944393E6160094C31C43D6 +:10589000D443858AADE623A007009C4F01451CA296 +:1058A0001C439C4FA1831CB21C439C4FC1833CA250 +:1058B0001C439C4FE1833CB21C43D84F58A2D84FA5 +:1058C000218358B2D84F418378A2D84F618378B2F0 +:1058D000985318A69853218318B69853418338A635 +:1058E0009853618338B6D85358A6D853218358B6F5 +:1058F000D853418378A6DC53E1837CB682800100D3 +:1059000079B7011122CC2A84354506CE2EC632C481 +:1059100097E0F91FE780403D17E7F91F0327477716 +:105920003C4B228593E707083CCB2246B245EFF07B +:105930009FCDF2406244014505618280011122CC75 +:105940002A84354506CE2EC632C497E0F91FE7807B +:10595000A03917E7F91F0327A7733C4B228593E76C +:1059600007083CCB2246B245EFF0BFE1F24062446B +:1059700001450561828017E7F91F032767713C4BDA +:1059800093E707083CCB010001000100010093856B +:105990000508F851160597E7F91F83A7276E1365C9 +:1059A000050888C398CBB8550145D8CBD85D98CFAA +:1059B000B841D8CFF84198D3B845D8D3F84598D74F +:1059C000B849D8D7F84998DBB84DD8DBF84D98C717 +:1059D000B851D8C798431367070498C3828017E764 +:1059E000F91F0327E76A3C4B93E707083CCB01000C +:1059F00001000100010093850508F855160597E799 +:105A0000F91F83A7A7671365050888C398CBB85902 +:105A10000145D8CBD85D98CFB841D8CFF84198D3BD +:105A2000B845D8D3F84598D7B849D8D7F84998DBBE +:105A3000B84DD8DBF84D98C7B851D8C7984313670D +:105A4000070498C39307000817F7F91F2320F7CC22 +:105A5000828097E7F91F83A7A762885B3D811315B2 +:105A60004560828097E7F91F83A7876198433706CF +:105A700000827D161317772998C31307F03F98DF2C +:105A800013070005D8DBD8571317F729D8D7D457F1 +:105A900017E7F91F0347876D931547601377F703DF +:105AA000F18E6607558FD8D79306A00317E7F91F25 +:105AB0000327075F63DFB602744F37060007D18EF6 +:105AC00074CF370702001307C720D8DF984B13772E +:105AD00007FC1367E70098CB37E700E0D147A3093D +:105AE000F70497C7F91F9387476693E717007CD79A +:105AF00082809306200263DAB600744F370600F9FD +:105B00007D16F18E370600055DBF370600F9E946C0 +:105B10007D1663D7B600744FF18E3706000345B784 +:105B2000744FF18E9396862961BF97E7F91F83A77B +:105B300027559C5BC60713D5670163D6070013651D +:105B400005C0334505081315556082801307A0036F +:105B5000AA87636EA7041307A0020D45636AF704C2 +:105B60001307200209456365F7046947054563612A +:105B7000F70451470145636DF70249477D55636955 +:105B8000F702394775556365F70229476D5563611B +:105B9000F70219476155636DF7001147595563695D +:105BA000F700094745556365F70031558280114577 +:105BB00082803557AA87634CE50449570D4563C970 +:105BC000E7045D57154563C5E70465571D4563C187 +:105BD000E70471572D4563CDE70279573D4563C909 +:105BE000E7024D4563C6070255459DC305476D4510 +:105BF0006380E702094713053002638BE7000D4716 +:105C00001305B0026386E7001305B00382800545E3 +:105C1000828019C5371700401E2F9397F7281EAFB3 +:105C20008E05220697F7F91F2387B7AE498E97E7AF +:105C3000F91F83A7E7444D8E13164629B0D7B857EE +:105C400013674700B8D7B85789C613172729B8D79D +:105C5000828013172749E5BF411122C406C617F4F5 +:105C6000F91F130424A903470402A1476318F7028C +:105C700017F7F91F0347878097F7F91F9387078264 +:105C8000058BB033B42321CBC84331C50C31090592 +:105C9000EFF02E9D01C58547A300F40203470402DF +:105CA0009947631AF70097F7F91F83A72789BC372D +:105CB00095C7EFC0AFC8034704029D476310F702C2 +:105CC00097F7F91F83A7C788FC3389CB2244B240DA +:105CD00041016F40AF85814501455DBFB24022441F +:105CE000410182805D71B7E700E0CAC003A90700E7 +:105CF000A6C24EDE3707200086C6A2C452DC56DAA2 +:105D00005AD8AA84AE893379E90023A0E7180F1086 +:105D1000000017E4F91F1304A436184017EAF91F0E +:105D2000130A0A3897EAF91F938A8A361C43370BFD +:105D300003001306800293F7F7CF93E707101CC305 +:105D400083260A003707CEFF7D179C46930510086F +:105D50002800F98F9CC683A70A0023A8670597A08F +:105D6000F91FE780A065354597E0F91FE780C0F788 +:105D70001C4093F6F41F3706330023A40700984B0A +:105D8000130B8B15130510F81367F70398CBF84F17 +:105D9000130E401F914E137707E0558FF8CF9843AD +:105DA000130380021367070898C317F7F91F232D01 +:105DB000079483A60A0017F7F91F232F07920547B8 +:105DC00098C298431377F7CF98C398431377F7CFC8 +:105DD0001367072098C303270A001C47D18F1CC7ED +:105DE00023A866053800814613F8F60F13563800CD +:105DF0004E961C2213787800B3D70741858BD1CB00 +:105E00001C4083280A0023AC070423A0070683A5AF +:105E1000C802F59923A6B80283A8070093F5F607F0 +:105E200093F808F8B3E8B80023A01701CC53939572 +:105E3000F528CCD303AF0A0081452322CF0783A8DE +:105E400007066382150383A807038305070093D819 +:105E5000F8009398486063D515018C5BBD810CA355 +:105E6000AC5393F5F50F83284F066386080083A88B +:105E70008705E3F41EFDCC539395F548CCD38305F9 +:105E8000070063D6B4001C22B39707491CA233E570 +:105E9000A50A85060507E39966F418401C4B93F79D +:105EA00007FC93E7E7001CCBB6402644B7E700E0C9 +:105EB00023A0271196440649F259625AD25A425BEE +:105EC00061618280011122CC2A84114526CA4AC808 +:105ED00032C62E89B68406CE97E0F91FE780C0E06F +:105EE00097E6F91F9386C6199C4217E5F91F13051B +:105EF000251A97E5F91F9385A51AD857370333005C +:105F0000719B13671700D8D78328050013078007F4 +:105F100023A2E80698431377F7CF98C398431377E3 +:105F2000F7CF1367072098C303A80500324603275D +:105F30008800336767002324E8003707030013074E +:105F4000872523A8E8040327C802759B2326E802B7 +:105F50006307090A9843136404041374F40713775E +:105F600007F8418F98C3374776711307971298C780 +:105F70008327480093F7F7EF2322F8000100010080 +:105F8000984117E4F91F1304E476A6855C4393E770 +:105F900007105CC39842B7575500938757555CC3A9 +:105FA0001C41185C0145B8DF17E7F91F2328077467 +:105FB00017E7F91F23260774D843799BD8C3914765 +:105FC0005CCC97C0F91FE780604517E7F91F0327EE +:105FD000A70B11C7544318479C42D98F9CC25C44FD +:105FE000858B81CB17E7F91F1307C74D1E27850740 +:105FF0001EA7F2406244D244424905618280984320 +:106000001374F407137707F8598C37C7898E80C348 +:10601000130767EDA9BF97E7F91F23A7A70619C9BB +:10602000584154491C43D58F1CC3184914451C437F +:10603000D58F1CC38280011126CA4AC84EC6C164CE +:106040003709006AB70900AC22CC52C456C206CE4A +:106050001304F00FFD141309690E9389E90C614ACA +:10606000930A0002A6850145EFE0BDC293178500A3 +:1060700013F7071033E5270119C333E537018147CB +:106080000147B356F54885073356F5486307D600F0 +:1060900005071377F70F6364EA04E39457FF81471A +:1060A0001306F003ED463357F5001377F70305CBDE +:1060B0006307C7028507E398D7FE135785009377D8 +:1060C000F50F1377F70F639BE7021357050113775B +:1060D000F70F6395E702135785016391E7027D147B +:1060E0001374F40F41F09305000F4145EFE0FDB745 +:1060F000B7B7006A4205938767CE5D8DF240624470 +:10610000D2444249B249224A924A0561828097E7C5 +:10611000F91F9387275ED44F1147638DE60E83C71F +:1061200037026399070EB7C7004017E7F91F032727 +:10613000E7F493870730631FF70C011122CC37E493 +:1061400000E026CA044006CE4AC84EC652C456C213 +:10615000B7072000FD8C2320F4180F1000003545F0 +:1061600097E0F91FE78040B897EAF91F938A4AF150 +:1061700081226122EFF01F8F83A70A0017EAF91F1F +:10618000130A0AF2B7063300984397E9F91F938977 +:1061900029F0370903001367070898C3984313775A +:1061A000F7CF98C398431377F7CF1367072098C3A7 +:1061B00003270A001C47D58F1CC783A709001307B4 +:1061C0008955B8CB9926EF00302FE922892C03A7F7 +:1061D0000A001C4393F7F7CF93E707101CC38326ED +:1061E0000A003707CEFF7D179C46F240224AF98FFE +:1061F0009CC683A70900924AB24923A8270597E7BE +:10620000F91F23A70750232094106244D244424927 +:10621000056182808280B7C700401387073097E608 +:10622000F91F23ADE6E413870720411197E6F91F14 +:1062300023A0E6E69387071037D7004022C406C69E +:1062400017E4F91F1304044B97E6F91F23AAE6E4A9 +:1062500017E7F91F2326F7E285475CCC97E7F91F7C +:10626000938747385CDC97E7F91F83A7E7EE1CDCD0 +:1062700097C7F91F9387C7ED17E7F91F2328F7E0A2 +:10628000EFF0FFE8B7E700E0A301040203C75741BE +:1062900013670708A38AE740B2402244370710007B +:1062A00023A0E7103707200023A0E71041018280D8 +:1062B00097E7F91F83A7C7DD1307C008D8CB93065C +:1062C0006007D4CFD8D31306E006D0D7D8DBD0DF11 +:1062D000F8C3F4C7D843059BD8C30547FAA323AA3C +:1062E000070417E7F91F0327A744F8DF7D5798C76E +:1062F00037071F003D07D8C7828097E7F91F83A79C +:1063000027DA1307004898D7D85FB70600F9FD16BB +:10631000758F13179729D8DFD85F9D663706FDFF65 +:106320000E070D831317E729D8DF985B7D161367D7 +:10633000077098DB985B558F98DB985BB706070072 +:10634000558F98DB985BB7060090FD16758F131775 +:10635000C72998DBB4473707F9FF7D17F98EB4C713 +:10636000F447E19AF4C7F44793F6F6F8F4C7F44714 +:10637000F18EF4C7F44F758FF8CFF84FB70690FF42 +:10638000FD16758FF8CF930740060100FD17F5FF46 +:106390008280828017E7F91F130787D01C43B44B14 +:1063A00093960649B4CB94479396562994C7D447FD +:1063B00093E60601D4C7D447BD9AD4C701000100B3 +:1063C000010001001C43D44793E60601D4C7D4431F +:1063D0009396C628D4C317E6F91F032666CB930607 +:1063E000400674D2745291C683A6C70993D68648D4 +:1063F000F5DA01000100010001001C4313870708C2 +:10640000544FB84BFD8A13170729B8CBB84B019BE3 +:10641000558FB8CB98471317574998C7828097E78D +:10642000F91F83A7E7C7B44F41777D17F98EB4CF23 +:1064300094479396062994C7D44793F6F6EFD4C7AA +:10644000D443758FD8C3D84713670710D8C7D8432C +:1064500013170729D8C38280AA872DC11421194791 +:106460000545639EE604943317E7F91FA309D7C2D5 +:10647000B82317E6F91F2304E6C2B03397E5F91FE6 +:10648000A38EC5C0D02397E5F91F2389C5C0D0339B +:1064900097E5F91FA383C5C0F023814791C609C7BB +:1064A000B75734129387876717E7F91F2307C7BECB +:1064B00017E7F91F2320F7BE01458280054582803A +:1064C00039C199471CA197E7F91F83C757BD1CB174 +:1064D00097E7F91F83C7A7BC3CA197E7F91F83C7BC +:1064E000F7BB3CB197E7F91F83C747BB5CA197E7B0 +:1064F000F91F83C797BA5CB197E7F91F83C7E7B95C +:106500007CA10145828005458280397122DC4ED60E +:1065100052D406DE26DA4AD856D25AD05ECE62CCA3 +:1065200066CA6AC86EC617E4F91F032464B75C40E4 +:1065300097E9F91F9389B9B617EAF91F130A1AB632 +:1065400093F7F7EF5CC01C549397C7481CD45C5476 +:10655000BD9B5CD41C44939717291CC45C4093E7F3 +:1065600007015CC0B757341217E7F91F032787B23A +:1065700093878767630DF7725C4001791309F90F00 +:10658000F99B5CC01C5C3167130707F0B3F7270168 +:10659000D98F1CDC5C409304040893E717005CC0AF +:1065A00097C0F91FE780200D9C4893F7F7032380DD +:1065B000F900DC48A98393F7F70717E7F91F2300D1 +:1065C000F7AE5C403D6713070780F99B5CC01C5C1D +:1065D000B3F72701D98F1CDC5C4093E717005CC040 +:1065E00097C0F91FE78020099C4893F7F70317E746 +:1065F000F91FA304F7AADC48A98393F7F70717E765 +:10660000F91F230CF7A85C40356713070740F99B77 +:106610005CC01C5CB3F72701D98F1CDC5C4093E79E +:1066200017005CC097C0F91FE780E0049C4893F70F +:10663000F7032300FA00DC48A98393F7F70717E76D +:10664000F91F230DF7A45C404167130707C0F99BAE +:106650005CC01C5CB3F72701D98F1CDC5C4093E75E +:1066600017005CC097C0F91FE780E0009C4893F7D3 +:10667000F70317E7F91FA301F7A2DC48A98393F7F3 +:10668000F70717E7F91F2309F7A0834C0A0003C790 +:106690000900930760021306500233079741B307BE +:1066A000F7029306700293054002130530021308A7 +:1066B0002002130E1002F94E754FFD4FF14A3306BA +:1066C000C7026D4BE94B654CD942D543DD48D14DEE +:1066D000CD444949B3C7D7023D43B949294D354A4D +:1066E0003346D60292072206D18F3306B702D98FDE +:1066F00095453346D6023206D18F3306A7021305DD +:1067000004083346D6024206D18F330607033346C8 +:10671000D6025206D18F3306C703254E3346D60222 +:106720006206D18F131657003346D6027206D18FF8 +:106730001CD13306E703194FB307D7039D4EB3C7E8 +:10674000D7023346D60292072206D18F3306F703CB +:106750008D4F3346D602D18F33065703B14A3346A5 +:10676000D6023206D18F330667032D4B3346D6024D +:106770004206D18F33067703E14B3346D6025206E9 +:10678000D18F33068703454C3346D6026206D18F3C +:10679000330677033346D6027206D18F5CD13306B7 +:1067A0007702B30757023346D602B3C7D702220691 +:1067B0009207D18F330617033346D602D18F3306A3 +:1067C000B7033346D6023206D18F330697023346DB +:1067D000D6024206D18F330627033346D60252062D +:1067E000D18F330687033346D6026206D18F131644 +:1067F00047003346D6027206D18F1CD5B307670215 +:106800003346F703B3C7D7022206D18F33063703C7 +:106810003346D6021206D18F330657033346D602CB +:106820003206D18F330667033346D6024206D18F34 +:106830003306A7033346D6025206D18F3306C70369 +:106840003346D6026206D18F131637003346D6027E +:106850007206D18F5CD5B307D70333464703B3C75E +:10686000D7024206D18F3346D7026206D18F330654 +:10687000E7033346D6021206D18F3306B7023346FA +:10688000D6022206D18F131627003346D6023206CF +:10689000D18F131617003346D6025206D18F1CD95A +:1068A00097D7F91F83C7777FB387FC4033C6A70309 +:1068B00093FCFC03B3CDB7033206920DB3EDCD00CC +:1068C0001306800233C8C702B3ED0D01214833C857 +:1068D0000703420833E80D01B3CDB702F20D336868 +:1068E000B801B38DF703B3CDCD02A20D3368B80163 +:1068F000B38DE703B3CDCD02D20D3368B801B38DAC +:10690000D703B3CDCD02E20D3368B801338B6703F3 +:10691000232A05031148B38DC703B38A5703338A6B +:106920004703B389370333C80703B3CDCD02120839 +:10693000334BCB0233E80D01B3CACA02220B336BCF +:106940006801334ACA02B20AB36A5B016D4BB3C92C +:10695000C902420A33EA4A01F14AD20933683A01CC +:10696000B3896702754A13034002B3C9C902E20939 +:10697000B3693801139847003348C802338C870342 +:106980007208B3E909010948232C3503F949338911 +:106990002703B3849702B3837702B3825702B38885 +:1069A0001703B38B770333C80703334CCC02320889 +:1069B0003349C90233680C01654CB3C4C4021209DF +:1069C00033692801B3C3C302A204B3649900130955 +:1069D0001002B3C2C202C203B3E3740093046002A4 +:1069E000B3C8C802D202B3E2530093032002B3CB70 +:1069F000CB02E208B3E8120193023002F20BB3E8D3 +:106A00007801E94B232E150333887703B388670396 +:106A10003348C802B3C8C8021208A2083368180174 +:106A2000B3888703B3C8C80233681801B388570313 +:106A3000B3C8C802B20833681801B3884703B3C8A3 +:106A4000C802C20833681801B3883703FD49B3C8C8 +:106A5000C802D20833681801B3883703B3C8C80224 +:106A6000E2083368180193985700B3C8C802F208C7 +:106A70003368180123200505338827039398C7013D +:106A80003348C80233681801B3887702B3C8C80214 +:106A9000920833681801B3885702B3C8C802A20825 +:106AA00033681801B3886702B3C8C802B2083368F4 +:106AB000180193085002B3881703B3C8C802C2086C +:106AC00033681801B3889702B386D702B3C8C802E7 +:106AD000B3C6C602D20833681801E206B366D8000E +:106AE00074C193069002B386D702032885041378F5 +:106AF00008FFB3C6C602BD8AB366D80034C5930684 +:106B0000A002B386D702B3C6C60230451376F6F0AC +:106B1000BD8A9206D18E34C517D6F91F0346065892 +:106B200017D8F91F0348685733080641B306A8036E +:106B300003238504B308B802B3C6F602B3C8F8024B +:106B4000A206F208B3E61601B308C803B3C8F802F8 +:106B5000B208B3E6160193183800B3C8F802C208A9 +:106B6000B3E61601B308D803B3C8F802D208B3E6F7 +:106B70001601B308E803B3C8F802E208B3E6160149 +:106B8000B798888893880880B3E61601B3E6660054 +:106B9000931828003343F80234C597D6F91F83C6EB +:106BA0000650918E1376F6076206B3C8F8023203D8 +:106BB000B3E868003383F6033343E302B30FF8030B +:106BC0007203B3E86800060833C3E602B3CFFF02DE +:106BD0005203B3E868003348F802920FB3E8F801B3 +:106BE0002208B3E70801139816003348E802620848 +:106BF000B3E70701256813088888B3E707017CC558 +:106C0000338FE603B387B60293952600B3C7E70236 +:106C1000334FEF029207B3C5E502220FB3E7E70156 +:106C2000B38ED603CD8F93953600338EC603B386CD +:106C3000A603B3CEEE02B3C5E502B20EB3E7D701A9 +:106C4000334EEE02C205CD8FB3C6E602520EB3E755 +:106C5000C701370700817D17E206D58F3CC95C402C +:106C6000BD9B5CC05C40F99B5CC01C549397C728DB +:106C70001CD45C5493E707015CD41C5C93F707FCBD +:106C8000B3EC9701232C94031C5CF98FD18F1CDC8F +:106C9000F2506254D2544259B259225A925A025B6B +:106CA000F24B624CD24C424DB24D2161828097D75B +:106CB000F91F23A1073ED1BA17D7F91F0327473E73 +:106CC0005C4393E707105CC38280411106C6EF0066 +:106CD000903193056040EF30801DB2400145410185 +:106CE00082806F00503511C589C501C61E2201453D +:106CF0008DE301110565C9471306F100130555C35E +:106D0000854506CEDC87EF30401AF2408887056162 +:106D100082808280011197D7F91F238EA77E056597 +:106D20001306F100130595C4854506CEA30701009F +:106D3000EF30A017F24088870561828001111305AA +:106D4000910006CEEF00B03148840565300025057E +:106D50009D45EF308015F240088405618280011165 +:106D60009305F10006CE22CC2A84EF0070314886CC +:106D70000565C08670002180130555409145408708 +:106D8000EF30A012F2406244088605618280011152 +:106D90001305D10006CEEF00D0304886096570009B +:106DA00009059145EF306010F24008860561828048 +:106DB000011106CEEF009030C88709651306F10077 +:106DC00015058545EF30600EF240888705618280A9 +:106DD000011106CEEF009038C88709651306F1004F +:106DE00029058545EF30600CF24088870561828077 +:106DF000011106CEEF00B044C88709651306F10003 +:106E000039058545EF30600AF24001450561828011 +:106E1000011106CEEF10400AC88709651306F1007C +:106E200041058545EF306008F24088870561828022 +:106E3000011106CEEF009063C88709651306F100C3 +:106E400045058545EF306006F24088870561828000 +:106E5000411106C622C4EF00B0688965CD052A84B9 +:106E6000EF30E004B24022852244410182800111CA +:106E700006CEEF10E008C88709651306F10051053A +:106E80008545EF308002F2408887056182800111DC +:106E90001305510006CEEF104018488209655000D6 +:106EA0006105A545EF306000F24001450561828033 +:106EB000411106C6EF10A0198965E505EF20307F66 +:106EC000B240014541018280011106CE22CC2A84C4 +:106ED000EF10E02848860965C086700021806905AA +:106EE0008D454087EF20707CF2406244014505618A +:106EF0008280011106CE22CC2A84EF10803448868D +:106F00000965C086700021806D058D454087EF20A2 +:106F1000D079F24062440145056182800111096720 +:106F200022CC06CE9306D701AA872E846395D5047A +:106F300097D6F91F239C0658082197D7F91F238F4E +:106F4000075A17D7F91F1307E7579307F01F48A3EE +:106F50007EA30146854597B0F91FE780E074C88796 +:106F60001306F10022858545EF203074F24062441B +:106F7000888705618280130737034945E391E5FE61 +:106F800097D6F91F23940654882317D7F91F1307A0 +:106F9000675348A38C336CB3B023FD577CA3230CF9 +:106FA000C70255BF011126CA06CE22CC4AC897D4C3 +:106FB000F91F9384E417BC306383071489679386B1 +:106FC000E7012A872E84639DD504082197D7F91FEE +:106FD0009387474F8546C8A30C33CCB3302305476E +:106FE000F8B3F0A3F923C88751E517D7F91F1307A2 +:106FF000674D7C33503305476393E70E0E06130647 +:10700000963B930710273346F602A830896597D739 +:10701000F91F239D074A1376F60FEFD00DEC99A8C0 +:1070200093864703639FD500082197D7F91F93875D +:107030006749C8A30C33CCB33023F0A33433F4B383 +:1070400055B7938607056394D504082197D7F91F90 +:107050009387474793087700C8A30C33CCB33023FA +:10706000F0A33433F4B3034867005C335823EF20B4 +:107070000074C88722851306F1008545EF20F06271 +:107080008887F2406244D2444249056182809387F6 +:10709000B7076393F5041C2117D9F91F1309894217 +:1070A0002302F9001C31A302F9003C212303F9005B +:1070B0003C31A303F9007C213307F5000305770079 +:1070C000EFE03FAFBD2D834679000346690083455D +:1070D00059000345490039B7B147DC8761BF09470B +:1070E000E38EE7F009060D470E066396E7000E06ED +:1070F0001306965B39B706061306765119B7314564 +:1071000049B7011106CE17D7F91F0347073C93076C +:10711000F00F631BF7021305D100C12348860965F0 +:1071200070008D457D05EF205058896517D5F91FF2 +:1071300003453500EFD06DE2F24097D7F91FA383E6 +:1071400007F60145056182800145412B4886A3066B +:10715000010023070100E1B7011106CE22CC2A84E9 +:10716000EF00101048860965C08670002180130565 +:1071700005028D454087EF205053F240624401459F +:1071800005618280011106CE22CC2A84EF00902175 +:1071900048860965C08670002180130515028D455B +:1071A0004087EF209050F2406244014505618280A3 +:1071B000011106CE22CC2A84EF00B0224886096550 +:1071C000C08670002180130525028D454087EF2081 +:1071D000D04DF2406244014505618280011106CE26 +:1071E000EF10C00AC88709651306F1001305750280 +:1071F0008545EF20904BF240888705618280011120 +:1072000006CEEF10C011C88709651306F1001305FB +:1072100095028545EF207049F2408887056182809C +:10722000011106CEEF108013C88709651306F1001F +:107230001305D5028545EF205047F2408887056148 +:107240008280011106CEEF104016C887096513062B +:10725000F1001305E5028545EF203045F2408887AF +:1072600005618280011106CEEF106018C88709659C +:107270001306F100130515038545EF201043F24076 +:10728000888705618280411106C622C4EF10E0198B +:107290008965938525032A84EF207041B2402285B9 +:1072A000224441018280011106CEEF10A049C88717 +:1072B00009651306F100130575038545EF20F03EBF +:1072C000F240888705618280011106CEEF10C05D13 +:1072D000C88709651306F100130585038545EF206E +:1072E000D03CF240888705618280011106CEEF1004 +:1072F000C074C88709651306F10013059503854519 +:10730000EF20B03AF240888705618280797102C02F +:10731000814801488147014706D6EF10F00CA30FC2 +:10732000A10009651306F1011305E5038545EF206A +:10733000D037B2500345F10145618280011106CE7C +:10734000EF103024C88709651306F1001305F50313 +:107350008545EF209035F2408887056182800111D4 +:1073600006CEEF105037C88709651306F1001305E4 +:1073700005048545EF207033F240888705618280DF +:10738000011106CEEF101046C88709651306F100FB +:10739000130515048545EF205031F24088870561BB +:1073A0008280011106CEEF101055C88709651306BB +:1073B000F100130525048545EF20302FF240888722 +:1073C000056182807971064306D61AC872531AC6BF +:1073D00062531AC452531AC242531AC0EF10305BA0 +:1073E000896593853504EF20902CB25001454561A5 +:1073F000828097D7F91F2397A7100145828001113A +:1074000006CEEF20203CC88709651306F10013055E +:1074100015058545EF207029F24088870561828037 +:10742000011106CEEF20C042C88709651306F1009E +:10743000130525058545EF205027F2408887056113 +:107440008280011106CE22CC2A84EF20C0434886D8 +:107450000965C086700021801305A5058D4540870C +:10746000EF20B024F2406244088605618280011159 +:1074700006CE22CC2A84EF20004848860965C086C3 +:10748000700021801305B5058D454087EF20F02160 +:10749000F2406244088605618280011106CE22CC4A +:1074A0002A84EF20404C48860965C0867000218000 +:1074B0001305C5058D454087EF20301FF24062441B +:1074C0000886056182805D711303D1031AD20343DC +:1074D000010786C61AD00343C1061ACE03438106AC +:1074E0001ACC034341061ACA034301061AC80343D0 +:1074F000C1051AC6034381051AC4030341051AC214 +:10750000034301051AC0EF00307A230EA10209657A +:107510007018130565038945EF203019B6400345FF +:10752000C1036161828097D6F91F9386A6F9BE26B2 +:1075300081E79307F01FBEA6BE262146014513F73B +:1075400007103357C7408607B3C70708598D93D52F +:10755000574013D797402D8F058B7D161375F50F68 +:10756000D98F71FEBEA6828017D7F91F130787F542 +:107570005E2789E7E17793C7F7FF5EA75E27B946E5 +:1075800001459168994533F617013356D640860771 +:10759000518D33C8070813D6E748FD1693D7F7482F +:1075A000B18F1375F50FB367F800E39EB6FC5EA7C5 +:1075B0008280797126D24AD04ECE52CC06D622D4C1 +:1075C00056CA5AC85EC6AE84B289368A17D9F91F20 +:1075D0000329C9153DC5AD472A8463EAA7021304F0 +:1075E000F5FF1374F40F17DBF91F130BBBAB8347C5 +:1075F0000B00C9E39D47494563EA3703177700004D +:10760000130707CDB3C7E9209C43BA978287B147D8 +:10761000630CF5029307600263E5A7001304E5FF1E +:10762000C9B7930770024945E30FF4FAB2502254E8 +:1076300092540259F249624AD24A424BB24B4561D6 +:1076400082801304500245B71304600269BFCA8ADE +:10765000B38B2401638D5B01EFF01FF12381AA003E +:10766000850ACDBFCA8AB38B240163965B03854725 +:107670002300FB0093F9F9009306FAFF228523000B +:107680003901A300990093F6F60F26868545EFE0B1 +:107690007F83014561BFEFF01FE92381AA00850ABE +:1076A000E9B726869305000F130529009790F91F67 +:1076B000E780C0D06DBF26869305A00AF5B7268661 +:1076C0009305F00FD5B726868145F9BF2686BD45BF +:1076D000E1BF268693055005C1BF411122C42A840B +:1076E000354506C697C0F91FE780006011C897D7D7 +:1076F000F91F938727DD9A2718A09E27A1831CB026 +:1077000097D7F91F239407DC17D7F91F0327479949 +:107710001C4BC183898B8DC3B71701149387F78FD7 +:107720001CCBB70711047CCF89679387879F1CC741 +:1077300097D7F91F23AE07FCB2402244014541010F +:1077400082809307F00363EEA70897D7F91F238F72 +:10775000A7A017D6F91F0326A6925C56370700820A +:107760007D179376F503F98F93959601CD8F5CD6AF +:107770001307A00397D7F91F83A787926375A70202 +:10778000F84F37060007518FF8CF984B4183098B8C +:1077900009CB984B71761306F60FA206718F558FA1 +:1077A00098CB014582801307200213154560635A68 +:1077B000A700F84F370600F97D16718F37060005D0 +:1077C000D9B7370600F969477D166357A700F84F08 +:1077D000718F3706000345BFF84F718F1317872944 +:1077E00065B74945828041119317B02806C622C467 +:1077F000E98F95C3EF008FD6AA87094589CB9423DB +:10780000114731456395E600154798A34945B240B5 +:107810002244410182802E84EF10DFFC65D93C2593 +:10782000C18BEDD73C35230A8504B337F000E90757 +:107830001CA90145E9BF011106CE22CC2EC6EF10CE +:107840007FFA01CDB2452A84EF10EF85A305A4028B +:107850000145F2406244056182804945DDBF17D78A +:10786000F91F130727C6814799468345070E33063C +:10787000F50085070CA20507E399D7FE0145828034 +:10788000411122C406C62E84EF10DFF509C9830713 +:10789000450301451CA0B2402244410182800945B4 +:1078A000DDBF97D7F91F9387278B9A2B18A19A2BA7 +:1078B000218318B1FC373CA10145828019E149457B +:1078C000828097D7F91F9387E7BFB84FAA8501C772 +:1078D0005827314575F7B85F01C7383731456DF323 +:1078E00003A7C70801C77833314579FB0111054764 +:1078F00006CE194617D5F91F130525CBB8A32EC6FA +:107900009790F91FE78000A5B2459306000CD83187 +:107910009377070C639FD700194617D5F91F1305F6 +:1079200025C99790F91FE780E0A20145F240056163 +:1079300082809306F00363E8E600194617D5F91F25 +:10794000130565C7F9BF130700044945E390E7FE37 +:10795000194617D5F91F130565C6E1B7411126C2AF +:1079600097D4F91F938404B622C4A04C06C639E408 +:10797000BC5499E74945B240224492444101828077 +:1079800035CD0547E318E5FE014582972A8455C5A4 +:107990009317B0281EB1930700707EA58D471CBDBC +:1079A000A30A0502194697D5F91F9385A5BF1305AC +:1079B00065039790F91FE780E09921A87848B707F9 +:1079C0000008F98FADEBBC54D5D70DC98547E3133B +:1079D000F5FA58248547E30FF7F87C24B98B95CB4B +:1079E000742405478947639FE6021EB02244FC5475 +:1079F000B24092441305000F410182871305000F26 +:107A0000EFF0BEE825D95C25B5D7EF002F880145FA +:107A10009DB7EF002FF397C7F91F83C74775E31191 +:107A2000F5FC89BF1E3013070002B3F7E70A1167A0 +:107A3000B3D7E70A5DBF31453DBF1D452DBF97D781 +:107A4000F91F83A7E7B0314599CBFC3389CB4111AE +:107A500006C6EF308FBBB240014541018280828073 +:107A6000011126CA4AC84EC652C456C25AC02E89EF +:107A7000368ABA893E8B06CE22CCB284C28AEF10F7 +:107A80007FD685671307A9FF9386A7C733470708E3 +:107A900063E8E610938707C82A84494563E4970A98 +:107AA00063E2240B1307301F636E470963EC370949 +:107AB00093071A00B3C70708B387970213973900D3 +:107AC00063D2E70841C01C3813F747003DC3ED9B64 +:107AD0001CB83C34231A2407231B9406D5EB035708 +:107AE0008406C167FD176309F706631799063E3CD4 +:107AF000231BE404231CF40497D7F91F83D747A75B +:107B00008D46114763E5F600850713F7F70FA30AC3 +:107B1000E4042285EF00CFE483570404A907231F60 +:107B2000F4048327440A93E717002322F40AC54785 +:107B30005CBC231C6407231D5407231D4405231E1E +:107B400034050145F2406244D2444249B249224AD6 +:107B5000924A024B056182800356440601CEB3D49B +:107B6000C40233069602334606083376260B231CDE +:107B7000C40459B7B305990085814A85EFD06D914A +:107B8000231CA404930584052685EFE06ED4ADB7CD +:107B90008327840A93E707022324F40AC14749BFD5 +:107BA00049454DB7411122C406C62E84EF109FC32C +:107BB00011E54945B2402244410182801C39A305A8 +:107BC000850213F7470075D7ED9B1CB9BD47230607 +:107BD000F5028327850A93E727002324F50A014548 +:107BE000D1BF411122C426C206C62E84B284EF1032 +:107BF0007FBF03278510137707023DC7130754FE85 +:107C00009306000EAA8733470708494563E0E6025A +:107C10001167938684EB13078714B3C6060863675E +:107C2000D70003D7471E631887000145B24022449E +:107C300092444101828097D6F91F9386A688BA366E +:107C4000A38E8706239F97063357870A239AE71C3C +:107C5000DA363357970A239BE71C03A7470A131703 +:107C6000B72823A2E70AD1B74545C9B797D7F91F67 +:107C700093874785B44F2A8791C6D02601C6D4364C +:107C8000494585EAB45F99C6B03609C6942A494584 +:107C9000858A85E283A6C70891C6F03201C6D4362C +:107CA000494581EA83C6870B83C7970B63E8F600D3 +:107CB0001D4582801D45F2400561828001111946F3 +:107CC0001305A10006CED8849780F91FE78080684D +:107CD0002800EFD00FFA8547E31EF5FC0145E1BF10 +:107CE000797126D24AD04ECE52CC56CA5AC85EC6F8 +:107CF00006D622D42E89B289B68A3A8ABE8B428BA6 +:107D0000EF105FAEC94455C105679307A9FF9306FD +:107D1000A7C7C944B3C7070863E9F608130707C82C +:107D20006365370963E329099307301F63EF57073A +:107D3000636D470713871A00334707083307270384 +:107D400093173A006353F70604392A848588639EA3 +:107D5000040E8327450A93F71720E5EB3835231ADD +:107D60002507231B3507231C7507231D6507231DC6 +:107D70005505231E45055C3D4DE385EB8327051026 +:107D8000898BA1C331469305F00F130585069780B3 +:107D9000F91FE780A0628327440A2314040693E7AF +:107DA00007202322F40AC9475CBCB250225402596E +:107DB000F249624AD24A424BB24B268592544561FF +:107DC000828063093905B385290185814A85EFC021 +:107DD0005DEC231CA404930584054E85EFE04EAFB3 +:107DE00097C7F91F83D7C7788D46114763E5F6001B +:107DF000850713F7F70FA30AE4042285EF004FB6B7 +:107E000083570404A907231FF4048327440A93E734 +:107E1000170041BF231C2505E1B7C1FB832785104F +:107E2000898B95C731469305F00F1305850697801A +:107E3000F91FE780A0588327440A2314040693E718 +:107E400007202322F40ACD4785B7B144B9BFE944DE +:107E5000A9BF17C7F91F1307E7663C4F91C7D4277F +:107E600081C6D437C947B9E63C5F99C7B43789C6DC +:107E7000942BC947858A9DEE8327C70891C7F8339D +:107E800001C7D837C9471DE70111C8841946130532 +:107E9000A10006CE9780F91FE780C04B2800EFD0E5 +:107EA0000FE8054781476303E500B147F2403E858F +:107EB000056182803E85828097C7F91F938787601E +:107EC000B84F11C7542781C6583749450DEBB85FE5 +:107ED00019C7343789C6182B4945058B0DE383A78D +:107EE000C70891C7F83301C7DC37494589EB411111 +:107EF00006C6EFD0AFEBB2400145410182808280DF +:107F0000630B0510011122CC26CA4AC84EC652C4C2 +:107F100006CE56C25C2117C9F91F1309A95A0324BA +:107F20004909FD8BAA845CA18D49214A15E8832764 +:107F3000C9051147C146E1EBA68517C5F91F130511 +:107F4000456815469780F91FE780C040F2406244BB +:107F5000D2444249B249224A924A0145056182808F +:107F60003C348DE38327440A1546A68593E7270012 +:107F70002322F40A130584129780F91FE780803DBD +:107F800000406DB78347E418858BB1C38145154325 +:107F90009398150001473388B400034508009356B1 +:107FA0002700C696A2961376370083C77619060671 +:107FB0003355E54829C5B397C72893F7F70FA38B27 +:107FC000F6180507E31B47FD8505E39365FC930A57 +:107FD00024191546A68556859780F91FE780004924 +:107FE00045F11546A68556859780F91FE7808036AE +:107FF0008347E41893E787002307F41851B73396B3 +:10800000C900D18F5DBF03C6C7076314E600238E86 +:10801000D7069C430DB749458280411122C426C230 +:108020004AC006C6AA84014421499305F00F0545BC +:10803000EFC0BDC3B387840088A30504E31724FF02 +:10804000B240224492440249014541018280797143 +:1080500022D44ECE06D626D24AD02EC6B289368437 +:10806000EF104FF87DC90349B500B245AA846316E5 +:10807000090E21461305B51A9780F91FE780802D58 +:10808000A389341B93D98900238A341B7C24503460 +:108090006C345424A207420603C5C404B297E20616 +:1080A000AE97B69703A7440A9386040835C1DCD679 +:1080B0003C24103413670702A2074206B2973034FB +:1080C000B29710246206B2979CDA7C205030A20747 +:1080D0004206B2977030B29750206206B297DCDA4F +:1080E0003C201030A2074206B2973030B2971020E1 +:1080F0006206B2979CDE8547A386F40423A2E40AB5 +:10810000B25022549254F2494A8502594561828004 +:10811000FCC63C24103413678700A2074206B297BE +:108120003034B29710246206B297BCCA7C2050301B +:10813000A2074206B2977030B29750206206B297FB +:10814000FCCA3C201030A2074206B2973030B297EA +:1081500010206206B297BCCE55B7094955B74111F8 +:1081600022C406C62E84EF10EFE771C93435854767 +:108170002A870545639CF606142B930740026396F5 +:10818000F6067C245434A207C206B6977434B69718 +:108190005424E206B6978346D704A9CE930607086F +:1081A000DCD63C241034A2074206B2973034B29792 +:1081B00010246206B2979CDA7C205030A207420657 +:1081C000B2977030B29750206206B297DCDA3C204A +:1081D0001030A2074206B2973030B29710206206E4 +:1081E000B2979CDE9307A0021CAB0145B24022442B +:1081F0004101828093060708FCC63C241034A20784 +:108200004206B2973034B29710246206B297BCCAC5 +:108210007C205030A2074206B2977030B2975020AF +:108220006206B297FCCA3C201030A2074206B29701 +:108230003030B29710206206B297BCCE65B70545C4 +:1082400075B7411106C6EF10EFD91DCD343505477E +:10825000AA8709456397E602942B130740026392AD +:10826000E6020D472386E7021947A385E7021307B5 +:10827000500298AB03C7A702014513671700238577 +:10828000E702B240410182800945E5BF5D71A2C4A9 +:10829000A6C286C697C7F91F9387C7223684943330 +:1082A0002A87B2848DC2B44F81C6D4263145BDE23F +:1082B000B45F81C6B4363145B1EE83A6C70881C626 +:1082C000F4323145A1EA03C6070C83C6170C1D45DD +:1082D0006372D60483A7070D494593F707049DCB26 +:1082E00019462800D8839780F91FE780A0064146E9 +:1082F000A6851305E1029780F91FE780A005130505 +:10830000E1014146A2859780F91FE780A00448005B +:10831000EF800FA2B640264496446161828097C7E1 +:10832000F91F9387271A98330DC3B84F01C75827F1 +:10833000494505E7B85F01C73837494519EF83A7B5 +:10834000C70881C7FC33494589EB411106C6EF8058 +:108350000FB2B240014541018280828097C7F91F68 +:108360009387471694332A878DC2B44F81C6D4268B +:1083700049459DEAB45F81C6B436494595E683A672 +:10838000C70881C6F432494585E203A6870D98B334 +:1083900083A5C70D9376F69F19C39366066023AC39 +:1083A000D70C23AEB70C01458280930700643305D8 +:1083B000F502411126C297C4F91F9384A41022C468 +:1083C00003A4440C4AC006C61309F00FC8D801E83C +:1083D000B240224492440249014541018280082072 +:1083E00063052501CC58EFC00D80405CCDB797C721 +:1083F000F91F9387270DA38CA7021377150011EBA4 +:1084000003C7C7036D8F6304B70049458280238D7E +:10841000E702098919C10145828003C7D703718F1B +:10842000E315C7FEA38DC702FDB7011122CC26CAF2 +:108430004AC84EC606CEAE84B28936893A84EF1059 +:108440006FBA2DC193F7140091EF8D4763FA37018E +:108450004545F2406244D2444249B24905618280B6 +:1084600023023515898891E48D47E3E327FFA302B2 +:10847000251501CC97C7F91F83D7E7087D8C0D8898 +:108480008547631EF4002314851485477CAD83273C +:10849000450A9397C7282322F50A01455DBF231497 +:1084A0000514E5B7494575B75D716ECE97CDF91FD7 +:1084B000938D4D0152DC3E8A83A78D05A6C2CAC0AA +:1084C0004EDE56DA5AD85ED662D46AD086C6A2C4C8 +:1084D00066D246C6B684830B41058346810583492F +:1084E00001062A8D2E89B28A3A8C428B99C7EC4BB1 +:1084F000B70700043145ED8F85EF8D4763E94701EC +:10850000937C090163870C0085476389F60449451C +:1085100005A093753900E38CF5FE93758900E5F9A4 +:108520006397F60283C7CD033145918B6393072090 +:10853000B640264496440649F259625AD25A425BE2 +:10854000B25B225C925C025DF24D61618280639459 +:10855000F91E83C7CD03918B3145F9DB6A85EFF0B6 +:10856000CEB22A8411E983A78D06054582972A8415 +:108570001D455DDC2304A40193070002639FF40002 +:108580008D476399F904562C9307900F13055004F7 +:10859000E3E0D7FA762CE3EDD7F89376F90F2300D2 +:1085A000D406638E0C101379F9009547631BF9020A +:1085B000930710F87CA44545E3EC54F7FD47454587 +:1085C000E3F857F79167E3E597F6D6948580B3C44F +:1085D000040831A88547E392F9FC562C9307D02E66 +:1085E00075B7B5476313F90C85477CA4894406B079 +:1085F000A307840163160C1085471CBC93F6060282 +:1086000099E2A30A44033245194681459780F91F30 +:10861000E780E0ED63140510B2458547230EF402B0 +:10862000A30E640319461305E4039780F91FE7803E +:1086300060D2834701055CB49307F0076393FB0E98 +:10864000565797C7F91F83C767B21CA30305540188 +:10865000EFD02FD62304A406EFD04FCFD65748B87B +:1086600088A38347C1052305040623020406A30249 +:10867000F40683470406C18B99EBFD1993F9F90FB2 +:108680008947E3E637E9A3050406A30134078347D6 +:1086900041060145A300F40683478106A303F406BF +:1086A0007C489397B7297CC861B589476314F90062 +:1086B000994709B7E30009F023070400EDBD9D4782 +:1086C0007CA493F5160093F7460089C991E3914580 +:1086D000A30FB4048547230FF404F1BD93F52600DE +:1086E00081C9894591C39545A30FB4048947E5B76E +:1086F0008D4591C39945A30FB404230F040465BDB0 +:10870000A30C040081478D453356FC4801C6103C3C +:10871000050610BC8507E399B7FECDB5230E04020C +:1087200009BF914763C57701A30A740105B75CB817 +:1087300031BFE385D9E28947E392F9E283C7CD03EC +:10874000898B19BD01114EC697C9F91F938989D725 +:1087500083A7890526CA4AC852C406CE22CC2E89D0 +:10876000B6843A8A99CFF84BB7070004F98F91CBBA +:108770003145F2406244D2444249B249224A05613D +:108780008280EFF08E902A8419E583A7890513056E +:108790002004F9FFF9BF782585473D8B630EF70E5E +:1087A00003470506418B41CF8D476304F9004945D6 +:1087B000C9B7FD47E3ED97FE231E0400F1C85E2C08 +:1087C00003D769071D45B3869700E344D7FA5824B9 +:1087D00005C71630130700026390E602034734060C +:1087E0008D46631DD70A1307900F13055004E362EB +:1087F000F7F87E2CE36FF7F68D471D45E31BF9F67E +:1088000037E900E083290900B70720002320F91881 +:10881000B3F9F9000F1000009305800C0545EFC077 +:10882000CDC48357C4061205232444038507BD8B9A +:10883000C98F2316F40646AC23203911B1A8631A58 +:10884000F900231E0500A5D458248547E319F7F63F +:1088500005B70D47E302E9F61147E316E9FE74494F +:1088600037070001758F21F75825E312F7F45E2DC5 +:108870009DDF95FC9305800C0545EFC00DBF835728 +:10888000C40612058507BD8BC98F2316F40629A0DF +:108890007C48939787497CC80145E1BD8546E31D27 +:1088A000D7F41307D02E91B701114EC697C9F91FFF +:1088B000938949C183A7890526CA4AC852C406CEEE +:1088C00022CC2E89B6843A8A99CFF84BB707000498 +:1088D000F98F91CB3145F2406244D2444249B249CA +:1088E000224A05618280EFE05EFA2A8419E583A7B7 +:1088F000890513052004F9FFF9BF782585473D8BCD +:108900006304F71203470506418B71C38D47630467 +:10891000F9004945C9B7FD47E3ED97FE231F040061 +:10892000638004107E2C03D769071D45B38697002A +:10893000E343D7FA582405C71630130700026390A3 +:10894000E602034734068D466312D70E562C1307F2 +:10895000900F13055004E360D7F8E36EF7F68D47E8 +:108960001D45E31AF9F65C5485C783476406898B75 +:1089700085C3085811CD3C2581CFEF70DFB50C5869 +:10898000194613056403B1059780F91FE780809CA1 +:1089900037E900E083290900B70720002320F918F0 +:1089A000B3F9F9000F1000009305800C0545EFC0E6 +:1089B000CDAB8357C4061205232644038507BD8B20 +:1089C000C98F2316F40666AC23203911B1A8631AA7 +:1089D000F900231F050095DC58248547E314F7F4BC +:1089E000D5BD0D47E30CE9F21147E316E9FE7449E2 +:1089F00037070002758F11FF5825E31CF7F07E2D15 +:108A000089DB81F89305800C0545EFC00DA68357DF +:108A1000C40612058507BD8BC98F2316F40629A04D +:108A20007C48939797497CC8014575B58546E318FE +:108A3000D7F2562C1307D02E29BF5D71CAC017C9B3 +:108A4000F91F130929A8AA8703258905A6C286C686 +:108A5000A2C44EDE52DC56DA5AD85ED662D466D252 +:108A60006AD06ECE32C23AC4B68405E5858B95EFE6 +:108A7000A9C10145B640264496440649F259625AB6 +:108A8000D25A425BB25B225C925C025DF24D616144 +:108A90008280744937070004758F63120714858B31 +:108AA00089E781C9EFE09EFEE9B7639D050E494560 +:108AB000D1B70324C90555DC2285EFE03EFD004017 +:108AC000DDBF78493377EC00631B07100347F505DA +:108AD000630497016316A70103D7EA016301071036 +:108AE00003C75A03630E370703C7EA00631737014A +:108AF000332794201A23E3ECEDFA0327C9067D14EB +:108B00001374F40F79CFA247B3249A209A203E9A87 +:108B10009305800C2397EA0603470A00054523982E +:108B20000A06A384EA06EFC04D9403D7CA061205CD +:108B3000264405073D8B498F2396EA068327C906FD +:108B400003C50B00B64096440649F259625AD25A00 +:108B5000425BB25B225C925C025DF24D6161828796 +:108B600093878A05194681453E853EC69780F91F41 +:108B7000E780E097631D3501194697C5F91F938576 +:108B8000C5A213858A059770F91FE780A07C194656 +:108B9000814513858A059780F91FE7804095E31585 +:108BA00035F531B7FD1513F4F50F370C0003894C7B +:108BB000154D8549930D0008130BF00F9247228A3B +:108BC000B38B870003C50B00EFE03ECCAA8AE31A03 +:108BD00005EE8327890513052004E38D07E8314559 +:108BE00051BDE31D64FDE1B539714AD84ED656D268 +:108BF0005AD05ECE62CC66CA6AC83E8B06DE22DCE4 +:108C000026DA52D497C7F91F83A74791834B0104F3 +:108C1000AE8A3289368CBA89C28C468D95C7F84B9C +:108C2000B7070004F98F8DC3314AF2506254D25411 +:108C30004259B259925A025BF24B624CD24C424DAD +:108C40005285225A21618280EFE03EC4AA84130A31 +:108C5000200461DD63745901494AC1BF9547E3FDB2 +:108C600057FF8347050693F73703FDF7034AE505EA +:108C7000E31C0AFA7C49918BC5FBEFB02DD5F9476F +:108C800063E4A7001D4A55B783C7340691EB03D7A9 +:108C900044089307D02E63F5E700994763F0270F48 +:108CA0006384090CB3C73A03E3C867FB639B0B02F9 +:108CB00003A4C40A2DC42302340123047401A302B3 +:108CC0006401FC4856991359194093E72700FCC8E2 +:108CD00083C7040623932409B3E787012380F4069E +:108CE000A9B7E3FB6CF785476383FB02B3079B419E +:108CF0002947B387E702B3C77703E3CFA7F503A4F8 +:108D0000C40A11CC23023401A303A40131A003A49B +:108D1000C40A11C4230234012303940179BF1386CA +:108D2000190012069305E010328532C69770F91FBC +:108D3000E780C0322A8439D5324681459770F91FC1 +:108D4000E780C067B7C7898E23A6840A938767ED3B +:108D50001CC0930704015CC423023401E38F0BF4AD +:108D60008547E393FBFA4DBF03A5C40A39D9977031 +:108D7000F91FE780C03B23A6040AA1B7130A5004D9 +:108D80006DB5011126CA4AC84EC606CE22CC52C4C1 +:108D900097B7F91F83A78778AE843289B68991C7C0 +:108DA000F84BB7070004F98FA9E3EFE01EAE2A8461 +:108DB0001305200459C07C48898B8DC38347340632 +:108DC00091EF035744089307D02E63F9E700035748 +:108DD000640899471305500463F1E70693F7D40F2D +:108DE00005476386E700630209063145B9A0B7E786 +:108DF00000E003AA07003707200023A0E718337A12 +:108E0000EA000F1000000325840A19C59770F91FA6 +:108E1000E780E0312324040A23120408B7E700E0C6 +:108E200023A047116312090A8D476393F4027C481B +:108E300023120408F99B7CC80145F2406244D244E5 +:108E40004249B249224A056182809147E38FF4F892 +:108E50004945E5B7F51493F4F40F8547E3E797F830 +:108E6000930550104A859770F91FE780201F23242F +:108E7000A40A25DDB7E700E084433707200023A0DC +:108E8000E718F98C0F1000007C4893F7074091CF4A +:108E90009305800C0545EFB05DDD8357A4081205EE +:108EA0008507BD8BC98F2315F4080325840A4A86DC +:108EB000CE859770F91FE780E049B7E700E02312FD +:108EC000240923A097108DBF7C48918BC1F78D4753 +:108ED000E388F4F819BF41114AC017B9F91F130903 +:108EE000695E8327890526C206C622C4AA842E8508 +:108EF00089CFF84BB7070004F98F81CB3145B240D9 +:108F000022449244024941018280EFE01E982A8463 +:108F1000130520046DD413F714007C484DCB13F7D0 +:108F2000170069FF034704061377370361FB89883D +:108F3000C1CC0327490D454593E70740418B61D3D9 +:108F4000C1657CC8FD150145EFB0BDD42314A4084C +:108F5000EFD06F8E93040408B7050001C8C4FD1557 +:108F60000145EFB09DD588C89304040A154697B50E +:108F7000F91F9385056526859770F91FE780803D69 +:108F8000A685130500FBEFC0FFD52685EF007FAD5A +:108F90007C485824A300A408DD9B93E747007CC8C5 +:108FA0008547631FF7009305800C0545EFB0FDCBA7 +:108FB0008357C40612058507BD8BC98F2316F40697 +:108FC000EF603FA5014525BF93F7F7BF95BF034568 +:108FD000D407CD9B7CC89307F00FE303F5FEEFB0F9 +:108FE0007D81F9BF01114AC83A8917B7F91F1307E4 +:108FF000674D0328870722CC26CA4EC652C456C2E4 +:1090000006CE2A8AAE8A3284B684BE8963080800F6 +:109010008326C80191673145F58F9DE3785F31451F +:1090200005C39377A4FF454581EF937754003145FD +:1090300081CB6310080202972A880D45631F080040 +:10904000F2406244D2444249B249224A924A0561FE +:1090500082808347B8003145E5F78D474945E3E114 +:1090600047FFA3064805230858012300080293750B +:10907000140085C99C20A307F80083570900231B0F +:10908000F80003D609003356F60A93075005231C4F +:10909000C8003306F60285472300F8022186231D07 +:1090A000C800118829C0AE949C2033A92521B3A5FE +:1090B0003521A307F800A307F80203570900231975 +:1090C000E8029E21B3D7E70A13075005231AF802D6 +:1090D000B387E702A187231BF8028347080293E7BF +:1090E00027002300F8028327C80101459397F7283A +:1090F000232EF800B1B717B7F91F1307A73C3C5F41 +:10910000011122CC26CA4AC806CE2E89B2843684E2 +:1091100089E77C5F8DEB314521A8D04F9166F18EB8 +:10912000FDFA785F6DDB19C905476309E50249451A +:10913000F2406244D2444249056182802AC6EF90DF +:10914000EFD43245F5B70547E313E5FE8297AA87CA +:109150000DCD1147A30605047AA91AADB43705470A +:10916000E387E6FC85C086BFA2BF01C41E04E3D02E +:1091700084FC238927016244F240D2444249BC570F +:109180000561828723AC0702EDB70D4555B75D71C8 +:1091900062D466D26ECED084AA8DAE8C328CB68567 +:1091A00019461305A100A2C4A6C2CAC04EDE52DCF5 +:1091B00056DA5AD85ED63E8A564BE64A86C66AD0FA +:1091C000B68B3A84C289468997B4F91F9384842F59 +:1091D0009770F91FE7800018BC5C8DC7D84F916766 +:1091E000F98F8DC33145B640264496440649F2595D +:1091F000625AD25A425BB25B225C925C025DF24DD3 +:109200006161828083A70409F1DFEFE03EF297B746 +:10921000F91F83C7D7F5E307F5FC9D474545E3E410 +:1092200087FC9377540099E3494575BFBC5C99C7A7 +:10923000D44F1167758F5DF7BC37CDF703ADC40808 +:1092400063150D3083A7040982972A8D41DD0D47F0 +:10925000E36C97FDA306BD01A3029D071946814556 +:109260005E859770F91FE78080286316052E0547F5 +:109270002306ED06A3068D071946DE851305ED06C8 +:109280009770F91FE780000D230C0D02937B1400EB +:10929000814C63880B0C83560A001146C647B3F60F +:1092A000C60A231ADD0203D7090093050D05DE8CDB +:1092B0003357D70A930650053377C70A231BED02AD +:1092C0003307D70221872319ED020547230CED024E +:1092D000035709002317ED008A232A970587231ACD +:1092E000AD002318ED04EFC0BEDE83560D05856585 +:1092F000938505C81947B3D6B60AB3C60608B3F6B0 +:10930000E60A2318DD0403560B001307301FF64747 +:109310003356E60A130716003307D702231DCD0084 +:1093200003D50A0009873367A70A334707082310C4 +:10933000ED028A2386573357B70A2313AD02A94596 +:109340008A23334707083377B70A2310ED020A0749 +:109350003347D7022316AD027D173347C70A231DB3 +:10936000ED00137C2400630C0C0A33A72C211A2374 +:10937000C64793052D052318ED00B3A6FC208A22CD +:10938000939D1C00850C2A970587231BAD0023198C +:10939000ED04EFC0FED383562D050565130505C802 +:1093A0001947B3D6A60AB3C60608B3F6E60A3307CA +:1093B000BB012319DD040E231307301F3386BA01C6 +:1093C000B3D5E50A138715003307D702231EBD0066 +:1093D0001222F64793FCFC0F09873367C70A3386CE +:1093E000B701334707082311ED021222865733577E +:1093F000A70A2314CD023386B70112223347070888 +:109400002317CD0229463377C70A2311ED020A0735 +:109410003347D7027D173347B70A231EED00118863 +:10942000630E041233AA4C2183560A001146B3A9D5 +:109430003C21B3F6C60A2313DD0403D7090033A980 +:109440002C21C6473357D70A930650053377C70AEE +:109450002314ED043307D70213941C00B3ACFC2093 +:1094600093054D05229BA29A21872315ED040347FE +:109470008D0313672700230CED02035709002319FE +:10948000ED0003D50C002A970587231CAD00231A95 +:10949000ED04EFC0FEC383564D050565130505C8F1 +:1094A0001947B3D6A60AB3C60608B3F6E60A231AC6 +:1094B000DD0483550B001307301FF647B3D5E50ACB +:1094C000138715003307D702231FBD0003D60A00F8 +:1094D00009873367C70A3386870033470708231293 +:1094E000ED02122286573357A70A2315CD02338681 +:1094F00087001222334707082318CD022946337705 +:10950000C70A2312ED020A073347D7027D173347F4 +:10951000B70A231FED0063100C02638E0B04035780 +:109520000D052319ED040357AD01231EED0003576C +:109530000D022311ED0203A7840D83278D08136705 +:10954000072023ACE40C829779B983467D00054758 +:10955000E39FE6CE41B923060D063DB303570D0543 +:10956000231AED040357AD01231FED0003570D022D +:109570002312ED024DB703574D052319ED04035790 +:10958000ED01231EED0003574D0265B741114AC09E +:1095900017B9F91F130909F38327890726C206C6DD +:1095A00022C4AA8481EF8327C907D5E33147B2409B +:1095B0002244924402493A8541018280D84F916702 +:1095C000F98FEDF78327C907F5D3FC241D47032442 +:1095D00089079D8BE38CE7FC98205C4C058B59C375 +:1095E0005C4C898BE1F79C20114793F667006397E9 +:1095F000E6008326C90C4547C18AD5DA858B85E309 +:109600009C30194693853400230AF40CBC201305C2 +:10961000640DA30AF40C9770F91FE780A0D39C2077 +:109620002301F408BE242312F408DE242313F408D3 +:10963000FC24A301F408FD57A30EF4065C4CC59B63 +:1096400093E727005CCCEFB0BFE101478DB782976D +:109650000D4731DD11477AA91AAD0547A306050468 +:1096600038B5A5B7898BC1D30347440D9C30E31FA0 +:10967000F7F20347540DBC20E31AF7F2194693851D +:1096800034001305640D9770F91FE78020DE8547CD +:109690002D47E317F5F421BF97B7F91F83A707EA12 +:1096A000314599CFDC4F11677D8F19EB898B89CBC1 +:1096B000411106C6EF80EF9EB24001454101828014 +:1096C0008280411122C406C617B4F91F032404E79F +:1096D00041C05C4C91662A87FD8E3145BDE28356C0 +:1096E000240D13052004639EE6040345D407C59B9F +:1096F0005CCC230E04069307F00F6307F500EFB070 +:109700006D8FFD57A30EF406034514089307F00F61 +:109710006307F500EFB00D8EFD57A300F408032595 +:10972000C40C19C59770F91FE78060A0A304040C4E +:10973000BD67938707A60100FD17F5FF3C3491E74D +:109740000145B2402244410182803C548297CDBF02 +:109750003145C5BF011122CC06CE97B7F91F9387BB +:1097600067D6983332841DC3B84F01CB582711C731 +:109770004945F240624405618280B85F19C33837B9 +:1097800065FB83A7C70899C3FC33FDF3C88419465A +:109790001305A1009770F91FE780C0BB28009780D0 +:1097A000F91FE780006069D500B10145D9B717B747 +:1097B000F91F0347C7D5B357F740858B454591C37C +:1097C00001458280011122CC26CA4AC84EC606CE67 +:1097D0002E893284B689BA84EFE02E8B3DC50328EA +:1097E0004505AA8731451377082029EB17B7F91FDC +:1097F000130747CD83469704454563E1260503C615 +:10980000470B33568640058A15CA8326070D37064F +:109810000800F18E85C60347870463619702238B96 +:10982000870AA38A270BA38B370B11C026841368E2 +:109830000810238C870A23AA07050145F2406244D9 +:10984000D2444249B2490561828013052004FDB724 +:10985000411122C406C62E84EFE02E8315C178493B +:10986000AA8731459376270081CA9376F7DF19C01E +:1098700093660720F4CB0145B24022444101828027 +:1098800013052004D5BF411122C426C206C62E846A +:10989000B284EFF03EF517B7F91F032727CA29CB8B +:1098A0008356270DAA8713052004639E9602094557 +:1098B0009DCB83A60710370600026945F18E85C649 +:1098C00003C6E7049306200263FFC60023A0E71641 +:1098D00003A7470A2398871423A2071613170729FB +:1098E000014523A2E70AB24022449244410182800A +:1098F00013052004CDBF411122C426C24AC006C6AA +:109900003289AE84EFF01EEE2A844A85EFD0FEF74E +:1099100029C803270410B7060002AA87758F694576 +:109920001DCB8346E404130720026376D702130598 +:10993000200495C3F84B3145218B11CF2322F41617 +:109940008327440A23189414232004169397072985 +:1099500001452322F40AB2402244924402494101C3 +:1099600082800945CDBF011122CC4AC84EC652C4DF +:1099700056C25AC006CE26CAAE89328BB68A3A8AF9 +:1099800017B9F91F130909B4EFF0DEE503248907BD +:109990005DC58327C907AA8499E3EF809FE015E896 +:1099A0008327C90782972A840D453DC48347D40481 +:1099B000858BADCF834729004945B9CF194697B567 +:1099C000F91F938585BE1305E4049770F91FE7809E +:1099D00060985C4C13F7270015C313F7E700A14606 +:1099E000631CD7040345D407C59B5CCC230E040637 +:1099F0009307F00F6304F500EFA0DDDFFD57A30E22 +:109A0000F4062312640923135409A301440923878C +:109A10003415EFB0FFA40145F2406244D2444249FC +:109A2000B249224A924A024B05618280194697B593 +:109A3000F91F938525B741BFEF70BFE6C1B7094550 +:109A4000E1BF011122CC26CA4AC84EC652C406CE76 +:109A5000AE843284B6893A893E8AEFF0BED831C9E5 +:109A6000B38784001307F00F2A884945634BF70238 +:109A700063E9840233872901B387844063C3E70223 +:109A800083474818A30298182303881893E74700D0 +:109A90002302F818A3033819230428192315481999 +:109AA0000145F2406244D2444249B249224A05612A +:109AB00082800945FDB7411122C42A840A2106C6C5 +:109AC000EFF05ED221C503063400AA874945634BF7 +:109AD000C00283052400130710FA63C5E5020307DB +:109AE0005400914663C0E60283064400315863CBBC +:109AF0000601238EB716A38EC716238CD716A38C08 +:109B0000E7160145B2402244410182800945DDBF8C +:109B1000411122C406C62E84EFF0DECC21C90347D2 +:109B20004518AA873145937647008DCA05CC8386B0 +:109B3000A717136717002382E7181307F007639E20 +:109B4000E60003A7470AB7061000F98E99E6131737 +:109B50004729A38F071623A2E70A0145B2402244F2 +:109B600041018280799B2382E718C5BF0945FDB773 +:109B700097B7F91F83A7879AF84B0111B70700041D +:109B800022CC4AC806CE26CA4EC652C456C2F98F47 +:109B90002E89328499C31305000FEFD01ECFAA87F8 +:109BA00013052004B5C303A7C70A314531CF544775 +:109BB000A1CE5823636A270537E700E0032A070090 +:109BC000B70620002320D718337ADA000F100000E0 +:109BD00083A7C70A2287814683A9C7000145CE878C +:109BE00063CD260393050011334505089760F91FDF +:109BF000E780C046AA842104814A63C62A05B7E7E4 +:109C000000E023A047110145F2406244D24442499A +:109C1000B249224A924A056182801023C107850613 +:109C20002388C7FE10333107A388C7FE034667FFAA +:109C30002389C7FE034677FFA389C7FE4E203295CE +:109C4000239AB7FE71BF23A499000346B4FF0C40CA +:109C50002685C1099760F91FE780C06F83C739FF68 +:109C6000850A3104BE9451BF41114AC017B9F91F8A +:109C7000130949858327890526C206C6F84BB7070D +:109C8000000422C4F98FAA841305000F91E38820F1 +:109C9000EFD0BEBF2A841305200409C48327C40A59 +:109CA00081EB3145B2402244924402494101828015 +:109CB000D84765DB9830DC23E3E5E7FE8327040B18 +:109CC00099EB9305F010130500029760F91FE780E8 +:109CD000E0382328A40A0325040B61D513040408E3 +:109CE0005C5405474946B8B7A6859760F91FE780D9 +:109CF0006066B70500010458FD150145EFA0FDFBA6 +:109D0000C8C80458EFC02FB3005888CCC1451545CA +:109D1000EFA0BDF548AC8327890D014593E70720E7 +:109D2000232CF90C41B7411122C406C626C297B7AD +:109D3000F91F83A7A78031448DCFD44F11673144D9 +:109D4000758F05EB83D6270D1A2113042004639227 +:109D5000E60237E700E00443B70620002320D718C7 +:109D6000F58C0F10000003C4970C11C82320971026 +:109D70005944B240228522449244410182803A21D2 +:109D80002392E70C58212383E70C5831A383E70C77 +:109D900078212384E70C7031A384C70C01CA0C45D9 +:109DA00003A5C70C9760F91FE780C05AB7E700E02A +:109DB00023A097107DBF011126CA4AC852C406CEFF +:109DC00022CC4EC62E8A3289B684EFF0BEA171C570 +:109DD00097A7F91F9387072D631D0900054798A3CF +:109DE0000145F2406244D2444249B249224A0561E7 +:109DF0008280982385472A846317F70097A7F91F65 +:109E00002382072A094AB7E700E083A9070037073A +:109E1000200023A0E718B3F9E9000F100000416506 +:109E2000130545F5EFF09E9D29C93C253EA58327E6 +:109E30008411A1E3232CA410232EA410930710F85F +:109E4000F9141CB523200500231625012304450120 +:109E500044C1834594020145B315B028B3C5050834 +:109E60009790F91FE78060BAB7E700E023A03711A9 +:109E700085BF8327C41188C3C1B797A7F91F83A7DC +:109E8000A73091C795659385555505458297B7E7E6 +:109E900000E023A037111D45A9B7094599B76F9078 +:109EA0009ECB6F903ED06F903ED56F907EDB6F90D3 +:109EB0005EE16F90FEED6F905EE56F90DEE8828070 +:109EC0006F909EF1034301001AC06F900E8B6F904C +:109ED0000E976F90AEA06F902EA76F908EAD6F9083 +:109EE0006EB36F90EEB96F906EBE79711303F00F81 +:109EF0001AC81AC60343810306D61AC40353410382 +:109F00001AC2035301031AC0EF900EC3B250456149 +:109F1000828003530100035E4100834E8100034FA2 +:109F2000C100835F010176C47AC67EC872C21AC0BE +:109F30006F908EC06F900ED46F90CEDF03530100F0 +:109F4000034E4100834EC10093F8F80F1378F80FC9 +:109F500076C672C21AC06F90EEE36F906EF36F9088 +:109F60006EFC6F90FE886F909E8C6F90DE8F6F906E +:109F70009E956F903E9C6F907EA0828082806F90B5 +:109F8000DEB2797126D206D622D44AD04ECEAE8425 +:109F90009397556063D0072097A9F91F93890919F2 +:109FA00003C509009760F91FE78000312A841DC1AD +:109FB00018219307000D631CF7003821914763E4D3 +:109FC000E702894763E8E71655CF630FF70E22854E +:109FD000EFA00DA41395F468B25022549254025984 +:109FE000F24945618280D14763EFE704C947E3F056 +:109FF000E7FE17A9F91F1309291383270900143154 +:10A0000093F7F7F063950618CD46631DD71693E7CF +:10A01000070117A7F91F1307C7102320F9001C23F6 +:10A020009396476063DC060003C5090093F7F707C2 +:10A0300091451CA39790F91FE780209D8327090075 +:10A0400013958729E9A8930757FE93F7F70F8546DD +:10A05000E3EFF6F617A6F91F1306060D1442FD7777 +:10A060000C319387F70FFD8E93E7063081E9ED45BC +:10A0700093E706206314B70093E706101CC21395FC +:10A08000972971A81C3117A9F91F1309E90989C774 +:10A0900099472320F90035A093053500194617A5E7 +:10A0A000F91F130525079760F91FE780A02A854748 +:10A0B0002320F900854503C509009790F91FE78023 +:10A0C000C09403250900A1A814313C3195EE639298 +:10A0D000E70217A7F91F130727051C438145014510 +:10A0E00093F7F7F093E707021CC3EFF08DC908B0B0 +:10A0F000F9BD0547814501456395E700EFF04DBB8C +:10A10000FDB7EFF0CDADE5B7E383E7EC17A7F91F97 +:10A11000130787011C43C19B13E5670008C397A77A +:10A12000F91F83A767F8E38407EA9C43E38107EA02 +:10A13000829771BD17A9F91F130909FF8327090029 +:10A140001431C19B8DEE8D466314D70293E727002F +:10A1500017A7F91F1307F7FC2320F9001C23939678 +:10A160004760E3D006F693F7F7071CA38945A1B72C +:10A1700017A7F91F230807FA93E7370019BF93E7DA +:10A18000670001BF93E707022320F90045BD93E76D +:10A190000703DDBF93F71500C9C397A7F91F83C74E +:10A1A00067F8ADCB97A7F91F83C7B7F65C8297A571 +:10A1B000F91F9385A5F597A7F91F83C787F51305A1 +:10A1C00061001946DC829760F91FE780A01897A705 +:10A1D000F91F83C767F35C864C0097A7F91F83C7F5 +:10A1E00097F217A5F91F034565F4DC86EFE09DD5CE +:10A1F00015C197A7F91F938727F3884341991365E2 +:10A20000650088C397A7F91F83A707EA81C79C4306 +:10A2100091C3829713C51400C1B393F72500A9C356 +:10A2200097A7F91F83C7F7EF858B85CB17A5F91F74 +:10A230000345C5EFEFE09DFF0DC197A7F91F938779 +:10A24000A7EE88431375F5F088C397A7F91F83A776 +:10A25000A7E581C79C4391C3829713C52400ADBB7A +:10A2600013F54500E30A05D697A7F91F83C767EBE7 +:10A2700095CB17A5F91F034565EBEFE0FDFE1DC16A +:10A2800017A7F91F130747EA0843FD779387F70FCE +:10A290007D8D08C397A7F91F83A707E181C79C435A +:10A2A00091C3829713C5440005BB97A7F91F83A7E5 +:10A2B000A7E785E709C597A7F91F23A7A7DE814769 +:10A2C00001478146014697A5F91F83C5B5E517A546 +:10A2D000F91F0345A5E56F00CEC74545828097A7C6 +:10A2E000F91F23A3A7DC8280411126C206C622C41F +:10A2F00097A4F91F938484E380209307F00F6308E9 +:10A30000F4006145B2402244924441018280170525 +:10A310000000130545C7EFA08DF288A0E30385FE7A +:10A3200097A7F91F23A207D897A7F91F23AE07DE27 +:10A33000854717A7F91FA307F7DE8D4717A7F91F52 +:10A34000A309F7DC97A7F91F238507DC9D4717A70B +:10A35000F91F230BF7DA97A7F91FA38607DAEFC0D7 +:10A36000BDA3014545B7411126C206C622C4AE842D +:10A370009397556063D8071817A5F91F034545D370 +:10A380009760F91FE78040F32A8409CD1C21130749 +:10A3900010096380E7021307000D638BE70822852D +:10A3A000EF901DE71395F468B240224492444101B6 +:10A3B00082801C3139476399E7025A218567938768 +:10A3C0005740E31EF7FC1C45A8239833AC33220505 +:10A3D00097A7F91F83A787CD598DF1D39C43E1D36C +:10A3E00093954560829765BF1307E003E399E7FA09 +:10A3F00038219D47E315F7FA4A219780F91FE78036 +:10A40000807751DD5825A147E31BF7F897A7F91F7F +:10A4100083A7C7C9C9D79C47D9D332246E204A2005 +:10A420007116F11533460608B3C50508829785BF36 +:10A430003C2119476385E7026360F70285C715472A +:10A440006388E70A97A7F91F83A747C6A9DBDC4300 +:10A45000B9D722858297A1B73147E395E7FEEF1080 +:10A46000D053CDB71C31F9FF97A7F91F83C797C900 +:10A47000A9E7414697A5F91F9385C52E17A5F91F92 +:10A48000130545309760F91FE78040FE39E117A6B4 +:10A49000F91F1306262FC1450945EFA0FDC817A6D1 +:10A4A000F91F1306262DC1450D45EFA0FDC717A5C1 +:10A4B000F91F0345E5A4EFA0FDC11946930534003B +:10A4C00017A5F91F130505C59760F91FE78080E8F8 +:10A4D00095BF414697A5F91F9385C52717A5F91F75 +:10A4E000130545299760F91FE78040F84DD1F1B772 +:10A4F0001C31A9FB3225930545002831A146EF10F8 +:10A50000A04789B711656D8DE30005EA17A6F91F0D +:10A510001306C6C091451145EFA01DC117A5F91F2F +:10A520000345059EEFA01DBB1395E468B5BD411121 +:10A5300022C406C697A7F91F238FA7F2328481C5CC +:10A540002E85EF10803809C497A7F91F23A087B67E +:10A5500097A7F91F83C717BB9DEB2244B24017A6EC +:10A56000F91F034646BA17A5F91F034565B497A717 +:10A57000F91F9387A7BA17A7F91F1307A71F97A655 +:10A58000F91F93862620A14541016F008E9CB240A1 +:10A590002244014541018280011197A7F91F83C719 +:10A5A00027B1C8824C83D08328001946B68506CED1 +:10A5B0005C829760F91FE780E0D94800EFE08DB931 +:10A5C000F240056182800111C88697A7F91F83C7F1 +:10A5D00027AE680006CE5C864C87D087EFE0CDAA18 +:10A5E000F2400561828017A5F91F034565AC6FE055 +:10A5F000EDA597A7F91F2387A7B017A7F91F034752 +:10A60000E7B29307F00F630CF700854717A7F91F10 +:10A61000A30AF7AEB14717A7F91FA305F7B08280C9 +:10A6200097A7F91F83C7B7B481EB61458280614565 +:10A63000B2402244410182804111170500001305F8 +:10A64000C5D222C406C617A4F91F130464A6EFA03E +:10A650000DBF08A01307F00FE30BE5FCA14717A7F8 +:10A66000F91FA301F7ACEFF0DFF897A7F91F83C735 +:10A6700077A999C301456DBF17A6F91F1306861068 +:10A68000C1450945EFA03D8417A6F91F1306860EA4 +:10A69000C1450D45EFA03D83414697A5F91F938520 +:10A6A000650E17A5F91F1305E50B9760F91FE780E5 +:10A6B00060CA414697A5F91F9385C50B17A5F91FD9 +:10A6C000130545099760F91FE780C0C817A6F91F51 +:10A6D0001306C6A491451145EFA0EDFE0820EFC07A +:10A6E000ADEB49BF130705031E21110593C7F7FF03 +:10A6F000231EF5FE8347E5FF93C7F7FF230FF5FE03 +:10A70000E314E5FE828099473305F50201110A86BC +:10A71000C14506CE1305052033450508EFA0ADFA67 +:10A7200009E50886F240056182800145E5BF011117 +:10A7300022CC26CA4AC84EC606CE8144014417A977 +:10A74000F91F1309B99897A9F91F9389A998834705 +:10A750000900636AF400F24062444249B249268526 +:10A76000D2440561828083A709001315440019466D +:10A770009305F00F3E959760F91FE78040D701E5FC +:10A78000850493F4F40F05041374F40FC9B717A5E7 +:10A79000F91F0325659305C5411106C6EF905DA716 +:10A7A000B24097A7F91F23A1079297A7F91F83C764 +:10A7B000F79117A7F91F230BF7904101828097A704 +:10A7C000F91F83C7B79017A7F91F2301F79082805D +:10A7D0005971A6D286D6A2D4CAD097A7F91F83C72B +:10A7E000E78EAA846390A70217A4F91F130484902C +:10A7F00008208545EF90FDBA08208945EF907DBA85 +:10A80000EFF0FFF81949338924035000C1451304C0 +:10A8100009202285EFA02DEB09C90144B6502285FD +:10A820002654965406596561828019469305F00FA7 +:10A8300048009760F91FE78080CB65F148004146EA +:10A840009305F00F9760F91FE78040B748087146FD +:10A850009305F00F9760F91FE78040B608181306BC +:10A8600000039305F00F9760F91FE78020B55000B3 +:10A87000C1452285EFA05D8B50082A84F145130560 +:10A880001920EFA07D8A5008498CF1451305292035 +:10A89000EFA09D891374F40F5008498CC14513052E +:10A8A0003920EFA07D881374F40F5008498CC145FE +:10A8B00013054920EFA05D871374F40F5008498CED +:10A8C000914513055920EFA03D861374F40F498C70 +:10A8D0001D651018930500032695EFA0FD841374E1 +:10A8E000F40F498C1795F91F034585611374F40F14 +:10A8F000EFA04DFE25B7011122CC26CA4EC606CECA +:10A900004AC80144EF906EF49799F91F9389197C16 +:10A910009794F91F9384047C83C709006369F4004A +:10A92000F2406244D2444249B24905618280884083 +:10A930001319440019469305F00F4A959760F91FC3 +:10A94000E780E0BA11E58C40CA95E835EF902EF02B +:10A9500005041374F40FC9B7397122DC26DA4ED618 +:10A9600052D406DE4AD80144EF908EF19799F91F30 +:10A970009389D9759794F91F9384C475194A83C72D +:10A980000900636AF400F2506254D2544259B25939 +:10A99000225A216182808840131944001946930588 +:10A9A000F00F4A959760F91FE78060B41DE5330505 +:10A9B00044030A86C1451305352033450508EFA039 +:10A9C0008DD01008C1450945EFA0EDCF8C4014088B +:10A9D0000A86CA95E835EF906EEA05041374F40F01 +:10A9E00079BF011106CEEFF09FD405478947636315 +:10A9F000A700A9471306F100854513052004DC874D +:10AA0000EFF02DEEF24005618280011122CC26CAC2 +:10AA10004EC652C406CE4AC801449799F91F93897D +:10AA2000F96A9794F91F9384E46A194A83C7090065 +:10AA3000636BF402EFF0BFCF9797F91F83C74769A5 +:10AA400099C3EFF05FEB9797F91F83C7576899C3D6 +:10AA5000EFF09FF06244F240D2444249B249224AA8 +:10AA600005616FF01FF8330544039040131944004B +:10AA7000C1454A961305052033450508EFA0ADC42E +:10AA800005C9884019469305F00F4A959760F91F4C +:10AA9000E780C092884019469305F00F4A95190542 +:10AAA0009760F91FE78080919C40CA972396070022 +:10AAB00005041374F40F9DBF2A219795F91F83C5D0 +:10AAC00065636F10CEEF9947B385F502397122DCCB +:10AAD00026DA4AD84ED606DEA1472A84B2843A89BD +:10AAE000938925206384F60093891520714681455A +:10AAF00048009760F91FE780608C5000F1454E8553 +:10AB0000EFA06DBC05E18347E1012547E51793F709 +:10AB1000F70F6369F700CA86500093F51400228589 +:10AB2000EFC02D96F2506254D2544259B25921616D +:10AB30008280797122D426D24AD0AE842A89328486 +:10AB40008145130600020A8506D69760F91FE78043 +:10AB5000E0869797F91F83C7C73A23102101230E78 +:10AB6000F100B48459C49797F91F83C79758179772 +:10AB7000F91F0347E7575C829797F91F83C7675709 +:10AB8000DC8213564748937777002206D18F1356FD +:10AB900057482606D18F135767482A07D98F93F64F +:10ABA000868FD58F414697A5F91F9385A5B91305C3 +:10ABB0006100FC849750F91FE780C0799797F91FCF +:10ABC00083C7175313F7170011C789C4B8841367D5 +:10ABD0002700F88403476101A2850A85D98F230BDA +:10ABE000F100EFB01DFCB25022549254025945615D +:10ABF00082809797F91F83C7574F1797F91F03470D +:10AC0000A74E5C829797F91F83C7174EDC821356B5 +:10AC10004748937777002206D18F13565748260668 +:10AC2000D18F135767482A07D98F93F6868FD58F10 +:10AC3000414697A5F91F9385E5AF13056100FC8494 +:10AC40009750F91FE78000719797F91F83C7E7496D +:10AC500095BF011122CC06CE2A842EC632C497801D +:10AC6000F91FE78040F105C95825A1472246B245A2 +:10AC7000631EF7009797F91F83A7074689CFDC4328 +:10AC800099CB22856244F240056182879797F91F2C +:10AC900083A7C744E5B7F240624405618280011191 +:10ACA00022CC26CA4AC84EC606CEAA8401441799A9 +:10ACB000F91F1309B9419799F91F9389A94183474E +:10ACC0000900636BF4003E84F24022856244D24462 +:10ACD0004249B2490561828083A7090013154400E7 +:10ACE0001946A6853E959750F91FE780207869FDA3 +:10ACF00005041374F40FE1B75D71A2C41794F91F32 +:10AD00001304843C1C40CAC04EDE86C6A6C252DC78 +:10AD100056DA5AD82A89AE89B5E36302051C6380E6 +:10AD2000051CEFF0DFF7979AF91F938A3A3A83C729 +:10AD30000A00179AF91F130A6A392300AA00636FE1 +:10AD4000F5028144179BF91F130BCB380DA0832705 +:10AD50000B001395440019469305F00F3E9597504C +:10AD6000F91FE780C07809E9850493F4F40F83C7DD +:10AD70000A00E3EEF4FCBE8423009A009794F91FC6 +:10AD80009384C4349C201797F91F0347373463F822 +:10AD9000E71418403DEF1947B387E7024A86C145DB +:10ADA0009387072033C50708EFA00DB813060003EB +:10ADB0009305F00F0A859750F91FE78020608820DF +:10ADC0009D670A863E959305000333450508EFA06D +:10ADD000ADB59C201795F91F0325C52F4146920755 +:10ADE000CA853E959750F91FE780C056232034014D +:10ADF0001795F91F0345C510EFA0CDAD0145B6402D +:10AE0000264496440649F259625AD25A425B61611D +:10AE100082801047014719CE19473385E702F14573 +:10AE20001305152033450508EFA00DB01C4005475C +:10AE300023A407001C40904B39CE88209947F14548 +:10AE40003305F5021305252033450508EFA0CDADE8 +:10AE50001C40D04B23A8070029E2D04751DA8820B4 +:10AE60001949C14533052503130545203345050818 +:10AE7000EFA08DAB88201C40914533052503D047BA +:10AE800041061305552033450508EFA0EDA91C40E8 +:10AE900023A60700B1BFD04B05C288209947C14502 +:10AEA0003305F5021305352033450508EFA0CDA77E +:10AEB0001C4023AA070055B7D04755F215FB9797BA +:10AEC000F91F83C7E72099C3EFF0FFA29797F91FF7 +:10AED00083C7F71F99C3EFF03FA8EFF09FB0054578 +:10AEE00039BF0111994722CC3304F50226CA0A86DC +:10AEF000AE84C14506CE13040420334404082285E1 +:10AF0000EF907DFC19C50145F2406244D2440561D1 +:10AF1000828019469305F00F0A859750F91FE78044 +:10AF2000005D75F138869377D70F89C49377F70F53 +:10AF300093E72700630EF7000A86C14522857C86C9 +:10AF4000EFA08D9E1795F91F034585FBEFA08D9807 +:10AF500005455DBF411122C426C206C60145014414 +:10AF60009794F91F938494169C206373F40011C581 +:10AF7000B240224492444101828022850504EFF0D0 +:10AF80003F851374F40FCDB79797F91F83C7171434 +:10AF9000637EF502011122CC06CE2E8485C5994729 +:10AFA0003305F5020A86C14513050520334505081A +:10AFB000EF907DF101E919468A8522859750F91FA6 +:10AFC000E7804039F240624405618280828099477F +:10AFD000B307F5021D71A2CCCEC63284AE890A86B3 +:10AFE000C145A6CA86CE93870720CAC8AA8433C59E +:10AFF0000708EF905DED11C90149F6406644D6445B +:10B00000B6494A8546492561828019469305F00F65 +:10B010000A859750F91FE780804D79FD9D67BE94A2 +:10B020001008930500032685EF90FDE92A8919C1D0 +:10B030000549E1B70808EFF0EFEA63980904130641 +:10B040000003814508089750F91FE780404A6DF1D9 +:10B0500013060003814508089750F91FE780003662 +:10B06000854708081797F91F230CF706EFF08FE7BD +:10B070001008930500032685EFA00D8B1795F91F87 +:10B08000034505E8EFA00D8565B71C083E8716232C +:10B090006385360311079400E31BD7FE39DC9A233E +:10B0A00011C791079800E39CE7FE81BFB823239066 +:10B0B0003701E30F87F6A0A365B73C23E38A87F641 +:10B0C00020A359FC2310070061BF011126CA4AC8FA +:10B0D0004EC606CE22CC52C49799F91F9389C90750 +:10B0E00003C5E900FD579305200412051797F91FC2 +:10B0F0002302F7009794F91F9384C4FD9797F91FD3 +:10B10000A38607FC9797F91F23A607FC9750F91F02 +:10B11000E780C0F488C01799F91F130939FB15C1DE +:10B1200083C7E90001442300F900834709006366EF +:10B13000F41283A78900638107169797F91F238369 +:10B1400007F8834709000544414681451795F91FD3 +:10B150001305455F1797F91F230AF7F69797F91F0D +:10B16000A38287DA9797F91F23A007F69797F91F0D +:10B17000A38107F89797F91F238D07F69750F91FBA +:10B18000E780C02393047007414681451795F91F56 +:10B190001305455A9797F91F238C97F49797F91F32 +:10B1A000238287D69797F91FA38407F49797F91FEF +:10B1B00023AE07F29797F91F238907F29797F91F94 +:10B1C000A38507F29797F91FA38007F29750F91FFD +:10B1D000E780C01E9797F91F238897F09797F91F6C +:10B1E00023A207F09797F91FA38C07EE95471797AF +:10B1F000F91FA308F7D0C1471797F91F2303F7D00A +:10B200009797F91F238E07EC89471797F91FA30912 +:10B21000F7CEF2409797F91F238487CE9797F91FAF +:10B22000A38F87CC9797F91F238B87CC624497977E +:10B23000F91F23A507EA9797F91F23AF07E8979708 +:10B24000F91F238707E89797F91F238207E8D2445D +:10B250004249B249224A056182808840131A44005B +:10B2600019469305F00F52959750F91FE780001586 +:10B27000884019469305F00F529519059750F91F0C +:10B28000E780C0139C4005041374F40FD2972396F3 +:10B2900007002387070051BD930700F81797F91F90 +:10B2A0002302F7E279BD1971A6DACAD8CED6D2D474 +:10B2B000D6D286DEA2DC81449799F91F938919E1E1 +:10B2C0001799F91F130909E1194A9D6A83C70900F3 +:10B2D00063E7F4021795F91F034585C2EF909DDFE0 +:10B2E00083C70900F65066541797F91F2300F7DE4D +:10B2F000D6544659B659265A965A09618280032572 +:10B30000090013944400194622959305F00F9750B5 +:10B31000F91FE780A00A0325090019469305F00FDD +:10B32000229519059750F91FE780400983270900E6 +:10B3300041469305F00FA2973384440323960700F8 +:10B340002387070048009750F91FE78020077146C0 +:10B350009305F00F48089750F91FE7802006130661 +:10B3600000039305F00F08189750F91FE7800005B8 +:10B37000334404085000C145130504203345050833 +:10B38000EF909DDA5008F145130514203345050868 +:10B39000EF909DD95008F145130524203345050849 +:10B3A000EF909DD85008C14513053420334505085A +:10B3B000EF909DD75008C14513054420334505083B +:10B3C000EF909DD65008914513055420334505084C +:10B3D000EF909DD533855401101893050003850423 +:10B3E0003345050893F4F40FEF901DD4C5B5411112 +:10B3F00022C4930705C006C6130720022E84B3C7D4 +:10B400000708636AF71217370000130767EEB3C720 +:10B41000E7209C43BA9782879797F91F83C797AE17 +:10B420001CA08147B24022443E854101828097970B +:10B43000F91F83C7F7CB93D72748DDB79797F91F35 +:10B4400083C737CBF1BF9797F91F83C787CAC9BF97 +:10B4500041469795F91F9385E52E22859750F91F50 +:10B46000E78040EF7DBF9797F91F83C777C8858B2B +:10B4700045BF9797F91F83C7A7C75DB79797F91F70 +:10B4800083A7C7C61CC071BF9797F91F83C787A73B +:10B4900041BF9797F91F83C747C571BF9797F91F9A +:10B4A00083C7B7C4B5BF9797F91F83C7F7C38DBFCD +:10B4B00041469795F91F9385E52745B79797F91F5B +:10B4C00083C7A7C26DB79797F91F83C7E7C189BF25 +:10B4D0009797F91F83A707C175B79797F91F83C778 +:10B4E00037C03DBF9797F91F83C7B7A115BF97977F +:10B4F000F91F83C707A12DB79797F91F83C747BDCA +:10B5000005B79797F91F83C797BC19BFEFF02FA214 +:10B5100008A001BF9797F91F83C7679E11B7979738 +:10B52000F91F83C7F7BC93D73748DDBD9797F91F3D +:10B5300083C7A7BBCDBF130700048947E364A7EE09 +:10B54000EFB06DFE0AA0F1BD011106CE22CC26CAD5 +:10B550004AC84EC652C4EFB0BDCE49E91797F91F8D +:10B560000347E7B685472A849794F91F938414B656 +:10B57000630EF7021799F91F1309C9B5054A9C20F4 +:10B580006374F4048327090093194400CE97FC27C1 +:10B59000639A47012285EFF0AFA383270900CE9776 +:10B5A0002387070005041374F40FD1BFEFF09F9AAF +:10B5B00098209797F91F238C07B09797F91F83A7B7 +:10B5C00067B1B907631DE400EF90FDDB6244F24010 +:10B5D000D2444249B249224A05616FF00FC30504C3 +:10B5E000238007001374F40FC107E9BFF2406244DF +:10B5F000D2444249B249224A0561828079714AD0D7 +:10B600004ECE52CC06D622D426D256CA9799F91FCE +:10B610009389D9AB894703C409002E8A3289630A0A +:10B62000F50663F1A7028D478144994A630CF5063C +:10B63000B2502285225492540259F249624AD24AA7 +:10B64000456182802E85EFF08FE583C709002A844B +:10B65000E370F5FEE30E09FC1946D2854A85975042 +:10B66000F91FE78020CFE9B703A50A0093974400AC +:10B6700019463E95D28519059750F91FE78000DFDE +:10B6800039ED850493F4F40F03C40900E3EE84FC60 +:10B6900045B78144979AF91F938ACAA3F5B78504E1 +:10B6A00093F4F40F03C40900E3F484F833855403DE +:10B6B0000A86C1451305352033450508EF90BD8046 +:10B6C00079FD41469305F00F0A859750F91FE780F1 +:10B6D00000E271F5D2850A85EFB0ADEC69F183C760 +:10B6E000090063E4F4002684A1B7E30E09FECA85CD +:10B6F0002685EFF07F89C5BF797126D206D622D480 +:10B700004AD0AA8402CC231E01009770F91FE7805B +:10B71000804629C11789F91F1309C97E034709000B +:10B7200089476309F702930565002A844831300888 +:10B73000EFF0DFEC9797F91F83C757996372F50213 +:10B740002AC6EFE05FFCB2452A860547A14626855A +:10B75000EFF06FB7B2502254925402594561828083 +:10B760008347090091E795452685EFB09DAADDB78F +:10B770000547E391E7FE4C3001462685EFF06FBBAD +:10B78000D1BF0111C16726CA06CE22CC4AC84EC617 +:10B79000FD17AE84630BF5069770F91FE780A03D97 +:10B7A0002A84514939C993056500483101465549F4 +:10B7B000EFF0DFE49797F91F83C757916376F500A1 +:10B7C000A685EFF00FF201498DC82285EFF0CFAECC +:10B7D0002DA0A6852285EFF0CFF011C10149050407 +:10B7E0001374F40F83C70900E365F4FE99C417F5D9 +:10B7F000FFFF1305A52CEF408ED2F2406244D244E5 +:10B80000B2494A8542490561828001445549979968 +:10B81000F91F9389B98BF9B70111C1674AC84EC6A0 +:10B8200006CE22CC26CA52C4FD172E89B2896302E5 +:10B83000F5069770F91FE7800034D14431C19305B4 +:10B84000650048310146D544EFF05FDB9797F91F5B +:10B8500083C7D7876376F5024E86CA85EFF02FF748 +:10B86000814439A84E86CA852285EFF04FF611C172 +:10B87000814405041374F40F83470A00E364F4FE63 +:10B88000F24062444249B249224A2685D2440561C7 +:10B8900082800144D544179AF91F130A3A83E9BFFD +:10B8A000411122C406C61794F91F1304A4840C2066 +:10B8B0009797F91F23A4A7826145EFB03DA2082006 +:10B8C0002244B24041016F200EB4411122C406C689 +:10B8D0001794F91F130404820C209787F91F23ADD6 +:10B8E000A77E6145EFB09D9F08202244B2404101F0 +:10B8F0006F206EB1411106C622C426C28DEDAA8505 +:10B90000AA8437450F00130505243375A602EFB04E +:10B910006DC32A8401E90144B24022852244924445 +:10B92000410182809307E00FE308F5FE85452685F7 +:10B93000EFB03D8ED5B7EFB0DD8DF1BF411106C63A +:10B9400099E9B287B6852A863E85EF508E9CB24033 +:10B95000014541018280EFB0DD8BD5BF1787F91F0C +:10B960001307575A1C239785F91F83C5757893E7EA +:10B9700007F81CA36FB0ADFE5971A2D432845000F9 +:10B98000CAD0D2CC86D6A6D2CECE2A89368A02C2D8 +:10B9900023140100EFF09FC69787F91F83C7177321 +:10B9A000637CF50EAA84EFE01FD69147AA89631C39 +:10B9B000FA0C1787F91F0347F75479171337170045 +:10B9C00091461949338924034E86A6852285EFF0D6 +:10B9D0008F8F5146814568009750F91FE780009E80 +:10B9E000700033490908C14513054920334505084E +:10B9F000EF906DCD05E941469305F00F6800975033 +:10BA0000F91FE780C0AE19ED700891451309592060 +:10BA100033450908EF902DCB700093F5190022856E +:10BA2000EFB08DF89D67BE9410109305000333C5E9 +:10BA30000408EF904DC919ED0810EFE0BFCA0410DB +:10BA40008E2089C5B0202285EF005EE791049C0816 +:10BA5000E398F4FE93F92900638909009785F91F9B +:10BA600083C545692285EF008EF59147631AFA0474 +:10BA70001787F91F0347174989476313F70422857E +:10BA8000EFF0DFED35A81787F91F0347A7477917B0 +:10BA900013371700D28635B7A147E318FAFC17878A +:10BAA000F91F034727468947631CF7000146CA85EB +:10BAB0002285EFF00F88014681452285EFF06F99CE +:10BAC000B650265496540659F649664A01456561B2 +:10BAD00082809787F91F23A1A75E8280411122C42B +:10BAE0002A8406C6EFF06FDE9787F91F23848760EC +:10BAF0002244B24041016FE05FF11D7186CEA2CCBD +:10BB0000A6CACAC8CEC6D2C4D6C2EF806ED797879F +:10BB1000F91F83C7D73E99CF0144178AF91F130A2B +:10BB2000FA5A1789F91F1309E95A994A83470A00F3 +:10BB3000636BF400F6406644D6444649B649264A4B +:10BB4000964A25618280032509009319440019460D +:10BB50009305F00F4E959750F91FE780409929E91A +:10BB6000B30454035010F145B3C4040813851420E2 +:10BB700033450508EF902DB505ED0347F103930715 +:10BB8000F00F6317F7025000C14513853420334589 +:10BB90000508EF904DB35008C1450945EF90ADB28F +:10BBA0008325090054085000CE95E835EF800ECD6E +:10BBB00005041374F40F9DBF5D71A6C2CAC093073C +:10BBC00005C086C6A2C44EDE52DC56DA5AD8130728 +:10BBD00020022A89B284B3C70708636CF758172775 +:10BBE00000001307A779B3C7E7209C43BA97828761 +:10BBF000854761446397F5021C2209476363F70296 +:10BC00001787F91FA300F730014421A88547614435 +:10BC10006399F50014221787F91F1307774D63F80E +:10BC2000D50EB6402285264496440649F259625AFA +:10BC3000D25A425B6161828085476144E393F5FE9D +:10BC40001C221147E36FF7FC1787F91FA303F74A7C +:10BC500065BF85476144E396F5FC1C22E3E3F5FCF0 +:10BC60001787F91F2307F74845B7C1476144E39A8F +:10BC7000F5FA4146A6851795F91F1305A5AC97401F +:10BC8000F91FE780206D49B785476144E39BF5F8CC +:10BC900014221787F91F1307B745E3E4D5F81C23CF +:10BCA0006383062493E71700BDA085476144E39AA8 +:10BCB000F5F61C221787F91F230CF742B1B79147FD +:10BCC0006144E390F5F61842B7470F009387F723D6 +:10BCD000E3E9E7F49787F91F23AAE74035B78547DB +:10BCE0006144E390F5F41C220947E36CF7F21787EF +:10BCF000F91F2309F72009BF85476144E393F5F253 +:10BD00001422E3E0D5F21787F91F1307073E1C231F +:10BD100089C693E747001CA3C5BDED9BEDBF8547D2 +:10BD20006144E390F5F01C221147E36CF7EE1787AE +:10BD3000F91FA30CF73AC9BD85476144E393F5EEBB +:10BD40001C22E3E0F5EE1787F91FA30FF7386DBD4E +:10BD5000C1476144E397F5EC4146A6851795F91F65 +:10BD60001305459D29BF85476144E39CF5EA1422EC +:10BD7000E3E9D5EA1787F91F130727370DB785477A +:10BD80006144E390F5EA1C221787F91F230EF7346C +:10BD9000A5BD91476144E396F5E81842B7470F0007 +:10BDA0009387F723E3EFE7E69787F91F23ACE732A2 +:10BDB000A1BD6144E39705E6EFB08DC801E9EFF05E +:10BDC0006F99EF904DDCEFE05FC43DBD854717876D +:10BDD000F91F230EF72E0DBD9D476144E393F5E453 +:10BDE00093851400194668009740F91FE780805634 +:10BDF000882050086C00EFF07F809787F91F83C779 +:10BE0000F72CAA840944E37EF5E04808EF30DED041 +:10BE10002A8409E92685EFE0BF9BEF90CDD6EFE0BD +:10BE2000DFBE01B59787F91F83A7C72A9204A6979B +:10BE30000547F8A75944F5B39D476398F50A194695 +:10BE40009385140068009740F91FE780A050882070 +:10BE500001466C00EFF08FFA9787F91F83C7172709 +:10BE60006379F5049947B304F5025008F1459384CA +:10BE70001420B3C404082685EF90ED842A8405E9D4 +:10BE80001307A0419307F00F6313E900854750089B +:10BE9000F1452685A307F102EF900DA91785F91F3B +:10BEA00003450506EF900DA3EFF03FC59DBB094488 +:10BEB000E5BF9787F91F83C7E7200944E38307D6C7 +:10BEC0001787F91F1307F71F9306A0411C23631C54 +:10BED000D90093E717001CA31D46A6851785F91FF7 +:10BEE0001305C51D69BBF99B3DB585476144E39AC0 +:10BEF000F5D21787F91F1307D71C9306A0411C23FF +:10BF00006315D50093E7270039B5F59B29B59787C9 +:10BF1000F91FA38607FEEFF05FBEFDB185471787C7 +:10BF2000F91FA30EF7FC01441789F91F1309191A09 +:10BF30009949130AF00FFD5A178BF91F130B4BFC8D +:10BF400083470900E379F4FCB30434035008F14556 +:10BF500093841420B3C404082685EF80DDF605E140 +:10BF60008347F102638D47015008F1452685A307F9 +:10BF70005103EF906D9B03450B00EF90AD950504C9 +:10BF80001374F40F75BF85476144E39CF5C81C2208 +:10BF9000E3E9F5C81787F91FA304F714B5B185477E +:10BFA0006144E390F5C81C222547E36CF7C6178768 +:10BFB000F91FA308F7F489B985476144E393F5C6EF +:10BFC0001822A546930797FF93F7F70FE3EBF6C404 +:10BFD0009787F91F2387E7F205B985476144E39204 +:10BFE000F5C41787F91F1307A70E1C2214231CA3DF +:10BFF000E39C06C0E39AB7C0F9B385476144E39276 +:10C00000F5C21784F91F1304940C1C2218201CA0DD +:10C0100009E76394B700EFE05F9F0820EF808E860A +:10C02000E5B685476144E39EF5BE1C220D47E36AF1 +:10C03000F7BE1787F91FA305F7ECF9B685476144EA +:10C04000E391F5BE1C221787F91F230BF7EA6DBE9B +:10C050000545EF902D884DBE85476144E393F5BCBF +:10C060001C221787F91F230CF7E879BE93074002BB +:10C070006144E398F5BA8830014693852400EFF0D7 +:10C08000EFD79787F91F83C777046364F5000944E6 +:10C0900049BE99473305F5029820A1473349050861 +:10C0A0006311F704130929205008F14533490908A1 +:10C0B0004A85EF805DE12A8405E99385840048087C +:10C0C0006D469740F91FE780E0285008F1454A8502 +:10C0D000EF908D851785F91F034585E2EF809DFF61 +:10C0E00089B613091920C9B7054425BE1787F91F5A +:10C0F00003578707930740046D44E3F4E7B285478D +:10C100006144E390F5B21C22E3EDF5B085C3978757 +:10C11000F91F83A767FA5544E38507B01787F91F0E +:10C12000130717FD1C2393E78700F5B61787F91F40 +:10C13000130717FC1C23DD9BF9BE1787F91F035754 +:10C14000A702930740046D44E3FDE7AC85476144D3 +:10C15000E399F5AC1C22E3E6F5ACE9DB9787F91F20 +:10C1600083A787F555441787F91F130707F8DDFBE9 +:10C170004DBC93070004E3EC27F18947E399F5F000 +:10C1800026448E20B6409644F259625AD25A425BF7 +:10C190004A85064961616FB06D94797106D622D4E3 +:10C1A00026D23C215147E91793F7F70F6369F7044B +:10C1B0001727000013074725B3C7E7209C432A84AD +:10C1C000BA978287262550255435268532C636C42F +:10C1D0009770F91FE780209AAA8715C1D827A14731 +:10C1E000A2463246130534006312F7049787F91FFD +:10C1F00083A787EEA68599CB9C4389CB82978544FC +:10C20000B250225426859254456182801785F91FC9 +:10C21000032545EDEFA01DB37DD19307E00FE300AB +:10C22000F5FE85452685EFA0DDFED1BF9787F91F76 +:10C2300083A7C7EAA68599C39C43E9F31785F91F2D +:10C240000325C5EAC1BF2E252E852EC49770F91F80 +:10C25000E7806092AA8745D5D827A147A245130554 +:10C2600034001306C4009306C401631BF7009787CC +:10C27000F91F83A767E6C1D79C47D1D3829741B7FF +:10C280009787F91F83A787E5FDB7103169E67C2101 +:10C29000858BE9C39787F91F83A707E3C5EF81451E +:10C2A000414608089740F91FE78040114C48B5C93E +:10C2B000FC291946C105A30FF10008089740F91F92 +:10C2C000E7804009B8867C2093D72748D98FFC8621 +:10C2D000EFE0EFC59787F91F83C757DF6391A70288 +:10C2E0009787F91F83C7A7C199C3EFE0DFFB978743 +:10C2F000F91F83A767E981C7854521458297EFE04C +:10C300000FC3A2850808EFE03F9FAA840DE9894585 +:10C310001785F91F034505DE9760F91FE780E06E7A +:10C32000C5B54A209770F91FE780E084E30905EC62 +:10C330005C31194693056500A30FF100BDBF1030B5 +:10C340004A208545EFE0FF9055468D454A20EFE0B5 +:10C350005F9075B501468545D5BF183099474A218C +:10C36000631AF7029770F91FE780E080AA841DC165 +:10C370009787F91F83C7D7B809476386E7020D4738 +:10C38000638DE70005476397E7004C314A2001467B +:10C39000EFE02FFA1030894555BF0146814513055E +:10C3A0000041EFF07F814E2088201546EFA09DE9E7 +:10C3B000D5B79305450028310146EFF02FA49787A4 +:10C3C000F91F83C7B7D0E37CF5E299473305F5023F +:10C3D0001306C40091451305552033450508EF8029 +:10C3E000BDD41785F91F0345A5B1EF80BDCE01BDB2 +:10C3F0009787F91F83C7D7CE4A2191C79785F91F21 +:10C4000083C535B00DB59787F91F83C7B7AF99E3DB +:10C41000954511BD9760F91FE780E075AA84E30098 +:10C4200005DE3C244831858B95C7854763F4A70218 +:10C430005E2493F7072099EF100893856400EFF0CE +:10C44000EF9B9787F91F83C777C86395A7004A209A +:10C450008D45D1BBCC304A2013068400EFE06FED50 +:10C4600001468145E5B54A21EFF00FA949BB4A21B4 +:10C47000EFF08F8D1787F91F1307D7A81C2393F7A9 +:10C48000F7071CA3ADBB797126D206D622D44AD0B9 +:10C490004ECE52CCAE849397556063D3070A17856E +:10C4A000F91F034525C59740F91FE780E0E02A847E +:10C4B00031C11C211307100B6389E7041307000D1A +:10C4C0006384E7021307000B6393E7025821F947DF +:10C4D0006316F7002A218145EFF0AFAA4C2013051F +:10C4E0008400EFE07DE821A0EFF03FCB01C522857D +:10C4F000EF701DD21394F468B250228522549254E6 +:10C500000259F249624A456182805C21EDF31225AD +:10C510006E212A219787F91F238407BCEFF0CFAF44 +:10C520009787F91F83C7C7BBF9D31785F91F034541 +:10C53000259D9787F91F238507BAEF80BDB945BFB1 +:10C5400093F7250085C781450145EFE0EFFA97870E +:10C55000F91F938727BA894511C18545882313C4DC +:10C5600024009760F91FE780404A79B793F71500D8 +:10C57000E9CB1789F91F130929B583270900178407 +:10C58000F91F130424B303DA47001C4085E3C16597 +:10C590001787F91F1307E7B189461786F91F130696 +:10C5A000A699FD150545EF00AED608C00C4093C412 +:10C5B000140095E98327090001468545CA2333C441 +:10C5C0000408EFE00FE98327090001468D45CA23DF +:10C5D000EFE02FE81785F91F03458592EF809DAFA7 +:10C5E000EFE0EF9A11BF9789F91F938989AC03D6C1 +:10C5F00009009308F00F094881471307E100740010 +:10C600005285EF00BEA301E9308611C61C40528559 +:10C61000AE27EFF06FA0084003D60900C165814640 +:10C62000FD15EF007E9608C033C4040841D585454A +:10C630001785F91F034505AC9760F91FE780E03CBB +:10C6400065BD13F44500E30904EA13C445006DB564 +:10C650009397556063D8070641111785F91F034565 +:10C66000E5AC22C426C206C6AE849740F91FE78017 +:10C67000A0C42A8429C118219307000D631AF70268 +:10C680003C2191EF1C3181EF930535001946178548 +:10C69000F91F130525A89740F91FE780A0CB9787BE +:10C6A000F91F83A767A589C79C4399C322858297F1 +:10C6B0002285EF70FDB5B24022441395F468924490 +:10C6C000410182800145828009C59787F91F23A512 +:10C6D000A7A28147014781461786F91F0346A6A2F4 +:10C6E00089451785F91F034565A46FE08D86011103 +:10C6F000C8869787F91F83C767A3680006CE5C8644 +:10C700004C87D087EFC04D98F24005618280178535 +:10C71000F91F0345A5A16FC06D93411126C206C63E +:10C7200022C49784F91F938464A080209307F00F9C +:10C730006308F4006145B240224492444101828082 +:10C7400017050000130505F1EF806DAF88A0E30326 +:10C7500085FE9787F91F23A1079A89471787F91F35 +:10C76000A302F79CEFA04DE30145F1B73421F14757 +:10C7700063E5D72C17270000130747CEB3C7E62081 +:10C780009C43411122C4BA9706C626C22A848287D6 +:10C790001C319784F91F93842499C1EF41469785F2 +:10C7A000F91F938525FC1785F91F1305A5FD9740F3 +:10C7B000F91FE780A0CB39ED1786F91F130686FC19 +:10C7C000C1450945EF805D961786F91F130686FA65 +:10C7D000C1450D45EF805D951775F91F03454572FD +:10C7E000EF805D8F930534001785F91F130585923F +:10C7F00019469740F91FE780E0B5854785451785BD +:10C80000F91F0345A5929CC09760F91FE780E01FC0 +:10C810008840E9A841469785F91F9385A5F31785B8 +:10C82000F91F130525F59740F91FE78020C449D566 +:10C8300055BF99479CC0E9BF18313C3139E30947DE +:10C840006396E7021787F91F1307078E1C4381457C +:10C85000014593F7F7F093E707021CC3EFC07DD2C1 +:10C8600008B0B2402244924441018280054781458C +:10C8700001456395E700EFC0BDC3DDB7EFC03DB62E +:10C88000C5B70947E38FE7FC1787F91F1307C78967 +:10C890001C43C19B13E5670008C389A81C3197841A +:10C8A000F91F93846488D9E78D476395F606178747 +:10C8B000F91F130717871C239396476063DE060052 +:10C8C00093F7F70789451785F91F034525861CA3AC +:10C8D0009760F91FE78060139C40914613F7F700BB +:10C8E0006313D702C19B13E5570088C09787F91FD0 +:10C8F00083A7C780BDD79C43ADD7A2852244B24051 +:10C900009244410182878946E30DD7F4C19B13E528 +:10C910002700E1BF9787F91F238607809C40954633 +:10C9200013F707FFBD8B13653700E390D7FC136542 +:10C93000470065BF9C40C19B13E567007DB79774B6 +:10C94000F91F9384647E9C401831C19B05E393E7F3 +:10C9500047009CC032259305450028319146EFF0F1 +:10C96000AF819777F91F238F077A5DB59306100380 +:10C970006319D7001777F91F2306077A93E7370063 +:10C9800055BD93E767007DB5EFF03F811777F91F3D +:10C99000130787791C43954613F6F700C19B13E5EF +:10C9A0003700E31BD6EE13E52700FDB59774F91F9A +:10C9B000938484779C40183193F7F7F021E74D4733 +:10C9C000639EE60293E707011777F91F1307677560 +:10C9D0009CC01C239396476063DE060093F7F7071D +:10C9E00091451775F91F034565741CA39760F91FDE +:10C9F000E780A0019C4013958729CDBD93E70702EE +:10CA00009CC0CDBF93E70703E5BF1776F91F130658 +:10CA1000A6711842FD770C319387F70F7D8F9367CE +:10CA2000073081E9ED45936707206394B60093676B +:10CA300007101CC21395972955BD828018219306B3 +:10CA400010096307D7009307000D6300F704828085 +:10CA500014313947639DE602562105671307574095 +:10CA60006397E6021C451307F00783853700638050 +:10CA7000E5021777F91F0327676811CB584301CBED +:10CA80008833BC23A2075D8D02876FF03FCE828082 +:10CA9000011126CA06CE22CCAE849397556063D589 +:10CAA000070C1775F91F034565689740F91FE78064 +:10CAB000A0802A8419C99777F91F83C7B76489EFC3 +:10CAC000EFF0DFF72285EF70ADF41395F468F240D4 +:10CAD0006244D244056182801C211307000D639DCE +:10CAE000E7043C2181E7EFF07FF501A81547639E3D +:10CAF000E7005825A147E395E7FCA2851775F91FC4 +:10CB000003454560EF70EDF5C9B72147E38DE7FCBC +:10CB100099466394D7007C31F9BF1D47E392E7FA49 +:10CB20004A219760F91FE780000549DD5825A14794 +:10CB30002285E317F7F8D1B71307200AE382E7F855 +:10CB400013071009E391E7FA1831B947E31DF7F825 +:10CB50005A21856793875740E317F7F81C458833B8 +:10CB6000BC23A2075D8D75BF9167ED8F95C31776C6 +:10CB7000F91F1306A65A91451145EF80EDDA177596 +:10CB8000F91F0345E537EF80EDD41395E46881B7CD +:10CB900093F71500C9CF9777F91F83C7A758B9CF67 +:10CBA000EF30EE9D9777F91F83C7675C636BF504E1 +:10CBB0008D475C829777F91F83C707555C864C00C9 +:10CBC0009777F91F83C737541775F91F0345055623 +:10CBD000DC86EFC02DB71DC19777F91F9387C75427 +:10CBE000884341991365650088C39777F91F83A728 +:10CBF000E75089C79C4399C38145829713C51400A8 +:10CC0000F9B59777F91F83C7D7505C821946977794 +:10CC1000F91F83C707509775F91F9385254F130593 +:10CC20006100DC829730F91FE780C07261B793F72B +:10CC30002500B1C39777F91F83C7B74E858B8DCB7E +:10CC40001775F91F0345854EEFC04DDE15C1977767 +:10CC5000F91F9387674D88431375F5F088C397775D +:10CC6000F91F83A7A74989C79C4399C38145829728 +:10CC700013C52400A9BD13F54500E30A05E4977721 +:10CC8000F91F83C7074A9DCB1775F91F0345054A4E +:10CC9000EFC08DDD05C51777F91F1307E748084377 +:10CCA000FD779387F70F7D8D08C39777F91F83A7CB +:10CCB000E74489C79C4399C38145829713C54400C3 +:10CCC00039B5397122DC26DA4AD84ED652D406DE7E +:10CCD0002A8AAE893289B6843A843EC69760F91FA3 +:10CCE000E78060E929C17E25324663EB370163693D +:10CCF000F9001E29639697003E296145638D8700E0 +:10CD00002C085285231C3101231D2101E486E08774 +:10CD1000EF20FEC90145F2506254D2544259B25933 +:10CD2000225A216182805145FDB7411122C406C6B5 +:10CD30009777F91FA380A774328481C52E85EFE011 +:10CD40003FB69777F91F83A7273EB9E309C49777C2 +:10CD5000F91F23A5873A2244B2401776F91F0346EC +:10CD6000863A9775F91F83C5F53B1775F91F03457B +:10CD7000E53B9777F91F9387673A1787F91F1307E2 +:10CD8000679F9786F91F9386E69F41016FD07D9C30 +:10CD9000B24022444545410182809777F91F83C7FD +:10CDA000073D89EB614582806145B240224492444F +:10CDB00041018280411126C206C622C49774F91F20 +:10CDC0009384C43680209307F00FE31FF4FC17050B +:10CDD0000000130525CCEF709DC688A0E30685FCF6 +:10CDE0009777F91F23AC07309777F91F23AE0732E7 +:10CDF00091471777F91FA307F732EF90FDF94146E6 +:10CE000081451785F91F1305E5979730F91FE780CE +:10CE1000E05A414681451785F91F1305A5959730BE +:10CE2000F91FE780A0599777F91F23A9072E977755 +:10CE3000F91FA380072E9777F91F238C072C9D4796 +:10CE40001786F91F13060694C14509451777F91F80 +:10CE5000230CF72A9777F91FA387072AEF80AD865F +:10CE60001786F91F13060691C1450D45EF80AD8564 +:10CE700041469785F91F9385E5901785F91F13059E +:10CE8000658E9730F91FE780E04C41469785F91F82 +:10CE90009385458E1785F91F1305C58B9730F91FAC +:10CEA000E780404B1776F91F130646279145114539 +:10CEB000EF806D810145D5BD1777F91F1307475BDB +:10CEC000FD575CB37CA31777F91FA30D0724054713 +:10CED0009776F91F2388E6241777F91F2320072464 +:10CEE00019479776F91F239EE6200567130707C8A1 +:10CEF0009776F91F2396E6201777F91F2304F7206A +:10CF00008D471777F91F230007201777F91FA30B09 +:10CF1000071E1777F91FA305F7201777F91F2301BD +:10CF2000F720194681451775F91F1305251E17337C +:10CF3000F91F6700A348411122C4930705D006C614 +:10CF40005D472E84B3C707086369F7101717000001 +:10CF500013070758B3C7E7209C43BA978287977790 +:10CF6000F91F83C7371C1CA019A841469785F91FD4 +:10CF70009385458122859730F91FE780A03D814741 +:10CF8000B24022443E854101828041469775F91F97 +:10CF90009385457EC5B79777F91F83A727189CC14E +:10CFA000F9BF19469775F91F9385C516E1B79777AD +:10CFB000F91F83C7271745BF2E85EFC04DE9C1B7BD +:10CFC0002E85EFC02DEB65BF9777F91F83C77714C8 +:10CFD00059BF9777F91F83C7C71371B7194697755C +:10CFE000F91F9385A51279B79777F91F83C7C711E2 +:10CFF0009DBF9777F91F83C71711B5B79777F91FAB +:10D0000083A787128DB79777F91F83C7C70FA1BF73 +:10D010009777F91F83D7E70E1EA095B79777F91F6B +:10D0200083D7070ED5BF9777F91F83C7770F25BF23 +:10D030009777F91F83C7C70E3DB72E85EFC0EDE682 +:10D040003DBF9777F91F83C7D70D93F7F70721BF28 +:10D050009777F91F83C7E70C39B71307000489478F +:10D06000E360A7F2EF903DCC0AA011BF2A87930797 +:10D07000F7CFD9462E85B3C70708B28563E9F62AEC +:10D08000971600009386C64AB3C7D7209C43411128 +:10D0900006C6B69782874147E1476310E5044146DB +:10D0A0001775F91F1305056E9730F91FE780802A61 +:10D0B00025A04147E1476312E50241461775F91F74 +:10D0C0001305456BD5B71147E1476318E5001C42CE +:10D0D0001777F91F2324F7048147B2403E854101A9 +:10D0E00082800547E147E31AE5FE1777F91F13072A +:10D0F00067031C2214231CA385C6F9FF1777F91FA9 +:10D10000032787023D8B93074002B3D7E700858B47 +:10D11000E1D71775F91F03456501EFB09DF76DBFA6 +:10D12000C5DF9777F91F83A727006386A700BD8B0C +:10D13000F517E363F5FA85451775F91F034505FFF4 +:10D140009760F91FE780608C41BF9307C01C63ECB8 +:10D15000A71C630A061CB24041016FC04DA893078B +:10D16000C01C63E2A71C6300061CB24041016FC0F3 +:10D170002DB40547E147E312E5F61822A946E3EE90 +:10D18000E6F49777F91FA386E7F8B9B70547E147B3 +:10D19000E315E5F418228D46E3E1E6F49777F91FED +:10D1A0002389E7F615BF1947E147E318E5F2194669 +:10D1B0001775F91F130585F5C5BD0547E147E31E42 +:10D1C000E5F018229D46E3EAE6F09777F91F238DF4 +:10D1D000E7F219B70547E147E311E5F018228D465C +:10D1E000E3EDE6EE9777F91FA38FE7F0F5B5054776 +:10D1F000E147E314E5EE1C221777F91F2305F7F04A +:10D20000E1BD0947E147E31AE5EC12220567130780 +:10D21000A7C79306A6FFB3C60608E360D7EC9777C7 +:10D22000F91F2390C7EE4DBD0947E147E317E5EA33 +:10D23000122205671307A7C79306A6FFB3C6060801 +:10D24000E36DD7E89777F91F239CC7EA71B50C22E5 +:10D250001776F91F0346C6EC9777F91FA382B7EC40 +:10D260000145EF60BEE28DBD10229775F91F83C5A1 +:10D2700035EB9777F91F2385C7EADDB79307C01C05 +:10D2800063E3A70A4DC2B24041016FC08DAF0547AD +:10D29000E147E314E5E41777F91F130797E8142330 +:10D2A0001C22858A1CA313F6170091C6E31606E21A +:10D2B000EFB09DFA15B5E30106E29776F91F83A654 +:10D2C000A6E6B98A8945E39906E693E707F81CA321 +:10D2D00021B50547E147E312E5E01777F91F13078A +:10D2E00047E41C2214231CA391C6E39707DEEFB08A +:10D2F0009DF9DDB3E38207DE9776F91F83A6C6E2C8 +:10D3000093F6060FF9D2914505BD9307000463EE2D +:10D31000E70089468947E312D5DCB2400E223A8500 +:10D3200041016F90BDFBE1474DBB89477DB393073A +:10D33000000463E9E700894689476316D5000E2299 +:10D340003A85C5B789473E8582806F60DECE011180 +:10D3500022CC41462A84AA850A8506CE9730F91F39 +:10D36000E78040FF282093053400EF900D8048812E +:10D370000A85EF60DED8F2406244056182806F600A +:10D380009ED86F601ED8014881476F609ECC011106 +:10D3900006CE2AC69750F91FE780E07D01C9B24545 +:10D3A000F24008214D4605616F90DDE9F2404945A4 +:10D3B000056182806F60DECD6F60DED76F60BEC9B1 +:10D3C000411122C42A840A2106C69750F91FE7801A +:10D3D000807A19CD22852244B2409777F91F83C7FE +:10D3E00067D21777F91FA308F70841016F60BED312 +:10D3F000B24022440945410182806F609ED16F6036 +:10D40000FED16F607ED36F603ED6011122CC06CE76 +:10D410001C212A8489C71777F91FA30EF7041C3033 +:10D42000282081EF08302C206244F2409777F91FC2 +:10D43000A389A7BA05616F609ECB7C243EC0834858 +:10D44000D4000348C4003C343824162472204E20F3 +:10D45000EFB08FF961D9F2406244056182806FC0FC +:10D460002FF16FC05F8C6FC03F80411106C6EF5037 +:10D470004FB31715FEFF1305053BEF704DDCEF10A2 +:10D480004EA217A5FDFF130565F0EF704DDBEF9081 +:10D490009DEB17E5FDFF130545F2EF704DDAEFD078 +:10D4A0007DEE1745FEFF1305059AEF704DD9EF305D +:10D4B0009EAE17F5FFFF130545FDEF704DD8EFE069 +:10D4C000EFE11715FEFF1305C592EF704DD7EF0082 +:10D4D0003E8EB24041016FF04FA4411106C6EFA04D +:10D4E0001E801715FEFF13050534EF704DD5EF10A4 +:10D4F0004E9B17A5FDFF130565E9EF704DD4EF9026 +:10D500009DE417E5FDFF130545EBEF704DD3EFD01C +:10D510007DE71745FEFF13050593EF704DD2EF3001 +:10D520009EA717F5FFFF130545F6EF704DD1EFE00D +:10D53000EFDA1715FEFF1305C58BEF704DD0EF0026 +:10D540003E87B24041016FC03FDA411106C6EF602D +:10D550004FC71715FEFF1305052DEF704DCEEF10C9 +:10D560004E9417A5FDFF130565E2EF704DCDEF90CA +:10D570009DDD17E5FDFF130545E4EF704DCCEFD0C1 +:10D580007DE01745FEFF1305058CEF704DCBEF30A6 +:10D590009EA017F5FFFF130545EFEF704DCAEFE0B2 +:10D5A000EFD31715FEFF1305C584EF704DC9EF00CB +:10D5B0003E80B24041016FF04FFE411106C6EFE0E0 +:10D5C000DE9E9777F91F83C767B6FD1793F7F70FAE +:10D5D0001307D00F6372F7061715FEFF1305A52476 +:10D5E000EF70EDC5EF10EE8B17A5FDFF130505DA03 +:10D5F000EF70EDC4EF903DD517E5FDFF1305E5DBBA +:10D60000EF70EDC3EFD01DD81745FEFF1305A583BE +:10D61000EF70EDC2EF303E9817F5FFFF1305E5E61A +:10D62000EF70EDC1EFE08FCB1705FEFF1305657CB2 +:10D63000EF70EDC0EF00CEF7B24041016FC05FFE6A +:10D64000411106C6B70700201737F91F1307C72176 +:10D6500098C31757F91F1307C79FD8C31757F91F48 +:10D660001307879B98C79776FDFF938626AC97375D +:10D67000FDFF9387A7C91737F91F1307279E0FF0E0 +:10D68000F6709730F91FE780C09AB2404101173316 +:10D69000F91F670023981731FB1F1301A196173557 +:10D6A000FDFF130525C29735F91F9385A5961736FB +:10D6B000F91F1306869A63FCC5008322050023A088 +:10D6C000550011059105E3EAC5FEEFF07FF7730001 +:10D6D000203009CE93070002918F635AF000B39770 +:10D6E000F5003355C500B3D5C5005D8D82800116A8 +:10D6F00033D5C5008145828009CE93070002918F02 +:10D70000635AF000B357F500B395C5003315C50053 +:10D71000DD8D82800116B315C500014582803288F7 +:10D72000AA882E87CDEA63FFC50EC167636AF61823 +:10D73000B7070001B337F600B307F040E19BE107FC +:10D740003353F60097160000938646E49A96942287 +:10D7500013030002B697B306F340630BF30033974D +:10D76000D500B357F5003318D6005D8FB318D50038 +:10D77000135608013355C702B346080893D708016A +:10D780003377C702B385A6024207D98F63FAB70081 +:10D79000C2971307F5FF63E4070163E8B7303A85E2 +:10D7A0008D8F33D7C702B3C80808B3F7C702B38653 +:10D7B000E602C207B3E8F80063FBD800C2989307FB +:10D7C000F7FF63E50801791763E3D8003E87420558 +:10D7D000598D8145828063F5D50081450145828060 +:10D7E000C16763E5F618B7070001B3B7F600B307E2 +:10D7F000F040E19BE10733D8F6001717000013074C +:10D80000E7D842971823930800023E973388E840F0 +:10D810006392E81863EDB6263335C500134515004D +:10D820008145828045C6C167637BF62413370610A5 +:10D83000134717000E07B356E600971700009387AB +:10D84000E7D4B6979C2393060002BA97B38EF640AE +:10D85000639DF608B387C540854593560601334658 +:10D86000060833D5D70213D70801B3F7D70233031D +:10D87000C502C207D98F63FA6700C2971307F5FF85 +:10D8800063E4070163E067223A85B387674033D7D3 +:10D89000D702B3C80808B3F7D7023306C702C207D6 +:10D8A000B3E8F80063FBC800C2989307F7FF63E58D +:10D8B0000801791763E3C8003E874205598D8280CD +:10D8C0009337061093C717008E079DBD81469717A3 +:10D8D00000009387A7CBB6979C23014793060002CD +:10D8E000BA97B38EF640E387F6F63318D60133D3F2 +:10D8F000F50093560801335ED302B395D501B357B3 +:10D90000F500CD8F3346080813D70701B318D501AA +:10D910003373D302B305C603420333676700637BE7 +:10D92000B70042971305FEFF636A07176378B716BF +:10D93000791E42970D8F3355D702B3C70708337747 +:10D94000D7023303A6024207D98F63FB6700C29751 +:10D950001307F5FF63E0071563FE67127915C29799 +:10D9600093150E01B3876740C98DE5BD93B70610C7 +:10D9700093C717008E0733D8F60017170000130758 +:10D98000E7C042971823930800023E973388E84087 +:10D99000E382E8E8335EE600B3960601336EDE000C +:10D9A000B3D8E500935E0E01B3D7D803B395050154 +:10D9B0003357E5004D8F33430E0893560701331656 +:10D9C0000601B3F8D803B305F302C208B3E61601A3 +:10D9D00063FBB600F2969388F7FF63E3C60D63F12D +:10D9E000B60CF917F2968D8EB3D5D60333470708D8 +:10D9F000B3F6D603B308B302C206558F637B170193 +:10DA000072979386F5FF6369C70963771709F9155C +:10DA10007297C207C16ECD8F9386FEFFB3F5D70014 +:10DA200013D30701F18E4182338ED502330717419C +:10DA3000B306D30293580E01B385C502B695C695B9 +:10DA40003303C30263F3D500769393D605019A9608 +:10DA50006363D7026305D7003E8581458280C16636 +:10DA6000FD1633F7D5004207337EDE00331505017E +:10DA70007297E373E5FE1385F7FF81458280B70750 +:10DA800000016377F6029356060141477DB3814555 +:10DA9000054582803A85E9B5B685A5BF2A8E59BD70 +:10DAA000C68791B77915C297CDB37915C297CDB90D +:10DAB00093568601614751B3F401FA009600640061 +:10DAC0004B0032001E0014000000000000000000A7 +:10DAD0000000000000000000000000000000000046 +:10DAE0000000000000000000FB349B5F800000800D +:10DAF0000010000000000000429AFDFFC69AFDFFE2 +:10DB0000C69AFDFF969AFDFFD899FDFFD899FDFFB3 +:10DB1000D899FDFFD899FDFFD899FDFFA09AFDFF88 +:10DB2000BC9AFDFF0C9DFDFF349DFDFF9099FDFF0C +:10DB30009099FDFF3C9DFDFF9099FDFF9099FDFFA1 +:10DB40009099FDFF9099FDFF249DFDFF909DFDFFA5 +:10DB5000969DFDFF9099FDFF9099FDFFBE9DFDFFF5 +:10DB6000C69DFDFFCE9DFDFFE89DFDFF9099FDFF49 +:10DB70009099FDFF9099FDFF9099FDFF9099FDFF11 +:10DB80009099FDFF9099FDFF9099FDFF9099FDFF01 +:10DB90009099FDFF9099FDFF9099FDFF9099FDFFF1 +:10DBA0009099FDFF9099FDFF9099FDFFA69DFDFFC7 +:10DBB000AE9DFDFF009EFDFF9099FDFF9099FDFF3A +:10DBC0007E9CFDFF2EABFDFFA8AAFDFF26ABFDFF4F +:10DBD000A4AAFDFFA8AAFDFF1AABFDFFA8AAFDFF9E +:10DBE000A8AAFDFFA8AAFDFFA8AAFDFFA8AAFDFFFD +:10DBF00032ABFDFFA8AAFDFF1AABFDFF50B4FDFF3D +:10DC000046B4FDFF4CB4FDFF6CB4FDFF70B4FDFFE6 +:10DC100074B4FDFF90BEFDFF2CBFFDFF60BFFDFF94 +:10DC2000EEBFFDFFBEBEFDFFBEBEFDFFBEBEFDFFE3 +:10DC3000BEBEFDFFFEBFFDFF06C0FDFF38C0FDFFFD +:10DC400094C1FDFFC4C1FDFFB0C1FDFFCEC1FDFF0A +:10DC500014C5FDFFBCC5FDFFCEC5FDFFE0C5FDFF42 +:10DC6000FCC5FDFF10C6FDFFD8C4FDFF22C6FDFFA9 +:10DC700036C6FDFFA2C6FDFFCEC6FDFFE2C6FDFF14 +:10DC8000EEC6FDFFFAC6FDFF0AC7FDFF2AC7FDFF6E +:10DC900014C7FDFF20C7FDFFECCAFDFF06CBFDFF4B +:10DCA00080CBFDFF16CBFDFF80CBFDFF80CBFDFFC2 +:10DCB00080CBFDFF38CBFDFF80CBFDFF80CBFDFF90 +:10DCC00080CBFDFF5CCBFDFFB6CCFDFFAACCFDFFFA +:10DCD000B6CCFDFFA6CCFDFFB6CCFDFFA6CCFDFF6C +:10DCE000B6CCFDFFA6CCFDFFB6CCFDFFAECCFDFF54 +:10DCF000B6CCFDFFA6CCFDFFB6CCFDFFB6CCFDFF3C +:10DD0000A6CCFDFFA6CCFDFFA6CCFDFFB2CCFDFF4F +:10DD1000B2CCFDFFA6CCFDFFA6CCFDFFA6CCFDFF3F +:10DD2000B6CCFDFFA6CCFDFFB6CCFDFF40F5FDFF58 +:10DD300078F5FDFF94F5FDFFA2F5FDFFD001FEFF94 +:10DD40005801FEFF0202FEFF5801FEFF0E02FEFF19 +:10DD50005801FEFFC802FEFF5801FEFF6203FEFFEE +:10DD60005801FEFF6E03FEFF5801FEFF7A03FEFF1F +:10DD70005801FEFF5801FEFF5801FEFF8A03FEFF17 +:10DD80005801FEFFA003FEFF925B040012BF0400D7 +:10DD9000C45B040048CC0400325C04001ACC0400CC +:10DDA000DA5C0400ECCB0400645D0400EED60400F1 +:10DDB000AE5D0400EED60400E45D040050D604001D +:10DDC000DA5C04009CCB04007C5E0400ACCE040052 +:10DDD0000000000000000000B65E040050CF040008 +:10DDE0001A5F04008ABF04002629FEFF2629FEFFD1 +:10DDF000AC29FEFFAC29FEFF4829FEFFAC29FEFF3F +:10DE00008029FEFFAC29FEFF9429FEFFAC29FEFF0E +:10DE10009C29FEFFA429FEFFAC29FEFF5029FEFF2E +:10DE200001010201020101020101040406010401D1 +:10DE300001010101040102010100000001010201D0 +:10DE400002010102010204040601040101010101B1 +:10DE50000404020104000000DE36FEFFF236FEFF7D +:10DE60003037FEFF4E38FEFF5638FEFF9638FEFF75 +:10DE7000CE38FEFF0839FEFF3A39FEFFF037FEFFCD +:10DE80006E39FEFFE239FEFF6E45FEFF7E4BFEFF60 +:10DE90002048FEFF8048FEFF5E4BFEFF9849FEFFD4 +:10DEA000D849FEFF124AFEFF484AFEFF824AFEFFA3 +:10DEB0007E4BFEFFC44AFEFF364BFEFF0000000013 +:10DEC0000000000000000000000000877266322E93 +:10DED00034670000070B0D1113171D1F25292B2F69 +:10DEE000353B3D4347494F535961FF006097FEFF63 +:10DEF000E695FEFF6891FEFFE695FEFF6097FEFF48 +:10DF0000EE91FEFF76D5FEFF70D5FEFF12D4FEFF28 +:10DF100012D4FEFF12D4FEFF12D4FEFF12D4FEFF75 +:10DF200012D4FEFF12D4FEFF12D4FEFFBED4FEFFB9 +:10DF300012D4FEFF12D4FEFF12D4FEFF34D5FEFF32 +:10DF400034D5FEFF14D5FEFF12D4FEFF12D4FEFF1F +:10DF500012D4FEFFC4D5FEFF12D4FEFF12D4FEFF82 +:10DF600012D4FEFF12D4FEFF12D4FEFFD6D1FEFF64 +:10DF700012D4FEFF12D4FEFF12D4FEFFCAD5FEFF5C +:10DF8000EAD1FEFFEAD1FEFF28D5FEFFD4D4FEFF82 +:10DF90008ED3FEFF8ED3FEFF8ED3FEFF8ED3FEFF09 +:10DFA0000CD5FEFF8ED3FEFF28D5FEFF8ED3FEFFDD +:10DFB0008ED3FEFF2AD1FEFF36E1FEFF22E1FEFFF7 +:10DFC0001EE1FEFF1EE1FEFF1EE1FEFF1EE1FEFF61 +:10DFD00044E1FEFF1EE1FEFF4CE1FEFF1EE1FEFFFD +:10DFE0001EE1FEFF1EE1FEFF70E1FEFF1EE1FEFFEF +:10DFF0001EE1FEFF1EE1FEFF1EE1FEFF80E1FEFFCF +:10E000002CF4FEFF46F4FEFF46F4FEFF4AF4FEFF4A +:10E0100046F4FEFF80F4FEFF46F4FEFFA4F4FEFF8C +:10E0200046F4FEFF46F4FEFF46F4FEFFB8F4FEFFA2 +:10E0300046F4FEFF46F4FEFFCCF4FEFF46F4FEFF7E +:10E0400046F4FEFF46F4FEFF46F4FEFF46F4FEFFF4 +:10E05000E0F4FEFF3AD20500E6E20500E4D2050056 +:10E060003AE3050002D3050078D305009ED30500EE +:10E07000D8D3050064E20500E4E10500FCD4050006 +:10E0800020D5050086D50500CCBF05005CE1050064 +:10E0900080E005005AE605006CC0050018D60500B2 +:10E0A00062D6050006E60500A8E505008CD6050049 +:10E0B0003ED80500A0D9050018DA050064C10500A6 +:10E0C0002EE70500DADE05003ADA050070DA050011 +:10E0D00032E7050036E705003AE705003EE70500B0 +:10E0E00066E40500ACDA050076DB050042E70500D2 +:10E0F00056E6050020DC0500A2DE0500C6DC0500B2 +:10E10000D403060030FB050024FA05006A0106006E +:10E110003C01060010010600D6000600AA00060019 +:10E12000A8010600AC0106009AFC0500B00106003B +:10E130006C000600B40106004A000600B8010600A3 +:10E140000A000600FAFF0500C4FF0500BC01060036 +:10E15000A4FF0500C0010600C4010600C8010600B6 +:10E1600042FF050028FA05003CFA0500CC01060034 +:10E17000D0010600D4010600D8010600DC0106002B +:10E18000E8FE050072FE0500E0010600E40106005D +:10E19000E8010600EC0106000AFE0500A0010600E9 +:10E1A000A4010600B6FB0500CEFA05006CFA0500D6 +:10E1B00040FA05001829FFFF3429FFFFAA29FFFFB5 +:10E1C0001E29FFFFAE29FFFF1E29FFFFB229FFFF17 +:10E1D000E84BFFFF044CFFFF604BFFFF604BFFFF6E +:10E1E000604BFFFF404CFFFF404CFFFF604BFFFFC9 +:10E1F000604BFFFF604BFFFF604BFFFF4C4DFFFF8D +:10E20000604BFFFF604BFFFF604BFFFF604BFFFF6A +:10E21000604BFFFFD049FFFF604BFFFF604BFFFFEC +:10E22000604BFFFF524DFFFFE649FFFF604BFFFFD2 +:10E23000524DFFFF604BFFFF604DFFFFEE4BFFFFB6 +:10E24000F44AFFFFFA4BFFFFF44AFFFFF44AFFFFD7 +:10E25000F44AFFFF3A4CFFFFF44AFFFFF44AFFFF86 +:10E26000F44AFFFF944CFFFFF44AFFFFFA4BFFFF15 +:10E27000F44AFFFFF44AFFFF624CFFFFF44AFFFF3E +:10E28000F44AFFFFF44AFFFFB44CFFFFF44AFFFFDC +:10E29000F44AFFFF2849FFFFF44AFFFFF44AFFFF5B +:10E2A000F44AFFFFF44AFFFF104CFFFFF44AFFFF60 +:10E2B000344CFFFF43483538355F424C455F4C498D +:10E2C000425F56312E342E34000000009893FFFF39 +:10E2D000D693FFFFEA93FFFF8293FFFFF293FFFFC6 +:10E2E000FA93FFFF0094FFFF0694FFFF2CD1FFFF7E +:10E2F00042D1FFFF50D1FFFF5AD1FFFF64D1FFFF92 +:10E300007AD1FFFF86D1FFFF90D1FFFF9CD1FFFFA5 +:10E31000A6D1FFFFB0D1FFFFBAD1FFFFC4D1FFFFED +:10E32000D0D1FFFFDAD1FFFFE4D1FFFF4AD2FFFFD8 +:10E33000EED1FFFFF8D1FFFF02D2FFFF0CD2FFFFAB +:10E3400020D2FFFF4AD2FFFF4AD2FFFF4AD2FFFF8F +:10E350004AD2FFFF4AD2FFFF4AD2FFFF4AD2FFFF55 +:10E360004AD2FFFF28D2FFFF16D2FFFF4AD2FFFF9B +:10E3700032D2FFFF40D2FFFF78D8FFFF94D8FFFFD3 +:10E38000C0D8FFFFDAD8FFFFF2D8FFFF10D9FFFF98 +:10E3900032D9FFFF46D9FFFF66D9FFFF80D9FFFFC3 +:10E3A000A6D9FFFFC0D9FFFFD8D9FFFFEED9FFFFE5 +:10E3B00006DAFFFF1ADAFFFF3ADAFFFF0EDCFFFF93 +:10E3C00026DCFFFF40DCFFFF62DCFFFFFADDFFFF22 +:10E3D000AADCFFFF60DAFFFFC4DCFFFFD8DCFFFF31 +:10E3E000C0DAFFFFC0DAFFFF96DBFFFFA4DBFFFF11 +:10E3F000E0DCFFFF82DCFFFFF4DCFFFF74DDFFFFEA +:10E40000C2DDFFFF6AE0FFFFFADDFFFFFADDFFFF7D +:10E41000AEDFFFFF86DEFFFFC0DDFFFF62E0FFFF34 +:10E42000FADDFFFF56DFFFFFECDFFFFFFADDFFFF46 +:10E43000FADDFFFFFADDFFFFFADDFFFFFADDFFFF88 +:10E44000FADDFFFFFADDFFFFFADDFFFFFADDFFFF78 +:10E45000FADDFFFF42DEFFFF38E3FFFF0AE4FFFFC4 +:10E46000E0E3FFFF44E4FFFF44E4FFFFE6E4FFFFD7 +:10E4700030E5FFFF0AE4FFFF0AE4FFFF0AE4FFFFC5 +:10E480000AE4FFFF0AE4FFFF0AE4FFFF0AE4FFFFDC +:10E490000AE4FFFF0AE4FFFF0AE4FFFF0AE4FFFFCC +:10E4A0000AE4FFFF54E5FFFF54E5FFFF0AE4FFFF26 +:10E4B0000AE4FFFF0AE4FFFF0AE4FFFF0AE4FFFFAC +:10E4C0000AE4FFFFB2E5FFFFB2E5FFFF92EAFFFFBC +:10E4D0009EEAFFFFBEEAFFFFCAEAFFFFD6EAFFFFA0 +:10E4E000E2EAFFFFECEAFFFFF4EAFFFFFCEAFFFFCE +:10E4F00006EBFFFF10EBFFFF1CEBFFFF26EBFFFF20 +:10E5000030EBFFFF3AEBFFFF8EEBFFFF8EEBFFFFE1 +:10E5100044EBFFFF50EBFFFF5AEBFFFF64EBFFFF05 +:10E520006EEBFFFF76EBFFFF84EBFFFF6AEBFFFF75 +:10E5300086EBFFFF9AEBFFFFDEEDFFFFB6EBFFFF81 +:10E540001EECFFFF32ECFFFF46ECFFFF60ECFFFF2D +:10E550007AECFFFF8EECFFFFA8ECFFFFDEEDFFFF84 +:10E56000C2ECFFFFDEEDFFFFDEEDFFFFD6ECFFFFAD +:10E57000FCECFFFF22EDFFFF3CEDFFFF50EDFFFF46 +:10E5800062EDFFFFA6EDFFFF00010202030303039C +:10E590000404040404040404050505050505050533 +:10E5A0000505050505050505060606060606060613 +:10E5B00006060606060606060606060606060606FB +:10E5C00006060606060606060707070707070707E3 +:10E5D00007070707070707070707070707070707CB +:10E5E00007070707070707070707070707070707BB +:10E5F00007070707070707070707070707070707AB +:10E600000707070707070707080808080808080892 +:10E61000080808080808080808080808080808087A +:10E62000080808080808080808080808080808086A +:10E63000080808080808080808080808080808085A +:10E64000080808080808080808080808080808084A +:10E65000080808080808080808080808080808083A +:10E66000080808080808080808080808080808082A +:10E67000080808080808080808080808080808081A +:08E68000080808080808080852 +:10E688003C9D0400589E04000000000000000000AB +:10E698002AC104000000000002000000443F0020DE +:10E6A80001000000EC3E002002000000383F00207E +:10E6B80001000000F93E002002000000103F002089 +:10E6C800000000000000000002000000343F0020AD +:10E6D8000300000000000000C3812F0102020201B4 +:10E6E800020000005000A0000000E8030208020237 +:10E6F8000202000002000000483F00200100FFFF66 +:10E70800FF200101010210050101000000000000C6 +:10E71800020000004C3F0020052A0000882B000062 +:10E72800A62A0000C92A0000042A0000032A0000C3 +:10E73800022A0000012A0000002A00000229000025 +:10E74800032800000228000001280000002800001B +:08E75800011800000018000088 +:0400000340000000B9 +:00000001FF diff --git a/system/LIB/CH58xBLE_LIB.h b/system/LIB/CH58xBLE_LIB.h new file mode 100644 index 0000000..5e94f6c --- /dev/null +++ b/system/LIB/CH58xBLE_LIB.h @@ -0,0 +1,4917 @@ +/********************************** (C) COPYRIGHT ****************************** + * File Name : CH58xBLE_LIB.H + * Author : WCH + * Version : v1.40 + * Date : 2025/02/07 + * Description : head file(ch585/ch584) + * Copyright (c) 2023 Nanjing Qinheng Microelectronics Co., Ltd. + * Attention: This software (modified or not) and binary are used for + * microcontroller manufactured by Nanjing Qinheng Microelectronics. + *******************************************************************************/ + + +/******************************************************************************/ +#ifndef __CH58xBLE_LIB_H +#define __CH58xBLE_LIB_H + +#ifdef __cplusplus +extern "C" +{ +#endif +#include "stdint.h" + + +#ifndef BOOL +typedef uint8_t BOOL; +#endif +#ifndef TRUE + #define TRUE 1 +#endif +#ifndef FALSE + #define FALSE 0 +#endif +#ifndef NULL + #define NULL 0 +#endif +#ifndef SUCCESS +#define SUCCESS 0x00 +#endif +#ifndef bStatus_t +typedef uint8_t bStatus_t; +#endif +#ifndef tmosTaskID +typedef uint8_t tmosTaskID; +#endif +#ifndef tmosEvents +typedef uint16_t tmosEvents; +#endif +#ifndef tmosTimer +typedef uint32_t tmosTimer; +#endif +#ifndef tmosSnvId_t +typedef uint16_t tmosSnvId_t; +#endif +#ifndef tmosSnvLen_t +typedef uint16_t tmosSnvLen_t; +#endif + +// Define function type that generate a random seed callback +typedef uint32_t (*pfnSrandCB)( void ); +// Define function type that switch to idle mode callback +typedef uint32_t (*pfnIdleCB)( uint32_t ); +// Define function type that run LSI clock calibration callback +typedef void (*pfnLSICalibrationCB)( void ); +// Define function type that get temperature callback +typedef uint16_t (*pfnTempSampleCB)( void ); +// Define function type that connect/advertise event complete callback. +typedef void (*pfnEventCB)( uint32_t timeUs ); +// Define function type that library status callback. +typedef void (*pfnLibStatusErrorCB)( uint8_t code, uint32_t status ); +// Define function type that process event +typedef tmosEvents (*pTaskEventHandlerFn)( tmosTaskID taskID, tmosEvents event ); +// Define function type that read flash +typedef uint32_t (*pfnFlashReadCB)( uint32_t addr, uint32_t num, uint32_t *pBuf ); +// Define function type that write flash +typedef uint32_t (*pfnFlashWriteCB)( uint32_t addr, uint32_t num, uint32_t *pBuf ); +// Define function type that get system clock count +typedef uint32_t (*pfnGetSysClock)( void ); +// Define function type that enable/disable system clock interrupt +typedef void (*pfnSetSysClockIRQ)( void ); +// Define function type that change the timer trigger value +typedef void (*pfnSetSysClockTign)( int32_t val ); + +/* BLE library config struct */ +typedef struct tag_ble_config +{ + uint32_t MEMAddr; // library memory start address + uint16_t MEMLen; // library memory size + uint32_t SNVAddr; // SNV flash start address( if NULL,bonding information will not be saved ) + uint16_t SNVBlock; // SNV flash block size ( default 256 ) + uint8_t SNVNum; // SNV flash block number ( default 1 ) + uint8_t BufNumber; // Maximum number of sent and received packages cached by the controller( default 5 ) + // Must be greater than the number of connections. + uint16_t BufMaxLen; // Maximum length (in octets) of the data portion of each HCI data packet( default 27 ) + // SC enable,must be greater than 69 + // ATT_MTU = BufMaxLen-4,Range[23,ATT_MAX_MTU_SIZE] + uint8_t TxNumEvent; // Maximum number of TX data in a connection event ( default 1 ) + uint8_t RxNumEvent; // Maximum number of RX data in a connection event ( default equal to BufNumber ) + uint8_t TxPower; // Transmit power level( default LL_TX_PWR_0_DBM(0dBm) ) + uint8_t ConnectNumber; // Connect number,lower two bits are peripheral number,followed by central number + uint8_t PeripheralNumber; // peripheral number + uint8_t CentralNumber; // central number + uint8_t WindowWidening; // Wait rf start window(us) + uint8_t WaitWindow; // Wait event arrive window in one system clock + uint8_t MacAddr[6]; // MAC address,little-endian + pfnSrandCB srandCB; // Register a program that generate a random seed + pfnIdleCB idleCB; // Register a program that set idle + pfnTempSampleCB tsCB; // Register a program that read the current temperature,determine whether calibration is need + pfnLSICalibrationCB rcCB; // Register a program that LSI clock calibration + pfnLibStatusErrorCB staCB; // Register a program that library status callback + pfnFlashReadCB readFlashCB; // Register a program that read flash + pfnFlashWriteCB writeFlashCB; // Register a program that write flash +} bleConfig_t; // Library initialization call BLE_LibInit function + +/* BLE pa control config struct */ +typedef struct tag_ble_clock_config +{ + pfnGetSysClock getClockValue; + pfnSetSysClockIRQ SetPendingIRQ; + uint32_t ClockMaxCount; // The maximum count value + uint16_t ClockFrequency; // The timing clock frequency(Hz) + uint16_t ClockAccuracy; // The timing clock accuracy(ppm) + uint8_t irqEnable; // resv + + // RF-8K config + uint32_t Clock1Frequency; // RF-8K timing clock frequency(Hz) + pfnGetSysClock getClock1Value; + pfnSetSysClockIRQ SetClock1PendingIRQ; + pfnSetSysClockTign SetTign; +}bleClockConfig_t; + +/* BLE pa control config struct */ +typedef struct tag_ble_pa_control_config +{ + uint32_t txEnableGPIO; // tx enable gpio register + uint32_t txDisableGPIO; // tx disable gpio register + uint32_t tx_pin; // tx pin define + uint32_t rxEnableGPIO; // rx enable gpio register + uint32_t rxDisableGPIO; // rx disable gpio register + uint32_t rx_pin; // tx pin define +} blePaControlConfig_t; + +// defined for all task +#define SYS_EVENT_MSG (0x8000) // A message is waiting event +#define INVALID_TASK_ID 0xFF // Task ID isn't setup properly +#define TASK_NO_TASK 0xFF + +typedef struct +{ + uint8_t event; + uint8_t status; +} tmos_event_hdr_t; + +/********************************************************************* + * GLOBAL MACROS + */ +#define VER_FILE "CH585_BLE_LIB_V1.4" +extern const uint8_t VER_LIB[]; // LIB version +#define SYSTEM_TIME_MICROSEN 625 // unit of process event timer is 625us +#define MS1_TO_SYSTEM_TIME(x) ((x)*1000/SYSTEM_TIME_MICROSEN) // transform unit in ms to unit in 625us ( attentional bias ) +#define TMOS_TIME_VALID (30*1000*1000) // the maximum task time = RTC MAX clock - TMOS_TIME_VALID + +/* takes a byte out of a uint32_t : var - uint32_t, ByteNum - byte to take out (0 - 3) */ +#define BREAK_UINT32( var, ByteNum ) (uint8_t)((uint32_t)(((var) >>((ByteNum) * 8)) & 0x00FF)) +#define HI_UINT16(a) (((a) >> 8) & 0xFF) +#define LO_UINT16(a) ((a) & 0xFF) +#define HI_UINT8(a) (((a) >> 4) & 0x0F) +#define LO_UINT8(a) ((a) & 0x0F) +#define BUILD_UINT32(Byte0, Byte1, Byte2, Byte3) \ + ((uint32_t)(((uint32_t)(Byte0) & 0x00FF) \ + + (((uint32_t)(Byte1) & 0x00FF) << 8) \ + + (((uint32_t)(Byte2) & 0x00FF) << 16) \ + + (((uint32_t)(Byte3) & 0x00FF) << 24))) +#define BUILD_UINT16(loByte, hiByte) ((uint16_t)(((loByte) & 0x00FF)|(((hiByte) & 0x00FF)<<8))) + +#define ACTIVE_LOW ! +#define ACTIVE_HIGH !! // double negation forces result to be '1' + +#ifndef BV +#define BV(n) (1 << (n)) +#endif + +#ifndef BF +#define BF(x,b,s) (((x) & (b)) >> (s)) +#endif + +#ifndef MIN +#define MIN(n,m) (((n) < (m)) ? (n) : (m)) +#endif + +#ifndef MAX +#define MAX(n,m) (((n) < (m)) ? (m) : (n)) +#endif + +#ifndef ABS +#define ABS(n) (((n) < 0) ? -(n) : (n)) +#endif + +/* TxPower define(Accuracy:±2dBm) */ +#define LL_TX_PWR_MINUS_20_DBM 0x01 +#define LL_TX_PWR_MINUS_15_DBM 0x03 +#define LL_TX_PWR_MINUS_10_DBM 0x05 +#define LL_TX_PWR_MINUS_8_DBM 0x07 +#define LL_TX_PWR_MINUS_5_DBM 0x0B +#define LL_TX_PWR_MINUS_3_DBM 0x0F +#define LL_TX_PWR_MINUS_1_DBM 0x13 +#define LL_TX_PWR_0_DBM 0x15 +#define LL_TX_PWR_1_DBM 0x1B +#define LL_TX_PWR_2_DBM 0x23 +#define LL_TX_PWR_3_DBM 0x2B +#define LL_TX_PWR_4_DBM 0x3B + +/* ERR_LIB_INIT define */ +#define ERR_LLE_IRQ_HANDLE 0x01 +#define ERR_MEM_ALLOCATE_SIZE 0x02 +#define ERR_SET_MAC_ADDR 0x03 +#define ERR_GAP_ROLE_CONFIG 0x04 +#define ERR_CONNECT_NUMBER_CONFIG 0x05 +#define ERR_SNV_ADDR_CONFIG 0x06 +#define ERR_CLOCK_SELECT_CONFIG 0x07 + +//! Default Public and Random Address Length +#define B_ADDR_LEN 6 +//! Random Number Size +#define B_RANDOM_NUM_SIZE 8 +//! Default key length +#define KEYLEN 16 +#define PUBLIC_KEY_LEN 64 + +//! Maximum Advertising Packet Length +#define B_MAX_ADV_LEN 31 // maximum legacy advertising packet length +#define B_MAX_ADV_EXT_LEN 460 // maximum extended advertising packet length +#define B_MAX_ADV_PERIODIC_LEN 460 // maximum periodic advertising packet length + +#define FAILURE 0x01 //!< Failure +#define INVALIDPARAMETER 0x02 //!< Invalid request field +#define INVALID_TASK 0x03 //!< Task ID isn't setup properly +#define MSG_BUFFER_NOT_AVAIL 0x04 //!< No buffer is available. +#define INVALID_MSG_POINTER 0x05 //!< No message pointer. +#define INVALID_EVENT_ID 0x06 //!< Invalid event id. +#define INVALID_TIMEOUT 0x07 //!< Invalid timeout. +#define NO_TIMER_AVAIL 0x08 //!< No event is available. +#define NV_OPER_FAILED 0x0A //!< read a data item to NV failed. +#define INVALID_MEM_SIZE 0x0B //!< The tokens take up too much space and don't fit into Advertisement data and Scan Response Data + +/** BLE_STATUS_VALUES BLE Default BLE Status Values + * returned as bStatus_t + */ +#define bleInvalidTaskID INVALID_TASK //!< Task ID isn't setup properly +#define bleEecKeyRequestRejected 0x06 //!< key missing +#define bleNotReady 0x10 //!< Not ready to perform task +#define bleAlreadyInRequestedMode 0x11 //!< Already performing that task +#define bleIncorrectMode 0x12 //!< Not setup properly to perform that task +#define bleMemAllocError 0x13 //!< Memory allocation error occurred +#define bleNotConnected 0x14 //!< Can't perform function when not in a connection +#define bleNoResources 0x15 //!< There are no resource available +#define blePending 0x16 //!< Waiting +#define bleTimeout 0x17 //!< Timed out performing function +#define bleInvalidRange 0x18 //!< A parameter is out of range +#define bleLinkEncrypted 0x19 //!< The link is already encrypted +#define bleProcedureComplete 0x1A //!< The Procedure is completed +#define bleInvalidMtuSize 0x1B //!< SDU size is larger than peer MTU. + +/********************************LinkDB****************************************/ +// Special case connection handles +#define INVALID_CONNHANDLE 0xFFFF // Invalid connection handle, used for no connection handle +#define LOOPBACK_CONNHANDLE 0xFFFE // Loopback connection handle, used to loopback a message +// Link state flags +#define LINK_NOT_CONNECTED 0x00 // Link isn't connected +#define LINK_CONNECTED 0x01 // Link is connected +#define LINK_AUTHENTICATED 0x02 // Link is authenticated +#define LINK_BOUND 0x04 // Link is bonded +#define LINK_ENCRYPTED 0x10 // Link is encrypted +// Link Database Status callback changeTypes +#define LINKDB_STATUS_UPDATE_NEW 0 // New connection created +#define LINKDB_STATUS_UPDATE_REMOVED 1 // Connection was removed +#define LINKDB_STATUS_UPDATE_STATEFLAGS 2 // Connection state flag changed +/*******************************gattUUID***************************************/ +/** + * GATT Services + */ +#define GAP_SERVICE_UUID 0x1800 // Generic Access Profile +#define GATT_SERVICE_UUID 0x1801 // Generic Attribute Profile + +/** + * GATT Declarations + */ +#define GATT_PRIMARY_SERVICE_UUID 0x2800 // Primary Service +#define GATT_SECONDARY_SERVICE_UUID 0x2801 // Secondary Service +#define GATT_INCLUDE_UUID 0x2802 // Include +#define GATT_CHARACTER_UUID 0x2803 // Characteristic + +/** + * GATT Descriptors + */ +#define GATT_CHAR_EXT_PROPS_UUID 0x2900 // Characteristic Extended Properties +#define GATT_CHAR_USER_DESC_UUID 0x2901 // Characteristic User Description +#define GATT_CLIENT_CHAR_CFG_UUID 0x2902 // Client Characteristic Configuration +#define GATT_SERV_CHAR_CFG_UUID 0x2903 // Server Characteristic Configuration +#define GATT_CHAR_FORMAT_UUID 0x2904 // Characteristic Presentation Format +#define GATT_CHAR_AGG_FORMAT_UUID 0x2905 // Characteristic Aggregate Format +#define GATT_VALID_RANGE_UUID 0x2906 // Valid Range +#define GATT_EXT_REPORT_REF_UUID 0x2907 // External Report Reference Descriptor +#define GATT_REPORT_REF_UUID 0x2908 // Report Reference Descriptor + +/** + * GATT Characteristics + */ +#define DEVICE_NAME_UUID 0x2A00 // Device Name +#define APPEARANCE_UUID 0x2A01 // Appearance +#define PERI_PRIVACY_FLAG_UUID 0x2A02 // Peripheral Privacy Flag +#define RECONNECT_ADDR_UUID 0x2A03 // Reconnection Address +#define PERI_CONN_PARAM_UUID 0x2A04 // Peripheral Preferred Connection Parameters +#define SERVICE_CHANGED_UUID 0x2A05 // Service Changed +#define CENTRAL_ADDRESS_RESOLUTION_UUID 0x2AA6 // Central Address Resolution +#define RL_PRIVATE_ADDR_ONLY_UUID 0x2AC9 // Resolvable Private Address Only +#define ENC_DATA_KEY_MATERIAL_UUID 0x2B88 // Encrypted Data Key Material +#define LE_GATT_SEC_LEVELS_UUID 0x2BF5 // LE GATT Security Levels + +/** + * GATT Service UUIDs + */ +#define IMMEDIATE_ALERT_SERV_UUID 0x1802 // Immediate Alert +#define LINK_LOSS_SERV_UUID 0x1803 // Link Loss +#define TX_PWR_LEVEL_SERV_UUID 0x1804 // Tx Power +#define CURRENT_TIME_SERV_UUID 0x1805 // Current Time Service +#define REF_TIME_UPDATE_SERV_UUID 0x1806 // Reference Time Update Service +#define NEXT_DST_CHANGE_SERV_UUID 0x1807 // Next DST Change Service +#define GLUCOSE_SERV_UUID 0x1808 // Glucose +#define THERMOMETER_SERV_UUID 0x1809 // Health Thermometer +#define DEVINFO_SERV_UUID 0x180A // Device Information +#define NWA_SERV_UUID 0x180B // Network Availability +#define HEARTRATE_SERV_UUID 0x180D // Heart Rate +#define PHONE_ALERT_STS_SERV_UUID 0x180E // Phone Alert Status Service +#define BATT_SERV_UUID 0x180F // Battery Service +#define BLOODPRESSURE_SERV_UUID 0x1810 // Blood Pressure +#define ALERT_NOTIF_SERV_UUID 0x1811 // Alert Notification Service +#define HID_SERV_UUID 0x1812 // Human Interface Device +#define SCAN_PARAM_SERV_UUID 0x1813 // Scan Parameters +#define RSC_SERV_UUID 0x1814 // Running Speed and Cadence +#define CSC_SERV_UUID 0x1816 // Cycling Speed and Cadence +#define CYCPWR_SERV_UUID 0x1818 // Cycling Power +#define LOC_NAV_SERV_UUID 0x1819 // Location and Navigation + +/** + * GATT Characteristic UUIDs + */ +#define ALERT_LEVEL_UUID 0x2A06 // Alert Level +#define TX_PWR_LEVEL_UUID 0x2A07 // Tx Power Level +#define DATE_TIME_UUID 0x2A08 // Date Time +#define DAY_OF_WEEK_UUID 0x2A09 // Day of Week +#define DAY_DATE_TIME_UUID 0x2A0A // Day Date Time +#define EXACT_TIME_256_UUID 0x2A0C // Exact Time 256 +#define DST_OFFSET_UUID 0x2A0D // DST Offset +#define TIME_ZONE_UUID 0x2A0E // Time Zone +#define LOCAL_TIME_INFO_UUID 0x2A0F // Local Time Information +#define TIME_WITH_DST_UUID 0x2A11 // Time with DST +#define TIME_ACCURACY_UUID 0x2A12 // Time Accuracy +#define TIME_SOURCE_UUID 0x2A13 // Time Source +#define REF_TIME_INFO_UUID 0x2A14 // Reference Time Information +#define TIME_UPDATE_CTRL_PT_UUID 0x2A16 // Time Update Control Point +#define TIME_UPDATE_STATE_UUID 0x2A17 // Time Update State +#define GLUCOSE_MEAS_UUID 0x2A18 // Glucose Measurement +#define BATT_LEVEL_UUID 0x2A19 // Battery Level +#define TEMP_MEAS_UUID 0x2A1C // Temperature Measurement +#define TEMP_TYPE_UUID 0x2A1D // Temperature Type +#define IMEDIATE_TEMP_UUID 0x2A1E // Intermediate Temperature +#define MEAS_INTERVAL_UUID 0x2A21 // Measurement Interval +#define BOOT_KEY_INPUT_UUID 0x2A22 // Boot Keyboard Input Report +#define SYSTEM_ID_UUID 0x2A23 // System ID +#define MODEL_NUMBER_UUID 0x2A24 // Model Number String +#define SERIAL_NUMBER_UUID 0x2A25 // Serial Number String +#define FIRMWARE_REV_UUID 0x2A26 // Firmware Revision String +#define HARDWARE_REV_UUID 0x2A27 // Hardware Revision String +#define SOFTWARE_REV_UUID 0x2A28 // Software Revision String +#define MANUFACTURER_NAME_UUID 0x2A29 // Manufacturer Name String +#define IEEE_11073_CERT_DATA_UUID 0x2A2A // IEEE 11073-20601 Regulatory Certification Data List +#define CURRENT_TIME_UUID 0x2A2B // Current Time +#define SCAN_REFRESH_UUID 0x2A31 // Scan Refresh +#define BOOT_KEY_OUTPUT_UUID 0x2A32 // Boot Keyboard Output Report +#define BOOT_MOUSE_INPUT_UUID 0x2A33 // Boot Mouse Input Report +#define GLUCOSE_CONTEXT_UUID 0x2A34 // Glucose Measurement Context +#define BLOODPRESSURE_MEAS_UUID 0x2A35 // Blood Pressure Measurement +#define IMEDIATE_CUFF_PRESSURE_UUID 0x2A36 // Intermediate Cuff Pressure +#define HEARTRATE_MEAS_UUID 0x2A37 // Heart Rate Measurement +#define BODY_SENSOR_LOC_UUID 0x2A38 // Body Sensor Location +#define HEARTRATE_CTRL_PT_UUID 0x2A39 // Heart Rate Control Point +#define NETWORK_AVAIL_UUID 0x2A3E // Network Availability +#define ALERT_STATUS_UUID 0x2A3F // Alert Status +#define RINGER_CTRL_PT_UUID 0x2A40 // Ringer Control Point +#define RINGER_SETTING_UUID 0x2A41 // Ringer Setting +#define ALERT_CAT_ID_BMASK_UUID 0x2A42 // Alert Category ID Bit Mask +#define ALERT_CAT_ID_UUID 0x2A43 // Alert Category ID +#define ALERT_NOTIF_CTRL_PT_UUID 0x2A44 // Alert Notification Control Point +#define UNREAD_ALERT_STATUS_UUID 0x2A45 // Unread Alert Status +#define NEW_ALERT_UUID 0x2A46 // New Alert +#define SUP_NEW_ALERT_CAT_UUID 0x2A47 // Supported New Alert Category +#define SUP_UNREAD_ALERT_CAT_UUID 0x2A48 // Supported Unread Alert Category +#define BLOODPRESSURE_FEATURE_UUID 0x2A49 // Blood Pressure Feature +#define HID_INFORMATION_UUID 0x2A4A // HID Information +#define REPORT_MAP_UUID 0x2A4B // Report Map +#define HID_CTRL_PT_UUID 0x2A4C // HID Control Point +#define REPORT_UUID 0x2A4D // Report +#define PROTOCOL_MODE_UUID 0x2A4E // Protocol Mode +#define SCAN_INTERVAL_WINDOW_UUID 0x2A4F // Scan Interval Window +#define PNP_ID_UUID 0x2A50 // PnP ID +#define GLUCOSE_FEATURE_UUID 0x2A51 // Glucose Feature +#define RECORD_CTRL_PT_UUID 0x2A52 // Record Access Control Point +#define RSC_MEAS_UUID 0x2A53 // RSC Measurement +#define RSC_FEATURE_UUID 0x2A54 // RSC Feature +#define SC_CTRL_PT_UUID 0x2A55 // SC Control Point +#define CSC_MEAS_UUID 0x2A5B // CSC Measurement +#define CSC_FEATURE_UUID 0x2A5C // CSC Feature +#define SENSOR_LOC_UUID 0x2A5D // Sensor Location +#define CYCPWR_MEAS_UUID 0x2A63 // Cycling Power Measurement +#define CYCPWR_VECTOR_UUID 0x2A64 // Cycling Power Vector +#define CYCPWR_FEATURE_UUID 0x2A65 // Cycling Power Feature +#define CYCPWR_CTRL_PT_UUID 0x2A66 // Cycling Power Control Point +#define LOC_SPEED_UUID 0x2A67 // Location and Speed +#define NAV_UUID 0x2A68 // Navigation +#define POS_QUALITY_UUID 0x2A69 // Position Quality +#define LN_FEATURE_UUID 0x2A6A // LN Feature +#define LN_CTRL_PT_UUID 0x2A6B // LN Control Point +#define ELE_UUID 0x2A6C // Elevation +#define PRESSURE_UUID 0x2A6D // Pressure +#define TEMP_UUID 0x2A6E // Temperature +#define HUMI_UUID 0x2A6F // Humidity +#define TRUE_WIND_SPEED_UUID 0x2A70 // True Wind Speed +#define TRUE_WIND_DIRECTION_UUID 0x2A71 // True Wind Direction +#define URI_UUID 0x2AB6 // URI +#define MEDIA_STATE_UUID 0x2BA3 // Media State +#define MEDIA_CTRL_PT_UUID 0x2BA4 // Media Control Point +#define MEDIA_CTRL_PT_OS_UUID 0x2BA5 // Media Control Point Opcodes Supported +#define CALL_STATE_UUID 0x2BBD // Call State +#define CALL_CTRL_PT_UUID 0x2BBE // Call Control Point +#define CALL_CTRL_PT_OO_UUID 0x2BBF // Call Control Point Optional Opcodes +#define TERM_REASON_UUID 0x2BC0 // Termination Reason +#define INCOMING_CALL_UUID 0x2BC1 // Incoming Call +#define MUTE_UUID 0x2BC3 // Mute +#define ESL_ADDR_UUID 0x2BF6 // ESL Address +#define AP_SYNC_KEY_MATERIAL_UUID 0x2BF7 // AP Sync Key Material +#define ESL_RSP_KEY_MATERIAL_UUID 0x2BF8 // ESL Response Key Material +#define ESL_CURR_ABS_TIME_UUID 0x2BF9 // ESL Current Absolute Time +#define ESL_DISPLAY_INFO_UUID 0x2BFA // ESL Display Information +#define ESL_IMAGE_INFO_UUID 0x2BFB // ESL Image Information +#define ESL_SENSOR_INFO_UUID 0x2BFC // ESL Sensor Information +#define ESL_LED_INFO_UUID 0x2BFD // ESL LED Information +#define ESL_CTL_POINT_UUID 0x2BFE // ESL Control Point + +/** + * GATT Unit UUIDs + */ +#define GATT_UNITLESS_UUID 0x2700 // unitless +#define GATT_UNIT_LENGTH_METER_UUID 0x2701 // m, m +#define GATT_UNIT_MASS_KGRAM_UUID 0x2702 // kg, kg +#define GATT_UNIT_TIME_SECOND_UUID 0x2703 // s, s +#define GATT_UNIT_ELECTRIC_CURRENT_A_UUID 0x2704 // A, A +#define GATT_UNIT_THERMODYN_TEMP_K_UUID 0x2705 // K, K +#define GATT_UNIT_AMOUNT_SUBSTANCE_M_UUID 0x2706 // mol, mol +#define GATT_UNIT_LUMINOUS_INTENSITY_C_UUID 0x2707 // cd, cd + +#define GATT_UNIT_AREA_SQ_MTR_UUID 0x2710 // m^2, m^2 +#define GATT_UNIT_VOLUME_CUBIC_MTR_UUID 0x2711 // m^3, m^3 +#define GATT_UNIT_VELOCITY_MPS_UUID 0x2712 // m/s, m s^-1 +#define GATT_UNIT_ACCELERATION_MPS_SQ_UUID 0x2713 // m/s^2, m s^-2 +#define GATT_UNIT_WAVENUMBER_RM_UUID 0x2714 // ? m^-1 +#define GATT_UNIT_DENSITY_KGPCM_UUID 0x2715 // p, kg m^-3 +#define GATT_UNIT_SURFACE_DENSITY_KGPSM_UUID 0x2716 // pA, kg m^-2 +#define GATT_UNIT_SPECIFIC_VOLUME_CMPKG_UUID 0x2717 // v, m^3 kg^-1 +#define GATT_UNIT_CURRENT_DENSITY_APSM_UUID 0x2718 // j, A m^-2 +#define GATT_UNIT_MAG_FIELD_STRENGTH_UUID 0x2719 // H, A m +#define GATT_UNIT_AMOUNT_CONC_MPCM_UUID 0x271A // c, mol m^-3 +#define GATT_UNIT_MASS_CONC_KGPCM_UUID 0x271B // c, kg m^-3 +#define GATT_UNIT_LUMINANCE_CPSM_UUID 0x271C // Lv, cd m^-2 +#define GATT_UNIT_REFRACTIVE_INDEX_UUID 0x271D // n, 1 +#define GATT_UNIT_RELATIVE_PERMEABLILTY_UUID 0x271E // u, 1 +#define GATT_UNIT_PLANE_ANGLE_RAD_UUID 0x2720 // rad, m m-1 +#define GATT_UNIT_SOLID_ANGLE_STERAD_UUID 0x2721 // sr, m2 m-2 +#define GATT_UNIT_FREQUENCY_HTZ_UUID 0x2722 // Hz, s-1 +#define GATT_UNIT_FORCE_NEWTON_UUID 0x2723 // N, m kg s-2 +#define GATT_UNIT_PRESSURE_PASCAL_UUID 0x2724 // Pa, N/m2 = m2 kg s-2 +#define GATT_UNIT_ENERGY_JOULE_UUID 0x2725 // J, N m = m2 kg s-2 +#define GATT_UNIT_POWER_WATT_UUID 0x2726 // W, J/s = m2 kg s-3 +#define GATT_UNIT_E_CHARGE_C_UUID 0x2727 // C, sA +#define GATT_UNIT_E_POTENTIAL_DIF_V_UUID 0x2728 // V, W/A = m2 kg s-3 A-1 + +#define GATT_UNIT_CELSIUS_TEMP_DC_UUID 0x272F // oC, t/oC = T/K - 273.15 + +#define GATT_UNIT_TIME_MINUTE_UUID 0x2760 // min, 60 s +#define GATT_UNIT_TIME_HOUR_UUID 0x2761 // h, 3600 s +#define GATT_UNIT_TIME_DAY_UUID 0x2762 // d, 86400 s +#define GATT_UNIT_PLANE_ANGLE_DEGREE_UUID 0x2763 // o, (pi/180) rad +#define GATT_UNIT_PLANE_ANGLE_MINUTE_UUID 0x2764 // ', (pi/10800) rad +#define GATT_UNIT_PLANE_ANGLE_SECOND_UUID 0x2765 // '', (pi/648000) rad +#define GATT_UNIT_AREA_HECTARE_UUID 0x2766 // ha, 10^4 m^2 +#define GATT_UNIT_VOLUME_LITRE_UUID 0x2767 // l, 10^-3 m^3 +#define GATT_UNIT_MASS_TONNE_UUID 0x2768 // t, 10^3 kg + +#define GATT_UINT_LENGTH_YARD_UUID 0x27A0 // yd, 0.9144 m +#define GATT_UNIT_LENGTH_PARSEC_UUID 0x27A1 // pc, 3.085678 ?1016 m +#define GATT_UNIT_LENGTH_INCH_UUID 0x27A2 // in, 0.0254 m +#define GATT_UNIT_LENGTH_FOOT_UUID 0x27A3 // ft, 0.3048 m +#define GATT_UNIT_LENGTH_MILE_UUID 0x27A4 // mi, 1609.347 m +#define GATT_UNIT_PRESSURE_PFPSI_UUID 0x27A5 // psi, 6.894757 ?103 Pa +#define GATT_UNIT_VELOCITY_KMPH_UUID 0x27A6 // km/h, 0.2777778 m^s-1 +#define GATT_UNIT_VELOCITY_MPH_UUID 0x27A7 // mi/h, 0.44704 m^ s-1 +#define GATT_UNIT_ANGULAR_VELOCITY_RPM_UUID 0x27A8 // r/min, 0.1047198 rad s-1 +#define GATT_UNIT_ENERGY_GCAL_UUID 0x27A9 // energy (gram calorie) +#define GATT_UNIT_ENERGY_KCAL_UUID 0x27AA // kcal, 4190.02 J +#define GATT_UNIT_ENERGY_KWH_UUID 0x27AB // kWh, 3600000 J +#define GATT_UNIT_THERMODYN_TEMP_DF_UUID 0x27AC // oF, t/oF = T/K ?1.8 - 459.67 +#define GATT_UNIT_PERCENTAGE_UUID 0x27AD // percentage,% +#define GATT_UNIT_PER_MILE_UUID 0x27AE // per mille +#define GATT_UNIT_PERIOD_BPM_UUID 0x27AF // period (beats per minute),BPM +#define GATT_UNIT_E_CHARGE_AH_UUID 0x27B0 // electric charge (ampere hours) +#define GATT_UNIT_MASS_DENSITY_MGPD_UUID 0x27B1 // mass density (milligram per decilitre) +#define GATT_UNIT_MASS_DENSITY_MMPL_UUID 0x27B2 // mass density (millimole per litre) +#define GATT_UNIT_TIME_YEAR_UUID 0x27B3 // time (year) +#define GATT_UNIT_TIME_MONTH_UUID 0x27B4 // time (month) + +/*********************************Messages IDs*********************************/ +// GATT - Messages IDs +#define GATT_MSG_EVENT 0xB0 //!< Incoming GATT message +#define GATT_SERV_MSG_EVENT 0xB1 //!< Incoming GATT ServApp message +// GAP - Messages IDs +#define GAP_MSG_EVENT 0xD0 //!< Incoming GAP message +/************************************ATT***************************************/ +#define ATT_MTU_SIZE 23 //!< Minimum ATT MTU size +#define ATT_MAX_MTU_SIZE 512 //!< Maximum ATT MTU size +// ATT Methods +#define ATT_ERROR_RSP 0x01 //!< ATT Error Response +#define ATT_EXCHANGE_MTU_REQ 0x02 //!< ATT Exchange MTU Request +#define ATT_EXCHANGE_MTU_RSP 0x03 //!< ATT Exchange MTU Response +#define ATT_FIND_INFO_REQ 0x04 //!< ATT Find Information Request +#define ATT_FIND_INFO_RSP 0x05 //!< ATT Find Information Response +#define ATT_FIND_BY_TYPE_VALUE_REQ 0x06 //!< ATT Find By Type Value Request +#define ATT_FIND_BY_TYPE_VALUE_RSP 0x07 //!< ATT Find By Type Value Response +#define ATT_READ_BY_TYPE_REQ 0x08 //!< ATT Read By Type Request +#define ATT_READ_BY_TYPE_RSP 0x09 //!< ATT Read By Type Response +#define ATT_READ_REQ 0x0a //!< ATT Read Request +#define ATT_READ_RSP 0x0b //!< ATT Read Response +#define ATT_READ_BLOB_REQ 0x0c //!< ATT Read Blob Request +#define ATT_READ_BLOB_RSP 0x0d //!< ATT Read Blob Response +#define ATT_READ_MULTI_REQ 0x0e //!< ATT Read Multiple Request +#define ATT_READ_MULTI_RSP 0x0f //!< ATT Read Multiple Response +#define ATT_READ_BY_GRP_TYPE_REQ 0x10 //!< ATT Read By Group Type Request +#define ATT_READ_BY_GRP_TYPE_RSP 0x11 //!< ATT Read By Group Type Response +#define ATT_WRITE_REQ 0x12 //!< ATT Write Request +#define ATT_WRITE_RSP 0x13 //!< ATT Write Response +#define ATT_PREPARE_WRITE_REQ 0x16 //!< ATT Prepare Write Request +#define ATT_PREPARE_WRITE_RSP 0x17 //!< ATT Prepare Write Response +#define ATT_EXECUTE_WRITE_REQ 0x18 //!< ATT Execute Write Request +#define ATT_EXECUTE_WRITE_RSP 0x19 //!< ATT Execute Write Response +#define ATT_HANDLE_VALUE_NOTI 0x1b //!< ATT Handle Value Notification +#define ATT_HANDLE_VALUE_IND 0x1d //!< ATT Handle Value Indication +#define ATT_HANDLE_VALUE_CFM 0x1e //!< ATT Handle Value Confirmation + +#define ATT_WRITE_CMD 0x52 //!< ATT Write Command +#define ATT_SIGNED_WRITE_CMD 0xD2 //!< ATT Signed Write Command + +// ATT Error Codes +#define ATT_ERR_INVALID_HANDLE 0x01 //!< The attribute handle given was not valid on this server +#define ATT_ERR_READ_NOT_PERMITTED 0x02 //!< The attribute cannot be read +#define ATT_ERR_WRITE_NOT_PERMITTED 0x03 //!< The attribute cannot be written +#define ATT_ERR_INVALID_PDU 0x04 //!< The attribute PDU was invalid +#define ATT_ERR_INSUFFICIENT_AUTHEN 0x05 //!< The attribute requires authentication before it can be read or written +#define ATT_ERR_UNSUPPORTED_REQ 0x06 //!< Attribute server does not support the request received from the client +#define ATT_ERR_INVALID_OFFSET 0x07 //!< Offset specified was past the end of the attribute +#define ATT_ERR_INSUFFICIENT_AUTHOR 0x08 //!< The attribute requires authorization before it can be read or written +#define ATT_ERR_PREPARE_QUEUE_FULL 0x09 //!< Too many prepare writes have been queued +#define ATT_ERR_ATTR_NOT_FOUND 0x0a //!< No attribute found within the given attribute handle range +#define ATT_ERR_ATTR_NOT_LONG 0x0b //!< The attribute cannot be read using the Read Blob Request +#define ATT_ERR_INSUFFICIENT_KEY_SIZE 0x0c //!< The Encryption Key Size used for encrypting this link is insufficient +#define ATT_ERR_INVALID_VALUE_SIZE 0x0d //!< The attribute value length is invalid for the operation +#define ATT_ERR_UNLIKELY 0x0e //!< The attribute request that was requested has encountered an error that was very unlikely, and therefore could not be completed as requested +#define ATT_ERR_INSUFFICIENT_ENCRYPT 0x0f //!< The attribute requires encryption before it can be read or written +#define ATT_ERR_UNSUPPORTED_GRP_TYPE 0x10 //!< The attribute type is not a supported grouping attribute as defined by a higher layer specification +#define ATT_ERR_INSUFFICIENT_RESOURCES 0x11 //!< Insufficient Resources to complete the request +#define ATT_ERR_INVALID_VALUE 0x80 //!< The attribute value is invalid for the operation + +/********************************************************************* + * ATT Find By Type Value Response macros + */ +// Attribute Handle and Group End Handle pair indexes +#define ATT_ATTR_HANDLE_IDX( i ) ( (i) * (2 + 2) ) +#define ATT_GRP_END_HANDLE_IDX( i ) ( ATT_ATTR_HANDLE_IDX( (i) ) + 2 ) + +#define ATT_ATTR_HANDLE( info, i ) ( BUILD_UINT16( (info)[ATT_ATTR_HANDLE_IDX((i))], \ + (info)[ATT_ATTR_HANDLE_IDX((i))+1] ) ) +#define ATT_GRP_END_HANDLE( info, i ) ( BUILD_UINT16( (info)[ATT_GRP_END_HANDLE_IDX((i))], \ + (info)[ATT_GRP_END_HANDLE_IDX((i))+1] ) ) +/** @defgroup ATT_MSG_EVENT_DEFINES ATT Message Event IDs + * @{ + */ +#define ATT_FLOW_CTRL_VIOLATED_EVENT 0x7E //!< Sent when ATT flow control is violated on a connection. This event is sent as an TMOS message defined as attFlowCtrlViolatedEvt_t. +#define ATT_MTU_UPDATED_EVENT 0x7F //!< Sent when MTU is updated for a connection. This event is sent as an TMOS message defined as attMtuUpdatedEvt_t. +/** @} End ATT_MSG_EVENT_DEFINES */ + +/*** Opcode fields: bitmasks ***/ +// Size of 16-bit Bluetooth UUID +#define ATT_BT_UUID_SIZE 2 +// Size of 128-bit UUID +#define ATT_UUID_SIZE 16 + +/******************************** GATT ***********************************/ + +// GATT Attribute Access Permissions Bit Fields +#define GATT_PERMIT_READ 0x01 //!< Attribute is Readable +#define GATT_PERMIT_WRITE 0x02 //!< Attribute is Writable +#define GATT_PERMIT_AUTHEN_READ 0x04 //!< Read requires Authentication +#define GATT_PERMIT_AUTHEN_WRITE 0x08 //!< Write requires Authentication +#define GATT_PERMIT_AUTHOR_READ 0x10 //!< Read requires Authorization +#define GATT_PERMIT_AUTHOR_WRITE 0x20 //!< Write requires Authorization +#define GATT_PERMIT_ENCRYPT_READ 0x40 //!< Read requires Encryption +#define GATT_PERMIT_ENCRYPT_WRITE 0x80 //!< Write requires Encryption + +// GATT Characteristic Properties Bit Fields +#define GATT_PROP_BCAST 0x01 //!< Permits broadcasts of the Characteristic Value +#define GATT_PROP_READ 0x02 //!< Permits reads of the Characteristic Value +#define GATT_PROP_WRITE_NO_RSP 0x04 //!< Permits writes of the Characteristic Value without response +#define GATT_PROP_WRITE 0x08 //!< Permits writes of the Characteristic Value with response +#define GATT_PROP_NOTIFY 0x10 //!< Permits notifications of a Characteristic Value without acknowledgement +#define GATT_PROP_INDICATE 0x20 //!< Permits indications of a Characteristic Value with acknowledgement +#define GATT_PROP_AUTHEN 0x40 //!< Permits signed writes to the Characteristic Value +#define GATT_PROP_EXTENDED 0x80 //!< Additional characteristic properties are defined in the Characteristic Extended Properties Descriptor + +// GATT local read or write operation +#define GATT_LOCAL_READ 0xFF +#define GATT_LOCAL_WRITE 0xFE + +// GATT Encryption Key Size Limits +#define GATT_MIN_ENCRYPT_KEY_SIZE 7 //!< GATT Minimum Encryption Key Size +#define GATT_MAX_ENCRYPT_KEY_SIZE 16 //!< GATT Maximum Encryption Key Size + +// Attribute handle definitions +#define GATT_INVALID_HANDLE 0x0000 // Invalid attribute handle +#define GATT_MIN_HANDLE 0x0001 // Minimum attribute handle +#define GATT_MAX_HANDLE 0xFFFF // Maximum attribute handle + +#define GATT_MAX_MTU 0xFFFF // Maximum MTU size + +// Attribute Access Permissions +#define gattPermitRead( a ) ( (a) & GATT_PERMIT_READ ) +#define gattPermitWrite( a ) ( (a) & GATT_PERMIT_WRITE ) +#define gattPermitAuthenRead( a ) ( (a) & GATT_PERMIT_AUTHEN_READ ) +#define gattPermitAuthenWrite( a ) ( (a) & GATT_PERMIT_AUTHEN_WRITE ) +#define gattPermitAuthorRead( a ) ( (a) & GATT_PERMIT_AUTHOR_READ ) +#define gattPermitAuthorWrite( a ) ( (a) & GATT_PERMIT_AUTHOR_WRITE ) +#define gattPermitEncryptRead( a ) ( (a) & GATT_PERMIT_ENCRYPT_READ ) +#define gattPermitEncryptWrite( a ) ( (a) & GATT_PERMIT_ENCRYPT_WRITE ) + +// Check for different UUID types +#define gattPrimaryServiceType( t ) ( ATT_CompareUUID( primaryServiceUUID, ATT_BT_UUID_SIZE, (t).uuid, (t).len ) ) +#define gattSecondaryServiceType( t ) ( ATT_CompareUUID( secondaryServiceUUID, ATT_BT_UUID_SIZE, (t).uuid, (t).len ) ) +#define gattCharacterType( t ) ( ATT_CompareUUID( characterUUID, ATT_BT_UUID_SIZE, (t).uuid, (t).len ) ) +#define gattIncludeType( t ) ( ATT_CompareUUID( includeUUID, ATT_BT_UUID_SIZE, (t).uuid, (t).len ) ) +#define gattServiceType( t ) ( gattPrimaryServiceType( (t) ) || gattSecondaryServiceType( (t) ) ) +#define GATT_MAX_NUM_CONN (4) + +// GATT Client Characteristic Configuration Bit Fields +#define GATT_CLIENT_CFG_NOTIFY 0x0001 //!< The Characteristic Value shall be notified +#define GATT_CLIENT_CFG_INDICATE 0x0002 //!< The Characteristic Value shall be indicated + +#define GATT_CFG_NO_OPERATION 0x0000 // No operation + +// All profile services bit fields +#define GATT_SERVICE_DEVICE_NAME (1<<0) //!< Device Name +#define GATT_SERVICE_APPEARANCE (1<<1) //!< Appearance +#define GATT_SERVICE_PRIVACY_FLAG (1<<2) //!< Peripheral Privacy Flag +#define GATT_SERVICE_RECONN_ADDR (1<<3) //!< Reconnection Address +#define GATT_SERVICE_PERI_CONN_PARAM (1<<4) //!< Peripheral Preferred Connection Parameters (PPCP) +#define GATT_SERVICE_CENTRAL_ADDR_RL (1<<5) //!< Central Address Resolution +#define GATT_SERVICE_PRIV_ADDR_ONLY (1<<6) //!< Resolvable Private Address Only +#define GATT_SERVICE_ENCY_DATA_KEY (1<<7) //!< Encrypted Data Key Material +#define GATT_SERVICE_LE_GATT_SECU (1<<8) //!< LE GATT Security Levels + +#define GATT_SERVICES_DEFS (GATT_SERVICE_DEVICE_NAME|GATT_SERVICE_APPEARANCE|GATT_SERVICE_PERI_CONN_PARAM) +#define GATT_ALL_SERVICES GATT_SERVICES_DEFS + +// The number of attribute records in a given attribute table +#define GATT_NUM_ATTRS( attrs ) ( sizeof( attrs ) / sizeof( gattAttribute_t ) ) + +// The handle of a service is the handle of the first attribute +#define GATT_SERVICE_HANDLE( attrs ) ( (attrs)[0].handle ) + +// The handle of the first included service (i = 1) is the value of the second attribute +#define GATT_INCLUDED_HANDLE( attrs, i ) ( *((uint16_t *)((attrs)[(i)].pValue)) ) + +// Client Characteristic Configuration table (from CCC attribute value pointer) +#define GATT_CCC_TBL( pValue ) ( (gattCharCfg_t *)(*((PTR_TYPE)(&pValue)))) + +/************************************ GAP *************************************/ +#define GAP_MSG_EVENT_DEFINES //!< GAP type of command +#define GAP_DEVICE_INIT_DONE_EVENT 0x00 //!< Sent when the Device Initialization is complete. This event is sent as an tmos message defined as gapDeviceInitDoneEvent_t. +#define GAP_DEVICE_DISCOVERY_EVENT 0x01 //!< Sent when the Device Discovery Process is complete. This event is sent as an tmos message defined as gapDevDiscEvent_t. +#define GAP_ADV_DATA_UPDATE_DONE_EVENT 0x02 //!< Sent when the Advertising Data or SCAN_RSP Data has been updated. This event is sent as an tmos message defined as gapAdvDataUpdateEvent_t. +#define GAP_MAKE_DISCOVERABLE_DONE_EVENT 0x03 //!< Sent when the Make Discoverable Request is complete. This event is sent as an tmos message defined as gapMakeDiscoverableRspEvent_t. +#define GAP_END_DISCOVERABLE_DONE_EVENT 0x04 //!< Sent when the Advertising has ended. This event is sent as an tmos message defined as gapEndDiscoverableRspEvent_t. +#define GAP_LINK_ESTABLISHED_EVENT 0x05 //!< Sent when the Establish Link Request is complete. This event is sent as an tmos message defined as gapEstLinkReqEvent_t. +#define GAP_LINK_TERMINATED_EVENT 0x06 //!< Sent when a connection was terminated. This event is sent as an tmos message defined as gapTerminateLinkEvent_t. +#define GAP_LINK_PARAM_UPDATE_EVENT 0x07 //!< Sent when an Update Parameters Event is received. This event is sent as an tmos message defined as gapLinkUpdateEvent_t. +#define GAP_RANDOM_ADDR_CHANGED_EVENT 0x08 //!< Sent when a random address was changed. This event is sent as an tmos message defined as gapRandomAddrEvent_t. +#define GAP_SIGNATURE_UPDATED_EVENT 0x09 //!< Sent when the device's signature counter is updated. This event is sent as an tmos message defined as gapSignUpdateEvent_t. +#define GAP_AUTHENTICATION_COMPLETE_EVENT 0x0A //!< Sent when the Authentication (pairing) process is complete. This event is sent as an tmos message defined as gapAuthCompleteEvent_t. +#define GAP_PASSKEY_NEEDED_EVENT 0x0B //!< Sent when a Passkey is needed. This is part of the pairing process. This event is sent as an tmos message defined as gapPasskeyNeededEvent_t. +#define GAP_SLAVE_REQUESTED_SECURITY_EVENT 0x0C //!< Sent when a Slave Security Request is received. This event is sent as an tmos message defined as gapSlaveSecurityReqEvent_t. +#define GAP_DEVICE_INFO_EVENT 0x0D //!< Sent during the Device Discovery Process when a device is discovered. This event is sent as an tmos message defined as gapDeviceInfoEvent_t. +#define GAP_BOND_COMPLETE_EVENT 0x0E //!< Sent when the bonding process is complete. This event is sent as an tmos message defined as gapBondCompleteEvent_t. +#define GAP_PAIRING_REQ_EVENT 0x0F //!< Sent when an unexpected Pairing Request is received. This event is sent as an tmos message defined as gapPairingReqEvent_t. +#define GAP_DIRECT_DEVICE_INFO_EVENT 0x10 //!< Sent when a direct Advertising Data is received. This event is sent as an tmos message defined as gapDirectDeviceInfoEvent_t. +#define GAP_PHY_UPDATE_EVENT 0x11 //!< Sent when a PHY Update Event is received. This event is sent as an tmos message defined as gapLinkUpdateEvent_t. +#define GAP_EXT_ADV_DEVICE_INFO_EVENT 0x12 //!< Sent when a Extended Advertising Data is received. This event is sent as an tmos message defined as gapExtAdvDeviceInfoEvent_t. +#define GAP_MAKE_PERIODIC_ADV_DONE_EVENT 0x13 //!< Sent when the Set Periodic Advertising enable is complete. This event is sent as an tmos message defined as gapMakePeriodicRspEvent_t. +#define GAP_END_PERIODIC_ADV_DONE_EVENT 0x14 //!< Sent when the Set Periodic Advertising disable is complete. This event is sent as an tmos message defined as gapEndPeriodicRspEvent_t. +#define GAP_SYNC_ESTABLISHED_EVENT 0x15 //!< Sent when a Periodic Advertising Sync Establish is complete. This event is sent as an tmos message defined as gapSyncEstablishedEvent_t. +#define GAP_PERIODIC_ADV_DEVICE_INFO_EVENT 0x16 //!< Sent when a Periodic Advertising Data is received. This event is sent as an tmos message defined as gapPeriodicAdvDeviceInfoEvent_t. +#define GAP_SYNC_LOST_EVENT 0x17 //!< Sent when a Periodic Advertising Sync was lost. This event is sent as an tmos message defined as gapSyncLostEvent_t. +#define GAP_SCAN_REQUEST_EVENT 0x19 //!< Sent when a SCAN_REQ PDU or an AUX_SCAN_REQ PDU has been received by the advertiser. This event is sent as an tmos message defined as gapScanReqReseiveEvent_t. +#define GAP_OOB_NEEDED_EVENT 0x1A //!< resv +#define GAP_MAKE_CONNECTIONESS_CTE_DONE_EVENT 0x1B //!< Sent when the Set Connectionless CTE Transmit enable is complete. This event is sent as an tmos message defined as gapMakeConnectionlessCTERspEvent_t. +#define GAP_END_CONNECTIONESS_CTE_DONE_EVENT 0x1C //!< Sent when the Set Connectionless CTE Transmit disable is complete. This event is sent as an tmos message defined as gapEndConnectionlessCTERspEvent_t. +#define GAP_PERI_ADV_SYNC_TRAN_RECEIVED_EVENT 0x1D //!< Sent when the periodic advertising sync transfer received. This event is sent as an tmos message defined as gapPeriodicTranReceivec_t. + + +#define GAP_PERI_ADV_SUBEVENT_DATA_REQ_EVENT 0x27 //!< Sent when the Controller +#define GAP_PERI_ADV_RESPONSE_REPORT_EVENT 0x28 //!< Sent when one or more devices have responded to a periodic advertising subevent during a PAwR train. This event is sent as an tmos message defined as gapPeriodicAdvResponseEvent_t. + + +// GAP_PROFILE_ROLE_DEFINES GAP Profile Roles +#define GAP_PROFILE_BROADCASTER 0x01 //!< A device that sends advertising events only. +#define GAP_PROFILE_OBSERVER 0x02 //!< A device that receives advertising events only. +#define GAP_PROFILE_PERIPHERAL 0x04 //!< A device that accepts the establishment of an LE physical link using the connection establishment procedure +#define GAP_PROFILE_CENTRAL 0x08 //!< A device that supports the Central role initiates the establishment of a physical connection + +// GAP Status Return Values - returned as bStatus_t +#define bleGAPUserCanceled 0x30 //!< The user canceled the task +#define bleGAPConnNotAcceptable 0x31 //!< The connection was not accepted +#define bleGAPBondRejected 0x32 //!< The bond information was rejected. +#define bleGAPExpiredCanceled 0x33 //!< The duration has expired + +#define GAP_DEVICE_NAME_LEN 21 //!< Excluding null-terminate char +#define GAP_DEVICE_NAME_MAX_LEN 248 //!< maximum length of device name + +// option defined +#define LISTEN_PERIODIC_ADVERTISING_MODE (1<<0) //!< used to determine whether the Periodic Advertiser List is used +#define REPORTING_INITIALLY_DISABLED (1<<1) //!< 0: Reporting initially enabled 1: Reporting initially disabled +#define DUPLICATE_FILTERING_INITIALLY_ENABLED (1<<2) //!< 0: Duplicate filtering initially disabled 1: Duplicate filtering initially enabled + +/*------------------------------------------------------------------- + * CONSTANTS + */ +/** @defgroup GAP_CONN_HANDLE_DEFINES GAP Special Connection Handles + * Used by GAP_TerminateLinkReq() + * @{ + */ +#define GAP_CONNHANDLE_INIT 0xFFFE //!< terminates a link create +#define GAP_CONNHANDLE_ALL 0xFFFF //!< terminates all links for the matching task ID. +/** @} End GAP_CONN_HANDLE_DEFINES */ + +// Privacy Flag States +#define GAP_PRIVACY_DISABLED 0x00 +#define GAP_PRIVACY_ENABLED 0x01 + +// GAP GATT Server Parameters used with GGS Get/Set Parameter and Application's Callback functions +#define GGS_DEVICE_NAME_ATT 0 //!< RW uint8_t[GAP_DEVICE_NAME_LEN] +#define GGS_APPEARANCE_ATT 1 //!< RW uint16_t +#define GGS_PERI_PRIVACY_FLAG_ATT 2 //!< RW uint8_t +#define GGS_RECONNCT_ADDR_ATT 3 //!< RW uint8_t[B_ADDR_LEN] +#define GGS_PERI_CONN_PARAM_ATT 4 //!< RW sizeof(gapPeriConnectParams_t) +#define GGS_CENT_ADDR_RES_ATT 5 //!< RW uint8_t +#define GGS_RL_PRIVATE_ADDR_ONLY 6 //!< RW uint8_t +#define GGS_ENC_DATA_KEY_MATERIAL 7 //!< RW sizeof(gapEncDataKey_t) +#define GGS_LE_GATT_SEC_LEVELS 8 //!< RW uint8_t + +#define GGS_PERI_PRIVACY_FLAG_PROPS 0X42 //!< RW uint8_t + +#define GGS_W_PERMIT_DEVICE_NAME_ATT 0x80 //!< W uint8_t +#define GGS_W_PERMIT_APPEARANCE_ATT 0x81 //!< W uint8_t +#define GGS_W_PERMIT_PRIVACY_FLAG_ATT 0x82 //!< W uint8_t + +// GAP_PARAMETER_ID_DEFINES GAP Parameter IDs +// Timers +#define TGAP_GEN_DISC_ADV_MIN 0 //!< Minimum time to remain advertising, when in Discoverable mode.Default 0-turns off the timeout. (n * 0.625 mSec). +#define TGAP_LIM_ADV_TIMEOUT 1 //!< Maximum time to remain advertising, when in Limited Discoverable mode.Default 180 seconds. (n * 1 seconds) +#define TGAP_DISC_SCAN 2 //!< Minimum time to perform scanning,Setting this parameter to 0 turns off the timeout.Default 10.24seconds. (n * 0.625 mSec) + +// when in General Discovery process +#define TGAP_DISC_ADV_INT_MIN 3 //!< Minimum advertising interval.Default 160. (n * 0.625 mSec) +#define TGAP_DISC_ADV_INT_MAX 4 //!< Maximum advertising interval.Default 160. (n * 0.625 mSec) +#define TGAP_DISC_SCAN_INT 5 //!< Scan interval used during Link Layer Scanning state.Default 16. (n * 0.625 mSec) +#define TGAP_DISC_SCAN_WIND 6 //!< Scan window used during Link Layer Scanning state.Default 16. (n * 0.625 mSec) + +// when in Connection Establishment process(1M PHY) +#define TGAP_CONN_EST_INT_MIN 7 //!< Minimum Link Layer connection interval.Default 80. (n * 1.25 mSec) +#define TGAP_CONN_EST_INT_MAX 8 //!< Maximum Link Layer connection interval.Default 80. (n * 1.25 mSec) +#define TGAP_CONN_EST_SCAN_INT 9 //!< Scan interval used during Link Layer Initiating state.Default 16. (n * 0.625 mSec) +#define TGAP_CONN_EST_SCAN_WIND 10 //!< Scan window used during Link Layer Initiating state.Default 16. (n * 0.625 mSec) +#define TGAP_CONN_EST_HIGH_SCAN_INT 11 //!< Scan interval used during Link Layer Initiating state, high duty scan cycle scan parameters (n * 0.625 mSec) +#define TGAP_CONN_EST_HIGH_SCAN_WIND 12 //!< Scan window used during Link Layer Initiating state, high duty scan cycle scan parameters (n * 0.625 mSec) +#define TGAP_CONN_EST_SUPERV_TIMEOUT 13 //!< Link Layer connection supervision timeout.Default 2000. (n * 10 mSec) +#define TGAP_CONN_EST_LATENCY 14 //!< Link Layer connection slave latency.Default 0. (in number of connection events) +#define TGAP_CONN_EST_MIN_CE_LEN 15 //!< Local informational parameter about minimum length of connection needed.Default 0. (n * 0.625 mSec) +#define TGAP_CONN_EST_MAX_CE_LEN 16 //!< Local informational parameter about maximum length of connection needed.Default 0. (n * 0.625 mSec) + +// Proprietary +#define TGAP_PRIVATE_ADDR_INT 17 //!< Minimum Time Interval between private (resolvable) address changes.Default 900. (n * 1 seconds) +#define TGAP_SM_TIMEOUT 18 //!< SM Message Timeout (milliseconds). Default 30 seconds. +#define TGAP_SM_MIN_KEY_LEN 19 //!< SM Minimum Key Length supported. Default 7. +#define TGAP_SM_MAX_KEY_LEN 20 //!< SM Maximum Key Length supported. Default 16. +#define TGAP_FILTER_ADV_REPORTS 21 //!< Filter duplicate advertising reports. Default TRUE. +#define TGAP_SCAN_RSSI_MIN 22 //!< Minimum RSSI required for scan advertising to be reported to the app. Default -127. +#define TGAP_REJECT_CONN_PARAMS 23 //!< Whether or not to reject Connection Parameter Update Request received on Central device. Default FALSE. +#define TGAP_AUTH_TASK_ID 24 //!< Task ID override for Task Authentication control (for stack internal use only) + +// v5.x +#define TGAP_ADV_TX_POWER 25 //!< Indicates the maximum power level Range: -127 ≤ N ≤ +126 Units: dBm.Default 127(Host has no preference). +#define TGAP_ADV_PRIMARY_PHY 26 //!< resv. +#define TGAP_ADV_SECONDARY_PHY 27 //!< LE 1M/LE 2M. Default GAP_PHY_VAL_LE_1M. +#define TGAP_ADV_SECONDARY_MAX_SKIP 28 //!< Maximum advertising events the Controller can skip before sending the AUX_ADV_IND packets on the secondary advertising channel. Default 0. +#define TGAP_ADV_ADVERTISING_SID 29 //!< Value of the Advertising SID subfield in the ADI field of the PDU Range:0-15. Default 0. +#define TGAP_ADV_SCAN_REQ_NOTIFY 30 //!< bit0:Scan request notifications enabled.Default 0-disabled. + //!< bit1:After the SCAN_RSP PDU is sent the advertiser move to the next used primary advertising channel index.Default 0-close the advertising event. +#define TGAP_ADV_ADVERTISING_DURATION 31 //!< Advertising duration Range: 0x0001 - 0xFFFF Time = N * 10ms. Default 0-No advertising duration. +#define TGAP_ADV_MAX_EVENTS 32 //!< indicates the maximum number of extended advertising events.Range: 0x00 - 0xFF. Default 0(No maximum number of advertising events). + +// when in General Discovery process +#define TGAP_DISC_SCAN_PHY 33 //!< resv. +#define TGAP_DISC_SCAN_CODED_INT 34 //!< resv. +#define TGAP_DISC_SCAN_CODED_WIND 35 //!< resv. +#define TGAP_DISC_SCAN_DURATION 36 //!< Scan duration Range: 0x0001 - 0xFFFF Time = N * 10 ms. Default 0-Scan continuously until explicitly disable. +#define TGAP_DISC_SCAN_PERIOD 37 //!< resv. + +// when in Connection Establishment process(2M PHY) +#define TGAP_CONN_EST_INT_PHY 38 //!< resv. +#define TGAP_CONN_EST_2M_INT_MIN 39 //!< Minimum Link Layer connection interval.Default 80. (n * 1.25 mSec) +#define TGAP_CONN_EST_2M_INT_MAX 40 //!< Maximum Link Layer connection interval.Default 80. (n * 1.25 mSec) +#define TGAP_CONN_EST_2M_SUPERV_TIMEOUT 41 //!< Link Layer connection supervision timeout.Default 2000. (n * 10 mSec) +#define TGAP_CONN_EST_2M_LATENCY 42 //!< Link Layer connection slave latency.Default 0. (in number of connection events) +#define TGAP_CONN_EST_2M_MIN_CE_LEN 43 //!< Local informational parameter about minimum length of connection needed.Default 0. (n * 0.625 mSec) +#define TGAP_CONN_EST_2M_MAX_CE_LEN 44 //!< Local informational parameter about maximum length of connection needed.Default 0. (n * 0.625 mSec) + +// when in Connection Establishment process(Coded PHY) +#define TGAP_CONN_EST_CODED_INT_MIN 45 //!< resv. +#define TGAP_CONN_EST_CODED_INT_MAX 46 //!< resv. +#define TGAP_CONN_EST_CODED_SCAN_INT 47 //!< resv. +#define TGAP_CONN_EST_CODED_SCAN_WIND 48 //!< resv. +#define TGAP_CONN_EST_CODED_HIGH_SCAN_INT 49 //!< resv. +#define TGAP_CONN_EST_CODED_HIGH_SCAN_WIND 50 //!< resv. +#define TGAP_CONN_EST_CODED_SUPERV_TIMEOUT 51 //!< resv. +#define TGAP_CONN_EST_CODED_LATENCY 52 //!< resv. +#define TGAP_CONN_EST_CODED_MIN_CE_LEN 53 //!< resv. +#define TGAP_CONN_EST_CODED_MAX_CE_LEN 54 //!< resv. + +// periodic advertising +#define TGAP_PERIODIC_ADV_INT_MIN 55 //!< Minimum periodic advertising interval.Range: 0x0006 to 0xFFFF.Default 160. (n * 1.25 mSec) +#define TGAP_PERIODIC_ADV_INT_MAX 56 //!< Maximum periodic advertising interval.Range: 0x0006 to 0xFFFF.Default 160. (n * 1.25 mSec) +#define TGAP_PERIODIC_ADV_PROPERTIES 57 //!< Include TxPower in the periodic advertising PDU. + +#define TGAP_SCAN_MAX_LENGTH 58 //!< Extended scan maximum data length.Default 460 +#define TGAP_AFH_CHANNEL_MDOE 59 //!< whether t he Controller's channel assessment scheme is enabled or disabled.Default disabled. + +// Constant Tone Extension Transmit +#define TGAP_CTE_TYPE 60 //!< The type of Constant Tone Extension.Default GAP_CTE_TYPE_AOA. +#define TGAP_CTE_LENGTH 61 //!< The type of Constant Tone Extension.Default 20.Range[2,20] +#define TGAP_CTE_COUNT 62 //!< resv +#define TGAP_LENGTH_OF_SWITCHING_PATTERN 63 //!< The number of Antenna IDs in the pattern,only used when transmitting an AoD Constant Tone Extension.Default 0. + +#define TGAP_ADV_RSP_RSSI_MIN 64 //!< The minimum RSSI for advertising to send scanning response. Default -127. + +#define TGAP_PARAMID_MAX 65 //!< ID MAX-valid Parameter ID + +// GAP_DEVDISC_MODE_DEFINES GAP Device Discovery Modes +#define DEVDISC_MODE_NONDISCOVERABLE 0x00 //!< No discoverable setting +#define DEVDISC_MODE_GENERAL 0x01 //!< General Discoverable devices +#define DEVDISC_MODE_LIMITED 0x02 //!< Limited Discoverable devices +#define DEVDISC_MODE_ALL 0x03 //!< Not filtered + +// GAP_ADDR_TYPE_DEFINES GAP Address Types +#define ADDRTYPE_PUBLIC 0x00 //!< Use the BD_ADDR +#define ADDRTYPE_STATIC 0x01 //!< Static address +#define ADDRTYPE_PRIVATE_NONRESOLVE 0x02 //!< Generate Non-Resolvable Private Address +#define ADDRTYPE_PRIVATE_RESOLVE 0x03 //!< Generate Resolvable Private Address + +// GAP_ADVERTISEMENT_TYPE_DEFINES GAP Advertising Event Types +#define GAP_ADTYPE_ADV_IND 0x00 //!< Connectable undirected event typet +#define GAP_ADTYPE_ADV_HDC_DIRECT_IND 0x01 //!< Connectable high duty cycle directed event type +#define GAP_ADTYPE_ADV_SCAN_IND 0x02 //!< Scannable undirected event type +#define GAP_ADTYPE_ADV_NONCONN_IND 0x03 //!< Non-Connectable undirected event type +#define GAP_ADTYPE_ADV_LDC_DIRECT_IND 0x04 //!< Connectable low duty cycle directed event type +//v5.x +#define GAP_ADTYPE_EXT_CONN_DIRECT 0x05 //!< extend Connectable directed event type +#define GAP_ADTYPE_EXT_SCAN_UNDIRECT 0x06 //!< extend Scannable undirected event type +#define GAP_ADTYPE_EXT_NONCONN_NONSCAN_UNDIRECT 0x07 //!< extend Non-Connectable and Non-Scannable undirected event type +#define GAP_ADTYPE_EXT_CONN_UNDIRECT 0x08 //!< extend Connectable undirected event type +#define GAP_ADTYPE_EXT_SCAN_DIRECT 0x09 //!< extend Scannable directed event type +#define GAP_ADTYPE_EXT_NONCONN_NONSCAN_DIRECT 0x0A //!< extend Non-Connectable and Non-Scannable directed event type + +// GAP_ADVERTISEMENT_TYPE_DEFINES GAP Advertising PHY VAL TYPE(GAP_PHY_VAL_TYPE) +#define GAP_PHY_VAL_TYPE +#define GAP_PHY_VAL_LE_1M 0x01 +#define GAP_PHY_VAL_LE_2M 0x02 + +// GAP_ADVERTISEMENT_TYPE_DEFINES GAP Scan PHY VAL TYPE(GAP_PHY_BIT_TYPE) +#define GAP_PHY_BIT_TYPE +#define GAP_PHY_BIT_LE_1M (1<<0) +#define GAP_PHY_BIT_LE_2M (1<<1) +#define GAP_PHY_BIT_ALL (GAP_PHY_BIT_LE_1M|GAP_PHY_BIT_LE_2M) + + +// GAP_ADVERTISEMENT_TYPE_DEFINES GAP Periodic Advertising Properties +#define GAP_PERI_PROPERTIES_INCLUDE_TXPOWER (1<<6) + +// GAP_ADVERTISEMENT_TYPE_DEFINES GAP Connectionless CTE Transmit CTE type +#define GAP_CTE_TYPE_AOA 0x00 //!< AoA Constant Tone Extension +#define GAP_CTE_TYPE_AOD_1US 0x01 //!< AoD Constant Tone Extension with 1us slots +#define GAP_CTE_TYPE_AOD_2US 0x02 //!< AoD Constant Tone Extension with 2us slots + +// GAP Advertising Report Event Types +#define GAP_ADVERTISEMENT_REPORT_TYPE_DEFINES +// bit0 to 4 ADVERTISEMENT_TYPE:defined for gapExtAdvDeviceInfoEvent_t Advertisement data type +#define GAP_ADRPT_ADV_IND 0x00 //!< Connectable undirected advertisement +#define GAP_ADRPT_ADV_DIRECT_IND 0x01 //!< Connectable directed advertisement +#define GAP_ADRPT_ADV_SCAN_IND 0x02 //!< Scannable undirected advertisement +#define GAP_ADRPT_ADV_NONCONN_IND 0x03 //!< Non-Connectable undirected advertisement +#define GAP_ADRPT_SCAN_RSP 0x04 //!< Scan Response +#define GAP_ADRPT_EXT_CONN_DIRECT 0x05 //!< extend Connectable directed report type +#define GAP_ADRPT_EXT_SCAN_UNDIRECT 0x06 //!< extend Scannable undirected report type +#define GAP_ADRPT_EXT_NONCONN_NONSCAN_UNDIRECT 0x07 //!< extend Non-Connectable and Non-Scannable undirected report type +#define GAP_ADRPT_EXT_CONN_UNDIRECT 0x08 //!< extend Connectable undirected report type +#define GAP_ADRPT_EXT_SCAN_DIRECT 0x09 //!< extend Scannable directed report type +#define GAP_ADRPT_EXT_NONCONN_NONSCAN_DIRECT 0x0A //!< extend Non-Connectable and Non-Scannable directed report type +#define GAP_ADRPT_EXT_SCAN_RESPONSE 0x0B //!< extend Scan Response report type +// bit5 to 6 Data status:defined for gapExtAdvDeviceInfoEvent_t Advertisement data type +#define GAP_ADRPT_EXT_DATA_MASK (3<<5) +#define GAP_ADRPT_EXT_DATA_COMPLETE (0<<5) //!< Complete +#define GAP_ADRPT_EXT_DATA_INCOMPLETE (1<<5) //!< more data to come +#define GAP_ADRPT_EXT_DATA_LAST (2<<5) //!< Incomplete, data truncated, no more to come + +// GAP_EXTEND_ADVERTISEMENT_REPORT_TYPE_DEFINES GAP Extend Advertising Report Event Types +#define GAP_ADRPT_ADV_CONNECTABLE (1<<0) +#define GAP_ADRPT_ADV_SCANNABLE (1<<1) +#define GAP_ADRPT_ADV_DITECTED (1<<2) +#define GAP_ADRPT_SCAN_RESPONSE (1<<3) + +// GAP_FILTER_POLICY_DEFINES GAP Advertiser Filter Scan Parameters +#define GAP_FILTER_POLICY_ALL 0x00 //!< Allow Scan Request from Any, Allow Connect Request from Any (default). +#define GAP_FILTER_POLICY_WHITE_SCAN 0x01 //!< Allow Scan Request from White List Only, Allow Connect from Any +#define GAP_FILTER_POLICY_WHITE_CON 0x02 //!< Allow Scan Request from Any, Connect from White List Only +#define GAP_FILTER_POLICY_WHITE 0x03 //!< Allow Scan Request and Connect from White List Only + +// Maximum Pairing Passcode/Passkey value. Range of a passkey can be 0 - 999,999. +#define GAP_PASSCODE_MAX 999999 + +/** Sign Counter Initialized - Sign counter hasn't been used yet. Used when setting up + * a connection's signing information. + */ +#define GAP_INIT_SIGN_COUNTER 0xFFFFFFFF + +// GAP_ADVCHAN_DEFINES GAP Advertisement Channel Map +#define GAP_ADVCHAN_37 0x01 //!< Advertisement Channel 37 +#define GAP_ADVCHAN_38 0x02 //!< Advertisement Channel 38 +#define GAP_ADVCHAN_39 0x04 //!< Advertisement Channel 39 +#define GAP_ADVCHAN_ALL (GAP_ADVCHAN_37 | GAP_ADVCHAN_38 | GAP_ADVCHAN_39) //!< All Advertisement Channels Enabled + +// GAP_ADTYPE_DEFINES GAP Advertisement Data Types +#define GAP_ADTYPE_FLAGS 0x01 //!< Discovery Mode: @ref GAP_ADTYPE_FLAGS_MODES +#define GAP_ADTYPE_16BIT_MORE 0x02 //!< Service: More 16-bit UUIDs available +#define GAP_ADTYPE_16BIT_COMPLETE 0x03 //!< Service: Complete list of 16-bit UUIDs +#define GAP_ADTYPE_32BIT_MORE 0x04 //!< Service: More 32-bit UUIDs available +#define GAP_ADTYPE_32BIT_COMPLETE 0x05 //!< Service: Complete list of 32-bit UUIDs +#define GAP_ADTYPE_128BIT_MORE 0x06 //!< Service: More 128-bit UUIDs available +#define GAP_ADTYPE_128BIT_COMPLETE 0x07 //!< Service: Complete list of 128-bit UUIDs +#define GAP_ADTYPE_LOCAL_NAME_SHORT 0x08 //!< Shortened local name +#define GAP_ADTYPE_LOCAL_NAME_COMPLETE 0x09 //!< Complete local name +#define GAP_ADTYPE_POWER_LEVEL 0x0A //!< TX Power Level: -127 to +127 dBm +#define GAP_ADTYPE_OOB_CLASS_OF_DEVICE 0x0D //!< Simple Pairing OOB Tag: Class of device (3 octets) +#define GAP_ADTYPE_OOB_SIMPLE_PAIRING_HASHC 0x0E //!< Simple Pairing OOB Tag: Simple Pairing Hash C (16 octets) +#define GAP_ADTYPE_OOB_SIMPLE_PAIRING_RANDR 0x0F //!< Simple Pairing OOB Tag: Simple Pairing Randomizer R (16 octets) +#define GAP_ADTYPE_SM_TK 0x10 //!< Security Manager TK Value +#define GAP_ADTYPE_SM_OOB_FLAG 0x11 //!< Security Manager OOB Flags +#define GAP_ADTYPE_SLAVE_CONN_INTERVAL_RANGE 0x12 //!< Min and Max values of the connection interval (2 octets Min, 2 octets Max) (0xFFFF indicates no conn interval min or max) +#define GAP_ADTYPE_SIGNED_DATA 0x13 //!< Signed Data field +#define GAP_ADTYPE_SERVICES_LIST_16BIT 0x14 //!< Service Solicitation: list of 16-bit Service UUIDs +#define GAP_ADTYPE_SERVICES_LIST_128BIT 0x15 //!< Service Solicitation: list of 128-bit Service UUIDs +#define GAP_ADTYPE_SERVICE_DATA 0x16 //!< Service Data - 16-bit UUID +#define GAP_ADTYPE_PUBLIC_TARGET_ADDR 0x17 //!< Public Target Address +#define GAP_ADTYPE_RANDOM_TARGET_ADDR 0x18 //!< Random Target Address +#define GAP_ADTYPE_APPEARANCE 0x19 //!< Appearance +#define GAP_ADTYPE_ADV_INTERVAL 0x1A //!< Advertising Interval +#define GAP_ADTYPE_LE_BD_ADDR 0x1B //!< LE Bluetooth Device Address +#define GAP_ADTYPE_LE_ROLE 0x1C //!< LE Role +#define GAP_ADTYPE_SIMPLE_PAIRING_HASHC_256 0x1D //!< Simple Pairing Hash C-256 +#define GAP_ADTYPE_SIMPLE_PAIRING_RANDR_256 0x1E //!< Simple Pairing Randomizer R-256 +#define GAP_ADTYPE_SERVICE_DATA_32BIT 0x20 //!< Service Data - 32-bit UUID +#define GAP_ADTYPE_SERVICE_DATA_128BIT 0x21 //!< Service Data - 128-bit UUID +#define GAP_ADTYPE_LE_SC_CONFIRMATION_VALUE 0x22 //!< LE Secure Connections Confirmation Value +#define GAP_ADTYPE_LE_SC_RANDOM_VALUE 0x23 //!< LE Secure Connections Random Value +#define GAP_ADTYPE_URI 0x24 //!< URI +#define GAP_ADTYPE_INDOOR_POSITION 0x25 //!< Indoor Positioning Service v1.0 or later +#define GAP_ADTYPE_TRAN_DISCOVERY_DATA 0x26 //!< Transport Discovery Service v1.0 or later +#define GAP_ADTYPE_SUPPORTED_FEATURES 0x27 //!< LE Supported Features +#define GAP_ADTYPE_CHANNEL_MAP_UPDATE 0x28 //!< Channel Map Update Indication +#define GAP_ADTYPE_PB_ADV 0x29 //!< PB-ADV. Mesh Profile Specification Section 5.2.1 +#define GAP_ADTYPE_MESH_MESSAGE 0x2A //!< Mesh Message. Mesh Profile Specification Section 3.3.1 +#define GAP_ADTYPE_MESH_BEACON 0x2B //!< Mesh Beacon. Mesh Profile Specification Section 3.9 +#define GAP_ADTYPE_BIG_INFO 0x2C //!< BIGInfo +#define GAP_ADTYPE_BROADCAST_CODE 0x2D //!< Broadcast_Code +#define GAP_ADTYPE_RSL_SET_IDENT 0x2E //!< Resolvable Set Identifier.Coordinated Set Identification Profile 1.0 +#define GAP_ADTYPE_ADV_INTERVAL_LONG 0x2F //!< Advertising Interval - long +#define GAP_ADTYPE_BROADCAST_NAME 0x30 //!< Public Broadcast Profile v1.0 or later +#define GAP_ADTYPE_ENCRYPTED_ADV_DATA 0x31 //!< Core Specification Supplement, Part A, Section 1.23 +#define GAP_ADTYPE_PERI_ADV_RSP_TIMING_INFO 0x32 //!< Periodic Advertising Response Timing Information +#define GAP_ADTYPE_ELECTRONIC_SHELF_LABEL 0x34 //!< ESL Profile +#define GAP_ADTYPE_3D_INFO_DATA 0x3D //!< 3D Information Data +#define GAP_ADTYPE_MANUFACTURER_SPECIFIC 0xFF //!< Manufacturer Specific Data: first 2 octets contain the Company Identifier Code followed by the additional manufacturer specific data + +// GAP_ADTYPE_FLAGS_MODES GAP ADTYPE Flags Discovery Modes +#define GAP_ADTYPE_FLAGS_LIMITED 0x01 //!< Discovery Mode: LE Limited Discoverable Mode +#define GAP_ADTYPE_FLAGS_GENERAL 0x02 //!< Discovery Mode: LE General Discoverable Mode +#define GAP_ADTYPE_FLAGS_BREDR_NOT_SUPPORTED 0x04 //!< Discovery Mode: BR/EDR Not Supported + +// GAP_APPEARANCE_VALUES GAP Appearance Values +#define GAP_APPEARE_UNKNOWN 0x0000 //!< Unknown +#define GAP_APPEARE_GENERIC_PHONE 0x0040 //!< Generic Phone +#define GAP_APPEARE_GENERIC_COMPUTER 0x0080 //!< Generic Computer +#define GAP_APPEARE_GENERIC_WATCH 0x00C0 //!< Generic Watch +#define GAP_APPEARE_WATCH_SPORTS 0x00C1 //!< Watch: Sports Watch +#define GAP_APPEARE_GENERIC_CLOCK 0x0100 //!< Generic Clock +#define GAP_APPEARE_GENERIC_DISPLAY 0x0140 //!< Generic Display +#define GAP_APPEARE_GENERIC_RC 0x0180 //!< Generic Remote Control +#define GAP_APPEARE_GENERIC_EYE_GALSSES 0x01C0 //!< Generic Eye-glasses +#define GAP_APPEARE_GENERIC_TAG 0x0200 //!< Generic Tag +#define GAP_APPEARE_GENERIC_KEYRING 0x0240 //!< Generic Keyring +#define GAP_APPEARE_GENERIC_MEDIA_PLAYER 0x0280 //!< Generic Media Player +#define GAP_APPEARE_GENERIC_BARCODE_SCANNER 0x02C0 //!< Generic Barcode Scanner +#define GAP_APPEARE_GENERIC_THERMOMETER 0x0300 //!< Generic Thermometer +#define GAP_APPEARE_GENERIC_THERMO_EAR 0x0301 //!< Thermometer: Ear +#define GAP_APPEARE_GENERIC_HR_SENSOR 0x0340 //!< Generic Heart rate Sensor +#define GAP_APPEARE_GENERIC_HRS_BELT 0x0341 //!< Heart Rate Sensor: Heart Rate Belt +#define GAP_APPEARE_GENERIC_BLOOD_PRESSURE 0x0380 //!< Generic Blood Pressure +#define GAP_APPEARE_GENERIC_BP_ARM 0x0381 //!< Blood Pressure: Arm +#define GAP_APPEARE_GENERIC_BP_WRIST 0x0382 //!< Blood Pressure: Wrist +#define GAP_APPEARE_GENERIC_HID 0x03C0 //!< Generic Human Interface Device (HID) +#define GAP_APPEARE_HID_KEYBOARD 0x03C1 //!< HID Keyboard +#define GAP_APPEARE_HID_MOUSE 0x03C2 //!< HID Mouse +#define GAP_APPEARE_HID_JOYSTIC 0x03C3 //!< HID Joystick +#define GAP_APPEARE_HID_GAMEPAD 0x03C4 //!< HID Gamepad +#define GAP_APPEARE_HID_DIGITIZER_TYABLET 0x03C5 //!< HID Digitizer Tablet +#define GAP_APPEARE_HID_DIGITAL_CARDREADER 0x03C6 //!< HID Card Reader +#define GAP_APPEARE_HID_DIGITAL_PEN 0x03C7 //!< HID Digital Pen +#define GAP_APPEARE_HID_BARCODE_SCANNER 0x03C8 //!< HID Barcode Scanner + +/************************************gapRole***********************************/ +// GAPROLE_PROFILE_PARAMETERS GAP Role Manager Parameters +#define GAPROLE_PROFILEROLE 0x300 //!< Reading this parameter will return GAP Role type. Read Only. Size is uint8_t. +#define GAPROLE_IRK 0x301 //!< Identity Resolving Key. Read/Write. Size is uint8_t[KEYLEN]. Default is all 0, which means that the IRK will be randomly generated. +#define GAPROLE_SRK 0x302 //!< Signature Resolving Key. Read/Write. Size is uint8_t[KEYLEN]. Default is all 0, which means that the SRK will be randomly generated. +#define GAPROLE_SIGNCOUNTER 0x303 //!< Sign Counter. Read/Write. Size is uint32_t. Default is 0. +#define GAPROLE_BD_ADDR 0x304 //!< Device's Address. Read Only. Size is uint8_t[B_ADDR_LEN]. This item is read from the controller. +#define GAPROLE_ADVERT_ENABLED 0x305 //!< Enable/Disable Advertising. Read/Write. Size is uint8_t. Default is TRUE=Enabled. +#define GAPROLE_ADVERT_DATA 0x306 //!< Advertisement Data. Read/Write. Max size is B_MAX_ADV_EXT_LEN. Default to all 0. +#define GAPROLE_SCAN_RSP_DATA 0x307 //!< Scan Response Data. Read/Write. Max size is B_MAX_ADV_EXT_LEN. Defaults to all 0. +#define GAPROLE_ADV_EVENT_TYPE 0x308 //!< Advertisement Type. Read/Write. Size is uint8_t. Default is GAP_ADTYPE_ADV_IND. +#define GAPROLE_ADV_DIRECT_TYPE 0x309 //!< Direct Advertisement Address Type. Read/Write. Size is uint8_t. Default is ADDRTYPE_PUBLIC. +#define GAPROLE_ADV_DIRECT_ADDR 0x30A //!< Direct Advertisement Address. Read/Write. Size is uint8_t[B_ADDR_LEN]. Default is NULL. +#define GAPROLE_ADV_CHANNEL_MAP 0x30B //!< Which channels to advertise on. Read/Write Size is uint8_t. Default is GAP_ADVCHAN_ALL +#define GAPROLE_ADV_FILTER_POLICY 0x30C //!< Filter Policy. Ignored when directed advertising is used. Read/Write. Size is uint8_t. Default is GAP_FILTER_POLICY_ALL. +#define GAPROLE_STATE 0x30D //!< Reading this parameter will return GAP Peripheral Role State. Read Only. Size is uint8_t. +#define GAPROLE_MAX_SCAN_RES 0x30E //!< Maximum number of discover scan results to receive. Default is 0 = unlimited. +#define GAPROLE_MIN_CONN_INTERVAL 0x311 //!< Minimum Connection Interval to allow (n * 1.25ms). Range: 7.5 msec to 4 seconds (0x0006 to 0x0C80). Read/Write. Size is uint16_t. Default is 7.5 milliseconds (0x0006). +#define GAPROLE_MAX_CONN_INTERVAL 0x312 //!< Maximum Connection Interval to allow (n * 1.25ms). Range: 7.5 msec to 4 seconds (0x0006 to 0x0C80). Read/Write. Size is uint16_t. Default is 4 seconds (0x0C80). +// v5.x +#define GAPROLE_PHY_TX_SUPPORTED 0x313 //!< The transmitter PHYs that the Host prefers the Controller to use.Default is GAP_PHY_BIT_ALL +#define GAPROLE_PHY_RX_SUPPORTED 0x314 //!< The receiver PHYs that the Host prefers the Controller to use.Default is GAP_PHY_BIT_ALL +#define GAPROLE_PERIODIC_ADVERT_DATA 0x315 //!< Periodic advertisement Data. Read/Write. Max size is B_MAX_ADV_PERIODIC_LEN. Default to all 0. +#define GAPROLE_PERIODIC_ADVERT_ENABLED 0x316 //!< bit0:Enable/Disable Periodic Advertising. Read/Write. Size is uint8_t. Default is FALSE=Disable. + //!< bit1:Include the ADI field in AUX_SYNC_IND PDUs +#define GAPROLE_CTE_CONNECTIONLESS_ENABLED 0x317 //!< Enable/Disable Connectionless CTE Transmit. Read/Write. Size is uint8_t. Default is FALSE=Disable. + +/************************************GAPBOND***********************************/ +// GAPBOND_PROFILE_PARAMETERS GAP Bond Manager Parameters +#define GAPBOND_PERI_PAIRING_MODE 0x400 //!< Pairing Mode: @ref GAPBOND_PAIRING_MODE_DEFINES. Read/Write. Size is uint8_t. Default is GAPBOND_PAIRING_MODE_WAIT_FOR_REQ. +#define GAPBOND_PERI_MITM_PROTECTION 0x401 //!< Man-In-The-Middle (MITM) basically turns on Passkey protection in the pairing algorithm. Read/Write. Size is uint8_t. Default is 0(disabled). +#define GAPBOND_PERI_IO_CAPABILITIES 0x402 //!< I/O capabilities. Read/Write. Size is uint8_t. Default is GAPBOND_IO_CAP_DISPLAY_ONLY @ref GAPBOND_IO_CAP_DEFINES. +#define GAPBOND_PERI_OOB_ENABLED 0x403 //!< OOB data available for pairing algorithm. Read/Write. Size is uint8_t. Default is 0(disabled). +#define GAPBOND_PERI_OOB_DATA 0x404 //!< OOB Data. Read/Write. size uint8_t[16]. Default is all 0's. +#define GAPBOND_PERI_BONDING_ENABLED 0x405 //!< Request Bonding during the pairing process if enabled. Read/Write. Size is uint8_t. Default is 0(disabled). +#define GAPBOND_PERI_KEY_DIST_LIST 0x406 //!< The key distribution list for bonding. size is uint8_t. @ref GAPBOND_KEY_DIST_DEFINES. Default is 0x77. +#define GAPBOND_PERI_DEFAULT_PASSCODE 0x407 //!< The default passcode for MITM protection. size is uint32_t. Range is 0 - 999,999. Default is 0. +#define GAPBOND_CENT_PAIRING_MODE 0x408 //!< Pairing Mode: @ref GAPBOND_PAIRING_MODE_DEFINES. Read/Write. Size is uint8_t. Default is GAPBOND_PAIRING_MODE_WAIT_FOR_REQ. +#define GAPBOND_CENT_MITM_PROTECTION 0x409 //!< Man-In-The-Middle (MITM) basically turns on Passkey protection in the pairing algorithm. Read/Write. Size is uint8_t. Default is 0(disabled). +#define GAPBOND_CENT_IO_CAPABILITIES 0x40A //!< I/O capabilities. Read/Write. Size is uint8_t. Default is GAPBOND_IO_CAP_DISPLAY_ONLY @ref GAPBOND_IO_CAP_DEFINES. +#define GAPBOND_CENT_OOB_ENABLED 0x40B //!< OOB data available for pairing algorithm. Read/Write. Size is uint8_t. Default is 0(disabled). +#define GAPBOND_CENT_OOB_DATA 0x40C //!< OOB Data. Read/Write. size uint8_t[16]. Default is all 0's. +#define GAPBOND_CENT_BONDING_ENABLED 0x40D //!< Request Bonding during the pairing process if enabled. Read/Write. Size is uint8_t. Default is 0(disabled). +#define GAPBOND_CENT_KEY_DIST_LIST 0x40E //!< The key distribution list for bonding. size is uint8_t. @ref GAPBOND_KEY_DIST_DEFINES. Default is 0x77. +#define GAPBOND_CENT_DEFAULT_PASSCODE 0x40F //!< The default passcode for MITM protection. size is uint32_t. Range is 0 - 999,999. Default is 0. +#define GAPBOND_ERASE_ALLBONDS 0x410 //!< Erase all of the bonded devices. Write Only. No Size. +#define GAPBOND_AUTO_FAIL_PAIRING 0x411 //!< TEST MODE (DO NOT USE) to automatically send a Pairing Fail when a Pairing Request is received. Read/Write. size is uint8_t. Default is 0 (disabled). +#define GAPBOND_AUTO_FAIL_REASON 0x412 //!< TEST MODE (DO NOT USE) Pairing Fail reason when auto failing. Read/Write. size is uint8_t. Default is 0x05 (SMP_PAIRING_FAILED_NOT_SUPPORTED). +#define GAPBOND_KEYSIZE 0x413 //!< Key Size used in pairing. Read/Write. size is uint8_t. Default is 16. +#define GAPBOND_AUTO_SYNC_WL 0x414 //!< Clears the White List adds to it each unique address stored by bonds in NV. Read/Write. Size is uint8_t. Default is FALSE. +#define GAPBOND_BOND_COUNT 0x415 //!< Gets the total number of bonds stored in NV. Read Only. Size is uint8_t. Default is 0 (no bonds). +#define GAPBOND_BOND_FAIL_ACTION 0x416 //!< Possible actions Central may take upon an unsuccessful bonding. Write Only. Size is uint8_t. Default is 0x02 (Terminate link upon unsuccessful bonding). +#define GAPBOND_ERASE_SINGLEBOND 0x417 //!< Erase a single bonded device. Write only. Must provide address type followed by device address. +#define GAPBOND_BOND_AUTO 0x418 //!< Auto save bonds into FLASH. Write Only. size is uint8_t. Default is 1(enabled). +#define GAPBOND_BOND_UPDATE 0x419 //!< Save current bonds into FLASH. Write Only. No Size. +#define GAPBOND_DISABLE_SINGLEBOND 0x41A //!< Disable a single bonded device. Write only. Must provide address type followed by device address. +#define GAPBOND_ENABLE_SINGLEBOND 0x41B //!< Ensable a single bonded device. Write only. Must provide address type followed by device address. +#define GAPBOND_DISABLE_ALLBONDS 0x41C //!< Disable all of the bonded devices. Write Only. No Size. +#define GAPBOND_ENABLE_ALLBONDS 0x41D //!< Ensable all of the bonded devices. Write Only. No Size. +#define GAPBOND_ERASE_AUTO 0x41E //!< Auto erase all of the bonded devices when the maximum number is reached.Size is uint8_t. Default is 1(enabled). +#define GAPBOND_AUTO_SYNC_RL 0x41F //!< Clears the Resolving List adds to it each unique address stored by bonds in NV. Read/Write. Size is uint8_t. Default is FALSE. +#define GAPBOND_SET_ENC_PARAMS 0x420 //!< Set bonding parameters.size is bondEncParams_t. +#define GAPBOND_PERI_SC_PROTECTION 0x421 //!< Set peripheral sc enable. Default is FALSE. +#define GAPBOND_CENT_SC_PROTECTION 0x422 //!< Set central sc enable. Default is FALSE. + +// GAPBOND_PAIRING_MODE_DEFINES GAP Bond Manager Pairing Modes +#define GAPBOND_PAIRING_MODE_NO_PAIRING 0x00 //!< Pairing is not allowed +#define GAPBOND_PAIRING_MODE_WAIT_FOR_REQ 0x01 //!< Wait for a pairing request or slave security request +#define GAPBOND_PAIRING_MODE_INITIATE 0x02 //!< Don't wait, initiate a pairing request or slave security request + +// GAPBOND_IO_CAP_DEFINES GAP Bond Manager I/O Capabilities +#define GAPBOND_IO_CAP_DISPLAY_ONLY 0x00 //!< Display Only Device +#define GAPBOND_IO_CAP_DISPLAY_YES_NO 0x01 //!< Display and Yes and No Capable +#define GAPBOND_IO_CAP_KEYBOARD_ONLY 0x02 //!< Keyboard Only +#define GAPBOND_IO_CAP_NO_INPUT_NO_OUTPUT 0x03 //!< No Display or Input Device +#define GAPBOND_IO_CAP_KEYBOARD_DISPLAY 0x04 //!< Both Keyboard and Display Capable + +// GAPBOND_KEY_DIST_DEFINES GAP Bond Manager Key Distribution +#define GAPBOND_KEYDIST_SENCKEY 0x01 //!< Slave Encryption Key +#define GAPBOND_KEYDIST_SIDKEY 0x02 //!< Slave IRK and ID information +#define GAPBOND_KEYDIST_SSIGN 0x04 //!< Slave CSRK +#define GAPBOND_KEYDIST_SLINK 0x08 //!< Slave Link Key +#define GAPBOND_KEYDIST_MENCKEY 0x10 //!< Master Encrypton Key +#define GAPBOND_KEYDIST_MIDKEY 0x20 //!< Master IRK and ID information +#define GAPBOND_KEYDIST_MSIGN 0x40 //!< Master CSRK +#define GAPBOND_KEYDIST_MLINK 0x80 //!< Master Link Key + +// GAPBOND_PAIRING_STATE_DEFINES GAP Bond Manager Pairing States +#define GAPBOND_PAIRING_STATE_STARTED 0x00 //!< Pairing started +#define GAPBOND_PAIRING_STATE_COMPLETE 0x01 //!< Pairing complete +#define GAPBOND_PAIRING_STATE_BONDED 0x02 //!< Devices bonded +#define GAPBOND_PAIRING_STATE_BOND_SAVED 0x03 //!< Bonding record saved in NV + +// SMP_PAIRING_FAILED_DEFINES Pairing failure status values +#define SMP_PAIRING_FAILED_PASSKEY_ENTRY_FAILED 0x01 //!< The user input of the passkey failed, for example, the user cancelled the operation. +#define SMP_PAIRING_FAILED_OOB_NOT_AVAIL 0x02 //!< The OOB data is not available +#define SMP_PAIRING_FAILED_AUTH_REQ 0x03 //!< The pairing procedure can't be performed as authentication requirements can't be met due to IO capabilities of one or both devices +#define SMP_PAIRING_FAILED_CONFIRM_VALUE 0x04 //!< The confirm value doesn't match the calculated compare value +#define SMP_PAIRING_FAILED_NOT_SUPPORTED 0x05 //!< Pairing isn't supported by the device +#define SMP_PAIRING_FAILED_ENC_KEY_SIZE 0x06 //!< The resultant encryption key size is insufficient for the security requirements of this device. +#define SMP_PAIRING_FAILED_CMD_NOT_SUPPORTED 0x07 //!< The SMP command received is not supported on this device. +#define SMP_PAIRING_FAILED_UNSPECIFIED 0x08 //!< Pairing failed due to an unspecified reason +#define SMP_PAIRING_FAILED_REPEATED_ATTEMPTS 0x09 //!< Pairing or authentication procedure is disallowed because too little time has elapsed since the last pairing request or security request. +#define SMP_PAIRING_FAILED_INVALID_PARAMERERS 0x0A //!< The Invalid Parameters error code indicates that the command length is invalid or that a parameter is outside of the specified range. +#define SMP_PAIRING_FAILED_DHKEY_CHECK_FAILED 0x0B //!< Indicates to the remote device that the DHKey Check value received doesn’t match the one calculated by the local device. +#define SMP_PAIRING_FAILED_NUMERIC_COMPARISON 0x0C //!< Indicates that the confirm values in the numeric comparison protocol do not match. +#define SMP_PAIRING_FAILED_KEY_REJECTED 0x0F //!< Indicates that the device chose not to accept a distributed key. + +// GAPBOND_BONDING_FAILURE_DEFINES Bonding Failure Actions +#define GAPBOND_FAIL_NO_ACTION 0x00 //!< Take no action upon unsuccessful bonding +#define GAPBOND_FAIL_INITIATE_PAIRING 0x01 //!< Initiate pairing upon unsuccessful bonding +#define GAPBOND_FAIL_TERMINATE_LINK 0x02 //!< Terminate link upon unsuccessful bonding +#define GAPBOND_FAIL_TERMINATE_ERASE_BONDS 0x03 //!< Terminate link and erase all existing bonds on device upon unsuccessful bonding + +// Device NV Items +#define BLE_NVID_IRK 0x0002 //!< The Device's IRK +#define BLE_NVID_CSRK 0x0003 //!< The Device's CSRK +#define BLE_NVID_SIGNCOUNTER 0x0004 //!< The Device's Sign Counter + +//!< RF Mode BOND NV IDs +#define BLE_NVID_BOND_RF_START 0x0100 //!< Start of the RF BOND NV IDs + +// Bonding NV Items - Range 0x0200 - 0x6FFF +#define BLE_NVID_GAP_BOND_START 0x0200 //!< Start of the GAP Bond Manager's NV IDs + +// GAP BOND Items +#define GAP_BOND_REC_ID_OFFSET 0 //!< NV ID for the main bonding record +#define GAP_BOND_LOCAL_LTK_OFFSET 1 //!< NV ID for the bonding record's local LTK information +#define GAP_BOND_DEV_LTK_OFFSET 2 //!< NV ID for the bonding records' device LTK information +#define GAP_BOND_DEV_IRK_OFFSET 3 //!< NV ID for the bonding records' device IRK +#define GAP_BOND_DEV_CSRK_OFFSET 4 //!< NV ID for the bonding records' device CSRK +#define GAP_BOND_DEV_SIGN_COUNTER_OFFSET 5 //!< NV ID for the bonding records' device Sign Counter +#define GAP_BOND_REC_IDS 6 + +// Macros to calculate the index/offset in to NV space +#define calcNvID(Idx, offset) (((((Idx) * GAP_BOND_REC_IDS) + (offset))) + BLE_NVID_GAP_BOND_START) +#define mainRecordNvID(bondIdx) (calcNvID((bondIdx), GAP_BOND_REC_ID_OFFSET)) +#define localLTKNvID(bondIdx) (calcNvID((bondIdx), GAP_BOND_LOCAL_LTK_OFFSET)) +#define devLTKNvID(bondIdx) (calcNvID((bondIdx), GAP_BOND_DEV_LTK_OFFSET)) +#define devIRKNvID(bondIdx) (calcNvID((bondIdx), GAP_BOND_DEV_IRK_OFFSET)) +#define devCSRKNvID(bondIdx) (calcNvID((bondIdx), GAP_BOND_DEV_CSRK_OFFSET)) +#define devSignCounterNvID(bondIdx) (calcNvID((bondIdx), GAP_BOND_DEV_SIGN_COUNTER_OFFSET)) + +// GATT Configuration NV Items -Range 0x7000 - 0x7FFF +#define BLE_NVID_GATT_CFG_START 0x7000 //!< Start of the GATT Configuration NV IDs + +// Macros to calculate the GATT index/offset in to NV space +#define gattCfgNvID(Idx) ((Idx) + BLE_NVID_GATT_CFG_START) + +#define BLE_NVID_MAX_VAL 0x7FFF + +// Structure of NV data for the connected device's encryption information +typedef struct +{ + uint8_t LTK[KEYLEN]; //!< Long Term Key (LTK) + uint16_t div; //!< LTK eDiv + uint8_t rand[B_RANDOM_NUM_SIZE]; //!< LTK random number + uint8_t keySize; //!< LTK key size +} gapBondLTK_t; + +// Structure of NV data for the connected device's address information +typedef struct +{ + uint8_t publicAddr[B_ADDR_LEN]; //!< Central's address + uint8_t reconnectAddr[B_ADDR_LEN]; //!< Privacy Reconnection Address + uint16_t stateFlags; //!< State flags: SM_AUTH_STATE_AUTHENTICATED & SM_AUTH_STATE_BONDING + uint8_t bondsToDelete; + uint8_t publicAddrType; //!< Central's address type +} gapBondRec_t; + +// Structure of NV data for the connected device's characteristic configuration +typedef struct +{ + uint16_t attrHandle; //!< attribute handle + uint8_t value; //!< attribute value for this device +} gapBondCharCfg_t; + +/********************************************************************* + * TYPEDEFS + */ +typedef struct +{ + uint8_t srk[KEYLEN]; //!< Signature Resolving Key + uint32_t signCounter; //!< Sign Counter +} linkSec_t; + +typedef struct +{ + uint8_t ltk[KEYLEN]; //!< Long Term Key + uint16_t div; //!< Diversifier + uint8_t rand[B_RANDOM_NUM_SIZE]; //!< random number + uint8_t keySize; //!< LTK Key Size + uint8_t gapBondInvalid; +} encParams_t; + +typedef struct +{ + uint8_t connRole; //!< GAP Profile Roles @GAP_PROFILE_ROLE_DEFINES + uint8_t addrType; //!< Address type of connected device + uint8_t addr[B_ADDR_LEN]; //!< Other Device's address + encParams_t encParams; +} bondEncParams_t; + +typedef struct +{ + uint8_t taskID; //!< Application that controls the link + uint16_t connectionHandle; //!< Controller connection handle + uint8_t stateFlags; //!< LINK_CONNECTED, LINK_AUTHENTICATED... + uint8_t addrType; //!< Address type of connected device + uint8_t addr[B_ADDR_LEN]; //!< Other Device's address + uint8_t connRole; //!< Connection formed as central or peripheral + uint16_t connInterval; //!< The connection's interval (n * 1.25ms) + uint16_t connLatency; + uint16_t connTimeout; + uint16_t MTU; //!< The connection's MTU size + linkSec_t sec; //!< Connection Security related items + encParams_t *pEncParams; //!< pointer to LTK, ediv, rand. if needed. + uint16_t smEvtID; + void *pPairingParams; + void *pAuthLink; +} linkDBItem_t; + +// function pointer used to register for a status callback +typedef void (*pfnLinkDBCB_t)( uint16_t connectionHandle, uint8_t changeType ); +// function pointer used to perform specialized link database searches +typedef void (*pfnPerformFuncCB_t)( linkDBItem_t *pLinkItem ); + +/** + * Attribute Type format (2 or 16 octet UUID). + */ +typedef struct +{ + uint8_t len; //!< Length of UUID (2 or 16) + uint8_t uuid[ATT_UUID_SIZE]; //!< 16 or 128 bit UUID +} attAttrType_t; + +/** + * Attribute Type format (2-octet Bluetooth UUID). + */ +typedef struct +{ + uint8_t len; //!< Length of UUID (2) + uint8_t uuid[ATT_BT_UUID_SIZE]; //!< 16 bit UUID +} attAttrBtType_t; + +/** + * Error Response format. + */ +typedef struct +{ + uint8_t reqOpcode; //!< Request that generated this error response + uint16_t handle; //!< Attribute handle that generated error response + uint8_t errCode; //!< Reason why the request has generated error response +} attErrorRsp_t; + +/** + * Exchange MTU Request format. + */ +typedef struct +{ + uint16_t clientRxMTU; //!< Client receive MTU size +} attExchangeMTUReq_t; + +/** + * Exchange MTU Response format. + */ +typedef struct +{ + uint16_t serverRxMTU; //!< Server receive MTU size +} attExchangeMTURsp_t; + +/** + * Find Information Request format. + */ +typedef struct +{ + uint16_t startHandle; //!< First requested handle number (must be first field) + uint16_t endHandle; //!< Last requested handle number +} attFindInfoReq_t; + +/** + * Find Information Response format. + */ +typedef struct +{ + uint16_t numInfo; //!< Number of attribute handle-UUID pairs found + uint8_t format; //!< Format of information data + uint8_t *pInfo; //!< Information data whose format is determined by format field (4 to ATT_MTU_SIZE-2) +} attFindInfoRsp_t; + +/** + * Find By Type Value Request format. + */ +typedef struct +{ + uint16_t startHandle; //!< First requested handle number (must be first field) + uint16_t endHandle; //!< Last requested handle number + attAttrBtType_t type; //!< 2-octet UUID to find + uint16_t len; //!< Length of value + uint8_t *pValue; //!< Attribute value to find (0 to ATT_MTU_SIZE-7) +} attFindByTypeValueReq_t; + +/** + * Find By Type Value Response format. + */ +typedef struct +{ + uint16_t numInfo; //!< Number of handles information found + uint8_t *pHandlesInfo; //!< List of 1 or more handles information (4 to ATT_MTU_SIZE-1) +} attFindByTypeValueRsp_t; + +/** + * Read By Type Request format. + */ +typedef struct +{ + uint16_t startHandle; //!< First requested handle number (must be first field) + uint16_t endHandle; //!< Last requested handle number + attAttrType_t type; //!< Requested type (2 or 16 octet UUID) +} attReadByTypeReq_t; + +/** + * Read By Type Response format. + */ +typedef struct +{ + uint16_t numPairs; //!< Number of attribute handle-UUID pairs found + uint16_t len; //!< Size of each attribute handle-value pair + uint8_t *pDataList; //!< List of 1 or more attribute handle-value pairs (2 to ATT_MTU_SIZE-2) +} attReadByTypeRsp_t; + +/** + * Read Request format. + */ +typedef struct +{ + uint16_t handle; //!< Handle of the attribute to be read (must be first field) +} attReadReq_t; + +/** + * Read Response format. + */ +typedef struct +{ + uint16_t len; //!< Length of value + uint8_t *pValue; //!< Value of the attribute with the handle given (0 to ATT_MTU_SIZE-1) +} attReadRsp_t; + +/** + * Read Blob Req format. + */ +typedef struct +{ + uint16_t handle; //!< Handle of the attribute to be read (must be first field) + uint16_t offset; //!< Offset of the first octet to be read +} attReadBlobReq_t; + +/** + * Read Blob Response format. + */ +typedef struct +{ + uint16_t len; //!< Length of value + uint8_t *pValue; //!< Part of the value of the attribute with the handle given (0 to ATT_MTU_SIZE-1) +} attReadBlobRsp_t; + +/** + * Read Multiple Request format. + */ +typedef struct +{ + uint8_t *pHandles; //!< Set of two or more attribute handles (4 to ATT_MTU_SIZE-1) - must be first field + uint16_t numHandles; //!< Number of attribute handles +} attReadMultiReq_t; + +/** + * Read Multiple Response format. + */ +typedef struct +{ + uint16_t len; //!< Length of values + uint8_t *pValues; //!< Set of two or more values (0 to ATT_MTU_SIZE-1) +} attReadMultiRsp_t; + +/** + * Read By Group Type Request format. + */ +typedef struct +{ + uint16_t startHandle; //!< First requested handle number (must be first field) + uint16_t endHandle; //!< Last requested handle number + attAttrType_t type; //!< Requested group type (2 or 16 octet UUID) +} attReadByGrpTypeReq_t; + +/** + * Read By Group Type Response format. + */ +typedef struct +{ + uint16_t numGrps; //!< Number of attribute handle, end group handle and value sets found + uint16_t len; //!< Length of each attribute handle, end group handle and value set + uint8_t *pDataList; //!< List of 1 or more attribute handle, end group handle and value (4 to ATT_MTU_SIZE-2) +} attReadByGrpTypeRsp_t; + +/** + * Write Request format. + */ +typedef struct +{ + uint16_t handle; //!< Handle of the attribute to be written (must be first field) + uint16_t len; //!< Length of value + uint8_t *pValue; //!< Value of the attribute to be written (0 to ATT_MTU_SIZE-3) + uint8_t sig; //!< Authentication Signature status (not included (0), valid (1), invalid (2)) + uint8_t cmd; //!< Command Flag +} attWriteReq_t; + +/** + * Prepare Write Request format. + */ +typedef struct +{ + uint16_t handle; //!< Handle of the attribute to be written (must be first field) + uint16_t offset; //!< Offset of the first octet to be written + uint16_t len; //!< Length of value + uint8_t *pValue; //!< Part of the value of the attribute to be written (0 to ATT_MTU_SIZE-5) - must be allocated +} attPrepareWriteReq_t; + +/** + * Prepare Write Response format. + */ +typedef struct +{ + uint16_t handle; //!< Handle of the attribute that has been read + uint16_t offset; //!< Offset of the first octet to be written + uint16_t len; //!< Length of value + uint8_t *pValue; //!< Part of the value of the attribute to be written (0 to ATT_MTU_SIZE-5) +} attPrepareWriteRsp_t; + +/** + * Execute Write Request format. + */ +typedef struct +{ + uint8_t flags; //!< 0x00 - cancel all prepared writes. + //!< 0x01 - immediately write all pending prepared values. +} attExecuteWriteReq_t; + +/** + * Handle Value Notification format. + */ +typedef struct +{ + uint16_t handle; //!< Handle of the attribute that has been changed (must be first field) + uint16_t len; //!< Length of value + uint8_t *pValue; //!< Current value of the attribute (0 to ATT_MTU_SIZE-3) +} attHandleValueNoti_t; + +/** + * Handle Value Indication format. + */ +typedef struct +{ + uint16_t handle; //!< Handle of the attribute that has been changed (must be first field) + uint16_t len; //!< Length of value + uint8_t *pValue; //!< Current value of the attribute (0 to ATT_MTU_SIZE-3) +} attHandleValueInd_t; + +/** + * ATT Flow Control Violated Event message format. This message is sent to the + * app by the local ATT Server or Client when a sequential ATT Request-Response + * or Indication-Confirmation protocol flow control is violated for a connection. + * All subsequent ATT Requests and Indications received by the local ATT Server + * and Client respectively will be dropped. + * + * This message is to inform the app (that has registered with GAP by calling + * GAP_RegisterForMsgs()) in case it wants to drop the connection. + */ +typedef struct +{ + uint8_t opcode; //!< opcode of message that caused flow control violation + uint8_t pendingOpcode; //!< opcode of pending message +} attFlowCtrlViolatedEvt_t; + +/** + * ATT MTU Updated Event message format. This message is sent to the app + * by the local ATT Server or Client when the ATT MTU size is updated for a + * connection. The default ATT MTU size is 23 octets. + * + * This message is to inform the app (that has registered with GAP by calling + * GAP_RegisterForMsgs()) about the new ATT MTU size negotiated for a connection. + */ +typedef struct +{ + uint16_t MTU; //!< new MTU size +} attMtuUpdatedEvt_t; + +/** + * ATT Message format. It's a union of all attribute protocol messages and + * locally-generated events used between the attribute protocol and upper + * layer profile/application. + */ +typedef union +{ + // Request messages + attExchangeMTUReq_t exchangeMTUReq; //!< ATT Exchange MTU Request + attFindInfoReq_t findInfoReq; //!< ATT Find Information Request + attFindByTypeValueReq_t findByTypeValueReq; //!< ATT Find By Type Value Request + attReadByTypeReq_t readByTypeReq; //!< ATT Read By Type Request + attReadReq_t readReq; //!< ATT Read Request + attReadBlobReq_t readBlobReq; //!< ATT Read Blob Request + attReadMultiReq_t readMultiReq; //!< ATT Read Multiple Request + attReadByGrpTypeReq_t readByGrpTypeReq; //!< ATT Read By Group Type Request + attWriteReq_t writeReq; //!< ATT Write Request + attPrepareWriteReq_t prepareWriteReq; //!< ATT Prepare Write Request + attExecuteWriteReq_t executeWriteReq; //!< ATT Execute Write Request + + // Response messages + attErrorRsp_t errorRsp; //!< ATT Error Response + attExchangeMTURsp_t exchangeMTURsp; //!< ATT Exchange MTU Response + attFindInfoRsp_t findInfoRsp; //!< ATT Find Information Response + attFindByTypeValueRsp_t findByTypeValueRsp; //!< ATT Find By Type Value Response + attReadByTypeRsp_t readByTypeRsp; //!< ATT Read By Type Response + attReadRsp_t readRsp; //!< ATT Read Response + attReadBlobRsp_t readBlobRsp; //!< ATT Read Blob Response + attReadMultiRsp_t readMultiRsp; //!< ATT Read Multiple Response + attReadByGrpTypeRsp_t readByGrpTypeRsp; //!< ATT Read By Group Type Response + attPrepareWriteRsp_t prepareWriteRsp; //!< ATT Prepare Write Response + + // Indication and Notification messages + attHandleValueNoti_t handleValueNoti; //!< ATT Handle Value Notification + attHandleValueInd_t handleValueInd; //!< ATT Handle Value Indication + + // Locally-generated event messages + attFlowCtrlViolatedEvt_t flowCtrlEvt; //!< ATT Flow Control Violated Event + attMtuUpdatedEvt_t mtuEvt; //!< ATT MTU Updated Event +} attMsg_t; + +/** + * GATT Find By Type Value Request format. + */ +typedef struct +{ + uint16_t startHandle; //!< First requested handle number (must be first field) + uint16_t endHandle; //!< Last requested handle number + attAttrType_t value; //!< Primary service UUID value (2 or 16 octets) +} gattFindByTypeValueReq_t; + +/** + * GATT Read By Type Request format. + */ +typedef struct +{ + uint8_t discCharsByUUID; //!< Whether this is a GATT Discover Characteristics by UUID sub-procedure + attReadByTypeReq_t req; //!< Read By Type Request +} gattReadByTypeReq_t; + +/** + * GATT Write Long Request format. Do not change the order of the members. + */ +typedef struct +{ + uint8_t reliable; //!< Whether reliable writes requested (always FALSE for Write Long) + attPrepareWriteReq_t req; //!< ATT Prepare Write Request + uint16_t lastOffset; //!< Offset of last Prepare Write Request sent +} gattWriteLongReq_t; + +/** + * GATT Reliable Writes Request format. Do not change the order of the members. + */ +typedef struct +{ + uint8_t reliable; //!< Whether reliable writes requested (always TRUE for Reliable Writes) + attPrepareWriteReq_t *pReqs; //!< Array of Prepare Write Requests (must be allocated) + uint8_t numReqs; //!< Number of Prepare Write Requests + uint8_t index; //!< Index of last Prepare Write Request sent + uint8_t flags; //!< 0x00 - cancel all prepared writes. + //!< 0x01 - immediately write all pending prepared values. +} gattReliableWritesReq_t; + +/** + * GATT Message format. It's a union of all attribute protocol/profile messages + * and locally-generated events used between the attribute protocol/profile and + * upper layer application. + */ +typedef union +{ + // Request messages + attExchangeMTUReq_t exchangeMTUReq; //!< ATT Exchange MTU Request + attFindInfoReq_t findInfoReq; //!< ATT Find Information Request + attFindByTypeValueReq_t findByTypeValueReq; //!< ATT Find By Type Value Request + attReadByTypeReq_t readByTypeReq; //!< ATT Read By Type Request + attReadReq_t readReq; //!< ATT Read Request + attReadBlobReq_t readBlobReq; //!< ATT Read Blob Request + attReadMultiReq_t readMultiReq; //!< ATT Read Multiple Request + attReadByGrpTypeReq_t readByGrpTypeReq; //!< ATT Read By Group Type Request + attWriteReq_t writeReq; //!< ATT Write Request + attPrepareWriteReq_t prepareWriteReq; //!< ATT Prepare Write Request + attExecuteWriteReq_t executeWriteReq; //!< ATT Execute Write Request + gattFindByTypeValueReq_t gattFindByTypeValueReq;//!< GATT Find By Type Value Request + gattReadByTypeReq_t gattReadByTypeReq; //!< GATT Read By Type Request + gattWriteLongReq_t gattWriteLongReq; //!< GATT Long Write Request + gattReliableWritesReq_t gattReliableWritesReq; //!< GATT Reliable Writes Request + + // Response messages + attErrorRsp_t errorRsp; //!< ATT Error Response + attExchangeMTURsp_t exchangeMTURsp; //!< ATT Exchange MTU Response + attFindInfoRsp_t findInfoRsp; //!< ATT Find Information Response + attFindByTypeValueRsp_t findByTypeValueRsp; //!< ATT Find By Type Value Response + attReadByTypeRsp_t readByTypeRsp; //!< ATT Read By Type Response + attReadRsp_t readRsp; //!< ATT Read Response + attReadBlobRsp_t readBlobRsp; //!< ATT Read Blob Response + attReadMultiRsp_t readMultiRsp; //!< ATT Read Multiple Response + attReadByGrpTypeRsp_t readByGrpTypeRsp; //!< ATT Read By Group Type Response + attPrepareWriteRsp_t prepareWriteRsp; //!< ATT Prepare Write Response + + // Indication and Notification messages + attHandleValueNoti_t handleValueNoti; //!< ATT Handle Value Notification + attHandleValueInd_t handleValueInd; //!< ATT Handle Value Indication + + // Locally-generated event messages + attFlowCtrlViolatedEvt_t flowCtrlEvt; //!< ATT Flow Control Violated Event + attMtuUpdatedEvt_t mtuEvt; //!< ATT MTU Updated Event +} gattMsg_t; + +/** + * GATT tmos GATT_MSG_EVENT message format. This message is used to forward an + * incoming attribute protocol/profile message up to upper layer application. + */ +typedef struct +{ + tmos_event_hdr_t hdr; //!< GATT_MSG_EVENT and status + uint16_t connHandle; //!< Connection message was received on + uint8_t method; //!< Type of message + gattMsg_t msg; //!< Attribute protocol/profile message +} gattMsgEvent_t; + +/** + * GATT Attribute Type format. + */ +typedef struct +{ + uint8_t len; //!< Length of UUID (2 or 16) + const uint8_t *uuid; //!< Pointer to UUID +} gattAttrType_t; + +/** + * GATT Attribute format. + */ +typedef struct attAttribute_t +{ + gattAttrType_t type; //!< Attribute type (2 or 16 octet UUIDs) + uint8_t permissions; //!< Attribute permissions + uint16_t handle; //!< Attribute handle - assigned internally by attribute server + uint8_t *pValue; //!< Attribute value - encoding of the octet array is defined in + //!< the applicable profile. The maximum length of an attribute + //!< value shall be 512 octets. +} gattAttribute_t; + +/** + * GATT Service format. + */ +typedef struct +{ + uint16_t numAttrs; //!< Number of attributes in attrs + uint8_t encKeySize; //!< Minimum encryption key size required by service (7-16 bytes) + + /** Array of attribute records. + * note: The list must start with a Service attribute followed by + * all attributes associated with this Service attribute. + */ + gattAttribute_t *attrs; +} gattService_t; + +/** + * @brief Callback function prototype to read an attribute value. + * + * @note blePending can be returned ONLY for the following + * read operations: + * - Read Request: ATT_READ_REQ + * - Read Blob Request: ATT_READ_BLOB_REQ + * + * @note If blePending is returned then it's the responsibility of the application to respond to + * ATT_READ_REQ and ATT_READ_BLOB_REQ message with ATT_READ_RSP and ATT_READ_BLOB_RSP + * message respectively. + * + * @note Payload 'pValue' used with ATT_READ_RSP and ATT_READ_BLOB_RSP must be allocated using GATT_bm_alloc(). + * + * @param connHandle - connection request was received on + * @param pAttr - pointer to attribute + * @param pValue - pointer to data to be read (to be returned) + * @param pLen - length of data (to be returned) + * @param offset - offset of the first octet to be read + * @param maxLen - maximum length of data to be read + * @param method - type of read message + * + * @return SUCCESS: Read was successfully. + * blePending: A response is pending for this client. + * Error, otherwise: ref ATT_ERR_CODE_DEFINES. + */ +typedef uint8_t (*pfnGATTReadAttrCB_t)( uint16_t connHandle, gattAttribute_t *pAttr, uint8_t *pValue, + uint16_t *pLen, uint16_t offset, uint16_t maxLen, uint8_t method ); + +/** + * @brief Callback function prototype to write an attribute value. + * + * @note blePending can be returned ONLY for the following + * write operations: + * - Write Request: ATT_WRITE_REQ + * - Write Command: ATT_WRITE_CMD + * - Write Long: ATT_EXECUTE_WRITE_REQ + * - Reliable Writes: Multiple ATT_PREPARE_WRITE_REQ followed by one final ATT_EXECUTE_WRITE_REQ + * + * @note If blePending is returned then it's the responsibility of the application to 1) respond to + * ATT_WRITE_REQ and ATT_EXECUTE_WRITE_REQ message with ATT_WRITE_RSP and ATT_EXECUTE_WRITE_RSP + * message respectively, and 2) free each request payload 'pValue' using BM_free(). + * + * @note Write Command (ATT_WRITE_CMD) does NOT require a response message. + * + * @param connHandle - connection request was received on + * @param pAttr - pointer to attribute + * @param pValue - pointer to data to be written + * @param pLen - length of data + * @param offset - offset of the first octet to be written + * @param method - type of write message + * + * @return SUCCESS: Write was successfully. + * blePending: A response is pending for this client. + * Error, otherwise: ref ATT_ERR_CODE_DEFINES. + */ +typedef uint8_t (*pfnGATTWriteAttrCB_t)( uint16_t connHandle, gattAttribute_t *pAttr, uint8_t *pValue, + uint16_t len, uint16_t offset, uint8_t method ); + +/** + * @brief Callback function prototype to authorize a Read or Write operation + * on a given attribute. + * + * @param connHandle - connection request was received on + * @param pAttr - pointer to attribute + * @param opcode - request opcode (ATT_READ_REQ or ATT_WRITE_REQ) + * + * @return SUCCESS: Operation authorized. + * ATT_ERR_INSUFFICIENT_AUTHOR: Authorization required. + */ +typedef bStatus_t (*pfnGATTAuthorizeAttrCB_t)( uint16_t connHandle, gattAttribute_t *pAttr, + uint8_t opcode ); + +/** + * GATT Structure for Client Characteristic Configuration. + */ +typedef struct +{ + uint16_t connHandle; //!< Client connection handle + uint8_t value; //!< Characteristic configuration value for this client +} gattCharCfg_t; + +/** + * GATT Structure for service callback functions - must be setup by the application + * and used when GATTServApp_RegisterService() is called. + */ +typedef struct +{ + pfnGATTReadAttrCB_t pfnReadAttrCB; //!< Read callback function pointer + pfnGATTWriteAttrCB_t pfnWriteAttrCB; //!< Write callback function pointer + pfnGATTAuthorizeAttrCB_t pfnAuthorizeAttrCB; //!< Authorization callback function pointer +} gattServiceCBs_t; + +/*************************************gap**************************************/ +/** + * Connection parameters for the peripheral device. These numbers are used + * to compare against connection events and request connection parameter + * updates with the central. + */ +typedef struct +{ + uint16_t intervalMin; //!< Minimum value for the connection event (interval. 0x0006 - 0x0C80 * 1.25ms) + uint16_t intervalMax; //!< Maximum value for the connection event (interval. 0x0006 - 0x0C80 * 1.25ms) + uint16_t latency; //!< Number of LL latency connection events (0x0000 - 0x03e8) + uint16_t timeout; //!< Connection Timeout (0x000A - 0x0C80 * 10ms) +} gapPeriConnectParams_t; + +typedef struct +{ + uint8_t sessionKey[16]; //!< The shared session key. + uint8_t IV[8]; //!< The initialization vector. +} gapEncDataKey_t; + +/** + * GAP event header format. + */ +typedef struct +{ + tmos_event_hdr_t hdr; //!< GAP_MSG_EVENT and status + uint8_t opcode; //!< GAP type of command. Ref: @ref GAP_MSG_EVENT_DEFINES +} gapEventHdr_t; + +/** + * GAP_DEVICE_INIT_DONE_EVENT message format. This message is sent to the + * app when the Device Initialization is done [initiated by calling + * GAP_DeviceInit()]. + */ +typedef struct +{ + tmos_event_hdr_t hdr; //!< GAP_MSG_EVENT and status + uint8_t opcode; //!< GAP_DEVICE_INIT_DONE_EVENT + uint8_t devAddr[B_ADDR_LEN]; //!< Device's BD_ADDR + uint16_t dataPktLen; //!< HC_LE_Data_Packet_Length + uint8_t numDataPkts; //!< HC_Total_Num_LE_Data_Packets +} gapDeviceInitDoneEvent_t; + +/** + * GAP_SIGNATURE_UPDATED_EVENT message format. This message is sent to the + * app when the signature counter has changed. This message is to inform the + * application in case it wants to save it to be restored on reboot or reconnect. + * This message is sent to update a connection's signature counter and to update + * this device's signature counter. If devAddr == BD_ADDR, then this message pertains + * to this device. + */ +typedef struct +{ + tmos_event_hdr_t hdr; //!< GAP_MSG_EVENT and status + uint8_t opcode; //!< GAP_SIGNATURE_UPDATED_EVENT + uint8_t addrType; //!< Device's address type for devAddr + uint8_t devAddr[B_ADDR_LEN]; //!< Device's BD_ADDR, could be own address + uint32_t signCounter; //!< new Signed Counter +} gapSignUpdateEvent_t; + +/** + * GAP_DEVICE_INFO_EVENT message format. This message is sent to the + * app during a Device Discovery Request, when a new advertisement or scan + * response is received. + */ +typedef struct +{ + tmos_event_hdr_t hdr; //!< GAP_MSG_EVENT and status + uint8_t opcode; //!< GAP_DEVICE_INFO_EVENT + uint8_t eventType; //!< Advertisement Type: @ref GAP_ADVERTISEMENT_REPORT_TYPE_DEFINES + uint8_t addrType; //!< address type: @ref GAP_ADDR_TYPE_DEFINES + uint8_t addr[B_ADDR_LEN]; //!< Address of the advertisement or SCAN_RSP + int8_t rssi; //!< Advertisement or SCAN_RSP RSSI + uint8_t dataLen; //!< Length (in bytes) of the data field (evtData) + uint8_t *pEvtData; //!< Data field of advertisement or SCAN_RSP +} gapDeviceInfoEvent_t; + +/** + * GAP_DIRECT_DEVICE_INFO_EVENT message format. This message is sent to the + * app during a Device Discovery Request, when a new advertisement or scan + * response is received. + */ +typedef struct +{ + tmos_event_hdr_t hdr; //!< GAP_MSG_EVENT and status + uint8_t opcode; //!< GAP_DIRECT_DEVICE_INFO_EVENT + uint8_t eventType; //!< Advertisement Type: @ref GAP_ADVERTISEMENT_REPORT_TYPE_DEFINES + uint8_t addrType; //!< address type: @ref GAP_ADDR_TYPE_DEFINES + uint8_t addr[B_ADDR_LEN]; //!< Address of the advertisement or SCAN_RSP + uint8_t directAddrType; //!< public or random address type + uint8_t directAddr[B_ADDR_LEN]; //!< device address + int8_t rssi; //!< Advertisement or SCAN_RSP RSSI +} gapDirectDeviceInfoEvent_t; + +/** + * GAP_EXT_ADV_DEVICE_INFO_EVENT message format. This message is sent to the + * app during a Device Discovery Request, when a new advertisement or scan + * response is received. + */ +typedef struct +{ + tmos_event_hdr_t hdr; //!< GAP_MSG_EVENT and status + uint8_t opcode; //!< GAP_EXT_ADV_DEVICE_INFO_EVENT + uint8_t eventType; //!< Advertisement Type: @ref GAP_ADVERTISEMENT_REPORT_TYPE_DEFINES + uint8_t addrType; //!< address type: @ref GAP_ADDR_TYPE_DEFINES + uint8_t addr[B_ADDR_LEN]; //!< Address of the advertisement or SCAN_RSP + uint8_t primaryPHY; //!< Advertiser PHY on the primary advertising channel + uint8_t secondaryPHY; //!< Advertiser PHY on the secondary advertising channel + uint8_t advertisingSID; //!< Value of the Advertising SID subfield in the ADI field of the PDU + int8_t txPower; //!< Advertisement or SCAN_RSP power + int8_t rssi; //!< Advertisement or SCAN_RSP RSSI + uint16_t periodicAdvInterval; //!< the interval of periodic advertising + uint8_t directAddressType; //!< public or random address type + uint8_t directAddress[B_ADDR_LEN]; //!< device address + uint8_t dataLen; //!< Length (in bytes) of the data field (evtData) + uint8_t *pEvtData; //!< Data field of advertisement or SCAN_RSP +} gapExtAdvDeviceInfoEvent_t; + +/** + * Type of device discovery (Scan) to perform. + */ +typedef struct +{ + uint8_t taskID; //!< Requesting App's Task ID, used to return results + uint8_t mode; //!< Discovery Mode: @ref GAP_DEVDISC_MODE_DEFINES + uint8_t activeScan; //!< TRUE for active scanning + uint8_t whiteList; //!< TRUE to only allow advertisements from devices in the white list. +} gapDevDiscReq_t; + +/** + * Type of device. + */ +typedef struct +{ + uint8_t eventType; //!< Indicates advertising event type used by the advertiser: @ref GAP_ADVERTISEMENT_REPORT_TYPE_DEFINES + uint8_t addrType; //!< Address Type: @ref GAP_ADDR_TYPE_DEFINES + uint8_t addr[B_ADDR_LEN]; //!< Device's Address +} gapDevRec_t; + +/** + * GAP_DEVICE_DISCOVERY_EVENT message format. This message is sent to the + * Application after a scan is performed. + */ +typedef struct +{ + tmos_event_hdr_t hdr; //!< GAP_MSG_EVENT and status + uint8_t opcode; //!< GAP_DEVICE_DISCOVERY_EVENT + uint8_t numDevs; //!< Number of devices found during scan + gapDevRec_t *pDevList; //!< array of device records +} gapDevDiscEvent_t; + +/** + * GAP_MAKE_DISCOVERABLE_DONE_EVENT message format. This message is sent to the + * app when the Advertise config is complete. + */ +typedef struct +{ + tmos_event_hdr_t hdr; //!< GAP_MSG_EVENT and status + uint8_t opcode; //!< GAP_MAKE_DISCOVERABLE_DONE_EVENT +} gapMakeDiscoverableRspEvent_t; + +/** + * GAP_END_DISCOVERABLE_DONE_EVENT message format. This message is sent to the + * app when the Advertising has stopped. + */ +typedef struct +{ + tmos_event_hdr_t hdr; //!< GAP_MSG_EVENT and status + uint8_t opcode; //!< GAP_END_DISCOVERABLE_DONE_EVENT +} gapEndDiscoverableRspEvent_t; + +/** + * GAP_PERIODIC_ADVERTISING_DONE_EVENT message format. This message is sent to the + * app when the Periodic Advertising config is complete. + */ +typedef struct +{ + tmos_event_hdr_t hdr; //!< GAP_MSG_EVENT and status + uint8_t opcode; //!< GAP_PERIODIC_ADVERTISING_DONE_EVENT +} gapMakePeriodicRspEvent_t; + +/** + * GAP_END_PERIODIC_ADV_DONE_EVENT message format. This message is sent to the + * app when the Periodic Advertising disable is complete. + */ +typedef struct +{ + tmos_event_hdr_t hdr; //!< GAP_MSG_EVENT and status + uint8_t opcode; //!< GAP_END_PERIODIC_ADV_DONE_EVENT +} gapEndPeriodicRspEvent_t; + +/** + * GAP_SYNC_ESTABLISHED_EVENT message format. This message is sent to the + * app when the Periodic Advertising Sync Establish is complete. + */ +typedef struct +{ + tmos_event_hdr_t hdr; //!< GAP_MSG_EVENT and status + uint8_t opcode; //!< GAP_SYNC_ESTABLISHED_EVENT + uint8_t status; //!< Periodic advertising sync status + uint16_t syncHandle; //!< Identifying the periodic advertising train + uint8_t advertisingSID; //!< Value of the Advertising SID subfield in the ADI field of the PDU + uint8_t devAddrType; //!< Device address type: @ref GAP_ADDR_TYPE_DEFINES + uint8_t devAddr[B_ADDR_LEN]; //!< Device address of sync + uint8_t advertisingPHY; //!< Advertiser PHY + uint16_t periodicInterval; //!< Periodic advertising interval + uint8_t clockAccuracy; //!< Clock Accuracy + uint8_t numSubevents; //!< Number of subevents.0x00-No subevents + uint8_t subInterval; //!< Subevent interval.0x00-No subevents + uint8_t rspSlotDelay; //!< Response slot delay.0x00-No response slots + uint8_t rspSlotSpacing; //!< Response slot spacing.0x00-No response slots +} gapSyncEstablishedEvent_t; + +/** + * GAP_PERIODIC_ADV_DEVICE_INFO_EVENT message format. This message is sent to the + * app during Periodic Advertising Sync, when received a Periodic Advertising packet + */ +typedef struct +{ + tmos_event_hdr_t hdr; //!< GAP_MSG_EVENT and status + uint8_t opcode; //!< GAP_PERIODIC_ADV_DEVICE_INFO_EVENT + uint16_t syncHandle; //!< Identifying the periodic advertising train + int8_t txPower; //!< Periodic advertising tx power,Units: dBm + int8_t rssi; //!< Periodic advertising rssi,Units: dBm + uint8_t unUsed; + uint16_t eventCounter; //!< The value of paEventCounter for the reported periodic advertising packet + uint8_t subevent; //!< The subevent number. 0xFF: No subevents + uint8_t dataStatus; //!< Data complete + uint8_t dataLength; //!< Length (in bytes) of the data field (evtData) + uint8_t *pEvtData; //!< Data field of periodic advertising data +} gapPeriodicAdvDeviceInfoEvent_t; + +/** + * GAP_SYNC_LOST_EVENT message format. This message is sent to the + * app when the Periodic Advertising Sync timeout period. + */ +typedef struct +{ + tmos_event_hdr_t hdr; //!< GAP_MSG_EVENT and status + uint8_t opcode; //!< GAP_SYNC_LOST_EVENT + uint16_t syncHandle; //!< Identifying the periodic advertising train +} gapSyncLostEvent_t; + +#define PKT_TRANSMITTED 0x00 +#define PKT_NOT_TRANSMITTED 0x01 + +typedef struct +{ + uint8_t taskID; //!< set periodic advertising task ID + uint8_t enable; //!< bit0 Enable periodic advertising + //!< bit1 Include the ADI field in AUX_SYNC_IND PDUs + uint8_t advHandle; //!< Used to identify a periodic advertising train + uint16_t advIntervalMin; //!< Minimum advertising interval for periodic advertising.Time = N × 1.25ms.Time Range: 7.5ms to 81.91875s + uint16_t advIntervalMax; //!< Maximum advertising interval for periodic advertising.Time = N × 1.25ms.Time Range: 7.5ms to 81.91875s + uint16_t advProperties; //!< bit6 Include TxPower in the advertising PDU + uint8_t numSubevents; //!< Number of subevents. + uint8_t subInterval; //!< Interval between subevents.Time = N × 1.25ms.Time Range: 7.5 ms to 318.75 ms + uint8_t rspSlotDelay; //!< Time between the advertising packet in a subevent and the first response slot.Time = N × 1.25 ms.Time Range: 1.25ms to 317.5ms + uint8_t rspSlotSpacing; //!< Time between response slots.Time = N × 0.125ms.Time Range: 0.25ms to 31.875ms + uint8_t numRspSlots; //!< Number of subevent response slots.Range: 0x01 to 0xFF +}gapPawrSetParam_t; + +typedef struct +{ + uint8_t subevent; //!< The subevent index of the data contained in this command. + uint8_t rspSlotStart; //!< The first response slots to be used in this subevent. + uint8_t rspSlotCount; //!< The number of response slots to be used. + uint8_t dataLength; //!< The number of octets in the Subevent_Data parameter. + uint16_t rspMaxLength; //!< + uint8_t *pData; //!< Advertising data +}gapPawrSetData_t; + +typedef struct +{ + uint16_t syncHandle; //!< identifying the PAwR train + uint16_t reqEvent; //!< The value of paEventCounter the periodic advertising packet that the Host is responding to + uint8_t reqSubevent; //!< The subevent for the periodic advertising packet that the Host is responding to + uint8_t rspSubevent; //!< Used to identify the subevent of the PAwR train. + uint8_t rspSlot; //!< Used to identify the response slot of the PAwR train. + uint8_t rspDataLength;//!< The number of octets in the Response_Data parameter. + uint8_t *pRspData; //!< Response data +} gapPawrSetResponseData_t; + +typedef struct +{ + tmos_event_hdr_t hdr; //!< GAP_MSG_EVENT and status + uint8_t opcode; //!< GAP_PERI_ADV_SUBEVENT_DATA_REQ_EVENT + uint8_t advHandle; + uint8_t subeventStart; + uint8_t subeventDataCount; +} gapPawrDataRequestEvent_t; + +typedef struct +{ + uint8_t txPower; + int8_t rssi; + uint8_t cteType; + uint8_t rspSlot; + uint8_t dataStatus; + uint8_t dataLength; + uint8_t *pData; +}pawrResponseInfo_t; + +typedef struct +{ + tmos_event_hdr_t hdr; //!< GAP_MSG_EVENT and status + uint8_t opcode; //!< GAP_PERI_ADV_RESPONSE_REPORT_EVENT + uint8_t advHandle; + uint8_t subevent; + uint8_t txStatus; //!< 0x00 packet was transmitted. 0x01 packet was not transmitted. + uint8_t numResponses; + pawrResponseInfo_t *pList; +} gapPawrResponseEvent_t; + +typedef struct +{ + uint8_t advHandle; //!< Used to identify a periodic advertising train + uint8_t subevent; //!< Subevent where the connection request is to be sent. + uint8_t ownAddrType; + uint8_t peerAddrType; + uint8_t peerAddr[6]; + uint16_t connIntervalMin; + uint16_t connIntervalMax; + uint16_t maxLatency; + uint16_t supervisionTimeout; +} gapPawrCreateConnection_t; + +/** + * GAP_SCAN_REQUEST_EVENT message format. This message is sent to the + * app when the advertiser receives a SCAN_REQ PDU or an AUX_SCAN_REQ PDU + */ +typedef struct +{ + tmos_event_hdr_t hdr; //!< GAP_MSG_EVENT and status + uint8_t opcode; //!< GAP_SCAN_REQUEST_EVENT + uint8_t advHandle; //!< identifying the periodic advertising train + uint8_t scannerAddrType; //!< the type of the address + uint8_t scannerAddr[B_ADDR_LEN];//!< the address of scanner device +} gapScanReqReseiveEvent_t; + +/** + * GAP_CONNECTIONESS_CTE_DONE_EVENT message format. This message is sent to the + * app when the Connectionless CTE Transmit config is complete. + */ +typedef struct +{ + tmos_event_hdr_t hdr; //!< GAP_MSG_EVENT and status + uint8_t opcode; //!< GAP_CONNECTIONESS_CTE_DONE_EVENT +} gapMakeConnectionlessCTERspEvent_t; + +/** + * GAP_END_PERIODIC_ADV_DONE_EVENT message format. This message is sent to the + * app when the Periodic Advertising disable is complete. + */ +typedef struct +{ + tmos_event_hdr_t hdr; //!< GAP_MSG_EVENT and status + uint8_t opcode; //!< GAP_END_CONNECTIONESS_CTE_DONE_EVENT +} gapEndConnectionlessCTERspEvent_t; + +/** + * GAP_ADV_DATA_UPDATE_DONE_EVENT message format. This message is sent to the + * app when Advertising Data Update is complete. + */ +typedef struct +{ + tmos_event_hdr_t hdr; //!< GAP_MSG_EVENT and status + uint8_t opcode; //!< GAP_ADV_DATA_UPDATE_DONE_EVENT + uint8_t adType; //!< TRUE if advertising data, FALSE if SCAN_RSP +} gapAdvDataUpdateEvent_t; + +/** + * GAP_LINK_ESTABLISHED_EVENT message format. This message is sent to the app + * when the link request is complete. + * + * For an Observer, this message is sent to complete the Establish Link Request. + * For a Peripheral, this message is sent to indicate that a link has been created. + */ +typedef struct +{ + tmos_event_hdr_t hdr; //!< GAP_MSG_EVENT and status + uint8_t opcode; //!< GAP_LINK_ESTABLISHED_EVENT + uint8_t devAddrType; //!< Device address type: @ref GAP_ADDR_TYPE_DEFINES + uint8_t devAddr[B_ADDR_LEN]; //!< Device address of link + uint16_t connectionHandle; //!< Connection Handle from controller used to ref the device + uint8_t connRole; //!< Connection formed as Central or Peripheral + uint16_t connInterval; //!< Connection Interval + uint16_t connLatency; //!< Connection Latency + uint16_t connTimeout; //!< Connection Timeout + uint8_t clockAccuracy; //!< Clock Accuracy + uint8_t advHandle; //!< Used to identify an advertising set + uint16_t syncHandle; //!< Identifying the periodic advertising train +} gapEstLinkReqEvent_t; + +/** + * GAP_LINK_PARAM_UPDATE_EVENT message format. This message is sent to the app + * when the connection parameters update request is complete. + */ +typedef struct +{ + tmos_event_hdr_t hdr; //!< GAP_MSG_EVENT and status + uint8_t opcode; //!< GAP_LINK_PARAM_UPDATE_EVENT + uint8_t status; //!< bStatus_t + uint16_t connectionHandle; //!< Connection handle of the update + uint16_t connInterval; //!< Requested connection interval + uint16_t connLatency; //!< Requested connection latency + uint16_t connTimeout; //!< Requested connection timeout +} gapLinkUpdateEvent_t; + +/** + * GAP_LINK_TERMINATED_EVENT message format. This message is sent to the + * app when a link to a device is terminated. + */ +typedef struct +{ + tmos_event_hdr_t hdr; //!< GAP_MSG_EVENT and status + uint8_t opcode; //!< GAP_LINK_TERMINATED_EVENT + uint16_t connectionHandle; //!< connection Handle + uint8_t reason; //!< termination reason from LL + uint8_t connRole; +} gapTerminateLinkEvent_t; + +/** + * GAP_PHY_UPDATE_EVENT message format. This message is sent to the app(GAP_MSG_EVENT) + * when the PHY update request is complete. + */ +typedef struct +{ + tmos_event_hdr_t hdr; //!< GAP_MSG_EVENT and status + uint8_t opcode; //!< GAP_PHY_UPDATE_EVENT + uint8_t status; //!< bStatus_t + uint16_t connectionHandle; //!< Connection handle of the update + uint8_t connTxPHYS; //!< tx phy(GAP_PHY_VAL_TYPE) + uint8_t connRxPHYS; //!< rx phy(GAP_PHY_VAL_TYPE) +} gapPhyUpdateEvent_t; + +/** + * GAP_PERI_ADV_SYNC_TRAN_RECEIVED_EVENT message format. This message is sent to the app(GAP_MSG_EVENT) + * when the periodic advertising sync transfer received. + */ +typedef struct +{ + tmos_event_hdr_t hdr; //!< GAP_MSG_EVENT and status + uint8_t opcode; //!< GAP_PERI_ADV_SYNC_TRAN_RECEIVED_EVENT + uint8_t status; //!< bStatus_t + uint16_t connectionHandle; //!< Connection handle of the update + uint16_t serviceData; //!< A value provided by the peer device + uint16_t syncHandle; //!< Identifying the periodic advertising train + uint8_t advertisingSID; //!< Value of the Advertising SID used to advertise the periodic advertising + uint8_t devAddrType; //!< Device address type: @ref GAP_ADDR_TYPE_DEFINES + uint8_t devAddr[B_ADDR_LEN]; //!< Device address of periodic advertising + uint8_t advertisingPHY; //!< the PHY used for the periodic advertising + uint16_t periodicInterval; //!< Periodic advertising interval + uint8_t clockAccuracy; //!< Clock Accuracy + uint8_t numSubevents; //!< Number of subevents + uint8_t subInterval; //!< Subevent interval + uint8_t rspSlotDelay; //!< Response slot delay + uint8_t rspSlotSpacing; //!< Response slot spacing +} gapPeriodicTranReceivec_t; + +/** + * GAP_PASSKEY_NEEDED_EVENT message format. This message is sent to the + * app when a Passkey is needed from the app's user interface. + */ +typedef struct +{ + tmos_event_hdr_t hdr; //!< GAP_MSG_EVENT and status + uint8_t opcode; //!< GAP_PASSKEY_NEEDED_EVENT + uint8_t deviceAddr[B_ADDR_LEN]; //!< address of device to pair with, and could be either public or random. + uint16_t connectionHandle; //!< Connection handle + uint8_t uiInputs; //!< Pairing User Interface Inputs - Ask user to input passcode + uint8_t uiOutputs; //!< Pairing User Interface Outputs - Display passcode +} gapPasskeyNeededEvent_t; + +/** + * Passcode Callback Function + */ +typedef void (*pfnPasscodeCB_t)( uint8_t *deviceAddr, //!< address of device to pair with, and could be either public or random. + uint16_t connectionHandle, //!< Connection handle + uint8_t uiInputs, //!< Pairing User Interface Inputs - Ask user to input passcode + uint8_t uiOutputs //!< Pairing User Interface Outputs - Display passcode + ); + +/** + * Pairing State Callback Function + */ +typedef void (*pfnPairStateCB_t)( uint16_t connectionHandle, //!< Connection handle + uint8_t state, //!< Pairing state @ref GAPBOND_PAIRING_STATE_DEFINES + uint8_t status //!< Pairing status + ); + +typedef struct +{ + tmos_event_hdr_t hdr; //!< GAP_MSG_EVENT and status + uint8_t opcode; //!< GAP_O0B_NEEDED_EVENT + uint8_t deviceAddr[B_ADDR_LEN]; //!< address of device to pair with, and could be either public or random. + uint16_t connectionHandle; //!< Connection handle + uint8_t r_local[16]; + uint8_t c_local[16]; +} gapOobNeededEvent_t; + +/** + * OOB Callback Function + */ +typedef void (*pfnOobCB_t)( uint8_t *deviceAddr, //!< address of device to pair with, and could be either public or random. + uint16_t connectionHandle, //!< Connection handle + uint8_t* r_local, //!< local rand + uint8_t *c_local //!< local confirm + ); + +/** + * Callback Registration Structure + */ +typedef struct +{ + pfnPasscodeCB_t passcodeCB; //!< Passcode callback + pfnPairStateCB_t pairStateCB; //!< Pairing state callback + pfnOobCB_t oobCB; //!< oob callback +} gapBondCBs_t; + +typedef int (*pfnEcc_key_t)( uint8_t *pub, uint8_t *priv); + +typedef int (*pfnEcc_dhkey_t)( uint8_t *peer_pub_key_x, uint8_t *peer_pub_key_y, + uint8_t *our_priv_key, uint8_t *out_dhkey ); + +typedef int (*pfnEcc_alg_f4_t)( uint8_t *u, uint8_t *v, uint8_t *x, uint8_t z, + uint8_t *out_enc_data ); + +typedef int (*pfnEcc_alg_g2_t)( uint8_t *u, uint8_t *v, uint8_t *x, uint8_t *y, + uint32_t *passkey ); + +typedef int (*pfnEcc_alg_f5_t)( uint8_t *w, uint8_t *n1, uint8_t *n2, + uint8_t a1t, uint8_t *a1, uint8_t a2t, uint8_t *a2, uint8_t *mackey, uint8_t *ltk ); + +typedef int (*pfnEcc_alg_f6_t)( uint8_t *w, uint8_t *n1, uint8_t *n2, uint8_t *r, + uint8_t *iocap, uint8_t a1t, uint8_t *a1, uint8_t a2t, uint8_t *a2, uint8_t *check ); + +typedef void (*pfnSm_randkey_t)( uint8_t *randkey, uint8_t keylen ); + +/** + * Callback Registration Structure + */ +typedef struct +{ + pfnEcc_key_t gen_key_pair; + pfnEcc_dhkey_t gen_dhkey; + pfnEcc_alg_f4_t alg_f4; //!< LE Secure Connections confirm value generation function f4 + pfnEcc_alg_g2_t alg_g2; //!< LE Secure Connections numeric comparison value generation function g2 + pfnEcc_alg_f5_t alg_f5; //!< LE Secure Connect ions key generation function f5 + pfnEcc_alg_f6_t alg_f6; //!< LE Secure Connections check value generation function f6 + pfnSm_randkey_t randkey; +} gapEccCBs_t; + +/** + * gapRole_States_t defined + */ +typedef uint32_t gapRole_States_t; + +// gapRole_States_t @ 4b'[3-0]-advertising states +#define GAPROLE_STATE_ADV_MASK (0xF) //!< advertising states mask +#define GAPROLE_STATE_ADV_SHIFT (0x0) //!< advertising states shift +#define GAPROLE_INIT 0 //!< Waiting to be started +#define GAPROLE_STARTED 1 //!< Started but not advertising +#define GAPROLE_ADVERTISING 2 //!< Currently Advertising +#define GAPROLE_WAITING 3 //!< Device is started but not advertising, is in waiting period before advertising again +#define GAPROLE_CONNECTED 4 //!< In a connection +#define GAPROLE_CONNECTED_ADV 5 //!< In a connection + advertising +#define GAPROLE_ERROR 6 //!< Error occurred - invalid state + +// gapRole_States_t @ 4b'[7-4]-Periodic advertising states +// Periodic advertising Enable,only effective when GAP_ADTYPE_EXT_NONCONN_NONSCAN_UNDIRECT advertising event enable +#define GAPROLE_STATE_PERIODIC_MASK (0xF0) //!< Periodic advertising states mask +#define GAPROLE_STATE_PERIODIC_SHIFT (4) //!< Periodic advertising states shift +#define GAPROLE_PERIODIC_INVALID (0<<4) //!< Periodic advertising Waiting to be started +#define GAPROLE_PERIODIC_ENABLE (1<<4) //!< Periodic advertising Enable +#define GAPROLE_PERIODIC_WAIT (2<<4) //!< Periodic advertising is started but disable +#define GAPROLE_PERIODIC_ERROR (3<<4) //!< Periodic advertising error occurred + +// gapRole_States_t @ 4b'[11-8]-Connectionless CTE Transmit states +// Connectionless CTE Transmit Enable,only effective when Periodic advertising valid +#define GAPROLE_STATE_CTE_MASK (0xF00) //!< gapRole_States_t Connectionless CTE defined +#define GAPROLE_STATE_CTE_SHIFT (8) //!< Connectionless CTE Transmit states shift +#define GAPROLE_CONNECTIONLESS_CTE_INVALID (0<<8) //!< Connectionless CTE Transmit Waiting to be started +#define GAPROLE_CONNECTIONLESS_CTE_ENABLE (1<<8) //!< Connectionless CTE Transmit Enable +#define GAPROLE_CONNECTIONLESS_CTE_WAIT (2<<8) //!< Connectionless CTE Transmit is started but disable +#define GAPROLE_CONNECTIONLESS_CTE_ERROR (3<<8) //!< Connectionless CTE Transmit error occurred +// gapRole_States_t @ 12b'[23-12]- Reserved for future use + +// gapRole_States_t @ 8b'[31-24] - indicates which fields change +#define GAPROLE_PERIODIC_STATE_VALID (1<<24) //!< indicates periodic advertising states change +#define GAPROLE_CTE_T_STATE_VALID (1<<25) //!< indicates Connectionless CTE Transmit states change + +typedef union { + struct { + uint32_t advState : 4; + uint32_t periState : 4; + uint32_t cteState : 4; + uint32_t Reserved0 : 12; + uint32_t periValid : 1; + uint32_t cteValid : 1; + uint32_t Reserved1 : 6; + }; + uint32_t gapRoleStates; +} gapRoleStates_t; + +/** + * gapRole Event Structure + */ +typedef union +{ + gapEventHdr_t gap; //!< GAP_MSG_EVENT and status. + gapDeviceInitDoneEvent_t initDone; //!< GAP initialization done. + gapDeviceInfoEvent_t deviceInfo; //!< Discovery device information event structure. + gapDirectDeviceInfoEvent_t deviceDirectInfo; //!< Discovery direct device information event structure. + gapAdvDataUpdateEvent_t dataUpdate; //!< Advertising Data Update is complete. + gapPeriodicAdvDeviceInfoEvent_t devicePeriodicInfo; //!< Discovery periodic device information event structure. + gapExtAdvDeviceInfoEvent_t deviceExtAdvInfo; //!< Discovery extend advertising device information event structure. + gapDevDiscEvent_t discCmpl; //!< Discovery complete event structure. + gapSyncEstablishedEvent_t syncEstEvt; //!< sync established event structure. + gapSyncLostEvent_t syncLostEvt; //!< sync lost event structure. + gapScanReqReseiveEvent_t scanReqEvt; //!< Scan_Request_Received event structure. + + gapEstLinkReqEvent_t linkCmpl; //!< Link complete event structure. + gapLinkUpdateEvent_t linkUpdate; //!< Link update event structure. + gapTerminateLinkEvent_t linkTerminate; //!< Link terminated event structure. + gapPhyUpdateEvent_t linkPhyUpdate; //!< Link phy update event structure. + gapPeriodicTranReceivec_t syncTran; +} gapRoleEvent_t; + +/** + * Type of device. + */ +typedef struct +{ + uint8_t eventType; //!< Indicates advertising event type used by the advertiser: @ref GAP_ADVERTISEMENT_REPORT_TYPE_DEFINES + uint8_t addrType; //!< Scan Address Type:0x00-Public Device Address or Public Identity Address 0x01-Random Device Address or Random (static) Identity Address + uint8_t addr[B_ADDR_LEN]; //!< Device's Address + int8_t rssi; +} gapScanRec_t; + +/** + * Type of GAPRole_CreateSync command parameters. + */ +typedef struct +{ + uint8_t options; + /* + bit0: used to determine whether the Periodic Advertiser List is used + 0: Use the Advertising_SID, Advertisier_Address_Type, and Advertiser_Address parameters to determine which advertiser to listen to. + 1: Use the Periodic Advertiser List to determine which advertiser to listen to. + bit1: whether GAP_PERIODIC_ADV_DEVICE_INFO_EVENT events for this periodic advertising train are initially enabled or disabled. + 0: Reporting initially enabled + 1: Reporting initially disabled + bit2: + 0: Duplicate filtering initially disabled + 1: Duplicate filtering initially enabled */ + uint8_t advertising_SID; //!< if used, specifies the value that must match the Advertising SID + uint8_t addrType; //!< Scan Address Type: @ref GAP_ADDR_TYPE_DEFINES + uint8_t addr[B_ADDR_LEN]; //!< Device's Address + uint16_t skip; //!< the maximum number of consecutive periodic advertising events that the receiver may skip after + //!< successfully receiving a periodic advertising packet.Range: 0x0000 to 0x01F3 + uint16_t syncTimeout; //!< the maximum permitted time between successful receives. If this time is exceeded, synchronization is lost. + //!< Time = N*10 ms.Range: 0x000A to 0x4000 + uint8_t syncCTEType; //!< specifies whether to only synchronize to periodic advertising with certain types of Constant Tone Extension + //!< (a value of 0 indicates that the presence or absence of a Constant Tone Extension is irrelevant). +} gapCreateSync_t; + +/** + * Type of GAPRole_SyncTransferParameters command parameters. + */ +typedef struct +{ + uint16_t connHandle; //!< Used to identify the Connection handle + uint8_t mode; //!< specifies the action to be taken when periodic advertising synchronization information is received +#define MODE_0 0 //!< No attempt is made to synchronize to the periodic advertising and no + //!< gapPeriodicTranReceivec_t event is sent to the APP. +#define MODE_1 1 //!< An gapPeriodicTranReceivec_t event is sent to the APP. + //!< gapPeriodicAdvDeviceInfoEvent_t events will be disabled. +#define MODE_2 2 //!< An gapPeriodicTranReceivec_t event is sent to the APP. + //!< gapPeriodicAdvDeviceInfoEvent_t events will be enabled with duplicate filtering disabled. +#define MODE_3 3 //!< An gapPeriodicTranReceivec_t event is sent to the APP. + //!< gapPeriodicAdvDeviceInfoEvent_t events will be enabled with duplicate filtering enabled. + uint16_t skip; //!< resv(The number of periodic advertising packets that can be skipped after a successful receive). + uint16_t syncTimeout; //!< Synchronization timeout for the periodic advertising train.Time = N*10 ms.Range: 0x000A to 0x4000 + uint8_t cteType; //!< Reserved for future use. +} gapSyncTransferParam_t; + +/** + * Type of GAPRole_SyncTransferSync command parameters. + */ +typedef struct +{ + uint16_t connHandle; //!< Used to identify the Connection handle + uint16_t serviceData; //!< A value provided by the Host for use by the Host of the peer device. + uint16_t syncHandle; //!< Identifier of the periodic advertising train to a connected device. +} gapSyncTransferSync_t; + +/** + * Type of GAPRole_SyncTransferAdvertising command parameters. + */ +typedef struct +{ + uint16_t connHandle; //!< Used to identify the Connection handle + uint16_t serviceData; //!< A value provided by the Host for use by the Host of the peer device. + uint8_t advHandle; //!< Identifier of the periodic advertising in an advertising set to a connected device. +} gapSyncTransferAdvertising_t; + +/** + * Type of GAPRole_SetPathLossReporting command parameters. + */ +typedef struct +{ + uint16_t connHandle; //!< Used to identify the Connection handle + int8_t highThreshold; //!< High threshold for the path loss.Units: dB + int8_t highHysteresis; //!< Hysteresis value for the high threshold.Units: dB + int8_t lowThreshold; //!< High threshold for the path loss.Units: dB + int8_t lowHysteresis; //!< Hysteresis value for the high threshold.Units: dB + uint16_t minTimeSpent; //!< Minimum time in number of connection events to be observed + //!< once the path crosses the threshold before an event is generated. + uint8_t enable; //!< 0x00:Reporting disabled 0x01:Reporting enabled +} gapRoleSetPathLossReporting_t; + +typedef struct +{ + uint16_t connHandle; //!< Used to identify the Connection handle + int8_t lowRxThreshold; //!< High threshold for the peer power levels.Units: dB + int8_t highRxThreshold; //!< High threshold for the peer power levels.Units: dB + int8_t minTxPower; //!< Minimum transmit power level.Units: dB + int8_t maxTxPower; //!< Maximum transmit power level.Units: dB +} gapRolePowerlevelManagement_t; + +/** + * Callback when the device has been started. Callback event to + * the Notify of a state change. + */ +typedef void (*gapRolesBroadcasterStateNotify_t)( gapRole_States_t newState ); + +typedef void (*gapRolesScanReqRecv_t)( gapScanRec_t * pEvent ); + +typedef struct +{ + gapRolesBroadcasterStateNotify_t pfnStateChange; //!< Whenever the device changes state + gapRolesScanReqRecv_t pfnScanRecv; +} gapRolesBroadcasterCBs_t; + +/** + * Observer Event Callback Function + */ +typedef void (*pfnGapObserverRoleEventCB_t)( gapRoleEvent_t *pEvent //!< Pointer to event structure. + ); + +/** + * Observer Callback Structure + */ +typedef struct +{ + pfnGapObserverRoleEventCB_t eventCB; //!< Event callback. +} gapRoleObserverCB_t; + +/** + * Callback when the device has read an new RSSI value during a connection. + */ +typedef void (*gapRolesRssiRead_t)( uint16_t connHandle, int8_t newRSSI ); + +/** + * Callback when the device has been started. Callback event to + * the Notify of a state change. + */ +typedef void (*gapRolesStateNotify_t)( gapRole_States_t newState, gapRoleEvent_t * pEvent ); + +/** + * Callback when the connection parameteres are updated. + */ +typedef void (*gapRolesParamUpdateCB_t)( uint16_t connHandle, uint16_t connInterval, + uint16_t connSlaveLatency, uint16_t connTimeout ); + +/** + * Callback structure - must be setup by the application and used when gapRoles_StartDevice() is called. + */ +typedef struct +{ + gapRolesStateNotify_t pfnStateChange; //!< Whenever the device changes state + gapRolesRssiRead_t pfnRssiRead; //!< When a valid RSSI is read from controller + gapRolesParamUpdateCB_t pfnParamUpdate; //!< When the connection parameteres are updated +} gapRolesCBs_t; + +/** + * Central Event Callback Function + */ +typedef void (*pfnGapCentralRoleEventCB_t)( gapRoleEvent_t *pEvent ); //!< Pointer to event structure. + +/** + * HCI Data Length Change Event Callback Function + */ +typedef void (*pfnHciDataLenChangeEvCB_t)( uint16_t connHandle, uint16_t maxTxOctets, + uint16_t maxRxOctets ); + +/** + * Central Callback Structure + */ +typedef struct +{ + gapRolesRssiRead_t rssiCB; //!< RSSI callback. + pfnGapCentralRoleEventCB_t eventCB; //!< Event callback. + pfnHciDataLenChangeEvCB_t ChangCB; //!< Length Change Event Callback . +} gapCentralRoleCB_t; // gapCentralRoleCB_t + +/* TxPower define(Accuracy:±2dBm) */ +#define LL_TX_POWEER_MINUS_20_DBM 0x01 +#define LL_TX_POWEER_MINUS_15_DBM 0x03 +#define LL_TX_POWEER_MINUS_10_DBM 0x05 +#define LL_TX_POWEER_MINUS_8_DBM 0x07 +#define LL_TX_POWEER_MINUS_5_DBM 0x0B +#define LL_TX_POWEER_MINUS_3_DBM 0x0F +#define LL_TX_POWEER_MINUS_1_DBM 0x13 +#define LL_TX_POWEER_0_DBM 0x15 +#define LL_TX_POWEER_1_DBM 0x1B +#define LL_TX_POWEER_2_DBM 0x23 +#define LL_TX_POWEER_3_DBM 0x2B +#define LL_TX_POWEER_4_DBM 0x3B + +/* RF-PHY define */ +/* + * RF_ROLE_STATUS_TYPE pfnRFStatusCB_t state defined + */ +// TX_MODE call RF_Tx +#define TX_MODE_TX_FINISH 0x01 //!< basic or auto tx mode sends data successfully + //!< if it is in basic mode,it will enter idle state; + //!< if it is in auto mode,it will wait for receiving +#define TX_MODE_TX_FAIL 0x11 //!< basic or auto tx mode fail to send data and enter idle state +#define TX_MODE_TX_TIMEOUT TX_MODE_TX_FAIL //!< time of data transmission +#define TX_MODE_RX_DATA 0x02 //!< auto tx mode receive data(ack) and enter idle state +#define TX_MODE_RX_TIMEOUT 0x12 //!< auto tx mode receive timeout and enter idle state +#define TX_MODE_HOP_SHUT 0x22 + +// RX_MODE call RF_Rx +#define RX_MODE_RX_DATA 0x03 //!< basic or auto rx mode receive data + //!< if it is in basic mode,it will enter idle state; + //!< if it is in auto mode,it will judge whether the type matches; + //!< if it matches,it will send data(ack),otherwise(rsr=2), it will restart receiving +#define RX_MODE_TX_FINISH 0x04 //!< auto rx mode sends data(ack) successfully and enters idle state +#define RX_MODE_TX_FAIL 0x14 //!< auto rx mode fail to send data and enter idle state +#define RX_MODE_TX_TIMEOUT RX_MODE_TX_FAIL //!< time of data transmission +#define RX_MODE_HOP_SHUT 0x24 + +// LLE_MODE_TYPE +#define LLE_MODE_BASIC (0) //!< basic mode, enter idle state after sending or receive +#define LLE_MODE_AUTO (1) //!< auto mode, auto swtich to the receiving status after sending and the sending status after receiving + +// LLE_WHITENING_TYPE +#define LLE_WHITENING_ON (0<<1) +#define LLE_WHITENING_OFF (1<<1) + +// LLE_PHY_TYPE +#define LLE_MODE_PHY_MODE_MASK (0x30) +#define LLE_MODE_PHY_1M (0<<4) +#define LLE_MODE_PHY_2M (1<<4) + +#define LLE_MODE_EX_CHANNEL (1<<6) + +#define LLE_MODE_NON_RSSI (1<<7) + +/** + * RFRole Event Callback Function + */ +typedef void (*pfnRFStatusCB_t)( uint8_t sta, uint8_t rsr, uint8_t *rxBuf ); +// sta - current status@ref RF_ROLE_STATUS_TYPE +// rsr - receive status: bit0- crc check result,bit1- type matching result +// rxBuf - receive data buffer + +typedef struct tag_rf_config +{ + uint8_t LLEMode; //!< BIT0 0=basic, 1=auto def@LLE_MODE_TYPE + //!< BIT1 0=whitening on, 1=whitening off def@LLE_WHITENING_TYPE + //!< BIT4-5 00-1M 01-2M 10/11-resv def@LLE_PHY_TYPE + //!< BIT6 0=data channel(0-39) + //!< 1=rf frequency (2400000kHz-2483500kHz) + //!< BIT7 0=the first byte of the receive buffer is rssi + //!< 1=the first byte of the receive buffer is package type + uint8_t Channel; //!< rf channel(0-39) + uint32_t Frequency; //!< rf frequency (2400000kHz-2483500kHz) + uint32_t accessAddress; //!< access address,32bit PHY address + uint32_t CRCInit; //!< crc initial value + pfnRFStatusCB_t rfStatusCB; //!< status call back + uint32_t ChannelMap; //!< indicating Used and Unused data channels.Every channel is represented with a + //!< bit positioned as per the data channel index,The LSB represents data channel index 0 + uint8_t Resv; + uint8_t HeartPeriod; //!< The heart package interval shall be an integer multiple of 100ms + uint8_t HopPeriod; //!< hop period( T=32n*RTC clock ),default is 8 + uint8_t HopIndex; //!< indicate the hopIncrement used in the data channel selection algorithm,default is 17 + uint8_t RxMaxlen; //!< Maximum data length received in rf-mode(default 251) + uint8_t TxMaxlen; //!< Maximum data length transmit in rf-mode(default 251) +} rfConfig_t; + +/* end define@RF-PHY */ + +/******************************************************************************* + * UUID defined + */ +/** + * GATT Services + */ +extern const uint8_t gapServiceUUID[]; +extern const uint8_t gattServiceUUID[]; + +/** + * GATT Attribute Types + */ +extern const uint8_t primaryServiceUUID[]; +extern const uint8_t secondaryServiceUUID[]; +extern const uint8_t includeUUID[]; +extern const uint8_t characterUUID[]; + +/** + * GATT Characteristic Descriptors + */ +extern const uint8_t charExtPropsUUID[]; +extern const uint8_t charUserDescUUID[]; +extern const uint8_t clientCharCfgUUID[]; +extern const uint8_t servCharCfgUUID[]; +extern const uint8_t charFormatUUID[]; +extern const uint8_t charAggFormatUUID[]; +extern const uint8_t validRangeUUID[]; +extern const uint8_t extReportRefUUID[]; +extern const uint8_t reportRefUUID[]; + +/** + * GATT Characteristic Types + */ +extern const uint8_t deviceNameUUID[]; +extern const uint8_t appearanceUUID[]; +extern const uint8_t periPrivacyFlagUUID[]; +extern const uint8_t reconnectAddrUUID[]; +extern const uint8_t periConnParamUUID[]; +extern const uint8_t serviceChangedUUID[]; +extern const uint8_t centAddrResUUID[]; + +/******************************************************************************* + * PUBLIC FUNCTIONS + */ +extern uint32_t tmos_rand( void ); // pseudo-random number +extern BOOL tmos_memcmp( const void *src1, const void *src2, uint32_t len ); // TRUE - same, FALSE - different +extern BOOL tmos_isbufset( uint8_t *buf, uint8_t val, uint32_t len ); // TRUE if all "val",FALSE otherwise +extern uint32_t tmos_strlen( char *pString ); +extern void tmos_memset( void * pDst, uint8_t Value, uint32_t len ); +extern void tmos_memcpy( void *dst, const void *src, uint32_t len ); // Generic memory copy. + +/** + * @brief start a event immediately + * + * @param taskID - task ID of event + * @param event - event value + * + * @return 0 - SUCCESS. + */ +extern bStatus_t tmos_set_event( tmosTaskID taskID, tmosEvents event ); + +/** + * @brief clear a event already timeout, cannot be used in it own event function. + * + * @param taskID - task ID of event + * @param event - event value + * + * @return 0 - SUCCESS. + */ +extern bStatus_t tmos_clear_event( tmosTaskID taskID, tmosEvents event ); + +/** + * @brief start a event after period of time + * + * @param taskID - task ID to set event for + * @param event - event to be notified with + * @param time - timeout value + * + * @return TRUE,FALSE. + */ +extern BOOL tmos_start_task( tmosTaskID taskID, tmosEvents event, tmosTimer time ); + +/** + * @brief This function is called to start a timer to expire in n system clock time. + * When the timer expires, the calling task will get the specified event + * and the timer will be reloaded with the timeout value. + * + * @param taskID - task ID to set timer for + * @param event - event to be notified with + * @param time - timeout value + * + * @return SUCCESS, or NO_TIMER_AVAIL. + */ +extern bStatus_t tmos_start_reload_task( tmosTaskID taskID, tmosEvents event, tmosTimer time ); + +/** + * @brief stop a event + * + * @param taskID - task ID of event + * @param event - event value + * + * @param None. + * + * @return SUCCESS. + */ +extern bStatus_t tmos_stop_task( tmosTaskID taskID, tmosEvents event ); + +/** + * @brief get last period of time for this event + * + * @param taskID - task ID of event + * @param event - event value + * + * @return the timer's tick count if found, zero otherwise. + */ +extern tmosTimer tmos_get_task_timer( tmosTaskID taskID, tmosEvents event ); + +/** + * @brief send msg to a task,callback events&SYS_EVENT_MSG + * + * @param taskID - task ID of task need to send msg + * @param *msg_ptr - point of msg + * + * @return SUCCESS, INVALID_TASK, INVALID_MSG_POINTER + */ +extern bStatus_t tmos_msg_send( tmosTaskID taskID, uint8_t *msg_ptr ); + +/** + * @brief delete a msg + * + * @param *msg_ptr - point of msg + * + * @return SUCCESS. + */ +extern bStatus_t tmos_msg_deallocate( uint8_t *msg_ptr ); + +/** + * @brief receive a msg + * + * @param taskID - task ID of task need to receive msg + * + * @return *uint8_t - message information or NULL if no message + */ +extern uint8_t *tmos_msg_receive( tmosTaskID taskID ); + +/** + * @brief allocate buffer for msg when need to send msg + * + * @param len - length of msg + * + * @return pointer to allocated buffer or NULL if allocation failed. + */ +extern uint8_t *tmos_msg_allocate( uint16_t len ); + +/** + * @brief read a data item to NV. + * + * @param id - Valid NV item Id. + * @param len - Length of data to read. + * @param *pBuf - Data to read. + * + * @return SUCCESS if successful, NV_OPER_FAILED if failed. + */ +extern bStatus_t tmos_snv_read( tmosSnvId_t id, tmosSnvLen_t len, void *pBuf ); + +/** + * @brief tmos system timer initialization + * + * @note must initialization before call tmos task + * + * @param fnGetClock - system clock select extend input,if NULL select HSE as the clock source + * + * @return SUCCESS if successful, FAILURE if failed. + */ +extern bStatus_t TMOS_TimerInit( bleClockConfig_t *pClockConfig ); + +/** + * @brief interrupt handler. + * + * @param None + * + * @return None + */ +extern bStatus_t TMOS_TimerIRQHandler( uint32_t *time ); + +/** + * @brief Process system + * + * @param None. + * + * @return None. + */ +extern void TMOS_SystemProcess( void ); + +/** + * @brief Get current system clock + * + * @param None. + * + * @return current system clock (in 0.625ms) + */ +extern uint32_t TMOS_GetSystemClock( void ); + +/** + * @brief register process event callback function + * + * @param eventCb-events callback function + * + * @return 0xFF - error,others-task id + */ +extern tmosTaskID TMOS_ProcessEventRegister( pTaskEventHandlerFn eventCb ); + +/** + * @brief Add a device address into white list ( support SNVNum MAX ) + * + * @param addrType - Type of device address + * @param devAddr - first address of device address + * + * @return Command Status. + */ +extern bStatus_t LL_AddWhiteListDevice( uint8_t addrType, uint8_t *devAddr ); + +/** + * @brief Remove a device address from white list + * + * @param addrType - Type of device address + * @param devAddr - first address of device address + * + * @return Command Status. + */ +extern bStatus_t LL_RemoveWhiteListDevice( uint8_t addrType, uint8_t *devAddr ); + +/** + * @brief Clear white list + * + * @param None + * + * @return Command Status. + */ +extern bStatus_t LL_ClearWhiteList( void ); + +/** + * @brief Encrypt data + * + * @param key - key + * @param plaintextData - original data + * @param encryptData - encrypted data + * + * @return Command Status. + */ +extern bStatus_t LL_Encrypt( uint8_t *key, uint8_t *plaintextData, uint8_t *encryptData ); + +/** + * @brief Decrypt data + * + * @param key - key + * @param plaintextData - original data + * @param decryptData - decrypted data + * + * @return Command Status. + */ +extern bStatus_t LL_Decrypt( uint8_t *key, uint8_t *plaintextData, uint8_t *decryptData ); + +/** + * @brief get number of unAck packet in current connect buffer + * + * @param handle - connect handle + * + * @return 0xFFFFFFFF-handle error,number of packets not receiving ack + */ +extern uint32_t LL_GetNumberOfUnAckPacket( uint16_t handle ); + +/** + * @brief Register a callback function will be called after each connect event. + * Only effect in single connection + * + * @param connEventCB - callback function + * + * @return None. + */ +extern void LL_ConnectEventRegister( pfnEventCB connEventCB ); + +/** + * @brief Register a callback function will be called after each advertise event. + * + * @param advEventCB - callback function + * + * @return None. + */ +extern void LL_AdvertiseEventRegister( pfnEventCB advEventCB ); + +/** + * @brief set tx power level + * + * @param power - tx power level + * + * @return Command Status. + */ +extern bStatus_t LL_SetTxPowerLevel( uint8_t power ); + +/** + * @brief read rssi + * + * @param None. + * + * @return the value of rssi. + */ +extern int8_t BLE_ReadRssi( void ); + +/** + * @brief read cfo + * + * @param None. + * + * @return the value of cfo. + */ +extern int16_t BLE_ReadCfo( void ); + +/** + * @brief pa control init + * + * @note Can't be called until role Init + * + * @param paControl - pa control parameters(global variable) + * + * @return Command Status. + */ +extern void BLE_PAControlInit( blePaControlConfig_t *paControl ); + +/** + * @brief ble register reset and rf calibration + * + * @param None + * + * @return None + */ +extern void BLE_RegInit( void ); + +/** + * @brief Init BLE lib. RTC will be occupied at the same time. + * + * @param pCfg - config of BLE lib + * + * @return 0-success. error defined @ ERR_LIB_INIT + */ +extern bStatus_t BLE_LibInit( bleConfig_t* pCfg ); + +/** + * @brief interrupt handler. + * + * @param None + * + * @return None + */ +extern void BB_IRQLibHandler( void ); + +/** + * @brief interrupt handler. + * + * @param None + * + * @return None + */ +extern void LLE_IRQLibHandler( void ); + +/** + * @brief generate a valid access address + * + * @param None. + * + * @return access address + * the Access Address meets the following requirements: + * It shall have no more than six consecutive zeros or ones. + * It shall not be t he advertising channel packets’ Access Address. + * It shall not be a sequence that differ s from the advertising channel packets' Access Address by only one bit. + * It shall not have all four octets equal. + * It shall have no more than 24 transitions. + * It shall have a minimum of two transitions in the most significant six bits. + */ +extern uint32_t BLE_AccessAddressGenerate( void ); + +/* + * linkDB_Register - Register with this function to receive a callback when + * status changes on a connection. + */ +extern uint8_t linkDB_Register( pfnLinkDBCB_t pFunc ); + +/* + * linkDB_State - Check to see if a physical link is in a specific state. + * + * returns TRUE is the link is in state. FALSE, otherwise. + */ +extern uint8_t linkDB_State( uint16_t connectionHandle, uint8_t state ); + +/* + * linkDB_PerformFunc - Perform a function of each connection in the link database. + */ +extern void linkDB_PerformFunc( pfnPerformFuncCB_t cb ); +/* + * linkDB_Up - Check to see if a physical link is up (connected). + * Use like: uint8_t linkDB_Up( uint16_t connectionHandle ); + * connectionHandle - controller link connection handle. + * returns TRUE if the link is up. FALSE, otherwise. + */ +#define linkDB_Up( connectionHandle ) linkDB_State( (connectionHandle), LINK_CONNECTED ) + +/** + * @brief This function is used to get the MTU size of a connection. + * + * @param connHandle - connection handle. + * + * @return connection MTU size. + */ +extern uint16_t ATT_GetMTU( uint16_t connHandle ); + +/** + * @brief Send Handle Value Confirmation. + * + * @param connHandle - connection to use + * + * @return SUCCESS: Confirmation was sent successfully. + * INVALIDPARAMETER: Invalid confirmation field. + * MSG_BUFFER_NOT_AVAIL: No HCI buffer is available. + * bleNotConnected: Connection is down. + * bleMemAllocError: Memory allocation error occurred. + */ +extern bStatus_t ATT_HandleValueCfm( uint16_t connHandle ); + +/* + * Compare two UUIDs. The UUIDs are converted if necessary. + */ +extern uint8_t ATT_CompareUUID( const uint8_t *pUUID1, uint16_t len1, const uint8_t *pUUID2, uint16_t len2 ); + +/** + * @brief Initialize the Generic Attribute Profile Client. + * + * @return SUCCESS: Client initialized successfully. + * bleMemAllocError: Memory allocation error occurred. + */ +extern bStatus_t GATT_InitClient( void ); + +/** + * @brief Register to receive incoming ATT Indications or Notifications + * of attribute values. + * + * @param taskId ?task to forward indications or notifications to + * + * @return void + */ +extern void GATT_RegisterForInd( uint8_t taskId ); + +/** + * @brief Find the attribute record for a given handle + * + * @param handle - handle to look for + * @param pHandle - handle of owner of attribute (to be returned) + * + * @return Pointer to attribute record. NULL, otherwise. + */ +extern gattAttribute_t *GATT_FindHandle( uint16_t handle, uint16_t *pHandle ); + +/** + * @brief This sub-procedure is used when a server is configured to + * indicate a characteristic value to a client and expects an + * attribute protocol layer acknowledgement that the indication + * was successfully received. + * + * The ATT Handle Value Indication is used in this sub-procedure. + * + * If the return status from this function is SUCCESS, the calling + * application task will receive an tmos GATT_MSG_EVENT message. + * The type of the message will be ATT_HANDLE_VALUE_CFM. + * + * @note This sub-procedure is complete when ATT_HANDLE_VALUE_CFM + * (with SUCCESS or bleTimeoutstatus) is received by the calling application task. + * + * @param connHandle - connection to use + * @param pInd - pointer to indication to be sent + * @param authenticated - whether an authenticated link is required + * @param taskId - task to be notified of response + * + * @return SUCCESS: Indication was sent successfully. + * INVALIDPARAMETER: Invalid connection handle or request field. + * MSG_BUFFER_NOT_AVAIL: No HCI buffer is available. + * bleNotConnected: Connection is down. + * blePending: A confirmation is pending with this client. + * bleMemAllocError: Memory allocation error occurred. + * bleTimeout: Previous transaction timed out. + */ +extern bStatus_t GATT_Indication( uint16_t connHandle, attHandleValueInd_t *pInd, uint8_t authenticated, uint8_t taskId ); +/** + * @brief This sub-procedure is used when a server is configured to + * notify a characteristic value to a client without expecting + * any attribute protocol layer acknowledgement that the + * notification was successfully received. + * + * The ATT Handle Value Notification is used in this sub-procedure. + * + * @note A notification may be sent at any time and does not invoke a confirmation. + * No confirmation will be sent to the calling application task for + * this sub-procedure. + * + * @param connHandle - connection to use + * @param pNoti - pointer to notification to be sent + * @param authenticated - whether an authenticated link is required + * + * @return SUCCESS: Notification was sent successfully. + * INVALIDPARAMETER: Invalid connection handle or request field. + * MSG_BUFFER_NOT_AVAIL: No HCI buffer is available. + * bleNotConnected: Connection is down. + * bleMemAllocError: Memory allocation error occurred. + * bleTimeout: Previous transaction timed out. + */ +extern bStatus_t GATT_Notification( uint16_t connHandle, attHandleValueNoti_t *pNoti, uint8_t authenticated ); + +/** + * @brief This sub-procedure is used by the client to set the ATT_MTU + * to the maximum possible value that can be supported by both + * devices when the client supports a value greater than the + * default ATT_MTU for the Attribute Protocol. This sub-procedure + * shall only be initiated once during a connection. + * + * The ATT Exchange MTU Request is used by this sub-procedure. + * + * If the return status from this function is SUCCESS, the calling + * application task will receive an tmos GATT_MSG_EVENT message. + * The type of the message will be either ATT_EXCHANGE_MTU_RSP or + * ATT_ERROR_RSP (if an error occurred on the server). + * + * @note This sub-procedure is complete when either ATT_EXCHANGE_MTU_RSP + * (with SUCCESS or bleTimeout status) or ATT_ERROR_RSP + * (with SUCCESS status) is received by the calling application task. + * + * @param connHandle - connection to use + * @param pReq - pointer to request to be sent + * @param taskId - task to be notified of response + * + * @return SUCCESS: Request was sent successfully. + * INVALIDPARAMETER: Invalid connection handle or request field. + * MSG_BUFFER_NOT_AVAIL: No HCI buffer is available. + * bleNotConnected: Connection is down. + * blePending: A response is pending with this server. + * bleMemAllocError: Memory allocation error occurred. + * bleTimeout: Previous transaction timed out. + */ +extern bStatus_t GATT_ExchangeMTU( uint16_t connHandle, attExchangeMTUReq_t *pReq, uint8_t taskId ); + +/** + * @brief This sub-procedure is used by a client to discover all + * the primary services on a server. + * + * The ATT Read By Group Type Request is used with the Attribute + * Type parameter set to the UUID for "Primary Service". The + * Starting Handle is set to 0x0001 and the Ending Handle is + * set to 0xFFFF. + * + * If the return status from this function is SUCCESS, the calling + * application task will receive multiple tmos GATT_MSG_EVENT messages. + * The type of the messages will be either ATT_READ_BY_GRP_TYPE_RSP + * or ATT_ERROR_RSP (if an error occurred on the server). + * + * @note This sub-procedure is complete when either ATT_READ_BY_GRP_TYPE_RSP + * (with bleProcedureComplete or bleTimeout status) or ATT_ERROR_RSP + * (with SUCCESS status) is received by the calling application task. + * + * @param connHandle - connection to use + * @param taskId - task to be notified of response + * + * @return SUCCESS: Request was sent successfully. + * INVALIDPARAMETER: Invalid connection handle or request field. + * MSG_BUFFER_NOT_AVAIL: No HCI buffer is available. + * bleNotConnected: Connection is down. + * blePending: A response is pending with this server. + * bleMemAllocError: Memory allocation error occurred. + * bleTimeout: Previous transaction timed out. + */ +extern bStatus_t GATT_DiscAllPrimaryServices( uint16_t connHandle, uint8_t taskId ); + +/** + * @brief This sub-procedure is used by a client to discover a specific + * primary service on a server when only the Service UUID is + * known. The primary specific service may exist multiple times + * on a server. The primary service being discovered is identified + * by the service UUID. + * + * The ATT Find By Type Value Request is used with the Attribute + * Type parameter set to the UUID for "Primary Service" and the + * Attribute Value set to the 16-bit Bluetooth UUID or 128-bit + * UUID for the specific primary service. The Starting Handle shall + * be set to 0x0001 and the Ending Handle shall be set to 0xFFFF. + * + * If the return status from this function is SUCCESS, the calling + * application task will receive multiple tmos GATT_MSG_EVENT messages. + * The type of the messages will be either ATT_FIND_BY_TYPE_VALUE_RSP + * or ATT_ERROR_RSP (if an error occurred on the server). + * + * @note This sub-procedure is complete when either ATT_FIND_BY_TYPE_VALUE_RSP + * (with bleProcedureComplete or bleTimeout status) or ATT_ERROR_RSP + * (with SUCCESS status) is received by the calling application task. + * + * @param connHandle - connection to use + * @param pUUID - pointer to service UUID to look for + * @param len - length of value + * @param taskId - task to be notified of response + * + * @return SUCCESS: Request was sent successfully. + * INVALIDPARAMETER: Invalid connection handle or request field. + * MSG_BUFFER_NOT_AVAIL: No HCI buffer is available. + * bleNotConnected: Connection is down. + * blePending: A response is pending with this server. + * bleMemAllocError: Memory allocation error occurred. + * bleTimeout: Previous transaction timed out. + */ +extern bStatus_t GATT_DiscPrimaryServiceByUUID( uint16_t connHandle, uint8_t *pUUID, uint8_t len, uint8_t taskId ); + +/** + * @brief This sub-procedure is used by a client to find include + * service declarations within a service definition on a + * server. The service specified is identified by the service + * handle range. + * + * The ATT Read By Type Request is used with the Attribute + * Type parameter set to the UUID for "Included Service". The + * Starting Handle is set to starting handle of the specified + * service and the Ending Handle is set to the ending handle + * of the specified service. + * + * If the return status from this function is SUCCESS, the calling + * application task will receive multiple tmos GATT_MSG_EVENT messages. + * The type of the messages will be either ATT_READ_BY_TYPE_RSP + * or ATT_ERROR_RSP (if an error occurred on the server). + * + * @note This sub-procedure is complete when either ATT_READ_BY_TYPE_RSP + * (with bleProcedureCompleteor bleTimeout status)or ATT_ERROR_RSP + * (with SUCCESS status) is received by the calling application task. + * + * @param connHandle - connection to use + * @param startHandle - starting handle + * @param endHandle - end handle + * @param taskId - task to be notified of response + * + * @return SUCCESS: Request was sent successfully. + * INVALIDPARAMETER: Invalid connection handle or request field. + * MSG_BUFFER_NOT_AVAIL: No HCI buffer is available. + * bleNotConnected: Connection is down. + * blePending: A response is pending with this server. + * bleMemAllocError: Memory allocation error occurred. + * bleTimeout: Previous transaction timed out. + */ +extern bStatus_t GATT_FindIncludedServices( uint16_t connHandle, uint16_t startHandle, uint16_t endHandle, uint8_t taskId ); + +/** + * @brief This sub-procedure is used by a client to find all the + * characteristic declarations within a service definition on + * a server when only the service handle range is known. The + * service specified is identified by the service handle range. + * + * The ATT Read By Type Request is used with the Attribute Type + * parameter set to the UUID for "Characteristic". The Starting + * Handle is set to starting handle of the specified service and + * the Ending Handle is set to the ending handle of the specified + * service. + * + * If the return status from this function is SUCCESS, the calling + * application task will receive multiple tmos GATT_MSG_EVENT messages. + * The type of the messages will be either ATT_READ_BY_TYPE_RSP + * or ATT_ERROR_RSP (if an error occurred on the server). + * + * @note This sub-procedure is complete when either ATT_READ_BY_TYPE_RSP + * (with bleProcedureComplete or bleTimeout status)or ATT_ERROR_RSP + * (with SUCCESS status) is received by the calling application task. + * + * @param connHandle - connection to use + * @param startHandle - starting handle + * @param endHandle - end handle + * @param taskId - task to be notified of response + * + * @return SUCCESS: Request was sent successfully. + * INVALIDPARAMETER: Invalid connection handle or request field. + * MSG_BUFFER_NOT_AVAIL: No HCI buffer is available. + * bleNotConnected: Connection is down. + * blePending: A response is pending with this server. + * bleMemAllocError: Memory allocation error occurred. + * bleTimeout: Previous transaction timed out. + */ +extern bStatus_t GATT_DiscAllChars( uint16_t connHandle, uint16_t startHandle, uint16_t endHandle, uint8_t taskId ); + +/** + * @brief This sub-procedure is used by a client to discover service + * characteristics on a server when only the service handle + * ranges are known and the characteristic UUID is known. + * The specific service may exist multiple times on a server. + * The characteristic being discovered is identified by the + * characteristic UUID. + * + * The ATT Read By Type Request is used with the Attribute Type + * is set to the UUID for "Characteristic" and the Starting + * Handle and Ending Handle parameters is set to the service + * handle range. + * + * If the return status from this function is SUCCESS, the calling + * application task will receive multiple tmos GATT_MSG_EVENT messages. + * The type of the messages will be either ATT_READ_BY_TYPE_RSP + * or ATT_ERROR_RSP (if an error occurred on the server). + * + * @note This sub-procedure is complete when either ATT_READ_BY_TYPE_RSP + * (with bleProcedureComplete or bleTimeout status) or ATT_ERROR_RSP + * (with SUCCESS status) is received by the calling application task. + * + * @param connHandle - connection to use + * @param pReq - pointer to request to be sent + * @param taskId - task to be notified of response + * + * @return SUCCESS: Request was sent successfully. + * INVALIDPARAMETER: Invalid connection handle or request field. + * MSG_BUFFER_NOT_AVAIL: No HCI buffer is available. + * bleNotConnected: Connection is down. + * blePending: A response is pending with this server. + * bleMemAllocError: Memory allocation error occurred. + * bleTimeout: Previous transaction timed out. + */ +extern bStatus_t GATT_DiscCharsByUUID( uint16_t connHandle, attReadByTypeReq_t *pReq, uint8_t taskId ); + +/** + * @brief This sub-procedure is used by a client to find all the + * characteristic descriptors Attribute Handles and Attribute + * Types within a characteristic definition when only the + * characteristic handle range is known. The characteristic + * specified is identified by the characteristic handle range. + * + * The ATT Find Information Request is used with the Starting + * Handle set to starting handle of the specified characteristic + * and the Ending Handle set to the ending handle of the specified + * characteristic. The UUID Filter parameter is NULL (zero length). + * + * If the return status from this function is SUCCESS, the calling + * application task will receive multiple tmos GATT_MSG_EVENT messages. + * The type of the messages will be either ATT_FIND_INFO_RSP or + * ATT_ERROR_RSP (if an error occurred on the server). + * + * @note This sub-procedure is complete when either ATT_FIND_INFO_RSP + * (with bleProcedureComplete or bleTimeout status) or ATT_ERROR_RSP + * (with SUCCESS status) is received by the calling application task. + * + * @param connHandle - connection to use + * @param startHandle - starting handle + * @param endHandle - end handle + * @param taskId - task to be notified of response + * + * @return SUCCESS: Request was sent successfully. + * INVALIDPARAMETER: Invalid connection handle or request field. + * MSG_BUFFER_NOT_AVAIL: No HCI buffer is available. + * bleNotConnected: Connection is down. + * blePending: A response is pending with this server. + * bleMemAllocError: Memory allocation error occurred. + * bleTimeout: Previous transaction timed out. + */ +extern bStatus_t GATT_DiscAllCharDescs( uint16_t connHandle, uint16_t startHandle, uint16_t endHandle, uint8_t taskId ); + +/** + * @brief This sub-procedure is used to read a Characteristic Value + * from a server when the client knows the Characteristic Value + * Handle. The ATT Read Request is used with the Attribute Handle + * parameter set to the Characteristic Value Handle. The Read + * Response returns the Characteristic Value in the Attribute + * Value parameter. + * + * The Read Response only contains a Characteristic Value that + * is less than or equal to (ATT_MTU ?1) octets in length. If + * the Characteristic Value is greater than (ATT_MTU - 1) octets + * in length, the Read Long Characteristic Value procedure may + * be used if the rest of the Characteristic Value is required. + * + * If the return status from this function is SUCCESS, the calling + * application task will receive an tmos GATT_MSG_EVENT message. + * The type of the message will be either ATT_READ_RSP or + * ATT_ERROR_RSP (if an error occurred on the server). + * + * @note This sub-procedure is complete when either ATT_READ_RSP + * (with SUCCESS or bleTimeout status) or ATT_ERROR_RSP + * (with SUCCESS status) is received by the calling application task. + * + * @param connHandle - connection to use + * @param pReq - pointer to request to be sent + * @param taskId - task to be notified of response + * + * @return SUCCESS: Request was sent successfully. + * INVALIDPARAMETER: Invalid connection handle or request field. + * MSG_BUFFER_NOT_AVAIL: No HCI buffer is available. + * bleNotConnected: Connection is down. + * blePending: A response is pending with this server. + * bleMemAllocError: Memory allocation error occurred. + * bleTimeout: Previous transaction timed out. + */ +extern bStatus_t GATT_ReadCharValue( uint16_t connHandle, attReadReq_t *pReq, uint8_t taskId ); + +/** + * @brief This sub-procedure is used to read a Characteristic Value + * from a server when the client only knows the characteristic + * UUID and does not know the handle of the characteristic. + * + * The ATT Read By Type Request is used to perform the sub-procedure. + * The Attribute Type is set to the known characteristic UUID and + * the Starting Handle and Ending Handle parameters shall be set + * to the range over which this read is to be performed. This is + * typically the handle range for the service in which the + * characteristic belongs. + * + * If the return status from this function is SUCCESS, the calling + * application task will receive an tmos GATT_MSG_EVENT messages. + * The type of the message will be either ATT_READ_BY_TYPE_RSP + * or ATT_ERROR_RSP (if an error occurred on the server). + * + * @note This sub-procedure is complete when either ATT_READ_BY_TYPE_RSP + * (with SUCCESS or bleTimeout status) or ATT_ERROR_RSP + * (with SUCCESS status) is received by the calling application task. + * + * @param connHandle - connection to use + * @param pReq - pointer to request to be sent + * @param taskId - task to be notified of response + * + * @return SUCCESS: Request was sent successfully. + * INVALIDPARAMETER: Invalid connection handle or request field. + * MSG_BUFFER_NOT_AVAIL: No HCI buffer is available. + * bleNotConnected: Connection is down. + * blePending: A response is pending with this server. + * bleMemAllocError: Memory allocation error occurred. + * bleTimeout: Previous transaction timed out. + */ +extern bStatus_t GATT_ReadUsingCharUUID( uint16_t connHandle, attReadByTypeReq_t *pReq, uint8_t taskId ); + +/** + * @brief This sub-procedure is used to read a Characteristic Value from + * a server when the client knows the Characteristic Value Handle + * and the length of the Characteristic Value is longer than can + * be sent in a single Read Response Attribute Protocol message. + * + * The ATT Read Blob Request is used in this sub-procedure. + * + * If the return status from this function is SUCCESS, the calling + * application task will receive multiple tmos GATT_MSG_EVENT messages. + * The type of the messages will be either ATT_READ_BLOB_RSP or + * ATT_ERROR_RSP (if an error occurred on the server). + * + * @note This sub-procedure is complete when either ATT_READ_BLOB_RSP + * (with bleProcedureComplete or bleTimeout status) or ATT_ERROR_RSP + * (with SUCCESS status) is received by the calling application task. + * + * @param connHandle - connection to use + * @param pReq - pointer to request to be sent + * @param taskId - task to be notified of response + * + * @return SUCCESS: Request was sent successfully. + * INVALIDPARAMETER: Invalid connection handle or request field. + * MSG_BUFFER_NOT_AVAIL: No HCI buffer is available. + * bleNotConnected: Connection is down. + * blePending: A response is pending with this server. + * bleMemAllocError: Memory allocation error occurred. + * bleTimeout: Previous transaction timed out. + */ +extern bStatus_t GATT_ReadLongCharValue( uint16_t connHandle, attReadBlobReq_t *pReq, uint8_t taskId ); + +/** + * @brief This sub-procedure is used to read multiple Characteristic Values + * from a server when the client knows the Characteristic Value + * Handles. The Attribute Protocol Read Multiple Requests is used + * with the Set Of Handles parameter set to the Characteristic Value + * Handles. The Read Multiple Response returns the Characteristic + * Values in the Set Of Values parameter. + * + * The ATT Read Multiple Request is used in this sub-procedure. + * + * If the return status from this function is SUCCESS, the calling + * application task will receive an tmos GATT_MSG_EVENT message. + * The type of the message will be either ATT_READ_MULTI_RSP + * or ATT_ERROR_RSP (if an error occurred on the server). + * + * @note This sub-procedure is complete when either ATT_READ_MULTI_RSP + * (with SUCCESS or bleTimeout status) or ATT_ERROR_RSP + * (with SUCCESS status) is received by the calling application task. + * + * @param connHandle - connection to use + * @param pReq - pointer to request to be sent + * @param taskId - task to be notified of response + * + * @return SUCCESS: Request was sent successfully. + * INVALIDPARAMETER: Invalid connection handle or request field. + * MSG_BUFFER_NOT_AVAIL: No HCI buffer is available. + * bleNotConnected: Connection is down. + * blePending: A response is pending with this server. + * bleMemAllocError: Memory allocation error occurred. + * bleTimeout: Previous transaction timed out. + */ +extern bStatus_t GATT_ReadMultiCharValues( uint16_t connHandle, attReadMultiReq_t *pReq, uint8_t taskId ); + +/** + * @brief This sub-procedure is used to write a Characteristic Value + * to a server when the client knows the Characteristic Value + * Handle and the client does not need an acknowledgement that + * the write was successfully performed. This sub-procedure + * only writes the first (ATT_MTU ?3) octets of a Characteristic + * Value. This sub-procedure can not be used to write a long + * characteristic; instead the Write Long Characteristic Values + * sub-procedure should be used. + * + * The ATT Write Command is used for this sub-procedure. The + * Attribute Handle parameter shall be set to the Characteristic + * Value Handle. The Attribute Value parameter shall be set to + * the new Characteristic Value. + * + * No response will be sent to the calling application task for this + * sub-procedure. If the Characteristic Value write request is the + * wrong size, or has an invalid value as defined by the profile, + * then the write will not succeed and no error will be generated + * by the server. + * + * @param connHandle - connection to use + * @param pReq - pointer to command to be sent + * + * @return SUCCESS: Request was sent successfully. + * INVALIDPARAMETER: Invalid connection handle or request field. + * MSG_BUFFER_NOT_AVAIL: No HCI buffer is available. + * bleNotConnected: Connection is down. + * bleMemAllocError: Memory allocation error occurred. + * bleTimeout: Previous transaction timed out. + */ +extern bStatus_t GATT_WriteNoRsp( uint16_t connHandle, attWriteReq_t *pReq ); + +/** + * @brief This sub-procedure is used to write a Characteristic Value + * to a server when the client knows the Characteristic Value + * Handle and the ATT Bearer is not encrypted. This sub-procedure + * shall only be used if the Characteristic Properties authenticated + * bit is enabled and the client and server device share a bond as + * defined in the GAP. + * + * This sub-procedure only writes the first (ATT_MTU ?15) octets + * of an Attribute Value. This sub-procedure cannot be used to + * write a long Attribute. + * + * The ATT Write Command is used for this sub-procedure. The + * Attribute Handle parameter shall be set to the Characteristic + * Value Handle. The Attribute Value parameter shall be set to + * the new Characteristic Value authenticated by signing the + * value, as defined in the Security Manager. + * + * No response will be sent to the calling application task for this + * sub-procedure. If the authenticated Characteristic Value that is + * written is the wrong size, or has an invalid value as defined by + * the profile, or the signed value does not authenticate the client, + * then the write will not succeed and no error will be generated by + * the server. + * + * @param connHandle - connection to use + * @param pReq - pointer to command to be sent + * + * @return SUCCESS: Request was sent successfully. + * INVALIDPARAMETER: Invalid connection handle or request field. + * MSG_BUFFER_NOT_AVAIL: No HCI buffer is available. + * bleNotConnected: Connection is down. + * bleMemAllocError: Memory allocation error occurred. + * bleLinkEncrypted: Connection is already encrypted. + * bleTimeout: Previous transaction timed out. + */ +extern bStatus_t GATT_SignedWriteNoRsp( uint16_t connHandle, attWriteReq_t *pReq ); + +/** + * @brief This sub-procedure is used to write a characteristic value + * to a server when the client knows the characteristic value + * handle. This sub-procedure only writes the first (ATT_MTU-3) + * octets of a characteristic value. This sub-procedure can not + * be used to write a long attribute; instead the Write Long + * Characteristic Values sub-procedure should be used. + * + * The ATT Write Request is used in this sub-procedure. The + * Attribute Handle parameter shall be set to the Characteristic + * Value Handle. The Attribute Value parameter shall be set to + * the new characteristic. + * + * If the return status from this function is SUCCESS, the calling + * application task will receive an tmos GATT_MSG_EVENT message. + * The type of the message will be either ATT_WRITE_RSP + * or ATT_ERROR_RSP (if an error occurred on the server). + * + * @note This sub-procedure is complete when either ATT_WRITE_RSP + * (with SUCCESS or bleTimeout status) or ATT_ERROR_RSP + * (with SUCCESS status) is received by the calling application task. + * + * @param connHandle - connection to use + * @param pReq - pointer to request to be sent + * @param taskId - task to be notified of response + * + * @return SUCCESS: Request was sent successfully. + * INVALIDPARAMETER: Invalid connection handle or request field. + * MSG_BUFFER_NOT_AVAIL: No HCI buffer is available. + * bleNotConnected: Connection is down. + * blePending: A response is pending with this server. + * bleMemAllocError: Memory allocation error occurred. + * bleTimeout: Previous transaction timed out. + */ +extern bStatus_t GATT_WriteCharValue( uint16_t connHandle, attWriteReq_t *pReq, uint8_t taskId ); + +/** + * @brief This sub-procedure is used to write a Characteristic Value to + * a server when the client knows the Characteristic Value Handle + * but the length of the Characteristic Value is longer than can + * be sent in a single Write Request Attribute Protocol message. + * + * The ATT Prepare Write Request and Execute Write Request are + * used to perform this sub-procedure. + * + * If the return status from this function is SUCCESS, the calling + * application task will receive multiple tmos GATT_MSG_EVENT messages. + * The type of the messages will be either ATT_PREPARE_WRITE_RSP, + * ATT_EXECUTE_WRITE_RSP or ATT_ERROR_RSP (if an error occurred on + * the server). + * + * @note This sub-procedure is complete when either ATT_PREPARE_WRITE_RSP + * (with bleTimeout status), ATT_EXECUTE_WRITE_RSP + * (with SUCCESS or bleTimeout status), or ATT_ERROR_RSP + * (with SUCCESS status) is received by the calling application task. + * + * @note The 'pReq->pValue' pointer will be freed when the sub-procedure is complete. + * + * @param connHandle - connection to use + * @param pReq - pointer to request to be sent + * @param taskId - task to be notified of response + * + * @return SUCCESS: Request was sent successfully. + * INVALIDPARAMETER: Invalid connection handle or request field. + * MSG_BUFFER_NOT_AVAIL: No HCI buffer is available. + * bleNotConnected: Connection is down. + * blePending: A response is pending with this server. + * bleMemAllocError: Memory allocation error occurred. + * bleTimeout: Previous transaction timed out. + */ +extern bStatus_t GATT_WriteLongCharValue( uint16_t connHandle, attPrepareWriteReq_t *pReq, uint8_t taskId ); + +/** + * @brief This sub-procedure is used to write a Characteristic Value to + * a server when the client knows the Characteristic Value Handle, + * and assurance is required that the correct Characteristic Value + * is going to be written by transferring the Characteristic Value + * to be written in both directions before the write is performed. + * This sub-procedure can also be used when multiple values must + * be written, in order, in a single operation. + * + * The sub-procedure has two phases, the first phase prepares the + * characteristic values to be written. Once this is complete, + * the second phase performs the execution of all of the prepared + * characteristic value writes on the server from this client. + * + * In the first phase, the ATT Prepare Write Request is used. + * In the second phase, the attribute protocol Execute Write + * Request is used. + * + * If the return status from this function is SUCCESS, the calling + * application task will receive multiple tmos GATT_MSG_EVENT messages. + * The type of the messages will be either ATT_PREPARE_WRITE_RSP, + * ATT_EXECUTE_WRITE_RSP or ATT_ERROR_RSP (if an error occurred on + * the server). + * + * @note This sub-procedure is complete when either ATT_PREPARE_WRITE_RSP + * (with bleTimeout status), ATT_EXECUTE_WRITE_RSP + * (with SUCCESS or bleTimeout status), or ATT_ERROR_RSP + * (with SUCCESS status) is received by the calling application task. + * + * @note The 'pReqs' pointer will be freed when the sub-procedure is complete. + * + * @param connHandle - connection to use + * @param pReqs - pointer to requests to be sent + * @param numReqs - number of requests in pReq + * @param flags - execute write request flags + * @param taskId - task to be notified of response + * + * @return SUCCESS: Request was sent successfully. + * INVALIDPARAMETER: Invalid connection handle or request field. + * MSG_BUFFER_NOT_AVAIL: No HCI buffer is available. + * bleNotConnected: Connection is down. + * blePending: A response is pending with this server. + * bleMemAllocError: Memory allocation error occurred. + * bleTimeout: Previous transaction timed out. + */ +extern bStatus_t GATT_ReliableWrites( uint16_t connHandle, attPrepareWriteReq_t *pReqs, uint8_t numReqs, + uint8_t flags, uint8_t taskId ); + +/** + * @brief This sub-procedure is used to read a characteristic descriptor + * from a server when the client knows the characteristic descriptor + * declaration's Attribute handle. + * + * The ATT Read Request is used for this sub-procedure. The Read + * Request is used with the Attribute Handle parameter set to the + * characteristic descriptor handle. The Read Response returns the + * characteristic descriptor value in the Attribute Value parameter. + * + * If the return status from this function is SUCCESS, the calling + * application task will receive an tmos GATT_MSG_EVENT message. + * The type of the message will be either ATT_READ_RSP or + * ATT_ERROR_RSP (if an error occurred on the server). + * + * @note This sub-procedure is complete when either ATT_READ_RSP + * (with SUCCESS or bleTimeout status) or ATT_ERROR_RSP + * (with SUCCESS status) is received by the calling application task. + * + * @param connHandle - connection to use + * @param pReq - pointer to request to be sent + * @param taskId - task to be notified of response + * + * @return SUCCESS: Request was sent successfully. + * INVALIDPARAMETER: Invalid connection handle or request field. + * MSG_BUFFER_NOT_AVAIL: No HCI buffer is available. + * bleNotConnected: Connection is down. + * blePending: A response is pending with this server. + * bleMemAllocError: Memory allocation error occurred. + * bleTimeout: Previous transaction timed out. + */ +extern bStatus_t GATT_ReadCharDesc( uint16_t connHandle, attReadReq_t *pReq, uint8_t taskId ); + +/** + * @brief This sub-procedure is used to read a characteristic descriptor + * from a server when the client knows the characteristic descriptor + * declaration's Attribute handle and the length of the characteristic + * descriptor declaration is longer than can be sent in a single Read + * Response attribute protocol message. + * + * The ATT Read Blob Request is used to perform this sub-procedure. + * The Attribute Handle parameter shall be set to the characteristic + * descriptor handle. The Value Offset parameter shall be the offset + * within the characteristic descriptor to be read. + * + * If the return status from this function is SUCCESS, the calling + * application task will receive multiple tmos GATT_MSG_EVENT messages. + * The type of the messages will be either ATT_READ_BLOB_RSP or + * ATT_ERROR_RSP (if an error occurred on the server). + * + * @note This sub-procedure is complete when either ATT_READ_BLOB_RSP + * (with bleProcedureComplete or bleTimeout status) or ATT_ERROR_RSP + * (with SUCCESS status) is received by the calling application task. + * + * @param connHandle - connection to use + * @param pReq - pointer to request to be sent + * @param taskId - task to be notified of response + * + * @return SUCCESS: Request was sent successfully. + * INVALIDPARAMETER: Invalid connection handle or request field. + * MSG_BUFFER_NOT_AVAIL: No HCI buffer is available. + * bleNotConnected: Connection is down. + * blePending: A response is pending with this server. + * bleMemAllocError: Memory allocation error occurred. + * bleTimeout: Previous transaction timed out. + */ +extern bStatus_t GATT_ReadLongCharDesc( uint16_t connHandle, attReadBlobReq_t *pReq, uint8_t taskId ); + +/** + * @brief This sub-procedure is used to write a characteristic + * descriptor value to a server when the client knows the + * characteristic descriptor handle. + * + * The ATT Write Request is used for this sub-procedure. The + * Attribute Handle parameter shall be set to the characteristic + * descriptor handle. The Attribute Value parameter shall be + * set to the new characteristic descriptor value. + * + * If the return status from this function is SUCCESS, the calling + * application task will receive an tmos GATT_MSG_EVENT message. + * The type of the message will be either ATT_WRITE_RSP + * or ATT_ERROR_RSP (if an error occurred on the server). + * + * @note This sub-procedure is complete when either ATT_WRITE_RSP + * (with SUCCESS or bleTimeout status) or ATT_ERROR_RSP + * (with SUCCESS status) is received by the calling application task. + * + * @param connHandle - connection to use + * @param pReq - pointer to request to be sent + * @param taskId - task to be notified of response + * + * @return SUCCESS: Request was sent successfully. + * INVALIDPARAMETER: Invalid connection handle or request field. + * MSG_BUFFER_NOT_AVAIL: No HCI buffer is available. + * bleNotConnected: Connection is down. + * blePending: A response is pending with this server. + * bleMemAllocError: Memory allocation error occurred. + * bleTimeout: Previous transaction timed out. + */ +extern bStatus_t GATT_WriteCharDesc( uint16_t connHandle, attWriteReq_t *pReq, uint8_t taskId ); + +/** + * @brief This sub-procedure is used to write a Characteristic Value to + * a server when the client knows the Characteristic Value Handle + * but the length of the Characteristic Value is longer than can + * be sent in a single Write Request Attribute Protocol message. + * + * The ATT Prepare Write Request and Execute Write Request are + * used to perform this sub-procedure. + * + * If the return status from this function is SUCCESS, the calling + * application task will receive multiple tmos GATT_MSG_EVENT messages. + * The type of the messages will be either ATT_PREPARE_WRITE_RSP, + * ATT_EXECUTE_WRITE_RSP or ATT_ERROR_RSP (if an error occurred on + * the server). + * + * @note This sub-procedure is complete when either ATT_PREPARE_WRITE_RSP + * (with bleTimeout status), ATT_EXECUTE_WRITE_RSP + * (with SUCCESS or bleTimeout status), or ATT_ERROR_RSP + * (with SUCCESS status) is received by the calling application task. + * + * @note The 'pReq->pValue' pointer will be freed when the sub-procedure is complete. + * + * @param connHandle - connection to use + * @param pReq - pointer to request to be sent + * @param taskId - task to be notified of response + * + * @return SUCCESS: Request was sent successfully. + * INVALIDPARAMETER: Invalid connection handle or request field.v + * MSG_BUFFER_NOT_AVAIL: No HCI buffer is available. + * bleNotConnected: Connection is down. + * blePending: A response is pending with this server. + * bleMemAllocError: Memory allocation error occurred. + * bleTimeout: Previous transaction timed out. + */ +extern bStatus_t GATT_WriteLongCharDesc( uint16_t connHandle, attPrepareWriteReq_t *pReq, uint8_t taskId ); + +/** + * @brief GATT implementation of the allocator functionality. + * + * @note This function should only be called by GATT and the upper layer protocol/application. + * + * @param connHandle - connection that message is to be sent on. + * @param opcode - opcode of message that buffer to be allocated for. + * @param size - number of bytes to allocate from the heap. + * @param pSizeAlloc - number of bytes allocated for the caller from the heap. + * @param flag - . + * + * @return pointer to the heap allocation; NULL if error or failure. + */ +extern void *GATT_bm_alloc( uint16_t connHandle, uint8_t opcode, uint16_t size, uint16_t *pSizeAlloc, uint8_t flag ); + +/** + * @brief GATT implementation of the de-allocator functionality. + * + * @param pMsg - pointer to GATT message containing the memory to free. + * @param opcode - opcode of the message + * + * @return none + */ +extern void GATT_bm_free( gattMsg_t *pMsg, uint8_t opcode ); + +/** + * @brief Register a service's attribute list and callback functions with + * the GATT Server Application. + * + * @param pAttrs - Array of attribute records to be registered + * @param numAttrs - Number of attributes in array + * @param encKeySize - Minimum encryption key size required by service (7-16 bytes) + * @param pServiceCBs - Service callback function pointers + * + * @return SUCCESS: Service registered successfully. + * INVALIDPARAMETER: Invalid service fields. + * FAILURE: Not enough attribute handles available. + * bleMemAllocError: Memory allocation error occurred. + * bleInvalidRange: Encryption key size's out of range. + */ +extern bStatus_t GATTServApp_RegisterService( gattAttribute_t *pAttrs, uint16_t numAttrs, + uint8_t encKeySize, gattServiceCBs_t *pServiceCBs ); + +/** + * @brief Add function for the GATT Service. + * + * @param services - services to add. This is a bit map and can + * contain more than one service. + * + * @return SUCCESS: Service added successfully. + * INVALIDPARAMETER: Invalid service field. + * FAILURE: Not enough attribute handles available. + * bleMemAllocError: Memory allocation error occurred. + */ +extern bStatus_t GATTServApp_AddService( uint32_t services ); + +/** + * @brief Deregister a service's attribute list and callback functions from + * the GATT Server Application. + * + * @note It's the caller's responsibility to free the service attribute + * list returned from this API. + * + * @param handle - handle of service to be deregistered + * @param p2pAttrs - pointer to array of attribute records (to be returned) + * + * @return SUCCESS: Service deregistered successfully. + * FAILURE: Service not found. + */ +extern bStatus_t GATTServApp_DeregisterService( uint16_t handle, gattAttribute_t **p2pAttrs ); + +/** + * @brief Initialize the client characteristic configuration table. + * + * @note Each client has its own instantiation of the ClientCharacteristic Configuration. + * Reads/Writes of the Client Characteristic Configuration only only affect the + * configuration of that client. + * + * @param connHandle - connection handle (0xFFFF for all connections). + * @param charCfgTbl - client characteristic configuration table. + * + * @return none + */ +extern void GATTServApp_InitCharCfg( uint16_t connHandle, gattCharCfg_t *charCfgTbl ); + +/** + * @brief Send out a Service Changed Indication. + * + * @param connHandle - connection to use + * @param taskId - task to be notified of confirmation + * + * @return SUCCESS: Indication was sent successfully. + * FAILURE: Service Changed attribute not found. + * INVALIDPARAMETER: Invalid connection handle or request field. + * MSG_BUFFER_NOT_AVAIL: No HCI buffer is available. + * bleNotConnected: Connection is down. + * blePending: A confirmation is pending with this client. + */ +extern bStatus_t GATTServApp_SendServiceChangedInd( uint16_t connHandle, uint8_t taskId ); + +/** + * @brief Read the client characteristic configuration for a given client. + * + * @note Each client has its own instantiation of the Client Characteristic Configuration. + * Reads of the Client Characteristic Configuration only shows the configuration + * for that client. + * + * @param connHandle - connection handle. + * @param charCfgTbl - client characteristic configuration table. + * + * @return attribute value + */ +extern uint16_t GATTServApp_ReadCharCfg( uint16_t connHandle, gattCharCfg_t *charCfgTbl ); + +/** + * @brief Write the client characteristic configuration for a given client. + * + * @note Each client has its own instantiation of the Client Characteristic Configuration. + * Writes of the Client Characteristic Configuration only only affect the + * configuration of that client. + * + * @param connHandle - connection handle. + * @param charCfgTbl - client characteristic configuration table. + * @param value - attribute new value. + * + * @return Success or Failure + */ +extern uint8_t GATTServApp_WriteCharCfg( uint16_t connHandle, gattCharCfg_t *charCfgTbl, uint16_t value ); + +/** + * @brief Process the client characteristic configuration + * write request for a given client. + * + * @param connHandle - connection message was received on. + * @param pAttr - pointer to attribute. + * @param pValue - pointer to data to be written. + * @param len - length of data. + * @param offset - offset of the first octet to be written. + * @param validCfg - valid configuration. + * + * @return Success or Failure + */ +extern bStatus_t GATTServApp_ProcessCCCWriteReq( uint16_t connHandle, gattAttribute_t *pAttr, + uint8_t *pValue, uint16_t len, uint16_t offset, uint16_t validCfg ); + +/** + * @brief Set a GAP GATT Server parameter. + * + * @param param - Profile parameter ID + * @param len - length of data to right + * @param value - pointer to data to write. This is dependent on + * the parameter ID and WILL be cast to the appropriate + * data type (example: data type of uint16_t will be cast to + * uint16_t pointer). + * + * @return bStatus_t + */ +extern bStatus_t GGS_SetParameter( uint8_t param, uint8_t len, void *value ); + +/** + * @brief Get a GAP GATT Server parameter. + * + * @param param - Profile parameter ID + * @param value - pointer to data to put. This is dependent on + * the parameter ID and WILL be cast to the appropriate + * data type (example: data type of uint16_t will be cast to + * uint16_t pointer). + * + * @return bStatus_t + */ +extern bStatus_t GGS_GetParameter( uint8_t param, void *value ); + +/** + * @brief Add function for the GAP GATT Service. + * + * @param services - services to add. This is a bit map and can + * contain more than one service. + * + * @return SUCCESS: Service added successfully. + * INVALIDPARAMETER: Invalid service field. + * FAILURE: Not enough attribute handles available. + * bleMemAllocError: Memory allocation error occurred. + */ +extern bStatus_t GGS_AddService( uint32_t services ); + +/*------------------------------------------------------------------- + * FUNCTIONS - Initialization and Configuration + */ + +/** + * @brief Set a GAP Parameter value. Use this function to change the default GAP parameter values. + * + * @param paramID - parameter ID: @ref GAP_PARAMETER_ID_DEFINES + * @param paramValue - new param value + * + * @return SUCCESS or INVALIDPARAMETER (invalid paramID) + */ +extern bStatus_t GAP_SetParamValue( uint16_t paramID, uint16_t paramValue ); + +/** + * @brief Get a GAP Parameter value. + * + * @param paramID - parameter ID: @ref GAP_PARAMETER_ID_DEFINES + * + * @return GAP Parameter value or 0xFFFF if invalid + */ +extern uint16_t GAP_GetParamValue( uint16_t paramID ); + +/** + * @brief Setup the device's address type. If ADDRTYPE_PRIVATE_RESOLVE is selected, + * the address will change periodically. + * + * @param addrType - @ref GAP_ADDR_TYPE_DEFINES + * @param pStaticAddr - Only used with ADDRTYPE_STATIC or ADDRTYPE_PRIVATE_NONRESOLVE type + * NULL to auto generate otherwise the application can specify the address value + * + * @return SUCCESS: address type updated, + * bleNotReady: Can't be called until GAP_DeviceInit() is called + * and the init process is completed + * bleIncorrectMode: can't change with an active connection,or INVALIDPARAMETER + * If return value isn't SUCCESS, the address type remains the same as before this call. + */ +extern bStatus_t GAP_ConfigDeviceAddr( uint8_t addrType, uint8_t *pStaticAddr ); + +/** + * @brief Resolves a private address against an IRK. + * + * @param(in) pIRK - pointer to the IRK + * @param(in) pAddr - pointer to the Resolvable Private address + * + * @param(out) pIRK + * @param(out) pAddr + * + * @return SUCCESS: match, + * FAILURE: don't match, + * INVALIDPARAMETER: parameters invalid + */ +extern bStatus_t GAP_ResolvePrivateAddr( uint8_t *pIRK, uint8_t *pAddr ); + +/** + * @brief Setup or change advertising and scan response data. + * + * @note if the return status from this function is SUCCESS,the task isn't complete + * until the GAP_ADV_DATA_UPDATE_DONE_EVENT is sent to the calling application task. + * + * @param taskID - task ID of the app requesting the change + * @param adType - TRUE - advertisement data, FALSE - scan response data + * @param dataLen - Octet length of advertData + * @param pAdvertData - advertising or scan response data + * + * @return SUCCESS: data accepted + * bleIncorrectMode: invalid profile role + */ +extern bStatus_t GAP_UpdateAdvertisingData( uint8_t taskID, uint8_t adType, uint16_t dataLen, uint8_t *pAdvertData ); + +/*------------------------------------------------------------------- + * FUNCTIONS - GAP Bond API + */ +/** + * @brief Set a GAP Bond Manager parameter. + * + * @note You can call this function with a GAP Parameter ID and it will set the GAP Parameter. + * + * @param param - Profile parameter ID: @ref GAPBOND_PROFILE_PARAMETERS + * @param len - length of data to write + * @param pValue - pointer to data to write. This is dependent on + * the parameter ID and WILL be cast to the appropriate + * data type (example: data type of uint16_t will be cast to + * uint16_t pointer). + * + * @return SUCCESS or INVALIDPARAMETER (invalid paramID) + */ +extern bStatus_t GAPBondMgr_SetParameter( uint16_t param, uint8_t len, void *pValue ); + +/** + * @brief Get a GAP Bond Manager parameter. + * + * @note You can call this function with a GAP Parameter ID and it will get a GAP Parameter. + * + * @param param - Profile parameter ID: @ref GAPBOND_PROFILE_PARAMETERS + * @param pValue - pointer to location to get the value. This is dependent on + * the parameter ID and WILL be cast to the appropriate data type. + * (example: data type of uint16_t will be cast to uint16_t pointer) + * + * @return SUCCESS or INVALIDPARAMETER (invalid paramID) + */ +extern bStatus_t GAPBondMgr_GetParameter( uint16_t param, void *pValue ); + +/** + * @brief Respond to a passcode request. + * + * @param connectionHandle - connection handle of the connected device or 0xFFFF if all devices in database. + * @param status - SUCCESS if passcode is available, otherwise see @ref SMP_PAIRING_FAILED_DEFINES. + * @param passcode - integer value containing the passcode. + * + * @return SUCCESS - bond record found and changed + * bleIncorrectMode - Link not found. + */ +extern bStatus_t GAPBondMgr_PasscodeRsp( uint16_t connectionHandle, uint8_t status, uint32_t passcode ); + +/** + * @brief Respond to a passcode request. + * + * @param connHandle - connection handle of the connected device or 0xFFFF if all devices in database. + * @param status - SUCCESS if oob data is available, otherwise see @ref SMP_PAIRING_FAILED_DEFINES. + * @param oob - containing the oob data. + * @param c_peer - containing the peer confirm. + * + * @return SUCCESS - bond record found and changed + * bleIncorrectMode - Link not found. + */ +extern bStatus_t GAPBondMgr_OobRsp( uint16_t connHandle, uint8_t status, uint8_t *oob, uint8_t * c_peer ); + +/** + * @brief Initialization function for the ecc-function callback. + * + * @param pEcc - callback registration Structure @ref gapEccCBs_t. + * + * @return null. + */ +extern void GAPBondMgr_EccInit( gapEccCBs_t *pEcc ); + +/** + * @brief Send a security request + * + * @param connHandle - connection handle + * + * @return SUCCESS: will send + * bleNotConnected: Link not found + * bleIncorrectMode: wrong GAP role, must be a Peripheral Role + */ +extern bStatus_t GAPBondMgr_PeriSecurityReq( uint16_t connHandle ); + +/*------------------------------------------------------------------- + * FUNCTIONS - GAPRole API + */ +/** + * @brief Set a GAP Role parameter. + * + * @note You can call this function with a GAP Parameter ID and it will set a GAP Parameter. + * + * @param param - Profile parameter ID: @ref GAPROLE_PROFILE_PARAMETERS + * @param len - length of data to write + * @param pValue - pointer to data to write. This is dependent on the parameter ID and + * WILL be cast to the appropriate data type (example: data type of uint16_t + * will be cast to uint16_t pointer). + * + * @return SUCCESS or INVALIDPARAMETER (invalid paramID) + */ +extern bStatus_t GAPRole_SetParameter( uint16_t param, uint16_t len, void *pValue ); + +/** + * @brief Get a GAP Role parameter. + * + * @note You can call this function with a GAP Parameter ID and it will get a GAP Parameter. + * + * @param param - Profile parameter ID: @ref GAPROLE_PROFILE_PARAMETERS + * @param pValue - pointer to location to get the value. This is dependent on + * the parameter ID and WILL be cast to the appropriate + * data type (example: data type of uint16_t will be cast to + * uint16_t pointer). + * + * @return SUCCESS or INVALIDPARAMETER (invalid paramID) + */ +extern bStatus_t GAPRole_GetParameter( uint16_t param, void *pValue ); + +/** + * @brief Terminates the existing connection. + * + * @return SUCCESS or bleIncorrectMode + */ +extern bStatus_t GAPRole_TerminateLink( uint16_t connHandle ); + +/** + * @brief Read Rssi Cmd. + * + * @param connHandle - connection handle + * + * @return bStatus_t: HCI Error Code. + * + */ +extern bStatus_t GAPRole_ReadRssiCmd( uint16_t connHandle ); + +/** + * @brief used to synchronize with a periodic advertising train from an advertiser and + * begin receiving periodic advertising packets. + * + * @param pSync - sync parameters@ gapCreateSync_t + * + * @return bStatus_t: HCI Error Code. + * + */ +extern bStatus_t GAPRole_CreateSync( gapCreateSync_t *pSync ); + +/** + * @brief used to cancel the HCI_LE_Periodic_Advertising_Create_Sync command while + * it is pending. + * + * @param None. + * + * @return bStatus_t: HCI Error Code. + * + */ +extern bStatus_t GAPRole_CancelSync( void ); + +/** + * @brief used to stop reception of the periodic advertising train identified + * by the Sync_Handle parameter. + * + * @param syncHandle-identifying the periodic advertising train + * + * @return bStatus_t: HCI Error Code. + * + */ +extern bStatus_t GAPRole_TerminateSync( uint16_t syncHandle ); + +/** + * @brief used to instruct the Controller to send synchronization information about the periodic + * advertising in an advertising set to a connected device. + * + * @param pSync - sync parameters@ gapSyncTransferParam_t + * + * @return bStatus_t: HCI Error Code. + * + */ +extern bStatus_t GAPRole_SyncTransferParameters( gapSyncTransferParam_t *pSync ); + +/** + * @brief used to instruct the Controller to send synchronization information about the periodic + * advertising train identified by the Sync_Handle parameter to a connected device. + * + * @param pSync - sync parameters@ gapSyncTransferSync_t + * + * @return bStatus_t: HCI Error Code. + * + */ +extern bStatus_t GAPRole_SyncTransferSync( gapSyncTransferSync_t *pSync ); + +/** + * @brief used to instruct the Controller to send synchronization information about the periodic + * advertising in an advertising set to a connected device. + * + * @param pSync - sync parameters@ gapSyncTransferAdvertising_t + * + * @return bStatus_t: HCI Error Code. + * + */ +extern bStatus_t GAPRole_SyncTransferAdvertising( gapSyncTransferAdvertising_t *pSync ); + +/** + * @brief Update the link connection parameters. + * + * @param connHandle - connection handle + * @param connIntervalMin - minimum connection interval in 1.25ms units + * @param connIntervalMax - maximum connection interval in 1.25ms units + * @param connLatency - number of LL latency connection events + * @param connTimeout - connection timeout in 10ms units + * + * @return SUCCESS: Connection update started started. + * bleIncorrectMode: No connection to update. + */ +extern bStatus_t GAPRole_UpdateLink( uint16_t connHandle, uint16_t connIntervalMin, + uint16_t connIntervalMax, uint16_t connLatency, uint16_t connTimeout ); + +/** + * @brief Update the connection phy. + * + * @param connHandle - connection handle + * @param all_phys - a bit field that allows the Host to specify, for each direction + * set BIT0:The Host has no preference among the transmitter PHYs supported by the Controller + * set BIT1:The Host has no preference among the receiver PHYs supported by the Controller + * @param tx_phys - a bit field that indicates the transmitter PHYs.(GAP_PHY_BIT_TYPE) + * @param rx_phys - a bit field that indicates the receiver PHYs.(GAP_PHY_BIT_TYPE) + * @param phy_options - resv + * + * @return SUCCESS: PHY update started started . + * bleIncorrectMode: No connection to update. + */ +extern bStatus_t GAPRole_UpdatePHY( uint16_t connHandle, uint8_t all_phys, uint8_t tx_phys,\ + uint8_t rx_phys, uint16_t phy_options ); + +/** + * @brief used to allow the Host to specify the privacy mode to be used for a given entry on the resolving list. + * + * @note This command shall not be used when address resolution is enabled in the Controller and: + * Advertising (other than periodic advertising) is enabled, + * Scanning is enabled, or + * an GAPRole_CentralEstablishLink, or GAPRole_CreateSync command is pending. + * + * @param addrTypePeer - 0x00:Public Identity Address 0x01:Random (static) Identity Address + * @param peerAddr - Public Identity Address or Random (static) Identity Address of the advertiser + * @param privacyMode - 0x00:Use Network Privacy Mode for this peer device (default) + * 0x01:Use Device Privacy Mode for this peer device + * + * @return Command Status. + * + */ +extern bStatus_t GAPRole_SetPrivacyMode( uint8_t addrTypePeer, uint8_t *peerAddr, uint8_t privacyMode ); + +/** + * @brief used to set the path loss threshold reporting parameters. + * + * @param pParm - set path loss parameters@ gapRoleSetPathLossReporting_t + * + * @return Command Status. + * + */ +extern bStatus_t GAPRole_SetPathLossReporting( gapRoleSetPathLossReporting_t *pParm ); + +/** + * @brief used to set power level management. + * + * @param pParm - set power level parameters@ gapRolePowerlevelManagement_t + * + * @return Command Status. + * + */ +extern bStatus_t GAPRole_SetPowerlevel( gapRolePowerlevelManagement_t *pParm ); + +/** + * @brief used to set the parameters for pawr advertising.. + * + * @param pParm - set pawr parameters@ gapPawrSetParam_t + * + * @return Command Status. + * + */ +extern bStatus_t GAPPawr_SetParameters( gapPawrSetParam_t *pParm ); + +/** + * @brief used to set the data for one or more subevents of PAwR in reply to an + * HCI_LE_Periodic_Advertising_Subevent_Data_Request event. + * + * @param advHandle - advertising handle + * @param numSubevents - the number of subevent data contained in the parameter arrays. + * @param pParm - The arrayed parameter @ gapPawrSetResponseData_t + * + * @return Command Status. + * + */ +extern bStatus_t GAPPawr_SetSubeventData( uint8_t advHandle, uint8_t numSubevents, gapPawrSetData_t *pParm ); + +/** + * @brief used by the Host to set the data for a response slot in a specific subevent + * of the PAwR identified by the Sync_Handle. + * + * @param pParm - The parameter @ gapPawrSetResponseData_t + * + * @return Command Status. + * + */ +extern bStatus_t GAPPawr_SetResponseData( gapPawrSetResponseData_t *pParm ); + +/** + * @brief used to create an ACL connection between a periodic advertiser and a synchronized device. + * + * @param pParm - The parameter @ gapPawrCreateConnection_t + * + * @return Command Status. + * + */ +extern bStatus_t GAPPawr_CreatConnection( gapPawrCreateConnection_t *pParm ); + +/*------------------------------------------------------------------- + * FUNCTIONS - BROADCASTER_PROFILE_API Broadcaster Profile API + */ +/** + * + * @brief Initialization function for the GAP Role Task. + * + * @param None. + * + * @return SUCCESS,bleInvalidRange + */ +extern bStatus_t GAPRole_BroadcasterInit( void ); + +/** + * @brief Does the device initialization. Only call this function once. + * + * @param pAppCallbacks - pointer to application callbacks. + * + * @return SUCCESS or bleAlreadyInRequestedMode + */ +extern bStatus_t GAPRole_BroadcasterStartDevice( gapRolesBroadcasterCBs_t *pAppCallbacks ); + +/** + * @brief Does the Broadcaster receive scan request call initialization. + * + * @param pAppCallbacks - pointer to application callbacks. + * + * @return None + */ +extern void GAPRole_BroadcasterSetCB( gapRolesBroadcasterCBs_t *pAppCallbacks ); + +/*------------------------------------------------------------------- + * FUNCTIONS - OBSERVER_PROFILE_API Observer Profile API + */ +/** + * @internal + * + * @brief Observer Profile Task initialization function. + * + * @param None. + * + * @return SUCCESS,bleInvalidRange + */ +extern bStatus_t GAPRole_ObserverInit( void ); + +/** + * @brief Start the device in Observer role. This function is typically + * called once during system startup. + * + * @param pAppCallbacks - pointer to application callbacks + * + * @return SUCCESS: Operation successful. + * bleAlreadyInRequestedMode: Device already started. + */ +extern bStatus_t GAPRole_ObserverStartDevice( gapRoleObserverCB_t *pAppCallbacks ); + +/** + * @brief Start a device discovery scan. + * + * @param mode - discovery mode: @ref GAP_DEVDISC_MODE_DEFINES + * @param activeScan - TRUE to perform active scan + * @param whiteList - TRUE to only scan for devices in the white list + * + * @return SUCCESS: Discovery scan started. + * bleIncorrectMode: Invalid profile role. + * bleAlreadyInRequestedMode: Not available. + */ +extern bStatus_t GAPRole_ObserverStartDiscovery( uint8_t mode, uint8_t activeScan, uint8_t whiteList ); + +/** + * @brief Cancel a device discovery scan. + * + * @return SUCCESS: Cancel started. + * bleInvalidTaskID: Not the task that started discovery. + * bleIncorrectMode: Not in discovery mode. + */ +extern bStatus_t GAPRole_ObserverCancelDiscovery( void ); + +/*------------------------------------------------------------------- + * FUNCTIONS - PERIPHERAL_PROFILE_API Peripheral Profile API + */ +/** + * @internal + * + * @brief Initialization function for the GAP Role Task. + * This is called during initialization and should contain + * any application specific initialization (ie. hardware + * initialization/setup, table initialization, power up + * notificaiton ... ). + * + * @param None. + * + * @return SUCCESS,bleInvalidRange + */ +extern bStatus_t GAPRole_PeripheralInit( void ); + +/** + * @brief Does the device initialization. Only call this function once. + * + * @param pAppCallbacks - pointer to application callbacks. + * + * @return SUCCESS or bleAlreadyInRequestedMode + */ +extern bStatus_t GAPRole_PeripheralStartDevice( uint8_t taskid, gapBondCBs_t *pCB, gapRolesCBs_t *pAppCallbacks ); + +/** + * @brief Update the parameters of an existing connection + * + * @param connHandle - the connection Handle + * @param connIntervalMin - minimum connection interval in 1.25ms units + * @param connIntervalMax - maximum connection interval in 1.25ms units + * @param latency - the new slave latency + * @param connTimeout - the new timeout value + * @param taskId - taskID will recv L2CAP_SIGNAL_EVENT message + * + * @return SUCCESS, bleNotConnected or bleInvalidRange + */ +extern bStatus_t GAPRole_PeripheralConnParamUpdateReq( uint16_t connHandle, uint16_t connIntervalMin, + uint16_t connIntervalMax, uint16_t latency, uint16_t connTimeout, uint8_t taskId ); + +/*------------------------------------------------------------------- + * FUNCTIONS - CENTRAL_PROFILE_API Central Profile API + */ +/** + * @internal + * + * @brief Central Profile Task initialization function. + * + * @param None. + * + * @return SUCCESS,bleInvalidRange + */ +extern bStatus_t GAPRole_CentralInit( void ); + +/** + * @brief Start the device in Central role. This function is typically + * called once during system startup. + * + * @param pAppCallbacks - pointer to application callbacks + * + * @return SUCCESS: Operation successful. + * bleAlreadyInRequestedMode: Device already started. + */ +extern bStatus_t GAPRole_CentralStartDevice( uint8_t taskid, gapBondCBs_t *pCB, gapCentralRoleCB_t *pAppCallbacks ); + +/** + * @brief Start a device discovery scan. + * + * @param mode - discovery mode: @ref GAP_DEVDISC_MODE_DEFINES + * @param activeScan - TRUE to perform active scan + * @param whiteList - TRUE to only scan for devices in the white list + * + * @return SUCCESS: Discovery scan started. + * bleIncorrectMode: Invalid profile role. + * bleAlreadyInRequestedMode: Not available. + */ +extern bStatus_t GAPRole_CentralStartDiscovery( uint8_t mode, uint8_t activeScan, uint8_t whiteList ); + +/** + * @brief Cancel a device discovery scan. + * + * @return SUCCESS: Cancel started. + * bleInvalidTaskID: Not the task that started discovery. + * bleIncorrectMode: Not in discovery mode. + */ +extern bStatus_t GAPRole_CentralCancelDiscovery( void ); + +/** + * @brief This API is called by the Central to update the Host data channels + * initiating an Update Data Channel control procedure. + * + * @note While it isn't specified,it is assumed that the Host expects an + * update channel map on all active connections and periodic advertise. + * + * input parameters + * + * @param chanMap - A five byte array containing one bit per data channel + * where a 1 means the channel is "used". + * + * @return SUCCESS + */ +extern void GAPRole_SetHostChanClassification( uint8_t *chanMap ); + +/** + * @brief Establish a link to a peer device. + * + * @param highDutyCycle - TRUE to high duty cycle scan, FALSE if not + * @param whiteList - determines use of the white list: TRUE-enable + * @param addrTypePeer - address type of the peer device: @ref GAP_ADDR_TYPE_DEFINES + * @param peerAddr - peer device address + * + * @return SUCCESS: started establish link process. + * bleIncorrectMode: invalid profile role. + * bleNotReady: a scan is in progress. + * bleAlreadyInRequestedMode: can't process now. + * bleNoResources: too many links. + */ +extern bStatus_t GAPRole_CentralEstablishLink( uint8_t highDutyCycle, uint8_t whiteList, uint8_t addrTypePeer, uint8_t *peerAddr ); + +/*------------------------------------------------------------------- + * FUNCTIONS - RF_PHY Profile API + */ + +/** + * @brief RF_PHY Profile Task initialization function. + * + * @param None. + * + * @return 0 - success. + */ +extern bStatus_t RF_RoleInit( void ); + +/** + * @brief rf config. + * + * @param pConfig - rf config parameters + * + * @return 0 - success. + */ +extern bStatus_t RF_Config( rfConfig_t *pConfig ); + +/** + * @brief rx mode. + * + * @param txBuf - rx mode tx data + * @param txLen - rx mode tx length(0-251) + * @param pktRxType - rx mode rx package type + * broadcast type(0xFF):receive all matching types, + * others:receive match type or broadcast type + * @param pktTxType - rx mode tx package type(auto mode) + * broadcast type(0xFF):received by all matching types; + * others:only received by matching type + * + * @return 0 - success. 1-access address error 2-busy + */ +extern bStatus_t RF_Rx( uint8_t *txBuf, uint8_t txLen, uint8_t pktRxType, uint8_t pktTxType ); + +/** + * @brief tx mode. + * + * @param txBuf - tx mode tx data + * @param txLen - tx mode tx length(0-251) + * @param pktTxType - tx mode tx package type + * broadcast type(0xFF):received by all matching types; + * others:only received by matching type + * @param pktRxType - tx mode rx package type(auto mode) + * broadcast type(0xFF):receive all matching types, + * others:receive match type or broadcast type + * + * @return 0 - success. 1-access address error 2-busy + */ +extern bStatus_t RF_Tx( uint8_t *txBuf, uint8_t txLen, uint8_t pktTxType, uint8_t pktRxType ); + +/** + * @brief shut down,stop tx/rx mode. + * + * @param None. + * + * @return 0 - success. + */ +extern bStatus_t RF_Shut( void ); + +/** + * @brief rf mode set radio channel/frequency. + * + * @param channel. + * + * @return 0 - success. + */ +extern void RF_SetChannel( uint32_t channel ); + +/** + * @brief rf mode set radio frequency and whitening channel index + * note: LLEMode bit6 set 1 + * + * @param frequency - + * @param ch - the whitening channel index + * + * @return 0 - success. + */ +extern bStatus_t RF_SetFrequency( uint32_t frequency, uint8_t ch ); + +/** + * @brief shut down rf frequency hopping + * + * @param None. + * + * @return None. + */ +extern void RF_FrequencyHoppingShut( void ); + +/** + * @brief + * + * @param resendCount - Maximum count of sending HOP_TX pdu,0 = unlimited. + * + * @return 0 - success. + */ +extern uint8_t RF_FrequencyHoppingTx( uint8_t resendCount ); + +/** + * @brief + * + * @param timeoutMS - Maximum time to wait for receiving HOP_TX pdu(Time = n * 1mSec),0 = unlimited. + * + * @return 0 - success.1-fail.2-LLEMode error(shall AUTO) + */ +extern uint8_t RF_FrequencyHoppingRx( uint32_t timeoutMS ); + +/** + * @brief Erase FH bonded device + * + * @param None. + * + * @return None. + */ +extern void RF_BondingErase( void ); + +/** + * @brief single channel mode. + * + * @param ch - rf channel,f=2402+ch*2 MHz, ch=0,...,39 + * + * @return 0 - success. + */ +extern bStatus_t LL_SingleChannel( uint8_t ch ); + +/** + * @brief used to stop any test which is in progress. + * + * @param(in) pPktNum - null + * + * @param(out) the number of received packets. + * + * @return 0 - success. + */ +extern bStatus_t LL_TestEnd( uint8_t *pPktNum ); + +/** + * @brief used to start a test where the DUT receives test reference packets at a fixed interval + * + * input parameters + * + * @param opcode = 0x201D + * pParm0 - RX_Channel + * + * opcode = 0x2033 + * pParm0 - RX_Channel + * pParm1 - PHY + * pParm2 - Modulation_Index + * + * @return 0 - success. + */ +extern bStatus_t API_LE_ReceiverTestCmd( uint8_t *pParm, uint16_t opcode ); + +/** + * @brief used to start a test where the DUT generates test reference packets at a fixed interval + * + * @param opcode = 0x201E + * pParm 0 - TX_Channel + * pParm 1 - Test_Data_Length + * pParm 2 - Packet_Payload + * + * opcode = 0x2034 + * pParm 0 - TX_Channel + * pParm 1 - Test_Data_Length + * pParm 2 - Packet_Payload + * pParm 3 - PHY + * + * @return 0 - success. + */ +extern bStatus_t API_LE_TransmitterTestCmd( uint8_t *pParm, uint16_t opcode ); + +/** + * @brief used to stop any test which is in progress + * + * @param None + * + * @return 0 - success. + */ +extern bStatus_t API_LE_TestEndCmd( void ); + +/** + * @brief resv + * + * @param None + * + * @return None. + */ +extern void RFEND_SetSensitivity( void ); + +/** + * @brief used to set rf TxCtune value + * + * @param pParm(in) - Must provide length of parameter followed by 6 bytes parameter + * + * @return Command Status. + */ +extern bStatus_t RFEND_TXCtuneSet( uint8_t *pParm ); + +/** + * @brief used to get rf TxCtune value + * + * @param pParm(out) - length of parameter(6) followed by 6 bytes parameter + * + * @return Command Status. + */ +extern bStatus_t RFEND_TXCtuneGet( uint8_t *pParm ); + +/* + * END @ Profile API + */ +/******************************************************************************/ +#ifdef __cplusplus +} +#endif + +#endif diff --git a/system/LIB/CH58xBLE_ROM.h b/system/LIB/CH58xBLE_ROM.h new file mode 100644 index 0000000..be0c0b9 --- /dev/null +++ b/system/LIB/CH58xBLE_ROM.h @@ -0,0 +1,4936 @@ +/********************************** (C) COPYRIGHT ****************************** + * File Name : CH58xBLE_ROM.H + * Author : WCH + * Version : v1.40 + * Date : 2025/02/07 + * Description : head file(ch585/ch584) + * Address Space + * CODE: 00040000H - 0006FFFFH 192K + * DATA: 20000000H - 20004FFFH 20K + * + * Copyright (c) 2023 Nanjing Qinheng Microelectronics Co., Ltd. + * Attention: This software (modified or not) and binary are used for + * microcontroller manufactured by Nanjing Qinheng Microelectronics. + *******************************************************************************/ + + +/******************************************************************************/ +#ifndef __CH58xBLE_ROM_H +#define __CH58xBLE_ROM_H + +#ifdef __cplusplus +extern "C" +{ +#endif +#include "stdint.h" + + +#ifndef BOOL +typedef uint8_t BOOL; +#endif +#ifndef TRUE + #define TRUE 1 +#endif +#ifndef FALSE + #define FALSE 0 +#endif +#ifndef NULL + #define NULL 0 +#endif +#ifndef SUCCESS +#define SUCCESS 0x00 +#endif +#ifndef bStatus_t +typedef uint8_t bStatus_t; +#endif +#ifndef tmosTaskID +typedef uint8_t tmosTaskID; +#endif +#ifndef tmosEvents +typedef uint16_t tmosEvents; +#endif +#ifndef tmosTimer +typedef uint32_t tmosTimer; +#endif +#ifndef tmosSnvId_t +typedef uint16_t tmosSnvId_t; +#endif +#ifndef tmosSnvLen_t +typedef uint16_t tmosSnvLen_t; +#endif + +// Define function type that generate a random seed callback +typedef uint32_t (*pfnSrandCB)( void ); +// Define function type that switch to idle mode callback +typedef uint32_t (*pfnIdleCB)( uint32_t ); +// Define function type that run LSI clock calibration callback +typedef void (*pfnLSICalibrationCB)( void ); +// Define function type that get temperature callback +typedef uint16_t (*pfnTempSampleCB)( void ); +// Define function type that connect/advertise event complete callback. +typedef void (*pfnEventCB)( uint32_t timeUs ); +// Define function type that library status callback. +typedef void (*pfnLibStatusErrorCB)( uint8_t code, uint32_t status ); +// Define function type that process event +typedef tmosEvents (*pTaskEventHandlerFn)( tmosTaskID taskID, tmosEvents event ); +// Define function type that read flash +typedef uint32_t (*pfnFlashReadCB)( uint32_t addr, uint32_t num, uint32_t *pBuf ); +// Define function type that write flash +typedef uint32_t (*pfnFlashWriteCB)( uint32_t addr, uint32_t num, uint32_t *pBuf ); +// Define function type that get system clock count +typedef uint32_t (*pfnGetSysClock)( void ); +// Define function type that enable/disable system clock interrupt +typedef void (*pfnSetSysClockIRQ)( void ); +// Define function type that change the timer trigger value +typedef void (*pfnSetSysClockTign)( int32_t val ); + +/* BLE library config struct */ +typedef struct tag_ble_config +{ + uint32_t MEMAddr; // library memory start address + uint16_t MEMLen; // library memory size + uint32_t SNVAddr; // SNV flash start address( if NULL,bonding information will not be saved ) + uint16_t SNVBlock; // SNV flash block size ( default 256 ) + uint8_t SNVNum; // SNV flash block number ( default 1 ) + uint8_t BufNumber; // Maximum number of sent and received packages cached by the controller( default 5 ) + // Must be greater than the number of connections. + uint16_t BufMaxLen; // Maximum length (in octets) of the data portion of each HCI data packet( default 27 ) + // SC enable,must be greater than 69 + // ATT_MTU = BufMaxLen-4,Range[23,ATT_MAX_MTU_SIZE] + uint8_t TxNumEvent; // Maximum number of TX data in a connection event ( default 1 ) + uint8_t RxNumEvent; // Maximum number of RX data in a connection event ( default equal to BufNumber ) + uint8_t TxPower; // Transmit power level( default LL_TX_PWR_0_DBM(0dBm) ) + uint8_t ConnectNumber; // Connect number,lower two bits are peripheral number,followed by central number + uint8_t PeripheralNumber; // peripheral number + uint8_t CentralNumber; // central number + uint8_t WindowWidening; // Wait rf start window(us) + uint8_t WaitWindow; // Wait event arrive window in one system clock + uint8_t MacAddr[6]; // MAC address,little-endian + pfnSrandCB srandCB; // Register a program that generate a random seed + pfnIdleCB idleCB; // Register a program that set idle + pfnTempSampleCB tsCB; // Register a program that read the current temperature,determine whether calibration is need + pfnLSICalibrationCB rcCB; // Register a program that LSI clock calibration + pfnLibStatusErrorCB staCB; // Register a program that library status callback + pfnFlashReadCB readFlashCB; // Register a program that read flash + pfnFlashWriteCB writeFlashCB; // Register a program that write flash +} bleConfig_t; // Library initialization call BLE_LibInit function + +/* BLE pa control config struct */ +typedef struct tag_ble_clock_config +{ + pfnGetSysClock getClockValue; + pfnSetSysClockIRQ SetPendingIRQ; + uint32_t ClockMaxCount; // The maximum count value + uint16_t ClockFrequency; // The timing clock frequency(Hz) + uint16_t ClockAccuracy; // The timing clock accuracy(ppm) + uint8_t irqEnable; // resv + + // RF-8K config + uint32_t Clock1Frequency; // RF-8K timing clock frequency(Hz) + pfnGetSysClock getClock1Value; + pfnSetSysClockIRQ SetClock1PendingIRQ; + pfnSetSysClockTign SetTign; +}bleClockConfig_t; + +/* BLE pa control config struct */ +typedef struct tag_ble_pa_control_config +{ + uint32_t txEnableGPIO; // tx enable gpio register + uint32_t txDisableGPIO; // tx disable gpio register + uint32_t tx_pin; // tx pin define + uint32_t rxEnableGPIO; // rx enable gpio register + uint32_t rxDisableGPIO; // rx disable gpio register + uint32_t rx_pin; // tx pin define +} blePaControlConfig_t; + +// defined for all task +#define SYS_EVENT_MSG (0x8000) // A message is waiting event +#define INVALID_TASK_ID 0xFF // Task ID isn't setup properly +#define TASK_NO_TASK 0xFF + +typedef struct +{ + uint8_t event; + uint8_t status; +} tmos_event_hdr_t; + +/********************************************************************* + * GLOBAL MACROS + */ +#define VER_FILE "CH585_BLE_LIB_V1.4" +extern const uint8_t VER_LIB[]; // LIB version +#define SYSTEM_TIME_MICROSEN 625 // unit of process event timer is 625us +#define MS1_TO_SYSTEM_TIME(x) ((x)*1000/SYSTEM_TIME_MICROSEN) // transform unit in ms to unit in 625us ( attentional bias ) +#define TMOS_TIME_VALID (30*1000*1000) // the maximum task time = RTC MAX clock - TMOS_TIME_VALID + +/* takes a byte out of a uint32_t : var - uint32_t, ByteNum - byte to take out (0 - 3) */ +#define BREAK_UINT32( var, ByteNum ) (uint8_t)((uint32_t)(((var) >>((ByteNum) * 8)) & 0x00FF)) +#define HI_UINT16(a) (((a) >> 8) & 0xFF) +#define LO_UINT16(a) ((a) & 0xFF) +#define HI_UINT8(a) (((a) >> 4) & 0x0F) +#define LO_UINT8(a) ((a) & 0x0F) +#define BUILD_UINT32(Byte0, Byte1, Byte2, Byte3) \ + ((uint32_t)(((uint32_t)(Byte0) & 0x00FF) \ + + (((uint32_t)(Byte1) & 0x00FF) << 8) \ + + (((uint32_t)(Byte2) & 0x00FF) << 16) \ + + (((uint32_t)(Byte3) & 0x00FF) << 24))) +#define BUILD_UINT16(loByte, hiByte) ((uint16_t)(((loByte) & 0x00FF)|(((hiByte) & 0x00FF)<<8))) + +#define ACTIVE_LOW ! +#define ACTIVE_HIGH !! // double negation forces result to be '1' + +#ifndef BV +#define BV(n) (1 << (n)) +#endif + +#ifndef BF +#define BF(x,b,s) (((x) & (b)) >> (s)) +#endif + +#ifndef MIN +#define MIN(n,m) (((n) < (m)) ? (n) : (m)) +#endif + +#ifndef MAX +#define MAX(n,m) (((n) < (m)) ? (m) : (n)) +#endif + +#ifndef ABS +#define ABS(n) (((n) < 0) ? -(n) : (n)) +#endif + +/* TxPower define(Accuracy:±2dBm) */ +#define LL_TX_PWR_MINUS_20_DBM 0x01 +#define LL_TX_PWR_MINUS_15_DBM 0x03 +#define LL_TX_PWR_MINUS_10_DBM 0x05 +#define LL_TX_PWR_MINUS_8_DBM 0x07 +#define LL_TX_PWR_MINUS_5_DBM 0x0B +#define LL_TX_PWR_MINUS_3_DBM 0x0F +#define LL_TX_PWR_MINUS_1_DBM 0x13 +#define LL_TX_PWR_0_DBM 0x15 +#define LL_TX_PWR_1_DBM 0x1B +#define LL_TX_PWR_2_DBM 0x23 +#define LL_TX_PWR_3_DBM 0x2B +#define LL_TX_PWR_4_DBM 0x3B + +/* ERR_LIB_INIT define */ +#define ERR_LLE_IRQ_HANDLE 0x01 +#define ERR_MEM_ALLOCATE_SIZE 0x02 +#define ERR_SET_MAC_ADDR 0x03 +#define ERR_GAP_ROLE_CONFIG 0x04 +#define ERR_CONNECT_NUMBER_CONFIG 0x05 +#define ERR_SNV_ADDR_CONFIG 0x06 +#define ERR_CLOCK_SELECT_CONFIG 0x07 + +//! Default Public and Random Address Length +#define B_ADDR_LEN 6 +//! Random Number Size +#define B_RANDOM_NUM_SIZE 8 +//! Default key length +#define KEYLEN 16 +#define PUBLIC_KEY_LEN 64 + +//! Maximum Advertising Packet Length +#define B_MAX_ADV_LEN 31 // maximum legacy advertising packet length +#define B_MAX_ADV_EXT_LEN 460 // maximum extended advertising packet length +#define B_MAX_ADV_PERIODIC_LEN 460 // maximum periodic advertising packet length + +#define FAILURE 0x01 //!< Failure +#define INVALIDPARAMETER 0x02 //!< Invalid request field +#define INVALID_TASK 0x03 //!< Task ID isn't setup properly +#define MSG_BUFFER_NOT_AVAIL 0x04 //!< No buffer is available. +#define INVALID_MSG_POINTER 0x05 //!< No message pointer. +#define INVALID_EVENT_ID 0x06 //!< Invalid event id. +#define INVALID_TIMEOUT 0x07 //!< Invalid timeout. +#define NO_TIMER_AVAIL 0x08 //!< No event is available. +#define NV_OPER_FAILED 0x0A //!< read a data item to NV failed. +#define INVALID_MEM_SIZE 0x0B //!< The tokens take up too much space and don't fit into Advertisement data and Scan Response Data + +/** BLE_STATUS_VALUES BLE Default BLE Status Values + * returned as bStatus_t + */ +#define bleInvalidTaskID INVALID_TASK //!< Task ID isn't setup properly +#define bleEecKeyRequestRejected 0x06 //!< key missing +#define bleNotReady 0x10 //!< Not ready to perform task +#define bleAlreadyInRequestedMode 0x11 //!< Already performing that task +#define bleIncorrectMode 0x12 //!< Not setup properly to perform that task +#define bleMemAllocError 0x13 //!< Memory allocation error occurred +#define bleNotConnected 0x14 //!< Can't perform function when not in a connection +#define bleNoResources 0x15 //!< There are no resource available +#define blePending 0x16 //!< Waiting +#define bleTimeout 0x17 //!< Timed out performing function +#define bleInvalidRange 0x18 //!< A parameter is out of range +#define bleLinkEncrypted 0x19 //!< The link is already encrypted +#define bleProcedureComplete 0x1A //!< The Procedure is completed +#define bleInvalidMtuSize 0x1B //!< SDU size is larger than peer MTU. + +/********************************LinkDB****************************************/ +// Special case connection handles +#define INVALID_CONNHANDLE 0xFFFF // Invalid connection handle, used for no connection handle +#define LOOPBACK_CONNHANDLE 0xFFFE // Loopback connection handle, used to loopback a message +// Link state flags +#define LINK_NOT_CONNECTED 0x00 // Link isn't connected +#define LINK_CONNECTED 0x01 // Link is connected +#define LINK_AUTHENTICATED 0x02 // Link is authenticated +#define LINK_BOUND 0x04 // Link is bonded +#define LINK_ENCRYPTED 0x10 // Link is encrypted +// Link Database Status callback changeTypes +#define LINKDB_STATUS_UPDATE_NEW 0 // New connection created +#define LINKDB_STATUS_UPDATE_REMOVED 1 // Connection was removed +#define LINKDB_STATUS_UPDATE_STATEFLAGS 2 // Connection state flag changed +/*******************************gattUUID***************************************/ +/** + * GATT Services + */ +#define GAP_SERVICE_UUID 0x1800 // Generic Access Profile +#define GATT_SERVICE_UUID 0x1801 // Generic Attribute Profile + +/** + * GATT Declarations + */ +#define GATT_PRIMARY_SERVICE_UUID 0x2800 // Primary Service +#define GATT_SECONDARY_SERVICE_UUID 0x2801 // Secondary Service +#define GATT_INCLUDE_UUID 0x2802 // Include +#define GATT_CHARACTER_UUID 0x2803 // Characteristic + +/** + * GATT Descriptors + */ +#define GATT_CHAR_EXT_PROPS_UUID 0x2900 // Characteristic Extended Properties +#define GATT_CHAR_USER_DESC_UUID 0x2901 // Characteristic User Description +#define GATT_CLIENT_CHAR_CFG_UUID 0x2902 // Client Characteristic Configuration +#define GATT_SERV_CHAR_CFG_UUID 0x2903 // Server Characteristic Configuration +#define GATT_CHAR_FORMAT_UUID 0x2904 // Characteristic Presentation Format +#define GATT_CHAR_AGG_FORMAT_UUID 0x2905 // Characteristic Aggregate Format +#define GATT_VALID_RANGE_UUID 0x2906 // Valid Range +#define GATT_EXT_REPORT_REF_UUID 0x2907 // External Report Reference Descriptor +#define GATT_REPORT_REF_UUID 0x2908 // Report Reference Descriptor + +/** + * GATT Characteristics + */ +#define DEVICE_NAME_UUID 0x2A00 // Device Name +#define APPEARANCE_UUID 0x2A01 // Appearance +#define PERI_PRIVACY_FLAG_UUID 0x2A02 // Peripheral Privacy Flag +#define RECONNECT_ADDR_UUID 0x2A03 // Reconnection Address +#define PERI_CONN_PARAM_UUID 0x2A04 // Peripheral Preferred Connection Parameters +#define SERVICE_CHANGED_UUID 0x2A05 // Service Changed +#define CENTRAL_ADDRESS_RESOLUTION_UUID 0x2AA6 // Central Address Resolution +#define RL_PRIVATE_ADDR_ONLY_UUID 0x2AC9 // Resolvable Private Address Only +#define ENC_DATA_KEY_MATERIAL_UUID 0x2B88 // Encrypted Data Key Material +#define LE_GATT_SEC_LEVELS_UUID 0x2BF5 // LE GATT Security Levels + +/** + * GATT Service UUIDs + */ +#define IMMEDIATE_ALERT_SERV_UUID 0x1802 // Immediate Alert +#define LINK_LOSS_SERV_UUID 0x1803 // Link Loss +#define TX_PWR_LEVEL_SERV_UUID 0x1804 // Tx Power +#define CURRENT_TIME_SERV_UUID 0x1805 // Current Time Service +#define REF_TIME_UPDATE_SERV_UUID 0x1806 // Reference Time Update Service +#define NEXT_DST_CHANGE_SERV_UUID 0x1807 // Next DST Change Service +#define GLUCOSE_SERV_UUID 0x1808 // Glucose +#define THERMOMETER_SERV_UUID 0x1809 // Health Thermometer +#define DEVINFO_SERV_UUID 0x180A // Device Information +#define NWA_SERV_UUID 0x180B // Network Availability +#define HEARTRATE_SERV_UUID 0x180D // Heart Rate +#define PHONE_ALERT_STS_SERV_UUID 0x180E // Phone Alert Status Service +#define BATT_SERV_UUID 0x180F // Battery Service +#define BLOODPRESSURE_SERV_UUID 0x1810 // Blood Pressure +#define ALERT_NOTIF_SERV_UUID 0x1811 // Alert Notification Service +#define HID_SERV_UUID 0x1812 // Human Interface Device +#define SCAN_PARAM_SERV_UUID 0x1813 // Scan Parameters +#define RSC_SERV_UUID 0x1814 // Running Speed and Cadence +#define CSC_SERV_UUID 0x1816 // Cycling Speed and Cadence +#define CYCPWR_SERV_UUID 0x1818 // Cycling Power +#define LOC_NAV_SERV_UUID 0x1819 // Location and Navigation + +/** + * GATT Characteristic UUIDs + */ +#define ALERT_LEVEL_UUID 0x2A06 // Alert Level +#define TX_PWR_LEVEL_UUID 0x2A07 // Tx Power Level +#define DATE_TIME_UUID 0x2A08 // Date Time +#define DAY_OF_WEEK_UUID 0x2A09 // Day of Week +#define DAY_DATE_TIME_UUID 0x2A0A // Day Date Time +#define EXACT_TIME_256_UUID 0x2A0C // Exact Time 256 +#define DST_OFFSET_UUID 0x2A0D // DST Offset +#define TIME_ZONE_UUID 0x2A0E // Time Zone +#define LOCAL_TIME_INFO_UUID 0x2A0F // Local Time Information +#define TIME_WITH_DST_UUID 0x2A11 // Time with DST +#define TIME_ACCURACY_UUID 0x2A12 // Time Accuracy +#define TIME_SOURCE_UUID 0x2A13 // Time Source +#define REF_TIME_INFO_UUID 0x2A14 // Reference Time Information +#define TIME_UPDATE_CTRL_PT_UUID 0x2A16 // Time Update Control Point +#define TIME_UPDATE_STATE_UUID 0x2A17 // Time Update State +#define GLUCOSE_MEAS_UUID 0x2A18 // Glucose Measurement +#define BATT_LEVEL_UUID 0x2A19 // Battery Level +#define TEMP_MEAS_UUID 0x2A1C // Temperature Measurement +#define TEMP_TYPE_UUID 0x2A1D // Temperature Type +#define IMEDIATE_TEMP_UUID 0x2A1E // Intermediate Temperature +#define MEAS_INTERVAL_UUID 0x2A21 // Measurement Interval +#define BOOT_KEY_INPUT_UUID 0x2A22 // Boot Keyboard Input Report +#define SYSTEM_ID_UUID 0x2A23 // System ID +#define MODEL_NUMBER_UUID 0x2A24 // Model Number String +#define SERIAL_NUMBER_UUID 0x2A25 // Serial Number String +#define FIRMWARE_REV_UUID 0x2A26 // Firmware Revision String +#define HARDWARE_REV_UUID 0x2A27 // Hardware Revision String +#define SOFTWARE_REV_UUID 0x2A28 // Software Revision String +#define MANUFACTURER_NAME_UUID 0x2A29 // Manufacturer Name String +#define IEEE_11073_CERT_DATA_UUID 0x2A2A // IEEE 11073-20601 Regulatory Certification Data List +#define CURRENT_TIME_UUID 0x2A2B // Current Time +#define SCAN_REFRESH_UUID 0x2A31 // Scan Refresh +#define BOOT_KEY_OUTPUT_UUID 0x2A32 // Boot Keyboard Output Report +#define BOOT_MOUSE_INPUT_UUID 0x2A33 // Boot Mouse Input Report +#define GLUCOSE_CONTEXT_UUID 0x2A34 // Glucose Measurement Context +#define BLOODPRESSURE_MEAS_UUID 0x2A35 // Blood Pressure Measurement +#define IMEDIATE_CUFF_PRESSURE_UUID 0x2A36 // Intermediate Cuff Pressure +#define HEARTRATE_MEAS_UUID 0x2A37 // Heart Rate Measurement +#define BODY_SENSOR_LOC_UUID 0x2A38 // Body Sensor Location +#define HEARTRATE_CTRL_PT_UUID 0x2A39 // Heart Rate Control Point +#define NETWORK_AVAIL_UUID 0x2A3E // Network Availability +#define ALERT_STATUS_UUID 0x2A3F // Alert Status +#define RINGER_CTRL_PT_UUID 0x2A40 // Ringer Control Point +#define RINGER_SETTING_UUID 0x2A41 // Ringer Setting +#define ALERT_CAT_ID_BMASK_UUID 0x2A42 // Alert Category ID Bit Mask +#define ALERT_CAT_ID_UUID 0x2A43 // Alert Category ID +#define ALERT_NOTIF_CTRL_PT_UUID 0x2A44 // Alert Notification Control Point +#define UNREAD_ALERT_STATUS_UUID 0x2A45 // Unread Alert Status +#define NEW_ALERT_UUID 0x2A46 // New Alert +#define SUP_NEW_ALERT_CAT_UUID 0x2A47 // Supported New Alert Category +#define SUP_UNREAD_ALERT_CAT_UUID 0x2A48 // Supported Unread Alert Category +#define BLOODPRESSURE_FEATURE_UUID 0x2A49 // Blood Pressure Feature +#define HID_INFORMATION_UUID 0x2A4A // HID Information +#define REPORT_MAP_UUID 0x2A4B // Report Map +#define HID_CTRL_PT_UUID 0x2A4C // HID Control Point +#define REPORT_UUID 0x2A4D // Report +#define PROTOCOL_MODE_UUID 0x2A4E // Protocol Mode +#define SCAN_INTERVAL_WINDOW_UUID 0x2A4F // Scan Interval Window +#define PNP_ID_UUID 0x2A50 // PnP ID +#define GLUCOSE_FEATURE_UUID 0x2A51 // Glucose Feature +#define RECORD_CTRL_PT_UUID 0x2A52 // Record Access Control Point +#define RSC_MEAS_UUID 0x2A53 // RSC Measurement +#define RSC_FEATURE_UUID 0x2A54 // RSC Feature +#define SC_CTRL_PT_UUID 0x2A55 // SC Control Point +#define CSC_MEAS_UUID 0x2A5B // CSC Measurement +#define CSC_FEATURE_UUID 0x2A5C // CSC Feature +#define SENSOR_LOC_UUID 0x2A5D // Sensor Location +#define CYCPWR_MEAS_UUID 0x2A63 // Cycling Power Measurement +#define CYCPWR_VECTOR_UUID 0x2A64 // Cycling Power Vector +#define CYCPWR_FEATURE_UUID 0x2A65 // Cycling Power Feature +#define CYCPWR_CTRL_PT_UUID 0x2A66 // Cycling Power Control Point +#define LOC_SPEED_UUID 0x2A67 // Location and Speed +#define NAV_UUID 0x2A68 // Navigation +#define POS_QUALITY_UUID 0x2A69 // Position Quality +#define LN_FEATURE_UUID 0x2A6A // LN Feature +#define LN_CTRL_PT_UUID 0x2A6B // LN Control Point +#define ELE_UUID 0x2A6C // Elevation +#define PRESSURE_UUID 0x2A6D // Pressure +#define TEMP_UUID 0x2A6E // Temperature +#define HUMI_UUID 0x2A6F // Humidity +#define TRUE_WIND_SPEED_UUID 0x2A70 // True Wind Speed +#define TRUE_WIND_DIRECTION_UUID 0x2A71 // True Wind Direction +#define URI_UUID 0x2AB6 // URI +#define MEDIA_STATE_UUID 0x2BA3 // Media State +#define MEDIA_CTRL_PT_UUID 0x2BA4 // Media Control Point +#define MEDIA_CTRL_PT_OS_UUID 0x2BA5 // Media Control Point Opcodes Supported +#define CALL_STATE_UUID 0x2BBD // Call State +#define CALL_CTRL_PT_UUID 0x2BBE // Call Control Point +#define CALL_CTRL_PT_OO_UUID 0x2BBF // Call Control Point Optional Opcodes +#define TERM_REASON_UUID 0x2BC0 // Termination Reason +#define INCOMING_CALL_UUID 0x2BC1 // Incoming Call +#define MUTE_UUID 0x2BC3 // Mute +#define ESL_ADDR_UUID 0x2BF6 // ESL Address +#define AP_SYNC_KEY_MATERIAL_UUID 0x2BF7 // AP Sync Key Material +#define ESL_RSP_KEY_MATERIAL_UUID 0x2BF8 // ESL Response Key Material +#define ESL_CURR_ABS_TIME_UUID 0x2BF9 // ESL Current Absolute Time +#define ESL_DISPLAY_INFO_UUID 0x2BFA // ESL Display Information +#define ESL_IMAGE_INFO_UUID 0x2BFB // ESL Image Information +#define ESL_SENSOR_INFO_UUID 0x2BFC // ESL Sensor Information +#define ESL_LED_INFO_UUID 0x2BFD // ESL LED Information +#define ESL_CTL_POINT_UUID 0x2BFE // ESL Control Point + +/** + * GATT Unit UUIDs + */ +#define GATT_UNITLESS_UUID 0x2700 // unitless +#define GATT_UNIT_LENGTH_METER_UUID 0x2701 // m, m +#define GATT_UNIT_MASS_KGRAM_UUID 0x2702 // kg, kg +#define GATT_UNIT_TIME_SECOND_UUID 0x2703 // s, s +#define GATT_UNIT_ELECTRIC_CURRENT_A_UUID 0x2704 // A, A +#define GATT_UNIT_THERMODYN_TEMP_K_UUID 0x2705 // K, K +#define GATT_UNIT_AMOUNT_SUBSTANCE_M_UUID 0x2706 // mol, mol +#define GATT_UNIT_LUMINOUS_INTENSITY_C_UUID 0x2707 // cd, cd + +#define GATT_UNIT_AREA_SQ_MTR_UUID 0x2710 // m^2, m^2 +#define GATT_UNIT_VOLUME_CUBIC_MTR_UUID 0x2711 // m^3, m^3 +#define GATT_UNIT_VELOCITY_MPS_UUID 0x2712 // m/s, m s^-1 +#define GATT_UNIT_ACCELERATION_MPS_SQ_UUID 0x2713 // m/s^2, m s^-2 +#define GATT_UNIT_WAVENUMBER_RM_UUID 0x2714 // ? m^-1 +#define GATT_UNIT_DENSITY_KGPCM_UUID 0x2715 // p, kg m^-3 +#define GATT_UNIT_SURFACE_DENSITY_KGPSM_UUID 0x2716 // pA, kg m^-2 +#define GATT_UNIT_SPECIFIC_VOLUME_CMPKG_UUID 0x2717 // v, m^3 kg^-1 +#define GATT_UNIT_CURRENT_DENSITY_APSM_UUID 0x2718 // j, A m^-2 +#define GATT_UNIT_MAG_FIELD_STRENGTH_UUID 0x2719 // H, A m +#define GATT_UNIT_AMOUNT_CONC_MPCM_UUID 0x271A // c, mol m^-3 +#define GATT_UNIT_MASS_CONC_KGPCM_UUID 0x271B // c, kg m^-3 +#define GATT_UNIT_LUMINANCE_CPSM_UUID 0x271C // Lv, cd m^-2 +#define GATT_UNIT_REFRACTIVE_INDEX_UUID 0x271D // n, 1 +#define GATT_UNIT_RELATIVE_PERMEABLILTY_UUID 0x271E // u, 1 +#define GATT_UNIT_PLANE_ANGLE_RAD_UUID 0x2720 // rad, m m-1 +#define GATT_UNIT_SOLID_ANGLE_STERAD_UUID 0x2721 // sr, m2 m-2 +#define GATT_UNIT_FREQUENCY_HTZ_UUID 0x2722 // Hz, s-1 +#define GATT_UNIT_FORCE_NEWTON_UUID 0x2723 // N, m kg s-2 +#define GATT_UNIT_PRESSURE_PASCAL_UUID 0x2724 // Pa, N/m2 = m2 kg s-2 +#define GATT_UNIT_ENERGY_JOULE_UUID 0x2725 // J, N m = m2 kg s-2 +#define GATT_UNIT_POWER_WATT_UUID 0x2726 // W, J/s = m2 kg s-3 +#define GATT_UNIT_E_CHARGE_C_UUID 0x2727 // C, sA +#define GATT_UNIT_E_POTENTIAL_DIF_V_UUID 0x2728 // V, W/A = m2 kg s-3 A-1 + +#define GATT_UNIT_CELSIUS_TEMP_DC_UUID 0x272F // oC, t/oC = T/K - 273.15 + +#define GATT_UNIT_TIME_MINUTE_UUID 0x2760 // min, 60 s +#define GATT_UNIT_TIME_HOUR_UUID 0x2761 // h, 3600 s +#define GATT_UNIT_TIME_DAY_UUID 0x2762 // d, 86400 s +#define GATT_UNIT_PLANE_ANGLE_DEGREE_UUID 0x2763 // o, (pi/180) rad +#define GATT_UNIT_PLANE_ANGLE_MINUTE_UUID 0x2764 // ', (pi/10800) rad +#define GATT_UNIT_PLANE_ANGLE_SECOND_UUID 0x2765 // '', (pi/648000) rad +#define GATT_UNIT_AREA_HECTARE_UUID 0x2766 // ha, 10^4 m^2 +#define GATT_UNIT_VOLUME_LITRE_UUID 0x2767 // l, 10^-3 m^3 +#define GATT_UNIT_MASS_TONNE_UUID 0x2768 // t, 10^3 kg + +#define GATT_UINT_LENGTH_YARD_UUID 0x27A0 // yd, 0.9144 m +#define GATT_UNIT_LENGTH_PARSEC_UUID 0x27A1 // pc, 3.085678 ?1016 m +#define GATT_UNIT_LENGTH_INCH_UUID 0x27A2 // in, 0.0254 m +#define GATT_UNIT_LENGTH_FOOT_UUID 0x27A3 // ft, 0.3048 m +#define GATT_UNIT_LENGTH_MILE_UUID 0x27A4 // mi, 1609.347 m +#define GATT_UNIT_PRESSURE_PFPSI_UUID 0x27A5 // psi, 6.894757 ?103 Pa +#define GATT_UNIT_VELOCITY_KMPH_UUID 0x27A6 // km/h, 0.2777778 m^s-1 +#define GATT_UNIT_VELOCITY_MPH_UUID 0x27A7 // mi/h, 0.44704 m^ s-1 +#define GATT_UNIT_ANGULAR_VELOCITY_RPM_UUID 0x27A8 // r/min, 0.1047198 rad s-1 +#define GATT_UNIT_ENERGY_GCAL_UUID 0x27A9 // energy (gram calorie) +#define GATT_UNIT_ENERGY_KCAL_UUID 0x27AA // kcal, 4190.02 J +#define GATT_UNIT_ENERGY_KWH_UUID 0x27AB // kWh, 3600000 J +#define GATT_UNIT_THERMODYN_TEMP_DF_UUID 0x27AC // oF, t/oF = T/K ?1.8 - 459.67 +#define GATT_UNIT_PERCENTAGE_UUID 0x27AD // percentage,% +#define GATT_UNIT_PER_MILE_UUID 0x27AE // per mille +#define GATT_UNIT_PERIOD_BPM_UUID 0x27AF // period (beats per minute),BPM +#define GATT_UNIT_E_CHARGE_AH_UUID 0x27B0 // electric charge (ampere hours) +#define GATT_UNIT_MASS_DENSITY_MGPD_UUID 0x27B1 // mass density (milligram per decilitre) +#define GATT_UNIT_MASS_DENSITY_MMPL_UUID 0x27B2 // mass density (millimole per litre) +#define GATT_UNIT_TIME_YEAR_UUID 0x27B3 // time (year) +#define GATT_UNIT_TIME_MONTH_UUID 0x27B4 // time (month) + +/*********************************Messages IDs*********************************/ +// GATT - Messages IDs +#define GATT_MSG_EVENT 0xB0 //!< Incoming GATT message +#define GATT_SERV_MSG_EVENT 0xB1 //!< Incoming GATT ServApp message +// GAP - Messages IDs +#define GAP_MSG_EVENT 0xD0 //!< Incoming GAP message +/************************************ATT***************************************/ +#define ATT_MTU_SIZE 23 //!< Minimum ATT MTU size +#define ATT_MAX_MTU_SIZE 512 //!< Maximum ATT MTU size +// ATT Methods +#define ATT_ERROR_RSP 0x01 //!< ATT Error Response +#define ATT_EXCHANGE_MTU_REQ 0x02 //!< ATT Exchange MTU Request +#define ATT_EXCHANGE_MTU_RSP 0x03 //!< ATT Exchange MTU Response +#define ATT_FIND_INFO_REQ 0x04 //!< ATT Find Information Request +#define ATT_FIND_INFO_RSP 0x05 //!< ATT Find Information Response +#define ATT_FIND_BY_TYPE_VALUE_REQ 0x06 //!< ATT Find By Type Value Request +#define ATT_FIND_BY_TYPE_VALUE_RSP 0x07 //!< ATT Find By Type Value Response +#define ATT_READ_BY_TYPE_REQ 0x08 //!< ATT Read By Type Request +#define ATT_READ_BY_TYPE_RSP 0x09 //!< ATT Read By Type Response +#define ATT_READ_REQ 0x0a //!< ATT Read Request +#define ATT_READ_RSP 0x0b //!< ATT Read Response +#define ATT_READ_BLOB_REQ 0x0c //!< ATT Read Blob Request +#define ATT_READ_BLOB_RSP 0x0d //!< ATT Read Blob Response +#define ATT_READ_MULTI_REQ 0x0e //!< ATT Read Multiple Request +#define ATT_READ_MULTI_RSP 0x0f //!< ATT Read Multiple Response +#define ATT_READ_BY_GRP_TYPE_REQ 0x10 //!< ATT Read By Group Type Request +#define ATT_READ_BY_GRP_TYPE_RSP 0x11 //!< ATT Read By Group Type Response +#define ATT_WRITE_REQ 0x12 //!< ATT Write Request +#define ATT_WRITE_RSP 0x13 //!< ATT Write Response +#define ATT_PREPARE_WRITE_REQ 0x16 //!< ATT Prepare Write Request +#define ATT_PREPARE_WRITE_RSP 0x17 //!< ATT Prepare Write Response +#define ATT_EXECUTE_WRITE_REQ 0x18 //!< ATT Execute Write Request +#define ATT_EXECUTE_WRITE_RSP 0x19 //!< ATT Execute Write Response +#define ATT_HANDLE_VALUE_NOTI 0x1b //!< ATT Handle Value Notification +#define ATT_HANDLE_VALUE_IND 0x1d //!< ATT Handle Value Indication +#define ATT_HANDLE_VALUE_CFM 0x1e //!< ATT Handle Value Confirmation + +#define ATT_WRITE_CMD 0x52 //!< ATT Write Command +#define ATT_SIGNED_WRITE_CMD 0xD2 //!< ATT Signed Write Command + +// ATT Error Codes +#define ATT_ERR_INVALID_HANDLE 0x01 //!< The attribute handle given was not valid on this server +#define ATT_ERR_READ_NOT_PERMITTED 0x02 //!< The attribute cannot be read +#define ATT_ERR_WRITE_NOT_PERMITTED 0x03 //!< The attribute cannot be written +#define ATT_ERR_INVALID_PDU 0x04 //!< The attribute PDU was invalid +#define ATT_ERR_INSUFFICIENT_AUTHEN 0x05 //!< The attribute requires authentication before it can be read or written +#define ATT_ERR_UNSUPPORTED_REQ 0x06 //!< Attribute server does not support the request received from the client +#define ATT_ERR_INVALID_OFFSET 0x07 //!< Offset specified was past the end of the attribute +#define ATT_ERR_INSUFFICIENT_AUTHOR 0x08 //!< The attribute requires authorization before it can be read or written +#define ATT_ERR_PREPARE_QUEUE_FULL 0x09 //!< Too many prepare writes have been queued +#define ATT_ERR_ATTR_NOT_FOUND 0x0a //!< No attribute found within the given attribute handle range +#define ATT_ERR_ATTR_NOT_LONG 0x0b //!< The attribute cannot be read using the Read Blob Request +#define ATT_ERR_INSUFFICIENT_KEY_SIZE 0x0c //!< The Encryption Key Size used for encrypting this link is insufficient +#define ATT_ERR_INVALID_VALUE_SIZE 0x0d //!< The attribute value length is invalid for the operation +#define ATT_ERR_UNLIKELY 0x0e //!< The attribute request that was requested has encountered an error that was very unlikely, and therefore could not be completed as requested +#define ATT_ERR_INSUFFICIENT_ENCRYPT 0x0f //!< The attribute requires encryption before it can be read or written +#define ATT_ERR_UNSUPPORTED_GRP_TYPE 0x10 //!< The attribute type is not a supported grouping attribute as defined by a higher layer specification +#define ATT_ERR_INSUFFICIENT_RESOURCES 0x11 //!< Insufficient Resources to complete the request +#define ATT_ERR_INVALID_VALUE 0x80 //!< The attribute value is invalid for the operation + +/********************************************************************* + * ATT Find By Type Value Response macros + */ +// Attribute Handle and Group End Handle pair indexes +#define ATT_ATTR_HANDLE_IDX( i ) ( (i) * (2 + 2) ) +#define ATT_GRP_END_HANDLE_IDX( i ) ( ATT_ATTR_HANDLE_IDX( (i) ) + 2 ) + +#define ATT_ATTR_HANDLE( info, i ) ( BUILD_UINT16( (info)[ATT_ATTR_HANDLE_IDX((i))], \ + (info)[ATT_ATTR_HANDLE_IDX((i))+1] ) ) +#define ATT_GRP_END_HANDLE( info, i ) ( BUILD_UINT16( (info)[ATT_GRP_END_HANDLE_IDX((i))], \ + (info)[ATT_GRP_END_HANDLE_IDX((i))+1] ) ) +/** @defgroup ATT_MSG_EVENT_DEFINES ATT Message Event IDs + * @{ + */ +#define ATT_FLOW_CTRL_VIOLATED_EVENT 0x7E //!< Sent when ATT flow control is violated on a connection. This event is sent as an TMOS message defined as attFlowCtrlViolatedEvt_t. +#define ATT_MTU_UPDATED_EVENT 0x7F //!< Sent when MTU is updated for a connection. This event is sent as an TMOS message defined as attMtuUpdatedEvt_t. +/** @} End ATT_MSG_EVENT_DEFINES */ + +/*** Opcode fields: bitmasks ***/ +// Size of 16-bit Bluetooth UUID +#define ATT_BT_UUID_SIZE 2 +// Size of 128-bit UUID +#define ATT_UUID_SIZE 16 + +/******************************** GATT ***********************************/ + +// GATT Attribute Access Permissions Bit Fields +#define GATT_PERMIT_READ 0x01 //!< Attribute is Readable +#define GATT_PERMIT_WRITE 0x02 //!< Attribute is Writable +#define GATT_PERMIT_AUTHEN_READ 0x04 //!< Read requires Authentication +#define GATT_PERMIT_AUTHEN_WRITE 0x08 //!< Write requires Authentication +#define GATT_PERMIT_AUTHOR_READ 0x10 //!< Read requires Authorization +#define GATT_PERMIT_AUTHOR_WRITE 0x20 //!< Write requires Authorization +#define GATT_PERMIT_ENCRYPT_READ 0x40 //!< Read requires Encryption +#define GATT_PERMIT_ENCRYPT_WRITE 0x80 //!< Write requires Encryption + +// GATT Characteristic Properties Bit Fields +#define GATT_PROP_BCAST 0x01 //!< Permits broadcasts of the Characteristic Value +#define GATT_PROP_READ 0x02 //!< Permits reads of the Characteristic Value +#define GATT_PROP_WRITE_NO_RSP 0x04 //!< Permits writes of the Characteristic Value without response +#define GATT_PROP_WRITE 0x08 //!< Permits writes of the Characteristic Value with response +#define GATT_PROP_NOTIFY 0x10 //!< Permits notifications of a Characteristic Value without acknowledgement +#define GATT_PROP_INDICATE 0x20 //!< Permits indications of a Characteristic Value with acknowledgement +#define GATT_PROP_AUTHEN 0x40 //!< Permits signed writes to the Characteristic Value +#define GATT_PROP_EXTENDED 0x80 //!< Additional characteristic properties are defined in the Characteristic Extended Properties Descriptor + +// GATT local read or write operation +#define GATT_LOCAL_READ 0xFF +#define GATT_LOCAL_WRITE 0xFE + +// GATT Encryption Key Size Limits +#define GATT_MIN_ENCRYPT_KEY_SIZE 7 //!< GATT Minimum Encryption Key Size +#define GATT_MAX_ENCRYPT_KEY_SIZE 16 //!< GATT Maximum Encryption Key Size + +// Attribute handle definitions +#define GATT_INVALID_HANDLE 0x0000 // Invalid attribute handle +#define GATT_MIN_HANDLE 0x0001 // Minimum attribute handle +#define GATT_MAX_HANDLE 0xFFFF // Maximum attribute handle + +#define GATT_MAX_MTU 0xFFFF // Maximum MTU size + +// Attribute Access Permissions +#define gattPermitRead( a ) ( (a) & GATT_PERMIT_READ ) +#define gattPermitWrite( a ) ( (a) & GATT_PERMIT_WRITE ) +#define gattPermitAuthenRead( a ) ( (a) & GATT_PERMIT_AUTHEN_READ ) +#define gattPermitAuthenWrite( a ) ( (a) & GATT_PERMIT_AUTHEN_WRITE ) +#define gattPermitAuthorRead( a ) ( (a) & GATT_PERMIT_AUTHOR_READ ) +#define gattPermitAuthorWrite( a ) ( (a) & GATT_PERMIT_AUTHOR_WRITE ) +#define gattPermitEncryptRead( a ) ( (a) & GATT_PERMIT_ENCRYPT_READ ) +#define gattPermitEncryptWrite( a ) ( (a) & GATT_PERMIT_ENCRYPT_WRITE ) + +// Check for different UUID types +#define gattPrimaryServiceType( t ) ( ATT_CompareUUID( primaryServiceUUID, ATT_BT_UUID_SIZE, (t).uuid, (t).len ) ) +#define gattSecondaryServiceType( t ) ( ATT_CompareUUID( secondaryServiceUUID, ATT_BT_UUID_SIZE, (t).uuid, (t).len ) ) +#define gattCharacterType( t ) ( ATT_CompareUUID( characterUUID, ATT_BT_UUID_SIZE, (t).uuid, (t).len ) ) +#define gattIncludeType( t ) ( ATT_CompareUUID( includeUUID, ATT_BT_UUID_SIZE, (t).uuid, (t).len ) ) +#define gattServiceType( t ) ( gattPrimaryServiceType( (t) ) || gattSecondaryServiceType( (t) ) ) +#define GATT_MAX_NUM_CONN (4) + +// GATT Client Characteristic Configuration Bit Fields +#define GATT_CLIENT_CFG_NOTIFY 0x0001 //!< The Characteristic Value shall be notified +#define GATT_CLIENT_CFG_INDICATE 0x0002 //!< The Characteristic Value shall be indicated + +#define GATT_CFG_NO_OPERATION 0x0000 // No operation + +// All profile services bit fields +#define GATT_SERVICE_DEVICE_NAME (1<<0) //!< Device Name +#define GATT_SERVICE_APPEARANCE (1<<1) //!< Appearance +#define GATT_SERVICE_PRIVACY_FLAG (1<<2) //!< Peripheral Privacy Flag +#define GATT_SERVICE_RECONN_ADDR (1<<3) //!< Reconnection Address +#define GATT_SERVICE_PERI_CONN_PARAM (1<<4) //!< Peripheral Preferred Connection Parameters (PPCP) +#define GATT_SERVICE_CENTRAL_ADDR_RL (1<<5) //!< Central Address Resolution +#define GATT_SERVICE_PRIV_ADDR_ONLY (1<<6) //!< Resolvable Private Address Only +#define GATT_SERVICE_ENCY_DATA_KEY (1<<7) //!< Encrypted Data Key Material +#define GATT_SERVICE_LE_GATT_SECU (1<<8) //!< LE GATT Security Levels + +#define GATT_SERVICES_DEFS (GATT_SERVICE_DEVICE_NAME|GATT_SERVICE_APPEARANCE|GATT_SERVICE_PERI_CONN_PARAM) +#define GATT_ALL_SERVICES GATT_SERVICES_DEFS + +// The number of attribute records in a given attribute table +#define GATT_NUM_ATTRS( attrs ) ( sizeof( attrs ) / sizeof( gattAttribute_t ) ) + +// The handle of a service is the handle of the first attribute +#define GATT_SERVICE_HANDLE( attrs ) ( (attrs)[0].handle ) + +// The handle of the first included service (i = 1) is the value of the second attribute +#define GATT_INCLUDED_HANDLE( attrs, i ) ( *((uint16_t *)((attrs)[(i)].pValue)) ) + +// Client Characteristic Configuration table (from CCC attribute value pointer) +#define GATT_CCC_TBL( pValue ) ( (gattCharCfg_t *)(*((PTR_TYPE)(&pValue)))) + +/************************************ GAP *************************************/ +#define GAP_MSG_EVENT_DEFINES //!< GAP type of command +#define GAP_DEVICE_INIT_DONE_EVENT 0x00 //!< Sent when the Device Initialization is complete. This event is sent as an tmos message defined as gapDeviceInitDoneEvent_t. +#define GAP_DEVICE_DISCOVERY_EVENT 0x01 //!< Sent when the Device Discovery Process is complete. This event is sent as an tmos message defined as gapDevDiscEvent_t. +#define GAP_ADV_DATA_UPDATE_DONE_EVENT 0x02 //!< Sent when the Advertising Data or SCAN_RSP Data has been updated. This event is sent as an tmos message defined as gapAdvDataUpdateEvent_t. +#define GAP_MAKE_DISCOVERABLE_DONE_EVENT 0x03 //!< Sent when the Make Discoverable Request is complete. This event is sent as an tmos message defined as gapMakeDiscoverableRspEvent_t. +#define GAP_END_DISCOVERABLE_DONE_EVENT 0x04 //!< Sent when the Advertising has ended. This event is sent as an tmos message defined as gapEndDiscoverableRspEvent_t. +#define GAP_LINK_ESTABLISHED_EVENT 0x05 //!< Sent when the Establish Link Request is complete. This event is sent as an tmos message defined as gapEstLinkReqEvent_t. +#define GAP_LINK_TERMINATED_EVENT 0x06 //!< Sent when a connection was terminated. This event is sent as an tmos message defined as gapTerminateLinkEvent_t. +#define GAP_LINK_PARAM_UPDATE_EVENT 0x07 //!< Sent when an Update Parameters Event is received. This event is sent as an tmos message defined as gapLinkUpdateEvent_t. +#define GAP_RANDOM_ADDR_CHANGED_EVENT 0x08 //!< Sent when a random address was changed. This event is sent as an tmos message defined as gapRandomAddrEvent_t. +#define GAP_SIGNATURE_UPDATED_EVENT 0x09 //!< Sent when the device's signature counter is updated. This event is sent as an tmos message defined as gapSignUpdateEvent_t. +#define GAP_AUTHENTICATION_COMPLETE_EVENT 0x0A //!< Sent when the Authentication (pairing) process is complete. This event is sent as an tmos message defined as gapAuthCompleteEvent_t. +#define GAP_PASSKEY_NEEDED_EVENT 0x0B //!< Sent when a Passkey is needed. This is part of the pairing process. This event is sent as an tmos message defined as gapPasskeyNeededEvent_t. +#define GAP_SLAVE_REQUESTED_SECURITY_EVENT 0x0C //!< Sent when a Slave Security Request is received. This event is sent as an tmos message defined as gapSlaveSecurityReqEvent_t. +#define GAP_DEVICE_INFO_EVENT 0x0D //!< Sent during the Device Discovery Process when a device is discovered. This event is sent as an tmos message defined as gapDeviceInfoEvent_t. +#define GAP_BOND_COMPLETE_EVENT 0x0E //!< Sent when the bonding process is complete. This event is sent as an tmos message defined as gapBondCompleteEvent_t. +#define GAP_PAIRING_REQ_EVENT 0x0F //!< Sent when an unexpected Pairing Request is received. This event is sent as an tmos message defined as gapPairingReqEvent_t. +#define GAP_DIRECT_DEVICE_INFO_EVENT 0x10 //!< Sent when a direct Advertising Data is received. This event is sent as an tmos message defined as gapDirectDeviceInfoEvent_t. +#define GAP_PHY_UPDATE_EVENT 0x11 //!< Sent when a PHY Update Event is received. This event is sent as an tmos message defined as gapLinkUpdateEvent_t. +#define GAP_EXT_ADV_DEVICE_INFO_EVENT 0x12 //!< Sent when a Extended Advertising Data is received. This event is sent as an tmos message defined as gapExtAdvDeviceInfoEvent_t. +#define GAP_MAKE_PERIODIC_ADV_DONE_EVENT 0x13 //!< Sent when the Set Periodic Advertising enable is complete. This event is sent as an tmos message defined as gapMakePeriodicRspEvent_t. +#define GAP_END_PERIODIC_ADV_DONE_EVENT 0x14 //!< Sent when the Set Periodic Advertising disable is complete. This event is sent as an tmos message defined as gapEndPeriodicRspEvent_t. +#define GAP_SYNC_ESTABLISHED_EVENT 0x15 //!< Sent when a Periodic Advertising Sync Establish is complete. This event is sent as an tmos message defined as gapSyncEstablishedEvent_t. +#define GAP_PERIODIC_ADV_DEVICE_INFO_EVENT 0x16 //!< Sent when a Periodic Advertising Data is received. This event is sent as an tmos message defined as gapPeriodicAdvDeviceInfoEvent_t. +#define GAP_SYNC_LOST_EVENT 0x17 //!< Sent when a Periodic Advertising Sync was lost. This event is sent as an tmos message defined as gapSyncLostEvent_t. +#define GAP_SCAN_REQUEST_EVENT 0x19 //!< Sent when a SCAN_REQ PDU or an AUX_SCAN_REQ PDU has been received by the advertiser. This event is sent as an tmos message defined as gapScanReqReseiveEvent_t. +#define GAP_OOB_NEEDED_EVENT 0x1A //!< resv +#define GAP_MAKE_CONNECTIONESS_CTE_DONE_EVENT 0x1B //!< Sent when the Set Connectionless CTE Transmit enable is complete. This event is sent as an tmos message defined as gapMakeConnectionlessCTERspEvent_t. +#define GAP_END_CONNECTIONESS_CTE_DONE_EVENT 0x1C //!< Sent when the Set Connectionless CTE Transmit disable is complete. This event is sent as an tmos message defined as gapEndConnectionlessCTERspEvent_t. +#define GAP_PERI_ADV_SYNC_TRAN_RECEIVED_EVENT 0x1D //!< Sent when the periodic advertising sync transfer received. This event is sent as an tmos message defined as gapPeriodicTranReceivec_t. + + +#define GAP_PERI_ADV_SUBEVENT_DATA_REQ_EVENT 0x27 //!< Sent when the Controller +#define GAP_PERI_ADV_RESPONSE_REPORT_EVENT 0x28 //!< Sent when one or more devices have responded to a periodic advertising subevent during a PAwR train. This event is sent as an tmos message defined as gapPeriodicAdvResponseEvent_t. + + +// GAP_PROFILE_ROLE_DEFINES GAP Profile Roles +#define GAP_PROFILE_BROADCASTER 0x01 //!< A device that sends advertising events only. +#define GAP_PROFILE_OBSERVER 0x02 //!< A device that receives advertising events only. +#define GAP_PROFILE_PERIPHERAL 0x04 //!< A device that accepts the establishment of an LE physical link using the connection establishment procedure +#define GAP_PROFILE_CENTRAL 0x08 //!< A device that supports the Central role initiates the establishment of a physical connection + +// GAP Status Return Values - returned as bStatus_t +#define bleGAPUserCanceled 0x30 //!< The user canceled the task +#define bleGAPConnNotAcceptable 0x31 //!< The connection was not accepted +#define bleGAPBondRejected 0x32 //!< The bond information was rejected. +#define bleGAPExpiredCanceled 0x33 //!< The duration has expired + +#define GAP_DEVICE_NAME_LEN 21 //!< Excluding null-terminate char +#define GAP_DEVICE_NAME_MAX_LEN 248 //!< maximum length of device name + +// option defined +#define LISTEN_PERIODIC_ADVERTISING_MODE (1<<0) //!< used to determine whether the Periodic Advertiser List is used +#define REPORTING_INITIALLY_DISABLED (1<<1) //!< 0: Reporting initially enabled 1: Reporting initially disabled +#define DUPLICATE_FILTERING_INITIALLY_ENABLED (1<<2) //!< 0: Duplicate filtering initially disabled 1: Duplicate filtering initially enabled + +/*------------------------------------------------------------------- + * CONSTANTS + */ +/** @defgroup GAP_CONN_HANDLE_DEFINES GAP Special Connection Handles + * Used by GAP_TerminateLinkReq() + * @{ + */ +#define GAP_CONNHANDLE_INIT 0xFFFE //!< terminates a link create +#define GAP_CONNHANDLE_ALL 0xFFFF //!< terminates all links for the matching task ID. +/** @} End GAP_CONN_HANDLE_DEFINES */ + +// Privacy Flag States +#define GAP_PRIVACY_DISABLED 0x00 +#define GAP_PRIVACY_ENABLED 0x01 + +// GAP GATT Server Parameters used with GGS Get/Set Parameter and Application's Callback functions +#define GGS_DEVICE_NAME_ATT 0 //!< RW uint8_t[GAP_DEVICE_NAME_LEN] +#define GGS_APPEARANCE_ATT 1 //!< RW uint16_t +#define GGS_PERI_PRIVACY_FLAG_ATT 2 //!< RW uint8_t +#define GGS_RECONNCT_ADDR_ATT 3 //!< RW uint8_t[B_ADDR_LEN] +#define GGS_PERI_CONN_PARAM_ATT 4 //!< RW sizeof(gapPeriConnectParams_t) +#define GGS_CENT_ADDR_RES_ATT 5 //!< RW uint8_t +#define GGS_RL_PRIVATE_ADDR_ONLY 6 //!< RW uint8_t +#define GGS_ENC_DATA_KEY_MATERIAL 7 //!< RW sizeof(gapEncDataKey_t) +#define GGS_LE_GATT_SEC_LEVELS 8 //!< RW uint8_t + +#define GGS_PERI_PRIVACY_FLAG_PROPS 0X42 //!< RW uint8_t + +#define GGS_W_PERMIT_DEVICE_NAME_ATT 0x80 //!< W uint8_t +#define GGS_W_PERMIT_APPEARANCE_ATT 0x81 //!< W uint8_t +#define GGS_W_PERMIT_PRIVACY_FLAG_ATT 0x82 //!< W uint8_t + +// GAP_PARAMETER_ID_DEFINES GAP Parameter IDs +// Timers +#define TGAP_GEN_DISC_ADV_MIN 0 //!< Minimum time to remain advertising, when in Discoverable mode.Default 0-turns off the timeout. (n * 0.625 mSec). +#define TGAP_LIM_ADV_TIMEOUT 1 //!< Maximum time to remain advertising, when in Limited Discoverable mode.Default 180 seconds. (n * 1 seconds) +#define TGAP_DISC_SCAN 2 //!< Minimum time to perform scanning,Setting this parameter to 0 turns off the timeout.Default 10.24seconds. (n * 0.625 mSec) + +// when in General Discovery process +#define TGAP_DISC_ADV_INT_MIN 3 //!< Minimum advertising interval.Default 160. (n * 0.625 mSec) +#define TGAP_DISC_ADV_INT_MAX 4 //!< Maximum advertising interval.Default 160. (n * 0.625 mSec) +#define TGAP_DISC_SCAN_INT 5 //!< Scan interval used during Link Layer Scanning state.Default 16. (n * 0.625 mSec) +#define TGAP_DISC_SCAN_WIND 6 //!< Scan window used during Link Layer Scanning state.Default 16. (n * 0.625 mSec) + +// when in Connection Establishment process(1M PHY) +#define TGAP_CONN_EST_INT_MIN 7 //!< Minimum Link Layer connection interval.Default 80. (n * 1.25 mSec) +#define TGAP_CONN_EST_INT_MAX 8 //!< Maximum Link Layer connection interval.Default 80. (n * 1.25 mSec) +#define TGAP_CONN_EST_SCAN_INT 9 //!< Scan interval used during Link Layer Initiating state.Default 16. (n * 0.625 mSec) +#define TGAP_CONN_EST_SCAN_WIND 10 //!< Scan window used during Link Layer Initiating state.Default 16. (n * 0.625 mSec) +#define TGAP_CONN_EST_HIGH_SCAN_INT 11 //!< Scan interval used during Link Layer Initiating state, high duty scan cycle scan parameters (n * 0.625 mSec) +#define TGAP_CONN_EST_HIGH_SCAN_WIND 12 //!< Scan window used during Link Layer Initiating state, high duty scan cycle scan parameters (n * 0.625 mSec) +#define TGAP_CONN_EST_SUPERV_TIMEOUT 13 //!< Link Layer connection supervision timeout.Default 2000. (n * 10 mSec) +#define TGAP_CONN_EST_LATENCY 14 //!< Link Layer connection slave latency.Default 0. (in number of connection events) +#define TGAP_CONN_EST_MIN_CE_LEN 15 //!< Local informational parameter about minimum length of connection needed.Default 0. (n * 0.625 mSec) +#define TGAP_CONN_EST_MAX_CE_LEN 16 //!< Local informational parameter about maximum length of connection needed.Default 0. (n * 0.625 mSec) + +// Proprietary +#define TGAP_PRIVATE_ADDR_INT 17 //!< Minimum Time Interval between private (resolvable) address changes.Default 900. (n * 1 seconds) +#define TGAP_SM_TIMEOUT 18 //!< SM Message Timeout (milliseconds). Default 30 seconds. +#define TGAP_SM_MIN_KEY_LEN 19 //!< SM Minimum Key Length supported. Default 7. +#define TGAP_SM_MAX_KEY_LEN 20 //!< SM Maximum Key Length supported. Default 16. +#define TGAP_FILTER_ADV_REPORTS 21 //!< Filter duplicate advertising reports. Default TRUE. +#define TGAP_SCAN_RSSI_MIN 22 //!< Minimum RSSI required for scan advertising to be reported to the app. Default -127. +#define TGAP_REJECT_CONN_PARAMS 23 //!< Whether or not to reject Connection Parameter Update Request received on Central device. Default FALSE. +#define TGAP_AUTH_TASK_ID 24 //!< Task ID override for Task Authentication control (for stack internal use only) + +// v5.x +#define TGAP_ADV_TX_POWER 25 //!< Indicates the maximum power level Range: -127 ≤ N ≤ +126 Units: dBm.Default 127(Host has no preference). +#define TGAP_ADV_PRIMARY_PHY 26 //!< resv. +#define TGAP_ADV_SECONDARY_PHY 27 //!< LE 1M/LE 2M. Default GAP_PHY_VAL_LE_1M. +#define TGAP_ADV_SECONDARY_MAX_SKIP 28 //!< Maximum advertising events the Controller can skip before sending the AUX_ADV_IND packets on the secondary advertising channel. Default 0. +#define TGAP_ADV_ADVERTISING_SID 29 //!< Value of the Advertising SID subfield in the ADI field of the PDU Range:0-15. Default 0. +#define TGAP_ADV_SCAN_REQ_NOTIFY 30 //!< bit0:Scan request notifications enabled.Default 0-disabled. + //!< bit1:After the SCAN_RSP PDU is sent the advertiser move to the next used primary advertising channel index.Default 0-close the advertising event. +#define TGAP_ADV_ADVERTISING_DURATION 31 //!< Advertising duration Range: 0x0001 - 0xFFFF Time = N * 10ms. Default 0-No advertising duration. +#define TGAP_ADV_MAX_EVENTS 32 //!< indicates the maximum number of extended advertising events.Range: 0x00 - 0xFF. Default 0(No maximum number of advertising events). + +// when in General Discovery process +#define TGAP_DISC_SCAN_PHY 33 //!< resv. +#define TGAP_DISC_SCAN_CODED_INT 34 //!< resv. +#define TGAP_DISC_SCAN_CODED_WIND 35 //!< resv. +#define TGAP_DISC_SCAN_DURATION 36 //!< Scan duration Range: 0x0001 - 0xFFFF Time = N * 10 ms. Default 0-Scan continuously until explicitly disable. +#define TGAP_DISC_SCAN_PERIOD 37 //!< resv. + +// when in Connection Establishment process(2M PHY) +#define TGAP_CONN_EST_INT_PHY 38 //!< resv. +#define TGAP_CONN_EST_2M_INT_MIN 39 //!< Minimum Link Layer connection interval.Default 80. (n * 1.25 mSec) +#define TGAP_CONN_EST_2M_INT_MAX 40 //!< Maximum Link Layer connection interval.Default 80. (n * 1.25 mSec) +#define TGAP_CONN_EST_2M_SUPERV_TIMEOUT 41 //!< Link Layer connection supervision timeout.Default 2000. (n * 10 mSec) +#define TGAP_CONN_EST_2M_LATENCY 42 //!< Link Layer connection slave latency.Default 0. (in number of connection events) +#define TGAP_CONN_EST_2M_MIN_CE_LEN 43 //!< Local informational parameter about minimum length of connection needed.Default 0. (n * 0.625 mSec) +#define TGAP_CONN_EST_2M_MAX_CE_LEN 44 //!< Local informational parameter about maximum length of connection needed.Default 0. (n * 0.625 mSec) + +// when in Connection Establishment process(Coded PHY) +#define TGAP_CONN_EST_CODED_INT_MIN 45 //!< resv. +#define TGAP_CONN_EST_CODED_INT_MAX 46 //!< resv. +#define TGAP_CONN_EST_CODED_SCAN_INT 47 //!< resv. +#define TGAP_CONN_EST_CODED_SCAN_WIND 48 //!< resv. +#define TGAP_CONN_EST_CODED_HIGH_SCAN_INT 49 //!< resv. +#define TGAP_CONN_EST_CODED_HIGH_SCAN_WIND 50 //!< resv. +#define TGAP_CONN_EST_CODED_SUPERV_TIMEOUT 51 //!< resv. +#define TGAP_CONN_EST_CODED_LATENCY 52 //!< resv. +#define TGAP_CONN_EST_CODED_MIN_CE_LEN 53 //!< resv. +#define TGAP_CONN_EST_CODED_MAX_CE_LEN 54 //!< resv. + +// periodic advertising +#define TGAP_PERIODIC_ADV_INT_MIN 55 //!< Minimum periodic advertising interval.Range: 0x0006 to 0xFFFF.Default 160. (n * 1.25 mSec) +#define TGAP_PERIODIC_ADV_INT_MAX 56 //!< Maximum periodic advertising interval.Range: 0x0006 to 0xFFFF.Default 160. (n * 1.25 mSec) +#define TGAP_PERIODIC_ADV_PROPERTIES 57 //!< Include TxPower in the periodic advertising PDU. + +#define TGAP_SCAN_MAX_LENGTH 58 //!< Extended scan maximum data length.Default 460 +#define TGAP_AFH_CHANNEL_MDOE 59 //!< whether t he Controller's channel assessment scheme is enabled or disabled.Default disabled. + +// Constant Tone Extension Transmit +#define TGAP_CTE_TYPE 60 //!< The type of Constant Tone Extension.Default GAP_CTE_TYPE_AOA. +#define TGAP_CTE_LENGTH 61 //!< The type of Constant Tone Extension.Default 20.Range[2,20] +#define TGAP_CTE_COUNT 62 //!< resv +#define TGAP_LENGTH_OF_SWITCHING_PATTERN 63 //!< The number of Antenna IDs in the pattern,only used when transmitting an AoD Constant Tone Extension.Default 0. + +#define TGAP_ADV_RSP_RSSI_MIN 64 //!< The minimum RSSI for advertising to send scanning response. Default -127. + +#define TGAP_PARAMID_MAX 65 //!< ID MAX-valid Parameter ID + +// GAP_DEVDISC_MODE_DEFINES GAP Device Discovery Modes +#define DEVDISC_MODE_NONDISCOVERABLE 0x00 //!< No discoverable setting +#define DEVDISC_MODE_GENERAL 0x01 //!< General Discoverable devices +#define DEVDISC_MODE_LIMITED 0x02 //!< Limited Discoverable devices +#define DEVDISC_MODE_ALL 0x03 //!< Not filtered + +// GAP_ADDR_TYPE_DEFINES GAP Address Types +#define ADDRTYPE_PUBLIC 0x00 //!< Use the BD_ADDR +#define ADDRTYPE_STATIC 0x01 //!< Static address +#define ADDRTYPE_PRIVATE_NONRESOLVE 0x02 //!< Generate Non-Resolvable Private Address +#define ADDRTYPE_PRIVATE_RESOLVE 0x03 //!< Generate Resolvable Private Address + +// GAP_ADVERTISEMENT_TYPE_DEFINES GAP Advertising Event Types +#define GAP_ADTYPE_ADV_IND 0x00 //!< Connectable undirected event typet +#define GAP_ADTYPE_ADV_HDC_DIRECT_IND 0x01 //!< Connectable high duty cycle directed event type +#define GAP_ADTYPE_ADV_SCAN_IND 0x02 //!< Scannable undirected event type +#define GAP_ADTYPE_ADV_NONCONN_IND 0x03 //!< Non-Connectable undirected event type +#define GAP_ADTYPE_ADV_LDC_DIRECT_IND 0x04 //!< Connectable low duty cycle directed event type +//v5.x +#define GAP_ADTYPE_EXT_CONN_DIRECT 0x05 //!< extend Connectable directed event type +#define GAP_ADTYPE_EXT_SCAN_UNDIRECT 0x06 //!< extend Scannable undirected event type +#define GAP_ADTYPE_EXT_NONCONN_NONSCAN_UNDIRECT 0x07 //!< extend Non-Connectable and Non-Scannable undirected event type +#define GAP_ADTYPE_EXT_CONN_UNDIRECT 0x08 //!< extend Connectable undirected event type +#define GAP_ADTYPE_EXT_SCAN_DIRECT 0x09 //!< extend Scannable directed event type +#define GAP_ADTYPE_EXT_NONCONN_NONSCAN_DIRECT 0x0A //!< extend Non-Connectable and Non-Scannable directed event type + +// GAP_ADVERTISEMENT_TYPE_DEFINES GAP Advertising PHY VAL TYPE(GAP_PHY_VAL_TYPE) +#define GAP_PHY_VAL_TYPE +#define GAP_PHY_VAL_LE_1M 0x01 +#define GAP_PHY_VAL_LE_2M 0x02 + +// GAP_ADVERTISEMENT_TYPE_DEFINES GAP Scan PHY VAL TYPE(GAP_PHY_BIT_TYPE) +#define GAP_PHY_BIT_TYPE +#define GAP_PHY_BIT_LE_1M (1<<0) +#define GAP_PHY_BIT_LE_2M (1<<1) +#define GAP_PHY_BIT_ALL (GAP_PHY_BIT_LE_1M|GAP_PHY_BIT_LE_2M) + + +// GAP_ADVERTISEMENT_TYPE_DEFINES GAP Periodic Advertising Properties +#define GAP_PERI_PROPERTIES_INCLUDE_TXPOWER (1<<6) + +// GAP_ADVERTISEMENT_TYPE_DEFINES GAP Connectionless CTE Transmit CTE type +#define GAP_CTE_TYPE_AOA 0x00 //!< AoA Constant Tone Extension +#define GAP_CTE_TYPE_AOD_1US 0x01 //!< AoD Constant Tone Extension with 1us slots +#define GAP_CTE_TYPE_AOD_2US 0x02 //!< AoD Constant Tone Extension with 2us slots + +// GAP Advertising Report Event Types +#define GAP_ADVERTISEMENT_REPORT_TYPE_DEFINES +// bit0 to 4 ADVERTISEMENT_TYPE:defined for gapExtAdvDeviceInfoEvent_t Advertisement data type +#define GAP_ADRPT_ADV_IND 0x00 //!< Connectable undirected advertisement +#define GAP_ADRPT_ADV_DIRECT_IND 0x01 //!< Connectable directed advertisement +#define GAP_ADRPT_ADV_SCAN_IND 0x02 //!< Scannable undirected advertisement +#define GAP_ADRPT_ADV_NONCONN_IND 0x03 //!< Non-Connectable undirected advertisement +#define GAP_ADRPT_SCAN_RSP 0x04 //!< Scan Response +#define GAP_ADRPT_EXT_CONN_DIRECT 0x05 //!< extend Connectable directed report type +#define GAP_ADRPT_EXT_SCAN_UNDIRECT 0x06 //!< extend Scannable undirected report type +#define GAP_ADRPT_EXT_NONCONN_NONSCAN_UNDIRECT 0x07 //!< extend Non-Connectable and Non-Scannable undirected report type +#define GAP_ADRPT_EXT_CONN_UNDIRECT 0x08 //!< extend Connectable undirected report type +#define GAP_ADRPT_EXT_SCAN_DIRECT 0x09 //!< extend Scannable directed report type +#define GAP_ADRPT_EXT_NONCONN_NONSCAN_DIRECT 0x0A //!< extend Non-Connectable and Non-Scannable directed report type +#define GAP_ADRPT_EXT_SCAN_RESPONSE 0x0B //!< extend Scan Response report type +// bit5 to 6 Data status:defined for gapExtAdvDeviceInfoEvent_t Advertisement data type +#define GAP_ADRPT_EXT_DATA_MASK (3<<5) +#define GAP_ADRPT_EXT_DATA_COMPLETE (0<<5) //!< Complete +#define GAP_ADRPT_EXT_DATA_INCOMPLETE (1<<5) //!< more data to come +#define GAP_ADRPT_EXT_DATA_LAST (2<<5) //!< Incomplete, data truncated, no more to come + +// GAP_EXTEND_ADVERTISEMENT_REPORT_TYPE_DEFINES GAP Extend Advertising Report Event Types +#define GAP_ADRPT_ADV_CONNECTABLE (1<<0) +#define GAP_ADRPT_ADV_SCANNABLE (1<<1) +#define GAP_ADRPT_ADV_DITECTED (1<<2) +#define GAP_ADRPT_SCAN_RESPONSE (1<<3) + +// GAP_FILTER_POLICY_DEFINES GAP Advertiser Filter Scan Parameters +#define GAP_FILTER_POLICY_ALL 0x00 //!< Allow Scan Request from Any, Allow Connect Request from Any (default). +#define GAP_FILTER_POLICY_WHITE_SCAN 0x01 //!< Allow Scan Request from White List Only, Allow Connect from Any +#define GAP_FILTER_POLICY_WHITE_CON 0x02 //!< Allow Scan Request from Any, Connect from White List Only +#define GAP_FILTER_POLICY_WHITE 0x03 //!< Allow Scan Request and Connect from White List Only + +// Maximum Pairing Passcode/Passkey value. Range of a passkey can be 0 - 999,999. +#define GAP_PASSCODE_MAX 999999 + +/** Sign Counter Initialized - Sign counter hasn't been used yet. Used when setting up + * a connection's signing information. + */ +#define GAP_INIT_SIGN_COUNTER 0xFFFFFFFF + +// GAP_ADVCHAN_DEFINES GAP Advertisement Channel Map +#define GAP_ADVCHAN_37 0x01 //!< Advertisement Channel 37 +#define GAP_ADVCHAN_38 0x02 //!< Advertisement Channel 38 +#define GAP_ADVCHAN_39 0x04 //!< Advertisement Channel 39 +#define GAP_ADVCHAN_ALL (GAP_ADVCHAN_37 | GAP_ADVCHAN_38 | GAP_ADVCHAN_39) //!< All Advertisement Channels Enabled + +// GAP_ADTYPE_DEFINES GAP Advertisement Data Types +#define GAP_ADTYPE_FLAGS 0x01 //!< Discovery Mode: @ref GAP_ADTYPE_FLAGS_MODES +#define GAP_ADTYPE_16BIT_MORE 0x02 //!< Service: More 16-bit UUIDs available +#define GAP_ADTYPE_16BIT_COMPLETE 0x03 //!< Service: Complete list of 16-bit UUIDs +#define GAP_ADTYPE_32BIT_MORE 0x04 //!< Service: More 32-bit UUIDs available +#define GAP_ADTYPE_32BIT_COMPLETE 0x05 //!< Service: Complete list of 32-bit UUIDs +#define GAP_ADTYPE_128BIT_MORE 0x06 //!< Service: More 128-bit UUIDs available +#define GAP_ADTYPE_128BIT_COMPLETE 0x07 //!< Service: Complete list of 128-bit UUIDs +#define GAP_ADTYPE_LOCAL_NAME_SHORT 0x08 //!< Shortened local name +#define GAP_ADTYPE_LOCAL_NAME_COMPLETE 0x09 //!< Complete local name +#define GAP_ADTYPE_POWER_LEVEL 0x0A //!< TX Power Level: -127 to +127 dBm +#define GAP_ADTYPE_OOB_CLASS_OF_DEVICE 0x0D //!< Simple Pairing OOB Tag: Class of device (3 octets) +#define GAP_ADTYPE_OOB_SIMPLE_PAIRING_HASHC 0x0E //!< Simple Pairing OOB Tag: Simple Pairing Hash C (16 octets) +#define GAP_ADTYPE_OOB_SIMPLE_PAIRING_RANDR 0x0F //!< Simple Pairing OOB Tag: Simple Pairing Randomizer R (16 octets) +#define GAP_ADTYPE_SM_TK 0x10 //!< Security Manager TK Value +#define GAP_ADTYPE_SM_OOB_FLAG 0x11 //!< Security Manager OOB Flags +#define GAP_ADTYPE_SLAVE_CONN_INTERVAL_RANGE 0x12 //!< Min and Max values of the connection interval (2 octets Min, 2 octets Max) (0xFFFF indicates no conn interval min or max) +#define GAP_ADTYPE_SIGNED_DATA 0x13 //!< Signed Data field +#define GAP_ADTYPE_SERVICES_LIST_16BIT 0x14 //!< Service Solicitation: list of 16-bit Service UUIDs +#define GAP_ADTYPE_SERVICES_LIST_128BIT 0x15 //!< Service Solicitation: list of 128-bit Service UUIDs +#define GAP_ADTYPE_SERVICE_DATA 0x16 //!< Service Data - 16-bit UUID +#define GAP_ADTYPE_PUBLIC_TARGET_ADDR 0x17 //!< Public Target Address +#define GAP_ADTYPE_RANDOM_TARGET_ADDR 0x18 //!< Random Target Address +#define GAP_ADTYPE_APPEARANCE 0x19 //!< Appearance +#define GAP_ADTYPE_ADV_INTERVAL 0x1A //!< Advertising Interval +#define GAP_ADTYPE_LE_BD_ADDR 0x1B //!< LE Bluetooth Device Address +#define GAP_ADTYPE_LE_ROLE 0x1C //!< LE Role +#define GAP_ADTYPE_SIMPLE_PAIRING_HASHC_256 0x1D //!< Simple Pairing Hash C-256 +#define GAP_ADTYPE_SIMPLE_PAIRING_RANDR_256 0x1E //!< Simple Pairing Randomizer R-256 +#define GAP_ADTYPE_SERVICE_DATA_32BIT 0x20 //!< Service Data - 32-bit UUID +#define GAP_ADTYPE_SERVICE_DATA_128BIT 0x21 //!< Service Data - 128-bit UUID +#define GAP_ADTYPE_LE_SC_CONFIRMATION_VALUE 0x22 //!< LE Secure Connections Confirmation Value +#define GAP_ADTYPE_LE_SC_RANDOM_VALUE 0x23 //!< LE Secure Connections Random Value +#define GAP_ADTYPE_URI 0x24 //!< URI +#define GAP_ADTYPE_INDOOR_POSITION 0x25 //!< Indoor Positioning Service v1.0 or later +#define GAP_ADTYPE_TRAN_DISCOVERY_DATA 0x26 //!< Transport Discovery Service v1.0 or later +#define GAP_ADTYPE_SUPPORTED_FEATURES 0x27 //!< LE Supported Features +#define GAP_ADTYPE_CHANNEL_MAP_UPDATE 0x28 //!< Channel Map Update Indication +#define GAP_ADTYPE_PB_ADV 0x29 //!< PB-ADV. Mesh Profile Specification Section 5.2.1 +#define GAP_ADTYPE_MESH_MESSAGE 0x2A //!< Mesh Message. Mesh Profile Specification Section 3.3.1 +#define GAP_ADTYPE_MESH_BEACON 0x2B //!< Mesh Beacon. Mesh Profile Specification Section 3.9 +#define GAP_ADTYPE_BIG_INFO 0x2C //!< BIGInfo +#define GAP_ADTYPE_BROADCAST_CODE 0x2D //!< Broadcast_Code +#define GAP_ADTYPE_RSL_SET_IDENT 0x2E //!< Resolvable Set Identifier.Coordinated Set Identification Profile 1.0 +#define GAP_ADTYPE_ADV_INTERVAL_LONG 0x2F //!< Advertising Interval - long +#define GAP_ADTYPE_BROADCAST_NAME 0x30 //!< Public Broadcast Profile v1.0 or later +#define GAP_ADTYPE_ENCRYPTED_ADV_DATA 0x31 //!< Core Specification Supplement, Part A, Section 1.23 +#define GAP_ADTYPE_PERI_ADV_RSP_TIMING_INFO 0x32 //!< Periodic Advertising Response Timing Information +#define GAP_ADTYPE_ELECTRONIC_SHELF_LABEL 0x34 //!< ESL Profile +#define GAP_ADTYPE_3D_INFO_DATA 0x3D //!< 3D Information Data +#define GAP_ADTYPE_MANUFACTURER_SPECIFIC 0xFF //!< Manufacturer Specific Data: first 2 octets contain the Company Identifier Code followed by the additional manufacturer specific data + +// GAP_ADTYPE_FLAGS_MODES GAP ADTYPE Flags Discovery Modes +#define GAP_ADTYPE_FLAGS_LIMITED 0x01 //!< Discovery Mode: LE Limited Discoverable Mode +#define GAP_ADTYPE_FLAGS_GENERAL 0x02 //!< Discovery Mode: LE General Discoverable Mode +#define GAP_ADTYPE_FLAGS_BREDR_NOT_SUPPORTED 0x04 //!< Discovery Mode: BR/EDR Not Supported + +// GAP_APPEARANCE_VALUES GAP Appearance Values +#define GAP_APPEARE_UNKNOWN 0x0000 //!< Unknown +#define GAP_APPEARE_GENERIC_PHONE 0x0040 //!< Generic Phone +#define GAP_APPEARE_GENERIC_COMPUTER 0x0080 //!< Generic Computer +#define GAP_APPEARE_GENERIC_WATCH 0x00C0 //!< Generic Watch +#define GAP_APPEARE_WATCH_SPORTS 0x00C1 //!< Watch: Sports Watch +#define GAP_APPEARE_GENERIC_CLOCK 0x0100 //!< Generic Clock +#define GAP_APPEARE_GENERIC_DISPLAY 0x0140 //!< Generic Display +#define GAP_APPEARE_GENERIC_RC 0x0180 //!< Generic Remote Control +#define GAP_APPEARE_GENERIC_EYE_GALSSES 0x01C0 //!< Generic Eye-glasses +#define GAP_APPEARE_GENERIC_TAG 0x0200 //!< Generic Tag +#define GAP_APPEARE_GENERIC_KEYRING 0x0240 //!< Generic Keyring +#define GAP_APPEARE_GENERIC_MEDIA_PLAYER 0x0280 //!< Generic Media Player +#define GAP_APPEARE_GENERIC_BARCODE_SCANNER 0x02C0 //!< Generic Barcode Scanner +#define GAP_APPEARE_GENERIC_THERMOMETER 0x0300 //!< Generic Thermometer +#define GAP_APPEARE_GENERIC_THERMO_EAR 0x0301 //!< Thermometer: Ear +#define GAP_APPEARE_GENERIC_HR_SENSOR 0x0340 //!< Generic Heart rate Sensor +#define GAP_APPEARE_GENERIC_HRS_BELT 0x0341 //!< Heart Rate Sensor: Heart Rate Belt +#define GAP_APPEARE_GENERIC_BLOOD_PRESSURE 0x0380 //!< Generic Blood Pressure +#define GAP_APPEARE_GENERIC_BP_ARM 0x0381 //!< Blood Pressure: Arm +#define GAP_APPEARE_GENERIC_BP_WRIST 0x0382 //!< Blood Pressure: Wrist +#define GAP_APPEARE_GENERIC_HID 0x03C0 //!< Generic Human Interface Device (HID) +#define GAP_APPEARE_HID_KEYBOARD 0x03C1 //!< HID Keyboard +#define GAP_APPEARE_HID_MOUSE 0x03C2 //!< HID Mouse +#define GAP_APPEARE_HID_JOYSTIC 0x03C3 //!< HID Joystick +#define GAP_APPEARE_HID_GAMEPAD 0x03C4 //!< HID Gamepad +#define GAP_APPEARE_HID_DIGITIZER_TYABLET 0x03C5 //!< HID Digitizer Tablet +#define GAP_APPEARE_HID_DIGITAL_CARDREADER 0x03C6 //!< HID Card Reader +#define GAP_APPEARE_HID_DIGITAL_PEN 0x03C7 //!< HID Digital Pen +#define GAP_APPEARE_HID_BARCODE_SCANNER 0x03C8 //!< HID Barcode Scanner + +/************************************gapRole***********************************/ +// GAPROLE_PROFILE_PARAMETERS GAP Role Manager Parameters +#define GAPROLE_PROFILEROLE 0x300 //!< Reading this parameter will return GAP Role type. Read Only. Size is uint8_t. +#define GAPROLE_IRK 0x301 //!< Identity Resolving Key. Read/Write. Size is uint8_t[KEYLEN]. Default is all 0, which means that the IRK will be randomly generated. +#define GAPROLE_SRK 0x302 //!< Signature Resolving Key. Read/Write. Size is uint8_t[KEYLEN]. Default is all 0, which means that the SRK will be randomly generated. +#define GAPROLE_SIGNCOUNTER 0x303 //!< Sign Counter. Read/Write. Size is uint32_t. Default is 0. +#define GAPROLE_BD_ADDR 0x304 //!< Device's Address. Read Only. Size is uint8_t[B_ADDR_LEN]. This item is read from the controller. +#define GAPROLE_ADVERT_ENABLED 0x305 //!< Enable/Disable Advertising. Read/Write. Size is uint8_t. Default is TRUE=Enabled. +#define GAPROLE_ADVERT_DATA 0x306 //!< Advertisement Data. Read/Write. Max size is B_MAX_ADV_EXT_LEN. Default to all 0. +#define GAPROLE_SCAN_RSP_DATA 0x307 //!< Scan Response Data. Read/Write. Max size is B_MAX_ADV_EXT_LEN. Defaults to all 0. +#define GAPROLE_ADV_EVENT_TYPE 0x308 //!< Advertisement Type. Read/Write. Size is uint8_t. Default is GAP_ADTYPE_ADV_IND. +#define GAPROLE_ADV_DIRECT_TYPE 0x309 //!< Direct Advertisement Address Type. Read/Write. Size is uint8_t. Default is ADDRTYPE_PUBLIC. +#define GAPROLE_ADV_DIRECT_ADDR 0x30A //!< Direct Advertisement Address. Read/Write. Size is uint8_t[B_ADDR_LEN]. Default is NULL. +#define GAPROLE_ADV_CHANNEL_MAP 0x30B //!< Which channels to advertise on. Read/Write Size is uint8_t. Default is GAP_ADVCHAN_ALL +#define GAPROLE_ADV_FILTER_POLICY 0x30C //!< Filter Policy. Ignored when directed advertising is used. Read/Write. Size is uint8_t. Default is GAP_FILTER_POLICY_ALL. +#define GAPROLE_STATE 0x30D //!< Reading this parameter will return GAP Peripheral Role State. Read Only. Size is uint8_t. +#define GAPROLE_MAX_SCAN_RES 0x30E //!< Maximum number of discover scan results to receive. Default is 0 = unlimited. +#define GAPROLE_MIN_CONN_INTERVAL 0x311 //!< Minimum Connection Interval to allow (n * 1.25ms). Range: 7.5 msec to 4 seconds (0x0006 to 0x0C80). Read/Write. Size is uint16_t. Default is 7.5 milliseconds (0x0006). +#define GAPROLE_MAX_CONN_INTERVAL 0x312 //!< Maximum Connection Interval to allow (n * 1.25ms). Range: 7.5 msec to 4 seconds (0x0006 to 0x0C80). Read/Write. Size is uint16_t. Default is 4 seconds (0x0C80). +// v5.x +#define GAPROLE_PHY_TX_SUPPORTED 0x313 //!< The transmitter PHYs that the Host prefers the Controller to use.Default is GAP_PHY_BIT_ALL +#define GAPROLE_PHY_RX_SUPPORTED 0x314 //!< The receiver PHYs that the Host prefers the Controller to use.Default is GAP_PHY_BIT_ALL +#define GAPROLE_PERIODIC_ADVERT_DATA 0x315 //!< Periodic advertisement Data. Read/Write. Max size is B_MAX_ADV_PERIODIC_LEN. Default to all 0. +#define GAPROLE_PERIODIC_ADVERT_ENABLED 0x316 //!< bit0:Enable/Disable Periodic Advertising. Read/Write. Size is uint8_t. Default is FALSE=Disable. + //!< bit1:Include the ADI field in AUX_SYNC_IND PDUs +#define GAPROLE_CTE_CONNECTIONLESS_ENABLED 0x317 //!< Enable/Disable Connectionless CTE Transmit. Read/Write. Size is uint8_t. Default is FALSE=Disable. + +/************************************GAPBOND***********************************/ +// GAPBOND_PROFILE_PARAMETERS GAP Bond Manager Parameters +#define GAPBOND_PERI_PAIRING_MODE 0x400 //!< Pairing Mode: @ref GAPBOND_PAIRING_MODE_DEFINES. Read/Write. Size is uint8_t. Default is GAPBOND_PAIRING_MODE_WAIT_FOR_REQ. +#define GAPBOND_PERI_MITM_PROTECTION 0x401 //!< Man-In-The-Middle (MITM) basically turns on Passkey protection in the pairing algorithm. Read/Write. Size is uint8_t. Default is 0(disabled). +#define GAPBOND_PERI_IO_CAPABILITIES 0x402 //!< I/O capabilities. Read/Write. Size is uint8_t. Default is GAPBOND_IO_CAP_DISPLAY_ONLY @ref GAPBOND_IO_CAP_DEFINES. +#define GAPBOND_PERI_OOB_ENABLED 0x403 //!< OOB data available for pairing algorithm. Read/Write. Size is uint8_t. Default is 0(disabled). +#define GAPBOND_PERI_OOB_DATA 0x404 //!< OOB Data. Read/Write. size uint8_t[16]. Default is all 0's. +#define GAPBOND_PERI_BONDING_ENABLED 0x405 //!< Request Bonding during the pairing process if enabled. Read/Write. Size is uint8_t. Default is 0(disabled). +#define GAPBOND_PERI_KEY_DIST_LIST 0x406 //!< The key distribution list for bonding. size is uint8_t. @ref GAPBOND_KEY_DIST_DEFINES. Default is 0x77. +#define GAPBOND_PERI_DEFAULT_PASSCODE 0x407 //!< The default passcode for MITM protection. size is uint32_t. Range is 0 - 999,999. Default is 0. +#define GAPBOND_CENT_PAIRING_MODE 0x408 //!< Pairing Mode: @ref GAPBOND_PAIRING_MODE_DEFINES. Read/Write. Size is uint8_t. Default is GAPBOND_PAIRING_MODE_WAIT_FOR_REQ. +#define GAPBOND_CENT_MITM_PROTECTION 0x409 //!< Man-In-The-Middle (MITM) basically turns on Passkey protection in the pairing algorithm. Read/Write. Size is uint8_t. Default is 0(disabled). +#define GAPBOND_CENT_IO_CAPABILITIES 0x40A //!< I/O capabilities. Read/Write. Size is uint8_t. Default is GAPBOND_IO_CAP_DISPLAY_ONLY @ref GAPBOND_IO_CAP_DEFINES. +#define GAPBOND_CENT_OOB_ENABLED 0x40B //!< OOB data available for pairing algorithm. Read/Write. Size is uint8_t. Default is 0(disabled). +#define GAPBOND_CENT_OOB_DATA 0x40C //!< OOB Data. Read/Write. size uint8_t[16]. Default is all 0's. +#define GAPBOND_CENT_BONDING_ENABLED 0x40D //!< Request Bonding during the pairing process if enabled. Read/Write. Size is uint8_t. Default is 0(disabled). +#define GAPBOND_CENT_KEY_DIST_LIST 0x40E //!< The key distribution list for bonding. size is uint8_t. @ref GAPBOND_KEY_DIST_DEFINES. Default is 0x77. +#define GAPBOND_CENT_DEFAULT_PASSCODE 0x40F //!< The default passcode for MITM protection. size is uint32_t. Range is 0 - 999,999. Default is 0. +#define GAPBOND_ERASE_ALLBONDS 0x410 //!< Erase all of the bonded devices. Write Only. No Size. +#define GAPBOND_AUTO_FAIL_PAIRING 0x411 //!< TEST MODE (DO NOT USE) to automatically send a Pairing Fail when a Pairing Request is received. Read/Write. size is uint8_t. Default is 0 (disabled). +#define GAPBOND_AUTO_FAIL_REASON 0x412 //!< TEST MODE (DO NOT USE) Pairing Fail reason when auto failing. Read/Write. size is uint8_t. Default is 0x05 (SMP_PAIRING_FAILED_NOT_SUPPORTED). +#define GAPBOND_KEYSIZE 0x413 //!< Key Size used in pairing. Read/Write. size is uint8_t. Default is 16. +#define GAPBOND_AUTO_SYNC_WL 0x414 //!< Clears the White List adds to it each unique address stored by bonds in NV. Read/Write. Size is uint8_t. Default is FALSE. +#define GAPBOND_BOND_COUNT 0x415 //!< Gets the total number of bonds stored in NV. Read Only. Size is uint8_t. Default is 0 (no bonds). +#define GAPBOND_BOND_FAIL_ACTION 0x416 //!< Possible actions Central may take upon an unsuccessful bonding. Write Only. Size is uint8_t. Default is 0x02 (Terminate link upon unsuccessful bonding). +#define GAPBOND_ERASE_SINGLEBOND 0x417 //!< Erase a single bonded device. Write only. Must provide address type followed by device address. +#define GAPBOND_BOND_AUTO 0x418 //!< Auto save bonds into FLASH. Write Only. size is uint8_t. Default is 1(enabled). +#define GAPBOND_BOND_UPDATE 0x419 //!< Save current bonds into FLASH. Write Only. No Size. +#define GAPBOND_DISABLE_SINGLEBOND 0x41A //!< Disable a single bonded device. Write only. Must provide address type followed by device address. +#define GAPBOND_ENABLE_SINGLEBOND 0x41B //!< Ensable a single bonded device. Write only. Must provide address type followed by device address. +#define GAPBOND_DISABLE_ALLBONDS 0x41C //!< Disable all of the bonded devices. Write Only. No Size. +#define GAPBOND_ENABLE_ALLBONDS 0x41D //!< Ensable all of the bonded devices. Write Only. No Size. +#define GAPBOND_ERASE_AUTO 0x41E //!< Auto erase all of the bonded devices when the maximum number is reached.Size is uint8_t. Default is 1(enabled). +#define GAPBOND_AUTO_SYNC_RL 0x41F //!< Clears the Resolving List adds to it each unique address stored by bonds in NV. Read/Write. Size is uint8_t. Default is FALSE. +#define GAPBOND_SET_ENC_PARAMS 0x420 //!< Set bonding parameters.size is bondEncParams_t. +#define GAPBOND_PERI_SC_PROTECTION 0x421 //!< Set peripheral sc enable. Default is FALSE. +#define GAPBOND_CENT_SC_PROTECTION 0x422 //!< Set central sc enable. Default is FALSE. + +// GAPBOND_PAIRING_MODE_DEFINES GAP Bond Manager Pairing Modes +#define GAPBOND_PAIRING_MODE_NO_PAIRING 0x00 //!< Pairing is not allowed +#define GAPBOND_PAIRING_MODE_WAIT_FOR_REQ 0x01 //!< Wait for a pairing request or slave security request +#define GAPBOND_PAIRING_MODE_INITIATE 0x02 //!< Don't wait, initiate a pairing request or slave security request + +// GAPBOND_IO_CAP_DEFINES GAP Bond Manager I/O Capabilities +#define GAPBOND_IO_CAP_DISPLAY_ONLY 0x00 //!< Display Only Device +#define GAPBOND_IO_CAP_DISPLAY_YES_NO 0x01 //!< Display and Yes and No Capable +#define GAPBOND_IO_CAP_KEYBOARD_ONLY 0x02 //!< Keyboard Only +#define GAPBOND_IO_CAP_NO_INPUT_NO_OUTPUT 0x03 //!< No Display or Input Device +#define GAPBOND_IO_CAP_KEYBOARD_DISPLAY 0x04 //!< Both Keyboard and Display Capable + +// GAPBOND_KEY_DIST_DEFINES GAP Bond Manager Key Distribution +#define GAPBOND_KEYDIST_SENCKEY 0x01 //!< Slave Encryption Key +#define GAPBOND_KEYDIST_SIDKEY 0x02 //!< Slave IRK and ID information +#define GAPBOND_KEYDIST_SSIGN 0x04 //!< Slave CSRK +#define GAPBOND_KEYDIST_SLINK 0x08 //!< Slave Link Key +#define GAPBOND_KEYDIST_MENCKEY 0x10 //!< Master Encrypton Key +#define GAPBOND_KEYDIST_MIDKEY 0x20 //!< Master IRK and ID information +#define GAPBOND_KEYDIST_MSIGN 0x40 //!< Master CSRK +#define GAPBOND_KEYDIST_MLINK 0x80 //!< Master Link Key + +// GAPBOND_PAIRING_STATE_DEFINES GAP Bond Manager Pairing States +#define GAPBOND_PAIRING_STATE_STARTED 0x00 //!< Pairing started +#define GAPBOND_PAIRING_STATE_COMPLETE 0x01 //!< Pairing complete +#define GAPBOND_PAIRING_STATE_BONDED 0x02 //!< Devices bonded +#define GAPBOND_PAIRING_STATE_BOND_SAVED 0x03 //!< Bonding record saved in NV + +// SMP_PAIRING_FAILED_DEFINES Pairing failure status values +#define SMP_PAIRING_FAILED_PASSKEY_ENTRY_FAILED 0x01 //!< The user input of the passkey failed, for example, the user cancelled the operation. +#define SMP_PAIRING_FAILED_OOB_NOT_AVAIL 0x02 //!< The OOB data is not available +#define SMP_PAIRING_FAILED_AUTH_REQ 0x03 //!< The pairing procedure can't be performed as authentication requirements can't be met due to IO capabilities of one or both devices +#define SMP_PAIRING_FAILED_CONFIRM_VALUE 0x04 //!< The confirm value doesn't match the calculated compare value +#define SMP_PAIRING_FAILED_NOT_SUPPORTED 0x05 //!< Pairing isn't supported by the device +#define SMP_PAIRING_FAILED_ENC_KEY_SIZE 0x06 //!< The resultant encryption key size is insufficient for the security requirements of this device. +#define SMP_PAIRING_FAILED_CMD_NOT_SUPPORTED 0x07 //!< The SMP command received is not supported on this device. +#define SMP_PAIRING_FAILED_UNSPECIFIED 0x08 //!< Pairing failed due to an unspecified reason +#define SMP_PAIRING_FAILED_REPEATED_ATTEMPTS 0x09 //!< Pairing or authentication procedure is disallowed because too little time has elapsed since the last pairing request or security request. +#define SMP_PAIRING_FAILED_INVALID_PARAMERERS 0x0A //!< The Invalid Parameters error code indicates that the command length is invalid or that a parameter is outside of the specified range. +#define SMP_PAIRING_FAILED_DHKEY_CHECK_FAILED 0x0B //!< Indicates to the remote device that the DHKey Check value received doesn’t match the one calculated by the local device. +#define SMP_PAIRING_FAILED_NUMERIC_COMPARISON 0x0C //!< Indicates that the confirm values in the numeric comparison protocol do not match. +#define SMP_PAIRING_FAILED_KEY_REJECTED 0x0F //!< Indicates that the device chose not to accept a distributed key. + +// GAPBOND_BONDING_FAILURE_DEFINES Bonding Failure Actions +#define GAPBOND_FAIL_NO_ACTION 0x00 //!< Take no action upon unsuccessful bonding +#define GAPBOND_FAIL_INITIATE_PAIRING 0x01 //!< Initiate pairing upon unsuccessful bonding +#define GAPBOND_FAIL_TERMINATE_LINK 0x02 //!< Terminate link upon unsuccessful bonding +#define GAPBOND_FAIL_TERMINATE_ERASE_BONDS 0x03 //!< Terminate link and erase all existing bonds on device upon unsuccessful bonding + +// Device NV Items +#define BLE_NVID_IRK 0x0002 //!< The Device's IRK +#define BLE_NVID_CSRK 0x0003 //!< The Device's CSRK +#define BLE_NVID_SIGNCOUNTER 0x0004 //!< The Device's Sign Counter + +//!< RF Mode BOND NV IDs +#define BLE_NVID_BOND_RF_START 0x0100 //!< Start of the RF BOND NV IDs + +// Bonding NV Items - Range 0x0200 - 0x6FFF +#define BLE_NVID_GAP_BOND_START 0x0200 //!< Start of the GAP Bond Manager's NV IDs + +// GAP BOND Items +#define GAP_BOND_REC_ID_OFFSET 0 //!< NV ID for the main bonding record +#define GAP_BOND_LOCAL_LTK_OFFSET 1 //!< NV ID for the bonding record's local LTK information +#define GAP_BOND_DEV_LTK_OFFSET 2 //!< NV ID for the bonding records' device LTK information +#define GAP_BOND_DEV_IRK_OFFSET 3 //!< NV ID for the bonding records' device IRK +#define GAP_BOND_DEV_CSRK_OFFSET 4 //!< NV ID for the bonding records' device CSRK +#define GAP_BOND_DEV_SIGN_COUNTER_OFFSET 5 //!< NV ID for the bonding records' device Sign Counter +#define GAP_BOND_REC_IDS 6 + +// Macros to calculate the index/offset in to NV space +#define calcNvID(Idx, offset) (((((Idx) * GAP_BOND_REC_IDS) + (offset))) + BLE_NVID_GAP_BOND_START) +#define mainRecordNvID(bondIdx) (calcNvID((bondIdx), GAP_BOND_REC_ID_OFFSET)) +#define localLTKNvID(bondIdx) (calcNvID((bondIdx), GAP_BOND_LOCAL_LTK_OFFSET)) +#define devLTKNvID(bondIdx) (calcNvID((bondIdx), GAP_BOND_DEV_LTK_OFFSET)) +#define devIRKNvID(bondIdx) (calcNvID((bondIdx), GAP_BOND_DEV_IRK_OFFSET)) +#define devCSRKNvID(bondIdx) (calcNvID((bondIdx), GAP_BOND_DEV_CSRK_OFFSET)) +#define devSignCounterNvID(bondIdx) (calcNvID((bondIdx), GAP_BOND_DEV_SIGN_COUNTER_OFFSET)) + +// GATT Configuration NV Items -Range 0x7000 - 0x7FFF +#define BLE_NVID_GATT_CFG_START 0x7000 //!< Start of the GATT Configuration NV IDs + +// Macros to calculate the GATT index/offset in to NV space +#define gattCfgNvID(Idx) ((Idx) + BLE_NVID_GATT_CFG_START) + +#define BLE_NVID_MAX_VAL 0x7FFF + +// Structure of NV data for the connected device's encryption information +typedef struct +{ + uint8_t LTK[KEYLEN]; //!< Long Term Key (LTK) + uint16_t div; //!< LTK eDiv + uint8_t rand[B_RANDOM_NUM_SIZE]; //!< LTK random number + uint8_t keySize; //!< LTK key size +} gapBondLTK_t; + +// Structure of NV data for the connected device's address information +typedef struct +{ + uint8_t publicAddr[B_ADDR_LEN]; //!< Central's address + uint8_t reconnectAddr[B_ADDR_LEN]; //!< Privacy Reconnection Address + uint16_t stateFlags; //!< State flags: SM_AUTH_STATE_AUTHENTICATED & SM_AUTH_STATE_BONDING + uint8_t bondsToDelete; + uint8_t publicAddrType; //!< Central's address type +} gapBondRec_t; + +// Structure of NV data for the connected device's characteristic configuration +typedef struct +{ + uint16_t attrHandle; //!< attribute handle + uint8_t value; //!< attribute value for this device +} gapBondCharCfg_t; + +/********************************************************************* + * TYPEDEFS + */ +typedef struct +{ + uint8_t srk[KEYLEN]; //!< Signature Resolving Key + uint32_t signCounter; //!< Sign Counter +} linkSec_t; + +typedef struct +{ + uint8_t ltk[KEYLEN]; //!< Long Term Key + uint16_t div; //!< Diversifier + uint8_t rand[B_RANDOM_NUM_SIZE]; //!< random number + uint8_t keySize; //!< LTK Key Size + uint8_t gapBondInvalid; +} encParams_t; + +typedef struct +{ + uint8_t connRole; //!< GAP Profile Roles @GAP_PROFILE_ROLE_DEFINES + uint8_t addrType; //!< Address type of connected device + uint8_t addr[B_ADDR_LEN]; //!< Other Device's address + encParams_t encParams; +} bondEncParams_t; + +typedef struct +{ + uint8_t taskID; //!< Application that controls the link + uint16_t connectionHandle; //!< Controller connection handle + uint8_t stateFlags; //!< LINK_CONNECTED, LINK_AUTHENTICATED... + uint8_t addrType; //!< Address type of connected device + uint8_t addr[B_ADDR_LEN]; //!< Other Device's address + uint8_t connRole; //!< Connection formed as central or peripheral + uint16_t connInterval; //!< The connection's interval (n * 1.25ms) + uint16_t connLatency; + uint16_t connTimeout; + uint16_t MTU; //!< The connection's MTU size + linkSec_t sec; //!< Connection Security related items + encParams_t *pEncParams; //!< pointer to LTK, ediv, rand. if needed. + uint16_t smEvtID; + void *pPairingParams; + void *pAuthLink; +} linkDBItem_t; + +// function pointer used to register for a status callback +typedef void (*pfnLinkDBCB_t)( uint16_t connectionHandle, uint8_t changeType ); +// function pointer used to perform specialized link database searches +typedef void (*pfnPerformFuncCB_t)( linkDBItem_t *pLinkItem ); + +/** + * Attribute Type format (2 or 16 octet UUID). + */ +typedef struct +{ + uint8_t len; //!< Length of UUID (2 or 16) + uint8_t uuid[ATT_UUID_SIZE]; //!< 16 or 128 bit UUID +} attAttrType_t; + +/** + * Attribute Type format (2-octet Bluetooth UUID). + */ +typedef struct +{ + uint8_t len; //!< Length of UUID (2) + uint8_t uuid[ATT_BT_UUID_SIZE]; //!< 16 bit UUID +} attAttrBtType_t; + +/** + * Error Response format. + */ +typedef struct +{ + uint8_t reqOpcode; //!< Request that generated this error response + uint16_t handle; //!< Attribute handle that generated error response + uint8_t errCode; //!< Reason why the request has generated error response +} attErrorRsp_t; + +/** + * Exchange MTU Request format. + */ +typedef struct +{ + uint16_t clientRxMTU; //!< Client receive MTU size +} attExchangeMTUReq_t; + +/** + * Exchange MTU Response format. + */ +typedef struct +{ + uint16_t serverRxMTU; //!< Server receive MTU size +} attExchangeMTURsp_t; + +/** + * Find Information Request format. + */ +typedef struct +{ + uint16_t startHandle; //!< First requested handle number (must be first field) + uint16_t endHandle; //!< Last requested handle number +} attFindInfoReq_t; + +/** + * Find Information Response format. + */ +typedef struct +{ + uint16_t numInfo; //!< Number of attribute handle-UUID pairs found + uint8_t format; //!< Format of information data + uint8_t *pInfo; //!< Information data whose format is determined by format field (4 to ATT_MTU_SIZE-2) +} attFindInfoRsp_t; + +/** + * Find By Type Value Request format. + */ +typedef struct +{ + uint16_t startHandle; //!< First requested handle number (must be first field) + uint16_t endHandle; //!< Last requested handle number + attAttrBtType_t type; //!< 2-octet UUID to find + uint16_t len; //!< Length of value + uint8_t *pValue; //!< Attribute value to find (0 to ATT_MTU_SIZE-7) +} attFindByTypeValueReq_t; + +/** + * Find By Type Value Response format. + */ +typedef struct +{ + uint16_t numInfo; //!< Number of handles information found + uint8_t *pHandlesInfo; //!< List of 1 or more handles information (4 to ATT_MTU_SIZE-1) +} attFindByTypeValueRsp_t; + +/** + * Read By Type Request format. + */ +typedef struct +{ + uint16_t startHandle; //!< First requested handle number (must be first field) + uint16_t endHandle; //!< Last requested handle number + attAttrType_t type; //!< Requested type (2 or 16 octet UUID) +} attReadByTypeReq_t; + +/** + * Read By Type Response format. + */ +typedef struct +{ + uint16_t numPairs; //!< Number of attribute handle-UUID pairs found + uint16_t len; //!< Size of each attribute handle-value pair + uint8_t *pDataList; //!< List of 1 or more attribute handle-value pairs (2 to ATT_MTU_SIZE-2) +} attReadByTypeRsp_t; + +/** + * Read Request format. + */ +typedef struct +{ + uint16_t handle; //!< Handle of the attribute to be read (must be first field) +} attReadReq_t; + +/** + * Read Response format. + */ +typedef struct +{ + uint16_t len; //!< Length of value + uint8_t *pValue; //!< Value of the attribute with the handle given (0 to ATT_MTU_SIZE-1) +} attReadRsp_t; + +/** + * Read Blob Req format. + */ +typedef struct +{ + uint16_t handle; //!< Handle of the attribute to be read (must be first field) + uint16_t offset; //!< Offset of the first octet to be read +} attReadBlobReq_t; + +/** + * Read Blob Response format. + */ +typedef struct +{ + uint16_t len; //!< Length of value + uint8_t *pValue; //!< Part of the value of the attribute with the handle given (0 to ATT_MTU_SIZE-1) +} attReadBlobRsp_t; + +/** + * Read Multiple Request format. + */ +typedef struct +{ + uint8_t *pHandles; //!< Set of two or more attribute handles (4 to ATT_MTU_SIZE-1) - must be first field + uint16_t numHandles; //!< Number of attribute handles +} attReadMultiReq_t; + +/** + * Read Multiple Response format. + */ +typedef struct +{ + uint16_t len; //!< Length of values + uint8_t *pValues; //!< Set of two or more values (0 to ATT_MTU_SIZE-1) +} attReadMultiRsp_t; + +/** + * Read By Group Type Request format. + */ +typedef struct +{ + uint16_t startHandle; //!< First requested handle number (must be first field) + uint16_t endHandle; //!< Last requested handle number + attAttrType_t type; //!< Requested group type (2 or 16 octet UUID) +} attReadByGrpTypeReq_t; + +/** + * Read By Group Type Response format. + */ +typedef struct +{ + uint16_t numGrps; //!< Number of attribute handle, end group handle and value sets found + uint16_t len; //!< Length of each attribute handle, end group handle and value set + uint8_t *pDataList; //!< List of 1 or more attribute handle, end group handle and value (4 to ATT_MTU_SIZE-2) +} attReadByGrpTypeRsp_t; + +/** + * Write Request format. + */ +typedef struct +{ + uint16_t handle; //!< Handle of the attribute to be written (must be first field) + uint16_t len; //!< Length of value + uint8_t *pValue; //!< Value of the attribute to be written (0 to ATT_MTU_SIZE-3) + uint8_t sig; //!< Authentication Signature status (not included (0), valid (1), invalid (2)) + uint8_t cmd; //!< Command Flag +} attWriteReq_t; + +/** + * Prepare Write Request format. + */ +typedef struct +{ + uint16_t handle; //!< Handle of the attribute to be written (must be first field) + uint16_t offset; //!< Offset of the first octet to be written + uint16_t len; //!< Length of value + uint8_t *pValue; //!< Part of the value of the attribute to be written (0 to ATT_MTU_SIZE-5) - must be allocated +} attPrepareWriteReq_t; + +/** + * Prepare Write Response format. + */ +typedef struct +{ + uint16_t handle; //!< Handle of the attribute that has been read + uint16_t offset; //!< Offset of the first octet to be written + uint16_t len; //!< Length of value + uint8_t *pValue; //!< Part of the value of the attribute to be written (0 to ATT_MTU_SIZE-5) +} attPrepareWriteRsp_t; + +/** + * Execute Write Request format. + */ +typedef struct +{ + uint8_t flags; //!< 0x00 - cancel all prepared writes. + //!< 0x01 - immediately write all pending prepared values. +} attExecuteWriteReq_t; + +/** + * Handle Value Notification format. + */ +typedef struct +{ + uint16_t handle; //!< Handle of the attribute that has been changed (must be first field) + uint16_t len; //!< Length of value + uint8_t *pValue; //!< Current value of the attribute (0 to ATT_MTU_SIZE-3) +} attHandleValueNoti_t; + +/** + * Handle Value Indication format. + */ +typedef struct +{ + uint16_t handle; //!< Handle of the attribute that has been changed (must be first field) + uint16_t len; //!< Length of value + uint8_t *pValue; //!< Current value of the attribute (0 to ATT_MTU_SIZE-3) +} attHandleValueInd_t; + +/** + * ATT Flow Control Violated Event message format. This message is sent to the + * app by the local ATT Server or Client when a sequential ATT Request-Response + * or Indication-Confirmation protocol flow control is violated for a connection. + * All subsequent ATT Requests and Indications received by the local ATT Server + * and Client respectively will be dropped. + * + * This message is to inform the app (that has registered with GAP by calling + * GAP_RegisterForMsgs()) in case it wants to drop the connection. + */ +typedef struct +{ + uint8_t opcode; //!< opcode of message that caused flow control violation + uint8_t pendingOpcode; //!< opcode of pending message +} attFlowCtrlViolatedEvt_t; + +/** + * ATT MTU Updated Event message format. This message is sent to the app + * by the local ATT Server or Client when the ATT MTU size is updated for a + * connection. The default ATT MTU size is 23 octets. + * + * This message is to inform the app (that has registered with GAP by calling + * GAP_RegisterForMsgs()) about the new ATT MTU size negotiated for a connection. + */ +typedef struct +{ + uint16_t MTU; //!< new MTU size +} attMtuUpdatedEvt_t; + +/** + * ATT Message format. It's a union of all attribute protocol messages and + * locally-generated events used between the attribute protocol and upper + * layer profile/application. + */ +typedef union +{ + // Request messages + attExchangeMTUReq_t exchangeMTUReq; //!< ATT Exchange MTU Request + attFindInfoReq_t findInfoReq; //!< ATT Find Information Request + attFindByTypeValueReq_t findByTypeValueReq; //!< ATT Find By Type Value Request + attReadByTypeReq_t readByTypeReq; //!< ATT Read By Type Request + attReadReq_t readReq; //!< ATT Read Request + attReadBlobReq_t readBlobReq; //!< ATT Read Blob Request + attReadMultiReq_t readMultiReq; //!< ATT Read Multiple Request + attReadByGrpTypeReq_t readByGrpTypeReq; //!< ATT Read By Group Type Request + attWriteReq_t writeReq; //!< ATT Write Request + attPrepareWriteReq_t prepareWriteReq; //!< ATT Prepare Write Request + attExecuteWriteReq_t executeWriteReq; //!< ATT Execute Write Request + + // Response messages + attErrorRsp_t errorRsp; //!< ATT Error Response + attExchangeMTURsp_t exchangeMTURsp; //!< ATT Exchange MTU Response + attFindInfoRsp_t findInfoRsp; //!< ATT Find Information Response + attFindByTypeValueRsp_t findByTypeValueRsp; //!< ATT Find By Type Value Response + attReadByTypeRsp_t readByTypeRsp; //!< ATT Read By Type Response + attReadRsp_t readRsp; //!< ATT Read Response + attReadBlobRsp_t readBlobRsp; //!< ATT Read Blob Response + attReadMultiRsp_t readMultiRsp; //!< ATT Read Multiple Response + attReadByGrpTypeRsp_t readByGrpTypeRsp; //!< ATT Read By Group Type Response + attPrepareWriteRsp_t prepareWriteRsp; //!< ATT Prepare Write Response + + // Indication and Notification messages + attHandleValueNoti_t handleValueNoti; //!< ATT Handle Value Notification + attHandleValueInd_t handleValueInd; //!< ATT Handle Value Indication + + // Locally-generated event messages + attFlowCtrlViolatedEvt_t flowCtrlEvt; //!< ATT Flow Control Violated Event + attMtuUpdatedEvt_t mtuEvt; //!< ATT MTU Updated Event +} attMsg_t; + +/** + * GATT Find By Type Value Request format. + */ +typedef struct +{ + uint16_t startHandle; //!< First requested handle number (must be first field) + uint16_t endHandle; //!< Last requested handle number + attAttrType_t value; //!< Primary service UUID value (2 or 16 octets) +} gattFindByTypeValueReq_t; + +/** + * GATT Read By Type Request format. + */ +typedef struct +{ + uint8_t discCharsByUUID; //!< Whether this is a GATT Discover Characteristics by UUID sub-procedure + attReadByTypeReq_t req; //!< Read By Type Request +} gattReadByTypeReq_t; + +/** + * GATT Write Long Request format. Do not change the order of the members. + */ +typedef struct +{ + uint8_t reliable; //!< Whether reliable writes requested (always FALSE for Write Long) + attPrepareWriteReq_t req; //!< ATT Prepare Write Request + uint16_t lastOffset; //!< Offset of last Prepare Write Request sent +} gattWriteLongReq_t; + +/** + * GATT Reliable Writes Request format. Do not change the order of the members. + */ +typedef struct +{ + uint8_t reliable; //!< Whether reliable writes requested (always TRUE for Reliable Writes) + attPrepareWriteReq_t *pReqs; //!< Array of Prepare Write Requests (must be allocated) + uint8_t numReqs; //!< Number of Prepare Write Requests + uint8_t index; //!< Index of last Prepare Write Request sent + uint8_t flags; //!< 0x00 - cancel all prepared writes. + //!< 0x01 - immediately write all pending prepared values. +} gattReliableWritesReq_t; + +/** + * GATT Message format. It's a union of all attribute protocol/profile messages + * and locally-generated events used between the attribute protocol/profile and + * upper layer application. + */ +typedef union +{ + // Request messages + attExchangeMTUReq_t exchangeMTUReq; //!< ATT Exchange MTU Request + attFindInfoReq_t findInfoReq; //!< ATT Find Information Request + attFindByTypeValueReq_t findByTypeValueReq; //!< ATT Find By Type Value Request + attReadByTypeReq_t readByTypeReq; //!< ATT Read By Type Request + attReadReq_t readReq; //!< ATT Read Request + attReadBlobReq_t readBlobReq; //!< ATT Read Blob Request + attReadMultiReq_t readMultiReq; //!< ATT Read Multiple Request + attReadByGrpTypeReq_t readByGrpTypeReq; //!< ATT Read By Group Type Request + attWriteReq_t writeReq; //!< ATT Write Request + attPrepareWriteReq_t prepareWriteReq; //!< ATT Prepare Write Request + attExecuteWriteReq_t executeWriteReq; //!< ATT Execute Write Request + gattFindByTypeValueReq_t gattFindByTypeValueReq;//!< GATT Find By Type Value Request + gattReadByTypeReq_t gattReadByTypeReq; //!< GATT Read By Type Request + gattWriteLongReq_t gattWriteLongReq; //!< GATT Long Write Request + gattReliableWritesReq_t gattReliableWritesReq; //!< GATT Reliable Writes Request + + // Response messages + attErrorRsp_t errorRsp; //!< ATT Error Response + attExchangeMTURsp_t exchangeMTURsp; //!< ATT Exchange MTU Response + attFindInfoRsp_t findInfoRsp; //!< ATT Find Information Response + attFindByTypeValueRsp_t findByTypeValueRsp; //!< ATT Find By Type Value Response + attReadByTypeRsp_t readByTypeRsp; //!< ATT Read By Type Response + attReadRsp_t readRsp; //!< ATT Read Response + attReadBlobRsp_t readBlobRsp; //!< ATT Read Blob Response + attReadMultiRsp_t readMultiRsp; //!< ATT Read Multiple Response + attReadByGrpTypeRsp_t readByGrpTypeRsp; //!< ATT Read By Group Type Response + attPrepareWriteRsp_t prepareWriteRsp; //!< ATT Prepare Write Response + + // Indication and Notification messages + attHandleValueNoti_t handleValueNoti; //!< ATT Handle Value Notification + attHandleValueInd_t handleValueInd; //!< ATT Handle Value Indication + + // Locally-generated event messages + attFlowCtrlViolatedEvt_t flowCtrlEvt; //!< ATT Flow Control Violated Event + attMtuUpdatedEvt_t mtuEvt; //!< ATT MTU Updated Event +} gattMsg_t; + +/** + * GATT tmos GATT_MSG_EVENT message format. This message is used to forward an + * incoming attribute protocol/profile message up to upper layer application. + */ +typedef struct +{ + tmos_event_hdr_t hdr; //!< GATT_MSG_EVENT and status + uint16_t connHandle; //!< Connection message was received on + uint8_t method; //!< Type of message + gattMsg_t msg; //!< Attribute protocol/profile message +} gattMsgEvent_t; + +/** + * GATT Attribute Type format. + */ +typedef struct +{ + uint8_t len; //!< Length of UUID (2 or 16) + const uint8_t *uuid; //!< Pointer to UUID +} gattAttrType_t; + +/** + * GATT Attribute format. + */ +typedef struct attAttribute_t +{ + gattAttrType_t type; //!< Attribute type (2 or 16 octet UUIDs) + uint8_t permissions; //!< Attribute permissions + uint16_t handle; //!< Attribute handle - assigned internally by attribute server + uint8_t *pValue; //!< Attribute value - encoding of the octet array is defined in + //!< the applicable profile. The maximum length of an attribute + //!< value shall be 512 octets. +} gattAttribute_t; + +/** + * GATT Service format. + */ +typedef struct +{ + uint16_t numAttrs; //!< Number of attributes in attrs + uint8_t encKeySize; //!< Minimum encryption key size required by service (7-16 bytes) + + /** Array of attribute records. + * note: The list must start with a Service attribute followed by + * all attributes associated with this Service attribute. + */ + gattAttribute_t *attrs; +} gattService_t; + +/** + * @brief Callback function prototype to read an attribute value. + * + * @note blePending can be returned ONLY for the following + * read operations: + * - Read Request: ATT_READ_REQ + * - Read Blob Request: ATT_READ_BLOB_REQ + * + * @note If blePending is returned then it's the responsibility of the application to respond to + * ATT_READ_REQ and ATT_READ_BLOB_REQ message with ATT_READ_RSP and ATT_READ_BLOB_RSP + * message respectively. + * + * @note Payload 'pValue' used with ATT_READ_RSP and ATT_READ_BLOB_RSP must be allocated using GATT_bm_alloc(). + * + * @param connHandle - connection request was received on + * @param pAttr - pointer to attribute + * @param pValue - pointer to data to be read (to be returned) + * @param pLen - length of data (to be returned) + * @param offset - offset of the first octet to be read + * @param maxLen - maximum length of data to be read + * @param method - type of read message + * + * @return SUCCESS: Read was successfully. + * blePending: A response is pending for this client. + * Error, otherwise: ref ATT_ERR_CODE_DEFINES. + */ +typedef uint8_t (*pfnGATTReadAttrCB_t)( uint16_t connHandle, gattAttribute_t *pAttr, uint8_t *pValue, + uint16_t *pLen, uint16_t offset, uint16_t maxLen, uint8_t method ); + +/** + * @brief Callback function prototype to write an attribute value. + * + * @note blePending can be returned ONLY for the following + * write operations: + * - Write Request: ATT_WRITE_REQ + * - Write Command: ATT_WRITE_CMD + * - Write Long: ATT_EXECUTE_WRITE_REQ + * - Reliable Writes: Multiple ATT_PREPARE_WRITE_REQ followed by one final ATT_EXECUTE_WRITE_REQ + * + * @note If blePending is returned then it's the responsibility of the application to 1) respond to + * ATT_WRITE_REQ and ATT_EXECUTE_WRITE_REQ message with ATT_WRITE_RSP and ATT_EXECUTE_WRITE_RSP + * message respectively, and 2) free each request payload 'pValue' using BM_free(). + * + * @note Write Command (ATT_WRITE_CMD) does NOT require a response message. + * + * @param connHandle - connection request was received on + * @param pAttr - pointer to attribute + * @param pValue - pointer to data to be written + * @param pLen - length of data + * @param offset - offset of the first octet to be written + * @param method - type of write message + * + * @return SUCCESS: Write was successfully. + * blePending: A response is pending for this client. + * Error, otherwise: ref ATT_ERR_CODE_DEFINES. + */ +typedef uint8_t (*pfnGATTWriteAttrCB_t)( uint16_t connHandle, gattAttribute_t *pAttr, uint8_t *pValue, + uint16_t len, uint16_t offset, uint8_t method ); + +/** + * @brief Callback function prototype to authorize a Read or Write operation + * on a given attribute. + * + * @param connHandle - connection request was received on + * @param pAttr - pointer to attribute + * @param opcode - request opcode (ATT_READ_REQ or ATT_WRITE_REQ) + * + * @return SUCCESS: Operation authorized. + * ATT_ERR_INSUFFICIENT_AUTHOR: Authorization required. + */ +typedef bStatus_t (*pfnGATTAuthorizeAttrCB_t)( uint16_t connHandle, gattAttribute_t *pAttr, + uint8_t opcode ); + +/** + * GATT Structure for Client Characteristic Configuration. + */ +typedef struct +{ + uint16_t connHandle; //!< Client connection handle + uint8_t value; //!< Characteristic configuration value for this client +} gattCharCfg_t; + +/** + * GATT Structure for service callback functions - must be setup by the application + * and used when GATTServApp_RegisterService() is called. + */ +typedef struct +{ + pfnGATTReadAttrCB_t pfnReadAttrCB; //!< Read callback function pointer + pfnGATTWriteAttrCB_t pfnWriteAttrCB; //!< Write callback function pointer + pfnGATTAuthorizeAttrCB_t pfnAuthorizeAttrCB; //!< Authorization callback function pointer +} gattServiceCBs_t; + +/*************************************gap**************************************/ +/** + * Connection parameters for the peripheral device. These numbers are used + * to compare against connection events and request connection parameter + * updates with the central. + */ +typedef struct +{ + uint16_t intervalMin; //!< Minimum value for the connection event (interval. 0x0006 - 0x0C80 * 1.25ms) + uint16_t intervalMax; //!< Maximum value for the connection event (interval. 0x0006 - 0x0C80 * 1.25ms) + uint16_t latency; //!< Number of LL latency connection events (0x0000 - 0x03e8) + uint16_t timeout; //!< Connection Timeout (0x000A - 0x0C80 * 10ms) +} gapPeriConnectParams_t; + +typedef struct +{ + uint8_t sessionKey[16]; //!< The shared session key. + uint8_t IV[8]; //!< The initialization vector. +} gapEncDataKey_t; + +/** + * GAP event header format. + */ +typedef struct +{ + tmos_event_hdr_t hdr; //!< GAP_MSG_EVENT and status + uint8_t opcode; //!< GAP type of command. Ref: @ref GAP_MSG_EVENT_DEFINES +} gapEventHdr_t; + +/** + * GAP_DEVICE_INIT_DONE_EVENT message format. This message is sent to the + * app when the Device Initialization is done [initiated by calling + * GAP_DeviceInit()]. + */ +typedef struct +{ + tmos_event_hdr_t hdr; //!< GAP_MSG_EVENT and status + uint8_t opcode; //!< GAP_DEVICE_INIT_DONE_EVENT + uint8_t devAddr[B_ADDR_LEN]; //!< Device's BD_ADDR + uint16_t dataPktLen; //!< HC_LE_Data_Packet_Length + uint8_t numDataPkts; //!< HC_Total_Num_LE_Data_Packets +} gapDeviceInitDoneEvent_t; + +/** + * GAP_SIGNATURE_UPDATED_EVENT message format. This message is sent to the + * app when the signature counter has changed. This message is to inform the + * application in case it wants to save it to be restored on reboot or reconnect. + * This message is sent to update a connection's signature counter and to update + * this device's signature counter. If devAddr == BD_ADDR, then this message pertains + * to this device. + */ +typedef struct +{ + tmos_event_hdr_t hdr; //!< GAP_MSG_EVENT and status + uint8_t opcode; //!< GAP_SIGNATURE_UPDATED_EVENT + uint8_t addrType; //!< Device's address type for devAddr + uint8_t devAddr[B_ADDR_LEN]; //!< Device's BD_ADDR, could be own address + uint32_t signCounter; //!< new Signed Counter +} gapSignUpdateEvent_t; + +/** + * GAP_DEVICE_INFO_EVENT message format. This message is sent to the + * app during a Device Discovery Request, when a new advertisement or scan + * response is received. + */ +typedef struct +{ + tmos_event_hdr_t hdr; //!< GAP_MSG_EVENT and status + uint8_t opcode; //!< GAP_DEVICE_INFO_EVENT + uint8_t eventType; //!< Advertisement Type: @ref GAP_ADVERTISEMENT_REPORT_TYPE_DEFINES + uint8_t addrType; //!< address type: @ref GAP_ADDR_TYPE_DEFINES + uint8_t addr[B_ADDR_LEN]; //!< Address of the advertisement or SCAN_RSP + int8_t rssi; //!< Advertisement or SCAN_RSP RSSI + uint8_t dataLen; //!< Length (in bytes) of the data field (evtData) + uint8_t *pEvtData; //!< Data field of advertisement or SCAN_RSP +} gapDeviceInfoEvent_t; + +/** + * GAP_DIRECT_DEVICE_INFO_EVENT message format. This message is sent to the + * app during a Device Discovery Request, when a new advertisement or scan + * response is received. + */ +typedef struct +{ + tmos_event_hdr_t hdr; //!< GAP_MSG_EVENT and status + uint8_t opcode; //!< GAP_DIRECT_DEVICE_INFO_EVENT + uint8_t eventType; //!< Advertisement Type: @ref GAP_ADVERTISEMENT_REPORT_TYPE_DEFINES + uint8_t addrType; //!< address type: @ref GAP_ADDR_TYPE_DEFINES + uint8_t addr[B_ADDR_LEN]; //!< Address of the advertisement or SCAN_RSP + uint8_t directAddrType; //!< public or random address type + uint8_t directAddr[B_ADDR_LEN]; //!< device address + int8_t rssi; //!< Advertisement or SCAN_RSP RSSI +} gapDirectDeviceInfoEvent_t; + +/** + * GAP_EXT_ADV_DEVICE_INFO_EVENT message format. This message is sent to the + * app during a Device Discovery Request, when a new advertisement or scan + * response is received. + */ +typedef struct +{ + tmos_event_hdr_t hdr; //!< GAP_MSG_EVENT and status + uint8_t opcode; //!< GAP_EXT_ADV_DEVICE_INFO_EVENT + uint8_t eventType; //!< Advertisement Type: @ref GAP_ADVERTISEMENT_REPORT_TYPE_DEFINES + uint8_t addrType; //!< address type: @ref GAP_ADDR_TYPE_DEFINES + uint8_t addr[B_ADDR_LEN]; //!< Address of the advertisement or SCAN_RSP + uint8_t primaryPHY; //!< Advertiser PHY on the primary advertising channel + uint8_t secondaryPHY; //!< Advertiser PHY on the secondary advertising channel + uint8_t advertisingSID; //!< Value of the Advertising SID subfield in the ADI field of the PDU + int8_t txPower; //!< Advertisement or SCAN_RSP power + int8_t rssi; //!< Advertisement or SCAN_RSP RSSI + uint16_t periodicAdvInterval; //!< the interval of periodic advertising + uint8_t directAddressType; //!< public or random address type + uint8_t directAddress[B_ADDR_LEN]; //!< device address + uint8_t dataLen; //!< Length (in bytes) of the data field (evtData) + uint8_t *pEvtData; //!< Data field of advertisement or SCAN_RSP +} gapExtAdvDeviceInfoEvent_t; + +/** + * Type of device discovery (Scan) to perform. + */ +typedef struct +{ + uint8_t taskID; //!< Requesting App's Task ID, used to return results + uint8_t mode; //!< Discovery Mode: @ref GAP_DEVDISC_MODE_DEFINES + uint8_t activeScan; //!< TRUE for active scanning + uint8_t whiteList; //!< TRUE to only allow advertisements from devices in the white list. +} gapDevDiscReq_t; + +/** + * Type of device. + */ +typedef struct +{ + uint8_t eventType; //!< Indicates advertising event type used by the advertiser: @ref GAP_ADVERTISEMENT_REPORT_TYPE_DEFINES + uint8_t addrType; //!< Address Type: @ref GAP_ADDR_TYPE_DEFINES + uint8_t addr[B_ADDR_LEN]; //!< Device's Address +} gapDevRec_t; + +/** + * GAP_DEVICE_DISCOVERY_EVENT message format. This message is sent to the + * Application after a scan is performed. + */ +typedef struct +{ + tmos_event_hdr_t hdr; //!< GAP_MSG_EVENT and status + uint8_t opcode; //!< GAP_DEVICE_DISCOVERY_EVENT + uint8_t numDevs; //!< Number of devices found during scan + gapDevRec_t *pDevList; //!< array of device records +} gapDevDiscEvent_t; + +/** + * GAP_MAKE_DISCOVERABLE_DONE_EVENT message format. This message is sent to the + * app when the Advertise config is complete. + */ +typedef struct +{ + tmos_event_hdr_t hdr; //!< GAP_MSG_EVENT and status + uint8_t opcode; //!< GAP_MAKE_DISCOVERABLE_DONE_EVENT +} gapMakeDiscoverableRspEvent_t; + +/** + * GAP_END_DISCOVERABLE_DONE_EVENT message format. This message is sent to the + * app when the Advertising has stopped. + */ +typedef struct +{ + tmos_event_hdr_t hdr; //!< GAP_MSG_EVENT and status + uint8_t opcode; //!< GAP_END_DISCOVERABLE_DONE_EVENT +} gapEndDiscoverableRspEvent_t; + +/** + * GAP_PERIODIC_ADVERTISING_DONE_EVENT message format. This message is sent to the + * app when the Periodic Advertising config is complete. + */ +typedef struct +{ + tmos_event_hdr_t hdr; //!< GAP_MSG_EVENT and status + uint8_t opcode; //!< GAP_PERIODIC_ADVERTISING_DONE_EVENT +} gapMakePeriodicRspEvent_t; + +/** + * GAP_END_PERIODIC_ADV_DONE_EVENT message format. This message is sent to the + * app when the Periodic Advertising disable is complete. + */ +typedef struct +{ + tmos_event_hdr_t hdr; //!< GAP_MSG_EVENT and status + uint8_t opcode; //!< GAP_END_PERIODIC_ADV_DONE_EVENT +} gapEndPeriodicRspEvent_t; + +/** + * GAP_SYNC_ESTABLISHED_EVENT message format. This message is sent to the + * app when the Periodic Advertising Sync Establish is complete. + */ +typedef struct +{ + tmos_event_hdr_t hdr; //!< GAP_MSG_EVENT and status + uint8_t opcode; //!< GAP_SYNC_ESTABLISHED_EVENT + uint8_t status; //!< Periodic advertising sync status + uint16_t syncHandle; //!< Identifying the periodic advertising train + uint8_t advertisingSID; //!< Value of the Advertising SID subfield in the ADI field of the PDU + uint8_t devAddrType; //!< Device address type: @ref GAP_ADDR_TYPE_DEFINES + uint8_t devAddr[B_ADDR_LEN]; //!< Device address of sync + uint8_t advertisingPHY; //!< Advertiser PHY + uint16_t periodicInterval; //!< Periodic advertising interval + uint8_t clockAccuracy; //!< Clock Accuracy + uint8_t numSubevents; //!< Number of subevents.0x00-No subevents + uint8_t subInterval; //!< Subevent interval.0x00-No subevents + uint8_t rspSlotDelay; //!< Response slot delay.0x00-No response slots + uint8_t rspSlotSpacing; //!< Response slot spacing.0x00-No response slots +} gapSyncEstablishedEvent_t; + +/** + * GAP_PERIODIC_ADV_DEVICE_INFO_EVENT message format. This message is sent to the + * app during Periodic Advertising Sync, when received a Periodic Advertising packet + */ +typedef struct +{ + tmos_event_hdr_t hdr; //!< GAP_MSG_EVENT and status + uint8_t opcode; //!< GAP_PERIODIC_ADV_DEVICE_INFO_EVENT + uint16_t syncHandle; //!< Identifying the periodic advertising train + int8_t txPower; //!< Periodic advertising tx power,Units: dBm + int8_t rssi; //!< Periodic advertising rssi,Units: dBm + uint8_t unUsed; + uint16_t eventCounter; //!< The value of paEventCounter for the reported periodic advertising packet + uint8_t subevent; //!< The subevent number. 0xFF: No subevents + uint8_t dataStatus; //!< Data complete + uint8_t dataLength; //!< Length (in bytes) of the data field (evtData) + uint8_t *pEvtData; //!< Data field of periodic advertising data +} gapPeriodicAdvDeviceInfoEvent_t; + +/** + * GAP_SYNC_LOST_EVENT message format. This message is sent to the + * app when the Periodic Advertising Sync timeout period. + */ +typedef struct +{ + tmos_event_hdr_t hdr; //!< GAP_MSG_EVENT and status + uint8_t opcode; //!< GAP_SYNC_LOST_EVENT + uint16_t syncHandle; //!< Identifying the periodic advertising train +} gapSyncLostEvent_t; + +#define PKT_TRANSMITTED 0x00 +#define PKT_NOT_TRANSMITTED 0x01 + +typedef struct +{ + uint8_t taskID; //!< set periodic advertising task ID + uint8_t enable; //!< bit0 Enable periodic advertising + //!< bit1 Include the ADI field in AUX_SYNC_IND PDUs + uint8_t advHandle; //!< Used to identify a periodic advertising train + uint16_t advIntervalMin; //!< Minimum advertising interval for periodic advertising.Time = N × 1.25ms.Time Range: 7.5ms to 81.91875s + uint16_t advIntervalMax; //!< Maximum advertising interval for periodic advertising.Time = N × 1.25ms.Time Range: 7.5ms to 81.91875s + uint16_t advProperties; //!< bit6 Include TxPower in the advertising PDU + uint8_t numSubevents; //!< Number of subevents. + uint8_t subInterval; //!< Interval between subevents.Time = N × 1.25ms.Time Range: 7.5 ms to 318.75 ms + uint8_t rspSlotDelay; //!< Time between the advertising packet in a subevent and the first response slot.Time = N × 1.25 ms.Time Range: 1.25ms to 317.5ms + uint8_t rspSlotSpacing; //!< Time between response slots.Time = N × 0.125ms.Time Range: 0.25ms to 31.875ms + uint8_t numRspSlots; //!< Number of subevent response slots.Range: 0x01 to 0xFF +}gapPawrSetParam_t; + +typedef struct +{ + uint8_t subevent; //!< The subevent index of the data contained in this command. + uint8_t rspSlotStart; //!< The first response slots to be used in this subevent. + uint8_t rspSlotCount; //!< The number of response slots to be used. + uint8_t dataLength; //!< The number of octets in the Subevent_Data parameter. + uint16_t rspMaxLength; //!< + uint8_t *pData; //!< Advertising data +}gapPawrSetData_t; + +typedef struct +{ + uint16_t syncHandle; //!< identifying the PAwR train + uint16_t reqEvent; //!< The value of paEventCounter the periodic advertising packet that the Host is responding to + uint8_t reqSubevent; //!< The subevent for the periodic advertising packet that the Host is responding to + uint8_t rspSubevent; //!< Used to identify the subevent of the PAwR train. + uint8_t rspSlot; //!< Used to identify the response slot of the PAwR train. + uint8_t rspDataLength;//!< The number of octets in the Response_Data parameter. + uint8_t *pRspData; //!< Response data +} gapPawrSetResponseData_t; + +typedef struct +{ + tmos_event_hdr_t hdr; //!< GAP_MSG_EVENT and status + uint8_t opcode; //!< GAP_PERI_ADV_SUBEVENT_DATA_REQ_EVENT + uint8_t advHandle; + uint8_t subeventStart; + uint8_t subeventDataCount; +} gapPawrDataRequestEvent_t; + +typedef struct +{ + uint8_t txPower; + int8_t rssi; + uint8_t cteType; + uint8_t rspSlot; + uint8_t dataStatus; + uint8_t dataLength; + uint8_t *pData; +}pawrResponseInfo_t; + +typedef struct +{ + tmos_event_hdr_t hdr; //!< GAP_MSG_EVENT and status + uint8_t opcode; //!< GAP_PERI_ADV_RESPONSE_REPORT_EVENT + uint8_t advHandle; + uint8_t subevent; + uint8_t txStatus; //!< 0x00 packet was transmitted. 0x01 packet was not transmitted. + uint8_t numResponses; + pawrResponseInfo_t *pList; +} gapPawrResponseEvent_t; + +typedef struct +{ + uint8_t advHandle; //!< Used to identify a periodic advertising train + uint8_t subevent; //!< Subevent where the connection request is to be sent. + uint8_t ownAddrType; + uint8_t peerAddrType; + uint8_t peerAddr[6]; + uint16_t connIntervalMin; + uint16_t connIntervalMax; + uint16_t maxLatency; + uint16_t supervisionTimeout; +} gapPawrCreateConnection_t; + +/** + * GAP_SCAN_REQUEST_EVENT message format. This message is sent to the + * app when the advertiser receives a SCAN_REQ PDU or an AUX_SCAN_REQ PDU + */ +typedef struct +{ + tmos_event_hdr_t hdr; //!< GAP_MSG_EVENT and status + uint8_t opcode; //!< GAP_SCAN_REQUEST_EVENT + uint8_t advHandle; //!< identifying the periodic advertising train + uint8_t scannerAddrType; //!< the type of the address + uint8_t scannerAddr[B_ADDR_LEN];//!< the address of scanner device +} gapScanReqReseiveEvent_t; + +/** + * GAP_CONNECTIONESS_CTE_DONE_EVENT message format. This message is sent to the + * app when the Connectionless CTE Transmit config is complete. + */ +typedef struct +{ + tmos_event_hdr_t hdr; //!< GAP_MSG_EVENT and status + uint8_t opcode; //!< GAP_CONNECTIONESS_CTE_DONE_EVENT +} gapMakeConnectionlessCTERspEvent_t; + +/** + * GAP_END_PERIODIC_ADV_DONE_EVENT message format. This message is sent to the + * app when the Periodic Advertising disable is complete. + */ +typedef struct +{ + tmos_event_hdr_t hdr; //!< GAP_MSG_EVENT and status + uint8_t opcode; //!< GAP_END_CONNECTIONESS_CTE_DONE_EVENT +} gapEndConnectionlessCTERspEvent_t; + +/** + * GAP_ADV_DATA_UPDATE_DONE_EVENT message format. This message is sent to the + * app when Advertising Data Update is complete. + */ +typedef struct +{ + tmos_event_hdr_t hdr; //!< GAP_MSG_EVENT and status + uint8_t opcode; //!< GAP_ADV_DATA_UPDATE_DONE_EVENT + uint8_t adType; //!< TRUE if advertising data, FALSE if SCAN_RSP +} gapAdvDataUpdateEvent_t; + +/** + * GAP_LINK_ESTABLISHED_EVENT message format. This message is sent to the app + * when the link request is complete. + * + * For an Observer, this message is sent to complete the Establish Link Request. + * For a Peripheral, this message is sent to indicate that a link has been created. + */ +typedef struct +{ + tmos_event_hdr_t hdr; //!< GAP_MSG_EVENT and status + uint8_t opcode; //!< GAP_LINK_ESTABLISHED_EVENT + uint8_t devAddrType; //!< Device address type: @ref GAP_ADDR_TYPE_DEFINES + uint8_t devAddr[B_ADDR_LEN]; //!< Device address of link + uint16_t connectionHandle; //!< Connection Handle from controller used to ref the device + uint8_t connRole; //!< Connection formed as Central or Peripheral + uint16_t connInterval; //!< Connection Interval + uint16_t connLatency; //!< Connection Latency + uint16_t connTimeout; //!< Connection Timeout + uint8_t clockAccuracy; //!< Clock Accuracy + uint8_t advHandle; //!< Used to identify an advertising set + uint16_t syncHandle; //!< Identifying the periodic advertising train +} gapEstLinkReqEvent_t; + +/** + * GAP_LINK_PARAM_UPDATE_EVENT message format. This message is sent to the app + * when the connection parameters update request is complete. + */ +typedef struct +{ + tmos_event_hdr_t hdr; //!< GAP_MSG_EVENT and status + uint8_t opcode; //!< GAP_LINK_PARAM_UPDATE_EVENT + uint8_t status; //!< bStatus_t + uint16_t connectionHandle; //!< Connection handle of the update + uint16_t connInterval; //!< Requested connection interval + uint16_t connLatency; //!< Requested connection latency + uint16_t connTimeout; //!< Requested connection timeout +} gapLinkUpdateEvent_t; + +/** + * GAP_LINK_TERMINATED_EVENT message format. This message is sent to the + * app when a link to a device is terminated. + */ +typedef struct +{ + tmos_event_hdr_t hdr; //!< GAP_MSG_EVENT and status + uint8_t opcode; //!< GAP_LINK_TERMINATED_EVENT + uint16_t connectionHandle; //!< connection Handle + uint8_t reason; //!< termination reason from LL + uint8_t connRole; +} gapTerminateLinkEvent_t; + +/** + * GAP_PHY_UPDATE_EVENT message format. This message is sent to the app(GAP_MSG_EVENT) + * when the PHY update request is complete. + */ +typedef struct +{ + tmos_event_hdr_t hdr; //!< GAP_MSG_EVENT and status + uint8_t opcode; //!< GAP_PHY_UPDATE_EVENT + uint8_t status; //!< bStatus_t + uint16_t connectionHandle; //!< Connection handle of the update + uint8_t connTxPHYS; //!< tx phy(GAP_PHY_VAL_TYPE) + uint8_t connRxPHYS; //!< rx phy(GAP_PHY_VAL_TYPE) +} gapPhyUpdateEvent_t; + +/** + * GAP_PERI_ADV_SYNC_TRAN_RECEIVED_EVENT message format. This message is sent to the app(GAP_MSG_EVENT) + * when the periodic advertising sync transfer received. + */ +typedef struct +{ + tmos_event_hdr_t hdr; //!< GAP_MSG_EVENT and status + uint8_t opcode; //!< GAP_PERI_ADV_SYNC_TRAN_RECEIVED_EVENT + uint8_t status; //!< bStatus_t + uint16_t connectionHandle; //!< Connection handle of the update + uint16_t serviceData; //!< A value provided by the peer device + uint16_t syncHandle; //!< Identifying the periodic advertising train + uint8_t advertisingSID; //!< Value of the Advertising SID used to advertise the periodic advertising + uint8_t devAddrType; //!< Device address type: @ref GAP_ADDR_TYPE_DEFINES + uint8_t devAddr[B_ADDR_LEN]; //!< Device address of periodic advertising + uint8_t advertisingPHY; //!< the PHY used for the periodic advertising + uint16_t periodicInterval; //!< Periodic advertising interval + uint8_t clockAccuracy; //!< Clock Accuracy + uint8_t numSubevents; //!< Number of subevents + uint8_t subInterval; //!< Subevent interval + uint8_t rspSlotDelay; //!< Response slot delay + uint8_t rspSlotSpacing; //!< Response slot spacing +} gapPeriodicTranReceivec_t; + +/** + * GAP_PASSKEY_NEEDED_EVENT message format. This message is sent to the + * app when a Passkey is needed from the app's user interface. + */ +typedef struct +{ + tmos_event_hdr_t hdr; //!< GAP_MSG_EVENT and status + uint8_t opcode; //!< GAP_PASSKEY_NEEDED_EVENT + uint8_t deviceAddr[B_ADDR_LEN]; //!< address of device to pair with, and could be either public or random. + uint16_t connectionHandle; //!< Connection handle + uint8_t uiInputs; //!< Pairing User Interface Inputs - Ask user to input passcode + uint8_t uiOutputs; //!< Pairing User Interface Outputs - Display passcode +} gapPasskeyNeededEvent_t; + +/** + * Passcode Callback Function + */ +typedef void (*pfnPasscodeCB_t)( uint8_t *deviceAddr, //!< address of device to pair with, and could be either public or random. + uint16_t connectionHandle, //!< Connection handle + uint8_t uiInputs, //!< Pairing User Interface Inputs - Ask user to input passcode + uint8_t uiOutputs //!< Pairing User Interface Outputs - Display passcode + ); + +/** + * Pairing State Callback Function + */ +typedef void (*pfnPairStateCB_t)( uint16_t connectionHandle, //!< Connection handle + uint8_t state, //!< Pairing state @ref GAPBOND_PAIRING_STATE_DEFINES + uint8_t status //!< Pairing status + ); + +typedef struct +{ + tmos_event_hdr_t hdr; //!< GAP_MSG_EVENT and status + uint8_t opcode; //!< GAP_O0B_NEEDED_EVENT + uint8_t deviceAddr[B_ADDR_LEN]; //!< address of device to pair with, and could be either public or random. + uint16_t connectionHandle; //!< Connection handle + uint8_t r_local[16]; + uint8_t c_local[16]; +} gapOobNeededEvent_t; + +/** + * OOB Callback Function + */ +typedef void (*pfnOobCB_t)( uint8_t *deviceAddr, //!< address of device to pair with, and could be either public or random. + uint16_t connectionHandle, //!< Connection handle + uint8_t* r_local, //!< local rand + uint8_t *c_local //!< local confirm + ); + +/** + * Callback Registration Structure + */ +typedef struct +{ + pfnPasscodeCB_t passcodeCB; //!< Passcode callback + pfnPairStateCB_t pairStateCB; //!< Pairing state callback + pfnOobCB_t oobCB; //!< oob callback +} gapBondCBs_t; + +typedef int (*pfnEcc_key_t)( uint8_t *pub, uint8_t *priv); + +typedef int (*pfnEcc_dhkey_t)( uint8_t *peer_pub_key_x, uint8_t *peer_pub_key_y, + uint8_t *our_priv_key, uint8_t *out_dhkey ); + +typedef int (*pfnEcc_alg_f4_t)( uint8_t *u, uint8_t *v, uint8_t *x, uint8_t z, + uint8_t *out_enc_data ); + +typedef int (*pfnEcc_alg_g2_t)( uint8_t *u, uint8_t *v, uint8_t *x, uint8_t *y, + uint32_t *passkey ); + +typedef int (*pfnEcc_alg_f5_t)( uint8_t *w, uint8_t *n1, uint8_t *n2, + uint8_t a1t, uint8_t *a1, uint8_t a2t, uint8_t *a2, uint8_t *mackey, uint8_t *ltk ); + +typedef int (*pfnEcc_alg_f6_t)( uint8_t *w, uint8_t *n1, uint8_t *n2, uint8_t *r, + uint8_t *iocap, uint8_t a1t, uint8_t *a1, uint8_t a2t, uint8_t *a2, uint8_t *check ); + +typedef void (*pfnSm_randkey_t)( uint8_t *randkey, uint8_t keylen ); + +/** + * Callback Registration Structure + */ +typedef struct +{ + pfnEcc_key_t gen_key_pair; + pfnEcc_dhkey_t gen_dhkey; + pfnEcc_alg_f4_t alg_f4; //!< LE Secure Connections confirm value generation function f4 + pfnEcc_alg_g2_t alg_g2; //!< LE Secure Connections numeric comparison value generation function g2 + pfnEcc_alg_f5_t alg_f5; //!< LE Secure Connect ions key generation function f5 + pfnEcc_alg_f6_t alg_f6; //!< LE Secure Connections check value generation function f6 + pfnSm_randkey_t randkey; +} gapEccCBs_t; + +/** + * gapRole_States_t defined + */ +typedef uint32_t gapRole_States_t; + +// gapRole_States_t @ 4b'[3-0]-advertising states +#define GAPROLE_STATE_ADV_MASK (0xF) //!< advertising states mask +#define GAPROLE_STATE_ADV_SHIFT (0x0) //!< advertising states shift +#define GAPROLE_INIT 0 //!< Waiting to be started +#define GAPROLE_STARTED 1 //!< Started but not advertising +#define GAPROLE_ADVERTISING 2 //!< Currently Advertising +#define GAPROLE_WAITING 3 //!< Device is started but not advertising, is in waiting period before advertising again +#define GAPROLE_CONNECTED 4 //!< In a connection +#define GAPROLE_CONNECTED_ADV 5 //!< In a connection + advertising +#define GAPROLE_ERROR 6 //!< Error occurred - invalid state + +// gapRole_States_t @ 4b'[7-4]-Periodic advertising states +// Periodic advertising Enable,only effective when GAP_ADTYPE_EXT_NONCONN_NONSCAN_UNDIRECT advertising event enable +#define GAPROLE_STATE_PERIODIC_MASK (0xF0) //!< Periodic advertising states mask +#define GAPROLE_STATE_PERIODIC_SHIFT (4) //!< Periodic advertising states shift +#define GAPROLE_PERIODIC_INVALID (0<<4) //!< Periodic advertising Waiting to be started +#define GAPROLE_PERIODIC_ENABLE (1<<4) //!< Periodic advertising Enable +#define GAPROLE_PERIODIC_WAIT (2<<4) //!< Periodic advertising is started but disable +#define GAPROLE_PERIODIC_ERROR (3<<4) //!< Periodic advertising error occurred + +// gapRole_States_t @ 4b'[11-8]-Connectionless CTE Transmit states +// Connectionless CTE Transmit Enable,only effective when Periodic advertising valid +#define GAPROLE_STATE_CTE_MASK (0xF00) //!< gapRole_States_t Connectionless CTE defined +#define GAPROLE_STATE_CTE_SHIFT (8) //!< Connectionless CTE Transmit states shift +#define GAPROLE_CONNECTIONLESS_CTE_INVALID (0<<8) //!< Connectionless CTE Transmit Waiting to be started +#define GAPROLE_CONNECTIONLESS_CTE_ENABLE (1<<8) //!< Connectionless CTE Transmit Enable +#define GAPROLE_CONNECTIONLESS_CTE_WAIT (2<<8) //!< Connectionless CTE Transmit is started but disable +#define GAPROLE_CONNECTIONLESS_CTE_ERROR (3<<8) //!< Connectionless CTE Transmit error occurred +// gapRole_States_t @ 12b'[23-12]- Reserved for future use + +// gapRole_States_t @ 8b'[31-24] - indicates which fields change +#define GAPROLE_PERIODIC_STATE_VALID (1<<24) //!< indicates periodic advertising states change +#define GAPROLE_CTE_T_STATE_VALID (1<<25) //!< indicates Connectionless CTE Transmit states change + +typedef union { + struct { + uint32_t advState : 4; + uint32_t periState : 4; + uint32_t cteState : 4; + uint32_t Reserved0 : 12; + uint32_t periValid : 1; + uint32_t cteValid : 1; + uint32_t Reserved1 : 6; + }; + uint32_t gapRoleStates; +} gapRoleStates_t; + +/** + * gapRole Event Structure + */ +typedef union +{ + gapEventHdr_t gap; //!< GAP_MSG_EVENT and status. + gapDeviceInitDoneEvent_t initDone; //!< GAP initialization done. + gapDeviceInfoEvent_t deviceInfo; //!< Discovery device information event structure. + gapDirectDeviceInfoEvent_t deviceDirectInfo; //!< Discovery direct device information event structure. + gapAdvDataUpdateEvent_t dataUpdate; //!< Advertising Data Update is complete. + gapPeriodicAdvDeviceInfoEvent_t devicePeriodicInfo; //!< Discovery periodic device information event structure. + gapExtAdvDeviceInfoEvent_t deviceExtAdvInfo; //!< Discovery extend advertising device information event structure. + gapDevDiscEvent_t discCmpl; //!< Discovery complete event structure. + gapSyncEstablishedEvent_t syncEstEvt; //!< sync established event structure. + gapSyncLostEvent_t syncLostEvt; //!< sync lost event structure. + gapScanReqReseiveEvent_t scanReqEvt; //!< Scan_Request_Received event structure. + + gapEstLinkReqEvent_t linkCmpl; //!< Link complete event structure. + gapLinkUpdateEvent_t linkUpdate; //!< Link update event structure. + gapTerminateLinkEvent_t linkTerminate; //!< Link terminated event structure. + gapPhyUpdateEvent_t linkPhyUpdate; //!< Link phy update event structure. + gapPeriodicTranReceivec_t syncTran; +} gapRoleEvent_t; + +/** + * Type of device. + */ +typedef struct +{ + uint8_t eventType; //!< Indicates advertising event type used by the advertiser: @ref GAP_ADVERTISEMENT_REPORT_TYPE_DEFINES + uint8_t addrType; //!< Scan Address Type:0x00-Public Device Address or Public Identity Address 0x01-Random Device Address or Random (static) Identity Address + uint8_t addr[B_ADDR_LEN]; //!< Device's Address + int8_t rssi; +} gapScanRec_t; + +/** + * Type of GAPRole_CreateSync command parameters. + */ +typedef struct +{ + uint8_t options; + /* + bit0: used to determine whether the Periodic Advertiser List is used + 0: Use the Advertising_SID, Advertisier_Address_Type, and Advertiser_Address parameters to determine which advertiser to listen to. + 1: Use the Periodic Advertiser List to determine which advertiser to listen to. + bit1: whether GAP_PERIODIC_ADV_DEVICE_INFO_EVENT events for this periodic advertising train are initially enabled or disabled. + 0: Reporting initially enabled + 1: Reporting initially disabled + bit2: + 0: Duplicate filtering initially disabled + 1: Duplicate filtering initially enabled */ + uint8_t advertising_SID; //!< if used, specifies the value that must match the Advertising SID + uint8_t addrType; //!< Scan Address Type: @ref GAP_ADDR_TYPE_DEFINES + uint8_t addr[B_ADDR_LEN]; //!< Device's Address + uint16_t skip; //!< the maximum number of consecutive periodic advertising events that the receiver may skip after + //!< successfully receiving a periodic advertising packet.Range: 0x0000 to 0x01F3 + uint16_t syncTimeout; //!< the maximum permitted time between successful receives. If this time is exceeded, synchronization is lost. + //!< Time = N*10 ms.Range: 0x000A to 0x4000 + uint8_t syncCTEType; //!< specifies whether to only synchronize to periodic advertising with certain types of Constant Tone Extension + //!< (a value of 0 indicates that the presence or absence of a Constant Tone Extension is irrelevant). +} gapCreateSync_t; + +/** + * Type of GAPRole_SyncTransferParameters command parameters. + */ +typedef struct +{ + uint16_t connHandle; //!< Used to identify the Connection handle + uint8_t mode; //!< specifies the action to be taken when periodic advertising synchronization information is received +#define MODE_0 0 //!< No attempt is made to synchronize to the periodic advertising and no + //!< gapPeriodicTranReceivec_t event is sent to the APP. +#define MODE_1 1 //!< An gapPeriodicTranReceivec_t event is sent to the APP. + //!< gapPeriodicAdvDeviceInfoEvent_t events will be disabled. +#define MODE_2 2 //!< An gapPeriodicTranReceivec_t event is sent to the APP. + //!< gapPeriodicAdvDeviceInfoEvent_t events will be enabled with duplicate filtering disabled. +#define MODE_3 3 //!< An gapPeriodicTranReceivec_t event is sent to the APP. + //!< gapPeriodicAdvDeviceInfoEvent_t events will be enabled with duplicate filtering enabled. + uint16_t skip; //!< resv(The number of periodic advertising packets that can be skipped after a successful receive). + uint16_t syncTimeout; //!< Synchronization timeout for the periodic advertising train.Time = N*10 ms.Range: 0x000A to 0x4000 + uint8_t cteType; //!< Reserved for future use. +} gapSyncTransferParam_t; + +/** + * Type of GAPRole_SyncTransferSync command parameters. + */ +typedef struct +{ + uint16_t connHandle; //!< Used to identify the Connection handle + uint16_t serviceData; //!< A value provided by the Host for use by the Host of the peer device. + uint16_t syncHandle; //!< Identifier of the periodic advertising train to a connected device. +} gapSyncTransferSync_t; + +/** + * Type of GAPRole_SyncTransferAdvertising command parameters. + */ +typedef struct +{ + uint16_t connHandle; //!< Used to identify the Connection handle + uint16_t serviceData; //!< A value provided by the Host for use by the Host of the peer device. + uint8_t advHandle; //!< Identifier of the periodic advertising in an advertising set to a connected device. +} gapSyncTransferAdvertising_t; + +/** + * Type of GAPRole_SetPathLossReporting command parameters. + */ +typedef struct +{ + uint16_t connHandle; //!< Used to identify the Connection handle + int8_t highThreshold; //!< High threshold for the path loss.Units: dB + int8_t highHysteresis; //!< Hysteresis value for the high threshold.Units: dB + int8_t lowThreshold; //!< High threshold for the path loss.Units: dB + int8_t lowHysteresis; //!< Hysteresis value for the high threshold.Units: dB + uint16_t minTimeSpent; //!< Minimum time in number of connection events to be observed + //!< once the path crosses the threshold before an event is generated. + uint8_t enable; //!< 0x00:Reporting disabled 0x01:Reporting enabled +} gapRoleSetPathLossReporting_t; + +typedef struct +{ + uint16_t connHandle; //!< Used to identify the Connection handle + int8_t lowRxThreshold; //!< High threshold for the peer power levels.Units: dB + int8_t highRxThreshold; //!< High threshold for the peer power levels.Units: dB + int8_t minTxPower; //!< Minimum transmit power level.Units: dB + int8_t maxTxPower; //!< Maximum transmit power level.Units: dB +} gapRolePowerlevelManagement_t; + +/** + * Callback when the device has been started. Callback event to + * the Notify of a state change. + */ +typedef void (*gapRolesBroadcasterStateNotify_t)( gapRole_States_t newState ); + +typedef void (*gapRolesScanReqRecv_t)( gapScanRec_t * pEvent ); + +typedef struct +{ + gapRolesBroadcasterStateNotify_t pfnStateChange; //!< Whenever the device changes state + gapRolesScanReqRecv_t pfnScanRecv; +} gapRolesBroadcasterCBs_t; + +/** + * Observer Event Callback Function + */ +typedef void (*pfnGapObserverRoleEventCB_t)( gapRoleEvent_t *pEvent //!< Pointer to event structure. + ); + +/** + * Observer Callback Structure + */ +typedef struct +{ + pfnGapObserverRoleEventCB_t eventCB; //!< Event callback. +} gapRoleObserverCB_t; + +/** + * Callback when the device has read an new RSSI value during a connection. + */ +typedef void (*gapRolesRssiRead_t)( uint16_t connHandle, int8_t newRSSI ); + +/** + * Callback when the device has been started. Callback event to + * the Notify of a state change. + */ +typedef void (*gapRolesStateNotify_t)( gapRole_States_t newState, gapRoleEvent_t * pEvent ); + +/** + * Callback when the connection parameteres are updated. + */ +typedef void (*gapRolesParamUpdateCB_t)( uint16_t connHandle, uint16_t connInterval, + uint16_t connSlaveLatency, uint16_t connTimeout ); + +/** + * Callback structure - must be setup by the application and used when gapRoles_StartDevice() is called. + */ +typedef struct +{ + gapRolesStateNotify_t pfnStateChange; //!< Whenever the device changes state + gapRolesRssiRead_t pfnRssiRead; //!< When a valid RSSI is read from controller + gapRolesParamUpdateCB_t pfnParamUpdate; //!< When the connection parameteres are updated +} gapRolesCBs_t; + +/** + * Central Event Callback Function + */ +typedef void (*pfnGapCentralRoleEventCB_t)( gapRoleEvent_t *pEvent ); //!< Pointer to event structure. + +/** + * HCI Data Length Change Event Callback Function + */ +typedef void (*pfnHciDataLenChangeEvCB_t)( uint16_t connHandle, uint16_t maxTxOctets, + uint16_t maxRxOctets ); + +/** + * Central Callback Structure + */ +typedef struct +{ + gapRolesRssiRead_t rssiCB; //!< RSSI callback. + pfnGapCentralRoleEventCB_t eventCB; //!< Event callback. + pfnHciDataLenChangeEvCB_t ChangCB; //!< Length Change Event Callback . +} gapCentralRoleCB_t; // gapCentralRoleCB_t + +/* TxPower define(Accuracy:±2dBm) */ +#define LL_TX_POWEER_MINUS_20_DBM 0x01 +#define LL_TX_POWEER_MINUS_15_DBM 0x03 +#define LL_TX_POWEER_MINUS_10_DBM 0x05 +#define LL_TX_POWEER_MINUS_8_DBM 0x07 +#define LL_TX_POWEER_MINUS_5_DBM 0x0B +#define LL_TX_POWEER_MINUS_3_DBM 0x0F +#define LL_TX_POWEER_MINUS_1_DBM 0x13 +#define LL_TX_POWEER_0_DBM 0x15 +#define LL_TX_POWEER_1_DBM 0x1B +#define LL_TX_POWEER_2_DBM 0x23 +#define LL_TX_POWEER_3_DBM 0x2B +#define LL_TX_POWEER_4_DBM 0x3B + +/* RF-PHY define */ +/* + * RF_ROLE_STATUS_TYPE pfnRFStatusCB_t state defined + */ +// TX_MODE call RF_Tx +#define TX_MODE_TX_FINISH 0x01 //!< basic or auto tx mode sends data successfully + //!< if it is in basic mode,it will enter idle state; + //!< if it is in auto mode,it will wait for receiving +#define TX_MODE_TX_FAIL 0x11 //!< basic or auto tx mode fail to send data and enter idle state +#define TX_MODE_TX_TIMEOUT TX_MODE_TX_FAIL //!< time of data transmission +#define TX_MODE_RX_DATA 0x02 //!< auto tx mode receive data(ack) and enter idle state +#define TX_MODE_RX_TIMEOUT 0x12 //!< auto tx mode receive timeout and enter idle state +#define TX_MODE_HOP_SHUT 0x22 + +// RX_MODE call RF_Rx +#define RX_MODE_RX_DATA 0x03 //!< basic or auto rx mode receive data + //!< if it is in basic mode,it will enter idle state; + //!< if it is in auto mode,it will judge whether the type matches; + //!< if it matches,it will send data(ack),otherwise(rsr=2), it will restart receiving +#define RX_MODE_TX_FINISH 0x04 //!< auto rx mode sends data(ack) successfully and enters idle state +#define RX_MODE_TX_FAIL 0x14 //!< auto rx mode fail to send data and enter idle state +#define RX_MODE_TX_TIMEOUT RX_MODE_TX_FAIL //!< time of data transmission +#define RX_MODE_HOP_SHUT 0x24 + +// LLE_MODE_TYPE +#define LLE_MODE_BASIC (0) //!< basic mode, enter idle state after sending or receive +#define LLE_MODE_AUTO (1) //!< auto mode, auto swtich to the receiving status after sending and the sending status after receiving + +// LLE_WHITENING_TYPE +#define LLE_WHITENING_ON (0<<1) +#define LLE_WHITENING_OFF (1<<1) + +// LLE_PHY_TYPE +#define LLE_MODE_PHY_MODE_MASK (0x30) +#define LLE_MODE_PHY_1M (0<<4) +#define LLE_MODE_PHY_2M (1<<4) + +#define LLE_MODE_EX_CHANNEL (1<<6) + +#define LLE_MODE_NON_RSSI (1<<7) + +/** + * RFRole Event Callback Function + */ +typedef void (*pfnRFStatusCB_t)( uint8_t sta, uint8_t rsr, uint8_t *rxBuf ); +// sta - current status@ref RF_ROLE_STATUS_TYPE +// rsr - receive status: bit0- crc check result,bit1- type matching result +// rxBuf - receive data buffer + +typedef struct tag_rf_config +{ + uint8_t LLEMode; //!< BIT0 0=basic, 1=auto def@LLE_MODE_TYPE + //!< BIT1 0=whitening on, 1=whitening off def@LLE_WHITENING_TYPE + //!< BIT4-5 00-1M 01-2M 10/11-resv def@LLE_PHY_TYPE + //!< BIT6 0=data channel(0-39) + //!< 1=rf frequency (2400000kHz-2483500kHz) + //!< BIT7 0=the first byte of the receive buffer is rssi + //!< 1=the first byte of the receive buffer is package type + uint8_t Channel; //!< rf channel(0-39) + uint32_t Frequency; //!< rf frequency (2400000kHz-2483500kHz) + uint32_t accessAddress; //!< access address,32bit PHY address + uint32_t CRCInit; //!< crc initial value + pfnRFStatusCB_t rfStatusCB; //!< status call back + uint32_t ChannelMap; //!< indicating Used and Unused data channels.Every channel is represented with a + //!< bit positioned as per the data channel index,The LSB represents data channel index 0 + uint8_t Resv; + uint8_t HeartPeriod; //!< The heart package interval shall be an integer multiple of 100ms + uint8_t HopPeriod; //!< hop period( T=32n*RTC clock ),default is 8 + uint8_t HopIndex; //!< indicate the hopIncrement used in the data channel selection algorithm,default is 17 + uint8_t RxMaxlen; //!< Maximum data length received in rf-mode(default 251) + uint8_t TxMaxlen; //!< Maximum data length transmit in rf-mode(default 251) +} rfConfig_t; + +/* end define@RF-PHY */ + +/******************************************************************************/ +#ifndef LIB_FLASH_BASE_ADDRESSS +#define LIB_FLASH_BASE_ADDRESSS 0x00040000 +#endif +#define LIB_FLASH_MAX_SIZE 0x00040000 +#define LIB_RAM_MAX_SIZE 0x00005000 + +#define RAM_BASE_ADDRESSS 0x20000000 +#define UUID_BASE_ADDRESSS (LIB_FLASH_BASE_ADDRESSS+0x08) +#define FUNCITON_BASE_ADDRESSS (LIB_FLASH_BASE_ADDRESSS+0x34) + +#define BLE_LIB_UUID(n) ( UUID_BASE_ADDRESSS+n*2 ) +#define BLE_LIB_RAM_JT(n) (*(uint32_t*)( RAM_BASE_ADDRESSS+n*4 )) +#define BLE_LIB_JT(n) (*(uint32_t*)( FUNCITON_BASE_ADDRESSS+n*4 )) +#define VER_LIB (( const uint8_t*) BLE_LIB_JT(0)) + +/******************************************************************************* + * UUID defined + */ +/** + * GATT Services + */ +#define gapServiceUUID ((const uint8_t*) BLE_LIB_UUID(0)) +#define gattServiceUUID ((const uint8_t*) BLE_LIB_UUID(1)) + +/** + * GATT Attribute Types + */ +#define primaryServiceUUID ((const uint8_t*) BLE_LIB_UUID(2)) +#define secondaryServiceUUID ((const uint8_t*) BLE_LIB_UUID(3)) +#define includeUUID ((const uint8_t*) BLE_LIB_UUID(4)) +#define characterUUID ((const uint8_t*) BLE_LIB_UUID(5)) + +/** + * GATT Characteristic Descriptors + */ +#define charExtPropsUUID ((const uint8_t*) BLE_LIB_UUID(6)) +#define charUserDescUUID ((const uint8_t*) BLE_LIB_UUID(7)) +#define clientCharCfgUUID ((const uint8_t*) BLE_LIB_UUID(8)) +#define servCharCfgUUID ((const uint8_t*) BLE_LIB_UUID(9)) +#define charFormatUUID ((const uint8_t*) BLE_LIB_UUID(10)) +#define charAggFormatUUID ((const uint8_t*) BLE_LIB_UUID(11)) +#define validRangeUUID ((const uint8_t*) BLE_LIB_UUID(12)) +#define extReportRefUUID ((const uint8_t*) BLE_LIB_UUID(13)) +#define reportRefUUID ((const uint8_t*) BLE_LIB_UUID(14)) + +/** + * GATT Characteristic Types + */ +#define deviceNameUUID ((const uint8_t*) BLE_LIB_UUID(15)) +#define appearanceUUID ((const uint8_t*) BLE_LIB_UUID(16)) +#define periPrivacyFlagUUID ((const uint8_t*) BLE_LIB_UUID(17)) +#define reconnectAddrUUID ((const uint8_t*) BLE_LIB_UUID(18)) +#define periConnParamUUID ((const uint8_t*) BLE_LIB_UUID(19)) +#define serviceChangedUUID ((const uint8_t*) BLE_LIB_UUID(10)) +#define centAddrResUUID ((const uint8_t*) BLE_LIB_UUID(21)) + +/******************************************************************************* + * PUBLIC FUNCTIONS + */ +#define tmos_rand (( uint32_t (*) ( void )) BLE_LIB_JT(1)) // pseudo-random number +#define tmos_memcmp (( BOOL (*) ( const void *src1, const void *src2, uint32_t len )) BLE_LIB_JT(2)) // TRUE - same, FALSE - different +#define tmos_isbufset (( BOOL (*) ( uint8_t *buf, uint8_t val, uint32_t len )) BLE_LIB_JT(3)) // TRUE if all "val",FALSE otherwise +#define tmos_strlen (( uint32_t (*) ( char *pString )) BLE_LIB_JT(4)) +#define tmos_memset (( void (*) ( void * pDst, uint8_t Value, uint32_t len )) BLE_LIB_JT(5)) +#define tmos_memcpy (( void (*) ( void *dst, const void *src, uint32_t len )) BLE_LIB_JT(6)) + +/** + * @brief start a event immediately + * + * @param taskID - task ID of event + * @param event - event value + * + * @return 0 - SUCCESS. + */ +#define tmos_set_event (( bStatus_t (*) ( tmosTaskID taskID, tmosEvents event )) BLE_LIB_JT(7)) + +/** + * @brief clear a event already timeout, cannot be used in it own event function. + * + * @param taskID - task ID of event + * @param event - event value + * + * @return 0 - SUCCESS. + */ +#define tmos_clear_event (( bStatus_t (*) ( tmosTaskID taskID, tmosEvents event )) BLE_LIB_JT(8)) + +/** + * @brief start a event after period of time + * + * @param taskID - task ID to set event for + * @param event - event to be notified with + * @param time - timeout value + * + * @return TRUE,FALSE. + */ +#define tmos_start_task (( BOOL (*) ( tmosTaskID taskID, tmosEvents event, tmosTimer time )) BLE_LIB_JT(9)) + +/** + * @brief This function is called to start a timer to expire in n system clock time. + * When the timer expires, the calling task will get the specified event + * and the timer will be reloaded with the timeout value. + * + * @param taskID - task ID to set timer for + * @param event - event to be notified with + * @param time - timeout value + * + * @return SUCCESS, or NO_TIMER_AVAIL. + */ +#define tmos_start_reload_task (( bStatus_t (*) ( tmosTaskID taskID, tmosEvents event, tmosTimer time )) BLE_LIB_JT(126) ) + +/** + * @brief stop a event + * + * @param taskID - task ID of event + * @param event - event value + * + * @param None. + * + * @return SUCCESS. + */ +#define tmos_stop_task (( bStatus_t (*) ( tmosTaskID taskID, tmosEvents event )) BLE_LIB_JT(10)) + +/** + * @brief get last period of time for this event + * + * @param taskID - task ID of event + * @param event - event value + * + * @return the timer's tick count if found, zero otherwise. + */ +#define tmos_get_task_timer (( tmosTimer (*) ( tmosTaskID taskID, tmosEvents event )) BLE_LIB_JT(11)) + +/** + * @brief send msg to a task,callback events&SYS_EVENT_MSG + * + * @param taskID - task ID of task need to send msg + * @param *msg_ptr - point of msg + * + * @return SUCCESS, INVALID_TASK, INVALID_MSG_POINTER + */ +#define tmos_msg_send (( bStatus_t (*) ( tmosTaskID taskID, uint8_t *msg_ptr )) BLE_LIB_JT(12)) + +/** + * @brief delete a msg + * + * @param *msg_ptr - point of msg + * + * @return SUCCESS. + */ +#define tmos_msg_deallocate (( bStatus_t (*) ( uint8_t *msg_ptr )) BLE_LIB_JT(13)) + +/** + * @brief receive a msg + * + * @param taskID - task ID of task need to receive msg + * + * @return *uint8_t - message information or NULL if no message + */ +#define tmos_msg_receive (( uint8_t* (*) ( tmosTaskID taskID )) BLE_LIB_JT(14)) + +/** + * @brief allocate buffer for msg when need to send msg + * + * @param len - length of msg + * + * @return pointer to allocated buffer or NULL if allocation failed. + */ +#define tmos_msg_allocate (( uint8_t* (*) ( uint16_t len )) BLE_LIB_JT(15)) + +/** + * @brief read a data item to NV. + * + * @param id - Valid NV item Id. + * @param len - Length of data to read. + * @param *pBuf - Data to read. + * + * @return SUCCESS if successful, NV_OPER_FAILED if failed. + */ +#define tmos_snv_read (( bStatus_t (*) ( tmosSnvId_t id, tmosSnvLen_t len, void *pBuf)) BLE_LIB_JT(107) ) + +/** + * @brief tmos system timer initialization + * + * @note must initialization before call tmos task + * + * @param fnGetClock - system clock select extend input,if NULL select HSE as the clock source + * + * @return SUCCESS if successful, FAILURE if failed. + */ +#define TMOS_TimerInit (( bStatus_t (*) ( bleClockConfig_t *pClockConfig )) BLE_LIB_JT(16)) + +/** + * @brief interrupt handler. + * + * @param None + * + * @return None + */ +#define TMOS_TimerIRQHandler (( bStatus_t (*) ( uint32_t *time )) BLE_LIB_JT(120) ) + +/** + * @brief Process system + * + * @param None. + * + * @return None. + */ +#define TMOS_SystemProcess (( void (*) ( void )) BLE_LIB_RAM_JT(0)) + +/** + * @brief Get current system clock + * + * @param None. + * + * @return current system clock (in 0.625ms) + */ +#define TMOS_GetSystemClock (( uint32_t (*) ( void )) BLE_LIB_JT(18)) + +/** + * @brief register process event callback function + * + * @param eventCb-events callback function + * + * @return 0xFF - error,others-task id + */ +#define TMOS_ProcessEventRegister (( tmosTaskID (*) ( pTaskEventHandlerFn eventCb )) BLE_LIB_JT(19)) + +/** + * @brief Add a device address into white list ( support SNVNum MAX ) + * + * @param addrType - Type of device address + * @param devAddr - first address of device address + * + * @return Command Status. + */ +#define LL_AddWhiteListDevice (( bStatus_t (*) ( uint8_t addrType, uint8_t *devAddr )) BLE_LIB_JT(20)) + +/** + * @brief Remove a device address from white list + * + * @param addrType - Type of device address + * @param devAddr - first address of device address + * + * @return Command Status. + */ +#define LL_RemoveWhiteListDevice (( bStatus_t (*) ( uint8_t addrType, uint8_t *devAddr )) BLE_LIB_JT(21)) + +/** + * @brief Clear white list + * + * @param None + * + * @return Command Status. + */ +#define LL_ClearWhiteList (( bStatus_t (*) ( void )) BLE_LIB_JT(22)) + +/** + * @brief Encrypt data + * + * @param key - key + * @param plaintextData - original data + * @param encryptData - encrypted data + * + * @return Command Status. + */ +#define LL_Encrypt (( bStatus_t (*) ( uint8_t *key, uint8_t *plaintextData, uint8_t *encryptData )) BLE_LIB_JT(23)) + +/** + * @brief Decrypt data + * + * @param key - key + * @param plaintextData - original data + * @param decryptData - decrypted data + * + * @return Command Status. + */ +#define LL_Decrypt (( bStatus_t (*) ( uint8_t *key, uint8_t *plaintextData, uint8_t *decryptData )) BLE_LIB_JT(24)) + +/** + * @brief get number of unAck packet in current connect buffer + * + * @param handle - connect handle + * + * @return 0xFFFFFFFF-handle error,number of packets not receiving ack + */ +#define LL_GetNumberOfUnAckPacket (( uint32_t (*) ( uint16_t handle )) BLE_LIB_JT(25)) + +/** + * @brief Register a callback function will be called after each connect event. + * Only effect in single connection + * + * @param connEventCB - callback function + * + * @return None. + */ +#define LL_ConnectEventRegister (( void (*) ( pfnEventCB connEventCB )) BLE_LIB_JT(26)) + +/** + * @brief Register a callback function will be called after each advertise event. + * + * @param advEventCB - callback function + * + * @return None. + */ +#define LL_AdvertiseEventRegister (( void (*) ( pfnEventCB advEventCB )) BLE_LIB_JT(135) ) + +/** + * @brief set tx power level + * + * @param power - tx power level + * + * @return Command Status. + */ +#define LL_SetTxPowerLevel (( bStatus_t (*) ( uint8_t power )) BLE_LIB_JT(27)) + +/** + * @brief read rssi + * + * @param None. + * + * @return the value of rssi. + */ +#define BLE_ReadRssi (( int8_t (*) ( void )) BLE_LIB_JT(108) ) + +/** + * @brief read cfo + * + * @param None. + * + * @return the value of cfo. + */ +#define BLE_ReadCfo (( int16_t (*) ( void )) BLE_LIB_JT(121) ) + +/** + * @brief pa control init + * + * @note Can't be called until role Init + * + * @param paControl - pa control parameters(global variable) + * + * @return Command Status. + */ +#define BLE_PAControlInit (( void (*) ( blePaControlConfig_t *paControl )) BLE_LIB_JT(109) ) + +/** + * @brief ble register reset and rf calibration + * + * @param None + * + * @return None + */ +#define BLE_RegInit (( void (*) ( void )) BLE_LIB_JT(110) ) + +/** + * @brief Init BLE lib. RTC will be occupied at the same time. + * + * @param pCfg - config of BLE lib + * + * @return 0-success. error defined @ ERR_LIB_INIT + */ +#define BLE_LibInit (( bStatus_t (*) ( bleConfig_t* pCfg )) BLE_LIB_JT(28)) + +/** + * @brief interrupt handler. + * + * @param None + * + * @return None + */ +#define BB_IRQLibHandler (( void (*) ( void )) BLE_LIB_RAM_JT(1) ) + +/** + * @brief interrupt handler. + * + * @param None + * + * @return None + */ +#define LLE_IRQLibHandler (( void (*) ( void )) BLE_LIB_RAM_JT(2) ) + +/** + * @brief generate a valid access address + * + * @param None. + * + * @return access address + * the Access Address meets the following requirements: + * It shall have no more than six consecutive zeros or ones. + * It shall not be t he advertising channel packets’ Access Address. + * It shall not be a sequence that differ s from the advertising channel packets' Access Address by only one bit. + * It shall not have all four octets equal. + * It shall have no more than 24 transitions. + * It shall have a minimum of two transitions in the most significant six bits. + */ +#define BLE_AccessAddressGenerate (( void (*) ( void )) BLE_LIB_JT(29)) + +/* + * linkDB_Register - Register with this function to receive a callback when + * status changes on a connection. + */ +#define linkDB_Register (( uint8_t (*) ( pfnLinkDBCB_t pFunc )) BLE_LIB_JT(30) ) + +/* + * linkDB_State - Check to see if a physical link is in a specific state. + * + * returns TRUE is the link is in state. FALSE, otherwise. + */ +#define linkDB_State (( uint8_t (*) ( uint16_t connectionHandle, uint8_t state )) BLE_LIB_JT(31) ) + +/* + * linkDB_PerformFunc - Perform a function of each connection in the link database. + */ +#define linkDB_PerformFunc (( void (*) ( pfnPerformFuncCB_t cb )) BLE_LIB_JT(32) ) +/* + * linkDB_Up - Check to see if a physical link is up (connected). + * Use like: uint8_t linkDB_Up( uint16_t connectionHandle ); + * connectionHandle - controller link connection handle. + * returns TRUE if the link is up. FALSE, otherwise. + */ +#define linkDB_Up( connectionHandle ) linkDB_State( (connectionHandle), LINK_CONNECTED ) + +/** + * @brief This function is used to get the MTU size of a connection. + * + * @param connHandle - connection handle. + * + * @return connection MTU size. + */ +#define ATT_GetMTU (( uint16_t (*) ( uint16_t connHandle )) BLE_LIB_JT(33) ) + +/** + * @brief Send Handle Value Confirmation. + * + * @param connHandle - connection to use + * + * @return SUCCESS: Confirmation was sent successfully. + * INVALIDPARAMETER: Invalid confirmation field. + * MSG_BUFFER_NOT_AVAIL: No HCI buffer is available. + * bleNotConnected: Connection is down. + * bleMemAllocError: Memory allocation error occurred. + */ +#define ATT_HandleValueCfm (( bStatus_t (*) ( uint16_t connHandle )) BLE_LIB_JT(34) ) + +/* + * Compare two UUIDs. The UUIDs are converted if necessary. + */ +#define ATT_CompareUUID (( uint8_t (*) ( const uint8_t *pUUID1, uint16_t len1, const uint8_t *pUUID2, uint16_t len2 )) BLE_LIB_JT(35) ) + +/** + * @brief Initialize the Generic Attribute Profile Client. + * + * @return SUCCESS: Client initialized successfully. + * bleMemAllocError: Memory allocation error occurred. + */ +#define GATT_InitClient (( bStatus_t (*) ( void )) BLE_LIB_JT(36) ) + +/** + * @brief Register to receive incoming ATT Indications or Notifications + * of attribute values. + * + * @param taskId ?task to forward indications or notifications to + * + * @return void + */ +#define GATT_RegisterForInd (( void (*) ( uint8_t taskId )) BLE_LIB_JT(37) ) + +/** + * @brief Find the attribute record for a given handle + * + * @param handle - handle to look for + * @param pHandle - handle of owner of attribute (to be returned) + * + * @return Pointer to attribute record. NULL, otherwise. + */ +#define GATT_FindHandle (( gattAttribute_t * (*) ( uint16_t handle, uint16_t *pHandle )) BLE_LIB_JT(38) ) + +/** + * @brief This sub-procedure is used when a server is configured to + * indicate a characteristic value to a client and expects an + * attribute protocol layer acknowledgement that the indication + * was successfully received. + * + * The ATT Handle Value Indication is used in this sub-procedure. + * + * If the return status from this function is SUCCESS, the calling + * application task will receive an tmos GATT_MSG_EVENT message. + * The type of the message will be ATT_HANDLE_VALUE_CFM. + * + * @note This sub-procedure is complete when ATT_HANDLE_VALUE_CFM + * (with SUCCESS or bleTimeoutstatus) is received by the calling application task. + * + * @param connHandle - connection to use + * @param pInd - pointer to indication to be sent + * @param authenticated - whether an authenticated link is required + * @param taskId - task to be notified of response + * + * @return SUCCESS: Indication was sent successfully. + * INVALIDPARAMETER: Invalid connection handle or request field. + * MSG_BUFFER_NOT_AVAIL: No HCI buffer is available. + * bleNotConnected: Connection is down. + * blePending: A confirmation is pending with this client. + * bleMemAllocError: Memory allocation error occurred. + * bleTimeout: Previous transaction timed out. + */ +#define GATT_Indication (( bStatus_t (*) ( uint16_t connHandle, attHandleValueInd_t *pInd, uint8_t authenticated, uint8_t taskId )) BLE_LIB_JT(39) ) +/** + * @brief This sub-procedure is used when a server is configured to + * notify a characteristic value to a client without expecting + * any attribute protocol layer acknowledgement that the + * notification was successfully received. + * + * The ATT Handle Value Notification is used in this sub-procedure. + * + * @note A notification may be sent at any time and does not invoke a confirmation. + * No confirmation will be sent to the calling application task for + * this sub-procedure. + * + * @param connHandle - connection to use + * @param pNoti - pointer to notification to be sent + * @param authenticated - whether an authenticated link is required + * + * @return SUCCESS: Notification was sent successfully. + * INVALIDPARAMETER: Invalid connection handle or request field. + * MSG_BUFFER_NOT_AVAIL: No HCI buffer is available. + * bleNotConnected: Connection is down. + * bleMemAllocError: Memory allocation error occurred. + * bleTimeout: Previous transaction timed out. + */ +#define GATT_Notification (( bStatus_t (*) ( uint16_t connHandle, attHandleValueNoti_t *pNoti,uint8_t authenticated )) BLE_LIB_JT(40) ) + +/** + * @brief This sub-procedure is used by the client to set the ATT_MTU + * to the maximum possible value that can be supported by both + * devices when the client supports a value greater than the + * default ATT_MTU for the Attribute Protocol. This sub-procedure + * shall only be initiated once during a connection. + * + * The ATT Exchange MTU Request is used by this sub-procedure. + * + * If the return status from this function is SUCCESS, the calling + * application task will receive an tmos GATT_MSG_EVENT message. + * The type of the message will be either ATT_EXCHANGE_MTU_RSP or + * ATT_ERROR_RSP (if an error occurred on the server). + * + * @note This sub-procedure is complete when either ATT_EXCHANGE_MTU_RSP + * (with SUCCESS or bleTimeout status) or ATT_ERROR_RSP + * (with SUCCESS status) is received by the calling application task. + * + * @param connHandle - connection to use + * @param pReq - pointer to request to be sent + * @param taskId - task to be notified of response + * + * @return SUCCESS: Request was sent successfully. + * INVALIDPARAMETER: Invalid connection handle or request field. + * MSG_BUFFER_NOT_AVAIL: No HCI buffer is available. + * bleNotConnected: Connection is down. + * blePending: A response is pending with this server. + * bleMemAllocError: Memory allocation error occurred. + * bleTimeout: Previous transaction timed out. + */ +#define GATT_ExchangeMTU (( bStatus_t (*) ( uint16_t connHandle, attExchangeMTUReq_t *pReq, uint8_t taskId )) BLE_LIB_JT(41) ) + +/** + * @brief This sub-procedure is used by a client to discover all + * the primary services on a server. + * + * The ATT Read By Group Type Request is used with the Attribute + * Type parameter set to the UUID for "Primary Service". The + * Starting Handle is set to 0x0001 and the Ending Handle is + * set to 0xFFFF. + * + * If the return status from this function is SUCCESS, the calling + * application task will receive multiple tmos GATT_MSG_EVENT messages. + * The type of the messages will be either ATT_READ_BY_GRP_TYPE_RSP + * or ATT_ERROR_RSP (if an error occurred on the server). + * + * @note This sub-procedure is complete when either ATT_READ_BY_GRP_TYPE_RSP + * (with bleProcedureComplete or bleTimeout status) or ATT_ERROR_RSP + * (with SUCCESS status) is received by the calling application task. + * + * @param connHandle - connection to use + * @param taskId - task to be notified of response + * + * @return SUCCESS: Request was sent successfully. + * INVALIDPARAMETER: Invalid connection handle or request field. + * MSG_BUFFER_NOT_AVAIL: No HCI buffer is available. + * bleNotConnected: Connection is down. + * blePending: A response is pending with this server. + * bleMemAllocError: Memory allocation error occurred. + * bleTimeout: Previous transaction timed out. + */ +#define GATT_DiscAllPrimaryServices (( bStatus_t (*) ( uint16_t connHandle, uint8_t taskId )) BLE_LIB_JT(42) ) + +/** + * @brief This sub-procedure is used by a client to discover a specific + * primary service on a server when only the Service UUID is + * known. The primary specific service may exist multiple times + * on a server. The primary service being discovered is identified + * by the service UUID. + * + * The ATT Find By Type Value Request is used with the Attribute + * Type parameter set to the UUID for "Primary Service" and the + * Attribute Value set to the 16-bit Bluetooth UUID or 128-bit + * UUID for the specific primary service. The Starting Handle shall + * be set to 0x0001 and the Ending Handle shall be set to 0xFFFF. + * + * If the return status from this function is SUCCESS, the calling + * application task will receive multiple tmos GATT_MSG_EVENT messages. + * The type of the messages will be either ATT_FIND_BY_TYPE_VALUE_RSP + * or ATT_ERROR_RSP (if an error occurred on the server). + * + * @note This sub-procedure is complete when either ATT_FIND_BY_TYPE_VALUE_RSP + * (with bleProcedureComplete or bleTimeout status) or ATT_ERROR_RSP + * (with SUCCESS status) is received by the calling application task. + * + * @param connHandle - connection to use + * @param pUUID - pointer to service UUID to look for + * @param len - length of value + * @param taskId - task to be notified of response + * + * @return SUCCESS: Request was sent successfully. + * INVALIDPARAMETER: Invalid connection handle or request field. + * MSG_BUFFER_NOT_AVAIL: No HCI buffer is available. + * bleNotConnected: Connection is down. + * blePending: A response is pending with this server. + * bleMemAllocError: Memory allocation error occurred. + * bleTimeout: Previous transaction timed out. + */ +#define GATT_DiscPrimaryServiceByUUID (( bStatus_t (*) ( uint16_t connHandle, uint8_t *pUUID, uint8_t len, uint8_t taskId )) BLE_LIB_JT(43) ) + +/** + * @brief This sub-procedure is used by a client to find include + * service declarations within a service definition on a + * server. The service specified is identified by the service + * handle range. + * + * The ATT Read By Type Request is used with the Attribute + * Type parameter set to the UUID for "Included Service". The + * Starting Handle is set to starting handle of the specified + * service and the Ending Handle is set to the ending handle + * of the specified service. + * + * If the return status from this function is SUCCESS, the calling + * application task will receive multiple tmos GATT_MSG_EVENT messages. + * The type of the messages will be either ATT_READ_BY_TYPE_RSP + * or ATT_ERROR_RSP (if an error occurred on the server). + * + * @note This sub-procedure is complete when either ATT_READ_BY_TYPE_RSP + * (with bleProcedureCompleteor bleTimeout status)or ATT_ERROR_RSP + * (with SUCCESS status) is received by the calling application task. + * + * @param connHandle - connection to use + * @param startHandle - starting handle + * @param endHandle - end handle + * @param taskId - task to be notified of response + * + * @return SUCCESS: Request was sent successfully. + * INVALIDPARAMETER: Invalid connection handle or request field. + * MSG_BUFFER_NOT_AVAIL: No HCI buffer is available. + * bleNotConnected: Connection is down. + * blePending: A response is pending with this server. + * bleMemAllocError: Memory allocation error occurred. + * bleTimeout: Previous transaction timed out. + */ +#define GATT_FindIncludedServices (( bStatus_t (*) ( uint16_t connHandle, uint16_t startHandle, uint16_t endHandle, uint8_t taskId )) BLE_LIB_JT(44) ) + +/** + * @brief This sub-procedure is used by a client to find all the + * characteristic declarations within a service definition on + * a server when only the service handle range is known. The + * service specified is identified by the service handle range. + * + * The ATT Read By Type Request is used with the Attribute Type + * parameter set to the UUID for "Characteristic". The Starting + * Handle is set to starting handle of the specified service and + * the Ending Handle is set to the ending handle of the specified + * service. + * + * If the return status from this function is SUCCESS, the calling + * application task will receive multiple tmos GATT_MSG_EVENT messages. + * The type of the messages will be either ATT_READ_BY_TYPE_RSP + * or ATT_ERROR_RSP (if an error occurred on the server). + * + * @note This sub-procedure is complete when either ATT_READ_BY_TYPE_RSP + * (with bleProcedureComplete or bleTimeout status)or ATT_ERROR_RSP + * (with SUCCESS status) is received by the calling application task. + * + * @param connHandle - connection to use + * @param startHandle - starting handle + * @param endHandle - end handle + * @param taskId - task to be notified of response + * + * @return SUCCESS: Request was sent successfully. + * INVALIDPARAMETER: Invalid connection handle or request field. + * MSG_BUFFER_NOT_AVAIL: No HCI buffer is available. + * bleNotConnected: Connection is down. + * blePending: A response is pending with this server. + * bleMemAllocError: Memory allocation error occurred. + * bleTimeout: Previous transaction timed out. + */ +#define GATT_DiscAllChars (( bStatus_t (*) ( uint16_t connHandle, uint16_t startHandle, uint16_t endHandle, uint8_t taskId )) BLE_LIB_JT(45) ) + +/** + * @brief This sub-procedure is used by a client to discover service + * characteristics on a server when only the service handle + * ranges are known and the characteristic UUID is known. + * The specific service may exist multiple times on a server. + * The characteristic being discovered is identified by the + * characteristic UUID. + * + * The ATT Read By Type Request is used with the Attribute Type + * is set to the UUID for "Characteristic" and the Starting + * Handle and Ending Handle parameters is set to the service + * handle range. + * + * If the return status from this function is SUCCESS, the calling + * application task will receive multiple tmos GATT_MSG_EVENT messages. + * The type of the messages will be either ATT_READ_BY_TYPE_RSP + * or ATT_ERROR_RSP (if an error occurred on the server). + * + * @note This sub-procedure is complete when either ATT_READ_BY_TYPE_RSP + * (with bleProcedureComplete or bleTimeout status) or ATT_ERROR_RSP + * (with SUCCESS status) is received by the calling application task. + * + * @param connHandle - connection to use + * @param pReq - pointer to request to be sent + * @param taskId - task to be notified of response + * + * @return SUCCESS: Request was sent successfully. + * INVALIDPARAMETER: Invalid connection handle or request field. + * MSG_BUFFER_NOT_AVAIL: No HCI buffer is available. + * bleNotConnected: Connection is down. + * blePending: A response is pending with this server. + * bleMemAllocError: Memory allocation error occurred. + * bleTimeout: Previous transaction timed out. + */ +#define GATT_DiscCharsByUUID (( bStatus_t (*) ( uint16_t connHandle, attReadByTypeReq_t *pReq, uint8_t taskId )) BLE_LIB_JT(46) ) + +/** + * @brief This sub-procedure is used by a client to find all the + * characteristic descriptors Attribute Handles and Attribute + * Types within a characteristic definition when only the + * characteristic handle range is known. The characteristic + * specified is identified by the characteristic handle range. + * + * The ATT Find Information Request is used with the Starting + * Handle set to starting handle of the specified characteristic + * and the Ending Handle set to the ending handle of the specified + * characteristic. The UUID Filter parameter is NULL (zero length). + * + * If the return status from this function is SUCCESS, the calling + * application task will receive multiple tmos GATT_MSG_EVENT messages. + * The type of the messages will be either ATT_FIND_INFO_RSP or + * ATT_ERROR_RSP (if an error occurred on the server). + * + * @note This sub-procedure is complete when either ATT_FIND_INFO_RSP + * (with bleProcedureComplete or bleTimeout status) or ATT_ERROR_RSP + * (with SUCCESS status) is received by the calling application task. + * + * @param connHandle - connection to use + * @param startHandle - starting handle + * @param endHandle - end handle + * @param taskId - task to be notified of response + * + * @return SUCCESS: Request was sent successfully. + * INVALIDPARAMETER: Invalid connection handle or request field. + * MSG_BUFFER_NOT_AVAIL: No HCI buffer is available. + * bleNotConnected: Connection is down. + * blePending: A response is pending with this server. + * bleMemAllocError: Memory allocation error occurred. + * bleTimeout: Previous transaction timed out. + */ +#define GATT_DiscAllCharDescs (( bStatus_t (*) ( uint16_t connHandle, uint16_t startHandle, uint16_t endHandle, uint8_t taskId )) BLE_LIB_JT(47) ) + +/** + * @brief This sub-procedure is used to read a Characteristic Value + * from a server when the client knows the Characteristic Value + * Handle. The ATT Read Request is used with the Attribute Handle + * parameter set to the Characteristic Value Handle. The Read + * Response returns the Characteristic Value in the Attribute + * Value parameter. + * + * The Read Response only contains a Characteristic Value that + * is less than or equal to (ATT_MTU ?1) octets in length. If + * the Characteristic Value is greater than (ATT_MTU - 1) octets + * in length, the Read Long Characteristic Value procedure may + * be used if the rest of the Characteristic Value is required. + * + * If the return status from this function is SUCCESS, the calling + * application task will receive an tmos GATT_MSG_EVENT message. + * The type of the message will be either ATT_READ_RSP or + * ATT_ERROR_RSP (if an error occurred on the server). + * + * @note This sub-procedure is complete when either ATT_READ_RSP + * (with SUCCESS or bleTimeout status) or ATT_ERROR_RSP + * (with SUCCESS status) is received by the calling application task. + * + * @param connHandle - connection to use + * @param pReq - pointer to request to be sent + * @param taskId - task to be notified of response + * + * @return SUCCESS: Request was sent successfully. + * INVALIDPARAMETER: Invalid connection handle or request field. + * MSG_BUFFER_NOT_AVAIL: No HCI buffer is available. + * bleNotConnected: Connection is down. + * blePending: A response is pending with this server. + * bleMemAllocError: Memory allocation error occurred. + * bleTimeout: Previous transaction timed out. + */ +#define GATT_ReadCharValue (( bStatus_t (*) ( uint16_t connHandle, attReadReq_t *pReq, uint8_t taskId )) BLE_LIB_JT(48) ) + +/** + * @brief This sub-procedure is used to read a Characteristic Value + * from a server when the client only knows the characteristic + * UUID and does not know the handle of the characteristic. + * + * The ATT Read By Type Request is used to perform the sub-procedure. + * The Attribute Type is set to the known characteristic UUID and + * the Starting Handle and Ending Handle parameters shall be set + * to the range over which this read is to be performed. This is + * typically the handle range for the service in which the + * characteristic belongs. + * + * If the return status from this function is SUCCESS, the calling + * application task will receive an tmos GATT_MSG_EVENT messages. + * The type of the message will be either ATT_READ_BY_TYPE_RSP + * or ATT_ERROR_RSP (if an error occurred on the server). + * + * @note This sub-procedure is complete when either ATT_READ_BY_TYPE_RSP + * (with SUCCESS or bleTimeout status) or ATT_ERROR_RSP + * (with SUCCESS status) is received by the calling application task. + * + * @param connHandle - connection to use + * @param pReq - pointer to request to be sent + * @param taskId - task to be notified of response + * + * @return SUCCESS: Request was sent successfully. + * INVALIDPARAMETER: Invalid connection handle or request field. + * MSG_BUFFER_NOT_AVAIL: No HCI buffer is available. + * bleNotConnected: Connection is down. + * blePending: A response is pending with this server. + * bleMemAllocError: Memory allocation error occurred. + * bleTimeout: Previous transaction timed out. + */ +#define GATT_ReadUsingCharUUID (( bStatus_t (*) ( uint16_t connHandle, attReadByTypeReq_t *pReq, uint8_t taskId )) BLE_LIB_JT(49) ) + +/** + * @brief This sub-procedure is used to read a Characteristic Value from + * a server when the client knows the Characteristic Value Handle + * and the length of the Characteristic Value is longer than can + * be sent in a single Read Response Attribute Protocol message. + * + * The ATT Read Blob Request is used in this sub-procedure. + * + * If the return status from this function is SUCCESS, the calling + * application task will receive multiple tmos GATT_MSG_EVENT messages. + * The type of the messages will be either ATT_READ_BLOB_RSP or + * ATT_ERROR_RSP (if an error occurred on the server). + * + * @note This sub-procedure is complete when either ATT_READ_BLOB_RSP + * (with bleProcedureComplete or bleTimeout status) or ATT_ERROR_RSP + * (with SUCCESS status) is received by the calling application task. + * + * @param connHandle - connection to use + * @param pReq - pointer to request to be sent + * @param taskId - task to be notified of response + * + * @return SUCCESS: Request was sent successfully. + * INVALIDPARAMETER: Invalid connection handle or request field. + * MSG_BUFFER_NOT_AVAIL: No HCI buffer is available. + * bleNotConnected: Connection is down. + * blePending: A response is pending with this server. + * bleMemAllocError: Memory allocation error occurred. + * bleTimeout: Previous transaction timed out. + */ +#define GATT_ReadLongCharValue (( bStatus_t (*) ( uint16_t connHandle, attReadBlobReq_t *pReq, uint8_t taskId )) BLE_LIB_JT(50) ) + +/** + * @brief This sub-procedure is used to read multiple Characteristic Values + * from a server when the client knows the Characteristic Value + * Handles. The Attribute Protocol Read Multiple Requests is used + * with the Set Of Handles parameter set to the Characteristic Value + * Handles. The Read Multiple Response returns the Characteristic + * Values in the Set Of Values parameter. + * + * The ATT Read Multiple Request is used in this sub-procedure. + * + * If the return status from this function is SUCCESS, the calling + * application task will receive an tmos GATT_MSG_EVENT message. + * The type of the message will be either ATT_READ_MULTI_RSP + * or ATT_ERROR_RSP (if an error occurred on the server). + * + * @note This sub-procedure is complete when either ATT_READ_MULTI_RSP + * (with SUCCESS or bleTimeout status) or ATT_ERROR_RSP + * (with SUCCESS status) is received by the calling application task. + * + * @param connHandle - connection to use + * @param pReq - pointer to request to be sent + * @param taskId - task to be notified of response + * + * @return SUCCESS: Request was sent successfully. + * INVALIDPARAMETER: Invalid connection handle or request field. + * MSG_BUFFER_NOT_AVAIL: No HCI buffer is available. + * bleNotConnected: Connection is down. + * blePending: A response is pending with this server. + * bleMemAllocError: Memory allocation error occurred. + * bleTimeout: Previous transaction timed out. + */ +#define GATT_ReadMultiCharValues (( bStatus_t (*) ( uint16_t connHandle, attReadMultiReq_t *pReq, uint8_t taskId )) BLE_LIB_JT(51) ) + +/** + * @brief This sub-procedure is used to write a Characteristic Value + * to a server when the client knows the Characteristic Value + * Handle and the client does not need an acknowledgement that + * the write was successfully performed. This sub-procedure + * only writes the first (ATT_MTU ?3) octets of a Characteristic + * Value. This sub-procedure can not be used to write a long + * characteristic; instead the Write Long Characteristic Values + * sub-procedure should be used. + * + * The ATT Write Command is used for this sub-procedure. The + * Attribute Handle parameter shall be set to the Characteristic + * Value Handle. The Attribute Value parameter shall be set to + * the new Characteristic Value. + * + * No response will be sent to the calling application task for this + * sub-procedure. If the Characteristic Value write request is the + * wrong size, or has an invalid value as defined by the profile, + * then the write will not succeed and no error will be generated + * by the server. + * + * @param connHandle - connection to use + * @param pReq - pointer to command to be sent + * + * @return SUCCESS: Request was sent successfully. + * INVALIDPARAMETER: Invalid connection handle or request field. + * MSG_BUFFER_NOT_AVAIL: No HCI buffer is available. + * bleNotConnected: Connection is down. + * bleMemAllocError: Memory allocation error occurred. + * bleTimeout: Previous transaction timed out. + */ +#define GATT_WriteNoRsp (( bStatus_t (*) ( uint16_t connHandle, attWriteReq_t *pReq )) BLE_LIB_JT(52) ) + +/** + * @brief This sub-procedure is used to write a Characteristic Value + * to a server when the client knows the Characteristic Value + * Handle and the ATT Bearer is not encrypted. This sub-procedure + * shall only be used if the Characteristic Properties authenticated + * bit is enabled and the client and server device share a bond as + * defined in the GAP. + * + * This sub-procedure only writes the first (ATT_MTU ?15) octets + * of an Attribute Value. This sub-procedure cannot be used to + * write a long Attribute. + * + * The ATT Write Command is used for this sub-procedure. The + * Attribute Handle parameter shall be set to the Characteristic + * Value Handle. The Attribute Value parameter shall be set to + * the new Characteristic Value authenticated by signing the + * value, as defined in the Security Manager. + * + * No response will be sent to the calling application task for this + * sub-procedure. If the authenticated Characteristic Value that is + * written is the wrong size, or has an invalid value as defined by + * the profile, or the signed value does not authenticate the client, + * then the write will not succeed and no error will be generated by + * the server. + * + * @param connHandle - connection to use + * @param pReq - pointer to command to be sent + * + * @return SUCCESS: Request was sent successfully. + * INVALIDPARAMETER: Invalid connection handle or request field. + * MSG_BUFFER_NOT_AVAIL: No HCI buffer is available. + * bleNotConnected: Connection is down. + * bleMemAllocError: Memory allocation error occurred. + * bleLinkEncrypted: Connection is already encrypted. + * bleTimeout: Previous transaction timed out. + */ +#define GATT_SignedWriteNoRsp (( bStatus_t (*) ( uint16_t connHandle, attWriteReq_t *pReq )) BLE_LIB_JT(53) ) + +/** + * @brief This sub-procedure is used to write a characteristic value + * to a server when the client knows the characteristic value + * handle. This sub-procedure only writes the first (ATT_MTU-3) + * octets of a characteristic value. This sub-procedure can not + * be used to write a long attribute; instead the Write Long + * Characteristic Values sub-procedure should be used. + * + * The ATT Write Request is used in this sub-procedure. The + * Attribute Handle parameter shall be set to the Characteristic + * Value Handle. The Attribute Value parameter shall be set to + * the new characteristic. + * + * If the return status from this function is SUCCESS, the calling + * application task will receive an tmos GATT_MSG_EVENT message. + * The type of the message will be either ATT_WRITE_RSP + * or ATT_ERROR_RSP (if an error occurred on the server). + * + * @note This sub-procedure is complete when either ATT_WRITE_RSP + * (with SUCCESS or bleTimeout status) or ATT_ERROR_RSP + * (with SUCCESS status) is received by the calling application task. + * + * @param connHandle - connection to use + * @param pReq - pointer to request to be sent + * @param taskId - task to be notified of response + * + * @return SUCCESS: Request was sent successfully. + * INVALIDPARAMETER: Invalid connection handle or request field. + * MSG_BUFFER_NOT_AVAIL: No HCI buffer is available. + * bleNotConnected: Connection is down. + * blePending: A response is pending with this server. + * bleMemAllocError: Memory allocation error occurred. + * bleTimeout: Previous transaction timed out. + */ +#define GATT_WriteCharValue (( bStatus_t (*) ( uint16_t connHandle, attWriteReq_t *pReq, uint8_t taskId )) BLE_LIB_JT(54) ) + +/** + * @brief This sub-procedure is used to write a Characteristic Value to + * a server when the client knows the Characteristic Value Handle + * but the length of the Characteristic Value is longer than can + * be sent in a single Write Request Attribute Protocol message. + * + * The ATT Prepare Write Request and Execute Write Request are + * used to perform this sub-procedure. + * + * If the return status from this function is SUCCESS, the calling + * application task will receive multiple tmos GATT_MSG_EVENT messages. + * The type of the messages will be either ATT_PREPARE_WRITE_RSP, + * ATT_EXECUTE_WRITE_RSP or ATT_ERROR_RSP (if an error occurred on + * the server). + * + * @note This sub-procedure is complete when either ATT_PREPARE_WRITE_RSP + * (with bleTimeout status), ATT_EXECUTE_WRITE_RSP + * (with SUCCESS or bleTimeout status), or ATT_ERROR_RSP + * (with SUCCESS status) is received by the calling application task. + * + * @note The 'pReq->pValue' pointer will be freed when the sub-procedure is complete. + * + * @param connHandle - connection to use + * @param pReq - pointer to request to be sent + * @param taskId - task to be notified of response + * + * @return SUCCESS: Request was sent successfully. + * INVALIDPARAMETER: Invalid connection handle or request field. + * MSG_BUFFER_NOT_AVAIL: No HCI buffer is available. + * bleNotConnected: Connection is down. + * blePending: A response is pending with this server. + * bleMemAllocError: Memory allocation error occurred. + * bleTimeout: Previous transaction timed out. + */ +#define GATT_WriteLongCharValue (( bStatus_t (*) ( uint16_t connHandle, attPrepareWriteReq_t *pReq, uint8_t taskId )) BLE_LIB_JT(55) ) + +/** + * @brief This sub-procedure is used to write a Characteristic Value to + * a server when the client knows the Characteristic Value Handle, + * and assurance is required that the correct Characteristic Value + * is going to be written by transferring the Characteristic Value + * to be written in both directions before the write is performed. + * This sub-procedure can also be used when multiple values must + * be written, in order, in a single operation. + * + * The sub-procedure has two phases, the first phase prepares the + * characteristic values to be written. Once this is complete, + * the second phase performs the execution of all of the prepared + * characteristic value writes on the server from this client. + * + * In the first phase, the ATT Prepare Write Request is used. + * In the second phase, the attribute protocol Execute Write + * Request is used. + * + * If the return status from this function is SUCCESS, the calling + * application task will receive multiple tmos GATT_MSG_EVENT messages. + * The type of the messages will be either ATT_PREPARE_WRITE_RSP, + * ATT_EXECUTE_WRITE_RSP or ATT_ERROR_RSP (if an error occurred on + * the server). + * + * @note This sub-procedure is complete when either ATT_PREPARE_WRITE_RSP + * (with bleTimeout status), ATT_EXECUTE_WRITE_RSP + * (with SUCCESS or bleTimeout status), or ATT_ERROR_RSP + * (with SUCCESS status) is received by the calling application task. + * + * @note The 'pReqs' pointer will be freed when the sub-procedure is complete. + * + * @param connHandle - connection to use + * @param pReqs - pointer to requests to be sent + * @param numReqs - number of requests in pReq + * @param flags - execute write request flags + * @param taskId - task to be notified of response + * + * @return SUCCESS: Request was sent successfully. + * INVALIDPARAMETER: Invalid connection handle or request field. + * MSG_BUFFER_NOT_AVAIL: No HCI buffer is available. + * bleNotConnected: Connection is down. + * blePending: A response is pending with this server. + * bleMemAllocError: Memory allocation error occurred. + * bleTimeout: Previous transaction timed out. + */ +#define GATT_ReliableWrites (( bStatus_t (*) ( uint16_t connHandle, attPrepareWriteReq_t *pReqs,uint8_t numReqs, uint8_t flags, uint8_t taskId )) BLE_LIB_JT(56) ) + +/** + * @brief This sub-procedure is used to read a characteristic descriptor + * from a server when the client knows the characteristic descriptor + * declaration's Attribute handle. + * + * The ATT Read Request is used for this sub-procedure. The Read + * Request is used with the Attribute Handle parameter set to the + * characteristic descriptor handle. The Read Response returns the + * characteristic descriptor value in the Attribute Value parameter. + * + * If the return status from this function is SUCCESS, the calling + * application task will receive an tmos GATT_MSG_EVENT message. + * The type of the message will be either ATT_READ_RSP or + * ATT_ERROR_RSP (if an error occurred on the server). + * + * @note This sub-procedure is complete when either ATT_READ_RSP + * (with SUCCESS or bleTimeout status) or ATT_ERROR_RSP + * (with SUCCESS status) is received by the calling application task. + * + * @param connHandle - connection to use + * @param pReq - pointer to request to be sent + * @param taskId - task to be notified of response + * + * @return SUCCESS: Request was sent successfully. + * INVALIDPARAMETER: Invalid connection handle or request field. + * MSG_BUFFER_NOT_AVAIL: No HCI buffer is available. + * bleNotConnected: Connection is down. + * blePending: A response is pending with this server. + * bleMemAllocError: Memory allocation error occurred. + * bleTimeout: Previous transaction timed out. + */ +#define GATT_ReadCharDesc (( bStatus_t (*) ( uint16_t connHandle, attReadReq_t *pReq, uint8_t taskId )) BLE_LIB_JT(57) ) + +/** + * @brief This sub-procedure is used to read a characteristic descriptor + * from a server when the client knows the characteristic descriptor + * declaration's Attribute handle and the length of the characteristic + * descriptor declaration is longer than can be sent in a single Read + * Response attribute protocol message. + * + * The ATT Read Blob Request is used to perform this sub-procedure. + * The Attribute Handle parameter shall be set to the characteristic + * descriptor handle. The Value Offset parameter shall be the offset + * within the characteristic descriptor to be read. + * + * If the return status from this function is SUCCESS, the calling + * application task will receive multiple tmos GATT_MSG_EVENT messages. + * The type of the messages will be either ATT_READ_BLOB_RSP or + * ATT_ERROR_RSP (if an error occurred on the server). + * + * @note This sub-procedure is complete when either ATT_READ_BLOB_RSP + * (with bleProcedureComplete or bleTimeout status) or ATT_ERROR_RSP + * (with SUCCESS status) is received by the calling application task. + * + * @param connHandle - connection to use + * @param pReq - pointer to request to be sent + * @param taskId - task to be notified of response + * + * @return SUCCESS: Request was sent successfully. + * INVALIDPARAMETER: Invalid connection handle or request field. + * MSG_BUFFER_NOT_AVAIL: No HCI buffer is available. + * bleNotConnected: Connection is down. + * blePending: A response is pending with this server. + * bleMemAllocError: Memory allocation error occurred. + * bleTimeout: Previous transaction timed out. + */ +#define GATT_ReadLongCharDesc (( bStatus_t (*) ( uint16_t connHandle, attReadBlobReq_t *pReq, uint8_t taskId )) BLE_LIB_JT(58) ) + +/** + * @brief This sub-procedure is used to write a characteristic + * descriptor value to a server when the client knows the + * characteristic descriptor handle. + * + * The ATT Write Request is used for this sub-procedure. The + * Attribute Handle parameter shall be set to the characteristic + * descriptor handle. The Attribute Value parameter shall be + * set to the new characteristic descriptor value. + * + * If the return status from this function is SUCCESS, the calling + * application task will receive an tmos GATT_MSG_EVENT message. + * The type of the message will be either ATT_WRITE_RSP + * or ATT_ERROR_RSP (if an error occurred on the server). + * + * @note This sub-procedure is complete when either ATT_WRITE_RSP + * (with SUCCESS or bleTimeout status) or ATT_ERROR_RSP + * (with SUCCESS status) is received by the calling application task. + * + * @param connHandle - connection to use + * @param pReq - pointer to request to be sent + * @param taskId - task to be notified of response + * + * @return SUCCESS: Request was sent successfully. + * INVALIDPARAMETER: Invalid connection handle or request field. + * MSG_BUFFER_NOT_AVAIL: No HCI buffer is available. + * bleNotConnected: Connection is down. + * blePending: A response is pending with this server. + * bleMemAllocError: Memory allocation error occurred. + * bleTimeout: Previous transaction timed out. + */ +#define GATT_WriteCharDesc (( bStatus_t (*) ( uint16_t connHandle, attWriteReq_t *pReq, uint8_t taskId )) BLE_LIB_JT(59) ) + +/** + * @brief This sub-procedure is used to write a Characteristic Value to + * a server when the client knows the Characteristic Value Handle + * but the length of the Characteristic Value is longer than can + * be sent in a single Write Request Attribute Protocol message. + * + * The ATT Prepare Write Request and Execute Write Request are + * used to perform this sub-procedure. + * + * If the return status from this function is SUCCESS, the calling + * application task will receive multiple tmos GATT_MSG_EVENT messages. + * The type of the messages will be either ATT_PREPARE_WRITE_RSP, + * ATT_EXECUTE_WRITE_RSP or ATT_ERROR_RSP (if an error occurred on + * the server). + * + * @note This sub-procedure is complete when either ATT_PREPARE_WRITE_RSP + * (with bleTimeout status), ATT_EXECUTE_WRITE_RSP + * (with SUCCESS or bleTimeout status), or ATT_ERROR_RSP + * (with SUCCESS status) is received by the calling application task. + * + * @note The 'pReq->pValue' pointer will be freed when the sub-procedure is complete. + * + * @param connHandle - connection to use + * @param pReq - pointer to request to be sent + * @param taskId - task to be notified of response + * + * @return SUCCESS: Request was sent successfully. + * INVALIDPARAMETER: Invalid connection handle or request field.v + * MSG_BUFFER_NOT_AVAIL: No HCI buffer is available. + * bleNotConnected: Connection is down. + * blePending: A response is pending with this server. + * bleMemAllocError: Memory allocation error occurred. + * bleTimeout: Previous transaction timed out. + */ +#define GATT_WriteLongCharDesc (( bStatus_t (*) ( uint16_t connHandle, attPrepareWriteReq_t *pReq, uint8_t taskId )) BLE_LIB_JT(60) ) + +/** + * @brief GATT implementation of the allocator functionality. + * + * @note This function should only be called by GATT and the upper layer protocol/application. + * + * @param connHandle - connection that message is to be sent on. + * @param opcode - opcode of message that buffer to be allocated for. + * @param size - number of bytes to allocate from the heap. + * @param pSizeAlloc - number of bytes allocated for the caller from the heap. + * @param flag - . + * + * @return pointer to the heap allocation; NULL if error or failure. + */ +#define GATT_bm_alloc (( void* (*) ( uint16_t connHandle, uint8_t opcode, uint16_t size, uint16_t *pSizeAlloc, uint8_t flag )) BLE_LIB_JT(61) ) + +/** + * @brief GATT implementation of the de-allocator functionality. + * + * @param pMsg - pointer to GATT message containing the memory to free. + * @param opcode - opcode of the message + * + * @return none + */ +#define GATT_bm_free (( void (*) ( gattMsg_t *pMsg, uint8_t opcode )) BLE_LIB_JT(62) ) + +/** + * @brief Register a service's attribute list and callback functions with + * the GATT Server Application. + * + * @param pAttrs - Array of attribute records to be registered + * @param numAttrs - Number of attributes in array + * @param encKeySize - Minimum encryption key size required by service (7-16 bytes) + * @param pServiceCBs - Service callback function pointers + * + * @return SUCCESS: Service registered successfully. + * INVALIDPARAMETER: Invalid service fields. + * FAILURE: Not enough attribute handles available. + * bleMemAllocError: Memory allocation error occurred. + * bleInvalidRange: Encryption key size's out of range. + */ +#define GATTServApp_RegisterService (( bStatus_t (*) ( gattAttribute_t *pAttrs,\ + uint16_t numAttrs, uint8_t encKeySize,gattServiceCBs_t *pServiceCBs )) BLE_LIB_JT(63) ) + +/** + * @brief Add function for the GATT Service. + * + * @param services - services to add. This is a bit map and can + * contain more than one service. + * + * @return SUCCESS: Service added successfully. + * INVALIDPARAMETER: Invalid service field. + * FAILURE: Not enough attribute handles available. + * bleMemAllocError: Memory allocation error occurred. + */ +#define GATTServApp_AddService (( bStatus_t (*) ( uint32_t services )) BLE_LIB_JT(64) ) + +/** + * @brief Deregister a service's attribute list and callback functions from + * the GATT Server Application. + * + * @note It's the caller's responsibility to free the service attribute + * list returned from this API. + * + * @param handle - handle of service to be deregistered + * @param p2pAttrs - pointer to array of attribute records (to be returned) + * + * @return SUCCESS: Service deregistered successfully. + * FAILURE: Service not found. + */ +#define GATTServApp_DeregisterService (( bStatus_t (*) ( uint16_t handle, gattAttribute_t **p2pAttrs )) BLE_LIB_JT(114) ) + +/** + * @brief Initialize the client characteristic configuration table. + * + * @note Each client has its own instantiation of the ClientCharacteristic Configuration. + * Reads/Writes of the Client Characteristic Configuration only only affect the + * configuration of that client. + * + * @param connHandle - connection handle (0xFFFF for all connections). + * @param charCfgTbl - client characteristic configuration table. + * + * @return none + */ +#define GATTServApp_InitCharCfg (( void (*) ( uint16_t connHandle, gattCharCfg_t *charCfgTbl )) BLE_LIB_JT(65) ) + +/** + * @brief Send out a Service Changed Indication. + * + * @param connHandle - connection to use + * @param taskId - task to be notified of confirmation + * + * @return SUCCESS: Indication was sent successfully. + * FAILURE: Service Changed attribute not found. + * INVALIDPARAMETER: Invalid connection handle or request field. + * MSG_BUFFER_NOT_AVAIL: No HCI buffer is available. + * bleNotConnected: Connection is down. + * blePending: A confirmation is pending with this client. + */ +#define GATTServApp_SendServiceChangedInd (( bStatus_t (*) ( uint16_t connHandle, tmosTaskID taskID)) BLE_LIB_JT(127) ) + +/** + * @brief Read the client characteristic configuration for a given client. + * + * @note Each client has its own instantiation of the Client Characteristic Configuration. + * Reads of the Client Characteristic Configuration only shows the configuration + * for that client. + * + * @param connHandle - connection handle. + * @param charCfgTbl - client characteristic configuration table. + * + * @return attribute value + */ +#define GATTServApp_ReadCharCfg (( uint16_t (*) ( uint16_t connHandle, gattCharCfg_t *charCfgTbl )) BLE_LIB_JT(66) ) + +/** + * @brief Write the client characteristic configuration for a given client. + * + * @note Each client has its own instantiation of the Client Characteristic Configuration. + * Writes of the Client Characteristic Configuration only only affect the + * configuration of that client. + * + * @param connHandle - connection handle. + * @param charCfgTbl - client characteristic configuration table. + * @param value - attribute new value. + * + * @return Success or Failure + */ +#define GATTServApp_WriteCharCfg (( uint8_t (*) ( uint16_t connHandle, gattCharCfg_t *charCfgTbl, uint16_t value )) BLE_LIB_JT(67) ) + +/** + * @brief Process the client characteristic configuration + * write request for a given client. + * + * @param connHandle - connection message was received on. + * @param pAttr - pointer to attribute. + * @param pValue - pointer to data to be written. + * @param len - length of data. + * @param offset - offset of the first octet to be written. + * @param validCfg - valid configuration. + * + * @return Success or Failure + */ +#define GATTServApp_ProcessCCCWriteReq (( bStatus_t (*) ( uint16_t connHandle, gattAttribute_t *pAttr,\ + uint8_t *pValue, uint16_t len, uint16_t offset,uint16_t validCfg )) BLE_LIB_JT(68) ) + +/** + * @brief Set a GAP GATT Server parameter. + * + * @param param - Profile parameter ID + * @param len - length of data to right + * @param value - pointer to data to write. This is dependent on + * the parameter ID and WILL be cast to the appropriate + * data type (example: data type of uint16_t will be cast to + * uint16_t pointer). + * + * @return bStatus_t + */ +#define GGS_SetParameter (( bStatus_t (*) ( uint8_t param, uint8_t len, void *value )) BLE_LIB_JT(69) ) + +/** + * @brief Get a GAP GATT Server parameter. + * + * @param param - Profile parameter ID + * @param value - pointer to data to put. This is dependent on + * the parameter ID and WILL be cast to the appropriate + * data type (example: data type of uint16_t will be cast to + * uint16_t pointer). + * + * @return bStatus_t + */ +#define GGS_GetParameter (( bStatus_t (*) ( uint8_t param, void *value )) BLE_LIB_JT(70) ) + +/** + * @brief Add function for the GAP GATT Service. + * + * @param services - services to add. This is a bit map and can + * contain more than one service. + * + * @return SUCCESS: Service added successfully. + * INVALIDPARAMETER: Invalid service field. + * FAILURE: Not enough attribute handles available. + * bleMemAllocError: Memory allocation error occurred. + */ +#define GGS_AddService (( bStatus_t (*) ( uint32_t services )) BLE_LIB_JT(71) ) + +/*------------------------------------------------------------------- + * FUNCTIONS - Initialization and Configuration + */ + +/** + * @brief Set a GAP Parameter value. Use this function to change the default GAP parameter values. + * + * @param paramID - parameter ID: @ref GAP_PARAMETER_ID_DEFINES + * @param paramValue - new param value + * + * @return SUCCESS or INVALIDPARAMETER (invalid paramID) + */ +#define GAP_SetParamValue (( bStatus_t (*) ( uint16_t paramID, uint16_t paramValue )) BLE_LIB_JT(72) ) + +/** + * @brief Get a GAP Parameter value. + * + * @param paramID - parameter ID: @ref GAP_PARAMETER_ID_DEFINES + * + * @return GAP Parameter value or 0xFFFF if invalid + */ +#define GAP_GetParamValue (( uint16_t (*) ( uint16_t paramID )) BLE_LIB_JT(73) ) + +/** + * @brief Setup the device's address type. If ADDRTYPE_PRIVATE_RESOLVE is selected, + * the address will change periodically. + * + * @param addrType - @ref GAP_ADDR_TYPE_DEFINES + * @param pStaticAddr - Only used with ADDRTYPE_STATIC or ADDRTYPE_PRIVATE_NONRESOLVE type + * NULL to auto generate otherwise the application can specify the address value + * + * @return SUCCESS: address type updated, + * bleNotReady: Can't be called until GAP_DeviceInit() is called + * and the init process is completed + * bleIncorrectMode: can't change with an active connection,or INVALIDPARAMETER + * If return value isn't SUCCESS, the address type remains the same as before this call. + */ +#define GAP_ConfigDeviceAddr (( bStatus_t (*) ( uint8_t addrType, uint8_t *pStaticAddr )) BLE_LIB_JT(74) ) + +/** + * @brief Resolves a private address against an IRK. + * + * @param(in) pIRK - pointer to the IRK + * @param(in) pAddr - pointer to the Resolvable Private address + * + * @param(out) pIRK + * @param(out) pAddr + * + * @return SUCCESS: match, + * FAILURE: don't match, + * INVALIDPARAMETER: parameters invalid + */ +#define GAP_ResolvePrivateAddr (( bStatus_t (*) ( uint8_t *pIRK, uint8_t *pAddr )) BLE_LIB_JT(75) ) + +/** + * @brief Setup or change advertising and scan response data. + * + * @note if the return status from this function is SUCCESS,the task isn't complete + * until the GAP_ADV_DATA_UPDATE_DONE_EVENT is sent to the calling application task. + * + * @param taskID - task ID of the app requesting the change + * @param adType - TRUE - advertisement data, FALSE - scan response data + * @param dataLen - Octet length of advertData + * @param pAdvertData - advertising or scan response data + * + * @return SUCCESS: data accepted + * bleIncorrectMode: invalid profile role + */ +#define GAP_UpdateAdvertisingData (( bStatus_t (*) ( uint8_t taskID,uint8_t adType,uint16_t dataLen,uint8_t *pAdvertData )) BLE_LIB_JT(76) ) + +/*------------------------------------------------------------------- + * FUNCTIONS - GAP Bond API + */ +/** + * @brief Set a GAP Bond Manager parameter. + * + * @note You can call this function with a GAP Parameter ID and it will set the GAP Parameter. + * + * @param param - Profile parameter ID: @ref GAPBOND_PROFILE_PARAMETERS + * @param len - length of data to write + * @param pValue - pointer to data to write. This is dependent on + * the parameter ID and WILL be cast to the appropriate + * data type (example: data type of uint16_t will be cast to + * uint16_t pointer). + * + * @return SUCCESS or INVALIDPARAMETER (invalid paramID) + */ +#define GAPBondMgr_SetParameter (( bStatus_t (*) ( uint16_t param, uint8_t len, void *pValue )) BLE_LIB_JT(77) ) + +/** + * @brief Get a GAP Bond Manager parameter. + * + * @note You can call this function with a GAP Parameter ID and it will get a GAP Parameter. + * + * @param param - Profile parameter ID: @ref GAPBOND_PROFILE_PARAMETERS + * @param pValue - pointer to location to get the value. This is dependent on + * the parameter ID and WILL be cast to the appropriate data type. + * (example: data type of uint16_t will be cast to uint16_t pointer) + * + * @return SUCCESS or INVALIDPARAMETER (invalid paramID) + */ +#define GAPBondMgr_GetParameter (( bStatus_t (*) ( uint16_t param, void *pValue )) BLE_LIB_JT(78) ) + +/** + * @brief Respond to a passcode request. + * + * @param connectionHandle - connection handle of the connected device or 0xFFFF if all devices in database. + * @param status - SUCCESS if passcode is available, otherwise see @ref SMP_PAIRING_FAILED_DEFINES. + * @param passcode - integer value containing the passcode. + * + * @return SUCCESS - bond record found and changed + * bleIncorrectMode - Link not found. + */ +#define GAPBondMgr_PasscodeRsp (( bStatus_t (*) ( uint16_t connectionHandle, uint8_t status, uint32_t passcode )) BLE_LIB_JT(79) ) + +/** + * @brief Respond to a passcode request. + * + * @param connHandle - connection handle of the connected device or 0xFFFF if all devices in database. + * @param status - SUCCESS if oob data is available, otherwise see @ref SMP_PAIRING_FAILED_DEFINES. + * @param oob - containing the oob data. + * @param c_peer - containing the peer confirm. + * + * @return SUCCESS - bond record found and changed + * bleIncorrectMode - Link not found. + */ +#define GAPBondMgr_OobRsp (( bStatus_t (*) ( uint16_t connHandle, uint8_t status, uint8_t *oob, uint8_t * c_peer )) BLE_LIB_JT(139) ) + +/** + * @brief Initialization function for the ecc-function callback. + * + * @param pEcc - callback registration Structure @ref gapEccCBs_t. + * + * @return null. + */ +#define GAPBondMgr_EccInit (( void (*) ( gapEccCBs_t *pEcc )) BLE_LIB_JT(140) ) + +/** + * @brief Send a security request + * + * @param connHandle - connection handle + * + * @return SUCCESS: will send + * bleNotConnected: Link not found + * bleIncorrectMode: wrong GAP role, must be a Peripheral Role + */ +#define GAPBondMgr_PeriSecurityReq (( bStatus_t (*) ( uint16_t connHandle )) BLE_LIB_JT(132) ) + +/*------------------------------------------------------------------- + * FUNCTIONS - GAPRole API + */ +/** + * @brief Set a GAP Role parameter. + * + * @note You can call this function with a GAP Parameter ID and it will set a GAP Parameter. + * + * @param param - Profile parameter ID: @ref GAPROLE_PROFILE_PARAMETERS + * @param len - length of data to write + * @param pValue - pointer to data to write. This is dependent on the parameter ID and + * WILL be cast to the appropriate data type (example: data type of uint16_t + * will be cast to uint16_t pointer). + * + * @return SUCCESS or INVALIDPARAMETER (invalid paramID) + */ +#define GAPRole_SetParameter (( bStatus_t (*) ( uint16_t param, uint16_t len, void *pValue )) BLE_LIB_JT(80) ) + +/** + * @brief Get a GAP Role parameter. + * + * @note You can call this function with a GAP Parameter ID and it will get a GAP Parameter. + * + * @param param - Profile parameter ID: @ref GAPROLE_PROFILE_PARAMETERS + * @param pValue - pointer to location to get the value. This is dependent on + * the parameter ID and WILL be cast to the appropriate + * data type (example: data type of uint16_t will be cast to + * uint16_t pointer). + * + * @return SUCCESS or INVALIDPARAMETER (invalid paramID) + */ +#define GAPRole_GetParameter (( bStatus_t (*) ( uint16_t param, void *pValue )) BLE_LIB_JT(81) ) + +/** + * @brief Terminates the existing connection. + * + * @return SUCCESS or bleIncorrectMode + */ +#define GAPRole_TerminateLink (( bStatus_t (*) ( uint16_t connHandle )) BLE_LIB_JT(82) ) + +/** + * @brief Read Rssi Cmd. + * + * @param connHandle - connection handle + * + * @return bStatus_t: HCI Error Code. + * + */ +#define GAPRole_ReadRssiCmd (( bStatus_t (*) ( uint16_t connHandle )) BLE_LIB_JT(83) ) + +/** + * @brief used to synchronize with a periodic advertising train from an advertiser and + * begin receiving periodic advertising packets. + * + * @param pSync - sync parameters@ gapCreateSync_t + * + * @return bStatus_t: HCI Error Code. + * + */ +#define GAPRole_CreateSync (( bStatus_t (*) ( gapCreateSync_t *pSync )) BLE_LIB_JT(123) ) + +/** + * @brief used to cancel the HCI_LE_Periodic_Advertising_Create_Sync command while + * it is pending. + * + * @param None. + * + * @return bStatus_t: HCI Error Code. + * + */ +#define GAPRole_CancelSync (( bStatus_t (*) ( void )) BLE_LIB_JT(124) ) + +/** + * @brief used to stop reception of the periodic advertising train identified + * by the Sync_Handle parameter. + * + * @param syncHandle-identifying the periodic advertising train + * + * @return bStatus_t: HCI Error Code. + * + */ +#define GAPRole_TerminateSync (( bStatus_t (*) ( uint16_t syncHandle )) BLE_LIB_JT(125) ) + +/** + * @brief used to instruct the Controller to send synchronization information about the periodic + * advertising in an advertising set to a connected device. + * + * @param pSync - sync parameters@ gapSyncTransferParam_t + * + * @return bStatus_t: HCI Error Code. + * + */ +#define GAPRole_SyncTransferParameters (( bStatus_t (*) ( gapSyncTransferParam_t *pSync )) BLE_LIB_JT(144) ) + +/** + * @brief used to instruct the Controller to send synchronization information about the periodic + * advertising train identified by the Sync_Handle parameter to a connected device. + * + * @param pSync - sync parameters@ gapSyncTransferSync_t + * + * @return bStatus_t: HCI Error Code. + * + */ +#define GAPRole_SyncTransferSync (( bStatus_t (*) ( gapSyncTransferSync_t *pSync )) BLE_LIB_JT(145) ) + +/** + * @brief used to instruct the Controller to send synchronization information about the periodic + * advertising in an advertising set to a connected device. + * + * @param pSync - sync parameters@ gapSyncTransferAdvertising_t + * + * @return bStatus_t: HCI Error Code. + * + */ +#define GAPRole_SyncTransferAdvertising (( bStatus_t (*) ( gapSyncTransferAdvertising_t *pSync )) BLE_LIB_JT(146) ) + +/** + * @brief Update the link connection parameters. + * + * @param connHandle - connection handle + * @param connIntervalMin - minimum connection interval in 1.25ms units + * @param connIntervalMax - maximum connection interval in 1.25ms units + * @param connLatency - number of LL latency connection events + * @param connTimeout - connection timeout in 10ms units + * + * @return SUCCESS: Connection update started started. + * bleIncorrectMode: No connection to update. + */ +#define GAPRole_UpdateLink (( bStatus_t (*) ( uint16_t connHandle, uint16_t connIntervalMin,\ + uint16_t connIntervalMax, uint16_t connLatency, uint16_t connTimeout )) BLE_LIB_JT(84) ) + +/** + * @brief Update the connection phy. + * + * @param connHandle - connection handle + * @param all_phys - a bit field that allows the Host to specify, for each direction + * set BIT0:The Host has no preference among the transmitter PHYs supported by the Controller + * set BIT1:The Host has no preference among the receiver PHYs supported by the Controller + * @param tx_phys - a bit field that indicates the transmitter PHYs.(GAP_PHY_BIT_TYPE) + * @param rx_phys - a bit field that indicates the receiver PHYs.(GAP_PHY_BIT_TYPE) + * @param phy_options - resv + * + * @return SUCCESS: PHY update started started . + * bleIncorrectMode: No connection to update. + */ +#define GAPRole_UpdatePHY (( bStatus_t (*) ( uint16_t connHandle, uint8_t all_phys, uint8_t tx_phys,\ + uint8_t rx_phys, uint16_t phy_options)) BLE_LIB_JT(122) ) + +/** + * @brief used to allow the Host to specify the privacy mode to be used for a given entry on the resolving list. + * + * @note This command shall not be used when address resolution is enabled in the Controller and: + * Advertising (other than periodic advertising) is enabled, + * Scanning is enabled, or + * an GAPRole_CentralEstablishLink, or GAPRole_CreateSync command is pending. + * + * @param addrTypePeer - 0x00:Public Identity Address 0x01:Random (static) Identity Address + * @param peerAddr - Public Identity Address or Random (static) Identity Address of the advertiser + * @param privacyMode - 0x00:Use Network Privacy Mode for this peer device (default) + * 0x01:Use Device Privacy Mode for this peer device + * + * @return Command Status. + * + */ +#define GAPRole_SetPrivacyMode (( bStatus_t (*) ( uint8_t addrTypePeer, uint8_t *peerAddr, uint8_t privacyMode )) BLE_LIB_JT(133) ) + +/** + * @brief used to set the path loss threshold reporting parameters. + * + * @param pParm - set path loss parameters@ gapRoleSetPathLossReporting_t + * + * @return Command Status. + * + */ +#define GAPRole_SetPathLossReporting (( bStatus_t (*) ( gapRoleSetPathLossReporting_t *pParm )) BLE_LIB_JT(134) ) + +/** + * @brief used to set power level management. + * + * @param pParm - set power level parameters@ gapRolePowerlevelManagement_t + * + * @return Command Status. + * + */ +#define GAPRole_SetPowerlevel (( bStatus_t (*) ( gapRolePowerlevelManagement_t *pParm )) BLE_LIB_JT(136) ) + +/** + * @brief used to set the parameters for pawr advertising.. + * + * @param pParm - set pawr parameters@ gapPawrSetParam_t + * + * @return Command Status. + * + */ +#define GAPPawr_SetParameters (( bStatus_t (*) ( gapPawrSetParam_t *pParm )) BLE_LIB_JT(141) ) + +/** + * @brief used to set the data for one or more subevents of PAwR in reply to an + * HCI_LE_Periodic_Advertising_Subevent_Data_Request event. + * + * @param advHandle - advertising handle + * @param numSubevents - the number of subevent data contained in the parameter arrays. + * @param pParm - The arrayed parameter @ gapPawrSetResponseData_t + * + * @return Command Status. + * + */ +#define GAPPawr_SetSubeventData (( bStatus_t (*) ( uint8_t advHandle, uint8_t numSubevents, gapPawrSetData_t *pParm )) BLE_LIB_JT(142) ) + +/** + * @brief used by the Host to set the data for a response slot in a specific subevent + * of the PAwR identified by the Sync_Handle. + * + * @param pParm - The parameter @ gapPawrSetResponseData_t + * + * @return Command Status. + * + */ +#define GAPPawr_SetResponseData (( bStatus_t (*) ( gapPawrSetResponseData_t *pParm )) BLE_LIB_JT(143) ) + +/** + * @brief used to create an ACL connection between a periodic advertiser and a synchronized device. + * + * @param pParm - The parameter @ gapPawrCreateConnection_t + * + * @return Command Status. + * + */ +#define GAPPawr_CreatConnection (( bStatus_t (*) ( gapPawrCreateConnection_t *pParm )) BLE_LIB_JT(147) ) + +/*------------------------------------------------------------------- + * FUNCTIONS - BROADCASTER_PROFILE_API Broadcaster Profile API + */ +/** + * + * @brief Initialization function for the GAP Role Task. + * + * @param None. + * + * @return SUCCESS,bleInvalidRange + */ +#define GAPRole_BroadcasterInit (( bStatus_t (*) ( void )) BLE_LIB_JT(85) ) + +/** + * @brief Does the device initialization. Only call this function once. + * + * @param pAppCallbacks - pointer to application callbacks. + * + * @return SUCCESS or bleAlreadyInRequestedMode + */ +#define GAPRole_BroadcasterStartDevice (( bStatus_t (*) ( gapRolesBroadcasterCBs_t *pAppCallbacks )) BLE_LIB_JT(86) ) + +/** + * @brief Does the Broadcaster receive scan request call initialization. + * + * @param pAppCallbacks - pointer to application callbacks. + * + * @return None + */ +#define GAPRole_BroadcasterSetCB (( void (*) (gapRolesBroadcasterCBs_t *pAppCallbacks )) BLE_LIB_JT(106) ) + +/*------------------------------------------------------------------- + * FUNCTIONS - OBSERVER_PROFILE_API Observer Profile API + */ +/** + * @internal + * + * @brief Observer Profile Task initialization function. + * + * @param None. + * + * @return SUCCESS,bleInvalidRange + */ +#define GAPRole_ObserverInit (( bStatus_t (*) ( void )) BLE_LIB_JT(87) ) + +/** + * @brief Start the device in Observer role. This function is typically + * called once during system startup. + * + * @param pAppCallbacks - pointer to application callbacks + * + * @return SUCCESS: Operation successful. + * bleAlreadyInRequestedMode: Device already started. + */ +#define GAPRole_ObserverStartDevice (( bStatus_t (*) ( gapRoleObserverCB_t *pAppCallbacks )) BLE_LIB_JT(88) ) + +/** + * @brief Start a device discovery scan. + * + * @param mode - discovery mode: @ref GAP_DEVDISC_MODE_DEFINES + * @param activeScan - TRUE to perform active scan + * @param whiteList - TRUE to only scan for devices in the white list + * + * @return SUCCESS: Discovery scan started. + * bleIncorrectMode: Invalid profile role. + * bleAlreadyInRequestedMode: Not available. + */ +#define GAPRole_ObserverStartDiscovery (( bStatus_t (*) ( uint8_t mode, uint8_t activeScan, uint8_t whiteList )) BLE_LIB_JT(89) ) + +/** + * @brief Cancel a device discovery scan. + * + * @return SUCCESS: Cancel started. + * bleInvalidTaskID: Not the task that started discovery. + * bleIncorrectMode: Not in discovery mode. + */ +#define GAPRole_ObserverCancelDiscovery (( bStatus_t (*) ( void )) BLE_LIB_JT(90) ) + +/*------------------------------------------------------------------- + * FUNCTIONS - PERIPHERAL_PROFILE_API Peripheral Profile API + */ +/** + * @internal + * + * @brief Initialization function for the GAP Role Task. + * This is called during initialization and should contain + * any application specific initialization (ie. hardware + * initialization/setup, table initialization, power up + * notificaiton ... ). + * + * @param None. + * + * @return SUCCESS,bleInvalidRange + */ +#define GAPRole_PeripheralInit (( bStatus_t (*) ( void )) BLE_LIB_JT(91) ) + +/** + * @brief Does the device initialization. Only call this function once. + * + * @param pAppCallbacks - pointer to application callbacks. + * + * @return SUCCESS or bleAlreadyInRequestedMode + */ +#define GAPRole_PeripheralStartDevice (( bStatus_t (*) ( uint8_t taskid, gapBondCBs_t *pCB,gapRolesCBs_t *pAppCallbacks )) BLE_LIB_JT(92) ) + +/** + * @brief Update the parameters of an existing connection + * + * @param connHandle - the connection Handle + * @param connIntervalMin - minimum connection interval in 1.25ms units + * @param connIntervalMax - maximum connection interval in 1.25ms units + * @param latency - the new slave latency + * @param connTimeout - the new timeout value + * @param taskId - taskID will recv L2CAP_SIGNAL_EVENT message + * + * @return SUCCESS, bleNotConnected or bleInvalidRange + */ +#define GAPRole_PeripheralConnParamUpdateReq (( bStatus_t (*) ( uint16_t connHandle, uint16_t connIntervalMin,\ + uint16_t connIntervalMax,uint16_t latency, uint16_t connTimeout,uint8_t taskId )) BLE_LIB_JT(93) ) + +/*------------------------------------------------------------------- + * FUNCTIONS - CENTRAL_PROFILE_API Central Profile API + */ +/** + * @internal + * + * @brief Central Profile Task initialization function. + * + * @param None. + * + * @return SUCCESS,bleInvalidRange + */ +#define GAPRole_CentralInit (( bStatus_t (*) ( void )) BLE_LIB_JT(94) ) + +/** + * @brief Start the device in Central role. This function is typically + * called once during system startup. + * + * @param pAppCallbacks - pointer to application callbacks + * + * @return SUCCESS: Operation successful. + * bleAlreadyInRequestedMode: Device already started. + */ +#define GAPRole_CentralStartDevice (( bStatus_t (*) ( uint8_t taskid, gapBondCBs_t *pCB, gapCentralRoleCB_t *pAppCallbacks )) BLE_LIB_JT(95) ) + +/** + * @brief Start a device discovery scan. + * + * @param mode - discovery mode: @ref GAP_DEVDISC_MODE_DEFINES + * @param activeScan - TRUE to perform active scan + * @param whiteList - TRUE to only scan for devices in the white list + * + * @return SUCCESS: Discovery scan started. + * bleIncorrectMode: Invalid profile role. + * bleAlreadyInRequestedMode: Not available. + */ +#define GAPRole_CentralStartDiscovery (( bStatus_t (*) ( uint8_t mode, uint8_t activeScan, uint8_t whiteList )) BLE_LIB_JT(96) ) + +/** + * @brief Cancel a device discovery scan. + * + * @return SUCCESS: Cancel started. + * bleInvalidTaskID: Not the task that started discovery. + * bleIncorrectMode: Not in discovery mode. + */ +#define GAPRole_CentralCancelDiscovery (( bStatus_t (*) ( void )) BLE_LIB_JT(97) ) + +/** + * @brief This API is called by the Central to update the Host data channels + * initiating an Update Data Channel control procedure. + * + * @note While it isn't specified,it is assumed that the Host expects an + * update channel map on all active connections and periodic advertise. + * + * input parameters + * + * @param chanMap - A five byte array containing one bit per data channel + * where a 1 means the channel is "used". + * + * @return SUCCESS + */ +#define GAPRole_SetHostChanClassification (( (*) ( uint8_t *chanMap )) BLE_LIB_JT(128) ) + +/** + * @brief Establish a link to a peer device. + * + * @param highDutyCycle - TRUE to high duty cycle scan, FALSE if not + * @param whiteList - determines use of the white list: TRUE-enable + * @param addrTypePeer - address type of the peer device: @ref GAP_ADDR_TYPE_DEFINES + * @param peerAddr - peer device address + * + * @return SUCCESS: started establish link process. + * bleIncorrectMode: invalid profile role. + * bleNotReady: a scan is in progress. + * bleAlreadyInRequestedMode: can't process now. + * bleNoResources: too many links. + */ +#define GAPRole_CentralEstablishLink (( bStatus_t (*) ( uint8_t highDutyCycle, uint8_t whiteList,uint8_t addrTypePeer, uint8_t *peerAddr )) BLE_LIB_JT(98) ) + +/*------------------------------------------------------------------- + * FUNCTIONS - RF_PHY Profile API + */ + +/** + * @brief RF_PHY Profile Task initialization function. + * + * @param None. + * + * @return 0 - success. + */ +#define RF_RoleInit (( bStatus_t (*) ( void )) BLE_LIB_JT(99) ) + +/** + * @brief rf config. + * + * @param pConfig - rf config parameters + * + * @return 0 - success. + */ +#define RF_Config (( bStatus_t (*) ( rfConfig_t *pConfig )) BLE_LIB_JT(100) ) + +/** + * @brief rx mode. + * + * @param txBuf - rx mode tx data + * @param txLen - rx mode tx length(0-251) + * @param pktRxType - rx mode rx package type + * broadcast type(0xFF):receive all matching types, + * others:receive match type or broadcast type + * @param pktTxType - rx mode tx package type(auto mode) + * broadcast type(0xFF):received by all matching types; + * others:only received by matching type + * + * @return 0 - success. 1-access address error 2-busy + */ +#define RF_Rx (( bStatus_t (*) ( uint8_t *txBuf, uint8_t txLen, uint8_t pktRxType, uint8_t pktTxType ) ) BLE_LIB_JT(101) ) + +/** + * @brief tx mode. + * + * @param txBuf - tx mode tx data + * @param txLen - tx mode tx length(0-251) + * @param pktTxType - tx mode tx package type + * broadcast type(0xFF):received by all matching types; + * others:only received by matching type + * @param pktRxType - tx mode rx package type(auto mode) + * broadcast type(0xFF):receive all matching types, + * others:receive match type or broadcast type + * + * @return 0 - success. 1-access address error 2-busy + */ +#define RF_Tx (( bStatus_t (*) ( uint8_t *txBuf, uint8_t txLen, uint8_t pktTxType, uint8_t pktRxType ) ) BLE_LIB_JT(102) ) + +/** + * @brief shut down,stop tx/rx mode. + * + * @param None. + * + * @return 0 - success. + */ +#define RF_Shut (( bStatus_t (*) ( void )) BLE_LIB_JT(103) ) + +/** + * @brief rf mode set radio channel/frequency. + * + * @param channel. + * + * @return 0 - success. + */ +#define RF_SetChannel (( void (*) ( uint32_t channel )) BLE_LIB_JT(115) ) + +/** + * @brief rf mode set radio frequency and whitening channel index + * note: LLEMode bit6 set 1 + * + * @param frequency - + * @param ch - the whitening channel index + * + * @return 0 - success. + */ +#define RF_SetFrequency (( bStatus_t (*) ( uint32_t frequency, uint8_t channel )) BLE_LIB_JT(148) ) + +/** + * @brief shut down rf frequency hopping + * + * @param None. + * + * @return None. + */ +#define RF_FrequencyHoppingShut (( void (*) ( void )) BLE_LIB_JT(116) ) + +/** + * @brief + * + * @param resendCount - Maximum count of sending HOP_TX pdu,0 = unlimited. + * + * @return 0 - success. + */ +#define RF_FrequencyHoppingTx (( bStatus_t (*) ( uint8_t resendCount )) BLE_LIB_JT(117) ) + +/** + * @brief + * + * @param timeoutMS - Maximum time to wait for receiving HOP_TX pdu(Time = n * 1mSec),0 = unlimited. + * + * @return 0 - success.1-fail.2-LLEMode error(shall AUTO) + */ +#define RF_FrequencyHoppingRx (( bStatus_t (*) ( uint32_t timeoutMS )) BLE_LIB_JT(118) ) + +/** + * @brief Erase FH bonded device + * + * @param None. + * + * @return None. + */ +#define RF_BondingErase (( void (*) ( void )) BLE_LIB_JT(119) ) + +/** + * @brief single channel mode. + * + * @param ch - rf channel,f=2402+ch*2 MHz, ch=0,...,39 + * + * @return 0 - success. + */ +#define LL_SingleChannel (( bStatus_t (*) ( uint8_t ch )) BLE_LIB_JT(104) ) + +/** + * @brief used to stop any test which is in progress. + * + * @param(in) pPktNum - null + * + * @param(out) the number of received packets. + * + * @return 0 - success. + */ +#define LL_TestEnd (( bStatus_t (*) (uint8_t *pPktNum )) BLE_LIB_JT(105) ) + +/** + * @brief used to start a test where the DUT receives test reference packets at a fixed interval + * + * input parameters + * + * @param opcode = 0x201D + * pParm0 - RX_Channel + * + * opcode = 0x2033 + * pParm0 - RX_Channel + * pParm1 - PHY + * pParm2 - Modulation_Index + * + * @return 0 - success. + */ +#define API_LE_ReceiverTestCmd (( bStatus_t (*) ( uint8_t *pParm, uint16_t opcode )) BLE_LIB_JT(111) ) + +/** + * @brief used to start a test where the DUT generates test reference packets at a fixed interval + * + * @param opcode = 0x201E + * pParm 0 - TX_Channel + * pParm 1 - Test_Data_Length + * pParm 2 - Packet_Payload + * + * opcode = 0x2034 + * pParm 0 - TX_Channel + * pParm 1 - Test_Data_Length + * pParm 2 - Packet_Payload + * pParm 3 - PHY + * + * @return 0 - success. + */ +#define API_LE_TransmitterTestCmd (( bStatus_t (*) ( uint8_t *pParm, uint16_t opcode )) BLE_LIB_JT(112) ) + +/** + * @brief used to stop any test which is in progress + * + * @param None + * + * @return 0 - success. + */ +#define API_LE_TestEndCmd (( bStatus_t (*) ( void )) BLE_LIB_JT(113) ) + +/** + * @brief resv + * + * @param None + * + * @return None. + */ +#define RFEND_SetSensitivity (( void (*) ( void )) BLE_LIB_JT(129) ) + +/** + * @brief used to set rf TxCtune value + * + * @param pParm(in) - Must provide length of parameter followed by 6 bytes parameter + * + * @return Command Status. + */ +#define RFEND_TXCtuneSet (( bStatus_t (*) ( uint8_t *pParm )) BLE_LIB_JT(130) ) + +/** + * @brief used to get rf TxCtune value + * + * @param pParm(out) - length of parameter(6) followed by 6 bytes parameter + * + * @return Command Status. + */ +#define RFEND_TXCtuneGet (( bStatus_t (*) ( uint8_t *pParm )) BLE_LIB_JT(131) ) + +/* + * END @ Profile API + */ +/******************************************************************************/ +#ifdef __cplusplus +} +#endif + +#endif diff --git a/system/LIB/ble_task_scheduler.S b/system/LIB/ble_task_scheduler.S new file mode 100644 index 0000000..be4e2e2 --- /dev/null +++ b/system/LIB/ble_task_scheduler.S @@ -0,0 +1,127 @@ +.global Ecall_M_Mode_Handler +.global Ecall_U_Mode_Handler +.global LLE_IRQHandler + +.extern g_LLE_IRQLibHandlerLocation + +.section .highcode,"ax",@progbits +.align 2 +.func +Ecall_M_Mode_Handler: +Ecall_U_Mode_Handler: + + addi a1, x0, 0x20 + csrs 0x804, a1 + + lw a1, 0 * 4( sp ) + csrw mepc, a1 + + lw x1, 1 * 4( sp ) + lw x4, 2 * 4( sp ) + lw x5, 3 * 4( sp ) + lw x6, 4 * 4( sp ) + lw x7, 5 * 4( sp ) + lw x8, 6 * 4( sp ) + lw x9, 7 * 4( sp ) + lw x10, 8 * 4( sp ) + lw x11, 9 * 4( sp ) + lw x12, 10 * 4( sp ) + lw x13, 11 * 4( sp ) + lw x14, 12 * 4( sp ) + lw x15, 13 * 4( sp ) + lw x16, 14 * 4( sp ) + lw x17, 15 * 4( sp ) + lw x18, 16 * 4( sp ) + lw x19, 17 * 4( sp ) + lw x20, 18 * 4( sp ) + lw x21, 19 * 4( sp ) + lw x22, 20 * 4( sp ) + lw x23, 21 * 4( sp ) + lw x24, 22 * 4( sp ) + lw x25, 23 * 4( sp ) + lw x26, 24 * 4( sp ) + lw x27, 25 * 4( sp ) + lw x28, 26 * 4( sp ) + lw x29, 27 * 4( sp ) + lw x30, 28 * 4( sp ) + lw x31, 29 * 4( sp ) + + addi sp, sp, 32*4 + + mret + .endfunc + +.section .highcode.LLE_IRQHandler,"ax",@progbits +.align 2 +.func +LLE_IRQHandler: + addi sp, sp, -32*4 + + sw x1, 1 * 4( sp ) + sw x4, 2 * 4( sp ) + sw x5, 3 * 4( sp ) + sw x6, 4 * 4( sp ) + sw x7, 5 * 4( sp ) + sw x8, 6 * 4( sp ) + sw x9, 7 * 4( sp ) + sw x10, 8 * 4( sp ) + sw x11, 9 * 4( sp ) + sw x12, 10 * 4( sp ) + sw x13, 11 * 4( sp ) + sw x14, 12 * 4( sp ) + sw x15, 13 * 4( sp ) + sw x16, 14 * 4( sp ) + sw x17, 15 * 4( sp ) + sw x18, 16 * 4( sp ) + sw x19, 17 * 4( sp ) + sw x20, 18 * 4( sp ) + sw x21, 19 * 4( sp ) + sw x22, 20 * 4( sp ) + sw x23, 21 * 4( sp ) + sw x24, 22 * 4( sp ) + sw x25, 23 * 4( sp ) + sw x26, 24 * 4( sp ) + sw x27, 25 * 4( sp ) + sw x28, 26 * 4( sp ) + sw x29, 27 * 4( sp ) + sw x30, 28 * 4( sp ) + sw x31, 29 * 4( sp ) + + la a1, g_LLE_IRQLibHandlerLocation + lw a0, 0(a1) + jalr x1, 0(a0) + + lw x1, 1 * 4( sp ) + lw x4, 2 * 4( sp ) + lw x5, 3 * 4( sp ) + lw x6, 4 * 4( sp ) + lw x7, 5 * 4( sp ) + lw x8, 6 * 4( sp ) + lw x9, 7 * 4( sp ) + lw x10, 8 * 4( sp ) + lw x11, 9 * 4( sp ) + lw x12, 10 * 4( sp ) + lw x13, 11 * 4( sp ) + lw x14, 12 * 4( sp ) + lw x15, 13 * 4( sp ) + lw x16, 14 * 4( sp ) + lw x17, 15 * 4( sp ) + lw x18, 16 * 4( sp ) + lw x19, 17 * 4( sp ) + lw x20, 18 * 4( sp ) + lw x21, 19 * 4( sp ) + lw x22, 20 * 4( sp ) + lw x23, 21 * 4( sp ) + lw x24, 22 * 4( sp ) + lw x25, 23 * 4( sp ) + lw x26, 24 * 4( sp ) + lw x27, 25 * 4( sp ) + lw x28, 26 * 4( sp ) + lw x29, 27 * 4( sp ) + lw x30, 28 * 4( sp ) + lw x31, 29 * 4( sp ) + + addi sp, sp, 32*4 + + mret + .endfunc diff --git a/system/LIB/libCH58xBLE.a b/system/LIB/libCH58xBLE.a new file mode 100644 index 0000000..8126c81 Binary files /dev/null and b/system/LIB/libCH58xBLE.a differ diff --git a/system/LIB/libCH58xBLE_PERI.a b/system/LIB/libCH58xBLE_PERI.a new file mode 100644 index 0000000..8982a78 Binary files /dev/null and b/system/LIB/libCH58xBLE_PERI.a differ diff --git a/system/LIB/wchrf.h b/system/LIB/wchrf.h new file mode 100644 index 0000000..6602484 --- /dev/null +++ b/system/LIB/wchrf.h @@ -0,0 +1,589 @@ +/********************************** (C) COPYRIGHT ****************************** + * File Name : wchrf.h + * Author : WCH + * Version : V1.40 + * Date : 2024/9/27 + * Description : head file(CH585/CH584) + * + * Copyright (c) 2023 Nanjing Qinheng Microelectronics Co., Ltd. + * Attention: This software (modified or not) and binary are used for + * microcontroller manufactured by Nanjing Qinheng Microelectronics. +*******************************************************************************/ + + + +/******************************************************************************/ +#ifndef __WCH_RF_H +#define __WCH_RF_H + +#include "stdint.h" +#ifdef __cplusplus +extern "C" +{ +#endif +#include "CH58xBLE_LIB.h" + +typedef uint32_t rfRole_States_t; +// Define function type that rfRole process callback +typedef void (*pfnRfRoleProcess)( rfRole_States_t status, uint8_t id ); + +#define RFIP_MODE_BLE 0 +#define RFIP_MODE_RF_BASIC 1 +#define RFIP_MODE_RF_FAST 2 + +/* RF DMA structure definition */ +typedef struct +{ + uint32_t Status; /* Status */ +#define STA_DMA_ENABLE 0x80000000 +#define STA_LEN_MASK 0x00000FFF + + uint32_t BufferSize; /* Buffer lengths */ + uint32_t BufferAddr; /* address pointer */ + uint32_t NextDescAddr; /* next descriptor address pointer */ +} RF_DMADESCTypeDef; + +/* rfRole config structure definition */ +typedef struct +{ + int8_t TxPower; + RF_DMADESCTypeDef *pTx; + RF_DMADESCTypeDef *pRx; + pfnRfRoleProcess rfProcessCB; + uint32_t processMask; +#define RF_STATE_RX (1<<0) +#define RF_STATE_RBU (1<<1) +#define RF_STATE_TIMEOUT (1<<2) +#define RF_STATE_RX_CRCERR (1<<3) +#define RF_STATE_TX_FINISH (1<<4) +#define RF_STATE_TX_IDLE (1<<5) +#define RF_STATE_RX_RETRY (1<<6) +#define RF_STATE_MAP_UPDATE (1<<7) //!< map update enable +} rfRoleConfig_t; + +/********************************************************************* + * GLOBAL MACROS + */ +#define RF_MAX_DATA_LEN 251 + +// defined for properties +// whitening off enable +#define BB_WHITENING_OFF (1<<0) +#define PROP_WAIT_ACK (1<<1) +#define BB_WHITENING_CH (1<<2) + + +/* package type */ +#define PKT_HEAD_LEN 4 +#define PKT_ACK_LEN (PKT_HEAD_LEN-2) +#define PKT_RESV_LEN PKT_ACK_LEN + +/* device id type */ +#define RF_ROLE_ID_INVALD (0x07) +#define RF_ROLE_ID_MASK (0x07) +#define RF_ROLE_BOUND_MAX (0x07) +#define RF_ROLE_BOUND_ID RF_ROLE_ID_INVALD +#define RF_ROLE_DISCARDED_EN (1<<3) + +#define RF_BOUND_MUTI_MAX 2 +#define RF_BOUND_4K_MAX 7 + +/* bound status */ +#define BOUND_STA_SUCCESS 0x00 //!< Success +#define BOUND_STA_FAILURE 0x01 //!< Failure +#define BOUND_STA_INVALIDPARM 0x02 //!< Invalid request field +#define BOUND_STA_TIMEOUT 0x17 //!< timeout + +/* bound request */ +#define BOUND_REQ_TYPE 0x01 //!< 4k mode +#define BOUND_FAST_REQ_TYPE 0x02 //!< 8k mode +#define BOUND_MUTI_REQ_TYPE 0x04 //!< muti fast mode +#define BOUND_LP_REQ_TYPE 0x10 //!< lower power mode + +/* package type */ +typedef struct +{ + uint8_t type; //!< bit0-2:device id + //!< bit3-7:reserved + uint8_t length; //!< data length + uint8_t seq; //!< reserved + uint8_t resv; //!< reserved +} rfPackage_t; + +/* rfRole parameter */ +typedef struct +{ + uint32_t accessAddress; //!< access address,32bit PHY address + uint32_t crcInit; //!< crc initial value + uint32_t frequency; //!< rf frequency (2400000kHz-2483500kHz) + uint32_t properties; //!< bit0: 0-whitening on 1-whitening off + //!< bit1: 0- 1-wait ack + //!< BIT4-5 00-1M 01-2M + uint16_t rxMaxLen; //!< The maximum length of data received + uint16_t sendInterval; //!< Resend interval N*0.5us + uint16_t sendTime; //!< Time to switch from Rx t0 Tx (N*0.5us)+24us + uint8_t mapCheckCount; //!< Set the threshold of continuous packet loss to determine the quality of the channel.(default 2) +} rfRoleParam_t; + +/* rfip tx parameter */ +typedef struct +{ + uint32_t accessAddress; //!< access address,32bit PHY address + uint32_t crcInit; //!< crc initial value + uint32_t frequency; //!< rf frequency (2400000kHz-2483500kHz) + uint32_t properties; //!< bit0: 0-whitening on 1-whitening off + //!< bit1: 0- 1-wait ack + //!< bit2: 0- 1-set the channel index of Data whitening + //!< BIT4-5 00-1M 01-2M + uint32_t txDMA; //!< Tx DMA address + uint8_t whiteChannel; //!< white channel(properties bit2 = 1) + uint8_t sendTime; //!< Time to switch from Rx t0 Tx (N*0.5us)+24us + uint16_t sendCount; //!< resend count +} rfipTx_t; + +/* rfip rx parameter */ +typedef struct +{ + uint32_t accessAddress; //!< access address,32bit PHY address + uint32_t crcInit; //!< crc initial value + uint32_t frequency; //!< rf frequency (2400000kHz-2483500kHz) + uint32_t properties; //!< bit0: 0-whitening on 1-whitening off + //!< bit1: 0- 1-send ack + //!< BIT4-5 00-1M 01-2M + uint32_t rxDMA; //!< Rx DMA address + uint8_t whiteChannel; //!< white channel(properties bit2 = 1) + uint16_t rxMaxLen; //!< Maximum length of Rx data + uint16_t timeOut; //!< Rx wait timeout,0:No timeout others: N*0.5us +} rfipRx_t; + +typedef struct +{ + bStatus_t status; //!< Status for the connection + /* SUCCESS + * BOUND_STA_FAILURE: If the device binding fails on the device side, the application layer needs to restart the binding + * BOUND_STA_INVALIDPARM: When the host receives a mismatched connection request, devType indicates the bound request type of the peer side + * BOUND_STA_TIMEOUT: When the connection times out, it automatically switches to the bind state */ + uint8_t role; //!< the role of the binding + uint8_t devId; //!< The ID number of the binding + uint8_t devType; //!< The device type of the binding + uint8_t periTime; //!< reserved + uint8_t hop; //!< Frequency hopping mode + uint8_t PeerInfo[6]; //!< Information about the peer device +} staBound_t; + +// Define function type that rfRole bound process callback +typedef void (*pfnRfRoleBoundCB)( staBound_t * ); + +/* Definition of roles */ +#define RF_ROLE_RX_MOD0 0 //!< host +#define RF_ROLE_TX_MOD0 1 //!< device + +/* Definition of frequency hopping mode type */ +#define RF_HOP_OFF 0 //!< Fixed frequency +#define RF_HOP_BLECS2_MODE 1 //!< Frequency Hopping Mode 1 (same as BLE-CS#2) +#define RF_HOP_MANUF_MODE 2 //!< Frequency Hopping Mode 2 (Manufacturer-Defined) + +/* DEVICE configuration information */ +typedef struct +{ + uint8_t devType; //!< the device type, 0:Not specified + uint8_t deviceId; //!< the device ID, 7:the ID number is assigned by the host + uint8_t calVal; //!< Calibration values + uint8_t speed; //!< communication speed(kHz) + uint16_t timeout; //!< Connection communication timeout period (in about 1 ms) + uint8_t OwnInfo[6]; //!< Local Information + uint8_t PeerInfo[6]; //!< Peer information + pfnRfRoleBoundCB rfBoundCB; +} rfBoundDevice_t; + +/* HOST configuration information */ +typedef struct +{ + uint8_t hop; //!< Frequency hopping mode + int8_t rssi; //!< reserved + uint8_t periTime; //!< Fixed value 8 + uint8_t devType; //!< reserved + uint16_t timeout; //!< Connection communication timeout period (in about 1 ms) + uint8_t OwnInfo[6]; //!< Local Information + uint8_t PeerInfo[6]; //!< resv + pfnRfRoleBoundCB rfBoundCB; + uint32_t ChannelMap; //!< indicating Used and Unused data channels.Every channel is represented with a + //!< bit positioned as per the data channel index,The LSB represents data channel index 0 +} rfBoundHost_t; + +/* listing information */ +typedef struct +{ + uint8_t deviceId; //!< The ID number of the list 0-6:Connection 7:binding + int8_t rssi; //!< Minimum RSSI threshold for binding, 0 means unlimited (deviceId=7 valid) + uint8_t devType; //!< Specify the bound device type, 0 means unlimited (deviceId=7 valid) + uint8_t peerInfo[6]; //!< Specify the peer information of the binding, 0 means unlimited (deviceId=7 valid) +} rfRoleList_t; + +/* Connection or binding management lists */ +typedef struct +{ + uint8_t number; //!< Number of lists + rfRoleList_t *pList; //!< listing information +} rfRoleSpeed_t; + +/* The timing of communication for devices */ +typedef struct __attribute__((packed)) +{ + uint8_t sub1Number; + uint8_t sub2Number; + uint16_t subInterval[16]; //!< 0.5us +} rfDevsTimeing_t; + +/* bound frequency lists */ +typedef struct +{ + uint8_t number; //!< Number of lists + uint32_t *pFrequency; //!< listing information +} rfHostBoundFre_t; + +/******************************************************************************* + * PUBLIC FUNCTIONS + */ + +/** + * @brief read rssi + * + * @param None. + * + * @return the value of rssi. + */ +int8_t RFIP_ReadRssi( void ); + +/** + * @brief read crc state + * + * @param None. + * + * @return the value of crc state. + */ +uint8_t RFIP_ReadCrc( uint8_t *pBuf ); + +/** + * @brief set output power level@ TxPower + * + * @param None. + * + * @return the value of crc state. + */ +void RFIP_SetTxPower( uint8_t val ); + +/** + * @brief rf calibration + * + * @param None + * + * @return None + */ +void RFIP_Calibration( void ); + +/** + * @brief reinitialize the rfip register after sleep wake-up + * + * @param None + * + * @return None + */ +void RFIP_WakeUpRegInit( void ); + +/** + * @brief rf mode single channel mode. + * + * @param ch - rf channel,f=2402+ch*2 MHz, ch=0,...,39 + * + * @return 0 - success, 1- phy busy + */ +bStatus_t RFIP_SingleChannel( uint8_t ch ); + +/** + * @brief used to stop single channel mode. + * + * @param None. + * + * @return None. + */ +void RFIP_TestEnd( void ); + +/** + * @brief library-fast initial + * + * @param pConf - rfRole config + * + * @return 0-success. + */ +bStatus_t RFRole_FastInit( rfRoleConfig_t *pConf ); + +/** + * @brief used to stop TX/RX + * + * @param None + * + * @return 0-success. + */ +bStatus_t RFRole_Stop( void ); + +/** + * @brief used to power off rf + * + * @param None + * + * @return 0-success. + */ +bStatus_t RFRole_Shut(void ); + +/** + * @brief used to set rf-role parameter + * + * @param pParam- rfRole parameter + * + * @return 0-success. + */ +bStatus_t RFRole_SetParam( rfRoleParam_t *pParam ); + +/** + * @brief set Connection or binding management lists + * + * @param pList_t - management lists(global variable) + * + * @return 0-success. + */ +bStatus_t RFBound_SetSpeedType( rfRoleSpeed_t *pList_t ); + +/** + * @brief the list of communication frequencies for binding purposes + * + * @param pList_t - the list of binding frequencies lists(global) + * + * @return 0-success. + * + * note: The host mode polls the configured frequency at a 1ms cycle. + * The device mode polls the configured frequency at an 8ms cycle. + * + */ +bStatus_t RFBound_SetFrequencyList( rfHostBoundFre_t *pList_t ); + +/** + * @brief set speed of devices(muti fast mode) + * + * @param pList - + * + * @return 0-success. + */ +bStatus_t RFRole_SetDevTimeing( rfDevsTimeing_t *pList ); + +/** + * @brief Start sending + * + * note: If sending is currently in progress, wait until the previous data packets have been sent before sending. + * + * @param pList - + * + * @return 0-success. + */ +void RFRole_StartLpTx( void ); + +/** + * @brief Stop binding, disconnect the connection, and clear the sending and receiving data status. + * + * @param None + * + * @return 0-success. + */ +bStatus_t RFBound_Stop( void ); + +/** + * @brief start host mode(lower power) + * + * @param pConfig - host configuration information + * + * @return 0-success. + */ +bStatus_t RFBound_StartLpHost( rfBoundHost_t *pConfig ); + +/** + * @brief start host mode(muti fast) + * + * @param pConfig - host configuration information + * + * @return 0-success. + */ +bStatus_t RFBound_StartMutiHost( rfBoundHost_t *pConfig ); + +/** + * @brief start host mode(8k) + * + * @param pConfig - host configuration information + * + * @return 0-success. + */ +bStatus_t RFBound_Start8kHost( rfBoundHost_t *pConfig ); + +/** + * @brief start host mode(4k) + * + * @param pConfig - host configuration information + * + * @return 0-success. + */ +bStatus_t RFBound_StartHost( rfBoundHost_t *pConfig ); + +/** + * @brief start device mode(lower power) + * + * @param None. + * + * @return 0-success. + */ +bStatus_t RFBound_StartLpDevice( rfBoundDevice_t *pConfig ); + +/** + * @brief start device mode(muti fast) + * + * @param None. + * + * @return 0-success. + */ +bStatus_t RFBound_StartMutiDevice( rfBoundDevice_t *pConfig ); + +/** + * @brief start device mode(8k) + * + * @param pConfig - device configuration information + * + * @return 0-success. + */ +bStatus_t RFBound_Start8kDevice( rfBoundDevice_t *pConfig ); + +/** + * @brief start device mode(4k) + * + * @param pConfig - device configuration information + * + * @return 0-success. + */ +bStatus_t RFBound_StartDevice( rfBoundDevice_t *pConfig ); + +/** + * @brief clear data list + * + * @param dev_id + * + * @return 0-success. + */ +bStatus_t RFRole_ClearTxData( uint8_t dev_id ); + +/** + * @brief switch rf mode,must idle status. + * + * @param mode - 0:BLE 1:RF basic 2:RF fast + * + * @return 0-success. + */ +bStatus_t RFRole_SwitchMode( uint8_t mode ); + +/** + * @brief channel map detection and start map update + * + * note: only the host role can be called + * lower power mode and 8k mode support + * + * @param rssi - + * @param id - + * + * @return 0-success. + */ +bStatus_t RFRole_MapCheck( int8_t rssi,uint8_t id ); + +/** + * @brief Set a lower power consumption mode. + * + * note: only the device role can be called(4k&8k) + * + * @param level - 0:disable(Slightly improve the transmission efficiency.) others: lower power level + * + * @return None. + */ +void RFRole_LowPower( uint8_t level ); + +/** + * @brief start phy update. + * + * note: supported in version 1.3 and above. + * 4k mode and 8k mode support + * + * @param phy - 0:1M 1:2M + * + * @return 0-success. + */ +bStatus_t RFRole_PHYUpdate( uint8_t dev_id, uint8_t phy ); + +/** + * @brief get status. + * + * note: supported in version 1.4 and above. + * + * @param id - + * + * @return 0-idle others-busy. + */ +uint32_t RFRole_GetStatus( uint8_t id ); + +/** + * @brief library-basic initial + * + * @param pConf - rfRole config + * + * @return 0-success. + */ +bStatus_t RFRole_BasicInit( rfRoleConfig_t *pConf ); + +/** + * @brief set tx delay time + * + * @param us - delay n*us + * + * @return 0-success. + */ +bStatus_t RFIP_SetTxDelayTime( uint16_t us ); + +/** + * @brief tx start + * + * @param None + * + * @return 0-success. + */ +bStatus_t RFIP_SetTxStart( void ); + +/** + * @brief set tx parameter + * + * @param pParm - rfip tx parameter + * + * @return 0-success. + */ +bStatus_t RFIP_SetTxParm( rfipTx_t *pParm ); + +/** + * @brief set rx parameter and start rx + * + * @param pParm - rfip rx parameter + * + * @return 0-success. + */ +bStatus_t RFIP_SetRx( rfipRx_t *pParm ); + +/* + * END @ API + */ +/******************************************************************************/ +#ifdef __cplusplus +} +#endif + +#endif diff --git a/system/StdPeriphDriver/CH58x_pwr.c b/system/StdPeriphDriver/CH58x_pwr.c index 8940dff..376ff79 100644 --- a/system/StdPeriphDriver/CH58x_pwr.c +++ b/system/StdPeriphDriver/CH58x_pwr.c @@ -6,7 +6,7 @@ * Description : source file(ch585/ch584) ********************************************************************************* * Copyright (c) 2021 Nanjing Qinheng Microelectronics Co., Ltd. - * Attention: This software (modified or not) and binary are used for + * Attention: This software (modified or not) and binary are used for * microcontroller manufactured by Nanjing Qinheng Microelectronics. *******************************************************************************/ @@ -26,9 +26,9 @@ void PWR_DCDCCfg(FunctionalState s) uint16_t adj = R16_AUX_POWER_ADJ; uint16_t plan = R16_POWER_PLAN; - if(s == DISABLE) + if (s == DISABLE) { - + adj &= ~RB_DCDC_CHARGE; plan &= ~(RB_PWR_DCDC_EN | RB_PWR_DCDC_PRE); // 旁路 DC/DC sys_safe_access_enable(); @@ -40,7 +40,7 @@ void PWR_DCDCCfg(FunctionalState s) { uint32_t HW_Data[2]; FLASH_EEPROM_CMD(CMD_GET_ROM_INFO, ROM_CFG_ADR_HW, HW_Data, 0); - if((HW_Data[0]) & (1 << 13)) + if ((HW_Data[0]) & (1 << 13)) { return; } @@ -71,11 +71,11 @@ void PWR_UnitModCfg(FunctionalState s, uint8_t unit) { uint8_t ck32k_cfg = R8_CK32K_CONFIG; - if(s == DISABLE) //关闭 + if (s == DISABLE) // 关闭 { ck32k_cfg &= ~(unit & 0x03); } - else //打开 + else // 打开 { ck32k_cfg |= (unit & 0x03); } @@ -99,7 +99,7 @@ void PWR_SafeClkCfg(FunctionalState s, uint16_t perph) { uint32_t sleep_ctrl = R8_SAFE_CLK_CTRL; - if(s == DISABLE) + if (s == DISABLE) { sleep_ctrl |= perph; } @@ -127,7 +127,7 @@ void PWR_PeriphClkCfg(FunctionalState s, uint16_t perph) { uint32_t sleep_ctrl = R32_SLEEP_CONTROL; - if(s == DISABLE) + if (s == DISABLE) { sleep_ctrl |= perph; } @@ -162,7 +162,7 @@ void PWR_PeriphWakeUpCfg(FunctionalState s, uint8_t perph, WakeUP_ModeypeDef mod { uint8_t m; - if(s == DISABLE) + if (s == DISABLE) { sys_safe_access_enable(); R8_SLP_WAKE_CTRL &= ~perph; @@ -170,19 +170,19 @@ void PWR_PeriphWakeUpCfg(FunctionalState s, uint8_t perph, WakeUP_ModeypeDef mod } else { - switch(mode) + switch (mode) { - case Short_Delay: - m = 0x01; - break; + case Short_Delay: + m = 0x01; + break; - case Long_Delay: - m = 0x00; - break; + case Long_Delay: + m = 0x00; + break; - default: - m = 0x01; - break; + default: + m = 0x01; + break; } sys_safe_access_enable(); @@ -212,7 +212,7 @@ void PowerMonitor(FunctionalState s, VolM_LevelypeDef vl) uint8_t ctrl = R8_BAT_DET_CTRL; uint8_t cfg = R8_BAT_DET_CFG; - if(s == DISABLE) + if (s == DISABLE) { sys_safe_access_enable(); R8_BAT_DET_CTRL = 0; @@ -220,14 +220,14 @@ void PowerMonitor(FunctionalState s, VolM_LevelypeDef vl) } else { - if(vl & 0x80) + if (vl & 0x80) { cfg = vl & 0x03; ctrl = RB_BAT_MON_EN | ((vl >> 2) & 1); } else { - + cfg = vl & 0x03; ctrl = RB_BAT_DET_EN; } @@ -256,7 +256,7 @@ __HIGH_CODE void LowPower_Idle(void) { FLASH_ROM_SW_RESET(); - R8_FLASH_CTRL = 0x04; //flash关闭 + R8_FLASH_CTRL = 0x04; // flash关闭 PFIC->SCTLR &= ~(1 << 2); // sleep __WFI(); @@ -279,15 +279,15 @@ void LowPower_Halt(void) uint32_t i; uint8_t x32Mpw; uint16_t clk_sys_cfg; - uint8_t flash_cfg,flash_sck; + uint8_t flash_cfg, flash_sck; clk_sys_cfg = R16_CLK_SYS_CFG; flash_cfg = R8_FLASH_CFG; flash_sck = R8_FLASH_SCK; FLASH_ROM_SW_RESET(); - R8_FLASH_CTRL = 0x04; //flash关闭 + R8_FLASH_CTRL = 0x04; // flash关闭 x32Mpw = R8_XT32M_TUNE; - if(!(R8_HFCK_PWR_CTRL&RB_CLK_XT32M_KEEP)) + if (!(R8_HFCK_PWR_CTRL & RB_CLK_XT32M_KEEP)) { x32Mpw = (x32Mpw & 0xfc) | 0x03; // 150%额定电流 } @@ -298,43 +298,43 @@ void LowPower_Halt(void) sys_safe_access_enable(); R8_XT32M_TUNE = x32Mpw; sys_safe_access_disable(); -// sys_safe_access_enable(); -// R8_PLL_CONFIG |= (1 << 5); -// sys_safe_access_disable(); + // sys_safe_access_enable(); + // R8_PLL_CONFIG |= (1 << 5); + // sys_safe_access_disable(); - if(R16_CLK_SYS_CFG & RB_OSC32M_SEL) //使用外部32M + if (R16_CLK_SYS_CFG & RB_OSC32M_SEL) // 使用外部32M { sys_safe_access_enable(); R8_SLP_POWER_CTRL &= ~(RB_WAKE_DLY_MOD); R8_SLP_POWER_CTRL |= 0x01; R8_FLASH_CFG = 0X57; - R8_FLASH_SCK = R8_FLASH_SCK & (~(1<<4)); + R8_FLASH_SCK = R8_FLASH_SCK & (~(1 << 4)); R16_CLK_SYS_CFG = CLK_SOURCE_HSE_4MHz; sys_safe_access_disable(); } - else//使用内部16M + else // 使用内部16M { - sys_safe_access_enable(); - R8_SLP_POWER_CTRL &= ~(RB_WAKE_DLY_MOD); - R8_SLP_POWER_CTRL |= 0x01; - R8_FLASH_CFG = 0X57; - R8_FLASH_SCK = R8_FLASH_SCK & (~(1<<4)); - R16_CLK_SYS_CFG = CLK_SOURCE_HSI_4MHz; - sys_safe_access_disable(); + sys_safe_access_enable(); + R8_SLP_POWER_CTRL &= ~(RB_WAKE_DLY_MOD); + R8_SLP_POWER_CTRL |= 0x01; + R8_FLASH_CFG = 0X57; + R8_FLASH_SCK = R8_FLASH_SCK & (~(1 << 4)); + R16_CLK_SYS_CFG = CLK_SOURCE_HSI_4MHz; + sys_safe_access_disable(); } - PFIC->SCTLR |= (1 << 2); //deep sleep + PFIC->SCTLR |= (1 << 2); // deep sleep __WFI(); __nop(); __nop(); - if((!(clk_sys_cfg & RB_OSC32M_SEL)) && (clk_sys_cfg & 0x100)) //使用内部16M + if ((!(clk_sys_cfg & RB_OSC32M_SEL)) && (clk_sys_cfg & 0x100)) // 使用内部16M { - i = 40; - do - { - __nop(); - }while(--i); + i = 40; + do + { + __nop(); + } while (--i); } sys_safe_access_enable(); @@ -343,9 +343,9 @@ void LowPower_Halt(void) R16_CLK_SYS_CFG = clk_sys_cfg; sys_safe_access_disable(); -// sys_safe_access_enable(); -// R8_PLL_CONFIG &= ~(1 << 5); -// sys_safe_access_disable(); + // sys_safe_access_enable(); + // R8_PLL_CONFIG &= ~(1 << 5); + // sys_safe_access_disable(); } /******************************************************************************* @@ -366,7 +366,7 @@ void LowPower_Sleep(uint16_t rm) uint16_t power_plan; uint16_t clk_sys_cfg; uint16_t hfck_pwr_ctrl; - uint8_t flash_cfg,flash_sck; + uint8_t flash_cfg, flash_sck; uint32_t i; clk_sys_cfg = R16_CLK_SYS_CFG; @@ -383,57 +383,57 @@ void LowPower_Sleep(uint16_t rm) R8_XT32M_TUNE = x32Mpw; sys_safe_access_disable(); - PFIC->SCTLR |= (1 << 2); //deep sleep + PFIC->SCTLR |= (1 << 2); // deep sleep power_plan = R16_POWER_PLAN & (RB_PWR_DCDC_EN | RB_PWR_DCDC_PRE); - power_plan |= RB_PWR_PLAN_EN | RB_PWR_CORE | rm | (2<<11); - if(chip_info&0x800000) + power_plan |= RB_PWR_PLAN_EN | RB_PWR_CORE | rm | (2 << 11); + if (chip_info & 0x800000) { - power_plan &= ~RB_XT_PRE_EN; //不支持RB_XT_PRE_EN功能 + power_plan &= ~RB_XT_PRE_EN; // 不支持RB_XT_PRE_EN功能 } sys_safe_access_enable(); R16_POWER_PLAN = power_plan; - R8_HFCK_PWR_CTRL |= RB_CLK_RC16M_PON; //睡眠需要打开内部HSI + R8_HFCK_PWR_CTRL |= RB_CLK_RC16M_PON; // 睡眠需要打开内部HSI sys_safe_access_disable(); - if(R16_CLK_SYS_CFG & RB_OSC32M_SEL) //使用外部32M + if (R16_CLK_SYS_CFG & RB_OSC32M_SEL) // 使用外部32M { sys_safe_access_enable(); R8_SLP_POWER_CTRL &= ~(RB_WAKE_DLY_MOD); R8_SLP_POWER_CTRL |= 0x01; R8_FLASH_CFG = 0X57; - R8_FLASH_SCK = R8_FLASH_SCK & (~(1<<4)); + R8_FLASH_SCK = R8_FLASH_SCK & (~(1 << 4)); R16_CLK_SYS_CFG = CLK_SOURCE_HSE_4MHz; sys_safe_access_disable(); } - else//使用内部16M + else // 使用内部16M { - sys_safe_access_enable(); - R8_SLP_POWER_CTRL &= ~(RB_WAKE_DLY_MOD); - R8_SLP_POWER_CTRL |= 0x01; - R8_FLASH_CFG = 0X57; - R8_FLASH_SCK = R8_FLASH_SCK & (~(1<<4)); - R16_CLK_SYS_CFG = CLK_SOURCE_HSI_4MHz; - sys_safe_access_disable(); + sys_safe_access_enable(); + R8_SLP_POWER_CTRL &= ~(RB_WAKE_DLY_MOD); + R8_SLP_POWER_CTRL |= 0x01; + R8_FLASH_CFG = 0X57; + R8_FLASH_SCK = R8_FLASH_SCK & (~(1 << 4)); + R16_CLK_SYS_CFG = CLK_SOURCE_HSI_4MHz; + sys_safe_access_disable(); } __WFI(); __nop(); __nop(); - if(rm & RB_PWR_EXTEND) + if (rm & RB_PWR_EXTEND) { // 注意:如果使用了高速USB,且睡眠使能RB_PWR_EXTEND,唤醒后需要将所有高速USB寄存器复位 R32_U2H_BC_CTRL = 0; (*((PUINT32V)0x4000C254)) = 0; } - if((!(clk_sys_cfg & RB_OSC32M_SEL)) && (clk_sys_cfg & 0x100)) //使用内部16M + if ((!(clk_sys_cfg & RB_OSC32M_SEL)) && (clk_sys_cfg & 0x100)) // 使用内部16M { - i = 40; - do - { - __nop(); - }while(--i); + i = 40; + do + { + __nop(); + } while (--i); } sys_safe_access_enable(); @@ -446,7 +446,7 @@ void LowPower_Sleep(uint16_t rm) R16_POWER_PLAN &= ~RB_PWR_PLAN_EN; sys_safe_access_disable(); -// DelayUs(300); //如果退出函数后运行flash代码,则需要延时300us后退出 + // DelayUs(300); //如果退出函数后运行flash代码,则需要延时300us后退出 } /********************************************************************* @@ -480,7 +480,7 @@ void LowPower_Shutdown(uint16_t rm) R8_XT32K_TUNE = x32Kpw; sys_safe_access_disable(); - PFIC->SCTLR |= (1 << 2); //deep sleep + PFIC->SCTLR |= (1 << 2); // deep sleep sys_safe_access_enable(); R8_SLP_POWER_CTRL |= 0x40; @@ -513,9 +513,9 @@ void LowPower_Halt_WFE(void) uint8_t x32Mpw; FLASH_ROM_SW_RESET(); - R8_FLASH_CTRL = 0x04; //flash关闭 + R8_FLASH_CTRL = 0x04; // flash关闭 x32Mpw = R8_XT32M_TUNE; - if(!(R8_HFCK_PWR_CTRL&RB_CLK_XT32M_KEEP)) + if (!(R8_HFCK_PWR_CTRL & RB_CLK_XT32M_KEEP)) { x32Mpw = (x32Mpw & 0xfc) | 0x03; // 150%额定电流 } @@ -531,15 +531,14 @@ void LowPower_Halt_WFE(void) R8_SLP_POWER_CTRL &= ~(RB_WAKE_DLY_MOD); R8_SLP_POWER_CTRL |= 0x01; R8_FLASH_CFG = 0X57; - R8_FLASH_SCK = R8_FLASH_SCK & (~(1<<4)); + R8_FLASH_SCK = R8_FLASH_SCK & (~(1 << 4)); R16_CLK_SYS_CFG = CLK_SOURCE_HSI_4MHz; sys_safe_access_disable(); - PFIC->SCTLR |= (1 << 2); //deep sleep + PFIC->SCTLR |= (1 << 2); // deep sleep __WFE(); __nop(); __nop(); - } /******************************************************************************* @@ -562,21 +561,21 @@ void LowPower_Sleep_WFE(uint16_t rm) R8_BAT_DET_CTRL = 0; // 关闭电压监控 sys_safe_access_disable(); - PFIC->SCTLR |= (1 << 2); //deep sleep + PFIC->SCTLR |= (1 << 2); // deep sleep power_plan = R16_POWER_PLAN & (RB_PWR_DCDC_EN | RB_PWR_DCDC_PRE); - power_plan |= RB_PWR_PLAN_EN | RB_PWR_CORE | rm | (2<<11); - power_plan &= ~0x4000; //不支持RB_XT_PRE_EN功能 + power_plan |= RB_PWR_PLAN_EN | RB_PWR_CORE | rm | (2 << 11); + power_plan &= ~0x4000; // 不支持RB_XT_PRE_EN功能 sys_safe_access_enable(); R16_POWER_PLAN = power_plan; - R8_HFCK_PWR_CTRL |= RB_CLK_RC16M_PON; //睡眠需要打开内部HSI + R8_HFCK_PWR_CTRL |= RB_CLK_RC16M_PON; // 睡眠需要打开内部HSI sys_safe_access_disable(); sys_safe_access_enable(); R8_SLP_POWER_CTRL &= ~(RB_WAKE_DLY_MOD); R8_SLP_POWER_CTRL |= 0x01; R8_FLASH_CFG = 0X57; - R8_FLASH_SCK = R8_FLASH_SCK & (~(1<<4)); + R8_FLASH_SCK = R8_FLASH_SCK & (~(1 << 4)); R16_CLK_SYS_CFG = CLK_SOURCE_HSI_4MHz; sys_safe_access_disable(); @@ -584,7 +583,7 @@ void LowPower_Sleep_WFE(uint16_t rm) __nop(); __nop(); - if(rm & RB_PWR_EXTEND) + if (rm & RB_PWR_EXTEND) { // 注意:如果使用了高速USB,且睡眠使能RB_PWR_EXTEND,唤醒后需要将所有高速USB寄存器复位 R32_U2H_BC_CTRL = 0; @@ -595,6 +594,5 @@ void LowPower_Sleep_WFE(uint16_t rm) R16_POWER_PLAN &= ~RB_PWR_PLAN_EN; sys_safe_access_disable(); -// DelayUs(100); //如果退出函数后运行flash代码,则需要延时100us后退出 + // DelayUs(100); //如果退出函数后运行flash代码,则需要延时100us后退出 } -