From 496d9b6ca540fc97dd2dc431c316ffd21c852b36 Mon Sep 17 00:00:00 2001 From: guojin26 Date: Wed, 26 Jan 2022 09:20:09 +0800 Subject: [PATCH 1/4] add DeviceManager Signed-off-by: guojin26 --- device/eTSDeviceManager/README_zh.md | 21 ++ device/eTSDeviceManager/build.gradle | 34 +++ device/eTSDeviceManager/entry/build.gradle | 21 ++ .../entry/src/main/config.json | 67 ++++++ .../entry/src/main/ets/MainAbility/app.ets | 23 ++ .../ets/MainAbility/components/deviceView.ets | 60 +++++ .../ets/MainAbility/model/deviceDataModel.ets | 28 +++ .../MainAbility/model/deviceStateAction.ets | 36 +++ .../MainAbility/model/remoteDeviceModel.ets | 213 ++++++++++++++++++ .../src/main/ets/MainAbility/pages/index.ets | 97 ++++++++ .../main/resources/base/element/string.json | 28 +++ .../src/main/resources/base/media/icon.png | Bin 0 -> 6790 bytes .../src/main/resources/en/element/string.json | 28 +++ .../src/main/resources/zh/element/string.json | 28 +++ .../screenshots/device/main.png | Bin 0 -> 46178 bytes device/eTSDeviceManager/settings.gradle | 1 + 16 files changed, 685 insertions(+) create mode 100644 device/eTSDeviceManager/README_zh.md create mode 100644 device/eTSDeviceManager/build.gradle create mode 100644 device/eTSDeviceManager/entry/build.gradle create mode 100644 device/eTSDeviceManager/entry/src/main/config.json create mode 100644 device/eTSDeviceManager/entry/src/main/ets/MainAbility/app.ets create mode 100644 device/eTSDeviceManager/entry/src/main/ets/MainAbility/components/deviceView.ets create mode 100644 device/eTSDeviceManager/entry/src/main/ets/MainAbility/model/deviceDataModel.ets create mode 100644 device/eTSDeviceManager/entry/src/main/ets/MainAbility/model/deviceStateAction.ets create mode 100644 device/eTSDeviceManager/entry/src/main/ets/MainAbility/model/remoteDeviceModel.ets create mode 100644 device/eTSDeviceManager/entry/src/main/ets/MainAbility/pages/index.ets create mode 100644 device/eTSDeviceManager/entry/src/main/resources/base/element/string.json create mode 100644 device/eTSDeviceManager/entry/src/main/resources/base/media/icon.png create mode 100644 device/eTSDeviceManager/entry/src/main/resources/en/element/string.json create mode 100644 device/eTSDeviceManager/entry/src/main/resources/zh/element/string.json create mode 100644 device/eTSDeviceManager/screenshots/device/main.png create mode 100644 device/eTSDeviceManager/settings.gradle diff --git a/device/eTSDeviceManager/README_zh.md b/device/eTSDeviceManager/README_zh.md new file mode 100644 index 0000000000..16428002f5 --- /dev/null +++ b/device/eTSDeviceManager/README_zh.md @@ -0,0 +1,21 @@ +# 设备管理-DeviceManager接口 + + + +### 简介 + +本示例展示了在eTS中DeviceManager接口的使用,包括获取授信设备列表,设备扫描,设备认证,设备状态订阅。 + +### 使用说明 + +1、进入应用会自动获取授信设备列表显示在设备列表中,状态显示为"online",并开始设备扫描发现设备,发现设备后会显示在设备列表中,状态显示为"discover"。 + +2、点击状态为"discover"的设备,会触发认证,认证完成会刷新界面。 + +3、设备状态订阅监听组网状态变化从而刷新界面。 + +### 约束与限制 + +1、本示例需要组网测试。 + +2、本示例仅支持标准系统上运行。 diff --git a/device/eTSDeviceManager/build.gradle b/device/eTSDeviceManager/build.gradle new file mode 100644 index 0000000000..f1b1a556a0 --- /dev/null +++ b/device/eTSDeviceManager/build.gradle @@ -0,0 +1,34 @@ +// 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 { + compileSdkVersion 8 + 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.5.2' + classpath 'com.huawei.ohos:decctest:1.2.7.2' + } +} + +allprojects { + repositories { + maven { + url 'https://repo.huaweicloud.com/repository/maven/' + } + maven { + url 'https://developer.huawei.com/repo/' + } + } +} diff --git a/device/eTSDeviceManager/entry/build.gradle b/device/eTSDeviceManager/entry/build.gradle new file mode 100644 index 0000000000..cef7b37de8 --- /dev/null +++ b/device/eTSDeviceManager/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 8 + 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/device/eTSDeviceManager/entry/src/main/config.json b/device/eTSDeviceManager/entry/src/main/config.json new file mode 100644 index 0000000000..fd977cb306 --- /dev/null +++ b/device/eTSDeviceManager/entry/src/main/config.json @@ -0,0 +1,67 @@ +{ + "app": { + "bundleName": "ohos.samples.etsdevicemanager", + "vendor": "samples", + "version": { + "code": 1000000, + "name": "1.0.0" + } + }, + "deviceConfig": {}, + "module": { + "package": "ohos.samples.etsdevicemanager", + "name": ".MyApplication", + "mainAbility": ".MainAbility", + "srcPath": "", + "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": false + } + } + ] + } +} \ No newline at end of file diff --git a/device/eTSDeviceManager/entry/src/main/ets/MainAbility/app.ets b/device/eTSDeviceManager/entry/src/main/ets/MainAbility/app.ets new file mode 100644 index 0000000000..58946d00c6 --- /dev/null +++ b/device/eTSDeviceManager/entry/src/main/ets/MainAbility/app.ets @@ -0,0 +1,23 @@ +/* + * Copyright (c) 2020 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/device/eTSDeviceManager/entry/src/main/ets/MainAbility/components/deviceView.ets b/device/eTSDeviceManager/entry/src/main/ets/MainAbility/components/deviceView.ets new file mode 100644 index 0000000000..6e911653c1 --- /dev/null +++ b/device/eTSDeviceManager/entry/src/main/ets/MainAbility/components/deviceView.ets @@ -0,0 +1,60 @@ +/* + * Copyright (c) 2020 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 { DeviceDataModel } from '../model/deviceDataModel' + +@Component +export struct DeviceView { + private device: DeviceDataModel = null + + build() { + Column() { + Row() { + Text($r('app.string.device_name')) + .fontColor(Color.Black) + .fontSize(20) + .width(130) + Text(this.device.deviceName) + .fontColor(Color.Black) + .fontSize(20) + .layoutWeight(1) + }.width('100%') + + Row() { + Text($r('app.string.device_id')) + .fontColor(Color.Black) + .fontSize(20) + .width(130) + Text(this.device.deviceId) + .fontColor(Color.Black) + .fontSize(20) + .layoutWeight(1) + }.width('100%') + + Row() { + Text($r('app.string.device_state')) + .fontColor(Color.Black) + .fontSize(20) + .width(130) + Text(this.device.state) + .fontColor(Color.Black) + .fontSize(20) + .layoutWeight(1) + } + .width('100%') + } + .padding(10) + } +} \ No newline at end of file diff --git a/device/eTSDeviceManager/entry/src/main/ets/MainAbility/model/deviceDataModel.ets b/device/eTSDeviceManager/entry/src/main/ets/MainAbility/model/deviceDataModel.ets new file mode 100644 index 0000000000..403bff8cb2 --- /dev/null +++ b/device/eTSDeviceManager/entry/src/main/ets/MainAbility/model/deviceDataModel.ets @@ -0,0 +1,28 @@ +/* + * Copyright (c) 2020 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 class DeviceDataModel { + deviceId: string + deviceName: string + deviceType: number + state: string + + constructor(deviceId: string, deviceName: string, deviceType: number, state: string) { + this.deviceId = deviceId + this.deviceName = deviceName + this.deviceType = deviceType + this.state = state + } +} \ No newline at end of file diff --git a/device/eTSDeviceManager/entry/src/main/ets/MainAbility/model/deviceStateAction.ets b/device/eTSDeviceManager/entry/src/main/ets/MainAbility/model/deviceStateAction.ets new file mode 100644 index 0000000000..8aa0b75a67 --- /dev/null +++ b/device/eTSDeviceManager/entry/src/main/ets/MainAbility/model/deviceStateAction.ets @@ -0,0 +1,36 @@ +/* + * Copyright (c) 2020 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 enum DeviceStateChangeAction { + /** + * device online action + */ + ONLINE = 0, + + /** + * device ready action, the device information synchronization was completed. + */ + READY = 1, + + /** + * device offline action + */ + OFFLINE = 2, + + /** + * device change action + */ + CHANGE = 3 +} \ No newline at end of file diff --git a/device/eTSDeviceManager/entry/src/main/ets/MainAbility/model/remoteDeviceModel.ets b/device/eTSDeviceManager/entry/src/main/ets/MainAbility/model/remoteDeviceModel.ets new file mode 100644 index 0000000000..984ca301af --- /dev/null +++ b/device/eTSDeviceManager/entry/src/main/ets/MainAbility/model/remoteDeviceModel.ets @@ -0,0 +1,213 @@ +/* + * Copyright (c) 2020 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 deviceManager from '@ohos.distributedHardware.deviceManager' +import { DeviceStateChangeAction } from '../model/deviceStateAction' + +let SUBSCRIBE_ID = 100 + +export class RemoteDeviceModel { + deviceList = [] + discoverList = [] + callback + authCallback + deviceManager + + constructor() { + } + + registerDeviceListCallback(callback) { + if (typeof (this.deviceManager) != 'undefined') { + this.registerDeviceListCallbackImplement(callback) + return + } + console.log('[DeviceMnager.RemoteDeviceModel] deviceManager.createDeviceManager begin') + let self = this + deviceManager.createDeviceManager('ohos.samples.etsdevicemanager', (error, value) => { + if (error) { + console.error('[DeviceMnager.RemoteDeviceModel] createDeviceManager failed.') + return; + } + self.deviceManager = value + self.registerDeviceListCallbackImplement(callback) + console.log('[DeviceMnager.RemoteDeviceModel] createDeviceManager callback returned, error=' + error + ' value=' + value) + }); + console.log('[DeviceMnager.RemoteDeviceModel] deviceManager.createDeviceManager end') + } + + deviceStateChangeActionOnline(device) { + this.deviceList[this.deviceList.length] = device + console.info('[DeviceMnager.RemoteDeviceModel] online, device list=' + JSON.stringify(this.deviceList)) + if (this.authCallback != null) { + this.authCallback() + this.authCallback = null + } + this.callback() + } + + deviceStateChangeActionOffline(device) { + console.info('[DeviceMnager.RemoteDeviceModel] offline, this.deviceList.length=' + this.deviceList.length) + let list = [] + for (let i = 0; i < this.deviceList.length; i++) { + if (this.deviceList[i].deviceId !== device.deviceId) { + list.push(device) + } + } + this.deviceList = list + console.info('[DeviceMnager.RemoteDeviceModel] offline, device list=' + JSON.stringify(this.deviceList)) + this.callback() + } + + deviceStateChangeActionReady(device) { + if (this.deviceList.length <= 0) { + this.deviceList[this.deviceList.length] = device + this.callback() + return + } + for (let j = 0; j < this.deviceList.length; j++) { + if (this.deviceList[j].deviceId === device.deviceId) { + this.deviceList[j] = device + break + } + } + console.info('[DeviceMnager.RemoteDeviceModel] ready, device list=' + JSON.stringify(this.deviceList)) + this.callback() + } + + registerDeviceListCallbackImplement(callback) { + console.info('[DeviceMnager.RemoteDeviceModel] registerDeviceListCallback') + this.callback = callback + if (this.deviceManager === undefined) { + console.error('[DeviceMnager.RemoteDeviceModel] deviceManager has not initialized') + this.callback() + return + } + console.info('[DeviceMnager.RemoteDeviceModel] getTrustedDeviceListSync begin') + let list = this.deviceManager.getTrustedDeviceListSync() + console.info('[DeviceMnager.RemoteDeviceModel] getTrustedDeviceListSync end, deviceList=' + JSON.stringify(list)) + if (typeof (list) != 'undefined' && typeof (list.length) != 'undefined') { + this.deviceList = list + } + this.callback() + console.info('[DeviceMnager.RemoteDeviceModel] callback finished'); + let self = this; + this.deviceManager.on('deviceStateChange', (data) => { + if (data == null) { + return + } + console.info('[DeviceMnager.RemoteDeviceModel] deviceStateChange data=' + JSON.stringify(data)) + switch (data.action) { + case DeviceStateChangeAction.ONLINE: + console.info('[DeviceMnager.RemoteDeviceModel] deviceStateChange ONLINE'); + self.deviceStateChangeActionOnline(data.device) + break; + case DeviceStateChangeAction.READY: + console.info('[DeviceMnager.RemoteDeviceModel] deviceStateChange READY'); + self.deviceStateChangeActionReady(data.device) + break; + case DeviceStateChangeAction.OFFLINE: + console.info('[DeviceMnager.RemoteDeviceModel] deviceStateChange OFFLINE'); + self.deviceStateChangeActionOffline(data.device) + break + case DeviceStateChangeAction.CHANGE: + break + default: + break + } + }); + this.deviceManager.on('deviceFound', (data) => { + if (data == null) { + return + } + console.info('[DeviceMnager.RemoteDeviceModel] deviceFound data=' + JSON.stringify(data)) + self.deviceFound(data) + }); + this.deviceManager.on('discoverFail', (data) => { + console.info('[DeviceMnager.RemoteDeviceModel] discoverFail data=' + JSON.stringify(data)) + }); + this.deviceManager.on('serviceDie', () => { + console.error('[DeviceMnager.RemoteDeviceModel] serviceDie') + }); + this.startDeviceDiscovery() + } + + deviceFound(data) { + for (var i = 0;i < this.discoverList.length; i++) { + if (this.discoverList[i].deviceId == data.device.deviceId) { + console.info('[DeviceMnager.RemoteDeviceModel] device founded ignored') + return + } + } + this.discoverList[this.discoverList.length] = data.device + console.info('[DeviceMnager.RemoteDeviceModel] deviceFound self.discoverList=' + this.discoverList) + this.callback(); + } + + startDeviceDiscovery() { + SUBSCRIBE_ID = Math.floor(65536 * Math.random()) + var info = { + subscribeId: SUBSCRIBE_ID, + mode: 0xAA, + medium: 2, + freq: 2, + isSameAccount: false, + isWakeRemote: true, + capability: 0 + }; + console.info('[DeviceMnager.RemoteDeviceModel] startDeviceDiscovery ' + SUBSCRIBE_ID) + this.deviceManager.startDeviceDiscovery(info) + } + + unregisterDeviceListCallback() { + console.info('[DeviceMnager.RemoteDeviceModel] stopDeviceDiscovery ' + SUBSCRIBE_ID) + this.deviceManager.stopDeviceDiscovery(SUBSCRIBE_ID); + this.deviceManager.off('deviceStateChange') + this.deviceManager.off('deviceFound') + this.deviceManager.off('discoverFail') + this.deviceManager.off('serviceDie') + this.deviceList = [] + this.discoverList = [] + } + + authenticateDevice(device, callBack) { + console.info('[DeviceMnager.RemoteDeviceModel] authenticateDevice ' + JSON.stringify(device)); + for (let i = 0; i < this.discoverList.length; i++) { + if (this.discoverList[i].deviceId != device.deviceId) { + continue + } + let extraInfo = { + 'targetPkgName': 'ohos.samples.etsdevicemanager', + 'appName': 'eTSDeviceManger', + 'appDescription': 'eTSDeviceManger Ability', + 'business': '0' + } + let authParam = { + 'authType': 1, + 'appIcon': '', + 'appThumbnail': '', + 'extraInfo': extraInfo + } + this.deviceManager.authenticateDevice(device, authParam, (err, data) => { + if (err) { + console.info('[DeviceMnager.RemoteDeviceModel] authenticateDevice error:' + JSON.stringify(err)) + this.authCallback = null + return + } + console.info('[DeviceMnager.RemoteDeviceModel] authenticateDevice succeed:' + JSON.stringify(data)) + this.authCallback = callBack + }) + } + } +} \ No newline at end of file diff --git a/device/eTSDeviceManager/entry/src/main/ets/MainAbility/pages/index.ets b/device/eTSDeviceManager/entry/src/main/ets/MainAbility/pages/index.ets new file mode 100644 index 0000000000..9cc526a3e6 --- /dev/null +++ b/device/eTSDeviceManager/entry/src/main/ets/MainAbility/pages/index.ets @@ -0,0 +1,97 @@ +/* + * Copyright (c) 2020 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 { DeviceView } from '../components/deviceView' +import { RemoteDeviceModel } from '../model/remoteDeviceModel' +import { DeviceDataModel } from '../model/deviceDataModel' + +@Entry +@Component +struct Index { + @State deviceList: Array = [] + private remoteDeviceModel: RemoteDeviceModel = new RemoteDeviceModel() + + refreshDevice() { + let self = this + this.remoteDeviceModel.registerDeviceListCallback(() => { + console.info('[DeviceMnager.IndexPage] registerDeviceListCallback, callback entered') + self.deviceList = [] + let deviceTempList = self.remoteDeviceModel.discoverList + for (var i = 0; i < deviceTempList.length; i++) { + console.info(`[DeviceMnager.IndexPage] discoverList device ${i}/${deviceTempList.length}` + + `deviceId=${deviceTempList[i].deviceId}, deviceName=${deviceTempList[i].deviceName}` + + `deviceType=${deviceTempList[i].deviceType}`) + self.deviceList.push({ + deviceId: deviceTempList[i].deviceId, + deviceName: deviceTempList[i].deviceName, + deviceType: deviceTempList[i].deviceType, + state: 'discover' + }) + } + deviceTempList = self.remoteDeviceModel.deviceList + for (var i = 0; i < deviceTempList.length; i++) { + console.info(`[DeviceMnager.IndexPage] devicelist device ${i}/${deviceTempList.length}` + + `deviceId=${deviceTempList[i].deviceId}, deviceName=${deviceTempList[i].deviceName}` + + `deviceType=${deviceTempList[i].deviceType}`) + self.deviceList.push({ + deviceId: deviceTempList[i].deviceId, + deviceName: deviceTempList[i].deviceName, + deviceType: deviceTempList[i].deviceType, + state: 'online' + }) + } + }) + } + + aboutToAppear() { + this.refreshDevice() + } + + build() { + Column() { + Row() { + Text($r("app.string.app_name")) + .fontColor(Color.White) + .fontSize(20) + } + .width('100%') + .height(50) + .padding({ left: 15 }) + .backgroundColor('#0D9FFB') + + List() { + ForEach(this.deviceList, (item, index) => { + ListItem() { + DeviceView({ device: item }) + } + .onClick(() => { + let self = this + if (item.state === 'discover') { + this.remoteDeviceModel.authenticateDevice(item, () => { + console.log('[DeviceMnager.IndexPage] auth and online finished') + self.deviceList[index].state = 'online' + }) + } + }) + }, item => JSON.stringify(item)) + } + .width('100%') + .layoutWeight(1) + .divider({ strokeWidth: 1, color: Color.Gray, startMargin: 10, endMargin: 10 }) + } + .width('100%') + .height('100%') + } +} \ No newline at end of file diff --git a/device/eTSDeviceManager/entry/src/main/resources/base/element/string.json b/device/eTSDeviceManager/entry/src/main/resources/base/element/string.json new file mode 100644 index 0000000000..bb97964d97 --- /dev/null +++ b/device/eTSDeviceManager/entry/src/main/resources/base/element/string.json @@ -0,0 +1,28 @@ +{ + "string": [ + { + "name": "app_name", + "value": "eTSDeviceManger" + }, + { + "name": "description_mainability", + "value": "eTSDeviceManger Ability" + }, + { + "name": "refresh_device_list", + "value": "Refresh device list" + }, + { + "name": "device_name", + "value": "Device name:" + }, + { + "name": "device_id", + "value": "Device id:" + }, + { + "name": "device_state", + "value": "State:" + } + ] +} \ No newline at end of file diff --git a/device/eTSDeviceManager/entry/src/main/resources/base/media/icon.png b/device/eTSDeviceManager/entry/src/main/resources/base/media/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..ce307a8827bd75456441ceb57d530e4c8d45d36c GIT binary patch literal 6790 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 TorQGp3OtCvWz^;2 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 literal 0 HcmV?d00001 diff --git a/device/eTSDeviceManager/settings.gradle b/device/eTSDeviceManager/settings.gradle new file mode 100644 index 0000000000..4773db7323 --- /dev/null +++ b/device/eTSDeviceManager/settings.gradle @@ -0,0 +1 @@ +include ':entry' -- Gitee From e94c47456f47a75e750bd567225ce849e1ca14b1 Mon Sep 17 00:00:00 2001 From: guojin26 Date: Wed, 26 Jan 2022 09:29:17 +0800 Subject: [PATCH 2/4] update Signed-off-by: guojin26 --- .../src/main/ets/MainAbility/components/deviceView.ets | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/device/eTSDeviceManager/entry/src/main/ets/MainAbility/components/deviceView.ets b/device/eTSDeviceManager/entry/src/main/ets/MainAbility/components/deviceView.ets index 6e911653c1..7890d4da48 100644 --- a/device/eTSDeviceManager/entry/src/main/ets/MainAbility/components/deviceView.ets +++ b/device/eTSDeviceManager/entry/src/main/ets/MainAbility/components/deviceView.ets @@ -30,7 +30,8 @@ export struct DeviceView { .fontColor(Color.Black) .fontSize(20) .layoutWeight(1) - }.width('100%') + } + .width('100%') Row() { Text($r('app.string.device_id')) @@ -41,7 +42,8 @@ export struct DeviceView { .fontColor(Color.Black) .fontSize(20) .layoutWeight(1) - }.width('100%') + } + .width('100%') Row() { Text($r('app.string.device_state')) -- Gitee From 9c84e1c48271aa81048f18cf433d5929336ceffd Mon Sep 17 00:00:00 2001 From: guojin26 Date: Wed, 26 Jan 2022 09:54:14 +0800 Subject: [PATCH 3/4] update Signed-off-by: guojin26 --- .../ets/MainAbility/components/deviceView.ets | 2 ++ .../MainAbility/model/deviceStateAction.ets | 7 +------ .../MainAbility/model/remoteDeviceModel.ets | 6 ++---- .../src/main/ets/MainAbility/pages/index.ets | 9 +++------ .../screenshots/device/main.png | Bin 46178 -> 47756 bytes 5 files changed, 8 insertions(+), 16 deletions(-) diff --git a/device/eTSDeviceManager/entry/src/main/ets/MainAbility/components/deviceView.ets b/device/eTSDeviceManager/entry/src/main/ets/MainAbility/components/deviceView.ets index 7890d4da48..f8ff701736 100644 --- a/device/eTSDeviceManager/entry/src/main/ets/MainAbility/components/deviceView.ets +++ b/device/eTSDeviceManager/entry/src/main/ets/MainAbility/components/deviceView.ets @@ -44,6 +44,7 @@ export struct DeviceView { .layoutWeight(1) } .width('100%') + .margin({ top: 10 }) Row() { Text($r('app.string.device_state')) @@ -56,6 +57,7 @@ export struct DeviceView { .layoutWeight(1) } .width('100%') + .margin({ top: 10 }) } .padding(10) } diff --git a/device/eTSDeviceManager/entry/src/main/ets/MainAbility/model/deviceStateAction.ets b/device/eTSDeviceManager/entry/src/main/ets/MainAbility/model/deviceStateAction.ets index 8aa0b75a67..3436e22759 100644 --- a/device/eTSDeviceManager/entry/src/main/ets/MainAbility/model/deviceStateAction.ets +++ b/device/eTSDeviceManager/entry/src/main/ets/MainAbility/model/deviceStateAction.ets @@ -27,10 +27,5 @@ export enum DeviceStateChangeAction { /** * device offline action */ - OFFLINE = 2, - - /** - * device change action - */ - CHANGE = 3 + OFFLINE = 2 } \ No newline at end of file diff --git a/device/eTSDeviceManager/entry/src/main/ets/MainAbility/model/remoteDeviceModel.ets b/device/eTSDeviceManager/entry/src/main/ets/MainAbility/model/remoteDeviceModel.ets index 984ca301af..82c79afcfb 100644 --- a/device/eTSDeviceManager/entry/src/main/ets/MainAbility/model/remoteDeviceModel.ets +++ b/device/eTSDeviceManager/entry/src/main/ets/MainAbility/model/remoteDeviceModel.ets @@ -121,8 +121,6 @@ export class RemoteDeviceModel { console.info('[DeviceMnager.RemoteDeviceModel] deviceStateChange OFFLINE'); self.deviceStateChangeActionOffline(data.device) break - case DeviceStateChangeAction.CHANGE: - break default: break } @@ -144,7 +142,7 @@ export class RemoteDeviceModel { } deviceFound(data) { - for (var i = 0;i < this.discoverList.length; i++) { + for (let i = 0;i < this.discoverList.length; i++) { if (this.discoverList[i].deviceId == data.device.deviceId) { console.info('[DeviceMnager.RemoteDeviceModel] device founded ignored') return @@ -157,7 +155,7 @@ export class RemoteDeviceModel { startDeviceDiscovery() { SUBSCRIBE_ID = Math.floor(65536 * Math.random()) - var info = { + let info = { subscribeId: SUBSCRIBE_ID, mode: 0xAA, medium: 2, diff --git a/device/eTSDeviceManager/entry/src/main/ets/MainAbility/pages/index.ets b/device/eTSDeviceManager/entry/src/main/ets/MainAbility/pages/index.ets index 9cc526a3e6..c160e0c4c0 100644 --- a/device/eTSDeviceManager/entry/src/main/ets/MainAbility/pages/index.ets +++ b/device/eTSDeviceManager/entry/src/main/ets/MainAbility/pages/index.ets @@ -29,7 +29,7 @@ struct Index { console.info('[DeviceMnager.IndexPage] registerDeviceListCallback, callback entered') self.deviceList = [] let deviceTempList = self.remoteDeviceModel.discoverList - for (var i = 0; i < deviceTempList.length; i++) { + for (let i = 0; i < deviceTempList.length; i++) { console.info(`[DeviceMnager.IndexPage] discoverList device ${i}/${deviceTempList.length}` + `deviceId=${deviceTempList[i].deviceId}, deviceName=${deviceTempList[i].deviceName}` + `deviceType=${deviceTempList[i].deviceType}`) @@ -41,7 +41,7 @@ struct Index { }) } deviceTempList = self.remoteDeviceModel.deviceList - for (var i = 0; i < deviceTempList.length; i++) { + for (let i = 0; i < deviceTempList.length; i++) { console.info(`[DeviceMnager.IndexPage] devicelist device ${i}/${deviceTempList.length}` + `deviceId=${deviceTempList[i].deviceId}, deviceName=${deviceTempList[i].deviceName}` + `deviceType=${deviceTempList[i].deviceType}`) @@ -66,8 +66,7 @@ struct Index { .fontColor(Color.White) .fontSize(20) } - .width('100%') - .height(50) + .size({ width: '100%', height: 50 }) .padding({ left: 15 }) .backgroundColor('#0D9FFB') @@ -91,7 +90,5 @@ struct Index { .layoutWeight(1) .divider({ strokeWidth: 1, color: Color.Gray, startMargin: 10, endMargin: 10 }) } - .width('100%') - .height('100%') } } \ No newline at end of file diff --git a/device/eTSDeviceManager/screenshots/device/main.png b/device/eTSDeviceManager/screenshots/device/main.png index 77b8d2af4355dfd9d06ce3d9b17bfd0d39e011f8..3fb8e31164eda0957ec468782e9d96133857e061 100644 GIT binary patch literal 47756 zcmeFYWmIHMwk?{tJB3T(P8CqN7Vhp^xRba$6fT836z&d*yBF^6?(X*J+o!u<_jleH zcf9lW>>T+cB3H(qvDaENcFc%)UwGdDph}8LhyuXC006L$58!z(@h$XkZX%VDG&E;t!DE;1GXn9q?Zl96T%n6f_JNI3&b}!4Fgb z7z8BP#}^J65fTy-903{%2KH}t;3RNpOz0f?7x38M6Tg%1`YuU1&s!CfsUgPlQ<2Ff%#ooMc=Oa@)HRu z6T5Rg79}%>Q*GV*5&#k6qkCu&XaIgdUHW;3ko=95m<$syPum9L^zs4<%F@z)&v$kq z6h`+BInRNyb zUSBQDeD5sIz!afMnz6H7KIVvJxPggtTZcwezdkvpx>#A=jeZb)8=G5`UM6Uh)Z{t( zlAi7s-Ehx*dT^Fjo*iK~8cl?77=&nJOpGxD0ugCfZ45`Eam(?YR@?7d|KxdYX{s?^ zTpZ2Hq@c|&tDrxQjMAUpZOcNrn5EEpcKDObk>r`w6Yk@oro~8D{#t(WaJ?lWK2Vi) zyPoNva8{UIk=9ThyfoeH!d~j&ddgYIG`;JfVF{=C6Mhv%gQpEf{8nx7U^58Ez$k8^ znkS}97j`GpjVz44tsS{==7A93Z|KNNF0L}TOaHjMEJ}2$V^%G^U@$pkFok?t=G&AQ zl*NP?LpU2nSet8JswmSMIjBNxVE9T+)p~pGPukq^m1#raPW=lH!;Ym?ACG4Td8ALY z)B}Cd<$c>}n(lmqOK$f&fYRn2(6bk`Mue@x#jxKr9C=cB9nP`b(wA5}q z<;H6&S24UrQgQgC@JVym2x!n$QWB-gd%B99vrqY_x#Arl+YVqov$S_l6}C*DiAgot zVmb&binfp-BZ{=Ak|?@kdZu+uon1v|PYjjjc+{1U_(Du{PT`~!9lW>H;L_%Ug8!hq zK6*uwGi}4C(wO||^70+fEl>&c=xMQ8UBA0;mV6sw0fJiIO3ZehF0Wh!UEcwBRFy+E zXAmYZ^&TJaRhb>XtiJLz=*4Elu!5*WEE@rbh zf>?8f*7)>dZS)4pU*ND@AH1#C@txiQ%PUuX*kHXqiTBl;8RZ`LF6!C#b2mOuug$K@ zI}O2Fb{T}3V<1Dzj-&ju`sWwV1m6n2`**+s`+fQ9WBIvOi|^t|zrJ&&$1Z~l@NZxa z^oTur8X*dQcAQRSNV#ra-~oGCUoxHb3eNt8CScqu7~}G0dS7xsH~$?_c+*fg_uo`a zTfeBGy#p?rHXl22=T^DA&R@8c9xBM*0ox8e*S;*}&5qCO4~~V3YaE`?X_rVoR2fN! zEtNokw_ynntLYdC)iO!%i`TcusiuQNpTk#%!`s@w)YL8eeCqXiv2pdbg?4I?&GL8$ zAjiMag}ehERxVyP5RYv#`0n2bX=WOth`|b8g!G2?jh}3emph4*kD`$@u0tg52JQHX zW%wK`+`06ge5BmHto~AC&9>fWNBj=J&m>L<%dnmFUIeEzU4{x^0Wehvt(mU+uCq??N&SHwp1 zXg3~N7Zt-5AO0Af9vZ66E+dV}0%8-LHQLdbU+qq}uoE5Czx{l%vn1Htc0382D~)Bd zpbfb%p*-j>i!ekR(>oRMSQvc=962aGC9zCb`XYPaofH&ARyb(Z@Jp|#iiQ=1-RId$ zkk%KqQIX-?myq75?^}fjOd8fBI}62n31VpqH{xK}SuJygfTbSAESq%zHy-QVw$x!M zSJuTk_|(~$Z8!4LLRl@fvIsbD;%}W<>#sH!5*AsPI;Zb4Yo8^HpHdlKe1T3F7d#Q~ z0EXw2Res8O{2z1daO1TeHuMd{&z{WNbHj;?%Kexv14&mV`$L3g0h$Cck^N|mJvv}M zhUin^YYZ9H%%d_^&8e2n?kRSLOFd~?l+y12t=Z|f%2FrtVQcGU)n)f4JL^+RtBr;I zB*I8^$1vKvC{dPg`Pxqq!N^~azipde?q+4iR*{vI=X@^g5>tY zLX2V&P$dX1B*>YW&XzJ*i*30EAR=a#OsTY({6|!!Tu&lZe2S~#+a_C_#RvC-%uJ%h z>E|*z%2cW`>rX^5FD3Aezs5NX@vv-Lu0Q7YI$z!=y72OazlFQ{?A~;a;I&o(sV{nZ zqW1b_ya=AL8r}gIjG!R8{h6Neq?R5%+Qf4n=d;6ML#kjOr&j7p`xR}LOy2u9^AvvK ziKZ4{TuaN1)YaVgQA45D+8V%UX`Zu~vS6A%25(o`1AQl!OgE&3 z^Wz2QVBRL=j&<2)M)|z1QrIl*Wvr)Yg$?gW8?C013cL%XzF#`vKEwk%R~Ktv;sxAo z$iD44wjnG_o1fTjDINz#bt|Vf!-N{PY%-hIA56tTwNZ|I3MOfTCqmEw8Vt)ve1+dd~&UN3jb< z3?@9&wPH!MG+%Y1m`IK`!QB!GGc$@=blFIQAc!?7&r{h<#^5Eg>_=O<$J$(drN`P` zeYvH}+I`2*^23fMi^px7XQu`iAD^bx^_}}SAl+j}R$-(BqMsMhX-Gcmqg87ZXmmxu z^jx8P7qpdpvT!biF{sELEB!q-VE#k3HL|8*= z*bapP`e%L`jT&EGN$KL&9<5MM&oh^XmzLGY#Vll?#a1l417X6d&6oDUkaG%k)0pwD zxRT1Y4;TFF7XG;GjqiRDKe$lWj(>q5qED+kiv*EcS`uHLtm+q}I4sQO>|FCAa* z>sx^q&mOv~U#8vx9pw_!A*U_$FN}Uo_@)H6EsOFi@t#Re!he#)oMvltc-;B58X3(f zffh$}mlOL<9nr|2=<(GXZI_k@teiKivx51?6bNI8^2uEmy4Ybe3(V3Nc%n+c6{K`W zuKAo~qokHDXO*v%(y1c@3=)0xGhlEMOiA&g+UL9?%fDaNt6U=?CclOE! z1w*AwPrxrObVWa=m$(&onG!D;29$~;XEkMm$}-H?%TtE62gm(Oy<%2NPFU%jx5L~H zzJH7HpxbiK%yQ^x>6rF@URuw*t3SWeTPxcqi#oZTL6Yx{xU0c5iq?|j5O@<~sI_Gk zm0Z3Rv7Xm2XJoRdlYl}}W(FDjWK`#B7CrWA>LQE9@`D{?MH)%AJ`%FaN-V;knT^0D z%x_Hh)8C5=q^%yph2%G$a@XmlZ|)X$PeF~Jza(v-q1asVNZRJ>sq!iDunB z@u8!Db^yUBfCg&WF{e#2@~FI!zP_?|Uf=4ZMvA_k1--3)J2en{r(b-Sf3z#|j?Nrq zDhc{lWwx50#h}cvcs23o$WH`IXV@}%_jdrN4na&GrfSs$)ATTwpaq&y^3i(Nc>LXx zC6C4Za{Jx+F_7}Up~cd^zR9lb^idmVqwV$lG0Bx$N?@_)gu)3kwE06=m%+37LkkFo zACp_9>X*VFmw+;S)j+B*nGABW2E{~94TXI(J0af{Q&t#{SsxuGI!bkKZ8~%sq8&jY zl7v&Y(Bx5V%JJWZMm9H^cg8Dv!|icXCQ}ge{$n%UA7A&SuBALcOe)NbSy0!wkAe3z zp>;Wx3(jS;BXZ02Jgm7Q3b3k5Wow*{hCF(6r0992xU?8jaNQmxi)9 zDuX>P*0T5l$qa%3URjZZ4NBdlYwO&!U@}H-4Us~-Nk-C>FMobm9j=V!7nkZman>YR z^jJiZT#AGi%h9pdmoE)F%xxQ4U7|>i-)nL(N9Ysy_iN`J;E~qvN8mgNig!;4Oyz8O zY%FFqsmamMjfGf+7lUY1dD6oAgsAC?d$mHJHB)mXo zt$PmsQl_!0k-!B>xoj5-CHf(I$$S09@FdmmCa347m0Vo8`IC5299j}K+6lL`^|YkB zb`lQIhl(Uo^mW+Uc8PUKf0R3Wd&o4aejj?I4p-+xN!5HRYf17SM#c|MGJ>>J_Tt1z zV^p{?%8f;;aF&~xAFj&CtI`U7n8|g(r0UyeRQ#f55AKWSJUb#vWU=bprQt@R(`k#L zHF~#l*iD3Q+jWHsQ)aU_)LO!o5T~Pp?{BaMnfE3|p!hAfuiqNqK-j-#*Rt7G7myFVlK#AO6IA96#i3xhnnKG=^rW(P&wc zQR}^;F$3Sq)y|c5J(9UWts?P*C1WTOyT;JXk4n1BlK_&a#2K%tj#8J*M48pr(B@@L z^F=lg=Ya*#W>ax>c4|KJxkk;%YMr&32h#!Nu&q^?#Lz~0dQmP%& zLYCG{dZYHDZApKAeg`~`S-QL#-Hd-II6wr0(Ek0{{YFpEQr$V8FZJz$pAcNUJ-o9fUsf`V zYrT}!Jd#}K?io+CI--fxK13-CnWuZryZWaG$Fsw!wNGRd^$HxDVou9%S~L7lBxLT+ z?|@&N#J8fU?|{SPd%qfrYH)J!$$Z3ONdIATVZ%QUOvk$mlG?&+oq4hO0Yqzrk=iMB zF1J-yTbs3&SulLArvq#RjpxI`UyN;y%yWH7Y`r1Mi(s!3uizI8YPG=w5n=|Y2&Uzy zB*|Du5`tDhHOH5#%1hlG;YMF&SY=*+I&Sh($Z9)3Jiz$uT)zWQvYyP>A9+3$nEkiZ zW9t)W1Pbp&#W&{2)*w#xx>FehVtP7)VgteipWLaoM9{2J0#QOaE9kfQ2`jnmSA`jk z5gWccI^v`@CBj%SiY2F$Ap(}C!Nk_(`U+Y9g|gjZ^GQ0aS@!1qpNX}r=uhUBCBi1_ z^+?SXIc%7ePT$(74Nb+g9MB8Ss*5fBQY$G&9%tB`oNIrmC@yqo4U0*zM-k#1^i}s* z@)K$CwADgRJ3r)a?&bJTqBe1HqPmfF1X@!Y^z6k%7)lUw!aqcT;+ixRblAV6i0MfW z#xPhtt0fU{ruMlie?783Hemm2pRdo&+Q?#qXzwp@T7GpoP`Oj8R}7(nSk&}lMrGq6fn zDS8wP=?qTli%kMP4Xc`Ekgc2yA*Dirm&*%@mJN%EF+nvq`Fy=qQ)!g{rYHKxrlU^0 zDNc`aQns0)GC|Jp(`opJ=KHT_wlbkuj|`Bn6hN8U&qV|*gXf$C>2DQ_HxHmp8Z zqbR9|fO7J1T<|05ID=m12xVN%(Vt||_)*%Tym9ml2CI^;NkidfNvZ=S19H5S)|$PO z62DsWdLp~lAYAKM1AirGF={sJlL|q&cXx*5G!K_bE&7#(@g}f)c*)=S2vDT&S?d2`3V6oya@SI`Y050*C<@O;Zj=z38f64UO{0Mj%ahvcddhyg1 zXqsXq_fLigbCD%W53MZ@HwJ2yV-7z?nVLinOB1zL=`hM-Imgs1=2FX#nL8AW^-i&X zD=CEbYOHtm$-zIq$V{ryX+B;=YpdPmD$>F)P2|~;X{M-4FzXt>T6;^(!$FZOF$nUp zezWmM4G7D?urqEIHrN@%n$qonoR#T?TJfB#|ArnLgL;?5#`23UulUQ=Mq$t6r`@=q z>@xnG_^-1Nh53n4nXw1#ky{+1Ey*SjS$v&G#{swgPi_sDmL@Cm3sqCd`V*tpyGZ%U zlWkBQo9jK{tM7og@fSXy!@_^Wx&^s5&qNi7vM;|XChv=5gs4(zNri)fl_hNskW0nb zedPCIqUd&tVlFj>$xK;{Y*NV6nNy1KY)TVvcF_>p{I2pr>0Yd!>gwH3>miHb^JdJ* zMeG&O@v-sT34If!8bx{>B$cPNSjb$B)YL&4*DlTts_n&!v?_)A6e$fMuIln=V?`=~ zY&#ElO=DzjYj&2kNDai|Ms{$j>gmjLwb8Ks*sR?B$WP5Fqw8s2G0GkU18#UB14gzm zc=@rWU;UX|W7Z?j+LLHEH<-cF?89J5^$+WCfSd|O9Hz})?{~n^{u?p>&GbKf&FWDH z9qJ1=$_M{ZBH9ZQ`zqfty2dg^GEM8*?o!K=Rayqr&#E*70KHaURy z+NXx=_M4JUV^VT2rKuS-!Y&+{1AT^MEi(p($EGbtqo_nVJ0sm!m;j8b5GJ&{DdU;4 ze{LcB42d}>eR9bd9?nH92b-uz<)URU*sJbv$>Yg66B0tPJK~71z%q(7a9~!FCUb4AzQX2 z-KO}8^D1ecj%i0;S70RFKdYWPL>eVJoZXwDro^1m;zr}(OlUA$D!+T88;cltZ#d38 ze9o8fhu!4%xP)a&W}*qB&|7iY#4$!ak&}gIPVG$JIUMf$^e<^G|4z{eoIIpqn}JwC zl(IRtZNDeF5*go;3Sj~34Az}`kx3+5r=8cTSD7~&ILXF17NFUQ+mLXk!$>_L5;(Hq zvnI0dF9BrXRps!!JTM4$3h_R_9HbmP(YdhCzn|Equrhe` z)SPc=RQ&OoTP5e3La$;qXE>pS5}Q(*EF!Q>tjXWJn%Im=1~6kKcXH`i+)Qf9VkHP< zht@MfPt~mD*q7AC{u*{^HfuBILeQ(+N?A)TS>}4&AJhD-2hVrFwCq2P9ZzL%@Cz** zo@K93>GuEXMVpM`wSW&JAM-V@e9wQ9*1wvPnXc!a_^=v3RZbx+6{3 zbG{b3-6dTABPagFf9$d|=ifh!`0LL3rrQ5GBK)(Zg2SbZgAb$qyNvz+uAARJ`qu`1 zxRm}j-5L=!v)(j8Pdd{?BfJ-13rlM|dlZu#JC$`=Fuq*wW~ZCv+I<5aq1MH{A& z&TEF1$MtI4^0frhvF+Sa>-Oy_%q)9f0`HADWjybDd(!bH&|$tM$~&cFKhy9X09DAp zyyOBgVfeOg+i^rF_qMa8Io`mNq%yR<4%};`R6RSt51H|~X?O$OH)|g+9A1N5CHJp8 zbPvVN2L{&6aS`6upItTMY#4VNTWoxYp6@mK*%}Tg6&pGZIu06w-?U0R@J~8a11gff zxU1mXy&^&2`pmAcKDRQI1Z^aOUvWIIe~c*YnPS8qx9j)wM+rLf^=_|Jb~5d+$Kx&6 zONIM`+vnabZ%=LnUgz^Z>v|+MrMyYB4%O-2u}!~Oc~<*xYgFDT+y zJ=C(MT#){MgAhfrG|EVv6eZ@4nh`Yfj~EeHGIg4zcU<+4pGmAvMlu(4LBzag3y1^V zrK^1(|F&J}$o88F)<>peE58gRc+3el6k;ZX%pZA|D5Z8;7K7%`RfPg%(=s14$@7@l zL5mP@Ij{Tiv33}sYD@qwfL^}{d)yG%E3TYnx6Hk$XrEMlfjy^$D1!sKgUX*-mDxL9 zYJH1qw7x&r^;*xIr40Y~rz&qYKZ3pX{h+7u9(QlW#znhu>Z`c9yD^J3R%lZQb%TuI z#uNxFTPP+C;f(zkVvm>C#tJ0=GqY1dNY|`-A);AmD-jQUS4QK$_Sr;=4e_GQrQ`+( zt=yj663KiJ{Y+1IpSsK&iqxONo}|S#GcvFKv@KZ03}@Dv-$)mj@;#Go?-^c}+80hK zo|&OQ@hSU1JjA;8_xPCpFWBKQDsPEYdGefoQRECPWqZnq71DQwM6U z9@02cP$cvBABSf#V;y4tTyJ}{(yN0BA4ArP8b?)l?Fi2M9Fsqhn zO~8J&aZzO94v&+Z6fyy}#qTo{x2-lxnxoe-1W8U2#F)6B(C>p4q_t}tou94RCbsI* zwL(N7`BC$m^EuQrPp%jR(U|FdC5apIiH+ z%|*QzOSTQ=a~oMcHIVe=aU0Cj40^f-CrK=uGP0X6$~k1VZHneAXsqd~&Cn7f3yXg4 z^OK!@gqB%6Ta}oCP~ThoNhGKAkQH5rZC%f)6#0@XNMl$40AstyA+|$!<2Rx4GSWdni}$|2;Ks{*egTYi!O5K5)U& zL=&v^*?io0IW9k}tMw^+l}nV_woTdhGG(-4w0k5Ph3E*<&Hwt)`lCh*^ERoCZ%W zurPUT;BP|rWCBOC}efo5bSzx$p2_*QdM zBlGO%LhY0Dn3UzU49&7Mep@sSz)svCvO|XVq={%`!epR$9W26;C|El-+@$ZbzXRgG z3E@sB2v6ES67x;bsIT_gOeT$9qU$eXtAwYV;sb^dIgPZy%USTSX|;-I%LZtMSpxH& zw7E4F35SC7ROmkW4%S4Nj*vPB&0!m3&0~KV`wzf3{{a{?cO@nLtSYY+&x%leo;35T zXnwP%fdWxu@fQz{sDO;z)g%->Q|oI3qH+u}fAO*0qL7Hz;l?g}vS-thZsZ>Jc7+%- zJ+FE3U6PS&YMmIC*+>rxNSj|Wc{o;h0aO+;Y~>XzF36_ZS5Ru_X>+5Tj}p2AR^OF$ z3b8FFq+G&L)nc8}c%fJ)*!6&(3;HsKbpJjE#IgK?{CWOP^(7ZIgymBl@zJ2BE|+Al zuUONyPhV?eow=A1Uf6%G-uA!rCB@3Yd#iORdFYvPm`_)+%?8F=u|JdHS<;)3hBp{D z!}o9PEVsO-V*J5v)v4G!Y_wNb6q7It@l-ta?`HNM3;nb>&@OO#ctO;g(TMsYX}!4; zwJaFom4+ZL?f7-poGjPGu3I|1z31^f8>yn<-$xvNqJQVJFt(VJq|udqD^l&B?zweA zf6hd)yG5`lYRcSeY1IfDw3287!QcmTeWS#=B?GNmvOrs$5Sv=Z2C2|meUV{rch$5{ zjDC_ozE%Fm=$Jr%_e0y-43~hr{9}UW7!Jh0eU5Bd{W9M(KdsCeM&uY%x%rs>B#eLP z-Hvt7>rokV()rRu7TkY`z58Lf#%n$OVaWbh!y@GvmoE-Ot~$ExZKpd;Vr-Z9VV@Yz zpEK5T=I*UumO;;WBOR*#6@`4yA1Y7Dbri1`;x)#H_9LT^KeckD8*CY!@DBJn!MnZs z7&dEtrB#^Q{g!#${fryYq2f2z!T9!eXyG)_am`}I@SzgDR!((_*A>JcT6u=*D>eQ} zK3R`K3F0lR(PeLLdAQZi4T58;r{$jYS}YsnLV$ijQok)wj%Kt=A9BOr4l43H{8OK# zzQE9;ED_y}-aai1&DxRfaUS0`Ax)L`g8~ZGQkU#2jEKHGSa-VSp!q>5Qj0!8#I6q& zjtP1N$|nxNgP(ywR8Cpa4C7HR1F(EA<#p>*D+eiDj0fsxs@nAQpxqEhVr;?#I(k|G zpa$D&D@BwIqQ_X-NoKi4Ws&)@)fawPt)ec#2C_r??qLpk6x--xs0-xgE;Tb=v^0zG zP9QqRYI=ymKrKmF+>yOT^C{l^$>W@K;?EqJP@;gT`GLZ=hCefmBd&9OAVyFMWeh=& zLzi$|M#$9&7^@hzz?>T_5yUSFvO2XoEFJdJ?(tlScp{>1^?pHU?bFuU&rs$JU5U$; z+HO?pGk_lkG1JrNqa#7NQ&PWZwT~fEIT@7pbRUsQ8yHaGEaM2^Qe38Ae|)hJ8m8Nm zkTPug!p#>!mS)D0|I>ponXD*r;WC+5&r3H z!l*QuwJ(_OA*Jarx=-ZKpFYKLTOwbV_NVhd*Q@}UkB;_j34(TC1`AfZsvbwanU zZ)ka=HNrLzn9eD<3UPMeKjX?dTW0;1cGI}B&H)i^=KlT3*~Bc;&IqyBiEkqVD?~|pETl4WQWz+4j>)}D);-h0J?#`~ytr2;oPlDuL5pwccQ>}^ zgjk;EzrfJVEWlrgl|twkN!rJopzQU79%3M&Npq!qef2{qA>wIV&p!tutJc4K?7P!) zYVfMGoL_phd0sAWsXTYNe`|jJo8FI;z?*FFC;>-NW(}MXLr2z2KDhj*e^h`UX1*2L zTLBAyQNwshc||Mu)SgOI<6qFO!kbq|5&44W$-FZwy*fG&gzTj%jwpLGz}xO~b(jX|F(*b9j_b3!>zdK@W332Sy?6 zwc}k}NP%QwpCS*IC8afgXBt-5gisd-2=g{TGDX!E4P&&RP{GZU$CDlN zM*iRw<2bapnO#@z2)$%qa_l4;emxWlT%DmDLP65Tp=rFS<9qiH*#^ z9D0imoP50U>4Kqx^^BTwzm*|7m|o51$%`cz;M4#TQ0~G#YZzaAvnNCVvX~)@F19_< zTKi=Sq&7)P0FhiUOy}b_hSR)(qV|B7KiH%?$V`jVXPNHviv^~?iGuj;6 zWW|iO%WaR7@2DwA?S=+>O9hY!xf5rTRI80PYo`eh4f(74`rkCZozfFp`F=}LG7S@4 zl9DKdEV3oH5)*PwLfcl{?SpnY#&FWO`V6T8gQGlc&>biR7Pgi02@G1wB@yCRi-$Ga z4lS|iuoeXcCU6QO>5FbqiGvD)a2T6Xgv_c71a12^?H|K+cDbHbN{c$C;u6)f)7acg z>F6y9+3(Z&U5E_DT%>u2JyQ4dY46k~#<1NXX$2@H5XW;8cm@Od>PyEyAfTsg~XOu|( zic+bf>14x1clj;H5d+3V;cS?{n8;hC268W>R2*CnX>>z&W}>-b22amPrgu~)C{PN& zpjmu@+Qit2soBXX27R{VoOwWnE&#>JuAU0`%omKm(GVq zYp4N1c(Mus%|QwRaoJ|Lr8#WOaGGNt^G1(~NEJ&GjYM3Za(5bM{VV=*^=e%x1dTW& zhW%EJNHjv|P?+UAzz??#^0W2aRMd6eVMM4OEKCgj5!$67Vak~j_u?e?*0S&p!zmwg z+8a+D7`%=-J7oso^C=w8rFagszC&2)uRKoyNVBk&mL5qU6Dn$fQ_sE^lWk+G-z53) zP^Z=qB=S^p`>PFVJrl{Dg|-H?H0iNX)4h5;cD zhwdlWy}Z*>_7KqW zu8nZL$qW6j#xw&aT5a00LRpQzIY3_zgLi=Zchmkv#L#$oX9P|1eN4nd_k{*Ka85|j zgusg~S5nmj{xM589XLekN%k)(o&2JNY`m3IR-!t$U{gWW*kwpqPz2Skcy-01BkPK{SNa|iZkt(r?LtKC~{_4I`y=BxXe+sp$ za$1emwo0!!B{qpGwkHhp$n+W+X|`9^iSB_wOeXqznr8iyXK_g;tI<+r5}P^2a*B@d zqr%;?^)x5>+Uch*nqp6c5ni7N{__hIS@)l8|F9OyxdKqSO`+jB=H%i^AjcDT?vdO} zZ1k5FfbwQXERm*Vu$AbV}#W$XQNShhm2%Th96DVFp`CgYQWqv)wKHrJ>~5CEZ2lyODR{4B<6 zuBjZQUttYGtXLzT?SQcnLBQ0x7q7l4uTeSe@+R;(Q1U92i_Xe+uc<8>XEXfR5_2ei zsGm*y^l$6Ye)tdNvSQRACGjM^?KN*RqJ-_~#9k!KJd$3~DI;S9;kUV*mJ&q`2Qp&9 z1{hvuWDXK`OqtN&5}QF$5vjG=o6<>(hz;9ucU#$)Z{L1@KJ-1wwcqY7KmF#lR19u` zWUk)LRIaRLkCcTA$3Wnmyg>lDNu53F4o0402kX()PUM<{S~F^igG*>b3S*w;PfEiU zKm{cMnNeuNeiz>~2I$RozUZoUVws5Rp`GJZr0CmY7VE)sC*2?W!yV(DwAp{d)Qso_$ys?W|YV&vEFrZkAi#0hTU4Y~Q)?^7U|Lk3ZQM4D*!)F-6jIL{dS4QUFJ36gw5Ff>Y_cDYtAOTTuO`@$Wpm1B0MB8o%4l; zm%#IS>kllQfp$qjl!W=UcGyBn;Vw0qt!wBEbXKfnq^8kbkpe4HG^pRlHqQ@@d3dIzVq&}=)~4(vQDY{)U&j~Hnp@=rP|+fWZwXHD zIdY`!_ff;rMO3BAvX=S$IM6s#yjB$VXwR%9b4_AoYGg}RUX2=YgYVq3fw|MdoP-SM zqI_KD`D6t(GikM-L7jj4gPNX`WnxByb#ocV7k6+lezNZ)hr)eSlmus1F4@x*# zkg%crB9P6>G1atP9Gk~iR=y`Nb+ktE#6waA9@U@i?BEBbvx|2%F2^xCLz4kBYh?T4 zvU*^|QF)>z*6(L4p~x|_VJL>H=G>>E@w%3{TBb!tNe|{cez1k$KP%|Y{$HuE!r(K^ zv(Z6=zh0Z84F5zL&}^K^#Pmi^szBMwRPiaP4N*#smKls|IA| zL`4QV8{PNFUV_?@XA_?=Vro5&wU(Ipy!8D7ykoPPg>K8LrPin4=h5MPgA=7HgXB-R2wEFpW z21}vIw=ok-kv<<|?&@-d4(tS@-XeOc=&_Ix3a?-O_6V5|F2TpO@>+7@lqBU=%vJJJRPdpS)IyvG5Vt=}4AaX%rs$_{# zF#ZKA!eHP#NThIWY<#-RJ@qeg0MB0=K^bA@@U)5X)@xjD`&a|y^F{{l=cVE}4oK`eYO)snv2XPGgR!27`g}eZi#Ov;_omO5<1I**cm3Ao z-uoOu9`|(R$_QceV=mjY?ZB|TxnfZdoSeROb$qjad=1mpE4g!NC1^WL+_ZZ|40P#m z8T#8gA2kB&)PL~Y2k9Z&dlq2IL`XsmG4n}RMc}2_RO~&B1@xc#fm$q!i<_#BX-W!y zeAN*f0{u#=tt~ApDi4n)pIOaVCGLQMk zQMlmG#0Eo4$!**ys44!mp&wo8+XLD+oqn} zM^Kap(>I)CH<9ljB<@z%gphpb3zLV>Bjk}5DX>(lIh|c{#^YoHe#N{$r%6q9ROF}sXm;U^1E@q7H&6y{w7iO zs~7tO>+oQDpq1w@d{879roM8@$ikdm?|F5|l{e7==efXT&%mOICDS(P36fQEKOX}L zP9LUq2*Czr3`YqHJg`13gKC-j4%5aFQ?@@KqGQtN;Ngatz()xi=d%!ERnBI#W$&z1 z*I*z1mh^EToLAYX^%l2n)Oiv-)>nk6Sn>*(QBb_dX-F`0CZ(CtiM2R|tw#uA5G>!C zD;t446>8N269mmg!ILYlL?yTG{BH{`oF4UzlI@@lG#&#z8V+>3W%>xDTvyBu3mEE# z@`}X+OrQ9{e4zW31pFfytoS>CQM`*xziDnBp}a&B?oMK@pIbKDM*SUtyF=IcQa|Yj zu3Bq|VyMVKPVgfrxl7&1_lJ6}gPhE_VmE&DE8n$Zf1*$6J@^O`ZVW9&1&P0NLfbP7 z>;21zfm~YRzk7ri=TRT-sz8v{(@GdyCBO6t;Z`wWCcI__ji}eT!D|kuOqSJ(Fj?Ez zAqX&hrsPyI5(*V!RP3Vs9f~<5ga--R(M50_S6bxNpQJ2k;%M1^xx2AfaMCW<_ibod zORXOQF$oKBBQ8P#npH9On#kkNI*Msf+DruwN4Y4z;X zNI%iNS-7lb2oz%gr!*3FAT*vMX^dyOxIMvL`aG#;4v|Uu5;G{Ving@-Tc@xUC+d5n zP=J}#$2oNH3~z~#Q^Ex6+ruKJK~b}nL6b62B=}FgTwk4}^NXfnV2w~cY~;gO<6r?- zltG75vJ(a6`wgvIK{*(jBJsb(N8fte; z!P#Pqcq3w1GTR<%A^6yR%YIi=WHnuq&XT}Ta1$X* zaw)9xF^X+KX;K~P@a%UGznmSNS*xuWNTPRF`?7oHQbV_4*MHW0FA&x3ckvD3QP94~ zMym3}H|#U|?1;2VKD*6IerYcvQ?CDwm6d#_&!5q?EGoIMtthLlDZs%H3)%J>*)Y9x z$();jjOpYXWAIX2h6U+a+}ha>r(7B`$4y2^;owxBa|kv(hVP5h{;fY=usiTYfqakC zMk^6{2Zvk>Xxami!Hxpy4WsJR#$WqnaI3m-PCw&=a0{ca$`I&0SksfKr~+}2)Oa&y z(ZNig*~q6oYZ|zw#GK^npaPimN2!8_cS@~bEVfDR9Z~dS-)~}}Gt19CK z(M^%v7>uS%=5?1~lfjqMiv8BralMBeh{B6@M2OY5HKJR;10fYR;Tk6_xQ}c+95|b~ zt&h$8eT|zXTL$&V=;y`$e4E2LJv4C8fZjnpdk0iEsA!no+$4O)z%qfMQFcRXNRvc- zDke6?a^|+iKt3y`>~}z74UQARbnziGPpk5^V_F;=4i^6mkAqFL?2-@3j z9xAV*HA1_mJ^5`(Ek7)+^46%4fGrSPFs0Ht7ZVNUi#Hl|-~?$c?6T{GLXP*x#iyW* zoL+ZJ4pQ-nEaC1Dcr6-(qopz^?!9q09?@xj2O7?`&Jx<=*${ke=Xu?|we$HB)t0Gb z&oS(3Q#vLMIurIb+}3UZ!p|!i(#n&dhqZJb36sr!Gi3cqgJaJ3+qybG6pY9 zt-Nm<{!%SHah-bFv#-#C<)upz&kv zo$?FvM{NnjN|sxdv_LPNXrF2rCXJOmV(;HZR*`=&{#J_EAX$_Ll35{c*9oh}QlC|Qrt9oT|M`z^uw8t#SsaSnoI|`} zv%q1Llj*~39KU0A=015G1!VJdU$3AQ&*Q}M21UBQWI*9TXW zb6>S8;{KE^84~Yh#99dzOGo~*a$b3rGgud^PjCt&D(MYGN=RB z)tWMbA*$W_*J7=l?w>5A`x#D6G*KS3f(x{2 zBrfEwaP;dQ-}du(3jiTlYn0rss!M&y6Z1K$9CU?3Yq3~W3D4cX_& zoEk2*3L{mU>)|-Cy+zD?p%B?kT-iWNn|T!(s7d&c*Wa-q1(q{7+nL1`h+K3zu?L#Y zH7%}Su1*DR%zm3}-{&H$M_{D*0A%r$gCE&NK=*pz=$)8v$uMHkYvwTpRb0uCGKABe zwrl7;woQ`46+B{sByZ)qrS9tMe0}A|ap~4u|{$!eEhSSQ3}`?jz*J zIU8zJC1S|{+@A;`)4=E%xFdWe3n`s^K*l^_FmE<1cMEXv%34HMQ37eJ*cWn7*g&{R zgAa#CDF)p-i4M)V6Kij?M_q+2O>Y#_KDNnQu%yH+bdR7jL^aFk9k!x)@iTXLItk-|45g;oM0Ns$suBA#L`v$>g;Ecr zDP~p~VDU*XL#Ij4=Z4O^WjRD8P|0IaI8pohYB-NsV#4NJR%K#gh_hm#k9TBxX^oMt}_!^1B0*IH^cnZAj6nl3J=@evTv~9LJ)N| zT@6U9vzlEhV)gebO1^xt>P-LD$gh9Kr*$xon42fkX!?*W!TazwXrFu%M`@NiRoK1l z#Ak?uDc44O)twBt7NG1|4BxbFtv7YJ5n@c;>ghd#IpMbS92<$l$7S#?gN74G;uG*h zv2ED+Yp&|m%+`sScv=|dtJ>)aHLY>fIchsnd|zH$Ib88CEOt%Ab9HDQ&z{50Gf)?} zmKcr0opwX>2J;(BIHCF&44*>J>;>C*cy~w$`EuI7xDAqcdG8cS^lCHLRfBr-Cpd#? zn(E~st?MqTu$Dz$yJ2%Z-qUUj9Dn0!0bEOtFLLbpC$$k5@^SnhpvP@e*dlKU99~xU zN^d)xQMmEkQ(5|%W$$>|E?b8<5+09g#?;Uuc{VO;Ejd~;JtikC@$8K}Yr!0!&$w01mU?NUPGK%CS5VU$8*vg+ijKY^b5pQc7fRZ9uvI2n(c z(0gO%d6uv|{b;E-9-I5`C(K#nc*7zsdQRV#`IJ^9BG4~dE}3MygK)D1K?WPj8_GJ2 z#-_P%gtetK1@ii`Hi01+lJ8_W?Hz#H@QRTt_5wvL9m^!{&dK~JP6gDBeBrJ2wAr~@ zwaf^RrmDDIX-i|@X=1k#QMqmAKqR<&CLC|y>MInphe?Lvya83l&>3Sj=bJa5tOjXQ zvT1xnE+^24VCnkB2&cfeQ=SWFQtK~>zTJ0AuFw5}rJ7!ZDlMlSJJM$Y!m+hIx3sKh zoIC>#J9p1Nf$=(w%Bdc`7CFx?dYf=)36JT&gIAYCiQIZ9vX3A?-6^nqtjL;i`*1Eknx$F@}(e}nx zU)l2h&I}_-vKhmKT8f`Bh$sM?hsy=76$8tX`^xpg|> zENB@nO|I5(N{Tu{8-~eGF%yX@!yplH(TW(1fcO>lWjxhnp6X5`!8aL92ziwNEs zJ=WxjQshdl4UTDnbi~<}G?*0=_KDbn*nq`GA6ahied=$EgnHI4*u<8~McId<@@{lQ%IgGBn=+s#_Tw! z3FINB{-o}k%Fe?PR{t&OdulwNw|`9(7w28LSg}Gpm848_NemMVey=) zL%d7uk!gd&Nck%0k*nAesln`>lwm|&6w0y6f|8c7>u|6NJJ^HWhxe9-qfX-8DDz%z z`(L(1=1qD$viw*O{49*9_dWf2;>IlADSnzGj!ZnqbN?wuO{Cm+p%lDUOENB1_LyS6 zvFra~jy@Me;X@#nsj?h>DqzXa5b6r9J$ z@!yl8D`tdDDar4Tqyn2Z16?=GZovy)8+_PCz?ECG6>?b9It_in2X<@v*x^{X*xnYkK}hMCp`ZO zl-01MTCDf1g~ieI5LsIxD-=|ukk4d9oS1%Bnu@*`39|=xX_!`tX4p$8y$oba4W!{N zWlCWTmiV0Xr#@5nYKX)|DVK%dBAUAI^imX10v4EkApx6#IEAb#;@H8|doD1kVNAR? zLiV`hgvQUOm4T$wS@-V6)lq0nk*=2MC8M%XT<1*6=|H+2lIg)A8<`b733bI7()<8d z=ZJcotgg$ZOU%x~1K~N4Jn6}t6^%iPQ|MsR2`P8DruEwt26vyJeu3yUPvsA>#eS8O z%W7s8N?JnRvzgg(hX90zt1%|;wRHwqdKMTHLPmpFyesAIxaw4%U)K44U8hrJcuyU0 zA|f_2Y1U>~iV1@&pKfbyaRv$li3Y21Srqdt#y)}q{J^Og2`ARva0YN2W+QWC{I(e| zR7Ui>1$Zz*8FtL$2(C_2nYmw$&T((ez_+Y$u+VlnRz$x9&x%TAyd6|L$=Y2Vxi}w# zhX2hS3yDmMC-S1WTB0)EfLZu4?{JM2YW|T`J4&{Y#XxpzG-2%OtMtdnwIspHb$7S> z?)n<}`U~}NZWp-nfM+4zfL_RvUddBU&ie!|*`ccPKuTFhgP#@&n|AWAalMl&UU!}i z{Ri`dh!M>+0++8(+g99_Jer1K?&;1VB|+CyFA3F<>+iJ39m~CTP`sGCdDqs!_KE+k z3D5P83?uP@W;<=aNO@$AQ-+09hNiJkfXWF=xh~5qA*(Ooy2F&q2E@m~@DB)$BtUNo zE02xdLU?#M%OOG!V>*m`+Y>%E_uLOu`}@o|kL@p7u2cu{JH|=Gg1&SW&wGX)1rjpe z$wLipNb((AwV?S8%lKR2pPWgA$Z*8e`K>TDl8K%+oPRu`QQux+_q#c9=?rl|EE#UG}j$4J5|-By|1E&h9;*b~n% z39qhFes9COyW;WoDwF@7=awDV#`QF?ap02p3qKBR`iTmcuGADp$B;R;Nw`6WED@V! zI?9FQ1$2fXedGO3`y7hO1?Cd*O7na@t_hC-|O}$=|Gd;K2Uxhck zOi|~1n2U>fHeS;Uv4hD;sJDS!gSRuWclk6Q6;^!&(rbfvkrRjEjqCeKSU^|W9z+vE zrCt{**HXS#^};W(1Y5DwDgn8t?L4-FJ+J!Oh$}Ld3{a1W%3bLAcUX#kjLz4B%1{x< zhR%*HM}C$u5K}PqRm^q6UHh#?54eGXfRB!f27xJj5$ZYV)v30O@kxQ1l$K0-+84a- zzN1u)xR#nmk&v2>;RZ;Rc0{Y4nQFj;(K~&@U&S{#xb7C-J3nke0oln-CQipst|g+3 zE3Yqg`#KsS>$()PFsB(6kyw$$;^r!4O5(Z7QUEHW5~}L$Ny{%+{G$D6_@5)JB|Dk( z%<(z4;g|~090}oufl1#ql>- zPN~Zn`V%38buQrI^JQTuf&7FtZzl7(cw&dKs}5AN@NbcOTp!18^i z?(iY=rigMdz|n#&ys}CjZSR?7gt0Gmrlmv&$$^F!%;$dGrJvxYtk`B>bdn~sKKQw4APgH2zgw4UwXS;$ z4RC=D+m=)3TOeVeyn^puQbmy%yPb`lA4XRpg>Ltm@Y~ZRb*VV|P?=~z@48;W_D<}p zKVj`g64-fRmCPki;3qz8qSW*T>0$jV_Ws@F6OKCE*bVxGqxhS0@DRTeKb_B|prN3z zel6g29C$sRjKSkW@F-U5<@7jpCgFEIoci77aUS4yIJJ2?`}}EZWWogsdyAGuPg-F+ z@7{6RyT5WC8p_{%Tn+jOR*i(%e^26SNlE$x_TNHVrMf$r$vJy|AdOf_{Tsei2 zO;FuChzyg_Fnya!^+wK7mY%~gG$K?@Kyy-NDBYThfQX683tiCU#Cj#mZS zj)#Wt5}VzcdZ@ZEI`=xB^S$adSm1Y{s+YN>bL`piGBm}ak{FG2lF}6E1pLuv(SAV~4ian8XTo&< z2gK$#!G^1Pe|ez)w#gU`XdRAt6S2~(z_xj=^A?$)xvOgvtFz3msd{M-gzRm!#^i9i z348FhR4l0##$72c*0Vs}GDMN~xot7ty6uMqXMV8FO6c#$>G2$&tnnDuD<8wzV}}=m zKfBM}K?7{NF3T?d>rX%QKAK$W?r*z^-8u)7MK+EdOp0Np}tgyDScSyStl% z!I%H#ZSiSz0U6J>wwVGLSd;H?(=N=aq2E!ey!Y$2BEWxE=<$Ob$CXKqRmL5yXt2J- zO@y~&#ZNAGW1*9iB?jqhjAhg}iHS8w?YsyI$%-wkb^J^B21@1Qc+~9_(D+g zE>B7bN&YAKh>rDSi=8DR{Uj+Rh7lhbm6$O*uJjT%50eTO=UkpeeO(3^`^oF*U=)&y zV@8_&)C|iMI}Ohd?cH9-WW}I1uN77Uz;ZEqfHC3c$rnLE?v7PcxD2@I0 zUfLvFdDq#$k_u+oFA};3dRxafwVnyb*;H8g*hUy0chfXLg%HSImS!?veTrFIZDNxx z#4gbfXyJLp&P!gA`mBvWogRmvmEFl?ps)oL3HAaczObs%H{AOmI#CW;n`mCC( z_2{4y@%b%gX?u*^n3G`jaK|&(*~}Bu-rVI!rtNFeKACCstGv)e9(`BUSACCLsS{?V z(&V~xSq#1Heaz*%EwjzU3ZMu&qPJ^JP@;4v; zeGJq(PK$_#v6zgf8#`dq@I*AU^?(P}-unfoGb-SkbOsGER?)9I|HeTTPC zN_Y!dPIrn=P>b``_Di?dyGdUkwAzm_QB(`ZU!7OKb}3z!Xfecn02?eX3-bt8*ZO?L|{nL{*2MRyqqE1g55C^hCe-QGzOx_)6(l zu0KkQ9PY}U>H3g}dJbBx*lxxQLE0T>JlQ))tG6kkIYA~SWM@Xgt1p47Io7L$-GmRV zNC77xl-r9vg=_h>9Siw%q*Xf3P0pq|??T0i5J4=9-uV*VK!4z?tY5caQnx5G8hb)3 z3G>zx26(##7Yu(RznBDWY~;cVQQ9tDR{UP`SCCsnCvf)3Qf}>8AP{TRfM8^jxv=d$ z8Cn}_cNC}2wmDHyPuO}%kfl;QMrs0a9?%!^6{EaT!eRIjPqDT2xSitJ_7psZbI4;D zSKDad85?`Y!D`$sK24CwHrq~~WhaL*%8JszXs%{geC-)x(P}~F&I+0KeQ({d;#iTP zS=Rb*93)S%&hiVlOBEU+(H3w(wHJcP;NVf4-Iy0oT$6s`y~^@UYXPT8bGo7I{DSGJMnf3t}Vj;4Jg!;Ufv22Fl4?S`( zl4Hm$r`9rdWmBDt#V(pk!y8fxmM?3ot3c^jEQjz zry~)0b%@rc+?VTNvb>K>`x~|&*#fMRDG^%0G0pd%x)ZX*iF&$|Ll`@Hr>(VxU`Rc? z9+JI%Ef6t|+-!ZtoWrW^zmN#at{8(%7;a544dt`@F){LO^}sWOmK&`^qWJxH3;`RD zqNpi6oviK*{XVN+pfh6aIN1@o?EUaEHnxnfl0Jr>ldhF1R2gEbHkn0!6)!eY;#juE zyq;7@KIYSQ5hMGULWat@LUzfLd`}eVFy`?HMY=9ZF7%~?Ydcvm;BvgoBq-*aW}54w z%EwQE$gXT>V_bCFH-i)C1sVct&>6@PR~uLC1x?mV+b1S?#_OkN!qP9F7RP`9$Ydx3 zdw;52=)nS8()lkd>t964sH8^|Bx7`8LsKt%Nb%8eOv8RnKgAlkol`{#trmj_Z3#96gQVp8#^1!1O(LelS>#3+m27nQ7h!WTTokO z=reQwG#e~930}Fl!}Q$DJzJ5PgKJ~xS;aA%ix3)9=Xkdid$uG{`JomLg!02EXkI6y z>XGU{yaFSP*J&OLQem*+pc`)e{55h!hNro|>SlAdbCLn!doT z+^=OHdU$60$O8!Dm@{{!wx5}=C;4P}KNJ-@*U*ywkZm#!A0y@N)S0 zx{!C3kwxU<)+e^{XYUd3v|QZ+iLHhCr3U!v!3@`qP;qE1Oz0>nmE{c17d8jt0X(Ku zuABVxwUv@)?48YjK5Mz74M|IH;SOo_Xk}T-LrQ}47PW&zI`N>JlVj^9Odk(Fnx@qa zRb>~?sf_ehFCK_QKHz;mrm}`z>GfO=npEs4fF6AtueN(=Q`&8MqL@CT@B3@VNs@}n z(v>^h622{6n|kWokqy3K_N}mxzjfuYnIf7v5mt!sgb_|mVFr3g9!CU$qj6kw+F&hJ zQ3*$adM8HQn^9%-Eq~jc!p{o#yh(lGqi`;V7UVewz3yxgm}@!8NeFH=Q?YUHJ4cR>xIy`hbiWWhHmw@VkAfDIGpZH>yS#j#!kZrYS)q$fe=A$8m5rbEOj^GxHp zr=O13`bmgFFsO8Ga)r%sDb;&GV61Vr6)ZGs6WigtW^R62p?)OE;=Ec5`3EaQ_vj!1Kr|7 z6Kg`?H%5aENS<2&-R;R{_i!Y93q4>tw2_E-hy)RFEJ=A%c%*daAMJm4Qz>xbg{vp} zW(j7EbiXKjn!0$2HH{e1>X09WXH`qK)>YIb7=WT&(8)d}xF7v@m&0C7F3S#v%m4d? z{=cp0U={!4eYgucfc-1`%;7_y^zY|?Duzj&HaAxd{u;Op71-T}68{52z1r*HGf#6d zgxsc%DU|$mzjX1t#09y?X>)qNyQvHM10!X$@%guJVN0pr=fr;>Bc@MYHOKwMXjfi7 zMdfWOx@AqYRE4=~)SjX)$j}5Yuw|jEM9anOql;i@Hswys+s*DnNhv^RFYS&bs&?v@__1 zZWe#$HpDbSr$03o|1z`+&YJuSY=b^0`DB*4|4PLv<@oG-@ULS(|HtkA{|ESg{S9nd zW4X=C;{j+I*;QuXl9dD=pQu>%&ATyOJtn7idK^wi;C>chJbrHvIWrxCA=&=z2OhSu zFpTjL{8g`p%ld2@Y?d~D?3wU(^Fr)1AP8=0sqXyUu^+^{dI-Vyw?gUa_&CISuWJkS zKg@+3;ce5&+|W12B`Y3-23S8+rZ2&t)6uUbzQVPGACBCI!Yq^>UjKazqcZ2X zR693RJZwE(SHQf2eEL={JYuIW43wIY`;c4jj;E@*Vk3D~b5BRlj-a5UroZN>tfhq$ z2O$XCCK0RqSJp_o`2sYN>5^lY5c~HnLk%qDZCcfB@<~NlLi=G*-8SnKz#01D^f?n< zctZUTr7g>-MVmMTE>wj`ZtZ$;PBn8K!^0A?Dl?`SNLx)t0_seGsWy(-)*q?hqJ?seQh2 zody6lSjucAxbo1!jOo}0;{}a!Ol+ETEgWzopc_=f;$$hAdaG>5dhBgynTCKC*Y`9s z!`U+L3OFgXF(R{vo%g=`^z+hIChh+HGqxprPL`-V(e%be@rEMB zM|Xc||IGYBPynf4>iY@yd}pp+4kGIjQ>*M4! zn~>{iNeQ#B@BZ*Gs|x?y>FIb>lf!j1$-0CrOfvB}nttlNSL&C!V$&6@Pop^lC*r8U;DR`C_YOmBc=5Fh==w>4i z8}kC0L*`iMQjuA!X0CLLRO1o@)Z>k#S?see-}3&6MHn-7SZg7^s1KWxI@zwBNXB#V znd*lbpK}edS?uU8apvrsxUlO!00-Hjn-`{!A7LL`>SRMcD`P93+Ue|$)BfzAjl0hN zKYX7~*{cED>(6zBM4pD1?pb+lzWW%@{e&qd5Zn&XPkt0eA_g?xNgH~4%Sh?KTI z*MhJy3?}^hSvL-kou5f_P*Vuw#?@+z582-jACvK_cdv(*j(^sY(1QAIKDz8cEiBm( zl>+@3WZN?GNN1$9JPi2^&Rnh4cwh#$@G!@|c;bRL$Zga~7Fbc0`=#1ssv2>je1zG6 zVi?lMpH6cZe`;H+Hu4{dn9J>^G0)#cI~yl5bOjV$&$)nz1$)kKb(Ky_4qQR0GHLkQ zH*Bm#XqY~)7gcwBM9M>L^5Mm|Z|{Dree6J-2A~Xqgof;N8*dMil>L?Va$x*vH@w2t)@%(iAbhY7SR&bMU3_Z|<3bg;xAj1ve^ zc~;G75=$;maupEu@B`3S%y?eUCaL{LZB~1 zOC#W=xaDqA%}y-3pZc5{nU=B}(F=Aiy&1#^k#A0=Fw$d~1Ax)2IZTnyt&=7`AgFn) zU!^OEI|Ki6-i{)ohT9-oiqH6n5}2l>)sU`fzG~Zp-n}7#A6vw&)@?;zsJ+fU_J9sl z$G2`LoKTMvw?ZktXq6>O--UrIS}-d#{8Mb7JQP1Ok}Kju2le2s|J~-BjAM~Le~F#f+}3J{rjpmL z~Lk{4eD?Gu*l#5;m8OdMb|i^QSsbX-+6(6AmB9} z=j)0W$Z=Fvo_LUN2AHuKaU39Ifw{9%MK_Y=<%?NMAO?-0W@gIVf;H#t*xy2198hS+#ym+rI- zIRBM6P&d)fa)5jW(-?IQ;dsVv4xY;;o_G~SZ+XLKq9+qBtU1BYJ9y6ap>~?H2|-_R zYlmn$hrjC4u8Mv!PW5-2QWIN;vG8r)Qg?zIhNaX6jSgi5|0s&5iKhbL zh^s}lT8@rZH5Xa+!p#w3vw#TEWmMt0ok(?MR~A!#0j-F0l>FGObN7(B;-caWpP(A9 z>)BHp1dNkU4&eNvK+8}i@lv6K3KnhuJ?EOtxc7$ny=UUy=-K7Ei|4f2V|!}Of)xY2 zy|a%Hy#*OuT%$|)I;qb3k~QgA9s(q*WI{%}!j0~)`S~)RUNEg&f~5;6~^ua1EQT}5epXSDKapaQ&lKr zv{KKr3y7PcZ8*uo$(s^GTjZ9b;rM*)Z9VpWbDP0dN|GKKn+c=UEmB&yq$1dVg9*H6 z4i1_-S6B;5c&K)nO>@6xFYDH|A$U6J#2@_0Gkey|VQOoE{Lg+)o*J>N zo7fZj$SA$JeFzI3*=pGV(~}4ZP(4Oczco4byozPLxXlcGxdJ_ug^aC^Sc!2Cn(2GH z%c(4Pr3c4w2ZS1aK!|yef^y|DKr*^nDJk%Rcj$H&m+0Rlw@xJ4_m%-u22@n?*?$(~ z%}~Cb%f&#i?EXlaRI#dfqz3e1@dajnn-&>YLBwW8m39mt7n&3MkR_V}0A2TSCPyx8 z|JJ5TuCX^t4VEtc%ui^Ujm$gvNSY4+y#l8a6qgMMYkJF&q#=4@TK{zG4hR?q3 z$lE?SBXxs^D}ltPk*0L-uK4p*4q+4rJ{(6~ZXFF_gg|b)`6_uZVB1hW9!B}v-y9SZ zkPZjn?&1$o0HLgP>Fs`4B&PsaAbMww8)x1Jo zF=%QNQbVf`5tKHC&9=SaV%Od6epKPXwL3zyv$XCu#2phbBhT}f5EEN0w~<0IM;|p8 z4_%f5%vpoX7Q_!I6$IPss8S+ZuP==RLrgOcKE`?9ZWRfW+Vem;Vzmpb5#_!cC33X- z$Jrd~Fo4X=_{s)<@sz3Oa9*bLN>&~=a(OH;sNB{c@ib|^1nwG;Ood(2E%g&qeprP;=X9{ax<`weOCC1x<_v^xQkOjkx zP$hN3tK-xSk`TMEk+BS*Ez1Lu!z0-x;;sOT=;5vK4&RZUN`C_R4jsAVn?~N`#vqR9 zAoPorcT{y&ZNq+nmw4w%#OMT&yaD1emZrNN@FWHLG)~LRyn6&#v!SpaAvGUVWn>P{6xlSBpSDyq5cGB-|}>g(}YdF^b1Oj^cQ`% z5dMd!w^0Pptik$R8v75NXbHX)9VRCp5=yC_Yzz%4SdJ%DKna$+w`21ikCFZ$omxk4 zbMUqdWQz-_lslEqx1P7s=JZ%j9TvCryqvA;pD7J!fsgJ=%#JQi+nnn> zjROfTy7C-!5l=1#)i)y!9a!R=v9u_pNY|Nhy;8aH>&?!UHNVDyvru3O&@X{~i&^y# z)(9_n5>iS#JARTJm@$C@se_mGQU4h2Jvfed*Iv{!R&g7x48us%LFmrikwY4q&69i5 zkyI;2^9tfAv@$feN;LUW3nf_>Vo$VXTvP<9p}%a?T|pUvlCa;UMAt8>*gE*S^ zi)ervVA`uwaw)aoPmTHpHKX&I{@U3E0`S~m!!o}J3&RF?VUyl-hy2`x99;-KJ+b4K zvdxEr#|UBf`t=42%7=emxQ=5=vJz<^1?O}1Wvu$_uum~mhM-Pu^7xQ#@EQ>Fft(MA z&KyW)6nVmoU$>WJ%W}M>g%(qPRCu1!x%tdq=X^?oi)lpzOgeh%m1H;O$!uVeFZ5L%Bwtl!{SUYERh3q(n7D&^~cCd=G{Msv615o^9 zpDS~u9Z=Wj8@X*x8w~wvl8PlHbk7j%sIPJvS>aYU_5?4t?w+vgwTb?= zW3m3cp4W^mMN(`VpKX$f6YMqAJ~Q>F0UY<+BUo~iOh>m(W5e;{% zD%;Xsn~Bgx58sKGQO+>As!tJ$dhczWc|;|91$jO(^+q?> zb9zQnXZEIU4w`9ZMQBN0eic=8Xs^OG9V%LBIgEiB8%pB#}6~Jvj%-o z`NW8ZjW{H<(9*QC3pX&-5WyL%fM2I_&#sq=`I4-Cbu`65X9xYPIQ@g)#OeaZpq_~8 zvh7>}`n3PXx%+PT+u-irooY`1^#1U-D_`C1|I^@rGVZ5r@X60#hDlKA(i@41%ptK! z0nc_rqb?BCg3TGLl*O_mxFrX*V!>Pd@4%Zm_9Waw3F8Oq;R8fxJFaly)H9kK2=Y1v zmhpoc+rav)D7P-`M*6v5=brA&U+FjrHQTS;S$UgRZ+$0}&jryPgoRb8y~n?8bKaQi z3tO_gqd||&Paw`HRT9ggg-6P5d@A?*JvwO)Eh3LaF5I)(fVc=vR1aLU4@(CC>F%{4 z;uzA5ePcBa!c_`eU8V3efFSeoQQKtz*_lJ*zLAAMMI^s3(FGj7C9&!~OfZmI2X1+$ z9!WIbZTC3k+OE;bz;#z=7ft>`E;|dz)81j1EmnG+$|Gfo<}AC)d3?t0j}*LjS;lX} zDoXmm3887l-b`+0_*h&0?rql1)sgM{T#A<6QPvC{G=av2P9w1id`ktVB!9rclYG1Q z6PJ7{ULD?Mph)xv z4BiQ!XQcv`93uBgCZM1$fk!MD$E!@p2H8aveFknNfx?liXl+{;YmgChJ;{(0F<3uR z3#)3Moe*s7&9T|aANq{ODvah=3s_~gA9Gm7fMVxYIKnBxr$sarPOWLX##X(aXDRYg zQVWP*eG~Ta<#mqDf2u z!ts5J#{#K?T?YCL=zB;q+IHWe3-2Y=oQjTdk_OY&#>Wmnu?@3I1uFlt59@S_ZB!b9 z*L|Y-({SczZ_Bg~w(hS#ll1vWeT=P&yiQC9a|mVRNZWxUPeJ2ukPk)$ZuJCKZQUyF z^ywgRgMG;)MQjz_@ltrwk^EDXHBQ+eD~r%}rWrWcOu@6B~*&cmZu@J~WbWfC#A4+Hq?JSo-+=l5%{XSrnNacY{Wakhts?M-ap?INg zjvZXBJml9erWX!FyS{JYMN)lk4at0#vLd7}z|L1dPW0GOXq^n3o)+!6OFcL}Pv3FM z+|_KS(SrtT_W}TGWoO&q7~46s9U3~>wbrq{K zQZs^B5#hY$^e=b|A~O>6=Z6C8mK_R(GAtGLmKahlqW*ZW(ev#EE*)>98_RNbO;}Iv zg$-OR8W{G|C@uG*?H13zkz-YgR^8Pr`1JdmL9t6EI2+5mw^l@s-^Ta7XdOAZIWY9l{2gl>taxBkk6mm}pnt z`%YX=>#LD;pV2<`=FWqOi(dq*X(S^tHth`yr6@-U)*8c`VWMvZmw-^g%=3)>yduxd zdnr6O>BNah(AX!_QraYx_jia6`;*xyOkp|`rwzI}}Js2f9 z^?W!oax4zB&XLjeF;Z43(XAhgrkEl9Nk3`hN*lRdy#rj8Re3%Xk+=QI3*GgJJNsqy zmP>0Z{ZGvhhyoQoq9!PGOe@1UIrzuWC<7`7aQw+$K{#U9xm!=l-CYtq%&(dW@LwV= zhL-+<^uV)JGj!y8%3nmkC(viHfRat;#r)D&t&M`gyv_kK`d{3+sYh2xG`GJy9_uTn z4Z#Y_6lU==##CA>_wyH~rFvRDS33!hv|arre>r8!BiG6hz~yOqs#e-X<+6rMG18tg z5QLK?<7h8Cyy-XELd}fLZ?`KYhZS#uhi71~JXkt@wqp@cyVafgmB(vrBjZknP71t) zj3uP`nkFM0*EsHc0s-AME(Ps>kOVMtwa%cLX=9b7)WB3X{>aGA7NpfB*JXf4F$Fa? z#$fEmvAE-&On}owDpn-%8f|PX!Sm_iVq?73sFJyF-B9kZt0qK~xmM!cN!JgOF;rTH z)vl?lb8Y}0?SchKTwWh1ddrn zhE{pfjP<*269L8hmQi6duRhAdoO)hz>I+|}AdA=qaHP@GatmiFbuwR!dymww!ewJ4 zhP4`O6g*huq=st-E${eC`wmVuO~KUf+>)d~FW_xa2H-cDD$QS^RIB8Ye@K{1oe5S7 z(;@Z#+I9*_tpX02VHj}b595ysNFJL*ITVK4A=QN)Se~AFvyz$!j8SK_VnQ;{l-4mv zHIdx~`DB{(iqP_gx(O|Q!)#n=@GB)*`hi{5!QvpeV8O(<=49BaOhtLBc&yDSEX2&k z#ZJdAVlX)n8qblx_FtW~{_l_Br90k+6I|qaZNjetH)daa3vdUvdwL%Zb1bmb>&gBq z5%fOY9gfpF6TM7N=P;S1kQp@v>)dvJv;hA<0DS(HBXxJL3>WD6bjM?*h+~2@N7BOP(~w`!3UKubOI|sXfU_?_TzHXC9a1SU!(XPI zF<%pPHPBHjXTk6MP;Uw53hfeZq~m^s=j3K)zL2z*jZB7 zp+_%lWA@ckS&QRBt&Et%FrcsRJK=8>A|}~6mv8=RtdRjBeArL^?bL;TnG16d$cp#d z&S+D4M&AA*#g4uv(mu@chqf2@d6`+9BYF5uV?oaG-C9GIdsb5*sUOV3_{p0jK}Ok{ z$L#MuR5*%KJZWCWV=gKU6LSt&5>Q1jWL#di)X0)4z{bX@mqrmd)j<8`xw6j>tYY!< z%&8#xgqm$h5yP^&Y&$B&NpvX^Sd@ApRuP?h+OL+Q?{3q7M>}juV)JxGvGngcP9*PC z%KQ?U)RR z-y(!gD#Y}-OX|-hK+Y}S3JAQCWH0v$h}aU~2LXxK)r{t1e;g=-OlJfst{dxhWHup7 zat(^=xZk)~8Ui>qDf!3Ew|Z`A>#yy0td_xNiyC!(k<>|4fd%9h$g*|O0(G%+MbD81 zPI_OwmZ4nhwEx&uBX55lq|rd%%gGj#VOLqIg(W=N0ZNYIFBj6~HeGn=TQ7?7z~tW? zv!X0zb|gOS$QSjv7Gmi1xW?&2Bmo^Fn&zf(RoKgOmALgzy2_6)453CRxwxm$XxGk&hK|ENsS6}!lq5eWVRfk zVG30xWyCzuwNuP*OUKXtI_>jEpi27&D}Gth-pt{4y6CLM#fq*YtT8EFnu_20sk!>$ zvg>3^gA|SwcdB1E#ZGSBLe&jgo!lkRcy{Nqs9>N%{DQ9(6;&PCtryLSR-gN^d08k)L_9*@eiv?3@_gH2M6ujO zZwzo^6W$hC_22rIhIxs@0^SY=9`yKLQsATYO2EWLgIQOF>Wu!xjo^< zl!$m3d(S}{F>sc9j z-;a>#b!5~9e+T^j?1_ChoZ!zS^x9R1rE zZkSO;5K`*8+}2D=yo?Y^{j5qsz2~>}qnH%M_qkbXH_UcH*YDtyX$S=5c+<5km@k&P z=-ZJ?-6nn$s>)+MncZJ@JIFLr{nGpzYU;P6amA< z!Vl`xx&A`=4~YS;jS$o?-eO5ouxq7OjrylSU3_~d<)rGmIMHvZd^nZeom|41xNfH7 zOQUT8&IU{fKL%=?-MXo<&na*Liu@@t%NH&#Zt-R^g?7Tv4fHJ{J)3D`plqP}R~t1N z5A4$8Hpl?KT^Rb`*cjR7gkqk?TPgJX-m(!uZXn(w;3(n{c2&O_yu{?Ni^nqTyOk}l zYM{LUTXA)wWPRL$a?F@}0vtKf2}-at#&dP5v`19iF%?i*dMkWp6A2TRJoP?NJS4;i zk9Fokej#~1xPGoy;_0?3Up-MvC7(<#pL4zbn5Wfc9S^wZ zPtKuzT}7l*?+t8M>PRede`oECBYcDlohaVmjmMev!{t)>?)58La@ODh!0$)K_sifA zE2tA@f)uXvz{|*oW@ap{+L?C_ncRUwbkN;#I*4zx6W!@nJq6VbTfqc0P1Gr?Y?WjF zyYL1H7bMbuMTe_1%{?)?X+U!(ejo*{5U?Va~-${t%gj>!B{Ad18{@uOccSJ7U1?6~RU9g2vb!{|}RBJXb zMfpYFk2u=eoz7RsOG-ybj)yOuoKxegJ^AWpa-=KCgAJTt+y5jMb$Xe!@VRNwC!~wVjUvIm=ra+P2c1#PX}P~)lTOVf6qz0BkjJ(gLoKwH#yyaES`JJu)Z0HlAH-tu{kP#K3S7X^ zNt9+YS#Ky*R?;RJh`@&x2~1w=UJI5D=# zgeo_HsS)ByMSUyyVdPYM*nj3k@7tgOgr1>aY8ZuK6Ef9nyy*+5K4p;nVV(Gz6~*J7 zDB8F2iCm*Zv>von=s* zX|~6a1QHwq!QBb&1R4ntT$3P;bkHD;yOZD^Ji*;v8|@H+6Wrb1-MKxtc4o4BGc#NF zZq@FG`-N(%PZhlHInR0QoZo*WBV=p)L%7?Agk_xC{pXv)+}V2E{+o!8EDZt#gWu+n zgosRtU?OW;f0V)Wj#3oVdmceW{urr3dxMA0aH+&S-g5=kT1%#>6TQJ3dN!<0s& zAmBVH6@zz{O%>DlOw8gev#}om#nHX5PTNF_BE8qw3jfs^LB>Q$;D7){hUHg5Nhb;V z1nQ){;%IM5CKCdSbs0=~+8K-Ef^1tLVl=`|34?wWQ7scd+NOojmw%&M%4Od}8%aQP zu`sCLPQVD%x(NikBkv%#s$(xG^tt?gv=vw`JhPb{H&lG;C(Cu@n87S;yrAGb95wMVrbbcx zxM(T^l8?rT>IY#hkt=zm;RI1-MlVVOLd*T2lB$5#RYi%`WCooSjv?D%p+f<5qxDc5 z6|ku<1FQqB%=$=9hJp^i0C%L;pK3TgMn-(lUdJGP5qnn>4lk7DO4o>LX($`MDqCkH z4d9h(v>6Vt!Ov8aM6*z85%}Q2dAf4Q_0T)Ax)Zp;IkD80DOS*G>+nP&(qPWHEDCKT z-6x_8H(G~wt-Rb$h7^%Xr49VxmZf8-KC15t?m~^0ojsdCR!j`d&qo+lP%X0!loxr*7d-O8Q*U2H&c0h{Y?~B?Tk~H|EJ5MNaPEq)CXRPZ$=C?B z(}C?}Cje!^(imAu(TW6Ts=+&O(-kAxj9PO?OMzx_)3GQyprR66t2zL6|a z%gGU!IC3!5)fvmk(SLRQCM~v-$3UqQ$FHy%FvZ#1?zBgWSzd(7v{sfw-)A>)4~JOP zIoPDWAvrwxZfv;{{9vw2quZ`NhP@egEvlgTTN1~kQk2R1Z|r=@CcdfKeBGJqrr?5v zt3kp~W;_Pdgfu$RdE0VMjVHH7E-8*6Vzqhbr%VGijc%UCWP;|kJ>TAk$+mo(@hrR| zV-Pn^fwYfVp-Tls8*%CH`#W>ul!EvU=~zCR^Rk|?1eH(jDSk)$+KG19@lwafhzc#m zB!xa%VS-&Pa!51PN_>!LP-2%Z&s5VR^_BK3F=cE^sibQ3hK(S{k-lyzFoi;G*mtzD zN8p7@G0ucb`+4@DLH}+=$2ji?mE@naRKDx&Ou5^j?QlBJeCG+Zm~ERl7$-pI604Ti z60{z85UQMX4<~6(gKq*(G0mLoQKTiFeMds&Ts{T-VuR=T};t`huZ zc;+i4dy~zrgncQQFSn=9vfkWroHtR1UOL1$fSPw?>&q)7Nq{mVlPP*9#H16M`+~M@ zKW^*^am!{>^_yb)kcqHG+k;YKo#^N`bN^6g(z@vqM*k?QY zVU4(W7`;;G;vW!&X64Ju^0Wm2@b6x@kybu=6_?yB5U?7|JjU>rANm~AdmtrKqUauO zy95WxGP`5toPv;=Juf4@Wnf@wN+tKGk~Ct9S+1g-BJup#+T--~E?$fspW)(T=(MCF zy}q#kdqK!1x(O+UbnzjKl^cG*u*UW{t;$+RElKkJ= z>ifcXSoLtjt?Mz1d|gs_H3#6~0&SeZm^)$BPwX={XwRVxBqf#VOcBMR;s<|Vl{n>KN0VmWwp6~D?j1Y-bT#$RwQ z5d{l&%&1o7wdI%E+yKUj9?w=nYY9Kw*l%`v$c#k$1Q|+TIqGn=qX?K4SkJ+Su!zBd zOtko)vQCD~gWiBEofXP(bX>IMjBRGMS3;&*8>NhOV;%^biRPEQXC|98d(WotBGwaA zToXRABZ4Kf;TV|dLl}bNSpN)dkQMVRq?)Q#yg}dzd-U@MUyBD^5Qi2lz)wi$jacxY zcn?33@isvYYgub+iGk<)O;=N6``d27^Xv5|8tAPYb?D;#~^aLw@y-Y z%`BtqI`xvnJ+=LG0BtSV?2W1Cm%J{EZK-@{BzEr>dqkKuxD1!WXG&W!6xC``-*@`f6}=bT(^%stBJMC zEg2LUQF*6dExLQ`AL-a`y368?Q`7ezXT#Bgx_xw*EbPe5!k%D9000Io8>>C=RgrOy zsNHh!!ecjQq}JaqI#Eut{zMy&9B#=a#e^8C)$tC^+j2!yA!AF^H`ax0)fB;jUaQsE zmP6X%@cWzNC+iwkcjUE^%s9dnMUT5+iGAS1-r%^3hKDgzNHJWmkMf zYYpVNIPFVA0JFl4Eaxs(jIzZN))P_#&+mJ0aYp>jAX)hw7jI8rGm3SZO$!ls-Kf~u zydD)l*{liT!Tvn?gtYX4ZJ=nOphvKqPN-L)VL1iU8@sm2g&a^&ZRV2mo z!!;HH+G=nab5inKer9okv1hipa`rZ9ng}z_Q|GV{sor091CBLamv*1+H`UMA-_(Ih z8+u}ItX!|%fOovrS5vnh*Uq5h>6x@=r$m$z6Z#3O-*X5BLcfQbh+kN|6TCD+?z&-o!{> z?u$Fnls5+!6dZx>_lDDb4eK)Tr(=g zOQWU?@uR~b4cwa9$VFodW}m6?e~6Zpy10VL8y)QJjl&vr9Y4sc(iO$)yU|W@29%zW zMw?XS^bue{Ns{z1rae&swnP(}>rk>w3>%$iCtCYe>XSK4e$4@dE@f7sP?eU*XSb=y z@X#5VimHFMs(fx(!{RF&SS-9uPDRPZIYz|P^>TMC8uP(x+RqiSLjY=i>%bICQ5$3R zoxOHHDyryLqmK?^EJL3!Ve`AcCsmXTdxQ+Pj>^BAwpedf|L7 zB}s_8MawbW+uoBGzQJW4))@RE(51&Yl4r}u%$=3294~SJ_e9t3L9sr~ox&1IOK+{J zcj~n|w?(TPWPLjsn4a%n3>P1D5{XUlNyI z@s_GMhxo(i^t`fgX>Z4wEc`@Nr(`=1FBXGL?yRKdlrQ?y$`DL$?FP_eps})_**%xo zrARtRxAS@*T>epcev*TAZOEk6psJn>qb!E9jUFQiCqecDK1uV0p_DAd@yvddr!k20 zH#v+SBtHJ4Eb0f1kH4_|mlaTPL^F9%zx+^DQz=8wDd<-tg&brZU1uQc8agRRPthRu z*#w5=0Q)DImQrn5^7mp*=lLreCPOO=QV^4;^}5EYdaxejVU;fyCQfG(Jv2n^B$$%1 z?0@G`WRLZ)34(Y&PGQ^j+Wtda4k8u%n=S4cKEDUI5T%pr;@$cKe(Wog6dS7pL zeT#CWBVJH&Rn#K)TMuvMVDZeJPEL+Z|Wm_hnY`up=u*AGk&NMee(t9%rLJ%{Y zH=RN=vOpt0E*T*Xv2p>bu+7alqGLJ~oug(Az) zzawfp0aTF`I!2phO^q`{xjE2UrFr{NA8sReHdXZv;{-mFtO4zN_HY_=aD_k+r>3CGy2nnc%ccNWw==gSzp2U)p zthdz!B9!9x*w`eAt4*{G?6gH!tUfAuR{p+3iSIxdwqPlvUL#VW zxUJ94M4XHaeIJ7ok6-p&dTD!I^@^HG?Cy!=;Rn^~R!43$LO%2k7ow;4aPqx{R$kae zBNM}F`W%pcIVe(ld znO;2m!m#)Vd@#iFfTr6I3T=7x4dg_R{sP-i5m;!FD0E?-zp-t!YKgx$x>&?v0{`Nf zPr+<;4hxfW$i!g?4kdo21ak+1_zecaR{3z!v%H!Q{wXVu1!)RVV63rj>KJdEt_j9D z?LP4;b=xr9dD|aY9|r;Ls_p!31p-YpD+btPRiV7N)emaP@m-ott7RP{%Qx55$4Djs zl%n5i%VL8hMVR7n``k3SZT2^hr(GNH+)kxxJ ziyz8~V0E2lZW)O&J$xwR>L>0Z+=(UR_l5%;do?sIpzfq7O7_ zb;41vDT(2nNh?VVKwFz#)H7 zMp8o1caH-7G5mxuaQbsK^!9|==q$wiJj5m0X%z%n9nA_>GHHyshp}0_=(Yw_6;3^Y^vHxRKGbKyt;^bKtx#~S;SzMQysAlvawr_ zq1IPB^##>MJkjKGuLlZ#_9Z1G8hp=su-KfCRP00dAd@Qn6ny3Ocq_l*O3OXE>~LC9 zS!sSTA{>3z?YP8Ro-mpkkm^F1HF0P8u|90lU?*lGa>2u1o2c$pNY+iaaR^l*I3_uS z4b8Q|(%k-8W8Qq$!eWH(2BWr(O-+uFhP4)N$Wmcrjp_8aT1V$dDcsMn;$5_3p7OHT zR$e}d7-J^s7An#ANrD1wFg~9|SsOOCmg>cU^~C%ug_g>G5fTF7vL&kG(EQByIpybgApb<;Sc8hLZ0MO^O<&xyeo$nKt~E*ZD??H_ zE?Nl4Zr9HJ`kg5h*vUMMlaSm_#nkR7CN5{g=aLw)GyDdUlx7jstvoPgMI2d98pd*t zuT5GpE<7{R8`%#s97eR9*JJ!1k+4VcUXl1rYygpBQ&#!c%Xh}#JEq}P_l=R)2uXzb zq@gMEHnnc8#r0QLX8wobeNj9&B3!A`J{}h1|Bb_OkN77o!N^bk8g=te;c)tLcRNvw zI4W?~A3o;SYbX%kCeC<=Xp)_&Rq#QA(I}%^&_v=nlZ+N|tC5L`?*{Q_2LW&cv{sW-6@bXmHw5EcPz>dq&7{c0K-n8{riLaA7(K{Ke5uWy)87cTGNBWArPTF!K za5z1~wWCWn*)Uz5>-SN5g<;X`>;g7wEi8>lQPgJFU+#bmd0(0X$Eu6}_G1?IananB zWe?aq6!W*j5SRq(PyG3N2mCKhhX2vd9sLPu=WjA%fBenQ=}mtpoK{@_-*}xLbijY$ zJpIhld&%%$)71~mh{^st2mCX?{Cpc;K-`A;TzdTArq6>4{j?VJ%av*M5#T3mp`Tfn zk;s2M4)km$A|;RBU9^L}k?XV5nlE1Z*cUu0^AS&CPf&@>LErw;#su~CKPtTav1@++ z=09NNd)vrr57mvUt@HZFQ-zB%ViQb00|`Gw~@;Yg$_P^n*2zwQG6=U?f5Y%sc?-07ydTl}ARDIVs@?5mUNrk<;R zxF_d+Sny9|gZ~kXKa`gB{DKK^oz5-I`4!`TEN~LYH+1XHvgdjZqW()Y`s?8Q zzo&!l9Ar|>^FwEjJV z|M9s0p+4qMf)fT6{OwHQ=fmb_v+fTQ?dmU39Dv2}`0(H5yG_sLr{@5-(&(Kpkog$2 zaGm)}qi(im)AO}e%MF%I7Q>}pT}Pwn8UKNa?|jl_@u~_l{Kl==bJH-w6NQ$!XUta6vT@x} zf4&#{Si9bpNJ??O_8!j7c@&%4Gc}sQAb_=ryxsGT?ATw>Yw{j0w`u6IxqBUdRFB(h zd0&>M50sv3w+jB}3xnnLmXa*{-wmJYq>rF9nY=z=4i6fl6?BfPj#|Osw@8O`(l>$ljDNp&(x0f!$m|E(dDeE>vFpi^$ zM+5Zqzrp z5BJ?A5kr?uSf(EDb{`|asb{ zLaJpOm?imJRJ=;h8iwMxB(JVaUzQZQc&0{aNBlAbRu5nrNpGoG|IM@i?%7L%=HjQC zx`5f+{xJ-l@e{tBnp>SyWu#K2E?1ziu98#K2Au8f!yx=y-n|oN&$alMU{K%xmcc5m4ghZU)IcAt(02pL%+HOp;K3!qGvq^TkLorY_< zsuTNaUZO{eh2@3$#l^`gVij&2R*c3i0c6Y#*N~wVpqVkCsn6X747P!>5(kzO>4l#s z0PD{>e8^Al;hrs5WnM-4q^=g8E)QS#+SlfeeF0l#n}57h?=Y1*rA8L%QQz*!J^!?6 zrBs~SeX+}Mm-Tl2((Kmx=55x)eHW|NPE!Ws!!K&51!Zlw1|DXToyz^|OGo9qj zYxU}i3hR)td$_wq>l>SM=vtI}z4P_mdd}H?&|D9Gm7rDERUsED7~!9Ovne zQ-yV0uc4V84Rr@+;#_Y)Qs%FGyohircei%T7hfqnwsqO3H|h_F6LOn!9@RPJ-g5)G zUmi}3FQlb5W%uw3Kb;<)Y;pf2@ScveDOZ|cx}CD*4zKi6x<;4#eq0<&v85a1hP1Q` z7RT)D zWeix71uIOG6n(O;%3qxa`A;S|3GO3cZWvz0feQCDoz!3Z$>Bk?kZ8C)8i@so5@myU zClPvwIQcj$+Ola4K?~eY=yi;X0dZTLCBp7@8;oY4c<#{?Jb3juGKezIV4L?V%3o2f#^_y~Xf@ zwoqVJ?Qn|^W>lsgw@}@FNBpS6O^L2fOd5sy8F2jEb?Qz@i5%7Sio9YB+AubLPsd}H`0zy-JxA)zk zcjUKF5Y%#CPkgfLrr)Xc%xw-@SSO1(fpz9`5686v%Mu>0p5bwOXEcCtj~kYa<@xdX zBaxH+TitcVRffmDJ0rf-$IR7E@TOZ|0vB}S624ZLAqeLTeZ5POWCjYnI#D}6FU@uc<%Kp9fdl!H%FD)kxfPer1ApZOSzc&FAe|rCK?Y}_&-w^&t z|Ly}|z(Z<4kU~LF03b0SpfDhQ4*@>>mzgmC00;bcLxhEcM?ivsfQEwnGe8#|0Dysl zgo1*^K!SvVhKB<{!~7WlfPjJ|N5EhgbG=3cVq)Ro;#2eRYwMVL1}7JHu3+O4QqX2( zW>xmDaWqk?&2x&Il@L(TaeJf;+|bBqg`}77{edR=GfRK8{F$YHwLjSK2oO+k|D{l+;MCIkw0Jl9}KDh^Ju z-x~nrKd_J(P#A!ZfE^XgcgmAG)8yX3L~HWkdZ^I1^ifwxec51}-oYl@af@ngn$H5E zW}5F}nbPW^+X66#++|i|)H#C;*NEu(vE7G552`L!Me0O3m5K4gQKSx@-X=_IYf~gWfiF=ystn4=v$IOD zmdjbd=<%_w5gLi1qtyVtTWee{Wrr7!^DlLOgn6Jw*4}# zW$lh24K0q=qBFMI?(sBUUM`ic4fsfnm7oI{L;q7@_-D$J^ z9EnUQY`iY(tX3T#+x~F*YeNMoGa zrCXoz#jBr?|L3>M)%S-2L74Z?b(`zk2d5o{0SA^b-;DwT^OD%dXB$ck`Mgek10K8Y zI0jFD6c$#H4IiGY&a>nxy@MUA&MA9(M>|MWvkBbm-eRL!-dmqMMpsu<55^s;zvO%#}UHYx?g2f=g|K;vC;2|>p?Wv+N;p&cb%j-+|^{2-OhYlvENYI%I zVRGHg_M+eA=Z1A>JnyTs&yPE+-#cQ*IoFUd-x2D5-X6ZQS2W^MzhUV=9gV-4s{l#1 zkA*vb1Ssu6Tq3VK>1?AOEfjE5S|9Y3KW+LMH}A0g4_=D(-;yRw3ePkhKPFS3M+!;= zd#3zccV2S`pf(7ax0(zBypN zl3rd}j|ZP0c*EdYIW4=)-32q{y_ez(6RvWtA@isltCr`azf(_j7*@ zG$4t))= z4}9zT7-#z*qQc?L%YEmkv;Cv~@Xo*RZWaHQ{01r&t8xFqA{ljtP)P2F46 zPl883gIA)?p@giFi+xcC1Lm;bA9xkdB#8FmA0^(o99 zkGt|am%pOQX4o~sihV|T*;#X~ir0`5sH-V&m_WR{bY8v}`Y~H?Os@1Tfu73B%b7_y z&Mg;OH(q?*5=2ogLpTd24<~*2mD4sWOLg@K1_UP4|$yY{so@SoO|kQ8JN zXHqr8`k2sr!x^cPdXCA|(~wsHEWr>cq9@Ca_^oy*X(ImKEjDLv1KKfyenU55=*_S? zIH*s&x=8Q^k7FW0f=?-VSthedb!y4jtVTe}xruE+q%~b*?@PSwNGJyx&jhCqy0x{z zL|G}ohlJSww3K}V6)_TG$U9SHG*%f+Q+6l{9Z$MR%>8ish2WEzDRd|ymX?x1+x{Fa z%0n0~5sg9(thM?ogh87^-dF(woq%?+6xoccO`~G*aC+27l}gvcDPk9~;I?CArbyDH z_0Kfx*XG!aq)grHQL_~+ly=Cl#tK%=zFxxe2A<|?q`#BD+Q|Ls zIP&%9>sh3AE)Egeri&Z_XP~KvCmdE)>*aH^x8gP(2!C^~bYl{y!db4mX>3ISxz;Gn zZ8eAQq(P7>#QPwFx2Y$ElIT5g<#TtC)91h)&)44oee#9(P#~SdpA5EGBO<2Dao(P* zuVv^fc{J$g!)ougTEEt0KJ2L1Q2jWXC>?7&ce-eACWrsy=f~AMk5`_rzkGiL{FwEx zld``b8h85gCFY>x?v@?T`BK;KkRtlM{+xC5&2hv~ed|lAE%bijb#>wQYE$h8WKE@v zMIjvZgi}*sz}aben-S7R9uV)>Jl=0WxVk2V9ASeoDV!p?S~Yh`k`X!o0Bwqel^til zj+n_3m6gdb)t)rkY!qDp;Sj=jlt>*uo6T}2^S$|Ejb{C!sTd`(S5#4O-(>kXvCTp!K)mkuDqiQe%J9=Ip`kTBXn|DQD;goGYj~?9#x-d_t$^vuV z+X|(D){;CQ`;}DjIe~`3LaH24iM&X4SX6^*<;WVlZ5ecG3%iSU@uJk( zwd2N_qx>$usz60pKWHQ9b>I8CGW{mOcJHhc;vm?3GryG0$G%{)NcAR(rQW8yE$MTv zEJvfwk3s8ZH&dIy|NXo~_+urAd?LJt^hfC;btX#LxMY>1mhC>pF9~Tl7ML>It}Z%` z>+T4ABzOQ#-ah*|CZDQF7ITuczs|!ufhU_KySfVFl*{teROZ4V&5lYUr}S5EMJ`;21M^hIINJOd_@QE(QrEBq1~nWHb~>9oJz{l(|3&s|23U-gY1Uu*uj^z?zp1Ab;fy8Mtq z6y1s+fu2_-kx;`Eeo|?^nTGsMQyo4#?kS;!|2e< zydcfBJ%6lsN7vA>;ib@q-r{I-X|c;4Y_4QDyfnSJ^u#C;sRPne=d8wk!?V+HSk?z- zF>)P&sr6HsIvC{JDMJJ?JCrpqb@_^y3RdbD#NDds<1R4WC<=znoeD;ZXW-ZiAc-Tj z`a#=p{IL>IYy;Z0N)bnpANYE`xlIOBY4Tn;5~oYETprpT7&O+@!!+n)-E+Pv{Rv;) z5c*N*IAzw&zJ0CTIdPBD)JZrXO^sM5V)<6y_w80nP7Pv`7+S2dQNwd7=|_Zves>VQ z?l>kE)i$Lq($X{T$f!s+27Eb;o}IV14!Ul7vaiO>-aeh~4Z-pl^tp1ZPB<;Yauplq zP`2gHHxh2OP!MWyeglf{L$j{U- z)2}B}<^y}r4P!Ln!&jnBf>*v^0cRJE(e5ZV5rq{_Ig1+CayFdGQ%i;zGZ;h6$&$y{ ze7qbdf}GR3KblH?=}5?Jv_7!}Cdgb?EM)sYGL;j?;c&Lj3#?j*#WRqw08>hE$y>{2 zcc{~8NF{6}VeV|C2(-{C>2HhF#z>&?5lU{_^7pB-k}61-aq_=B$Dpb^(G!x0)$MB+ zr5#O^bERP~krJ&SeC{k|g1ZF;So~S!( zGNA|^+Ln6|aq`7~Or4ZN$?3ev>gKsHcYC^Nb>n9uHKsMHX;%1@9jAAzqoZ&2)u?fN zwYfK*x#{TvCXXah?tbw)J3uOKP>S2$htS6%T%UkMSb{cbV810R&ay^vSP&?h0?w*_ zSXgS`IOD|Z&ETfO!E7O}U-}j-TMgU5m4~Xljg9_kO}=CKc4{9oD@B(-jHV?v7XlMq z)z$J5&eik|b~cuUneh5>v0{)E;HtU@jxY(&B*2Zu1oZWK`}e~Eh|zc&_xq9IDW!$> zq{1;0X&@l(4(4-F9ei&N=PQiz^&Gpbw2mN-5K)axR?@z7)Nr{Ezq{SQO za--!xq#?DnMW7`jX)+;C3?=YmN+YY@OPd8)6N1cGkVI2C>pDBo#A-?s?ONV_z>GPC zD#z~2KUSzA*SYkLBIIM3?6AJWLg>j(yB5Uo)6Z0RIA&$}?1&c~0a)NGFW9;b^v{sB z9i)O(c2Wp+6xB8>V()zJn3r$0dV+wq&-B|}(v0l8^s9C%TpZnAx{*||NG7Ax0?Mgo zRypBvr{@gllR>MkKIvjc|Iy+>l?AV!E` zl6}X5&p_$zMkbtNr5doB)Z_gaI97c-+2)+=qZt=IzqB^$ne>g%4SPuaoJGQnon z9~Cl|e6-d5U!F^=vmO_ln5wb@*%!H^Nw``}#}PMq+Wk1iy5M$}1dM9fn#{pVXekD7 zg~fqQD7vmp?GvwoK2CyU7fDiRr?nGhETC~$yH)#gMQE@iwdCmN%C5o!SdhV~KO;lI z%Qa0dL&&OGUk^K&aAQ}QFcP3>GLZD4DuPM*n$b0)&*Za~DJpRnA1%MHj~Xrccr-KJ z8CPv7S!94pjQ-S&6A16D*C}b=@LEL>WS6VRnqx^BLn&6x#b2XZKI1OQ)&RlplM`P(Ps~ zyAEdTsDM^@ZX*D?2b-Sq`0!B>Xj}c? z*`nIiQAzH4kb|?n3Rh-|HvLAbo=`3QyLBw0S{h^;7yzahrI%OzpN?&6%#|>%fJO7B zbgspUR_}ZRb?fH*`Fxz7ik2|p1L$6_)%?F$neFEvjsng0Uvk}6YYIv(ol~A(m{(f@ z^M!W!FE?YJ-k&T!K7)P(PJaVdQb;_%ELZ00AAWvU@c90%LWMWMSLL=rQiTp>U^nmM zh3)chK>7k7jOL%eU#mOLg=3eR{<)8CUE8E*98E6VfL(P|Rdd%tSVNr4O7sRyPR_8<5Bgy?fq_?;} z{6@$CGHDfAd~8vNFOfXNIb7e~B?*L_7(E_f;>x8XIC>tR7@=s#w(6werY_~mcGmQn zt0>|Zx{}B4`}L+^jCChR?`D(n zG>9slPoV?$lc6joFCK6h2`>`I)1kB_!0u8powy^~*92)l2bAobYDBcPa z@N(RQ7bs~5>UxtE7+pqj1;1 zgrgTK_NU2$LKD#TUe^!1K6e&UYO{-2ODJW6v6Iv$6jB#&Eo}Qa_-P{QPG;KehZ$t= zGx)&fq=~-5H4Cm)QH?~I#w6Bgut-J{Q9WFqEN1&d=X5tKC*kwm1mEW^Jy!~B^0Ac@ z6UiA<=--_?wdWt_PUIS)`YLa=3nqtWZ#Vb<86nVtt{#P;+(0wTrQjkUtGVtS}RV! zD*mGRT0ioTA~;2T)>ePP@St+WO)?tmT{dy=<&<-{0wx)+?y6iMo>;A@HZf?W8cV zVRd>e8>7cV>^kCLWGC?oe0*TmO<#CHMiv631tWcuP$%5ZfTQY9EU?OOj_7Xy9Px+2 z`$t;&!dR~0cT~QQk>^Yp4$C$i9yPr77c0}Bsiszg-SgNi59PGn1J&r3o4)xfA7zs` zHg{2LrY5Syq#PTbHLAc*ep;8m4aI~fHF*arRPLcuL6XZZ(@>2!q9Q2N8h)zokDZz{;K1yMKAb37#ut4~ z3qO`Jk+NEVyXAC%7>vGeLH6d#GU;O^3HYv@{t?#}>W$bX2yJmKpCOQG0q&V^_x(e4 z%;97ImVhoZ^?WHo_( z2M(dI5q*>&j{bJ-+28lS1g(_s;4-khNi(RIzvbbb{0gKD{g5h`n_P;7;mfW*#xot( zqZzfvOm$cGJ((&sUTnPgM~ZDB>6wT=FTDkm{Art8SyK@4`H#_^?DJ*!4mts_j9Lpt zw_SaW;hYF}1h*rN^rJx4K>7EmVh0!EfyruFj}_UFlaOiv{!<9ZBsvF?k*F> TorQGp3OtCvWz^;2 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 -- Gitee From ad169289c4b07e1661d2afb91998172b807cdf11 Mon Sep 17 00:00:00 2001 From: guojin26 Date: Wed, 26 Jan 2022 14:54:18 +0800 Subject: [PATCH 4/4] update Signed-off-by: guojin26 --- .../MainAbility/model/remoteDeviceModel.ets | 35 +++++++++---------- 1 file changed, 17 insertions(+), 18 deletions(-) diff --git a/device/eTSDeviceManager/entry/src/main/ets/MainAbility/model/remoteDeviceModel.ets b/device/eTSDeviceManager/entry/src/main/ets/MainAbility/model/remoteDeviceModel.ets index 82c79afcfb..68745034de 100644 --- a/device/eTSDeviceManager/entry/src/main/ets/MainAbility/model/remoteDeviceModel.ets +++ b/device/eTSDeviceManager/entry/src/main/ets/MainAbility/model/remoteDeviceModel.ets @@ -16,11 +16,11 @@ import deviceManager from '@ohos.distributedHardware.deviceManager' import { DeviceStateChangeAction } from '../model/deviceStateAction' -let SUBSCRIBE_ID = 100 +const SUBSCRIBE_ID = 100 export class RemoteDeviceModel { - deviceList = [] - discoverList = [] + deviceList:Array = [] + discoverList:Array = [] callback authCallback deviceManager @@ -102,7 +102,7 @@ export class RemoteDeviceModel { } this.callback() console.info('[DeviceMnager.RemoteDeviceModel] callback finished'); - let self = this; + let self = this this.deviceManager.on('deviceStateChange', (data) => { if (data == null) { return @@ -110,34 +110,34 @@ export class RemoteDeviceModel { console.info('[DeviceMnager.RemoteDeviceModel] deviceStateChange data=' + JSON.stringify(data)) switch (data.action) { case DeviceStateChangeAction.ONLINE: - console.info('[DeviceMnager.RemoteDeviceModel] deviceStateChange ONLINE'); + console.info('[DeviceMnager.RemoteDeviceModel] deviceStateChange ONLINE') self.deviceStateChangeActionOnline(data.device) - break; + break case DeviceStateChangeAction.READY: - console.info('[DeviceMnager.RemoteDeviceModel] deviceStateChange READY'); + console.info('[DeviceMnager.RemoteDeviceModel] deviceStateChange READY') self.deviceStateChangeActionReady(data.device) - break; + break case DeviceStateChangeAction.OFFLINE: - console.info('[DeviceMnager.RemoteDeviceModel] deviceStateChange OFFLINE'); + console.info('[DeviceMnager.RemoteDeviceModel] deviceStateChange OFFLINE') self.deviceStateChangeActionOffline(data.device) break default: break } - }); + }) this.deviceManager.on('deviceFound', (data) => { if (data == null) { return } console.info('[DeviceMnager.RemoteDeviceModel] deviceFound data=' + JSON.stringify(data)) self.deviceFound(data) - }); + }) this.deviceManager.on('discoverFail', (data) => { console.info('[DeviceMnager.RemoteDeviceModel] discoverFail data=' + JSON.stringify(data)) - }); + }) this.deviceManager.on('serviceDie', () => { console.error('[DeviceMnager.RemoteDeviceModel] serviceDie') - }); + }) this.startDeviceDiscovery() } @@ -150,11 +150,10 @@ export class RemoteDeviceModel { } this.discoverList[this.discoverList.length] = data.device console.info('[DeviceMnager.RemoteDeviceModel] deviceFound self.discoverList=' + this.discoverList) - this.callback(); + this.callback() } startDeviceDiscovery() { - SUBSCRIBE_ID = Math.floor(65536 * Math.random()) let info = { subscribeId: SUBSCRIBE_ID, mode: 0xAA, @@ -163,14 +162,14 @@ export class RemoteDeviceModel { isSameAccount: false, isWakeRemote: true, capability: 0 - }; + } console.info('[DeviceMnager.RemoteDeviceModel] startDeviceDiscovery ' + SUBSCRIBE_ID) this.deviceManager.startDeviceDiscovery(info) } unregisterDeviceListCallback() { console.info('[DeviceMnager.RemoteDeviceModel] stopDeviceDiscovery ' + SUBSCRIBE_ID) - this.deviceManager.stopDeviceDiscovery(SUBSCRIBE_ID); + this.deviceManager.stopDeviceDiscovery(SUBSCRIBE_ID) this.deviceManager.off('deviceStateChange') this.deviceManager.off('deviceFound') this.deviceManager.off('discoverFail') @@ -180,7 +179,7 @@ export class RemoteDeviceModel { } authenticateDevice(device, callBack) { - console.info('[DeviceMnager.RemoteDeviceModel] authenticateDevice ' + JSON.stringify(device)); + console.info('[DeviceMnager.RemoteDeviceModel] authenticateDevice ' + JSON.stringify(device)) for (let i = 0; i < this.discoverList.length; i++) { if (this.discoverList[i].deviceId != device.deviceId) { continue -- Gitee