From e89e3e5cdc218617e437e8e7114e069d9993faad Mon Sep 17 00:00:00 2001 From: mahai Date: Mon, 7 Feb 2022 15:59:40 +0800 Subject: [PATCH] add dac guidance documents for platform drivers. Signed-off-by: mahai --- zh-cn/device-dev/driver/Readme-CN.md | 2 + zh-cn/device-dev/driver/driver-develop.md | 2 + .../driver/driver-platform-dac-des.md | 200 +++++++++++ .../driver/driver-platform-dac-develop.md | 330 ++++++++++++++++++ zh-cn/device-dev/driver/driver-platform.md | 2 + ...0\346\265\201\347\250\213\345\233\276.png" | Bin 0 -> 10972 bytes ...7\347\244\272\346\204\217\345\233\276.png" | Bin 0 -> 9552 bytes ...7\347\273\223\346\236\204\345\233\276.png" | Bin 0 -> 58566 bytes 8 files changed, 536 insertions(+) create mode 100644 zh-cn/device-dev/driver/driver-platform-dac-des.md create mode 100644 zh-cn/device-dev/driver/driver-platform-dac-develop.md create mode 100644 "zh-cn/device-dev/driver/figures/DAC\344\275\277\347\224\250\346\265\201\347\250\213\345\233\276.png" create mode 100644 "zh-cn/device-dev/driver/figures/DAC\347\211\251\347\220\206\350\277\236\347\272\277\347\244\272\346\204\217\345\233\276.png" create mode 100644 "zh-cn/device-dev/driver/figures/DAC\347\273\237\344\270\200\346\234\215\345\212\241\346\250\241\345\274\217\347\273\223\346\236\204\345\233\276.png" diff --git a/zh-cn/device-dev/driver/Readme-CN.md b/zh-cn/device-dev/driver/Readme-CN.md index 1db6007a4f7..efa92f02d96 100755 --- a/zh-cn/device-dev/driver/Readme-CN.md +++ b/zh-cn/device-dev/driver/Readme-CN.md @@ -9,6 +9,7 @@ - [HDF开发实例](driver-hdf-sample.md) - [平台驱动开发](driver-develop.md) - [ADC](driver-platform-adc-develop.md) + - [DAC](driver-platform-dac-develop.md) - [GPIO](driver-platform-gpio-develop.md) - [HDMI](driver-platform-hdmi-develop.md) - [I2C](driver-platform-i2c-develop.md) @@ -24,6 +25,7 @@ - [WatchDog](driver-platform-watchdog-develop.md) - [平台驱动使用](driver-platform.md) - [ADC](driver-platform-adc-des.md) + - [DAC](driver-platform-dac-des.md) - [GPIO](driver-platform-gpio-des.md) - [HDMI](driver-platform-hdmi-des.md) - [I2C](driver-platform-i2c-des.md) diff --git a/zh-cn/device-dev/driver/driver-develop.md b/zh-cn/device-dev/driver/driver-develop.md index e4cee0c8838..bb2cff55133 100644 --- a/zh-cn/device-dev/driver/driver-develop.md +++ b/zh-cn/device-dev/driver/driver-develop.md @@ -2,6 +2,8 @@ - **[ADC](driver-platform-adc-develop.md)** +- **[DAC](driver-platform-dac-develop.md)** + - **[GPIO](driver-platform-gpio-develop.md)** - **[HDMI](driver-platform-hdmi-develop.md)** diff --git a/zh-cn/device-dev/driver/driver-platform-dac-des.md b/zh-cn/device-dev/driver/driver-platform-dac-des.md new file mode 100644 index 00000000000..475edc9e6f2 --- /dev/null +++ b/zh-cn/device-dev/driver/driver-platform-dac-des.md @@ -0,0 +1,200 @@ +# DAC + +- [概述](#section1) +- [接口说明](#section2) +- [使用指导](#section3) + - [使用流程](#section4) + - [打开DAC设备](#section5) + - [设置DA目标值](#section6) + - [关闭DAC设备](#section7) + +- [使用实例](#section8) + +## 概述 + +- DAC(Digital to analog converter)是一种通过电流、电压或电荷的形式将数字信号转换为模拟信号的设备 + +- DAC接口定义了完成DAC传输的通用方法集合,包括: + - DAC设备管理: 打开或关闭DAC设备。 + - DAC设置目标值:写入DA目标值。 + + **图 1** DAC物理连线示意图 + ![](figures/DAC物理连线示意图.png "DAC物理连线示意图") + +## 接口说明 + +**表 1** DAC驱动API接口功能介绍 + + + +| 功能分类 | 接口名 | 描述 | +| ------------------- | -------- | ------------ | +| DAC设备管理打开接口 | DacOpen | 打开DAC设备 | +| DAC设备管理关闭接口 | DacClose | 关闭DAC设备 | +| DAC写入目标值接口 | DacWrite | 设置DA目标值 | + +## 使用指导 + +### 使用流程 + +使用DAC设备的一般流程如[图2](#fig2)所示。 + + **图 2** DAC使用流程图 +![](figures/DAC使用流程图.png "DAC使用流程图") + +### 打开DAC设备 + +在进行DA转换之前,首先要调用DacOpen打开DAC设备,打开函数如下所示: + +``` +DevHandle DacOpen(uint32_t number); +``` + +**表 2** DacOpen参数和返回值描述 + + + +| 参数 | 参数描述 | +| ---------- | ----------------- | +| number | DAC设备号 | +| **返回值** | **返回值描述** | +| NULL | 打开DAC设备失败 | +| 设备句柄 | 打开的DAC设备句柄 | + + + +假设系统中存在2个DAC设备,编号从0到1,现在打开1号设备。 + +``` +DevHandle dacHandle = NULL; /* DAC设备句柄 / + +/* 打开DAC设备 */ +dacHandle = DacOpen(1); +if (dacHandle == NULL) { + HDF_LOGE("DacOpen: failed\n"); + return; +} +``` + +### 设置DA目标值 + +``` +int32_t DacWrite(DevHandle handle, uint32_t channel, uint32_t val); +``` + +**表 3** DacWrite参数和返回值描述 + + + + + + + + + + + + + + + + + + + + + + + + + + +

参数

+

参数描述

+

handle

+

DAC设备句柄

+

channel

+

DAC设备通道号

+

val

+

设置DA的值

+

返回值

+

返回值描述

+

0

+

写入成功

+

负数

+

写入失败

+
+ +### 关闭DAC设备 + +DAC通信完成之后,需要关闭DAC设备,关闭函数如下所示: +``` +void DacClose(DevHandle handle); +``` +**表 4** DacClose参数和返回值描述 + + + +| 参数 | 参数描述 | +| ---------- | -------------- | +| handle | DAC设备句柄 | +| **返回值** | **返回值描述** | +| void | 无 | + + + +关闭DAC设备示例: + +``` +DacClose(dacHandle); /* 关闭DAC设备 */ +``` + +## 使用实例 + +本例程以操作开发板上的DAC设备为例,详细展示DAC接口的完整使用流程。 + +由于Hi3516DV300系列SOC没有DAC控制器,本例拟在Hi3516DV300某开发板上对虚拟驱动进行简单的传输操作,基本硬件信息如下: + +- SOC:hi3516dv300。 +- 原理图信息: 电位器挂接在0号DAC设备1通道下。 + +本例程对测试DAC进行连续写入操作,测试DAC功能是否正常。 + +示例如下: + +``` +#include "dac_if.h" /* DAC标准接口头文件 */ +#include "hdf_log.h" /* 标准日志打印头文件 */ + +/* 设备号0,通道号1 */ +#define DAC_DEVICE_NUM 0 +#define DAC_CHANNEL_NUM 1 + +/* DAC例程总入口 */ +static int32_t TestCaseDac(void) +{ + uint32_t val = 2; + int32_t ret; + DevHandle dacHandle; + + /* 打开DAC设备 */ + dacHandle = DacOpen(DAC_DEVICE_NUM); + if (dacHandle == NULL) { + HDF_LOGE("%s: Open DAC%u fail!", __func__, DAC_DEVICE_NUM); + return -1; + } + + /* 写入数据 */ + ret = DacWrite(dacHandle, DAC_CHANNEL_NUM, val); + if (ret != HDF_SUCCESS) { + HDF_LOGE("%s: tp DAC write reg fail!:%d", __func__, ret); + DacClose(dacHandle); + return -1; + } + + /* 访问完毕关闭DAC设备 */ + DacClose(dacHandle); + + return 0; +} +``` diff --git a/zh-cn/device-dev/driver/driver-platform-dac-develop.md b/zh-cn/device-dev/driver/driver-platform-dac-develop.md new file mode 100644 index 00000000000..49b7c1176cc --- /dev/null +++ b/zh-cn/device-dev/driver/driver-platform-dac-develop.md @@ -0,0 +1,330 @@ +# DAC + +- [概述](#1) +- [接口说明](#2) +- [开发步骤](#3) +- [开发实例](#4) + +## 概述 + +DAC(Digital to analog converter)是一种通过电流、电压或电荷的形式将数字信号转换为模拟信号的设备 ,在HDF框架中,DAC模块接口适配模式采用统一服务模式,这需要一个设备服务来作为DAC模块的管理器,统一处理外部访问,这会在配置文件中有所体现。统一服务模式适合于同类型设备对象较多的情况,如DAC可能同时具备十几个控制器,采用独立服务模式需要配置更多的设备节点,且服务会占据内存资源。 + +**图 1** DAC统一服务模式 +![](figures/DAC统一服务模式结构图.png "DAC统一服务模式") + +## 接口说明 +DacMethod定义: + +``` +struct DacMethod { + int32_t (*write)(struct DacDevice *device, uint32_t channel, uint32_t val); + int32_t (*start)(struct DacDevice *device); + int32_t (*stop)(struct DacDevice *device); +}; +``` + +**表 1** DacMethod结构体成员的回调函数功能说明 + + + +| 函数成员 | 入参 | 出参 | 返回值 | 功能 | +| -------- | ------------------------------------------------------------ | ------------------------------ | ------------------ | --------------- | +| write | device: 结构体指针,核心层DAC控制器;channel:uint32_t,传入的通道号; | val:uint32_t,要传出去的数据; | HDF_STATUS相关状态 | 写入DAC的目标值 | +| start | device: 结构体指针,核心层DAC控制器; | 无 | HDF_STATUS相关状态 | 开启DAC设备 | +| stop | device: 结构体指针,核心层DAC控制器; | 无 | HDF_STATUS相关状态 | 关闭DAC设备 | + + + +## 开发步骤 + +DAC模块适配的三个环节是配置属性文件,实例化驱动入口,以及实例化核心层接口函数。 + +1. **实例化驱动入口:** + - 实例化HdfDriverEntry结构体成员。 + - 调用HDF\_INIT将HdfDriverEntry实例化对象注册到HDF框架中。 + +2. **配置属性文件:** + - 在device\_info.hcs文件中添加deviceNode描述。 + - 【可选】添加dac\_config.hcs器件属性文件。 + +3. **实例化DAC控制器对象:** + - 初始化DacDevice成员。 +- 实例化DacDevice成员DacMethod。 + + >![](../public_sys-resources/icon-note.gif) **说明:** + >实例化DacDevice成员DacMethod,其定义和成员说明见[接口说明](#section752964871810)。 + + +4. **驱动调试:** + + 【可选】针对新增驱动程序,建议验证驱动基本功能,例如挂载后的信息反馈,的成功与否等。 + + +## 开发实例 + +1. 驱动开发首先需要实例化驱动入口,驱动入口必须为HdfDriverEntry(在 hdf\_device\_desc.h 中定义)类型的全局变量,且moduleName要和device\_info.hcs中保持一致。HDF框架会将所有加载的驱动的HdfDriverEntry对象首地址汇总,形成一个类似数组的段地址空间,方便上层调用。 + + 一般在加载驱动时HDF会先调用Bind函数,再调用Init函数加载该驱动。当Init调用异常时,HDF框架会调用Release释放驱动资源并退出。 + + DAC驱动入口参考: + + DAC模块这种类型的控制器会出现很多个设备挂接的情况,因而在HDF框架中首先会为这类型的设备创建一个管理器对象。这样,需要打开某个设备时,管理器对象会根据指定参数查找到指定设备。 + + DAC管理器的驱动由核心层实现,厂商不需要关注这部分内容的实现,这个但在实现Init函数的时候需要调用核心层的DacDeviceAdd函数,它会实现相应功能。 + + ``` + static struct HdfDriverEntry g_dacDriverEntry = { + .moduleVersion = 1, + .Init = VirtualDacInit, + .Release = VirtualDacRelease, + .moduleName = "virtual_dac_driver", //【必要且与 HCS 里面的名字匹配】 + }; + HDF_INIT(g_dacDriverEntry); //调用HDF_INIT将驱动入口注册到HDF框架中 + + //核心层dac_core.c管理器服务的驱动入口 + struct HdfDriverEntry g_dacManagerEntry = { + .moduleVersion = 1, + .Init = DacManagerInit, + .Release = DacManagerRelease, + .moduleName = "HDF_PLATFORM_DAC_MANAGER", //这与device_info文件中device0对应 + }; + HDF_INIT(g_dacManagerEntry); + ``` + +2. 完成驱动入口注册之后,下一步请在device\_info.hcs文件中添加deviceNode信息,并在dac\_config.hcs中配置器件属性。deviceNode信息与驱动入口注册相关,器件属性值对于厂商驱动的实现以及核心层DacDevice相关成员的默认值或限制范围有密切关系。 + + 统一服务模式的特点是device\_info文件中第一个设备节点必须为DAC管理器,其各项参数必须如下设置: + + + + | 成员名 | 值 | + | --------------- | ------------------------------- | + | moduleName | 固定为 HDF_PLATFORM_DAC_MANAGER | + | serviceName | 无 | + | policy | 具体配置为0,不发布服务 | + | deviceMatchAttr | 没有使用,可忽略 | + + 从第二个节点开始配置具体DAC控制器信息,此节点并不表示某一路DAC控制器,而是代表一个资源性质设备,用于描述一类DAC控制器的信息。本例只有一个DAC设备,如有多个设备,则需要在device\_info文件增加deviceNode信息,以及在dac\_config文件中增加对应的器件属性。 + + - device\_info.hcs 配置参考。 + + ``` + root { + device_dac :: device { + device0 :: deviceNode { + policy = 0; + priority = 52; + permission = 0644; + serviceName = "HDF_PLATFORM_DAC_MANAGER"; + moduleName = "HDF_PLATFORM_DAC_MANAGER"; + } + } + dac_virtual :: deviceNode { + policy = 0; + priority = 56; + permission = 0644; + moduleName = "virtual_dac_driver"; //【必要】用于指定驱动名称,需要与期望的驱动Entry中的moduleName一致; + serviceName = "VIRTUAL_DAC_DRIVER"; //【必要】驱动对外发布服务的名称,必须唯一 + deviceMatchAttr = "virtual_dac"; //【必要】用于配置控制器私有数据,要与dac_config.hcs中对应控制器保持一致 + } // 具体的控制器信息在 dac_config.hcs 中 + } + ``` + + - dac\_config.hcs 配置参考。 + + ``` + root { + platform { + dac_config { + match_attr = "virtual_dac"; //【必要】需要和device_info.hcs中的deviceMatchAttr值一致 + template dac_device { + deviceNum = 0; //设备号 + validChannel = 0x1; //有效通道 + rate = 20000; + } + device_0 :: dac_device { + deviceNum = 0; + validChannel = 0x2; + } + } + } + } + ``` + +3. 完成驱动入口注册之后,最后一步就是以核心层DacDevice对象的初始化为核心,包括初始化厂商自定义结构体(传递参数和数据),实例化DacDevice成员DacMethod(让用户可以通过接口来调用驱动底层函数),实现HdfDriverEntry成员函数(Bind,Init,Release)。 + - 自定义结构体参考。 + + 从驱动的角度看,自定义结构体是参数和数据的载体,而且dac\_config.hcs文件中的数值会被HDF读入通过DeviceResourceIface来初始化结构体成员,其中一些重要数值也会传递给核心层DacDevice对象,例如设备号、总线号等。 + + ``` + struct VirtualDacDevice { + struct DacDevice device; //【必要】是核心层控制对象,具体描述见下面 + uint32_t deviceNum; //【必要】设备号 + uint32_t validChannel; //【必要】有效通道 + uint32_t rate; //【必要】采样率 + }; + + //DacDevice是核心层控制器结构体,其中的成员在Init函数中会被赋值 + struct DacDevice { + const struct DacMethod *ops; + OsalSpinlock spin; + uint32_t devNum; + uint32_t chanNum; + const struct DacLockMethod *lockOps; + void *priv; + }; + ``` + + - DacDevice成员回调函数结构体DacMethod的实例化,DacLockMethod回调函数结构体本例未实现,若要实例化,可参考I2C驱动开发,其他成员在Init函数中初始化。 + + ``` + static const struct DacMethod g_method = { + .write = VirtualDacWrite, + .stop = VirtualDacStop, + .start = VirtualDacStart, + }; + ``` +- init函数参考 + + 入参: + + HdfDeviceObject这个是整个驱动对外暴露的接口参数,具备HCS配置文件的信息。 + + 返回值: + + HDF\_STATUS相关状态 (下表为部分展示,如需使用其他状态,可见//drivers/framework/include/utils/hdf\_base.h中HDF\_STATUS 定义)。 + + | 状态(值) | 问题描述 | + | ---------------------- | -------------- | + | HDF_ERR_INVALID_OBJECT | 控制器对象非法 | + | HDF_ERR_INVALID_PARAM | 参数非法 | + | HDF_ERR_MALLOC_FAIL | 内存分配失败 | + | HDF_ERR_IO | I/O 错误 | + | HDF_SUCCESS | 传输成功 | + | HDF_FAILURE | 传输失败 | + + 函数说明: + + 初始化自定义结构体对象,初始化DacDevice成员,并调用核心层DacDeviceAdd函数。 + + ``` + static int32_t VirtualDacParseAndInit(struct HdfDeviceObject *device, const struct DeviceResourceNode *node) + { + int32_t ret; + struct VirtualDacDevice *virtual = NULL; + (void)device; + + virtual = (struct VirtualDacDevice *)OsalMemCalloc(sizeof(*virtual)); + if (virtual == NULL) { + HDF_LOGE("%s: Malloc virtual fail!", __func__); + return HDF_ERR_MALLOC_FAIL; + } + + ret = VirtualDacReadDrs(virtual, node); + if (ret != HDF_SUCCESS) { + HDF_LOGE("%s: Read drs fail! ret:%d", __func__, ret); + goto __ERR__; + } + + VirtualDacDeviceInit(virtual); + virtual->device.priv = (void *)node; + virtual->device.devNum = virtual->deviceNum; + virtual->device.ops = &g_method; + ret = DacDeviceAdd(&virtual->device); + if (ret != HDF_SUCCESS) { + HDF_LOGE("%s: add Dac controller failed! ret = %d", __func__, ret); + goto __ERR__; + } + + return HDF_SUCCESS; + __ERR__: + if (virtual != NULL) { + OsalMemFree(virtual); + virtual = NULL; + } + + return ret; + } + + static int32_t VirtualDacInit(struct HdfDeviceObject *device) + { + int32_t ret; + const struct DeviceResourceNode *childNode = NULL; + + if (device == NULL || device->property == NULL) { + HDF_LOGE("%s: device or property is NULL", __func__); + return HDF_ERR_INVALID_OBJECT; + } + + ret = HDF_SUCCESS; + DEV_RES_NODE_FOR_EACH_CHILD_NODE(device->property, childNode) { + ret = VirtualDacParseAndInit(device, childNode); + if (ret != HDF_SUCCESS) { + break; + } + } + return ret; + ``` + } + + - Release 函数参考 + + 入参: + + HdfDeviceObject 是整个驱动对外暴露的接口参数,具备 HCS 配置文件的信息。 + + 返回值: + + 无。 + + 函数说明: + + 释放内存和删除控制器,该函数需要在驱动入口结构体中赋值给 Release 接口, 当HDF框架调用Init函数初始化驱动失败时,可以调用 Release 释放驱动资源。所有强制转换获取相应对象的操作**前提**是在Init函数中具备对应赋值的操作。 + + ``` + static void VirtualDacRemoveByNode(const struct DeviceResourceNode *node) + { + int32_t ret; + int16_t devNum; + struct DacDevice *device = NULL; + struct VirtualDacDevice *virtual = NULL; + struct DeviceResourceIface *drsOps = NULL; + + drsOps = DeviceResourceGetIfaceInstance(HDF_CONFIG_SOURCE); + if (drsOps == NULL || drsOps->GetUint32 == NULL) { + HDF_LOGE("%s: invalid drs ops fail!", __func__); + return; + } + + ret = drsOps->GetUint16(node, "devNum", (uint16_t *)&devNum, 0); + if (ret != HDF_SUCCESS) { + HDF_LOGE("%s: read devNum fail!", __func__); + return; + } + + device = DacDeviceGet(devNum); + if (device != NULL && device->priv == node) { + DacDevicePut(device); + DacDeviceRemove(device); + virtual = (struct VirtualDacDevice *)device; + OsalMemFree(virtual); + } + return; + } + + static void VirtualDacRelease(struct HdfDeviceObject *device) + { + const struct DeviceResourceNode *childNode = NULL; + + if (device == NULL || device->property == NULL) { + HDF_LOGE("%s: device or property is NULL", __func__); + return; + } + + DEV_RES_NODE_FOR_EACH_CHILD_NODE(device->property, childNode) { + VirtualDacRemoveByNode(childNode); + } + } + ``` + + \ No newline at end of file diff --git a/zh-cn/device-dev/driver/driver-platform.md b/zh-cn/device-dev/driver/driver-platform.md index 01fc51f6cd1..b47f953c31b 100644 --- a/zh-cn/device-dev/driver/driver-platform.md +++ b/zh-cn/device-dev/driver/driver-platform.md @@ -2,6 +2,8 @@ - **[ADC](driver-platform-adc-des.md)** +- **[DAC](driver-platform-dac-des.md)** + - **[GPIO](driver-platform-gpio-des.md)** - **[HDMI](driver-platform-hdmi-des.md)** diff --git "a/zh-cn/device-dev/driver/figures/DAC\344\275\277\347\224\250\346\265\201\347\250\213\345\233\276.png" "b/zh-cn/device-dev/driver/figures/DAC\344\275\277\347\224\250\346\265\201\347\250\213\345\233\276.png" new file mode 100644 index 0000000000000000000000000000000000000000..cc6b37dfb15c5c6130d4b25380fbf5cacc990f3c GIT binary patch literal 10972 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 V0u5w;I{y~)p^k}m!{5#?{};-II6wdZ literal 0 HcmV?d00001 diff --git "a/zh-cn/device-dev/driver/figures/DAC\347\211\251\347\220\206\350\277\236\347\272\277\347\244\272\346\204\217\345\233\276.png" "b/zh-cn/device-dev/driver/figures/DAC\347\211\251\347\220\206\350\277\236\347\272\277\347\244\272\346\204\217\345\233\276.png" new file mode 100644 index 0000000000000000000000000000000000000000..3f81bf5d2eba9164531e786ebb4a81541515e5db GIT binary patch literal 9552 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 FtUOuHR>G462RTc z2`9#JBmmKMaxw4JoBk`+1+%=>`a~7cxQO~RL4bzFAe$(V z94|k}3-sHLWWuvJ2VXSkBFSXlRU_(e5U74^Eq59L3^l;1-ugAUmwKHhO3L46VGWc2 zVFSibZpZ@QADY%YTXw)1Bo#^RpYqTjsnPXhBYF9$!c`7m>ki2J7KwVV$aFy@9eRrx z`gghU*L2(O&FA_9mSkr@lPP+7u{7r;WndN_J-YxqYH=BprsT~??KEb;0Z|tK^uCqR z5@}qs_YuG5sJO=%T;lFnsY6ci3F$mogzDr!!>XxCot1{)E^)rpaZmC)peawBCV9I6 zBba5xLNR0)`@8=73n=r4?UgT+f2S>~YxT5GG;x`FA%MU|@F3X1^dFbf*Z~hmEJ#Rj zpQt|!$1tovGX_Akv~*QfBS4#de-VTRFbG2JM)lhS`aLNOIs4{3*l-c>$WQ}%d@^{R zJU}3D9SqpCaCR#WasRQ=_Q&8rd<0tkfQ<}m_{5?lQMU$x9g&KSa z(^Qx2pY|t`8h+QR_XqTTpFIm?Wpk9Y$5wdG3D0heY?_4O9EoPQttOiQ6Z>05j^x(e zpJ}iubmyHgiv>Y8+t^1t`7AAjxSV%d?gw z^<3kSg9Q*W;V`#ezCka)x|7W29O@qKloMCx=9lYO(f^nv{Cf#iu4fs(<7CX#;?KEq zJ|s^7OkRfuN|15Mk9-!In_7*hwHb|b!vJZG2KBCgb8~Ir;zqha!_N_x531~{Zd? zLxtrq0YGKRF}m{i4z`Rw__n4wn6~4e2RU&L=ioQicpIsnt?&(VMu{86o*=uxF?p&X zAv+FeQQGZC#t0O%2g7vT3`iz(SOiWJTwe9rj&Mh@M&UBW_ggdeu|Q}`)- z_;S!2T>1Rw* zDGVV1#Lq!m?eK?(9A%6+5H9z`Q@*x?a6cd->CWit169PmlMI%?*vd2iU)GRo4O!qk zHyasvs0qI)N~HCRE?Ui;HYeMM1|%LKkvlm22%DB z1>(^&IP#=n={Nf$*^(fhog#GJqFOT&pTo>e#ebn<(qZN&n>}=b?cFV?TG$7_hGT!2 z<6rZ#`Gv0v6&<}{MToTCD$Xt~ zVjIs*4?Ns5I8>cSb&TH1XzzC>LY{ghC$uR*cckv@kRAEw(F6ag=l=6hK7;V={DI%; z_pgcIe}b2%Ac*-V(*I9O2%^z{(x3m2Upl3)zvE>w*siYc;JvbMAKU&;5kYxGM;TkaZ zT3>WBGI-x~DFYLB>cD>gX_V3l%f0OtYIke!{r74;n>t|I53=*1eK zXhRMN|6J3D7i;d#`s4d-n`b2_u~+sNxTx>KBRy~Tyi`~Tm!3)8Gy!yI0blb`*C)!& zCsb^F!G5UH$$N@zXw${KbUpv?=j;E$8wR!U85=sc#zp4GC`5hG*GD$$RiCV{xseJ+ z*G!Q6dM}tSb!k_vv(qF%sC=*jpzNC_mih1FK;R{r%?=P%hidsSQ*`{^UN?OY$BB4ja0p+Sb7A#> zf)u_L%m7?oZs4X@2tCLe%FlUx5qF{zM4y``BaVB1DmDk9&x-$Jja@m1=>iTID;1`X zjlep8(T%qC>6Krxv&|#)&uZT zt7mVsS(EGwvV0V4?u9`%0@nv%YEZneAjLHqU2Zne$rWyLBxIzeWmnFWG3K7|%PzGA zQyWltY7HGZh+hIO1gLm;-qN`@WS42`d^IBZ9~+_kWEL8$G0+G};F3_Gi1rVltk`)o=W(;_ z7?c29gCp>2otBNvF5C3xRjb=E0Y39k{pCT;Qm;bSXw1=5zhI723!H zP$J(_#+SUjt4qFw;J*AorA0bDS1=*>Q%Wc&nEf{PJhd6rk4ZT3OvR-4 z$x)M)Kp?S`spBR5#_}r0z{PK8C}+iLQdOYjU6bbTx}!Rz$cC+s`m~`c(TNwh+L?lQ z!99o$Yo@GqXg3>ysM`rohOVpBnkG*^&&-42`f$bV z%aBWSEVlDB>De_~kL-U!9R9`Oc&Vld^~1B#Ry%w19gw7#31mUkY4bpC2U z&_N`yc^tkAyO6yNMKTVdY|~^q>dG5XG3R8vL{A*`7+(g4DI{zx8ejFHht;|qC>&@A z0QCs75Lf=mbaVBzT{)kypK&lh{)1L5R+=9rhwQf6qt|#hrBAW4it91k9e+M#heWaE zn5mc~lB;FstXp6A{ltwN4gPi~Ok+4ag9``@#*3{D((Ic#z+&!ugvg`jO&_by#8ma( zT&6r)TSPZ3S{l%q`>Ick3M}AOjt^(%mCnX@kaNlT#2sG+7A-j1!iQjG&?^Teow>p= z|Bjw@!59KyJQ@Zf^JNqwb zRLjbu{wjBu7shUdD4+}F(qtCpN8X|g0q2gK1FQ!~_~(#=hgu!TDplpS1=w!I zRwPyBZIzV^(eT}vOD$=v@`&M_9{$3?TYXcY)(9tY)^Ny)58Y{LxCSb1N6+k^+S9eJ zG9a)OQB2sm1XMhtA}R$F3g}J`XaU(J_ML$@)jzakC4R;!5QQB8`v;2jJlp=KaOA7q}42d^mc-h;wuE^&fKq2W?l8u z7hTg0oVkR3?cWQ&MK_c^8=||@*ENXTveBJZ<;*Jph@e7G5Y2;TY!d(Jt%}Kx?Ayef zKKuRw@Y&VYEbVeZ^d)%~Hg;UN?)`F*LIt_a+l)JylrMQyYZgdQxIbEYj)`^a@ZvGx zDdQzb!u&=%uT*M$K|)<&5ELCo`pWRYggLUX<6NUEwu?iIzy;vqlV8xUk?jC^!yazf_iGLC~Yamkv4JdNxQ%S_UO%ios6E4q__B+soDIwPqs z@N7BS8;b>XdEFyG>-31W;dF4q>XC73nQhUA@e>VS^jxvn&uKg0iCa8S)fQRu^WScG zSqD*i*)tC&_yILdqDxk_7*v{Rz=xoJ;P-J0VJ~n;6w$j+TLm81?fwlg)dp|0JmSmzs~z(nB-ITQIe5zBhx&>wAC6iK*ix?k2zt0R#s*We9ju5k-yA z9sc4*+wLLwD|Jx0oQ$6UM0x07KUx+3J!6j+*hgthIO3>@JqMt=Ov;y0%t7u2rjApw zl0J}rd>dKQl@(%WR4uSUp6OAG%Bs88`W1DB@yCP#y0a!vJ$NU_KY;{<*qk9nysu+< zL(er9T}zVyWDrZP@*V&0!Pz-r6f?3BH z{g!i`7YrE(4TcY*O|vY)Mpr0K~M0F*xl-U5Oc=(%H@c2+TZ!0dyJ5f#ja0L%L0 zI4a--=V`Jko$ICH=> zo(`?uWKjRKDzK3LY1 z9kOJNx#C9%mTv^3ma?a{qSWfibII5^4fBEJvlm4!)WNI`e#!c5B@qozhEcry_{CN# zrK|)fG6E2Qc2PJRU?513e;i&8Zd!+@r*xwxke|;h6pUo5U`^22HU<$Wq0W1bh`R#Gz@X(7|x&{56H$Y8K zM#}V4&z-5nl1pL!@;*o)!N`%&3|c8i1cg-Bi^5gjNfV_(xPbztzZu@`5wZIjR|DO^ z$~e7M``hQF z(#JYyJYQZMF6$Bibk1Z|4IG(HURm|(M#=VbeNC$U(0$6!Znt=VZkwSgn3U2%26ei$ zxS(*L$#9*%dWkHR8JuBd+pAU+8s1uD)3~HET)gq@-o~Y1pOuy?b!GQNnIF;VXynD~ z`ommslDWV*dKwWVy5zr8^Ya4qTYw@sPhiEO@gCnZoY@yx_7ihWFb?s`l#%S4EcdU< zF^y~c%IE#X1o;NJuK`5=0EZi}sFnM*1#;96$^gIL6XHQu4Jkx%@7LeJw{)E*-{uBr zwE&JUayU$G*PO2X22`+W`IZ3K0vw|P5DAh?|G%$n1Wnn?8-V`;M|^G|2!ChD_C>S*=TMq zn3WXtz?pV~)^SD2e{F!iI^p2Pgc!w0DU-*kib-G_(f+fuUT>2c7CY+~U<&!m z+h#FfJIH7t53JrLJaFpCT45Bcw zscD+T8>%J`ZeivNdH?pk+GfjuqYi$B4ITiOmy-BD|M@=)@~_Q6_>q#=mH|Npq?+TE z9%~^F-y!861bbHHHhC9g-+jypttU0~R5TuYj5O845BuuJkFBE{MWj)V$I>7ow}5%H z{N*|;*9I_oNp`HC`R&$MghvxndwF%WNY2JhLo1NHIM>-9m0a#ap7@qyX|RJrl=zrZ zj7y9Tv0-Kn$0|KTcvl{e%RhvP0*6C#t*0z6Vu@jX<+AFZ*D^|#?e4kbwy~WY*C$7M zuhna(ZNxh0Iq!#-oOq+4fMOUe%e{$-q6FsOf`M$EaRmEDN3}LASK{1*gl?Ub}FEa?_o&GcSn>k`o@->}pcdfvlQCu_`oqk?*Ir3R|@sfvJq*LAmuVULx?Xd5?A zN3(I$KnQ3p_S)e_@H?A3yLFNZECz!xJE3xz%cecUhEuQFt_{Kk3!6wr4f1WXCM#Jv z1+u2rKKgz0cCwj6V$Lf&ok_NgpAi*1tM=Fd) zfyL2a!80#m+i;_Az{YW@axo#tbt`oB7>}3p)|hv3NA|>|k%YsPQfU$l@eZw@yQbznWJ~gO#?(k-unsT#(b^Pd4KHb< zJBB0ud}<%918opq(`BKu#NJFbtoJR0^D)ockJ5=+f29}P1Y2ZxL@DRI5+HVXh&4=A z4NWI_QP9!0SZR@LS?41NJSEG)Ut-mAGnPI&cv}zg&de%CZu)8^^RYGtx;1 zVf4Px@eNk{i86m(l%9xLWi>2n`M}AaSG5{# z6}WZ1w#>_63;vA#d=8drXtSTzl_p@vd=yY?a@owYOSuPYZmCJnb3y-`tRb?77b zm7}{#{EZ&xtc_hP!5~;!^aY*Qv1q%)swmN_?mjy)-LUTUi^82g*5TbxfaCpTc_Ip7 z?EZ}-@k*o=4y*x^|8V(MSb4Y7DGI{Y4+Y#O4{zmFy&SD8ql>iK9V6S06j}645y%$r z7rh>+joqv$8@Gwcnm|vp-K5}dpYJB4kw6OD8%e+miHTh1d9ZPAf|)MPy9wd)S%A&3 z44kJ23#Btfi1yeO>iSg#5*=rsnk(TUyXAf__cfFy`u#hL*aJ@y}yisP*VHjOE zv(wVL(1k^=&ZOipds%Z!p%)#4r5}rd)Yv6X0)N}PY-2JtA)GaslCv!c-RQluJDptl zVs+lU_^GEgG*icVs1Fb$>Sx+4C|!Y8CkCnoPp5i0-kaUvYDi|^A*J&>e42%&YK47} zs$6MOq2G>Ri%CI=SGmuQin>o_N!pPDZi}h1>jfHxb28e%-a|@QO%;kK&9*YOrNZo@ofKMQ3A+Vekuv2{H`CiOUA@q3 z=kZzOa+_m&aB$Z;|BZ$C;}?pJGVbu=8EI;eq^>BaqVhrN%~oG~Vq=_Zmo08cIt-5rpNlT~1ugvDLE2}Y=5X(_C(65nDny)v|Uq5|s zSS@Kx*x5=46!FNqQ=x+xR-bcRwk zoK-dtl^PGJwX#Y@R0?{sPhlvoGQep$6|`13XvQBT}dZW zfD>z~O@Cq(dcD(3&3iFNh8{Yp!2y<7*~> z=}@Rd$@8X&`qh%{bn|%T7U;c;8%Eq}3l}2lKb@CZ-=yJZ^Rns2brlv_ERy!N3pz3l zVj3EI_+TOadsyUNcqL(X8K}j7o6g&v@3HT3*pa?@I%C)fUk2F`Xjmk!sGXObYS6b0 zZ?etAj2vg>326I_yyWb+KkWwBt z&#}v(VjyA#m+y()7P@r7$a#wzI^mnJCqJUW9VG2st0JlpKYI(CoF*WWi z1sXGNFE;ycTg^{XXCjxh&c&7Ur^(#?*(|I!dQ8v=^ z%#RV3&xYQbnBS99kZ*kdS#+nuNyk2)BWo|9b5Cq*T@c-f!BLn9o0!C5gfjc=tgWrJ zN1*o4(lCDEH%CdMxS-Eo?z&H(L>D#o>YMMxg>G#CC-$aj2y0lr0n6G29=5FkWxd;X z7%j=pqTh86ufJihXGlJ{uV=fk*U-74eu(wwJ%h|n|7<5MB&om^J21Zy5-(xCp6;}_ zx8h$NE3Dbi)ypbB&P!~SD zUR<3DF<6^M5@q>i2(625Yf4c7i!>?|@9MU=If%}2uJUM^HDv3t8*Q|-WOf%<4ff*? z>+8C^awf`1fH}jkEG}X*LUxVA1C$L@zYsLmk&R~->@8ohtfS(`+Pk^^!>=v zwu;Mn;^nwXMc!Ob5L?i9Pp`-Le+LKW`NEGE33(dkL>uaU=!kV%Hes~j z3y;NOw{O0wT)(WvY*D#@BaJufXvQ)>;Ptci>UPo@dRt;UBF`N}$=UFMn_zle!unAO zYzmQQ3#e*k4c4(^W8sol@&?EZmaaa;jb@0?(K=iuRs^Svd8P6bFfe)kVSeFddpt>|(wn=~vX42dR_`WZ%8d@9SGEDL@uZj#PP{ms z0h86am<#1r&}r$hS`89GRf;>o1+_V5K_nI#|LcAX97$?Q8%6_{Ed>7+jA6%{v>Q}Q zJ=WJf?$PCZUOwsJ(2E0;RA<(*FvRJh$7Xs1P*T9WzTyLRty39t`g(}Rf$GS5_Pcbf ziA<`6-a`yApR3e`Qhv-UslXGw9}d0k%g6Geq!&ikpvuGjuUzo`2vpHRB(DH=*;4wp zI*IV(YcEt`R73z9`Of3|CP^<>upjq4th-BM-67VQi_j!`aEy1+jFPeT?>4&WjKgTsiziyrm4IAOyI`W8iuh{ zGDe0%G}{Ax6A{J3kdHyo*}~j+^eht^t5zzhrNXI-}MYz zn)w!y9K(Fe7vIlm(^ zh=6&vaM{^DU>DR!R)}V{i%~43p$57>E{O2xR4nc&RmI6j-q_{#8q^FaUGBow-OcL- zN5(=LOGDGAlhGw4+V*{K63Qw&^|RI_M`m-Nt52yG6Cg#Jj9!1)belS%Z#%0cFKR|+ z^SQe|bVNxxJp=lEZXyG=YB!I|b4QFx^NQqdvUCC~Sc zRkk?)qVo;R5z{C>lkGBr;_1zl{nkM2tp%YP3Rrhj*_VLhW(hb5}vlWSdYW0}smMi@iH+Mk<*@Z$|7 z8izN`h4-7!HEAKADA(`KeA)Xrqa*hLn`4Kx`U;N)Zv4eI8%LG3V625_35Z7o+hs&& zg6H+*c1S;9y>bW zl1iL@C>wKj`C%<2vrg_aYx_pg?MMq}62X$H(bD~nVXmw0fU|P(pT=CDCL#~kRQ8|c zrL2?xMa}8I>wjMD#Zlz!#k;{_R`TTX6z+fq(%Od{bG+UTRp0>CG-k111+L?-x6KYe z0)DQcVj3E{UY3jwuRys!2PwjPIP7@Xp9RVT%2XG!Sb`PCJ}ZgXkmxsa{wfylm$|B^ zZjrtU{_8XO#MO~=A^-6aJ-iZ0`&H!qirs;T!}#F#|7IU`AC96!ZAy!~fe7KxyF7VagY2sczt$3ah}f_EJg%oWAeD@J8P}|M$v)V zd*F>4NV*Z(2l<#jzi-Uop=tN<9yra2r#Ns}VZYZH&T3TKad#!Xd-gWlARAIwmYfEv(;xfO5jdJSH_fx9V^=k^@2|#GW z$W2_)puhx``ByQ+7x<&9tdFDnEw Aj{pDw literal 0 HcmV?d00001 -- Gitee