From f4553498610057bcfef83a7f99d2e6b41e387c68 Mon Sep 17 00:00:00 2001 From: LokLiang Date: Thu, 13 Feb 2025 17:17:07 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9B=B4=E6=96=B0=E6=A8=A1=E6=9D=BF=E5=88=B0?= =?UTF-8?q?=E6=9C=80=E6=96=B0=E7=8A=B6=E6=80=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- CMakeLists.txt | 4 + app/CMakeLists.txt | 18 + app/app_main.c | 2 +- app/console.c | 4 +- app/console.h | 2 +- app/drivers/ws2812_spi/ws2812_spi.c | 251 ++++++ app/drivers/ws2812_spi/ws2812_spi.h | 32 + app/drivers/ws2812_spi/ws2812_spi_shell.c | 95 +++ app/drivers/ws2812_spi/ws2812_spi_shell.h | 6 + .../ws2812b中文资料-数据手册-参数.pdf | Bin 0 -> 486243 bytes components/CMakeLists.txt | 11 + components/system/include/drivers/chip/misc.h | 25 - components/system/include/os/os_work.h | 1 + components/system/source/k_kit/k_kit.c | 740 +++++++++--------- components/system/source/shell/README.md | 3 +- components/system/source/shell/sh.c | 77 +- components/system/source/shell/sh.h | 12 +- components/system/source/shell/sh_vset.c | 311 ++++---- components/system/source/shell/sh_vset.h | 171 ++-- components/system/test/os_test.c | 6 + main/CMakeLists.txt | 53 +- main/main.c | 77 +- sal/CMakeLists.txt | 27 + sal/{esp32s3 => esp32}/chip/uart_esp32.c | 0 sal/{esp32s3 => esp32}/kernel/os_debug.h | 0 sal/{esp32s3 => esp32}/kernel/os_heap.c | 0 sal/{esp32s3 => esp32}/kernel/os_hook.c | 0 sal/{esp32s3 => esp32}/kernel/os_kit.c | 17 + sal/{esp32s3 => esp32}/kernel/os_mutex.c | 0 sal/{esp32s3 => esp32}/kernel/os_semaphore.c | 0 sal/{esp32s3 => esp32}/kernel/os_service.c | 0 sal/{esp32s3 => esp32}/kernel/os_thread.c | 2 +- sal/{esp32s3 => esp32}/kernel/os_timer.c | 0 sal/{esp32s3 => esp32}/kernel/os_util.h | 0 sal/esp32/os_entry.c | 72 ++ sal/{esp32s3 => esp32}/soc_shell.c | 0 sal/{esp32s3 => esp32}/soc_shell_base.c | 0 sal/{esp32s3 => esp32}/soc_shell_nvs.c | 2 +- sal/os_entry.h | 5 + sdkconfig.defaults | 14 +- 40 files changed, 1251 insertions(+), 789 deletions(-) create mode 100644 app/CMakeLists.txt create mode 100755 app/drivers/ws2812_spi/ws2812_spi.c create mode 100755 app/drivers/ws2812_spi/ws2812_spi.h create mode 100644 app/drivers/ws2812_spi/ws2812_spi_shell.c create mode 100644 app/drivers/ws2812_spi/ws2812_spi_shell.h create mode 100755 app/drivers/ws2812_spi/ws2812b中文资料-数据手册-参数.pdf create mode 100644 components/CMakeLists.txt create mode 100644 sal/CMakeLists.txt rename sal/{esp32s3 => esp32}/chip/uart_esp32.c (100%) rename sal/{esp32s3 => esp32}/kernel/os_debug.h (100%) rename sal/{esp32s3 => esp32}/kernel/os_heap.c (100%) rename sal/{esp32s3 => esp32}/kernel/os_hook.c (100%) rename sal/{esp32s3 => esp32}/kernel/os_kit.c (93%) rename sal/{esp32s3 => esp32}/kernel/os_mutex.c (100%) rename sal/{esp32s3 => esp32}/kernel/os_semaphore.c (100%) rename sal/{esp32s3 => esp32}/kernel/os_service.c (100%) rename sal/{esp32s3 => esp32}/kernel/os_thread.c (99%) rename sal/{esp32s3 => esp32}/kernel/os_timer.c (100%) rename sal/{esp32s3 => esp32}/kernel/os_util.h (100%) create mode 100644 sal/esp32/os_entry.c rename sal/{esp32s3 => esp32}/soc_shell.c (100%) rename sal/{esp32s3 => esp32}/soc_shell_base.c (100%) rename sal/{esp32s3 => esp32}/soc_shell_nvs.c (97%) create mode 100644 sal/os_entry.h diff --git a/CMakeLists.txt b/CMakeLists.txt index baf1911..9148d0d 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -5,4 +5,8 @@ cmake_minimum_required(VERSION 3.16) include($ENV{IDF_PATH}/tools/cmake/project.cmake) + +list(APPEND EXTRA_COMPONENT_DIRS "${CMAKE_SOURCE_DIR}/app") +list(APPEND EXTRA_COMPONENT_DIRS "${CMAKE_SOURCE_DIR}/sal") + project(project) diff --git a/app/CMakeLists.txt b/app/CMakeLists.txt new file mode 100644 index 0000000..b3dbd27 --- /dev/null +++ b/app/CMakeLists.txt @@ -0,0 +1,18 @@ +list(APPEND incs ".") +list(APPEND incs "../components/system/include") +list(APPEND incs "../components/system/source") +list(APPEND incs "../components/system/source/k_kit") +list(APPEND incs "../components/system/source/shell") + +list(APPEND srcs "../app/app_main.c") +list(APPEND srcs "../app/console.c") +list(APPEND srcs "../app/drivers/data_port/sb_data_port.c") +list(APPEND srcs "../app/drivers/data_port/uart/uart_port.c") +list(APPEND srcs "../app/button/button_event.c") +list(APPEND srcs "../app/config/board_config.c") + +idf_component_register( + INCLUDE_DIRS ${incs} + SRCS ${srcs} + REQUIRES driver nvs_flash + ) diff --git a/app/app_main.c b/app/app_main.c index b80f1d1..7464d0e 100644 --- a/app/app_main.c +++ b/app/app_main.c @@ -47,7 +47,7 @@ void work_app_main(void *arg) SYS_LOG_INF("app start"); vset_init(&g_uart_handle_vt100, _vset_cb); os_thread_sleep(100); - shell_start(); + shell_start(NULL); } static void _init_nvs(void) diff --git a/app/console.c b/app/console.c index ec3735c..a22dcd8 100644 --- a/app/console.c +++ b/app/console.c @@ -1,6 +1,7 @@ #include "driver/uart.h" #include "console.h" #include "shell/sh.h" +#include "shell/sh_vset.h" #include "os/os.h" #include "drivers/chip/uart.h" #include "config/board_config.h" @@ -83,7 +84,7 @@ static int _port_sh_vprint_fn(const char *format, va_list va) * 1. 执行对应的初始化 * 2. 自动默认工作队列中创建一个解析数据的后台 */ -void shell_start(void) +void shell_start(void *arg) { static uint8_t start_flag = 0; @@ -94,6 +95,7 @@ void shell_start(void) /* 执行 shell 内部的初始化 */ sh_register_external(_port_sh_vprint_fn); + vset_init(&g_uart_handle_vt100, arg); /* 注册系统命令 */ extern void soc_shell_register(void); diff --git a/app/console.h b/app/console.h index 1b5e85c..cd4b170 100644 --- a/app/console.h +++ b/app/console.h @@ -6,7 +6,7 @@ typedef void (*shell_input_cb)(sh_t *sh_hdl, char c); -void shell_start(); +void shell_start(void *arg); void shell_input_set(shell_input_cb cb); void shell_input_restore(void); diff --git a/app/drivers/ws2812_spi/ws2812_spi.c b/app/drivers/ws2812_spi/ws2812_spi.c new file mode 100755 index 0000000..e1b5580 --- /dev/null +++ b/app/drivers/ws2812_spi/ws2812_spi.c @@ -0,0 +1,251 @@ +/** + * @file ws2812_spi.c + * @author your name (you@domain.com) + * @brief 通过 SPI 硬件模拟 PWM 信号,驱动 WS2812 的程序 + * @version 0.1 + * @date 2023-10-05 + * + * @copyright Copyright (c) 2023 + * + */ + +#include +#include +#include +#include + +#include "esp_log.h" +#include "esp_attr.h" +#include "esp_rom_gpio.h" +#include "driver/spi_master.h" +#include "driver/gpio.h" +#include "soc/spi_periph.h" +#include "soc/gpio_periph.h" + +#include "ws2812_spi.h" +#include "drivers/pin_io/pin_io.h" + +#include "os/os.h" + +#define CONFIG_SYS_LOG_LEVEL SYS_LOG_LEVEL_INF +#define SYS_LOG_DOMAIN "LED_STRIP_SPI" +#include "sys_log.h" + +#define SPI_CLK_HZ 8000000 +#define WS_HIGH 0x3 +#define WS_LOW 0x3F +#define WS_RESET ~0 +#define RESET_TIME_US 50 +#define RESET_BIT_LENGTH (SPI_CLK_HZ * (RESET_TIME_US) / 1000000) +#define _POW_Y 1.3 + +static struct +{ + os_mutex_t mutex_hdl; +} s_cm; + +/** + * @brief 初始化工作环境。这将初始化 SPI 驱动并申请显示缓存到对象中。可重初始化 + * + * @param led_strip[out] 灯带驱动对象 + * @param spi_host SPI peripheral that controls this bus @ref spi_host_device_t + * @param max_led_num 最大可驱动灯条共多少个灯珠 + */ +void ws2812_spi_led_strip_init(ws2812_spi_led_strip_t *led_strip, uint8_t spi_host, uint16_t max_led_num) +{ + static spi_device_handle_t s_spi_hdl; + + SYS_ASSERT(max_led_num > 0, ""); + + if (led_strip->led_dma_buffer) + { + heap_caps_free(led_strip->led_dma_buffer); + led_strip->led_dma_buffer = NULL; + + spi_bus_remove_device(led_strip->spi_handle); + + spi_bus_free(led_strip->spi_host); + } + + int max_transfer_sz = max_led_num * 24 + RESET_BIT_LENGTH * 2; + + if (s_spi_hdl == NULL) + { + esp_err_t ret; + spi_bus_config_t buscfg = { + .miso_io_num = -1, + .mosi_io_num = -1, + .sclk_io_num = -1, + .quadwp_io_num = -1, + .quadhd_io_num = -1, + .max_transfer_sz = max_transfer_sz}; + + // Initialize the SPI bus + ret = spi_bus_initialize(spi_host, &buscfg, SPI_DMA_CH_AUTO); + ESP_ERROR_CHECK(ret); + + spi_device_interface_config_t devcfg = { + .clock_speed_hz = SPI_CLK_HZ, + .mode = 0, + .spics_io_num = -1, + .queue_size = 1, + .pre_cb = NULL, + .command_bits = 0, + .address_bits = 0}; + // Attach the LCD to the SPI bus + ret = spi_bus_add_device(spi_host, &devcfg, &s_spi_hdl); + ESP_ERROR_CHECK(ret); + } + + if (!os_mutex_is_valid(&s_cm.mutex_hdl)) + { + os_mutex_create(&s_cm.mutex_hdl); + } + + led_strip->led_dma_buffer = heap_caps_malloc(max_transfer_sz, MALLOC_CAP_DMA); // Critical to be DMA memory. + memset(led_strip->led_dma_buffer, WS_RESET, max_transfer_sz); + led_strip->buffer_size = max_transfer_sz; + led_strip->spi_host = spi_host; + led_strip->spi_pin = -1; + led_strip->spi_handle = s_spi_hdl; + led_strip->max_led_num = max_led_num; + float max = pow(0x100, _POW_Y) / 0x100; + for (int i = 0; i < 0x100; i++) + { + led_strip->pow_tbl[i] = (int)(pow(i, _POW_Y) / max) + 1; + if (led_strip->pow_tbl[i] > 0xFF) + { + led_strip->pow_tbl[i] = 0xFF; + } + } + led_strip->pow_tbl[0] = 0; + + /* 使所有数据合法化 */ + ws2812_spi_led_strip_clear(led_strip); +} + +/** + * @brief 使所有显存清零。注意需要通过 ws2812_spi_led_strip_refresh() 方可把数据刷新到灯带中。 + * + * @param led_strip 灯带驱动对象 + */ +void ws2812_spi_led_strip_clear(ws2812_spi_led_strip_t *led_strip) +{ + if (led_strip->led_dma_buffer == NULL) + { + SYS_LOG_WRN("led strip buffer is null"); + return; + } + + memset(led_strip->led_dma_buffer, WS_RESET, led_strip->buffer_size); + for (int i = 0; i < led_strip->max_led_num; i++) + { + ws2812_spi_led_strip_set_pixel(led_strip, i, 0, 0, 0); + } +} + +/** + * @brief 设一个灯珠为一个像素,设置单个像素的颜色。注意需要通过 ws2812_spi_led_strip_refresh() 方可把数据刷新到灯带中。 + * + * @param led_strip 灯带驱动对象 + * @param index 灯像素序号,0 .. led_strip->max_led_num - 1 + * @param red 红基色亮度,0 .. 255 + * @param green 绿基色亮度,0 .. 255 + * @param blue 蓝基色亮度,0 .. 255 + */ +void ws2812_spi_led_strip_set_pixel(ws2812_spi_led_strip_t *led_strip, uint32_t index, uint32_t red, uint32_t green, uint32_t blue) +{ + if (led_strip->led_dma_buffer == NULL) + { + SYS_LOG_WRN("led strip buffer is null"); + return; + } + + if (index > led_strip->max_led_num) + { + SYS_LOG_WRN("index: %u > led_strip->max_led_num: %u", index, led_strip->max_led_num); + return; + } + + if (red > 255 || green > 255 || blue > 255) + { + SYS_LOG_WRN("param over range"); + return; + } + + /* 套指数表 */ + red = led_strip->pow_tbl[red]; + green = led_strip->pow_tbl[green]; + blue = led_strip->pow_tbl[blue]; + uint32_t color = (green & 0xFF) << 16 | (red & 0xFF) << 8 | (blue & 0xFF); + + /* PWM 编码 */ + for (int i = 0; i < 24; i++) + { + int pos = RESET_BIT_LENGTH + index * 24 + i; + led_strip->led_dma_buffer[pos] = ((color << i) & 0x800000) ? WS_HIGH : WS_LOW; + } +} + +/** + * @brief 执行把显示缓存刷新到灯带 + * + * @param led_strip 灯带驱动对象 + * @param leds 实际刷新的灯珠数 + * @param pin 使用的引脚 + * @retval 0 操作成功 + * @retval != 0 操作失败 + */ +int ws2812_spi_led_strip_refresh(ws2812_spi_led_strip_t *led_strip, uint32_t leds, uint8_t pin) +{ + if (led_strip == NULL || led_strip->spi_handle == NULL) + { + SYS_LOG_ERR("led strip spi handler is null"); + return -1; + } + + if (leds > led_strip->max_led_num) + { + SYS_LOG_WRN("leds > led_strip->max_led_num"); + leds = led_strip->max_led_num; + } + + os_mutex_lock(&s_cm.mutex_hdl, OS_WAIT_FOREVER); + + uint32_t empty_bytes = (led_strip->max_led_num - leds) * 24; + if (empty_bytes) + { + memset(&led_strip->led_dma_buffer[led_strip->buffer_size - empty_bytes], WS_RESET, empty_bytes); + } + + spi_transaction_t t; + memset(&t, 0, sizeof(t)); + t.length = led_strip->buffer_size * 8 - empty_bytes; // length is in bits + t.tx_buffer = led_strip->led_dma_buffer; + + if (led_strip->spi_pin != pin) + { + if (led_strip->spi_pin > 0) + { + cfg_board_pin_io_t cfg_pin = {.pin = led_strip->spi_pin, .en_lev = 1}; + pin_cfg_output(&cfg_pin); + pin_set_valid(&cfg_pin, true); + } + + if (pin > 0) + { + cfg_board_pin_io_t cfg_pin = {.pin = pin, .en_lev = 1}; + pin_cfg_output(&cfg_pin); + gpio_set_direction(pin, GPIO_MODE_INPUT_OUTPUT); + esp_rom_gpio_connect_out_signal(pin, spi_periph_signal[led_strip->spi_host].spid_out, true, false); + } + led_strip->spi_pin = pin; + } + + esp_err_t err = spi_device_transmit(led_strip->spi_handle, &t); + + os_mutex_unlock(&s_cm.mutex_hdl); + + ESP_ERROR_CHECK(err); + return err; +} diff --git a/app/drivers/ws2812_spi/ws2812_spi.h b/app/drivers/ws2812_spi/ws2812_spi.h new file mode 100755 index 0000000..dcb7d76 --- /dev/null +++ b/app/drivers/ws2812_spi/ws2812_spi.h @@ -0,0 +1,32 @@ +/** + * @file ws2812_spi.h + * @author Azol + * @brief 通过 SPI 的 MOSI 引脚驱动灯带的程序 + * @version 0.1 + * @date 2023-09-28 + * + * @copyright Copyright (c) 2023 + * + */ + +#pragma once + +#include +#include + +typedef struct ws2812_spi_led_strip_s +{ + uint8_t *led_dma_buffer; + uint32_t buffer_size; + uint8_t spi_host; + int16_t spi_pin; + void *spi_handle; + uint32_t max_led_num; + uint16_t pow_tbl[0x100]; +} ws2812_spi_led_strip_t; + +void ws2812_spi_led_strip_init(ws2812_spi_led_strip_t *led_strip, uint8_t spi_host, uint16_t max_led_num); + +void ws2812_spi_led_strip_clear(ws2812_spi_led_strip_t *led_strip); +void ws2812_spi_led_strip_set_pixel(ws2812_spi_led_strip_t *led_strip, uint32_t index, uint32_t red, uint32_t green, uint32_t blue); +int ws2812_spi_led_strip_refresh(ws2812_spi_led_strip_t *led_strip, uint32_t leds, uint8_t pin); diff --git a/app/drivers/ws2812_spi/ws2812_spi_shell.c b/app/drivers/ws2812_spi/ws2812_spi_shell.c new file mode 100644 index 0000000..6bcf1e7 --- /dev/null +++ b/app/drivers/ws2812_spi/ws2812_spi_shell.c @@ -0,0 +1,95 @@ +#include "ws2812_spi_shell.h" +#include "ws2812_spi.h" +#include "shell/sh.h" +#include "sh_vset.h" + +#include + +static ws2812_spi_led_strip_t *s_led_strip; +static uint32_t s_value; + +SH_CMD_FN(set); +SH_CMD_FN(clr); + +SH_DEF_SUB_CMD( + sub_led, + SH_SETUP_CMD("set", "点亮灯珠 <引脚号> <灯珠号> [红] [绿] [蓝]", set, NULL), // + SH_SETUP_CMD("clr", "熄灭全部灯珠 <引脚号>", clr, NULL), // +); + +SH_DEF_CMD( + _register_cmd, + SH_SETUP_CMD("led", "操作灯带驱动", NULL, sub_led), // +); + +void ws2812_spi_shell_register(ws2812_spi_led_strip_t *led_strip) +{ + s_led_strip = led_strip; + sh_register_cmd(&_register_cmd); +} + +void ws2812_spi_shell_unregister(void) +{ + sh_unregister_cmd(&_register_cmd); +} + +static int _set_value(const char *argv[]) { return SET_VAR(&s_value, 0, 0x100); } + +SH_CMD_FN(set) +{ + uint32_t pin = 0, index = 0, red = 0, green = 0, blue = 0; + if (argc < 2) + { + sh_echo(sh_hdl, "输入少于 2 个参数\r\n"); + return -1; + } + + if (argc >= 1 && _set_value(&argv[0])) + return -1; + pin = *(volatile __typeof(s_value) *)&s_value; + + if (argc >= 2 && _set_value(&argv[1])) + return -1; + index = *(volatile __typeof(s_value) *)&s_value; + + if (argc >= 3 && _set_value(&argv[2])) + return -1; + red = *(volatile __typeof(s_value) *)&s_value; + + if (argc >= 4 && _set_value(&argv[3])) + return -1; + green = *(volatile __typeof(s_value) *)&s_value; + + if (argc >= 5 && _set_value(&argv[4])) + return -1; + blue = *(volatile __typeof(s_value) *)&s_value; + + ws2812_spi_led_strip_set_pixel(s_led_strip, index, red, green, blue); +#if (CONFIG_LED_STRIP_MAX_LEDS) + ws2812_spi_led_strip_refresh(s_led_strip, CONFIG_LED_STRIP_MAX_LEDS, pin); +#else + ws2812_spi_led_strip_refresh(s_led_strip, 126, pin); +#endif + return 0; +} + +SH_CMD_FN(clr) +{ + uint32_t pin = 0; + if (argc < 1) + { + sh_echo(sh_hdl, "输入少于 1 个参数\r\n"); + return -1; + } + + _set_value(&argv[0]); + pin = *(volatile __typeof(s_value) *)&s_value; + + ws2812_spi_led_strip_clear(s_led_strip); +#if (CONFIG_LED_STRIP_MAX_LEDS) + ws2812_spi_led_strip_refresh(s_led_strip, CONFIG_LED_STRIP_MAX_LEDS, pin); +#else + ws2812_spi_led_strip_refresh(s_led_strip, 126, pin); +#endif + return 0; +} diff --git a/app/drivers/ws2812_spi/ws2812_spi_shell.h b/app/drivers/ws2812_spi/ws2812_spi_shell.h new file mode 100644 index 0000000..cc733ad --- /dev/null +++ b/app/drivers/ws2812_spi/ws2812_spi_shell.h @@ -0,0 +1,6 @@ +#pragma once + +#include "ws2812_spi.h" + +void ws2812_spi_shell_register(ws2812_spi_led_strip_t *led_strip); +void ws2812_spi_strip_shell_unregister(void); diff --git a/app/drivers/ws2812_spi/ws2812b中文资料-数据手册-参数.pdf b/app/drivers/ws2812_spi/ws2812b中文资料-数据手册-参数.pdf new file mode 100755 index 0000000000000000000000000000000000000000..09da939b2b49994f1547609d39fba75274901300 GIT binary patch literal 486243 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%0D=^F`&}CGfcT?iH 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 z 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 z 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%0Alim`;#+Mv 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%0D|y@b*A%#Iy|dAE}M zS`MT&f_MsqD5zpCyL@I^JmDz8B`!IeMk!0;uo^9)E0GO3Wg6*Wc!WPj&eg&l)8nOi7ja#C*n(gQ^>#8Pt}`=Y0-*;EL;*r`qjY{opRgnPA;Wg!uXX4FL$3CN zndby))c8YG^96KyKqHgXEs@l{TCTBUhpk0!_+3(D8|Zxt#nj7ueGm&1UBYmaF4FvN z>*11$rquE>s@1YG0qffp>4RuVXhkjgCCSF_hW)WWx9<=%<&%#YiHBw-N}aR#aoHa? zX?j!k`Be8QfLEQ96%!WcS?ouf<%Z6K5zZI9cMYquSlMwPx<=Rb63i{IJXCc$yG?oK z<`@A_f`oc9yE!wm;-mI@wd%!r-P_%Be@F=B27>IF zD&q8Dv!$Jvvp&J!n^x*QCz_2$4>VsD>VQaCQzCj{fJe2QPnmjgVQw#wn>92e9jpB9 zBT}A_&}P5iwf+4&?zj34ezpWrln?ndK;-!Vxv-09TJ=$ zS^njfd3j1d$&O##8^(93s;Oz|s3>S)RCUxyeYm8fMlH)Vd$yCyR_Y9++Vgr$oJ^PN z_vB0R30FYyrMjdT7z`#-V9x8T>3-2vwa_$g?zvDMszm$nITk~9*C4`5S|(p+&e}v&VZzkCcz}!hAIgI0&x;rQY4?jgkTN7 z_O(LRR|}+`4L%370^we$05Anh=#-tzueHk0TXOJNU*2$*lvR3obOPEycfa@Iv+63l z?!MI|Cb>swF-eG3SD4Mq?3cSWqJ$ualkR6LbodU6(qP&$9qs3s&#*2RvjHBBQt4Jc$5_;YAs@pb)$p(k-*mQN}SLF1y z1bB*gir&fQ@A8Jv7~s;Hg3x{Wfkxys0uhqd$Z5J4OPEmLfzr#w0J&iinDA=CLU{X9Xzcqyl zo|I2i=p0Z`)`TUG9wejI!ARdoP!6V}9t=|-nb$E8XUQ;0)z#BcL7|~Ok6LOdN=Vq` zhNpGt*VJ^LQqV7|%4h%F4d70*sj47rr{H4Zn*BBUph=z~G|n=bT0EzRWnq-PbfaDv zw%;+LwIMypGP}t-OFVuTa8S)6B{c3V!$eAL`&)x^rh-*UhuT-hT1on5z-jaawCG?a zbrGA&hV>hDu)5GfiwnSI;U#ZAPjgbEkoFX--1u95=bHn1M0@vDf<6Ikk*oEfNFkKD zs|s*=Sed%+Den~f>CCK=fcmD*HNs<78McCYNh`IxN8AA8#;R?2Zg$uXB{+>Gh~-=1 z*Y=YsHIGyyaC1a3VrnEJqPR6^Ph&=_1+`+;uN(9-m$%Kl8aK4L{9Gw6FaS{=0NoiKNK(a3bB z&Wd?ybC0g$+jUcVQPIy1PBH_Pdz#+RRR#NDkypET)B72#}QI&O!3K%trp!sc1 zC0){^1-Hl%DXA#O`WyZiS;Qz2LrxD&^I`~PT3U(7h(7F|cb(u3$u5cPz;)*i$|*nG z-M~ddadwq()t6*axjpdMPa8rb~Bgi{Vs-v#kw~ zbSDscbmBprz3i1)l7Gv{B(!iGhLxBMQLDR3ro5ug-cl?ym(TUogPN6Y+UfjoE9dXMmCX&Hgel>^UlY@ z&z}dVGQU6baFZk`0P@Pq%kW&?InJlef66qaOF<1^)wA3Rhj8f`(&A93=X{+$B1_Yk zsF-hTG&S`ZcRu67)c3iq_*f%Z|2{c!R25f_^K+w&-=`BFdSJ9{?fJRT0~J*Tx3ZF| zt^D&xiQC#5QpdtnU)z4e$SxM=sEFV)-%CNr5BUTcQ}>SDE=ktnu4K_>`O;gd+9E618hRx)ZQkVDo5v60dmc{Ts zW)L&;;0ENY8^bl7OimVKph(PWY9lK*ax|FMeusId<1 z7pEGXEG|nIoRWGm3&mC5-kd6WiRmnMTyNX;VVe~dTp5xw(+Su=eSJoKRX!RUqIrb? zoSAK0sBK=n%9zRUvIwbr<6%clpll0^@5GfAI2t}$Cz-`(t?tw=rmJOLKFS{!a~5zLCeZQz`(&l%TB<`M$4{4r{rSj>|t+0Cv9PCMW_7tOu*LG&Y73@ z-+ldU{a<}aILR2;6POxUJDJca(Wxj({OcAYXA3*qzvUn1&d&CnbaZZRZnSQ8j@HIB zP9`=Mv_^I|6#v;I)4!XPb2K(_w6Hb%Az^G{>ulldK|!ZzVrKElu*VMpV>?3=icgI8 z_SPmgpO^nK_itc-+4~o;e~`-?n3>SY8#w+Y{4bHnm>63a2->-8(SMS%aInxaa&U04 zv$1gyuro8za?sP$Gcq$X=+Ft-**bsTSZ{4EIz60rScMDbJL>T-sbpJM)`Q)eJx`=^o5T6sr1BPA1O0=9o{`m7Lhv~#il zB>D&LKZQ>*Dmxn3I@$k)ZR9~Gq(mod;%Z@Jq9`WF`?>v_+rN$ei(63(YiAQjI#Fu_ zXA@x)BRk{I@iVbCb2cYnW@F*y{cmM)&kRwrutQ-$^dVX!fD~U_w08yVyRV3CY;Bj3 zf}ts#k-Q?@}gg!Aq?wX(qk0J(%#AEHH(VDb!UJtg^I5?@R>!BCO&l zEGch963Kcg7mumD10T@&bEq=tUC9DWM9MR)Zfuae%DPy_IIXKx8fXWGewIaGbSZ@r zA8r5mxy>%SMIyV+Jh4?#VRRkt#7?*B>*WN34lzGz5m#p&h=EjD`Xagf@B+e_f+&)= zxbkhYW=g8!cLcXs=s9zFe4J_B3-VLK7>{<`xZ(HnJlD zh27I)Y=!8M;ex(odD&9-vFMG_Dek1n%4dr^7jO&mhCGDB#}&v6-^yImbA6)s#zNoF zGThtUscyN}kb77+<~e9fBz#X4I|gNSs)8)_(eZ1-Vr{}+9li5U?lf)lZzNI=_eIBo zR71dEM38_%qSewfhC7O0RHLGv-7MmDazk}WWcM!g5qGDEpi#`U(s8nNVft-WPXakd z&0rV8;?+emXPGFKgH$5Q{IasrMwAdM#b(q<;IM~>9KHY+Zu#$(9vx$v_ zt*PCo+5SKKs{iEuFPi_I_kW}P2fVC-jmf_p&HpZKrB4*91nl(x61y`24KpJHoxtBA za3)}2WMHEcGO+&~7Blltcf-Q^*Eg6s5il{*NjMu=TNnx0npv9=(Ernm;9rMG!@$B$ zK*RX?OkiOA6chtJ6RXZYS3iA=2_pg9Ux)eW*#1X}{;BvE{QtB2VPaupVE>md`t*Z; zpHiQV{I{OEXU=uNc%v+4@p(>+iPw>8V0Bt++z81@H5p4JQ)}EfUBN74tYQo@{EUIa z5QO|D^kb9^tm9YV-0!WLV7@|Hc}a_&IspuOoT1)~{haY}K8fYEwKeN>WY)r8Mf@Gh z%%u7;Kmb!h%oSuXn%Kx?_|Q zLaEKjOKR+?x6>p(!r)P)JlX1{j^VkttKMot;mzRpjB;?i_X#JI)!(I0(1N9vu~qM< zDu6XoJdtn~!aJq=lcdoX2shx1N$>=kQ2vxM6R;l%nmBa_=ymYJ4i;81ruK9?NiTyDA zQx4hLgnB_?roTG^(m(A=DhOo%`sfCsa94drkNo@lw1L8xD*EIlMHh3_MmiDUVPR$w zhAV90xyP)L8&>l~co@x=C1XJxMwv|{yI8*B%Uz4M+=5BM67(C4W&TaSD* z%Fm0V@HOB1b|%sNYM1T=X$Ki-tq zYoB4H#8b)1!lS{x{~0-X!QpjOabmr!F&Smo@f3!R4(!DTZimbQ_}(XuMT)KD(6gIz z+I&xLV8pWd?!5cyj`YN3Gx@H2A`1Cl=cn;;eeS|9$hrLL%#7!^SHr4tHh{#7zlFj) zKQ0hndnXqzxvqL2eV<~zCeD}X?>4GLxPXgUe(#+qL3B2Nmi1@n%_0-*OFqKQr}Y4t z(~IiWtCo{mJ)Q&I5-VFV*iJeDbHhX10nIUEKpV*=vp+!G^;mmBNp>j z?VR8NR`6iP$M)Pn^y7y5_)Z>Y}68<2F@O$}nCGm^}tnzWj z$o$sN0RXh~J(>P`6cHwmeiBmb343t^)ly!(jR!z@e578xjNOLvgO~FH&l01{U(B7{ z4D4zFndF4p^+1p@0x$mHbHS}@?X)qN4IBtPdV5Jf@z7Q=5%JKlAkjvKMuT`0;jJ#7 zI;R|R zleVpFtSd_G@NoRi7CI+duVMo2p7Nbct6#VZV}?51LW^sXh_-`-%=O(P@c_fd48Ytw z3=>n-hG7(z)99e#H@3WB(Nu?zWfn^p;A9w@E?d8hk$-k&V<-zlg%)J<+c|)sSO*3e!dr5xXHm~7E?Z!j_oeS8YsKj$3cOOXfJR-&GB$BbF!D19uWg)O(oNXDI8E39Au;uTA*f) z7;H6Qd5kzuvoThfCi3=uXgvUpej09O(YoMp6GSVz&22o%jk%35Wn0zy$67W-y*gAC zLtAMlsu`jBISuDQjg85$FU=>fYSm}N#(}RDjrP=yMYpd9P)5>lt8J+xs8T_u7IM05 zGeRyegVM%s=0~qZOAIaR9Ae|faKgD^TKHx4J%B&`Ckx7ngx3@B8T>JD?>$@glhjQ8 z;3?G-QyXLy!J)*hILf0uM2Tny7kfArt4U z*jy?J2GJuLsns@-Dbx0EvjL6<99P4jC{C1DvW7MGNcL)&fvQ-Xv{a5fuW%g9Ob$jb z&m7bNNr3(}5K87V)d*pdicO?@$On3#jh}TMZuYe;dor>td~;DzBCFysvPpr2#L3rd z6}(Y^Yc76OrKbs)O5G5Jg#gEn68 zaRFWcHL5UY7E)+XeVST2**D*aqe`&Wt6Roboq}|)Mcm~I7x5Mq0D8qXgcp^ zZ(}$iS0x3+9YN^xNyQ;2IgqvPS=6e7f&Yp`nx3RgBFbMQEzXWNYE4Bet;JGNQR!T* z575T;+En?bA7EH8WY#oex)KSB#W`t!DrG*6;Oj&3G3Nv*O6T*waMDN@FKUU%IppfM zP>PwGSPQxLxURGZYRsxT>b#-seT{Ns_y~3?C|Bl?962`rj!L@YnIpK`WFFs8*t$#- z@~&L9ai}_i8R3jm&7M+bz_Q!&8mMX|X)}g7ILaO}d?ybg2(x~n-*>q!o>VcNmaUts zqVNk`Co@|ZGHeok4bkYjyagv>il{_0I4HCHJOMIFx;6QTWx62TQ#2T0p79xzkUfO* z#FEM?A6nSPChzOY!We6;5zt)9=AON3>-+S}%TZuiSqLgpZ1EV+Pbx8V+6s)peIpai z7}4LxxkD8DjmU3FV0wxAP*m|h1{{{nHJ8LfM^(R5GbTBhRGK(rV$(=bQA$!pF@`4d z6R^1CeUod@w)n021OWUks}{`&*fVO$U{@};CwxZ zq;3)?@lJ?bi`ch$-v?K)Nc*EEJrS&pYcIQUqB4I;8C8(#DUu50i2$j)yB5}NUa$7B zPLyn$u+C;s5CHzfqt~#6+ZH6OH@iY5bew8DWW|=bArf!>A^P)KQv$cc!R&$(U=K*)RVK_PDaSFFSE1e-CzhVBzFrb)xlJK`-9gJvsoKvN597^ zR$sTv2k4QPR%*@*8e!GIbOR>iW^~Jc|BXAVk`UV`rhvvsi0w$k_HwRKjB%8fXqtfo zYeUiPJVM&>^*A1yQmOu4L$Z*3(>j>!u)eO21UxtA)-;g={U|q@YQk;rG3~kl)6ZaF zaEyV;WiA?GY$+pl{Q1C}Lh+u$p}bCxBR86&`UiQEVIgCdd@l2(%tSNMfLK3&w1Ntx z*R*TRzAnV5hBNrK>RgyOji4?;Bpmkp1|Gq8f^2{E@QCQ<6dZy$GA!+Wfd29HG-ak);Y*T zjx~LL0xjRr{D^&@3y#L0u&;5-xP3K@BLM;`8|`GjVhvkPUx{=0mK(j-^tqa@Q7bw* zf@NBQ_(Hg@%-$^4WW9qXEF$*O+5H)(<=6{Dr;X{;7%^$$F_auu*e~$MhvvStXN}eh z4?mDL(w0pdm;Kspu~a6XBw5RhR8)wR7!Xw&s0~w+ClI8F|0y*q;({EoKChC8hP00Y z7fB}U94(H5%!%cs&yqyS`)i^F@^SNQM*?O9AtCDs0l1nk7jHXJ%pfeys(<;aIxRBUs(6 zse_L*C?zHY6JwmHg6@Gz7a~>DU0ifLtdJOiH`sZIK}{RD!EMIcye!e)F#ugxs{P9k zDjhu+=jd3OrhK09c5ZxXTB@}naHM0VBCbWV+RiRjOjCuJoOb(H6dKLg$mlHk_m(^L zYKUw)Or51UPpFh`f-;Bx64g^u(CrYUI8?N@x=PcBF8tR)2Y1-Q2nEUvPpH?p?;+cU zk!@|EBO@m>Gbi#TZRun$!pTLkoJYv%c^2}Cq-#B)qmX_y{eZ+Bm6`DwotZ?%0WzB8 z1<7MrilV~Qz@Qw7>(o0L3Kgn#3Le5jFYK$A&~vz7s1n#%1w$jhbTr&;w)X@*37;WK z=P`ALhL?|eG#zgP_!97MvUud7%ix zKA=b$7s-~$W@5mTxTNI*_~ZXX#!(+p*Y;%|5}ZJoGp*Am?{O%r67?yYV%wlbjScfS zcB={sr`PbAS!K81O;4=N8F+y6ZnhQJ9HtAtt(TT=D!}+8>rdl#`5@dozuhRT^1sou zw1i!*phWLImBi~fun8%o3}2VB%vtUEAMteI=4787wqHrS3}re_2BNM!yv*3EIn~=8 zn%y-0AdUnYuWMS43s$r-A@a4j;?9#NB{#d^6t(Z>-zO>iycwEcca6vyCg)_HY+V{K z_#p&*mpHtXvJLl(jwTT4I#8THaps^wEiC@IyPvO^A0C$v>E=|5TuPcXUu3|8gORAt z#B^KfKcT8UG(J8$QpZnf=075}05mA9$Q;LPbksmo2Psvz(b#pzD;^nTnrY?W5C@6= z!I#?&Ehukk&RNp^y}TPVGSyH}0A{|fVy#4w5Gf)K+`Z-whidW*9t}_Vx5oW2BsfS# zv{1}$g-h^7a06vC)h{91{7xWtf|5v|6M@RW76NV|71qguJ{{+-9C&nexu#GF0hHX( z*PvLWQe`MmIXHQvw@0-5B-XA4moT$m(VCb>`vRlPKlH6vIWQ+6I`Cag2ZH+MsdL&Z;*OMnaNWh2yhjwK2(cK$f zPeCEO*MQj!5i&j{E6YMUh)>K}GV;4rXWgR7FKJWNawZK@&DdrmXd@=rj?1qBgujsY zPB;o@G9_eHAF&p(o3SnOz1m^gwGHEkq`&`!2WctxP8S#t4$Yq1qLhgON90EOjy;?U zO}zn1@I8*kUt@_l6Pj2|@9>gsP%PLK(*DcdaIW zBa@aOX!i?Pt0d$XmvB;e#wW_kc}7rKDE;wza;<5m%3OFi+mG_`(G$1or*d-EGu^f4 zxeXeK{>e=YoTRdxO>TF)!{f_$nxwi?;5E6Xo8405`D^>jqV4+a-f`BZiLd(ei61aU z@8uczbaT@_O+4uPXp6f^RqJy*5(c|isZNg7mV=km#-r`^)?-(Vb_>|v#rIjhTftV_ zwEQ^O+$2vecK7VupEALOwm>jDU-%hDXX{sO(T>%4#diiarNR{8NwoaNi{b^amDQs7te+ABre9sZhvzRAFwQyjSO8hRlM9N_`UuorFo zqhB>_Nq-x0WbKMyhu1MNwf0n~IpD7eLNQbR`JED&xr_-1J_;4}D=1yEyhMJufSEXi zj*^64%+{%avv$^Eba=Q)yT_o#3IAwCI}Qbj)e#CE6pLQ4-S-!nz(!tK9+OBlI>Vr& zQS01`wl|F%W6I4z_OK66N;YkO?M#GXS@WGag-hZ0915S#yOcs_m=lpxB%NPck@6O{ zNQnwH>#hS2ZRaqn4Kj0P*fssu`Y#4ru1%t(so9vEI^YnJtU-z8d6@p4+JO{@F&rYJi$z$Bop}?w5ScR0uaO_j@Y)K|K!5B>$vp@#AOk{Ri==Go*{I}F+%hK9bf75|7_Rvv?&9ldk|NSsG+suM3v__cgY7e8)X z4uXGxySUtIg{@e>t}f`{EV;rGV%5I+iC;wcfne0a+;87zDwPU{zBNsJd*0Y6l)_z) zaX?2^P`1PsL=q}48lThcUcyQ7ucL+(cU4ZL1)n(w6`K6wY|^cxf9K&}(7D0L zAC*ZtT2M<57e93K4Nm9wu$k5xf|6%*YHEYQ563Cf!sqf~<8y?jH<&uBA7?tXLkU;r zSLe0n*VnA;U5bYx`PC>?vQq57o$w!j8SallM@%cTu(TKnt`B^>*F-jCqa5K^4yW{&sB%^?r08oG+C_+-nZxj*ZKfA;w(XMc% zfk+vw1jT`Ta|=UHEfDPHe-JJsU@mXZ&Tr*njFwvpOxz_TEEV~U90{(NZ+;!^ObhjG z{Fg8ROAVbee;^10p+F;90aEaN4hJ#6Bg_P(Rot4_7k!-);fz1w$QKYrTQAF=MsIk$ z-QtC88K?WlS@#)zirFb(lyYI^a^GJ|gNR-r`?t8fLswpVlOTNG+ITP=4KtlaOa*(Oont56+*Jt@UBVbBp-n8BrvVrMk7YP@> zyHX!wK<`sci>LSI&FqaOYK~a(ecMev>2rDQ$K$%e zTkEuB7Ty4xd#}B>R#R(+)(VAZq22L{3uqtF$gUqk$;DUkUHUSC+dp`gVmiOFXA27& zRJ43pqE=T5Drso2idG_T3sU%-u=uMU97~yFoTQ7Wqf*s*-J#lzarhWlIQZe?1@Wo>U(!3&D+*dI}M$5;g^$Z?7AC zSTLziR^8{|d3wv@9(SnqUgFnrpOi8Q;rfe-w|@HEQ6P`s5grAKel zQR9*EFWP8TVG1R8Mro1W=^8#hXDBg#*tzW?4lPy6rGAq`{@D5GUC0#tZK6{fbzM85 zc*wf>QIQW-l=10GXZ-OgX3Kui%G!lt)wZOykb$G{CR*+8QkUs(nbJr)HQhqq^hUgV z4k#!M8u(sKR8yXqdOx8v-LcCgJpC{no z{DrRgW5JkFkwTL)>kGB2v=y~R#gAF@u{Y>H~Br6sE|& z!q#>A6C?X}&`mKXxGSJq29zKLnWAQR&zZa|xM*$4PaVR6S$DX_lr^1=C$tvq`9 zLa##?TTC6UcOy&zP$K>b)Q(2*dy#vy^aalE>wM3*(X=vffM3`hX^FuvweH8A8`d+x z4b)<}+7z#f@(XSF0l8I%tP(WF-hYgn%$!ETG^CEhaS<4pIrf}@#VT{aq|-Ml0q8Pj z_RLiEsl~0?ZoPXxdsA~@v$vzUbEnbm8MX}M1@N&bPfSmZb{bKt$Z*P-pb$`0PYzoc z|DeYyA0Yx0Rvbbwdj>gp_O{)@LMEbSq(qi9G5!JjbxSZU?4CWyc*)sShZG5Frp$BJ zd(+#pOT`|21ePpFV(?hgr6FMG3#$xjQqpl5Y$&BpnluTeJL*T?mz1E=Ph$_*#8AnK&-#H8D*6Sdqu?IxL$NdBqEMR zFpr1~Ap_|O2#ydU0@xY(kdP1{GTtN3+=NI8LjeQ>sAIv*72uygp?_gFX&+?((iJS^ z@T}KALL4Uv*FVwfqp$0c?S+k@4tUQf*eb1iz&#P2zr5Y{2 z1plD8g1WQ+qXWY@z40G^eBfW7J-}OTMw@XOevV(v|EakcOYrabzsE*?G!wsyZM(7U zt+w6AyM~Ym`KAMs55+Ga4ax(1CIFUs<)}vLC9XUV%EimiWv7Vbui<4V4TWJ{0w#FR zxnc&hq)r8}Z8@Ci0Ocoh=BbL)vOQwA6fBu#VyAO48vEi zaTgT%oer(m;qeyu9bT`)U%+T=KyNSUbF;JcN|`31rNn|!H&3pNnkYqzbfj>s~Y9t;TiC@FlkL|{T?->lz#!hW|0e_9p znMVBGgUh#umhKeo+_PuP$eO9q-Gc*%SBrjtP5d>o?B#C|ivSi&oZEkD_<2*-$X5Pi zET=9P@ca1>4S5(KVVHlPf2|TXQnt#^ry8*uVLHhFhFOE|lBg!9q(;4T6-`ah7;qAz zyzc@&0F8aS$Y-am8fMK4d!D)*{{y811eOJs#xe2FLC$%QABBjVL(TXFF2`10RXWd@ zl~rQPnWw09WjIUs#lQl;m5$(CxjDQ(srt&`8KenZ`yN z8_Sy(E~Kim3XM7v1j#U#Toi2P$k;q1eC1Vwaa>*+VHi^cMh)H6DQ~bUxGzY1%|SaAjZ*fY*(+AGmSb-@E(hbk@&d~$ zFed8pf`S7gRscl0QNlVGMD z_Ax<0>ZA}%m>3x|F-`j7e*E@feD&jj_vGv=%XdzF_L+3>l+Cw>-n4e zaW|ba^;u&1ruL0Z2Sb&3BOmQtl_z>_@2;Isj!tb{H@s)t5dR;dEmS!E*8MFv#f@F^ zf!7S3&6TUPzM;}?e0~TkhKBerhj?4_mv`~5uW>g{$L;=ITZfMCk7D)Vi~R>K;{Nu% zqpRK^8d=VNAsG{2LS~dN_-;TiEz+OI$uWWzjeepYzN8hKqvXTyjpY zmw}cIb2*`ukk?=3Z}HRKP*tcUMEgVjkSDiGhjluOhBT>Sw|n+^D3b?!I7dPBm}kO6 zk(#3(+ULPaPp-%7p(j1Kg)~sEZvGiKDTlQIwTEsJjX^V)|9<`jY{L&(_q_gRg2x%Q)s&bF!Qfw|B%*DOA z7z(~z;u4z3oy-;GW@lxA9pb}%cmNM#Q7aTEOrnq4j3`Ee2|z4k;=tLsF+lXRmv}#g z8rN-NBLs*xC&xFqNDHFrXTq|{U@WM8QUF5F@Xv+B%#eTySbQTuSwYrzS-= z58USth}!RS%*6e2YHxgFa(OaEyuNAUYR}eT_#W8WOr7lOsN{ewR~N5d+I_!2zID|q zis3(_#tx7sa^m46Gf3>>G$cbo&XAfa5=j^asc3z2!VAo$7vLZIr*AN~#15oGHJk<^nJj~S zT7;g}u{xb5Mf$9agbEcV8J5X3Y0suGnrA5u{9BbUBw@h?9VU^eqqK zUQM374|K-|;-4TrI(;@pOhUIbokAknoLr$W=+#;+n@Z8LL_PrvFjXd_w1la&Ac?cp z3WZl)rEXEvXVkB&f2pR`oYfIk6H%*1LiBC12d_;XqOS0*{D;x{H!jEUPLfkG2)*!$ zxCC@*t`OsPp(|XfL?OX?alQ$}%(C-U7~}L;p%=1H4j?Y=^yHW}OD`@k1B_nw64qwg z?S%?G5k8q&V1<>A8Wi$*Qh?47&K`BC{7az;+nhnxe0OitYI8*aZxobMX~3CPhylBn*GAQISL{-i7x zG9!p;e&Zk?n|N#L9sV@E^UD{_MmdWEGdWr!k};$+yh6Fv6MlYn++2stX7&RZUkZ$n zi{}A=_rOUWT+GS5A^7T20|CZ(QSkTxvY;|Eb(JcWrZgivTZf8V$W;tdbkwb!2eRUP zS~#u1LLjxm>ae<5cbe6j=BA}ddM@W=ExKOadL6ARm8TL&Ek$bK;}|5eDvrf!I{ZEG3}c2U&lFMBx%-BY5J8gK#EA zA_0a2f|u~Y^?)piR99=%G$BA3BH~{sq?t(X$rFM2n$7VOpf3rfQhkeIA?mT7dS&lHe%%3nnE(8pt)*QD-nw?UF?9U>>k3?p zckIG@_)WX`kGXA|*RFf={>O}%e`}(HdLAF#KN$at|LhLVBRJT^|4DL9dD#(ad;I7ds zuW}r(e2HWQSy`)k94|emGO=Jjb&dK93rMKEpupw3h?gMC^yCFgjyOomiAGEF8|u@E z+e(#YQB}>OQzgcXj0MI#r<2H6PHAi?;ndD(s05dkDCUqXH($(CMT55H=yq zDohGa(W>ZEOe(}A8RQ&XR7eV`)##(dZAyuQNTEPMF_V*9=q>CmTwl1o@Mz(g!q*Ew zE&QTzx===TNRcT_OY2QtpSnGjPEEZcyC$P#iV@sFip}5|(IB0)|5Ym;=@%g=r?mHt8IR2y7{M>VAGZ33szY@8;d_R|qBrheWa_7)OP8FD%o>)(}$vu?m0!jK7F5go<4pG?m<5- z0|a^oDUl7}M0vu8L+LnuC|&9=$jPH^N+>Cs=|Y>*tI(mJ_KHvh))CxuzN{ccB=9=Una6^9SaOc5VQYwFi00K3@KO&a)}cx$RpN&^MMXs& zE-PAKk=PXtYy-68Qn_ezb8Dg3>%53tK~+q0ti8EmK~n>#N{==)H8e3Lgs+Xo#m;Dr zSX@>XsjIIc$7&+=^^qEyaV4`1i_aAnX1PdPm9wbmnjLSqW4qm1QCXQmB*O((%c|8% zqQQ_H$w(p=XJ=BFeJmbe@p=}USRYHVh(iO2HbDfJGVQJI?p&?cczfdr_L{&jFZbNhz>Zh*NL6nym>hUS!ZPtH`7ZkhF-&Z18sm& z1V*?+fK(6R#6&=BgOEx%Cq>ztw2hNdGOv&eL4aDKy($rQPM|UY$q7|BfxwckqQFef zP&nxk7oZurjKGm3i6}t+DB(FGNf{3uSM*8ISKgab3aAxG$2WkFGD z1WpzSYbU)m&Qg;jG&?m(kKAplWv-9l(|kKWb?C5Edu-SK`&rn3+7qT~3$%^gRM?09q6po<*0DVRGf5alGa{W^q;~6wVn~gM!eU z0?1dDmZr{A8*mOS5(P{ai`#KgNN4N3ke6?>xh-VRf=kC*OzTaQ$wzj5I5M{0gFT)c zHz7h-R^FiFnq$&II~-YkB-)0+1mUt;vxc)o$FlH1RxE2Wi*CunSsCQ?3>@K}CObF(=>bUQT@!-+KQ&TL|C8J4)AXS=EkPzl^u>$M`30<&=B>+pE^lFUDJ^ z3JUyq1V^Kr2R8TPbyz!f{0je>yBfbu|4mox{&@ZK(dPQ+o7Q!%S$+C0fA{&)=4;IH zb$z?zAM%r}jXh|-r;Z+lSBhfDO0*7l2W&qWlc7n+C_YbRc^QyHES6mf5a7qkUaV2ek-kgS3GKRdU{&o378kgv(JD(vu_t14Vg34sAD_ zF}!a0!Z2-+oPiBkq}Xe~hQuTa;uX0nNR>NDG%!an&B!H!1`=thg7F9g4J6Y;fJ9Hv zoQXKI&OFs@g4Tn%ILS;H0Rs?ci#3>V6Lf?rw7<3=Ld_c8b6Ua1xz!am#fb2x|ptYhu2C)X}N@Ys({;u!xn4o&g6n14s4!^8Z* zRC!;#ntH7-j2V1*FRqtLYn#*Ehtib%i+lO0`hgSu&uyGqPe024>)Y-0+wmCH3LRd+ z|C{8N_@^ixc~KCR;pbmQI?!5$Iw`|YGOvt6$VZX{OF|(>idR-p;C82_XtTB1R;$J0 z^RUKTy(f>*M5@D)<_`pdY>?1kx>~`%0-& zPMZ-eaAbfj;V58QL2#vzEEF-ArjeH@N=(F1V!p)<_J+47fmT4}0nCKDzS`LQa{nkP<5r2v2g$SsmYecQo#|`Kc4fraq@R zR(edKpf^rk#nO8p(XEH*=+teR#mjeXZu($w$BP%Q;ATEHTv_%s+Nr=}7 zdTQCZ)YOceOL!TX&xKcTa+{G3F%rMO+#V6X3e^%~x`CpKoHLoU8RNKWOsCQ4bYU$K z9+{{BSB?67psuPfctRmh4)IZOx)enUCu@}r%C5*52~8#`(J4X}pE}}60S@rcD3fEI z(M;(6OSlZ|tUO{I0bS(f`OqNPPjn1Tk_lWb@k<)~LcmtAC?v^YrzDg;0c6rkLM6!z5fZ{>XX9hABRHf^ z(|bnZr$?G_oroHt#gt6UD){TWLC750dMt%y_#p$ouAmk`B!5}F`sBSG7v<{rI)?cE z8DrnC$90YQ1Ycw1NF*@yYVUhlgcQj@G)lRH(RC=)wZ17 zCE9;q%)G~sA;CBFN6B^Z0wI<)543w)RYfr3@kjE@JpKY38BIH)U~J81MojWD)8V+2 zROcfl46-^u-A=pH(rVns?Cg031tq>Rg4EsavWfySO0w$mI=!h z%QcI1z!HPvq=g}YD9VzYj8%H!QzJGSwL&a5#co%EEt|4Fg-RiAd2-2QiWnh+8PnC( z^FZy8NuYNGWK4XOa}qH9vxev$A`oEMBLN{dETLnPfR+rcB=Dc}!Nd|OIgtw|Bl$D) zI?chEi4&wfBVw+NxOZ;q+ai~z)b_D#&dmdN@@r1x_}@z27r%sZP#$o8H5uZvP#_Wx zYt1afqXWfWJMOBLfkjzDX>dYQnbQkWKY0oVe-`K z+PsRYDw2-GRpfcyMFo~TQve5)o--cmQ_mM3%Hzq*tFl?j%0i()g)K`e%}Eha6q3+% zfhpgY-ph+at6XyT}NkE4Hb|4cI?<5>~w-XLNu%vp3zgfVl zfjMry#9SD`(ZF5?_~Pvmv_RxrZi_pSnJmI2F7XRjnv*0BD}BMb>PX)U7I?# znG8F-Ub$OZUd+D{@2A-KBoo5WyKQ@R#y`S)*Y-!_Z+_mq=k&;HyZO8I)g8rGn?ZxP zryl}3`X0(a4nVjOR6(K?7OzZVWHKyyGD$_6QO)2C5QN@xf^aKL*)|~{k{U`Q2^)&M zd?7hpky%0GK%fe%wOU7zO%D?fA|{b5q{TrlwME^lrqpW2K@4HNmCSiMmt`V0diiKk zQ6ZTluJl$^c>5GMN0Fn*V&xeG!5C3675Tv2@q$jsqD3}6m+Oq`OH0Efqb$N@iMZm{ z;=W?KxOnaqR$)%7NYEky64?L@10p0j%OEkez@N-Yolzt+i5P;LOAsjjz+A`H-1&Dx zj?fHk%`ucia}p;=lu$%`QszW@Skh<~<`2x7UqIA~mgpBB_EA?E?Z-HazrLS;HIttz zF1?}Rf5p&)@euX)2=z(aMi1TXlH|R=}Dd?FYlzGm|t!#*e%&AQ8p&6Fm_o=ElqvklTToRQs81 z08Ow&knIvPNz<}`*~th>feab$6g3~Yf9FWv!~8l&GcOgi zxdPPyN7dj*;6klnAuOs}gmmfY7QwUrup+-YBElxqGQ6OvX=x`SIeQ?Da23)cH?BHg z@!!1+4{r1$04y$6_)$NZ7`RSdhQz znNju<4xvu;NMi4iaU43gG@VT+ZFHyy_%W3-seCF*rQ!q+esP&8!bPY^q`1yBAJ3mp zH7p>UUbXn4#a!oPC&ewjwv@U;;e8b5DC~t_G45TAO^dOybE%FhUc9)N(k<;YO5_6` zT;*v2?URDBm}nBIoW%X*i7a%le{Oc!?w{QDTyv*!sXhrULu*FDMSpg9CwY z9l(j`6C)y-1|;9gR+8tyGuc?a5!(G$=a5vpt!X(gr`tww77lgsFY`ZMj`LQr3Taa- zt2SKYN3Sy@Sc8>a{9F7hYxr%+BRP}&Ctvb=$96SUI^28)|1sCOX5E@2C&#h-k5y6r z5V1cJ%YQHA(GlZOc1f%rV5eVxNnL_!qu&c<9LYp4hdz z<3vu@vHlk)@%39D7dz{sw(RG9JBLS0CqL9^d;9P2dIN_i1T6b&;E120GSrSbsXES} zGZ?Zo4b9E1^HcKYEvj0amMycXG@1;XABgn4zcfo(IZp%TOBD#DrAUUF1TS<4T7dLW z(nBc&Er!x!{P0+LO5ObVUO>c;ph8rPyU%y}L?VjlC_UX-Se~&!)LPO?%c_)2O-)yR zDMAl}J>5N8QX(X58N3fyJ>2pz{qO=?)261KO>|T9R}J{_2HY^8VAuI1^we92x7Y2f z`=XAnBXc9_2u`UhuUgzfCV9AO772m=c~!Q`;>ydFUsW=jDi1*611O3r!II|Ea?H`n zO4B?%uQVL)fYukP{MeuGN@Q}aw{N%av(vry_4Y69({{!V0=4*DSuV~cNjvV`jD32{ z=!^A~O}|rrK!0BUm0qMbFuJdF)FvH%T!-6r*ri*bqjbqAY?zaJRqKH#&8*oc1c^9N zD`-cNQizJ>rpfxGSSn4UO_YzKhAG@fO_CRE45ZAP`Oh^n`}p z0IP7%Eg_r0Prz7$sa(RWjsydejDwB0lIaBSi@z(#Xs_@p3BiR(T-1q(?d^at2lh^Q zCVks`dxpQfGpUV{ZwGHRiS$IV&X!11L_&s+;6?-$Oc-gdou}52*#W9#@&TSXClTm< za1KedGF;xh-|eTQpiR#Y6^AH_zZn1A6#eKt*SD&x@zfw+y5+d7Tr6k#H#&!05& zI=aASvBgJj;c#hv_3rowQ|`8b6P2A^-PQZYP9JKbw#BcJm!>NCxa1@8FF?800@Jjh zhfp_Kjvk{P;rxr!(--M;?e^>fpU<_DN~@*H(o|->!C)=u>g;sQuYGjo%ElFsJyzY= z(cRrx76}1B?>kqyC`&}(;8H7V9mk#L%-PL7L{Sw6{qu-Fw7RK)SQ#!usMbgO9;NhMk3QO^r&CvGwQBW44=ES5*mHBU9S&E1ep8bxyM?F*caO-uj27Nl zq(Rl3OckvptLnD@91QTXmWNd!5}e2 z?@M^jIVT)h-+|8*eOg5A0}aY$nWApgQB>4{+>CNXYe`?pV99U^QzFdavN@wAB`XF4 z!vQKV^Fn|?;MfZ6U2$dwwZi3+r3w=?!1`4Z5uz0QW63G8z$C5>Dq*F5;4LHBld#<| z7r?rNl!-*m%J6)jxgwo3&&68w-vcW{NPJ zz>ndnzZyDFS-f)(vvT*NE2gf0E^caOH$7vEJhSmP2Sefa@SfI&l>=;7XY0oY^S%5< zCVlmC{Q1?Z*RJh8efq^0r|vopVBu{l#^s`a#9h4|Ki@)64DD$19NO{K(zOp$(`$Ef zr9+!YEK17%UUE~s7@3hBeZfgZIXSdRtJSO1$xFl}db>h+PlZgWbjU!h^^eiC2_c&l zYA?ugL?Svl=e6RcULnk6G7x`GI?@5WR;g)9CNn90%2p+UU;ZJ6^CTJ!@FrC#RK{6+z0K{lw>|zOHx6uiAzgdb~{ipQB zKf^Wg$>XB;j`MEvjySvxe`PYndHxvh{g;iGJ!0nmW@hLqoJF|}6DRq9E~bCcL0hJ- zcJRCQ^Gl?f)($2`jQjZbg=WAoorr;+pO)MeUqA+AL3zl93%E>4K|!ihla?ma(N3pM z=g7#&%v7ozA|y=Z$Ji{ArKaWy^RZHMatbXl!W9>Cl~_qEsA?`d)th=I_4U+GQm z8GW=lJ;O#djkt=K=zIJtxD#Kk_Qb#9f6NcW|Fyu4{{uhuhi8Y!Kv}kzi`qx-Umsz{ z?_X!K3{%^V-@}>W3*olr{XGBrbEf{*=GWg`-`d#x4?q3&YcEv$v2E(3sn0iUqIU65 zikh!Jdl)#0;r}Q(B>o5FK`rk^SQRXyaG^7=S{51 zL~!CcI$B*w#;p){UqD=KMbQE>A)pDB!m$V)OeOIeMWhMkG9@b2qLLP`H~FrT?h7Rg z8yj1q#Dk@+uPrL_)<+`cR7o)CMTLd+H31L zHJf^;&m`H+nVIXGa1$vtar*3NQF z5%MOG+w8Qb1O>Qy{N$|(Gl_HTOmW6q3M6$yf-A{9J7F?ZcuuZo!dpgSE~K8&h!Fe@ z%y`uvAT(laC$JesQ!^O@0KlwNat<9SN~pvXca3#s0{iT1YaUEwPoMFsQK#NKu|E=_ z`<;e#{=`ve%?r*5 zS3Qt3tk8}eeDlratEBQ3PaQlqK|hCm_@?{l52ilm+xby(W1n^$pQH})6#p^5lb@_C z$0@i2XX4lS9XI)VSGdrdA791M-yF5@!xeS-qt}jj3a}av>YsiBzrk1T;(KiNPR{0; zx=#J3d;t=pEdEcD8{(s2gxgR7N#8}~_V?=cF8~+3?v<;hR4VR^22chU zamv!tLLD8=%CzDc=Y-c#;&fKhQLIQ4EwN{3xze(1)=Zn<-R-8124R{l&s`i07Q6Fo zX-vA)X;7!ASQQ-zlodqF&>v$o2r@MzZDwhjHPeg%v)G38^cDs(L^eOY7lUbyNovAB zB?_BiI>^&tj^e&C}?EL1Si#cW~I+Laf zhS@Xhl87-TmGNOO|1NCW1?%`z^9NV=F7My9;joo%p$7KAfSNzQC%MZs=k%c^dy?-i ztlVC|1bP;}a=2^L-GR0BbGOd_CHh(C4$>eA2H#E$ZC<#2)A(uH&5xXIg{@7J19yAf zL!RVXs=tw%yK=*(wVNUL`B~rFSKzvp>xcR`yc2lkN+r}{4NMRJ7es&00(PuL0LlRe zYAGqFt|>{Wjh4mBIifh#IcmZ}@*wP_NHyp051?6nHy__ybw_lG{RmBQ}_}TrAJV!GH z0mb4u2Se}Bess#fqs$qGvNN4b4?|B>z|IPIwBk&~#fqC16BW|Vik=FpxuTZdN=t%}AK@Nh@pF}A z9wYLSsK}Lc{Z@!dYpGruxFO)zCV% zVPDsF-oqc90}sM4$9F>afy0%J+m1-=ou_+N^-E)LCBJ)U{pFKmpY(ryfWLZVP8}?S zcalz?m$Y`K?1bySdi&5hsHUQ8_ni-yA3sH{T)B41+U2N+TmV3_htZ(L%nY(Xgv(Gr zlbI=fMqxyKI&CA6Tb|eJ)7a-Bo%TFPA$Dk(>WqnyXCc&%*U>VdcLYsF10yqol1LyN3DZkl! z;r~b%@##N)=J(0Rl2@MpK2#zqv1{TB#>wOY6{?+`W0_}CQqt7V0NwM7RO9osgw#ji zkx?yDSs>cN*+D8cgTv`;C+LE^;R09#xALpdcstJbegL!n<2Fp^|MZ{N`H!iu;gj%9 zzKK7?|B$bPqi_}fAN()jEQrlf>i8pwen)L2lQURDzn(Luzm^6}GC4qhnQV$$rP95| zqIIBdGz}}$*KrCx&88UTDY&)bzm1DEL{0Tuk*51?j6IKSxAkGH84a@$p_OeilIg@` z4n;~3EzVTwq*enDyLl=lgHfJ=I{53bUKTdO-$6t=QyWKne0Nt!wtJpg_1?IQ(cJxb zUG0vL#QB&1jeb!Ze;x6tKS5kl0^AR`aW-RmdTOSlvGKkvMKD_BO*5NQ6`Gu2)LmBP z&8oq(4WfH0jz#J*tU&3gUWPZF zMpYp~A$xrR-~O7;53jF9?Vmy)iYqO zC$;9L$R-i~CPdULCkbp(rR7^zEDlD-Owrkq5{GDThxjr<_EO@ev!_)Xrct8)3bNXf zVvf)zNvl$><-hFvRGae2=G{t$8vl|$xA@8lNYxcifD>&{W1Ry zRPMQPBM^HVf#(=fjd^G_JfW(Sk1K{V8|V`x!H$I46&kV$k-+K*?c8NE)26&p@C zvSei0?P1(G+D)Yja<6Q#$t!H?_kJ zsVq0tx#R9;L|AWhOLw@>xG%bCH|Gl^+*oDPjh6=ZnKTH}xU`nE&a{EFp|p`SSxegG zv|DL(8dkz}2NP*-fOkxlPO;CG95WiTb#I`w4s|#^z>HOha9uZuB)y#|S+42rSkv1+ zlMN?^&?FuGHZCaMwiaMP2_-^+$glxk>P!s za!Z35x8b31DZlc|%lz^{6rTSO(H5nRFhW)D-AlcW_@!vziwk#3C2P;`T_te^`TBF^ zEnmXj{09E>x+u(mZ;pS(UrC1H-EI~b{-Bru(NlbK*-_)asrbQGO33)`+36q$-l2T(968oUv&)f!bS z2E;s`nhH|9Ic98*s&qICpoC%aT>x*(qs|A*U(d?QgfJa34si@%iMo{wFsOquXl|4c zRg7c#RDK?wBlC>St_~N~oZpduG@tIy-=9B`PrLGs#(Wp8?8xlS+?YvcYBicv1wj>O z1IiXao#g&)m^!l^190k!>)M8aDm5jHbATFg% z0LyBj#cHi(YY|_5yoOCl$z@T)w~x8q4%UHTo1ECh4phOp$Lbo`1`O0)FQTNhADdmu zmSRAtGI180%PBKpjkCT?S|Me~uU4J#U+ zYIv^UXALhl{Ho#C4gcEk$A-T&u)?M33-X4B*|QT6fJk2gCK8b{cWI=wwv;X{jm0an zTrPKJp5LFFk&&sYNU!i$lvOlWNE<4iuJ}>K%N1`_{HEgf6@RLbdovp{so!M&K9j1* ztjH{gEvSJt;aXT*n__W>9bJw-$7aVa$05g<D48vkVi&o!Cv& z=@D9v~0m}c#3(EVu*1)@P85_f9QP+D`Z$*YhDk2S&*kmnJxfLI?PgQ7NJEfKQVgs{;EY86 zgNS7WeQGx%98y#87@Y*oBR6Tnfk-p<Dh!n5 zmtGxbR}F5OTRYUYV(7Uo8~QHspS!DJ&bvRA*7NJK4*&gM4&m_(Gd3R@3D)kS8V3&d zuRm~ku(fVmf_d3`_NBq(3I4>D;kk7${^5(U(%OIeBjQn>d!Vr#b;D%;qVI2d{-wsZ zez9|B?~Vcf+KEWh5vc!L>Kvco{}C-@&kQ!Te)&m$a1=^5pX=IlisI@vZAuJbJ!>m} zQ+9=Uf#_M!#yhC+4_v0fQdCl`&*u!542{#Na^W*sX+G!9aGR`HOs4}X*m+FZlwj~U zmjM^yQ5TNMGn(%s8VNeNOsSL9()9P-{*cd8isjL@I*nC{B^O?mHlcKCG)kAA7VUWC zE?4EOSZsDl$m4Mr1H?ny3up~pfGD2Wn2FO{O;~~75Xi8ef@Q!qads@-k+8WDnejT9 z4QCtmc-ZK4DbSt**_5G_TPbu(38J5mBgS1t7dPNyxTgCPO(-!M3`lWy3!8xU1nf@0 zjfowJqlue|iG(x}^ygy>BCl=s{ahu%_w^=~P&_v0sRB4IpJqf0iW%LT-} zBtW2JuqB+A2u_HC4F=3co&UNQSp3%eulqX|wcik(QeeZ!+uN;JzB>6Wc0Ke*V+kx`rrGZUfeKm|V zh97^NQ9k|juH~E5+SN_9Yy0V8>g{By5SaVNzbq{sH(i4#x2-!@OU>WB`SJk&1)HMW z%BZE#{JXyi(w!w0@TEc6$8Q_t55(e4treBY+2>fLq^(t5PjytrDfk<4VTY8MGK>U~wWFxa7a$|JqNBksn`Fr(LpK zu~6h-!Fno2B`u?6N^HOVwUibkBFbdFm-4UVf1OW@Q9i!d1{wkj0>2N?4QUI~ew0Ql zv2d}>3xDK&+53i<_F{NqJasX{;;fam{BCjt3r4VUV5Ht9g@A@lzLBWRCdz}dUrc86EZF5Bb4jx#m0(oP*!pnGzOD--|2O|{d->ldCkkuf1hgh0yy8m*W)h)G$5DB>d6c^spr zQ9;c39g}h_cM>jmJ?<+gpfd2vsqkmUGn)}hQi{)v{(4xS6O_g!D!a*dfAvPA_H}&h&g+NvuV@fwav91wcWLnTB%(UkZ_U~NvA|Ak)*Tf zS(u@m5)WMqMg`TkSnL`R3SYyxN#ij;d&z%|P+Zqy0?6&;{%eSRR}}k(-i=}Av;CSd z{snEhb`f(aM5sJ`dX2#2imGz4DKU|-k;Y!TbS>4P|JG(KqTh%%oS=rI&n5_!c3|y0BzlAWV&`)hYbjubfjG&K>+ft!0v3^)01sL;U(7 z$;qt?=j>*+myXPxUs>l|y<~W8|4XL>;~7Jd(s%c4*#1(2zu~L=vay~iN}hv3IN%!E zG#=(p^KZ&q+DsJn9&DrKuMW9g$sS4F-B;l&9{w_a-dA3!H7HG+e2q{E`(6BY{(@3F zLcPMT=GT81x%BGF<8NNMQCZZz1#=ut(>n35i^s;EQ^_$Wic}| zGcz;e>UrMp?i+Dq_Xq4mOhk2cSNF-xli5|>GnpSJt5sd?eg3`Db(I;(0~`RW_@LQl zo|KE%6O(bu7z&0l@{5q{+?tv?6#rz~7f&Wt<$Hb;2RCsyX+na*vxgoAb;>kK&ZrbF z(ijA}qF;k={oUw^YVqztJVKWQdQ2)-+DcNo$K! zOJdl!0HuW#6=6>dg`9|-Oi#_ax(TcUxJIX) zw1gxj!BokHBN7d#jSv&j>_W&2;=hl8OHft@NTg`#Aj6b|c7R-=p&pnv@Lu_X-@ckS zlp^Y8W?YU!qOd$av!L)R7_G{;bl#aA_s>j9*d#I*q|Yak?<*Y$1A%suh;?Y-VGvEw^T2=%;?L${RXtpi)Yar|NZVaJYEJ~33z0;;8X)gGwzCAJ=x3Q z#KelX=2n-Z9Iv~V>+#nCkFE2*$W^OL$@(d0y$cWBp4r~K(FyCP(HrC7#m77ONri!y zuoW;Ontp*ifm|Hs{JW2MdHNG4ii-{Z)r0vtp68>6t!X)+9rY%OMbRphT&cIzHpV`skdPMer*tCB zi?SU`gKcMVONoIJWh>l>kwSOV9O$Sllv)RKCL{PJO)>@)^Z;j^4(hi+=$qhX4%?sYAeDjlXDS~;-UzuKQV;76 z;i%$?*Qd|dW;pS^^KalEvCd%S0R^@kPK+u1=g3>1iq5~?zSqa#?D+{cCDxi4A)Ack z&roaR_)=zc1DKs#Nk@~i=nPQDaj3?a(<(x6c{2|Pd+^TS=G2o5CwoSW$kGuYlrSU7 zqs

-4AIX@3^8kc^#(60}UyCq1b|76Ha`Sm}x_h@mvWjHEmUN-fl>Yf-ZhRk1 zpVjF}tKox!Ipta-GgU(;7d^fGA!zxPB!T9aok^NvjQK=8$2w9Vgs`Lp_XV6sYRuBo zak!wb?}T7{Ug=k@OiCSf_1=ZH-^FW`cUW{B+hsQ>E&lq@7s|yB7R*k8YGo_?B`dlP zbwQ;ip&l?^&tE6!6hb>dJLtvP7ac9Ru~*kpEf5YDh1!KeI^-`15gQIHFf0$x5KJ8E zS&G%FCFwPQ7tn^13Bbpy32u^;G{YyxfyqhO=0|i2Y7vu%ByY;{6P<>BA@4KSHnOSt zN$uqus7~EBEQl((uP$RFR^8NUoJ*}9^d7_%lokZ-@5t9()&%^6-X!JWM{cdOgN@o5 z*c1Five7tiKVqM0RC+Yvm)$I=&@W^x7B%W1a!Hgxqp+s=RFucT)?LxvSoQ$Mwf_22 z6L5&(-19JBKLrHIAS|_3_mx9xbu;(t4wz*vb)mVk#q0u8X`9P-F|-~$^(ckDX0sKR z#Xa8je2Dw+hzWo|IWYt_DVyVP5y9MKfjVS+DGV5C|5+J<3v}=|<8oN(Ii70a-(r|+ zb?7WVBp^lq`{Ua0MRG<})$Wnu19X`enFiOro_Yp|XE;=V~QtR64>j&j5!Y=|GsVB-W z{q2`5CGE0>oA0@!2OEPTBH*`ysb$$V#rMxi9bsoWYUno646ayh=ye`&o@UjLTebu) zRiNv{f8&dGo#=h%7e*t_AC2fBN+pHC!k@J#m!I`#PbWc_inCuz4rvZx$-Z=wOyDVj zBsK#V2k%zERX)3#(u~9V(fgjU-rnkdvdveePqcja8tqVmaAAfRCH{tFx!aPzhf)c-&hZ09C|&nVcd~AB!FvnU2LvTk{-25@;`_jrCKu&}sudN*A@c>$Z<=X>dE)913_ zGFs${hf^HR%f99Bt-H2(cKRUh$;EwDT#e-3BxTd%k4753{tWS#W-^)GW9(eoC_Bp~ zf`x=}&FFd6Y*~Lfn(Ze{Xm_)&zw~S?3sNLC3KmdZQ4z)b{s;J*l$|0&PBw~GA<=Z6 zFAQ9AfVUN0kVp^vFoWODe0aw1pdo90k19RX`PDQ}x}&Vv$Jb6PX;&|aMbT;^qP{yD2tx4fIeG#A_g@+B2UGlpKfmgqoE)7=8M%hJ(lbl6)YaaA|lSKghsHu?{1R!}85iJx39NCV6#w4AZL zUg<23=|Zdi&b}$PDW+}l#W^u{5@%lBY*EhjaY`0~Ps7oYoeHPlfcD**BA!PyFJW(OaE-9dRJdS`V= zZRR?G?d_pHBpC^=$@bd?v1bmwJ2LLT={$O#iwm>drM{z z$S%ASFXL7es(ccsh~nvbIbXi;>{coVKbEhOxNT3;$9*R8k-88)xRuoa6Ta5C0c3-X zw-rv()oBxZ!ATJvGY(n`i!97*9th;Vz+8T3u`+3{&~9~BwAdX zc-8nMs_=YsjZ+$OGsPTTS0&Q8pQ4%)aP)_f%zW831UkLFLF znzv*T`Cd-pRtyuajqB&oh25qFpwWT?BnK+gPTBBcO%E@*XtSR2clyvuct4(r5Zpkv{(k(ikEVzzCv^xm|QPP?t#S4XRwozEKUH(1W5K-1r{+4}(6~jf`qX203kimW-&7-?0(L6TH%?)vRvQ->7wu>I zA)i~Fp!4w2jI@R-Tv9XHpDZ<#DQM7PbPKT8LTE*%Gqvb};Z7w=Fo85YqkikYc%!V# zMrygn#>Plys_*#k5MkWZCWS0YR&vYQ1 z2H+$PY-eK~{a|Lf1C1$3w7j8+F5=GlJdt`}B=aQ^^pZRpUu;#|O$ks~?@37x)rOdk zQK(aq(!Ny_$JgzxCht~a`z65KqnmQ8@-@ph24vP|=)_6|?_X{9W-4pE z=|^NN2ZQ~GD>3khHDVlSjDX?OArHlt_PwVsnKg6=Xd4z4RiC|@c~4wSY$QvY zQi0mbY!F_?NbcP@zO{_8LvW5MJS*drLMQAM!jx7AITyjO<`E;<%7?w}K~ z$0Zz@MCQu5R@w)tw zj~E3L_7Pylju4o!i@D~=hX3YpHNwNAi5`WcChqfb^5(Nf{)hyAU%CEDQVEe8k$$PG z^h&a}CJFhZ@kIK=1>U>O$hMa%HupNy`vsz|_r9PkF{0`q>AH6$aU!DZ3j6-xnJ4qQ zY}5kY#fsv*ph9T3AhJp@?6BlF*ImJAnLB*+4lYR+d7`%Q2X4$S`71y&EUKT(iNHif zJVn~csip=}g)uzO9BN#5EOG@EQ+>%_28PpaNGi&eof2Se+24BcNJ*_3gusFN0fQOe z&1mIQPLYCJZdV-T!)Mf%45ZoIJ8E$#msWba%90@Zbh7N zl7G&+-!;k%68z5k?2US)wDjMFmztWyU=6&mK|J$<{cH8{+G6!uOP2Y0=hkt(L4+-R zpDtYA-&YcN>4*Lu;N7DB$R{ECw0W%nR@AN?P_aj}E;W!l)Gj~JDmQ%(yQPSC%tn83 z^0bZfhJ$??G5-zbqaOCsjHhk;)4X$f9H%tA`p&5j``4_Ml$wX22k`SwQSswE6|?=B z4Cph0yj}@KZz{M(&5Cn&9f?%yJHt_c`1{jLRh;!e-8780+E9AhL^9dIfu77?RIapGnb`{B z2M(!&aM%r(VE;02lP44|X6FbT3C)~bO|XuOM+dAQe3Xq}ncI)dbx_e~(kA!W`mLkx z6(Wy@bZnRD-K;YmO&q97p7r|i^PEJ>%8mNlIK8XcZ5~zbIW2EV$JfH^s;cYNDs2nj z(Pw>EZ#})qE=e%Q-4R6r_8RN+t*sR&Pf1%Vr`7a%?Rq?c$?J;lW-E)v^wimzfnJX1 zQBKGwEV5RKW{!$?&BS;GRo>8FFTY89a*w3n{ID_(l+98iK#H(=1B3}`4LKM5WTNw?b6F)er6}gKoq*S4dg3`Gk|6om z8U+fu(W|NW?h$zo6}AuuTxv2j?hWxzO}x~0KR(N|(m?tW3wN%meh=<)0}Y9EOlW=dehP z9NXu`gfMDpq*4wS!2ZR(M3T{WXwizmX(0ivQR3BNJh(?4QM{)08xeWEf3f$O@(+!g zVDQQAI(36pG321Ib3)pmn?4|i6Y-a~pwJ8(xCyOhpY=pA?Q~fEdI zy}_4+OKyiAaS%yIl+clUzY2SDBw0(UOok)NNw1pSTmeNB9aaexSFr~yKDL33?|8LN zeUwsjMJ+CnYSYDPud6#a3;jY(KhFBa)`QvBO!(#u1%2!D zIht$m@B!{2vvyT?nGpd_VfxDX#Z_TkaUQ#kA7}fr%O4qQyYua4!g_d(C+%Qr5#p7q z%*7fI(mR@UHOgzEBjV{Td}pKqc_B(Q!d)7usJUOVaJjr!i$$_TZ2Up44eaGCBgw{K zab`;ATGb9e94&!gA313oW&w>-uW#Ijw{T8C)}omWt*2C z;~I(D8-LPe*%UHM>KMbS3}QwZ!`4s}Vx!qbfdoH&_t?>hU;lxuPqf~`ztDGLOQ?fL zCwgkau-I!-O-H4d1Zod+q|nuY`6M_#%FbK ze%xOqMHevEC3H~@-2OHB==T)&rc^|Unl_WM;wy|Lqx`!z&xM8B0fOeI@h37T|5pN9 zJ2W3~NY%}PgtL<)YMTu6_(Tqw4(~i2!e-bW9YVNB0da+oWY^b3*g@sC+Ts2?2KdR?{Q4kDBzGGyuGhZNvHWw{PWu#<>0mZ**c_9D`uDu*v{hE($6^ZFVv8E z1X18f+e7H?j1Y{)aBZUf96JzDaOJ<5>d-mA3qg?j#)1Xa20ebCLF}agGsX|cQ;AQ} zPo2=wB*H(?vJi!Ke$$@Au)_?N&0RDQmx3PIgMs|7;v|Ist?0QXm@Qm)l9Nn z^J_-9fOxZD0{$8cLiVv%#rVrrd!HF5H^n-*T-gzFL>g=kRpp6>QO%92@=I8jYpk%8 z;D1Ow2$|fPd`x60gQXFBP&_wWXGjkZc)e@Nm^Q&*w0*0XV^v%4$$Ia?G?xtDk z_u%!d8C_rR5la*_P4dZZ?@i6I?I>>klc5 zGtJ=TvmDe*dkpCOZBrT?ynXeAU3m15~B&mvR?NI*+c3P9-@B zKK(NYv!{e)Dh zQn{t29I_5fQ_)yDXXsOJZe|GK-h2qxV=_%x!KTq$9OLl^ZM7165^!aTZe~%!?mSaJ z#$0CEw(}_PiiX9XB4!l)Dk%*H0i67bY6~BTm4F4(G%}$0>djJHwFDdmeBx9IFRxd=rgn7`)o~~LNR1bK}1=lKV%Iu zh=XLCGO-T+D|SZlO|u&OBkJpgFMMZ~5BIaCDc}R6viW8W)+P~Be^ON`L&Z%lufX9u zh4aVzhs8-eopWb=ETJr|cFLQ#esZZ+%A4FsB;RW|u_L{W-My10uaBMf!CRqvu#T3( zvg2p8kK@bUBnO^jWR~vRUR?MykI)+$azVMSSvIk#b7!CFyM@y^MN^dbC0^z;LE_r* zb88LO7=|A;@l%c$3X8XR=rlURC^KdWEemS+(e2HRJRgMuvgyvdr>1b~rTu=#uRpP? zzpOqA#%z1wKFxwmYBy!>uzT?XqT=v{jRpBih2No^+LKLiHNLC06Kv1( zOON4j;pQ0}gM*6zp))&rncqOWpnPf9(#$#qKz@TdQ@YdZAxcxt9G`{Kw}nJr(M$-V zUrq$Rf3s#-#Tg20ZhlrX3o#asO7%Ek z2B5DaSWQ6vK^zf(p^zsM+Fv^@rzh{}LAqq~LsB=Jp*+BKMthw8ELChFy^cH@USILp zjv}0+;(~=e<_Uhrsz&t2q>%bRydSzBeoPm5LTh?Di);1SrV5sPDM-}bJ*(7o6y5vi zPUL_+F4T7MY|Zyta;=~d|GbKW1_~ILyY})~dIXr8kFGYmID2Uyh0ga1wQnD(4nGf% zTUm`ALw-H3Kcm=h^melFjQJv6OMfJ~Cnq2bJ9&tS&?B(ZqnmL|yYc(xv1`T3SYR_QlaBDL3o+y~`l!?uU{P zl&cja6By`@rOc)Ds?4VRld>5`$hfo`BRq^fOPCr>q@aZtco*OeGrfT)>BtZxHU&Qf z$8fxv^wf$nuDI^{7^lNK*K7uTzyG`S#qpy|jO5$g`fDs3@nUj;gL|V=l#O;K_b6UT zWsrPnu*M=2$P==w(4Y318rU&9#P)=+!d>b=U~Sbt@#4xVCELAb?LYO(&~iN7%v2un z5AqG?sA4(=P}?kl;fRr&O-36k3b~a({>T zE!q8*-fSNrRt=_28L0R-6d9u<5YA#-&uD@0;IjN0DEgUh|HC5yZD(I>jDByS03zLVgK-s}by2)Tk+$dz>7$ z2%Fpqyq4CtKXq>x_QO}DU>UvItCy8H7ppBm1n;)$2R&oh`j%Rtu44hQ$o)Fz3nvB8 zB2VSo;u%Xf!@}#4>Zgz4Wvr_8@Mbgi`;)@`DxPwbzA^Zgki#A1*yeAkE6gHs<)YMi z`&uoVIm+3q2^PZ!6N5UQAW(c*kA|b2v3QW#sU#<6=PG-Cwp^~V)&fJvrH<7Du_H&d z#p zH@SA!+9g6HtSu3$EcD*ptPCZ%J#)UP`$f4=pur&9>}edt$qLlHvVvq4)~2Ak&i3U* zj*i4ewhVmley=S?r)e@Cu8ay%*w0sah(u_f9ZByf5iuxvAv@vx{DKo=^$(?tS@Pe; z>H1(U@{-E2byK9(4CU7^ zMQoZOQR2qX&tQv?j@uz30-?8YrCj-|<8pKGJwtHu_yCPKzPKMmOOrM{U34_NeDI6! z&GDZoM%#mPZgEV_>0epx8XGPwyegg{u(jX^x1Bp|-txA8vs&L;i+*ypzEv+bnQ65TUQpJ#4ukmxJXqpo8%qCiu+t?5{X z7^+vlXNDa(cMhB~B~T68MMi}Zjj}+~pf9q-5eVV; zv4hb)w3BD<6b5(}$V<^KV)}rg`3Cb@FZp5Ni#`1cjU?SLtBoC%Z-9*H(h$dhDP=nv zo0AdEeZ%&e*i_amXtVD%Mc-EEGB`2V68xlH5SSAdribXvAYo=Ll3EYE%hElaO88vP zq#ac4p5{x!>;Ec=;l9rPX>v0u5#5HX7m7_R`{!^^mb3~q8+&WBtzG^Yu}b#SBH;pb zFuxOEqGSL8lO}hSttUzV4*nB{E(bv*2LZedQ_qtK4MqhS)Se$Le6qCU8J{=`W+quDtpJ2h0R0sO*D%RAK$OFTy9#6ljK`Z!1WFEh$@3)CtV+L8zlZbLWyZh5F0Oo?DF zvn#Ji33uhQ^gsbaa^+``{7zV2G6XP3nH{joKlfSSa|t^D_+D6mlva6Hc$9WjUrW?L zorqZ&{vQ&pY}qH?0RBu!z$L)I>o4fE48RXkURgG$@D<&6$rCVQ4pM9ehTnnaONm_S z_O3Vz7m?`N|MUdabf1TcdeWlKoSn$?l^)ftK4QpoxL zU>FC`xGG7FcENWk9#JrZXWP&Dk^w0sYURXd#v)D`?bjt{>|-a$fZ&uRu;Xxon4nl| zWQ7#WqwN%hKsl&Q#MxL3xBM5vLmICIOtaO&??6u`>N{ptl6#SSEXH zvG$d*b-;mp=9}^>?PK=n2!i7=47VDSd~Np5G2t0-;`1J0^SAmUEmY)L#q-b^=ISAd z{x88YOCE%Q5PPE<{dY=OxpkoEMyLO_zP3h8>k>Q%TuMx}RKw37a(U39`pzD!T$>tS zuP=G7*(rx{Dd4^p)%?NUbnoiev3s3C@fuBfSV7Bk;i=iV?kH%NY(4X8 z4{uH6ZD@Lw_h9Q_+I3uZQC;aUsK-Gu^s&7UUBSbvc40qabHZPSL6(41>pPP--j>p>h`J#m) z)l-VNnJ2-U@8`2#w;S#W<7OalBt4CHF^|#@wptxm71~E5aeJe!!>-R4bSNus*F07& zN@vHL7ne=Sc6^?G+@Th$vK=PJN*wHml<~WrAAujA7$_elRj!@`mXU|2D2j(Z{H9E% zHwBMl>qZY9hacuw@qMHevCLv7l9W>n&a&cV)3?&(x_rRN`6C&WmPM)wkZ>-Y_38Fk zyvKKI#*ea;`_5E>%i*uNq|U{RF3-!=&wf}9T=_HW=Z#WG>z}EA-qOqj&+oNAHRNr( zwa^2divy44z^Ss4HS|fxf|$z#uy^=>(tm&Q#R}T?nu12DMo1KZrVeC9_urR;m(*h! z^EE*iZL>gF5QL=;;#GqO>pL_DxFc)={lMw*4!R-OvA+Ir$Sg=g?N>4d*q;hy-=I7S zgq!QaR)aLA2j|Sj3PNb)g+0;BI}4qsIynJlVgE4+6CYwH6;amLq!AL{cl!rjwEwWQ zM^Fn5(J&{yC6_!ZJiLd1APO1Q4u_(O9UXbMln^O6Ebui4iNME9B>{aA`mda|9XtPq zsup%SNuU1B#*Ub5w@hq~b7`YwB1! zB)9}9yJ2dAO2Yey0Q11tetiNTJ8`uT!~8ZeasG%r!Df=$fJ5`1z4jP&kZsQeYWq%N z{JA`0bXvrn5L?_Zn8O_Nn+~KoIpV1Kx!5L7>b)}5mB0Cg0iHhM+6)}g5MjN7TB0|i z{>u3{x%0JRJh}DVNDQbKiz;ys(F^mj_6EPUH3%vRo(=jz6r$CLiPz{5C(F#mxdK2z z`hMAMzMj<#r`sK8O>ZCH7v2>u7QJ79#b5X!;ozPM1S_u}T^*S#zT}m$J!rgU(xWrs zs)zmE%;BkowRB)Rs=&r9dtvEQU=Ys#yx>tU_1}vx`Jm4Yx}`cQC+4 z+m&GWD(u0?K#O9?d^XkfkPCu@ThMO$H$WEN=i%qbD>n?^GuB8eR$!^%6O@+74V}NF zcpI{FOj9^|xyN>|@bnmLQdd8*PQ>=C{2IYPcwdut1X|cN=+f{z&iVQa_P*BzWc=eR z7R4nKxux)NHy-~by!=wc%w+B#9fLaIhyepbiKSv#jCp~)+@Yaw5p|nTFp(Ep6=bSO zm-8=eoTd#62^F=*z;ks@oHA9acuE$cxH4d<(s%pc8WZWTzU=FS!z7Q9 z_5DhF)8_Uyl}sIL3bw?e_|p-TeJKv@A0wKAR<^_iAk1~j(fNYNd~!TUH>~OT=M_W( zHoYOa#@%a+_-nlI+Bi87vVv2rgc#i7IphT{&%_{P~Boehw$Fqlc(d@ z$L6kj7eo99Z87*VaK;m0--)^}BlAsFJwDTXs@&FUMQ%)KaIeQt$}`-+yiJ{b;iG+C zPeP1|qj>kLMpU+J%z+iw=rN7CQ#E>hsgW|Y*>O;u@}{a_SDyeaK@Yy~FviwK4vzN5 z`d0roZ4As|*ckBX@&9SC&@(Zx{h(MB9{7&#=^#iHb%yDQpVP% zj%N6*?DV|6|KAB+)3xJAD_7_df*!@%gc6IwiFP~))nmRg*4*XJ@B)Z~L?{Vh^t)GG z2F9?JgTapmaVI@H2W!h7$GtHZjUEk~?}MvJ5A84$Z991qd5Mc`F^bMbLX6N~6O7-E zs|MX#mj&Lo-E@1M_%du(BOiw^$f!3L_fy&ude4zNx+*V65fbfMh;2Gg!9MI<$8I-m zzt5)TuS&}k3$gD4b)#<^cUg#A(O)|7^ah)FHwn%U6oq&liLJ=&Zgq@^sjByCYd&*d< z0mv$oP*FD8YQkLPtpUp#27e~>o!oa4f_c(9CvW}6OGHAonmyufh1G_wH#-pn_f%m~3J2|IvvmFb zWG{c4;^z3LmMCk)wIb~KC`u`^K7KDiu!D7OdGh~XrKTG<6v`*88U&Ym3wDn#UVOLrwVTVpyA8*4{8MJEHte>Rltos9qO71Vby{&$av zfPjFYAeA)G(B8(u#>7!wU(6Ut_sjarIe^xtbgDpW0c!`~|K1h>+B-N3nd#f(v$D`h z>HklgjpOS;BS$j_O*VQad{#y_d{$O=d^T1Fd=_R7d=@4Kd^Tn#d^R>Fd`1o?d?pSS zd{!oAd=>^Kd=54?e0B!LuP?LqzfgsZ9SrS(wvIOTUt_*RQQ+nMuPgu4@sEdpx$^&( z?Y{&59WSGA^(FKFQ7A=6V=EPWc6z#hh8SBr;?poQGSCV9r_I2~z(yyeZ~G;^shJ}_ z8w=|{VZzh_pNWx9+)>{WXeeN9YH5s5|L;`<1#Mh4X&6}8@o5-YSnwGbSvl|-=$Tmm zBg0piF=oVPqyPWIXZbJu|9d22WM}?D@~?PmvIgeHhX1vmxRt)C@qaY^?bb>%f2RUPVAsZ`O8|!~0W~Wn>)_1V@GR=Rm{Ws#B zXRKOlHCLLwAAaERT?7N(jnXsv8acc|8~=hnk#xNvW}TEeJ2lhRl7}LR1K|)Nb=qT7 zbBnP^!d{*L|1W&Rc75n*al?#Tnx5340RVo&$95^9xJ1G)?0-hhNi$gbG~fXMsL&DY zy}tH&`ELOJ!0_y06;G! z)x$!XEeya9w@`URdSXZv%_Vbs$B}RO$pges?fkeO_i2&lFeB&5CDFLO9Aj`+8xtfUIX>RxB?1L zcWC9Mbca5bk^pbr>aM=Xb~je55bl+i0}9~hq>LG!eSt}?AcU6)TQUa$j3>7~m?lBC zRE(5iHkqt}Dc3EaEVzFuOsqxRW+{>oAQzqH#O8xOmc>Jrw$eltgu&d^4*rF1h^n6I zfM5ZTJ<(VtgI$Ba8m~?V7xX7wMX_!H3;+Sn0{WCH^(2mdO z#1Nj*jtePDK!*YVpwEvUGNSpFEDMr*W#tvbzB`{fGSKT~i_it;jXzEV0HDuAdX&{G z)qbI$u>D-t9M9k~qSE9`$~OLwz?^nA_bO%sVSp~^N|!Zq2b&)pB${CAjcC=|5+wvN ztQY_QW77$VRn1P=q6#8_eJ|zFD|gsLN(bX2R=|lKm$~KS1kHQa9st0{NkG{>LEES( zB0y3HI1c~Rv9etjrrxA)`2hyR1p##Zv6kVkPt^aiL)WHO3~MPJfq@%#i@NHUS%m8n zX&2nLHb5PF#?Du~jnlkGS`q|)x%Pj_4|i;mq-=3)TmjkDw6?VrMSw*Wht{ZChZ$Or z3jiR*@~*9_1I5QuKz*SXPd9=Mx#BI;wJ!FYgH&$yz8L2VSD8?l!*vQg5*LqQv-kxN z+5JA~Y`M(d+!)c`Zd)}+*)dK05BdsNMxXK`f*DeGyakd%U~5R!2f67jP|{OIfA zi1O+o?#V$)DxwFbQvkc}vR~X#bge19R9_K7FJz^Rf1%iHyIU4AWbkEcY^_S*PvjQH z@{F|LS8xk~x;U@=VoLsvFf-$htZmd6KeYcj<*{MXy)=-qza3l*bQ9H%3Vu(ant$4F zq4bMi+}802*<`0cF{+sU@OnakK7Kedk^uTVmP3&~%a_Fg{J0vxxK4FhAq`jpO&UOM z_Wchuzq!QFV7t{^V-^dZFM<%SYyFwlfKopNK>#F((jexiY;89L{Nu@bUywGChQ5?{ zxn^e_{w+S#bX+sXnC?HrG^ijgcwXecbuqy|HLw`(a5}tW4)j(;rWSmWdqzGbXw1K( zt`Y?4J9xFP1Ss2HF}IIX>w!~8hp5&%r~SB`ZX{NuNb5@=mgP49;Mh}DgX>HCUue~D z0qK5^)NMEiHah0UlVoA`1GPQ4aa(|)zWySO`bAH`ME0gNCE(}+NmYZU`yg%O| zwNsjc%R&@(>;C04f2GGT)x9Ex>~6)E5h~@N!}uF+vXf{`2YQtgDA=^HAEqR3LpZ*a z?XN2V>wmd0JCzYjxCi{UWFHMyKp9IsEMEPbZH-^(YhO3^o962{u!_3jgIR>WiRJ1fog?%~DP2&(>1 zOdn^?ujy)a$%gXf&``aJsZhGHVzZs7q}@ZO78r&3k0&Xi{#91BMyexKbod3}_HE6l zD${=`yje1+H1z3l{4*FibAW#TMNbT~jA?F7S)pi&usIz+(5GND)476f!S@x7!4IQ( z*vb^dnQ4hMZpG)X8^A>S4CB^_JLZhWg z@=tgaM5wsOuR`|yk-mB|GRHVDqp?ie|0eHiTRhMG#c$4a*TAtN0Hs+wa!_&vrB><> zs}A0yFTb!2I}HyHzQ5S7v|Ks2e%*ZU>=3n{Ny>V$wgJ5;eQ3JXZD_Ii*t_lDR72~8 zrKSC-t(+{9)#UcH0>bM`U)k!#zlMkF_F68LjtSu2@Kwix$o)ozG^RGXQAmK{fJ=5x<`__`!rVUP8Sg$ZqrRWVh2 zykL z2EO_$YG{5fo~W9z6ZHFfXQ2ZGLC9}*O!6aXRS?aRWhJG?&@d-w|Bi(Jn$`??c?VzL z0ai%X!d5%6X^a>(CVuF1uG=7gB39#}=>JXmLp<%DSdUv&yU=^@`A>bw>3T2*Y^-so zOQ9f5N8pw_XXTWbPA&^lKZ;Z27LU;5Lx0cTbt>mk_1*c%;C%v^y6@5VV4Y6qNX$W6 z(q0x?lSKd!0$z^0KlWA?u6PE<9aHRCQS+j#@RIl(j~&t0eDN!?=52QwWTG}CNeNi< zX;@y5d$dY6u?~xGA{DvZ-~nq(|OYicFkE=U8n}oL%$vPI?y` z-T1M`Sq(&hsv|uqR@igb&})C-0h13RJ|QL5;fl-k+GPZRzb*W@xORdUTaW>&nx$~b;vlCTE zG}J42Ey}=s*~SKErVPB@!@*(uSKJ9g6`ot9`+Eh=FxD0G-S?H41_`$-H{ut~slC|1 ze>}ojM25rv==WjdsX#TW2#)f=aw&q!#@#*;=G)P4w$OpLD+oSfhZRiU@IC_X4l<)} zc|^ftoBNtbKB8u${_aU>3#~u? zI9P5$+L3^~TuDRdZ-1ZSopL!pe56(mP?}{Rd^;?Y4tY?UYg0BDIwRFwHJC-rCvH} ze`N3KixjqUl-GEKP13f`qm^3>3$JlXYrv$oUTOI2&vQot1e)t`1^vUa{*?YuVJ9`P zYW!m+JvdId>9`v4Zv6?O5$vM)^SlnJ2OF0`*Jb;3SV*Ern^xz~uow0Cn!FX+a{nZ! zDOy4+I&R&pLZ1pOpb?JUIw`z<`olOKR-j#j9^p4(9NQ5u;Dn|-KGAu6W~o$to64r$ z6|X0u^rhY2!LCF2GSA64WD*O*92i#t&6Wk)2l`3A)77*uODEZyXkb-WESw&Nk~Y3a zp?4`$wabPzWgf5cSg#9TqZO=OIBNT`b5hN8ws(NLK&w%zews5|IVMyN^5*9g&rZ3) zi6uLBN}R5yNll4ZWVqfv-kW=5~*>PSwyXkwf=ha z`>TBwPZbPO(p*I-8Z1{&&va=!R-cEKdve%TdM!3xR`nilCpGH9U=)yYrdvugFZ9eefzF{ z9#k4N zoviZ9+&XvUVemFq-lYQ{8&>-!$EK>f#*N**A}|*;{8%Bfi6N8Ek9k$52xVdQIiNoo zs^(Dd0VqFd>R@abqe|l6^xOXzN7o$)$J>NSNAwm1(L2#QK@ddmr$r0ybWSfx)DYbv zYV>;QozsaLy`OS==c4x(-~GP-ci-K4XWyBfnP=uf#2-_Vy99_fysT{w*0I_&_ExB> z^{@a~cB!#Vl`=*NnEva}rsIM$qpaq&cC{JWF29I8O=kh^v=jo`^B5E2DBszWujWy4hF%k%B zG(PEy20nAr@)18#!`D52YNswCJdF9nszNq-dOX7?dbC*l{DySf?akh<a)$0NrLd=H7yD7*NyioGFV=9%t=gJI72( zH?tR6mjOoVV7u$#KoKoh5qoO{kOx~P~kU=zf?S;& z&AAaQP414p*zm~1+Z(^1*+tni&_hn!P2(4?&q3f zltrQCG>TZA?(nP9?Ipiv&tGY&{>DpL z9F;pWw+>B&|MtWQc_wF<9%<1CRcMcQs@M>`<4$*yiy)G%gA#p9y6m2Rv%1USbdu6; zT3_>T4ap1i3qTIg=E}v|6JC~Hj$xh;Rd=z6?nwAZq5>QPv}+X$;^nbKTReh2lruMY z67nIRs%dIOJ~+bCle&cBma>P&0PSYJWqXYyt{YxpLw}*upDR1Kmq>m9wplnR*RJ*1 z=fX|{Vsf4}^JmYi3ol;Ns#QP}ULNclm_JS*B?rjNgvlzfw~?B)9W{>|wX6S=KL-6! z%tpKh5!xefvYuQbd7_Se3^+^3mbz$g0oOTBaI8qYOHl^FZj1<&LwXD)~HH{~ZTyZ@<(w`uNTEvjoX zFO=#uFbdAmIeF<>@#@qd&-&VHZ9~{m-}}wU>HIjyo^7S8&!!h8pQNJe7Zmrgdy@lz zv;OFH+oKiwyL^t5x8JVsszMch+2VnuHLTjW4X@As!o#N*O+aBIzrctCtqNhu5MSAE zy7sO4PClz0FB56Q)7@@@F`-!rP*Zn68SgNR(&(XvsUfZv3 zW5^lp3}k)Q&D|7jq58Y{5a!28W)e)$zv!)9eE7@bE&%bDu?67h_-glQ`W-i6H=D9Z z4r!2sk)?aiiW*m-0nn#q*)?uHKOQd62y8$gC9>>4X=c&I|6=+Re=#J%`PY7CB=GFwcGdUcQJj z0W*rJot=FF@+|>Gp>3qbSWo2LVhK2r6zoqCD)|a^g~^{#-x(s!;$J za{j~kw8T59i*#&!+OVD7A28klV@R-?rvjE|*9vwea@u0xPd&OLfbNx@1QH1Dq`~J@ zD1V63|0ucsh(j|JNs;{@Mwoczw#nsT| z%^Hscp;2#nOa(KXp9DTAfv50=@EuD3-reU%zV~*yjoi(GC_T#|?7$9H0F6YkBf(W2 zX$MXPJ=NCE$wlkzXnja@UgEakfI^#skF=r85}EUmMVZ3S)0I;*y))aLN;&(>3qUE? zPkO&H=Bsp-jF-Q zJ*P*=oD>o`FZ0S(0_pc>Ynvasy$0Uet9oG52n3q9#B@c@#K=xLzwWCAzsS4%?Oc?* z6OOeLH-48dj%-?coxiW~_8*9U%MWhuK6sM;1HNB09c11+=@et;@Vnk>Pf8@O0hB`zb79UMsHVfiX`Ne~MPRB9 z3+ia&jeoE&GVFTtpgs!Avsdf5f4Pa~U9X$VEh@cQ9xcX-Mf8{HlC90K2{RB8p0|2g78QOTJ!Xp_H0lzgt=u%?8w?CjwZf2CK=wozUhw(2g4hZF#r8PT8{O%ebv;e#w{qnQ#^{9p zLLJulPA-JEC70_E9dsHrWX+*V6(H(3*y9JnIOYgaewZ5l!G2*Ph1<3+*67f9{c9>| zFN{H@9S(?TG}!yQI>CClmOE%PBPU~x>_`JVjA=E-4QKMsd@wlJhh*cjZZ79R45P>i z-mwft%*{_6?;I~SIn&G@)LWbiE3sH?sG%#?z96cb~O z^H_nu(99$5wTAL(pmZ?mFK{}CGh#W;ZSj@+IY<7Mf6MBA5TPA%`aw?dqxarWtP_^USj+^OaQma-pd*L6hYCuSP_Yu`Z#_?J zeb7)zAf_lGN>yiyYYnfVbCjg%qREF4&t!y(EO!;-YUJs_338VLOLR3t8oGB%6TP)t zsvV)K)SRd{t0~U`W?homr>kRZ?hYiFOJ7>c2@#m}IQNWk;L1zJsAoYnI?xWhnyPs5EHNf~q7#DK4}KnxntZiH2N~0Ku`(;YmI^e}^7ZlkDFaSc zMK4W{{@X3D)Z^q_AS<1I)!B+O-6wrdZPr}#*Zdo@iHLTwH4BQG?kjPz>=OISW5uQ^ zsxI)BzJI!>NePt;=^Oq2QO2~>k-*8)^bJdM8rzvxu}&4vc3+n5$IJSRX&(|mYsbZq z#6qYT?Vo$U=oOTPFfj1X06XWVD7_L{stLv(Wm@r>gWSgsRd@bAsctX464)ZIWFObW zA)KyhRj#m27H=@SXeh16;91+tYx@WbUzwe*x9Ihnc5^Q2!FA-&zv?DdTz%g7^Of^L z9|^tv&ETRMCQ5idqq;Sxo~^X=BcDbrcM&zBf#u(H#rnIYlbi(xI%@x?^bC^(&aKuLDY(8F!cv17WzA=ZW&Pv9#Qu@~_YjY${+Z5Q7C7rm818M33Sea{j zhHzd(Vhz?Xf@d8Uo=NYl3wuWYY)S6n&5qa>_(~PX2_AeVqdp~n*%Ls9EGriBRE4tS?<)f&2WsX!BeDK+V z30pXp(aPpoH|2rfIPWO*b41z1WTOhnmT;A=3_5Da&N3t`lupB*s@XnB{bLyaqKPn6 zfg>n)N^+i%694A>?0WQhwBzi!H;1H~%ldZJGow$InctV}%SQ;Dn455FcUR853Ok)_ zPI*9fIt5%s>$G(9&&1EP9P;bwp(3B4%G8_=-CJ9whdICtG<4lDBjC+NB$*e=hOkG; zw){nh_K1iX`q9>;azHJZXMRl1y?V#`pZvW^t5-qdR!v-sPD~&QGcQ%?R_CylNm`^xDc*X32yGB=u6=_ome6Rde7M7A>(>Tp}*&Azcb6p7CW~ z!E@lB!Ep^eFWR)iaT<2waQ!!WV zv{i+rDy#4l*|ZFmo+sn2k9Qz)^R5e|@6hQU?=a`kGx+)g6%`=d>xUyX&mw#YB_Qkf z=Z$F|18s6I%vH|xYdBty_`!7RPrdM8!Oj>~fZ?|!B_UYMZWk)Q#&l7XXIrtK<^S}h zL^hM=_T6Q?x6L4TG@5Jya=$=~zX1%^A?$_4Ki^`?Du1Px&g0n`=AuYVBh`!9y~Lj$ zKt&a?E_~=p@s)pQ)>jJhy@#1K9QBwb79B=beHP-X#^swAEr31x*QJij8N-%|1k|@t z>mL(sX12CE`ls*Yo-Dp(>Iy%8cggIFubcV%l${e%2~gdcM{dr~Q&3r%*(owRG*MHv z36Eb|eJK98`5on;32ODCj(1hVV+fSYHM!ahfr=iNoLzsJpK zVATI#8O-0Ng1k%Jwb}luy>QZD0>~uGs2*=ocWKgJHKRnaM>(D*+2DC0(#Hq>o{N!D zOE*|sXYOIKSNg^%rud}5=3t&i46yh%>TBY+XSA_W-l~|I8NAgQ@{*Xp@6Fk;t^pgI z7fj3<*!a_ECWX(chb^KxsX?u`wt9F#6>8U06FV@-syy@6cRhILW(rf8dOq$Q9hKX~ zvK;C5S=#)46tdcS`VD-7HKVWfCBpD!SNwQAlT2i_+8aua1wfvNM`qXMJFb}g27O;4 z^puw@oH`)cI{($bSP4}F0`D%~Zr5BmD~=5<)Ut1n)km}|QWX^~aMh)?0nL&+8*mJI z?v@}W6}c5pR3E*htg1l@q;z6Omt>+UH!d9l$(K9u-M*C9X5t}^#p2RM#JgRI^WvkV zdS#&pTVr*Y#KMJZb0k#t1trIr<8&fXeTH(3E2hz$w%EhL>@YnQGJUHWDSgLp?HOU# zeM8T?l>Cv@>Lcn`UKMoUKfT7j91{)3r4ZRNe5U$>IOnw$be0bK@r6FinCd$FT$g;Z z8nDj)aiNSv0H&AD(kAoq!r)b(lJCn2&_#ppMAM#W#npmSt2}4kD;YZ^J`;=!2k`wx z=Tq>z%jA~=xu`k=k)E>7q<6(H+`fR!R1|GMX8x_Y5RtiS7Wfa?G|QHjTcHB%?$)wi z`Qnu>h-b8BuV~o*mM3Zw0YL&9{|(Lf01c`Qo_vZ+q}yYt$a}KQtJ6J{Ieg^OJl2|j z^d}!U2Yaapj}J55gDdzhLF5Qr^)T9P4(Cm)!u8+-RCf;I5y^edt@XC(El+<82LZlOw1yI&dQGOhS%|n;sRJ>#U zJKxj<#!h%8dMRZD3wW-KhyoZv+GR1D&u*$5mhsoi_b5wt?izRD)pC7w?Sxp^b`fg0 z{+dItx3J~vEAjk;R%JH@)clk!eeEBrZtcB6RXpHsN*7sA<3)=1)gRAHC%cMofxA6o z?SqLzMR}ia0|Iho{?}X|>~h=YQ@)AX`uVQre$*V~GejWsml65k9Bx2n+)BckCkaya zcG-_e&?Y5*cUdCj2x5tHrO9!WJ!tG(P{Ol1A8Wzg?2>O)-}PpB>^mzW`yTxr^>BDj%--3G;~gC5)YOW~lyvI^m%U5^kZLYe=e-<|`+q8jD z*==^_LTf<+6*bLUsM?%P+X5B;fC|B;@))@NHp7+aoeP4KZ++f#fwgPz5kp3*;EsCv zjx6@j`=Yg6h2zE75wy96ts{AP4cC^soSfsv`f#LQ{9tfKMa`I>=!C?331^)Dm$5(P z$n{R!PDL!Z;~=7{I~R16n?t5E%fA`i85IVe^LlT5ZjCgCj5n-5HibGnV>~;??Qt&@ zl|OWGKwQ7g-KXbwWpOgABZ4hO)($mZ~n!n^f&*s8vTW<`}UeDh&USz$P{ub>@Pb zNr2%p4&?APFb+FnJ;^NBtAo zx~{kbArgTi|MEic^c{xFves;CU{#-0)nSuKIF8K_#Z`|vPJ}&jN~bFwk1$J4|Dq*x zF(E~sYlnIi7uD?=VGMXoiR^kg#L{t+Buz8h=KC+9v&Nk<+ls0R}M?AXwc3ZaNAc1TmFm~y7 z4NA`WiV8QQTpq5VV@P+dlJkV;m}dT^OFd+z=zJLV{311_Oalswa$RGDMjbQxsMq%` z08LP>O7)9LdrERKV*AbuCW{7!rSXWe=M8k3Oxxt}d;I)M~ zDzTcZ2%PdzY7j}!n%N#SolFff00EvOgA&xGJF9^XqXM7bn*aB+P-1%L==vFoY9DGg z5?n@p)Gh4H@Gdd#*Wot)O)HHrrV67SP`>M&WQ#q?t({@(5c7ZuA08ApBYD`Hy#nHGf>sbw(DvB4v_Y)n3R>9gT!j zZ{N?Toc*!sq3ua|+~cyZU1QvTIi{)&(*Gv~V-*zq$ z_~B#3^FButTSMDn2#2y07SaE1A2=3`S3kH_IMN&IoMjJDt@+>%lb;uX18xWQ>6)H5 z7-;+cmo^D~Q@J6Xz6KbEdx>*N6QI^!UY;tb6i(<=R|1Q_PgITwZ27!k(mG6=0Ms#h zEiH{?^L)pBfjIa%&joUzxW~%{ z%aDP|Ac-~ur_Tm~V@_T1B=z@XB#Rk;6wo{cDAp*$#k6T!p*G3}#Yu^0Z#+Y${PKTG zRV7KSpx1bSuDdE`pBYNb*$PCUX@w2aUjp);r_ zjnZwxd-TwzGAvtWiz-HyD+|!GF%>JB?)C4dVP}p-FlW`vj7H28TBZe~RIU*vP69?; zk6b^rvM-FO-4ilhdg(i~2hN~aEB;(JD;ga4#~jM<>A*k3UjK~u|F@^|^Kbebq>Oi8 zm%aSw8){AiyvvQB23+`h^USSusiHSXiX1)b@1p7-xRMKxc{eFeRQLbGAu5+h1cj?9 z)C>j=ryonL@ze+o8&lfil+U_@TBA#7ske*cWBh;m_0)3*IDx;-=h^-o)PDH`VZee< z4l(I{mBxIZMqpzAc0gFn6)natQ8zdC%V4w^q6Jn*OGkl;p=y^ZYYVMe-;z%w#wRt9 zew5nqURd6r&O+ao8BkPG+>X{_V0&-w8|w>C=zg0kL*%N)+*FpTY^_NQu{X!%5Lwe* zQgt&MxL(i32!+l zik2TUS3asAB}7N;1OKdcDxp(N=514D!ik|$F{=mM9WU%RgH2u`JNGXSbl~o>17YiX z^O7T8ZMHLFGU5yKE^+hIg*vjF{3*k+c+=%Dxu0QD4u{e8{cp<7VI`-zhw+%O6-scm zTpv~L&1>>A7M?k_sI>|9NlIP37>jax5r{+Vw^{jbg~FMoT5bKxW*Z&RHT@0zJ;kTP zi$ka+??fI*1^X?2>!iF}K+rgbtQ_`jN>APHry%L|bkPSCeMc@fASS<8Li0YYS9qGh z>eYw3T5rTco{6buP|8E$+<9{Mjy=~mmJ;mHZ8OPp@~hfadBkaBkXfmthvLsz{rXGq z&1nm?jtc|+h(I2U-ZmMKf4aLH->?-lePGJ!4g|Dl1LODiYvsz_D+bzGoS$QhsXe|F zSu?-ng`?R%D$;V*oo;_k?_u*#D^s}b#dmDc>i!HOXaes18cY{4p!X@YE_6x=U41^)8%$le4e>m(#*K8ah>(!=B$=%F*9s zsrfqgvc80Lg7KoEBzrhTK;@7p_Oj$!RL@!u+vu2@8ll+;T?Zb#gs$=ZJbguj z&4=eKT%kd9PbG?mFMb6o^XAKu4rdX%hW@2B4c|6Iks5T0baPX zq&tIC*-peZz+G(c&oAE`mVr0FP8c`#C=bf#(3PD^a)o)o+@LQee2Y;A3}|?cs@QIO zjJD&?Z~$!1UyrQc@0}u3xpN6b@TeFZG2uQjOlpJux^V8#+}2`*>RpM2?8sv&3grIC zB8nZMitix!sH6eG+0#&A%?DOKy+PqG^VQeCcX z!l^`NU`iG9Sx>Q2g^cc8x*Ko3Qs&Rs1CotoRs`uwD77@dkdAl_3Ykbk*itWA%%`Oh z(&y>nno}s1!gZ|C{bD+R3+gE_p2kn$^1SJvH2u0vWGZ%@4w1&bgavzWqmPl`%98vt z?DbnHm?sZ7{PEzBj~hX{tzbH>bYOZ}CuA<*%U)(M?c_Uc?%NC0+lwhkWGlpkJKLKM z(y>Q8>1)mr(T-D+fX0uzZmj=l&c$H!P?PveKI|jUt)#oMPg$e)UO;60f-j7BokX9e z(F2uLsD7EVn7LHeH_>i*k6LloFv=bxFPp2QzV=!*^x072rG zbW^;a@Vb;_Qg>}$CW)6GaC)fVVKSZ*;s=3m2`Wm_Pu-GWxYy4%Ce| z{Z(9IXz08>76%qee*biv&aaRRxM~pSFBGK5ztB&K^~H{kvpuHy+;-{_rwCrQJT{h5 z!96ku-g|92J;wn)U}UjhHA-j(>bAo_KNUK>9nCGr!|Gr$1YLR{P4YhGJOrFc*FDC1 z{q$1gJ2m;*-Gc6{JnMFU4ws|)$N7ZH7~`P7rQsNeGM3(^pETv6QoQp+qbQDsUKQ~IQ&(<#r;-fW3w%4s{mVvTzrQU5~Y8J7JhE6x(I z=GeM**rzq+a`+^~k_xLS|9G=`N8_uXlUSUy`pFl+3EL-j&{lsMX>SP(q8Lkz&2(Pc zBOGv4EJ8Typg5gzTyAYUnwPz2z&IlM?!PPENQkH{{3$nGoIeV%5I)q_L+kM6+Bb~J zy`UdymoQ>LEb%$)nBIv zmCrZkTJN=Lvpi@=CuDL>>CZ99Z!D~l8o*{afo{Nr*qwXO^Tzjb=vux6Vz>0_j>r$!SJMlP5!~buUqqu2#Z-Ss?55vDK_i@(ecsyv#E3wOTfGZb` zD`K6CSIjW|1z1>j*0p2%UFz(5%S~5mCGU>_TyBX8nlAXax2oohh8UbR7S>hY9y?o8 z#*y|GhfnN;p099kotq0TndyBGsIM$*a}L(tu2}hh0Z2^vt;{*GuI zL_N+D_w!M>F)lu(iEQdUZ}H~O^e^}0&0$08W38m`i+Ok+9lL&Ll9Ha}{(RouWgr|qWu z@%G3Fyrs7m#}cx`Qfjen<{bS`163=)66$$;hjXqZre~g5Vk^ZBq*QcL_Zqu@1ir zIyS1|eA=Ij40Ym=%+cp>#PcxjiVcf5gEJ}eg2kN_;asKV0MC4 z9-%B_lRtY)(pvqUyOcM*$;RTv(czK}^!1VJ@5eLWBjSW@rUQ8yy(5^_p?Lm@s+g^V z+>XhAYjlzH@WXTcA%36oe*LvB;V#SHqB_v#Mh#{;Uge!X-jf2GfBX+tmxtBnepB&^ zqd{B4O6K9_s+2+C*_a+qgz0Y1-|}8M`aQ{Jm3ZK4w%HtWsBTi@vTWD zlCT=*qq5biRXl|{PPkNYckt4sw2dnpVg|~lUScMa7#|bY2e9}uQ2){0ka$v}y5}j5 z*i)w(d^~#lQ^mB{-pOp1=?~t+r0sPQk%%5)6$rioz0&{H_@>eYHvi0JWhsT!tS^7` zXUr#4OVxL1D+hW*IZFc=-!BJo^S4=`MG@okJL&W5V`tzVihIJ)av@nyeSET;U> z+2ZZ8SDhh<;iU)>vIjr!BDE=SDFa3nq<-1DO1ffjpn~4>YuLEk3+gMH3)+#atgOnv zyQ^TS0OduV3PxH#1(_gEpZL|^-v*3nMfw(xpce^q%54k$eeWbh3}Tp%-{6@E>mQey z6sfTM^lO=B7wX&4Ki=6)WpXUc<)hkUIBW;Vg3tQeV+>DMuw_9w=yZ0*gO~1-^=_kW zsgyUZx4&9ZEwB%Qb2K!k?%-#MVV`r#{97GZx;+%(IQw)1d<3`L!6fo(z8a5pa4czv zB>v5X(9!XxX*rOL#*eK=51J=#yTQNOvW-T}M2APqoM(9NwE)l7Ax!u-?2}v<$kLG^ z#?gjm$e89WEn5#R(pFkthpU#?k>g|wXf}Z?aT#yfj`b&0K+4XZ=-FWwo$dOYXP$iv z4mmG49fO-Mq6#X$2Q^)UWmqve+05L~W&{<^qZ?!6%i3-=HD)u>kbvmKXpXUxusC^jRV)UV9QP>Hx$elS2In5M{}GIU$j zh}~mn{A#I5avSV)tuXQ7c`YTSoq2Ydd;PIpi(m#!NLp>8*if$2E| zZ%7s%TMBO~bYi_yTa()GKjtcr3aomuxwknI>g(&`0^;Yf`rnPveu=u0Qsc!zZ1)n= zHH=`rg~qwT?&m4^)XC^ywzxN-r<_iPiV(YK3>24PIn+= z1LS+#H|i&F;pv;Fn}h#Bu;8a{7NN6p^Si$|<4t^rs)@VzFO@$y%{4>#;$Gl$CSC;p z{8z`R0MZ%RYYRlhU1{i^oeWYbPwH(1iXUDkeFlyW%I>@}M5~|&*cp+(ZgRF#Uqgju z`o|~Q#Cea5ha^v&DL+Jg@)Ul}pl|Eq<4E;!!hGZ3CnagJY=)wnsqAfGa(T9O^??U# zvsoQi7fl9wrCM2rj~B5ncm@ps&F~8j0?@?iuld>9?D91hJqMOF?+r5*)rvi!m^?5V zrBu#~18O;o>FYe^?9Yvr5y@5zdOUBZ&z#k1LRn9iTdPn1{X!)}q~-Pb`0;tbi?8L< z9-|yyqbJ+HKS(j(e0GAXdt%ONwC3wJmAUQTfS2H&IpJ9~=<( z<4MTeGVX8g%6JRja>iZpm*`FkHUQOVgYrEwX`M!P$f*BM{LR4= z5&3zWjb!FV>&_&Bo)IonMqr?GPPbk!RhY{Cy=qkD)!?utN$XhR$Ui+)AoaX4fuit?}o8+77tlcVoxLIb!7vOk*Nyp zHVvOG;V6^F_krzLM%m1PhIiY{tiB;*4Ik`uW*tK~gnRML5_L37Xl4MnNgof?*nhV?9DD}{?!=QF(gr>`{a$?n7a^ySDtF8F;JskA zSoZg$N~~NEc|~HjSo|(s#j=jLeifUL6bJQeb_M9(kBYwN(vwXtCo);5GjH(d^rw8> zRt_z5t{>JVNAS8t=nbrR;^yXpwtFptJelf(3t=05tT-fQ(#v0jk`hIjMzag1RUb1{ zJn(Zp@9p$Uo}|4T`bn$2`mfZb+4lJF$BW-Ws}7h?3K6B=?6_Z2w^ zSx00t``~pQ-5u0rBHs5XJkPn>Ff+XdSUBD_KJ_wd?^|;|Pp*B8bgUx0^b-0RWs-Un z3t98aZ#MvzB%Bf{@8F!q*0YV%cYvd>i56pK)`?D?o9*n;H)9N7Wp<7XiVsB3s_HEU zFlzsrI$F4*SFr+86?7JP`fx_+f$3|^^sZ=I^ZNKMG|!gui>+za?bsEUo0F674--O< zj0>Qxq4?*%_d5Grg3?_2ZBl_Q!(9%WAWRi> zv>&g<>kz1`qn&b&4KiKr>qZKXGi-@0COKPqQZ)=E#Bxd(sv}wZqaBUko~XufVD3#b zRONE2?P{SISM1@%B6&R`fYhI$*?P99n(>20!P0qBdUrkOw_+YLTd=sN@Hl|Mv=2y& zp*j!RtiS*F(!488XX10Hn|+i=yzfLJrcSYm{r)$KyGuM$AiJLa_>t#NX)13fO0zUE zxIwdcomUvO7*s-uPmjg5jl$hWKxl}ak| z2o+znRyG8hJZaisa0{*AA>Fqi_Xx3C@bk$CXr62PU?w!u%6<@GcidfYuGqgl68ou= zRaZgWM0*)YTtN4}GTB#KZQ#M)Yy`bFtZBKeWBNJmGC$jf5t~V!FwCs-x!D5W;24&yfWg@q5_ zOXHBT!1_=>J{IIqq#}#D8_wT~Zf2i(Mt=7P#bV^lTMVt*&WzD~dl;_4{IU3h_CQmG za{Tk7(3(FEp~vLF=8BQnpggtbJVc$V)p#a`Dr`Q{Qhg0kKG7c!`f9(o7G=ac8h!u< zO{isX!_H6OZHB4q(C_b!2L_5iuV!N+<fqR}jmG@LN z>;5%*6>9o)mu#G`5_fRZn_} z12$lwc2BGDf4ibp9J#*~<^A=p0U_ELqbkO_p{VsbW+4UPMJPSe^3tv_(E72_@mfVl z1@39cfmS%`gZN2T>UtSs#LbGBg_%R63`Q;F3_h9BPYLcbse+L#phQB|G6GKLq)xIi zIIs2}^s?O0qkOtNWSH=zdMNojlBJ^0vbQnBjb8N@HEhzp3j4&YbM~ydB~SMSN@*ja z5yJ6~!yIh_7wm#JbJ~L~Y!V6V`EojT2;RTM8^=wufyvAJ=^KB5x=0ZzA@H?6LC)~2 zUm{yfFQv7K9}pcCAojOQBb(A6j{ya|9eE4b5*XVQlg&^!|!?ERjvXM!b6`aXFc;$+b zQ{IGcRQaDbSw_EEd=P`^&r!#R{i+hmHP@|lO{r;yoEIN~?v$2-pX$FQ@YCB}gkEh( z)z*oAGJW`Sh*OW5&9M7UTm`Q>o9r?~%0>?zy#bk^C4&9cp=s1XvPf$*#Oomr_E%5m zI@>W5(}~(fX-cdgm8?4*9l!N_-V{KZH7)oY5;@r2^{M{kgDa{OSL6%C{Y=a`@L3N*|gv|aI8-v>Y2#egnxZ*?=B zulUKN>ZsEMfk&Ug@F48SfqSz%sl-k7gH~QdW!4~0@7$5OcJ9~Zk zG?6){2C&%jf?a!dT+Bv|yB7{&dR8(;2d<0pch)KuysWiD&%=s9XgN2@Qf-}=mwb1R z3E|c2-xZ)u`VEHCmOm{Yzu~RdvUUlZ<=o%clRs6>;9fqgX>%~X=laIs5ZSAa{pdD%gKegmsB_ky0`b8avW0RGt$al({Sli5 z_~=JC;w6^zHf026iLM5^tw^E&M|923?bTrE zvDzT4i~Lc~CJuAfkBLLHsApMQDCF{1+2SI>i~l)zF!X7BXqRv}81keecRIB5qQ{uG z!pW0eT9Gx_)erqRCnPOLato6KeKX3hvqm?PQzck6`UZ7F4MO`{0+-<#Ufp5(~wKK|g z!!Rw_W_qJ*+oDRy>W4?3S{lDdrhyqKE&t8g=A1}Tv;LeEy zFDM=o`EIDvNz9*qQ`|cL_E7ObEF-7~mxcNBWGcG9btCIyO-AlXJTC?oex>+JbaPU`goMTqa~MIAv~86GUI<-^A*+ zQ_brvMLn|*zw&5m?5tJeatuPUJUt3S2+EOsq}?p8%Wrl34Z@5maJUiCExXxbwRb=_ z<~D{EPTXXUCGS-=ZMd;G`+rR4QNb0z3U|;+%V>6~dBoh?_znM8bbzA+lcOqq4UYS+%G95f-EMrwsTb6O=ZL7_Xf*tnACxI2Q>U`YWf<6lS}{2bs9!{ z%A(qHSYZu-D|O~jsScA^w0ljZws%9VOR7qU*>p9RLt|7@L?kGXAK8Nf^atg}Cv(hd zdf;L^B&9km?zI(hk6o){F?|kRN&-W!7=_o%gE9A8EC4dBHE%Fnw#TB~*9j?>mHW|T z==t>Opc{1VKb1Y**FpUWGi69h7Q8Z!bpLXF*-1I+u`~vuN@P%ZXA1_J?b#%Ns5DUa zsXGLDBl)Xz5NoGvP$ZsJunmsO{etyoc9uyfG1R1n*X30xzWK4fT*Tw`M?8G%d~A!H z4}o7Ud`vz~Lh8@FJtga;P^%-$7hzz?j7P_d zVca4|8&FrR6&yfGPE^#<(JU=d>R#*l9r+CHEH@tx_^7;xBT9`Nl4QH*9uLrJsswb( zM$9{NK7aQOLHRAyG@!aCL%X_)cl7llayt$Tkx2DQiHBcY96*z%)0LBc6Lh|A-y3eQ z4&{2?GyQELz-i;7TTda+XiyGW=GZbm>rR@Q9hZ}=;q9>NXJYW}lBETR>#uRaAdB%{ zVPkGVVNb9qpH2m=zq2qX^_ZN0#rKWVd@-&ly?fGGlY{W*wt{-6bkWexmg33pUT&MW zQ$(_OYNSKxU?LAsUw<>Tpj-drdbfES*`>S%Ad-bPwScs8{LR@;eJqIKt11W$9&ZTJ@PyipX3)5pytc zL(TN3)G4$)a`Rkco&UE<_te}=W+x2<{R_1(*hdt9iZh60h-jCaY)kH39hP~SSc1e% zMjH})v(47EELYW4*bbnsw1efo^~^DB8tEx^)XT9LnJ&}&=6ak$^!5zDtEabk5haVF zd4t&>Ka=Nfmq8}|@cojJoLBIZp#oHhi&2{?U_P(LpKC$RJ&`FaAI0u-U{&Ljp#N(v zZDlVnYU3&F*@07{%U}pA5p_faZEIz#<|>fL`HjN<^M7u>*|VGD`^swo&r@C<`(uAm zEmKY?p-7N5f@lH7&OAKw*m-0yp$``rI6gg~DuA4(qtNl5KgG0~h0ZOX_?MV5xg4)L z{RNq!_up3S=kCcmu%kcm?1{MR?D&ZWVRvf|y5xA5)6l``EE5={JkF3EuNgf>XtvWq ztcf)mSGse9>jjVEd^L$Ax~AX!lIix{8d+YF7p$qgrMMEROnS@>*3lFkWxa8Y-H!g+ z`K{E+x~U>mH-OT_DbvYZe4nswQvqG(Xqf%ctJI8~C=k~FID~)B^ws0n6X%Y3KEolRF5e$36w0gQY z-S1ahqP#b0Z8k7fj@X=N(7khAcp6k>7zs{LQ_(S~ZO|#ed<;Wea6=qX-rG_I?V72x z^XG`f4Y9%f!Up%NEb8gGAV+aS`BQLmfS?6B`b51zBx}d< z(G7vC3-MP?=vuXPmJZk-I03Je*K1Xx3SK=*MRcAuW}&qPZlmuM1`om)Y{H(7a0M4u zwe-M?T2%>*+xIwEQKy*hk~o^kiZm$iQ8I zL@m@+d>(kN)Wgc~a!(Ct#uw`?hfTeHfpy6r#L9Ro;mH-~^LlH#L8~>fqrHKdPiB24 zT&miu@G!3a2G^z2oD;(7Zyf2*1IR{%zjtOEXfMp_6>h|^ZCN>4n~fq9_R_|nO8ky-<+!nyp?IX|6maSNHxSB zy}=#TA!l*%;Xh2%E;w?J$L!E`Ytnzq=U+*6fQ)l&RG$bD z&<7N>k=I8~H z=`-De_ICIElY&x(u#FXS>Kz;&7-hM6H8QyMFkF>@MVpX-01%ZL;iuSBL*vI!YfoTS z;coek7Jmee{U9J>O`I-N|TOFi`iTyRT`%z=!3E>`0@ z^@J1E5@DU`KjWTcs}jaL@dN%*1)rQG#NNG6>>augQ1r<|(=Ce_-YLi55Pl%gjtMJZ z^^dFdsQs8YK>6=P)pzH`mLe|mTnqyT_WX(Fu$My;;_8Pcg`WpcG%TXp5fCvL6_gic z-q{k{X_b>TiKF(+h}B_8hzwCvu_a6jVC|!F&U(&#h|C4+>)XLh5L~>02<#k8{KV2s zWHuXe=i*G-q7im@nlx8bOod3t( zc}Bw-Mg4wem@)e3oiPleM+8x4hG@}^HcDnhi|AbtqZ1Lm1yQ0Udhao65JZa*A_x)* zf*^><^_I2nx@*0k?z$iE`M966p0@XS&Uwz-`~L$8mN~-3Ife(nVm9mJRL_4!@kRxq zE;oB8#s6@=XCf#d~Z?AnFTS}<4!%$1ci3<(gIbwKAo`Nn4?cFU;^9@Z*(UQ+n zIMB8Cr+Df?|3lDz=2$&#yRcq3`vAY|5Q_&Yl=%85-`=?{KnJTiIPB%p0w-YDHQ+I;VJ( z4+AzHbl4xvyN{+UqxAL?mLZ`ZwjGJNVlOeEO`KYy$9RRLYRF>>wd?l+_KkMjHqIY| zXqK_KS0PJI3p!Lff2Uh*Dc_d+Z%J0i$)%1S(o=p~irL!r{Q@T4cp1Df?r8ea$v8M$ ziSM?n^@(wQTzx+3gIi#g3om|4cLFy%;dVLDHm^E+Gsjv@ilZR->b}*)Mdqg8eVUo0 z&3CFO)3L47PnCn_MVP;gzG?JYmAO@Ct?pCCqCrq!@Rj;p2rvk~P9{J5RqaPlqBlc5 zPBBHlz+xh&=itS}&55e~hws+phCx#Pfz$bZz>##!s(} zWPiN>C;%-uei&Wv5L~+MVcHhdJp%PK|?-?HdnCN9jTH5`?xcshA zTU;pF5S=)F+T>Piprb;Q_Eqf|-&5hLW76%txH3p<_9HP#En91p`j8>7)<)?}*IHFZ zzTNU+tMu&Gy};eH9YnZP^=81`>0$@PPW}Vxk*dxU`f{gm2`qQfoz7cz%jYtIk=cV^ ztGyIT8+JZw`S_)2NUhq0w*j(MYoV zaxN`=V0+FLuZ!@tu;5HpeRL&YaG-BbBit#on`aUDvVlou$i9r%T3+(GLyX*Zhucs0 zFT6Ldak=()wE4W>Sd#jj-*WZ>@=4Zhsf(X(DYIS~cPup5bFp6IC6eXY3gw&mSTHF$ z^Clfr1615<#FuNrO4BrG?8gOO;>!EqLMOE!UcUI7+p>T4Ye5<5g?9PD&+6nT`#UEs zh~-CS^L9ptLCy03>&x>_r0TU`y-fwZRv~UCEKPPG;91;MPv*a(g=>$m*}$MgmK(g1k*6syNBwWmm#XqAW+J(LwMzDOsYM!| zmMFoW#K?7fl&3{YkIl$lyQwuJ^)|fKD%|2pgM~vtmSd$=Nd+yY=Ixi@=vzl=bb9IM z2Cj-PA+3;avHjP$&@h&l=a+S2GRoi|hzDtyoPRK?XK0RdQ?Vo2fx+x$87Qx zj^8@ed=JN&xwJo#sQVmOqpd2U>PnpJ%yi^w-riHHh&#&wd+_Mqc*LrKkc}%B<*{g^x4f&RMo6AvIO+L zKV0vv4|-{F?@HBSa|}eIA7hsQAGu~V5!EIzVZ(7eJ8Rv>l{P2uWK zGm@0aoP{rWYh_SS$74~vwe2pSeKWu_$LWe@y}mLgz{ET6npFzQ3T*S~iPkNfMC)`` zh4TQO%J@>Up`VSYYgH*wa!A4beB+z$m>_NB>LRSI`Zz1}TU{x20&i~y?&A5{SIj3jjjvQ(|y@2dK>-V{kRKTHh?oF^%9Iu5p3Ao)GvN4Cs?+35PBfD%|8Nu zbjyS0aCSl8RpG3ATXI#pOn+;!|19hmC-kSkGK~WtG#T zqZtN(O+;KG{J8W)iLQ2}vhY1<%R1RCL$>yr0vhw9`C{4aV87vlYOPhS)+9f5_`7)e zocu3UezlK#Te^{<)k=Iiw@Yx_SbK2v;2qtiI^_qRbq%qJ~J+4jui`6u(0CN~OH zj_FpZFc}P`u`UInxB2}AjYCb}bLp5782d%Vt>3=mAm1*_*%tV5`qED1zUa?{up2+c zUX8nI`(axk5V)o+0mKD4-e`=dU2&K2-HSa^atQY2wQNveF@ifp9cO4G%}Q2k@} z{>$J+Dz)FOC$Rxytrt7$r(<8IBPj)VYj#57yW?2R-R^xI;+FU=cT=FSK8THttyi^o zWi`XRB;*ULNnJXt`H0b#A8CSz2X3d>=XR=QD33YrO%ZJOae_5ieS_auG56ebR;cbC zn2+tlhUtOz%%Nt8V6&_;ae(buOHiP{du6nC6s+Pe7}EU%w690{o1FQ;R*E|3sFzLt2`=(P-}qLtF1V# z6uYwIU-5!Y{b}?mYWuF1EKyx;I?uNwO(s1pE3%p{6n(3SyFMFx-KF;F%S(R;!R33q z&0pS24q`8uwS;~sD;nL3uv?k;SZR}tv%v!@zkDBqM4o03>>lmqet6K@{k>5#Uy^UTL%;ZzW}ROQ{Q3}nAI{M!oVo8td+K?nbCq?k<&^3El{S-|Xq)zI zc4g8s;88C&SG8AF_}uESwxVU*;`sT`x1JAara*o=&KZx($gkJ?gE$-rUZgSR}-C7xqj4^ffDGeUQf*TiP!uZex? z&W61-V9QhGV;AM?%xg`0rX=Bej<*b&>0DlD9l!-_+#uyR966G6pw0iTF9k7;h3yfg zG16ux6FD}+%&aptce3-%O>(TGDm-@F@D%8n!mp`x# z*{l2@u6Io8T2-j5&gas*k6NJCjG75YskO94$flqEbdk;3Z}@*Ml|vle%c8(F(WUQS zjt*Hb(NsN7n=850{eU}t8$NSKa#RMZTOw6=NNTu9H0M%!jO~m{*|=%=>Pq721>eVc zorlep7ruu{Ji#f$vC5z2T4=cu7a~`}bdYY=Xn2>*YD{)%mw(rxg68sE%hzmsRke>v zo_R(Q3BCE9x_T19QD!bP1uiw}ozYo*p|UAj42B6^MQ06r9Tksfo%5>Otn-)^j1P-{ z9C4=nJAKf12N?5^@_{GmCMA)IzDGO>R%!%MZVS6B6(RH8^_3U*YWm!eVNcqH6<>zP2=0aPOotPgvyj%2`s9(M_e9N*YXsHJ^tCxtbCNa2>N%hOeM(k z$wLh7D_^^x)YKM- zE+r4LynYBktz1UQ2V+&Rx&<|j1AaG_mvnRI(`0n71sEP{;Z@R$?wd=a(%dfRC+x3p zwY*Sit2<-8@(vOz8StX~*TeZswgS za;`jd)8Ei7y3;eDVx^8|%u$#2>+VmUn$afSA2w=^R-%jO!i+Dhg@E-^f}4IhG<{o{8G+l3&U=;LfI~#mW2QQd~~Kg&8_BB zW&C?(`Mq(}Coci|KJ6CrEvgdavi>;Q_ zpTFXNnL7RZYhQde>HVdo{c)r1T&pe2C}*Z-1sdRFP}lube>bq7Sw2c$j`(qP4G}it zbo~6NJXAizrqbfIHhbLM<5w1GoC5oD3&+<#fthM2u;(A|oRc@7|59t7IIuvg{K#^6 zJMbZXlant^>A1K~LU7mCl5PG;DeUiyng&h$zSU>BpRa6-1$v+CzX?8IEt2~e7nexR z=DBzam-djVL-?LS{*bhJJ$-n>`>FqCK;0A(zt2T1kh3~F8 zeORh*Smt1Hw0nO4P1#>7UmnT2thBm~816YajnUm>FJsuDo}V`bl|{{4iI)Wjb5C80 zL%JlQ1Vc1W+Ae>ceK~Ai^VL0iS}#PQ7XZZH8T}RwPeL9wU?^jB(&QQaMseD%bhY=> z?b?OnHW&X&Re?UsJ#lzYul)7|!SWs}WvxJO@mwzWX>OgT!S;5Q+L=nx)6LL3)nzg2 z@3Hd1zwOQj%KvEV8P&h+Vp}UbQtG$$Tl3^i+Jg{ZEpO5BKxg!Z^-j9@|D>&Y>?Un5 zZ50H5kbFNc^2@o~J1Y4(Cdhk7tpl0g^v*qRZq(Nba)=Tp>fBEk`xIFF#<8=?(bj=0 z4R?B&AJP=?=%;Gf`>)4pKj)vWb+42!`K466Yk%>?pddBDLqO}su<+juhaP_JKfi<;S$J3bi-7&;9#egI1pi8^laWD^w$M8$AV|Ocsy$!0|OWR zZ(91BUCDU}v|YY?O;ciUw&xN5f>fF+XteBaXV@m$0(=?#*1e!{=WXj9=fTHnEt>2M z-f|CE0dr15i_Ghq_CuH3C5NiVe&VPHUc~4TODzmnh!)$fT&*nbcd;|BR2mXx!q^X7|aSWw4!#2@wM%!UCgFFx2 zR`8!}x*I#c=Vd5t){lDog<#Vry>&Z7cT4T4nFBh*C5@Ck)Ly7xH}+b2%;(ZFFT) zv;0wEqz2PV3$jDbcXFJre~bx>uikS2n9)TtGkTCGbf5NZr4lm;ycRrb^s_hYDyWBC!e3G+q zqTg0JtG`_*%6vW@VPZ%|lKJ)ZNfbQOVVRw`Cno>QeY5?=AkkToE4reMy0@tD-=f}K zN>K^d*_Yu#CK5{7{(OxxZ#)gRTu{S#lQmlXjniMQ2U<5yq)y0wPY(q&j6l87DNQm~ zf@q)qPtLTJ*cZXvSexGg<6FW{eyF~$t$iHm#JgjXB2n}nS#UIFJFfIB^HkZeZp_;J zc8mC$`eMf@c0baxY=Jny_6;(mTSDtMs(g%H4=g@{-z~?cVD^(kf_twz&2AAmCw${KlZlDw!__ zZObC$KH=TWcT?KNu?#jwz{gpkPO@#o@^>kMKZM+f_OgeqGBy6^*YL9>{9`!M{SE@mecbNFB(QGvG)P`D*j0Dg z-JtxifE~$keC95nNe}OQ7dP=ftBy=gnRwaW^n54juu;wo5C;cMtmWdu)*C%ewPe1=*cPjdULu zbVt5DPd^F%W_4(w{>mVjLMdg6TZQb*mwD$g)6Z-kvbx$|v2cAA> zj7gOJzbFZ@=uf8U3O>$wv^hV>aOWfL{%kRG9^Y#T)EmEB z_YpdcqvqGQZZ3fvvorW7d&jLm`G7^Y1h)YMrDbdDOM|+zLR)OtMiRcz0>T>9x|jL5 zCxlmqGdTI{;Mvft{KJV7In$N074zg@w>Sa1+kVdM43FcSEyL1`bB&)ycl)1h`{oT< z(@D~6ORex?3-)9E!-F?G=H2h3H(>>Sh3}M4Rut>%13m4@+P}BoW=A`Rj09a1vHOui zpY+3DJOlt)liBJ{*cct2;{OmttJ695`&~LM`qi9{;pbYDcqZ#22ioP&x5`u0Dvpz$ zSG%ovvlsYnyhw7jqfeke+M68*Q9pZk?Xw|U>~p%1i6ocQlT}0h zw)NMr2NM^KlKWqr({o-wd=~PrWZ~rGQ9k=n6ZE&Gfr`6tkBi2@`}<_Cc}zQ+RC>&Q zo%X!mQVUacc0wi>g4>1T)TyWkcE0z9|1wUGcS9JC4oHL&e|y zhEY9QRjEZjIP5bkSEI$_^)0$pu%C&z(Zb-Y$1= z8Ob@f{8qOsC;N{QLO>;XTt^bmQo>j8e|7?V_udy5D)~0!aT)WY@IQM1CfY5(DzDw< zm#7O^U&H;E?SY5t?3vH=yp8v&hnoLoBHpR}5d1U2+Rp2~{J#zV|2B$r@1AxDgmle1 zLw_?#Ua?cI8p^9y)wbK)$3&(2Uh-$J`~P+2bH^WFJ;LmKJ!P$1>HcgXcEv8Qp7*Me z>Z=WJ$*-*nKQX&9uq#(#jOA(DB z7_~dd@zBR>*c&U9noF=f(Y$Bez7e3pm!j=pa!W8vUpPb8(WJwn)mAD;&&l*w>Absq zzJar8$HqyRT9J_pRuRdXq*ZEiAKU3DS72C)bv08gGq16zHh*B&xf#%Nx8BmtTnU*q z;oOXKH}7(6{p8th<6)sxHoqI#ZRcsxwR!S4oP_tXR2E{RjT^N0w(NG2=edHZ`B*8J zTS#P&JNa65Zw0CpPPzEuRD`niE9PANaXn6Lwsi|`0oE$zAKcrPJp!$Jwtk28Ua3~v zs0yywt4L=U-0gm-$Pr~3X7T#I{_iKufGQNeBKWVwNn$$p7?t7FwCykxh;}K zA@tE*wTih_cfg-sQ?J6Mi_@nt8ju`O$4Co^hUu}8Q@>m09;W5 zp-kykq0UPlGf@~g5Err@c(4E>0}@kY8NlcuC$2c)hzDmZKVFY6vdD`O*h99V&%~0d z_au{EhFjO7%;6}LKGj6=BM?*^pLIRiAwtiF!)b9Qn2+M1 zyyO67ja?QdZb_7`>6o_3d6&A#s2`3m;p-?swso>o9P;6$k-lGC14q3T)K>pTd1jQ$9 zCbKM2NwWEjZzh@Kvn=pXV1P_18ARZ^tdsHkmKHQ$`I((c{OXGgc5GYF1BW-929wDZkwc2rd+1}^YeaxT{PYgBRMdu?Z=16UhNpb`-jVbn~D z3H!p{H)&2wFnhF;YR0b;zY%|({wmGG%KEBuT{M&|E}A1X@yo4RHy>uui1=sLWB8YB z7jT)jA`(T}WJ387&Y<$NL(#y+rMo7_rd7&3uAGuH;>v%sHb0xRBYGdvhA zQk7@>BUje82ifN3CDzo7J~FM?zuvqC$U4yGBh6qr=i&l>yhf5vH}3uX6UXz0yR;}g zLJs{`+jrLH_7pERPLG)J#Ed^_0*TL=!XI>po4v``z&k7?W%38l*b3-t-z{?p)7B42 zkfsx6spz#>JB>RiRovIVf5U{~?{4WGY;>Br?Oc>+ek%E(&fE2n=i7%?l*=zn?qQ?Y z>g;p;;crXwkKqx&UKF9K?^><=+}-1jhAPhioMW_U??x5@?zM-LENOwO8kBsitC_&m zKcJ#$O1`ScfK;L!oI;!-%E*Hby`Vy|M$R8?Bog{~inyf@L-0*K1tk}8fla6QV!Y}f z0oJjwH3u+vJt>jQSX-5U935{=htRNOlqG{v$`TaeNtHp*F*azf(rN__25+X3crwZt zAdW$o9=0#!1mc$*RkXS)?>e+5k&;_kg8{EQxPxZ!u8t)db<2KX4o)`SgD3OzQs|vl z#v>q#h}1hU(=$;HV=!dI1O`&qUP(?f(ABY&RVAMiyz#;W9;3q@8=HZq8mt5*D@4*b zoPmMBYOm4zwql!JXG}9L~WO2)#sW@sw5Z7 zLTO0S$yJ^9&!?Z8f9Be1xbNu5gWq;I;+T0%{OL|?)m z=bA8RI&2o2?je!^f3DNyB*Y^g1@cbQ!>n{fSyIVWwO1`AN_H+vum-TF(*37Tf?DJG z$0DEi-G|}$Me~g|gx{bN~GW5&ub%GzSHF)px{m%+%1z#`~2$~QI(U0vDR#XPI+MY<8}Nw{OPOb z57EnLo+Nx4ggx^5+A1e=hGv}wE>2d~N5Sr^x;YkCMU5y-M?tRJL+>?KYwCK(B-7%1HSHOV7uXM;tnD7sI#l zzv(jZuj48s#p;UJ=?=&((;9BUH13rG(31tLG!nWoOQTXH&(W*t{nrrCXyiR1c+78E zu*)Ue5Vq3KH1bb)v3>c#n^2cQSgkJcW^c^Xp4VhA(;pv#8TlfaKx|&jDkV^nVdo(7 zWbG)aQEkC4vD}Rt<(9Hz`rZc{Qcr$I2~v-%?hI z;8lr1hP<4~Z&vXF%9(NBB1NC=v!we<(}1THkZ7#V4`oYf=Lg?6*n5@71Ww-jGM;ITef zK+*Uus2*I_Yb6t?A+O1gdTZf-N+aF2<_ajtVu*TF>PLeAh=+gQ@Dou~^Kkt|otNE& zB3xgHw^ZisIU%Edj>7>i(0pD?Z3VDf>m9`+-Ci3$UXG6$<>aH;Zp9~ppZ0thQp*xA zmN^Te=kx~Y|2`V@lGkAH>F#@~`13``Lk4fQHMn$w1Yrwa`p&?QtQpO!QLR77z}bnK z@7|Bv`;uBubNw&rAK$y`=Ep9P@Sd}&iKz`tT0<&K9rO)I#`P`vU#AvYb$mZ+l{YKr zfX+L6@m7lmcT9rLPBH9;E$f|cN%0v1q(i=aFu;ovP)`fkX8=mG0KGVX^*n&Su>s5o zkpCxe|4K%1;}#LdTQ311nIlo!d{at*h?9StkExArlY5zgy{y3X%tQUkKwtxS>OQ32 z9a#MEQzQvIh2yQeMJA8}_QLW0s73;c!Nv7B6p9z-Nm*Y2S@Sx!7o?Idq^hq0qxQu~ zZQ$ykP_is)7>*NUPG65>aV&)y)zM172lAgoA~gW~>9k&(bcD$xOg94z#|-PfMW6;3 zYa$6|;Gzp0DxA)nmX_aDkXQga;GkU76YskZeuYsgf`N(8X^ZKY2$rmCkJ!;fHZ+cj zKu&`XIz$9qF$|&be)@OVnpAl(`x6Ht#8 z=*v_b%g!IfT8w2PFw+rRDM+{I`r}!padiFWoKrX|WGNuxJwrnuq+&%758-SW;NG{) zupa^N_kqiYmEceaV1YTJn$Js|udk7*s1aoE3V@@i(Sq#7SM$#WH@^*C(F2P0P9WTd znn1-8QNn9v!%N6wB2I#*{DfCQTvNCOdlTUGT`*DC7O29*s1NEZ=8ROJ^)W=&v-3_q z6UQU?>Mi*u`W1_~se#%&(yqK~E>tOxkwiLZu@INceMsLV6EXe+rV@a{P)CSzptouH zXP8%8zaXN4hsj{{MI*=nVua&mj5JGSL(WV9Ru=?G2wtCe67>`eh%t&39FI&6f_Ta9 zb08&iEah`1<#{BGmt-^fBkc<B?&aUr1c30DJ;m9E-pU(XI8;5+-SW*$WhL((+f_g3a-) zp2w``1K?PCLaN~PDK5bHl6|0}v?V*noFN6r6tl(B6fWN9gaqWO$=L9D35ug7z)jBu zP$2dxS6-S*VIU9^;mMB?Vf4Z=_9H-jER?A<8~~gk9sy%gVJIHpip(M>{#82s$W_$B zW^aKpvSci=xK(dSySYW(^cPvzFSyE}&isITEna*r4%`$efGUHGatf`c@TJ&rrr8Ss zBfv#d{HxqBnMH=;J=#VrqKKWo_%jdig4vK=q==h_kf6-C%(m?#jE>Uj#{$r!;M!JO zxDcOgAotqQPlO>%_AB>wA#pr}Cj}P~sQ@4}L7E;5k(7k59HgHn0H832nNvh^0#F_L z4O7fsdIE5A>f$%ZzL&=KL@+^23+u{@AH9vy19i2+EIgbvK|ZP^rC#xHIPO(eX> z+?$hcMpL{&#N;UfN7=2I3(SCCO*@71mcSzM2iL zEEga#bJx2LVq6*OZTLw20!7K-;@7Kia$4C6WM4K8Ar2t!@Xq@1R0Rp+p;UbZccr0h zH)Mq1sf5f`1ZfFe>_-5on9ZYUv2sYWbjSUT( zDLB?hW{`J{L|;4*BTDwZMSgAk8OR5Kujb6U4~Pgy+dI(JTdUb)nT&7@!w8OmCaSeA zhjj^O)^}9zJH^w(z*%krMM${UeFz9o-rNQ*w!RrD$}Ek8tusQJ>g3mqb=P5(et$KK z3ryCX0PysCCrbc=qw~56vk?x~Z_d7NO%Q_72MSXjQ6Z&c{G^|8om_|&mw_AR1lD*U zFL#9C%pCPL9P^q2@<=egnIF(1({$*(4hO*hIL^6#EpcOJnRff>CqyU&7d7eodV{@| z2>^>=d3~^cC=w6iYO8~M&=kkh8W>rTfmF%*4j>VGCnc6lDK^|mQvyZwqFz=`2q*yl z@8QfiAHa@(m6?Ubi?4Y_$nQ@`Jvm=dju46(RBs86#F7Ud013Y=ky`*GXW~^*{pLmj z1tOOW@lBkGW?Ty%H<*kYoSTzL~{}RVTnQl69$eX}XLhNRToQ=cC zRh1ZXJMLByQ5L_zb5Wy0aVnx%BgXR=~35ysIiP{MF9D@PR$AHm=?igwC zhfOfye0Uv2HHG8EPyzZ3?H*wH@p7C2cC-i=O3RAd{dlT<94Eq@J_V;;u5)vtg4|6H zSp?%*q#%36DBed8?qC(ZA}1gjln|_@7+TxM|3p*xYbn#zW-M{Q_xL z-XKA7??rIyz94@pB;r%Fy}qL~j(y>&KyDM5m<30H!?Nr+e`=83q;T6~7DB(EL!a{Y zt@0Gl@t~J^bGoRCk4^hcL%eWx2oqr7J3&nw%3Gg+!6itN*j-LTAgiA^38`XaCbX_W zmEwBYZvr`G0TW)6AvA%VH-LQ?Wb5E87?v-ho@I@f9xy|LAEPB6F*5R(dd*R+(}39W zz{TfW5qO5x9a_$O+M*MNH7rN_8>+QGWb1f9+Yn^!oNLXE5xzo&@*+nG0<{JKC`J$w zM+HA;&Ad(dAqz?5FE`Q>>(_%w<9HPw+Toc}IjsSGeo5f*mW5| zj+i6H1mtT7CTxKFwJBgYo^o=UoCrWfD+4K2#~ub)^`PfZ3QEb}=!XJ<;Y|^WRDpAF z5(G?~VYLXO+=dDPtRQ_OEcgwIE*Jh)Drf|{`Y_d}A44IH6lXz>I`WZbuU*|-mO zN7&OXO#mW}KqXVOFkC%Gk7nP6FQ8Je2*T?B{60dPrruhsD5~aa_AFMWP*R4IbQ!XC zDf=eJQQ+u$MZUg=RKZ95MF?7Jb;|ldAwW|!zY8tVn6%CbT4TEhd-kBj%F@eB6@z8) z!ZDR+(r|qM7H%;0f~O&Zq+{@ehF~!gTr5e>VhW7dVi3(o zkVF~tXd&%50C!?Pzw2axD2+c4r0*{ZVGf(Z@&dJ~*gOPK2JH2DA?wDsQ!Fr%ST-1r z4w3;p5A0qx5(0p@LcKLH(~VQ+E$fDUFdMFJ4FoA>tX`bSlEnWf985fLn_}lH)*y>i zpa`UfoDBm2xs}q4ocOrubqHv20P^8E^3O4F?Su``^dJ%g=(`44YnY1^c9k}J8fk_% zvV=NyvtBsyEM6iBe8YtEb;Klqe+gXoOpqkp7xqw)D9b&CV_P&4IOYO(`2&GnANrL+ z%Zre2E93>)+4z4S*Tn&$wvdZZWD(h{7b_1x8q5eSV4e%%f7{(j&%Vdht|FuH=HRT zg_kR|U4TTEQ15PDVqGrH&WRf8FVO|?qalltNWiT*7&~8Ptzd2vIAY2jE1IdZalUIHDgJd+hDSRHqS)KR2Vv_LuVFBbqTC&fB*pVv zK#@75c@j7))lF{LGw*%luX3UKw#K!#+>(yGdMkXS3HYBBFe38=1R=Lz6Dt%Ey!50h z9(@#fC*7NdujtcRKg(*0l~tt0ycZ1@spY6dlV$3D62`0_X6A)4+pjkd9iAco=lt-X zUZ_a;+alxX`V5?w?ShUH9EJY8=|wKdK^v#O&cOcoBLmCh-rENvb8d8FiCU`(?8{Ge zU```Q1`BA~9f{P)<;L8Mh!cFa{yN-gXHwNB-*8=z{l>^4Ws&j5i@>8p*a2Whgyy>g zdy7#aafL-eWWL6>&SHm^i{JK#NxKx%B5$;tq_yiDbwBjfji(=wq+Gn zGmqu>4g!|pha0HR!v*d4|M+U`k@d752Ef3zB*01?aHIwk>f((fA5~K>xld5I{ zqrL3eIZ0E|0+bl9QZZ`OI5#VE;Z(O0z4`$;)Bs%zZ-SA8LVQFu_F?69Fx)k}DxMC~Ijf59es(%6hfWet+<5=iX9^slwDJ%2^GFAyI$)j4LCF zwBr%aI0g0BT>GMk9*Plj!`_Z2|DbQ`x2~x(b(8#cpc0J0V>EX_SOw2k>o~LCNE(^u zDnxy+2E0k7ym;FN4jng8a3^tx%t0iymnj*xEte^4s^@Jre=$j0-i{h@a~(?cw{o}k znTo?&@1L16Lgm44saXQn_q}c>zwiO)AG9A<(d=(v)aBtcn^Mm_e+Ar|5|)`kSe6Lcm}2 zcI*VPFxE03W8UFT;tjj=wH?33Xo@~XC=hw&S@CCzV+uGL5`V$q>MvdP+i^vdrQgr{ z4{RKAIS#3GZmV{r@d2JTR#A8pmU87*^Y5`zj423uXlyx}FUS4@oNPU5QeWBPXy~qK z5(jmAs$AzEv<%#RaN5Pn5y~epDzg53C^g5Vz2)t_vJXN32G@oGp>+^zX&CrOD=jV}w@%*6oB=KpdiFu& z{U)-s+ES+@f}(=yIqKmf#lf#7?Vr+Q4$k>r7YmMu#lCx~#&vqx>D_!gLg{*u#zvEy zbrHiq0G^qQm;zJiwS;|*$pA;B$Wfq9`N{DabbO>TaT=&F1V6_Wl>&RDIKrqAOT$A% z=WjjM)&WHED^R@HVx*sXvZQ-1?w=fQV4Q6-YQwq%wE?8f|su`d*eSvR8G@H_fzv;$I8KrDd?g?ix5Bv zCtZ^?q`2tMgDpS40ra$3*~Z&D(oYS>Pi0{yBS0=D%mXyTUr{7LCpId0m@6fQF4|ZE zCS7WuaW9AAUhWy%1aU2C=!vi6xU6WCbS(LTi>w|=Gd3#LGn=?b3*I;>O0ZGTf5ZJwe=Fp`~D{>m&poL9s2;ZYn!DQ+cedKjk_qYBGyGx`a|rDMIPpiYQ%9&8$4FMv*Vgv>_vx!x-kla>!ujxKQchTKFR%BxGrv8BPOBSsF<}?H=CzUKG z*kk!xb+iK5!ctKV^^7LJeoDA#@hoPq)a#X3nckEQlFB9`6=nrkq6%_>`#g=30{jsl zGH!@9vhb6Ef5gHF_mWX z7>#sF=->vs+*(nCM(zox(h&!dzqmdE&P-1Z8{r=^n&4?1mRLNzl;g`bee7OUc}BPN=rg&PA}8ks}m*SO&1fX6x7 z61YaeIj>S*|0p-0R;Vm>W%{*#-PnErJ2ypNG=|DML$Na^lt&0JqmGVukJgjj;rX$| zxMsC_wcfEtaVh?(N_X!ld@t1@R=7VD0oiy{%e4xAE%qK9Tg z8k%U>j6h7vd*04j#;F?uW%%7a*^-Z(Hin)TI>LdcFon>qmKG|tYTA<vU=txANbV~qn z;aW7xmO|lCA2%C1lpRG?ka&6*{RG(lZG;H(MmGc5@13Df69ALN<=5?0^v6So>DPQN@gaeQ7Wa1EyOZ z&Dl<)4UE%3lo|~Z^JV(#!&SNA>fhpGmgNU&*wiB20Z;e`nKe-OaGFRbz-l-K{zx(y z34nVH>Ve|+r5HzOFd|{Z21c+fBASB{*o=tt9Zj(WMzpI#QXXkETc9}Ss7Gi9LwPB_ zT+opCFe1Kvl5BA%MspKf2=Q%n^H2_oXSooT+^ z?-ylHak<_vdJ|^JPHyR?DSMCN?KkRE0gQ;(aC?I8Yjy~ z#MCd543>7)g%WbEs&mXrTDRQ7kfUpCfHNJ*nLob1fv@Qf(;6F-=E;{0LFO z0f}%!#5EP9VD0w;d#0`V<`$A{t`gJH&W>_@ zOCtpNQ=X!&DZa1-2}Sg*-6R$T57zszGu(`IKy+_IB9{@d-i!ct-+u9iq$x)7Z((<2 zEt=W~W8Dxrr{e&4Am-Ys?qVXb@*(S}ScJ`!aSbjCQ-Q20jqwdcbgK9`Ifhn*EUp?6 zLC}xR*N7{%Oe2xSJwddmLdca7F_etA^AQv~)=BNu(beh`%o;bp4H9KL`r%KWe1nZI zvr}vo>J>+mErd@@ivyr;27+AIN27r|yXeOIj3ge4Q_mrV$p{-nTvu^gJAIB$RC%05Q`4;qQ4 zLG(b!jj_D4J%U-wC=^W=ORf6TTQh#wXv%&GQjABA(39r==Bi0n4Xd|B_3HKwZm{)-~S$Q#nKCl`Q7i0F+ zh0rh7pW@DjL9)|m1EN03Yf6VvK=I`Js-OjK;t-sYN1|`_QEAZNkRXD>eJFA8H3shV zG1uVT21spN+}hu2elaluDPvL}I(Q%s+5t5N4Mxc#^7{+`+czQ26`g6Hk_dOn`l>v~?#$92DG zd-CM#py7^LF8a$G>xMlTh?N%$x)M8BJBvO)yx!|3UD^9Md29&ZJQSni`6x3H-1Sg^ zEj2GW`1wqSxqnem0iO|3Y%|AaEqXN}T|Wf2jIaT6WNWH+Z9JR$>On+yl8waYIoIX_ zHb1h%268yuJR)JKY?o!(O$?vrTuL+VU?;w+x(Vn=)o)TUs-=-L3|V++HckIUqcUrv zw5Y3IJ#o5d5_rC#9A{nqO}A9G#f07sYg0HTD#{aa=K8JXU=KL?lPkZR0eZF)l)uMU zyzFo|2;s83N=aNssq)T2B0xpBhGPdShs#(2Fdk+24?$~j2rY6{yvWAea! zP?Kr*-W*hpyw1JTGsoB}vH>_7{b{LduMr?cj9fJVaB5K>+=1IP*J1v*kR8+!zad;Q z0-W?#r|%fURj%zb4essFxyh)77njmjaew&X;wnQ2=1h8#h+BSnuQEe@kh06!g?XtR zH1D!rAZKL%RVe}bi7~Vs9=IUv)4{rl6!qAKLN@EokghD<_JjE1-9AP%vTLx~Y!j~Q zaXDj4-g&tY96f}TUbB%dOJ0e~WS+eYd+e7ZvR#pi%#z=EG{LY|o3Ey8Ny$b7mnG@8mHjRJRy}yNd^|w3~A93B=2YWf$b( z&RkW}nB)>Dh#|Z14i`?_$s);c4jpXqdimRjC-alozjN#7N-g%QwaFMZKFP-n4nM9l z0t*l5eb&T4+@Tis>GElb3(qTCu^6S)26Wmp@%?2$R}vywS@uN3?Jmbq0y^lH1Oai= zgegMHkkFD}sLjFUjJzwP&vT|=9>ITzu~pLoBQxO*DaFI^qzMw@Vq777vHHsGqAy+v zt1WN>l&BTHy%a7n+$~V;5o-dn_> zEeQ3PDNcymw$W&?0CpeB*sfGcR|WBD>0!NZv!IMOE?uvnW}9*SLqyZaJ3fbmY@W$X z*@IcZcN=oi^rOl2=~7r$7yg^FB{zpraTYEKkM5vFdQ_37x{wCX;IJ4*-5&V(LcCgs zONKH&S2ZWZnC({n)_Q)%c7xP!!9^w3>bKIg@UgTajI4iinTkFj167m2G1dR(2HU1B z=YHyF1?bqc=g-*bk4}vR-@fdPRKUtA+CBJUz)LM{xO~g=_|sI%Ub}M zA8&sdE&#|$%a6I_#%HxJ+(W;Qm_&%n)1R+|EJU!!5M7$i_j02sZI>kN zq&km}nKj}sF51f-11{a>Mx+uRSZOSll7I60HT&LPGf%py`vho~b}?i-_Y|v~fBL|F zP368|G4f8f6!lp0X}f2TBhNe-5PL#O3?oI{oSMV<`cRi|+f#H%#MAEn#ckQq#8~mO zOXp=0PrN5h4cmVjEPDS^l3ClY*;w{8hueJ?V`R`lAC+(R=F>tOX4mi?`}7()9qi~* z8VHfVklrKgN-*7(zVOQ-$zDh5U0TFbre@4unq-+FAtVqaizn2i`&i)eGdo3^*&N^b znq1$gN9kR0PNs+aqaXc(<{=LjEEm|L0O_bW#|M?bPM?on=E_b&IUV{zYR zIjB1xX`pzVWBFG`McsYBhi+k>4LUic=j`F}=;L(%HKX^=jWl}9U-Eh_!eCEF#Acpi zzyBxd`5=vWXGh`3Y6EIQ&@17`6{3N^*&QPBqaPGYds#`-j;dcvRu~`7GIcOc&z@OY zUR<<|aedqTvt|9fF1vl!s$evzEotJV4P|$N^Cywd`RIK+&`%?l&j3prhQnT}&$o3Q z!tY6N7L7P}cp04@{J@hMpvH?(kF%>%C_jHwuWiMpFTs|OjX}W&J-B6`A-n?*-Uv7KqcyED@eh7BPw}&IJ#7{c%$}wmee_(VfNYt` z+n<%l*4^B@Lj-IAI2iL_*K zfd8abC!*}=llh)+e}QAg_)!eCO1~HnqM)6?$KuC6Tbez9zas?@8-I@z#==7*%VDfNN z-n5_jNRCM(ao+7^QAkYAK6v~~J+K+kyC3x;fsqh`pR;FX zHML|eTUl_}vhZKhWy?W5@^X4U8u)H`)b4bpi#*7D2feV515djz>b}z3O;5-Z_KeTp zpcr|SIkUgn*YpJYjt%7nF4B55({mr>Z_o?a7UcpVhxDTdBwOkmj6Gr;8-hKAw}Z{7 zlIxN+_hYRas3C*-=hTuj_WI7JsL?-$9ZX4Fp0(tsyFo^y@QOBYFNn^$`;Cp z83vMCoA-eFGE6Z63yGc8=M9^AYEd~T@j(Q~s0aN(Da*yNI7}RPDLum}7cz5<-(h7t z+Ul7tH6}?)U+c+cKc)IKT6OW}F9&I{#!2i{P{%SjqAQR(>Cz7)l{-BQcwN9_P0Ntw zZ|}{b%%<5_$-zqu6zp%nTdbu|O_QjzE6@=4!Nb@-nsCg@9^c&JY|Q@3_YRXB?7Y6T z4k$H{JX(qiW``Q9Fu)k?*Ukw^@LkdGFGY$21^mWoDg8U4wsb_l*$S&awZb6#(OnGl zw>NeWNn;4ka>gpmk*)~4KGKT<@B4(4^8NJMkle}~5>D?~f!;~JJz+YWp`R2<$i7!i zXpT5Xz@^wQ1m~AzT{K4wcI(y(K6^5)%$Fu-LSpaTfJ5#_;l1J3OrFdnm~9=jXC{;z zv!%fAF9`^K=rHr=0#G4Ei%vh6GPUQzlU#EZ0dwj3D#C-_a?ewxmIQnDiYl>XKonDEq0Ksf zZv!BTp7YV)Ql#rsGXpIlYx581DQD=xA<35{?yX%i_a_B-Ek(MpCQ4m7SaVK-n)As|0UL zx`}y6pGMH;{DM?04MKbro;cni!PN!@Q>m3oXnCZj3VH+{lN$A z<&bFS+5U>l#upP z(?YV1|L?@ua-;tpWF_Z=YPQ0WOuHbG;z*&KaB!tD1l#rx2%dNet55@ zaUOG8R&iJKp|J2rYkqdsjHW8zP>(X5U)iTf*$TM+xR(ND{P>`EU9ovf%rbKIL_=PF zImgxP`MD6%fmH7SM7!bopmrC%A0w`Xr4nV;aaQ?Tm;Cl3Qs7I?&&(rAQ{0%cm~&)+ zfvM{T`_~5!B0^0%KP3i#%*Zp@nA#xWzE1t5c*!X}$cU)ZaT;4B{dCRmMF1wgDE>?2 z_F0!L+f2guawCi7ukuUL$Z`gjWdBV*D*~e4vY5h|Z?L|VU6-)CL7SPSi`FH1fBF)v za-5QPu5&mn1mnAl7}U}7yp=Nx`-i&%vi-=@D`p3nG5-9@Kf%T?y`O|OS z7wDr5_T)?27pvUJqW=In2GHn%a7gmSA#0(4D%S_&7||VHjd4t{2A#)j$KV!&zpQna zK*>s1@Pjlqr~oQhMIC*DW+Vc%gCx*j7|2S86AZFU<%o{J<+u~xNI?1&!O=x59=gxN zAf{}#L!)4vLKJVl0g?tnTP+oCUkKx_tSEiW84zgLoTh6gXxJ6?77VJvfW9V1eKnj? zQb)C~Y6k%6I67{vySxA;^79Z{!*S)*re*9=Jslj*;GeZD8bb$n7cR{MMs3kszb;l` z&2SB`y^#>jzsQ=|kK&wbQg=NiwkAhtieCZ^ns-*o4~_4J;yoeq01qLWJRL-Rn8Tv2 zMvJ~)t!)Ep7F?(%i)lyoE>7Ce{L!MRPUbm7L4$5*H&W0*zBFZ_%_eHlRNh+Tc_9<9 z!HB}m^J&q_ffu_V*zK;J7=wh5Gqbd4DPqk!cFBGO3y_bS`AvH^rYWG$E(~WuhH?n zmI^e*{u?0G5QY8lG8#<<1}hS=A{*n;pD3OdrUd}$GnD9^VblOx&~O!k)}3l7#A~j} zlZfi!U*iJ^2Odao#94)6P7|F~CoFNgw*z2LH0X8qu%{|0rR6R)htc9ROT`AK!?u>7SqvYE5;v%8=M3Zx zy%4ksr(vx=S*b-+reDo;4iLWCP+Oim54@$0j@v+73=i9wZJTgYL{K>ZYl%N9T4*hl zm@SAZOJFZ`(rZ3wL%)O;FG%_!ddqY7Qe$-TMfUV#mq%Zz7piH(Y4o;ji`AFWDg4DM zy=BUZ&4-(mDq{}bgX}ZP(glk(^5gA;?6jYpCiZ{2zA|1c>`5QuoG?%a5U1Z`K<%iu@_f5)_w(v zzWdFTaZ(oc@guv{<&@Bsh12?K@$L?FM%gQticwb43&XDqE%kFe9deD82~6z{v}iP*w+A z++bz^=Lj#O<9@D0AAo)3t?t@P9GJ|^PQZ(?l+=C)3D~%$mMVDSN%Qoc_Snzxz=|74 zwZ}lB5*<(rm>G!H{3fT?v$c27Tj1^zI7QHai0-k`RN8{yg1>r&YLsTJ3q7C&v&-om zi5i`#;7D~`k8ExPGFhNHpK;gq$#U{z3yumR&|vc+X*fddVrZ03GS51SOTabQM@azD z1|85l%(x4nLFixy*k8}1#K+uPAEQLS)-$g;PgVMNd__B+-#8Ud!A#MH?x9xoazv)+ zofe#$EufwlrK2VRT>{!&$Y}YH@=fXg3R##-i^-?{HgiX5%#) zs-k7-u1*Z-&bkGY7NmUF#Z06Gx!&k3M^I|#3~OOpKGNXM4(dIZ0WnuX(xht zw-`Ut72lg#s1`q>0oD4+QV{|K(#%Ke0-@Ga`me;C&ET*SsttjuLKuiE5FHYowg|+i znTukHH%Ez$DuHq;hQ`}0Zg*ol+T4M$zxokvVpu7 zU@CSv3zX#DA6yhEQh9t*QYBjSV23x_c}z7dkqzEx5M3k@FpN@@=>UYGDW|Rt zTx?&065Y!Km-uSR>u0ShD|T4wX#H?2Dc|j!RlmTXJ4tm|P}LUW)4%-yeS8a-@^g-% zeS=OeH|O%n3%h10bmLX()m+HR;_GM{roG!i1}{*;aE~-k)LJe_fy57|gsKOy_Wht= zw&2cGPO=j!*@aVHiQ4v}@ZRoy4yB7GHtUwYqCS;7)|>!4B|5w45!G$})AuYvpFL_F z^rsr|j075}0XB@g^+KMSU zicUwfxO&^<8vWS=9HGHRjnX8%g(2yVp7hUDJN7r;5De85|vb z66dfKmHIuMxCa#hI+4Gt-hq3)OK6gG496_oBc_?ICs`_%p2GdX)(rrap_U{^CV(l{ z6k0Gs0G_vAO=V?Wp`QFtL#+=m^cuyD_Yk4bNyF|E+eS`2^|_p*Dp@zvWF}gimc=1l zZsZ6tI+{uz_#J^$LA?%ZV6QbCc<)*tnH0S8e0Ca1X+wQ}%=tM=U;W@vXFVd+)&uMe zRsU%@Zr$=?@nz6&v+qqTu9kA#tJT!Ib%TE^{Z2t=BV_b(>+yA0q{BvT88nseW%n(Y z>ECuoHyZredUb=9?szxSbobSCrLzi-8qGeL4A(WtVTz>frn|hOzCxwHuHA^Ex-~5L zjjr#D`}X`tiJQJ9=qWXOFl^d`oc@HPaNUnXzs=swnfB<9?nxv}w%)jQ`}hY(ML2%# zUju0q?vWW&3saFHs*MO$HR$$;ZnFI~yJH@nG{iy9pIhUWBC(yx1|i$DN1s;VM}zRo zCa34{U1Ywc0uHB58PQ+1PvNN2+eB4AwA!|7W7Mg=mR7a|KajcpP`ERFKSVkQ9bf2n zxT{Yeznnb)ODTerWAAOOFy|tn+D1L;G9&3Z^62|hpcykzm$5X4zMV@l_!vhQx{Cj}vZDLSCSx|~55DvoqVQjYXFEKO^K`4xF*@Mv z_6N%Q)jDngT3?Cc{d+Kb0P<&$_%L#4)9$Ay_C4)szToh_qdp4F(NK>H9VGMzQ>%kJ z(+oM9pU}vT6x)guna^KddO>M%yS3Dc{^#~Wu)P(F_}R8pcnw!~5G#LF)V0~D+~}d_ zl~uZT;Bqb&O(@Jko`%o|H|DI=Fd`W@4S3JdeU_Cl^JdJ zp2I)){ai~?`%RXd=tQ^{Eh+znyvp(Y`+%1|I%c+F;??TsqnSL>pS;ciaH|@{yL+<} zMH8fK^G?&#oVi*b9aV1BGao!@mOZ)gCw685t{C}7aAd1@^jc*y6>;5B5$!h(c+!k8 ztwzZQWFI$Q{dnw$!OVpc@4<3hVW;RoN4+a0vB=w z+U>AYpnCkKSH$e8!r8keN=HL8LZZ856JqqIwv&V`>vy^J9bSISkIpRnt2aBYGsQ%F zhZDh|aDzMl%)Nd%ck8x;B_65L^k|`J_4iXe*mcLFsN!y#$^I87RNK3%V|S_f#+7rDZZ-HN!fZ&TYybM{Lf zS+(+}%f4Ntv3B=%#$itH)#Rm9LsV1vowqZ;Pek-yk-;;H>}YFkC^sV&yJ}Heqs9q? z6;zLktr5rXSwyZdz;}e+M^Ajo$UOB-QJ$&d5D{Rm(oqjAOKgOvs&SSb{mraY3YzOL z#@*GEH^Hsk6sXfWUG}J`|9qO4G{A6My3lbgA4z{9$2yb|(T**UyN?i_nRcu6{dIwfwbq{|o0U^CD& zo9y1_>aTImJf8BR(ZVMbLNEzEynzT*+oR$>>Rxdi@EbZa_jWFrZe!o|DC?1p`M?Xjc#=J^4>DlK2MaN4eNR=P(1&tD{pLGQNcOO zk{u@0IK_UcZV~SIf;)};kmZWS?avMp{8vg|`HirSUw61^<2Qk#;GZ9h^NTO@a|w;0 z%4R%n{urlevNMa)q)YS2#abB*e4imZ)M%Hjv@GAfGxh_+!fO*^SK`@SXk(k6{iOjm z0e8{V8s<5a*?bqy==YtJ%$}X<4-M`nd^=eJbACgTCLrLf3I!ng>({d2@d*hS63_KM0$^3g)YCHE}NV_GW@6XI4bzvj9qri(=%^E13WkOlGU zvY{j;%;#3|JuUYHq*bo>T(>yBJE7mOYt^-9?pspdp;sW$ zJ=d;y#-P_T0Ksm)deEex_e5^?8;et;I!HfW0ZE)^bV6_*>D^MP$H~nv<)AHVRLxbP zI{(1;eAb0EKheVp1FIA~Pxj=0xIDHIzn!sk;dY?k2fz`CSQhz1oftBz%M+aG5t4WXGgl1ZjE1`Y>ed=~tW zKAuCCE>Qh1c$C{j3K#h*hu+==`tTHPQToJSN^;Ilz zjK}$`BPo_(&vq@y*$jE;#@8KLlomZ`2IiIfnOt!z2?ceG8r=hS$=5oZf{a)W~I=uy*6iN}v5t2rdw+$0ZPcXbnc#|G;ov~4hwUoHNa=+d!(c9 zq-vwEm3HS{m}!TJU#)tEZVIi&>NJKgGp+F60 zvlCpn%Y_OSQ+>nXgL}36S{!Xi-uw!$g5`}0msv>G`FG&Iej?zG#z@>L-Nu+4 zhtj2a;e6}m5+?a;n{+ZS>BJ}8Nw<#8(4rI~wC91lZXTP%EuC1~e=<-x{*hSvXz97# zPSWl!j>VUBt`_-4FE<-}zmx_;)Zn%*ABW@e2XUaDoAk^x>x21FVr|z(IxeQmw;H3kSH@La!hBxP@80a))bO&p;Y5LhiP^OaKj!lg=5?_%Q-Vf|GgO$BumUW+>Fnz^(7ohlD~U=-+S3t%e#Bdeu(LA=(` z9PpDV>I+w7!mqp|@~m|fA>54)yq@TpNqEhOGr2MRpo9`!4c=b$T=#;Zgt^bH5@+VQ z4U=#0=m(T2EOzZRXnCEJj{h0C)%g@2W8_`|OPkxFd zi1uOjs?ESgEx5ZOX)x8#r+=thKJUMC?dO51jkkdF{~qwV_v?VREQjg;?ZBO3#7$!g zgp+sMVoL9dc6Jt2ukq)W?lHLes2XrdN6dj#EU?NEqVj>N1WA|DUt~3bJ*K+AT`+Dv zTD82fh-)aD0p(79gv?=hP@KwJft+IVi274*?YC3rEr3DP^(Fu=joaw0 zZlb6s%+ysYRE>%18IuARs%iuW`_?M~fZQM)g5Oi1*``jl?5MZuXth=;514AIvK%o` z`xR0T3|xCmLW@w*!WM`AceFQ}-$kTVeE`J!R3v7RV2yVIR5oN=+BO z^1*--91scU_J9)|pU`=V$0)Y3cR5-%X?xIx>H55%kSi3pt{x00c?LgZ5R)^);8l3SFshPwBRZY&@NWofc1Pyi3GVu z4TLO@Kb8|#*GE*VJuag1A>AHmdd-U5IgE?V+3N}rBCODu_91u96U%|}y27$1@4`0b z9;(vm&dCBd&PuQf9$0ps$m1$PQA!V0Kt$sQPLB;^}yX5 zByrixJ&!DC4CS6@qdiuuNc*7@1S+3`=)=HY7#?&8zLU&Od-~psKcoLF-n;TIX-aUBW|mkj?!o0-1TwJX2<$GP7T9Ij{0NKh)wRuS?I$D>v~!D zheYf!R+j9gH?wGS04e>!Z%Ti8mTdHq9u3Hw!?i>;!*bAhwBz6*3^4oxT>nTV;GtU^ z*E|+?k!}>^!$Ulvr-7rr21$PTmTTTSKP=D6jw%L7;$F5zqXr>sDunO1z;dupJaW|w1`(OP z%r^}ra=>M)29ouCwoi%HT#ZcYdjA2C?B|}VDQFU^6hdSb|2dHek1vq8KsWfdzF2eR zMQq!PT~~9uFtC?bU!1=F;>y+FR&);R#)~(%CBB&eV6VEIfw~a3fgCC;-?pATFF|ha zRqkIsrW>?yxHdjJdBHNkYP5vLnf-MWKi@qVFBz&ry3{FQ3_S9^@X#L zP$Jp|`5`9L-*{hw$7$Zq4a!?$*mEsC7QrW^}7g z|0y_~{_OmJ$aIRx5r+64r-Ngulo?*VojHyew#!H0@h7h1dQ>Ad%7b^Mjaa(OG{8ne z(*k*2b(gGkfn}fo+CEYG2k;0kuMJu?1&R)XUI{-2ZADk47eJhCRov8YVdtPDx)s^w z?T8+veaN!GKwXYQHhb|^nI8R%@iryBm*uDS@4D}leJXWduZ_Iq5QN*f>O#5>x6K}< z5UI`*kn-gdIgs^&$GK!o7_Re4Dh85%69|CCzTN!hN93C?Je7j;79REH+rbw_=-jH% zxVX5tX*8<4*A^LMC5C7{IO3|E;JgZi0^Mdwu=UtfSRBR?v|q;Yn#`w z&=cJ~tUT(vYab-5&IVE9PsqWWY|cjjv$+Yl_WL4&5#gj^Y92(wPy60@-S<}qge(m>lYlnR|y21>KjngI5;X!*^!CS0^z zaqtlcs0TK+1wOSKF%{>as_j7L)3YlvQ$5(Jr#e&bbe_+k;qP>(jquYnSKQ?DCqd{q zZD%AF6G>|Z%-nkIXvmnK+(ts-##ifK{jnhFiEOeqp8Wvp8xvD{oq z_&)9>ufjz{m4KMCEdY{HJM?}yd*(kGys5I?I5{CS?-Ho+kcS!+e&IlApyM=#22v5x zGZ7^VcG~yp?Qe;&81|Lyo9dKT+G#<1UJ+V0_A>Q@F7VpTFF*D3(R~uimWO}Yrl*^O z6#vCTaY=5?@QFG^{LS@Vu|evR=uc>w*ILx=2-U^)h2bHAF8k7ixmoYLG2x&OP^fHC zT)kv-pzQzZS@%H=|Ja!eBt^Z>oy-$lKNLy(1($$!?I-5tw$6(YaRfJXPY)o z6t1h9|Cfc?6!kQlRhR8@lb?Y8X68Cw4u$AEdewM*`w(WkRtdN;z>8ILM(VjmYWPAr zH@s+W@!dHp8M%w5IAqdxay#&7k{T#wpM^y=RRth}F>4CKIzzAVJ;2HlJMRc$rr zjhq6lUlf}6_!KlrMiz?QRT2RwFFg8Z3`*6w=P!JN2#V%R9h00Y;L-~bJJwf2~C_hXeHV zg!9qj4*Ulk`!R&x)B7PDik?;+1x-r4UQfBO4CYIK{|6tH)d?Rh{bfl1|KXz&r1s$d z;G@xhRp7F|xDY~9+X8$vaNT9si60L8sx@&F&%PUyJ&s>frEZILc7~)1&V_XUb+dD- zxT*TSZKCL-Z9)&gT2uG|n_bm(`t0*hy)s*$x{jGym*080xyqlWPp5gVe0(%xBHnTS-q@3M-)ycNIdO*_`FsIBy7qiAROiB; z6={{Mo!hUj9zRgaNvf!rIJ+nQ$=tn)WxN+(7T}|sa9)m1j*-in>@=x=f_*NnuV#Jv z@ea9ahL^JR)vuKLty?F1{+<0Fe00x|Z#Mkb17$<6&mDt-G*}o&MdNb}7J8-sgQ?|P z=gsOB2`H3QWjzPzD^ndabMILe=%~+VNO#E7P*RG7b90Ts-Pop;M&0-#lf(vmRMg7u z;J#gyPJcPm)PmWyhu)1C_B921%9D))FthJSX4;SdJ?bNg@=oWpKYc;@*T-!E8B~7 zzrZ~@>wGpZK^R)! z*1CD$nvdGmq*KBj)feG}rYMU|@!A!n5ftqxNsgJyB$c7q%ki&VFn^Oa*q1(kqvZm) z6k&UUp|yy;+*0Oe@nWZ;5vjq6>vb+($LsF+KwyX;JZs*@&!UY{2Uy&U33(GQIZZ0D zWPc+a+&*=cbZ9FL9!G%`J*=86;=AGdUkrSY1ZVgvR3k9EG zQey$Vjzrx4OP}=C#44TF?Vks_LTCPcRaX8;I(KVv3sIEMiW(v%=>X27>Ps!7MqW&oC2)7M~~OplJAd-|?3D&3qXpd zM2bymZfSnmg5fwdik5zs1l{2m^ctDajmX(nx==_L#$I}p6Q#$BF6TOR+<3m9gDovg z`tN`6QK`TV&K)Lu^$7Jh)1a~3SzDNP;bm=nW_&T;9$o`Ap>j(t3TM4hqdu0o;J)+d zNgMkDc0^X^_jx0YFRVvHkmTg}@}wWGAD8G-ap6&Af=#fl=}cpB_yHFNAKDY6X9D6S zdbcHKx@FU2)!6}d7AW?HtnnOS?=uQ>BB!)0gx4yc0=v?bZw}U{`>Un$H}%jO z27os2p5-nx?YILlbwdM(<1kOeAj!aWte!UEFmI-{GWg02QDd@9t4v_k_G7S&|MY~) z`f?vJ=ukZ8;s%K*>wQ8Q^5||@oiPr?e2($T;-hNGMurZFvHb$TU;z(fI9SSuMhv<| zCf`Bp-$r1%+No#ie`PaY(TJ*@F!i)K85bUCG`kX(o%5E-PsHl^;U4+y0$45m`?->N zU)9JMiv|t%o+#m;1)wG~Yhf_+13;b=>qy;q3u`TD>De$Oa;rEp)MN)}uyiF>+=nJ` z&5af5@rzZY-D>fk0HkVFw(WFnVf)e5%gL1uYLCL~aJ#DIfDct8^a?vDCt0?SgVDcF zho+C%u9+=t7&lC#YE3-1JK0B`b_w8#dY8u#4H2;m8GX`^v2)XUpt=DpxK6?5kFyV~iDYK0b40rBD&%gnIkJ3smx@6$p|!`bKyB-D3N!f^ z-q=&?Bi0}`M4I}YI3|!V{uvY)NpBB7Ij0d!%7J z54A|O)zofoi{c#4@5%P?N=q^+@ZD^jI_q4hMDsUGomy5zvc+J&zmdLqoS)5=mVWhH z-urc=G>hc0=s8=QH7YJU7`VeIAcvZD?^6k?m*WAvqE@R9Tn>-<0LkmOEUuejpHUt3 zvfd1JSCx&cMPFgtQ%AD~!Wvdh+F(&M@Ij7;w~>~)O|iFL#Jq?ptPOOgsXi3kodrRL zXpzY?h80lx*1?2y-^ovgcYIRGTab39mkntqSE`&Aaluwg!V)Q}VmDCD!<9YX(;%r=;a|f;L_35@zIs?VLO~+ zKi?sa<`PG}V0mZFQJlzBd9#Q0Y>)By#+`?fUU_!Ii;O69nPthFS9bfZ{l?Uiw;i17 zh0j`Io+&qS2!bQ<0A3oXCVlgybWB<}3^&6?2ngJym9mDz^ch{mq5deocMOTj?b*9Z z2z9XLyoJ0MGs1L!nffkX?J9w;dJ^waB~kv$woCmF-Oh2p9_(i<-=Ig}eul|<0?+(C zkWrlMk5#z*HLgXPeyz15YgJ2FS8ii<`nv)oIIezYH$2qg2a0z6J4@7nIb?tN-Csn_ z%;rOh+#d>Gl|hd5)A_AK;dZYWQUqUz6-PNmy;$=|PpivGiM zKhAINC^Gt4e<+V9T;ca=Mpq5xBIEN-NMJYO*#Cu(O51n*8+BB)1yKGEJ_?$m1JVKz zWDYEC26OBo94Cm_6;$*4Y)+UC?+-+|976w+lhb8{bJWz$L6rUw^mR+sY6#YZC9MHl zmeYj~p~^i7<$lOQ`yDL_O#fok=tfr`hal%IXx|~L-?9~1R5|B&)DJxkCxPK-tYJ_} zuuKV=DrPkD?Vw`LAFv~e_ZI@1Luv>$+%PI9QY`CdBQj1pt;-wv%N)Yu)FxsF%Ff$JndWx*1vaiB`?0wU`BoP7%#vH_$WSS6o^ zaKgRRg%Em`wR97hK50bAWhWP~TZ-ADqlWq0=poB3l23r?uf8x`$#Mqu0+Fsb53zY} z!Hb225G>`#A=p_fl`)k=&aVy7k#pJ@T!NUfwsxU>%6SZSfKOirgXYj>{CePp<&=qW zQ-`Y-u0QaXqePQee{t1Y(8iLAU3Be{)Oy>?h zkbE5UfxramLoiKD{2&DMlyh*8AgMQ;velJ#8kcheV>Tz$T z3lj8T8SfRuXA;G6q^73vN7q2;H#|B#?LsM7zQHQTZ{`FF?u&J`>44Nnm4+&3jVW$28QuX zJ;V%3nCH6t28{9$it1WKRupOgwlS2fU)Z%+>r4AKVeI(9m+QG6XNH~#gW5yDK%cdA zkG*=XDT)Y;_ELWAi2ISW#d+73v~sN_%AiT%Xbwe1AlY3MXWeJ&VXu|>!+cZu- zbr%wqG)jmaT}p?5W+C9cAp8o5#dXWWm%wzewIr9p2mp>`g9%y|03j)9y0s2~)51Y} z?WG`^C>>^7+qyUmM{4~ZGC-Q%j^ID z`@Q?t-PX;vYPEHzBDK42mddu)9hH@0Qducd(YhnuzPHsj6_yi{PziDJIU!DmI9rN1 zA%qYrq3Ae62swW9`F=j1@As46{@CN%bFcU7?z&#r^?p3w*ZX+|PhUL>B(A?bMrlmL z5MSDgV3>QqY%^C`i>4Y!*T8M{7qQ+klV9p-J)65@Cx?N&zp|eLAt1eR}Wa z6MJx$$fjwG*2m^o61y=H4!(0qvW-#E^Xv*>_w7N|ekV<6v|T;WI0AFC=hp0jfqxW8 zJsichW}`F&j<&yx1bAM7fxqN@TC*pgp4nJ$NE+9%^XfP5t|f7-HF%q@5I|I7R&##^ zDJr4?9;jtlP1ms7y_^YmUCuIL27L~>GVoKcyCfX3)swA`R3#xvqx79P+8@$l=E-Bk zGi^?19AV5wE~lJIVIlBZ6KX8Rf%Fx8QDaYyhwGiR72Sc`zH6zoX$A~P(;OQ~H1=+? zy&8jVoNFEHagh6gDAHu`SOAoPxA>CT_`Z(+5+nB7#9u}fGXYpDa8D0L9CX;}2x^+$ zAt#eIpI+I%8Wow6A7l?M+=stDrvM3Rv}RsLE>O&|Bm~7o;IcCj=Dy!SblNS64}J~? z&mioEH@osk$ahRQ=4oqMC*q4^8K@;CqVz=URcZj_BpZTD3hSQ!Hu5*cwhTwznmB3$ zHe?t|B9)t=`Ig~{IGRoDT(;Wy0FCA=ZAJ9cj!8o-wDv)E$L9+|cLmfU_N)iauCXT` zfPp7=Cs|z(kgU0S0$vBO_cs`8+PUpGjF#rWWx_2t+JAhsp6Y5JqX%P-0|3cV#UOsX z{Oc9a>dSsgmSm!dAc2~td-q!~ znnN2D?fs}14l!Od=1*O%*sOI2b?eKQO+Ujv0Jet^CkxnvjdM@6*aOBVXw?07#ldYT z%Z3}}ynV4Mx_op`B;C$o=XOwYuK~tXFIL!dk(l@35ykWm? z;Dts->?wuWzVmwewe-`?&ZM=6+Q>G({`No&9NFTgF7EBOq{Q_zfWS*QQZI~&64RPS ztH8pI6wOAxxN(=ABXE;`=K*Wmx@Gpj0<3^)J{o*VZ0pH$)7R3YIpARbz*;}pDbZYV zG5&$yp$CcID!O0lsl2?Ch2|=TMblaHHhc4=5UiHo4?BLXf3ak>`ybibCw9ym0^2=Z zRThbprng<)_h!PuzfLtJgFZ!aSa6iqeqEBkWtOXbUTB`w1o=<~! zoNUT65ib$Ng0HvAoc00-JkXe=epiE$f1wSf8Z6%5#`_v(PhyX-YKLuVr( zt6e7O$2tn9YP?ojk7}ds*6rT5JqPo*nb+Vb>Cdg*0Jc`il~uOHZ|wL9XtRVq|E z-&z1$D6|7m$cAyEo>|yqnmA){ zC>q!1b*wq&WIx%}?zd7gnbH9{P${Eg>p4vi-{MM5FD}@BB9)53A-|e*`&X*{I2rkcNHXOX??S*Yf4T%RNGba77_N? z?3dyjwrYz*Mq2_8MoyU3#klPWml>}z!|seY8uN3^EAzTL8-CM~k3OGxVD58;W#V@% z^F+$7`zX+BZs;Ew78Kts=qS7nc>4l{@;S2oDlF{_%Y67ql^*6nv$*T&=xFf!ko07b z?X*n@k#eEcH%5M;@d?3RrKnUjVL`>g@m_TEj9oAR+^*Fy z^b)$mmg6{Ys+YamTZeHb7aY(!=));mSQVC{^0lNmAeyao%QNR}urYE(5rL3PDpTU(vnR(jGPxREo&RhvjrT#O?^~cG6#i z-bdG)HnGUUWf{m{O!8N?rfO{Ql!oq&6?HE@-3@?G=w;$}rc-5jlde#kbpDpB7-v48 zvCY2Qsh6rUd6P9W_m2T2oEt!mZX^k&0!;%Wb5pE>1D*O6+!j&RMU(1*x;f$ewWjI| z(l@3}&BQl)Y4^9Ez{l!d#4xKgAV!j)I$|~c+LEQzJ_{JdF<%9<8#4>ay8BY_Xnyz8 z&)D#8?#u1bd{k3Fcu#u|Gd=c0SFKU~K=HZEl^>B8vjPvMoUH79V>|fMP_M-)d`%yu zz@rv%5P5uu0II$XUhlIN1UKVn0-3@sR^5&-Q^DRWy-gVvs%kZ-Oxd!Rf|#4Pn_n?b z)syoSvHk}M)q4J_pQ_hMVUPB#S-G34x$BlE~*IICH~-tUIarpYW8sX*`386Cfp{i?(Mv$q+c}U^x5+(|*Ll zOpqi+SK~ttLQ%;akK{Lrmkieyq2cNJdr?^z#WTUCLB!2O1Ty}n?LXkpnmR+wPa-CH z=|`EJJR*H0^c{W~2S68gvv1eVKvw zSLpYu78ctbglH4;gL9IHfSEE*i7ZJ@4xZ7Gj}lO0@N0-Atd8Jh1nt9l533J^r488pad>*QywU=0=uaIijt@*{pgW zdbb1*sB7n9Y(-uQEz`Ndbwk%kE?1H(lAXjngx=h-s{a&VA?{c|zj~pOrHctx@a!Me z0vHUlaP7U};DjZN9IH217`+8Kwbtb2*WpA1tCOw)RsckV`09@h;nQ zAe-owBnN}*-C`EUf!jz!Xl1Qktt!{2nugMo;SN}3xfLlHC{W>QL!m|=gvPzltJ$`A z)l_EW(WlXA)uC`%NpVcUiDhYbRzk85+2?7Gj4qYEj+Z8pjh-)CeR0Od`n{@AS{vt3 zMm=TqPS=GVB?1lfsl2N}d1)~2%GMTJo3@T3Sd>z4qSX|qFES6TAQfaP+|!Q6$Kj_<7gehbs%Sj4uu_P*a}d z?aj@9K$t;=38@#`>&w7~EK|Y7O+e%xeMN_z9m~!HJe8)~OS{{-F@lWrH~}=~8QaOQ zWFzwpz`C-})}v~clx+hbqun+-+T79HeDLWCP^eg~b$Un!p^!FK(}x#uQ4xMQBAEe` zNv)N4H=DM%8RY9z#Q9!kG$TEpve?{yxo3B5YzTK(pzPo-Q#?M! z2wi=jK5Vc$pzLL2V1}Db%x@fMC=?xZ`i&j9i+uGh1_<_jVl8c<$4lp0kL2xg9`5Q< zYY>8qzCNb0f=XE8-}J5v+pa#ivl~(WX?Nb;bN5soOPB9%wi_Azk~TRRaZ&PARprbo z@5WR>R9_QWOQS_CABZ0;;jeOumivW@;luc1O!&2ldWUE8$z!T#nh5 zp8}@VDg~R5V<6;iZ9z#*{z|lz&Vuj#K-51!73dKMC)<7`q;H`9AuTVu*SWkhU9%!K zK_wc{ZsMQnwANg!O)S4dk^wXyyiB>5bn!wVW;4+UWh0_C@Sbo-o<{4Z8j{7scWVSz zQKIqvE6FI@%~1zLftht;x5}BPM{m>4^H)jj{fv z>cpve(zSY{ey2Ie1ecyKyK{bpX|9~76<-@s_r0F%#9vfRXLM)SkQ)#%u&siO80@j` zI9!w%MKkxFL{XTo71;4?hp_n{Wfu!m%xLL1j&AakT`aA`iQu|ZO+HOLjHPbB*=pBi zTKooWEa9so1!el(_&AOve-i)EhU3~JYe>{2{jafEPeEUVwr`N9M4@waaZ;`kA zrVhg$*xcuwc+JQIIy(N0VKZd%c09fh(-x_)A2ub@LLWB_$2pJayo&i{JTd!@UDpk( zR*nQBZC1>{IIeJxFM>lYM0R-AHZ+4%2(@>~h2ADv97fGPuT*2?$@=Qh0xZ>BF=eFq zoO>bK)I>X1(TCT>5x5!O$w#?W7TkJEZmSiylUSZ}qaLR(A0R5U^m^P7jkn%DD>LL@PLZJDCa@lgM04T2^pjMAzNx>RnsmVk-!j<6ZT!{!HNPDFK zsZdj!jTm9O1fKv6~Z}~4xpS&Ku!4_k39i~4Twf5}>WDN*Cu88{10+0ynMi=A_O5HBOq&= z0ZfiYm_X<->j}e`sZ?Mqp@#$j4m-J|g7P-jiQbbCCP5?2vJjd3IIg9`FM#!l_?L2MdCura0_IqOgN4v69yogk7&ee zE|H`_$6C$aIa@GR8X<2{{jf2{5*_yIb=Rj6zM~3lz~bL_K_uOBQ5ujqeyz`3QDl#G zc8lQaE85l~#y!CY7_7HNZ=AWJ*Ah!|(uj+lX@?}#0*z=|Fiq2tbzP+F%fMgc5BK*zkZ>}u-!T?^ z#qq@@vaML62rL^SU0SD>@b{?4mt#e9A`M`Qizh2MxUMjQFQkGTDBRT4#yFqyP6Ar2 zj}7tWuAXaFYob|wP0v8Y=_o)t+jsP%IJ6R!z)zC=P@hWEtTx4vR`FE{5hDB*ge7`x zp|V57C2hQX&2VY{1!y?+=1!lb#}{xoMSSiAL<;9BXEe^l9op1T~~{ zQ{xAKN_aH!_u*z(J3-cP2r=n@LoZY|NdWun5cLSfc%sY^iJ_qt)5XYf&!4CdfnqXe zyugqnxy%niw_`CXg2KV-s<#R#@>0M2eQ9~30fbrnb-`V~U7}H@$GB(! zs+cP(iBTN_GmfL7BsJOSCuK8Kl+6|8EK@f^(K|G$B~n2%L|Vrct@p2O>Ndm6@23N1 zP3rN?CH)nA792IsQHzz3z4A-_9UfP)(~>VU>Ep{X1EmV7xTSUPMDdBg8c=^r0#hGJ;CVcDZS z7}82ahZt3apy8?O)#IgnYBS(i&pA)5=_Rcwf}ghFt=xPX$1{Y-o7|$unOKx zLfpB9X#*sK!muzHy8m>Az=bQCYt{>oDbkmp43UKq(CcLw@+qD$E&-AO81BketGl8~ zNzA0$ZeD`F5jNF2(D3<)5uOwFEOuhI1X*-R>D^dg!WH#k#hbY5QZzLdfpZ4FejYG0 zQk0nTau?j3Dy{HF-WVf}2oFm{Q9)%r710`v(A=zVQWGa>tTk3t5#l<<+QD~V#~12;L)e2j)v(#Nm>2owz| z^A;doK4pbwXfd@|vvrX;fh=_N+!2$Gs4eONi#$B5#?LlBrJl|yAoQW3wlf&lPv+&k=GuN>J0w;e!sqnL=e7db|}Q6E;a4 zZSJ17*Dcd|ckzQrMZ38oLA70IoLFVPd#;5fyqz;HVjm9HQTC#gK3=pfu!v@E zYDzm57B_%@psbKinM;F|ubi8}@vQL+rz3%qGSAIq09nqm=ss&9wf-9T{6NJTo|;-B z*Dizi+W*n^+qFsj5Jm-d&g14;W5v-LW$u#+>qjiSqN-t=2qrfmp!YA{uY|wQjfz1M zM&&l#2S;lQI?UfZ=F63C%x=ANq9B zoTVBBBl**|&9S<(_>>R=8pKJw2_R%CQCoxK6c|7Sr>((MgO|<{NEpS1;ze>MH%Wu3 zMZe5Ilt(-k*H#6+zW3VLAh;o^`j!Q(SgBDhO90it`9MwXvPx$hboj3dL5PNwwMGO0 zIR96j<`ck$XVFAO#A@8|d~T*`^&p6-At>%XxF4~fd621E|CDtOsySPyy-(KkUyk9 z_ziHJTZvG}2%o0#VX^zONp!qjzGs=6z;e&4AI4(b=8KTXf=p>?FrteqU za})ZNEl9+fTO3Y8fljUYYOZQ&f%@T#Ng`@vub~DPz=Z1f7WcI=*U3{ zg@`tP8O;go#Y6e9XTxyGApd$34{o8G_CkI`REpB+qT24$tZDQ@Ys#_`F8AiyZBpvx$oQaIA+(i z6q!qv?oH-3C!B77Mxx3C8X1-mF0Rj$8i8v^2R=hU(8QsILye27+T!|;b=8fo5N-Vw zU*c}w$VYkcfe$hn&&e^r|1v4Q-gn}T`sg{opOx0n z=zcxWnj7(dlHt$6oR1%R|Ejt2wlwibs$j|upy!sV`+f0ct2DGCYUxiLMuruo zt%`1-u^&SkUF@IXJO}LF+%)9h^o=y@iHuu8=($-WEHS;>%{vWU-29Y8c?Os~t&ALy zm|Cif(#{~>(CRD7<>c5Bqc)tII5_zB)R^%}gA=am7cHfB#{j*BW_uzSh)gq^RmO<*S3;=<6I8Tfb$MF zHHYDvM3LB{z#|#e&GBw>F}UW8d&8t|B-xT zu*jgqR4K+@LJ+BiL=LVri3{!p!@H`49 zkKC=>VkN%GP?ksb#V$J&dDP0>O5=;5JzroDy;RC3{S?oCrp26<94=Z`WSASU=@Q?n{M1IKKhRI@MW(?$#yn^|ejjxs)Gt@xPz*8jj!wgUNa^W&O=7l zFnu?XkZ<4bowinZ{c|?h9`4q}pNh`AlhdNV{^x}rsGBW87PJH$j}(X*ad0f_-*3jN4O<`^HYjLl zF6hd7ZfOHvF~%JubF+qQS3bOLAg<7>##wqMQhVSp&ES- zHMHjOY^TEw)LCWrgI)nqgFsmo+dSf`QBdtbwi>s@;>{xOVA3=4(`KBF9Zrv{9?_GN z<^+twe7dq`SOKXx8IOnC7DzA(9oeMyCxU{I(B9xm8c5@47W~AEGue9VXB3zV$bI+Z(jwa6g=ct13Vf z2NY$|YU#zX)r#SjmVuMDgfU?N54_sDQ;Q)8d{ZUSlSo+aPSVAelCW`}A8Pz8ek2#K zQ5X18I~uA2`!QR4Z5Hx>4rGitXLn^SnV-^wY`8=M5smVNM`8>c2fT9?9mg#tuJkgP zw#^R5GvN(q;&{XHwmL({-6Z;3`M~J$rxM%r{95kMB;Fj(s(X6|qpBI$_kguT>+JNhV;tauFKV>Az zp-jEcbQD^$<-}b3?hwdGqH=~q3mj5(PpfcoZq?%T%cwN1!O}+yAUYEaMg$+<)mbU8 zTnGkjrFrmBaICT}4bsZ3v~dM`V!sSG$DX-BbJ&eVFS1`J>u4IubFcasfGJ}binL_k z(Ar~o-P31#7z1AU6IKIZB-Yepf5tcB!OQv`Yz}FSk@)8{gM1iL(-2w-me2xK+psFs z)G!$l1hf>8mwO>Z)o)!SJyTn$k8{Xc}s}X?55qOcj%2_TTE63U zhoL3>%JbyDLp4uBobdq%t)A_H`S;XDq~9~cZi}?C$v$WghxW48)DP(G^GvyRHN?c7 z{G|TfL33avWX1OS)B8ty2aVakf{CrK8m8uy_dlTU=V=*a)OzuaI)9u|qpMMt(Uw~e zR)wwG=W%$d!v$x*G9-;;;2TI?{BuE0blSd{WAE1--!+UNDDj6f-V-p^O-g4$c>F)! zKRWYc zC}raPX74#9Cj(gYn#lFv;FpJ=m`esIyw}7_(=V)_4izte8j?xfwQB3a)S|7ni>#&0 zu`%-RwK+B^eSP_$ZVR5r7W@X!*D-yR)eT7%z?7LLV%76~l;+(1J8$*&>%oVo-O(D? zd6z^_D3(6n#v>mVplW|JOEP02)UgQKrm)FJ2iiC8*BuLtp<^^G25NYW+MU1Cq-#~@ zrfN6GGSwEN5w!?R|KcS2j9oYHy@3q%HJy|$jOgS|5_mMlFpRAfJK5+WO-!C40c~Yt^q4Z3D zb9y%O1am_@4~qX^ zoc%A{*VjEPWy9LsR4Rk%6YI zDY?|7l(p+N_}Tq+?sq%tx@14Qbj7E?3ASi5z(s)(pR&S?H2lDee-?t z*NfNdG*k1}XKcvv$@jBMOwLS7@zJ%v!|rzeSgLP!@*1Bge$c;Ubie%UQgd^~KJMK#Qgaia_qmW_#Ykol$_Ps>%_V1GB;4a z>r70_%**w&v!l9yx8nXUGdj22|KpeL$A2Qz<AK$d{`tQc`$vq$X8j=N!C?M~v3`{E^8P`N@jt zV*8G<8MCit(0-KjWO>Z;nMq@L(q@e-9p*)!rSCh&o)rg^=0Tf1{+Ki`w)bosbPtBd ztUhA0X!P0jp~Dznv+}INm>#p@)nOh#%6T$p*9=qFle5RO4)gY$m1m|d+#lj)d9fI? zefFlaX+K~;=9#G*&a?YNhtWM}=Tui(x>@eOYE>u4X3frl4*MZCZ>DaVn0+miIlBg# z-b|0#xo7E$VfH-q9rK>$3yVRc&#pHerYoBNwyVQDShHedvDkFxtZ~KC%}oEd&%M}G z`v1)O-~ai)8OzO1T$hoOjnyr?QJI;!RGmR;lzZrgHJMc1Jn_BBU+K%Hvw6B1l@Um1 zFj)ZsEH;-G$kf#vi^ruixir4NFO#NAC!fV+vKf3Po#mnXW`F-?(V3pQwx@r*`_gp< gDO7Kozdtr7H!(Z+pR1P68xNWn*3mI=Nf7q`0o(rJpa1{> literal 0 HcmV?d00001 diff --git a/components/CMakeLists.txt b/components/CMakeLists.txt new file mode 100644 index 0000000..6da7f0a --- /dev/null +++ b/components/CMakeLists.txt @@ -0,0 +1,11 @@ +list(APPEND incs "system/include") + +list(APPEND srcs "system/source/k_kit/k_kit.c") +list(APPEND srcs "system/source/shell/sh_vt100.c") +list(APPEND srcs "system/source/shell/sh_vset.c") +list(APPEND srcs "system/source/shell/sh.c") + +idf_component_register( + INCLUDE_DIRS ${incs} + SRCS ${srcs} +) diff --git a/components/system/include/drivers/chip/misc.h b/components/system/include/drivers/chip/misc.h index e8a486f..1ff12e9 100755 --- a/components/system/include/drivers/chip/misc.h +++ b/components/system/include/drivers/chip/misc.h @@ -21,15 +21,6 @@ void drv_misc_busy_wait(unsigned us); */ unsigned *drv_misc_bitband(void *mem); -/** - * @brief 读取 MCU 身份信息的 MD5 值 - * - * @param out[out] 输出 - * @retval 0 成功 - * @retval -1 失败 - */ -int drv_misc_read_id_md5(unsigned char out[16]); - /** * @brief 设置中断向量地址 * @@ -44,22 +35,6 @@ void drv_misc_set_vector(void *vector); */ void *drv_misc_get_vector(void); -/** - * @brief 根据具体平台,以尽可能快的速度把内存置0 - * - * @param src 内存地址 - * @param len 内存长度 - */ -void mem_reset(void *src, unsigned len); - -/** - * @brief 根据具体平台,以尽可能快的速度复制内存数据 - * - * @param dest[out] 目录内存 - * @param src 源内存 - * @param len 长度 - */ -void mem_cpy(void *dest, const void *src, unsigned len); #ifdef __cplusplus } diff --git a/components/system/include/os/os_work.h b/components/system/include/os/os_work.h index f0ff94d..ecdbafc 100755 --- a/components/system/include/os/os_work.h +++ b/components/system/include/os/os_work.h @@ -48,6 +48,7 @@ typedef struct typedef void (*os_work_fn)(void *arg); +os_state os_work_create_default(os_work_t *work_handle, const char *name, os_work_fn work_route, void *arg, uint8_t sub_prior, os_time_t delay_ms); os_state os_work_create(os_work_t *work_handle, const char *name, os_work_fn work_route, void *arg, uint8_t sub_prior); void os_work_delete(os_work_t *work_handle); diff --git a/components/system/source/k_kit/k_kit.c b/components/system/source/k_kit/k_kit.c index e6c7c4a..c42e0bf 100755 --- a/components/system/source/k_kit/k_kit.c +++ b/components/system/source/k_kit/k_kit.c @@ -194,6 +194,18 @@ #define _DLIST_SET(Value1, Value2) (Value1 = (__list_node_t)Value2) #define _DLIST_GET(Value) ((__dlist_node_t *)(Value)) +#define _TEST_HANDLE(HANDLE, RETURN) \ + if (HANDLE == NULL) \ + { \ + _DBG_WRN(#HANDLE " nul"); \ + RETURN; \ + } \ + if (*(void **)HANDLE == NULL) \ + { \ + _DBG_WRN(#HANDLE " invalid"); \ + RETURN; \ + } + typedef void *__list_node_t; typedef struct @@ -1172,20 +1184,15 @@ static void _k_work_log(void *arg) */ static void _k_work_do_submit(k_work_q_t *work_q_handle, k_work_t *work_handle, k_tick_t timeout, bool wait_forever) { - k_work_handle_t *work = work_handle->hdl; - k_work_q_handle_t *work_q = work_q_handle->hdl; + k_work_handle_t *work; + k_work_q_handle_t *work_q; int resume_flag = 1; - if (work_handle == NULL || work == NULL) - { - _DBG_WRN("work_handle invalid"); - return; - } - if (work_q_handle == NULL || work_q == NULL) - { - _DBG_WRN("work_q_handle invalid"); - return; - } + _TEST_HANDLE(work_q_handle, return); + _TEST_HANDLE(work_handle, return); + + work = work_handle->hdl; + work_q = work_q_handle->hdl; if (wait_forever) { @@ -1294,11 +1301,10 @@ static void _k_timer_end(k_work_q_t *work_q_handle, k_work_handle_t *exec_work) { if (exec_work->obj_flag_auto_del) { - k_work_t work_handle; - - work_handle.hdl = exec_work; - exec_work->work_handle = &work_handle; + k_work_t work_handle = {.hdl = exec_work}; + exec_work->exec_flag = 0; k_work_delete(&work_handle); + exec_work->work_handle = NULL; } else if (exec_work->obj_flag_periodic) { @@ -1368,18 +1374,12 @@ k_tick_t k_work_q_handler(k_work_q_t *work_q_handle) k_work_t *last_work; k_tick_t ret; - if (s_kit_init_struct.malloc == NULL) + if (s_kit_init_struct.malloc == NULL || work_q_handle == NULL || work_q_handle->hdl == NULL) { return -1u; } work_q = work_q_handle->hdl; - - if (work_q == NULL) - { - return -1u; - } - last_work = work_q->curr_work; if (last_work != NULL) @@ -1396,6 +1396,7 @@ k_tick_t k_work_q_handler(k_work_q_t *work_q_handle) exec_work = _k_work_q_handler_take_ready_work(work_q_handle); if (exec_work != NULL) { + uint8_t exec_flag = exec_work->exec_flag; exec_work->exec_flag = 1; if (exec_work->obj_flag_type) @@ -1423,24 +1424,26 @@ k_tick_t k_work_q_handler(k_work_q_t *work_q_handle) } work_q->curr_work = last_work; - if (exec_work->delete_flag == 0) + if (k_work_is_valid(exec_work->work_handle)) { - _ASSERT_FALSE(!k_work_is_valid(exec_work->work_handle), "exec_work->work_handle maybe be deleted"); - - exec_work->exec_flag = 0; - if (exec_work->obj_flag_type == 0 && exec_work->obj_data.mbox_list != NULL) + if (exec_work->delete_flag == 0) { - if (_slist_peek_head(&exec_work->obj_data.mbox_list->mbox_idle) != NULL) + exec_work->exec_flag = exec_flag; + if (exec_work->obj_flag_type == 0 && exec_work->obj_data.mbox_list != NULL) { - _K_DIS_SCHED(); - _k_work_mbox_clr_list(&exec_work->obj_data.mbox_list->mbox_idle); - _K_EN_SCHED(); + if (_slist_peek_head(&exec_work->obj_data.mbox_list->mbox_idle) != NULL) + { + _K_DIS_SCHED(); + _k_work_mbox_clr_list(&exec_work->obj_data.mbox_list->mbox_idle); + _K_EN_SCHED(); + } } } - } - else - { - k_work_delete(exec_work->work_handle); + else + { + exec_work->exec_flag = 0; + k_work_delete(exec_work->work_handle); + } } } } @@ -1558,7 +1561,7 @@ void k_work_q_delete(k_work_q_t *work_q_handle) _ASSERT_FALSE(s_kit_init_struct.malloc == NULL, "Never use 'k_init()' to initialize"); _K_DIS_SCHED(); - if (work_q_handle->hdl != NULL) + if (work_q_handle != NULL && work_q_handle->hdl != NULL) { k_work_q_handle_t *work_q = work_q_handle->hdl; @@ -1659,7 +1662,11 @@ bool k_work_q_is_valid(k_work_q_t *work_q_handle) */ void k_work_hook(k_work_q_t *work_q_handle, k_work_fn hook) { - k_work_q_handle_t *work_q = work_q_handle->hdl; + k_work_q_handle_t *work_q; + + _TEST_HANDLE(work_q_handle, return); + + work_q = work_q_handle->hdl; work_q->hook_entry = hook; } @@ -1671,7 +1678,11 @@ void k_work_hook(k_work_q_t *work_q_handle, k_work_fn hook) */ bool k_work_q_delayed_state(k_work_q_t *work_q_handle) { - k_work_q_handle_t *work_q = work_q_handle->hdl; + k_work_q_handle_t *work_q; + + _TEST_HANDLE(work_q_handle, return _FALSE); + + work_q = work_q_handle->hdl; if (_dlist_peek_head(&work_q->event_list) != NULL) { return _TRUE; @@ -1785,6 +1796,8 @@ void k_work_delete(k_work_t *work_handle) _k_read_curr_handle(&work_q_handle, &work_handle); } + _TEST_HANDLE(work_handle, return); + _K_DIS_SCHED(); k_work_handle_t *work = work_handle->hdl; if (work->exec_flag == 0) @@ -2061,6 +2074,7 @@ void k_work_sleep(k_tick_t delay_ticks) k_work_handle_t *exec_work = _k_work_q_handler_take_ready_work(_WORK->work_q_handle); if (exec_work != NULL) { + uint8_t exec_flag = exec_work->exec_flag; exec_work->exec_flag = 1; if (exec_work->obj_flag_type) @@ -2088,24 +2102,26 @@ void k_work_sleep(k_tick_t delay_ticks) } _WORK_Q->curr_work = work_handle; - if (exec_work->delete_flag == 0) + if (k_work_is_valid(exec_work->work_handle)) { - _ASSERT_FALSE(!k_work_is_valid(exec_work->work_handle), "exec_work->work_handle maybe be deleted"); - - exec_work->exec_flag = 0; - if (exec_work->obj_flag_type == 0 && exec_work->obj_data.mbox_list != NULL) + if (exec_work->delete_flag == 0) { - if (_slist_peek_head(&exec_work->obj_data.mbox_list->mbox_idle) != NULL) + exec_work->exec_flag = exec_flag; + if (exec_work->obj_flag_type == 0 && exec_work->obj_data.mbox_list != NULL) { - _K_DIS_SCHED(); - _k_work_mbox_clr_list(&exec_work->obj_data.mbox_list->mbox_idle); - _K_EN_SCHED(); + if (_slist_peek_head(&exec_work->obj_data.mbox_list->mbox_idle) != NULL) + { + _K_DIS_SCHED(); + _k_work_mbox_clr_list(&exec_work->obj_data.mbox_list->mbox_idle); + _K_EN_SCHED(); + } } } - } - else - { - k_work_delete(exec_work->work_handle); + else + { + exec_work->exec_flag = 0; + k_work_delete(exec_work->work_handle); + } } } } @@ -2159,7 +2175,11 @@ void k_work_sleep(k_tick_t delay_ticks) */ k_work_t *k_get_curr_work_handle(k_work_q_t *work_q_handle) { - k_work_q_handle_t *work_q = work_q_handle->hdl; + k_work_q_handle_t *work_q; + + _TEST_HANDLE(work_q_handle, return NULL); + + work_q = work_q_handle->hdl; return work_q->curr_work; } @@ -2181,9 +2201,10 @@ k_err_t k_work_mbox_create(k_work_t *work_handle) k_work_mb_list_t *mbox_list; _ASSERT_FALSE(s_kit_init_struct.malloc == NULL, "Never use 'k_init()' to initialize"); + _TEST_HANDLE(work_handle, return -1); work = work_handle->hdl; - if (work == NULL || work->obj_flag_type != 0) + if (work->obj_flag_type != 0) { _DBG_WRN("work_handle invalid"); return -1; @@ -2233,13 +2254,9 @@ void k_work_mbox_delete(k_work_t *work_handle) k_work_handle_t *work; _ASSERT_FALSE(s_kit_init_struct.malloc == NULL, "Never use 'k_init()' to initialize"); + _TEST_HANDLE(work_handle, return); work = work_handle->hdl; - if (work == NULL) - { - _DBG_WRN("work_handle invalid"); - return; - } if (work->obj_flag_type != 0) { @@ -2283,13 +2300,9 @@ void *k_work_mbox_alloc(k_work_t *work_handle, size_t size) k_work_mb_handle_t *mbox_data; _ASSERT_FALSE(s_kit_init_struct.malloc == NULL, "Never use 'k_init()' to initialize"); + _TEST_HANDLE(work_handle, return NULL); work = work_handle->hdl; - if (work == NULL) - { - _DBG_WRN("work_handle invalid"); - return NULL; - } if (work->work_q_handle == NULL) { @@ -2339,6 +2352,12 @@ k_err_t k_work_mbox_cancel(void *mbox) k_work_mb_handle_t *mbox_data = &((k_work_mb_handle_t *)mbox)[-1]; k_err_t ret = 0; + if (mbox == NULL) + { + _DBG_WRN("mbox invalid"); + return -1; + } + k_work_handle_t *work = mbox_data->ctrl.work_handle->hdl; if (work == NULL) { @@ -2381,6 +2400,11 @@ k_err_t k_work_mbox_submit(void *mbox) k_work_handle_t *work = mbox_data->ctrl.work_handle->hdl; k_err_t ret = 0; + if (mbox == NULL) + { + _DBG_WRN("mbox invalid"); + return -1; + } if (work == NULL) { _DBG_WRN("work_handle invalid"); @@ -2670,12 +2694,7 @@ k_err_t k_timer_create(k_timer_t *timer_handle, uint8_t priority) { _ASSERT_FALSE(s_kit_init_struct.malloc == NULL, "Never use 'k_init()' to initialize"); - - if (timer_q_handle == NULL || timer_q_handle->hdl == NULL) - { - _DBG_WRN("timer_q_handle invalid"); - return -1; - } + _TEST_HANDLE(timer_q_handle, return -1); if (k_work_create((k_work_t *)timer_handle, "", (k_work_fn)timer_route, arg, priority) == 0) { @@ -2701,6 +2720,7 @@ k_err_t k_timer_create(k_timer_t *timer_handle, void k_timer_delete(k_timer_t *timer_handle) { _ASSERT_FALSE(s_kit_init_struct.malloc == NULL, "Never use 'k_init()' to initialize"); + _TEST_HANDLE(timer_handle, return); if (timer_handle == NULL) { @@ -2758,11 +2778,12 @@ void k_timer_set_period(k_timer_t *timer_handle, bool periodic, k_tick_t period) */ void k_timer_start(k_timer_t *timer_handle, k_tick_t delay_ticks) { - k_work_handle_t *work = timer_handle->hdl; - if (work) - { - _k_work_do_submit(work->work_q_handle, (k_work_t *)timer_handle, _K_PORT->get_sys_ticks() + delay_ticks, _FALSE); - } + k_work_handle_t *work; + + _TEST_HANDLE(timer_handle, return); + + work = timer_handle->hdl; + _k_work_do_submit(work->work_q_handle, (k_work_t *)timer_handle, _K_PORT->get_sys_ticks() + delay_ticks, _FALSE); } /** @@ -2788,6 +2809,8 @@ k_err_t k_timer_newsubmit(k_timer_q_t *timer_q_handle, k_timer_fn timer_route, v { k_timer_t timer_handle; + _TEST_HANDLE(timer_q_handle, return -1); + memset(&timer_handle, 0, sizeof(timer_handle)); if (k_timer_create( @@ -2834,6 +2857,8 @@ void k_timer_cancel(k_timer_q_t *timer_q_handle, k_timer_fn timer_route) { k_work_q_handle_t *work_q; + _TEST_HANDLE(timer_q_handle, return); + _K_DIS_SCHED(); work_q = timer_q_handle->hdl; @@ -3012,7 +3037,11 @@ bool k_timer_is_periodic(k_timer_t *timer_handle) */ k_tick_t k_timer_get_period(k_timer_t *timer_handle) { - k_work_handle_t *work = timer_handle->hdl; + k_work_handle_t *work; + + _TEST_HANDLE(timer_handle, return -1u); + + work = timer_handle->hdl; return work->obj_data.period; } @@ -3075,26 +3104,27 @@ void k_fifo_q_delete(k_fifo_t *fifo_handle) { k_fifo_q_handle_t *fifo_q; + _TEST_HANDLE(fifo_handle, return); + _K_DIS_SCHED(); + fifo_q = fifo_handle->hdl; - if (fifo_q != NULL) + for (;;) { - for (;;) + __slist_node_t *node = _slist_take_head(&fifo_q->list); + if (node == NULL) { - __slist_node_t *node = _slist_take_head(&fifo_q->list); - if (node == NULL) - { - break; - } - else - { - k_fifo_handle_t *fifo_data = _K_CONTAINER_OF(node, k_fifo_handle_t, ctrl.state_node); - _K_PORT->free(fifo_data); - } + break; + } + else + { + k_fifo_handle_t *fifo_data = _K_CONTAINER_OF(node, k_fifo_handle_t, ctrl.state_node); + _K_PORT->free(fifo_data); } - _K_PORT->free(fifo_q); - fifo_handle->hdl = NULL; } + _K_PORT->free(fifo_q); + fifo_handle->hdl = NULL; + _K_EN_SCHED(); } @@ -3108,25 +3138,25 @@ void k_fifo_q_clr(k_fifo_t *fifo_handle) k_fifo_q_handle_t *fifo_q; _ASSERT_FALSE(s_kit_init_struct.malloc == NULL, "Never use 'k_init()' to initialize"); + _TEST_HANDLE(fifo_handle, return); _K_DIS_SCHED(); + fifo_q = fifo_handle->hdl; - if (fifo_q != NULL) + for (;;) { - for (;;) + __slist_node_t *node = _slist_take_head(&fifo_q->list); + if (node == NULL) { - __slist_node_t *node = _slist_take_head(&fifo_q->list); - if (node == NULL) - { - break; - } - else - { - k_fifo_handle_t *fifo_data = _K_CONTAINER_OF(node, k_fifo_handle_t, ctrl.state_node); - _K_PORT->free(fifo_data); - } + break; + } + else + { + k_fifo_handle_t *fifo_data = _K_CONTAINER_OF(node, k_fifo_handle_t, ctrl.state_node); + _K_PORT->free(fifo_data); } } + _K_EN_SCHED(); } @@ -3159,12 +3189,13 @@ bool k_fifo_q_is_valid(k_fifo_t *fifo_handle) */ void k_fifo_q_regist(k_fifo_t *fifo_handle, k_work_t *work_handle, k_tick_t delay_ticks) { - k_fifo_q_handle_t *fifo_q = fifo_handle->hdl; - if (fifo_q != NULL) - { - fifo_q->resume_work = work_handle; - fifo_q->resume_delay = delay_ticks; - } + k_fifo_q_handle_t *fifo_q; + + _TEST_HANDLE(fifo_handle, return); + + fifo_q = fifo_handle->hdl; + fifo_q->resume_work = work_handle; + fifo_q->resume_delay = delay_ticks; } /** @@ -3174,7 +3205,11 @@ void k_fifo_q_regist(k_fifo_t *fifo_handle, k_work_t *work_handle, k_tick_t dela */ void k_fifo_q_unregist(k_fifo_t *fifo_handle) { - k_fifo_q_handle_t *fifo_q = fifo_handle->hdl; + k_fifo_q_handle_t *fifo_q; + + _TEST_HANDLE(fifo_handle, return); + + fifo_q = fifo_handle->hdl; fifo_q->resume_work = NULL; } @@ -3220,6 +3255,11 @@ k_err_t k_fifo_free(void *data) _ASSERT_FALSE(s_kit_init_struct.malloc == NULL, "Never use 'k_init()' to initialize"); + if (data == NULL) + { + _DBG_WRN("data invalid"); + return -1; + } fifo_data = &((k_fifo_handle_t *)data)[-1]; _K_DIS_SCHED(); @@ -3251,17 +3291,22 @@ k_err_t k_fifo_free(void *data) */ k_err_t k_fifo_put(k_fifo_t *fifo_handle, void *data) { - k_fifo_q_handle_t *fifo_q = fifo_handle->hdl; - k_fifo_handle_t *fifo_data = &((k_fifo_handle_t *)data)[-1]; - bool resume_flag = false; + k_fifo_q_handle_t *fifo_q; + k_fifo_handle_t *fifo_data; + bool resume_flag = _FALSE; - if (fifo_q == NULL) + _TEST_HANDLE(fifo_handle, return -1); + + if (data == NULL) { - _DBG_WRN("fifo_handle invalid"); + _DBG_WRN("data invalid"); return -1; } - if (data == NULL || fifo_data->ctrl.free_flag != _K_FIFO_FREE) + fifo_q = fifo_handle->hdl; + fifo_data = &((k_fifo_handle_t *)data)[-1]; + + if (fifo_data->ctrl.free_flag != _K_FIFO_FREE) { _DBG_WRN("fifo_data invalid"); return -1; @@ -3271,7 +3316,7 @@ k_err_t k_fifo_put(k_fifo_t *fifo_handle, void *data) _K_DIS_INT(); if (_slist_peek_head(&fifo_q->list) == NULL) { - resume_flag = true; + resume_flag = _TRUE; } _slist_insert_tail(&fifo_q->list, &fifo_data->ctrl.state_node); _K_EN_INT(); @@ -3292,14 +3337,12 @@ k_err_t k_fifo_put(k_fifo_t *fifo_handle, void *data) */ void *k_fifo_take(k_fifo_t *fifo_handle) { - k_fifo_q_handle_t *fifo_q = fifo_handle->hdl; + k_fifo_q_handle_t *fifo_q; __slist_node_t *node; - if (fifo_q == NULL) - { - _DBG_WRN("fifo_handle invalid"); - return NULL; - } + _TEST_HANDLE(fifo_handle, return NULL); + + fifo_q = fifo_handle->hdl; _K_DIS_INT(); node = _slist_take_head(&fifo_q->list); @@ -3328,10 +3371,7 @@ void *k_fifo_peek_head(k_fifo_t *fifo_handle) k_fifo_q_handle_t *fifo_q; __slist_node_t *node; - if (fifo_handle->hdl == NULL) - { - return NULL; - } + _TEST_HANDLE(fifo_handle, return NULL); fifo_q = fifo_handle->hdl; node = _slist_peek_head(&fifo_q->list); @@ -3357,10 +3397,7 @@ void *k_fifo_peek_tail(k_fifo_t *fifo_handle) k_fifo_q_handle_t *fifo_q; __slist_node_t *node; - if (fifo_handle->hdl == NULL) - { - return NULL; - } + _TEST_HANDLE(fifo_handle, return NULL); fifo_q = fifo_handle->hdl; node = _slist_peek_tail(&fifo_q->list); @@ -3438,6 +3475,8 @@ void k_queue_delete(k_queue_t *queue_handle) { k_queue_handle_t *queue; + _TEST_HANDLE(queue_handle, return); + _K_DIS_SCHED(); queue = queue_handle->hdl; if (queue != NULL) @@ -3459,6 +3498,7 @@ void k_queue_clr(k_queue_t *queue_handle) __slist_node_t *node; _ASSERT_FALSE(s_kit_init_struct.malloc == NULL, "Never use 'k_init()' to initialize"); + _TEST_HANDLE(queue_handle, return); queue = queue_handle->hdl; if (queue != NULL) @@ -3510,12 +3550,13 @@ bool k_queue_is_valid(k_queue_t *queue_handle) */ void k_queue_regist(k_queue_t *queue_handle, k_work_t *work_handle, k_tick_t delay_ticks) { - k_queue_handle_t *queue = queue_handle->hdl; - if (queue != NULL) - { - queue->resume_work = work_handle; - queue->resume_delay = delay_ticks; - } + k_queue_handle_t *queue; + + _TEST_HANDLE(queue_handle, return); + + queue = queue_handle->hdl; + queue->resume_work = work_handle; + queue->resume_delay = delay_ticks; } /** @@ -3525,7 +3566,11 @@ void k_queue_regist(k_queue_t *queue_handle, k_work_t *work_handle, k_tick_t del */ void k_queue_unregist(k_queue_t *queue_handle) { - k_queue_handle_t *queue = queue_handle->hdl; + k_queue_handle_t *queue; + + _TEST_HANDLE(queue_handle, return); + + queue = queue_handle->hdl; queue->resume_work = NULL; } @@ -3588,16 +3633,13 @@ k_err_t k_queue_send(k_queue_t *queue_handle, const void *src) */ void *k_queue_alloc(k_queue_t *queue_handle) { - k_queue_handle_t *queue = queue_handle->hdl; + k_queue_handle_t *queue; __slist_node_t *node; _ASSERT_FALSE(s_kit_init_struct.malloc == NULL, "Never use 'k_init()' to initialize"); + _TEST_HANDLE(queue_handle, return NULL); - if (queue == NULL) - { - _DBG_WRN("queue_handle invalid"); - return NULL; - } + queue = queue_handle->hdl; _K_DIS_INT(); node = _slist_take_head(&queue->list_idle); @@ -3636,19 +3678,21 @@ k_err_t k_queue_free(void *data) } queue_data = &((k_queue_data_t *)data)[-1]; - queue = (k_queue_handle_t *)queue_data->queue_handle->hdl; - if (queue == NULL) + if (queue_data->queue_handle == NULL || queue_data->queue_handle->hdl == NULL) { _DBG_WRN("queue_handle invalid"); return -1; } + if (queue_data->ctrl.free_flag != _K_QUEUE_FREE) { _DBG_WRN("%p was freed", data); return -1; } + queue = (k_queue_handle_t *)queue_data->queue_handle->hdl; + _slist_init_node(&queue_data->ctrl.state_node); _K_DIS_INT(); _slist_insert_font(&queue->list_idle, &queue_data->ctrl.state_node); @@ -3667,7 +3711,7 @@ k_err_t k_queue_put(void *data) { k_queue_data_t *queue_data; k_queue_handle_t *queue; - bool resume_flag = false; + bool resume_flag = _FALSE; if (data == NULL) { @@ -3676,9 +3720,8 @@ k_err_t k_queue_put(void *data) } queue_data = &((k_queue_data_t *)data)[-1]; - queue = (k_queue_handle_t *)queue_data->queue_handle->hdl; - if (queue == NULL) + if (queue_data->queue_handle == NULL || queue_data->queue_handle->hdl == NULL) { _DBG_WRN("queue_handle invalid"); return -1; @@ -3689,11 +3732,13 @@ k_err_t k_queue_put(void *data) return -1; } + queue = (k_queue_handle_t *)queue_data->queue_handle->hdl; + _slist_init_node(&queue_data->ctrl.state_node); _K_DIS_INT(); if (_slist_peek_head(&queue->list_valid) == NULL) { - resume_flag = true; + resume_flag = _TRUE; } _slist_insert_tail(&queue->list_valid, &queue_data->ctrl.state_node); _K_EN_INT(); @@ -3714,14 +3759,12 @@ k_err_t k_queue_put(void *data) */ void *k_queue_take(k_queue_t *queue_handle) { - k_queue_handle_t *queue = queue_handle->hdl; + k_queue_handle_t *queue; __slist_node_t *node; - if (queue == NULL) - { - _DBG_WRN("queue_handle invalid"); - return NULL; - } + _TEST_HANDLE(queue_handle, return NULL); + + queue = queue_handle->hdl; _K_DIS_INT(); node = _slist_take_head(&queue->list_valid); @@ -3750,10 +3793,7 @@ void *k_queue_peek_head(k_queue_t *queue_handle) k_queue_handle_t *queue; __slist_node_t *node; - if (queue_handle == NULL || queue_handle->hdl == NULL) - { - return NULL; - } + _TEST_HANDLE(queue_handle, return NULL); queue = queue_handle->hdl; node = _slist_peek_head(&queue->list_valid); @@ -3779,10 +3819,7 @@ void *k_queue_peek_tail(k_queue_t *queue_handle) k_queue_handle_t *queue; __slist_node_t *node; - if (queue_handle == NULL || queue_handle->hdl == NULL) - { - return NULL; - } + _TEST_HANDLE(queue_handle, return NULL); queue = queue_handle->hdl; node = _slist_peek_tail(&queue->list_valid); @@ -3827,10 +3864,7 @@ size_t k_queue_get_item_size(k_queue_t *queue_handle) { k_queue_handle_t *queue; - if (queue_handle == NULL || queue_handle->hdl == NULL) - { - return 0; - } + _TEST_HANDLE(queue_handle, return 0); queue = queue_handle->hdl; return queue->item_size; @@ -3883,13 +3917,11 @@ k_err_t k_pipe_create(k_pipe_t *pipe_handle, size_t pipe_size) void k_pipe_delete(k_pipe_t *pipe_handle) { _ASSERT_FALSE(s_kit_init_struct.malloc == NULL, "Never use 'k_init()' to initialize"); + _TEST_HANDLE(pipe_handle, return); _K_DIS_SCHED(); - if (pipe_handle->hdl != NULL) - { - _K_PORT->free(pipe_handle->hdl); - pipe_handle->hdl = NULL; - } + _K_PORT->free(pipe_handle->hdl); + pipe_handle->hdl = NULL; _K_EN_SCHED(); } @@ -3900,13 +3932,11 @@ void k_pipe_delete(k_pipe_t *pipe_handle) */ void k_pipe_clr(k_pipe_t *pipe_handle) { - k_pipe_handle_t *pipe = (k_pipe_handle_t *)pipe_handle->hdl; + k_pipe_handle_t *pipe; - if (pipe == NULL) - { - _DBG_WRN("fifo_handle invalid"); - return; - } + _TEST_HANDLE(pipe_handle, return); + + pipe = (k_pipe_handle_t *)pipe_handle->hdl; _K_DIS_SCHED(); pipe->wid = 0; @@ -3943,12 +3973,13 @@ bool k_pipe_is_valid(k_pipe_t *pipe_handle) */ void k_pipe_regist(k_pipe_t *pipe_handle, k_work_t *work_handle, k_tick_t delay_ticks) { - k_pipe_handle_t *pipe = pipe_handle->hdl; - if (pipe != NULL) - { - pipe->resume_work = work_handle; - pipe->resume_delay = delay_ticks; - } + k_pipe_handle_t *pipe; + + _TEST_HANDLE(pipe_handle, return); + + pipe = pipe_handle->hdl; + pipe->resume_work = work_handle; + pipe->resume_delay = delay_ticks; } /** @@ -3971,34 +4002,34 @@ void k_pipe_unregist(k_pipe_t *pipe_handle) */ size_t k_pipe_poll_write(k_pipe_t *pipe_handle, uint8_t data) { - k_pipe_handle_t *pipe = (k_pipe_handle_t *)pipe_handle->hdl; + k_pipe_handle_t *pipe; + pipe_id_t wid; bool resume_flag; - if (pipe) + _TEST_HANDLE(pipe_handle, return 0); + + pipe = (k_pipe_handle_t *)pipe_handle->hdl; + wid = pipe->wid; + if (++wid >= pipe->size) { - pipe_id_t wid = pipe->wid; + wid = 0; + } - if (++wid >= pipe->size) + if (wid != pipe->rid) + { + ((uint8_t *)&pipe[1])[pipe->wid] = data; + + _K_DIS_INT(); + resume_flag = (pipe->wid == pipe->rid); + pipe->wid = wid; + _K_EN_INT(); + + if (resume_flag) { - wid = 0; + _k_ipc_resume(pipe->resume_work, pipe->resume_delay, 0); } - if (wid != pipe->rid) - { - ((uint8_t *)&pipe[1])[pipe->wid] = data; - - _K_DIS_INT(); - resume_flag = (pipe->wid == pipe->rid); - pipe->wid = wid; - _K_EN_INT(); - - if (resume_flag) - { - _k_ipc_resume(pipe->resume_work, pipe->resume_delay, 0); - } - - return 1; - } + return 1; } return 0; @@ -4015,57 +4046,57 @@ size_t k_pipe_poll_write(k_pipe_t *pipe_handle, uint8_t data) size_t k_pipe_fifo_fill(k_pipe_t *pipe_handle, const void *data, size_t size) { size_t ret = 0; - k_pipe_handle_t *pipe = (k_pipe_handle_t *)pipe_handle->hdl; + k_pipe_handle_t *pipe; + pipe_id_t wid; bool resume_flag; - if (pipe) + _TEST_HANDLE(pipe_handle, return 0); + + pipe = (k_pipe_handle_t *)pipe_handle->hdl; + wid = pipe->wid; + resume_flag = (wid == pipe->rid); + + while (size) { - pipe_id_t wid = pipe->wid; + pipe_id_t rid = *(volatile pipe_id_t *)&pipe->rid; + pipe_id_t min; + pipe_id_t remain; - resume_flag = (wid == pipe->rid); - - while (size) + if (wid >= rid) { - pipe_id_t rid = *(volatile pipe_id_t *)&pipe->rid; - pipe_id_t min; - pipe_id_t remain; - - if (wid >= rid) - { - remain = pipe->size - wid - (rid == 0); - } - else - { - remain = rid - wid - 1; - } - if (remain == 0) - { - break; - } - min = size < remain ? size : remain; - - if (data) - { - memcpy(&((uint8_t *)&pipe[1])[wid], &((uint8_t *)data)[ret], min); - } - - if ((wid += min) >= pipe->size) - { - wid = 0; - } - - size -= min; - ret += min; + remain = pipe->size - wid - (rid == 0); } - _K_DIS_INT(); - resume_flag = (pipe->wid == pipe->rid); - pipe->wid = wid; - _K_EN_INT(); - - if (resume_flag && ret) + else { - _k_ipc_resume(pipe->resume_work, pipe->resume_delay, 0); + remain = rid - wid - 1; } + if (remain == 0) + { + break; + } + min = size < remain ? size : remain; + + if (data) + { + memcpy(&((uint8_t *)&pipe[1])[wid], &((uint8_t *)data)[ret], min); + } + + if ((wid += min) >= pipe->size) + { + wid = 0; + } + + size -= min; + ret += min; + } + _K_DIS_INT(); + resume_flag = (pipe->wid == pipe->rid); + pipe->wid = wid; + _K_EN_INT(); + + if (resume_flag && ret) + { + _k_ipc_resume(pipe->resume_work, pipe->resume_delay, 0); } return ret; @@ -4080,24 +4111,25 @@ size_t k_pipe_fifo_fill(k_pipe_t *pipe_handle, const void *data, size_t size) */ size_t k_pipe_poll_read(k_pipe_t *pipe_handle, uint8_t *data) { - k_pipe_handle_t *pipe = (k_pipe_handle_t *)pipe_handle->hdl; + k_pipe_handle_t *pipe; + pipe_id_t rid; - if (pipe) + _TEST_HANDLE(pipe_handle, return 0); + + pipe = (k_pipe_handle_t *)pipe_handle->hdl; + rid = pipe->rid; + if (rid != pipe->wid) { - pipe_id_t rid = pipe->rid; - if (rid != pipe->wid) + data[0] = ((uint8_t *)&pipe[1])[rid++]; + if (rid < pipe->size) { - data[0] = ((uint8_t *)&pipe[1])[rid++]; - if (rid < pipe->size) - { - pipe->rid = rid; - } - else - { - pipe->rid = 0; - } - return 1; + pipe->rid = rid; } + else + { + pipe->rid = 0; + } + return 1; } return 0; @@ -4114,46 +4146,47 @@ size_t k_pipe_poll_read(k_pipe_t *pipe_handle, uint8_t *data) size_t k_pipe_fifo_read(k_pipe_t *pipe_handle, void *data, size_t size) { size_t ret = 0; - k_pipe_handle_t *pipe = (k_pipe_handle_t *)pipe_handle->hdl; + k_pipe_handle_t *pipe; + pipe_id_t rid; - if (pipe) + _TEST_HANDLE(pipe_handle, return 0); + + pipe = (k_pipe_handle_t *)pipe_handle->hdl; + rid = pipe->rid; + while (size) { - pipe_id_t rid = pipe->rid; - while (size) + pipe_id_t wid = *(volatile pipe_id_t *)&pipe->wid; + pipe_id_t min; + pipe_id_t remain; + + if (rid > wid) { - pipe_id_t wid = *(volatile pipe_id_t *)&pipe->wid; - pipe_id_t min; - pipe_id_t remain; - - if (rid > wid) - { - remain = pipe->size - rid; - } - else - { - remain = wid - rid; - } - if (remain == 0) - { - break; - } - min = size < remain ? size : remain; - - if (data) - { - memcpy(&((uint8_t *)data)[ret], &((uint8_t *)&pipe[1])[rid], min); - } - - if ((rid += min) >= pipe->size) - { - rid = 0; - } - - size -= min; - ret += min; + remain = pipe->size - rid; } - pipe->rid = rid; + else + { + remain = wid - rid; + } + if (remain == 0) + { + break; + } + min = size < remain ? size : remain; + + if (data) + { + memcpy(&((uint8_t *)data)[ret], &((uint8_t *)&pipe[1])[rid], min); + } + + if ((rid += min) >= pipe->size) + { + rid = 0; + } + + size -= min; + ret += min; } + pipe->rid = rid; return ret; } @@ -4167,21 +4200,18 @@ size_t k_pipe_fifo_read(k_pipe_t *pipe_handle, void *data, size_t size) */ bool k_pipe_is_ne(k_pipe_t *pipe_handle) { - if (pipe_handle->hdl == NULL) + k_pipe_handle_t *pipe; + + _TEST_HANDLE(pipe_handle, return _FALSE); + + pipe = (k_pipe_handle_t *)pipe_handle->hdl; + if (pipe->rid == pipe->wid) { return _FALSE; } else { - k_pipe_handle_t *pipe = (k_pipe_handle_t *)pipe_handle->hdl; - if (pipe->rid == pipe->wid) - { - return _FALSE; - } - else - { - return _TRUE; - } + return _TRUE; } } @@ -4193,21 +4223,18 @@ bool k_pipe_is_ne(k_pipe_t *pipe_handle) */ size_t k_pipe_get_valid_size(k_pipe_t *pipe_handle) { - if (pipe_handle->hdl == NULL) + k_pipe_handle_t *pipe; + + _TEST_HANDLE(pipe_handle, return 0); + + pipe = (k_pipe_handle_t *)pipe_handle->hdl; + if (pipe->wid < pipe->rid) { - return 0; + return pipe->size + pipe->wid - pipe->rid; } else { - k_pipe_handle_t *pipe = (k_pipe_handle_t *)pipe_handle->hdl; - if (pipe->wid < pipe->rid) - { - return pipe->size + pipe->wid - pipe->rid; - } - else - { - return pipe->wid - pipe->rid; - } + return pipe->wid - pipe->rid; } } @@ -4219,15 +4246,12 @@ size_t k_pipe_get_valid_size(k_pipe_t *pipe_handle) */ size_t k_pipe_get_empty_size(k_pipe_t *pipe_handle) { - if (pipe_handle->hdl == NULL) - { - return 0; - } - else - { - k_pipe_handle_t *pipe = (k_pipe_handle_t *)pipe_handle->hdl; - return pipe->size - (k_pipe_get_valid_size(pipe_handle) + 1); - } + k_pipe_handle_t *pipe; + + _TEST_HANDLE(pipe_handle, return 0); + + pipe = (k_pipe_handle_t *)pipe_handle->hdl; + return pipe->size - (k_pipe_get_valid_size(pipe_handle) + 1); } /** @@ -4242,25 +4266,26 @@ size_t k_pipe_get_empty_size(k_pipe_t *pipe_handle) */ void k_pipe_peek_valid(k_pipe_t *pipe_handle, void **dst_base, size_t *dst_size) { - if (pipe_handle->hdl) + k_pipe_handle_t *pipe; + + _TEST_HANDLE(pipe_handle, return); + + pipe = (k_pipe_handle_t *)pipe_handle->hdl; + if (dst_base) { - k_pipe_handle_t *pipe = (k_pipe_handle_t *)pipe_handle->hdl; - if (dst_base) + *dst_base = (&((uint8_t *)&pipe[1])[pipe->rid]); + } + if (dst_size) + { + pipe_id_t rid = pipe->rid; + pipe_id_t wid = pipe->wid; + if (rid > wid) { - *dst_base = (&((uint8_t *)&pipe[1])[pipe->rid]); + *dst_size = pipe->size - rid; } - if (dst_size) + else { - pipe_id_t rid = pipe->rid; - pipe_id_t wid = pipe->wid; - if (rid > wid) - { - *dst_size = pipe->size - rid; - } - else - { - *dst_size = wid - rid; - } + *dst_size = wid - rid; } } } @@ -4277,25 +4302,26 @@ void k_pipe_peek_valid(k_pipe_t *pipe_handle, void **dst_base, size_t *dst_size) */ void k_pipe_peek_empty(k_pipe_t *pipe_handle, void **dst_base, size_t *dst_size) { - if (pipe_handle->hdl) + k_pipe_handle_t *pipe; + + _TEST_HANDLE(pipe_handle, return); + + pipe = (k_pipe_handle_t *)pipe_handle->hdl; + if (dst_base) { - k_pipe_handle_t *pipe = (k_pipe_handle_t *)pipe_handle->hdl; - if (dst_base) + *dst_base = (&((uint8_t *)&pipe[1])[pipe->wid]); + } + if (dst_size) + { + pipe_id_t rid = pipe->rid; + pipe_id_t wid = pipe->wid; + if (wid >= rid) { - *dst_base = (&((uint8_t *)&pipe[1])[pipe->wid]); + *dst_size = pipe->size - wid - (rid == 0); } - if (dst_size) + else { - pipe_id_t rid = pipe->rid; - pipe_id_t wid = pipe->wid; - if (wid >= rid) - { - *dst_size = pipe->size - wid - (rid == 0); - } - else - { - *dst_size = rid - wid - 1; - } + *dst_size = rid - wid - 1; } } } diff --git a/components/system/source/shell/README.md b/components/system/source/shell/README.md index 29e3827..f5be8e4 100755 --- a/components/system/source/shell/README.md +++ b/components/system/source/shell/README.md @@ -83,8 +83,7 @@ SH_REGISTER_CMD( ### 补全勾子的可用接口 - sh_putstr_quiet() - - sh_cmd_info() - - sh_completion_cmd() + - sh_cmd_test() - sh_completion_param() - sh_completion_resource() - sh_get_cp_result() diff --git a/components/system/source/shell/sh.c b/components/system/source/shell/sh.c index 6d579d5..edabf34 100755 --- a/components/system/source/shell/sh.c +++ b/components/system/source/shell/sh.c @@ -10,6 +10,7 @@ */ #include "sh.h" +#include "sh_vset.h" #include #include @@ -127,7 +128,7 @@ static const sh_key_t *_find_key(sh_t *sh_hdl, const char *code) * 如果当前为模块模式,由优先在模块中查找。 * * @param dest_reg_struct[out] 保存根命令结构的定义地址 - * @param sub_cmd NULL -- 从根命令中历遍查找; ! NULL 从已知的父命令节点中查找 + * @param sub_cmd NULL -- 从根命令中遍历查找; ! NULL 从已知的父命令节点中查找 * @param cmd 单元命令字符串 * @return const sh_cmd_t* NULL -- 没有记录这个命令; ! NULL 找到的命令节点 */ @@ -399,8 +400,9 @@ static void _insert_str(sh_t *sh_hdl, const char *str) */ static void _read_param(int *argc, const char *argv[CONFIG_SH_MAX_PARAM], char *dest, const char *src) { + bool end = false; *argc = 0; - while (*argc < CONFIG_SH_MAX_PARAM) + while (end == false && *argc < CONFIG_SH_MAX_PARAM) { int len = 0; @@ -485,6 +487,13 @@ static void _read_param(int *argc, const char *argv[CONFIG_SH_MAX_PARAM], char * ++src; dest[len] = '\0'; } + else if (dest[len] == '#' && split_char == ' ') /* 注释 */ + { + ++src; + dest[len] = '\0'; + end = true; + } + if (dest[len] == '\0') { break; @@ -719,6 +728,16 @@ int sh_unregister_cmd(const sh_cmd_reg_t *sh_reg) return -!ret; } +/** + * @brief 取消所有已注册命令 + */ +void sh_unregister_all(sh_t *sh_hdl) +{ + sys_pslist_init(&s_cmd_list); + sys_pslist_init(&s_cmd_list_hide); + sys_pslist_init(&sh_hdl->cmd_list); +} + /** * @brief 注册一组热键 * 适用于动态加载/卸载 @@ -1563,7 +1582,7 @@ static bool _do_completion_cmd(sh_t *sh_hdl, sh_cp_info_t *info, const sh_cmd_in while (1) { - if (sub_cmd == NULL) // 历遍根命令链 + if (sub_cmd == NULL) // 遍历根命令链 { const sh_cmd_reg_t *sh_reg; sys_pslist_t *cmd_list[] = { @@ -1587,7 +1606,7 @@ static bool _do_completion_cmd(sh_t *sh_hdl, sh_cp_info_t *info, const sh_cmd_in } } } - else // 历遍子命令数据 + else // 遍历子命令数据 { sub_cmd = sub_cmd->sub_fn.sub_cmd; for (int i = 0; sub_cmd[i].cmd != NULL; i++) @@ -1603,7 +1622,7 @@ static bool _do_completion_cmd(sh_t *sh_hdl, sh_cp_info_t *info, const sh_cmd_in info->print_count == 0 && // 没有打印任何可选项 err_status != _SH_CMD_STATUS_Incomplete && // 如果正在输出当前模块下的子命令,则只继续补全子命令 print_match == true && // 只打印匹配的备选项 - flag_parent == 0 // 目前仅在 _cmd_select_param() 被置起,此时不再历遍根命令链 + flag_parent == 0 // 目前仅在 _cmd_select_param() 被置起,此时不再遍历根命令链 ) { sub_cmd = NULL; // 使从根命令链重新查找 @@ -1614,7 +1633,7 @@ static bool _do_completion_cmd(sh_t *sh_hdl, sh_cp_info_t *info, const sh_cmd_in if (sh_hdl->select_cmd != NULL && // 当前状态为模块模式 info->match_num == 0 && // 没有找到可匹配的命令 err_status != _SH_CMD_STATUS_Incomplete && // 如果正在输出当前模块下的子命令,则只继续补全子命令 - sub_cmd != NULL // 未历遍过根命令链 + sub_cmd != NULL // 未遍历过根命令链 ) { sub_cmd = NULL; // 使从根命令链重新查找 @@ -1739,7 +1758,7 @@ static int _calc_list_algin(sh_cp_info_t *info) * @param argv 命令字符串指针 * @return sh_cmd_info_t 命令信息 */ -sh_cmd_info_t sh_cmd_info(sh_t *sh_hdl, int argc, const char *argv[]) +sh_cmd_info_t sh_cmd_test(sh_t *sh_hdl, int argc, const char *argv[]) { SYS_ASSERT(sh_hdl != NULL, ""); @@ -1808,12 +1827,12 @@ static sh_cp_op_t _sh_completion_cmd(sh_t *sh_hdl, int argc, const char *argv[], /* 初始化 cmd_info 和 cp_info */ if (_arg_is_end(sh_hdl)) { - cmd_info = sh_cmd_info(sh_hdl, argc, argv); + cmd_info = sh_cmd_test(sh_hdl, argc, argv); cp_info = _completion_init(""); } else { - cmd_info = sh_cmd_info(sh_hdl, --argc, argv); + cmd_info = sh_cmd_test(sh_hdl, --argc, argv); if (cmd_info.err_status == _SH_CMD_STATUS_Success) { cp_info = _completion_init(argv[argc++]); @@ -1892,7 +1911,7 @@ static sh_cp_op_t _sh_completion_cmd(sh_t *sh_hdl, int argc, const char *argv[], } else { - cmd_info = sh_cmd_info(sh_hdl, argc, argv); + cmd_info = sh_cmd_test(sh_hdl, argc, argv); cp_info = _completion_init(""); // 没有任何命令时直接打印所有根命令 } @@ -1923,20 +1942,6 @@ static sh_cp_op_t _sh_completion_cmd(sh_t *sh_hdl, int argc, const char *argv[], return sh_hdl->cp_operate; } -/** - * @brief 根据输入的参数,结合当前命令行的状态,在已注册命令中查找并自执行一次自动补全命令/打印备选命令的全过程 - * - * @param argc 命令数量 - * @param argv 命令字符串指针 - * @return sh_cp_op_t 自动补全命令/打印备选命令的执行结果 - */ -sh_cp_op_t sh_completion_cmd(sh_t *sh_hdl, int argc, const char *argv[]) -{ - SYS_ASSERT(sh_hdl != NULL, ""); - - return _sh_completion_cmd(sh_hdl, argc, argv, 0); -} - /** * @brief 仅在 cp_fn() 中可用,根据当前命令行内容,在给出的参数结构中查找并自动补全参数/打印备选参数的全过程 * @@ -1998,7 +2003,8 @@ sh_cp_op_t sh_completion_param(sh_t *sh_hdl, const sh_cp_param_t *param) * 自动补全/打印备行项 将在 cp_fn() 退出后自动执行。 * @ref @c fatfs_shell.c@_scan_files()/@_cmd_df_cp() * - * @param arg_str 指定已输入的待自动补全的字符串,当为NULL时表示按当前命令行自动填充 + * @param arg_str 指定已输入的待自动补全的字符串,当为NULL时表示按当前命令行自动填充。 + * 使用场景:在自动补全路径时, arg_str 表示仅关注路径的最后一部分,而不是整个路径,以便于在补全时只显示当前目录下的文件。 * @param res_str 候选字符串 * @param help 帮助描述信息。如果值为 NULL 则不会被打印 */ @@ -2106,7 +2112,7 @@ void sh_ctrl_tab(sh_t *sh_hdl) _read_param(&argc, argv, cmd_param, cmd_param); /* 自动补全命令 */ - sh_completion_cmd(sh_hdl, argc, argv); + _sh_completion_cmd(sh_hdl, argc, argv, 0); } /** @@ -2133,7 +2139,7 @@ bool sh_ctrl_enter(sh_t *sh_hdl) _apply_history(sh_hdl); /* 根据 argc, argv,解析出 info */ - sh_cmd_info_t info = sh_cmd_info(sh_hdl, argc, argv); + sh_cmd_info_t info = sh_cmd_test(sh_hdl, argc, argv); if (info.err_status == _SH_CMD_STATUS_Success) { _clear_argv(argc, argv); @@ -2791,7 +2797,7 @@ SH_CMD_FN(_cmd_select) { if (argc) { - sh_cmd_info_t cmd_info = sh_cmd_info(sh_hdl, argc, argv); + sh_cmd_info_t cmd_info = sh_cmd_test(sh_hdl, argc, argv); if (cmd_info.err_status == _SH_CMD_STATUS_Incomplete) { sh_hdl->select_reg_struct = cmd_info.reg_struct; @@ -2875,7 +2881,7 @@ SH_CMD_FN(_cmd_exit) SH_CMD_FN(_cmd_print_help) { - sh_cmd_info_t info = sh_cmd_info(sh_hdl, argc, argv); + sh_cmd_info_t info = sh_cmd_test(sh_hdl, argc, argv); if (argc == 0) { @@ -2905,7 +2911,7 @@ SH_CMD_FN(_cmd_print_help) total_len += 3; for (int i = 1; i <= info.match_count; i++) { - sh_cmd_info_t tmp = sh_cmd_info(sh_hdl, i, argv); + sh_cmd_info_t tmp = sh_cmd_test(sh_hdl, i, argv); if (i == 1) { @@ -2949,7 +2955,7 @@ SH_CMD_FN(_cmd_print_help) SH_CMD_CP_FN(_cmd_print_help_param) { - sh_completion_cmd(sh_hdl, argc, argv); + _sh_completion_cmd(sh_hdl, argc, argv, 0); } SH_CMD_FN(_cmd_echo_on) @@ -3025,6 +3031,13 @@ SH_REGISTER_CMD( SH_SETUP_CMD("exit", "Exit parent command or disconnect", _cmd_exit, NULL), // ); +static int _vset_init(void) +{ + vset_init(&g_uart_handle_vt100, NULL); + return 0; +} +INIT_EXPORT_COMPONENT(_vset_init); + /** * @brief 用于显式初始化内部函数。 * 当自动初始化函数不适用时,使用此函数可强制初始化内部的一些功能。包含: @@ -3047,5 +3060,7 @@ void sh_register_external(sh_vprint_fn out) static uint8_t bank_mem[CONFIG_SH_MAX_LINE_LEN]; sh_config_history_mem(&g_uart_handle_vt100, history_mem, sizeof(history_mem)); sh_config_backup_mem(&g_uart_handle_vt100, bank_mem, sizeof(bank_mem)); + + _vset_init(); } } diff --git a/components/system/source/shell/sh.h b/components/system/source/shell/sh.h index 44b8b28..c7c1ecc 100755 --- a/components/system/source/shell/sh.h +++ b/components/system/source/shell/sh.h @@ -244,7 +244,8 @@ typedef struct sh_obj_def // 对象内存结构 * 1. 如果 FUNC 取值为 NULL 时, SUB_NAME 必须指向 SH_DEF_SUB_CMD 定义的子命令列表名; * 2. 如果 FUNC 取值为函数时: * 2.1 SUB_NAME 可为 NULL; - * 2.1 SUB_NAME 指向 void (*cp_fn)(sh_t *sh_hdl, int argc, const char *argv[]) 表示按 TAB 键时被执行的函数,用于参数补全。 + * 2.1 SUB_NAME 指向 void (*cp_fn)(sh_t *sh_hdl, int argc, const char *argv[]) 表示按 TAB 键时被执行的函数, + * 这个函数内部允许执行 cp_fn 应用,用于帮助对 FUNC 命令参数补全。 * * @verbatim * @c sh.c @@ -316,6 +317,7 @@ SH_CMD_CP_FN(_sh_generic_cp_fn) {} int sh_register_cmd(const sh_cmd_reg_t *sh_reg); // 可用自动初始化宏执行 @ref SH_REGISTER_CMD int sh_register_cmd_hide(const sh_cmd_reg_t *sh_reg); // 可用自动初始化宏执行 @ref SH_REGISTER_CMD int sh_unregister_cmd(const sh_cmd_reg_t *sh_reg); // 取消注册一个根命令 +void sh_unregister_all(sh_t *sh_hdl); // 取消所有已注册命令 /* 现成终端协议初始化 ----------------------------------------------------------------- */ @@ -337,7 +339,7 @@ void sh_set_prompt(sh_t *sh_hdl, const char *prompt); // 设置提示符 void sh_reset_line(sh_t *sh_hdl); // 清除命令接收缓存 -int sh_echo(sh_t *sh_hdl, const char *fmt, ...); // 回显到终端 +int sh_echo(sh_t *sh_hdl, const char *fmt, ...); // 回显到终端 sh_parse_t sh_parse_value(const char *str); // 参数工具:解析字符串表示的数值 @@ -347,12 +349,10 @@ int sh_get_cmd_result(sh_t *sh_hdl); // 获取上一条有效命令的返回值 void sh_refresh_line(sh_t *sh_hdl); // 执行刷一次当前命令行显示 +sh_cmd_info_t sh_cmd_test(sh_t *sh_hdl, int argc, const char *argv[]); // 根据参数,完整解析命令并获取命令信息 + /* cp_fn 应用 ---------------------------------------------------------------------- */ -sh_cmd_info_t sh_cmd_info(sh_t *sh_hdl, int argc, const char *argv[]); // 根据参数,获取完全匹配的命令信息 - -sh_cp_op_t sh_completion_cmd(sh_t *sh_hdl, int argc, const char *argv[]); // 根据参数,在已注册命令中查找并自动补全命令 - sh_cp_op_t sh_completion_param(sh_t *sh_hdl, const sh_cp_param_t *param); // 仅在 cp_fn() 中可用,根据当前命令行内容,在给出的参数结构中查找并自动补全参数。参数允许为 NULL void sh_completion_resource(sh_t *sh_hdl, const char *arg_str, const char *res_str, const char *help); // 仅在 cp_fn() 中可用,根据当前命令行内容,逐个给出可供查找的提示符。内部将根据所提供的数据自动补全 diff --git a/components/system/source/shell/sh_vset.c b/components/system/source/shell/sh_vset.c index 1e59d1c..8e8a955 100755 --- a/components/system/source/shell/sh_vset.c +++ b/components/system/source/shell/sh_vset.c @@ -25,11 +25,11 @@ #define _TYPE_FLAG_FLOAT (1 << 2) #define _TYPE_FLAG_STRING (1 << 3) -#define _PARAM_CB() \ - do \ - { \ - if (param->cb) \ - param->cb(s_sh_hdl, &value); \ +#define _PARAM_CB() \ + do \ + { \ + if (cb) \ + cb(s_sh_hdl, &value); \ } while (0) static sh_t *s_sh_hdl; @@ -40,19 +40,19 @@ static const sh_vset_param_t *_find_option(const char *input, const sh_vset_para static bool _do_completing_option(sh_t *sh_hdl, int argc, const char *argv[], const sh_vset_param_t *p, unsigned size); static bool _do_completing_enum(const char *option, const sh_vset_param_t *p, unsigned size); -static int _set_dest_unsigned(const __vset_param_t *param, unsigned int value, unsigned int low, unsigned int high); -static int _set_dest_integer(const __vset_param_t *param, signed int value, signed int low, signed int high); -static int _set_dest_float(const __vset_param_t *param, float value, float low, float high); -static int _set_dest_string(const __vset_param_t *param, const char *str, unsigned bufsize); -static int _set_dest_enum(const __vset_param_t *param, const char *value, int type_flag); +static int _set_dest_unsigned(void *dest, __type_attr_t attr, vset_cb cb, unsigned int value, unsigned int low, unsigned int high); +static int _set_dest_integer(void *dest, __type_attr_t attr, vset_cb cb, signed int value, signed int low, signed int high); +static int _set_dest_float(void *dest, __type_attr_t attr, vset_cb cb, float value, float low, float high); +static int _set_dest_string(void *dest, __type_attr_t attr, vset_cb cb, const char *str, unsigned bufsize); +static int _set_dest_enum(void *dest, __type_attr_t attr, vset_cb cb, const char *value, int type_flag); -static unsigned int _get_unsigned(const __vset_param_t *param); -static signed int _get_integer(const __vset_param_t *param); -static float _get_float(const __vset_param_t *param); -static char *_get_string(const __vset_param_t *param); +static unsigned int _get_unsigned(void *dest, __type_attr_t attr); +static signed int _get_integer(void *dest, __type_attr_t attr); +static float _get_float(void *dest, __type_attr_t attr); +static char *_get_string(void *dest, __type_attr_t attr); static int _enum_format(char *enum_buf, int buf_len, const char *enum_str); static int _get_enum_by_key(const char *key, char **match_value, char *enum_buf); -static int _get_enum_by_param(const __vset_param_t *param, char **match_key, char **match_value, char *enum_buf, bool print_list, bool print_cp); +static int _get_enum_by_param(void *dest, __type_attr_t attr, char **match_key, char **match_value, char *enum_buf, bool print_list, bool print_cp); /** * @brief s_attr_to_type_tbl @@ -78,12 +78,12 @@ static int const s_attr_to_type_tbl[] = { * @brief 初始化设置 * * @param sh_hdl 设置 shell 的句柄 - * @param cb 当任意一个值被修改时回调此函数,可设为 NULL + * @param global_cb 当任意一个值被修改时回调此函数,可设为 NULL */ -void vset_init(sh_t *sh_hdl, vset_global_cb cb) +void vset_init(sh_t *sh_hdl, vset_global_cb global_cb) { s_sh_hdl = sh_hdl; - s_global_cb = cb; + s_global_cb = global_cb; } /** @@ -92,10 +92,10 @@ void vset_init(sh_t *sh_hdl, vset_global_cb cb) */ void vset_force_cb(void) { - vset_global_cb cb = s_global_cb; - if (cb) + vset_global_cb global_cb = s_global_cb; + if (global_cb) { - cb(s_sh_hdl); + global_cb(s_sh_hdl); } } @@ -147,6 +147,10 @@ int vset_option_set(sh_t *sh_hdl, int *argc, const char *argv[], const sh_vset_p { flag = true; sh_echo(s_sh_hdl, "选项: %s\r\n", pset->option); + if (pset->help) + { + sh_echo(s_sh_hdl, "说明: %s\r\n", pset->help); + } } } @@ -235,22 +239,22 @@ bool vset_option_cp(sh_t *sh_hdl, int argc, const char *argv[], bool flag, const } } -int vset_unsigned(const __vset_param_t *param, const char *argv[], unsigned int low, unsigned int high) +int vset_unsigned(void *dest, __type_attr_t attr, vset_cb cb, const char *argv[], unsigned int low, unsigned int high) { SYS_ASSERT(s_sh_hdl, "未使用 vset_init() 初始化"); - SYS_ASSERT(param->attr < __ARR_SIZE(s_attr_to_type_tbl), "param->attr 的值不在 __type_attr_t 所定义的范围"); - SYS_ASSERT(s_attr_to_type_tbl[param->attr] == _PARSE_TYPE_UNSIGNED, "待设置的参数类型不是正整数"); + SYS_ASSERT(attr < __ARR_SIZE(s_attr_to_type_tbl), "attr 的值不在 __type_attr_t 所定义的范围"); + SYS_ASSERT(s_attr_to_type_tbl[attr] == _PARSE_TYPE_UNSIGNED, "待设置的参数类型不是正整数"); if (s_sh_hdl == NULL) { return -1; } - if (param->attr >= __ARR_SIZE(s_attr_to_type_tbl)) + if (attr >= __ARR_SIZE(s_attr_to_type_tbl)) { - sh_echo(s_sh_hdl, "param->attr 的值不在 __type_attr_t 所定义的范围\r\n"); + sh_echo(s_sh_hdl, "attr 的值不在 __type_attr_t 所定义的范围\r\n"); return -1; } - if (s_attr_to_type_tbl[param->attr] != _PARSE_TYPE_UNSIGNED) + if (s_attr_to_type_tbl[attr] != _PARSE_TYPE_UNSIGNED) { sh_echo(s_sh_hdl, "待设置的参数类型不是正整数\r\n"); return -1; @@ -271,7 +275,7 @@ int vset_unsigned(const __vset_param_t *param, const char *argv[], unsigned int low ^= high; } sh_echo(s_sh_hdl, "有效范围: %d .. %d\r\n", low, high); - sh_echo(s_sh_hdl, "当前值: %u\r\n", _get_unsigned(param)); + sh_echo(s_sh_hdl, "当前值: %u\r\n", _get_unsigned(dest, attr)); return 0; } @@ -279,7 +283,7 @@ int vset_unsigned(const __vset_param_t *param, const char *argv[], unsigned int switch (pv.type) { case _PARSE_TYPE_UNSIGNED: // 解析出的参数格式是无符号整型 - return _set_dest_unsigned(param, pv.value.val_unsigned, low, high); + return _set_dest_unsigned(dest, attr, cb, pv.value.val_unsigned, low, high); default: sh_echo(s_sh_hdl, "参数 '%s' 格式错误, 请输入正整数\r\n", argv[0]); @@ -287,22 +291,22 @@ int vset_unsigned(const __vset_param_t *param, const char *argv[], unsigned int } } -int vset_integer(const __vset_param_t *param, const char *argv[], signed int low, signed int high) +int vset_integer(void *dest, __type_attr_t attr, vset_cb cb, const char *argv[], signed int low, signed int high) { SYS_ASSERT(s_sh_hdl, "未使用 vset_init() 初始化"); - SYS_ASSERT(param->attr < __ARR_SIZE(s_attr_to_type_tbl), "param->attr 的值不在 __type_attr_t 所定义的范围"); - SYS_ASSERT(s_attr_to_type_tbl[param->attr] == _PARSE_TYPE_INTEGER, "待设置的参数类型不是带符号整数"); + SYS_ASSERT(attr < __ARR_SIZE(s_attr_to_type_tbl), "attr 的值不在 __type_attr_t 所定义的范围"); + SYS_ASSERT(s_attr_to_type_tbl[attr] == _PARSE_TYPE_INTEGER, "待设置的参数类型不是带符号整数"); if (s_sh_hdl == NULL) { return -1; } - if (param->attr >= __ARR_SIZE(s_attr_to_type_tbl)) + if (attr >= __ARR_SIZE(s_attr_to_type_tbl)) { - sh_echo(s_sh_hdl, "param->attr 的值不在 __type_attr_t 所定义的范围\r\n"); + sh_echo(s_sh_hdl, "attr 的值不在 __type_attr_t 所定义的范围\r\n"); return -1; } - if (s_attr_to_type_tbl[param->attr] != _PARSE_TYPE_INTEGER) + if (s_attr_to_type_tbl[attr] != _PARSE_TYPE_INTEGER) { sh_echo(s_sh_hdl, "待设置的参数类型不是带符号整数\r\n"); return -1; @@ -323,7 +327,7 @@ int vset_integer(const __vset_param_t *param, const char *argv[], signed int low low ^= high; } sh_echo(s_sh_hdl, "有效范围: %d .. %d\r\n", low, high); - sh_echo(s_sh_hdl, "当前值: %d\r\n", _get_integer(param)); + sh_echo(s_sh_hdl, "当前值: %d\r\n", _get_integer(dest, attr)); return 0; } @@ -331,7 +335,7 @@ int vset_integer(const __vset_param_t *param, const char *argv[], signed int low switch (pv.type) { case _PARSE_TYPE_INTEGER: // 解析出的参数格式是带符号整型 - return _set_dest_integer(param, pv.value.val_integer, low, high); + return _set_dest_integer(dest, attr, cb, pv.value.val_integer, low, high); case _PARSE_TYPE_UNSIGNED: // 解析出的参数格式是无符号整型 if (pv.value.val_unsigned > (1u << (sizeof(pv.value.val_unsigned) * 8 - 1)) - 1) @@ -339,7 +343,7 @@ int vset_integer(const __vset_param_t *param, const char *argv[], signed int low sh_echo(s_sh_hdl, "参数 %u 溢出\r\n", pv.value.val_unsigned); return -1; } - return _set_dest_integer(param, pv.value.val_unsigned, low, high); + return _set_dest_integer(dest, attr, cb, pv.value.val_unsigned, low, high); default: sh_echo(s_sh_hdl, "参数 '%s' 格式错误, 请输入整数\r\n", argv[0]); @@ -347,22 +351,22 @@ int vset_integer(const __vset_param_t *param, const char *argv[], signed int low } } -int vset_float(const __vset_param_t *param, const char *argv[], float low, float high) +int vset_float(void *dest, __type_attr_t attr, vset_cb cb, const char *argv[], float low, float high) { SYS_ASSERT(s_sh_hdl, "未使用 vset_init() 初始化"); - SYS_ASSERT(param->attr < __ARR_SIZE(s_attr_to_type_tbl), "param->attr 的值不在 __type_attr_t 所定义的范围"); - SYS_ASSERT(s_attr_to_type_tbl[param->attr] == _PARSE_TYPE_FLOAT, "待设置的参数类型不是浮点数"); + SYS_ASSERT(attr < __ARR_SIZE(s_attr_to_type_tbl), "attr 的值不在 __type_attr_t 所定义的范围"); + SYS_ASSERT(s_attr_to_type_tbl[attr] == _PARSE_TYPE_FLOAT, "待设置的参数类型不是浮点数"); if (s_sh_hdl == NULL) { return -1; } - if (param->attr >= __ARR_SIZE(s_attr_to_type_tbl)) + if (attr >= __ARR_SIZE(s_attr_to_type_tbl)) { - sh_echo(s_sh_hdl, "param->attr 的值不在 __type_attr_t 所定义的范围\r\n"); + sh_echo(s_sh_hdl, "attr 的值不在 __type_attr_t 所定义的范围\r\n"); return -1; } - if (s_attr_to_type_tbl[param->attr] != _PARSE_TYPE_FLOAT) + if (s_attr_to_type_tbl[attr] != _PARSE_TYPE_FLOAT) { sh_echo(s_sh_hdl, "待设置的参数类型不是浮点数\r\n"); return -1; @@ -383,7 +387,7 @@ int vset_float(const __vset_param_t *param, const char *argv[], float low, float high = tmp; } sh_echo(s_sh_hdl, "有效范围: %f .. %f\r\n", low, high); - sh_echo(s_sh_hdl, "当前值: %f\r\n", _get_float(param)); + sh_echo(s_sh_hdl, "当前值: %f\r\n", _get_float(dest, attr)); return 0; } @@ -391,13 +395,13 @@ int vset_float(const __vset_param_t *param, const char *argv[], float low, float switch (pv.type) { case _PARSE_TYPE_INTEGER: // 解析出的参数格式是带符号整型 - return _set_dest_float(param, pv.value.val_integer, low, high); + return _set_dest_float(dest, attr, cb, pv.value.val_integer, low, high); case _PARSE_TYPE_UNSIGNED: // 解析出的参数格式是无符号整型 - return _set_dest_float(param, pv.value.val_unsigned, low, high); + return _set_dest_float(dest, attr, cb, pv.value.val_unsigned, low, high); case _PARSE_TYPE_FLOAT: // 解析出的参数格式是浮点数 - return _set_dest_float(param, pv.value.val_float, low, high); + return _set_dest_float(dest, attr, cb, pv.value.val_float, low, high); default: sh_echo(s_sh_hdl, "参数 '%s' 格式错误, 请输入数值\r\n", argv[0]); @@ -405,22 +409,22 @@ int vset_float(const __vset_param_t *param, const char *argv[], float low, float } } -int vset_str(const __vset_param_t *param, const char *argv[], unsigned bufsize) +int vset_str(void *dest, __type_attr_t attr, vset_cb cb, const char *argv[], unsigned bufsize) { SYS_ASSERT(s_sh_hdl, "未使用 vset_init() 初始化"); - SYS_ASSERT(param->attr < __ARR_SIZE(s_attr_to_type_tbl), "param->attr 的值不在 __type_attr_t 所定义的范围"); - SYS_ASSERT(s_attr_to_type_tbl[param->attr] == _PARSE_TYPE_STRING, "待设置的参数类型不是字符串"); + SYS_ASSERT(attr < __ARR_SIZE(s_attr_to_type_tbl), "attr 的值不在 __type_attr_t 所定义的范围"); + SYS_ASSERT(s_attr_to_type_tbl[attr] == _PARSE_TYPE_STRING, "待设置的参数类型不是字符串"); if (s_sh_hdl == NULL) { return -1; } - if (param->attr >= __ARR_SIZE(s_attr_to_type_tbl)) + if (attr >= __ARR_SIZE(s_attr_to_type_tbl)) { - sh_echo(s_sh_hdl, "param->attr 的值不在 __type_attr_t 所定义的范围\r\n"); + sh_echo(s_sh_hdl, "attr 的值不在 __type_attr_t 所定义的范围\r\n"); return -1; } - if (s_attr_to_type_tbl[param->attr] != _PARSE_TYPE_STRING) + if (s_attr_to_type_tbl[attr] != _PARSE_TYPE_STRING) { sh_echo(s_sh_hdl, "待设置的参数类型不是字符串\r\n"); return -1; @@ -435,7 +439,7 @@ int vset_str(const __vset_param_t *param, const char *argv[], unsigned bufsize) if (strcmp(argv[0], "?") == 0) { sh_echo(s_sh_hdl, "最大长度: %d\r\n", bufsize - 1); - sh_echo(s_sh_hdl, "当前值: %s\r\n", _get_string(param)); + sh_echo(s_sh_hdl, "当前值: %s\r\n", _get_string(dest, attr)); return 0; } @@ -445,21 +449,21 @@ int vset_str(const __vset_param_t *param, const char *argv[], unsigned bufsize) return -1; } - return _set_dest_string(param, argv[0], bufsize); + return _set_dest_string(dest, attr, cb, argv[0], bufsize); } -int vset_enum(const __vset_param_t *param, const char *argv[], const char *enum_str) +int vset_enum(void *dest, __type_attr_t attr, vset_cb cb, const char *argv[], const char *enum_str) { SYS_ASSERT(s_sh_hdl, "未使用 vset_init() 初始化"); - SYS_ASSERT(param->attr < __ARR_SIZE(s_attr_to_type_tbl), "param->attr 的值不在 __type_attr_t 所定义的范围"); + SYS_ASSERT(attr < __ARR_SIZE(s_attr_to_type_tbl), "attr 的值不在 __type_attr_t 所定义的范围"); if (s_sh_hdl == NULL) { return -1; } - if (param->attr >= __ARR_SIZE(s_attr_to_type_tbl)) + if (attr >= __ARR_SIZE(s_attr_to_type_tbl)) { - sh_echo(s_sh_hdl, "param->attr 的值不在 __type_attr_t 所定义的范围\r\n"); + sh_echo(s_sh_hdl, "attr 的值不在 __type_attr_t 所定义的范围\r\n"); return -1; } @@ -484,7 +488,7 @@ int vset_enum(const __vset_param_t *param, const char *argv[], const char *enum_ if (strcmp(argv[0], "?") == 0) { sh_echo(s_sh_hdl, "可选值:\r\n"); - _get_enum_by_param(param, &match_key, &match_value, enum_buf, true, false); + _get_enum_by_param(dest, attr, &match_key, &match_value, enum_buf, true, false); if (match_value) { sh_echo(s_sh_hdl, "当前值:\t%s\r\n", match_key); @@ -504,7 +508,7 @@ int vset_enum(const __vset_param_t *param, const char *argv[], const char *enum_ return -1; } - return _set_dest_enum(param, match_value, type_flag); + return _set_dest_enum(dest, attr, cb, match_value, type_flag); } void vset_cp_enum(int argc, bool flag, const char *enum_str) @@ -528,15 +532,10 @@ void vset_cp_enum(int argc, bool flag, const char *enum_str) return; } - __vset_param_t param = { - .dest = enum_buf, - .attr = __GENERIC_ATTR(enum_buf), - }; - /* 分割字符串 str_buf 并穷举匹配到的值,输出 match_key, match_value, type_flag */ char *match_key = NULL; char *match_value = NULL; - _get_enum_by_param(¶m, &match_key, &match_value, enum_buf, false, true); + _get_enum_by_param(enum_buf, __GENERIC_ATTR(enum_buf), &match_key, &match_value, enum_buf, false, true); } else { @@ -667,11 +666,9 @@ static bool _do_completing_enum(const char *option, const sh_vset_param_t *p, un return false; } -static int _set_dest_unsigned(const __vset_param_t *param, unsigned int value, unsigned int low, unsigned int high) +static int _set_dest_unsigned(void *dest, __type_attr_t attr, vset_cb cb, unsigned int value, unsigned int low, unsigned int high) { - void *dest = param->dest; - __type_attr_t attr = param->attr; - vset_global_cb cb = NULL; + vset_global_cb global_cb = NULL; int ret = -1; SYS_ASSERT(attr < __ARR_SIZE(s_attr_to_type_tbl), "attr 的值不在 __type_attr_t 所定义的范围"); @@ -703,7 +700,7 @@ static int _set_dest_unsigned(const __vset_param_t *param, unsigned int value, u { _PARAM_CB(); *((uint8_t *)dest) = value; - cb = s_global_cb; + global_cb = s_global_cb; } ret = 0; break; @@ -721,7 +718,7 @@ static int _set_dest_unsigned(const __vset_param_t *param, unsigned int value, u { _PARAM_CB(); *((uint16_t *)dest) = value; - cb = s_global_cb; + global_cb = s_global_cb; } ret = 0; break; @@ -733,7 +730,7 @@ static int _set_dest_unsigned(const __vset_param_t *param, unsigned int value, u { _PARAM_CB(); *((uint32_t *)dest) = value; - cb = s_global_cb; + global_cb = s_global_cb; } ret = 0; break; @@ -745,7 +742,7 @@ static int _set_dest_unsigned(const __vset_param_t *param, unsigned int value, u { _PARAM_CB(); *((uint64_t *)dest) = value; - cb = s_global_cb; + global_cb = s_global_cb; } ret = 0; break; @@ -755,23 +752,21 @@ static int _set_dest_unsigned(const __vset_param_t *param, unsigned int value, u return -1; } - if (cb) + if (global_cb) { - cb(s_sh_hdl); + global_cb(s_sh_hdl); } return ret; } -static int _set_dest_integer(const __vset_param_t *param, signed int value, signed int low, signed int high) +static int _set_dest_integer(void *dest, __type_attr_t attr, vset_cb cb, signed int value, signed int low, signed int high) { #define _MAX_S8 127 #define _MIN_S8 -128 #define _MAX_S16 32767 #define _MIN_S16 -32768 - void *dest = param->dest; - __type_attr_t attr = param->attr; - vset_global_cb cb = NULL; + vset_global_cb global_cb = NULL; int ret = -1; SYS_ASSERT(attr < __ARR_SIZE(s_attr_to_type_tbl), "attr 的值不在 __type_attr_t 所定义的范围"); @@ -803,7 +798,7 @@ static int _set_dest_integer(const __vset_param_t *param, signed int value, sign { _PARAM_CB(); *((char *)dest) = data; - cb = s_global_cb; + global_cb = s_global_cb; } ret = 0; break; @@ -821,7 +816,7 @@ static int _set_dest_integer(const __vset_param_t *param, signed int value, sign { _PARAM_CB(); *((bool *)dest) = data; - cb = s_global_cb; + global_cb = s_global_cb; } ret = 0; break; @@ -841,7 +836,7 @@ static int _set_dest_integer(const __vset_param_t *param, signed int value, sign { _PARAM_CB(); *((int8_t *)dest) = value; - cb = s_global_cb; + global_cb = s_global_cb; } ret = 0; break; @@ -861,7 +856,7 @@ static int _set_dest_integer(const __vset_param_t *param, signed int value, sign { _PARAM_CB(); *((int16_t *)dest) = value; - cb = s_global_cb; + global_cb = s_global_cb; } ret = 0; break; @@ -873,7 +868,7 @@ static int _set_dest_integer(const __vset_param_t *param, signed int value, sign { _PARAM_CB(); *((int32_t *)dest) = value; - cb = s_global_cb; + global_cb = s_global_cb; } ret = 0; break; @@ -885,7 +880,7 @@ static int _set_dest_integer(const __vset_param_t *param, signed int value, sign { _PARAM_CB(); *((int64_t *)dest) = value; - cb = s_global_cb; + global_cb = s_global_cb; } ret = 0; break; @@ -895,18 +890,16 @@ static int _set_dest_integer(const __vset_param_t *param, signed int value, sign return -1; } - if (cb) + if (global_cb) { - cb(s_sh_hdl); + global_cb(s_sh_hdl); } return ret; } -static int _set_dest_float(const __vset_param_t *param, float value, float low, float high) +static int _set_dest_float(void *dest, __type_attr_t attr, vset_cb cb, float value, float low, float high) { - void *dest = param->dest; - __type_attr_t attr = param->attr; - vset_global_cb cb = NULL; + vset_global_cb global_cb = NULL; int ret = -1; SYS_ASSERT(attr < __ARR_SIZE(s_attr_to_type_tbl), "attr 的值不在 __type_attr_t 所定义的范围"); @@ -932,7 +925,7 @@ static int _set_dest_float(const __vset_param_t *param, float value, float low, { _PARAM_CB(); *((float *)dest) = value; - cb = s_global_cb; + global_cb = s_global_cb; } ret = 0; break; @@ -943,7 +936,7 @@ static int _set_dest_float(const __vset_param_t *param, float value, float low, { _PARAM_CB(); *((double *)dest) = value; - cb = s_global_cb; + global_cb = s_global_cb; } ret = 0; break; @@ -953,19 +946,17 @@ static int _set_dest_float(const __vset_param_t *param, float value, float low, return -1; } - if (cb) + if (global_cb) { - cb(s_sh_hdl); + global_cb(s_sh_hdl); } return ret; } -static int _set_dest_string(const __vset_param_t *param, const char *str, unsigned bufsize) +static int _set_dest_string(void *dest, __type_attr_t attr, vset_cb cb, const char *str, unsigned bufsize) { - void *dest = param->dest; int str_size = strlen(str) + 1; - __type_attr_t attr = param->attr; - vset_global_cb cb = NULL; + vset_global_cb global_cb = NULL; int ret = -1; SYS_ASSERT(attr < __ARR_SIZE(s_attr_to_type_tbl), "attr 的值不在 __type_attr_t 所定义的范围"); @@ -974,6 +965,7 @@ static int _set_dest_string(const __vset_param_t *param, const char *str, unsign if (str_size > bufsize) { sh_echo(s_sh_hdl, "注意: '%s' 大于最大长度 %d\r\n", str, bufsize - 1); + str_size = bufsize; } switch (attr) @@ -982,14 +974,15 @@ static int _set_dest_string(const __vset_param_t *param, const char *str, unsign memset(dest, 0, bufsize); if (memcmp(dest, str, str_size)) { - if (param->cb) + if (cb) { - char value[0x100]; - memcpy(dest, str, str_size); + char value[str_size + 1]; + memset(value, 0, str_size + 1); + memcpy(value, str, str_size); _PARAM_CB(); } memcpy(dest, str, str_size); - cb = s_global_cb; + global_cb = s_global_cb; } ret = 0; break; @@ -998,17 +991,17 @@ static int _set_dest_string(const __vset_param_t *param, const char *str, unsign return -1; } - if (cb) + if (global_cb) { - cb(s_sh_hdl); + global_cb(s_sh_hdl); } return ret; } -static int _set_dest_enum(const __vset_param_t *param, const char *value, int type_flag) +static int _set_dest_enum(void *dest, __type_attr_t attr, vset_cb cb, const char *value, int type_flag) { sh_parse_t pv = sh_parse_value(value); - switch (s_attr_to_type_tbl[param->attr]) + switch (s_attr_to_type_tbl[attr]) { case _PARSE_TYPE_UNSIGNED: // 待设置的参数格式是无符号整型 { @@ -1020,7 +1013,7 @@ static int _set_dest_enum(const __vset_param_t *param, const char *value, int ty switch (pv.type) { case _PARSE_TYPE_UNSIGNED: // 当前匹配的参数格式是无符号整型 - return _set_dest_unsigned(param, pv.value.val_unsigned, pv.value.val_unsigned, pv.value.val_unsigned); + return _set_dest_unsigned(dest, attr, cb, pv.value.val_unsigned, pv.value.val_unsigned, pv.value.val_unsigned); default: return -1; @@ -1038,10 +1031,10 @@ static int _set_dest_enum(const __vset_param_t *param, const char *value, int ty switch (pv.type) { case _PARSE_TYPE_INTEGER: // 当前匹配的参数格式是带符号整型 - return _set_dest_integer(param, pv.value.val_integer, pv.value.val_integer, pv.value.val_integer); + return _set_dest_integer(dest, attr, cb, pv.value.val_integer, pv.value.val_integer, pv.value.val_integer); case _PARSE_TYPE_UNSIGNED: // 当前匹配的参数格式是无符号整型 - return _set_dest_integer(param, pv.value.val_unsigned, pv.value.val_unsigned, pv.value.val_unsigned); + return _set_dest_integer(dest, attr, cb, pv.value.val_unsigned, pv.value.val_unsigned, pv.value.val_unsigned); default: return -1; @@ -1059,13 +1052,13 @@ static int _set_dest_enum(const __vset_param_t *param, const char *value, int ty switch (pv.type) { case _PARSE_TYPE_INTEGER: // 当前匹配的参数格式是带符号整型 - return _set_dest_float(param, pv.value.val_integer, pv.value.val_integer, pv.value.val_integer); + return _set_dest_float(dest, attr, cb, pv.value.val_integer, pv.value.val_integer, pv.value.val_integer); case _PARSE_TYPE_UNSIGNED: // 当前匹配的参数格式是无符号整型 - return _set_dest_float(param, pv.value.val_unsigned, pv.value.val_unsigned, pv.value.val_unsigned); + return _set_dest_float(dest, attr, cb, pv.value.val_unsigned, pv.value.val_unsigned, pv.value.val_unsigned); case _PARSE_TYPE_FLOAT: // 当前匹配的参数格式是浮点数 - return _set_dest_float(param, pv.value.val_float, pv.value.val_float, pv.value.val_float); + return _set_dest_float(dest, attr, cb, pv.value.val_float, pv.value.val_float, pv.value.val_float); default: return -1; @@ -1075,96 +1068,96 @@ static int _set_dest_enum(const __vset_param_t *param, const char *value, int ty case _PARSE_TYPE_STRING: // 待设置的参数格式是字符串 { - return _set_dest_string(param, value, strlen(value) + 1); + return _set_dest_string(dest, attr, cb, value, strlen(value) + 1); } break; default: - sh_echo(s_sh_hdl, "param->attr 的值不在 __type_attr_t 所定义的范围\r\n"); + sh_echo(s_sh_hdl, "attr 的值不在 __type_attr_t 所定义的范围\r\n"); return -1; } return -1; } -static signed int _get_integer(const __vset_param_t *param) +static signed int _get_integer(void *dest, __type_attr_t attr) { SYS_ASSERT(s_sh_hdl, "未使用 vset_init() 初始化"); - SYS_ASSERT(param->attr < __ARR_SIZE(s_attr_to_type_tbl), "param->attr 的值不在 __type_attr_t 所定义的范围"); - SYS_ASSERT(s_attr_to_type_tbl[param->attr] == _PARSE_TYPE_INTEGER, "待设置的参数类型不是带符号整数"); + SYS_ASSERT(attr < __ARR_SIZE(s_attr_to_type_tbl), "attr 的值不在 __type_attr_t 所定义的范围"); + SYS_ASSERT(s_attr_to_type_tbl[attr] == _PARSE_TYPE_INTEGER, "待设置的参数类型不是带符号整数"); - switch (param->attr) + switch (attr) { case __TYPE_ATTR_CHR: - return *((char *)param->dest); + return *((char *)dest); case __TYPE_ATTR_BOOL: - return *((bool *)param->dest); + return *((bool *)dest); case __TYPE_ATTR_S8: - return *((int8_t *)param->dest); + return *((int8_t *)dest); case __TYPE_ATTR_S16: - return *((int16_t *)param->dest); + return *((int16_t *)dest); case __TYPE_ATTR_S32: - return *((int32_t *)param->dest); + return *((int32_t *)dest); case __TYPE_ATTR_S64: - return *((int64_t *)param->dest); + return *((int64_t *)dest); default: return -1; } } -static float _get_float(const __vset_param_t *param) +static float _get_float(void *dest, __type_attr_t attr) { SYS_ASSERT(s_sh_hdl, "未使用 vset_init() 初始化"); - SYS_ASSERT(param->attr < __ARR_SIZE(s_attr_to_type_tbl), "param->attr 的值不在 __type_attr_t 所定义的范围"); - SYS_ASSERT(s_attr_to_type_tbl[param->attr] == _PARSE_TYPE_FLOAT, "待设置的参数类型不是浮点数"); + SYS_ASSERT(attr < __ARR_SIZE(s_attr_to_type_tbl), "attr 的值不在 __type_attr_t 所定义的范围"); + SYS_ASSERT(s_attr_to_type_tbl[attr] == _PARSE_TYPE_FLOAT, "待设置的参数类型不是浮点数"); - switch (param->attr) + switch (attr) { case __TYPE_ATTR_FLOAT: - return *((float *)param->dest); + return *((float *)dest); case __TYPE_ATTR_DOUBLE: - return *((double *)param->dest); + return *((double *)dest); default: return -1; } } -static char *_get_string(const __vset_param_t *param) +static char *_get_string(void *dest, __type_attr_t attr) { SYS_ASSERT(s_sh_hdl, "未使用 vset_init() 初始化"); - SYS_ASSERT(param->attr < __ARR_SIZE(s_attr_to_type_tbl), "param->attr 的值不在 __type_attr_t 所定义的范围"); - SYS_ASSERT(s_attr_to_type_tbl[param->attr] == _PARSE_TYPE_STRING, "待设置的参数类型不是字符串"); + SYS_ASSERT(attr < __ARR_SIZE(s_attr_to_type_tbl), "attr 的值不在 __type_attr_t 所定义的范围"); + SYS_ASSERT(s_attr_to_type_tbl[attr] == _PARSE_TYPE_STRING, "待设置的参数类型不是字符串"); - return param->dest; + return dest; } -static unsigned int _get_unsigned(const __vset_param_t *param) +static unsigned int _get_unsigned(void *dest, __type_attr_t attr) { SYS_ASSERT(s_sh_hdl, "未使用 vset_init() 初始化"); - SYS_ASSERT(param->attr < __ARR_SIZE(s_attr_to_type_tbl), "param->attr 的值不在 __type_attr_t 所定义的范围"); - SYS_ASSERT(s_attr_to_type_tbl[param->attr] == _PARSE_TYPE_UNSIGNED, "待设置的参数类型不是正整数"); + SYS_ASSERT(attr < __ARR_SIZE(s_attr_to_type_tbl), "attr 的值不在 __type_attr_t 所定义的范围"); + SYS_ASSERT(s_attr_to_type_tbl[attr] == _PARSE_TYPE_UNSIGNED, "待设置的参数类型不是正整数"); - switch (param->attr) + switch (attr) { case __TYPE_ATTR_U8: - return *((uint8_t *)param->dest); + return *((uint8_t *)dest); case __TYPE_ATTR_U16: - return *((uint16_t *)param->dest); + return *((uint16_t *)dest); case __TYPE_ATTR_U32: - return *((uint32_t *)param->dest); + return *((uint32_t *)dest); case __TYPE_ATTR_U64: - return *((uint64_t *)param->dest); + return *((uint64_t *)dest); default: return -1; @@ -1318,37 +1311,37 @@ static int _get_enum_by_key(const char *key, char **match_value, char *enum_buf) * _TYPE_FLAG_FLOAT 掩码表示在 enum_buf 中包含浮点数 * _TYPE_FLAG_STRING 掩码表示在 enum_buf 中包含字符串 */ -static int _get_enum_by_param(const __vset_param_t *param, char **match_key, char **match_value, char *enum_buf, bool print_list, bool print_cp) +static int _get_enum_by_param(void *dest, __type_attr_t attr, char **match_key, char **match_value, char *enum_buf, bool print_list, bool print_cp) { char param_value_str[0x100]; int type_flag = 0; // 在 match_value 中出现过的数据类型 - if (param->attr >= __ARR_SIZE(s_attr_to_type_tbl)) + if (attr >= __ARR_SIZE(s_attr_to_type_tbl)) { - sh_echo(s_sh_hdl, "param->attr 的值不在 __type_attr_t 所定义的范围\r\n"); + sh_echo(s_sh_hdl, "attr 的值不在 __type_attr_t 所定义的范围\r\n"); return -1; } - switch (s_attr_to_type_tbl[param->attr]) + switch (s_attr_to_type_tbl[attr]) { case _PARSE_TYPE_INTEGER: // 待设置的参数格式是带符号整型 - SYS_SNPRINT(param_value_str, sizeof(param_value_str), "%d", _get_integer(param)); + SYS_SNPRINT(param_value_str, sizeof(param_value_str), "%d", _get_integer(dest, attr)); break; case _PARSE_TYPE_UNSIGNED: // 待设置的参数格式是无符号整型 - SYS_SNPRINT(param_value_str, sizeof(param_value_str), "%u", _get_unsigned(param)); + SYS_SNPRINT(param_value_str, sizeof(param_value_str), "%u", _get_unsigned(dest, attr)); break; case _PARSE_TYPE_FLOAT: // 待设置的参数格式是浮点数 - SYS_SNPRINT(param_value_str, sizeof(param_value_str), "%f", _get_float(param)); + SYS_SNPRINT(param_value_str, sizeof(param_value_str), "%f", _get_float(dest, attr)); break; case _PARSE_TYPE_STRING: // 待设置的参数格式是字符串 - SYS_SNPRINT(param_value_str, sizeof(param_value_str), "%s", _get_string(param)); + SYS_SNPRINT(param_value_str, sizeof(param_value_str), "%s", _get_string(dest, attr)); break; default: - sh_echo(s_sh_hdl, "param->attr 的值不在 __type_attr_t 所定义的范围\r\n"); + sh_echo(s_sh_hdl, "attr 的值不在 __type_attr_t 所定义的范围\r\n"); return -1; } param_value_str[__ARR_SIZE(param_value_str) - 1] = '\0'; @@ -1378,7 +1371,7 @@ static int _get_enum_by_param(const __vset_param_t *param, char **match_key, cha type_flag |= _TYPE_FLAG_UNSIGNED; if (*match_key == NULL) { - switch (s_attr_to_type_tbl[param->attr]) + switch (s_attr_to_type_tbl[attr]) { case _PARSE_TYPE_UNSIGNED: // 待设置的参数格式是无符号整型 SYS_SNPRINT(key_value_str, sizeof(key_value_str), "%u", pv.value.val_unsigned); @@ -1402,7 +1395,7 @@ static int _get_enum_by_param(const __vset_param_t *param, char **match_key, cha type_flag |= _TYPE_FLAG_INTEGER; if (*match_key == NULL) { - switch (s_attr_to_type_tbl[param->attr]) + switch (s_attr_to_type_tbl[attr]) { case _PARSE_TYPE_INTEGER: // 待设置的参数格式是带符号整型 SYS_SNPRINT(key_value_str, sizeof(key_value_str), "%d", pv.value.val_integer); @@ -1423,7 +1416,7 @@ static int _get_enum_by_param(const __vset_param_t *param, char **match_key, cha type_flag |= _TYPE_FLAG_FLOAT; if (*match_key == NULL) { - switch (s_attr_to_type_tbl[param->attr]) + switch (s_attr_to_type_tbl[attr]) { case _PARSE_TYPE_FLOAT: // 待设置的参数格式是浮点数 SYS_SNPRINT(key_value_str, sizeof(key_value_str), "%f", (float)pv.value.val_float); @@ -1481,7 +1474,7 @@ static int _get_enum_by_param(const __vset_param_t *param, char **match_key, cha token = strtok_r(NULL, ",", &save_token); } - switch (s_attr_to_type_tbl[param->attr]) + switch (s_attr_to_type_tbl[attr]) { case _PARSE_TYPE_UNSIGNED: // 待设置的参数格式是无符号整型 { diff --git a/components/system/source/shell/sh_vset.h b/components/system/source/shell/sh_vset.h index cff3158..0cc67bf 100755 --- a/components/system/source/shell/sh_vset.h +++ b/components/system/source/shell/sh_vset.h @@ -27,11 +27,11 @@ * - @b PSET_CP 根据一个已定义的 const sh_vset_param_t* 执行自动补选项 * * 实例1: 以下这些函数可被 SH_SETUP_CMD 中定义的 FUNC 执行,或者作为 sh_vset_param_t::set_func 的成员 - * static int _value_set_u8(const char *argv[]) { SET_VAR(&var_u8, 1, 200); } - * static int _value_set_s16(const char *argv[]) { SET_VAR(&var_s16, -1000, 1000); } - * static int _value_set_float(const char *argv[]) { SET_VAR(&var_float, -1000, var_u8); } - * static int _value_set_str(const char *argv[]) { SET_VAR(&var_str, 0, 0); } - * static int _value_set_enum(const char *argv[]) { SET_ENUM(&var_s32, "enable=1,disable=0"); } + * static int _value_set_u8(const char *argv[]) { return SET_VAR(&var_u8, 1, 200); } + * static int _value_set_s16(const char *argv[]) { return SET_VAR(&var_s16, -1000, 1000); } + * static int _value_set_float(const char *argv[]) { return SET_VAR(&var_float, -1000, var_u8); } + * static int _value_set_str(const char *argv[]) { return SET_VAR(&var_str, 0, 0); } + * static int _value_set_enum(const char *argv[]) { return SET_ENUM(&var_s32, "enable=1,disable=0"); } * * 实例2: 实现选项+参数的格式 * static sh_vset_param_t const s_param_template[] = { @@ -77,14 +77,6 @@ typedef enum */ typedef void (*vset_cb)(sh_t *sh_hdl, void *new_value); -/* 待设置变量数据结构 */ -typedef struct -{ - void *dest; - __type_attr_t attr; - vset_cb cb; -} __vset_param_t; - #define __GENERIC_ATTR(VAR) (__builtin_types_compatible_p(__typeof(VAR), char) ? __TYPE_ATTR_CHR \ : __builtin_types_compatible_p(__typeof(VAR), volatile char) ? __TYPE_ATTR_CHR \ : __builtin_types_compatible_p(__typeof(VAR), bool) ? __TYPE_ATTR_BOOL \ @@ -122,71 +114,41 @@ typedef struct // 用于长选项设置的描述结构 const char *enum_str; // 仅在类型为 vset_enum_fn 时有效,为对应的选项提供可选的补全参数选项,值为 NULL 或 "" 时默认候选参数为 '?' } sh_vset_param_t; -int vset_unsigned(const __vset_param_t *param, const char *argv[], unsigned int low, unsigned int high); -int vset_integer(const __vset_param_t *param, const char *argv[], signed int low, signed int high); -int vset_float(const __vset_param_t *param, const char *argv[], float low, float high); -int vset_str(const __vset_param_t *param, const char *argv[], unsigned bufsize); -int vset_enum(const __vset_param_t *param, const char *argv[], const char *enum_str); +int vset_unsigned(void *dest, __type_attr_t attr, vset_cb cb, const char *argv[], unsigned int low, unsigned int high); +int vset_integer(void *dest, __type_attr_t attr, vset_cb cb, const char *argv[], signed int low, signed int high); +int vset_float(void *dest, __type_attr_t attr, vset_cb cb, const char *argv[], float low, float high); +int vset_str(void *dest, __type_attr_t attr, vset_cb cb, const char *argv[], unsigned bufsize); +int vset_enum(void *dest, __type_attr_t attr, vset_cb cb, const char *argv[], const char *enum_str); void vset_cp_enum(int argc, bool flag, const char *enum_str); int vset_option_set(sh_t *sh_hdl, int *argc, const char *argv[], const sh_vset_param_t *p, unsigned size); bool vset_option_cp(sh_t *sh_hdl, int argc, const char *argv[], bool flag, const sh_vset_param_t *p, unsigned size); /* 自动分析并设置变量的值,带设置回调 */ -#define SET_VAR_CB(NAME, LOW, HIGH, CB) \ - do \ - { \ - static __vset_param_t const param = { \ - .dest = NAME, \ - .attr = __GENERIC_ATTR(*(NAME)), \ - .cb = CB, \ - }; \ - if ( \ - __GENERIC_ATTR(*(NAME)) == __TYPE_ATTR_U8 || \ - __GENERIC_ATTR(*(NAME)) == __TYPE_ATTR_U16 || \ - __GENERIC_ATTR(*(NAME)) == __TYPE_ATTR_U32 || \ - __GENERIC_ATTR(*(NAME)) == __TYPE_ATTR_U64) \ - { \ - return vset_unsigned(¶m, argv, LOW, HIGH); \ - } \ - else if ( \ - __GENERIC_ATTR(*(NAME)) == __TYPE_ATTR_CHR || \ - __GENERIC_ATTR(*(NAME)) == __TYPE_ATTR_BOOL || \ - __GENERIC_ATTR(*(NAME)) == __TYPE_ATTR_S8 || \ - __GENERIC_ATTR(*(NAME)) == __TYPE_ATTR_S16 || \ - __GENERIC_ATTR(*(NAME)) == __TYPE_ATTR_S32 || \ - __GENERIC_ATTR(*(NAME)) == __TYPE_ATTR_S64) \ - { \ - return vset_integer(¶m, argv, LOW, HIGH); \ - } \ - else if ( \ - __GENERIC_ATTR(*(NAME)) == __TYPE_ATTR_FLOAT || \ - __GENERIC_ATTR(*(NAME)) == __TYPE_ATTR_DOUBLE) \ - { \ - return vset_float(¶m, argv, LOW, HIGH); \ - } \ - else if ( \ - __GENERIC_ATTR(*(NAME)) == __TYPE_ATTR_STR) \ - { \ - return vset_str(¶m, argv, sizeof(*(NAME))); \ - } \ - else \ - { \ - return -1; \ - } \ - } while (0) +#define SET_VAR_CB(NAME, LOW, HIGH, CB) \ + ((__GENERIC_ATTR(*(NAME)) == __TYPE_ATTR_U8 || \ + __GENERIC_ATTR(*(NAME)) == __TYPE_ATTR_U16 || \ + __GENERIC_ATTR(*(NAME)) == __TYPE_ATTR_U32 || \ + __GENERIC_ATTR(*(NAME)) == __TYPE_ATTR_U64) \ + ? vset_unsigned(NAME, __GENERIC_ATTR(*(NAME)), CB, argv, LOW, HIGH) \ + : ((__GENERIC_ATTR(*(NAME)) == __TYPE_ATTR_CHR || \ + __GENERIC_ATTR(*(NAME)) == __TYPE_ATTR_BOOL || \ + __GENERIC_ATTR(*(NAME)) == __TYPE_ATTR_S8 || \ + __GENERIC_ATTR(*(NAME)) == __TYPE_ATTR_S16 || \ + __GENERIC_ATTR(*(NAME)) == __TYPE_ATTR_S32 || \ + __GENERIC_ATTR(*(NAME)) == __TYPE_ATTR_S64) \ + ? vset_integer(NAME, __GENERIC_ATTR(*(NAME)), CB, argv, LOW, HIGH) \ + : ((__GENERIC_ATTR(*(NAME)) == __TYPE_ATTR_FLOAT || \ + __GENERIC_ATTR(*(NAME)) == __TYPE_ATTR_DOUBLE) \ + ? vset_float(NAME, __GENERIC_ATTR(*(NAME)), CB, argv, LOW, HIGH) \ + : ((__GENERIC_ATTR(*(NAME)) == __TYPE_ATTR_STR) \ + ? vset_str(NAME, __GENERIC_ATTR(*(NAME)), CB, argv, sizeof(*(NAME))) \ + : -1)))) /* 设置数据类型为 枚举型 的变量,带设置回调 */ #define SET_ENUM_CB(NAME, ENUM_STR, CB) \ - do \ - { \ - static __vset_param_t const param = { \ - .dest = NAME, \ - .attr = __GENERIC_ATTR(*(NAME)), \ - .cb = CB, \ - }; \ - return vset_enum(¶m, argv, ENUM_STR); \ - } while (0) + (vset_enum(NAME, __GENERIC_ATTR(*(NAME)), CB, \ + argv, ENUM_STR)) /* 自动分析并设置变量的值 */ #define SET_VAR(NAME, LOW, HIGH) SET_VAR_CB(NAME, LOW, HIGH, NULL) @@ -194,16 +156,6 @@ bool vset_option_cp(sh_t *sh_hdl, int argc, const char *argv[], bool flag, const /* 设置数据类型为 枚举型 的变量 */ #define SET_ENUM(NAME, ENUM_STR) SET_ENUM_CB(NAME, ENUM_STR, NULL) -/* 对应 SET_VAR 所设置的变量的可用自动补全函数 */ -#define SET_CP_VAR() \ - do \ - { \ - if (argc + flag == 1) \ - { \ - sh_completion_resource(sh_hdl, NULL, "? ", NULL); \ - } \ - } while (0) - /* 对应 SET_ENUM 所设置的变量的可用自动补全函数 */ #define SET_CP_ENUM(ENUM_STR) \ do \ @@ -216,8 +168,67 @@ bool vset_option_cp(sh_t *sh_hdl, int argc, const char *argv[], bool flag, const typedef void (*vset_global_cb)(sh_t *sh_hdl); -void vset_init(sh_t *sh_hdl, vset_global_cb cb); +void vset_init(sh_t *sh_hdl, vset_global_cb global_cb); void vset_force_cb(void); +/** + * @note 对本函数的进一步说明。 + * + * 在 sh 模块设计完成后,发现除了用于执行某些定义好的的操作外,更多情况下是用于设置变量。 + * 为了更好的支持这种需求,本模块应运而生。 + * 本模块的设计目标是通过命令行的形式设置变量,同时支持对变量的取值范围限制。 + * 本模块的设计思路是通过宏定义,将变量的类型和取值范围传递给 SET_VAR() 或 SET_ENUM() 进行具体的设置。 + * 本模块主要使用到的宏定义有: + * - @b SET_VAR() + * - @b SET_ENUM() + * - @b SET_CP_ENUM() + * - @b PSET_FN() + * - @b PSET_CP() + * + * 这些都是根据实际的使用场景定义的。 + * 根据 sh 模块的主体功能,分为两个部分(可在使用 SH_SETUP_CMD() 定义命令时的第三和第四个参数来体现): + * - 一个是用于执行某些操作的函数。 + * - 另一个是用于像 bash 一样,按 Tab 键自动补全的函数。 + * 对于前者,可在实际执行函数中直接使用 SET_VAR() 或 SET_ENUM() 来设置变量。 + * 对于后者,可在实际补全函数中直接使用 SET_CP_ENUM() 来提示可选项和可选值。 + * + * 为什么设置宏要分两种? + * SET_VAR() 和 SET_ENUM() 的本质区别是, SET_VAR() 用于设置无符号整形、带符号整型、单精度的浮点数和字符串的变量,它们的取值范围是连续的。 + * 值得注意的是: SET_VAR() 也支持字符串的设置,但是字符串的取值范围是无法限制的。 + * 而 SET_ENUM() 用于设置枚举型的变量,它的取值范围是允许离散的,并且可用一些字符串来表示具体的取值。 + * + * 为什么补全函数只有 SET_CP_ENUM() ? + * 因为 SET_ENUM() 的取值范围是离散的,所以需要一个额外的函数来提供可选的补全参数选项。对于连续的取值范围,不需要这个函数。 + * + * 设置宏较为独立,虽然它是为了配合本模块而设计的,但是它的功能是独立的,在传输的参数中的 sh_hdl 主要是为了回显一些错误信息。 + * 补全宏则是为了配合 sh 模块的补全功能而设计的,它的功能是为了提供可选的补全参数选项。 + * + * 小结: + * - SET_VAR() 和 SET_ENUM() 用于设置变量的值。 + * - SET_CP_ENUM() 用于提供可选的补全参数选项。 + * - 它们可能在命令执行函数和补全函数中直接使用。 + * + * 接着新问题来了,使用 SET_VAR() 或 SET_ENUM() 时,只能设置一个变量,如果这个命令要包含多种设置,该怎么办? + * 为了解决这个问题,本模块引入了 sh_vset_param_t 结构体,它是一个数组,用于描述支待的待设置变量的具体类型。 + * 它统一描述了该命令的所有选项,包括选项的名称、选项的描述、选项的设置函数和选项的可选值。 + * 在命令执行函数和补全函数中,通过调用 PSET_FN() 和 PSET_CP() 来执行具体的设置。 + * 这两个宏的参数就是 sh_vset_param_t 结构体的数组。 + * 这个结构体的定义是固定的,它的成员包括: + * - 选项,如 "--value" + * - 对该选项的描述 + * - 与 option 对应的,使用宏 SET_VAR() 或 SET_ENUM() 设置变量的函数。如果值为 NULL 表示该选项无参数,同时对应的输入参数被保留 + * - 仅在类型为 vset_enum_fn 时有效,为对应的选项提供可选的补全参数选项,值为 NULL 或 "" 时默认候选参数为 '?' + * 通过设置这个结构,便可得到一个完整的命令格式: <命令> [选项 <参数>] [选项 <参数>] ... + * + * 其他一些细节: + * - 这些宏都是以最简约的形式定义的,以便在有大量数据的情况下降低阅读难度。在一些特殊情况下,可根据这些提及到的宏的定义展开理解再灵活使用。 + * + * 总结: + * SET_VAR(), SET_ENUM() 和 SET_CP_ENUM() 是用于单个变量的设置和补全,它们可以直接在命令执行函数和补全函数中使用,也可以在 sh_vset_param_t 结构体中对应的函数使用。 + * PSET_FN() 和 PSET_CP() 是用于多个变量的设置和补全,它们可以直接在命令执行函数和补全函数中被调用。 + * sh_vset_param_t 结构体是用于描述支待的待设置变量的具体类型,它可以直接在命令执行函数和补全函数中被调用。 + * + */ + #endif diff --git a/components/system/test/os_test.c b/components/system/test/os_test.c index 41d375e..81933fc 100755 --- a/components/system/test/os_test.c +++ b/components/system/test/os_test.c @@ -43,6 +43,12 @@ static test_single_t const test_tab_ipc[] = { os_test_pipe, }; +INIT_EXPORT_APP(99) +{ + SYS_LOG_INF("success"); + os_thread_sleep(200); +} + void os_test_main(void) { rand(); // rand() 用到 malloc() diff --git a/main/CMakeLists.txt b/main/CMakeLists.txt index 421eeb0..07a58a7 100644 --- a/main/CMakeLists.txt +++ b/main/CMakeLists.txt @@ -1,47 +1,14 @@ +# INCS +list(APPEND incs "../sal") -set(srcs-app -) -# 基础程序 -set(srcs-common - "ota.c" - "../app/app_main.c" - "../app/console.c" - "../app/drivers/data_port/sb_data_port.c" - "../app/drivers/data_port/uart/uart_port.c" - "../app/button/button_event.c" -) +# SRCS +list(APPEND srcs "main.c") +list(APPEND srcs "ota.c") -# 自定义框架抽象层 -set(srcs-components - "../components/system/source/k_kit/k_kit.c" - "../components/system/source/shell/sh_vt100.c" - "../components/system/source/shell/sh_vset.c" - "../components/system/source/shell/sh.c" - "../sal/esp32s3/kernel/os_heap.c" - "../sal/esp32s3/kernel/os_mutex.c" - "../sal/esp32s3/kernel/os_hook.c" - "../sal/esp32s3/kernel/os_timer.c" - "../sal/esp32s3/kernel/os_semaphore.c" - "../sal/esp32s3/kernel/os_thread.c" - "../sal/esp32s3/kernel/os_kit.c" - "../sal/esp32s3/kernel/os_service.c" - "../sal/esp32s3/chip/uart_esp32.c" - "../sal/esp32s3/soc_shell.c" - "../app/config/board_config.c" -) -set(incs - "../app" - "../components/system/include" - "../components/system/source" - "../components/system/source/k_kit" - "../components/system/source/shell" - "../sal/esp32s3" - "../sal/esp32s3/kernel" - "${IDF_PATH}/components/freertos/FreeRTOS-Kernel/include/freertos" -) -idf_component_register(SRCS "main.c" - ${srcs-components} - ${srcs-common} - INCLUDE_DIRS "." ${incs}) +# idf_component_register +idf_component_register( + INCLUDE_DIRS ${incs} + SRCS ${srcs} + ) diff --git a/main/main.c b/main/main.c index b04faee..e9cc13f 100755 --- a/main/main.c +++ b/main/main.c @@ -9,83 +9,13 @@ * */ -#include "os/os.h" +#include "os_entry.h" #include "app_main.h" #include "ota.h" #include "nvs_flash.h" #include "esp_err.h" -#undef SYS_LOG_DOMAIN -#define SYS_LOG_DOMAIN "OS" -#include "os_util.h" - -#ifndef CONFIG_OS_THREAD_MAIN_STACK_SIZE -#define CONFIG_OS_THREAD_MAIN_STACK_SIZE 0x1C00 -#endif - -#ifndef CONFIG_OS_THREAD_MAIN_PRIORITY -#define CONFIG_OS_THREAD_MAIN_PRIORITY OS_PRIORITY_NORMAL -#endif - -static unsigned s_int_nest; - -static unsigned _port_interrupt_save(void) -{ - if (s_int_nest == 0) - { - os_interrupt_disable(); - } - return s_int_nest++; -} - -static void _port_interrupt_restore(unsigned nest) -{ - s_int_nest = nest; - if (nest == 0) - { - os_interrupt_enable(); - } -} - -static k_work_q_t *_port_get_work_q_hdl(void) -{ - struct os_thread_handle *thread_handle = os_thread_get_self(); - os_work_q_list_t *work_q_list = thread_handle->work_q_list; - return &work_q_list->work_q_handle; -} - -static void _port_thread_sleep(k_tick_t sleep_ticks) -{ - vTaskDelay(sleep_ticks); -} - -static void _os_init(void) -{ - static k_init_t const init_struct = { - .malloc = os_malloc, - .free = os_free, - .get_sys_ticks = os_get_sys_ticks, - .interrupt_save = _port_interrupt_save, - .interrupt_restore = _port_interrupt_restore, - .scheduler_disable = os_scheduler_suspend, - .scheduler_enable = os_scheduler_resume, - .get_work_q_hdl = _port_get_work_q_hdl, - .thread_sleep = _port_thread_sleep, - }; - k_init(&init_struct); - - os_work_q_create(default_os_work_q_hdl, - "app-work_q", - CONFIG_OS_THREAD_MAIN_STACK_SIZE, - CONFIG_OS_THREAD_MAIN_PRIORITY); - - extern void work_app_main(void *arg); - static os_work_t _work_hdl_init; - os_work_create(&_work_hdl_init, "work-main", work_app_main, NULL, 3); - os_work_submit(default_os_work_q_hdl, &_work_hdl_init, 0); -} - static void _init_prev_nvs(void) { esp_err_t err = nvs_flash_init(); @@ -110,7 +40,6 @@ int app_main(void) _init_prev_nvs(); /* 初始化 os 抽象层 */ - _os_init(); - - return 0; + extern void work_app_main(void *arg); + return os_entry(work_app_main); } diff --git a/sal/CMakeLists.txt b/sal/CMakeLists.txt new file mode 100644 index 0000000..0084825 --- /dev/null +++ b/sal/CMakeLists.txt @@ -0,0 +1,27 @@ +list(APPEND incs ".") +list(APPEND incs "${IDF_PATH}/components/freertos/FreeRTOS-Kernel/include/freertos") +list(APPEND incs "../components/system/include") +list(APPEND incs "../components/system/source") +list(APPEND incs "../components/system/source/k_kit") +list(APPEND incs "../components/system/source/shell") + +list(APPEND srcs "esp32/kernel/os_heap.c") +list(APPEND srcs "esp32/kernel/os_mutex.c") +list(APPEND srcs "esp32/kernel/os_hook.c") +list(APPEND srcs "esp32/kernel/os_timer.c") +list(APPEND srcs "esp32/kernel/os_semaphore.c") +list(APPEND srcs "esp32/kernel/os_thread.c") +list(APPEND srcs "esp32/kernel/os_kit.c") +list(APPEND srcs "esp32/kernel/os_service.c") +list(APPEND srcs "esp32/chip/uart_esp32.c") +list(APPEND srcs "esp32/soc_shell.c") +list(APPEND srcs "esp32/os_entry.c") + +idf_component_register( + INCLUDE_DIRS ${incs} + SRCS ${srcs} + REQUIRES + driver + nvs_flash + spi_flash +) diff --git a/sal/esp32s3/chip/uart_esp32.c b/sal/esp32/chip/uart_esp32.c similarity index 100% rename from sal/esp32s3/chip/uart_esp32.c rename to sal/esp32/chip/uart_esp32.c diff --git a/sal/esp32s3/kernel/os_debug.h b/sal/esp32/kernel/os_debug.h similarity index 100% rename from sal/esp32s3/kernel/os_debug.h rename to sal/esp32/kernel/os_debug.h diff --git a/sal/esp32s3/kernel/os_heap.c b/sal/esp32/kernel/os_heap.c similarity index 100% rename from sal/esp32s3/kernel/os_heap.c rename to sal/esp32/kernel/os_heap.c diff --git a/sal/esp32s3/kernel/os_hook.c b/sal/esp32/kernel/os_hook.c similarity index 100% rename from sal/esp32s3/kernel/os_hook.c rename to sal/esp32/kernel/os_hook.c diff --git a/sal/esp32s3/kernel/os_kit.c b/sal/esp32/kernel/os_kit.c similarity index 93% rename from sal/esp32s3/kernel/os_kit.c rename to sal/esp32/kernel/os_kit.c index 700f94c..450cf6d 100755 --- a/sal/esp32s3/kernel/os_kit.c +++ b/sal/esp32/kernel/os_kit.c @@ -211,6 +211,23 @@ os_state os_work_create(os_work_t *work_handle, const char *name, os_work_fn wor } } +os_state os_work_create_default(os_work_t *work_handle, const char *name, os_work_fn work_route, void *arg, uint8_t sub_prior, os_time_t delay_ms) +{ + if (!os_work_is_valid(work_handle)) + { + os_state ret = os_work_create(work_handle, name, work_route, arg, sub_prior); + if (ret == OS_OK) + { + os_work_submit(default_os_work_q_hdl, work_handle, delay_ms); + } + return ret; + } + else + { + return OS_OK; + } +} + void os_work_delete(os_work_t *work_handle) { OS_ASS_ISR(); diff --git a/sal/esp32s3/kernel/os_mutex.c b/sal/esp32/kernel/os_mutex.c similarity index 100% rename from sal/esp32s3/kernel/os_mutex.c rename to sal/esp32/kernel/os_mutex.c diff --git a/sal/esp32s3/kernel/os_semaphore.c b/sal/esp32/kernel/os_semaphore.c similarity index 100% rename from sal/esp32s3/kernel/os_semaphore.c rename to sal/esp32/kernel/os_semaphore.c diff --git a/sal/esp32s3/kernel/os_service.c b/sal/esp32/kernel/os_service.c similarity index 100% rename from sal/esp32s3/kernel/os_service.c rename to sal/esp32/kernel/os_service.c diff --git a/sal/esp32s3/kernel/os_thread.c b/sal/esp32/kernel/os_thread.c similarity index 99% rename from sal/esp32s3/kernel/os_thread.c rename to sal/esp32/kernel/os_thread.c index 1f78185..72aa079 100755 --- a/sal/esp32s3/kernel/os_thread.c +++ b/sal/esp32/kernel/os_thread.c @@ -127,7 +127,7 @@ os_state os_thread_create(os_thread_t *thread, thread_handle, OS_KERNEL_PRIO(priority), &thread_handle->pxCreatedTask, - 1); + 0); if (ret != pdPASS) { OS_ERR("err %d\r\n", ret); diff --git a/sal/esp32s3/kernel/os_timer.c b/sal/esp32/kernel/os_timer.c similarity index 100% rename from sal/esp32s3/kernel/os_timer.c rename to sal/esp32/kernel/os_timer.c diff --git a/sal/esp32s3/kernel/os_util.h b/sal/esp32/kernel/os_util.h similarity index 100% rename from sal/esp32s3/kernel/os_util.h rename to sal/esp32/kernel/os_util.h diff --git a/sal/esp32/os_entry.c b/sal/esp32/os_entry.c new file mode 100644 index 0000000..cfee036 --- /dev/null +++ b/sal/esp32/os_entry.c @@ -0,0 +1,72 @@ +#include "os_entry.h" + +#undef SYS_LOG_DOMAIN +#define SYS_LOG_DOMAIN "OS" +#include "kernel/os_util.h" + +#ifndef CONFIG_OS_THREAD_MAIN_STACK_SIZE +#define CONFIG_OS_THREAD_MAIN_STACK_SIZE 0x1C00 +#endif + +#ifndef CONFIG_OS_THREAD_MAIN_PRIORITY +#define CONFIG_OS_THREAD_MAIN_PRIORITY OS_PRIORITY_NORMAL +#endif + +static unsigned s_int_nest; + +static unsigned _port_interrupt_save(void) +{ + if (s_int_nest == 0) + { + os_interrupt_disable(); + } + return s_int_nest++; +} + +static void _port_interrupt_restore(unsigned nest) +{ + s_int_nest = nest; + if (nest == 0) + { + os_interrupt_enable(); + } +} + +static k_work_q_t *_port_get_work_q_hdl(void) +{ + struct os_thread_handle *thread_handle = os_thread_get_self(); + os_work_q_list_t *work_q_list = thread_handle->work_q_list; + return &work_q_list->work_q_handle; +} + +static void _port_thread_sleep(k_tick_t sleep_ticks) +{ + vTaskDelay(sleep_ticks); +} + +int os_entry(os_work_fn work_route) +{ + static k_init_t const init_struct = { + .malloc = os_malloc, + .free = os_free, + .get_sys_ticks = os_get_sys_ticks, + .interrupt_save = _port_interrupt_save, + .interrupt_restore = _port_interrupt_restore, + .scheduler_disable = os_scheduler_suspend, + .scheduler_enable = os_scheduler_resume, + .get_work_q_hdl = _port_get_work_q_hdl, + .thread_sleep = _port_thread_sleep, + }; + k_init(&init_struct); + + os_work_q_create(default_os_work_q_hdl, + "app-work_q", + CONFIG_OS_THREAD_MAIN_STACK_SIZE, + CONFIG_OS_THREAD_MAIN_PRIORITY); + + static os_work_t _work_hdl_init; + os_work_create(&_work_hdl_init, "work-main", work_route, NULL, 3); + os_work_submit(default_os_work_q_hdl, &_work_hdl_init, 0); + + return 0; +} diff --git a/sal/esp32s3/soc_shell.c b/sal/esp32/soc_shell.c similarity index 100% rename from sal/esp32s3/soc_shell.c rename to sal/esp32/soc_shell.c diff --git a/sal/esp32s3/soc_shell_base.c b/sal/esp32/soc_shell_base.c similarity index 100% rename from sal/esp32s3/soc_shell_base.c rename to sal/esp32/soc_shell_base.c diff --git a/sal/esp32s3/soc_shell_nvs.c b/sal/esp32/soc_shell_nvs.c similarity index 97% rename from sal/esp32s3/soc_shell_nvs.c rename to sal/esp32/soc_shell_nvs.c index 201f8bd..d059b01 100644 --- a/sal/esp32s3/soc_shell_nvs.c +++ b/sal/esp32/soc_shell_nvs.c @@ -19,7 +19,7 @@ static char s_nvs_str_buf[0x40]; -static int _value_set_str(const char *argv[]) { SET_VAR(&s_nvs_str_buf, 0, 0); } +static int _value_set_str(const char *argv[]) { return SET_VAR(&s_nvs_str_buf, 0, 0); } SH_CMD_FN(_nvs_dump); SH_CMD_FN(_nvs_erase); diff --git a/sal/os_entry.h b/sal/os_entry.h new file mode 100644 index 0000000..9259c46 --- /dev/null +++ b/sal/os_entry.h @@ -0,0 +1,5 @@ +#pragma once + +#include "os/os.h" + +int os_entry(os_work_fn work_route); diff --git a/sdkconfig.defaults b/sdkconfig.defaults index 6ea7a4f..14f4ff1 100644 --- a/sdkconfig.defaults +++ b/sdkconfig.defaults @@ -1,23 +1,23 @@ # This file was generated using idf.py save-defconfig. It can be edited manually. -# Espressif IoT Development Framework (ESP-IDF) Project Minimal Configuration +# Espressif IoT Development Framework (ESP-IDF) 5.2.1 Project Minimal Configuration # -CONFIG_IDF_TARGET="esp32c3" +CONFIG_IDF_TARGET="esp32s3" CONFIG_BOOTLOADER_LOG_LEVEL_WARN=y CONFIG_ESPTOOLPY_FLASHSIZE_4MB=y CONFIG_PARTITION_TABLE_CUSTOM=y -CONFIG_PRODUCT_TYPE_LEDSTRIP=y -CONFIG_CAP_LED_STRIP=y -CONFIG_LED_STRIP_SKIP_PWRUP=y CONFIG_BT_ENABLED=y +CONFIG_BT_LOG_HCI_TRACE_LEVEL_ERROR=y +CONFIG_BT_LOG_APPL_TRACE_LEVEL_ERROR=y CONFIG_BT_BLE_42_FEATURES_SUPPORTED=y +CONFIG_BT_CTRL_DFT_TX_POWER_LEVEL_P18=y CONFIG_ESP_HTTP_CLIENT_ENABLE_DIGEST_AUTH=y CONFIG_ESP_SLEEP_POWER_DOWN_FLASH=y +CONFIG_ESP_PHY_MAX_WIFI_TX_POWER=18 CONFIG_ESP_IPC_TASK_STACK_SIZE=1536 CONFIG_ESP_TIMER_TASK_STACK_SIZE=2048 CONFIG_FREERTOS_HZ=1000 -CONFIG_FREERTOS_IDLE_TASK_STACKSIZE=768 CONFIG_FREERTOS_ENABLE_BACKWARD_COMPATIBILITY=y -CONFIG_FREERTOS_TIMER_TASK_PRIORITY=25 +CONFIG_FREERTOS_TIMER_TASK_PRIORITY=24 CONFIG_FREERTOS_TIMER_TASK_STACK_DEPTH=1536 CONFIG_FREERTOS_VTASKLIST_INCLUDE_COREID=y CONFIG_FREERTOS_GENERATE_RUN_TIME_STATS=y