From 07c779b1c2f71f84a033b108d5e1c1442c40de9f Mon Sep 17 00:00:00 2001 From: "carlos.meng" <7754760+meng_zhengwei@user.noreply.gitee.com> Date: Thu, 28 Nov 2024 10:01:35 +0800 Subject: [PATCH 1/6] =?UTF-8?q?docs=20(Audio):=20=E6=9B=B4=E6=96=B0?= =?UTF-8?q?=E6=A8=A1=E7=BB=84=E9=9F=B3=E9=A2=91=E9=80=9A=E9=81=93=E8=BE=93?= =?UTF-8?q?=E5=87=BA=E8=A1=A8=E6=A0=BC=EF=BC=8C=E4=BF=AE=E5=A4=8DRecord.st?= =?UTF-8?q?ar=E6=96=B9=E6=B3=95=E6=8F=8F=E8=BF=B0=E9=94=99=E8=AF=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 1、更新EC200N、EC600S、EC600K、EC800K、EC800G、EC600G系列模组支持的音频通道 2、修复Record.star方法描述错误的问题 固件版本: N/A 是否需要文案翻译: 否 --- docs/API_reference/en/medialib/audio.Audio.md | 27 ++++++++++-------- docs/API_reference/zh/medialib/audio.Audio.md | 28 ++++++++++--------- .../API_reference/zh/medialib/audio.Record.md | 20 ++++++------- docs/API_reference/zh/medialib/audio.TTS.md | 16 ++++++----- 4 files changed, 49 insertions(+), 42 deletions(-) diff --git a/docs/API_reference/en/medialib/audio.Audio.md b/docs/API_reference/en/medialib/audio.Audio.md index 5d0b7a64..19eb62ed 100644 --- a/docs/API_reference/en/medialib/audio.Audio.md +++ b/docs/API_reference/en/medialib/audio.Audio.md @@ -65,18 +65,21 @@ Creates an audio object. **Channels Supported by the Module:** -| Module | Earpiece | Headphone | Speaker | -| ------------------- | ----------- | ----------- | ----------- | -| EC600N series | Supported | Unsupported | Unsupported | -| EC800N series | Supported | Unsupported | Unsupported | -| EC600M-CN(LA/LE) | Supported | Unsupported | Unsupported | -| EC800M-CN(LA/LE/GA) | Supported | Unsupported | Unsupported | -| EG915N | Supported | Unsupported | Unsupported | -| EG912N | Supported | Unsupported | Unsupported | -| EG912U | Supported | Unsupported | Unsupported | -| EC200U series | Unsupported | Unsupported | Supported | -| EC600U series | Supported | Supported | Supported | -| EG915U | Supported | Supported | Unsupported | +| Module Series | Earpiece | Headphone | Speaker | +| -------------------- | ----------- | ----------- | ----------- | +| EC200N/EC600N/EC800N | Supported | Unsupported | Unsupported | +| EC600M-CN(LA/LE) | Supported | Unsupported | Unsupported | +| EC800M-CN(LA/LE/GA) | Supported | Unsupported | Unsupported | +| EG810M | Supported | Unsupported | Unsupported | +| EG915N/EG912N | Supported | Unsupported | Unsupported | +| EG912U | Supported | Unsupported | Unsupported | +| EC200U | Unsupported | Unsupported | Supported | +| EC600U | Supported | Supported | Supported | +| EG915U | Supported | Supported | Unsupported | +| EC600S | Supported | Unsupported | Unsupported | +| EC600K/EC800K | Supported | Unsupported | Unsupported | +| EC800G-CN(GA/TT/LA) | Supported | Supported | Supported | +| EC600G-CN(LA) | Supported | Supported | Supported | ## Methods diff --git a/docs/API_reference/zh/medialib/audio.Audio.md b/docs/API_reference/zh/medialib/audio.Audio.md index 7552b6e8..7035f3f2 100644 --- a/docs/API_reference/zh/medialib/audio.Audio.md +++ b/docs/API_reference/zh/medialib/audio.Audio.md @@ -20,19 +20,21 @@ class audio.Audio(device) **模块输出通道对应表:** -| 模块型号 | 听筒 | 耳机 | 喇叭 | -| -------------------- | ------ | ------ | ------ | -| EC600N系列 | 支持 | 不支持 | 不支持 | -| EC800N系列 | 支持 | 不支持 | 不支持 | -| EC600MCN(LA、LE) | 支持 | 不支持 | 不支持 | -| EC800MCN(LA、LE、GA) | 支持 | 不支持 | 不支持 | -| EG810MCN_GA | 支持 | 不支持 | 不支持 | -| EG915N | 支持 | 不支持 | 不支持 | -| EG912N | 支持 | 不支持 | 不支持 | -| EG912U | 支持 | 不支持 | 不支持 | -| EC200U系列 | 不支持 | 不支持 | 支持 | -| EC600U系列 | 支持 | 支持 | 支持 | -| EG915U | 支持 | 支持 | 不支持 | +| 模块型号 | 听筒 | 耳机 | 喇叭 | +| --------------------- | ------ | ------ | ------ | +| EC200N/EC600N/EC800N | 支持 | 不支持 | 不支持 | +| EC600M-CN(LA、LE) | 支持 | 不支持 | 不支持 | +| EC800M-CN(LA、LE、GA) | 支持 | 不支持 | 不支持 | +| EG810M | 支持 | 不支持 | 不支持 | +| EG915N/EG912N | 支持 | 不支持 | 不支持 | +| EG912U | 支持 | 不支持 | 不支持 | +| EC200U | 不支持 | 不支持 | 支持 | +| EC600U | 支持 | 支持 | 支持 | +| EG915U | 支持 | 支持 | 不支持 | +| EC600S | 支持 | 不支持 | 不支持 | +| EC600K/EC800K | 支持 | 不支持 | 不支持 | +| EC800G-CN(GA、TT、LA) | 支持 | 支持 | 支持 | +| EC600G-CN(LA) | 支持 | 支持 | 支持 | ## 方法 diff --git a/docs/API_reference/zh/medialib/audio.Record.md b/docs/API_reference/zh/medialib/audio.Record.md index 67dcb6e5..70ded4c5 100644 --- a/docs/API_reference/zh/medialib/audio.Record.md +++ b/docs/API_reference/zh/medialib/audio.Record.md @@ -26,26 +26,26 @@ class audio.Record(device) | 模块型号 | 听筒 | 耳机 | 喇叭 | | --------------------- | ------ | ------ | ------ | -| EC600N系列 | 支持 | 不支持 | 不支持 | -| EC800N系列 | 支持 | 不支持 | 不支持 | +| EC200N/EC600N/EC800N | 支持 | 不支持 | 不支持 | | EC600M-CN(LA、LE) | 支持 | 不支持 | 不支持 | | EC800M-CN(LA、LE、GA) | 支持 | 不支持 | 不支持 | -| EG810MCN_GA | 支持 | 不支持 | 不支持 | -| EG915N | 支持 | 不支持 | 不支持 | -| EG912N | 支持 | 不支持 | 不支持 | +| EG810M | 支持 | 不支持 | 不支持 | +| EG915N/EG912N | 支持 | 不支持 | 不支持 | | EG912U | 支持 | 不支持 | 不支持 | -| EC200U系列 | 不支持 | 不支持 | 支持 | -| EC600U系列 | 支持 | 支持 | 支持 | +| EC200U | 不支持 | 不支持 | 支持 | +| EC600U | 支持 | 支持 | 支持 | | EG915U | 支持 | 支持 | 不支持 | - - +| EC600S | 支持 | 不支持 | 不支持 | +| EC600K/EC800K | 支持 | 不支持 | 不支持 | +| EC800G-CN(GA、TT、LA) | 支持 | 支持 | 支持 | +| EC600G-CN(LA) | 支持 | 支持 | 支持 | ## 方法 ### `Record.start` ```python -audio.start(file_name,seconds) +Record.start(file_name,seconds) ``` 该方法用于开始录音。 diff --git a/docs/API_reference/zh/medialib/audio.TTS.md b/docs/API_reference/zh/medialib/audio.TTS.md index 98ed2fb4..f16e5454 100644 --- a/docs/API_reference/zh/medialib/audio.TTS.md +++ b/docs/API_reference/zh/medialib/audio.TTS.md @@ -24,17 +24,19 @@ class audio.TTS(device) | 模块型号 | 听筒 | 耳机 | 喇叭 | | --------------------- | ------ | ------ | ------ | -| EC600N系列 | 支持 | 不支持 | 不支持 | -| EC800N系列 | 支持 | 不支持 | 不支持 | +| EC200N/EC600N/EC800N | 支持 | 不支持 | 不支持 | | EC600M-CN(LA、LE) | 支持 | 不支持 | 不支持 | | EC800M-CN(LA、LE、GA) | 支持 | 不支持 | 不支持 | -| EG810MCN_GA | 支持 | 不支持 | 不支持 | -| EG915N | 支持 | 不支持 | 不支持 | -| EG912N | 支持 | 不支持 | 不支持 | +| EG810M | 支持 | 不支持 | 不支持 | +| EG915N/EG912N | 支持 | 不支持 | 不支持 | | EG912U | 支持 | 不支持 | 不支持 | -| EC200U系列 | 不支持 | 不支持 | 支持 | -| EC600U-CN系列 | 支持 | 支持 | 支持 | +| EC200U | 不支持 | 不支持 | 支持 | +| EC600U | 支持 | 支持 | 支持 | | EG915U | 支持 | 支持 | 不支持 | +| EC600S | 支持 | 不支持 | 不支持 | +| EC600K/EC800K | 支持 | 不支持 | 不支持 | +| EC800G-CN(GA、TT、LA) | 支持 | 支持 | 支持 | +| EC600G-CN(LA) | 支持 | 支持 | 支持 | ## 方法 -- Gitee From cfc2fa82bbd4a59b150d44616a981e9632333e63 Mon Sep 17 00:00:00 2001 From: "carlos.meng" <7754760+meng_zhengwei@user.noreply.gitee.com> Date: Tue, 24 Dec 2024 18:23:52 +0800 Subject: [PATCH 2/6] =?UTF-8?q?docs=20(Audio):=20=E5=88=A0=E9=99=A4Record.?= =?UTF-8?q?getSize=E8=BF=94=E5=9B=9E=E6=96=87=E4=BB=B6=E5=A4=A7=E5=B0=8F?= =?UTF-8?q?=E4=B8=8E=E5=9B=9E=E8=B0=83=E4=B8=8D=E5=90=8C=E7=9A=84=E6=8F=8F?= =?UTF-8?q?=E8=BF=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 为保持统一,所有平台录音文件数据统一返回文件头,回调返回数据与Record.getSize返回一致 固件版本: N/A 是否需要文案翻译: 否 --- docs/API_reference/zh/medialib/audio.Record.md | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/docs/API_reference/zh/medialib/audio.Record.md b/docs/API_reference/zh/medialib/audio.Record.md index 70ded4c5..6d5c60c9 100644 --- a/docs/API_reference/zh/medialib/audio.Record.md +++ b/docs/API_reference/zh/medialib/audio.Record.md @@ -151,9 +151,7 @@ Record.getSize(file_name) **返回值描述:** -若获取成功,返回文件大小 (EC600N系列、EC800N系列、EC800M系列、EC600M系列、EG915N不返回文件头),单位字节。 - -> wav格式时,此值会比返回callback返回值大44 bytes(44 bytes为文件头);amr格式时,此值会比返回callback返回值大6 bytes(6 bytes为文件头)。 +若获取成功,返回文件大小 ,单位字节。 失败返回值如下: -- Gitee From 35ea024e4ab6ac3e053ef31b0243a247dafccff7 Mon Sep 17 00:00:00 2001 From: "carlos.meng" <7754760+meng_zhengwei@user.noreply.gitee.com> Date: Tue, 24 Dec 2024 18:30:40 +0800 Subject: [PATCH 3/6] =?UTF-8?q?docs=20(Audio):=20=E5=88=A0=E9=99=A4Record.?= =?UTF-8?q?getSize=E8=BF=94=E5=9B=9E=E6=96=87=E4=BB=B6=E5=A4=A7=E5=B0=8F?= =?UTF-8?q?=E4=B8=8E=E5=9B=9E=E8=B0=83=E4=B8=8D=E5=90=8C=E7=9A=84=E6=8F=8F?= =?UTF-8?q?=E8=BF=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 为保持统一,所有平台录音文件数据统一返回文件头,回调返回数据与Record.getSize返回一致 固件版本: N/A 是否需要文案翻译: 否 --- docs/API_reference/en/medialib/audio.Record.md | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/docs/API_reference/en/medialib/audio.Record.md b/docs/API_reference/en/medialib/audio.Record.md index 9c4d378f..756b7625 100644 --- a/docs/API_reference/en/medialib/audio.Record.md +++ b/docs/API_reference/en/medialib/audio.Record.md @@ -196,9 +196,7 @@ This method reads the size of the recording file. **Return Value:** -Returns the file size for successful execution. Unit: byte. (EC600N series, EC800N series, EC800M series, EC600M series, and EG915N modules do not return file headers). - -> For WAV format, this value is 44 bytes larger than the callback return value (44 bytes is the file header); for AMR format, this value is 6 bytes larger than the callback return value (6 bytes is the file header). +Returns the file size for successful execution. Unit: byte. The return values for failed execution are as follows: -- Gitee From 14d1adfb0f735b71d699d1902dd538658e15bf78 Mon Sep 17 00:00:00 2001 From: "carlos.meng" <7754760+meng_zhengwei@user.noreply.gitee.com> Date: Tue, 24 Dec 2024 18:35:03 +0800 Subject: [PATCH 4/6] =?UTF-8?q?docs=20(Audio):=20=E5=88=A0=E9=99=A4Record.?= =?UTF-8?q?getSize=E8=BF=94=E5=9B=9E=E6=96=87=E4=BB=B6=E5=A4=A7=E5=B0=8F?= =?UTF-8?q?=E4=B8=8E=E5=9B=9E=E8=B0=83=E4=B8=8D=E5=90=8C=E7=9A=84=E6=8F=8F?= =?UTF-8?q?=E8=BF=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 为保持统一,所有平台录音文件数据统一返回文件头,回调返回数据与Record.getSize返回一致 固件版本: N/A 是否需要文案翻译: 否 --- docs/API_reference/zh/medialib/audio.Record.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/API_reference/zh/medialib/audio.Record.md b/docs/API_reference/zh/medialib/audio.Record.md index 6d5c60c9..c0fb3c2f 100644 --- a/docs/API_reference/zh/medialib/audio.Record.md +++ b/docs/API_reference/zh/medialib/audio.Record.md @@ -151,7 +151,7 @@ Record.getSize(file_name) **返回值描述:** -若获取成功,返回文件大小 ,单位字节。 +若获取成功,返回文件大小 ,单位字节。 失败返回值如下: -- Gitee From d850cc116fdb0bc9e912f956135e26f41966eb3f Mon Sep 17 00:00:00 2001 From: "carlos.meng" <7754760+meng_zhengwei@user.noreply.gitee.com> Date: Wed, 25 Dec 2024 15:01:52 +0800 Subject: [PATCH 5/6] =?UTF-8?q?docs=20(Audio):=20=E5=88=A0=E9=99=A4?= =?UTF-8?q?=E5=BD=95=E9=9F=B3=E6=B5=81=E6=8E=A5=E5=8F=A3=E6=94=AF=E6=8C=81?= =?UTF-8?q?=E7=9A=84=E6=A8=A1=E7=BB=84=E7=9A=84=E6=8F=8F=E8=BF=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 目前所有支持Record的模组都已支持录音流功能 固件版本: N/A 是否需要文案翻译: 否 --- docs/API_reference/en/medialib/audio.Record.md | 4 ---- docs/API_reference/zh/medialib/audio.Record.md | 4 ---- 2 files changed, 8 deletions(-) diff --git a/docs/API_reference/en/medialib/audio.Record.md b/docs/API_reference/en/medialib/audio.Record.md index 756b7625..50ae7244 100644 --- a/docs/API_reference/en/medialib/audio.Record.md +++ b/docs/API_reference/en/medialib/audio.Record.md @@ -344,8 +344,6 @@ Record.stream_start(format, samplerate, time) This method starts recording audio streams. Note that when recording an audio stream, read the audio stream timely. Currently, a loop buffer is used. Failure to read the audio stream in time will result in data loss. -> Currently, only the EC200U/EC600U series modules support this function. - **Parameter:** - `format` - Integer type. Audio format. Currently supports AMR format. See constant. @@ -364,8 +362,6 @@ Record.stream_read(read_buf, len) This method reads the recording stream. -> Currently, only the EC600N/EC800N series modules support this feature. - **Parameter:** - `read_buf` - Bytearray type. Recording stream buffer. diff --git a/docs/API_reference/zh/medialib/audio.Record.md b/docs/API_reference/zh/medialib/audio.Record.md index c0fb3c2f..dec73c13 100644 --- a/docs/API_reference/zh/medialib/audio.Record.md +++ b/docs/API_reference/zh/medialib/audio.Record.md @@ -300,8 +300,6 @@ Record.stream_start(format, samplerate, time) 该方法用于开始录音音频流。注意:录制音频流的同时,应及时读取音频流。目前是采用循环buf,不及时读取,会导致数据丢失。 -> 目前仅EC200U/EC600U系列模组支持该功能。 - **参数描述:** - `format` - 音频格式,int型,目前支持 amr 格式,见常量。 @@ -320,8 +318,6 @@ Record.stream_read(read_buf, len) 该方法用于读取录音流。 -> 目前仅EC600N/EC800N系列模组支持该功能。 - **参数描述** - `read_buf` - 录音流buf,bytearray型 。 -- Gitee From 5fee83c29a71bae72a82763cbcf7b39d0c3876fb Mon Sep 17 00:00:00 2001 From: "carlos.meng" <7754760+meng_zhengwei@user.noreply.gitee.com> Date: Thu, 20 Feb 2025 14:37:05 +0800 Subject: [PATCH 6/6] =?UTF-8?q?=E4=BF=AE=E6=94=B9NV=E6=96=87=E4=BB=B6?= =?UTF-8?q?=E8=8E=B7=E5=8F=96=E5=92=8C=E4=BD=BF=E7=94=A8=E8=AF=B4=E6=98=8E?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../en/hardware/audio-driver.md | 52 ++---------------- .../media/hardware/audio-driver/NVFile1.png | Bin 0 -> 45687 bytes .../zh/hardware/audio-driver.md | 44 ++++----------- .../media/hardware/audio-driver/NVFile1.png | Bin 0 -> 45687 bytes 4 files changed, 17 insertions(+), 79 deletions(-) create mode 100644 docs/Application_guide/en/media/hardware/audio-driver/NVFile1.png create mode 100644 docs/Application_guide/zh/media/hardware/audio-driver/NVFile1.png diff --git a/docs/Application_guide/en/hardware/audio-driver.md b/docs/Application_guide/en/hardware/audio-driver.md index d3c384a7..8636f09c 100644 --- a/docs/Application_guide/en/hardware/audio-driver.md +++ b/docs/Application_guide/en/hardware/audio-driver.md @@ -124,54 +124,14 @@ For more interfaces and detailed usage of recording, please refer to [Record - A ## Overview The audio calibration tool can adjust the input gain (including analog gain and ADC gain), output gain (including analog gain, DAC gain, and algorithm gain), and sidetone gain of the built-in codec. The validation modes include real-time mode and non-real-time mode, which can be controlled via APIs. In the non-real-time mode, the adjusted parameters will take effect in the next playback/call. The tool can be adapted to various application scenarios and various input/output channels. After adjusting the audio parameters with the audio tool, they can be directly fixed in the NV file as the default audio parameters. -## Platform Support and Tool Applicability +## Obtain NV Files and Usage Methods -### ASR Platform +**Obtain NV Files:** -Currently, the ASR platform can calibrate audio parameters through the CAT-Audio tool in the CATStudio software. The main functionalities include: +Please contact Quectel technical support for assistance. -- **Audio Path Calibration**: It allows setting the gain at different volume levels. - - CAT-Audio's audio path includes the ability to modify *audio_gain.nvm* and send **AT*NVMFLUSH=1** commands. After modifying all the gains, to save the changes to flash, right-click on "**Profiles**" and select one of the three options: - - - "Save Gain to NVM": Saves the modifications to NVM, which takes effect immediately and the configuration is saved even after restarting. - - "Create Default NVMs": Restores the original NVM if the parameters are not saved to NVM. - - "Reload NVM files": Retrieves the original NVM from the CP. - -- **Call Recording and Playback**: Click the icon of "track view"to display the track view interface. - - - - In the VE topology, select the link where the recording is needed. - - - - Click the red circular button to start real-time recording, and the real-time waveform can be seen in the track view. - - - - - -- **Speech Enhancement Audio Calibration**: The speech enhancement topology provides control over all speech enhancement modules. It supports enabling or disabling each module and setting parameters within the modules. - - - -### Unisoc Platform - -The Unisoc platform uses the AudioCalibrator software for audio parameter calibration. The main codec parameters include: - -**Built-in Codec Input Gain (atctst_aud_codec_get_ingain)**: - -The input gain refers to the microphone gain in call mode, which cannot be adjusted in music playback mode. The analog gain and adc gain can be modified as shown in the following figure. The analog gain range varies for different channels, while the adc gain range remains the same. The value should not be too large, or else input distortion may occur. - - - -**Built-in Codec Output Gain (atctst_aud_codec_get_outgain)**: - -The output gain can be adjusted in both call mode and music playback mode. The output gain is related to the volume level and currently supports 0–11 levels, corresponding to outGains[0] to outGains[11] in the gain list. To readjust the volume gain, the corresponding dac, ana, and alg gains can be adjusted. Setting alg to the minimum achieves mute. It is not recommended to set the dac value higher than 63 because it may cause distortion. Users can set different gain combinations based on the application scenario. It is suggested to keep ana and alg value unchanged and adjust the dac gain. - - +**Usage Methods:** -**Sidetone Gain (atctst_aud_codec_get_sidetonegain)**: +Using the QPYCom tool, after connecting the module, open the repl port,place the NV file in the 'usr' directory and restart the module to take effect.Currently, only the EC600M series, EC800M series, EC600N series, and EG810M series support this method.For other models of modules, please contact Quectel technical support team. -The sidetone gain is used in call scenarios. The sidetone is disabled by default, but it can be adjusted here if needed. \ No newline at end of file + \ No newline at end of file diff --git a/docs/Application_guide/en/media/hardware/audio-driver/NVFile1.png b/docs/Application_guide/en/media/hardware/audio-driver/NVFile1.png new file mode 100644 index 0000000000000000000000000000000000000000..fab0bcc7c73ec00b0c06ee57ea493378dd6c22db GIT binary patch literal 45687 zcmcG$XIN9)_ce+K3l_?;qBIc@kSYoY2q;Q#f)uF{=`|Vz3?)&)f>NY}-jph#9BK?D zQB)vQ=|X_0Bp`%IKy(rKu-o^lH=4I@$l3iGQED)?twdHW?!3YSU#8AYU$Qn8R#}+f5m2bk74^J zW(ls;+ETM@Z8-WeQQ2fwh))vzI#bACpMQSoLSA8 zi6G3dem&E_7`0sYjDfR;-GOb76z1sCr$?5XCfu7hXQNil{K>E7DjPPMQP__`*pDK8 z0^kS5Y&t)9dWfSaqYnmc(-U!a=Jt=@{w z-f-`9!?Fd&f_t^S3N$I}$7%Dn?Q53cnyNYA@<|trYb_zD`C4pa`!E$U6OPA9Vxkv)QA*k1E=`J;xpF3oQ8rAXQtJt%u#EYp2?X7; z89lRE8j}(8vPPlyX0tpVnbAkCS-k)_1o-jOF%bU!=ApppxLv>B{p9)oc!*EHV|Jq^ zB0D#vMZRVCpSxYYblAs2L@kyb<8wRm{@*(XAKHvhOk^Tk5|>BX>9Znkl`np_+KS8A|)@ElxV#c+} z!77gM-#w&Ad)7x%`$qf^*Rwu`7MAZl?=%t}c1@VToTX!amRC+oCW!IK?(MXZyUD*_ z`r@zox{=~u&S1u&VZ@_w*-3o5Xdm;#GnQ+9!SShE^))SzY@suV+Xge3+H9e+Y;VIw z`W&GkJ*MfA{i5CtewQ9R0=mzP{of zvF@p}(CZd4q~cSfyJCX=QRMyg;GZ)e456oMb_*5jRXBuX^1rlwoH80y(>_y~6E<i=RaqIZ zGqu}j7PWUws4PS%?PQjhV1_5}T2Ex-!y?h=-7034+7FUJ68fj4rZ(^I*X$XgXa}pN zyCy3`@AtkEolHq}EqQvtT{s2pHd*_rr6KmfMEL{3CA!kk1$t|P5$VVaXhr=FtwoDkfIFlb{`|{8SG= zlv~_lTEJdxjB|CVz*wEm_3Cx!M!cewQ=hKr-ypg?ocZH~`@Ny$xKdVwWzvZ}h zG9$7bo9GayI`kfUe{LGPXgeJ9&89M=`N(G?w1Lt3~eRwpRpb+JBJ0v`h`=CUkqE7EoX!}$2WBhC+zIYNC!N;M5{z! z3-K=_=X_2UO&rus7wU9hsP%0**{C27k`M{%di=~w&UO`YAWCQ3oHvHF34Q&L@(3T^ zXaVIwRR0#d^v1s@8e#AARPM}y%c;y8i=cXNy_vp{Il&=X_dqLQQZg~^`14WM!lr>f ziud}7-&U|`Kh~ugSHF5CT3_M2F$6P;e;fZe{n4YI$iNI!mKEztS^er}xFPC% z4iFp%`d%3tw? zH3r9CNdCFgMqqpd&zw;D6Alxu#;Kw|>G%AojM5uc%VADX+JAphq$AYv=j8i5l81i3 zyRz^9=R?GU9#79^3vR@8TbxQgIMRQGaAlFJs~n#D1%hVk7_C^VcP>%>+G)$hbANXn z$~Ki)x)2lN9^;pKGQflH!o|gFW#B6r<0y6iqQU5jJ-F`m;m96*d;`7~ZCU+2#APNp z6P5vWzNgdhmHmrJHk(9c1YYAygA(G$hgvWhD4UUUQLWTv@Yb9(lv&?A6VDXfd00`? zsLwzVePZ|%RcHt(2w&ZjzjLdHR*QaoQtxG*tCKvqHz- zrNo=fX>Dvo@0#AbWNS3u9j(`_M{iA-Pw^hzaLlZ2K7#=_TO%0L8@uRYlK6maPFj5; zky6hDwY#k`UtqcJ@Hdq;It!GM$f?I&`+uA2!cxJJPJwftvHI}4^7;#6qRig-^k63( zROBdr^%G`n`Yb#AQ%Bk&Z|T+5XXy`(CJ9x+j@=td@AAXO@YvKoHiE<^SjX?a5zp}a zU;&BYb-yL#GLA%%b41R`6R!3QS z1+~7hM>U9h|5Gp~2q!#Qmj%qdaH1!8JQ=b^w}fT*#}|yQJ5IV=C;(pN=Z1UFa@qLO z>fTo6RSI&^Um-;HclU4R2zmtUUGPu6dZnkiirAJIYFs}WEh?v#Wz{YgQsgovt7Cm1 z+M<7VoUR#$KUQBeK0OfB!;#syUe_B>ungdv`|IH+RtKn%J$Z294t_Y&(H*3oU^-A7 zq+-O4i8Gyiie1g7i@+rs!x$5!wwO9h{D1cwY9-9j(&Mf_YP|ZokIWs@^LBaT^Uvh& z)*8W+3}Kt)=Z|vm=`bDX>nS9+S3i^;lebJ~n@y&g70h}|1%9}gZmJ9o`VppKlSLJ3 z*3^ibE7r?=<+pfVvy|DKvmGzCn%iO&lrFrj7l7yEI6l)6*Ow#k73smB#@$w4>RWHX z=ICv0%KFcdl&eYj%r-YA^uI&ipYy3L+SE~$PboAdX$HRI zBA)73d>&I4dsF-$U4L@u%G@qv>+Udov~Hx1vH1!o+!J)u;FttmV&_a@nzl$s`d2AM zHKSt4^()JsD!QL$nwN$IBIDgL`NcBU@YaS}ErYDoHoAoTivG?eU!t_dJ9s{)sr&(( z3BhryJBN9A#J-@yDbCkyjvD^gs|mF|UghNZ2dMw~w_?+Q(C9yM=)X_0IXX7`Bkw;q zdEb>H7mzUa&5hhr)5u;ockyX7$6Nmg>{s}_5PJHi^OotuU(aLm6k2a4jp3)4-n<=k_Z6N21Vg(LVx<$;4DJzh_j9UU0JXU+)NJm0K zLe?145r0Ztyg9Rp!AgaCxuX&^tXs`DKTwcNw7bm0#)NSbrlbos6Q0X>zfbSB-denM zmOawpEsYV@tAxsOY+tgUf6ps;@!)aA8w>u8r}kfj={JtM#w-Md_AO>+S#!HI`!>Om zNa$j(yN5X}gY1>lCq)Y&n;-%Bg3{9q3V{YSDKWI1Ana8i{ZeJTNn$u(D7hMyBNj1z zUgPwBB{X~n#-uE5>)24+v^+Zxg)Ww6{?5gs8NHz9jeam}BoEGE%&Wi|FP+ek(w600 zZ-G<;7X&mKL5M%Z0b>|GVY4A`p|ttz_#?78f-yg@HCt(sj$VjZaSfZbN{^Fqel`3e zH7pPx(uZTRb)%Y{nu8`Q_8f%<4&-Ug|N1DXx#NO)Wfs|Y1T|p;p#`2hsq7S)Xt@rgv%xj*ejEs$@-NR09n_s*ZKAO1$@-jkG1ruM zzleo@{lKCSIMocItiHc^%(_h&JJHUMkCw|ko?R#w`35>8pp%1TGO?O)nkKwB!y*kB zK2An1nGV%_9 zk*{4$leN}ZebA+|OiPWL?i~cfnRrUzi@std{6GNdZ&loHmwMw?x8r3CRO!>9$qX`x z8^BpF*Ppy==g!N5wM^`Rw)I?At5t9c|K9PWZX?_U$36=Mf$ecEO~K*yzvp>{gTpn+ zz8A+7`U<%$U*^P=&dR%whxqxkWecP06$mE1dSZ9q@6w1~1C0VFEa0y`=AMw%#K!%# z8oi)H$+gzRww*-Wetm@Z)a0|k8gwV-YC1clOj`8P_RnG+YO5A!Yp%c7eY3tNH)64l zRcbSPD*&Gf%oCQk>wH)*o2Jig;J=efi*Uhl%z31koYc&=PkVh{o>0+P$O}! z)GJ!nxVGOh=YkX9vPQPacumx@CrmRcu_f9Mn1*u%u&e2NI+MWFbHufUpsn_u7t~#U z#TYHu^Nu|Z=QgEweR7$l9%nia$1hY^WyIC7*=%)`Qw`ZJtFYYbF1+)kZ&n1BIWxb? zSy>(J%1F0Jd&OEGu?91SqMS;f$W|)`=T@KFe|x2MRgamK-gUcPx*~!eg|;@iRNOC1 z8pJ0e+6sLU(Iv)7uhQstQ}?SI|Cdt|MA>J+=R(@nj9jQThZyFGqMeGyckhpg?16ep zeR#;dqbvhHC*ueG^zSHfR1NOS|LeW%PC*t{kzm%kFYBtRRs1*ga$E{XMPD;t8u}1 z;Np(cDIiW0Ar`b_aLV5n)GWq81jZBGkVij#@_>dd^qTN~8=^_7*D5VTF<18aq8%Tt z`ca)&hnH9?w;CMN%VJ`=tx9N>v-+n_U$v0c%aJyIZ^ART?<>>{m@cfJb`3JSDi5WT z1P`x3tvV7>?UZ13l)ZaIhN6?LlS9&WTC!}94P>RoDt-AQbRpk&mdl~z-&;gk_{-3G z)FAf@;W|_H&Uc4AXRc#Kx&YKR+yg0nLJq>zXI64}3kXU`UAo6Qc6nEfS; zN)X+Xsrh^jrGCngZ)eeMs?Ry#L7Y1VGZm%*;r?qfwz~)`GOOAR>lQKQex61|ixQLJ zEYBc)(sOYw>t`CTGB%c*@gc!jw|bbCh5r51X%5`&TJBVe&^*xLz~%lH2zCEX7?379$xcSF@WFLn;MfzhXC~OsI}t`)^Cf4R04ZKqS(VKjXScdaUn)_%D>l z2bFK2j@d#Dgc+AoMEl=t=#_YhZRq8U<_MLswt6eiJX56(iE9={2VK|EkIj=Za%r}g z89WcU|2lkk0t+S`6f^YFJ$-w6yHq6x_cV2?r4>!A!vgNcO9^^kf&Pe>ouXk_KaKTm z!N@*Y56qz}qzWzQZ2A|_xFmVFd1xuM_#81>Me@6Oy_XYIAc&3&Zu)jzVX-)G%gzio zK0joJ_d%L*E|Cn5?!P5nlKzin#|fwe0=UB1wny#o@Yb$`^f*;c+l&K_iFSbT%$)-Z zrMcG3lv1wgENzo(9Z}YR%@ZjBa&b;A_uroC=(ageoxeGI9l`Ef%ni4DneM9c`eobqR5P8wI{RB!G0aN* z&$4ZxUjeIvhqYlVp@lc2R6e|5sk4sNK6s+-w$}?XE3CEeVP6Emfg`_ zfP9$xcS&PvSa(ak)i^#!$cTUe!T3Vi?3ewut8T($f0Z83$(3+&Y7leuJRg@boDpn~ zGkwq$I@z}MSw&-qE=6xn1yabJ`(^WPTRSLVFTnMn)1Zi%u%(vPCStcKv}P0h@-o=G zBDF0BhNE@pvq$tlyZd@^9zA;GD!UodEX}vYp<}`N+w%C}5-%sM?~vByZ$podR1?v+ z+*eD9zQN)^Y-p~OzI0F0tbhi?rM#l9$tcC8BtH!7y>HH-gR2{PI_(Qi8@bfv@0fW9 z>B&`QjSUNRBJyrH2-IdgDs8)(7TVpY^Uef7a|2@grNH7O&%gbRQQiBKNG0jE)CP@Y zMW#NNrXTJ$rP1=1h&jW1cE434^JRJ-uaUrHW}0;1NU3ym3ie@-$S;R!)Y6_)RDNT~ zW4CIqEd7aH3S?1Y> zb-s3!&rG62`;}{$0B7cLX*9Ndg&(Zex*D3LMb6RBLat_chdj6)kN*ClRKrUPI#t^@ zz%Hy{uyHM3`BTj$MpAM9n{(#v$2&%KWD^vECmj%?$0TFI@Tr9)K4HpbW9n80EyYBb zyjqyI)s!Y16WmM`Nk$mVB1gtAd@@gX2~W zn&s(|jCWaF;WhIz9IYXG`Bp}XH%Sf?E2wvC#t3P4(5i8%S;%Np3JkCo6;xhfhT~rt z<|-CjA5CpHLm|T989hhdzw0@0r;&kon$nXt-?WEWeViM~h?}01}`*-O2cz?jUQBON9<2*DDWce3<;&JOJi54y3jr~^eKB6j+>al#C6roL zYC|o#<=7hyZB;jOK>_y-gk!|9kxFs?>-ZGbaPwH@HZ>C~iqF`6fcm#|u>0FC@uNF%Z7MgeM=LuKbov~?D|ci8(4m_M%N{R+leCVsyYl%B|u+*z+d zUm3!vG*kLRrjCKB-npe`KdB9Q7hUxN6lvZ2pUGTFqus)3&u(>UR^t8a{XfJz4C_EC zuTl$}ppC#<_9B(teWas1N?^YP@gDgvVJE8&b9pV}gf{Dxu9wZxsPyncf&I5#OM&s* zMyVohHuW6n9C`f93rMek9H>G2c*i^1=WdZhTF~0)>%~W6gQ2m-?Y~Ubx9>?CWG$z{ zTBPm_4={gZvchi7BfPcm75aI*g-?1147#C(j4%*a*rqwg9@j4`VHz;@4e4G~$IcC~ zE@E|}+CH+V*2(tsXj0vn&#&Rd`G4XUCZb1w_95ZE?ptr*FO*cs>kDhho05H8*6rH! zVjYcd8iSiEQza8bwIm1WQ*E}?>MK;yWfiI9SoZ@SCB%DCIGN0^3r^hTZd%T6QI3Qd z(HE@@y`GRK&6&V*n%KnvItfR_sjl2RZTtgg`bgHgAjtZ#a_uo{B)fezX0YHnYG=uy{cc3*F6y?VjDBxeNK0RCc)dG-&*UbP zBPA^yc;@C)=)4f@;^u@Am$Q71{IjrX_^(63m~aOO)A_eSZ4w<^^pi>u2R(_ZD^{$} zwPTVA(XaxcG8iuS75LjL@MTlxR!X`B^T!FSAK^iBYb{0Yl64)6Fav2s|=OC>7mmK50U8HPEoCv3wEil+)0q? zf^nf0d2thhlB{hYhxAP5{K^E@&d#wEWAT$w0~yH@{;@aER%K|0SN2?zPK^&HJVT=6 zT`Kz(xHK(hjqU=|1Asf_B6n>*;35D-_DY|y*dk?^x~l+)YpR76+*I$?x?zw7;7qyW z?@dliNm!Zh%l0?RSb`sQNt zDo7Z4&01^X@`4r#{5qwpM|_{S*zt}BuPuQzsDsR+4Wf)qw(x0pZS;PmMhBUHIkT&p zCC*~#1C+qmVre!ssx;}+kLO=Q!%g_4KokmApsBS{s8eOXEAjc*K8ffr;#c4F&%F>b zQke{C2WF2=-yT(}jVqL!l4oo-Ug}1$1Z?93SOp>b&zFp1fJv!vSJF%R)Rp4wK5PxW zCckj})yI`I@Kl-%kmI(8>j}%F!Kfc}X<2&k*lLA)Q3~r)>M}P17I}NwRTXk)7Cy7W zKX0f4i)T<#;V22~RI+ygDDQ#8;@Vo?SM4eGJ!!^qsr?qNZlMc7v;sj`V|@%`zAXL( z`>9Zwl|Mef9yd3^%{VK+*bsd%HSgN>0e?w}s{nYGewadw-=dj4lzQY{tGln8{CYQ% zYU#(J>}Om`&672HJZZ)9FsO9r12T#wTzo{6KWy!ubi0>6HCog(>1oRFU&2t!2gDTP zWeIsAA%t`72^?;v5Ulk!gx`ZGcPtp>svatR$oTzEh-%e7+|iAa#>GQPbMkpvDA)#s zPpZ8QfU3b2sSDAnHD0s7Ss*7aeTX6ht{SmwJZXEF!6OC_ z9`e|_WUF9a5IBMvvozSp@GH2y&}00ngo}d`i=iWBmgJ>JKJ~|yoV~1_@h^_hdbEji zBKdrGsBx-P#2l61Z0aKR()n8VdI?}MM9RooWYFb8#Ac$?v%(9lGMe*tm@=EA_KgAL zu9Rs>R!D|xwOmkocu!_mdNj-A9CWuuJ<+R^YU2h3ma018j_$uzsL_DbA4u~n z4Q@Cl!yF3YlQK?1lS-x6N9M^-hgSx1!x?EyW55*nZ0cfFIqPV5a}#%R1WxLCw|Z$a&Y&kCcn6AI{l!uB}IS^HPs|xmx3Sie4b|Ms1}0^OS|R zj@a$7C5m4Oz;a}sWSHFnY^7+B6|jRl)kQkGnX=I2Grhe`d9F)ZOLZeNw7!v45~&`S z5;;S5_oWk5&{nwG^NDuc|3Uu;$ZyJ?DnQa- ziUz2F%}Ad9)X=FRwfZE09&?#7(#&9C&RS#@&H64OqD3sEzyl4HAw}mK$63q&q$T9N zn%Hnn5=|*~a^;cYu0Xd;H|5e6*mJagUo6#OkG>2MvY z`WV$QlK#~i*(RB=TN|JNfo%Q_qD`Zh+@8*=>Muq#_d6gCdJxx6KYF2I?ZA*ss4~wj zcj>`Olp~t+>{OnqChoA;Hg*B-)u>{|!>|BY)HGjAz5FJivs_eg zWQWgfI(pn5Ve!SbKEZ5hl*<#!SGjoethq@-9 zb)5ot#+|m%t0}Lp%?1{56ZSmD&?hrFrg<35=vf5K=+>&a{gsJoLq?9q=M~XeWbR>? zu32L%Rf(;wh2<6&Ic+Re$j7f5y|Fen@B6I44}+ph&VQoS)Dyn0GbaO=FJhNjHhdS@ zA7tiJUBp$nt6j{=+UanVand&WhoIn*j>bA73pC*tk* zJ0kSG$+tHYq${B(d9ev8eI0?9`tUOEHWMHe{uu;Q6OEm_rDdfvq|}LZDxmL5@I$XA zM4+5DU}TL3H?|O;8`5u??6^P_T@hStU%E%u8OJsUjB$=4-S#_+!r53JE;7M&1(Ap? z0P9vSL(i>BYJXU-4an@F}=3!YH*5o@)>5@E|2^U(b+A#Pq#qy3lFA0=f*+ ztB}~8K?F&YR2d%y_1oqzjH_W;>b8HK;+hvl$$#T>bn5V%#B>p$7Cw6<+6VnwH zcsZU)T4hpL5yruiypi|qrkUccQnwo^yRt|y3|JVSU&wAQ)v>o3}mOin|)+bZ{Gc|X6PV!Y*`_M=)*@v#oSg;yy&^9Q*b z+`bLEO5?6Wl6^lN9fW9OwJ>|PvJ+;HS2-L`4qkd9?99gX@!l( zNinQB2~7#+*RDQe{q3O^**e7k9NGN9eSNM7sAoPZ5#9BL0v4F>%k~5yBOfzUXTK*A zq;=FiX?kcr6EDR}8iaFb8lta`^z?}A(ON3M2`(Uc+ECBv-urPqbl6n(^U|jy)^-Y7 zgsrtX%6Ck)=r>;ktJLbT@cuKzyLX|*?yLR9fF40?J5Zk>YAHp2b=x`@D-zg~E>9}@ z!CuuA)Mwo#MV>6`27N4i@FTv*<_-q}5h3xv-F+V5)UAS?FC07N=L+ZEq0#27FZjB% zTfc5#bDKKzm~gn7Y(6{@4W!7PBLOCc;%l?Kt(nNDTF+!;}@$duOkgcT5t|Uc# zF#SaJ>{?R9==4O|MoMz@_3B7q5pco#wEod0102ie$sfD5d>eU6 zkBzO+CQA_9?J7jG1%Q!k;xzBcgp7fxMJsUrP!ZSrLX*K z9^M>L3C_=m@P>@w}u;?VTjC>LNI zIBFOc2z)=|8mDT;fPV*SVc(VN>ffNqS93>yrf)KFfJJAVcFsFiS7u!pqDMy$+Ajf0 zio-&2#gLqVaH%uTUBofT1lvP<MEsWKVGN0vLuM{d&rNhMOE&m)eylr{t*)an*zx3G|6H=ZI1&)MyXN1H zrk1LcU1;6KKK(C_ZL^M!Jv|d=^Wp>0)kDhKE|*usjnzZ3vT=(8fL$wwRFod9nY)yI zX}X(ok})*vGp5f)I?d2KrnY~TE6|jk>OU>l_bRLF>VA(q@`IcZK7-$%BH0`du;NBSMrD>g@CUk)4}Y@M;`pI+VX(b51|K44wpq>wc52yb;Y+nVp+ zmj*ZHLumoDrq&Fl3rGUy<*9VL9st@^oTx6}C;s4ebh`}@p=%u2GcWtQ!>|sSr4HxjZtxpdZ1|a^)AvIpY$oif?>*;{~cFbo3Nx1zKyAJXpF3bD$&owMZOZ8^vs>3lOhgL(2 zPQnPr{gs(*of*5uK0cEO9G_mxgvh12!gB+NTWbNA4kI<5s@i@8&;OLJY&Ya9J{r3V zm{@A>vNVEoB4f&5F3hY{_^i;wu4TQJZ1_2#(_jDLDvbz-%~VAa_VrbwFb%GyfCTqj z*k01E__pJemA6SxRFm}_IF|-rat--UI_R&Ge6~VCb-P~19sUT8ex_Y0dhCpGX+oZk zJ;6#OV5_+B(1SxO|fzO0o*t11`!e7neT$@#*)!T5RSuv3QWj>THh>4ZoOKr|gyHQ%{|Zef0U@U`Sfrxh^$tN|)S$|PdeN#J&PB+_Z4Q*-i*p@L5J#bo|F#OGO00fp4V zyl^qJiF|Q&+v=$*Dpx9EbFnTwJqM~Q?7@?hRnX;o zF}X@r_T1*1L9Kxf)wTS}6t2DHhFq04n$ol7;XE4B;P$nV@qrDivVT&4!dr21A} zhxl75!fc6U`3sjiq0aW#Rv5{M%#kwY$n;@HsR&E(O!uEHf&A>D40ENam?4)Zzv3%A{i-WZOZqxsG#XU|iRl)BbDl!O!6uY?*Bu{`c4pzO>R z&9d*WYDF;ZnQbl@!Jg3RPoF%`M>$hGQO+9$*V;)CYY~^RKDHhph0)po>4qqmS;f33i|~6m)VTT&=yRiKgr>mlsisNDi;1&s*r0&n z_>i016_%?TmHR#FXK(mg(#z3>B+y%8G>(ym$SZT(>~&i$^QXO|E?6SB!M3TfbT4lU z$JwvedFOcNi6W8N4yUeLEA>n0yy>V-FS=^hoYvx6&=V!%>}F#P;pccujBHAkYQp%A z9P|oM(0bMI`qmXbPv)oz-_6RUX4s0GdsjG$)T1Zc#a6c^WM@EvS6E|NCK3^=uv<|d!*_!Gp~&!!kymr za_U#==LT2jdn;SOwo7|Nvq#u>i?)q0KBvErr!*;NXB;-TsL7*ZKZ}1Qnm2mL!ONZT zG7SBLnVzSi9*%BdH->d@Y*Ugc#qb!#2lBO=!KaU{dbD44ghVnR7?QWM^Fv#3Yfb&Q zWagZ10s%a&@dj!}j*r=`v;q5~vjJ!rW3FLi_VXDoA#bzKPT($PcVS@{_nlaQDl(!o z^19qsVc`=8DfO&nWu2+}jLCZwt>o#!l}Hf82|gQ%*l5e$h<4Daj)sq~lH;j`*GLQ3 zyPcgP#xJh6gdnX5t0MqZpO?~Fs{u;O5sFg10c1P#q{ovClh9U;eh0NU`DYqq$p=64 z=HQd3wY;69(d#!#-TBg*VotofPD>weXwU~QhPQ-`19bU|rGkJ6fYqzqx@v$79NVYw zG2Rz_YbG37IVm)+Ltt2ycHySb>#jMQZDT=vG-8@{=U>A6U5FzB5WBul@kjdMtS-1+ z83h0in|?=vb!To+Su2|xfgom1wwm{g>I;LHN0tHF>URq7y$#g;ZB0O1iwq+X8i_(> zc1}RB!4;NH4^nG?EtqDwbRy=;v^cC4Nc$qRawRvt@8KIezy-&sB zKS1y2AG*9GI7PMt9C)%rI#!6=oVkzH6e|oD*947g5AVH&BfWX?M76X&W@2A}T6d)Y z(G0Pn11JaDa0ni^So%UtX09I`^;21vnd0C?z7bhHP57bP-8wTXAABW8LkIyx`6t}V zXNi!h=$g3J0d`*7GVD0CoJm7NM%aaEz;rG5wI8R2+~PZ;61CeUY2gONL=&}A<P%!+8;&&U$K3h(O56LtfchYO$u^=b42QRKEu-Gb3*jBj|zHMl7Gb_s)}zO zmb6%&GYM;!sCE?enI=X5SxPAa9!4;jiK2;L82>8k?}qsgCzqOC?E9ap)?oeBFI}oo zo(SR#1!^1|o7WJv(VxW==d3|Z0SK+FZ?Our?ylhJixDfrZ$H00(Up+~8JQo*ce!9` zR>Pf>;QFlqE)n%!vjD(*Kfuhy zvOe$inz|g4TjQ%%*ro|=Gvjyx6uVu6g#wZynE=-c6vs|q1VM5%;06Ef^Dy2+!4KUy zlbE;kOviD1J;wyiZw@_s`Q9>bh^Lc1uG&Gt*A(xYx@LsgHQ%hx!3!flebWyV18TqC zoTE23hJcIgFLc*4Q=8kjV0cc~-r#urF(kEdi9)061ZrW`#$Rtvfohu*+whcX>b?>u zUYoZ=qOQ_~4UN5kxcjTzS1C6yBccVU=Bb~L$V{7FuiA--2QDu?lWZE?vlLo!*=qQ4 zMwS0;*o5-A(H;Uxa4}N1pnOQqmHvJOCg|xt^ho)oB(>< z=kMF~I4&bobpM6oMB|S1z2A_a^~$drV+^&P4b5uEGu4H>+JQ`mLiVz+0^UTY$MCW6 ziOVKHiDS$rP)~!!K=Pa6AvvO?IS_ZJFb*gy>AC-w-nO8tacSuB3uB3xQP^&i`L)cH z4YT*(=hGGhI(zw>N8BE7=Z8JwX*<`{hzbzK&dB;^z$T|4Y5mff!BNC z>k}k8Op2&LIgz|ZVVwTqvkZJn3y>G|`RdWKzqZxa%I4iQ2*OJ9K}JZ|2OQm@rMe4= ztyW1nIjSCyb=MlO90z;FxD*JundZJ(8wzfo5xEC%QHY3vh+~&5)6Cq%X@R`~6W;c0 zO?i1<*4Op)T|q&o3x$6g#gg7~a+#laTEg!ZI&5s#xs%%X0hv(U50_I$zwY*IrYrij zN$FBeZHoovv;wjmN0DJ>9t-GhY$IDD6T&J`lZ7C>(JW=t9lgtc{EA%w5OHw}RgJx8 zv~&ZV7*0Kf8F?$P&4qiZH0g!RUR#bgJ+%G5+`85kycFu!Kldr>ke4OWbz){Lo*CoJ zH&T}@H6~h`T6I~{0s=iza(!ZgKaw>(e!_l+68Pw4xEuQqiVuIL8Ym8JR3ao01GbRd zk>=2j1lEtc7g+Hsqd_-wHIc6Hk#k_a3#>}9zF)KZvQk`@3b7=hbg#0CpxwkVs6+1N8`cdQE0u@STE^7&C6QPgHFs*guUG zdU2%UWWAR9K1-Ft>rUh;9@o?r_k87BoFp*`_(q)qO zwBFfRzLPwqmaXF!P3wl-})}Yf0v={DfZk5@SQ=rlB7Cw?j zJG&4;nqR9Ona}JE`Mr*c9PgO+389Ja)3}eLiRQEo`sy0p8Hp^Piosgz9xn5goex{M zXS!Qrq!Da<5prjXB ziYBa<#uyL&dM zLux4NYDGY>qK@S%H!g0}n7eN(1m@V;LUQ1fZnCKpfe5DM3$b)_zr*&_TBObG*RboK z94J>N1g6;=Tj0$!{L3CCkbv0q#^U$uH^!!)+RE&e;DjegpqR1oC!iB+d)ZfdU&{i1HS99OTn(32cW-s*6}Ih=03O+`PI37 z=f^g-P^E2&TNnlGv&Un8g375&mM5G>M#|8=oQw1ZxLc}*61imuL5ZB|_#}RT!$u8+ z`b~w}&iH#)0Q3v6`!b*PB0zrs1pum^8><<4;}7GTQ;wp2E<;$qacNDmoeXWYD=&R^ z#z`{4ZhUj&eJP~=TfWwL6~m1?VQ1n_qN%5tVZ+WvUo5I4dk1`oD^!~UJCw5RRGSlN zJJ*52=OMlO9y#;IwcIX5^ln_g!uL4W6TmjW8{cY1Ft5Awql`KZF!%-lO5Qaa4yZfT zjOU5bC8m0tQnJT0dI9V-57fJ2L0SHx2{kWrq69HB|3Z?zI_5dgWTIRHo2iHLAv$@&o zj;_@Ms}sPUau+9T^pRAJWCbmos$9p8!)WD;acE#O$hip|>KIN9##o3?Db``J(~j`T zP82EvIE3blh|_>vOmwjdY0W)rJlhk-u`%GJjO-N4?!TKlqKw)4(W5QHlSVGlT+yZ= zyJdJFBQnBN0FPK(L16G0oPYHW4JUl)#?jB;-ZXrsg+$n0*hyWC0{praTSyrYA=+ky zqh5}e^?Q*$syl>+$oq7lI%+h`=IVbj8AQG~5wHdl6&0vx=U2&LBYnIWkeI0ID#Mrk zzi95__-1X85yM#3Pe%6kSO!u{whtG1s~Evu6Xi->amIB$nQoiw%G94dcB;byC;)`G zwWosls0-GuY@j@}6`SN`>IY%1b>)_tXLe@fp7%8J7C&Jm7Wwn_X1!?qnOaj03+Qif z4xE^B&|}*1VIa+%0+@cH(`H~-V2z5q{k_|r7BoSl`Dw`yqB z7Kl|htz2(#_0@k2)ME?1Zv@C*xyqTPp6{W+z*fJRuH z!+sIKa5%kR+v{#Y6(C}v-V(yo4gqj9CRQ7$W4`#D*_{~2v+`32DzH;^SacWI=mBiU z7}>p|_iKm$cF#Q4(XA-a1)M98tCqaJ#`y_GJ~rj96&@;+H6x< zxRnwEloF&CdwOZ1`#D{ajYY)>$poEY!wzw7v0)9-(>~FRu5ZItP0om#uB>ZiT7EIZ4R| z%#auQ_ngPKk0r2{G)cvQjlqqtbND?@Rp$uJZ;OmEhRu>5-ov_ZFDpULIH9eqGNPzB zSx2iJ1=-{nnWLfY;wNJ&Y? z_qDby|YNJ>VcbP6cQ_atX7M4Ae;f)HunT4K^q zf8JvSLl^s$cxl0%{QxsW8I6hVhZ>=>4?m!(Z#pXH zBojtE41G2tV8B?U=zlhNT9pbl=B!3WT}*5l&~O0$gn%ui@!7%C^=6m@+Kjr2--U0` z=?PW%W|XF)jtREi290>e3IPyJ7foZgk*pW7Hqs6#Bn- z<6riFOm|048vP-o@!To@(qgs4$6DAmt%pP7BaZ;aM|<6-0?-m{sck<6Sxu?6WdOmq zv+;!AmBrAbrX+toLN*hU%w!80nPFZ`#`K+aqV}6B95FtRGle!WWPYK4bsSWn0dXRC z9Ds%RwFx+|pRAIGV?<5=tz9#1bLBNK`gdRA?0>*cCE$1kFW<<{6e>GtE`Ax%Or~hO zV+F(8)`?dB*uu*|(MJBC!Bc#^Bi#%$<45eC>;I+D{PGDuta@s(-G?}=pu_oF8kGbX{z`dHv=6hLP`o25L>Nq3g4KcdL3$`EZ1!IJl^(wda z_2p`+Xe38}ZV0ko8qiry*x8Pz7okIvG94BS)_d#Sn~{yIY3V6=bxZHf1|XGwC6hJ` zn^jP{=!EFj6udq|OUuo@u!Ig2?p9@A^iO41*iyYZs3|p7c)4}}6plFW=vX`YlDgY} zyDUdCp&Fsk-|e)J4d}?%6z~4CF(8}ZE=N!t!8y10cFi$2Hr@KVM_&fX{RrqU zT)C0ie^aW#r)yjt(qG&6iw+kh_`D5LNhjr21M(9AcF5T3y~5zo)aCz&wfBySYU#d3 z8&L!WK~Movg5=mu7D);!86*gja}%3Zf=EVbd504b37{C$YrWCa6hF7Hw7DcInIKAU`bBkt zef$hNQIuqI$m^546M;;+bNrsaRj-m4zd2)A$IJbd@Q z10B-j~J5!g`erGnz!5$BE&f)}T#H zZHNHvGVfC&noH;G-!7tG2i{eG$jez0Q!rh-Qa0SP_ul!>_aLlsX;#ViuTTViwoX{P z5NrQovb6pOQwLwKAQ`_T&)tZGtq`L}ZhKO~Y2Gqdvab`&@vqt*=x+T-^{=u@Hy6g* z_}cdFxf`kMqTWrK@V0}(J&HRz?u1z6uixt(6~%LG840vS<69gMh8KDp{#@|m8f0Z9 z8?5tLG@%*xa>zgaqv~+irg#x)^6mw9NOZ2l^tSB6aO!(8-S+1&Kz6yToj!W^uPP?^ zd<`aBR;0qZR0ML{pCju$%5InCNz=2>?Qmic-B$5p*80!?Sz>@D%mqQ_g1o{p8sEA9 z{QFmaxj4;w|LU?otCWN~==(wg6fErzA`irG%cyBt`iiEGoFd_{)>rsC8!b?NseRgY zq(Do&KJ@!E8tg+pQ^A|aw|C-eWeWCBw^6aEYW!Yv71edXzJL+OlbvNzeQa#~cxkxJ zC|%v5D1WGJb4BReNP!w}@B7W^!$)v*tugi^F2;`k7qR4c^6w{Osq03N4J(n?BiY1k zbu;uxmP@-ISMk&uZ8=+tZUeoE!^hc`5~v8Dob8N3TonIr<=<@Ln9Fs$0mC_uc`2T_ zSMj)cmRco<$AwThDM+9S0dwoKiV!NIwfCuy-=44v0t5^7`)r`Jaw5>EH;+YC!ar;K zmS>EOY?L&j&8INpw`ub@0Y#7HPZbd$fk^#*S!ngp)?kBp9FUpL>hQc(wkKtkt#bML zhm=BB$=y}p>q!jW+_;vZB2Tw)tD$HiX4%eRH7Mk_RnmFHt3awOzAqOs+3OF8`FN?~`=94=CT9S&f$_y98P53Fz zm)n2tWm0~$Te-+scN-tgoXXMkBX*8 z)HOCOU4L;QX2ru?+YQ&t6R6OPS2M~dGuPVJ+S!hlPZ;`M1dRXh?U8qdNr8uwPy6(T z!gZ3|MUVhk*ISa0qn6CO@vuO@OzoK*o!^H75_;dY(f0K5H*cVo-o4k?Uh~kK%jZ*Z zB=nQejYSCgrf7a1n0WQvvQE*L ztT7n#zyBt-%;+$iscthA$Rd$%S`zO&@7~)u&jKY6ACLDYZ@$V6gc8ur^mRSMu|=bs zVXQGoLxinn9yVOAE^7$U|Tqyb0@PmDyUd^82H!%NRHgKp^iWL(WQC2hpR=y zP9`auJPgbg3+Y>&>Q;%lo-B7}EEP4su4Z;3`ZDgv29;f{dM%0KzVFCTTHfgE-L4jP z>h8=x-hdmh4EhHs&0iTy_ea%7+}wIKF7dZp3!?hvx>i?TUb(34g}S$#X5jW;ee3zo~`rir0t4d=nP|1d*d8U9x@EfND0uA%Ee4UCG|ieWlTD4r=g>lp0_Af~uA5cezw| z4Qq{K?j&OV{l_WDO?H(22eVtlyenUAM9MY5us1)JP~G*yBi!r?=0Fk?Aq_}-81H3; zD>xzu*EKmhg7Db0^L0J3Wu^f8hvFfS3+GwL2~+q?YHqJG3}wQdZ}f#gUj0G!f{Fy< zZ-#=ErmvvG@PAkWb%{H-NxOwvu;KK}Yr@3cX+fiA`~C|{OnfW!kQCcrzi$d%YpnLz z=vgYZ=i5n($S!As_*>X=q3ADP76MgD(`C%iW{I-b&*m!p-o{)aA#Z%J*X}0c5^s#(;?pxu%=?0dx@AmhAK+X^Pfg9>+AhRp+TgQ z$)GJ>xbXlWo-!Q!QHwP~CeNUPsZFOC_Y-iZ(h}fnr0ehQSkb>l*44L%!k}b6Y()) zE=#iKqBiwAVAXUo{^^m8i+#)xxx{y$k4mXZ&Dkf*raR3?Aja6;6?M-?m#^w_JCa{(aYEt%!Rywt@tKSs0>r;XQE&Qe)y%fMwxBF4ba6k@Pbit zr6h{NQZDS*_wKL`livPtEBe3??Bu$eWDiVs>u874QdcYHk_KEW`1)I2tk10^2ItGd4H`6O+P*qcLXy_Ea|)FCl9wYxip)vR@*(s z51khtlM<^|)F0ysq$@Q0B0xjwYB6!w(Nn2yg{Pn!W50jX?rLENCn7oZ-q$vV@|fkU z;m0*T(5yjmAc$1TimI52HFTtV1cU@mCwrxX7>Z_1*xL>_;k0vF<_D3NQyc-6c>_>g zIuW)!%rL%t*M*RtA~b)wgs)|H;yaY((8&kWoZCLh2ZlYY=4`fm!x+5b##>6CrV&D! zYKQsP%t7l9ggMNJCHUa^ET~PUd$c*2Smsx+E8`ke#x67wHZXcY-|uQ9a6?MNwcZ>? zCOy+ojde8lQApr{cek2&Jkn>$a29j8gmGK}MdWyeY1`rUGv@0d8|)%KPCV)Pe$~mW;M}25t z`Vd20jU?sbWI+@Dc9Le-6Kx)CRYMAc|8GKxBM3&(>`BCN~=+4$&CXBPrskm zD}lTclXp(g?mb8tv0)32@|!6#N|utlo8w713|@c*s%E*q-o)D0t7nQxdNN4{)+f|A zg79O0J(>!G^6sTG#=sZ8Lzt?62nOy} z4&tDM6qc;&Bzrm<iaK_Hx4aXl&cuptPc0QqT=vPoRU5baWx>U z!{N`cZAwYdptV#f78VU$q9SSc%VU@LkVzr(me2aTdgnb*ToON4i132$4Md{^fo2Ja z^C~*=;fzh4vY;zVA#A#dc5e@`^$VnjW@8aQ-zI{ zEa<0214#kpGM}}YodkJG=^o$PN-~#A@!P|hzS`QXIF{k?g152ATai0YoTr0$$rz^R zb@%!)CbLm{))Ff|W@-5F;nFYXBnP%sD#EOrF-68lMTrWtNNaHZ-~iQ}6~ns_c)*J; zUd{3C9j1ib6r4V1Zq&?@yx!0Xy8MCi5#dNz8um@X+^Zn)pYfiJetT%YLO-SM*-nCQ z*=5SfLUD;feiEN#*{E8Iwl4j^d`4?T>gSI-!!n__)nkj^Gau?samGaLamYoqcv=vt zlnCHDIS`do4y9baB^Ybcnbsbo=VI?scJsjZziP0aC~1^ z(s=BHl~0D@uwD_k)rC_piwnlMuhA;RN8 zuLVmXK9VA^rVK&=HdKWD&as7l3}dZXbt@1iG&S%j)Gn8FtHTd=e?FEq`03l)yr@tF zI09jeO5jAl1Q>Q7?#L{%ncf$;rLz79?VpDoFI&!W6gj`h3XJY;>pF?jSa=i5m-Rt} z#LJ{BvAlsKty|!9JJd?&Ujt4_P#y%i3Ed!Z$v&RVH76XAW9i5MFkViGIWTf+%A*$L^AVtLt8Rm&}B^2t4&IN*hXiY3s8cMRIzEJ~@Xi8p zcYlo=p$mei#-?dggr`BNr|jiClR?7%7r9U;VgQUct-^-@De6EEqKGzFRiOI;2Pgud z00q{Gjt8p>toM-sIDEZHDo;QsFuAy)uI<)F-}*v;3$9&5ao4Q>Dr~nKD3XoNvZ5J)h4NFYo;AOiyc;koAL02v}vHvJ$qsc&y-@iOfcy19jEuBo6e zZ&AUIF{((}SJ9m}EW!ihHv9Yg*iU9bYkF_0llRLD8_(BqvH5#wEecuc8arT{_-7Xa zw}sljjr8YwS@{)D6cV>(yj@g?1S5<68W{*KE+!5uHz(GgAiv>X$mbQ_^R&^2^K?1U z-5RJdkEv;wZ*o`Ed%aH4&w#)2_OoxdIF(yQ}Jp99{Zy494ryebOEQRrM>JUj<0Bvc3Q?9x)|uJhbPE%*z8L>&w(9q9gwwF z@p++CB=e#kB)xaMN8IzF9(}#i>znBqjOo=6_enhR&X`jhNZz~hbzB7qK;zaVfhO>X zcWWMeeY!b|y_;cHF76^NdQr<#cib$g@+forWDQvI0N!a5|YA9FwkqL&hvHi&Rbu7FK~GbTN~I>i4RO`GNNEf ztC+P-kP^Msn$ec1t&$Ps(T_B}N1nD5YOlfZ6$E|ek#P3TmIi=WpfOT$8BLaq=h_FRB^1VSzat z(ZwKXy0z~tOEVn3(yMRkjj=Xpa4-r99_CtKO?xBZ>m#{JOxRmu{uT9cGu_H=Zv}Y^ zgdJ9Kh5ESf?aO4ID+-Z}=rA_0PunH1j&Iy`O3aAu8Idv`)fp#6hMb*cRgHmwGih&! zg!yt})c}LG$Hv^zGUg*LAa-6Yl|g#I?W2dv2E`NT`ubhwvTt3^t7`slVvRJCR)`<2 zlV=;Qe+=WFQmT>>Bb`5(s<8A?8jG#}p1I#|Tdr21C)ysivZlHEkf#j!a>)|YfBW7& zm&D2P&oB6$_Ue5&FCFw82v83fD&u1IJ)`DLYqq#?d6)+F-iiW3U)?< z7RZ_vJKARna2eMQ1&`oZH+qO=McbuH(E2+MT}|TjPv2p|Msz-#$Zlu4Tmjxa61w6W zB?kPt?d_#7R3Y+0Yd}=O(^qexdv^s7N$%r=JldS;(Zc1FpPHrLZ;Kv$M7REI^z=54 zn08D1@nqG=G;(P@xxd=&{qSb~(!H?to%Dm^(c0z2vlqL3^A$%jrd^LJ>+x)&D9v*1 zbj%przOlQ{;lbhBy{3|S{8*Md18c>$W^4{tJMXcK`r^V26?_ZmZK{l8sxziNY3r5& zs;)Q;i3nqE)`YcYL@yq6&G2GBpkUk8Ft5RlI>#r=bMS89gW5E%*q42izGeWsx9%aL zl;IE-)H5Tr+6aL#Kk$-^>k+S^N8Vf6*BVpo=R-e|aKS-d#|BckF}csU>DI+1h#xdJ zx;1l2B}w+9huoU|4U>phK2-_b8qRPx4)naxgSJg3!9T1Y*KkX=zDnOdb?EjIr~Z)C za!$#sMrkCra%p3`N)7_+p$-!VhyLsB*Kz&oQR3fcUSTv``7mSMt6AjPbg^1~K6--6K#YNIvskssa{Dd6cW|9eo`B2N%Q^mU?xV3%# zMm;$?@K!NYv;HLVanlhG2JJ(2wWrUyfoR4F1-p4m@O@v1uBp|BG{0aJ6-iAX)!o8P zN6Sme=Gav26^zE=Od!11SXP8}rzrwPUAKIZ(tK8t)J3NRgkN;L|B7(VNKg{I%li`3 zAa&8!wSm!GHV{3fJp9*>y_y&f))yI!drqSw%3VnfGT0O>(wOz1!3>BAkHanlV1}DC z-p9{N?cPBbQXM;rP7PzH5%ulF5rac;;lim~q{J641lV8o>FlIMF{9|K*kB8i^M$do zCk4Svo%+{H8S#dp28*l`^fx|@&1T{J;C(V5(H@=+wX=hPJK{@Bk{yn5ZXX6kT;m3% z<`j#q#{}U^&!*b?thLkFUBX%QqM6gPCKc%*H=jfhHJ{i=}N%etV41ed_yx~|= zI)2g=LtymB;XA2Z+`~L+>bqmb6+4Lj%fik<9{X==u*JeVqD#|0!?`;=iOB#{@R$z=b2|?o?y>{ncjd*uEjDXy*3e0mkWS-|AA`}><$nAKzQq;=!8{EP zx%R$v;>3<)L0}rkkzgFL0>}k)M1P{n*p#cCyk@CuVw2?gkg0h4b8@^5;Le2UQX)o$ zb{@*nrJRQSy-NFRwu2=eF80lvF9uoBGn6*zJC4-#x%;L1tSs07FWs?ngm?9REk7G- z0$4aCfrhHCDad2tx%Xa4SG(R|L5>OTQ+o@O(mEyLjZ55MnX7#Xv%k}CfM(IbisnsxHes0%-(KjSkzwO+eohO0#^Ri~w%a(SpwN1iVv56`22Xs$fze6%KZ`z)zD z-bi@&onUvt1B;B-UX6Sqyt6c6o@dznNT*D&XybdHoz-2zBN#nb+oh!Kjy{So{D@=Z zMjcin8pPm4e|w&c+U*yx&WP4l<+a9TTv<+AQ;n>UhV&2Z4XiwfCiVtplLmJX)OAz?NYJucD{G*K+@d_b>cd3YfcP!e;XU)5^vsle_jUITmiiDwZ*52L$VSxS+dS$zsUp)oHY7lohO<|k$^;V3u(3927a{XvzkLW9 zGW~ZNcD*{JVD=`Sp@J&PYhd?Uy;x)Xz)Mx<_uGf=3LcC6F_u@FO3?b1|&u z$}`E{?(-9+g{t06pmDfzyq;86s984Fee+g(UCn*y}b zOx@!^)(Xb+yK{9>_#8b}+>BYWxoS#gKFP!?n*u(#!F_^{jKBRhFQfzU_cK+mZyAPOW}jO#^uD`5`zRZ)H&&ci zxfHl%B|+MaI|1TD zhg6dN?da&Oof+vQ&SY#Rsf|_fV=Uc^i|(+HAN#V`;AJy<(`h%eW@tB_)3lY9QpV>c z_9q|`lk@vxGeaU+O^pyfeU4MS*-!I-^Eh>-n~HH0!^#*`^R{%N{&nukqC3~ALB%`+ zTp?4R!5QMQj&9(KGb@w91BZn$6d}3^{Vkhg{5@VFSpWLxTBHN}F9*ISPgm#`An33v zw4^Hw7jqh+GbT%+{cU?cnbVJF*Z(q}vkG;=p(@at9wX;w z_SwlGs2HuWYXpG`+6Hcfz@DNtGRshZWB*OoFPqR~DX~_~O{l30gA}Nf-IxltB_=0T z6r_r!D&*p}miiO-HfZAjgiWm2m`#*$nTzL~#foZ32{w{bNP}WEBTug*Atk%9I~7K_ zKVf3J<|gfLC*Oo8$mElml{t-G&f(85`#5BA6tjau8$XT*l!vF_t%AUSylJIiKt3>F zX0mUCl)h)75ym%w!m7yr%L@v4Loog9)6=>URBs$fX->fst05eWb&k0x7!8N&`=0O9 z+G(Ohkb74^VLXP21$%rE0p@UDncuLC&w$3?>GR*YzPhc+2$(bVm_6Y+qAaQx>KzAc z`}FMP7x0spgzX+WmvBsrTan;!%X(gvVAA9T-NV_!GP}$$Mq8`x)F*oUEV+=3 zmPp?f%k&c83Zb7LBRq13p)p>L<@(}*6bpVtD*#n&9BS42z3+A&ZC@Y76qQ+e>BZ}2 z8>PW~swS3N295?+3U(xQ`lcA=%ewYCyS!*j6&y(3qhMbj9`0$c^lMc8xI6wfVcgV&MY_Ob_;U3XjUV?y;g}0rL+*g+3n{t z;z==XYEMEo^EB!(M`zWh$a}%V=ffC2=iB4#of?=yJA=O7il^045tFu{0h7JShE`wv zVB)lo!roO8f2s_+Z<0vD6sbSfKZ~=1XlHZzKVre|MsePD$WEJ;xuPUR!V}h3vS+#D z6H$%fWMc5?-KzTWmH%}mMP{}4%0{enjd8i5Udiad<7^zAm%z&vd5;RfKOB#(WKjhw zjZR>C3xur>*z?7y91oRrg$M&gva6(urhm{FN#|UD&jV#{rhSn>`)dBwC+Loaw!6v7 zDb8lojLo{pgCMzle5~8;*1H?Mwah^!do9q^L!rko`yEz;j4Vu7%KK*|N`>MkHxM5Z zbbJGhypqeP!v=TvBayF%IsHs;;NoI@KYA>$rOtXZ9O0X07J-^6dFK!O9bff>Nv$B zkBzT=nse^VJM9BEXg0*aei*U6Le@Qx`35p*w9jFs6Dqn8?Q`a0iBS#7SMstLcV5rR z3f$g&ZC|jFe7bvfhmo~TW=@AG;Adkh#z}L{S*~qLIMrlrP0zVTD9=-3`^tCBIol<* z;lPA`%5*)oRZa-A@i!_s;X*x1GeC<_Z>h3+q)V#p*~R!HX?jL!yarZp!loQeOL0__ zS`E8z0*m(Gg&Ne2hw@Y$uAkM|I>o)_s{nO!y7M?;`&x{k>GE^f-ii5@sL{ab8%0j6 zulRPDo5#W?!$j5En6=HB(hhz4&>u0nvu^49-6ZBLs&<$gyK!nh8;Jg;qu1V+Mn^k( z8fiPUE2JD-wUH0hcQ>+HpEx5k-(7yyi*~4z=(}H>H1BRYXnk}zbz~Gd6lm3c;O4pX zzMny|rsQ=_?rlyjmv0sD)>!_*iJ-hE5Y|$=4YYcNu?@CzB-X;0&+Z8)5Xca&CIccl5Fo`^oM*Ctq=yp?(T8+m_(47McKh>Ho zg~c`ZG1{!$y=uGorF?h#_btMTJmZ*+(Lj5W_%rbej4tcQwkh79PYU#tr4FkXR;Yp3 zt+6|@6x(VmHx}3*+-{cUyq`0+mXY*g4O%2iPvoy?{H-di9vv~f4EVj9Fj4v4ciSB7NNe?Xzgw3r98+rs~y#r3XukZH8-Kul4V5EE5*X8(Jy!Agh*{ z1DypHEL&VL5@)nxda=8g{M_W{TnWRPHLpuqer?ja7*bdkECYL zS_hLaJLm*F_tENT?!I#;K5g@gp|%~k3-9q{5pFrBhKXawP_NB%dI$ZHzjXM_N`SlU z59`ea60?^ay_mMG^K}=#=-a$Oh#?14QP2e0FAJ7zNk84_A4OHSAGx!Wg;VUA3HS16EOhTn)XbKX4uEfOtl)a10 zytAalhaMYl*r9=h3)qkfTg39`PypB5Kxu9Sv6PQvS1BG3W*@r}YkDP()8pvW7n9A5 zJ5ci8{#WyD_RC*6WRS~h)}v3A-)!}d0`VDcs8->y-rQH!S+&FTOnAH}`e`<{(Rx|t zHC5HP?$Sl!0;}&>8xOW0-3ON}I2sRmTKP?3+UMQZj$ViN1`d=A z+*rh)i`@CVi_bidf)QfLIN@(nt!K@}be_?QdUJy^e?A*Z;t=(yGa(^r>myf5y;tum z|2Y%L%_YF)ZPg;CTOp<6-qU55V8W(8*GD$AAkP`MjG12M+l7+HU>@~| zkvZ$tWU(HT0g@GAv3>kuIrWyhvmr>?M$58O2AAqeCIk&7o3@i}st*V3ddEa1Q!arM z@3x~~H9oieHD^CFFG6zFeImmyAo9ZT3hW=YuH{wcKf!F`Zh1@p^m&;lTM^nb7R}~M ziNIh=hzPNLcl-5j-&Re7`AIamjE8FW_!|o0iO};l^%! z_n?Aw7=XBXV&Z(UtDPvS8MLU%$9;u&);;e`@O)jZIdkW%TKVtq*G4>G1Xmh8Tr|naGCY3RnD_74PU?X=)Q>mY+;^5{YmG9o*XZPP7Od^ zb1x^f6(nl=JR5CYQzA21@VX>&^Yx=UMDurkgYzeOY&zbvM{07>-!mjV>Fl2}rC@}h{f-o5JidB!a z*mKLCfMbd+zMd(z*gJ!B>(z2D8naeG4~6kGM+iAnn@F4v_CBdJ=C1@1c4;6lHak49 zRfANX`Wv5;^#>``sa}5V$f15&BvbXZ6~}9#&eu{C7laR|$!6dEW|xQuLg^CS{~ z*?#X5n*><_xGzP9&{L}jajDl-P;da?;yQ>p7{r}|PoS-PKUu##DWKx`U5moF1?ck< z-wpLG1bTDQo+LNj&Hqj>8p9g`8jK!>3eq%c>TJ0E+-txlGmKV1AaB95APtPaFCIdn z?zL;MV1XCeozhxg4?9;*Vh9QZxa%)o9t$gGqm>`BslLLkb)Ig&(EDoW=lupg)61iS z5Qqmz9N)Y5FR1x0JdC-5XoGW1Z|{2ZX1g!n;m=5trMIKC)@5&;<#Nj^6TUA#!4;?` z{;V->OJJoGqV(PI!xlGQ&Cicod>V<1tTHuz^vKnQ7&0Bhi_*vV*2K&DJ&hL!SI9{s zYvYC8lRPZG8Ew?lxL`XvXyDt+Z?)RWIM;jtsT4s$85V~aF1zFK&lChYoT!+AueF{3 z@z1ZciFt>=!3HmNNG>yfb*Yj~1u#jkcSUK)*kLL?fw1g$8sGLd=P&)X$yG``K6rmVMH|O&Sg!j8xP{`k2b%8^sNg;l zsQBx47km|fPARC`fHVuad0#>d@5Xa*Ngb<2EYy@SkL+f-+26K(oIsGsRN+JYB#xUm zf(>cH1W*#zlkaTRu1*KSYzbWtBJ6sk8$Cm%oi9DMK>4gM&(KCbF7zr{H^1K~#Peo9 zMRwJ+;P9yVm*bWPA0KenddFJ7t8j<-y?s9%RUN1_sG@B*%=Qj8G7|v!)~%xz_1Bb( za|06F6VWd_6K?!LmEi&CMIF%~&!p|p7Nzk5G(LYi*2Lp8R3;^MP4oKnKC;oX~Oj5#mn&LYV1~LKYTt^HzKygFFvEXo8-rfDVTOC z@MBU^Z8iGF4IMAg*nEfNJi-rVBE`Lp>2XX|_$}YS7S9pOCS8N0+n&hDB}J*b47dM} zC{Ny@6vlN)03Xa&`5VSq|C{aHHz?%bkkd4$rJd6~478D4Z5zn_P<}5cwj^=f>v8e8^-S&*P`Oxukxi-3N zO?GEUe82%zWn=LMP;G|I>{m=vb z)H~NTXG5gbmt+_tm%8_kvYmDuexDZ`TBMEDL%MQHBud%)oW zW_iwBHy0cwyF^%^L1x*0y4aPBg}eg+E_3J=kCo{4AlL2BsvcBRJmzR!EC1nbsc^_uw4Em2G$ z=4FT)+gFBq)|L3t{eaYHnI=SjwZO|o??Shpy{k=l;j(Y_)gjEN1!@E% zU-JKizk1Er+M62{HwQNSE*;J!G%CLIGX_}6vc->&W7@zk2_I_0z{9IN?6mE@`sk{c zYCoU$n)A8ioeeTL2|x{k>C-Mq&qupAPv(O1*om%?z_8VIqX;lPyh7&5v&F!Kkk5w^zJS$WG0KX z#tMjn8#qJzq6H2)?s+}s`3ZG^1{2J)6l!#M)+TZ%HQGqeS~llCE<<$bxsdg!XlqXu zxrl&cc=TE=CvnwKqd|-+y7Bc5)5)KV431}T13BtQ^arYjH6u zs_r<`1mwe;gXr9`0bB$|wSsA(AY>0HGQ1R{jBUTM%GCsGgCBBa?`%PDF;b>t96ip!gS+w830?%tNuPdivXeRDi}FnN7#tSuW#J1WaV%uvwfWcX&K-g;+H&r4Rd zrTjQO1bt*^Uw(1u^qTMY*7=aD)f@>rM`Ha7zm61%DQs~y6053D^g_EPI|E0=78rS!`! zmDnKJ@vL@DwfE!b5`@m_gV>{y#0n!Lycx5lWcpF&Sn|^QQ76l#u0B>A!;#NjjMvc| zDp#gH10=-O+{3FW8`fn1<6e9l;6 zKlT~^RB(NJNE&E80UUKUkoqivd3~_?LPHR|q|DID%epO|D%k)5^{$SEk zgKl3;^=l*dVYY;nfIh(veMVTnefWw{LK;xO=V)d}*I2LG zbRW-Lo3vY7-sFWj@&aZsua$LscQO#xc*Whj zB*Tf;FSmh_x3Ez+bS|sV|9JEB5(HNTRnWTfan(esfac|RiQkBh5U00ml24nFZ^XV14+Z|^q=1OoNNa5PY%Uzr;EcuzWB!9 z;Uk9;l#xt$ucsS3+m?u!kK_cx<8pCnp%P*SG@fUU4>v#3VkGBfzM zIP*)`WTt-w!p6@&3k^NRT|AC3sBDh1o;;v>}DU5dQiLBrP9WZHnIS+SQajwcWC3!LaRGe6UEw$ zfZP&%u_tSm5F2xAXT)uMOSJeVy(0xQ2j^mEYwB~2DtHWtJ*f%bB^~sDF>oArbH6v? z`5Xb`)*@-m8;U&%Gc0!s>Aj?9XoM&{avCmcJ4Rky3t*Hc@Bkr$v!3S&4|vWB*vJNZ z*s^)f-D3{W?aVbOKvt=30oD>H?mna4OR&dFgLxfU6i#FaiH&hPnY}_@OtrBy^LRV4J|Qe&?SZ+YaBH ze<3KgeR5ns5%+|&xRAO|H4gSxD7v}&Yw)PRrgYHoH4TpAnT98 z51qLMJtV~*8@~#58RrsY%=UrYM)-l0i0wXZzb&Q4f8-d*{mI4qiyX`9HaFzY3QwmGyFTvi>i>ol3iUYDz9nn?wCoU(YRH(tw6zDEhCZF$POK zv(cVxkMSLP4h2pP)c;bc;C0+I01yIUkd6QLf`mFA7F>z|V)2J$uc zl8Ytm4w^d?)(aH^6u+DCp1E8k7xy6i{Lg|MaU|bC#}jiEXX6-ruI|ct9)kx{0-3p0 zgp}&=v3CWw^g9jl{}$%TlS1o%$iIAWQ!|oWKH;2s5ix~C(cNv86R9nSSxa43&tcq4 z`TB(Bf6ssODhavySOVHzE^g-zgxUYNc3=8*uxWd~AyPi>5ogkcysXgM?=@wvfuwOZ z;2bAVupO}KwQhpFOO704>)hgRVu|IBnsw++2z<113$Rg9k2vo-WOJU;*iQ}HA}4<`@zUyIZx}aw z<{&eBLLcV@>h(!I3iI0%Qd!^DG*oC-4A+HK9*_3A-RB5I!4@mYK<)!bo&BRH<~Y4! z^V%bpw$AbWNvQp<77v-JkrJuP0U7ysuVW|muibL&|77sN!Yk!h(w__X?h&wLsN^BA zp?U8AHk*&&4zSsh?)DEX!Ivs^c+S`EvH(fZ@>>58N(I}Y0RTsy<&e8wotNz0m2M!kNJny&{iB=^MR;ow)H`wA*)spe?Ywc=Y#U3sNt=VcJMZ0uf)vN zqj=DvVKO^7?mO;yV`98*R$c}n#3+ol7|< zs9hZXxq5z#1Om$D|JZ=^*8g9+tGYg2hCp0T{_`Z^Fj8qJD+WZO+{$lp6AW$pZ+~vv z#@WDEE&HUaG5SXXPvHd0>@4RwVZ&KQyRvVx4UUFSI! zzaQ}qaW*vM61gCOSc3huId2gTk39uRDgW1|yF2)QYlONE4p_+Le^IUf3vpEkeYtp_ zWTOW!Tgo}_vpwO{c1(b6QHV?ee93q(6lg)4xBUz(0dR_+{qxwf8ZI#;3@sa3V!b*+c!n$0KR;DQtrh7;ti}p$)rc!; z@g%intOjrI^K{cDH+Y+mte6ASLA>;>0=#0^)Oy4_@W~_s4&OJQ0qsbM&3OSM0WWzVjIiwLK7*Rfzr3_|GKw$ge@#qx74Vwx ze@~Y=&3Gz4rN1c>v?TPLUhKXTJojw{=86NmYQXs2%(te^;Gp{R-X;W`R7H0L0#*){&(Awvzz(1-JftJ zgCqE#N8qQ&Zc1F4i!%Q%{W%HP`e+s}FN&|PWMDX^hMHS_YSC749@DYg{N=OA=2z?O zx2Qjl{p}zES_V5A*oI@sKr1xTrtDmtAT~ekf2{rMA6^{E`xRFLR~& -在 VE 拓扑图里勾选需要 dump 录音的点; - -点击红色圆形按钮进入实时录音,在 tracks view 处可以看到实时波形; - - - -- **语音增强音频校准** 语音增强拓扑图提供对所有语音增强模块的控制。它支持打开和关闭每个模块,并可以设置模块中的参数。 - - -### 展锐平台 -展锐平台使用AudioCalibrator软件去进行音频参数的标定。 -Codec参数校主要包含: -**内置codec输入增益(atctst_aud_codec_get_ingain)**: -输入增益即通话模式下的MIC增益,该增益在音乐播放模式下不可调。如下图,可以修改模拟增益和adc增益。不同通道下的模拟增益范围不同,adc增益范围相同。值不可过大,否则会造成输入失真。 - - -**内置codec输出增益(atctst_aud_codec_get_outgain)**: -输出增益在通话模式,或者音乐播放模式下均可调。输出增益与音量等级相关,当前支持0~11级音量,分别对应增益列表中的outGains[0] ~ outGains[11]。用户若要重新调整音量增益,可以调整对应音量等级下的dac,ana与alg增益。Alg调到最小可以实现静音。DAC的值不建议超过63,易造成失真。用户可根据应用场景,设置不同的增益组合。建议可保持ana与alg不变,调整dac增益。 - - -**侧音增益(atctst_aud_codec_get_sidetonegain)**: - 侧音增益用于通话场景。侧音默认关闭,客户若需要侧音,可在此调整。 \ No newline at end of file +## NV文件的获取和使用方式 + +**获取方式:** + +​ 请联系移远技术支持获取。 + +**使用方式:** + +​ 使用QPYCom工具,连接模组之后,打开调试端口,将NV文件放入usr目录下,重启模组即可生效。目前仅EC600M系列、EC800M系列、EC600N系列、EG810M系列支持该方法,其他型号模组请联系移远技术支持。 + + \ No newline at end of file diff --git a/docs/Application_guide/zh/media/hardware/audio-driver/NVFile1.png b/docs/Application_guide/zh/media/hardware/audio-driver/NVFile1.png new file mode 100644 index 0000000000000000000000000000000000000000..fab0bcc7c73ec00b0c06ee57ea493378dd6c22db GIT binary patch literal 45687 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