From b8956426c9debb04b211f7c1a7618f1072be246c Mon Sep 17 00:00:00 2001 From: cuiluyuan Date: Tue, 15 Apr 2025 16:32:05 +0800 Subject: [PATCH] orange_pi --- tutorials/source_en/orange_pi/dev_start.md | 24 ++++---- .../source_en/orange_pi/environment_setup.md | 54 +++++++++--------- .../source_zh_cn/orange_pi/dev_start.ipynb | 26 ++++----- .../orange_pi/environment_setup.md | 22 +++---- .../images/environment_setup_1-15.png | Bin 49276 -> 22865 bytes .../images/environment_setup_1-18.png | Bin 37539 -> 22477 bytes 6 files changed, 64 insertions(+), 62 deletions(-) diff --git a/tutorials/source_en/orange_pi/dev_start.md b/tutorials/source_en/orange_pi/dev_start.md index 0c0cedaaf2..708cc9be0c 100644 --- a/tutorials/source_en/orange_pi/dev_start.md +++ b/tutorials/source_en/orange_pi/dev_start.md @@ -1,6 +1,6 @@ # Quick Start -[![View Source On Gitee](https://mindspore-website.obs.cn-north-4.myhuaweicloud.com/website-images/r2.6.0/resource/_static/logo_source_en.svg)](https://gitee.com/mindspore/docs/blob/r2.6.0/tutorials/source_en/orange_pi/dev_start.md) +[![View Source On Gitee](https://mindspore-website.obs.cn-north-4.myhuaweicloud.com/website-images/master/resource/_static/logo_source_en.svg)](https://gitee.com/mindspore/docs/blob/master/tutorials/source_en/orange_pi/dev_start.md) Since developers may perform custom model and case development in OrangePi AIpro (hereinafter: OrangePi Development Board), this chapter illustrates the development considerations in the OrangePi Development Board through a handwritten digit recognition case based on MindSpore. @@ -8,22 +8,22 @@ Since developers may perform custom model and case development in OrangePi AIpro After obtaining the OrangePi AIpro development board, developers first need to confirm hardware resources, burn images, and upgrade CANN and MindSpore versions before running the case. The specific steps are as follows: -- Hardware: OrangePi AIpro 16G 8-12T development board -- Image: OrangePi AIpro official Ubuntu image -- CANN: 8.0.RC3.alpha002 -- MindSpore: 2.4.10 +| OrangePi AIpro | Image | CANN Toolkit/Kernels | MindSpore | +| :----:| :----: | :----:| :----: | +| 8T 16G | Ubuntu | 8.0.RC3.alpha002| 2.4.10 | +| 8T 16G | Ubuntu | 8.0.0beta1| 2.5.0 | ### Image Burning -To run this case, it is necessary to burn the Ubuntu image on the OrangePi AIpro official website. Please refer to [Image Burning](https://www.mindspore.cn/tutorials/en/r2.6.0/orange_pi/environment_setup.html#1-image-burning-taking-windows-as-an-example). +To run this case, it is necessary to burn the Ubuntu image on the OrangePi AIpro official website. Please refer to [Image Burning](https://www.mindspore.cn/tutorials/en/master/orange_pi/environment_setup.html#1-image-burning-taking-windows-as-an-example). ### CANN Upgrading - Please refer to [CANN Upgrading](https://www.mindspore.cn/tutorials/en/r2.6.0/orange_pi/environment_setup.html#3-cann-upgrading). + Please refer to [CANN Upgrading](https://www.mindspore.cn/tutorials/en/master/orange_pi/environment_setup.html#3-cann-upgrading). ### MindSpore Upgrading - Please refer to [MindSpore Upgrading](https://www.mindspore.cn/tutorials/en/r2.6.0/orange_pi/environment_setup.html#4-mindspore-upgrading). + Please refer to [MindSpore Upgrading](https://www.mindspore.cn/tutorials/en/master/orange_pi/environment_setup.html#4-mindspore-upgrading). ```python from mindspore import nn @@ -50,7 +50,7 @@ mindspore.set_context(max_device_memory="2GB", mode=mindspore.GRAPH_MODE, device ## Preparing and Loading Dataset -MindSpore provides a Pipeline-based [data engine](https://www.mindspore.cn/docs/en/r2.6.0/design/data_engine.html) to realize efficient data preprocessing through [data loading and processing](https://www.mindspore.cn/tutorials/en/r2.6.0/beginner/dataset.html) to realize efficient data preprocessing. In this case, we use the Mnist dataset, which is automatically downloaded and then preprocessed using the data transforms provided by `mindspore.dataset`. +MindSpore provides a Pipeline-based [data engine](https://www.mindspore.cn/docs/en/master/design/data_engine.html) to realize efficient data preprocessing through [data loading and processing](https://www.mindspore.cn/tutorials/en/master/beginner/dataset.html) to realize efficient data preprocessing. In this case, we use the Mnist dataset, which is automatically downloaded and then preprocessed using the data transforms provided by `mindspore.dataset`. ```python #install download @@ -127,7 +127,7 @@ train_dataset = datapipe(train_dataset, 64) test_dataset = datapipe(test_dataset, 64) ``` -The dataset can be accessed iteratively using [create_tuple_iterator](https://www.mindspore.cn/docs/en/r2.6.0/api_python/dataset/dataset_method/iterator/mindspore.dataset.Dataset.create_tuple_iterator.html) or [create_dict_iterator](https://www.mindspore.cn/docs/en/r2.6.0/api_python/dataset/dataset_method/iterator/mindspore.dataset.Dataset.create_dict_iterator.html) to see the shape and datatype of the data and labels. +The dataset can be accessed iteratively using [create_tuple_iterator](https://www.mindspore.cn/docs/en/master/api_python/dataset/dataset_method/iterator/mindspore.dataset.Dataset.create_tuple_iterator.html) or [create_dict_iterator](https://www.mindspore.cn/docs/en/master/api_python/dataset/dataset_method/iterator/mindspore.dataset.Dataset.create_dict_iterator.html) to see the shape and datatype of the data and labels. ```python for image, label in test_dataset.create_tuple_iterator(): @@ -202,8 +202,8 @@ In model training, a complete training process (STEP) requires the realization o MindSpore uses a functional automatic differentiation mechanism, so for the above steps need to be implemented: 1. Define the forward computation function. -2. Use [value_and_grad](https://www.mindspore.cn/docs/en/r2.6.0/api_python/mindspore/mindspore.value_and_grad.html) to obtain the gradient computation function by functional transformation. -3. Define the training function and use [set_train](https://www.mindspore.cn/docs/en/r2.6.0/api_python/nn/mindspore.nn.Cell.html#mindspore.nn.Cell.set_train) to set to training mode, perform forward computation, backpropagation and parameter optimization. +2. Use [value_and_grad](https://www.mindspore.cn/docs/en/master/api_python/mindspore/mindspore.value_and_grad.html) to obtain the gradient computation function by functional transformation. +3. Define the training function and use [set_train](https://www.mindspore.cn/docs/en/master/api_python/nn/mindspore.nn.Cell.html#mindspore.nn.Cell.set_train) to set to training mode, perform forward computation, backpropagation and parameter optimization. ```python # Instantiate loss function and optimizer diff --git a/tutorials/source_en/orange_pi/environment_setup.md b/tutorials/source_en/orange_pi/environment_setup.md index 116d3fafa3..c33908c621 100644 --- a/tutorials/source_en/orange_pi/environment_setup.md +++ b/tutorials/source_en/orange_pi/environment_setup.md @@ -1,6 +1,6 @@ # Environment Setup Guide -[![View Source On Gitee](https://mindspore-website.obs.cn-north-4.myhuaweicloud.com/website-images/r2.6.0/resource/_static/logo_source_en.svg)](https://gitee.com/mindspore/docs/blob/r2.6.0/tutorials/source_en/orange_pi/environment_setup.md) +[![View Source On Gitee](https://mindspore-website.obs.cn-north-4.myhuaweicloud.com/website-images/master/resource/_static/logo_source_en.svg)](https://gitee.com/mindspore/docs/blob/master/tutorials/source_en/orange_pi/environment_setup.md) This section describes how to burn an image on OrangePi AIpro, customize the installation of CANN and MindSpore, and configure the runtime environment. @@ -12,7 +12,7 @@ Image burning can be performed in any operating system. Here we will take Window Step 1 Insert the Micro SD card into the card reader and the card reader into the PC. -![environment-setup-1-1](https://mindspore-website.obs.cn-north-4.myhuaweicloud.com/website-images/r2.6.0/tutorials/source_zh_cn/orange_pi/images/environment_setup_1-1.jpg) +![environment-setup-1-1](https://mindspore-website.obs.cn-north-4.myhuaweicloud.com/website-images/master/tutorials/source_zh_cn/orange_pi/images/environment_setup_1-1.jpg) ### 1.2 Downloading the Ubuntu image @@ -22,11 +22,11 @@ Step 1 Click [here](http://www.orangepi.cn/html/hardWare/computerAndMicrocontrol Step 2 Click the arrow icon in the picture to jump to the Baidu Wangpan download page. -![environment-setup-1-2](https://mindspore-website.obs.cn-north-4.myhuaweicloud.com/website-images/r2.6.0/tutorials/source_zh_cn/orange_pi/images/environment_setup_1-2.png) +![environment-setup-1-2](https://mindspore-website.obs.cn-north-4.myhuaweicloud.com/website-images/master/tutorials/source_zh_cn/orange_pi/images/environment_setup_1-2.png) Step 3 Select the desktop version to download, it is recommended to download the 0318 version of the environment. -![environment-setup-1-3](https://mindspore-website.obs.cn-north-4.myhuaweicloud.com/website-images/r2.6.0/tutorials/source_zh_cn/orange_pi/images/environment_setup_1-3.png) +![environment-setup-1-3](https://mindspore-website.obs.cn-north-4.myhuaweicloud.com/website-images/master/tutorials/source_zh_cn/orange_pi/images/environment_setup_1-3.png) Step 4 Alternative download method. @@ -42,13 +42,13 @@ There are two card-making tools balenaEtcher, Rufus, and you can choose any one Click [here](https://etcher.balena.io/) to jump to the official website, and click the green download button to jump to where the software is downloaded. - ![environment-setup-1-4](https://mindspore-website.obs.cn-north-4.myhuaweicloud.com/website-images/r2.6.0/tutorials/source_zh_cn/orange_pi/images/environment_setup_1-4.png) + ![environment-setup-1-4](https://mindspore-website.obs.cn-north-4.myhuaweicloud.com/website-images/master/tutorials/source_zh_cn/orange_pi/images/environment_setup_1-4.png) Step 2 Select to download the Portable version. The Portable version does not require installation, so double-click it to open it and use it. - ![environment-setup-1-5](https://mindspore-website.obs.cn-north-4.myhuaweicloud.com/website-images/r2.6.0/tutorials/source_zh_cn/orange_pi/images/environment_setup_1-5.png) + ![environment-setup-1-5](https://mindspore-website.obs.cn-north-4.myhuaweicloud.com/website-images/master/tutorials/source_zh_cn/orange_pi/images/environment_setup_1-5.png) Step 3 Alternative download method. @@ -56,9 +56,9 @@ There are two card-making tools balenaEtcher, Rufus, and you can choose any one Step 4 Open balenaEtcher. - ![environment-setup-1-6](https://mindspore-website.obs.cn-north-4.myhuaweicloud.com/website-images/r2.6.0/tutorials/source_zh_cn/orange_pi/images/environment_setup_1-6.png) + ![environment-setup-1-6](https://mindspore-website.obs.cn-north-4.myhuaweicloud.com/website-images/master/tutorials/source_zh_cn/orange_pi/images/environment_setup_1-6.png) - ![environment-setup-1-7](https://mindspore-website.obs.cn-north-4.myhuaweicloud.com/website-images/r2.6.0/tutorials/source_zh_cn/orange_pi/images/environment_setup_1-7.png) + ![environment-setup-1-7](https://mindspore-website.obs.cn-north-4.myhuaweicloud.com/website-images/master/tutorials/source_zh_cn/orange_pi/images/environment_setup_1-7.png) - Rufus: @@ -80,19 +80,19 @@ Here we introduce balenaEtcher, Rufus to burn the image, you can burn according 3. Click Start Burning, as shown below: - ![environment-setup-1-8](https://mindspore-website.obs.cn-north-4.myhuaweicloud.com/website-images/r2.6.0/tutorials/source_zh_cn/orange_pi/images/environment_setup_1-8.png) + ![environment-setup-1-8](https://mindspore-website.obs.cn-north-4.myhuaweicloud.com/website-images/master/tutorials/source_zh_cn/orange_pi/images/environment_setup_1-8.png) It takes about 20 minutes to burn and verify, so please be patient: - ![environment-setup-1-9](https://mindspore-website.obs.cn-north-4.myhuaweicloud.com/website-images/r2.6.0/tutorials/source_zh_cn/orange_pi/images/environment_setup_1-9.png) + ![environment-setup-1-9](https://mindspore-website.obs.cn-north-4.myhuaweicloud.com/website-images/master/tutorials/source_zh_cn/orange_pi/images/environment_setup_1-9.png) - ![environment-setup-1-10](https://mindspore-website.obs.cn-north-4.myhuaweicloud.com/website-images/r2.6.0/tutorials/source_zh_cn/orange_pi/images/environment_setup_1-10.png) + ![environment-setup-1-10](https://mindspore-website.obs.cn-north-4.myhuaweicloud.com/website-images/master/tutorials/source_zh_cn/orange_pi/images/environment_setup_1-10.png) Step 2 Burning is complete. After the completion of burning, balenaEtcher is shown in the following figure, if the green indicator icon shows that the image is burned successfully, at this time you can exit balenaEtcher, pull out the TF card and insert it into the TF card slot on the development board to use: - ![environment-setup-1-11](https://mindspore-website.obs.cn-north-4.myhuaweicloud.com/website-images/r2.6.0/tutorials/source_zh_cn/orange_pi/images/environment_setup_1-11.png) + ![environment-setup-1-11](https://mindspore-website.obs.cn-north-4.myhuaweicloud.com/website-images/master/tutorials/source_zh_cn/orange_pi/images/environment_setup_1-11.png) - Rufus burns images: @@ -100,13 +100,13 @@ Here we introduce balenaEtcher, Rufus to burn the image, you can burn according Insert the sd card into the card reader, insert the card reader into the computer, select the image and sd card, click “Start”. - ![environment-setup-1-12](https://mindspore-website.obs.cn-north-4.myhuaweicloud.com/website-images/r2.6.0/tutorials/source_zh_cn/orange_pi/images/environment_setup_1-12.png) + ![environment-setup-1-12](https://mindspore-website.obs.cn-north-4.myhuaweicloud.com/website-images/master/tutorials/source_zh_cn/orange_pi/images/environment_setup_1-12.png) Step 2 Burning is complete. Pull out the card reader directly after the wait is over. - ![environment-setup-1-13](https://mindspore-website.obs.cn-north-4.myhuaweicloud.com/website-images/r2.6.0/tutorials/source_zh_cn/orange_pi/images/environment_setup_1-13.png) + ![environment-setup-1-13](https://mindspore-website.obs.cn-north-4.myhuaweicloud.com/website-images/master/tutorials/source_zh_cn/orange_pi/images/environment_setup_1-13.png) ## 2. Development Board Startup and Network Connection @@ -162,7 +162,7 @@ If the current CANN version does not meet the development requirements, the CANN Step 1 Use the `CTRL+ALT+T` or click on the icon with `$_` at the bottom of the page to open the terminal and switch to the root user. -![environment-setup-1-14](https://mindspore-website.obs.cn-north-4.myhuaweicloud.com/website-images/r2.6.0/tutorials/source_zh_cn/orange_pi/images/environment_setup_1-14.png) +![environment-setup-1-14](https://mindspore-website.obs.cn-north-4.myhuaweicloud.com/website-images/master/tutorials/source_zh_cn/orange_pi/images/environment_setup_1-14.png) Switch the root user, root user password: Mind@123. @@ -185,7 +185,7 @@ Step 2 Remove installed CANN packages to free up disk space and prevent installi ``` -Step 3 Open the official website of Ascend CANN to access the community version of the resource [download address](https://www.hiascend.com/developer/download/community/result?module=cann), download the required version of the toolkit package. Taking 8.0.RC3.alpha002 version as an example, as shown below: +Step 3 Open the official website of Ascend CANN to access the community version of the resource [download address](https://www.hiascend.com/developer/download/community/result?module=cann), download the required version of the toolkit package. Taking 8.0.0.beta1 version as an example, as shown below: ![environment-setup-1-15](../../source_zh_cn/orange_pi/images/environment_setup_1-15.png) @@ -206,18 +206,18 @@ Step 4 Go to the Toolkit package download directory. Step 5 Add execution permissions to the CANN package. ```bash -(base) root@orangepiaipro: /home/HwHiAiUser/Downloads# chmod +x ./Ascend-cann-toolkit_8.0.RC3.alpha002_linux-aarch64.run +(base) root@orangepiaipro: /home/HwHiAiUser/Downloads# chmod +x ./Ascend-cann-toolkit_8.0.0_linux-aarch64.run ``` Step 6 Execute the following command to upgrade the software. ```bash -(base) root@orangepiaipro: /home/HwHiAiUser/Downloads#./Ascend-cann-toolkit_8.0.RC3.alpha002_linux-aarch64.run --install +(base) root@orangepiaipro: /home/HwHiAiUser/Downloads#./Ascend-cann-toolkit_8.0.0_linux-aarch64.run --install ``` Type Y when this prompt pops up during installation, then press Enter to continue the installation. This process takes about 10-15 minutes, please be patient. -![environment-setup-1-16](https://mindspore-website.obs.cn-north-4.myhuaweicloud.com/website-images/r2.6.0/tutorials/source_zh_cn/orange_pi/images/environment_setup_1-16.png) +![environment-setup-1-16](https://mindspore-website.obs.cn-north-4.myhuaweicloud.com/website-images/master/tutorials/source_zh_cn/orange_pi/images/environment_setup_1-16.png) After the upgrade is completed, if the following message is displayed, the software upgrade is successful: @@ -279,13 +279,15 @@ Step 4 Go to the Kernels package download directory. Step 5 Add execution permissions to the kernels package. ```bash -(base) root@orangepiaipro: /home/HwHiAiUser/Downloads# chmod +x ./Ascend-cann-kernels-310b_8.0.RC3.alpha002_linux.run +(base) root@orangepiaipro: /home/HwHiAiUser/Downloads# chmod +x ./ +Ascend-cann-kernels-310b_8.0.0_linux-aarch64.run ``` Step 6 Execute the following command to upgrade the software. ```bash -(base) root@orangepiaipro: /home/HwHiAiUser/Downloads#./Ascend-cann-kernels-310b_8.0.RC3.alpha002_linux.run --install +(base) root@orangepiaipro: /home/HwHiAiUser/Downloads#./ +Ascend-cann-kernels-310b_8.0.0_linux-aarch64.run --install ``` After the upgrade is completed, if the following message is displayed, the software upgrade is successful: @@ -316,7 +318,7 @@ Step 2 Execute the following command to obtain version information. If the current MindSpore version does not meet the development requirements, the MindSpore version can be upgraded according to the following methods. -### 4.2 Installing the Official Version of the Website (Taking MindSpore 2.4.10 as an example) +### 4.2 Installing the Official Version of the Website (Taking MindSpore 2.5.0 as an example) #### 4.2.1 MindSpore Upgrading @@ -325,13 +327,13 @@ Please note that both installation methods for MindSpore need to be performed un Method 1: Use the CTRL+ALT+T shortcut key or click on the icon with $_ at the bottom of the page to open the terminal, keep the HwHiAiUser user logged in, and run the pip install command directly on the terminal. ```bash -(base) HwHiAiUser@orangepiaipro:~$ pip install mindspore==2.4.10 +(base) HwHiAiUser@orangepiaipro:~$ pip install mindspore==2.5.0 ``` Method 2: Use the CTRL+ALT+T shortcut key or click on the icon with $_ at the bottom of the page to open the terminal, refer to [MindSpore official website installation tutorial](https://www.mindspore.cn/install/en) to install. ```bash -(base) HwHiAiUser@orangepiaipro:~$ pip install https://ms-release.obs.cn-north-4.myhuaweicloud.com/2.4.10/MindSpore/unified/aarch64/mindspore-2.4.10-cp39-cp39-linux_aarch64.whl --trusted-host ms-release.obs.cn-north-4.myhuaweicloud.com -i https://pypi.tuna.tsinghua.edu.cn/simple +(base) HwHiAiUser@orangepiaipro:~$ pip install https://ms-release.obs.cn-north-4.myhuaweicloud.com/2.5.0/MindSpore/unified/aarch64/mindspore-2.5.0-cp39-cp39-linux_aarch64.whl --trusted-host ms-release.obs.cn-north-4.myhuaweicloud.com -i https://pypi.tuna.tsinghua.edu.cn/simple # Confirm the operating system and programming language, and the default environment of the OrangePi AIpro development board is linux-aarch64 and python3.9 ``` @@ -345,7 +347,7 @@ Method 2: Use the CTRL+ALT+T shortcut key or click on the icon with $_ at the bo If the output is as follows, it indicates that MindSpore has been successfully installed. ```bash -MindSpore version: 2.4.10 +MindSpore version: 2.5.0 The result of multiplication calculation is correct, MindSpore has been installed on platform [Ascend] successfully! ``` @@ -353,4 +355,4 @@ The result of multiplication calculation is correct, MindSpore has been installe ## Next Suggestion -At this point, the OrangePi AIpro development board environment has been set up, and you can experience [online model inference based on MindSpore development on the development board](https://www.mindspore.cn/tutorials/en/r2.6.0/orange_pi/model_infer.html). +At this point, the OrangePi AIpro development board environment has been set up, and you can experience [online model inference based on MindSpore development on the development board](https://www.mindspore.cn/tutorials/en/master/orange_pi/model_infer.html). diff --git a/tutorials/source_zh_cn/orange_pi/dev_start.ipynb b/tutorials/source_zh_cn/orange_pi/dev_start.ipynb index 2557d183f6..ebf0f7a794 100644 --- a/tutorials/source_zh_cn/orange_pi/dev_start.ipynb +++ b/tutorials/source_zh_cn/orange_pi/dev_start.ipynb @@ -6,7 +6,7 @@ "source": [ "# 开发入门\n", "\n", - "[![下载Notebook](https://mindspore-website.obs.cn-north-4.myhuaweicloud.com/website-images/r2.6.0/resource/_static/logo_notebook.svg)](https://mindspore-website.obs.cn-north-4.myhuaweicloud.com/notebook/r2.6.0/tutorials/zh_cn/orange_pi/mindspore_dev_start.ipynb) [![下载样例代码](https://mindspore-website.obs.cn-north-4.myhuaweicloud.com/website-images/r2.6.0/resource/_static/logo_download_code.svg)](https://mindspore-website.obs.cn-north-4.myhuaweicloud.com/notebook/r2.6.0/tutorials/zh_cn/orange_pi/mindspore_dev_start.py) [![查看源文件](https://mindspore-website.obs.cn-north-4.myhuaweicloud.com/website-images/r2.6.0/resource/_static/logo_source.svg)](https://gitee.com/mindspore/docs/blob/r2.6.0/tutorials/source_zh_cn/orange_pi/dev_start.ipynb)\n", + "[![下载Notebook](https://mindspore-website.obs.cn-north-4.myhuaweicloud.com/website-images/master/resource/_static/logo_notebook.svg)](https://mindspore-website.obs.cn-north-4.myhuaweicloud.com/notebook/master/tutorials/zh_cn/orange_pi/mindspore_dev_start.ipynb) [![下载样例代码](https://mindspore-website.obs.cn-north-4.myhuaweicloud.com/website-images/master/resource/_static/logo_download_code.svg)](https://mindspore-website.obs.cn-north-4.myhuaweicloud.com/notebook/master/tutorials/zh_cn/orange_pi/mindspore_dev_start.py) [![查看源文件](https://mindspore-website.obs.cn-north-4.myhuaweicloud.com/website-images/master/resource/_static/logo_source.svg)](https://gitee.com/mindspore/docs/blob/master/tutorials/source_zh_cn/orange_pi/dev_start.ipynb)\n", "\n", "因开发者可能会在OrangePi AIpro(下称:香橙派开发板)进行自定义模型和案例开发,本章节通过基于MindSpore的手写数字识别案例,说明香橙派开发板中的开发注意事项。" ] @@ -19,22 +19,22 @@ "\n", "开发者拿到香橙派开发板后,首先需要进行硬件资源确认、镜像烧录以及CANN和MindSpore版本的升级,才可运行该案例,具体如下:\n", "\n", - "- 硬件:香橙派AIpro 16G 8-12T开发板\n", - "- 镜像:香橙派官网Ubuntu镜像\n", - "- CANN:8.0.RC3.alpha002\n", - "- MindSpore:2.4.10\n", + "| 香橙派AIpro | 镜像 | CANN Toolkit/Kernels | MindSpore |\n", + "| :----:| :----: | :----:| :----: |\n", + "| 8T 16G | Ubuntu | 8.0.RC3.alpha002| 2.4.10 |\n", + "| 8T 16G | Ubuntu | 8.0.0beta1| 2.5.0 |\n", "\n", "### 镜像烧录\n", "\n", - "运行该案例需要烧录香橙派官网Ubuntu镜像,参考[镜像烧录](https://www.mindspore.cn/tutorials/zh-CN/r2.6.0/orange_pi/environment_setup.html#1-%E9%95%9C%E5%83%8F%E7%83%A7%E5%BD%95%E4%BB%A5windows%E7%B3%BB%E7%BB%9F%E4%B8%BA%E4%BE%8B)章节。\n", + "运行该案例需要烧录香橙派官网Ubuntu镜像,参考[镜像烧录](https://www.mindspore.cn/tutorials/zh-CN/master/orange_pi/environment_setup.html#1-%E9%95%9C%E5%83%8F%E7%83%A7%E5%BD%95%E4%BB%A5windows%E7%B3%BB%E7%BB%9F%E4%B8%BA%E4%BE%8B)章节。\n", "\n", "### CANN升级\n", "\n", - "参考[CANN升级](https://www.mindspore.cn/tutorials/zh-CN/r2.6.0/orange_pi/environment_setup.html#3-cann%E5%8D%87%E7%BA%A7)章节。\n", + "参考[CANN升级](https://www.mindspore.cn/tutorials/zh-CN/master/orange_pi/environment_setup.html#3-cann%E5%8D%87%E7%BA%A7)章节。\n", "\n", "### MindSpore升级\n", "\n", - "参考[MindSpore升级](https://www.mindspore.cn/tutorials/zh-CN/r2.6.0/orange_pi/environment_setup.html#4-mindspore%E5%8D%87%E7%BA%A7)章节。" + "参考[MindSpore升级](https://www.mindspore.cn/tutorials/zh-CN/master/orange_pi/environment_setup.html#4-mindspore%E5%8D%87%E7%BA%A7)章节。" ] }, { @@ -98,7 +98,7 @@ "source": [ "## 数据集准备与加载\n", "\n", - "MindSpore提供基于Pipeline的[数据引擎](https://www.mindspore.cn/docs/zh-CN/r2.6.0/design/data_engine.html),通过[数据集(Dataset)](https://www.mindspore.cn/tutorials/zh-CN/r2.6.0/beginner/dataset.html)实现高效的数据预处理。在本案例中,我们使用Mnist数据集,自动下载完成后,使用`mindspore.dataset`提供的数据变换进行预处理。\n" + "MindSpore提供基于Pipeline的[数据引擎](https://www.mindspore.cn/docs/zh-CN/master/design/data_engine.html),通过[数据集(Dataset)](https://www.mindspore.cn/tutorials/zh-CN/master/beginner/dataset.html)实现高效的数据预处理。在本案例中,我们使用Mnist数据集,自动下载完成后,使用`mindspore.dataset`提供的数据变换进行预处理。\n" ] }, { @@ -252,7 +252,7 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "可使用[create_tuple_iterator](https://www.mindspore.cn/docs/zh-CN/r2.6.0/api_python/dataset/dataset_method/iterator/mindspore.dataset.Dataset.create_tuple_iterator.html) 或[create_dict_iterator](https://www.mindspore.cn/docs/zh-CN/r2.6.0/api_python/dataset/dataset_method/iterator/mindspore.dataset.Dataset.create_dict_iterator.html)对数据集进行迭代访问,查看数据和标签的shape和datatype。" + "可使用[create_tuple_iterator](https://www.mindspore.cn/docs/zh-CN/master/api_python/dataset/dataset_method/iterator/mindspore.dataset.Dataset.create_tuple_iterator.html) 或[create_dict_iterator](https://www.mindspore.cn/docs/zh-CN/master/api_python/dataset/dataset_method/iterator/mindspore.dataset.Dataset.create_dict_iterator.html)对数据集进行迭代访问,查看数据和标签的shape和datatype。" ] }, { @@ -374,8 +374,8 @@ "MindSpore使用函数式自动微分机制,因此针对上述步骤需要实现:\n", "\n", "1. 定义正向计算函数。\n", - "2. 使用[value_and_grad](https://www.mindspore.cn/docs/zh-CN/r2.6.0/api_python/mindspore/mindspore.value_and_grad.html)通过函数变换获得梯度计算函数。\n", - "3. 定义训练函数,使用[set_train](https://www.mindspore.cn/docs/zh-CN/r2.6.0/api_python/nn/mindspore.nn.Cell.html#mindspore.nn.Cell.set_train)设置为训练模式,执行正向计算、反向传播和参数优化。" + "2. 使用[value_and_grad](https://www.mindspore.cn/docs/zh-CN/master/api_python/mindspore/mindspore.value_and_grad.html)通过函数变换获得梯度计算函数。\n", + "3. 定义训练函数,使用[set_train](https://www.mindspore.cn/docs/zh-CN/master/api_python/nn/mindspore.nn.Cell.html#mindspore.nn.Cell.set_train)设置为训练模式,执行正向计算、反向传播和参数优化。" ] }, { @@ -674,7 +674,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.7.9" + "version": "3.9.0" }, "vscode": { "interpreter": { diff --git a/tutorials/source_zh_cn/orange_pi/environment_setup.md b/tutorials/source_zh_cn/orange_pi/environment_setup.md index cdb3a8a7bb..2f424692e5 100644 --- a/tutorials/source_zh_cn/orange_pi/environment_setup.md +++ b/tutorials/source_zh_cn/orange_pi/environment_setup.md @@ -1,6 +1,6 @@ # 环境搭建指南 -[![查看源文件](https://mindspore-website.obs.cn-north-4.myhuaweicloud.com/website-images/r2.6.0/resource/_static/logo_source.svg)](https://gitee.com/mindspore/docs/blob/r2.6.0/tutorials/source_zh_cn/orange_pi/environment_setup.md) +[![查看源文件](https://mindspore-website.obs.cn-north-4.myhuaweicloud.com/website-images/master/resource/_static/logo_source.svg)](https://gitee.com/mindspore/docs/blob/master/tutorials/source_zh_cn/orange_pi/environment_setup.md) 本章节将介绍如何在OrangePi AIpro上烧录镜像,自定义安装CANN和MindSpore,并配置运行环境。 @@ -185,7 +185,7 @@ ``` -步骤3 打开昇腾CANN官网访问社区版资源[下载地址](https://www.hiascend.com/developer/download/community/result?module=cann),下载所需版本的toolkit包,该处以8.0.RC3.alpha002版本为例,如下图: +步骤3 打开昇腾CANN官网访问社区版资源[下载地址](https://www.hiascend.com/developer/download/community/result?module=cann),下载所需版本的toolkit包,该处以8.0.0.beta1版本为例,如下图: ![environment-setup-1-15](./images/environment_setup_1-15.png) @@ -206,13 +206,13 @@ 步骤5 给CANN包添加执行权限。 ```bash -(base) root@orangepiaipro: /home/HwHiAiUser/Downloads# chmod +x ./Ascend-cann-toolkit_8.0.RC3.alpha002_linux-aarch64.run +(base) root@orangepiaipro: /home/HwHiAiUser/Downloads# chmod +x ./Ascend-cann-toolkit_8.0.0_linux-aarch64.run ``` 步骤6 执行以下命令升级软件。 ```bash -(base) root@orangepiaipro: /home/HwHiAiUser/Downloads#./Ascend-cann-toolkit_8.0.RC3.alpha002_linux-aarch64.run --install +(base) root@orangepiaipro: /home/HwHiAiUser/Downloads#./Ascend-cann-toolkit_8.0.0_linux-aarch64.run --install ``` 安装时弹出此提示后输入Y,然后按回车键继续安装,该过程约需要10-15分钟,请耐心等待。 @@ -279,13 +279,13 @@ npu-smi info 步骤5 给kernels包添加执行权限。 ```bash -(base) root@orangepiaipro: /home/HwHiAiUser/Downloads# chmod +x ./Ascend-cann-kernels-310b_8.0.RC3.alpha002_linux.run +(base) root@orangepiaipro: /home/HwHiAiUser/Downloads# chmod +x ./Ascend-cann-kernels-310b_8.0.0_linux-aarch64.run ``` 步骤6 执行以下命令升级软件。 ```bash -(base) root@orangepiaipro: /home/HwHiAiUser/Downloads#./Ascend-cann-kernels-310b_8.0.RC3.alpha002_linux.run --install +(base) root@orangepiaipro: /home/HwHiAiUser/Downloads#./Ascend-cann-kernels-310b_8.0.0_linux-aarch64.run --install ``` 升级完成后,若显示如下信息,则说明软件升级成功: @@ -316,7 +316,7 @@ xxx install success 若当前MindSpore版本不满足开发需求,可按照如下内容对MindSpore版本进行升级。 -### 4.2 升级MindSpore(以MindSpore2.4.10为例) +### 4.2 升级MindSpore(以MindSpore2.5.0为例) #### 4.2.1 升级MindSpore @@ -325,13 +325,13 @@ xxx install success 方式一:使用CTRL+ALT+T快捷键或点击页面下方带有$_的图标打开终端,保持HwHiAiUser用户登录状态,在终端直接运行pip install命令。 ```bash -(base) HwHiAiUser@orangepiaipro:~$ pip install mindspore==2.4.10 +(base) HwHiAiUser@orangepiaipro:~$ pip install mindspore==2.5.0 ``` 方式二:使用CTRL+ALT+T快捷键或点击页面下方带有$_的图标打开终端,保持HwHiAiUser用户登录状态,参考[昇思MindSpore官网安装教程](https://www.mindspore.cn/install),在终端执行以下命令进行安装。 ```bash -(base) HwHiAiUser@orangepiaipro:~$ pip install https://ms-release.obs.cn-north-4.myhuaweicloud.com/2.4.10/MindSpore/unified/aarch64/mindspore-2.4.10-cp39-cp39-linux_aarch64.whl --trusted-host ms-release.obs.cn-north-4.myhuaweicloud.com -i https://pypi.tuna.tsinghua.edu.cn/simple +(base) HwHiAiUser@orangepiaipro:~$ pip install https://ms-release.obs.cn-north-4.myhuaweicloud.com/2.5.0/MindSpore/unified/aarch64/mindspore-2.5.0-cp39-cp39-linux_aarch64.whl --trusted-host ms-release.obs.cn-north-4.myhuaweicloud.com -i https://pypi.tuna.tsinghua.edu.cn/simple # 注意确认操作系统和编程语言,香橙派开发板默认环境下是linux-aarch64和python3.9 ``` @@ -347,7 +347,7 @@ xxx install success 如果输出如下,说明MindSpore安装成功了。 ```bash -MindSpore version: 2.4.10 +MindSpore version: 2.5.0 The result of multiplication calculation is correct, MindSpore has been installed on platform [Ascend] successfully! ``` @@ -355,4 +355,4 @@ The result of multiplication calculation is correct, MindSpore has been installe ## 下一步建议 -此时香橙派开发板环境搭建已经完成,可以在开发板上体验基于昇思MindSpore开发的[模型在线推理](https://www.mindspore.cn/tutorials/zh-CN/r2.6.0/orange_pi/model_infer.html)。 +此时香橙派开发板环境搭建已经完成,可以在开发板上体验基于昇思MindSpore开发的[模型在线推理](https://www.mindspore.cn/tutorials/zh-CN/master/orange_pi/model_infer.html)。 diff --git a/tutorials/source_zh_cn/orange_pi/images/environment_setup_1-15.png b/tutorials/source_zh_cn/orange_pi/images/environment_setup_1-15.png index 854e902585010622a6c1fe5ff1d7417aaf9c8841..78866fd792267238f84697adc13e66782bf40387 100644 GIT binary patch literal 22865 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 S*XQ?uziU^Jzo%W+_xL{o+s>K* diff --git a/tutorials/source_zh_cn/orange_pi/images/environment_setup_1-18.png b/tutorials/source_zh_cn/orange_pi/images/environment_setup_1-18.png index 24ffe33d6c1cfd10a247be1a53a2b8018cbe0955..15b9ebfa767cf3f5fb85502dd1aff7d9a67d5fc3 100644 GIT binary patch literal 22477 zcmc%xXIN8Tw=NE&Xb>S_1Egc4NL6|VQ4o-T(pvzL-m3{6BA`^2CcP6v3%w?Er1#!C zq4y&FzwkNFIs3QIyZ64%r}w&mthHv=Tx*VU&oRfiC*PDHGT_@(xAE}sz_M>&f55}L z!3!L_-2wrB;iiFVz{fR*4>GUt^15hNfRh_0k_wV|cm<(EX9hQcb3)sju1HNqIcxqszd|9^iAG{Pu&?uR(3hsnWpu{C_njyP-o0sftkIkgYC54;HBkMVE%vT z^q!%EIZRsf=6oG1QFg{$deifVq)<%_UNTO0wK~{#TYVM^W>#?fH$t6UO`%CXP?d`g zQx;mQ3TXBf|GO~%Pp97sgm_$x6%*ZvXw@A?1DkG2=hp7W_1h>i^i# z9iE@I=KrCSp11$0Q^J2d^Z$=GFAxS&C|(Y#By4}V8r`C~fJki2zMFXrw$Ab&CjUui zF)EHKI8Q`g5{G?W+L6OZ)~)t{2OquOlQuURutWy7roa|Tg$0*9mP-7wI{_73xZ4Br&m zJLB97j2i_jO-Z7J8TtQHdOpT85wtNX{~mej<2WjCVw|w-?o{TkJodbsnTmuO<=zhhMn2dYzN69aK?ou--6!HI3=x?)0 z*$8$nV7;&FLGr(@pv?|JMP^#Zyq#0}diI@q-ixascQJG!ABNZ(2RW zIH)xko115i7)9v@n25|%Hj#R4BUVzq|EHe*V*AyDgKuw5T|M+aK>V(~MzN`#UAO4b zgU?fNlbz+%PzC=OYL4N5Kk|ILM~XE4tm5+G6dB4!%cfJFU%r-C6(D|j+}-4JlPDvU zgdCVJzI^U7SAiXsUX396{zgjRKVFK)s_%LBnfp!}6MKIaiDG6tMfJ8XOM-QreH%;e zsR&BLz?UqbowLU6WEqy+nX-`rPGzSifL8ot@PB8pE6GUvezswqjW7DwMD~9P(IM99q6jf$|fS{_I34k_A(vwvOmMZq0q~dVI)k*`#!!2 z2m+3yzFzefm*Bdo*~%i6iDR=Ow^B!kL>uhX;*&n`r*kpgNufBGatRUJf_HNsP98mR zu>4T5^LVzNh*Qq!=(Fe1W%}-@X=-pltaYWC(1K+Pj))V(6)~usup6E?%RV9@=DF~M zUY3MGBi~Dtzlxj{jcH>;K`bj4BT<`eQxi*2%jIU{P(9$Knl`Jppfrv>k}J=o_`^5J z)O8AAbN3TR-mBmUvf=F6Jm|V8#r~lCCJ6FB8aN`fQ0`d#Cg<-*P43DW&DhDS=BP z4BryZ*G*RV$E;HoIl)n>&Vin5_NNs_kUGcK9%$1Xts>F0sAb2U{*{xluF(r6HQJWF+7Q<4}B35iZ?O#9U5M zSB%)I!*5EHG?yRK)Yy|jG@Z6C<%3e49Kfbb2Vi_jfGPit5dWj${S7P|m0YWjJKL6d zhiV%T%&r)DAg48WDnVqAW|>D@s_WZu^T!5kSH_C_eG+Zu0; z7~ViV#kCi=vu;ViXx3vlX}p!#|%T^@N2eCwHJE%a3X<&&`}AnPeKVM^mw& zn#P^TGE9>@ofeY7d4VJ@E~{H}OotQ9WsL+u;?=RMs;y#erzwFP5NEfes%ZsoZGq}R zHSJFO8jE?aQNm|3&HyepIT$AKyC z+^Xp5QXK((oY;LJYUS|-obW4M<5_l%F!nAUT?{VH0TM&!T6dEojsFRqh>{I3#JK@w z#rSAB?a~5DyF2PgfzkY*5E`82#PXFHIA&JZDsC!Fj0B$}9L>2@V+Fomwy~nw+=)yZ zBGT_xy-fw-AI4}~R~SK>HDjUX{Q{f8U^$D?lSAn8!hn+Iay7X{k@`|arz0L==m2Go z_E68pMWgo807K5|?W4JBcmjdpr`H>EZgXWd=T=n9$@J&TGAnwKUv->Ejrt!MH`oL^ z*EyKu^{)$FVsN79Kb$NJ~x4- z#d&XL0%!N6;C#lAl<7!MvH?|&5QF2#mHi0pUH#e)X%i8KTs4i^=%#3sE|0ZFJRN0~ zTtGIUr36qjKj8;!0(d|RytaMZFo~XfA`V%kqY5aXm2#$mnzDpTr_`1+8 zLH__(RV*u4GK%J;9lvTiu-UTpuyi%-MAve6i#Q0WP&-MyC2B)InjCsB$>iI0TWAZj z*Y`l3IsxK2)oZsFi?D2sr!t~mj#wn%n`OQ;WX#9ZDD7*sC)$Ql)>IZJ5&JVEXry~^ zk#*EY+V&1X#me`+$fm}}d|zwYB}J7k)i~*}?4hIEdCED#pZJ~FKD_7j4{n2X+T*B% z^Z*0!I7H2Cb@ETU4Q>6Z5&SJU)?sZ`e8`ord>UOLN&N^3s+la*r1f$Bx~JMi4a52( z751yYe^?X@>>LT%bw$x~IGBfvnqY9;$Lpf)Sd$NABL0zM+99rsnK)v3b`AUYyny!v z?_Fo|dvg$4SsQdSZWVg&`+jWwkxZ&_>@vTcXtSBBZ@1eLH|>__@}X(Z&dnk-mkW}y ziws_>v#aL8)Vql=}77U?VRdMZ94t(#goj+$wYIzQpt6-rW2 zI}w5%)peZ)_c`NNH-HGom_ZJAIN{J8PokR!$palLy00n+vX_p0jHFGA_ryZp@>|Mi z+G%SKv}WwJP>Y51t|TMs#vGi6_R1nw&vFXep0|n(u{mIevYxa_W^%t_igs)zZ=C)z z>}a9goYVH5ef1rJU0Ya!;i6`$zAv+%NY3P7v@zSa4FAFe>zyMhesKCmynft7NGuLi1V2Hoy< zR-xeJ;DHP*^$(c}en}uQ!e<7Ph$8)*=Awh2G?#8+MH!XvV?+0f$~#$22j?RUkQ35@<4|(F-qM_$hDPrx;gxft=M(o!;tg`%rYn$TrScG}C_0IhUut2T|8&)l|@ zaoU-CHUHWwKmKR;xX#q-ZtM;pafCy?^#dS|DkBH(&{3rJ%@X~AFJW zz{~63^FJ$wfG-ra0}=feCZL-~`riU+A4)~wa#r!jtgDW?(;hVgS+Z`*xkrjqJ0YLb z%Ec~r@cUkDX_AaU#CAlOL{(?BET46qE&8m#Ig3wqNd{ERnJ;-Nv%TI{P^6LnWAy2X zxX{us!wjiIV{UkiFz;A*_>|RQl9&?bAFG+PyZiUQB2HdYIyVSaipY>T)hX*@%9Xet zVlZzM>WXLwn*xb$BI??;2OfxwzXzInGJnC4eo=yIxlHecXTJCB|8@(=55d{oSmw%4 zgCXz#o-j)OqG zvyVc^GXGM;%}${@h?BXce>A_E3wNZ&<@u4~T1-{bBx^-Ko?}Ps^8iC1hf>4FnzO`t z$8dH5F=NH5jJ

9bZnjM_6$22P)0mY5bN$VnSL0fwqpnzI298fRebo1qBUrI*pE_ zqDpe9^-lVtKKS25QtB0;96W_mhfsD+Wa=5ZJJHwbsk_dsvTIuln(16S7S!`RGORfj zMs{~qV$}pgu6G+}XTj_=f{6t2_uTOub&81CsFEVSm0iY*tz;dB@Vzb)68lp}N=|>$ zFfYDWB{a;_utPEUy{%QPvVgDqqa}D8S z{%KTzduEeIqSWp#f!$rEOI*6-1=|({JO1OY(oXrH%_hlOCppEzZ66~lw&Cr_gPsJ> z8GQP;!|p&RABXA}s4aQHwkTO4@tGQ;2wxTE%}XFD`SLPWbiuUa6mK$;K-->4c~f6y zl37_5Baq{BvAsKB-nU~}niW9dui8ToP0&&hO6XKm-I>d$x;ZtW62g7L2Tg3^v zFvUB5a2ao?I1BbV{9r2193|WD1TSh>3Mte^ND1AF7m^>6Eu64#Pq&%U&Moe{e0!w- z9bR`+Tz1$rX$|Z99w`X{13}U|ZtPqDYlaki@;ZCc=BzC3Pis3|Px2h~ZpUMW+(x6} zkJ(|Q38_+!6=L02j|@$$;a0_CB)(DmRqV=ibfcw^%t_R9G}aHASX7~06QbN8W)i7)LAm0R zkm?fIhVou7qIuzUaRu!~?;Xf2bp~#(ZG%R&ho&s(Nz#$#uw-{8Ocb3&B0kd5nx5qP zC?^v3nfiiz5mj@x@N-2;p1DYnfSPyw3nkwnf2&`z)>M|JzmcQ;OYc?5=&ZRW1G0Vp zD5P3gh)I#^|E=FaX24%TuxJD@r}yUP$2URdBok}y&Ul~ggnD8$00-!o(wzf~uSInW zZ^@v-CN^d}E%Dst6THO`-4g}g8uM=F2g68P>Dp zo~Q_gOwN^#uq1tj5DG6BnfM9OmP(1RAwfGI%3$(HZ!EGDk)=y$M6}pibB~*j$A~JN zK5j4W_PwsV!pf=27jUE8X_?J|Ojl1}bulo_-Sr1Ow*h1t-iH;h0IBVjBiJ$U2g<974$c@o{E}S#b;KYHM(|L z7Pe-X*^oeq?*Lh2ABzLFvO`uXp}1>cQ`27d-TRH3q|LNqdRKz+ z5{CxHtvWOHQ7yaeoQaMbCBqQ^{oZQwvD&tFqNf<|yrd^}f=CYkWP+1p5l|ZD^P!#Ts^=EH(i@xvlnwyWe zA;lclV@c%Bo<VA0Ry-zbhfi^yw83HXXA|H|Fm88;+l_Hf&45SR}6EdxQt z&QG|7*f$PpXg{9d9nOwHA#|zJMP!Yg26P^_%)TOA+6$LCM%1w;8#@!1d*y^rrEGTm4umYORxcyyx?C_u&&wFM>aRBIYnqWNGA^j zk=n&FL`5d+_bAqG6;Y$q!03I~4e{+DW0pJecX-zz`8v08%9{_i20_;TSz~bxmP}T3 zQ1Xysvj*D)_>kns_;*G{#v-3ClYpgFon=fy4WhJW<@m)4kEkbs)n)mvA%m!1+?@nO z3jJLZ#bUa54HC4fHo3)b;-Pf=RO@D~H)2yz^Nre%gw#de@>)pZ>(%et{;u=-6U&=5 zZds&2^=Yg-c<0X0xCGs%kUJX zO6~;a%CFn_ge8a(o=TYwr8}|JaakQIRV;C*+GjGQMcAib;2nL?3s`(TAc%gqJ8c2f z7rBo2C-;mhS{RH?7al`wSlVc`NRb9fqj!(-MVhP6m-K{GfmD&kNexp5*P6HNi2Kpx zFxY>r-)B5856IHmMh1oFddd{KaVJ|U;q%YBwT@jICIU&M$eMICyJcxcNK!_0D&zpc|7o?ysfaQw z(y8XCEWTbR`~~fi{&mv`nI7>N1)PFGnJJ+!ZJcY3I8hBZ$o5O!H96s1m0cF&B41r~ zAi;&t1S@Xg(ovfZY9twM_^QPxtJz4S$5ReTZ4MdQ+GdH1boS+r$_Y$BRVD2dvmn?V zR2~OyDEh&)vKBcUe?sNVmtv&B=W3cE!zAg{bH6g&Qn60tLCsAa*-L2{@XRKY4On4* zF7yvxw1-JG2wH(yJ~a!i<%9`Qce`&o^kd7Jc5D?mPr1VF`W5)oU4POy)-1(XkWZgZ z9T_WJTY?JM!yKBa$uFLDYh22~`ks9X6J;FXir8LwQY7K!c`V*slAM*UoZyri#=g$) zZHVCihD-Fk*za}rSU5lwhY_U2b}Aurk`qs}BZBR7F_W7c zU03Pu{dE=XMoVBuz*9}&R!vwGbm4GRhIYA-8^z#3tcmZEPxWlgL%Avbb9X#} zM+2Ii!e+`&a%W41J%^{IVrMuoF!w0&d9~|M%186V+j%#3F1oEK9*n!YWx>k#6hDFH zj`j4Q8g4W9m75gv;@0m*^_5*-Cd9+~0D7NR&vQD45c^Nh~y3_IfIzof$!S1+f z*J>xen;WW)lM!l6KzWpb>vh#bM}s?%U`e<0r?-6S_OhqhIfhPaedZ8}F)@@dEr@`_ z`<=ogwzrpRv)afq^yz^5=(|$p3)t`+&v()Jl+v)&5M{)*^~xVwg!|hOZoz=5|y)o5vNt+|73oo_%MBq!6;<5>OZMgU%Wjl<18acR*k39*^5S(Sh+VX5e1a3^Qh)b zQ^B12OE38%Kn|};?<&?5mU1&JY?M-Tt@=~2$qk$Jc=p?94VSDx4UMMldEJ7bC5e+W zvOlE_Gy$@?)0O1{OW|*tv~pc+*F8%Kn$)Mt%V7sY@~e`R3xWJfQ7V1{I%Q;RV7;YKg-}rdvMja+4>KX|`xN~m1Oa6G@NuT^CqVw~HnCgVP-suQ3)SC3E z=l1*|US5{+d;s;B-O|w(qe3c$fVqdu%&5vz; zY}Cw(LIN+D%R)U+x*lx2$(AgJku(L3*JSYIzuP*RaU}-s{zS+_g5BV+(Q`t1Wf1V- zlhqBBIFx74vySYJsd>M+Dhz zp|w)le7E^+D2{CmM?@4TLw(2>=Uu=qt{C3*e%eC#`N+Cz7dN}-$0u6CMG_FO4Wklg z3*(@qcIbM?UB25*-gQatN8KFnjJ)O*4uYu1zoaN$Gy;as>?8GDVjd;D3DP(lC_1 z2?^%rv__|v;XgCB<63^yAr;!;d}rp*$V$@TFq4M~4PAgTzA%_Mx}ffILtm|bdb;9N z#l<3T{;LtEgxh*+Qr+X&_e%&iR^ge|VN@OU5jvqb6Sh#Wa-Vh^6dYe%OhOgyT^j`I zlg0||x)R|8S_Mqv)y_I!2&Z1pQASk$!YMP|75i+CSH#saJ@LcVBD>nEwEJGwF$F=) z>Z6s9HiWB&B<AdQg#MJu~yfI=Ohe_@8MdIH7c1=fKBT^3{W=2>5A!` z9hQ}m#bR9B1#u(7^GmTdvcprJmwJI^823~`gPcl$*8(tIMgdRI=t!Cc)9)R4 zUB9&%sVSU4+UO$v<~}94j46_3JkB=F(x@BKtRDR)9anPIn`jGGZ- z)N-4vI}nDLeBx z+qt8@3K=^0V%SzG{V&0bPzy{-`Rb}gUj>k~%Yoq-W4kN6l+{!A=l~(ano%D`6So_Id~k5(Y+yj8;2cs#o_*dRPDY{YCM#5`FPWWGI@N{cQ~ys=aG};_1em62lb)qoQR9zL|x;yeNrdI zG)zcs54p4kj$AxJkB4#mVB=k`RDY5Ac6tUR2rdhy-7WEDp|LsB3`lce)BQ+zzlbJ_ z!>omtbdm-nFkt)J>arE35~3qj@e+|{Idr30(55|c?Hh8PN`I-pIYi@EoS=@sGQvnD zK5r%Be+{!SCx~9p*5Gzgxhgeh%~{+2QHq*;c>{#r9=$X0Pek*dM0)Wr64x$-&pgEW zifsfGcT14q3)0YcWcA<$)V-&qiUYT!9>ux_>y1dJ#yujwN69u;$Av#m6WN}>^7Qm& zoP*gZ(aSIG)7EQr#7ml+wQP}Ya7dWIeEl0U{C70B6VFfTi#_pA)nPjJ3a$=Xt6xFw zCvp(7U+~(J0qwcfC9Wio58W){Gz`Q&*_P0%qhzA~rI<4Xk>jO`@E6=P3!i@EhjPX* za6ir&L8q#xc#!xd3-aD6;_ebUomly9bvUy2#CqhV(=(whpki9|m&~RQZAeP2tD$Aq z>^e1b#cTCiArL>LB_lSaG~HDtTpL(E02f5yFtw;z-;zQSVsHm&cHoYdaWYn#Eln>r zrtpT38?!@W3nAkE@`3|Jx@1P485Lerrc6p6h0~y+q=B>}?Gb89EDKd3G34SL{JanWgZxymEt0Y>XGE7OIuIUK{VO z<9Mcblqko2iw(PE#JL-%75*rMuv+>t^XJ3#TJImjQ8s7#?_)-PaIV!_uj9l9OyV9} zhF3bRjcj~ogTVV`-JVBU5G)ROWhP=@I3lHMR{t3~`PPxh-~1zY6G2g}vlF6=?2BR( zXx8_e7p57RVwF-J7B&D%%BHqUU?EWs*R6~#W0cBJNslsvQa zGn?KF3tbqt_GcUY{$rG_mO&F=wmQN4oVb`J&`o0OhV|LO98Z!72$Xo|Ci~|W6OxG` zs%;CF<}yg4whRW-@y30@Wp_lF^R6QFa6qr^CX-(z)D$iUZMKEvKPAFZ$0jW)l@;&% zoxH-Xlt7MlgbibE=-(xq%uJiLopoJ`MO3@gQfq@8 z*(7_t%;!lJ)6qY}UyuL@(fE^KRB_Cw`iD9<3tclH)IToXhar!9OXFE zy=Y35v>Uv(li#wJN}&DIhXYH(1 zR-Pb|ciX5g=!s>%YqKecFfrPw6!cMIx)mbNX=K{ZD~I%Jemc-?y(q#43^(s+=|I=N zk>T}3Qb%jVFMkM_lk+bj^NQ6TgNDJquZVJg$?keQ<+}U3*Z=bD8Yrq`u9v!)y$S>A z$-18HtgBAk+5T7C0IOw-2SCzEPp_t<@!YQK^(^C54CT?=*}V?F4h|~bpGPE`*C=?7 zcPTeG?a>z!KNfY+9m-msvQZK;))&G^#Er z81Sn)TQI10sg-j@4+PkRytFBuSG=@2Sw)u*b{#L89{@bU z=>P<&SUC(hfSw(9dnS;)@ZiAi_swZ`yQu8|6gdHa5W^Tzrw?p-*kswn>~+bxEGG}$ zO2cmiNIc`@-S94l0Q$2Tf_|B(ZJ=CGr5c>5v|cg{?U(UGbRtHzbS9j~ty(L7?rk@a zQd}{1c20(CJk;C;Rx?urC@?cOo8Y*3e)mrtLxj=-^$wF0r)AIbjY35anX4}j(2DfY zo!uUXMRR6~u380MLTe95MYe1Ad!Okz_P%K!SR(lYL=K2CZ zoSy`cyQ)45!J^byIO%$OttG+kPa}Fc;Vv-WbYrwJEp-Bz*?;%xMJ2-0n31a%7nXSj zp72k9F;a*7VArERj(Qe5ztn<~Jh26tvOI8+S%Y!72RJ?Wt9EirZ`S=j z+x*?mk;MnLqQHveQ;{9J(_0?=ncmOfC(F*+JwmbH1q7{8FzZL1Q8x#$9*1sMmBTJi zr}adD{3{zE?wl2+qGZ}agy*+ug3Fgm#!2G}#9v$&(VpiPJ2AtU3|L=SBnw1jr^=y^ z39kPyvLdnSKEQ>w76K(!ZBGg$HDDfBd@Q_ zj zXVuGo&-FcFYs=&4bm7ax#vt$<1IOGAPQx56#gzxv8eF%8=YzO`;E_cUE_ctf-=I@i zNbrgY84&8eZfNaaSFas$emIW4DnTkUnU@Tzv4#lDeVyx-F%iGJEYgeeIO&hFak9-z z2&2&LSb3`{#EIFiSHn0w>DpqQbnI8i?dlf}T#VGtv!F5BkDXPP@5F~On zSY<^~r<3J{AIK-_R(=y4Bt*b{(r-MbUm|}4bWNq4{QBFi2DP>KJgyj>hajBa@TS>J zY~XbBpt@fCh0ziLz8>gnacZ22H2$UM5_e+sMWQemhCpA-LS9v?TTun8S=nU5TW6B$ zU)mE@scQSl_aenZ`G?1+4*7(CC?DbyTONlM1T+$wmC`vf;Lg%5upWv92YSXbTpGI zgs*KmZ&e7=PI$o6kz*BNYku0cxR|96nMhT}#P24JBIkA9r37JkuiW zG3d=Ln!(mx15L*%n>>hcvR}Scv&e1}O@=P615tN4hI>P<$NRoSO6$JGaa66(jd`{8 zMNcO}W{MIHF01TloJS0-X#`bwQ`JR~ej&M)t62^i-*78Gmsp|DBQPHL=H*O?o-jqRbk)Ra zUChEWi?qXFBSw=1xUo6zYU)twHeEZ2q{87h=NMi$lf6E?t1}8vgZha>0ba~#>$O5) z!@^(gcHh<)Z)SXxq};iqhOJvXce>(1Sdv%AwD7*;GtKmCn3ClCMu&ug^w86>;SAe_ zPGF1IuMjh{n?>AXrCnW8geHRc?(&n80%p_J!Zb<_Yt&uDmbDdj$BR+jY}b-8%=~Sk z_KnVsY=m=-1r3)h%Eq^EL;YrG+N>l>+45yVcuHaulo3&P{b}sqRwm#WLw<@LO>mDk z+202OWY69}sLF)L>4xl?!XHSta;NS3n~8ZRwCm(Mt$az&N4stje`zgjqo^12q1v8k=$={fW)uunSG=#Du4WFoYzypKtpz&DEV%ib67%H0%tOc}s^ zb7zB=zYoJ928aa6RrJ~zIQlfmnTD04*0H%a;7$4oC+4Aw*TdNleiwCSys3XLrG=SR zqLi0E@7Q}qMHak#>_YkFUM|6MzP<}5sj1LC$4}94N#vgHmW#Sj9!s;2^`W3}Ro$gcvWcG}Z2hDb%TV3D=RB{OU(bIV1$C})3wbuwbMt)Pb z(zx0P{j$ibFkb!s0vzdi_f4r>#Z!K+3C?3H zD21XF==-SA20SF?<<^^HZi$TwCw*8mus~lx^gIa_dFeY2pkSczX1U=|MK-!R13=P< zzK$@U+UzkT7&)K;+89_~aGRk)%mQ@oX;DtNm27-8Rin-M8Zo= z;gYo9U9jF9^0-GaypLU7?9AP8!qc)ly;D1wn}^~Ckuk>QGXq9Tsk$UiixKJ>?(baS zy*-3+&quN-1oqu`(_aHo>K@sD6-)msIC@SsxaY);JYb*&tykvpVlf9LrngyeBTpec zJ4yKUJ6Fv5rV3nw@SbNkDw(D9SajL6C0QT2^xVUVgFsai@L7LHPNAR9-w15ne=)WT z(hwQx^M0j0y)yWRDGU(WN2aDo`+JYeCo-Hix z)5mRT3(b969P$>Gt1nrOfz7||eKC2JL9F62(|cB;O8z(F9~whPR#IzCdVgI2i)Lr( zWmvuCh#})R~uw0G&Iw ztjAJ2WdUhUenFiEN1gftLaiy;B`^i9IHWu%>$sOyE|HzJPugRw(8%w0yeZ9#v~T>8 z6gsw&ZF+|{XEASPDFu|t$@7LO@W1-+eQDofc@R~v?tA)zH|G3FeiXl51(rOPZ`D`~ z<|QHyo0mC*>$Y!o>bEWV3(c>_jk|s>41+Cpr0fOJPS#3eMZ4pFOe)3C=$(%D*?_AA z(P#OYZmpcLbXZZGR;;3FX8T926;hClSnWU*W9DB?W-cMRY33e@0mcOrM#U;iLCnyd z3tDr_3pwO+t{#`x&x=CcS_%5wxS>y%jeI_1cV!m2ICf7M!qHQEbf(mnu=H_x3lGwg zR4BGj&{($5_~3E<(qa#h$n?QGnGPKzato#bu~ki3YPqo=W6BrL;-~gPF*9*T>p)ie z)^%Xp5O^TjXbc(O*NTWHD4ltfLy|Sz`ktW0+1wW!sW?7rI1$U+?1Et5DgD9^J@(3` zemA~&;uh)K7tLAJS`ZIKJ7k2!;&Sq@aAqftsxoSWAUZ}%HDelm*o_(sbce#-M{W9 zlm$9VSnti3&xgdq4TJUM>M5`Jnie);#k%$SmxB zW408afj|35aZ!s<%7~~{JLJhXtn>Gz%Fp$LOdSFjIpyln%1BNvI|77Mjmi0tCP?Nq zlvxHF4MYtuglmg!)_qrlauufvCJ2*UmP<;`j2*kfAVOxwi3n2nWhw4vxbw`qhHfDNu47J@omuy@7^)l>*U9 zS;z!N>{iL6G$t9d^*4>}9VD)R>JFoyIa)`kszn!JGTwdZY)_^LcV4~dm7y2S?pF3| z1MlqCi{We7%W2+Yx;)zLa)kobqZ{7O;;2OHsjmxB`qO*->G1k~kiQCZS(bzzCJlKt z$4=@;d1UTo{aJp;Rr@KwS^MW-b~`<3$f9t`XN2TFfDn;+CR*F%+Lk}&o^gb{s9odP zuICsszCYw3U>fa4zZVF9RYw2Cfhiwv+OfPYn_-woeGacN1`K2N6{VlN{ zMEA!e2g@pVR}Yg~`|;)O;~Et`cEfmBJA6{ZF;u1T=0t6~zBQ`!mgDF(3=Z2iDJTE! zkJhh{T+HtCl|Ux9oz^L-jm*v`$qooxb5m)pXxL62Bl`H>W5pP!y6H3oj%K4K;o7)W zneK@wi+KBAbt1eE!8hxezn+j2hXK2VZjma}W%X4}pKtE3^g{lsR4r}_F($S!2rt>$ zLA#HK_Iroi#;vYDlW2a0&z`N0nIqfOc2t`GqAS2V@;Ws5zakx`o&J(XuN;XM-(5*{!rOtKR8+S-au3K=n zGdw^$@f486@V8XV2ZDJCEuwBYwUNd_#sYoIvT}GS&N|2W#bN`wlgz7qsy+0L_$@^C zd!)h)rATEqQx%MJ5sj>;FIAZCz~$n|!5C)sw&9d%V`#IJCn%4vyA{99+hJk8)~tzo zpP(r;)1-sz6z6$?Q#rDvRXSFSMkTw12MR0>d{0G4<{7_zaia+pnH;C)2dIA&vbmmGcnx_NlMg_*rM%%aEc-m+Cy+lMPv zIIgCdmEIV>3iu!f50yqnx!9;%324-g3-6I~P8z|?dS9%D=^Ec8-qnCC#J8hj(8Pa6 z--Q}>VDu&a0DHICH)INcrDwX!;R2I*y1>!Io-tiOC4tTL0~V>wp9ER=r$D}5?r}&R z7QH}^*by)GS4T(2^aY9vnr`m>0sPCPt3yoUaQ&0jkT|oik{k%nHswVN&-pB-QmY-M z_<}{Wq0Y1dH2!dXg`f#1>&%KZYTH=6f8=BIEG{-`V?xp*`SRhhCB1xdBhQe(0olY0g2@tLhFMv|-i3c-V$7is zIxH#w6DRCr=J7RHd;HNgZJ*^hM}U$y4p^Ig8^h} zFkp>lNvn1|Hl5lwSjtY9#XZ@U2-|g0^)pcvXBHEN4Hi<4=I$@yuNG21YmDa9&DRsZ z+nD>zbUi|<3RU{40nG2nA5Oz#WTa9`EN%5x^MVy^-)g`(+w((N$_Zjt27l@pVwBd_ zZ~fR3ebDyGMfP)qMFsuwi2QU@yYOOm)M1j4`E=WZ8;HhiLp4b*=6clo`wGL&6|>mE zo1!i4bOV-szbi0?Hx9LIQkBr$2Ew2zhBm}X$-8sT*vUF9)^Q9(=#OvVHAvY`&Em9B zY4t#hSKQ?dtwSsmlu4FWYO~>-4T{V*hY|gMwVZcU6WJbs*M+6H6j`NLr7cg8oD655Fu1UNe~DDrLNMXixA3EMFU80p$HfV9cc+F5I`U_2}+alX0W_{=hZ!X z_MH5YnaRB~lezbIXMS_P@72@UVGqBGH=a&Yl=*XWkZcQ4pE<7=NzcIvV8Sk?y&Vlq z6tq(U8%Yp-fDid=j`2t-`m8uc`c6Qcse0N)#IvU6!HOvVt-BY8X5PPAuAe!gV^ZZ@ zEtBRML^Hou!GxvYaZ`1~ zrD?`hiF{O**-2YU7!32E29si&XdWf!Pv18yMSSrT`^)kaQ_j5}Fm4P$`#Yal;~gH~ zu!6dPIoN66$QZA6096@61<%#AJ%tXN05UTM2r{co!sZVeX+`b1C z#jVk^*r1|bSuV+f=c*$<_k1OE87lM4Ycis?LqEgkfq1eRG@nPt=~#_GpZ+dzn|?3s z;wY)06N|J~%7e;(qejz`BE%+xR$!V`roa`?SVNjQsre;pqCN4!-R%cpqD=``swx!D zgRC1Y>)^`JXUBWd?wBE+v*UM2&$?d}Uq6wy^%|H^nj5wE(48UKTvqNu=*nG?dh#j{ zp4H-6eKFy2K!Tjn3G$>_e0frNaQQ-nYke_x)DVZgNGaL3uE3 z1Vg_}4KE?uZBJ^}+lHCT%DX@Fu2-ZV9l8l!{jqS7ozs5)u7efO?l%Lgr7<3k!=sht zvS(uKv~g(Tcd^}%{1%)LMhh$@gn1RN1k3?MoxdIhslNgn=FU1CW#aktZ9=v=X{CCp zh2oSd_xe0!2m_LFF@z4j@hbh~9HLGwXVpN6Rc`3~koR`lTpn`p$ui)+;J0x3Sm;2J zUNfz+UukvvWIy+-S&81WNX>VT`u&zM@>F?jWTj6A{J0rjt|r7c{>?_m>5FMmjOllfimEC+Evi{ydX>6uXs8Mov|D?BAI>5wQZcUAt~=RWgxdCMYRBcLqm{5@ zivAl$un^9E^LTt;rwj(1b_`pMK>12eLB~>h$3}C2UU-*<@j4WmAb($PDOwJFw6XS) z+;+-5zT@gRT1&w= zo^-|){fvjDP4ny~nn{Lk9T{~NoAnDkZwa@}>s-u+?;l8l57`eM_U;N7Nwv{7b6Byp zvDEeQBz`2Ij1|2Zkc+r*Af0T}^`k_cN|0)=7IZWnm+Z&P(%1utroek+^j(umitYDR zkYTI9q?V8XlRWm6|O%LJwYPZghVE;WyipKlzT3)n+$Skv30WAIB)6a zO4o~xhxd%}^b59Y?d4f#*xZNSFnd9R~VSw zh|@92ugE9alIL{XXotos?bz+#+3buo$>rHoKR+#eL5BE|+~>Sg4Ge{yuDMXEv*O$8X;5%v2XxkBJsH2f zYPlQC#d&l0dpotBHac?&zn58q1r~J>4%$|-;G%d=nAB53`880V&~YEJd|2cdGQ~~* z`QSCDY(25S3p9xWn5*LIRV%vcax}cJV=NgelhDMitBvm#<#h$;iZ^OAIlZu&3+A`f zkWGP^r)K^(1U$LoBG&*s{ISl3ED&sOw9x2_>f9*32^%`Mwn~nXBhLZOkQDbG9Q!Vi zNYAP`v*n+LTTN1p4M}3sfaF9@mkHJRCuXE5cTS+mF>eyMp^TfUKL0?hdee*s^SywNJ47pokww z%EFjAlkO5#MGl^DN%@4$J5~ty{%lkaLU+7UHrv47E`)bs@CW|uN}@LxkrzJkxb^DO z1Zb8TsxwRyIuk}h9@y$OSQ22v0KE=KOZl0W=7}iX)D)=u1LczNl?@d*?Om9&d(Jp> z`fcyL$V+Znj*_ke`!qX=#4PgpQE8O8$IQ@s?F+m2>X;XZRC2A$Vt-U6gM9SWx%&Li z*P0PDi(EJ_v8eZQ>E)15B_ud{lEkd)jAa$wEm{zTtQ^-3aal^A5V!ZWvFDeC={o*~ z^AKoOegvvH`imXzn+m04lU3f4q5C_>wNY8>zjl_bbcvrUCOz72l(-IutySD6Dn6p~JISh<~|-4Z}=7cDDe7Z0YbH;W)8 zyNsM~+3~^cS*V+8p2sx3=j%>rJa5(2EFm)t#~O;Q0H=dC?vkcP!z1+!Vx=~tGP~N#E#u$r&+H2*9t+6kgbrE0 z24VR;Ij{0eu!JcOJc8#7PA?C@w}ePsO-vXRQd=bmNhRcom&))xfBraktJC^FpHHbD zf98wN&^BnOvp?_UwpaHbKN?VZ$GKneHt0C`9r``hFVGyZvhIGVC9KIY4!;KTf>?mx z&ng`^A0;RrL^(6IRahdBnU`*O*-T}(<#)*+0>pD?NF|i~zgdc0jtv1e)qA;J0}JIt zBpvyWClf%1Ro%f0a_wUnf9@W_DkJ)ZxZac6ZPQvDF7YaI{fBD4q0D=#ya7eals%I9 zFx6k zvIS7s7x*Gf7-Sc}HC9lvr#Idb0d|we0iSVM(9_qO{+^}}x(dFs{Sgmb9mBu-(!~E~ zDICy7qsRY(gP80W;0uI@3nQ3PglNqN3>?vS%pRgs4e%q zqIi`4HQJREo9ybQNk9ZdZvoL_xMS^i5hPn$_wfYJ&zXAg2w=2~J^*45Kw4K%$z)HV z+1RJQHzN^P)u?@VPlstF4Dcf0Pk?!fL3>6_d6&Jp)!?d*gL_iUqEeneSW$M<6CTjR zN!bsM+Q7&A#0OtslJb`&340*>@@;`FAU%4|WcY2nJ}}IGTaaKAI-{ZfwIopL4;F6g zNf82XI=-4g_XMHdd8Rz7f1=VqbwvNY@V!GVyG*7P`{*1Zy?tF1yqd7YAg zfPh9#RY{M4fEfQFs39lCf7h*&zs3I$y6dSZ5R@Tqpz#O9w(?r?1O%1wRHs%X_+tte zRTFmt0@}9A4`C;y@C5^CX22Pg#Q2E38mSDZZX~}wh*|~v{&69UuO>}#C zv#cM{|B`={a3|{ycNQ@ri;_WtvOFOLBgwC8zJ$NHKa#7zzcb)H(|>^*g|0N&zS2I# z_^-@J%Zjbw0y2=jn6ffC&*J)qHMIVSjv(o4{&OjBb)U`eD{&_M!3lNV2+Mm{sYydy zE$@Acw0$O8H*VFO*p6uu(-W?9jyXk&9|&Pey?aIE_QDgD&g*cI!HrJNl~`83j&z3= z)&j6(ozK{3z77_NBl~%bcb|w{Ik89`XqD8gEj0G5u*QSt3z#5HHqJXCG>-@Gvv0`g-N2Tl za17h>zmMC?L^ZW&bRmE1Ob>02;r!Nb+^E~Ln>wF z3P`p+nc82mB<)<(`EdDL*|8E&VYxSMXyBq89~nFfcof#Xn?`$zDg?+~d`P*7 zitJjq`!wK{5JPg|eah?F=b%$ev|a~Bk1P`9G}FmiIlK1t#lX(ak?t{uD(edo%{MYx zIlX^RS;xq#yw|m=(_rSk60Vy3TxE!%R&UhHZIJa?Ah*RXbMcyjx>i^MD$?izup<>brE#Dyd?SibE&-RB7f5`&tMN2lLb)j)Xy3 z(*yFSb~Ds#@kjep3svj4wJq*EF9>JwHaxW7H09tu!OFu3UGDDw3PLt9LGaG4qPg zrrr1`Zj}QHX+RKztVSry8z{cd<;Qj=)2E$M*s1_|a zI%e|Z4l9uh{7qx6mJhFe3v{eDs(DSSks zX^2EN(SCeIM?DAR#6I|=#~!T;b2@- z3s)ove6GbG>cGo6I$e1yq0x6Fr7)b{ifl%SjDaL1nBJUTjNZr*>?wJThXi~Qk-{PV z=J5dkFoi>Qmr)djFQ-(4lQg^rjfV_Z{Ag0my?l3Ci0Iy#41lJBFU|!1J|NoAc$wp; zuFHnT@m|+2(3|B8M09cnQ?4uK0(6iIk6TTWo8K&0AVIrnOgd7_W3o8@m94VIVjrac zOp;Gu?bvsFAcJ%et|up^r~KQG=~=oA&jYCr)XV{FVJ`Lj`m^U>#8& zD00>`_ai2n>vXPV;Y+ZL4386khU@Q79VfFF=L>8qH|96Xvst3t(u8Zv;{cnD>zme4 z&ry+s^LP@`(G|yBz>^JLJNMvc2W%)f}P+Y+>LBo(mfqW>j;cuWb{eUswEI zCEx(@YO8Idm#M_Hc$`83M-{KXlKxgAW$;vx{=RVh9n)dQAn?GFzb|TKxZGIMgeSZ( z8NxC3`Pc?^&tbRXE#(i2MB|$0#Jv8F*G9bVAil~Q}@aN>V&8A3Y0q*y0CC-TdJ6{jf=b;r_C11V_q& zZ|Cs5NZpK4!0BS9-HB5hAmGdTdfM@q49TD*K+t^(lQFP2+-xRYh0FbGT7gP?8^#dfZS9`|pfM=t2J>Q#wA4bG5$Cn{&m~8D-1GZs5u4v^olR># z5E@J{bHa8gOh~J8aqH%bhja?6R?)QUrgpCpscJP@MJfkEP7;~U7|*P=#8x4j+^?rE z&nQSMsrBMzN*@|V3mBcgw3>1z8`0uk_?0&XlPf9dcp0Vs{XD+3*83=$`rOvlm=u#x z{s`@}o|JiGjIr7AocBs+9GNg9Ph?iMbHlZ9CX?k_mUvA_j_`Q+nOA0Pf0Y61Nkd7S z6@>t&t>Q`g69vkfZc94B$3q`)C3SLL9CiLw%IUu^bCT|^*SR0K;r{b?4=B= zJ-hghECp{gop5$g@MjpL2e*=-!JE?;*L>E-1LlrK>zYI`C;bs}OPjl-A#mC|9s8pe z%^nqkq6xFVdn~lk#ukD52I5^8j*EU9%YH8t;$0Lt$v6UBcrSwYOQbz&)RsOQCsXe$ z!z;}X5!xFEoPjNbAk|K2K)1l=Ik?Dg%5UB2eL}Vye7_VTLMy$oO@S^6<2`1qxwctn z=J-7?jr4s)pZ>o53wrBl`0V+4ej19GcPT@o9@C8d;EIZR`zxGltI7O!F87jd>d{p* zAcerR5?Nvj-V#wDeLFnbK*sIH5^p9OXxUoMzHF!?t;I2C%99Ih{{$gLyg=V>&5VbX zs=z&M;Z&pEJJ?;xt`I@F#iXi$+Q$QIE9NuNgO>g0`&+3xsjmbXBp)2*-(}Esd_i$B zlphCbU@5XzW==e|QjZ-=Q3~ixW)@QT+H}S{J8Ct-mRo-d=Y#V`dD(GkG3vdvK1p{~ z=nkbj3tJ*RRgu1&q1MgK?eK3?W)9C*qhQ&P` zRqf;^o}lfQXx=Z4+wH=e7;oUU!x>vH@7LNK_pcfQ5jxlQ9$%HFy}$wVYz@%mG@33GJutnc8@5thLCu901erL+Q zaVON5K#zKDx5pr~%Nm?d6ogQl#En>fo z>+B9R4RZ-4zUwJmwrZUI8{du9OSJEy&|PaHne~R?$x*sdcU%jl5MVvC7i%Nbiz5J)v`IVOWmO5@Bmdl{Z_;?7V&^5 z9L;0qTx%%Ej)Yb1>u&$L-^qz$Rh7z5qSx^tI(#Jhuf+nZ(%>hycHfh?mYM?Veci)q5Av5kQMvV8(;6)K%Jc; zoj@SmwVOmZs2bku^~AkGmher2ZFk+Y7s~i?UNVIM?>WEQ%{nI6uvRInW$)OO4o*Js zPJ__U11_Krd>Aj>g2ks1NoZm3>`C@FGc*$CK~r**T$p}D<(Bwap8M}yLc6BQqy+M|ht&#-9vHO3XUA{mdqD?3B|DA+-X_ zBw}xmn`ECbSy8U-f&!GHa zUxgHv!2{Fy%ltdt^lgHumTE+-w#JO>q6FlD&zuvv8LTR< zl=UM%Y08AvxxO>{+(`<&?(ytXM0uR8M6RPyY0Z1om%^%Py&-{BmzAJw{TRDesp4!I zprWwOAb3W((37h8p&z@voW5G;Ied7s7CBhz zGSV^{=D6PSyK_r>nZ`@!6b0bPbHq@#&sKGj9eDb~Tb#p~C!_GW^TBftK$t_&7>|7v z`OT`=vrBofPWSgAq9~`~kl1@Q*+M859*SL6wu5TU*vZDx8u?yK!AFJjsa>Ef6Tb$u zz?nnH?`N6&k25MRCV9oB5-kXtgQ_(0r|F|%G6!7$+iiiNm~RCwRS)%iM(;FhD^L#P zMr$6ohJZE%8S6IudXXRWR}Qd$%xm4RDRe(5;JrytvFhSupGE2q?$kKx25MZFM1}Bj zKn5)W`)bv~teRDALrBapX~o(~S=^>!2$}gwFRtbZXXzHs%BWp`NX{_N#<1_!u2gW&?#e6*PPUR8vl!dZzVdAqYxlSY1O z&bNB@d=`=#B90)K%t(U$s*d&lY+fF{9uYuK>LKIswhLCZ$dLGH&33&a+K?BByp|#1 zkfId*G=-wl^V6(teO`WrmtTbDUU_*qL$rVC* zs2=b(b#IOCWTMJh)zMJq#rypJuG>F~cN>cf>%2WIS5>huTT29^OQPm>s!yjxI7LY!~)W0*s482Y%K%VO7?tqG8 z<+sr_zV&Q1poWO|dZEr*bZy9Zc`M92(2zpFvxog_{wcs{8sZU~V$LR|rXuV6$rFrWzR( zw5}Tzg&K=n?jDp>Z&2J|R9aIqcq+QBc-4}-3@eY1Hc5rt&B>lhKukn(yj#^rj>OwX zG@=AIdyP4)6e2yT^)tqey!#g_Q-R?}hp5>Ze+7;TR`Q_gq4dVM9GL6Ovu~GkYb34D zi2dGLMytfhQ(}D-^CrUhi{rWD%KCL!Qkj?G@1B5QyaMi2h7?&eN*xR)S9X`rhy&+w zY@h5b(q|t(6bPK~RGZo0hr-a4e1L8PiLab%0X5Asg4ErqGy6IIVf*fN%QT}or>{_~ z1FBy4OvP&>_Cbzd-u;*5iW=omLrf2!t&HfcNH3%PYtQV+x}Fg!5sqUcO?6G3hMxy< z+$Ud&31F=3>56&VeD1X1m2aIuw(dW%s^LGobj?nARdk_K^uphO`R00@Pf%#1ZWfkmh0avIA-JekI+b3_jndGePS7x0wr1o>m_)hrvwU1 z2Cvmbg99DXFp{s*Vk;^Q$OdVBZspQr5(|vUn!mb#*2gG$>eZRs;{`9P9iKlp z7?LL8842XI4m-=OM)#CyU}0$GnK*scQJW(y3^jT;715cEq^8|H!{&LP8T@JVD!37t z$Oz3LzqBq(?PJ9W&tE%djCyMci}eh&S(|+|w#1ZXcWb53c{#`TpV22VFqV|@VOLYY z-%BI)Qhq+KJMZ_i^qQ_p2TLYvG>j1~&!6 z%dhD+-)J+Fn;Be&@WJucKT%(s4BALD{E%v|>U&&;5P&%D+zR!ddB3PJqppvStibh~ z>dRDI-f40LldSgG$n^TJ*pj+fuT^M74c^$bEWFHrqm{9+P$}TrL9FjJ&!#F^mcvX# zQ*l^w{on09sQh}Qf9F%T0F$sT1Aw^D8hB}XXn6A|4YkN&`^!U18k!d!x%!Oj85#AQ z6EiVGm}z9ni3HI}eG__=OX;ykG~>Y7X7}1uRdL|zB<#ssXe6Kp@&4?zF>mxrN%U=j zw7bL)JKnlKVjp=w6yqi!Bz7p6?>qSWQ?|Ov(`K#pGy|NvQ*0CU6>t!IY2zlA1YcyY zn4spdA$38d_dJ$nfQWDq$jhF>$zTWa=XEDp{LKAU%jxN;d=^jYg|~RChBT;JjG8=` zJ}H@rwqmj$E`k}573kXoG`jH>y$==g0|4xG>0&S%?YxEiQ zw!=#yNkUR<+^`~kCaMe9U$ZlXhJFDcJjmV8~$=6m=6Z`QvLd^-0PHt957b9*Dp!O0{iENbIgC!0UHmSVZh zS(Wdseg4Y#+Mt%MoroAB{UMKurIpac;x`QC%vHx_!OQCsjLm28${sD?31(Gaxj4N= zy*_gfTC?FGDJXV@XZ=kg9Yzu9SL&2w9~rG(gf*;lDz$JDy9~hkZFq~O@O`}!Gaa>d z&rtT={`TSEb{e6Li3-BMq&&`hf?MlHB=8%w@U(l-dy`Y`8m8 zxdUwZ?AQLIXf(n!F;m;BE)$fY2`yIC;*UpUPOpsAjS&vRssJOa>-3{sjDSYMT5noj zKh>=$mSW>&Ll%y_gjYgq9%XJ7Zg6RUH4K@)q~ z#JrPyFZxr zEVN2xgk>aK8TnqFvs0W~lJS}x9d`k1i6^5o{#!|tAYRXj{dQTE!}rbsL$M&A-)`pK z$CR`Kg1OaWFRm@CY;+x>!HOO+XO5==&2kT?72(**1L{MHY_08UOTn<6Uj6oGbyvjg z(PkB@_hi;L+~3nZh>bk$nhn~VjEUso%75gh)g`x?B%^{W@xN_@WJ4L|#;+LHJ|yPU z0+nQEzXI0w{ej>~cmyXBy~n%sIYQ)O<;3?yQ6)>bn4mbv;GktR4Hh661tg_(AMpY* zt*Ys47o{fw_EvH$;=DZHYNhWwkD`T3)aFBFT6Ko2C}Q!UPb+(qFNRJoHw?H z&O-IZf>xH6kZaT#)}#*2v#%PFw#zH&bH4S~FbGrA_a3vs&(XYpd)%yA$!R)2qDCz+ zkbGVzlT-OwZ~0I<-Ul8CZc(Y$2amTZU+Ri)i0b>;(-6(Er~H1Nt)6}R=C?(SNA$}* zyIk8C^==mW9jYaglO6QvIFx-i`iyPcZ@GmAaAa&?!}Ru4!+J8ERdj%T^-`<*$L8rNe*p>Pvr&SDr*>Np6V|WX zPdwp0*%^v$Znl4R9sFXWYP}32!_A&w33&cP7gIn$0mxVEYpNnaWdYS~pugBVNAG-LlK&`#TJ^Bg zeF=I(g{H26YX3yiN`K|BZ?$06w(;lu{zSR73F+F&aaiJ25Z)YiUIjg)99ouXB;g-y z$Ye9B|(h5D9f4oxpkUb?5C{H_As~gdN!Jqhu<-3@GjNDi6%V+Ya`{7?F5=PJ>Sy8yef9FAumc(Aiw`)s9tL;u*L&nQbj&o6<0tj#CM&@5PIDN)){a%f8TLJ|1$-q_)o*iJJht@tY26CgKM%0!>5sWw z1g?<6$EVK;A@e`kA?ciR9*=$2t)*qCyGv#ycPsMsjYoEPYD{p6b#hvfEp8(t#_<{& z{BN~eXHGVfHU@0PJ*h8HI>w{(6D#RS*d?F9yH9WfUwGat+CTijO{Y>olw){WsrIG% z6cLy!;dKz(3|u$lu%t2CrDgTqYS{AD%h0vy2XZI0eg(!(4;KN;9A^U$WhYmLJ@{CO zep88fjQTiqda$04vgnDU9IFrfc*ZTyV23j&?{?XtiZFi;wXGXRAb2x1SG+-}(#Nh|3M`Ej9z;JwbC z5lxv0#+2=|--`0})+)b2*&-Bh*!8-BpS{f5%)3%4cODY|2e()j3hKum$SIMpD8G(d zk=k9?*KugRSJ+mMF+0DLW=it?fO+4>;!g5Te%eLC<|5eR_RTAbhllCUhGeJ?CcI}C z-iaYKgE}9#`)*D&jz8++4L%X>{^c6Ua_n~1*FF9bxqN%=P>|2v?Nj7g&kiK`1T}OP zen$p2@bYHvT&hsnk$JSJ)J8?y&`#s{e88|&<_TiV_Ltg(kF&nBazAe&y5s%kC*J** z-4x{`j8|kVW0_R5qcs;s-YLVD@%$FoAnzSRk=#EfO)snND|9dF)U0CG$xfgbS(ts* zf{=T<`GVUCZ^Q7F%7k=}M%A9Qt3b(&GY{@ye{{Mv#&cASgMpZURNF|H{#I_kz(@Cq zn?=^V2p?4Z94lQHGV9Uqqp0k=AvZHVbpHn{P{2dx z6VfSAX`;Mg^X>4!GKLc>083(%`(bPYH5}A?O#0rV*ll)*XVSG38bcSf9g05n=wE&I zp$}fJUoh@JZUxeTIvt2i&J>Hq%|BgxCsB|dgUDM;t9eD_ao1A@8W8Y^Ki*>&hwx6C zEexI{d2E|h#bbquK)@WGXYr&5tm#4n3>|11x9ZiymXcXX=4aW6(rD@~5 z)d7sqHyG$sZ}sbY-RY3FQPJ5*M_Ukj!)s=|tYOBlNZU@M(f;>wwy-+#GjWYncAhqV z@yE4OagzGPM@YwXW@*J~b~5$ExIHtVSl{Wz$cT}KFVjR@rTB5d81^94=3r&RyI!8r z>b1YHLK*D-$0SvITw;7c?o+G1>lIF>*=)lEACGT#XT73_kPvP*L|(IChi5ufYdO5u zdva!CV~)O=BzF@NBW)0&@PVC z$zM8*I>{1;Cb%nR3}kU~#~*7Vzts|!egAE$)|D;XP1mpua8g8Xvnj-G%mF%|2CoXe zNjT_ql{q=MI6p-BCIMCqnq<7`<7;PslSxGodv`x-!ahWnl?R@!7d5RyDgbPS^fTYs zx>>>ZTyH!nQQGa-$>w@*VJqX#5JayimC`i}JZzgf7d?O|HC{v9;{E!Zh2_U zXJIhj=bY4;YX)^uG^Th>=s#wH|O`9()Kvn#TPEmRcB^*Qm+BW58Tz`urL#74D( zdQ)(`?1AR_&?7F_DB!Ol`S!cn@{L`(ku6F~MEmM{WIwK6QG>DxPrpAXP=01FMhB`= zU8-;*lILRJ+PN9ey;rD8+kTDLsAl?@Q0{a)rz6G88H$LP{6WPOMp2&5_{!%?i=UOI zR_`to#x*jWyw}fHQ7*bYl>9Z$)G1O>^OiF6Kn#_t|FEk|NhvIYds8uPzC`}3w7wUI z0@6!z)kEvczm=gAuPkalYv^HkMk!umRPe?xsW4i2V^%6GYR@quR9nL2ZNlKKzfMf& zmk8zdw-yYks^q@&EqIZz=NSI4bq2o|mh3io7k(f(Scds5$|-Ax?~x7vq5vljKVNx( z6BBxZmJC`ZaCxU`ViBF^7$p|_7CZ^u!@j|Pzjy@vM4l`t+G5ipBUk)`|Ae0YMNBHG zV5T4 z#_R`E05}2m{^bF;2dg<~f#&+F6O`~8cz+MOpZ$7&50#&Nn(7}SN?J~)6aW*7z@OKD zNiE3p)?|Up2*aO$Rzkk)aUSH!6|U~B%EPaMLw}2*>O`e}X{>PGlx6?7&Fh!B!BG!4I%_b=eAkaMMrRj8^bcfdAJn zfv)QN*XO3P?G1`2W?(8%9>RjSPliTnF{6fg4%h$5!T>k-8ehrx|N38O`v1Q({CCXB zhFrjW@E`2!fApz#J&x#q5Az%-|4AtS=yv}EvNt^Hf4OysGrQ`NF#l&T{V+TfRyT{I zo1BraE;~EZ9%H7RoC#V1+4+<8)gK)GuW|mLIuK&#`xn;Z9|SaU=s)lv|2Q-H0?)E* za_Rq~-$MSkbo{PjjG z9?XXa^nWX!e;V;WNtnMagj~Q~<@a}fD#SC|;tv^_<3|!IMbBf?`X;;sv~tY!fwpPvVOROH;TRja8wP{|5^kc00 zab#pYL1VL7sJ5(KI@*-8vS#_Z2>BJR8^R5&dN;F{dMhnk-4y@jb zE6Prdz`KLQ9=2vLjzT;F48{9`!9Y(Nz7uvo-%H;~Q!Gc|gYDlU&7WcCP2U$|Tl^CY z_plXvapPgYH@&@`OCE6j6I#w)h2HS-&xf2E$W^c^IQaYW=wGgP>4DV=8Akn7dBz?h zx#ZK7ccA@Sr*3%1YOx&nyJLm4X8+x>h(eYBaxBuAzZ{F2^)JV|Dtv4n9O_ILiU8ev zx+k1Vd?n-&H$C~^etO06-0;62{BchAlK=j%+FY`$|M4E;D-RhI)c>WA%hs0^^Z(bo z8K_REa+h&8`ThhTc z*slxc68twLXG@eWvfWKyhfHm)|vrvFH7p z6JM42jm)%=*=`}qf!=QRmJ}7$lQ~|^dEWe|i}zB7CA{YeOa2oQo=dJ3=0peMQiBCX zpFWShS-d29y4|MIK&vANoAxsEzVIMkK3e3uSdCUWoO0Kx+^Fhd#nbiHBnj>D6J0^@ z#qk*17}y^(p0dLYSkL4--;U_eus9xE=oLfWK&SXKYCQbimu8Hw zztMK=W*jyyTvGGLNBvq5-`!W@&IF^Aw1EO6TN(bFQZO5a8c1pF=ylZKwVHyl#@`P+ z@Ql7Er@NUKH&E9vamPO5)7{*DvOB&}OV6V@25aGBH?**1(2|qQhVpN_2TZMuMK1MF-yMDsPOTo$cu-rerO=};RQkXfG!?Mhr_Xui2hkPcD+++# zju>a%F)r#&iE+zN>&gyRp*Y!t@ygPe7TI$ffWJxQlv_`pf79!a+wW{;a=tA@3;l$> zBYPqX@$E5-u4_KSbetW|W`eA=r%H`f$;jgp5T?5i!SOV4TNmY+R4Q!exr~1odCZ<4)FpL^u+vE`B`i=` zj2C{x8`aR3D0iew04Jtp?u3Zz=uv%v?=yTic-F)Ck7@qjhtwxG(Ba>G2=9p56i{>S zgs5N+vt{UYGftQI*^q&o?lDsCzu!4IeKF<<$822SY3oql$K7GfYm^~tvRl47m6NYB z*=0L(a_qIW?cMJydafiML|zT+s>OB-HP~}wI^SURHrX2INYped71V>|+H3I|7swfF z73#zt2wC8YPZZ|gi6K;jZh^9GWGZ`~Lkpq#kH#zzm*Nm-$tZP!{n#bB6q}X)`~;<~ z(Cs6uJ+Rz|b8;RV>WtEgqAVg!6#_4IaWk?Ez?=bZSTX{CMRMCQ94|(p^wRAB!Zb>U z#pm&|U`IT^-hR8#_K~*IK~fxGkGf>(0gFMkw(hTs6uq==3<2|FbV_^P? z?@RB??>fWxM=OV!TF;^vG2GCuko_?Wkdtl8yJ@9#?yL8gNmLylIa)Q7&gBAxnqwWm zDw57j`ByCBiKDM7x0+6FGyKR-k_@Gjc@=zDn_y$gp&UMVekm=6%ED?9u;ZE?9wrjf^af#~jL?{1vp8*zIfQQocC^uf^aOJYH*dF{`qJKQ zI$AJD)d0Xf7_q9I-{HHyO&wm{mhx~s*&70N3E=P(7iXzIce@l{MG;;U)hrnR%S-X4 zQ6h~b&F;6-ejexOgoO#ai3dL7rU-E#xeCYYU!CwMlUs+mE?ibSI@vK|YymBc z$FrTwo_bGvqL3u{Dn8$~e^BWszaBJH&Qs+Mx!&tvp+FhxJR!tGVl8pt-xbcB;fnVg zvq{(~wx=!=f+v$^#+Z9gKctCdxbFOI{;l{u0Xl}^mgv)hAl{=)1$3C_-q|LE}FQI9dlRExpC*GtAaZ1gtD1_Lp8G< z0LXP^0ncC`tCSt-7pv|4na=|VM&!5tT|iFT0hWIVMVuxhHl>=TjPCIk5_3^Nz?1v# z#~;#d>rMNd+PHKJ9m@>K(w4^5RKk-YR)~6v6vzdj4EWO2{J#~e3derWf`E?6*Qbt^ z1*{RA$3xbwZ+1w9qC;%2P{sdtP^;vc5AhEp9r(%?VmHUb^{u?BThKW-Vi3=b+um*q zmh)=&SyG^E8P&M^Jy#MR9)3>frcMFAK|H7s{s$AbY~=yVLi%z@Uxa%!Uz}w2in8N! zjHuTYq99_Djbqg8xzP>x-uoT$WE{!I1o%E)nA)W}ZBK6nc{Bdn=4(dE9!`1f_2PNw z2?wRH$yXSs3{~!iZF32Q=)TZXldB*1pB5kAp23lv2I6`9HwQu=+yhAz3gzDMqY$kv zy<6<)$ScG3^bdJyh1%vUJBH$=@edMp3B2bQ?0f+tx%%;y6_x!2Lk{gHN<38FenT?o zQ?YA&fkGsb%{<=8*M^ofhKlr?ES92nIy3KmJ{aE=0M>QrT(aesioNIaf{oz1QV&%)M3?0WH>Rh24U){d?6t|uP2Y;xa!W!NR;FC zPC|*QKp~*VY_bQ?Z2jP@vgm6P?p*;eFe4$mey$Oh)iU{RcK2-b<@rkNJv7fnD0uyP z4IL^A^Q)QRuSvZ{e*$~`k1*ld~lU^lgkEzy1=G3 z-z4PB@EkQk0~jdDSvkKoea~z>T?Xh7d7mHhnkQ>B&|?e2nDh0wQ)S8;vE7w9tgTFX z#LHUDBx64Oyu#e~_IPtGrIC6FGKq;7Neh=dn#N~lc!HNUSn9bZBbi=vm9)Q{e7iZ8 zrFpYO9Pz~VRs5)M<$AhH(8lV`0H&xUuAb_TcLcgSaUZq!XAYa{0-d!Wj6I{O-`9$j zpQwMvDsz$x)c8XL_huBc7vwxc4)57Tk$^9@ns0UvjjB-yL@s(uGn%eadOWJWRas zuQYaWa1C@5QGdX#-oeCm%i6_hx9HjVirjlZP_c)N0%hU@u9NXj{p+Q+)?fTp{OkJ`9i zQ3y!+e95VG0>bBZT+a5#3XT^)A%_LSglh>Ar57T*D`f59M;xz8Kdpc+a7=N1pH6g~ zl6JM(mN1(C5K-|t%D-sO`VAKzw)D~QAtkJsH=`YeiusJ@DCrmd-}xNP=Eo28gJ!a; z*G>louNHcaF5KP^np$9<7WNVOUF1*-)D535)-qBW3jjJTOtpt1?U{D*=<%JCI$J$=c|qD zRP^1b$!y;t>U($CP^({q*3D+sgOVbjpOFsBk0=B~{D#s7cTR1jb2*7U-!QanZ;55% zzP_MpzdN`qrIQV+4|i;}eN$=%Oul|20YrtXG+&;AG@lJ#I95CGK20m4s!ha)`UVjn z53{iu+~I8S1zy|I&6p)OnIK+~ru;a18it1P+ab0Ig|8r5?H<+M{U5c@k8sG~jLi-_ zxsPsI0ZA#%Vt{1Y3{(nV?$7$*kam(ythX6%ME#^bz!Ja{ex?+So_T%8xm;^nx>3F! zyBU%2#>r8L&!M#Or~{xqJSoPxV|bTxOn&;{c5vh=tcA3DEH>eXSXZ>z_9tY(%Wlwx zAB{o{i=Je}TI*atq4bD*4#7xL)Rw{m`p4nKXS%?qX%c(3ar4>hEm2K6^mF=(P zQhFF%y(eau=k7GiJz!sdaemUN$BGUn%{|V|=e1mQyazF}*3bRKQQB#kL<0l3+^fui0^s^k&)|claxHwU!T=m|7+F`v8_~A?%Ocp<7 zv*)0~?z2Ki2u5dgzMW6J3|G(FB|UH)JDV)iw^BC5AAIX>;L`WsfcuFGGYK7&XeFKE zcfBOFd!B~6XioFVsD5pU_xel;kQk5aFLg4^#C!lXt`u#4FV-IkEzK#~F33n!DxI`f z_niCCdIhusTXK@TEDh28SUvL<#7FlBZ+_P`uPOu7Edca2(@plo9&YG>K?+MtQ*lT} zW0x3chUm%_98doePlM8Jdf*8@CuuliA@Njb+zWX8K5(sYLL1Iz&L=$qk$(6&2jhBz zsndZDYWt3b1LKl4`o*y;GOUq28`V%hPu+<)@|Pjw*@f3U4}6G>50uI6K(6)}#ROe& zZZ$-=6y(NEpull*lfWdc=XC6E0)^uz3xnLDt;9|((Mqi3LijCnIO66gIJr?sOT`z5 z24f!OA9*YxAu#_K#H%^`EpJUs(pBD812lfe|*`tW4k3*lbMHIIamCyP_#uSLd_Lm%WWUqwj`OPQ`X z_r;GwJoBZOp`r3Pfr9k+z~_{~`2m7_E6fjCDpA8T!wj%X@%I32zat&L%TBh&IPyGT zPkem=7wzHNI0WW|y{O)zf%quC5~}({PR}bZV=(5q-b3kY?(HA6E*8e~fngBw>6OxW z9gCp>nR@C_b=_S9q<(Dv_yBXSQn2RBSMeMzyy@feVgu1SzTNtIHR?^PUpEI9x16YA zIJ~C>CVm)jgms^S@2+N8ZjC)dni6R^)Edl6oBHmeO}nR~sOM(!yNcg6tc;SNrOHsx z$wp>8wyMs_{9dl0aOMZk2>s+dc;yOCq4@_-$BR7e$(mKg`5>P;dG6{}W#;5ZZ*?{<&D%Fg>b zWF6R2`Q}HK?BMt3y3+!Xn1I)a>s*;f?fj3WKg7fzm+s&0^|Bn1vN4-Mlzm(9?x@b# z-*9bO1~m6L{tEorqHO)9Gv&_ctKq8fKY-j0sHWDx zt^B%p11=sHXn5^mcxZR(0E$mn$z7E=bm+$K4I8qquDO=)SILDZw0yRwjAN;(eXMQx zK%Ewsgbc_G#Q#S_k42NuPWi<#q-aY4Y&xbncf;Zwo7%u=?`C?TwvEhrT|kLdL7-{N zHUF%P;wOG{9uda3|E!EsBH1eV9&e%aqpk_%o*rc>Mla7?Bw9xqH-GWzU@T8->9D|k z)@#BBgHz*f#pgfTMVTnY*ZF)-;jSty$cNjRQ_uyxP0=A5Bm`g1M^-ZY!LIuwW4UNa zFLmu}HQE$ZW25p=+A84eTKnJt_O~Yr&F$Mc<=~)e$z2*wE3LKMf8`zZwtKKHEw+Ng ztU&}6jIRhfbDMF0*^Q*GxfX=lH(QDqwOCnwA-27d!sW(eL%*VOZ+^Fv{N8vazM@c9 zAhXXdXpH!y(0ExZ8RAF|Y5gJ>+}KL0IkMaQ_Qzhj^yatc8)HYcwe%pYE!ndm-11Nm zX{;s-i%0zE8RFOjPmqts=R>nevckj~_4W8&l{|rJB=X@%q1|S0RL^!C8@1q&M7g1ZK7G+5Ba8<(I>aF;tfYp=Ecd)KXVtL{B@ zKb-ZgJ4LVVImaC19nbqbzwy4Qi=Fr{aXWYuXNEBMe5fJ(1 zt%5{jK(4_ge#P8}`wsYZN0o!7~ z$aQOo0gDE|)ffZW`iC)Da`NAv)6H{mMYn#)6uFY}8rN7ZU>J8hO2??%Eaus|q$lbJ zUu_o@BneIQ)?U)FkVUM`KyrtTfS^}Zt7%@_^Xjn-*N13#Vq$53Ouh^Ye2nDOjNH2jYZJard^9(>&Q26iWhC3jAw9 zQG~p7_fSD&%Shhw_Nn2(w@smoCga&K+k*7*#*gzKdh3zYnXwBsErpld=%r<-hl`MF z7}&Gm$*}qj_3z68IA0zLW?Y_uwzfVK*7+}Ot*eU#cht}f{Pw-S260foSafH5obHUZ z^O^6JLe-i24{aTNW`_n-p~_AYQ_e5%C7V0Qz2q*^T!vr4gl2J_o6CUbJJ=yk^d8Wk zW22bMgc@q4^Q)?iaVF2G>WygrG(~FgG9Gdiu-jAq8m6|DC+WoFzmaPC?c#kfWs1|- z>3ufKLR|rtYV%1%JLeBObsN)P$Zf1Iqh>fOZQl3nCmVNV%tKN>r^Bl~7omndOiULK z*?+Ns$togU6qkm3)J%_KvG!2XR6v6=xvlRwR6#gHS}A(Kf8>feZ^rWzFlr>g3@Ms~ zd5I!{?!SIb zOvO|tDw%4h+zgI8>Vk!M>yM4CddC&H($RZwGCzKHpsJ~D_xY6w8!lo_*B_3KcBKIj zDFjQ19>6QT9HRiCT>HThacxa-sdqcR-pQ;+a>GMKGS38wvHrKqvz+4VQm^fn)`y+M z;c0O~as*T)TIFe7pMWk7LS-!ww$}%4%3p+RvvZu*S=Ty0^{-LZ1$x}_>OKiZ(f zkBdYT9}#?fa89=W{LIG~ zZD6EkOiZ_A=Ue#M;#+azp+Q_3l5x6cj6yHI^|BL-S!Ss&fZHKwBAzC6tIPZY3n@IH zsUXigV2>6%J||S2wOD1B8_D+$^4@RVV=Fs^3{V+iLAK&8%l$o$W%r$+8X!2qCu`i_ z+e_;!6<)kb`9ttv2%$Xgd))S``Z#x9aRki0i0FGUr0<==w!E2ncT&*Ll_9`ITYod< zk+Sn9W;#q@VI=|UPnpn!oJxBkuRecGw~G_$u!r18+x^dC{DL}u%q|mnCyJu=UIl1G z#8~92%c#oudo-z}6&J<>t(yE()#T!i`2`g^j)dBu`qov-Lf9ZS9itCDwGtfZvCN4V znG^ci(vG{qwVRo~K16y1GIZ4V^&8aq`6iVT)aDf+27*V)JY8OIBLF>)ZFa3}Rka|{ z+dxe#hWd}JqR@5_%%!xsns()7wP>y`=ZKfmnB|PSW}6QOKAg=JF`L#tdV^S zz15O}=W) zx!Jzm{BKvtFC3i;&&iVUi6NCvq#PWm?DtQAiacGbj2J%7R5A>>-y7D?ofn9U(UV({ z%pPg@{6?COYt*$(3B7&ej2}kV7;1!u`e+{>x{+pTXHW1d)^}hL#md^u_viE8w~xi^ z3h`A1R)SXVu79iEK~s3=VTFqI&&!e=7QR@wsy)d&@bE0F`q5~MGjDh)L_Eg3TLI~? z5w`QT!aJ1u{wu|9yh*s}qal$;zLpMF|4er6*XGk$eh=-mIE8PL%BR<7CG)HED_*wQ z4aHi(D~8x~7gg-@L-d>qJbFBmxNK^DwcFqj;kJYL1RmcvYaTtK=Ug0j zH`BqQ39_d#F2(Qfr6Y!YyDP{^GUuI5K0rCk@Zv8sU7!%wA^wLcruH=>H>(vNRbS2| z_KdG43X_r9!MQ8k@6j3IE})1m6$7=>hP9T}PWIciiZ&1P!>?tVqyTo$=9=2!V+M8l zL23jU$!{aeyoZzjow_-nK z@EBnN8FN8Vm072iPMs=}i|%Y*H@+?Q1@|bO%4-hratJ5WbJAmew9rCAswxKh9%7`> zZoLmZ33Huj>t1KOyf<9P=qmw9-14;EAggr_2|DR@vohWtCA*Iv?Tg%>7W$`c&2WteBH?CcM=(-+i^EcaD-5p|qU@lqn` z2BC`S`EGg?sW`S;nj0!Ko;}2g2#hjT;}D(0$G_CJqw~2u#ffMrYb&IVM~1ks`V|U! z^=`_CbN${e@L#v=5QKo;OQ=1Vqyp-huYO1{0dU70|tLl`Hew6OI z9k2>D98%1|QfHEYBhjwsghXa7&$K)P(_iY*5m>;$({{5GDXNikPpNzkchPLw@N<^P z-M%Ib$UL&EsC&^n>tbNlzz1TuBYJCe4R}DiNU&IGjcqqpt9oe^FTHFd9OhsC?SMiu zYf|MJ6L>-WNbB&)&4OJ+_b1B{qnF76xB|SQA(C2mWVhbC(Rm$jpXDt(=F7gHZxgqJ zTT&-#H>4*q5c6HWwUZdg`W#A%UW;4Hs}MZ%_HemNwrXzcaJ})^{}>k7#kMu%^DGY( zfSTbLJ(%q!a!(*>j!|rHS!uv0;3Pz#TG-$KffkGBAF2Tl2edI+Ea0O3zBpJ1GV^KWfcuxIEk_JlT2(erBi>za$;AW`To3SN))csBf1GY2TmTk=) z?rm>P;FDBCR~}-H&3X~eDw8pKayI4+gU2|;_YxP@FM@pzFJ4BxHs^NS9bt4m>@uzI zj;-)=8hgp3%n92FIqsEJQ&2c$$k>tKE5e&|d&Brf&z@`yHG5eR{8QD{Z>GTQQ)s&u z-44<7K9m4l%{2w-yO@@lj6gIuLef{zvd{cOmI9u#Nq2Iu&I6ByW~A0+9RCg zotcV{{?E^Q$1TC+j7q;Tfn&JKFw;Rf#)ey~aNK9PCX3abhzA+FdN<%8_eMSAka|r zr&_1PFc8>EuA^J!8dF~kUJ?fhp6O?QzMp-|DDOwAVH44qS*&nnq<}1wy1Zo6a?xc2 zUc(WsPKAWJy$gwtsFSjZ7EB&LxjQxNC0LNv3P0*3BeO?)9AP7kN_Kq!U23*T>a4W` zun}*zYGRIpBl+0@;l(gKLA-7!$h$Py8R${S$6lMhml2LEveszo;c2G#(` ztKD5znKZpIfBtQy5wp==iRa|ZwdmMTzP*=Jct;dLlIT^Xv7K4*CufSnuNB);hGV5s zT+k!=mU!k`Dv7~hQjK_)z_qwxJMX)?XMKUkJ{}X|iz!4z4=;#_+Cw;g8d$5%YmL6; zyO6U}ACLTKhlNF;j+`AZf@cRyIybHz<=Bl~cJk6ezbtuHrlyI8+WDLIxi}U^sH;rz z!DLG7os*BjXfhB_Hl{2T&QBdvIlX+p6Wc<7eL05*1K@?c-$K3mA=9=-&~oojF<-Jr zqy`A(?|9%q&EFd_QqkxLzW$=vS_H^&y7}Iv`*&3dx|AQ&djEYH@RWzlIWf3A1N{%t zAaGj=!I@b!)8Jlnz4G{<6ZewAm2|n7y*RG zp({QrYW^33vN%=m6cvGu8#G%&ZJE!aK0M-Oy&axRG|!r<>)M|?$e@6{7mBC|%sZ-T z4Ucx1G)Bd2Hz#OwaB?L0ap;^*;g`1lI(ICYUdV5Ek`?f=gc;5bgEK^qy1tz1{yiz< zN+|ftWT%~_zWAY0UwN5m>IO~xXD!B@z>q=-2&7Ka2PolFSqYMJSeqBCn1MFv4PJOX zfJ1C4$j~zYODa5RYCQbOBiu7-1;UrXvUa_CYCfEw2TzD@)SlcaTu8bL{rZe%YgS^J zPj&ZPNMPx@fKyTeT0sG-!4GF4# zhX~n8hDR~H#$MS>#fWS;++E7dWO%j5M|e$YEGxDyuV3iGPzUlp>16A8-uu_=L;(c) z?yt2KNkeXyM#3+TH_3&69|7JO(ti&`ZvY~LE2XcMh&(f%i&E@WM*L7mf%SSdTnsWm z1ztRWc_VfLSD&k8fqlBu{A~SY#u|AyJgC^8Eo;w zAH1J+B_83W&XR1<)lp<8t9%w+@9TK&!K%@jQ_i(JN<3aD-A&Mz!>IPV^hJQpmxd&1 zRlOJny(88aGm*DxA!nZnx-6PYq8*!0qk{YSwbyF~9s{^Ew3mM-8*@LYfj5-@n4)+5 zk;$Ok7fskGPujj8jVb^7##LDvjZ6ZYUTUm63(H5->cD2T8uc5c+VU(+nM3IdWF;Z8 ztZiq}q`5$KU^$fEda1^Va#@pA9BI)WePIV(Am`k9HGywtR^GvG>fPakem)^9hM9r? z{Z17pE>t29D-(v6^7@Os!n|{D=h@4zT`Czfaw4X`@O=*0zZa>A~eN@t2VXCp=sFli{-!Sflhj*r9;#hpO}_^-xk5-48IvQ zUg{N`=AVkDyURl_0~PYmZ3r61-yV-og9f-s0n3zdeq5i=z^A96vqHSm;EpySly(!0 zVw%z++&BHIR-!w#iP6bo9TF`tN%y$+_@s*c=_Aoy7esNgT_O_x{bFpatccqWl48** z*4=25|9P}tfQI%X&Q3rdn|-AnGONZXRUYDm2ZV$>bF**gd%D!-tT9G8NG()F7KzWimcfo?O&@(jZ#D4uucD;|DI7NO zxAl-pJ&`_Q`u%6M%E$I9zpsU=DEc;cFh+}LAlR%u3A!fw2ne^Op*1>zx*Om<87uFK zBRZe6tEhFT7C4)+i~yXC{bAN=&waA5nzAz707Z4RxTG8~+WLC^1~0K^Tul^^AuOfg zy|ll7@tRlzvJPp_i;Tn17Jve#=wLIPCfLJPQmQfUI&Eypy0f+%`0&}?n)qGr3?T9~ zku_(yuZC6Klg-vn8Q4WS=m*U&vKfKlbv?U)E6oBh4L^eMc&Gt5L+_7GQ%&@}Ah0q& zHLk&C3d8d)%Y%Xr%4^Dbp1z@6RSJ?90&in_Y9k@SfsK+_tm}>UTn13won?Pt5?f@g zDB<-B&%jAwSXHaONx?zUR!+Y-%RYuqJGA+B-_)if3vJSIu97gI-u?IpB~^;c_Ia9m z(=J3Mwxj`(S+8iU3Opc_peoc`~ zZKeOFu8zqon#fYoJx2I#`|$_RFEcw1-^ie$ z25yR-H^O$%-;&p{R)%iNDrrw7|Dr%*F-`omqRG*hRW9Gl!I`OHM5`OoiMrh8 z+DZbb+KeB1N{D0Kl&{aS{>9REd(wr?ip$hMO-xI%4)Ef`0(pZ-0i@^qpS0Dg3;;@7 z@ajYsD#-!QN`SZ#a8>_MTu^NQsOcNKyys%0L`A6R6@cEh3>4jC6!C#uNM3_Jv;A3o z_W{b#jt8X^cy@b*J{PFmV~@#=#)ue0nN~}C;vRb?qLR!Ow72nZqplE3)U3SX z4}em^L}FKjU!@STpE43kwWf+7vuNKoo%G!%o>c+A2;jFgji7d$p?9q|=v*Mysz{o01Lr9;!&U0sOU3mN??BxI``=_;7 zO^FDSQ+wMj+^GSBB@r-JYJNB#;{W&)BlC8Z9P)G#@J1K#e?XXwBKX@5Bl|NK>HJT` zuV+Uzze zzmAUaQ$S|+^IArsRTyb?^fwCt5Zf0Uz{PUEx<`01;k$`;-oViZj<8SMD8MJJk2Qf` z&zZ;yf8W#(5+A$(#+cyjj}MsdOdgHNxlMGC>fV&QPt{~Blt0{$3%{EML6uoTy9+Wr zi?4qM0Wz;!v!mEa_QOV7IuE@8U;|%_~)83hra%TA) zlRnsmK(yWL5zO7L963WC9Y9=rerniu^KxIn;q)p2iq8sF8j`5yZUkI8Sym)A`9oFJ191`URVuPM3J)!{HPyOd3p_K zUbVZ$dI}0fu>4&k7QuYQYy0V?EpHD*v!%pOP&h{w-<%DfL4gZr^k1B2>K8(&i-FX0 z{PASC60`CwGPc`FV0WN#ps^YE5_HC)t7jfuYnp{JI)YqlwzTTO!Cv5CsfL2j6%90_ zdWX6KR2b9cf4dW!Cb*VT&U0^_M+NTH1SFn%tDq|feLW|>Er$4P#7$>n7SG+;nO+;5 zD_3eyl92G*^4&NJ}#j?0}E7+bw({6%YT(|mzwK*YzEHR^3I z%wCg};yRVS>lkT#TXE>(Nj^Wbxgnj#>STqF>s*LK=Y1j_diw+GI|s!bwP0(;kL41fakyg70#=|R}u<|~oItPTm94-#$3xGhhSj^gi8xr`w( z)2TD6bZ-k=;F0rRC>$Z}R7{_Au>A#YE^#E{dYEb;5TnuU&*Y5ga+WQO*!XU9`p z>v5{DsGAT5+@h|iWD5-6J*uD>DG;7hJVm>PiqJP1Cofn!JbZ<)Leh$NJK zer7406TeS|Su5jtaD)7)uO=G&QmPR{CRo*bN0XJ>M^Xm4xH-*rSsCLBFt=2=&4#-D zJWo=GHcf~P*qG+%{n|ciN~-J-O}IAUUl$y#%7}Ro`lRJzHA0it9Eb$D!0Pv#Yq{q1 zN#pDH9`(bz5tUdJ;j4i->mivB11z>K;wohSa_dqg(;V#JBV5?r+@jpsiwL)?zAuV8 z=aJN}((Xd(2WuVk7n3@MoT5L0;}s67$~X_+Zf|h;ddzKNQQH>~zY39nv<|bQ$fAEP zbGd0T)&GD&IQJCc=EU?Lc=;p=3Byj|Rl0 z3g7$&%7A+f483JemNvSFLd)7)6SMMpQY{wuVJsN}^>w5RS;)e^tx-vf?-`uO8Vinx zPH2ysfe!o+jk>HT%F7MKp`Bw+Q1Jc;}P+RGj|1qHh`o)bccqS)DGx zF%Wmo!g%Kn86l;uouV>1?B@>=MG9mFNZtGp%|#l~KYM;L6%h$U);w!}Mn{#151M3M zJ64>N=g^C0c5r!_=kft%5O28ebwdHmkvPnL&THUvP`nYY`Rg^HruxbdHjop@wC^qz zK8+5r(B4?8fN`bL%EMIDpOOjPuSRf*4XbK1IW$bGk=nzKW)R5~^c1|mexTf-M9s?7 z?3Q=a?L7${fa852M2oxV(8uL|u@a&wpMuc__Zw}z0*($y7IJ%B5=Fker-O4RW{$jxwbr(6nbsyZ10m9x*Q< z=JGEY&O(XlZQRUA-3hS7ydH_2&Xl;e$lUvWdj^XDj)xG7y?0r^JU~z4H5TCK(;DhG zjX#?iyHQo3cHSA8VsSa?PvwsxH*sH?iRBzsv8}lH1+4iVb8mNtrf}%qZ9p^cKy$sO zvQ^8L<>@VJ4i%JO2mNc22VVXQk5$F|>`+&pm?lqOrSV167JHSSG`9MQ%oG$6UX|Ur z#9&-kme~6Rmd%ukOg;gn+d+~rwgsPwLxxLu-itUSxM^D7X7~G*mLRTr_=TE7?XzP$ znyt17q&OU|@U}rl+V5QSkK8Y{{e>!;8h&MQR?=W>Q%+Rt5TO_%c<1mFot*o=xcY$! z5~{lXrbo55-Ec(W$u>1osFsi=#?s?iNvkub7vTJU7l9+gB6fdypTRH&l+ICZt@>vV zCYxI!Cpc4lCTRx`Htw(QGYpNqPkE`~lPSzPC!0Qp#k#F*SO%B1uW`bJ&-8XM@8_N} z1wE6^Tej|g97beimp3C4_CD`+JfmOLf)VF2lrPLJFTJWlg(O^d)}l^`d>Ut3xowG< z9~@jJ9*qd8SY^!~?EL(biNbwJ<(MA1Xb8JkMMlpzn2|DYLrfs29cJlK9O)QRCTOlC zXt0$tp$bpM+yywpc3daHO_9RyA8*?3D_l8qz z49Q1ovC(ax%!~X#nH^`h)$#c&giIN7oFl?g{C?SO%kN6OpWzv3WfpTewJ%Tl@0lBF z3;$-yLuR)qTEMC1Dp#G zyM~{3)b&lUfvHDLj;~u=+Z3V+IxNVNR_6$923tyy z=$6MoKuzdetHiWWY%o#Y&I8zFgBdo<#@OvAzLI&iI0b)^l9o^WIySd%eRLR2Ez-MS)4 z=Ix%fX4`rXpOB`T8f%}VYt~VW!3R; zg4NBO)*-_4bbt*+q=9Ky06+Ng)y-;2L>G^V1;@}jQ5mgX{Ugz1dX)KUuup|lIE(%J zNR8i+%OR&94oP%h8m!ZsX;1cBZy%h$ACR5!&;Px?Y$6+vAJO}3gc_AH|89MnW!cjJ zuyJZqg1onJ1nTjRj|_A~r9nd;y&EUxirwF;E5;?mToI?Gh3|Fi1hufa+ciFYhb4UB zY|sYzY%qvs1R9fF+mW{_7}8*wUpj!0cI>qOVw~aGnpJ!mmLF8Dd=CTLL+4sr3-te0 z82r}=;0HzkfaI*jF(A*y$I_BcH;GlV{2iA_2Flw~OAswgD1d7r?L;+bJi;w`UAAP22Hx+#W!oxoN$M#=6z;?Ux z>N0yZ*^{7fLW!+D*iBfW1@aI%$8ph|)@)5jbB0#KrI?e1 zgDuANq85Xqa8|toYeBhhLYL*D7@eLk-KU#o3c4)cPox{V|L1JQFsO}K|eX*+RZCO*>PpFFBl}&peWoNU9D?zs83%}sYKBW zBF?`8DE{I$A?LpWPamfb6b;Amb5|BZ$KGUFZ>qvv&e`%tpIcW--yWf>ZmyQS7xOE_ zNuY#P68?1yFD)Q`{vn+!b$S(?E{kLN92cS9h-c0ks)fnQm$yWWzmr9t35Iqg562{# zZZ{KZ>@7!CkF`0knppePq{5d}h(bLYt`Mj7~Km-t)T@Yb&I4g2X-7tnl z0L@(<`z}Y#2-QyyoH;f~H7iLyG?feA5FJ*vT2|{l*lVT}=!|~sIc=tD(;=LLTqtQj8WT0htX;$+hl??s`kmgZ3ItA$2Ax5CtUGW;1 zIATWZBY#Iak*!rLp)VG2H0ZGT9T4%FjCDihWayuNZ}8amTJ)p3--?^s!7XtyntDd~ zUBSuQ+#IIQGFFaVolBJoKHbG)T*xQi^F#sA_s_Gcx$7o8TQtK03@9aZ5sSZ3wA9z}+bEGwE3KDt)Zt?T@3|;CUCgiEwn-8h5&g(0w z=bO@pRp6ocPn~*_bEC4>f;Vtd+Bz;N398DmBB zG?9l^=Xm&W??;DLiw#V%kLCfs!es=Zvf;_TWqSKdow9;% z1J#zT4q7iFBiRicMVUEw3jx~`Spig9u@DGw&R)JX--zpewCC3@Zw<&{?p)fYZbhU{ zM|0ve*3UsD`qva~qGn@s*g--P}mIt>u+sr2zy2J{R8O zmwK+5{7Q?)l@^e5!A<6iA_3#oispr2pAaP!-n z)Zg3S&6gf#{fbWxf&_^tJ&*IHX7Mv_-reS34Z(F`nt5vOfDD<`nbB-+?CB#LGmN zLfw<=oq~ns;`82mL6>KWnHJwTJD8KaPJ<-nOlS&`LpURX2X?~Z&cw_ra*N0`TATq= z#$4fU_cOi{zU-~Wv@4EMelsYENcr=f&>PNXV|y|^FsFa3oPJ;~hcQ02H7s~8e2&o9 z1*|amJbjM%T$wC-V{QcE92Ze)1=R-BWk^9!r&Wpl;Q*#&Mm;eI?hfVR1aVdFvM10( zM)ar}Kk3^qV$Ux(FWow(d=fgOsph`)-%Mm+q<6qHUjyW7I~Kh@0+AC!J;RL>(*^pn{+`wtQ2cFa&G73} z#XL;7p{r#9%Z9_S)ONoU8>5ESM?ploct#5dygxR1^ao;us80S69RyomzRx$8x|I8! zt*H;hNq#KPV!OE8F4IXWh&egAyVr1MprvCDIhA`_<_$A#@A=7%8a_LFA#bpe1Fc$% z68<*)W7p*T%I%I1;`IoBR2PU4^VXOV{^3 zAx?~X>Gm8nm53Yl;;<#V9!&){fVJr6d07Zxs99y)lh8Zt7H7N=E8BmIbE)suObzW%E>j*nr_^T>ASE9K_H`c;p-|qKxK3(Y$|o?MN9xJ}P~U*I_MW;aTk2f?Y|-zQ?K1xIW0`FT*^(-d64QX_*+JR|e>)MF4JH0PFEl*_NoK2yhrq z>VYdWxP>#R^%>Az@>TXF)VRoNA?*QBKc=NkJMU~E7b(*m31m9ro4{G6w>y+(nK<*h zu9@)_BJ|DnktF*ySI#LcZfD@g_?GlA1P|rUt_GMy{xGoqb94dtq}=n#B96`fgo0=s zoay6Zw2Ewjm&_+`#=LTy|qor$LOL!joe5AQERiR7`F($v-h#rK}Qed zZWrYIrt8IZjblIuxAv-7Hb45y*3 z&ucG)Aec{QezYgTWxmoiRYrQ}nTHdlUvv3X@s?rmTx`BPxL8wFz(E0Ib^q;onePX| z$iudfdg(hN?>!_L!~oo2RM>jy`bwT8J90#=CS5Y@S8dV;<5O{0&oWcUQ9?yt%kzW^ z74N%ayF6zDdNekrw5wi>w77;JJITN7yk|ykiTtH*$I)xguwsQT(3T4ju@r|8uU{k( z7ktIJc%k*`lFvw{%W;mtbf=(RD0nBZl@+Lgk!crXr?yeKO}KUu&)UXp5U~{c8Z**9 z_XY`eNUFIuWdcqIaaKk)WvSTfbJ)idIz-m{S0tnNw#)F%?%J>glNjpKq@vrw0Ar;t zNBxYZW@|?h#OsixwU_1aP@83k#(~~9Np@RZe(|)-PH@Q@ep%*O?QI z$R3X(2%C(0!+vhYphS`P&YKIY>@M;05@0?gWmLVZDSepBYoTY_hkdL~@jF%aoG04K z=V!-hA(#THUYw&&5nllWa9JI`E=xVy4^(O%8>HB0RrO{weQQ_8#gJ*kZ=KWWU}rA^uj!{l^9QOIrj6zTTyeQm{0hhgwzv311~Ez42~?-T7lz$l`ApE z58s$g;cd-q!!zX#Ra{jnM^wQ6Ew3yOdfP-Ey2hj8?byrn{l0J?MVkL~i;e5pqADP5 zZ-E4w)Yff)TV+**BB!bV&jwdMGPf;rOAI=gD^k8MPGZ3g-EXR1B^dsHP1{gDR$ zyp0%AO8$oRV_=)>d)D@LEgVCI!6*vXKCSi|(q9MT?dE>NNKPxsJ6Zfz98U~R<>Z$+ ziJW5GrHxJnEocrvK3mD$eGF0o!@*O>1o5;o>)C5#JCDT$@#gyjTRf4iRvawYi-Y*z zs483KOUHeDc?Q63YBME+88l=TPq;%ZD^(uZi{9TH%b!P9aHB&(XQc{VuvgxnzW+3x z={Is3_W}~nDq>Y;;!YDWL)`A<)+M2oWc>--mcI*|Z z9rLeNiMF(m4sj`wOT8alNqzk>o)J7cy2KQ07sgGuFiVRl>b9K~icS*pC`<pBAM3$A@C!4`d4c9eK})UGk*?>?9e`+XN#T9ZIF2xj%32vy>ThCK|6uRZ6!)U^Xk?o-e6{~AtD9amtgrlU>$xcj|;#L&LVs=CJ2_@??| zJ2R*U-Z^pwv-b{+Qa1R&EHKRs0df~ z>tSY*dY02y3>xyCxJ=l!!=M5cfRg#26#@X!{J*I`)BmIXL{K>YRICW13}T2&0#3ZH zp#ORkLGG+9YUc~$%F!VC`UFgA&l3Z4gE>T~daV-Mw(H6U8O!iXfXJr7lbzo}jfw8} zRy!E%WY^WPs#WLTrg9Z@lt-DXy_(Q_<`dBhEJ3#cq*^Vmej*50PNlk!O$jBsN)67# zTHpf1Mo-!1G|f_~f1zd`++w7&FaDh6e<6rbM{$^AR-h@SSeak2EcL)ZM zDd1pLW+??M+{Z1!E6T(uV?2qiE7-W?^m*}tXRm}$=PCpW8&>|YRkxevruwYAC?{hAxlyCY4gRO z@s7wdq8G1R;vycAKkSA7<)8gP^%Z4p1K>aOc`qOQ@A$y~{2tFcOkb!g^y7T3A@U~C z0C2D9UhZwxe-@=bv1(-6j0!~eSMCp()~Y>Zll@Pz^e22yd9ZRh@MjhK6H)$u`qSN# z=k(0C;%J!k%-qQT`#$!+zR}gYC)lj*WaHJ0S5Nbh{y$v#|GZHDdBcf!Z;f+}T*^wiH(70M%|BF9+a$%Q` z%_`NLja^z+V_qB-$Lp>Zb4?5NUKqAZzwt z@ad=0fRh(^uKp*HTI~~%PFjxnAIxI_ThF6HpMSRZ&ja@7gQ1xJ^=X*@f1<2^V$*L# z3GZY62U;Iz)=5U@|3G&3|B*oOe}0sl#Y$%|f@hj`=b0?->vIUWL?Umo{~DAO_2wP`K7T;8WY2Nt7LJ1Hj3)_KMawXAKa}#iPUq5&-iv@%{ME*B#{qzO53K z2*Bd#N&mR0kMLtz8a{ZCJ_4YUxvKVt;Gm$LG>E^1nVbLhtl`qt)atgXuje6PZ>SLX zm25dDW45AS3Gj9q@yfRdI42q{8>k+g;30Cv~|Hepi-EIx#vaIysOOS3nPQ zl92`iH_NVL=ul^|*y3SnD7*#~hED+rYnlXTQ`=oFsM4d++Ba?I_rztK9&%F=EWDcy zept!ghDV1>;HLa+7L@{M29WzA{vtKwc-#TDF4b^&!&003K?g=}JqfEP^5F^~pgw}F z2HJ!GNaJdO(}}}a97aaQZTE8DXiN;ilo#Es`ZM^!0t@1xf(6sVO~7WO3t&yFh=bC? zn1(Ju`~bR4PbGredf2K5K*{{>AyVWRBO?hi362LwNP`~WbqWV?oYuAbWclECUt^B8 za-$Kb?svjF-;^qW|DmQPwf71R74z%&0f^4d;ryl;e;6yKfLms$nar)Bn#n*}wadP> z=PDgt3C z{|q1zmuK-N6gIVSUIC{}QPj5H4*QOt;XiVP|NhwY-xt+WTK(oeE_MEpOeez-3Ha}o Mtcpyzlv%+41uUI!3jhEB -- Gitee