From 434dff07347b73e6b2ec0686ae5950ddb65047d2 Mon Sep 17 00:00:00 2001 From: moguguo Date: Thu, 25 Aug 2022 15:28:49 +0800 Subject: [PATCH 1/5] Update python api and c++ op develop guide, test=document_fix --- .../{ => images}/code_gen_by_yaml.png | Bin .../images/docs-review.png | Bin 0 -> 172551 bytes .../api_contributing_guides/new_cpp_op_cn.md | 707 +++++++++--------- .../new_python_api_cn.md | 430 ++++++----- .../read_before_contributing_cn.md | 2 +- 5 files changed, 615 insertions(+), 524 deletions(-) rename docs/dev_guides/api_contributing_guides/{ => images}/code_gen_by_yaml.png (100%) create mode 100644 docs/dev_guides/api_contributing_guides/images/docs-review.png diff --git a/docs/dev_guides/api_contributing_guides/code_gen_by_yaml.png b/docs/dev_guides/api_contributing_guides/images/code_gen_by_yaml.png similarity index 100% rename from docs/dev_guides/api_contributing_guides/code_gen_by_yaml.png rename to docs/dev_guides/api_contributing_guides/images/code_gen_by_yaml.png diff --git a/docs/dev_guides/api_contributing_guides/images/docs-review.png b/docs/dev_guides/api_contributing_guides/images/docs-review.png new file mode 100644 index 0000000000000000000000000000000000000000..2c8c228602a388838e19fd6b2cc526d8e87c9ce0 GIT binary patch literal 172551 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
  • *Qk7Y^^Hk!`e+ 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�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[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 b$|wJs3YrRPsykm4G5~?6tDnm{r-UW|Hj8Tm literal 0 HcmV?d00001 diff --git a/docs/dev_guides/api_contributing_guides/new_cpp_op_cn.md b/docs/dev_guides/api_contributing_guides/new_cpp_op_cn.md index fa56a2d69a0..f1f743468fc 100644 --- a/docs/dev_guides/api_contributing_guides/new_cpp_op_cn.md +++ b/docs/dev_guides/api_contributing_guides/new_cpp_op_cn.md @@ -1,59 +1,55 @@ -# C++ 算子开发指南 +# 开发 C++ 算子 -> 注:飞桨算子的开发范式正处在重构升级后的上线初期,如果在开发过程中遇到问题欢迎通过[Issue](https://github.com/PaddlePaddle/Paddle/issues)向我们反馈。 +新增飞桨 API 主要包含两种情况: -## 1. 概念简介 +1. 不需要开发新的 C++ 算子(Operator,OP),可以用其他 Python API 组合得到新的 API,只写 Python 代码即可。 +2. 需要开发新的 C++ 算子,需要用 C++ 开发 OP 实现代码、再封装 Python API 代码。 -本教程对新增算子的方法进行介绍,首先新增一个算子大概需要以下几个步骤: +针对第二种情况,可参考本文完成 C++ OP 的开发,并参考 [飞桨 API Python 端开发指南](new_python_api_cn.html) 章节完成 Python 端的开发。 -1. 新增算子描述及定义:描述前反向算子的输入、输出、属性,实现 InferMeta 函数 -2. 新增算子 Kernel:实现算子在各种设备上的计算逻辑 -3. 封装 Python API:封装 Python 端调用算子的接口 -4. 添加单元测试:验证新增算子的正确性 +> 注:飞桨 C++ OP 的开发范式正处在重构升级后的上线初期,如果在开发过程中遇到问题欢迎通过 [Issue](https://github.com/PaddlePaddle/Paddle/issues) 向我们反馈。 -以上 4 个步骤添加的文件,在 Paddle 中的位置如下(假设算子名为`xxx`): +## 一、开发前准备 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    内容新增文件位置
    算子描述及定义paddle/phi/api/yaml/api.yaml & paddle/phi/api/yaml/backward.yaml
    算子 InferMetapaddle/phi/infermeta 目录下的相应文件中
    算子 kernelpaddle/phi/kernels/xxx_kernel.h & xxx_kernel.cc & xxx_grad_kernel.h & xxx_grad_kernel.cc(一般情况)
    Python APIpython/paddle 目录下的相应子目录中
    单元测试python/paddle/fluid/tests/unittests/test_xxx_op.py
    +开发代码前请确认: + +- 已签署 [贡献者许可协议(Contributor License Agreement,CLA)](https://cla-assistant.io/PaddlePaddle/Paddle); +- 已阅读 [代码贡献流程](..\code_contributing_path_cn.html)、[贡献前阅读](read_before_contributing_cn.html) 和相关规范; +- 已根据 [飞桨 API 设计和命名规范](api_design_guidelines_standard_cn.html) 确定了新增 API 的名称和存放位置; +- 已提交 [API 设计文档](read_before_contributing_cn.html#apiDesignDoc) 并通过评审; +- 已将 [PaddlePaddle/Paddle](https://github.com/PaddlePaddle/Paddle) 仓库的代码获取到本地,准备好了 Paddle 开发环境。 + +## 二、开发流程介绍 + +新增一个 C++ OP 大概需要以下几个步骤: + +1. **新增算子描述及定义**:描述前反向算子的输入、输出、属性,实现 InferMeta 函数; +2. **新增算子 Kernel**:实现算子在各种设备上的计算逻辑; +3. **封装 Python API**:封装 Python 端调用算子的接口; +4. **添加单元测试**:验证新增算子的正确性。 + +以上步骤需要添加的文件,在 [PaddlePaddle/Paddle](https://github.com/PaddlePaddle/Paddle) 中的位置如下表所示(假设算子名为`xxx`): + +| **内容** | **新增文件位置** | +| -------------- | ------------------------------------------------------------ | +| 算子描述及定义 | 前向算子:[paddle/phi/api/yaml/api.yaml](https://github.com/PaddlePaddle/Paddle/blob/develop/paddle/phi/api/yaml/api.yaml)
    反向算子:[paddle/phi/api/yaml/backward.yaml](https://github.com/PaddlePaddle/Paddle/blob/develop/paddle/phi/api/yaml/backward.yaml) | +| 算子 InferMeta | [paddle/phi/infermeta](https://github.com/PaddlePaddle/Paddle/tree/develop/paddle/phi/infermeta) 目录下的相应文件中 | +| 算子 Kernel | [paddle/phi/kernels](https://github.com/PaddlePaddle/Paddle/tree/develop/paddle/phi/kernels) 目录下的如下文件:(一般情况)
    xxx_kernel.h
    xxx_kernel.cc
    xxx_grad_kernel.h
    xxx_grad_kernel.cc | +| Python API | [python/paddle](https://github.com/PaddlePaddle/Paddle/tree/develop/python/paddle) 目录下的相应子目录中的 .py 文件,遵循相似功能的 API 放在同一文件夹的原则 | +| 单元测试 | [python/paddle/fluid/tests/unittests](https://github.com/PaddlePaddle/Paddle/tree/develop/python/paddle/fluid/tests/unittests) 目录下的相应文件中:
    test_xxx_op.py | -接下来,我们以 Trace 操作,计算输入 Tensor 在指定平面上的对角线元素之和,并输出相应的计算结果,即 [trace](../../api/paddle/trace_cn.html#trace) 为例来介绍如何新增算子。 +接下来以 trace op 操作,计算输入 Tensor 在指定平面上的对角线元素之和,并输出相应的计算结果,即以 [paddle.trace](../../api/paddle/trace_cn.html#trace) 为例来介绍如何新增算子。 -## 2. 新增算子描述及定义 +## 三、新增算子描述及定义 -算子描述及定义是定义运算的基本属性,主要包括算子的输入、输出以及各项非计算逻辑的配置,这些都是设备无关的。 +算子描述及定义主要是定义算子的基本属性,包括算子的输入、输出以及各项非计算逻辑的配置,这些都是设备无关的。 -### 2.1 算子 YAML 文件配置 -我们在 [`paddle/phi/api/yaml/api.yaml`](https://github.com/PaddlePaddle/Paddle/blob/develop/paddle/phi/api/yaml/api.yaml) 和 [`paddle/phi/api/yaml/backward.yaml`](https://github.com/PaddlePaddle/Paddle/blob/develop/paddle/phi/api/yaml/backward.yaml) 文件中对算子进行描述及定义,在框架编译时会根据 YAML 文件中的配置自动生成 C++ 端的相关代码接口以及内部实现(详见 [Paddle 基于 YAML 配置的算子代码自动生成](new_cpp_op_cn.html#paddleyaml)),下面主要以 Trace 为例介绍算子的 YAML 配置规则: +### 3.1 算子 Yaml 文件配置 + +在 `paddle/phi/api/yaml/api.yaml` 和 `paddle/phi/api/yaml/backward.yaml` 文件中对算子进行描述及定义,在框架编译时会根据 YAML 文件中的配置自动生成 C++ 端的相关代码接口以及内部实现(详见 [Paddle 基于 Yaml 配置自动生成算子代码的逻辑解读](#paddleyaml)),下面主要以 [paddle.trace](../../api/paddle/trace_cn.html#trace) 为例介绍算子的 Yaml 配置规则: + +[paddle/phi/api/yaml/api.yaml](https://github.com/PaddlePaddle/Paddle/blob/develop/paddle/phi/api/yaml/api.yaml) 中 trace 相关配置: -[`paddle/phi/api/yaml/api.yaml`](https://github.com/PaddlePaddle/Paddle/blob/develop/paddle/phi/api/yaml/api.yaml): ```yaml - api : trace args : (Tensor x, int offset = 0, int axis1 = 0, int axis2 = 1) @@ -64,7 +60,9 @@ func : trace backward : trace_grad ``` -[`paddle/phi/api/yaml/backward.yaml`](https://github.com/PaddlePaddle/Paddle/blob/develop/paddle/phi/api/yaml/backward.yaml): + +[paddle/phi/api/yaml/backward.yaml](https://github.com/PaddlePaddle/Paddle/blob/develop/paddle/phi/api/yaml/backward.yaml) 中 trace 相关配置: + ```yaml - backward_api : trace_grad forward : trace (Tensor x, int offset, int axis1, int axis2) -> Tensor(out) @@ -79,7 +77,8 @@ no_need_buffer : x ``` -`api.yaml`和`backward.yaml`分别对算子的前向和反向进行配置,首先`api.yaml`中前向算子的配置规则如下: +`api.yaml` 和 `backward.yaml` 分别对算子的前向和反向进行配置,首先 `api.yaml` 中前向算子的配置规则如下: + @@ -168,9 +167,8 @@ b. 如果是实现自定义的 C++ API,需要在'paddle/phi/api/lib/api_custom
    - - `backward.yaml`中反向算子的配置规则如下: + @@ -229,9 +227,11 @@ b. 如果是实现自定义的 C++ API,需要在'paddle/phi/api/lib/api_custom
    -### 2.2 实现 InferMeta 函数 +### 3.2 实现 InferMeta 函数 + +`InferMeta` 函数是根据输入参数,推断算子输出 Tensor 基本信息的函数,推断的信息包括输出 Tensor 的 `shape`、`data type`,同时它也承担了检查输入数据维度、类型等是否合法的功能。 -`InferMeta`函数是根据输入参数,推断算子输出 Tensor 基本信息的函数,推断的信息包括输出 Tensor 的`shape`、`data type`及`data layout`,同时它也承担了检查输入数据维度、类型等是否合法的功能。 +> 说明:InferMeta 与 kernel 共同组成了一个算子的运算过程。InferMeta 在 kernel 前执行,用于维度、数据类型等信息的计算处理,这些信息在没有具体数据时依然可以通过输入参数完成输出结果的信息推导(例如两个维度为 2x3 的张量相加,输出结果的维度也一定是 2x3),可以利用这些信息优化训练过程中资源的分配和使用,kernel 中也不再需要专门推导这些信息。kernel 则用于具体数据的逻辑计算,为 InferMeta 函数推导得到的张量填充具体的结果值。 [TraceOp 的 InferMeta 函数](https://github.com/PaddlePaddle/Paddle/blob/befa78ea3fa9d0dae096a7de91f626b0c31daee8/paddle/phi/infermeta/unary.cc#L721) 实现如下: @@ -295,7 +295,7 @@ void TraceInferMeta( **InferMeta 的实现位置** -InferMeta 的文件放置规则(以 Tensor 输入个数为判定标准): +InferMeta 的文件放置规则([paddle/phi/infermeta](https://github.com/PaddlePaddle/Paddle/tree/develop/paddle/phi/infermeta) 目录下,以 Tensor 输入个数为判定标准): - `nullary.h`:没有输入 Tensor 参数的函数 - `unary.h`:仅有一个输入 Tensor 参数的函数 @@ -306,161 +306,156 @@ InferMeta 的文件放置规则(以 Tensor 输入个数为判定标准): **InferMeta 的编译时与运行时** -在我们的静态图网络中,`InferMeta`操作在[编译时(compile time)和运行时(run time)](https://github.com/PaddlePaddle/FluidDoc/blob/release/1.2/doc/fluid/getstarted/Developer's_Guide_to_Paddle_Fluid.md#%E8%AE%A9%E6%88%91%E4%BB%AC%E5%9C%A8fluid%E7%A8%8B%E5%BA%8F%E5%AE%9E%E4%BE%8B%E4%B8%AD%E5%8C%BA%E5%88%86%E7%BC%96%E8%AF%91%E6%97%B6%E5%92%8C%E8%BF%90%E8%A1%8C%E6%97%B6)都会被调用,在 compile time 时,由于真实的维度未知,框架内部用-1 来表示,在 run time 时,用实际的维度表示,因此维度的值在 compile time 和 run time 时可能不一致,如果存在维度的判断和运算操作,InferMeta 就需要区分 compile time 和 run time。 +在静态图模型中,`InferMeta`操作在 [编译时(compile time)和运行时(run time)](https://github.com/PaddlePaddle/FluidDoc/blob/release/1.2/doc/fluid/getstarted/Developer's_Guide_to_Paddle_Fluid.md#让我们在 fluid 程序实例中区分编译时和运行时) 都会被调用,在 compile time 时,由于真实的维度未知,框架内部用 -1 来表示,在 run time 时,用实际的维度表示,因此维度的值在 compile time 和 run time 时可能不一致,如果存在维度的判断和运算操作,InferMeta 就需要区分 compile time 和 run time。 -对于此类 InferMeta 函数,需要在函数声明的参数列表末尾增加 `MetaConfig` 参数,例如: +对于此类 InferMeta 函数,需要在 InferMeta 函数声明的参数列表末尾增加 `MetaConfig` 参数,例如: -``` +```plain void ConcatInferMeta(const std::vector& x, const Scalar& axis_scalar, MetaTensor* out, MetaConfig config = MetaConfig()); ``` -然后在函数体中,使用 `config.is_runtime` 判断出于编译时还是运行时。 +然后在函数体中,使用 `config.is_runtime` 判断处于编译时还是运行时。 -具体地,以下两种情况需要区分 compile time 和 run time。 +具体地,以下两种情况(检查、运算)需要区分 compile time 和 run time。 -1. 检查 +- **检查:** - 如以下代码: +如以下代码: - ```cpp - int i = xxx; - PADDLE_ENFORCE_GT(x.dims()[i] , 10) - ``` +```cpp +int i = xxx; +PADDLE_ENFORCE_GT(x.dims()[i] , 10) +``` - 在 compile time 的时候,x.dims()[i]可能等于-1,导致这个 PADDLE_ENFORCE_GT 报错退出。 +在 compile time 的时候,x.dims()[i] 可能等于 -1,导致这个 PADDLE_ENFORCE_GT 报错退出。 - 如果用了以下 paddle 中定义的宏进行判断: +如果用了以下 paddle 中定义的宏进行判断,都需要注意区分 compile time 和 run time。 - ```cpp - PADDLE_ENFORCE_EQ (x.dims()[i] , 10) - PADDLE_ENFORCE_NE (x.dims()[i] , 10) - PADDLE_ENFORCE_GT (x.dims()[i] , 10) - PADDLE_ENFORCE_GE (x.dims()[i] , 10) - PADDLE_ENFORCE_LT (x.dims()[i] , 10) - PADDLE_ENFORCE_LE (x.dims()[i] , 10) - ``` +```cpp +PADDLE_ENFORCE_EQ (x.dims()[i] , 10) +PADDLE_ENFORCE_NE (x.dims()[i] , 10) +PADDLE_ENFORCE_GT (x.dims()[i] , 10) +PADDLE_ENFORCE_GE (x.dims()[i] , 10) +PADDLE_ENFORCE_LT (x.dims()[i] , 10) +PADDLE_ENFORCE_LE (x.dims()[i] , 10) +``` - 都需要注意区分 compile time 和 run time +- **运算:** -2. 运算 +如以下代码: - 如以下代码: - ```cpp - auto x_dim = x.dims(); - int i = xxx; - y_dim[0] = x_dim[i] + 10 - ``` +```cpp +auto x_dim = x.dims(); +int i = xxx; +y_dim[0] = x_dim[i] + 10 +``` - 在 compile time 的时候,x_dim[i]可能等于-1,得到的 y_dim[0] 等于 9,是不符合逻辑的 +在 compile time 的时候,x_dim[i] 可能等于 -1,得到的 y_dim[0] 等于 9,是不符合逻辑的。 - 如果用到了类似以下的运算操作 +如果用到了类似以下的运算操作,都需要区分 compile time 和 run time: - ```cpp - y_dim[i] = x_dim[i] + 10 - y_dim[i] = x_dim[i] - 10 - y_dim[i] = x_dim[i] * 10 - y_dim[i] = x_dim[i] / 10 - y_dim[i] = x_dim[i] + z_dim[i] - ``` +```cpp +y_dim[i] = x_dim[i] + 10 +y_dim[i] = x_dim[i] - 10 +y_dim[i] = x_dim[i] * 10 +y_dim[i] = x_dim[i] / 10 +y_dim[i] = x_dim[i] + z_dim[i] +``` - 都需要区分 compile time 和 run time +**处理的标准:** -3. 处理的标准 + - 检查: compile time 的时候不判断维度等于 -1 的情况,但在 runtime 的时候检查 + - 运算: -1 和其他数做任何运算都要等于 -1 - - 检查: compile time 的时候不判断维度等于-1 的情况,但在 runtime 的时候检查 - - 运算: -1 和其他数做任何运算都要等于-1 +**参考代码:** -4. 参考代码 + - 判断的实现方法可以参考 [SigmoidCrossEntropyWithLogitsInferMeta](https://github.com/PaddlePaddle/Paddle/blob/cd28cddbfb5f5643947291e9a640ecd414dc8dae/paddle/phi/infermeta/binary.cc#L650),SigmoidCrossEntropyWithLogits 要求 X 和 labels 的两个输入,除了最后一维以外,其他的维度完全一致。 - (1) 判断的实现方法可以参考 [SigmoidCrossEntropyWithLogitsInferMeta](https://github.com/PaddlePaddle/Paddle/blob/cd28cddbfb5f5643947291e9a640ecd414dc8dae/paddle/phi/infermeta/binary.cc#L650),SigmoidCrossEntropyWithLogits 要求 X 和 labels 的两个输入,除了最后一维以外,其他的维度完全一致 +```cpp + bool check = true; + if ((!config.is_runtime) && + (phi::product(x_dims) <= 0 || phi::product(labels_dims) <= 0)) { + check = false; + } - ```cpp - bool check = true; - if ((!config.is_runtime) && - (phi::product(x_dims) <= 0 || phi::product(labels_dims) <= 0)) { - check = false; - } + if (check) { + PADDLE_ENFORCE_EQ( + phi::slice_ddim(x_dims, 0, rank), + phi::slice_ddim(labels_dims, 0, rank), + phi::errors::InvalidArgument( + "Input(X) and Input(Label) shall have the same shape " + "except the last dimension. But received: the shape of " + "Input(X) is [%s], the shape of Input(Label) is [%s].", + x_dims, + labels_dims)); + } +``` - if (check) { - PADDLE_ENFORCE_EQ( - phi::slice_ddim(x_dims, 0, rank), - phi::slice_ddim(labels_dims, 0, rank), - phi::errors::InvalidArgument( - "Input(X) and Input(Label) shall have the same shape " - "except the last dimension. But received: the shape of " - "Input(X) is [%s], the shape of Input(Label) is [%s].", - x_dims, - labels_dims)); - } - ``` - - (2) 运算的实现可以参考 [ConcatInferMeta](https://github.com/PaddlePaddle/Paddle/blob/0604df9e70dfe7be8a21df6a80d9fa6d4939bd9d/paddle/phi/infermeta/multiary.cc#L323),concat 在 InferShape 判断时,调用`ComputeAndCheckShape`,除了进行 concat 轴之外,其他的维度完全一致;在生成 output 的维度时,把 concat 轴的维度求和,其他的维度和输入保持一致。 - - ```cpp - const size_t n = inputs_dims.size(); - auto out_dims = inputs_dims[0]; - size_t in_zero_dims_size = out_dims.size(); - for (size_t i = 1; i < n; i++) { - PADDLE_ENFORCE_EQ( - inputs_dims[i].size(), - out_dims.size(), - phi::errors::InvalidArgument("The shape of input[0] and input[%d] " - "is expected to be equal." - "But received input[0]'s shape = " - "[%s], input[%d]'s shape = [%s].", - i, - inputs_dims[0], - i, - inputs_dims[i])); - for (size_t j = 0; j < in_zero_dims_size; j++) { - if (j == axis) { - if (is_runtime) { - out_dims[axis] += inputs_dims[i][j]; - } else { - if (inputs_dims[i][j] == -1 || out_dims[j] == -1) { - out_dims[axis] = -1; - } else { - out_dims[axis] += inputs_dims[i][j]; - } - } - } else { - bool check_shape = - is_runtime || (inputs_dims[0][j] > 0 && inputs_dims[i][j] > 0); - if (check_shape) { - // check all shape in run time - PADDLE_ENFORCE_EQ(inputs_dims[0][j], - inputs_dims[i][j], - phi::errors::InvalidArgument( - "The %d-th dimension of input[0] and input[%d] " + - 运算的实现可以参考 [ConcatInferMeta](https://github.com/PaddlePaddle/Paddle/blob/0604df9e70dfe7be8a21df6a80d9fa6d4939bd9d/paddle/phi/infermeta/multiary.cc#L323),concat 在 InferShape 判断时,调用`ComputeAndCheckShape`,除了进行 concat 轴之外,其他的维度完全一致;在生成 output 的维度时,把 concat 轴的维度求和,其他的维度和输入保持一致。 + +```cpp + const size_t n = inputs_dims.size(); + auto out_dims = inputs_dims[0]; + size_t in_zero_dims_size = out_dims.size(); + for (size_t i = 1; i < n; i++) { + PADDLE_ENFORCE_EQ( + inputs_dims[i].size(), + out_dims.size(), + phi::errors::InvalidArgument("The shape of input[0] and input[%d] " "is expected to be equal." "But received input[0]'s shape = " "[%s], input[%d]'s shape = [%s].", - j, i, inputs_dims[0], i, inputs_dims[i])); - } - if (!is_runtime && out_dims[j] == -1 && inputs_dims[i][j] > 0) { - out_dims[j] = inputs_dims[i][j]; - } + for (size_t j = 0; j < in_zero_dims_size; j++) { + if (j == axis) { + if (is_runtime) { + out_dims[axis] += inputs_dims[i][j]; + } else { + if (inputs_dims[i][j] == -1 || out_dims[j] == -1) { + out_dims[axis] = -1; + } else { + out_dims[axis] += inputs_dims[i][j]; } } + } else { + bool check_shape = + is_runtime || (inputs_dims[0][j] > 0 && inputs_dims[i][j] > 0); + if (check_shape) { + // check all shape in run time + PADDLE_ENFORCE_EQ(inputs_dims[0][j], + inputs_dims[i][j], + phi::errors::InvalidArgument( + "The %d-th dimension of input[0] and input[%d] " + "is expected to be equal." + "But received input[0]'s shape = " + "[%s], input[%d]'s shape = [%s].", + j, + i, + inputs_dims[0], + i, + inputs_dims[i])); + } + if (!is_runtime && out_dims[j] == -1 && inputs_dims[i][j] > 0) { + out_dims[j] = inputs_dims[i][j]; + } } - ``` - -## 3. 新增算子 Kernel + } + } +``` -新增算子 Kernel 在 `paddle/phi/kernels` 目录中完成 +## 四、新增算子 Kernel -### 3.1 kernels 目录结构 +### 4.1 Kernels 目录结构 -`paddle/phi/kernels` 基本目录结构如下 +新增算子 Kernel 在 [paddle/phi/kernels](https://github.com/PaddlePaddle/Paddle/tree/develop/paddle/phi/kernels) 目录中完成,基本目录结构如下: -``` +```plain paddle/phi/kernels ./ (根目录放置设备无关的 kernel 声明和实现) ./cpu(仅放置 cpu 后端的 kernel 实现) @@ -474,47 +469,50 @@ paddle/phi/kernels 一般情况下,新增算子仅需要关注 kernels 根目录及 kernel 所支持设备的子目录即可: - kernels 根目录,放置设备无关的 kernel.h 和 kernel.cc - - 例如,一个 kernel 除了一些简单的设备无关的 C++逻辑,关键计算逻辑均是复用已有的 phi kernel 函数实现的,那么这个 kernel 实现是天然能够适配所有设备及后端的,所以它的声明和实现均直接放置到 kernels 目录下即可 -- kernels 下一级子目录,原则上按照 backend 分类按需新建,放置特定后端的 kernel 实现代码 - -下面给出两种典型 kernel 新增时文件放置位置的说明: + - 例如,一个 kernel 除了一些简单的设备无关的 C++ 逻辑,关键计算逻辑均是复用已有的 kernel 函数实现的,那么这个 kernel 实现是天然能够适配所有设备及后端的,所以它的声明和实现均直接放置到 kernels 目录下即可。 +- kernels 下一级子目录,原则上按照后端分类按需新建,放置特定后端的 kernel 实现代码。 -1. 新增与设备无关的 Kernel +下面给出两种典型 kernel 新增时文件放置位置的说明(假设算子名为`xxx`): - 该类 Kernel 实现与所有硬件设备无关,只需要一份代码实现,可参考 reshape kernel。其新增文件及目录包括: +- 新增与设备无关的 kernel - - `paddle/phi/kernels/xxx_kernel.h` - - `paddle/phi/kernels/xxx_kernel.cc` +该类 kernel 实现与所有硬件设备无关,只需要一份代码实现,可参考 [reshape kernel](https://github.com/PaddlePaddle/Paddle/blob/develop/paddle/phi/kernels/reshape_kernel.cc)。其新增文件及目录包括: - 如果是反向 kernel,则使用 `grad_kernel` 后缀即可: + - `paddle/phi/kernels/xxx_kernel.h` + - `paddle/phi/kernels/xxx_kernel.cc` - - `paddle/phi/kernels/xxx_grad_kernel.h` - - `paddle/phi/kernels/xxx_grad_kernel.cc` +如果是反向 kernel,则使用 `grad_kernel` 后缀即可: -2. 新增与设备相关、且 CPU&GPU 分别实现的 Kernel + - `paddle/phi/kernels/xxx_grad_kernel.h` + - `paddle/phi/kernels/xxx_grad_kernel.cc` +- 新增与设备相关、且 CPU & GPU 分别实现的 kernel - 还有部分 Kernel 的实现,CPU 和 GPU 上逻辑不同,此时没有共同实现的代码,需要区分 CPU 和 GPU 硬件。 - CPU 的实现位于`paddle/phi/kernels/cpu` 目录下; GPU 的实现位于`paddle/phi/kernels/gpu` 下,可参考 dot kernel,cast kernel 等。其新增文件及目录包括: +还有部分 kernel 的实现,CPU 和 GPU 上逻辑不同,此时没有共同实现的代码,需要区分 CPU 和 GPU 硬件。 +CPU 的实现位于`paddle/phi/kernels/cpu` 目录下; GPU 的实现位于`paddle/phi/kernels/gpu` 下,可参考 [dot kernel](https://github.com/PaddlePaddle/Paddle/blob/develop/paddle/phi/kernels/gpu/dot_kernel.cu),[cast kernel](https://github.com/PaddlePaddle/Paddle/blob/develop/paddle/phi/kernels/gpu/cast_kernel.cu) 等。其新增文件及目录包括: - - `paddle/phi/kernels/xxx_kernel.h` - - `paddle/phi/kernels/cpu/xxx_kernel.cc` - - `paddle/phi/kernels/gpu/xxx_kernel.cu` + - `paddle/phi/kernels/xxx_kernel.h` + - `paddle/phi/kernels/cpu/xxx_kernel.cc` + - `paddle/phi/kernels/gpu/xxx_kernel.cu` - 相应地,反向 kernel 新增文件为: +相应地,反向 kernel 新增文件为: - - `paddle/phi/kernels/xxx_grad_kernel.h` - - `paddle/phi/kernels/cpu/xxx_grad_kernel.cc` - - `paddle/phi/kernels/gpu/xxx_grad_kernel.cu` + - `paddle/phi/kernels/xxx_grad_kernel.h` + - `paddle/phi/kernels/cpu/xxx_grad_kernel.cc` + - `paddle/phi/kernels/gpu/xxx_grad_kernel.cu` -### 3.2 Kernel 写法 +### 4.2 Kernel 写法 -#### 3.2.1 声明 Kernel 函数 +#### 4.2.1 声明 Kernel 函数 -- 以 trace op 为例,首先在`paddle/phi/kernels`目录下新建 [`trace_kernel.h`](https://github.com/PaddlePaddle/Paddle/blob/develop/paddle/phi/kernels/trace_kernel.h) 文件,用于放置前向 Kernel 函数声明。 +以 trace OP 为例,首先在`paddle/phi/kernels`目录下新建 [trace_kernel.h](https://github.com/PaddlePaddle/Paddle/blob/develop/paddle/phi/kernels/trace_kernel.h) 文件,用于放置前向 kernel 函数声明。 -> 注:Kernel 函数声明的参数列表原则上与 Python API 参数列表一致 +> 注意: +> +> - Kernel 函数声明的参数列表原则上与 Python API 参数列表一致; +> - 所有的 kernel 声明,统一放在 namespace phi 中,缩短函数的调用前缀使调用写法更加简洁。 -``` +```plain +namespace phi { template void TraceKernel(const Context& dev_ctx, const DenseTensor& x, @@ -522,29 +520,29 @@ void TraceKernel(const Context& dev_ctx, int axis1, int axis2, DenseTensor* out); +} ``` -> 注:所有的 kernel 声明,统一放在 namespace phi 中,缩短函数的调用前缀使调用写法更加简洁 +模板为固定写法,说明如下: -说明如下: - -1. 模板为固定写法,第一个模板参数为数据类型`T`,第二个模板参数为设备上下文`Context`,`template ` -2. 函数命名:Kernel 的命名统一加 Kernel 后缀。即:Kernel 名称+Kernel 后缀,驼峰式命名,例如:AddKernel -3. 参数顺序:Context, InputTensor …, Attribute …, OutTensor* 。即:第一位参数为 Context, 后边为输入的 Tensor, 接着是输入的属性参数, 最后是输出的 Tensor 的指针参数。如果 Kernel 没有输入 Tensor 或者没有属性参数,略过即可 -2. 第 1 个函数参数,类型为 `const Context&` 的 dev_ctx -3. 第 2 个函数参数,输入 Tensor,类型一般为 `const DenseTensor&` -4. 第 3-5 个函数参数,均为 attribute(根据具体的含义,选择特定的 int,float,vector等类型),多个 attribute 可以参考 python 端 API 定义的顺序,变量命名对齐 python api -5. 第 6 个函数参数,输出 Tensor,类型一般为`DenseTensor*`,多个 output 可以参考 python 端 API 定义的顺序, 变量命名对齐 python api +- 第一个模板参数为数据类型`T`,第二个模板参数为设备上下文`Context`,`template ` +- 函数命名:kernel 的命名统一加 kernel 后缀。即:kernel 名称 + kernel 后缀,驼峰式命名,例如:AddKernel +- 参数顺序:Context, InputTensor …, Attribute …, OutTensor* 。即:第一位参数为 Context, 后边为输入的 Tensor, 接着是输入的属性参数, 最后是输出的 Tensor 的指针参数。如果 kernel 没有输入 Tensor 或者没有属性参数,略过即可 +- 第 1 个函数参数,类型为 `const Context&` 的 dev_ctx +- 第 2 个函数参数,输入 Tensor,类型一般为 `const DenseTensor&` +- 第 3-5 个函数参数,均为 attribute(根据具体的含义,选择特定的 int,float,vector 等类型),多个 attribute 可以参考 Python 端 API 定义的顺序,变量命名对齐 Python API +- 第 6 个函数参数,输出 Tensor,类型一般为`DenseTensor*`,多个 output 可以参考 python 端 API 定义的顺序, 变量命名对齐 python api > **特殊情况说明:** -> 1. **特殊模板参数**:对于某些 Kernel (如 reshape ,copy),这些 kernel 不关注数据类型 T, 可以省去第一个模板参数,即为:`template ` -> 2. **特殊输入类型**:对于某些特殊 Kernel (如 concat 和 split kernel)的部分输入或输出是数组类型的 DenseTensor, 此时输入类型为:`const std::vector&`; 输出类型为:`std::vector` +> +> 1. **特殊模板参数**:对于某些 kernel (如 reshape ,copy),这些 kernel 不关注数据类型 T, 可以省去第一个模板参数,即为:`template ` +> 2. **特殊输入类型**:对于某些特殊 kernel (如 concat 和 split kernel)的部分输入或输出是数组类型的 DenseTensor, 此时输入类型为:`const std::vector&`; 输出类型为:`std::vector` -#### 3.2.2 实现 Kernel 函数 +#### 4.2.2 实现 Kernel 函数 -**复用已有 Kernel 实现设备无关 Kernel 函数** +**(1)复用已有 Kernel 实现设备无关 Kernel 函数** -由于目前的 Kernel 复用机制为新推出的功能,暂未对已有算子进行升级改造,所以这里我们以一个不在框架中的 linear 算子(out = x * w + b)为例来介绍复用已有 Kernel 实现设备无关 Kernel 函数。(linear kernel 的实现源码需要放置在`paddle/phi/kernels/linear_kernel.cc`) +由于目前的 kernel 复用机制为新推出的功能,暂未对已有算子进行升级改造,所以这里我们以一个不在框架中的 linear 算子 (out = x * w + b) 为例来介绍复用已有 kernel 实现设备无关 Kernel 函数的方法。(linear kernel 的实现源码需要放置在`paddle/phi/kernels/linear_kernel.cc`) `LinearKernel` 的实现代码如下: @@ -564,20 +562,22 @@ void LinearKernel(const Context& dev_ctx, AddKernel(dev_ctx, out, b, out); // 复用 AddKernel } ``` -复用 Kernel 的流程包括: -1. 在源文件中 include 要复用 Kernel 的头文件 -2. 直接调用相应的 Kernel 函数进行复用 -注意:设备无关 Kernel 实现时计算逻辑部分只能复用现有 Kernel 或设备无关的 Functor,不能使用设备相关的语法或者函数接口(如 cuda、cudnn 等)进行计算处理 +复用 kernel 的流程包括: + + 1. 在源文件中 include 要复用 kernel 的头文件 + 2. 直接调用相应的 kernel 函数进行复用 + +> 注意:设备无关 kernel 实现时计算逻辑部分只能复用现有 kernel 或设备无关的 functor,不能使用设备相关的语法或者函数接口(如 cuda、cudnn 等)进行计算处理 -**实现设备相关 Kernel 函数** +**(2)实现设备相关 Kernel 函数** -此处 trace 算子的 kernel 属于前述第 2 中情况,即与设备相关,CPU 和 GPU Kernel 需要分别实现。 +此处 trace 算子的 kernel 属于与设备相关的情况,CPU 和 GPU kernel 需要分别实现。 -- cpu kernel 实现位于:[paddle/phi/kernels/cpu/trace_kernel.cc](https://github.com/PaddlePaddle/Paddle/blob/develop/paddle/phi/kernels/cpu/trace_kernel.cc) -- gpu kernel 实现位于:[paddle/phi/kernels/gpu/trace_kernel.cu](https://github.com/PaddlePaddle/Paddle/blob/develop/paddle/phi/kernels/gpu/trace_kernel.cu) +- CPU kernel 实现位于:[paddle/phi/kernels/cpu/trace_kernel.cc](https://github.com/PaddlePaddle/Paddle/blob/develop/paddle/phi/kernels/cpu/trace_kernel.cc) +- GPU kernel 实现位于:[paddle/phi/kernels/gpu/trace_kernel.cu](https://github.com/PaddlePaddle/Paddle/blob/develop/paddle/phi/kernels/gpu/trace_kernel.cu) -下面为 `TraceKernel` 的 cpu 实现: +下面为 `TraceKernel` 的 CPU 实现为例介绍: ```cpp template @@ -603,7 +603,7 @@ void TraceKernel(const Context& dev_ctx, } ``` -此处 TraceKernel 的实现并未复用其他 Kernel,但如果有需要也是可以复用的,Kernel 复用时,同样是直接 include 相应 Kernel 头文件,在函数中调用即可,例如 [triangular_solve_kernel](https://github.com/PaddlePaddle/Paddle/blob/develop/paddle/phi/kernels/cpu/triangular_solve_kernel.cc) 复用 empty 和 expand kernel。 +此处 TraceKernel 的实现并未复用其他 kernel,但如果有需要也是可以复用的,kernel 复用时,同样是直接 include 相应 kernel 头文件,在函数中调用即可,例如 [triangular_solve_kernel](https://github.com/PaddlePaddle/Paddle/blob/develop/paddle/phi/kernels/cpu/triangular_solve_kernel.cc) 复用 empty 和 expand kernel。 首先在 triangular_solve_kernel.cc 头部 include 相应头文件: @@ -612,7 +612,7 @@ void TraceKernel(const Context& dev_ctx, #include "paddle/phi/kernels/expand_kernel.h" ``` -然后在 Kernel 实现中即可直接调用以上两个头文件中的 Kernel,代码片段如下: +然后在 kernel 实现中即可直接调用以上两个头文件中的 kernel,代码片段如下: ```cpp // Tensor broadcast to 'out' and temp 'x_bst' @@ -622,24 +622,32 @@ void TraceKernel(const Context& dev_ctx, ExpandKernel(dev_ctx, x, x_bst_dims, &x_bst); ``` -补充:对于 Kernel 内部临时使用的`DenseTensor`目前推荐使用`Empty`、`EmptyLike`、`Full`和`FullLike`接口进行创建。 +> 说明:对于 kernel 内部临时使用的`DenseTensor`目前推荐使用`Empty`、`EmptyLike`、`Full`和`FullLike`接口进行创建。 -反向 Kernel 的实现与前向是类似的,此处不再赘述,可以直接参考前述对应链接中的代码实现。 +**(3)实现反向 Kernel 函数** -**公共函数管理:** +反向 kernel 的实现与前向是类似的,此处不再赘述,可以直接参考对应链接中的代码实现。 -如果有一些函数会被多个 Kernel 调用,可以创建非 kernel 的文件管理代码,规则如下: + - [paddle/phi/kernels/trace_grad_kernel.h](https://github.com/PaddlePaddle/Paddle/blob/develop/paddle/phi/kernels/trace_kernel.h) + - [paddle/phi/kernels/cpu/trace_grad_kernel.cc](https://github.com/PaddlePaddle/Paddle/blob/develop/paddle/phi/kernels/cpu/trace_grad_kernel.cc) + - [paddle/phi/kernels/gpu/trace_grad_kernel.cu](https://github.com/PaddlePaddle/Paddle/blob/develop/paddle/phi/kernels/gpu/trace_grad_kernel.cu) + +**(4)公共函数管理:** + +如果有一些函数会被多个 kernel 调用,可以创建非 kernel 的文件管理代码,规则如下: + + - 仅有当前 kernel 使用的辅助函数(具体到设备,比如 trace 的 cpu kernel),一律和 kernel 实现放到同一个设备文件夹中 -1. 仅有当前 kernel 使用的辅助函数(具体到设备,比如 trace 的 cpu kernel),一律和 kernel 实现放到同一个设备文件夹中 - 如果辅助函数相关代码较少,就直接和 kernel 实现放到同一个`.cc/cu`中 - 如果辅助函数相关代码较多,就在 kernel 所在的设备目录创建`.h`管理代码 -2. 有同设备多个 kernel 使用的辅助函数,在 kernel 所在的设备目录创建`.h`放置代码 -3. 有跨设备多个 kernel 使用的辅助函数,在`kernels/funcs`目录下创建`.h/cc/cu`管理代码 -4. 如果当前依赖的辅助函数可以直接归类到`kernels/funcs`目录下已有的文件中,则直接放过去,不用创建新的文件 -#### 3.2.3 注册 Kernel 函数 + - 有同设备多个 kernel 使用的辅助函数,在 kernel 所在的设备目录创建`.h`放置代码 + - 有跨设备多个 kernel 使用的辅助函数,在`kernels/funcs`目录下创建`.h/cc/cu`管理代码 + - 如果当前依赖的辅助函数可以直接归类到`kernels/funcs`目录下已有的文件中,则直接放过去,不用创建新的文件 -注册 kernel 的方式比较简单,直接使用注册宏注册即可,示例如下: +#### 4.2.3 注册 Kernel 函数 + +在对应的 kernel 实现代码中添加注册 kernel 函数,直接使用注册宏注册即可,示例如下: ```cpp PD_REGISTER_KERNEL(trace, @@ -656,48 +664,49 @@ PD_REGISTER_KERNEL(trace, ``` 字段说明: -1. `trace`: kernel 名称,和 Op 的名称一致 + +1. `trace`: kernel 名称,和 OP 的名称一致 2. `CPU`: backend 名称, 一般主要就是 CPU 和 GPU 3. `ALL_LAYOUT`: kernel 支持的 Tensor 布局,一般为 ALL_LAYOUT,及支持所有布局类型 4. `phi::TraceKernel`: kernel 的函数名称,记得带上 namespace phi -5. 剩余的均为 Kernel 支持的数据类型 +5. 剩余的均为 kernel 支持的数据类型 > 注意: -> 1. 如果忘记添加注册相关的头文件,会曝出一个 xx 的错误,如果遇到,请检查 include 的头文件 -> 2. phi 下的注册宏后边是带函数体{ },不是直接加分号,此处与旧的注册宏有小区别 -> 3. 注册 kernel 的宏声明需要在 global namespace +> +> 1. 如果忘记添加注册相关的头文件,会给出一个 error: expected constructor, destructor, or type conversion before ‘(’ token 的错误,如果遇到,请检查 include 的头文件; +> 2. phi 下的注册宏后边是带函数体{ },不是直接加分号,此处与旧的注册宏方式有小区别; +> 3. 注册 kernel 的宏声明需要在 global namespace。 -### 3.3 编译测试 +### 4.3 编译测试 -实现完 Op 和 Kernel 之后,建议先编译测试一下,编译成功之后,再继续后面的步骤。 +实现完 OP kernel 之后,建议先编译测试一下,编译成功之后,再继续后面的步骤。 -详细的编译环境准备和执行流程可参考[从源码编译](https://www.paddlepaddle.org.cn/documentation/docs/zh/develop/install/compile/fromsource.html),下面简单介绍几个主要步骤。 +详细的编译环境准备和执行流程可参考 [从源码编译](../../install/compile/fromsource.html),下面简单介绍几个主要步骤。 在 `Paddle` 代码目录下创建并切换到 build 目录: -``` +```plain mkdir build && cd build ``` -执行`cmake`命令,具体选项可参考[从源码编译](https://www.paddlepaddle.org.cn/documentation/docs/zh/develop/install/compile/fromsource.html)中的介绍,下面的命令为编译 Python3.7,GPU 版本,带测试,Release 版本的 Paddle。 +执行`cmake`命令,具体选项可参考 [从源码编译](../../install/compile/fromsource.html) 中的介绍,下面的命令为编译 Python3.7,GPU 版本,带测试,Release 版本的 Paddle。 -``` +```plain cmake .. -DPY_VERSION=3.7 -DWITH_GPU=ON -DWITH_TESTING=ON -DCMAKE_BUILD_TYPE=Release ``` 在`build`目录下,运行下面命令可以进行编译整个 paddle: -``` +```plain make -j$(nproc) ``` -**注意:** -新增 op 后请重新执行`cmake`命令,然后再执行`make`命令编译 paddle。 +> **注意:**新增 OP 后请重新执行`cmake`命令,然后再执行`make`命令编译 paddle。 -## 4. 封装 Python API +## 五、封装 Python API -系统会对新增的 Op 即 Kernel 自动绑定 Python,并链接到生成的 lib 库中,然后在 Python 端定义相应的 API,在 API 内调用新增算子,并添加相应的中英文文档描述即可。 +飞桨框架会对新增的 OP Kernel 自动绑定 Python,并链接到生成的 lib 库中,然后开发者需要在 Python 端定义相应的 API,在 API 内调用新增算子,并添加相应的中英文文档描述即可。 -[`paddle.trace`](https://github.com/PaddlePaddle/Paddle/blob/bd4dc3be34584f9b273ecec07297fb05e1cf4c52/python/paddle/tensor/math.py#L2277) 的 Python API 实现位于 `python/paddle/tensor/math.py` 中,具体实现如下: + `paddle.trace` 的 Python API 实现位于 [python/paddle/tensor/math.py](https://github.com/PaddlePaddle/Paddle/blob/bd4dc3be34584f9b273ecec07297fb05e1cf4c52/python/paddle/tensor/math.py#L2277) 中,具体实现如下: ```python def trace(x, offset=0, axis1=0, axis2=1, name=None): @@ -786,100 +795,97 @@ def trace(x, offset=0, axis1=0, axis2=1, name=None): return out ``` -- Python API 实现要点(详见[飞桨 API Python 端开发指南](./new_python_api_cn.html)) - - 对输入参数进行合法性检查,即 `__check_input(input, offset, axis1, axis2)` - - 添加动态图分支调用,即 `if in_dygraph_mode` 进入动态图调用分支 - - 添加静态图分支调用,即动态图分支后剩余的代码 - - -## 5. 添加单元测试 - -单测包括对比前向算子不同设备(CPU、CUDA)的实现、对比反向算子不同设备(CPU、CUDA)的实现、反向算子的梯度测试。下面介绍介绍[`TraceOp`的单元测试](https://github.com/PaddlePaddle/Paddle/blob/develop/python/paddle/fluid/tests/unittests/test_trace_op.py)。 - -**注意:** - -单测中的测试用例需要尽可能的覆盖 Kernel 中的所有分支。 - -### 5.1 前向算子单测 - -算子单元测试继承自`OpTest`。各项具体的单元测试在`TestTraceOp`里完成。测试算子,需要: - -1. 在`setUp`函数定义输入、输出,以及相关的属性参数。 -2. 生成随机的输入数据。 -3. 在 Python 脚本中实现与前向算子相同的计算逻辑,得到输出值,与算子前向计算的输出进行对比。 -4. 反向计算已经自动集成进测试框架,直接调用相应接口即可。 - - - ```python - import paddle - import unittest - import numpy as np - from op_test import OpTest +- Python API 实现要点(详见 [开发 API Python 端](./new_python_api_cn.html)) + - 对输入参数进行合法性检查,即 `__check_input(input, offset, axis1, axis2)` + - 添加动态图分支调用,即 `if in_dygraph_mode` 进入动态图调用分支 + - 添加静态图分支调用,即动态图分支后剩余的代码 +## 六、添加单元测试 - class TestTraceOp(OpTest): - def setUp(self): - self.op_type = "trace" - self.python_api = paddle.trace - self.init_config() - self.outputs = {'Out': self.target} +单测包括对比前向算子不同设备 (CPU、GPU) 的实现、对比反向算子不同设备 (CPU、GPU) 的实现、反向算子的梯度测试。下面介绍[TraceOp 的单元测试](https://github.com/PaddlePaddle/Paddle/blob/develop/python/paddle/fluid/tests/unittests/test_trace_op.py)。 - def test_check_output(self): - self.check_output(check_eager=True) +**单测文件存放路径和命名方式:**在 [python/paddle/fluid/tests/unittests](https://github.com/PaddlePaddle/Paddle/tree/develop/python/paddle/fluid/tests/unittests) 目录下,一般以 `test_*${op_name}*_op.py` 的形式命名,与 Python API 的单元测试文件命名为相同的前缀。 - def test_check_grad(self): - self.check_grad(['Input'], 'Out', check_eager=True) +> **注意:**单测中的测试用例需要尽可能地覆盖 kernel 中的所有分支。 - def init_config(self): - self.case = np.random.randn(20, 6).astype('float64') - self.inputs = {'Input': self.case} - self.attrs = {'offset': 0, 'axis1': 0, 'axis2': 1} - self.target = np.trace(self.inputs['Input']) - ``` +### 6.1 C++ 算子单元测试 - 上面的代码首先导入依赖的包,下面是对`setUp`函数中操作的重要变量的详细解释: +算子单元测试继承自 [OpTest](https://github.com/PaddlePaddle/Paddle/blob/develop/python/paddle/fluid/tests/unittests/op_test.py#L309)。各项具体的单元测试在`TestTraceOp`里完成。测试算子,需要: - - `self.op_type = "trace" ` : 定义类型,与算子定义的名称相同。 - - `self.python_api = paddle.trace` : 定义 python api,与 python 调用接口一致。 - - `self.inputs` : 定义输入,类型为`numpy.array`,并初始化。 - - `self.outputs` : 定义输出,并在 Python 脚本中完成与算子同样的计算逻辑,返回 Python 端的计算结果。 +1. 在`setUp`函数定义输入、输出,以及相关的属性参数,并生成随机的输入数据。 +2. 在 Python 脚本中实现与前向算子相同的计算逻辑,得到输出值,与算子前向计算的输出进行对比。 +3. 反向计算已经自动集成进测试框架,直接调用相应接口即可。 -### 5.2 反向算子单测 - -而反向测试中: - -- `test_check_grad`中调用`check_grad`使用数值法检测梯度正确性和稳定性。 - - 第一个参数`['Input']` : 指定对输入变量`Input`做梯度检测。 - - 第二个参数`'Out'` : 指定前向网络最终的输出目标变量`Out`。 - - 第三个参数`check_eager` : `check_eager=True`表示开启新动态图(eager 模式)单测,`check_eager`默认为`False`。 +```python +import paddle +import unittest +import numpy as np +from op_test import OpTest + + +class TestTraceOp(OpTest): + # 配置 op 信息以及输入输出等参数 + def setUp(self): + self.op_type = "trace" + self.python_api = paddle.trace + self.init_config() + self.outputs = {'Out': self.target} + + # 测试前向输出结果 + def test_check_output(self): + self.check_output(check_eager=True) + + # 测试反向梯度输出 + def test_check_grad(self): + self.check_grad(['Input'], 'Out', check_eager=True) + + def init_config(self): + # 生成随机的输入数据 + self.case = np.random.randn(20, 6).astype('float64') + self.inputs = {'Input': self.case} + self.attrs = {'offset': 0, 'axis1': 0, 'axis2': 1} + self.target = np.trace(self.inputs['Input']) +``` -- 对于存在多个输入的反向算子测试,需要指定只计算部分输入梯度的 case - - 例如,`test_elementwise_sub_op.py`中的`test_check_grad_ingore_x`和`test_check_grad_ingore_y`分支用来测试只需要计算一个输入梯度的情况 - - 此处第三个参数 max_relative_error:指定检测梯度时能容忍的最大错误值。 +- **setUp 函数实现** + - `self.op_type = "trace" ` : 定义类型,与算子定义的名称相同。 + - `self.python_api = paddle.trace` : 定义 python api,与 python 调用接口一致。 + - `self.inputs` : 定义输入,类型为`numpy.array`,并初始化。 + - `self.outputs` : 定义输出,并在 Python 脚本中完成与算子同样的计算逻辑,返回 Python 端的计算结果。 +- **前向算子单测** + - test_check_output 中会对算子的前向计算结果进行测试,对比参考的结果为 setUp 中 `self.outputs`提供的数据。`check_eager=True`表示开启新动态图(eager 模式)单测,`check_eager`默认为`False` +- **反向算子单测** + - `test_check_grad`中调用`check_grad`使用数值法检测梯度正确性和稳定性。 + - 第一个参数`['Input']` : 指定对输入变量`Input`做梯度检测。 + - 第二个参数`'Out'` : 指定前向网络最终的输出目标变量`Out`。 + - 第三个参数`check_eager` : `check_eager=True`表示开启新动态图(eager 模式)单测,`check_eager`默认为`False`。 + - 对于存在多个输入的反向算子测试,需要指定只计算部分输入梯度的 case + - 例如,[test_elementwise_sub_op.py](https://github.com/PaddlePaddle/Paddle/blob/develop/python/paddle/fluid/tests/unittests/test_elementwise_sub_op.py) 中的`test_check_grad_ingore_x`和`test_check_grad_ingore_y`分支用来测试只需要计算一个输入梯度的情况 + - 此处第三个参数 max_relative_error:指定检测梯度时能容忍的最大错误值。 - ```python - def test_check_grad_ingore_x(self): - self.check_grad( - ['Y'], 'Out', max_relative_error=0.005, no_grad_set=set("X")) +```python +def test_check_grad_ingore_x(self): + self.check_grad( + ['Y'], 'Out', max_relative_error=0.005, no_grad_set=set("X")) - def test_check_grad_ingore_y(self): - self.check_grad( - ['X'], 'Out', max_relative_error=0.005, no_grad_set=set('Y')) - ``` +def test_check_grad_ingore_y(self): + self.check_grad( + ['X'], 'Out', max_relative_error=0.005, no_grad_set=set('Y')) +``` -### 5.3 Python API 单元测试 -Python API 也需要编写相关的单测进行测试,详见[添加 Python API 单元测试](new_python_api_cn.html#id2) +### 6.2 Python API 单元测试 -其他有关单元测试添加的注意事项请参考 [《Op 开发手册》](https://github.com/PaddlePaddle/Paddle/wiki/Operator-Development-Manual-Index) 及 [《Paddle 单元测试规范》](https://github.com/PaddlePaddle/Paddle/wiki/PaddlePaddle-Unit-test-specification)。 +Python API 也需要编写相关的单测进行测试,详见 [开发 API Python 端](new_python_api_cn.html)。 +其他有关单元测试添加的注意事项请参考 [Op 开发手册](https://github.com/PaddlePaddle/Paddle/wiki/Operator-Development-Manual-Index) 及 [API 单测开发及验收规范](api_accpetance_criteria_cn.html)。 -### 5.3 编译和执行 +### 6.3 运行单元测试 `python/paddle/fluid/tests/unittests/` 目录下新增的 `test_*.py` 单元测试会被自动加入工程进行编译。 请注意,**运行单元测试测时需要编译整个工程**,并且编译时需要打开`WITH_TESTING`。 -参考上述【3.3 编译测试】过程,编译成功后,在`build`目录下执行下面的命令来运行单元测试: +参考上述【4.3 编译测试】小节,编译成功后,在`build`目录下执行下面的命令来运行单元测试: ```bash make test ARGS="-R test_trace_op -V" @@ -891,9 +897,9 @@ make test ARGS="-R test_trace_op -V" ctest -R test_trace_op -V ``` -## 6. 开发算子注意事项 +## 七. 开发算子注意事项 -### 6.1 报错检查 +### 7.1 报错检查 实现算子时检查数据的合法性需要使用 PADDLE_ENFORCE 以及 PADDLE_ENFORCE_EQ 等宏定义,基本格式如下: @@ -924,12 +930,12 @@ PADDLE_ENFORCE_EQ(比较对象 A, 比较对象 B, 错误提示信息) 更详细的报错检查规范介绍请参考 [《Paddle 报错信息文案书写规范》](https://github.com/PaddlePaddle/Paddle/wiki/Paddle-Error-Message-Writing-Specification)。 -### 6.2 算子兼容性问题 -对算子的修改需要考虑兼容性问题,要保证算子修改之后,之前的模型都能够正常加载及运行,即新版本的 Paddle 预测库能成功加载运行旧版本训练的模型。**所以,需要保证算子当前的所有输入输出参数不能被修改(文档除外)或删除,可以新增参数,但是新增的 Tensor 类型变量需要设置为 optional,非 Tensor 变量需要设置默认值。更多详细内容请参考[OP 修改规范:Input/Output/Attribute 只能做兼容修改](https://github.com/PaddlePaddle/Paddle/wiki/OP-Input-Output-Attribute-Compatibility-Modification)** 。 +### 7.2 算子兼容性问题 +对算子的修改需要考虑兼容性问题,要保证算子修改之后,之前的模型都能够正常加载及运行,即新版本的 Paddle 预测库能成功加载运行旧版本训练的模型。**所以,需要保证算子当前的所有输入输出参数不能被修改(文档除外)或删除,可以新增参数,但是新增的 Tensor 类型变量需要设置为 optional,非 Tensor 变量需要设置默认值。更多详细内容请参考 [OP 修改规范:Input/Output/Attribute 只能做兼容修改](https://github.com/PaddlePaddle/Paddle/wiki/OP-Input-Output-Attribute-Compatibility-Modification)** 。 -### 6.3 显存优化 +### 7.3 显存优化 -#### 6.3.1 为可原位计算的算子注册 inplace +#### 7.3.1 为可原位计算的算子注册 inplace 有些算子的计算逻辑中,输出可以复用输入的显存空间,也可称为原位计算。例如[reshape](https://github.com/PaddlePaddle/Paddle/blob/develop/paddle/phi/kernels/reshape_kernel.cc)中,输出`out`可以复用输入`x`的显存空间,因为该算子的计算逻辑不会改变`x`的实际数据,只是修改它的 shape,输出和输入复用同一块显存空间不影响结果。对于这类算子,可以注册`inlace`,从而让框架在运行时自动地进行显存优化。 注册方式为在算子的 YAML 配置中添加`inplace`配置项,格式如:`(x -> out)`,详见[YAML 配置规则](new_cpp_op_cn.html#yaml)。示例: @@ -942,7 +948,7 @@ PADDLE_ENFORCE_EQ(比较对象 A, 比较对象 B, 错误提示信息) inplace : (x -> out) ``` -#### 6.3.2 减少反向算子中的无关变量 +#### 7.3.2 减少反向算子中的无关变量 通常反向算子会依赖于前向算子的某些输入、输出 Tensor,以供反向算子计算使用。但有些情况下,反向算子不需要前向 Op 的所有输入和输出;有些情况下,反向算子只需要前向算子的部分输入和输出;有些情况下,反向算子只需要使用前向算子中输入和输出变量的 Shape 和 LoD 信息。若开发者在注册反向算子时,将不必要的前向算子输入和输出作为反向算子的输入,会导致这部分显存无法被框架现有的显存优化策略优化,从而导致模型显存占用过高。 所以在定义反向算子时需要注意以下几点: @@ -958,11 +964,11 @@ PADDLE_ENFORCE_EQ(比较对象 A, 比较对象 B, 错误提示信息) no_need_buffer : x ``` -### 6.4 性能优化 -#### 6.4.1 第三方库的选择 +### 7.4 性能优化 +#### 7.4.1 第三方库的选择 在写算子过程中优先使用高性能(如 cudnn、mkldnn、mklml、eigen 等)中提供的操作,但是一定要做 benchmark,有些库中的操作在深度学习任务中可能会比较慢。因为高性能库(如 eigen 等)中提供的操作为了更为通用,在性能方面可能并不是很好,通常深度学习模型中数据量较小,所以有些情况下可能高性能库中提供的某些操作速度较慢。比如 Elementwise 系列的所有算子(前向和反向),Elementwise 操作在模型中调用的次数比较多,尤其是 Elementwise_add,在很多操作之后都需要添加偏置项。在之前的实现中 Elementwise_op 直接调用 Eigen 库,由于 Elementwise 操作在很多情况下需要对数据做 Broadcast,而实验发现 Eigen 库做 Broadcast 的速度比较慢,慢的原因在这个 PR[#6229](https://github.com/PaddlePaddle/Paddle/pull/6229)中有描述。 -#### 6.4.2 算子性能优化 +#### 7.4.2 算子性能优化 算子的计算速度与输入的数据量有关,对于某些算子可以根据输入数据的 Shape 和算子的属性参数来选择不同的计算方式。比如 concat_op,当 axis>=1 时,在对多个 tensor 做拼接过程中需要对每个 tensor 做很多次拷贝,如果是在 GPU 上,需要调用 cudaMemCopy。相对 CPU 而言,GPU 属于外部设备,所以每次调用 GPU 的操作都会有一定的额外开销,并且当需要拷贝的次数较多时,这种开销就更为凸现。目前 concat_op 的实现会根据输入数据的 Shape 以及 axis 值来选择不同的调用方式,如果输入的 tensor 较多,且 axis 不等于 0,则将多次拷贝操作转换成一个 CUDA Kernel 来完成;如果输入 tensor 较少,且 axis 等于 0,使用直接进行拷贝。相关实验过程在该 PR([#8669](https://github.com/PaddlePaddle/Paddle/pull/8669))中有介绍。 由于 CUDA Kernel 的调用有一定的额外开销,所以如果算子中出现多次调用 CUDA Kernel,可能会影响算子的执行速度。比如之前的 sequence_expand_op 中包含很多 CUDA Kernel,通常这些 CUDA Kernel 处理的数据量较小,所以频繁调用这样的 Kernel 会影响算子的计算速度,这种情况下最好将这些小的 CUDA Kernel 合并成一个。在优化 sequence_expand_op 过程(相关 PR[#9289](https://github.com/PaddlePaddle/Paddle/pull/9289))中就是采用这种思路,优化后的 sequence_expand_op 比之前的实现平均快出约 1 倍左右,相关实验细节在该 PR([#9289](https://github.com/PaddlePaddle/Paddle/pull/9289))中有介绍。 @@ -971,10 +977,10 @@ PADDLE_ENFORCE_EQ(比较对象 A, 比较对象 B, 错误提示信息) 更多算子性能优化方法,请参考 [算子性能优化 方法介绍](../op_optimization/op_optimization_method_introduction_cn.html)。 -### 6.5 稀疏梯度参数更新方法 +### 7.5 稀疏梯度参数更新方法 目前稀疏梯度在做更新的时候会先对梯度做 merge,即对相同参数的梯度做累加,然后做参数以及附加参数(如 velocity)的更新。 -### 6.6 混合设备调用 +### 7.6 混合设备调用 由于 GPU 是异步执行的,当 CPU 调用返回之后,GPU 端可能还没有真正的执行,所以如果在算子中创建了 GPU 运行时需要用到的临时变量,当 GPU 开始运行的时候,该临时变量可能在 CPU 端已经被释放,这样可能会导致 GPU 计算出错。 关于 GPU 中的一些同步和异步操作: @@ -994,17 +1000,17 @@ The following device operations are asynchronous with respect to the host: 更多内容可参考:[Asynchronous Concurrent Execution](https://docs.nvidia.com/cuda/cuda-c-programming-guide/#asynchronous-concurrent-execution),[API synchronization behavior](https://docs.nvidia.com/cuda/cuda-runtime-api/api-sync-behavior.html#api-sync-behavior) -### 6.7 算子数值稳定性问题 +### 7.7 算子数值稳定性问题 有些算子存在数值稳定性问题,出现数值稳定性的主要原因程序在多次运行时,对浮点型数据施加操作的顺序可能不同,进而导致最终计算结果不同。而 GPU 是通过多线程并行计算的方式来加速计算的,所以很容易出现对浮点数施加操作的顺序不固定现象。 目前发现 cudnn 中的卷积操作、cudnn 中的 MaxPooling、CUDA 中 CudaAtomicXX、ParallelExecutor 的 Reduce 模式下参数梯度的聚合等操作运行结果是非确定的。 为此 Paddle 中添加了一些 FLAGS,比如使用 FLAGS_cudnn_deterministic 来强制 cudnn 使用确定性算法、FLAGS_cpu_deterministic 强制 CPU 端的计算使用确定性方法。 -### 6.8 算子的数学公式 +### 7.8 算子的数学公式 如果算子有数学公式,一定要在代码中将数学公式写明,并在 Python API 的 Doc 中显示,因为用户在对比不同框架的计算结果时可能需要了解 Paddle 对算子是怎么实现的。 -### 6.9 LoD 在算子内部的传导规范 +### 7.9 LoD 在算子内部的传导规范 [LoD](https://github.com/PaddlePaddle/FluidDoc/blob/develop/doc/fluid/design/concepts/lod_tensor.md) 是 Paddle 框架用来表示变长序列数据的属性,除了仅支持输入是 padding data 的算子外,所有算子的实现都要考虑 LoD 的传导问题。 @@ -1034,7 +1040,7 @@ The following device operations are asynchronous with respect to the host: 这两类算子的 LoD 传导需要考虑前向和反向两个过程。 -#### 前向传导 +**(1)前向传导** 在前向传导过程,与输入的 LoD 相比较,算子输出的 LoD 可能出现不变、改变和消失这三种情况: @@ -1051,24 +1057,31 @@ The following device operations are asynchronous with respect to the host: - 对 LoD Level 有明确要求的算子,推荐的做法是在 `InferMeta` 中即完成 LoD Level 的检查,例如 [sequence_pad_op](https://github.com/PaddlePaddle/Paddle/blob/4292bd8687ababc7737cffbddc0d38ead2138c00/paddle/fluid/operators/sequence_ops/sequence_pad_op.cc#L79)。 -#### 反向传导 +**(2)反向传导** 通常来讲,算子的某个输入 Var 所对应的梯度 GradVar 的 LoD 应该与 Var 自身相同,所以应直接将 Var 的 LoD 共享给 GradVar,可以参考 [elementwise ops 的 backward](https://github.com/PaddlePaddle/Paddle/blob/a88a1faa48a42a8c3737deb0f05da968d200a7d3/paddle/fluid/operators/elementwise/elementwise_op.h#L189-L196) +## 八、更多信息 -## 7. 补充 -### 7.1 Paddle 基于 YAML 配置的算子代码自动生成 -Paddle 支持动态图和静态图两种模式,在 YAML 配置文件中完成算子基本属性的定义后,需要进行解析并分别生成动态图和静态图所对应的算子代码逻辑,从而将算子接入框架的执行体系。基于 YAML 配置的算子代码自动生成示意图: -![code_gen_by_yaml](./code_gen_by_yaml.png) +### 8.1 Paddle 基于 Yaml 配置自动生成算子代码的逻辑解读 + +Paddle 支持动态图和静态图两种模式,在 YAML 配置文件中完成算子基本属性的定义后,需要进行解析并分别生成动态图和静态图所对应的算子代码逻辑,从而将算子接入框架的执行体系。基于 YAML 配置的算子代码自动生成示意图,如下所示。 + +> 说明:当开发者添加一个新的 C++ 算子时,只需要完成下图中 Kernel、算子定义 Yaml 配置文件和 Python API 三个绿色框中的代码开发,其余橙色部分都会通过自动代码生成来完成,从而将新增算子接入飞桨框架中。 + +

    + +如前文所述,算子开发时通过 YAML 配置文件对算子进行描述及定义,包括前向 [paddle/phi/api/yaml/api.yaml](https://github.com/PaddlePaddle/Paddle/blob/develop/paddle/phi/api/yaml/api.yaml) 和反向 [paddle/phi/api/yaml/backward.yaml](https://github.com/PaddlePaddle/Paddle/blob/develop/paddle/phi/api/yaml/backward.yaml)。动态图和静态图两种模式的执行流程不同,具体如下所示: -- 其中 YAML 配置文件为前向:[`paddle/phi/api/yaml/api.yaml`](https://github.com/PaddlePaddle/Paddle/blob/develop/paddle/phi/api/yaml/api.yaml) 和反向:[`paddle/phi/api/yaml/backward.yaml`](https://github.com/PaddlePaddle/Paddle/blob/develop/paddle/phi/api/yaml/backward.yaml)。 - 动态图中自动生成的代码包括从 Python API 到计算 Kernel 间的各层调用接口实现,从底层往上分别为: - - C++ API:一套与 Python API 参数对齐的 C++接口(只做逻辑计算,不支持自动微分),内部封装了底层 kernel 的选择和调用等逻辑,供上层灵活使用。 + - **C++ API**:一套与 Python API 参数对齐的 C++ 接口(只做逻辑计算,不支持自动微分),内部封装了底层 kernel 的选择和调用等逻辑,供上层灵活使用。 - 注:前向算子生成 C++ API 头文件和实现代码分别为`paddle/phi/api/include/api.h`和`paddle/phi/api/lib/api.cc`,反向算子生成的头文件和实现代码分别为`paddle/phi/api/backward/backward_api.h`,`paddle/phi/api/lib/backward_api.cc`。 - - 动态图前向函数与反向节点(Autograd API):在 C++ API 的基础上进行了封装,组成一个提供自动微分功能的 C++函数接口。 - - 注:生成的相关代码在`paddle/fluid/eager/api/generated/eager_generated`目录下 - - Python-C 接口:将支持自动微分功能的 C++的函数接口(Autograd API)暴露到 Python 层供 Python API 调用。 - - 注:生成的 Python-C 接口代码在`paddle/fluid/pybind/eager_final_state_op_function_impl.h`中 -- 静态图的执行流程与动态图不同,所以生成的代码也与动态图有较大差异。静态图由于是先组网后计算,Python API 主要负责组网,算子的调度和 kernel 计算由静态图执行器来完成,因此自动生成的代码是将配置文件中的算子信息注册到框架内供执行器调度,主要包括[OpMaker](https://github.com/PaddlePaddle/Paddle/blob/develop/paddle/fluid/framework/op_proto_maker.h)(静态图中定义算子的输入、输出以及属性等信息)和`REGISTER_OPERATOR`(将算子名称以及 OpMaker 等信息进行注册)等静态图算子注册组件,具体的代码逻辑可参考`paddle/fluid/operators/generated_op.cc` + - **动态图前向函数与反向节点(Autograd API)**:在 C++ API 的基础上进行了封装,组成一个提供自动微分功能的 C++函数接口。 + - 注:生成的相关代码在`paddle/fluid/eager/api/generated/eager_generated`目录下。 + - **Python-C 函数**:将支持自动微分功能的 C++的函数接口(Autograd API)暴露到 Python 层供 Python API 调用。 + - 注:生成的 Python-C 接口代码在`paddle/fluid/pybind/eager_final_state_op_function_impl.h`中。 +- 静态图的执行流程与动态图不同,所以生成的代码也与动态图有较大差异。 + +静态图由于是先组网后计算,Python API 主要负责组网,算子的调度和 kernel 计算由静态图执行器来完成,因此自动生成的代码是将配置文件中的算子信息注册到框架内供执行器调度,主要包括 [OpMaker](https://github.com/PaddlePaddle/Paddle/blob/develop/paddle/fluid/framework/op_proto_maker.h)(静态图中定义算子的输入、输出以及属性等信息)和`REGISTER_OPERATOR`(将算子名称以及 OpMaker 等信息进行注册)等静态图算子注册组件,具体的代码逻辑可参考`paddle/fluid/operators/generated_op.cc`。 -**注意:由于代码自动生成在编译时进行,所以查看上述生成代码需要先完成[框架的编译](https://www.paddlepaddle.org.cn/documentation/docs/zh/develop/install/compile/fromsource.html)。** +> **注意:由于代码自动生成在编译时进行,所以查看上述生成代码需要先完成** [**框架的编译**](../../install/compile/fromsource.html)**。** diff --git a/docs/dev_guides/api_contributing_guides/new_python_api_cn.md b/docs/dev_guides/api_contributing_guides/new_python_api_cn.md index e98b8991f84..bbab5470bf0 100644 --- a/docs/dev_guides/api_contributing_guides/new_python_api_cn.md +++ b/docs/dev_guides/api_contributing_guides/new_python_api_cn.md @@ -1,21 +1,35 @@ -# 飞桨 API Python 端开发指南 +# 开发 API Python 端 -本文将介绍为 Paddle 开发新的 API 时需要在 Python 端完成的内容以及注意事项。 +新增飞桨 API 主要包含两种情况: -## 开发 Python API 代码 +1. 不需要开发新的 C++ 算子(Operator,OP),可以用其他 Python API 组合得到新的 API,只写 Python 代码即可。 +2. 需要开发新的 C++ 算子,需要用 C++ 开发 OP 实现代码、再封装 Python API 代码。 -这分为两种情况,Paddle 的 API 包含需要开发 C++ 算子的和不需要开发 C++ 算子而仅使用现有 Python API 组合得到的两种,但两种情况下均有 Python 端的开发工作。 +两种情况下均有 Python 端的开发工作。本文将介绍开发新的飞桨 API 时,需要完成的 Python 端开发内容以及注意事项。 -1. 包含 C++ 算子的开发的情况,需要在 Python 端添加相应 API 以调用对应的算子; -2. 不需要开发 C++ 算子的情况,需要在 Python 端添加相应 API 以调用其他 API 组合实现功能; +## 一、开发前准备 -### 文件位置与 API 名称 +开发代码前请确认: -Python API 的文件位置遵循功能相似的放在一起的原则。大的功能分类可以参考 [API 目录结构规范](https://github.com/PaddlePaddle/docs/blob/develop/docs/dev_guides/api_contributing_guides/api_design_guidelines_standard_cn.md#api 目录结构规范)。 +- 已签署 [贡献者许可协议(Contributor License Agreement,CLA)](https://cla-assistant.io/PaddlePaddle/Paddle); -大部分常用的数组运算 API(在 numpy 中有功能相似的 `numpy.***` API )放在 `paddle/tensor` 目录下。具体的功能细分如下: +- 已阅读 [代码贡献流程](..\code_contributing_path_cn.html)、[贡献前阅读](read_before_contributing_cn.html) 和相关代码规范; -| 文件 | 功能 | +- 已根据 [API 设计和命名规范](api_design_guidelines_standard_cn.html) 确定了新增 API 的名称和存放位置; + +- 已提交 [API 设计文档](read_before_contributing_cn.html#apiDesignDoc) 并通过评审; + +- 已将 [PaddlePaddle/Paddle](https://github.com/PaddlePaddle/Paddle) 仓库的代码获取到本地,准备好了 Paddle 开发环境。 + +## 二、 开发 Python API 代码 + +### 2.1 确定文件位置和 API 名称 + +提交飞桨 API 设计文档时,就需要参考 [API 设计和命名规范](api_design_guidelines_standard_cn.html) 确定 Python API 的代码文件存放位置和 API 名称。按照已有设计,在 [python/paddle](https://github.com/PaddlePaddle/Paddle/tree/develop/python/paddle) 目录下的相应子目录中添加新的 `.py` 代码文件,遵循相似功能的 API 放在同一文件夹的原则。 + +比如,大部分常用的数组运算 API(在 numpy 中有功能相似的 `numpy.***` API )都放在 `python/paddle/tensor` 目录下。具体的功能细分如下: + +| **文件** | **功能** | | --------------- | ------------------------------------------------------------ | | array.py | TensorArray 相关的操作 | | attribute.py | Tensor 元数据相关的操作,比如数据类型判断,`is_complex`, `is_integer`, 元数据获取,`shape`, `rank` 等 | @@ -32,47 +46,44 @@ Python API 的文件位置遵循功能相似的放在一起的原则。大的功 与 `paddle/tensor` 功能类似,`paddle.nn.functional` 中也包含许多用于操作 tensor 的函数,但是这里主要是放一些更常用于神经网络中的函数,比如 `batch_norm`, `conv2d`,这些往往可能在 numpy 中没有直接对应的函数。 -写新的 API 的时候可以参考该 API 的功能和哪一类更为相似,如果有不确定的情况,请 [新建 ISSUE](https://github.com/PaddlePaddle/Paddle/issues/new?assignees=&labels=type%2Ffeature-request%2Cstatus%2Fnew-issue&template=2_feature-request.yml) 说明。 +> 说明:写新的 API 时可以参考该 API 的功能和哪一类更为相似,如果有不确定的情况,请 [新建 ISSUE](https://github.com/PaddlePaddle/Paddle/issues/new?assignees=&labels=type%2Ffeature-request%2Cstatus%2Fnew-issue&template=2_feature-request.yml) 说明。 +### 2.2 Python API 的代码开发示例 -### Python API 的代码开发示例 先看一个简单的 Python API 的代码样例,如图 1 所示,可以看到主要包括以下几部分: -- 函数定义:定义 Python 接口函数 -- 英文文档:API 的英文文档与直接写在 .py 文件中,如下图所示;API 的中文文档则写到 [PaddlePaddle/docs](https://github.com/PaddlePaddle/docs) repo 中 -- 代码示例:该 API 的使用示例代码 -- 函数主体代码:包括输入参数的检查、调用算子的执行逻辑等内容 -![zeros_example](./images/zeros_python_api.png) -
    图 1 Python API 代码样例
    +- **函数定义**:定义 Python 接口函数。 +- **英文文档**:API 的英文文档直接写在 `.py` 代码文件中,如下图所示;API 的中文文档则写到 [PaddlePaddle/docs](https://github.com/PaddlePaddle/docs) 仓库中。 +- **代码示例**:该 API 的使用示例代码。 +- **函数主体代码**:包括输入参数的检查、调用算子的执行逻辑等内容。 + +
    +
    图 1 Python API 代码样例
    -下面介绍飞桨 Python API 开发的一些惯例,以及用到的主要函数类的接口。 +接下来通过两个代码示例,介绍 Python API 的函数主体代码开发的一些惯例,以及用到的主要函数类的接口。 -这类的接口需要兼容动态图和静态图。在动态图下,函数会被多次执行;而在静态图下,函数仅在组网时被调用,真正被多次执行的是组网得到的结果。但 API 在动态图和静态图下的行为是保持一致的。 +> 说明:因为飞桨框架同时支持动态图和静态图,因此通常情况下,飞桨 API 需要实现动态图分支和静态图分支,不同分支下的行为是保持一致的,并且对外统一成一个 API 接口。 -关于 API 的命名,参数命名等的一般规范,可以参考 [飞桨 API 的设计和命名规范](api_design_guidelines_standard_cn.html#id2)。 +#### 2.2.1 代码示例一(组合其他 Python API ) -接下来介绍 Python API 的函数主体代码开发的一些惯例,以及用到的主要函数类的接口。 ->注:因为飞桨框架同时支持动态图和静态图,因此通常情况下,飞桨原生算子 API 需要实现动态图分支和静态图分支,不同分支下的行为是保持一致的,并且对外统一成一个 API 接口。 +如图 1 所示,[zeros](https://github.com/PaddlePaddle/Paddle/blob/develop/python/paddle/tensor/creation.py#L552) 函数是通过组合 [fill_constant](https://github.com/PaddlePaddle/Paddle/blob/develop/python/paddle/fluid/layers/tensor.py#L719) 实现的,并且 fill_constant 里已经处理了动态图和静态图的情况,所以直接调用即可。这就是组合其他 Python API 实现的例子。 -#### 代码示例一(组合其他 Python API ) -如图 1 所示,zeros 函数是通过组合 fill_constant 实现的,并且 fill_constant 里已经处理了动态图和静态图的情况,所以直接调用即可。这就是组合其他 Python API 实现的例子。 -```Python +```python def zeros(shape, dtype=None, name=None): # 为了突出重点,省略中间的文档和示例部分 if dtype is None: dtype = 'float32' return fill_constant(value=0.0, shape=shape, dtype=dtype, name=name) ``` -而如果 API 的实现中需要调用一个 C++ 算子时,则需要根据动态图和静态图使用不同的写法,具体见示例二。 +#### 2.2.2 代码示例二(调用 C++ 算子接口) -#### 代码示例二(调用 C++ 算子接口) +如果 API 的实现中需要调用 C++ 算子,则需要分别实现动态图分支和静态图分支的代码。 -接下来是一个实现动态图分支和静态图分支调用 C++ 算子的例子。 +接下来以 [paddle.trace](../../api/paddle/trace_cn.html) API 的实现代码为例(示例代码路径:[python/paddle/tensor/math.py](https://github.com/PaddlePaddle/Paddle/blob/develop/python/paddle/tensor/math.py#L2790)),分别介绍动态图分支和静态图分支的开发要点: -下面以 `paddle.trace` 的实现代码为例,分别介绍动态图分支和静态图分支的开发要点: -```Python +```python def trace(x, offset=0, axis1=0, axis2=1, name=None): # 为了突出重点,省略部分代码 # 动态图分支,直接调用算子对应的 Python C 函数 @@ -81,7 +92,7 @@ def trace(x, offset=0, axis1=0, axis2=1, name=None): # 静态图分支 ## 输入参数检查 - __check_input(input, offset, axis1, axis2) + __check_input(x, offset, axis1, axis2) ## 构造输出,添加 op,返回输出 helper = LayerHelper('trace', **locals()) @@ -97,34 +108,40 @@ def trace(x, offset=0, axis1=0, axis2=1, name=None): return out ``` -(1)动态图分支 +**(1)动态图分支** -截取上面示例中相关代码如下,动态图分支的写法一般是调用 API 对应的 Python C 函数。 -```Python +截取上面示例中动态图相关代码如下: + +```python # 动态图分支,直接调用算子对应的 Python C 函数 if in_dygraph_mode(): return _C_ops.final_state_trace( x, offset, axis1, axis2 ) ``` -_C_ops 是 Python/paddle/_C_ops.py,其中从 paddle 编译得到的二进制文件中 import 了 C++ 算子对应的 Python C 函数。 -在动态图模式下,Python C 的调用函数名为 final_state_ + 算子名,然后将参数按照 YAML 配置文件中定义的输入参数顺序传入即可。 +动态图分支的写法一般是调用 C++ 算子对应的 Python C 函数,示例中调用名为 `trace` 的 算子,使用 `_C_ops.final_state_trace`,然后传入参数。 -> 注意:由于目前动态图正处在重构升级阶段,所以现有算子的代码会分别有新旧动态图两个代码分支,其中 `in_dygraph_mode()` 表示新动态图分支(默认),`_in_legacy_dygraph()`为旧动态图分支,**在新增算子时无需添加旧动态图分支代码**。 + - `_C_ops` 是 [python/paddle/_C_ops.py](https://github.com/PaddlePaddle/Paddle/blob/develop/python/paddle/_C_ops.py),其实现了从 Paddle 编译得到的二进制文件中 import C++ 算子对应的 Python C 函数。 -(2)静态图分支 + - `final_state_trace`是 `trace` 算子的 Python C 函数名。Python C 函数的命名方式为 `final_state_ + 算子名`。 + - 参数 `( x, offset, axis1, axis2 )`需按照 [YAML 配置文件](https://github.com/PaddlePaddle/Paddle/blob/develop/paddle/phi/api/yaml/api.yaml#L185) 中定义的输入参数顺序传入,C++ 算子的输入、输出和属性等描述是通过 YAML 配置文件定义的,具体可参见 [开发 C++ 算子](new_cpp_op_cn.html) 章节介绍。 -对于静态图,一般分为输入参数检查、创建输出 Tensor、添加 OP 几个步骤。 -```Python +> 注意:由于目前飞桨动态图正处在重构升级阶段,所以现有算子的代码会分别有新旧动态图两个代码分支,其中 `in_dygraph_mode()` 表示新动态图分支(默认),`_in_legacy_dygraph()`为旧动态图分支,**在新增算子时无需添加旧动态图分支代码**。 + +**(2)静态图分支** + +截取上面示例中静态图相关代码如下: + +```python + # 静态图分支 ## 输入参数检查 - __check_input(input, offset, axis1, axis2) + __check_input(x, offset, axis1, axis2) ## 构造输出,添加 OP,返回输出 - # LayerHelper 是一个用于创建 OP 输出变量、向 program 中添加 OP 的辅助工具类 + # LayerHelper 是一个用于创建 OP 输出变量、向静态图 program 中添加 OP 的辅助工具类 helper = LayerHelper('trace', **locals()) # 创建输出 Tensor out = helper.create_variable_for_type_inference(dtype=x.dtype) - # 将输入 Tensor,输出 Tensor, 非 Tensor 的 attributes 以三个字典的形式 - # 作为参数添加 operator + # 将输入 Tensor,输出 Tensor, 非 Tensor 的 attributes 以三个字典的形式,作为参数添加 OP helper.append_op( type='trace', inputs={'Input': [x]}, @@ -135,15 +152,24 @@ _C_ops 是 Python/paddle/_C_ops.py,其中从 paddle 编译得到的二进制 return out ``` - - 在 `append_op` 添加的 `inputs` 和 `outputs` 项,其中的 key 值(静态图中变量名)一般与 Python 接口中定义的输入输出 Tensor 变量名的命名相同。(注意:这里 `trace` 中的 `Input` 没有与 Python 接口中 `x` 命名直接对应是由于为了兼容旧算子体系下 `trace` 算子的定义实现而做了额外的映射,新增算子时无需考虑这种情况) - - 输入数据类型的检查一般仅在静态图分支中使用。主要原因是静态图下该函数仅被执行一次,发生在组网时,而动态图下该函数会被多次执行,Python 端过多的输入检查会影响执行效率。并且由于动态图即时执行的优势,如果发生错误也可以通过分析 C++ 端的报错信息定位问题。这里输入参数检查的代码逻辑比较复杂并且仅用于 `trace` 函数,因此在该函数内定义一个检查输入参数的函数 `__check_input`,代码如下所示: - > 输入参数检查包括必要的类型检查、值检查、输入 Tensor 的形状、dtype 等检查,确保组网能正常运行等。其中检测 Tensor 的数据类型可以用 `check_variable_and_dtype` 和 `check_type` 函数进行检测。 -```Python -def __check_input(input, offset, dim1, dim2): +对于静态图,一般分为输入参数检查、创建输出 Tensor、添加 OP 几个步骤。 + +- **输入参数检查:**包括必要的类型检查、值检查,以及输入 Tensor 的 shape、dtype 等检查,确保组网能正常运行等。 + - 输入参数的检查一般仅在静态图分支中使用。主要原因是静态图下该函数仅被执行一次,发生在组网时,而动态图下该函数会被多次执行,Python 端过多的输入检查会影响执行效率。并且由于动态图即时执行的优势,如果发生错误也可以通过分析 C++ 端的报错信息定位问题。 + - 示例中输入参数检查的代码逻辑比较复杂但仅用于 `trace` 函数,因此在该函数内定义一个检查输入参数的函数 `__check_input`,代码见下文。 +- **创建输出 Tensor ,添加 OP:** + - 先创建 LayerHelper 对象,再使用 LayerHelper 对象创建输出 Tensor(LayerHelper 是一个用于创建 OP 输出变量、向 静态图 Program 中添加 OP 的辅助工具类)。 + - 在 `append_op` 添加 `inputs` 和 `outputs` 项,其中的 key 值(静态图中变量名)一般与 Python 接口中定义的输入输出 Tensor 变量名的命名相同。(注意:这里 `trace` 中的 `Input` 没有与 Python 接口中 `x` 命名直接对应是由于为了兼容旧算子体系下 `trace` 算子的定义实现而做了额外的映射,新增算子时无需考虑这种情况。) + +输入参数检查的 `__check_input` 函数代码如下所示,其中检测 Tensor 的数据类型可以用 [check_variable_and_dtype](https://github.com/PaddlePaddle/Paddle/blob/develop/python/paddle/fluid/data_feeder.py#L80) 或 [check_type](https://github.com/PaddlePaddle/Paddle/blob/develop/python/paddle/fluid/data_feeder.py#L128) 函数进行检测。 + +```python +def __check_input(x, offset, axis1, axis2): + # 检查输入 x 的 dtype 是否在要求范围内 check_dtype(x.dtype, 'Input', ['int32', 'int64', 'float16', 'float32', 'float64'], 'trace') - + # 检查输入 x 的维度信息 input_shape = list(x.shape) assert len(input_shape) >= 2, \ "The x must be at least 2-dimensional, " \ @@ -152,7 +178,7 @@ def __check_input(input, offset, dim1, dim2): axis1_ = axis1 if axis1 >= 0 else len(input_shape) + axis1 axis2_ = axis2 if axis2 >= 0 else len(input_shape) + axis2 - + # 检查参数值是否有效 assert ((0 <= axis1_) and (axis1_ < len(input_shape))), \ "The argument axis1 is out of range (expected to be in range of [%d, %d], but got %d).\n" \ % (-(len(input_shape)), len(input_shape) - 1, axis1) @@ -166,11 +192,14 @@ def __check_input(input, offset, dim1, dim2): "axis1 and axis2 cannot be the same axis." \ "But received axis1 = %d, axis2 = %d\n"%(axis1, axis2) ``` -### 将 API 绑定为 Tensor 的方法 -在 paddle 中的许多计算函数,既能够作为独立函数使用,也能作为 `Tensor` 的方法使用。作为 `Tensor` 方法使用则可以更方便地链式调用。例子如下: +### 2.3 将 API 绑定为 Tensor 的方法 + +**(1)背景介绍** -```Python +Paddle 中的许多计算函数,既能够作为独立函数使用,也能作为 `Tensor` 的方法使用。作为 `Tensor` 方法使用则可以更方便地链式调用。例子如下: + +```python x = paddle.randn([2, 3]) paddle.abs(x) # 与 x.abs() 等价 @@ -179,171 +208,218 @@ paddle.sin(paddle.abs(x)) # 与 x.abs().sin() 等价 paddle.sum(x, axis=0) # 与 x.sum(axis=0) 等价 ``` -这两种使用方式的对应规则是,当作为 `Tensor` 方法调用时,相当于自动把该 Tensor 作为独立函数的第一个参数传入,其余参数的传入则和独立函数的使用一致。目前 `paddle/tensor` 子目录下的许多 API 都支持这样的调用方式。 +这两种使用方式的对应规则是,当作为 `Tensor` 方法调用时,相当于自动把该 Tensor 作为独立函数的第一个参数传入,其余参数的传入则和独立函数的使用一致。目前 [python/paddle/tensor](https://github.com/PaddlePaddle/Paddle/tree/develop/python/paddle/tensor) 子目录下的许多 API 都支持这样的调用方式。 + +**(2)具体做法** + +如需让新增的函数支持作为 `Tensor` 方法调用,则需要将函数名添加到 `Python/paddle/tensor/__init__.py` 中的 `tensor_method_func` 列表中。具体的做法是: + + 1. 在 [Python/paddle/tensor/__init__.py](https://github.com/PaddlePaddle/Paddle/blob/develop/python/paddle/tensor/__init__.py) 中 import 所需的函数; + 2. 然后将其名字加入 `tensor_method_func` 列表。 + +```plain +# import 所需函数 +from .math import trace +# 加入 tensor_method_func 列表 +tensor_method_func = [ + 'trace', +] +``` + +### 2.4 将 API 加入公开 API 列表并设置正式名称 -如需让新增的函数支持作为 `Tensor` 方法调用则需要将函数名添加到 `Python/paddle/tensor/__init__.py` 中的 `tensor_method_func` 列表中。具体的做法是在 `Python/paddle/tensor/__init__.py` 中 import 所需的函数,然后将其名字加入 `tensor_method_func` 列表。 +**(1)背景介绍** +根据 [API 设计和命名规范](api_design_guidelines_standard_cn.html),API 的代码开发完成并加入对应目录/文件中后,还有两个开发要点需关注: + - 新开发的 API 如果需要公开,需加入公开 API 列表,一般添加到对应目录下 `__init__.py`文件的`__all__` 列表中;非公开 API 不能添加到 `__all__` 列表中。 -### API 的正式名称与公开 API 列表 + - 常用的 API 可以在更高层级建立别名,比如: `paddle.tensor` 目录下的 API,均在 `paddle` 根目录建立别名,其他所有 API 在 `paddle` 根目录下均没有别名。并且有多个别名时需设置一个推荐的名称,作为正式名称。 -在 Python 中,如果模块 `a` 中导入了模块 `b` 提供的函数或者类 `f`,那么开发者想要使用函数 `f`,既可以从模块 `a` 中导入,也可以从模块 `b` 中导入。 +建立别名的方法可以参考如下 Python 的用法。在 Python 中,如果模块 `a` 中导入了模块 `b` 提供的函数或者类 `f`,那么开发者想要使用 `f`,既可以从模块 `a` 中导入,也可以从模块 `b` 中导入。 -```Python -# b.py +```python +# b.py,模块 b 中定义了 f def f(): pass -# a.py +# a.py,模板 a 中导入了 b 提供的 f from b import f -# client.py +# client.py,在使用时,既可以从 a 中导入 f 也可以从 b 中导入 f from b import f # it's ok from a import f # it's ok, too ``` -但是 Paddle 对于 API 有一个推荐的名称,比如函数 `logsumexp` 定义在 `Python/paddle/tensor/math.py`,但是又在 `Python/paddle/tensor/__init__.py` 中被 import,并且也在 `Python/paddle/__init__.py` 中被 import. +**(2)具体做法** -```Python + 1. 一些常用的 Paddle API 可先参考上述方法建立别名,比如前文示例中 `paddle.trace ` API 的 `trace` 函数定义在 [Python/paddle/tensor/math.py](https://github.com/PaddlePaddle/Paddle/blob/develop/python/paddle/tensor/math.py#L2790) 中,又在 [Python/paddle/tensor/__init__.py](https://github.com/PaddlePaddle/Paddle/blob/develop/python/paddle/tensor/__init__.py) 中被 import,并且也在 [Python/paddle/__init__.py](https://github.com/PaddlePaddle/Paddle/blob/develop/python/paddle/__init__.py) 中被 import。 + +```python # Python/paddle/tensor/math.py -def logsumexp(...): +def trace(...): ... # Python/paddle/tensor/__init__.py -from .math import logsumexp +from .math import trace # Python/paddle/__init__.py -from .tensor.math import logsumexp +from .tensor.math import trace ``` -实际上 `import paddle` 之后,可以通过 `paddle.logsumexp`, `paddle.tensor.logsumexp` 和 `paddle.tensor.math.logsumexp` 来调用这个函数,但是推荐使用 `paddle.logsumexp` 这个名称。这在 Paddle 中的做法是仅在 `Python/paddle/__init__.py` 文件的 `__all__` 列表中加入 `"logsumexp"`, 而不在 `Python/paddle/tensor/__init__.py` 和 `Python/paddle/tensor/math.py` 的 `__all__` 列表中加入 `"logsumexp"`. - -遵循这样的规范,按照 API 的正式命名,到对应的文件中,总可以找到 `__all__` 列表,其中包含想要查找的函数。而且这样一个 API 只出现在一个 `__all__` 列表中。 - -这个列表也作为某个模块或包的公开 API 列表,不加入列表的不视为公开 API. - -比如已知 API 正式名称 `paddle.logsumexp` ; - -1. 如果 `Python/paddle.py` 存在(paddle 是一个模块),则可以在 `Python/paddle.py` 中查找 `__all__` 列表; -2. 如果 `Python/paddle` 是一个文件夹 (paddle 是一个包),则可以在 `Python/paddle/__init__.py` 中查找 `__all__` 列表。 - -将 API 名字加入 `__all__` 列表的时候需要遵循上述的规则,仅将 API 名字加入正式名称对应的包或者模块的 `__all__` 列表中。 - -Tip: 当出现类似把一个元素放入一个集中管理的列表的操作时,可以考虑按照字母表顺序插入列表中的合适位置。因为如果有多人同时新增 API 时,这样的方式比直接加在末尾更不容易出现冲突。 - - -## 开发单元测试代码 +如此设置,`import paddle` 之后,可以通过 `paddle.trace`, `paddle.tensor.trace` 和 `paddle.tensor.math.trace` 多个名称来调用这个函数,即该 API 有多个名称,但是推荐使用 `paddle.trace`这个更简洁的名称作为正式名称。 -### 添加 Operator 单元测试 + 2. 设置 `paddle.trace` 作为正式名称,具体做法是: -如果开发了 C++ operator, 那么需要添加 operator 的单元测试,需要继承 `OpTest` 写作测试用例。文件位置在 `Python/paddle/fluid/tests/unittests/`,一般以 `test_${op_name}_op.py` 的形式命名。 + - 仅在 `Python/paddle/__init__.py` 文件的 `__all__` 列表中加入 `'trace'`; + - 不在 `Python/paddle/tensor/__init__.py` 和 `Python/paddle/tensor/math.py` 的 `__all__` 列表中加入 `'trace'`。 -单元测试相关的开发规范可以参考 +> 说明:当出现类似把一个元素放入一个集中管理的列表的操作时,可以考虑按照字母表顺序插入列表中的合适位置。因为如果有多人同时新增 API 时,这样的方式比直接加在末尾更不容易出现冲突。 - [C++ 算子开发指南-添加单元测试](new_cpp_op_cn.html#tianjiadanyuanceshi) ,[Op 开发手册(Operator Development Manual)](https://github.com/PaddlePaddle/Paddle/wiki/Operator-Development-Manual-Index). +## 三、开发单元测试代码 -在此不作展开,主要讲述 Python API 的单元测试。 +### 3.1 添加 C++ 算子单元测试 -### 添加 Python API 单元测试 +**(1)文件存放路径和命名方式** -无论是否开发了 C++ operator,对于 Python API 都需要添加单元测试,文件路径在 `Python/paddle/fluid/tests/unittests/`,一般以 `test_${api_name}.py` 的形式命名。 +在 [python/paddle/fluid/tests/unittests](https://github.com/PaddlePaddle/Paddle/tree/develop/python/paddle/fluid/tests/unittests) 目录下,一般以 `test_xxx_op.py` 的形式命名(假设算子名为`xxx`),与 Python API 的单元测试文件命名为相同的前缀。 -如果为这个 API 也开发了对应的 C++ operator,那么也可以把对 API 的单元测试和 operator 的单元测试写在同一个文件中,文件位置在 `Python/paddle/fluid/tests/unittests/`,一般以 `test_${op_name}_op.py` 的形式命名。 +**(2)C++ 算子单元测试的开发指导** -对 Python API 的单元测试直接继承 `UnitTest.TestCase`,一般来说需要用 numpy/scipy 中的对应功能作为参考,如果 numpy/scipy 中没有现成的对应函数,可以用 numpy/scipy 实现一个作为参考,并以这个为基准对新增的 paddle Python API 进行测试,如 [test_softmax_op](https://github.com/PaddlePaddle/Paddle/blob/develop/python/paddle/fluid/tests/unittests/test_softmax_op.py#L29)。 +相关的开发指导和规范可以参考: -如果新增的 API 没有使用新增的 C++ operator, 可以不必测试反向功能(因为 operator 的新增本身要求 operator 单元测试,这本身就会测试反向功能)。常见的流程是构建相同的输入,调用参考的实现和新增的 Python API,对比结果是否一致。一般用 `self.assertTrue(numpy.allclose(actual, desired))` 或者 `numpy.testing.assert_allclose(actual, desired)` 来进行数值对比。 + - [C++ 算子开发指南-添加单元测试](new_cpp_op_cn.html#tianjiadanyuanceshi) + - [Op 开发手册(Operator Development Manual)](https://github.com/PaddlePaddle/Paddle/wiki/Operator-Development-Manual-Index) -其中,`numpy.testing.assert_allclose` 相对误差和绝对误差是 `rtol=1e-07, atol=0`;`numpy.allclose` 的相对误差和绝对误差是 `rtol=1e-05, atol=1e-08`,前者比后者更严格。一般进行单元测试的时候,都使用默认的误差阈值,如需设置自定义的阈值,需要说明原因。 +在此不作展开,本文主要讲述 Python API 的单元测试。 -注意:对于 Python API 的单元测试,必须添加动态图和静态图的测试 case, 以确保所添加的 API 以及它在不区分动态图静态图分支的情况下调用的其他 API 在两种情况下工作都正常,而且结果符合预期。 +### 3.2 添加 Python API 单元测试 -因为 unittest 各个 case 的运行次序是不确定的,为了保证不同的测试 case 运行在正确的运行模式(动态图/静态图)上,常见的做法有: +**(1)文件存放路径和命名方式** -1. 在每个测试 case 的起始部分,显式切换 paddle 的运行模式,用`paddle.enable_static` 和 `paddle.disable_static` 分别激活和取消静态图模式。 +在 [python/paddle/fluid/tests/unittests](https://github.com/PaddlePaddle/Paddle/tree/develop/python/paddle/fluid/tests/unittests) 目录下,一般以 `test_xxx.py` 的形式命名(假设算子名为`xxx`)。 - 比如 `Python/paddle/fluid/tests/unittests/test_activation_op.py` 中的 `TestHardtanhAPI` 中 在 `test_static_api` 和 `test_dygraph_api` 的开头分别切换了状态。 +如果为这个 API 也开发了对应的 C++ 算子,那么也可以把对 Python API 的单元测试和 C++ 算子的单元测试写在同一个文件中,一般以 `test_xxx_op.py` 的形式命名。 - ```Python - class TestHardtanhAPI(unittest.TestCase): - # test paddle.nn.Hardtanh, paddle.nn.functional.hardtanh - def setUp(self): - np.random.seed(1024) - self.x_np = np.random.uniform(-3, 3, [10, 12]).astype('float32') - self.place=paddle.CUDAPlace(0) if paddle.is_compiled_with_cuda() \ - else paddle.CPUPlace() +**(2)Python API 单测开发及验收规范** - def test_static_api(self): - paddle.enable_static() - with paddle.static.program_guard(paddle.static.Program()): - x = paddle.fluid.data('X', [10, 12]) - out1 = F.hardtanh(x) - m = paddle.nn.Hardtanh() - out2 = m(x) - exe = paddle.static.Executor(self.place) - res = exe.run(feed={'X': self.x_np}, fetch_list=[out1, out2]) - out_ref = ref_hardtanh(self.x_np) - for r in res: - self.assertEqual(np.allclose(out_ref, r), True) +请遵循飞桨的 [API 单测开发及验收规范](api_accpetance_criteria_cn.html),需提前阅读。 - def test_dygraph_api(self): - paddle.disable_static(self.place) - x = paddle.to_tensor(self.x_np) - out1 = F.hardtanh(x) - m = paddle.nn.Hardtanh() - out2 = m(x) - out_ref = ref_hardtanh(self.x_np) - for r in [out1, out2]: - self.assertEqual(np.allclose(out_ref, r.numpy()), True) +> 特别注意:单元测试要求新增代码单元测试行覆盖率达到 90%,可在 [CI 测试](../git_guides/paddle_ci_manual_cn.html) 的 PR-CI-Coverage 测试项中查看覆盖率。 - out1 = F.hardtanh(x, -2.0, 2.0) - m = paddle.nn.Hardtanh(-2.0, 2.0) - out2 = m(x) - out_ref = ref_hardtanh(self.x_np, -2.0, 2.0) - for r in [out1, out2]: - self.assertEqual(np.allclose(out_ref, r.numpy()), True) - paddle.enable_static() - ``` +**(3)Python API 单元测试的开发指导** -2. 将静态图和动态图测试定义为不以 `test` 开头的函数(因此它们默认不算 test case), 然后定义一个 test 开头的函数,切换不同的状态去运行它。例如 `Python/paddle/fluid/tests/unittests/test_l1_loss.py:73` +Python API 的单元测试直接继承 Python 内置的 `UnitTest.TestCase` 类,一般来说需要用 NumPy/SciPy 中的对应功能作为参考,如果 NumPy/SciPy 中没有现成的对应函数,可以用 NumPy/SciPy 实现一个作为参考,并以这个为基准对新增的 Python API 进行测试,如 [test_activation_op.py](https://github.com/PaddlePaddle/Paddle/blob/develop/python/paddle/fluid/tests/unittests/test_activation_op.py#L845) 中 paddle.nn.Hardtanh API 的单元测试,代码如下所示。 - def test_cpu(self): - paddle.disable_static(place=paddle.fluid.CPUPlace()) - self.run_imperative() - paddle.enable_static() +**开发步骤:** - with fluid.program_guard(fluid.Program()): - self.run_static() + 1. 用 NumPy/SciPy 实现用于对比结果的计算函数(NumPy/SciPy 有现成函数时可跳过这一步); + 2. 在 `setUp` 函数中定义输入等相关属性参数; + 3. 实现静态图单元测试代码; + 4. 实现动态图单元测试代码。 -3. 将动态图和静态图的测试 case 分在不同的 Python 文件中,`import paddle` 后在模块级别设置 paddle 的运行模式。 - - 比如 `Python/paddle/fluid/tests/unittests/rnn/test_rnn_cells.py` 和 `Python/paddle/fluid/tests/unittests/rnn/test_rnn_cells_static.py` 的做法。 +```python +# 使用 numpy 实现 hardtanh 函数,用于对比结果 +def ref_hardtanh(x, min=-1.0, max=1.0): + out = np.copy(x) + out[np.abs(x - min) < 0.005] = min + 0.02 + out[np.abs(x - max) < 0.005] = max + 0.02 + out = np.minimum(np.maximum(x, min), max) + return out -4. 在测试模块级别设定 paddle 的运行模式为静态图(一般是在一个模块的开始,而不是写在 `if __name__=="__main__":` 里)。然后在需要使用动态图的 case 里,将动态图部分的代码至于 `dygraph.guard` 上下文管理器内。 +class TestHardtanhAPI(unittest.TestCase): + # test paddle.nn.Hardtanh, paddle.nn.functional.hardtanh + def setUp(self): + np.random.seed(1024) + self.x_np = np.random.uniform(-3, 3, [10, 12]).astype('float32') + self.place=paddle.CUDAPlace(0) if paddle.is_compiled_with_cuda() \ + else paddle.CPUPlace() + + # 静态图单测 + def test_static_api(self): + # 开启静态图模式 + paddle.enable_static() + with paddle.static.program_guard(paddle.static.Program()): + x = paddle.fluid.data('X', [10, 12]) + out1 = F.hardtanh(x) + m = paddle.nn.Hardtanh() + out2 = m(x) + exe = paddle.static.Executor(self.place) + # 计算静态图结果 + res = exe.run(feed={'X': self.x_np}, fetch_list=[out1, out2]) + out_ref = ref_hardtanh(self.x_np) + for r in res: + # 对比静态图与 numpy 实现函数计算结果是否相同 + self.assertEqual(np.allclose(out_ref, r), True) + + # 动态图单测 + def test_dygraph_api(self): + # 关闭静态图模式 + paddle.disable_static(self.place) + x = paddle.to_tensor(self.x_np) + # 测试动态图 F.hardtanh 和 paddle.nn.Hardtanh 计算结果 + out1 = F.hardtanh(x) + m = paddle.nn.Hardtanh() + out2 = m(x) + out_ref = ref_hardtanh(self.x_np) + for r in [out1, out2]: + self.assertEqual(np.allclose(out_ref, r.numpy()), True) + + out1 = F.hardtanh(x, -2.0, 2.0) + m = paddle.nn.Hardtanh(-2.0, 2.0) + out2 = m(x) + out_ref = ref_hardtanh(self.x_np, -2.0, 2.0) + for r in [out1, out2]: + self.assertEqual(np.allclose(out_ref, r.numpy()), True) + paddle.enable_static() +``` - 这是老式的写法,目前不再推荐这么写,但已有的代码库中也存在这样的模式。 +**开发要点:** + + - 无论是用其他 Python API 组合得到新的 API,还是封装新开发 C++ OP 得到的新 API,都必须添加动态图和静态图的测试用例,确保对应情况工作正常,结果符合预期。 + - 通常情况下新增 Python API 的单元测试,可以不必测试反向计算功能,因为在 C++ OP 的单元测试中会包含反向算子功能的测试。 + - 用 NumPy/SciPy 的实现对比时,一般用 `self.assertTrue(numpy.allclose(actual, desired))` 或者 `numpy.testing.assert_allclose(actual, desired)` 来进行数值对比。其中,`numpy.testing.assert_allclose` 相对误差和绝对误差是 `rtol=1e-07, atol=0`;`numpy.allclose` 的相对误差和绝对误差是 `rtol=1e-05, atol=1e-08`,前者比后者更严格。一般进行单元测试的时候,都使用默认的误差阈值,如需设置自定义的阈值,需要说明原因。 + - 因为单元测试各个 case 的运行次序是不确定的,为了保证不同的测试 case 运行在正确的运行模式(动态图/静态图)上,常见的做法有: + - 在每个测试 case 的起始部分,显式切换 paddle 的运行模式,用`paddle.enable_static` 和 `paddle.disable_static` 分别激活和取消静态图模式。如前文代码所示,在 `test_static_api` 和 `test_dygraph_api` 的开头分别切换了状态。 + - 将静态图和动态图测试定义为不以 `test` 开头的函数(如 [test_l1_loss.py](https://github.com/PaddlePaddle/Paddle/blob/develop/python/paddle/fluid/tests/unittests/test_l1_loss.py#L77) 中定义为 `run_imperative`、`run_static` 函数),然后定义一个 test 开头的函数,切换不同的状态去运行它。 + +```python + def test_cpu(self): + # 关闭静态图模式,测试动态图模式 + paddle.disable_static(place=paddle.fluid.CPUPlace()) + self.run_imperative() + # 开启静态图模式,测试静态图模式 + paddle.enable_static() + + with fluid.program_guard(fluid.Program()): + self.run_static() +``` -注意单元测试要求新增代码单元测试行覆盖率达到 90%. + - 将动态图和静态图的测试 case 分在不同的 Python 文件中,`import paddle` 后在模块级别设置 paddle 的运行模式。比如 [test_rnn_cells.py](https://github.com/PaddlePaddle/Paddle/blob/develop/python/paddle/fluid/tests/unittests/rnn/test_rnn_cells.py) 和 [test_rnn_cells_static.py](https://github.com/PaddlePaddle/Paddle/blob/develop/python/paddle/fluid/tests/unittests/rnn/test_rnn_cells_static.py) 的做法。 + - 在测试模块级别设定 paddle 的运行模式为静态图(一般是在一个模块的开始,而不是写在 `if __name__=="__main__":` 里)。然后在需要使用动态图的 case 里,将动态图部分的代码至于 `dygraph.guard` 上下文管理器内。这是老式的写法,目前不再推荐这么写,但已有的代码库中也存在这样的模式。 -### 运行单元测试 +### 3.3 运行单元测试 代码开发完成后,需要从源码编译 Paddle,并调试开发的功能。 -(1) 本地编译 Paddle +**(1) 本地编译 Paddle** - 编译方法请参见 [从源码编译](../../install/compile/fromsource.html) 章节,推荐使用 Docker 编译的方式。Docker 环境中已预装好编译 Paddle 需要的各种依赖,相较本机编译更便捷。 +编译方法请参见 [从源码编译](../../install/compile/fromsource.html) 章节,推荐使用 Docker 编译的方式。Docker 环境中已预装好编译 Paddle 需要的各种依赖,相较本机编译更便捷。 > 注意:编译必须打开 WITH_TESTING 选项(`-DWITH_TESTING=ON`),以确保新增的单元测试文件(python/paddle/fluid/tests/unittests/ 目录下 test_*.py 文件)自动加入工程进行编译。 + 运行单元测试需要在 `build` 目录下,以 `ctest ${test_name}` 的命令运行。其中 `test_name` 指的是所需运行测试 target 的名字,和上述添加的单元测试文件名字相同,但不带 `.py` 后缀。 -(2) 执行单元测试 +**(2) 执行单元测试** 编译成功后,在 `build` 目录下执行 `ctest ${test_name}` 命令来运行单元测试,并确保单元测试通过。其中 `test_name` 指的是所需运行测试 `target` 的名字,和上述添加的单元测试文件名字相同,但不带 .py 后缀。 比如运行 `python/paddle/fluid/tests/unittests/test_logsumexp.py` 的命令如下: -``` + +```plain ctest -R test_logsumexp ``` + > 注意:执行单测一定要用 `ctest` 命令,不可直接 `python test_*.py`。 对于需要开发 C++ 算子的 API,可以把 C++ 算子的单元测试与 Python API 的单元测试写在一个文件中。 @@ -352,41 +428,43 @@ ctest -R test_logsumexp 此外,需要单元测试输出更详细的信息以便 debug 时,可以在运行 `ctest` 时传入 `-V` 或者 `-VV` 选项以查看更详细的输出,如 `ctest -V -R test_logsumexp`。 +## 四、写作 API 文档 +前文中说到英文文档直接与 Python API 的代码写在一起,中文文档则写到 [PaddlePaddle/docs](https://github.com/PaddlePaddle/docs) 仓库中。写作指导和规范要求如下: -## API 文档写作 - -文档写作可以参考 [文档贡献指南](https://www.paddlepaddle.org.cn/documentation/docs/zh/develop/dev_guides/docs_contributing_guides_cn.html). 里面有详细的关于文档格式要求,文件所放的位置,以及提交代码的方式的详细说明。 +- 文档写作的详细指导可以参考 [文档贡献指南](../docs_contributing_guides_cn.html),包括文件存放位置、文档修改和提交方法等。 +- 文档写作的规范可以参考 [API 文档书写规范](api_docs_guidelines_cn.html),包括中英文 API 文档的模板、写作规范、测试要求等。 -提前 PR 后,github 上的 Bot 会给出根据所提交的中文文档所生成的官网文档的链接,可以点进去查看新增的文档所渲染出的页面效果,看是否符合预期。尤其需要注意检查是否有错别字,数学公式,示例代码渲染是否正确等问题。例如 +提前 PR 后,GitHub 上的 paddle-bot 会给出根据所提交的中文文档所生成的官网文档的预览链接,可以点进去查看新增的文档所渲染出的页面效果,看是否符合预期。尤其需要注意检查是否有错别字、数学公式、示例代码渲染是否正确等问题。例如: https://github.com/PaddlePaddle/docs/pull/4418 -![图片](http://agroup.baidu-int.com/file/stream/bj/bj-41da879af878100c52ce7d97b3695e55ec9cb6c0) +
    + +## 五、确保通过 CI 测试 -## 确保通过 CI 测试 提交 PR 后会触发 CI(Continuous Integration,持续集成)测试,并且之后每提交一次代码合入(`git push`)都会触发一次 CI 测试。CI 测试可尽可能保障代码质量,详细测试内容可参见 [Paddle CI 测试详解](../git_guides/paddle_ci_manual_cn.html),包括 CI 失败的一些处理建议。 -当添加新的 API 时需要通过 CI 中所有的 Required 的测试项才能合入代码。 -> 注意:其中 `PR-CI-APPROVAL` 和 `PR-CI-Static-Check` 这两个 CI 测试项需要飞桨相关开发者 approve 才能通过,除了这两个之外的 CI 测试项通过后,可以联系飞桨开发者提醒他们评审代码。 -## 其他注意事项 -### 调试 Python 代码时减少重编译的方法 +当添加新的 API 时需要通过 CI 中所有的 `Required` 的测试项通过才能合入代码。 + +> 注意:其中 `PR-CI-APPROVAL` 和 `PR-CI-Static-Check` 这两个 CI 测试项需要飞桨相关开发者 approve 才能通过,除了这两个之外的 CI 测试项通过后,可以联系飞桨开发者提醒他们评审代码。 -如果你的修改不涉及 C++ 代码,那么一般不需要重新编译就可以重新运行测试,以验证刚发生的修改是否解决了问题。 +## 六、其他注意事项 -paddle 编译过程中,对于 Python 代码的处理方式是,先把它们 copy 到 build 目录,对于 Python API 和 Python 单元测试所在的文件也是如此处理。 +### 6.1 调试 Python 代码时减少重编译的方法 -比如 `Python/paddle/fluid/tests/unittests/test_bmm_op.py` copy 到 build 目录后位置是 `build/Python/paddle/fluid/tests/unittests/test_bmm_op.py`. 并且通过 ctest 运行单元测试时,会把 `build/Python` 这个目录加入 `PYTHONPATH`, 因此它所调用的单元测试文件 和 Python API 代码文件也是 build 目录里的那一份。 +- 如果你的修改不涉及 C++ 代码,那么一般不需要重新编译就可以重新运行测试,以验证刚发生的修改是否解决了问题。 -如果你的修改没有涉及任何 C++ 文件,那么你也可以直接在 build 目录下修改对应的文件,直到问题解决,然后把文件拷贝回去覆盖 `Paddle` 目录的对应文件。 -> 特别提醒:不要忘记拷贝回去这一步,因为重新 build 的时候,会再次从 `Paddle` 目录拷贝 `Python` 文件,如果最后忘了拷贝回 `Paddle` 目录,那么你的修改会因为再次的编译而被覆盖。 +Paddle 编译过程中,对于 Python 代码的处理方式是,先把它们拷贝到 build 目录,对于 Python API 和 Python 单元测试所在的文件都是如此处理。比如: `Python/paddle/fluid/tests/unittests/test_bmm_op.py` 拷贝到 build 目录后位置是 `build/Python/paddle/fluid/tests/unittests/test_bmm_op.py`。并且通过 `ctest` 运行单元测试时,会把 `build/Python` 这个目录加入 `PYTHONPATH`,因此它所调用的单元测试文件 和 Python API 代码文件也是 build 目录里的那一份。 +- 如果你的修改没有涉及任何 C++ 文件,那么你也可以直接在 build 目录下修改对应的文件,直到问题解决,然后把文件拷贝回去覆盖 `Paddle` 目录的对应文件。 +> 特别提醒:不要忘记拷贝回去这一步,因为重新 build 的时候,会再次从 `Paddle` 目录拷贝 Python 文件,如果最后忘了拷贝回 `Paddle` 目录,那么你的修改会因为再次的编译而被覆盖。 -## 参考资料 +## 七、参考资料 -1. [Op 开发手册(Operator Development Manual)](https://github.com/PaddlePaddle/Paddle/wiki/Operator-Development-Manual-Index) -2. [飞桨 API 的设计和命名规范](https://github.com/PaddlePaddle/docs/blob/develop/docs/dev_guides/api_contributing_guides/api_design_guidelines_standard_cn.md#api 目录结构规范) -3. [新增 API 测试及验收规范](https://github.com/PaddlePaddle/docs/blob/develop/docs/dev_guides/api_contributing_guides/api_accpetance_criteria_cn.md) -4. [文档贡献指南](https://www.paddlepaddle.org.cn/documentation/docs/zh/develop/dev_guides/docs_contributing_guides_cn.html) -5. [飞桨 API 文档书写规范](https://github.com/PaddlePaddle/docs/blob/develop/docs/dev_guides/api_contributing_guides/api_docs_guidelines_cn.md) +- [Op 开发手册(Operator Development Manual)](https://github.com/PaddlePaddle/Paddle/wiki/Operator-Development-Manual-Index) +- [API 的设计和命名规范](api_docs_guidelines_cn.html) +- [API 单测开发及验收规范](api_accpetance_criteria_cn.html) +- [文档贡献指南](../docs_contributing_guides_cn.html) +- [API 文档书写规范](api_docs_guidelines_cn.html) diff --git a/docs/dev_guides/api_contributing_guides/read_before_contributing_cn.md b/docs/dev_guides/api_contributing_guides/read_before_contributing_cn.md index a2ff4508521..dd3cf9f12b6 100644 --- a/docs/dev_guides/api_contributing_guides/read_before_contributing_cn.md +++ b/docs/dev_guides/api_contributing_guides/read_before_contributing_cn.md @@ -13,7 +13,7 @@
    -## 二、飞桨 API 设计文档提交说明 +## 二、飞桨 API 设计文档提交说明 设计文档,通常也叫 RFC(Request for Comment)文档,可方便开发者与飞桨核心团队、其他社区开发者充分交流设计思路,以便进一步完善设计方案,并确保与飞桨设计理念一致。请参考如下步骤完成 API 设计文档的提交: From b739ec1e8c59ec4304efa51c2121e03a341303ee Mon Sep 17 00:00:00 2001 From: moguguo Date: Thu, 25 Aug 2022 15:40:26 +0800 Subject: [PATCH 2/5] fix wrong links and update some topic titles --- .../api_contributing_guides_cn.rst | 2 +- .../api_design_guidelines_standard_cn.md | 2 +- .../api_docs_guidelines_cn.md | 2 +- .../read_before_contributing_cn.md | 14 +++++++------- docs/dev_guides/code_contributing_path_cn.md | 6 +++--- 5 files changed, 13 insertions(+), 13 deletions(-) diff --git a/docs/dev_guides/api_contributing_guides/api_contributing_guides_cn.rst b/docs/dev_guides/api_contributing_guides/api_contributing_guides_cn.rst index 669852c0699..c68d1d91c9c 100644 --- a/docs/dev_guides/api_contributing_guides/api_contributing_guides_cn.rst +++ b/docs/dev_guides/api_contributing_guides/api_contributing_guides_cn.rst @@ -103,8 +103,8 @@ API 设计文档的目的是为了社区开发者更容易的参与开源项目 :hidden: read_before_contributing_cn.md - api_design_guidelines_standard_cn.md new_python_api_cn.md new_cpp_op_cn.md + api_design_guidelines_standard_cn.md api_docs_guidelines_cn.md api_accpetance_criteria_cn.md diff --git a/docs/dev_guides/api_contributing_guides/api_design_guidelines_standard_cn.md b/docs/dev_guides/api_contributing_guides/api_design_guidelines_standard_cn.md index b9da89a0beb..4290e95f726 100644 --- a/docs/dev_guides/api_contributing_guides/api_design_guidelines_standard_cn.md +++ b/docs/dev_guides/api_contributing_guides/api_design_guidelines_standard_cn.md @@ -1,4 +1,4 @@ -# 飞桨 API 的设计和命名规范 +# API 设计和命名规范 ## API 设计规范 diff --git a/docs/dev_guides/api_contributing_guides/api_docs_guidelines_cn.md b/docs/dev_guides/api_contributing_guides/api_docs_guidelines_cn.md index c02588b833b..0709fb11295 100644 --- a/docs/dev_guides/api_contributing_guides/api_docs_guidelines_cn.md +++ b/docs/dev_guides/api_contributing_guides/api_docs_guidelines_cn.md @@ -1,4 +1,4 @@ -# 飞桨 API 文档书写规范 +# API 文档书写规范 1. **至关重要:** **API 文档对该 API 的描述,一定要与 API 的行为保持一致。中英文文档的内容要严格一致。** 2. **API 文档的字段:** API 名称、API 功能描述、API 参数、API 返回、API 代码示例、API 属性(class)、API 方法(methods)等。是否写 API 抛出异常的情况,不做强制要求。 diff --git a/docs/dev_guides/api_contributing_guides/read_before_contributing_cn.md b/docs/dev_guides/api_contributing_guides/read_before_contributing_cn.md index dd3cf9f12b6..19212388017 100644 --- a/docs/dev_guides/api_contributing_guides/read_before_contributing_cn.md +++ b/docs/dev_guides/api_contributing_guides/read_before_contributing_cn.md @@ -17,7 +17,7 @@ 设计文档,通常也叫 RFC(Request for Comment)文档,可方便开发者与飞桨核心团队、其他社区开发者充分交流设计思路,以便进一步完善设计方案,并确保与飞桨设计理念一致。请参考如下步骤完成 API 设计文档的提交: -1. 阅读 [飞桨 API 设计和命名规范](api_design_guidelines_standard_cn.html),确保新增 API 符合飞桨相关规范。 +1. 阅读 [API 设计和命名规范](api_design_guidelines_standard_cn.html),确保新增 API 符合飞桨相关规范。 2. 根据 [API 设计文档模版](https://github.com/PaddlePaddle/community/blob/master/rfcs/APIs/api_design_template.md),填写必要的设计内容。另外可参考 [API 设计文档样例](https://github.com/PaddlePaddle/community/blob/master/rfcs/APIs/20200301_api_design_for_quantile.md)。 3. 将设计文档提交 Pull Request (PR)到 [community/rfcs/APIs/ ](https://github.com/PaddlePaddle/community/tree/master/rfcs/APIs) 目录下。 4. 等待文档接受评审和讨论,并根据各方意见修改文档。通常飞桨团队会在三个工作日内回复,如果 API 功能较复杂,还将发起评审会议,并提前在 PR 的评论区公布会议时间、会议地址、参与人、议题等内容,请及时关注 PR 中最新动态。 @@ -28,8 +28,8 @@ 当 API 设计文档合入后,开发者即可进行代码开发。此过程请参考相应的开发规范,包括如下步骤: -- 如果新增 API 不需要开发新的 C++ OP,可以用其他 Python API 组合得到新的 API,请参考 [飞桨 API Python 端开发指南](new_python_api_cn.html) 章节完成,包括开发 Python 代码、单元测试代码和 API 文档等步骤。 -- 如果新增 API 需要开发新的 C++ OP,请参考 [C++ 算子开发指南](new_cpp_op_cn.html) 章节完成,包括开发 OP 实现代码、封装 Python API 代码、单元测试代码和 API 文档等步骤。 +- 如果新增 API 不需要开发新的 C++ OP,可以用其他 Python API 组合得到新的 API,请参考 [开发 API Python 端](new_python_api_cn.html) 章节完成,包括开发 Python 代码、单元测试代码和 API 文档等步骤。 +- 如果新增 API 需要开发新的 C++ OP,请参考 [开发 C++ 算子](new_cpp_op_cn.html) 章节完成,包括开发 OP 实现代码、封装 Python API 代码、单元测试代码和 API 文档等步骤。 - 在 paddle/phi/kernels 目录下存放了飞桨框架已经实现的不同硬件的算子内核,可供开发 C++ OP 时调用。 - 有时也需要自己开发新的算子内核(OP Kernel),这时可能需要使用硬件支持的软件栈(如 CUDA)来实现,或者使用飞桨框架提供的 Kernel Primitive API 来实现,后者具体介绍请参见 [Kernel Primitive API](../op_optimization/kernel_primitive_api/index_cn.html) 章节。 @@ -42,7 +42,7 @@ 请遵循如下开发规范和测试要求: -- [代码风格规范](../style_guide_and_references/style_guides_cn.html) -- [飞桨 API 设计和命名规范](api_design_guidelines_standard_cn.html) -- [飞桨 API 单元测试及验收规范](api_accpetance_criteria_cn.html) -- [Paddle CI 测试详解](../style_guide_and_references/paddle_ci_manual_cn.html) +- [代码风格规范](../git_guides/codestyle_check_guide_cn.html) +- [API 设计和命名规范](api_design_guidelines_standard_cn.html) +- [API 单元测试及验收规范](api_accpetance_criteria_cn.html) +- [Paddle CI 测试详解](../git_guides/paddle_ci_manual_cn.html) diff --git a/docs/dev_guides/code_contributing_path_cn.md b/docs/dev_guides/code_contributing_path_cn.md index 289f6fa483e..fcfd5832b2c 100644 --- a/docs/dev_guides/code_contributing_path_cn.md +++ b/docs/dev_guides/code_contributing_path_cn.md @@ -12,7 +12,7 @@ 请提前阅读贡献流程、代码规范、单元测试规范等信息,以确保您提交的代码符合飞桨的相关准则,尽可能高效地合入代码。 -通常你需要提前阅读本章节,以及通用的 [规范和参考信息](style_guide_and_references/index_cn.html),然后根据贡献内容阅读对应模块的指南,比如需要贡献一个新的 API,则需阅读 [新增 API 贡献指南](api_contributing_guides/api_contributing_guides_cn.html),后续飞桨也将提供其他的如功能增强、性能优化等相关贡献指南,当然也欢迎开发者贡献这些指南。 +通常你需要提前阅读本章节,以及通用的 [规范和参考信息](style_guide_and_references/index_cn.html),然后根据贡献内容阅读对应模块的指南,比如需要贡献一个新的 API,则需阅读 [新增 API 开发&提交流程](api_contributing_guides/api_contributing_guides_cn.html),后续飞桨也将提供其他的如功能增强、性能优化等相关贡献指南,当然也欢迎开发者贡献这些指南。 > 说明:文档的贡献流程与代码有所不同,直接阅读 [文档贡献指南](docs_contributing_guides_cn.html) 即可。 @@ -75,7 +75,7 @@ Paddle 使用的 pre-commit 是 2.17.0 版本,首先安装并在本地仓库 (2)开发代码 -可根据贡献内容,参考对应模块的贡献指南开发代码,如 [新增 API 贡献指南](api_contributing_guides/api_contributing_guides_cn.html),包括: +可根据贡献内容,参考对应模块的贡献指南开发代码,如 [新增 API 开发&提交流程](api_contributing_guides/api_contributing_guides_cn.html),包括: - 功能实现代码 - 单元测试代码 @@ -233,7 +233,7 @@ upstream https://github.com/PaddlePaddle/Paddle.git (push) (6)确保通过 CI 测试 -提交 Pull Request 后会触发 CI(Continuous Integration,持续集成)测试,并且之后每提交一次代码合入(`git push`)都会触发一次 CI 测试。CI 测试可尽可能保障代码质量,详细测试内容可参见 [Paddle CI 测试详解](style_guide_and_references/paddle_ci_manual_cn.html)。 +提交 Pull Request 后会触发 CI(Continuous Integration,持续集成)测试,并且之后每提交一次代码合入(`git push`)都会触发一次 CI 测试。CI 测试可尽可能保障代码质量,详细测试内容可参见 [Paddle CI 测试详解](../git_guides/paddle_ci_manual_cn.html)。 提交 Pull Request 后,请关注 CI 测试进程,一般会在几个小时内完成。 From d52fb790288988a4aafd921ace0c5629e40bf95c Mon Sep 17 00:00:00 2001 From: moguguo Date: Thu, 25 Aug 2022 16:29:39 +0800 Subject: [PATCH 3/5] delete images. delete images. --- .../images/code_gen_by_yaml.png | Bin 216404 -> 0 bytes .../images/docs-review.png | Bin 172551 -> 0 bytes 2 files changed, 0 insertions(+), 0 deletions(-) delete mode 100644 docs/dev_guides/api_contributing_guides/images/code_gen_by_yaml.png delete mode 100644 docs/dev_guides/api_contributing_guides/images/docs-review.png diff --git a/docs/dev_guides/api_contributing_guides/images/code_gen_by_yaml.png b/docs/dev_guides/api_contributing_guides/images/code_gen_by_yaml.png deleted file mode 100644 index 7842512cf583e4c5814a0bf63c4b1855ddc73076..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 216404 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 z zEh|6A4b_$HvcEAa)np6<_Q-_3(YRkeA2*V^s#a*6Qiso<1v-&+-wX+_HLP-Thl99_ zhth`Mh|{KaXT|r&oV*4TdWLAk-M9> zL@1zax7XF8eDNrhBSY@_Zu6~GZAo$yhbQ?NX|uH9agVab+V!h_3ct|Hg}31Q21hI^ zDV<_c39x4vyl}|15BK8Xn@UpZvkr!{Em#DpdtXy-V)&-T+8=eX&Nv-5-vdhauk$8` zv-m!VzLj1ID4kMM?f$2f`J(--$=UcvYm%J6`yrf;$2$XQ>|Fxvr4fc;DnLWk+_Cy{ z>E1P8%Rue-v*4Y@KA-YhgCc(%IhlANK_z(O=BEGBZLv4^uXG&%QkEU5w6_X;Pv>CW zPdG-u870L6E$S;#eN7$i1ZBLvK#nYeuDIvny*#722+KcvU4xd;g@0ot=dt|j%EKcF z>&oZwXNE`H3Um}uo1)(oqX-_>^pqUtt(gn*?XmE835JTOom>wnYp+>9M)~a^oI{=+4qywNIWW z(|*OD=RcyzMGPt>S?{eB~*^wq4YrJTxPrUT+!$0s1_pkj@8RHr_aAJ()s>LYJyuVyVu zv^Pf4Ym70^P{O`zI_M(pmh{1?;cG0JcC-y|bCKgNkSU*Hn4T7} zbJ2MS5HIl|g>AORvzy4=yiP8f+E_Kt)-@NdVL9|6^;*zt(mra}_0Nw)*tBIB#tFpM zZDGk0bT7jIb5*l)b`1!1S){5yN8aE+ccg4jL?0s4uKJ za}nkkx4qH4d%t2kudp9TtHtk&U3N19P-;=-uPJn4zcv9pP}@>IQt5ysfg7<#+zVAE6f5#n+ zBkZ&HT64{K<}>G7dx4;-zQq{KN3zg$a;4wncr6OB8%k0Nt3OW*T0{P1UBI+zYW&Ks zi-xnErNSUF=p^ycTij?`Gz4YNivAAl(@^i@*v*B|(TFS(| z{pPq)!>X>#n$HO&ga+k2g{ye`Y`lH@PR{h&ns$8AndC{oxtrd{pd=J%M~9z6uK!v} zH1&0W1WM$>d5>t(yRD3pXPW-_;G`H6R+tkNW)fbt>Hg~I%3$pxH6H&*5UNviY-hT5 z_vH~El3J^xO15BVZGFg$-3M57tZ`BV!t0X>ja+$Dc#h(BAhGSAfq4OM% zzdxFVdLCw8IQa~-DGSb7E@@03DMRI|I<`n?x>;PTrW~i;mjLYOL`|8;d0X;;NVl0% zezzRXuMDi$Y)nyHiL?8+eRjQh~<519YMvk z$1%G_XRJOm4V4;iylGML_6LK`!USwh+I5{XLVKZ})@!#Plfb!)rLd$Eg9i|`dL46r zB0nZ9^8jtR*oT$4cG)7brKEeW&2~Qp9QRbzty!cC&CwTvW}7(=#`T-}(rw!-VXoFM z(coPBQD3l!;*U>k!LE%UM(0~wseXGOYwmZv0t$=R?aXQBQli+uGsWGj@Y3V+yQ;@J zP{jMVv<=mh-aLvXQJ+DbgVhUycsSG8TAdb6P?Rf=h{S~-9pJTu#JdSow#shR~T+i#C!<%}PGL=LFE;!BZOJsx2aU>8-Oy#IE5 zVmzsyyG!THEpF|VjfKF&)F1>n(J&THw4-sptkPf_K`ap7(qW!{^`kOZY038PfK0`x zJ|Jx^wzubN1HNiAHQRPJ{s0iTDmvnrkOy5K%O4pP=h{0aKjC;sL`qT&wZxRydJ`(m zo~<1U@t&Pe?lBa-Y}GkG8rjxT&qpU%oW+6WaWx$xcWK~k2DFVRukh77K1--r&g zGZWj#^WPE+d=R!~W{tER2i#N9R7(JfHH8B zhyC&(R#U1GS{pw0r=|?N6m}x~W(@T?Y9b>z_@hIloV7UU$Fh6uvA{J=-DO&$>4wJ+ zFZl`NIyptLog36f=yVB0R{%D42}S3})3~E;<{*$i?iM)Ky9V~FZ$x%v%;CHmk+cgcG{yzzv3OZ^aa8HxU}8D(6efI#CN{K2PcT< zUN021qB!w^MBJ_-%F6ehn#2ZDDi2ew1!5!@Gv(of*Y`uu0JRW>Yj#ongCxgY*LI;R zj3Y=nYQdzsy`Y{g1a@H$^<;*Iz^R_aybnyR_Xn1HXT}$e6P=B|b?rIU?PRlPbGmdwArw1a3JnLM*$0pJ-i{09G3! zZ$$T*D1?N8uP}bBRGu1f4A*zco2e9@z3@pWAnw$k%rRu*y`wh!GScs^e+ZZX+Mf3K z6~@9m&}<9#`Z%n9DQzWkEq%m-kYK}SKL*XjUSCR4F;tcP07PBNA`!I-WQw6?f3TOuWkE z*bnH+Td+2#FuwV!+U<6l0gw;(;7q??U%XbKrxmzMxPWEnBIA~W`J#(T-enQy3@tM(1~>Kzz0(>@Y^>y zcE#qvbx9Qt9>lvzrXA$Z{;AHERzz*<&6*7#Uee5FSVl!>ay$VO$~6q1e6Va?Ja! zn)@M{VY0@vLgl|TDlGXF0a_sgl-HhAERI{&7Ab*;6|^u;VO*Z+`R*<{icb_ioSr~R33SI0e>Y#ClPg4onEhw z3(=2(J7SoSXWj3>8P4*=k<2o9Y=M$X^R{+iGjp+vL`yjyQ91YAUUa9+Rk~N2U9qGk zwVnIJ`b6!>{X%|;$?%NMWsXK?bbDLVwKd8r7?XBpV6+sVOhF>=v8?$rG7;*040eiF!&1q^@!^>gS^n~aD2kJ>d0 zD+#6wIVPd6tiLKXgW3SAxS4d*S=QuBHH}61(l$kvr z9{;>va#dvm;CX)4XJ9R$-OD_0rB61$ji7r-;N`1oNqhk>2qmJ&UapS)OqL>Y^y%^R zxuu=C&F8FbG)%03Dtywq&5tN^aa^TDO@{Cy(o2r^*|pthyR7JkU+}E9qB5K??phs- z_#NKsm@aJq3VdsB4TQe**JbM3palG_Q44hdJ4uwON3L^Dp%9BlTwnY1k57!IeKjoJ z;af&-+BvMohEq)2@XB?v9ReX?w|(R@O)jL>tZI}A&;dX_A5ANh4r}A6{f4&0(Qqi` z_f1V=008)o=bs zXuXnOfs;$+*4kSL694DVp3KJtypxs~fP;|Td5(rEMs$6s$C7P;Am%|asE(M#2(WmU z?8R5u0G#u3J2j}1xb|eb1BJgG`SwD3UZ2SJe#B*~)z6bj18oTLi?P+3s_mf zz16+<+iPNNYBp~;L$#;2K@qI~HNY|Kar!?BoD_H&;Ki_*xca?(t8{P< zjgjSwq|xp}cR(pBAv?5aoKF8};kbo!p9!9%KXx6WZ*fotcmFhbJS&<_I3~%k9vj%~J2V1jS#2mHu z(IfO-?1MKCPIl&3gGius3aEFFgB)u~3GD~vmMUk1XaG^^ZWHbK!X##s_ISKUpap$RSP zy*?_BvLqAV0K8E4k+Bqx-28|_Fckw284Ce-$@=W$i`{evck1T2Bc@h^Jc&sf41tL{Uu43E%~hUr&4nx68bEOaF-Yt#r8F(k za@<89OES_;y!J9At-N&;(eABO-qXhjbc)rLN%xId$i_%PXdvk@t? zFI6PUD#!E`-r|9)X$_7bf*0tqlJxv^4Y?r`#!2peYClhHO-8xSPE;j?&#Wt`UTHf%lDaTiTojtQYW4BxJ5-eUOOvIbDcuKJ_faR=bNa^b_LXk zhEb!q2xHvgj)el+b*uwzXX+IX#^uih^z6CuCNjI6wCJ{=e&|CzPdp6@&13g*cqnG; zbGh*dxLQnb%A#G}!1>uRuhIjZPqtbW+~~nk*iRi$r}6F5Ylvx;iZ8l*7uDcVcg4lt z+3Z);r4-s|%g7*_ZY%FVQvyvPvo|%L_X$zInrau{@}gj{01|tN^k8m0idIeD$yX_n zSU?Jmn75X@#*inMQoo~R{^j;FO?{0{YOEaw<*?h_n;)JpXJ?i#J-CM+u2+y&q~D6; za^sUgE*v<&MB)Jfj)ptU@3m4owTt!Heno@S1}N@`m*i>(B?b>=^g|3g)177+PSH6nQruzxG*kCXA)lnBZH%J89+}Ke$O`a zsrsTTxLlSe?Rt3TYRc3-LA~adop?(Y0cN;nsfk?fTG1Ul<#{xQYEZvtKNb=0tVoEM zsi*O_oughZ+@GQpPNPDX6t3zsW1f!-usi;W#HWg^+k)c86o2MAwUhYq)Wk+~NRLYo zE0BuDJ7Fc1(~eISRk0;Lj8r6ub^@j4R2Q{FBfqV>bn;JsTLSLq`r|b>=b+V>2$*j* z-=8eA8g{bRZLY?H1`BsNl2_jCvBp_E{!XG{Lj%lH`$6wA+QB(m3e=2h^`1*EyHvHa zL0sY`w>psSTSL~H3fQ^MIY_5I@&S&9W!gOWfg&m6y&dV6%pb~bwGW5|sw0soQa{6c zl3rGM!8aGF7}gvT|M-B^zoLCm{nYDmH_NN*{zqJ~decBk6`OCqIW}?5%Pyl)6Paj( zqVr1y(D*57^_YACl;IfeL{FTYBf>EbSZL2T5XW05CkuQ%dA#0cm`<)|hYKtf3x;PP z6jMtgVH^mkQLiU$_ZJ&>jG5k*DQr5};*wJ;}NG;EapJA);*k>>zTQ@%;8 z!@#PMr}d2m6LQ&3GM+In?=)v`+dr*K>M1VSD0Qqa5qsr4?>?o{6;-a%N;2a0==xPe z49FGu50dKZU?1VZ;TykUDCbDw`Hv5)O!u(SQZSK8ydVh3CWV4EDKak{(@c6qY33qt zY_rN{H!7~dppMr>uZ6pmNV{s(1Ghs|Gnje6mM{$X@&&o+MD(_{wv_D3-Sn&CbSuO8 zELNiKK$P1{nMq^&Ps_$%my1}HHcRyBrtPbylXzW0=%Y%8s@0?$iQCs%ajI?wbKE2L(&q4c5|* zD2AwwhV%N#819Mjd>#oqTiebNOp*J~y8Bo7yUbHYe2)6B*pdj1=iXzZ0#dnx@bgC> z12{M8s7LOTM%I$1*ew3m0OT4FCk%1-%^qOQKkoZ-jnT-u3M~hwcXmpSpi!A2IZ%Im zo|qAvzzPjrL*rRj+P=rEGGj zt4b-;96=|MLTzqmk2Lh-a{~9{eYSxJ=gbHtQmNNwQDegnl!RG>1kXTcWAY)qDw&p- z*Ex}yvDy!+Nm}??W<(o5SECWP_nZI`EBgC6Mq{h7|Jt42BD}Sh)%^-gDOdw&Y>d&z zT?dglWocoukSl(8h$OKAD;HnZbtyf{P1&)!d_XbVf&A?X(Hhi5WfxWqT*Qw~&?9P_ zzT=oQTByUflgb-lgd06*Ljl15!P^^%doHrC@p@GR1bptr51RFYtg$B*cR@~saBk{( z2Ieo@0)j|U1*HY7q<9n4v9Gi(uij+r@M~beGYSBC?NPJxwd<-UVPZ9z(_CXu-5=Ff zR(^5V0}1nJDlZ$`&}_-xv$0aBEvOubYs`YTd=V1%EC4W3rfgrgqOcHaspOyGJ~S0M zB{blF{Z8~CNrplX!iGipo?5V2t7Sh)`qbP06zZY+v!j)AWkX)L-a_6Ymai7&TX3oz zbXBC;Ob*xiK@mUFzX#Qt8(7g3wjFeaN$&eh*Ze^wPY{uLD#c_PsE`fg%w(e8I}%g~ zm2+}Te&;emx-dEjDtP&$u6!$LFXck%A}cv7f|wW`N2WlDeYqddML}gqlJ^Kn zd{E&I;4P0V0y22q*UCmZlar>f`V`ebPfzI@=b5GSXo0Tca@c|cNB*u=LXgIHZLmFc z@vM*SbS_HAubxvuIOzV8y4HX@bd2#JF>TBTaxD@T33>~;dWFX8CP3^SS+`exw}XIx zzg)gkZA33&`jH0Y3QQH#geHLos;NIG+2Y7m)|%$nr|pC92I>%mT_e7jq=K$ooDl#r z#LnujJf0rWvP7ioQug`j_>sCUgdn*6Gj`VpQy-f z6h#PKe<(?M;jS!DoV5GO>)ZzEn4Gr_`fz_m09X*RqKbnSmme}m(C99S);<$0R_68MrcvoIG`XC(-UeDD7m8a(x;y&eoShSKJK3jdacDT)d!@2_IU64Y};PdTNs@8m~ITv8nexw1~@ z3af^LT)0BqyXE1~SSavjsxyxAih`13*I-S|Y5BffeUc!S1s zUvI;XNM{wKxsow8p-I->+~a=Tv>T6(4>qj2<_RxD+ZCACbv<6jdz&G}B)@z%I|4rU zAgdDa_!TkZ@^c;olBwrcetA6Mq7zUA(lgo@t9c79yHZ@^rkxLbh zIqsbb0NeMYtQt<)liin9ryNEi$9xos6$iAVcjmiTSg`JcT4gy8mwjg&Fdg#b(=y`+ zYf7epOwjyHi+=sp&rOcQ>`o#-WA)D;UMKNxNI!$Y9c|E_dfS?Hak8djF>F!!9_RBc zwxxs9a0Tftu7>;=eAGHXe00Xi0p{SnmZncMXy(MR&}ZzJsIu$IJe#b@=6HuJUhU5q z2zTUP!wZJ8iI@=el)k=iy1jF=f2qg>L%u}3689kQ?)u);0H^kM&`$96fS-NsUDhnK zbS$fwH0Ki8hE#OYUhG!9U3XE!NT0Yx+~kiLd`5DrQ8}eyfy-gPM_goriv0>1Z{H)h zT!VrQ^t`QwJVbgUt@KT!+2Mg;5A`V+>GvC=3 zdPB{?RB$Z*bd5;Lq&PT!%7`7U##wn1Fv^|bWt^{4gI*WtOAn8XXq1e*jl7-&q0%Sb zB_S84I%&n|AJnw8`(BIjV74wFc-HP3zn%*pb_D?whlKIox4R$Ke@2O?G|3#MyGEg| zTkFrVICP&+kmQ0&JfVn4>rfF&|57F2uoSf!A(|>^IF$uW9yt9)#QCRH4aP=BvHHYS zBSNMwfC`$&gYWVvpjecG(}x{dO?{QbL%8tvVz6MpKR@79Oo)KLn-(a|sHZK6R!j}XTBzBba^8|1APNp_K!uz{2AZCu>=lEr&)u`l{n zsp*_q$dnp#Y8#EmMHO$}W6cUe8nr655;7Iz<<9^-yLlUI( zAbQu)y7SUD^`uBBDO)=c-mMKo;giBZK}fR+d|4t$@CU|#5yL*CU_=L;JW0NO@hC3| zh)>ANmoE!?B;n63B6)9Lh*{JtIp+JfA(CJ`yDDEL`~&g5>*Zp=Wk51~{l?oCwqcnE zYkzTXKs+BG0%T3wxr%rpsY|i^65Q{9!ae~*iutmTl=}Ct|Lvlm528f~V7iB6gGY`p5b{tpoSwRDXY!NlQPhUmjwVbL|%gN2{@-je-yMtRZ{MDesa*~Xc zl$1W`wa-tviAutXifIV?m!1<(7G0B}8WLVr%qqdr`H z=Ia}XCcz5s*=9yY6j$57_7#)E*AvEgOHo-_Tukgul}N$ekH|d*|CGyB#HaLNh~GaY za%B}3MuEdc{p)L@gvCOt=L`Btw9<;62*tkm#y9EimKlfk&PYtm^sQocRB0OLtewP> zhSba4ma?+4(1-}~wl>wHBRQY{CW{v;0CD5hnVFgzOjg?yxen?Yls#wh4uul!xtVAr z_o=4UKT$G8DckGFKnAZTps3XM@Tv{ZDJDbT7>b~#v=vSxnVY5phYzHkAk zFhB~o=P2b$`hzBaQEBPh^navpfef%NGY&mM*+`x9tU+$^uC zXh7t|&kw`G!J!~R5DB=LYN-OrJks=l|A&(kx1IEXKGo;70=a_()EYE#E|}q^kf*!a zR%Fk$Hs&XKdv$}j?xjo?sr`D?9clRPN_mjC*56tG`b78l0RC#au-iAml!^sJ2wNi9 zEhkKZ?6PXinU6LsOxEwU)KTsi;1AVMcf6F<(y|ERTFTKy_^(Dp0(x;M1Vr;^36zz} z0_?MDvQ4|wG7XUH*4XoTC^_z}EB8T|{wednDksSa0ux`0!H+hC>Dl?NI4zVBc1LV? zxsMF*NAc{Kd9uguTgfX_4-XECy12OfAoxi1%ON5|APR#V92`jR$^8FSRWLLVcB4_h z9rh2tQ_g1h)(`)Dv+}qmDe7~XFVDZ(+2u{%kOM0bT&St9*Jh2#jl8k+FjhYN&J$Sd z{4i1In0{y?RR|aE>b?IWmpckTIeoibwX_n8eAyi zFQFhOUD20(^?8hEa|mM9hCy9nRpLU_pGK~mw?Ii3=w)+^sD}TKN7G&AL*H`uAjgh2gIG9*;}uXlZRNH#If&n--&fiVIQv zZ3JUv5ynG8dJ8;JSteb#I@5S`mqMNum%4S^|pXbp|-*Att2K9}i=Ha8; zFINuerZtW?G#Sq#pAisg&;;hL=a-fa?zu)!SJaP0!8Cog>d<-)hL5y1PP-2xH}XBM z?YVwEo!mU@wD;a{6bjT^I=r9lF{d(*%K&o8g7jVsgRMu;{ng4Z<>spd`}pzc(rAfs9($6*r6FQs zF5X$KTMi=z&9S>RqpPdt4LkN3^aH~Vp$vZ40A}8#t0tS67c4 z|J>R6oNj})2<*fXRZ@x=Fz-7I|AK>ja4?*t44B5$dDmP%VvE!Jrmm;h=48uBCF1=~rMAC~&80YEX&$ z`Q_z-Y>!gAhO-mYgY)a8lg}OB>(r#C7VnRt+bWbnV zNBz2QWSKhSe+N21xgXp?c6l^{Q5M#9iR5oScpDZ*8hibzzw}?8@#kq6zPP~FwrnY$ z+`h0il&fgM!V;!Ol~?9S{&L}^O{53|U@d3&$OQR+SlAW~@YxQkMyFqPd-m7ybVrU5rYIe2E-_PCWTFY$^tZsG}nnyDh(r`hGHl zF0?^<#g26N(p5}Ax;}q?o0pd-yXLp{ORg9P2#1G<^1xdXQAUN?cve4w{L>YYP$39* zcz^sX{BJV+>+e1!U4e;ta{fs>{`$uY6#&13C4)2#^%g0?rIY}$l9zudCMGs7F_13* zuV4Ge@?I|E|GE4(9eY3ae=Sxm7)3x7OPkHVFXqKskYF?;Xr)wIu%i8&dxd3T^%gZs zNJw;*&&|!g9juq+m*Y7+9JF43z+$4Niy7+&qw^x|g zR2c9N%*MD_Sk@Nb5rudzRPrkY1};pD9$~VZD(phpAb5zZj6X^E|1)<$JM(}!uZ9+Dh2N&T)?on^93PT^0U+MSxd0{9G6z5_T7gzio!5S{un&iPU ze7OQoDUusS2@8GysN`R+ht%E#Mlsb*)%ssCJ+L0ETVO#xhCL1Y$E^N77hmw^)UYiF z;U`4@RMx*;nIh}OM3K6g)=Ty;7s3{Q8WPC(;sQI{+TN_U^mATZMk0F=b`o_zY`s`e8`5N08wjyGPTSkt$dWBxF>{cATQ1SLcE>*>{STjhXN;@= z;m?2Wi!8ZKc&TlFe*L#ku(yD`Kz+i*^=}sfl_A6haI4KtP5(vfIFl{+g`^nwRK_Jr5HF;5A%&k`eh9a1vi~7^FUT&OQ#rE}MEM)l za`B))gY|WW(KC4>-oF$-h6qAcRTX%Zwcd`e%ic1!h)B!3e{)r2)gXKbp5L%O`8_8L zB?SC{&Yqs&9QHoE3zhzxjJ+QKXsJt8jP|d8{fk&PLFDUaKxg?MV~3F7A*9)&y?QwQ zXFh*EiBerX*gak!xcTx!%H^)%f4u^G^5l{!V3Di5x^bG>*!dqSEpnb zvffm)BXz$qkfvN5s$rQ7vWEZvq=Dsfp#NM$_&9&2XL^Z_LH|so{vucq1>XaAhf2f2 zb;;75poE8qi^|J~9_n>IJXh}gHy7?p2Yg?VeZ2|Yzv|?LR$oD2q6U^rAwv-OUveAx z1W3vet3N5*LH~L`3lvrk4haj3{K1hC34MJ)7;|2@2f^1~83i(8Vj=We)fePd_G)UX zed(W6opEEhv?i#>Bb_Zlh`dBBZCMQ|JM57I|9zi3tApz}kmA@DdSdsGUGY=Wn;KT`( zpC6nARNnLC4^fnW19+CTU3TxHt5O5i&zf$G6NPG}E6ay1lL_GmsDzQ-WB4N^NC}xl z>XxaAbcBmo1n1JSX>^93PK9N{z39&N_R#O&4Mw;r{%C`q2Fd)ju%a%Rl|K^We3Yy& zYFgNpkumI*dgDP2xspV+A^}XaC44oDZsk|V#&CgA%r-sh3rmJNgWp~~Cnm)Zi6g!`kV0g>6?&mx&Zw6(PrEPU;5`zjNvMm?^ZUR;%PeHZrdlxvC(T4HXwP9H}$U|wh>l9iS9c6D_%OJ)s!=mYER z3ybgtZ9!pjwhv8iTs$`!xFlLyTEwPcuOOZ|qVQEcGOv}8QvPbZI`UuT3y|9#Bis{< zBkK}fuP&;}+#0Ey8;;0uSOcZ6=WAoJ+id&6;iQ+I;Es$J+36d{?k9Q|_DEuM9UmW` z+dI@{pjf4!(>s*ORT%pC*8uhrj=su8ZgFUfB$fK{MyK&mT|5-H^ddOCcjzIcy9~~N z={h~y>z|llb}-1XX(~3BC)XFFn5gi&_S2d~v0w&JX78|w0;IRkHKBDl$$$Lvrvl)O zzwkJgUh)p2R4}PHb}=n2iNc$NuX9BDUA#kY?xB6v{VCczavzT3tO#9!wV6+KM)yY| zU6L%2yqjRD%2}w)S?v=V4#?ehHC@=510E1293O<0hLY*>&U`=3jKzWm;qVZ7$dF zttvu9S6!gsdiFg3%K6gX`Tk$*>&qPybsUWa|KZChaFhCLVlf@*n_Y{WhvZ+Ae@R3; zIc}WI>$r^nW7Cz(i2La+kSiXi8Y}jNl8Fjl?Rwe=NJ^sW467kpEMb^}nZ@ zGNVtN9+7O3J^rI24xkgNWxXnO?jlsaMlduqWOms#*R$#if7M%u^iwZFFdTK8nDY9V0m2Az_^ZR{IFYoZ~dR}7!2`LF|(2{S3kZHAsgv10o_fhPnCJ0tQIx}sD zE(q+4We5Jd7v4>&18TyZDvJj#M1LIYpHDOVa96u!edqCwi~0Qx8U5u-Ex@YPCOr$f z1cjHr=g&pp6O0PO_YkBRAKp@2dIA2sy;ytevyX0AH2q$(3#I*i4;V5^uRilfO0UU3 zlE3`+AALY3d5a8U>D_O%b^(9=?WHXKd`A%8h4ez^O3kH){%w?(&nLk|#M5WS>}GEL zKP9}M_ry^AUtF)E>7V<0lgnyq(&j4XGjpiO%3|bo6%$?vmBa{fmlx|GMQ{FjpX~2n z`rd(~GeI$pnVfsS9S@PhC8vv+`JV_T;MjL5G(lNz^h{P;dbxZgPfdTFQV2iYQQo;T zw(o*lMGk@p+41f0N&p0fipNOun81+ckIyPCBd?L#NJ_?a%>puH$GZD;$^Ed%SJY(jX0JQ*k zCul4H#lE!eORNt@u!cnvVaC;{dKowVUEKhS3%U}EPmS{aUM2oBipx)zcZ3OIgPI(! zI~yx&bYV-2Fx1pEbbj7wCnAgfJ_iEw3vCi=YB9is0_WAdCoUz0?G7cpB;w)2(362| zFbxh5i-Vejvu9&<4~DDAQ~zJq?8|$#F3PB``uWmBtr`b59hW4!{+AyN(t55Oi;#$4 z-{nI*B1T+Ezbg8(@O<;?>1k?1*zTOx?#D-TbW;5T16}?!8;5RxfvEsL0-J{yuq^A7 zlOek-%?)0>Uu&TQ6xjs@<#qK34eWLoo<#QQXs}AnxjOE6#HwM! zJmHuT=qCy;J?m2U<5|=gu;B|4ZYNd|S(+E%k}@dF ze6#-aOGOdYNXWDOZTPwzSzBXc@%vOjQMdC-x)B+Q+4+H0E)M8`L-JZOS>fgmW+KsALcuETT5C~$?N|fMc3VU(a#MCr0UB`ol*rQtV zHm|kSz1Wfn=;qjrqhU)~g{xETk41~nnpx|T^_n@pb~Eygw!YbI!(7-YPvii4rc|Bq zqks=a2LYDMwy&QR59|xfg;HmV_7F|FN2Y@m;VES@wZG z+p2(RookSwZzcKA_xFbDos5vY&kW7qbB4P`Z|dX<%GkYk z$nO0eYuYbwP%DJtld)AbqAIE%m-fq==`yphu%s+e=do}7YJ7#HffG8*6zS`aGTyIw zXn#w$JqbZVDs31ic9O^8-3h%18N}v2-sV!XZo&>)G4*PCWH--8M!w-j%faBJDE-(p zPxJZkO=g2!x~@^SGW!Ax%P~#54bSbW!&rxP>fvP&cLA4ID)Q)h8 z=>t?cUEE)KK~?}sWyMPf#7`@*DN$rUGo4Ucd01CtPCiQQqe(@;ZqCR>1NCCo1Qu7B zHj0iQN0H32#$h=@wSHbSLSfqTxjI8}2is68;|aK*SFqRq*8&Uau(1r*5?n)d+qy-X zrJluf?Bv1S0v?xL#(}ycbF%hF@O+?^sz2o-Dd(j58jhV_GH$Q#ITxIpV01WmE>}N{ z4H=AKI9;%a*%}!jH{OIK8BWqn9sgiqp@I(a?98kb@94a0gWg5w$W<;poQ$1w*%+va z+WnkXk%sc(CgM}t&RqA0hE1sIFDqfdVn#E6fvm*?# zl@+_q^%Ps43ae>UP5lUV58GWIQaIY}4qerzo4ucbH~T<=`+7H@ehPQ_B6e^)60xWD zyyl@wFy{e!T&~&ooGQmEl{SZQOFBwo_pIFY1s(TmVWh8a+jJSj^`AyoMP&gqJkL^{ z!3@8ih3HiQ+FH=)1us`hEo*hcqpfhBKj@epGDYpvHMdtE(}MP~&o1JkZbWJyD|Fj>unnx5`vIiM$ae^*4CzKOYTq|E3nCcQ7+E&qNfV9&*atFuK zFS>vK($xB6PyzE8q;PKQa~yMf{RccQ8>56VL3U1^Kl*HYue!E*xUN0a8t7lek*MS( zB(UxOw6$HSVJ&|x0$1kAXx|Jc>C2UEr3R4VV~l z#FqlNZ!|vN;Ip0een|usJtd3)9S)5g?iM^IUYeeJild$znx46c7TOH6{9alP_lZi^ z=uT%e8pg#X%%%l`7m|4UNEx#UJda+EqcLPrKf4`V|^XNshF0YR>dz-b;3@wB?Yxnz`-^gWx}t>3WjBi;LYo4_=R z^qQ80LDp3ehtZbG7-4PJNrwBcA&7{zt@gcfdvOE znDM19GRt4W%ti{>>=x_>nDR1x5*~b2`I%6RJhi=FL8 z>iO>I%Nt?ZRQ1i7iGH8%^s=T5pjd@PP5;n&jegRqGyFLlSKH!7o>ep(+xI%k*42j0 z#oUs))MAG3uekh9E$6rWDLR}piB}x&ZN&H>?ct))^B$h$&gZen#FB^*Mlx&=%!;~1 z5x%yfi9Oq!dgwV5DS1lOyZjW6MK-EzYR%u>eI^@Xgs+)N(_6UBrOdSC_S+J-&OhR8M5e^^t*{@t%zm7Zns;I;l#XN6}j55J7 zg7*06IJs14;KML}_S=nkE|xSIGRN|wB=^IF35RLE?_KBa-z%xtLYyVOrO&Gd2cbB3 z^(t24uMWb4s^K(`W60fLPC*xA<2U|>Fnr6<}QW*Y;>=X64`&u+Kk#c%F)W1~s}vHzr}5Z{rho zQPV1VAgj+US^92^V=1P8+WdVB&eI{V#SYMRHsVlngm1XLOyq3DrAoU-wfo^|a18#2 zzBhENEY9Ez>>k;oV0%28DMKsud+cDe++j=9$36Gbuig@)QrtWoH z9FMUKM@RTx=#`kWz^<=)hv2-vL9XyRu!xspw+1_05s|PkN9^eiOJeWmi=_VnR+jn6 z5O(zQ^BSU6tvk`E125TCpj zCK2gQI;zG)2Ed3JX7GU{-%+QPtbDLctM`x%%?3-0epmOAe9%2BL}U4y&%u28A;#Kn zllrd58xdv%(YvZtzQpYTvpe)-Mr$$4+L0bx`Ntx5>I(g)Vlpx;(}$Ec*H5mK(qV&e zE8E|Xp<*SLKRP&gWG%RINAh7p!+XR3U@UDSun z2{4`XaQ-yO>G593ls13z+qK821oR$9=O^nz*F0q=9qU$4qSo9ZJC46()mvxenH(oG$#|q_Qb2BDx>`FUl{3I?%XH9(V_FoYM>zBY;2fCnp+;2 zeHT`aot5Vo&2wda)OLxCc-pZE-J6cKl)dv~51|s_RB@T+mA7lb*jxdfx zoT$>i{P>|HWi*7OQPeS1F|~p$T?j(V4LV_2_*mITBi&4c_a6_G=f|(LBApMOxK*q`ZE4 zSx!!SWnV0XRtp*VyIbu zWyK}9KV?BVvQSP@x)5J*E;kyr-51JWFfeaA@@VW#Gc|L#?{#40=|Q*s5EAEBMxVfX z62s{Ts(F>wi0dgFvFY!Kv@KEIw?w4naSe86$W78=YThf)+9p_Q?1^&Z*sX zaJaVvoDO&gK8$R>6Zrlq^)^#f;Lw$l#0pnG+(SH7Y?t_Rk8SCD#Y2(G5o^M+v}7MP$ZWhhv4eCm#nyEPKUiQ?s;oWRLQ^V+NblWw!LKz8% zt5OG?b(`!XrVVGxmixEX2DmoA9;D5-bbLeF*cfZ6;5(sGINNs|G0uEr@ftPMznil! z6W7Q{_?6q?8hUwy%q!G=Zoa_4K;8~Chn1z}Qmf@zndG`gQ3)>_a=JH>j;Arje*5JY zTsy@47TD+WCatt|@^r(MG58fxSmU692C|?k#PxVFxm39?ZVkknpKQoultFy`O$tgj z@saP5uQ}PxzmNca-%c9_vLXycSb*hHv43BOpS6z@(}nbmkzeYc}CF`>?ExZkNNIr)aQLw9@UR(_FFI%pnsE$gFOiP@M}bOPF8T&ZT6^~$%&xSrT-{;m+N(n*a@ z^?K5cj`}nHAU@*^ec683xSe$m#qKy>k(@x*!n5{~>B8_PnYzbclhcmNSxM5N&le{4 zlg*H?92{CmsSu!llB%{Yhkwr-3H^cuM-rleH)O9&#MN~`yXuhvy* z4~XJ_L{7Zz0N4~Js^kWa8b_#DZWgsxjr|Hv)a+RE*X(y~H%Zb3g&DzszhxNZdcw-`TTK0wiH%8 z@mA7*ae`c#&x~<@akQZT*ImVkTiahn1U>!y+Lzg$sLd`d9f*t;ZqL+LRx13jU`x-0 zlbU~yXhy?Orh?+zKqdG`Q;c`=Y626j`OT88!nLdHT1FgS&-kB6A2#{8@wS_+zD`;5 zy>SEF(~<0-eGlV-POh5KFC@0^@V|(@o_bAI>`*bAWkV}q%43U)i4Uec0W~aDh;3q*RHM=iPFT^H;SSzLVDmSw$nf1x3?Zp z2~hOW5&w`QjZ<^P=$sU9wlXV^7cm%|6XcKDl>>UhOSwu zGhf>Ejc`(oIx9ixvPCN_T4 z5-i^`Ymu)AUemDl6)m4gDJ;HMSGQ>yM-(<5yDOOQ)VKJbTc`)XD*EpK&A0!%qD=yl z5$|kpna;=0wsqe~WNZVyOXNv0GO7OK#41O)H2&-d;S*|RY&;wz$w||qTj3dVH@5~? z#EOx+hCxt*6zt1WN7aXMq&On%*;vtK5w5ul216wWZ5!^DdVMtFvi#K+I(O)q5a+HR zGMJmt6w%=b+SRBc`v-!aj?53H3n8nl`mZB6iM%;^d%avKk*7ygRj&4mK$nIlYM<2= zOaBHPZKA8*Pd%l8ml>gt9K^2<6zBP7`S9vai>4#ZNc9&*MqY_JTbUhvCUmYaMuyy= zI}pD*GSfW7&f*P4kv?|k?hw0i&oe(@|DU^C^X2P^(?QTZGv;bMYL1}OzU4q4wS;Zl zSf|$b$?SK7+z;WfswgA3saYG9u`P+aHz-o>Q)@d&%;?Q5Y-p=TM^OxZ-mOwL+rJTJ zd{Q#DXeHEQcJy>Mxp?F&of68pW^-BPgGP;a(hTMMMm0ypFv&TuD-$Px> z_rs&`y@kJXH@?F)hlXShBp5iPQ}1Emtuto#nkEDaToSQs*ob`JpGryt8e_|%C}BCo zED`fY#dZ^|!1T+P5kllj$S0Y!f|e4(7v+1Ai~5jWp+6qTKslPESwV64orcCWvf$DN-u`XUbwyItz;rzT8l#v)!cuhf`>44Lx)6%{V5(UMEuYgp{4#xGqlGg*T zB<|xt;y!hTAT&dzf9@k3M4FIdYoXWO60UPPGesvg&lcIxzU3NZS-``fe4+`{%UDk|+^8i^D z4pc7WY2S9l3mOo#(x=%xh5G%VOUAu#^aw`8Ync@m$%*w)=6@PX;Y znKPx_7`(^E{sPl*phUM<;!wj0&%1qsL@28>bUaI-`-eh(#zj%$$XZg$4V*{%uH_$= z3q9aaKi}FBN$B4?s|5!*nryU0&0go1=~i$=MT-1EYRyLzw3G5-Vnm||Vb`*_RWRw2 zPt`6;qk~FLsr7G7iX)YTVygR9quo8zW18wDAI*!O6!8~F^T~_>1-Z(KiV0MfM&BOQ zxD_o@0HW!@`-ra*$l?tZOZTzw-=aqQg}mYI_k+?dDI^H;WZPx5FU#$i;4b&_OPg^g0PDMHHeF(C3aTFheNUF6~@ zhK4e$u4!L!X_Gj#fot+x+mXk+n%q@cWvsqRK1+g6`%=xE=`pK(S88fWgT{@NXg0>s zPTK&=?!M$D8C5_<1;=v%jspJEF_`kZ?;$`~+2g!7p9dc1^FCd19^0s0jj>t~BUJ|b z9GwX}FZ?~pwTXZP#o9aku?zS|Lh)A|C@@qU1T`5m=z$_x%ZQ9=eQt0oSK+-dz9p&gfAKYXd|Y_Aaa;_(lI-ip%F^_2uovR&$^zQ4@Mwm{OLpgiXKyMRk}RhS zM1TpwKJ=H!EcaOiWre?rw2A{!yL-RA>h^I)e^7`S$iWa}AS<=b{ zvZ~#Klf3`$xcwthu0qHOfAfLkjcQ-Q?eMt27PJk0%dsY^I630Z&od8+pao*I1I9dq zR>WtseA&M7HqV(6_0!S5L)#OxUfnpvD=A4Df(cRk?_fc54xd{skN|MGwMdQA;39&Z zrDU;AeaNBioIZ=Tb>`0XRgtLG$cW-maG1=W2 zS&sQ#`{D2>yY=)~4ZijQE^-w}W&iG-iw-lst{U?p6!$@Qv&~+*()qLwTTzs)k3-SA zaj!wMrlB1ZV4eNl4d>vz<$wd3K7;ftl<2phsetk-vtN-C z=U-dqU%}LX0Qda1OWTs?s~kwZ^RTKU^prhs;Gd+imhPez$hyLYN8iJy(L|fN?Ua%@ z%-`m2_vsdfD6j0P*Vz*4MLa>Qi;tG0#Kh&YB+a%ZOU9NI;ExVCZzoC%20r!JKB5vG z*F@15Ou}20vH=_!jnEWt!py>F1h9t!88+p)&Rk1GK*EZXTG)MkV(pS>r8u7^;uS5 z6p4=Mgu>n~q~aYK!RlLE*H$KTG0$aho-JBdhE&?JC0DI!6u>laGx;zNaAxrgewm*> zjjE|S(CDK743t@J-+KzgEa~kSF+l=94&yT27waL+ z|2%n$Vg(Q!MVSQKtFN!5;eGCobtqrVO}Jze)i;X6dMjYum#qXt9y}{>o4#<9aEKV!FfzL*Y#<(_2-qi&+ZJ?tOfzj%T5lgXA!dB%ova;6?Kry%dbv&fqE5&md6l0qmu#&+;J4GSj4=k{a~R+c8%_ z)ESAyF{>p0%k#Qm4Ao_s|Er;5u63(`WFjT!=es`6DI_p#@3 z_YQ9N8B}cmj2Kv`oW`V>#3exV^<=%L#+RpF+#H(#!Gb@~2*x-&`c&TQhGtzSja^6> zp8nLVgjwe^8gU1Ijq` zq;5Uz4qsiW_?RRdnNk8sp=&>+WNqET(z~ojjAdTIIx%$>^dnh7wr>Spm5$*yWV|LjLNT9Tj+TT}HgapGJd zbBtC-OoI)MTr#frNHMDVM5z01u6dv_MrRJY_^g`{$ zYWZeKHaM2Eip8BZ5M%9?j@vR1OS#V+t1_5jpt+QMtJ6@ zFGmTN9e{aq4<%4*m$l9Je$%vZYb@+KmGM6b3??oKF-aXJDl_u`k=)#s`PHpgu2wa~ z`5=A0buY(PKhzhb)Gxf;MGG2;K4wDrZR!c{Z{|^JIKjn3v+gANj3Qo%VEBYLV{`ww zy=RN|8?VNv&pL&cu6_+SAG>x0EW=avTTWZS)U4;|7Lwmc#T)y=5<+7DD;We zolQ8PWW%7)LpctibHg~+v7VM|04!@wB4MKbdcogze7e6}HZs*XcDGL$)ha12b{0jB zY5pmB&YvliZq&~seFTNC@)>;LOYG_13Xfy&=6pq!`jRBA0^?UUlzWq&%KbMZ_Tw`K zt?YiA=f!?aR_zdNSK7(6@o}&1PcPyA)*eWVgMhACgN^MD&ohXULu99GX!BQ|N;KyB zz^X#s)ZIseNYP$5D_;~B;=YWpzOFqSU*q-c7p!#~Rh@t9K_nmfU8Pc>43wxinq^)H zK6AM4Us^6$6@f9sZz-%Lk22+6Qgp6zAV%i>jB9R0Q{J6(EPC-(W-lM2U zj?x+d;^8cTI`lg{WU8s6lxSyX5OMCHteQ5n>m9VxQ3T;RbSBBDB39V>x%-$Rt%GY@LTMX=&3;}vZA?K&4#cr!K z&0o)(6=N|bfvl7xN=oQ` zWO>Gm8RE5K$fL|(UHma9Hi>L$VcVh3-kSkFw#v{%K8PWuQ}JB$=<79bl()6=L> zH|H=Yatds%Isr&%_3Il;)n**hxm~X*zPLDlX4=YKjiF0;5l3>%WrmY{RS+X%ul3JP z3J>@7qklJ(TRTQi0NVzdAFn_7A3xuN0Qx6Cwm|?XTk14Sy92~Jgj!*?BQ7baP8gT? zHc-;18Soeh+LzkGLVG6`z|J$_1Y3<%_~t7{QI|M>(gmBZceE@K?~AVP;1VX+zxxiJ ziykoYS&bz4UeFz?(Tx&Oh5xDa0GHp27W_nS6(#r)@|$|hlg;X zH(e7}x^{$EZyf6M@Tv`gWwu~=gRG6RxSrzMDx%YAY$-=!UjvMI?!A$27M&5!3wq?< z++92LPnuEx<_G>Oghtp4Vag9*z&P*UWe4vy$7irol3wj4!OV}d`y;yN1UQu~O}r!R zquv1;*Ng7nO5C-{TAH{=KBW*Ff2yio31h*CVKgmYM>8Trsv`R$qn6x$n04ox_x_L} zibvDl7Qqmyk8UqS*E#BD^B!S6wr}}qEqM^;m^eh`=(~#g#Q)tBs>gh3R9MHytW3>a zQeu?9JNE8P#o?h@eko!8Hw)@0Bj~#~S#2JbOIPEQyypibTR(La4qhS+iuM;0gqr{? zs8=P9D*S=PkB`7EA?{ujylu7;Ap^5siZ+2)Dd(cY!( zouLL$FVpMvx$}7ga#J&p+2DQHMWZNs>WQ=Doo)-p?lIA1vgwfg2#J}8z9X38Ibois zv)kCY^zCocIcN;Ps$=Nwpt|7X3*9>H*|AV}y*-=|fEcJY4#?``E`j=9B!6@Jf*)Z0 z;{DO_J6Xz+b-}d!0L&P~W9p(&o3~Zr3AAB{5^EfM6-5q+Vka->>nC!a!$f@{PkQ|X zK5g@B=SM=UB06@az!Tt%y26Y@A;J>W>F*1@hg}4f9n!s-yZ2w{35~(%$MF0O76$>I z`dP<~-UIgQQ?7?-6bTJ@3QV4hcE-r2pS{i9J*rNVS3JgyKA6z3E-*O9WKC5qh+ZD8 zTa6?wUvPI=*TQ^Z&Iq$yGxckB6^w)9plO!N8Djvr#msKUA+u)xgjsh1MfT|4ZXndJ zPaoHg{OaU&4XG%AB|=1}npI#|(t?`W1C5JBiBiH3!#kn|Xcj)_R!+^0vvgEcMhi&X zzAn?bWwP_TlVQsAO+JHfq^Z$UhWiOEq(T8kymjgKqaS5NZ60F(X39o&fG$tvybv8( zgTFGG5+J9d?iCaqO?2(oYVBNTsne)AgH}|(HOg||7A`g;&wJOnD--lv{{^a_F1Qa7Vpih*9=6i95hm(U=W9C zr8oYPKX9K(Z2J3S$1&5nSpNwSBAmKp*OpWT{{8rdr^H6ziUPu<0y(w?jqvZx7xF~*UpXdWDM&6oUfGD~&=^zBaExeCe$t)#ZYxvy%wR08Wsl}rv( zX5H-2ox;-)gBTh%CMwB~;@I6|-l;hq)cc`tOW@N1w{HzPl-$TGFMR1s^5!c*1S{VA zC+~4FM`A*rqwV}2HAkg>tzbuVo;eTL{1qoR6jMY?`dtRT58oQ?`l(*mBH)Ye2gvoa zl7Eg)Uo*gM%lKe)%)U{0+W>-e?;N9v;ER>W)w%#;O=|-aFWVZQn~R;=tyNC*BZkSh z5QEij?ASe%Y``v8jTq}LNxVaD4#pKg#{U9%%F z@+jDOAhqxHYu=+vu>trp!)jr=$0kQq2j?Dz(N^USz9{MDQ_mu`Hu``87I9%r3Z5Cu zAyRapzUr4m%0UAP%iE;I%^ROC%pYHjsc%GY_ zb^;v-R?vU%NDk=Q4A_!X(q6o%nl<(_4t@ntEE?f>I&d-1^3Stbf&Gsa0#n-X9Zrb0 zHeKN{_)}O@yyIXV|H#m|bO+oS#AxkS7wHE|42=h{B+|sg2V!f*HL;m1T7|}L8lp4K z#+sAa#@r8^X66*kx93sbV{>3wB*HU1 zMnTua1k|DKV0>(yw&&A9LURc-KfIlKTR}kd z7))yBA{}HhMuk;mO6I$2yO7Se)tQ!=s9#0vd^jI+!MnmY25R*sER}HYLmtk58&3j^ zTxQhv1q4_WJaOGoSw_dU-EY5$>N)@N{I(@S7}56YhIYQWeekJ*euVcL^!`_SA?*D} zcNmDdtknqNtt2q*hQqX2@bV*O&+JP|@_>()Vfgs?&3NItE;1U#zbpgZX8F*245NW* z$_Fa|jf)j-71^UU@Y5yR>hjAq(W~KCRL9Frux~EQ$Z#sgw{(8&24}F^5sM(mpJ_g> z=-bn0q5bVaz8tL(s&LnWFk`>POCrq!ag{o!jYlp0yU(A0nzx(6szp`;`>WSP`w<-# z@7i7H24bUD$d$d9rs_eC z;Dh&XR*eoJi=T6`7}#lS|F8#pb(V1nEAkf{RG`FHasYPMqkZI&}J{E;|$2Qo(N>c;Ny zdVcaje!DC6I042Y5KJWC-N>c8JE!qahKk2X87BPxBKy~1K%@rn6`jjAY%^!E@}0T_ zx`Sf3<_#TYD(K;uHbua|5364+{ue%V>?T}S#@c?1l>W5_mZ*oap%r3M-e8Ajptl6Y9%=RpZc^^ZvUMNcH(nhvWUXy_5`!mDcCrs>$?(7rOJ)ln)i(s~;Wm~C3+_6cpCFk+~5464sWo3hnnuW2Yftah1ahY;oC4Tv2-?4$$O}QtQC&lPG4fh( zaj+O#Su7_#3Qw ziD*S+@fGT*!#VHyDjp+E>5&T1cRt~)^3L(|LWSA1o4wicKcf`J?vt|jO>yOFPJaXe z&P-!3{QQzesJg;Q+4b8;@C3x5)u=(vs45e%ISU&Ez|Ul=GE>CeYP54Y_k}Vca+w0X zvWCaUe5V`ScG%)Lhh)VNBabM(v$#4p&HDdrlWpfKMW^s}4^g+|d(?tKE;k5J z%q_D2fsds`RK$LL?R2eZXxMGZqg-k!ZWOHUki};dDgLb<&4C$-jmi74u?zOw-TN#y zx;b`S$Jj%FTi0${mKZKk_U^LV7Nu8dQ{+91?La~mal#6IwtJ{e0*n(eE~1r_3!T)B zxc4j6RF9wyrr}KOs&OPXY~t-D1Rw_Ew%Yfz&TIw)?dam{BTnQWJ3xMpiJ9~a$^7pu z090sJ;yoNc)w=qFiN1sP0X{{W{UzOJ4@as=yuYoI?l6v)?=y^9kEzd^Gn>&SwPVRf zZ!01~Bm(VCQB5B-B<;NQIPLtnQ1WJw^YH-Zjl87CU{;)M2o*;7df`J-q6hV1OFkLM%g+RKZHl8}sC9Rg;lW~6 z#~I8y`tYuaMo{`f^q4-y^VD3}=ggsT$a*Uj(czX(9>!NcyE%6vxA^EV&{s^Rk%EcA zV;*3g#(BRX)Up#vb?bmw->chN>iF#Ol!fW-+X0FlLq-PoIr&0Lp`47sbjrU*H@)o6 z<8ur*M^P!59D^he4u5e2JT57yrsT7Io=Mg>sM8C9KVNhrzsXVR*!dpzxUWOaMrN-G zwQ8@MBsNhJGYWYpKYa9UODTRFEcUsC$MuXYJ65bzq7ECETQwpnSM@#RVs6xGKCfI= zD-9<4vXkwz75E%_m+x`I8ns69xd3zxj`MjHO}Lj!ohidhF76yN6Tcr+#p;HZSJ=6{=! z&-;uc+{L}n2TXBHkx3xP$_xK`1KIub2@yN)-65{z&6)+mI<7Q~hL9@G?Lm&c@C#Q$9NSA_Y%7Y%YCaW4(goapuT*eYtup+Z`bPTv>O}wLG*rwW>^ixkv7Z1RN!Tk1BhXJzk z76U_c{rmSmLq!5`_3x-2r{y^1j*ufrE)|?=q<-e;)ymLrTSJFVEBDvWKoFgfjusgE zRGi>(i}d7Nq@dqta;g&d<*>rtyD=o9f35ejbB%4G>>_O}5q)r!oriLp_JvHLJfs!K zcS1ak*qM%TFnL7rD{2w!-)zUAu`6-19S5hrTa|usbkptQ&ksLRx_+~^j$U-&_zwHg zca~f9a`0!8;hGwGIML!aaE77Y_dG*KoP&cwA{fX_ho;Vr@)z*<$Y66~DC{fdv-&LG zD+6!+(k0w1CHn+yJA7L1YsfdJ%!u3#+b;t|pD2mIKir2eEg9;yHNPd(sxr=$irRGq zaDJe7#$Fg2s64=M;Cu~v%WabTwc)gW*P$1*4wT0ew8m$r_-Dh99EE9MHK)|^oG5ngzDVN*LaPe!eip2xTzUZ zcHnS!gcxDGvH-k{StJ;tja`8N(Pu|*!59<0N*1Adz#q&?4%%boDSK)VW)+s|1smo8 zPS)a>tIWrjJhk|Z*Pj@{`%`B=uof2!*PLu#aquPaJP>izjxtnE-8`yIt(U(>qlH~i zHz?FZ?6$`k(%*lC_|jJyhbAf-#4`~8kt?Ic_;d@xdJCPo#`$Wtu9W)2Mbh|kpDm%H zFhfR9;M3UHB6J!l#F)b~FM2`L`LGEp_ocKjb{5H8Kopo%si}D)Wj2b~gTqUO+IA58 zZ;FxrFJoIapN6<+yb*r=VLDO9$XR#!OrI78Vxy|miF_R9*@}(HVDFHxvZF-<4=WuO z-ZX+&DTddxYJR#9>X)9;u4I-@E4qLEMMkTBppSN`SWELLQQ>TznXSEL+f+0}-U@Oq zmJ68t&XL#ZWdMGjTzWU8m81ZF37D>u;z<5EdGbL{4jO6S!QxQwQ(!CmJ2v&9>+V9DU$TS@ zH0ba+3t0X}>6B7>P-n(4bml6dV+8a<&5oX`RkwcCz;;qR{d9B4QKpQyEgtab$3P_j zO-1`5@1x#YyH1&&+`HMml8unP<;AAWt-}f^LD7Y@e@}mPH4jjaYvu{Ipp?H%a%Kzt zZQw6*l$y(-M63PRPF)a*v?vTy_1O1j!r4VWapP`mbY=oYqs> zw4ugbVt0vjR%)|YX1f#9`=zYb+jCN+tK5WDRSy0n#18`ang4VRmtLh=%&JNCQw?l| z(u>uEL^!BTGdHww?Q_N};$7*LseP>3cMN<`D*E~EO-o5AvASxLwKx0TOi3mC4BJOV z_s?2J`kM(q!3D5#9a7sg_j1L|6$%dCBu=6(<9d#zigd7En-#S}j0_w6rRBTb{UiR` zKBZ;0Yo{ZoQuQVdr%&?BFX*x)nTgUT1vCau2Z`#AgAOw!?4`^kQaJaDcyAiL=>+x- zqi%kP6pk%R?f2nKPm_!0 zU-ZR%E83Z4XKVVewzmx2(61<@B=q|UO6G&9I%anB z;KTO(E`_O-D=DCtDs=6i4s2{3zI1|6+cNsgUQz5j_JuFD@NMRmA;ou6UO_8$Lz2?o zb+hYtxpM5190q3Un2l|N#p8`Wu)PvqT35iVh~BK0>9?Q9Fc+*kr{n_+ zp`KJpN70&9#?1-W5i`%QMk5>y+c|B9g5Ox+_b+Jmb`_iwNW0_FEK`;6${Ty!I*(@; z_e)1rK2F(|j98p4#`|dy)@Nsg6nC^PevQspcNTvWZR1=)KTcPsl(-c*g zuA|k%gy+(~bi~!wFFRitIqEE*_!-ox%rY7a?HlUYcYx3}o1J8p9IE_Pt%RTRap;v4 zQvP6L)35%)Ir}NJl^&Q-_A|8s{mjUl6+cdFb$*h${LKr1x2K5{q}^|V8BI#HXxbCa z%{<*HeTIsmlF>G6LVo92U)9eI+5}e5&XlWfZD>c^7sTXZg@)qcksB2qeowpA!T zV^*v3u}b7;RS8uj3kBRYeSLU-FlXq%HYZ6x{iOPRiGgnNht~@iNaK0#K)rbA(`CI{ z=`W@8)wzj%itVe0XWP@FYRQ}5lNhW}c?jmJLa-2RG1UF4yg)zRoPj_A-H3_)QX0S0 ztF?MDbKJ}EMI8`>`}w`$-tbx&sY}N>-QrJMAJx}AeD4;Q?w>TU(hmQ5u%lv}IC5{D zO;wQ$QG3x9=Q7oBc$>2TmiGv^%z%e_9k_OT)Fx?WSZbA6rv&O7jZ%a2-A2ec+{-?E zlP?Hf%Zo~blQA__tSCk-{DhNLG~Lz9nSI!^spBdkc`YTv$3efUi<1fPlfS9cF^<=0b@MN}|K#oY zO=PARG5ESyP@pw~6>0Y@wX-|p(fMAnO_wm<7A4=Hnzs|`6EjZn{dlds^!i6zZD z4hlYKdAQdd)wPRicwVcl+dRjPN2V+?2>fUQ`5rXKu32(C_A^JdTETa+&UYtR!sZ^) zH-(qGB7Z;gYI@&b%_9=r8UZ&y=&Kv(nbvcYCzBac9de*6u5$X?f#YXktgMY)=*S z$H%u*R4FKpCU{5h&uZUi-2#c8ee;+pTPfVl8uj zn{rFxWn%;?EtvW3${aH3#~s zV_(p@;lk!j15m$rbzMq-cBXCh@tXxuEOkNGT+5p%L&i~PnVu(y#_3mQ6Dup`PMPJ) z5Gemn-MP!15k2brkIE)S38nAwRWAcrq;e(ql^R`|VdmP$pCKV6bpLr#rcVPxh+<{* z_Zr6%L@i8=w+Bh`Mf0y0G-Gx;Ci+DLp~p)N z3pU?w5*xemgTKqPuRwDXC+8D8EG*&&|9Psh1KK);ZEjFOzX8-8 zSI#j~PM!FQpQc~u<$bl@h^47N-vNXoop+&QOs*PFjY{XBSZwb-tjdlb)q7s+S1eb1 z9)qLVE44hfeqk>^YA75NRep&UAa)KBBx{T3wHhfFcm^~cBzxH(!6|;XGF52Bpnh7o z-f+kIBc@_Dw{<3(=!cklAH%5iJU{mWzBDBExO6`9-W`bA20(mojY;JIINX2yhy7}$ zi!D3iGdsLbWRryyJWZ~j#1t+?P#)bbvaB0c-eHMv?qzfqi$|{fLeSl}1G(E&43`aY ziAE-v98Di5o+R&%sHb0b`Em&R8a;KyWE^0%1i$$I6-x8h<`m9TR8% zbD+r)HolGv`y@tcZ$I|VyNhtUzvSS=dRV-6-)l@9cs-Z=di>FUPF19&%4?tfKPxoR z1`}&X9D+F5|Bn9y>{Fb}Ax9%D`St=|16aGCoQZ1&)5)W$C9SZ^b6k}PqK3a%BiHfi z6252Yg+%B8U5;9JR+GH^d5!O%p>AP*NuGk0CT&LjLi)eoE0r65Iawca6n~Di9)x6J zFc{OmJ=IKp=t_FDvrCN}BhU%%?OwXzpnvjs`em<0j+U0633-l4LYw7CN=g?cJLoYf z1Kz^ppX1Fja@?WDIUIiQmlw4o3EXMXDh(W3&&5<8*5U37LR&4PYDqwu)3qnKJH{3W z&6neIe2zn!>=Vi=(}OPq!u%|3!ExLnCiEE zPc)yRYexq!)Dsmgc?B`LHGUmOwU7J64yT{PhiWLwh}{`sH6im9#TD%pMGjhlx_Hy@o9tjw#xnC`W} z^;O+<@m*$;t2|pw>q548IyhUW^5}LPV#7OyHy(XH z;HoKmYVl(!N8#frRoG&!zqPHCi$~t*L;Z0KJhlLz`ij@?@K0N-N|o>M^Yh_y3)S#0$iBm6Y(N7>6y#3 zFB4xJ-U?!RXG~=d$4Vhf19*N;Uf;Hmc83osKs`gRYUD}dSXBifbOQH$*PzS%Jo z^$nuK)41Q06Q)(tBudcpcmZOc zi9CAtxJ8*b#_i`)9+08Lc&JP>*YI@)?KStj!MV^EvE{BehOhZrG)qXNJ1R!YSX}RG zzZFFztJ0(U#!}*?`%k?waEH@VICz&!xy^FzgHUSIaQ>VA?)e_E-tC_6?c86%w7%jLD;X(Xp1t3z-FWRXeVq=KK=D zzMpz#+~ISPYWd8hyeXnI781RMqjcxHl;fzO#aA&a0CSu^#oiuN?VQvbl`$yG3o@2W zb{(e*vk!QH*H41ipUK~lclaqcDd4HwB2pmihx3}sJm2`h zfP7_`6cuWtI$;Anl3+iy5>WIky=WpK3}5&oYOwJO15k0WBEUsGm0h8f$?OYgaP=p@ z*B(#8z-rlG9n`e@p7J~J*&b`34(t^*ev^Eki1tuHYI1b3qj!+o!IjmwGYlK)_=;L( z`p;ya#?t__`f;v6(XnBwahBMlds=za*8oPNBiflk~cl~1^ZMMp$LEv0EE4h+;r=$d#4fy}OfdAab_AkbVWvoZYoIk0& zX_teXf!F|!P9@VW&7w2wi=dj8Dl zy|8c^;{kg_PlpP;p_uCg&sf-zp#BeBhJzs=IsB%g)V}dRSgXhr!zKN{-Q|D( zf0Dr-%W7l1!v?(l*@vMeD_P_wV(hAHHh6Npf+En1Q0_b;&P4&EI`H~c3rUjAX*RC@ z`AxwsIp4MQe7P^wUX}ef&wz`=trrm)yFs+4a`2!+iebW1kxfzSUnO<@xeYb>WOKFS z>#fc4oK_cBFDnQTnfdJ2NujCbx>X^gR>`46yb-d zOovQ_H=_qWNgOL4m<5N>eajR3rLF+krrFu*mS`gF*}4pXi11UVAVGn1H?sZB5Av0! zj`|vdhx;gHo6ij-)hvlsW2)o-U8njbxX zMoy*D8GFa7fO$T(pc#SR$Y9%-qkX!p<@GD75RN~NNr$^!~G!rK~b+5an-i7m{cb9azi%$x)pPrO+8 zaQsco?O4nR?5b#|$6-4{@^=7=lz96rs>EOg10EDDD`y45W;3pZm>o^H=S5t?IlHM; z|2p=O$}|o}%xe=HCWMNAiIp)NOrZ9v9ZdPSIN4WtyFA;d!@#K)`}j*vF@}rfw>snP z@d_Th)K!e%46Xq3=S%nr7qeKm14%5%zMSsK90GuYo=UY%tO|oq_zw+LFnY<@jt7Z0 zw13|BHvqgfIN>-m)XtsyWFtj?5I@IEfI!0Y`~HHji0@@!p`P#2>&+S(-U4RALmv71 zh9l@FqY#n}y!StNg#B(jotn)0B7gGOEcwc@6Mt&LF*I5(c8AE;J2u@+YID%0zy+@M zd#BIN_RKyOesMdAihD!N$L72USlrL)x{wd@3h@%7JHI) zU!w`BkVcC>%hly2+e{ud4u=#yE$U>N`=26eQ&@OfUa*-X3DA zk%L4PY9R#`54I^4ST`XYhHM?{(SBI%pgfIhdDgK_G~6%0{6 z+iUgRm!%Yv2E7{X9a)5%5Zfv<{mF5dy{*@*qW^Z9t$i@w<|daavZmNWVW~v<@s8qQ zF^1C$wbvx0?rLyE36?6(&k7!b2Nu5I{QoYb2Usq6j7&`Gn@~l4BfZO!__r2aAv6Bk zt)`BUb`!T;J%%I&%helqWAV)Vlqx3(@wL`~2Aj_(JG~eM-s<1Mk1A|K*9^D*sxIf~ z2ZOThCR(52ofY9XDA>$j2I9^Fn`og%uc!9o9*^zj(3dW^yGL{Qj5^83E?gfqEWq4w=F+$Aqbm*2~}G6mK7 zno3#W@Z$6AKts@-@8!(^J3bdJBkdTiUC3R+K7$qT`naXDr8%oCElf)+Xlo{3Ul1>@ zqVIy!cJhY}QeJ-bchvtw*jGSR)phL(0+NCt zA*pnibPLkm-QC?S-O>%x-Q7q?9vW$o?(V)D-`DuQ`~UZjaRy_L;}P~*d(AnY`OIg| z6_LgIo_J)%uS%~+>J7WyzIekaQ~~v|$vg1HMXs~%tv&`fDNDF8qXlgxyFKP3(G{t$ zBI`xk_gnLcvJ5(V3^tCJpUuDVUX6e)SK5>7NT^wqdlf4I_JHNq$fKFxNKiP>>rzD*=UKhQ5D73(2put|T?Vnr$y zs2t}#Ww@siO@!vtQUKN^FZqE$I`+r8UWj(o<3Y!kxH!9ixnASOR+dZsscWgRw%$_JJRCg!HGLQ9`Q{~J2@ zbiWLIsn62;`yRWDiuA#_>Qs8YckV4lr0cN#0svBE@SKMg#$s|~YE=#9rJOQXh~0q> zplh>b;c$FJ)76{O4wklP6S+4m!4VH%ON7yu*_P;h3Dkl{Ah_<`80;;Vln!xw;PH64 zsUGoSQ9lmK^Z)D+n*&l|Hj@4a1Uwdb?+EZrM_wDmC`Y3BeBORme3A9x@M zcHRj4+}OhAcqmGNHcawzp-}F7sS0mXon?ke&5lgpm_Av(6`jl7mUnqi+t%JTiom}8 zR&UVS-by9|_8B16)x4dy=QW9x`g33i}nmmZK=3{O_TdhDes3AHK%Y$L?p@4 zx&&0@m|S3hvOxy_xR|cR*$*^}t?bW&BOT)jjM&^t?L>8-6>CyI&)KH_kPgvt2H!*N z(^kFy00!zvn?ZpZ%n}y$A3G3#q3`Lzif$Y^2FcKr=w`8ZNFV*8Rw}^Ja!J*Qa1H~i zBinrbMKL%~x{ZaAD^&@(LBtha0wonY8oW&I>%mkhu1i&0A9NldRlP{DkuO*FdPdTQ z%jyATZzSCVo~7&=2(S`H2Z-FV!xEq~iEp?~s>~&?5L*!R$+>stqjx+;KITFZ|HtA2 zEhhLsqR6-#&|@A-Rw<{YLrG}M_aRoXvT`)QBL%5NcKFEAqo>Vg+VMA!EV*(k@P;#P z>v9?dV?PQnj+Yy^^z|&w70%h(*km?>3P)Go?CNbU&pR%*YE;@c3ZSXPa&X(v&7Rjp z+be38@!RWsP?A^iXGUt?DIE1-k01k}^+tqd!MgC^B~rH=I3?}LA*TAF)y4OR>PeOv zZ@5_K%(w-v&m}&i4nS4AdcoBv7QmrOi9Acg{^K=8p5uV3Ldh)`j89-R0CctqR(+Md zZPiY%Pa!iNw+})-9s^gL#H=wMoT@VFQ1qeVa<56UH;Q>Xk@+71_!%?{6j+^B0qr&h zdnff?SojM{qiG?TTjBak+muySCdjUrY>ryWFRnzaRP2_?+ zHgxoCW7pA&p=dIf&_lp7{z#TV>DzIUB(%t%#<+_m3nNeNiiV0MQi4FBvoOj`k{~!ht}H zKJr4{WwgoB(r9CC6z#bjK{c-Xdr#JeMit^q|86vYZy=KX*K04W-5ZC5(DexJD2D^m zR%kDd;pmd-J87a{d9g0Kn?RP!5aCM{;7lPS^=K2O;{388(Byq96R)-S-u+ajs5`lA z4#qm!XFk!9prCN+z4$b8mKf>)NGddBv9{8QmlTBq%ad^HcASmo2N;$ZT!+&3ByPwv=5@qfs^j*SbY{El0WCHydNr|UdE#>jqr(E#z zWJX1YaF^}x9)A={LZ^(2kFlxTVXB?D<#n8|ZuF;3R9K^<0ai#HsrSb=87v!rNPOZGaC)pE z_UpTC(IBI4os_zWyze?V`vW>9AQ*HQ7?^6?RWS9cEwZ@JpGohiOj3F@yhSU2fb-&1d!G?K<*qY+80Se@xavGzvJ4x}ROxJrFLT+6jl1oAlDSS?} zrbjdsJn-?=IW$)&umR*BSBLI5h&j1bv!lU8OQR7T+9Jmn7a1Dv0a5{_Eq%jFSDs?? z^Rek(HdC^O{j)MvCCN=qD|TsVC#*dmhYU9m`a#ArXS^R#fkhLpJLGotKslpWFNaGA610CAb0+5*nJo?d2i* zrjVFe^^O___J3??_*WSCZeNR30aZkV0%)#S-(or!&Hc<8g(`WzJJZBMTv16hQOrlY zsM%3jNg-$e&*Qa#I+tl8RFUu;nXazRcD0y>DoFm=hXk(eA*ka;9WffL^j?V90$lWk zA65~-kCf|!v)Zg@(DaDqeCYf(c3tH;3TVH&v14d7IDr1!bYPBs@>RChH?P4MR$4ez zDvjWN`C^f7kr<`{)v#_UF6^8&8mU0)MK|*?ha32-lq(@)?cu5Cp7*9>w3J(kjT+I! zw3&1vvp|*N3-!Y7*yI5E_CyfDQ{-R1zff`;u3*7JJ=bt*)6W3{4XNkX4mk~{;nVV6rH$*0;-`?SGN>WhN@5W% z==?y9X`6bWa0>B&Bcnk#?p449quj&1huU50-OQDRT)7h$A4uAg575ZWj)2-_0LN(N z^DIOSm0S@WaZc%#!txeGiXX%UKSW0IPZnMu{AfVVzz6eBNEMQVaIob1D0nH5RHOe; zIhR1wybguVnYc#IU?#ug%MwcKycHp9ciw>zwjeB-hj5=JFt{U{LxCErF#CDE&&ROZ z=td>0nQ%Sse&^cs#$gS4<#x_oYWKC@bPU##Ol_!le+IYY9=GVZiX2Heb}sqxG0fR+ zgeTGzSu8{bLhw1v$CmgFb_8e!YzGx%{nQuLZ(jx_MRnk7uL%}Jvjr`M-1@zEF`YaU z)3G?GdHxWG>6kBG(t-6kUZUPy_8afq1OdRho-678gb6|@;ExZsiJ4hh#Y~QI#WQ5I zqD)0$5#Ar(w!8`q4bA@Q^CD!9S~eFRl*Y;4@@{0dYy%JUvCosol(7Ty7x}=`i2wO& z$q;;h7-kz5j0p~0fuvoVNO8yat9+6jKsZmVp4K9diWaz=%+6q0Eq%`t2*LreO=VqO zIo+6_b9EC{z8%8Vqm=OXP!bkhliiC6MolRTKg}=f_+%pCe$b_lxnxN#|M;aDW9J@4KIh#g_TlBL|reLXE^ni_6D*FJHA$+t6d^Ga+b zUbKl4mK?PR0GZzWR zg8Tr^isJcdoA3_rXCC_$ec!qxOS$9zSV)eF=W-wGDE-jx2A-^Vfb5HG+=zyDD1pO4 z^9m_$NR7s2!G3RQ@J^U&`aKu5hT7(#DS;4mcG-p;<>DFEf-=15zy*+>Y&F49phA+M z-M6OSy*F2GNKUdV=9}D!&w@|GP2$U)VdXBDE?44OvFfq$Q^r`ym^-XVJ1TE9m%X2b z?a(VcTyBF&hi#Cw7uBkLrXDRkl@c%-HxNeQXtaMh2k#%UzC>|Xg+_9xR;FApk2FD` zSJ%y*4A-W??`d`yJ$q*IQJ);$hlfm*d_N3{c>DoZ3-ZY?XiY)rtio?@ln44ETJxnZ_j(wqx20yiOP4CZPHCr zn74gqK~_EY0(R-|T=s<7@}ib!R^wm4TLWJJiciJmg-xLXcz)8iTw#5jK242xUd~;)|IHZpL zfGdiGi(y|oolwhx1XmZ}_^3aDtl9F}g_YcXZNByZ*Ft2{?lj#ss?n?goQTPlxvTrz zc;E9)BS7_ou(3y_L`if0P|3M|dw5xxoJ?VVT}*@u2a|h9TpDv1u29k7u#IM&VC=Ew z1qs6Z6konETwjQzF&_Sm>uU~<>mdA7b-#dDYi#gQ+ANeoq9uoTIF=+m$G?N+=?T0Q zZ3ltGp@mb=Tq&7G!{$@oiuHf`^y=SWIR@s9v0UXb0*BwM?piTxk%kD<(Xx0 z`JQbP6HWrien!FP4~vH6=&GyZsA{Mm?r#+e#m;$<^jPCF)nM@Elaw%e6J{a+6%Nnf zF7c*38M;7B&qCcf^tIs$%FV5e!15$>yCAlt1+_R99NVb$XxArywIR-M23xX|q__CE zv}~88ArtB0yCOssufL~=xDVle=Jc=4fn^khS&S|^3r=ZXD&gLLg=nz^upH#ltx`$O zCa9!Q0au2;e)75l<=gIoOS(_GOS|QJ(3_S}f3X9y0$aJx<_e0z*`(HdK>#HYzeJ%> zRDzE^wE@McKKdZp=oXk^Yp~{YY&^k!&u9+?gv89BWK2a%o^cOUCnCZT-&=s-%wq!; z_6rE+OBKBashpygB(){7pqI*wx;cHZzMWm^d~Vam7jx5T!3jveOM1`qVXHqSq+^%mRRElEV&h9Q zVSwsV+5Ox^s$M|q-sD19l5h`)Gi}XV8Wb1C`SnT*pq|oeMs#u~rItVWY38h~n>w`= zwu-Y)=BRy`>9XG)c&D7{rv1UooR9TXe|#6@c)e#oIkHkzlxBZ&t586?-ZoKZ>27Zm zsdio>Zmb?xS!9DZuy3oj#9GOU#~P3~PFA&X{?cu2xquZXr~FKQNgwyfS3$`!+C z*v~<|&YRowv1i1GUD7U|r?hnFbpmJf>=0tGT9Z@s1Dl(7I9ywL*!`Pz?0g_nBH?*S zArjkmAPT`_%*A$KD!$^3U&knHJU)Ddws8F;{Sj~xg)Ox5=0{155HX(PIR|WmX$W}W zAc27JC;R&6rN!j^`7=`0ZPM&$XD6SV2>rWvAD~xusQqp2Q6C}z@xVVH``ilM1q-&Y z>gxly`9;E1+vfUYo#Ba%<^9$Lu13i`&cE%`t z+DNhaz&JZ6Su56LeE4y z&P^#Zrbr`7M4pm&Q$j7nl^HMi1zc-ll>y<)0Bo5Wmi578c}`T2M)5Zeze0`_q$F#M&fKU+$&sdq>5aF}C5byS;s6|Ql0F>w;pbm&er6WRs?A$Ah z>r0e1Ta}ve;Z7ob6W}>Kq|7Z~{tb)F0JeR6JbJO! zonq*kYc#|yRU>ETE&={muJCpr=E(3F5OJVL-~L!n^=64rXzj>g-49xWn`qvmbo#Jc}{{1f1M1s7t3R*(Omu9*rK{lIfY- zhLuUn0C8M`ro%wt0u*F_jDG{8zPk|x(UZ>1PPF`Q#)AbDjE07$hV~7AT8#H1+ynBM z6=Qg<<=%_mixI>Vip2O%En%121vJY_={=^zGJedj?*B#6CX|6Xlq9pQKbDsUqMHCi2zuoytilLLB3V)v~Y@ z563{B2biy6CQx=*$$+XuHj|qW7UqP+PD^(N0~Txp?k+4ZKL9_3+hQ=BaQH;d35OEv z+|7MSH%!8NY%gD*+-6LZfL+X+&h7GLp|$C4u+3aLJpTZ_N!z&*7q^U;t<0rrJ5@Xv z!TE-jvPkA-?+uly6i5KIKq~0%LaBkKt&_n;-2E4Mgjuq+%K4j9+?m@>Z5#G8bCU~> ztpppugUb#f0Y?-50#&(Ko4S%FYV#h`&r)ivr?m$wMAU zf6@3F3QLcZT4BnWm15cSAuT({@uAUBr*Cr&e1f5DV`h+9HJI^kPO=NW5A3_Zo14aB z8$$-Kz3PmkPN)ywVJH#-_(lbB(=&uZS9$I6MU@O}GnCr;u% z*%T%kn~Skn7`5=NuWaqcFo|n#-Oi#{l3l)d59II$&hDkD^VI2cs&8uvlM9HYz}d4M z+3QL=gukp7Xf2`h2Ktze5iegOu6aGby14;P#CuJ&o@AHB+<_j$B~gZBl{bz2>j`-g zdrt*<=!6^BT3ZM|hws+}&hBRS_I2 z8P)mpds8bviIl_8Znm72y%ox}7w~WKxOZLPr_7Y3Uvu{>P-IlUj^1p#S;}P!BvIkoHlS@;t%- zYem!tN-daCVMbgH9G_=!eAr{-Q90jUpaw=vP}atriuLJIFgjzf#}_5T)jZY*Re(yq zhjY$M6To-3LihSXGdaAtdkYcl0lvp+4(HeM6%O9g@=PW;hWaf>s7(9Tg+Jyj>B~bjW3sLQB5#BZ>E!^q$O2y1-fVYW5~f`;|IUs*v$EB*w0l}ArO1c5Tz>e41Oo zQlZJx?jbus$RFPEJ^I>4%)wHp>+UoEK^5jchJ^^WyEfh^y~y?C@!p>(wRrXlxbI}04dOJ z12Mn2Ku~viN%;Jm%SN_RSqd^c{1b5eBJA~Ozi}vn?B|)W4*R$;g!rz4B@s8IWnE-I zP36}tfP^)q+q-g%_&jUoZRNYvGpD(7!+#gO+!ef3;vi_%lti%u;iSaX_wdff%DUy|q4ZftL!E%5ihT=i34l=`Zj znZd!Kb4;fp0&g*^jB8g%+7d{kUu^txUaoJCR=VNXY&Sydy#TulYD(yb@(eAdgt34pm6?|l@s{-O5@fcU2|J$^7JI^eP($+)G`FgLoY zDh>ht&%^sCclw`xZU;Pz$vm?y6QA8qcoU*G7f-DjDz_%ZMf*p1`CS$spPISTGO=QE@# z9F9?Z2Z+hwzigE@okvJ0@H%xA1@I&lFf6PW7v=1~eeUmzQ<&)%TH}ZBI8~b@eBVZA z+QLPc>YUG!T~4-IyB5!*hx--?e7X+yS4n1793L<`vVC9vbV2{q;{UnXXW+TWfG&}o z4$D$AU&(lduaq+Fw5DsmSl#jD;y89%`;WR43mj-nV{q70vbOoZR2#oP^$bk#-81d6 z4+m>8k@s7}3v*(N;>m18uWy}PoX2Ti#lPMK+Lr$P^IFc}lmg*c%tI&7b^lXB@Yk;rJDllF7~VG=?Zb4({fCQ{BonuxtFLKGvw)SK1D!usLYe?a17-8GOS(zusUJ z-QFu8*fCA{dn^2Xy+!g*4ZWDacnzqb|FQV?v?o-t*%U8gT84S!y(fka1X@($B7Y{S zI_}Cx#B)}OKOg=Fiv9W-O7H`X5|ub?H}R$fK&}(fY^)9W!`8nE1T9U76w>P@Ymny> zRRbJ!bX;~&#sBuZ#vs97e#OJYBtKwm*@SYm7Jfh;kDVXuzV9La1pr^c)Uy#ivLEd2 znZ;7^CRD?IpTL_K=0<@u0BMf~Rc-Y0-|%(`2nzNM<;{=~6RV67b8%^4PX(p)PEuWq zQyWA7box(=;sru}stv@`Xa?`fy1z553hD0nb7SqW5FMSJKobK#h=y7{b>17|cZ`;R zsh2rvTTMd5RkmT52;!|+^TMDAY6nI;LmX2nG&?0B3Bl;$=+7iI$GbDfelJndsv)b~ z>=zwi!l|CUYJA=#%W%z3;_kh(zRv&f@X#o}x4}kD9gfTGL0QU7J?gjEIHnT3T^dcz?z$$`2ZmCgJeb^c$u>MisWz>jkJ9ZMS^=Io9p+MV#1i`2qx}DwJ z-TQiadRA;ZbjMbN#vR&0rg39^owqX0fwk(~!p9gGzn=S_rTXU`V0=WmpkFc)Y6#w# zqy5Pjc!}26u~)Ol%;7lyIxjDuS4TE4r4D-mzRBI959Mhu7(drFUphlsX!Kz0rYKm- zHV^J;fA+VT{(Zge^UTw^AQ*RJADKtm8nBL@)E?@8HU_qzS5q{JGmCS`oHVDMURcYF zrkk{>RC~go|F1;=fsc>h+b7)HMTw0~{RCkC`YwCkUb%{X>9$PBT%)s{l@$WN9FX@T z^i|WERMp6xqq=$Z2#l{VoVQ(|`W6I{lm)O+(J(W9GMxTPhVX4sr^1i_}Ioks` z$!W5dabRP-AnSH=$_+Vz@dZLUOZ@zN2}-(>X{B6i;N2$bg2!DN?B+!-zOx&tD{;@9 zE;&KB-Jh@i>#qXuIPkXj^aP}Fx)PT%MVnfw7c`8x=PodY#8G>aG3vYCEl=rQoVgG?jphZvG zdrR80-(f-s6+96_dTf}e$c5Ttq&Eq&Bb#x1ws+ccsX6z>rNvyY$=DRV9e+Q*b2DTH za$3yxuDaL4{~az_@WF-rudHN$Kb!=~-^2nLebrVK`2{ zS^}R&`S(_*Il(kHdHVN~BwG+QH8pMQYf9~m7DgvkD;8n6ATSMFS#(|;YfAu%!Mp^c z>(5xgJw@T10B+iZJtUJ<7(xzzJ>yh3Ee3lhmai3mo?`LcKhNYs=q(2awr1s-fF>u1;*r#@Txw2+)4}_`y$x(wKX7T zu^trHQT)Ahz{U2bX92#p*47#5G#XO8yfPSyFZcU&^4(d~s36jFOAAf=p2l&vMK4hyecQNA-w9g?dGVf%g$>O>Yh%5B#v}duDq|O%ygA= z=2%J5nK~=m{i$_!*R@9<=H((!{E!aLyFHgRAOSncLx*%Bk}}Y|)+DbC@%mMi``eT9 zv|B)TaW_#nDa4Bj^QM{Qgkh$prgo=9?|tY4*MFkMh)v)=?|oh74L{|K30s7vg!^Z4 zQ&FsJZBZbFhhC&AKz8V}of6YE zpp2VlKuFVAOo}gX@K_nM4Qt5sJI#jJ!xSh=+ZbNvcVoy;@GD*N6pV+AJPDq`*N=LJ z`D0(K;rRk7ZF|_Adz3D(sy)GfDRKV&HtmHFN-?2q6(8vXT)(pEMRa7F5R{gd?qDlW zN&pB05QI^7_w*F;wG_^-p#BObZ}lNqrrrn0ZTk2LU4*ZlR#O9U>gMJ2*SmG{sVMdJ z?kW;}zrMl@yx!UXxOC|lR6AM{$@h+e|7*@I+(F|2Q8FxMiW{_&`?;&oskbZnF z`#B)sXZQ&hZ$I!8c7p~K(?%}S3t8x+nLUI74nXrZ-(ZsB{6Y$(Wgj6Oy(-TRNin14 zq;SiMZ#k9d!zI=F0G=2>K(PTjDv%9Xo5wzE>h&%LD!EG3Cpc7s2!_z;RAk(O$@uh% z_m>5Ur-l;Jz@VUhpq|Vh=ej2au?|Dd!)miZ=PHh-9GK|i#%zilOQsrGI9VvT@$l~c zW>U1#ZW%tdM9Ob|evGNCf8(5Dd$jXK41uD>a@tys8LN#9(D>E2u+ZvJm*C7k3K9bM zfkMc9Z#WcKa=AZes7J%_{8viz46Nr}yAC0Qa8E<}G|aC@#j}G{?)v195!$4maNvI9 zg{&EiV}Cp_d8qs)m}pSsoB0%9?C8=MqG-gKWQ+n~hhaQbhI9c?L{OW8f+q&N^Ye&Y}WeuQUNHK3MC$fjIJEWVSV@WT-)^At-bU~Z= zq#z?cWWjMDm9M2|G)W}H?=@di(?0p$rnu%`rL0=;$s^_~nTQ&mD}l3%LHU)+BU(rP zqI(oWz`>6QjV|c4NK0R}D9deaSPlYCPPKd~YMTBX6w!wFO;T!^a4kVqnl!``R&6FT z;Oc5o94JvxZ2qo}md3z@9uTi&=21EkoNEmzjpe#QnA2?e{Qaaxq*^?5_i#W6E8Su85?xfR*~+UbO$HZCM3Y>+4xuF0R0w zZ?8so6=~otc3R%PE>`E#L<(;1<$nAA`ufF4n5pOZF`p~KMNJOW*9Q0AB~}f!sQ7r2 z>su_EE{vuK!!jMfPwn^MaLTwd*o2vd&}uVb(FWUffaQk{-A zdtgSf2dPY9-_#fvz05Qp_?BL?BZofFnl5hYareQ#;A#ixw(M+8;)VPaLRz~Fi&lSe zxR6m7#z?-)XeJOVLn>zDBq1&xHFdpmEvrK7ij08wej#7q_DT^A-(GYQ(|!<{$T@}L z(HYhxT)FzAF-SCe7$DY2ckW&7+Y%Bm&Kq{t)Exc*PUxE7rq>nvGqmM zw0)3{nyWRNlgAgsWyk&?na+_p=&dZ@sk|0@Ik1@M-(M@<*HL3ImnVrkc7UVGAPzN5 zp->R?8&Ep~Ba4U+w8w`-jJEH{ zTwIMeQe97uTHlI!z~J+)@i(sf zuZwA7fL*M0)+}x;bb}1Rz~;7%+uLDkfEdQp6P?NdKPEAtdy(C z{O}PF__6XQ>sUv3MrL9V|5)86*@(Hb`7C#o#A^JSO0&tQKCCq}F;9B3RH+Y%4!d|~ zHb(K~jLXi|JK^|8P%8Pc9RjslN@2kFy!DU`p;=Q*4tl+}j*f`p(UU`-OO+B1d-ENK zpgHEp*phKZg+es)SHzyT_9Y31vUMe6HF}M=*v|+UYH0WW$ zPnrzoDz}e5mtp=(klUmLKO-pgEGR07pCCr|Y%C-n>)1e?pFFF<2WzdwA5LQ!esQVG_S z(M5H|jwvV_==4Rixoa31^>N*9M)HuWJKMQzC=G%|BPXxe#-!JW&DM16d)(WqWn53P z<)+rS3NwqRUniFilF`@S9i+QB;1(NX%*Wbr*tBd51Xs){tRd{ItXsG|%@y8zQXi8u z!UuT8+T9IXty}IR<%;Z!)tojKtH+#BZ46=Q(ZW~MO!*)G&b@xGz@LkDv?oriyGdu6 zalK!ahhFEN*t~D1PucwPrq_&MzAtvW8j;93Kh4e(oM9HQy0E zxn#8X9!{=^h!TMHzB#@48H3##p~*yb*fepq1mDhBZkki+bz88!2`14;lZ$2B3t$5M zk_-_WTkr-bg@?V?JO(Ffira0^F2tYs{Ok;wukq#HxCTARW<(4MaRlx>3B{2E>>&ko zdtaL<;d4ydk7-etEOI*=>r`v%R0<;Mpk*0*TMiox#l_A8fKoTZDa!M1v(D-=6rF_OX6f7iPUuCTEH$<%0CfW-4&*)@CHm;WME0<}M&2%C^$}9cY=5~4wN??%D z$G`X#g6zv7f4z4~XekVmDwQ{#$N&IIQBt70%Q;TrdRXr&2QY%@X+~Z-qy#Qkz2Isq z_S-(1e9T7v>kEv@h)$HO7<57@~>*Y001RSy_7AGB_6JKiL*kY97<&!)1v^V%1l zyJ#)p+3_M>uEB0{?6H$xKWx`(OFKNK?Kc{ptKxgYI)`&Kn?u2$kQc{`LjX#peNNK}l~bVaq5a)aS!q0MEydzW0=96u&E>{}uJi zVV+vHXCe5pRD6plER0o_!r?y|>b-IjAYb$^{A9$SGcTrt$RsXVN2y#je$s7Qb88&9 z2gKh%4J+VJjUb<#K%r&}y&Fz9p~TbF460Kx6RVWU#(bKZ+2sHlDW8p2z1#uDbs2AD zzuK|i9r}L1`k`wva3cfSC%QM#=bclYD?f!U>THK=HV=z&2X{cgf7?O}+ zq{8AD46xb#8VLxPb(x}{>gO8W>u1w2N$y&i^2}5&368yg)5^bg&F}34ToinGMy_BY z^$mO5pT~-t#zcusv~i}a0jp&03t4QLT54-LyFC1T@28=!_f2OnFAurngAn<;rAUQA z)+)8TNjn{D<0KJXBPBN%x7Yc7DjMnj7iMMWw+{Ej$}URx-}LsLqwRXC;BPNAi<2bL zTVQZ{obkxynT~)e3JML`1CSNSO%vApeL&33XQwk+%EBIHf)7wJ1_2&q~LoPs-7R8lMW?ZLem7 z#(~oyqu!B6ceb{AK89aBRLEDh?J(|&nAt$R^eIYwA2nx1IxF)Ibv;RS&|!6{=xlYx zxpK8)np%-MH6okS(=573B(mhN{S`0@BPx?_WQGaG*VlKX)%~`sTYoTNlnFgZ{=bGP z{E6dUZ=Q;CU{xwP<7D8ixm&Kj?69FHX12%$@RQI_R<4wW{lxoU0#M% zKUyNR&!4pgsAC?sw@;NC{rqX!O4-`KN_$?MC_ve2*b&k61=tJX_GOyq^!l~aF99%2 z#T1tVr9)>vALA@nDdsGSP=FiIv(Y(WBiUP)uL=wM=}S)Mz+%0Jyd&nZil#+RJWX1N z`S(XkRN~3mx~xFQ1|+e0*ukk~#>PNs-h(zGk(@s#32j$6zzOVNtJI0JJ67 zpETNBj3eEApS#!vh*Q#+rd!&8fllXwVYd&CYb%rSQ8j{&WxyBEtVR)>qN zk!xV6wt`GT{WyuNv>`dUjK(Q~h=<7&8g<7@=)+@vwt4m-vc?TpWR*Pa;BP#JNJ3=Z zAAF!j0a<;wHZsbqI=UQ=QM_OG^`EeE?D^9gj(3W8;C=w^7=y{Aa!cH>papNXEd-cr zV0>Z)XDAsLs85WTIifuuD2Zwk`kv;&7z+}WR8LKpK$WxJQ*eylR!boWBm;$xj=sZg z<;yY;xM{*-pfNuSjk;lUl(54;}<2$4ZShc0yQO# zkCY8ft{9VOVSn)5f8OZR`|W7Z36J|FRK>Wa<*?qDp8}?95xAqGqfzwHnr-L}`y>*< z{icd%ddJ6^PP3IEA)v$o_7=ZXBN038eNKq;=}nC?-$(uy<|0iMdzH&^WS7&~`sN@T z(`Fzk3u4u|JhVGM;SXAP%~!&PKw58QE!)^z3yR}JuXzw+Kij=1!3yM5l_%2WA%+Eb znGGtHBKoJfilYFYpPWiLwVqAM*)g3Aib!wUk-JZN@5t33&z&G=#&uOr#OZpIAc4!C zZ=qX8vTzHZEwON`tam+5?DnCl_R%D=f)@HG8O1Y;BIM*8g1mYr=pf{DD&>%oseYx( zt7&a>{?_oZ`6lVhU+T4gSE?NhfWda{$w^~W>W`b2Dr}y?dI^BuW6Y2sS7eXY%c}-@ zzQMjzg^zu&9zct^w~m&ocAmGF2SUeAlzYm&34@yDwC6b4``0@g2c_$gTbt>TckiJB z15B11PB*5IiDxv5^#TiLf0!z@AR2dPHppcwkzrnSvtY6}w|(U@dIr9M92gk*WwypN zWP#O@K=Y?JzFyjY30$*YFLSh1>8&7W}3B8ak$C_?S)%zUZO&F zZ{?HPI9L-iGdqr2&q7jU$QcQ)b7F;7`WPQ7u#>4T*oP3~v=r9~5Y7>8#o4$WA)OvZb??}^E z(U$rK<6pAT=#|y06}`0(ER}$j^;K)_zv0n8*JRN^iWlR&B(8CO?n!NoI~+Y+TeHU? z2~GliC+OvuA(mJ*6WX)D&b;zk`0B&gjx%Z&CUGM*5@2Z4JNYRcqJhtKjwZ27G6C^I zf;+tzTg%TIoerw|M1O2a>O*Yp=r2hNMC#nsrE&{LMyGr~zbG+v(Y5MY+eQhH|CFOa zP@zj|)Zf$DISEcC=t`~GCQ1V)|k!jsOQ`ikQxG}Q_bt^Mdptv=FRs0N&F(9oVp z3!zfIEv6PfqToPjg(r?NGrY5`QoAqK+%?r|vL*0Xuxcg!1j-y zrQd(TIU$>OV6W88srHwhX4Y|cXl)sO$d`bxR(%?Z1sCkV@U6S5XL~5jbA=--Ki{a) z{yx~?5hcJQUWUX3x4J{QL51@K^_3(o5-q>hNrGh%dV)QKfMk-O<6%Pnww_+Sa26B> zYvv&?n*kInEBiJ()ii}#wl8E!vFXWhY}-~DoM%2;j!dW_rvV5>WpS{w!u!CuqddPT$F~%kSnxv-Z#T);&u=VMb;|zs z#J>_$<4HYWVSK-u)a`QH+!+~mA0Y8XlyX6M>N1735W6R|<^OTwA%#7^Ndfe-xEIOe+dMb)tR3GeXo57E7(-cWS|5 z>B3+CjwXXBLTDXp(-m}|X0}GNWSareQe4*0?$RxkEA7e4o0llAr-tHRDp3ok2^o#E z3`&B~XP#tjRG4y+jyd+1Tzmz_1J6<|`=`CD59{_D@2m16wrkhJQW{Ppi;5o7>p~MJ zrDxTO=!ukbDQ5!FMfcB(;;Zex+7+acT#_j_e(E+3Bk1Tf-pys~S}_h|L!ja$nq|fC zjv^9en+~N@2hOypNBU7+B!Pc#Vy9QH;fRK_aH2;{B59xdY3sA%YY$2Fyuh9hn2MaC z(|<{Yf1)_=*MdBcedfVUZfdlE0dgY!m`G-|-JDGB2ddrY7wb5k4wae>FI{fqG+HJ+ z`O*p2==BD(%>=lti{Iok2l^bUJziSQo}UU#%Ew$~W83dDCb-xc6*`7CP$zIkw&HLF z0pjoTaH4M#=PC$izQUchapbbz3N)#Lf**H`b6T7(ebU*%AJlN)$d`VdwlD{D<9>n) zOQ3{Nvq|q#@|3AXuIM$R3^T5X(%&BJBVdyroJa``TAC-JWSEefa>5zV{6X;UNEx?* zG<|R4nC~RFd)GB{aqA-e`)*CVsjSB1CG0U!bf`2Kc(-o=N{e>V_LebLyJU7g6VFnWof{H z(HGsUqx6;08E0EhdV!<=aSZ=Bziis4_LOOap7l>WGAK@GM_}eCWVoOi-O-^DCB18p z13kVvlgF#bd-A30DiY9zJ&Lp*HdP#QC;{|~^J^7U<^HK5=^#pxO814DbddzTM_@%s zS+=Ocl33z7I5=lwNxzY)u-5F(qQWr@_eh6Rip^Hlm@H9A*s~>17G*oPiK!P=mgdff zcdOfeTUqyg6H?GKB`&{-eQeIG@~~<_<}zl5Es!7N; z?+aKE2~kPukZw@AySqD7y7SWA-FX3#F6m3Bq_kX0K)PGH;r-zA)#v%m`_8<7zb z2JZQsz0cZfueHyOH~_V|OkTL+etpUT6k_P8v804zci?rq-|X{gVH*3k|;~` zpIjOLr~>{2B==%~7Qjt2)e(3MOh`q;%{^Q4uHo*|FLN6jG_HPz&+mqoRJjCGzx;Wj z7>d(WndOg|!DXN7JzGgDuQ8$#T6r{62rx7_jLO6JkTO>K> zKdZ<;Hs@lFa8JZAq0iALOy4CmIaux9{4mv7>$H2_F5Ivnn{;QPBo%i*UExm1eXFJS z{O3cdeiosQPu}yS+hR{+A3g!+e=;3Gh_6f&FKOm3Xfp8Scq5+7>cHLqFh(*)sHc5I zPWMN%5!~ar2+jBZLXV}QN9eVa$-;a%VGhOR`uMZeWz!@#$0+K0m|CLT6XHJRH2DO% zAnG$kItuDELLd-fKLlXp+nY>gTp-?Oq`3)qCLPoRz$n@Ud#rSS_?X-om9t$mhg=z- zPq|nxOBCxDM2hTd*pZTFlSWw#R}{5duCb4Js0i6?=aot*iaC_3PPUf4c1V=Z;Sru~ z6JC2CkT*HfoqwQ>_?}DYRX8o)*adh7=7|KZvuM@m3{+;GtI@ZyV!0!PC$^4Ly_no} zT!%jUdJQw*=#}YgHTQ;LXhI=0zIK;`#2e}5dW~FcJ6)02 z6jyI^Pe*7^N;O9Px8CY?I_lm+)Fy`y&-3t(8V(e+N`M|GF6SiwFfSff&{KVtUXQ4M`sAA8( zPpf+4aHa!1>eb@Z9Sl|O*4SH2VAg<&N;(B%UG7sruchWiF!R+M%r(CgE><&KP-XoC zl2k-BGrhK6XEq+@ztEOVJWW4k5<-}BDQ zTD~ux!qQp0)~URtY)_NZlr-~UHPDIgivKb;BO@@hKO*zT{i4hFQVpgrpX5^Ei46nn zAbIMut0j{=IJ+OAiwdGc_lNg-B`0nw7C+YL92}zEDz=V%Q_qsDk+&1I-|pUhu%pv4oqzZ@qlU4$^`aXKc- z!ySxWtwnX+I73_KILuCm))OgozW~#bw%yxbVX@?YzcD$PqL?lhd zK^92p^DLc)6c@?-(964&eeQ9;7gnGMR&@NJbiTBZsq8)+f^v|?CzmDUzmJ_U!w;dWhya3{ie$_KXdUS2N&$sk+P_b zZ{MitBr!I*TqKtylXHAa=A(RVxA`eRwUeAUi^J>1@clhPW}*QI)ERzq2VyQlCTB9x4u zU*NLrwlFd>vYP$m#rsiwVA?Uqt`Ax-(Er!mOvq`5kIdP;Hw3jO+pgy3o*T5 z=VsV}n&Tqtp5b{FgT66(0?-v3c4+i*Xt9lr4Rp3=G6@*}Nlj0m2vq&4)F*3hcB0^S z(ZI1WW^)S(QkP&?FV)K8r`1iQjK=${)uqUfBEd0|!K$mRiE}RubOhF8QFhDR7JzDC z?8JQEj+|V=MB9RZ@8%>KRI&j8yQCbc%uGFM)-^t0Vy;T4=E*Gt{_sq|BCMoAMnXw(G0r4i$b40|qZbX%ny-({b7^l2#xCl!V zBscL0aSJ$b3LW*{TB3u#6x{O=;}MDB*X{Rhs>f&!z4E3q6GUUYZBuisTC4GIH@2|( z^*0Lx4}fDAaJIP_pc|>vQ!}Qr`yU08`CN^4os?9bE@s8rqLB^q&I=%k`EW3 zjmI7^6k9}%7R#l;B+?xsl)PJd0+aScVtNP+bjk(e=Du0VlND3seCtba9~MsgFd!|n zk;pG1E(6y3xiPRFffW&-QCDjo@g&Zl%O);h#&ILNF~TQNxx_}Zd18;i2mS1o0F6$6 z(c69yvYghH^u21WyET~qLs5wqfR>9oLV|*x6qH*QS=?p?9Hw#kjq4^BR#hd;KGesB zLYZ_x-_x}>=w}{LdbDIMIjx#ah3<(AT(NTDSR)>Xt;`&I*`(MDNB70-oO^OnDZ(7g z)~_pRT-l+--CzuW&QMrI_?e8D;BZ=4mHx3mz(HrI=O@lkH~I&3t4SB&OI99-k4?&%v1c{DZ49Pa)CgP3s?go)Nc|6%gNU5oM;@Xw&?JDQpX%{+F zdT=A123bxA5>~zOR-Y$@&m zgkz=--{CklORU67CC;$6sk@MmP%; z5Uf5|CbW9x)q7LA8n+Pcq>8-?x5&(A{Pe=>wCZYvqse60QE9h?av6=9q2L|WF@m$1 zn>nRZ>lZ2L1Faw%V`h8{mAVvp8ZFbhFVDs8=4Bq^7t^GCJKysF7EO$zu8bb z-JHQtk7>0!fV;j~A)fGAdm&9>5kbSC(FS`u57uM#QYGg0+Vee*T{u6S<3MGK()N^N z6L^T{M@6~*@a8l5uVG&$r`uoN`7-tUR6DS*aMEK5Q z-oeKd!tl-Qyc~Xk&uT6P;8dq@p$GkIBe1T*&?~X1@~I!+JYc-jod=1D4i(h%GY!Cc*a!{n zVVlU2Ggafj>gB?7J6Aoq5TDfQij%mtE}HwCwj*iW4u;tGp&hH`A!xAqi^O!4YE(F( ze23_xLoN3@cs6nZFQLa^snr4NAu(oc2cl>}NFHI>xDKZ(`IOZsxo?OAwDA2YbPfCoBi?j1Zic@Kij1?6Un6dmSJgCPUduG zQ8{LD$?z*|^hyqmmQ8^=5&mtMzlnvwWpqES*viWkKIXltF&)hV8+(FAbD5PfDLm~g zzTLQ-ZZ;-3U2l1FJ1=PrJC#mBN8)${r<%3e#ksSenBDifrkWk-9O9qg3#uo|dck^=a`06X|S_KWR%DQI|gV z-j8!KfQ%6bzd|+x;j?4IYOCmFHZ=@6J{pMz>&oM&T(0%)+)2JN#YgV4i6ZbJZ|7yz0Z^iyj01Y#ZY4w!Xs3RcKhOdH)Z6qSI3pdkGI-6TOtQPlmWCecYg9q_Fxje=nk@gwJm z8p`Cib^-UUO_ZSWK_G?cdko#iSTWhnmrq^?p3k<&M|Z}rjU8EU_!~SD+#%(12^$ZB zLE$@vrVfC3i9Pd1DLY0cT(wGMYbGHCZ1_!{$g=0QAF2#7;wrfjqbt$Z&*ng(d(-I%s7IsHYsc{W+D*J#y>t#CyFX-Dv}O5G3Q<=e zxovG}-}<>e7^p5uPK@v&C<8^t@iw3;q|q8wFCrCF{KVs^3u2O$3(h4U#w`rI^PW_X zt7FemlyqX3^p-=eO`;sBAe!L5g%+;BGm;}8h zrimER9axHqNFvq$Q=z`6fsx;|h2=|r* z09GU6tHiRNUF>8|UP|cf&V&ctq|JnK_$;j&FcWpMz7To+ePW4pcWWv zZe~oYmb>WsFJq4B6EOL(zT<^)F;VO4MYBN)CoOyYGT|6$DI!H@Li zfE!n114ezoBUL5nKxub#Zr$X#8SND2cD$Ai04>VR!JgWGc`RQ!L~^Si(Q*Z5?x^?Z z-^{yRm-iFRC2H2L6lry77m^-GlK;L@{6z_vbU=pW(y zJqqEK@cYRUHD$1-{OiHF-#qIdxyuP00Wc{iMKB&J%x*c}vo=4X@fm0*y^E@Y*Ux^n z_#%J8eB$i204kc~iTWYBk^!!op}ne61<6J($++n^>RO!^djYS7FPRnuGh@Z0q2$FZ zG+D&I>+r|F;CG1z(7(~D4^Vx}_q~TZ-|>MiAi?8y7#Jetn8fb;e}nyarbp5{;jpag zVBpr0LtTu=WGEvFTz4SssD3MqJpCYFi(g01#I%YQ=h>U#c0As~#&bscRz~AjZk!4> zhJ={5g>G~8=4T{`@dJf)E5VU)I0r4u#e?|Ch00#~9|Dt;V4#P~AhDJ)H}Z(@O3 zp5-Jfz_WD&eVYGb)!)x(7P6EH3Vwwt9Bh{3N%DmA3Q4!SiU3xnvGo(~1}%K41@595 zkIdIGGs<#KWY=@Ydzz*4USZfe03gq-aR^~mH4^2VZ#m}}xh=8zGYeq-TT%=!Z|e#xFLK^vL6pq- z(pUa}lt8R7qFq$Z*47rLLv6H68XzXeL_-r&Qc`LPI>bImTb-8~;=G5;m}id1FAnNQ zUG}-S2Hh(7q5&@tJ>$uP&iu@bmbR|0ZfMHdFH(C!!6!$sf7cq=1(lBxy?^-WM^7YR z`P{nQ&UJEnV4Q7stYIxYpNCf-e6^^_Cg3f3u`!7(ow6`p;%)XH544n=uh`=~*3VH; zrWsJ*BwUv--JXlRVYuRKj#p6)w9y{>C=d!oZ}liV`2dIuI*t%4Ikz`9D5aYkWMmvr z=?D)Q-}nB@eZ=wt?N-@O7i!^lPNY-=nGYh{Q4;IM`kaoDK)*c)N?|=+v=|AH>#}Go z%Q_KYimkim_pR)u*m8xlQQFGxi?Z(CU71Bil1=X0u$hRrndkdIg)8*=bCt$Zl*QU- zgXOCJ1}5MJ6a)TwU<}yvmoJmLC7Zznluu!SA@xIK$Zjn@pVM&BL2z?-m$vL{7rtqSO?h!et+tPJE}%5@A7$wma=;8N{XY6TFFk9ZdtG^M zy2bW$Z`C|kb6V{Z-q%ceaU+?$vgy;_6+Dc#iL?e{=#+XrI&o^2te+R_ZDUckrv%Dx zquo7u&~V7qyEP(?s026nsI{}X|Noq)C_ z?N=nm-3vfhHO{j+li=4q7$PS9{ioVH5ZM`?*&bvYs-Tkkv&#H6n-!5D*U8%Sme^wu zCQh_YnRQ+T`po(QrtwUL_M%TV(3+=1{mi2d*$rb(O_uO#b1N zq`klV)DKfiaN=`}oiho#mWt$;`8@DxHVyhSMm#uzWZzros1_{j&Wa_`P}=I{v5#mz zFUh(Mgk~;-i0*ItktLK0q?2fS#FZSZ?Pe0^s!{%?#78L!o8J%HCT%SzryDmFab zYZzwnn+k+u1dUefJ78}H)83((BDKOci1!S^n!S`?GGOFIrcBf1{OT-ZED`I!}8!0NrGV*0Q9230U79v?Yz#ND% zObV$4MwPw~^sO=F4tKxscYO&&t0WQJ$Lgn{?P2mH&}UVOxRm$8!Qvj_?a?+(5o;5h zEqSVb@mV6vT8Rg%zAyh!T|jJy3Ra_19#JSh=x6b}3oafl>ZgT!gS`z$D9gCV>&|4< zYAIugucPkUE)ibSD2dltZt|0{21%7`U3DEdQmTBlc!l`)t@zHPz5l@c_N^i~rM5FK zD+{zJWd%9{ysM|@`#Ln8U3RiqWPCkc8ZN?lDJ1xN0lr+Y@@&_&k|O5{tSK-Wbek9=kG0a>z^xEWjTYG)$y}%U(X9 zh8)WeaOHn5+tpAlJUNyZdxo5%cqPZBoG&jjJnKAeRqb>DrxZd8%mg^vv%kJLjA*(8 zrV=T4F||+a^%cKATx=|Mdm;a4Y5Wp}mcD0;kTZpWdUOSjx5o=*Agk)hl1Fa7NwO!(@G zS-$WSvn#mYrdGQ&hpVMSPw?|6Xb%Zu4g+*m|@?>La`ZjpCq`VFJTv_ z(lEuv<-jlaY|yOmYR1a$pNf~{P~21jBVj`EVe;&w@Hqf4u>|E3`3gmArhm`kxG7ZI zjUgj@2{6@S5`AJdAG>;11Wfgj9t6mxB$clJ6Wr*J!QIW#F;)0ryed6RGU#=kREfQO`D5}6{-VX6UUqI^zJO~83?wkcY_Ep$6~ z=E_&>&8)R|9WJyc=!Mmpd~g^_eFug8z&uvDD*AWlym^lX z5Ls9s93sV27&DS{Ue}uFR9hJ{)Qj;OYftTf(!aN`HJe?>GpK%6R4RVROn)fqwFfyC zHbu2F&h}Sh90j}MawoDmPCVbcq zp_ou5I5|C5Ck*(LW`IAiBH}yVM`NjDZ)Ak0ggp4t-^jBv2N<#cTbZFL>N}p_%o8*= zw*^^YstB2&;^fqnEc)hgVynLjG~cOJc&tDWN$%oVAy%Uo|6yIe2FPrrTUh5Dj8^C8ri&$ym`xVnM`D_fmFwL_yt-{tbNs?f>`8tF z;AY9QAkKae#Y^kCn89N2@w#A}y?;f_f*FV{?q|{!pYk|bb5%)|(c%9jt5{YzWv*v& zGEU^J`4A{v!vT3j0+3m#u(4C}(h^^e4uI$ZdY3MW)BV(}xFG*!NT1@rn>CgmiL>Qx zqs1hxcB^}>ljCf?tpW@TO#iWXT2qnPQQdOI+>|A|`9d8~TJQSIjK=e&nCLjeAIvZ^ zh~sOzE(M@OY-zJw%qUUFCYLW!dM*bc@@uW^zF?jjW=-`ISVf`{*&YOe0{r+ zfx8|T3q(R*Nm1Y3-tIjyUs3of}^IN#P1#~?xE#v(Lz z^&GPR!jJ1@xH)hGqjp*jg>X?XCX8d`_ZA4M(pV)WHY_rDN>b zQ7wnzFZs}h%N^vpJW>9)O7lyU^Bw=xk7e+InUgcsHI5-k5(_~|xxkO@e~bSE1*ZHW zLwzFClQ2^sj9Ca;-$Ul-e;1c{&Z08(*TD{?g*POR*jKVCjJFOLVaaAW7e%X4DkD&y zDsk3kR>t)-x^j=rjP&LHWcWgRgja0g%nxbP?3^sc%wB_HccEBSlD|-c6=`iaT?1R} z+uYk#IALMo&|C`RlY;kgZLj0vnNc3QIgbI>v4Gehv$AICj*%%3#w+}=shwaB&8ym0 zy`rFAk5FVMB=}uG|Iu@GM*zw>*X5egkr{`L?E733aK=vwF`2Py20w_&*bBf$%*xl` zF>d6cg1}{L)#e{WK{Cu`qGA@<%g9P7Z@bcJyYLcNx(8t~AA0yFopq*D=Wt zKmI-Q-xtF1QU@wWlq3jYl8FO$>bUfDd;oLLZb!aj_|I#E(RrLEkFH$4+LpD!x}YcwJ5{Np1itz=#@;`J!J^2`$;l%s$CNkE_((=oh66A6*98^t z>zne;4i$HwR-f)Teq_XFdVYSsU(3kVzX$dIx4U0+)S}lj7iR9o{KHlC#eeF+I;svf z3K0Ovw@qZP@&BVcj+hYb zRR31v-xZKthT{wZG#*A4h4tMrtpBPVqb1%%UGm&Bb8k?Xmvd|b1J?BQ-zgyQby+`vVFjPAA?|dMjA&=vSjLo=Z!8?GmhQ5lv&=w`fcPO7t z3iGqMo0DPWZw8Nj0>??{L91lVtf`u5wAy|WO)d)$2Zze^H%1;o_26TA<1!h-Sph1M ze_u(gE8O+@zKoxr9~23Y@nfuaXS5~d(iq9?W0Ko`%p5|p%iGH>WI8Q}QdwI_uV=C< zv8lA_NF6SOC{M|@C9>5p8IPp;4J6VFem}WK#Z8i`OcY+`>$U}>!axjExdg6I|1V7avgJ0d1f)^vC2)yhaOl|<9SksiwV7Z z|2wvRhu4a1$8u0VrvVrDze4sWh~!9q0SG9)+bu#uRl<4op=EYL&!;)lVx}d+ zbG$H@dy=-~VE3M^u=rt1OL^|r%|UTYm{>7DTdg?RM@-Mh3P{ze!Wo`~gkr+_F7Ho_kXg`|8h|>95AY}jEIq(Jg~Dnz?$7OoYdPFNrnrK zQ+PmsuLN}hLa(zCseRyjBcIhSi>z)Fe!*Esu#}5({JoN&@C(uLV!Dg@O2)eTo&REM zVZMM>u5EMuw=i)Yh(L#9Kyne-t9Gq zEuo@>T*lc>oG#H{CYnz)CLs5w!g=9glC2l*eNE+_`z>}8w1HBDSRp@`PWOmDEQ{$NmF;OyGtdB05b9I|cs@7eEexa9_0fX|1KGlleLRueTE{LcUKemCv$GP45s&;&g>!0*bf`dYI$Yl%U*Yl~Q zkAEhY&q=fNp0e-^OFcgVt8B=Bs*lG*t{WM77sF(;c#~xj3GAE_PdiQ`n2HA=godsT zy>}*xR|(i2;SU~QkA(AMVe4Mcr|u&Q#r+p~`5FSc;cc7?q?$j&CxNpZQ^uE!B55pM z|CF((x^f!X2XJy*-?}NZ6!a;Xg}pxN-WCk-Up?pIwm)Z@1T}>^1#s9bYFsgZ>@vHp zw9qM6pinMyah_<`^tTX%N%I*QP}5=Z9d-1X>Xk724m^xQ@$%#M8dvNuJ(|lwAqh{iY%%3o|!Ip;T6*m7<$Z@`u!{+?1Jg zfbqXIA{7t}`sM-(d@Ur0Jh~!qT?NN|Tgm4R;GlSq0dS1g{%8UJ{kY_Cep_2+?hpLx zk!uLaZ&4+;;XGL`QK#Kljr&G*6JI%E8n|aQOq+WUqf2ixpb{MNyUJR7M61%`LeJ%qzL6tO)b)?K}rswn%B~pai?PnbGu`<)vx%Z?N%7bl$ zEIR8%91YE%4%c@%xpQ2T^w^&7xXv4%dY6?c7<;pUdJV%t%*O9vv{;6 z^6uS;Nm85)8F-IKE1nI;1)HfP`JvRvE2@DLc)2%#WER?XfMD|UKS$x`H=i*n_^1;z zXb#w3yzcsl0Y?B99Cx2IcWsXruUPIFVO4&OE2gh3no&@#2kPOhbI31&l%z$oc$qvv^%YgS6GUP{G74|xbWv5(}q#2E#X z!Y*9S0n9L{(`ZciS&?NkrLd6$V6@>N)cJlIWVsEU+=U+5dO*m!B)_#kG#1a)Pnah2 z$=A|G+&O`=d-3U>R_dDe5+H@&&TM3F0F>}|zTL9_o`@at zj{qQy$r7&kBPniA}^jUVg%&9d03G@D~KotIj+;)7O0G2nF%$F)Y(&`aq zI+Ywm<4RI5iz?D*^n|lk&F@%}&89wDEqXv^+J5@x(mn83_vF->t);@zzb2PKdgrl` z>U}D-kfE+;rmD*NnCK==kHA@~{4-yL3qH^;jXdog459h8nXi1h7Bu*<= zK#1<8r>B>72_;tSRECF<*?Gns)(l*m89_tayR%$tJLc%jGs3cY65r+f>~QnSET8_JCp15K2dURG7H&_sT|5bnfX_a-jcUhL{>mnw zeBzs_)nr~dBf8Rgn)ZpQ(a!B;$>^7Al!$Q=cOSVjF)vBu#I@Az2pUaMt%2T^8^tlk zcXGQFLEXFpBT246?Rf2sMLE+jV)PLyLHlE#=On#!(`($qvocq(zZ)=ih)9B(wl;Bi7HvBZ^1Y=?$`%KG^iDo|MfrWCGbuf22}0{9 z&LLoRPM>CW{L6NTL-sS)ZT!>e2v!J~lv(|XIdIv&?CyDfM4UknR6E3KXRhhyiC(kY z^vb(YgC=R73!*VggM49{dH(6Ad=JxVCA1p{djvPIq2+!*-cm_dzhA7Ep>sc7Yb@fr zddgO8pojgg(fmfAPbfi!ld9nDRePVp_Em(&z+hZm<9$Aq(Lz*h1H0I0JWt-Z=9|s> zRb}Q|xSyHb$Wjlj&3T?m{m>d3OTLZa^l2jwm5+Hp$0$VjL*toW{3$#E$oJ+Gpo#9q z_{<0LIX^{{!_AgYGgNR)+=Tt0O!>ER-okkQE`Im**U&^1(s^nENx?T`NOt5#hs)!q z-8gRO>(XAb^zV~s&(RokYtuA4RPiokQYc?vX)xwG&3UGeFGPQ8lPu{kWOMy`+ZYx8 z?&ejNGN>N_HUp+*t4HJ5-K5Eg`!#i?(!^Hrf=jU~V3XvueSSPQ7%KGqc+zBJm!nGW$!gmf0rt`+M0l z0%k2~q#>FF{K=z2eZsbho#djnT&mI1kv^KVlo7n*&BYc&VlN((x=*(Ed0$WMvr$ex ze^lARGGYpiVA8}lg)=Deq>MM?NBB=Sp<_`dt>k^cm+6)?CLXOOOltn|f1(ZnKnzE| zA?5!?h)5#7xmlM&YtT#`@u6i{|Wb7Q8cgscH*{MNu2r zZ=QR-RU0ulQgIUljSR9}fvQbY0U%f%DWNHv#wuV}?0EAOIIx=N4C;+Jf+7~P2)^#D z?0q@0w6>d7FDKKws2OPL!q}vrzQMg+uNUc#$nPBk>tZOI2lS2RCYS=KkhNY*)q19( zF4X39isuuHjtLm22n%`=wul{kzBYp_f^9s!S9<*Q!vox9exBmdOJ4@S3(U*QyTWE} z38W|^DJ_k7GPak)T3x0;;BWq2pZBA{&YL}%|N2v~0};k@TnQH!-sXRKtWpQ|_K7mP zhN#Q{wQ~1${mTjb{FtzzT}k8Y=7 zNStS9+#Qcf9Eu?^mIl3EhDp@E!kxq@bXZ~`mDiTy?(UF*1pSN@%g@TV{T7Q_%n^(q zlgr~!@f94C6 zMB77fC8%CqQTl4LmWvS>;~LyRJf)6@mvYe+xS+9Ic;fC3?t=h-ptz&D0Nxg%OJWeZ z6E(_j)jqOdP*rJmbWRyaQH=gxS$SzxkW{d~jrMS3v) z=-9THku!L39RzGxW-3Syzk<^cjJ=z z@Ch<|9Wxd=5t7nZ#Z;r^uiv5ha=Dw~;mXr2tSP<9L`%Twv=vg;4lQ}fW0cYlDz)h{ zzhC>>WX9O|4%q_`WP{CRuVyuWe5f*hALC3qJHBW{p3YlPRa+7IM2FW4hi#Wrayrlw zMjme};b#wlxU61L36HrZg37_A+b}Jw$ImAYE-ndrnskT+82&b;2VJi}HCXHO969>G zJwHDEoaERi>1brHWKKYs&Y{8n+-yd1Tix2A%{`!Phh3He%b|NEkc3Zdf0)Z=p;5t0 zVuZZw%C5bbRL?G;&P#0*isv{ua+kOZTF!|HU~^V95R_$su!5Up^49pq#vI zY3$5hc=5AFk4ko-6%^4y^Iz-@_|MUkZpU@oxtOapWI{MaZWFktoy#!Xc<5j8e9 z65{_)|Nc$eW2}(K?u_rv)idd}xGFgi@#35~BzQ+$?$ZQGnfkxQ6#z#s-pGCDnG~bW zrMP;p3c2P%n{Hw;p~nQOI~hx{oo}nAANdD+XYsDNq<3pf=FP4$l)BAzjaLuN7M-kw zdY*d;@&(I|Vd`rVtR+?uh@BgEfhPn-b7{u)2Mo2UHz1`1L0s$2YOH#pdcoKWng8Wuc&sGuoNcLils1mk!L}&d1?b08hZ=2$GRXPb0d?QwV2Z<*e5{dYL zp^mmje2?T`72EH2aWcj~)((dDnO^PS;Fdz;6UvfT2<=`XfT&#UYPk{x7H}fOzwNKF zcMiuwS&bBMt%<=k#Cl9wz$LgDueYnOE*R;PJA#n0so%bRJN2O_8Mv)wW@-Q-c7^HF z%(+=?3sQ^si8{!SA4^o0I}E!qvA0+o1?inbg=DGw)(_$V5p~;|%9-jx#gExRyBxH` z?GCuJt=>c+d`_t(Wi=a@i?3whqdRSLnxmtT3E4=c3U}jytz9yXDzo`oJr=2@HAs2J z@%dU~yV>Yh42asq_9_>c#YUyhS?5|fRDi%J=X9|hMcd`$ALegR)!bM2@Pvyj zP&xOKeO(DPZn00485NjGfD=MkcSjojfnWH5XcMG6g1?!NP4=hp1TdZ?zXfBldevNK z;a4iG<7L1ckjP$?9jhZyfy|){K_-$60qm_WaC8?epi9JyhCSE)A8|Z~Zl|7y3Ig>U zYUzyeIc>$xWOLH_THPw5o3z8d=xM(kQBAAXC)%w=ReKR7hLbO5DJILkjcnB_de?H2 zQAtVEl0?`pQs=O4y=53JAN_@e!Po^|PJx9@X+d0p}g zevyp^jO!gU8!t#VVK!*l5;R6FgH@&h!Z?=k!7<^!$w5wcTEOXe&mef1e%4gUA~Td= zJ?PoUj<9B#ZaKLcwO(XPD=!1y)2O`w!I3>Jv&ojKiI(v<=EC&wqnImKBdrp7tewF% zYg>!S1``EGBJSV6(IA6DQbviy)aX2O=IWgS9@HJUm-)#|wm{3=aUyM3+M|WFDn)|& zvsKQoUS?hr8l!H9Yf&F^IhClZWX6cemLGy8@~kGM3Dfx^xP?`waq*oMeA}OLKI0=F zr81?y9L4#{U7nC^A?~f1nWO(R2XNo9h6w3N$UEg@s&ebLQ0pj=U#ZwcYjo&qYP8&1Wo<$*MiC&uhz2LV!tuI5muarobzFnmCNqnHSl~I9(cq_|Yt&cT{bXV5Cb>NzvmLB9pEyWY0(bV^zQ!*u@Oef{ zLrR>~%M@R0t)7K9b)5T*j$>?vO@Icaw2q6RlwvHLz*=jfqEV_!g{{F3Vxb%Y&6B4< ziq%GQ__+yGF%T`$??;`z!ubqV8yCA<#7cuIgE_1Rnd&?q$L~@Gj19*x@kXp~4ntl7 z(t=0clhyRL-sxuHp_{Kl1}NDIIxsdPKV|iR203_=nI+v1?}N1OPg+U^Y(OBO$%boTlw2`D%Dx`vvvb- zKG9YlAF;ww19i4lr^>f|WT>xC6G@3565s3|SV|k@ka($<7qGsN(8a@`X!HY) zs8tr?)Bg@gdlRUczlQR)>S;Ulwzx}$88)O1sAi2FU!(DDJTx-a_x@AEcA&$`1Aa_; z+3JQ^&0<}xR00;0NLDd*C|+S{ypWTjk5Cnz z8Q9nB87+rudg3xzEaGCUgC{EFt-(_XP$}A*qdJ8q*3;D-sfn|>FsHQ%x7IG;Iv2ID z_yKr=d9E)C2vRt@jURZ*W-CS9G-nyLi=I^3S%j@)oxu)1KkA1%K{Dq&g$SyW`#D-! zJ&8${ZXu5Cm_mJQOmbStN(he2CBp?^O{d5-+grC7F>AtXrOm0RVh=&bT$NU*vtUNT z;xTa~S6`JA{Z{XEa2Pm&-YA_Vx`>yA)TXh(=t?0RY-w}MDZ!^eFe_4m%;j_Z-a@go zq?`}At~Ep<;k>cU+|RSI$X?H(y&Az`d^Ll6U0=i&jwCC zo*ocMN;q%r`c%pn+hEypN@M-t=H}*uPQ6Sr(A@usq{^2t96g8X>xa5?kHK z^~jA*e^s*YbN=#~f<;_%%t71Geob$)P7dU>J^qctEGD{&&MQm(TSTX$j_f8|dh%S|7*S6FQnIr@jQ_OYTY z!>HFZs}fKuJG?KuwbZ)FB?LAFqohRgUR51taAPzYF$k0N@Tl0`_hN$ctui(<`Bo@{ zGPLA%5twhUVOF%Gdn4z*{-qv)2lV78%8iut2F>_(IsM%eSZ(!E5k>3!cKgG9H zCGcS7jqHvh`PX0-^bCx`NEAQALZ*_Y8@2GOPnQ6hV!k{u3~@eT)Wcsmm}*P2S+ra2 z-MbMu2`+2dJ-G7bu_-&?N2`ao#l&KG2V}kWs)`@22`c@t0oLdfdX7& z`9drS%>>VS$Ko=ylT;LrJvl!@@eIG_y9MAiC6;Em*ElqytG1~s(Vl+b=O$Hlp;hTS z;PI3et^O1*zszJIS!b;tQxXQ+w|Jc&q_R&W;27sE;N> z$9e?=uvLlqaJ{zGHTeZ}h@4i2vQFgd++aiKm#*}3&~WbHUGy zJf_&))m5^S+#o955l&20I8~O&1xw?xUx5O5c~N3@dxMqS0GH^m3~_xHV$kWw1@G7D zN2P{g3=_-n>rxBYv|cBHh*0rRBl;=xnOdC-)dOaV@FGv`&b($1s~wNVr_<@_?A0+X z_=RkR&KuwQHkk}$wxt3V+Y4VAXgz!n7T7$JO6U4wD?xKy6^crl1hOL|Ba@QJi(^Xe zA<<9mnI@gBNkirI0(!5bC5Z{iQX(GE2n}0urJb|%H;ph-Xb`KMo$Of19)yvnp3 zxizA{tT}30Og&Faj*f8tUGd|<<>cmW>HW}|Ebb&-DE0iUobzQsTsqUxQFQWs=WMMf zk$dA~9Y@`t;&?EDw)3+Ek8qy&1Z5gfYtKU5Nur1+#7-=3qQFAi&>IV)0G4G$S9kXv zco&yf)7FOn$lKm{19uW62EC0=mi=-af0Pb7-r4^W3RUJ$l-1WryDbk6YD&nF&&*b% z$51h-RwDGFi7GngEOgXuH7|tb*Lz*xQnY$4(CD?q4)lG@$foJx?lLSm*IIjlj6AKA zSj^zE$0fV(9+jtH0m%_s-Gu(YmB}*`Q866o)7-jQuNMS2pGrW%H9tq;^2Zy44}OGoX-_rL_Eg0g17J(1il zRm6puVNcqD618^ffBR%!4{aW!5N7P3>ly(O;{oPPbx2CeQOGq7?lj)<*Xa zP)>~`4S5&wE(U1 zv2u=W^(&-S%#&7|?FKBRw9-7)DbK!TIUl5S=dMg@D*{Zh*;EebbhU0VN#uuBI&rMy z_29dw%}|37c4#m~LjFWqul#qZiFw&{@teixz1JPK#Bj+K4?(n3$lvp~*)m=u$5~=W zrjS~`jOo7tTIt_MK#pO%92PSGYB%rL(h?U_DB}-XUUkDyXUS>@)D~gyUS^Q_A&Jtp zJ*95P$N4m+n8)iaaKA{XXbX*HKL4w?5$s@xTX~QhW7dYO;=DA`QHM8A(N4?LjODbB9R(6 z#iX{YuF$WR+m0`+nA`S5TOk&cC2=h{JXOcbhL|L3jql{oHy-vo>?ac~uGPMu*z1XP z6*16QIIO;Eb#5`FzORZQ14^ZzZYralU6Y-8>FL}_r9ZbHsd5@}uGeb-(OU$RQQbMq z>!loPl;YEO&BZ;FG8(|_TV)F^S5a~~%(yUzD2c|G5_AI}i}oT$uWt=B%xjli&sSc% zU+|0Kg_E_>B{MRL4eIe$`oW)BRP<$yH=Z9(QSukc#d$5lw_?-^8Q|zGgalGPPqE}U z#N$&qAkZ?u0naEisO3i8^C*6?gCUV0$p$*`mhAJSfgqVEpMw$~ZT0$JgGk!y#a2jq z_>HYoS1KNsg>D-utUR?AU)UgPhRf(1Kj1hG{cj!O*=Fc8^LU*{)0C&vBtZyexetvS zF)WCo3HJY75brFwG%DeD%DLt2KN>jt^tV;U67h3y9vg(9#X6{jtyrpb1OmEK-j=?8 zktGd?xhbqY3Z><0k{{@IoIS~q;*xbOvOcI3$*-y>vx=p|kuNdaXWs)F`J-TO%tmf8 zX&F&gq9w{V4ljWAVC)c*E4BXd(qa|8e5aL+Z!W`d8uK$#@<1uahP@TeLVGsM1=o-N z4_|))RAu+Rfx>{GlyoQ{-3`*+-Q7q@cXtTV(%sz+5>isq9fEX9cS(KE2J!vHl+)%=TpC-y%`77C0Ieyv>mqEiVhf>b5ZWlvQ|H*r zN(dKR_)x%vVTf5iCnf0aUFPt^GzEaz9i{16Dvd%PCA>Gl^ z6Q!8^Vcoow8gk8s4?I94=MTcn+Z*d}`l9B3BJahlSG3nf%f|0km0}oa&q?F9>ZiUk zAx7y;k7|wo$gN>MGkE0XOyoN*^{PF%Wur_VlAZg?jE=!=AS}+Si5PJV*nrUtKn|tv zYST=6ZiYKB$UkFDY4?;4XdU}G#|6whEl?D_kOvxF%dC=Hf$(Z*Q}o*+DH3lx`w8!> z>{;+(NTNteWlHhXbyOFCA4bmqLbDr&1swjd;Hl3aOjMH6{GysZ>8DDyp*V-jQKo|i z9^QVfTQGM)E?dS4xS?U~RX?mJ8->*;<*oT5WSU+=yik|VJ=wuo^nHGPBW<|36|IFt z%--jJ$|MGtU*t)mvEazeZ6!y3-dr)g<=lyi*?OI#xG+K)%5>e6Lml_d&B-JSg;f1Y zy~Y&N5d)$mi}~*My#~R!l}@9RpU z;TtKKKW0%7WOkpH>i_uDNe*JQPIF-}j*faem6WAn4-sGy6O&-ypn~(1*I&_y-VFQ2 z_AoP}^~;}Q*nX|F*Ak*Y^9z8YVeb#QZ8epz8ebvma zT&@xbi+Sfi&&^ea3-@jnAcyQ*UjCpxNj#GbAKDS&d|Q|eV#typUf#w@af=WZH^=jv z^?Mr{1q?O(`ldhYhg@|;yQ<2!wgfF}hyD14V%KUgieG6rhD6T(AFlpjTx4`4F1awrN`!$C*Fz`; zl=k(KX=7=SC9Y%2hv01V>2uC_Sd1A3RX5ghpWf7+E#!WuY|Hyn&;OmtxX&##*?vbu z=ckL+xw%S~SzNzdUpAhEeXR)+Q#CfkYjf4S{k9*uNEannFw)pl3DqAj;x=cT*QMgr zEZL5w-cDdQb(x(gj7?#S|bSmKL*GtY^ds^*y@9^T_)!(U*>+(cone0JJ2A)Nk7$>D#s)@4`pI zz>t_JzoiI{c+hDip9*bu-%TEpxx3e<-~U-Fq2V$*4zyq^T~jJ$JCKBgDHTjs&jvF@ zegP|ZE0x9pv}K^89`_?ocLvbEEi?E1+cael$)+$a-TadP`#~pw8V|x=PB*BW`u(06LTDK?O zHs#$#j{d}iTYs4zQd?OaF#{B8=AcOa)UE3vYp(t|$5d8;Ldt$(e>c5U_+w_sG#-h9 zJtQh1jr6=kksCQmy+DH`IPip+n%eVM&by7iBoGgZj|2qZcOc2z2fgV*wD z3A_(*k^@^>xJl#!&QnlDdi0Ck7dj;T1FQ0Tw$=o_ zBC)>JTw`^|T5FFH>(VwxPxG^zgr4N@k3E>AFgCHdIJ3R4FLg9gw2ZhCrhk61(B6`bazh zfLcBH+nSI73&ul{qT}3mCdFH{`$n%HCX?ft$M$8Loyb92731_Y6o`{m%0xM9Ew9}Q zIC@q?;%zO31=rld)EU*uTG#udge4yS?A{vylzK4JM49ZKvz4U6A(Kfb%#~_=5U_NB z?GNO}=UvZx(wNNnj5|%$Ye%y6ztQm~U>w*SemCIo-lj~uJB3Z-a2Jo`Q8AZGUn7m$ zsj=uIgdvowhF1QnBwwbe2naq)2bk-%;(nj%@T zM4>fSU9Vc$U~Q(mPGKwTLB-xeGWE8@k7BLY)L?AlwuZ@j96!f9l-<&9DeAq{Yr1#4 z3@)&D&2I6r!_yW9OqHAvxAnST{n1D_?2qPR#VB9`W)LGaeRuk4VVcU~TABG}gT4cH zY%~ctds>Nyt*!XJ*&7myi0%%uM>sAe`EcX?R-N-jt*i}1xA6Mv+QUMDB&O6uryP5f z03nHa#dp;0PZ2!Rjk`=%Bs+2kc|+zHV^fk_4qgV>pmqztfY1q`*9F@gqAeWe=+hZ6 zm{2UojV(~#u(n2Q8|x;59XkV|^RczRnqYYYg-~ZFDER%>E8U>@+6c{ETHKHt`aTTY zeHkkmps#st`1goDP&tMnEVy&Y*y;?_SFLuBHcY1$iM1LN!VZioz%lfWvQa9^couP~ z47B;#&8+SZm$hXU5bD!p8ogMBW@cZ&7Y%)j1*e76(miJR?c&`OXS2uM$eDBjMi=w_ zsyTJyNr&UhSvJD`R3wT^Tpre(THDO ztk;c-4lyj4vUnm~qBL+YuX7eV3)Go#XB^U)oS{GkV&>#mdx>D7(YN|2*xq={)Ud&p zJwg&jE#gLhJU5*5N6@#POj#Im#c%oNqq0?2Z1D`ha43TC5&{}ff0LR3sA3(UM~KeQ z9pr6r#m*;f*Inkkz!kaUU{b+Ta^WeN5hD9geZ=P4P)MZk4OzKVBlN^uO~_5NF53Iu zYQU}{?$0~acUP9!wv?(gH%@~%1QPd|j?k@;gv%={1l&@Hu&~j?%Ou&PL^;~TzKp&y z!FnK%sC@;-B?Obbfu+J?d)%}jI5xuIogj$$=j_k9xvA(q?MHK#TW9I}6w(6}*O&`u z1kDW0HFeRsibup ziCT4ffyM7Qv8EXAzFz98mWR46j=2>vHsZml@RlVGr?`F94f6RM|K1&=Z>n(!lTt4l z(FXQsx~{kBPnyLW(}`Tdhkm2n0I1~Cg!?SO?fjjvgn%rX-Z%YKott96v^hgL36Hq26h8zRR8J(X})qkJ6hxQl#@$o@VkFjV-E;n|o6EvJJ z=_QDb@Is=UKCQ$qJ$0_m=Hou*nE=t^*y3)9cv6${ET*Ye9MfYH@@r7;4#0E+QaqI+;=Dc-s&Nae07bz!m$)8A!aHtUt)HVz8h@0Pt<+07I9W zJo;;c8%o$^cacT9IcZr6tr$}t zkO{q&`G$pegD;D)Gn2=B=em(h8xlP+g7xJ_Lr9af7N`#za>-bolRhOOTlGZ2MnEF% zQlsJL<(O+)vLzy=Bi7lQJ(%|v16k3aupXE67mItRL5t+;JB^*GtN^9Zli`-Y$<|A9 zZU$}KNJR!&tZ7LU4LaQx{&`)~(3x8yL|mS%B!e5GvJ#ZAch-UOrS#j|MQQPzMfoFy zB#+RI6YitOp}KKf!Np!QKV`}Lx)s3TIX*1aC)VFbd=QtUMX}U}hCF+7n^CCtnTJ+A zempl^IvkZ^v3A2d7sx2!u$HFM(QE*NMLz4klmliK zrUxV2jztiYL)!S6QIp&?8nZ?63T72v1$k7WqQAqSo3XnHa8(P{qWqNBJ3YG2cWO)d z%Zksgw(W~NfnZy0vfK!QE{dpITBA)8n_ZN-s9W%>sfwkS;$!ka#rfnOnJ9Vxt4o|o zuiqWpYH|5!GI96eyoUrjt7ar2U9Al>%FvPC@ImOL*QwMJAszuA1C9A78!A_>(O9jXQiY@Sb){8{{UI_?)X7eh z!aYt(5##v6pmP(Fus6;{519A+UDAMsEDZb+epw(Rd!|@$7+|4ug+QFequL|D7+=TV z%u1&rot**{_S1V9Q(w4%M&Cl_Mp+bgSFSHzhHI}Na02?^s7+yxco)@DV|S&SLIMwq zw3Za7+RQ+Q(3N0h7i@Hs6m^AvgG+pFmK%;|WpqRv6pQ(yE zJ|%&W*cYw--`F=0sg2im$?_Q6SapXL6q8rM4i%vCxX*gv0}6VP<_aHAq$`~N(CsM4 z2#qF%PH*4hw3w*z(mM~AHm!Y~Cw~y%yIdbBj*lVaSNB=ltxzn>o)r_<944Xo;r8b? zkCJi1hKIezh{Zwt##p#aN|N^l^#uoK3Z@&g>=`hY-~~^Jo%xzEYYVHy?<@&s{-#10 zSrT7;Z`iGh1Dv*;UgkDZ^Xaw?*;POZm3aCiixtG;T?xe#Xjg7x1>{+GT zd)pgtrq$mY8?l}avj2D;!1Xl;!VVj5*QwK?dAz&Gk8p=`RpQ$Zefi^ZQ&qU{EdHCV z=UMq%@0~x2$F7@)ZW+n%#t&V~RqHHpPSixq69jkIB{gr|Fl<~%{n=?@w?n?*5z8DO zJyIyES&W{Yo$cvGP|TOgij76X)1t_S1ho__5`CaaEqPzV_eRyYFzYpN6jGVTI(Tu$ zJ}t7q^njq;SLw;J8AgYhuhKoF`-x1=^+gfhW!}d8uu$$i7Xd=Pv+Aj_;oP6HKMmv_ zmD|0&0AcVb8jOF?QQ6q4(d$_@2Xg^Gh33c#=ALxC+~WbBW+OvGrXDm8Gbt}%lGuEu zvSLu}^&}+2+u-&W&RUYrAs#k3R#V9G3O)5={@hb1#rk^N8)SzJUN48S5=mLB8ru%~ ztBN_Oy=)enlpiiht8Ds6T`7{Mq=G{8C=zrHRd(hmY8cSde!g(%j-Da*UH6MJemnDf zj{JTs`80Zt5hJW_FN}w~HiUU#-2aD_fkpv>WpF3zFLUZ~N0VRui#t5(bn?*qw-7!w z2DIvz^HSKV&9bao%wI@l8+^R9zXqjypUI%t)a!aA_UN(+)C^p1a*MnepUfzr>PeG) zZ?(ZOU_|DDLk&Cp&(^m)0RULszWr)YHGFMmOl=aAk9M8 z(};*1`4B`!P9FIYy|g5*tFL;_rkHt>cl|tTTb~ki49m6UU)q8O!SYI?(nP95O zgt7eca#yg;YOc7^qt&asVJvw@!QF9+dWO=ls=3NC_b9AxrqezjX&mQH>d3ex^oq;9 zvsU21ES%GPj#*(*q0D?w-gAOEVH}DmP(sf`diN;w1?rD4`Juzo1p#=T!XvFsVkpF- z#_$9fxoz5Y)4!F6IyPTba1#Usv+Q@Cx#VA2C+>2e40;$a1g1~Bz5T8R{wiF?r)`V9 zfC+mmS>)hQq>Uu;v82TW1-Sdt)Z{>`SS2v?L!6TzO24kSAC{s5AYGw%JhcA|{e3Qw z!+BR+Z{^&YSVZ`TSR?F>W=#8f26mC%ULEGT>2yw~0qIceW6C9{Z2ip{B~S=*4_B9pp` zrBAbW|4uX2`7wKH?(aNXx~}z+llNMSU^CJ(|il4l7WZYb*ZaZUjIoBi=88rzN+#Tzk@2xX;%bS0$Tx;_41eck6AZ_nz?v%JYj`5hXum^I;cnHNhtw-OijZl&EA+U8AjZZ5I@NZ;Jt zpI41h{ODb{vFLSrtKmv%BZKIuk5eF=QI|){kpD=Ghhn}rTuWe)>eL?C_<2JLjox^ma(Rk)aSy7mqy{b@E5vkK| zHbxz#HhAQ3+pEgHS3>rueu~W9c^HNLN{Xgz#I$SWV~bvu0KUh1Id;*Y5VYagbh6{_ zJU=>Yy?X+hFe*ZwY4R_{iV4YVU}SguZHM+Srgcob7!EFm#BtRa0*ov*PO>}21-i$A z5w%y_!`vFix3&48{a?h`P;8;--2uadOw@2*`T6KQlV?qw5d~7skrD$`VcHiMjW{&3 zXB4PGhu29j6oMaa9C}u}TA1nv0x&IY#fym5L_}xl)NBjaBbMBfWi~L817`xRX?-P- zJL*LIEsfy-s;1T(Pv@_Rk0aWz$iNY{{%oz_B#=hXm(#8Y8UV39exPdx_3n*L;`HUB zi;n%dyVJdJb6?Mjw(KFR|H};S=s&OfGGAqQX}9{f;30n)$^1B!EWT=JWR%Bbe}S|5 z>H@tkOGzDbN3`U-(v#f+jzQQd{98qlPTUF|6;*I-tUoaAtGi%$4=EBl`V_ttY=$_2 zB5Z~DP0I|H`~90GFNleJ@&L@TcxnMRiJ(cW3Wfo-^|i99Fermz@ZUjIZ@N>M4QwaW z<;z^7Z%!a;*vu#+HBxHcWn8do|sd=S0aCGqE5#2PsG=2^TTSX0PmHAw$$_m^VS zY4sx4HKTiR@ecg9b5k)qRI6y_;OH{N(9+HQhfoZf?CwxZNyRi^u&Z<$#}roIb-0eUi6Mxytw{;E3OM$ z^9L>W@6r_m6Q85(Jv$BSaRSJ6Z5+=mlt8L=Ei)X1iiU>8i7uvQg3uV~!yPzhSbHF> zY7^k2V~jsc(w9Iy{)nK8WB0Ohxg&v6xe2Ky_hhS1#)U?iNrGfi!rJ0(VgF_osmOh znhCl}=oYyj(iC0JZHu8z58B|`2R+ll0t-GKirFKIr?WkL`;i_^e~Bz6DQVyI{yLBG zpgk(k#RGA}rX1&>ESi#B>X!G>^#K(HwR^)%Mx{%S=*eV6NHtpBc}pE6E?y2L!d?*Bb-GDl~gw2>-Z|+T-}=NT$LlL z<*#O6FWrY4K^NE)+0p6|p2)A?j7Rd2w{&;p+?A}jAog547GrLG61d6D&2~Ch#Iq1T zb*<@CDP#K;<CcvgH~Suc`jhb0OMpa!o!Bv`TqH_R zA^n~E&*M%SuT$JjPDm*ttvB#5zmfG2kN_53%e~}l2DJQ7^rozQO3zKxc*N~XTQA4O z->+esTwh`jGJ<;wL2MJQ=E45y`VvpI3j3(d#FtIPY2VQdPgsQ0mnW;q0cn(Fd~mKj zdnC0?<%p2ryw(>Z(JVTemX_Tg>TgAM?NolgJ8>MHC4zV@8>5E!Fh&;G zLq$WAx3gom)^yG9EhYy{pB0X#S10P~;~-F&4q?^Ug~x$Zk-gcpT7H3kd>E z@RwO{^*{#Jy-2$P+YB$_RwQ$Tn7{3LJ!kl}pU)vcHnRQgGGG2@JBVrj}bB zv69tNb=36T8F$(J1)M&jI1RSr3S`Ka;E5)GMqUDZxLBOIIJ_$rB_-&ws_&rz+!TV{ zB7~=};308HkhB~_*kY-yKQ}miVG;F2stg5l7w&(EKfX+A!wQW82(d0^w%v^utE#FT zb|xuIsfWeU1*Qmd%>z_>dhkKJ^!Rl^AV*~;{#!3obu8Yqt*De$Qm6Dhyxhj%B^L z35y-ZX65`uOB+ixW7)t^%F{*9vwCt5%afxo$4MI=i@^MGURldsS;74A#s6Jt*^7JGS#2k zPG^&m;Wnj>a@^)5lL=1y~K*(($<7%C6 zPx{0!_~h?r)*|o*xF- zXLo2d*ex@LdPAvKm+)aaAdKMy7z}11d0yUJ?%^+Tnd*91_r@&bSmWWhdsClimNtI} zNX{S}Nkj{at9jN5>*1&t1#PuIbBsgnJgN&)--ZS@4%=1#vuOAmNemcUMj6#ibe*AkIljvByy_odgI2{2&69|oKSju zd+`x!%(04Rhx4t5~wDR*&g_Ur<$DlqR z>pP(U`OnfpK4b!E$1h|M@&G&_jw(gd(}sf&M$4hf#V@uLaHvxHD-%aF5Z#~Egk{9< zhc}y}|H|?Mz7Ku*y=?})B+?NXAi#IqR_yFE_H?bOe=^ty`=-m8IbCm|JsS7v2ZG>pY!bJEA*R0?GYY3aO1`z;M?pAr!W9E2}|1O4eS zQ)nj{Z0bT;N~WcOFa9nC415H&5WV7M6}dW1YXD%7n+;QKo315fR##W&>Zw%dNaOh7 zKAlr0Y5QWNH}0^!?o|b(o)%5^cPQW?m;ec)19*A`v*ko9YRkirTX(Gk2R8|`brJdL zX5SR+g78{JQvMr8%DGc-fAW`IfZXuqAXTFED5t}BH1-o$z5*xl_49-1A0Cc}oqd6{ z`3C%=V|4et3nxkU-FDF^5?!@MoLp}CWYw_TKR(oU3J4sPmY+z1FORvYHKnBBg+*D{ z6JrOeUOjfKn`l8ycQg`)nXfHkhao`tg4(&k7G{C${t2^n*Y8BO)z`pB8a;zngIlAV z;A2xwf&`u40WlITuFOy}b4*tspv{VQ6+-eU1<8eXCCJsTtlFRMCGdS-ww;fI64}oX zO85=umdQ(;rZ{_n&Zl4BhJtl8{F%Ayu;6dkg=T7Q+N68m!v(Tt!5|?%g9X|LJR&q1 zv>2TQjBPYGxzU=O-8JE%VG;Nu79;B3(_iwnYXcODTt+7ONFZjZyo3OJiKbA-KaUQ} zC2Hk5dN6(YfpIu4@aH=)?FJ|re}@s*qgJB#DB~inXc?jW1gsaA5HNR>Bf+ukY{KG_ zl9D(PngX3#zk{M;-AvXO3~&&J81Iza&vpBI2Itx-A$ z+LSZG?D4m^LFeY>T@U%sN)iDi0Vrex0|R-kGxCwW9B&0TK8uN`h5?)oGO}%rMTw8& zAAl=@T8QRH>>Xhz1fjTw=?A0+JTre~3x|?ZQAuii{P>Y{D4m;gG$HI9*iI$_2 z$w)yVeyqK_&#uq)Bu+nI65T}!!%EiR#~=WE(+k4ukiqmpK^_%!{Cw@$kbAG!C`X{4 zPKR%TfZpOK{hGdNg^nfHMGv^U%t=prOkQ4|lD0O@YjgaxqolA{E?&PPkt;7Hg~D=$ z-q`b*76#U^XJ)QeF(2L4B1V7YK#MZQ(=Y4SCj-0yZFE*R3l?4CTaQk;jd0Y3WD6pwQj^OX7CR>6!79E6Y|)FGNok($npq@ zh)CoWY6OTd?8<+fojI7k#9{cpROU89Sv>bmqAqN7xRWAxz($!J_HlcZfn(gE(G#` zW{L$eB!J=YXmVYkexU0E3`C@khPe@VW?<)1i2yi>9KspecFfsi3SFVL5V+w zKKPbVfM6m`4kzRRL=_`&k23Iqw<5E8LHc;izWl&=*YcBo)E0|L@ng5%b;YTJ-Tmy z155_g>yGei1-3y*HKHi|u@un1E-dlZM@c&@3|;$%ZAY zB<$5QCSAP%=W0I>{O14YA%oDu7{zX4#%YAJ*M<6}A4(=l3+wvS{TQTGqYjlFwrSOhi) z8v4;-@s>GEbwhr~=^-Xh;CUv@WT_ILJvc5dug9a!L#gcOx(>Bwsd#A&r8KC} zXsBy4G}K#zPONTrnZH-Q{IhM`578$HMEVI?T~qVI-B<13a)Isn-!C6hU}vA4HQ=Hy zLxVf}1OG1g`0vtjeEj_2mb2Bu8eUpjH~@|?E2F6aC2Y?RU=#My^@}FrluBX@P*6}v z-FX%Mw5d_ z$H%;)^aawP*!Jpx4nxWKYcxEqq!bmfr0vGCg=<}G?*tDi6!S+XixkT$*!U{aIc&ou zBqs^=`R`$-LQ0A$w?7={7`VzsrfbyiidArV^6t-B=~~rGw{0R>U;K>5`zmLl<;Sfo z4@_!o9|63SHOkQF>G+%onf%f6EtJbF5*xd>GroZCydw1l>_i2AeqU=DgqkPL-T#+c zEDpNGo12>oPEKDTS-H6v$OzmG6!2PZU_DQ_-JM=Lu8)E@nXb|sEC30RKh*Al$3Vf{ zl(O={0m>cdU7*2f_{VVN71F(0*pjHb`i7ztaZ;*)0)L6JDcz8rt3zq~Dc1DxdZg_;)yNq|~58At+5 z6d4d>TxU$&QO}Ym3qB3| zH~!!&4w%nA^D|Tx-#)pW@d(x>H_9$bZW!f-*kPa-ETtJy!@-t6yg57I>{TPhLqp#j z2n_Ljc>mtyh&>0*$o=77()J4~;83-bE}MRrL)Z_oDfhi&@7Vdb?N2XiVek!0STJKj ze(>Yh6)S*s_nr@7H4)*Gnf4;uhFl4VI^G0|BvL&+<}-1>K0H<#eg!fI4kZ;~2Ija8 zKs@jNZrLUz8>F|JTa!}Q{PL!Q&Hwy<4#+T=+4EEUeKXKo`k+Ikuv+JX+{Vwhe8Uos zTK~y|uMZKuJP(5=O#}o2#829n1sr|D(#jLYL~a%&DMjJ$X3) zPZ5RY1AN98NBJDp#1}#H_3p16dCC$dOPiWPysq4edR1Ksgnx9&2SDjDaB&7C z{=hoIAQ>4M!+rn}o`0MSw4D6hGhtLWF{q*6#kg!3iR?|)47Ai)!da3lMbm6U;6 zSXPz?FxiXL>u`Uz`t}k2E~Z{qW9(ruUGOyB)rVA75E^x50* zK)O!6U_u-llI!wRIO5;Q`O1C(K(MPV$7QYg=U?aeX<(|mRMKETzfYnU28aIuAuI!PBG+tkG$r1`ocvj8TC8+^Laeqt7jdPiNuF{&es^D z28?+Dltlzsn+ZaVG=Kn>BH-$sO0nxu@dy^6!bsk$%FhpeWC!7pLTSRGcipTZ2fu@^ND`; z&14G`X`pdgDRsShEmQ?p-ce@l6geg7^#8|E112I#yS|~idXkHm%65%?SJ%^J0({T5 z`3`LF`qcTl<)NXlCcB4iNtd3GsaZE|Jx3?8!2Ef!*V$=j2 z9huS5(ZzA2HQ=VFlw*e5Q}}lo`~O~XK4HE;J)^G_(|Dw8!?};IISXoQWA*j*ff3*W zwk;ItKvpCe&sPZBOI;X`#wEb%{`{L_#tIy5OLC8n*E?;yjn`+#9j<46tJf?yuA3{r zOfEtX6}Bea-tO+4^Y<8RfO~aOxGq1d_uGtiKx-Z!4Lw*Bsr-}FWe9LD(zv)dl5-$H z6ucxtTY2_T@j{1!mR1G6sH7xoG=vCE!PU>N1Wrs}{zSB|i9R^0#fHh6h!|8f0G-I+qE}I( z!ycry-FNSpb~=L3HdCqpSnit{G+u+d8!S2vy=giOc8z6lD|KKO>yn%(T;6EeN$Tu-#%70%p9n#O&1!V^-=C1B-4%jEkOoS1LsC*mA_f|H4OpXJ8~tQZXRa_ZRcMv?4r8wY7m!X;5NBQx~0AnOJU(lX{-mr{gqXqUgSvA_hcGv zCW84t7FR%)GQix6YQ!#bHG!aDrx=xJE>Q94cH^)syX5`pVt-Bq zD5pqvCP*(P;+7Jn3B-M_R3J5=8kfT-?IT!U9T;M9Ys1#;(B=^WI9rdabx8&DK7^b?Q#8HZ zHXMbL)QP#izK)HZL>e1ki#dt{$Cvuk8*XESwP!o}FbJ>FxTk2qiX0{HFx(qz(yfYz zJ%Gc#JRf&42M8VMVr{8N;lqERb^}af@4F6p_N5>1>o72dWn3xMp&YXo77YTBt1ed( zqfqii5}`h=YqaO7RYzFh!$vr153kV4&WOghi;9bZxd|cUEG*OJ_D2D}z@j>|Z8~wr zU#61S34B!i^E=c;tfz63$`KzbG&N$^TgSAXEN`1hLNa7~M0!^$G?k~k$d`VbiHqqu zjr30$fL@qHLz>A>xt~qNZL#*9e={GuZCCwTS^WYy)i-}nl?fJnnD?#nRl+)ZA1XPJ z5jr}u0R}Hw#$Ge^WFnDbe`RpKEcRR zI$Y_ptEw~F-Og^;srW1T|7fKDvzkJ(_H4uM9;o&eLhy^&(z3ERH<)7D{NC&|+KZsg zzqfOl!xs>1B}EL`xTyWSVYYP_Mc8e?-aH?Xi+_DTGH|-_8gw^Ezi{Hym432lmM$H??jgDfjX5M*2X9HVfof zdISG%ASmj!?D0c+rO$9QP=Y|4z0_RsIN6_m_BS5yQcC+`TfO=qCcDGWHz7em*`n$0 zDU0bhZ-9U>fi2I#_9d50;6vYpmXx|_m6F%l5%2hYpmjWo^;TGOWWH2ef=0dMm_?w# zf7@t64MEMNqN0NJz!tewYh8N%LF?}?k66GlsMRxpp6M9e=wk*c@ecrbbB|U$1qDTa zD4V$h1b`;vl7?K!2q~BfuFYdx{xE;lp^p@wabcbfvVJpH)1q%lX(@b1F8q&~%PZvH z_nc?fqSoe4bNQZRJEKJ@4&h6gsVr2X3QZ0LABSQn2&&%3J&^Gwv(nO)cysReX1xfJ z=YB5VF?F7t9zGpDSt}(Rk4GDoYH8>P|cDR^~ zAaKxqbjMf1!!usk+~?%Szv!DY_URUbj-G~QK48ArCeu{AZaX1(EPMmxZuvc=zyQMA z0P%@KnvA5(K+@Gq+!$cpi?TfoD^pi%CnHRp+^YU&%=M=|I;PYT7SrP{7H*N=Cy5Sj zzdv}6J588d2KINxuO*ZH0EqNeIN|y_c4L7 zh{#i=aJ^EjlBnV(ge?(=R$P*eR2+>v`==|H0p{=Ju^|HY`u;gjY%xfv77R5!N_fER zm`2SK$u)vpia^OO))xpxQ_|ALcl8w(lCS4Fta$75sj7 z%DDLO8;bc*NE^++EKZ`GNC_mKwZH1q{dRl5OLF#0V_(h!$S#PCG1#&sOjnsB&b4l^ z3b(w|^e*ruw9ad+`q@YD;Xe)f8q&_*-t>62TY*0i;ayPYbmzRJ&nXLFEk!os_aPd0 z7Ws8Jphv&iUX&lh{tNzBnBez1hT_q>Gjno@MHa5`5y2V&afaH?4wm6H0IV9hzq?B0`o%q<6>W9x(O$_x3C6Dz(E9bL;v6 z&1lZwb41ED8EM{k<&=kG1sOoi%wJ>%iJKL~-q81z%`3g4qTpo*fk&)sEr&$7U<8Bb3p#8*)zzi&&GcrCAwM;WzzsJp0dU=VyN`+vh$e57Ci3+~F+4eE~w zH8jkjgy~|-S4D-*rAjCyL-qp6(`|>xu4p(G4?l>DTqP-lb~93@lbmumHjgS7Zc?)- zMIVReK0$6nC|F?Z+GtrmhIk$tiNNUhzc2}8sYLOGARWUo8_B82{UqQS2s!g)c2bEj zY@pA99CJo5_jW6K&SRwG`F0w^{7$nBa%vTBkE$%(S7;Ig?#JS8u}5TnNt62pj@bfj zcWrO^8pXsxmAdt004fDJdGAMVrRRSK005}C^sW z0q(>tcWWiU`qhoddreSiaU03R@2p_>y*N4)$Ui=-JtT1MsoC^X^M@^C-RquVk{ zijTDS2=;zs{O7mde)d^{i}4bi>jdh5vQTYZlr)`Ya_C^`dcP>t6(*|nyO|<~H`(}Q zzYYD&x_BLwJvbKg>%co?TvWGob}y@7DRX^#pQ$42-!w`5BN%vWmaz4qw2}?3=uJfK zoNmFfH`-C0f&9Avn=kCsLbG5=Es@UQ zD1l7+rG>epaC|{9i}&wdf`N0w_)9dBofh>Xk@*$R@cQ+Sj1&O=2QWsoz6Mk2Jqgly z6CG3?yC5a3M5*`j{29ly+=E1a1{jodcFwupep}vrfbhzURcXTmI>suI-#DTnaxUM& zNj=u$cT(YDdrj_8E&Pvv+Y}E2{#MK= z9nZqUgzJk>AYQ!%%uMQag=*jQ+(|;K)!acxA$ldAAFjVcfPc!C`v_{PGS>IzM7+5C3xf6 zKzaZrNp8pGvIuktWJpO!Bjn`dnLu&QTGI|U z34sKb@A4B!0x3OzADpqw_DFmWa>3pY^hn+jHEczg+om5RAokGT@+`X^bF$O%o2X=PvQNkbRv?b(PJ`wQAYfEC!IT;qo9{~2Qh29AhQSX!F9x~jhhJ=UZT znp9k#Hj=*^~o*Vb9BIR2&%@I(OQ(Yb z5U@pK)6;1e#CSeG;qTMOa7k|mXvs+sU*U@1(`;VL?}{#uTJLESXtKpALdNwK{AbWy zv4MZFK>}*j^aV?q6uoAFpp4R-hsRFHcGVjgeg$7hvVXS<|3eJuE&nD6fgfayYhWq= z?i(=GL-a#W*xT5c7$W75S)(aH>4#8VUEO%(cS1>Y-k<*emIs&;UR8w}ka`tJ6_{1W zm+mzmhi=W06KVdM8lVUIbV5dI&+8eQJbHqESFj8Vj={JwH0H(TZ?3NX$(cCN=CO+4 zQSShixc9hQqvaM;Q&S=I`}d86ga5;14`@;Fw#&rYI==rCI0VJUT}gP?&4lLaH;x zm9^9$l@n46x_NbM7g1N|=x`Rx*dpZNKrAfM@KC?PD|)&;vhXna`#X2HBo4odYLlru zZW_6qS6c+m}Ni3+r!%`T0Bw;1!gll&Ql~`xaUs zY)zp&Zx>!-ahB56iG?x5uL0T{6o~v5oc$l50!I{qwEQZrS{R7Z$TJ1sHA6|745vIO zmYz3?9^?-E2v>=9UCWgVVy&S2qr^NpXB1i}U2O?2HiZNwgIZYfesm@0hv~@ur&{wR z@IUUdwEI8PB)#|N1rM9g$ipS@)*Y6ohH|iMv|Oc~!+5V1haY2jzGz z^bc?$pSBq)`11}!S66mn5fKHG!W+EbuaFq2p&)PL+gB@Q#!B!i7>9W&c#>b9ABdeE zw2iB6TED8GQJ1FkzRJ;`lU=f3!UKxF+Px{x+-kp7J5x()kG8vOER96wI5$VDvcd>dBp~Ar z9dke!?DY?~fEQdMJ}o4>UD)Xs1WGinDlQiE4tw^Hu&|zF3BP3syiCqTpLD^*`4>rZ9e62b}E|1go`LRfeWbLgZXpW3&UZz2lf) z^XvY&#g72lmS&&NulKj?*u=`f)lyk7Ng8#2Ah_7%bPpskVvxwDQ_3-IjJ%+>0T{<1 z5yo^xRV~9GEf0)s|@0 zd}c9G%o3q~JOA}Ea>y;7@@!}R^VdBNvCFpGq&!N51Vr{0)GG45pyMsOpW$>0^%pdS z1xTxI4i>@%d9}F!qbOCgWTWh-EAHye2=1K&C`Db?vfsFI`ui3h4;5Y};QQ=0QXE?k zv~;bf059=MiD~T7aDcDRH^44%V3j}npUfKmvJ*fqtngJ#yR%B`v*#L0VPR>uXoh>* zPFE+2v86-L2dp%PuGvi;^LqPBuPHUp8wau$ovy(%pDMPPy8&z5-?P`Wh`07XY4xJ< zJoYit!<3b$l+=}l<5pLc?{sh;R8_PTM5wti(a;sW_>t4l1c&|q+eQ-Q}2 zP~eKes;hR}A|D&O%X@lI?;z!$)AG>7fR<|weNL%6Glz$wXGGU_NmC~26u00wL~b@g z=!<|W?}j%w^;3YvnCtfI0gn*%*~!Jk;kR&ZZ}v--orS#c%&72ArUbj}BhNB%9Dm#VM~y$R+8snc`5e$J78j8@O_1p7J&*(dcrx%=pxt2$%%dLil&iWV z?>gJ2JlX%2kA`Sj6VpvQ^q;3(glOwPJTU~mIfb(9#~J41M^J@0GrZ;`{!I|M9O%gMQ>l|ILc%YUMnuhsOjq-u%HzsFUAm zCuUNnCb<3a=6Ia~(Z*2#iNAIp@*)qMA1;!|rxNmVkqKkke`j0y@jX7jcPksX#%q5m ztJUj+rhrS}A5W8S$0GZI`oo8(wfO+sBaSQoYe%EwH8Ks)>t7k(8IFA|qQ3REDN(Pt zNi5^fG+M2^S9#N1Iv?EiTi+RT6IxUcxXYqfcnXUBq_B+0n#l&hAP6jBMFgWu^e ze)qn5Q+ekZHocXCGj6@nWCEaq`TTSW?ze|msEY=DAB7`9Ud}~_r;#eks;TWC3i{u^ zE;=+F$t!FLV=L|xzWi;b{qVzyk1P$JjwJ4A`TI4bk^|hY|!obf?5paDed}eMC z?Q@OdM6PAi!+#F{2dK&8-WeG|Ci925liaYHsMn{broQof2TT}rT)ZdmB|wz9LJL)~s!E`78@hY?@*%eD3*S zR^jy9q~DGeFlN#Fu(*?R^ZB%6z4Es)qu#YBLvfGkn?hs`(ivm_&|g0-Ct#BPM+=h( zuMA13G9J7HCob+n#uhzZraylQBD%7eul}{-H8ST%l$9uC?|e|hAK8^rA8=#U)`Qym z!k@i(6?gwTG77#XQ^QZjv^ACqKi^lNkpdH&x@C*L+)vNm*7C4Bg7)d9aUn|Kg>)oPjlzGtmri+)suG@6> z6-k;K?6mXK_c@V}K|!YHu!FpWs#Wt60rGDe01e=qNWbmN^~gWvN3|$&O!ypL zK9`y_2GQ_kf!ApzYhQ;bYkrbP8}RBvP@V=-~Q(yU_%cj`@J=&}#&cM9c&^ zm~e^a_EO2oG0B5Jnmz@*_SZ?RkZ3gTqDtIp85>SMDi&|LzUWPjyr%r?Zunz}L8;)i zqFAo`#e*zYp>j(%>KQ>{f?cKXDD(rR!eyigbfP(}dO*JSJ`xe2neq&wT3PY!Ywb9Z z$8vLSub_X8O^++vTaWdfhxoD55*7{g)XKMfqLDu?>z8I;w|}=6Mp`1*BZ!ZiAeFwE z$WP^wW3j=GM4ZTo!dv0uyi}xBVDn^PBO+tf>;2v@zdoL-{;cL8uEv#K$FOE>jL&F) z)+5xb8u$iY8ea)5Dr8&56?Tb(i{~w=8D>}fH_ZEAI_V?ior(&s+e>UgNtZo4Hnp$e zSV=sqZ+=`81>Kxdr7*#xDLuK=$27_7Q%*LxVU?-QKtqvCx~}w_2+jbw2rl09+?pCK zTr!HtsM@#Vzgk59Ljw~snaNGO=Xm`K1)9Rd7wgZZrg}Sa!P1GnrILt6o$&PM9<01T zBJ$JP6OPVT>;05erN%IO5Lf#yS`|%_cfPjxb zL6Q33PQK{Q`a~Of4e6j5GR@Rh9y=}4OK+Z0?!Uv+eH#3O&f>oF=!cIgHdfyU8%HD6Ogr%1@DP3)SjggqdYO z`=>$WuWv!L!P&Mk21drbio|xi($e{hWhZrZucp0I#)?-fbd%Ca&v$0RsoT6Ez&MX3 z)x=m0nhG|k-ZAXBqJH+K82JWyjQ)ClVC4!(zp(2(COsSyD<~7%!oOW{w5#qplnN?y zM2vh64#)(vuVjLbp&bhL&x#VgW>6GjZe^d$0&f|nC#XAJTg!g8TO7IuO+cmCWREY7 zRzkUG#0J~T_Qcr+#kgBXnt}0z4YGiZMPr`hXZ}YAwp(}?U2?*+xI{lPqs_J5`7_v2 zS?j}wd?XC&x7b87v}l6k2MQbW>27I2xg1pO4!s<($r!m88@2GkgW}b*?@LBhokhc` zsf^!mH$h{SOlAI&$rOF5Ajoml@WRQ1PHr=zNst?q^?NX|{!1L>TBzrM&HP=C`ATt8H03P;t) zn+lF>4SH9%_2&Ok24ioq`&$@&Yjf!rUseDK`wi{yAIGSzp;zZ$=>qkemV8^Mk>7;C z&hvu;1&nI$4+>dNz;7T%w@m~5@LIznc{35ScJ$Topk3bTs8H#4Rf~_ElIWitlDMia z;t}y(51oNbn@{fQcG+BVQT10fHG#cVqxYGkiL=nP`n!0UXj86MCLz;v^wx*Y_I7s_ z@Ub_%K^IH=E{es$buP_!4A7*_r%obaG`{p$(Yl1a>}nxG_^l-<^jTCt@;vTmT_1)R z-c&j+Y$p)}>4pdR-ygBU%&*)T=(T{@YYe(Z7vWA`;>B9?K@_e7vl_hefw5Q*hhD`DIw`*`|x@x z`D4ZOKYtB(N9cQ36B3jGRVjb1F?~lZIWmjne5*|zD?jj^ zYvnR|3U`%l6bDRr?1^zO-iMLWR-qT-iA0Mqru((U*~39J1)=6_4CEi%Cfk|{qaKz& zco7i;va4qstir?l-he5o#UYxgZ=8r@Wl_JfZ!@UIY-*n^P|_~e$i`^2oNwzuAacWt!aaeL0ZwsxaY`@1Z_NMka$ja@uev4S=5`psJ!Et+|xU`67 zX|i`^;Rpl8+ltykk=!K|+Uj`T3AO|EQq0^b)!Uoe*RFg!<1Td5H>>syP`Yt2y1FK3 z4f|sEROn?dvr*t;&-3Mcy#GJ;(XlH!+Az1RtyIaJXWzFhUkASXBteJp*%3)ne50A! z9ar~h8afK(4;t6DdOSJRY?^U=H27*^wPEhCj}j?(b}i&EK(^|HTt=@4k(OTi4-ID1 zMYf>J5D^{E1I4HQ=B_PXpZo0FtuG~^xCt5M39=^;zvEMpXP9?!pR)E?QXPMxJ{Q7? zDOV(f=Okil4oDbmT{60B-^wZb`u{bjLzsdc<3J}JDJV_Q30W4X)%5+bl|WZz=gkS5 z-({r0FH3!@S{RBF%BJS-FnwWs$=a$$+9Dy=P&bNW2UX}$a_TBb4zmrjx$Rw7=DOJ< z1F#tMY{EXq6B6&9vt)cZ`@-CqjWFInKgTg-8^0b;=Pr1V(5VpU79jj6_W1Iy40PKt zmRpah7jXMpB3q=}>Wpg{Jb8F2<$NM)uH-Vgvgc{?zlZ3f$C`ibd5kM_!kurVazX^2 zV`PdpjQ@_?Ih?K^^Eu3{2llxf9{UOGZ{T?>?S>DN?=hx70;Qv*UMF zm|_|JhnE$^zK;!-y4w#Hkld+2C^xc?r#ogQ43#;$^m* zX9NWKGo0z{gBWWeC{qqD)=86y7>@>IdT5!`)6kwW-m}kmzu+6~ma;E<{4%pR8lz() z-%mAq)|rIJn%y*BWYiP|WW2oQ9X?FH%_{m%*hg*o2C9@-Ow+pD&Yp3L6KoM@3<*^h z3^W`dv7C7ScH(7RV|#oC8D+~)b>P}7OpNSDVPwleO4l+FW7z)`0+BpHW}9oSkVYF z9_rjeh6_N97dJ7_=!ZebX91SANY#Ms4xZt%M?-X>ikj*9d*1WyVl4FHasZb~T2`)w z1>0B?RbXbpi^8+Wh9F}<8;qTom=6qp=BoW@eto40z7Pssr8eO~DBrB-KP5$Iqm8>n zc6*$-czwq8q;zW-|I)&rO#k{bS(up>%g{d31IG;|#s_Bx3aQi(0V<5ufIBuo#F$D^ zFLf{__4E|_IVl=V!S~z1W2gVEC?aAp3SLE7Vc3~=Bh;ByY&wUg+pIG=;-YTbWX}wEVQ23pT%OT6QA_)-u1bcpxrw58`e{oaj@&xDsz% zxu@u)gPGZTUrIf+2kTYNJ9r0FMo3koWXtCqUw7_2Iy1-kDSBdRQ4$nrdDHe|g`|ZZ zeF4lzthzv)3rS0ejp-=2GabRUY*hatDz#FTBfw zNE}+BNmM%Sjm|#YozIKrwNCv~-uJSj+-8=IN7k+ZvgLvY4QYK7j?DNbONDFW4h#On zG;Qjdg&Ta62Y3R5mVn_iw>m|Op#lRyw);=XwVyy2XX80$wT`Q-CKi#iy|^i8n`c<2 z5uKW&VVGXHOzN}g)=eGTN=RR6$be30VVQ_~>MEAmbrcuHe5?Zgp0u>IAAsuRr%&vE z4Za?>C&3d7{Xk8jcrT0}tm#dA>V&RJ05Y4wZdld8VmTguB#d&}{Ibb@W|V*HCv!>v$Vp!k%P zW{Ck28=z@D{;PG1TDA89!A{VFgo@^G(|4;6B_mr5mjky>Oc}0zY*gl6YuJOga30tl z68#A?4@}|oWnKxo)ot}(a($~%4~ zkN~}78-AIU#N&*S1OROAiM?90tXlQX3gb>?$SdIfO$IvF#P~^X_4z|lC*CG+B~0v> zQp;-ZAUpaFq6GGpSg^k2U7U~8hqmkROW;2n~_647&iqSM3ncGSw2nd?oDqE3nz=QjyCLy!H{`Y%0Z z1{KB~+h~88tW4BBFSx!e1J8=S8+i4@FIJ_}KTbldQQPM$#Ji4N^H6=ENWR@yVEURn z{c;Rdd1ne3*@w9t7?z#BV^`9M(Ba%oz2Zn)Bh5M3DX+Z(4@hs6@n!O*8s7BaB@;=;Jyt#(i=-jm#Q9BZCc z?Pwug5p{cDY;=Ay>lK{Ee@N$dv3pwrP~DPcB}K}}$n1n(?}aJ1Hz{TXm<}rXj&df1 zLhZl$oC)_=oiwm9GX5G*AC*$tsP3Hg@kR5M=Tl#x+9j#o-J>J=TbcZ$Us#3OKTgg6 zMT0NN_YAIBTLN+rK}4UA3U&!v+J7(acVJ`p_8ae>Dn6!~Q>InIbWa+F@a$@!;R*rT ztB6jXenJtKlsR5Oe@#y(ChJd(Cxo(D)-^ZCOnaI%@LHK>_EKm_+l^xhbL=0E`rGIq zbypo4m-Kox8@))RHl(-OFw#7iz8-2BXC z^-#ytf-?7XSjx&Y9s&Ts$n6cVrOPmJQV>n5`KXwGe38_()S1=pU6qr= zk!&dEi>WB#mo+T`wXM=xb}OUpx0P21WaHgJW)@~7aN0jF(LBF~zMDAevNL$qpfia$r;2qf@*2K?Pi5eF@y0;=4%RoS%L@Wtr5lB9o%uC1W|Vpnm>P zJOn)K<#ew#yQ_C=UmQuNvVQsDj8R594Tb?d?YTOW@QDVE6Q{t{HO zAe<~VFLFd8OnbpF@Yrf){|2ez*g|06)b0-3!$mV`K(<%!mE&;5Wg#$%0Qm4ikv2CkSai146 z+uHifc}#DzEIq5x1i%r!mPrvQlXZS#SAiaj5lp#CDQidv!BHH&=za*%V`jf5tMvR~ zmOZq+tWgQ+315PZbiQGZ{kam)-L~_(oFuss4M|T4%kCe?DNZiU)lV*{hI81goL}8S zJ~KfxY1<#)5BNxUi(m$6Ch(Ez>7272MPNrX;vPgojn@p zZEE+W;Hu+GqSx|I!tjfqcUEYtaWtaRJWvVMfB)vr*Y-4H4-$LFPlH^H6va?CnQZJ+ z1e%*oM=L^3aUY&>?jLoG)BL+ov;P}pFG7SbML%@Ov#OOnWezgL+TNwc2$kPEmO1hA zQQP}1&LpDi)I`V-bOn^KMV+RrCRmT3M5I&aklBqUo(e&{lHWE+aiWe%AYP+7Hq_dH zD(^pIM1E@*mxY{-`a!?1f9DTVI(xm3b$)KD`l3jVYxz)P~yb!(l zaP6pWIn}^Pb0+#v2Kc$D`vZ?v?9fB01l1sw!%Ft9uXOHB$H@gn6*)7&xXJx_8rTha zIGK5qX+|?M)WGf3mmQQ|i3?0;5m$LKz5oTv-}%?nKWra$odQ3*k3pHWCd|94d+}p~UyoSD|Qc}eeI1naeee1L^`TiVZ` zz4wuBBKr&4aLLAbMw-{%S|APf(&cH#5KtJ)097Cq$-NMyba+zoYN~f2>r0=mKx+g~ zT`~uv#wb+{m}yhms{8P3amZox@rAJeThM}hV4AGk{HSqdm0`!6o=+EfsPgmb2??y& zAwc1MMC0O1xPLrH$iV|lTXzd>Ubg?Mnr z=d-Pr1+jC?;BJvume`G*rtObA?AwgTt%lng~qb zr-IdDsFxB}ZtXHFS(Rqnyw!?UCH=pxThmu=TiFmOpVbtjC?(`g7mblh4Ne$&FIE#o zXet_@tv!Bi?y+T6u&W1xDGsw+`LfQlsSADAJL5I!eoIG0ntN64>XeJ~ZUSPOn`uSt z!bG&qRo_~onBe!r(Z^OA0{&;ufyYtPFFuMqb2ao$dYgD?FZECb=>c@@Pu!iAm4#ps zq7Q0?C}UY%yH7vZ<0lmLtt4DZT|+jdfuiQf5dVWCijsDl%B^!nEVB&Pho z(8araA|4VZkthl@c;EDu(NJ@Q-pv!tLF8CfwolFjfU4&x8qK9^j1=J@`ruXqWXNL-rJMLN?Zu zKe^i&nmv||xX)ga1C3f5R)%ILQPe_h5$8C1JsK@lyMYshaOEs_j(2rA#kRlwc4yfO zqpRz+b}N9sYD`cEpY;2@aX8xC+N0W0bnB8XgWP`Wk4SLkpN$W+ld>;%))(96_4u(% zx*yoM&Wvs~-u*kL=xn}^W?X&*xxN|zy zDn2}ajh5n?f0pQAJ2UKi+4`;4{Pv*(-u9Y+=cpg-*`;!2aJ#7DAq7$D2WWep5g&7b zZ%nT!-FjMj%NU>gM}knE>&?TIu^Cg;SRcC}L@22%ndz4!o_A4_SmgKWprePrhHv=P z1KyE5*Y~Z5dN4+s<_CXr$c!O*I>_G9SMSvIDzioL<=I98di5_I{6LcGN66Hp$R0Al zK0={njH#;Q=Dt+J-@01|`rzrb>KRR$hZH#XuOv+P4&#_}44=+`Cz!vPYmkU-I=t5x zD6M@BEaUyp`arAJDl;0kAm}t6QAJ7}&%mAWj?=giFdQX;7D1Zbd*0^_17Q=iYGoz4 z|60TT))J)RCPWKhMeS2Q?(k+0TF7w}zlxG9;|1fo6O^HNW?l?kSthkS#j_ln;-d5v zw3WR4TJ*i=f(vFLY#K0sJ;mJ^2ISinmgM>>>9@h!dVR#a3%>|rsj^=N)vF}(R}zv@ zs1vOCQq}S_A8%AUjQ5$RnP#@ue1$G@_I^voH*`Uf(`b_s?G-4-3GvWK z2^lzzx5AYyLoU^L-(gitrkA)g0uZGPFzhvSBMvgey%CC9S~3|N8cHbh-Wdx<=i(2X zBmB^GV6@z)pz?=iX)0-Ji|iPUVHU({LYWswL|XccD6#jYL6ZHcMVajo(NNawr!Fe;93r+90?pOBMU{v}Y~p7I=TQr*|d_4g%U4X6i+jiGWuLiV*!ac5GwF6P}My&%m;3zMWoiPo?YXq*{4MmjUzkh`B z`4h4eJ22!QDGUl1(lD3ly6P0JqNE|o>DD(}+3joih)~z*3{2erX^wX>?~EYOmDCVu zL1%!l*UVyyZKX7 zpi|vEH<#V`1RnwM9OZ9?Cl8!&d5fHnpd^JN^hYJ#+vuNvX$-s~2kRRRCJb~PUg0UC zuf`(=p--JgI{U8gzGhBmzgV{dp8mpPq)U|Ftk&Bc6Oy{CAa~CplyYrHFUO$+I@gZq z%Ng}@J;Jl<`q!&~5TAn`i}(Sd04AvRs+=HerUOJb9M;#cE2Il}a7>vQGRi`$C?BQghxR9@CAW}9 zxt|U19@d^Wk{*vkDR!=V2KlkJ^FC&CIRm;jw>t?YfK*1>Bd&XQo5TtiDaD^9u$!a* zil|pa4)^snH*KT9hqG9Niu2=oSM3k&r)!^j2LDfic!Yr>N)_|2N-@}J=g0r*Miy)? z$U@`)vD4jPI4G97_!=)|;#M`~b=bxRP^Xt-beI6S{a|e-$9gz@9f974W(Obh@5Z0) z?3^UT7q5tX8Kp(qdHm{9N0FE_}dqh-;FQM4B!B*qloe7rW$YUY?l=dNVNhaTWe zNH{(Py)&hwH+uDIpa)Y0oZXMc|GCtj;b>b~Plnrcz;B&hI3WV!=NnGlqvY@Ib-)v@ z#!c*Hl3Z6ECre)uaPs7({ew4f_8e|*8*oK0}d zU)0h%)P6y-Z-PDG$evg(Ngw>#_%cbHW4X2=2Xn2ERnT6IRO@+CsII=3%5*4~ za0VJ786-B^G%`OFwQ4V#>58JUReyTqc5;h>A=p`4pUnQ-cCd=YVKQn(o5#??uhV7X zHFy+O%O56bfGj`RLnT*3$&Wy*(ie!#M8V;x!>uPH1THQ{K%Dt%!6R;*k`R6X=_Z$6ZZ zOOx8DM@twEAEpe0cjTmNeQVzg#=e@81;n5cP12`Ron1#)2ZRo0pvgnfFM?Mb^Hau0 z`DVZ;Q7K`uEg`L!UL&__l_Ie^(j7O?bHOy=`MJ((X%+aEt{&AougLF>M3W!lUC_2{zOe{(HKVcbPu|!UP89cHXGHg?(Q*obXNBFDhuqfrHL^0^>Fh2d^F_Ey1zkeN~Rn-d8d(sa#{I#%fgRdg4=yFrx8ykg9r%!?#VtGRIHo zPgmT#Zu4p`FLb-U{GZ!usa%m*c2u)a=HDm?zvU_aBt7fs8#u(H_u+D62>n>5=Z*N9 z=^f6u{I@Ru-6z5^MP{sim6~U0>B;*=|Hw$weCFM896PxZH??Y6x5vT(CP}--r_fe& zA!k6eSV0g?>4(2u*_A4S1(OlKr{yZab!WzjxopAh=U1r*?W9XF)BDd9k#5^|Y%^)* z^~+SIf<}dMnc*XXh#ZDXeNjF&xDIbxW+XCfPv zm=N4x&n~_=A@e#k&t0&^DZJBp7jKPr0+f0uvtx3Rwyl^q#T04wkC_a9?Q{ohWps}& zHMpZaX|h7D8!=}gb4q&?9ieOodqq^f{B|X0-2Ep@yrJIkZ|P=xJ2MUCpEw$P8i&{!nase;guBQukg%R^{cgWz^RpTei}0(4 z-G*ax`USs#mB5XrVwuD3Pg~mUYX_IgoTgl{7X5S}5>4pR?Kf}BT@jNdnz3Bk4zsrO ztLujZY(bj!JB?RK9Kbmm_ZfCMWiEgBqqg&lTTqYdherEHkwxbI>FPuBW-1~XY*0&X zc_gVPw6;bHEwVI7xX(UsusjnqV(O}YkOIRWQ_D|>t|f$=E65;nRS@5%Lg?w0hzhW= zA7gUle4_nKJB`7n4x}f4_x=ZlHfF(_oSZxiL9O?@QY;cUy8}U^zvh1*{5~3CO1JSo zqsn%(b4drU&c7M*2aOn_#x<5zCD=|~M72Mxqm$wJ7am)uM$?Vdm?jT-#}nf8a)(Z{ zuBW8~dD#$Un$9yew;iLV6w>NA_XG&}o%fG5dGo-)3g5RQXG(v9P$tt+gfA*kv}%)t zPig-=!bn5mB;0}3uP5SH#$rfWMK;Uro3Xpu1Ye=!4`4#!kLNNvBH;_YI&18fq2CtGcjsfjy2bIFnyc%k&IQyvd4E~~hX+}!u%`PXlQ&Ub7IJ;qOBHD)?- zgZM|lh>7PKQ8jj6mkKNSY#Z$nk$SM|)AfXQCi%G$w^)4LMu6X&L6QR^IK2E`Q3|}1 zmJWqdVve?dl{4$xZ?HzBXg>`TNOFeXqIv(w+wj=u=)2BVfD5T?QS}4m`EsX%vJB0M zUr(aQLhbWfc6wJLBw8DwVxxuI7$_3T+ufILSGptmhKeEHwsfgM$wmTBEY1m8uT&60 zry{k49N_ov!n5c%t>w3=8q&OXQQKz@W%7Gf7|ILV|9G8tXOx>Lum+l+lhBzR*5CGDRb1mdCByf>w+0?~!lW7Pd~Z zS1nEXa)bPI8h)X%{O-yP=z`0Sk1^T^oEY3bDrpx=EM2%5)mdiGIJqwp`MFzQ+3JX1 z!33j#^{s$@O=fhpFb%&DO{V{+ZD&fil}hI)(LC3?57y`Fb65l7s2tcV#pOrEQoPs{ zird}T$iym!1#+r#|J`+6CUH5>&gSa(ao<6_3&fK8qi0Fgeb%pFOi*ZFpcGhsQe2$> zwny^}mo$8s^Nm(|kj;$c>AWP5XV@N`+Ug(pwj*NR&f z6nC&yh|rpisr>bXy7A+n%pPbX4|saeb4oaoB@f+tn-1L5=>}}Ih{T<8X=IeYkTT5K z#HHOa9jMrq1z}oKvZ1il*yeju9kv93Iw71(0%O6VdPPv#;uS+G-Fy z^ECn#iLde0z!3UUEV?uBzLPp{AtKkK4`f`XZ^JJKJ(Jm97l{janAG~eR^}0!nhTC* zOJ+YrcO>dc6Kg%(L-kX2M+CU(8N)o(C0oDV8NJKU!v4`ZtqVF(Anf??iraK!1VlPaHtqY7k)zw?lmxwh#k_yoE27EImwZR+g zp7nna_SQsqEG=(#Nb;2tFfNZjth*(kEh=cP;J+{Vs81@Xzh9UeN<_SRL}qg2wZ`e- z!f{&r&E6%$X~HDc<^(td$J$xLYEv0@U5S_-)*p~b&nhf(ggFLOhUkc%HzF&KZp9ku zXflPCE~+j!zda_mj0Xv#UGiTPaDu0oZY0OTSLSPyG#*Z%WsZe}HZ+09lBODEUj;R0 zTvu{mFt&(9erc~HSt+S=Q(DkCJSr-g8U6;-KkMe@tM_5UWgG+fB$b8CZ6`&O zhQks@bUgFGSLAmqrD8dmp#)wZ@`#vbU8Sr5sY`b~-sdC9)jMgqrr!|7oz+_oZ@e^^ z)5A5`zAi;2q<%o(-*V~YI*?Rm1)g8ZJ3HJj0EYH74mVd*(8z>Y8y`?n@dvSA*!|fv zbfAB`vBWe1GPphEyrk{8Tq7#+mNr5qJdlU5pFKFk)z_B_=N>QV-4`a#-NkAo*&gLb zw}0(Q=yCP(@z#@mkDf2eiqWxdl;}c%yuB@Mo5$Ks^<)psTeeFSmyJwP`Ac@!ZRw>! z)m*=>^#olP*~!Y0(VW=N{c`y@ebr8-eo4*Zhz)(te2>RXEff13{LR2XmprWWa5kUM z%|V-VwhV_`p44`3(SBz0Ex*M%XmEStWS@Ozl7d@(JduL)o2F7hkE=7!R7MYz;m7qB zPqLM-R7OI@y%$c(Ab$RD(F)9g*Xlw-4&AMdAI@JQXupZOgNnp8pc}+H^~*-J#v+gK zRuLRorKfd(nT@$u!32`a>Opt59H;o;*<`NQE+77&jHpms-hNlLz=`?P+yLNa&WdhP zVu1BW`#{6B*;Q0twnkQwpEsbmiIW259h$L>9;CUfpp-Fldv5LU3Q5SV32r!k6nmX&UH^T9yZg-KG#Lb`##yv6q3|-he}jRe-W5 zS9Z-08Hx_Xh}Bwb|t@w!{a zumQiI5Uf37+u3C8t{M;JSTtZ|y?boYnwhF5{kUV3wL_}@kZ`@N1_DS*#oE=y)@QXACBZ*jc`uE)*Qo!V)#1sswBPn!89B#&mZ zd3Ue$U>CfPvDXO1PEes#kW+#AC)`m+2>r#KAmX{8b0KBjx7m!~Kv=7n(4pjAWR*U| z_x4PtB=Yvi+i|k_A2$bm(EjV`ZyZ|>sx#q7Yj6t!xwC7Q(QX-xk~0ZU2gEFMQqTE9 z>+(7Bw`Cdc_2%zFr_Xh zx}<~iHo;n&InE}=hd+l}H2OMQ}3@IZ3x~!}w>=U};?dpZnRGz2ebigG6b^+YXL}A!iUM5vH?kBo){XbdZPoEgD zYj|FhrQ8$HfzflXUrAQyn8^1gJ|Us73AoAdFo~=A^&gphf5zj*-TL$Ob%EAdA3Yzg zd8dQm{%bZvT^?xM7r!*Jw2=+sqtuwKFOPzxuC*HBOA*_>*RKvQ*2{ErpSfMlj$Q^Z zKJTM8(v-W*e~>^h29}$fJ&8=BbWDOi$*!2dM&C(3>^(g1;>-VCY`c>oFOQ!vK(Tlo zslPKfTD)^hqd6h8imJe&DHmcHb(@@#n96fo7RO0={rdI!F1!|^+E3>vKw|fla?fj~ zyxgPv3L;SG8@W(&hJ>Wj~B;3sWfeA1I2d`1N!Xj8434>ZmAQ&Pi|ZD%SsNf!&nXdd5p z-nE2R0Vx)bBVn6~y`NJhysoaYJuVaki*@YX&3NMbN=yVZm?Yh+{UPN6`9>rH zU9Sl?xwlu(t;+KO@pnh- zM;HDt%ic^MJU3?`JE@18P-=)Ss%#}G?6}j&FRNq4Vgx&Wk%Jp2OQ%-m zfuN-~{cL@^)6+M2I2_`fM%P&`N)~_T&}!yY67{RohBuTNes@G|J+@~j=OZH3rG-mH zeut)&6~HGKUzA|i^&h1!O4oGT6hh1zU0#O`r=zxw)J^wEqt(QnW~XBMT8y|&T4gwt z>aOud?U7adqhhU~)f6VniOES>A4^GDs+*{|8x~X_w^D1!>r{A3J`I(q6g)%P1bf|1xM}-n`AYg(>7KO`xi{wC*F|Gh zG;Q2vY2xo#G)Bh_3a|aNcd=F3yccV{PJJ5iFdJH4z`Rq}$F-_z+>2p1D>zSGrA$u% zx909pr0kgeHf#+00>O4w#aF-EK#=j9LS`%TSY;n$&;6}+kZ8zgcb+vP(1G=GI$R}; zhC|)(5Rq*O)?Mf5-{9}-M=8!yyKjOkXFF$`GxzNn^nET#S;g9Ye9U>?#eaRe; zKa4zyPp}&ZKd@+7XF>psnzHzKBECo~S<5#f+4+ncAHUN$uNIf$<4@owyrprO zY}mjs?s^Tjc57B5eTV+1nC?TgmvO|$T;dRoE!pJSPJPD`=z0U)BCOHGN4TzVj>0LA z_{-Em!1S{N>#p=up&R-miiK8oy(GNTxUg1bOM4Jldb{3YUR2$iG>L&NX*Ln`vvLuq zVYi<98wj))Iy-$>pwqvS)voUU0bAnkPkyB0@okTQ{zg*^UogK zS95)f>Hhxh1Nt8d<%G9+3stlnl)lI1>N+?1Q>!w|1uBEUj#KY+h{6t!mO2;@1#W%U zQiwOR$y_R!)m&~qa7*0UH0;{P%cEN8rFNsP+0{0Nur`WdD%q9BJ2m2Er_FP4n&7F5 z48)@rBBpCb7LmGcbh84wK9hblAxVBvoFFmsG49zyODb3Er%!SgmvQDh6M)7(u-Vwh zh_IzskwAr>SH5=(M7E(hI@t>XmC8EF{uL*biHoe4`JsR82ef~!-f1H5b4u}Xk0%qi zynpI+Ik_7z;Q+W~kPno%gZ~(b**E*pvD~JeUNVn57ELra1wN>$cVlq;VPVYP4`Jlg z*Ot1MeXPMbnsRejp3QHaNV4y!U0j!Vlj906IzKTxghz@f1jI;KnHzKf zJVynd?7xi4YRj4#rjiDCJOFft{uacZ%Ai|T%yvW!S8r(=xGQ23)M+OFbNJ#f=qALB zp^?&{61C|R7^KsT_9JU$5XWEaHTLrpwf!cZKsizQs<354+tg2;@@Ddz8+99)!B|@? zt}pKF`JkY`g(fQjWj2UKSLCkLWE70#x3L_K4`>hQbm>GZW`Gn5s0%Te2|^KO4ZyYM z_?=2Iy5B;Uq9Q_n@6XwZ*}uM&)m$y_pjY|GsN4@J^(P&hpm95T?*;gl)p=eleWx}z zz&V0h>dr&u#ad#(p+uEgA%^-ZiPS*x>#%{yc$$Nn=Hdq9uEmKGXViL5BKuf7%a zwbgS9$>qwHEMId;doyk+sbn@Bg4WsO>SAxHJGJUG-6ky`bUC5S3=h#l@~vooVT6{E z-{(L*y(8+@ZO>>9e9?)Kj83@?`}U&O@luzS5CPpJD6xp`aHujqYS7ov)@dOp<{bP5 z#%jBfJ%9+h1BB3wATj@((h+#3^hSu~1u9*hl}^572xL;k-{bV|TN%J9(2n8Rh1;XP zfFBMBTJ=sthPX;$XSgPY{bkhD}a2Lnfs^|pi z;JCfD4qumUr88j<|6UL`>@;A?f2(^h`-!#zgp?0dcceAyQ00Y;~3Js*bU0s1m{ z;X6MY^Xr|MnS51n>nTE@^u8Ylj+HorgZrX;SLds6 z;NVi>`cpjaQ{pwH`(LABubQOGrA@vJ>6^G$~;dvy2VUi2)?^ob7N z!_ujp%TlcT97($MaJeqrUvo7>)Nlm`{kIE1skM4iQQ}>gT&g~7skBUE-9`(Vyq?X` zgc`P5A%N57yvadP=+9&H{f}|_`;C?oW@48O@AZ3H+sMRFekv2aut$-Kly*ryT?#TG zHgqL6;p?KD7m>ohSt31PU)86uah4dgL%?Wmp?=EutO@otR2rXV(2^yo*UW?Ca|f6B zo{e>^=-FLx5_@t|IaRCcd_xDYUE>guEH2$05vH_ne=?Fp)8V>;3}xe}Xdf$9lu-LA z9o#@~#|JxAh%)&ALXADibXb^Vc*AXU*6Tm&)zO)#S9zOiW}J)qq;=GtQWgYk1>~V`s%f#uFsn_VG9CrviSOV%aFIQiMRvknl<|t09(WPO&bjAWs zIYdlCksqtL)hG*Z=2?wfF^5U%BAJJc3R-6H=zp_^RfdWP1#ebR5)3T)sES_h@t{wj z1%GDxfk6^xXq)>T^sX+LM4gDe?p3vm~ zW9%)Us*1KYP(=_B=~6lcY3WXhLw5^;ba$r`N_Tg6cXx+$cXxNajeYO??;CFn#u;0Q zv(MUV&G_b=-**LI37=9QJ{2}&dzUSV8lN3F1r~p$s_1x|=dj-BB$Ky(97k88v$l&h z8zaom^U$4ZWhp}zBbg{Jwne?T%A77k-R$p5@+rIA7*2Mab1ui3x$KDUVMGJMMse*GoSP-&;8{g9Qhs>4n$RA8O5gq^%-!zq&UWnIdII(E$HW!X*sD)27nJ*!KlmM+Q zIJiE1hPPC_M4@@qF%v|NqOBwMcdR1he<8v1_|b88DsYEj(R&giVfZ&?s0()mca86n zmsVZI&xbfvRB{I{YKnrm9UjsJsaRssVurylT$K| zXMY@GVj6!?>wSx7L8r!Zakb%4w@*wWxR9x0qQ+b%NPa>vcIAN|uit#x@J33yVD+%@ zouzkgX3dSfe-0*+pfy`60yqlz;=61&cfP-<;ghEuga`--+?6JCA#WnW)+8Emx(Ap* zeWViLDV|W5b4Tj>50Qd$D|s%?&x?gfReCd6l6_Zc>+iyfhuZ83DV5H?`jj2z19Z@r zY~6%1g>!B1zHBW&+z+ibj2If``az%$1nZgXYHw4GD|(#XnT_?*oAt?#gy@Lcg((_+ z+ObzpLs1^P#p(42#yy4ku5D5s%5!`9z0RGeBL@?OT@$Lg$vq*{?E^${JT_(E1?$ibLp_oyyOibvuT*g?B5J0YcWzK+eA$=Tu~lAx^4y>m4wwM{>zrc8RKQ-gLiY{gX8c1a|)?y0AE%9jAm}bZZ zB~rd7_oQUJh|_MM&}#v>{J>S!qWr#nOD;E@5T*bcTLb_S*?`5*?|$V_KQgI21jRbL zcXM_2Bf>D9a>X>Sad9Q0qoczFIK#*o@45P%p^D5-&s$!fwtNmhofl+F_pE2NtUGMU zO;*;5mR^ztibWp|gmF?WZz4`N7w1PMA2r4)RIQ9=S~N?SlbfZx1ka~giNQlH(WymP zj45nra-k3&%yg-F(0H^CL`&aPb2_J~+d8Zt;aBgQN_56nB9U%4OL^6psSVji_N6RI z3=#}*Oy?SgQnQP#cna=rUvQ=a z@oXRcOYbwS<~$m|dMAIV&=JqCY`jHgkSlS)H(bhZ*CuAI7ir2(hJ=V|w)2bC@(pq{ z&*O~8ivn`|B&O#^+K5Dt2c2YhbfjIB#rUL}8X*-ABTg~~Vz0qr_ec7}3S|r7dtO9x zquEO$t=S13FFeYNyX_!lDYEvZaEHapX@7NvL5V2FD>b+#q&Hk+oIbo_8m3?8nv2|? z$V!Tljy^=lk*Y2$uq6&0%GNf<7|P8Ln~)wWMvzd9(;Dm^OTmOpJUSrw&J>?W3d#4 zZ*6(AkXxVoX1LR_G14OK-sRkP@MiQUr{4tLhj_yEQGJwo%y%7)) zK--G_*8We6I1i%Utm0n0=Abpe`e1A@Fb^R>K|>>nL{d%ZD06AY9Yx>LA3kkHI)d(L zCYSB>y2j;%@$A69aR2neM2!d3{nm<&Q))Lf{d-Wlh!?V>%$j#`)~24uP=bBQ;(6aE z1H=;ZFSW7>Y3F{rrZWh^xE5YrOSXa@ePRCmDk2@42h-`Lz>p@zJy|~Qlyuq0j*$>u z3K#)n&#pFnV{Cnj=YuiqUL66ixZlNA3{9Oxem#*>rbUD6=TL}+Y6zfRFLs$y^=%EO zmJ#k@=tvyj|>%5d+|$;9AD$H=K-71Y~Rb?pftWQX7h3AQWyT zf-v&f!b0k+%S+~Suvf4E{qh1-8LFCmG7k$i+M%bP13X4NimR@ju_jl|`R62J1pUm9XTxEWLaj5hTdJCu%_K`4C|D^PrC!@4c5aU0l_3w!UqVpF?TQ%w3RR3Lo`Mj^1w6T@kb z_9nE=HV_a|6wcHP(dBm&OmX@2S1YLs{OJI0ejnv)EF%`xG7$=>(0@n(5Q+c+)HFHv zEG;kvs`$(gDx5`_0(RZBHWxgQe?yWY0k`&UK>tWs3<+c>28cAZdx-v}vo{k1gH~eU z1*k{Q&Idl=Fixm)=)nG}djp@6Kakr-{wSr=BySQ9Z0sOMS8yjTW6WS(y&xhkcM4-ZKL12SzuV9ncg#VOPs2U?&e z<%c5N4~o@L1R;E`8os9)Q-=$-18?_)JMb?bDfQo;{E`d(1!XbiK3DTN=D*5%hD*7N1I6jbVh&O?-{foE?2_x@^YFdz`KHa z`I$M*P+1v+_{|&PiFNN-HJsP0V%ZR!=>HTMncXRl5mK~Bj}rPjI|UtWIp{l4X-BIwxxGLs&1;O9W?zUb7uZ@45taYWUs7Z@FK$`cundYyh+CSI>2kvm?r2a#8$25yhl$Vk z0t6DvUX;7v>)r@;xUeM~jH}Fe&o+QRjcxqsCIS6*;Z{b2(XO@j!LpH?w`YTQ7^0kG zY$3M(0gqtM&yv|ADK8!Jq1Ae~hRNSslN^O=>*xsa_VzAgk#4e72-wv}L_^bY$cn}% z>Q;Fn@zVAK)A&!V&?jI80&e`>D8~$9vHT$Qg*ZzY&u4G|>HgP7!J`iQ;vd9RzgtKK z9%1&AS(rZX-)jUsTs(AeA5`);fY_&WiMDU3Mp(vSS66${CZPZP^Y<2?fME?S>c~e4 zhrNV_B_2SB{dYf+Isl**TD@Zc>fczvZ3gl1{5%6tXbIg&yG5XnzMVD6S48+#C#-tm zZgm{-9<sTot}C0(G~~9jUk~lqt|ono zMl2FW%EM$jpB5H|l0Ad{BJGsI^u_U4^w*>#{&1c)f1XM;QBV*nFNilPtiQL{mpL;n zFfdSc70qz~76%=jB%hd;R=P)j3k{}~;O|@D;X+r{(R`zJzq;IN`u^un;eB-Hwz4W4 z;dEM24aFKiJKviLi;5!6$CF!)txJ&OMIyP|3hrRDyf(Pjywl;&yQ{|jEZc5Q7FHfb%e&uYUtkY&Ba$p0w`d_Yx+-%1{qHKQr||IbBXQcz-(?pUpSilazBR&f zlz2lzB9fXJj6h!M1Ctnla*Pg^&Xmq_ne*p)`#g7liAcopmYmze7*>)piZAyBhIg0p zue*oA|hhO zCoB{(Fr}~)Y1JVjH@Tl1ote&^0$xHlL9L+=wneMq;}6~TUynG54REX$4Fpju&_x$S zrWE3Dh=`)7g2=#oWbq{(q*$-)i9`~@oL>GpNL~0rfO&DH3oX5UpZ7E|&gUWE(v-qC zWS3HDvZEzUI*wxZYVjHZ2v!1mBi0}WKSV?Pl9m||#2ca8I0!pFh&<^ZHK!xHHT4Zp zff4vK-1}p(V!@dw-)61;9#1(rg(m*8=pZqj&zq-dKIBQ5N|b_X{fUa4YGw&>MGuk5B5 zB+$Wjn4t;!yVak7jRP`XUnwL@bUWkOY||(?I66f__(qRxNXTz^&^D5_iidl@to2$g z(S_hwh$6nC=)Lxog!yHB#KqlORdwzzBK;qFw6)Ax;&+vt7SHiVh_v{ZTel>$s}xY&D0_%qjunl3Oisv$6FKt zzx1^=Fvux8;*%dp50Cyvy=Y?P`@!%n>i$IH0oTK3WGV{yi=ZbPIII4Rmq3`lDE0uR zbwClh3@N|6){ObEx5^&Y-Q6A27^}a$L}99o9fG^Y8)p@9^UeOJ<(U-3QwgJwa1DIW zxxT&@{+yPWnCOhoYluJ!4t9ITNleUNV-aJje++6+g(__#{)PHC(YjMe9OX4vdSpNK z03pA?0;=I7nJyWojnk1k*^v}-5jCe+AGclawzw*@_}{-5a=ab1hbnTTf(gyO zU&9w=9n5bQ{kb3R34;jkIlDVtD=+zrQa(~0yaTM?HSWk4b)(e&9feH=3<~3MG9TeE zGQ#o(^F4Lt#%=2_9F$C7X!N7S)C?4ZfKmsI^U^@C;^vP%z#sj@F}ky}Qv}oday388 z>229XLm&`{h{rMGTeF!hy4BCcH`G%|AM3jLw}bATx`Lq;N7wz;!9$ob)luI3{vbNw zmyU3ae(kYXpwH@~%l`ZzCwSUtIyOC;M5Z(wL`~FK^9{}_*98&lDj~zpE!m3O)*EpY zIzN4^BoTBPxGZCS?1Kp^s-?XKk~)}gk09z!*?TwKq*79S6M~P>S9WQ_(LBt2P#evk zfA%q~A}oH_j$;D#B!{i>Wv>!q_flTkk~>P5Twt+-Ymu?staJv-sH&=pyJHIm2M61f z*#u* zdLO^V|9W_RCz#h=^SM56oM_K6dZCThhL~nx)z0z~znNLlDu>cysMQEeM@L7^R!WtHLzn-yhlAkEg<2Mp z3?p)@dSV%1Ok9A6UuSyNYbgPCn{?aZk14IlV(;k^_MQg^I^-cx)$6C!j+--ho##SY z1Q!O{XBjEo{pE7cNdceJ%2Ech0k!JAlyMdTiTP^=#LWn<7RAPc8`jB zHFA;tsNoH`1baprA;l=R@kuph7cd4(=gQ$rMuYQ%UsD90Wab99P1#V=M?EWY+7GXLg6H8};v0 zV61l}qnNYKw)l{UU59Y#9?SluBO`(s!F*L{Z6b$oF%7L=fC3*)*Z`O0%6k6W z91-gN_ofRq!G;>rrtA$(2aO4CG}-ujQDFCiasVYT{VQ+$muFR=-KA$gy_6Zd`^UhU z)#&iIpS3KL6he+iP{`%|e583TI%V3w{%i2@B#XeAP1yyxLE-~0**D@sAA%>ygKk$` z$tS-p8vOi8{s?X#SBM&9Y45I98O_C?5qhNBXKDjUAe<~`3plHxe|kP1-1z>4mlsdC z=Jc*@6?i_XU$~Q?LgT~N@ITi+7ea2Z-a!K_b5LYtq#?zV(top3!0aUz716u}3%^w* zW+{4+eicE~*w*-7Z{orIcO<$B<8F1ZOb})#cf^z#rtjpE(dHU?xptAF$8R~teMp)Gi3pIfp*K1Uw(=!y5EvCHCob@_2ntG5E>aj*FzkHH$u)06--PzR`@dg z#v^xqb7x0nw_80--OigP`&y{#qWk_sqO`Ju4V2`Xu<2Y?27CFA-B4Y3&E8-fXSzy2 z%Pg`GLN&McNis_C(Qd$Rg-PzG2v8`?S_bmaTf!hvi>ovdiS8f>051O|AlySlP4>+I zXh%uuvfdZnwn4K&(o|h{nM?x{2Bc2I9!g1lP&riW$~nm2WZ~3agI0sTMK+(Dm|Vxt zWWMGkOrlQ@H%fZ@Q#T3-?kNH_31q8qwe1}YGj{QhF(Dx#Wj=nislgNbLLdu-i9`+H z7!PG{=0Is2iN^Hv&Dvd;vlNIxw-t#6>J+|OjL{kx#rnwsZ;?*4lU#U z_AZCVwhk<^$rwN+LOJ)%0KfBc8+5L*UtjyULz6u2yUA_K<_-DY_AXtBM&z>Ds+{lp^RYPtq*kD4OUJ_aWUV{k{+z0IGd0%jUWJo)_$vLL;BjNLp91DW4 zX<-F!uDi#j)ZdlqWM=$QTA%9%4x1GL=5w7AEuk8ul$2CNjmR2>*CdkUCrwS!1h|Oj zfctwgRTGi#K)Cao%cZU#avw{0GNw4F*(pCdxO!3?MN#w=Z;9FX@ zMyQpIjm&~JfWq48Id>B(RM)pD`vMmn7J_v0K5WY$2hWyZ5ft4<{WVSUJW}}nt`DB} z<2hmxG1@c}hVnnTVa#Ld(~llF%3&ry3Vqo6Nt+%eK(&3D2)yU^Mk{Ue<=);NrG3e^ zZ1Ru1U-k17Z$rwSYC`{cB0EtGV!5^%i02UK=3t(cPWQBZru)T5&&+Xo1HQD>Vph>U zZfk@qhcroH`3jnDQ#m%}sMYVOyJJoAb#~^J?+4~7D*7S>UtUx)1msH=v3mvYyn5X^ zuIi`ijhlj@-+5A@#jYR-?21D4VEi z?rb0!omEd=v%h1C&PVjRR^ZW>dgGQwdgXd?<^gg^8dMYbCB=I2W)Xk>wipM#r+eZc zkL69FTD^gfgezrfT2SZDe4`fO)d*4Z;qyvxHhe)HG6 zKY5A?9(NWU=C7ZM0Ur06dwG8=#@^0Tfw&Qkkl~Sh=^ud0zO*1)vsVa{Is9P;%@a5^`v~aB=?EI_@1`QOpgD7V*ETZe_qF-QSvYo&#IFu zf}o8a^spacRvk3h*z%Mb*jW9Zwa-#3x{^mlA;;PJ59h=7RyR5onTgp5kT%GRk_9F9 z4qAT{Qc(z=O5lt1bSxA75vTfX%KuvSCPn}&oYq-IqNIv{h>f89?!{fCd(7ozDO7nC zxPY6y(W!Ld1T?JYWKcVbi95-9xKS$b$aF%4Zcq%N(pzJqFY$)cfT*zTtDzS7DX@Vs zWe&=Y)CITJPS(k`mO&BzuVqGg^;Ek+WX;@N>JXiOQ0V(edN9y~c6eu(S;JI|jd}zd;;Hs2{Cuj}_qp3RiS;5B+>N7CG&n25)?DCyI*djjLtAa ze;E6nNRUFe@_%4le|*hj5vj`a?;HO_n4W-n^0~ExEKl-Ad+MMzetz4YD9HTIbPlnu zC3ialD0BaL1aaX2laX#cT@?D?rTXj59?^(kk{}xguJrqA_15N02f@!Y+0CE9{(LSH z5&$aiHVqou8mr3X><4Om{p*bhmjDmJf3Cn+w8E%BH{{HEJr52)Kwk1q_?6v*BznZWC=3*=FTGDX@wG#UB zfNcYFhRA`$en4N2ujKylx*uJ5ZI&u0t z8DNy}oIbI)2PPns{@2_5`~OLsh=&voB2>!c4d(}_4u(fq7*mz?Vp0~vdF_n+pp1>B zEl_G_BX=uKY#z+XHrGSy)kx=1Dm?#if^jSIb^I zl0Ge9r43d(abwwxMVMcXp{qH^VpQsV%FWJkS^R1qvayO;C@L4;OA<+)kjigKGSoAn zE1hZL+&=ETpEKdX&d$F2=C6v{e>~Mcd+5gn3gVApIf2Z~^r6Ad#&kk+$IV6bnay?o zTrc?!&84r!BWaRFUaV0J+vB=4W2P2Nl=k{B%(3 z)cJe6L4)AHFc06Ys*isn=rI`eLq0ToH*EK*>}OzXMh<3z|3lQZ<}DCGQG~Q;Rlf+& z=3UFNx*i?$;)>(JPd=UB=9iy=ch!6`C)fCGRA*uwp48?-K6kI0mOjrzPD7f7yHHGb%6u(QA{!o4kDWkNWC=-R?fnC7f0} z3n~sk{FDi5(b~Hf%U-#IA3j#lWj3G&;=xkAvQn|42BvGn4xvt}v17NXO*f-F=;(aj?GL z*{X9nz~z40a1sjv_W#3B{Q1^w1Yp7|>&q4Y%|re@;M^{Vi*<`#unFo`@2Gy8dAC|5 zvmfZo+*#^3YZf+lHc+Y<%i?oT~; zjBk$4ovltU3uOyLL1Z#yal(-=f#x~`$!sKziipn+2xb^yKm)?E`ar$>>Y-N`I zIvT_a0t8f4eju+HPAMrVnKd+5{8Q%p_g;Z(?gj+l&S=%MK1u?QDHeP{y^i+|$60=? zKw*MZ`FdGPF1kF_*}EbAh)zw0AzQunIi;ia3w~L$LNe;C(6Iw&VUmYS73=DBYEF^* z8iAZ1Gcd3Kq9U6W#_RpILVD*GQV_ym|D?YD*5e3)9?-m{f6#0y%6Dt`k?^q@X2AUS zA^Wd={PUll{6L{gBbYjEr-MSB`>A_#Os+bst$>V9?#B(10~y|1<2jv7mwTQ{EYE#0 zJO;}CL$JbI$M_C0l_Y&vHcoe8FLaXg%V9cKF7KoL#_V z!|CX$LccG}89NcF+d9Vukw+d_9Zc`Soao7dUvRwcaExH(RV&Q?2Z-p4fB$ zgK-Q3+@D?ac!8G)Z8xzgRQG7^etrG+w0fNw=lhpk0psJb^L6IooHM5dX98K)_F#|w zq2l)i=Xk69kJHnM2RA-7a9DIzy{dzVu)(n3!#kXvYi}21mzl zKdyb&w{p#7TyKYC;kui!pEJ*q%g$0snBYaT_|$k!RoKd0$K|-^$?7EgGE4B|QqP56 z_cpw!+(f|w5!%kWxP6@0xoeZG$!gO?r?(gUF37Z@RBFtr-;0udc`0FaZ7rQ_uoomC z;B{JRaPW$PjBM`!=u??6Dr_g2H8<2azC2o?*JuHU7D*NG*8_yc&k1-P|EEt@OySko(bRY!!P?=lPqduD^~y-E;d}F^eV#YlbrIk52%Sjr0hi|iZKae z$9xM|Bl!;t;kh+y0xvk&zaEQB(pxy|nzmk?+#r*rJEc#U&Zq1!nT!~l!{0eMXT4V> zMTLjW$O$JG!tr3pm3t#0@pM#dcji-L7Et6X(dkp?;kv(utfzIxLM7L^l{j1U-k*R9 zy}jbV13w(tQz4^v|3vb}3_vP<{QbjqzRvoKJEhVv{I5?|3;oJHr7{`3INbO04 z&6ot~i4I>p+Na%fU?Lr;7R%uN2I%u;+vuM;ANE%{I$iIT>C%H*Io1~b=9DE>X04EC z@JMI?fMf)p|40@8DL(zVaBsnTqESMVwGxB3$O~S#cQ{^Bo_E1H4H|5$>yxL;J;QJ2 zk>8n1F0u9%kdHi?Nz_e0j2z36O)5zjQ8qTrJw6;lu83hSyT7Dv9I47au|$0yW=TTj zV)&)3KaO76gJf^*do^mu$2$kBj2edA;jV9%LW6X+fH~0HoP1rTGbH)~8jha6ed(E_ zo=5kdI#x<#BCf98OFr~r{ZZm$9JwuE%0zBMK)kQ>QrJnL|3nAlHKg(1)AQ#T{k{O& z1|fxEfkg-(SzDpHBOn<=8(OWUt-GEGhMqpJ20H;#b zhL9PmH|%Z`F3Oq8Ejz!k@}^yXToXZy>`0bSnZ5Wb`!F%(+lC1fJ$|i-B`Rx$ds_yT z>M*U0>^U z#p6n?Soe1Lk9{eL#B90#GM>Xxo-9W?{RL1PAf1`@$dZsb_zNZ{M zN0x#F8imC5L8Uy%?FrWyOQM#Jj}V<|COoSnagm{XGb; zo801jCzo`+)%X}m>?Vt`UvFolnEs*vl}vO!q-kSgyBWI6)1<72yw_fG9+-?KvsF-q zI3jo%5sHf%U3_mCCU4@FOhYUzU%V*2k{=&y6x6u>2 z@9ZU+x^5iCkAk9EU7v$59v9GLg^$vKUA*_yk=J7jivx56QKD1cQ)B30qDs$k95kJ3 zFrurD;O)dvxrL0AzKw|5@5`{EEfR@$A{i7TpaXI45xdInZEWPBEC+Y6vXaly|txXK3|vWotgPzuOFZ&s)hnK!J0m=sqbOHvrf^m z)$b?g=Wo){6@(4QDD5os_sb_SWlVa(0@80k=f^M+&HGJH!8{OhXoNs?J$AzR<_nVp zp-@B}b2Qj(IZkSiO#mn7`H3mL{Hl%>gD=4OAV@O6K)>f0!;l0}d!#6j<$Mo!EgU*Z zbj?g9aTz;Hkb|q*of8|)lfvE}-8a!L7QwN+lto+eMLh{=TNi}9$k1OAtXfs3*=oTL zGUu47og=R^SQ34r@JHPFKZ94`V37m8B+Bkz$bidE1X4Kyzw!Ea-urtG9tKU-FbcT? z`SEpStJreo#2V6LT^)d{e9pn~VIlMY7>y%N&YfAzlub1g7fiV59SoES-`MDGE_6*2 zOpx8!?;YG>vDmHj*ic`NC(7k3@h0D(g@t=DTGrdslfr;mA>79h?gKWUF`X<16Zvwh z$Da5B@R(osIK-A@ruaf8ENw#_Y&INZKQ?P1;x}n(O())@k2!eC5g%Y|LqYO`Ka2Rc zvFYDnY!M9jOf^knEhs!dLlV8dVyu(1v+RhFP#vGT>qBTx-g`Uq#{n)mB^E^GvBAMe z1Gz$8%LHdXHN_%nIdw%63cLCedar;xD`DFgtd!{lL^|P~+w7 zdgUHUvL0^YafwwlAFtcGQ#5|_6qs>u#+h8CYmx|?urNp}T#0pPWxm)LCPzKfE1fFG z0v=vsj79uK1kg`~ax~b;AmbA(Obz-PGM<(EZ-dWock}3pfQ16a+;-XAcD}g5AlR)J zf>!hsn^N?tyT?F}L`@vky#gSf0!$N!VyPzKT}AN!R~GEEUq5 zh|3kyaC=@Qu&GC<^HNu>-!yL_x;tHA3|3N z`V&rQV_-rv#S@b&QLix8#PNBPoR^}dhPNI$2mEb0)4mV{Za);LhQ~s^DK zppdkL(h!^;|6qPPdIBTLXMr=J*81jqt%%OIy682rwPT*O7uui$U8w?vePAj)<;v+| zb2#DJ%9|uUBs3R$=UZ?O!)5uaY<7U?=zqZ^%-HU6Bvax{459#%4y>us^)8IVn*Xag zeIl4aTFV=!1%=Vm`R4WZVSD(cJ!@O!a>yu?Rwt_4n_1!*dP78K5)1V0*N%8_+aqJL z?JUGhd3M43n1^ZEqMVcW?f7rOH*$cOo(#3OyWM`iwCL3on+km?!{l-$<9GMMhSYR| z17cq#b!bHE*^@#851=Z)Jq&QW7{P9Qcc`C@?}72d8db43IEgwDsxX{tOHsVpD^@28 z6dr&ln_&s&vjT?4j+Z$HOUy&niOcBRtsunG@jwFbbY1>p^{UA9vDs=%ULk zbhy#!Hj45_VE+HY)`(AKoQeoBRg$3%h_DzYl-{}Kbk|B0sxi2^BM(?s-OlxgAZX`b zrIFwadFbYUApAT|9h)1w5$u_JUXPP5#fOvD>CN#TYk;v(zM7ZC$6zE*({oYJ#Gz&O z8z6$?A$qQ;Z9Xt-C+@q>`Kd=;Pc0F5qff>3{&-)o~|;qYF+-Oj+*T2fJ~_nj`+ z{?ipkMp~o}2dVLB{GgMkla}Rti9-aV+bGLHS@z}E<%Zwg=0E5G91=0fQ6JQoj%u#< zAfy98V$V>jIG(c5lW+Kk1?E%6@Pjzs*7gaKJQ?Vg<}wE3&=pUdc4 z=*D7TaVJNV%iCGc3Ch+%mwUyDl;;eEcK2)A>-_SAN;FvarxZ1ISL(TYezFdZ=&2BN z2^m`ivPHx@7n`Luyrt>qq_)Oj6x_!VPFDWH2=Zl`fOK}qxQY)8vJWrl&MM&5?J_PZQ~L?-(LWuq{7RCMZxPv){{AU?j& z6yq~Fda{KP1$KRR%uKp2Gr7Iv!^_nXmLH}q@1z1xlXK+AzCX_R))q5gb+Z*BdKXiQ z-W+2F>z;K`j-V9GRq3-vz+dWmpXex;s_>R6RJ?RVUmc1PJ_RsC#L z38UrW$=njhjSA^ll}hAIkzjT6$7JTholv@fr$31mV)toxg4sIbO?l;JAsxEjd1+ua zZ;}O0XFdVep5;lzux>4UjBV(EeO(lMB}k>3mRSGe!Of<-dz#6X{(0vSL|%~^z}rC^OT!p8_z?IYr)8TL};O|jKy`! zr+t5nfJ`}$PFgBi^{sEe$*fPMqHgYIh(SL;(d(;G{ai7wIeRy+Ggoe;_W)z!DTu8OVkSg1bPWulOFq{!ECj8QEf~#>iqJhL~O&eV?}BT#kaV^Hwqbn zmajF25jE55E?Wl3yIZtWRV!Y>YDhPb|4%4fkr1fOq?NZnx==h*Z~%u8s>8n87i4u@ za;?V6WopM2BdkMe-ZE9h4d)J3z zIWna=`dEgL07@g?cz+&AB!Gj?LUe_*37s|G5wxS2x90E9U(_WpmaRSVTsGH1yZT$} z#e-U{hIyaxTCd`dMK!AUm_HH0cQI{P*dN3Ff#Besz4<&yI0M~-X?xw+krJ*PAkp}d z1MckQXQ|`@gfbk7*ZwgnHG^2g7Y%UvyV!7h@qTWE?LzkYUF2^=oBlMq0+Qp2Ph1oG zP-3g?eTwd}rg5Kx6$rU;)gCv7tD4_O(f#n7-1|VN(Z|7d3hqw8_p#wnoc(+xTeZ-3 zMWt}Hrf?|0xyG8FNYrA!0~E-``^;g^@Yq9@-IUf79CFB!_bYv66(QGm@5KE#aMk)I zakdtf2$)>6CEjYPbpphs(UtX$GMKF?S{Ka{GpEyZxLg2dh{1djoH5{tbC*QJ3DSv8 zrA~@1EfZp5Oo~-JOCmUMC~c%=!%)?-B1Ea%veGM5?`Ny@wt->l9FSX=e$Arik#sb% z`6Eb>!x_M=0sj$=%@Hmh54JN!OMPi8rz~t#w#Iy!E2tBuZW+Qa}wPq9qAPJO2(@_d!56`6$!@5VZE+Ric8^~~PhVYqH1AxRQnyo4lU zm>GQME6=uSXpaLmHT7~_;H*h2N#e-%MJ0lFE`4S6pdTZ3iQPQFCaMACCEeK)u$j{g z1ZhVJujT{Kv9BW{I-Rs+L`{Gh@zo*wWB9$;N;DGPq84Q}F`WqXl^gAD=@AN;ly&Dz zx_3I8d_W|_GU$37+M4GeW--7&0I@B!VpgK^K5Nm{v(qS&G(Qv2@Uh))4HWAgBc7^_ zWHPjoD19!AK#imr`-OaBE%R0OYRd#@mg9pG5l4{4`-bk-RKu5z<#nG7R0!rh-fpar znu@PQ<+M+mFMqA3Fie`O4@;56AzKY8~I*{M$>Z9sy0L}zRQH9!EwaK8{qr8J0^)L zcXBBxKM>8PIq0m!f!Z5`VotzORlcDCct*l$x;12Kp(Wb)dFk^^2n&DDhaB^h#Xw!vW*{(HqMB_IXfc*Z$F`IIuJzH@l@eEdQW{9O2 zM!BGeTaCqBXAKxh;83QcAkYN(0TNDTS78C*3z->xq?BMPAvT8-MJu!WL_HzF6_^g7 zOT&Kc^C2g??EI~X3C32+Hsvs|&=r&S%WJL_{~>Y*)_#3K1Dsx12b42oMm@yILi`uri2tLO3smn+2EDA(39~^0a`*3N;e^x4$yIarQra-Qrsn?uU#RHo5k|He*NXQzr1(OR6- zYO;xyLO;~@_Zk+tK7Oj!cYHU}ih4B8j=Sg%S6Ak;c~Q=dZ>BJVAb98RSsmTsUYJ{a zjSA)HNTyG8bpRKOtCrjzuao*%fi4iy*)OmVT@MVvlrkCe_*fJ0WU(W=saDTqtMCt|bTqAeol)$?GxrtZ7f z6TwLJgb6v>)cCa{f-=e*{`;YhmezM%e*9}>yjpP7I3c*LGaTz(JoR$U_nfvMLecrT zG#r2IcidwGs&-n%3R91ClXCb$d>%!4c^l1~3$}`cq5|-nAOKO3{E&+$L5qA(JeWuH z;&y|%m?k>H+qYMf=wRw{&*E!{{S%*pKi1~IF2u!}8c6oV>rsHpDt8hdbY2u!I5T=; zb^c7<7oED2*}BOb-RMMdaW*s>t)*raL9DQyFm%m>N_&|^S+uq7Du4iUbfrPahvSyx z&gvK*ale$hI5VT{pZNpl-#EP(<7BLmZ^aXvn zwn_(pk?8k58y&EjzL5{`220Oti`rc{C7no|_I zN2iv{Bn!UXd4P)mMhurP78!FR`1jcXE>3)@k@6~3Y9+CihZjf(MABHg!XrZ5j)D+*u!MYd%WG0AH*?%CgPPg9uCw z8G~W%k9Ml;6?fHF?D~|?RU@bXb6HysCOz|!ou0Z&)BZD?q1ZQKrKcz?u$_T8TC9~; zO*qMd4G&Ttl6U^sRy(8~?X(dw(-gXcBIn#ArO=_{qM8z(be>D=>V{OWcG zPE!|ugDl(_AlGYCxfn3kueN)gWTyvZZ8XDMP*KHow1bO5&1YhiOYOTPASw~HYSwYC zXd#@FQCTAH=Tlm-x8Y9dnWMiciXdd0iw7#&KYFEnF}mhd)oW^4JGCC z9!rP*6V(p2s1*UYpbDAH!SDOe1oieZ_G)-#@1_~D$;Dl$v{ID7v-8Il!LebRTLMdh;N{B|Qv zjRZ~K7MnRQXBq$$Fz(GHmT!XsXwYah$7lQ$(v{WG;utMQc&B6qP>oB6QxLLQ{$6NbnA44C;;o|e2A<#Zblx-wC9 zL@o2mCCAz#N;y5&R{*vvwp?Km)Ua&1C2DiGZrpFh`+4sqst!9b>op-MDYwkJ0mM85 zYsiIb=zy<~zVRH^d3Y<%n)lj7RduxCqVtKxNdJ;^RAp%&|FzS%!6>>Yx_*d6l|2%$ zL={S8DxjM*(YN$Apmjt3;eOFFcd%WFvvR}KQBraOJskveX@mmQ6X{$_V5HU=gFe8o zE+CiTa^5zK(enJH)8uYOI;5EFUHZ{39rOTBb$@_6hmg6;px^8B%_%}A5hGc@Vkz`P zn_7^=`L1F<C%kW3SmDy|=8O)_1K8~qBM)PwM7P64qmx?Fvrc?sz-|W3xAN*WMyuttpfq`Ce z&+gbfEGf<6eK!ZB6~4yDd{Iuit@8b6in9ec!L_RCG0j-AX4eNNF~KdodnYGsuAm)g zY=g|I>}Zcr)Wc`5T@YH}2be|4xt^GLXn&0hqi|^XZ=3fw)*OREu`GxF^f==@z_XY? zk+I`YyZ7xzxo1c*s+9e9E-%$%P#2g$P zyY*pwGZ%aFAS7K%SXR>`jOD|`J4fr{(Kguud{u8Qj$W$*TbiN^XNPvQUimho49Iu6Hh zarVJ8aU!Pv50w~#cG4E&!V>satiroinBNtl{zr`BCWGwOnI^M<^VoP4$-U;IovnE_ z9MeCNYSvEkrUPH1e-Gfgg!QIBLol?nc<*|GuLoq(n_U-EDJ1G&>bH=PN-g*NFZUu@9>w^MoLSX80MzfuA#M=FAN9PL zW2Lf^{i?PGp~*Q5P`G2;q9%UOrK_(i0?Nb{hB3N>>ceG)>skrPG0?18O;QPA-GURV zWRdA#BHT6p_ueo8JB%vBe9a1gR5VY~e0IxUBMT0tk$4%@6q8^%w!Ph3u~kcdp)Er0 zE80ncrCgG>io%*iC~9M5TbWK(vlg5mD+Pe74}fH9~+I{}~= ztY7>3>>?b-)iGt(>gL(`a)}FH`Rk@pefgQ#0IuUFuMPZ&My#2hO*Fie%bdRm&QyQL zL|OXK;Mn!fTP&pYJP~0#q-u4CHI_9*Hq!()yez(Oz+U|vn`<0vtY(jq&p$XHQ)?-5 zp(``dm6G+iEZ=I(Q&&hw;B=vU=&b{0Y|NT%CJrH?H*AD8rh%6GJKi$`!mM1c$i z)#}1;EmSIe9AXSibksJH{QjPLdPdQeCMJ!ipj4b?T6JQmMm*Dy_O_H0TxHIOG3^ueT11s{7uDWuy@)X$hsfK^jD9K}tH57Nk1{MpO{#ZjkQo z1{D~(heoAAKw{{4&!F%;&*%HQUjOhiIQ#6q;$HV!d+mJ;50WcVof>~@`fsnq%}2*O z&f`#qH%|9Y%Z$-tqgthja$>K}3v;p*h1~Xw64JNQh3eRlKNw@<;F z)<>&XlIIEhhYZF=Ej#k-NLQGt*!7#L7CSzPpjcVD&8sv^tm(atm}9BiSU6dmQ|@$QE4`+s=q0&n-z?s5dU( zInE-DTQ5u%me@<~nyp=3ai54)i<*y*Z+Wv2XHjTlZU*hzKV*?1OlsKyHncZR1L;B$ z+8&wdn!cw2T^q^yg!r#jJ;>>WNAkVJ6_nZi&p8Hn$+$?=8L5r?rr=0|o5E);XsLJW zOU*4m-UojdYd-shD_O{5Q>(8ed||itgLABK`<3xZ1xHKt^tSg*is_cscMcw&5j~ve zIbP?}qM^spLwJ#&T6F0%q@#|P&?r||>lh5(XgG!QjVUzTyUYB$nx(&Qz1J-8YMaWr zI5&GPYRG!Q&d6avYM$y+Xf5ECo8-FGCkdIh*mmEFGK4O5cx1f>z83zQLZC}9b|9#h zt&_?{EY2q9O~;e||Ns=6F_M5^T|MFU46<9UC8hCUj}kpCZG0&ognihAvK-lRHsH6-Ds_*?hXU%CUm6*y`Z;(9;YGipqp);8hPP$#PS+O~ z?UBuVlxcc1EAYEfNmBR{?jLM4v*D1#wOL%uM*2)>ZPjlnX(SYzY?ka9#f!<8erVlT zICEwpKa=*hyjX-+ox57W+?(a|(2LV8Jg4Fe(n|qhz)+o2yw|zF;x!w=RZoS<($qF& zo036^aO_}7aoE&&22Q-i#o@_-e+pMNp}}k9mAzgLwnh~=B;`QiWInx^Ef2}fbNxja zhjBGIJ8Z_uf7N?m>$d*q@%w#Uc9R^+J?GCQyJNPO<1$!A@ZT%Z{12!h{z}^jIQBcA zC%m|juf#{E-pXC`6w-J)Yy(|gr7lZr#Pc!41_iqm{!?qD4}D4U&-kU#pvg6Qbg;Qy zA8=bNL8w^QHa@n+FV5HRzItSSe>dCXeK>S06LoMd?humX(*biZ>>2) zl7T|QqeCvTj~d>IMHEk?0<$f|o84c@Dl4;8_+6jbaEF7Ob)j44Q^?N|E8}=+8=fbW zN7GK)m2MxsY=S8Dn;ohOd8X1N9lb*Uhi|(R_mrG5G&A_Kw8DB-xT5%dsOT$gX&Dz( zC6z)rRr&nf@*AfocDk2uaDL6pQ1VM_pk@2fZ!rn6?M!cbEk1hYVB}7rB0t59OOiR` z@j(=D=(KZC%1O0(`$NaIrE7_RY@5g?3H!&nAsxOg;ZvE)<@sXhPKHw8v_zIQw&FgZt zwOSFO(Q=z36wvmk0FPB~wQO&J;d+<;j*FN2&IbP3Wbgt`6ddm0TZ^l2{Nr^sU2S`F zf28Z0XP;7fx9zyBBwesDu`@e~z@p;~IkYLAJoT-{6FRCKN@f=)V^@%)%glo&ZOA)S z!pOQ{PDV>9yWa^orZ_OBU{$JcbB1U&4UK5Uq(?))(u-$vJHzR*RU-grgJ_|fEV{&Y z44ma;hgQyw^L6O7*T0u@7f!yn%$oB*-l(cUT_rxLFqR|Tf-B1j5p|j6GWk?ZC8&tH zzr87Ji^AnadRI6$$-7+2#zdQJux>2@Yth{}u-`G~{)*es=MMCey~jz8jnss?PhGGUMWR92JzZ0$PXs)w|mW4l&pJ))?+nM#Z9&3h3DvTl}6+xv;yiZ2r;| zOl?}5iFC%)5sQ-2xI#1(p8sOXy|+5OP5Rks2$hwozgIGNa`M4|JqUr`)E_|cf)Uyx zk3JCE6m=KEa{m?Ju3RGw3<`=y+6h~y5k{Klr0n{h zQ0)%h+>4Qt4=liE#7k~alOsMY`jpMG)HiucXnu-?E`SwDpPqTDP(b-Va z-2R-8sIB5@L(3gba5X3rb=b#P(R*4ON>`kwyLJ-hlX{Hi$eR-)JD!$*&?evH5fgw) zO3Z%J(amkhM_o5SX}q+a*MjF=GPu9rRMQ<#Y{)^yai-eOHEvinyk+cK>T+%X$GX+9 zRoSFx?PdA$Yw3}f?3Sz4-76(4LV_Y5{4CZcb;K@;y)pPdv?weEAVVX2bt6{D>G*>x zDm_6}hrgI$BzP9emuDkms!f&^@zLR*Aq^=ZBe}~fOWhmFGY^W2iVk|RMzz$+4Yv(C zPTsa5;kCTw5*fTDqlqerxx2SG?5MP}p;D3}dVlr|^V{$5-B<%*bn~Y^-?b*#sy7~W zl-4n6YfOGeN=I_Xu6J)T=oDM`5vX@|9#(1PDY$dTHW;P7wZsPL?&eX(|zzoGAKTLRE8A6 zBOs5^Nk)pyNJi>BUOjrPx1JyyhC+my4X={07Kbu?6bklk3Sv z$Wxaq;}Fy;oZ-c_;`nF(C9e|Qn2Pb-?{Vf;57vgckgG9G$VQ5VQ0RH;4~aFEevH3G z@|;`N*|9!IwU_#2;fV^g%M(9!JmIdzn(8*sr!Uo zvh&3wj#ukeC$_75e3`J(3s+Q|jlZ~>e`cwKS@k;|f?>6$_OgY~yL}!(C$j%T$=6uI z_G#!x4u^*Rj8lzF|7_yfa?6F?b1r>`GS>l0$zv1hFmwg|mZYm!&1 z4|QUPBlD8vZ4ibdR`UdJFg%3qZt&2Wp7Yd;Q>S8&UzOFF29&QCv!upM{wJBp%#~Ob z+)}Ol;)HcA#6O7_H73Mvqz*MG(}WDhsK*p|L%b2Vl=&G5GrV4_PNe^NC_tKel(%rp z*O@-PgO5z3`zl7=BraQVy`_fBpx;hzySJAG3UtsWhK3=^4ctY;`Z?-cvvK z8^S5>FSAsAfKO9n+I zzm^0{QT7ca6Gt)oVBxdte~e4w zE#QlFW+ZKLpa0_b9 zL}j=giApbbJtK*748RPl8Kgb`YJ@rqg_l#%`^2dtl#q}RnO^P0azqe0LYaETsaUD$ zC7C7z;qG4*{8{dQ{O#|w5QdwJ9Av3YLxEx$V@w9ibz=&;Uc{9NW!3{LQTJ)z$NA?G z;7SxS+NuIgEX+m#Z11@gP4;PT?DNNFFlVx)Igi zP(p&ps}}?ZG5_-jwIK4txc+EMy~qWXVFU=q`4(esIn?#`>CiM9^EvQc+f&%dUn?8E ze30e;S7>2wAPo(TpKy;pwjCXrPgl11=Gn;9__13}=*fR98%QS9u969;e8GREHcDt= zl`vl2pHqBC^nVNo9pPF@cUS)N021eTFeem-#_M)4^oDmJ!frp~c1UtV7Rl?t6RVhDS@!8M)PF_yRMW@IpG zeD42wAsCOE6B-HvVX%kA$FEs^)~((;<(`y82z}KFDRlGC$R8{?fiqFuL>ek+fYfj` zktj$f%SDcemII*QtsVYnNL<`(hb8}85M<&~pYOBlOAW{v7qu3Y00u#PLt-kM86(2O zACysY#iPD+!UK^1DK(8Q$S-WUEL{120;WW(oNsGpB&It$ZJ30TQb-9OTeh@x8JL(upywnDD^AzZcCyWyS1n?4~C-w8$A)6+Y5557sodD@{ z|McLTcTH^eCVWoOh3!M2fOPV5b2)`ePHB-|KyCe}%?gbr5RNZnmRSGa?*4(#(o#f5}% z@w-lx5GR5`BU&V=ljr(A@n2UGVn)36ZxKONn_67lkl%LB+NDfoH%nrjc0}t(&=unv ztOH@sfrh?k(qqd{!H~9QVw}!rvz3yW_m=y3$N~FqXqK!5v|X<#kz+g7N;^{PGD-8j z;~F}yoKs>Loz~lk+cMLV5k!GIh||pXXmW7SXk2xhEo!TnEkj-CIa}B&=CgtTP$f-83cEH<$S7`?Y_QEB7J_I1QKsH?duzj@s76-jIOpSl9|dBV z6p(X=ES!FlETFQ5s`I27;r{?!1oM4*Rixkzm^}v)z^Gzb;r|Vid31m$SEVpC$=M@O z@L2{A4)OKBZu}-~7h#*7b7Y+3iB3KE4TRmXUv$8v_bD*&Nek=aD?6WHZsjf3Wdpv3 z^jD{UCX3Dnj8}q*`T6tJ5FZ1ddk`ELQZ#dtKak-8`Lhh*2O+eCgW(ZX9cEcJ zv-KbU6p|pfkc@>i|A&Lz0=)qQYpoElhfW*ki%RFYzxonO35ZNk{2`oyKQW>VZ*XY! zRb6bY$e#1DyXovzXRjlNF{vzkXcK20Z3QP1Pt7;O6A~ zeCBuo+my+Xz(CBr!b0l?Sd^?9lC3;k7bdVVRuBt#jjXqK)1*KRSCti@#P!Sut~#rX z#oC16&T?2b{HAu+VaSiQg%O!)-` z=RATpurn-+2({^{3YNnIng61TZ?H0-7&&wVk(w#zJWG@|D&I6$`go6E5KpA8u1-}~ zmxYau&1`$$??Bpk(ImrlV-6Q>RI!Z;x&O=~|dq`h&Qj1KLL;i=__B1)aRCx3Q_w<$W|cGs6lbQ_E$YUjm>{ zylpB0Dp@Zr;THznnwYL;Y=z6sz|eUgGRIdm=>Y?vZAhCMz`QH=@?T>G3{f43Ao0w~ z5nyT~0)XK1%AA(cCt$zVN4S(6Kym?|u}^FH<`th>4lj&jd9?uk?S6?s)p(o|t37a2 z%#~lCqUD9mNVU!3Md}<(e?uG<2v86#e>+6LanH{mE5!D97GJ#mX z?^=7YHC|L!He_9Su23yhf%4CEso}szMD`p{mdp*>=%9~|j|bX(mVR3Qm8BlR!mq~J zL9RZFaXIEwjHR1wbg!r*BqEYO+?qY_cSMlrzkK5i;2V*bq{Fwb?UuR-*(rZKA%V=X z`-Nv`MW%*Brd+vxU-~I&`$@M8)xjS%%kmx~Mh~!Dzrt6-0g*Xut;lR#n+T*5-@?KoY<>N8iKJGF{^NuHc`E--3K4 z8sxxR+upvvpzw4y^My`O2C6M&Cs7n;U8}TL4?g$cd8GaPd6-@DkaL?hxyTPnEbPB# z4+LsEQZ+-a7LEIq!@vc^Uh_WYqd|sds3uu?ZuVK zY31dr%YBLF1~b||O5-qCA`M*;(T0Eg`{KS1nONQNtnyuVL{bb07qUn+*lLno(@;w{ z0t-)1f4DYYl(-#-z}@Q~xM%d$#6e6zC-_>>nbE!>QKM_RMVT424GsKU`UNQMeF@hKvV6xc**R^VLRTUpZ8_fS`>-Ax1+boBn?5K||CHSW_&N@Y z`4KIYl8cEk_0ILwsl!p?40*#-@4op9S8lMq)l)+cU>Nj5hQZ4SnQ__K@n|SIFK5_?DK2hUr0N#kh^4 z$v9yCmNqv0iMdwtF6Nmg55?K15CjO|M0&{khdu>0Id#jK{h7}JV0!=ly?q^V^gki% ztEMkrxUbSiz7Lv~+@;uWH<9rNfBzjZ zMLAj^M17wZe8nH2$4+ECqKgeC*QVEYb9gLL#fc$l~$^D$3wXWswI?i zechHulS|JBOTtQMHz;urfyNJUB5eM=3Q$%aZQ4kMwp@-i%?*Y!8(lWEUK~EwT)o4- z+g(tT^02Bze}u4RCFR;vBvdhJ&&eX?@{}@ehQ4~J7}cWLajUpNHCTx>U_ac|Or zhLhCogYmVFZy_-N{;tHlc(YC*CAcLCMRv#KMMO*hg(~sUiGwPs=Pn;enThREZG>sw zJPbhxVuZBs6TF*$xn3IZ+$d21Er}(uo2}`G^Dyt5pZNcOh9H2S#1dmMSXhnOF;>?< zedAr^HQFH|PZ7zUv}T^;h@XO|^>dJ~P0Clo6U7X;o3AI<_L$RVs?u_^=)=bKQxGL$ z3tP_N*B1T1Cdg>|`$*U@Xl!h(-0sKYiqLQ0zNs1*qzs>DIbIJa!HV(| zFQ{@VXG7lQ>9D1-^FLOaM-3PVVah}A>ktuzca5vRl%GC*udbnyr8vKeel0s(9Eck# zP0@kQhP+N^@ZL5-ldTN?NW06EP^-T-Os$OqOl~7GWA^&>f3Y9yj zGaV<99yr-f*bLA*b>iP1P3hzq5OrL1ctv50W<9fD71P|NeZ6_@g>V%Ejh~$0mw5Yr zZA4k6Cx$H&NC+xifl^g}6YX^Z447#)0@JyQLc6bp206ggLXz^{lnvvaIp_1uQ)|}Q zP+dpw27tRKh?J+dC;M5V8Kr-LpCdYLxrC!*MP+q$;PfWHq4WI0PF!1;g&*<98D&H) zEh8TE&8h-Ii=3HR_G*F6x)iGy6*^V3o%B4 zJApls?f8*vNRu^!Ajr4vjMcFBb)W()^%VIPMdm1zzP4?-_rTi%d?|pq17UM`V!|Ti zgLQ+3!OrSsqs_wQ>`y*^#A8MnwX|QfHU&qHe2g7U$xi##eypQg&#tep_bTk|?mnqG zJM$`FHW*R#Z8b>{wX45Y=0~=)wyw2~N~0U^z6F`U_{uB`^@uF1PM_Tpx)-C zUgM3B)BXIT6Lo;za(7(rQ;lRoQ}D7?K~0?_8B`xo6&*4+t%8FdPz~u8s1`96H{9h3 zr0a=ZfQg?wyt4s%B+Puvb!%*vqe{TtLws!y8*8U;izP|ct8Itl=O>&;e zzi7fNKxFSmeKYwUGnIN{r;z0dRHK%ZkxI%TmOZF~6j~{tQ8PaC%Xz65Gw7CS_+mp~ zmZzEW!e~r*w9t70*z&Oeg=8L*eDYRw)Cr>Scu6`U_5V;T5*p+HmC3mY822M%8VxOQ z8y71a4wvj3!3(e2axR~&n7fZhs_u&*h17RJeRCd`E-;1QGg>QMo-EFaSf_ziIuug6 z<_7HyMrXF}_V&l1D6#m_nFpNl2?Nmv{{*a?sEz*Q0q(Of)f}hfa;s)_4fQxzqc^`9 z)0oHvkSHkfB;_dHnQ_L;PQSz@(lfYj&8dVg{yb}9q7crM zn2_+K2FUBz=9(HzOiY|S$m?F70YKO>A18eCJ|>1zqc)JEDEg+>Hx8<6XkX}M$7Lw~5lLp^DtSR{*pL;PoH-?Rn} zR>rqYr8eZ5pk&nFNYCj;s_0CzGMb(5WuY?g$;!#IA;s=slUhu!Pb(z`U?{| zxsR*c-m0(B0oeTyc>yp8LW^tHFk9|)%&gr~Ce2TxD`gxRb_C_b zs$knpW2^2>?F`3$sq6XsYtv%dN6+rB7!7ivKhsN11xcwO!jx{R2JRb8VbN5sU%}i< zU!e~M{Dtjji(H`$SS^^EUw4vF3;nT4slR-<8wK=dnLL>^nzZ@)ytDkEx8`E+^BFuf zbgIJZG>5`9F3D~b(roMkID`6*$oRSW`4Jxp7!ufqtH|MTK;09{^1F>8wWqgbmII5}o4}sIAn~+$HGAy?%Rppg zsGt@%4-ZXq%3BJ8K^)Po+Dm9D(juI^U}>Kq!~*7|`iY1moP)>*RxAx}{H@Tk!5iTH z4JD@sXj?g6n#OriqEEaFW_fXL!qE*RE>04@X(njDYk8TGCY z&cnZtIJ9pU2Qf2}P9$5|HmlL6x_m6u>5H<4@b3tLZ7b|$e2%(#Ts_Bp%LG)KL?;yH4R&kYT?iKDD{$Dx7C?~&;ue`^n$02?uiX>Aoy zuha@R4c1%9*~UF0{=F;=!> z@X6BAxw~(KJ#KtiwmEK&7n@}SE}rVKQxxEFakN*WU}a_X#8fzAFxaO_vsu4BoyX>z z=#{kyX-kOv!q%{g)Hk#l3Ur7_sm2)kw;vR|xvE?4;A_F^700XC4>d~Ebb$`^%tZoV zB3=VQME?=TTg+a=QdzUJPxIK%}@SQ9lfI+LvSVItKZ7- zfZbF~AJ=amB6L(`TNfs|-&^VG3%PcenCwbMm(Tuw5D_15Nn~qb9idDFri<-6DyRd$ z%oVzDfYCVYmifyL3`abF+O_T5x>xezsWTi)`q;a38-I-N2j;xzv~&5F+#ixp`K=4X zHN?+Z2O9UQSL-7_N1&F#ib`S(M30ZrO`nK?%I=kdB6U_OEk}-~8DnZkO)+`-_>PO1 z@@VKbsk*)(HYPGNe8G}5QruaZFXAW90TK!A>I!RbZ+BXh?H0>!W%`;7pDw`YyH#aJ3{67vSb^An)R{LHj1cXcvIa<@oeKg_KNmAWWuc4SDV0Dg!z-4w zjb~=H<(a&WVcKO%uF1ehcHG^|jvGX(i?XUE5M&zFCE%LX{lTp?7UV1BscBl_fF(e( z?B3TCF7_0`3}{n*;QC$EE94rN!OWc66?rdu;kdIlExLz{>=A}kj-`eMGIuH6PYClS z^~lw~kuoTSXn$wV-6b(=6k^zy{c2Yee>&IcFmXZ9PWW-H4vMDH^{M1i2GL7r+@ug& z6k)$)e19PPBZA0>iGYN>3xJ5s=Wc}|Pd|{6kp=K3InYKhoSuhHA&{qrHTd&(BEWu| zwJnA6NN2Js0G2cj>7cu|IEhANV6*W_P7X}nz<{!3`Z)&({i~MIW<56WjY1Bo@q8<} zb&DEVRTr0-vma+8ON9!ycC5`nh#WF9wpTGxBV^MrlSlO9rqu(TdbHUPsFh7U%_?Pr z{m*bT`lm*!GU6ZP5xqHjqI*;!InGX2=BV^lcn#a-QeCZ!5liBasv{K<0Uxr6ms?as zsINOLZ>19xAfr)4()DoA*2u`W%h0|anDs-tdTOB?50{8 z8Awk3j2ay(>eUifwZ30Mo-goTgesJvslAXZU((@;IDOjE!@LLKNQcwrhhZzpN{fpo zJq;Xl9Bgd;88q^NG~{e+>H_X zLOQ{9L}dloYgkT*Ot$m18M=!ktyq0KSm8PZU&Sq?hSs+n&1F<4n^anL<_+V5Ol(XM z%}ojvH8V-~TRiOsxgh54iVGeR-(r~Da1v_GyAnmtU#(giNg0gx6Hta~E;sUsFOJo_ zFkTgvs0C4g1SN=rt|~6rc88yos**#lKV!1!&$&-#`&N-PIj(7ET`SH?EF`oS(+!AdXMu1;poUe7g9( zkPxy>P!q@+|28KTJt)Qj`ZoYu(yr9E_~z}AFRsgey?iE@dOgg6KuZnS7XY%s}&{PGN~U@ z__em{bdL`<>-bI8~j zdB}56QHSgvyr>5Oy4p|XHJ#-(Rexdtd%F?hAcAfGK%&3yAhC|6m@K40#I9%I;smtV zvmg3MbyW7j+_?Z8vFK`UEpQ8TqT^IzKW8hWr z1p?hGu7z%chbXPZ9pX5nttwwf$pEdfh-REguz2wd^WfAJGmu0z2f>S2yiWhrMxU^k z4mHWwn;*pJX$lOrz~N0*z=tw-F&QVB{x)eS9Si=TzjhDb)Yi8sSSCPc8`%9mbyzWo zjjiZqgMmp{VZ1QN}#0OaKmrpOathX|J)BmN`f7_soqy8LaZeP^6z5kOE2o1ffya z(z^0i2_X!?<=$;>op5d_e`w-tk2Kfg)#o3#zN;;y{{7i)OPObNyo=5rKVhBsSv!@* zBraSAjJXe+LchddJMX@$D2Zsd`P`D#IIQ;c5kT9QIn zemcSRAV9>ciC0*wQxPX^bEvF; zgNUQ~>$?D=JkaDq3M8DK)EDzXql!0ugBIwJ=@$YN#;#>5Q3*nnT+pbz1{Kzo1n3#9>-490+ob5MT{Vz`+{!%ahVRNyz^65)*Oq0trROAxw+LKvS{+W6B zmPKtQRhP@td|Qiq$zVQpA&Z|WAvt%&jZy*oFgF0}vWp(7L%Zw*4aiG+)xgfVdON2~ zJNYRdSB0&gi~t~wdyMnwaEFYm0~o893v$22xs0UWwxT-9H4j z2-wpgh;tK(m{$!=BWEj+Erw7D`$L-twZ0J5}w74#j9>W$$FT@0JB@^gW)1CUR7q&wIMd202BjI zQZ+$Pwp_1n7}!Pyc77w0lV{81>x9gJ*k~**_w-tlS1?ozswes}ywoPi3fHPz&v7X` zt6es?w6=C=beRZ){B&^M$`$GSKx@B@AS}}-^9Byy6MLVPntx9Mr+dzyrqntS1**K9UL8{wW*o5wvVh)A`{`08}&#) z)P`xRTg?W9*1`n`txb%Lfg&)nhaS){wfb`K9s(BrfH%NwlpwR+GCfJIE5iI2Yq4`N zRvdx~@_`M)DX!htHa6ksKF&5>Ogi(PJ77|vYjq@R@hNpF*f_Wmo{B@mNa~G;?Pg#u zvYnK)+7j-)QAOMxr=pvk6nN3Ech!s&W(_)#tc!jtyj2j(V zn{AM}*e-M8TF(cYIgJI^0W9LCGyy;@GpOMgFSE5KrPpp&>B?>8=F_3KVUo}{AMVmJ zlA;qW?QA$+k}na46PFa&;(CMs)~lxQOVQ|^O>q9i6BkhMoR0DAoKVGMisa&qQMr!~ zS_7b8-R=UPQu>!1BD9QFhNeHfITxq$kj_rBdv}kR@B>>8!z^WJZ~f^|*b+UJ`VZHw z_|waK4&9n;N0YJh-Oe?0ORm9``>br?r#21zjPofkgS#6~(&xLhbMC(pC#>`tjZ*O2 z@Eg5S5A8IPLSyb!1;I%!S>e%;$t zf=kn1;kw$nOw^y2SU}(pF@d5v-Kz=<0+2ra^RQHg7SUtIIv`sUu9lP;O7>am+dWLY zpcW1MbicQ3iSGx4H4Ualtj}g1=Az!og@v_0y@mW!!!A?b?LEQ_mUh|8SeU9k!kSXE% z5LeZ;n3xyZZz}D(0+5oOI=@dho;-<;7xdbH&IBBHb=Y-yi&Ygq@*Ku!D|T2M^+s5> zdeWx!9+54EdX+tCj+#W;oR<&9>w~Ws&50m=g>`mBb5kDNQsmz@ml@QW*GWOd&6$_% zwem%IDJ+sb?9}{O?9enS8Uc_jF9nj@#Kz8fF=WbJHaD5(Rb=`*BK5>R@=05I(>9Fdu8Ekjbmukwu^ZDiF)7F0G{mmyZRrd)>u0|;njq}P~bNAJQl`~A7d2oQ9 z$DVDLOv$U3Gdr~HMt(!e(-vayrzbdDG!4o#+Dam)c7~L~c}#;QiYw~})w0K zz2WPmq=j}9W6FuG|CggOJ$TOV=9{!zAhiS>T*a779kUuIZG+DD*a(NlAV8&h`c8N% z%r=Un<#X;NH>kQ|9($sC1V^k)nz4$z#`z0UZ^ z^L3#uH^{O|Rc~rGC7JUy+CLNrQ}K18c*0@4;ve4}^ z%zoV`Pe-MbvumsBs=l<1$5JK|IJKnuOffzcedyC{QzK&l_9`|M71F7yHtU)412YJ@ zah{e8$o75cKi@uXH9m~q?D2OkUCQ&W10QD$j*a}vY(88DZuxfck4$p~8b-c97<%#- zXJn}$ySonY!md5y3G(vz=IdYf-9h{JfbLyA9=M{r&&6ZydM}NMKquxQiyQ(`MDl*= zEqs}{{!%!?grP<2On<`M(QYY41-?3XesGsGuFzxKSi7cK$K$=WAy0my3eb^_ual;0 z7~8nB=~rIuQa9O;H&=!+Yd{980tvnDln+LxV++hR6eui;IhK~-;G}TydfE;Sw>ryo zaR2dH!1P-L)p^4C_}(_1qLG7|bCKb6p`SKPgqml&fj8Y~VaDfDbL)I0GM$E?^Ow-@ zo!2%sBX(;7xv?7hi6tjq^WY!nX%0ef_kOg9l1JGN465XIUMw3y`=K!?m*=YE7qxTX zsTo*(%lRwq=gn#zKUz{uLS8!ynGc-qpFa&bERX#N2d5%6p(|EH@(nK-dnfSYMh^`^ zk#BsR+buzn$-cd8*O3b%i^59+d`X_v(!LvLv3!fMsuOt`=l=e_>o{ThhI|L}rkG2R z9(c~OET8?&hWk$N;K<@#(h22`punx^<+}9d zv*#`?ENMLAxEx9yclXA=gF8Jic}UEmhp%EZ48}hFNRu{FrvtsXuv*%gItFNo@O+Z+ zf2wJiSQd60KoFy4NIjIXw0b=*OX8#t^_g+X0`3`>R!!o5fIMSUBLe@a`=CGYzT-q@ z*vjK%5=+Hz1xS5_1z-o(-CsS9=!!z!VIL)SvCi~rR8O|IB3MF2X3KaC9&oOqOJy?| zT^cn`P6x>QN~jrEs5k9HDy!>n_a9L;Uj$w97JIzNIZCq9o1Wu!DdFNal1(j*wbj$4 z85ua&o#5US6x;~?-16(5ocE=h&4>M8BRkrzySt8kd_pCU&STQ1U;Em3&elZEvbfw8 zGB;fv&4X-Mtk+p&lk4w}VY(levGHJN!>d=|V+<=FQN88X*alyDrdG9FX4lBW4gm59 zJ8^XVSJcOqm4s}{+>IorN}NEa z@64ttQ@-Og%;U~;$*0USaFRz z1<|kN4%p0MWe)hVsp(CXP;kHU73AI(GZq?eb(&92iAe4U#!qG+V=6kbiC(RbhggpG zhxaLdwi2InfqO$@WxN}IB~mT^m`?q4BE&8$3VC5$vE%%p#zZ!I=e_^xg|M7x@Yhv5 z$p2+Qs)|NNEpxlyH+dGDLW#QGxSq4*^U=9ZyI1PjEn}#b!HOviXqW^TI#u}9n~i_m zH8C@#>kt1HrdMtEM8L5gzQ$Lpll~f2{r(qKkN`oP;&iHC@%m9cANdlr z!7#?vAd$+&W9&S1N|(rcH`t4_^U_<{uVp~==tGjz7G8+{(d)K|G%xH|cc-!qpM#A) zbS{Jo7yD>Ac|%(>H#F8q3*lARyGuFqC@K8o!$>FY{S?EI!yRtWCgN|=4fO4mN| zAO~czzS?V2t>u2ZHSdL3vUe28<>OxxCBU82nd#~6g_4Ii2Qm;@1)`M!(fut@enIr< zQorst2+CA?xV4l%T@N4I-I7V|z7)IE884ou7B87*1WFlCZp(Okz&Wc`CyTr)S3M%8 z?@-*U=nt85iDSK7T#6eb&QI^JmC5y#iSXH(WcXxLrUV>2B#hpsah)UCpnq4ieFR0j zI&p51DxvQf%*rh-3$CyMs}thJ1qHHfV(LP$O5DC}zL9IV82M3*H>eWCAu1%3;{Kh_ z@U~doUS5)0|Bqo;BM!q9@0B2h&`1<2FG60>?tEyYDe70$XcRPZ1b6WyTm~N>ZPMsm z?z+=_&pX6Yr0I-;Rtj@O0p9`H@n~{5KlUNkKO9P_Cgsxtd(WBhDCF3UrM)&vup6{- zn0hahIB8>?|2^xIW?*r$rSkg@#^Ku`@kRrIZsMbi!vQSlj7J~JVwP{$h*E?#EIq$n z1)Bkb6|=XU8zlox*K?sWhV(*%hen`C{ZrpaF-}3#?t4SQh=TK~X)=Y4p2%*4`j zD0EtFz8ETP)SE)KPPR01=x3fs($pjC$<^si@$q=HsRT87#AqIcM@ax^6B%A|fZAT# zz14HsRW#IQi;PZQ6P~l(O;I%-J#3eay+CcsCg;s!xo&?%dpam*WKj@(V&1ms(8&LliE{*^RZbZC zaXRy@FWBs)r{N!avt?8E`iV z%|YhYS4$WAg(`3JAsc#}I#>AdOvjI8XqKr{R?7&Ngj|%nbNG<(zA7!!ahWpqbQFbF zi5DNToOBatm_6rH53?FxY+5W@nTsS;0Pi;_$t~2RVs^r@}nVe{m4Nqxs}tL`#B95^&oM(dLYE1ZGVK8VZgl()l>VR26L4x z@8c^6zx?x*Gw5_B-68myedX$XyxesUFINhvVAem-Re8cl*T4n_lV>WIg3%V=TXkdb*{Jljv{1g1)PUD;MN(~P`0&fL2VZn=A4`veK;V# z|3O6H6x*}n?BGz?fn#XR`8KR|pXDng12{=Ee&P^dEXghWwAF_Yrc_5KaCH{ws!RZ! z%K(~Cm7Zmci~z^=J}^t)^lkb|1R*!;oI*qzEMi!X?3EPXMoh6vD|W2@$TZ?R!1;PC zDA$IT^j&{y!&m?5?e~zi$;pzQ<%FqL>-jPziu!@Jg57Y{$K=i)pl{^(gkLd0ufZ zXQ~HCv}3L61YdejyEBhy@q-gp{HFEwf&Gj7RzV3~->Y-Z*9V8*);BNM1`WA=9)_+^ zS%&D$x}P0HgyV_KS%z?}4>N6gc5Nw5zFA(|ubmXkqiP;hNvOCyQIy5eZ`mJC1hYs< z-$B>@K!8r0D6xJSn{2K8?%?0->>94VJ~LYT@P3&rf-hLSbCWXY-6wK3!kj$c&IQ8c zb?zAG#>dU5o_SIl)FSvDzXpo`kt7c z-)2*KYJq;v$LJQV+xv2{?;lOqP0rR6cLDgh->{aO?BCN+;`1w(c)*WfKu~X;A9gzX z81^HGc4={`%aWLq&2|3F?fK4RjVKLl)?QLwt>iVGEs5l_oJ>f+Rt}vZTP#;YNRW2b zv*13i0+txUWcTBp@=F!Z&T{$n$J8$oy92!$X%GHiE?h=*^m&>5*kSV&$daD=7f`;a zj|^I?h;6JqDlT=V8xDZ-RrR!2M@J^Jes?An=v`Y(bZF4RyhlXXwPQ{}q;3lAMr~RN zqw>+d4Z<`YU7Y4<55c7uQ?8qVWbv=^nmzQMw00Gf zRoMZCZLnYl=&X*XgJN7$a5mXmHYw~#8kinh9qB&Ax9@3OlZk!Su{<&>4gifDkS0I*x0hV+e zn-;iLw`4!*;?KP{R>HfQr1n7xYaix5&R&#*KalBJ=pi`{3szh1!n zCHluSPE|$O%ivXMASK(!dvqXx_Q@tZb8Y3~S@T8jr2>J#oa4tkR88>U@xpKVR?oL3~5Iku7_?oNHc9b{HW$T!YHo#CyjTp8C%zK)T% z{oZSSm5z6Q{RT{kdAm`}5NHono@dvgSDxDoM3C46>lW|OP8t9*Dh*Sd?S4-BD})++ z8-J;2$UrG(pmcE_&Q;*(=$x$Q^)pxnb~s0#+C>2qzYli~*ZV#5OW;Y(0sVN6b;*60 za||MUMJ$V5+r9)c2-qe{uaL0#Pe-8}B%veKbSUA_6u_GwSkiXYt~HX}QzQ=rYu(hl zhQov6?znR?;I1CACRtiO$}KE8+sco8HFa23AkdYrEF@MwHJ7_$)?%Xs5wg<~C*`dy zS)@IRN_r2(;WI1c=oUTak|y%yixw((g=#8cz3$G?yFxjnwqmC#UYE|lbDM|7=2+$D#f#bJ7$2SZmD+{}LVv;vV9qOM%p05p3iC#b`)eZ$J~Uf5 zI-#wT@bj$js@)|xc9~_M*pdr90|PwHRMf?yf?X3?t*%-d1L&crUP1<+yi6AC9-J$? z@H_1?q-@a9EB+cRyIs8<;?RW=y}M4Jagd#O>eJv--CJvwe}`18bvsE(iu`ruB2$Yv z^A^(N7z^yA%KtV{IA=#%PLVBMd3xPud{a_Kbet1wX}8E;)LbmZA=437m`nOFK{p7> zSTg8oveT(SmNcbqZLX5uY^=<(t7(~IM#<&Q6E1#*Qu75$J13Xy^=iDUue0D*1xw2c z+vRu94P-)?B6lLY&vzdo5EldlH&Vv-n-d8)asX`eG1eV+5*n%cP3o#i@$R3g;t}f~ zLV{C{ZO(Jj6GP(ej{$eEX>f8{U-qd)8YoY2Cp~FZ@#UkZ&{lo0hvjeivggn#1$8X1 zWpDmi?*;4e&{~x7Tx&VFd^66@yW?_#Iye&dw&@fRo6cN!?%QjD4>XRC?F-> zjiMrrbceJsq;y>)0xG3+gCgBEba!_SozgwT5YHI_#oOzDulL)#p0yr64KwHLy?>p1 zZ%Z!?p83J}y+>T2vBz8*oAxEs>k{8{oGXv#Tb|fg!X}*Dzpyg#+lxY7R|0hQRh8d z9UiovlDv_uB22IT4oTgp*0P=;llcP8s$@#}NaXt}kV|V5OYfwe)PF^M88unUq2Lyo z0Q-+o6{FSHD9AEwNb$MiQRypl#|c?JrM#NXZ2d=3JqmXFQUM>cqD*9t%&4U%`eGXd zk!TV7M-xe@V}3hYzl>?GjE>5Z|2OET`8xlUTsKgsc*Mq*hc0gS zGTP_POHy!BqhYEO4>xm3AE|m}Gj?{YzM<#YyJw>7&g}#@h-zAR9oJIN-eJ_kl#Gz%I>hIWy*6lvAs}i-Q1*GswcIP6j2XU!i9v<|7 zLIWWGM2^7@IG%*X6zo5L;#kE0_IVTq*U(A96Gm=3ugOAQ+_ktf+YoKi8^AtoZJ>Sp z>JB$@Ixw(pGBquYHCuPBG35u%ubmDBwA~a{*{eKrXd^YZWZjH2M0lz?Oh@H`EpltG zBmzt|7{js?2(sqX-Mfblq$gTB+P++S<@?C@yJH1>e--ebr*CL~yuKJMr{@}Utk+n# z?Jaa7ZEc+&^NCVp0+F$bRVNMW67+RBG9>{!v?ZPeyJC`3Cu>*+-wU}1N!MoRVAwtu zvEcO=EL8qsZVSb7g$GP*S+sPbldT_&ph;d&+B4;9tt%433nzK&a*$0e7N9jP+IB

    cMo_#Q0<9Nq=W{cN- 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%0D-PyYb6D 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 OC;d#}X~7fy_x}e)v|n5R diff --git a/docs/dev_guides/api_contributing_guides/images/docs-review.png b/docs/dev_guides/api_contributing_guides/images/docs-review.png deleted file mode 100644 index 2c8c228602a388838e19fd6b2cc526d8e87c9ce0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 172551 zcmeFZRal(Mwl<2pThQR{?lkT$K|*j6+!G`~V6kPsXa9D=)q0Kq*#aBumWIpR>sEF%2roNmRD3%1P+cR+1kQFSDAxl#FD_mVq}t? z6~n_@H!3Pl*8(`yJ3%u|Ggvfik)35~x=D(+IRJ;mLr(1fZKxNmg!?#TqCagIvt3s= zHZ}N~nr2Fqi-pb7!eRohF@0POL;B<;&1(i$iU~6~s~7N8Xg03!4fC`ogcgE$w^Uzp zl4#!1JRv4cW+J`i4?fvei~NEt?Nrr8LvxswQkYf)ci9zDTwWf|6dg!|rmD-XD&6cE zC}XSh)=x1ygr28NmssK|<;IIB4l6E>lvH{PM+Yp5M_CYO^$yPpEeJ1{zOQ$)CoMR5 z4_9`gEHl_L7zYs%svnk>LyH(1B!xK8Ejn7RV5@CSnjJ?*igp2C;HR4I`Oa3qY+KkzEL4Ciog2(I?}MqWl5>SETe&RmwyQ^@7x>;|KTgOl(PgFQOidRfx= zI6Jv`iup*={Y4=LdwwqFrla|b#LH2V&PYR>M$Xm4mPU|EfQyGt3WJ7*M#979t(dO7 z;y>)LPm*+YUS4iu+}z&Y-dx`NT&^DPxMA`V<>ukz=HugpQE+;tL?BD*oB^S?sh6NiS_wyTWUM?Q) zf7K0Rm3S@{Gt#y7bai_FT)z~rfPlnbwEvINf4B5Ehw=ZF<3CIPo8#XM1}^qqQhfh3 z@?XXO%_ZmR?B-$X>G@aB{$csgvj3*n^02ps&Eel8`G@{L%l?~Q+s@U?6(&y)dutUJ zFIx{-WB+jfPY3_sDgLQTg8Nw{{~@Bk<^NYHYyn7NNO1paF-c)e)2(5_!AZlZ$jj*a zz@K!X7Of5Ia7$GF`dqv2L_F@%w)4{+i#2JTHY_Cx;UUQ17YQx+1*I6Sl>=NPQ3@Uc zeE-urCTkg@3XNo0`%=3~hSSZ5vvil9%D|qDi9e7#$~Vg?oU3e2bKtX+KTf&%`JA2~ z+7=>`eX%6fIsg(Y=TU)i1{gR4lUDNDr>)KS>_bfq^s)sq%>JY(5)#n)P)Kg;Nm_ixH$=!dSuO5YB}D=q!^6P9lKJ<%UkB7u(DMf+E)BkDe3_O2$kr8ZA@CkVKgj?m z51;(>zCY5kcSk=9m}V`=O5&;a`-hxuu4IfM+j)F8Uq+0j!@GP=McTaud0ZhGc>a;A zvocig9J<9cujHY!bl<}^`V)q7AjRI>C&w2)_&mC|q*v21pbphZ-3=$cpt%68FRd%DBFCGd#l(yqobOXS|MvMf5&%@yI37*)x zs@L>$OH%O|L?e3CzMhtS10i?z2U%*d-7__&B?5}if?92*>s=7-0h~DUua^p_C>>6!F#ht904RnD&C6 z*|9@+let19IHRI^P3nj9F$Ao|YkYI(jgBKd{;}fWqCOWZ43L5om^D0p}THpxH8goqw%2RU>8p!HD zpx#BDp}WRE7QelDh{RW@o~6}4JiAH^Vfbs!?V=O{#sCYn|l}Q_73gQ#Y-aoc&NTW00Q$joqO9$FfcS_) zaJKx^M*ELnN5`PdC_=k!@HE=iC8`(N#O9?ig>}kF)b41%eqNTk3e81&c4HK}z^`2- zX=?HV03I#gzytRV?;g$*sc$2XEi;%%kG4b%YO6mkQ)p8PS7#UxTO-p1=!_5Xk=+3<^lg%M?1)x8UwU*39!z=nekz~`%Po)<^vsn zG*aZC*CMIdT}ZqG%#1#nTfpSY9e?cd+xR{M9W2-Sl+mKZ=Mz&InuBcC$ zk)fzBc{!w>>7BhFq)3mB$)4o!hb7r3Wy{JQ-C`QDeAOPbUX;^3C;}p@ZznYSi}ypR zY4P@;P0YBtw)`F{D`{YN{A1T(|b9HtK(~)x+4#|1WGhWS(CW03urp2#j92vtsJBYUv`NBz<`Lhe=G*ZA%%db+4H+ z|HcJzJnZ-ltkUy5T)&xnS_F4H31F$5<{E1G20nrun*$Ym`9LmC4r(#9>$OjR^cw;z z3|EnS?_2WlCgq$#%ff`Xm>Hb2(vhAh`=sw@%H|&T7t~@|p8u}wT3Bp%;gm)nEy8wP35{ch&gxI8o07U1Y*i{o z=6$6K!|3}m@q`wPY$87qK=da{1vP$t<1k6DEmWJ9G{cvg_KS3ER7YYz74P2z^7#D$ zj}2*n?~ERa#15bLPN$uoiAq58ubIS=4Yx4b4+!f;;H2A^!tfp}3mrOg{r@_cocT0} z&%mg|=N01+8s)NRf{5l>YXP)8W{&MDs;I1C=DPK*eW~|I60wdr(*Qh&m*j;m*TUUA z`69=GUl##qfU@u@J9q1$8+eoHM!SIwT|oNg|bkq@dmBDh;)R zuyt)-t|WP1z`=zCoj~U#yYF@9+&| zz?Wn)i!{~&djD{InVH`|Oic|8fZ#_)&d~M}xEE!;i@SMHqM4Ft9!1N3ByK20=M4be zTo?{-=wiBxydNnXWVIm1&JtdrQ~G76^k+=eW&IF7IX;Mxu?(fEb{R83$Mjv9#I%a>E8ke%3rY~T;knW2+`>4BTVdSC$f?8&to zdiYd-rG?L<=+N6)Y+sWep^xCM`}?XsgySk@`hdFf7*y(HD2NP!qb}|Nm=b2C{EEDf8} zht&i9!I9mYSKP-qIuT69_~<)ViB4h2@1?8c*$aU|G%zg)viRWE2h&?i*u^Cgn`6zt%vF|#-WZ+E z9CL7Xomkgze$SS7m2y>h%gu-wB_}=?3*YyXFo8s!`waL--s6GL`1@XcB47yfgf5A> z+R@9K?7PQ<8s9xgsoDZj{Y9Zs)I~H*U0+aL{_o;2cwAgwobE3OtqQjpY@4qATCJbczefJ@gy|nu3fI+Q>;)0wMh^5+U`Ez3a zO1LqIDVU>qk{gRY*#$-tv#S+PkqRGC;cYcvSU+XNsWtuBlw8Nz1tI%bCGfws={Hl^TLvj{3?~2EC&4D)o8`dI%b65_Q?;;y=jL z21UFjHAr@v|SE)(gxA z;-M2dUtgrQLWd&~-d{k@z#AfKPrxEX4r-_=ghKcpRGCFO$UE>nKFkL^+C3Z*&66A4 zkAiCCzRL#yDJZW>p^TYS+bR5jWuGQ$%yRLD*ik{2xb?*eF7OHEu1D9 zvHf?88h>|FgqGvGFER&7JHP_ zExrU9)Xc4}M)sH;ogJs^E_;2b`_ZslXvmmh4o;zm7yaGoHYj0mxzYR{b%o}K>MkhW z@!*s9bzD}ZD)>|4pviZWm&*xRX26-K9(7UlU9I(;2Jiy6C_z%`6sD58D==yJFG~T6 z4uFm!8>gB7&ZI;i(K!gGuNVg;4eu2`uM{rm<@*l=Nolx|u`{G~w4=#E1N2@G^6HsA zG;!nRnLS*&9Tv#B@J^1&9iT!a^$2OOb!-j`U=(^&|>FvzLvtvvV?zmhH1c z8>1TwMHxf=bii+WC~;yK(iZF|b*zF*E+wswGsg$b68mmwe-xQw+(H3MQ58l5DiFQ;vv?EU&D52l2D*jtnKs zCm;>dR4XmOx^5Gz7^5`X!=WDd<~^RU0HORaz1q&zah0aI`1pEfyVi4VD&p=DwJ}Iy z9m3oVYWb7z`RQQ-I(hzg4IiIAJ{2Bb;T`~WY2Lr3AI9$?GeZy;54?O^CUA2yppf?!(X4dg3K z-PV@yj*hG6F`dgG5@w8V#A*J;E&x;6mrHwR4Wk=Vgqnx?BJppZejVyoPutQ}!*L1> z>xkU3B*~d5Y<9MvOPD=OPfUyz%k5~t)Nly!ky$^qGyeRons%f61LbX&!2Y?aHgQZb z-vYV3^ggE>UOFWaQ~P_ZExt6py%e!D7HMXb&x^Gq#9Af{T2By5-?3EoMjKut?cx}@ zP`O6CS-QNy--c{i-e@+j?ql0ydT}KZ4Z(Uj@FLll2kCyQm}&W9nGf{~$De2M?feLS znBSu{&b|Jcj(T+LWBxS{;jiC5rj2j- z+N#nR3b*Wk53hU%2VAi8JPCn`KLk#6;&%oM7w{mxI@sm!X8)e-7ESAbeV#tgu$S+> zE}2>L67ob0*ek+Rx_D`si)!_iE}2cRVp|nXz4k__UPGFiJo$u#VjQpDs{7IOxcb*} z7DBh%O@Z?=AUYCJnd$|H;#cJ{X%8rbWmp?dR+`%U-&gvF82x%(YY8yM7}_sp-OAC@ zwEcI`$=TzdcE=<47`cr&ru|Lyu4uYYirq{az0g0e@_(N%eFKdw*&j`UGUd5hsSSQT z4@-T?lTa#Sm4PI`OQb|mGcH{5&NAO!{EhFR^-j-}#HAMk7SqF(_9tJy z>zN`-Z^Zq5bCWUy%@{>8GcL`XVa%U&;`8bn;hIO7lcrVQr>qU^zPbPz+ z@drv^7Jg-n4n6b{X4}Ayb18_l+4CcA=6m}?b!jP!U9>k4uOX3Hp)^gymy^%1&>tjf zwu4KgIn${fTY_Ri^t;-6KfnI)^Y!UTS%WnSD4~~b%?GO?DxaRjN8x^UZ^KE@*2YVp zX^6SS#*^RnVfS6-p1D+`;SlbkZyGw3y~^HrjF=~>z(}@Bho&Yc%N*05h0!f6dRibI z`9A1%?-oEF;brzTmdbbU`~_*=?}R!6Y9xkx27m_Lz}@eXb4%j_t9+dn#T;)MOfLk< zDk|MeC$oaIbRU~en6iv;vpP+TyAmqEXM5<(Y$z(2S)eez0w)~mY0xJXalNIG&D5v; zF9$%-%EpnF%keJP0iaY`GoA7lasWQ_iT`U=wS!L6K1)IF@8>y*#Y6|6Cn2WA{otB7 zkKjj(QWNCrqU~Fy!qKWIn=iD9Dvc$(3kGOoKYDTjXV^Wg+Cc_>_xFf=Earo=^edJV z7vO^#SC6kSRLGj7#~7LT0m_;0_B(HEclH|z0q;R?VYoIsf*7W5nG@upElSTK+dSD3 ze(xtnWE>N7b7BjXvRy?3TO&L9wKl0F;RcPJyF)OJ2-jRffurInU!4 z+zTBsgl}D?t0$mbrC6i=cMnbOm@LDu+WA#6{@fZ%whVwy%nRot)}n#R!VB4OIAyoMz4bi;NN3`=e6Z@`JDfJYK^@ z{YXoYhf}zCY1yXB*`bg)w1NeWF5`i?gG4*wliRyAqF<*}Yi|!Wh>)cR`FiM<5XKsa z|HP$){L{S>xG1B2!(9_;(boQa9bLCJZ?D{ZpdJw%{x~Sc^nW}3zcc;6%j5s|jhHJW z$oOc6FUYAbM*jPiSiJ9{a71+@GEPmreMtHGZwpdAA?ptiL0~N8{BolQ*mJV>P06SK zs3KP(aR0sdZvNQ{jxFJwOGdc?q5Z-NpZHqR%0k}6#Da~>Tg~71juV1ajwPSbY8dl^ zWK~YFh{k@&OP4am`(Zzpx9YpkRmZX4mpL2hOSBj~gn0-XYyIR*A>4A_j#k%f-IWA3 zsRdqeT6>J=8yG~LE`KvO+E*sj-ArCE=l7#Lg4*qBVR!z%rISlmhDR}`Cnb$-Hr&{C zZ7!!Cc=-m>Bq0G5Qgh;}1TsWi!N77Rz`c%N99pw*exVha7%2?BxQOKYF>HRS5{xAU zdAxT_<-Nsz)~5~bLe#$W8qJkezs@fXY<@w{FADiI$$rYeBwcw1;c;Xm6v@;j`D!w$ zu|rZ^Fw+iMRF+IPXo$hmQ?1K7tC4_`3+8s<8{gwTl4hcHmG2-toqr9nVa|&)p3BT1 znObK(Ql}iI|0Z*+kV6jE70?x-a@O2J|MFpG-QQ@C13L&e8Te^E3Gw6IsCt0rPQba` zd(*-;3f01l<{TF1PYfC?xm8gPLciz25USravR|sa+g*$0e$fk_(GOgFRgP^=Am4x5|+|=Nj$!HU>@6? z!gYpXzx*>NDOROT$2_j7 zVtII5j)}e$?Ws^2lfLxUki=lQEE+{(R0Yp3+eaDJ!M4n*=#X*9g*=g#3|Zs;>wbfe z608a&1I>eqbR^2GN|9i{S_D$QD%~}7a#>a^MFeN(V+*ekI~Nu3m0&fxJ11uE@=E2jExOhN))L3do{FeKS@sn`#R9UX zwG<86B%en^5vt;QvXH$rXPod}z(Een=whfEqEodr@C!@Ze6n4hQ>a2=wSju|Ps}+K-<)J-yivmdd;(Uf z*BR=FTd>NiG8$-?@<`>x1cU>a8h-3AU3ou>!-Bch2R_iyAh!qW6y7ME=lGGE-R*_p z0W2`PNg2b$6Bc5VBoJd~*MI(y`5gH=J;pT$K0Fc*z&t9>C|ggkowEJJ{m-woSDIo1 zc}7oKoqeahBQn|9*{Oo>>INYJu0|VF-H=$!9?}#ixM4Y{HcOtBrhR(0@1Q9z<~Sl2 z)UA*s9}S^8eht^L>@a(IExK1yT%29}?qsgX-W(J&BEAvo9atqqM~t@~rWkUhQ(VTJ z?lY!LQP@pMS{e+XTu?}VZE#b!RP5IOT1#I_r(xDkpe(_=&_r9zpvZ#mNXLsV>M;8WX=(L^Zex;w(3?AqzU8$Ym# z)Hr=wcKACI0nuMaA`(Uc`wukn))i1wjn+TE=xYr*5C?9LP|V5z_5|Tv>F*n=FuruI zMLg`RlNew)PzCiW$6yAHF*j>rmEW%>)wA^Fm)b zpkAIX@rUePX{D!2L2qwRN&A+}yCHF&%s;y!DB@+jDTFFw{?OpKt$$5=$&TD<)p(A^`VS-dBzy|@Jc0p)KySa&cIh0YDA9c zgv}}aMT3sV-)&~jkSJxvpzovMIc~ohY!#&LNg6geMly_ zCzG!#FW(7k3DJVNfrQMt>mAtka)XwgOSKnCVVWpOB?ZzUd;_|Xm(_8cMxRiL6tm=& z`bKmG)HF>7gwtP~mUNb3YoPKf z`|iNAOCge##n1NvcbV}_cUV(s*{VcempVGBegA8d6!T|W-qB7>6_2?;D``_0BHG!h zk5QmvbK2j0&Kq&hTM)G;h3$?}^swokdHO@BQPnBEC8B@llVN_y;G8 z6f5@#Wj923`RJJYc^{20nX{1?=&y_%9oH-Qg2QF1Dl6#%0st3S8qF=~)_@qsmjz?+D+;sOE^c45@ezN(zaqiH6Kh5sY` zIRgZ3q@QOpN~5HtYuKZ5d+;cad}~z0mP1R|^D=EwqC!cR^!Kb@lf~LJWD7X&KVo4? zx_`&8<;%zth*!Lrv)8~}7Uo6qfs=Z?mr$ETlaUaj(=fQ3I{UJmi`@m;zSv(|$O4is@uU|Soo~?Mp#Wc5a7`KKgjdB2M zlQOsiaqg^Qzg&}qr(*wzP%I{b%k0+wB=Z<8<8^4y!STn7AC6&ZL_s%ZdV0(3ul>S( z%XkJ157TDBN8!o@=m^xp)MN3$9=Bh@vzm}qFMDT%p;H15FC6Id|2vsyuwn3k`X7$x z)Sgffp1KXTSO9Eu!9qKaki;`sd}nouniNmem#spVl5Uam&)#wUpPLszI9@TaipY1b z>P=tGBoB_O4}%at-YTjT9l(=8WRSWM6j&e-us)Awcg z<9`K0110T^cUT(|SJlA_>ZP zo(+xTE8JY)2T-gva(U>phCg~r{09TV|1j??J1zJmzPs)DV`l~vXDf?= zlj-%?(bJ#PAUtZ@E3V8kDygDjVPFrTyKLSkdrIf9djdZ&>hxpF;ef!qU8V^Fd~ z#+TrX+lAdSb#-+I6W5PVX4wUw<%;FtLsOOR=dFEWRI|!0NRJbbFWqv`9q8^??3tui z%Bnbc_*kp0qQ(kD^VD5Dx=k$ znTBk0_Ghe#m%RFnDVbiV3{Wk03q*~5Je^UNDHC>4ndcA%8q${pR`$TGy&e{TzFqIu zrIONsy6#sPBCaI0gQa6N2T{q4VZ#Et7*bF=wR=#i!1+U4J-{ElcdUhzDx`gReC(Ql zQxtjz40_=YuAb;kYzVIhyx*6$l2?JByN8(fF?B=9?1EH}G7=bv+v0;QIBmG9~L8^x^T_3I&Cx!xxM6scw0B zi-?`;qQQ{}?Wb(BAZS6FZJ%yW{SXdaAsy6`L*9qx6Rk;B7K9xc~#(@Z<>=#pZgto-mtZ1 z(RlU|`(xCu#IowN5X+vXrT)M@e9LdxdBK3q(p+S*J<7CDT*6#Qio2Dy*!`RMcozy@ z4y@i>Sp3@bgEsGi^zAE@UV47kyg;f1ELP0uJ=J2`1QP|&r&aG!jLtQEg|*WcimmCj z3UuUHYNWlJjgOUZ3OpR!?tc9h^lz?JIQknV;e*EC_EyU|$I6-zXIfMAdrSXplcwtEL*JETOk2p!v7`L9YOtOIkLP4^h zBhk5tCSXzppecTXOY8R@XIhRb1^P7mZ8t%DJSdmX&w_y~O2YjJQGJZKm{(Wg~wRQVzmTjdH@B`WEDTYQxHxv96*))Zfb~%Rz47^LrR~ zo)2ld5XtkAT^yDbNjBjFEd}AqhWy%sC4s=Q6JX~V2oVv62mB$Uz9I36Vh2M;Di>8> zrhE9u?jHy4`;KEkAxJfd7W zlJkd->}p!pI%`G$9Eq@W5W!Yq^r|pFH$D2oJ^pUW`wWg`T`2^iBKR)N!PB$fJNyN$UtR-#}~Er>%~Z+}?NQ>R@#D0WfN%|_zfX_BbQ!mv7|6<%%Pa3NXE zm!=kGske-jp7wRs*>t&b=~~cscCIn+{ViX|?i~Lf2-9$Uj6cGSirQ_Q{}KXRsktuf zT{UQ`swcNeJycFqwhqCUIpsL9oGTn1ysex|RJ4sE(8!mDlavh}DbS~64E5)96l!k) z$jQ0S2qhPjO#uQ+Cp%%es90#(K9DkMI~$vjful3fFb={ii?a*JyFu-cc98qSc!G>2 zEL$L<3t99zKSW7twPbJ?jlk(S7v$f*0$v7~jD{3=LZ3s)wCbt7SbrHnY~=pX@LJRj zAm7_f!@K&)2t??;fh(eB(#^ZlS?TJD!5ee0W1|;T&7zR^?K_HIu=PWm&XtN8ejDf0ZQ>@9 zo}AQ0bq;8?=S;@NtRYfQL7!A7I}9LMjg-`2Bn8<*kYFkDAx9l!^mk`}iG_mVUww^l zYO7>@!&|OIR+$h13#IhO{uql5JaqDX(E6Nl(BoF^B;g&dt|@E-g&^wI>ZC6?K3wH9 zn?_ddeK9?63E}xfkfu%|XTM-LFNK9E@Dt&2^HxiT)Gz&Oq*dF>x2IVC){bcmk zFQ?3%O8RZdGD}qAbM6r3E~qm9`%~d~A*{QN;UQjQ4D*e2`A2KoIlrA&9J>V^icLLIONpnE(JOC-e?sLFT6Ci*8E1KsZLaUo z&@NDMjzsCk@j2l1w4BHNOu3nppWl;DoIf;G-S%My+F|~PaxsPfxqT;B(Uv8kY>`=m zsB?EIXd;Kp5!mCCe=5a7evNPQdPN$^xA8`&*6{*wE#sZ&Af2V^C~MuJn0gd8W+9s;scck~>Z{Sc8ltPvlN@Qs#}B#Twyb}rT0 zgtq2P_GR$0BoJ>5wo4DdxDuO}ktrD{)3{95`ddqT^(k;=u!Jt3zQ1J|TQUcersn-K zp6`atWtY_hoH34$T_@80q3{Cd;1?Uf#>KKfqB7Et5DEnthIxc=`_f!vHx9CXfuPE~ zI9)mkcXRSTu+$Uc^bvtN?W9Gpv5lE9fYD1D!w zSV)_g6ezxifsS}`P4Pt?Iy3a8{z-3bqueyl-0M2(W^OUOZ$>f)+($jYj*&=I|9WaUNtB_Yy?}`D7bZNi~R8QYpIJ zSNG%trKf%N#wy(Ps!&n99wFGoqz3B0O?nPCfM7|3Cpc120kWejS972dkf&qw*;ao1 zTPtqU9lnOAUbXI#EewJW_xD!qYbNIkblV9y^z}m`CX1t{w2Y-;KxsjYFY^KS}#+Mj^yTQ0zi1ck?CMcsOlS=r~>K3@- z?HdOX*2ULUDcMJSnyj}6F$M~_#V^-XP|DBaT6GAMpv4?W&pI9`4fqh;zB^j138IIr)AjPt*KK2SPAeQ zdPt-ienfhTy`{eQfu+6fTxL?i>;9E+>l|X~7bXH_Fb`6=AF4ps^ZQF|X?ar6>%WbL z@Z`RwLMGhzNzE-0FeM4r_;7wB997h$I7R9YK7GP%J^M?L9(<=gKM~rKY|JaE$l?~nV^KZraG^qBn;9oEy*7i%f{Vz(8hj#-&cE@)c6lqFr$ z-i@QmWRD{YyC|XLsV&svE{35>$(F6^xA+G8Uaw|ER6va0dtHiFyme~yx-UgN{%&-N z3cKUaYNX9-hJ9X+Z1($skRH%+^71muc8gm|O_<}^Z|x5nGSNu3%l86AhI!REGQ6!A z7>)cql$=B9A4AXOAg6(*&?Q`3J(WM5)~c<}&Lbm`R)}+VC1cyV06VHuuCA-JJ2L+V zHVNO|w;<)B5&>+a zX?RkQ2z%rQ*o~EcE>D&ET;D|2_xOXO*Ef${H-LW~o!h;KPp)MlX8@~)G!j@iByTz7>vYH> z6FGMt=@$pdD-`pw%Uuk*eUri+t5AK-#8j-FGZ4*?C(CB|bkVIxohHdI0@h!uy?%Ur zDr*0oirl{bXQmI4FW$TKcN3UTc#ZpG(%mQFiLtisz(S`DDMo%Dts4FQBYFq#^JDwN zy0W%LX}^ysItduRf20Hl^L<_!7^2oRH>e#rH!osN-#?$yBlIRuwXf3Ck z#1X*!>5NL0K`oO5DIhdOc~z_F&j_IPy*K>PG>UOo|5KH_-=g;;j zf240f`H&C986KLC@~}%fm<%dmJi__wP>hc4OH{0_OJOhAMK6EQ-U*#{-?JbajhTJ= z4+^EA6?W%;3lpXZVOHNG1wCE3D)Ez%*Y+JKlJ-uVa!Vpx>G=WT>SWN zViCMh&DvTE@L`=f_^`0QdD9q>2!1_lorlL6fh@iRO)HY;#jnYRM{K1DNN7~`zVvql za^2>xp7RGB)!eUa^ed-dCl+zWCMIY*$MySGRn?OE@M3;p+7hmt{60%p1-KXYu`asB zpkY+3a1a@36K%bz+zKZqd-<7;@@QgG#rZ28VI<1Mk9jM5*@MM8fg-E{u=mKfH*z)F zEEhxuO*o9Ym}6xQa(?bf_9(V&2AQfY%|s9|&FgwBSu#QKZ^*XPsof3~XMio6g$bG6 zr8EdU%c6}oQ>7}O-+zEE@$&V8G^R0=&jNeq5D1@f#P2%M9rYs$>74vB@rfI^ zLs!bkvac)mx8GVvI^NaiSAvZ(_KC26*^FiRqVX~J7kN3#8CUsJlp?*>qboVW6PM-0 z3XZ%ejIe2U`v}nlTDK48OaTu`(n!}~LG!=jln4#uKS?pQsDbnC_$oHA3xSc-Jt7g? z0FKMBfUBuNI65zs>{Ryv$nh1>9D4t#6|OWKc`5I03G)yeOOz5jijVsNmX2AQjP}8yWfJQEyDD2p+4-@-PFu+IKk5>HlMrUFbYzx zac@R?X?8TXyma4?V5OJM_N&xX<#&$FqKN!Cw?6j-uUqnzp!ZG>)*vVmIeKj;%0 z-lV_QjV!4~E;rC3KH_jv{UjRPICWHA?NN=pbZX$%??CXLZJa30^3xA4mdv-w`f3hQ zuN5KhO%aW9<-s{k%C2Z*_3%f>6iJV!h`z;-+Flnkt1WF)Be;N%aFt&wk`;UA#9DH{ z_8;KS00eRD>Q0GP3ST*W8;Qa?*oltGyhNqbw60-xM$RTBv>*tA=S%2*Q53IYBu8lG zW}NFt;N z?1=16IS$JmxQzHanDhpsi$jEB?UzS%4>BArDTO7<$CGqJW>p%eK8+A|L-hRa zA2ZhwO_Mnb(vPW#5^ufk%X#YLvDQk(^QcL%UG#dSN z9}lD^*3&SD6ou!+qQ?6XY1)b9;73=6Q=IH_q8>J-S4?^Qy?M&$PYy`n|(5j zK&V=C*}m3#oxyF&@xr|GRR+gVD!kLr%j=n7M7p*$3AS(UAr4knD5{kadGBW(IzTE1 zBPq5s$NITnXCS)$(@@fs%Lz24TWZ?*5}E5N%74Xr z32~&va+$@KsH;Ll8n3q)7C+}ZFMFM(oh*AQ{}$<3OkrJin<~l!_8B)m#?j_^$i}-9 zZ|?TFlZo=se)HBG@0NT|2KbrOp-6>@iSJ`zZa~bv(PgP`c6lOL<7UF9rV_WK33Qg7 zqZ<5U2c4;C&8SG?N8Su=0UZBOl%*u95-xRSa{8v1I|O&1>2-l0vRpbPGLYWXR!N9a4Tg#{(qOOuoWw52#HU#7^g%q4n*yP(OC;!{%y z!z);#GAx0l2X=jDr*OJQY#3Mw^?-!*h?pPXky{i(pB{&ofZdRro1Qb^&qradFaA(e zdPJcnX<`DDFZDe#i6bw&A-6Z)d0LNgqTAyHs_rrUx(oCV~vVKr>;ilX|{y(PN5wiIf2Z2|7dbpS`@ zhz4KN!rHO?w#1$MGM(jyouC5Q-_$h-uF8S;O2T7f>5?KUGZ~5+=YQs#<4&mu#8v4% zp5i~+UaeU-2Hat->ugJ|2aGhKGH061%}+m0T3GvOa&_1knLQF7Y_64y5t&IOYo~An zZ7WZfg_%m*=^NHyrg=Gf$H}GV-tsiexEA%MUH@pcCXbV#F?t9=Uv9lA@<02b^RT{# zYC8<}S&bG5uTe*>&`td1#s3*SO|boUeZ=LexX#Lb*`#|BG_(zHJeJWMCt^`?yTqPj zM8L^|`KbaKsiL|8ugq4%9`3u@#VgZRcXF@gU#(5SJn{=RoZi!ggFGhUU_>oR1W0an z^{5Pse{Q?Qhd%8>j@Mt2n3?*5HhT!>1owCE8uof#vSj;~RQJ>ys$xbK1v!jg6YUZZ zX+;iI+FWc~NikAOG{8TEGI#jzIlD~1W7%Ek}_N9k-qN#>uQ^rwp(M(&|P7oB~)?;}Jv zPrcus(e(8&p_)G2C#M~o0pCy`3Wraokinc^{%a%;pcjAAzO^m5eMS4q)k*Q4{r)_P z@EmuGtt-Vzq@F{ovxF_6i#WR`+p2C+j3yGtMeYq#(uaBuQ-Pq)sov3Ag+?nu@0KD> zS@5g6esS#=SmTUZB63sfBD9!2kRbm6msA)6u7$IOd)U+`PID0KBzq6V*==d%^lW<1 z^5e0&FD-017_y?tn?K@S4Q8E^&Rc-kNzUYj6!ZjYxci#Ot%^1SvDDBaRL}TU@~)Zc z;hXKS6lsJ3*$7k$F+mbgX|qZw{a%lp_PV;p*6+#UK$hHyGTrbw8DAWR{UeFX?VSnW z3b%I5%QWY$ei>6jF`Cr*d7qs>Nmw}8BXbG^>(IJl*&dcM1#S0=K-{!ryd$hj7_rvMLU+*fclg@QFlZ4pAr*?Ajbl? z3oc(zg*qNGR&7w)uADYHFoj%+D3abgPKB*;XPO6QoBA%7i+J%K9@h_l1V>9wwNGcY zj%YIxH#-nEc3AL2dbQf-Ulu@6y<2&~BF*qz9u@SY3<>J8QnQ4ANV!+AbUD6nt*SkK zNOV~@nH3~D%y?-UbS#+XBHKB6w^)|2Bl$_p6pd|*A@!vYT-{P*ai)O#`LM%sV555HaRx`QVpHNoj@N>QI6ynklHXVx z6nNdmY}&0&!nIDLC*pgt$Q^*2`+ul9%dn^#FWQR;NUL-R2qF!Fbd7?5pmevCh%`vY z&>$5BKZ&y!Ug?TI;vh84=0q*ux9p)+oLj3Lvk` zb$Jp15DLg}1tid568>NoywT&=TNP9vbVP##gVpN;mj1mRlvVtuJ$&L6(5Kcldjnmsqn9vAgizTz2|><%A-Pl{|1lLh=>W)1`~9 z-CD!2VO^UrEA$7sPsH6-R!@$KEzPPLa_NUdLlEnL8AE zpsLy~O2|H$!fUM8m-(S=t53jGAQad8J>i^|>N;T|L*>#la}>N?NYtpGD>${ux03lw zQbcV0hv8pd@q?;jj>(6WOWdtq>rZJ+pknh&p;Ne2ZLrDydOdbJqbd?-!Ft!Hu-Ff( zW6HI%(aDcF-`f{SZtE!0AEet?t~`e!t^;bEy+}_Kiis=wyLJ7w zlXaUhX{K&HamF?yvlwsvFZ5S?seQz`y$5{6*Bv(A7L~lFH5w<)evynB#d-0MF2#@g zkl8*vIVP@#3Z?TOnYv3zUMcn|sQ|R*Qy)fG(?Y$McK-FI@S4|fj`MGg&e~%8KIYG{ z)m&7y)5*QaiA(*1(wCyiyFJ#o3lxq z0H^VG)qg#55&oE!91eKTFr&cC*3*nI?`{DVe0+Qspd2azNCAF;7eWkz*4CsM@Enw8 z2J0drI&j!7D0ftA%5`@4LLCAi(XcsC2lfI1y}K2~o?hI2-Jq~}W3kMkm^pIrWis3g zxP(@NIu5Haa~I=MN{~{625UN}oi1&O1*E&fSDlW_)XL4EzB-5HDjdJHTLlqP7k@zP zksP6=yD{EE@lT(8)G3=)r1i`<_Q+%KqU0;lG@JQU56*BzKV~X#0@$mt&;G$@##{S? z{kV>ALBp&LGk3)`z6Cp@-*2T0P473;Suy{usT52AlhHaK5k_ z2SSG|@5QN<%!<3QG;ZRql;OiAcClFfXsY+;AaPe3rRBp-sb8iq&`DU5R4!SoUU7@P zu(m#ub>QAyeBHJ%-Kku1Eal?JlA=$_x!6L=rFh}8&%F66ZXU}fu25}t6UA#-7i8OV zmcY^aGI#2l!!ed;&4T4g*N9P$pbL&YCxxQ;RDPGc#5aZ&dJ^E#Um_MJE4Y9|^fTu6 zc%Vr?8FQCNd(dxBM7+|#$5>deA&c^}2#Lh*Ja!CW8|La}>1{i<8#*~g}kM2-F{IpHTf7TUXQ(SQ!byk zb4mQ+W$|=pKi#SdcWSPSQ za(cWpWcLPfjf=K|QHL7Kmz#VA?A|;ojVvxnCF~w%UShZ+D(&Vk26nCe%U@U#oD3{! zh9ck_WB z9!FLwJdC3}ouOhSn1W7wQt@YI@xRp-Qaw^cr2Wx7W&tEy$;a|PO8xydw*O&;4YUY1 z4SAUf+S#PuP@?+^)z?Zf@C<5E>V5O)1W_S9q5)AO-be){t+p@{^HziD?s~V&S78)_ zfPE!Ya}}Njdo7~@PPw3f+!kkf%o-}00*6j5nia@;n8vrWi=hPY+ga!Nd&SQoh`+mA zrl(l@*D3+cCsMHcC?$mxIHF0*IPD-3VPeYn7ob~wYA((?0_(cLw@ZtjwbfEoOt0($#x0tl8eOD(cHD{s}6 z2>^DSv2UC@j>+~94-;?NQS=2=gMC>)=pySJYTVEljU;L-h`U~$v%kudz~DvEB6

  • *Qk7Y^^Hk!`e+ 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
    +
    如前文所述,算子开发时通过 YAML 配置文件对算子进行描述及定义,包括前向 [paddle/phi/api/yaml/api.yaml](https://github.com/PaddlePaddle/Paddle/blob/develop/paddle/phi/api/yaml/api.yaml) 和反向 [paddle/phi/api/yaml/backward.yaml](https://github.com/PaddlePaddle/Paddle/blob/develop/paddle/phi/api/yaml/backward.yaml)。动态图和静态图两种模式的执行流程不同,具体如下所示: diff --git a/docs/dev_guides/api_contributing_guides/new_python_api_cn.md b/docs/dev_guides/api_contributing_guides/new_python_api_cn.md index bbab5470bf0..1fadea6fd7b 100644 --- a/docs/dev_guides/api_contributing_guides/new_python_api_cn.md +++ b/docs/dev_guides/api_contributing_guides/new_python_api_cn.md @@ -121,7 +121,6 @@ def trace(x, offset=0, axis1=0, axis2=1, name=None): 动态图分支的写法一般是调用 C++ 算子对应的 Python C 函数,示例中调用名为 `trace` 的 算子,使用 `_C_ops.final_state_trace`,然后传入参数。 - `_C_ops` 是 [python/paddle/_C_ops.py](https://github.com/PaddlePaddle/Paddle/blob/develop/python/paddle/_C_ops.py),其实现了从 Paddle 编译得到的二进制文件中 import C++ 算子对应的 Python C 函数。 - - `final_state_trace`是 `trace` 算子的 Python C 函数名。Python C 函数的命名方式为 `final_state_ + 算子名`。 - 参数 `( x, offset, axis1, axis2 )`需按照 [YAML 配置文件](https://github.com/PaddlePaddle/Paddle/blob/develop/paddle/phi/api/yaml/api.yaml#L185) 中定义的输入参数顺序传入,C++ 算子的输入、输出和属性等描述是通过 YAML 配置文件定义的,具体可参见 [开发 C++ 算子](new_cpp_op_cn.html) 章节介绍。 @@ -214,8 +213,10 @@ paddle.sum(x, axis=0) # 与 x.sum(axis=0) 等价 如需让新增的函数支持作为 `Tensor` 方法调用,则需要将函数名添加到 `Python/paddle/tensor/__init__.py` 中的 `tensor_method_func` 列表中。具体的做法是: - 1. 在 [Python/paddle/tensor/__init__.py](https://github.com/PaddlePaddle/Paddle/blob/develop/python/paddle/tensor/__init__.py) 中 import 所需的函数; - 2. 然后将其名字加入 `tensor_method_func` 列表。 + + 1. 在 [Python/paddle/tensor/__init__.py](https://github.com/PaddlePaddle/Paddle/blob/develop/python/paddle/tensor/__init__.py) 中 import 所需的函数; + 2. 然后将其名字加入 `tensor_method_func` 列表。 + ```plain # import 所需函数 @@ -233,7 +234,6 @@ tensor_method_func = [ 根据 [API 设计和命名规范](api_design_guidelines_standard_cn.html),API 的代码开发完成并加入对应目录/文件中后,还有两个开发要点需关注: - 新开发的 API 如果需要公开,需加入公开 API 列表,一般添加到对应目录下 `__init__.py`文件的`__all__` 列表中;非公开 API 不能添加到 `__all__` 列表中。 - - 常用的 API 可以在更高层级建立别名,比如: `paddle.tensor` 目录下的 API,均在 `paddle` 根目录建立别名,其他所有 API 在 `paddle` 根目录下均没有别名。并且有多个别名时需设置一个推荐的名称,作为正式名称。 建立别名的方法可以参考如下 Python 的用法。在 Python 中,如果模块 `a` 中导入了模块 `b` 提供的函数或者类 `f`,那么开发者想要使用 `f`,既可以从模块 `a` 中导入,也可以从模块 `b` 中导入。 @@ -253,7 +253,7 @@ from a import f # it's ok, too **(2)具体做法** - 1. 一些常用的 Paddle API 可先参考上述方法建立别名,比如前文示例中 `paddle.trace ` API 的 `trace` 函数定义在 [Python/paddle/tensor/math.py](https://github.com/PaddlePaddle/Paddle/blob/develop/python/paddle/tensor/math.py#L2790) 中,又在 [Python/paddle/tensor/__init__.py](https://github.com/PaddlePaddle/Paddle/blob/develop/python/paddle/tensor/__init__.py) 中被 import,并且也在 [Python/paddle/__init__.py](https://github.com/PaddlePaddle/Paddle/blob/develop/python/paddle/__init__.py) 中被 import。 + - 一些常用的 Paddle API 可先参考上述方法建立别名,比如前文示例中 `paddle.trace ` API 的 `trace` 函数定义在 [Python/paddle/tensor/math.py](https://github.com/PaddlePaddle/Paddle/blob/develop/python/paddle/tensor/math.py#L2790) 中,又在 [Python/paddle/tensor/__init__.py](https://github.com/PaddlePaddle/Paddle/blob/develop/python/paddle/tensor/__init__.py) 中被 import,并且也在 [Python/paddle/__init__.py](https://github.com/PaddlePaddle/Paddle/blob/develop/python/paddle/__init__.py) 中被 import。 ```python # Python/paddle/tensor/math.py @@ -269,8 +269,7 @@ from .tensor.math import trace 如此设置,`import paddle` 之后,可以通过 `paddle.trace`, `paddle.tensor.trace` 和 `paddle.tensor.math.trace` 多个名称来调用这个函数,即该 API 有多个名称,但是推荐使用 `paddle.trace`这个更简洁的名称作为正式名称。 - 2. 设置 `paddle.trace` 作为正式名称,具体做法是: - + - 设置 `paddle.trace` 作为正式名称,具体做法是: - 仅在 `Python/paddle/__init__.py` 文件的 `__all__` 列表中加入 `'trace'`; - 不在 `Python/paddle/tensor/__init__.py` 和 `Python/paddle/tensor/math.py` 的 `__all__` 列表中加入 `'trace'`。 @@ -376,6 +375,7 @@ class TestHardtanhAPI(unittest.TestCase): **开发要点:** + - 无论是用其他 Python API 组合得到新的 API,还是封装新开发 C++ OP 得到的新 API,都必须添加动态图和静态图的测试用例,确保对应情况工作正常,结果符合预期。 - 通常情况下新增 Python API 的单元测试,可以不必测试反向计算功能,因为在 C++ OP 的单元测试中会包含反向算子功能的测试。 - 用 NumPy/SciPy 的实现对比时,一般用 `self.assertTrue(numpy.allclose(actual, desired))` 或者 `numpy.testing.assert_allclose(actual, desired)` 来进行数值对比。其中,`numpy.testing.assert_allclose` 相对误差和绝对误差是 `rtol=1e-07, atol=0`;`numpy.allclose` 的相对误差和绝对误差是 `rtol=1e-05, atol=1e-08`,前者比后者更严格。一般进行单元测试的时候,都使用默认的误差阈值,如需设置自定义的阈值,需要说明原因。 @@ -383,6 +383,7 @@ class TestHardtanhAPI(unittest.TestCase): - 在每个测试 case 的起始部分,显式切换 paddle 的运行模式,用`paddle.enable_static` 和 `paddle.disable_static` 分别激活和取消静态图模式。如前文代码所示,在 `test_static_api` 和 `test_dygraph_api` 的开头分别切换了状态。 - 将静态图和动态图测试定义为不以 `test` 开头的函数(如 [test_l1_loss.py](https://github.com/PaddlePaddle/Paddle/blob/develop/python/paddle/fluid/tests/unittests/test_l1_loss.py#L77) 中定义为 `run_imperative`、`run_static` 函数),然后定义一个 test 开头的函数,切换不同的状态去运行它。 + ```python def test_cpu(self): # 关闭静态图模式,测试动态图模式 @@ -395,8 +396,9 @@ class TestHardtanhAPI(unittest.TestCase): self.run_static() ``` - - 将动态图和静态图的测试 case 分在不同的 Python 文件中,`import paddle` 后在模块级别设置 paddle 的运行模式。比如 [test_rnn_cells.py](https://github.com/PaddlePaddle/Paddle/blob/develop/python/paddle/fluid/tests/unittests/rnn/test_rnn_cells.py) 和 [test_rnn_cells_static.py](https://github.com/PaddlePaddle/Paddle/blob/develop/python/paddle/fluid/tests/unittests/rnn/test_rnn_cells_static.py) 的做法。 - - 在测试模块级别设定 paddle 的运行模式为静态图(一般是在一个模块的开始,而不是写在 `if __name__=="__main__":` 里)。然后在需要使用动态图的 case 里,将动态图部分的代码至于 `dygraph.guard` 上下文管理器内。这是老式的写法,目前不再推荐这么写,但已有的代码库中也存在这样的模式。 + - 将动态图和静态图的测试 case 分在不同的 Python 文件中,`import paddle` 后在模块级别设置 paddle 的运行模式。比如 [test_rnn_cells.py](https://github.com/PaddlePaddle/Paddle/blob/develop/python/paddle/fluid/tests/unittests/rnn/test_rnn_cells.py) 和 [test_rnn_cells_static.py](https://github.com/PaddlePaddle/Paddle/blob/develop/python/paddle/fluid/tests/unittests/rnn/test_rnn_cells_static.py) 的做法。 + - 在测试模块级别设定 paddle 的运行模式为静态图(一般是在一个模块的开始,而不是写在 `if __name__=="__main__":` 里)。然后在需要使用动态图的 case 里,将动态图部分的代码至于 `dygraph.guard` 上下文管理器内。这是老式的写法,目前不再推荐这么写,但已有的代码库中也存在这样的模式。 + ### 3.3 运行单元测试 @@ -439,7 +441,7 @@ ctest -R test_logsumexp https://github.com/PaddlePaddle/docs/pull/4418 -
    +
    ## 五、确保通过 CI 测试 From 52516b9272671e08b591726df1e4d1c48d8edf5e Mon Sep 17 00:00:00 2001 From: moguguo Date: Fri, 26 Aug 2022 10:20:11 +0800 Subject: [PATCH 5/5] fix bugs fix bugs --- .../images/paddle_api.png | Bin 73817 -> 74065 bytes .../images/paddle_api_dev_flow.png | Bin 103504 -> 103970 bytes .../api_contributing_guides/new_cpp_op_cn.md | 49 ++++++++++-------- .../new_python_api_cn.md | 48 +++++++++-------- .../read_before_contributing_cn.md | 10 ++-- 5 files changed, 56 insertions(+), 51 deletions(-) diff --git a/docs/dev_guides/api_contributing_guides/images/paddle_api.png b/docs/dev_guides/api_contributing_guides/images/paddle_api.png index 867bacc74f4308a078ca287815261d875c17f9eb..f3bce136949cc80a137d93d05459015b2c5c5179 100644 GIT binary patch literal 74065 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%0DRmg`O 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 kuOi|9&vN+^+qklvcWHfDwlH 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 aZEoO4D_@#NJ{ADJOs-g7F2Cp+{l5UWc7WXg diff --git a/docs/dev_guides/api_contributing_guides/images/paddle_api_dev_flow.png b/docs/dev_guides/api_contributing_guides/images/paddle_api_dev_flow.png index 15f5d2880ea79d66888dd868001828f7f2898d21..07855bc64ad34ae6022488cf130bc2d1a3659bb5 100644 GIT binary patch delta 76567 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

    (C(M=>h-*!G1;=^n+g&)WHNdw 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 d89L)$w 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 注:飞桨 C++ OP 的开发范式正处在重构升级后的上线初期,如果在开发过程中遇到问题欢迎通过 [Issue](https://github.com/PaddlePaddle/Paddle/issues) 向我们反馈。 +> 注:飞桨 C++ 算子的开发范式正处在重构升级后的上线初期,如果在开发过程中遇到问题欢迎通过 [Issue](https://github.com/PaddlePaddle/Paddle/issues) 向我们反馈。 ## 一、开发前准备 开发代码前请确认: - 已签署 [贡献者许可协议(Contributor License Agreement,CLA)](https://cla-assistant.io/PaddlePaddle/Paddle); -- 已阅读 [代码贡献流程](..\code_contributing_path_cn.html)、[贡献前阅读](read_before_contributing_cn.html) 和相关规范; -- 已根据 [飞桨 API 设计和命名规范](api_design_guidelines_standard_cn.html) 确定了新增 API 的名称和存放位置; +- 已阅读 [代码贡献流程](..\code_contributing_path_cn.html)、[贡献前阅读](read_before_contributing_cn.html) 和相关代码规范; + +- 已根据 [API 设计和命名规范](api_design_guidelines_standard_cn.html) 确定了新增 API 的名称和存放位置; + - 已提交 [API 设计文档](read_before_contributing_cn.html#apiDesignDoc) 并通过评审; + - 已将 [PaddlePaddle/Paddle](https://github.com/PaddlePaddle/Paddle) 仓库的代码获取到本地,准备好了 Paddle 开发环境。 ## 二、开发流程介绍 -新增一个 C++ OP 大概需要以下几个步骤: +新增一个 C++ 算子大概需要以下几个步骤: 1. **新增算子描述及定义**:描述前反向算子的输入、输出、属性,实现 InferMeta 函数; 2. **新增算子 Kernel**:实现算子在各种设备上的计算逻辑; @@ -38,7 +41,7 @@ | Python API | [python/paddle](https://github.com/PaddlePaddle/Paddle/tree/develop/python/paddle) 目录下的相应子目录中的 .py 文件,遵循相似功能的 API 放在同一文件夹的原则 | | 单元测试 | [python/paddle/fluid/tests/unittests](https://github.com/PaddlePaddle/Paddle/tree/develop/python/paddle/fluid/tests/unittests) 目录下的相应文件中:
    test_xxx_op.py | -接下来以 trace op 操作,计算输入 Tensor 在指定平面上的对角线元素之和,并输出相应的计算结果,即以 [paddle.trace](../../api/paddle/trace_cn.html#trace) 为例来介绍如何新增算子。 +接下来以 trace 算子操作,计算输入 Tensor 在指定平面上的对角线元素之和,并输出相应的计算结果,即以 [paddle.trace](../../api/paddle/trace_cn.html#trace) 为例来介绍如何新增算子。 ## 三、新增算子描述及定义 @@ -46,7 +49,7 @@ ### 3.1 算子 Yaml 文件配置 -在 `paddle/phi/api/yaml/api.yaml` 和 `paddle/phi/api/yaml/backward.yaml` 文件中对算子进行描述及定义,在框架编译时会根据 YAML 文件中的配置自动生成 C++ 端的相关代码接口以及内部实现(详见 [Paddle 基于 Yaml 配置自动生成算子代码的逻辑解读](#paddleyaml)),下面主要以 [paddle.trace](../../api/paddle/trace_cn.html#trace) 为例介绍算子的 Yaml 配置规则: +在 `paddle/phi/api/yaml/api.yaml` 和 `paddle/phi/api/yaml/backward.yaml` 文件中对算子进行描述及定义,在框架编译时会根据 YAML 文件中的配置自动生成 C++ 端的相关代码接口以及内部实现(详见下文 [8.1 Paddle 基于 Yaml 配置自动生成算子代码的逻辑解读](#paddleyaml) 小节的介绍),下面主要以 [paddle.trace](../../api/paddle/trace_cn.html#trace) 为例介绍算子的 Yaml 配置规则: [paddle/phi/api/yaml/api.yaml](https://github.com/PaddlePaddle/Paddle/blob/develop/paddle/phi/api/yaml/api.yaml) 中 trace 相关配置: @@ -233,7 +236,7 @@ b. 如果是实现自定义的 C++ API,需要在'paddle/phi/api/lib/api_custom > 说明:InferMeta 与 kernel 共同组成了一个算子的运算过程。InferMeta 在 kernel 前执行,用于维度、数据类型等信息的计算处理,这些信息在没有具体数据时依然可以通过输入参数完成输出结果的信息推导(例如两个维度为 2x3 的张量相加,输出结果的维度也一定是 2x3),可以利用这些信息优化训练过程中资源的分配和使用,kernel 中也不再需要专门推导这些信息。kernel 则用于具体数据的逻辑计算,为 InferMeta 函数推导得到的张量填充具体的结果值。 -[TraceOp 的 InferMeta 函数](https://github.com/PaddlePaddle/Paddle/blob/befa78ea3fa9d0dae096a7de91f626b0c31daee8/paddle/phi/infermeta/unary.cc#L721) 实现如下: +[trace 算子的 InferMeta 函数](https://github.com/PaddlePaddle/Paddle/blob/befa78ea3fa9d0dae096a7de91f626b0c31daee8/paddle/phi/infermeta/unary.cc#L721) 实现如下: ```cpp void TraceInferMeta( @@ -302,7 +305,7 @@ InferMeta 的文件放置规则([paddle/phi/infermeta](https://github.com/Padd - `binary.h`:有两个输入 Tensor 参数的函数 - `ternary.h`:有三个输入 Tensor 参数的函数 - `multiary.h`:有三个以上输入 Tensor 或者输入为`vector`的函数 -- `backward.h`:反向 op 的 InferMeta 函数一律在此文件中,不受前序规则限制 +- `backward.h`:反向算子的 InferMeta 函数一律在此文件中,不受前序规则限制 **InferMeta 的编译时与运行时** @@ -310,7 +313,7 @@ InferMeta 的文件放置规则([paddle/phi/infermeta](https://github.com/Padd 对于此类 InferMeta 函数,需要在 InferMeta 函数声明的参数列表末尾增加 `MetaConfig` 参数,例如: -```plain +```cpp void ConcatInferMeta(const std::vector& x, const Scalar& axis_scalar, MetaTensor* out, @@ -504,7 +507,7 @@ CPU 的实现位于`paddle/phi/kernels/cpu` 目录下; GPU 的实现位于`pad #### 4.2.1 声明 Kernel 函数 -以 trace OP 为例,首先在`paddle/phi/kernels`目录下新建 [trace_kernel.h](https://github.com/PaddlePaddle/Paddle/blob/develop/paddle/phi/kernels/trace_kernel.h) 文件,用于放置前向 kernel 函数声明。 +以 trace 算子为例,首先在`paddle/phi/kernels`目录下新建 [trace_kernel.h](https://github.com/PaddlePaddle/Paddle/blob/develop/paddle/phi/kernels/trace_kernel.h) 文件,用于放置前向 kernel 函数声明。 > 注意: > @@ -667,7 +670,7 @@ PD_REGISTER_KERNEL(trace, 字段说明: -1. `trace`: kernel 名称,和 OP 的名称一致 +1. `trace`: kernel 名称,和算子的名称一致 2. `CPU`: backend 名称, 一般主要就是 CPU 和 GPU 3. `ALL_LAYOUT`: kernel 支持的 Tensor 布局,一般为 ALL_LAYOUT,及支持所有布局类型 4. `phi::TraceKernel`: kernel 的函数名称,记得带上 namespace phi @@ -681,7 +684,7 @@ PD_REGISTER_KERNEL(trace, ### 4.3 编译测试 -实现完 OP kernel 之后,建议先编译测试一下,编译成功之后,再继续后面的步骤。 +实现完算子 kernel 之后,建议先编译测试一下,编译成功之后,再继续后面的步骤。 详细的编译环境准备和执行流程可参考 [从源码编译](../../install/compile/fromsource.html),下面简单介绍几个主要步骤。 在 `Paddle` 代码目录下创建并切换到 build 目录: @@ -702,11 +705,11 @@ cmake .. -DPY_VERSION=3.7 -DWITH_GPU=ON -DWITH_TESTING=ON -DCMAKE_BUILD_TYPE=Rel make -j$(nproc) ``` -> **注意:**新增 OP 后请重新执行`cmake`命令,然后再执行`make`命令编译 paddle。 +> **注意:**新增算子后请重新执行`cmake`命令,然后再执行`make`命令编译 paddle。 ## 五、封装 Python API -飞桨框架会对新增的 OP Kernel 自动绑定 Python,并链接到生成的 lib 库中,然后开发者需要在 Python 端定义相应的 API,在 API 内调用新增算子,并添加相应的中英文文档描述即可。 +飞桨框架会对新增的算子 kernel 自动绑定 Python,并链接到生成的 lib 库中,然后开发者需要在 Python 端定义相应的 API,在 API 内调用新增算子,并添加相应的中英文文档描述即可。 `paddle.trace` 的 Python API 实现位于 [python/paddle/tensor/math.py](https://github.com/PaddlePaddle/Paddle/blob/bd4dc3be34584f9b273ecec07297fb05e1cf4c52/python/paddle/tensor/math.py#L2277) 中,具体实现如下: @@ -782,7 +785,7 @@ def trace(x, offset=0, axis1=0, axis2=1, name=None): __check_input(input, offset, axis1, axis2) if in_dygraph_mode(): - return _C_ops.final_state_trace( x, offset, axis1, axis2 ) + return _C_ops.trace( x, offset, axis1, axis2 ) helper = LayerHelper('trace', **locals()) out = helper.create_variable_for_type_inference(dtype=x.dtype) @@ -804,11 +807,11 @@ def trace(x, offset=0, axis1=0, axis2=1, name=None): ## 六、添加单元测试 -单测包括对比前向算子不同设备 (CPU、GPU) 的实现、对比反向算子不同设备 (CPU、GPU) 的实现、反向算子的梯度测试。下面介绍[TraceOp 的单元测试](https://github.com/PaddlePaddle/Paddle/blob/develop/python/paddle/fluid/tests/unittests/test_trace_op.py)。 +单测包括对比前向算子不同设备 (CPU、GPU) 的实现、对比反向算子不同设备 (CPU、GPU) 的实现、反向算子的梯度测试。下面介绍[trace 算子的单元测试](https://github.com/PaddlePaddle/Paddle/blob/develop/python/paddle/fluid/tests/unittests/test_trace_op.py)。 -**单测文件存放路径和命名方式:**在 [python/paddle/fluid/tests/unittests](https://github.com/PaddlePaddle/Paddle/tree/develop/python/paddle/fluid/tests/unittests) 目录下,一般以 `test_*${op_name}*_op.py` 的形式命名,与 Python API 的单元测试文件命名为相同的前缀。 +单测文件存放路径和命名方式:在 [python/paddle/fluid/tests/unittests](https://github.com/PaddlePaddle/Paddle/tree/develop/python/paddle/fluid/tests/unittests) 目录下,一般以 `test_xxx_op.py` 的形式命名(假设算子名为`xxx`),与 Python API 的单元测试文件命名为相同的前缀。 -> **注意:**单测中的测试用例需要尽可能地覆盖 kernel 中的所有分支。 +> 注意:单测中的测试用例需要尽可能地覆盖 kernel 中的所有分支。 ### 6.1 C++ 算子单元测试 @@ -951,7 +954,7 @@ PADDLE_ENFORCE_EQ(比较对象 A, 比较对象 B, 错误提示信息) ``` #### 7.3.2 减少反向算子中的无关变量 -通常反向算子会依赖于前向算子的某些输入、输出 Tensor,以供反向算子计算使用。但有些情况下,反向算子不需要前向 Op 的所有输入和输出;有些情况下,反向算子只需要前向算子的部分输入和输出;有些情况下,反向算子只需要使用前向算子中输入和输出变量的 Shape 和 LoD 信息。若开发者在注册反向算子时,将不必要的前向算子输入和输出作为反向算子的输入,会导致这部分显存无法被框架现有的显存优化策略优化,从而导致模型显存占用过高。 +通常反向算子会依赖于前向算子的某些输入、输出 Tensor,以供反向算子计算使用。但有些情况下,反向算子不需要前向算子的所有输入和输出;有些情况下,反向算子只需要前向算子的部分输入和输出;有些情况下,反向算子只需要使用前向算子中输入和输出变量的 Shape 和 LoD 信息。若开发者在注册反向算子时,将不必要的前向算子输入和输出作为反向算子的输入,会导致这部分显存无法被框架现有的显存优化策略优化,从而导致模型显存占用过高。 所以在定义反向算子时需要注意以下几点: @@ -1081,7 +1084,7 @@ Paddle 支持动态图和静态图两种模式,在 YAML 配置文件中完成 - **动态图前向函数与反向节点(Autograd API)**:在 C++ API 的基础上进行了封装,组成一个提供自动微分功能的 C++函数接口。 - 注:生成的相关代码在`paddle/fluid/eager/api/generated/eager_generated`目录下。 - **Python-C 函数**:将支持自动微分功能的 C++的函数接口(Autograd API)暴露到 Python 层供 Python API 调用。 - - 注:生成的 Python-C 接口代码在`paddle/fluid/pybind/eager_final_state_op_function_impl.h`中。 + - 注:生成的 Python-C 接口代码在`paddle/fluid/pybind/eager_op_function.cc`中。 - 静态图的执行流程与动态图不同,所以生成的代码也与动态图有较大差异。 静态图由于是先组网后计算,Python API 主要负责组网,算子的调度和 kernel 计算由静态图执行器来完成,因此自动生成的代码是将配置文件中的算子信息注册到框架内供执行器调度,主要包括 [OpMaker](https://github.com/PaddlePaddle/Paddle/blob/develop/paddle/fluid/framework/op_proto_maker.h)(静态图中定义算子的输入、输出以及属性等信息)和`REGISTER_OPERATOR`(将算子名称以及 OpMaker 等信息进行注册)等静态图算子注册组件,具体的代码逻辑可参考`paddle/fluid/operators/generated_op.cc`。 diff --git a/docs/dev_guides/api_contributing_guides/new_python_api_cn.md b/docs/dev_guides/api_contributing_guides/new_python_api_cn.md index 1fadea6fd7b..819355b6b01 100644 --- a/docs/dev_guides/api_contributing_guides/new_python_api_cn.md +++ b/docs/dev_guides/api_contributing_guides/new_python_api_cn.md @@ -2,8 +2,8 @@ 新增飞桨 API 主要包含两种情况: -1. 不需要开发新的 C++ 算子(Operator,OP),可以用其他 Python API 组合得到新的 API,只写 Python 代码即可。 -2. 需要开发新的 C++ 算子,需要用 C++ 开发 OP 实现代码、再封装 Python API 代码。 +1. 不需要开发新的 C++ 算子,可以用其他 Python API 组合得到新的 API,只写 Python 代码即可。 +2. 需要开发新的 C++ 算子,需要用 C++ 开发算子实现代码、再封装 Python API 代码。 两种情况下均有 Python 端的开发工作。本文将介绍开发新的飞桨 API 时,需要完成的 Python 端开发内容以及注意事项。 @@ -81,14 +81,14 @@ def zeros(shape, dtype=None, name=None): 如果 API 的实现中需要调用 C++ 算子,则需要分别实现动态图分支和静态图分支的代码。 -接下来以 [paddle.trace](../../api/paddle/trace_cn.html) API 的实现代码为例(示例代码路径:[python/paddle/tensor/math.py](https://github.com/PaddlePaddle/Paddle/blob/develop/python/paddle/tensor/math.py#L2790)),分别介绍动态图分支和静态图分支的开发要点: +接下来以 [paddle.trace](../../api/paddle/trace_cn.html) API 的实现代码为例(示例代码路径:[python/paddle/tensor/math.py](https://github.com/PaddlePaddle/Paddle/blob/develop/python/paddle/tensor/math.py#L2784)),分别介绍动态图分支和静态图分支的开发要点: ```python def trace(x, offset=0, axis1=0, axis2=1, name=None): # 为了突出重点,省略部分代码 # 动态图分支,直接调用算子对应的 Python C 函数 if in_dygraph_mode(): - return _C_ops.final_state_trace( x, offset, axis1, axis2 ) + return _C_ops.trace( x, offset, axis1, axis2 ) # 静态图分支 ## 输入参数检查 @@ -115,13 +115,13 @@ def trace(x, offset=0, axis1=0, axis2=1, name=None): ```python # 动态图分支,直接调用算子对应的 Python C 函数 if in_dygraph_mode(): - return _C_ops.final_state_trace( x, offset, axis1, axis2 ) + return _C_ops.trace( x, offset, axis1, axis2 ) ``` -动态图分支的写法一般是调用 C++ 算子对应的 Python C 函数,示例中调用名为 `trace` 的 算子,使用 `_C_ops.final_state_trace`,然后传入参数。 +动态图分支的写法一般是调用 C++ 算子对应的 Python C 函数,示例中调用名为 `trace` 的 算子,使用 `_C_ops.trace`,然后传入参数。 - `_C_ops` 是 [python/paddle/_C_ops.py](https://github.com/PaddlePaddle/Paddle/blob/develop/python/paddle/_C_ops.py),其实现了从 Paddle 编译得到的二进制文件中 import C++ 算子对应的 Python C 函数。 - - `final_state_trace`是 `trace` 算子的 Python C 函数名。Python C 函数的命名方式为 `final_state_ + 算子名`。 + - `trace` 是算子的 Python C 函数名。Python C 函数的命名直接采用算子名。 - 参数 `( x, offset, axis1, axis2 )`需按照 [YAML 配置文件](https://github.com/PaddlePaddle/Paddle/blob/develop/paddle/phi/api/yaml/api.yaml#L185) 中定义的输入参数顺序传入,C++ 算子的输入、输出和属性等描述是通过 YAML 配置文件定义的,具体可参见 [开发 C++ 算子](new_cpp_op_cn.html) 章节介绍。 > 注意:由于目前飞桨动态图正处在重构升级阶段,所以现有算子的代码会分别有新旧动态图两个代码分支,其中 `in_dygraph_mode()` 表示新动态图分支(默认),`_in_legacy_dygraph()`为旧动态图分支,**在新增算子时无需添加旧动态图分支代码**。 @@ -253,7 +253,7 @@ from a import f # it's ok, too **(2)具体做法** - - 一些常用的 Paddle API 可先参考上述方法建立别名,比如前文示例中 `paddle.trace ` API 的 `trace` 函数定义在 [Python/paddle/tensor/math.py](https://github.com/PaddlePaddle/Paddle/blob/develop/python/paddle/tensor/math.py#L2790) 中,又在 [Python/paddle/tensor/__init__.py](https://github.com/PaddlePaddle/Paddle/blob/develop/python/paddle/tensor/__init__.py) 中被 import,并且也在 [Python/paddle/__init__.py](https://github.com/PaddlePaddle/Paddle/blob/develop/python/paddle/__init__.py) 中被 import。 + - 一些常用的 Paddle API 可先参考上述方法建立别名,比如前文示例中 `paddle.trace ` API 的 `trace` 函数定义在 [Python/paddle/tensor/math.py](https://github.com/PaddlePaddle/Paddle/blob/develop/python/paddle/tensor/math.py#L2784) 中,又在 [Python/paddle/tensor/__init__.py](https://github.com/PaddlePaddle/Paddle/blob/develop/python/paddle/tensor/__init__.py) 中被 import,并且也在 [Python/paddle/__init__.py](https://github.com/PaddlePaddle/Paddle/blob/develop/python/paddle/__init__.py) 中被 import。 ```python # Python/paddle/tensor/math.py @@ -376,28 +376,30 @@ class TestHardtanhAPI(unittest.TestCase): **开发要点:** - - 无论是用其他 Python API 组合得到新的 API,还是封装新开发 C++ OP 得到的新 API,都必须添加动态图和静态图的测试用例,确保对应情况工作正常,结果符合预期。 - - 通常情况下新增 Python API 的单元测试,可以不必测试反向计算功能,因为在 C++ OP 的单元测试中会包含反向算子功能的测试。 + - 无论是用其他 Python API 组合得到新的 API,还是封装新开发 C++ 算子得到的新 API,都必须添加动态图和静态图的测试用例,确保对应情况工作正常,结果符合预期。 + - 通常情况下新增 Python API 的单元测试,可以不必测试反向计算功能,因为在 C++ 算子的单元测试中会包含反向算子功能的测试。 - 用 NumPy/SciPy 的实现对比时,一般用 `self.assertTrue(numpy.allclose(actual, desired))` 或者 `numpy.testing.assert_allclose(actual, desired)` 来进行数值对比。其中,`numpy.testing.assert_allclose` 相对误差和绝对误差是 `rtol=1e-07, atol=0`;`numpy.allclose` 的相对误差和绝对误差是 `rtol=1e-05, atol=1e-08`,前者比后者更严格。一般进行单元测试的时候,都使用默认的误差阈值,如需设置自定义的阈值,需要说明原因。 - 因为单元测试各个 case 的运行次序是不确定的,为了保证不同的测试 case 运行在正确的运行模式(动态图/静态图)上,常见的做法有: - 在每个测试 case 的起始部分,显式切换 paddle 的运行模式,用`paddle.enable_static` 和 `paddle.disable_static` 分别激活和取消静态图模式。如前文代码所示,在 `test_static_api` 和 `test_dygraph_api` 的开头分别切换了状态。 + - 将静态图和动态图测试定义为不以 `test` 开头的函数(如 [test_l1_loss.py](https://github.com/PaddlePaddle/Paddle/blob/develop/python/paddle/fluid/tests/unittests/test_l1_loss.py#L77) 中定义为 `run_imperative`、`run_static` 函数),然后定义一个 test 开头的函数,切换不同的状态去运行它。 -```python - def test_cpu(self): - # 关闭静态图模式,测试动态图模式 - paddle.disable_static(place=paddle.fluid.CPUPlace()) - self.run_imperative() - # 开启静态图模式,测试静态图模式 - paddle.enable_static() - - with fluid.program_guard(fluid.Program()): - self.run_static() -``` + ```python + def test_cpu(self): + # 关闭静态图模式,测试动态图模式 + paddle.disable_static(place=paddle.fluid.CPUPlace()) + self.run_imperative() + # 开启静态图模式,测试静态图模式 + paddle.enable_static() + + with fluid.program_guard(fluid.Program()): + self.run_static() + ``` + + - 将动态图和静态图的测试 case 分在不同的 Python 文件中,`import paddle` 后在模块级别设置 paddle 的运行模式。比如 [test_rnn_cells.py](https://github.com/PaddlePaddle/Paddle/blob/develop/python/paddle/fluid/tests/unittests/rnn/test_rnn_cells.py) 和 [test_rnn_cells_static.py](https://github.com/PaddlePaddle/Paddle/blob/develop/python/paddle/fluid/tests/unittests/rnn/test_rnn_cells_static.py) 的做法。 - - 将动态图和静态图的测试 case 分在不同的 Python 文件中,`import paddle` 后在模块级别设置 paddle 的运行模式。比如 [test_rnn_cells.py](https://github.com/PaddlePaddle/Paddle/blob/develop/python/paddle/fluid/tests/unittests/rnn/test_rnn_cells.py) 和 [test_rnn_cells_static.py](https://github.com/PaddlePaddle/Paddle/blob/develop/python/paddle/fluid/tests/unittests/rnn/test_rnn_cells_static.py) 的做法。 - - 在测试模块级别设定 paddle 的运行模式为静态图(一般是在一个模块的开始,而不是写在 `if __name__=="__main__":` 里)。然后在需要使用动态图的 case 里,将动态图部分的代码至于 `dygraph.guard` 上下文管理器内。这是老式的写法,目前不再推荐这么写,但已有的代码库中也存在这样的模式。 + - 在测试模块级别设定 paddle 的运行模式为静态图(一般是在一个模块的开始,而不是写在 `if __name__=="__main__":` 里)。然后在需要使用动态图的 case 里,将动态图部分的代码至于 `dygraph.guard` 上下文管理器内。这是老式的写法,目前不再推荐这么写,但已有的代码库中也存在这样的模式。 ### 3.3 运行单元测试 diff --git a/docs/dev_guides/api_contributing_guides/read_before_contributing_cn.md b/docs/dev_guides/api_contributing_guides/read_before_contributing_cn.md index 19212388017..18bd3becde9 100644 --- a/docs/dev_guides/api_contributing_guides/read_before_contributing_cn.md +++ b/docs/dev_guides/api_contributing_guides/read_before_contributing_cn.md @@ -6,7 +6,7 @@ 飞桨框架 API 前端采用 Python 语言,以便获得更好的编程体验;后端的计算逻辑实现采用 C++ 语言,调用底层算子内核 (kernel)函数实现计算逻辑,以便获得更好的运行性能,如下图所示。 -开发一个新的飞桨原生算子(Operator,OP),通常需要先开发 C++ OP,即通过 Yaml 配置定义算子描述、C++ 开发算子 kernel,再封装 Python API;如果要新增的算子可以用其他 Python API 组合得到,则可以只开发 Python API 代码。 +开发一个新的飞桨原生算子,通常需要先开发 C++ 算子,即通过 Yaml 配置定义算子描述、C++ 开发算子 kernel,再封装 Python API;如果要新增的算子可以用其他 Python API 组合得到,则可以只开发 Python API 代码。 - 使用 C++ 定义算子,开发门槛较高,需有一定 C++ 或 CUDA 等软件栈开发基础,但是具有性能优势; - 使用 Python API 组合方式,只需 Python 编码,代码实现相对简单灵活,但会引入 Python 调度开销,影响性能;如果当前飞桨框架提供的基础算子 API 无法满足需求,仍然需要使用 C++ 实现算子。 @@ -28,10 +28,10 @@ 当 API 设计文档合入后,开发者即可进行代码开发。此过程请参考相应的开发规范,包括如下步骤: -- 如果新增 API 不需要开发新的 C++ OP,可以用其他 Python API 组合得到新的 API,请参考 [开发 API Python 端](new_python_api_cn.html) 章节完成,包括开发 Python 代码、单元测试代码和 API 文档等步骤。 -- 如果新增 API 需要开发新的 C++ OP,请参考 [开发 C++ 算子](new_cpp_op_cn.html) 章节完成,包括开发 OP 实现代码、封装 Python API 代码、单元测试代码和 API 文档等步骤。 - - 在 paddle/phi/kernels 目录下存放了飞桨框架已经实现的不同硬件的算子内核,可供开发 C++ OP 时调用。 - - 有时也需要自己开发新的算子内核(OP Kernel),这时可能需要使用硬件支持的软件栈(如 CUDA)来实现,或者使用飞桨框架提供的 Kernel Primitive API 来实现,后者具体介绍请参见 [Kernel Primitive API](../op_optimization/kernel_primitive_api/index_cn.html) 章节。 +- 如果新增 API 不需要开发新的 C++ 算子,可以用其他 Python API 组合得到新的 API,请参考 [开发 API Python 端](new_python_api_cn.html) 章节完成,包括开发 Python 代码、单元测试代码和 API 文档等步骤。 +- 如果新增 API 需要开发新的 C++ 算子,请参考 [开发 C++ 算子](new_cpp_op_cn.html) 章节完成,包括开发算子实现代码、封装 Python API 代码、单元测试代码和 API 文档等步骤。 + - 在 paddle/phi/kernels 目录下存放了飞桨框架已经实现的不同硬件的算子内核,可供开发 C++ 算子 时调用。 + - 有时也需要自己开发新的算子内核,这时可能需要使用硬件支持的软件栈(如 CUDA)来实现,或者使用飞桨框架提供的 Kernel Primitive API 来实现,后者具体介绍请参见 [Kernel Primitive API](../op_optimization/kernel_primitive_api/index_cn.html) 章节。 值得注意的是,代码开发完成后,请确保通过了单元测试和 CI 测试。

    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�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[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 b$|wJs3YrRPsykm4G5~?6tDnm{r-UW|Hj8Tm From 2d47a06be6016fa14c3f381fcfe218a34abb2a11 Mon Sep 17 00:00:00 2001 From: moguguo Date: Thu, 25 Aug 2022 17:15:11 +0800 Subject: [PATCH 4/5] fix image links fix image links --- .../api_contributing_guides/new_cpp_op_cn.md | 12 +++++----- .../new_python_api_cn.md | 22 ++++++++++--------- 2 files changed, 19 insertions(+), 15 deletions(-) diff --git a/docs/dev_guides/api_contributing_guides/new_cpp_op_cn.md b/docs/dev_guides/api_contributing_guides/new_cpp_op_cn.md index f1f743468fc..baeaa1bb3d9 100644 --- a/docs/dev_guides/api_contributing_guides/new_cpp_op_cn.md +++ b/docs/dev_guides/api_contributing_guides/new_cpp_op_cn.md @@ -574,8 +574,8 @@ void LinearKernel(const Context& dev_ctx, 此处 trace 算子的 kernel 属于与设备相关的情况,CPU 和 GPU kernel 需要分别实现。 -- CPU kernel 实现位于:[paddle/phi/kernels/cpu/trace_kernel.cc](https://github.com/PaddlePaddle/Paddle/blob/develop/paddle/phi/kernels/cpu/trace_kernel.cc) -- GPU kernel 实现位于:[paddle/phi/kernels/gpu/trace_kernel.cu](https://github.com/PaddlePaddle/Paddle/blob/develop/paddle/phi/kernels/gpu/trace_kernel.cu) + - CPU kernel 实现位于:[paddle/phi/kernels/cpu/trace_kernel.cc](https://github.com/PaddlePaddle/Paddle/blob/develop/paddle/phi/kernels/cpu/trace_kernel.cc) + - GPU kernel 实现位于:[paddle/phi/kernels/gpu/trace_kernel.cu](https://github.com/PaddlePaddle/Paddle/blob/develop/paddle/phi/kernels/gpu/trace_kernel.cu) 下面为 `TraceKernel` 的 CPU 实现为例介绍: @@ -628,23 +628,25 @@ void TraceKernel(const Context& dev_ctx, 反向 kernel 的实现与前向是类似的,此处不再赘述,可以直接参考对应链接中的代码实现。 + - [paddle/phi/kernels/trace_grad_kernel.h](https://github.com/PaddlePaddle/Paddle/blob/develop/paddle/phi/kernels/trace_kernel.h) - [paddle/phi/kernels/cpu/trace_grad_kernel.cc](https://github.com/PaddlePaddle/Paddle/blob/develop/paddle/phi/kernels/cpu/trace_grad_kernel.cc) - [paddle/phi/kernels/gpu/trace_grad_kernel.cu](https://github.com/PaddlePaddle/Paddle/blob/develop/paddle/phi/kernels/gpu/trace_grad_kernel.cu) + **(4)公共函数管理:** 如果有一些函数会被多个 kernel 调用,可以创建非 kernel 的文件管理代码,规则如下: - - 仅有当前 kernel 使用的辅助函数(具体到设备,比如 trace 的 cpu kernel),一律和 kernel 实现放到同一个设备文件夹中 + - 仅有当前 kernel 使用的辅助函数(具体到设备,比如 trace 的 cpu kernel),一律和 kernel 实现放到同一个设备文件夹中 - 如果辅助函数相关代码较少,就直接和 kernel 实现放到同一个`.cc/cu`中 - 如果辅助函数相关代码较多,就在 kernel 所在的设备目录创建`.h`管理代码 - - 有同设备多个 kernel 使用的辅助函数,在 kernel 所在的设备目录创建`.h`放置代码 - 有跨设备多个 kernel 使用的辅助函数,在`kernels/funcs`目录下创建`.h/cc/cu`管理代码 - 如果当前依赖的辅助函数可以直接归类到`kernels/funcs`目录下已有的文件中,则直接放过去,不用创建新的文件 + #### 4.2.3 注册 Kernel 函数 在对应的 kernel 实现代码中添加注册 kernel 函数,直接使用注册宏注册即可,示例如下: @@ -1069,7 +1071,7 @@ Paddle 支持动态图和静态图两种模式,在 YAML 配置文件中完成 > 说明:当开发者添加一个新的 C++ 算子时,只需要完成下图中 Kernel、算子定义 Yaml 配置文件和 Python API 三个绿色框中的代码开发,其余橙色部分都会通过自动代码生成来完成,从而将新增算子接入飞桨框架中。 -