From 5703b191df1e27ba549a6d3292b59bb19705a4c3 Mon Sep 17 00:00:00 2001 From: guojin26 Date: Wed, 15 Dec 2021 17:55:23 +0800 Subject: [PATCH 1/7] add eTSNotification Signed-off-by: guojin26 --- common/EtsNotification/README_zh.md | 25 ++++ common/EtsNotification/build.gradle | 45 ++++++ common/EtsNotification/entry/build.gradle | 21 +++ .../entry/src/main/config.json | 66 +++++++++ .../entry/src/main/ets/MainAbility/app.ets | 23 +++ .../main/ets/MainAbility/common/choose.ets | 79 ++++++++++ .../MainAbility/model/notificationUtils.ets | 116 +++++++++++++++ .../src/main/ets/MainAbility/pages/index.ets | 137 ++++++++++++++++++ .../main/resources/base/element/string.json | 48 ++++++ .../src/main/resources/base/media/checked.png | Bin 0 -> 8737 bytes .../src/main/resources/base/media/icon.png | Bin 0 -> 6790 bytes .../src/main/resources/base/media/select.png | Bin 0 -> 2777 bytes .../src/main/resources/base/media/uncheck.png | Bin 0 -> 6290 bytes .../src/main/resources/en/element/string.json | 48 ++++++ .../src/main/resources/zh/element/string.json | 48 ++++++ .../screenshots/devices/main.png | Bin 0 -> 75158 bytes common/EtsNotification/settings.gradle | 1 + 17 files changed, 657 insertions(+) create mode 100644 common/EtsNotification/README_zh.md create mode 100644 common/EtsNotification/build.gradle create mode 100644 common/EtsNotification/entry/build.gradle create mode 100644 common/EtsNotification/entry/src/main/config.json create mode 100644 common/EtsNotification/entry/src/main/ets/MainAbility/app.ets create mode 100644 common/EtsNotification/entry/src/main/ets/MainAbility/common/choose.ets create mode 100644 common/EtsNotification/entry/src/main/ets/MainAbility/model/notificationUtils.ets create mode 100644 common/EtsNotification/entry/src/main/ets/MainAbility/pages/index.ets create mode 100644 common/EtsNotification/entry/src/main/resources/base/element/string.json create mode 100644 common/EtsNotification/entry/src/main/resources/base/media/checked.png create mode 100644 common/EtsNotification/entry/src/main/resources/base/media/icon.png create mode 100644 common/EtsNotification/entry/src/main/resources/base/media/select.png create mode 100644 common/EtsNotification/entry/src/main/resources/base/media/uncheck.png create mode 100644 common/EtsNotification/entry/src/main/resources/en/element/string.json create mode 100644 common/EtsNotification/entry/src/main/resources/zh/element/string.json create mode 100644 common/EtsNotification/screenshots/devices/main.png create mode 100644 common/EtsNotification/settings.gradle diff --git a/common/EtsNotification/README_zh.md b/common/EtsNotification/README_zh.md new file mode 100644 index 0000000000..5a1e6db534 --- /dev/null +++ b/common/EtsNotification/README_zh.md @@ -0,0 +1,25 @@ +# EtsNotification + + + +### 简介 + +本示例展示了在eTS中如何创建和删除Slot通道,如何发布和取消通知。 + +### 使用说明 + +1、在界面中点击**创建Slot通道**,创建完成提示"Add slot succeed"。 + +2、选择要发布的通知类型,点击**发布通知**,在通知栏会看到发布的通知,下拉通知栏后可以看到通知内容。 + +3、在发布通知后,下拉通知栏,在通知消息中,点击通知或通知中的按钮,可以跳转到本应用界面。 + +4、在应用界面点击**取消最近发布的通知**,可以取消最新发布的一条通知。 + +5、点击**取消所有通知**,可以取消所有发布的通知。 + + + +### 约束与限制 + +本示例支持标准系统上运行。 diff --git a/common/EtsNotification/build.gradle b/common/EtsNotification/build.gradle new file mode 100644 index 0000000000..cabf5eb09f --- /dev/null +++ b/common/EtsNotification/build.gradle @@ -0,0 +1,45 @@ +// Top-level build file where you can add configuration options common to all sub-projects/modules. +apply plugin: 'com.huawei.ohos.app' + +//For instructions on signature configuration, see https://developer.harmonyos.com/cn/docs/documentation/doc-guides/ide_debug_device-0000001053822404#section1112183053510 +ohos { + signingConfigs { + release { + storeFile file('D:\\hap\\appl2.p12') + storePassword '0000001CFE7B5C88E843C2D127D7F55B90DDDB667A813388AD451D35447BAA9DDC5D1482B9A8D0DF7D58A356' + keyAlias = 'appl2' + keyPassword '0000001CBE0B883DE5B645605F5988C73DB27AEF17CBE0E14C51E7FE73174B6ED981D3711C7066267F692157' + signAlg = 'SHA256withECDSA' + profile file('D:\\hap\\etsnotification.p7b') + certpath file('D:\\hap\\appl2.cer') + } + } + compileSdkVersion 7 + supportSystem "standard" +} + +buildscript { + repositories { + maven { + url 'https://repo.huaweicloud.com/repository/maven/' + } + maven { + url 'https://developer.huawei.com/repo/' + } + } + dependencies { + classpath 'com.huawei.ohos:hap:3.0.3.4' + classpath 'com.huawei.ohos:decctest:1.2.6.0' + } +} + +allprojects { + repositories { + maven { + url 'https://repo.huaweicloud.com/repository/maven/' + } + maven { + url 'https://developer.huawei.com/repo/' + } + } +} diff --git a/common/EtsNotification/entry/build.gradle b/common/EtsNotification/entry/build.gradle new file mode 100644 index 0000000000..1587dd1948 --- /dev/null +++ b/common/EtsNotification/entry/build.gradle @@ -0,0 +1,21 @@ +apply plugin: 'com.huawei.ohos.hap' +//For instructions on signature configuration, see https://developer.harmonyos.com/cn/docs/documentation/doc-guides/ide_debug_device-0000001053822404#section1112183053510 +ohos { + compileSdkVersion 7 + defaultConfig { + compatibleSdkVersion 7 + } + buildTypes { + release { + proguardOpt { + proguardEnabled false + rulesFiles 'proguard-rules.pro' + } + } + } +} + +dependencies { + implementation fileTree(dir: 'libs', include: ['*.jar', '*.har']) + testImplementation 'junit:junit:4.13.1' +} diff --git a/common/EtsNotification/entry/src/main/config.json b/common/EtsNotification/entry/src/main/config.json new file mode 100644 index 0000000000..0958546f98 --- /dev/null +++ b/common/EtsNotification/entry/src/main/config.json @@ -0,0 +1,66 @@ +{ + "app": { + "bundleName": "ohos.samples.etsnotification", + "vendor": "samples", + "version": { + "code": 1000000, + "name": "1.0.0" + } + }, + "deviceConfig": {}, + "module": { + "package": "ohos.samples.etsnotification", + "name": ".MyApplication", + "mainAbility": ".MainAbility", + "deviceType": [ + "phone" + ], + "distro": { + "deliveryWithInstall": true, + "moduleName": "entry", + "moduleType": "entry", + "installationFree": false + }, + "abilities": [ + { + "skills": [ + { + "entities": [ + "entity.system.home" + ], + "actions": [ + "action.system.home" + ] + } + ], + "orientation": "unspecified", + "visible": true, + "srcPath": "MainAbility", + "name": ".MainAbility", + "srcLanguage": "ets", + "icon": "$media:icon", + "description": "$string:description_mainability", + "formsEnabled": false, + "label": "$string:app_name", + "type": "page", + "launchType": "standard" + } + ], + "js": [ + { + "mode": { + "syntax": "ets", + "type": "pageAbility" + }, + "pages": [ + "pages/index" + ], + "name": ".MainAbility", + "window": { + "designWidth": 720, + "autoDesignWidth": true + } + } + ] + } +} \ No newline at end of file diff --git a/common/EtsNotification/entry/src/main/ets/MainAbility/app.ets b/common/EtsNotification/entry/src/main/ets/MainAbility/app.ets new file mode 100644 index 0000000000..bf28e58b36 --- /dev/null +++ b/common/EtsNotification/entry/src/main/ets/MainAbility/app.ets @@ -0,0 +1,23 @@ +/* + * Copyright (c) 2021 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +export default { + onCreate() { + console.info('Application onCreate') + }, + onDestroy() { + console.info('Application onDestroy') + }, +} \ No newline at end of file diff --git a/common/EtsNotification/entry/src/main/ets/MainAbility/common/choose.ets b/common/EtsNotification/entry/src/main/ets/MainAbility/common/choose.ets new file mode 100644 index 0000000000..bbbe6f8c33 --- /dev/null +++ b/common/EtsNotification/entry/src/main/ets/MainAbility/common/choose.ets @@ -0,0 +1,79 @@ +/* + * Copyright (c) 2021 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +@Component +export struct Choose { + @Link selectIndex:number + getImg(current){ + if(this.selectIndex === current) { + return $r("app.media.checked") + } else { + return $r("app.media.uncheck") + } + } + build() { + Column(){ + Flex({ direction: FlexDirection.Column}) { + Text($r("app.string.choose_notification_type")) + .width(300) + .padding({top:10}) + .fontSize(20) + .fontColor(Color.Black) + .fontWeight(FontWeight.Bold) + Column(){ + Row(){ + Image(this.getImg(0)) + .height(30).width(30) + .objectFit(ImageFit.Contain) + Text($r("app.string.notification_type_normal")) + .padding(10) + .fontSize(20) + .fontColor(Color.Black) + } + .width(300) + .onClick(()=>{ + this.selectIndex = 0 + }) + Row(){ + Image(this.getImg(1)) + .height(30).width(30) + .objectFit(ImageFit.Contain) + Text($r("app.string.notification_type_long_text")) + .padding(10) + .fontSize(20) + .fontColor(Color.Black) + } + .width(300) + .onClick(()=>{ + this.selectIndex = 1 + }) + Row(){ + Image(this.getImg(2)) + .height(30).width(30) + .objectFit(ImageFit.Contain) + Text($r("app.string.notification_type_multiline")) + .padding(10) + .fontSize(20) + .fontColor(Color.Black) + }.width(300) + .onClick(()=>{ + this.selectIndex = 2 + console.info('this.selectIndex = ' + this.selectIndex) + }) + } + } + } + } +} \ No newline at end of file diff --git a/common/EtsNotification/entry/src/main/ets/MainAbility/model/notificationUtils.ets b/common/EtsNotification/entry/src/main/ets/MainAbility/model/notificationUtils.ets new file mode 100644 index 0000000000..75cefde22e --- /dev/null +++ b/common/EtsNotification/entry/src/main/ets/MainAbility/model/notificationUtils.ets @@ -0,0 +1,116 @@ +/* + * Copyright (c) 2021 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +import notify from '@ohos.notification'; + +function getNotificationContentBasic(mWantAgent) { + let notificationRequest = { + id: 1, + slotType:notify.SlotType.CONTENT_INFORMATION, + content: { + contentType: notify.ContentType.NOTIFICATION_CONTENT_BASIC_TEXT, + normal: { + title: 'notification title', // 通知标题 + text: 'notification text', // 通知内容 + additionalText: 'notification additionalText', //通知次要内容,是对通知内容的补充 + } + }, + actionButtons:[ + { + title:'button', + wantAgent: mWantAgent + } + ] + } + return notificationRequest +} + +function getNotificationContentLongText(mWantAgent) { + let notificationRequest = { + id: 2, + slotType:notify.SlotType.CONTENT_INFORMATION, + content: { + contentType: notify.ContentType.NOTIFICATION_CONTENT_LONG_TEXT, + longText: { + title: 'notification title', + text: 'notification text', + additionalText: 'notification additionalText', //通知次要内容,是对通知内容的补充 + longText: 'notification long text', // 通知的长文本 + briefText: 'notification briefText', // 通知概要内容,是对通知内容的总结 + expandedTitle: 'notification expandedTitle', // 通知展开时的标题 + } + }, + wantAgent: mWantAgent + } + return notificationRequest +} + +function getNotificationContentMultiline(mWantAgent){ + let notificationRequest = { + id: 3, + slotType:notify.SlotType.CONTENT_INFORMATION, + content: { + contentType: notify.ContentType.NOTIFICATION_CONTENT_MULTILINE, + multiLine: { + title: 'notification title', + text: 'notification text', + additionalText: 'notification additionalText', //通知次要内容,是对通知内容的补充 + briefText: 'notification briefText', + longTitle: 'notification long title', + lines: ['line1','line2','line3'] + } + }, + wantAgent: mWantAgent + } + return notificationRequest +} + +export function getNotificationRequest(contentType,mWantAgent) { + console.info('[guojin]getNotificationRequest contentType=' + contentType) + let notificationRequest + switch (contentType) { + case 0: + notificationRequest = getNotificationContentBasic(mWantAgent) + break + case 1: + notificationRequest = getNotificationContentLongText(mWantAgent) + break + case 2: + notificationRequest = getNotificationContentMultiline(mWantAgent) + break + default: + break + } + return notificationRequest +} + +export function getNotificationId(contentType){ + console.info('[guojin]getNotificationId contentType=' + contentType) + let notificationId = 1 + switch (contentType) { + case 0: + notificationId = 1 + break + case 1: + notificationId = 2 + break + case 2: + notificationId = 3 + break + default: + break + } + return notificationId +} \ No newline at end of file diff --git a/common/EtsNotification/entry/src/main/ets/MainAbility/pages/index.ets b/common/EtsNotification/entry/src/main/ets/MainAbility/pages/index.ets new file mode 100644 index 0000000000..55a627813a --- /dev/null +++ b/common/EtsNotification/entry/src/main/ets/MainAbility/pages/index.ets @@ -0,0 +1,137 @@ +/* + * Copyright (c) 2021 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +import notify from '@ohos.notification'; +import wantAgent from '@ohos.wantAgent'; +import prompt from '@system.prompt'; +import {getNotificationRequest,getNotificationId} from '../model/notificationUtils' +import {Choose} from '../common/choose' + +@Entry +@Component +struct Index1 { + @State contentType:number = 0 + private slotType:number = 0 + build() { + Column() { + Text($r('app.string.app_name')) + .width('100%') + .height(50) + .backgroundColor('#0D9FFB') + .fontColor(Color.White) + .fontSize(20) + .padding({ left: 15 }) + Scroll() { + Flex({ direction: FlexDirection.Row, alignItems: ItemAlign.Center, justifyContent: FlexAlign.Center, wrap: FlexWrap.Wrap}) { + Choose({selectIndex:$contentType}) + Column(){ + Button() { + Text($r('app.string.add_slot')) + .fontSize(25) + .fontWeight(FontWeight.Bold) + }.type(ButtonType.Capsule) + .margin(10) + .width(340).height(60) + .backgroundColor('#0D9FFB') + .onClick(()=>{ + console.info('[notification] addSlot') + function addSlotCallBack() { + console.info("[notification]==========================>addSlotCallBack=======================>"); + prompt.showToast({message:'Add slot succeed'}) + } + notify.addSlot(notify.SlotType.CONTENT_INFORMATION, addSlotCallBack) + }) + Button() { + Text($r('app.string.publish_notification')) + .fontSize(25) + .fontWeight(FontWeight.Bold) + }.type(ButtonType.Capsule) + .margin(10) + .width(340).height(60) + .backgroundColor('#0D9FFB') + .onClick(()=>{ + console.info('[guojin]publish notification') + let WantAgentInfo = { + wants:[ + { + bundleName:'ohos.samples.etsnotification', + abilityName:'ohos.samples.etsnotification.MainAbility', + } + ], + operationType:wantAgent.OperationType.START_ABILITY, + requestCode:0 + } + wantAgent.getWantAgent(WantAgentInfo, (err,data)=>{ + if(err.code !== 0) { + console.info('[notification]getWantAgent failed,err = ' + JSON.stringify(err)) + return + } + let notificationRequest = getNotificationRequest(this.contentType,data) + notify.publish(notificationRequest).then(()=>{ + console.info("[notification]==========================>publishCallback=======================>"); + }); + }) + }) + Button() { + Text($r('app.string.cancel_last_notification')) + .fontSize(25) + .fontWeight(FontWeight.Bold) + }.type(ButtonType.Capsule) + .margin(10) + .width(340).height(60) + .backgroundColor('#0D9FFB') + .onClick(()=>{ + console.info('[notification]cancel notification') + let notificationId = getNotificationId(this.contentType) + notify.cancel(notificationId,()=>{ + console.info("[notification]==========================>cancelAllCallback=======================>"); + }) + }) + Button() { + Text($r('app.string.cancel_all_notification')) + .fontSize(25) + .fontWeight(FontWeight.Bold) + }.type(ButtonType.Capsule) + .margin(10) + .width(340).height(60) + .backgroundColor('#0D9FFB') + .onClick(()=>{ + console.info('[notification]cancel notification') + notify.cancelAll(()=>{ + console.info("[notification]==========================>cancelAllCallback=======================>"); + }) + }) + Button() { + Text($r('app.string.delete_slot')) + .fontSize(25) + .fontWeight(FontWeight.Bold) + }.type(ButtonType.Capsule) + .margin(10) + .width(340).height(60) + .backgroundColor('#0D9FFB') + .onClick(()=>{ + console.info('[notification]delete slot') + notify.removeSlot(notify.SlotType.CONTENT_INFORMATION,()=>{ + console.info("[notification]==========================>removeSlotAllCallback=======================>"); + prompt.showToast({message:'Delete slot succeed'}) + }) + }) + } + } + .margin({bottom:50}) + } + } + } +} \ No newline at end of file diff --git a/common/EtsNotification/entry/src/main/resources/base/element/string.json b/common/EtsNotification/entry/src/main/resources/base/element/string.json new file mode 100644 index 0000000000..3244ba76ba --- /dev/null +++ b/common/EtsNotification/entry/src/main/resources/base/element/string.json @@ -0,0 +1,48 @@ +{ + "string": [ + { + "name": "app_name", + "value": "eTSNotification" + }, + { + "name": "description_mainability", + "value": "ETS_Empty Ability" + }, + { + "name": "choose_notification_type", + "value": "Choose notification type" + }, + { + "name": "notification_type_normal", + "value": "Notification content basic text" + }, + { + "name": "notification_type_long_text", + "value": "Notification content long text" + }, + { + "name": "notification_type_multiline", + "value": "Notification content multiline" + }, + { + "name": "add_slot", + "value": "Add slot" + }, + { + "name": "publish_notification", + "value": "Publish notification" + }, + { + "name": "cancel_last_notification", + "value": "Cancel the last notification" + }, + { + "name": "cancel_all_notification", + "value": "Cancel all notification" + }, + { + "name": "delete_slot", + "value": "Delete slot" + } + ] +} \ No newline at end of file diff --git a/common/EtsNotification/entry/src/main/resources/base/media/checked.png b/common/EtsNotification/entry/src/main/resources/base/media/checked.png new file mode 100644 index 0000000000000000000000000000000000000000..a77ded514ac884365ec515801bb34c68e6e5b7f8 GIT binary patch literal 8737 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 mnl{+T4&#qG_WyUv;kmIiwi`ZIBjVP53X|XrvPW literal 0 HcmV?d00001 diff --git a/common/EtsNotification/entry/src/main/resources/en/element/string.json b/common/EtsNotification/entry/src/main/resources/en/element/string.json new file mode 100644 index 0000000000..3244ba76ba --- /dev/null +++ b/common/EtsNotification/entry/src/main/resources/en/element/string.json @@ -0,0 +1,48 @@ +{ + "string": [ + { + "name": "app_name", + "value": "eTSNotification" + }, + { + "name": "description_mainability", + "value": "ETS_Empty Ability" + }, + { + "name": "choose_notification_type", + "value": "Choose notification type" + }, + { + "name": "notification_type_normal", + "value": "Notification content basic text" + }, + { + "name": "notification_type_long_text", + "value": "Notification content long text" + }, + { + "name": "notification_type_multiline", + "value": "Notification content multiline" + }, + { + "name": "add_slot", + "value": "Add slot" + }, + { + "name": "publish_notification", + "value": "Publish notification" + }, + { + "name": "cancel_last_notification", + "value": "Cancel the last notification" + }, + { + "name": "cancel_all_notification", + "value": "Cancel all notification" + }, + { + "name": "delete_slot", + "value": "Delete slot" + } + ] +} \ No newline at end of file diff --git a/common/EtsNotification/entry/src/main/resources/zh/element/string.json b/common/EtsNotification/entry/src/main/resources/zh/element/string.json new file mode 100644 index 0000000000..18360ce056 --- /dev/null +++ b/common/EtsNotification/entry/src/main/resources/zh/element/string.json @@ -0,0 +1,48 @@ +{ + "string": [ + { + "name": "app_name", + "value": "eTSNotification" + }, + { + "name": "description_mainability", + "value": "ETS_Empty Ability" + }, + { + "name": "choose_notification_type", + "value": "请选择通知类型" + }, + { + "name": "notification_type_normal", + "value": "普通类型通知" + }, + { + "name": "notification_type_long_text", + "value": "长文本类型通知" + }, + { + "name": "notification_type_multiline", + "value": "多行文本类型通知" + }, + { + "name": "add_slot", + "value": "创建Slot通道" + }, + { + "name": "publish_notification", + "value": "发布通知" + }, + { + "name": "cancel_last_notification", + "value": "取消最近发布的通知" + }, + { + "name": "cancel_all_notification", + "value": "取消所有通知" + }, + { + "name": "delete_slot", + "value": "删除通道" + } + ] +} \ No newline at end of file diff --git a/common/EtsNotification/screenshots/devices/main.png b/common/EtsNotification/screenshots/devices/main.png new file mode 100644 index 0000000000000000000000000000000000000000..bc5459c7d7dd374b0524940cf8d8619fdae86614 GIT binary patch literal 75158 zcmX_IWmFYRv;_pDr9-;AyBi6SmhLWTkd`j#ZfQ}vyF%AX$p>Sj3 z%sKn)z2`spQqfzANw!=D zshLq3-|{iHaj|c$R(QW6Mb^+|mi5}T&pD5uy(z1CZDAzFbK#Ryl9PVA^g+YJ|44Y> zcj6&3B?Wg3zUi#vAx+quCqx3eoLj#1?=#FvM`e9X>Uc+I^|pQam34dfvJo482bH>p zhSPcX>#N$_r>~z@TkIWmr{bY1w5kJ_9Xhl3_V$P+zBOFm&#g`%eCw`qVK?f6iV?oi z@_XDS^=MLTg}GaCnYcKvoxp_cMx)ds6j)EOiS0I8xaYfBFm3*K_;Xp`vhrcz`p=B# zN&Wn!4rQ>`1P7)B)R6~4!L8s@N$t^cZQs(erESBY5!PS z6Cw{xm7UK5s>51T0NYk%d^){Hf$tq3`bxl=#^+>`d23Ri$zd+PaBK<@4En+r(eZZGBXMGX`ETec9j>0`ynRfFWtnKu=1=izEwjVlr5CoP^?L=e zA~v;Cc-3_cDR8&av8|={Z1^aGw49dXJF)(clu$QG^lAu!P~;-Fp()7X?+g|%PoRC) zOSG685asCK@J7Vce_B~>F{V2Ssdudt5wP&yWIM5+S^JwD>nS4%MXcWlR`EH>c6je{ zD~k0pG4~PnAyG-hx|RYn(mCp9LFY&>l1136)sNL^Rdd!l-GF2MYh>xZ-n2HrML$k*$oQPh3i|(&u+3mqIxsa%i>GwqodG-#< z7K19jvSPz;psAT>gX+=m6!+Uv`Q^zP@An{57W)jHX@%4Acsa6=V&3nNr0X}?;UcCG zRuc83RXuo%&fVV8RfG@LdXI7i#p@2kto6EtLObMXyjN^r+Oazj&NiEjn7OJ0p(E~S zIC3@m4lFwHt0@<{=2w2fZ$Ed@obWoVwKc#ru^dHi*r<%o0o2~%*13Q8+kIu4@1$`zG7h_qXn8tA z;6bD$qbIxF`QEG)`X0M&?=C$MMnmH=D$dV?cxwvQhqs%)v1jT+jeZR;{^dhqr`8b) ze2_6?{>rf8(%L7b^QBtY5cEmkUn$l_-9~J7aKAT#c8V2-V9hC<6Eg1U|FIA%)O z#VEgkmsv`=Q+<-ThD6+lFsCnKt!KU}!SJOxc~I86S`vZdl&|DeLe+7iu+78gsFjhF zbiXO6dy%BT;VOP(@*&2QMF`0c?x|%as?I26y(sL#z|B*|t_x8QOi=4WCBsgDRoo#$ zUdMzL3qcR2=&N1wL?=5B4k^M}VkNtf3lmuy#;}rO7@f&bEli@wgrddPl8<*`YQdGP zbI5xY<%7u~kIpCJZj{GsJp5r9UK>_oQo6j@NSCjp&D1 zM5gswr66Y_@i%lj+CHnPdm#IWEM8yaBu{;VYMEza5UAP^ymsGu9X<+9%-w#|?$wy=YRMxdK`dwEcWL|Y(NX3#sYYoyYU^9fP0 zRyG0YBc~2)G4)JxaG9xeMM%)RPtT|$9wv@2!U<-BGopFZ&@C%5&kWViA?ic9khdr0 z6z22QLfOXQqbmB3af@kRh2SME7xqlQ$bZ3viTft38ne;O8D@;Nh3q&<)ypJrK}S|K zg&or0{ASeHi>0vBYNwoZX@^PtC)6AK#@3C&);IeV(vi9CumXmCcxbmz4{Hl_HxIdQ z($oaAhV%2yf(G(pgkrPm@%Dvgf34%STERA`emmi@w&#LjW`c#Lr{*`Er@%Wl?B;!$ zw@kOcI;kjs|1eG#x|(ZlT#fc8HSKCU=XZ$k5G_~9T6>`JEF1~nX6ALX3;hToc{W;CUb!+1-kw8=UIaNXPC?9qB-VaK4&=r}l9anD~ zlc40wF}`3TSyP|)#%=mDD9dA$eJ@lv)i>btcX+<@%F(ruOK1@bmrN86X6WoQ75!lv z@MitKv!AQQm(J?oqgJ2B;PvLUL8R?ft=6bAW{s3IK3T8O?aQDeTAKro{2b*)++A=F zO;HpdgP5$igf&-!vX+=`?#vc}qB}@JH2ml~CuZC{;FE zDxAUUHE0-hm{wt8@P&aef7qgaM#`ef%l1s*mU72j%Km`S@Z5k!D3mS#C*u#W(7PX;=vp>o>aeKOSX>vfpiBn2^`?Ohe;{$3#{Uly+(G6X|zp zcw#4rX~_~(j8^3v)Ap}Trmcr!7Jfp=(^!eNbJ9a={OCL*w|anO6&a%-r<-**zbi!Q z`tBc+p_cj`41HAH;aiD6s@FaVAus{hbn#L}i90@Wwm&k~Ng3`34L`;!&Q8B=(n69j zXWx1GIHi+h#-V|og`{WXmnc;k*!%CF&q+NKvU$cw6*+q?iF`z-xTJGcH1GS7G#?p< zLunlSb|z{4tuYxa}iPX#MNG4yYO zj8JQpPQ+bw*bbEx77Hv;d3|1NeYX9P57;6ShdGVo_EH}#e%&z#rx+OzZKbuQRJ~VM zQ;FXy43K77VwH?WyO0i5W+XBA!S{e6J|V@(nzNSuBVlh#(uU91HE=4C@P6BPHfzb2 zntMjiM^s$ent+#7dqhQ;jG(1Xc_<6Ff68B1POXOI=R(hKwI8K73O);ZW_q1e4bz`h zudY%Fn|#Ibf?4uPrG_w7D|yZA*nCPCt$5NDPo9y=5kjI_iC~D(%I?zs49;y3Z0&b{=rjql7|2zrVvccpi`?8^JbAHUVtSy70l$RVAeH zF0Y1>epW(m30qh?@x9Y9CA94^Ea!kmfTk1$20|ewpL|?xqM6Pfo2kzmFBsEPtq&8e z%%_H1moM%=w+3G6*%WRaEaP63QqmVDxOT2?NqX?2qxt10?D{46l3pyl+}tB*Nawa@ zF7EnkR*fFY=`>$|LtJJ_=-th)?B0E#X?9S_!DzJPKfa;CwElb()^0sTfHul?X-J7I z#6vrg!^>)MM?B(b^#Pf79&rFw@7ExAJxXRxXdq+LVTjC4^Q!K0^?anpkii}7LdxEh znm0!S+ISAj_g27NcW3bEc`?T{BuTiVX{d(pR8+>eJLLU5Xn z8&&!T)ihK%3`At;Jmv0zI72o})@r0&@l<27Pwa*s$XS1{8H%|VwG7~DH9hvLO5qOO zBDNpAHW(!cBN@h=)Kb_*Ibrozb2(`{!|Wy7M+=CNb%Q2pkmHQ^O@&zyfN&7toQsOP`)$6 zH!)g|t0D62w!&y}QzTWmL`BQWdK-NMap<)%@f#+*$EwDS3fG8cIOI2U;W`OF#BN3O zt>ZTy>a7UKdMTJi^llsa(?ljGNH2XU8XbJ7L}}BB&@#vrcEc$2zn~=#W4Z zmyVJ-qL5##r~GL_TZ-LByEX?>ZKp`bX2IVs~!tOOpTkm`P{H z?AIk~x%LBT8Js^E^2*Lkb9~&vuvXA9Xy0!xsgf0~=Hsx)pC0%T;&*m&2po0K+Zd8? z&MUtm=6O3Fe4#03W=fd1zDy~!(jX7%o6SgOPz(>N5&!-rNfkRdYT;`Yagg!5;#E7g zlPLn|-?EntiVP@pEpnJkJ-y=eif#gA@z-*+lA$foSG{q!3X!V$F1SWhPJEtJLL3IF z1flAmq5n)47*Tt6pN&uXGfxLk{P88S)0YUJ*6~(Hj%*02g0mE%7dQ7jem(oUfr(no zL@lr?;VY^*{`3~ow0L}%{ML7FE~Yo}m{K*+f^}7*t>doBJ*jBa=`h6TIwU+KR*3Gh zWX!59vUB6gjy?#~9ltkrssk|<70KnY`#)v`*2U?N)l0WvK9{o$=GS^V@8+#8R#x_A zMk#!~@8s1oZ>B0N?hmc#kCQ?OIRAbvk%5K7x70&Hrk(H`mV9i-S|jc}aVKG8LnZy^ zKqD*;A|AuE>(s_;WoLbaE;VW&!H{xhuoj49ztQk7IFEzvHrd4#DXzbuD~P2~rA#x; z1qzem5V=%NG@jMsd*=2(G1`-)m($&6KN!#AP~{ubd+Uy&xTQ?lXyjLYN6>Xl3S-sF zh{UBwgiD97_e*6)!Fh2Xd7v|P`n$l=1Y5U6k13!eS*tW%ePEy`UZ5);LPs{kP4vhu z4OM1S0aHJROoU{mNHwIRQK*3&9_{hQmypRke(0krRqwA=?w_kDa;uTJ%4%6731_`u zQZybn1#x`Pk-SzjEpt09_#Zq|;oAvkk*4!#a8eM0p{x@V37k_1--ysrl_x|0)KOFS z#z84TBoMe}D$AoIF4Uzc`pDj>qQ(Fl{Kdh(>@TD@m9Y)9i$p-`nu}Bp4Hr|cQ(Jj7 zX7q;R9~e#!?<(d-?PW~8$`oNfp4W&|^kDIyFG1{=jQVMnml5`X!zqdzsyqM=oKrc$X z9@@QMh2}PUrKO$u&4_VYWWlOsACJ6FS|XVzPV>Qq2u`P!tC;I-SK`@l9SOdH#UlB8 zkw${1kaa0;L&hS&7of$&iuG%&rR;E;+;|?5SXJPG9;-W;&y==OsQF zDmT;&O+wh*mh=6YheQ)pM%DVly20Go(xM2jQ{STGLP}BO_h-M~ftJkG&XGozi)6u* zQ5ii!YKYsP+zR(=cl12&$K7yFd^BgXwxLDVPL` zmtXF?#j%%J?H+H&S6)XV9e$^L?epX>Qe1EA&+x?LpxmG1*}ZJ}cU#b3M_R5Wn<2c6 zT1%iSQLcm6jhr>7k?|#CGN|lJT}2_fESeX}$B>MO%GA4)d924H>~4ngKUhdLRQFua zzHZ@!3>ieJ9|w0=o;HJ@jDPNHS{9GV{w`&M9IV8_ zzEmzhT{X?|5D-}>OA#uZS=asLY&pz5U02;u@iANf0 zIrzpy9c2hGF77e{`dEEb@3;Y7L0C)^4mg3~n%SCe2ptmhA#BlT2|1P>ACOEDXxmWp z*;sZ`lOWRV>^AM#06}rSYy8tZ2=aI0Y#xJ+7zvZFP;bGLF}C4&@KFr48{`$y|DzeI zy6xC7rfg@^+ms+Lqc(2mFeI!&NNjOit{Vo!Xn;QP3MhD)CnogyGy3CXP8q!F0OjQ- zbKGIsm?!OqqZ@_YoE(hlLm!QKkTva44P+|Tf9mkGY**7q&meDFM1Bg>xR1Jaok8~B z(8T|r(1;m=HwAoQO&a7cn~Wn~AL3$|But?pLyi7h(_I$j6bPAPGOIpMnrf+(NbWn^ zXjPlq<)S1Cltu%y+mseVdHN((-5ssnw6F{?{!#et7M63*OrLeycv-tkr@|!Nzb!p% zeKlpw95D>LDM}K?10JZMiof7%nWdEJrK`1eMmZ;TW|TxBTwnME>61|}Tc4Z0-Ll2( z4-NH?9|s=ZJInjDSFk8z3*zrvt-N4G$KLY-{iFYc_ZL8-%(j@)1TtZhRDx^ zD7uk~!|=8B7rwc!0%MYIgr)F9+g_d@KIaU6S1H)y;g1QLd%J#HT3Tv7BTU5SNJi>& z4$a#6$Wd!Ku@_Dm^G%r!J(PT=SaJKb^~_?e%~R;_d)dy&-pt9?$_ zgGu++i}inVji0w7XiYA11l$K{MmEb6Q62}f#7qNW?{b#!&XZU&1XU_@bbB~U9g0a6pJ zyT+sK5_KCvy9(VphAjAdfA<1{m6Lp{w^vs*kt+FT7w&#eE*NYb~5c*$4aP zkNG|@{pvSi?_dGwvS@7EQ_`fdd;q#A2@1yR}VV>A`f$fJa*#WQ4~qZ z52dl2@*P+8Zn>?tdeCNnpbR#;zuX0pL|~aEo~Qh+w3J@t9XhPNgdfEb<3EfyBtm=* zTmem}fB*i~^Zh$p*U(S{S%Y$2-qVhUPXn=}v2z(pqEB_vv$d{&RB7I)iScCi-})9N z)z#Hi9aXeCuQ&}FYvT%g-xLB`z6?Y|kwWS;czIzG7Z+FGcBTq1?;%YpvcmP`xlk-J zOVhWp&sJw^?Q%t`U@+I6-nFa7=<92G|(O>kIEl0mV6_-cy6^$Z9i>$(z>FTw=s z2{~-V(ZHa(yb42d6%+DE4IMU8;f!?(i@rQX{Km8bD|Ni=pBGBlwUd~a7T zd^@AzG#QeiOyaMFSPk&pUZVObbZmttC=-Y3n)j#L!^;|fwM4=4qDbydjtpuIhdHJ>X*p^5DU(^zwGguteAbiAoJ zN*J>k+P?w{k#MFkZmZW{o6CD4addQ8XqWx*XkuE76mzFx`Vz2wV(75gNN~>0L>*_G z=EK-}^Sj-zNu}ufpC8VYIMQL~kUl9YqT=A-6#ulno34>G52|KjJe^)_h(-@|@PAmo z>sTMaLdo_1FcQ(n_D@_VrN1cEU|2&_KP0I}ah`WcB>nvs--nfG##rXBEj6n0pPDw| z{r=754)lC9G@KYD^&c%Q$r%QTX`&|tIi1TIlXu1ORliB~Seg+ z8z6M}THZdw()tyWdcS03yghB+Cn^4r9XXf5IU$q?((-h{yEmbzgaiIh^Zrg3{dn7a zXdv$q44EY$v$n-a9Z8B-CRRlI8n11sF9es1RUc1W);L{GUBf+pfkJ(z$GY(~)@Y#5X-Wju<{;lEdN| zd?v3ra-NdL%d6i5$=;I?Ss+=S-C{IN@dXASWjW1#8%i((t8JFhblHjbvwkr8ar1u8 zam@(JQMvcy#h~d$RLd{Zfv=kvgQT&o-^J0{KCSSPfb3e)a>y_)aK!ZE#}9C{K?&K< za)A_sYWqwu*U%7Tyn!ukCR~0XN~VJ<*ZHt|mIi`D0>Nk95~NUdb@e{9NOgw(Max`8 z4GoRVi>3o(=V>`wr=#-58plnEP&DFUMB1z_paephjA$TqR}Yem{EDZ9Zo1#g#E@V! z=|kwaA9Ha3=Z8cNdE=aYu>Ow}F}8YOjZ^iU<&N2En4;d1`eK)JH?Daxg57X9hVBFy z0ZOadMEbE=YTI7|!S7*t9kMw6xc2y=*Jtaw+cAPH9kc*?4%5uSE-p!JyYKGD^l8!e zPrV}@ySvz4KE{F-f82&!g5^tnF$yBv0A~%rs2IL2gd|m`_c=)kB{^P^Ly5EnNfe1g z%HV|5n2&s!XzjPm@uU%B%7_o5Nq?U(v2Ti8DHQItYMUwK$lqkX zI)^!uqN3u8V=pQM&dq~yt`sRzVOG0*7lK*_N?TP9mYKI#z%pg(NdMZ<&x)4FRrlrc zF%F+QN7d5b@XXP4W|WvE-9fJtKa_yvBt_9J{+hUNt3PV{uS3T@4fyOxxB{Q|O16r& zwv00+N`p>BK=O@UxGJl+c)Ytf5fRE~Ii)Yjl5lb11OhsXj_n7&P1qD>-GR&9k!AY_ zkSd5?OBe!#spqlkmigouIUo)&=v5o404oLijMoWDnk-ZZdZB9Rg0A16qSS$lq$y0C ztiaR%^8)buef3zVDwr|W9zAfo_R#f7ryQZjtnGZxKm$BoxS01w*VsK{UB zzTD?J5f)TfW3v&3l7rJ?Hk3dO1xoS&Zq_y*c9b;8$=pWvX>zWozap7DlE7Y1rDdT9 zf}+_v#uWX11htRdGybaIi3r5_cTnu|^I=A6s_ZlW{rmTMAnd5+!qa})qO$#l0s-dm z=t#TX2B-7+Z{_wm{=D0^yUd%2%j!O7M)sCQ2!sXTRx2eW33J{po!^D#k81{?nROjN zR)%sqHsR0N@86C*zki={Aas6TCj~%?Mc5@w>fj?Hd76l?KoC4?8@P#%hk*wDGDrpnhzvUGZe(6$nM9h*) zoAse&$fEY*CTE}B@9{IJKTi6oV2eTV3^UhuLU-P20vO_gJ&^2Mbv1iOF_w~0Jn%v= zjhKK;_juFTx!ZD7vE75rT3A#>eG`*Pt54VYX6i3)l(gQw`DhwDB)2X!jO9LG(}MCo zoUCauMB;ti4SJ1Vm41I2fBgKp-2UvG4|Vcu#1CX>kI!eIWg}qsy0#*IN}GQoWLELm zJM({e_-OxiE(3HO6|JZ8Ak0D}0$!8)#8sOP!Z?mFH?kS`zzR)7`ClufFh%UI0@eBK z!Hk0-N!9geE;=+cbm52fM3f#&PKx;j5dDK)1r*KAsZ$NStci{ZqX}eAvOv9gN9=}O zAQQb6&AVpBDMAxWmN>NGNdh@}tQ~hIKBT_uv9YzMTH3CiZ$$2lz}A1ho_e>P&OUGG zFI?sBKKKRtRnyhDpy?Y2*JCT8t8YPQTj`cL5b(S5c{}=jwm`D^NJ{_e9H>@-xi63V zbVW_i|Bmi=S^W{qaBcwbUctk6UOz*peY8y5i{V>cg8`mD#4v8$q~iRVH28U44^@3+RL!r+GYiv*nY0Rh#zst_s=Rm5B!i3V{$Id~^L$eu{@-Q4;8N0OkVEFu&XxB3{eY`1uifvfy3p=a=wVZ$z3D@$e6np-6qNr^;vd z(57@6(<^Y@q(}UZr~b*F18jNBUP^|r^gjO89M-hkjBxpp&t1NK_`pqJlA)Cyb4?Eq zH7=`jagtyGcvGy*-*7Dc)p?&zZ;-6R+e&s#u(cKA-7ww4C_BP$*)NISeTck?!O`~I z-3~mulWQ@#> zs-bCYe8R(tJK5EUt{5`9V>mDRiD&|RH@cC;KOnpdo1MbaNeMwWFpe0)31p*Mv?Axj zFpEKFpa)1n!AzFv(?VnT;l|n3t6e~do8bdjp0pE|FVpX=B5-uRG1sBWm*I3GkWS+A zeIaJ3`bs-v#OC_Gq`hmIFeC_DBu~FWnq( zxjUXXs*a%5rZUu;PNI3ybeR>>Vv&xrp|;$FdSJy{OdU727Hcrt+**KOBb0-GiK*7X z<*}%2wjv;^rPgs=R5x?|V8LcWmV>&x%Ogu?h_kjYs$BkMigiQ1Z7cDPEJ;EY%6fa- z{d{`7$ATMOxAsG?RklDtJaQ6 za{atAxfo!}s)8H1T#ymbTDI*2zlCnLqz{ghO3Pcv!5|*6iD~nQyj8($+wO^&Z+ri9 zCi?6*PSZ(}F;$@=RMQVw=PL^VpZKuu8?U%yI;nKW_v2!{4I9W~aBCO?4`q`jWb&i5 zL*0#|J(b_LJ>I$P-y;SMO-53~qUWDarO0e=f0Jz?StlEb5?zgDF@d|SEZZJ!U6)es z(eV6j5xEY|Iv>E|+Z2CPoPV>SfObxc)s&;GJrx|bSS&&*Iryd4#$D~~dC;IbH|zO~ zlOaHg(d_K3lY1te+X4XSi!`l@N$!jS?)NV$g86!3Dn+15w8p42;27>l;xIz+;C7Fy z%HDnqU8l_YEhx(1z)gXc*1eMX$6Dj5M`gi-F`J#-oJ*jqg~hMAVk7>A;mzWb*~s=- z+XVQhsHiA}4doA@$8;*0E42*`l_=tko*(bQliNJ64(2NjvrzKdnr8YUu-?wui3iE%y%H`taZRD5vy?uA;(YahY zF=(`)*C+CDT)>+I&*(+E0f6%=P4p$b)7dhdpHOYY*)N(?65fQm<&P~eT?4OSp?P?a zVBV->7Qz$Mz-Gqtc1SM;Xz!mYDk?(>&Ytp*Oz8|#QwmQ+F?LFCZSakIt+vnw4QpFw z_bc+Q2HP*w6*&@xrE^+x*e$RT4H|Fugg_D?NbSlhD%}~}wve{l+Qudy%sw(Q@^8xs zXon*sk^Wu(=>?E6o!wL>i>sluG~)T`K}}b81pIFK#3q)2GZbKc&@7UcOvaXt(`}DE zoOMooYCRbM6yse#tKSq&-X90QD?*wNS@^pCp!;Vx9Z=TShtPPiU7#uLhx`#u@R%*f z=W^&yP>l|IivwyGfjkXx1(13LxDKsMJ$`AIV8TjCa8D0z8#IRuM4 z-EwA*4J@W2he+uCY}8^>rNhP-bY}vi({*U)W*GyH#smeH&5noDD7b3>muCpm_IrLl z@jVUy#+O&0U!FkZ_rt{xN66cU8vlB{znZsoNM+Ig3`iy|u>V;`ZVE2_IGP)LXn^#I zCWTiLxu=5kD|%Oj)z$H22y=wAe$V&&0I}_kq`E9wmsEpxxC#(R5GJM5@99f@|MwoY zucT}$LsQXiji{ll@?i!>3w}Yj+EgR0H^$+gD6DDehd!Oy;h-BC+bW7LK3?Qr-LDdb zy$Jt7hvDKO>t*64YG!;`d4%rFx}llK^*xt)=u#1PEawJn19jq1pE-Lk+t>0=tFQ0n z^xr=5rZ zuFTI5)MLTZbY-k`&|B-j_RU?awWJLG*4&&9@Lua#M-+M>sQZKtZ2{YSzkmOBCO3NxUd&BYT2LkcQGvS6c^H4*_x7cT3h1wtGuu z(^<-3xv=CaKseg4qol+l7WMJdzcnMWkY~G&cbPoWn@q!|IStJ=DLaB1s6L%PL@Ch8 zaB@Z`@uUwBQX=I0Xi%V#$RRdhNQMM3$G%Y~13l1=M`s!Z7i7W2LS}; zH8;MwAn20Me9ye009EAND!70W>O2>vurN6qS1xm%d1v>@Aqv|pGO&aGH9FPBx5BjQ zmcBwwmla1NJQ;Oe>;%N5?2Xp>PU-p+#}R99)lo~iA_g%ACc9vysvz__$*zF{sQNjS zw_M?n9)3;}Ouo%;)mv3t8__4HOI43UE99j&$R^IZ9z>9W;wUViqmV_Y*$sgB6#sG%2=U5RY?C2lCbp4 z^HV@QL2WJ|#kJ}n%fPcmRKI^cqqGkgcp3VBkg~C2Z>86EE*U&_*E0{EK=Tx3=vpBw zRdCueBxJvkbF6IoMaPyagPWOJDnC-H2f7?OtnJ9r(PL~>o78Ei&VMTHz49N{t-GNY z30?iqdxPG}%v7b3qm~2tQm-hkWf>!?hy^(F3+wk*J=UYkzboqJSD~%nE`K&FAoUi= zhV<<3X+Q-y2F>BcQKmyj^BDdbAZg-N6J)7COE@qf)8cjnXe%iMNY5jyriQg>mjZ$R z3k{0kyjXww6f=nF(7cNa1Q)FcG6j1?CZ}tnFX(S(<^5J11s(?<`pZq^gr-_H0 zK4v>kzQ|EOb$EEV$u>v62r%^32=4}CLtg><2E#j>c_cEbk`QG%3WDFzVFJEc+GDQE z*R*NDY+{i)Rh3S%)UpUBX}Bj8Jl`rlx0TU4;Iyzm+iIXx`w~5+7X^q>B2o^iMM{t> zSXPi>mj3FAU}}hFj{l4689GmV6a`D}oB@bM%m`SA_P-w=|7E$1ch@ih8+Kk^0N}UI zAJ$(;)^D3Z!Iv$W0lgmxbOJ$lJ0F%JY-Bu^LUo1<2pjhApBK^Ke?(p&GK&#VQ@Zvq zLgQtnQ}&J*Yn}A*$YC`NeYq296m8U&I5Ni?wL@t+JFi z7p=X#ne|#dG*j@X@Pzkg)^*0r*IlOsU?qYdnUuc4z=&HZ$g`-+#-e0DR3nlD!AtP0 z4Qt*_kot?t!u#JiENAjP``cgQxy`h3LE~)m`}^HrP#&=bxovE0tZZzy@H+3LePU#* zSXz%cMD8|%nr!t?nfL$|wsp~rh(*I@IZovD_YkKM@mqa;@_U-z(R9vuRR~@FsqI20 z$M;4XOp0$eNzFvbuFkOe-CTpc-h4D1!CVZoOn>R{?azveVnE{q&hulX!5BDE3T|%P zAhUpb2ljKfy+#YFzfdDqZZNz338#oR_tUPsbb}=*reIV0D88l1I?Z)FeV_IWdG9&}C z)2vpzW|1jEDiE~L^nSho6ZL;cf{@&&hcZ0`vnUYxiq!9p9PoGcb3j%Dl!!MoGcypX zzKwB9!{~xH*}tk@P)cJ90QEcRJ&hzsy4^fGCI&1tDk>@vG$w!l2I3shJ|O?FwY3f7 z6Y#^sHMT+>-oJ#raT+#Kt`yhES1=N)8J3O^yed2AaBm z3Zf2TbdOA}drVaoSI1nI&;0T?oBNZ605bWLoQ_qRWSq$Lg;?&x(+a@>TsO{wMN$a_ zNVj+bLVL&zlb+gTZ!}LSR|Ie=psBqOV#S?1;1frW`%nTfmM;hj$n*^i*GS5_0r>Sf z(p}#I9I0;Qn5sOQ=;Jxhb`l0ic;6h>J1&~_=j~_Ua3z#AG-hc~XaG;kDVzV4Ur{xe z;oy6u>r~|q2nh(dyWf1{FUyg>veC{B?hFvOY&2LlNyyWF-YE06lGFCN+VePv{RY>N z04qyo^kr5)RpM2OrWh17Omvs(+dP=MFV-Wzdw8wY9)1|TSeRweuO%A8RBeJr0GjGt z69Gbi^>iUBE^n+9C(x{lb|PqVjJEnB78;0=<*0h5ni&`v@OeKG0m6gAq4S9cFmpbH z)hu`ttGsi;_A%Q=Y{;yS(q%Sg&&PE06p13aA?MdM>Dd&qWL) z_2YAMa|<@cSNh4g{;4k<10*Mqjg;y7$a&+#r8p@eWUeZ}ir>V8(f}DMPyew(Z^$%O zScWFi_~v-gzQ;;v!j`kVx?P%nHt%ywg+i%%esOUqpkyup`{4+}TSY@dT1`#uct`8O z$r}C*3DN7IcR+rOB}4fB^C!@f*Z@}w>NenfOpX_-0nNJQNm6SuWbkkfURQX$>S$a3Ny9mn>XP zBz$u=ut6pj$`UbVr}Pd6lNq2P?>2iX6it0MoapFi2-)|QL>O>}0Y@!-F*7t=R62Ic z15QN2=vn^H_oJD-u|SCm74iKC3P#gbB;)7HA=>-%-Z!R$?>N$_GRH1KuFiqTPlc-V z5a}FpN9eOpWr4K(5a51RH~#_F*X2LS(+n&Wtaz8<%RfzUI)IE>o%~i`fgza!g!0Fq z_RHW6+*jQ+|C1x@?mw+U#5baS0DT$|%RsJPXs`#?jRpY|usvS-jClox2tZlCY_Lv- zF=QZ;c~G-I36?fs--ZKVQ?NNp|Scyd-m0qNmn8 z=Y3fZB~p=1J$3W>hfmz9d0lhptb9ywhm5RZ6*0Rud&4|*pai`V9GqM+6cfb06ud%* zk%*#U-0^?DfcDSGF5y>+z$FXr!-UC$xskPKc02As`4H5gAZs^?gidy>hzX%DcFoja z9mC2H1FJBQh){Ft;=edp+h~myJzQ^Y1=;*swmpJM7g*z z#JKddGXCvM(8-Y_9n@WwLQF|GDzH%Xu_PF3rT&nb94#H^h)WkpH6imC-{Ubv!SMJA zvk+@4q`@UC6hW+uDlN;sSCBhQEnHOq_be;-45 z4fF0QAo@Q~Q9SA#EPIb7uq;`)|N7q#VYW*ASk%r^1<14Gva)^HKck~@CjoN;ACyRo ze)u2cg=uy8@Pq6swA$hpWvd2=RJ_-`z~~cGW!$^TA~>vNgdYk{8${; z;z0D}UTJSEGYmaY_fvC-@a>9=H!rwz<%1YUI1D?ZVv%MaarOX+<-c>fkP^iQgaFUK zvznd{CymWO!Ab+767a8>?v17kU5#==XkQ}t1!E|u(*7~>mOa2?1_9MHKgq@;^ZSjx zdXtaj;FT|F`G2xm+evYQk}Yx6Q|S0>Thg~WmF34N;5uKHEd<9yYYIs17@I%l=9 zF*xN>hc7a4vjr!CWZ`FWze5k6P<>P9#zfTDiotcri_G=M;#FVJ`hkmkt>d>(sB4tH znuLpstUEV7HB2;$8GR>>>*Js~8U!maX)6Fs7^_2rW0R}^UptArw%{cUHqAt+mHE4?lerGT+Gfs+n=PHU60t0Xyprk;e z0XH2-YR-K{KPfc76UK}Nh^SX+gn*Ag*d{MC3SgcV(ol3ueZ5tdFEeKi<+vu zAGmpW4k{~I@IhT%vOKj+EQzAMJu^^w)*H220j0Q7z6|UQr4eOO9;S32KA4w#2?a0fLgG!z~ljR@Z(z4PVitf0Oa&^i!(Sl@jy1OSGqMu+vg z&1#c=q>Ri=(A-&!WpKaG;&X~Jj56LYh{iILG}y2wz{C>12Tl-P&Kse;Pm*aMiES%ZZt|wv3;S*hBJTrRn$Ve+} z73>0xzY!|c)Ya6OrteK6$ZfuwnB-SdM=qGMvdWm=cGFhoPo;gMs3s$ijFeC8uv>3! zROH`(GEE<18N&&u7`?qppE%7H+#OAC?!2FM0m~p?st!n_D*XUN{MbS5w$JR7*7>M} zJYV@;_8{~VuIJ^!I4(B>=BCR?r4B(*aYB>2@!I?YZ z(hY~Ftfn?|($>umlcWmKUWtI}1Cg5`;@8d1O?2@Sge)x6skafn5}1Uc{g5TApa4vh zVS!W&H^0@Cc7Y>jzpQq==SqlagaS9p4VeMBp)T)z8ja-VZD({$wLdoADA4l*MGRuU z?CF4nIH1(_c2f=E1-MUc*Zp%Zwg;~u_nFH9)@;dSByajS!!_^CQ}8$&o0pfc-@{p5Y?O$86F_{wo_FJYi@t~-YU~JzNf&?=D@&N~ zJ0^}QJ7drT*V?@uF8TURFb19Y?spO)rh;N?XW+BCd^+ic1QIB_+o3ve^9(~sU^&`sY`+eGPr>52Kp<4-ex?i;om+ z%rjmQ;?{Aw4+T z^R1y9l}QPp14Qg)FEJ(Gr6Raogeot`BTC(hQdzP2y;_ATM^PI3z=u0}sO| zm8FV~aUf2^N9xU=6qk62;?KIq7P+C-@yVx=3v8<>?Ll z?#Yy#gOun<8!9Yny4N#u98N#ruh4zdn# z`tkvW1!7fgX;-G85MkXL=(x*&MS6spCKfd|41^BxS@Ov?N zIf3lGubksh3q}ISt~T8e8>K_r1$>AE`FnfBKtfQzvj7>ACpymd^;`?IfhLfN!NCTj ze)fsVK*u$}+Yu`G92EdZXmFa0rq-&RP{xI;Mbrl81%}j|r^bWIz5WU&(N|sC_ zl)R&L)=P2ZAFqMS0-}K3?eTUtYY(!c1OeA%sHcnW*6ZL8#@JE)P1n;3{J^urtL0n8 zUN_eUzG8yN=e!&2(N|yvLM_4udH9y*)*C`q1DgQYjWL;J|6Wwyb5Nhl@Cp||F~E?p ztI8ICJJzDEshK!tkq#8W*F=s`z>t9mXC?;9JH$<$Vh+qos`4Mpb#P?5qWZUF47mb4 z+kj{h+@nn2557;L33A3yKv`&M4@T|X0I`U61>JaUAS2ZU&($TiU~lJoz#6zQcm0Hg6fog>7ILk=hwpc!uidGV;-6(Bl@Jrm-N zgfs~I*&b+$!xc0hMu+nB;M5BNvf=maY>3VZ0Ilc^f(yK;Z3@z62`UXGE*=R_mr*tFT-Hnpc(nu(sQX-{*bcmElcbz@o zf1Qi7);U+_VivGqW|(*H{lqVxm!N|JxEo%x6TMgrQDJ!m>J>-x(#PHV9!{bJk(>z! znn)sg-I>9kE4A>hBa%+ z{2+P$9iWYPfzd%7Db_28H3?LcZg=~Y=Kx;u04g=l^T`+R&(#H#0Dgq(;=rOpThxoA zWnz~9fKjMVU}0_vROYR%JU~YcH1du8dJJ^}U?Wk1kgLRE_{GB}SH%-31e*b09u+qY zD5!w0BLzfioV)TKHCPA=NhnYeL2FSU35M`mE7|KHmcM~&z@Q%- zR6XQCS!>ab*E=cPfD`T~reSDEa@_kY0V?Fp)0U^HSh{SRsJCxH@wF3)uVMasGz~!O z(bc+@9zayP-QmJq+rh|*yzmMLM4{XtNZ!B#vdPSO_#x90$P_Vv*1S7DGgL|oVZaQf zAB3_z0Y^|BB0mzXY(s&(F3`3qu?PcTP#7e|x8Q6F8aR|JAkl@>G|dn5tAlAZ3V<25 zcXq~{vxW+$T>yt;WMniDI7sck(%M0%WJv|2|JY(DFi|ok#)RtJRWdl2-+>K9r@Ara z-{);C&W=4=P@B@j_;RL==2Ivx^_DsF9?rb_FBnVo-@7po=Fl@E{wArsxZXpaAG0rtf(hF=(uLZNt7P&eT5k)dxZ7mBd))kZTN_XMy--ruG^M*U+= z4Ie$5$D!;`D0VdSI;z1$?W1mQbSyajdPo0R@pTFnO7F(o8!@hu*al$1f^j(;+q?5w zP0c%(Z~kY`M0UsHwQB2#5lK>(e-Y^&GW6c_Y3f{dHCLgf+R8kIfN4sOd3&brNwp)q|JGpO0G?$Z;8=9{eNp4nxQIL~!a=idw2e@cy zEd$C%;JER^adB~%$!5N7g0G_NY1rK0H!%#eFm$xEJ_fX~5M11*K|IvH*w|Q#?EhZj zZ=)RC|NIeN=>I$iCNVa4(IO53ywwnvD*gZQ)Uzzy(AP{4NCPv$of=>9zu|+Y;LhOp z@XG!{D!m7aPN)**zvivSaF83?gFw>-fTZtpR%XGQHlUf2!0riQZI7f>g2M)7c7RSK z`dmVZ1yt3*W{E|E5OO$_IK!aa9DwSY#onIzd;WCc>{k+kQpnjhGmDF{ zyKh%3(Dy`w>|SN+n79uUuG+>Qjx|?5K}5Wm70KP@{2nH0C{xa_mR+yyjmrsYUNvAX zAKy!WCco16cn!Fa4m&_m2GZe_*f~b>cH}*hQHKuN`ZZvG9(oUdd{C)&bNLN=-fWOT zC5k}e222D{cC*$Wf}Xf=*SWd-_5Jj9(0}|x>X`MwF?@KN>mDTnzMQ;MZy*DIAISgt zfU?L1j+@|$Pzb+04q#MRV<>zebc)Hp0b+eT^IN)T7(iW683+`xhoW~2bNRqH0>a$i z-sh*)`4{~B|0yYf)FTqdB;@f@?H#{E#4bw3411OenRARzJd~N~zFJBEHj?p)iT0Z% zi3AcpTen4vm{ZUIr9z!n)cF!~{F83MYqD6vksyK_2~7z7X!zIaoiy`nw^00TQarPg4@_fi8y|xJ{mJMkHNY zx`Dd-@0ARm4AeWt?RTVQli&(N2Xum1>%37w;X-MU_|#nT_8!2rK@Jz}#Qf!?4-zID8(XXMGU;9$3Jrg; zRa34;xz1gxEEeiD2LW1#7PCD|c_FujO#9_+U~q)0;QOBx6ckI>L9am;*HK|B_mU`D zFmia{;;b$Q@vi(566tt@#GbA_AT7{1It*TSLHlB+ea> z?#_a|t=oRw5&R57z2hLZ;*g-Krj60-*9B{g>gL^7M@K?fKYSJ|Y?h_0r%JUfvUps2jOylU+Lcf;_nb3(+SBg*9>{rsNRGr*)!a6qa0CSU`9mX;8i)~4V9Vj$1b7DCY z+NP!&;7_1U_;rv@H30xcp$t6#$+Y()6u}0MWSw{@JOhrRV}yi4DCi4gW=a)fBx;Hq zmX?mT5|hBCf=P_YJ6(G)y4FwEXv9x8(FrmD79jzu1HM1xOQOT8|k^q(7Wm${b9V15{Z z<-P&kmN3|r0kyYv2^J6_z%CxAPUFU^#UMQ#u#ja=wG|-+__VfgIk4;AeOs}nJh*4rM-1kfY*(Gq9LRs8=pe|bh zHNO%|XDb&sgHnR2=57jCM?<3@Lf+hoY6W{N`yQyl7Zvie2eZWHaY%zfP0uqf|e;y?1Gy!_a z5%7q~OotM}&yVZRJHVVE?KnBX)%y*E?Fq2`2~8Vz-I2EmoMN^8}Yq8Ibbx6{n0V@i+no+5yM3xjBqVQcQfdb<({h?E| zC=#FRYe4nwEk?P}WT0lpOY#WXy#4ukeR1IL;D|(_I4azYQaus=j6@SjDG~U2{!TKi zpdJ>vJhRQ&c)5)t7(~>ib1~344f=4H^_YMbuJxbS0SMGtI(HzpVqUL;)p97$lmPz0 zORyJOci)mugA%@C-UzS+UY?%k{`V~97Y9FU24VVx?~f`$s4dq~<}zrMf(KckU~0Ej zN97o3w~SCq`0^4>KiR4;eg#F#0a#5+Us-9K1@FN_Xb0v+n}z~UY2+yGFiYPJK%(do zfG98Vt2-O&LyFPn^D0P?w8I@SiCApfLt`xr#bd%uP|V!I(v8NrqD;zO^gsR5uH)cIT@cz7=%`M9t77Fa}H zycIWcguPZm8wmV$`@nb)JTzcM8~Zmcy1%u_D0gH}0PpA5)~8U0#L9Is@#N{dGqs=+eRf zxQQRy+{_E$F=5~u?qr}sMnL@vb+br5ou)WAIH2N>zysqWD7m1Iq3zS@3yg5c7n5XQ zWse*X!&&@KGqp_WaHlf6r=DHww&bo0{7;G%;bkqf0;P)SEy80VVQ(+L&J)aI1tg2+*+y zAjSMye|~y#>K7QX4B&gfS1JH3FWUwM&_!`{CeKFWNZ<{E-m1T?6pNmSvXQl9^0_n7eXR zi2Nn^b@j)OAAm~u?98KO9#B48r+yG;?CcH72SED`wmE}<3p`a;vt`N_m+C`U<89;! z+A8}%Woig&pQpo@yn#djU!4JO{d*Uy_@;+SKOM|RK;jHP4mSsSC?l0>K+QHRFE0=F z$xCf?QSn$tQu11lGER*d?LOGG9)db*UIyhgD7*oES`F)Lm{MbFf+DzKE7 zXZi!50H}zeC;~_M4*(g5^=w9yeV`uo8S=qJKwVpd0`%Yj0xrD6822$6MMoBpF}J{n zI0-H2CPjQxCG8tEyzGZAbJ2o?i84JPXMd$0px~I4q$#-p$T@21lLZ8-MFgf~ zi+7A%T_;3_#Z={(Wl$20d33wI(`2PuT!{CI2 z>Orz2Zy>C?(`CA{#+K;!DG2AFQv=q1D4h)2wrno5??B)jvHKQaswX{rtxu~UZ8W;V zue%p#>A!pl>TT#&l_eeq773{90yNnr4qYyyf>*WjPE<~x;JBq!#(+ESW z;CfN=!wBjqIH_|DN&v-Gf*$MTm!O!ij3+>xZrmL<*xj6L8e{_*pE;N=3~D-LK=B|P zZ74pyMM3xqRYC!mICBC;FjA!)ZGMEA4`46YG4AmFM3$P0V9ZOoe2;;p$G72I5h z%LfOh^prJXoF2!1vL~KmiXm{Da8@jU$BYM@L8OWKuRJJ_MnI6qCUGGEnu_(91=+3wh?LjQ>w+6u6qpl_MOtt zwE-b5^FZ$i%0F^|<`pLCzyHr|3f>6pHDBYRF>5~nh=OwP8&T)pYuhc)O_@CxuSSsmvaEKux;)_-6ZH*~oR3T4r5^~(RBfYkp7mi2#s>W*qIrUE<~ z_jG76a;dum>_wnX833-F5nv1a=a-te27fv}&%w!2!ofGbMBWpF5b|5hS@xN&MTBrUSPqY8p|FUq6N(_MwhWtJtb5PzZ`4pa-LEf7 zT6?yw&OSabJ15=Uu`Mqc`#()}hwR?XN7_yWw~}}13UB*1DR-C~74P?bl@oF=!z^zl zvVf!Nk)pYYN;t5F}D!d9yo+m>&=5dO0at{l?Qq#zd z&K+fGSg~TphF1c%%>55(la~lU8*SxL4wP*F<5HnuPdwo20-cE$By6YC1q!*vL zpfIwF6I_(@+;PKlBN2RGnSXM@%9(F7!-;X`g9aa0&d>VJPXyqs6~C$&>j;oeA{>M( zx*RjSVRs_5H4b|H{yldbIo!X+dUO<^`a>VhzJ(6Pq)zQUI0oQJ&ce|FWLAe&QJHb< z9gEYE`>IpURbX0NDW4t+w|f}JdozEl2V%Jtc$JdVla@aLQ=MJwW%gNP-=*4Gp}6x~Zp)d^jDGBufNz6mh%MwYk$#0-biYEN1EPSMJk>;XTn&+6!nEa>+ln zqSLlDU(6J9h?L1?l2?42IDO+u%2h}kmy(iH5|qi!of-B6ZXuR3IkrKtV864Oum4pj z5gY?O8mv-ecEKEiMhUY*wUbc=c*+vnFui+*MHR;NYkjr zPK;XbH*%v15u>#fm51$t(e(LKqe32;9U8_(U!S>G^|xnaajAc#FAX*M#xpHH3vS1v zn8jR*ILJ-)*SN2I@kyfx1^LsB3j2%Xq2-Rs*w`D4mU*Qwm*I{^Y%TM#m73b?Top(&}Xg*l;T6D(hN{c^%BR z&G+z-7}_d+wRLB(7#ehp#+OkS7!OP8&o{$J5y!$hxz~+`EPm8B$0Wc=I4m@SS0Joc zv9xz}Z1qO&Q?#HXxcE?DvP^0eB7nidOW>XM+BGPryt+X7j-q9mP)|v||9Z?J!DFtn z#h&uZdI*IqN6_f$&oY)H{0H%EU?Sg33P!Ge}h-LdkH0eMD#vv^|MdB1na(5C$o$w>+6%C-h2$ zvSe>-b?_{HGec0nO`_oCcF1Wk^0+GpU~%Z9MZiTYk=~v}>lRx`d{wX6m&fgGLGzq1 zaw`zZE|GQ+tK;^Dn`7RLhoHqBiP{g!I%EVkh-=+bg!Rc!1t+%!XqH}+_->|%6V{>K z*ruDZPNaY8l`g+VW#fC?_nbV;Rlpoz-{^WINNU&YYh=S&{~Z3KT9QfsW2L~)oR$m* zHohTmy|phinJ3z`8egx+-U--a5{rM%Rb&cGLZjktGu88}L6ZurnBg`gtfBd1eJXG3 zNEzHYvLGnPiOAyMzHQA#8mEb7+-gO8>oyyA(QSq0SXHdUJbtDco8#m^!mclx1?hpq zv{_Pg%pm7sC0#35o2PD#C>K)`lWHtp57Vo?6@?FsNZ;SCQ`T+>^a!2#97}Uar9JKL zL^_(qYOk7|(Lka!;K|b(^JBx92vwWD)Fd-G4WB3QsCb(aE{qP3zKgbajEqOEPPq!M zenw+P#oQ9_T3qb*R`KpM3TBW&+hdH3F?v2$CqJdaOmVofVUAVpLjKXA_fFT+S)E_K z6K#`zdP$K^DzlFp*ECT`IIxe0UdDm7rQ-95yTLt$yv~k8_ccACCfy!vKAydP{ZPqFQ01rM~gC~G?oY4OnFZMq@e;}#E{RjD6H+hHnBcxZDr zb}j1>t-w(I+U&2^~*OpyfW&L=*I~<)augb+XO-K8wRFkFv;rXV6UY}Jm>rgs8-nX{S z6m;dhI9{&KsN}Hs>Y4Q1wG*;>LFvO1Gruu1t}PJ2bMtL|wrQ^4%K*uJeWVqkslBlH zv~WH2Rq=!3i-E=C^cR?T!Bdlieb|+)eM)X4DkeXVWgcZl?@jBH!X4ry1Sd$HFQ z2lX%gjA&Zq6iYTKOK^X4^lz7Xkas79$y;XhbaK@Zd`En$J7DJWo_3*EzWdT@`$|re z`4?83&dEkYY{M;6Vct+lbjO5QG4}?ySV>&N+oB3ljq>)xQg!*L48-=dE(fbv+Kqa3 zCb!W9`rM!PhGB;!^aS+c*!u$MUdxS&l=7CxvdTw32v?>fn@aE{6kCr9c*}Np+R_TcC`O;rloJf|1L3$!O=QZL6n6!+U%D3=AB1xM6_Z( zy)j?z)$yuAk$6vviN582?Joj3*Kbr$X+tdS=_Fl}33ffvr3@Oi@i+UvX-{KR4hu+= z3UIF1;(Z6QYMrAGq-Y^QFp@;2M)zK$v^^?YY{=4KxusPv#@#uTO-Uilyum%XR)pqN zaMAh&5y5g7IO;2xw?{QeN|s8m55~C1#Vr%m%!#?(L`r#=e(Pc$DWK_!8j!{-G~3Zh z9B&{bd%q&9{c=fr@eokW&M;=9f{`yq#$>2G`FxIZDG6>TA)az`!eI2|1^d~3DH29a zg?`MQI5UESpJ$|EhPS%g8>_9d%Jhmfpp56iM58fGwJ^kb6bb|&oON8_SN=r zh1|5!V?cC5EVRBzobxiZx( zlb`!b#%Ise?aq}&B9Qaj=X8MvHKf&;%=TQ2)YWUJgYRA0FPnIEmS9y=Jw#HoRfm5* zf7p2t8Rrb4EcKvoI?mVZcP;zcHqXQm^8kd>BK2&(3Sqe{c(LiMrRTM8& zT#6;iLP_NXdB4WFZ6j?ti%|MnPOr>71TDEZx7Ol#qN3>}-gVZL8}c9-({y6y8d}nS zjUxhaGzMb^S*B;{xY%%AL_L|FLm_bESH-6R*E1eZ3vumT39!F$b1RVOlWlm8*UV@y zYy5g~rQnJ}~;>GQ7c`YrFVPzZzm6t0J9 z{mhe9pdpl!UL;31qqE@tHeE<7lLV=OTD&Y$fzLWX<IfC z&{^a%FtnIqYUd}R_Ge#DZj87?{|m}yCbqSE;?EoyLeHpjhFr}qWIX6Z$Zh3yfglBUjlc6r42bN>k&HPr5-HNdSkY5?Equ^z)2!uT5VpVmo6m2wI)~X|ZEo!(Wwj@`dP5&NlOTzj{ zrKP1$N%!nslO8Dn{Ua9I7c8A}F^UiHy`S0YIxvpxsxOvtIcrZRxT9n{a=*s6hMTAv z;)<*gRA>*442;OUWBky9Rzx2?ZY4^}Ktop|ZOskt2(;}wY%+ZG{yWZh$+H0jLg?6Xt* zes9Z57CQ~VTjLAsjajae^VNw?G&`}32HzmrI*{l@7z<>lG~Cg!YRlf1YkolE4E_+0 z){9%Z*Zg}xd~B39h*8b9e-vMd34ueBQjNDg^1($iB90jU8a4oO)Qnd^RQ5-F^4%xX zL5T}7B+3w4)k%w%i(8R6vtAULZ8FLuk!YGAC&K}x`N`?S){dm;fbZo&{bo3}X`i{6 z4R|tJ-(Bs$+K{}45nY#z`Dw~PYeS=gX%Bz$8e=`i3H?U?%@T3*#lxmvHi0}Wm9c|Q zr#DZM5ze`KbM!{v`{(|Vtj;;M^`RKay5TfKpPo&dW&vcYjPj$F5|my-^qgFuQ`?pA z@rs;Gr2<6pfBf+7|LLb|2n$UYvRLhsty?FF)*NLuYe*Q?<11=W$L+ZTA)TAF1CJ?^@6%DFV{fNmDG9Y082f49mjsPol!j5A)xT zKfsoV?gmZE=mt8Xy_rc^{Gdc5fMGQof${C4-1#7@WhyvUsHoX(>j|Ud4`#M83lha! z+#-o*w`Xy$4isB=~3rSC)_+I;aLD)dG`lAm^*^DGO~ zGxYEwnGVyc%O%BQP02)(k)2P>(9@6udm9B205(1d>c^zj)8$Y`r+t($dI>31 zH~rclF(m)O>hBd_x=SK&v9)(kR;yVV|1*_!NH^23^`b;}(iVrfeKM5RHtyL>B@Yy? zI0li?r}ZOqAp#}djrmtf*Gm~YHt@>N7b1&C_T;E7bu#R^(&Q1*#~Lz*B$3QsXa%P^ zsgK`XnO`AZ+@LE3ZkywcOF62?cvZ3Aw!9;83fLHdw=HjIgkIlZJYV%GCNjgSFE5Ao`VPxRo;ePp(UGSU5RC*+&L{m6w%Im*tK3&h z|3-ZOOT+BdiMrMUWJN#nY*5YNQ-0Icdy>>)uSr{c--&i3(oo3qyCxFZ@gO>YE$8P3fw({pVn zcKnlkma2yQtFMpx<2MVbP zD$BY88aFqD_x6~dL}2y1&8Ys#T+3uYCSiMF4AGamEBn8(_OLo^Ncx$jCYbYW)G!gk zNl{X$Ik?^FU1X?zb>Z{WWr`IREVj;OdfRZkZx|>--`5{~YtWS_Xm70fQ#Kl@R5JAMasZb-j0{VJmh1uYEa7 zBOuW_1uVMbFlLsE=Cy_q9wt($L1 zzr4ODIe+0VqKrg~tNZ$_p2Lt*IDc&k%GVAT_r)7)F!h{aE-^s#k?LM2hIP&fTXkvf zMoh0>nzKkP|ITFO3*;X5UEiGx2#zgq93oU6PkCUWP{6nn#jQinRfsE4n>@=4>GwK= zbW$iaPf=&m;TmbD8xDnvbLT^ZJF}7#QlcKvnpK)dIHsCL$>Z6}-IdN=@q2uJJ&$bh z#o+mpx_RSHz5I--tmfE)&_eykpyeKpLRE_Z6|X~T&4Et$2R#S&0?cxb9sz=*7ZFt) z;R|gzLH@>2sSk)=i}9cLEga?D3!GIJQ`y3dv5nGR%rbM7P|uiRSzGNwf)#d!%ZMO7 zeF}3WTLpGM8N~MSb$M`vBOT2H&oRhtd|gv!lIKzLuduoQe7mFFy<6j)fs6DZ5oS(q zB~;8^8W5BEa`pAyq7iTXi?Y@a%J1~ux^&Cjp3TqU=o2rYf&F=>^9VW zmWahVLFi6-;J~zzRf>fZ{`tPeR8Emry;iS`UMF{;+!|#(;oVD{oga^TZ-@#c@$;Pb zzb$9VfBgE08X~__ta`vM&#JwRB|2Xl( zhCm zRD2I`qkU3u9O=sO6u&AJJOua%Z(7DzLyVXV1-;<}R0~Vnjv)_+wp!WtOwIx`n@c~0 zgpIrqqu-QrY-;aFc@CTJy})TbgGUodR{Gh@`&#j|;@I-rz2rL#{Aw|xagS-lOdS4) zQphf?5@#ThTO=jjr^?`xfAo`2YtC^>}%(o^;XBFPbm}3WuX=YH2_=u0Mh^ZdI z=BlJA%vcUcupQ({?&y(z)5kEeBxN5Qo|Z>D)vMIEH~I{tGHcDG^chYwoapV-?ftP# zQ{8>HUU=3(bQ!7wnft5sGg1e2eceU@0mFm={WB})XL~pGyEp}2eas%)qnmi+dVSYc zBXSx9L2l-m?{6gK^`D;q7Wj6RE51JI?aiw!@R<15{oV=ny{VFtOhzadid=bDI4z38 zN5lx64uU3l)+!~rce66gM5#m<@&veq`|>i%^v)T78Q*tb|Kq3>x3LXArkeUigx5T_ z=KSw`b?W?!-R?IrKD$4{y?i^b@DfR+l^iY#u2R%Osbf*Xxp7%k_c3giXW7Iucw+)L zsTQAxQ$AVU1zucIRqiA+joYOyZaj!B8OflR=rX?`RI#P_)q$DW9*7>!^xIgN?pfkh z;nOE}Ye%J);!M;fpR~;v&r~n92ZA^w<8+Hj!<2$xU*#p0B^rqBOS`REalZGRYv_45j{l1abL$>?XZ`R)e_Cs$YVig$L}wx~>n38vRYi*D!(l6G({!|un6Dm5$p z+3jL6`k_i2(J8$#N#N$UNA(gqD(&C;UU>y+NNU8E(;q-0g&FgwVgG!{-B%RLxow_M zTe3QDJ9a;M;DDeGy%7r7-8IY=N(75RiSSyLu-Y$$Aq^v?FQnGgEa7XZO~b&} zYg@Z^T9o_nZIPLoxPbK>f!eCUO%Qfaq*`{3_H7;!P}hbR6-ukkz?vhipB)GH`1 zZaH(Gf7VEI`G_7X2=A5lQeu>LPM)u`-KKX+G+D2#K8N;@E{<5bn)^zPME}N(E)8?H zeR^zq!1FBGmxFdn)mny6J7}J0TWBsfm(Q}5z7(=eu_*g?W)mD{&&<2xr-*8W&lyVB zen0>>OTW|OdMDP6mc8`;m)nf${x@txp-qXE`){9E7&Yu>*S~IjeBM}k@r0+(Hl&6l zlfq`^L*u_>C3Kz>60?KPRa}7haas69qpBx$7&XJ=6W*+uO#L(R_}|J{jbBn0QH9_2EZeE%7f3J?o2s$DB{d`MFD;6CdXiN9&yKwro3r$_c;?u)DPlnmx zcl&7M=lz(Qt>Y(BpGN!!^w@9(jzl&s+H`#kd5sT+J-BLBR_~AIO~>YOdV`oULiK_a zUJ~bA=Gn%nm(s9?l?bqp9Oiw>P+P(~EJ?87e~y~zt^`2)6nWh~frf5wJQ zN|C3f2qz2o1fW^2*^)sz}T5!yU?D@MFV_b^4-)dEDN6tf0A)SjK5)D;)3K6j42QWLnj~Y|%lwjrdOnVRd~4#H?xAP={S6Alai4SqD@S|yb?v}u#Ifh2S$A~Y4}442 z-OO{;lsf_cl8N8cBaK-f+1=;txMv~iG=eHR^E3DPSk)&^9*F&Kzt$6c4Wk@1oyya) zCTZtZH)d6_lHL}X!VRrz%)c^xA!+{goBQg8u+zuPLP+@7{%6Vpk5J4@WFtdLDx*YS zJ0HXB=qIt4rrJvH|0dq^CGsj1-81t^o>>vhkr`geeB^eZVL|qLl{{!ZFL^Pq5V>)n zg%iNTLZ@J9*qq@v77Mq1R1&?+r=9eC6uut04Q#mMZk#WG_cr{{rQc+);zAW0L_1otS=|>*t-P5nQ_qhX< z!gOSaBhwXLkD)rE=HzSzG#L@7%{q`WEyLJY`OPjRBIV-;)JK3qMwJ1oGGHR8e zPNpJ)?EgdQdwDflwZTWb@zA!3II=#}>9bOk2m6m{!ab+0#vZY%*3w393w5FI_5aoa zT(wf4&_du~A#x7&yV9bOD6kN0ULdt*DUM{WN>`KJ^w3T3Y{PkyDCZl$iVwDr|&=-BVxc}E)qGUc%&`3pE_@7@v~3pFXm7| ze*VO`E}L9E14L9@mzLO;iksUcwyyhuTpEgwnWu!VL4TCy35ABN`3`fl9%jZ%M2PGM zamImx1N~pq({6fvN|`RWRuMF`Op914uiFQVsq)O#)D~(B_m_`^QH+IJ`843=n5%!A z1dTC%|Ku5K)Mm$5V`d{OJE*O?aA~MPNm3B+N}a&4Vnu1kHT~}(o>Q(qX#kN zONvIvM>XF)et|SMx!^uyv*7M{NT3wyvTx9)9n@S6s~V?`(z(^kdxc1poO%8gOnrSE z&V%UTx`&R~cdP%=9+ER)Q%Y;9z7wSCy)n^9kEiCzmZG*|B@oJ>Y`J-hERFexQ)^_j ze`f*dX=B~Rs;M*1MVLBvLp_|2D7^pUd|L5WxS#yUOqiI8U<%kzyEVp-y~}W<2s81@ z_(};jYgfO$#oUYxViZU2GLf4P#J~B6N|Gan!>gu*9i4TX_${s1Pjh9_9%wD1^e>!7 zm(LgJz#e{rukS1=*___`$~jOgQx^X-eGyxz|Kj%0Z1o#Uy_`Y+J>!)y!19w*7jRFZ zI*R6Z2Z!G~hu;@8XX~oTOrYEMdt~zVvvYoA5^bGp64|;b*=YO*11m=nOJ{x<1pAVk zC`P)=(xx_E^dIuC%8SBGsut8tQDxE0oolA!P0n7nM|-Yb$+y_Px3BjV18yJ3I$e#v zu&Iw!MAMkpN)uY1qA;kS_iJ~q#bVz~U!xSk{`1F$#qER_8#BcueUJNSuDGJT@Yi*z zggu1$P-K3BYP=))^31ol{`ZyP-!(o`^p>x#b%ov|t0lrl&R}EMIv|*XZN;NX2SY|m znrui4y9hSuw^@`vu*O!|3NX;m`iUQ|5nRaJa@WZc`BC~xp51iZU8;0nnJ!tCTD|JO!& zwDa74(Q1zhNfk-`GH9heq)5GyNGEb(Y5yXo%Qj&U&u2ug6`^svN|ThX{|6_odR0MX zd}4&k@gdt*a=6N|>r(%Cz_*+jQ7;S+xwcDtE^I}4Gh!XZn8XtlI@+Xa`T;}DL>iA7 zi&U8aq2Di&*$I8b1}CIrHgr9fZ4-!lyq7~mIwdwcjaC1=%C6E14;wu;s$=v0_t7ro zv*^w-^Kp~u(?7S*%l<7ny`tbBUUR=~wP0fUrr~is>G)+m4)^*sl{?qv5J53ZR@2bE z;bH$qD!NpujM4lWuA=+b9AuKI=gj6(Gj5EqacpIsgmY9HqZk9xLX~B4)$rxj^W<4< zeplV6zHusbXYr*8sxjy8G1uSY5)UIujSrK!4qJKrgxANMC%c+G#7vIZxl%82g;S|Q z1HMXMqr5II6Ji!G6)I&2`m=wwd8lgo%+=1lzNWTy?}rD6N+kW04v+h5C^ifN&yUv~ zhdH*d?2Zb)-ZcEXTr1cSpFRuNT@AQN`FiG?b?ug8HaX@0d1C$L+TiP80m&Lm9)y>0 z;gE*8Ewb0Z#8~y zR=eIKwW}5NQy|dNuNdWPC#mj zXh5>^2xnB=9cSyYzB$FdynXunI99IyN8I1Q7Y4}Jv0ixYBmJqI`rUuba?@#SiKFxr zw={Ez`c}H;z8Jkv%O+Cm)asSfE?0x2_B&1rvsqLIg{&39kFj9y^72KEh(N5vRG-Q> zhM${;ign8VmPjq)8(RMq-kY`im2GlTUl-Wfi_25&LZUe^YOTjeYwOnd9^B8%4S`P$ zy*6>wfu>?ov|astHsoDpu_^+D1KVh|h7%?td~ow#Sd@_RdQ;xTv96N0SOeEN!Y|Pe zgR%wHZ*AI*-AYDvNz3JlA8&+rYIEV%(}_Pxey804!^)#(yurOsu{5 zfhV2%`wbwkLtZHyO}fB2U{+HGt#$J+B3EV$8^iz;lMl^UpRy79_PP zeDYu)z5XM=PGpN$A_C=o&-+vy+!{KxFr~x1q8x>ta_IAT-o*XTHAuKTwRC(7sJsVY||E2(}st+<;ukP{DAbVDhug*zpZ zKedb<>|YLb{cNS;*yM-jT0L}nxk>N>;iMcMx644^5!>x2VF}?Bi)&|A)RjMh!-F#g zl8TkGtTM))-Fp9kWN(U-Kjyyfx>Vb#*PWo%$=0M=?FxqWz+W5V&(%h%mX@~lkFWli zJ?riXr`VlE9ow?Jt0)y$s2H^VIXHt9X)c!4L|;;jmi=j!Bk+;|TP7Y)d|$ivaS~f5 z_EftyB?d>9I>nr~ogjnzOY^{$W-spTo^e`HSME&4bEME^?u!T3*<*`uD0tEe43HR0 zX(N<)Qt9Cc-^;DN@{j~q_34lPkyR7po<=A<`44kWHwC_Py0U-avgi@w_Bw2$ZQoE~ zv#otT-Suc;(`4cJQM;B{y7{jZW%r`tcfyo-jyYl}n&mP7^Qv~F>CR=2vOEa3<*yyxLwrtYJfT#82bIg$ESl9Ahj-)zD`Fh}M`M)O!P_OrH! z?}K5r8`p37JsX1A`FfwP*%`?UB$@Lj7?oLL5@<7H^*o~mWfM2YdqcQR-NN*Y@=yNS zc{-EwiGyq`Jy0l4hFi|f-8`VxXZtBKr7P*x5po$l zGCD|(u3*@3Y2hYP)Y6cH20e_SOgHUp<+fpfQ$Q1U0g3m^VfxOPOWWJpaZ^75J9J z=Divq`4J7=qCB3b_Y5ulUOcZ_@*d;K2D>6P_jWx*4Bzz@?o_^k@d}shjBN2N58Lgl z<};e-QPM@eMYGWdNLEXGaKSK_X&4~)Iv~f&bgI_#T7g^b(otbBMIlsyr@DHU{nver zErpjx4-4!4E5s75n&(C$VI?DdYWPt$^I`|T2$EpLYEi~RV<&nn! z6rbVhTeHc`{5dn&+C3)MyAnQ`KDo^52B+`u)O@-7NsJr4fa~!7tVh#g&T~zwT!nFb zlq_5Fno}gWuTL)3l>y7Rx=g-8_-!VxukE74JUmeitZPT{_~?8Qdi7{%eB7WwB4(%d z5*XprtI+j(g;TcpQ_6W%z;{^GJ{W^KE!_N9E*Pj^l>21k8&(YjCe~$>Nj3Ypm)fGT zSyhRCAB5Q44}V&*L_h!ppg~*kO%Od*PohT(wo5%CPDJO`C#T2Z^AkbDxt;&T+BG%S z(Y5Vh$J#r#ZQE93x3SgO-mz^PO&T}0(Ikx;yRq$jc@Exx@Ey$@jnPgQ;(eG6vE5260pUNYp`{lUuHl<~XuJxeJWh0Wa*oI`_WX zy{@CxckVM1Qh3*IzlyxVb^9IN%n)?<+6UaKpXRiq321jK;3EXzS+d<_DYH&0S+uE{ zElI4hzLhFB=-ji(A+n?R=gC837dFrYVl5)m>q(5*tA?Oq(Y*fS`NL>o(mEJh>(5}!9$bA|LAr#7PkI_l?i>f-wYmJ^Uh^Yv2@bb=HsHg%u(1zj>6(>|q zP69%3;#Xc^GbXvoH^&rF`B0fYQ9Kj1D!=nWQ%z_jfT2oQ(pioA;ivaYS=5%(?btou;uYKj;a56BOeMOQjcA~$W%=pPqm36jC&`f z=Mh$Fk(>naJ@g=P?`s>o>r5-eiLRuPqYzmXn?;nTwdlnTQg8fWcFgj`&!HG;yRK8L z!Q&$-dnKP;p4R&$by14fLBOL=X)|A2jk6t^Oy{A|1OW043W=5m6d2JJ33v-Tj4X zZnA|PnZfRHc;xAP)gOsQ{%VHCX;IxUE{u*a*N+PcfC+;Tq7qK+xPTsQ9o{#{Xi-pY zo@p!mxC)3Q{myZ96EHkVslgMF$capQ7ORsCGMlb-tBRBLMn0pY__Up08*bkkb&Z%V zV~ti&Jdwt(ib{g?3`WrBBq|ugJoAkdrx-Uw_=b!gfv1Y6{1ahuSavZ;b#PKWAfBKx zmXxUg4eR!X?%N`j=g?AAPz{zHoIP#^_&Y6L>J4S##vF60TSa*7HXN`zn3nd#pFq%l zalU8rM=#_Qgiuh0fneq3<|^S2E-w4l1K!9;$Gvr~Z{~}vScvprbhKf+@6J6~ZJnk4 z(;D;c_;JJZi-S$uznPRaCw`_b=f6%n2qJzIL|dc1 zFlM7NrQt4<1q0Awm#Tg@7X^4hYmUCd z7uLfcc?XInr}URh-JCpJ#-J>+VW7^mCpRz#atH%bA5>KkX zk8@U0RPjm>zXnut7QkU(0wMn0_=f_=pxWAX>cc z{tT2YzIUc9=ocnK`TOW~t=4v?oIf^Wi9Ab(dDu?XPDWEfp<>cJ_-vj624R0a{oJ8H zG6HngIMgC&{=D=5Bu z90}fs5`IJn49m;1dSXiCC>PGc=vq{f)G3M!NHg&ka)B5U$Z%iACknD0Rl2=r$sA+CmtUgT zO`q4NEuLI1g3dW@S-Qf8Dt_;giObE56?;p%YI5GWe+Sx=GPQ+$OJJU_ptx^odi7#wGM zUFMC$aZl<`a~Zx<)+5svefO)Q1EHtxwoic3vS9UQoG?#BM zP1o}R!qzW{fZ_4r@I8INEhP$xS}Fx%0n6w}?gSOt_QKAR_)&McMk!@b zd~6ZaX$CdoDUr`6?3PGGijIz0d=IORz};`G&>ws}8DrrmiNw}L7O#fYH!ynIL8&OQ ztLKY=!%KMX_2nV=o0F-G5w*^ED;F_-kuj7wGG4zin7DpY?ps0~Y3pTjcwZP0(m;8U zgD}xl5<227(#%OAnL+0T+Q7jfN;9Hu5?1+|C@RYQaY;b~E0zgD{-tzBNf82ifA z1-ahD*B#aO#78sPu0d_S#Ey`w%_hqgIrxXzZoI1v@=7ON_2RtI@qDqP)Io#FZBE{E zM?_#dVQ!02cecauC$q>!Xro9aN%Q*VAAk26Ek%{SwC)tWimL1Ota6 z5Q7)t6R8HhA{eaJLyqBX({0o7*D>=U^uWQ2UJ8IwNx5`5%7TCaUTpwNtnuh_2d-jl-yqmlU|_z?jRx-4mJb&GXS{ zvf^|WgjefDkjzUng;>z!xOV`o64hwFJzNyY_UK8;;Pd-S4o7%N!mmbB| zzovg=tELvE`QN%Z9dtp7$aN=P)>UiZ3^8T!Hc8Qw|j}FPNFZahbJ4l@x5`d zKp`z6NDA3STt%uyiCP)^BE;Zkp(=%_u7YpnWJz_{%P9*{Yk2GMV3CH4$u*i(&{JZJ zrc8c+O=r9KR`^zDxg7(xZoEGe;N7)HQhZ-?AmuKy@p|SqF(SHIr}EAPNB)7bIP!@( z1z>nGy7+$lJE*sI6!j2}#MS$;82dn3A-BxUtJxUBk*hS-cD(PRWNZcmkhc zb0>I9xP=T9KWomHg|;PE_GywOE{Xe06DA?Swu`8vl-HBR4UUEIsUg~TR zT~(fas_8McK9e|+2$g63c$0euXs9m=e*9hv7fPpOIZ`RK(TPGyi>Unjt?zfaNL~W| zQalMy@IlBmHTQuF5K6T|6bVclmb8|!@<1R;3p}cK2MnWFWr9Wp>lJh{m_X@xiGWj5 z%gZYDWhbZp%Yh!Tc_HY4XT7NW2cUan}4xFPKuc$&ok{)1~wi)U)U*rJt zHUHsn->JrDvO+i^nU)me=&hH=gm&Y8Xu7F#kH|yY`OUYd{muO{BE!B%u)8f(shL@_ z-p4eHdUfEScEcH0yagp*0*J_i|0>u&ZqJFOJe@XjZ_qqi?Sj9ovBlEJRg#_ovt$VZ zL)k~DxFi^1{8hj|_E90-RP#!4hS{63`_h-%!n7>^hWVT$o4v;+RL5aZ|JJoE|B~^W zD}zu+9vqR#1bA;R*QMgzP4N2x%G%0$Z2*$x+BAgFm?Cn7DP=y9`Mx?0Qr`g2Q~m{sf-j6Z`FOYNd8Z9{rr{ zLQ?^G$A@)(%9DOoW>jKlC|E=^S1aFVHD8hqRT@*Wo#b7Sv-3z@oFZlV+((|8A;i$! zv5BEycT)1-sOET&WseFF=sb^TikR6R>m>VN?`Fgr z2Z_y+p(1%UW}aI`_L(91BI_-%5e@>W{5&l>I{uW_Fb$r`_;&+MRuWn z1w3_0W?dF+dT|)O-iVOmZHPMjN$R;evU35}ISPC=hwT0}{gG<)w{ctF@ZVyOABwI{ z;Wg_O28+q+@Jn)5Od_RS`)y-Nz86y0$Sd=8oZ+B1mF%E3ix*4qqi304e%nJg;ePsO zPyu_a$w#4d1+5(zC1_qi5Dy30!A!p?&xmoE-uvq79ZFo#;A`IiyK|(DIchsR;iP*^g!<%_fZVA1Cg*BmY&c(9+BTQxs8W&Lm#g{4m~9=Ik8^V#Z23uuG_ z|1}1HH~2)LYraSt2Vq);O4r}16lW#!4^@@3;*nFOf6PYWmV1&HX$pRZ;G{niixQRh z*v749kVa(-rAWjMu>VWfsh=aw(<;@dAzSD$9BP;Orr73%;^NLx51XU{f|2>op{70Z zf;%i;6lWCf`pe$Z+=9uRTj5wJBPj}7%Qm^gh#rwahlEWP_R}%rVO$2B9qbA{=kV$w z%{`1nskcf%vjIgFhdqV(PiAAZJ=#FDmJ_!o)NY4}NQ4rFPuxhwGsk7nsq1v(Zo)pM zaPuPBW@u_TnT@;fpVnc(>zSg^)nBJ1wkB}~&m4GNf=p=8MC^{E(HB< zp#CgHt7=g*nx{oJnDB9#k%_O7Yq57y@5a? z#BlPT+y|@Gy|SU+U$oVQ<}Nw(-5fztKo~N2w#D+0nPJ->*bR`KAhmK?TCqiytPIj1 zUfdW&`4}5;#gI)10xSjq0~sK;02C|$+Z23FH4@FCQknjK;sutdC|;pc$%-IN`&nDZ z-Y+Y4Y7&!eG&HppQ+Wsa62%cqlM(!-1jc}gzguySO;f5QuE%>AcCqbBw+c@NR#=Tu z>^wsL_{;{+%fRg-0%?)f_IJYB8G;&gi3hzV-J6vGmwt3pb8Y+AM}8P{Iv=qENGe;Sd_ zFRJRMqf!W8wMN{@5Gp1z!R$= zQaiuu&|_KWQ(%ef#o>jNUQNqMAQ-jQcdDJ3K$nq;B?fuiOxA-1*}g_MQ{1 zVAf6UDSW%1WAguK%IJ<2^^TaZdV)d4{_zvm#YgatF1zSfQ-|$xH{Cz>WKlTb7vu?p zBobzHGC(BmvD<@_Z@CuxKakUUZKJRnYC~o9HttU9hIaRKsP^&-$550<)IIP!;Czbi zvM>AV25R3QECslMmi!Nhcdwx`%x<_$L(a;B;{aMZE_6gh=Z+Jjw}g@r?Y4;bR6E7w7npO1J#R zwC(y!^YwQGzIs=e*y={E0LpP|SnKpj{~l?$HP!n`M2)O5?gr zbb#ONsx(`*U!|MJFmo887)Mh|c#vN`IO`bgP{xlDiX_%~dK>o%N%n_jXDx{A>sP|1dfTQ{%NfqHpPUr(+11i2223f|AD0|8Pn;L|8Xc)l6F zm@|PrD3wa{{Cb~n-!w%jVO8TRMye`_5Y9~n)?1}M0q_+oYXlRZsiR39Ew_eeF>Xp6 z60jNd>kDcd1SSlF%65b#+s64lO4z)Ca&RR4@HvJMsi~nQzmE*C&2MGn$RovF`G)%+ zTJ`In`NiU{*Th*Zgs~+e<6e198LPAmN>Oto%s$HS_<;rhHd>_02qasWEaHCikS5l* zt5ADip99Pm)Pl{6;zbB?(0b-ej=(iltB7@YyC9s(-=MUf4mYB+e|&-MS=|P|yQ2mI zV{0-nzK*}ewFth0@2caWY)Ca_P8A~BJ!Zlr2FM&E+FQzXhGN$XsE?QN7(e_c*jb)% zj3pJZ{@w^`!)h=(QKwM3C7iz5{KrB`loYs6@lwM4o4DDDSpS1JHv2J|=KH=3wW;1N z%DYgK$=@H(7er54@5XCH;T7Se^f@M7aHdyKMKBCmS78h;%pb=Pu@;ACdQhKEy05jv z6*LjRh{LR;YMm`N<)zW-X)R3j)VRyu3G^0?I4(lUf-&jA4|W*~0*t}a^) z2b%v>D$2z*vl-Eu#5Y2o%xOCOccjGFsDc<4RX`u?0BP2Cwg9^SaTIYMj3DAqUaPbJ zFyB2@=?R>Q7G&gakLLt!PCKq(uBEM$)?$2`x&;VqAL#YO8`wQ3k z0-N`=G$9ayicyCV(LXDI4!D`z&;orkW$^M0$Xbo#(9|&<1qNAgQ2VIN@TMNfkik`A zoPqc$S0}4&4k}kVD4uMRg@dMS8nSips8S;jT#|j;^}O|fW_V&%Xx@T;*uH0eqGnu8 za>M+xNcnYlt^(|NAmynGByP=zH(P-?74{EeRjEWh84jIK;`tqn@oU~t<6o*UQTrLx zf}N9J3tU@6Ng+`M?rU)1&o{gP7Ydtd%Uru7l$5v_jMLarBi4WJ{|g@|=zhvsycoyh zX1I-@W5??GhH1_8MqV~a|7i}VlB7%`#>PA&nNwUd!RHI?VPQajYw>#3Li6~+L=^CGf~Ce0 z=|ndhO9Nl!&$?mS&iBI`LPQNr1aVf_a(RXr;JWEJ1ueZiX<-cv1qNFk(c7pgO}Wg|wT|CvK}AVnm`iWh^=GEre~k@dR6fwvS+%g7=BPC?d( zfE&b1>jX5B@BDP9kSlc2D&2eM#FkqoQ~ovy)BFZ%vj~w6n&k^1E5IolY{9nfK$5-Cwl(7;$XanCRCuc>_P>}?krKf(chfL=jxb9(B0 z(pOmEAjdNAh5yqAyywJ&iw5^?!u~eIRI{S>CRW+>UuwQ3&W{8G@=(jcJv+ZQQ{XRA zjW+`FQ8E>j1cLKg!b|)JGL0>!3VaIfHGpoeyp7rgE_+Mk6?iTIX*h!UnHy!bFa>4O zH(QObXFHOR5g5j~`Q_J>PxZ&Uh}!$10K6Wf-wM*w3r#+`dzk#9%3r^rDXxGp+Atm8 zr%etaFVfiWIx zc7vi4&$)jYI778}1W7r(vioQWhN=n*OnW2uPXWzf$)z%gLTI6Xh<*yymSAU%Y*3*PWj;mC`-;wy% z+_O~ANEQ~z6+HZFaXCS&6%*Wgg2n4qpd?O5;Shd;cmLjwd(JiG-jE>$-^}?Ee*r4Lkrt>bsFzSbWwPEG zWnp=7^#zd{fqf?7m6|cw#L$l~d5;o}8PQ?TXZ2jqvmi2ax4&{ElmY`Ke$6 zQ#xOu(3F1qT7F_J$Ra}tN#J$O@-3=jWe_t(fWE)@@F`t- zVB_W)vODNF6}(_0^k43&YJWI++)QhKLk_UqE-Fke{$=-|HHQ}}X5(Vpjch@?Ig!cIG;ql3`6bz~MdDGrF&>(<^R|||zCc)h z3^*Q?5LQP5*E^W)pKX9ycnBBw;mHf^p`DZ94>)1~5R(w1$LCKYtb2Io)qE}a8)Nv$ zw$Gd`QT<{WCa{_zbOQ|AbYgI6@r73ZNzuK{(G-R=BY330_cK}>D+3&96NXY7z~8Wh zfLwmH4U^K3WOH3M{NB&L86C4W}K+hN;8OP%@YK8*ZT4dOOIQNyu3-Sr{ zS3G=Y)+ysOa0V?ql_y|^ePeL6(L0^GbAtd(k=xG|7t`Ba8E5^G1 z5u>GU_aH#o_KdPUFEhR_dY+p`UT5%QjPps#pc(cEy2>-f%j_d286HguG#{!i4Bf=g-$?XDgysM_NX<835scyg&nFm6S}n0U0ftn&gXb$J!n zk{~XLeb8AmJQjvScN{@-M#&-Tr&hum^91h~77Ynr3~1+Z>Z!5KO4jK4ov_$%PnfA20mHO z5uJ$~^O2+sm--n(9g&qb5v)ihOStF42ciXHlG&#vEgTQkJWdZ-ERy6Z-Qmmc6g%mh z8HN4o zt@#OBkKDx-O{2O+0aMW_Xa#ARxMsUodE@slmH>d$Y{wEYsm?%xM~b-WI6r)7R4=nP zy2ODmEZqt6>N@Yvdvw-joEB%Ldi{w@`b^i8!{g7&Qg*If~RUX12CTl@9LUa8k9& z>7MbL+Bfvs@F#-rxD@j4eg|(&-FL=|;fN6l@aKh;k$^KdfwrU95i!*QsmZ>JjzoH7 zvL%@y6`4< z?(C#BW_5V<0$ovY<<=7?O2)JkG=i*|zNG7UAEw zI2)4Zoc}nKE&oJ+mNPDKkgHIdrjO7(n;+??rie_q4Dw~ODOwOm^qriyDUvKcu(Dqq zg?3^;0Q6Hr|pS|o;S>H<_e#J9q^ZLmlouh&l+mA50>b`mM)2NZ{&DX!K z6H%oL$l25UnA>01A|Y0B9#*PO|CWma_EU0)ze#`-5<^eCGT_?z=S=y6!j>;SA?AQoQ z(7&oaqoR@W4v z@cDisxf|R`TTXkPoT#xF_z5Xh6N4jqmxl)hB00%sDi3+B^tf+hTx)k%91)Ort?Ih& z&*7uZl=VTRebJ)uP(NN)eocy-nTXC}W9j2zi1*5l)z#MjbJ&cDrwAb_@|yLrmV+6R z4mkr=;tMT^oJ7v_5GvidWN^rd?=#jn~vbwA>##NbVMG`__wz>`#bsV%QR zvOpxT`kS7l|E?c3OlwW2o8n-4%mueyEg8d7xXl!w(~;?0)z5V-dB%S-JiMGe-|Lx0 zHd4an+yxAVvqckwt3#)Ao*lw?yoNwt&GdZ|z&&@%u6#MnNo1s|4OZf=$S9w_4Iz>y$%x$BjCo<`pF5fc`>uSBaJ3S5W5%Z2Ftd& z%rPe6iU;%o`h}|&UM<>cdqEK2Vnc{StHkV+)(B>}cG}!LRkuP4m`s2au1zwhdNM`w z_^R1LCIYDuMpqz8;Tf(Vs%hcavw+6LYAfTPeq0N=o1(eySXy$v5r2|p&~rVhxh@>Z zO)(=~vv~J3RMUmDbCpjID!`@R2`zTftk>S%s`Uo(qDW-RhG_wWu`4CdxD9h~C}H&ELT*wDBb(F4btA~hSBtL^8Mr+3Z?w?K>WYSElc!DM<42ukn0NiD zh=LJ;ICPpCNj_sS*q-)|+!RUrIU%4~UD+_Yr7Z=3T+-3{-VzC!iy@f4;x= zN1SJzbr+-7sjO4`quS2W=#`;9jttuR^+jDUU{r& z5b8#!MMlcIv)MOOM2FMsd0>yzX^d%h-~(C9@IJcbn>HeG+64h;i1d1Aiu2=DqY98s zKF$6kdK2s$M+|3hNINp*VFrah#y4uaNODY-pc*Le3%W{ZIMuXip-EZk&u#ZZUWNd| zhb(p=O8c5EIRR0(qY7Ls!dU@9i7hN?`IQcyhh!6GAd?`Fidv-#&IF44ogyx9Vi>59 z2QN7|enkNN`lLSas-y8t1QKTGCF$S! z5g=(C_D8t9`uJ8cdMcGhtQ$u%H?(MCYQg|kn5Kf7t}%t!HE~YBjSM^X*eA*;iGOaE z&Hv7w-%Nv?G-OB)#h|W4NQMRlSyTTUM4D4x5sPl%1gY?TsJ7U1q)T|)x4TRhJ}Mq` zil37_*vCO>Bl$DV9TJZcCXbXWRrZh7CH4i(dXEo*?;R5_Lq&9yIH1hm6KlJDnp7jE zp^=wG?Dq}~;rw#n8BWe<$@18_x^@G{`IcOUCXDa3iMRF#UxcybuQJ1wl&e>_m_Hjr zF@ww>0f4-3i;+T;`)Q<{FQLfNVF7-*iP-FqbLORy5C5o(#u_IE*lp?;kl}YK=V*) z=b*!|0Mk_(14VVc^X^C4;SFcFQ2EMe#7eIr5_*S>^vQ~f2M!!m1FdYngRv$soteahh?08Q1s2z6gS5ow( znT_yRlNThv2U-}(7v9|at+?KzO$Pc9NoWNb0=u)bY?}L-LU`QC{eb-q5yMEwpc*ou znW73?B+HeiT-(022E7<&nEl_*OvcR^ZM?H*NO&%#eNpe&YjAzl(1v$dwfSCI|NL=8 zXDkhn{%|yf^Y$|01xAzxK+oHR^yXeeYF*?r#&y@~lQl&1w{W30@q&J-qt_8TS zuq1WgL?stTjD&x9tAZw{6>rNB|FVl3KG+Ac%kccJSh?+qgRJu6!HUxMr^$js0xMw7{~^WKSVys>e@ zmS2M!Wd|9(I4rI;4QX72Iu)0$D|w2)iuCElE2!~{2PsEX4|_^LOZ?EAHVdq5=wTKA z>;qejv4uCBGlZ)ttw$~WB6^x8A^)77ON@O;;rA*NR9;jW2CqNsIT)TRyX&S+mMb0MKk?u<|3-K+Eu2%YNabA=#FV!86Huklas<(GbBt=DX+34ra&5b;Rj z!sf_7CnD2~kQmlkLqH<7FBjSQ{{k_ljH}!U$$7~g>UsPj>mP^-gZSEF%rD+Kzq@Cw zC%X_f-Ep6HzGJ}WgHJ)?l1#YXTIxjCgyKS`61wED4mJxfpgvQ_#N$mQoK?qUmnj;Bg{yO|`vQ!}H%!zX$wv0Tn8o)Uucjfs~6e z%q6u*RVD{fN@(j>*v%f^qgHLw2w@D{2)muB+M*-5G`wl%L|!1)F4?@9Wnh9S#3Q;~ zDdJg1G6i;RP$w-jqDC?VY`MD29QEaH+b3{YFbQms@M@h;??}kCF-{d41K(g+ND<=} z7{cG@xLXa=;Zn&}G!3neOZy3it`s^3m5enaQ&H{jbB(TeLNV~gLb2^*0Jx=LRQgvs zTAdCUGQNj2f-hh4dnaPl6gt;~Sn+YR8HFCA;j!u(HdTvW#rILY5y!pBS*+6XjFGY( z9uXo}VcK_QB;uu`nZfXdrsKYGVVeUcjgjry#pnDzj}^;NMno`>F{Ns(<89V3VJs->*P|1X3bL*8XRttB0LL%DFk+~3L~_39gm z_TWn{!7Lzo2wagAWB0X8jPD+CoYzZwU8?jlv(i^^vtrFF^eyBxm6OU*My#O^3s))` zybiey1;wBeFcUvDW-B@8Y35|8uHCSm=<8)HgB%nEadL>wfT zu#8D&tWhfDnTR%50#+3R z)k6i_Suq!V0_21eJ0`Rk5UIauGF_%y0iJJ$euH#_N>GWyPegl!>omXf_eJT-{vJr$ z+LFe~SVl{<=N?me#631?@#{2iUzLR~yn{Ml{zl+Jx(!=RlCk^Iw#gT5*QQAmk(}Bh zOP;$j#N_P+RTAlvp2B-^88>l@Za;RCs1-N1mq2PA0Co|LOav8^Tb}907aCiP!n7Vj z?ER>j)!@yKXDbFks6Z)m@Xyph6)d4pL=p@mXsK}qt%KtX;{cm(}Y zx|03Tn~gDLmX$#<%dYIq(0Hno^MWY!V@)MJf>LBY$Y`8AHCRcj{)`ve1F!`2{NK`VnHs`LrJy2aiBQ>S@~!CAeDEgGf(|<7S;K(&@w^&=} zT}T^J93dFTU5dOnJNM#2qJ>BasnGMF`YJD!4!tR@(b1PSNf(OFCe@1M)9;dDOB{q2 z_jThEdER4lY%+aAoQ`Y9`k;=Zij7C3n7Y0CmI*#g78X8?i~b;E;`3((&1l{gS7@6& z=kRNq41POo#0swNRzp%Q-Dx$0v+h89)Y$>CoSNdF%D+y|A<*yFG@}}GGf}Txf60mO z?21%&G{km)Ua*&jM}RHHVDbxm2S1DzajD0N>B6=YVs07vZ_v+)`Lc#{wtHMoq!AP~ z1o+r*FPTSRLLbmCUR-FO{ln2ipf=5QZ7F^naC2y#i$?p8&P>g+^2xRe7>vzye5Cql zi4?PlR56aH0YK`}6waA52%trV677hDBw9HE)Q~2#2s#`0FjA;usTfu|rG2aV z`~*7dZP8rDXd&Sam%;De)iz1NKh8?TCp!qv2#DvEkEdTlNnJO)7<$Ew1q6!aI-4U3 z61Rn2e!pQ9i?;SUR=2&ovB0F8LjFTm^~gfbNZyM0v$!(|obytA%lbQ~`|#z`??(lY z^2_SZVq^U7Op9+O5k~xgjl}QtPtOl243b;geb?bSln}40R=&%Rf=y4R$iFu(YW{e8 z(x;!@9Nv&YH_|Plh={NJsA0YPu1Wi zX(|&lc)wlE+Q5uK_tv*Hnj+t=bDiXf?gz42am-}I2=M|2e99ZC2yygIvH9>i z`3Cx)^i^gr?ubC-sMz$L6q%m4A8Sc6n1iwlqU4!B;Zm%2L#gVbmiHVh7RiG9DnkAR z_@b_>B>qT|vVd#Je=>7TkmbB`Vv*>6?Q%6}PHD9%y!~w_d;*Z=YF<+x>}Wd!o2pvi z<9q>61cmEEU$OuJi0V%FbJ_*0j)p%Dgtx?CMA<&lx4Mge9z>~={N@l|E~Vi>&)*&D z_G#!rsE(MKC3hPoHBLO>hVf+(*11ySyIAN zhFC=umgkM#-u<0DI|Z!nOd-WvKK@Hj7Cv!ZyW2eUS&~z@c~G*5ueQSdUHwBgu;?^t zf*Ts``&+XNZO61G> zPPE{4-+p~e9MJWg+pPb0%p=yFJ$gXduOUJR&&4gTI+g6DOm+;%PgttUkQH=ns5w5_fL7gT3)4_5X zS&pZ?hb4g9X$Z``Tf1!^={qzQ+zBmbYjVZP?dXp0C1-hJClAEJ3l~1ZRr_0-^2J-Y zpNb1V`}<%F(|(?U;h>HObd82uJy?q61L=MxiR+>(^7jEz7;Bg*^9LbMjuW75s+U*o zk2LJzvUL(fD&rsS86~XZb=CmovwX^*MG1HYfhj`rm2whOH`=HVL*HJaiPAi`4#b^V zS-(xqj31}a7jG+mWYp&;wIc=@%g^I^pO-T7KiO+|!;@tfsO4xfE!L^J z%3{z4^0N{!*kDzE^k!FZ$dvYt;~zzFrF=aXYeQUZPhF(ynO=f(pn91@sw44dYxE9T zNH?5jN`Ga$+d=jICAxOYv*vztfIu$xLaY|#@^E&1=exl^d4dd`XU_Pxr}x@8U3xX? za>V$pPw0SHywgJ{wQq5GzaZ3*-&fOn5n-3`L*gG zf<+~YqksEsaUOBJ6A~OChl9H|JMqo3$-^eS`}-}xrMH+JcjPPuz?8 zkAy&`>YC)`{{!|w3BR1Wt7yr_Z*P(Pn)GykhhDRwd`2V%M@E~8bfa(kFZbOnk9|HA zDe@iu^28vfby;*$gLBEv_^*&Ekr$QTz{tR6#$9)vE# zrbkaTsHo96`ssaLrOR;&YNf`;hq30Ze~ZnR;PaSvx|Fc$Xp%=hm*mCoVECLb(zxtS z4!LR@vpQwSIL2T51^E3l2@=erC$RJbYcUu7oE0Ct7j^g_f)eB-k7YJJn4!lXLMxeI z*@d5H?f4p&zwZasp7JU}G>TUd!F%FRVr7lW$2e5q=_ObK281O9j|c&|@*s?gFozz` zmcyRLj(7>OUKfZ_6SKdVZ$de!* z#Vd`PSc6@7U_T2g`oXtn1?fk&GWo$aOW*%vDmh9e1-XtvNAqJ29JNM-d*Ywqj{7sZ zM?H&8jl(EZL~VX%h?R<=xs22*@C)&O@(!BMc^Au{{(6+GlUa$gi5en3iqUSJ zpfbFWgeb+;R&e-5pJtbpjM_PtocB3gx|oIU`!-5Hkpn(_3)Qi&#D;|gJB0K#5|@zr zm`bI;_%JHPL^8Fu(OUDcR3MA$#^L7^~cazIgv8i9VYU(j#L*K7Zo>5smF zparWgy@m}#hm(B!D#o66Dm@9#JDQ@)(-HqIN-9M20;c3)t51S4Vx?RRPyJ^=Z zDWf`xn`N@Mo9U6IU{j`*0_kx`mbjd;?hZgAYAFSZ?O9C6YZl}&JsDxjIig4t`wUa- z(#$=3qhUtdJJ@s4aZpYYopB+xqmN;MjagqcSROe#W-p2+Q*p*>Sz=mq>`5mnB3QEi zyX;x>2S`eqw!@xeoVo*585*&oDl0PAMdHw+U-_@sGRUC2rGuXE32#P6C#Vnzw$*PpD(wHdFsBHhJIttNLkC9?0?PQGU#t60Y z{?uw*qrG%90&A3W$1VR7((A|J_-&MN_4PTsi|a)N3z`BK;3(M z9&`KnV=>(hE0;Ey*z!YMYl`mDC$g&=rO<+5yM+aD57$mXXgZ=!D;dQn{n_1PW|}Eq z=McA^b&W$%qM+8UVNypGcS(_msz;W%Q<> zu;a+1saG|+X%9o4h4~zN;}ImFJq(2w4cTFDwUBnCaMIv}rf&C=l|ziwd#ulgNg5Vy z_TN*PLy?9q9i5>?;Dt+P`P6aaC=7uJ&ws8i`E@Mu_jv#$^bH!fIn7bm23+a!G9Z0F zviD!a{!<=~ou{KCDG_ztDA1Nlx zUS^_kgmOqPD7~a%3xbBWPFb1=Y>SmVMMmQN$MJ1{NF9lv_1S1*Ep__T) z0F6SjwE+pUjF(NeG!zSZ{Q^ucf)UdtawWUsG3sFkRmK=<1X+?Of%h?8EvSir@&@ZQ z-BdE<3{e?TB>`bTdqJfj3O$^Nh-5_w7V85}*6528`kmfVL(TVt!Jd#%V$1dpMsV=Bu_&2=WNB z61o|zX!V#)!BeB*OL8KtlBBl8h@>yFmXcD=PidPkCNNHG+3XW-6LuzQ0lC~7Y zSs)ldOcPb(gs>Yg#wnAM#O{AZk^58*Ui3E~j+9m99 z0M5SzywACMQ=N1E6_PN6@xwHnXEsqJe*fJO4j3@tx6gguMj{BDDX5|bnX~-hWW}mj zQ2TG_KJVk#34r^2AM5~&M41k+SdsJcr8y=UMGFYBBKH6L+H?jC81O$w28R|I0lL7%fh6V@@@hQ#Eqcw=!*5M;r`$lR9mkQnwzbN}ju9CtFUR zzS)BW=hmZd?0m(G6YaDPDpeZYy$@j zc(~C;(f<=jtRs_>;bI3DA3w}<4r)*ffk@0zF-#KXEqMA90shDAR{_uhIym~SlNy4V zpHe0J@_C(sEAS$vBcTI)|6aItM~|twIjX=Q01g=NFr|TE$wZSQmXC7uA{Yg-P+^5e zB2kWC1UoPL9+>~Tc7Ov03>ffR030x2!0#-B061X4fZtgL0dT;8 z0l%{h0^ooF1Ab>21i%3U2K>%42!I0y4EUX85C8`Z81OsGAOH>+FyMEVK>!>uV8HJz zg8(>Sz<}Rb9@Jp;0RsjM_|Le{Xh7WWtNT6|{5CxQ{xkNA09fLQFi4;xK?je--T&Hz z{b!WsfB^&kdk9)Uj1wtle)wz(h~NN;7vdp3hVB;uFmVEi0YNMwAnA`vxexJBzflYr zFyMcHV+0jI`GE2j2(T)~2~7-0SAu%z<^=5*0no~dAnpr$6?lOVDZzV$l=Fdbkggms z;NgaH6;5bu&{!1{`-<3gkRn0I2;@UMByGP4fZ8X_D7bzXeB^KMU~9UPZ9YZn{u}`> z?w>svFkryL15HWdcCjoiS->2pzxWsqk7AYpGFXDp59#6VHy!}J2O-;7GGx#w;RsF= z$e9&2K74bFkK7iKS01lpeC;Rzgbe&5>-qh0 zF32D#hC4XGe!pJ(HFwVIoU_;2<+Gpltf%Z7OL3o9gf8fi6k}i@L<39+?4rhN{-eV= zTVjT`hBY3M%E?zzad*d?Kpufpp{_YeZ#Sh;$2K*%|Hs;Vb>}$UdYzgXRN_}raStJO5tBW`%6>sDPYKCEy#K!g z5BS71=XXJ!CxlU7aG#fe5cZ)=?Q;PfHew8rhY6nc$<3Vl!y)}RK}?Tk?wE_}`+5i! z6&3plg@w6HnXd_XT!NGgY(hJ(^Yky3y!=P=bWB1aV3U|po49?)q6?r0PzPc3cUJBu z2af*CcD|7u%(6VjQzO>~y~MJ5xM#74P*G8_pOS=dk7U3 z75gbcEM6iE0mM^A9wox!u_k3`W3D&r_@j?)qZgpmIwrV%Hl9TnK;s>KEM7Yd2t4d# z)9jcy0s1J8D$mETv1W+8U{Ra}jK^vq zkS*>m@1iI|VGMB?lKKHw9ij$)%N7MkVJrcIXh2l3A?&rKPRZjgV*^8}h5?3zk~j<) z7)$Jx(mOl`6LJa+-gr!~n8=c;Csj`pQvER+Ii=o1he=BD?1 z1YHQ1D2zol$6JqBOF%K+(upmZD+v-PjKP_Ov`ciaEz$vk!wUovO0l%^g3>zD06kNp zR1(Cmz}Z3V1p_i-VjhtR1tS=FCrI+|ih9AN~?JYrmi%)j-|31x(vSdDwpKVX|J z>R}skSk0Dti_}9J>Z6r?uUK{T;s_N(;=tz6w8Cx+LF#CLrNf-*nqu%6RZG#B_cr#PAn!w z#3rH^9J|i@Jo?Bd({eQm2ZhN<9K?WN5zQ!#>~;J+4T1^{-$e+tqZa*afci;7>N%!6 z%}%=v#UNtI1)K;e11tfn5d+(#=5uad3@Vp8y0D{xjG;ifk3&4}>ZmH-E3;0yT7;uy zKq(m+x@g5w7F7ThD3c~1{zZ>6GB_{9R8P8FLlHbFhLR#qNM|>qzvayCe)x-6 zYi4jJqmUYL$ZuxGkCLYQDOkptn%l;&*YRo==IS0M#zsTcN%wBscqwVEMbMGu=}GZ73!rxr(MPCBptbvQw!ZnvjP*9s zIA|%o10TnV{5m$Ab|UBuXaHGAFn95<9Z~Si**Xz0>3Vo4gj=L;6;>GYZA65jX^@42f|!ciMnq6mN{Ko7 z<6F4sFD4*W@CIyPF($B!Du9CW{h?uyj1jrvP1ejUEtHB8R!2u@Fo5EFpJB&!=Z&Vi zunNn`6u$FyuIc{|5QC|K?*n_+N}T+QGw40ybc(mVn#tZqW(Jno7fw+7z#N0m z|1EPr{|r%kH(TED7*@XRJPH%j@O>1eACykiV4dI1##4?&q|e6F9t^MjF;nX%N&E9` zd+mu(P9tFl)1kv01_??6T=%}ySa#M$%%6G~Mac2S;X;8hvIHZ6pfP^Sk7!Cp)Y-sf zck^E3mpEqokA&+j001BWNkl#mKom!; zpE`zgYBe>#oxTS8Z+!|Y|9KN3v)JAqkQ}QeU~#0x%-y(GMrl`2$dH=m4E$2&;&JMQ zp%=r>ul);|pQq=hXx{&i=@>=TVz5NO664wR+CN5y+tFJ_ZrCZN!yJqq$^q{_hhdpR zR0-hi!3O0Q=@K@Z28U3BjOs=$26s#VJ$O6BmKiQ~2=In~-G*dqNt|V9AsE@KvR}mr zK{3*$6E(<+94C`VFht~lB@kiM;bJgONUfs?23G`PDIt_N2V)Ef3Ox&%7d%Sjl~k4J zjE~Uyrvu=Uvx$SF_saWm%s>2qE4EyZw9kRvKVjzGPhiQ*KS>7z7_hK1>|w*Jj=`24 zCQ#-d_LnSOvzm5h@UeybXC$sf1xf@pf;S07<4DnA%xz`2oyJFFw8}nR5+W%nq=vUC z*yY#<9F5DT>3rtp?78Hd^cRW)Hv{y@$QY6WxfuM+4gB=2e-5fdIts8CEHyj zpfN1};0|`=3DHTXA>aHrdU73GPybWW_x*%*Z~rzr95DUEPr{DtS$Fb#mMs)UtnAr`$ zEC5POjUfX~uwe@pD11)0%qXIasJbt1HyQBmAN2U(BQ0v;MO(bM!xo_87aqhpLmF(& z4Mhs6jH>(p3@`{lo}^Ib2-2RQ2Q z&f%&Z^AsO{4lP%*_LR3XU#}6u6bG_}Yd`R6N&&|tg`H(AZ&LjAdof>#7+&x(*8cr} zu&16PXMPF)>W45sb2)>tqcB-P8Anh=h)-zD48R#6(0$~oB+ovJ={TY3JcXoKA1H|6 z$dfqu&t61wz&d=R&WsrYnPRr+LI~9SJlRo?WzCEJm!H~E4TFo+XKo0OVhAO9M9-}oo2vG}l+ zC2lt}tB=F%xrV_-=g{=?{PInI&bq(*GJ94%keRdpAG@ynKGwwe)&$Gm@^yB#j-^q0 z=4;ECy6OV@ZjQcqQiZ(OgC`|sVRAt6a;nadgXecNo0pF(-Gn&1H z$_IFRP=T=^oVR|S@Te6mW^MR8B!J$6V9*F6FZ_G}{rXazALaas_-g)p8z_P|p1N0} zC}A#IgJub7&w(ZgYna&n zMf2Vd24Ih*tTcUi<~x~s+^KA-ucj7Y&2Wy1GrmQC_Cl^b=y8no9dkuNE;%79*|Bnh zL*IKo>%VgzOP=sVyp6Fve!U{m%C)rb^-zX(oO(VWaZ0BSu}vYsz{E6leNwbVCQH^@PLnLtgd(Y>`U-~cyJnhZw%%+&i2Mp6gS^b_XxZ(AWpxM5T znKMqHuMI3clsX5$?q6sh@TU}Jj8@TOPc3C~7}#~z^G2(ZHl<%*i}crHDJYYbkgkO& zr=W=%55X{#9Y*VYS7Hd%q-6VFF9)CBDc9EB5j8QpT*7W=SRUQd>GOZ*4hf(Fky-`@ zY7Ty~d!E9yNQ2;Pi475=RXO`xM=7Eqk&j7>(Xkqq4d&=W?<#h@xjw;nr@oyuYMR)&pVU;eV)#;&?SyC z=3jge8*M?Y5RxcoJqgMrqH~Px*+%}%wQMGbq{M&q#mv?Y}UVjYzCec!whpm#{?oghtG^+DdBujGaxW`8M0$_KSvoQ?5-^%b_H4K88bt2X>wt949lPOHq2mx<^9df zzTgOgEg1xZ6+>SvA+lKKh!loN$*#AbLOU)9?39CFa3(iA=!HzkEHgeq1yb+H2V3wl6lyTo(c((Q{}G{ZhP*MwoWK-d_Xi)K zA%Hiy2vFt6H#n>oL?I!M+{ll$D8sz_AwXO<>6-{2Ly$gc(IJlkr=;zz>S3tNMnDmmp9s*~`)uaxf5z7JKPT1z0);e) z)*X#G=#LpqSRI@H^X(Mpe*q~6KmZA-v}lKbJo$^Kq3mGXb}2lRM)Pu1pe;?ETw^8T;FBw!A+7yTE4x50%*u1 zVN3^L8f@Fv2O^veSicb3P&oi^14T6=R*0oXN9v@1!m z2o1}i(}L~|#8H=MPfXigiil;n^eAFum<>}r;LT_A^E01{DcbZdd_Ti&8<~8?KNDfF z!O+iEvGVQz#UNG=9M0}_duC;y%U=H&VyAdJL(wS^vv&}?lO~!rDdU8(&L+~(!^J5! z%#Rvdg@9^c%w3BrR0T3vYESf9oamrfOIM#wmwAVP|7G$Nb}u*!;cEF`ExKNV|AD!3sCc zz@#+dEfi)M!^B}ilOSENF;)#mOA-%5_FlEF_+3y`l*|iP&v+hx=;*b@c%a-d9SsmI zoYzudS9=z+$vZr#dnzIcjnJmsIEL}FFJ|5wYS&&s^Q=Fn%_usa$S{8BgPFhd8^pmw zZzs*o*DzBCQVqz{P9r8q)N<{bM{)Q&&gc5mPM}YXBTj!4TSEgM3?VAP2Aa*Bao415 zE#E5!u`nKFf*QMMM+#vKOu5&1&BLBYbjtgfa5z*h^PcpWN3#4SA7c<|HoY?1-j4k4oQE?-)Gc!bH ze9^vd(c%ED0b{D(y>|q);{@M^bimSWKjqMxVK{R!TY+4bQuiHtMrr){i)ml_mC-ct zyicYQ1Y+6pCqZ{ zB5?Ji>G}jKj!1HP**I(R?HJc5_klFYX_Q^MDyS*ILs!7jz(+l9E-<1giO*r!ANlP< z9qiuGy-Su%v9!OQmK$(MHiZ2Ws#|(y8 z^=$v)XVLBJSz-k9@;Inj64_Z|^-xsW0y=qav?~V!JLR&i|p~Q3C z%D{imxrLN+bF*GUT zL^-n>@L0m+p=5EvP@yy)Z&Fse8Dyw*@&UDno=kDo59uzwANPIB`?>Tb4`Zq1>@rHZ z^dL%OL7Mz3wPGaFol;@$8X|R=(i73chZci)Pmc-@o~oyPazSxxaz2tLT@xD_i0;Fz$8+saXhm|k; zG&|n#XvPMC84DC^*>mg@$t(mvN)?L5F?+$c2tcZisr%lKK~Nx2m=xleb=}SMZH=0r z;pQe*D|FeN8GH^#EnbAeBs6?rfP$73xAZ}a5J?TTT+L7bsnK7ymY^O{#Rl*Qf*Vx< zPAsb)_-L*=_pwa9{$mtn4MNHehD1j_nXy-YhCvvWM{=^ad!=Ru?E1?G5{Ii8q=wkl zX{R#sAC?0$ou#gxzSfXXr(OzO=@Sx##!~$3#OUXm&150aN5Lduk0h`ihdq4mzzSotOO?M}OoytS=5@LWgWmrYQ$4@Q!{Y^lY6*2(aL!sQBF( zg}HmOU^#LrqoNY~M=^xxR{@ElJm`Qi(oo`!CGi6Wramg0R24+HRYXTAabh45MeQ;& zcLRML;(S4)KO`>ZNu?w=HMalDO9+pA8FLSR8g}i$G+duflF%q~+_5JRWD=h_LTNCn zc<<<5{#}d_x~9(3sY4JkSS<-6*xof<@v@`v5~H&B^fsUbfkX_7N5zm!#MtaLC`t@W zz5aW+wZ|@W^%D$^QtE8{&`Io?dgH${uq~XM z1(P%7VE)oCF#r7TLMSOT`n70+PFx4Sb#!I){8K7aI;$${Hk{c@wjiC$$HdtJl zvF7P-rT4(UqFqzMb0!&JnS9Eb9P;p|lDO;n$=^N?b<>a*^wSbs)@iyf1M2Mf=xLaE z91Zi>&OCLQ<+8tdJV(6uBCclwTL?k=h?yY6F|eS^+-lfO^`b_^1xW9^&9AO$)Tx>*$Ra zyKo5%ON;mzWJnw)D2yeE1C3sX?G}(OEt#jA7-ph?m@bK%hr-ZweYQwK9J-|K4P5f7 z2Z9!~215o$@YIO5w1r)DJiX1|B5iNtnwLM6HD`UFoj%3V zCRoFPSD!~wbV+^5bY=bB0fa=A<)%Y}1gNop6hja|1B#(!;-F-8=w&lM&G)(jj>~#trR&`S5ATwcn&ci~0IINhhI* zX4v?ar%`|7j|hj{pPUG0cTx{Ig;>IhgK?=P%NG*;WAL?m5xws+(x8Y0Vl8mQs0d@O z&Fl-O5D|hzL>f>WSAP6Gh{TBIs4AH_f`$bHO=t{v(dlkyAT5ZO;m8mLqay)S8O;fV zKpckj>^M`yz_zAmsteGdOy-F0{l^^e%)cYpIwlwtgQdWU0SS0fwx0P^q}+hUIklom zJI*lD=kR6lb)$e*efAG$)vDGaDtMtuEW;4(z0ffRdm`>M1(n2~n;DEBZ zj$_~Qaemg!IIz8)-SH|e{o9j>M6t{>`M9?*`?yz8zT#+dw}Dpo8n(XXPoU;8gAB>{ zaMe4Xf%R>C5`!PYLM&ilRMes3))5_L&;|(@9i=^DgcttFY6$I76{P(l4iG>_PUlgY zsBrel_v1nTsubQ+8mZ!-Zv$Nj-H3yyv@!L`HMm`1L{Momm^_53gYQp$>LB{xd?QX0 zj(Gj|xbBN@#9jNJ#37-K+pPH0x3c4#pQhQrmcA&nZ$E*hfArUwr<}o(jbGMdoM-#lU5JvrA6bqU$pTx96h5>fhBQmE15(ok7 zA%q&!%m0AVSW;imH3f&3dl27XAY&|RU%`&v^+YpZaNe>F|pYqwBscl@DHD0%gauJcsCO+Fl)LPji7LN z(*PXU2E#;XxKQPV+y+)hg~>)$xfO$u;(6R^1Jo#hWWTTgZ-F8lSin-*&1RO7gaM`0 zkje-6Ym5q_Cd6S#Ny_S%{uABwqZA=QHN~jG3zS>VMZcre{gAwzCfsldt=!YLCH{WT zMj!D?4t&f@+5GYoXm)-7f>^AV)sY?g)GDjrGz6NK`jIdGeKl#aXteLBsv%^ zRwW737krM1`O6t{V>{{=aoH!VI*5K_3B8S1P{T1mh*lj%-!vEOdqqT~rXw1gix`113N$1y&sa7)p~`=o6PPv^7dez&cU~dC*Z=eTBpaTE50LuRM{l z_SJL*cBPZ}kRT?e)Bwhjg#pu1jikN|=C5YB>_{fx^lA3I;v`!6F6_=8(>uS&Zc>m4 zL@?Szg2P7>>di>=4O?=)uqBJ{xziBi=|O56s);-0SR1*pQ?&T!+ok7>Azq zeX`Z}Hf9*d2HqhI?)vSyR9;~zzt z)RC~7P8Ks;Z&Me+C(9sR3XSDhJWgUX^jY^ukEd;f+(eY=6fT7_Tfxe={wEFX(^`8t zOW%D3V)`t9_FJ(xm2?;KJkUD&I1YQ=x4;VZM?HsWO;Lenm__`6U=4zjgdR(DKoCnV z8MA2(C!W}KK@z+%7;!XYWF-x3MyMH9pKu~ppiV@R&rypC3Q~F%wUJ2ea8hs5CGXq+y<#pGPccoFHb1M$zaO4O@)&QdE|( z=Hyp#^}+Y1b=(^m=s0WMb1s{r)g-PU@($~iPUAjY(>I70)PnJK0x_jgs6j|#un9yH zU|O_vR6VKU))4|hMzt-iE0`?jdGiz3LfK!K_<9ygSLA>L4!B+4BqD6uwCT6M(L+0Q z`TxG!<9odo)Ns{8$gLoN^@hRHKN~usQJCv9I7&+!7#0GM;WH=_<9X2(`X~u!99q2dO)P0lK4Vlgw z)Jvfpi?O|eCBvPd9+xg7%6Bo>IDnxs7#D~|nM)H6+Wa%NPaREUEpoG|hyn$MwYx88 zZuODG>S?=-jA_!bDVFWJoJccvP9DTer-UTKs>2yWtV1FjlU{K?ZaAcuErokMY*f8j zErke;-X8o<{*8Ei5|RnB%+g$S2;1w2B8ej|b7takmJQm(rptV?0#oK_$QVQ=RstqT zkztoeEM*8ZFnF{7>5xA=GUdI; z8KQ-v8>9J?a9j4<+O=zM_r4Zg07un&l{UhmAJ_x+aR@Q}tWO*Qjee7URuzJ*sHnJg z3Nu>p5^q_lC0G1qLM*pG&GvT@z{T$i%t)WJ;Q7QeCh5c$v2B`z8ZI>HG^<>>ii(Qc zCeeb#dn|!-|Dr}*?z>uwi{BS`!Jf=a;7_OEjR*H>o4|agjJtdkLsd~xQE?meLrQ|- z-yRpUE>bkE{q_(2A6fJuJr%I(ff%cS)Bmu^%MXnir$;}6TCw=8h$|{8?mpbhv^ncf zQchepO^NK){&cZfd;x@;48b4~!4$mZfibT>ToDnL%3y6 z!HSBCy8{kOAr{eqRfkbGTIiCTB3SChEbn;S7|&kbr8G-PfXMgv*?1OR07qYFZ(5_V zl8|P?i;ivZjsKUhth<%cCNzpJG2Kxgi7=!V3SxCQi3p1uo>);)v7gWkZKldyh+nIQiM0s%qj zB1{9<&%jJ~NVng|iy4()s#3=*D(-Svgvn;c0b?wh? z^8=dBb5N@R<0(pt8bKLVh^VNjxQn3G0qF9a}CM#VTygOCb_fZ#?2 z18%G&QyG926?ZvG3_^(|U}HtF>`zs2_6q^LvFd-28~k;$RNP~!1hAr_;vP#SfE5)L z_gE?ctf;8C$5IJkMMcFumi;FV@Wy~iy)paa#;74bdd*guAQcsNIW#~R#rApwf&D2F zZhsL#^&q1*+vTqnL$wRr!dv)U)y46z** zGqLKi0yn>(f8XpE0$7M8QIFLe>)ogxnB15K$3i-A)kV6Z;x30D<@w)a$cz$$_Z#*L z0R%t4562Y3vU0G3aSHlocQ3yk9@E9LKl>WYlbrbts00TF!wD?hx z16gnc0M0-ZJbh!iHaDENq2NmwT*r1Z!8|D@PH+kVgXn(r*r=$exLv5V7}sUO^jMR4 zp8fDuJZcRbXhv1y3yFvU34qBNsl}b=CEVu%c%$8>SiC?KAW$-I6srl({n}Q3xoto( zww4*KVbVhp)n7G6xl#8j{i~?B>!ILni`}%?UBYGOE0N}8{XLv=--OdnSVoc$DN={0 zNs3}9xwAxY-p#xY(F8DoG^PY_Gkhn?UnDk^?|I4ss$8fBk`4)E$ZXXg}4KGo-(ZGoulgWP#t zA@}(d*aB$5ys2^GM{nSltfSFz^o_*?C5T5!$<0XgvM}ll6{-r*6%}_o1dw0|#DJne z9D0Pb$;lTO9#h-JzdrE*_FXIVy;*b%&;w|RGKvGrLyuk5IPN2R_<4ODOJq3eM~Yt4 z001BWNkl4=2mgShc_|r z3;J#_(i1<}XX9CP0knWhjHp9&z)%`I;M3dL*le<5(57eayq=#G6%}_qu8-Gp%tvNP zBSS#RZEc_JYmo(Tv~Up^MZD~!#{E7z%e-w;A7=EWMVZbo?k+1TD(+TvBcYd$@sLkX zQ+iKY_V(Gn7Fhu0rj(euQu*^wZDLz(35`6#h@*&<#_-OX-B(mp+!Yz~Jql~MQde{O z4+a!r-z`-vssJh=1qAwh?n=1Atff_!3~fSb1F;t9ew7M+_auk|1REgIlEQ)wfyf&? z79|kW;>2Rq5!4ce9FN7@f`M2{BX}%=qcE1CSPEnC#v$Z@$BV&gi3y|5uZj@s5HFU2 zu~>CjZy8w2AP#s8PVJ3x@Q9AK*jma+5EareAPEJX#FDvyGY%6hQ3$_rQ?--^g12}K z)+;vTBq7HJ#bH5(PHd@_2CO9y784Ae#A2Nx^!wDbLyeq5EFMed`@hFCdCx>i2@>JN z^Y7PrzCTP+0$vqWj}o{ko8k_#r~)WJ$MzX$owxsFD_Sbf2uQ#N3q*M17ju^tw}MfN zRmF>;Z!@AGs04y>L|T%Dl1zsfN`eTM5^pSV@Fd!1%t0-*iL@k_1QP;dVMx>EB+i0n zs79l(rIFW{L`!1rF*J3OFl4f9lS@iBb<~|_Sx?Er5Vgf#V-s>L%qi-`&Bk z=l~M(g&U;e&cp;eGRL(b4JC;)3~Wl@Doz4jTc>X`(1@W)@M0O-6vfhsmJsWZp{`<{rZ5&2p%af`)scoi^HGb{^H+2Db?35T%TMs) z>Dn4{iy43jBqHP&eS`yg+nCHf-Z<)Iz>6pLF%f-Ir@wJC3VY(!42fuGFgchdz3^jn zH9=8gDcIVWA}Rt?yMI9U6K~@{EpfKM_!MHL_}rP?`{GZsX7+LbyPL17X$B+I$56TtT?Y$5v5zoH}{1u2R<=y<}(ub~(YaJ7sz<$Bh?`LPU5%=m}5 z5nD^=LvJLWzZNk9ni5mTgdRnGlGfjR1PKKLTSxMo>rQ_(_2CuFfl0L#~)+&e{E&Yvg2vI z`M*G-kypEl%fC~x-i&52#^Y2_46ps%CQkUP18D+|Xwigg(F9NdQQ>QYlDKFvOa>6r z1#`8!g6>R$cyeRO$}WQ|ze4QV6jGz91NvE=mHHf_*{$rk{2M5vCoZN=%fu|*ayh$R z|9Cj+1pHr~L7xPxfm-M?$6E4V{utZ+IUd0Q9!oBp9- zyyT}ZeKrSu@TcsG8W>^}L4AozL~uECS|i!=UDEHrgFTNv4SYsD?_olZE?|5PGMX|2 zD8eYid~|gcp-;^lI@+Q<`k`bPJaGLR9>>%_UWMDfiDg%On_bb6xW1HfxD$Wwn^;p% z86WF0bK$v&+s3dKar6m)$lwQO6B~y<_^E6kJM{N+BJZIjKEhc~89Ab$WKP&qTg6qS z@CR|1V4B=|1;XE*J0^e%;8C%ZfDz9}zIG+;+A(B4#o%!_K1D0;G@K+f{g6&Hg@hg+ zfn=Pr2;gc2NlE*AC~Fg#z{p2C>{7&ml>)o-EkvEI^htmMC8BRysCv*2{Tf7hOsF3W zZZmj6%7g|bV@X1|^lJ<*{4$9`a^ORl-tkk$iVbXhWFF3lN3xrzU&WhM?4yH<$2KS(tG<;m^$vEZ1~)nL<>%tU@g{r)_>)6FpBjt zDm8jKdO z^(2%OShmLNh=P*nkW%7>Cw0Z|6Dx-My!T?vu}?*O8*dtTTLTK#J^2jQo%vmE*QMYS z&?m-t#}$U@6MLk|(?bpY*9;e+jc^J&R6~(NCJhZ@z%#k9s9t8za5z*zl4^ zaL{lAxkk*y<21C#w(LNX$Gw{-ZH$i7z5X)hBf$~)pZA|hDIG3&)v?$Qyp*`uP4V$p zvEjK#ARB+ie72Oeul+2o4{pTDI5Sy7JqRma_6al+Vx1+A>U1X8;g5PE`F)?j@R+9& z?)Ma$NBtoNrQrp+&;2k*ACDe&BH@^)6Ylc_VPF6552`w!lz|f9ie4oN3B-U_yE~qjo z5Gm22#}tO;!L!A6C=$ceiH~9DS3kwhuf2vc${2H=@w2a^%u8mT{r7O~HDv40!FGSa z<)_}4RnL77#UDHim)6jHmgX~G%Oz(B~`E(mOuWLWGB6pdDEn>LsD0g*o4>{W^2ol=X{nUm(H^OKF_D5%j%<_LPDET zQc`v7x#%01%YQ;ora1aVA7a<|eQ5M&=*u|GqD?y;XGgvE|F?JNQIehIeaFA=dzV^! znVwyy7y%*RKnRi90#Vo(VaN$4hQtsS zK>*1@vV_E-4a<^xX0*)G)6;8pZTH^y%^%f0)Qq}&dS-eS)%|_WnNw%#*4EXdN6))G z5B-V$4If_~XCo%!m5gKP2bODT>IjFxDVYfgjUn?PckiAepn?Y)L6O+CG2Y@;-Q~Dy z8Ousv!_cG-R80}<8=X!AHY77k%W{gTqs0IKE@(1+-xo+IK<0S#`pYRy4bwEM2(t#~ z{pA;F8^=WUIGe{}xau7|`uP#Y?|X&m{(qi|u zXE5Ybs+#V2I|(b*L&PQeyKiFCZ3<3}Y59QL-*W}tr$j+W%Li0ktFs(tinNLYl$r^pb1%dH@DtdnF~Ss9`!@ArKNFYz z15j1MdR9Ca&>o*dm zjY*U49uE*0=Ac>>30<`}J~bm(D!_qzwjITN$lAjs;f# z$@?h~@yI)Whv&WOwcP#Le-GgxVKzZ4vqZF+39FsD=RwH%AHR)z|J(b>Y)o?ZHwYg7 z2fUBS;vu5d8}Wa1H3Z{??KbW5MjBUt5t};tZvG3JJ8yz`4JW_qi|nezY})ca8UEDO z)QcH)+fVFU?ESlU6S_7L&?Mr_^Zy9?HZvYOg4C0hPQrfqN35MJ5V-w|b2Ori(KkJh za<-jjsZNuAW@{YD3E=UkM&PtH%l3Ll762WX&Orb&@0psZ!O<(+AWIbcHZ@!2t{Y!Z zgrgO!9c#PdG-bGDXFqdyyCN4kc} z)nCRoLV|RVMwro;wwN{v#DkO?G1J*b(r}!U>ccc&Ge~3-5?`WG?Ps7i!c$ibQ8N*f zWLO;7K^!6A@sTGFZqPk-m}M+390 zgNA`HY|zMtAe*6O4c29(-V)3c0kcjqH^?%kSi?CV{uuXNbus08zs~CVd+CcRlw6a# ztr9oK*`1~o@H8p2BCRo@0F zAsX4^oOIU@dE{$vhcp9|5nD%+&92sEDYw7v`IPX~D1&JNC$r(R!({OWp6JiWf;xd| z;7WT5&3%VcQ(v@o=v_b%0wO|?ru2?9fzXQ-=_pMgbOaHQ4hlg+2bB&|0!owK2}+X^ zP)bC^L@A+3l^V)R@|*d-_b0r}By)1l*?aA^_C9lGl6&v|M%#2ZjOn4j6#iaQD=vn-lUij$;m65~xy z?|&-HJ}GnlSly?$=p(10)Je7+MbWnuPx=;-M2q|DEb4BK3$Je53^p8Cs=WiO?vUGz z7&4ic^eMt^BA=xS?(o`t?{}ksweBMYzkFrs%nSDdQaL?JPB-o@dL8$ki9TqdL+nt_ak`@P73FT@^vz5{M2^_ymAR#J~X2EMu)Vr`l)j zfAypAqLj`@54}GEjjm5gbYyo8%PGT$>1n<;A}c)Te{T)Z*xi@nuznZB?lQ%+tphP; z(41m9Hm+EK)Tu_XTb>BFYz=BtJ@-U;*(}sZLYO^_o3~tF+Nv-A!E71*ixN@Akyjl zWfd@alG!mI!=veEjByE-9T^pgI|8IGP;YH-Gnn6>d_ijZ#wRadFd4>v;moqT9Nv;w zW*?asHY@JaGlT~{yF3}FRy)$_uR8&eWt7^Bv0};<{2q#ux4t~>jaA^?%X}ZP#6J1!DcVDKq32ZFJ`!AOwJRe9{(Dy&3%v>Q(=|DT=(q()&XL;u(?|yHV;Y zqW8zfRE#NQd*LWT0lRahE6-^}8w01->CwENB#WEa#{Y}kGNBs>)wrwSEK-8v!t5@Q z6bV#|*}m#|Dfmfb>h~)?x@hJX4@#&d`4PKk$(m*p$S!B3kuvyP(9W~47ac3kWB;A@(X-n{8*PW-DX`cDVfDw61tcS*kKJ1|FqH)gu zx2vJ@9?!tEiFoz9e`i)?J|iB9Jyp!yJ%{1-%oarwXE6qf=Mief&ljwOD$Gr`O0&n< z)?{fgAAiM+@`zx%ho+q0HN^}1TVr*nvJ@V! z3crTF(9ri36(%V`34C*@$!&&ElI<+!L2#h*X7OSR`8G!eWdFaJp`0&VnUT_Wa!Gza z&3o1q^BoSZKn{L%m=vpBeA5~kS5INVg|wpS{(LOQZQw~;eK~qL1PP5ESyl1IUvy3H z%ir&V>^>fc8T|$IY&3=xN&1ZB=l^w`I1x_>;S&ps{nvBZx1K1!yE;@mv~^4~_-6Ge zr3wT)9}h~a{p5Y-qn}NioZ6L-5Dc+2RXG?qcFrE!ZjZa>ZvVo=*vTm8>0`mUgh%Sj zKk9Z4xiDp!Zv+bTVb5c5DluZ|Hlk_zy_c%=g|~QlZZu%k*>5TUq~3AI@Y7`IK^9 ztR%72=>yYC!xvg|VAmgk-M|J`KLZ%mIgl#T+$gr~UUNJ9eqYh)rj^t`z0{?Ih=H69h};Fa}#qb&eZof1K6 zy%_QC=VY$i!Z^d_`jmvqXpgX2hs)l#LbcAgMsY!gQ6?RxmK=I{Nw(_6_RB48Z#M}W z-7j{?@HH=+hn^CTIEzhpm<-h$UXN_}I_vP3`DpAE{7#UUxR)0*D^m*ZO8aBPV%WRu zmm|^}Jv$jVe5T*2NIS3yh=eMn#){+W5^&iUF@)Jyxao`=P=v>MxVjBB;u) zV;0aZ3vljFzQ-zOlN^rD^;-FB^lI~i&U(6%A;&L^m$+&r!&Izx#8e7aZou zccB?9snV45C#t6?5Pcv!_I|3Qi&FnXanse?ns3)B4TJcyW;H!-2v{@j-mNf*o4y0j zI8Q>W_4JPB2O>@XiTZYhvk3D$o0;W_&UfX`wLMwPpqv^6az~x*#;HxJ=gJ-z_@(%x zrUeWkiT2p&9{IvF$}6(Ditp{?2QpYSW)1yZt(>Iu+*-^7l$*sPaVw{E z*(IL){26@8e$v@-_3_{xxU}tiGhK#38Av?;NR?o+vXgWl%#Y9R#9J!QY^*|$gD1cS z`(5&iJAJuGsfUKyb+fTt1sBO^S?(f5(o8ctoN%*e(;{ueoC1S8WRMK#r(0dJdX>K5 zf_HH2BJU|PMrl4S`j+k!Fu1mHHPelf-IEh*y*KC*q5YYaI^#ua(G=#K{V<(VQ&-~^ z|G&OiJxqm>LEW#$O%e&d&(GiLk|8@oUwrhZ7?2rYo@yWg!Z~9=4aKh+R`0_h=Fau9 zBbt7XwB|&*3${wg5w7SZ?ldVEQp+a6lTK7EXop7HiN;--;?1A#!^OviUMYqFbYd9D0@jn80}K2@tLQA4(sN@T1gO_)u=kv>XZ?TZarjkx0V z3hET+z|& zEd+QEZLqMzO}RIv?U~1wREXy$BvbuuX)xOKf+bDtpz>+%)jDOD*lS_Ijy0C?T6+k) z`%|`1Qp;r3;iz`UjLwUvH|pwO&O0ygzo;h27sPuO(i`9^BMO(%)DgvVrH0%|eVZTd zl5-SBQ~D1zVH?qCq?+LajzlXbd+o2GKR46asX|;j9sGObZC1w__j@!WRCRV9P5i^& zTn}68M2-e$f2~5Ze-(IIcr7v>{YZLTwl_>la42QiM#2W(p0@36ye$^w$QJ(h77T5wg+D56a-Ut{#JYBBvJi&Ry|_KEQs( zQzAi-?i3(oO;wiVPA8gQCV8bhVYAL;&4D+|+A2mB&>-JX+$Lj9FANa+fEXdzjmcBBP1+Yr;n6&j z#;J&t4c3$)nE#F`{-72GwLf*7RN8s0dlWLmEVn1&|ir1lPg5Su4ur6R$EZv4pOnlFS0eHNxEV;LQWSE^IPrr#__D~D_ZjdE#jEd3xnzl zc@|IvruWTdfy`f$Pf|V+Tm`t7JbOz}F0(@#L54lMLJuYC_<%th9I#$p0%mc-X2E`ux95dwm@#&rVGkyL6CYG{OMH zElFHoK5%$Rtoa||I6!Az5SqC4TC5}P{V!PvqQB`#=o)RI-R#C*;IaC84d1XszxxUi z!6mRWE83Tqmi`PzM{F*12KUnMI9im%U0hroi5(bq9nmu~PNC5gHtq#lOyr~gcD2A) zCYF|Np>e;C+O~Ue{>Z;?Q97^|g%+rM;qi;3WyX zm;Jb#XVIc|Et9^jF(+hbd+qNJxtiBJPO&m(Fqlk9xkU*g}c=!n^M$j9NtVPNBS??eP0V0J4Q*F+Jk*>*+w?-QzDyJTf6(~oJIn? zP_@eqqhj+%9XL`C%&Pij zQTF>y+kZR`0O+$7dGo3VZ6_;vq3c!f!b5WAHI;?FMFg&sY#|19H_J z+V(cKW1}|jDDZ7nRaK}v|8_f;TXi?_zCY?=@Hh^P=VDv?S2zLJ^*LfeGop9OSjh+d zYP$>lS%btMnJoWnI5q0brNw8yMZ}>C$`z%<2PhCCVRnQ-pa$aIS%FAJ_ucK^jwDRQ zmLGP%+>gu%+wOjYuM~_#ZveAmdOkJBj{vt^CtyRsvi_r;Say+6zx@nS$JU~YfAF7p zwUkemGGVEy(u#_DjdMSP+3Lb#&00HV{w79rnnbT%NuyIi0{5GGCyv_MQMRj3_Pg=@ zyc%bnYxrM*-U+?4t!W6|cN1%0x=Kk!#mJw(dr5LQ_1aDfk-`MPzx1?>!L=HWvHt_! C4sebD literal 0 HcmV?d00001 diff --git a/common/EtsNotification/settings.gradle b/common/EtsNotification/settings.gradle new file mode 100644 index 0000000000..4773db7323 --- /dev/null +++ b/common/EtsNotification/settings.gradle @@ -0,0 +1 @@ +include ':entry' -- Gitee From 3b86b1e8054725bf7a8aa65ef4ad3e87e6c9ea09 Mon Sep 17 00:00:00 2001 From: guojin26 Date: Wed, 15 Dec 2021 18:00:17 +0800 Subject: [PATCH 2/7] update Signed-off-by: guojin26 --- common/EtsNotification/build.gradle | 13 +------------ common/EtsNotification/entry/build.gradle | 2 +- 2 files changed, 2 insertions(+), 13 deletions(-) diff --git a/common/EtsNotification/build.gradle b/common/EtsNotification/build.gradle index cabf5eb09f..8469dbed39 100644 --- a/common/EtsNotification/build.gradle +++ b/common/EtsNotification/build.gradle @@ -1,19 +1,8 @@ // Top-level build file where you can add configuration options common to all sub-projects/modules. apply plugin: 'com.huawei.ohos.app' -//For instructions on signature configuration, see https://developer.harmonyos.com/cn/docs/documentation/doc-guides/ide_debug_device-0000001053822404#section1112183053510 +// For instructions on signature configuration, see https://developer.harmonyos.com/cn/docs/documentation/doc-guides/ide_debug_device-0000001053822404#section1112183053510 ohos { - signingConfigs { - release { - storeFile file('D:\\hap\\appl2.p12') - storePassword '0000001CFE7B5C88E843C2D127D7F55B90DDDB667A813388AD451D35447BAA9DDC5D1482B9A8D0DF7D58A356' - keyAlias = 'appl2' - keyPassword '0000001CBE0B883DE5B645605F5988C73DB27AEF17CBE0E14C51E7FE73174B6ED981D3711C7066267F692157' - signAlg = 'SHA256withECDSA' - profile file('D:\\hap\\etsnotification.p7b') - certpath file('D:\\hap\\appl2.cer') - } - } compileSdkVersion 7 supportSystem "standard" } diff --git a/common/EtsNotification/entry/build.gradle b/common/EtsNotification/entry/build.gradle index 1587dd1948..895f5ab55b 100644 --- a/common/EtsNotification/entry/build.gradle +++ b/common/EtsNotification/entry/build.gradle @@ -1,5 +1,5 @@ apply plugin: 'com.huawei.ohos.hap' -//For instructions on signature configuration, see https://developer.harmonyos.com/cn/docs/documentation/doc-guides/ide_debug_device-0000001053822404#section1112183053510 +// For instructions on signature configuration, see https://developer.harmonyos.com/cn/docs/documentation/doc-guides/ide_debug_device-0000001053822404#section1112183053510 ohos { compileSdkVersion 7 defaultConfig { -- Gitee From bc510fbbe4dcfda943e0264702ab72ec31ddd964 Mon Sep 17 00:00:00 2001 From: guojin26 Date: Thu, 16 Dec 2021 08:12:39 +0800 Subject: [PATCH 3/7] fotmat Signed-off-by: guojin26 --- .../main/ets/MainAbility/common/choose.ets | 34 ++++--- .../MainAbility/model/notificationUtils.ets | 18 ++-- .../src/main/ets/MainAbility/pages/index.ets | 96 ++++++++++++------- 3 files changed, 87 insertions(+), 61 deletions(-) diff --git a/common/EtsNotification/entry/src/main/ets/MainAbility/common/choose.ets b/common/EtsNotification/entry/src/main/ets/MainAbility/common/choose.ets index bbbe6f8c33..202829c024 100644 --- a/common/EtsNotification/entry/src/main/ets/MainAbility/common/choose.ets +++ b/common/EtsNotification/entry/src/main/ets/MainAbility/common/choose.ets @@ -15,38 +15,41 @@ @Component export struct Choose { - @Link selectIndex:number - getImg(current){ - if(this.selectIndex === current) { + @Link selectIndex: number + + getImg(current) { + if (this.selectIndex === current) { return $r("app.media.checked") } else { return $r("app.media.uncheck") } } + build() { - Column(){ - Flex({ direction: FlexDirection.Column}) { + Column() { + Flex({ direction: FlexDirection.Column }) { Text($r("app.string.choose_notification_type")) .width(300) - .padding({top:10}) + .padding({ top: 10 }) .fontSize(20) .fontColor(Color.Black) .fontWeight(FontWeight.Bold) - Column(){ - Row(){ + Column() { + Row() { Image(this.getImg(0)) - .height(30).width(30) - .objectFit(ImageFit.Contain) + .height(30).width(30) + .objectFit(ImageFit.Contain) Text($r("app.string.notification_type_normal")) .padding(10) .fontSize(20) .fontColor(Color.Black) } .width(300) - .onClick(()=>{ + .onClick(() => { this.selectIndex = 0 }) - Row(){ + + Row() { Image(this.getImg(1)) .height(30).width(30) .objectFit(ImageFit.Contain) @@ -56,10 +59,11 @@ export struct Choose { .fontColor(Color.Black) } .width(300) - .onClick(()=>{ + .onClick(() => { this.selectIndex = 1 }) - Row(){ + + Row() { Image(this.getImg(2)) .height(30).width(30) .objectFit(ImageFit.Contain) @@ -68,7 +72,7 @@ export struct Choose { .fontSize(20) .fontColor(Color.Black) }.width(300) - .onClick(()=>{ + .onClick(() => { this.selectIndex = 2 console.info('this.selectIndex = ' + this.selectIndex) }) diff --git a/common/EtsNotification/entry/src/main/ets/MainAbility/model/notificationUtils.ets b/common/EtsNotification/entry/src/main/ets/MainAbility/model/notificationUtils.ets index 75cefde22e..f813de36e8 100644 --- a/common/EtsNotification/entry/src/main/ets/MainAbility/model/notificationUtils.ets +++ b/common/EtsNotification/entry/src/main/ets/MainAbility/model/notificationUtils.ets @@ -18,7 +18,7 @@ import notify from '@ohos.notification'; function getNotificationContentBasic(mWantAgent) { let notificationRequest = { id: 1, - slotType:notify.SlotType.CONTENT_INFORMATION, + slotType: notify.SlotType.CONTENT_INFORMATION, content: { contentType: notify.ContentType.NOTIFICATION_CONTENT_BASIC_TEXT, normal: { @@ -27,9 +27,9 @@ function getNotificationContentBasic(mWantAgent) { additionalText: 'notification additionalText', //通知次要内容,是对通知内容的补充 } }, - actionButtons:[ + actionButtons: [ { - title:'button', + title: 'button', wantAgent: mWantAgent } ] @@ -40,7 +40,7 @@ function getNotificationContentBasic(mWantAgent) { function getNotificationContentLongText(mWantAgent) { let notificationRequest = { id: 2, - slotType:notify.SlotType.CONTENT_INFORMATION, + slotType: notify.SlotType.CONTENT_INFORMATION, content: { contentType: notify.ContentType.NOTIFICATION_CONTENT_LONG_TEXT, longText: { @@ -57,10 +57,10 @@ function getNotificationContentLongText(mWantAgent) { return notificationRequest } -function getNotificationContentMultiline(mWantAgent){ +function getNotificationContentMultiline(mWantAgent) { let notificationRequest = { id: 3, - slotType:notify.SlotType.CONTENT_INFORMATION, + slotType: notify.SlotType.CONTENT_INFORMATION, content: { contentType: notify.ContentType.NOTIFICATION_CONTENT_MULTILINE, multiLine: { @@ -69,7 +69,7 @@ function getNotificationContentMultiline(mWantAgent){ additionalText: 'notification additionalText', //通知次要内容,是对通知内容的补充 briefText: 'notification briefText', longTitle: 'notification long title', - lines: ['line1','line2','line3'] + lines: ['line1', 'line2', 'line3'] } }, wantAgent: mWantAgent @@ -77,7 +77,7 @@ function getNotificationContentMultiline(mWantAgent){ return notificationRequest } -export function getNotificationRequest(contentType,mWantAgent) { +export function getNotificationRequest(contentType, mWantAgent) { console.info('[guojin]getNotificationRequest contentType=' + contentType) let notificationRequest switch (contentType) { @@ -96,7 +96,7 @@ export function getNotificationRequest(contentType,mWantAgent) { return notificationRequest } -export function getNotificationId(contentType){ +export function getNotificationId(contentType) { console.info('[guojin]getNotificationId contentType=' + contentType) let notificationId = 1 switch (contentType) { diff --git a/common/EtsNotification/entry/src/main/ets/MainAbility/pages/index.ets b/common/EtsNotification/entry/src/main/ets/MainAbility/pages/index.ets index 55a627813a..fe758c0897 100644 --- a/common/EtsNotification/entry/src/main/ets/MainAbility/pages/index.ets +++ b/common/EtsNotification/entry/src/main/ets/MainAbility/pages/index.ets @@ -16,14 +16,15 @@ import notify from '@ohos.notification'; import wantAgent from '@ohos.wantAgent'; import prompt from '@system.prompt'; -import {getNotificationRequest,getNotificationId} from '../model/notificationUtils' +import {getNotificationRequest, getNotificationId} from '../model/notificationUtils' import {Choose} from '../common/choose' @Entry @Component -struct Index1 { - @State contentType:number = 0 - private slotType:number = 0 +struct Index { + @State contentType: number = 0 + private slotType: number = 0 + build() { Column() { Text($r('app.string.app_name')) @@ -34,103 +35,124 @@ struct Index1 { .fontSize(20) .padding({ left: 15 }) Scroll() { - Flex({ direction: FlexDirection.Row, alignItems: ItemAlign.Center, justifyContent: FlexAlign.Center, wrap: FlexWrap.Wrap}) { - Choose({selectIndex:$contentType}) - Column(){ + Flex({ + direction: FlexDirection.Row, + alignItems: ItemAlign.Center, + justifyContent: FlexAlign.Center, + wrap: FlexWrap.Wrap + }) { + Choose({ selectIndex: $contentType }) + Column() { Button() { Text($r('app.string.add_slot')) .fontSize(25) .fontWeight(FontWeight.Bold) - }.type(ButtonType.Capsule) + } + .type(ButtonType.Capsule) .margin(10) - .width(340).height(60) + .width(340) + .height(60) .backgroundColor('#0D9FFB') - .onClick(()=>{ + .onClick(() => { console.info('[notification] addSlot') + function addSlotCallBack() { console.info("[notification]==========================>addSlotCallBack=======================>"); - prompt.showToast({message:'Add slot succeed'}) + prompt.showToast({ message: 'Add slot succeed' }) } + notify.addSlot(notify.SlotType.CONTENT_INFORMATION, addSlotCallBack) }) + Button() { Text($r('app.string.publish_notification')) .fontSize(25) .fontWeight(FontWeight.Bold) - }.type(ButtonType.Capsule) + } + .type(ButtonType.Capsule) .margin(10) - .width(340).height(60) + .width(340) + .height(60) .backgroundColor('#0D9FFB') - .onClick(()=>{ + .onClick(() => { console.info('[guojin]publish notification') let WantAgentInfo = { - wants:[ + wants: [ { - bundleName:'ohos.samples.etsnotification', - abilityName:'ohos.samples.etsnotification.MainAbility', + bundleName: 'ohos.samples.etsnotification', + abilityName: 'ohos.samples.etsnotification.MainAbility', } ], - operationType:wantAgent.OperationType.START_ABILITY, - requestCode:0 + operationType: wantAgent.OperationType.START_ABILITY, + requestCode: 0 } - wantAgent.getWantAgent(WantAgentInfo, (err,data)=>{ - if(err.code !== 0) { + wantAgent.getWantAgent(WantAgentInfo, (err, data) => { + if (err.code !== 0) { console.info('[notification]getWantAgent failed,err = ' + JSON.stringify(err)) return } - let notificationRequest = getNotificationRequest(this.contentType,data) - notify.publish(notificationRequest).then(()=>{ + let notificationRequest = getNotificationRequest(this.contentType, data) + notify.publish(notificationRequest).then(() => { console.info("[notification]==========================>publishCallback=======================>"); }); }) }) + Button() { Text($r('app.string.cancel_last_notification')) .fontSize(25) .fontWeight(FontWeight.Bold) - }.type(ButtonType.Capsule) + } + .type(ButtonType.Capsule) .margin(10) - .width(340).height(60) + .width(340) + .height(60) .backgroundColor('#0D9FFB') - .onClick(()=>{ + .onClick(() => { console.info('[notification]cancel notification') let notificationId = getNotificationId(this.contentType) - notify.cancel(notificationId,()=>{ + notify.cancel(notificationId, () => { console.info("[notification]==========================>cancelAllCallback=======================>"); }) }) + Button() { Text($r('app.string.cancel_all_notification')) .fontSize(25) .fontWeight(FontWeight.Bold) - }.type(ButtonType.Capsule) + } + .type(ButtonType.Capsule) .margin(10) - .width(340).height(60) + .width(340) + .height(60) .backgroundColor('#0D9FFB') - .onClick(()=>{ + .onClick(() => { console.info('[notification]cancel notification') - notify.cancelAll(()=>{ + notify.cancelAll(() => { console.info("[notification]==========================>cancelAllCallback=======================>"); }) }) + Button() { Text($r('app.string.delete_slot')) .fontSize(25) .fontWeight(FontWeight.Bold) - }.type(ButtonType.Capsule) + } + .type(ButtonType.Capsule) .margin(10) - .width(340).height(60) + .width(340) + .height(60) .backgroundColor('#0D9FFB') - .onClick(()=>{ + .onClick(() => { console.info('[notification]delete slot') - notify.removeSlot(notify.SlotType.CONTENT_INFORMATION,()=>{ + notify.removeSlot(notify.SlotType.CONTENT_INFORMATION, () => { console.info("[notification]==========================>removeSlotAllCallback=======================>"); - prompt.showToast({message:'Delete slot succeed'}) + prompt.showToast({ message: 'Delete slot succeed' }) }) }) } } - .margin({bottom:50}) + .margin({ bottom: 50 }) } } } -- Gitee From d3c546975ec2234827b3fe87d437b9ebd43e70e4 Mon Sep 17 00:00:00 2001 From: guojin26 Date: Thu, 16 Dec 2021 08:16:44 +0800 Subject: [PATCH 4/7] delete selecte icon Signed-off-by: guojin26 --- .../EtsNotification/entry/src/main/config.json | 2 -- .../src/main/resources/base/media/select.png | Bin 2777 -> 0 bytes 2 files changed, 2 deletions(-) delete mode 100644 common/EtsNotification/entry/src/main/resources/base/media/select.png diff --git a/common/EtsNotification/entry/src/main/config.json b/common/EtsNotification/entry/src/main/config.json index 0958546f98..3c1e1a3ea0 100644 --- a/common/EtsNotification/entry/src/main/config.json +++ b/common/EtsNotification/entry/src/main/config.json @@ -1,7 +1,6 @@ { "app": { "bundleName": "ohos.samples.etsnotification", - "vendor": "samples", "version": { "code": 1000000, "name": "1.0.0" @@ -34,7 +33,6 @@ } ], "orientation": "unspecified", - "visible": true, "srcPath": "MainAbility", "name": ".MainAbility", "srcLanguage": "ets", diff --git a/common/EtsNotification/entry/src/main/resources/base/media/select.png b/common/EtsNotification/entry/src/main/resources/base/media/select.png deleted file mode 100644 index a32ccb31c4f6d9512e4ed48b8bbc68b54ebaad7c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2777 zcmeHJX;V|#7ELhf6&!8^1Oy>rQd(LHuw@<+2!l+Gf&s%M0TB?=66P=&5CTT#ClD~$ z${<0(Mv*b0MP3L30i*@B69xlDjDTWe;4$@m|KZj9)E~}SRj2kk>(ttHcCFl>-5n3e z9+ic`UH(~CME=M@;OH=tckC-0E5YvINM{q5(5_R5NJA%D*Y14 z+r5ED{&Eh?N+JuF0ua+Fo}T-iY>PhY>POHIYogE6vah_?X-vf2dQMA3=P6My6TM1< z`am2KiMw3S3M0P1F>?d#w)g6uVHO8avfm0T8pfy1Quz(rY1bd`@(%P)?MdG%Cnrb0 zUppiNzA4N2eGdfHFzPQBs9#`k#B8!H4AZ^~97WC;)ACil9RL)q=x+FVM;Inn@W2QQ z!_X0KmF6+)gLkL{kJSum>dKE|0i1ZdxX z>jy0a*yl9*v_UHaWghLNg3drWQ0v@|!4YHE?!N@!2*bmtqdq}e|49D-j15wtK5TBb zS^P5lLQ*mi;%`53hdh#Jc-B(^x6w>?52oWbNS+E78iA+9n*yO|F$MY7_k~%)Kvlf3 zsZMyjmAh{IbmOVynFgskN_tetu@DOa+J20%nQH1<6UC==jYRWzleg2|6fzrqzZI|5WIYPX3dvgBx}Cl;I}XGU#yrx{gr2Sr9omd&p5+zVUuNeV?4Wa^M_0#GH37BJ-tJ|h}fpXlTz zANN8t$-(P;u|S!)PwOOx#fqr*vMQ1f;wQteAGZU1t)hn93cnA$PH2x^KkP#wQ1}(b zVd}%RnF2(3U=PPaslDpkIT_6rzvV5hj>iLTpmpY4%#-id;`8XNu(?05(bO;M+Vy|N zjrro{E-i1l#6+M^VlFDPH#ZIp7(* zv~-~))Bq^1u?y&>2fFK)h#80$9x;BPfxatmSdkRN;;td)(jVyjUuLkAx zO2XZKMDYz>krq`z@2M-E(-4lcNFF~?vPxX#sM>p{KBhzU>dLe1>Q0?+(4EYL`Dx)G zi{zGC;$V)%bOtrD-iHZxM&8>9P1MuKH3=L%0cep^DsJD2UpC{6Nsin~G@|+`G+lDm z6;kq>Z>@2p(FZW!Z7+KkFIn~DDbsh0lu$ft_+;D`Us*(PVD7|I@Y$fd>Ow2N5{Q8{ zu~^Y@e0Hq23CM z_35%$kW*LA7*;?gwMw^{R}XgAWNPwCXC$2*J#J!u={P?1U8EflcyZOPsdpW$ag-&l zsV*9F8!PM9gA1OydEg3}U-90nx?+L9)!>ETPMV*Hy|Z~%O}E4jMbmuHqTj4kNS`rHHYh-`i&hODNd7Z#$nDscIfG2< zl5S^idD!7JWPn#W6Z^@7E#0p6>Q$F=g|%%rz$u&hR-X?r8KC8NiRa|13z7b0JNvJM zERefRUXgR1pLqm^JohXOT@OZjZo!WtlggyqY&q+eg+(xA-`BFxBrkgglQ6B0HGTag zd%^fHOiZ|wu3oil?ISX#j$&NHFi&H6AZ-g3&|EipTX6jA zcuF3OS_2qHGho#6{OS+q5ui4Xc5NKW2(g=|t2HxFdRTg;ZU(AORKKnOwE!6`fI4A# z%x1VAKsn`sqPl%3+QM46H4cV3m!)jt2Kz_ye`W0Eq3Ivw#fv^6Bq*!GoN?~ Date: Thu, 16 Dec 2021 08:19:32 +0800 Subject: [PATCH 5/7] update Signed-off-by: guojin26 --- common/EtsNotification/build.gradle | 1 - common/EtsNotification/entry/build.gradle | 5 ----- 2 files changed, 6 deletions(-) diff --git a/common/EtsNotification/build.gradle b/common/EtsNotification/build.gradle index 8469dbed39..cae0ab0036 100644 --- a/common/EtsNotification/build.gradle +++ b/common/EtsNotification/build.gradle @@ -18,7 +18,6 @@ buildscript { } dependencies { classpath 'com.huawei.ohos:hap:3.0.3.4' - classpath 'com.huawei.ohos:decctest:1.2.6.0' } } diff --git a/common/EtsNotification/entry/build.gradle b/common/EtsNotification/entry/build.gradle index 895f5ab55b..eeb7e12589 100644 --- a/common/EtsNotification/entry/build.gradle +++ b/common/EtsNotification/entry/build.gradle @@ -14,8 +14,3 @@ ohos { } } } - -dependencies { - implementation fileTree(dir: 'libs', include: ['*.jar', '*.har']) - testImplementation 'junit:junit:4.13.1' -} -- Gitee From b1ecca07d3ef228d0d1abc69f1ffdf3c22d35a1c Mon Sep 17 00:00:00 2001 From: guojin26 Date: Thu, 16 Dec 2021 11:55:48 +0800 Subject: [PATCH 6/7] modify log Signed-off-by: guojin26 --- .../entry/src/main/ets/MainAbility/pages/index.ets | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/common/EtsNotification/entry/src/main/ets/MainAbility/pages/index.ets b/common/EtsNotification/entry/src/main/ets/MainAbility/pages/index.ets index fe758c0897..db8d691ed7 100644 --- a/common/EtsNotification/entry/src/main/ets/MainAbility/pages/index.ets +++ b/common/EtsNotification/entry/src/main/ets/MainAbility/pages/index.ets @@ -16,8 +16,8 @@ import notify from '@ohos.notification'; import wantAgent from '@ohos.wantAgent'; import prompt from '@system.prompt'; -import {getNotificationRequest, getNotificationId} from '../model/notificationUtils' -import {Choose} from '../common/choose' +import { getNotificationRequest, getNotificationId } from '../model/notificationUtils' +import { Choose } from '../common/choose' @Entry @Component @@ -75,7 +75,7 @@ struct Index { .height(60) .backgroundColor('#0D9FFB') .onClick(() => { - console.info('[guojin]publish notification') + console.info('[notification]publish notification') let WantAgentInfo = { wants: [ { -- Gitee From 67f2d5133ef4e1b763f4e51ca49af8e932314d23 Mon Sep 17 00:00:00 2001 From: guojin26 Date: Thu, 16 Dec 2021 13:13:30 +0800 Subject: [PATCH 7/7] modify log Signed-off-by: guojin26 --- .../src/main/ets/MainAbility/model/notificationUtils.ets | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/common/EtsNotification/entry/src/main/ets/MainAbility/model/notificationUtils.ets b/common/EtsNotification/entry/src/main/ets/MainAbility/model/notificationUtils.ets index f813de36e8..9ce33fd0ff 100644 --- a/common/EtsNotification/entry/src/main/ets/MainAbility/model/notificationUtils.ets +++ b/common/EtsNotification/entry/src/main/ets/MainAbility/model/notificationUtils.ets @@ -78,7 +78,7 @@ function getNotificationContentMultiline(mWantAgent) { } export function getNotificationRequest(contentType, mWantAgent) { - console.info('[guojin]getNotificationRequest contentType=' + contentType) + console.info('[notification]getNotificationRequest contentType=' + contentType) let notificationRequest switch (contentType) { case 0: @@ -97,7 +97,7 @@ export function getNotificationRequest(contentType, mWantAgent) { } export function getNotificationId(contentType) { - console.info('[guojin]getNotificationId contentType=' + contentType) + console.info('[notification]getNotificationId contentType=' + contentType) let notificationId = 1 switch (contentType) { case 0: -- Gitee